From patchwork Wed Nov 24 19:37:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48081 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DB63D3858C60 for ; Wed, 24 Nov 2021 19:52:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DB63D3858C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783571; bh=KydW8xeVsJUL1bbauBnmIJxHTte/yNmH1SaxUW6Vt/0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=IHSE0WXEHYDluuiOcFPvj49aNJ+FO2A16Hi2FVFSx7+qnlh5AP1EhFBkIHBv00FTM XRUJNWGfTnwUTdvh6esvPg0+3YcxQjpg1vGq/oJ6H6sZJnpqMjPkLrIo+ocmTOhmMC UXiS5hFlYc/I9j2TAtF56ufy1ftqbFIkK7w2hJ/o= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 1B87D3858031 for ; Wed, 24 Nov 2021 19:38:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1B87D3858031 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="298763423" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="298763423" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="538745148" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga001.jf.intel.com with ESMTP; 24 Nov 2021 11:38:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Wm021555; Wed, 24 Nov 2021 11:38:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 01/42] x86-64: Add vector acos/acosf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:26 -0800 Message-Id: <20211124193807.2093208-2-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized acos/acosf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector acos/acosf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 4 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/ifunc-mathvec-avx512-skx.h | 39 + .../fpu/multiarch/svml_d_acos2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_acos2_core.c | 27 + .../fpu/multiarch/svml_d_acos2_core_sse4.S | 2922 +++++++++++++++++ .../fpu/multiarch/svml_d_acos4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_acos4_core.c | 27 + .../fpu/multiarch/svml_d_acos4_core_avx2.S | 2777 ++++++++++++++++ .../fpu/multiarch/svml_d_acos8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_acos8_core.c | 27 + .../fpu/multiarch/svml_d_acos8_core_avx512.S | 2608 +++++++++++++++ .../fpu/multiarch/svml_s_acosf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_acosf16_core.c | 28 + .../multiarch/svml_s_acosf16_core_avx512.S | 2260 +++++++++++++ .../fpu/multiarch/svml_s_acosf4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_acosf4_core.c | 28 + .../fpu/multiarch/svml_s_acosf4_core_sse4.S | 2812 ++++++++++++++++ .../fpu/multiarch/svml_s_acosf8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_acosf8_core.c | 28 + .../fpu/multiarch/svml_s_acosf8_core_avx2.S | 2619 +++++++++++++++ sysdeps/x86_64/fpu/svml_d_acos2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_acos4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_acos4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_acos8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_acosf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_acosf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_acosf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_acosf8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-acos-avx.c | 1 + .../fpu/test-double-libmvec-acos-avx2.c | 1 + .../fpu/test-double-libmvec-acos-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-acos.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-acosf-avx.c | 1 + .../fpu/test-float-libmvec-acosf-avx2.c | 1 + .../fpu/test-float-libmvec-acosf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-acosf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 50 files changed, 16607 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512-skx.h create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_acos2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_acos4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_acos4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_acos8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_acosf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_acosf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_acosf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_acosf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-acos-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-acos-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-acos-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-acos.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-acosf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index b80ff332a0..2ccdd1fc53 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -98,4 +98,15 @@ #define __DECL_SIMD_powf32x #define __DECL_SIMD_powf64x #define __DECL_SIMD_powf128x + +#define __DECL_SIMD_acos +#define __DECL_SIMD_acosf +#define __DECL_SIMD_acosl +#define __DECL_SIMD_acosf16 +#define __DECL_SIMD_acosf32 +#define __DECL_SIMD_acosf64 +#define __DECL_SIMD_acosf128 +#define __DECL_SIMD_acosf32x +#define __DECL_SIMD_acosf64x +#define __DECL_SIMD_acosf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index da4cf4e10c..2cc6654208 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -50,7 +50,7 @@ /* Trigonometric functions. */ /* Arc cosine of X. */ -__MATHCALL (acos,, (_Mdouble_ __x)); +__MATHCALL_VEC (acos,, (_Mdouble_ __x)); /* Arc sine of X. */ __MATHCALL (asin,, (_Mdouble_ __x)); /* Arc tangent of X. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 363d4ace1e..b37b55777e 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -46,3 +46,11 @@ GLIBC_2.22 _ZGVeN8v_log F GLIBC_2.22 _ZGVeN8v_sin F GLIBC_2.22 _ZGVeN8vv_pow F GLIBC_2.22 _ZGVeN8vvv_sincos F +GLIBC_2.35 _ZGVbN2v_acos F +GLIBC_2.35 _ZGVbN4v_acosf F +GLIBC_2.35 _ZGVcN4v_acos F +GLIBC_2.35 _ZGVcN8v_acosf F +GLIBC_2.35 _ZGVdN4v_acos F +GLIBC_2.35 _ZGVdN8v_acosf F +GLIBC_2.35 _ZGVeN16v_acosf F +GLIBC_2.35 _ZGVeN8v_acos F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index dc0bfb3705..dabb74cbb9 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -58,6 +58,10 @@ # define __DECL_SIMD_pow __DECL_SIMD_x86_64 # undef __DECL_SIMD_powf # define __DECL_SIMD_powf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acos +# define __DECL_SIMD_acos __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosf +# define __DECL_SIMD_acosf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 503e9b5ffa..2d6f13246e 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -22,6 +22,7 @@ postclean-generated += libmvec.mk # Define for both math and mathvec directories. libmvec-funcs = \ + acos \ cos \ exp \ log \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 08132045d6..8d337bf716 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -12,5 +12,9 @@ libmvec { _ZGVbN4v_expf; _ZGVcN8v_expf; _ZGVdN8v_expf; _ZGVeN16v_expf; _ZGVbN4vv_powf; _ZGVcN8vv_powf; _ZGVdN8vv_powf; _ZGVeN16vv_powf; _ZGVbN4vvv_sincosf; _ZGVcN8vvv_sincosf; _ZGVdN8vvv_sincosf; _ZGVeN16vvv_sincosf; +}, + GLIBC_2.35 { + _ZGVbN2v_acos; _ZGVcN4v_acos; _ZGVdN4v_acos; _ZGVeN8v_acos; + _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 312575f933..85a568ed29 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -25,6 +25,26 @@ float: 1 float128: 1 ldouble: 2 +Function: "acos_vlen16": +float: 1 + +Function: "acos_vlen2": +double: 1 + +Function: "acos_vlen4": +double: 1 +float: 2 + +Function: "acos_vlen4_avx2": +double: 1 + +Function: "acos_vlen8": +double: 1 +float: 2 + +Function: "acos_vlen8_avx2": +float: 1 + Function: "acosh": double: 2 float: 2 diff --git a/sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512-skx.h b/sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512-skx.h new file mode 100644 index 0000000000..3aed563dde --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/ifunc-mathvec-avx512-skx.h @@ -0,0 +1,39 @@ +/* Common definition for libmathvec ifunc selections optimized with + AVX512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +#undef PASTER2 +#define PASTER2(x,y) x##_##y + +extern void REDIRECT_NAME (void); +extern __typeof (REDIRECT_NAME) OPTIMIZE (avx2_wrapper) attribute_hidden; +extern __typeof (REDIRECT_NAME) OPTIMIZE (skx) attribute_hidden; + +static inline void * +IFUNC_SELECTOR (void) +{ + const struct cpu_features* cpu_features = __get_cpu_features (); + + if (!CPU_FEATURES_ARCH_P (cpu_features, MathVec_Prefer_No_AVX512) + && CPU_FEATURE_USABLE_P (cpu_features, AVX512DQ)) + return OPTIMIZE (skx); + + return OPTIMIZE (avx2_wrapper); +} diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core-sse2.S new file mode 100644 index 0000000000..25fb8d0cac --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized acos, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_acos _ZGVbN2v_acos_sse2 +#include "../svml_d_acos2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core.c new file mode 100644 index 0000000000..5ba5d6fac2 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized acos, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_acos +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_acos, __GI__ZGVbN2v_acos, __redirect__ZGVbN2v_acos) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core_sse4.S new file mode 100644 index 0000000000..900ddb92ed --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core_sse4.S @@ -0,0 +1,2922 @@ +/* Function acos vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * acos(|x|) = SelMask ? 2*Poly(R) : (Pi/2 - Poly(R)) + * acos(x) = sign(x) ? (Pi - acos(|x|)) : acos(|x|) + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_acos_sse4) + 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 + movups __svml_dacos_data_internal(%rip), %xmm3 + movups 64+__svml_dacos_data_internal(%rip), %xmm6 + +/* x = -|arg| */ + movaps %xmm3, %xmm2 + orps %xmm0, %xmm2 + +/* Y = 0.5 + 0.5*(-x) */ + movaps %xmm6, %xmm4 + mulpd %xmm2, %xmm4 + addpd %xmm4, %xmm6 + +/* S ~ 2*sqrt(Y) */ + cvtpd2ps %xmm6, %xmm7 + +/* NaN processed in special branch (so wind test passed) */ + movups 256+__svml_dacos_data_internal(%rip), %xmm1 + +/* x^2 */ + movaps %xmm2, %xmm5 + cmpnlepd %xmm2, %xmm1 + mulpd %xmm2, %xmm5 + movmskpd %xmm1, %edx + movlhps %xmm7, %xmm7 + andps %xmm0, %xmm3 + movups %xmm8, 112(%rsp) + rsqrtps %xmm7, %xmm1 + minpd %xmm6, %xmm5 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + cvtps2pd %xmm1, %xmm8 + movaps %xmm6, %xmm1 + movaps %xmm5, %xmm4 + cmpltpd 128+__svml_dacos_data_internal(%rip), %xmm1 + cmpnltpd %xmm6, %xmm4 + addpd %xmm6, %xmm6 + andnps %xmm8, %xmm1 + movups %xmm14, 160(%rsp) + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movaps %xmm1, %xmm14 + mulpd %xmm1, %xmm14 + mulpd %xmm6, %xmm1 + mulpd %xmm14, %xmm6 + subpd 384+__svml_dacos_data_internal(%rip), %xmm6 + movups %xmm15, 144(%rsp) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + movaps %xmm6, %xmm8 + movups 448+__svml_dacos_data_internal(%rip), %xmm15 + mulpd %xmm6, %xmm15 + mulpd %xmm1, %xmm8 + addpd 464+__svml_dacos_data_internal(%rip), %xmm15 + mulpd %xmm6, %xmm15 + addpd 480+__svml_dacos_data_internal(%rip), %xmm15 + mulpd %xmm15, %xmm6 + addpd 496+__svml_dacos_data_internal(%rip), %xmm6 + mulpd %xmm6, %xmm8 + +/* polynomial */ + movups 512+__svml_dacos_data_internal(%rip), %xmm6 + movaps %xmm5, %xmm15 + mulpd %xmm5, %xmm6 + mulpd %xmm5, %xmm15 + addpd 528+__svml_dacos_data_internal(%rip), %xmm6 + subpd %xmm8, %xmm1 + mulpd %xmm15, %xmm6 + movups 544+__svml_dacos_data_internal(%rip), %xmm14 + andps %xmm4, %xmm1 + mulpd %xmm5, %xmm14 + movups 576+__svml_dacos_data_internal(%rip), %xmm7 + mulpd %xmm5, %xmm7 + addpd 560+__svml_dacos_data_internal(%rip), %xmm14 + addpd 592+__svml_dacos_data_internal(%rip), %xmm7 + addpd %xmm6, %xmm14 + mulpd %xmm15, %xmm7 + movups 608+__svml_dacos_data_internal(%rip), %xmm8 + movaps %xmm15, %xmm6 + mulpd %xmm5, %xmm8 + mulpd %xmm15, %xmm6 + addpd 624+__svml_dacos_data_internal(%rip), %xmm8 + mulpd %xmm6, %xmm14 + addpd %xmm7, %xmm8 + movups 640+__svml_dacos_data_internal(%rip), %xmm7 + mulpd %xmm5, %xmm7 + addpd %xmm14, %xmm8 + addpd 656+__svml_dacos_data_internal(%rip), %xmm7 + mulpd %xmm15, %xmm8 + movups 672+__svml_dacos_data_internal(%rip), %xmm6 + +/* X. */ + +#define _ZGVdN4v_acos _ZGVdN4v_acos_sse_wrapper +#include "../svml_d_acos4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core.c new file mode 100644 index 0000000000..6453e7ebe2 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized acos, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_acos +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_acos, __GI__ZGVdN4v_acos, __redirect__ZGVdN4v_acos) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core_avx2.S new file mode 100644 index 0000000000..db716b690e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core_avx2.S @@ -0,0 +1,2777 @@ +/* Function acos vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * acos(|x|) = SelMask ? 2*Poly(R) : (Pi/2 - Poly(R)) + * acos(x) = sign(x) ? (Pi - acos(|x|)) : acos(|x|) + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_acos_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + vmovupd __svml_dacos_data_internal(%rip), %ymm6 + vmovupd 64+__svml_dacos_data_internal(%rip), %ymm7 + vmovups %ymm8, 32(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm14, 288(%rsp) + vmovapd %ymm0, %ymm5 + +/* x = -|arg| */ + vorpd %ymm5, %ymm6, %ymm4 + +/* Y = 0.5 + 0.5*(-x) */ + vfmadd231pd %ymm4, %ymm7, %ymm7 + +/* x^2 */ + vmulpd %ymm4, %ymm4, %ymm1 + +/* NaN processed in special branch (so wind test passed) */ + vcmpnge_uqpd 256+__svml_dacos_data_internal(%rip), %ymm4, %ymm0 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +/* S ~ 2*sqrt(Y) */ + vcmplt_oqpd 128+__svml_dacos_data_internal(%rip), %ymm7, %ymm9 + vaddpd %ymm7, %ymm7, %ymm13 + vminpd %ymm7, %ymm1, %ymm2 + vandpd %ymm5, %ymm6, %ymm3 + vcvtpd2ps %ymm7, %xmm6 + vcmpnlt_uqpd %ymm7, %ymm2, %ymm1 + vmovupd 768+__svml_dacos_data_internal(%rip), %ymm7 + vrsqrtps %xmm6, %xmm8 + vmovupd 640+__svml_dacos_data_internal(%rip), %ymm6 + vfmadd213pd 800+__svml_dacos_data_internal(%rip), %ymm2, %ymm7 + vcvtps2pd %xmm8, %ymm10 + vfmadd213pd 672+__svml_dacos_data_internal(%rip), %ymm2, %ymm6 + vandnpd %ymm10, %ymm9, %ymm11 + vmulpd %ymm11, %ymm11, %ymm12 + vmulpd %ymm13, %ymm11, %ymm15 + vmovupd 704+__svml_dacos_data_internal(%rip), %ymm9 + vmulpd %ymm2, %ymm2, %ymm11 + vmovupd 832+__svml_dacos_data_internal(%rip), %ymm10 + vfmsub213pd 384+__svml_dacos_data_internal(%rip), %ymm12, %ymm13 + vmovupd 896+__svml_dacos_data_internal(%rip), %ymm12 + vfmadd213pd 736+__svml_dacos_data_internal(%rip), %ymm2, %ymm9 + vmulpd %ymm11, %ymm11, %ymm8 + vfmadd213pd 864+__svml_dacos_data_internal(%rip), %ymm2, %ymm10 + vmulpd %ymm13, %ymm15, %ymm14 + vfmadd213pd 928+__svml_dacos_data_internal(%rip), %ymm2, %ymm12 + vfmadd213pd %ymm7, %ymm11, %ymm9 + vmovmskpd %ymm0, %edx + vmovupd 448+__svml_dacos_data_internal(%rip), %ymm0 + vfmadd213pd 480+__svml_dacos_data_internal(%rip), %ymm13, %ymm0 + vfmadd213pd 512+__svml_dacos_data_internal(%rip), %ymm13, %ymm0 + vfmadd213pd 544+__svml_dacos_data_internal(%rip), %ymm13, %ymm0 + +/* polynomial */ + vmovupd 576+__svml_dacos_data_internal(%rip), %ymm13 + vfnmadd213pd %ymm15, %ymm14, %ymm0 + vfmadd213pd 608+__svml_dacos_data_internal(%rip), %ymm2, %ymm13 + vblendvpd %ymm1, %ymm0, %ymm4, %ymm4 + vfmadd213pd %ymm6, %ymm11, %ymm13 + +/* X. */ + +#define _ZGVeN8v_acos _ZGVeN8v_acos_avx2_wrapper +#include "../svml_d_acos8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core.c new file mode 100644 index 0000000000..1e7d1865fb --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized acos, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_acos +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_acos, __GI__ZGVeN8v_acos, __redirect__ZGVeN8v_acos) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core_avx512.S new file mode 100644 index 0000000000..6c7c8535b6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core_avx512.S @@ -0,0 +1,2608 @@ +/* Function acos vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * acos(|x|) = SelMask ? 2*Poly(R) : (Pi/2 - Poly(R)) + * acos(x) = sign(x) ? (Pi - acos(|x|)) : acos(|x|) + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_acos_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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. */ + +#define _ZGVeN16v_acosf _ZGVeN16v_acosf_avx2_wrapper +#include "../svml_s_acosf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core.c new file mode 100644 index 0000000000..fcf05782c5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized acosf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_acosf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_acosf, __GI__ZGVeN16v_acosf, + __redirect__ZGVeN16v_acosf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core_avx512.S new file mode 100644 index 0000000000..65ae01451c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core_avx512.S @@ -0,0 +1,2260 @@ +/* Function acosf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * acos(|x|) = SelMask ? 2*Poly(R) : (Pi/2 - Poly(R)) + * acos(x) = sign(x) ? (Pi - acos(|x|)) : acos(|x|) + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_acosf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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. */ + +#define _ZGVbN4v_acosf _ZGVbN4v_acosf_sse2 +#include "../svml_s_acosf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core.c new file mode 100644 index 0000000000..6f9a5c1082 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized acosf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_acosf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_acosf, __GI__ZGVbN4v_acosf, + __redirect__ZGVbN4v_acosf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core_sse4.S new file mode 100644 index 0000000000..d7e2dd282b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core_sse4.S @@ -0,0 +1,2812 @@ +/* Function acosf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * acos(|x|) = SelMask ? 2*Poly(R) : (Pi/2 - Poly(R)) + * acos(x) = sign(x) ? (Pi - acos(|x|)) : acos(|x|) + * + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_acosf_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm6 + +/* + * 2*sqrt(X) ~ Sh - Sl (to 24+ bits) + * SQ ~ 2*sqrt(X) + */ + movups __svml_sacos_data_internal(%rip), %xmm5 + movups 64+__svml_sacos_data_internal(%rip), %xmm0 + +/* x = -|arg| */ + movaps %xmm5, %xmm7 + orps %xmm6, %xmm7 + +/* Y = 0.5 + 0.5*(-x) */ + movaps %xmm0, %xmm2 + mulps %xmm7, %xmm2 + +/* x^2 */ + movaps %xmm7, %xmm3 + mulps %xmm7, %xmm3 + addps %xmm2, %xmm0 + movups 256+__svml_sacos_data_internal(%rip), %xmm4 + andps %xmm6, %xmm5 + cmpnleps %xmm7, %xmm4 + minps %xmm0, %xmm3 + +/* SQ ~ 2*sqrt(Y) */ + rsqrtps %xmm0, %xmm1 + movmskps %xmm4, %edx + movaps %xmm0, %xmm4 + movaps %xmm3, %xmm2 + movups %xmm8, 144(%rsp) + cmpltps 192+__svml_sacos_data_internal(%rip), %xmm4 + cmpnltps %xmm0, %xmm2 + addps %xmm0, %xmm0 + andnps %xmm1, %xmm4 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movaps %xmm4, %xmm8 + mulps %xmm4, %xmm8 + mulps %xmm0, %xmm4 + mulps %xmm8, %xmm0 + movups 512+__svml_sacos_data_internal(%rip), %xmm1 + +/* polynomial */ + movups 576+__svml_sacos_data_internal(%rip), %xmm8 + mulps %xmm3, %xmm8 + subps 448+__svml_sacos_data_internal(%rip), %xmm0 + mulps %xmm0, %xmm1 + addps 592+__svml_sacos_data_internal(%rip), %xmm8 + mulps %xmm4, %xmm0 + addps 528+__svml_sacos_data_internal(%rip), %xmm1 + mulps %xmm0, %xmm1 + movaps %xmm3, %xmm0 + mulps %xmm3, %xmm0 + subps %xmm1, %xmm4 + mulps %xmm0, %xmm8 + movups 608+__svml_sacos_data_internal(%rip), %xmm1 + andps %xmm2, %xmm4 + mulps %xmm3, %xmm1 + movups 832+__svml_sacos_data_internal(%rip), %xmm0 + andps %xmm2, %xmm0 + addps 624+__svml_sacos_data_internal(%rip), %xmm1 + addps %xmm8, %xmm1 + +/* X. */ + +#define _ZGVdN8v_acosf _ZGVdN8v_acosf_sse_wrapper +#include "../svml_s_acosf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core.c new file mode 100644 index 0000000000..dd360a9479 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized acosf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_acosf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_acosf, __GI__ZGVdN8v_acosf, + __redirect__ZGVdN8v_acosf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core_avx2.S new file mode 100644 index 0000000000..9e2fcfa0c1 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core_avx2.S @@ -0,0 +1,2619 @@ +/* Function acosf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * acos(|x|) = SelMask ? 2*Poly(R) : (Pi/2 - Poly(R)) + * acos(x) = sign(x) ? (Pi - acos(|x|)) : acos(|x|) + * + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_acosf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* + * 2*sqrt(X) ~ Sh - Sl (to 24+ bits) + * SQ ~ 2*sqrt(X) + */ + vmovups __svml_sacos_data_internal(%rip), %ymm6 + vmovups 64+__svml_sacos_data_internal(%rip), %ymm7 + vmovups %ymm8, 256(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm9, 32(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovups 640+__svml_sacos_data_internal(%rip), %ymm15 + vmovups %ymm10, 96(%rsp) + vmovups %ymm11, 160(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm13, 224(%rsp) + vmovups %ymm12, 192(%rsp) + vmovaps %ymm0, %ymm5 + +/* x = -|arg| */ + vorps %ymm5, %ymm6, %ymm4 + +/* Y = 0.5 + 0.5*(-x) */ + vfmadd231ps %ymm4, %ymm7, %ymm7 + +/* x^2 */ + vmulps %ymm4, %ymm4, %ymm1 + vcmpnge_uqps 256+__svml_sacos_data_internal(%rip), %ymm4, %ymm0 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + +/* SQ ~ 2*sqrt(Y) */ + vaddps %ymm7, %ymm7, %ymm11 + vminps %ymm7, %ymm1, %ymm2 + vrsqrtps %ymm7, %ymm8 + vfmadd213ps 672+__svml_sacos_data_internal(%rip), %ymm2, %ymm15 + vmulps %ymm2, %ymm2, %ymm14 + vcmpnlt_uqps %ymm7, %ymm2, %ymm1 + vandps %ymm5, %ymm6, %ymm3 + vcmplt_oqps 192+__svml_sacos_data_internal(%rip), %ymm7, %ymm6 + vandnps %ymm8, %ymm6, %ymm9 + +/* polynomial */ + vmovups 576+__svml_sacos_data_internal(%rip), %ymm6 + vmulps %ymm9, %ymm9, %ymm10 + vmulps %ymm11, %ymm9, %ymm13 + vfmadd213ps 608+__svml_sacos_data_internal(%rip), %ymm2, %ymm6 + vfmsub213ps 448+__svml_sacos_data_internal(%rip), %ymm10, %ymm11 + vfmadd213ps %ymm15, %ymm14, %ymm6 + vmulps %ymm11, %ymm13, %ymm12 + vfmadd213ps 704+__svml_sacos_data_internal(%rip), %ymm2, %ymm6 + vmovmskps %ymm0, %edx + vmovups 512+__svml_sacos_data_internal(%rip), %ymm0 + vmulps %ymm6, %ymm2, %ymm9 + +/* X. */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_acos) +WRAPPER_IMPL_SSE2 acos +END (_ZGVbN2v_acos) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_acos) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_acos4_core.S b/sysdeps/x86_64/fpu/svml_d_acos4_core.S new file mode 100644 index 0000000000..e99cb4ae78 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_acos4_core.S @@ -0,0 +1,29 @@ +/* Function acos vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_acos) +WRAPPER_IMPL_AVX _ZGVbN2v_acos +END (_ZGVdN4v_acos) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_acos) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_acos4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_acos4_core_avx.S new file mode 100644 index 0000000000..7cbcbc965c --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_acos4_core_avx.S @@ -0,0 +1,25 @@ +/* Function acos vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_acos) +WRAPPER_IMPL_AVX _ZGVbN2v_acos +END (_ZGVcN4v_acos) diff --git a/sysdeps/x86_64/fpu/svml_d_acos8_core.S b/sysdeps/x86_64/fpu/svml_d_acos8_core.S new file mode 100644 index 0000000000..e26b30d81a --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_acos8_core.S @@ -0,0 +1,25 @@ +/* Function acos vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_acos) +WRAPPER_IMPL_AVX512 _ZGVdN4v_acos +END (_ZGVeN8v_acos) diff --git a/sysdeps/x86_64/fpu/svml_s_acosf16_core.S b/sysdeps/x86_64/fpu/svml_s_acosf16_core.S new file mode 100644 index 0000000000..70e046d492 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_acosf16_core.S @@ -0,0 +1,25 @@ +/* Function acosf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_acosf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_acosf +END (_ZGVeN16v_acosf) diff --git a/sysdeps/x86_64/fpu/svml_s_acosf4_core.S b/sysdeps/x86_64/fpu/svml_s_acosf4_core.S new file mode 100644 index 0000000000..36354b32b5 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_acosf4_core.S @@ -0,0 +1,29 @@ +/* Function acosf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_acosf) +WRAPPER_IMPL_SSE2 acosf +END (_ZGVbN4v_acosf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_acosf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_acosf8_core.S b/sysdeps/x86_64/fpu/svml_s_acosf8_core.S new file mode 100644 index 0000000000..f08864a511 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_acosf8_core.S @@ -0,0 +1,29 @@ +/* Function acosf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_acosf) +WRAPPER_IMPL_AVX _ZGVbN4v_acosf +END (_ZGVdN8v_acosf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_acosf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_acosf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_acosf8_core_avx.S new file mode 100644 index 0000000000..f3ed4d8e78 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_acosf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function acosf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_acosf) +WRAPPER_IMPL_AVX _ZGVbN4v_acosf +END (_ZGVcN8v_acosf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-acos-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-acos-avx.c new file mode 100644 index 0000000000..4f74b4260a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-acos-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-acos.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-acos-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-acos-avx2.c new file mode 100644 index 0000000000..4f74b4260a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-acos-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-acos.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-acos-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-acos-avx512f.c new file mode 100644 index 0000000000..4f74b4260a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-acos-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-acos.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-acos.c b/sysdeps/x86_64/fpu/test-double-libmvec-acos.c new file mode 100644 index 0000000000..e38b8ce821 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-acos.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC acos +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index ed932fc98d..0abc7d2021 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -27,6 +27,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (sin), _ZGVbN2v_sin) VECTOR_WRAPPER (WRAPPER_NAME (log), _ZGVbN2v_log) VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVbN2v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVbN2vv_pow) +VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVbN2v_acos) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 3a6e37044f..dda093b914 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -30,6 +30,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (sin), _ZGVdN4v_sin) VECTOR_WRAPPER (WRAPPER_NAME (log), _ZGVdN4v_log) VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVdN4v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVdN4vv_pow) +VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVdN4v_acos) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 99db4e7616..f3230463bb 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -27,6 +27,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (sin), _ZGVcN4v_sin) VECTOR_WRAPPER (WRAPPER_NAME (log), _ZGVcN4v_log) VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVcN4v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVcN4vv_pow) +VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVcN4v_acos) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index 251d429ac0..cf9f52faf0 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -27,6 +27,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (sin), _ZGVeN8v_sin) VECTOR_WRAPPER (WRAPPER_NAME (log), _ZGVeN8v_log) VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVeN8v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVeN8vv_pow) +VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVeN8v_acos) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx.c new file mode 100644 index 0000000000..1e6474dfa2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-acosf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx2.c new file mode 100644 index 0000000000..1e6474dfa2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-acosf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx512f.c new file mode 100644 index 0000000000..1e6474dfa2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-acosf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-acosf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-acosf.c b/sysdeps/x86_64/fpu/test-float-libmvec-acosf.c new file mode 100644 index 0000000000..fb47f974fd --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-acosf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC acosf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index c1d14cd79e..abbd3ed870 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -27,6 +27,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (sinf), _ZGVeN16v_sinf) VECTOR_WRAPPER (WRAPPER_NAME (logf), _ZGVeN16v_logf) VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVeN16v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVeN16vv_powf) +VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVeN16v_acosf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index d23c372060..8a24027952 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -27,6 +27,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (sinf), _ZGVbN4v_sinf) VECTOR_WRAPPER (WRAPPER_NAME (logf), _ZGVbN4v_logf) VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVbN4v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVbN4vv_powf) +VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVbN4v_acosf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 3152cffb0c..aff0442606 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -30,6 +30,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (sinf), _ZGVdN8v_sinf) VECTOR_WRAPPER (WRAPPER_NAME (logf), _ZGVdN8v_logf) VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVdN8v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVdN8vv_powf) +VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVdN8v_acosf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index a8492abfef..913584d111 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -27,6 +27,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (sinf), _ZGVcN8v_sinf) VECTOR_WRAPPER (WRAPPER_NAME (logf), _ZGVcN8v_logf) VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVcN8v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVcN8vv_powf) +VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVcN8v_acosf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48071 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6B3B1385801A for ; Wed, 24 Nov 2021 19:40:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6B3B1385801A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637782823; bh=s7YVFe/hNzjNLiz5JWPzL8THGhp7fdArYOA22EWGBJ8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=mZy5Pepc/OlN1vvjH9kX082v3aNhI17plaOsyYC20kSxbvqAW48XzimRczRXX7yq2 ypuW2hf4xTwlzJX0sUtUOJ+twJj6YU/h974Q7f7t/C6R5mUpCckfs33uSXYvJaFZ9f HVJ39075VxpiQWieAIHkeaNHejH4JzxX/ve2Nytk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id 3373F3858430 for ; Wed, 24 Nov 2021 19:38:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3373F3858430 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="232852720" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="232852720" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="475399688" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga002.jf.intel.com with ESMTP; 24 Nov 2021 11:38:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Wn021555; Wed, 24 Nov 2021 11:38:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 02/42] x86-64: Add vector acos/acosf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:27 -0800 Message-Id: <20211124193807.2093208-3-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector acos/acosf and input files to libmvec microbenchmark. libmvec-acos-inputs: 90% Normal random distribution range: (-1.0, 1.0) mean: 0.0 sigma: 1.0 10% uniform random distribution in range (-1.0, 1.0) libmvec-acosf-inputs: 90% Normal random distribution range: (-1.0f, 1.0f) mean: 0.0f sigma: 1.0f 10% uniform random distribution in range (-1.0f, 1.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-acos-inputs | 4100 +++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-acosf-inputs | 4100 +++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-acos-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-acosf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 2d6f13246e..bc781c45c7 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -32,6 +32,7 @@ libmvec-funcs = \ # Define libmvec function for benchtests directory. libmvec-bench-funcs = \ + acos \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-acos-inputs b/sysdeps/x86_64/fpu/libmvec-acos-inputs new file mode 100644 index 0000000000..fd9a35f7e9 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-acos-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-1, 1), mean = 0, standard deviation = 1 +-0x1.11003707ad71cp-2 +-0x1.1f03ac14205d9p-1 +-0x1.5838c30ed6fc3p-1 +-0x1.4da85539de3b5p-1 +-0x1.c8504e37d86ddp-2 +-0x1.ea09e1c33d868p-1 +0x1.7280a3c0da21ep-3 +0x1.ab9c04900f4f5p-3 +-0x1.b43cda4d6705ep-3 +-0x1.6e4445cbd37d4p-1 +-0x1.da8bf72b700aep-1 +-0x1.0908b9d017ed2p-3 +-0x1.3227ed5b58471p-5 +-0x1.c10dd2b9255f4p-2 +-0x1.2bbc5f516e8d5p-2 +-0x1.b20d60c7a530ap-8 +0x1.1ee5aa3496dfdp-1 +-0x1.bae5630be8fa1p-2 +-0x1.044a9a182f9f8p-1 +-0x1.8d7e8be40c528p-3 +0x1.a4315405b11c5p-1 +0x1.b3fd5670ecd4ap-1 +0x1.d6772a99b9e6cp-1 +0x1.00828434dd2d8p-2 +0x1.1a0f2b4692737p-1 +0x1.6a3b90d8a2564p-2 +0x1.d6f5020515c26p-2 +0x1.6fbe4ba8d9446p-2 +-0x1.65602f611315cp-8 +-0x1.761797c2f616p-2 +0x1.7fbad97602089p-5 +0x1.cf4f8200615c7p-2 +-0x1.cdac598660c09p-2 +0x1.684600e9f3442p-3 +-0x1.3c18dfcd0f52cp-4 +0x1.e264029c179bdp-1 +-0x1.dae845c7c42b6p-2 +0x1.38ee2466d3ccep-1 +-0x1.1ba2e924596fp-7 +-0x1.e846c32ac146ap-1 +0x1.5ad90e7163024p-1 +0x1.635b913d56b61p-1 +0x1.407263f7072fap-1 +0x1.925071d48b0b3p-1 +0x1.f11f734377897p-1 +0x1.335461bd7b01dp-2 +0x1.36fb0d6a8de52p-1 +0x1.29598e8e6b2c2p-1 +0x1.99eacd8a58849p-3 +0x1.9be853d383652p-3 +0x1.d735c6f58fd54p-5 +0x1.a1e876e99cc25p-1 +0x1.1e0159be4e81ap-9 +0x1.cb814b7ce6be9p-1 +0x1.ef5984a81ededp-3 +0x1.4511a4ee5b844p-3 +0x1.c3236baf357dbp-3 +-0x1.b5663a8cd3b9ep-5 +0x1.f9775cb63303ap-1 +-0x1.fbe0031478fdap-1 +0x1.ec4068e7020c7p-4 +0x1.0af7c1486d593p-1 +-0x1.18e6b70f08559p-1 +0x1.2fc06a93c1a14p-2 +-0x1.0df60b2d5d5dcp-1 +-0x1.fd3eaf213d1e8p-1 +-0x1.f9bea93247eaap-4 +-0x1.a8a18bac42c3ep-4 +0x1.1e32df11779f8p-1 +0x1.8035aed7e3caap-4 +0x1.6e5336703809cp-1 +-0x1.6861d6c10a35ap-1 +-0x1.ead9531ceaba8p-2 +0x1.2fd210e98fe19p-1 +0x1.844b6aaf4a018p-1 +-0x1.be60b50cdda5bp-2 +0x1.6afc43a9ea6d4p-1 +0x1.7db1b789b8ae3p-3 +-0x1.8902483c892f9p-3 +-0x1.3d22023424ea9p-2 +-0x1.e94e3d53833bep-8 +-0x1.cddf65f662a4ep-1 +-0x1.f5d26520f4c51p-1 +-0x1.ea04b4cf878fbp-4 +0x1.29c33813f534dp-5 +-0x1.c2ee5e411a0abp-1 +0x1.97aca2b66caa5p-2 +0x1.6abe8d536e76cp-1 +0x1.df29a8a6cba7dp-1 +0x1.21ccb149e5916p-3 +0x1.9c79d91cd3abbp-1 +-0x1.253082fbb949cp-4 +-0x1.a401128cbd47p-2 +-0x1.7794302387928p-1 +0x1.77052a301b523p-2 +-0x1.2b1873ae6cd4p-4 +-0x1.f6f973d4846eep-1 +-0x1.0d40996ac67dep-1 +-0x1.4613a9aa74a1ep-4 +0x1.fb9105e7aec3fp-3 +-0x1.16fa49c45cebcp-2 +0x1.2c57f42e821ap-1 +0x1.130f2d64c0e04p-1 +-0x1.8b8cb3370be2bp-1 +-0x1.a9f6495b21f7ep-1 +0x1.88e06bd995039p-2 +0x1.750ec69bb3a04p-1 +-0x1.0dd8abfb7163fp-1 +-0x1.99309e84c1aa3p-2 +-0x1.08b1bb04fcb2fp-2 +0x1.3d9e1719d2eedp-4 +0x1.0a5b3dcd01fc6p-2 +0x1.a170f60a6ed18p-2 +-0x1.c5393001f2817p-2 +-0x1.8f8d41cd02deep-1 +-0x1.f49e6ed2ea59dp-3 +-0x1.7a129db836d66p-8 +-0x1.1ae76b7d889bbp-1 +0x1.087a59865458p-4 +0x1.6aff85979d2e4p-1 +-0x1.62fa8a2d852ep-2 +0x1.b66d4b202c901p-2 +0x1.b32cf8b59341dp-2 +-0x1.f16faac24958cp-2 +-0x1.ac60d9bcb0c1ep-1 +-0x1.fbdc48a31f484p-3 +0x1.ce8d89c689577p-2 +-0x1.f0575d582a6f9p-2 +0x1.e23bc0ab89368p-2 +0x1.cf7eeb6e0abc7p-2 +0x1.38160acb69ed3p-1 +-0x1.261fef79be8afp-1 +0x1.45cf87ff96e16p-5 +-0x1.d895eb2acfd26p-1 +0x1.3c7e0f26d9a5dp-1 +-0x1.bb2ef32c0e29bp-1 +-0x1.46be0cc7d69d2p-3 +0x1.3d225138898dep-2 +0x1.6bb15c61ca5f1p-1 +-0x1.1ace063e93befp-2 +-0x1.81d19c894bb91p-4 +0x1.3f8ac7be8ab6cp-2 +-0x1.e6965bce97654p-1 +-0x1.b57d146d9fecep-1 +-0x1.11d16c19c3bf8p-3 +-0x1.8f5e47361574p-2 +0x1.86781351ae4afp-2 +-0x1.d28fec264c5bbp-2 +0x1.f2d6b29ddd1fdp-4 +-0x1.4314fbc60688dp-3 +-0x1.3d2ddbf4fb65cp-1 +-0x1.91560bb9916ap-3 +-0x1.207899d59db57p-1 +-0x1.dc4ac967fabf9p-3 +0x1.ab49a65f38c0ep-2 +-0x1.eb130826e1895p-2 +-0x1.e7106b5cd09a4p-3 +0x1.696b3cb702757p-1 +0x1.ce3576497d7cp-1 +-0x1.8652cde59b041p-2 +-0x1.548a943d70c97p-2 +-0x1.f25d36c6dd90cp-3 +-0x1.d71921c74e86ap-2 +0x1.83b4a079a27e7p-1 +-0x1.1f373e6a1bcbap-3 +0x1.13306c72f0a09p-2 +0x1.61510c88f5508p-5 +-0x1.b37f3cbae82b2p-3 +0x1.59e1b120e78c1p-1 +0x1.4f8ea8f2b2961p-1 +-0x1.1c519eb7f0d69p-3 +0x1.3c58fc37889p-1 +0x1.c0e9d5de7777fp-1 +-0x1.45924349efd71p-1 +0x1.2cfb2503184b6p-6 +0x1.853c9a6a80e5fp-3 +-0x1.00b1d997f5fbep-5 +0x1.615230b0d5311p-1 +-0x1.0bf550e931a92p-1 +0x1.1bbe241b89cdap-1 +0x1.b815861fcf449p-1 +0x1.279ef16db5323p-2 +-0x1.90195a7f08b23p-2 +0x1.cc7c5104079d9p-6 +-0x1.548ec77748c92p-2 +0x1.bff54863bbb13p-1 +0x1.cbfa05a9ff372p-2 +0x1.501f90d4da71dp-1 +-0x1.3d8029781c0b5p-2 +-0x1.1185907f2891p-1 +0x1.2aa161a477366p-2 +0x1.e3c221a69c122p-1 +0x1.9d3e2c47eba7cp-1 +-0x1.2e21864f8979ap-3 +0x1.05d96678310bp-1 +-0x1.e5720f8e796fp-2 +-0x1.769eb387f45cfp-1 +0x1.96443428c83a4p-2 +0x1.3a316fc183cdbp-3 +0x1.b3009a6de004ep-3 +-0x1.ed8923480f39ap-3 +0x1.4ef2ff01ddc15p-2 +0x1.d4a29648b5b98p-1 +-0x1.8543db067585fp-2 +0x1.39c3eefea7c9fp-4 +-0x1.9d594484fb3e8p-2 +0x1.19f114c4cbe4fp-1 +-0x1.aced0f9aed0e9p-1 +0x1.65e234d9d723p-1 +0x1.81eea275987dcp-1 +-0x1.e09ae78c0f3d3p-2 +0x1.88cff5ac2b027p-2 +-0x1.968f240a875f7p-1 +0x1.b0dc5207eb04ap-2 +-0x1.949d08f8c29a8p-3 +-0x1.6216dec7445a1p-4 +0x1.02a4c5bc845a4p-8 +0x1.9d0d59339304dp-1 +-0x1.53b09fd56345fp-2 +-0x1.b239cdf03ac1ep-2 +-0x1.71a60561f2064p-4 +0x1.378dbd3e3a659p-2 +-0x1.28a53517f7768p-2 +-0x1.d4008c69c59adp-1 +-0x1.be0504a33b632p-5 +-0x1.5dabf200f756p-6 +-0x1.e6a4d3abe3088p-1 +0x1.f591180c51366p-1 +0x1.942c7148cde5ap-2 +-0x1.73fc05810249p-2 +-0x1.9185946d2b52ap-2 +-0x1.b7fb2cfe67b55p-2 +-0x1.4beef70ae865ep-2 +-0x1.9ce8c85734c31p-1 +-0x1.737e66f44a295p-3 +0x1.e33526ca99p-1 +-0x1.47b07cd872cc6p-1 +-0x1.a15cdae0069dp-3 +-0x1.ac6db2a5a8104p-2 +0x1.bb99adabb7695p-2 +-0x1.2993127a62fabp-3 +0x1.a0ae02a90565bp-2 +0x1.6c88688bf3d0ep-1 +0x1.b699a7f6a7a3ep-1 +0x1.5aac394582e8ap-1 +-0x1.2168cdb45a42cp-3 +0x1.2e485a8c6a78ap-4 +0x1.f078a16ddbf3cp-1 +-0x1.7304dc64e5d25p-1 +0x1.3c0eaf7233825p-2 +-0x1.af841b378367ap-3 +-0x1.e4bf2c89063edp-2 +0x1.97137406810c5p-6 +0x1.7b323cf745735p-2 +-0x1.684ab251b1ce1p-3 +0x1.e4b5302c127c3p-2 +-0x1.afe7254c2591ap-2 +0x1.d0065fe66e50cp-4 +0x1.826d13d890139p-1 +-0x1.3253d2afe1b8dp-1 +-0x1.7e5a943926cb6p-1 +-0x1.ba8b241fbebep-2 +-0x1.dce1bbf206014p-5 +-0x1.e1ee3cfd1f65ap-1 +0x1.8a59e5bc58019p-1 +0x1.72b319253eee7p-2 +-0x1.f0a78fd5454d7p-2 +-0x1.ec9f639a8510ep-2 +-0x1.ef4d44582ca63p-1 +-0x1.45030ba429744p-2 +0x1.a2a4ff4868a38p-2 +0x1.f291cfa1b465bp-2 +0x1.0c5e3ac756171p-1 +0x1.0b13ec95f71a5p-2 +0x1.5b22063d3f771p-1 +-0x1.c752f2d48be01p-3 +0x1.3d1510a4f8cdbp-1 +0x1.17da3098fa41dp-1 +-0x1.266a093459c2ap-1 +0x1.f81c0f099f2cep-1 +-0x1.347da4da856a7p-2 +-0x1.39b4ff032f74p-4 +0x1.b9a57659a198ep-1 +-0x1.7218160918b0bp-1 +-0x1.668931cb016d5p-2 +-0x1.863bf99b9a269p-2 +0x1.e559736ebfa14p-1 +0x1.11701ffaaed4bp-3 +-0x1.5340baefc13b2p-1 +0x1.b42cffb5695fcp-2 +0x1.a9ca39d6dd6d5p-1 +-0x1.5506bc6b3344fp-2 +0x1.7d3bab08c2e5dp-3 +0x1.ba237ef743cb1p-2 +-0x1.9d3fecf588cedp-1 +0x1.04414d215c2dcp-1 +-0x1.1ab065eb10c66p-1 +0x1.bb68097337c3dp-1 +-0x1.e284efe228a5bp-1 +-0x1.bcfc0ccd8bdb9p-4 +0x1.010d86d3def47p-2 +-0x1.7ff50886aa934p-2 +-0x1.714b7a435c98ap-1 +0x1.c81f219cb6323p-1 +0x1.acdd642170b2cp-2 +-0x1.8e537b09f6587p-2 +-0x1.28ed6f2f91617p-3 +0x1.16d3d6bb5bb5p-1 +0x1.36a936e3ebbd3p-1 +0x1.b548ae3c0fcedp-1 +-0x1.62ef4260938d8p-2 +0x1.ac459d085ef3cp-4 +-0x1.639dbbec184b2p-3 +0x1.da644b4ec0c1bp-1 +-0x1.e0024f1700b7ep-2 +0x1.5ce9feb3fec2ep-1 +0x1.caf30f2f2f5c5p-2 +-0x1.ad21817854b0ap-2 +0x1.03266ab853368p-1 +0x1.ff0c92e59680bp-3 +-0x1.2ee54faad1af5p-1 +0x1.ec9c2b38dbc5fp-3 +0x1.3552315701a58p-7 +-0x1.d3868f8655a01p-1 +-0x1.593af265b0f1cp-2 +-0x1.6fcb3685e1188p-1 +-0x1.dd79d7aa5a8f8p-1 +0x1.55402eb22877fp-6 +-0x1.7758f8ef73ce5p-1 +-0x1.129ed6c9fec09p-1 +0x1.47b15b059fa22p-2 +0x1.c37c3800e473fp-4 +-0x1.55e59b46e00fep-1 +0x1.15ab24a33c4afp-2 +0x1.0e450f3ea087bp-3 +0x1.8cb4a41e39bd7p-1 +0x1.c468190d6e81bp-3 +-0x1.189c5db00beabp-1 +0x1.12c705018ea08p-1 +0x1.568e8537fddafp-6 +-0x1.e01c8ad4d6716p-1 +0x1.60c16dbb9f8b4p-3 +0x1.821b65b56e9d4p-2 +0x1.49d4a47602299p-4 +-0x1.9536fd2b229e5p-3 +-0x1.e45f70770ffa6p-1 +0x1.f42e02754d539p-5 +-0x1.1447c8f7f0803p-2 +-0x1.3814c90a3de51p-1 +-0x1.b768bf096a393p-1 +-0x1.db96f4672c59fp-1 +0x1.b7e8d8652d20bp-1 +0x1.31f092f938cp-1 +-0x1.379037b079f64p-1 +0x1.e8d0615bb1b3ap-1 +-0x1.7e58d6afdb1b9p-2 +0x1.cc9f2aaf79d97p-1 +-0x1.c4cbe4c652089p-2 +0x1.2084693f36931p-1 +-0x1.8b59479c34dacp-3 +0x1.8a8b20b240b6fp-2 +0x1.ff5246459affp-3 +-0x1.e5886f2da10b1p-1 +-0x1.b143aad20aa5ap-2 +-0x1.838bc62cdfb8p-2 +0x1.df434c0fa8f6ap-3 +0x1.254967c3d947fp-3 +0x1.0efb15037e6dfp-1 +0x1.4d5cb9f362b26p-1 +-0x1.b1937baaf010bp-3 +0x1.cc6ca50f8a3efp-1 +0x1.4a1dae90d7411p-3 +0x1.55b3e6055d0e1p-5 +-0x1.1aa44da042bb6p-1 +-0x1.b0bd843ab6a4ap-1 +-0x1.f054c11c6fd4cp-5 +0x1.d0a0747739ef9p-3 +0x1.41625bb6bb69ep-9 +-0x1.40f225f19d807p-1 +0x1.68f2251556c42p-2 +-0x1.7b88d0971cb8fp-1 +0x1.9881037ac5d0cp-2 +-0x1.d7dcb5bf10201p-8 +-0x1.047d0738b0548p-1 +0x1.99fc73dff87f1p-2 +-0x1.1cc8ea88902bdp-2 +-0x1.3f006e8f475cdp-1 +0x1.616499a14aaecp-3 +-0x1.14f850c38af3ap-1 +0x1.152221a1e5ec1p-3 +-0x1.dda46f82ac25fp-2 +-0x1.ebd99dffbb2c1p-2 +0x1.fd966020d3d82p-1 +0x1.109c0a3406d9cp-2 +0x1.08c908be8c44dp-2 +-0x1.0e232850400eep-1 +-0x1.b9f7921fe5df1p-2 +-0x1.0db7cd63aa192p-2 +-0x1.5b2f8fe8e2d73p-1 +-0x1.31bd792341a6fp-1 +0x1.698de691c7e25p-1 +0x1.5916dba89ea0cp-1 +0x1.94f61b50158e4p-5 +-0x1.8478f81625835p-1 +0x1.85f2a22dbc78cp-3 +0x1.6ed2a7fc6ff22p-3 +-0x1.88231dca9889fp-4 +0x1.3b45876742c98p-1 +0x1.c568a632a54f1p-1 +0x1.3bcd8bbb91ce4p-1 +0x1.d1e3303547257p-1 +-0x1.6a87eb5d38a3dp-1 +-0x1.60d4fb529d061p-6 +-0x1.f4fc225d9bfd2p-1 +0x1.f9a2508505615p-3 +-0x1.ab8ce8c5036fdp-3 +0x1.99274d4947665p-3 +0x1.6ee10190d744bp-2 +0x1.865bcdfbfe84bp-1 +-0x1.036fe87d648a6p-1 +0x1.d33039a6687e5p-4 +0x1.681635f580025p-1 +0x1.f67006626433fp-1 +0x1.9b7f31d955738p-1 +-0x1.fea613e6a7e47p-6 +-0x1.adf07f99080b1p-1 +-0x1.c6ff784a5846dp-1 +-0x1.66360c4d84d4cp-1 +0x1.2d187fe4d9616p-1 +-0x1.a19827cb2b281p-1 +0x1.3a13a0ae983f5p-1 +-0x1.780cef3cd015cp-2 +0x1.6128b1ee4e238p-1 +0x1.bf9da80551537p-2 +0x1.0ae6ec582d27ap-1 +-0x1.519680b429656p-2 +0x1.07598173ad01ep-2 +0x1.178cad6720448p-5 +0x1.6b3713606e908p-3 +0x1.9b39f2eb74eb1p-1 +-0x1.d1b80e7c5af4fp-1 +-0x1.bf7de089ee40bp-1 +0x1.ea5ec156bac88p-1 +-0x1.8ae87a60df294p-1 +0x1.0c18504490a73p-1 +0x1.6455c177d0d72p-2 +-0x1.b4951c9daf538p-2 +0x1.220f603d1e01cp-1 +0x1.09e96024014f6p-1 +-0x1.b1165a43c5c1dp-1 +-0x1.26eaa37b73589p-1 +-0x1.9657b29aaf014p-2 +0x1.25d18013304f9p-1 +0x1.17f54ccdb1492p-2 +-0x1.3ebe73f75b15cp-1 +-0x1.2865ded9b709ap-3 +0x1.e5f60d67b72c9p-5 +0x1.074894afb4a68p-1 +-0x1.77bcac716d62cp-2 +-0x1.8ec86add9aeefp-4 +-0x1.f727374002d1dp-3 +0x1.219fdd9159794p-2 +0x1.5753bc1e8f686p-3 +-0x1.5c513c3aff73cp-8 +0x1.54c0aa8028eafp-1 +0x1.0aefb256acaa6p-1 +-0x1.4f42f362a07dbp-1 +0x1.7d3d03a0cd29cp-2 +0x1.52dc5518c03d1p-1 +0x1.152d96988dfcbp-1 +-0x1.b9362861efb2ap-1 +0x1.6f1701555f85fp-2 +0x1.247af4585a46fp-1 +-0x1.82e73ed18d53dp-2 +0x1.12f232801512cp-2 +0x1.2d4502ac51d3p-4 +0x1.ef4225e07b545p-2 +0x1.f80584e5fb2d6p-2 +0x1.f2ed8609d0483p-1 +-0x1.ec149381a56ep-3 +0x1.10f4e21b1dc18p-2 +-0x1.84c3d380eaf0ap-2 +0x1.6536d3822a5dbp-1 +0x1.838a198ed8cdbp-7 +0x1.32d80d3aac2f4p-2 +-0x1.9c26870369fe7p-1 +-0x1.307611302dc42p-2 +-0x1.189ae531d5c74p-2 +0x1.7dabb7015dbccp-3 +-0x1.46b15dd71b6a3p-1 +0x1.586a8ce67f2f6p-2 +-0x1.6145556b90223p-1 +-0x1.9271db76a9a42p-4 +-0x1.34681fafe2e6bp-4 +0x1.c4afdfb77bce6p-1 +-0x1.94f576076f3f6p-2 +0x1.3e406ebb0b494p-2 +-0x1.e5bd1f0c77475p-1 +-0x1.4826da1a6fb3bp-1 +-0x1.13ce40f99bf7bp-4 +-0x1.40cd7e5d60aecp-9 +-0x1.19a972728a2d8p-2 +0x1.dda92a62ee88fp-1 +0x1.84f46abbbd47bp-2 +-0x1.727f2b1502ce2p-2 +-0x1.b9a03fa812b65p-1 +-0x1.5b54a8be61f33p-3 +-0x1.a81c71fe36b8ep-2 +0x1.935030c4ba176p-1 +0x1.8103dbff05cedp-3 +-0x1.9c5866f93b68fp-1 +-0x1.1a268680e3411p-1 +-0x1.3ba3bee44776fp-1 +0x1.00cac957880d8p-4 +0x1.6e38c79a3a629p-2 +-0x1.11bd078b261d1p-1 +-0x1.a112b6d648e72p-1 +0x1.8fed914bb2cffp-3 +-0x1.0cae8b7cb7f28p-1 +-0x1.6150254008025p-1 +0x1.dc9001dd29cdp-2 +0x1.7f0cf0befbae9p-2 +-0x1.452b5b358d993p-2 +0x1.882dd6d58fb3p-1 +0x1.2e61f0ca33ep-4 +0x1.80f26ecd63442p-5 +-0x1.59db1552e1a15p-2 +-0x1.e10c40e71879bp-2 +-0x1.628050434b9fep-1 +0x1.f3e4c5419aafdp-1 +-0x1.da90ccfcca91fp-2 +-0x1.2ce42a5c335a8p-2 +-0x1.19b0494251d83p-3 +0x1.4bdca09b25806p-2 +-0x1.b4551f48e5e14p-1 +-0x1.c3e7b0cda300ap-1 +-0x1.851b7aa9f2e58p-2 +-0x1.394900efd90a5p-4 +-0x1.c0df639b1f95bp-1 +0x1.b57ef080526a1p-1 +0x1.6e593e63048dp-1 +-0x1.b3b2e53f25ff4p-1 +0x1.20b8481ed33p-3 +-0x1.e40dbf90af69fp-2 +-0x1.85c872b5fe48p-3 +0x1.daba6fbce7222p-1 +-0x1.1c90b64eade2dp-1 +-0x1.0cee4cade79eap-3 +0x1.9d18d9c89b6d5p-2 +0x1.24a594ec3955bp-2 +-0x1.1386072cb5767p-1 +-0x1.4f44b083f6f77p-3 +0x1.ce504b8600805p-1 +-0x1.096d3f1f86262p-1 +0x1.58e5a7a15838dp-1 +-0x1.c0f158c0b386ep-1 +0x1.7bec591bcb9f1p-1 +0x1.acf4457026889p-3 +-0x1.081e4b193da3p-1 +-0x1.af18d2905362dp-4 +-0x1.816382b888e2ap-2 +0x1.cada85eca0269p-1 +-0x1.857e75135f75ap-3 +-0x1.e6e3ddc7b99dp-1 +-0x1.e91d19d11a9e3p-1 +0x1.8fdd59da7273p-2 +0x1.4b6786c836facp-1 +-0x1.b9fc6897f58cfp-1 +-0x1.47c5e44db5cfdp-1 +-0x1.79047a2057605p-3 +0x1.2acbeee069b98p-3 +-0x1.1005032e784bap-1 +-0x1.98ba1addf270ep-2 +-0x1.33782a6e11156p-2 +0x1.a805bfbe7435ep-2 +-0x1.6baefbf516dc7p-1 +-0x1.21c30a32cda9ap-1 +0x1.62072a0760112p-6 +-0x1.39b197eda3b67p-1 +0x1.7f04c21a59f65p-2 +-0x1.39f94c59356c8p-1 +0x1.3ddeeff0904dp-5 +-0x1.1ee2ce778752ep-5 +-0x1.6899a578aa20fp-1 +0x1.dc1aa30ec4db2p-3 +-0x1.b601c472fde84p-3 +0x1.a8462321fb8p-2 +-0x1.33c518cb111f3p-1 +0x1.a6798664f5c9p-1 +-0x1.6077f66d571e5p-1 +-0x1.16a5451e26682p-1 +-0x1.5e37dd26ac9dap-3 +0x1.cdd5a0cabf976p-2 +-0x1.bfefec036a01p-1 +-0x1.618704dd2237ep-1 +-0x1.17cefc37ce9e6p-2 +-0x1.4c77e02f9c4b2p-1 +0x1.6f3eebec64ab6p-3 +-0x1.52b944245b838p-2 +-0x1.5cc46dbfcb373p-3 +-0x1.208c44c5508cbp-1 +0x1.81c26d68ec56p-2 +-0x1.a20602060a734p-1 +0x1.17946adcb0123p-4 +0x1.ebae791dc0e76p-2 +0x1.1156ce1170e2ep-2 +-0x1.8f8275af8013ap-1 +0x1.1ddf12ae2e858p-2 +0x1.e2158a0dbcab6p-2 +-0x1.daaed0c01f5aap-1 +0x1.f60184bdc9d7dp-3 +0x1.7304797757b6dp-4 +-0x1.1b0870e4b2ddfp-2 +-0x1.8030c09dc94dap-2 +-0x1.1eaf484d16af4p-2 +0x1.5f4fcdf057914p-1 +-0x1.07f92ebdf0646p-2 +0x1.8976c0c835b33p-1 +0x1.97525efa2886bp-2 +0x1.22d4d3404221ap-1 +-0x1.39b1efce626c6p-1 +0x1.53b1b5e962d6fp-1 +-0x1.0fbae3676fcf6p-1 +-0x1.fbd592bfe26a7p-1 +-0x1.2bcc972227b6p-2 +-0x1.74dc0b082c1dbp-2 +-0x1.ff7f930fd5e04p-2 +-0x1.8c8db066a8634p-2 +0x1.2e4de69b3172fp-1 +0x1.d16f60be25e2p-1 +0x1.58f0deb360e7p-3 +0x1.0e3bd98783ebp-3 +-0x1.c56b26cd3b0e1p-2 +0x1.7131b1eae0801p-1 +-0x1.64f178d84bd9ap-1 +0x1.23e878698dbd8p-1 +-0x1.aec4fa9e8ba9cp-3 +-0x1.88ad447acc67fp-3 +-0x1.ce6f1619037b1p-1 +0x1.2220e8d088964p-3 +0x1.5eedc05f9aa27p-2 +-0x1.e5c615bc4bffp-3 +-0x1.dd82938144e22p-1 +-0x1.29bfc266ae7abp-5 +0x1.5fafe5b5edad1p-1 +-0x1.22b3574e65c91p-1 +0x1.6651c618cf3f4p-7 +0x1.e17a669700255p-1 +0x1.d3c68b80f60d5p-2 +-0x1.56483d0667741p-4 +0x1.f538f451b9fdp-3 +-0x1.d04bfc083145dp-4 +-0x1.3883f7b6f31edp-2 +0x1.c91f37757fd7ep-3 +0x1.84bc463b503aap-4 +-0x1.fb2979688c18dp-1 +0x1.f4b9e2ad91dap-4 +0x1.1f839c02aea09p-3 +0x1.796b8f1d9cd6p-4 +0x1.632f413730eecp-5 +-0x1.8e656348d3b5bp-3 +-0x1.283e2b9962ba7p-5 +-0x1.6757876dcae7ap-3 +0x1.01319694076e6p-1 +0x1.cd2e9a67a077ap-5 +0x1.bbe7756c878aep-1 +-0x1.01f5185a530a2p-1 +-0x1.8fc528ee4a816p-1 +0x1.7e09d6394726bp-1 +0x1.b3ec39d73b7b1p-4 +-0x1.982cae8330074p-1 +0x1.68e118ffda33p-1 +0x1.428b724b52cd1p-1 +-0x1.d2f639ca66964p-3 +-0x1.d183a5109a288p-4 +-0x1.549fc168d98a7p-2 +-0x1.d3ba9491d2209p-1 +-0x1.54198cd76ee49p-7 +0x1.3010effb2a9d8p-3 +-0x1.607ea18e94ccep-6 +-0x1.85076cea8dee2p-1 +0x1.10b0ca3231d11p-1 +0x1.29b29933c5641p-1 +-0x1.84dcdbd7cb5b2p-4 +0x1.f93c4c1ff8b2p-1 +0x1.efae6a4345834p-1 +-0x1.904df897d65a6p-4 +-0x1.a7399e357df9dp-5 +-0x1.3469c823bafdbp-7 +0x1.b1cb35b097958p-2 +0x1.0c8065025cd4ap-2 +0x1.53f72f16765c3p-1 +-0x1.863f60a9005cbp-2 +-0x1.270593c7223d4p-2 +0x1.b3360925278c1p-1 +-0x1.53f3f9eefbb21p-3 +0x1.2acbf9ebe9e7fp-2 +-0x1.8d57deab6dd4p-3 +-0x1.83f7facbfd2e6p-1 +-0x1.c4a5e400f4127p-2 +0x1.f788581eb9328p-1 +-0x1.0d62b38790e8ap-5 +-0x1.ca6d3ff5e4bbbp-1 +-0x1.f53175fd5fbf4p-3 +0x1.89261e938134dp-3 +-0x1.b95099cbd7fd6p-2 +-0x1.d4f5e9efe61ecp-2 +-0x1.02511aab89695p-1 +-0x1.cb4adcc5751bcp-4 +0x1.761ab7c02496fp-3 +0x1.a95893cb28a3dp-11 +-0x1.5f79ac46c6e44p-2 +-0x1.8ce90041d4696p-1 +-0x1.a5d9801ae6e41p-2 +0x1.6bf1cedfb1b7ep-3 +-0x1.242a94d890b57p-3 +-0x1.06b2a88ee90ddp-1 +-0x1.11ed7d554db1bp-2 +-0x1.2ce92f55d7889p-2 +0x1.4d78bb6b7dd17p-2 +0x1.cca3d043c0994p-1 +0x1.0efcb883841f4p-1 +0x1.19ac5755658f6p-1 +0x1.c7101bf613de6p-2 +-0x1.84c9147b7a425p-2 +-0x1.81cc4aa7636c6p-11 +-0x1.8c1b09da4e0a5p-2 +-0x1.454e049d56536p-4 +-0x1.203ea7655130ap-5 +0x1.0b62ff735d823p-1 +0x1.0a3696500908p-2 +0x1.b69cbdbd83417p-5 +0x1.e4a2a0310a0dp-2 +-0x1.fc1de8ce9ccbbp-4 +0x1.9c5f0ca6d5bcdp-1 +-0x1.c662e4a9e2b4fp-3 +0x1.cb7759ff98897p-2 +-0x1.61d9a3955f9e8p-2 +-0x1.412e522a016d3p-2 +-0x1.6b1d72f508db9p-4 +0x1.3617f9adebb76p-1 +0x1.fa2252d878efap-1 +-0x1.8d1c9d5a80b31p-1 +-0x1.b34548a43067p-1 +0x1.b4c7033fa0d99p-1 +-0x1.5975cf7aecb88p-2 +0x1.689c1081133dfp-4 +-0x1.e322c79333de6p-2 +-0x1.11322e6dd5efp-1 +-0x1.45a283fca3a17p-5 +0x1.958df26b61271p-1 +0x1.199ecc3fd30b8p-4 +0x1.61feda8a1b167p-2 +0x1.2dbc586fbc512p-1 +-0x1.4b524db6de106p-3 +-0x1.321ac45903b65p-6 +0x1.7e83448fdfaefp-3 +-0x1.ba9872b529493p-1 +0x1.da35d735316e7p-1 +-0x1.3a327d6e93215p-4 +-0x1.7050bdd8e3b12p-2 +0x1.212d80b57dbap-1 +-0x1.c0bdc3f5eb2e8p-1 +0x1.1695d07763352p-2 +0x1.0454b477b93dbp-1 +0x1.4ccce934eb87fp-2 +-0x1.1db5faa1216e6p-4 +-0x1.2510e26139c57p-1 +0x1.4f6fe74404b98p-1 +-0x1.d20a797212608p-1 +-0x1.99dd5f0dc1be9p-2 +0x1.e5340b83aa563p-1 +-0x1.2736081315feep-2 +0x1.6928713c96dd3p-3 +0x1.f3716a8668576p-1 +-0x1.11c75e3eb7aa4p-2 +0x1.2d817a7181f61p-6 +-0x1.16f81ded0728ep-1 +-0x1.1d377adc1dbadp-1 +0x1.f17c08fe08923p-1 +-0x1.ab3f92eb6cbd1p-1 +0x1.74ea2fdcafe54p-2 +0x1.aecb4e3294ba2p-3 +0x1.afa7d625147a4p-1 +0x1.e4688e6465297p-2 +0x1.a5c71090e684fp-1 +-0x1.27cf3ce6802e3p-2 +0x1.445e414758d3dp-2 +-0x1.d98d83ed5e8bcp-3 +-0x1.9dcba31296e9p-2 +0x1.004326e1f1688p-1 +0x1.8bedb6ec2f595p-1 +0x1.d525c85d209ccp-1 +-0x1.cf0b1030d66a1p-1 +0x1.3a6ab8b7b614ap-1 +0x1.129a34c4d9706p-2 +0x1.577f4c5e05628p-1 +0x1.1631b9dba5f7dp-4 +-0x1.26ea1e7ac0b88p-1 +-0x1.b93729fdd8f22p-2 +0x1.4eed19e584721p-1 +0x1.d4f66c0c3e037p-7 +0x1.ab22813a799a7p-1 +-0x1.9a3f9f1494d26p-1 +0x1.fa2aa3fca4b25p-4 +0x1.49b417fd5ec53p-1 +-0x1.72778cc408968p-2 +-0x1.c049b5b81bf84p-6 +-0x1.fec4921b7b307p-2 +-0x1.7f3bf35c7a58bp-2 +-0x1.3821e065c24a1p-1 +0x1.e44732bd2e43ap-3 +0x1.be2f00af19dadp-2 +-0x1.b38e3282251f1p-2 +0x1.37d12d6b65381p-1 +0x1.59cbe7e583c3cp-2 +0x1.16769cc7854c4p-1 +-0x1.85f9db7ad83c5p-1 +-0x1.da9c686237432p-1 +0x1.a17e49e89617cp-6 +0x1.72945e1f52228p-1 +0x1.a01a6ed4ee6ap-1 +0x1.b254af39ac1ecp-4 +0x1.e48b990422d5cp-1 +0x1.d225c2f94ab9dp-3 +0x1.21c16635ce30cp-2 +0x1.235af779a7eecp-1 +-0x1.1b58b94905d77p-1 +-0x1.58b5e5e5e17d8p-2 +-0x1.73b8d4aac7e64p-6 +-0x1.bab2f3ff684ap-1 +0x1.ec3f2b4e3eae3p-2 +-0x1.8305cbc8c1a8p-2 +-0x1.2a58c0545c6eep-2 +0x1.b69e0a9970a11p-2 +0x1.c1c852f430c4fp-2 +-0x1.32d97bf64a7a5p-2 +0x1.5c66efc5457fcp-4 +-0x1.e6885d3c0425dp-1 +0x1.cb287d7e944a9p-1 +0x1.8cbafccfc1f45p-1 +0x1.afd89ba2db15fp-3 +-0x1.29809ec5a8b95p-1 +0x1.5f3cc882f0ce7p-1 +0x1.a88dc2ba797acp-2 +0x1.207bc67429ddfp-3 +-0x1.fe6d08f681db5p-1 +0x1.1a69746b81fc4p-1 +0x1.d70e4ab377134p-1 +0x1.8af8aac380a6dp-1 +0x1.aa1fa24208717p-1 +0x1.8aaa0f3b9c80dp-1 +-0x1.749505e44c7bp-1 +-0x1.a2358ede7d995p-2 +-0x1.61c6682a4d466p-5 +0x1.a74e21d7029e3p-2 +-0x1.25ccba68e7a7ep-1 +-0x1.8303cbe673d4fp-1 +0x1.7d3ed50ce274ap-1 +-0x1.e87dd9747919bp-1 +-0x1.9ed7a29a9c834p-1 +-0x1.df4279685765dp-1 +0x1.7a610748aa408p-1 +-0x1.cd544b866b613p-2 +-0x1.f6c969d2369aap-2 +-0x1.a9e9020d9602p-4 +-0x1.8301f683ac6dbp-1 +0x1.14ef608119895p-2 +-0x1.0a88bf1598296p-1 +0x1.a4af830fdd814p-5 +0x1.bc3728d82d6d7p-1 +-0x1.0326e0867440ap-1 +0x1.3dbaa26960115p-2 +0x1.c7e527bc02a67p-3 +0x1.5e1d8eaca6c95p-7 +-0x1.d7ebf650cc9b9p-1 +0x1.9097b662a59eep-1 +0x1.b565a157284cep-5 +-0x1.fd2e4f7bf87bfp-4 +0x1.af69fc75d4ad8p-2 +0x1.d68badce5fad4p-6 +0x1.d5fbd9a4099ap-1 +0x1.8059ff0272cbfp-1 +-0x1.ce2d245fe3a35p-1 +-0x1.afd83a33b6376p-3 +0x1.40d0694ce0278p-1 +0x1.e5e55589cb872p-2 +0x1.cf19a800cecdfp-1 +-0x1.342553521d555p-2 +-0x1.c9b073026de3dp-2 +0x1.873755755adcfp-7 +0x1.2830d7242734bp-1 +0x1.a8ecb20875e96p-3 +0x1.7f09c3abb2cf8p-5 +-0x1.a964f00912f74p-2 +0x1.c6c843e32c486p-1 +0x1.e96bb5de91cabp-3 +-0x1.d248afe7e9b74p-4 +-0x1.4b9104f6c1ab4p-3 +0x1.bdf1ed32d83afp-2 +-0x1.ef824bbbbdc2cp-4 +0x1.259cef635a7c8p-3 +0x1.771fcc609328p-1 +0x1.19a7b2a6759c3p-1 +0x1.2e1651d1f03a8p-1 +-0x1.fec49907b5513p-1 +0x1.09d26f11c4854p-2 +-0x1.0e6e3dd04d3fep-1 +-0x1.3db789c763c1cp-1 +0x1.d00d6363bea5fp-3 +-0x1.ce9d3329d71c6p-2 +0x1.a9d84b66901d9p-1 +0x1.042e6609033a5p-1 +0x1.7ae4d671414d6p-3 +0x1.e9eb1e748b222p-5 +-0x1.19c4f69ebc23ep-3 +0x1.c9382b078162ap-2 +-0x1.5b2ed8c81d9aep-2 +-0x1.e8e2661822d76p-5 +0x1.28e69858a70dbp-1 +0x1.3c991c941a69ap-1 +-0x1.8af2033b78097p-1 +0x1.0f261d3bf0c2dp-4 +-0x1.7afbed9a57201p-1 +0x1.b0c4237bd40dep-2 +0x1.6ecb46f059fb6p-4 +0x1.5472d0ca8751bp-2 +-0x1.2c76e4e00044bp-4 +0x1.549e9b6eee872p-1 +0x1.88639a9d97768p-2 +-0x1.029b549308401p-1 +-0x1.8db027e9223a6p-7 +-0x1.ebefd3680974ep-1 +0x1.f98d9eed2ccd4p-3 +-0x1.cc9b5568dc31p-2 +0x1.aa3480c5fb174p-1 +0x1.6b2fa201f75eap-2 +0x1.d13377c3aa005p-1 +0x1.e795f969d96ddp-1 +-0x1.443c98b0560cbp-1 +-0x1.eeb87ebb65fa6p-1 +0x1.b87f5b7ff32ecp-1 +0x1.3af59df8ae1c2p-1 +-0x1.d1ca3725ac41cp-2 +0x1.7cbcf34dd1223p-2 +0x1.ca9f1a077856ep-1 +-0x1.9ce86cf3aa2cdp-2 +-0x1.f536eeac3900bp-4 +-0x1.c0551c9c239ecp-4 +-0x1.b1170a960b5afp-3 +-0x1.cc7f4e662776ap-1 +-0x1.792ec52d353ep-2 +0x1.ab17df6ea1f03p-4 +0x1.4bd66c73cbe2ep-4 +0x1.fdb30fb9fc04fp-2 +0x1.692c15d54165ap-5 +-0x1.ac9ca33028e24p-1 +-0x1.a9fda3741502ap-1 +-0x1.1e5c6f22efec1p-1 +-0x1.0cc97c80d87ddp-1 +-0x1.201c3df5ee694p-1 +0x1.df82b0e4c13fdp-1 +0x1.395d76dbb0bf2p-3 +-0x1.350bdcfe192b9p-1 +0x1.dbdb799211d3ep-1 +-0x1.a8309607f0817p-2 +0x1.f4b33b0f7911fp-2 +-0x1.0ab2490acbe8bp-3 +-0x1.ab8ade8a39005p-3 +-0x1.3fcc06512facfp-1 +-0x1.4079894eb34dfp-2 +-0x1.13a34b80b3a43p-2 +0x1.17a1212bd39b8p-1 +-0x1.acf1d85e04444p-1 +0x1.9c6787407a9d5p-2 +-0x1.39bbd90a02bf2p-3 +0x1.ded9cf337a46bp-6 +0x1.638e3d22fbbbep-1 +0x1.781bb0831f334p-1 +-0x1.99867339dde4ap-1 +-0x1.1c66ecd143209p-2 +0x1.254d34443b4f5p-2 +-0x1.8231536ef91a2p-7 +-0x1.134b7981fe3eap-1 +-0x1.4545232bbdfc6p-3 +0x1.8ec7b0a28eee7p-3 +0x1.365a79a1b0125p-4 +-0x1.9ef78cc82b667p-1 +0x1.827dd95ed480ap-2 +-0x1.5772f20afa4a2p-4 +0x1.539028f1831d5p-2 +-0x1.bc1a284f5c0ccp-1 +0x1.640cf26bfbb62p-3 +-0x1.245e4c501736ep-6 +-0x1.4448c69d892cbp-1 +0x1.1ed2e9dbee9d8p-1 +0x1.dbcd02e24aceep-2 +-0x1.ceb76ac6dc36p-2 +-0x1.b8c88907a6f0cp-5 +-0x1.cd8996d89a7e6p-1 +-0x1.c73193f75f0c3p-1 +0x1.987076bd1eeaep-2 +-0x1.a68fc08dfec19p-1 +-0x1.8db732619013dp-3 +-0x1.d27f7ae0200f1p-3 +0x1.47dd95ec4fc7ep-1 +0x1.b70af224952c4p-1 +0x1.ada51da40aafap-2 +0x1.c0bd9cb418533p-1 +0x1.f0aa9a98fbaddp-2 +0x1.840fdd601197ep-2 +-0x1.b58f8dba9a0e6p-3 +-0x1.117970cd4a35bp-2 +-0x1.fb4ad68db196fp-2 +-0x1.02d2ef4c0747ep-1 +-0x1.00d2d9006315dp-2 +0x1.e16d9c43fecacp-3 +-0x1.4915bbf40d86fp-5 +0x1.6beb9b08962b9p-1 +0x1.57a911eb1ad5fp-2 +-0x1.12d0505a7c635p-3 +0x1.89ea2ae702fcp-2 +-0x1.5632cdad9c323p-2 +-0x1.d4c06be24be8cp-1 +-0x1.4f1954f19cfa9p-2 +0x1.3db72f9579379p-1 +-0x1.d8db14a91be06p-2 +0x1.98df14da2cd37p-1 +0x1.14ed3aaba1e13p-2 +0x1.152fd86c0f4d9p-2 +-0x1.eb0c41597dcfdp-3 +0x1.c34ee9c0b662p-1 +-0x1.0275d8ca571e3p-1 +-0x1.0fcdda4fc16b8p-1 +-0x1.9f96a6f3cef22p-3 +0x1.e85928dbfb41ap-2 +0x1.2daf5c8646983p-1 +0x1.5b16355b23c86p-1 +0x1.5c549458b4ea9p-1 +0x1.969e895e32515p-5 +0x1.1999725932bep-1 +-0x1.02d76d08f5bc2p-2 +0x1.9a7c4f0a7e413p-1 +0x1.0a2acd025d09ap-3 +-0x1.156c99320c37ap-2 +0x1.dba802953c236p-1 +0x1.bfb5e70a7d17dp-2 +0x1.47ecc564d1871p-1 +0x1.c8b54130361efp-1 +0x1.83bb476615988p-3 +-0x1.239a535074d3ap-1 +0x1.540a152d6ba85p-3 +-0x1.86594acba7333p-1 +-0x1.b4bbbc86fcad3p-4 +0x1.c50ed86412c9fp-2 +0x1.0cefbb2716ba3p-4 +0x1.d3535fb22705ep-4 +-0x1.e4f6e6ffe6b48p-4 +-0x1.bdd0faf1291c3p-5 +0x1.fa53bd1575516p-1 +-0x1.76edd365a8352p-4 +-0x1.b11f810d9ae1ap-2 +-0x1.8b4aa06b5acdep-2 +-0x1.4a9160586351bp-1 +-0x1.08292da57ac22p-2 +-0x1.9fb55e7c25027p-1 +0x1.0cca47e013bebp-1 +0x1.76984b005dcdbp-1 +0x1.0dc2f1273843ap-2 +0x1.2bbb5a05c8d8dp-1 +-0x1.6b8cb6e3a0369p-4 +0x1.1ba645fd0328ap-2 +0x1.aac2ad78f6723p-1 +-0x1.b7afb44981288p-2 +-0x1.7d0b6931be49fp-4 +-0x1.c54a5305cb2d2p-2 +-0x1.4c2d729be6727p-1 +0x1.1404bbd8abed7p-1 +-0x1.2743a11ce3daap-1 +0x1.4c16c24675605p-2 +-0x1.035d74bcbe027p-5 +-0x1.5967711870325p-2 +-0x1.b92a1f5fd1985p-3 +0x1.74816de64b4f4p-5 +-0x1.0a9e3acc0772dp-2 +-0x1.92ac4cd11f24bp-1 +-0x1.7c42c921d8a5fp-3 +-0x1.e760e297d84ep-3 +-0x1.2cc53c3940ec9p-4 +0x1.6d460d7b2822dp-1 +0x1.ebe34e2403669p-1 +0x1.832eb42d2f49dp-1 +0x1.bf2c07a2986e2p-2 +-0x1.e4f663269bd0bp-4 +-0x1.25f042ec14257p-5 +-0x1.ace724cce544ap-1 +0x1.9ba4a9526c73bp-1 +0x1.074063e7d592ap-3 +-0x1.67967e59d6d4cp-1 +0x1.87ee80f33f74fp-2 +0x1.8ba4c111436ep-3 +-0x1.a8aa7773154bcp-7 +0x1.0324b348be4ddp-3 +-0x1.60822bcd82f07p-1 +0x1.f84d1f6a91123p-4 +0x1.4296ce4e36ddp-1 +-0x1.3165a336819eep-4 +-0x1.427f6cb99f9b3p-1 +-0x1.ce4026dce326fp-1 +0x1.29bb67860f656p-2 +0x1.8e3b17334f8eep-2 +0x1.5ebc0081f7e1ep-2 +-0x1.f5736e16a2562p-1 +0x1.54380d7d21c4dp-8 +-0x1.105c290a40666p-2 +-0x1.97cf5d3c3b208p-1 +0x1.6c7ac66632487p-1 +0x1.6206cdc2d497ap-1 +-0x1.d46dc31dfa5b6p-1 +-0x1.3433174dfdec7p-1 +-0x1.d53832d3bed9dp-1 +0x1.b8dd7040d692fp-2 +0x1.4874b97365b26p-2 +-0x1.7c8b8f05382bp-1 +0x1.abc31e7e7ac18p-2 +-0x1.6dc25ff2273b2p-2 +-0x1.99df301c8d7aep-1 +0x1.beb2018ce5ef9p-1 +-0x1.cf8768a66ee09p-1 +0x1.3509d066274a2p-3 +0x1.8dabe1a2eca3ap-2 +0x1.89563e1a7abc4p-2 +0x1.41e1ccabff7ap-2 +-0x1.bb2d1c4e64f42p-1 +0x1.acc1e3b315928p-2 +-0x1.09f05005573ap-3 +0x1.0b0db0e5c3918p-4 +-0x1.3ec40bf159df3p-2 +0x1.d08b68c695d2ep-1 +-0x1.3d096a9d70e32p-6 +-0x1.32ef4766f71d1p-2 +0x1.a506ae382d772p-3 +-0x1.711fe7fe834fp-5 +-0x1.030fbbf154a1p-2 +0x1.5b92180ef4744p-1 +-0x1.64a523f14f449p-1 +-0x1.cedee0fcbaed5p-1 +0x1.58473104886c9p-5 +-0x1.a794c4e443013p-1 +-0x1.befe91dcf8bcbp-2 +0x1.183f8e9c5dbc4p-2 +0x1.702f9efb00858p-1 +-0x1.5b4a8e1b95312p-1 +-0x1.a287826e25cc7p-1 +-0x1.6a13d125c1d2dp-1 +0x1.bf6545614f2aap-3 +0x1.0073b49702568p-4 +-0x1.deccb44d69f3dp-1 +0x1.b5063bf37758ap-2 +-0x1.ac535788aebe7p-3 +-0x1.d0c8862b187d2p-3 +0x1.510a164ec336ep-6 +-0x1.089693f21559ep-2 +0x1.b1c1ca0c008d8p-4 +-0x1.21983af2f66adp-2 +-0x1.fcebaafb4ecb6p-1 +0x1.b7819a2b6aba5p-3 +0x1.c4abced09ea7ep-1 +0x1.a28e436231ee3p-3 +-0x1.625d30f6bd861p-2 +0x1.e79b2aeeaee05p-2 +-0x1.801f4a0d34096p-1 +0x1.4451ef2e536ap-1 +-0x1.6c0f712692246p-6 +0x1.6c6fccae9544p-1 +0x1.1b806d6e0741fp-1 +0x1.19bf5d3340461p-1 +-0x1.cb282348cbbc1p-1 +-0x1.2405359c89578p-1 +0x1.04395dae324d7p-2 +-0x1.2c10856e55e18p-1 +-0x1.1a6464066acfcp-1 +0x1.8f5974602f8c2p-1 +0x1.9c6d231ed6d73p-2 +0x1.2c51a80da54edp-2 +0x1.3926d73719095p-3 +0x1.43939e5464cfdp-1 +0x1.2b5fdf773334p-1 +0x1.0914a589cbd41p-2 +0x1.87eb5f6a9b577p-2 +0x1.5534f85bb78cdp-3 +0x1.78175b45bbf5cp-2 +0x1.80945deaed343p-3 +-0x1.a8cdaa343f1c3p-1 +0x1.f5b0caff27af8p-1 +-0x1.e7061a420527ep-1 +-0x1.323af1ffac813p-2 +0x1.8d033a8dd7ddap-1 +-0x1.a1a07454f8a1dp-1 +0x1.50cc41f57d39ap-4 +-0x1.f56e5e9fada02p-1 +0x1.3859d96750defp-1 +0x1.73203bf383085p-1 +-0x1.8adde5f8f1df4p-1 +-0x1.d557ae14c19b7p-4 +0x1.36e46dc9e2dddp-3 +-0x1.82625d75c1235p-1 +0x1.27b77812c8d7bp-5 +-0x1.3d6d9449f0b2cp-1 +-0x1.11e906c2545bep-1 +-0x1.1272d2af44448p-1 +-0x1.a2085892bee91p-3 +0x1.d7b7b3a470295p-1 +0x1.026db3b4b4cf8p-3 +-0x1.4415ddc3b0da7p-3 +-0x1.6bd5fe48b7f85p-1 +-0x1.3eeddb26ca1cp-1 +0x1.ef4876bb9373dp-2 +-0x1.a8f258b714257p-4 +0x1.cf31d3fe2579dp-1 +0x1.93610bd369b1dp-2 +0x1.aa1f659f18cc7p-1 +0x1.9f23a1ee4856p-1 +-0x1.b36abe66a0c9ap-1 +0x1.f213b8342646bp-1 +-0x1.a1dee7da2bf6cp-6 +0x1.398ba033f91a6p-2 +0x1.00b7aedf9c7d2p-1 +0x1.9f3cfddc61df4p-2 +0x1.f42e1016fa88ap-1 +0x1.b164e917a32f8p-3 +0x1.180e691bdf7cp-6 +0x1.f5a13f7117784p-1 +-0x1.71d1ab1ee8722p-1 +0x1.f91f22387ef09p-1 +0x1.2605d5ef330cbp-1 +0x1.b6c86ac16d4e6p-5 +0x1.e4a268fcc1f87p-1 +-0x1.2988d714911b8p-1 +-0x1.35c038462ef2ep-1 +-0x1.a13d00969d8ep-6 +-0x1.ecfbad8fe4dedp-6 +0x1.312e6130fd6a3p-3 +0x1.2539568af3e8cp-11 +0x1.9f22e23bc0f6p-2 +-0x1.c073ca76d48a1p-3 +0x1.1633b247d7e01p-1 +0x1.63fde035cd946p-2 +0x1.3bf3ffdc65e09p-3 +-0x1.2429280322e3bp-2 +0x1.b44f60e7247e4p-1 +0x1.35ef8ef818f27p-1 +0x1.9fb5c82bfe287p-2 +0x1.01263efdae1d3p-3 +-0x1.8721f6846f2bdp-4 +0x1.ebb985d83890fp-1 +0x1.835790bf41807p-9 +-0x1.3b002ac772cc3p-1 +-0x1.a9d384a6c2d99p-1 +0x1.dee23f044c63p-3 +-0x1.bcc2fd8836b41p-2 +0x1.e780e1baf0f88p-1 +-0x1.59a9d7ec437a8p-1 +0x1.c8e7c062c555dp-1 +-0x1.971e8a341d1dep-1 +-0x1.3e7c006d83097p-2 +0x1.690544da0f238p-1 +-0x1.907803aedb8e8p-1 +-0x1.035bbbe289713p-3 +-0x1.77b7e19fd5e4dp-2 +0x1.960253952bb79p-1 +0x1.c92d5dd3ac391p-1 +0x1.778b93f26b5f1p-2 +-0x1.1e135dc07fde5p-3 +0x1.05222e2d2d4aep-4 +-0x1.0de9b356183bap-1 +-0x1.34708145893a2p-1 +-0x1.5385f2e7b1ee6p-2 +-0x1.51c38ded07a3bp-1 +-0x1.4d56bf0790c5dp-5 +-0x1.42e7c5793554cp-3 +-0x1.84187fc2ce992p-1 +0x1.aec9e5f625d0ap-6 +0x1.2f83ca988cc67p-3 +0x1.e70aedebd4b1fp-2 +-0x1.5a1c975911dbfp-1 +-0x1.ed119034e6a4bp-1 +-0x1.792fd2b9e456dp-3 +0x1.4880715dad285p-1 +-0x1.e435be704689ep-2 +-0x1.e5248c755c768p-1 +0x1.2ea91c7e4606fp-1 +-0x1.e1e721f0c2bcdp-3 +-0x1.ecafb9abb4aa8p-1 +0x1.470b1593b7ac4p-4 +0x1.b2deff6f8c746p-1 +0x1.55c7e8a496065p-1 +0x1.15b1c7e7be41p-2 +0x1.40862963abacbp-4 +0x1.779c55a07923ap-2 +0x1.a50c3aec8c6a7p-5 +0x1.69e271f1f8fa2p-2 +-0x1.45019d2ee0fb3p-4 +-0x1.83711525f6461p-2 +0x1.ce6a228515532p-1 +0x1.e60fc4f8bc76ap-3 +-0x1.ba4f23e166ab6p-1 +0x1.bef6acf8e5265p-2 +-0x1.f08f31b874a0cp-3 +-0x1.827eef84b9c14p-2 +-0x1.81451763c7fcbp-1 +0x1.929f7c4873464p-2 +-0x1.2e62ca652df96p-3 +0x1.5346b2d408d4ep-1 +-0x1.c2ed3436ec8e9p-1 +-0x1.57d97cc4a9a55p-1 +0x1.10a0b61383922p-1 +-0x1.a6b60bba02dd7p-1 +-0x1.4227d84188d2fp-2 +0x1.dd2db827ca39cp-2 +0x1.8056fe9e57d2bp-2 +0x1.37607ca478be3p-1 +0x1.19088bffae15fp-4 +0x1.38787f2f558e3p-3 +-0x1.eb8fd7475f10ap-3 +-0x1.bb9c349cb3eb1p-1 +-0x1.2d2827d68f5acp-1 +-0x1.570e653a678c7p-1 +0x1.c9fd3d80e944ep-3 +0x1.0c8e265b37258p-2 +-0x1.edacf96f47cc9p-2 +-0x1.5610aa4044766p-1 +0x1.fe6076c713d87p-2 +-0x1.d4a8e212ea722p-1 +0x1.758646587835ep-1 +0x1.4976171087c3cp-1 +0x1.16fa723f3f61bp-1 +-0x1.68cf93cb7cd7fp-1 +0x1.dd48e7ba75559p-1 +0x1.a3e3cdba9529fp-3 +-0x1.9f8c44779095ep-3 +0x1.18f890d48457cp-1 +-0x1.cffd5e27783d4p-1 +-0x1.7670974959c8cp-2 +-0x1.90330297e2b29p-3 +-0x1.82e4435aea0c6p-3 +0x1.a057ce1ffe405p-2 +-0x1.e66cffcd6b794p-1 +-0x1.682f24da6017ap-1 +-0x1.766988e0109f8p-2 +-0x1.acae669682c33p-3 +-0x1.4769868b0dc04p-2 +0x1.491d9fd4410cbp-3 +-0x1.81506f246d1acp-4 +-0x1.b466f99debfbbp-1 +0x1.ac55e0fbe0d38p-1 +-0x1.0c3b900555af8p-2 +0x1.a5e5b3473e91fp-2 +-0x1.0565e7ab26f9ap-1 +0x1.6da23867e6d97p-3 +0x1.d03644ffd5d24p-1 +-0x1.8801d5721b75fp-4 +-0x1.cbb29dedb7859p-2 +0x1.09dc7087753f5p-1 +0x1.3fb3c89ab96cbp-1 +0x1.d2e5c462d6fe6p-10 +0x1.334c7ccbd2a92p-2 +-0x1.de456d9229bfap-7 +-0x1.8672e0fb442e8p-1 +0x1.613f900966008p-5 +-0x1.171fea35bf973p-3 +0x1.dd5d3e2c4082bp-1 +-0x1.ddd8a48f86d3ep-1 +0x1.2a88e302902afp-2 +-0x1.ea24d92a2d6dfp-4 +0x1.4c6a13bba4e4ap-3 +-0x1.77183cb13c809p-4 +0x1.56d510daccc47p-1 +0x1.2e8bca4275bb5p-1 +0x1.7c2a16c2964e7p-2 +-0x1.c3f2462543705p-2 +0x1.396a3cea4d309p-1 +0x1.98d18ec653e29p-1 +-0x1.8617ecc9db13ep-1 +-0x1.22c6965a2ca34p-2 +-0x1.91ecf0f1395fp-3 +-0x1.40d1fde2a3dc4p-1 +-0x1.9f48558885f81p-1 +0x1.cc14eb8fb23eap-1 +0x1.82a1bfe92ea29p-1 +0x1.5eaff998e776dp-4 +-0x1.242f7a3e92be2p-2 +-0x1.4b33f9eba0d61p-3 +0x1.40013144dc83dp-2 +0x1.6bfb33c8e9d68p-1 +0x1.3f6eac0423531p-1 +0x1.932adb0ca85d4p-2 +-0x1.0280595397c7p-2 +-0x1.e179cafc97091p-4 +-0x1.9c15e1ffa19bdp-1 +0x1.934bba3dce8c2p-1 +-0x1.8f4b3043baa19p-3 +0x1.1b5cd5da6d993p-2 +-0x1.815aa67cad1a1p-1 +-0x1.0a49385eb30c6p-4 +-0x1.17224de585ba1p-3 +0x1.7396b7f0ac763p-2 +-0x1.cd1761a045fa5p-1 +0x1.1339996278cb1p-2 +0x1.09b2218776c76p-4 +0x1.0ad203c10df6ep-3 +-0x1.e96f930781a01p-3 +-0x1.21e5d8eb57dd9p-1 +0x1.3a96fce479ab5p-1 +-0x1.fea527443ca72p-8 +-0x1.93dc6ac05f8f3p-2 +0x1.0090cb112c6a6p-1 +-0x1.e54f07a60f95fp-3 +0x1.93680d91a538ap-2 +-0x1.220a5ffef9135p-2 +-0x1.5ef9eb9552a3bp-2 +0x1.71cdb61a203c4p-1 +-0x1.0e43930a7e9cfp-3 +0x1.0b150ca347058p-1 +0x1.d86000d9a7707p-3 +-0x1.e6a3193c6903bp-1 +-0x1.824a66470bc5bp-2 +0x1.1e75da86fb093p-4 +-0x1.a497dc2b271ap-1 +-0x1.df678e05329f3p-1 +-0x1.3c85356e7e1c5p-1 +0x1.da0740cf5ed85p-1 +-0x1.0ff5d61e9b253p-6 +-0x1.be0fe188262cap-4 +0x1.f4742b5564d8fp-1 +-0x1.d22bd1d43a0f4p-1 +0x1.a5a752c75334p-2 +0x1.5be0998b99833p-1 +-0x1.d20e79c1a01d7p-1 +0x1.403e757d27d45p-1 +0x1.104161c484cbcp-1 +-0x1.abe650018080dp-1 +-0x1.39dd9137af427p-2 +-0x1.69653a2a1374bp-1 +0x1.65c3ece57a586p-1 +-0x1.6c4d7799d4989p-3 +0x1.a5fa1adb8dbd9p-3 +-0x1.4db59708d01c8p-7 +0x1.2fb3213846339p-5 +-0x1.6216ce96bac8ep-3 +0x1.f64fe01db8306p-1 +-0x1.b906b7e750bffp-1 +-0x1.2bec9a3b04009p-1 +0x1.e6ec082b13217p-4 +0x1.7d2cd344c007cp-3 +-0x1.e5d9a3c241a81p-3 +0x1.0b7493e17eeb2p-6 +0x1.fb9f853d97b97p-2 +-0x1.3174c5166188cp-2 +0x1.fcc562065f594p-3 +0x1.0522022d23754p-4 +-0x1.b6f2a2f42be92p-2 +0x1.e0390498dd2b9p-4 +0x1.8822d03dad10fp-4 +-0x1.3ca64ba244d8ep-4 +0x1.cf36e6df9093bp-1 +-0x1.63b0552562be5p-1 +0x1.b4e0038a61d51p-2 +-0x1.85ff25d81efaep-4 +-0x1.7d722e7d5d2eep-2 +0x1.d86dbcd9e9471p-1 +0x1.3a52dc6a593f6p-1 +-0x1.21833aadf92f7p-2 +0x1.4e1963fd716bbp-3 +0x1.a93094e125a22p-2 +-0x1.1026fefab4092p-1 +0x1.2b11802d5672cp-4 +-0x1.1663b10191896p-2 +0x1.64f32aa7f17c9p-2 +-0x1.a6decb9b36ebfp-1 +-0x1.67ce64946b73fp-3 +-0x1.23403f1ec517fp-5 +-0x1.1ef83a883d0bep-1 +0x1.99a3945503585p-4 +-0x1.9efbd0e62852ep-2 +0x1.e0996a6d71608p-1 +-0x1.e6e4a37283ccfp-1 +-0x1.0b67a463409bcp-9 +-0x1.a8496a3e739d3p-1 +-0x1.8d426075714abp-2 +0x1.2fee8d8fad0ccp-1 +0x1.2784b3c87544ap-1 +-0x1.fa3b208cc16eap-3 +0x1.5f32ab56a81c4p-2 +-0x1.d1bb10de8809bp-1 +-0x1.b9e65c992b6c7p-3 +-0x1.ccdc52631a2e2p-1 +-0x1.6dbe7021dcdc3p-3 +0x1.833ffd9c93715p-7 +0x1.c0d5052fbc47fp-2 +-0x1.06c04889a6666p-3 +0x1.b0c5321868886p-9 +-0x1.ee5ba6815b544p-2 +-0x1.6697864d13621p-1 +0x1.6c783403e4e6ep-1 +-0x1.3b4d8ae62a974p-1 +0x1.f9fb84ebafdcp-1 +0x1.3b1e328a34351p-2 +-0x1.18f583ce4c08bp-1 +0x1.24c60a23649adp-2 +-0x1.ae3cc9fb0c74bp-2 +-0x1.413f556fc1b8dp-1 +-0x1.918bbf987a7ap-5 +-0x1.d2fc44a4a7de7p-1 +0x1.8e35dfe978176p-1 +0x1.8f68fd71f9b15p-1 +0x1.869b0f971e7fcp-2 +-0x1.3e027e2b77067p-1 +-0x1.113a09f81fc81p-1 +-0x1.d382c87c16dfap-1 +0x1.7880f4f8ccd14p-2 +-0x1.9719c92834c47p-3 +0x1.ea1f6d15e40f3p-4 +-0x1.967b8412b0748p-3 +-0x1.7cfb5c082da3p-4 +0x1.c80843bf8e32ep-2 +-0x1.a72e4554b493ep-2 +-0x1.6ef64ba5996c6p-2 +0x1.1f6f5adebccafp-3 +-0x1.52cf3636ba4c8p-4 +0x1.081ab8e481571p-2 +0x1.9154e8e27119dp-1 +0x1.ac4639daa3fc1p-1 +-0x1.035bf209ab685p-3 +0x1.65041b91e3aefp-3 +-0x1.e37863b5158e2p-3 +-0x1.16998c5aeea67p-2 +-0x1.e547c246dbd7fp-1 +0x1.1ed26a33ee2eap-3 +-0x1.23c3d97f70e31p-1 +-0x1.4c64c57d69067p-1 +-0x1.d6a0b3f708445p-2 +0x1.22d2d85c8671ep-3 +-0x1.4c8e625976fadp-1 +-0x1.e7c0963ca07e6p-1 +-0x1.a6a27e8d0383fp-2 +0x1.e445269dec118p-1 +0x1.c0264fa5c7ecfp-1 +-0x1.49c2929ed8bcep-1 +-0x1.3f3e20e4b159dp-4 +0x1.08e6a287d0368p-2 +0x1.dbb2a899770eep-3 +0x1.86b46131b2bb7p-3 +-0x1.59edd0fd7a02bp-6 +0x1.4b4d1a28acebep-3 +-0x1.80e5e238cf92ap-1 +0x1.e3505559390ecp-1 +-0x1.ce34047bc919dp-2 +0x1.f916efb553ab6p-3 +-0x1.e1bb82cad4ff9p-1 +0x1.ea0ff46f317d1p-5 +0x1.923c71788ea04p-4 +0x1.bb144bbd7dd0bp-1 +-0x1.f4855fd66f1cbp-2 +0x1.d4caf0529ba63p-2 +0x1.5638675db228ep-1 +-0x1.b712ca3109ea6p-3 +0x1.1f2cd3235346cp-3 +0x1.ed4bdf659996fp-4 +-0x1.a29e188bf5bfbp-5 +0x1.ef3d4884fda55p-2 +-0x1.8052972077a48p-2 +-0x1.917ca02a22d06p-2 +0x1.3c41847bdc082p-1 +-0x1.6938458ab627ap-1 +-0x1.2fb6b643562d7p-5 +-0x1.59853df8c173cp-1 +0x1.611128c147c72p-2 +-0x1.18f7cde09775cp-3 +0x1.351d757602a36p-1 +-0x1.43c3be9da80e9p-1 +0x1.4c8bb10fa0acep-1 +0x1.84bcbe79f1b16p-2 +0x1.36e69d8ea3e36p-1 +-0x1.fff16484f17e1p-6 +0x1.640ff6386eddbp-1 +-0x1.c1eb62021f88bp-5 +-0x1.bd350368ccd79p-3 +-0x1.653e8816c8a17p-1 +-0x1.7eba16aa58b13p-4 +-0x1.8089ea0f1c7f1p-3 +-0x1.c3a18f041a8f6p-2 +0x1.70dfb423fbafp-1 +0x1.38adb9e6ddb33p-3 +-0x1.06c1ed283b8afp-3 +-0x1.195a4044fb86dp-2 +0x1.1f8a58934ecadp-2 +-0x1.954db81f6f7bep-2 +0x1.2acab0fcc58dfp-1 +0x1.838bdc6ec7946p-2 +0x1.28b1d151076b1p-5 +-0x1.97e0cdb2e1c29p-1 +-0x1.83a85f0b9e19dp-1 +-0x1.d6da1aa9e9d6p-3 +0x1.8089f00069a02p-2 +-0x1.9d9401c1444b9p-5 +-0x1.67bef0d5e2905p-1 +0x1.ba7cff5a21287p-3 +0x1.6f2d89e4377d4p-2 +-0x1.4e682d49ff477p-1 +-0x1.866033fc47c63p-4 +-0x1.a8b234d4fa494p-1 +0x1.ad9e503e3644dp-1 +0x1.af3ba6224781dp-3 +-0x1.fcf444ef4a508p-1 +-0x1.0e8779651418dp-2 +0x1.734c78ecf572fp-1 +-0x1.cf1bfe276cd87p-1 +0x1.7dd1d6f80b258p-1 +-0x1.9bc7256c883d5p-1 +-0x1.1fb62da1a3d4bp-3 +-0x1.472b8059a0985p-3 +-0x1.203150860089p-3 +0x1.12db7f14a0901p-1 +0x1.67076a642db53p-1 +0x1.cc8250fbe9a5p-2 +0x1.abc4a2f7184f3p-4 +-0x1.76773ac36009ep-3 +0x1.6e30cc6161691p-2 +-0x1.28162cae6334fp-1 +0x1.8ba3eacd60e5ap-3 +0x1.3f45a59449c16p-1 +-0x1.ea412ccdd31dap-1 +-0x1.9167e078dba76p-1 +-0x1.32a483ea9c069p-2 +0x1.8ca0d3713df7ep-3 +-0x1.70c6f55bcdb7ap-3 +0x1.b8b6fd4665d2ap-1 +0x1.fcdccfc909346p-2 +0x1.8b66e9ea13fdcp-2 +-0x1.a56e6e2d62bcep-1 +0x1.91a18769939a2p-1 +0x1.3c5eab47291b4p-2 +0x1.9d2081ebd1b15p-2 +-0x1.505e1dad5b469p-1 +0x1.add1e9f1c6cddp-4 +-0x1.3c19b3000d4cp-4 +-0x1.bfe59d4cb01f1p-3 +-0x1.091167151f2b2p-2 +-0x1.1bc38e13c4ff2p-1 +0x1.46b330f251836p-4 +-0x1.95dc20f6b81b1p-5 +-0x1.fb3325a724a99p-3 +-0x1.d185f66c21c09p-1 +-0x1.c869c9e37ec6cp-1 +-0x1.e53b7d6fe8dbbp-1 +0x1.f839c7b5f27a8p-1 +0x1.6f2fce3ff172cp-1 +-0x1.00b57a155c308p-1 +-0x1.e7e88aad85528p-6 +-0x1.27dfb980a318dp-2 +0x1.3878b72cd03bap-8 +0x1.edc937194b17ep-1 +0x1.b6424596c6206p-4 +-0x1.f5fca9c73aa49p-3 +0x1.ea6d8e8582b49p-1 +-0x1.e4fa9d2d35a6cp-4 +0x1.c3a329a19b4c6p-1 +-0x1.892060d285801p-1 +-0x1.b55afecf8a89fp-3 +-0x1.7c2907ac402f2p-1 +-0x1.6cbe97f9de2cp-3 +-0x1.6538d07abff71p-2 +-0x1.f0a1b605e3c12p-1 +-0x1.487e82721bdc2p-1 +0x1.3a04b839c000bp-2 +0x1.8a60648166336p-3 +0x1.a5ae930ad74f5p-1 +-0x1.edd53f3ede6dbp-3 +0x1.5d5d25d6e1df5p-1 +0x1.bde419125c33bp-1 +0x1.6afdfa12ade46p-5 +0x1.9bf9a5551f05dp-2 +0x1.fdd15d3264bdbp-1 +-0x1.c96813e2516bbp-1 +0x1.1084618b77decp-1 +0x1.aa35d4ca8cb64p-1 +-0x1.93b554033355p-2 +0x1.4e87d429e00c6p-3 +0x1.d8c21cecf6a5fp-1 +-0x1.58120f497a57fp-1 +0x1.70b79bca29c7ep-1 +0x1.0e317b310742fp-4 +0x1.7edad483a722ep-1 +-0x1.46dc0be558c71p-1 +-0x1.a9daf273b6a36p-3 +0x1.ab4d2f397818ap-1 +-0x1.0d69b2fae6d74p-2 +0x1.921c36baeedbfp-1 +0x1.7f549b139921bp-1 +-0x1.ad16834c297f7p-2 +0x1.04d87064f45a9p-3 +0x1.4175f42ac6a6bp-1 +-0x1.b02c6dcdd3b68p-2 +0x1.34764b64b2d2fp-1 +0x1.2118854e7299fp-4 +-0x1.4238733ceb673p-2 +-0x1.4a6c29779e9acp-1 +0x1.fee6fbe15ae28p-1 +-0x1.8be5fd698032p-1 +-0x1.936aea3920d71p-1 +-0x1.dabe9688f81fp-2 +-0x1.42dc805d7da19p-5 +-0x1.e3ff006448c3bp-1 +0x1.f88cd33fea75ep-5 +-0x1.28b76faedb227p-1 +-0x1.269185dec9facp-2 +-0x1.969f37ec7e03bp-1 +-0x1.211d6ae70e179p-3 +0x1.c8beaea874c75p-3 +0x1.fa362518a47bep-1 +-0x1.8f086926c9caep-1 +0x1.f36eeef1681fep-2 +0x1.4fc9cbea1c7c2p-1 +0x1.74203647abbafp-1 +0x1.e226f848c0d18p-1 +-0x1.2a62899d3444ep-1 +-0x1.ecf65cc6cfa57p-3 +0x1.62cada4da3588p-3 +-0x1.06112ee96ed42p-1 +0x1.991d772a8d2fbp-1 +0x1.7e78b07ec4838p-2 +0x1.d48d7f43eb707p-3 +0x1.3894ec2f62c8fp-2 +-0x1.7b85d94cb40dcp-1 +-0x1.1d42d52087b22p-1 +0x1.42df245ddf4cp-4 +0x1.d957b39f1b5bcp-1 +0x1.5da970f455cep-4 +0x1.39ded466635bap-1 +0x1.8de0da820f6dfp-1 +0x1.6d4a0236d78fcp-1 +-0x1.4d8d449f2b435p-1 +-0x1.b0a64e2e5c84ap-5 +0x1.533eec8e7df3fp-2 +0x1.eb2611c85af75p-2 +-0x1.b4668069c2fa6p-2 +0x1.6aa1e6008f9efp-3 +0x1.10b6023dd5a51p-3 +0x1.56a3db00dfb09p-4 +0x1.f010c517a2d28p-1 +-0x1.18296d17dc06ep-3 +-0x1.3d588b118722dp-3 +-0x1.d6ad6c24b742dp-2 +0x1.258971b533d55p-2 +-0x1.c7ee50b19472cp-2 +0x1.1c1917f6ab6abp-1 +-0x1.ceb3d209defafp-2 +0x1.cfcc562931b3ap-4 +0x1.e1760284e900ap-1 +0x1.e5afa46e90a22p-1 +0x1.7fb1744c7e9b9p-2 +0x1.a8514afcf6c49p-1 +-0x1.4fe372759a689p-2 +-0x1.25bc60506fdbep-2 +-0x1.e8715cea6be56p-1 +-0x1.a59091efe7995p-2 +0x1.2641c9b9a248p-1 +0x1.3f51ed7ba8d8p-1 +0x1.d3a85f6de7a9p-5 +0x1.39f04e6d281aep-2 +-0x1.e6487fdf4e5e4p-3 +0x1.fdab353d31fc2p-4 +0x1.d1236f695756dp-2 +0x1.6718ed72e9789p-1 +-0x1.119026c4bfb24p-1 +0x1.76ff3b9c98f2cp-2 +-0x1.f781f8887fdp-3 +-0x1.3a0381516fe6cp-4 +0x1.7f800df187fbap-1 +0x1.783d0bae7ce4bp-1 +0x1.539460c52065ep-2 +-0x1.987720ade20e1p-1 +-0x1.fb7a09b91bc0dp-2 +0x1.04c55d99d221dp-2 +0x1.73c68097fc1c8p-2 +-0x1.18c6042c259bep-1 +-0x1.f9e446149f343p-2 +-0x1.93e5d1509b1fbp-2 +0x1.4357f95694abbp-1 +-0x1.4f73dff8a219dp-2 +0x1.0662a9283dfcap-3 +-0x1.9aefc240221ep-1 +0x1.824eb4bd04f71p-1 +0x1.56029089ad8a3p-1 +0x1.9a130b4adb103p-4 +-0x1.10bb606db7998p-2 +0x1.3f1d4d617dc3ap-5 +0x1.698d34ef002bap-1 +0x1.3dfe18d23dabdp-1 +-0x1.bcdb63873a2fap-1 +-0x1.584ccd03d4493p-3 +-0x1.6dc27f225b846p-2 +0x1.eb303cb53998cp-1 +-0x1.016d02f024be3p-5 +-0x1.29eb778b5f1f5p-2 +-0x1.0abdf0f18390bp-1 +0x1.629ee3be466d8p-2 +0x1.60b55672a22ap-2 +0x1.76938f72c472ap-3 +0x1.3eeea53201ebcp-5 +-0x1.40c599d79e1d6p-1 +0x1.7eef295e0e837p-1 +0x1.dd0da6510da01p-2 +0x1.823730a5bc82ep-1 +-0x1.2150615463ab5p-1 +0x1.101aadca06418p-1 +-0x1.c3f5694f8dfdep-1 +0x1.06315b137b1f5p-1 +-0x1.f7737ba23a3cdp-5 +0x1.095e792cb90d4p-6 +0x1.785b347459adfp-4 +0x1.abab90fd161bfp-4 +-0x1.1e1a082d8c9dbp-3 +0x1.40ed048dfc93fp-1 +-0x1.4126d117b65fp-2 +-0x1.3c323e678cdf9p-1 +0x1.c07c799fbda76p-1 +0x1.fa59284b45a11p-1 +-0x1.0709792a199bep-4 +-0x1.c893adaac049ep-3 +0x1.43efc95cd578cp-3 +0x1.c5e459adbc2b7p-2 +0x1.6b683d06b51b2p-2 +-0x1.e899f99981ffdp-2 +0x1.6abac947a4568p-5 +0x1.2a36804c285a7p-1 +0x1.fb1c5ca47ce1dp-2 +0x1.45948ab1a6b7ap-4 +0x1.188cd6a241b6p-3 +-0x1.a6f2f2538edf2p-7 +-0x1.2bfef29b4173bp-1 +-0x1.076554cde63e2p-1 +-0x1.4afc23f1f6081p-1 +0x1.41eade8b4c6b3p-1 +-0x1.c263bbd4bd059p-1 +-0x1.3aac7f16c7b5dp-3 +0x1.2c4326c2f281cp-2 +0x1.761eb4f22c80fp-2 +0x1.6984f6dd8a05ap-2 +-0x1.c6582ef591777p-3 +-0x1.96d2948eff429p-1 +-0x1.a093b132f6131p-1 +-0x1.7c76fb04d0531p-2 +-0x1.2e06ecece2c27p-2 +-0x1.55762693b425ep-1 +-0x1.98972442e4aafp-1 +0x1.0688508c93a04p-1 +0x1.6af4646cd2647p-1 +0x1.1aed4a10c2fbdp-2 +-0x1.5018e76a96f7dp-2 +0x1.b20e9d81a0492p-4 +0x1.226cf4eab304fp-1 +-0x1.b523f4f0ee9ap-1 +-0x1.497826d737528p-1 +-0x1.722170835be43p-1 +0x1.c6fd6bb5af388p-1 +-0x1.2e4bc1d86bf24p-1 +0x1.3d567596af448p-3 +0x1.0966bf6e26b7fp-4 +0x1.f544faca3378bp-2 +-0x1.0b150c476fadcp-1 +-0x1.d654181f71b43p-2 +0x1.7e29ca78db54cp-3 +0x1.8c2adf481de87p-1 +0x1.7f474ae0728c2p-1 +-0x1.2e67b400216ap-2 +-0x1.dd913b8c81c38p-2 +-0x1.fdc1ddde8980ep-1 +0x1.d6aee46b89338p-2 +-0x1.a29b79a4dabdep-2 +-0x1.8ffce82a1511bp-1 +-0x1.585b46676ad27p-3 +-0x1.efd218255d539p-1 +-0x1.be9657b9387bcp-6 +0x1.7ae99656c24c7p-1 +0x1.aeaaf4dc24616p-4 +0x1.6d3ab7668e9c7p-1 +0x1.9741fcf23ca84p-1 +-0x1.9d3c86fb8e7ep-1 +0x1.014789d4d5b91p-4 +0x1.4c924fe0eff3bp-1 +0x1.bb245eceee70cp-1 +-0x1.aefa6a42f92d2p-1 +-0x1.dc463168f601ep-1 +-0x1.862040f804f72p-1 +-0x1.7db4a17a2566bp-3 +0x1.5ad30ada010edp-2 +0x1.03104f22f96c3p-3 +0x1.5e4225f74a17dp-5 +-0x1.2c24ba980caccp-1 +-0x1.ac2c6d05084c6p-2 +0x1.54107a1363fccp-2 +-0x1.0a294f6b2e37dp-1 +-0x1.99e7e44058227p-1 +-0x1.585871bab9e03p-2 +-0x1.c6fb0ba237bdap-1 +-0x1.bbd30311345ebp-1 +0x1.692925c1296e1p-1 +0x1.a623ad0818d59p-4 +-0x1.080955c97a89fp-2 +0x1.1ecc81b72872cp-3 +0x1.6195fb0594eb3p-2 +0x1.2a2b8da734211p-1 +-0x1.b2d0b5b75004bp-2 +0x1.cdac5a8b6809dp-5 +0x1.e46d681a118c8p-2 +-0x1.269721653ce5ap-2 +-0x1.8b090c9767e1ep-2 +0x1.730522684b1d9p-1 +0x1.84b301a1ec3d5p-1 +0x1.22d6af8a6633dp-4 +-0x1.9108faadd1115p-1 +0x1.fe48626444ba7p-2 +-0x1.04ffeff608392p-2 +-0x1.d641c76db1ed5p-6 +-0x1.f9d3d67006a29p-3 +-0x1.ee62951aa7adap-3 +-0x1.94a685436df4fp-2 +0x1.a7c51685d902ap-1 +0x1.7528e0b8e65c8p-2 +0x1.86dca3bd4a44dp-3 +0x1.38018c0f0dd66p-1 +0x1.ca8ee71718ed7p-2 +0x1.23183337b561dp-1 +-0x1.dcdfa1bbaca2dp-1 +-0x1.ad60e5659217p-2 +0x1.f0ef80ba50badp-3 +0x1.02dfb10f2376dp-1 +-0x1.f4b12dad2c6bap-1 +-0x1.c8731904ec173p-1 +-0x1.4127a995c695p-7 +0x1.d15713fdf7f32p-1 +0x1.6c4854ce2170dp-3 +-0x1.0eaf5a8c2b582p-2 +0x1.3295391e3ccc8p-2 +-0x1.e298a4b310a7dp-3 +0x1.cc723844fe461p-4 +-0x1.0944042fcdae5p-2 +0x1.11645985610c2p-2 +0x1.fbafb2c408d9bp-2 +-0x1.55bb2c471333cp-1 +0x1.8a5b49dc6775ap-1 +-0x1.aa1fd4783c5dfp-2 +0x1.ad6deb99f13f5p-1 +-0x1.3cbf20ccfa12ep-3 +0x1.d8a72a7582604p-3 +-0x1.2ad9c98cb731ep-1 +0x1.cb2c20b529bd2p-1 +0x1.4eab5e2b883f3p-10 +0x1.312250f314a52p-1 +-0x1.fdac8059d637ap-4 +0x1.8a861f847ffd1p-1 +0x1.b0afa829ef788p-7 +-0x1.696bf8241502bp-2 +-0x1.34a82cdbb2bddp-1 +0x1.43480b2d09d2ap-2 +-0x1.1279ca51f09ep-1 +-0x1.cc733e81510dep-1 +0x1.5b96b59bd4a81p-1 +-0x1.012392749431fp-2 +-0x1.0a1a69c4119ep-1 +-0x1.aa7e138c9014cp-1 +-0x1.7d721e0c67188p-2 +-0x1.bdbb38fb4a865p-3 +0x1.89118773885b4p-4 +-0x1.0bbad712682adp-4 +-0x1.28f5c5d5d3463p-5 +0x1.8a425b8ba6b8ap-2 +0x1.04b6c0f1f3358p-2 +-0x1.ef7e3aa60e5c7p-1 +-0x1.6d7c6259830bap-2 +-0x1.f66591882ddd8p-2 +0x1.b74e314b16568p-3 +-0x1.40021a647131p-1 +-0x1.83b5e37123499p-2 +0x1.6371b31f059f7p-1 +-0x1.9f4dc59eee9a1p-1 +-0x1.0ce498d843fcap-3 +0x1.1b058254df45fp-2 +0x1.bac48ca6cdc9p-4 +-0x1.c0d9c8afc95fp-4 +0x1.0feff196d7a4bp-3 +-0x1.d50a271db9ca6p-1 +0x1.e9e4d5fa81a2cp-4 +-0x1.541629397c642p-2 +-0x1.fc6601fdf66dbp-1 +-0x1.d61d59e663c4ep-1 +-0x1.7dfbd69c84161p-1 +-0x1.f2ad11c17907dp-6 +-0x1.b49d68c036a54p-1 +-0x1.e90b1aed4219bp-1 +-0x1.a6fa422911babp-1 +-0x1.45452675327bap-1 +0x1.ffca9b7cb5f03p-4 +0x1.5afe8ae2ed933p-2 +-0x1.54094b3d1d351p-1 +0x1.8124ccdc8b1dep-1 +0x1.80e3387dbf33ep-4 +-0x1.45ae5838cae14p-5 +-0x1.44c5524e9199fp-1 +0x1.9542f3a4aad91p-2 +-0x1.6e1d568eaed31p-2 +0x1.5135031e3d378p-1 +-0x1.e190cef90b975p-3 +0x1.a9a24a9583efep-1 +0x1.2a101fa45a0e7p-8 +-0x1.b7907135cf16cp-1 +-0x1.488aeec168574p-1 +0x1.e138c8aecc876p-3 +0x1.e699ff5488432p-1 +0x1.54f552b9607bbp-2 +0x1.e600b80e8144bp-1 +-0x1.acf8a111b6719p-2 +0x1.5d2db9637e1a6p-1 +0x1.8c4cfa3fcb05fp-2 +0x1.90c4c2e5b26edp-1 +-0x1.a8b47004f8cddp-1 +0x1.ac19b05feb01cp-1 +0x1.3290013a62282p-2 +-0x1.a3b5812aa323bp-1 +0x1.db9ff93d0cbe7p-1 +0x1.424e8beab53edp-4 +-0x1.255d464262766p-5 +-0x1.26b960ac0c35p-4 +0x1.e7fd5cded754cp-2 +0x1.b17e69ae8c5c7p-3 +0x1.cdd90e580cb64p-4 +0x1.dd3db00a3ab54p-1 +-0x1.a1c03e85e08e7p-1 +-0x1.8777d294a4417p-3 +0x1.3683c7f7a18d9p-3 +0x1.18abee9edaa09p-1 +-0x1.6a2fb5cdd4f1cp-1 +0x1.9c9940c028163p-2 +-0x1.dd0cd1cbf4055p-1 +-0x1.d4cb601ad903bp-2 +0x1.aca3c5b49b51fp-1 +-0x1.6d0c6ee038aa8p-1 +0x1.77f5896bfaf1p-4 +0x1.1a429138cb95ap-1 +-0x1.3af6c2d75d189p-2 +0x1.a5f5e16f171d8p-1 +0x1.606b66d295891p-1 +-0x1.d480710e94e67p-2 +0x1.2bd4fb5c7d6e4p-1 +-0x1.8a5677109eb3ep-2 +-0x1.5ab8006d54d0ep-1 +-0x1.babac1d6658b9p-3 +0x1.26d7b544813f8p-5 +0x1.76144c7f3e9c9p-1 +-0x1.b63ffd72bbbe9p-4 +-0x1.4fbc6dd06a89dp-1 +-0x1.c9fb28901d517p-7 +0x1.6ddf6892b72cap-4 +0x1.ff5b86f5f418dp-4 +0x1.d316aed1c285ep-4 +0x1.430bf232c207ap-7 +-0x1.858ca479da09dp-2 +0x1.fc36937c38254p-1 +-0x1.1d770d6a2cf96p-2 +-0x1.032dc815610bbp-2 +-0x1.7b041fd969e89p-4 +-0x1.6584df2c6a83p-2 +0x1.1dfed4759bebfp-3 +-0x1.ba50d2f6110b5p-2 +0x1.e29c9b31d6da9p-1 +0x1.92f14e8f3825dp-2 +-0x1.39170d6424af2p-2 +-0x1.8693d0848429p-1 +-0x1.15fa81e3464dcp-2 +0x1.350d7839f7f2dp-6 +-0x1.e2708c5d89902p-2 +-0x1.5070451065217p-1 +0x1.41e9cf1736a6dp-2 +0x1.f12d2e6b6209bp-6 +-0x1.d56cf5fb29992p-2 +-0x1.285071363c39dp-2 +0x1.0539b90ce036ap-5 +-0x1.2c7dcbecb517cp-4 +0x1.3988e26de320cp-1 +-0x1.8d67eb32ca1dep-2 +0x1.9a32e17b6b67ap-4 +0x1.8104464fd1697p-2 +-0x1.271f4b5fe7d3fp-1 +-0x1.de4e40a256dd8p-2 +-0x1.139b0f0231c45p-1 +0x1.8deb51fc025a2p-1 +0x1.d9242a57ec73fp-4 +-0x1.c44d82fc80782p-2 +0x1.5d55ae6cc0f17p-1 +-0x1.48d04b70bdd15p-3 +0x1.1fa8f83f85f7bp-2 +0x1.c9e901ebf5e59p-2 +0x1.d2a2249179892p-3 +0x1.e404493e20088p-2 +0x1.f8b7c45db0cfdp-2 +0x1.84b45249bc8p-3 +0x1.0b6f2199f585dp-1 +-0x1.7938bbec3eab9p-1 +0x1.a79e904e6f7a6p-2 +-0x1.0eb5225e65041p-2 +0x1.eaccf88238f54p-1 +0x1.390430d8c61c1p-1 +-0x1.511bb5b7e9e99p-1 +0x1.32dee3febf14p-2 +0x1.3b00a9f677e95p-1 +0x1.6e4fd7e40b128p-1 +-0x1.97dfc2cfab84cp-3 +-0x1.51aca94a7dadbp-3 +0x1.2ae800ff7859ep-4 +-0x1.a4ebb42664509p-1 +0x1.334a7b3b9079p-1 +0x1.93059e45e2b6dp-1 +-0x1.2767c0f5a260ep-5 +-0x1.08178d1cc56adp-1 +0x1.f5bd79662971cp-5 +-0x1.fe54f0c1b200ep-4 +0x1.4a0bc895c512cp-3 +-0x1.48c1ad2bba5cfp-2 +-0x1.60dae68516f36p-2 +0x1.e70663a7a9653p-1 +-0x1.e5afbcc46f105p-1 +-0x1.7e4222c6c973p-1 +-0x1.6b5f6879ec61fp-2 +-0x1.116521d4a3d8cp-1 +0x1.a468ebf0357cbp-5 +-0x1.4413d5ee9f75cp-4 +0x1.b61754ae0c6dbp-1 +-0x1.b947e094d55dep-2 +0x1.977b767ab2815p-2 +-0x1.8b6dca686933fp-3 +0x1.991f4bed593b8p-1 +0x1.012dd5417ebabp-1 +-0x1.8af3b7aac61cfp-2 +0x1.9b817a66f1ep-3 +0x1.094b6e6f48d65p-1 +-0x1.a4ad2f1d303ebp-1 +0x1.e40b96b32e14cp-4 +-0x1.e0c79226aa222p-2 +0x1.971a6eb6018aep-2 +-0x1.9cdffccabc0efp-2 +-0x1.7f64dd7243975p-4 +-0x1.bc3d0d490c944p-1 +-0x1.5fc30d17c6d7p-1 +-0x1.394386750109cp-1 +0x1.9697c6ba07269p-1 +-0x1.e3f9c8732e0b1p-6 +-0x1.f1f8430ec2bc5p-3 +-0x1.dea8cfcd209e8p-3 +0x1.32a8cc0d08ac5p-1 +-0x1.085623bdd141dp-2 +-0x1.40cc2d2b49247p-1 +0x1.979e582fffa19p-1 +0x1.22277b094be9p-1 +-0x1.88ea7e13e710ep-1 +0x1.e6c3afea56211p-3 +0x1.a29236a2732fep-5 +-0x1.0c3141d2aed7cp-6 +0x1.5c4d26be8c375p-1 +0x1.bb92e9a234e99p-1 +0x1.fae36351584c7p-4 +-0x1.d8c9381b36e3p-5 +0x1.769c090d856c9p-2 +-0x1.666600121a512p-1 +0x1.53c883aed37dp-3 +0x1.7081dd700aec3p-1 +-0x1.b75cd69eb7542p-3 +0x1.c6c62f42465bcp-2 +0x1.9550b24d48119p-2 +0x1.d576a67439797p-1 +0x1.68731a7f66afcp-2 +0x1.1782432d3e0fcp-1 +-0x1.936702f764919p-6 +-0x1.324f3175f50bep-2 +-0x1.44c8d837b29a1p-1 +-0x1.13235abe51859p-2 +-0x1.3590ff9fb0307p-3 +0x1.7f7ee35916c4bp-3 +-0x1.56a414516dfd8p-5 +-0x1.b28e106776d08p-4 +-0x1.56b4b7e525f8p-1 +0x1.269a29679b878p-2 +0x1.5c25b7a3b86c2p-2 +-0x1.52467ca5a2a59p-2 +0x1.a9781388cb2afp-1 +-0x1.6ad65c0b2c245p-2 +-0x1.8b3d6bf9c738p-2 +-0x1.42b03fb911a6dp-2 +-0x1.7c9dfd892282cp-1 +-0x1.4cfbf80963feep-1 +0x1.01cf97de8cb3fp-1 +-0x1.4580a4f7cd1bp-1 +0x1.f863ad7b8b45fp-2 +-0x1.276971410e109p-2 +-0x1.b80c5e6a003fep-1 +-0x1.1d73ed291042cp-2 +0x1.b31d0ef3c7a3dp-2 +0x1.8216509d06f1dp-3 +-0x1.e62d7e4f2ca86p-1 +-0x1.7fafc9ff671f2p-3 +-0x1.b10432fe8a26ap-1 +0x1.5d39b979b9a6fp-6 +-0x1.814adcb6d08c6p-1 +0x1.007b53c1185c4p-1 +-0x1.d7f8b998ae332p-3 +0x1.1e4003db8fb25p-1 +0x1.cf7be185bcb6ep-3 +-0x1.edec2941d3352p-1 +0x1.2787ee2e37515p-1 +-0x1.e0ce1f0eea52bp-2 +0x1.9603cd92dae3cp-5 +-0x1.91869e5b58505p-1 +0x1.ed10f7051185fp-2 +0x1.982de6c7f4d8p-3 +-0x1.10e77e4a622b9p-2 +-0x1.b1b6a899c6a79p-1 +0x1.192082aae86c5p-2 +0x1.57a1574b63bd2p-2 +-0x1.3ccdaf13ed278p-1 +0x1.6f2f0bf02902ep-5 +0x1.afcdaf9fd9ac8p-1 +0x1.630dac7b68b4dp-4 +0x1.970d4fd8df16cp-2 +-0x1.2c42111ba3878p-1 +0x1.f58ab54620487p-2 +0x1.d318cc564819ap-2 +0x1.bdd0ab433e808p-2 +-0x1.7839b96617161p-1 +-0x1.b0f20f3d48bp-2 +-0x1.426bb9e8b8d57p-1 +0x1.27fc8053f6d7ap-1 +-0x1.d9ecd6d73af88p-2 +0x1.f6fd3737e2095p-2 +-0x1.c6376075267ap-2 +0x1.5d9d619500a72p-1 +0x1.985deed076b0ap-1 +-0x1.0b836aa598b3bp-1 +-0x1.15fb076c76e54p-1 +-0x1.4f571fde7a502p-1 +-0x1.c17998c8e3353p-1 +-0x1.8259681e6bf3bp-1 +-0x1.2dfec1f21f17dp-2 +0x1.86b9d349f1f7ap-1 +0x1.31593a6fcda34p-3 +-0x1.cdb44cb109cbfp-1 +-0x1.40301ef2451e8p-4 +-0x1.6cb2e1d010d6cp-2 +-0x1.625cce8b1d24ep-1 +-0x1.c039bc7976072p-1 +-0x1.fab4a3e3913d1p-2 +-0x1.6b0ae4ccc749p-2 +-0x1.32bdc28a0df19p-2 +-0x1.d95bf17c22d4ep-1 +0x1.7093254da59aap-2 +0x1.ac93a15eac938p-2 +0x1.742a051f8d64ep-1 +-0x1.6cc9bff839cb7p-2 +0x1.a12496fcd7d16p-2 +0x1.6a11291b7887cp-1 +0x1.bfd70fa6c9fd2p-2 +0x1.be81aae59b7aap-3 +0x1.0966e6a0d73dap-4 +-0x1.b4c843ccf15d4p-2 +0x1.241202d617097p-1 +0x1.ad5c7a7406aebp-1 +-0x1.d2e133d994841p-1 +-0x1.65d80c954f8dfp-2 +-0x1.2d790bf71cdf5p-1 +-0x1.72e499d922a73p-1 +-0x1.3e615f76b8d66p-1 +-0x1.4d1eac5d5b8f2p-3 +-0x1.cf9ff27bf2c0cp-1 +-0x1.1205fb4b89fcep-1 +-0x1.6705acf7017acp-1 +-0x1.049f01c2818aap-1 +0x1.079cffcadd19dp-2 +0x1.3c0b01902f4fbp-2 +-0x1.6f31aa0dc4b51p-1 +0x1.52f99de5b809p-3 +0x1.008423352f85cp-4 +-0x1.1e1136975b5dep-4 +0x1.b536f06311f25p-1 +0x1.fcf3a51d97202p-2 +-0x1.6ff71534123ddp-1 +0x1.42050005933d9p-1 +0x1.98e072b8f299ap-7 +-0x1.69191f678ad4cp-3 +0x1.40a784ab1744cp-3 +-0x1.63757ec40cb2ep-3 +-0x1.cfa6fa09e37cfp-5 +0x1.025cfddaf743cp-1 +0x1.dc329dc41076ap-4 +-0x1.80455f6bc69bcp-1 +-0x1.f7adf7d8ae9e8p-1 +0x1.f8472c0d8233fp-2 +0x1.a4ef60e8d4b68p-2 +-0x1.81239f23394e7p-1 +0x1.5387fc6c4af86p-1 +-0x1.80dc1ca4a928bp-1 +0x1.50ab5ca3ea361p-2 +0x1.7ca938069d897p-3 +-0x1.524fd49a02b4dp-3 +0x1.44580cdfe28b4p-1 +0x1.bcf5e5773b864p-1 +-0x1.ec2f51ca5af3bp-1 +-0x1.d881ce2ed8b85p-4 +0x1.b8cf6de8cd133p-2 +0x1.5e4d8deac9d24p-4 +-0x1.544a1988b1237p-2 +0x1.e67a48747bf31p-3 +0x1.c4edfa9cbff3ap-1 +0x1.6b2dda97a7f3ap-3 +-0x1.a8b95ed78f2f1p-2 +-0x1.83ff63ccd829dp-1 +0x1.de453ec5656f7p-3 +-0x1.70b985d772324p-1 +-0x1.a138ff48e7066p-4 +0x1.83719c6502f7bp-1 +-0x1.a4349c6c28813p-1 +-0x1.ed06da667efe6p-4 +-0x1.414837338660ap-3 +0x1.fd17be8702e5dp-1 +0x1.0fdaa028af235p-2 +0x1.8bdbe25c8524p-4 +0x1.9a65a34f42815p-1 +-0x1.7f250f8677549p-2 +-0x1.3b1f20fce5035p-1 +-0x1.345fb24859892p-2 +-0x1.75771df423c34p-2 +-0x1.11c84083469b2p-1 +-0x1.ec1425f94a20ep-3 +0x1.0dcb3cd4ced58p-1 +-0x1.01df0e2e1370ap-1 +-0x1.5583c6f4bc694p-2 +-0x1.7534bc75be26cp-2 +0x1.65f932877f2c9p-1 +0x1.650ac355b1fbp-3 +0x1.f4a996d8aa54cp-1 +-0x1.b65fbc20a3a98p-1 +-0x1.ed015bb0f1a04p-2 +0x1.530258a63ca0ap-2 +0x1.244d37a4b88fp-1 +0x1.a5d93b108ac8bp-1 +-0x1.f3cdd95209908p-1 +0x1.e19df575548e9p-1 +-0x1.05c686cf8aa9p-1 +0x1.27d0aec5930a7p-4 +-0x1.a02df7e27602dp-3 +-0x1.fdcf44623d089p-4 +-0x1.dc0e3b5fc7529p-5 +0x1.8d0733930aeaap-7 +-0x1.a57da927cfc94p-2 +0x1.11731cbe222f2p-3 +0x1.8eb29b03763abp-1 +0x1.1de421fc65cf7p-3 +0x1.5b00a9eb14f05p-2 +0x1.f487b542e453bp-7 +-0x1.782853be7a173p-6 +-0x1.8cd0667537f74p-4 +0x1.13114d2764ab5p-2 +0x1.5fd92c29e14d1p-1 +0x1.d9bb67a751c9bp-3 +0x1.000b24dc60bbfp-2 +0x1.5a9c8cc505145p-1 +0x1.1272a3e76653fp-1 +-0x1.35b3bc55aa792p-2 +-0x1.4226dd3ae5d08p-1 +-0x1.77c05af17058p-5 +-0x1.cb7f65f4cdf11p-2 +0x1.444f8ab014a2ap-3 +-0x1.e456e5dbd3fb4p-3 +-0x1.5078bb9f2659p-3 +0x1.478f2e3411d6dp-1 +-0x1.e4a03ced5aed3p-2 +0x1.c9f989e20e2c5p-1 +0x1.4c1cb0dfce0fap-1 +-0x1.8efcdfe9227bfp-2 +0x1.e82ca02a095f5p-1 +-0x1.50327d1d01e1cp-1 +0x1.5e3d5ca372cd8p-1 +-0x1.34843c6dbc634p-6 +0x1.74a869f6dbf51p-1 +-0x1.9f4a8b2460634p-3 +-0x1.c4cda7aa49b34p-2 +0x1.0649ddcd7b7a6p-1 +-0x1.4ff7f4c523d9dp-2 +-0x1.25e0936f71a7p-1 +0x1.9a100c69fd855p-3 +-0x1.3e09735051e1bp-1 +0x1.12f8710d6cbf8p-2 +-0x1.3c2e2f2e0049fp-6 +-0x1.1303f20ce2ddep-2 +0x1.73c6412270476p-4 +0x1.87c68be809854p-1 +0x1.d69c54d0ae8efp-1 +-0x1.726e5386cbf5ep-1 +0x1.4db07670f6b3ap-1 +-0x1.6196e059b8ff2p-1 +-0x1.253e4af538e5ep-8 +-0x1.c149882d4462fp-1 +-0x1.0c63051c5fb7ap-2 +0x1.24900fa2d83bbp-2 +0x1.0b59f0be1d50ap-2 +-0x1.51998f4724bcfp-1 +-0x1.5a031d6a41d77p-1 +0x1.e7b494d60d128p-2 +0x1.0c48212f9d7d5p-6 +-0x1.165632366a642p-5 +0x1.f02bc2261e6p-3 +0x1.35c695c54324cp-1 +0x1.da738a1ef263ap-4 +0x1.8e148329ce957p-1 +-0x1.6cb9d13339973p-2 +0x1.d4056b95aeccep-7 +0x1.de8772d37ca95p-3 +0x1.d3b5e3a89f62dp-2 +-0x1.d8d5792880182p-1 +-0x1.b993494c289a7p-3 +-0x1.b84750ff20e86p-1 +0x1.48c177c8aca89p-1 +0x1.3a66b9a23bd17p-2 +-0x1.fa27ac4b53133p-2 +-0x1.a5a1745ef634cp-3 +-0x1.4a664bb33259ap-2 +0x1.6ee76694ec5d6p-1 +-0x1.afc05ac01c8acp-3 +0x1.ea1e561e42038p-3 +0x1.8dcce3fc465dp-1 +-0x1.0a396cc90132fp-3 +0x1.4b760b4195016p-1 +0x1.eeaab28f3cc9bp-4 +-0x1.e5cf22a4e0704p-1 +-0x1.6a6b3667ecb32p-2 +-0x1.0033cbb59798bp-2 +0x1.5d2b01826975fp-2 +0x1.8053b0fcd2ab5p-1 +0x1.289d0339edb06p-1 +0x1.d796055b34876p-2 +-0x1.1ae939761bc6fp-1 +-0x1.3216d3376dc3ep-1 +-0x1.6d72c573c240ap-1 +0x1.bbf7f991509bp-1 +0x1.82e235c879fcap-8 +0x1.2d96702365145p-1 +0x1.215bea1d8d972p-1 +0x1.c7bea18c7d6b8p-4 +0x1.e87f010895ff8p-2 +-0x1.0ed4d3c156fc9p-2 +0x1.08d6671deaeadp-1 +-0x1.df82330efc0c1p-3 +0x1.0ca319407cc5dp-1 +-0x1.afa2251ae4712p-3 +0x1.4e30ff3c01273p-2 +0x1.9da612424a4a7p-1 +0x1.56cd31f370209p-2 +0x1.78507db603478p-2 +0x1.5fdd6ff3a3c16p-2 +-0x1.a40adcf265112p-1 +-0x1.9a4965d24107ap-2 +-0x1.0087030c13e29p-3 +-0x1.9050f6f41c4ddp-2 +0x1.9010a2e637bc7p-1 +0x1.113376a83e2c6p-1 +0x1.4a4de4a4f3f5p-1 +-0x1.51fcce431742p-1 +-0x1.9c2d8e376b37dp-5 +0x1.c44d680df0d2p-5 +-0x1.358e7d9acbd29p-1 +-0x1.acda53bcc594ap-2 +-0x1.df8aec5ab3b8cp-2 +-0x1.3b617f40989f6p-2 +-0x1.d35c076e911bp-3 +0x1.c611ff262acf8p-1 +0x1.2c63a0d55602bp-1 +0x1.ff52828b187e8p-4 +-0x1.27ad28fb498b1p-9 +-0x1.43fe26caa94e4p-1 +-0x1.e41d4190bc4p-5 +0x1.4195690e1cf21p-1 +0x1.c9b73cff0310ep-2 +-0x1.c801293111172p-1 +-0x1.2c1e6a83defe7p-5 +-0x1.fd5e6cb8f767bp-2 +0x1.90c3f7fee8f65p-1 +0x1.7d91fa800e21fp-2 +-0x1.13ae63d5081bdp-1 +0x1.c8a557e518029p-1 +0x1.a6e45f4e9a6b6p-3 +-0x1.29d98c3d009e9p-1 +-0x1.f21ac89dc068cp-1 +0x1.4cbf19dc5b9bfp-1 +-0x1.3a429e885e077p-4 +-0x1.ce2241020a565p-1 +-0x1.df6dddddfb031p-2 +-0x1.1a0e884ca5e7ep-1 +0x1.320570a070578p-2 +-0x1.b4cdb39547973p-4 +-0x1.ed74867a6604dp-2 +0x1.6e2504b1018cep-2 +0x1.5b1e28d808043p-2 +-0x1.e16a7594bfd91p-1 +0x1.7ba9478a5fc1ep-1 +-0x1.37e81213f4e0fp-2 +-0x1.5a43d413f83bap-1 +-0x1.314f136d93effp-2 +-0x1.c4746d32411c8p-1 +0x1.caa9958a03f63p-2 +-0x1.8abcbb8919c3ap-3 +0x1.0e8a8f6a2f9ffp-3 +-0x1.2abbd0baf081cp-2 +-0x1.03e7d6d004b27p-1 +-0x1.6d9f5a8430a7p-1 +0x1.88090d68e9bf2p-5 +-0x1.adf2db48aa4bcp-4 +-0x1.afae6b5b46062p-5 +0x1.82c66e4c5ffd4p-1 +0x1.76212d58b40c7p-3 +0x1.1e35a985b8e18p-2 +-0x1.2d2b34d13b5f9p-2 +-0x1.74477a02ec0bdp-2 +-0x1.da68da140e825p-1 +0x1.429f6834ec34bp-5 +-0x1.7077cc9441a48p-1 +0x1.814d36ac07302p-1 +0x1.1d1dbc833ad22p-1 +0x1.b4bc73f74859ap-1 +0x1.fdb265566f7bbp-1 +-0x1.e217b64982b81p-2 +0x1.7d0b6b6ad16bdp-5 +0x1.a7dc653255db1p-1 +0x1.3501846c6881fp-3 +-0x1.0e739a1cb6914p-1 +0x1.dcf0eca530e4p-1 +0x1.71154680533eap-1 +-0x1.a71018021042bp-3 +-0x1.3613199c0d3b5p-1 +-0x1.b1d92ec8199ap-4 +0x1.1a1680e0d48f8p-2 +0x1.fb5d100257bd6p-10 +0x1.801e5a27f68b9p-1 +-0x1.c0fb2f73df48fp-2 +-0x1.c4e0a59ec8ebp-4 +-0x1.a688e18352387p-1 +0x1.b6c954e7491aap-1 +0x1.6db21943c5ea5p-1 +0x1.5860f23c4db45p-1 +-0x1.361ab3437a041p-3 +0x1.ed5bc38d3b8e3p-3 +-0x1.08eff43d8ee44p-2 +-0x1.409854b4af796p-1 +0x1.4ad435a929e1fp-4 +0x1.760fca29627f8p-2 +0x1.6165d2706a035p-1 +0x1.b1a2eb38ef6dep-1 +0x1.59aeb5208e1b3p-1 +0x1.3e0b667f5842ep-1 +-0x1.36aa071aeee3ap-4 +-0x1.7caf6d8ba4423p-3 +0x1.52874ff294ab8p-2 +0x1.708585ed461c7p-2 +0x1.b81519abfe448p-1 +0x1.960ca3aca2da9p-4 +0x1.9570944645b83p-1 +0x1.1d4dca9abb546p-1 +-0x1.5d5790632cd87p-1 +0x1.8d8712602a95bp-1 +0x1.1782407a9b254p-1 +0x1.d5753e3e8f083p-2 +0x1.a561d6e254c0ap-1 +-0x1.0929799d921e2p-5 +0x1.bc58ccf3d9c82p-2 +0x1.cf7dbd153242p-1 +-0x1.2bfa1f27e0b51p-1 +0x1.71d9c44bd06c3p-1 +-0x1.78931e76da172p-2 +-0x1.3bffaf540e3f7p-2 +0x1.136d33bdd8d5cp-2 +0x1.bd27aa0397bc9p-4 +-0x1.d97617c64ac54p-1 +0x1.f8279ff8d44e8p-1 +0x1.10a960acbb03ep-2 +0x1.058270b943164p-1 +0x1.27ca95f032cf8p-3 +-0x1.002a759a2c1e1p-1 +0x1.0fe87e39796d4p-1 +0x1.9757956c215b8p-1 +-0x1.bd8d2c8008f1fp-1 +-0x1.d754674b230f9p-1 +-0x1.0df93392ed5dbp-3 +0x1.cf78b8b43a304p-4 +-0x1.ac4cae5c8a0e1p-6 +0x1.b3389a7d7531ep-1 +0x1.3db3786b871ffp-2 +-0x1.93fbc2d3d6065p-2 +0x1.61b4044ca5525p-1 +-0x1.859fc80ce8dd2p-5 +0x1.99ce895446293p-2 +0x1.6aec3909bde3bp-2 +0x1.e9dd4a1211665p-1 +-0x1.b9dbeacbb4ad4p-1 +0x1.2c1cdcd2ea989p-4 +-0x1.5bfccde0a525p-4 +0x1.ad2c339b6833ap-1 +-0x1.2cc2168c7a187p-2 +-0x1.598eaaa5d6729p-4 +-0x1.9d42880d363dap-2 +-0x1.4f40c81ad56fap-1 +0x1.4d5147db880e4p-1 +0x1.bfddf2f5dd9c9p-2 +-0x1.343e0be99de54p-7 +-0x1.0461c2da75ca5p-1 +-0x1.c31b2ce23198ap-1 +0x1.51c0fa684649p-1 +-0x1.15a3f961b391ap-3 +0x1.67eb9adebcf6fp-2 +0x1.c5dd61a2272aep-2 +-0x1.0eee3a434ef08p-1 +0x1.ef12f8cc3b26fp-2 +0x1.8cf8ad702da21p-2 +-0x1.e0ecf5f96c90dp-2 +-0x1.95cf66af5f15dp-2 +-0x1.7b9b7272aa8c4p-2 +-0x1.4ec5527bb6b1p-2 +-0x1.489c9c3257ffbp-4 +-0x1.8605a7ea9f68ep-1 +0x1.0b9704fd80065p-3 +0x1.9fda0279608a6p-1 +0x1.1a3fd319de2d8p-1 +-0x1.4e094ad593c7ep-1 +0x1.ab276d926a2bdp-6 +0x1.bdbf97dc2183bp-1 +0x1.c487e4f0d9a5p-4 +-0x1.df6aac5448968p-1 +-0x1.ff6dff9e98f3bp-2 +-0x1.a6d1a236e9fe9p-3 +0x1.19c34861443ddp-1 +-0x1.38178bca9e3d1p-1 +-0x1.c0cc257c366a5p-1 +0x1.063f27e68cf88p-1 +0x1.c6aa871d1ca16p-1 +-0x1.32c87d251d18ep-2 +0x1.ffaddddffd222p-1 +-0x1.05ffa8595a494p-1 +-0x1.8a040ec30673ep-1 +0x1.3a9c500a0fd76p-1 +0x1.7ec5df88476ddp-1 +0x1.37444d56dfa27p-2 +0x1.22850f2f3ff3ap-1 +0x1.ce3f44cae826dp-1 +0x1.35badc4b94a55p-1 +-0x1.41c6e08eb1268p-1 +-0x1.6c41cc8ea8281p-1 +-0x1.7565fa3d9a79dp-4 +0x1.fd92ca712f54fp-2 +-0x1.37986b9e76a3cp-3 +0x1.d57e7be542dbcp-5 +0x1.991d55be4e526p-1 +0x1.c0f4d81e67683p-1 +-0x1.af78092a0a64cp-1 +-0x1.91f063cd15e4ap-3 +0x1.846351a6dd0cbp-1 +0x1.19f85a9224171p-2 +-0x1.a43a833f8a75cp-4 +-0x1.864d0783cde65p-3 +-0x1.93569e7bd99ecp-1 +0x1.0cb556f0e2e6p-1 +-0x1.7754bfaab4c5ep-1 +0x1.82de4a767021p-2 +0x1.8c543f7174207p-2 +0x1.ee36f04662ab3p-1 +0x1.1297b95aa2c1fp-1 +-0x1.47d746031436bp-2 +0x1.3aadbc8ef7e29p-1 +-0x1.bd927f299a5bp-1 +-0x1.b135183e076fp-3 +0x1.9ee1502eccb25p-4 +0x1.2b7cd87d8575fp-1 +-0x1.1941fd7777dc3p-1 +0x1.c80c676ba1bb6p-1 +0x1.b281c98df2671p-2 +-0x1.ef3af6c6c31b3p-1 +0x1.d979ea278f4bp-1 +0x1.25e01e4440cd7p-3 +0x1.fa0fc1692310ep-1 +0x1.0869ca83a0ac7p-4 +-0x1.d6aa5970ba8b8p-2 +-0x1.7b13e32ea485bp-1 +0x1.b66e3aa220ca7p-3 +-0x1.9327541d9796bp-2 +0x1.30f30c4cdabecp-5 +-0x1.2f304d380c7abp-4 +-0x1.4713a4b30b6c4p-2 +-0x1.f94357e8a02e3p-2 +-0x1.a4235360225a7p-1 +-0x1.bb27698ece002p-1 +-0x1.a0214f47a11b1p-1 +-0x1.6a97a2a03ba8fp-1 +-0x1.d17a3ebe29d94p-1 +0x1.2f362f19ff5ebp-1 +0x1.32a8ea7125589p-1 +-0x1.c9957373fafdep-2 +-0x1.1757ef7fa3c96p-1 +-0x1.62cb58844a0abp-1 +-0x1.16410da05e864p-2 +0x1.17a89dddeb115p-1 +0x1.f5385e107aee5p-2 +-0x1.a2d1d2c2387d4p-1 +0x1.aac75465c6fdcp-1 +0x1.930bc47bb8188p-1 +0x1.12566c6d7fae2p-1 +-0x1.11f7a629494a4p-3 +0x1.affc0a40e4b03p-3 +0x1.f2be0a10bd434p-3 +0x1.4a4c52737001ap-1 +0x1.0b3c195c20e8bp-3 +-0x1.8c5f16b22855ep-1 +0x1.2690271da9e56p-2 +0x1.4fcd5f676c506p-1 +0x1.e0721ee1cf4d2p-2 +-0x1.e29a437562d99p-1 +-0x1.cb80f8f1873e2p-2 +0x1.2c92a9fd17667p-4 +-0x1.5e774a8943ae7p-2 +-0x1.b0789f1a65acap-1 +0x1.5d71d2afc84b8p-1 +-0x1.f2c1319c2ef97p-1 +0x1.f78189ad92a99p-1 +-0x1.3860512005dcp-3 +0x1.cea1225096b12p-1 +0x1.c33f8b1338b5dp-3 +-0x1.79e05f7832612p-1 +0x1.cc09cbd14a6a3p-3 +0x1.e0b9f9d321f3cp-4 +0x1.6fbea0aff0685p-2 +0x1.715cab373d909p-3 +0x1.a2bc9dcd1e467p-3 +-0x1.997e2c20a9b4p-3 +-0x1.7b7513154fd58p-3 +0x1.2718ebc53a28fp-1 +0x1.8065368a8c428p-1 +0x1.9579f6463b22bp-1 +0x1.3648ffafc92c3p-2 +0x1.a0c47a5fc93c6p-8 +-0x1.098030e3bdc44p-1 +0x1.84fb0df3d135ep-1 +0x1.944694c9d91aap-3 +-0x1.08e3527bdf7d8p-2 +-0x1.2c4f393cd4117p-1 +0x1.4904fb6cadfabp-1 +-0x1.d03ef14f9974dp-8 +-0x1.8e288e1a61ee3p-1 +0x1.c2aa6042cc4f2p-3 +0x1.ff0a0b216808dp-1 +-0x1.ddb1ebaddda37p-2 +-0x1.f82692afa89ebp-3 +0x1.9197f0d053534p-1 +0x1.f12d869443df1p-1 +0x1.bc2f090259a63p-3 +-0x1.725fc7b07202dp-1 +0x1.6377407d53bc4p-2 +0x1.9da177186889ep-2 +-0x1.74fb4afaa9d53p-2 +0x1.ac5c33b15f2f5p-3 +-0x1.995882a16d9e8p-1 +-0x1.7448d52d5a8c1p-1 +-0x1.633504a015bbbp-2 +0x1.c9f1cc0441dbcp-4 +0x1.28782cc397ffap-1 +0x1.9fa8f29748837p-2 +-0x1.2bf5c3273459cp-1 +-0x1.0b75a703206b5p-4 +0x1.6725ab67e4eccp-3 +0x1.77981e69716c6p-3 +-0x1.f701b74210786p-3 +-0x1.bca62ceedc24cp-2 +0x1.8ec04b88e9299p-1 +0x1.bbf63740f394ap-1 +-0x1.a3fa37a2e2b1p-2 +-0x1.1af036b14ba26p-2 +0x1.22f5cd1fca077p-1 +0x1.d770c85e8f6e9p-3 +-0x1.42a6adcfb4b0fp-6 +-0x1.27cb5126ebb8p-7 +-0x1.f49ffa4217a6fp-2 +-0x1.0d3d3f0b52229p-1 +0x1.5b1d55529c492p-3 +-0x1.dd3e929b61fc4p-5 +0x1.d5d6b1b257addp-6 +-0x1.bd0e3a05c7368p-1 +0x1.a6ffb58cb5985p-6 +0x1.e6a5d11bab93fp-8 +-0x1.69a5af5d507a9p-4 +0x1.1757b437ff188p-2 +0x1.6b8edf583259ap-3 +-0x1.0809daeebad5cp-1 +0x1.1981bb5c459ddp-2 +0x1.ae3274518c3f1p-1 +-0x1.acc7c26f9439ep-1 +-0x1.8ed5eae8fc502p-1 +-0x1.9a2218c92353bp-1 +0x1.a060e95bce3d5p-2 +-0x1.3a59a40c2908ap-3 +-0x1.697f9db42a65bp-2 +-0x1.0d641a16a5775p-2 +-0x1.85cba1f04a7e7p-2 +-0x1.d786b2a3eb564p-2 +0x1.d47af0a008b86p-1 +0x1.12b882be237a6p-1 +-0x1.ee07e3a21fde7p-6 +0x1.c0f58777181f4p-2 +-0x1.7a9e3b6970f85p-1 +0x1.dd7e575a9d08ap-2 +0x1.f828d7a3d7bf5p-5 +-0x1.53bf26bf39cf9p-1 +-0x1.268cbac90ee5ep-2 +-0x1.53064ee7f801dp-1 +0x1.4ce7868e88fb3p-3 +-0x1.815ecd04a992p-4 +-0x1.f902455eb6758p-1 +0x1.802ce535a4c7ap-2 +0x1.8bb20a6ca6af9p-2 +-0x1.946c7f8f7a61ap-1 +0x1.4f8e10a8337a8p-3 +0x1.6732539f8ac94p-2 +-0x1.98da12057e07cp-2 +-0x1.83eef65f60d0fp-3 +-0x1.5be26e4af96a7p-1 +0x1.5e6c49c167deap-6 +0x1.6486d45e0d9cfp-1 +-0x1.79675e3b63614p-6 +-0x1.f90ed38c8dfcfp-1 +0x1.1dbb45313c71ep-3 +0x1.50ccd4300d861p-1 +-0x1.7c796be9a971p-3 +0x1.2f5dbcf57f00ep-1 +-0x1.10218e57c676bp-1 +-0x1.86e44c8435dcdp-2 +0x1.58fe4a325accfp-1 +0x1.0d92d84a8c417p-1 +-0x1.1f6c54d65f837p-1 +-0x1.b5c6edc9a4bd3p-2 +0x1.81b8ac69a4f7ap-3 +0x1.94b35db8418bfp-4 +0x1.1b785b9ae6c65p-2 +0x1.99ab902d747c7p-2 +-0x1.dd3e7ccde95fdp-1 +0x1.00c3274ec2061p-1 +-0x1.06b80839acdc7p-3 +0x1.0081ce3c861a3p-1 +0x1.0a5854c849154p-2 +0x1.7002df31e4271p-1 +-0x1.9ef987b128d32p-3 +0x1.f040f23280888p-1 +-0x1.dce42446fa208p-1 +-0x1.2b698b53d3ed1p-1 +-0x1.604c22ae85ba8p-1 +-0x1.9ead7fd515e8dp-3 +-0x1.7f25d213409b4p-1 +-0x1.3ecb54cf217f1p-2 +-0x1.42bd8c75ca1a1p-1 +-0x1.b58710cc55024p-2 +-0x1.0bcbe03f9178bp-1 +0x1.ad2f3bf77e92ap-1 +-0x1.c4a3496909752p-1 +0x1.f1b6a315666ecp-1 +-0x1.ccb270059777ep-1 +0x1.be840d57a7d3dp-2 +0x1.abfd0ae117d33p-1 +0x1.73307b0afc1cp-4 +0x1.ed77212a1bbfdp-1 +0x1.cc4adc85133a8p-1 +-0x1.d46c12433e3bcp-3 +0x1.b84221fddc0b9p-1 +-0x1.14347e5a53e76p-1 +0x1.94eaaa70f4ddfp-1 +0x1.45921dfac538ep-1 +0x1.af247c811412fp-5 +0x1.468842c0a7ec9p-1 +0x1.4bfdcd3107724p-2 +0x1.dc22ae55517cep-2 +0x1.3ec043d4c77b1p-1 +-0x1.38e88f94af01ep-3 +0x1.7f31352b6571p-4 +-0x1.d8e5cf250ba5dp-1 +0x1.ba7a57d6e6144p-3 +-0x1.0c70aabc69e89p-2 +-0x1.ec3c46a39a274p-1 +-0x1.f6ca0bd88e38fp-3 +-0x1.45c57fd1010d9p-3 +-0x1.c3de1d196e1b6p-5 +0x1.e727d990df347p-2 +0x1.abe66fcda83c4p-2 +0x1.6d54710478a63p-1 +0x1.9842aa62b4e19p-2 +-0x1.fc30311fefdaep-1 +-0x1.986eb01cd9683p-1 +0x1.153a17f3deff6p-1 +-0x1.8b71affd301adp-2 +0x1.e5599a8b8cd1ep-4 +-0x1.ea8cb0cedba39p-1 +0x1.f39e28961b26fp-1 +-0x1.15c3131754788p-6 +-0x1.c518dcf18236bp-1 +-0x1.73992aff0a5d1p-3 +-0x1.1f0d5f073e032p-2 +-0x1.3bfd7a839ba64p-3 +0x1.6e04148170658p-2 +0x1.b2bde0872ee3ep-1 +0x1.5c3469ab6a2c8p-6 +0x1.abee20dd08c78p-2 +-0x1.01d77ee7be2edp-1 +0x1.48755de7cd6f1p-1 +-0x1.9a52b339c19cfp-2 +0x1.fdafb2ce6f503p-1 +-0x1.3d9a4e10ced1fp-3 +-0x1.6755aa83fd126p-1 +-0x1.f8795032529aap-1 +0x1.ed03d324a113ep-3 +0x1.a353a72d4549bp-1 +-0x1.6dc442bb8d8b8p-2 +-0x1.cfbacda1bf4eap-3 +-0x1.8ccbba2b44e2bp-1 +0x1.7a186fbd1e357p-1 +0x1.da45a3b11c52bp-2 +0x1.7875e9b03e508p-1 +-0x1.383464a69474cp-2 +-0x1.0fb0489686577p-1 +-0x1.20affbc5d49b2p-1 +0x1.948236048ddb1p-1 +-0x1.5298e40efd77ap-4 +0x1.61acf74e469c4p-7 +0x1.72168e15129acp-2 +-0x1.fad951936d185p-2 +-0x1.d3401a99664afp-2 +0x1.1d3854a4dd63cp-1 +-0x1.bfc83ba0d3005p-3 +-0x1.3c511e40dab1cp-2 +0x1.da9aad045d77fp-2 +0x1.04347d3cc06adp-2 +0x1.494daff822574p-1 +0x1.e802695f1d30ep-1 +0x1.af76a1c52b28cp-3 +-0x1.9c0b5679318b7p-1 +-0x1.16cd889ab0c83p-1 +-0x1.3ac82571ecf4cp-1 +0x1.68323ff37cddep-2 +-0x1.9671335bacbf8p-2 +-0x1.ab725fd9451e6p-3 +-0x1.eca38a0590deap-4 +0x1.aba0c4d6681b1p-2 +0x1.0819cbd663ef5p-1 +-0x1.a5ea36b58086fp-1 +0x1.ecbf212febd3fp-1 +0x1.7380074607c0ap-4 +-0x1.9000bfef0398ap-2 +-0x1.478cbedd2f581p-1 +0x1.8966a75eeb4f6p-4 +0x1.8b66c88f70115p-1 +-0x1.440ac7df7534ap-1 +0x1.7c27eb3b8aa8dp-3 +-0x1.bf9b0d31fd77p-1 +0x1.657f4c07274eap-3 +0x1.c9b359e465457p-1 +0x1.a7c2ef6c1b216p-2 +-0x1.fca2d9f91ccap-7 +-0x1.80889d10f00c5p-4 +-0x1.692e50e627293p-4 +-0x1.87bd20aebe54ap-2 +-0x1.f459228934486p-2 +0x1.472382401a8f2p-1 +-0x1.3486642f00127p-2 +-0x1.8ca43405e2f53p-4 +0x1.27d6404eb2592p-1 +0x1.3167e123afdcep-9 +0x1.07b746cd12982p-1 +-0x1.2f7bf058a7195p-1 +0x1.f9f935fca78dfp-1 +0x1.ba524f226d8d5p-3 +0x1.0f32a7327a5f1p-1 +-0x1.4f203928b0bb4p-4 +-0x1.0ffdf80d90d07p-1 +-0x1.c65760470e8d6p-1 +-0x1.b2896d2a008dap-5 +0x1.574f6ae904203p-3 +-0x1.ce69199533b98p-4 +0x1.6278ff4a4752cp-1 +-0x1.30c4bd14b4924p-1 +-0x1.62648bf0bdc43p-2 +-0x1.1ac083c7f7b77p-3 +-0x1.bb56e2ec80623p-1 +0x1.ad3f74f660f3bp-3 +0x1.442a2410a734cp-1 +0x1.93fc4b6fcb397p-3 +-0x1.b963da759ef3ep-2 +-0x1.f13afb141844bp-2 +-0x1.0b4ad8e4aa729p-1 +-0x1.57e198befd26cp-3 +-0x1.0cfed51a5447p-5 +-0x1.4de6ec08a741ep-1 +0x1.51a0623691ca1p-1 +0x1.150623e621affp-3 +-0x1.e4d8afb8d5886p-1 +-0x1.5e75b6f76de37p-1 +0x1.7cc65731e3109p-1 +-0x1.47986af22f7e1p-1 +-0x1.ee6a09a960f7ap-2 +0x1.ae4e20db47b7bp-1 +-0x1.7ee782b20db47p-2 +-0x1.6eef80fc11dccp-1 +0x1.0f2c7c40bccb6p-1 +-0x1.0c604bf09f425p-2 +-0x1.d0cb2adb3e9a5p-4 +0x1.c6d45190f87cdp-1 +-0x1.213f621d457ccp-1 +-0x1.16bd00d48ddb6p-1 +-0x1.24e6e38986cap-2 +0x1.17855c5ffed5p-3 +-0x1.aca3ba588f3e2p-1 +-0x1.3a2dadf01ecd3p-1 +-0x1.4b8214e9db47ep-2 +-0x1.411949c78fdcep-1 +0x1.a37e5c826c84cp-2 +-0x1.93d3c81e27227p-2 +0x1.636292e9e6c7dp-1 +-0x1.554623015d74dp-1 +-0x1.0f8ceaafa745ap-1 +-0x1.aceccc0783c4cp-2 +0x1.7df32b260eecp-6 +-0x1.255a1aa91ef91p-1 +-0x1.a2bbbe7dac89cp-2 +-0x1.56d82280ca20ap-1 +-0x1.0dbeb9ef97955p-1 +-0x1.b94eb5428765bp-1 +-0x1.a9bf86e4ac70dp-3 +-0x1.0855827c83f4cp-2 +0x1.022d027737673p-3 +0x1.f018e571dd12ap-2 +0x1.a8bb437fc66aap-4 +-0x1.8e9e7d9406ba2p-2 +-0x1.664c29b1db939p-5 +-0x1.b5e40f88452abp-1 +-0x1.68c7d14330b2ap-3 +0x1.7ffc77ca165dcp-4 +0x1.137d2c346f084p-11 +0x1.6540a44493836p-4 +0x1.74d16190b2d1dp-3 +0x1.098f5594b51e2p-1 +0x1.a59a8190cce0bp-2 +0x1.2921251358e01p-1 +0x1.4331942342e8ep-3 +-0x1.9119112705f0ep-4 +-0x1.c19fa70ce104ap-4 +0x1.282c0d8843656p-1 +0x1.2e83ef4ac8dd2p-7 +-0x1.e1a4876dd3166p-4 +-0x1.95bdb29008dc8p-3 +0x1.dfd2e018c50eep-2 +0x1.ec2147bffae36p-1 +0x1.3a15047787fa1p-1 +-0x1.5b8e2cf6a6cdcp-1 +-0x1.bdcd2fbd20f8dp-1 +-0x1.079a10dce17eep-1 +0x1.5007a75c698e1p-1 +0x1.a0908aa30e4b1p-1 +-0x1.19e1718e6114cp-1 +0x1.a9bfcf61ab5aap-3 +0x1.7ffbcf941d617p-1 +-0x1.60433564bde97p-2 +0x1.1c31cc5deb6ebp-3 +0x1.0ac26b5b6b26ap-3 +0x1.6ae5f2e1e0169p-1 +0x1.121bef1e9c846p-1 +0x1.9158f6de9e39bp-2 +0x1.9374bf288ae5cp-1 +-0x1.8b177a2c186fbp-8 +0x1.cfe3e01671c6p-1 +0x1.f9f83415242ddp-4 +0x1.9757166028a0bp-2 +0x1.54625bf0bc424p-3 +-0x1.d84021a53664cp-1 +-0x1.61a5dc39b927ap-2 +0x1.8a6d09a954988p-1 +0x1.79d6d1cf413e3p-2 +-0x1.b5d0f4e5854c2p-3 +-0x1.6c1508a245409p-3 +-0x1.cee6ebe8cfb3dp-2 +0x1.26dd9f8c943ddp-1 +-0x1.80891a4291f81p-1 +0x1.b383e5d3bf694p-1 +0x1.5da5ec4458468p-1 +-0x1.ae05752dce3bep-1 +0x1.4f48d390d74f4p-1 +-0x1.880168a9d8bf5p-3 +-0x1.608e46d526407p-1 +0x1.1a00356a73c2fp-1 +-0x1.d6b7b9378a573p-2 +0x1.9050bc3639134p-2 +0x1.b6e1f8f39ab6ep-3 +-0x1.3fd6b936ca715p-2 +0x1.a2e96cc6c8febp-3 +0x1.1895dd39e7ec8p-2 +0x1.b3f4da279db55p-3 +-0x1.cd855b8fe86fdp-2 +0x1.ccea5a54d87efp-2 +0x1.558402d1b1d97p-1 +-0x1.2369a864ccf9dp-2 +-0x1.d10b2f726dbdap-1 +0x1.1ecb4a504032cp-5 +0x1.80854384fd533p-1 +0x1.2a89ddee85669p-2 +-0x1.4125a5cbf1a1p-4 +0x1.271f9882c450bp-5 +-0x1.7e754ffee3f88p-9 +-0x1.0d9c23d4f6af1p-1 +0x1.2509eb20bfd81p-3 +0x1.7a11f69b6a7d4p-1 +-0x1.ce345c782f5b6p-6 +0x1.543b1a19d4357p-1 +-0x1.0dabcc426576fp-1 +-0x1.807585bcde922p-2 +0x1.d015436e1f1abp-2 +-0x1.23630c4a57b68p-3 +0x1.f8baf1c0ea3dep-4 +0x1.2c45a3635366ap-2 +-0x1.e7a83ce77ed2dp-2 +0x1.1b546e77d849ep-2 +0x1.64958e232d848p-2 +-0x1.17889f2dd3092p-3 +-0x1.7c7736249e11ep-1 +-0x1.86a542ec152ccp-1 +-0x1.699836692af2ep-1 +-0x1.370579624a655p-1 +-0x1.abe9296a5210fp-3 +0x1.94d0b6d33cf65p-1 +0x1.d7d5af97552c8p-2 +-0x1.b42382bf7521cp-2 +-0x1.60be748cc1763p-1 +0x1.035ceb7539913p-1 +0x1.7f99fcedf4bb1p-2 +-0x1.995295f414597p-3 +0x1.5ff6692a79d7cp-2 +-0x1.d4180122b91cap-1 +-0x1.aec89be2e9096p-1 +0x1.3cda114e2349fp-1 +0x1.8f57beafe5f09p-1 +0x1.0cf5b0f2a2138p-2 +0x1.c8875e0830ebcp-2 +0x1.ab8b9500ece11p-1 +0x1.1f3b7c468aaa2p-3 +-0x1.541dc9652df83p-2 +-0x1.9ef1e1252722bp-1 +-0x1.f1bdb2a9535d4p-7 +0x1.7df5acaa32cddp-1 +0x1.6eb4e78ecc57cp-3 +0x1.efb1a3c921182p-1 +-0x1.72bc14f4003cdp-1 +-0x1.ba82f56bf29eep-2 +-0x1.ea55d72bbb566p-3 +0x1.2921186ff6363p-1 +0x1.5e311cd145f0bp-1 +-0x1.9bf96669701b8p-4 +0x1.cd24b3b1ef227p-2 +0x1.88f71a896832fp-2 +-0x1.0e428a379b193p-4 +-0x1.9a536e9c8e83ap-2 +-0x1.f8c907f8f58dap-1 +0x1.40c9a200f618p-6 +0x1.e18d80ae0ed9cp-1 +0x1.108fb9613203ep-1 +-0x1.4fcec1dc7716ep-6 +-0x1.080d994d95b7fp-1 +0x1.fc551bebe4738p-1 +0x1.9bb61c8a9f0ebp-4 +-0x1.4168bf2694eaep-2 +0x1.c799e88ae2ec6p-1 +-0x1.0c4a5ab926c2p-2 +0x1.ebf3cba24943ep-1 +-0x1.be1b555a6abb3p-1 +-0x1.88a11a5b91b63p-1 +-0x1.8ecffbb6046bp-1 +0x1.c55182371899cp-2 +0x1.d3d14150490fep-3 +0x1.39252b348cb0ap-2 +0x1.654ff78b61a52p-2 +-0x1.750bd8259b8b5p-3 +-0x1.69df3ea0120aep-2 +0x1.bba0cfeff36c5p-1 +-0x1.28c5f1f986bc8p-2 +0x1.321f6a0b81c7cp-1 +-0x1.eb40419561accp-2 +0x1.95913fd4025acp-1 +-0x1.f11da7515b7f9p-3 +0x1.cb7c723c6758ap-1 +0x1.63b18d445a38ap-2 +-0x1.9f6c01dad6e3bp-1 +-0x1.8ab8bb23a9723p-5 +0x1.7b590e7b6f08fp-4 +-0x1.5df52196c97b8p-1 +-0x1.68ff190f3a699p-9 +-0x1.540a2527a3721p-2 +-0x1.e70f7ac0dd117p-1 +-0x1.443a2175d89ddp-1 +-0x1.298bfd95b618cp-3 +-0x1.86b305e2145efp-3 +0x1.1e2ab2a20dec6p-1 +-0x1.23a5753b9b995p-1 +-0x1.24f1448e6220bp-1 +-0x1.4b31f7fd15c83p-3 +0x1.16c554c0c7c7bp-1 +0x1.0d1d3d81a6956p-3 +-0x1.d95ce95177636p-4 +0x1.b35c3401e16b8p-1 +0x1.d53301c5ecc3p-1 +-0x1.bd7b10a5de2c4p-2 +0x1.7aacde04175ccp-4 +-0x1.4d08cb9de8ce3p-3 +0x1.1bf0fb4447a74p-2 +0x1.dfb86134722fp-1 +0x1.b15fcc6fe94p-2 +-0x1.0acc9bdcf0caep-2 +-0x1.3eabea96b0b8cp-1 +0x1.29a66abac59cbp-4 +-0x1.389b1e111241ap-6 +0x1.a4ee6a1521bb5p-3 +0x1.77f64713df0a4p-3 +0x1.baf354be79b6ap-1 +0x1.8bd0c285b316cp-5 +0x1.0381b0f4d007bp-1 +0x1.371fdccff429ap-1 +0x1.1e4186576b5c9p-5 +0x1.3612e926cd538p-1 +0x1.4122c616c3d2fp-1 +-0x1.b1def10e5c117p-1 +-0x1.d3b6c84872eb7p-3 +-0x1.b8dcb700f34fap-1 +-0x1.f1d34678088fbp-1 +0x1.bb5df44df4c5ep-2 +-0x1.87d1b19d5a614p-3 +-0x1.6b1c1cfb6cefep-1 +-0x1.835d9005963f9p-2 +0x1.a110724ef7df1p-1 +-0x1.0fdc2f5a6fb78p-3 +-0x1.b23939aa670ccp-6 +0x1.64c874c7ff99p-2 +0x1.49503ccbcc2bep-1 +0x1.d3a51c5a8e22bp-3 +-0x1.b9e8887e91e36p-1 +-0x1.1ff29111d91ecp-1 +0x1.a38aedddb3d5ep-5 +0x1.43a670f17ebcbp-2 +0x1.010fb0b7c700ap-1 +0x1.92a2c6af53c28p-3 +-0x1.2ee1ffbbee042p-3 +-0x1.181a87f87dc57p-2 +-0x1.80ed37d6ffe4p-2 +-0x1.a2625f8f1fb84p-1 +0x1.102470181ab84p-3 +0x1.312399130f17p-2 +-0x1.9a988ba091854p-1 +0x1.2a95ded25c83fp-2 +0x1.0a60159cf5cc1p-1 +0x1.dba780a36ec17p-3 +-0x1.499e9e756fed2p-3 +-0x1.a5bf1e1b1fd6bp-1 +-0x1.e737e1881484bp-2 +-0x1.4d185228bfb82p-5 +0x1.b4a3f08b24e7fp-5 +0x1.baa423457a5cap-1 +0x1.50b7dcf9975bap-2 +0x1.a0ae4e50204b9p-1 +0x1.03c44f5b094cdp-1 +-0x1.6a1a446399e02p-3 +-0x1.aa74850b23e53p-3 +0x1.4b4bee93e037cp-1 +-0x1.d24a0b9652cddp-1 +0x1.94e16cde09b57p-2 +0x1.c0a628e80493cp-1 +0x1.5012206994989p-3 +-0x1.f7107a00c61edp-4 +-0x1.70312dc81fc8bp-1 +0x1.a2b6ac7d2f5bep-3 +0x1.7932e6cf908c2p-1 +-0x1.338cff9a99878p-3 +0x1.902b6e1848763p-5 +-0x1.599ebe319c4p-1 +-0x1.e81a96b222088p-3 +0x1.35b765795bd88p-2 +0x1.0bfdf9e1ae617p-1 +-0x1.48bb9a343d453p-2 +-0x1.9d1a8fde2c575p-1 +0x1.4ef9a3b2749bap-4 +0x1.8fe10203411d2p-2 +0x1.b8d37e8772d2dp-2 +0x1.2498c7f6acfc9p-1 +0x1.383d52d0a077fp-1 +-0x1.9653c535d523fp-1 +0x1.f9562233ede6p-1 +0x1.e2e2d553dd48ap-2 +-0x1.b28b23846e307p-2 +-0x1.52914c62cc83bp-2 +-0x1.7ce9c25bfa33ap-1 +-0x1.263a37dbc8666p-1 +-0x1.b7340b07c647p-2 +-0x1.adc26b01e6ca7p-2 +-0x1.9cfa8153cb373p-2 +0x1.699ead43d545p-1 +0x1.7b4b302fd158cp-6 +-0x1.b59d0ef3da9cap-3 +-0x1.5eb8eb5e912bcp-2 +-0x1.cec0f84a930e9p-1 +0x1.572db1d83f818p-1 +0x1.6ad772581cc7fp-4 +-0x1.49ca7a5df6f72p-1 +0x1.1b2b61acfa0bbp-4 +0x1.36d5edb8d6561p-2 +0x1.ba65475867d4ep-1 +-0x1.2ab6564fc9d42p-1 +-0x1.72fe00bee0654p-1 +-0x1.bde63c4aa8ab7p-5 +0x1.490045cb71583p-1 +0x1.3f4e939281b6dp-2 +-0x1.087772e560dc3p-1 +0x1.68a22cb7794e9p-4 +-0x1.2647a7cf1b435p-1 +0x1.0e5d175120654p-1 +-0x1.2de1214d22ae2p-1 +-0x1.91b2e59283778p-1 +0x1.4fee783d2fa6bp-2 +-0x1.8c8514fa89229p-5 +-0x1.09e92b3431089p-3 +0x1.cb404292fdf66p-4 +0x1.9726dde5cb13ap-3 +0x1.8c68e460554cbp-1 +0x1.3a6c8da250a28p-1 +-0x1.eb80130ac35e3p-3 +-0x1.704e460c952b9p-4 +0x1.385b92525ebafp-1 +-0x1.4792eb2392716p-1 +0x1.c73c8a8632e66p-1 +-0x1.ca2cb7387081dp-1 +0x1.99bca77168e25p-1 +0x1.4607971658ffcp-2 +0x1.f1babe9ca6f94p-1 +0x1.f523f87bf049cp-2 +-0x1.b932d6ae2451bp-2 +0x1.9d14a92d16a6cp-1 +-0x1.0cdf9f5c52108p-6 +-0x1.f031808e2c094p-3 +0x1.1648fddf3bcdep-1 +-0x1.c87dca08e343bp-3 +0x1.8f196401e1c8ep-3 +-0x1.c96f95910c946p-5 +0x1.b4f6a27780f1p-3 +-0x1.2ad0e45ed3d5ap-2 +0x1.e42a9e9994386p-2 +-0x1.06403d81e1c61p-3 +-0x1.837efabc8e889p-1 +0x1.2984ef2e85996p-4 +-0x1.c66f3f33074a6p-1 +-0x1.778abdb63bb8ep-1 +-0x1.a4c7bb0aba9c8p-2 +0x1.2f2cb187585f8p-3 +0x1.bd18482092674p-4 +0x1.e20ab37575bep-1 +-0x1.f7f61135c529ap-3 +-0x1.c2764627a5243p-2 +0x1.d14ba0b1c89b6p-4 +-0x1.0987f73f2d758p-1 +-0x1.19f55d737b984p-1 +-0x1.75c0e390e28ccp-2 +-0x1.b1c836088072cp-1 +0x1.e988d2429d686p-1 +0x1.7b67d7802211p-1 +0x1.21f2a81c1e373p-1 +0x1.b96e795cd841dp-4 +0x1.ad9c940b7d60fp-1 +0x1.5652e0bf3b0a4p-3 +-0x1.6429861815c2cp-1 +0x1.fb3c1c35bfef5p-1 +-0x1.f525eb25f85f8p-1 +-0x1.6e9a76ca22defp-1 +-0x1.71836e53d2be3p-5 +0x1.e461bb25087c5p-3 +0x1.88ba44669d52bp-1 +-0x1.179be71b1f6bbp-5 +-0x1.0ed4ccc100643p-2 +0x1.33bc219c236c2p-1 +0x1.29bd2aa79734dp-1 +-0x1.fdab5258cfc83p-1 +-0x1.59a6e383c075bp-2 +-0x1.da4e4a7bdb7e1p-1 +-0x1.f2da575a31693p-1 +0x1.fb6d49feb319dp-3 +0x1.b745f3d6cd9cbp-1 +0x1.ef6f4edd9d46ap-2 +-0x1.23e1553a365dp-7 +0x1.7a4d5df7e63ddp-1 +0x1.e7c0b39999dcdp-1 +0x1.477914c8d2ec2p-3 +0x1.ca8a92d73d0abp-1 +-0x1.10599bc1cc44bp-2 +-0x1.19b6e36b34273p-1 +-0x1.3f8ed5871abe1p-1 +0x1.e8bee4114b5dep-2 +0x1.6d466a82bc48p-1 +0x1.92188084246bep-1 +0x1.ec515332bcc11p-1 +-0x1.e8df5b8b9c5a1p-2 +-0x1.68825f92ab4f4p-1 +0x1.7e6c4f3e738c2p-4 +-0x1.40a5912c3a68p-1 +-0x1.248f5bf0c8ddfp-3 +-0x1.02653f82857d3p-1 +-0x1.a2367586fba89p-1 +0x1.646a502cf0d7ap-1 +-0x1.d81a4f2ad78d9p-5 +-0x1.a56694be35b93p-3 +-0x1.331a8a5cd43ap-2 +0x1.a5b3c94353c34p-2 +0x1.66f044f79f7c7p-2 +0x1.23e1190f7c3b5p-2 +0x1.cfcd9120c960bp-2 +-0x1.7ebb100db599ep-1 +-0x1.cea03acdfd65fp-4 +0x1.acbdeac214243p-1 +0x1.8803ef06c95c8p-1 +-0x1.3f809ad0f15c2p-1 +-0x1.4812727844bddp-5 +0x1.223c3095c1dd7p-1 +0x1.c4d30c88a73fbp-1 +-0x1.42a26cafc00eap-2 +-0x1.3eac08bbda515p-1 +-0x1.a5d925c2ef50dp-3 +-0x1.b1d15c541370dp-1 +-0x1.c79b0e887e633p-1 +0x1.f167f95578ef2p-2 +0x1.7aacde55a2ef8p-2 +-0x1.3a97b601bf0dp-1 +0x1.aec646d679083p-3 +-0x1.edd2fa06f3687p-1 +0x1.89da3c8843f1ap-4 +-0x1.22f61628633d6p-2 +-0x1.500a41c0144bfp-1 +0x1.b79c03556fc03p-2 +-0x1.090f9a170a217p-1 +0x1.424677fc337dap-2 +-0x1.a4b4d63f97032p-3 +0x1.421ead9bcd086p-1 +-0x1.08ed3a1b5cf22p-2 +-0x1.1bd239c2ae23cp-1 +0x1.7cedb2be72e6bp-4 +-0x1.1f95fe163c5a9p-1 +0x1.4610a360f2e7ep-1 +-0x1.249fdd7b444fbp-3 +-0x1.4516dafcb2d03p-5 +-0x1.b54fb6c5901bfp-1 +0x1.da0c9afd8dcdep-1 +0x1.db0ec861909c3p-1 +-0x1.c782e3b01e6bap-2 +0x1.85af5358632bp-2 +-0x1.aade6aeac866bp-3 +-0x1.547b9110f4378p-4 +-0x1.8a25efa8e3703p-5 +0x1.6fcb83d4320d3p-1 +0x1.2daf518013bcp-3 +0x1.0794e83715e8cp-2 +0x1.9ff3ff2fe1fe6p-1 +-0x1.fc24758f79e6bp-2 +-0x1.210c7ac811f88p-1 +0x1.f22ea99b44ce5p-1 +-0x1.a25f9a3f5c385p-1 +0x1.c656d93951756p-1 +0x1.d412fce258a86p-4 +0x1.c899ce6b08a2cp-2 +0x1.852dc6c7efd16p-5 +-0x1.fada82a2f4b7fp-1 +0x1.7fe5295f1a5dbp-1 +0x1.a31d0f8f558bcp-2 +-0x1.d8f9e9667bee5p-2 +0x1.a38b92c0825c9p-2 +-0x1.a000bf504e6c1p-3 +0x1.9bfe2dad05023p-1 +0x1.b7077efb45019p-3 +-0x1.a00d2f7e637acp-2 +0x1.a988d7b1161ffp-2 +0x1.7cf18834378c7p-1 +0x1.7305bab7c22ffp-1 +0x1.e2e037d144f8ap-2 +0x1.b5b562e720d6dp-4 +-0x1.52e3f979e0fb9p-1 +0x1.f8518fde47e75p-1 +-0x1.7fab4fb0279a8p-1 +0x1.5dfaeb77fc14cp-3 +0x1.6c5da688f2e5cp-1 +-0x1.5bbd4aebc5846p-1 +-0x1.88bbec366374ap-3 +0x1.d16ee268fcc7bp-1 +-0x1.07130430ab2a4p-1 +-0x1.8be6b923f63c4p-1 +0x1.27cf39932fb1ap-1 +-0x1.08f87d13fb533p-1 +-0x1.c5d5a669eb082p-3 +-0x1.592717a22d4ep-1 +-0x1.6789d04262d19p-2 +0x1.a3b27c103d23p-8 +0x1.2cdc53cf144c9p-1 +-0x1.aa7de06d13b1p-3 +0x1.8062f03582d56p-1 +0x1.b64136d487dacp-3 +0x1.6f95488301b7fp-1 +-0x1.8300b31d47c43p-6 +-0x1.87e00889cbadp-5 +0x1.51fad77f100d8p-1 +-0x1.caa1a98b088d8p-7 +0x1.d5a40eb2005d4p-4 +-0x1.6ac5d1fa2efccp-3 +-0x1.9db40e6c88088p-1 +0x1.41aee853cb14dp-3 +0x1.f8ae18629051ep-3 +-0x1.d45c63f361dd7p-1 +0x1.541fea2230f7cp-1 +-0x1.9cd0d2296645dp-1 +0x1.2ae9e95ddf157p-5 +0x1.e584efe8b59cdp-3 +0x1.4c43bc5af28bap-1 +0x1.d71a7a836ea51p-2 +0x1.b29d25126e71cp-6 +-0x1.3c87f4d6f30c8p-3 +-0x1.fad37625c551p-5 +-0x1.2afbccc190dadp-1 +-0x1.c13422e476d79p-4 +0x1.80a34ae32ca83p-1 +-0x1.1b9319f8f460cp-1 +-0x1.e582a56766511p-1 +-0x1.d0214d17729bap-1 +-0x1.bf5116a4a9bb1p-1 +0x1.80cdb623d17d2p-2 +-0x1.bdd19da730feap-1 +0x1.c616ae662d6b5p-1 +-0x1.ff865a382dcfbp-1 +-0x1.b94ab44c00a18p-1 +0x1.b63c04e8f0854p-1 +-0x1.699607cc9cbdp-6 +0x1.9adb05e932ae7p-1 +-0x1.462730ef50725p-3 +-0x1.fb70f61b55bd6p-3 +-0x1.72e71d193b64ap-3 +-0x1.a9282b1c3a92ap-6 +0x1.8bfa74799fc89p-4 +-0x1.a0e0e1884ec97p-1 +-0x1.3d6d57dcb972cp-2 +0x1.89c75e39c0263p-2 +-0x1.241f1b7f58f79p-1 +-0x1.2bc5673f7cfccp-1 +0x1.e60e4c7160eb2p-1 +0x1.40105ca97007fp-3 +-0x1.2ef564af9616fp-1 +-0x1.07bf42236f25bp-2 +-0x1.049d3415692e2p-1 +-0x1.45f5522d13caep-2 +-0x1.1997c397e0e45p-4 +-0x1.8de3646adb742p-2 +-0x1.05bb605702e3ep-1 +-0x1.342b53aca73bep-1 +-0x1.89b84d1a50e19p-2 +-0x1.3f7bcefa48f28p-1 +0x1.1445c017ac5aap-6 +0x1.bda7899c88481p-1 +-0x1.854a97639dd82p-1 +0x1.5de8d1ffbb7f4p-1 +0x1.fb15328e09512p-3 +-0x1.c9dbdbab75f6cp-4 +-0x1.028ce79401086p-2 +0x1.8733ded13b63ap-1 +-0x1.245a56e256b22p-3 +0x1.06a560ecf6dbfp-5 +-0x1.0bf4a0068aafdp-1 +-0x1.b581e153f833bp-1 +-0x1.c2e7f4b0913e1p-2 +-0x1.276d42b4ab6b2p-1 +-0x1.061c5c75e2715p-4 +-0x1.32289f2b0607cp-2 +0x1.2a67e181659b6p-2 +-0x1.809258a5b0a06p-1 +-0x1.44c4e0453a59cp-2 +-0x1.4bdcc9b22cc99p-2 +0x1.faeaf43d605d4p-1 +0x1.53cd25d3a3ad5p-3 +0x1.aabe65dbd6bc4p-2 +-0x1.09a500dea9bddp-1 +-0x1.4463133207523p-3 +-0x1.e0af61321a7f2p-3 +-0x1.cc18188e176cap-2 +-0x1.3f3c5a44a5f4cp-1 +-0x1.eaede6b729abcp-5 +0x1.95010cf633536p-2 +0x1.61f82c5e03b22p-2 +0x1.53d1158b79fafp-1 +0x1.788303870786dp-1 +0x1.1881378f8a1c6p-2 +0x1.0c942521be93fp-1 +0x1.f8fd582fea04cp-1 +0x1.4a5cd671c7733p-4 +-0x1.36678832f0d9fp-3 +-0x1.37d8cc8c358e4p-1 +0x1.0b29b33a75431p-1 +-0x1.c96cf230d0a65p-1 +-0x1.01c425ca9e9dap-5 +0x1.d80d3b73ec2dbp-1 +-0x1.2c482f85b6fe9p-1 +-0x1.fb19c3062b2c9p-2 +0x1.9019532e8667ep-1 +0x1.91bb102207ffdp-2 +0x1.8f2fbd311ce1p-2 +-0x1.7b79da824a84fp-2 +-0x1.6b2689ceac726p-4 +0x1.af11260cce2dbp-2 +-0x1.c37a23a902833p-1 +0x1.8dc0093bae59p-1 +0x1.63d1c730d3e27p-1 +0x1.926eb312dc37cp-6 +0x1.235de7f7c1fd6p-1 +0x1.e42528fed0943p-2 +-0x1.572c381eca49ep-3 +0x1.0c63896149836p-3 +0x1.88a23be051993p-1 +0x1.71ac798bacfb3p-2 +0x1.acfa586ac6826p-3 +-0x1.8db6ebe7f7c4dp-3 +0x1.fa8b992374579p-4 +0x1.d12fef53f6d76p-1 +-0x1.b6ec8b28a55b9p-5 +-0x1.ba0901eeeb3ffp-1 +0x1.ddb47a9b1f0a6p-3 +0x1.73982d1c3a878p-1 +-0x1.6449613bee7aep-1 +-0x1.f50629a7ccea8p-6 +-0x1.52bfb5b0734d5p-2 +0x1.faf4ecb1ca745p-4 +0x1.a05c3770d3502p-2 +0x1.afc80b3b9d3fap-2 +-0x1.0c96d44fc9c92p-4 +-0x1.eb6171750179fp-1 +-0x1.4d7473af08898p-1 +0x1.97f4b7cd5b3f8p-2 +0x1.b431c827cf6eep-3 +-0x1.0eb48b837f07dp-2 +0x1.88649d0cee365p-2 +-0x1.fc0fd6dc01c7dp-2 +-0x1.0052d690fc256p-3 +-0x1.04dbde177abccp-1 +0x1.ece166aacd558p-5 +0x1.c9d729ffca191p-1 +0x1.df2ae1da50842p-2 +-0x1.12b503fdd48a6p-1 +-0x1.b4c8e97a7d2c8p-4 +-0x1.bbb53ef41bc54p-1 +0x1.e63fd06ab1044p-1 +0x1.ea8b02829fa68p-1 +-0x1.0d8c0c6d61ddp-1 +-0x1.4e124480e7a28p-2 +0x1.7f6a4e197766fp-2 +-0x1.37faae0f55578p-2 +0x1.b813863fa920bp-5 +-0x1.fcccf8c3e559cp-1 +0x1.d5fbd0dc8ad31p-2 +-0x1.6c946abf6ea6cp-1 +-0x1.1b352ba8af0bbp-1 +0x1.c11581b662f82p-2 +0x1.990019776616p-1 +0x1.0dc7c5e269a1dp-1 +0x1.8fddb332e738ep-1 +0x1.499c582da2381p-1 +-0x1.59c653d073515p-2 +0x1.5eab24e1d03bfp-1 +-0x1.b85a6ab8e17b3p-1 +-0x1.30a6daa38c351p-1 +-0x1.932a5503268b4p-3 +-0x1.dea320714bb8p-2 +0x1.ff3e96529748ep-5 +-0x1.4c617f5747532p-1 +-0x1.84e5a0ad07939p-1 +0x1.7abe060402b05p-2 +-0x1.c7ed9a40bb9cap-2 +0x1.19b9a88ddb3e5p-3 +0x1.ec5dcf79a942cp-1 +-0x1.719e667303d97p-1 +-0x1.9c222e047ccf5p-1 +0x1.ad9e514283006p-2 +-0x1.b91d5d5e6af16p-1 +0x1.2f1a9daf8dcd3p-1 +-0x1.fa2f55430a39fp-1 +-0x1.f21f10a38d97bp-1 +-0x1.95f9eba52e6d5p-1 +0x1.f29af78fe25afp-3 +0x1.6fb0ab96df582p-2 +-0x1.3c294e345294cp-1 +0x1.8c641d011c40bp-2 +-0x1.9ab2bb5b25bcbp-2 +-0x1.351b0eeda749p-5 +-0x1.91b3606ebc3efp-1 +0x1.6b0cfb04f8d54p-1 +0x1.387baa2fde50dp-5 +0x1.ab2eb21671a7fp-1 +-0x1.93eda96ded5a8p-1 +0x1.d085daf8b28b3p-2 +0x1.2d8229be0c4fp-2 +0x1.ac9ee37cd8368p-1 +-0x1.3c5d22b389487p-4 +-0x1.9448c4107de8cp-2 +0x1.b402d7eec5ba6p-1 +-0x1.b89d82d2203f3p-4 +-0x1.3bee35afcccdap-2 +-0x1.bb481b2005749p-4 +-0x1.a497f6bfe462cp-1 +0x1.8c0e631a8eefbp-1 +-0x1.c28ef46efc1c9p-1 +0x1.979655c0056c9p-3 +-0x1.ac4f7c4141c58p-1 +-0x1.0b9d2fb8a6a73p-1 +0x1.6dea1163641eap-2 +0x1.043b4c164286dp-1 +0x1.235683086ad17p-1 +-0x1.d35da13550a44p-3 +-0x1.755cb812af596p-1 +0x1.744130837703fp-2 +0x1.d833cd13992fap-1 +-0x1.95d77a8f762a2p-1 +0x1.fefb2ec6512b4p-2 +0x1.403c3377b2135p-1 +0x1.3dedbb7f474bep-1 +-0x1.6a9174b67702fp-1 +0x1.abcb4c0afc268p-8 +-0x1.fe3e1aae8c063p-1 +0x1.aed45e264883fp-3 +0x1.fca5b10ea86bap-2 +-0x1.5aec2b902ae63p-5 +-0x1.78b2a8628beep-1 +-0x1.2247965168f43p-3 +0x1.bdd2c28447e21p-1 +0x1.17da741a6da6bp-4 +0x1.120b4bc563793p-1 +0x1.4e1d52adae5c5p-1 +0x1.16e1effd7e79ap-2 +-0x1.01c2b65887fbap-2 +-0x1.c352eb3772fep-3 +0x1.35108e0bcfca5p-1 +-0x1.a04352625fbb8p-6 +0x1.d0d83103412dep-2 +-0x1.be71c357017d8p-1 +0x1.53b13ccc2542ap-1 +0x1.7d916a95bb413p-3 +-0x1.a281bc7d7a902p-3 +-0x1.04209635c875bp-1 +-0x1.449426743eb5ep-3 +0x1.bf3b79f08cd42p-2 +0x1.1d432ac8ac5f1p-2 +-0x1.e77d80b14fb27p-6 +-0x1.046d5df5c4e19p-1 +-0x1.d704d62ce5023p-1 +-0x1.23961777d4cddp-1 +-0x1.35ca83c7d5475p-2 +-0x1.be45caeae1874p-1 +-0x1.9839e60f05e7fp-3 +-0x1.0e269a688400ep-1 +0x1.055fce5be2f7cp-1 +-0x1.c41bb92d4f3c8p-3 +-0x1.85e71fe25220fp-2 +-0x1.76fa5bc203067p-2 +-0x1.0d2e12b95e198p-1 +0x1.38c6a93d859d5p-1 +-0x1.187b2bcc4e046p-2 +0x1.878a38a3616edp-2 +0x1.0967826603f1bp-1 +-0x1.3a3c82c1860ffp-1 +0x1.5f46ee74e5351p-2 +-0x1.8f991687d774bp-2 +0x1.4e239b39d8128p-2 +0x1.1db18b60194adp-1 +-0x1.47e9fab1fbe69p-3 +-0x1.d3de9ecf17cd6p-1 +0x1.9057d2ea15d44p-7 +0x1.426d9323e3cb9p-1 +0x1.6e8a0cf831d6p-1 +0x1.72474bb6e6f37p-6 +-0x1.2d2caaac8b76ap-1 +-0x1.ee3071e2b801p-1 +0x1.dee28ab3681f8p-2 +0x1.1b89fd873f03p-1 +-0x1.29a05169dbed5p-2 +-0x1.31163c95c0828p-2 +-0x1.d4be134fe235cp-1 +0x1.45e8470fd8a4ep-1 +-0x1.d264da345ccdbp-2 +-0x1.6c2b72ee8d29dp-2 +0x1.9872a5de2cca6p-2 +-0x1.51bd08b7f9495p-1 +0x1.514b00cbf0cf7p-1 +-0x1.e085fe73ea48ep-1 +0x1.53008f53549bfp-1 +-0x1.6934b0799c2b9p-1 +-0x1.e60096cdedb7p-1 +-0x1.7167d2f69b6e1p-1 +0x1.c3d12444ccabfp-7 +0x1.595b7ae1038d8p-1 +-0x1.4786d471d2415p-2 +0x1.60ab09a0a5c07p-3 +0x1.ab65469dd866bp-4 +-0x1.4ce38a48ac74ap-7 +0x1.4c4201f036083p-3 +0x1.edd0e6e4f454fp-1 +0x1.e82ea08cd9c54p-1 +-0x1.878eda2565c7p-6 +0x1.b8c5d04fecd91p-1 +-0x1.758052a6e63f3p-1 +0x1.6beddc9025b6ep-1 +-0x1.5d2019d1900eap-1 +-0x1.4106ea52a248cp-1 +-0x1.ed26c427a6bacp-1 +0x1.40b2acff3937bp-3 +0x1.1dc00aa8d2e12p-1 +-0x1.9a92799011d01p-1 +0x1.02bdcde50a92p-2 +0x1.23c3678149b2dp-1 +0x1.11b786df26d46p-1 +0x1.b864c86950f68p-3 +0x1.217d76f1ca7b6p-1 +0x1.d1bcb049ad128p-1 +0x1.2b141b4761a37p-3 +-0x1.62ef4fb141d9ep-2 +0x1.94ea8a1718ba4p-4 +0x1.0a74a81d8d6efp-2 +0x1.e0bdcafd21d07p-2 +-0x1.e80fbbed562e4p-2 +0x1.65ca5f662e258p-1 +0x1.0e00b52607abcp-2 +0x1.3f76022141aa5p-1 +-0x1.34ee60fc1232p-1 +-0x1.51a328eeefa73p-2 +0x1.97f7f27db3c11p-1 +0x1.b1adfd2e34a21p-1 +-0x1.5a6d864296aaep-1 +0x1.784ca8dd487f6p-1 +0x1.2d0945665f066p-2 +-0x1.594df56a6cfc4p-1 +0x1.0650bd92b1d25p-2 +0x1.a261722c795f2p-7 +0x1.a61d1fc80bb37p-3 +-0x1.afb4c89c89499p-4 +-0x1.159c2b70f92bdp-1 +0x1.d6bf199e2e279p-2 +0x1.5159ae3813851p-1 +-0x1.efc4f4ccf106ap-2 +-0x1.16670ca2fa326p-2 +0x1.20517cc0f555ap-2 +0x1.46cc935bcd6cdp-1 +0x1.ab47743c79f44p-5 +0x1.20e1a1801e982p-1 +-0x1.bc357217cf113p-1 +-0x1.c5e44797000bcp-2 +0x1.68bbd57521e47p-4 +0x1.16ba846c1599dp-1 +0x1.270e1dd5875cap-3 +-0x1.c4a8765caf6b4p-1 +-0x1.9b60e9cfc5925p-8 +0x1.ba1ce66a8d92ap-1 +0x1.2c2b5140420e4p-1 +-0x1.7e2b3a125b644p-2 +-0x1.ac19238c4d149p-3 +0x1.120eed9857a23p-2 +0x1.df96480c45f8p-3 +0x1.819cf5f42e6b6p-2 +-0x1.baf79a6ba005ap-2 +-0x1.3c652d117ddb2p-1 +-0x1.304961e6c082bp-1 +-0x1.6ee21bfb2f796p-2 +0x1.96f7edd19996ep-5 +0x1.aa7712dca393fp-1 +-0x1.779cfeed52431p-4 +0x1.a2b0025fc9e22p-1 +0x1.e15e9dc380461p-1 +0x1.c59179cbef3f3p-1 +-0x1.eab4708675f25p-1 +0x1.564d5a1bf176p-1 +-0x1.068dde50bfec5p-3 +0x1.11b2977df6197p-1 +0x1.c54947df5338p-3 +0x1.08008df908497p-3 +0x1.ccad7b6656d49p-4 +0x1.0d9a74aa17489p-2 +0x1.b121854f6e447p-3 +0x1.9a0be422d60a7p-1 +-0x1.58ffc7edf5a97p-4 +0x1.802e2907883d1p-2 +0x1.40d8d639fa998p-3 +-0x1.97040897f1d8ep-1 +-0x1.930bcfe8e37f9p-1 +-0x1.dc2a2fd4d417bp-3 +-0x1.a5109839a867ep-3 +-0x1.bca5e9b583fbcp-4 +-0x1.4c97f14bd3895p-3 +0x1.9ec0468e15b24p-2 +-0x1.bf8f7bc830b1bp-2 +0x1.f27b9d151dd0ap-2 +-0x1.26f5da58a105cp-2 +-0x1.bf469a1cfac47p-6 +0x1.9105e07e5365bp-1 +-0x1.1069e97f84c28p-1 +0x1.925da592a3feap-4 +-0x1.bf3118d58b9c2p-1 +-0x1.21704cba25979p-1 +-0x1.128c481f78577p-3 +0x1.df6d9d4fe9635p-2 +-0x1.1d8da2a4f4214p-1 +-0x1.898b68607c4b3p-1 +0x1.4f261b15a15bfp-1 +0x1.e516ae146ee2ap-5 +0x1.00755c8db875p-2 +-0x1.f4599013a50b6p-2 +0x1.2f7f5aa833b28p-2 +-0x1.ea5f191b8c16ep-1 +-0x1.d8ac8cb0dced8p-6 +-0x1.84a67c42a27fdp-1 +0x1.dcd747b8856a3p-1 +-0x1.32bc9f4f129e7p-4 +0x1.a9a2796292334p-4 +-0x1.9d5db794e6d32p-1 +0x1.e345807654ed1p-1 +0x1.e8d24ead76c7ap-6 +-0x1.63966a2386c2ap-2 +-0x1.79e9cbc31f78dp-2 +-0x1.650481d93daa9p-1 +0x1.6a2b6ef383b4ep-5 +0x1.206bb80e03038p-1 +-0x1.d6fe3419a08acp-2 +0x1.2bcbbbcf34da6p-1 +0x1.7eaad638a6deap-1 +-0x1.fb997e40e0cccp-1 +0x1.180e499eaf229p-4 +-0x1.7895abd150b61p-2 +0x1.c4b296298081cp-1 +0x1.de5a8c528d058p-1 +0x1.cee87fd226fdcp-2 +0x1.560695169afc6p-3 +-0x1.eae7c8d0694a4p-2 +0x1.ee5de5862f945p-1 +-0x1.69d7d6e4fe65ap-4 +-0x1.1ec2ca33417d5p-4 +-0x1.b7d8d4959d7b9p-2 +0x1.e2a8b23ad294dp-1 +0x1.576682c2b5923p-1 +-0x1.21dda576606d2p-3 +0x1.d396d8df887cbp-4 +-0x1.0d8291cce96a8p-2 +0x1.7ed8239e07d2dp-9 +-0x1.91626d7e29e18p-1 +0x1.76d8afb648166p-1 +0x1.e398839ed47f6p-1 +0x1.a135f5afec45p-1 +-0x1.3d069d81c874ep-1 +0x1.2c11c3e1b3744p-1 +0x1.7900ded1edff4p-1 +0x1.0ae9e210973c6p-4 +-0x1.13b89305557f1p-1 +-0x1.5cb68766ed717p-7 +0x1.91ec847d63b25p-2 +0x1.694dde0ad6bebp-6 +-0x1.398eef0eaede6p-1 +-0x1.8886ddccd5ec2p-1 +-0x1.eca37ae64b3c6p-6 +-0x1.5aab5c02b9cf5p-7 +-0x1.013773ce6f211p-1 +0x1.8bcb3f3aaa274p-1 +0x1.b6c0da9e6ac37p-2 +0x1.db71f0b468d43p-3 +0x1.f802eb1985ed5p-1 +-0x1.a89dd1cc92f9ap-1 +0x1.a65da10f74608p-3 +-0x1.cc22cc8e3e80cp-8 +0x1.fd110759087c3p-5 +0x1.7eb01ccb545d8p-2 +0x1.cb91d6161a51ep-3 +0x1.e7fa4b4e7fcc9p-1 +0x1.38e93ed129131p-3 +0x1.d0d9732d78fbbp-3 +-0x1.c6686610ad37cp-2 +0x1.c626947ec012bp-1 +-0x1.ac41f4ce39c7ap-4 +0x1.177ee4b13fb6ap-1 +-0x1.4fadb547da8e4p-2 +-0x1.d9a11a46224b2p-5 +-0x1.6a8e739fb3a4p-1 +0x1.8793a78c7cb82p-4 +0x1.69242805bcbe8p-2 +-0x1.eb4540f1f5eedp-1 +-0x1.446fbe9c4ea41p-2 +-0x1.05c5eb9bb8931p-3 +-0x1.9b0ebfbfb5311p-2 +0x1.f6acbea5dfc26p-1 +-0x1.3479a16cc71ep-1 +-0x1.21730add38fa1p-3 +0x1.5acbb4fe0acf8p-6 +-0x1.8fddce373bef5p-2 +0x1.1d3cb04600b5ap-1 +-0x1.da389133e1e96p-1 +0x1.021e30a02d1dcp-2 +-0x1.4668691973df6p-4 +0x1.0673ab0879bfdp-3 +-0x1.db8681ae24de3p-3 +0x1.deb208904bbe3p-3 +0x1.357605a5cafffp-4 +-0x1.a56c97660374cp-6 +0x1.b5f89d3a2fc2p-1 +-0x1.8c17cad70974ep-3 +-0x1.65d8d8d9678ddp-3 +0x1.9222eb7c162eap-3 +0x1.2e4afb607803bp-3 +0x1.6b705b41a4117p-1 +0x1.bbf77d317f81cp-6 +-0x1.8adbc6ec0fd96p-2 +0x1.433f696c13617p-2 +-0x1.d6ae5739bf4bp-1 +0x1.67bc667a7db01p-2 +-0x1.242ca24a423b7p-1 +0x1.f1131e9a7c0cfp-1 +0x1.aed728ac5e234p-1 +0x1.daa8d5b6b14c7p-8 +0x1.b9a9b37a3ad9ap-5 +0x1.d80ae1461e16ep-1 +0x1.4d5611cbfb79p-2 +-0x1.c7440c1db0b09p-1 +0x1.575c7f0d01ee2p-1 +0x1.ab0997138289ep-3 +0x1.1ab0619a7c401p-2 +0x1.2e36407ef693cp-3 +-0x1.1a0c56c614439p-1 +0x1.4d4cd2974c134p-3 +0x1.6802fa3c0e018p-1 +0x1.4574cf8a803d3p-1 +-0x1.a79d784c836dp-2 +0x1.00924b1a6c7cdp-1 +-0x1.b1bce37e4d873p-1 +-0x1.2a255ec0f20d7p-2 +0x1.8daa09b90a35fp-2 +0x1.1d2de0de93383p-1 +-0x1.ee847cf4f7ad4p-1 +0x1.966612514d812p-2 +-0x1.677cc3a6bd936p-4 +0x1.ab8bb45c95492p-5 +0x1.52db69ddb97b5p-1 +0x1.61c880bdc2a6bp-2 +-0x1.e251287016886p-1 +0x1.dbc62d9f046c1p-3 +0x1.8b0d0a8967dddp-1 +0x1.6d10f4ced4362p-1 +-0x1.a572bc2e7ace8p-2 +0x1.46902ef952767p-4 +0x1.9f2472dcc1a9dp-3 +-0x1.58301726d8bfbp-2 +0x1.2e16e9bfbc556p-3 +-0x1.eb2c5d765dc08p-1 +-0x1.5b97fa1b0a2c1p-1 +0x1.e09b712fb03bbp-2 +0x1.8508a6b21b3e5p-3 +-0x1.87b252848a16dp-9 +0x1.36c3f35773088p-1 +-0x1.20a06eb44b6ffp-4 +-0x1.0314850dc2b0bp-2 +0x1.ddfb9779da195p-2 +0x1.1cb62b71e2be6p-2 +-0x1.3bac38565591ep-2 +-0x1.a150a7ead7728p-3 +0x1.08933dfe301e3p-1 +-0x1.77306970f201ep-1 +-0x1.2a7a5cebb46f2p-2 +0x1.4a0fbf76e9c9ap-1 +0x1.71facd60c8a7ep-4 +0x1.f651dcc15b0e9p-1 +0x1.4b9d9549629c7p-1 +0x1.615c778895c17p-1 +0x1.5d41ffc6efa9cp-3 +-0x1.44fae2d25af5dp-1 +0x1.88e8ee4d82bb3p-1 +-0x1.171285eb593ddp-7 +0x1.4ee89cd965bbbp-3 diff --git a/sysdeps/x86_64/fpu/libmvec-acosf-inputs b/sysdeps/x86_64/fpu/libmvec-acosf-inputs new file mode 100644 index 0000000000..e1a56943d8 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-acosf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-1, 1), mean = 0, standard deviation = 1 +-0x1.110038p-2 +-0x1.1f03acp-1 +-0x1.5838c4p-1 +-0x1.4da856p-1 +-0x1.c8504ep-2 +-0x1.ea09e2p-1 +0x1.7280a4p-3 +0x1.ab9c04p-3 +-0x1.b43cdap-3 +-0x1.6e4446p-1 +-0x1.da8bf8p-1 +-0x1.0908bap-3 +-0x1.3227eep-5 +-0x1.c10dd2p-2 +-0x1.2bbc6p-2 +-0x1.b20d6p-8 +0x1.1ee5aap-1 +-0x1.bae564p-2 +-0x1.044a9ap-1 +-0x1.8d7e8cp-3 +0x1.a43154p-1 +0x1.b3fd56p-1 +0x1.d6772ap-1 +0x1.008284p-2 +0x1.1a0f2cp-1 +0x1.6a3b9p-2 +0x1.d6f502p-2 +0x1.6fbe4cp-2 +-0x1.65603p-8 +-0x1.761798p-2 +0x1.7fbadap-5 +0x1.cf4f82p-2 +-0x1.cdac5ap-2 +0x1.6846p-3 +-0x1.3c18ep-4 +0x1.e26402p-1 +-0x1.dae846p-2 +0x1.38ee24p-1 +-0x1.1ba2eap-7 +-0x1.e846c4p-1 +0x1.5ad90ep-1 +0x1.635b92p-1 +0x1.407264p-1 +0x1.925072p-1 +0x1.f11f74p-1 +0x1.335462p-2 +0x1.36fb0ep-1 +0x1.29598ep-1 +0x1.99eacep-3 +0x1.9be854p-3 +0x1.d735c6p-5 +0x1.a1e876p-1 +0x1.1e015ap-9 +0x1.cb814cp-1 +0x1.ef5984p-3 +0x1.4511a4p-3 +0x1.c3236cp-3 +-0x1.b5663ap-5 +0x1.f9775cp-1 +-0x1.fbe004p-1 +0x1.ec4068p-4 +0x1.0af7c2p-1 +-0x1.18e6b8p-1 +0x1.2fc06ap-2 +-0x1.0df60cp-1 +-0x1.fd3ebp-1 +-0x1.f9beaap-4 +-0x1.a8a18cp-4 +0x1.1e32ep-1 +0x1.8035aep-4 +0x1.6e5336p-1 +-0x1.6861d6p-1 +-0x1.ead954p-2 +0x1.2fd21p-1 +0x1.844b6ap-1 +-0x1.be60b6p-2 +0x1.6afc44p-1 +0x1.7db1b8p-3 +-0x1.890248p-3 +-0x1.3d2202p-2 +-0x1.e94e3ep-8 +-0x1.cddf66p-1 +-0x1.f5d266p-1 +-0x1.ea04b4p-4 +0x1.29c338p-5 +-0x1.c2ee5ep-1 +0x1.97aca2p-2 +0x1.6abe8ep-1 +0x1.df29a8p-1 +0x1.21ccb2p-3 +0x1.9c79dap-1 +-0x1.253082p-4 +-0x1.a40112p-2 +-0x1.77943p-1 +0x1.77052ap-2 +-0x1.2b1874p-4 +-0x1.f6f974p-1 +-0x1.0d409ap-1 +-0x1.4613aap-4 +0x1.fb9106p-3 +-0x1.16fa4ap-2 +0x1.2c57f4p-1 +0x1.130f2ep-1 +-0x1.8b8cb4p-1 +-0x1.a9f64ap-1 +0x1.88e06cp-2 +0x1.750ec6p-1 +-0x1.0dd8acp-1 +-0x1.99309ep-2 +-0x1.08b1bcp-2 +0x1.3d9e18p-4 +0x1.0a5b3ep-2 +0x1.a170f6p-2 +-0x1.c5393p-2 +-0x1.8f8d42p-1 +-0x1.f49e6ep-3 +-0x1.7a129ep-8 +-0x1.1ae76cp-1 +0x1.087a5ap-4 +0x1.6aff86p-1 +-0x1.62fa8ap-2 +0x1.b66d4cp-2 +0x1.b32cf8p-2 +-0x1.f16faap-2 +-0x1.ac60dap-1 +-0x1.fbdc48p-3 +0x1.ce8d8ap-2 +-0x1.f0575ep-2 +0x1.e23bcp-2 +0x1.cf7eecp-2 +0x1.38160ap-1 +-0x1.261ffp-1 +0x1.45cf88p-5 +-0x1.d895ecp-1 +0x1.3c7e1p-1 +-0x1.bb2ef4p-1 +-0x1.46be0cp-3 +0x1.3d2252p-2 +0x1.6bb15cp-1 +-0x1.1ace06p-2 +-0x1.81d19cp-4 +0x1.3f8ac8p-2 +-0x1.e6965cp-1 +-0x1.b57d14p-1 +-0x1.11d16cp-3 +-0x1.8f5e48p-2 +0x1.867814p-2 +-0x1.d28fecp-2 +0x1.f2d6b2p-4 +-0x1.4314fcp-3 +-0x1.3d2ddcp-1 +-0x1.91560cp-3 +-0x1.20789ap-1 +-0x1.dc4acap-3 +0x1.ab49a6p-2 +-0x1.eb1308p-2 +-0x1.e7106cp-3 +0x1.696b3cp-1 +0x1.ce3576p-1 +-0x1.8652cep-2 +-0x1.548a94p-2 +-0x1.f25d36p-3 +-0x1.d71922p-2 +0x1.83b4ap-1 +-0x1.1f373ep-3 +0x1.13306cp-2 +0x1.61510cp-5 +-0x1.b37f3cp-3 +0x1.59e1b2p-1 +0x1.4f8ea8p-1 +-0x1.1c519ep-3 +0x1.3c58fcp-1 +0x1.c0e9d6p-1 +-0x1.459244p-1 +0x1.2cfb26p-6 +0x1.853c9ap-3 +-0x1.00b1dap-5 +0x1.61523p-1 +-0x1.0bf55p-1 +0x1.1bbe24p-1 +0x1.b81586p-1 +0x1.279ef2p-2 +-0x1.90195ap-2 +0x1.cc7c52p-6 +-0x1.548ec8p-2 +0x1.bff548p-1 +0x1.cbfa06p-2 +0x1.501f9p-1 +-0x1.3d802ap-2 +-0x1.11859p-1 +0x1.2aa162p-2 +0x1.e3c222p-1 +0x1.9d3e2cp-1 +-0x1.2e2186p-3 +0x1.05d966p-1 +-0x1.e5721p-2 +-0x1.769eb4p-1 +0x1.964434p-2 +0x1.3a317p-3 +0x1.b3009ap-3 +-0x1.ed8924p-3 +0x1.4ef3p-2 +0x1.d4a296p-1 +-0x1.8543dcp-2 +0x1.39c3eep-4 +-0x1.9d5944p-2 +0x1.19f114p-1 +-0x1.aced1p-1 +0x1.65e234p-1 +0x1.81eea2p-1 +-0x1.e09ae8p-2 +0x1.88cff6p-2 +-0x1.968f24p-1 +0x1.b0dc52p-2 +-0x1.949d08p-3 +-0x1.6216dep-4 +0x1.02a4c6p-8 +0x1.9d0d5ap-1 +-0x1.53b0ap-2 +-0x1.b239cep-2 +-0x1.71a606p-4 +0x1.378dbep-2 +-0x1.28a536p-2 +-0x1.d4008cp-1 +-0x1.be0504p-5 +-0x1.5dabf2p-6 +-0x1.e6a4d4p-1 +0x1.f59118p-1 +0x1.942c72p-2 +-0x1.73fc06p-2 +-0x1.918594p-2 +-0x1.b7fb2cp-2 +-0x1.4beef8p-2 +-0x1.9ce8c8p-1 +-0x1.737e66p-3 +0x1.e33526p-1 +-0x1.47b07cp-1 +-0x1.a15cdap-3 +-0x1.ac6db2p-2 +0x1.bb99aep-2 +-0x1.299312p-3 +0x1.a0ae02p-2 +0x1.6c8868p-1 +0x1.b699a8p-1 +0x1.5aac3ap-1 +-0x1.2168cep-3 +0x1.2e485ap-4 +0x1.f078a2p-1 +-0x1.7304dcp-1 +0x1.3c0ebp-2 +-0x1.af841cp-3 +-0x1.e4bf2cp-2 +0x1.971374p-6 +0x1.7b323cp-2 +-0x1.684ab2p-3 +0x1.e4b53p-2 +-0x1.afe726p-2 +0x1.d0066p-4 +0x1.826d14p-1 +-0x1.3253d2p-1 +-0x1.7e5a94p-1 +-0x1.ba8b24p-2 +-0x1.dce1bcp-5 +-0x1.e1ee3cp-1 +0x1.8a59e6p-1 +0x1.72b31ap-2 +-0x1.f0a79p-2 +-0x1.ec9f64p-2 +-0x1.ef4d44p-1 +-0x1.45030cp-2 +0x1.a2a5p-2 +0x1.f291dp-2 +0x1.0c5e3ap-1 +0x1.0b13ecp-2 +0x1.5b2206p-1 +-0x1.c752f2p-3 +0x1.3d151p-1 +0x1.17da3p-1 +-0x1.266a0ap-1 +0x1.f81c1p-1 +-0x1.347da4p-2 +-0x1.39b5p-4 +0x1.b9a576p-1 +-0x1.721816p-1 +-0x1.668932p-2 +-0x1.863bfap-2 +0x1.e55974p-1 +0x1.11702p-3 +-0x1.5340bap-1 +0x1.b42dp-2 +0x1.a9ca3ap-1 +-0x1.5506bcp-2 +0x1.7d3bacp-3 +0x1.ba237ep-2 +-0x1.9d3fecp-1 +0x1.04414ep-1 +-0x1.1ab066p-1 +0x1.bb680ap-1 +-0x1.e284fp-1 +-0x1.bcfc0cp-4 +0x1.010d86p-2 +-0x1.7ff508p-2 +-0x1.714b7ap-1 +0x1.c81f22p-1 +0x1.acdd64p-2 +-0x1.8e537cp-2 +-0x1.28ed7p-3 +0x1.16d3d6p-1 +0x1.36a936p-1 +0x1.b548aep-1 +-0x1.62ef42p-2 +0x1.ac459ep-4 +-0x1.639dbcp-3 +0x1.da644cp-1 +-0x1.e0025p-2 +0x1.5ce9fep-1 +0x1.caf31p-2 +-0x1.ad2182p-2 +0x1.03266ap-1 +0x1.ff0c92p-3 +-0x1.2ee55p-1 +0x1.ec9c2cp-3 +0x1.355232p-7 +-0x1.d3869p-1 +-0x1.593af2p-2 +-0x1.6fcb36p-1 +-0x1.dd79d8p-1 +0x1.55402ep-6 +-0x1.7758f8p-1 +-0x1.129ed6p-1 +0x1.47b15cp-2 +0x1.c37c38p-4 +-0x1.55e59cp-1 +0x1.15ab24p-2 +0x1.0e451p-3 +0x1.8cb4a4p-1 +0x1.c4681ap-3 +-0x1.189c5ep-1 +0x1.12c706p-1 +0x1.568e86p-6 +-0x1.e01c8ap-1 +0x1.60c16ep-3 +0x1.821b66p-2 +0x1.49d4a4p-4 +-0x1.9536fep-3 +-0x1.e45f7p-1 +0x1.f42e02p-5 +-0x1.1447c8p-2 +-0x1.3814cap-1 +-0x1.b768cp-1 +-0x1.db96f4p-1 +0x1.b7e8d8p-1 +0x1.31f092p-1 +-0x1.379038p-1 +0x1.e8d062p-1 +-0x1.7e58d6p-2 +0x1.cc9f2ap-1 +-0x1.c4cbe4p-2 +0x1.20846ap-1 +-0x1.8b5948p-3 +0x1.8a8b2p-2 +0x1.ff5246p-3 +-0x1.e5887p-1 +-0x1.b143aap-2 +-0x1.838bc6p-2 +0x1.df434cp-3 +0x1.254968p-3 +0x1.0efb16p-1 +0x1.4d5cbap-1 +-0x1.b1937cp-3 +0x1.cc6ca6p-1 +0x1.4a1daep-3 +0x1.55b3e6p-5 +-0x1.1aa44ep-1 +-0x1.b0bd84p-1 +-0x1.f054c2p-5 +0x1.d0a074p-3 +0x1.41625cp-9 +-0x1.40f226p-1 +0x1.68f226p-2 +-0x1.7b88dp-1 +0x1.988104p-2 +-0x1.d7dcb6p-8 +-0x1.047d08p-1 +0x1.99fc74p-2 +-0x1.1cc8eap-2 +-0x1.3f006ep-1 +0x1.61649ap-3 +-0x1.14f85p-1 +0x1.152222p-3 +-0x1.dda47p-2 +-0x1.ebd99ep-2 +0x1.fd966p-1 +0x1.109c0ap-2 +0x1.08c908p-2 +-0x1.0e2328p-1 +-0x1.b9f792p-2 +-0x1.0db7cep-2 +-0x1.5b2f9p-1 +-0x1.31bd7ap-1 +0x1.698de6p-1 +0x1.5916dcp-1 +0x1.94f61cp-5 +-0x1.8478f8p-1 +0x1.85f2a2p-3 +0x1.6ed2a8p-3 +-0x1.88231ep-4 +0x1.3b4588p-1 +0x1.c568a6p-1 +0x1.3bcd8cp-1 +0x1.d1e33p-1 +-0x1.6a87ecp-1 +-0x1.60d4fcp-6 +-0x1.f4fc22p-1 +0x1.f9a25p-3 +-0x1.ab8ce8p-3 +0x1.99274ep-3 +0x1.6ee102p-2 +0x1.865bcep-1 +-0x1.036fe8p-1 +0x1.d3303ap-4 +0x1.681636p-1 +0x1.f67006p-1 +0x1.9b7f32p-1 +-0x1.fea614p-6 +-0x1.adf08p-1 +-0x1.c6ff78p-1 +-0x1.66360cp-1 +0x1.2d188p-1 +-0x1.a19828p-1 +0x1.3a13ap-1 +-0x1.780cfp-2 +0x1.6128b2p-1 +0x1.bf9da8p-2 +0x1.0ae6ecp-1 +-0x1.51968p-2 +0x1.075982p-2 +0x1.178caep-5 +0x1.6b3714p-3 +0x1.9b39f2p-1 +-0x1.d1b80ep-1 +-0x1.bf7dep-1 +0x1.ea5ec2p-1 +-0x1.8ae87ap-1 +0x1.0c185p-1 +0x1.6455c2p-2 +-0x1.b4951cp-2 +0x1.220f6p-1 +0x1.09e96p-1 +-0x1.b1165ap-1 +-0x1.26eaa4p-1 +-0x1.9657b2p-2 +0x1.25d18p-1 +0x1.17f54cp-2 +-0x1.3ebe74p-1 +-0x1.2865dep-3 +0x1.e5f60ep-5 +0x1.074894p-1 +-0x1.77bcacp-2 +-0x1.8ec86ap-4 +-0x1.f72738p-3 +0x1.219fdep-2 +0x1.5753bcp-3 +-0x1.5c513cp-8 +0x1.54c0aap-1 +0x1.0aefb2p-1 +-0x1.4f42f4p-1 +0x1.7d3d04p-2 +0x1.52dc56p-1 +0x1.152d96p-1 +-0x1.b93628p-1 +0x1.6f1702p-2 +0x1.247af4p-1 +-0x1.82e73ep-2 +0x1.12f232p-2 +0x1.2d4502p-4 +0x1.ef4226p-2 +0x1.f80584p-2 +0x1.f2ed86p-1 +-0x1.ec1494p-3 +0x1.10f4e2p-2 +-0x1.84c3d4p-2 +0x1.6536d4p-1 +0x1.838a1ap-7 +0x1.32d80ep-2 +-0x1.9c2688p-1 +-0x1.307612p-2 +-0x1.189ae6p-2 +0x1.7dabb8p-3 +-0x1.46b15ep-1 +0x1.586a8cp-2 +-0x1.614556p-1 +-0x1.9271dcp-4 +-0x1.34682p-4 +0x1.c4afep-1 +-0x1.94f576p-2 +0x1.3e406ep-2 +-0x1.e5bd2p-1 +-0x1.4826dap-1 +-0x1.13ce4p-4 +-0x1.40cd7ep-9 +-0x1.19a972p-2 +0x1.dda92ap-1 +0x1.84f46ap-2 +-0x1.727f2cp-2 +-0x1.b9a04p-1 +-0x1.5b54a8p-3 +-0x1.a81c72p-2 +0x1.93503p-1 +0x1.8103dcp-3 +-0x1.9c5866p-1 +-0x1.1a2686p-1 +-0x1.3ba3bep-1 +0x1.00cacap-4 +0x1.6e38c8p-2 +-0x1.11bd08p-1 +-0x1.a112b6p-1 +0x1.8fed92p-3 +-0x1.0cae8cp-1 +-0x1.615026p-1 +0x1.dc9002p-2 +0x1.7f0cfp-2 +-0x1.452b5cp-2 +0x1.882dd6p-1 +0x1.2e61fp-4 +0x1.80f26ep-5 +-0x1.59db16p-2 +-0x1.e10c4p-2 +-0x1.62805p-1 +0x1.f3e4c6p-1 +-0x1.da90ccp-2 +-0x1.2ce42ap-2 +-0x1.19b04ap-3 +0x1.4bdcap-2 +-0x1.b4552p-1 +-0x1.c3e7bp-1 +-0x1.851b7ap-2 +-0x1.3949p-4 +-0x1.c0df64p-1 +0x1.b57efp-1 +0x1.6e593ep-1 +-0x1.b3b2e6p-1 +0x1.20b848p-3 +-0x1.e40dcp-2 +-0x1.85c872p-3 +0x1.daba7p-1 +-0x1.1c90b6p-1 +-0x1.0cee4cp-3 +0x1.9d18dap-2 +0x1.24a594p-2 +-0x1.138608p-1 +-0x1.4f44bp-3 +0x1.ce504cp-1 +-0x1.096d4p-1 +0x1.58e5a8p-1 +-0x1.c0f158p-1 +0x1.7bec5ap-1 +0x1.acf446p-3 +-0x1.081e4cp-1 +-0x1.af18d2p-4 +-0x1.816382p-2 +0x1.cada86p-1 +-0x1.857e76p-3 +-0x1.e6e3dep-1 +-0x1.e91d1ap-1 +0x1.8fdd5ap-2 +0x1.4b6786p-1 +-0x1.b9fc68p-1 +-0x1.47c5e4p-1 +-0x1.79047ap-3 +0x1.2acbeep-3 +-0x1.100504p-1 +-0x1.98ba1ap-2 +-0x1.33782ap-2 +0x1.a805cp-2 +-0x1.6baefcp-1 +-0x1.21c30ap-1 +0x1.62072ap-6 +-0x1.39b198p-1 +0x1.7f04c2p-2 +-0x1.39f94cp-1 +0x1.3ddefp-5 +-0x1.1ee2cep-5 +-0x1.6899a6p-1 +0x1.dc1aa4p-3 +-0x1.b601c4p-3 +0x1.a84624p-2 +-0x1.33c518p-1 +0x1.a67986p-1 +-0x1.6077f6p-1 +-0x1.16a546p-1 +-0x1.5e37dep-3 +0x1.cdd5ap-2 +-0x1.bfefecp-1 +-0x1.618704p-1 +-0x1.17cefcp-2 +-0x1.4c77ep-1 +0x1.6f3eecp-3 +-0x1.52b944p-2 +-0x1.5cc46ep-3 +-0x1.208c44p-1 +0x1.81c26ep-2 +-0x1.a20602p-1 +0x1.17946ap-4 +0x1.ebae7ap-2 +0x1.1156cep-2 +-0x1.8f8276p-1 +0x1.1ddf12p-2 +0x1.e2158ap-2 +-0x1.daaedp-1 +0x1.f60184p-3 +0x1.73047ap-4 +-0x1.1b087p-2 +-0x1.8030cp-2 +-0x1.1eaf48p-2 +0x1.5f4fcep-1 +-0x1.07f92ep-2 +0x1.8976cp-1 +0x1.97525ep-2 +0x1.22d4d4p-1 +-0x1.39b1fp-1 +0x1.53b1b6p-1 +-0x1.0fbae4p-1 +-0x1.fbd592p-1 +-0x1.2bcc98p-2 +-0x1.74dc0cp-2 +-0x1.ff7f94p-2 +-0x1.8c8dbp-2 +0x1.2e4de6p-1 +0x1.d16f6p-1 +0x1.58f0dep-3 +0x1.0e3bdap-3 +-0x1.c56b26p-2 +0x1.7131b2p-1 +-0x1.64f178p-1 +0x1.23e878p-1 +-0x1.aec4fap-3 +-0x1.88ad44p-3 +-0x1.ce6f16p-1 +0x1.2220e8p-3 +0x1.5eedcp-2 +-0x1.e5c616p-3 +-0x1.dd8294p-1 +-0x1.29bfc2p-5 +0x1.5fafe6p-1 +-0x1.22b358p-1 +0x1.6651c6p-7 +0x1.e17a66p-1 +0x1.d3c68cp-2 +-0x1.56483ep-4 +0x1.f538f4p-3 +-0x1.d04bfcp-4 +-0x1.3883f8p-2 +0x1.c91f38p-3 +0x1.84bc46p-4 +-0x1.fb297ap-1 +0x1.f4b9e2p-4 +0x1.1f839cp-3 +0x1.796b9p-4 +0x1.632f42p-5 +-0x1.8e6564p-3 +-0x1.283e2cp-5 +-0x1.675788p-3 +0x1.013196p-1 +0x1.cd2e9ap-5 +0x1.bbe776p-1 +-0x1.01f518p-1 +-0x1.8fc528p-1 +0x1.7e09d6p-1 +0x1.b3ec3ap-4 +-0x1.982caep-1 +0x1.68e118p-1 +0x1.428b72p-1 +-0x1.d2f63ap-3 +-0x1.d183a6p-4 +-0x1.549fc2p-2 +-0x1.d3ba94p-1 +-0x1.54198cp-7 +0x1.3010fp-3 +-0x1.607ea2p-6 +-0x1.85076cp-1 +0x1.10b0cap-1 +0x1.29b29ap-1 +-0x1.84dcdcp-4 +0x1.f93c4cp-1 +0x1.efae6ap-1 +-0x1.904df8p-4 +-0x1.a7399ep-5 +-0x1.3469c8p-7 +0x1.b1cb36p-2 +0x1.0c8066p-2 +0x1.53f73p-1 +-0x1.863f6p-2 +-0x1.270594p-2 +0x1.b3360ap-1 +-0x1.53f3fap-3 +0x1.2acbfap-2 +-0x1.8d57dep-3 +-0x1.83f7fap-1 +-0x1.c4a5e4p-2 +0x1.f78858p-1 +-0x1.0d62b4p-5 +-0x1.ca6d4p-1 +-0x1.f53176p-3 +0x1.89261ep-3 +-0x1.b9509ap-2 +-0x1.d4f5eap-2 +-0x1.02511ap-1 +-0x1.cb4adcp-4 +0x1.761ab8p-3 +0x1.a95894p-11 +-0x1.5f79acp-2 +-0x1.8ce9p-1 +-0x1.a5d98p-2 +0x1.6bf1cep-3 +-0x1.242a94p-3 +-0x1.06b2a8p-1 +-0x1.11ed7ep-2 +-0x1.2ce93p-2 +0x1.4d78bcp-2 +0x1.cca3dp-1 +0x1.0efcb8p-1 +0x1.19ac58p-1 +0x1.c7101cp-2 +-0x1.84c914p-2 +-0x1.81cc4ap-11 +-0x1.8c1b0ap-2 +-0x1.454e04p-4 +-0x1.203ea8p-5 +0x1.0b63p-1 +0x1.0a3696p-2 +0x1.b69cbep-5 +0x1.e4a2ap-2 +-0x1.fc1de8p-4 +0x1.9c5f0cp-1 +-0x1.c662e4p-3 +0x1.cb775ap-2 +-0x1.61d9a4p-2 +-0x1.412e52p-2 +-0x1.6b1d72p-4 +0x1.3617fap-1 +0x1.fa2252p-1 +-0x1.8d1c9ep-1 +-0x1.b34548p-1 +0x1.b4c704p-1 +-0x1.5975dp-2 +0x1.689c1p-4 +-0x1.e322c8p-2 +-0x1.11322ep-1 +-0x1.45a284p-5 +0x1.958df2p-1 +0x1.199eccp-4 +0x1.61fedap-2 +0x1.2dbc58p-1 +-0x1.4b524ep-3 +-0x1.321ac4p-6 +0x1.7e8344p-3 +-0x1.ba9872p-1 +0x1.da35d8p-1 +-0x1.3a327ep-4 +-0x1.7050bep-2 +0x1.212d8p-1 +-0x1.c0bdc4p-1 +0x1.1695dp-2 +0x1.0454b4p-1 +0x1.4ccceap-2 +-0x1.1db5fap-4 +-0x1.2510e2p-1 +0x1.4f6fe8p-1 +-0x1.d20a7ap-1 +-0x1.99dd6p-2 +0x1.e5340cp-1 +-0x1.273608p-2 +0x1.692872p-3 +0x1.f3716ap-1 +-0x1.11c75ep-2 +0x1.2d817ap-6 +-0x1.16f81ep-1 +-0x1.1d377ap-1 +0x1.f17c08p-1 +-0x1.ab3f92p-1 +0x1.74ea3p-2 +0x1.aecb4ep-3 +0x1.afa7d6p-1 +0x1.e4688ep-2 +0x1.a5c71p-1 +-0x1.27cf3cp-2 +0x1.445e42p-2 +-0x1.d98d84p-3 +-0x1.9dcba4p-2 +0x1.004326p-1 +0x1.8bedb6p-1 +0x1.d525c8p-1 +-0x1.cf0b1p-1 +0x1.3a6ab8p-1 +0x1.129a34p-2 +0x1.577f4cp-1 +0x1.1631bap-4 +-0x1.26ea1ep-1 +-0x1.b9372ap-2 +0x1.4eed1ap-1 +0x1.d4f66cp-7 +0x1.ab2282p-1 +-0x1.9a3fap-1 +0x1.fa2aa4p-4 +0x1.49b418p-1 +-0x1.72778cp-2 +-0x1.c049b6p-6 +-0x1.fec492p-2 +-0x1.7f3bf4p-2 +-0x1.3821ep-1 +0x1.e44732p-3 +0x1.be2fp-2 +-0x1.b38e32p-2 +0x1.37d12ep-1 +0x1.59cbe8p-2 +0x1.16769cp-1 +-0x1.85f9dcp-1 +-0x1.da9c68p-1 +0x1.a17e4ap-6 +0x1.72945ep-1 +0x1.a01a6ep-1 +0x1.b254bp-4 +0x1.e48b9ap-1 +0x1.d225c2p-3 +0x1.21c166p-2 +0x1.235af8p-1 +-0x1.1b58bap-1 +-0x1.58b5e6p-2 +-0x1.73b8d4p-6 +-0x1.bab2f4p-1 +0x1.ec3f2cp-2 +-0x1.8305ccp-2 +-0x1.2a58cp-2 +0x1.b69e0ap-2 +0x1.c1c852p-2 +-0x1.32d97cp-2 +0x1.5c66fp-4 +-0x1.e6885ep-1 +0x1.cb287ep-1 +0x1.8cbafcp-1 +0x1.afd89cp-3 +-0x1.29809ep-1 +0x1.5f3cc8p-1 +0x1.a88dc2p-2 +0x1.207bc6p-3 +-0x1.fe6d08p-1 +0x1.1a6974p-1 +0x1.d70e4ap-1 +0x1.8af8aap-1 +0x1.aa1fa2p-1 +0x1.8aaa1p-1 +-0x1.749506p-1 +-0x1.a2358ep-2 +-0x1.61c668p-5 +0x1.a74e22p-2 +-0x1.25ccbap-1 +-0x1.8303ccp-1 +0x1.7d3ed6p-1 +-0x1.e87ddap-1 +-0x1.9ed7a2p-1 +-0x1.df427ap-1 +0x1.7a6108p-1 +-0x1.cd544cp-2 +-0x1.f6c96ap-2 +-0x1.a9e902p-4 +-0x1.8301f6p-1 +0x1.14ef6p-2 +-0x1.0a88cp-1 +0x1.a4af84p-5 +0x1.bc3728p-1 +-0x1.0326ep-1 +0x1.3dbaa2p-2 +0x1.c7e528p-3 +0x1.5e1d8ep-7 +-0x1.d7ebf6p-1 +0x1.9097b6p-1 +0x1.b565a2p-5 +-0x1.fd2e5p-4 +0x1.af69fcp-2 +0x1.d68baep-6 +0x1.d5fbdap-1 +0x1.805ap-1 +-0x1.ce2d24p-1 +-0x1.afd83ap-3 +0x1.40d06ap-1 +0x1.e5e556p-2 +0x1.cf19a8p-1 +-0x1.342554p-2 +-0x1.c9b074p-2 +0x1.873756p-7 +0x1.2830d8p-1 +0x1.a8ecb2p-3 +0x1.7f09c4p-5 +-0x1.a964fp-2 +0x1.c6c844p-1 +0x1.e96bb6p-3 +-0x1.d248bp-4 +-0x1.4b9104p-3 +0x1.bdf1eep-2 +-0x1.ef824cp-4 +0x1.259cfp-3 +0x1.771fccp-1 +0x1.19a7b2p-1 +0x1.2e1652p-1 +-0x1.fec49ap-1 +0x1.09d27p-2 +-0x1.0e6e3ep-1 +-0x1.3db78ap-1 +0x1.d00d64p-3 +-0x1.ce9d34p-2 +0x1.a9d84cp-1 +0x1.042e66p-1 +0x1.7ae4d6p-3 +0x1.e9eb1ep-5 +-0x1.19c4f6p-3 +0x1.c9382cp-2 +-0x1.5b2ed8p-2 +-0x1.e8e266p-5 +0x1.28e698p-1 +0x1.3c991cp-1 +-0x1.8af204p-1 +0x1.0f261ep-4 +-0x1.7afbeep-1 +0x1.b0c424p-2 +0x1.6ecb46p-4 +0x1.5472dp-2 +-0x1.2c76e4p-4 +0x1.549e9cp-1 +0x1.88639ap-2 +-0x1.029b54p-1 +-0x1.8db028p-7 +-0x1.ebefd4p-1 +0x1.f98d9ep-3 +-0x1.cc9b56p-2 +0x1.aa348p-1 +0x1.6b2fa2p-2 +0x1.d13378p-1 +0x1.e795fap-1 +-0x1.443c98p-1 +-0x1.eeb87ep-1 +0x1.b87f5cp-1 +0x1.3af59ep-1 +-0x1.d1ca38p-2 +0x1.7cbcf4p-2 +0x1.ca9f1ap-1 +-0x1.9ce86cp-2 +-0x1.f536eep-4 +-0x1.c0551cp-4 +-0x1.b1170ap-3 +-0x1.cc7f4ep-1 +-0x1.792ec6p-2 +0x1.ab17ep-4 +0x1.4bd66cp-4 +0x1.fdb31p-2 +0x1.692c16p-5 +-0x1.ac9ca4p-1 +-0x1.a9fda4p-1 +-0x1.1e5c7p-1 +-0x1.0cc97cp-1 +-0x1.201c3ep-1 +0x1.df82bp-1 +0x1.395d76p-3 +-0x1.350bdcp-1 +0x1.dbdb7ap-1 +-0x1.a83096p-2 +0x1.f4b33cp-2 +-0x1.0ab24ap-3 +-0x1.ab8adep-3 +-0x1.3fcc06p-1 +-0x1.40798ap-2 +-0x1.13a34cp-2 +0x1.17a122p-1 +-0x1.acf1d8p-1 +0x1.9c6788p-2 +-0x1.39bbdap-3 +0x1.ded9dp-6 +0x1.638e3ep-1 +0x1.781bbp-1 +-0x1.998674p-1 +-0x1.1c66ecp-2 +0x1.254d34p-2 +-0x1.823154p-7 +-0x1.134b7ap-1 +-0x1.454524p-3 +0x1.8ec7bp-3 +0x1.365a7ap-4 +-0x1.9ef78cp-1 +0x1.827ddap-2 +-0x1.5772f2p-4 +0x1.539028p-2 +-0x1.bc1a28p-1 +0x1.640cf2p-3 +-0x1.245e4cp-6 +-0x1.4448c6p-1 +0x1.1ed2eap-1 +0x1.dbcd02p-2 +-0x1.ceb76ap-2 +-0x1.b8c88ap-5 +-0x1.cd8996p-1 +-0x1.c73194p-1 +0x1.987076p-2 +-0x1.a68fcp-1 +-0x1.8db732p-3 +-0x1.d27f7ap-3 +0x1.47dd96p-1 +0x1.b70af2p-1 +0x1.ada51ep-2 +0x1.c0bd9cp-1 +0x1.f0aa9ap-2 +0x1.840fdep-2 +-0x1.b58f8ep-3 +-0x1.11797p-2 +-0x1.fb4ad6p-2 +-0x1.02d2fp-1 +-0x1.00d2dap-2 +0x1.e16d9cp-3 +-0x1.4915bcp-5 +0x1.6beb9cp-1 +0x1.57a912p-2 +-0x1.12d05p-3 +0x1.89ea2ap-2 +-0x1.5632cep-2 +-0x1.d4c06cp-1 +-0x1.4f1954p-2 +0x1.3db73p-1 +-0x1.d8db14p-2 +0x1.98df14p-1 +0x1.14ed3ap-2 +0x1.152fd8p-2 +-0x1.eb0c42p-3 +0x1.c34eeap-1 +-0x1.0275d8p-1 +-0x1.0fcddap-1 +-0x1.9f96a6p-3 +0x1.e85928p-2 +0x1.2daf5cp-1 +0x1.5b1636p-1 +0x1.5c5494p-1 +0x1.969e8ap-5 +0x1.199972p-1 +-0x1.02d76ep-2 +0x1.9a7c5p-1 +0x1.0a2acep-3 +-0x1.156c9ap-2 +0x1.dba802p-1 +0x1.bfb5e8p-2 +0x1.47ecc6p-1 +0x1.c8b542p-1 +0x1.83bb48p-3 +-0x1.239a54p-1 +0x1.540a16p-3 +-0x1.86594ap-1 +-0x1.b4bbbcp-4 +0x1.c50ed8p-2 +0x1.0cefbcp-4 +0x1.d3536p-4 +-0x1.e4f6e6p-4 +-0x1.bdd0fap-5 +0x1.fa53bep-1 +-0x1.76edd4p-4 +-0x1.b11f82p-2 +-0x1.8b4aap-2 +-0x1.4a916p-1 +-0x1.08292ep-2 +-0x1.9fb55ep-1 +0x1.0cca48p-1 +0x1.76984cp-1 +0x1.0dc2f2p-2 +0x1.2bbb5ap-1 +-0x1.6b8cb6p-4 +0x1.1ba646p-2 +0x1.aac2aep-1 +-0x1.b7afb4p-2 +-0x1.7d0b6ap-4 +-0x1.c54a54p-2 +-0x1.4c2d72p-1 +0x1.1404bcp-1 +-0x1.2743a2p-1 +0x1.4c16c2p-2 +-0x1.035d74p-5 +-0x1.596772p-2 +-0x1.b92a2p-3 +0x1.74816ep-5 +-0x1.0a9e3ap-2 +-0x1.92ac4cp-1 +-0x1.7c42cap-3 +-0x1.e760e2p-3 +-0x1.2cc53cp-4 +0x1.6d460ep-1 +0x1.ebe34ep-1 +0x1.832eb4p-1 +0x1.bf2c08p-2 +-0x1.e4f664p-4 +-0x1.25f042p-5 +-0x1.ace724p-1 +0x1.9ba4aap-1 +0x1.074064p-3 +-0x1.67967ep-1 +0x1.87ee8p-2 +0x1.8ba4c2p-3 +-0x1.a8aa78p-7 +0x1.0324b4p-3 +-0x1.60822cp-1 +0x1.f84d2p-4 +0x1.4296cep-1 +-0x1.3165a4p-4 +-0x1.427f6cp-1 +-0x1.ce4026p-1 +0x1.29bb68p-2 +0x1.8e3b18p-2 +0x1.5ebcp-2 +-0x1.f5736ep-1 +0x1.54380ep-8 +-0x1.105c2ap-2 +-0x1.97cf5ep-1 +0x1.6c7ac6p-1 +0x1.6206cep-1 +-0x1.d46dc4p-1 +-0x1.343318p-1 +-0x1.d53832p-1 +0x1.b8dd7p-2 +0x1.4874bap-2 +-0x1.7c8b9p-1 +0x1.abc31ep-2 +-0x1.6dc26p-2 +-0x1.99df3p-1 +0x1.beb202p-1 +-0x1.cf8768p-1 +0x1.3509dp-3 +0x1.8dabe2p-2 +0x1.89563ep-2 +0x1.41e1ccp-2 +-0x1.bb2d1cp-1 +0x1.acc1e4p-2 +-0x1.09f05p-3 +0x1.0b0dbp-4 +-0x1.3ec40cp-2 +0x1.d08b68p-1 +-0x1.3d096ap-6 +-0x1.32ef48p-2 +0x1.a506aep-3 +-0x1.711fe8p-5 +-0x1.030fbcp-2 +0x1.5b9218p-1 +-0x1.64a524p-1 +-0x1.cedeep-1 +0x1.584732p-5 +-0x1.a794c4p-1 +-0x1.befe92p-2 +0x1.183f8ep-2 +0x1.702f9ep-1 +-0x1.5b4a8ep-1 +-0x1.a28782p-1 +-0x1.6a13d2p-1 +0x1.bf6546p-3 +0x1.0073b4p-4 +-0x1.deccb4p-1 +0x1.b5063cp-2 +-0x1.ac5358p-3 +-0x1.d0c886p-3 +0x1.510a16p-6 +-0x1.089694p-2 +0x1.b1c1cap-4 +-0x1.21983ap-2 +-0x1.fcebaap-1 +0x1.b7819ap-3 +0x1.c4abcep-1 +0x1.a28e44p-3 +-0x1.625d3p-2 +0x1.e79b2ap-2 +-0x1.801f4ap-1 +0x1.4451fp-1 +-0x1.6c0f72p-6 +0x1.6c6fccp-1 +0x1.1b806ep-1 +0x1.19bf5ep-1 +-0x1.cb2824p-1 +-0x1.240536p-1 +0x1.04395ep-2 +-0x1.2c1086p-1 +-0x1.1a6464p-1 +0x1.8f5974p-1 +0x1.9c6d24p-2 +0x1.2c51a8p-2 +0x1.3926d8p-3 +0x1.43939ep-1 +0x1.2b5fep-1 +0x1.0914a6p-2 +0x1.87eb6p-2 +0x1.5534f8p-3 +0x1.78175cp-2 +0x1.80945ep-3 +-0x1.a8cdaap-1 +0x1.f5b0cap-1 +-0x1.e7061ap-1 +-0x1.323af2p-2 +0x1.8d033ap-1 +-0x1.a1a074p-1 +0x1.50cc42p-4 +-0x1.f56e5ep-1 +0x1.3859dap-1 +0x1.73203cp-1 +-0x1.8adde6p-1 +-0x1.d557aep-4 +0x1.36e46ep-3 +-0x1.82625ep-1 +0x1.27b778p-5 +-0x1.3d6d94p-1 +-0x1.11e906p-1 +-0x1.1272d2p-1 +-0x1.a20858p-3 +0x1.d7b7b4p-1 +0x1.026db4p-3 +-0x1.4415dep-3 +-0x1.6bd5fep-1 +-0x1.3eeddcp-1 +0x1.ef4876p-2 +-0x1.a8f258p-4 +0x1.cf31d4p-1 +0x1.93610cp-2 +0x1.aa1f66p-1 +0x1.9f23a2p-1 +-0x1.b36abep-1 +0x1.f213b8p-1 +-0x1.a1dee8p-6 +0x1.398bap-2 +0x1.00b7aep-1 +0x1.9f3cfep-2 +0x1.f42e1p-1 +0x1.b164eap-3 +0x1.180e6ap-6 +0x1.f5a14p-1 +-0x1.71d1acp-1 +0x1.f91f22p-1 +0x1.2605d6p-1 +0x1.b6c86ap-5 +0x1.e4a268p-1 +-0x1.2988d8p-1 +-0x1.35c038p-1 +-0x1.a13dp-6 +-0x1.ecfbaep-6 +0x1.312e62p-3 +0x1.253956p-11 +0x1.9f22e2p-2 +-0x1.c073cap-3 +0x1.1633b2p-1 +0x1.63fdep-2 +0x1.3bf4p-3 +-0x1.242928p-2 +0x1.b44f6p-1 +0x1.35ef8ep-1 +0x1.9fb5c8p-2 +0x1.01263ep-3 +-0x1.8721f6p-4 +0x1.ebb986p-1 +0x1.83579p-9 +-0x1.3b002ap-1 +-0x1.a9d384p-1 +0x1.dee24p-3 +-0x1.bcc2fep-2 +0x1.e780e2p-1 +-0x1.59a9d8p-1 +0x1.c8e7cp-1 +-0x1.971e8ap-1 +-0x1.3e7cp-2 +0x1.690544p-1 +-0x1.907804p-1 +-0x1.035bbcp-3 +-0x1.77b7e2p-2 +0x1.960254p-1 +0x1.c92d5ep-1 +0x1.778b94p-2 +-0x1.1e135ep-3 +0x1.05222ep-4 +-0x1.0de9b4p-1 +-0x1.347082p-1 +-0x1.5385f2p-2 +-0x1.51c38ep-1 +-0x1.4d56cp-5 +-0x1.42e7c6p-3 +-0x1.84188p-1 +0x1.aec9e6p-6 +0x1.2f83cap-3 +0x1.e70aeep-2 +-0x1.5a1c98p-1 +-0x1.ed119p-1 +-0x1.792fd2p-3 +0x1.488072p-1 +-0x1.e435bep-2 +-0x1.e5248cp-1 +0x1.2ea91cp-1 +-0x1.e1e722p-3 +-0x1.ecafbap-1 +0x1.470b16p-4 +0x1.b2dfp-1 +0x1.55c7e8p-1 +0x1.15b1c8p-2 +0x1.40862ap-4 +0x1.779c56p-2 +0x1.a50c3ap-5 +0x1.69e272p-2 +-0x1.45019ep-4 +-0x1.837116p-2 +0x1.ce6a22p-1 +0x1.e60fc4p-3 +-0x1.ba4f24p-1 +0x1.bef6acp-2 +-0x1.f08f32p-3 +-0x1.827efp-2 +-0x1.814518p-1 +0x1.929f7cp-2 +-0x1.2e62cap-3 +0x1.5346b2p-1 +-0x1.c2ed34p-1 +-0x1.57d97cp-1 +0x1.10a0b6p-1 +-0x1.a6b60cp-1 +-0x1.4227d8p-2 +0x1.dd2db8p-2 +0x1.8056fep-2 +0x1.37607cp-1 +0x1.19088cp-4 +0x1.38788p-3 +-0x1.eb8fd8p-3 +-0x1.bb9c34p-1 +-0x1.2d2828p-1 +-0x1.570e66p-1 +0x1.c9fd3ep-3 +0x1.0c8e26p-2 +-0x1.edacfap-2 +-0x1.5610aap-1 +0x1.fe6076p-2 +-0x1.d4a8e2p-1 +0x1.758646p-1 +0x1.497618p-1 +0x1.16fa72p-1 +-0x1.68cf94p-1 +0x1.dd48e8p-1 +0x1.a3e3cep-3 +-0x1.9f8c44p-3 +0x1.18f89p-1 +-0x1.cffd5ep-1 +-0x1.767098p-2 +-0x1.903302p-3 +-0x1.82e444p-3 +0x1.a057cep-2 +-0x1.e66dp-1 +-0x1.682f24p-1 +-0x1.766988p-2 +-0x1.acae66p-3 +-0x1.476986p-2 +0x1.491dap-3 +-0x1.81507p-4 +-0x1.b466fap-1 +0x1.ac55ep-1 +-0x1.0c3b9p-2 +0x1.a5e5b4p-2 +-0x1.0565e8p-1 +0x1.6da238p-3 +0x1.d03644p-1 +-0x1.8801d6p-4 +-0x1.cbb29ep-2 +0x1.09dc7p-1 +0x1.3fb3c8p-1 +0x1.d2e5c4p-10 +0x1.334c7cp-2 +-0x1.de456ep-7 +-0x1.8672ep-1 +0x1.613f9p-5 +-0x1.171feap-3 +0x1.dd5d3ep-1 +-0x1.ddd8a4p-1 +0x1.2a88e4p-2 +-0x1.ea24dap-4 +0x1.4c6a14p-3 +-0x1.77183cp-4 +0x1.56d51p-1 +0x1.2e8bcap-1 +0x1.7c2a16p-2 +-0x1.c3f246p-2 +0x1.396a3cp-1 +0x1.98d18ep-1 +-0x1.8617ecp-1 +-0x1.22c696p-2 +-0x1.91ecfp-3 +-0x1.40d1fep-1 +-0x1.9f4856p-1 +0x1.cc14ecp-1 +0x1.82a1cp-1 +0x1.5eaffap-4 +-0x1.242f7ap-2 +-0x1.4b33fap-3 +0x1.400132p-2 +0x1.6bfb34p-1 +0x1.3f6eacp-1 +0x1.932adcp-2 +-0x1.02805ap-2 +-0x1.e179cap-4 +-0x1.9c15e2p-1 +0x1.934bbap-1 +-0x1.8f4b3p-3 +0x1.1b5cd6p-2 +-0x1.815aa6p-1 +-0x1.0a4938p-4 +-0x1.17224ep-3 +0x1.7396b8p-2 +-0x1.cd1762p-1 +0x1.13399ap-2 +0x1.09b222p-4 +0x1.0ad204p-3 +-0x1.e96f94p-3 +-0x1.21e5d8p-1 +0x1.3a96fcp-1 +-0x1.fea528p-8 +-0x1.93dc6ap-2 +0x1.0090ccp-1 +-0x1.e54f08p-3 +0x1.93680ep-2 +-0x1.220a6p-2 +-0x1.5ef9ecp-2 +0x1.71cdb6p-1 +-0x1.0e4394p-3 +0x1.0b150cp-1 +0x1.d86p-3 +-0x1.e6a31ap-1 +-0x1.824a66p-2 +0x1.1e75dap-4 +-0x1.a497dcp-1 +-0x1.df678ep-1 +-0x1.3c8536p-1 +0x1.da074p-1 +-0x1.0ff5d6p-6 +-0x1.be0fe2p-4 +0x1.f4742cp-1 +-0x1.d22bd2p-1 +0x1.a5a752p-2 +0x1.5be09ap-1 +-0x1.d20e7ap-1 +0x1.403e76p-1 +0x1.104162p-1 +-0x1.abe65p-1 +-0x1.39dd92p-2 +-0x1.69653ap-1 +0x1.65c3ecp-1 +-0x1.6c4d78p-3 +0x1.a5fa1ap-3 +-0x1.4db598p-7 +0x1.2fb322p-5 +-0x1.6216cep-3 +0x1.f64fep-1 +-0x1.b906b8p-1 +-0x1.2bec9ap-1 +0x1.e6ec08p-4 +0x1.7d2cd4p-3 +-0x1.e5d9a4p-3 +0x1.0b7494p-6 +0x1.fb9f86p-2 +-0x1.3174c6p-2 +0x1.fcc562p-3 +0x1.052202p-4 +-0x1.b6f2a2p-2 +0x1.e03904p-4 +0x1.8822dp-4 +-0x1.3ca64cp-4 +0x1.cf36e6p-1 +-0x1.63b056p-1 +0x1.b4e004p-2 +-0x1.85ff26p-4 +-0x1.7d722ep-2 +0x1.d86dbcp-1 +0x1.3a52dcp-1 +-0x1.21833ap-2 +0x1.4e1964p-3 +0x1.a93094p-2 +-0x1.1026fep-1 +0x1.2b118p-4 +-0x1.1663b2p-2 +0x1.64f32ap-2 +-0x1.a6deccp-1 +-0x1.67ce64p-3 +-0x1.23404p-5 +-0x1.1ef83ap-1 +0x1.99a394p-4 +-0x1.9efbdp-2 +0x1.e0996ap-1 +-0x1.e6e4a4p-1 +-0x1.0b67a4p-9 +-0x1.a8496ap-1 +-0x1.8d426p-2 +0x1.2fee8ep-1 +0x1.2784b4p-1 +-0x1.fa3b2p-3 +0x1.5f32acp-2 +-0x1.d1bb1p-1 +-0x1.b9e65cp-3 +-0x1.ccdc52p-1 +-0x1.6dbe7p-3 +0x1.833ffep-7 +0x1.c0d506p-2 +-0x1.06c048p-3 +0x1.b0c532p-9 +-0x1.ee5ba6p-2 +-0x1.669786p-1 +0x1.6c7834p-1 +-0x1.3b4d8ap-1 +0x1.f9fb84p-1 +0x1.3b1e32p-2 +-0x1.18f584p-1 +0x1.24c60ap-2 +-0x1.ae3ccap-2 +-0x1.413f56p-1 +-0x1.918bcp-5 +-0x1.d2fc44p-1 +0x1.8e35ep-1 +0x1.8f68fep-1 +0x1.869b1p-2 +-0x1.3e027ep-1 +-0x1.113a0ap-1 +-0x1.d382c8p-1 +0x1.7880f4p-2 +-0x1.9719cap-3 +0x1.ea1f6ep-4 +-0x1.967b84p-3 +-0x1.7cfb5cp-4 +0x1.c80844p-2 +-0x1.a72e46p-2 +-0x1.6ef64cp-2 +0x1.1f6f5ap-3 +-0x1.52cf36p-4 +0x1.081ab8p-2 +0x1.9154e8p-1 +0x1.ac463ap-1 +-0x1.035bf2p-3 +0x1.65041cp-3 +-0x1.e37864p-3 +-0x1.16998cp-2 +-0x1.e547c2p-1 +0x1.1ed26ap-3 +-0x1.23c3dap-1 +-0x1.4c64c6p-1 +-0x1.d6a0b4p-2 +0x1.22d2d8p-3 +-0x1.4c8e62p-1 +-0x1.e7c096p-1 +-0x1.a6a27ep-2 +0x1.e44526p-1 +0x1.c0265p-1 +-0x1.49c292p-1 +-0x1.3f3e2p-4 +0x1.08e6a2p-2 +0x1.dbb2a8p-3 +0x1.86b462p-3 +-0x1.59eddp-6 +0x1.4b4d1ap-3 +-0x1.80e5e2p-1 +0x1.e35056p-1 +-0x1.ce3404p-2 +0x1.f916fp-3 +-0x1.e1bb82p-1 +0x1.ea0ff4p-5 +0x1.923c72p-4 +0x1.bb144cp-1 +-0x1.f4856p-2 +0x1.d4cafp-2 +0x1.563868p-1 +-0x1.b712cap-3 +0x1.1f2cd4p-3 +0x1.ed4bep-4 +-0x1.a29e18p-5 +0x1.ef3d48p-2 +-0x1.805298p-2 +-0x1.917cap-2 +0x1.3c4184p-1 +-0x1.693846p-1 +-0x1.2fb6b6p-5 +-0x1.59853ep-1 +0x1.611128p-2 +-0x1.18f7cep-3 +0x1.351d76p-1 +-0x1.43c3bep-1 +0x1.4c8bb2p-1 +0x1.84bcbep-2 +0x1.36e69ep-1 +-0x1.fff164p-6 +0x1.640ff6p-1 +-0x1.c1eb62p-5 +-0x1.bd3504p-3 +-0x1.653e88p-1 +-0x1.7eba16p-4 +-0x1.8089eap-3 +-0x1.c3a19p-2 +0x1.70dfb4p-1 +0x1.38adbap-3 +-0x1.06c1eep-3 +-0x1.195a4p-2 +0x1.1f8a58p-2 +-0x1.954db8p-2 +0x1.2acabp-1 +0x1.838bdcp-2 +0x1.28b1d2p-5 +-0x1.97e0cep-1 +-0x1.83a86p-1 +-0x1.d6da1ap-3 +0x1.8089fp-2 +-0x1.9d9402p-5 +-0x1.67befp-1 +0x1.ba7dp-3 +0x1.6f2d8ap-2 +-0x1.4e682ep-1 +-0x1.866034p-4 +-0x1.a8b234p-1 +0x1.ad9e5p-1 +0x1.af3ba6p-3 +-0x1.fcf444p-1 +-0x1.0e877ap-2 +0x1.734c78p-1 +-0x1.cf1bfep-1 +0x1.7dd1d6p-1 +-0x1.9bc726p-1 +-0x1.1fb62ep-3 +-0x1.472b8p-3 +-0x1.20315p-3 +0x1.12db8p-1 +0x1.67076ap-1 +0x1.cc825p-2 +0x1.abc4a2p-4 +-0x1.76773ap-3 +0x1.6e30ccp-2 +-0x1.28162cp-1 +0x1.8ba3eap-3 +0x1.3f45a6p-1 +-0x1.ea412cp-1 +-0x1.9167ep-1 +-0x1.32a484p-2 +0x1.8ca0d4p-3 +-0x1.70c6f6p-3 +0x1.b8b6fep-1 +0x1.fcdcdp-2 +0x1.8b66eap-2 +-0x1.a56e6ep-1 +0x1.91a188p-1 +0x1.3c5eacp-2 +0x1.9d2082p-2 +-0x1.505e1ep-1 +0x1.add1eap-4 +-0x1.3c19b4p-4 +-0x1.bfe59ep-3 +-0x1.091168p-2 +-0x1.1bc38ep-1 +0x1.46b33p-4 +-0x1.95dc2p-5 +-0x1.fb3326p-3 +-0x1.d185f6p-1 +-0x1.c869cap-1 +-0x1.e53b7ep-1 +0x1.f839c8p-1 +0x1.6f2fcep-1 +-0x1.00b57ap-1 +-0x1.e7e88ap-6 +-0x1.27dfbap-2 +0x1.3878b8p-8 +0x1.edc938p-1 +0x1.b64246p-4 +-0x1.f5fcaap-3 +0x1.ea6d8ep-1 +-0x1.e4fa9ep-4 +0x1.c3a32ap-1 +-0x1.89206p-1 +-0x1.b55afep-3 +-0x1.7c2908p-1 +-0x1.6cbe98p-3 +-0x1.6538dp-2 +-0x1.f0a1b6p-1 +-0x1.487e82p-1 +0x1.3a04b8p-2 +0x1.8a6064p-3 +0x1.a5ae94p-1 +-0x1.edd54p-3 +0x1.5d5d26p-1 +0x1.bde41ap-1 +0x1.6afdfap-5 +0x1.9bf9a6p-2 +0x1.fdd15ep-1 +-0x1.c96814p-1 +0x1.108462p-1 +0x1.aa35d4p-1 +-0x1.93b554p-2 +0x1.4e87d4p-3 +0x1.d8c21cp-1 +-0x1.58121p-1 +0x1.70b79cp-1 +0x1.0e317cp-4 +0x1.7edad4p-1 +-0x1.46dc0cp-1 +-0x1.a9daf2p-3 +0x1.ab4d3p-1 +-0x1.0d69b2p-2 +0x1.921c36p-1 +0x1.7f549cp-1 +-0x1.ad1684p-2 +0x1.04d87p-3 +0x1.4175f4p-1 +-0x1.b02c6ep-2 +0x1.34764cp-1 +0x1.211886p-4 +-0x1.423874p-2 +-0x1.4a6c2ap-1 +0x1.fee6fcp-1 +-0x1.8be5fep-1 +-0x1.936aeap-1 +-0x1.dabe96p-2 +-0x1.42dc8p-5 +-0x1.e3ffp-1 +0x1.f88cd4p-5 +-0x1.28b77p-1 +-0x1.269186p-2 +-0x1.969f38p-1 +-0x1.211d6ap-3 +0x1.c8beaep-3 +0x1.fa3626p-1 +-0x1.8f086ap-1 +0x1.f36eeep-2 +0x1.4fc9ccp-1 +0x1.742036p-1 +0x1.e226f8p-1 +-0x1.2a628ap-1 +-0x1.ecf65cp-3 +0x1.62cadap-3 +-0x1.06112ep-1 +0x1.991d78p-1 +0x1.7e78bp-2 +0x1.d48d8p-3 +0x1.3894ecp-2 +-0x1.7b85dap-1 +-0x1.1d42d6p-1 +0x1.42df24p-4 +0x1.d957b4p-1 +0x1.5da97p-4 +0x1.39ded4p-1 +0x1.8de0dap-1 +0x1.6d4a02p-1 +-0x1.4d8d44p-1 +-0x1.b0a64ep-5 +0x1.533eecp-2 +0x1.eb2612p-2 +-0x1.b4668p-2 +0x1.6aa1e6p-3 +0x1.10b602p-3 +0x1.56a3dcp-4 +0x1.f010c6p-1 +-0x1.18296ep-3 +-0x1.3d588cp-3 +-0x1.d6ad6cp-2 +0x1.258972p-2 +-0x1.c7ee5p-2 +0x1.1c1918p-1 +-0x1.ceb3d2p-2 +0x1.cfcc56p-4 +0x1.e17602p-1 +0x1.e5afa4p-1 +0x1.7fb174p-2 +0x1.a8514ap-1 +-0x1.4fe372p-2 +-0x1.25bc6p-2 +-0x1.e8715cp-1 +-0x1.a59092p-2 +0x1.2641cap-1 +0x1.3f51eep-1 +0x1.d3a86p-5 +0x1.39f04ep-2 +-0x1.e6488p-3 +0x1.fdab36p-4 +0x1.d1237p-2 +0x1.6718eep-1 +-0x1.119026p-1 +0x1.76ff3cp-2 +-0x1.f781f8p-3 +-0x1.3a0382p-4 +0x1.7f800ep-1 +0x1.783d0cp-1 +0x1.53946p-2 +-0x1.98772p-1 +-0x1.fb7a0ap-2 +0x1.04c55ep-2 +0x1.73c68p-2 +-0x1.18c604p-1 +-0x1.f9e446p-2 +-0x1.93e5d2p-2 +0x1.4357fap-1 +-0x1.4f73ep-2 +0x1.0662aap-3 +-0x1.9aefc2p-1 +0x1.824eb4p-1 +0x1.56029p-1 +0x1.9a130cp-4 +-0x1.10bb6p-2 +0x1.3f1d4ep-5 +0x1.698d34p-1 +0x1.3dfe18p-1 +-0x1.bcdb64p-1 +-0x1.584ccep-3 +-0x1.6dc28p-2 +0x1.eb303cp-1 +-0x1.016d02p-5 +-0x1.29eb78p-2 +-0x1.0abdfp-1 +0x1.629ee4p-2 +0x1.60b556p-2 +0x1.76939p-3 +0x1.3eeea6p-5 +-0x1.40c59ap-1 +0x1.7eef2ap-1 +0x1.dd0da6p-2 +0x1.82373p-1 +-0x1.215062p-1 +0x1.101aaep-1 +-0x1.c3f56ap-1 +0x1.06315cp-1 +-0x1.f7737cp-5 +0x1.095e7ap-6 +0x1.785b34p-4 +0x1.abab9p-4 +-0x1.1e1a08p-3 +0x1.40ed04p-1 +-0x1.4126d2p-2 +-0x1.3c323ep-1 +0x1.c07c7ap-1 +0x1.fa5928p-1 +-0x1.07097ap-4 +-0x1.c893aep-3 +0x1.43efcap-3 +0x1.c5e45ap-2 +0x1.6b683ep-2 +-0x1.e899fap-2 +0x1.6abacap-5 +0x1.2a368p-1 +0x1.fb1c5cp-2 +0x1.45948ap-4 +0x1.188cd6p-3 +-0x1.a6f2f2p-7 +-0x1.2bfef2p-1 +-0x1.076554p-1 +-0x1.4afc24p-1 +0x1.41eadep-1 +-0x1.c263bcp-1 +-0x1.3aac8p-3 +0x1.2c4326p-2 +0x1.761eb4p-2 +0x1.6984f6p-2 +-0x1.c6582ep-3 +-0x1.96d294p-1 +-0x1.a093b2p-1 +-0x1.7c76fcp-2 +-0x1.2e06ecp-2 +-0x1.557626p-1 +-0x1.989724p-1 +0x1.06885p-1 +0x1.6af464p-1 +0x1.1aed4ap-2 +-0x1.5018e8p-2 +0x1.b20e9ep-4 +0x1.226cf4p-1 +-0x1.b523f4p-1 +-0x1.497826p-1 +-0x1.72217p-1 +0x1.c6fd6cp-1 +-0x1.2e4bc2p-1 +0x1.3d5676p-3 +0x1.0966cp-4 +0x1.f544fap-2 +-0x1.0b150cp-1 +-0x1.d65418p-2 +0x1.7e29cap-3 +0x1.8c2aep-1 +0x1.7f474ap-1 +-0x1.2e67b4p-2 +-0x1.dd913cp-2 +-0x1.fdc1dep-1 +0x1.d6aee4p-2 +-0x1.a29b7ap-2 +-0x1.8ffce8p-1 +-0x1.585b46p-3 +-0x1.efd218p-1 +-0x1.be9658p-6 +0x1.7ae996p-1 +0x1.aeaaf4p-4 +0x1.6d3ab8p-1 +0x1.9741fcp-1 +-0x1.9d3c86p-1 +0x1.01478ap-4 +0x1.4c925p-1 +0x1.bb245ep-1 +-0x1.aefa6ap-1 +-0x1.dc4632p-1 +-0x1.86204p-1 +-0x1.7db4a2p-3 +0x1.5ad30ap-2 +0x1.03105p-3 +0x1.5e4226p-5 +-0x1.2c24bap-1 +-0x1.ac2c6ep-2 +0x1.54107ap-2 +-0x1.0a295p-1 +-0x1.99e7e4p-1 +-0x1.585872p-2 +-0x1.c6fb0cp-1 +-0x1.bbd304p-1 +0x1.692926p-1 +0x1.a623aep-4 +-0x1.080956p-2 +0x1.1ecc82p-3 +0x1.6195fcp-2 +0x1.2a2b8ep-1 +-0x1.b2d0b6p-2 +0x1.cdac5ap-5 +0x1.e46d68p-2 +-0x1.269722p-2 +-0x1.8b090cp-2 +0x1.730522p-1 +0x1.84b302p-1 +0x1.22d6bp-4 +-0x1.9108fap-1 +0x1.fe4862p-2 +-0x1.04fffp-2 +-0x1.d641c8p-6 +-0x1.f9d3d6p-3 +-0x1.ee6296p-3 +-0x1.94a686p-2 +0x1.a7c516p-1 +0x1.7528ep-2 +0x1.86dca4p-3 +0x1.38018cp-1 +0x1.ca8ee8p-2 +0x1.231834p-1 +-0x1.dcdfa2p-1 +-0x1.ad60e6p-2 +0x1.f0ef8p-3 +0x1.02dfb2p-1 +-0x1.f4b12ep-1 +-0x1.c8731ap-1 +-0x1.4127aap-7 +0x1.d15714p-1 +0x1.6c4854p-3 +-0x1.0eaf5ap-2 +0x1.32953ap-2 +-0x1.e298a4p-3 +0x1.cc7238p-4 +-0x1.094404p-2 +0x1.11645ap-2 +0x1.fbafb2p-2 +-0x1.55bb2cp-1 +0x1.8a5b4ap-1 +-0x1.aa1fd4p-2 +0x1.ad6decp-1 +-0x1.3cbf2p-3 +0x1.d8a72ap-3 +-0x1.2ad9cap-1 +0x1.cb2c2p-1 +0x1.4eab5ep-10 +0x1.31225p-1 +-0x1.fdac8p-4 +0x1.8a862p-1 +0x1.b0afa8p-7 +-0x1.696bf8p-2 +-0x1.34a82cp-1 +0x1.43480cp-2 +-0x1.1279cap-1 +-0x1.cc733ep-1 +0x1.5b96b6p-1 +-0x1.012392p-2 +-0x1.0a1a6ap-1 +-0x1.aa7e14p-1 +-0x1.7d721ep-2 +-0x1.bdbb38p-3 +0x1.891188p-4 +-0x1.0bbad8p-4 +-0x1.28f5c6p-5 +0x1.8a425cp-2 +0x1.04b6cp-2 +-0x1.ef7e3ap-1 +-0x1.6d7c62p-2 +-0x1.f66592p-2 +0x1.b74e32p-3 +-0x1.40021ap-1 +-0x1.83b5e4p-2 +0x1.6371b4p-1 +-0x1.9f4dc6p-1 +-0x1.0ce498p-3 +0x1.1b0582p-2 +0x1.bac48cp-4 +-0x1.c0d9c8p-4 +0x1.0feff2p-3 +-0x1.d50a28p-1 +0x1.e9e4d6p-4 +-0x1.54162ap-2 +-0x1.fc6602p-1 +-0x1.d61d5ap-1 +-0x1.7dfbd6p-1 +-0x1.f2ad12p-6 +-0x1.b49d68p-1 +-0x1.e90b1ap-1 +-0x1.a6fa42p-1 +-0x1.454526p-1 +0x1.ffca9cp-4 +0x1.5afe8ap-2 +-0x1.54094cp-1 +0x1.8124ccp-1 +0x1.80e338p-4 +-0x1.45ae58p-5 +-0x1.44c552p-1 +0x1.9542f4p-2 +-0x1.6e1d56p-2 +0x1.513504p-1 +-0x1.e190cep-3 +0x1.a9a24ap-1 +0x1.2a102p-8 +-0x1.b79072p-1 +-0x1.488aeep-1 +0x1.e138c8p-3 +0x1.e69ap-1 +0x1.54f552p-2 +0x1.e600b8p-1 +-0x1.acf8a2p-2 +0x1.5d2dbap-1 +0x1.8c4cfap-2 +0x1.90c4c2p-1 +-0x1.a8b47p-1 +0x1.ac19bp-1 +0x1.329002p-2 +-0x1.a3b582p-1 +0x1.db9ffap-1 +0x1.424e8cp-4 +-0x1.255d46p-5 +-0x1.26b96p-4 +0x1.e7fd5cp-2 +0x1.b17e6ap-3 +0x1.cdd90ep-4 +0x1.dd3dbp-1 +-0x1.a1c03ep-1 +-0x1.8777d2p-3 +0x1.3683c8p-3 +0x1.18abeep-1 +-0x1.6a2fb6p-1 +0x1.9c994p-2 +-0x1.dd0cd2p-1 +-0x1.d4cb6p-2 +0x1.aca3c6p-1 +-0x1.6d0c6ep-1 +0x1.77f58ap-4 +0x1.1a4292p-1 +-0x1.3af6c2p-2 +0x1.a5f5e2p-1 +0x1.606b66p-1 +-0x1.d48072p-2 +0x1.2bd4fcp-1 +-0x1.8a5678p-2 +-0x1.5ab8p-1 +-0x1.babac2p-3 +0x1.26d7b6p-5 +0x1.76144cp-1 +-0x1.b63ffep-4 +-0x1.4fbc6ep-1 +-0x1.c9fb28p-7 +0x1.6ddf68p-4 +0x1.ff5b86p-4 +0x1.d316aep-4 +0x1.430bf2p-7 +-0x1.858ca4p-2 +0x1.fc3694p-1 +-0x1.1d770ep-2 +-0x1.032dc8p-2 +-0x1.7b042p-4 +-0x1.6584ep-2 +0x1.1dfed4p-3 +-0x1.ba50d2p-2 +0x1.e29c9cp-1 +0x1.92f14ep-2 +-0x1.39170ep-2 +-0x1.8693dp-1 +-0x1.15fa82p-2 +0x1.350d78p-6 +-0x1.e2708cp-2 +-0x1.507046p-1 +0x1.41e9dp-2 +0x1.f12d2ep-6 +-0x1.d56cf6p-2 +-0x1.285072p-2 +0x1.0539bap-5 +-0x1.2c7dccp-4 +0x1.3988e2p-1 +-0x1.8d67ecp-2 +0x1.9a32e2p-4 +0x1.810446p-2 +-0x1.271f4cp-1 +-0x1.de4e4p-2 +-0x1.139b1p-1 +0x1.8deb52p-1 +0x1.d9242ap-4 +-0x1.c44d82p-2 +0x1.5d55aep-1 +-0x1.48d04cp-3 +0x1.1fa8f8p-2 +0x1.c9e902p-2 +0x1.d2a224p-3 +0x1.e4044ap-2 +0x1.f8b7c4p-2 +0x1.84b452p-3 +0x1.0b6f22p-1 +-0x1.7938bcp-1 +0x1.a79e9p-2 +-0x1.0eb522p-2 +0x1.eaccf8p-1 +0x1.39043p-1 +-0x1.511bb6p-1 +0x1.32dee4p-2 +0x1.3b00aap-1 +0x1.6e4fd8p-1 +-0x1.97dfc2p-3 +-0x1.51acaap-3 +0x1.2ae8p-4 +-0x1.a4ebb4p-1 +0x1.334a7cp-1 +0x1.93059ep-1 +-0x1.2767cp-5 +-0x1.08178ep-1 +0x1.f5bd7ap-5 +-0x1.fe54fp-4 +0x1.4a0bc8p-3 +-0x1.48c1aep-2 +-0x1.60dae6p-2 +0x1.e70664p-1 +-0x1.e5afbcp-1 +-0x1.7e4222p-1 +-0x1.6b5f68p-2 +-0x1.116522p-1 +0x1.a468ecp-5 +-0x1.4413d6p-4 +0x1.b61754p-1 +-0x1.b947ep-2 +0x1.977b76p-2 +-0x1.8b6dcap-3 +0x1.991f4cp-1 +0x1.012dd6p-1 +-0x1.8af3b8p-2 +0x1.9b817ap-3 +0x1.094b6ep-1 +-0x1.a4ad3p-1 +0x1.e40b96p-4 +-0x1.e0c792p-2 +0x1.971a6ep-2 +-0x1.9cdffcp-2 +-0x1.7f64dep-4 +-0x1.bc3d0ep-1 +-0x1.5fc30ep-1 +-0x1.394386p-1 +0x1.9697c6p-1 +-0x1.e3f9c8p-6 +-0x1.f1f844p-3 +-0x1.dea8dp-3 +0x1.32a8ccp-1 +-0x1.085624p-2 +-0x1.40cc2ep-1 +0x1.979e58p-1 +0x1.22277cp-1 +-0x1.88ea7ep-1 +0x1.e6c3bp-3 +0x1.a29236p-5 +-0x1.0c3142p-6 +0x1.5c4d26p-1 +0x1.bb92eap-1 +0x1.fae364p-4 +-0x1.d8c938p-5 +0x1.769c0ap-2 +-0x1.6666p-1 +0x1.53c884p-3 +0x1.7081dep-1 +-0x1.b75cd6p-3 +0x1.c6c63p-2 +0x1.9550b2p-2 +0x1.d576a6p-1 +0x1.68731ap-2 +0x1.178244p-1 +-0x1.936702p-6 +-0x1.324f32p-2 +-0x1.44c8d8p-1 +-0x1.13235ap-2 +-0x1.3591p-3 +0x1.7f7ee4p-3 +-0x1.56a414p-5 +-0x1.b28e1p-4 +-0x1.56b4b8p-1 +0x1.269a2ap-2 +0x1.5c25b8p-2 +-0x1.52467cp-2 +0x1.a97814p-1 +-0x1.6ad65cp-2 +-0x1.8b3d6cp-2 +-0x1.42b04p-2 +-0x1.7c9dfep-1 +-0x1.4cfbf8p-1 +0x1.01cf98p-1 +-0x1.4580a4p-1 +0x1.f863aep-2 +-0x1.276972p-2 +-0x1.b80c5ep-1 +-0x1.1d73eep-2 +0x1.b31d0ep-2 +0x1.82165p-3 +-0x1.e62d7ep-1 +-0x1.7fafcap-3 +-0x1.b10432p-1 +0x1.5d39bap-6 +-0x1.814adcp-1 +0x1.007b54p-1 +-0x1.d7f8bap-3 +0x1.1e4004p-1 +0x1.cf7be2p-3 +-0x1.edec2ap-1 +0x1.2787eep-1 +-0x1.e0ce2p-2 +0x1.9603cep-5 +-0x1.91869ep-1 +0x1.ed10f8p-2 +0x1.982de6p-3 +-0x1.10e77ep-2 +-0x1.b1b6a8p-1 +0x1.192082p-2 +0x1.57a158p-2 +-0x1.3ccdbp-1 +0x1.6f2f0cp-5 +0x1.afcdbp-1 +0x1.630dacp-4 +0x1.970d5p-2 +-0x1.2c4212p-1 +0x1.f58ab6p-2 +0x1.d318ccp-2 +0x1.bdd0acp-2 +-0x1.7839bap-1 +-0x1.b0f21p-2 +-0x1.426bbap-1 +0x1.27fc8p-1 +-0x1.d9ecd6p-2 +0x1.f6fd38p-2 +-0x1.c6376p-2 +0x1.5d9d62p-1 +0x1.985deep-1 +-0x1.0b836ap-1 +-0x1.15fb08p-1 +-0x1.4f572p-1 +-0x1.c17998p-1 +-0x1.825968p-1 +-0x1.2dfec2p-2 +0x1.86b9d4p-1 +0x1.31593ap-3 +-0x1.cdb44cp-1 +-0x1.40301ep-4 +-0x1.6cb2e2p-2 +-0x1.625ccep-1 +-0x1.c039bcp-1 +-0x1.fab4a4p-2 +-0x1.6b0ae4p-2 +-0x1.32bdc2p-2 +-0x1.d95bf2p-1 +0x1.709326p-2 +0x1.ac93a2p-2 +0x1.742a06p-1 +-0x1.6cc9cp-2 +0x1.a12496p-2 +0x1.6a112ap-1 +0x1.bfd71p-2 +0x1.be81aap-3 +0x1.0966e6p-4 +-0x1.b4c844p-2 +0x1.241202p-1 +0x1.ad5c7ap-1 +-0x1.d2e134p-1 +-0x1.65d80cp-2 +-0x1.2d790cp-1 +-0x1.72e49ap-1 +-0x1.3e616p-1 +-0x1.4d1eacp-3 +-0x1.cf9ff2p-1 +-0x1.1205fcp-1 +-0x1.6705acp-1 +-0x1.049f02p-1 +0x1.079dp-2 +0x1.3c0b02p-2 +-0x1.6f31aap-1 +0x1.52f99ep-3 +0x1.008424p-4 +-0x1.1e1136p-4 +0x1.b536fp-1 +0x1.fcf3a6p-2 +-0x1.6ff716p-1 +0x1.4205p-1 +0x1.98e072p-7 +-0x1.69192p-3 +0x1.40a784p-3 +-0x1.63757ep-3 +-0x1.cfa6fap-5 +0x1.025cfep-1 +0x1.dc329ep-4 +-0x1.80456p-1 +-0x1.f7adf8p-1 +0x1.f8472cp-2 +0x1.a4ef6p-2 +-0x1.8123ap-1 +0x1.5387fcp-1 +-0x1.80dc1cp-1 +0x1.50ab5cp-2 +0x1.7ca938p-3 +-0x1.524fd4p-3 +0x1.44580cp-1 +0x1.bcf5e6p-1 +-0x1.ec2f52p-1 +-0x1.d881cep-4 +0x1.b8cf6ep-2 +0x1.5e4d8ep-4 +-0x1.544a1ap-2 +0x1.e67a48p-3 +0x1.c4edfap-1 +0x1.6b2ddap-3 +-0x1.a8b95ep-2 +-0x1.83ff64p-1 +0x1.de453ep-3 +-0x1.70b986p-1 +-0x1.a139p-4 +0x1.83719cp-1 +-0x1.a4349cp-1 +-0x1.ed06dap-4 +-0x1.414838p-3 +0x1.fd17bep-1 +0x1.0fdaap-2 +0x1.8bdbe2p-4 +0x1.9a65a4p-1 +-0x1.7f251p-2 +-0x1.3b1f2p-1 +-0x1.345fb2p-2 +-0x1.75771ep-2 +-0x1.11c84p-1 +-0x1.ec1426p-3 +0x1.0dcb3cp-1 +-0x1.01df0ep-1 +-0x1.5583c6p-2 +-0x1.7534bcp-2 +0x1.65f932p-1 +0x1.650ac4p-3 +0x1.f4a996p-1 +-0x1.b65fbcp-1 +-0x1.ed015cp-2 +0x1.530258p-2 +0x1.244d38p-1 +0x1.a5d93cp-1 +-0x1.f3cddap-1 +0x1.e19df6p-1 +-0x1.05c686p-1 +0x1.27d0aep-4 +-0x1.a02df8p-3 +-0x1.fdcf44p-4 +-0x1.dc0e3cp-5 +0x1.8d0734p-7 +-0x1.a57daap-2 +0x1.11731cp-3 +0x1.8eb29cp-1 +0x1.1de422p-3 +0x1.5b00aap-2 +0x1.f487b6p-7 +-0x1.782854p-6 +-0x1.8cd066p-4 +0x1.13114ep-2 +0x1.5fd92cp-1 +0x1.d9bb68p-3 +0x1.000b24p-2 +0x1.5a9c8cp-1 +0x1.1272a4p-1 +-0x1.35b3bcp-2 +-0x1.4226dep-1 +-0x1.77c05ap-5 +-0x1.cb7f66p-2 +0x1.444f8ap-3 +-0x1.e456e6p-3 +-0x1.5078bcp-3 +0x1.478f2ep-1 +-0x1.e4a03cp-2 +0x1.c9f98ap-1 +0x1.4c1cbp-1 +-0x1.8efcep-2 +0x1.e82cap-1 +-0x1.50327ep-1 +0x1.5e3d5cp-1 +-0x1.34843cp-6 +0x1.74a86ap-1 +-0x1.9f4a8cp-3 +-0x1.c4cda8p-2 +0x1.0649dep-1 +-0x1.4ff7f4p-2 +-0x1.25e094p-1 +0x1.9a100cp-3 +-0x1.3e0974p-1 +0x1.12f872p-2 +-0x1.3c2e3p-6 +-0x1.1303f2p-2 +0x1.73c642p-4 +0x1.87c68cp-1 +0x1.d69c54p-1 +-0x1.726e54p-1 +0x1.4db076p-1 +-0x1.6196ep-1 +-0x1.253e4ap-8 +-0x1.c14988p-1 +-0x1.0c6306p-2 +0x1.24901p-2 +0x1.0b59fp-2 +-0x1.51999p-1 +-0x1.5a031ep-1 +0x1.e7b494p-2 +0x1.0c4822p-6 +-0x1.165632p-5 +0x1.f02bc2p-3 +0x1.35c696p-1 +0x1.da738ap-4 +0x1.8e1484p-1 +-0x1.6cb9d2p-2 +0x1.d4056cp-7 +0x1.de8772p-3 +0x1.d3b5e4p-2 +-0x1.d8d57ap-1 +-0x1.b9934ap-3 +-0x1.b8475p-1 +0x1.48c178p-1 +0x1.3a66bap-2 +-0x1.fa27acp-2 +-0x1.a5a174p-3 +-0x1.4a664cp-2 +0x1.6ee766p-1 +-0x1.afc05ap-3 +0x1.ea1e56p-3 +0x1.8dcce4p-1 +-0x1.0a396cp-3 +0x1.4b760cp-1 +0x1.eeaab2p-4 +-0x1.e5cf22p-1 +-0x1.6a6b36p-2 +-0x1.0033ccp-2 +0x1.5d2b02p-2 +0x1.8053bp-1 +0x1.289d04p-1 +0x1.d79606p-2 +-0x1.1ae93ap-1 +-0x1.3216d4p-1 +-0x1.6d72c6p-1 +0x1.bbf7fap-1 +0x1.82e236p-8 +0x1.2d967p-1 +0x1.215beap-1 +0x1.c7bea2p-4 +0x1.e87f02p-2 +-0x1.0ed4d4p-2 +0x1.08d668p-1 +-0x1.df8234p-3 +0x1.0ca31ap-1 +-0x1.afa226p-3 +0x1.4e31p-2 +0x1.9da612p-1 +0x1.56cd32p-2 +0x1.78507ep-2 +0x1.5fdd7p-2 +-0x1.a40adcp-1 +-0x1.9a4966p-2 +-0x1.008704p-3 +-0x1.9050f6p-2 +0x1.9010a2p-1 +0x1.113376p-1 +0x1.4a4de4p-1 +-0x1.51fccep-1 +-0x1.9c2d8ep-5 +0x1.c44d68p-5 +-0x1.358e7ep-1 +-0x1.acda54p-2 +-0x1.df8aecp-2 +-0x1.3b618p-2 +-0x1.d35c08p-3 +0x1.c612p-1 +0x1.2c63ap-1 +0x1.ff5282p-4 +-0x1.27ad28p-9 +-0x1.43fe26p-1 +-0x1.e41d42p-5 +0x1.41956ap-1 +0x1.c9b73cp-2 +-0x1.c8012ap-1 +-0x1.2c1e6ap-5 +-0x1.fd5e6cp-2 +0x1.90c3f8p-1 +0x1.7d91fap-2 +-0x1.13ae64p-1 +0x1.c8a558p-1 +0x1.a6e46p-3 +-0x1.29d98cp-1 +-0x1.f21ac8p-1 +0x1.4cbf1ap-1 +-0x1.3a429ep-4 +-0x1.ce2242p-1 +-0x1.df6ddep-2 +-0x1.1a0e88p-1 +0x1.32057p-2 +-0x1.b4cdb4p-4 +-0x1.ed7486p-2 +0x1.6e2504p-2 +0x1.5b1e28p-2 +-0x1.e16a76p-1 +0x1.7ba948p-1 +-0x1.37e812p-2 +-0x1.5a43d4p-1 +-0x1.314f14p-2 +-0x1.c4746ep-1 +0x1.caa996p-2 +-0x1.8abcbcp-3 +0x1.0e8a9p-3 +-0x1.2abbdp-2 +-0x1.03e7d6p-1 +-0x1.6d9f5ap-1 +0x1.88090ep-5 +-0x1.adf2dcp-4 +-0x1.afae6cp-5 +0x1.82c66ep-1 +0x1.76212ep-3 +0x1.1e35aap-2 +-0x1.2d2b34p-2 +-0x1.74477ap-2 +-0x1.da68dap-1 +0x1.429f68p-5 +-0x1.7077ccp-1 +0x1.814d36p-1 +0x1.1d1dbcp-1 +0x1.b4bc74p-1 +0x1.fdb266p-1 +-0x1.e217b6p-2 +0x1.7d0b6cp-5 +0x1.a7dc66p-1 +0x1.350184p-3 +-0x1.0e739ap-1 +0x1.dcf0ecp-1 +0x1.711546p-1 +-0x1.a71018p-3 +-0x1.36131ap-1 +-0x1.b1d92ep-4 +0x1.1a168p-2 +0x1.fb5d1p-10 +0x1.801e5ap-1 +-0x1.c0fb3p-2 +-0x1.c4e0a6p-4 +-0x1.a688e2p-1 +0x1.b6c954p-1 +0x1.6db21ap-1 +0x1.5860f2p-1 +-0x1.361ab4p-3 +0x1.ed5bc4p-3 +-0x1.08eff4p-2 +-0x1.409854p-1 +0x1.4ad436p-4 +0x1.760fcap-2 +0x1.6165d2p-1 +0x1.b1a2ecp-1 +0x1.59aeb6p-1 +0x1.3e0b66p-1 +-0x1.36aa08p-4 +-0x1.7caf6ep-3 +0x1.52875p-2 +0x1.708586p-2 +0x1.b8151ap-1 +0x1.960ca4p-4 +0x1.957094p-1 +0x1.1d4dcap-1 +-0x1.5d579p-1 +0x1.8d8712p-1 +0x1.17824p-1 +0x1.d5753ep-2 +0x1.a561d6p-1 +-0x1.09297ap-5 +0x1.bc58ccp-2 +0x1.cf7dbep-1 +-0x1.2bfa2p-1 +0x1.71d9c4p-1 +-0x1.78931ep-2 +-0x1.3bffbp-2 +0x1.136d34p-2 +0x1.bd27aap-4 +-0x1.d97618p-1 +0x1.f827ap-1 +0x1.10a96p-2 +0x1.05827p-1 +0x1.27ca96p-3 +-0x1.002a76p-1 +0x1.0fe87ep-1 +0x1.975796p-1 +-0x1.bd8d2cp-1 +-0x1.d75468p-1 +-0x1.0df934p-3 +0x1.cf78b8p-4 +-0x1.ac4caep-6 +0x1.b3389ap-1 +0x1.3db378p-2 +-0x1.93fbc2p-2 +0x1.61b404p-1 +-0x1.859fc8p-5 +0x1.99ce8ap-2 +0x1.6aec3ap-2 +0x1.e9dd4ap-1 +-0x1.b9dbeap-1 +0x1.2c1cdcp-4 +-0x1.5bfccep-4 +0x1.ad2c34p-1 +-0x1.2cc216p-2 +-0x1.598eaap-4 +-0x1.9d4288p-2 +-0x1.4f40c8p-1 +0x1.4d5148p-1 +0x1.bfddf2p-2 +-0x1.343e0cp-7 +-0x1.0461c2p-1 +-0x1.c31b2cp-1 +0x1.51c0fap-1 +-0x1.15a3fap-3 +0x1.67eb9ap-2 +0x1.c5dd62p-2 +-0x1.0eee3ap-1 +0x1.ef12f8p-2 +0x1.8cf8aep-2 +-0x1.e0ecf6p-2 +-0x1.95cf66p-2 +-0x1.7b9b72p-2 +-0x1.4ec552p-2 +-0x1.489c9cp-4 +-0x1.8605a8p-1 +0x1.0b9704p-3 +0x1.9fda02p-1 +0x1.1a3fd4p-1 +-0x1.4e094ap-1 +0x1.ab276ep-6 +0x1.bdbf98p-1 +0x1.c487e4p-4 +-0x1.df6aacp-1 +-0x1.ff6ep-2 +-0x1.a6d1a2p-3 +0x1.19c348p-1 +-0x1.38178cp-1 +-0x1.c0cc26p-1 +0x1.063f28p-1 +0x1.c6aa88p-1 +-0x1.32c87ep-2 +0x1.ffaddep-1 +-0x1.05ffa8p-1 +-0x1.8a040ep-1 +0x1.3a9c5p-1 +0x1.7ec5ep-1 +0x1.37444ep-2 +0x1.22851p-1 +0x1.ce3f44p-1 +0x1.35badcp-1 +-0x1.41c6ep-1 +-0x1.6c41ccp-1 +-0x1.7565fap-4 +0x1.fd92cap-2 +-0x1.37986cp-3 +0x1.d57e7cp-5 +0x1.991d56p-1 +0x1.c0f4d8p-1 +-0x1.af780ap-1 +-0x1.91f064p-3 +0x1.846352p-1 +0x1.19f85ap-2 +-0x1.a43a84p-4 +-0x1.864d08p-3 +-0x1.93569ep-1 +0x1.0cb556p-1 +-0x1.7754cp-1 +0x1.82de4ap-2 +0x1.8c544p-2 +0x1.ee36fp-1 +0x1.1297bap-1 +-0x1.47d746p-2 +0x1.3aadbcp-1 +-0x1.bd928p-1 +-0x1.b13518p-3 +0x1.9ee15p-4 +0x1.2b7cd8p-1 +-0x1.1941fep-1 +0x1.c80c68p-1 +0x1.b281cap-2 +-0x1.ef3af6p-1 +0x1.d979eap-1 +0x1.25e01ep-3 +0x1.fa0fc2p-1 +0x1.0869cap-4 +-0x1.d6aa5ap-2 +-0x1.7b13e4p-1 +0x1.b66e3ap-3 +-0x1.932754p-2 +0x1.30f30cp-5 +-0x1.2f304ep-4 +-0x1.4713a4p-2 +-0x1.f94358p-2 +-0x1.a42354p-1 +-0x1.bb276ap-1 +-0x1.a0215p-1 +-0x1.6a97a2p-1 +-0x1.d17a3ep-1 +0x1.2f363p-1 +0x1.32a8eap-1 +-0x1.c99574p-2 +-0x1.1757fp-1 +-0x1.62cb58p-1 +-0x1.16410ep-2 +0x1.17a89ep-1 +0x1.f5385ep-2 +-0x1.a2d1d2p-1 +0x1.aac754p-1 +0x1.930bc4p-1 +0x1.12566cp-1 +-0x1.11f7a6p-3 +0x1.affc0ap-3 +0x1.f2be0ap-3 +0x1.4a4c52p-1 +0x1.0b3c1ap-3 +-0x1.8c5f16p-1 +0x1.269028p-2 +0x1.4fcd6p-1 +0x1.e0721ep-2 +-0x1.e29a44p-1 +-0x1.cb80f8p-2 +0x1.2c92aap-4 +-0x1.5e774ap-2 +-0x1.b078ap-1 +0x1.5d71d2p-1 +-0x1.f2c132p-1 +0x1.f7818ap-1 +-0x1.386052p-3 +0x1.cea122p-1 +0x1.c33f8cp-3 +-0x1.79e06p-1 +0x1.cc09ccp-3 +0x1.e0b9fap-4 +0x1.6fbeap-2 +0x1.715cacp-3 +0x1.a2bc9ep-3 +-0x1.997e2cp-3 +-0x1.7b7514p-3 +0x1.2718ecp-1 +0x1.806536p-1 +0x1.9579f6p-1 +0x1.3649p-2 +0x1.a0c47ap-8 +-0x1.09803p-1 +0x1.84fb0ep-1 +0x1.944694p-3 +-0x1.08e352p-2 +-0x1.2c4f3ap-1 +0x1.4904fcp-1 +-0x1.d03ef2p-8 +-0x1.8e288ep-1 +0x1.c2aa6p-3 +0x1.ff0a0cp-1 +-0x1.ddb1ecp-2 +-0x1.f82692p-3 +0x1.9197fp-1 +0x1.f12d86p-1 +0x1.bc2f0ap-3 +-0x1.725fc8p-1 +0x1.63774p-2 +0x1.9da178p-2 +-0x1.74fb4ap-2 +0x1.ac5c34p-3 +-0x1.995882p-1 +-0x1.7448d6p-1 +-0x1.633504p-2 +0x1.c9f1ccp-4 +0x1.28782cp-1 +0x1.9fa8f2p-2 +-0x1.2bf5c4p-1 +-0x1.0b75a8p-4 +0x1.6725acp-3 +0x1.77981ep-3 +-0x1.f701b8p-3 +-0x1.bca62cp-2 +0x1.8ec04cp-1 +0x1.bbf638p-1 +-0x1.a3fa38p-2 +-0x1.1af036p-2 +0x1.22f5cep-1 +0x1.d770c8p-3 +-0x1.42a6aep-6 +-0x1.27cb52p-7 +-0x1.f49ffap-2 +-0x1.0d3d4p-1 +0x1.5b1d56p-3 +-0x1.dd3e92p-5 +0x1.d5d6b2p-6 +-0x1.bd0e3ap-1 +0x1.a6ffb6p-6 +0x1.e6a5d2p-8 +-0x1.69a5bp-4 +0x1.1757b4p-2 +0x1.6b8eep-3 +-0x1.0809dap-1 +0x1.1981bcp-2 +0x1.ae3274p-1 +-0x1.acc7c2p-1 +-0x1.8ed5eap-1 +-0x1.9a2218p-1 +0x1.a060eap-2 +-0x1.3a59a4p-3 +-0x1.697f9ep-2 +-0x1.0d641ap-2 +-0x1.85cba2p-2 +-0x1.d786b2p-2 +0x1.d47afp-1 +0x1.12b882p-1 +-0x1.ee07e4p-6 +0x1.c0f588p-2 +-0x1.7a9e3cp-1 +0x1.dd7e58p-2 +0x1.f828d8p-5 +-0x1.53bf26p-1 +-0x1.268cbap-2 +-0x1.53064ep-1 +0x1.4ce786p-3 +-0x1.815ecep-4 +-0x1.f90246p-1 +0x1.802ce6p-2 +0x1.8bb20ap-2 +-0x1.946c8p-1 +0x1.4f8e1p-3 +0x1.673254p-2 +-0x1.98da12p-2 +-0x1.83eef6p-3 +-0x1.5be26ep-1 +0x1.5e6c4ap-6 +0x1.6486d4p-1 +-0x1.79675ep-6 +-0x1.f90ed4p-1 +0x1.1dbb46p-3 +0x1.50ccd4p-1 +-0x1.7c796cp-3 +0x1.2f5dbcp-1 +-0x1.10218ep-1 +-0x1.86e44cp-2 +0x1.58fe4ap-1 +0x1.0d92d8p-1 +-0x1.1f6c54p-1 +-0x1.b5c6eep-2 +0x1.81b8acp-3 +0x1.94b35ep-4 +0x1.1b785cp-2 +0x1.99ab9p-2 +-0x1.dd3e7cp-1 +0x1.00c328p-1 +-0x1.06b808p-3 +0x1.0081cep-1 +0x1.0a5854p-2 +0x1.7002ep-1 +-0x1.9ef988p-3 +0x1.f040f2p-1 +-0x1.dce424p-1 +-0x1.2b698cp-1 +-0x1.604c22p-1 +-0x1.9ead8p-3 +-0x1.7f25d2p-1 +-0x1.3ecb54p-2 +-0x1.42bd8cp-1 +-0x1.b5871p-2 +-0x1.0bcbep-1 +0x1.ad2f3cp-1 +-0x1.c4a34ap-1 +0x1.f1b6a4p-1 +-0x1.ccb27p-1 +0x1.be840ep-2 +0x1.abfd0ap-1 +0x1.73307cp-4 +0x1.ed7722p-1 +0x1.cc4adcp-1 +-0x1.d46c12p-3 +0x1.b84222p-1 +-0x1.14347ep-1 +0x1.94eaaap-1 +0x1.45921ep-1 +0x1.af247cp-5 +0x1.468842p-1 +0x1.4bfdcep-2 +0x1.dc22aep-2 +0x1.3ec044p-1 +-0x1.38e89p-3 +0x1.7f3136p-4 +-0x1.d8e5dp-1 +0x1.ba7a58p-3 +-0x1.0c70aap-2 +-0x1.ec3c46p-1 +-0x1.f6ca0cp-3 +-0x1.45c58p-3 +-0x1.c3de1ep-5 +0x1.e727dap-2 +0x1.abe67p-2 +0x1.6d5472p-1 +0x1.9842aap-2 +-0x1.fc3032p-1 +-0x1.986ebp-1 +0x1.153a18p-1 +-0x1.8b71bp-2 +0x1.e5599ap-4 +-0x1.ea8cbp-1 +0x1.f39e28p-1 +-0x1.15c314p-6 +-0x1.c518dcp-1 +-0x1.73992ap-3 +-0x1.1f0d6p-2 +-0x1.3bfd7ap-3 +0x1.6e0414p-2 +0x1.b2bdep-1 +0x1.5c346ap-6 +0x1.abee2p-2 +-0x1.01d77ep-1 +0x1.48755ep-1 +-0x1.9a52b4p-2 +0x1.fdafb2p-1 +-0x1.3d9a4ep-3 +-0x1.6755aap-1 +-0x1.f8795p-1 +0x1.ed03d4p-3 +0x1.a353a8p-1 +-0x1.6dc442p-2 +-0x1.cfbacep-3 +-0x1.8ccbbap-1 +0x1.7a187p-1 +0x1.da45a4p-2 +0x1.7875eap-1 +-0x1.383464p-2 +-0x1.0fb048p-1 +-0x1.20affcp-1 +0x1.948236p-1 +-0x1.5298e4p-4 +0x1.61acf8p-7 +0x1.72168ep-2 +-0x1.fad952p-2 +-0x1.d3401ap-2 +0x1.1d3854p-1 +-0x1.bfc83cp-3 +-0x1.3c511ep-2 +0x1.da9aaep-2 +0x1.04347ep-2 +0x1.494dbp-1 +0x1.e8026ap-1 +0x1.af76a2p-3 +-0x1.9c0b56p-1 +-0x1.16cd88p-1 +-0x1.3ac826p-1 +0x1.68324p-2 +-0x1.967134p-2 +-0x1.ab726p-3 +-0x1.eca38ap-4 +0x1.aba0c4p-2 +0x1.0819ccp-1 +-0x1.a5ea36p-1 +0x1.ecbf22p-1 +0x1.738008p-4 +-0x1.9000cp-2 +-0x1.478cbep-1 +0x1.8966a8p-4 +0x1.8b66c8p-1 +-0x1.440ac8p-1 +0x1.7c27ecp-3 +-0x1.bf9b0ep-1 +0x1.657f4cp-3 +0x1.c9b35ap-1 +0x1.a7c2fp-2 +-0x1.fca2dap-7 +-0x1.80889ep-4 +-0x1.692e5p-4 +-0x1.87bd2p-2 +-0x1.f45922p-2 +0x1.472382p-1 +-0x1.348664p-2 +-0x1.8ca434p-4 +0x1.27d64p-1 +0x1.3167e2p-9 +0x1.07b746p-1 +-0x1.2f7bfp-1 +0x1.f9f936p-1 +0x1.ba525p-3 +0x1.0f32a8p-1 +-0x1.4f203ap-4 +-0x1.0ffdf8p-1 +-0x1.c6576p-1 +-0x1.b2896ep-5 +0x1.574f6ap-3 +-0x1.ce691ap-4 +0x1.6279p-1 +-0x1.30c4bep-1 +-0x1.62648cp-2 +-0x1.1ac084p-3 +-0x1.bb56e2p-1 +0x1.ad3f74p-3 +0x1.442a24p-1 +0x1.93fc4cp-3 +-0x1.b963dap-2 +-0x1.f13afcp-2 +-0x1.0b4ad8p-1 +-0x1.57e198p-3 +-0x1.0cfed6p-5 +-0x1.4de6ecp-1 +0x1.51a062p-1 +0x1.150624p-3 +-0x1.e4d8bp-1 +-0x1.5e75b6p-1 +0x1.7cc658p-1 +-0x1.47986ap-1 +-0x1.ee6a0ap-2 +0x1.ae4e2p-1 +-0x1.7ee782p-2 +-0x1.6eef8p-1 +0x1.0f2c7cp-1 +-0x1.0c604cp-2 +-0x1.d0cb2ap-4 +0x1.c6d452p-1 +-0x1.213f62p-1 +-0x1.16bdp-1 +-0x1.24e6e4p-2 +0x1.17855cp-3 +-0x1.aca3bap-1 +-0x1.3a2daep-1 +-0x1.4b8214p-2 +-0x1.41194ap-1 +0x1.a37e5cp-2 +-0x1.93d3c8p-2 +0x1.636292p-1 +-0x1.554624p-1 +-0x1.0f8ceap-1 +-0x1.acecccp-2 +0x1.7df32cp-6 +-0x1.255a1ap-1 +-0x1.a2bbbep-2 +-0x1.56d822p-1 +-0x1.0dbebap-1 +-0x1.b94eb6p-1 +-0x1.a9bf86p-3 +-0x1.085582p-2 +0x1.022d02p-3 +0x1.f018e6p-2 +0x1.a8bb44p-4 +-0x1.8e9e7ep-2 +-0x1.664c2ap-5 +-0x1.b5e41p-1 +-0x1.68c7d2p-3 +0x1.7ffc78p-4 +0x1.137d2cp-11 +0x1.6540a4p-4 +0x1.74d162p-3 +0x1.098f56p-1 +0x1.a59a82p-2 +0x1.292126p-1 +0x1.433194p-3 +-0x1.911912p-4 +-0x1.c19fa8p-4 +0x1.282c0ep-1 +0x1.2e83fp-7 +-0x1.e1a488p-4 +-0x1.95bdb2p-3 +0x1.dfd2ep-2 +0x1.ec2148p-1 +0x1.3a1504p-1 +-0x1.5b8e2cp-1 +-0x1.bdcd3p-1 +-0x1.079a1p-1 +0x1.5007a8p-1 +0x1.a0908ap-1 +-0x1.19e172p-1 +0x1.a9bfdp-3 +0x1.7ffbdp-1 +-0x1.604336p-2 +0x1.1c31ccp-3 +0x1.0ac26cp-3 +0x1.6ae5f2p-1 +0x1.121bfp-1 +0x1.9158f6p-2 +0x1.9374cp-1 +-0x1.8b177ap-8 +0x1.cfe3ep-1 +0x1.f9f834p-4 +0x1.975716p-2 +0x1.54625cp-3 +-0x1.d84022p-1 +-0x1.61a5dcp-2 +0x1.8a6d0ap-1 +0x1.79d6d2p-2 +-0x1.b5d0f4p-3 +-0x1.6c1508p-3 +-0x1.cee6ecp-2 +0x1.26ddap-1 +-0x1.80891ap-1 +0x1.b383e6p-1 +0x1.5da5ecp-1 +-0x1.ae0576p-1 +0x1.4f48d4p-1 +-0x1.880168p-3 +-0x1.608e46p-1 +0x1.1a0036p-1 +-0x1.d6b7bap-2 +0x1.9050bcp-2 +0x1.b6e1f8p-3 +-0x1.3fd6bap-2 +0x1.a2e96cp-3 +0x1.1895dep-2 +0x1.b3f4dap-3 +-0x1.cd855cp-2 +0x1.ccea5ap-2 +0x1.558402p-1 +-0x1.2369a8p-2 +-0x1.d10b3p-1 +0x1.1ecb4ap-5 +0x1.808544p-1 +0x1.2a89dep-2 +-0x1.4125a6p-4 +0x1.271f98p-5 +-0x1.7e755p-9 +-0x1.0d9c24p-1 +0x1.2509ecp-3 +0x1.7a11f6p-1 +-0x1.ce345cp-6 +0x1.543b1ap-1 +-0x1.0dabccp-1 +-0x1.807586p-2 +0x1.d01544p-2 +-0x1.23630cp-3 +0x1.f8baf2p-4 +0x1.2c45a4p-2 +-0x1.e7a83cp-2 +0x1.1b546ep-2 +0x1.64958ep-2 +-0x1.1788ap-3 +-0x1.7c7736p-1 +-0x1.86a542p-1 +-0x1.699836p-1 +-0x1.37057ap-1 +-0x1.abe92ap-3 +0x1.94d0b6p-1 +0x1.d7d5bp-2 +-0x1.b42382p-2 +-0x1.60be74p-1 +0x1.035cecp-1 +0x1.7f99fcp-2 +-0x1.995296p-3 +0x1.5ff66ap-2 +-0x1.d41802p-1 +-0x1.aec89cp-1 +0x1.3cda12p-1 +0x1.8f57bep-1 +0x1.0cf5bp-2 +0x1.c8875ep-2 +0x1.ab8b96p-1 +0x1.1f3b7cp-3 +-0x1.541dcap-2 +-0x1.9ef1e2p-1 +-0x1.f1bdb2p-7 +0x1.7df5acp-1 +0x1.6eb4e8p-3 +0x1.efb1a4p-1 +-0x1.72bc14p-1 +-0x1.ba82f6p-2 +-0x1.ea55d8p-3 +0x1.292118p-1 +0x1.5e311cp-1 +-0x1.9bf966p-4 +0x1.cd24b4p-2 +0x1.88f71ap-2 +-0x1.0e428ap-4 +-0x1.9a536ep-2 +-0x1.f8c908p-1 +0x1.40c9a2p-6 +0x1.e18d8p-1 +0x1.108fbap-1 +-0x1.4fcec2p-6 +-0x1.080d9ap-1 +0x1.fc551cp-1 +0x1.9bb61cp-4 +-0x1.4168cp-2 +0x1.c799e8p-1 +-0x1.0c4a5ap-2 +0x1.ebf3ccp-1 +-0x1.be1b56p-1 +-0x1.88a11ap-1 +-0x1.8ecffcp-1 +0x1.c55182p-2 +0x1.d3d142p-3 +0x1.39252cp-2 +0x1.654ff8p-2 +-0x1.750bd8p-3 +-0x1.69df3ep-2 +0x1.bba0dp-1 +-0x1.28c5f2p-2 +0x1.321f6ap-1 +-0x1.eb4042p-2 +0x1.95914p-1 +-0x1.f11da8p-3 +0x1.cb7c72p-1 +0x1.63b18ep-2 +-0x1.9f6c02p-1 +-0x1.8ab8bcp-5 +0x1.7b590ep-4 +-0x1.5df522p-1 +-0x1.68ff1ap-9 +-0x1.540a26p-2 +-0x1.e70f7ap-1 +-0x1.443a22p-1 +-0x1.298bfep-3 +-0x1.86b306p-3 +0x1.1e2ab2p-1 +-0x1.23a576p-1 +-0x1.24f144p-1 +-0x1.4b31f8p-3 +0x1.16c554p-1 +0x1.0d1d3ep-3 +-0x1.d95ceap-4 +0x1.b35c34p-1 +0x1.d53302p-1 +-0x1.bd7b1p-2 +0x1.7aacdep-4 +-0x1.4d08ccp-3 +0x1.1bf0fcp-2 +0x1.dfb862p-1 +0x1.b15fccp-2 +-0x1.0acc9cp-2 +-0x1.3eabeap-1 +0x1.29a66ap-4 +-0x1.389b1ep-6 +0x1.a4ee6ap-3 +0x1.77f648p-3 +0x1.baf354p-1 +0x1.8bd0c2p-5 +0x1.0381bp-1 +0x1.371fdcp-1 +0x1.1e4186p-5 +0x1.3612eap-1 +0x1.4122c6p-1 +-0x1.b1def2p-1 +-0x1.d3b6c8p-3 +-0x1.b8dcb8p-1 +-0x1.f1d346p-1 +0x1.bb5df4p-2 +-0x1.87d1b2p-3 +-0x1.6b1c1cp-1 +-0x1.835d9p-2 +0x1.a11072p-1 +-0x1.0fdc3p-3 +-0x1.b2393ap-6 +0x1.64c874p-2 +0x1.49503cp-1 +0x1.d3a51cp-3 +-0x1.b9e888p-1 +-0x1.1ff292p-1 +0x1.a38aeep-5 +0x1.43a67p-2 +0x1.010fbp-1 +0x1.92a2c6p-3 +-0x1.2ee2p-3 +-0x1.181a88p-2 +-0x1.80ed38p-2 +-0x1.a2626p-1 +0x1.10247p-3 +0x1.31239ap-2 +-0x1.9a988cp-1 +0x1.2a95dep-2 +0x1.0a6016p-1 +0x1.dba78p-3 +-0x1.499e9ep-3 +-0x1.a5bf1ep-1 +-0x1.e737e2p-2 +-0x1.4d1852p-5 +0x1.b4a3fp-5 +0x1.baa424p-1 +0x1.50b7dcp-2 +0x1.a0ae4ep-1 +0x1.03c45p-1 +-0x1.6a1a44p-3 +-0x1.aa7486p-3 +0x1.4b4beep-1 +-0x1.d24a0cp-1 +0x1.94e16cp-2 +0x1.c0a628p-1 +0x1.50122p-3 +-0x1.f7107ap-4 +-0x1.70312ep-1 +0x1.a2b6acp-3 +0x1.7932e6p-1 +-0x1.338dp-3 +0x1.902b6ep-5 +-0x1.599ebep-1 +-0x1.e81a96p-3 +0x1.35b766p-2 +0x1.0bfdfap-1 +-0x1.48bb9ap-2 +-0x1.9d1a9p-1 +0x1.4ef9a4p-4 +0x1.8fe102p-2 +0x1.b8d37ep-2 +0x1.2498c8p-1 +0x1.383d52p-1 +-0x1.9653c6p-1 +0x1.f95622p-1 +0x1.e2e2d6p-2 +-0x1.b28b24p-2 +-0x1.52914cp-2 +-0x1.7ce9c2p-1 +-0x1.263a38p-1 +-0x1.b7340cp-2 +-0x1.adc26cp-2 +-0x1.9cfa82p-2 +0x1.699eaep-1 +0x1.7b4b3p-6 +-0x1.b59d0ep-3 +-0x1.5eb8ecp-2 +-0x1.cec0f8p-1 +0x1.572db2p-1 +0x1.6ad772p-4 +-0x1.49ca7ap-1 +0x1.1b2b62p-4 +0x1.36d5eep-2 +0x1.ba6548p-1 +-0x1.2ab656p-1 +-0x1.72fep-1 +-0x1.bde63cp-5 +0x1.490046p-1 +0x1.3f4e94p-2 +-0x1.087772p-1 +0x1.68a22cp-4 +-0x1.2647a8p-1 +0x1.0e5d18p-1 +-0x1.2de122p-1 +-0x1.91b2e6p-1 +0x1.4fee78p-2 +-0x1.8c8514p-5 +-0x1.09e92cp-3 +0x1.cb4042p-4 +0x1.9726dep-3 +0x1.8c68e4p-1 +0x1.3a6c8ep-1 +-0x1.eb8014p-3 +-0x1.704e46p-4 +0x1.385b92p-1 +-0x1.4792ecp-1 +0x1.c73c8ap-1 +-0x1.ca2cb8p-1 +0x1.99bca8p-1 +0x1.460798p-2 +0x1.f1babep-1 +0x1.f523f8p-2 +-0x1.b932d6p-2 +0x1.9d14aap-1 +-0x1.0cdfap-6 +-0x1.f0318p-3 +0x1.1648fep-1 +-0x1.c87dcap-3 +0x1.8f1964p-3 +-0x1.c96f96p-5 +0x1.b4f6a2p-3 +-0x1.2ad0e4p-2 +0x1.e42a9ep-2 +-0x1.06403ep-3 +-0x1.837efap-1 +0x1.2984fp-4 +-0x1.c66f4p-1 +-0x1.778abep-1 +-0x1.a4c7bcp-2 +0x1.2f2cb2p-3 +0x1.bd1848p-4 +0x1.e20ab4p-1 +-0x1.f7f612p-3 +-0x1.c27646p-2 +0x1.d14bap-4 +-0x1.0987f8p-1 +-0x1.19f55ep-1 +-0x1.75c0e4p-2 +-0x1.b1c836p-1 +0x1.e988d2p-1 +0x1.7b67d8p-1 +0x1.21f2a8p-1 +0x1.b96e7ap-4 +0x1.ad9c94p-1 +0x1.5652ep-3 +-0x1.642986p-1 +0x1.fb3c1cp-1 +-0x1.f525ecp-1 +-0x1.6e9a76p-1 +-0x1.71836ep-5 +0x1.e461bcp-3 +0x1.88ba44p-1 +-0x1.179be8p-5 +-0x1.0ed4ccp-2 +0x1.33bc22p-1 +0x1.29bd2ap-1 +-0x1.fdab52p-1 +-0x1.59a6e4p-2 +-0x1.da4e4ap-1 +-0x1.f2da58p-1 +0x1.fb6d4ap-3 +0x1.b745f4p-1 +0x1.ef6f4ep-2 +-0x1.23e156p-7 +0x1.7a4d5ep-1 +0x1.e7c0b4p-1 +0x1.477914p-3 +0x1.ca8a92p-1 +-0x1.10599cp-2 +-0x1.19b6e4p-1 +-0x1.3f8ed6p-1 +0x1.e8bee4p-2 +0x1.6d466ap-1 +0x1.92188p-1 +0x1.ec5154p-1 +-0x1.e8df5cp-2 +-0x1.68826p-1 +0x1.7e6c5p-4 +-0x1.40a592p-1 +-0x1.248f5cp-3 +-0x1.02654p-1 +-0x1.a23676p-1 +0x1.646a5p-1 +-0x1.d81a5p-5 +-0x1.a56694p-3 +-0x1.331a8ap-2 +0x1.a5b3cap-2 +0x1.66f044p-2 +0x1.23e11ap-2 +0x1.cfcd92p-2 +-0x1.7ebb1p-1 +-0x1.cea03ap-4 +0x1.acbdeap-1 +0x1.8803fp-1 +-0x1.3f809ap-1 +-0x1.481272p-5 +0x1.223c3p-1 +0x1.c4d30cp-1 +-0x1.42a26cp-2 +-0x1.3eac08p-1 +-0x1.a5d926p-3 +-0x1.b1d15cp-1 +-0x1.c79b0ep-1 +0x1.f167fap-2 +0x1.7aacdep-2 +-0x1.3a97b6p-1 +0x1.aec646p-3 +-0x1.edd2fap-1 +0x1.89da3cp-4 +-0x1.22f616p-2 +-0x1.500a42p-1 +0x1.b79c04p-2 +-0x1.090f9ap-1 +0x1.424678p-2 +-0x1.a4b4d6p-3 +0x1.421eaep-1 +-0x1.08ed3ap-2 +-0x1.1bd23ap-1 +0x1.7cedb2p-4 +-0x1.1f95fep-1 +0x1.4610a4p-1 +-0x1.249fdep-3 +-0x1.4516dap-5 +-0x1.b54fb6p-1 +0x1.da0c9ap-1 +0x1.db0ec8p-1 +-0x1.c782e4p-2 +0x1.85af54p-2 +-0x1.aade6ap-3 +-0x1.547b92p-4 +-0x1.8a25fp-5 +0x1.6fcb84p-1 +0x1.2daf52p-3 +0x1.0794e8p-2 +0x1.9ff4p-1 +-0x1.fc2476p-2 +-0x1.210c7ap-1 +0x1.f22eaap-1 +-0x1.a25f9ap-1 +0x1.c656dap-1 +0x1.d412fcp-4 +0x1.c899cep-2 +0x1.852dc6p-5 +-0x1.fada82p-1 +0x1.7fe52ap-1 +0x1.a31d1p-2 +-0x1.d8f9eap-2 +0x1.a38b92p-2 +-0x1.a000cp-3 +0x1.9bfe2ep-1 +0x1.b7077ep-3 +-0x1.a00d3p-2 +0x1.a988d8p-2 +0x1.7cf188p-1 +0x1.7305bap-1 +0x1.e2e038p-2 +0x1.b5b562p-4 +-0x1.52e3fap-1 +0x1.f8519p-1 +-0x1.7fab5p-1 +0x1.5dfaecp-3 +0x1.6c5da6p-1 +-0x1.5bbd4ap-1 +-0x1.88bbecp-3 +0x1.d16ee2p-1 +-0x1.071304p-1 +-0x1.8be6bap-1 +0x1.27cf3ap-1 +-0x1.08f87ep-1 +-0x1.c5d5a6p-3 +-0x1.592718p-1 +-0x1.6789dp-2 +0x1.a3b27cp-8 +0x1.2cdc54p-1 +-0x1.aa7dep-3 +0x1.8062fp-1 +0x1.b64136p-3 +0x1.6f9548p-1 +-0x1.8300b4p-6 +-0x1.87e008p-5 +0x1.51fad8p-1 +-0x1.caa1aap-7 +0x1.d5a40ep-4 +-0x1.6ac5d2p-3 +-0x1.9db40ep-1 +0x1.41aee8p-3 +0x1.f8ae18p-3 +-0x1.d45c64p-1 +0x1.541feap-1 +-0x1.9cd0d2p-1 +0x1.2ae9eap-5 +0x1.e584fp-3 +0x1.4c43bcp-1 +0x1.d71a7ap-2 +0x1.b29d26p-6 +-0x1.3c87f4p-3 +-0x1.fad376p-5 +-0x1.2afbccp-1 +-0x1.c13422p-4 +0x1.80a34ap-1 +-0x1.1b931ap-1 +-0x1.e582a6p-1 +-0x1.d0214ep-1 +-0x1.bf5116p-1 +0x1.80cdb6p-2 +-0x1.bdd19ep-1 +0x1.c616aep-1 +-0x1.ff865ap-1 +-0x1.b94ab4p-1 +0x1.b63c04p-1 +-0x1.699608p-6 +0x1.9adb06p-1 +-0x1.46273p-3 +-0x1.fb70f6p-3 +-0x1.72e71ep-3 +-0x1.a9282cp-6 +0x1.8bfa74p-4 +-0x1.a0e0e2p-1 +-0x1.3d6d58p-2 +0x1.89c75ep-2 +-0x1.241f1cp-1 +-0x1.2bc568p-1 +0x1.e60e4cp-1 +0x1.40105cp-3 +-0x1.2ef564p-1 +-0x1.07bf42p-2 +-0x1.049d34p-1 +-0x1.45f552p-2 +-0x1.1997c4p-4 +-0x1.8de364p-2 +-0x1.05bb6p-1 +-0x1.342b54p-1 +-0x1.89b84ep-2 +-0x1.3f7bcep-1 +0x1.1445cp-6 +0x1.bda78ap-1 +-0x1.854a98p-1 +0x1.5de8d2p-1 +0x1.fb1532p-3 +-0x1.c9dbdcp-4 +-0x1.028ce8p-2 +0x1.8733dep-1 +-0x1.245a56p-3 +0x1.06a56p-5 +-0x1.0bf4ap-1 +-0x1.b581e2p-1 +-0x1.c2e7f4p-2 +-0x1.276d42p-1 +-0x1.061c5cp-4 +-0x1.3228ap-2 +0x1.2a67e2p-2 +-0x1.809258p-1 +-0x1.44c4ep-2 +-0x1.4bdccap-2 +0x1.faeaf4p-1 +0x1.53cd26p-3 +0x1.aabe66p-2 +-0x1.09a5p-1 +-0x1.446314p-3 +-0x1.e0af62p-3 +-0x1.cc1818p-2 +-0x1.3f3c5ap-1 +-0x1.eaede6p-5 +0x1.95010cp-2 +0x1.61f82cp-2 +0x1.53d116p-1 +0x1.788304p-1 +0x1.188138p-2 +0x1.0c9426p-1 +0x1.f8fd58p-1 +0x1.4a5cd6p-4 +-0x1.366788p-3 +-0x1.37d8ccp-1 +0x1.0b29b4p-1 +-0x1.c96cf2p-1 +-0x1.01c426p-5 +0x1.d80d3cp-1 +-0x1.2c483p-1 +-0x1.fb19c4p-2 +0x1.901954p-1 +0x1.91bb1p-2 +0x1.8f2fbep-2 +-0x1.7b79dap-2 +-0x1.6b268ap-4 +0x1.af1126p-2 +-0x1.c37a24p-1 +0x1.8dc00ap-1 +0x1.63d1c8p-1 +0x1.926eb4p-6 +0x1.235de8p-1 +0x1.e42528p-2 +-0x1.572c38p-3 +0x1.0c638ap-3 +0x1.88a23cp-1 +0x1.71ac7ap-2 +0x1.acfa58p-3 +-0x1.8db6ecp-3 +0x1.fa8b9ap-4 +0x1.d12ffp-1 +-0x1.b6ec8cp-5 +-0x1.ba0902p-1 +0x1.ddb47ap-3 +0x1.73982ep-1 +-0x1.644962p-1 +-0x1.f5062ap-6 +-0x1.52bfb6p-2 +0x1.faf4ecp-4 +0x1.a05c38p-2 +0x1.afc80cp-2 +-0x1.0c96d4p-4 +-0x1.eb6172p-1 +-0x1.4d7474p-1 +0x1.97f4b8p-2 +0x1.b431c8p-3 +-0x1.0eb48cp-2 +0x1.88649ep-2 +-0x1.fc0fd6p-2 +-0x1.0052d6p-3 +-0x1.04dbdep-1 +0x1.ece166p-5 +0x1.c9d72ap-1 +0x1.df2ae2p-2 +-0x1.12b504p-1 +-0x1.b4c8eap-4 +-0x1.bbb53ep-1 +0x1.e63fdp-1 +0x1.ea8b02p-1 +-0x1.0d8c0cp-1 +-0x1.4e1244p-2 +0x1.7f6a4ep-2 +-0x1.37faaep-2 +0x1.b81386p-5 +-0x1.fcccf8p-1 +0x1.d5fbdp-2 +-0x1.6c946ap-1 +-0x1.1b352cp-1 +0x1.c11582p-2 +0x1.99001ap-1 +0x1.0dc7c6p-1 +0x1.8fddb4p-1 +0x1.499c58p-1 +-0x1.59c654p-2 +0x1.5eab24p-1 +-0x1.b85a6ap-1 +-0x1.30a6dap-1 +-0x1.932a56p-3 +-0x1.dea32p-2 +0x1.ff3e96p-5 +-0x1.4c618p-1 +-0x1.84e5ap-1 +0x1.7abe06p-2 +-0x1.c7ed9ap-2 +0x1.19b9a8p-3 +0x1.ec5ddp-1 +-0x1.719e66p-1 +-0x1.9c222ep-1 +0x1.ad9e52p-2 +-0x1.b91d5ep-1 +0x1.2f1a9ep-1 +-0x1.fa2f56p-1 +-0x1.f21f1p-1 +-0x1.95f9ecp-1 +0x1.f29af8p-3 +0x1.6fb0acp-2 +-0x1.3c294ep-1 +0x1.8c641ep-2 +-0x1.9ab2bcp-2 +-0x1.351b0ep-5 +-0x1.91b36p-1 +0x1.6b0cfcp-1 +0x1.387baap-5 +0x1.ab2eb2p-1 +-0x1.93edaap-1 +0x1.d085dap-2 +0x1.2d822ap-2 +0x1.ac9ee4p-1 +-0x1.3c5d22p-4 +-0x1.9448c4p-2 +0x1.b402d8p-1 +-0x1.b89d82p-4 +-0x1.3bee36p-2 +-0x1.bb481cp-4 +-0x1.a497f6p-1 +0x1.8c0e64p-1 +-0x1.c28ef4p-1 +0x1.979656p-3 +-0x1.ac4f7cp-1 +-0x1.0b9d3p-1 +0x1.6dea12p-2 +0x1.043b4cp-1 +0x1.235684p-1 +-0x1.d35da2p-3 +-0x1.755cb8p-1 +0x1.74413p-2 +0x1.d833cep-1 +-0x1.95d77ap-1 +0x1.fefb2ep-2 +0x1.403c34p-1 +0x1.3dedbcp-1 +-0x1.6a9174p-1 +0x1.abcb4cp-8 +-0x1.fe3e1ap-1 +0x1.aed45ep-3 +0x1.fca5b2p-2 +-0x1.5aec2cp-5 +-0x1.78b2a8p-1 +-0x1.224796p-3 +0x1.bdd2c2p-1 +0x1.17da74p-4 +0x1.120b4cp-1 +0x1.4e1d52p-1 +0x1.16e1fp-2 +-0x1.01c2b6p-2 +-0x1.c352ecp-3 +0x1.35108ep-1 +-0x1.a04352p-6 +0x1.d0d832p-2 +-0x1.be71c4p-1 +0x1.53b13cp-1 +0x1.7d916ap-3 +-0x1.a281bcp-3 +-0x1.042096p-1 +-0x1.449426p-3 +0x1.bf3b7ap-2 +0x1.1d432ap-2 +-0x1.e77d8p-6 +-0x1.046d5ep-1 +-0x1.d704d6p-1 +-0x1.239618p-1 +-0x1.35ca84p-2 +-0x1.be45cap-1 +-0x1.9839e6p-3 +-0x1.0e269ap-1 +0x1.055fcep-1 +-0x1.c41bbap-3 +-0x1.85e72p-2 +-0x1.76fa5cp-2 +-0x1.0d2e12p-1 +0x1.38c6aap-1 +-0x1.187b2cp-2 +0x1.878a38p-2 +0x1.096782p-1 +-0x1.3a3c82p-1 +0x1.5f46eep-2 +-0x1.8f9916p-2 +0x1.4e239cp-2 +0x1.1db18cp-1 +-0x1.47e9fap-3 +-0x1.d3de9ep-1 +0x1.9057d2p-7 +0x1.426d94p-1 +0x1.6e8a0cp-1 +0x1.72474cp-6 +-0x1.2d2caap-1 +-0x1.ee3072p-1 +0x1.dee28ap-2 +0x1.1b89fep-1 +-0x1.29a052p-2 +-0x1.31163cp-2 +-0x1.d4be14p-1 +0x1.45e848p-1 +-0x1.d264dap-2 +-0x1.6c2b72p-2 +0x1.9872a6p-2 +-0x1.51bd08p-1 +0x1.514bp-1 +-0x1.e085fep-1 +0x1.53009p-1 +-0x1.6934bp-1 +-0x1.e60096p-1 +-0x1.7167d2p-1 +0x1.c3d124p-7 +0x1.595b7ap-1 +-0x1.4786d4p-2 +0x1.60ab0ap-3 +0x1.ab6546p-4 +-0x1.4ce38ap-7 +0x1.4c4202p-3 +0x1.edd0e6p-1 +0x1.e82eap-1 +-0x1.878edap-6 +0x1.b8c5dp-1 +-0x1.758052p-1 +0x1.6beddcp-1 +-0x1.5d201ap-1 +-0x1.4106eap-1 +-0x1.ed26c4p-1 +0x1.40b2acp-3 +0x1.1dc00ap-1 +-0x1.9a927ap-1 +0x1.02bdcep-2 +0x1.23c368p-1 +0x1.11b786p-1 +0x1.b864c8p-3 +0x1.217d76p-1 +0x1.d1bcbp-1 +0x1.2b141cp-3 +-0x1.62ef5p-2 +0x1.94ea8ap-4 +0x1.0a74a8p-2 +0x1.e0bdcap-2 +-0x1.e80fbcp-2 +0x1.65ca6p-1 +0x1.0e00b6p-2 +0x1.3f7602p-1 +-0x1.34ee6p-1 +-0x1.51a328p-2 +0x1.97f7f2p-1 +0x1.b1adfep-1 +-0x1.5a6d86p-1 +0x1.784ca8p-1 +0x1.2d0946p-2 +-0x1.594df6p-1 +0x1.0650bep-2 +0x1.a26172p-7 +0x1.a61d2p-3 +-0x1.afb4c8p-4 +-0x1.159c2cp-1 +0x1.d6bf1ap-2 +0x1.5159aep-1 +-0x1.efc4f4p-2 +-0x1.16670cp-2 +0x1.20517cp-2 +0x1.46cc94p-1 +0x1.ab4774p-5 +0x1.20e1a2p-1 +-0x1.bc3572p-1 +-0x1.c5e448p-2 +0x1.68bbd6p-4 +0x1.16ba84p-1 +0x1.270e1ep-3 +-0x1.c4a876p-1 +-0x1.9b60eap-8 +0x1.ba1ce6p-1 +0x1.2c2b52p-1 +-0x1.7e2b3ap-2 +-0x1.ac1924p-3 +0x1.120eeep-2 +0x1.df9648p-3 +0x1.819cf6p-2 +-0x1.baf79ap-2 +-0x1.3c652ep-1 +-0x1.304962p-1 +-0x1.6ee21cp-2 +0x1.96f7eep-5 +0x1.aa7712p-1 +-0x1.779cfep-4 +0x1.a2b002p-1 +0x1.e15e9ep-1 +0x1.c5917ap-1 +-0x1.eab47p-1 +0x1.564d5ap-1 +-0x1.068ddep-3 +0x1.11b298p-1 +0x1.c54948p-3 +0x1.08008ep-3 +0x1.ccad7cp-4 +0x1.0d9a74p-2 +0x1.b12186p-3 +0x1.9a0be4p-1 +-0x1.58ffc8p-4 +0x1.802e2ap-2 +0x1.40d8d6p-3 +-0x1.970408p-1 +-0x1.930bdp-1 +-0x1.dc2a3p-3 +-0x1.a51098p-3 +-0x1.bca5eap-4 +-0x1.4c97f2p-3 +0x1.9ec046p-2 +-0x1.bf8f7cp-2 +0x1.f27b9ep-2 +-0x1.26f5dap-2 +-0x1.bf469ap-6 +0x1.9105ep-1 +-0x1.1069eap-1 +0x1.925da6p-4 +-0x1.bf3118p-1 +-0x1.21704cp-1 +-0x1.128c48p-3 +0x1.df6d9ep-2 +-0x1.1d8da2p-1 +-0x1.898b68p-1 +0x1.4f261cp-1 +0x1.e516aep-5 +0x1.00755cp-2 +-0x1.f4599p-2 +0x1.2f7f5ap-2 +-0x1.ea5f1ap-1 +-0x1.d8ac8cp-6 +-0x1.84a67cp-1 +0x1.dcd748p-1 +-0x1.32bcap-4 +0x1.a9a27ap-4 +-0x1.9d5db8p-1 +0x1.e3458p-1 +0x1.e8d24ep-6 +-0x1.63966ap-2 +-0x1.79e9ccp-2 +-0x1.650482p-1 +0x1.6a2b6ep-5 +0x1.206bb8p-1 +-0x1.d6fe34p-2 +0x1.2bcbbcp-1 +0x1.7eaad6p-1 +-0x1.fb997ep-1 +0x1.180e4ap-4 +-0x1.7895acp-2 +0x1.c4b296p-1 +0x1.de5a8cp-1 +0x1.cee88p-2 +0x1.560696p-3 +-0x1.eae7c8p-2 +0x1.ee5de6p-1 +-0x1.69d7d6p-4 +-0x1.1ec2cap-4 +-0x1.b7d8d4p-2 +0x1.e2a8b2p-1 +0x1.576682p-1 +-0x1.21dda6p-3 +0x1.d396d8p-4 +-0x1.0d8292p-2 +0x1.7ed824p-9 +-0x1.91626ep-1 +0x1.76d8bp-1 +0x1.e39884p-1 +0x1.a135f6p-1 +-0x1.3d069ep-1 +0x1.2c11c4p-1 +0x1.7900dep-1 +0x1.0ae9e2p-4 +-0x1.13b894p-1 +-0x1.5cb688p-7 +0x1.91ec84p-2 +0x1.694ddep-6 +-0x1.398efp-1 +-0x1.8886dep-1 +-0x1.eca37ap-6 +-0x1.5aab5cp-7 +-0x1.013774p-1 +0x1.8bcb4p-1 +0x1.b6c0dap-2 +0x1.db71fp-3 +0x1.f802ecp-1 +-0x1.a89dd2p-1 +0x1.a65da2p-3 +-0x1.cc22ccp-8 +0x1.fd1108p-5 +0x1.7eb01cp-2 +0x1.cb91d6p-3 +0x1.e7fa4cp-1 +0x1.38e93ep-3 +0x1.d0d974p-3 +-0x1.c66866p-2 +0x1.c62694p-1 +-0x1.ac41f4p-4 +0x1.177ee4p-1 +-0x1.4fadb6p-2 +-0x1.d9a11ap-5 +-0x1.6a8e74p-1 +0x1.8793a8p-4 +0x1.692428p-2 +-0x1.eb454p-1 +-0x1.446fbep-2 +-0x1.05c5ecp-3 +-0x1.9b0ecp-2 +0x1.f6acbep-1 +-0x1.3479a2p-1 +-0x1.21730ap-3 +0x1.5acbb4p-6 +-0x1.8fddcep-2 +0x1.1d3cbp-1 +-0x1.da3892p-1 +0x1.021e3p-2 +-0x1.46686ap-4 +0x1.0673acp-3 +-0x1.db8682p-3 +0x1.deb208p-3 +0x1.357606p-4 +-0x1.a56c98p-6 +0x1.b5f89ep-1 +-0x1.8c17cap-3 +-0x1.65d8d8p-3 +0x1.9222ecp-3 +0x1.2e4afcp-3 +0x1.6b705cp-1 +0x1.bbf77ep-6 +-0x1.8adbc6p-2 +0x1.433f6ap-2 +-0x1.d6ae58p-1 +0x1.67bc66p-2 +-0x1.242ca2p-1 +0x1.f1131ep-1 +0x1.aed728p-1 +0x1.daa8d6p-8 +0x1.b9a9b4p-5 +0x1.d80ae2p-1 +0x1.4d5612p-2 +-0x1.c7440cp-1 +0x1.575c8p-1 +0x1.ab0998p-3 +0x1.1ab062p-2 +0x1.2e364p-3 +-0x1.1a0c56p-1 +0x1.4d4cd2p-3 +0x1.6802fap-1 +0x1.4574dp-1 +-0x1.a79d78p-2 +0x1.00924cp-1 +-0x1.b1bce4p-1 +-0x1.2a255ep-2 +0x1.8daa0ap-2 +0x1.1d2dep-1 +-0x1.ee847cp-1 +0x1.966612p-2 +-0x1.677cc4p-4 +0x1.ab8bb4p-5 +0x1.52db6ap-1 +0x1.61c88p-2 +-0x1.e25128p-1 +0x1.dbc62ep-3 +0x1.8b0d0ap-1 +0x1.6d10f4p-1 +-0x1.a572bcp-2 +0x1.46902ep-4 +0x1.9f2472p-3 +-0x1.583018p-2 +0x1.2e16eap-3 +-0x1.eb2c5ep-1 +-0x1.5b97fap-1 +0x1.e09b72p-2 +0x1.8508a6p-3 +-0x1.87b252p-9 +0x1.36c3f4p-1 +-0x1.20a06ep-4 +-0x1.031486p-2 +0x1.ddfb98p-2 +0x1.1cb62cp-2 +-0x1.3bac38p-2 +-0x1.a150a8p-3 +0x1.08933ep-1 +-0x1.77306ap-1 +-0x1.2a7a5cp-2 +0x1.4a0fcp-1 +0x1.71facep-4 +0x1.f651dcp-1 +0x1.4b9d96p-1 +0x1.615c78p-1 +0x1.5d42p-3 +-0x1.44fae2p-1 +0x1.88e8eep-1 +-0x1.171286p-7 +0x1.4ee89cp-3 From patchwork Wed Nov 24 19:37:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48074 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EC2203858C60 for ; Wed, 24 Nov 2021 19:44:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EC2203858C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783065; bh=LHtqINV97LJhdAYzGy4gw9xdFj5kUIrL0sIPXL7W8Jc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=Vlj1CUE1O+ENYSoS0r34sHa7m183kSRe4Zel4/5SJ4a2d8v+4MXENlpiNdP+Bf/hQ ieODYHXG9K7QZOwxVNbC+jSAICvvTXzwzkAVVu8twTbJv+zYkpt+f9nofrvygWBfBR sWkKCj+56rDdDgrHVKhlZd9u2sM/DUb8VWGm/SE0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id B242D3858433 for ; Wed, 24 Nov 2021 19:38:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B242D3858433 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235599444" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235599444" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="509564564" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga007.fm.intel.com with ESMTP; 24 Nov 2021 11:38:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Wo021555; Wed, 24 Nov 2021 11:38:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 03/42] x86-64: Add vector acosh/acoshf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:28 -0800 Message-Id: <20211124193807.2093208-4-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized acosh/acoshf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector acosh/acoshf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_acosh2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_acosh2_core.c | 27 + .../fpu/multiarch/svml_d_acosh2_core_sse4.S | 5408 +++++++++++++++++ .../fpu/multiarch/svml_d_acosh4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_acosh4_core.c | 27 + .../fpu/multiarch/svml_d_acosh4_core_avx2.S | 5071 ++++++++++++++++ .../fpu/multiarch/svml_d_acosh8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_acosh8_core.c | 27 + .../fpu/multiarch/svml_d_acosh8_core_avx512.S | 864 +++ .../fpu/multiarch/svml_s_acoshf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_acoshf16_core.c | 28 + .../multiarch/svml_s_acoshf16_core_avx512.S | 661 ++ .../fpu/multiarch/svml_s_acoshf4_core-sse2.S | 20 + .../fpu/multiarch/svml_s_acoshf4_core.c | 28 + .../fpu/multiarch/svml_s_acoshf4_core_sse4.S | 2498 ++++++++ .../fpu/multiarch/svml_s_acoshf8_core-sse.S | 20 + .../fpu/multiarch/svml_s_acoshf8_core.c | 28 + .../fpu/multiarch/svml_s_acoshf8_core_avx2.S | 2112 +++++++ sysdeps/x86_64/fpu/svml_d_acosh2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_acosh4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_acosh4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_acosh8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_acoshf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_acoshf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_acoshf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_acoshf8_core_avx.S | 25 + .../fpu/test-double-libmvec-acosh-avx.c | 1 + .../fpu/test-double-libmvec-acosh-avx2.c | 1 + .../fpu/test-double-libmvec-acosh-avx512f.c | 1 + .../x86_64/fpu/test-double-libmvec-acosh.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../fpu/test-float-libmvec-acoshf-avx.c | 1 + .../fpu/test-float-libmvec-acoshf-avx2.c | 1 + .../fpu/test-float-libmvec-acoshf-avx512f.c | 1 + .../x86_64/fpu/test-float-libmvec-acoshf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 17182 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_acosh2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_acosh4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_acosh4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_acosh8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_acoshf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_acoshf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_acoshf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_acoshf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-acosh.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-acoshf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 2ccdd1fc53..7408044938 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -109,4 +109,15 @@ #define __DECL_SIMD_acosf32x #define __DECL_SIMD_acosf64x #define __DECL_SIMD_acosf128x + +#define __DECL_SIMD_acosh +#define __DECL_SIMD_acoshf +#define __DECL_SIMD_acoshl +#define __DECL_SIMD_acoshf16 +#define __DECL_SIMD_acoshf32 +#define __DECL_SIMD_acoshf64 +#define __DECL_SIMD_acoshf128 +#define __DECL_SIMD_acoshf32x +#define __DECL_SIMD_acoshf64x +#define __DECL_SIMD_acoshf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 2cc6654208..3380358eb8 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -82,7 +82,7 @@ __MATHDECL_VEC (void,sincos,, #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 /* Hyperbolic arc cosine of X. */ -__MATHCALL (acosh,, (_Mdouble_ __x)); +__MATHCALL_VEC (acosh,, (_Mdouble_ __x)); /* Hyperbolic arc sine of X. */ __MATHCALL (asinh,, (_Mdouble_ __x)); /* Hyperbolic arc tangent of X. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index b37b55777e..dfc5cbc7dc 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -47,10 +47,18 @@ GLIBC_2.22 _ZGVeN8v_sin F GLIBC_2.22 _ZGVeN8vv_pow F GLIBC_2.22 _ZGVeN8vvv_sincos F GLIBC_2.35 _ZGVbN2v_acos F +GLIBC_2.35 _ZGVbN2v_acosh F GLIBC_2.35 _ZGVbN4v_acosf F +GLIBC_2.35 _ZGVbN4v_acoshf F GLIBC_2.35 _ZGVcN4v_acos F +GLIBC_2.35 _ZGVcN4v_acosh F GLIBC_2.35 _ZGVcN8v_acosf F +GLIBC_2.35 _ZGVcN8v_acoshf F GLIBC_2.35 _ZGVdN4v_acos F +GLIBC_2.35 _ZGVdN4v_acosh F GLIBC_2.35 _ZGVdN8v_acosf F +GLIBC_2.35 _ZGVdN8v_acoshf F GLIBC_2.35 _ZGVeN16v_acosf F +GLIBC_2.35 _ZGVeN16v_acoshf F GLIBC_2.35 _ZGVeN8v_acos F +GLIBC_2.35 _ZGVeN8v_acosh F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index dabb74cbb9..e7097a0a77 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -62,6 +62,10 @@ # define __DECL_SIMD_acos __DECL_SIMD_x86_64 # undef __DECL_SIMD_acosf # define __DECL_SIMD_acosf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosh +# define __DECL_SIMD_acosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acoshf +# define __DECL_SIMD_acoshf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index bc781c45c7..de6e0164e9 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -23,6 +23,7 @@ postclean-generated += libmvec.mk # Define for both math and mathvec directories. libmvec-funcs = \ acos \ + acosh \ cos \ exp \ log \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 8d337bf716..053d32d14d 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -15,6 +15,8 @@ libmvec { }, GLIBC_2.35 { _ZGVbN2v_acos; _ZGVcN4v_acos; _ZGVdN4v_acos; _ZGVeN8v_acos; + _ZGVbN2v_acosh; _ZGVcN4v_acosh; _ZGVdN4v_acosh; _ZGVeN8v_acosh; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; + _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 85a568ed29..8c8f4c648d 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -69,6 +69,26 @@ float: 2 float128: 3 ldouble: 3 +Function: "acosh_vlen16": +float: 1 + +Function: "acosh_vlen2": +double: 2 + +Function: "acosh_vlen4": +double: 2 +float: 1 + +Function: "acosh_vlen4_avx2": +double: 2 + +Function: "acosh_vlen8": +double: 1 +float: 1 + +Function: "acosh_vlen8_avx2": +float: 2 + Function: "asin": double: 1 float: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core-sse2.S new file mode 100644 index 0000000000..28620a03a9 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized acosh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_acosh _ZGVbN2v_acosh_sse2 +#include "../svml_d_acosh2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core.c new file mode 100644 index 0000000000..8a41507326 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized acosh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_acosh +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_acosh, __GI__ZGVbN2v_acosh, __redirect__ZGVbN2v_acosh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core_sse4.S new file mode 100644 index 0000000000..d0bc37dd8d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core_sse4.S @@ -0,0 +1,5408 @@ +/* Function acosh vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute acosh(x) as log(x + sqrt(x*x - 1)) + * + * Special cases: + * + * acosh(NaN) = quiet NaN, and raise invalid exception + * acosh(-INF) = NaN + * acosh(+INF) = +INF + * acosh(x) = NaN if x < 1 + * acosh(1) = +0 + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_acosh_sse4) + 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 + movaps %xmm0, %xmm7 + movups %xmm10, 160(%rsp) + +/* Compute U = X - 1 and V = X + 1, naively first. */ + movaps %xmm7, %xmm2 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + +/* Load the constant 1 and possibly other stuff */ + movups 12800+__svml_dacosh_data_internal(%rip), %xmm10 + +/* + * Check that 1 < X < +inf; otherwise go to the callout function. + * We need the callout for X = 1 to avoid division by zero below. + * This test ensures that callout handles NaN and either infinity. + */ + movaps %xmm7, %xmm1 + movaps %xmm10, %xmm4 + movaps %xmm10, %xmm5 + subpd %xmm10, %xmm2 + addpd %xmm7, %xmm4 + cmpnlepd 13952+__svml_dacosh_data_internal(%rip), %xmm1 + cmpnltpd %xmm7, %xmm5 + +/* For low-accuracy versions, naivety is harmless */ + mulpd %xmm2, %xmm4 + +/* dH = [X + sqrt(X^2 - 1)] - 1 */ + sqrtpd %xmm4, %xmm3 + addpd %xmm2, %xmm3 + movups %xmm12, 144(%rsp) + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + movaps %xmm10, %xmm12 + maxpd %xmm3, %xmm12 + orps %xmm5, %xmm1 + movaps %xmm10, %xmm5 + minpd %xmm3, %xmm5 + movmskpd %xmm1, %edx + +/* Now multiplex to the case X = 2^-30 * input, Xl = dL = 0 in the "big" case. */ + movups 14464+__svml_dacosh_data_internal(%rip), %xmm0 + +/* + * The following computation can go wrong for very large X, e.g. + * the X^2 - 1 = U * V can overflow. But for large X we have + * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when to do this. + */ + movaps %xmm7, %xmm6 + andps 12864+__svml_dacosh_data_internal(%rip), %xmm3 + movaps %xmm12, %xmm1 + mulpd %xmm7, %xmm0 + cmpltpd 12928+__svml_dacosh_data_internal(%rip), %xmm3 + cmpltpd 13568+__svml_dacosh_data_internal(%rip), %xmm6 + addpd %xmm5, %xmm1 + orps 12992+__svml_dacosh_data_internal(%rip), %xmm3 + movaps %xmm6, %xmm4 + andps %xmm3, %xmm1 + andnps %xmm0, %xmm4 + subpd %xmm1, %xmm12 + andps %xmm6, %xmm1 + lea -4218816+__svml_dacosh_data_internal(%rip), %r8 + +/* + * Now resume the main code. + * preserve mantissa, set input exponent to 2^(-10) + */ + movups 12480+__svml_dacosh_data_internal(%rip), %xmm2 + orps %xmm1, %xmm4 + andps %xmm4, %xmm2 + +/* exponent bits */ + movaps %xmm4, %xmm1 + orps 12544+__svml_dacosh_data_internal(%rip), %xmm2 + psrlq $20, %xmm1 + +/* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm2, %xmm3 + addpd %xmm12, %xmm5 + movlhps %xmm3, %xmm3 + andps %xmm6, %xmm5 + rcpps %xmm3, %xmm0 + cvtps2pd %xmm0, %xmm3 + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_24(%rip), %xmm0 + addpd %xmm0, %xmm3 + subpd %xmm0, %xmm3 + +/* exponent of X needed to scale Xl */ + movdqu 13376+__svml_dacosh_data_internal(%rip), %xmm12 + movaps %xmm6, %xmm0 + +/* 2^ (-10-exp(X) ) */ + movdqu 13440+__svml_dacosh_data_internal(%rip), %xmm2 + pand %xmm4, %xmm12 + psubq %xmm12, %xmm2 + +/* scale DblRcp */ + mulpd %xmm3, %xmm2 + +/* argument reduction */ + mulpd %xmm2, %xmm4 + mulpd %xmm2, %xmm5 + subpd %xmm10, %xmm4 + pshufd $221, %xmm1, %xmm12 + +/* biased exponent in DP format */ + cvtdq2pd %xmm12, %xmm12 + +/* Add 31 to the exponent in the "large" case to get log(2 * input) */ + movups 14144+__svml_dacosh_data_internal(%rip), %xmm1 + addpd %xmm12, %xmm1 + andps %xmm6, %xmm12 + +/* + * prepare table index + * table lookup + */ + movaps %xmm3, %xmm6 + psrlq $40, %xmm6 + andnps %xmm1, %xmm0 + movd %xmm6, %eax + orps %xmm12, %xmm0 + pshufd $2, %xmm6, %xmm6 + +/* exponent*log(2.0) */ + movups 13184+__svml_dacosh_data_internal(%rip), %xmm12 + movd %xmm6, %ecx + movaps %xmm4, %xmm6 + addpd %xmm5, %xmm6 + cmpltpd %xmm3, %xmm12 + movaps %xmm6, %xmm2 + movaps %xmm6, %xmm10 + subpd %xmm4, %xmm2 + mulpd %xmm6, %xmm10 + subpd %xmm2, %xmm5 + +/* polynomial */ + movups 12416+__svml_dacosh_data_internal(%rip), %xmm4 + mulpd %xmm6, %xmm4 + movups 12448+__svml_dacosh_data_internal(%rip), %xmm3 + addpd 12432+__svml_dacosh_data_internal(%rip), %xmm4 + mulpd %xmm6, %xmm3 + mulpd %xmm10, %xmm4 + addpd 12464+__svml_dacosh_data_internal(%rip), %xmm3 + addpd %xmm4, %xmm3 + +/* + * reconstruction + * VQFMA( D, R, P, R2, R ); + */ + mulpd %xmm3, %xmm10 + addpd %xmm10, %xmm5 + andps 13248+__svml_dacosh_data_internal(%rip), %xmm12 + orps 13312+__svml_dacosh_data_internal(%rip), %xmm12 + subpd %xmm12, %xmm0 + addpd %xmm5, %xmm6 + mulpd 13504+__svml_dacosh_data_internal(%rip), %xmm0 + movslq %eax, %rax + movslq %ecx, %rcx + movsd (%r8,%rax), %xmm1 + movhpd (%r8,%rcx), %xmm1 + addpd %xmm6, %xmm1 + addpd %xmm1, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 160(%rsp), %xmm10 + cfi_restore(27) + movups 144(%rsp), %xmm12 + cfi_restore(29) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm7, 128(%rsp) + movups %xmm0, 192(%rsp) + xorl %eax, %eax + movups %xmm8, 80(%rsp) + movups %xmm9, 64(%rsp) + movups %xmm11, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 104(%rsp) + movq %rdi, 96(%rsp) + movq %r12, 120(%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 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 112(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 80(%rsp), %xmm8 + cfi_restore(25) + movups 64(%rsp), %xmm9 + cfi_restore(26) + movups 48(%rsp), %xmm11 + cfi_restore(28) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 104(%rsp), %rsi + cfi_restore(4) + movq 96(%rsp), %rdi + cfi_restore(5) + movq 120(%rsp), %r12 + cfi_restore(12) + movq 112(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm0 + 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, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 128(%rsp,%r12,8), %rdi + lea 192(%rsp,%r12,8), %rsi + call __svml_dacosh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_acosh_sse4) + + .align 16,0x90 + +__svml_dacosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dacosh_cout_rare_internal,@function + .size __svml_dacosh_cout_rare_internal,.-__svml_dacosh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dacosh_data_internal: + .long 3715793664 + .long 3230016299 + .long 4013928704 + .long 3189565726 + .long 3699038248 + .long 3230016303 + .long 4255595370 + .long 3189567439 + .long 3648859040 + .long 3230016307 + .long 1732833791 + .long 3189567296 + .long 3565385952 + .long 3230016311 + .long 2485752410 + .long 3189567274 + .long 3448748152 + .long 3230016315 + .long 3514744523 + .long 3189567800 + .long 3299074072 + .long 3230016319 + .long 3686511262 + .long 3189567474 + .long 3116491376 + .long 3230016323 + .long 716063611 + .long 3189567908 + .long 2901127016 + .long 3230016327 + .long 354437295 + .long 3189567291 + .long 2653107184 + .long 3230016331 + .long 3777462366 + .long 3189567264 + .long 2372557360 + .long 3230016335 + .long 3590663412 + .long 3189567498 + .long 2059602304 + .long 3230016339 + .long 1680795031 + .long 3189567428 + .long 1714366048 + .long 3230016343 + .long 2010344982 + .long 3189567986 + .long 1336971936 + .long 3230016347 + .long 166254822 + .long 3189567184 + .long 927542568 + .long 3230016351 + .long 59552610 + .long 3189567972 + .long 486199888 + .long 3230016355 + .long 2268824919 + .long 3189567664 + .long 13065112 + .long 3230016359 + .long 3005381643 + .long 3189567835 + .long 3803226080 + .long 3230016362 + .long 4018973165 + .long 3189567825 + .long 3266868056 + .long 3230016366 + .long 3693925101 + .long 3189567457 + .long 2699077504 + .long 3230016370 + .long 4005905743 + .long 3189567697 + .long 2099972936 + .long 3230016374 + .long 3580935118 + .long 3189567215 + .long 1469672176 + .long 3230016378 + .long 2928784295 + .long 3189567129 + .long 808292392 + .long 3230016382 + .long 674298833 + .long 3189567553 + .long 115950104 + .long 3230016386 + .long 2555938320 + .long 3189567208 + .long 3687728456 + .long 3230016389 + .long 532458218 + .long 3189567130 + .long 2933808064 + .long 3230016393 + .long 3888913110 + .long 3189567192 + .long 2149270784 + .long 3230016397 + .long 2365955494 + .long 3189567756 + .long 1334230552 + .long 3230016401 + .long 3325722981 + .long 3189567206 + .long 488800640 + .long 3230016405 + .long 1496133617 + .long 3189567683 + .long 3908061016 + .long 3230016408 + .long 1824836379 + .long 3189567490 + .long 3002189112 + .long 3230016412 + .long 1222174320 + .long 3189567837 + .long 2066263648 + .long 3230016416 + .long 2472769660 + .long 3189567285 + .long 1100395408 + .long 3230016420 + .long 447932460 + .long 3189567455 + .long 104694584 + .long 3230016424 + .long 1006807684 + .long 3189567460 + .long 3374238048 + .long 3230016427 + .long 4121834935 + .long 3189567556 + .long 2319200184 + .long 3230016431 + .long 3019906587 + .long 3189567664 + .long 1234656664 + .long 3230016435 + .long 3882744783 + .long 3189567930 + .long 120715280 + .long 3230016439 + .long 1927363170 + .long 3189567242 + .long 3272450504 + .long 3230016442 + .long 8203115 + .long 3189567876 + .long 2100034368 + .long 3230016446 + .long 1260625560 + .long 3189567855 + .long 898540192 + .long 3230016450 + .long 1791679111 + .long 3189567639 + .long 3963040720 + .long 3230016453 + .long 831133439 + .long 3189567590 + .long 2703706240 + .long 3230016457 + .long 2803140504 + .long 3189567482 + .long 1415608352 + .long 3230016461 + .long 2955844462 + .long 3189568058 + .long 98850816 + .long 3230016465 + .long 4017967070 + .long 3189567455 + .long 3048504096 + .long 3230016468 + .long 3974385451 + .long 3189567871 + .long 1674736240 + .long 3230016472 + .long 2424114556 + .long 3189567887 + .long 272616624 + .long 3230016476 + .long 4261883032 + .long 3189567073 + .long 3137214056 + .long 3230016479 + .long 3716750895 + .long 3189567522 + .long 1678694944 + .long 3230016483 + .long 498025304 + .long 3189567180 + .long 192127016 + .long 3230016487 + .long 1011852160 + .long 3189567511 + .long 2972577480 + .long 3230016490 + .long 558940916 + .long 3189567850 + .long 1430211120 + .long 3230016494 + .long 2550865739 + .long 3189567935 + .long 4155061376 + .long 3230016497 + .long 1930847170 + .long 3189567371 + .long 2557291968 + .long 3230016501 + .long 1716354804 + .long 3189567130 + .long 931967984 + .long 3230016505 + .long 2729403392 + .long 3189567981 + .long 3574154016 + .long 3230016508 + .long 1067280599 + .long 3189567890 + .long 1894012232 + .long 3230016512 + .long 2094260282 + .long 3189567604 + .long 186606176 + .long 3230016516 + .long 3897933165 + .long 3189568046 + .long 2746998904 + .long 3230016519 + .long 1935720459 + .long 3189567701 + .long 985351064 + .long 3230016523 + .long 2170344821 + .long 3189567164 + .long 3491691984 + .long 3230016526 + .long 4220979537 + .long 3189567547 + .long 1676181328 + .long 3230016530 + .long 1953924393 + .long 3189567854 + .long 4128847448 + .long 3230016533 + .long 1689829067 + .long 3189567468 + .long 2259849008 + .long 3230016537 + .long 2367753130 + .long 3189567619 + .long 364246088 + .long 3230016541 + .long 2263309073 + .long 3189567722 + .long 2737098280 + .long 3230016544 + .long 2366756869 + .long 3189567856 + .long 788562816 + .long 3230016548 + .long 2294653975 + .long 3189567145 + .long 3108665616 + .long 3230016551 + .long 1786494117 + .long 3189567254 + .long 1107562960 + .long 3230016555 + .long 3655887416 + .long 3189567689 + .long 3375279848 + .long 3230016558 + .long 1178948625 + .long 3189567241 + .long 1321971608 + .long 3230016562 + .long 1620080441 + .long 3189567466 + .long 3537662304 + .long 3230016565 + .long 154455618 + .long 3189567981 + .long 1432506360 + .long 3230016569 + .long 3128192125 + .long 3189567889 + .long 3596526920 + .long 3230016572 + .long 2026842750 + .long 3189567212 + .long 1439877480 + .long 3230016576 + .long 1384431897 + .long 3189567284 + .long 3552580280 + .long 3230016579 + .long 1999983129 + .long 3189568079 + .long 1344787944 + .long 3230016583 + .long 4035436820 + .long 3189567579 + .long 3406521808 + .long 3230016586 + .long 77799817 + .long 3189567285 + .long 1147933592 + .long 3230016590 + .long 1261060207 + .long 3189567477 + .long 3159043768 + .long 3230016593 + .long 2102717775 + .long 3189567605 + .long 850003184 + .long 3230016597 + .long 161472469 + .long 3189567688 + .long 2810831440 + .long 3230016600 + .long 1937336881 + .long 3189567665 + .long 451678520 + .long 3230016604 + .long 2268353549 + .long 3189567773 + .long 2362563168 + .long 3230016607 + .long 1785871595 + .long 3189567889 + .long 4248601816 + .long 3230016610 + .long 2434669991 + .long 3189567898 + .long 1814910472 + .long 3230016614 + .long 2666999375 + .long 3189568058 + .long 3651506624 + .long 3230016617 + .long 1033139811 + .long 3189567312 + .long 1168538136 + .long 3230016621 + .long 4004618418 + .long 3189567740 + .long 2956021672 + .long 3230016624 + .long 3799928764 + .long 3189567751 + .long 424104288 + .long 3230016628 + .long 3650233137 + .long 3189567549 + .long 2162801816 + .long 3230016631 + .long 437313833 + .long 3189567438 + .long 3877227800 + .long 3230016634 + .long 2138293494 + .long 3189567140 + .long 1272495376 + .long 3230016638 + .long 2891370752 + .long 3189567168 + .long 2938619176 + .long 3230016641 + .long 1704142730 + .long 3189567114 + .long 285744240 + .long 3230016645 + .long 500817607 + .long 3189568035 + .long 1903884424 + .long 3230016648 + .long 3102571944 + .long 3189567668 + .long 3498151272 + .long 3230016651 + .long 2374193154 + .long 3189567933 + .long 773655960 + .long 3230016655 + .long 2898331636 + .long 3189568089 + .long 2320411168 + .long 3230016658 + .long 1983295500 + .long 3189567113 + .long 3843527280 + .long 3230016661 + .long 2132853542 + .long 3189567093 + .long 1048114320 + .long 3230016665 + .long 3551155364 + .long 3189567407 + .long 2524183824 + .long 3230016668 + .long 2564000663 + .long 3189567090 + .long 3976845048 + .long 3230016671 + .long 361581803 + .long 3189567196 + .long 1111206880 + .long 3230016675 + .long 696765230 + .long 3189568040 + .long 2517279744 + .long 3230016678 + .long 941542475 + .long 3189567463 + .long 3900171776 + .long 3230016681 + .long 2377895552 + .long 3189567282 + .long 964990760 + .long 3230016685 + .long 1173605489 + .long 3189567454 + .long 2301746008 + .long 3230016688 + .long 3096720313 + .long 3189567400 + .long 3615544576 + .long 3230016691 + .long 1942008121 + .long 3189567335 + .long 611493160 + .long 3230016695 + .long 3375481119 + .long 3189567537 + .long 1879599992 + .long 3230016698 + .long 4103239143 + .long 3189567624 + .long 3124971056 + .long 3230016701 + .long 3773474925 + .long 3189567869 + .long 52711992 + .long 3230016705 + .long 2465315445 + .long 3189567444 + .long 1252829960 + .long 3230016708 + .long 1041581158 + .long 3189567781 + .long 2430429904 + .long 3230016711 + .long 166620501 + .long 3189567739 + .long 3585583704 + .long 3230016714 + .long 2379237630 + .long 3189567984 + .long 423395616 + .long 3230016718 + .long 134834559 + .long 3189567178 + .long 1533871416 + .long 3230016721 + .long 1449318760 + .long 3189567373 + .long 2622114680 + .long 3230016724 + .long 3042372984 + .long 3189567127 + .long 3688195920 + .long 3230016727 + .long 1265290101 + .long 3189567921 + .long 437218048 + .long 3230016731 + .long 2248549362 + .long 3189567262 + .long 1459185496 + .long 3230016734 + .long 1293250365 + .long 3189567151 + .long 2459200496 + .long 3230016737 + .long 313786605 + .long 3189567180 + .long 3437332240 + .long 3230016740 + .long 3289151823 + .long 3189567872 + .long 98682312 + .long 3230016744 + .long 2693758821 + .long 3189567877 + .long 1033253848 + .long 3230016747 + .long 4237443192 + .long 3189567301 + .long 1946147760 + .long 3230016750 + .long 4099404586 + .long 3189567972 + .long 2837431968 + .long 3230016753 + .long 343640666 + .long 3189567552 + .long 3707174040 + .long 3230016756 + .long 4238401458 + .long 3189567983 + .long 260473960 + .long 3230016760 + .long 21423548 + .long 3189567559 + .long 1087333264 + .long 3230016763 + .long 3515278593 + .long 3189567309 + .long 1892851296 + .long 3230016766 + .long 629106375 + .long 3189567166 + .long 2677094384 + .long 3230016769 + .long 2048670044 + .long 3189567227 + .long 3440128544 + .long 3230016772 + .long 3739217292 + .long 3189568009 + .long 4182019504 + .long 3230016775 + .long 3662039444 + .long 3189567618 + .long 607865368 + .long 3230016779 + .long 1766486991 + .long 3189567112 + .long 1307665824 + .long 3230016782 + .long 512689457 + .long 3189567670 + .long 1986518392 + .long 3230016785 + .long 1704577378 + .long 3189567760 + .long 2644487576 + .long 3230016788 + .long 4001935135 + .long 3189567473 + .long 3281637576 + .long 3230016791 + .long 1184452342 + .long 3189567735 + .long 3898032312 + .long 3230016794 + .long 2714793956 + .long 3189567464 + .long 198768096 + .long 3230016798 + .long 3657654418 + .long 3189567905 + .long 773842856 + .long 3230016801 + .long 2809688013 + .long 3189567736 + .long 1328352328 + .long 3230016804 + .long 390727591 + .long 3189567393 + .long 1862359256 + .long 3230016807 + .long 1135237925 + .long 3189567248 + .long 2375926096 + .long 3230016810 + .long 1377572509 + .long 3189567837 + .long 2869115032 + .long 3230016813 + .long 3148383775 + .long 3189568032 + .long 3341987960 + .long 3230016816 + .long 3809536738 + .long 3189567313 + .long 3794606472 + .long 3230016819 + .long 4243445934 + .long 3189568034 + .long 4227031920 + .long 3230016822 + .long 1302642088 + .long 3189567451 + .long 344358048 + .long 3230016826 + .long 3239125361 + .long 3189567151 + .long 736580224 + .long 3230016829 + .long 3753161736 + .long 3189567129 + .long 1108791648 + .long 3230016832 + .long 624357483 + .long 3189568045 + .long 1461052568 + .long 3230016835 + .long 3153257064 + .long 3189567338 + .long 1793422920 + .long 3230016838 + .long 2705820149 + .long 3189567635 + .long 2105962400 + .long 3230016841 + .long 911564860 + .long 3189567737 + .long 2398730424 + .long 3230016844 + .long 1086958332 + .long 3189567948 + .long 2671786152 + .long 3230016847 + .long 1598984535 + .long 3189567210 + .long 2925188456 + .long 3230016850 + .long 4113385879 + .long 3189567401 + .long 3158995968 + .long 3230016853 + .long 2426812671 + .long 3189567396 + .long 3373267048 + .long 3230016856 + .long 3480845679 + .long 3189567359 + .long 3568059792 + .long 3230016859 + .long 3306230729 + .long 3189567924 + .long 3743432056 + .long 3230016862 + .long 3853821277 + .long 3189567317 + .long 3899441408 + .long 3230016865 + .long 2049309148 + .long 3189567699 + .long 4036145192 + .long 3230016868 + .long 2667321817 + .long 3189567166 + .long 4153600472 + .long 3230016871 + .long 3540670389 + .long 3189567114 + .long 4251864072 + .long 3230016874 + .long 404207883 + .long 3189567310 + .long 36025272 + .long 3230016878 + .long 2837617046 + .long 3189567103 + .long 96074976 + .long 3230016881 + .long 1231280453 + .long 3189567669 + .long 137101976 + .long 3230016884 + .long 792492437 + .long 3189567071 + .long 159162080 + .long 3230016887 + .long 2385525292 + .long 3189567618 + .long 162310880 + .long 3230016890 + .long 3272051015 + .long 3189567858 + .long 146603712 + .long 3230016893 + .long 623573538 + .long 3189567881 + .long 112095672 + .long 3230016896 + .long 2151835939 + .long 3189567451 + .long 58841608 + .long 3230016899 + .long 958006130 + .long 3189567217 + .long 4281863424 + .long 3230016901 + .long 549948691 + .long 3189567863 + .long 4191280920 + .long 3230016904 + .long 4177689987 + .long 3189567217 + .long 4082115512 + .long 3230016907 + .long 2895765193 + .long 3189567599 + .long 3954421112 + .long 3230016910 + .long 1055606208 + .long 3189567799 + .long 3808251392 + .long 3230016913 + .long 1966521217 + .long 3189567351 + .long 3643659776 + .long 3230016916 + .long 1017382758 + .long 3189567732 + .long 3460699480 + .long 3230016919 + .long 3485890155 + .long 3189567410 + .long 3259423472 + .long 3230016922 + .long 2657419170 + .long 3189567140 + .long 3039884488 + .long 3230016925 + .long 4198858220 + .long 3189568080 + .long 2802135064 + .long 3230016928 + .long 2343740494 + .long 3189567869 + .long 2546227480 + .long 3230016931 + .long 2423084215 + .long 3189567957 + .long 2272213808 + .long 3230016934 + .long 3887273856 + .long 3189567631 + .long 1980145888 + .long 3230016937 + .long 3992755473 + .long 3189567251 + .long 1670075336 + .long 3230016940 + .long 722498073 + .long 3189567389 + .long 1342053552 + .long 3230016943 + .long 3573506400 + .long 3189567965 + .long 996131728 + .long 3230016946 + .long 714695829 + .long 3189567392 + .long 632360808 + .long 3230016949 + .long 2816704229 + .long 3189567846 + .long 250791552 + .long 3230016952 + .long 386951333 + .long 3189567243 + .long 4146441768 + .long 3230016954 + .long 2155319939 + .long 3189567580 + .long 3729427184 + .long 3230016957 + .long 4227840137 + .long 3189567931 + .long 3294765200 + .long 3230016960 + .long 1718354212 + .long 3189567672 + .long 2842505696 + .long 3230016963 + .long 4243880582 + .long 3189567656 + .long 2372698352 + .long 3230016966 + .long 3784093842 + .long 3189567302 + .long 1885392624 + .long 3230016969 + .long 2318733051 + .long 3189567813 + .long 1380637784 + .long 3230016972 + .long 497929746 + .long 3189567210 + .long 858482864 + .long 3230016975 + .long 3218883783 + .long 3189567649 + .long 318976720 + .long 3230016978 + .long 3492652862 + .long 3189567382 + .long 4057135272 + .long 3230016980 + .long 473724673 + .long 3189568069 + .long 3483072376 + .long 3230016983 + .long 150485010 + .long 3189567757 + .long 2891803552 + .long 3230016986 + .long 3028900958 + .long 3189567173 + .long 2283376816 + .long 3230016989 + .long 321242596 + .long 3189567822 + .long 1657840008 + .long 3230016992 + .long 151305746 + .long 3189568029 + .long 1015240760 + .long 3230016995 + .long 2208026401 + .long 3189567184 + .long 355626480 + .long 3230016998 + .long 2487781842 + .long 3189567931 + .long 3974011720 + .long 3230017000 + .long 2391142094 + .long 3189567091 + .long 3280508896 + .long 3230017003 + .long 734457618 + .long 3189568092 + .long 2570132168 + .long 3230017006 + .long 3070902701 + .long 3189567794 + .long 1842928168 + .long 3230017009 + .long 1110877923 + .long 3189567896 + .long 1098943352 + .long 3230017012 + .long 3880360185 + .long 3189567898 + .long 338223984 + .long 3230017015 + .long 391995809 + .long 3189567294 + .long 3855783416 + .long 3230017017 + .long 4186345433 + .long 3189567745 + .long 3061732952 + .long 3230017020 + .long 3682852050 + .long 3189567081 + .long 2251085560 + .long 3230017023 + .long 3057037137 + .long 3189567617 + .long 1423886760 + .long 3230017026 + .long 3352664894 + .long 3189567074 + .long 580181848 + .long 3230017029 + .long 1170568982 + .long 3189567927 + .long 4014983272 + .long 3230017031 + .long 671148579 + .long 3189567293 + .long 3138401368 + .long 3230017034 + .long 267496658 + .long 3189567304 + .long 2245448192 + .long 3230017037 + .long 1285167087 + .long 3189568066 + .long 1336168336 + .long 3230017040 + .long 4259909589 + .long 3189567788 + .long 410606184 + .long 3230017043 + .long 1494078902 + .long 3189568031 + .long 3763773256 + .long 3230017045 + .long 261935754 + .long 3189567685 + .long 2805778992 + .long 3230017048 + .long 3679585605 + .long 3189567195 + .long 1831634536 + .long 3230017051 + .long 809066513 + .long 3189567664 + .long 841383576 + .long 3230017054 + .long 385945238 + .long 3189567897 + .long 4130036912 + .long 3230017056 + .long 825579909 + .long 3189567603 + .long 3107703272 + .long 3230017059 + .long 3911295427 + .long 3189567514 + .long 2069393104 + .long 3230017062 + .long 3473784588 + .long 3189567461 + .long 1015149384 + .long 3230017065 + .long 629861200 + .long 3189567515 + .long 4239982216 + .long 3230017067 + .long 2659142760 + .long 3189567083 + .long 3153999632 + .long 3230017070 + .long 1251680713 + .long 3189567080 + .long 2052211384 + .long 3230017073 + .long 3168705163 + .long 3189567992 + .long 934659776 + .long 3230017076 + .long 1674797624 + .long 3189567952 + .long 4096354216 + .long 3230017078 + .long 437847902 + .long 3189567971 + .long 2947402064 + .long 3230017081 + .long 4024401533 + .long 3189567960 + .long 1782812400 + .long 3230017084 + .long 786902458 + .long 3189567873 + .long 602626840 + .long 3230017087 + .long 2593792633 + .long 3189567812 + .long 3701854136 + .long 3230017089 + .long 3989721221 + .long 3189567126 + .long 2490600968 + .long 3230017092 + .long 2545746866 + .long 3189567591 + .long 1263875768 + .long 3230017095 + .long 3115843521 + .long 3189567377 + .long 21719488 + .long 3230017098 + .long 1730226063 + .long 3189567307 + .long 3059140216 + .long 3230017100 + .long 690350922 + .long 3189567892 + .long 1786244008 + .long 3230017103 + .long 3350998585 + .long 3189567394 + .long 498038616 + .long 3230017106 + .long 1499123379 + .long 3189568082 + .long 3489531672 + .long 3230017108 + .long 2598665922 + .long 3189567118 + .long 2170828712 + .long 3230017111 + .long 2436376826 + .long 3189567935 + .long 836937048 + .long 3230017114 + .long 1977004902 + .long 3189568052 + .long 3782863816 + .long 3230017116 + .long 4027224619 + .long 3189567373 + .long 2418714096 + .long 3230017119 + .long 2616869856 + .long 3189567271 + .long 1039494712 + .long 3230017122 + .long 3775628133 + .long 3189567616 + .long 3940212336 + .long 3230017124 + .long 419018052 + .long 3189567909 + .long 2530971600 + .long 3230017127 + .long 150919657 + .long 3189567379 + .long 1106778856 + .long 3230017130 + .long 2926254537 + .long 3189567139 + .long 3962640312 + .long 3230017132 + .long 1610863810 + .long 3189567216 + .long 2508660136 + .long 3230017135 + .long 1166015244 + .long 3189567672 + .long 1039844240 + .long 3230017138 + .long 645159638 + .long 3189567685 + .long 3851198376 + .long 3230017140 + .long 2449439581 + .long 3189567695 + .long 2352826264 + .long 3230017143 + .long 1619104640 + .long 3189567458 + .long 839733360 + .long 3230017146 + .long 2427070371 + .long 3189567165 + .long 3606924968 + .long 3230017148 + .long 2166480890 + .long 3189567544 + .long 2064504368 + .long 3230017151 + .long 2283025905 + .long 3189567907 + .long 507476584 + .long 3230017154 + .long 3923356754 + .long 3189567272 + .long 3230846472 + .long 3230017156 + .long 805331677 + .long 3189567533 + .long 1644716880 + .long 3230017159 + .long 3790469685 + .long 3189567406 + .long 44092384 + .long 3230017162 + .long 2689788214 + .long 3189567653 + .long 2723977432 + .long 3230017164 + .long 2762250221 + .long 3189567072 + .long 1094474416 + .long 3230017167 + .long 2781925193 + .long 3189567716 + .long 3745554800 + .long 3230017169 + .long 593120878 + .long 3189567817 + .long 2087320704 + .long 3230017172 + .long 403414988 + .long 3189568021 + .long 414776008 + .long 3230017175 + .long 359307328 + .long 3189567387 + .long 3022924432 + .long 3230017177 + .long 3373547966 + .long 3189567572 + .long 1321867688 + .long 3230017180 + .long 3978711340 + .long 3189567805 + .long 3901576528 + .long 3230017182 + .long 2765663238 + .long 3189568046 + .long 2172152384 + .long 3230017185 + .long 1181150766 + .long 3189568053 + .long 428598440 + .long 3230017188 + .long 2473022131 + .long 3189567471 + .long 2965917728 + .long 3230017190 + .long 1621744488 + .long 3189567971 + .long 1194211288 + .long 3230017193 + .long 2931299013 + .long 3189567190 + .long 3703449168 + .long 3230017195 + .long 873154950 + .long 3189568039 + .long 1903732144 + .long 3230017198 + .long 1510784525 + .long 3189567521 + .long 90062704 + .long 3230017201 + .long 2918231590 + .long 3189568086 + .long 2557443240 + .long 3230017203 + .long 3329944838 + .long 3189567475 + .long 715974088 + .long 3230017206 + .long 2679715410 + .long 3189568021 + .long 3155624672 + .long 3230017208 + .long 1841110143 + .long 3189567518 + .long 1286495072 + .long 3230017211 + .long 3881638924 + .long 3189567497 + .long 3698554440 + .long 3230017213 + .long 167906931 + .long 3189567169 + .long 1801902600 + .long 3230017216 + .long 1468264167 + .long 3189567597 + .long 4186508448 + .long 3230017218 + .long 2400624638 + .long 3189567691 + .long 2262471560 + .long 3230017221 + .long 3796182064 + .long 3189567357 + .long 324793264 + .long 3230017224 + .long 2801238958 + .long 3189567581 + .long 2668474776 + .long 3230017226 + .long 2273142813 + .long 3189567436 + .long 703615288 + .long 3230017229 + .long 831867571 + .long 3189567237 + .long 3020183048 + .long 3230017231 + .long 2238048829 + .long 3189567595 + .long 1028277008 + .long 3230017234 + .long 1163763070 + .long 3189567452 + .long 3317865168 + .long 3230017236 + .long 1206450788 + .long 3189567228 + .long 1299046216 + .long 3230017239 + .long 737162226 + .long 3189567879 + .long 3561787920 + .long 3230017241 + .long 2433253277 + .long 3189567901 + .long 1516188728 + .long 3230017244 + .long 3561277099 + .long 3189567506 + .long 3752216144 + .long 3230017246 + .long 1385095507 + .long 3189567674 + .long 1679968384 + .long 3230017249 + .long 829462408 + .long 3189567156 + .long 3889412704 + .long 3230017251 + .long 2939266725 + .long 3189567673 + .long 1790647080 + .long 3230017254 + .long 4214100827 + .long 3189567848 + .long 3973638544 + .long 3230017256 + .long 2537954451 + .long 3189567376 + .long 1848484816 + .long 3230017259 + .long 1128740312 + .long 3189567098 + .long 4005152680 + .long 3230017261 + .long 1932232434 + .long 3189568053 + .long 1853739648 + .long 3230017264 + .long 1359710694 + .long 3189567457 + .long 3984212256 + .long 3230017266 + .long 1268482287 + .long 3189567990 + .long 1806667776 + .long 3230017269 + .long 839689017 + .long 3189567631 + .long 3911072520 + .long 3230017271 + .long 3727165601 + .long 3189567921 + .long 1707523520 + .long 3230017274 + .long 1836550952 + .long 3189567895 + .long 3785986872 + .long 3230017276 + .long 172951407 + .long 3189567220 + .long 1556559360 + .long 3230017279 + .long 1166449891 + .long 3189567294 + .long 3609206856 + .long 3230017281 + .long 28625366 + .long 3189567222 + .long 1354025920 + .long 3230017284 + .long 4038426582 + .long 3189567978 + .long 3380982208 + .long 3230017286 + .long 2756284659 + .long 3189567362 + .long 1100172048 + .long 3230017289 + .long 848830252 + .long 3189567230 + .long 3101560856 + .long 3230017291 + .long 1868170309 + .long 3189567423 + .long 795244752 + .long 3230017294 + .long 3128260908 + .long 3189567885 + .long 2771188936 + .long 3230017296 + .long 1691261279 + .long 3189567706 + .long 439489304 + .long 3230017299 + .long 2886711298 + .long 3189567236 + .long 2390110824 + .long 3230017301 + .long 1311431101 + .long 3189567133 + .long 33149176 + .long 3230017304 + .long 3042183093 + .long 3189567401 + .long 1958569120 + .long 3230017306 + .long 3174208880 + .long 3189567462 + .long 3871433416 + .long 3230017308 + .long 302374021 + .long 3189567243 + .long 1476804712 + .long 3230017311 + .long 712531519 + .long 3189567241 + .long 3364647440 + .long 3230017313 + .long 3705318448 + .long 3189567568 + .long 945056744 + .long 3230017316 + .long 2424171915 + .long 3189568016 + .long 2807996856 + .long 3230017318 + .long 199511961 + .long 3189567094 + .long 363562688 + .long 3230017321 + .long 3766234060 + .long 3189567214 + .long 2201718256 + .long 3230017323 + .long 1956195829 + .long 3189567592 + .long 4027525584 + .long 3230017325 + .long 2891794585 + .long 3189567375 + .long 1546046576 + .long 3230017328 + .long 843173017 + .long 3189567760 + .long 3347244936 + .long 3230017330 + .long 1609532414 + .long 3189567955 + .long 841215080 + .long 3230017333 + .long 3356704285 + .long 3189567294 + .long 2617920488 + .long 3230017335 + .long 1641729240 + .long 3189567346 + .long 87455368 + .long 3230017338 + .long 1455753222 + .long 3189567878 + .long 1839783016 + .long 3230017340 + .long 1936589978 + .long 3189567944 + .long 3579964728 + .long 3230017342 + .long 1006586129 + .long 3189567993 + .long 1013061704 + .long 3230017345 + .long 2766825484 + .long 3189567880 + .long 2729036928 + .long 3230017347 + .long 1888685184 + .long 3189567954 + .long 137984104 + .long 3230017350 + .long 848046306 + .long 3189568090 + .long 1829866024 + .long 3230017352 + .long 4178224056 + .long 3189567750 + .long 3509743488 + .long 3230017354 + .long 2637072474 + .long 3189567070 + .long 882677184 + .long 3230017357 + .long 3133305384 + .long 3189567936 + .long 2538629624 + .long 3230017359 + .long 1343200028 + .long 3189567905 + .long 4182661312 + .long 3230017361 + .long 107195460 + .long 3189567427 + .long 1519832648 + .long 3230017364 + .long 602154914 + .long 3189567857 + .long 3140105848 + .long 3230017366 + .long 659160740 + .long 3189567417 + .long 453573824 + .long 3230017369 + .long 236889930 + .long 3189567396 + .long 2050198592 + .long 3230017371 + .long 1175634921 + .long 3189567087 + .long 3635040168 + .long 3230017373 + .long 1241855527 + .long 3189567941 + .long 913158504 + .long 3230017376 + .long 3947904414 + .long 3189567477 + .long 2474515312 + .long 3230017378 + .long 1206979822 + .long 3189567534 + .long 4024170344 + .long 3230017380 + .long 1847397805 + .long 3189567152 + .long 1267183240 + .long 3230017383 + .long 2916539301 + .long 3189567754 + .long 2793515456 + .long 3230017385 + .long 2568213263 + .long 3189568078 + .long 13259168 + .long 3230017388 + .long 3003245330 + .long 3189567303 + .long 1516375624 + .long 3230017390 + .long 3472633477 + .long 3189567153 + .long 3007924104 + .long 3230017392 + .long 532406289 + .long 3189567855 + .long 192963816 + .long 3230017395 + .long 4149310663 + .long 3189567165 + .long 1661455728 + .long 3230017397 + .long 946970842 + .long 3189567598 + .long 3118458864 + .long 3230017399 + .long 2040517972 + .long 3189567254 + .long 269032128 + .long 3230017402 + .long 3669971831 + .long 3189568072 + .long 1703136256 + .long 3230017404 + .long 2375197389 + .long 3189567687 + .long 3125829976 + .long 3230017406 + .long 296757744 + .long 3189567673 + .long 242171944 + .long 3230017409 + .long 611424102 + .long 3189567452 + .long 1642122608 + .long 3230017411 + .long 1700968423 + .long 3189567419 + .long 3030740440 + .long 3230017413 + .long 2947762668 + .long 3189567968 + .long 113083840 + .long 3230017416 + .long 690901756 + .long 3189567496 + .long 1479112984 + .long 3230017418 + .long 121139903 + .long 3189567571 + .long 2833886088 + .long 3230017420 + .long 173386055 + .long 3189567866 + .long 4177428584 + .long 3230017422 + .long 2964718132 + .long 3189567231 + .long 1214798496 + .long 3230017425 + .long 541562024 + .long 3189567842 + .long 2535955680 + .long 3230017427 + .long 3368765612 + .long 3189568076 + .long 3845958008 + .long 3230017429 + .long 3194541507 + .long 3189567689 + .long 849863256 + .long 3230017432 + .long 3443356552 + .long 3189567858 + .long 2137631024 + .long 3230017434 + .long 1180679397 + .long 3189567138 + .long 3414318912 + .long 3230017436 + .long 2261929999 + .long 3189567651 + .long 384984464 + .long 3230017439 + .long 954057098 + .long 3189567971 + .long 1639587024 + .long 3230017441 + .long 1346995839 + .long 3189567263 + .long 2883183944 + .long 3230017443 + .long 3253373727 + .long 3189567382 + .long 4115799808 + .long 3230017445 + .long 4143791142 + .long 3189567800 + .long 1042491824 + .long 3230017448 + .long 4240432954 + .long 3189567700 + .long 2253218992 + .long 3230017450 + .long 1891708033 + .long 3189568072 + .long 3453038360 + .long 3230017452 + .long 710292621 + .long 3189567662 + .long 347006880 + .long 3230017455 + .long 2712254611 + .long 3189567116 + .long 1525083304 + .long 3230017457 + .long 349583280 + .long 3189568004 + .long 2692324448 + .long 3230017459 + .long 1803227864 + .long 3189567740 + .long 3848754312 + .long 3230017461 + .long 3644606976 + .long 3189567826 + .long 699429536 + .long 3230017464 + .long 1067153346 + .long 3189567751 + .long 1834308568 + .long 3230017466 + .long 1335350692 + .long 3189567081 + .long 2958447872 + .long 3230017468 + .long 1803696599 + .long 3189567557 + .long 4071871152 + .long 3230017470 + .long 1232152547 + .long 3189568017 + .long 879634736 + .long 3230017473 + .long 1455437901 + .long 3189567512 + .long 1971696744 + .long 3230017475 + .long 3708110750 + .long 3189567399 + .long 3053113344 + .long 3230017477 + .long 3907324819 + .long 3189567290 + .long 4123907920 + .long 3230017479 + .long 4080000314 + .long 3189567141 + .long 889136480 + .long 3230017482 + .long 1286519001 + .long 3189567298 + .long 1938756848 + .long 3230017484 + .long 1292347423 + .long 3189567513 + .long 2977824880 + .long 3230017486 + .long 1159725249 + .long 3189568015 + .long 4006363664 + .long 3230017488 + .long 895621348 + .long 3189567502 + .long 729428896 + .long 3230017491 + .long 1212894155 + .long 3189567280 + .long 1736978096 + .long 3230017493 + .long 296117275 + .long 3189567210 + .long 2734066816 + .long 3230017495 + .long 2463481211 + .long 3189567796 + .long 3720717848 + .long 3230017497 + .long 76524950 + .long 3189567159 + .long 401986584 + .long 3230017500 + .long 1718551671 + .long 3189567216 + .long 1367830248 + .long 3230017502 + .long 3568874946 + .long 3189567584 + .long 2323304104 + .long 3230017504 + .long 2763456396 + .long 3189567666 + .long 3268430632 + .long 3230017506 + .long 1208592501 + .long 3189567715 + .long 4203232240 + .long 3230017508 + .long 4148835618 + .long 3189567851 + .long 832763976 + .long 3230017511 + .long 610418007 + .long 3189567082 + .long 1746982680 + .long 3230017513 + .long 3035714190 + .long 3189567431 + .long 2650943256 + .long 3230017515 + .long 85931336 + .long 3189567843 + .long 3544667832 + .long 3230017517 + .long 3006685957 + .long 3189567286 + .long 133211144 + .long 3230017520 + .long 878859600 + .long 3189567873 + .long 1006529776 + .long 3230017522 + .long 854333969 + .long 3189567724 + .long 1869678336 + .long 3230017524 + .long 3058646748 + .long 3189567155 + .long 2722678648 + .long 3230017526 + .long 360733640 + .long 3189567693 + .long 3565552488 + .long 3230017528 + .long 3015564990 + .long 3189568013 + .long 103354256 + .long 3230017531 + .long 2286095909 + .long 3189568081 + .long 926040176 + .long 3230017533 + .long 1899270393 + .long 3189567137 + .long 1738664488 + .long 3230017535 + .long 1377641292 + .long 3189567833 + .long 2541248696 + .long 3230017537 + .long 4266686523 + .long 3189568077 + .long 3333814224 + .long 3230017539 + .long 4018775563 + .long 3189567218 + .long 4116382408 + .long 3230017541 + .long 3373913644 + .long 3189567103 + .long 594007232 + .long 3230017544 + .long 2818265402 + .long 3189568021 + .long 1356644520 + .long 3230017546 + .long 1075601108 + .long 3189567716 + .long 2109348112 + .long 3230017548 + .long 3342127702 + .long 3189567566 + .long 2852139088 + .long 3230017550 + .long 2910355434 + .long 3189567504 + .long 3585038464 + .long 3230017552 + .long 611858749 + .long 3189567074 + .long 13099880 + .long 3230017555 + .long 1954698831 + .long 3189567516 + .long 726278816 + .long 3230017557 + .long 550712630 + .long 3189567710 + .long 1429628792 + .long 3230017559 + .long 3672474493 + .long 3189567278 + .long 2123170544 + .long 3230017561 + .long 1160875209 + .long 3189567651 + .long 2806924760 + .long 3230017563 + .long 2242524344 + .long 3189568000 + .long 3480912064 + .long 3230017565 + .long 2823138691 + .long 3189567327 + .long 4145152992 + .long 3230017567 + .long 3521079748 + .long 3189567568 + .long 504700744 + .long 3230017570 + .long 1136670137 + .long 3189567486 + .long 1149510328 + .long 3230017572 + .long 806933442 + .long 3189567823 + .long 1784634816 + .long 3230017574 + .long 1606084669 + .long 3189567242 + .long 2410094488 + .long 3230017576 + .long 2841342625 + .long 3189567480 + .long 3025909584 + .long 3230017578 + .long 984188059 + .long 3189567239 + .long 3632100264 + .long 3230017580 + .long 3011730434 + .long 3189567337 + .long 4228686632 + .long 3230017582 + .long 328432041 + .long 3189567676 + .long 520721440 + .long 3230017585 + .long 2057225622 + .long 3189567268 + .long 1098159248 + .long 3230017587 + .long 3150727306 + .long 3189567348 + .long 1666052680 + .long 3230017589 + .long 3291380622 + .long 3189567307 + .long 2224421584 + .long 3230017591 + .long 3570771984 + .long 3189567798 + .long 2773285760 + .long 3230017593 + .long 2427604440 + .long 3189567698 + .long 3312664936 + .long 3230017595 + .long 3733848165 + .long 3189567211 + .long 3842578768 + .long 3230017597 + .long 2673912350 + .long 3189567904 + .long 68079584 + .long 3230017600 + .long 960995892 + .long 3189567616 + .long 579121512 + .long 3230017602 + .long 4150493479 + .long 3189567659 + .long 1080756744 + .long 3230017604 + .long 1054941272 + .long 3189567735 + .long 1573004704 + .long 3230017606 + .long 2574365292 + .long 3189568007 + .long 2055884768 + .long 3230017608 + .long 2507498673 + .long 3189567092 + .long 2529416224 + .long 3230017610 + .long 2082176323 + .long 3189567207 + .long 2993618320 + .long 3230017612 + .long 3719982601 + .long 3189568058 + .long 3448510256 + .long 3230017614 + .long 4104247904 + .long 3189567897 + .long 3894111152 + .long 3230017616 + .long 3735557011 + .long 3189567647 + .long 35472776 + .long 3230017619 + .long 2914260983 + .long 3189567862 + .long 462548736 + .long 3230017621 + .long 1334094042 + .long 3189567734 + .long 880390688 + .long 3230017623 + .long 1291097379 + .long 3189567171 + .long 1289017512 + .long 3230017625 + .long 1627119803 + .long 3189567853 + .long 1688448064 + .long 3230017627 + .long 3886873723 + .long 3189567117 + .long 2078701104 + .long 3230017629 + .long 627887757 + .long 3189567206 + .long 2459795360 + .long 3230017631 + .long 1722013861 + .long 3189567101 + .long 2831749488 + .long 3230017633 + .long 4163262354 + .long 3189567678 + .long 3194582104 + .long 3230017635 + .long 4170237688 + .long 3189567639 + .long 3548311752 + .long 3230017637 + .long 47563772 + .long 3189567637 + .long 3892956928 + .long 3230017639 + .long 2990136007 + .long 3189567231 + .long 4228536056 + .long 3230017641 + .long 4294532248 + .long 3189567995 + .long 260100240 + .long 3230017644 + .long 2060709623 + .long 3189567397 + .long 577602376 + .long 3230017646 + .long 1488525373 + .long 3189568044 + .long 886093456 + .long 3230017648 + .long 1657840200 + .long 3189567474 + .long 1185591680 + .long 3230017650 + .long 3155771782 + .long 3189567399 + .long 1476115208 + .long 3230017652 + .long 2195162329 + .long 3189567591 + .long 1757682144 + .long 3230017654 + .long 1292806663 + .long 3189567956 + .long 2030310544 + .long 3230017656 + .long 2151451208 + .long 3189567540 + .long 2294018392 + .long 3230017658 + .long 2224122735 + .long 3189567630 + .long 2548823632 + .long 3230017660 + .long 3554417607 + .long 3189567684 + .long 2794744152 + .long 3230017662 + .long 3831650627 + .long 3189567409 + .long 3031797776 + .long 3230017664 + .long 4024246224 + .long 3189567811 + .long 3260002296 + .long 3230017666 + .long 2530219738 + .long 3189567128 + .long 3479375416 + .long 3230017668 + .long 1618145996 + .long 3189568024 + .long 3689934832 + .long 3230017670 + .long 392379700 + .long 3189567378 + .long 3891698144 + .long 3230017672 + .long 55874694 + .long 3189567574 + .long 4084682928 + .long 3230017674 + .long 4294251475 + .long 3189567312 + .long 4268906688 + .long 3230017676 + .long 1899705040 + .long 3189567783 + .long 149419600 + .long 3230017679 + .long 357699389 + .long 3189567568 + .long 316173656 + .long 3230017681 + .long 3025711727 + .long 3189567790 + .long 474218920 + .long 3230017683 + .long 2921891821 + .long 3189568046 + .long 623572704 + .long 3230017685 + .long 1716968749 + .long 3189567453 + .long 764252248 + .long 3230017687 + .long 2393171526 + .long 3189567748 + .long 896274768 + .long 3230017689 + .long 1343317993 + .long 3189567172 + .long 1019657400 + .long 3230017691 + .long 1388235839 + .long 3189567661 + .long 1134417256 + .long 3230017693 + .long 2766147125 + .long 3189567706 + .long 1240571384 + .long 3230017695 + .long 2162068842 + .long 3189567499 + .long 1338136776 + .long 3230017697 + .long 4075455588 + .long 3189567932 + .long 1427130392 + .long 3230017699 + .long 1579647664 + .long 3189567555 + .long 1507569120 + .long 3230017701 + .long 3785749868 + .long 3189567715 + .long 1579469816 + .long 3230017703 + .long 2639950365 + .long 3189567469 + .long 1642849272 + .long 3230017705 + .long 3611501026 + .long 3189567698 + .long 1697724240 + .long 3230017707 + .long 15422953 + .long 3189568066 + .long 1744111424 + .long 3230017709 + .long 2642213241 + .long 3189568062 + .long 1782027472 + .long 3230017711 + .long 143606300 + .long 3189568058 + .long 1811488992 + .long 3230017713 + .long 501328690 + .long 3189567276 + .long 1832512520 + .long 3230017715 + .long 3258054578 + .long 3189567915 + .long 1845114576 + .long 3230017717 + .long 1297851139 + .long 3189568007 + .long 1849311616 + .long 3230017719 + .long 3589200000 + .long 3189567580 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 2846560486 + .long 3210737666 + .long 2729511872 + .long 3211784202 + .long 3956813460 + .long 3212307985 + .long 1796237193 + .long 3212828714 + .long 1562748889 + .long 3213092649 + .long 1602292343 + .long 3213352007 + .long 745814092 + .long 3213610865 + .long 2969306084 + .long 3213869224 + .long 3953060839 + .long 3214006263 + .long 1128703349 + .long 3214134948 + .long 1371067273 + .long 3214263386 + .long 131445019 + .long 3214391579 + .long 1427948820 + .long 3214519527 + .long 665817496 + .long 3214647232 + .long 1817459908 + .long 3214774694 + .long 242758400 + .long 3214901915 + .long 2082038134 + .long 3214981455 + .long 2300828032 + .long 3215044825 + .long 571795571 + .long 3215108076 + .long 3120479584 + .long 3215171207 + .long 3276640540 + .long 3215234220 + .long 2949178581 + .long 3215297115 + .long 4036279704 + .long 3215359892 + .long 4130528508 + .long 3215422552 + .long 813954767 + .long 3215485096 + .long 248046571 + .long 3215547523 + .long 4288926261 + .long 3215609833 + .long 1897492927 + .long 3215672029 + .long 3499237165 + .long 3215734109 + .long 2329611090 + .long 3215796075 + .long 203907094 + .long 3215857927 + .long 3222364838 + .long 3215919664 + .long 295408387 + .long 3215981289 + .long 899212401 + .long 3216012696 + .long 2606049022 + .long 3216043395 + .long 4003691233 + .long 3216074038 + .long 1675303236 + .long 3216104626 + .long 789189655 + .long 3216135158 + .long 2213928479 + .long 3216165634 + .long 2518405585 + .long 3216196055 + .long 2561783534 + .long 3216226421 + .long 3198568176 + .long 3216256732 + .long 983674944 + .long 3216286989 + .long 1057364031 + .long 3216317191 + .long 4260371496 + .long 3216347338 + .long 2838974660 + .long 3216377432 + .long 1919860988 + .long 3216407472 + .long 2330291020 + .long 3216437458 + .long 598130195 + .long 3216467391 + .long 1836782285 + .long 3216497270 + .long 2565351466 + .long 3216527096 + .long 3593575201 + .long 3216556869 + .long 1431920350 + .long 3216586590 + .long 1176515501 + .long 3216616258 + .long 3624279252 + .long 3216645873 + .long 977982819 + .long 3216675437 + .long 2616083454 + .long 3216704948 + .long 733015457 + .long 3216734408 + .long 403990373 + .long 3216763816 + .long 2405156675 + .long 3216793172 + .long 3213628385 + .long 3216822477 + .long 3597448029 + .long 3216851731 + .long 25680167 + .long 3216880935 + .long 1848308454 + .long 3216910087 + .long 1231492199 + .long 3216939189 + .long 3222364838 + .long 3216968240 + .long 4274224607 + .long 3216997241 + .long 836496059 + .long 3217026193 + .long 1119829323 + .long 3217043131 + .long 315251054 + .long 3217057557 + .long 518461891 + .long 3217071958 + .long 2094042713 + .long 3217086334 + .long 1109735857 + .long 3217100686 + .long 2221359788 + .long 3217115013 + .long 1492952593 + .long 3217129316 + .long 3576653728 + .long 3217143594 + .long 237880003 + .long 3217157849 + .long 420109003 + .long 3217172079 + .long 180120274 + .long 3217186285 + .long 4162843939 + .long 3217200466 + .long 4126536273 + .long 3217214624 + .long 417628115 + .long 3217228759 + .long 1970736719 + .long 3217242869 + .long 538873716 + .long 3217256956 + .long 758227830 + .long 3217271019 + .long 2968307242 + .long 3217285058 + .long 3211951040 + .long 3217299074 + .long 1825275166 + .long 3217313067 + .long 3437683677 + .long 3217327036 + .long 4086978021 + .long 3217340982 + .long 4104270002 + .long 3217354905 + .long 3819025464 + .long 3217368805 + .long 3559075183 + .long 3217382682 + .long 3650625670 + .long 3217396536 + .long 123302585 + .long 3217410368 + .long 1890030548 + .long 3217424176 + .long 682272600 + .long 3217437962 + .long 1114811729 + .long 3217451725 + .long 3505892050 + .long 3217465465 + .long 3877229085 + .long 3217479183 + .long 2543954549 + .long 3217492879 + .long 4114626469 + .long 3217506552 + .long 311370023 + .long 3217520204 + .long 34658569 + .long 3217533833 + .long 3593519732 + .long 3217547439 + .long 2705545195 + .long 3217561024 + .long 1971736889 + .long 3217574587 + .long 1696647441 + .long 3217588128 + .long 2183357019 + .long 3217601647 + .long 3733482817 + .long 3217615144 + .long 2352221150 + .long 3217628620 + .long 2633258676 + .long 3217642074 + .long 578912458 + .long 3217655507 + .long 780008323 + .long 3217668918 + .long 3530988084 + .long 3217682307 + .long 534951267 + .long 3217695676 + .long 673467853 + .long 3217709023 + .long 4236783385 + .long 3217722348 + .long 2923827788 + .long 3217735653 + .long 1317060595 + .long 3217748937 + .long 3997577740 + .long 3217762199 + .long 2660218276 + .long 3217775441 + .long 1883376699 + .long 3217788662 + .long 1949142230 + .long 3217801862 + .long 3138274530 + .long 3217815041 + .long 1435244737 + .long 3217828200 + .long 1413145637 + .long 3217841338 + .long 3348797986 + .long 3217854455 + .long 3222758658 + .long 3217867552 + .long 1309263324 + .long 3217880629 + .long 2176234471 + .long 3217893685 + .long 1800387473 + .long 3217906721 + .long 452140382 + .long 3217919737 + .long 2695621757 + .long 3217932732 + .long 208809263 + .long 3217945708 + .long 1848308454 + .long 3217958663 + .long 3584589359 + .long 3217971598 + .long 1386895968 + .long 3217984514 + .long 4108155659 + .long 3217997409 + .long 3420215606 + .long 3218010285 + .long 3878621277 + .long 3218023141 + .long 1447787319 + .long 3218035978 + .long 680874053 + .long 3218048795 + .long 1834892843 + .long 3218061592 + .long 870713292 + .long 3218074370 + .long 1168986141 + .long 3218083436 + .long 3245089583 + .long 3218089805 + .long 2494877761 + .long 3218096165 + .long 3338922950 + .long 3218102515 + .long 1607293197 + .long 3218108856 + .long 1719424943 + .long 3218115187 + .long 3799224547 + .long 3218121508 + .long 3675071677 + .long 3218127820 + .long 1469757259 + .long 3218134123 + .long 1600486820 + .long 3218140416 + .long 4188949205 + .long 3218146699 + .long 766352567 + .long 3218152974 + .long 43231408 + .long 3218159239 + .long 2139646042 + .long 3218165494 + .long 2880153102 + .long 3218171740 + .long 2383743325 + .long 3218177977 + .long 768877423 + .long 3218184205 + .long 2448456521 + .long 3218190423 + .long 3244923387 + .long 3218196632 + .long 3275167422 + .long 3218202832 + .long 2655560435 + .long 3218209023 + .long 1501959692 + .long 3218215205 + .long 4224678246 + .long 3218221377 + .long 2348618756 + .long 3218227541 + .long 283080250 + .long 3218233696 + .long 2436859197 + .long 3218239841 + .long 333350563 + .long 3218245978 + .long 2675321801 + .long 3218252105 + .long 985177381 + .long 3218258224 + .long 3964700035 + .long 3218264333 + .long 3135315249 + .long 3218270434 + .long 2902865164 + .long 3218276526 + .long 3377742213 + .long 3218282609 + .long 374891912 + .long 3218288684 + .long 2593684821 + .long 3218294749 + .long 1553148222 + .long 3218300806 + .long 1656739931 + .long 3218306854 + .long 3012481825 + .long 3218312893 + .long 1432962538 + .long 3218318924 + .long 1320242026 + .long 3218324946 + .long 2780952336 + .long 3218330959 + .long 1626300240 + .long 3218336964 + .long 2256971748 + .long 3218342960 + .long 483265518 + .long 3218348948 + .long 704964628 + .long 3218354927 + .long 3026437244 + .long 3218360897 + .long 3256639170 + .long 3218366859 + .long 1499050969 + .long 3218372813 + .long 2151680465 + .long 3218378758 + .long 1022163351 + .long 3218384695 + .long 2507634849 + .long 3218390623 + .long 2414862975 + .long 3218396543 + .long 845152874 + .long 3218402455 + .long 2194349235 + .long 3218408358 + .long 2267936813 + .long 3218414253 + .long 1165944702 + .long 3218420140 + .long 3282948707 + .long 3218426018 + .long 128204514 + .long 3218431889 + .long 390421100 + .long 3218437751 + .long 4167959282 + .long 3218443604 + .long 2968834018 + .long 3218449450 + .long 1185553177 + .long 3218455288 + .long 3210217930 + .long 3218461117 + .long 549623114 + .long 3218466939 + .long 1890030548 + .long 3218472752 + .long 3032400188 + .long 3218478557 + .long 4072261525 + .long 3218484354 + .long 3450874911 + .long 1070995813 + .long 2331021804 + .long 1070990032 + .long 1029453230 + .long 1070984259 + .long 3747176240 + .long 1070978493 + .long 1800682930 + .long 1070972736 + .long 3686719393 + .long 1070966986 + .long 722545241 + .long 1070961245 + .long 1405669883 + .long 1070955511 + .long 1349079372 + .long 1070949785 + .long 461103529 + .long 1070944067 + .long 2945413886 + .long 1070938356 + .long 121152472 + .long 1070932654 + .long 487700860 + .long 1070926959 + .long 3954874384 + .long 1070921271 + .long 1842920138 + .long 1070915592 + .long 2652318780 + .long 1070909920 + .long 1999011482 + .long 1070904256 + .long 4089234463 + .long 1070898599 + .long 244680560 + .long 1070892951 + .long 3262235675 + .long 1070887309 + .long 169336595 + .long 1070881676 + .long 3763576649 + .long 1070876049 + .long 1073096258 + .long 1070870431 + .long 601221319 + .long 1070864820 + .long 2261690268 + .long 1070859216 + .long 1673619518 + .long 1070853620 + .long 3046403514 + .long 1070848031 + .long 1999843716 + .long 1070842450 + .long 2744015967 + .long 1070836876 + .long 899399508 + .long 1070831310 + .long 676744370 + .long 1070825751 + .long 1992167703 + .long 1070820199 + .long 467152011 + .long 1070814655 + .long 313445281 + .long 1070809118 + .long 1448157352 + .long 1070803588 + .long 3788725476 + .long 1070798065 + .long 2957945300 + .long 1070792550 + .long 3168871046 + .long 1070787042 + .long 44944622 + .long 1070781542 + .long 2094830420 + .long 1070776048 + .long 647642559 + .long 1070770562 + .long 4212681596 + .long 1070765082 + .long 4119694493 + .long 1070759610 + .long 288676754 + .long 1070754146 + .long 1229870791 + .long 1070748688 + .long 2568927817 + .long 1070743237 + .long 4226775419 + .long 1070737793 + .long 1829681364 + .long 1070732357 + .long 3889121191 + .long 1070726927 + .long 1737005556 + .long 1070721505 + .long 3885417029 + .long 1070716089 + .long 1666870165 + .long 1070710681 + .long 3594048319 + .long 1070705279 + .long 1000063738 + .long 1070699885 + .long 2398194399 + .long 1070694497 + .long 3417111411 + .long 1070689116 + .long 3980746691 + .long 1070683742 + .long 4013324163 + .long 1070678375 + .long 3439358267 + .long 1070673015 + .long 2183652476 + .long 1070667662 + .long 171297820 + .long 1070662316 + .long 1622638721 + .long 1070656976 + .long 2168369647 + .long 1070651643 + .long 1734435555 + .long 1070646317 + .long 247063161 + .long 1070640998 + .long 1927726804 + .long 1070635685 + .long 2408245143 + .long 1070630379 + .long 1615681634 + .long 1070625080 + .long 3772343130 + .long 1070619787 + .long 215909304 + .long 1070614502 + .long 3759169634 + .long 1070609222 + .long 1445381777 + .long 1070603950 + .long 1792910451 + .long 1070598684 + .long 870975437 + .long 1070590754 + .long 3194096222 + .long 1070580248 + .long 1823716217 + .long 1070569756 + .long 913800688 + .long 1070559277 + .long 323875369 + .long 1070548811 + .long 4208958430 + .long 1070538357 + .long 3839688678 + .long 1070527917 + .long 3372126730 + .long 1070517490 + .long 2667883253 + .long 1070507076 + .long 1589083690 + .long 1070496675 + .long 4293333010 + .long 1070486286 + .long 2053843986 + .long 1070475911 + .long 3324205749 + .long 1070465548 + .long 3673610217 + .long 1070455198 + .long 2966718784 + .long 1070444861 + .long 1068692560 + .long 1070434537 + .long 2140157205 + .long 1070424225 + .long 1752298597 + .long 1070413926 + .long 4066729595 + .long 1070403639 + .long 360651144 + .long 1070393366 + .long 3386588242 + .long 1070383104 + .long 127747308 + .long 1070372856 + .long 3337621361 + .long 1070362619 + .long 380113 + .long 1070352396 + .long 2870475188 + .long 1070342184 + .long 3227997535 + .long 1070331985 + .long 943446189 + .long 1070321799 + .long 182758681 + .long 1070311625 + .long 817374162 + .long 1070301463 + .long 2719198427 + .long 1070291313 + .long 1465634365 + .long 1070281176 + .long 1224481606 + .long 1070271051 + .long 1869032404 + .long 1070260938 + .long 3273036717 + .long 1070250837 + .long 1015732707 + .long 1070240749 + .long 3561713742 + .long 1070230672 + .long 2196155141 + .long 1070220608 + .long 1089583089 + .long 1070210556 + .long 118003300 + .long 1070200516 + .long 3452833475 + .long 1070190487 + .long 2381031992 + .long 1070180471 + .long 1074899573 + .long 1070170467 + .long 3707175295 + .long 1070160474 + .long 1566132617 + .long 1070150494 + .long 3120348377 + .long 1070140525 + .long 3953929663 + .long 1070130568 + .long 3946380940 + .long 1070120623 + .long 2977634725 + .long 1070110690 + .long 928049556 + .long 1070100769 + .long 1973375279 + .long 1070090859 + .long 1699849154 + .long 1070080961 + .long 4284063055 + .long 1070071074 + .long 1018125008 + .long 1070061200 + .long 374428300 + .long 1070051337 + .long 2235845747 + .long 1070041485 + .long 2190695046 + .long 1070031645 + .long 122671437 + .long 1070021817 + .long 210845780 + .long 1070012000 + .long 2339728060 + .long 1070002194 + .long 2099265479 + .long 1069992400 + .long 3669742467 + .long 1069982617 + .long 2641909617 + .long 1069972846 + .long 3196851002 + .long 1069963086 + .long 926113142 + .long 1069953338 + .long 11572342 + .long 1069943601 + .long 340530969 + .long 1069933875 + .long 1800682930 + .long 1069924160 + .long 4280111857 + .long 1069914456 + .long 3372322013 + .long 1069904764 + .long 3261138386 + .long 1069895083 + .long 3835803021 + .long 1069885413 + .long 690973253 + .long 1069875755 + .long 2306589128 + .long 1069866107 + .long 4278067876 + .long 1069856470 + .long 2201204065 + .long 1069846845 + .long 262102455 + .long 1069837231 + .long 2647241692 + .long 1069827627 + .long 658570708 + .long 1069818035 + .long 2778278092 + .long 1069808453 + .long 309052031 + .long 1069798883 + .long 1733817001 + .long 1069789323 + .long 2650961017 + .long 1069779774 + .long 2954203158 + .long 1069770236 + .long 2537624622 + .long 1069760709 + .long 1295667077 + .long 1069751193 + .long 3418098326 + .long 1069741687 + .long 210141498 + .long 1069732193 + .long 157244505 + .long 1069722709 + .long 3155274661 + .long 1069713235 + .long 510517079 + .long 1069703773 + .long 709476866 + .long 1069694321 + .long 3649073763 + .long 1069684879 + .long 636640577 + .long 1069675449 + .long 159725394 + .long 1069666029 + .long 2116286250 + .long 1069656619 + .long 2109656884 + .long 1069647220 + .long 38479793 + .long 1069637832 + .long 96704707 + .long 1069628454 + .long 2183652476 + .long 1069619086 + .long 1904013563 + .long 1069609729 + .long 3452748429 + .long 1069600382 + .long 2435216853 + .long 1069591046 + .long 3047045639 + .long 1069581720 + .long 894257944 + .long 1069572405 + .long 173141005 + .long 1069563100 + .long 785342784 + .long 1069553805 + .long 970708326 + .long 1069541521 + .long 2645916898 + .long 1069522972 + .long 2106590683 + .long 1069504444 + .long 3453588195 + .long 1069485936 + .long 2198475040 + .long 1069467449 + .long 2443390270 + .long 1069448982 + .long 3996141691 + .long 1069430535 + .long 2370203065 + .long 1069412109 + .long 1669613218 + .long 1069393703 + .long 1704071394 + .long 1069375317 + .long 2283901796 + .long 1069356951 + .long 3220050856 + .long 1069338605 + .long 29117219 + .long 1069320280 + .long 1113218225 + .long 1069301974 + .long 1990183441 + .long 1069283688 + .long 2473421172 + .long 1069265422 + .long 2376948508 + .long 1069247176 + .long 1515388672 + .long 1069228950 + .long 3998935692 + .long 1069210743 + .long 1053482595 + .long 1069192557 + .long 1085389880 + .long 1069174390 + .long 3911679148 + .long 1069156242 + .long 760030536 + .long 1069138115 + .long 38583924 + .long 1069120007 + .long 1566132617 + .long 1069101918 + .long 867088104 + .long 1069083849 + .long 2056379433 + .long 1069065799 + .long 659581512 + .long 1069047769 + .long 792781808 + .long 1069029758 + .long 2277675977 + .long 1069011766 + .long 641565395 + .long 1068993794 + .long 2256601 + .long 1068975841 + .long 183156961 + .long 1068957907 + .long 1008239542 + .long 1068939992 + .long 2302040698 + .long 1068922096 + .long 3889657667 + .long 1068904219 + .long 1301778891 + .long 1068886362 + .long 2954550821 + .long 1068868523 + .long 84804484 + .long 1068850704 + .long 1109791498 + .long 1068832903 + .long 1562410668 + .long 1068815121 + .long 1271074840 + .long 1068797358 + .long 64741293 + .long 1068779614 + .long 2067876735 + .long 1068761888 + .long 2815553124 + .long 1068744181 + .long 2138347284 + .long 1068726493 + .long 4162338635 + .long 1068708823 + .long 129237761 + .long 1068691173 + .long 2756122533 + .long 1068673540 + .long 3285762921 + .long 1068655926 + .long 1551389854 + .long 1068638331 + .long 1681725707 + .long 1068620754 + .long 3511047527 + .long 1068603195 + .long 2579184841 + .long 1068585655 + .long 3016419377 + .long 1068568133 + .long 363613719 + .long 1068550630 + .long 3047045639 + .long 1068533144 + .long 2313634884 + .long 1068515677 + .long 296456961 + .long 1068497513 + .long 1367328035 + .long 1068462651 + .long 3221665916 + .long 1068427825 + .long 1242258971 + .long 1068393036 + .long 3697798734 + .long 1068358282 + .long 1678104687 + .long 1068323565 + .long 3453858508 + .long 1068288883 + .long 116861598 + .long 1068254238 + .long 4234736672 + .long 1068219627 + .long 2606283437 + .long 1068185053 + .long 3506114812 + .long 1068150514 + .long 2324914545 + .long 1068116011 + .long 3044269692 + .long 1068081543 + .long 1056797460 + .long 1068047111 + .long 346010435 + .long 1068012714 + .long 601410756 + .long 1067978352 + .long 1513453498 + .long 1067944025 + .long 2773542775 + .long 1067909733 + .long 4074027864 + .long 1067875476 + .long 813232056 + .long 1067841255 + .long 1275317999 + .long 1067807068 + .long 860480111 + .long 1067772916 + .long 3559777258 + .long 1067738798 + .long 480292498 + .long 1067704716 + .long 4204867691 + .long 1067670667 + .long 1547459502 + .long 1067636654 + .long 797775935 + .long 1067602675 + .long 1656501562 + .long 1067568730 + .long 3825228429 + .long 1067534819 + .long 2711485098 + .long 1067500943 + .long 2313634884 + .long 1067467101 + .long 376973398 + .long 1067416219 + .long 672386641 + .long 1067348671 + .long 630691842 + .long 1067281191 + .long 3960777458 + .long 1067213778 + .long 1488394470 + .long 1067146434 + .long 1220920383 + .long 1067079157 + .long 2577548405 + .long 1067011947 + .long 684247743 + .long 1066944805 + .long 3553625811 + .long 1066877729 + .long 2020150230 + .long 1066810721 + .long 4099880293 + .long 1066743779 + .long 630721729 + .long 1066676905 + .long 3927125538 + .long 1066610096 + .long 535440936 + .long 1066543355 + .long 2773516144 + .long 1066476679 + .long 1486051399 + .long 1066410070 + .long 808661260 + .long 1066285262 + .long 2227658502 + .long 1066152307 + .long 1813447778 + .long 1066019484 + .long 2743640746 + .long 1065886792 + .long 3904192454 + .long 1065754231 + .long 4184355568 + .long 1065621801 + .long 2476667369 + .long 1065489502 + .long 1971904113 + .long 1065357333 + .long 3138267131 + .long 1065097372 + .long 341338964 + .long 1064833554 + .long 1954052322 + .long 1064569994 + .long 1498975029 + .long 1064306693 + .long 2190050752 + .long 1063782660 + .long 1440057502 + .long 1063257089 + .long 1432705161 + .long 1062208000 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040187392 + .long 0 + .long 1040187392 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967290 + .long 1071120383 + .long 4294967290 + .long 1071120383 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294967290 + .long 1070858239 + .long 4294967290 + .long 1070858239 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 333042728 + .long 1070694400 + .long 333042728 + .long 1070694400 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 635310127 + .long 1070563328 + .long 635310127 + .long 1070563328 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966784 + .long 0 + .long 4294966784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dacosh_data_internal,@object + .size __svml_dacosh_data_internal,14720 + .align 16 + +.FLT_24: + .long 0x00000000,0x43380000,0x00000000,0x43380000 + .type .FLT_24,@object + .size .FLT_24,16 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core-sse.S new file mode 100644 index 0000000000..cc524d4813 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized acosh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_acosh _ZGVdN4v_acosh_sse_wrapper +#include "../svml_d_acosh4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core.c new file mode 100644 index 0000000000..bb07c44f4b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized acosh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_acosh +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_acosh, __GI__ZGVdN4v_acosh, __redirect__ZGVdN4v_acosh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core_avx2.S new file mode 100644 index 0000000000..9ec6fa712d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core_avx2.S @@ -0,0 +1,5071 @@ +/* Function acosh vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute acosh(x) as log(x + sqrt(x*x - 1)) + * + * Special cases: + * + * acosh(NaN) = quiet NaN, and raise invalid exception + * acosh(-INF) = NaN + * acosh(+INF) = +INF + * acosh(x) = NaN if x < 1 + * acosh(1) = +0 + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_acosh_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea -4218816+__svml_dacosh_data_internal(%rip), %rax + vmovups %ymm8, 224(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + +/* Load the constant 1 and possibly other stuff */ + vmovupd 12864+__svml_dacosh_data_internal(%rip), %ymm8 + vmovups %ymm9, 192(%rsp) + vmovups %ymm12, 160(%rsp) + vmovups %ymm10, 32(%rsp) + vmovups %ymm11, 96(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm15, 320(%rsp) + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovapd %ymm0, %ymm9 + vmovapd %ymm8, %ymm1 + vfmsub231pd %ymm9, %ymm9, %ymm1 + +/* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + + * 63/256 * e^5 + 231/1024 * e^6 + .... + * So compute the first five nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + * C4 = 35/128 + * C5 = 63/256 + */ + vmovupd 13952+__svml_dacosh_data_internal(%rip), %ymm0 + +/* + * Check that 1 < X < +inf; otherwise go to the callout function. + * We need the callout for X = 1 to avoid division by zero below. + * This test ensures that callout handles NaN and either infinity. + */ + vcmpnle_uqpd 14016+__svml_dacosh_data_internal(%rip), %ymm9, %ymm5 + vcmpngt_uqpd %ymm8, %ymm9, %ymm4 + +/* dU is needed later on */ + vsubpd %ymm8, %ymm9, %ymm6 + +/* + * The following computation can go wrong for very large X, e.g. + * the X^2 - 1 = U * V can overflow. But for large X we have + * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when to do this. + */ + vcmplt_oqpd 13632+__svml_dacosh_data_internal(%rip), %ymm9, %ymm7 + +/* + * do the same thing but with NR iteration + * Finally, express Y + W = U * V accurately where Y has <= 29 bits + */ + vandpd 14400+__svml_dacosh_data_internal(%rip), %ymm1, %ymm12 + +/* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 12 significant bits in case it isn't already + * This means that R * Y and R^2 * Y are exactly representable. + */ + vcvtpd2ps %ymm12, %xmm3 + vsubpd %ymm12, %ymm1, %ymm13 + vrsqrtps %xmm3, %xmm10 + vcvtps2pd %xmm10, %ymm11 + +/* Now multiplex to the case X = 2^-30 * input, Xl = dL = 0 in the "big" case. */ + vmulpd 14528+__svml_dacosh_data_internal(%rip), %ymm9, %ymm10 + vandpd 14272+__svml_dacosh_data_internal(%rip), %ymm11, %ymm14 + vorpd %ymm4, %ymm5, %ymm2 + +/* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + vmulpd %ymm14, %ymm12, %ymm5 + vmulpd %ymm13, %ymm14, %ymm4 + +/* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-12 + */ + vmovapd %ymm8, %ymm15 + vfnmadd231pd %ymm5, %ymm14, %ymm15 + +/* + * For low-accuracy versions, the computation can be done + * just as U + ((S + T) + (S + T) * Corr) + */ + vaddpd %ymm4, %ymm5, %ymm1 + vfnmadd231pd %ymm4, %ymm14, %ymm15 + vfmadd213pd 13888+__svml_dacosh_data_internal(%rip), %ymm15, %ymm0 + vfmadd213pd 13824+__svml_dacosh_data_internal(%rip), %ymm15, %ymm0 + vfmadd213pd 13760+__svml_dacosh_data_internal(%rip), %ymm15, %ymm0 + vfmadd213pd 13696+__svml_dacosh_data_internal(%rip), %ymm15, %ymm0 + vmovmskpd %ymm2, %edx + vmulpd %ymm0, %ymm15, %ymm2 + vfmadd213pd %ymm1, %ymm2, %ymm1 + vaddpd %ymm1, %ymm6, %ymm6 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + vmaxpd %ymm6, %ymm8, %ymm1 + vminpd %ymm6, %ymm8, %ymm3 + vandpd 12928+__svml_dacosh_data_internal(%rip), %ymm6, %ymm0 + vcmplt_oqpd 12992+__svml_dacosh_data_internal(%rip), %ymm0, %ymm5 + vaddpd %ymm3, %ymm1, %ymm4 + vorpd 13056+__svml_dacosh_data_internal(%rip), %ymm5, %ymm2 + vandpd %ymm2, %ymm4, %ymm11 + vblendvpd %ymm7, %ymm11, %ymm10, %ymm5 + vsubpd %ymm11, %ymm1, %ymm6 + +/* 2^ (-10-exp(X) ) */ + vmovupd 13504+__svml_dacosh_data_internal(%rip), %ymm2 + vaddpd %ymm6, %ymm3, %ymm12 + +/* exponent bits */ + vpsrlq $20, %ymm5, %ymm3 + +/* + * Now resume the main code. + * preserve mantissa, set input exponent to 2^(-10) + */ + vandpd 12544+__svml_dacosh_data_internal(%rip), %ymm5, %ymm13 + vorpd 12608+__svml_dacosh_data_internal(%rip), %ymm13, %ymm14 + +/* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm14, %xmm15 + vrcpps %xmm15, %xmm0 + vandpd %ymm7, %ymm12, %ymm4 + vcvtps2pd %xmm0, %ymm10 + +/* exponent of X needed to scale Xl */ + vandps 13440+__svml_dacosh_data_internal(%rip), %ymm5, %ymm1 + vpsubq %ymm1, %ymm2, %ymm11 + vextractf128 $1, %ymm3, %xmm6 + vshufps $221, %xmm6, %xmm3, %xmm12 + +/* biased exponent in DP format */ + vcvtdq2pd %xmm12, %ymm14 + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm10, %ymm3 + +/* Add 31 to the exponent in the "large" case to get log(2 * input) */ + vaddpd 14208+__svml_dacosh_data_internal(%rip), %ymm14, %ymm13 + +/* scale DblRcp */ + vmulpd %ymm11, %ymm3, %ymm2 + vblendvpd %ymm7, %ymm14, %ymm13, %ymm1 + +/* exponent*log(2.0) */ + vmovupd 13248+__svml_dacosh_data_internal(%rip), %ymm13 + +/* argument reduction */ + vfmsub213pd %ymm8, %ymm2, %ymm5 + vmulpd %ymm2, %ymm4, %ymm2 + vmovupd 12480+__svml_dacosh_data_internal(%rip), %ymm4 + +/* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm3, %ymm7 + vcmplt_oqpd %ymm3, %ymm13, %ymm3 + vandpd 13312+__svml_dacosh_data_internal(%rip), %ymm3, %ymm14 + vorpd 13376+__svml_dacosh_data_internal(%rip), %ymm14, %ymm15 + vsubpd %ymm15, %ymm1, %ymm1 + vmulpd 13568+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 + vaddpd %ymm2, %ymm5, %ymm1 + vsubpd %ymm5, %ymm1, %ymm5 + vfmadd213pd 12512+__svml_dacosh_data_internal(%rip), %ymm1, %ymm4 + vmulpd %ymm1, %ymm1, %ymm8 + vsubpd %ymm5, %ymm2, %ymm2 + +/* polynomial */ + vmovupd 12416+__svml_dacosh_data_internal(%rip), %ymm5 + vfmadd213pd 12448+__svml_dacosh_data_internal(%rip), %ymm1, %ymm5 + vfmadd213pd %ymm4, %ymm8, %ymm5 + +/* + * reconstruction + * VQFMA( D, R, P, R2, R ); + */ + vfmadd213pd %ymm2, %ymm8, %ymm5 + vaddpd %ymm5, %ymm1, %ymm4 + vextractf128 $1, %ymm7, %xmm10 + vmovd %xmm7, %ecx + vmovd %xmm10, %r9d + movslq %ecx, %rcx + vpextrd $2, %xmm7, %r8d + movslq %r9d, %r9 + vpextrd $2, %xmm10, %r10d + movslq %r8d, %r8 + movslq %r10d, %r10 + vmovsd (%rax,%rcx), %xmm0 + vmovsd (%rax,%r9), %xmm11 + vmovhpd (%rax,%r8), %xmm0, %xmm6 + vmovhpd (%rax,%r10), %xmm11, %xmm12 + vinsertf128 $1, %xmm12, %ymm6, %ymm0 + vaddpd %ymm4, %ymm0, %ymm0 + vaddpd %ymm0, %ymm3, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 224(%rsp), %ymm8 + cfi_restore(91) + vmovups 192(%rsp), %ymm9 + cfi_restore(92) + vmovups 32(%rsp), %ymm10 + cfi_restore(93) + vmovups 96(%rsp), %ymm11 + cfi_restore(94) + vmovups 160(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm9, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dacosh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_acosh_avx2) + + .align 16,0x90 + +__svml_dacosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dacosh_cout_rare_internal,@function + .size __svml_dacosh_cout_rare_internal,.-__svml_dacosh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dacosh_data_internal: + .long 3715793664 + .long 3230016299 + .long 4013928704 + .long 3189565726 + .long 3699038248 + .long 3230016303 + .long 4255595370 + .long 3189567439 + .long 3648859040 + .long 3230016307 + .long 1732833791 + .long 3189567296 + .long 3565385952 + .long 3230016311 + .long 2485752410 + .long 3189567274 + .long 3448748152 + .long 3230016315 + .long 3514744523 + .long 3189567800 + .long 3299074072 + .long 3230016319 + .long 3686511262 + .long 3189567474 + .long 3116491376 + .long 3230016323 + .long 716063611 + .long 3189567908 + .long 2901127016 + .long 3230016327 + .long 354437295 + .long 3189567291 + .long 2653107184 + .long 3230016331 + .long 3777462366 + .long 3189567264 + .long 2372557360 + .long 3230016335 + .long 3590663412 + .long 3189567498 + .long 2059602304 + .long 3230016339 + .long 1680795031 + .long 3189567428 + .long 1714366048 + .long 3230016343 + .long 2010344982 + .long 3189567986 + .long 1336971936 + .long 3230016347 + .long 166254822 + .long 3189567184 + .long 927542568 + .long 3230016351 + .long 59552610 + .long 3189567972 + .long 486199888 + .long 3230016355 + .long 2268824919 + .long 3189567664 + .long 13065112 + .long 3230016359 + .long 3005381643 + .long 3189567835 + .long 3803226080 + .long 3230016362 + .long 4018973165 + .long 3189567825 + .long 3266868056 + .long 3230016366 + .long 3693925101 + .long 3189567457 + .long 2699077504 + .long 3230016370 + .long 4005905743 + .long 3189567697 + .long 2099972936 + .long 3230016374 + .long 3580935118 + .long 3189567215 + .long 1469672176 + .long 3230016378 + .long 2928784295 + .long 3189567129 + .long 808292392 + .long 3230016382 + .long 674298833 + .long 3189567553 + .long 115950104 + .long 3230016386 + .long 2555938320 + .long 3189567208 + .long 3687728456 + .long 3230016389 + .long 532458218 + .long 3189567130 + .long 2933808064 + .long 3230016393 + .long 3888913110 + .long 3189567192 + .long 2149270784 + .long 3230016397 + .long 2365955494 + .long 3189567756 + .long 1334230552 + .long 3230016401 + .long 3325722981 + .long 3189567206 + .long 488800640 + .long 3230016405 + .long 1496133617 + .long 3189567683 + .long 3908061016 + .long 3230016408 + .long 1824836379 + .long 3189567490 + .long 3002189112 + .long 3230016412 + .long 1222174320 + .long 3189567837 + .long 2066263648 + .long 3230016416 + .long 2472769660 + .long 3189567285 + .long 1100395408 + .long 3230016420 + .long 447932460 + .long 3189567455 + .long 104694584 + .long 3230016424 + .long 1006807684 + .long 3189567460 + .long 3374238048 + .long 3230016427 + .long 4121834935 + .long 3189567556 + .long 2319200184 + .long 3230016431 + .long 3019906587 + .long 3189567664 + .long 1234656664 + .long 3230016435 + .long 3882744783 + .long 3189567930 + .long 120715280 + .long 3230016439 + .long 1927363170 + .long 3189567242 + .long 3272450504 + .long 3230016442 + .long 8203115 + .long 3189567876 + .long 2100034368 + .long 3230016446 + .long 1260625560 + .long 3189567855 + .long 898540192 + .long 3230016450 + .long 1791679111 + .long 3189567639 + .long 3963040720 + .long 3230016453 + .long 831133439 + .long 3189567590 + .long 2703706240 + .long 3230016457 + .long 2803140504 + .long 3189567482 + .long 1415608352 + .long 3230016461 + .long 2955844462 + .long 3189568058 + .long 98850816 + .long 3230016465 + .long 4017967070 + .long 3189567455 + .long 3048504096 + .long 3230016468 + .long 3974385451 + .long 3189567871 + .long 1674736240 + .long 3230016472 + .long 2424114556 + .long 3189567887 + .long 272616624 + .long 3230016476 + .long 4261883032 + .long 3189567073 + .long 3137214056 + .long 3230016479 + .long 3716750895 + .long 3189567522 + .long 1678694944 + .long 3230016483 + .long 498025304 + .long 3189567180 + .long 192127016 + .long 3230016487 + .long 1011852160 + .long 3189567511 + .long 2972577480 + .long 3230016490 + .long 558940916 + .long 3189567850 + .long 1430211120 + .long 3230016494 + .long 2550865739 + .long 3189567935 + .long 4155061376 + .long 3230016497 + .long 1930847170 + .long 3189567371 + .long 2557291968 + .long 3230016501 + .long 1716354804 + .long 3189567130 + .long 931967984 + .long 3230016505 + .long 2729403392 + .long 3189567981 + .long 3574154016 + .long 3230016508 + .long 1067280599 + .long 3189567890 + .long 1894012232 + .long 3230016512 + .long 2094260282 + .long 3189567604 + .long 186606176 + .long 3230016516 + .long 3897933165 + .long 3189568046 + .long 2746998904 + .long 3230016519 + .long 1935720459 + .long 3189567701 + .long 985351064 + .long 3230016523 + .long 2170344821 + .long 3189567164 + .long 3491691984 + .long 3230016526 + .long 4220979537 + .long 3189567547 + .long 1676181328 + .long 3230016530 + .long 1953924393 + .long 3189567854 + .long 4128847448 + .long 3230016533 + .long 1689829067 + .long 3189567468 + .long 2259849008 + .long 3230016537 + .long 2367753130 + .long 3189567619 + .long 364246088 + .long 3230016541 + .long 2263309073 + .long 3189567722 + .long 2737098280 + .long 3230016544 + .long 2366756869 + .long 3189567856 + .long 788562816 + .long 3230016548 + .long 2294653975 + .long 3189567145 + .long 3108665616 + .long 3230016551 + .long 1786494117 + .long 3189567254 + .long 1107562960 + .long 3230016555 + .long 3655887416 + .long 3189567689 + .long 3375279848 + .long 3230016558 + .long 1178948625 + .long 3189567241 + .long 1321971608 + .long 3230016562 + .long 1620080441 + .long 3189567466 + .long 3537662304 + .long 3230016565 + .long 154455618 + .long 3189567981 + .long 1432506360 + .long 3230016569 + .long 3128192125 + .long 3189567889 + .long 3596526920 + .long 3230016572 + .long 2026842750 + .long 3189567212 + .long 1439877480 + .long 3230016576 + .long 1384431897 + .long 3189567284 + .long 3552580280 + .long 3230016579 + .long 1999983129 + .long 3189568079 + .long 1344787944 + .long 3230016583 + .long 4035436820 + .long 3189567579 + .long 3406521808 + .long 3230016586 + .long 77799817 + .long 3189567285 + .long 1147933592 + .long 3230016590 + .long 1261060207 + .long 3189567477 + .long 3159043768 + .long 3230016593 + .long 2102717775 + .long 3189567605 + .long 850003184 + .long 3230016597 + .long 161472469 + .long 3189567688 + .long 2810831440 + .long 3230016600 + .long 1937336881 + .long 3189567665 + .long 451678520 + .long 3230016604 + .long 2268353549 + .long 3189567773 + .long 2362563168 + .long 3230016607 + .long 1785871595 + .long 3189567889 + .long 4248601816 + .long 3230016610 + .long 2434669991 + .long 3189567898 + .long 1814910472 + .long 3230016614 + .long 2666999375 + .long 3189568058 + .long 3651506624 + .long 3230016617 + .long 1033139811 + .long 3189567312 + .long 1168538136 + .long 3230016621 + .long 4004618418 + .long 3189567740 + .long 2956021672 + .long 3230016624 + .long 3799928764 + .long 3189567751 + .long 424104288 + .long 3230016628 + .long 3650233137 + .long 3189567549 + .long 2162801816 + .long 3230016631 + .long 437313833 + .long 3189567438 + .long 3877227800 + .long 3230016634 + .long 2138293494 + .long 3189567140 + .long 1272495376 + .long 3230016638 + .long 2891370752 + .long 3189567168 + .long 2938619176 + .long 3230016641 + .long 1704142730 + .long 3189567114 + .long 285744240 + .long 3230016645 + .long 500817607 + .long 3189568035 + .long 1903884424 + .long 3230016648 + .long 3102571944 + .long 3189567668 + .long 3498151272 + .long 3230016651 + .long 2374193154 + .long 3189567933 + .long 773655960 + .long 3230016655 + .long 2898331636 + .long 3189568089 + .long 2320411168 + .long 3230016658 + .long 1983295500 + .long 3189567113 + .long 3843527280 + .long 3230016661 + .long 2132853542 + .long 3189567093 + .long 1048114320 + .long 3230016665 + .long 3551155364 + .long 3189567407 + .long 2524183824 + .long 3230016668 + .long 2564000663 + .long 3189567090 + .long 3976845048 + .long 3230016671 + .long 361581803 + .long 3189567196 + .long 1111206880 + .long 3230016675 + .long 696765230 + .long 3189568040 + .long 2517279744 + .long 3230016678 + .long 941542475 + .long 3189567463 + .long 3900171776 + .long 3230016681 + .long 2377895552 + .long 3189567282 + .long 964990760 + .long 3230016685 + .long 1173605489 + .long 3189567454 + .long 2301746008 + .long 3230016688 + .long 3096720313 + .long 3189567400 + .long 3615544576 + .long 3230016691 + .long 1942008121 + .long 3189567335 + .long 611493160 + .long 3230016695 + .long 3375481119 + .long 3189567537 + .long 1879599992 + .long 3230016698 + .long 4103239143 + .long 3189567624 + .long 3124971056 + .long 3230016701 + .long 3773474925 + .long 3189567869 + .long 52711992 + .long 3230016705 + .long 2465315445 + .long 3189567444 + .long 1252829960 + .long 3230016708 + .long 1041581158 + .long 3189567781 + .long 2430429904 + .long 3230016711 + .long 166620501 + .long 3189567739 + .long 3585583704 + .long 3230016714 + .long 2379237630 + .long 3189567984 + .long 423395616 + .long 3230016718 + .long 134834559 + .long 3189567178 + .long 1533871416 + .long 3230016721 + .long 1449318760 + .long 3189567373 + .long 2622114680 + .long 3230016724 + .long 3042372984 + .long 3189567127 + .long 3688195920 + .long 3230016727 + .long 1265290101 + .long 3189567921 + .long 437218048 + .long 3230016731 + .long 2248549362 + .long 3189567262 + .long 1459185496 + .long 3230016734 + .long 1293250365 + .long 3189567151 + .long 2459200496 + .long 3230016737 + .long 313786605 + .long 3189567180 + .long 3437332240 + .long 3230016740 + .long 3289151823 + .long 3189567872 + .long 98682312 + .long 3230016744 + .long 2693758821 + .long 3189567877 + .long 1033253848 + .long 3230016747 + .long 4237443192 + .long 3189567301 + .long 1946147760 + .long 3230016750 + .long 4099404586 + .long 3189567972 + .long 2837431968 + .long 3230016753 + .long 343640666 + .long 3189567552 + .long 3707174040 + .long 3230016756 + .long 4238401458 + .long 3189567983 + .long 260473960 + .long 3230016760 + .long 21423548 + .long 3189567559 + .long 1087333264 + .long 3230016763 + .long 3515278593 + .long 3189567309 + .long 1892851296 + .long 3230016766 + .long 629106375 + .long 3189567166 + .long 2677094384 + .long 3230016769 + .long 2048670044 + .long 3189567227 + .long 3440128544 + .long 3230016772 + .long 3739217292 + .long 3189568009 + .long 4182019504 + .long 3230016775 + .long 3662039444 + .long 3189567618 + .long 607865368 + .long 3230016779 + .long 1766486991 + .long 3189567112 + .long 1307665824 + .long 3230016782 + .long 512689457 + .long 3189567670 + .long 1986518392 + .long 3230016785 + .long 1704577378 + .long 3189567760 + .long 2644487576 + .long 3230016788 + .long 4001935135 + .long 3189567473 + .long 3281637576 + .long 3230016791 + .long 1184452342 + .long 3189567735 + .long 3898032312 + .long 3230016794 + .long 2714793956 + .long 3189567464 + .long 198768096 + .long 3230016798 + .long 3657654418 + .long 3189567905 + .long 773842856 + .long 3230016801 + .long 2809688013 + .long 3189567736 + .long 1328352328 + .long 3230016804 + .long 390727591 + .long 3189567393 + .long 1862359256 + .long 3230016807 + .long 1135237925 + .long 3189567248 + .long 2375926096 + .long 3230016810 + .long 1377572509 + .long 3189567837 + .long 2869115032 + .long 3230016813 + .long 3148383775 + .long 3189568032 + .long 3341987960 + .long 3230016816 + .long 3809536738 + .long 3189567313 + .long 3794606472 + .long 3230016819 + .long 4243445934 + .long 3189568034 + .long 4227031920 + .long 3230016822 + .long 1302642088 + .long 3189567451 + .long 344358048 + .long 3230016826 + .long 3239125361 + .long 3189567151 + .long 736580224 + .long 3230016829 + .long 3753161736 + .long 3189567129 + .long 1108791648 + .long 3230016832 + .long 624357483 + .long 3189568045 + .long 1461052568 + .long 3230016835 + .long 3153257064 + .long 3189567338 + .long 1793422920 + .long 3230016838 + .long 2705820149 + .long 3189567635 + .long 2105962400 + .long 3230016841 + .long 911564860 + .long 3189567737 + .long 2398730424 + .long 3230016844 + .long 1086958332 + .long 3189567948 + .long 2671786152 + .long 3230016847 + .long 1598984535 + .long 3189567210 + .long 2925188456 + .long 3230016850 + .long 4113385879 + .long 3189567401 + .long 3158995968 + .long 3230016853 + .long 2426812671 + .long 3189567396 + .long 3373267048 + .long 3230016856 + .long 3480845679 + .long 3189567359 + .long 3568059792 + .long 3230016859 + .long 3306230729 + .long 3189567924 + .long 3743432056 + .long 3230016862 + .long 3853821277 + .long 3189567317 + .long 3899441408 + .long 3230016865 + .long 2049309148 + .long 3189567699 + .long 4036145192 + .long 3230016868 + .long 2667321817 + .long 3189567166 + .long 4153600472 + .long 3230016871 + .long 3540670389 + .long 3189567114 + .long 4251864072 + .long 3230016874 + .long 404207883 + .long 3189567310 + .long 36025272 + .long 3230016878 + .long 2837617046 + .long 3189567103 + .long 96074976 + .long 3230016881 + .long 1231280453 + .long 3189567669 + .long 137101976 + .long 3230016884 + .long 792492437 + .long 3189567071 + .long 159162080 + .long 3230016887 + .long 2385525292 + .long 3189567618 + .long 162310880 + .long 3230016890 + .long 3272051015 + .long 3189567858 + .long 146603712 + .long 3230016893 + .long 623573538 + .long 3189567881 + .long 112095672 + .long 3230016896 + .long 2151835939 + .long 3189567451 + .long 58841608 + .long 3230016899 + .long 958006130 + .long 3189567217 + .long 4281863424 + .long 3230016901 + .long 549948691 + .long 3189567863 + .long 4191280920 + .long 3230016904 + .long 4177689987 + .long 3189567217 + .long 4082115512 + .long 3230016907 + .long 2895765193 + .long 3189567599 + .long 3954421112 + .long 3230016910 + .long 1055606208 + .long 3189567799 + .long 3808251392 + .long 3230016913 + .long 1966521217 + .long 3189567351 + .long 3643659776 + .long 3230016916 + .long 1017382758 + .long 3189567732 + .long 3460699480 + .long 3230016919 + .long 3485890155 + .long 3189567410 + .long 3259423472 + .long 3230016922 + .long 2657419170 + .long 3189567140 + .long 3039884488 + .long 3230016925 + .long 4198858220 + .long 3189568080 + .long 2802135064 + .long 3230016928 + .long 2343740494 + .long 3189567869 + .long 2546227480 + .long 3230016931 + .long 2423084215 + .long 3189567957 + .long 2272213808 + .long 3230016934 + .long 3887273856 + .long 3189567631 + .long 1980145888 + .long 3230016937 + .long 3992755473 + .long 3189567251 + .long 1670075336 + .long 3230016940 + .long 722498073 + .long 3189567389 + .long 1342053552 + .long 3230016943 + .long 3573506400 + .long 3189567965 + .long 996131728 + .long 3230016946 + .long 714695829 + .long 3189567392 + .long 632360808 + .long 3230016949 + .long 2816704229 + .long 3189567846 + .long 250791552 + .long 3230016952 + .long 386951333 + .long 3189567243 + .long 4146441768 + .long 3230016954 + .long 2155319939 + .long 3189567580 + .long 3729427184 + .long 3230016957 + .long 4227840137 + .long 3189567931 + .long 3294765200 + .long 3230016960 + .long 1718354212 + .long 3189567672 + .long 2842505696 + .long 3230016963 + .long 4243880582 + .long 3189567656 + .long 2372698352 + .long 3230016966 + .long 3784093842 + .long 3189567302 + .long 1885392624 + .long 3230016969 + .long 2318733051 + .long 3189567813 + .long 1380637784 + .long 3230016972 + .long 497929746 + .long 3189567210 + .long 858482864 + .long 3230016975 + .long 3218883783 + .long 3189567649 + .long 318976720 + .long 3230016978 + .long 3492652862 + .long 3189567382 + .long 4057135272 + .long 3230016980 + .long 473724673 + .long 3189568069 + .long 3483072376 + .long 3230016983 + .long 150485010 + .long 3189567757 + .long 2891803552 + .long 3230016986 + .long 3028900958 + .long 3189567173 + .long 2283376816 + .long 3230016989 + .long 321242596 + .long 3189567822 + .long 1657840008 + .long 3230016992 + .long 151305746 + .long 3189568029 + .long 1015240760 + .long 3230016995 + .long 2208026401 + .long 3189567184 + .long 355626480 + .long 3230016998 + .long 2487781842 + .long 3189567931 + .long 3974011720 + .long 3230017000 + .long 2391142094 + .long 3189567091 + .long 3280508896 + .long 3230017003 + .long 734457618 + .long 3189568092 + .long 2570132168 + .long 3230017006 + .long 3070902701 + .long 3189567794 + .long 1842928168 + .long 3230017009 + .long 1110877923 + .long 3189567896 + .long 1098943352 + .long 3230017012 + .long 3880360185 + .long 3189567898 + .long 338223984 + .long 3230017015 + .long 391995809 + .long 3189567294 + .long 3855783416 + .long 3230017017 + .long 4186345433 + .long 3189567745 + .long 3061732952 + .long 3230017020 + .long 3682852050 + .long 3189567081 + .long 2251085560 + .long 3230017023 + .long 3057037137 + .long 3189567617 + .long 1423886760 + .long 3230017026 + .long 3352664894 + .long 3189567074 + .long 580181848 + .long 3230017029 + .long 1170568982 + .long 3189567927 + .long 4014983272 + .long 3230017031 + .long 671148579 + .long 3189567293 + .long 3138401368 + .long 3230017034 + .long 267496658 + .long 3189567304 + .long 2245448192 + .long 3230017037 + .long 1285167087 + .long 3189568066 + .long 1336168336 + .long 3230017040 + .long 4259909589 + .long 3189567788 + .long 410606184 + .long 3230017043 + .long 1494078902 + .long 3189568031 + .long 3763773256 + .long 3230017045 + .long 261935754 + .long 3189567685 + .long 2805778992 + .long 3230017048 + .long 3679585605 + .long 3189567195 + .long 1831634536 + .long 3230017051 + .long 809066513 + .long 3189567664 + .long 841383576 + .long 3230017054 + .long 385945238 + .long 3189567897 + .long 4130036912 + .long 3230017056 + .long 825579909 + .long 3189567603 + .long 3107703272 + .long 3230017059 + .long 3911295427 + .long 3189567514 + .long 2069393104 + .long 3230017062 + .long 3473784588 + .long 3189567461 + .long 1015149384 + .long 3230017065 + .long 629861200 + .long 3189567515 + .long 4239982216 + .long 3230017067 + .long 2659142760 + .long 3189567083 + .long 3153999632 + .long 3230017070 + .long 1251680713 + .long 3189567080 + .long 2052211384 + .long 3230017073 + .long 3168705163 + .long 3189567992 + .long 934659776 + .long 3230017076 + .long 1674797624 + .long 3189567952 + .long 4096354216 + .long 3230017078 + .long 437847902 + .long 3189567971 + .long 2947402064 + .long 3230017081 + .long 4024401533 + .long 3189567960 + .long 1782812400 + .long 3230017084 + .long 786902458 + .long 3189567873 + .long 602626840 + .long 3230017087 + .long 2593792633 + .long 3189567812 + .long 3701854136 + .long 3230017089 + .long 3989721221 + .long 3189567126 + .long 2490600968 + .long 3230017092 + .long 2545746866 + .long 3189567591 + .long 1263875768 + .long 3230017095 + .long 3115843521 + .long 3189567377 + .long 21719488 + .long 3230017098 + .long 1730226063 + .long 3189567307 + .long 3059140216 + .long 3230017100 + .long 690350922 + .long 3189567892 + .long 1786244008 + .long 3230017103 + .long 3350998585 + .long 3189567394 + .long 498038616 + .long 3230017106 + .long 1499123379 + .long 3189568082 + .long 3489531672 + .long 3230017108 + .long 2598665922 + .long 3189567118 + .long 2170828712 + .long 3230017111 + .long 2436376826 + .long 3189567935 + .long 836937048 + .long 3230017114 + .long 1977004902 + .long 3189568052 + .long 3782863816 + .long 3230017116 + .long 4027224619 + .long 3189567373 + .long 2418714096 + .long 3230017119 + .long 2616869856 + .long 3189567271 + .long 1039494712 + .long 3230017122 + .long 3775628133 + .long 3189567616 + .long 3940212336 + .long 3230017124 + .long 419018052 + .long 3189567909 + .long 2530971600 + .long 3230017127 + .long 150919657 + .long 3189567379 + .long 1106778856 + .long 3230017130 + .long 2926254537 + .long 3189567139 + .long 3962640312 + .long 3230017132 + .long 1610863810 + .long 3189567216 + .long 2508660136 + .long 3230017135 + .long 1166015244 + .long 3189567672 + .long 1039844240 + .long 3230017138 + .long 645159638 + .long 3189567685 + .long 3851198376 + .long 3230017140 + .long 2449439581 + .long 3189567695 + .long 2352826264 + .long 3230017143 + .long 1619104640 + .long 3189567458 + .long 839733360 + .long 3230017146 + .long 2427070371 + .long 3189567165 + .long 3606924968 + .long 3230017148 + .long 2166480890 + .long 3189567544 + .long 2064504368 + .long 3230017151 + .long 2283025905 + .long 3189567907 + .long 507476584 + .long 3230017154 + .long 3923356754 + .long 3189567272 + .long 3230846472 + .long 3230017156 + .long 805331677 + .long 3189567533 + .long 1644716880 + .long 3230017159 + .long 3790469685 + .long 3189567406 + .long 44092384 + .long 3230017162 + .long 2689788214 + .long 3189567653 + .long 2723977432 + .long 3230017164 + .long 2762250221 + .long 3189567072 + .long 1094474416 + .long 3230017167 + .long 2781925193 + .long 3189567716 + .long 3745554800 + .long 3230017169 + .long 593120878 + .long 3189567817 + .long 2087320704 + .long 3230017172 + .long 403414988 + .long 3189568021 + .long 414776008 + .long 3230017175 + .long 359307328 + .long 3189567387 + .long 3022924432 + .long 3230017177 + .long 3373547966 + .long 3189567572 + .long 1321867688 + .long 3230017180 + .long 3978711340 + .long 3189567805 + .long 3901576528 + .long 3230017182 + .long 2765663238 + .long 3189568046 + .long 2172152384 + .long 3230017185 + .long 1181150766 + .long 3189568053 + .long 428598440 + .long 3230017188 + .long 2473022131 + .long 3189567471 + .long 2965917728 + .long 3230017190 + .long 1621744488 + .long 3189567971 + .long 1194211288 + .long 3230017193 + .long 2931299013 + .long 3189567190 + .long 3703449168 + .long 3230017195 + .long 873154950 + .long 3189568039 + .long 1903732144 + .long 3230017198 + .long 1510784525 + .long 3189567521 + .long 90062704 + .long 3230017201 + .long 2918231590 + .long 3189568086 + .long 2557443240 + .long 3230017203 + .long 3329944838 + .long 3189567475 + .long 715974088 + .long 3230017206 + .long 2679715410 + .long 3189568021 + .long 3155624672 + .long 3230017208 + .long 1841110143 + .long 3189567518 + .long 1286495072 + .long 3230017211 + .long 3881638924 + .long 3189567497 + .long 3698554440 + .long 3230017213 + .long 167906931 + .long 3189567169 + .long 1801902600 + .long 3230017216 + .long 1468264167 + .long 3189567597 + .long 4186508448 + .long 3230017218 + .long 2400624638 + .long 3189567691 + .long 2262471560 + .long 3230017221 + .long 3796182064 + .long 3189567357 + .long 324793264 + .long 3230017224 + .long 2801238958 + .long 3189567581 + .long 2668474776 + .long 3230017226 + .long 2273142813 + .long 3189567436 + .long 703615288 + .long 3230017229 + .long 831867571 + .long 3189567237 + .long 3020183048 + .long 3230017231 + .long 2238048829 + .long 3189567595 + .long 1028277008 + .long 3230017234 + .long 1163763070 + .long 3189567452 + .long 3317865168 + .long 3230017236 + .long 1206450788 + .long 3189567228 + .long 1299046216 + .long 3230017239 + .long 737162226 + .long 3189567879 + .long 3561787920 + .long 3230017241 + .long 2433253277 + .long 3189567901 + .long 1516188728 + .long 3230017244 + .long 3561277099 + .long 3189567506 + .long 3752216144 + .long 3230017246 + .long 1385095507 + .long 3189567674 + .long 1679968384 + .long 3230017249 + .long 829462408 + .long 3189567156 + .long 3889412704 + .long 3230017251 + .long 2939266725 + .long 3189567673 + .long 1790647080 + .long 3230017254 + .long 4214100827 + .long 3189567848 + .long 3973638544 + .long 3230017256 + .long 2537954451 + .long 3189567376 + .long 1848484816 + .long 3230017259 + .long 1128740312 + .long 3189567098 + .long 4005152680 + .long 3230017261 + .long 1932232434 + .long 3189568053 + .long 1853739648 + .long 3230017264 + .long 1359710694 + .long 3189567457 + .long 3984212256 + .long 3230017266 + .long 1268482287 + .long 3189567990 + .long 1806667776 + .long 3230017269 + .long 839689017 + .long 3189567631 + .long 3911072520 + .long 3230017271 + .long 3727165601 + .long 3189567921 + .long 1707523520 + .long 3230017274 + .long 1836550952 + .long 3189567895 + .long 3785986872 + .long 3230017276 + .long 172951407 + .long 3189567220 + .long 1556559360 + .long 3230017279 + .long 1166449891 + .long 3189567294 + .long 3609206856 + .long 3230017281 + .long 28625366 + .long 3189567222 + .long 1354025920 + .long 3230017284 + .long 4038426582 + .long 3189567978 + .long 3380982208 + .long 3230017286 + .long 2756284659 + .long 3189567362 + .long 1100172048 + .long 3230017289 + .long 848830252 + .long 3189567230 + .long 3101560856 + .long 3230017291 + .long 1868170309 + .long 3189567423 + .long 795244752 + .long 3230017294 + .long 3128260908 + .long 3189567885 + .long 2771188936 + .long 3230017296 + .long 1691261279 + .long 3189567706 + .long 439489304 + .long 3230017299 + .long 2886711298 + .long 3189567236 + .long 2390110824 + .long 3230017301 + .long 1311431101 + .long 3189567133 + .long 33149176 + .long 3230017304 + .long 3042183093 + .long 3189567401 + .long 1958569120 + .long 3230017306 + .long 3174208880 + .long 3189567462 + .long 3871433416 + .long 3230017308 + .long 302374021 + .long 3189567243 + .long 1476804712 + .long 3230017311 + .long 712531519 + .long 3189567241 + .long 3364647440 + .long 3230017313 + .long 3705318448 + .long 3189567568 + .long 945056744 + .long 3230017316 + .long 2424171915 + .long 3189568016 + .long 2807996856 + .long 3230017318 + .long 199511961 + .long 3189567094 + .long 363562688 + .long 3230017321 + .long 3766234060 + .long 3189567214 + .long 2201718256 + .long 3230017323 + .long 1956195829 + .long 3189567592 + .long 4027525584 + .long 3230017325 + .long 2891794585 + .long 3189567375 + .long 1546046576 + .long 3230017328 + .long 843173017 + .long 3189567760 + .long 3347244936 + .long 3230017330 + .long 1609532414 + .long 3189567955 + .long 841215080 + .long 3230017333 + .long 3356704285 + .long 3189567294 + .long 2617920488 + .long 3230017335 + .long 1641729240 + .long 3189567346 + .long 87455368 + .long 3230017338 + .long 1455753222 + .long 3189567878 + .long 1839783016 + .long 3230017340 + .long 1936589978 + .long 3189567944 + .long 3579964728 + .long 3230017342 + .long 1006586129 + .long 3189567993 + .long 1013061704 + .long 3230017345 + .long 2766825484 + .long 3189567880 + .long 2729036928 + .long 3230017347 + .long 1888685184 + .long 3189567954 + .long 137984104 + .long 3230017350 + .long 848046306 + .long 3189568090 + .long 1829866024 + .long 3230017352 + .long 4178224056 + .long 3189567750 + .long 3509743488 + .long 3230017354 + .long 2637072474 + .long 3189567070 + .long 882677184 + .long 3230017357 + .long 3133305384 + .long 3189567936 + .long 2538629624 + .long 3230017359 + .long 1343200028 + .long 3189567905 + .long 4182661312 + .long 3230017361 + .long 107195460 + .long 3189567427 + .long 1519832648 + .long 3230017364 + .long 602154914 + .long 3189567857 + .long 3140105848 + .long 3230017366 + .long 659160740 + .long 3189567417 + .long 453573824 + .long 3230017369 + .long 236889930 + .long 3189567396 + .long 2050198592 + .long 3230017371 + .long 1175634921 + .long 3189567087 + .long 3635040168 + .long 3230017373 + .long 1241855527 + .long 3189567941 + .long 913158504 + .long 3230017376 + .long 3947904414 + .long 3189567477 + .long 2474515312 + .long 3230017378 + .long 1206979822 + .long 3189567534 + .long 4024170344 + .long 3230017380 + .long 1847397805 + .long 3189567152 + .long 1267183240 + .long 3230017383 + .long 2916539301 + .long 3189567754 + .long 2793515456 + .long 3230017385 + .long 2568213263 + .long 3189568078 + .long 13259168 + .long 3230017388 + .long 3003245330 + .long 3189567303 + .long 1516375624 + .long 3230017390 + .long 3472633477 + .long 3189567153 + .long 3007924104 + .long 3230017392 + .long 532406289 + .long 3189567855 + .long 192963816 + .long 3230017395 + .long 4149310663 + .long 3189567165 + .long 1661455728 + .long 3230017397 + .long 946970842 + .long 3189567598 + .long 3118458864 + .long 3230017399 + .long 2040517972 + .long 3189567254 + .long 269032128 + .long 3230017402 + .long 3669971831 + .long 3189568072 + .long 1703136256 + .long 3230017404 + .long 2375197389 + .long 3189567687 + .long 3125829976 + .long 3230017406 + .long 296757744 + .long 3189567673 + .long 242171944 + .long 3230017409 + .long 611424102 + .long 3189567452 + .long 1642122608 + .long 3230017411 + .long 1700968423 + .long 3189567419 + .long 3030740440 + .long 3230017413 + .long 2947762668 + .long 3189567968 + .long 113083840 + .long 3230017416 + .long 690901756 + .long 3189567496 + .long 1479112984 + .long 3230017418 + .long 121139903 + .long 3189567571 + .long 2833886088 + .long 3230017420 + .long 173386055 + .long 3189567866 + .long 4177428584 + .long 3230017422 + .long 2964718132 + .long 3189567231 + .long 1214798496 + .long 3230017425 + .long 541562024 + .long 3189567842 + .long 2535955680 + .long 3230017427 + .long 3368765612 + .long 3189568076 + .long 3845958008 + .long 3230017429 + .long 3194541507 + .long 3189567689 + .long 849863256 + .long 3230017432 + .long 3443356552 + .long 3189567858 + .long 2137631024 + .long 3230017434 + .long 1180679397 + .long 3189567138 + .long 3414318912 + .long 3230017436 + .long 2261929999 + .long 3189567651 + .long 384984464 + .long 3230017439 + .long 954057098 + .long 3189567971 + .long 1639587024 + .long 3230017441 + .long 1346995839 + .long 3189567263 + .long 2883183944 + .long 3230017443 + .long 3253373727 + .long 3189567382 + .long 4115799808 + .long 3230017445 + .long 4143791142 + .long 3189567800 + .long 1042491824 + .long 3230017448 + .long 4240432954 + .long 3189567700 + .long 2253218992 + .long 3230017450 + .long 1891708033 + .long 3189568072 + .long 3453038360 + .long 3230017452 + .long 710292621 + .long 3189567662 + .long 347006880 + .long 3230017455 + .long 2712254611 + .long 3189567116 + .long 1525083304 + .long 3230017457 + .long 349583280 + .long 3189568004 + .long 2692324448 + .long 3230017459 + .long 1803227864 + .long 3189567740 + .long 3848754312 + .long 3230017461 + .long 3644606976 + .long 3189567826 + .long 699429536 + .long 3230017464 + .long 1067153346 + .long 3189567751 + .long 1834308568 + .long 3230017466 + .long 1335350692 + .long 3189567081 + .long 2958447872 + .long 3230017468 + .long 1803696599 + .long 3189567557 + .long 4071871152 + .long 3230017470 + .long 1232152547 + .long 3189568017 + .long 879634736 + .long 3230017473 + .long 1455437901 + .long 3189567512 + .long 1971696744 + .long 3230017475 + .long 3708110750 + .long 3189567399 + .long 3053113344 + .long 3230017477 + .long 3907324819 + .long 3189567290 + .long 4123907920 + .long 3230017479 + .long 4080000314 + .long 3189567141 + .long 889136480 + .long 3230017482 + .long 1286519001 + .long 3189567298 + .long 1938756848 + .long 3230017484 + .long 1292347423 + .long 3189567513 + .long 2977824880 + .long 3230017486 + .long 1159725249 + .long 3189568015 + .long 4006363664 + .long 3230017488 + .long 895621348 + .long 3189567502 + .long 729428896 + .long 3230017491 + .long 1212894155 + .long 3189567280 + .long 1736978096 + .long 3230017493 + .long 296117275 + .long 3189567210 + .long 2734066816 + .long 3230017495 + .long 2463481211 + .long 3189567796 + .long 3720717848 + .long 3230017497 + .long 76524950 + .long 3189567159 + .long 401986584 + .long 3230017500 + .long 1718551671 + .long 3189567216 + .long 1367830248 + .long 3230017502 + .long 3568874946 + .long 3189567584 + .long 2323304104 + .long 3230017504 + .long 2763456396 + .long 3189567666 + .long 3268430632 + .long 3230017506 + .long 1208592501 + .long 3189567715 + .long 4203232240 + .long 3230017508 + .long 4148835618 + .long 3189567851 + .long 832763976 + .long 3230017511 + .long 610418007 + .long 3189567082 + .long 1746982680 + .long 3230017513 + .long 3035714190 + .long 3189567431 + .long 2650943256 + .long 3230017515 + .long 85931336 + .long 3189567843 + .long 3544667832 + .long 3230017517 + .long 3006685957 + .long 3189567286 + .long 133211144 + .long 3230017520 + .long 878859600 + .long 3189567873 + .long 1006529776 + .long 3230017522 + .long 854333969 + .long 3189567724 + .long 1869678336 + .long 3230017524 + .long 3058646748 + .long 3189567155 + .long 2722678648 + .long 3230017526 + .long 360733640 + .long 3189567693 + .long 3565552488 + .long 3230017528 + .long 3015564990 + .long 3189568013 + .long 103354256 + .long 3230017531 + .long 2286095909 + .long 3189568081 + .long 926040176 + .long 3230017533 + .long 1899270393 + .long 3189567137 + .long 1738664488 + .long 3230017535 + .long 1377641292 + .long 3189567833 + .long 2541248696 + .long 3230017537 + .long 4266686523 + .long 3189568077 + .long 3333814224 + .long 3230017539 + .long 4018775563 + .long 3189567218 + .long 4116382408 + .long 3230017541 + .long 3373913644 + .long 3189567103 + .long 594007232 + .long 3230017544 + .long 2818265402 + .long 3189568021 + .long 1356644520 + .long 3230017546 + .long 1075601108 + .long 3189567716 + .long 2109348112 + .long 3230017548 + .long 3342127702 + .long 3189567566 + .long 2852139088 + .long 3230017550 + .long 2910355434 + .long 3189567504 + .long 3585038464 + .long 3230017552 + .long 611858749 + .long 3189567074 + .long 13099880 + .long 3230017555 + .long 1954698831 + .long 3189567516 + .long 726278816 + .long 3230017557 + .long 550712630 + .long 3189567710 + .long 1429628792 + .long 3230017559 + .long 3672474493 + .long 3189567278 + .long 2123170544 + .long 3230017561 + .long 1160875209 + .long 3189567651 + .long 2806924760 + .long 3230017563 + .long 2242524344 + .long 3189568000 + .long 3480912064 + .long 3230017565 + .long 2823138691 + .long 3189567327 + .long 4145152992 + .long 3230017567 + .long 3521079748 + .long 3189567568 + .long 504700744 + .long 3230017570 + .long 1136670137 + .long 3189567486 + .long 1149510328 + .long 3230017572 + .long 806933442 + .long 3189567823 + .long 1784634816 + .long 3230017574 + .long 1606084669 + .long 3189567242 + .long 2410094488 + .long 3230017576 + .long 2841342625 + .long 3189567480 + .long 3025909584 + .long 3230017578 + .long 984188059 + .long 3189567239 + .long 3632100264 + .long 3230017580 + .long 3011730434 + .long 3189567337 + .long 4228686632 + .long 3230017582 + .long 328432041 + .long 3189567676 + .long 520721440 + .long 3230017585 + .long 2057225622 + .long 3189567268 + .long 1098159248 + .long 3230017587 + .long 3150727306 + .long 3189567348 + .long 1666052680 + .long 3230017589 + .long 3291380622 + .long 3189567307 + .long 2224421584 + .long 3230017591 + .long 3570771984 + .long 3189567798 + .long 2773285760 + .long 3230017593 + .long 2427604440 + .long 3189567698 + .long 3312664936 + .long 3230017595 + .long 3733848165 + .long 3189567211 + .long 3842578768 + .long 3230017597 + .long 2673912350 + .long 3189567904 + .long 68079584 + .long 3230017600 + .long 960995892 + .long 3189567616 + .long 579121512 + .long 3230017602 + .long 4150493479 + .long 3189567659 + .long 1080756744 + .long 3230017604 + .long 1054941272 + .long 3189567735 + .long 1573004704 + .long 3230017606 + .long 2574365292 + .long 3189568007 + .long 2055884768 + .long 3230017608 + .long 2507498673 + .long 3189567092 + .long 2529416224 + .long 3230017610 + .long 2082176323 + .long 3189567207 + .long 2993618320 + .long 3230017612 + .long 3719982601 + .long 3189568058 + .long 3448510256 + .long 3230017614 + .long 4104247904 + .long 3189567897 + .long 3894111152 + .long 3230017616 + .long 3735557011 + .long 3189567647 + .long 35472776 + .long 3230017619 + .long 2914260983 + .long 3189567862 + .long 462548736 + .long 3230017621 + .long 1334094042 + .long 3189567734 + .long 880390688 + .long 3230017623 + .long 1291097379 + .long 3189567171 + .long 1289017512 + .long 3230017625 + .long 1627119803 + .long 3189567853 + .long 1688448064 + .long 3230017627 + .long 3886873723 + .long 3189567117 + .long 2078701104 + .long 3230017629 + .long 627887757 + .long 3189567206 + .long 2459795360 + .long 3230017631 + .long 1722013861 + .long 3189567101 + .long 2831749488 + .long 3230017633 + .long 4163262354 + .long 3189567678 + .long 3194582104 + .long 3230017635 + .long 4170237688 + .long 3189567639 + .long 3548311752 + .long 3230017637 + .long 47563772 + .long 3189567637 + .long 3892956928 + .long 3230017639 + .long 2990136007 + .long 3189567231 + .long 4228536056 + .long 3230017641 + .long 4294532248 + .long 3189567995 + .long 260100240 + .long 3230017644 + .long 2060709623 + .long 3189567397 + .long 577602376 + .long 3230017646 + .long 1488525373 + .long 3189568044 + .long 886093456 + .long 3230017648 + .long 1657840200 + .long 3189567474 + .long 1185591680 + .long 3230017650 + .long 3155771782 + .long 3189567399 + .long 1476115208 + .long 3230017652 + .long 2195162329 + .long 3189567591 + .long 1757682144 + .long 3230017654 + .long 1292806663 + .long 3189567956 + .long 2030310544 + .long 3230017656 + .long 2151451208 + .long 3189567540 + .long 2294018392 + .long 3230017658 + .long 2224122735 + .long 3189567630 + .long 2548823632 + .long 3230017660 + .long 3554417607 + .long 3189567684 + .long 2794744152 + .long 3230017662 + .long 3831650627 + .long 3189567409 + .long 3031797776 + .long 3230017664 + .long 4024246224 + .long 3189567811 + .long 3260002296 + .long 3230017666 + .long 2530219738 + .long 3189567128 + .long 3479375416 + .long 3230017668 + .long 1618145996 + .long 3189568024 + .long 3689934832 + .long 3230017670 + .long 392379700 + .long 3189567378 + .long 3891698144 + .long 3230017672 + .long 55874694 + .long 3189567574 + .long 4084682928 + .long 3230017674 + .long 4294251475 + .long 3189567312 + .long 4268906688 + .long 3230017676 + .long 1899705040 + .long 3189567783 + .long 149419600 + .long 3230017679 + .long 357699389 + .long 3189567568 + .long 316173656 + .long 3230017681 + .long 3025711727 + .long 3189567790 + .long 474218920 + .long 3230017683 + .long 2921891821 + .long 3189568046 + .long 623572704 + .long 3230017685 + .long 1716968749 + .long 3189567453 + .long 764252248 + .long 3230017687 + .long 2393171526 + .long 3189567748 + .long 896274768 + .long 3230017689 + .long 1343317993 + .long 3189567172 + .long 1019657400 + .long 3230017691 + .long 1388235839 + .long 3189567661 + .long 1134417256 + .long 3230017693 + .long 2766147125 + .long 3189567706 + .long 1240571384 + .long 3230017695 + .long 2162068842 + .long 3189567499 + .long 1338136776 + .long 3230017697 + .long 4075455588 + .long 3189567932 + .long 1427130392 + .long 3230017699 + .long 1579647664 + .long 3189567555 + .long 1507569120 + .long 3230017701 + .long 3785749868 + .long 3189567715 + .long 1579469816 + .long 3230017703 + .long 2639950365 + .long 3189567469 + .long 1642849272 + .long 3230017705 + .long 3611501026 + .long 3189567698 + .long 1697724240 + .long 3230017707 + .long 15422953 + .long 3189568066 + .long 1744111424 + .long 3230017709 + .long 2642213241 + .long 3189568062 + .long 1782027472 + .long 3230017711 + .long 143606300 + .long 3189568058 + .long 1811488992 + .long 3230017713 + .long 501328690 + .long 3189567276 + .long 1832512520 + .long 3230017715 + .long 3258054578 + .long 3189567915 + .long 1845114576 + .long 3230017717 + .long 1297851139 + .long 3189568007 + .long 1849311616 + .long 3230017719 + .long 3589200000 + .long 3189567580 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 2846560486 + .long 3210737666 + .long 2729511872 + .long 3211784202 + .long 3956813460 + .long 3212307985 + .long 1796237193 + .long 3212828714 + .long 1562748889 + .long 3213092649 + .long 1602292343 + .long 3213352007 + .long 745814092 + .long 3213610865 + .long 2969306084 + .long 3213869224 + .long 3953060839 + .long 3214006263 + .long 1128703349 + .long 3214134948 + .long 1371067273 + .long 3214263386 + .long 131445019 + .long 3214391579 + .long 1427948820 + .long 3214519527 + .long 665817496 + .long 3214647232 + .long 1817459908 + .long 3214774694 + .long 242758400 + .long 3214901915 + .long 2082038134 + .long 3214981455 + .long 2300828032 + .long 3215044825 + .long 571795571 + .long 3215108076 + .long 3120479584 + .long 3215171207 + .long 3276640540 + .long 3215234220 + .long 2949178581 + .long 3215297115 + .long 4036279704 + .long 3215359892 + .long 4130528508 + .long 3215422552 + .long 813954767 + .long 3215485096 + .long 248046571 + .long 3215547523 + .long 4288926261 + .long 3215609833 + .long 1897492927 + .long 3215672029 + .long 3499237165 + .long 3215734109 + .long 2329611090 + .long 3215796075 + .long 203907094 + .long 3215857927 + .long 3222364838 + .long 3215919664 + .long 295408387 + .long 3215981289 + .long 899212401 + .long 3216012696 + .long 2606049022 + .long 3216043395 + .long 4003691233 + .long 3216074038 + .long 1675303236 + .long 3216104626 + .long 789189655 + .long 3216135158 + .long 2213928479 + .long 3216165634 + .long 2518405585 + .long 3216196055 + .long 2561783534 + .long 3216226421 + .long 3198568176 + .long 3216256732 + .long 983674944 + .long 3216286989 + .long 1057364031 + .long 3216317191 + .long 4260371496 + .long 3216347338 + .long 2838974660 + .long 3216377432 + .long 1919860988 + .long 3216407472 + .long 2330291020 + .long 3216437458 + .long 598130195 + .long 3216467391 + .long 1836782285 + .long 3216497270 + .long 2565351466 + .long 3216527096 + .long 3593575201 + .long 3216556869 + .long 1431920350 + .long 3216586590 + .long 1176515501 + .long 3216616258 + .long 3624279252 + .long 3216645873 + .long 977982819 + .long 3216675437 + .long 2616083454 + .long 3216704948 + .long 733015457 + .long 3216734408 + .long 403990373 + .long 3216763816 + .long 2405156675 + .long 3216793172 + .long 3213628385 + .long 3216822477 + .long 3597448029 + .long 3216851731 + .long 25680167 + .long 3216880935 + .long 1848308454 + .long 3216910087 + .long 1231492199 + .long 3216939189 + .long 3222364838 + .long 3216968240 + .long 4274224607 + .long 3216997241 + .long 836496059 + .long 3217026193 + .long 1119829323 + .long 3217043131 + .long 315251054 + .long 3217057557 + .long 518461891 + .long 3217071958 + .long 2094042713 + .long 3217086334 + .long 1109735857 + .long 3217100686 + .long 2221359788 + .long 3217115013 + .long 1492952593 + .long 3217129316 + .long 3576653728 + .long 3217143594 + .long 237880003 + .long 3217157849 + .long 420109003 + .long 3217172079 + .long 180120274 + .long 3217186285 + .long 4162843939 + .long 3217200466 + .long 4126536273 + .long 3217214624 + .long 417628115 + .long 3217228759 + .long 1970736719 + .long 3217242869 + .long 538873716 + .long 3217256956 + .long 758227830 + .long 3217271019 + .long 2968307242 + .long 3217285058 + .long 3211951040 + .long 3217299074 + .long 1825275166 + .long 3217313067 + .long 3437683677 + .long 3217327036 + .long 4086978021 + .long 3217340982 + .long 4104270002 + .long 3217354905 + .long 3819025464 + .long 3217368805 + .long 3559075183 + .long 3217382682 + .long 3650625670 + .long 3217396536 + .long 123302585 + .long 3217410368 + .long 1890030548 + .long 3217424176 + .long 682272600 + .long 3217437962 + .long 1114811729 + .long 3217451725 + .long 3505892050 + .long 3217465465 + .long 3877229085 + .long 3217479183 + .long 2543954549 + .long 3217492879 + .long 4114626469 + .long 3217506552 + .long 311370023 + .long 3217520204 + .long 34658569 + .long 3217533833 + .long 3593519732 + .long 3217547439 + .long 2705545195 + .long 3217561024 + .long 1971736889 + .long 3217574587 + .long 1696647441 + .long 3217588128 + .long 2183357019 + .long 3217601647 + .long 3733482817 + .long 3217615144 + .long 2352221150 + .long 3217628620 + .long 2633258676 + .long 3217642074 + .long 578912458 + .long 3217655507 + .long 780008323 + .long 3217668918 + .long 3530988084 + .long 3217682307 + .long 534951267 + .long 3217695676 + .long 673467853 + .long 3217709023 + .long 4236783385 + .long 3217722348 + .long 2923827788 + .long 3217735653 + .long 1317060595 + .long 3217748937 + .long 3997577740 + .long 3217762199 + .long 2660218276 + .long 3217775441 + .long 1883376699 + .long 3217788662 + .long 1949142230 + .long 3217801862 + .long 3138274530 + .long 3217815041 + .long 1435244737 + .long 3217828200 + .long 1413145637 + .long 3217841338 + .long 3348797986 + .long 3217854455 + .long 3222758658 + .long 3217867552 + .long 1309263324 + .long 3217880629 + .long 2176234471 + .long 3217893685 + .long 1800387473 + .long 3217906721 + .long 452140382 + .long 3217919737 + .long 2695621757 + .long 3217932732 + .long 208809263 + .long 3217945708 + .long 1848308454 + .long 3217958663 + .long 3584589359 + .long 3217971598 + .long 1386895968 + .long 3217984514 + .long 4108155659 + .long 3217997409 + .long 3420215606 + .long 3218010285 + .long 3878621277 + .long 3218023141 + .long 1447787319 + .long 3218035978 + .long 680874053 + .long 3218048795 + .long 1834892843 + .long 3218061592 + .long 870713292 + .long 3218074370 + .long 1168986141 + .long 3218083436 + .long 3245089583 + .long 3218089805 + .long 2494877761 + .long 3218096165 + .long 3338922950 + .long 3218102515 + .long 1607293197 + .long 3218108856 + .long 1719424943 + .long 3218115187 + .long 3799224547 + .long 3218121508 + .long 3675071677 + .long 3218127820 + .long 1469757259 + .long 3218134123 + .long 1600486820 + .long 3218140416 + .long 4188949205 + .long 3218146699 + .long 766352567 + .long 3218152974 + .long 43231408 + .long 3218159239 + .long 2139646042 + .long 3218165494 + .long 2880153102 + .long 3218171740 + .long 2383743325 + .long 3218177977 + .long 768877423 + .long 3218184205 + .long 2448456521 + .long 3218190423 + .long 3244923387 + .long 3218196632 + .long 3275167422 + .long 3218202832 + .long 2655560435 + .long 3218209023 + .long 1501959692 + .long 3218215205 + .long 4224678246 + .long 3218221377 + .long 2348618756 + .long 3218227541 + .long 283080250 + .long 3218233696 + .long 2436859197 + .long 3218239841 + .long 333350563 + .long 3218245978 + .long 2675321801 + .long 3218252105 + .long 985177381 + .long 3218258224 + .long 3964700035 + .long 3218264333 + .long 3135315249 + .long 3218270434 + .long 2902865164 + .long 3218276526 + .long 3377742213 + .long 3218282609 + .long 374891912 + .long 3218288684 + .long 2593684821 + .long 3218294749 + .long 1553148222 + .long 3218300806 + .long 1656739931 + .long 3218306854 + .long 3012481825 + .long 3218312893 + .long 1432962538 + .long 3218318924 + .long 1320242026 + .long 3218324946 + .long 2780952336 + .long 3218330959 + .long 1626300240 + .long 3218336964 + .long 2256971748 + .long 3218342960 + .long 483265518 + .long 3218348948 + .long 704964628 + .long 3218354927 + .long 3026437244 + .long 3218360897 + .long 3256639170 + .long 3218366859 + .long 1499050969 + .long 3218372813 + .long 2151680465 + .long 3218378758 + .long 1022163351 + .long 3218384695 + .long 2507634849 + .long 3218390623 + .long 2414862975 + .long 3218396543 + .long 845152874 + .long 3218402455 + .long 2194349235 + .long 3218408358 + .long 2267936813 + .long 3218414253 + .long 1165944702 + .long 3218420140 + .long 3282948707 + .long 3218426018 + .long 128204514 + .long 3218431889 + .long 390421100 + .long 3218437751 + .long 4167959282 + .long 3218443604 + .long 2968834018 + .long 3218449450 + .long 1185553177 + .long 3218455288 + .long 3210217930 + .long 3218461117 + .long 549623114 + .long 3218466939 + .long 1890030548 + .long 3218472752 + .long 3032400188 + .long 3218478557 + .long 4072261525 + .long 3218484354 + .long 3450874911 + .long 1070995813 + .long 2331021804 + .long 1070990032 + .long 1029453230 + .long 1070984259 + .long 3747176240 + .long 1070978493 + .long 1800682930 + .long 1070972736 + .long 3686719393 + .long 1070966986 + .long 722545241 + .long 1070961245 + .long 1405669883 + .long 1070955511 + .long 1349079372 + .long 1070949785 + .long 461103529 + .long 1070944067 + .long 2945413886 + .long 1070938356 + .long 121152472 + .long 1070932654 + .long 487700860 + .long 1070926959 + .long 3954874384 + .long 1070921271 + .long 1842920138 + .long 1070915592 + .long 2652318780 + .long 1070909920 + .long 1999011482 + .long 1070904256 + .long 4089234463 + .long 1070898599 + .long 244680560 + .long 1070892951 + .long 3262235675 + .long 1070887309 + .long 169336595 + .long 1070881676 + .long 3763576649 + .long 1070876049 + .long 1073096258 + .long 1070870431 + .long 601221319 + .long 1070864820 + .long 2261690268 + .long 1070859216 + .long 1673619518 + .long 1070853620 + .long 3046403514 + .long 1070848031 + .long 1999843716 + .long 1070842450 + .long 2744015967 + .long 1070836876 + .long 899399508 + .long 1070831310 + .long 676744370 + .long 1070825751 + .long 1992167703 + .long 1070820199 + .long 467152011 + .long 1070814655 + .long 313445281 + .long 1070809118 + .long 1448157352 + .long 1070803588 + .long 3788725476 + .long 1070798065 + .long 2957945300 + .long 1070792550 + .long 3168871046 + .long 1070787042 + .long 44944622 + .long 1070781542 + .long 2094830420 + .long 1070776048 + .long 647642559 + .long 1070770562 + .long 4212681596 + .long 1070765082 + .long 4119694493 + .long 1070759610 + .long 288676754 + .long 1070754146 + .long 1229870791 + .long 1070748688 + .long 2568927817 + .long 1070743237 + .long 4226775419 + .long 1070737793 + .long 1829681364 + .long 1070732357 + .long 3889121191 + .long 1070726927 + .long 1737005556 + .long 1070721505 + .long 3885417029 + .long 1070716089 + .long 1666870165 + .long 1070710681 + .long 3594048319 + .long 1070705279 + .long 1000063738 + .long 1070699885 + .long 2398194399 + .long 1070694497 + .long 3417111411 + .long 1070689116 + .long 3980746691 + .long 1070683742 + .long 4013324163 + .long 1070678375 + .long 3439358267 + .long 1070673015 + .long 2183652476 + .long 1070667662 + .long 171297820 + .long 1070662316 + .long 1622638721 + .long 1070656976 + .long 2168369647 + .long 1070651643 + .long 1734435555 + .long 1070646317 + .long 247063161 + .long 1070640998 + .long 1927726804 + .long 1070635685 + .long 2408245143 + .long 1070630379 + .long 1615681634 + .long 1070625080 + .long 3772343130 + .long 1070619787 + .long 215909304 + .long 1070614502 + .long 3759169634 + .long 1070609222 + .long 1445381777 + .long 1070603950 + .long 1792910451 + .long 1070598684 + .long 870975437 + .long 1070590754 + .long 3194096222 + .long 1070580248 + .long 1823716217 + .long 1070569756 + .long 913800688 + .long 1070559277 + .long 323875369 + .long 1070548811 + .long 4208958430 + .long 1070538357 + .long 3839688678 + .long 1070527917 + .long 3372126730 + .long 1070517490 + .long 2667883253 + .long 1070507076 + .long 1589083690 + .long 1070496675 + .long 4293333010 + .long 1070486286 + .long 2053843986 + .long 1070475911 + .long 3324205749 + .long 1070465548 + .long 3673610217 + .long 1070455198 + .long 2966718784 + .long 1070444861 + .long 1068692560 + .long 1070434537 + .long 2140157205 + .long 1070424225 + .long 1752298597 + .long 1070413926 + .long 4066729595 + .long 1070403639 + .long 360651144 + .long 1070393366 + .long 3386588242 + .long 1070383104 + .long 127747308 + .long 1070372856 + .long 3337621361 + .long 1070362619 + .long 380113 + .long 1070352396 + .long 2870475188 + .long 1070342184 + .long 3227997535 + .long 1070331985 + .long 943446189 + .long 1070321799 + .long 182758681 + .long 1070311625 + .long 817374162 + .long 1070301463 + .long 2719198427 + .long 1070291313 + .long 1465634365 + .long 1070281176 + .long 1224481606 + .long 1070271051 + .long 1869032404 + .long 1070260938 + .long 3273036717 + .long 1070250837 + .long 1015732707 + .long 1070240749 + .long 3561713742 + .long 1070230672 + .long 2196155141 + .long 1070220608 + .long 1089583089 + .long 1070210556 + .long 118003300 + .long 1070200516 + .long 3452833475 + .long 1070190487 + .long 2381031992 + .long 1070180471 + .long 1074899573 + .long 1070170467 + .long 3707175295 + .long 1070160474 + .long 1566132617 + .long 1070150494 + .long 3120348377 + .long 1070140525 + .long 3953929663 + .long 1070130568 + .long 3946380940 + .long 1070120623 + .long 2977634725 + .long 1070110690 + .long 928049556 + .long 1070100769 + .long 1973375279 + .long 1070090859 + .long 1699849154 + .long 1070080961 + .long 4284063055 + .long 1070071074 + .long 1018125008 + .long 1070061200 + .long 374428300 + .long 1070051337 + .long 2235845747 + .long 1070041485 + .long 2190695046 + .long 1070031645 + .long 122671437 + .long 1070021817 + .long 210845780 + .long 1070012000 + .long 2339728060 + .long 1070002194 + .long 2099265479 + .long 1069992400 + .long 3669742467 + .long 1069982617 + .long 2641909617 + .long 1069972846 + .long 3196851002 + .long 1069963086 + .long 926113142 + .long 1069953338 + .long 11572342 + .long 1069943601 + .long 340530969 + .long 1069933875 + .long 1800682930 + .long 1069924160 + .long 4280111857 + .long 1069914456 + .long 3372322013 + .long 1069904764 + .long 3261138386 + .long 1069895083 + .long 3835803021 + .long 1069885413 + .long 690973253 + .long 1069875755 + .long 2306589128 + .long 1069866107 + .long 4278067876 + .long 1069856470 + .long 2201204065 + .long 1069846845 + .long 262102455 + .long 1069837231 + .long 2647241692 + .long 1069827627 + .long 658570708 + .long 1069818035 + .long 2778278092 + .long 1069808453 + .long 309052031 + .long 1069798883 + .long 1733817001 + .long 1069789323 + .long 2650961017 + .long 1069779774 + .long 2954203158 + .long 1069770236 + .long 2537624622 + .long 1069760709 + .long 1295667077 + .long 1069751193 + .long 3418098326 + .long 1069741687 + .long 210141498 + .long 1069732193 + .long 157244505 + .long 1069722709 + .long 3155274661 + .long 1069713235 + .long 510517079 + .long 1069703773 + .long 709476866 + .long 1069694321 + .long 3649073763 + .long 1069684879 + .long 636640577 + .long 1069675449 + .long 159725394 + .long 1069666029 + .long 2116286250 + .long 1069656619 + .long 2109656884 + .long 1069647220 + .long 38479793 + .long 1069637832 + .long 96704707 + .long 1069628454 + .long 2183652476 + .long 1069619086 + .long 1904013563 + .long 1069609729 + .long 3452748429 + .long 1069600382 + .long 2435216853 + .long 1069591046 + .long 3047045639 + .long 1069581720 + .long 894257944 + .long 1069572405 + .long 173141005 + .long 1069563100 + .long 785342784 + .long 1069553805 + .long 970708326 + .long 1069541521 + .long 2645916898 + .long 1069522972 + .long 2106590683 + .long 1069504444 + .long 3453588195 + .long 1069485936 + .long 2198475040 + .long 1069467449 + .long 2443390270 + .long 1069448982 + .long 3996141691 + .long 1069430535 + .long 2370203065 + .long 1069412109 + .long 1669613218 + .long 1069393703 + .long 1704071394 + .long 1069375317 + .long 2283901796 + .long 1069356951 + .long 3220050856 + .long 1069338605 + .long 29117219 + .long 1069320280 + .long 1113218225 + .long 1069301974 + .long 1990183441 + .long 1069283688 + .long 2473421172 + .long 1069265422 + .long 2376948508 + .long 1069247176 + .long 1515388672 + .long 1069228950 + .long 3998935692 + .long 1069210743 + .long 1053482595 + .long 1069192557 + .long 1085389880 + .long 1069174390 + .long 3911679148 + .long 1069156242 + .long 760030536 + .long 1069138115 + .long 38583924 + .long 1069120007 + .long 1566132617 + .long 1069101918 + .long 867088104 + .long 1069083849 + .long 2056379433 + .long 1069065799 + .long 659581512 + .long 1069047769 + .long 792781808 + .long 1069029758 + .long 2277675977 + .long 1069011766 + .long 641565395 + .long 1068993794 + .long 2256601 + .long 1068975841 + .long 183156961 + .long 1068957907 + .long 1008239542 + .long 1068939992 + .long 2302040698 + .long 1068922096 + .long 3889657667 + .long 1068904219 + .long 1301778891 + .long 1068886362 + .long 2954550821 + .long 1068868523 + .long 84804484 + .long 1068850704 + .long 1109791498 + .long 1068832903 + .long 1562410668 + .long 1068815121 + .long 1271074840 + .long 1068797358 + .long 64741293 + .long 1068779614 + .long 2067876735 + .long 1068761888 + .long 2815553124 + .long 1068744181 + .long 2138347284 + .long 1068726493 + .long 4162338635 + .long 1068708823 + .long 129237761 + .long 1068691173 + .long 2756122533 + .long 1068673540 + .long 3285762921 + .long 1068655926 + .long 1551389854 + .long 1068638331 + .long 1681725707 + .long 1068620754 + .long 3511047527 + .long 1068603195 + .long 2579184841 + .long 1068585655 + .long 3016419377 + .long 1068568133 + .long 363613719 + .long 1068550630 + .long 3047045639 + .long 1068533144 + .long 2313634884 + .long 1068515677 + .long 296456961 + .long 1068497513 + .long 1367328035 + .long 1068462651 + .long 3221665916 + .long 1068427825 + .long 1242258971 + .long 1068393036 + .long 3697798734 + .long 1068358282 + .long 1678104687 + .long 1068323565 + .long 3453858508 + .long 1068288883 + .long 116861598 + .long 1068254238 + .long 4234736672 + .long 1068219627 + .long 2606283437 + .long 1068185053 + .long 3506114812 + .long 1068150514 + .long 2324914545 + .long 1068116011 + .long 3044269692 + .long 1068081543 + .long 1056797460 + .long 1068047111 + .long 346010435 + .long 1068012714 + .long 601410756 + .long 1067978352 + .long 1513453498 + .long 1067944025 + .long 2773542775 + .long 1067909733 + .long 4074027864 + .long 1067875476 + .long 813232056 + .long 1067841255 + .long 1275317999 + .long 1067807068 + .long 860480111 + .long 1067772916 + .long 3559777258 + .long 1067738798 + .long 480292498 + .long 1067704716 + .long 4204867691 + .long 1067670667 + .long 1547459502 + .long 1067636654 + .long 797775935 + .long 1067602675 + .long 1656501562 + .long 1067568730 + .long 3825228429 + .long 1067534819 + .long 2711485098 + .long 1067500943 + .long 2313634884 + .long 1067467101 + .long 376973398 + .long 1067416219 + .long 672386641 + .long 1067348671 + .long 630691842 + .long 1067281191 + .long 3960777458 + .long 1067213778 + .long 1488394470 + .long 1067146434 + .long 1220920383 + .long 1067079157 + .long 2577548405 + .long 1067011947 + .long 684247743 + .long 1066944805 + .long 3553625811 + .long 1066877729 + .long 2020150230 + .long 1066810721 + .long 4099880293 + .long 1066743779 + .long 630721729 + .long 1066676905 + .long 3927125538 + .long 1066610096 + .long 535440936 + .long 1066543355 + .long 2773516144 + .long 1066476679 + .long 1486051399 + .long 1066410070 + .long 808661260 + .long 1066285262 + .long 2227658502 + .long 1066152307 + .long 1813447778 + .long 1066019484 + .long 2743640746 + .long 1065886792 + .long 3904192454 + .long 1065754231 + .long 4184355568 + .long 1065621801 + .long 2476667369 + .long 1065489502 + .long 1971904113 + .long 1065357333 + .long 3138267131 + .long 1065097372 + .long 341338964 + .long 1064833554 + .long 1954052322 + .long 1064569994 + .long 1498975029 + .long 1064306693 + .long 2190050752 + .long 1063782660 + .long 1440057502 + .long 1063257089 + .long 1432705161 + .long 1062208000 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040187392 + .long 0 + .long 1040187392 + .long 0 + .long 1040187392 + .long 0 + .long 1040187392 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967290 + .long 1071120383 + .long 4294967290 + .long 1071120383 + .long 4294967290 + .long 1071120383 + .long 4294967290 + .long 1071120383 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294967290 + .long 1070858239 + .long 4294967290 + .long 1070858239 + .long 4294967290 + .long 1070858239 + .long 4294967290 + .long 1070858239 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 333042728 + .long 1070694400 + .long 333042728 + .long 1070694400 + .long 333042728 + .long 1070694400 + .long 333042728 + .long 1070694400 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 635310127 + .long 1070563328 + .long 635310127 + .long 1070563328 + .long 635310127 + .long 1070563328 + .long 635310127 + .long 1070563328 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966784 + .long 0 + .long 4294966784 + .long 0 + .long 4294966784 + .long 0 + .long 4294966784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dacosh_data_internal,@object + .size __svml_dacosh_data_internal,14784 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core-avx2.S new file mode 100644 index 0000000000..48879787c1 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized acosh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_acosh _ZGVeN8v_acosh_avx2_wrapper +#include "../svml_d_acosh8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core.c new file mode 100644 index 0000000000..4322a5f707 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized acosh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_acosh +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_acosh, __GI__ZGVeN8v_acosh, __redirect__ZGVeN8v_acosh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core_avx512.S new file mode 100644 index 0000000000..381eeb2006 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core_avx512.S @@ -0,0 +1,864 @@ +/* Function acosh vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute acosh(x) as log(x + sqrt(x*x - 1)) + * using RSQRT instructions for starting the + * square root approximation, and small table lookups for log + * that map to AVX-512 permute instructions + * + * Special cases: + * + * acosh(NaN) = quiet NaN, and raise invalid exception + * acosh(-INF) = NaN + * acosh(+INF) = +INF + * acosh(x) = NaN if x < 1 + * acosh(1) = +0 + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_acosh_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN8v_acosh_skx) + + .align 16,0x90 + +__svml_dacosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dacosh_cout_rare_internal,@function + .size __svml_dacosh_cout_rare_internal,.-__svml_dacosh_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core-avx2.S new file mode 100644 index 0000000000..a54c6863c5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized acoshf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_acoshf _ZGVeN16v_acoshf_avx2_wrapper +#include "../svml_s_acoshf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core.c new file mode 100644 index 0000000000..8109b73ebf --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized acoshf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_acoshf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_acoshf, __GI__ZGVeN16v_acoshf, + __redirect__ZGVeN16v_acoshf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core_avx512.S new file mode 100644 index 0000000000..e187d19950 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core_avx512.S @@ -0,0 +1,661 @@ +/* Function acoshf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute acosh(x) as log(x + sqrt(x*x - 1)) + * using RSQRT instructions for starting the + * square root approximation, and small table lookups for log + * that map to AVX-512 permute instructions + * + * Special cases: + * + * acosh(NaN) = quiet NaN, and raise invalid exception + * acosh(-INF) = NaN + * acosh(+INF) = +INF + * acosh(x) = NaN if x < 1 + * acosh(1) = +0 + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_acoshf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN16v_acoshf_skx) + + .align 16,0x90 + +__svml_sacosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_sacosh_cout_rare_internal,@function + .size __svml_sacosh_cout_rare_internal,.-__svml_sacosh_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core-sse2.S new file mode 100644 index 0000000000..d789ec1d47 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized acoshf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_acoshf _ZGVbN4v_acoshf_sse2 +#include "../svml_s_acoshf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core.c new file mode 100644 index 0000000000..b2d9101c47 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized acoshf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_acoshf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_acoshf, __GI__ZGVbN4v_acoshf, + __redirect__ZGVbN4v_acoshf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core_sse4.S new file mode 100644 index 0000000000..d3694f56c4 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core_sse4.S @@ -0,0 +1,2498 @@ +/* Function acoshf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute acosh(x) as log(x + sqrt(x*x - 1)) + * + * Special cases: + * + * acosh(NaN) = quiet NaN, and raise invalid exception + * acosh(-INF) = NaN + * acosh(+INF) = +INF + * acosh(x) = NaN if x < 1 + * acosh(1) = +0 + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_acoshf_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + +/* Compute U = X - 1 and V = X + 1, naively first. */ + movaps %xmm0, %xmm3 + +/* Load constants, always including One = 1 */ + movups 1920+__svml_sacosh_data_internal(%rip), %xmm1 + +/* + * Check that 1 < X < +inf; otherwise go to the callout function. + * We need the callout for X = 1 to avoid division by zero below. + * This test ensures that callout handles NaN and either infinity. + */ + movaps %xmm0, %xmm5 + movaps %xmm1, %xmm7 + movaps %xmm1, %xmm2 + +/* Finally, express Y + W = U * V accurately where Y has <= 8 bits */ + movups 3008+__svml_sacosh_data_internal(%rip), %xmm4 + subps %xmm1, %xmm3 + addps %xmm0, %xmm7 + cmpnleps 2624+__svml_sacosh_data_internal(%rip), %xmm5 + cmpnltps %xmm0, %xmm2 + +/* For low-accuracy versions, naivety is harmless */ + mulps %xmm3, %xmm7 + movups %xmm15, 144(%rsp) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movaps %xmm4, %xmm15 + andps %xmm7, %xmm15 + orps %xmm2, %xmm5 + +/* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 8 significant bits. + * This means that R * Y and R^2 * Y are exactly representable. + */ + rsqrtps %xmm15, %xmm6 + movmskps %xmm5, %edx + subps %xmm15, %xmm7 + andps %xmm4, %xmm6 + +/* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-8 + */ + movaps %xmm1, %xmm5 + +/* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + mulps %xmm6, %xmm15 + movaps %xmm6, %xmm4 + mulps %xmm6, %xmm7 + mulps %xmm15, %xmm4 + mulps %xmm7, %xmm6 + +/* + * For low-accuracy versions, the computation can be done + * just as U + ((S + T) + (S + T) * Corr) + */ + addps %xmm7, %xmm15 + subps %xmm4, %xmm5 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + movaps %xmm1, %xmm7 + +/* + * The following computation can go wrong for very large X, e.g. + * the X^2 - 1 = U * V can overflow. But for large X we have + * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when to do this. + */ + movaps %xmm0, %xmm2 + cmpltps 2368+__svml_sacosh_data_internal(%rip), %xmm2 + subps %xmm6, %xmm5 + +/* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... + * So compute the first three nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + */ + movups 2496+__svml_sacosh_data_internal(%rip), %xmm6 + movaps %xmm2, %xmm4 + mulps %xmm5, %xmm6 + addps 2432+__svml_sacosh_data_internal(%rip), %xmm6 + mulps %xmm5, %xmm6 + addps 2560+__svml_sacosh_data_internal(%rip), %xmm6 + mulps %xmm6, %xmm5 + mulps %xmm15, %xmm5 + addps %xmm5, %xmm15 + movaps %xmm1, %xmm5 + addps %xmm15, %xmm3 + movaps %xmm1, %xmm15 + maxps %xmm3, %xmm7 + minps %xmm3, %xmm5 + movaps %xmm7, %xmm6 + +/* Now multiplex to the case X = 2^-30 * input, Xl = 0 in the "big" case. */ + movups 3072+__svml_sacosh_data_internal(%rip), %xmm3 + addps %xmm5, %xmm6 + mulps %xmm0, %xmm3 + subps %xmm6, %xmm7 + andnps %xmm3, %xmm4 + andps %xmm2, %xmm6 + orps %xmm6, %xmm4 + addps %xmm7, %xmm5 + +/* + * Now resume the main code. + * reduction: compute r,n + */ + movdqu 2240+__svml_sacosh_data_internal(%rip), %xmm7 + andps %xmm2, %xmm5 + movdqu 2304+__svml_sacosh_data_internal(%rip), %xmm6 + psubd %xmm7, %xmm4 + pand %xmm4, %xmm6 + psrad $23, %xmm4 + cvtdq2ps %xmm4, %xmm3 + pslld $23, %xmm4 + paddd %xmm7, %xmm6 + psubd %xmm4, %xmm15 + +/* polynomial evaluation */ + subps %xmm1, %xmm6 + mulps %xmm15, %xmm5 + movups 2096+__svml_sacosh_data_internal(%rip), %xmm1 + addps %xmm6, %xmm5 + mulps %xmm5, %xmm1 + movaps %xmm2, %xmm6 + +/* Add 31 to the exponent in the "large" case to get log(2 * input) */ + movups 2816+__svml_sacosh_data_internal(%rip), %xmm4 + addps 2080+__svml_sacosh_data_internal(%rip), %xmm1 + addps %xmm3, %xmm4 + mulps %xmm5, %xmm1 + andnps %xmm4, %xmm6 + andps %xmm2, %xmm3 + orps %xmm3, %xmm6 + addps 2064+__svml_sacosh_data_internal(%rip), %xmm1 + +/* final reconstruction */ + mulps 3136+__svml_sacosh_data_internal(%rip), %xmm6 + mulps %xmm5, %xmm1 + addps 2048+__svml_sacosh_data_internal(%rip), %xmm1 + mulps %xmm5, %xmm1 + addps 2032+__svml_sacosh_data_internal(%rip), %xmm1 + mulps %xmm5, %xmm1 + addps 2016+__svml_sacosh_data_internal(%rip), %xmm1 + mulps %xmm5, %xmm1 + addps 2000+__svml_sacosh_data_internal(%rip), %xmm1 + mulps %xmm5, %xmm1 + addps 1984+__svml_sacosh_data_internal(%rip), %xmm1 + mulps %xmm5, %xmm1 + mulps %xmm5, %xmm1 + addps %xmm1, %xmm5 + addps %xmm6, %xmm5 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 144(%rsp), %xmm15 + cfi_restore(32) + movaps %xmm5, %xmm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm0, 192(%rsp) + movups %xmm5, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 96(%rsp) + movups %xmm9, 80(%rsp) + movups %xmm10, 64(%rsp) + movups %xmm11, 48(%rsp) + movups %xmm12, 32(%rsp) + movups %xmm13, 16(%rsp) + movups %xmm14, (%rsp) + movq %rsi, 120(%rsp) + movq %rdi, 112(%rsp) + movq %r12, 136(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 128(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 96(%rsp), %xmm8 + cfi_restore(25) + movups 80(%rsp), %xmm9 + cfi_restore(26) + movups 64(%rsp), %xmm10 + cfi_restore(27) + movups 48(%rsp), %xmm11 + cfi_restore(28) + movups 32(%rsp), %xmm12 + cfi_restore(29) + movups 16(%rsp), %xmm13 + cfi_restore(30) + movups (%rsp), %xmm14 + cfi_restore(31) + movq 120(%rsp), %rsi + cfi_restore(4) + movq 112(%rsp), %rdi + cfi_restore(5) + movq 136(%rsp), %r12 + cfi_restore(12) + movq 128(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm5 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_sacosh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_acoshf_sse4) + + .align 16,0x90 + +__svml_sacosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_sacosh_cout_rare_internal,@function + .size __svml_sacosh_cout_rare_internal,.-__svml_sacosh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sacosh_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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1051372345 + .long 1051372345 + .long 1051372345 + .long 1051372345 + .long 3204448310 + .long 3204448310 + .long 3204448310 + .long 3204448310 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3204448256 + .long 3204448256 + .long 3204448256 + .long 3204448256 + .long 1051372180 + .long 1051372180 + .long 1051372180 + .long 1051372180 + .long 3196061070 + .long 3196061070 + .long 3196061070 + .long 3196061070 + .long 1045225872 + .long 1045225872 + .long 1045225872 + .long 1045225872 + .long 3190336823 + .long 3190336823 + .long 3190336823 + .long 3190336823 + .long 1041222418 + .long 1041222418 + .long 1041222418 + .long 1041222418 + .long 3189430755 + .long 3189430755 + .long 3189430755 + .long 3189430755 + .long 1041073389 + .long 1041073389 + .long 1041073389 + .long 1041073389 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_sacosh_data_internal,@object + .size __svml_sacosh_data_internal,3392 + .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/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core-sse.S new file mode 100644 index 0000000000..cb97d291c5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized acoshf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_acoshf _ZGVdN8v_acoshf_sse_wrapper +#include "../svml_s_acoshf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core.c new file mode 100644 index 0000000000..db71194cd0 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized acoshf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_acoshf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_acoshf, __GI__ZGVdN8v_acoshf, + __redirect__ZGVdN8v_acoshf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core_avx2.S new file mode 100644 index 0000000000..d928320751 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core_avx2.S @@ -0,0 +1,2112 @@ +/* Function acoshf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute acosh(x) as log(x + sqrt(x*x - 1)) + * + * Special cases: + * + * acosh(NaN) = quiet NaN, and raise invalid exception + * acosh(-INF) = NaN + * acosh(+INF) = +INF + * acosh(x) = NaN if x < 1 + * acosh(1) = +0 + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_acoshf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* Load constants, always including One = 1 */ + vmovups 1920+__svml_sacosh_data_internal(%rip), %ymm2 + vmovups %ymm10, 160(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm9, 96(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +/* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... + * So compute the first three nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + */ + vmovups 2624+__svml_sacosh_data_internal(%rip), %ymm9 + vmovups %ymm12, 224(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm15, 320(%rsp) + vmovaps %ymm0, %ymm3 + +/* + * Check that 1 < X < +inf; otherwise go to the callout function. + * We need the callout for X = 1 to avoid division by zero below. + * This test ensures that callout handles NaN and either infinity. + */ + vcmpnle_uqps 2752+__svml_sacosh_data_internal(%rip), %ymm3, %ymm4 + vcmpngt_uqps %ymm2, %ymm3, %ymm5 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +/* sU is needed later on */ + vsubps %ymm2, %ymm3, %ymm13 + +/* + * The following computation can go wrong for very large X, e.g. + * the X^2 - 1 = U * V can overflow. But for large X we have + * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when to do this. + */ + vcmplt_oqps 2496+__svml_sacosh_data_internal(%rip), %ymm3, %ymm1 + vmovaps %ymm2, %ymm7 + vorps %ymm5, %ymm4, %ymm6 + vfmsub231ps %ymm3, %ymm3, %ymm7 + +/* Finally, express Y + W = U * V accurately where Y has <= 8 bits */ + vmovups 3136+__svml_sacosh_data_internal(%rip), %ymm4 + vandps %ymm4, %ymm7, %ymm5 + +/* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 8 significant bits. + * This means that R * Y and R^2 * Y are exactly representable. + */ + vrsqrtps %ymm5, %ymm0 + vsubps %ymm5, %ymm7, %ymm7 + vmovmskps %ymm6, %edx + vandps %ymm4, %ymm0, %ymm6 + +/* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + vmulps %ymm6, %ymm5, %ymm10 + vmulps %ymm7, %ymm6, %ymm11 + +/* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-8 + */ + vmovaps %ymm2, %ymm8 + vfnmadd231ps %ymm10, %ymm6, %ymm8 + +/* + * For low-accuracy versions, the computation can be done + * just as U + ((S + T) + (S + T) * Corr) + */ + vaddps %ymm11, %ymm10, %ymm14 + vfnmadd231ps %ymm11, %ymm6, %ymm8 + +/* Now multiplex to the case X = 2^-30 * input, Xl = 0 in the "big" case. */ + vmulps 3200+__svml_sacosh_data_internal(%rip), %ymm3, %ymm6 + vfmadd213ps 2560+__svml_sacosh_data_internal(%rip), %ymm8, %ymm9 + vfmadd213ps 2688+__svml_sacosh_data_internal(%rip), %ymm8, %ymm9 + vmulps %ymm9, %ymm8, %ymm12 + vfmadd213ps %ymm14, %ymm12, %ymm14 + +/* + * Now resume the main code. + * reduction: compute r,n + */ + vmovups 2368+__svml_sacosh_data_internal(%rip), %ymm12 + vaddps %ymm14, %ymm13, %ymm15 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + vmaxps %ymm15, %ymm2, %ymm0 + vminps %ymm15, %ymm2, %ymm4 + vaddps %ymm4, %ymm0, %ymm7 + vblendvps %ymm1, %ymm7, %ymm6, %ymm9 + vsubps %ymm7, %ymm0, %ymm5 + vpsubd %ymm12, %ymm9, %ymm10 + vaddps %ymm5, %ymm4, %ymm8 + vpsrad $23, %ymm10, %ymm13 + vpand 2432+__svml_sacosh_data_internal(%rip), %ymm10, %ymm11 + vpslld $23, %ymm13, %ymm14 + vpaddd %ymm12, %ymm11, %ymm4 + vcvtdq2ps %ymm13, %ymm0 + vpsubd %ymm14, %ymm2, %ymm13 + +/* polynomial evaluation */ + vsubps %ymm2, %ymm4, %ymm2 + vmovups 2208+__svml_sacosh_data_internal(%rip), %ymm4 + vandps %ymm1, %ymm8, %ymm15 + vmulps %ymm13, %ymm15, %ymm5 + vaddps %ymm2, %ymm5, %ymm2 + +/* Add 31 to the exponent in the "large" case to get log(2 * input) */ + vaddps 2944+__svml_sacosh_data_internal(%rip), %ymm0, %ymm5 + vfmadd213ps 2176+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vblendvps %ymm1, %ymm0, %ymm5, %ymm0 + vfmadd213ps 2144+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 2112+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 2080+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 2048+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 2016+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 1984+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vmulps %ymm4, %ymm2, %ymm6 + vfmadd213ps %ymm2, %ymm2, %ymm6 + +/* final reconstruction */ + vfmadd132ps 3264+__svml_sacosh_data_internal(%rip), %ymm6, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm3, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_sacosh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_acoshf_avx2) + + .align 16,0x90 + +__svml_sacosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_sacosh_cout_rare_internal,@function + .size __svml_sacosh_cout_rare_internal,.-__svml_sacosh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sacosh_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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 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 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 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 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 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_sacosh_data_internal,@object + .size __svml_sacosh_data_internal,3520 + .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/sysdeps/x86_64/fpu/svml_d_acosh2_core.S b/sysdeps/x86_64/fpu/svml_d_acosh2_core.S new file mode 100644 index 0000000000..42bd5c1b5d --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_acosh2_core.S @@ -0,0 +1,29 @@ +/* Function acosh vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_acosh) +WRAPPER_IMPL_SSE2 acosh +END (_ZGVbN2v_acosh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_acosh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_acosh4_core.S b/sysdeps/x86_64/fpu/svml_d_acosh4_core.S new file mode 100644 index 0000000000..433192bae1 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_acosh4_core.S @@ -0,0 +1,29 @@ +/* Function acosh vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_acosh) +WRAPPER_IMPL_AVX _ZGVbN2v_acosh +END (_ZGVdN4v_acosh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_acosh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_acosh4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_acosh4_core_avx.S new file mode 100644 index 0000000000..9e60289c45 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_acosh4_core_avx.S @@ -0,0 +1,25 @@ +/* Function acosh vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_acosh) +WRAPPER_IMPL_AVX _ZGVbN2v_acosh +END (_ZGVcN4v_acosh) diff --git a/sysdeps/x86_64/fpu/svml_d_acosh8_core.S b/sysdeps/x86_64/fpu/svml_d_acosh8_core.S new file mode 100644 index 0000000000..ef1f8b3426 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_acosh8_core.S @@ -0,0 +1,25 @@ +/* Function acosh vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_acosh) +WRAPPER_IMPL_AVX512 _ZGVdN4v_acosh +END (_ZGVeN8v_acosh) diff --git a/sysdeps/x86_64/fpu/svml_s_acoshf16_core.S b/sysdeps/x86_64/fpu/svml_s_acoshf16_core.S new file mode 100644 index 0000000000..41c0241492 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_acoshf16_core.S @@ -0,0 +1,25 @@ +/* Function acoshf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_acoshf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_acoshf +END (_ZGVeN16v_acoshf) diff --git a/sysdeps/x86_64/fpu/svml_s_acoshf4_core.S b/sysdeps/x86_64/fpu/svml_s_acoshf4_core.S new file mode 100644 index 0000000000..2ef7f428c0 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_acoshf4_core.S @@ -0,0 +1,29 @@ +/* Function acoshf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_acoshf) +WRAPPER_IMPL_SSE2 acoshf +END (_ZGVbN4v_acoshf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_acoshf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_acoshf8_core.S b/sysdeps/x86_64/fpu/svml_s_acoshf8_core.S new file mode 100644 index 0000000000..40f1066ce2 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_acoshf8_core.S @@ -0,0 +1,29 @@ +/* Function acoshf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_acoshf) +WRAPPER_IMPL_AVX _ZGVbN4v_acoshf +END (_ZGVdN8v_acoshf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_acoshf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_acoshf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_acoshf8_core_avx.S new file mode 100644 index 0000000000..b44a9ed28b --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_acoshf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function acoshf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_acoshf) +WRAPPER_IMPL_AVX _ZGVbN4v_acoshf +END (_ZGVcN8v_acoshf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx.c new file mode 100644 index 0000000000..331c6d71cc --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-acosh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx2.c new file mode 100644 index 0000000000..331c6d71cc --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-acosh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx512f.c new file mode 100644 index 0000000000..331c6d71cc --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-acosh-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-acosh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-acosh.c b/sysdeps/x86_64/fpu/test-double-libmvec-acosh.c new file mode 100644 index 0000000000..19b5997414 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-acosh.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC acosh +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 0abc7d2021..3a6b956116 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -28,6 +28,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log), _ZGVbN2v_log) VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVbN2v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVbN2vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVbN2v_acos) +VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVbN2v_acosh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index dda093b914..55dd89aa4d 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -31,6 +31,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log), _ZGVdN4v_log) VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVdN4v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVdN4vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVdN4v_acos) +VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVdN4v_acosh) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index f3230463bb..93a05f8eac 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -28,6 +28,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log), _ZGVcN4v_log) VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVcN4v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVcN4vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVcN4v_acos) +VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVcN4v_acosh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index cf9f52faf0..284fc75888 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -28,6 +28,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log), _ZGVeN8v_log) VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVeN8v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVeN8vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVeN8v_acos) +VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVeN8v_acosh) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx.c new file mode 100644 index 0000000000..7d75108bc0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-acoshf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx2.c new file mode 100644 index 0000000000..7d75108bc0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-acoshf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx512f.c new file mode 100644 index 0000000000..7d75108bc0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-acoshf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-acoshf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-acoshf.c b/sysdeps/x86_64/fpu/test-float-libmvec-acoshf.c new file mode 100644 index 0000000000..f8b536df2e --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-acoshf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC acoshf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index abbd3ed870..69c45f82a4 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -28,6 +28,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (logf), _ZGVeN16v_logf) VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVeN16v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVeN16vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVeN16v_acosf) +VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVeN16v_acoshf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 8a24027952..05296b1c06 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -28,6 +28,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (logf), _ZGVbN4v_logf) VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVbN4v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVbN4vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVbN4v_acosf) +VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVbN4v_acoshf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index aff0442606..13b9aba8d9 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -31,6 +31,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (logf), _ZGVdN8v_logf) VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVdN8v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVdN8vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVdN8v_acosf) +VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVdN8v_acoshf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 913584d111..274b742448 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -28,6 +28,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (logf), _ZGVcN8v_logf) VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVcN8v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVcN8vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVcN8v_acosf) +VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVcN8v_acoshf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48070 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4C8983857C51 for ; Wed, 24 Nov 2021 19:39:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4C8983857C51 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637782771; bh=2lCHBCzvoV468ZS6PV+d9AcvK1f4mPdqCQwZCliIauA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=VlsY5a6VGdAm+4xL5cnmpO71DetJv2O1hPViQ5lpYPzkPWtCUm4LVp+rSrocJKepH hKnbdLO6dNeyeO/FR21APiS4QK/PhXYUYzAA1elzIjyfsD8Rr94z3Fs3FSFY3EpTcJ hZ05YnQxVUYfOgkzaxYx9F2xnkUq+SbPf5TYREd0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 9D6F63858C27 for ; Wed, 24 Nov 2021 19:38:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9D6F63858C27 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="216066695" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="216066695" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="497796766" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga007.jf.intel.com with ESMTP; 24 Nov 2021 11:38:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Wp021555; Wed, 24 Nov 2021 11:38:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 04/42] x86-64: Add vector acosh/acoshf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:29 -0800 Message-Id: <20211124193807.2093208-5-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector acosh/acoshf and input files to libmvec microbenchmark. libmvec-acosh-inputs: 90% Normal random distribution range: (1.0, DBL_MAX) mean: 1.0 sigma: 8.0 10% uniform random distribution in range (1.0, 1.0e6) libmvec-acoshf-inputs: 90% Normal random distribution range: (1.0f, FLT_MAX) mean: 1.0f sigma: 4.0f 10% uniform random distribution in range (1.0f, 1.0e6f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-acosh-inputs | 4100 ++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-acoshf-inputs | 4100 ++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-acosh-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-acoshf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index de6e0164e9..ed34708924 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -34,6 +34,7 @@ libmvec-funcs = \ # Define libmvec function for benchtests directory. libmvec-bench-funcs = \ acos \ + acosh \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-acosh-inputs b/sysdeps/x86_64/fpu/libmvec-acosh-inputs new file mode 100644 index 0000000000..7f1b12dc42 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-acosh-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (1, 1.8e+308), mean = 1, standard deviation = 8 +0x1.e537acbe9661ep+2 +0x1.2ba988bf7ee1ap+1 +0x1.b7fde1eeb3fa9p+2 +0x1.26a53d1f1be7ep+4 +0x1.75a33590dab6ep+2 +0x1.bad058c727562p+3 +0x1.bdb8afb33044p+0 +0x1.a34679b57fd7ap+0 +0x1.c9f5878e80aabp+1 +0x1.5da8fefaaa26cp+1 +0x1.5ee5aa3496dfdp+2 +0x1.2d39d9919d41cp+3 +0x1.e4315405b11c5p+2 +0x1.f3fd5670ecd4ap+2 +0x1.0b3b954cdcf36p+3 +0x1.3a9feb585c21p+3 +0x1.5a0f2b4692737p+2 +0x1.ea3b90d8a2564p+1 +0x1.2b7a81028ae13p+2 +0x1.53a5c31378476p+11 +0x1.2580401df232bp+6 +0x1.0b1ce23de8154p+3 +0x1.5feeb65d80822p+0 +0x1.27a7c10030ae4p+2 +0x1.cb4e225c61bdbp+3 +0x1.01536932835dp+1 +0x1.962a78100b7d6p+3 +0x1.5b69f2f0a089fp+9 +0x1.2a351ea0b19e1p+0 +0x1.360c2fd5d96cdp+3 +0x1.a1ef93f893653p+3 +0x1.f097b78269411p+2 +0x1.9ad90e7163024p+2 +0x1.a35b913d56b61p+2 +0x1.4814961f179e5p+3 +0x1.68454b68c33b3p+3 +0x1.ae83c4919e5b1p+2 +0x1.d25071d48b0b3p+2 +0x1.188fb9a1bbc4cp+3 +0x1.b35461bd7b01dp+1 +0x1.76fb0d6a8de52p+2 +0x1.69598e8e6b2c2p+2 +0x1.4cf566c52c424p+1 +0x1.4df429e9c1b29p+1 +0x1.75cd71bd63f55p+0 +0x1.e1e876e99cc25p+2 +0x1.04780566f93ap+0 +0x1.05c0a5be735f4p+3 +0x1.77acc2540f6f6p+1 +0x1.2288d2772dc22p+1 +0x1.6191b5d79abeep+1 +0x1.0366ec3fe725p+1 +0x1.e80818d29bbdp+7 +0x1.4af7c1486d593p+2 +0x1.a144932602953p+3 +0x1.01073860518bap+1 +0x1.ae5336703809cp+2 +0x1.157e932431e4ap+2 +0x1.c44b6aaf4a018p+2 +0x1.18282e5b43217p+1 +0x1.aafc43a9ea6d4p+2 +0x1.3ed8dbc4dc572p+1 +0x1.4214c823372p+3 +0x1.5eed80c241e46p+4 +0x1.4a70ce04fd4d3p+0 +0x1.99a366f61a781p+2 +0x1.2b7e05dc7af5dp+3 +0x1.aabe8d536e76cp+2 +0x1.0f94d45365d3ep+3 +0x1.10e658a4f2c8bp+1 +0x1.2d87e4068ecc5p+3 +0x1.e6c7ea0711c99p+3 +0x1.5dd87f027d174p+1 +0x1.1e57b1ac6d505p+2 +0x1.0c97057db748p+15 +0x1.ca7ee75ee0531p+3 +0x1.7221b7312157fp+2 +0x1.9ff5bc5f5da2dp+2 +0x1.724efc89da10ap+1 +0x1.7dc882f3d762p+1 +0x1.920ed8dc30dfcp+2 +0x1.930a16997a6d6p+3 +0x1.3cfd77fc929e8p+1 +0x1.047035ecca81cp+2 +0x1.b50ec69bb3a04p+2 +0x1.b91b9110b8dd7p+1 +0x1.a10807e4977p+3 +0x1.7949e72e8914bp+3 +0x1.72a619aedecb5p+3 +0x1.27a39f4d4cc25p+4 +0x1.10b87b053768cp+2 +0x1.76fe5fc6fa3c2p+3 +0x1.a9b0f3e0e0584p+3 +0x1.73e29d11ae791p+2 +0x1.24162421c8561p+3 +0x1.afba660723acfp+1 +0x1.eea6d7afb1705p+14 +0x1.47c7b34acf6c8p+2 +0x1.1362fb6cfbb2ap+4 +0x1.0c595879fee53p+0 +0x1.0e5aa1145734cp+4 +0x1.41272debd2333p+2 +0x1.4480822366da6p+3 +0x1.27bf75b7055e4p+2 +0x1.78160acb69ed3p+2 +0x1.49aa82b20cf93p+0 +0x1.5173e1ffe5b86p+0 +0x1.4e6dad20e631fp+2 +0x1.7c7e0f26d9a5dp+2 +0x1.bd225138898dep+1 +0x1.abb15c61ca5f1p+2 +0x1.02dd356d323ffp+0 +0x1.cc8eba94cd894p+3 +0x1.397a1d4fb50e2p+1 +0x1.323d187f77bd8p+1 +0x1.b60b23be9bab8p+0 +0x1.548d4002ad588p+3 +0x1.2a52e4f3c768fp+4 +0x1.0f5e82362e2bap+3 +0x1.ca8b9a070bcf1p+1 +0x1.91850a482ba67p+4 +0x1.f69ec2606409fp+1 +0x1.0f4abf237ef3cp+4 +0x1.47f424f7322fbp+3 +0x1.2434317cf5119p+3 +0x1.6f82781ecdd7cp+3 +0x1.c62f0e69ddb9dp+1 +0x1.c3b4a079a27e7p+2 +0x1.277bb34874928p+1 +0x1.93306c72f0a09p+1 +0x1.585443223d542p+0 +0x1.50305d427c031p+3 +0x1.99e1b120e78c1p+2 +0x1.8f8ea8f2b2961p+2 +0x1.0074eaef3bbcp+3 +0x1.066ea5dbff1dcp+4 +0x1.61144cd35de84p+3 +0x1.f472e7db63d46p+3 +0x1.4fa6422c7043bp+3 +0x1.befdbd6078b2ep+0 +0x1.4a6709afaa9cp+14 +0x1.e0d0990dbf788p+0 +0x1.50ea39a7cf938p+3 +0x1.fff54863bbb13p+2 +0x1.6f3c3f6beef83p+9 +0x1.a3a7c025b8358p+3 +0x1.9a6af677b3b7cp+3 +0x1.1106d2cfb774p+1 +0x1.aaa161a477366p+1 +0x1.11e110d34e091p+3 +0x1.dd3e2c47eba7cp+2 +0x1.ddd369de5f963p+0 +0x1.1d18b7e0c1e6ep+1 +0x1.59804d36f0027p+1 +0x1.aec300c6e0d84p+2 +0x1.aaa1458afb82ap+0 +0x1.3df5dba7378p+13 +0x1.9a5bef7e71b7fp+2 +0x1.8fcd7caaf068ep+1 +0x1.064903a88ceccp+16 +0x1.a5e234d9d723p+2 +0x1.c1eea275987dcp+2 +0x1.069c53030467p+3 +0x1.4cd462972d3a7p+4 +0x1.1f9b7cd53473ap+4 +0x1.4054be5894c16p+3 +0x1.0815262de422dp+0 +0x1.dd0d59339304dp+2 +0x1.f5ca911db94ep+3 +0x1.36d24be82a1b8p+15 +0x1.200c4dd8fc513p+3 +0x1.5aff03451adb1p+3 +0x1.8d5be8b090084p+2 +0x1.0b7a1e6fa969fp+19 +0x1.179a4f277b5edp+4 +0x1.7da50e2df0762p+1 +0x1.aab817598e9cep+1 +0x1.ee814af9e90abp+1 +0x1.17e805370d47dp+16 +0x1.93a2cae737a54p+2 +0x1.0a1638a466f2dp+2 +0x1.38aead3d1a1d8p+3 +0x1.03294f0e74d8cp+4 +0x1.4b84eff634fe8p+3 +0x1.c803b3b61b6ffp+2 +0x1.119a93654c8p+3 +0x1.1cf9e442c2d45p+5 +0x1.60557093fe00ap+3 +0x1.7ad44184f1409p+3 +0x1.3a9da9c534b29p+3 +0x1.a539a2c5469dap+3 +0x1.2da6466d1a791p+3 +0x1.5af0b5af3bcbep+2 +0x1.ce7be4220634dp+1 +0x1.b5a4e4e9efd2ep+12 +0x1.10f35907a127ap+3 +0x1.9aac394582e8ap+2 +0x1.ae7dc81c02f4ep+3 +0x1.97242d46353c5p+0 +0x1.183c50b6edf9ep+3 +0x1.0067cb50d2839p+0 +0x1.bc0eaf7233825p+1 +0x1.9c7902190dac5p+0 +0x1.7071bbed6bd28p+4 +0x1.4a75b1d968b3bp+4 +0x1.901b2864bb0aap+2 +0x1.255c42635ea44p+2 +0x1.6133e4e71c98dp+0 +0x1.c26d13d890139p+2 +0x1.37f07a647abdp+3 +0x1.9c01417bfcee8p+2 +0x1.47125fc45292fp+3 +0x1.0b68a1b508b44p+2 +0x1.335e63781fefp+2 +0x1.6bc8247d28fc5p+1 +0x1.f2b319253eee7p+1 +0x1.1ed629c68b6a6p+3 +0x1.9c8f42cab1cecp+2 +0x1.11527fa43451cp+2 +0x1.3948e7d0da32ep+2 +0x1.4c5e3ac756171p+2 +0x1.115bd48a3ca36p+4 +0x1.9b22063d3f771p+2 +0x1.57da3098fa41dp+2 +0x1.cf8cc678aa958p+0 +0x1.6c1e17156b0d4p+3 +0x1.6139fe4f6d7e2p+3 +0x1.4b6028c217fb9p+2 +0x1.12acb9b75fd0ap+3 +0x1.3426eb0dfb6e1p+3 +0x1.5b49885d62c86p+3 +0x1.7045aca6aca3fp+2 +0x1.e9ca39d6dd6d5p+2 +0x1.1d11bf7ba1e58p+2 +0x1.00a1906f7759cp+2 +0x1.93df1c3b36aa6p+3 +0x1.810d86d3def47p+1 +0x1.5ee03ef5f88e9p+3 +0x1.c4bf15b0634b7p+1 +0x1.427f1ab4e597ap+1 +0x1.ed76216869e9bp+3 +0x1.3b1d3cf683a9ep+3 +0x1.76a936e3ebbd3p+2 +0x1.f548ae3c0fcedp+2 +0x1.834d9cb272e06p+3 +0x1.4dc0d14563418p+3 +0x1.6325e18bb7896p+1 +0x1.b75a2d5a19022p+3 +0x1.79ea516d1f26bp+3 +0x1.43b2233b000cep+0 +0x1.2579879797ae2p+2 +0x1.adfffa6ea6151p+6 +0x1.1ce2ed6ff8799p+4 +0x1.f01929ddd90c2p+3 +0x1.43266ab853368p+2 +0x1.7f864972cb406p+1 +0x1.13552315701a6p+0 +0x1.007dde7f17206p+4 +0x1.c6c234484d46fp+3 +0x1.2aa805d6450fp+0 +0x1.c7b15b059fa22p+1 +0x1.e1be1c00723ap+0 +0x1.0722879f5043ep+1 +0x1.ccb4a41e39bd7p+2 +0x1.62340c86b740ep+1 +0x1.2ad1d0a6ffbb6p+0 +0x1.5b45c176c2365p+3 +0x1.bac13402948f9p+3 +0x1.010db2dab74eap+2 +0x1.a4ea523b0114cp+0 +0x1.cc218b15b287cp+2 +0x1.7b45d5ef20a5ep+3 +0x1.87e9c916daf08p+1 +0x1.51536c1460d72p+13 +0x1.a6fe0c127ccedp+2 +0x1.6900de5c7341p+2 +0x1.2b120488d4105p+4 +0x1.1db0162f1b23ep+4 +0x1.1e03a3dd96788p+4 +0x1.28ef457d6d455p+3 +0x1.12a4b3e1eca4p+1 +0x1.058957cadfdb2p+4 +0x1.7f429b1273ec2p+1 +0x1.d1e56a27778f2p+3 +0x1.1a2982c526d1cp+1 +0x1.507c967bfffc2p+3 +0x1.8d5cb9f362b26p+2 +0x1.b53685c765faep+1 +0x1.556cf98157438p+0 +0x1.6611131f47a7p+2 +0x1.c2fd9438599abp+2 +0x1.15759f47be75ap+3 +0x1.9b3f41fff0253p+3 +0x1.48342cb37ad0ep+2 +0x1.a1696e4b137acp+4 +0x1.b14f50b20be24p+1 +0x1.14ab20a4b31fbp+1 +0x1.0c4081bd62e86p+2 +0x1.4b01b141897c8p+3 +0x1.be7c31f8f8785p+3 +0x1.af11f54894505p+1 +0x1.56866851143b6p+0 +0x1.ec768e4a31d8ep+0 +0x1.93ca435154ef3p+1 +0x1.cabe0355e634bp+2 +0x1.909c0a3406d9cp+1 +0x1.88c908be8c44dp+1 +0x1.f438981f5be52p+1 +0x1.4576c864683dcp+2 +0x1.a8f5fa44d3e0dp+2 +0x1.653d86d405639p+0 +0x1.27f0af7446b52p+3 +0x1.725fd32406536p+2 +0x1.dca988d43ea06p+0 +0x1.722bc74df75b5p+2 +0x1.0b379ca9deb83p+4 +0x1.02b4531952a78p+3 +0x1.7caddd90a8a2cp+4 +0x1.08f1981aa392cp+3 +0x1.70942d15b04b2p+1 +0x1.6b80b406c31bdp+3 +0x1.6811c39f9b89bp+2 +0x1.112062aea9bd9p+2 +0x1.44ff8de1596e4p+3 +0x1.4c93a6a4a3b32p+1 +0x1.eee10190d744bp+1 +0x1.05c97ee3e6ef3p+11 +0x1.81156dcb93f62p+0 +0x1.47ae594e8f35ep+11 +0x1.8c7613e9d03ecp+0 +0x1.1bbbb1526824ap+3 +0x1.4f381836f6e7bp+2 +0x1.77e79cba79251p+2 +0x1.a1d222637a43ep+3 +0x1.e985fa67e4182p+1 +0x1.322789b7bca64p+3 +0x1.a128b1ee4e238p+2 +0x1.77de378857b3fp+3 +0x1.4ae6ec582d27ap+2 +0x1.23779351e87c9p+4 +0x1.2c0cc13b8ebb7p+3 +0x1.45e32b59c8112p+0 +0x1.00432d2ff5891p+10 +0x1.db39f2eb74eb1p+2 +0x1.054541a994ce9p+9 +0x1.0284a0f3d23fep+2 +0x1.152f60ab5d644p+3 +0x1.03e162bc2a86p+3 +0x1.49e96024014f6p+2 +0x1.252867c45b3a7p+3 +0x1.f1def40095906p+3 +0x1.883ea7179c668p+0 +0x1.29ea6c55af5cbp+3 +0x1.ed637cb09468cp+1 +0x1.c021c79686a5ep+2 +0x1.0d77216977704p+4 +0x1.0aa2ecee5c682p+10 +0x1.0f69a8a375ee4p+2 +0x1.0125e154398bep+3 +0x1.3f12400327dddp+3 +0x1.a4697aec60f79p+3 +0x1.a0d5da80d0abfp+2 +0x1.0cb8e75f61ee2p+3 +0x1.2e443e518fa6ap+3 +0x1.2ba9de0f47b43p+1 +0x1.2adc702525844p+3 +0x1.62d33f8c4b73fp+1 +0x1.083102b315c64p+13 +0x1.0ce849343e852p+3 +0x1.fd3d03a0cd29cp+1 +0x1.92dc5518c03d1p+2 +0x1.552d96988dfcbp+2 +0x1.647af4585a46fp+2 +0x1.96a2815628e98p+0 +0x1.37a112f03daa2p+2 +0x1.3c02c272fd96bp+2 +0x1.e9e4b01a4cedep+3 +0x1.25b91db8884dap+2 +0x1.b943c780e68aep+2 +0x1.1838a198ed8cep+0 +0x1.b2d80d3aac2f4p+1 +0x1.34317b7c39703p+3 +0x1.ac07adff71719p+1 +0x1.50dded4e36eb9p+3 +0x1.2e475e64d3a79p+2 +0x1.d1738716b59c4p+0 +0x1.0257efdbbde73p+3 +0x1.4213b6a8e0cbcp+2 +0x1.7cace90f59766p+1 +0x1.fdc8aa29dc6b8p+0 +0x1.e816ef340651dp+2 +0x1.68a22e31d786ap+3 +0x1.0e32560731d5cp+1 +0x1.4081edff82e76p+1 +0x1.2f0c9c45e3f7cp+3 +0x1.882d272fb1023p+2 +0x1.aacbc58dbca24p+1 +0x1.166984d51438p+3 +0x1.ee38c79a3a629p+1 +0x1.eabbf22ae2a88p+2 +0x1.f05eeaf2cc597p+1 +0x1.97f5979872be8p+8 +0x1.9c42446eea52bp+2 +0x1.ff0cf0befbae9p+1 +0x1.2b23bff82965fp+0 +0x1.ce84e7fe837a8p+10 +0x1.3aeb94db4c3b7p+9 +0x1.603c9bb358d1p+0 +0x1.8d8134ffd3891p+2 +0x1.95199b9149c6ep+3 +0x1.34bb7cc8c71acp+2 +0x1.cbdca09b25806p+1 +0x1.081adc268d0bap+2 +0x1.ad5dfbfb27497p+1 +0x1.4690e98a2c6bep+8 +0x1.f57ef080526a1p+2 +0x1.ae593e63048dp+2 +0x1.d965feba3d7afp+3 +0x1.74ff3306ccb19p+3 +0x1.2641b5932f508p+3 +0x1.b25baf9ade36dp+0 +0x1.2fb4c34d43d8ep+12 +0x1.49b6e0c740d5cp+2 +0x1.a540ed66aa851p+2 +0x1.01f6e5b2bca52p+12 +0x1.cc1d65e87d738p+16 +0x1.072825c300402p+3 +0x1.51242419563adp+3 +0x1.108b9b11f06bap+3 +0x1.d0eac080d8fbcp+2 +0x1.e3b361813885dp+5 +0x1.aadb308c08e18p+3 +0x1.63db4c38cd007p+1 +0x1.039af1ee9b226p+3 +0x1.7ff1c87b10de2p+2 +0x1.056d42f650134p+3 +0x1.f63c1d6c59edfp+3 +0x1.098323686dd2ap+3 +0x1.1584734fcbf26p+2 +0x1.96ad600480f9bp+8 +0x1.3cf8f41e179b1p+1 +0x1.f5a227ef46377p+2 +0x1.a4657da60ac04p+2 +0x1.8241568dfe5dcp+3 +0x1.90d6fdd8353a1p+2 +0x1.c71f703d627b9p+1 +0x1.00b56faa5f3d8p+1 +0x1.e83f70efeb64dp+1 +0x1.1aee5934af2b5p+0 +0x1.a4e12403dd402p+10 +0x1.2b93d9028f711p+3 +0x1.0be72155fd2bep+4 +0x1.a295f53135fbep+4 +0x1.463f76333adbbp+4 +0x1.030504ffe84c8p+3 +0x1.2a3882fdb4c69p+3 +0x1.86a6a0c714e72p+1 +0x1.ebf6e92c72fdap+1 +0x1.31bd4a8f22b46p+3 +0x1.f737566b470fcp+3 +0x1.26ead0655fcbbp+2 +0x1.c3c9a73a60aa1p+1 +0x1.87adb2356ca23p+3 +0x1.7a39542a3d08dp+2 +0x1.52a9708bccf16p+3 +0x1.eab63e0e6dc96p+2 +0x1.720d7d4bb0b2ap+0 +0x1.00e136b4762bp+2 +0x1.00d7326be47a2p+4 +0x1.360173c652dbcp+3 +0x1.17256cf97d48cp+4 +0x1.9ddf12ae2e858p+1 +0x1.310ac506de55bp+2 +0x1.17b0c3c34301cp+1 +0x1.6425feb9c71c1p+2 +0x1.b9823cbbabdb6p+0 +0x1.ab69391996a2ap+3 +0x1.0e9ad18b7e177p+4 +0x1.9073b0b765371p+0 +0x1.2338d3fa2926dp+4 +0x1.0ba92f7d14436p+2 +0x1.62d4d3404221ap+2 +0x1.4a741a982584bp+3 +0x1.93b1b5e962d6fp+2 +0x1.a81e28944adfp+3 +0x1.3cf558096dfa7p+0 +0x1.6fc52dbab776p+0 +0x1.e84751b91b97ep+0 +0x1.2c786f59b0738p+1 +0x1.071decc3c1f58p+1 +0x1.c448e0a10531ep+3 +0x1.b131b1eae0801p+2 +0x1.2e4e50f2e1cffp+3 +0x1.27bb5ad646a3bp+3 +0x1.3803f643beb26p+3 +0x1.11107468444b2p+1 +0x1.deedc05f9aa27p+1 +0x1.3580806ff282bp+3 +0x1.36e9dd4c0ec52p+2 +0x1.42d679a118f9ap+3 +0x1.16651c618cf3fp+0 +0x1.10bd334b8012ap+3 +0x1.29e345c07b06ap+2 +0x1.3fa88bc9d3ef6p+3 +0x1.3a2cb4a0336c6p+1 +0x1.b0a7c3293e66dp+3 +0x1.2f8dcaa0d3fdep+3 +0x1.09470e3d14bdcp+16 +0x1.107bcb06b10d1p+9 +0x1.3cfbfc295afp+2 +0x1.fa5cf156c8edp+0 +0x1.38af71f8a9b28p+3 +0x1.3336b1cb0fafbp+4 +0x1.58cbd04dcc3bbp+0 +0x1.123ab32170a67p+2 +0x1.5e2cf57044183p+3 +0x1.7ce4da1b33f67p+3 +0x1.d4b8001746585p+1 +0x1.b631f2c31f401p+2 +0x1.41319694076e6p+2 +0x1.734ba699e81dep+0 +0x1.fbe7756c878aep+2 +0x1.910a551f798d7p+3 +0x1.51c470995341bp+1 +0x1.7b950da0f99c4p+1 +0x1.40a67977446ebp+3 +0x1.2fd8253acf7d7p+3 +0x1.a8e118ffda33p+2 +0x1.828b724b52cd1p+2 +0x1.4e7809ee6b0bcp+2 +0x1.58f41e03ca394p+3 +0x1.3be2452685e43p+3 +0x1.6495697b04783p+18 +0x1.6310181f92686p+2 +0x1.a3500e746171fp+1 +0x1.99c6bdd0879c7p+1 +0x1.69b29933c5641p+2 +0x1.17d73521a2c1ap+3 +0x1.90f49f30f41a3p+2 +0x1.565732ee9462cp+3 +0x1.8714277db77d4p+0 +0x1.23a12f8f2efacp+3 +0x1.a40137694a3c1p+1 +0x1.e9df4b6d8f001p+8 +0x1.03fbe41511792p+3 +0x1.7cc7a67ad537p+0 +0x1.aacbf9ebe9e7fp+1 +0x1.41d10f40bbe4dp+2 +0x1.1bc42c0f5c994p+3 +0x1.64afc970d193ep+3 +0x1.58737faf6d1e6p+1 +0x1.12db2f7f0de33p+4 +0x1.ab8a9f549c9b6p+2 +0x1.4fa00597e9e36p+3 +0x1.a9ed18427a74cp+3 +0x1.5c48d2ae1bcbdp+2 +0x1.672fe28f02b86p+3 +0x1.3b0d5be0124b8p+1 +0x1.01a95893cb28ap+0 +0x1.af5d5c20642b4p+2 +0x1.20c424a42565p+3 +0x1.6167164a2efe6p+3 +0x1.35f8e76fd8dbfp+1 +0x1.7767d36361b7ap+3 +0x1.476b5609db7f6p+3 +0x1.4bc056d863c86p+3 +0x1.254068516fafdp+3 +0x1.f47daeccd0d34p+0 +0x1.0651e821e04cap+3 +0x1.4efcb883841f4p+2 +0x1.59ac5755658f6p+2 +0x1.d97b3cd0420e5p+3 +0x1.70398a0cd7ff5p+11 +0x1.7b7ea048cdfeap+2 +0x1.f49fc4b7f950bp+3 +0x1.b54df18de2571p+2 +0x1.e1fb1560e1ab7p+0 +0x1.72cc5c35a3c8bp+1 +0x1.54d578fbbb117p+3 +0x1.fc7ceb1c93f99p+2 +0x1.3251501885068p+2 +0x1.6077a0397c327p+3 +0x1.25bbacffcc44cp+2 +0x1.4157a37246dcdp+2 +0x1.5f231f19396e1p+3 +0x1.a69fe372e620bp+3 +0x1.691c9d3fdd386p+4 +0x1.2acbe74b8003cp+2 +0x1.b44e0840899fp+0 +0x1.1109b0a8ff74ep+3 +0x1.26d8e05b2e8c2p+0 +0x1.319c0fbd1adb5p+3 +0x1.439e81a3da5fbp+3 +0x1.79ef2bc9c626cp+4 +0x1.6e23bfa3d837fp+3 +0x1.0b4783430d937p+3 +0x1.3f41a247efd78p+1 +0x1.19e09b46fa206p+2 +0x1.0d1aeb9a98b74p+3 +0x1.f7c7b5dcd6724p+3 +0x1.519571fe5ccc8p+0 +0x1.9695d07763352p+1 +0x1.4454b477b93dbp+2 +0x1.cccce934eb87fp+1 +0x1.1af00fb79524cp+3 +0x1.e6508c5fd7785p+0 +0x1.37c5e87d2617ap+3 +0x1.8de487b18c45bp+2 +0x1.5a2fbcbdd81dep+3 +0x1.1ca05139d329cp+8 +0x1.ae315198a9783p+1 +0x1.913135f05f2bbp+2 +0x1.4222ca2b4f081p+2 +0x1.432f2593ba253p+5 +0x1.bb79863f65a21p+3 +0x1.f4ea2fdcafe54p+1 +0x1.5765a7194a5d1p+1 +0x1.efa7d625147a4p+2 +0x1.323447323294cp+2 +0x1.e5c71090e684fp+2 +0x1.404b952a22e2cp+3 +0x1.00dcc7b490c85p+4 +0x1.84f3fa4a410b3p+3 +0x1.a1f7ec9f0416ep+0 +0x1.977f4c5e05628p+2 +0x1.8b18dcedd2fbep+0 +0x1.69b927e38b90ap+1 +0x1.1d4f66c0c3e03p+0 +0x1.eb22813a799a7p+2 +0x1.99fde2bc272c6p+14 +0x1.a733f7daea068p+3 +0x1.fc26f58537a4dp+2 +0x1.e199a43d9cd86p+12 +0x1.2926dba2d5c2ep+2 +0x1.1f1780578ced6p+2 +0x1.d9cbe7e583c3cp+1 +0x1.56769cc7854c4p+2 +0x1.fa025457240b6p+3 +0x1.1bc9b518d6e98p+2 +0x1.e01a6ed4ee6ap+2 +0x1.d92a579cd60f6p+0 +0x1.1245cc82116aep+3 +0x1.6912e17ca55cep+1 +0x1.a1c16635ce30cp+1 +0x1.635af779a7eecp+2 +0x1.1f36aa4ced1d8p+3 +0x1.bd9aa454fc235p+1 +0x1.aec5d3ad7e1c8p+0 +0x1.3ea250052b84ep+14 +0x1.ae3377e2a2bfep+0 +0x1.2855c3159b79p+3 +0x1.05943ebf4a254p+3 +0x1.ccbafccfc1f45p+2 +0x1.4738e349f69cp+4 +0x1.38e1e63dde1e5p+3 +0x1.5e7aad1d1dbaep+3 +0x1.297034a893d1cp+12 +0x1.dc342cd54f14bp+2 +0x1.1446e15d3cbd6p+2 +0x1.103de33a14efp+1 +0x1.0b872559bb89ap+3 +0x1.8f4597dae2bbbp+3 +0x1.ea1fa24208717p+2 +0x1.caaa0f3b9c80dp+2 +0x1.f0f5336e17d7dp+1 +0x1.20701acf28ec4p+6 +0x1.f6ae61baacdc4p+3 +0x1.18cb5dfa90bp+3 +0x1.70ae377c27ac2p+3 +0x1.97e574d6d9832p+3 +0x1.6a07d89c1e6fep+8 +0x1.20a3cf4f53d83p+2 +0x1.c217aac4eab47p+3 +0x1.1d4ffaf86ddbfp+8 +0x1.4004c35e65ba2p+2 +0x1.94ef608119895p+1 +0x1.5f938f466b00fp+2 +0x1.a1e2580529246p+1 +0x1.bf5a81506ac11p+2 +0x1.63f293de01534p+1 +0x1.15e1d8eaca6c9p+0 +0x1.033aed00dc254p+1 +0x1.f4b517aa37139p+2 +0x1.54111b41a0232p+3 +0x1.980dd46df45eep+3 +0x1.0afdecd204cdp+3 +0x1.9747520a8506ap+3 +0x1.80d0694ce0278p+2 +0x1.32f2aac4e5c39p+2 +0x1.078cd4006767p+3 +0x1.1873755755addp+0 +0x1.f0af296fdbc5ep+3 +0x1.547659043af4bp+1 +0x1.5fc270eaecb3ep+0 +0x1.2ea7bf950d4bep+3 +0x1.036421f196243p+3 +0x1.80342384077cbp+3 +0x1.325b5c34f3271p+3 +0x1.0839c592cf22cp+2 +0x1.f921afd783667p+3 +0x1.1f3c0cfd9e79ap+4 +0x1.347aef6c4f2a4p+2 +0x1.b55dbcfc9c267p+1 +0x1.12ce77b1ad3e4p+1 +0x1.b71fcc609328p+2 +0x1.59a7b2a6759c3p+2 +0x1.6e1651d1f03a8p+2 +0x1.532f887f4ac35p+3 +0x1.886e95f29c34dp+3 +0x1.910bd5d2c5ee7p+3 +0x1.75e840d9b9166p+3 +0x1.e9d84b66901d9p+2 +0x1.442e6609033a5p+2 +0x1.3d726b38a0a6bp+1 +0x1.7318cca72ee89p+3 +0x1.370f5293d6bacp+2 +0x1.7a7ac79d22c88p+0 +0x1.7a16844b0ca39p+1 +0x1.249c1583c0b15p+2 +0x1.2e768a936696ep+3 +0x1.1e69826f8be8ap+3 +0x1.d0a490e0463fcp+6 +0x1.7c991c941a69ap+2 +0x1.540ecd246890dp+5 +0x1.87930e9df8616p+0 +0x1.b3c6f5224caabp+3 +0x1.921ca611bd77ap+3 +0x1.e4f4ee03ba7aap+8 +0x1.d472d0ca8751bp+1 +0x1.56653ddecdccep+3 +0x1.949e9b6eee872p+2 +0x1.857ca8cded75ep+3 +0x1.52e28eafa473cp+1 +0x1.08a9b85381cc3p+1 +0x1.c7bccd1900f2bp+11 +0x1.7cc6cf769666ap+1 +0x1.ca61367a61e3dp+3 +0x1.a0e74720a7fc5p+3 +0x1.064e74e38a9d4p+1 +0x1.e9570dd536e9ap+2 +0x1.07ed431f1d85ap+3 +0x1.8da16b3bd8278p+1 +0x1.583b956eae2edp+3 +0x1.f9c449328332dp+11 +0x1.fcbcf34dd1223p+1 +0x1.054f8d03bc2b7p+3 +0x1.b88e2338b3281p+3 +0x1.279636bc0b0b5p+4 +0x1.2eddd54928f0fp+4 +0x1.883cb65527a24p+0 +0x1.d58befb750f82p+0 +0x1.a5eb3639e5f17p+0 +0x1.2f6d093dbd81p+4 +0x1.945d45026886ap+3 +0x1.a7e52f961b265p+0 +0x1.b6131e368cfcp+0 +0x1.be990f3078d22p+2 +0x1.6df431bfd5e7p+0 +0x1.d545f5bf4debap+6 +0x1.b93f93ed373a3p+3 +0x1.1766812b1b34p+1 +0x1.c87b3f5a56cdbp+2 +0x1.3a599d87bc89p+2 +0x1.2723e809d8be9p+4 +0x1.07a1482d357ap+2 +0x1.750ea22983af2p+3 +0x1.032b732f4f99cp+1 +0x1.066a6e128e4a7p+4 +0x1.3ee3ea17fdc59p+0 +0x1.468d4ca64e482p+3 +0x1.ce2fbc3125b5ep+2 +0x1.03bcf34f2bb41p+2 +0x1.19d019afeb38cp+1 +0x1.63a0b23d2cdd2p+0 +0x1.08f1b3da0df12p+1 +0x1.4763d85147774p+1 +0x1.73a8a1d0a887p+11 +0x1.0148794b40b9p+6 +0x1.013eecaf6a405p+2 +0x1.3c816d998c6aap+2 +0x1.32067935fddb1p+1 +0x1.5ed2e9dbee9d8p+2 +0x1.2de6817125677p+2 +0x1.45034cb6b4a64p+3 +0x1.b45266cea7ed7p+2 +0x1.d31bdc70fd103p+1 +0x1.ddb5cef12f4aap+3 +0x1.274d8a7cc269p+1 +0x1.6ebee3aefeaf7p+2 +0x1.d10c93d72f2ap+3 +0x1.f70af224952c4p+2 +0x1.16d28ed20557dp+2 +0x1.005ece5a0c29ap+3 +0x1.38554d4c7dd6ep+2 +0x1.2cee68a0463d5p+4 +0x1.d4c57b463b2e8p+3 +0x1.9fbfd8baa1d71p+3 +0x1.7a65d861f8c53p+3 +0x1.f7dbec199bdf2p+5 +0x1.d7a911eb1ad5fp+1 +0x1.0418383e73046p+1 +0x1.7db72f9579379p+2 +0x1.94ed3aaba1e13p+1 +0x1.952fd86c0f4d9p+1 +0x1.9c7b8b4eebf01p+3 +0x1.904a41590d1fep+14 +0x1.ac762cc6e1412p+2 +0x1.e97d707123bbfp+3 +0x1.5ebe0550694a8p+11 +0x1.aaa90c676d9bp+1 +0x1.6daf5c8646983p+2 +0x1.75849e6f7230ep+3 +0x1.de5a3514c5a91p+3 +0x1.b7069698f84dap+3 +0x1.3440fa8897061p+4 +0x1.51fb48ccd28e9p+3 +0x1.ad1b84d2bb28ap+1 +0x1.051566812e84dp+1 +0x1.49b1a102edbd7p+3 +0x1.b2d60c24fdb6fp+3 +0x1.53f3a18c78ed6p+3 +0x1.41dda3b30acc4p+1 +0x1.0a3190c703a1cp+7 +0x1.2a050a96b5d42p+1 +0x1.484e403804248p+2 +0x1.f0d61c254b395p+2 +0x1.ff4c4eaa2e392p+2 +0x1.1e56b20d5c753p+2 +0x1.e9a9afd91382fp+0 +0x1.1d29de8abaa8bp+3 +0x1.2a9deeb76ed4ap+3 +0x1.11638bfa8b6f9p+2 +0x1.8fa474265c57dp+1 +0x1.4569486927fa4p+4 +0x1.61a8234f96d0fp+2 +0x1.98921cb850db1p+1 +0x1.8dc2f1273843ap+1 +0x1.ba8405cf46916p+3 +0x1.c607c945b5ac9p+3 +0x1.405c78b46c3fcp+3 +0x1.4912be878c8dbp+3 +0x1.2a1dfa004e426p+1 +0x1.eac2ad78f6723p+2 +0x1.714ead04487e7p+0 +0x1.391f9a7809804p+3 +0x1.ecbceb1ee93cep+2 +0x1.efd21f27e1a84p+2 +0x1.ac2f30e6de49cp+3 +0x1.8859917dcca8ep+0 +0x1.77e0850fdd6f4p+0 +0x1.2e163e8c5384ap+2 +0x1.dfdf42087b299p+0 +0x1.3bbc95e911d74p+2 +0x1.972759d0c031p+2 +0x1.1b9a4cb849af3p+4 +0x1.2160a480f5dccp+2 +0x1.2e7168cd2a5b9p+3 +0x1.ad460d7b2822dp+2 +0x1.15f1a71201b34p+3 +0x1.c32eb42d2f49dp+2 +0x1.1f9603d14c371p+2 +0x1.694cfaa556629p+3 +0x1.524a74f566a4fp+0 +0x1.8c99e73e068b7p+14 +0x1.0277bca8f3f52p+3 +0x1.8d9bda4f3396bp+3 +0x1.54d94b2132fcep+4 +0x1.03f740799fba8p+2 +0x1.45d26088a1b7p+1 +0x1.a5eb67a4c5a2ap+1 +0x1.e6754d2a62ebap+3 +0x1.03e782b400935p+0 +0x1.ccd8f89be569dp+2 +0x1.8296ce4e36ddp+2 +0x1.d9051ee5173f3p+3 +0x1.ab220e627c763p+2 +0x1.342de226056dfp+6 +0x1.ced15d501a24fp+3 +0x1.244ca30cf11f4p+4 +0x1.87aa4ff5ab2b6p+3 +0x1.f32d72941bd7ap+3 +0x1.19f9b69e97d7fp+11 +0x1.8fc03280d58a2p+0 +0x1.9db5e135c122bp+3 +0x1.a16db09e2fa48p+2 +0x1.aed1fbbf59e47p+1 +0x1.dfcab679cfa99p+7 +0x1.d1517535028d1p+2 +0x1.30cf47f574048p+3 +0x1.feb2018ce5ef9p+2 +0x1.d0941814f4defp+1 +0x1.04ab1f0d3d5e2p+2 +0x1.c1e1ccabff7ap+1 +0x1.dc5d90d6ec0a3p+3 +0x1.76b89c616fe2fp+2 +0x1.7b9950455bca1p+10 +0x1.0845b4634ae97p+3 +0x1.38ef1e07ed30ap+2 +0x1.17e5ab301bc86p+3 +0x1.5283571c16bb9p+1 +0x1.1e3f2d32a9cfcp+3 +0x1.7bc97ffb273bap+0 +0x1.8818c4a85a7a4p+2 +0x1.d72b74d2fb4e6p+2 +0x1.983f8e9c5dbc4p+1 +0x1.34065c074ad59p+3 +0x1.07257067dd3p+2 +0x1.01fcd46372e94p+3 +0x1.8039da4b812b4p+0 +0x1.19764cff67392p+3 +0x1.1a831df9bbac5p+2 +0x1.a9b278175bf62p+1 +0x1.418eca70a7322p+8 +0x1.86477eb98789p+0 +0x1.cabba277c6feep+2 +0x1.278816d4ac415p+1 +0x1.8cd1ec8dd2fd8p+3 +0x1.aa7ee33d08b48p+3 +0x1.f3eec0804e52ep+2 +0x1.191fb0de26e71p+0 +0x1.33cd957757702p+2 +0x1.757edbdbd2409p+3 +0x1.8451ef2e536ap+2 +0x1.5b806d6e0741fp+2 +0x1.6696a6b8cf896p+18 +0x1.48318d16847cp+2 +0x1.95dacfe7d2f16p+2 +0x1.034be50f51d14p+3 +0x1.383ef2db840b1p+3 +0x1.cbde738e5d476p+1 +0x1.352f49bd65af9p+4 +0x1.a56a24f781d99p+3 +0x1.bc79f6b52ab0ep+3 +0x1.eb57e483af059p+3 +0x1.ac51a80da54edp+1 +0x1.1c936b9b8c84ap+1 +0x1.83939e5464cfdp+2 +0x1.6b5fdf773334p+2 +0x1.8914a589cbd41p+1 +0x1.97db52e2f5759p+13 +0x1.2a9a7c2ddbc66p+1 +0x1.19d28eec6ffa4p+4 +0x1.3ce5284c87f87p+3 +0x1.71d965a4c1a6fp+3 +0x1.9e1ecab2b8611p+3 +0x1.964d9feca9264p+2 +0x1.71e9d1b012bcep+6 +0x1.40c82f49ac2fp+2 +0x1.f59d7b4a2a247p+2 +0x1.d4b133d2c48e6p+10 +0x1.1e3d29e83bb5ep+4 +0x1.67c1c80cafbb6p+0 +0x1.f6aeb4168f508p+1 +0x1.62e8c487aea42p+1 +0x1.775cf4827af7fp+2 +0x1.49edde04b235fp+0 +0x1.095c0363c747dp+3 +0x1.040b868d41869p+3 +0x1.ac1ea08f5bc9bp+3 +0x1.c778eb6e24881p+1 +0x1.e4f79be504d66p+1 +0x1.37a43b5dc9b9ep+2 +0x1.4bf07758ac0edp+4 +0x1.46cc152d53636p+0 +0x1.09b085e9b4d8ep+2 +0x1.ea1f659f18cc7p+2 +0x1.387584c6ee0e2p+3 +0x1.b9882b08dd3ccp+2 +0x1.1909dc1a13236p+3 +0x1.69d3e1c3809cfp+3 +0x1.350b80ed8e1dp+1 +0x1.ed780db41f09ep+0 +0x1.1b429f793b24dp+2 +0x1.594ebba0bd089p+4 +0x1.14d168a1e2592p+3 +0x1.f767b30fddbdcp+0 +0x1.87e58d5cbf6e7p+0 +0x1.6605d5ef330cbp+2 +0x1.6db21ab05b53ap+0 +0x1.1251347e60fc4p+3 +0x1.417c12737f305p+2 +0x1.3a015a32cce72p+2 +0x1.ddb15a2133a93p+1 +0x1.764d9ffadccb7p+4 +0x1.4b4508dd728c1p+3 +0x1.cbc3e54585c17p+3 +0x1.2aeea92521435p+3 +0x1.8592275e060e8p+3 +0x1.6eeb6f8336ea8p+1 +0x1.4dc4ddd3300bbp+3 +0x1.50dc76e7cabfap+3 +0x1.351f39b98daddp+3 +0x1.9d20c0a865e54p+2 +0x1.9de2c3514535p+2 +0x1.63f43b811264p+3 +0x1.15dcc2ec1c488p+3 +0x1.060d5e42fd06p+0 +0x1.3656d467d93bcp+2 +0x1.edd62b7f1b725p+1 +0x1.723719167c04ap+3 +0x1.12c334a7a2b2ep+4 +0x1.13c070dd787c4p+3 +0x1.22af367d95e28p+3 +0x1.0473e03162aaep+3 +0x1.f20674b0bc838p+5 +0x1.55067d4ddd5d2p+2 +0x1.53b2fd363a87ep+3 +0x1.629d8dbb97519p+2 +0x1.1a2c81b935bb4p+2 +0x1.915c2c71815e3p+3 +0x1.a6840832724dep+2 +0x1.7926b97d25306p+1 +0x1.fbf50b585b223p+3 +0x1.533e5ed1263a1p+3 +0x1.8291171696a57p+0 +0x1.ac6cd202ba974p+3 +0x1.078dbad671dbep+2 +0x1.5f1e2e036c979p+1 +0x1.ca6bc3a17fd25p+1 +0x1.67b23f36a8fd3p+3 +0x1.b95ea26e0c772p+2 +0x1.7efe539ffc60ap+3 +0x1.f8caa050308e3p+0 +0x1.f736fea8b2e03p+2 +0x1.c6325f5f9fb46p+1 +0x1.6ea91c7e4606fp+2 +0x1.2752368183a77p+3 +0x1.c0de76d18538p+3 +0x1.9e773b6153cbp+3 +0x1.95b1c7e7be41p+1 +0x1.a04314b1d5d66p+0 +0x1.f79c55a07923ap+1 +0x1.69430ebb231aap+0 +0x1.5803c4a810dcep+3 +0x1.3da5a48c9a9e1p+4 +0x1.e9cf96e2ed939p+2 +0x1.37a94472016f4p+4 +0x1.6fca2b5069cd8p+0 +0x1.bd89788a477p+2 +0x1.094fbe2439a32p+2 +0x1.d96f98fca311p+1 +0x1.9346b2d408d4ep+2 +0x1.4bb010d37099dp+2 +0x1.94667ae04e833p+7 +0x1.50a0b61383922p+2 +0x1.1a114d96b6e88p+4 +0x1.6f28e4c463c9cp+3 +0x1.4fbdf002d6252p+1 +0x1.c18ac7c87bdcep+5 +0x1.19254be0b3973p+3 +0x1.5e62991752d3ep+1 +0x1.6af95a2dad532p+3 +0x1.64fe9ec074a27p+1 +0x1.8c8e265b37258p+1 +0x1.326badb87bbb4p+2 +0x1.87cd9aa1e8cc4p+1 +0x1.b291e70882dcp+2 +0x1.86425cfa94dc3p+14 +0x1.dda4753e9d1aap+3 +0x1.1613e86afee96p+1 +0x1.0ea473dd3aaacp+3 +0x1.51f1e6dd4a95p+1 +0x1.0667efa895a41p+1 +0x1.417ce5fc6541ep+3 +0x1.df834695e1c6bp+1 +0x1.e4ce3fd52e797p+0 +0x1.20556a5b82ab4p+2 +0x1.655175e4aab9ep+1 +0x1.5aec3cd33bf52p+3 +0x1.8230a89382198p+3 +0x1.248ecfea20866p+1 +0x1.2a370673fe5a7p+3 +0x1.a6db8ebcea033p+3 +0x1.380e559058bbp+2 +0x1.2d3800cf89797p+1 +0x1.d34707392e315p+0 +0x1.5b3e4d26808d9p+2 +0x1.49dc7087753f5p+2 +0x1.f7e54eff881d2p+17 +0x1.23baea1c570dap+7 +0x1.b34c7ccbd2a92p+1 +0x1.8652460d91c3dp+1 +0x1.4d226a4625e66p+3 +0x1.9f430988941dcp+2 +0x1.df570c3c24b8p+2 +0x1.aa88e302902afp+1 +0x1.de8831b22588dp+3 +0x1.3e1ad8eda7dd8p+3 +0x1.c8af12d33e396p+2 +0x1.96d510daccc47p+2 +0x1.6e8bca4275bb5p+2 +0x1.fc2a16c2964e7p+1 +0x1.c41171875de69p+1 +0x1.2837fdba12b94p+1 +0x1.3d5af541216f6p+1 +0x1.dbbe55f8a6db6p+0 +0x1.9b3b4e2f05ddep+3 +0x1.fbddc223d8ed4p+2 +0x1.e509a23d73b8dp+3 +0x1.57c55a29a0bfdp+15 +0x1.2709b4649e6a5p+2 +0x1.c8a392a2c3443p+3 +0x1.987466c7ce9dap+0 +0x1.c0013144dc83dp+1 +0x1.789500e5b76d1p+18 +0x1.f2044d9a596dfp+3 +0x1.981b810bedcf6p+2 +0x1.4b111652f6c48p+2 +0x1.a1a3d0dc3fce3p+3 +0x1.30b027b966288p+1 +0x1.d34bba3dce8c2p+2 +0x1.af05862b7c708p+2 +0x1.04c174bc799bap+14 +0x1.301c04a9ca753p+2 +0x1.66bf116976988p+3 +0x1.59c0273504d4p+1 +0x1.3fd8a8c424e05p+1 +0x1.29c03bd48b367p+2 +0x1.87739d07ba1f5p+4 +0x1.354166eac8de8p+1 +0x1.5af0efefb8af1p+2 +0x1.31ab756afad6fp+0 +0x1.bf3f788e566bp+3 +0x1.19d011b00a4b7p+4 +0x1.96b2155239d5dp+2 +0x1.80027c3518a74p+2 +0x1.0fbcd665c7bdcp+1 +0x1.b1cdb61a203c4p+2 +0x1.3b40f1a2fcebap+3 +0x1.6d71a13620b24p+1 +0x1.eeb35659a8204p+3 +0x1.428d091c63623p+2 +0x1.6c30006cd3b84p+1 +0x1.b5cb6bb5f5fa1p+3 +0x1.07fd8156b9f28p+3 +0x1.d6dce12e38a92p+2 +0x1.e87c51143a0cbp+3 +0x1.98d238f6c7p+19 +0x1.229a7a9c67e88p+4 +0x1.0c925cfaa1dacp+3 +0x1.1a3a15aab26c8p+3 +0x1.e87e11cabc067p+1 +0x1.ff1e5a39f661p+3 +0x1.803e757d27d45p+2 +0x1.5d523bd858fb9p+4 +0x1.f1c601c1e041p+10 +0x1.a5c3ece57a586p+2 +0x1.534ba404d7a97p+19 +0x1.21eef65e33b62p+1 +0x1.5dc32ceb0201cp+2 +0x1.19db524e6e88bp+4 +0x1.515e9cdd128e8p+0 +0x1.6fd78ccfebdf2p+2 +0x1.f37604158990cp+0 +0x1.2448d3c3f27cp+3 +0x1.63f0877b2afedp+4 +0x1.a09adc5bebdcfp+1 +0x1.a3fb267d9876ep+4 +0x1.3f2927eef87ap+4 +0x1.8bee687e5ecaap+5 +0x1.0f25593a040aep+3 +0x1.00ecbe84de335p+4 +0x1.c14dc05e97bd1p+2 +0x1.c9325dfe55c38p+2 +0x1.56eb609f0d978p+0 +0x1.c411681ed6888p+0 +0x1.5841a38b80c24p+2 +0x1.079b736fc849ep+3 +0x1.1537caf72ee5bp+3 +0x1.1a7001c530ea8p+2 +0x1.5546ce22055a9p+2 +0x1.c8aec58be087p+3 +0x1.ed83239fa07f6p+0 +0x1.270cb1feb8b5ep+1 +0x1.14984a7092d11p+2 +0x1.2a3c0024bc983p+4 +0x1.ff052da1fa994p+0 +0x1.1112ac82a48fap+4 +0x1.e6399235e31adp+1 +0x1.413a120ac841cp+1 +0x1.96ef89e9426dcp+2 +0x1.104cb536b8b04p+3 +0x1.ddea43cf6370cp+3 +0x1.317a44fb79a48p+2 +0x1.6fee8d8fad0ccp+2 +0x1.6784b3c87544ap+2 +0x1.bbe3d03138711p+1 +0x1.e70c74528c71cp+10 +0x1.51083aaa6b046p+0 +0x1.dbdabf326cb7p+3 +0x1.1833ffd9c9371p+0 +0x1.206a8297de24p+2 +0x1.41cc1dde918a9p+3 +0x1.06c314c861a22p+0 +0x1.78be65a389cdcp+0 +0x1.be91c014e7779p+0 +0x1.0c04a64b1de4ap+1 +0x1.194e11d6cd87ap+3 +0x1.b64dfdd95931dp+2 +0x1.9cb9b178de45bp+3 +0x1.49845fcd2a424p+1 +0x1.e58a07e377dc5p+3 +0x1.19b1598c2fa6cp+2 +0x1.abdf081f5d786p+0 +0x1.ad41707edf5bp+10 +0x1.f2c4774b4357bp+2 +0x1.7d82616b66885p+1 +0x1.b71a035ffe8adp+3 +0x1.4fb77f47421eep+2 +0x1.dcac4cddc410dp+2 +0x1.91adc2758b54bp+2 +0x1.3fb3cbc8bc806p+2 +0x1.7235db93ef188p+3 +0x1.15a411fdf319bp+4 +0x1.f2f23d71fd58ep+0 +0x1.454f7c26572cbp+3 +0x1.0b377d91bf4f6p+3 +0x1.e19fec795c6d4p+7 +0x1.4e34b13041e0ap+3 +0x1.96e0cc85b8289p+3 +0x1.9fc06c4f16dcap+3 +0x1.bacdae21e2724p+2 +0x1.2dfb8a6b94474p+2 +0x1.a2b563cd473dcp+2 +0x1.18480245d59acp+2 +0x1.c9b9fb43393b8p+3 +0x1.11696c2e4338fp+1 +0x1.4e045186e3b4p+6 +0x1.71036f5727cfdp+3 +0x1.6319c711afec6p+3 +0x1.1222934ef608cp+3 +0x1.001327d2e3f68p+3 +0x1.88e6a287d0368p+1 +0x1.6dd9544cbb877p+1 +0x1.435a3098d95dcp+1 +0x1.d90c6a5c89be5p+3 +0x1.a263f48b7208ep+0 +0x1.9a672396d8568p+3 +0x1.e6962fca7e451p+1 +0x1.6b1595c2413eep+2 +0x1.38583745b5499p+2 +0x1.7109cc2a301adp+1 +0x1.fb144bbd7dd0bp+2 +0x1.33e87c42afe44p+3 +0x1.d090883c5e3c3p+1 +0x1.bce128163b077p+2 +0x1.2cb250d710c97p+2 +0x1.0e3337b1f02e2p+4 +0x1.2c6c94b2ac452p+3 +0x1.0f966991a9a36p+1 +0x1.f6a5efb2cccb8p+0 +0x1.8b3e7eb9686c6p+2 +0x1.379ea4427ed2ap+2 +0x1.061f42231dd62p+6 +0x1.2c7cb4772a70bp+4 +0x1.98b9e57401849p+1 +0x1.88f9432d4e26ep+14 +0x1.fae3124b25f2bp+1 +0x1.3db7ce4a43852p+4 +0x1.b17df786a7411p+3 +0x1.2032d2617d198p+3 +0x1.751d757602a36p+2 +0x1.805e9e75dafccp+0 +0x1.a7d6e2edd5a07p+1 +0x1.025e5f3cf8d8bp+2 +0x1.76e69d8ea3e36p+2 +0x1.9895cfd82ad11p+3 +0x1.0edeb607ff4a6p+3 +0x1.eeb6f1e3bbc28p+0 +0x1.1c56dcf36ed9ap+1 +0x1.d1aab55bb0eaep+2 +0x1.a3e049aa79feap+3 +0x1.1200f657b1c86p+2 +0x1.1fe1f7340880ap+3 +0x1.af22f269bb1e8p+3 +0x1.0f9d6a463de34p+4 +0x1.2d375d18b4865p+4 +0x1.1cc88872bcc47p+4 +0x1.ab24572e08393p+2 +0x1.d45b07016ccf8p+9 +0x1.094987b2ccd88p+1 +0x1.eeeb47677056ap+12 +0x1.7d96e5b3ab2bp+2 +0x1.814d1f2b20c69p+3 +0x1.ed9e503e3644dp+2 +0x1.579dd31123c0ep+1 +0x1.8d3db17dbf58fp+3 +0x1.866fb37b6e742p+3 +0x1.b34c78ecf572fp+2 +0x1.4d60d5a27c4b2p+3 +0x1.ce2a48b2d5123p+1 +0x1.64be85a50c3a7p+2 +0x1.2bfb485ea727ap+12 +0x1.52db7f14a0901p+2 +0x1.a7076a642db53p+2 +0x1.2641287df4d28p+2 +0x1.d5e2517b8c27ap+0 +0x1.38cf9fc9826bbp+7 +0x1.ee30cc6161691p+1 +0x1.1a0848ccc9772p+2 +0x1.75ba1c4289552p+9 +0x1.7f45a59449c16p+2 +0x1.1e1a7ad20ae85p+3 +0x1.465069b89efbfp+1 +0x1.470d04c16aba1p+2 +0x1.d8f0c445a7deep+1 +0x1.662e9e447a90dp+3 +0x1.d1a18769939a2p+2 +0x1.110af1c10635fp+12 +0x1.0e9040f5e8d8ap+2 +0x1.43605b7977cc8p+2 +0x1.d6e8f4f8e366ep+0 +0x1.2d675c61faa5cp+0 +0x1.273f8478e2863p+4 +0x1.b3d1e230a4bd9p+1 +0x1.87d70704a4339p+3 +0x1.a359987928c1bp+0 +0x1.9f4bb0f37ef14p+2 +0x1.1c1ce3daf93d4p+3 +0x1.af2fce3ff172cp+2 +0x1.13525f2918c9dp+4 +0x1.5a2818440b858p+2 +0x1.0da29b1b7bc64p+3 +0x1.2a8cf1332cb4fp+3 +0x1.00f3ff564f5e5p+0 +0x1.1536c742c15a4p+3 +0x1.9289e84d810c5p+3 +0x1.bac9d7097f697p+3 +0x1.8f65dc13dc55cp+3 +0x1.e7d0f94a4c496p+2 +0x1.629cb16353982p+1 +0x1.c223545872c03p+2 +0x1.18f32d9fc4949p+10 +0x1.0e16e90e637ep+4 +0x1.04f4694855874p+1 +0x1.2873b65dd8e2p+1 +0x1.f4f5170011cf4p+2 +0x1.9d5d25d6e1df5p+2 +0x1.fde419125c33bp+2 +0x1.231ea2e421eeap+12 +0x1.3d4e3b853ed48p+4 +0x1.aac8dc880867bp+3 +0x1.111c2fdad68d2p+3 +0x1.bc2277392fa8cp+3 +0x1.c7c174b276094p+1 +0x1.f44731bd0b692p+3 +0x1.5cf13582f1318p+2 +0x1.01315e66e284p+3 +0x1.d539d665130a9p+11 +0x1.e7e2aea850175p+3 +0x1.2ea45c7f10e7dp+3 +0x1.b0b79bca29c7ep+2 +0x1.8718bd9883a18p+0 +0x1.bedad483a722ep+2 +0x1.eb4d2f397818ap+2 +0x1.bf549b139921bp+2 +0x1.7d914834a02dcp+2 +0x1.026c38327a2d4p+1 +0x1.383f8f2241ed6p+3 +0x1.5318240ca5d33p+2 +0x1.32b65103400dp+3 +0x1.37f70d52bf7fcp+3 +0x1.99e0536e858d3p+3 +0x1.5c6d5ea1ab6f6p+3 +0x1.736f27fe4a75ep+3 +0x1.908c42a7394dp+0 +0x1.1667247a729b6p+2 +0x1.aab7421570c4fp+3 +0x1.af06500a55e9cp+1 +0x1.3aba34c650456p+3 +0x1.7e2334cffa9d8p+0 +0x1.ff775821b207bp+3 +0x1.b5c3eeb7034d3p+0 +0x1.645f57543a63ap+1 +0x1.6ac678e0b67f5p+3 +0x1.f5380d12baf7dp+14 +0x1.dcde892af48a6p+0 +0x1.667009a378dc5p+3 +0x1.c52df768fa027p+2 +0x1.449b54f133818p+3 +0x1.743b573e4b50cp+3 +0x1.59437a03efda7p+1 +0x1.3ed157338c0d7p+3 +0x1.db682ffef1dcp+0 +0x1.67eddbb51998ap+1 +0x1.68aab4507796ep+3 +0x1.6a46bfa1f5b84p+1 +0x1.b894ec2f62c8fp+1 +0x1.2be5238c89471p+0 +0x1.226c71c8473f4p+10 +0x1.2c56cfcad138ep+3 +0x1.7c85c5b2f4eefp+4 +0x1.967f150d9731bp+9 +0x1.d904636bc6218p+2 +0x1.41800af437b1cp+0 +0x1.f4afc4e6bdccdp+2 +0x1.589933fc9de7p+3 +0x1.3550f30047cf8p+1 +0x1.6c296aa7c55b6p+3 +0x1.cdf53798614b4p+0 +0x1.2194261e18704p+2 +0x1.96771781cb457p+2 +0x1.27fb63fa1799p+3 +0x1.c8e57cdf3d33ep+3 +0x1.69138b31d740cp+2 +0x1.e2b5d53583a02p+2 +0x1.eb95c34d508eap+1 +0x1.e00ae24a0a399p+3 +0x1.12d7d23748511p+3 +0x1.ffb1744c7e9b9p+1 +0x1.d7c60b2fb4bbap+15 +0x1.93ddb372b541fp+1 +0x1.66d1d00d921bfp+3 +0x1.d6a446a31976bp+0 +0x1.25666195054f1p+4 +0x1.74ea17db79ea4p+0 +0x1.b9f04e6d281aep+1 +0x1.b05f558db1f7dp+2 +0x1.136cdc1a908b8p+12 +0x1.6464332ef423dp+3 +0x1.04aa0db01844dp+3 +0x1.5339636058f7fp+3 +0x1.5d5614880365fp+3 +0x1.d39460c52065ep+1 +0x1.9d63caa9fd3cfp+0 +0x1.7dd5b7bc8c944p+2 +0x1.4090c2e981bb9p+3 +0x1.4f07305d90a32p+3 +0x1.8aef5986092ebp+1 +0x1.8357f95694abbp+2 +0x1.4598d762e13a5p+3 +0x1.58f7b3900d10fp+3 +0x1.5e01ae737cb7p+3 +0x1.c24eb4bd04f71p+2 +0x1.11d402f10435ep+18 +0x1.59600c851451cp+3 +0x1.b7d41a0ca3461p+3 +0x1.17279eb20eb0cp+3 +0x1.3dd80740ee745p+13 +0x1.c2bf2b1b306ep+3 +0x1.9661c85de6ccap+0 +0x1.da26ce6138444p+1 +0x1.803b20d799ab9p+3 +0x1.e29ee3be466d8p+1 +0x1.e0b55672a22ap+1 +0x1.3b49c7b962395p+1 +0x1.4fbba94c807afp+0 +0x1.b00b1dc896c01p+3 +0x1.c23730a5bc82ep+2 +0x1.3083ded5b4d92p+2 +0x1.581cf0b727643p+3 +0x1.560cec060ad28p+3 +0x1.46315b137b1f5p+2 +0x1.3aafbd9fb52a3p+3 +0x1.212bcf259721ap+0 +0x1.bc2d9a3a2cd7p+0 +0x1.d5d5c87e8b0ep+0 +0x1.360b7a7932d6ap+0 +0x1.80ed048dfc93fp+2 +0x1.428e5dee46cbp+3 +0x1.1d2c9425a2d08p+3 +0x1.ad04ad130d76bp+1 +0x1.9aa9f2c2a40b8p+1 +0x1.2eb2ac3d285f2p+3 +0x1.79b8596aecd5bp+2 +0x1.3d8e2e523e70ep+2 +0x1.a2ca4558d35bdp+0 +0x1.5e5567ef08c56p+3 +0x1.3993f8f86e6f7p+1 +0x1.6aaf468b8957dp+8 +0x1.249811ef762bfp+1 +0x1.38d508f420d32p+2 +0x1.e1264dbf5b99ap+11 +0x1.ac4326c2f281cp+1 +0x1.f61eb4f22c80fp+1 +0x1.e984f6dd8a05ap+1 +0x1.9124d671b338p+4 +0x1.4f6a1bbbea64ap+3 +0x1.2d768ec57c11ep+2 +0x1.6c7a89ce4e75dp+2 +0x1.b331efbee1ac6p+3 +0x1.1ef1375a773fep+3 +0x1.8abce99cdd5b2p+3 +0x1.d6573fcda40a4p+2 +0x1.bb490292c45b4p+3 +0x1.1c157e7d8846cp+14 +0x1.dbac43b8c09fap+0 +0x1.c30e7cbd02ce5p+3 +0x1.626cf4eab304fp+2 +0x1.b9bf1216258bdp+0 +0x1.a228d7c77572p+3 +0x1.fc0de4ed72d9cp+3 +0x1.61d424090d7abp+0 +0x1.621ab0279b3b7p+1 +0x1.15f34ccc7138cp+5 +0x1.534f5be6f1cbdp+0 +0x1.cc2adf481de87p+2 +0x1.bf474ae0728c2p+2 +0x1.9161949935c9dp+2 +0x1.f26ca25071285p+1 +0x1.050ad85f83126p+0 +0x1.16a96e8a083a2p+2 +0x1.1b6d0c881295ep+0 +0x1.9d8cdd60f03dp+3 +0x1.d741fcf23ca84p+2 +0x1.e09afcc13422cp+0 +0x1.80a3c4ea6adc8p+0 +0x1.8c924fe0eff3bp+2 +0x1.fb245eceee70cp+2 +0x1.239e736d63b6bp+0 +0x1.4bb4f700cac19p+3 +0x1.adce50ae40243p+2 +0x1.018827917cb62p+1 +0x1.5790897dd285fp+0 +0x1.6464e79123549p+3 +0x1.6191bc37eb432p+0 +0x1.6efbf97f49e18p+2 +0x1.2b8f93d3b6511p+2 +0x1.026352847851bp+2 +0x1.808a0c4f39edap+3 +0x1.4d73a64b9411bp+4 +0x1.46361284848e3p+3 +0x1.09e3e950ccd18p+3 +0x1.0f6640db94396p+1 +0x1.e195fb0594eb3p+1 +0x1.d7b676d203045p+3 +0x1.2a769d8f20769p+4 +0x1.736b16a2da027p+0 +0x1.f43b42181b948p+3 +0x1.4248fd038ed27p+3 +0x1.26de2c1c9b201p+0 +0x1.b30522684b1d9p+2 +0x1.c4b301a1ec3d5p+2 +0x1.916b57c53319ep+0 +0x1.d06dde7c80a1p+1 +0x1.93cd9c640b831p+2 +0x1.0abe81de5caa3p+2 +0x1.436e51dea5226p+1 +0x1.78018c0f0dd66p+2 +0x1.2ea0d742122b1p+3 +0x1.63183337b561dp+2 +0x1.dac5095b2ebd6p+1 +0x1.b251f4a32bb9fp+2 +0x1.fbcd0ea5c5b2ap+5 +0x1.dc7c5246240d6p+3 +0x1.b593a3230e181p+2 +0x1.08ab89fefbf99p+3 +0x1.36242a6710b86p+1 +0x1.17b6251f36ab5p+4 +0x1.8441af3834301p+1 +0x1.52cbb3dca7b6p+12 +0x1.e6391c227f23p+0 +0x1.51eb88a6ca57ap+3 +0x1.57ef992e74f63p+5 +0x1.ca5b49dc6775ap+2 +0x1.2b0b661ae7032p+3 +0x1.ed6deb99f13f5p+2 +0x1.127cad2ae15edp+4 +0x1.0596105a94de9p+3 +0x1.029d56bc57108p+0 +0x1.712250f314a52p+2 +0x1.7aa3e87fde02ep+3 +0x1.9fbc75c9fb664p+2 +0x1.51ad259f4c718p+2 +0x1.c3480b2d09d2ap+1 +0x1.67927d37e1abdp+4 +0x1.a454abca957d7p+8 +0x1.3609bef8df0c5p+16 +0x1.a50beb9e3d905p+2 +0x1.edd9cd3d9ab09p+2 +0x1.b233fff8d7297p+3 +0x1.a7b7df39fb785p+2 +0x1.45eda2ab51b3cp+3 +0x1.20064b4e430ccp+2 +0x1.6726aab904b55p+4 +0x1.60bd125c5ef08p+16 +0x1.05212dc5d35c5p+2 +0x1.eb46c63ccc629p+3 +0x1.2cc0e57da4452p+2 +0x1.ad886b396e82ep+0 +0x1.a53ea461d4385p+1 +0x1.b00e3b4ccd0dbp+3 +0x1.fd18e4cebe826p+2 +0x1.9b058254df45fp+1 +0x1.d467e939ad417p+13 +0x1.e3332c5f75e3fp+3 +0x1.07f7f8cb6bd26p+1 +0x1.bfcc20ac806ap+3 +0x1.8b15aa442cf6ap+2 +0x1.56311356356dcp+3 +0x1.033b7b3d65132p+3 +0x1.ad5d24f480143p+2 +0x1.fbc90cba3502p+0 +0x1.1f7237e5a9e32p+1 +0x1.ffe54dbe5af82p+0 +0x1.dafe8ae2ed933p+1 +0x1.c8fa46bdf5171p+3 +0x1.1f0b30a043657p+19 +0x1.da24779c0ea23p+2 +0x1.ac62ad1eb0331p+1 +0x1.82db89ccc8ef4p+2 +0x1.677e065bba117p+2 +0x1.236adc016984p+3 +0x1.709c64576643bp+1 +0x1.134cffaa44219p+3 +0x1.d4f552b9607bbp+1 +0x1.13005c0740a26p+3 +0x1.06267d1fe583p+2 +0x1.d0c4c2e5b26edp+2 +0x1.8cc9bd94710e9p+3 +0x1.268a6344017c9p+12 +0x1.0dcffc9e865f4p+3 +0x1.a12745f55a9f6p+0 +0x1.33feae6f6baa6p+2 +0x1.58bf34d7462e4p+1 +0x1.49cda0ba82a5fp+3 +0x1.0e9ed8051d5aap+3 +0x1.4300c6933e2edp+8 +0x1.57acd9535dc0cp+3 +0x1.6b6ff2d582019p+3 +0x1.5db3aa5b159edp+2 +0x1.bbfac4b5fd788p+0 +0x1.5a429138cb95ap+2 +0x1.218da2e1a1c1dp+3 +0x1.5bf1139a017fbp+2 +0x1.dd03bd0c86927p+1 +0x1.5267df0ee68c7p+7 +0x1.d85792ad1b047p+10 +0x1.c919515074161p+2 +0x1.33924c0b0d915p+3 +0x1.f3b695c6d9312p+2 +0x1.49b5ed51204fep+0 +0x1.b6144c7f3e9c9p+2 +0x1.d2553bf1da0ebp+3 +0x1.ca0ae87f2d76fp+2 +0x1.39ebc8a52e826p+3 +0x1.b6efb4495b965p+0 +0x1.ffadc37afa0c6p+0 +0x1.2b2b6fd4700bfp+3 +0x1.535c9b4b704a1p+3 +0x1.dae885e362688p+3 +0x1.967fdf81407f1p+1 +0x1.ad4c73c2f9f52p+8 +0x1.ae2d59aae1a1fp+3 +0x1.abd951caf5e93p+3 +0x1.8c35b1c4aa6d2p+1 +0x1.30ac56c34f48p+4 +0x1.b9b31e13902bfp+2 +0x1.1f8dd22523c1cp+2 +0x1.417884c9d54e2p+1 +0x1.8f410bafd6255p+2 +0x1.26a1af073efe6p+0 +0x1.fdcb52f4399bfp+1 +0x1.cc603964a7304p+1 +0x1.c1e9cf1736a6dp+1 +0x1.311e8c798a75ap+4 +0x1.4fc69baef4bc7p+3 +0x1.cc7dc6c7cfa5fp+2 +0x1.f49082ae6493p+2 +0x1.72059e7d8022cp+3 +0x1.b6f11d4e0d45cp+0 +0x1.65bfb470c70f1p+1 +0x1.6c2d58bddb08ap+13 +0x1.3354f2b7312f5p+1 +0x1.a4feedc5af2bbp+3 +0x1.cdeb51fc025a2p+2 +0x1.a0a916ace119fp+3 +0x1.8657acc4c053dp+3 +0x1.4a4e0b3b25045p+2 +0x1.aca3cd832a0c9p+3 +0x1.da1201f69f2bfp+0 +0x1.2e65969fe5ep+4 +0x1.9af223abc5fdbp+2 +0x1.b095b322af583p+5 +0x1.69511248bcc49p+1 +0x1.416a155346b58p+3 +0x1.8c91ad26f38acp+2 +0x1.3202249f10044p+2 +0x1.84a4264a4ded6p+15 +0x1.425a2924de4p+1 +0x1.4b6f2199f585dp+2 +0x1.5f1eed0029f6bp+3 +0x1.15667c411c7aap+3 +0x1.9277351a1d66cp+3 +0x1.07ab970b8dbdp+3 +0x1.f6fe399f2392fp+1 +0x1.d0772d86af87bp+2 +0x1.b2dee3febf14p+1 +0x1.7b00a9f677e95p+2 +0x1.ae4fd7e40b128p+2 +0x1.3ed7252c6e212p+1 +0x1.3d45d9a2a24cap+2 +0x1.9574007fbc2cfp+0 +0x1.2f38e312ffdbcp+2 +0x1.61f2e1e7e35fp+3 +0x1.d3059e45e2b6dp+2 +0x1.7d6f5e598a5c7p+0 +0x1.238c14bbb535fp+4 +0x1.ff977d5fbb75ep+1 +0x1.138331d3d4b2ap+3 +0x1.2d73cba8f3394p+3 +0x1.be1c7456d4bcbp+2 +0x1.f61754ae0c6dbp+2 +0x1.e35b7864c6a52p+3 +0x1.0bbdbb3d5940ap+2 +0x1.37c3b2c0cb7f2p+3 +0x1.50ad86d6179ffp+2 +0x1.4dc0bd3378fp+1 +0x1.33230c5f005acp+12 +0x1.00897ea495584p+4 +0x1.cf98f4eab0e5dp+2 +0x1.03dad06b021bap+4 +0x1.938621dd3ee7bp+1 +0x1.0af46199297aep+3 +0x1.877d21481ef49p+3 +0x1.ca4fbb9f27419p+3 +0x1.4015f9e455c9p+2 +0x1.3218ba8df89acp+4 +0x1.6ec636bf19b65p+3 +0x1.9d46793e9bc24p+1 +0x1.62277b094be9p+2 +0x1.3955887fea9c6p+3 +0x1.0f5ad9b07b2c6p+3 +0x1.75824b7f5b1dfp+0 +0x1.fb92e9a234e99p+2 +0x1.eefda32a526f7p+12 +0x1.b081dd700aec3p+2 +0x1.5ec80a9a7da0bp+10 +0x1.0abb533a1cbccp+3 +0x1.e8731a7f66afcp+1 +0x1.5782432d3e0fcp+2 +0x1.8d3b9c2a30144p+4 +0x1.129c870d4ecc1p+0 +0x1.1d92719456512p+1 +0x1.7c73d327cd48bp+2 +0x1.8e9e507b553c3p+3 +0x1.7cbc7ea587843p+3 +0x1.0dfccbcd9687ap+4 +0x1.a69a29679b878p+1 +0x1.3c2d38b867a23p+3 +0x1.af908a286c037p+2 +0x1.e9781388cb2afp+2 +0x1.64d8f6aa3a273p+3 +0x1.c6b8e5c403546p+1 +0x1.064478b02ae47p+0 +0x1.41cf97de8cb3fp+2 +0x1.88ff7b5b723c9p+3 +0x1.3c31d6bdc5a3p+2 +0x1.1bae6c6ef1225p+2 +0x1.198e8779e3d1ep+2 +0x1.410b284e8378ep+1 +0x1.17e2464bee9efp+4 +0x1.466751eb8e438p+1 +0x1.3298f7180715bp+4 +0x1.e18eea1f36a9fp+3 +0x1.0f3f0c3c9d25cp+4 +0x1.1eb058fdf02fp+1 +0x1.9904372c0fde4p+4 +0x1.e3775616c2136p+1 +0x1.332119239fcadp+8 +0x1.5e4003db8fb25p+2 +0x1.67bdf0c2de5b7p+1 +0x1.613110435e7a2p+2 +0x1.7f345c6b6e723p+5 +0x1.a0dcc6e44944dp+2 +0x1.2f841ea8ff93fp+3 +0x1.0077cf951f916p+4 +0x1.36887b8288c3p+2 +0x1.4c16f363fa6cp+1 +0x1.992082aae86c5p+1 +0x1.d7a1574b63bd2p+1 +0x1.c6827ea359118p+0 +0x1.6ce9da31d14d3p+2 +0x1.94be2914f06f8p+3 +0x1.a83d9f31cac0dp+3 +0x1.4f716cf91cf3p+3 +0x1.d11ead184ce73p+2 +0x1.3ac55aa310244p+2 +0x1.8b1ecd10a0655p+3 +0x1.1ee855a19f404p+2 +0x1.e39137b0b05dp+2 +0x1.414e3c1676c54p+0 +0x1.114c6b0492896p+1 +0x1.9d9d619500a72p+2 +0x1.d85deed076b0ap+2 +0x1.5a8a1b2dd24b1p+2 +0x1.7ed4c68b9a0e2p+3 +0x1.ea6f56a3b2882p+2 +0x1.e797621e81f5p+3 +0x1.a80c97d442cd3p+3 +0x1.27969655a191ep+11 +0x1.c6b9d349f1f7ap+2 +0x1.d2fe346f299f7p+3 +0x1.6e85bdb655783p+2 +0x1.07676c080c9dep+2 +0x1.99c56f347cb8fp+2 +0x1.45d30a012f6d9p+2 +0x1.1628a8e5ebed1p+0 +0x1.2bc80b8ac476ep+3 +0x1.b1f6edb3d8374p+0 +0x1.c6ab056e23ee6p+1 +0x1.1dc827cd5d19ep+3 +0x1.f093254da59aap+1 +0x1.1649d0af5649cp+2 +0x1.b42a051f8d64ep+2 +0x1.315308f216edcp+0 +0x1.08c4473d623a3p+11 +0x1.5f40d572cdbd5p+1 +0x1.ffa9293a1715fp+8 +0x1.6b469843e61e4p+2 +0x1.1894ef5767cfdp+0 +0x1.a1b3fe307ee69p+2 +0x1.a4a7600769ebdp+2 +0x1.437eb0a415b18p+2 +0x1.abf0a413b4227p+2 +0x1.16a461355e18ep+2 +0x1.879cffcadd19dp+1 +0x1.bc0b01902f4fbp+1 +0x1.8042119a97c2ep+0 +0x1.3e79d28ecb901p+2 +0x1.4aea8432b699ap+3 +0x1.f06a53f48444bp+1 +0x1.552e6d69102e2p+0 +0x1.04a60d174dfcbp+14 +0x1.f823ba87a92a3p+2 +0x1.425cfddaf743cp+2 +0x1.ee194ee2083b5p+0 +0x1.49ea738050476p+2 +0x1.367f05b569898p+2 +0x1.3c239606c11ap+2 +0x1.1277b0746a5b4p+2 +0x1.99be36761c415p+1 +0x1.683026cfe7ed9p+2 +0x1.0fd071f99e998p+1 +0x1.a89d0155dc2ap+1 +0x1.9c6e82ad57a62p+3 +0x1.2d74263b1aafdp+3 +0x1.1c67b6f46689ap+2 +0x1.af26c6f564e92p+0 +0x1.567e329fe20ap+0 +0x1.e5ee7a4928786p+0 +0x1.30bc39ae54cc1p+9 +0x1.1c955e4ef94a8p+3 +0x1.0d4a7203fc286p+3 +0x1.4787c70e124b5p+2 +0x1.bd5c8b0c69fb2p+2 +0x1.ad6ae957314d7p+3 +0x1.39d38b5d678e6p+3 +0x1.dbe41d96deda5p+3 +0x1.053788c3175f4p+4 +0x1.d878b8dea066dp+3 +0x1.ea370d48dd1c2p+1 +0x1.1e8bdf438172ep+3 +0x1.8fdaa028af235p+1 +0x1.4a5eed5936ee1p+3 +0x1.42f5acb1321b6p+2 +0x1.545c7b931ec8fp+2 +0x1.c5607cd2ccb3ep+2 +0x1.4dcb3cd4ced58p+2 +0x1.29eaf035f4528p+3 +0x1.c6538d8b4676dp+0 +0x1.bac0103fa2b97p+2 +0x1.a5f932877f2c9p+2 +0x1.328561aad8fd8p+1 +0x1.1a54cb6c552a6p+3 +0x1.21734c9d94a2ap+1 +0x1.33fd21c420e4ep+2 +0x1.ca76386ef0612p+12 +0x1.1d81d22e13c62p+2 +0x1.6fb4ae9f919aep+2 +0x1.13cfa4f8455d4p+4 +0x1.93e85762c9854p+0 +0x1.f55a2522dd1d9p+3 +0x1.0d33fb7d536f4p+2 +0x1.7479939956544p+16 +0x1.86a4dea06db8ep+3 +0x1.71a8e6473c38fp+0 +0x1.49cfbc67c29e1p+3 +0x1.04e184cc7befcp+2 +0x1.1f487b542e454p+0 +0x1.7d5cb284999a7p+1 +0x1.a8906093f6f04p+3 +0x1.6cddb3d3a8e4ep+1 +0x1.800b24dc60bbfp+1 +0x1.9a9c8cc505145p+2 +0x1.5272a3e76653fp+2 +0x1.4d848f9b2563p+1 +0x1.b01ea107994a7p+0 +0x1.2227c5580a515p+1 +0x1.527c0eb6ebe05p+3 +0x1.1e55eb8cc9817p+4 +0x1.0709aac3f2e4ap+0 +0x1.42eaedcb9de6p+2 +0x1.04fcc4f107162p+3 +0x1.8c1cb0dfce0fap+2 +0x1.fa5211291a9ecp+2 +0x1.856b3aceda4c5p+1 +0x1.6003b09960ff1p+2 +0x1.7b8d25a4bf776p+17 +0x1.4649ddcd7b7a6p+2 +0x1.4d080634fec2ap+1 +0x1.57da7b2ab71d9p+2 +0x1.463283ccc004p+0 +0x1.9b0948a1a4163p+3 +0x1.b394714a16b97p+3 +0x1.0ad11c34a58d8p+4 +0x1.51a782487272ap+3 +0x1.8db07670f6b3ap+2 +0x1.948561866e0cap+0 +0x1.0b0f5ca4d8c6ap+4 +0x1.6322058564a49p+3 +0x1.9e6406799ea91p+1 +0x1.595f8dbd991d5p+3 +0x1.21890425f3afbp+0 +0x1.75c695c54324cp+2 +0x1.ed39c50f7931dp+0 +0x1.ce148329ce957p+2 +0x1.b732ce8745798p+4 +0x1.29daf1d44fb16p+2 +0x1.34d4c2034730cp+1 +0x1.82dada989d51fp+1 +0x1.d0693a8b14908p+3 +0x1.705332f6e14edp+2 +0x1.b4a2baec548d1p+11 +0x1.5318ebf6da986p+2 +0x1.aee76694ec5d6p+2 +0x1.1ce6c0b7e8a7fp+3 +0x1.eef99ebfe42b3p+3 +0x1.ef14470ac505cp+1 +0x1.f75559479e64ep+0 +0x1.24fdfe2cd696cp+3 +0x1.dd2b01826975fp+1 +0x1.c053b0fcd2ab5p+2 +0x1.689d0339edb06p+2 +0x1.2bcb02ad9a43bp+2 +0x1.1d2f76b954ee8p+2 +0x1.e9e161b1c4069p+1 +0x1.0c1711ae43cfep+0 +0x1.6d96702365145p+2 +0x1.615bea1d8d972p+2 +0x1.10579e55ff9b5p+4 +0x1.742a9239c271cp+3 +0x1.5e405ff1bfdb6p+3 +0x1.d1d4481debabbp+4 +0x1.b65817673d7f7p+1 +0x1.4ca319407cc5dp+2 +0x1.1818c333d691fp+3 +0x1.ce30ff3c01273p+1 +0x1.dda612424a4a7p+2 +0x1.d6cd31f370209p+1 +0x1.f8507db603478p+1 +0x1.dfdd6ff3a3c16p+1 +0x1.4ae6fed60e25fp+2 +0x1.9d8cadf621711p+3 +0x1.c180750952aacp+3 +0x1.c594b9259595ap+3 +0x1.8282901a8acecp+3 +0x1.f76580385b76p+15 +0x1.c80d84005e4fp+0 +0x1.cb8c84d120068p+3 +0x1.05d77cf32d26ap+17 +0x1.adf4f3b40935cp+6 +0x1.a04095599060ep+1 +0x1.01f685399430cp+3 +0x1.1f12ff6b91513p+0 +0x1.4d60e2535a46cp+0 +0x1.cd33fc72ebdc2p+3 +0x1.4433ff4b8b3adp+3 +0x1.b5d1b939c4a0dp+3 +0x1.ffa941458c3f4p+0 +0x1.1db029a52fd5ap+1 +0x1.f175734536098p+3 +0x1.072ee032f5b26p+3 +0x1.ef73c7c8b697ap+5 +0x1.1fd0de64bf51fp+3 +0x1.d61d79162294ap+3 +0x1.4fa2388413ae4p+0 +0x1.af8bc03ea8a77p+3 +0x1.d0c3f7fee8f65p+2 +0x1.3060381d38b6dp+3 +0x1.95f18f760168dp+2 +0x1.0452abf28c014p+3 +0x1.53722fa74d35bp+1 +0x1.17ed1a2a897adp+4 +0x1.8bf18d920ae53p+1 +0x1.7b03a1c64a3e4p+1 +0x1.77346a039aa82p+1 +0x1.fb94b7a4a5264p+1 +0x1.b7769745e0ab3p+1 +0x1.086dafef042d7p+4 +0x1.ff3e2003aadf6p+2 +0x1.7adacd4f6b1d7p+3 +0x1.bfdec551fc6dp+2 +0x1.4fa316ffcf7d2p+1 +0x1.252b9d32738c6p+2 +0x1.cdea398d5adb8p+3 +0x1.2752bdfaf5dafp+3 +0x1.b2ed1362a611ap+3 +0x1.ac59cb4a3224p+3 +0x1.074547b517dp+1 +0x1.d9a99694f9534p+2 +0x1.682ac2da569fbp+0 +0x1.a03360fc47717p+3 +0x1.d6838170d0d65p+3 +0x1.50a7da0d3b0d3p+0 +0x1.d58f1c4a0a8cp+2 +0x1.c14d36ac07302p+2 +0x1.394ff0f9c11c5p+3 +0x1.d410b2b15028ap+0 +0x1.886b4b854b64cp+3 +0x1.0dda952006c4ep+4 +0x1.5d3d739a6f134p+0 +0x1.abc3cdc4b5a83p+3 +0x1.2fe06687aa9dep+7 +0x1.fb96d36c968d2p+0 +0x1.e55a0e7d8b88ep+3 +0x1.bfaa65769570ep+2 +0x1.03f6ba2004af8p+0 +0x1.fce4bc623a401p+12 +0x1.1183fe7368918p+2 +0x1.9860f23c4db45p+2 +0x1.66aa7e7789d9ep+3 +0x1.6618c8e46b33fp+3 +0x1.96765640ec595p+1 +0x1.90267658dba4cp+3 +0x1.7724e2db71d8p+1 +0x1.f60fca29627f8p+1 +0x1.45a2ac0e6ff6p+3 +0x1.63d345b4c0e7cp+3 +0x1.a3c4ebb00db65p+12 +0x1.54d0cad06157fp+3 +0x1.abc5988d2ca53p+2 +0x1.faa2a751cfee2p+3 +0x1.f81519abfe448p+2 +0x1.cb0651d6516d4p+0 +0x1.d570944645b83p+2 +0x1.d9aa56293a95bp+9 +0x1.9657161533618p+1 +0x1.4f707c8ccbc43p+7 +0x1.a4006e9929b8fp+2 +0x1.0c2d431a39ac9p+3 +0x1.3b807f6f14e72p+6 +0x1.9f9874c3e9c04p+2 +0x1.f10ecf4a5ae09p+2 +0x1.62a60403cf9edp+2 +0x1.8aba986e788a4p+1 +0x1.983e81ad1f894p+2 +0x1.8abade8084b83p+0 +0x1.1c13cffc6a274p+3 +0x1.9eb0586f1e212p+3 +0x1.e0f7088408588p+2 +0x1.90a960acbb03ep+1 +0x1.458270b943164p+2 +0x1.aa113c5edea79p+3 +0x1.f1467355d45e8p+2 +0x1.1784621240ad6p+1 +0x1.7e6e365656af6p+1 +0x1.b6f1408af6bb9p+2 +0x1.9c5aaa39db60dp+12 +0x1.bdb3786b871ffp+1 +0x1.6a8970c27a676p+3 +0x1.f1f55e5476aaap+2 +0x1.eaec3909bde3bp+1 +0x1.14eea50908b32p+3 +0x1.85caa702677e9p+2 +0x1.d25a58f38f698p+1 +0x1.967fa18ac29e7p+2 +0x1.10a695ce3617ep+14 +0x1.f38e3004c61a4p+3 +0x1.2012c152227c4p+4 +0x1.23faf1b4b199ep+3 +0x1.aed03412d6defp+3 +0x1.888f4a1ea201dp+2 +0x1.1495653014352p+3 +0x1.22eeb0d113957p+2 +0x1.7789dcf585d7cp+5 +0x1.37897c661d938p+2 +0x1.15455883fec6bp+4 +0x1.9ab9618aa7b9ap+3 +0x1.041812127199ep+3 +0x1.a3d5950709e63p+0 +0x1.dfda0279608a6p+2 +0x1.04c63832b7baep+4 +0x1.701b6d5a0e5fp+15 +0x1.adf9a86051682p+3 +0x1.fdbf97dc2183bp+2 +0x1.e243f2786cd28p+0 +0x1.76d2d09a9a5d1p+3 +0x1.19da18c1b9595p+3 +0x1.c1ec8989bf32p+1 +0x1.59c34861443ddp+2 +0x1.ab6ca986dffb6p+1 +0x1.0355438e8e50bp+3 +0x1.b8aacc3ecdfddp+2 +0x1.1fd6eeeffe911p+3 +0x1.36e60604c9814p+3 +0x1.09f98d4205aa2p+1 +0x1.7a9c500a0fd76p+2 +0x1.bec5df88476ddp+2 +0x1.be8698b3402a4p+4 +0x1.2735afb03ea2fp+4 +0x1.da276790040a1p+11 +0x1.e84ed9d43ce98p+1 +0x1.8d4b08726bfc6p+2 +0x1.61e51d0167002p+1 +0x1.3627bb97ed67p+0 +0x1.2666c7f714ep+2 +0x1.06704d40c506ap+1 +0x1.fca968fcba6efp+1 +0x1.58d0c3a9ce3e1p+3 +0x1.8e60f841ffe19p+1 +0x1.ac6c2069c701dp+0 +0x1.22c2d73570b33p+3 +0x1.7b0903edf9e7fp+3 +0x1.ff08b9903f254p+1 +0x1.380d6b6c33666p+4 +0x1.86683e6e79191p+3 +0x1.61b4643a6e992p+3 +0x1.016f253b38108p+2 +0x1.22126a1ca8613p+4 +0x1.171b78233155ap+3 +0x1.5297b95aa2c1fp+2 +0x1.b0f175c55fc16p+1 +0x1.0b2444c9729aap+2 +0x1.cf70a81766592p+0 +0x1.6b7cd87d8575fp+2 +0x1.535e7097d77cbp+3 +0x1.72db26973797p+2 +0x1.89e461c1e1bdap+2 +0x1.a09e28859e0a5p+3 +0x1.1940e4c6f9338p+2 +0x1.bdccbc2fa9325p+2 +0x1.0cbcf513c7a58p+3 +0x1.12f00f222066cp+1 +0x1.1d07e0b491887p+3 +0x1.8434e541d0564p+0 +0x1.121a7e781c5f7p+2 +0x1.bd13b135b9cd8p+2 +0x1.8513091dbfecfp+2 +0x1.1fc0eb470c552p+2 +0x1.7a8a94a96ad1fp+5 +0x1.4ae06cdf11218p+3 +0x1.3046df8abf401p+0 +0x1.b0815eba85c32p+3 +0x1.1f886d6de0c72p+0 +0x1.753001c73910fp+2 +0x1.72a8ea7125589p+2 +0x1.9962ec419f13bp+1 +0x1.ee2873d3d92c7p+2 +0x1.57a89dddeb115p+2 +0x1.6c2cb3753c5e6p+3 +0x1.41243fd508c7ap+3 +0x1.8b6dec7d9e3e9p+4 +0x1.28db67c6e2a89p+3 +0x1.52566c6d7fae2p+2 +0x1.0341d57172175p+3 +0x1.57fe052072582p+1 +0x1.795f05085ea1ap+1 +0x1.8a4c52737001ap+2 +0x1.059e0cae10746p+1 +0x1.255dff7178b5ap+2 +0x1.a690271da9e56p+1 +0x1.8fcd5f676c506p+2 +0x1.30390f70e7a69p+2 +0x1.eaec72bc5bc7ap+3 +0x1.217f9d819ea83p+3 +0x1.5a5a077a8d33dp+3 +0x1.9c3dee0c1b13p+0 +0x1.65a3fe3a65062p+2 +0x1.3824886cfbc27p+3 +0x1.69bbb8ef26c57p+2 +0x1.075091284b589p+3 +0x1.619fc5899c5aep+1 +0x1.f05cfce990f9ep+0 +0x1.efbea0aff0685p+1 +0x1.ec34cfa2e4f62p+14 +0x1.515e4ee68f234p+1 +0x1.e6882196da237p+0 +0x1.8fb76c74ad7bcp+1 +0x1.6bfd49768d6c7p+3 +0x1.c065368a8c428p+2 +0x1.d579f6463b22bp+2 +0x1.b648ffafc92c3p+1 +0x1.0d0623d2fe49ep+0 +0x1.1074aeeff8c2ap+3 +0x1.9131f488f0c47p+0 +0x1.4a234a64ec8d5p+1 +0x1.5391d0ff1c0aap+1 +0x1.a5437517b53b1p+3 +0x1.1f850590b4046p+3 +0x1.8cec9cba94733p+3 +0x1.23d9bd420d1dap+3 +0x1.d197f0d053534p+2 +0x1.1896c34a21ef8p+3 +0x1.2ee4fa91d23b3p+3 +0x1.516c56126bd38p+3 +0x1.83fa6a5f48cdbp+8 +0x1.0ed0bb8c3444fp+2 +0x1.e7118b280f43fp+1 +0x1.e4f8e60220edep+0 +0x1.5ad80664aea0ap+3 +0x1.41975d652acd2p+2 +0x1.d39914f2c6fd1p+3 +0x1.449cce70e15fcp+3 +0x1.6ddfbe27349d5p+0 +0x1.d099cac9e1646p+2 +0x1.3392d5b3f2766p+1 +0x1.3a560b37a81aep+3 +0x1.5c88a3d83156cp+0 +0x1.38b9c0ee6f63bp+3 +0x1.48f300bcf908cp+3 +0x1.8a5420236c1b4p+1 +0x1.adb9bdc9300e1p+6 +0x1.07736e3c9b94p+2 +0x1.cec04b88e9299p+2 +0x1.fbf63740f394ap+2 +0x1.ff466e77f8d9dp+1 +0x1.003bdd6afd79cp+2 +0x1.2d8eaaa94e249p+1 +0x1.be1293e476df5p+3 +0x1.34dff6b196b31p+0 +0x1.0f352e88dd5cap+0 +0x1.d00eda3c8542ep+4 +0x1.43b24c12a9144p+3 +0x1.35c76fac192cdp+1 +0x1.9763d86a955b1p+3 +0x1.f19aceade3391p+3 +0x1.13b95d3890fep+3 +0x1.f2f114c419586p+3 +0x1.554474b83682dp+3 +0x1.2a891301a0aa6p+4 +0x1.7a1c1d2f2ace9p+2 +0x1.a1715c4168e6dp+3 +0x1.0a3d7850045c3p+3 +0x1.cdbf8cdf8ec5ep+3 +0x1.aa84f2931ac9ep+16 +0x1.207ac3bb8c0fap+2 +0x1.7e0a35e8f5efdp+0 +0x1.44e9694057d5dp+2 +0x1.a30cdd1dc8ec2p+3 +0x1.14785171f70eep+4 +0x1.90622d64799a6p+2 +0x1.9f3da2fdf6528p+2 +0x1.5792f45fb55eap+2 +0x1.f767b9c4bb0ap+1 +0x1.05d905365357cp+2 +0x1.2e6686880eep+4 +0x1.4d724f3585d47p+16 +0x1.99d3e7ca4a1f9p+3 +0x1.a486d45e0d9cfp+2 +0x1.af62e14d9aa3p+3 +0x1.168d8d6cb989fp+10 +0x1.20bd0f749903p+2 +0x1.90ccd4300d861p+2 +0x1.9eb7da3ccd3abp+3 +0x1.18cdebf18848bp+14 +0x1.98fe4a325accfp+2 +0x1.4d92d84a8c417p+2 +0x1.efc25bc0c69e8p+3 +0x1.08cac15a8a0d4p+4 +0x1.6216c6b941dbbp+3 +0x1.81cad0e884c93p+3 +0x1.8165e2f90259cp+3 +0x1.4081ce3c861a3p+2 +0x1.120dca2985b75p+13 +0x1.b002df31e4271p+2 +0x1.26598c9e0a121p+1 +0x1.b83c05cfcdb6p+2 +0x1.4a770936a16c2p+6 +0x1.4481602f10677p+0 +0x1.53d85df9aa92dp+2 +0x1.62398a6224ef6p+3 +0x1.a94fcf11ae546p+0 +0x1.18db518ab3376p+3 +0x1.13e3e44f7e3aap+1 +0x1.1f4206abd3e9ep+2 +0x1.ebfd0ae117d33p+2 +0x1.b9983d857e0ep+0 +0x1.d75d7f406a8eep+12 +0x1.06256e42899d4p+3 +0x1.efe085bdfc6cdp+3 +0x1.6da377fe60c64p+1 +0x1.3a2417c2ea1fp+0 +0x1.f84221fddc0b9p+2 +0x1.b925479f60162p+1 +0x1.d4eaaa70f4ddfp+2 +0x1.85921dfac538ep+2 +0x1.6bc91f204504cp+0 +0x1.868842c0a7ec9p+2 +0x1.cbfdcd3107724p+1 +0x1.2e11572aa8be7p+2 +0x1.7ec043d4c77b1p+2 +0x1.6d2300d306d07p+3 +0x1.5d3d2beb730a2p+1 +0x1.806f4f88de04p+3 +0x1.4e50bad39a5c1p+4 +0x1.7fc14644aa838p+0 +0x1.1073924dcc65dp+0 +0x1.15f337e6d41e2p+2 +0x1.ad54710478a63p+2 +0x1.0c2155315a70cp+2 +0x1.1e01a4b4a0a0ap+3 +0x1.23a505ff9835cp+2 +0x1.7ab7632a6f26ap+3 +0x1.2126b5a01e38dp+2 +0x1.10f5cf460b5aap+1 +0x1.dd848e2f0802bp+2 +0x1.01c199ac74a4dp+8 +0x1.0d44a111fdf53p+3 +0x1.4b81cd52e15c6p+1 +0x1.0b30c61921a66p+0 +0x1.21d2e8a3a500ap+3 +0x1.8919b4e276d87p+2 +0x1.2b868d356d459p+0 +0x1.15f7106e8463cp+2 +0x1.eefdb5caff4a6p+1 +0x1.97a86c33e5e95p+3 +0x1.20af8dd60745p+3 +0x1.1ed7d96737a82p+3 +0x1.e353a72d4549bp+2 +0x1.bc199ab5db04dp+4 +0x1.cd4dea30415b2p+3 +0x1.95d1bffa3224ap+11 +0x1.9d07a7db7886bp+2 +0x1.2d22d1d88e296p+2 +0x1.b875e9b03e508p+2 +0x1.8b659d7df2a7ep+5 +0x1.135460c5815edp+3 +0x1.bb5f2541e3487p+3 +0x1.234f9b4e50a64p+0 +0x1.e60e0bb804e44p+3 +0x1.5d3854a4dd63cp+2 +0x1.7c0a66217aeedp+3 +0x1.99fb26f332ba7p+0 +0x1.9f15f6152940bp+14 +0x1.7432556153645p+1 +0x1.c4b7469e90cfap+5 +0x1.571c6cc2580eep+2 +0x1.0d9c0ca2b1a26p+0 +0x1.32f30a4876248p+3 +0x1.e8323ff37cddep+1 +0x1.bfa3f5c1e2d0fp+2 +0x1.3d62d7fb0a993p+2 +0x1.165f9097f5eap+3 +0x1.b9c003a303e05p+0 +0x1.c4b353af75a7bp+0 +0x1.cb66c88f70115p+2 +0x1.0ee5c65d9b8e6p+4 +0x1.1c61745a6b6a6p+2 +0x1.04d9acf232a2cp+3 +0x1.dc6766e4e7c36p+16 +0x1.4cfde30c7b60ap+3 +0x1.9bc56e1b6046p+2 +0x1.7659e1841d721p+3 +0x1.24131fb49a256p+1 +0x1.0297b5a026eccp+4 +0x1.63e2c30e9b519p+2 +0x1.d747053d7ca55p+2 +0x1.689f051554ca5p+3 +0x1.e3378da301d3dp+2 +0x1.327a2038f4704p+3 +0x1.30dea0ecbc9bdp+2 +0x1.8dbe9e529423ap+2 +0x1.45b76a1ceaf32p+2 +0x1.52356b43879f5p+3 +0x1.4f32a7327a5f1p+2 +0x1.809b50d9d1575p+0 +0x1.eab2cdcc2972cp+0 +0x1.133ceda8fd449p+18 +0x1.ba3899e8b4ba4p+3 +0x1.d2a6d71e32934p+3 +0x1.9f2bd5bca0b78p+1 +0x1.093595282fp+3 +0x1.c57357305ebd7p+2 +0x1.40f992dc151afp+2 +0x1.0a8311f310d8p+1 +0x1.1bce6a25ef6a4p+1 +0x1.d17315486e408p+3 +0x1.bcc65731e3109p+2 +0x1.515a603d682a6p+2 +0x1.e049198061a38p+0 +0x1.ee4e20db47b7bp+2 +0x1.4f2c7c40bccb6p+2 +0x1.b07fdfc5ec0f3p+3 +0x1.b57874fc6208ep+3 +0x1.26ed61e7b5626p+4 +0x1.488f642c27b4ap+3 +0x1.7ab579f457f48p+2 +0x1.20560e5c012c4p+3 +0x1.5b9834aa1554fp+1 +0x1.11bf2e4136426p+2 +0x1.37ecef901deb1p+2 +0x1.a36292e9e6c7dp+2 +0x1.79e6c6df5e84ep+4 +0x1.4674aa6d190b3p+16 +0x1.bae34b2e779f8p+2 +0x1.2fbe6564c1dd8p+0 +0x1.841652c1d1da5p+0 +0x1.692f48a5582c6p+2 +0x1.3d89d9cc9cd63p+3 +0x1.0260b34ce123ep+3 +0x1.4063e7a806101p+4 +0x1.0559d8c56024ap+4 +0x1.12f8ca660f0d4p+3 +0x1.4cfd30004468ap+16 +0x1.734f49aa60a94p+1 +0x1.945416ffbb03bp+2 +0x1.bffe3be50b2eep+0 +0x1.c668c8ebd61b4p+3 +0x1.1328f10ea5b09p+5 +0x1.6335046c074d7p+3 +0x1.785124b5d8a51p+4 +0x1.8745e3eac7353p+2 +0x1.6921251358e01p+2 +0x1.2198ca11a1747p+1 +0x1.b0d992303cd7cp+3 +0x1.1bfb3d470b407p+4 +0x1.8600fe4a53856p+3 +0x1.970ecdfad9ca8p+0 +0x1.7a15047787fa1p+2 +0x1.dede8b7bf60dbp+1 +0x1.9007a75c698e1p+2 +0x1.e0908aa30e4b1p+2 +0x1.899cd168e3a9ep+2 +0x1.0938486704cb3p+4 +0x1.bffbcf941d617p+2 +0x1.e3d22920b6161p+3 +0x1.aae5f2e1e0169p+2 +0x1.521bef1e9c846p+2 +0x1.08ac7b6f4f1cep+2 +0x1.d374bf288ae5cp+2 +0x1.da40a5f7b4cc3p+1 +0x1.07f1f00b38e3p+3 +0x1.803162441b012p+4 +0x1.6f45d7ac25466p+3 +0x1.0bef487fd54c4p+4 +0x1.4358a5ec48278p+2 +0x1.9f675e4cdfdafp+3 +0x1.29f8cc3dd5de5p+3 +0x1.492ad6e9337b7p+7 +0x1.8b3fecb7ff222p+1 +0x1.248fca20246aep+2 +0x1.0c38be406849p+12 +0x1.3bf0f1a33bd5ap+2 +0x1.1586bb87ccb06p+2 +0x1.f383e5d3bf694p+2 +0x1.9da5ec4458468p+2 +0x1.29ad60a35f0fap+2 +0x1.c7c0301aa6b84p+1 +0x1.08285e1b1c89ap+2 +0x1.5b70fc79cd5b7p+1 +0x1.5f56009860393p+3 +0x1.7e6e62fdfa494p+2 +0x1.4f31f902d632bp+3 +0x1.c7e088c39f4e6p+2 +0x1.9895dd39e7ec8p+1 +0x1.59fa6d13cedaap+1 +0x1.6c7785d8b5a76p+3 +0x1.68089873be15cp+2 +0x1.958402d1b1d97p+2 +0x1.525ae2f40dae9p+0 +0x1.277dea6cee29dp+4 +0x1.d28ab05d2f7b6p+5 +0x1.c0854384fd533p+2 +0x1.aa89ddee85669p+1 +0x1.c6833328fbc48p+1 +0x1.590e33f3fa595p+2 +0x1.1284f5905fecp+1 +0x1.ba11f69b6a7d4p+2 +0x1.e320b014dabbbp+0 +0x1.d63b6e19ba199p+2 +0x1.280aa1b70f8d6p+2 +0x1.086ae2bfa65b9p+4 +0x1.cf4b69f9899fdp+2 +0x1.ac45a3635366ap+1 +0x1.9e37a9908f7a9p+2 +0x1.33e5ce131fd7ep+0 +0x1.e4958e232d848p+1 +0x1.4d8fb04b7f81fp+4 +0x1.f7870225d7dccp+2 +0x1.6dcb25ea77be6p+3 +0x1.b0b58e66122bdp+3 +0x1.a0993b10fe0cfp+3 +0x1.2e8a345ede3ccp+3 +0x1.8af5e7816060bp+2 +0x1.ab6c829e6c02bp+3 +0x1.6884d7614101fp+1 +0x1.dcfcd042b4db8p+3 +0x1.435ceb7539913p+2 +0x1.ff99fcedf4bb1p+1 +0x1.9628a8b5e5a2ep+3 +0x1.dff6692a79d7cp+1 +0x1.7cda114e2349fp+2 +0x1.cf57beafe5f09p+2 +0x1.8cf5b0f2a2138p+1 +0x1.2443af041875ep+2 +0x1.eb8b9500ece11p+2 +0x1.0f9dbe2345551p+1 +0x1.94f0e41362e8p+1 +0x1.2f4f772ba851p+15 +0x1.375a73c7662bep+1 +0x1.17d8d1e4908c1p+3 +0x1.84f1a2443f266p+2 +0x1.6921186ff6363p+2 +0x1.9e311cd145f0bp+2 +0x1.2f41c5a60185dp+3 +0x1.701da283f1507p+3 +0x1.37088f192f0f9p+3 +0x1.d0a1fc58a5b9bp+2 +0x1.047b8d44b4198p+2 +0x1.a5723a3af9ce5p+1 +0x1.2793066f37275p+3 +0x1.db0f583139801p+3 +0x1.6f096c4aaccfep+3 +0x1.3bcbe748af6b8p+3 +0x1.0398b8d8012cp+0 +0x1.4085c6708f055p+4 +0x1.03ccf44571763p+3 +0x1.73238eeb16e3cp+2 +0x1.cf8861cd0df53p+2 +0x1.161e517ebd905p+3 +0x1.16093e4cdb6e2p+4 +0x1.8df60c2f8b878p+3 +0x1.6a31fd459c8ap+4 +0x1.2cb91fde65fp+2 +0x1.fba0cfeff36c5p+2 +0x1.1a2ae96c99a34p+2 +0x1.721f6a0b81c7cp+2 +0x1.e3b18d445a38ap+1 +0x1.bdac873db7848p+0 +0x1.3f249a945e47bp+2 +0x1.5a85a0b09fc64p+3 +0x1.eea75646cc598p+1 +0x1.c5a18a964e69fp+1 +0x1.413f935c219f6p+3 +0x1.80b8a90f230dbp+1 +0x1.068e9ec0d34abp+1 +0x1.a1e8ddfdf666bp+2 +0x1.f35c3401e16b8p+2 +0x1.0a9980e2f6618p+3 +0x1.68b2f9441edcfp+2 +0x1.2e07bb97e8479p+3 +0x1.0fdc309a39178p+3 +0x1.18afe637f4ap+2 +0x1.4ca4a932972a7p+3 +0x1.3bfb2389ef852p+1 +0x1.42e03005e1277p+3 +0x1.4a1a60e6610e9p+3 +0x1.005570d6c583ep+3 +0x1.771fdccff429ap+2 +0x1.6262a35d1cd6ap+12 +0x1.799f59dbbfd22p+16 +0x1.8122c616c3d2fp+2 +0x1.6efd5a6c404d6p+2 +0x1.29371787b80b2p+3 +0x1.afa25ce2495c6p+0 +0x1.4b7ac745ce7b2p+2 +0x1.76dd751e47477p+2 +0x1.d04aada48d1abp+2 +0x1.a5d38c6db6159p+2 +0x1.3c9af5e074877p+9 +0x1.680408904923ap+3 +0x1.205f92a4c556cp+1 +0x1.e5ca88a5544cp+0 +0x1.5c039a751ba1p+0 +0x1.68e2bb776cf58p+0 +0x1.12cc551a6c5cep+10 +0x1.aa6fb6229a7b5p+3 +0x1.4ebb081a303e1p+13 +0x1.21b239e321003p+4 +0x1.e45d91c6db20ap+3 +0x1.4c296c4b72892p+3 +0x1.47371cd5e27e5p+0 +0x1.6b39dbdc863bcp+1 +0x1.23422903be826p+2 +0x1.6d856df2dab6p+3 +0x1.aa95ded25c83fp+1 +0x1.4a60159cf5cc1p+2 +0x1.6dd3c051b760cp+1 +0x1.68ce68781a07ep+6 +0x1.46fa65f037c34p+3 +0x1.d60770fde2a07p+2 +0x1.3c5ce21d3da64p+3 +0x1.6d28fc22c93ap+0 +0x1.faa423457a5cap+2 +0x1.d0b7dcf9975bap+1 +0x1.e0ae4e50204b9p+2 +0x1.43c44f5b094cdp+2 +0x1.623be2ce1c937p+1 +0x1.20b215ebdf456p+3 +0x1.28091034ca4c4p+1 +0x1.12baabdffa32ap+3 +0x1.056a84e698a9bp+10 +0x1.4934dc4d5348bp+3 +0x1.d189ba1e557dcp+2 +0x1.29ab0219f6f0ep+1 +0x1.2a5bc3f82803ep+3 +0x1.b5b765795bd88p+1 +0x1.4bfdf9e1ae617p+2 +0x1.3253ee894913bp+0 +0x1.07f08101a08e9p+2 +0x1.8559b2c452144p+10 +0x1.6498c7f6acfc9p+2 +0x1.783d52d0a077fp+2 +0x1.07e69cc4f8ea6p+2 +0x1.1cab1119f6f3p+3 +0x1.31716aa9eea45p+2 +0x1.477f664bceaf2p+4 +0x1.4ef22663fe6bap+14 +0x1.012b6daba5031p+2 +0x1.137502b244ac6p+3 +0x1.1bbe72712b736p+4 +0x1.8142485a442acp+3 +0x1.972db1d83f818p+2 +0x1.8e6d4e069725ep+3 +0x1.7202adc6091dcp+0 +0x1.8d95b0d67d05ep+0 +0x1.b6d5edb8d6561p+1 +0x1.d3a0fa21e17fbp+11 +0x1.94288deee71d6p+0 +0x1.4bade42044b78p+2 +0x1.683e136e72968p+1 +0x1.baba08341a8a5p+3 +0x1.096b44466cd82p+4 +0x1.13652cb591afdp+4 +0x1.b451165bbca74p+0 +0x1.0c7d3f4522308p+3 +0x1.7514d6c7ebb52p+12 +0x1.cfee783d2fa6bp+1 +0x1.e255821d2dc4fp+2 +0x1.554c1004fbbffp+3 +0x1.cc68e460554cbp+2 +0x1.7a6c8da250a28p+2 +0x1.501fee951b948p+1 +0x1.1bc5677693ed5p+2 +0x1.785b92525ebafp+2 +0x1.dc2436c91309dp+3 +0x1.23cb8c87136b6p+0 +0x1.3548eca9daa44p+1 +0x1.7f01c3eb3c8b2p+4 +0x1.1ce4cb2057bcfp+4 +0x1.2c79f329df53p+4 +0x1.3721d4c9f49bbp+16 +0x1.8d96c890481bp+2 +0x1.050cc14516a59p+2 +0x1.5648fddf3bcdep+2 +0x1.1660a9c5794c8p+4 +0x1.08331d7266642p+2 +0x1.22e3c4b727a7fp+4 +0x1.4a2546bd65709p+3 +0x1.3e87cd0932cdp+3 +0x1.74f67ef7ee955p+3 +0x1.290e764f946d7p+3 +0x1.4b22ff8dfa016p+3 +0x1.1c06373aea51cp+3 +0x1.34f170acb9ed8p+2 +0x1.110559babadfp+3 +0x1.89cc5f1760801p+3 +0x1.3fdeda7070092p+3 +0x1.0798c1c140d5cp+1 +0x1.12e480afc2eacp+3 +0x1.bb67d7802211p+2 +0x1.61f2a81c1e373p+2 +0x1.dcb73cae6c20ep+0 +0x1.ed9c940b7d60fp+2 +0x1.2b29705f9d852p+1 +0x1.d8cb42c4bfd7bp+0 +0x1.1d9e0e1adff7ap+3 +0x1.5fd5fab940753p+3 +0x1.a6ad8df251f96p+2 +0x1.1c1ab94900142p+3 +0x1.668242e541134p+0 +0x1.5a90467ead8ffp+4 +0x1.4069aea5f3115p+3 +0x1.6ed8baf7c4ca2p+3 +0x1.73bc219c236c2p+2 +0x1.65e461e947776p+12 +0x1.624b2df4617a2p+3 +0x1.8744f6d9d32cfp+2 +0x1.7e897b6620ee4p+3 +0x1.f745f3d6cd9cbp+2 +0x1.01b36f44f4b79p+4 +0x1.18cbed56cb956p+2 +0x1.4d4d101f12794p+2 +0x1.13e059ccccee6p+3 +0x1.23bc8a6469761p+1 +0x1.0545496b9e856p+3 +0x1.7bd28a35bafa8p+1 +0x1.95b46efe0e358p+2 +0x1.9aef8e009d289p+2 +0x1.345f7208a5aefp+2 +0x1.ad466a82bc48p+2 +0x1.d2188084246bep+2 +0x1.1628a9995e608p+3 +0x1.67efc53263f7cp+7 +0x1.59e52172c1481p+3 +0x1.bf36279f39c61p+0 +0x1.97771f38cb6ecp+3 +0x1.9875a2147f0afp+3 +0x1.32b62e306123bp+3 +0x1.8bda02c168c36p+3 +0x1.d73ac6c55c348p+16 +0x1.807e7000c23cfp+3 +0x1.564818be99316p+1 +0x1.e6f044f79f7c7p+1 +0x1.e846e95b4483bp+15 +0x1.27e6c89064b06p+2 +0x1.b2fbd2a25fcdcp+3 +0x1.2be50a8db9798p+2 +0x1.ecbdeac214243p+2 +0x1.c803ef06c95c8p+2 +0x1.ae1e0b80385fdp+3 +0x1.7b41f301b6592p+2 +0x1.010e1b438fe02p+0 +0x1.8ef73e8b34f8p+0 +0x1.33b3ac07d657ep+3 +0x1.7a9f4bebb5d6cp+3 +0x1.e5f87a0f8d164p+2 +0x1.21d1b5fd04e8fp+3 +0x1.74745d0f5a95p+3 +0x1.12f201893264ap+2 +0x1.80252b558125dp+1 +0x1.0808a28c37c4cp+4 +0x1.5763236b3c842p+1 +0x1.ee31f18600e8p+3 +0x1.9d9c121b386ddp+0 +0x1.5ad4efbefbbfep+0 +0x1.2145db9780748p+1 +0x1.75e031655f12p+2 +0x1.8610a360f2e7ep+2 +0x1.1667d60774024p+3 +0x1.923c786c7366ep+1 +0x1.ec5ba892f969bp+2 +0x1.b3404b52afb74p+1 +0x1.5a03cf8d00dcdp+3 +0x1.7236981cff42ep+3 +0x1.0d876430c84e2p+3 +0x1.88f0ca68e5482p+0 +0x1.02d7a9ac31958p+2 +0x1.cdd48f4a6a965p+3 +0x1.d8232dacdf923p+13 +0x1.796d6db76fe76p+2 +0x1.84c911749487ep+10 +0x1.1fc01f0187368p+1 +0x1.af418a72aa6a6p+1 +0x1.15081d3d047d8p+2 +0x1.189e79da0185fp+0 +0x1.ea097e712c543p+0 +0x1.244ce73584516p+2 +0x1.614b71b1fbf46p+0 +0x1.118e87c7aac5ep+2 +0x1.43988f17b30cfp+3 +0x1.7898965eb04bp+3 +0x1.14c46bd88b1p+2 +0x1.bcf18834378c7p+2 +0x1.b305bab7c22ffp+2 +0x1.31701be8a27c5p+2 +0x1.dadab173906b6p+0 +0x1.b2353f3e2b6edp+1 +0x1.65504147a911fp+11 +0x1.35b6ff4b19904p+2 +0x1.2efd75bbfe0a6p+1 +0x1.2cc7707433286p+3 +0x1.bc6c95f65c7bfp+2 +0x1.ac5da688f2e5cp+2 +0x1.0be67502fe679p+1 +0x1.618a5e7e99fd6p+1 +0x1.1fc25be752914p+4 +0x1.0c0d7db45987bp+1 +0x1.9adf4915ba9d1p+2 +0x1.6cdc53cf144c9p+2 +0x1.390f4d9bec4p+2 +0x1.af95488301b7fp+2 +0x1.370463463482p+0 +0x1.fb983cfb4d514p+2 +0x1.91fad77f100d8p+2 +0x1.ffc92998d3fcfp+2 +0x1.ead20759002eap+0 +0x1.ede83d5b70f2bp+1 +0x1.a4230225276c8p+3 +0x1.24a2c2438a3a8p+2 +0x1.941fea2230f7cp+2 +0x1.72c277f45ace6p+1 +0x1.8c43bc5af28bap+2 +0x1.2b8d3d41b7528p+2 +0x1.3653a4a24dce4p+0 +0x1.dcf5ab13a2e1bp+1 +0x1.440dce1de4316p+3 +0x1.c0a34ae32ca83p+2 +0x1.048f5a4ab8801p+4 +0x1.05317a6ea512ap+2 +0x1.2ae360124af51p+3 +0x1.70a779f0145eap+3 +0x1.64f510ea75534p+3 +0x1.e42048d1d8bb5p+2 +0x1.73b8e304d6dc7p+2 +0x1.dadb05e932ae7p+2 +0x1.44450055e156dp+4 +0x1.0065ad55af6f8p+1 +0x1.6b1c54a1e695fp+12 +0x1.816a9f4d651a5p+2 +0x1.d869751ac1e14p+5 +0x1.a39827251e5bbp+2 +0x1.13072638b0759p+3 +0x1.20082e54b804p+1 +0x1.5d11f03f289fcp+2 +0x1.33a1147b4597ap+2 +0x1.c0e9e64ec955bp+1 +0x1.b2a4f91134517p+2 +0x1.c985a5fa73c4ep+2 +0x1.22e05fb58c34bp+3 +0x1.725b60aa36ebcp+2 +0x1.0255d8f9d348p+4 +0x1.366f6b9104fa3p+1 +0x1.c733ded13b63ap+2 +0x1.2eb9161ff2c87p+3 +0x1.646ddba2cd51bp+3 +0x1.1d6b5eb6545efp+9 +0x1.f6b4e220a7ec6p+2 +0x1.bf749cb09be4cp+2 +0x1.8aa51ea51e5cp+1 +0x1.cc0ba0204767cp+0 +0x1.a1fd01c019b64p+1 +0x1.1d757a1eb02eap+3 +0x1.38715b8060a52p+3 +0x1.20073858578ep+3 +0x1.29097278daf35p+3 +0x1.d29067dc26923p+1 +0x1.9a38d9d277cf4p+2 +0x1.11331d74c4946p+3 +0x1.ebaa648344e7ep+2 +0x1.e1f82c5e03b22p+1 +0x1.93d1158b79fafp+2 +0x1.b88303870786dp+2 +0x1.4dd5bf2d7f0cdp+3 +0x1.c82c9874674c5p+3 +0x1.1c7eac17f5026p+3 +0x1.a52e6b38e3b9ap+0 +0x1.0d6c21156ea2cp+0 +0x1.7649300949beap+3 +0x1.4b29b33a75431p+2 +0x1.86c39cfedf6f1p+1 +0x1.44676949a5498p+1 +0x1.0c069db9f616ep+3 +0x1.d019532e8667ep+2 +0x1.08dd881103ffep+2 +0x1.0797de988e708p+2 +0x1.4ffe4d815ce1cp+1 +0x1.c48987aa3338dp+1 +0x1.178893066716ep+2 +0x1.74e5f6db24095p+1 +0x1.d50c4a0b3e7eep+1 +0x1.a23db9a3cea8p+4 +0x1.3212947f684a2p+2 +0x1.eb9a63ccfd553p+3 +0x1.e94edb669b55bp+1 +0x1.d5f50ee0d066fp+3 +0x1.f8dfc6f74d231p+2 +0x1.567d2c3563413p+1 +0x1.10168cc81956p+4 +0x1.fd45cc91ba2bcp+0 +0x1.0897f7a9fb6bbp+3 +0x1.d8b4106ea0be3p+3 +0x1.475e9643f3c5dp+3 +0x1.ecef325ddd75ep+2 +0x1.b7effb54b19d4p+1 +0x1.72d03b15297abp+13 +0x1.183a41cab1306p+0 +0x1.4f7a671132e4dp+3 +0x1.fd7a7658e53a2p+0 +0x1.102e1bb869a81p+2 +0x1.17e4059dce9fdp+2 +0x1.57c2a612c6e15p+3 +0x1.2c5a7b9d8c9ep+2 +0x1.5a18e413e7b77p+1 +0x1.ef53fcc987545p+3 +0x1.7f7283ac4757ep+2 +0x1.04eb94ffe50c8p+3 +0x1.9700e52ca7ae9p+10 +0x1.442289be4b80ap+1 +0x1.61e90db843e4ep+2 +0x1.316479e889e84p+3 +0x1.32cc8b7ebd2a5p+3 +0x1.b5e1ab6ba1f5bp+3 +0x1.25961847311d6p+1 +0x1.a799c3bcc62f4p+2 +0x1.aa6c56d1a1272p+3 +0x1.45e7266e95e62p+1 +0x1.052e8b656565ep+4 +0x1.899c582da2381p+2 +0x1.2ea56157bf75ep+2 +0x1.9eab24e1d03bfp+2 +0x1.4b321dfeb1f82p+2 +0x1.897e3af213d79p+1 +0x1.7fcfa594a5d24p+0 +0x1.9939d40ba3771p+0 +0x1.d524e8d2b696ep+3 +0x1.8e6c4f0cff85cp+3 +0x1.15d6d58276bbp+4 +0x1.368fc62799b87p+1 +0x1.28c3182ec047ap+1 +0x1.6f1a9daf8dcd3p+2 +0x1.2cdcb6e9be3f8p+0 +0x1.bbb958d04741bp+3 +0x1.e3f8d1a76ed04p+3 +0x1.f18dd372b5e18p+3 +0x1.efb0ab96df582p+1 +0x1.15435665127dbp+3 +0x1.d0921c3bc1b6p+9 +0x1.58c70fe17f257p+1 +0x1.3895a16e5b299p+3 +0x1.58c7cc3330d34p+0 +0x1.232ac53e1174ap+4 +0x1.51cfcaddc56f4p+1 +0x1.eb2eb21671a7fp+2 +0x1.245c2c92eed7ep+4 +0x1.e512d912aec2p+1 +0x1.b4a59af95a432p+3 +0x1.2842ed7c5945ap+2 +0x1.0b3ca965e3ap+4 +0x1.62159070add7cp+3 +0x1.0479dda8c6d3cp+3 +0x1.07d1790bd7a9ap+2 +0x1.f402d7eec5ba6p+2 +0x1.24615b9d94e46p+3 +0x1.b86a7f4fa630ap+1 +0x1.cc0e631a8eefbp+2 +0x1.03a8a8a798a5ep+3 +0x1.5fc2e7ed3c313p+1 +0x1.717d678e42a26p+1 +0x1.30102c889c5cap+4 +0x1.d9ec2f51a8b98p+1 +0x1.295d096f0b407p+3 +0x1.489b92fb35d08p+3 +0x1.2fefdb2dde321p+1 +0x1.635683086ad17p+2 +0x1.bc054a7ca9dbfp+1 +0x1.390e64c0c7454p+3 +0x1.32b0f83529b2fp+2 +0x1.7647b6331ec41p+3 +0x1.2134dedf030b5p+3 +0x1.bb8b3a5eeb63p+2 +0x1.afc5cca58ef2fp+2 +0x1.7dedbb7f474bep+2 +0x1.bd5dea2591a74p+0 +0x1.0b7add2d3dd21p+1 +0x1.3e52d8875435dp+2 +0x1.71bbd0805309bp+3 +0x1.520b4bc563793p+2 +0x1.8e1d52adae5c5p+2 +0x1.96e1effd7e79ap+1 +0x1.6f37284194a9ap+2 +0x1.2a63a863f4facp+1 +0x1.4e2c8666ee99fp+15 +0x1.611d58f8fac4ap+3 +0x1.dfd8b0d7be0bfp+12 +0x1.2f2813a30f342p+1 +0x1.141fd74d66bdcp+1 +0x1.e9109593caee2p+9 +0x1.d516db82cadddp+14 +0x1.347e781c2c967p+3 +0x1.a59bc077c6bcep+2 +0x1.f9536d9d044f2p+1 +0x1.3ccd4c1796ecbp+7 +0x1.41a0d8c568fcap+3 +0x1.96dacf07cf699p+2 +0x1.28b3be0af4c04p+3 +0x1.50429e8761582p+0 +0x1.455fce5be2f7cp+2 +0x1.2ae07e1c0fe89p+0 +0x1.9780fda033d36p+2 +0x1.78c6a93d859d5p+2 +0x1.1443f71a343f7p+4 +0x1.03c51c51b0b76p+2 +0x1.4967826603f1bp+2 +0x1.92a9e4b06f0fap+3 +0x1.4d87d78d94cdfp+2 +0x1.36362e00b0277p+3 +0x1.ce239b39d8128p+1 +0x1.5db18b60194adp+2 +0x1.cd56004ea7519p+3 +0x1.f391a86aa373bp+2 +0x1.5da317e1e7ea5p+2 +0x1.826d9323e3cb9p+2 +0x1.ae8a0cf831d6p+2 +0x1.2e48e976dcde7p+0 +0x1.29fc585088a6ep+3 +0x1.5266cc476f136p+3 +0x1.5a0d9bc484e73p+3 +0x1.7aa5876d2772ap+3 +0x1.382be8be0f408p+3 +0x1.85e8470fd8a4ep+2 +0x1.c284faa4aef99p+3 +0x1.431b31c25678ep+2 +0x1.31ea6e1ed6d5bp+4 +0x1.b99f6f88d09d4p+1 +0x1.914b00cbf0cf7p+2 +0x1.676d19ac60e57p+7 +0x1.93008f53549bfp+2 +0x1.4f2a4fd895a6ep+9 +0x1.76111f0c0107cp+3 +0x1.3143e3d8550d7p+4 +0x1.3448f455b3573p+2 +0x1.305584d052e04p+1 +0x1.d5b2a34eec336p+0 +0x1.16e873727a2a8p+3 +0x1.141750466ce2ap+3 +0x1.d61f430928cc8p+3 +0x1.f8c5d04fecd91p+2 +0x1.6dc0911f017fap+3 +0x1.d815c6a45ee05p+2 +0x1.5dc00aa8d2e12p+2 +0x1.7267862bd8e98p+1 +0x1.82bdcde50a92p+1 +0x1.63c3678149b2dp+2 +0x1.51b786df26d46p+2 +0x1.5c326434a87b4p+1 +0x1.1fb1b2e09c404p+13 +0x1.08de5824d6894p+3 +0x1.79488f375c3a3p+7 +0x1.d257c68c1e7e5p+2 +0x1.ca75450b8c5d2p+0 +0x1.8a74a81d8d6efp+1 +0x1.305ee57e90e84p+2 +0x1.241db29ad79c5p+1 +0x1.7f76022141aa5p+2 +0x1.4afac8f97dbbcp+3 +0x1.2be57f2490724p+3 +0x1.50f584efba3cep+2 +0x1.b84ca8dd487f6p+2 +0x1.ad0945665f066p+1 +0x1.e317ae43453b3p+1 +0x1.151eb3b6c28f8p+11 +0x1.3a7c0222593a2p+2 +0x1.9159ae3813851p+2 +0x1.a0517cc0f555ap+1 +0x1.86cc935bcd6cdp+2 +0x1.6ad1dd0f1e7d1p+0 +0x1.5a94e8a484f19p+3 +0x1.277572c9950f4p+3 +0x1.24b8b6ca607dp+3 +0x1.13870eeac3ae5p+1 +0x1.0171277ab7881p+8 +0x1.2d66282a01be7p+0 +0x1.fa1ce66a8d92ap+2 +0x1.6c2b5140420e4p+2 +0x1.81fcc4b40b293p+3 +0x1.a01605adc6a76p+3 +0x1.bc4281644327ep+3 +0x1.4391af20a7a3bp+4 +0x1.31057df9dc192p+3 +0x1.6e201e9812515p+3 +0x1.ea7712dca393fp+2 +0x1.aa5a68746328ap+2 +0x1.3968e1e548a9fp+3 +0x1.1f6c9e4211666p+2 +0x1.63cdcff1ade48p+2 +0x1.03ec7cfbcf17cp+4 +0x1.51b2977df6197p+2 +0x1.13d73733bf0bep+16 +0x1.040046fc8424cp+1 +0x1.e656bdb32b6a4p+0 +0x1.8d9a74aa17489p+1 +0x1.5890c2a7b7224p+1 +0x1.da0be422d60a7p+2 +0x1.97e6dd27b4e47p+3 +0x1.0cbdb1d44cd97p+19 +0x1.bf5f4864367c9p+3 +0x1.00171483c41e8p+2 +0x1.206c6b1cfd4ccp+1 +0x1.a2354af12d5bcp+3 +0x1.78fa247878411p+4 +0x1.00936d0a38434p+3 +0x1.fc9eb7ba56c01p+0 +0x1.81434cd52d486p+0 +0x1.1b37affb11e54p+3 +0x1.b0f00ddcd9cc8p+0 +0x1.395b242c88c6p+3 +0x1.b07fea74c101cp+1 +0x1.4152ec5c4b8d6p+1 +0x1.a680f60d334f7p+3 +0x1.76fcaa07feeddp+2 +0x1.22589a980e3fp+3 +0x1.817ff55f83bb7p+3 +0x1.8f261b15a15bfp+2 +0x1.7945ab851bb8ap+0 +0x1.80755c8db875p+1 +0x1.651d1090d5fcp+3 +0x1.13e6f134927d2p+1 +0x1.06e51a066d069p+2 +0x1.bb6fa9c13196ap+11 +0x1.1267b90b40d96p+3 +0x1.27cd49a01500ep+2 +0x1.d3774c5be0b5fp+14 +0x1.9cea55e4faeacp+12 +0x1.542f76296ee6cp+1 +0x1.25198aa1ac1dcp+3 +0x1.cd4b167f94d44p+3 +0x1.1bcf6c1de97f4p+4 +0x1.883c9a09cac61p+2 +0x1.7d6d7a8ad776ep+2 +0x1.6be4c8011e595p+3 +0x1.7286fc8c169efp+3 +0x1.6b26f0c80a5e2p+1 +0x1.4fd6b40982474p+3 +0x1.2683196e6c956p+0 +0x1.a0a5ef225b9b8p+6 +0x1.02594b14c040ep+3 +0x1.0f2d46294682cp+3 +0x1.59e652f5cb3d3p+10 +0x1.8a70da8a1aadp+3 +0x1.3c184a22a10f8p+1 +0x1.8d519adc59d91p+2 +0x1.4c47a730b78bcp+1 +0x1.50aeebc7ceb29p+14 +0x1.c319c598a293ap+3 +0x1.1154591d694a6p+3 +0x1.fd0ba6dbde3a3p+11 +0x1.29a74d6565546p+0 +0x1.e9cb6c6fc43e6p+0 +0x1.a9c72fbbe57ddp+3 +0x1.07a9f40217936p+1 +0x1.3adc70c56264cp+0 +0x1.50b70dedceb5fp+3 +0x1.11cc41cf6a3fbp+3 +0x1.e135f5afec45p+2 +0x1.2e6dfe12952e1p+4 +0x1.6c11c3e1b3744p+2 +0x1.b900ded1edff4p+2 +0x1.8574f1084b9e3p+0 +0x1.08f6423eb1d92p+2 +0x1.2d29bbc15ad7dp+0 +0x1.15cb61c4173e7p+4 +0x1.9f9f77cc9b187p+1 +0x1.4a34f41b77f19p+2 +0x1.efe97c0b36376p+2 +0x1.ad504c7b57fbep+0 +0x1.fd554581368ffp+4 +0x1.9dadec666c592p+3 +0x1.148fd0856b1e8p+2 +0x1.cd0475074d7cdp+1 +0x1.19bb8710348d8p+3 +0x1.f00f1b118b63fp+1 +0x1.feb01ccb545d8p+1 +0x1.65c8eb0b0d28fp+1 +0x1.4092d65cd5475p+3 +0x1.104c5fcc173fp+2 +0x1.af30c9f4e1cd6p+1 +0x1.e8c680cbe8d93p+17 +0x1.f6657daf8d14ap+0 +0x1.ab0adced6022cp+3 +0x1.45fe85c9d536p+4 +0x1.75d38c1d76caap+1 +0x1.03134a3f60096p+3 +0x1.8ba55593494d4p+0 +0x1.577ee4b13fb6ap+2 +0x1.00ad9427be945p+8 +0x1.c3c9d3c63e5c1p+0 +0x1.e9242805bcbe8p+1 +0x1.12b24d34f8d72p+4 +0x1.18413d45d4b61p+3 +0x1.1b565f52efe13p+3 +0x1.2b59769fc159fp+0 +0x1.7ed6bb9695b5p+3 +0x1.6ee57bb4fd10fp+3 +0x1.b9771033ee602p+15 +0x1.66721190f27fdp+2 +0x1.3c468cfae69e2p+4 +0x1.6f59044825df2p+1 +0x1.9abb02d2e58p+0 +0x1.2aeb35f75064fp+3 +0x1.f5f89d3a2fc2p+2 +0x1.9cd578e7560d9p+1 +0x1.37a15267e0e24p+4 +0x1.26da51b09f0b7p+3 +0x1.377eefa62ff04p+0 +0x1.8a423c6b7a998p+3 +0x1.74ee77b992631p+12 +0x1.f4952c192f05fp+2 +0x1.d506985cd9d67p+1 +0x1.b072f6182a6cdp+3 +0x1.eb522a70c7b18p+1 +0x1.e026daf63250cp+1 +0x1.0c0570a30f0b7p+3 +0x1.4a5aa320512fdp+3 +0x1.a15e83041808ap+3 +0x1.4cfabffddb5adp+7 +0x1.4b6794dd3b9b9p+3 +0x1.c6398bddd140ep+1 +0x1.f96cb13415308p+2 +0x1.c8c3fdd4e0005p+1 +0x1.26a6694ba609ap+1 +0x1.a802fa3c0e018p+2 +0x1.8574cf8a803d3p+2 +0x1.709f0a0245563p+4 +0x1.7d73206d30879p+2 +0x1.6aac16ee82d1ap+1 +0x1.5d2de0de93383p+2 +0x1.4e3f4c650dd81p+3 +0x1.4d7cb37f80523p+1 +0x1.17a9f2b4b3d6fp+4 +0x1.6ae2ed1725524p+0 +0x1.57e5b4ef5d5a6p+3 +0x1.e1c880bdc2a6bp+1 +0x1.102126cb12bf4p+4 +0x1.cf958b2351135p+0 +0x1.424283a890819p+4 +0x1.ad10f4ced4362p+2 +0x1.20e613e3a342cp+2 +0x1.f8c01fa631683p+3 +0x1.d9e416911c21dp+2 +0x1.349c099de8d78p+2 +0x1.9e4d8099403fep+3 +0x1.287cc5b42145p+1 +0x1.428453590d9f2p+1 +0x1.91b15d25d6377p+3 +0x1.b4640397b60f3p+3 +0x1.4333aef0a5ef6p+3 +0x1.44ff3e44582cap+1 +0x1.2efdcbbced0cap+2 +0x1.56bdfff3332fap+8 +0x1.b94df6e51d248p+2 +0x1.7943ea97146dep+2 +0x1.48933dfe301e3p+2 +0x1.8a0fbf76e9c9ap+2 +0x1.b8fd66b06453fp+0 +0x1.1b28ee60ad874p+3 +0x1.8b9d9549629c7p+2 +0x1.a15c778895c17p+2 +0x1.2ea0ffe377d4ep+1 +0x1.61a1166910fcp+3 +0x1.c8e8ee4d82bb3p+2 +0x1.1fa53eb8d05dfp+2 +0x1.ea82fc6f22505p+2 +0x1.595c9077b411ap+1 +0x1.0e2984332da52p+2 +0x1.0d35c3fd43b72p+2 +0x1.daae657b8e6b2p+0 +0x1.4431a6b9212a2p+3 +0x1.832cdc6892c51p+0 +0x1.27ad28cf37db6p+2 +0x1.4dea858cceb7dp+3 +0x1.9910038cf5e36p+0 +0x1.6df1205390abbp+0 +0x1.92eadda7c910ep+3 +0x1.0fc6c4b2a8cd9p+17 +0x1.fcadac62fa972p+2 +0x1.57e4ad3ee5e54p+3 +0x1.868b65e748127p+3 +0x1.b728d8004091p+1 +0x1.24dba19362b48p+3 +0x1.17e09df8a3974p+0 +0x1.7b14cbbea4ec1p+2 +0x1.45d7e798f8472p+1 +0x1.7a41a35bcdaf4p+3 +0x1.b4c276b5ca6cfp+2 +0x1.0b1819c87d5ep+2 +0x1.4a459131b2ca4p+3 +0x1.0225372f99c6ep+2 +0x1.3fc5d8703095p+1 +0x1.810964f68404p+3 +0x1.8482f09e1e89bp+1 +0x1.014e12348f296p+4 +0x1.4482964314ac2p+1 +0x1.45de909e737ap+3 +0x1.1b528b4f8f4d1p+3 +0x1.40a2d9341851cp+2 +0x1.58c5ce9fe8665p+3 +0x1.f5d7fa921a127p+3 +0x1.e180064f4d667p+3 +0x1.48ce5306eb70ap+2 +0x1.843af152ac68p+3 +0x1.bed7f7f1b0c77p+2 +0x1.67dc9afaef69dp+2 +0x1.74a2965a7a728p+0 +0x1.35cddcb258ce5p+3 +0x1.cdb5500e60901p+0 +0x1.621ab0794beep+1 +0x1.a99a3157dc906p+1 +0x1.622cf4c8e9ebfp+1 +0x1.b55763940e521p+0 +0x1.d62eb23ebfe3cp+3 +0x1.07e52303694dap+4 +0x1.c11d3d194a24fp+2 +0x1.779e2793d137ap+0 +0x1.b293bf7e8bd8p+3 +0x1.570d948a468cap+4 +0x1.215878c47e30ap+2 +0x1.1b6d2b8121cddp+2 +0x1.6cc3121f03cb4p+2 +0x1.8a1d5b3312839p+0 +0x1.eb0326884a916p+3 +0x1.24bc715f14d7dp+3 +0x1.bbb13116ac82ap+2 +0x1.3fea704aabd02p+2 +0x1.621f94eadd2fcp+0 +0x1.20c0b1fbd2247p+2 +0x1.403933667a848p+2 +0x1.1c49e4eb7c2fp+3 +0x1.baf187f9c1f7bp+2 +0x1.67c1d091f4411p+2 +0x1.8f340e45ebd72p+3 +0x1.4714ddd094cp+3 +0x1.15b1f526cc766p+3 +0x1.68f2cdcf75b8ap+1 +0x1.3e1dc04b7163p+3 +0x1.13f7a94101cf8p+3 +0x1.99188d324a538p+2 +0x1.b791d3bedb542p+3 +0x1.8d4cb7b35d19ap+2 +0x1.df557c75e25b3p+1 +0x1.57b8227da461cp+2 +0x1.09abdd9918633p+2 +0x1.5d5db5306d5bep+0 +0x1.62d37a5cf7aap+2 +0x1.394bb8b5c1d02p+1 +0x1.64d6a8181b493p+2 +0x1.5419b55f68a66p+15 +0x1.43bac1339b966p+2 +0x1.bce8804cf985p+2 +0x1.0d66453dae32ep+3 +0x1.b3857ef7e5851p+3 +0x1.aeb0f0fadc2f4p+1 +0x1.4f27a3a97ad1ep+3 +0x1.71a08f7c1544bp+3 +0x1.213bd28bf5fbfp+2 +0x1.bbe03d96b97e4p+4 +0x1.cbec50de8bd54p+3 +0x1.c5afe595ea147p+3 +0x1.a6c174eddafe4p+1 +0x1.3ed2ab3324ec4p+2 +0x1.2de7c9336ccbfp+4 +0x1.8d5728db201e5p+3 +0x1.9ea0906fde77cp+1 +0x1.06636907bd162p+2 +0x1.486acc9dc1d95p+2 +0x1.b577fe8a74799p+1 +0x1.95c1f8ac46854p+11 +0x1.f21c3a38f2b66p+2 +0x1.ace8faccc876ep+2 +0x1.2a30cca41d433p+3 +0x1.7947650bcb953p+0 +0x1.f155bd0911f37p+2 +0x1.2c982511d3ca4p+2 +0x1.3be8e1f0ad4a6p+3 +0x1.9036a1ea681dap+2 +0x1.a3623eef59867p+4 +0x1.4f6db9e7de71ap+3 +0x1.9fa417e0241afp+2 +0x1.bdcf42fff3949p+2 +0x1.08085c73faaa4p+4 +0x1.05ff3968e08b2p+2 +0x1.bfd8f66595cd2p+3 +0x1.5d3de6ca0d45dp+3 +0x1.b6957d726216cp+2 +0x1.339a3d479710fp+2 +0x1.7edb7a3381a72p+3 +0x1.f5ecef7ec5106p+3 +0x1.254cec121f0fp+2 +0x1.25b7de1210373p+3 +0x1.3b226840e52b5p+3 +0x1.88e7ac059e1e8p+0 +0x1.bba03b470b47cp+2 +0x1.92bad63a4cde3p+2 +0x1.364d19dcda6ecp+2 +0x1.39c17b2309258p+0 +0x1.1ed17e539fb01p+12 +0x1.4e94741a87a9fp+0 +0x1.f27e1e03e0acbp+3 +0x1.6dd9507e3d015p+1 +0x1.6e5b610c153f7p+1 +0x1.179bc6d3ecd3p+2 +0x1.34f25a0f49caap+11 +0x1.f40690a4a4689p+0 +0x1.a576e082639e9p+1 +0x1.85ca9adf3d297p+2 +0x1.fe286121fc0adp+3 +0x1.2f6a4076eebe9p+3 +0x1.7fcab628f6d08p+3 +0x1.73177ec56f529p+3 +0x1.02613d1af566cp+3 +0x1.423a828aeeep+1 +0x1.2f586d8bce194p+2 +0x1.8602fdcb6b077p+2 +0x1.f9feb8b9d641bp+1 +0x1.134ac87885ed1p+3 +0x1.5e985fb7588ccp+1 +0x1.06625675f053dp+3 +0x1.319f6997c948bp+2 +0x1.e5159d92af4bep+0 +0x1.9232fdea0dd9bp+2 +0x1.3d1c1a909d241p+3 +0x1.e2dbbb9b77e87p+1 +0x1.aacff41ef9652p+2 +0x1.902335703a946p+2 +0x1.8de12fb77c158p+11 +0x1.cdcc42b4d5245p+2 +0x1.a4754779aae1ap+3 +0x1.0919936b37bfcp+0 +0x1.3578972ab11cfp+8 +0x1.68356e3d57074p+1 +0x1.8ba315901597fp+1 +0x1.0e2a98868c1c5p+3 +0x1.aaa7a07a27b4p+9 +0x1.fc877a17d66ddp+10 +0x1.33a6291b20bc9p+14 +0x1.911ed4ad8198cp+0 +0x1.42cd028d35b17p+2 +0x1.aa084078c55e3p+3 +0x1.c873257a8bb46p+1 +0x1.96d7c008a92e1p+3 +0x1.3889f3286148fp+6 +0x1.794d346e9d853p+2 +0x1.43b017855e523p+3 +0x1.a71c9b8ee8c82p+1 +0x1.70fb0f281f159p+0 +0x1.ce750b1404defp+2 +0x1.d6a821b9a5989p+3 +0x1.07198319343aap+3 +0x1.2b4194a159215p+3 +0x1.2612563a93156p+0 +0x1.58e5e22a564p+2 +0x1.73d20afebb01cp+1 +0x1.9c5f6661e15c9p+2 +0x1.0abb147eb1172p+3 +0x1.01f4b5c71c74ap+1 +0x1.01f79aa5767f7p+3 +0x1.835f34e73350fp+4 +0x1.07b799b1b22dep+1 +0x1.1379ed57fb166p+3 +0x1.e663d588674acp+3 +0x1.14790c2cffedap+2 +0x1.3bdd49d7fedabp+1 +0x1.faf1d020d9e8bp+1 +0x1.f63753a8710b1p+1 +0x1.cfa4c3393e915p+2 +0x1.9e1680e0418f3p+1 +0x1.74bcd747ad5ddp+2 +0x1.085e6c301dee4p+2 +0x1.6a639316bdff3p+3 +0x1.54c21a93baf05p+2 +0x1.464995c91c733p+3 +0x1.aa15b11e9b094p+5 +0x1.3834753ba9f06p+5 +0x1.9014ea0b8ad46p+3 +0x1.c3e02fcdc1db7p+15 +0x1.9113a77cd1a2cp+2 +0x1.3bf017fd936aap+1 +0x1.1eaab159e1eb8p+2 +0x1.98b14d063a197p+2 +0x1.e2619c036741p+0 +0x1.8ceac0fbeb417p+1 +0x1.2351e5018936ep+11 +0x1.e3becb0779dddp+1 +0x1.8a15c41204d9ap+1 +0x1.52752df857084p+2 +0x1.435aa95abc1a9p+2 +0x1.d4a072a172d08p+0 +0x1.80707d77dc132p+2 +0x1.47ee72df0600ep+1 +0x1.606086dffc4fdp+11 +0x1.516a8e261efddp+11 +0x1.dbeaf7a0e4806p+2 +0x1.2052384cc3ac9p+3 +0x1.301ab84f45f24p+3 +0x1.0de8972b7702ap+3 +0x1.b604f9c67a1c2p+2 +0x1.386e716879596p+2 +0x1.0a3eeea1ee6d6p+3 +0x1.383d685225976p+2 +0x1.cca96b5aafe8ap+3 +0x1.9faa304be9d92p+10 +0x1.9ad63dc85bde4p+2 +0x1.83f244fae2a9dp+0 +0x1.db372eeb3f7b6p+3 +0x1.23438765f132ep+2 +0x1.e666c5f75412ep+2 +0x1.194d2493feef5p+5 +0x1.c169278367fa6p+0 +0x1.f1e49613e129fp+2 +0x1.0025d3e5e452p+4 +0x1.d8578f16fec85p+2 +0x1.6063020b346dp+0 +0x1.309f5eb633064p+1 +0x1.07dcfa235be25p+3 +0x1.2b9decc6a6036p+3 +0x1.33f6ef89cf679p+0 +0x1.3f3a5691528d9p+2 +0x1.1131178ae77b6p+1 +0x1.b655cddd583aep+1 +0x1.906dc81f47dbdp+2 +0x1.f35846e6553ebp+14 +0x1.60a411fb86224p+1 +0x1.3782de8eaef1fp+2 +0x1.5da4c3dfa577fp+11 +0x1.d2a54666e2eb2p+1 +0x1.6556e914fae56p+1 +0x1.89172c79fc7b7p+4 +0x1.53c32e5c49a88p+2 +0x1.c64956c2039d2p+1 +0x1.45d330ad1348p+0 +0x1.78c6c03924f5cp+2 +0x1.80d9af5f6b2b4p+2 +0x1.853fdd86e3a13p+3 +0x1.a444315bf73c7p+3 +0x1.3663e311f3a8dp+4 +0x1.2164d53ca0645p+4 +0x1.633f6739e57bfp+3 +0x1.e7553a6825703p+2 +0x1.e56bbdbf5d619p+3 +0x1.dd28df4968ef9p+2 +0x1.d2a6326c17c9p+1 +0x1.c51fdffd4d65fp+6 +0x1.22f39c7e70842p+1 +0x1.bac86b686f7a7p+2 +0x1.18c2edd635e61p+14 +0x1.28ef57bf9cbaap+2 +0x1.bfa2682431d1ep+2 +0x1.95ed55aa8d9dep+0 +0x1.059e7c6a8a5ecp+2 +0x1.4585f715c410ep+3 +0x1.8b53497a30cb4p+0 +0x1.f8885aa76a9ddp+2 +0x1.9ee38abfbeac1p+4 +0x1.1f3edd2bccbccp+3 +0x1.c05ded39da4e1p+2 +0x1.02cf6ff843558p+2 +0x1.7ab51e19dbcf2p+0 +0x1.eda83cbc3466p+0 +0x1.b8ae9ce3ffc2ep+1 +0x1.e6a24060b331ap+1 +0x1.c47230b4296bcp+3 +0x1.c0cad26efb314p+1 +0x1.13df33fb0e1c8p+2 +0x1.4336e8bc5d1dbp+3 +0x1.9b11f251361bep+3 +0x1.b6c6336021d0cp+2 +0x1.93af2da4b073cp+1 +0x1.435eaa86083dbp+2 +0x1.70cfef53844c3p+2 +0x1.6647e242a5e15p+2 +0x1.6b1e1cdd3a8d3p+1 +0x1.50ea644352d6ep+0 +0x1.faf1dffd72067p+2 +0x1.984e6fef06af4p+9 +0x1.63e4649e316bcp+3 +0x1.a068a6055f301p+2 +0x1.fed5f447e9c7ep+2 +0x1.61939462b6c15p+4 +0x1.63d661e5ba64dp+2 +0x1.cac6530a31616p+2 +0x1.dd56fff1a1babp+2 +0x1.11f84cdb3467fp+2 +0x1.690929060d1a7p+0 +0x1.71dd4a0ed981p+2 +0x1.1e0800e8141e6p+2 +0x1.aa7e60726d84dp+2 +0x1.8b3e993dbeb34p+2 +0x1.d5625756ad6acp+2 +0x1.51a9ae6fc2147p+2 +0x1.cc28b437c5961p+3 +0x1.48b0ea2c47305p+3 +0x1.db79379b76e59p+2 +0x1.00dc18bdbc971p+1 +0x1.f31972e0b7234p+14 +0x1.d28fba4a7b84cp+2 +0x1.67ad5bfd227edp+2 +0x1.ba5dbfe6fa93p+1 +0x1.abb8bf657d9ep+2 +0x1.f965e37616e95p+0 +0x1.f6ba58b0928c6p+3 +0x1.7c3cafb390541p+2 +0x1.71fb3b279aeb4p+7 +0x1.9922ad87e806bp+3 +0x1.116b4ec95669ap+2 +0x1.2ea595da7dp+3 +0x1.579c810d95056p+2 +0x1.48b46da35cf5ap+2 +0x1.3031ff3ef6ab9p+3 +0x1.fc61cd696762ep+2 +0x1.75b338d2238d6p+2 +0x1.09d9a97ab1d39p+3 +0x1.106b2bb60f242p+3 +0x1.65293d787421ap+1 +0x1.ec993ad161652p+2 +0x1.6bd491be30e0ep+1 +0x1.9e9ade725fc26p+1 +0x1.34975823a2e81p+3 +0x1.db94cc5cfdc26p+0 +0x1.28e22b7448b7ep+3 +0x1.32618a3b7441p+8 +0x1.8c2cb5b446936p+1 +0x1.43ef4dc6d4466p+3 +0x1.6e0331197e0dfp+0 +0x1.bcd4d0a811334p+1 +0x1.08ceadb733257p+4 +0x1.82922f9f1a932p+17 +0x1.05edf97d604d2p+1 +0x1.83e2498437d85p+3 +0x1.7582b335bf6fap+2 +0x1.49e213b0a7ddep+3 +0x1.42dc024033bc6p+3 +0x1.9dd57cb71c203p+3 +0x1.5ada65157f8c6p+3 +0x1.3fcfe02e2b31cp+12 +0x1.a09976acceb16p+3 +0x1.51c126f979e8ep+1 +0x1.167152af04cdp+3 +0x1.291f8fc6d8864p+2 +0x1.581382426b555p+3 +0x1.87b83ce99adf1p+2 +0x1.260d0fa3be3cbp+4 +0x1.cb9f2adc55129p+2 +0x1.0aff7852d6fd8p+3 +0x1.d64933c95c7e9p+2 +0x1.5b266ef91b89ep+1 +0x1.18c592c69e87bp+4 +0x1.3a32a7ae0ff81p+3 +0x1.02bb3e4759258p+2 +0x1.304cd5804034cp+3 +0x1.f29545b4a5fa2p+2 +0x1.1e814d9b1874p+2 +0x1.0a940000a809ep+4 +0x1.9a311d87f59aep+1 +0x1.cb421ff5855cp+2 +0x1.489f6e9989f39p+2 +0x1.437792cdaf159p+11 +0x1.9d33c02dd5239p+2 +0x1.a863c7bd37f51p+1 +0x1.6c94992c4cc7dp+0 +0x1.2bcbc9c415828p+2 +0x1.15b332d067bap+3 +0x1.480fd32853d0ep+3 +0x1.2ddcfc9dbeca1p+3 +0x1.3fa1e8aa431fap+2 +0x1.6ba7888b2d29p+2 +0x1.d092a42d783c5p+3 +0x1.1db1c0db9f387p+2 +0x1.2144dd2a77378p+2 +0x1.2d6e399877f1fp+0 +0x1.44c36fe087626p+1 +0x1.8da1a4792e651p+2 +0x1.9de97acd9514bp+1 +0x1.97d053203acdep+1 +0x1.bc75f073e1c99p+1 +0x1.ab7b6e0834e64p+2 +0x1.011d2f802a73ep+1 +0x1.f766c9a1f9431p+0 +0x1.6be40a9e2db38p+1 +0x1.f1b4bd5a4c676p+0 +0x1.9a9a26b11cdd5p+3 +0x1.9cdda4e642236p+2 +0x1.7509ab628651cp+17 +0x1.529c155e1496dp+5 +0x1.c6bb2d7eb2a18p+3 +0x1.ffb2170c76913p+3 +0x1.7a6482a8bc2c2p+3 +0x1.79821c0d1754ep+2 +0x1.d7b5fc32f1c1fp+2 +0x1.d5822bfd5f5d6p+3 +0x1.2a9fc374e3622p+9 +0x1.132f263761a85p+3 +0x1.96ddfff8f0347p+2 +0x1.0516b147ebe56p+3 +0x1.415cc88b6ea47p+6 +0x1.8c16f89fe933cp+3 +0x1.b8ac8652eab05p+1 +0x1.3517e1ea381e3p+1 +0x1.18f4e7e98e4d6p+2 +0x1.7ef2560d0bbbep+2 +0x1.2ec4afc559b97p+2 +0x1.a7ed36f28ebp+1 +0x1.ccc558e06ffafp+2 +0x1.8e66c6b050cbcp+1 +0x1.ed035fdf05346p+2 +0x1.53fe74ccc8665p+3 +0x1.f99de9af7b236p+1 +0x1.b05eed2d84668p+3 +0x1.92dd99f546af3p+3 +0x1.9f0a7d5a54655p+2 +0x1.efe7da3c79e91p+2 +0x1.985006ae0fc85p+1 +0x1.388738a1b707fp+3 +0x1.e43a25a2644d3p+2 +0x1.697c2c593adacp+1 +0x1.15fecf001c29p+3 +0x1.b4779a1795934p+2 +0x1.9a9722542dcep+2 +0x1.d87b336732ff4p+0 +0x1.eff947992ea24p+0 +0x1.e551c7994fdd6p+2 +0x1.315a730f45af7p+4 +0x1.076259a055633p+3 +0x1.8c58c48794ac6p+3 +0x1.0ee02065219eap+2 +0x1.0dc84379ade07p+3 +0x1.6cfef61261d1p+3 +0x1.9e6fdd8e9bce1p+1 +0x1.2497d6f52e258p+3 +0x1.c8bea92a40e0ap+2 +0x1.1a84d3f617695p+0 +0x1.1bfbbd2cc9c94p+2 +0x1.c4beeb6e3af9p+2 +0x1.7e26ecbc3b4b6p+0 +0x1.b10bf9eee575ep+3 +0x1.6c49b338fcec8p+2 +0x1.1d4871b39ea32p+2 +0x1.829aacfd32974p+3 +0x1.ce060ddf43c2ep+16 +0x1.f5f7be3b19927p+3 +0x1.5610654e936e8p+3 +0x1.2646d023737e8p+1 +0x1.ef7f4ba0847cfp+2 +0x1.1f486ec46d2e4p+2 +0x1.830bdc58d4395p+2 +0x1.23fa8d0916657p+3 +0x1.8a87887490fdfp+1 +0x1.8c308e95d6932p+2 +0x1.890c905204465p+3 +0x1.c4199c231125ap+2 +0x1.fe76da8204dfap+0 +0x1.fda9983531a54p+1 +0x1.419d880bbcf62p+4 +0x1.9f0ed1b546031p+0 +0x1.856649eb2a79bp+3 +0x1.4d1ce14ad91abp+3 +0x1.77537d6532a11p+4 +0x1.ddaba922d5cbp+3 +0x1.c6f44aacb5d66p+2 +0x1.d260d752ae9c9p+2 +0x1.048fb1b9c579cp+3 +0x1.35becbd212e58p+3 +0x1.44287e1833263p+4 +0x1.7e4341ba20179p+2 +0x1.3af776478fda8p+2 +0x1.57203475477b2p+0 +0x1.5dc08d4248b02p+4 +0x1.9f36e4359f139p+3 +0x1.32d6c9a77fb9bp+2 +0x1.2a09c809a3534p+3 +0x1.0ff84ecb65908p+3 +0x1.385c30a74f44cp+3 +0x1.669dc6068213fp+0 +0x1.5d565cb6b6915p+14 +0x1.51024e9c7e9b1p+3 +0x1.d8b4b1e689478p+1 +0x1.483170a3e6abdp+2 +0x1.74cd2b3513bd2p+1 +0x1.3d05922a6050ep+2 +0x1.504f5b6bbe0cfp+2 +0x1.19e1f2dffe8f5p+3 +0x1.caf9107a0b8b7p+1 +0x1.bb7adb6f0e1adp+2 +0x1.79313d371f504p+0 +0x1.3f17f9cdd849ep+1 +0x1.78c197ae2bbep+2 +0x1.1395e3c533332p+4 +0x1.690b74df62827p+0 +0x1.0c47e4d1f521ap+2 +0x1.dc5a4a2049133p+3 +0x1.28b33c453f9dcp+4 +0x1.6ce93ccb28e0ep+3 +0x1.204964e7a608p+3 +0x1.c00b94dd2b194p+3 +0x1.1077646d84daap+2 +0x1.c84367fc696aap+3 +0x1.84a01e1fe790ep+1 +0x1.205ca879de7cap+3 +0x1.1db4bd4ceb176p+2 +0x1.f56344565b74ap+0 +0x1.c8cc3a63bebcep+3 +0x1.16442f33995bbp+1 +0x1.2823d7b5ccde7p+3 +0x1.43aa42b174e05p+3 +0x1.9f055bebe6449p+3 +0x1.c935ee85de588p+3 +0x1.ae03798e22096p+1 +0x1.85eb4745ec079p+1 +0x1.fbf7160b76317p+3 +0x1.891497607717p+1 +0x1.065ca4887ef86p+3 +0x1.215824671244cp+4 +0x1.5bde4471df696p+13 +0x1.042505c162c06p+2 +0x1.09abc69cab938p+4 +0x1.e4923ec980d53p+3 +0x1.d0a1dc9f4dd6bp+1 +0x1.a0c0b4199d073p+8 +0x1.33275c011cc38p+8 +0x1.53eb8681d8dedp+3 +0x1.5652aff9e7a88p+3 +0x1.067debabaedecp+5 +0x1.13c013de73882p+3 +0x1.fbceeed077ea8p+1 +0x1.01219ea2e3dcfp+0 +0x1.7885e41630142p+2 +0x1.3f26f8f3a6c19p+2 +0x1.ef2261288d7d1p+1 +0x1.a0cd8c65d4bb4p+1 +0x1.fef7bd0ced712p+3 +0x1.dfef3e90bc92bp+2 +0x1.08d36a386265cp+1 +0x1.1484bebdbe85ap+3 +0x1.7f525d867f3ecp+2 +0x1.256931abf3c58p+2 +0x1.c9ae4cda6d1e2p+3 +0x1.ffe55905b6b35p+1 +0x1.09ed380e16dbep+3 +0x1.c45b6c5dab113p+2 +0x1.547e89106c187p+15 +0x1.4bdd0bdad37f4p+1 +0x1.4c354babde5a2p+6 +0x1.ab217445e8806p+2 +0x1.295beb9d015cbp+0 +0x1.3c178927ae205p+3 +0x1.1450f9b1d7e0ap+2 +0x1.1972d17af80c4p+2 +0x1.c5fe0428e4c56p+2 +0x1.e2a0ca0902a58p+2 +0x1.40050f1e0dda6p+4 +0x1.ab0f5b5cbe9a9p+2 +0x1.ffbf63065ff37p+1 +0x1.ebd25015af7efp+2 +0x1.87105c084e131p+2 +0x1.9ab7805b47e9cp+11 +0x1.1e4d4720d7ef2p+3 +0x1.9995ba63b6dacp+2 +0x1.570dda9340ad5p+1 +0x1.0d37e025279bdp+3 +0x1.15930af19a67ap+0 +0x1.52c4d13ac7556p+1 +0x1.d4afe3033e2edp+3 +0x1.bc4ce3e05b81bp+2 +0x1.28ca99c2197bep+4 +0x1.5bfd36a452401p+3 +0x1.4a954c683d9f7p+1 +0x1.eaef03f9ec319p+2 +0x1.147deb10aeb58p+3 +0x1.561dc759c7363p+2 +0x1.e1deb8b15bcbbp+2 +0x1.02a2ec6db68c4p+0 +0x1.82e1730b161cep+3 +0x1.6a3dc0f1b1b27p+2 +0x1.f29fd1ed7d1b4p+11 +0x1.6a60f0cc3e09p+3 +0x1.d061f76e498e6p+1 +0x1.9d84575d050bep+3 +0x1.5fed658b853d5p+1 +0x1.414c1811a104bp+3 +0x1.2f08876339df7p+11 +0x1.ae1b12096087cp+1 +0x1.ee6ec92e7bc3ap+0 +0x1.1493860cfd082p+2 +0x1.18efc89dae58cp+3 +0x1.eed9c1ce5e74p+1 +0x1.249a6a313b3edp+2 +0x1.dc133f4af840cp+3 +0x1.efcdca8c30e95p+3 +0x1.3c9c09b65445dp+3 +0x1.d574ea4b92794p+1 +0x1.a66bcba98f6c9p+3 +0x1.7644e71616b2dp+10 +0x1.a6a227c3fa44dp+1 +0x1.623a704fbd828p+2 +0x1.0e9b63ff6a18ap+3 +0x1.070204bd3df0bp+0 +0x1.94cc667f44435p+3 +0x1.05b40d6d7a0eap+3 +0x1.0c880b5ddba8p+1 +0x1.1601d3dbf0f42p+0 +0x1.cfc85bfbe7dbp+2 +0x1.e86696cd9a3aep+14 +0x1.e0c87b4f83922p+2 +0x1.2a5094cc41ebap+1 +0x1.af1a8e7f7b651p+2 +0x1.1ea42ba7564c5p+2 +0x1.ef3ebb803574ep+4 +0x1.020ace350845ap+2 +0x1.acd6f50025a5ep+2 +0x1.b0c48c7a4650ep+2 +0x1.fabbab10f9e32p+3 +0x1.9c743ba443425p+2 +0x1.2f30f7d6c0f9ap+4 +0x1.255e3e1f893dcp+2 +0x1.553b7a796e5afp+2 +0x1.014bdc7ae8c9cp+3 +0x1.1feb120839cb6p+2 +0x1.1e2470f924d66p+3 +0x1.2815fc3410c54p+1 +0x1.ad3ec36eab0c4p+1 +0x1.41a27decc5321p+3 +0x1.37fd321bf8246p+11 +0x1.0fe18c7c15775p+2 +0x1.c5e96e6e5ef88p+1 +0x1.5f3c7a9d3edp+1 +0x1.645f1fc4ceaefp+3 +0x1.1d70baed42a92p+4 +0x1.982908ee27e95p+1 +0x1.da1ac7e0f50e5p+3 +0x1.8408b1da16965p+3 +0x1.07ea69eb81602p+3 +0x1.943ac0565abafp+2 +0x1.70f72c42f2fa4p+1 +0x1.caa931512d9ccp+0 +0x1.d37c0a922f53ep+11 +0x1.1115d3bbdf708p+2 +0x1.97758d953f9eap+3 +0x1.6d38642033a8bp+2 +0x1.5936c9985c226p+4 +0x1.225b0292e419p+3 +0x1.3d782f88eabfap+2 +0x1.86ae97d419887p+3 +0x1.30a650312fd29p+4 +0x1.d4b0f904c0b8fp+1 +0x1.7cd3336b0871p+3 +0x1.79149c7001b5ap+10 +0x1.adde4211ebee8p+1 +0x1.74285d2aa3221p+3 +0x1.b32734017078ep+2 +0x1.4caee06dd79p+1 +0x1.428635233b29cp+3 +0x1.0e5dbb66c6ef4p+1 +0x1.66b7ef0f2fc19p+3 +0x1.7f3e1fec8bff6p+3 +0x1.ff5c638772cf3p+1 +0x1.67c62c24bfa2ap+1 +0x1.5c4848f2b88b9p+2 +0x1.79bbc7d5db81ep+2 +0x1.b15a36d40b4abp+3 +0x1.d7c9b1629a927p+2 +0x1.18cfc24b06616p+3 +0x1.30d12d70fc1d8p+1 +0x1.b32d0c364adf9p+2 +0x1.d6f8c3ac04deap+1 +0x1.c18e11ddf22b3p+2 +0x1.d4d65ce0ad36ap+2 +0x1.059caab183b3p+3 +0x1.81c8c63d31193p+2 +0x1.8692128403472p+0 +0x1.935e2ab3038cdp+2 +0x1.048b29b245e02p+0 +0x1.4c69cb81b7388p+1 +0x1.acce1ac89ce71p+2 +0x1.fb6e57cd3fab9p+3 +0x1.01f85b7a46d1ep+3 +0x1.d615ba85056bep+2 +0x1.d58dda3813772p+2 +0x1.5aa65bd223fbdp+4 +0x1.dd9e84897a88dp+0 +0x1.4acd68cb79d98p+3 +0x1.633e226817503p+3 +0x1.391c5e7f480e5p+9 +0x1.e168900ce6c65p+2 +0x1.450c5915cd39cp+4 +0x1.374f2357b4febp+1 +0x1.ee7b6cfaabd96p+2 +0x1.6c11175481ccep+3 +0x1.73ddf5fbe529cp+0 +0x1.e0859bfe46ac8p+3 +0x1.9500c1315285bp+2 +0x1.1650f8f4cdd49p+2 +0x1.b77cedc701d89p+2 +0x1.7724553e306bap+2 +0x1.4a4a3c1d941b3p+3 +0x1.8aebffaaf6294p+2 +0x1.7cb9f8e5787d2p+2 +0x1.931bcdbbfa69ep+10 +0x1.08bf3ed2355f7p+4 +0x1.8fd4d69ab81d9p+4 +0x1.df1e61e9c9f93p+4 +0x1.804b10453568ep+2 +0x1.433364621b2e3p+2 +0x1.b2c510a8109eep+3 +0x1.f73833f6e57c2p+2 +0x1.17998c0db78c6p+0 +0x1.cba2ed68ae2acp+0 +0x1.2808d99d58639p+3 +0x1.e155e4bf28a31p+3 +0x1.38920865eff54p+1 +0x1.b58de9f24b007p+2 +0x1.c35dc8bc743e4p+3 +0x1.4b9542e403582p+2 +0x1.665d16c19e7a4p+0 +0x1.29a0f7c86dea6p+3 +0x1.c05c3500ba81fp+2 +0x1.6a81b858d5256p+2 +0x1.bca90ae95fa33p+2 +0x1.9502a0dbb15bap+8 +0x1.b337d5656a04cp+1 +0x1.b98ef5272d49ep+0 +0x1.bd9818a33e477p+3 +0x1.24c638f012bcep+4 +0x1.97d081350f5bcp+0 +0x1.4ac04f08bbb1fp+0 +0x1.0fde0076f6ddcp+3 +0x1.1fa7d7f635c4ep+3 +0x1.faf544f6d559ep+2 +0x1.0a6fff633d69cp+2 +0x1.d044fdce2368cp+1 +0x1.0bce707936dbap+2 +0x1.0e46d6ea47b06p+8 +0x1.4c64fbd064e48p+0 +0x1.e2abf9fa56543p+2 +0x1.11fabb203d56p+4 +0x1.ef99bfd22f64cp+1 +0x1.53527c7ef472dp+4 +0x1.8f8b6c0376808p+0 +0x1.7d395fcc6e5fdp+2 +0x1.a3c76c52e4ab7p+2 +0x1.b570f914ea0e9p+3 +0x1.ce5814cec175ep+2 +0x1.4c47635b3b748p+0 +0x1.8301526d5df0fp+3 +0x1.000d0f232d91p+3 +0x1.6b9deb954620ep+1 +0x1.21a9f8ba71536p+0 +0x1.4c39484b3fef7p+1 +0x1.a4ddc94a92af8p+3 +0x1.ce28d26358c96p+2 +0x1.f9e848e8538e7p+1 +0x1.101e01abbf0fp+2 +0x1.01ec5055348f2p+3 +0x1.3dd72396b5708p+2 +0x1.c1a3d84d44c19p+3 +0x1.161547a1a3f02p+3 +0x1.16cb2e8a4e8ddp+2 +0x1.1d65b9c129359p+1 +0x1.f13201f9d42c8p+0 +0x1.3ffb8c6f5c719p+3 +0x1.35772ece044fp+3 +0x1.5bf3ab9ec0d09p+2 +0x1.e655186a4391p+17 +0x1.72a9699076107p+3 +0x1.7964c6d86733cp+2 +0x1.8cfe48c73797bp+1 +0x1.64bed9fe4283fp+13 +0x1.4676063c654b2p+1 +0x1.4fa245c7f1525p+1 +0x1.5aa7224b2cfedp+2 +0x1.64e89a3c602bp+0 +0x1.90707d6890d52p+2 +0x1.89cc4f177e5aep+0 +0x1.c4598050537bdp+3 +0x1.a568a8289fb17p+3 +0x1.938aae5075479p+3 +0x1.3b3217e965a18p+1 +0x1.14fbb76578889p+2 +0x1.83b545e40d6bep+0 +0x1.4ff64e63ed46p+3 +0x1.aec06f790cfb6p+3 +0x1.93d87162abf89p+2 +0x1.ce0589d6a3552p+2 +0x1.b294c6dca104bp+1 +0x1.22ca230312b5fp+3 +0x1.be53353a4dc6ep+1 +0x1.1ae2196f2ab3p+2 +0x1.7efa999ce1c16p+2 +0x1.a18c48df91202p+3 +0x1.adf44ad7674e5p+11 +0x1.2ab050bd10206p+1 +0x1.ce4bf9485c81ap+1 +0x1.a970c0b047b9cp+1 +0x1.87e6ae1f8904dp+1 +0x1.2d3e7e884a3e6p+1 +0x1.7a296dca3bb99p+8 +0x1.eb9bca1e8c966p+2 +0x1.1a839f166f0ccp+3 +0x1.02f5be62d8178p+3 +0x1.d1f7432326867p+1 +0x1.459d82eae51a4p+2 +0x1.227d392ad4582p+2 +0x1.3a705decf24e3p+1 +0x1.cfa03e8e6850dp+2 +0x1.3e39611149686p+2 +0x1.81d809649465ap+0 +0x1.12b4c1d78c9bcp+2 +0x1.9f872a5f9be41p+1 +0x1.246cd9d5afd5ap+3 +0x1.bd5405ca907f5p+1 +0x1.ca2018229f4f6p+0 +0x1.2f4da5e8ba0c2p+2 +0x1.be8f10d8b2499p+1 +0x1.79d401b0d3a4cp+1 +0x1.01f2e309a5458p+2 +0x1.545f9f21b19a6p+3 +0x1.3ddd49809d6d4p+3 +0x1.cfb74f5f8d43ep+1 +0x1.8acbcd639b67ep+6 +0x1.88977f2166cc3p+2 +0x1.32dd6bbe48a2ap+3 +0x1.b0589ef51aa6ap+2 +0x1.2b11d0e71fec3p+3 +0x1.d59a8da811405p+1 +0x1.4531c632c62bbp+1 +0x1.1147a18517f88p+15 +0x1.3d2b69d5d6f54p+3 diff --git a/sysdeps/x86_64/fpu/libmvec-acoshf-inputs b/sysdeps/x86_64/fpu/libmvec-acoshf-inputs new file mode 100644 index 0000000000..44056a923d --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-acoshf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (1, 3.4e+38), mean = 1, standard deviation = 4 +0x1.129bd6p+2 +0x1.aba988p+0 +0x1.f7fde2p+1 +0x1.36a53ep+3 +0x1.b5a336p+1 +0x1.dad058p+2 +0x1.5edc58p+0 +0x1.51a33cp+0 +0x1.24fac4p+1 +0x1.dda8fep+0 +0x1.9ee5aap+1 +0x1.4d39dap+2 +0x1.1218aap+2 +0x1.19feacp+2 +0x1.2b3b96p+2 +0x1.5a9fecp+2 +0x1.9a0f2cp+1 +0x1.351dc8p+1 +0x1.6b7a82p+1 +0x1.53a5c4p+11 +0x1.25804p+6 +0x1.2b1ce2p+2 +0x1.2ff75cp+0 +0x1.67a7c2p+1 +0x1.eb4e22p+2 +0x1.81536ap+0 +0x1.b62a78p+2 +0x1.5b69f2p+9 +0x1.151a9p+0 +0x1.360c3p+3 +0x1.c1ef94p+2 +0x1.f097b8p+2 +0x1.dad90ep+1 +0x1.e35b92p+1 +0x1.681496p+2 +0x1.88454cp+2 +0x1.ee83c4p+1 +0x1.092838p+2 +0x1.388fbap+2 +0x1.19aa3p+1 +0x1.b6fb0ep+1 +0x1.a9598ep+1 +0x1.ccf566p+0 +0x1.cdf42ap+0 +0x1.3ae6b8p+0 +0x1.10f43cp+2 +0x1.023c02p+0 +0x1.25c0a6p+2 +0x1.f7acc2p+0 +0x1.a288d2p+0 +0x1.e191b6p+0 +0x1.8366ecp+0 +0x1.e80818p+7 +0x1.8af7c2p+1 +0x1.c14494p+2 +0x1.810738p+0 +0x1.ee5336p+1 +0x1.557e94p+1 +0x1.0225b6p+2 +0x1.18282ep+1 +0x1.eafc44p+1 +0x1.bed8dcp+0 +0x1.6214c8p+2 +0x1.6eed8p+3 +0x1.253868p+0 +0x1.d9a366p+1 +0x1.4b7e06p+2 +0x1.eabe8ep+1 +0x1.2f94d4p+2 +0x1.90e658p+0 +0x1.4d87e4p+2 +0x1.0363f6p+3 +0x1.ddd88p+0 +0x1.5e57b2p+1 +0x1.0c9706p+15 +0x1.ea7ee8p+2 +0x1.b221b8p+1 +0x1.dff5bcp+1 +0x1.f24efcp+0 +0x1.fdc882p+0 +0x1.d20ed8p+1 +0x1.b30a16p+2 +0x1.bcfd78p+0 +0x1.447036p+1 +0x1.f50ec6p+1 +0x1.1c8dc8p+1 +0x1.c10808p+2 +0x1.9949e8p+2 +0x1.92a61ap+2 +0x1.27a3ap+4 +0x1.50b87cp+1 +0x1.96fe6p+2 +0x1.c9b0f4p+2 +0x1.b3e29ep+1 +0x1.441624p+2 +0x1.17dd34p+1 +0x1.eea6d8p+14 +0x1.87c7b4p+1 +0x1.2362fcp+3 +0x1.062cacp+0 +0x1.1e5aa2p+3 +0x1.81272ep+1 +0x1.648082p+2 +0x1.67bf76p+1 +0x1.b8160ap+1 +0x1.24d542p+0 +0x1.28b9fp+0 +0x1.8e6daep+1 +0x1.bc7e1p+1 +0x1.1e9128p+1 +0x1.ebb15cp+1 +0x1.016e9ap+0 +0x1.ec8ebap+2 +0x1.b97a1ep+0 +0x1.b23d18p+0 +0x1.5b0592p+0 +0x1.748d4p+2 +0x1.3a52e4p+3 +0x1.2f5e82p+2 +0x1.2545cep+1 +0x1.a1850ap+3 +0x1.3b4f62p+1 +0x1.1f4acp+3 +0x1.67f424p+2 +0x1.443432p+2 +0x1.8f8278p+2 +0x1.231788p+1 +0x1.01da5p+2 +0x1.a77bb4p+0 +0x1.099836p+1 +0x1.2c2a22p+0 +0x1.70305ep+2 +0x1.d9e1b2p+1 +0x1.cf8ea8p+1 +0x1.2074eap+2 +0x1.166ea6p+3 +0x1.81144cp+2 +0x1.0a3974p+3 +0x1.6fa642p+2 +0x1.5f7edep+0 +0x1.4a670ap+14 +0x1.70684cp+0 +0x1.70ea3ap+2 +0x1.1ffaa4p+2 +0x1.6f3c4p+9 +0x1.c3a7cp+2 +0x1.ba6af6p+2 +0x1.9106d2p+0 +0x1.1550bp+1 +0x1.31e11p+2 +0x1.0e9f16p+2 +0x1.6ee9b4p+0 +0x1.9d18b8p+0 +0x1.d9804ep+0 +0x1.eec3p+1 +0x1.5550a2p+0 +0x1.3df5dcp+13 +0x1.da5bfp+1 +0x1.8fcd7cp+1 +0x1.064904p+16 +0x1.e5e234p+1 +0x1.00f752p+2 +0x1.269c54p+2 +0x1.5cd462p+3 +0x1.2f9b7cp+3 +0x1.6054bep+2 +0x1.040a94p+0 +0x1.0e86acp+2 +0x1.0ae548p+3 +0x1.36d24cp+15 +0x1.400c4ep+2 +0x1.7aff04p+2 +0x1.cd5be8p+1 +0x1.0b7a1ep+19 +0x1.279a5p+3 +0x1.fda50ep+0 +0x1.155c0cp+1 +0x1.3740a6p+1 +0x1.17e806p+16 +0x1.d3a2cap+1 +0x1.4a1638p+1 +0x1.58aeaep+2 +0x1.13295p+3 +0x1.4b84fp+3 +0x1.0401dap+2 +0x1.319a94p+2 +0x1.1cf9e4p+5 +0x1.80557p+2 +0x1.9ad442p+2 +0x1.5a9daap+2 +0x1.c539a2p+2 +0x1.4da646p+2 +0x1.9af0b6p+1 +0x1.273df2p+1 +0x1.b5a4e4p+12 +0x1.30f35ap+2 +0x1.daac3ap+1 +0x1.ce7dc8p+2 +0x1.4b9216p+0 +0x1.383c5p+2 +0x1.0067ccp+0 +0x1.1e0758p+1 +0x1.4e3c82p+0 +0x1.8071bcp+3 +0x1.5a75b2p+3 +0x1.d01b28p+1 +0x1.655c42p+1 +0x1.6133e4p+0 +0x1.01368ap+2 +0x1.57f07ap+2 +0x1.dc0142p+1 +0x1.67126p+2 +0x1.4b68a2p+1 +0x1.735e64p+1 +0x1.ebc824p+0 +0x1.39598cp+1 +0x1.3ed62ap+2 +0x1.dc8f42p+1 +0x1.51528p+1 +0x1.7948e8p+1 +0x1.8c5e3ap+1 +0x1.215bd4p+3 +0x1.db2206p+1 +0x1.97da3p+1 +0x1.67c664p+0 +0x1.8c1e18p+2 +0x1.8139fep+2 +0x1.8b6028p+1 +0x1.32acbap+2 +0x1.5426ecp+2 +0x1.7b4988p+2 +0x1.b045acp+1 +0x1.14e51cp+2 +0x1.5d11cp+1 +0x1.40a19p+1 +0x1.b3df1cp+2 +0x1.0086c4p+1 +0x1.7ee03ep+2 +0x1.225f8ap+1 +0x1.c27f1ap+0 +0x1.06bb1p+3 +0x1.5b1d3cp+2 +0x1.b6a936p+1 +0x1.1aa458p+2 +0x1.a34d9cp+2 +0x1.6dc0d2p+2 +0x1.e325e2p+0 +0x1.d75a2ep+2 +0x1.99ea52p+2 +0x1.21d912p+0 +0x1.657988p+1 +0x1.adfffap+6 +0x1.2ce2eep+3 +0x1.080c94p+3 +0x1.83266ap+1 +0x1.ff864ap+0 +0x1.09aa92p+0 +0x1.107ddep+3 +0x1.e6c234p+2 +0x1.155402p+0 +0x1.23d8aep+1 +0x1.70df0ep+0 +0x1.872288p+0 +0x1.065a52p+2 +0x1.e2340cp+0 +0x1.1568e8p+0 +0x1.7b45c2p+2 +0x1.dac134p+2 +0x1.410db2p+1 +0x1.52752ap+0 +0x1.0610c6p+2 +0x1.9b45d6p+2 +0x1.03f4e4p+1 +0x1.51536cp+13 +0x1.e6fe0cp+1 +0x1.a900dep+1 +0x1.2b1204p+4 +0x1.2db016p+3 +0x1.2e03a4p+3 +0x1.48ef46p+2 +0x1.92a4b4p+0 +0x1.158958p+3 +0x1.ff429cp+0 +0x1.f1e56ap+2 +0x1.9a2982p+0 +0x1.707c96p+2 +0x1.cd5cbap+1 +0x1.1a9b42p+1 +0x1.2ab67cp+0 +0x1.a61114p+1 +0x1.017ecap+2 +0x1.3575ap+2 +0x1.bb3f42p+2 +0x1.88342cp+1 +0x1.b1696ep+3 +0x1.18a7a8p+1 +0x1.94ab2p+0 +0x1.4c4082p+1 +0x1.6b01b2p+2 +0x1.de7c32p+2 +0x1.1788fap+1 +0x1.2b4334p+0 +0x1.763b48p+0 +0x1.09e522p+1 +0x1.055f02p+2 +0x1.084e06p+1 +0x1.046484p+1 +0x1.3a1c4cp+1 +0x1.8576c8p+1 +0x1.e8f5fap+1 +0x1.329ec4p+0 +0x1.47f0bp+2 +0x1.b25fd4p+1 +0x1.6e54c4p+0 +0x1.b22bc8p+1 +0x1.1b379cp+3 +0x1.22b454p+2 +0x1.8caddep+3 +0x1.28f198p+2 +0x1.f0942ep+0 +0x1.8b80b4p+2 +0x1.a811c4p+1 +0x1.112062p+2 +0x1.64ff8ep+2 +0x1.cc93a6p+0 +0x1.37708p+1 +0x1.05c97ep+11 +0x1.408ab6p+0 +0x1.47ae5ap+11 +0x1.463b0ap+0 +0x1.3bbbb2p+2 +0x1.8f3818p+1 +0x1.b7e79cp+1 +0x1.c1d222p+2 +0x1.34c2fep+1 +0x1.52278ap+2 +0x1.e128b2p+1 +0x1.97de38p+2 +0x1.8ae6ecp+1 +0x1.337794p+3 +0x1.4c0cc2p+2 +0x1.22f196p+0 +0x1.00432ep+10 +0x1.0d9cfap+2 +0x1.054542p+9 +0x1.4284ap+1 +0x1.352f6p+2 +0x1.23e162p+2 +0x1.89e96p+1 +0x1.452868p+2 +0x1.08ef7ap+3 +0x1.441f54p+0 +0x1.49ea6cp+2 +0x1.36b1bep+1 +0x1.0010e4p+2 +0x1.1d7722p+3 +0x1.0aa2ecp+10 +0x1.4f69a8p+1 +0x1.2125e2p+2 +0x1.5f124p+2 +0x1.c4697ap+2 +0x1.a0d5dap+2 +0x1.2cb8e8p+2 +0x1.4e443ep+2 +0x1.aba9dep+0 +0x1.4adc7p+2 +0x1.e2d34p+0 +0x1.083102p+13 +0x1.2ce84ap+2 +0x1.3e9e82p+1 +0x1.d2dc56p+1 +0x1.952d96p+1 +0x1.a47af4p+1 +0x1.4b514p+0 +0x1.77a112p+1 +0x1.7c02c2p+1 +0x1.04f258p+3 +0x1.65b91ep+1 +0x1.f943c8p+1 +0x1.0c1c5p+0 +0x1.196c06p+1 +0x1.54317cp+2 +0x1.1603d6p+1 +0x1.70ddeep+2 +0x1.6e475ep+1 +0x1.68b9c4p+0 +0x1.2257fp+2 +0x1.8213b6p+1 +0x1.fcaceap+0 +0x1.7ee456p+0 +0x1.140b78p+2 +0x1.88a22ep+2 +0x1.8e3256p+0 +0x1.c081eep+0 +0x1.4f0c9cp+2 +0x1.c82d28p+1 +0x1.1565e2p+1 +0x1.366984p+2 +0x1.371c64p+1 +0x1.155dfap+2 +0x1.382f76p+1 +0x1.97f598p+8 +0x1.dc4244p+1 +0x1.3f8678p+1 +0x1.2b23cp+0 +0x1.ce84e8p+10 +0x1.3aeb94p+9 +0x1.301e4ep+0 +0x1.cd8134p+1 +0x1.b5199cp+2 +0x1.74bb7cp+1 +0x1.25ee5p+1 +0x1.481adcp+1 +0x1.16aefep+1 +0x1.4690eap+8 +0x1.1abf78p+2 +0x1.ee593ep+1 +0x1.f965fep+2 +0x1.94ff34p+2 +0x1.4641b6p+2 +0x1.b25bbp+0 +0x1.2fb4c4p+12 +0x1.89b6ep+1 +0x1.e540eep+1 +0x1.01f6e6p+12 +0x1.cc1d66p+16 +0x1.272826p+2 +0x1.712424p+2 +0x1.308b9cp+2 +0x1.08756p+2 +0x1.e3b362p+5 +0x1.cadb3p+2 +0x1.e3db4cp+0 +0x1.239af2p+2 +0x1.bff1c8p+1 +0x1.256d42p+2 +0x1.0b1e0ep+3 +0x1.298324p+2 +0x1.558474p+1 +0x1.96ad6p+8 +0x1.bcf8f4p+0 +0x1.1ad114p+2 +0x1.e4657ep+1 +0x1.a24156p+2 +0x1.d0d6fep+1 +0x1.238fb8p+1 +0x1.80b57p+0 +0x1.341fb8p+1 +0x1.0d772cp+0 +0x1.a4e124p+10 +0x1.4b93dap+2 +0x1.1be722p+3 +0x1.b295f6p+3 +0x1.563f76p+3 +0x1.230504p+2 +0x1.4a3882p+2 +0x1.03535p+1 +0x1.35fb74p+1 +0x1.51bd4ap+2 +0x1.0b9bacp+3 +0x1.66eadp+1 +0x1.21e4d4p+1 +0x1.a7adb2p+2 +0x1.ba3954p+1 +0x1.72a97p+2 +0x1.155b2p+2 +0x1.3906bep+0 +0x1.40e136p+1 +0x1.10d732p+3 +0x1.560174p+2 +0x1.27256cp+3 +0x1.0eef8ap+1 +0x1.710ac6p+1 +0x1.97b0c4p+0 +0x1.6425fep+2 +0x1.5cc11ep+0 +0x1.cb693ap+2 +0x1.1e9ad2p+3 +0x1.4839d8p+0 +0x1.3338d4p+3 +0x1.4ba93p+1 +0x1.a2d4d4p+1 +0x1.6a741ap+2 +0x1.d3b1b6p+1 +0x1.c81e28p+2 +0x1.1e7aacp+0 +0x1.37e296p+0 +0x1.7423a8p+0 +0x1.ac787p+0 +0x1.871decp+0 +0x1.e448ep+2 +0x1.f131b2p+1 +0x1.4e4e5p+2 +0x1.47bb5ap+2 +0x1.5803f6p+2 +0x1.911074p+0 +0x1.2f76ep+1 +0x1.55808p+2 +0x1.76e9dep+1 +0x1.62d67ap+2 +0x1.0b328ep+0 +0x1.30bd34p+2 +0x1.69e346p+1 +0x1.5fa88cp+2 +0x1.ba2cb4p+0 +0x1.d0a7c4p+2 +0x1.4f8dcap+2 +0x1.09470ep+16 +0x1.107bccp+9 +0x1.7cfbfcp+1 +0x1.7d2e78p+0 +0x1.58af72p+2 +0x1.4336b2p+3 +0x1.2c65e8p+0 +0x1.523ab4p+1 +0x1.7e2cf6p+2 +0x1.9ce4dap+2 +0x1.2a5cp+1 +0x1.f631f2p+1 +0x1.813196p+1 +0x1.39a5d4p+0 +0x1.1df3bap+2 +0x1.b10a56p+2 +0x1.d1c47p+0 +0x1.fb950ep+0 +0x1.60a67ap+2 +0x1.4fd826p+2 +0x1.e8e118p+1 +0x1.c28b72p+1 +0x1.8e780ap+1 +0x1.78f41ep+2 +0x1.5be246p+2 +0x1.64956ap+18 +0x1.a31018p+1 +0x1.11a808p+1 +0x1.0ce35ep+1 +0x1.a9b29ap+1 +0x1.37d736p+2 +0x1.d0f4ap+1 +0x1.765732p+2 +0x1.438a14p+0 +0x1.43a13p+2 +0x1.12009cp+1 +0x1.e9df4cp+8 +0x1.23fbe4p+2 +0x1.7cc7a6p+0 +0x1.1565fcp+1 +0x1.81d11p+1 +0x1.3bc42cp+2 +0x1.84afcap+2 +0x1.d8738p+0 +0x1.22db3p+3 +0x1.eb8aap+1 +0x1.6fa006p+2 +0x1.c9ed18p+2 +0x1.9c48d2p+1 +0x1.872fe2p+2 +0x1.bb0d5cp+0 +0x1.00d4acp+0 +0x1.ef5d5cp+1 +0x1.40c424p+2 +0x1.816716p+2 +0x1.b5f8e8p+0 +0x1.9767d4p+2 +0x1.676b56p+2 +0x1.6bc056p+2 +0x1.454068p+2 +0x1.7a3ed8p+0 +0x1.2651e8p+2 +0x1.8efcb8p+1 +0x1.99ac58p+1 +0x1.f97b3cp+2 +0x1.70398ap+11 +0x1.bb7eap+1 +0x1.0a4fe2p+3 +0x1.f54df2p+1 +0x1.70fd8ap+0 +0x1.f2cc5cp+0 +0x1.74d578p+2 +0x1.1e3e76p+2 +0x1.72515p+1 +0x1.8077ap+2 +0x1.65bbacp+1 +0x1.8157a4p+1 +0x1.7f232p+2 +0x1.c69fe4p+2 +0x1.791c9ep+3 +0x1.6acbe8p+1 +0x1.5a2704p+0 +0x1.3109bp+2 +0x1.136c7p+0 +0x1.519c1p+2 +0x1.639e82p+2 +0x1.89ef2cp+3 +0x1.8e23cp+2 +0x1.2b4784p+2 +0x1.bf41a2p+0 +0x1.59e09cp+1 +0x1.2d1aecp+2 +0x1.0be3dap+3 +0x1.28cab8p+0 +0x1.0b4ae8p+1 +0x1.8454b4p+1 +0x1.266674p+1 +0x1.3af01p+2 +0x1.732846p+0 +0x1.57c5e8p+2 +0x1.cde488p+1 +0x1.7a2fbcp+2 +0x1.1ca052p+8 +0x1.1718a8p+1 +0x1.d13136p+1 +0x1.8222cap+1 +0x1.432f26p+5 +0x1.db7986p+2 +0x1.3a7518p+1 +0x1.d765a8p+0 +0x1.17d3ecp+2 +0x1.723448p+1 +0x1.12e388p+2 +0x1.604b96p+2 +0x1.10dcc8p+3 +0x1.a4f3fap+2 +0x1.50fbf6p+0 +0x1.d77f4cp+1 +0x1.458c6ep+0 +0x1.e9b928p+0 +0x1.0ea7b4p+0 +0x1.15914p+2 +0x1.99fde2p+14 +0x1.c733f8p+2 +0x1.1e137ap+2 +0x1.e199a4p+12 +0x1.6926dcp+1 +0x1.5f178p+1 +0x1.2ce5f4p+1 +0x1.96769cp+1 +0x1.0d012ap+3 +0x1.5bc9b6p+1 +0x1.100d38p+2 +0x1.6c952cp+0 +0x1.3245ccp+2 +0x1.e912e2p+0 +0x1.10e0b4p+1 +0x1.a35af8p+1 +0x1.3f36aap+2 +0x1.1ecd52p+1 +0x1.5762eap+0 +0x1.3ea25p+14 +0x1.5719bcp+0 +0x1.4855c4p+2 +0x1.25943ep+2 +0x1.065d7ep+2 +0x1.5738e4p+3 +0x1.58e1e6p+2 +0x1.7e7aaep+2 +0x1.297034p+12 +0x1.0e1a16p+2 +0x1.5446e2p+1 +0x1.903de4p+0 +0x1.2b8726p+2 +0x1.af4598p+2 +0x1.150fd2p+2 +0x1.055508p+2 +0x1.387a9ap+1 +0x1.20701ap+6 +0x1.0b573p+3 +0x1.38cb5ep+2 +0x1.90ae38p+2 +0x1.b7e574p+2 +0x1.6a07d8p+8 +0x1.60a3dp+1 +0x1.e217aap+2 +0x1.1d4ffap+8 +0x1.8004c4p+1 +0x1.0a77bp+1 +0x1.9f939p+1 +0x1.10f12cp+1 +0x1.ff5a82p+1 +0x1.e3f294p+0 +0x1.0af0ecp+0 +0x1.833aeep+0 +0x1.1a5a8cp+2 +0x1.74111cp+2 +0x1.b80dd4p+2 +0x1.2afdecp+2 +0x1.b74752p+2 +0x1.c0d06ap+1 +0x1.72f2aap+1 +0x1.278cd4p+2 +0x1.0c39bap+0 +0x1.085794p+3 +0x1.d4765ap+0 +0x1.2fe138p+0 +0x1.4ea7cp+2 +0x1.236422p+2 +0x1.a03424p+2 +0x1.525b5cp+2 +0x1.4839c6p+1 +0x1.0c90d8p+3 +0x1.2f3c0cp+3 +0x1.747afp+1 +0x1.1aaedep+1 +0x1.92ce78p+0 +0x1.f71fccp+1 +0x1.99a7b2p+1 +0x1.ae1652p+1 +0x1.732f88p+2 +0x1.a86e96p+2 +0x1.b10bd6p+2 +0x1.95e84p+2 +0x1.14ec26p+2 +0x1.842e66p+1 +0x1.bd726cp+0 +0x1.9318ccp+2 +0x1.770f52p+1 +0x1.3d3d64p+0 +0x1.fa1684p+0 +0x1.649c16p+1 +0x1.4e768ap+2 +0x1.3e6982p+2 +0x1.d0a49p+6 +0x1.bc991cp+1 +0x1.540ecep+5 +0x1.43c988p+0 +0x1.d3c6f6p+2 +0x1.b21ca6p+2 +0x1.e4f4eep+8 +0x1.2a3968p+1 +0x1.76653ep+2 +0x1.d49e9cp+1 +0x1.a57ca8p+2 +0x1.d2e28ep+0 +0x1.88a9b8p+0 +0x1.c7bccep+11 +0x1.fcc6dp+0 +0x1.ea6136p+2 +0x1.c0e748p+2 +0x1.864e74p+0 +0x1.14ab86p+2 +0x1.27ed44p+2 +0x1.06d0b6p+1 +0x1.783b96p+2 +0x1.f9c44ap+11 +0x1.3e5e7ap+1 +0x1.254f8ep+2 +0x1.d88e24p+2 +0x1.379636p+3 +0x1.3eddd6p+3 +0x1.441e5cp+0 +0x1.6ac5f8p+0 +0x1.52f59cp+0 +0x1.3f6d0ap+3 +0x1.b45d46p+2 +0x1.53f298p+0 +0x1.5b099p+0 +0x1.fe991p+1 +0x1.36fa18p+0 +0x1.d545f6p+6 +0x1.d93f94p+2 +0x1.976682p+0 +0x1.043dap+2 +0x1.7a599ep+1 +0x1.3723e8p+3 +0x1.47a148p+1 +0x1.950ea2p+2 +0x1.832b74p+0 +0x1.166a6ep+3 +0x1.1f71f6p+0 +0x1.668d4cp+2 +0x1.0717dep+2 +0x1.43bcf4p+1 +0x1.99d01ap+0 +0x1.31d05ap+0 +0x1.88f1b4p+0 +0x1.c763d8p+0 +0x1.73a8a2p+11 +0x1.01487ap+6 +0x1.413eecp+1 +0x1.7c816ep+1 +0x1.b2067ap+0 +0x1.9ed2eap+1 +0x1.6de682p+1 +0x1.65034cp+2 +0x1.f45266p+1 +0x1.298deep+1 +0x1.fdb5cep+2 +0x1.a74d8ap+0 +0x1.aebee4p+1 +0x1.f10c94p+2 +0x1.1b857ap+2 +0x1.56d28ep+1 +0x1.205ecep+2 +0x1.78554ep+1 +0x1.3cee68p+3 +0x1.f4c57cp+2 +0x1.bfbfd8p+2 +0x1.9a65d8p+2 +0x1.f7dbecp+5 +0x1.2bd488p+1 +0x1.841838p+0 +0x1.bdb73p+1 +0x1.0a769ep+1 +0x1.0a97ecp+1 +0x1.bc7b8cp+2 +0x1.904a42p+14 +0x1.ec762cp+1 +0x1.04beb8p+3 +0x1.5ebe06p+11 +0x1.155486p+1 +0x1.adaf5cp+1 +0x1.95849ep+2 +0x1.fe5a36p+2 +0x1.d70696p+2 +0x1.4440fap+3 +0x1.71fb48p+2 +0x1.168dc2p+1 +0x1.851566p+0 +0x1.69b1a2p+2 +0x1.d2d60cp+2 +0x1.73f3a2p+2 +0x1.c1dda4p+0 +0x1.0a319p+7 +0x1.aa050ap+0 +0x1.884e4p+1 +0x1.186b0ep+2 +0x1.1fa628p+2 +0x1.5e56b2p+1 +0x1.74d4d8p+0 +0x1.3d29dep+2 +0x1.4a9deep+2 +0x1.51638cp+1 +0x1.07d23ap+1 +0x1.556948p+3 +0x1.a1a824p+1 +0x1.0c490ep+1 +0x1.06e178p+1 +0x1.da8406p+2 +0x1.e607cap+2 +0x1.605c78p+2 +0x1.6912bep+2 +0x1.aa1dfap+0 +0x1.156156p+2 +0x1.38a756p+0 +0x1.591f9ap+2 +0x1.165e76p+2 +0x1.17e91p+2 +0x1.cc2f3p+2 +0x1.442cc8p+0 +0x1.77e086p+0 +0x1.6e163ep+1 +0x1.6fefa2p+0 +0x1.7bbc96p+1 +0x1.d7275ap+1 +0x1.2b9a4cp+3 +0x1.6160a4p+1 +0x1.4e7168p+2 +0x1.ed460ep+1 +0x1.35f1a8p+2 +0x1.01975ap+2 +0x1.5f9604p+1 +0x1.894cfap+2 +0x1.29253ap+0 +0x1.8c99e8p+14 +0x1.2277bcp+2 +0x1.ad9bdap+2 +0x1.64d94cp+3 +0x1.43f74p+1 +0x1.c5d26p+0 +0x1.12f5b4p+1 +0x1.033aa6p+3 +0x1.01f3c2p+0 +0x1.066c7cp+2 +0x1.c296cep+1 +0x1.f9051ep+2 +0x1.eb220ep+1 +0x1.342de2p+6 +0x1.eed15ep+2 +0x1.344ca4p+3 +0x1.a7aa5p+2 +0x1.0996bap+3 +0x1.19f9b6p+11 +0x1.47e01ap+0 +0x1.bdb5e2p+2 +0x1.e16dbp+1 +0x1.1768fep+1 +0x1.dfcab6p+7 +0x1.08a8bap+2 +0x1.50cf48p+2 +0x1.1f59p+2 +0x1.284a0cp+1 +0x1.44ab2p+1 +0x1.20f0e6p+1 +0x1.fc5d9p+2 +0x1.b6b89cp+1 +0x1.7b995p+10 +0x1.2845b4p+2 +0x1.78ef1ep+1 +0x1.37e5acp+2 +0x1.d28358p+0 +0x1.3e3f2ep+2 +0x1.3de4cp+0 +0x1.c818c4p+1 +0x1.0b95bap+2 +0x1.0c1fc8p+1 +0x1.54065cp+2 +0x1.47257p+1 +0x1.21fcd4p+2 +0x1.401ceep+0 +0x1.39764cp+2 +0x1.5a831ep+1 +0x1.14d93cp+1 +0x1.418ecap+8 +0x1.4323cp+0 +0x1.055dd2p+2 +0x1.a78816p+0 +0x1.acd1ecp+2 +0x1.ca7ee4p+2 +0x1.19f76p+2 +0x1.0c8fd8p+0 +0x1.73cd96p+1 +0x1.957edcp+2 +0x1.c451fp+1 +0x1.9b806ep+1 +0x1.6696a6p+18 +0x1.88318ep+1 +0x1.d5dadp+1 +0x1.234be6p+2 +0x1.583ef2p+2 +0x1.25ef3ap+1 +0x1.452f4ap+3 +0x1.c56a24p+2 +0x1.dc79f6p+2 +0x1.05abf2p+3 +0x1.1628d4p+1 +0x1.9c936cp+0 +0x1.c3939ep+1 +0x1.ab5fep+1 +0x1.048a52p+1 +0x1.97db52p+13 +0x1.aa9a7cp+0 +0x1.29d28ep+3 +0x1.5ce528p+2 +0x1.91d966p+2 +0x1.be1ecap+2 +0x1.d64dap+1 +0x1.71e9d2p+6 +0x1.80c83p+1 +0x1.1acebep+2 +0x1.d4b134p+10 +0x1.2e3d2ap+3 +0x1.33e0e4p+0 +0x1.3b575ap+1 +0x1.e2e8c4p+0 +0x1.b75cf4p+1 +0x1.24f6fp+0 +0x1.295c04p+2 +0x1.240b86p+2 +0x1.cc1eap+2 +0x1.23bc76p+1 +0x1.327bcep+1 +0x1.77a43cp+1 +0x1.5bf078p+3 +0x1.23660ap+0 +0x1.49b086p+1 +0x1.150fb2p+2 +0x1.587584p+2 +0x1.f9882cp+1 +0x1.3909dcp+2 +0x1.89d3e2p+2 +0x1.b50b8p+0 +0x1.76bc06p+0 +0x1.5b42ap+1 +0x1.694ebcp+3 +0x1.34d168p+2 +0x1.7bb3dap+0 +0x1.43f2c6p+0 +0x1.a605d6p+1 +0x1.36d90ep+0 +0x1.325134p+2 +0x1.817c12p+1 +0x1.7a015ap+1 +0x1.2ed8aep+1 +0x1.864dap+3 +0x1.6b4508p+2 +0x1.ebc3e6p+2 +0x1.4aeeaap+2 +0x1.a59228p+2 +0x1.6eeb7p+1 +0x1.6dc4dep+2 +0x1.70dc76p+2 +0x1.551f3ap+2 +0x1.dd20cp+1 +0x1.dde2c4p+1 +0x1.83f43cp+2 +0x1.35dcc2p+2 +0x1.0306bp+0 +0x1.7656d4p+1 +0x1.36eb16p+1 +0x1.92371ap+2 +0x1.22c334p+3 +0x1.33c07p+2 +0x1.42af36p+2 +0x1.2473ep+2 +0x1.f20674p+5 +0x1.95067ep+1 +0x1.73b2fep+2 +0x1.a29d8ep+1 +0x1.5a2c82p+1 +0x1.b15c2cp+2 +0x1.e68408p+1 +0x1.f926bap+0 +0x1.0dfa86p+3 +0x1.733e5ep+2 +0x1.41488cp+0 +0x1.cc6cd2p+2 +0x1.478dbap+1 +0x1.df1e2ep+0 +0x1.2535e2p+1 +0x1.87b24p+2 +0x1.f95ea2p+1 +0x1.9efe54p+2 +0x1.7c655p+0 +0x1.1b9b8p+2 +0x1.23193p+1 +0x1.aea91cp+1 +0x1.475236p+2 +0x1.e0de76p+2 +0x1.be773cp+2 +0x1.0ad8e4p+1 +0x1.50218ap+0 +0x1.3bce2ap+1 +0x1.34a188p+0 +0x1.7803c4p+2 +0x1.4da5a4p+3 +0x1.14e7ccp+2 +0x1.47a944p+3 +0x1.37e516p+0 +0x1.fd8978p+1 +0x1.494fbep+1 +0x1.2cb7ccp+1 +0x1.d346b2p+1 +0x1.8bb01p+1 +0x1.94667ap+7 +0x1.90a0b6p+1 +0x1.2a114ep+3 +0x1.8f28e4p+2 +0x1.cfbdfp+0 +0x1.c18ac8p+5 +0x1.39254cp+2 +0x1.de629ap+0 +0x1.8af95ap+2 +0x1.e4fe9ep+0 +0x1.064714p+1 +0x1.726baep+1 +0x1.03e6cep+1 +0x1.f291e8p+1 +0x1.86425cp+14 +0x1.fda476p+2 +0x1.1613e8p+1 +0x1.2ea474p+2 +0x1.d1f1e6p+0 +0x1.8667fp+0 +0x1.617ce6p+2 +0x1.2fc1a4p+1 +0x1.72672p+0 +0x1.20556ap+2 +0x1.e55176p+0 +0x1.7aec3cp+2 +0x1.a230a8p+2 +0x1.a48edp+0 +0x1.4a3706p+2 +0x1.c6db8ep+2 +0x1.780e56p+1 +0x1.ad38p+0 +0x1.69a384p+0 +0x1.9b3e4ep+1 +0x1.89dc7p+1 +0x1.f7e54ep+17 +0x1.23baeap+7 +0x1.19a63ep+1 +0x1.032924p+1 +0x1.6d226ap+2 +0x1.df430ap+1 +0x1.0fab86p+2 +0x1.154472p+1 +0x1.fe8832p+2 +0x1.5e1ad8p+2 +0x1.04578ap+2 +0x1.d6d51p+1 +0x1.ae8bcap+1 +0x1.3e150cp+1 +0x1.2208b8p+1 +0x1.a837fep+0 +0x1.bd5af6p+0 +0x1.6ddf2ap+0 +0x1.bb3b4ep+2 +0x1.1deee2p+2 +0x1.0284d2p+3 +0x1.57c55ap+15 +0x1.2709b4p+2 +0x1.e8a392p+2 +0x1.4c3a34p+0 +0x1.200098p+1 +0x1.7895p+18 +0x1.090226p+3 +0x1.d81b82p+1 +0x1.8b1116p+1 +0x1.c1a3dp+2 +0x1.b0b028p+0 +0x1.09a5dep+2 +0x1.ef0586p+1 +0x1.04c174p+14 +0x1.701c04p+1 +0x1.86bf12p+2 +0x1.d9c028p+0 +0x1.bfd8a8p+0 +0x1.69c03cp+1 +0x1.97739ep+3 +0x1.b54166p+0 +0x1.9af0fp+1 +0x1.18d5bap+0 +0x1.df3f78p+2 +0x1.29d012p+3 +0x1.d6b216p+1 +0x1.c0027cp+1 +0x1.8fbcd6p+0 +0x1.f1cdb6p+1 +0x1.5b40f2p+2 +0x1.ed71a2p+0 +0x1.0759acp+3 +0x1.828d0ap+1 +0x1.ec3p+0 +0x1.d5cb6cp+2 +0x1.27fd82p+2 +0x1.0b6e7p+2 +0x1.043e28p+3 +0x1.98d238p+19 +0x1.329a7ap+3 +0x1.2c925cp+2 +0x1.3a3a16p+2 +0x1.343f08p+1 +0x1.0f8f2ep+3 +0x1.c03e76p+1 +0x1.6d523cp+3 +0x1.f1c602p+10 +0x1.e5c3ecp+1 +0x1.534ba4p+19 +0x1.a1eef6p+0 +0x1.9dc32cp+1 +0x1.29db52p+3 +0x1.28af4ep+0 +0x1.afd78cp+1 +0x1.79bb02p+0 +0x1.4448d4p+2 +0x1.73f088p+3 +0x1.104d6ep+1 +0x1.b3fb26p+3 +0x1.4f2928p+3 +0x1.8bee68p+5 +0x1.2f255ap+2 +0x1.10ecbep+3 +0x1.00a6ep+2 +0x1.04992ep+2 +0x1.2b75bp+0 +0x1.6208b4p+0 +0x1.9841a4p+1 +0x1.279b74p+2 +0x1.3537cap+2 +0x1.5a7002p+1 +0x1.9546cep+1 +0x1.e8aec6p+2 +0x1.76c192p+0 +0x1.a70cb2p+0 +0x1.54984ap+1 +0x1.3a3cp+3 +0x1.7f8296p+0 +0x1.2112acp+3 +0x1.331ccap+1 +0x1.c13a12p+0 +0x1.d6ef8ap+1 +0x1.304cb6p+2 +0x1.fdea44p+2 +0x1.717a44p+1 +0x1.afee8ep+1 +0x1.a784b4p+1 +0x1.1df1e8p+1 +0x1.e70c74p+10 +0x1.28841ep+0 +0x1.fbdacp+2 +0x1.0c1ap+0 +0x1.606a82p+1 +0x1.61cc1ep+2 +0x1.03618ap+0 +0x1.3c5f32p+0 +0x1.5f48ep+0 +0x1.8c04a6p+0 +0x1.394e12p+2 +0x1.f64dfep+1 +0x1.bcb9b2p+2 +0x1.c9846p+0 +0x1.02c504p+3 +0x1.59b15ap+1 +0x1.55ef84p+0 +0x1.ad417p+10 +0x1.19623cp+2 +0x1.fd8262p+0 +0x1.d71a04p+2 +0x1.8fb78p+1 +0x1.0e5626p+2 +0x1.91adc2p+2 +0x1.7fb3ccp+1 +0x1.9235dcp+2 +0x1.25a412p+3 +0x1.79791ep+0 +0x1.654f7cp+2 +0x1.2b377ep+2 +0x1.e19fecp+7 +0x1.6e34b2p+2 +0x1.b6e0ccp+2 +0x1.bfc06cp+2 +0x1.facdaep+1 +0x1.6dfb8ap+1 +0x1.e2b564p+1 +0x1.584802p+1 +0x1.e9b9fcp+2 +0x1.91696cp+0 +0x1.4e0452p+6 +0x1.91037p+2 +0x1.8319c8p+2 +0x1.322294p+2 +0x1.201328p+2 +0x1.047352p+1 +0x1.edd954p+0 +0x1.c35a3p+0 +0x1.f90c6ap+2 +0x1.5131fap+0 +0x1.ba6724p+2 +0x1.334b18p+1 +0x1.ab1596p+1 +0x1.785838p+1 +0x1.f109ccp+0 +0x1.1d8a26p+2 +0x1.53e87cp+2 +0x1.d09088p+1 +0x1.fce128p+1 +0x1.6cb25p+1 +0x1.1e3338p+3 +0x1.4c6c94p+2 +0x1.8f966ap+0 +0x1.7b52f8p+0 +0x1.cb3e7ep+1 +0x1.779ea4p+1 +0x1.061f42p+6 +0x1.3c7cb4p+3 +0x1.0c5cf2p+1 +0x1.88f944p+14 +0x1.3d718ap+1 +0x1.4db7cep+3 +0x1.d17df8p+2 +0x1.4032d2p+2 +0x1.b51d76p+1 +0x1.402f5p+0 +0x1.13eb72p+1 +0x1.425e6p+1 +0x1.b6e69ep+1 +0x1.b895dp+2 +0x1.2edeb6p+2 +0x1.775b78p+0 +0x1.9c56dcp+0 +0x1.08d55ap+2 +0x1.c3e04ap+2 +0x1.5200f6p+1 +0x1.3fe1f8p+2 +0x1.cf22f2p+2 +0x1.1f9d6ap+3 +0x1.3d375ep+3 +0x1.1cc888p+4 +0x1.eb2458p+1 +0x1.d45b08p+9 +0x1.894988p+0 +0x1.eeeb48p+12 +0x1.bd96e6p+1 +0x1.a14d2p+2 +0x1.16cf28p+2 +0x1.d79dd4p+0 +0x1.8d3db2p+3 +0x1.a66fb4p+2 +0x1.f34c78p+1 +0x1.6d60d6p+2 +0x1.271524p+1 +0x1.a4be86p+1 +0x1.2bfb48p+12 +0x1.92db8p+1 +0x1.e7076ap+1 +0x1.664128p+1 +0x1.6af128p+0 +0x1.38cfap+7 +0x1.371866p+1 +0x1.1a0848p+2 +0x1.75ba1cp+9 +0x1.bf45a6p+1 +0x1.3e1a7ap+2 +0x1.c6506ap+0 +0x1.870d04p+1 +0x1.2c7862p+1 +0x1.862e9ep+2 +0x1.08d0c4p+2 +0x1.110af2p+12 +0x1.4e904p+1 +0x1.83605cp+1 +0x1.6b747ap+0 +0x1.16b3aep+0 +0x1.373f84p+3 +0x1.b3d1e2p+1 +0x1.a7d708p+2 +0x1.51acccp+0 +0x1.df4bbp+1 +0x1.3c1ce4p+2 +0x1.ef2fcep+1 +0x1.23526p+3 +0x1.9a2818p+1 +0x1.2da29cp+2 +0x1.4a8cf2p+2 +0x1.007ap+0 +0x1.3536c8p+2 +0x1.b289e8p+2 +0x1.dac9d8p+2 +0x1.8f65dcp+3 +0x1.13e87cp+2 +0x1.e29cb2p+0 +0x1.0111aap+2 +0x1.18f32ep+10 +0x1.1e16eap+3 +0x1.84f46ap+0 +0x1.a873b6p+0 +0x1.1a7a8cp+2 +0x1.dd5d26p+1 +0x1.1ef20cp+2 +0x1.231ea2p+12 +0x1.4d4e3cp+3 +0x1.cac8dcp+2 +0x1.311c3p+2 +0x1.dc2278p+2 +0x1.23e0bap+1 +0x1.0a2398p+3 +0x1.9cf136p+1 +0x1.21315ep+2 +0x1.d539d6p+11 +0x1.03f158p+3 +0x1.4ea45cp+2 +0x1.f0b79cp+1 +0x1.438c5ep+0 +0x1.fedad4p+1 +0x1.15a698p+2 +0x1.ff549cp+1 +0x1.bd9148p+1 +0x1.826c38p+0 +0x1.583f9p+2 +0x1.931824p+1 +0x1.52b652p+2 +0x1.57f70ep+2 +0x1.b9e054p+2 +0x1.7c6d5ep+2 +0x1.936f28p+2 +0x1.484622p+0 +0x1.566724p+1 +0x1.cab742p+2 +0x1.178328p+1 +0x1.5aba34p+2 +0x1.3f119ap+0 +0x1.ff7758p+3 +0x1.5ae1f8p+0 +0x1.e45f58p+0 +0x1.8ac678p+2 +0x1.f5380ep+14 +0x1.6e6f44p+0 +0x1.86700ap+2 +0x1.c52df8p+2 +0x1.649b54p+2 +0x1.943b58p+2 +0x1.d9437ap+0 +0x1.5ed158p+2 +0x1.6db418p+0 +0x1.e7eddcp+0 +0x1.88aab4p+2 +0x1.ea46cp+0 +0x1.1c4a76p+1 +0x1.15f292p+0 +0x1.226c72p+10 +0x1.4c56dp+2 +0x1.7c85c6p+4 +0x1.967f16p+9 +0x1.0c8232p+2 +0x1.20c006p+0 +0x1.1a57e2p+2 +0x1.789934p+2 +0x1.b550f4p+0 +0x1.8c296ap+2 +0x1.66fa9cp+0 +0x1.219426p+2 +0x1.d67718p+1 +0x1.47fb64p+2 +0x1.e8e57cp+2 +0x1.a9138cp+1 +0x1.115aeap+2 +0x1.35cae2p+1 +0x1.000572p+3 +0x1.32d7d2p+2 +0x1.3fd8bap+1 +0x1.d7c60cp+15 +0x1.09eedap+1 +0x1.86d1dp+2 +0x1.6b5224p+0 +0x1.356662p+3 +0x1.3a750cp+0 +0x1.1cf828p+1 +0x1.f05f56p+1 +0x1.136cdcp+12 +0x1.846434p+2 +0x1.24aa0ep+2 +0x1.733964p+2 +0x1.7d5614p+2 +0x1.29ca3p+1 +0x1.4eb1e6p+0 +0x1.bdd5b8p+1 +0x1.6090c2p+2 +0x1.6f073p+2 +0x1.0577acp+1 +0x1.c357fap+1 +0x1.6598d8p+2 +0x1.78f7b4p+2 +0x1.7e01aep+2 +0x1.01275ap+2 +0x1.11d402p+18 +0x1.79600cp+2 +0x1.d7d41ap+2 +0x1.37279ep+2 +0x1.3dd808p+13 +0x1.e2bf2cp+2 +0x1.4b30e4p+0 +0x1.2d1368p+1 +0x1.a03b2p+2 +0x1.314f72p+1 +0x1.305aacp+1 +0x1.bb49c8p+0 +0x1.27ddd4p+0 +0x1.d00b1ep+2 +0x1.011b98p+2 +0x1.7083dep+1 +0x1.781cfp+2 +0x1.760cecp+2 +0x1.86315cp+1 +0x1.5aafbep+2 +0x1.1095e8p+0 +0x1.5e16cep+0 +0x1.6aeae4p+0 +0x1.1b05bep+0 +0x1.c0ed04p+1 +0x1.628e5ep+2 +0x1.3d2c94p+2 +0x1.168256p+1 +0x1.0d54fap+1 +0x1.4eb2acp+2 +0x1.b9b85ap+1 +0x1.7d8e2ep+1 +0x1.516522p+0 +0x1.7e5568p+2 +0x1.3993f8p+1 +0x1.6aaf46p+8 +0x1.a49812p+0 +0x1.78d508p+1 +0x1.e1264ep+11 +0x1.162194p+1 +0x1.3b0f5ap+1 +0x1.34c27cp+1 +0x1.a124d6p+3 +0x1.4f6a1cp+3 +0x1.6d768ep+1 +0x1.ac7a8ap+1 +0x1.d331fp+2 +0x1.3ef138p+2 +0x1.aabceap+2 +0x1.0b2bap+2 +0x1.db4902p+2 +0x1.1c157ep+14 +0x1.6dd622p+0 +0x1.e30e7cp+2 +0x1.a26cf4p+1 +0x1.b9bf12p+0 +0x1.c228d8p+2 +0x1.0e06f2p+3 +0x1.30ea12p+0 +0x1.e21abp+0 +0x1.15f34cp+5 +0x1.29a7aep+0 +0x1.06157p+2 +0x1.ff474ap+1 +0x1.d16194p+1 +0x1.393652p+1 +0x1.02856cp+0 +0x1.56a96ep+1 +0x1.0db686p+0 +0x1.bd8cdep+2 +0x1.0ba0fep+2 +0x1.704d7ep+0 +0x1.4051e2p+0 +0x1.cc925p+1 +0x1.1d923p+2 +0x1.11cf3ap+0 +0x1.6bb4f8p+2 +0x1.edce5p+1 +0x1.818828p+0 +0x1.2bc844p+0 +0x1.8464e8p+2 +0x1.30c8dep+0 +0x1.aefbfap+1 +0x1.6b8f94p+1 +0x1.426352p+1 +0x1.a08a0cp+2 +0x1.4d73a6p+4 +0x1.663612p+2 +0x1.29e3eap+2 +0x1.8f664p+0 +0x1.30cafep+1 +0x1.f7b676p+2 +0x1.3a769ep+3 +0x1.39b58cp+0 +0x1.0a1da2p+3 +0x1.6248fep+2 +0x1.136f16p+0 +0x1.f30522p+1 +0x1.02598p+2 +0x1.48b5acp+0 +0x1.2836fp+1 +0x1.d3cd9cp+1 +0x1.4abe82p+1 +0x1.c36e52p+0 +0x1.b8018cp+1 +0x1.4ea0d8p+2 +0x1.a31834p+1 +0x1.2d6284p+1 +0x1.f251f4p+1 +0x1.fbcd0ep+5 +0x1.fc7c52p+2 +0x1.f593a4p+1 +0x1.28ab8ap+2 +0x1.b6242ap+0 +0x1.27b626p+3 +0x1.0220d8p+1 +0x1.52cbb4p+12 +0x1.731c8ep+0 +0x1.71eb88p+2 +0x1.57ef9ap+5 +0x1.052da4p+2 +0x1.2b0b66p+3 +0x1.16b6f6p+2 +0x1.227caep+3 +0x1.25961p+2 +0x1.014eacp+0 +0x1.b1225p+1 +0x1.9aa3e8p+2 +0x1.dfbc76p+1 +0x1.91ad26p+1 +0x1.21a406p+1 +0x1.67927ep+4 +0x1.a454acp+8 +0x1.3609bep+16 +0x1.e50becp+1 +0x1.16ece6p+2 +0x1.d234p+2 +0x1.e7b7ep+1 +0x1.65eda2p+2 +0x1.60064cp+1 +0x1.7726aap+3 +0x1.60bd12p+16 +0x1.45212ep+1 +0x1.05a364p+3 +0x1.6cc0e6p+1 +0x1.56c436p+0 +0x1.129f52p+1 +0x1.d00e3cp+2 +0x1.1e8c72p+2 +0x1.0d82c2p+1 +0x1.d467eap+13 +0x1.019996p+3 +0x1.87f7f8p+0 +0x1.dfcc2p+2 +0x1.cb15aap+1 +0x1.763114p+2 +0x1.233b7cp+2 +0x1.ed5d24p+1 +0x1.7de486p+0 +0x1.9f7238p+0 +0x1.7ff2a6p+0 +0x1.2d7f46p+1 +0x1.e8fa46p+2 +0x1.1f0b3p+19 +0x1.0d123cp+2 +0x1.ac62aep+1 +0x1.c2db8ap+1 +0x1.a77e06p+1 +0x1.436adcp+2 +0x1.f09c64p+0 +0x1.334dp+2 +0x1.2a7aaap+1 +0x1.33005cp+2 +0x1.46267ep+1 +0x1.086262p+2 +0x1.acc9bep+2 +0x1.268a64p+12 +0x1.2dcffcp+2 +0x1.5093a2p+0 +0x1.73feaep+1 +0x1.d8bf34p+0 +0x1.69cdap+2 +0x1.2e9ed8p+2 +0x1.4300c6p+8 +0x1.77acdap+2 +0x1.8b6ff2p+2 +0x1.9db3aap+1 +0x1.5dfd62p+0 +0x1.9a4292p+1 +0x1.418da2p+2 +0x1.9bf114p+1 +0x1.2e81dep+1 +0x1.5267ep+7 +0x1.d85792p+10 +0x1.048ca8p+2 +0x1.33924cp+3 +0x1.19db4ap+2 +0x1.24daf6p+0 +0x1.f6144cp+1 +0x1.d2553cp+3 +0x1.050574p+2 +0x1.59ebc8p+2 +0x1.5b77dap+0 +0x1.7fd6e2p+0 +0x1.4b2b7p+2 +0x1.735c9cp+2 +0x1.fae886p+2 +0x1.0b3ffp+1 +0x1.ad4c74p+8 +0x1.ce2d5ap+2 +0x1.cbd952p+2 +0x1.061ad8p+1 +0x1.40ac56p+3 +0x1.f9b31ep+1 +0x1.5f8dd2p+1 +0x1.c17884p+0 +0x1.cf410cp+1 +0x1.1350d8p+0 +0x1.3ee5aap+1 +0x1.26301cp+1 +0x1.20f4e8p+1 +0x1.411e8cp+3 +0x1.6fc69cp+2 +0x1.063ee4p+2 +0x1.1a4842p+2 +0x1.92059ep+2 +0x1.5b788ep+0 +0x1.e5bfb4p+0 +0x1.6c2d58p+13 +0x1.3354f2p+1 +0x1.c4feeep+2 +0x1.06f5a8p+2 +0x1.c0a916p+2 +0x1.a657acp+2 +0x1.8a4e0cp+1 +0x1.cca3cep+2 +0x1.6d09p+0 +0x1.3e6596p+3 +0x1.daf224p+1 +0x1.b095b4p+5 +0x1.e95112p+0 +0x1.616a16p+2 +0x1.cc91aep+1 +0x1.720224p+1 +0x1.84a426p+15 +0x1.c25a2ap+0 +0x1.8b6f22p+1 +0x1.7f1eeep+2 +0x1.35667cp+2 +0x1.b27736p+2 +0x1.27ab98p+2 +0x1.3b7f1cp+1 +0x1.083b96p+2 +0x1.196f72p+1 +0x1.bb00aap+1 +0x1.ee4fd8p+1 +0x1.bed726p+0 +0x1.7d45dap+1 +0x1.4abap+0 +0x1.6f38e4p+1 +0x1.61f2e2p+3 +0x1.0982dp+2 +0x1.3eb7bp+0 +0x1.338c14p+3 +0x1.3fcbbep+1 +0x1.338332p+2 +0x1.4d73ccp+2 +0x1.fe1c74p+1 +0x1.1b0baap+2 +0x1.01adbcp+3 +0x1.4bbdbcp+1 +0x1.57c3b2p+2 +0x1.90ad86p+1 +0x1.cdc0bep+0 +0x1.33230cp+12 +0x1.10897ep+3 +0x1.07cc7ap+2 +0x1.13dadp+3 +0x1.09c31p+1 +0x1.2af462p+2 +0x1.a77d22p+2 +0x1.ea4fbcp+2 +0x1.8015fap+1 +0x1.4218bap+3 +0x1.8ec636p+2 +0x1.0ea33cp+1 +0x1.a2277cp+1 +0x1.595588p+2 +0x1.2f5adap+2 +0x1.3ac126p+0 +0x1.1dc974p+2 +0x1.eefda4p+12 +0x1.f081dep+1 +0x1.5ec80ap+10 +0x1.2abb54p+2 +0x1.34398ep+1 +0x1.978244p+1 +0x1.9d3b9cp+3 +0x1.094e44p+0 +0x1.9d9272p+0 +0x1.bc73d4p+1 +0x1.ae9e5p+2 +0x1.9cbc7ep+2 +0x1.1dfcccp+3 +0x1.134d14p+1 +0x1.5c2d38p+2 +0x1.af908ap+2 +0x1.14bc0ap+2 +0x1.84d8f6p+2 +0x1.235c72p+1 +0x1.03223cp+0 +0x1.81cf98p+1 +0x1.a8ff7cp+2 +0x1.7c31d6p+1 +0x1.5bae6cp+1 +0x1.598e88p+1 +0x1.c10b28p+0 +0x1.27e246p+3 +0x1.c66752p+0 +0x1.4298f8p+3 +0x1.e18eeap+3 +0x1.1f3f0cp+3 +0x1.9eb058p+0 +0x1.a90438p+3 +0x1.31bbacp+1 +0x1.33211ap+8 +0x1.9e4004p+1 +0x1.e7bdfp+0 +0x1.a1311p+1 +0x1.7f345cp+5 +0x1.e0dcc6p+1 +0x1.4f841ep+2 +0x1.1077dp+3 +0x1.76887cp+1 +0x1.cc16f4p+0 +0x1.0c9042p+1 +0x1.2bd0acp+1 +0x1.63414p+0 +0x1.6ce9dap+2 +0x1.b4be2ap+2 +0x1.c83dap+2 +0x1.6f716cp+2 +0x1.088f56p+2 +0x1.7ac55ap+1 +0x1.ab1ecep+2 +0x1.5ee856p+1 +0x1.11c89cp+2 +0x1.20a71ep+0 +0x1.914c6cp+0 +0x1.dd9d62p+1 +0x1.0c2ef8p+2 +0x1.9a8a1cp+1 +0x1.9ed4c6p+2 +0x1.1537acp+2 +0x1.03cbb2p+3 +0x1.c80c98p+2 +0x1.279696p+11 +0x1.035ceap+2 +0x1.f2fe34p+2 +0x1.ae85bep+1 +0x1.47676cp+1 +0x1.d9c57p+1 +0x1.85d30ap+1 +0x1.0b1454p+0 +0x1.4bc80cp+2 +0x1.58fb76p+0 +0x1.235582p+1 +0x1.3dc828p+2 +0x1.384992p+1 +0x1.5649dp+1 +0x1.f42a06p+1 +0x1.18a984p+0 +0x1.08c448p+11 +0x1.df40d6p+0 +0x1.ffa92ap+8 +0x1.ab4698p+1 +0x1.0c4a78p+0 +0x1.e1b3fep+1 +0x1.e4a76p+1 +0x1.837ebp+1 +0x1.ebf0a4p+1 +0x1.56a462p+1 +0x1.03ce8p+1 +0x1.1e058p+1 +0x1.402108p+0 +0x1.7e79d2p+1 +0x1.6aea84p+2 +0x1.38352ap+1 +0x1.2a9736p+0 +0x1.04a60ep+14 +0x1.f823bap+2 +0x1.825cfep+1 +0x1.770ca8p+0 +0x1.89ea74p+1 +0x1.767f06p+1 +0x1.7c2396p+1 +0x1.5277bp+1 +0x1.0cdf1cp+1 +0x1.a83026p+1 +0x1.8fd072p+0 +0x1.144e8p+1 +0x1.bc6e82p+2 +0x1.4d7426p+2 +0x1.5c67b6p+1 +0x1.579364p+0 +0x1.2b3f1ap+0 +0x1.72f73ep+0 +0x1.30bc3ap+9 +0x1.3c955ep+2 +0x1.2d4a72p+2 +0x1.8787c8p+1 +0x1.fd5c8cp+1 +0x1.cd6aeap+2 +0x1.59d38cp+2 +0x1.fbe41ep+2 +0x1.153788p+3 +0x1.f878b8p+2 +0x1.351b86p+1 +0x1.3e8bep+2 +0x1.07ed5p+1 +0x1.6a5eeep+2 +0x1.82f5acp+1 +0x1.945c7cp+1 +0x1.02b03ep+2 +0x1.8dcb3cp+1 +0x1.49eafp+2 +0x1.6329c6p+0 +0x1.fac01p+1 +0x1.e5f932p+1 +0x1.b28562p+0 +0x1.3a54ccp+2 +0x1.a1734cp+0 +0x1.73fd22p+1 +0x1.ca7638p+12 +0x1.5d81d2p+1 +0x1.afb4aep+1 +0x1.23cfa4p+3 +0x1.49f42cp+0 +0x1.0aad12p+3 +0x1.4d33fcp+1 +0x1.747994p+16 +0x1.a6a4dep+2 +0x1.38d474p+0 +0x1.69cfbcp+2 +0x1.44e184p+1 +0x1.0fa43ep+0 +0x1.fd5cb2p+0 +0x1.c8906p+2 +0x1.ecddb4p+0 +0x1.000592p+1 +0x1.da9c8cp+1 +0x1.9272a4p+1 +0x1.cd849p+0 +0x1.b01ea2p+0 +0x1.a227c6p+0 +0x1.727c0ep+2 +0x1.2e55ecp+3 +0x1.0384d6p+0 +0x1.82eaeep+1 +0x1.24fcc4p+2 +0x1.cc1cbp+1 +0x1.1d2908p+2 +0x1.02b59ep+1 +0x1.a003bp+1 +0x1.7b8d26p+17 +0x1.8649dep+1 +0x1.cd0806p+0 +0x1.97da7cp+1 +0x1.231942p+0 +0x1.bb0948p+2 +0x1.d39472p+2 +0x1.1ad11cp+3 +0x1.71a782p+2 +0x1.cdb076p+1 +0x1.4a42bp+0 +0x1.1b0f5cp+3 +0x1.832206p+2 +0x1.0f3204p+1 +0x1.795f8ep+2 +0x1.10c482p+0 +0x1.b5c696p+1 +0x1.769ce2p+0 +0x1.070a42p+2 +0x1.c732cep+3 +0x1.69daf2p+1 +0x1.b4d4c2p+0 +0x1.016d6ep+1 +0x1.f0693ap+2 +0x1.b05332p+1 +0x1.b4a2bap+11 +0x1.9318ecp+1 +0x1.eee766p+1 +0x1.3ce6cp+2 +0x1.077cdp+3 +0x1.378a24p+1 +0x1.7baaacp+0 +0x1.44fdfep+2 +0x1.2e958p+1 +0x1.0029d8p+2 +0x1.a89d04p+1 +0x1.6bcb02p+1 +0x1.5d2f76p+1 +0x1.34f0bp+1 +0x1.060b88p+0 +0x1.ad967p+1 +0x1.a15beap+1 +0x1.20579ep+3 +0x1.942a92p+2 +0x1.7e406p+2 +0x1.d1d448p+4 +0x1.1b2c0cp+1 +0x1.8ca31ap+1 +0x1.3818c4p+2 +0x1.27188p+1 +0x1.0ed30ap+2 +0x1.2b6698p+1 +0x1.3c283ep+1 +0x1.2feeb8p+1 +0x1.8ae6fep+1 +0x1.bd8caep+2 +0x1.e18076p+2 +0x1.e594bap+2 +0x1.a2829p+2 +0x1.f7658p+15 +0x1.6406c2p+0 +0x1.eb8c84p+2 +0x1.05d77cp+17 +0x1.adf4f4p+6 +0x1.10204ap+1 +0x1.21f686p+2 +0x1.0f898p+0 +0x1.26b072p+0 +0x1.ed33fcp+2 +0x1.6434p+2 +0x1.b5d1bap+3 +0x1.7fd4ap+0 +0x1.9db02ap+0 +0x1.08babap+3 +0x1.272eep+2 +0x1.ef73c8p+5 +0x1.3fd0dep+2 +0x1.f61d7ap+2 +0x1.27d11cp+0 +0x1.cf8bcp+2 +0x1.0861fcp+2 +0x1.506038p+2 +0x1.d5f19p+1 +0x1.2452acp+2 +0x1.d3723p+0 +0x1.27ed1ap+3 +0x1.8bf18ep+1 +0x1.fb03a2p+0 +0x1.f7346ap+0 +0x1.3dca5cp+1 +0x1.1bbb4cp+1 +0x1.186dbp+3 +0x1.1f9f1p+2 +0x1.9adacep+2 +0x1.ffdec6p+1 +0x1.cfa316p+0 +0x1.652b9ep+1 +0x1.edea3ap+2 +0x1.4752bep+2 +0x1.d2ed14p+2 +0x1.cc59ccp+2 +0x1.874548p+0 +0x1.0cd4ccp+2 +0x1.341562p+0 +0x1.c0336p+2 +0x1.f68382p+2 +0x1.2853eep+0 +0x1.0ac78ep+2 +0x1.00a69cp+2 +0x1.594ffp+2 +0x1.6a085ap+0 +0x1.a86b4cp+2 +0x1.1dda96p+3 +0x1.2e9ebap+0 +0x1.abc3cep+3 +0x1.2fe066p+7 +0x1.7dcb6ap+0 +0x1.02ad08p+3 +0x1.ffaa66p+1 +0x1.01fb5ep+0 +0x1.fce4bcp+12 +0x1.5183fep+1 +0x1.d860f2p+1 +0x1.86aa7ep+2 +0x1.8618c8p+2 +0x1.0b3b2cp+1 +0x1.b02676p+2 +0x1.7724e2p+1 +0x1.3b07e6p+1 +0x1.65a2acp+2 +0x1.83d346p+2 +0x1.a3c4ecp+12 +0x1.74d0cap+2 +0x1.ebc598p+1 +0x1.0d5154p+3 +0x1.1c0a8cp+2 +0x1.658328p+0 +0x1.0ab84ap+2 +0x1.d9aa56p+9 +0x1.0b2b8cp+1 +0x1.4f707cp+7 +0x1.e4006ep+1 +0x1.2c2d44p+2 +0x1.3b808p+6 +0x1.df9874p+1 +0x1.188768p+2 +0x1.a2a604p+1 +0x1.055d4cp+1 +0x1.d83e82p+1 +0x1.455d7p+0 +0x1.3c13dp+2 +0x1.beb058p+2 +0x1.107b84p+2 +0x1.0854bp+1 +0x1.85827p+1 +0x1.ca113cp+2 +0x1.18a33ap+2 +0x1.978462p+0 +0x1.fe6e36p+0 +0x1.f6f14p+1 +0x1.9c5aaap+12 +0x1.1ed9bcp+1 +0x1.8a897p+2 +0x1.18fabp+2 +0x1.35761cp+1 +0x1.34eea6p+2 +0x1.c5caa8p+1 +0x1.292d2cp+1 +0x1.d67fa2p+1 +0x1.10a696p+14 +0x1.09c718p+3 +0x1.2012c2p+4 +0x1.43faf2p+2 +0x1.ced034p+2 +0x1.888f4ap+2 +0x1.349566p+2 +0x1.62eebp+1 +0x1.7789dcp+5 +0x1.77897cp+1 +0x1.254558p+3 +0x1.bab962p+2 +0x1.241812p+2 +0x1.a3d596p+0 +0x1.0fed02p+2 +0x1.14c638p+3 +0x1.701b6ep+15 +0x1.cdf9a8p+2 +0x1.1edfccp+2 +0x1.7121fap+0 +0x1.96d2dp+2 +0x1.39da18p+2 +0x1.20f644p+1 +0x1.99c348p+1 +0x1.ab6caap+1 +0x1.235544p+2 +0x1.f8aaccp+1 +0x1.3fd6eep+2 +0x1.56e606p+2 +0x1.89f98ep+0 +0x1.ba9c5p+1 +0x1.fec5ep+1 +0x1.ce8698p+3 +0x1.3735bp+3 +0x1.da2768p+11 +0x1.34276cp+1 +0x1.cd4b08p+1 +0x1.e1e51ep+0 +0x1.1b13dep+0 +0x1.6666c8p+1 +0x1.86704ep+0 +0x1.3e54b4p+1 +0x1.78d0c4p+2 +0x1.07307cp+1 +0x1.56361p+0 +0x1.42c2d8p+2 +0x1.9b0904p+2 +0x1.3f845cp+1 +0x1.480d6cp+3 +0x1.a6683ep+2 +0x1.81b464p+2 +0x1.416f26p+1 +0x1.32126ap+3 +0x1.371b78p+2 +0x1.9297bap+1 +0x1.1878bap+1 +0x1.4b2444p+1 +0x1.67b854p+0 +0x1.ab7cd8p+1 +0x1.735e7p+2 +0x1.b2db26p+1 +0x1.c9e462p+1 +0x1.c09e28p+2 +0x1.5940e4p+1 +0x1.fdccbcp+1 +0x1.2cbcf6p+2 +0x1.92f01p+0 +0x1.3d07ep+2 +0x1.421a72p+0 +0x1.521a7ep+1 +0x1.fd13b2p+1 +0x1.c5130ap+1 +0x1.5fc0ecp+1 +0x1.7a8a94p+5 +0x1.6ae06cp+2 +0x1.18237p+0 +0x1.d0815ep+2 +0x1.0fc436p+0 +0x1.b53002p+1 +0x1.b2a8eap+1 +0x1.0cb176p+1 +0x1.17143ap+2 +0x1.97a89ep+1 +0x1.8c2cb4p+2 +0x1.61244p+2 +0x1.8b6decp+4 +0x1.48db68p+2 +0x1.92566cp+1 +0x1.2341d6p+2 +0x1.d7fe06p+0 +0x1.f95f06p+0 +0x1.ca4c52p+1 +0x1.859e0cp+0 +0x1.655ep+1 +0x1.134814p+1 +0x1.cfcd6p+1 +0x1.70391p+1 +0x1.05763ap+3 +0x1.417f9ep+2 +0x1.7a5a08p+2 +0x1.4e1ef8p+0 +0x1.a5a3fep+1 +0x1.582488p+2 +0x1.a9bbb8p+1 +0x1.275092p+2 +0x1.e19fc6p+0 +0x1.782e7ep+0 +0x1.37df5p+1 +0x1.ec34dp+14 +0x1.d15e4ep+0 +0x1.73441p+0 +0x1.07dbb6p+1 +0x1.8bfd4ap+2 +0x1.00329cp+2 +0x1.0abcfcp+2 +0x1.1b248p+1 +0x1.068312p+0 +0x1.3074aep+2 +0x1.9131f4p+0 +0x1.ca234ap+0 +0x1.d391dp+0 +0x1.c54376p+2 +0x1.3f8506p+2 +0x1.acec9cp+2 +0x1.43d9bep+2 +0x1.08cbf8p+2 +0x1.3896c4p+2 +0x1.4ee4fap+2 +0x1.716c56p+2 +0x1.83fa6ap+8 +0x1.4ed0bcp+1 +0x1.3388c6p+1 +0x1.727c74p+0 +0x1.7ad806p+2 +0x1.81975ep+1 +0x1.f39914p+2 +0x1.649ccep+2 +0x1.36efep+0 +0x1.084ce6p+2 +0x1.b392d6p+0 +0x1.5a560cp+2 +0x1.2e4452p+0 +0x1.58b9cp+2 +0x1.68f3p+2 +0x1.052a1p+1 +0x1.adb9bep+6 +0x1.47736ep+1 +0x1.076026p+2 +0x1.1dfb1cp+2 +0x1.3fa338p+1 +0x1.403bdep+1 +0x1.ad8eaap+0 +0x1.de1294p+2 +0x1.1a6ffcp+0 +0x1.079a98p+0 +0x1.e00edap+3 +0x1.63b24cp+2 +0x1.b5c77p+0 +0x1.b763d8p+2 +0x1.08cd68p+3 +0x1.33b95ep+2 +0x1.09788ap+3 +0x1.754474p+2 +0x1.3a8914p+3 +0x1.ba1c1ep+1 +0x1.c1715cp+2 +0x1.2a3d78p+2 +0x1.edbf8cp+2 +0x1.aa84f2p+16 +0x1.607ac4p+1 +0x1.3f051ap+0 +0x1.84e96ap+1 +0x1.c30cdep+2 +0x1.247852p+3 +0x1.d0622ep+1 +0x1.df3da2p+1 +0x1.9792f4p+1 +0x1.3bb3dcp+1 +0x1.45d906p+1 +0x1.3e6686p+3 +0x1.4d725p+16 +0x1.b9d3e8p+2 +0x1.e486d4p+1 +0x1.cf62e2p+2 +0x1.168d8ep+10 +0x1.60bd1p+1 +0x1.d0ccd4p+1 +0x1.beb7dap+2 +0x1.18cdecp+14 +0x1.d8fe4ap+1 +0x1.8d92d8p+1 +0x1.07e12ep+3 +0x1.18cac2p+3 +0x1.8216c6p+2 +0x1.81cadp+3 +0x1.a165e2p+2 +0x1.8081cep+1 +0x1.120dcap+13 +0x1.f002ep+1 +0x1.a6598cp+0 +0x1.f83c06p+1 +0x1.4a770ap+6 +0x1.2240bp+0 +0x1.93d85ep+1 +0x1.82398ap+2 +0x1.54a7e8p+0 +0x1.38db52p+2 +0x1.93e3e4p+0 +0x1.5f4206p+1 +0x1.15fe86p+2 +0x1.5ccc1ep+0 +0x1.d75d8p+12 +0x1.26256ep+2 +0x1.07f042p+3 +0x1.eda378p+0 +0x1.1d120cp+0 +0x1.1c211p+2 +0x1.1c92a4p+1 +0x1.0a7556p+2 +0x1.c5921ep+1 +0x1.35e49p+0 +0x1.c68842p+1 +0x1.25fee6p+1 +0x1.6e1158p+1 +0x1.bec044p+1 +0x1.8d23p+2 +0x1.dd3d2cp+0 +0x1.a06f5p+2 +0x1.4e50bap+4 +0x1.3fe0a4p+0 +0x1.0839cap+0 +0x1.55f338p+1 +0x1.ed5472p+1 +0x1.4c2156p+1 +0x1.3e01a4p+2 +0x1.63a506p+1 +0x1.9ab764p+2 +0x1.6126b6p+1 +0x1.90f5dp+0 +0x1.0ec248p+2 +0x1.01c19ap+8 +0x1.2d44a2p+2 +0x1.cb81cep+0 +0x1.059864p+0 +0x1.41d2e8p+2 +0x1.c919b4p+1 +0x1.15c346p+0 +0x1.55f71p+1 +0x1.377edap+1 +0x1.b7a86cp+2 +0x1.40af8ep+2 +0x1.3ed7dap+2 +0x1.11a9d4p+2 +0x1.cc199ap+3 +0x1.ed4deap+2 +0x1.95d1cp+11 +0x1.dd07a8p+1 +0x1.6d22d2p+1 +0x1.f875eap+1 +0x1.8b659ep+5 +0x1.33546p+2 +0x1.db5f26p+2 +0x1.11a7cep+0 +0x1.030706p+3 +0x1.9d3854p+1 +0x1.9c0a66p+2 +0x1.4cfd94p+0 +0x1.9f15f6p+14 +0x1.743256p+1 +0x1.c4b746p+5 +0x1.971c6cp+1 +0x1.06ce06p+0 +0x1.52f30ap+2 +0x1.34192p+1 +0x1.ffa3f6p+1 +0x1.7d62d8p+1 +0x1.365f9p+2 +0x1.5ce002p+0 +0x1.6259aap+0 +0x1.05b364p+2 +0x1.1ee5c6p+3 +0x1.5c6174p+1 +0x1.24d9acp+2 +0x1.dc6766p+16 +0x1.6cfde4p+2 +0x1.dbc56ep+1 +0x1.9659e2p+2 +0x1.a4132p+0 +0x1.1297b6p+3 +0x1.a3e2c4p+1 +0x1.d74706p+2 +0x1.889f06p+2 +0x1.119bc6p+2 +0x1.527a2p+2 +0x1.70deap+1 +0x1.cdbe9ep+1 +0x1.85b76ap+1 +0x1.72356cp+2 +0x1.8f32a8p+1 +0x1.404da8p+0 +0x1.755966p+0 +0x1.133ceep+18 +0x1.da389ap+2 +0x1.f2a6d8p+2 +0x1.0f95eap+1 +0x1.293596p+2 +0x1.02b9acp+2 +0x1.80f992p+1 +0x1.8a8312p+0 +0x1.9bce6ap+0 +0x1.f17316p+2 +0x1.fcc658p+1 +0x1.915a6p+1 +0x1.70248cp+0 +0x1.17271p+2 +0x1.8f2c7cp+1 +0x1.d07fep+2 +0x1.d57874p+2 +0x1.36ed62p+3 +0x1.688f64p+2 +0x1.bab57ap+1 +0x1.40560ep+2 +0x1.db9834p+0 +0x1.51bf2ep+1 +0x1.37ecfp+2 +0x1.e36292p+1 +0x1.89e6c6p+3 +0x1.4674aap+16 +0x1.fae34cp+1 +0x1.17df32p+0 +0x1.420b2ap+0 +0x1.a92f48p+1 +0x1.5d89dap+2 +0x1.2260b4p+2 +0x1.5063e8p+3 +0x1.1559d8p+3 +0x1.32f8cap+2 +0x1.4cfd3p+16 +0x1.f34f4ap+0 +0x1.d45416p+1 +0x1.5fff1ep+0 +0x1.e668c8p+2 +0x1.1b28f2p+4 +0x1.833504p+2 +0x1.885124p+3 +0x1.c745e4p+1 +0x1.a92126p+1 +0x1.a198cap+0 +0x1.d0d992p+2 +0x1.2bfb3ep+3 +0x1.a600fep+2 +0x1.4b8766p+0 +0x1.ba1504p+1 +0x1.2f6f46p+1 +0x1.d007a8p+1 +0x1.104846p+2 +0x1.c99cd2p+1 +0x1.193848p+3 +0x1.fffbdp+1 +0x1.01e914p+3 +0x1.eae5f2p+1 +0x1.921bfp+1 +0x1.48ac7cp+1 +0x1.09ba6p+2 +0x1.2d2052p+1 +0x1.27f1fp+2 +0x1.903162p+3 +0x1.8f45d8p+2 +0x1.1bef48p+3 +0x1.8358a6p+1 +0x1.bf675ep+2 +0x1.49f8ccp+2 +0x1.492ad6p+7 +0x1.059ff6p+1 +0x1.648fcap+1 +0x1.0c38bep+12 +0x1.7bf0f2p+1 +0x1.5586bcp+1 +0x1.19c1f2p+2 +0x1.dda5ecp+1 +0x1.69ad6p+1 +0x1.23e018p+1 +0x1.48285ep+1 +0x1.db70fcp+0 +0x1.7f56p+2 +0x1.be6e62p+1 +0x1.6f31fap+2 +0x1.03f044p+2 +0x1.0c4aeep+1 +0x1.d9fa6ep+0 +0x1.8c7786p+2 +0x1.a80898p+1 +0x1.d58402p+1 +0x1.292d72p+0 +0x1.377deap+3 +0x1.d28abp+5 +0x1.0042a2p+2 +0x1.1544eep+1 +0x1.23419ap+1 +0x1.990e34p+1 +0x1.9284f6p+0 +0x1.fa11f6p+1 +0x1.719058p+0 +0x1.0b1db8p+2 +0x1.680aa2p+1 +0x1.186ae2p+3 +0x1.07a5b4p+2 +0x1.1622d2p+1 +0x1.de37aap+1 +0x1.33e5cep+0 +0x1.324ac8p+1 +0x1.4d8fbp+4 +0x1.1bc382p+2 +0x1.8dcb26p+2 +0x1.d0b58ep+2 +0x1.c0993cp+2 +0x1.4e8a34p+2 +0x1.caf5e8p+1 +0x1.cb6c82p+2 +0x1.e884d8p+0 +0x1.fcfcdp+2 +0x1.835cecp+1 +0x1.3fccfep+1 +0x1.b628a8p+2 +0x1.2ffb34p+1 +0x1.bcda12p+1 +0x1.07abep+2 +0x1.067ad8p+1 +0x1.6443bp+1 +0x1.15c5cap+2 +0x1.8f9dbep+0 +0x1.0a7872p+1 +0x1.2f4f78p+15 +0x1.b75a74p+0 +0x1.37d8d2p+2 +0x1.84f1a2p+2 +0x1.a92118p+1 +0x1.de311cp+1 +0x1.4f41c6p+2 +0x1.901da2p+2 +0x1.57089p+2 +0x1.0850fep+2 +0x1.447b8ep+1 +0x1.12b91ep+1 +0x1.479306p+2 +0x1.fb0f58p+2 +0x1.8f096cp+2 +0x1.5bcbe8p+2 +0x1.01cc5cp+0 +0x1.5085c6p+3 +0x1.23ccf4p+2 +0x1.b3238ep+1 +0x1.07c43p+2 +0x1.361e52p+2 +0x1.26093ep+3 +0x1.adf60cp+2 +0x1.7a31fep+3 +0x1.6cb92p+1 +0x1.1dd068p+2 +0x1.5a2aeap+1 +0x1.b21f6ap+1 +0x1.31d8c6p+1 +0x1.5ed644p+0 +0x1.7f249ap+1 +0x1.7a85ap+2 +0x1.3753acp+1 +0x1.22d0c6p+1 +0x1.613f94p+2 +0x1.005c54p+1 +0x1.868e9ep+0 +0x1.e1e8dep+1 +0x1.19ae1ap+2 +0x1.2a998p+2 +0x1.a8b2fap+1 +0x1.4e07bcp+2 +0x1.2fdc3p+2 +0x1.58afe6p+1 +0x1.6ca4aap+2 +0x1.bbfb24p+0 +0x1.62e03p+2 +0x1.6a1a6p+2 +0x1.20557p+2 +0x1.b71fdcp+1 +0x1.6262a4p+12 +0x1.799f5ap+16 +0x1.c122c6p+1 +0x1.6efd5ap+2 +0x1.493718p+2 +0x1.57d12ep+0 +0x1.8b7ac8p+1 +0x1.b6dd76p+1 +0x1.082556p+2 +0x1.e5d38cp+1 +0x1.3c9af6p+9 +0x1.880408p+2 +0x1.a05f92p+0 +0x1.72e544p+0 +0x1.2e01cep+0 +0x1.34715ep+0 +0x1.12cc56p+10 +0x1.ca6fb6p+2 +0x1.4ebb08p+13 +0x1.31b23ap+3 +0x1.022ec8p+3 +0x1.6c296cp+2 +0x1.239b8ep+0 +0x1.eb39dcp+0 +0x1.63422ap+1 +0x1.8d856ep+2 +0x1.154afp+1 +0x1.8a6016p+1 +0x1.edd3cp+0 +0x1.68ce68p+6 +0x1.66fa66p+2 +0x1.0b03b8p+2 +0x1.5c5ce2p+2 +0x1.36947ep+0 +0x1.1d5212p+2 +0x1.285beep+1 +0x1.105728p+2 +0x1.83c45p+1 +0x1.e23be2p+0 +0x1.40b216p+2 +0x1.a8091p+0 +0x1.32baacp+2 +0x1.056a84p+10 +0x1.6934dcp+2 +0x1.08c4dep+2 +0x1.a9ab02p+0 +0x1.4a5bc4p+2 +0x1.1adbb2p+1 +0x1.8bfdfap+1 +0x1.1929f8p+0 +0x1.47f082p+1 +0x1.8559b2p+10 +0x1.a498c8p+1 +0x1.b83d52p+1 +0x1.47e69cp+1 +0x1.3cab12p+2 +0x1.71716ap+1 +0x1.577f66p+3 +0x1.4ef226p+14 +0x1.412b6ep+1 +0x1.337502p+2 +0x1.2bbe72p+3 +0x1.a14248p+2 +0x1.d72db2p+1 +0x1.ae6d4ep+2 +0x1.7202aep+0 +0x1.46cad8p+0 +0x1.1b6af6p+1 +0x1.d3a0fap+11 +0x1.4a1446p+0 +0x1.8bade4p+1 +0x1.e83e14p+0 +0x1.daba08p+2 +0x1.196b44p+3 +0x1.23652cp+3 +0x1.5a288cp+0 +0x1.2c7d4p+2 +0x1.7514d6p+12 +0x1.27f73cp+1 +0x1.112ac2p+2 +0x1.754c1p+2 +0x1.063472p+2 +0x1.ba6c8ep+1 +0x1.d01feep+0 +0x1.5bc568p+1 +0x1.b85b92p+1 +0x1.fc2436p+2 +0x1.11e5c6p+0 +0x1.b548ecp+0 +0x1.8f01c4p+3 +0x1.2ce4ccp+3 +0x1.3c79f4p+3 +0x1.3721d4p+16 +0x1.cd96c8p+1 +0x1.450cc2p+1 +0x1.9648fep+1 +0x1.2660aap+3 +0x1.48331ep+1 +0x1.32e3c4p+3 +0x1.6a2546p+2 +0x1.5e87cep+2 +0x1.94f67ep+2 +0x1.490e76p+2 +0x1.6b23p+2 +0x1.3c0638p+2 +0x1.74f17p+1 +0x1.31055ap+2 +0x1.a9cc6p+2 +0x1.5fdedap+2 +0x1.8798c2p+0 +0x1.32e48p+2 +0x1.fb67d8p+1 +0x1.a1f2a8p+1 +0x1.6e5b9ep+0 +0x1.16ce4ap+2 +0x1.ab297p+0 +0x1.6c65a2p+0 +0x1.3d9e0ep+2 +0x1.7fd5fap+2 +0x1.e6ad8ep+1 +0x1.3c1abap+2 +0x1.334122p+0 +0x1.6a9046p+3 +0x1.6069aep+2 +0x1.8ed8bap+2 +0x1.b3bc22p+1 +0x1.65e462p+12 +0x1.824b2ep+2 +0x1.c744f6p+1 +0x1.9e897cp+2 +0x1.1ba2fap+2 +0x1.11b37p+3 +0x1.58cbeep+1 +0x1.8d4d1p+1 +0x1.33e05ap+2 +0x1.a3bc8ap+0 +0x1.25454ap+2 +0x1.fbd28ap+0 +0x1.d5b46ep+1 +0x1.daef8ep+1 +0x1.745f72p+1 +0x1.ed466ap+1 +0x1.090c4p+2 +0x1.3628aap+2 +0x1.67efc6p+7 +0x1.79e522p+2 +0x1.5f9b14p+0 +0x1.b7772p+2 +0x1.b875a2p+2 +0x1.52b62ep+2 +0x1.abda02p+2 +0x1.d73ac6p+16 +0x1.a07e7p+2 +0x1.d64818p+0 +0x1.337822p+1 +0x1.e846eap+15 +0x1.67e6c8p+1 +0x1.d2fbd2p+2 +0x1.6be50ap+1 +0x1.165ef6p+2 +0x1.0401f8p+2 +0x1.ce1e0cp+2 +0x1.bb41f4p+1 +0x1.010e1cp+0 +0x1.477bap+0 +0x1.53b3acp+2 +0x1.9a9f4cp+2 +0x1.12fc3ep+2 +0x1.41d1b6p+2 +0x1.94745ep+2 +0x1.52f202p+1 +0x1.001296p+1 +0x1.1808a2p+3 +0x1.d76324p+0 +0x1.0718f8p+3 +0x1.4ece0ap+0 +0x1.2d6a78p+0 +0x1.a145dcp+0 +0x1.b5e032p+1 +0x1.c610a4p+1 +0x1.3667d6p+2 +0x1.091e3cp+1 +0x1.162dd4p+2 +0x1.b3404cp+1 +0x1.7a03dp+2 +0x1.923698p+2 +0x1.2d8764p+2 +0x1.447866p+0 +0x1.42d7aap+1 +0x1.edd49p+2 +0x1.d8232ep+13 +0x1.b96d6ep+1 +0x1.84c912p+10 +0x1.9fc02p+0 +0x1.17a0c6p+1 +0x1.55081ep+1 +0x1.0c4f3cp+0 +0x1.7504cp+0 +0x1.644ce8p+1 +0x1.30a5b8p+0 +0x1.518e88p+1 +0x1.63989p+2 +0x1.989896p+2 +0x1.54c46cp+1 +0x1.fcf188p+1 +0x1.f305bap+1 +0x1.71701cp+1 +0x1.6d6d58p+0 +0x1.191aap+1 +0x1.655042p+11 +0x1.75b7p+1 +0x1.aefd76p+0 +0x1.4cc77p+2 +0x1.fc6c96p+1 +0x1.ec5da6p+1 +0x1.8be676p+0 +0x1.e18a5ep+0 +0x1.2fc25cp+3 +0x1.8c0d7ep+0 +0x1.dadf4ap+1 +0x1.acdc54p+1 +0x1.790f4ep+1 +0x1.ef9548p+1 +0x1.1b8232p+0 +0x1.1dcc1ep+2 +0x1.d1fad8p+1 +0x1.1fe494p+2 +0x1.756904p+0 +0x1.36f41ep+1 +0x1.c42302p+2 +0x1.64a2c2p+1 +0x1.d41feap+1 +0x1.f2c278p+0 +0x1.cc43bcp+1 +0x1.6b8d3ep+1 +0x1.1b29d2p+0 +0x1.2e7ad6p+1 +0x1.640dcep+2 +0x1.0051a6p+2 +0x1.148f5ap+3 +0x1.45317ap+1 +0x1.4ae36p+2 +0x1.90a77ap+2 +0x1.84f51p+2 +0x1.121024p+2 +0x1.b3b8e4p+1 +0x1.0d6d82p+2 +0x1.5445p+3 +0x1.8065aep+0 +0x1.6b1c54p+12 +0x1.c16aap+1 +0x1.d86976p+5 +0x1.e39828p+1 +0x1.330726p+2 +0x1.a0082ep+0 +0x1.9d11fp+1 +0x1.73a114p+1 +0x1.2074f4p+1 +0x1.f2a4fap+1 +0x1.04c2d2p+2 +0x1.42e06p+2 +0x1.b25b6p+1 +0x1.1255d8p+3 +0x1.b66f6cp+0 +0x1.0399fp+2 +0x1.4eb916p+2 +0x1.846ddcp+2 +0x1.1d6b5ep+9 +0x1.f6b4e2p+2 +0x1.ff749cp+1 +0x1.05529p+1 +0x1.6605dp+0 +0x1.10fe8p+1 +0x1.3d757ap+2 +0x1.58715cp+2 +0x1.400738p+2 +0x1.490972p+2 +0x1.294834p+1 +0x1.da38dap+1 +0x1.31331ep+2 +0x1.15d532p+2 +0x1.30fc16p+1 +0x1.d3d116p+1 +0x1.f88304p+1 +0x1.6dd5cp+2 +0x1.e82c98p+2 +0x1.3c7eacp+2 +0x1.529736p+0 +0x1.06b61p+0 +0x1.96493p+2 +0x1.8b29b4p+1 +0x1.86c39cp+1 +0x1.c4676ap+0 +0x1.2c069ep+2 +0x1.080caap+2 +0x1.48dd88p+1 +0x1.4797dep+1 +0x1.cffe4ep+0 +0x1.2244c4p+1 +0x1.578894p+1 +0x1.f4e5f6p+0 +0x1.2a8626p+1 +0x1.b23dbap+3 +0x1.721294p+1 +0x1.05cd32p+3 +0x1.34a76ep+1 +0x1.f5f50ep+2 +0x1.1c6fe4p+2 +0x1.d67d2cp+0 +0x1.10168cp+4 +0x1.7ea2e6p+0 +0x1.2897f8p+2 +0x1.f8b41p+2 +0x1.675e96p+2 +0x1.16779ap+2 +0x1.1bf7fep+1 +0x1.72d03cp+13 +0x1.0c1d2p+0 +0x1.6f7a68p+2 +0x1.7ebd3cp+0 +0x1.502e1cp+1 +0x1.57e406p+1 +0x1.77c2a6p+2 +0x1.6c5a7cp+1 +0x1.da18e4p+0 +0x1.07a9fep+3 +0x1.bf7284p+1 +0x1.24eb94p+2 +0x1.9700e6p+10 +0x1.c4228ap+0 +0x1.a1e90ep+1 +0x1.51647ap+2 +0x1.52cc8cp+2 +0x1.d5e1acp+2 +0x1.a59618p+0 +0x1.e799c4p+1 +0x1.ca6c56p+2 +0x1.c5e726p+0 +0x1.152e8cp+3 +0x1.c99c58p+1 +0x1.6ea562p+1 +0x1.deab24p+1 +0x1.8b321ep+1 +0x1.04bf1ep+1 +0x1.3fe7d2p+0 +0x1.9939d4p+0 +0x1.f524e8p+2 +0x1.ae6c5p+2 +0x1.25d6d6p+3 +0x1.b68fc6p+0 +0x1.a8c318p+0 +0x1.af1a9ep+1 +0x1.166e5cp+0 +0x1.dbb958p+2 +0x1.01fc68p+3 +0x1.08c6eap+3 +0x1.37d856p+1 +0x1.354356p+2 +0x1.d0921cp+9 +0x1.d8c71p+0 +0x1.5895a2p+2 +0x1.2c63e6p+0 +0x1.332ac6p+3 +0x1.d1cfcap+0 +0x1.15975ap+2 +0x1.345c2cp+3 +0x1.32896cp+1 +0x1.d4a59ap+2 +0x1.6842eep+1 +0x1.1b3caap+3 +0x1.82159p+2 +0x1.2479dep+2 +0x1.47d17ap+1 +0x1.1a016cp+2 +0x1.44615cp+2 +0x1.1c354p+1 +0x1.060732p+2 +0x1.23a8a8p+2 +0x1.5fc2e8p+1 +0x1.f17d68p+0 +0x1.40102cp+3 +0x1.2cf618p+1 +0x1.495d0ap+2 +0x1.689b92p+2 +0x1.afefdcp+0 +0x1.a35684p+1 +0x1.1e02a6p+1 +0x1.590e64p+2 +0x1.72b0f8p+1 +0x1.9647b6p+2 +0x1.4134dep+2 +0x1.fb8b3ap+1 +0x1.efc5ccp+1 +0x1.bdedbcp+1 +0x1.5eaef6p+0 +0x1.8b7adep+0 +0x1.7e52d8p+1 +0x1.91bbdp+2 +0x1.920b4cp+1 +0x1.ce1d52p+1 +0x1.0b70f8p+1 +0x1.af3728p+1 +0x1.aa63a8p+0 +0x1.4e2c86p+15 +0x1.811d58p+2 +0x1.dfd8bp+12 +0x1.af2814p+0 +0x1.941fd8p+0 +0x1.e91096p+9 +0x1.d516dcp+14 +0x1.547e78p+2 +0x1.e59bcp+1 +0x1.3ca9b6p+1 +0x1.3ccd4cp+7 +0x1.61a0d8p+2 +0x1.d6dadp+1 +0x1.48b3bep+2 +0x1.28215p+0 +0x1.855fcep+1 +0x1.15704p+0 +0x1.d780fep+1 +0x1.b8c6aap+1 +0x1.2443f8p+3 +0x1.43c51cp+1 +0x1.896782p+1 +0x1.b2a9e4p+2 +0x1.8d87d8p+1 +0x1.56362ep+2 +0x1.2711cep+1 +0x1.9db18cp+1 +0x1.ed56p+2 +0x1.19c8d4p+2 +0x1.9da318p+1 +0x1.c26d94p+1 +0x1.ee8a0cp+1 +0x1.172474p+0 +0x1.49fc58p+2 +0x1.7266ccp+2 +0x1.7a0d9cp+2 +0x1.9aa588p+2 +0x1.582be8p+2 +0x1.c5e848p+1 +0x1.e284fap+2 +0x1.831b32p+1 +0x1.41ea6ep+3 +0x1.1ccfb8p+1 +0x1.d14bp+1 +0x1.676d1ap+7 +0x1.d3009p+1 +0x1.4f2a5p+9 +0x1.96112p+2 +0x1.4143e4p+3 +0x1.7448f4p+1 +0x1.b05584p+0 +0x1.6ad952p+0 +0x1.36e874p+2 +0x1.34175p+2 +0x1.f61f44p+2 +0x1.1c62e8p+2 +0x1.8dc092p+2 +0x1.0c0ae4p+2 +0x1.9dc00ap+1 +0x1.f26786p+0 +0x1.015ee6p+1 +0x1.a3c368p+1 +0x1.91b786p+1 +0x1.dc3264p+0 +0x1.1fb1b2p+13 +0x1.28de58p+2 +0x1.79489p+7 +0x1.092be4p+2 +0x1.653aa2p+0 +0x1.053a54p+1 +0x1.705ee6p+1 +0x1.a41db2p+0 +0x1.bf7602p+1 +0x1.6afac8p+2 +0x1.4be58p+2 +0x1.50f584p+2 +0x1.f84ca8p+1 +0x1.1684a2p+1 +0x1.318bd8p+1 +0x1.151eb4p+11 +0x1.7a7c02p+1 +0x1.d159aep+1 +0x1.1028bep+1 +0x1.c6cc94p+1 +0x1.3568eep+0 +0x1.7a94e8p+2 +0x1.477572p+2 +0x1.44b8b6p+2 +0x1.93870ep+0 +0x1.017128p+8 +0x1.16b314p+0 +0x1.1d0e74p+2 +0x1.ac2b52p+1 +0x1.a1fcc4p+2 +0x1.c01606p+2 +0x1.dc4282p+2 +0x1.5391bp+3 +0x1.51057ep+2 +0x1.8e201ep+2 +0x1.153b8ap+2 +0x1.ea5a68p+1 +0x1.5968e2p+2 +0x1.5f6c9ep+1 +0x1.a3cddp+1 +0x1.13ec7cp+3 +0x1.91b298p+1 +0x1.13d738p+16 +0x1.840046p+0 +0x1.732b5ep+0 +0x1.06cd3ap+1 +0x1.d890c2p+0 +0x1.0d05f2p+2 +0x1.b7e6dep+2 +0x1.0cbdb2p+19 +0x1.df5f48p+2 +0x1.401714p+1 +0x1.a06c6cp+0 +0x1.c2354ap+2 +0x1.88fa24p+3 +0x1.20936ep+2 +0x1.7e4f5cp+0 +0x1.40a1a6p+0 +0x1.3b37bp+2 +0x1.b0f00ep+0 +0x1.595b24p+2 +0x1.183ff6p+1 +0x1.c152ecp+0 +0x1.c680f6p+2 +0x1.b6fcaap+1 +0x1.42589ap+2 +0x1.a17ff6p+2 +0x1.cf261cp+1 +0x1.3ca2d6p+0 +0x1.003aaep+1 +0x1.851d1p+2 +0x1.93e6f2p+0 +0x1.46e51ap+1 +0x1.bb6faap+11 +0x1.3267bap+2 +0x1.67cd4ap+1 +0x1.d3774cp+14 +0x1.9cea56p+12 +0x1.d42f76p+0 +0x1.45198ap+2 +0x1.ed4b16p+2 +0x1.2bcf6cp+3 +0x1.c83c9ap+1 +0x1.bd6d7ap+1 +0x1.8be4c8p+2 +0x1.9286fcp+2 +0x1.eb26fp+0 +0x1.6fd6b4p+2 +0x1.13418cp+0 +0x1.a0a5fp+6 +0x1.22594cp+2 +0x1.2f2d46p+2 +0x1.59e652p+10 +0x1.aa70dap+2 +0x1.bc184ap+0 +0x1.cd519ap+1 +0x1.cc47a8p+0 +0x1.50aeecp+14 +0x1.e319c6p+2 +0x1.31545ap+2 +0x1.fd0ba6p+11 +0x1.14d3a6p+0 +0x1.74e5b6p+0 +0x1.c9c73p+2 +0x1.87a9f4p+0 +0x1.1d6e38p+0 +0x1.70b70ep+2 +0x1.31cc42p+2 +0x1.109afap+2 +0x1.3e6dfep+3 +0x1.ac11c4p+1 +0x1.f900dep+1 +0x1.42ba78p+0 +0x1.48f642p+1 +0x1.1694dep+0 +0x1.25cb62p+3 +0x1.0fcfbcp+1 +0x1.8a34f4p+1 +0x1.17f4bep+2 +0x1.56a826p+0 +0x1.fd5546p+4 +0x1.bdadecp+2 +0x1.548fdp+1 +0x1.26823ap+1 +0x1.39bb88p+2 +0x1.38078ep+1 +0x1.3f580ep+1 +0x1.e5c8ecp+0 +0x1.6092d6p+2 +0x1.104c6p+2 +0x1.179864p+1 +0x1.e8c68p+17 +0x1.7b32bep+0 +0x1.cb0adcp+2 +0x1.55fe86p+3 +0x1.f5d38cp+0 +0x1.23134ap+2 +0x1.45d2aap+0 +0x1.977ee4p+1 +0x1.00ad94p+8 +0x1.61e4eap+0 +0x1.349214p+1 +0x1.22b24ep+3 +0x1.38413ep+2 +0x1.3b566p+2 +0x1.15acbcp+0 +0x1.9ed6bcp+2 +0x1.8ee57cp+2 +0x1.b9771p+15 +0x1.a67212p+1 +0x1.4c468cp+3 +0x1.ef5904p+0 +0x1.4d5d82p+0 +0x1.4aeb36p+2 +0x1.1afc4ep+2 +0x1.0e6abcp+1 +0x1.47a152p+3 +0x1.46da52p+2 +0x1.1bbf78p+0 +0x1.aa423cp+2 +0x1.74ee78p+12 +0x1.1a4a96p+2 +0x1.2a834cp+1 +0x1.d072f6p+2 +0x1.35a916p+1 +0x1.30136ep+1 +0x1.2c057p+2 +0x1.6a5aa4p+2 +0x1.c15e84p+2 +0x1.4cfacp+7 +0x1.6b6794p+2 +0x1.231cc6p+1 +0x1.1cb658p+2 +0x1.2461fep+1 +0x1.a6a66ap+0 +0x1.e802fap+1 +0x1.c574dp+1 +0x1.809f0ap+3 +0x1.bd732p+1 +0x1.eaac16p+0 +0x1.9d2dep+1 +0x1.6e3f4cp+2 +0x1.4d7cb4p+1 +0x1.27a9f2p+3 +0x1.357176p+0 +0x1.77e5b4p+2 +0x1.30e44p+1 +0x1.202126p+3 +0x1.cf958cp+0 +0x1.524284p+3 +0x1.ed10f4p+1 +0x1.60e614p+1 +0x1.0c601p+3 +0x1.0cf20cp+2 +0x1.749c0ap+1 +0x1.be4d8p+2 +0x1.a87cc6p+0 +0x1.c28454p+0 +0x1.b1b15ep+2 +0x1.d46404p+2 +0x1.6333aep+2 +0x1.c4ff3ep+0 +0x1.6efdccp+1 +0x1.56bep+8 +0x1.f94df6p+1 +0x1.b943eap+1 +0x1.88933ep+1 +0x1.ca0fcp+1 +0x1.5c7eb4p+0 +0x1.3b28eep+2 +0x1.cb9d96p+1 +0x1.e15c78p+1 +0x1.aea1p+0 +0x1.81a116p+2 +0x1.047478p+2 +0x1.5fa53ep+1 +0x1.15417ep+2 +0x1.d95c9p+0 +0x1.4e2984p+1 +0x1.4d35c4p+1 +0x1.6d5732p+0 +0x1.6431a6p+2 +0x1.41966ep+0 +0x1.67ad28p+1 +0x1.6dea86p+2 +0x1.4c8802p+0 +0x1.36f89p+0 +0x1.b2eadep+2 +0x1.0fc6c4p+17 +0x1.1e56d6p+2 +0x1.77e4aep+2 +0x1.a68b66p+2 +0x1.1b946cp+1 +0x1.44dba2p+2 +0x1.17e09ep+0 +0x1.bb14ccp+1 +0x1.c5d7e8p+0 +0x1.9a41a4p+2 +0x1.f4c276p+1 +0x1.4b181ap+1 +0x1.6a4592p+2 +0x1.422538p+1 +0x1.bfc5d8p+0 +0x1.a10964p+2 +0x1.024178p+1 +0x1.114e12p+3 +0x1.c48296p+0 +0x1.65de9p+2 +0x1.3b528cp+2 +0x1.80a2dap+1 +0x1.78c5cep+2 +0x1.0aebfep+3 +0x1.00c004p+3 +0x1.88ce54p+1 +0x1.a43af2p+2 +0x1.fed7f8p+1 +0x1.a7dc9ap+1 +0x1.3a514cp+0 +0x1.55cddcp+2 +0x1.66daa8p+0 +0x1.e21abp+0 +0x1.14cd18p+1 +0x1.e22cf4p+0 +0x1.b55764p+0 +0x1.f62eb2p+2 +0x1.17e524p+3 +0x1.008e9ep+2 +0x1.3bcf14p+0 +0x1.d293cp+2 +0x1.670d94p+3 +0x1.615878p+1 +0x1.5b6d2cp+1 +0x1.acc312p+1 +0x1.450eaep+0 +0x1.058194p+3 +0x1.44bc72p+2 +0x1.fbb132p+1 +0x1.7fea7p+1 +0x1.310fcap+0 +0x1.60c0b2p+1 +0x1.803934p+1 +0x1.3c49e4p+2 +0x1.faf188p+1 +0x1.67c1dp+2 +0x1.af340ep+2 +0x1.6714dep+2 +0x1.35b1f6p+2 +0x1.e8f2cep+0 +0x1.5e1dcp+2 +0x1.33f7aap+2 +0x1.d9188ep+1 +0x1.d791d4p+2 +0x1.cd4cb8p+1 +0x1.2faabep+1 +0x1.97b822p+1 +0x1.49abdep+1 +0x1.2eaedap+0 +0x1.a2d37ap+1 +0x1.b94bb8p+0 +0x1.a4d6a8p+1 +0x1.5419b6p+15 +0x1.83bac2p+1 +0x1.fce88p+1 +0x1.2d6646p+2 +0x1.d3857ep+2 +0x1.175878p+1 +0x1.6f27a4p+2 +0x1.91a09p+2 +0x1.613bd2p+1 +0x1.bbe03ep+4 +0x1.ebec5p+2 +0x1.e5afe6p+2 +0x1.1360bap+1 +0x1.7ed2acp+1 +0x1.3de7cap+3 +0x1.ad5728p+2 +0x1.0f5048p+1 +0x1.46636ap+1 +0x1.886accp+1 +0x1.1abcp+1 +0x1.95c1f8p+11 +0x1.190e1ep+2 +0x1.ece8fap+1 +0x1.4a30ccp+2 +0x1.3ca3b2p+0 +0x1.18aadep+2 +0x1.6c9826p+1 +0x1.5be8e2p+2 +0x1.d036a2p+1 +0x1.b3623ep+3 +0x1.6f6dbap+2 +0x1.dfa418p+1 +0x1.fdcf42p+1 +0x1.18085cp+3 +0x1.45ff3ap+1 +0x1.dfd8f6p+2 +0x1.7d3de6p+2 +0x1.f6957ep+1 +0x1.739a3ep+1 +0x1.9edb7ap+2 +0x1.0af678p+3 +0x1.654cecp+1 +0x1.45b7dep+2 +0x1.5b2268p+2 +0x1.4473d6p+0 +0x1.fba03cp+1 +0x1.d2bad6p+1 +0x1.764d1ap+1 +0x1.1ce0bep+0 +0x1.1ed17ep+12 +0x1.274a3ap+0 +0x1.093f1p+3 +0x1.edd95p+0 +0x1.ee5b62p+0 +0x1.579bc6p+1 +0x1.34f25ap+11 +0x1.7a0348p+0 +0x1.12bb7p+1 +0x1.c5ca9ap+1 +0x1.0f143p+3 +0x1.4f6a4p+2 +0x1.9fcab6p+2 +0x1.93177ep+2 +0x1.22613ep+2 +0x1.c23a82p+0 +0x1.6f586ep+1 +0x1.c602fep+1 +0x1.3cff5cp+1 +0x1.334ac8p+2 +0x1.de986p+0 +0x1.266256p+2 +0x1.719f6ap+1 +0x1.728acep+0 +0x1.d232fep+1 +0x1.5d1c1ap+2 +0x1.316ddep+1 +0x1.eacff4p+1 +0x1.d02336p+1 +0x1.8de13p+11 +0x1.06e622p+2 +0x1.c47548p+2 +0x1.048ccap+0 +0x1.357898p+8 +0x1.e8356ep+0 +0x1.05d18ap+1 +0x1.2e2a98p+2 +0x1.aaa7ap+9 +0x1.fc877ap+10 +0x1.33a62ap+14 +0x1.488f6ap+0 +0x1.82cd02p+1 +0x1.ca084p+2 +0x1.243992p+1 +0x1.b6d7cp+2 +0x1.3889f4p+6 +0x1.b94d34p+1 +0x1.63b018p+2 +0x1.138e4ep+1 +0x1.387d88p+0 +0x1.073a86p+2 +0x1.f6a822p+2 +0x1.271984p+2 +0x1.4b4194p+2 +0x1.13092cp+0 +0x1.98e5e2p+1 +0x1.f3d20ap+0 +0x1.dc5f66p+1 +0x1.2abb14p+2 +0x1.81f4b6p+0 +0x1.21f79ap+2 +0x1.935f34p+3 +0x1.87b79ap+0 +0x1.3379eep+2 +0x1.0331eap+3 +0x1.54790cp+1 +0x1.bbdd4ap+0 +0x1.3d78e8p+1 +0x1.3b1baap+1 +0x1.07d262p+2 +0x1.0f0b4p+1 +0x1.b4bcd8p+1 +0x1.485e6cp+1 +0x1.8a6394p+2 +0x1.94c21ap+1 +0x1.664996p+2 +0x1.aa15b2p+5 +0x1.383476p+5 +0x1.b014eap+2 +0x1.c3e03p+15 +0x1.d113a8p+1 +0x1.bbf018p+0 +0x1.5eaab2p+1 +0x1.d8b14ep+1 +0x1.7130cep+0 +0x1.06756p+1 +0x1.2351e6p+11 +0x1.31df66p+1 +0x1.050ae2p+1 +0x1.92752ep+1 +0x1.835aaap+1 +0x1.6a503ap+0 +0x1.c0707ep+1 +0x1.c7ee72p+0 +0x1.606086p+11 +0x1.516a8ep+11 +0x1.0df57cp+2 +0x1.405238p+2 +0x1.501ab8p+2 +0x1.2de898p+2 +0x1.f604fap+1 +0x1.786e72p+1 +0x1.2a3eeep+2 +0x1.783d68p+1 +0x1.eca96cp+2 +0x1.9faa3p+10 +0x1.dad63ep+1 +0x1.41f922p+0 +0x1.fb372ep+2 +0x1.634388p+1 +0x1.133362p+2 +0x1.194d24p+5 +0x1.60b494p+0 +0x1.18f24cp+2 +0x1.1025d4p+3 +0x1.0c2bc8p+2 +0x1.303182p+0 +0x1.b09f5ep+0 +0x1.27dcfap+2 +0x1.4b9decp+2 +0x1.19fb78p+0 +0x1.7f3a56p+1 +0x1.913118p+0 +0x1.1b2ae6p+1 +0x1.d06dc8p+1 +0x1.f35846p+14 +0x1.e0a412p+0 +0x1.7782dep+1 +0x1.5da4c4p+11 +0x1.2952a4p+1 +0x1.e556eap+0 +0x1.99172cp+3 +0x1.53c32ep+2 +0x1.2324acp+1 +0x1.22e998p+0 +0x1.b8c6cp+1 +0x1.c0d9bp+1 +0x1.a53fdep+2 +0x1.c44432p+2 +0x1.4663e4p+3 +0x1.3164d6p+3 +0x1.833f68p+2 +0x1.13aa9ep+2 +0x1.02b5dep+3 +0x1.0e947p+2 +0x1.29531ap+1 +0x1.c51fep+6 +0x1.a2f39cp+0 +0x1.fac86cp+1 +0x1.18c2eep+14 +0x1.68ef58p+1 +0x1.ffa268p+1 +0x1.4af6aap+0 +0x1.459e7cp+1 +0x1.6585f8p+2 +0x1.45a9a4p+0 +0x1.f8885ap+2 +0x1.aee38ap+3 +0x1.3f3edep+2 +0x1.002ef6p+2 +0x1.42cf7p+1 +0x1.3d5a9p+0 +0x1.76d41ep+0 +0x1.1c574ep+1 +0x1.33512p+1 +0x1.e4723p+2 +0x1.20656ap+1 +0x1.53df34p+1 +0x1.6336e8p+2 +0x1.bb11f2p+2 +0x1.f6c634p+1 +0x1.09d796p+1 +0x1.835eaap+1 +0x1.b0cffp+1 +0x1.a647e2p+1 +0x1.eb1e1cp+0 +0x1.287532p+0 +0x1.1d78fp+2 +0x1.984e7p+9 +0x1.83e464p+2 +0x1.e068a6p+1 +0x1.1f6afap+2 +0x1.719394p+3 +0x1.a3d662p+1 +0x1.05632ap+2 +0x1.0eab8p+2 +0x1.51f84cp+1 +0x1.348494p+0 +0x1.b1dd4ap+1 +0x1.5e08p+1 +0x1.ea7e6p+1 +0x1.cb3e9ap+1 +0x1.0ab12cp+2 +0x1.91a9aep+1 +0x1.ec28b4p+2 +0x1.68b0eap+2 +0x1.0dbc9cp+2 +0x1.80dc18p+0 +0x1.f31972p+14 +0x1.0947dep+2 +0x1.a7ad5cp+1 +0x1.1d2eep+1 +0x1.ebb8cp+1 +0x1.7cb2f2p+0 +0x1.0b5d2cp+3 +0x1.bc3cbp+1 +0x1.71fb3cp+7 +0x1.b922aep+2 +0x1.516b4ep+1 +0x1.4ea596p+2 +0x1.979c82p+1 +0x1.88b46ep+1 +0x1.5032p+2 +0x1.1e30e6p+2 +0x1.b5b338p+1 +0x1.29d9aap+2 +0x1.306b2cp+2 +0x1.e5293ep+0 +0x1.164c9ep+2 +0x1.ebd492p+0 +0x1.0f4d7p+1 +0x1.549758p+2 +0x1.6dca66p+0 +0x1.48e22cp+2 +0x1.32618ap+8 +0x1.06165ap+1 +0x1.63ef4ep+2 +0x1.370198p+0 +0x1.1e6a68p+1 +0x1.18ceaep+3 +0x1.82923p+17 +0x1.05edfap+1 +0x1.a3e24ap+2 +0x1.b582b4p+1 +0x1.69e214p+2 +0x1.62dc02p+2 +0x1.bdd57cp+2 +0x1.7ada66p+2 +0x1.3fcfep+12 +0x1.c09976p+2 +0x1.d1c126p+0 +0x1.367152p+2 +0x1.691f9p+1 +0x1.781382p+2 +0x1.c7b83cp+1 +0x1.360d1p+3 +0x1.05cf96p+2 +0x1.2aff78p+2 +0x1.0b249ap+2 +0x1.db266ep+0 +0x1.28c592p+3 +0x1.5a32a8p+2 +0x1.42bb3ep+1 +0x1.504cd6p+2 +0x1.194aa2p+2 +0x1.5e814ep+1 +0x1.1a94p+3 +0x1.0d188ep+1 +0x1.05a11p+2 +0x1.889f6ep+1 +0x1.437792p+11 +0x1.dd33cp+1 +0x1.a863c8p+1 +0x1.364a4cp+0 +0x1.6bcbcap+1 +0x1.35b332p+2 +0x1.680fd4p+2 +0x1.4ddcfcp+2 +0x1.7fa1e8p+1 +0x1.aba788p+1 +0x1.f092a4p+2 +0x1.5db1cp+1 +0x1.6144dep+1 +0x1.16b71cp+0 +0x1.c4c37p+0 +0x1.cda1a4p+1 +0x1.0ef4bep+1 +0x1.0be82ap+1 +0x1.1e3af8p+1 +0x1.eb7b6ep+1 +0x1.811d3p+0 +0x1.7bb364p+0 +0x1.ebe40ap+0 +0x1.78da5ep+0 +0x1.ba9a26p+2 +0x1.dcdda4p+1 +0x1.7509acp+17 +0x1.529c16p+5 +0x1.e6bb2ep+2 +0x1.0fd90cp+3 +0x1.9a6482p+2 +0x1.b9821cp+1 +0x1.0bdafep+2 +0x1.f5822cp+2 +0x1.2a9fc4p+9 +0x1.332f26p+2 +0x1.d6dep+1 +0x1.2516b2p+2 +0x1.415cc8p+6 +0x1.ac16f8p+2 +0x1.1c5644p+1 +0x1.3517e2p+1 +0x1.58f4e8p+1 +0x1.bef256p+1 +0x1.6ec4bp+1 +0x1.13f69cp+1 +0x1.0662acp+2 +0x1.073364p+1 +0x1.1681bp+2 +0x1.73fe74p+2 +0x1.3ccef4p+1 +0x1.d05eeep+2 +0x1.b2dd9ap+2 +0x1.df0a7ep+1 +0x1.17f3eep+2 +0x1.0c2804p+1 +0x1.588738p+2 +0x1.121d12p+2 +0x1.e97c2cp+0 +0x1.35fedp+2 +0x1.f4779ap+1 +0x1.da9722p+1 +0x1.6c3d9ap+0 +0x1.77fca4p+0 +0x1.12a8e4p+2 +0x1.415a74p+3 +0x1.27625ap+2 +0x1.ac58c4p+2 +0x1.4ee02p+1 +0x1.2dc844p+2 +0x1.8cfef6p+2 +0x1.0f37eep+1 +0x1.4497d6p+2 +0x1.045f54p+2 +0x1.0d426ap+0 +0x1.5bfbbep+1 +0x1.025f76p+2 +0x1.3f1376p+0 +0x1.d10bfap+2 +0x1.ac49b4p+1 +0x1.5d4872p+1 +0x1.a29aacp+2 +0x1.ce060ep+16 +0x1.0afbep+3 +0x1.761066p+2 +0x1.a646dp+0 +0x1.17bfa6p+2 +0x1.5f486ep+1 +0x1.c30bdcp+1 +0x1.43fa8ep+2 +0x1.0543c4p+1 +0x1.cc308ep+1 +0x1.a90c9p+2 +0x1.020ccep+2 +0x1.7f3b6ep+0 +0x1.3ed4ccp+1 +0x1.519d88p+3 +0x1.4f8768p+0 +0x1.a5664ap+2 +0x1.6d1ce2p+2 +0x1.87537ep+3 +0x1.fdabaap+2 +0x1.037a26p+2 +0x1.09306cp+2 +0x1.248fb2p+2 +0x1.55beccp+2 +0x1.54287ep+3 +0x1.be4342p+1 +0x1.7af776p+1 +0x1.2b901ap+0 +0x1.6dc08ep+3 +0x1.bf36e4p+2 +0x1.72d6cap+1 +0x1.4a09c8p+2 +0x1.2ff84ep+2 +0x1.585c3p+2 +0x1.334ee4p+0 +0x1.5d565cp+14 +0x1.71024ep+2 +0x1.2c5a58p+1 +0x1.88317p+1 +0x1.f4cd2cp+0 +0x1.7d0592p+1 +0x1.904f5cp+1 +0x1.39e1f2p+2 +0x1.257c88p+1 +0x1.fb7adcp+1 +0x1.3c989ep+0 +0x1.bf17fap+0 +0x1.b8c198p+1 +0x1.2395e4p+3 +0x1.3485bap+0 +0x1.4c47e4p+1 +0x1.fc5a4ap+2 +0x1.38b33cp+3 +0x1.8ce93cp+2 +0x1.404964p+2 +0x1.e00b94p+2 +0x1.507764p+1 +0x1.e84368p+2 +0x1.02501p+1 +0x1.405ca8p+2 +0x1.5db4bep+1 +0x1.f56344p+0 +0x1.e8cc3ap+2 +0x1.96443p+0 +0x1.4823d8p+2 +0x1.63aa42p+2 +0x1.bf055cp+2 +0x1.e935eep+2 +0x1.1701bcp+1 +0x1.02f5a4p+1 +0x1.0dfb8cp+3 +0x1.048a4cp+1 +0x1.265ca4p+2 +0x1.315824p+3 +0x1.5bde44p+13 +0x1.442506p+1 +0x1.19abc6p+3 +0x1.02492p+3 +0x1.2850eep+1 +0x1.a0c0b4p+8 +0x1.33275cp+8 +0x1.73eb86p+2 +0x1.7652bp+2 +0x1.0e7decp+4 +0x1.33c014p+2 +0x1.3de778p+1 +0x1.0090dp+0 +0x1.b885e4p+1 +0x1.7f26f8p+1 +0x1.37913p+1 +0x1.1066c6p+1 +0x1.fef7bep+3 +0x1.0ff7ap+2 +0x1.88d36ap+0 +0x1.3484bep+2 +0x1.bf525ep+1 +0x1.656932p+1 +0x1.e9ae4cp+2 +0x1.3ff2acp+1 +0x1.29ed38p+2 +0x1.022db6p+2 +0x1.547e8ap+15 +0x1.cbdd0cp+0 +0x1.4c354cp+6 +0x1.ab2174p+2 +0x1.14adf6p+0 +0x1.5c178ap+2 +0x1.5450fap+1 +0x1.5972d2p+1 +0x1.02ff02p+2 +0x1.115066p+2 +0x1.50051p+3 +0x1.eb0f5cp+1 +0x1.3fdfb2p+1 +0x1.15e928p+2 +0x1.c7105cp+1 +0x1.9ab78p+11 +0x1.3e4d48p+2 +0x1.d995bap+1 +0x1.d70ddap+0 +0x1.2d37ep+2 +0x1.0ac986p+0 +0x1.d2c4d2p+0 +0x1.f4afe4p+2 +0x1.fc4ce4p+1 +0x1.38ca9ap+3 +0x1.7bfd36p+2 +0x1.ca954cp+0 +0x1.157782p+2 +0x1.347decp+2 +0x1.961dc8p+1 +0x1.10ef5cp+2 +0x1.015176p+0 +0x1.a2e174p+2 +0x1.6a3dcp+2 +0x1.f29fd2p+11 +0x1.8a60fp+2 +0x1.2830fcp+1 +0x1.bd8458p+2 +0x1.dfed66p+0 +0x1.614c18p+2 +0x1.2f0888p+11 +0x1.170d8ap+1 +0x1.773764p+0 +0x1.549386p+1 +0x1.38efc8p+2 +0x1.376cep+1 +0x1.649a6ap+1 +0x1.fc134p+2 +0x1.07e6e6p+3 +0x1.5c9c0ap+2 +0x1.2aba76p+1 +0x1.c66bccp+2 +0x1.7644e8p+10 +0x1.135114p+1 +0x1.a23a7p+1 +0x1.2e9b64p+2 +0x1.070204p+0 +0x1.b4cc66p+2 +0x1.25b40ep+2 +0x1.8c880cp+0 +0x1.0b00eap+0 +0x1.07e42ep+2 +0x1.e86696p+14 +0x1.10643ep+2 +0x1.aa5094p+0 +0x1.ef1a8ep+1 +0x1.5ea42cp+1 +0x1.ff3ebcp+3 +0x1.420acep+1 +0x1.ecd6f6p+1 +0x1.f0c48cp+1 +0x1.0d5dd6p+3 +0x1.dc743cp+1 +0x1.3f30f8p+3 +0x1.655e3ep+1 +0x1.953b7ap+1 +0x1.214bdcp+2 +0x1.5feb12p+1 +0x1.3e247p+2 +0x1.a815fcp+0 +0x1.169f62p+1 +0x1.61a27ep+2 +0x1.37fd32p+11 +0x1.4fe18cp+1 +0x1.22f4b8p+1 +0x1.df3c7ap+0 +0x1.845f2p+2 +0x1.2d70bap+3 +0x1.0c1484p+1 +0x1.fa1ac8p+2 +0x1.a408b2p+2 +0x1.27ea6ap+2 +0x1.d43acp+1 +0x1.f0f72cp+0 +0x1.655498p+0 +0x1.d37c0ap+11 +0x1.5115d4p+1 +0x1.b7758ep+2 +0x1.ad3864p+1 +0x1.6936cap+3 +0x1.425b02p+2 +0x1.7d783p+1 +0x1.a6ae98p+2 +0x1.40a65p+3 +0x1.2a587cp+1 +0x1.9cd334p+2 +0x1.79149cp+10 +0x1.16ef22p+1 +0x1.94285ep+2 +0x1.f32734p+1 +0x1.ccaeep+0 +0x1.628636p+2 +0x1.8e5dbcp+0 +0x1.86b7fp+2 +0x1.9f3e2p+2 +0x1.3fae32p+1 +0x1.e7c62cp+0 +0x1.9c4848p+1 +0x1.b9bbc8p+1 +0x1.d15a36p+2 +0x1.0be4d8p+2 +0x1.38cfc2p+2 +0x1.b0d12ep+0 +0x1.f32d0cp+1 +0x1.2b7c62p+1 +0x1.00c708p+2 +0x1.0a6b2ep+2 +0x1.259caap+2 +0x1.c1c8c6p+1 +0x1.43490ap+0 +0x1.d35e2ap+1 +0x1.024594p+0 +0x1.cc69ccp+0 +0x1.acce1ap+2 +0x1.0db72cp+3 +0x1.21f85cp+2 +0x1.0b0adep+2 +0x1.0ac6eep+2 +0x1.6aa65cp+3 +0x1.6ecf42p+0 +0x1.6acd68p+2 +0x1.833e22p+2 +0x1.391c5ep+9 +0x1.10b448p+2 +0x1.550c5ap+3 +0x1.b74f24p+0 +0x1.173db6p+2 +0x1.8c1118p+2 +0x1.39eefap+0 +0x1.0042cep+3 +0x1.d500c2p+1 +0x1.5650f8p+1 +0x1.f77ceep+1 +0x1.b72456p+1 +0x1.6a4a3cp+2 +0x1.caecp+1 +0x1.bcb9f8p+1 +0x1.931bcep+10 +0x1.18bf3ep+3 +0x1.8fd4d6p+4 +0x1.df1e62p+4 +0x1.c04b1p+1 +0x1.833364p+1 +0x1.d2c51p+2 +0x1.1b9c1ap+2 +0x1.0bccc6p+0 +0x1.cba2eep+0 +0x1.4808dap+2 +0x1.00aaf2p+3 +0x1.b89208p+0 +0x1.f58deap+1 +0x1.e35dc8p+2 +0x1.8b9542p+1 +0x1.332e8cp+0 +0x1.49a0f8p+2 +0x1.002e1ap+2 +0x1.aa81b8p+1 +0x1.fca90ap+1 +0x1.9502ap+8 +0x1.199beap+1 +0x1.5cc77ap+0 +0x1.dd9818p+2 +0x1.34c638p+3 +0x1.4be84p+0 +0x1.256028p+0 +0x1.2fdep+2 +0x1.3fa7d8p+2 +0x1.1d7aa2p+2 +0x1.4a7p+1 +0x1.28227ep+1 +0x1.4bce7p+1 +0x1.0e46d6p+8 +0x1.26327ep+0 +0x1.1155fcp+2 +0x1.21fabcp+3 +0x1.37ccep+1 +0x1.63527cp+3 +0x1.47c5b6p+0 +0x1.bd396p+1 +0x1.e3c76cp+1 +0x1.d570fap+2 +0x1.072c0ap+2 +0x1.2623b2p+0 +0x1.a30152p+2 +0x1.200d1p+2 +0x1.eb9decp+0 +0x1.10d4fcp+0 +0x1.cc3948p+0 +0x1.c4ddcap+2 +0x1.07146ap+2 +0x1.3cf424p+1 +0x1.501e02p+1 +0x1.21ec5p+2 +0x1.7dd724p+1 +0x1.e1a3d8p+2 +0x1.361548p+2 +0x1.56cb2ep+1 +0x1.9d65bap+0 +0x1.7899p+0 +0x1.5ffb8cp+2 +0x1.55772ep+2 +0x1.9bf3acp+1 +0x1.e65518p+17 +0x1.92a96ap+2 +0x1.b964c6p+1 +0x1.067f24p+1 +0x1.64bedap+13 +0x1.c67606p+0 +0x1.cfa246p+0 +0x1.9aa722p+1 +0x1.64e89ap+0 +0x1.d0707ep+1 +0x1.44e628p+0 +0x1.e4598p+2 +0x1.c568a8p+2 +0x1.b38aaep+2 +0x1.bb3218p+0 +0x1.54fbb8p+1 +0x1.41daa2p+0 +0x1.6ff64ep+2 +0x1.cec07p+2 +0x1.d3d872p+1 +0x1.0702c4p+2 +0x1.194a64p+1 +0x1.42ca24p+2 +0x1.1f299ap+1 +0x1.5ae21ap+1 +0x1.befa9ap+1 +0x1.c18c48p+2 +0x1.adf44ap+11 +0x1.aab05p+0 +0x1.2725fcp+1 +0x1.14b86p+1 +0x1.03f358p+1 +0x1.ad3e7ep+0 +0x1.7a296ep+8 +0x1.15cde6p+2 +0x1.3a83ap+2 +0x1.22f5bep+2 +0x1.28fba2p+1 +0x1.859d82p+1 +0x1.627d3ap+1 +0x1.ba705ep+0 +0x1.07d02p+2 +0x1.7e3962p+1 +0x1.40ec04p+0 +0x1.52b4c2p+1 +0x1.0fc396p+1 +0x1.446cdap+2 +0x1.1eaa02p+1 +0x1.65100cp+0 +0x1.6f4da6p+1 +0x1.1f4788p+1 +0x1.f9d402p+0 +0x1.41f2e4p+1 +0x1.745fap+2 +0x1.5ddd4ap+2 +0x1.27dba8p+1 +0x1.8acbcep+6 +0x1.c8978p+1 +0x1.52dd6cp+2 +0x1.f0589ep+1 +0x1.4b11dp+2 +0x1.2acd46p+1 +0x1.c531c6p+0 +0x1.1147a2p+15 +0x1.5d2b6ap+2 From patchwork Wed Nov 24 19:37:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48073 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E9189385803B for ; Wed, 24 Nov 2021 19:42:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E9189385803B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637782954; bh=vFVl+FEpAw6rKR0TUnicWv5LAUA5rmpd/CI46OPFysU=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=fdcsAn6EFdWcIs2pZ4Z9vKwUaBXStGX6n1py8Qbx31uDYM9CWgoVPE9j8Svu5eISL O7+3p8mcq9GYpqpBJPn3CNi4UqEv9bvG1BrQJPQvRxkzVRKAUnhbhCenNHWNQyBtO+ QDA1QDTy+kHgVSKpCOI24hHXpNQmIPLou7AMPnXA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id 224C6385800F for ; Wed, 24 Nov 2021 19:38:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 224C6385800F X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="232852725" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="232852725" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="475399691" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga002.jf.intel.com with ESMTP; 24 Nov 2021 11:38:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Wq021555; Wed, 24 Nov 2021 11:38:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 05/42] x86-64: Add vector asin/asinf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:30 -0800 Message-Id: <20211124193807.2093208-6-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.2 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized asin/asinf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector asin/asinf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_asin2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_asin2_core.c | 27 + .../fpu/multiarch/svml_d_asin2_core_sse4.S | 2765 +++++++++++++++++ .../fpu/multiarch/svml_d_asin4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_asin4_core.c | 27 + .../fpu/multiarch/svml_d_asin4_core_avx2.S | 2647 ++++++++++++++++ .../fpu/multiarch/svml_d_asin8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_asin8_core.c | 27 + .../fpu/multiarch/svml_d_asin8_core_avx512.S | 2523 +++++++++++++++ .../fpu/multiarch/svml_s_asinf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_asinf16_core.c | 28 + .../multiarch/svml_s_asinf16_core_avx512.S | 2173 +++++++++++++ .../fpu/multiarch/svml_s_asinf4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_asinf4_core.c | 28 + .../fpu/multiarch/svml_s_asinf4_core_sse4.S | 2649 ++++++++++++++++ .../fpu/multiarch/svml_s_asinf8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_asinf8_core.c | 28 + .../fpu/multiarch/svml_s_asinf8_core_avx2.S | 2483 +++++++++++++++ sysdeps/x86_64/fpu/svml_d_asin2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_asin4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_asin4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_asin8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_asinf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_asinf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_asinf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_asinf8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-asin-avx.c | 1 + .../fpu/test-double-libmvec-asin-avx2.c | 1 + .../fpu/test-double-libmvec-asin-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-asin.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-asinf-avx.c | 1 + .../fpu/test-float-libmvec-asinf-avx2.c | 1 + .../fpu/test-float-libmvec-asinf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-asinf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 15808 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_asin2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_asin4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_asin4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_asin8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_asinf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_asinf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_asinf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_asinf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-asin-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-asin-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-asin-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-asin.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-asinf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 7408044938..5628ada8e1 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -120,4 +120,15 @@ #define __DECL_SIMD_acoshf32x #define __DECL_SIMD_acoshf64x #define __DECL_SIMD_acoshf128x + +#define __DECL_SIMD_asin +#define __DECL_SIMD_asinf +#define __DECL_SIMD_asinl +#define __DECL_SIMD_asinf16 +#define __DECL_SIMD_asinf32 +#define __DECL_SIMD_asinf64 +#define __DECL_SIMD_asinf128 +#define __DECL_SIMD_asinf32x +#define __DECL_SIMD_asinf64x +#define __DECL_SIMD_asinf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 3380358eb8..dc04ab5538 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -52,7 +52,7 @@ /* Arc cosine of X. */ __MATHCALL_VEC (acos,, (_Mdouble_ __x)); /* Arc sine of X. */ -__MATHCALL (asin,, (_Mdouble_ __x)); +__MATHCALL_VEC (asin,, (_Mdouble_ __x)); /* Arc tangent of X. */ __MATHCALL (atan,, (_Mdouble_ __x)); /* Arc tangent of Y/X. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index dfc5cbc7dc..99229e1b1f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -48,17 +48,25 @@ GLIBC_2.22 _ZGVeN8vv_pow F GLIBC_2.22 _ZGVeN8vvv_sincos F GLIBC_2.35 _ZGVbN2v_acos F GLIBC_2.35 _ZGVbN2v_acosh F +GLIBC_2.35 _ZGVbN2v_asin F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F +GLIBC_2.35 _ZGVbN4v_asinf F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F +GLIBC_2.35 _ZGVcN4v_asin F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F +GLIBC_2.35 _ZGVcN8v_asinf F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F +GLIBC_2.35 _ZGVdN4v_asin F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F +GLIBC_2.35 _ZGVdN8v_asinf F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F +GLIBC_2.35 _ZGVeN16v_asinf F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F +GLIBC_2.35 _ZGVeN8v_asin F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index e7097a0a77..d1b3b566cd 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -66,6 +66,10 @@ # define __DECL_SIMD_acosh __DECL_SIMD_x86_64 # undef __DECL_SIMD_acoshf # define __DECL_SIMD_acoshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asin +# define __DECL_SIMD_asin __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinf +# define __DECL_SIMD_asinf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index ed34708924..b190086619 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -24,6 +24,7 @@ postclean-generated += libmvec.mk libmvec-funcs = \ acos \ acosh \ + asin \ cos \ exp \ log \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 053d32d14d..21d0c7937f 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -16,7 +16,9 @@ libmvec { GLIBC_2.35 { _ZGVbN2v_acos; _ZGVcN4v_acos; _ZGVdN4v_acos; _ZGVeN8v_acos; _ZGVbN2v_acosh; _ZGVcN4v_acosh; _ZGVdN4v_acosh; _ZGVeN8v_acosh; + _ZGVbN2v_asin; _ZGVcN4v_asin; _ZGVdN4v_asin; _ZGVeN8v_asin; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; + _ZGVbN4v_asinf; _ZGVcN8v_asinf; _ZGVdN8v_asinf; _ZGVeN16v_asinf; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 8c8f4c648d..30ac87d84e 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -113,6 +113,26 @@ float: 1 float128: 2 ldouble: 1 +Function: "asin_vlen16": +float: 1 + +Function: "asin_vlen2": +double: 1 + +Function: "asin_vlen4": +double: 1 +float: 1 + +Function: "asin_vlen4_avx2": +double: 1 + +Function: "asin_vlen8": +double: 1 +float: 1 + +Function: "asin_vlen8_avx2": +float: 1 + Function: "asinh": double: 2 float: 2 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core-sse2.S new file mode 100644 index 0000000000..57e1d41a7b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized asin, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_asin _ZGVbN2v_asin_sse2 +#include "../svml_d_asin2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core.c new file mode 100644 index 0000000000..e46c3af81e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized asin, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_asin +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_asin, __GI__ZGVbN2v_asin, __redirect__ZGVbN2v_asin) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core_sse4.S new file mode 100644 index 0000000000..8dbfd46b93 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core_sse4.S @@ -0,0 +1,2765 @@ +/* Function asin vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * asin(x) = (SelMask ? (Pi/2 - 2*Poly(R)) : Poly(R))*(-1)^sign(x) + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_asin_sse4) + 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 + movups %xmm8, 112(%rsp) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movups __svml_dasin_data_internal(%rip), %xmm8 + movups 64+__svml_dasin_data_internal(%rip), %xmm4 + movups %xmm15, 144(%rsp) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + +/* x = |arg| */ + movaps %xmm8, %xmm15 + movups %xmm14, 160(%rsp) + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movaps %xmm0, %xmm14 + andps %xmm14, %xmm15 + +/* Y = 0.5 - 0.5*x */ + movaps %xmm4, %xmm7 + mulpd %xmm15, %xmm7 + movaps %xmm4, %xmm5 + andnps %xmm14, %xmm8 + subpd %xmm7, %xmm5 + +/* S ~ -2*sqrt(Y) */ + cvtpd2ps %xmm5, %xmm3 + movlhps %xmm3, %xmm3 + movaps %xmm5, %xmm0 + rsqrtps %xmm3, %xmm1 + cmpltpd 128+__svml_dasin_data_internal(%rip), %xmm0 + cvtps2pd %xmm1, %xmm2 + movups 256+__svml_dasin_data_internal(%rip), %xmm6 + +/* x^2 */ + movaps %xmm15, %xmm7 + cmpltpd %xmm15, %xmm6 + mulpd %xmm15, %xmm7 + movmskpd %xmm6, %edx + movaps %xmm15, %xmm6 + andnps %xmm2, %xmm0 + movups 448+__svml_dasin_data_internal(%rip), %xmm3 + cmpnltpd %xmm4, %xmm6 + minpd %xmm5, %xmm7 + addpd %xmm5, %xmm5 + movaps %xmm0, %xmm4 + mulpd %xmm0, %xmm4 + mulpd %xmm5, %xmm0 + mulpd %xmm4, %xmm5 + subpd 384+__svml_dasin_data_internal(%rip), %xmm5 + mulpd %xmm5, %xmm3 + addpd 464+__svml_dasin_data_internal(%rip), %xmm3 + mulpd %xmm5, %xmm3 + addpd 480+__svml_dasin_data_internal(%rip), %xmm3 + movaps %xmm5, %xmm4 + mulpd %xmm3, %xmm5 + mulpd %xmm0, %xmm4 + addpd 496+__svml_dasin_data_internal(%rip), %xmm5 + mulpd %xmm5, %xmm4 + +/* polynomial */ + movups 512+__svml_dasin_data_internal(%rip), %xmm5 + movaps %xmm7, %xmm3 + mulpd %xmm7, %xmm5 + mulpd %xmm7, %xmm3 + addpd 528+__svml_dasin_data_internal(%rip), %xmm5 + subpd %xmm0, %xmm4 + mulpd %xmm3, %xmm5 + movups 544+__svml_dasin_data_internal(%rip), %xmm2 + andps %xmm6, %xmm4 + mulpd %xmm7, %xmm2 + movups 576+__svml_dasin_data_internal(%rip), %xmm0 + mulpd %xmm7, %xmm0 + addpd 560+__svml_dasin_data_internal(%rip), %xmm2 + addpd 592+__svml_dasin_data_internal(%rip), %xmm0 + addpd %xmm5, %xmm2 + mulpd %xmm3, %xmm0 + movups 608+__svml_dasin_data_internal(%rip), %xmm1 + movaps %xmm3, %xmm5 + mulpd %xmm7, %xmm1 + mulpd %xmm3, %xmm5 + addpd 624+__svml_dasin_data_internal(%rip), %xmm1 + mulpd %xmm5, %xmm2 + addpd %xmm0, %xmm1 + movups 640+__svml_dasin_data_internal(%rip), %xmm0 + mulpd %xmm7, %xmm0 + addpd %xmm2, %xmm1 + addpd 656+__svml_dasin_data_internal(%rip), %xmm0 + mulpd %xmm3, %xmm1 + addpd %xmm1, %xmm0 + movups 672+__svml_dasin_data_internal(%rip), %xmm1 + movaps %xmm6, %xmm2 + mulpd %xmm7, %xmm1 + mulpd %xmm0, %xmm3 + addpd 688+__svml_dasin_data_internal(%rip), %xmm1 + addpd %xmm3, %xmm1 + mulpd %xmm1, %xmm7 + andnps %xmm15, %xmm2 + orps %xmm4, %xmm2 + mulpd %xmm2, %xmm7 + addpd %xmm7, %xmm2 + movups 704+__svml_dasin_data_internal(%rip), %xmm0 + andps %xmm6, %xmm0 + addpd %xmm2, %xmm0 + pxor %xmm8, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 160(%rsp), %xmm14 + cfi_restore(31) + movups 144(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm14, 128(%rsp) + movups %xmm0, 192(%rsp) + xorl %eax, %eax + movups %xmm9, 64(%rsp) + movups %xmm10, 48(%rsp) + movups %xmm11, 32(%rsp) + movups %xmm12, 16(%rsp) + movups %xmm13, (%rsp) + movq %rsi, 88(%rsp) + movq %rdi, 80(%rsp) + movq %r12, 104(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 96(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 64(%rsp), %xmm9 + cfi_restore(26) + movups 48(%rsp), %xmm10 + cfi_restore(27) + movups 32(%rsp), %xmm11 + cfi_restore(28) + movups 16(%rsp), %xmm12 + cfi_restore(29) + movups (%rsp), %xmm13 + cfi_restore(30) + movq 88(%rsp), %rsi + cfi_restore(4) + movq 80(%rsp), %rdi + cfi_restore(5) + movq 104(%rsp), %r12 + cfi_restore(12) + movq 96(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 128(%rsp,%r12,8), %rdi + lea 192(%rsp,%r12,8), %rsi + call __svml_dasin_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_asin_sse4) + + .align 16,0x90 + +__svml_dasin_cout_rare_internal: + + cfi_startproc + + 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 .LBL_73 + movaps %xmm1, %xmm6 + +.LBL_73: + 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 + + cfi_endproc + + .type __svml_dasin_cout_rare_internal,@function + .size __svml_dasin_cout_rare_internal,.-__svml_dasin_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dasin_data_internal: + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 805306368 + .long 0 + .long 805306368 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294967040 + .long 0 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2570790083 + .long 3213983744 + .long 2570790083 + .long 3213983744 + .long 1869665325 + .long 1067712512 + .long 1869665325 + .long 1067712512 + .long 4294966935 + .long 3216506879 + .long 4294966935 + .long 3216506879 + .long 4294967197 + .long 1070596095 + .long 4294967197 + .long 1070596095 + .long 3339630857 + .long 1067480352 + .long 3339630857 + .long 1067480352 + .long 4158370029 + .long 3213949719 + .long 4158370029 + .long 3213949719 + .long 3216784302 + .long 1066680132 + .long 3216784302 + .long 1066680132 + .long 2513723093 + .long 1064982579 + .long 2513723093 + .long 1064982579 + .long 721210070 + .long 1065941212 + .long 721210070 + .long 1065941212 + .long 3414736215 + .long 1066167739 + .long 3414736215 + .long 1066167739 + .long 4114132270 + .long 1066518236 + .long 4114132270 + .long 1066518236 + .long 3957258973 + .long 1066854556 + .long 3957258973 + .long 1066854556 + .long 3778730174 + .long 1067392114 + .long 3778730174 + .long 1067392114 + .long 3014936056 + .long 1067899757 + .long 3014936056 + .long 1067899757 + .long 859300062 + .long 1068708659 + .long 859300062 + .long 1068708659 + .long 1431655068 + .long 1069897045 + .long 1431655068 + .long 1069897045 + .long 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 856972295 + .long 1016178214 + .long 856972295 + .long 1016178214 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 4294705152 + .long 0 + .long 4294705152 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4131758366 + .long 1067674714 + .long 4131758366 + .long 1067674714 + .long 3936260738 + .long 1066197319 + .long 3936260738 + .long 1066197319 + .long 354394453 + .long 1067472564 + .long 354394453 + .long 1067472564 + .long 709676628 + .long 1067895021 + .long 709676628 + .long 1067895021 + .long 3958922090 + .long 1068708761 + .long 3958922090 + .long 1068708761 + .long 2160605765 + .long 1069897044 + .long 2160605765 + .long 1069897044 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dasin_data_internal,@object + .size __svml_dasin_data_internal,1344 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core-sse.S new file mode 100644 index 0000000000..1006fddc59 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized asin, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_asin _ZGVdN4v_asin_sse_wrapper +#include "../svml_d_asin4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core.c new file mode 100644 index 0000000000..b896516f5e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized asin, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_asin +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_asin, __GI__ZGVdN4v_asin, __redirect__ZGVdN4v_asin) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core_avx2.S new file mode 100644 index 0000000000..08cf09101e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core_avx2.S @@ -0,0 +1,2647 @@ +/* Function asin vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * asin(x) = (SelMask ? (Pi/2 - 2*Poly(R)) : Poly(R))*(-1)^sign(x) + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_asin_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + vmovups %ymm8, 32(%rsp) + vmovupd __svml_dasin_data_internal(%rip), %ymm6 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + vmovupd 64+__svml_dasin_data_internal(%rip), %ymm8 + vmovups %ymm11, 192(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm9, 96(%rsp) + vmovupd 256+__svml_dasin_data_internal(%rip), %ymm1 + vmovups %ymm12, 224(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm15, 320(%rsp) + vmovapd %ymm0, %ymm5 + +/* x = |arg| */ + vandpd %ymm5, %ymm6, %ymm4 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +/* Y = 0.5 - 0.5*x */ + vmovapd %ymm8, %ymm11 + vfnmadd231pd %ymm4, %ymm8, %ymm11 + +/* x^2 */ + vmulpd %ymm4, %ymm4, %ymm7 + vcmplt_oqpd %ymm4, %ymm1, %ymm0 + +/* S ~ -2*sqrt(Y) */ + vcmplt_oqpd 128+__svml_dasin_data_internal(%rip), %ymm11, %ymm9 + vminpd %ymm11, %ymm7, %ymm2 + vaddpd %ymm11, %ymm11, %ymm14 + vcmpnlt_uqpd %ymm8, %ymm4, %ymm1 + vcvtpd2ps %ymm11, %xmm7 + vmovupd 768+__svml_dasin_data_internal(%rip), %ymm8 + vmovupd 832+__svml_dasin_data_internal(%rip), %ymm11 + vfmadd213pd 800+__svml_dasin_data_internal(%rip), %ymm2, %ymm8 + vfmadd213pd 864+__svml_dasin_data_internal(%rip), %ymm2, %ymm11 + vandnpd %ymm5, %ymm6, %ymm3 + vrsqrtps %xmm7, %xmm6 + vmovupd 640+__svml_dasin_data_internal(%rip), %ymm7 + vcvtps2pd %xmm6, %ymm10 + vfmadd213pd 672+__svml_dasin_data_internal(%rip), %ymm2, %ymm7 + vandnpd %ymm10, %ymm9, %ymm12 + vmulpd %ymm12, %ymm12, %ymm13 + vmulpd %ymm14, %ymm12, %ymm6 + vmovupd 704+__svml_dasin_data_internal(%rip), %ymm10 + vmulpd %ymm2, %ymm2, %ymm12 + vfmsub213pd 384+__svml_dasin_data_internal(%rip), %ymm13, %ymm14 + vmovupd 896+__svml_dasin_data_internal(%rip), %ymm13 + vfmadd213pd 736+__svml_dasin_data_internal(%rip), %ymm2, %ymm10 + vmulpd %ymm12, %ymm12, %ymm9 + vmulpd %ymm14, %ymm6, %ymm15 + vfmadd213pd 928+__svml_dasin_data_internal(%rip), %ymm2, %ymm13 + vfmadd213pd %ymm8, %ymm12, %ymm10 + vmovmskpd %ymm0, %edx + vmovupd 448+__svml_dasin_data_internal(%rip), %ymm0 + vfmadd213pd 480+__svml_dasin_data_internal(%rip), %ymm14, %ymm0 + vfmadd213pd 512+__svml_dasin_data_internal(%rip), %ymm14, %ymm0 + vfmadd213pd 544+__svml_dasin_data_internal(%rip), %ymm14, %ymm0 + +/* polynomial */ + vmovupd 576+__svml_dasin_data_internal(%rip), %ymm14 + vfmsub213pd %ymm6, %ymm15, %ymm0 + vfmadd213pd 608+__svml_dasin_data_internal(%rip), %ymm2, %ymm14 + vblendvpd %ymm1, %ymm0, %ymm4, %ymm4 + vfmadd213pd %ymm7, %ymm12, %ymm14 + vfmadd213pd %ymm10, %ymm9, %ymm14 + vfmadd213pd %ymm11, %ymm12, %ymm14 + vfmadd213pd %ymm13, %ymm12, %ymm14 + vmulpd %ymm14, %ymm2, %ymm6 + vfmadd213pd %ymm4, %ymm4, %ymm6 + vandpd 960+__svml_dasin_data_internal(%rip), %ymm1, %ymm2 + vaddpd %ymm6, %ymm2, %ymm0 + vxorpd %ymm3, %ymm0, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm5, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dasin_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_asin_avx2) + + .align 16,0x90 + +__svml_dasin_cout_rare_internal: + + cfi_startproc + + 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 .LBL_73 + movaps %xmm1, %xmm6 + +.LBL_73: + 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 + + cfi_endproc + + .type __svml_dasin_cout_rare_internal,@function + .size __svml_dasin_cout_rare_internal,.-__svml_dasin_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dasin_data_internal: + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 805306368 + .long 0 + .long 805306368 + .long 0 + .long 805306368 + .long 0 + .long 805306368 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294967040 + .long 0 + .long 4294967040 + .long 0 + .long 4294967040 + .long 0 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .long 0 + .long 1073741824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 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 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 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 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 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 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 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 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 856972295 + .long 1016178214 + .long 856972295 + .long 1016178214 + .long 856972295 + .long 1016178214 + .long 856972295 + .long 1016178214 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 4294705152 + .long 0 + .long 4294705152 + .long 0 + .long 4294705152 + .long 0 + .long 4294705152 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 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 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 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,1664 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core-avx2.S new file mode 100644 index 0000000000..354a55dfaa --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized asin, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_asin _ZGVeN8v_asin_avx2_wrapper +#include "../svml_d_asin8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core.c new file mode 100644 index 0000000000..b03e4a2b9c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized asin, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_asin +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_asin, __GI__ZGVeN8v_asin, __redirect__ZGVeN8v_asin) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core_avx512.S new file mode 100644 index 0000000000..9b0968da36 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core_avx512.S @@ -0,0 +1,2523 @@ +/* Function asin vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * asin(x) = (SelMask ? (Pi/2 - 2*Poly(R)) : Poly(R))*(-1)^sign(x) + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_asin_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN8v_asin_skx) + + .align 16,0x90 + +__svml_dasin_cout_rare_internal: + + cfi_startproc + + 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 .LBL_54 + movaps %xmm1, %xmm6 + +.LBL_54: + 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 + + cfi_endproc + + .type __svml_dasin_cout_rare_internal,@function + .size __svml_dasin_cout_rare_internal,.-__svml_dasin_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core-avx2.S new file mode 100644 index 0000000000..e0582f27d4 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized asinf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_asinf _ZGVeN16v_asinf_avx2_wrapper +#include "../svml_s_asinf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core.c new file mode 100644 index 0000000000..4435055566 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized asinf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_asinf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_asinf, __GI__ZGVeN16v_asinf, + __redirect__ZGVeN16v_asinf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core_avx512.S new file mode 100644 index 0000000000..20dea4c2e1 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core_avx512.S @@ -0,0 +1,2173 @@ +/* Function asinf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * asin(x) = (SelMask ? (Pi/2 - 2*Poly(R)) : Poly(R))*(-1)^sign(x) + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_asinf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN16v_asinf_skx) + + .align 16,0x90 + +__svml_sasin_cout_rare_internal: + + cfi_startproc + + 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 .LBL_54 + movaps %xmm1, %xmm6 + +.LBL_54: + 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 + + cfi_endproc + + .type __svml_sasin_cout_rare_internal,@function + .size __svml_sasin_cout_rare_internal,.-__svml_sasin_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core-sse2.S new file mode 100644 index 0000000000..b958db7795 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized asinf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_asinf _ZGVbN4v_asinf_sse2 +#include "../svml_s_asinf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core.c new file mode 100644 index 0000000000..5a7aa94264 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized asinf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_asinf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_asinf, __GI__ZGVbN4v_asinf, + __redirect__ZGVbN4v_asinf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core_sse4.S new file mode 100644 index 0000000000..e59df80414 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core_sse4.S @@ -0,0 +1,2649 @@ +/* Function asinf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * asin(x) = (SelMask ? (Pi/2 - 2*Poly(R)) : Poly(R))*(-1)^sign(x) + * + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_asinf_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm7 + movups __svml_sasin_data_internal(%rip), %xmm5 + movups 64+__svml_sasin_data_internal(%rip), %xmm3 + movups %xmm9, 144(%rsp) + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + +/* x = |arg| */ + movaps %xmm5, %xmm9 + andps %xmm7, %xmm9 + +/* Y = 0.5 - 0.5*x */ + movaps %xmm3, %xmm4 + mulps %xmm9, %xmm4 + movaps %xmm3, %xmm6 + movups 256+__svml_sasin_data_internal(%rip), %xmm2 + andnps %xmm7, %xmm5 + cmpltps %xmm9, %xmm2 + subps %xmm4, %xmm6 + movmskps %xmm2, %edx + movaps %xmm9, %xmm2 + +/* SQ ~ -2*sqrt(Y) */ + movaps %xmm6, %xmm1 + +/* x^2 */ + movaps %xmm9, %xmm4 + cmpnltps %xmm3, %xmm2 + cmpltps 192+__svml_sasin_data_internal(%rip), %xmm1 + rsqrtps %xmm6, %xmm3 + mulps %xmm9, %xmm4 + andnps %xmm3, %xmm1 + movaps %xmm1, %xmm0 + minps %xmm6, %xmm4 + mulps %xmm1, %xmm0 + addps %xmm6, %xmm6 + mulps %xmm6, %xmm1 + mulps %xmm0, %xmm6 + movups 512+__svml_sasin_data_internal(%rip), %xmm0 + movups 608+__svml_sasin_data_internal(%rip), %xmm3 + mulps %xmm4, %xmm3 + subps 448+__svml_sasin_data_internal(%rip), %xmm6 + mulps %xmm6, %xmm0 + addps 624+__svml_sasin_data_internal(%rip), %xmm3 + mulps %xmm1, %xmm6 + addps 528+__svml_sasin_data_internal(%rip), %xmm0 + mulps %xmm6, %xmm0 + +/* polynomial */ + movups 576+__svml_sasin_data_internal(%rip), %xmm6 + subps %xmm1, %xmm0 + mulps %xmm4, %xmm6 + movaps %xmm4, %xmm1 + andps %xmm2, %xmm0 + mulps %xmm4, %xmm1 + addps 592+__svml_sasin_data_internal(%rip), %xmm6 + mulps %xmm1, %xmm6 + movaps %xmm2, %xmm1 + andnps %xmm9, %xmm1 + addps %xmm6, %xmm3 + mulps %xmm4, %xmm3 + orps %xmm0, %xmm1 + movups 704+__svml_sasin_data_internal(%rip), %xmm0 + andps %xmm2, %xmm0 + addps 640+__svml_sasin_data_internal(%rip), %xmm3 + mulps %xmm3, %xmm4 + mulps %xmm1, %xmm4 + addps %xmm4, %xmm1 + addps %xmm1, %xmm0 + pxor %xmm5, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 144(%rsp), %xmm9 + cfi_restore(26) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm7, 192(%rsp) + movups %xmm0, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 120(%rsp) + movq %rdi, 112(%rsp) + movq %r12, 136(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 128(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 96(%rsp), %xmm8 + cfi_restore(25) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 120(%rsp), %rsi + cfi_restore(4) + movq 112(%rsp), %rdi + cfi_restore(5) + movq 136(%rsp), %r12 + cfi_restore(12) + movq 128(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_sasin_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_asinf_sse4) + + .align 16,0x90 + +__svml_sasin_cout_rare_internal: + + cfi_startproc + + 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 .LBL_73 + movaps %xmm1, %xmm6 + +.LBL_73: + 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 + + cfi_endproc + + .type __svml_sasin_cout_rare_internal,@function + .size __svml_sasin_cout_rare_internal,.-__svml_sasin_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sasin_data_internal: + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294965248 + .long 4294965248 + .long 4294965248 + .long 4294965248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3183476740 + .long 3183476740 + .long 3183476740 + .long 3183476740 + .long 1048576001 + .long 1048576001 + .long 1048576001 + .long 1048576001 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1026481159 + .long 1026481159 + .long 1026481159 + .long 1026481159 + .long 1019423339 + .long 1019423339 + .long 1019423339 + .long 1019423339 + .long 1027250868 + .long 1027250868 + .long 1027250868 + .long 1027250868 + .long 1033468946 + .long 1033468946 + .long 1033468946 + .long 1033468946 + .long 1042983679 + .long 1042983679 + .long 1042983679 + .long 1042983679 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4290772992 + .long 4290772992 + .long 4290772992 + .long 4290772992 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1036306094 + .long 1036306094 + .long 1036306094 + .long 1036306094 + .long 1042839218 + .long 1042839218 + .long 1042839218 + .long 1042839218 + .long 939876771 + .long 939876771 + .long 939876771 + .long 939876771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_sasin_data_internal,@object + .size __svml_sasin_data_internal,1088 + .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/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core-sse.S new file mode 100644 index 0000000000..6273c919d6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized asinf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_asinf _ZGVdN8v_asinf_sse_wrapper +#include "../svml_s_asinf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core.c new file mode 100644 index 0000000000..946b25b43f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized asinf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_asinf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_asinf, __GI__ZGVdN8v_asinf, + __redirect__ZGVdN8v_asinf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core_avx2.S new file mode 100644 index 0000000000..3bb057b3a3 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core_avx2.S @@ -0,0 +1,2483 @@ +/* Function asinf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * SelMask = (|x| >= 0.5) ? 1 : 0; + * R = SelMask ? sqrt(0.5 - 0.5*|x|) : |x| + * asin(x) = (SelMask ? (Pi/2 - 2*Poly(R)) : Poly(R))*(-1)^sign(x) + * + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_asinf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + vmovups __svml_sasin_data_internal(%rip), %ymm5 + vmovups %ymm8, 256(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + vmovups 64+__svml_sasin_data_internal(%rip), %ymm8 + vmovups 256+__svml_sasin_data_internal(%rip), %ymm6 + vmovups %ymm9, 32(%rsp) + vmovups %ymm10, 96(%rsp) + vmovups %ymm11, 160(%rsp) + vmovups %ymm13, 224(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm12, 192(%rsp) + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovups 640+__svml_sasin_data_internal(%rip), %ymm15 + vmovups %ymm14, 288(%rsp) + vmovaps %ymm0, %ymm4 + +/* x = |arg| */ + vandps %ymm4, %ymm5, %ymm3 + vcmplt_oqps %ymm3, %ymm6, %ymm0 + +/* x^2 */ + vmulps %ymm3, %ymm3, %ymm7 + +/* Y = 0.5 - 0.5*x */ + vmovaps %ymm8, %ymm6 + vfnmadd231ps %ymm3, %ymm8, %ymm6 + vandnps %ymm4, %ymm5, %ymm2 + +/* SQ ~ -2*sqrt(Y) */ + vrsqrtps %ymm6, %ymm5 + vminps %ymm6, %ymm7, %ymm1 + vcmplt_oqps 192+__svml_sasin_data_internal(%rip), %ymm6, %ymm7 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + vaddps %ymm6, %ymm6, %ymm11 + vfmadd213ps 672+__svml_sasin_data_internal(%rip), %ymm1, %ymm15 + vmulps %ymm1, %ymm1, %ymm14 + vandnps %ymm5, %ymm7, %ymm9 + vmulps %ymm9, %ymm9, %ymm10 + vmulps %ymm11, %ymm9, %ymm13 + vmovups 512+__svml_sasin_data_internal(%rip), %ymm5 + vfmsub213ps 448+__svml_sasin_data_internal(%rip), %ymm10, %ymm11 + vfmadd213ps 544+__svml_sasin_data_internal(%rip), %ymm11, %ymm5 + vmulps %ymm11, %ymm13, %ymm12 + +/* polynomial */ + vmovups 576+__svml_sasin_data_internal(%rip), %ymm11 + vfmsub213ps %ymm13, %ymm12, %ymm5 + vfmadd213ps 608+__svml_sasin_data_internal(%rip), %ymm1, %ymm11 + vfmadd213ps %ymm15, %ymm14, %ymm11 + vfmadd213ps 704+__svml_sasin_data_internal(%rip), %ymm1, %ymm11 + vmovmskps %ymm0, %edx + vcmpnlt_uqps %ymm8, %ymm3, %ymm0 + vmulps %ymm11, %ymm1, %ymm6 + vblendvps %ymm0, %ymm5, %ymm3, %ymm3 + vfmadd213ps %ymm3, %ymm3, %ymm6 + vandps 768+__svml_sasin_data_internal(%rip), %ymm0, %ymm1 + vaddps %ymm6, %ymm1, %ymm0 + vxorps %ymm2, %ymm0, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 256(%rsp), %ymm8 + cfi_restore(91) + vmovups 32(%rsp), %ymm9 + cfi_restore(92) + vmovups 96(%rsp), %ymm10 + cfi_restore(93) + vmovups 160(%rsp), %ymm11 + cfi_restore(94) + vmovups 192(%rsp), %ymm12 + cfi_restore(95) + vmovups 224(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm4, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_sasin_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_asinf_avx2) + + .align 16,0x90 + +__svml_sasin_cout_rare_internal: + + cfi_startproc + + 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 .LBL_73 + movaps %xmm1, %xmm6 + +.LBL_73: + 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 + + cfi_endproc + + .type __svml_sasin_cout_rare_internal,@function + .size __svml_sasin_cout_rare_internal,.-__svml_sasin_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sasin_data_internal: + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294965248 + .long 4294965248 + .long 4294965248 + .long 4294965248 + .long 4294965248 + .long 4294965248 + .long 4294965248 + .long 4294965248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 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 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 1042983679 + .long 1042983679 + .long 1042983679 + .long 1042983679 + .long 1042983679 + .long 1042983679 + .long 1042983679 + .long 1042983679 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4290772992 + .long 4290772992 + .long 4290772992 + .long 4290772992 + .long 4290772992 + .long 4290772992 + .long 4290772992 + .long 4290772992 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 939876771 + .long 939876771 + .long 939876771 + .long 939876771 + .long 939876771 + .long 939876771 + .long 939876771 + .long 939876771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_sasin_data_internal,@object + .size __svml_sasin_data_internal,1216 + .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/sysdeps/x86_64/fpu/svml_d_asin2_core.S b/sysdeps/x86_64/fpu/svml_d_asin2_core.S new file mode 100644 index 0000000000..8ff8bc58df --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_asin2_core.S @@ -0,0 +1,29 @@ +/* Function asin vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_asin) +WRAPPER_IMPL_SSE2 asin +END (_ZGVbN2v_asin) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_asin) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_asin4_core.S b/sysdeps/x86_64/fpu/svml_d_asin4_core.S new file mode 100644 index 0000000000..dbe33952bc --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_asin4_core.S @@ -0,0 +1,29 @@ +/* Function asin vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_asin) +WRAPPER_IMPL_AVX _ZGVbN2v_asin +END (_ZGVdN4v_asin) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_asin) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_asin4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_asin4_core_avx.S new file mode 100644 index 0000000000..513a31bde5 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_asin4_core_avx.S @@ -0,0 +1,25 @@ +/* Function asin vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_asin) +WRAPPER_IMPL_AVX _ZGVbN2v_asin +END (_ZGVcN4v_asin) diff --git a/sysdeps/x86_64/fpu/svml_d_asin8_core.S b/sysdeps/x86_64/fpu/svml_d_asin8_core.S new file mode 100644 index 0000000000..06694298cf --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_asin8_core.S @@ -0,0 +1,25 @@ +/* Function asin vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_asin) +WRAPPER_IMPL_AVX512 _ZGVdN4v_asin +END (_ZGVeN8v_asin) diff --git a/sysdeps/x86_64/fpu/svml_s_asinf16_core.S b/sysdeps/x86_64/fpu/svml_s_asinf16_core.S new file mode 100644 index 0000000000..015d583e3f --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_asinf16_core.S @@ -0,0 +1,25 @@ +/* Function asinf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_asinf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_asinf +END (_ZGVeN16v_asinf) diff --git a/sysdeps/x86_64/fpu/svml_s_asinf4_core.S b/sysdeps/x86_64/fpu/svml_s_asinf4_core.S new file mode 100644 index 0000000000..d80f06c16d --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_asinf4_core.S @@ -0,0 +1,29 @@ +/* Function asinf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_asinf) +WRAPPER_IMPL_SSE2 asinf +END (_ZGVbN4v_asinf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_asinf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_asinf8_core.S b/sysdeps/x86_64/fpu/svml_s_asinf8_core.S new file mode 100644 index 0000000000..304ad0a7f5 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_asinf8_core.S @@ -0,0 +1,29 @@ +/* Function asinf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_asinf) +WRAPPER_IMPL_AVX _ZGVbN4v_asinf +END (_ZGVdN8v_asinf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_asinf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_asinf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_asinf8_core_avx.S new file mode 100644 index 0000000000..a2f7dc112e --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_asinf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function asinf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_asinf) +WRAPPER_IMPL_AVX _ZGVbN4v_asinf +END (_ZGVcN8v_asinf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-asin-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-asin-avx.c new file mode 100644 index 0000000000..e37cfdce58 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-asin-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-asin.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-asin-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-asin-avx2.c new file mode 100644 index 0000000000..e37cfdce58 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-asin-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-asin.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-asin-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-asin-avx512f.c new file mode 100644 index 0000000000..e37cfdce58 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-asin-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-asin.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-asin.c b/sysdeps/x86_64/fpu/test-double-libmvec-asin.c new file mode 100644 index 0000000000..d2e16e67f4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-asin.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC asin +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 3a6b956116..c1b251c84e 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -29,6 +29,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVbN2v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVbN2vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVbN2v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVbN2v_acosh) +VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVbN2v_asin) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 55dd89aa4d..4083423061 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -32,6 +32,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVdN4v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVdN4vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVdN4v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVdN4v_acosh) +VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVdN4v_asin) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 93a05f8eac..e3c6fea5b8 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -29,6 +29,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVcN4v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVcN4vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVcN4v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVcN4v_acosh) +VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVcN4v_asin) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index 284fc75888..f6b6934b92 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -29,6 +29,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp), _ZGVeN8v_exp) VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVeN8vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVeN8v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVeN8v_acosh) +VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVeN8v_asin) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx.c new file mode 100644 index 0000000000..6aa8f5f370 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-asinf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx2.c new file mode 100644 index 0000000000..6aa8f5f370 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-asinf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx512f.c new file mode 100644 index 0000000000..6aa8f5f370 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-asinf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-asinf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-asinf.c b/sysdeps/x86_64/fpu/test-float-libmvec-asinf.c new file mode 100644 index 0000000000..2bbe2395a0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-asinf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC asinf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 69c45f82a4..63221da5ac 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -29,6 +29,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVeN16v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVeN16vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVeN16v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVeN16v_acoshf) +VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVeN16v_asinf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 05296b1c06..d82b2e1556 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -29,6 +29,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVbN4v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVbN4vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVbN4v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVbN4v_acoshf) +VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVbN4v_asinf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 13b9aba8d9..fb35f7aa65 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -32,6 +32,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVdN8v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVdN8vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVdN8v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVdN8v_acoshf) +VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVdN8v_asinf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 274b742448..171d92d0b1 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -29,6 +29,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expf), _ZGVcN8v_expf) VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVcN8vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVcN8v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVcN8v_acoshf) +VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVcN8v_asinf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48077 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 256EB3858433 for ; Wed, 24 Nov 2021 19:47:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 256EB3858433 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783275; bh=PPzL1P1Sy5/F6dXMzoARifZPchuH8+gniOo7dZWk3Fc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=hoYJGzAa3KHQOhfTiT7tulF5RLA/5sQoMcvyB2x2YFNAeWgbibmXSKxINmcYw9B/N Oa9UsFQ+OmRj//T5uejwVfUV5bW0aPBCrJS8bMNIaVMijWfcXyDwBYk/I2mR+8FBJG Vpnj8kYavGiZi6JzyAhatZPeyHHQnSKvtXq20QD4= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id BCA62385801D for ; Wed, 24 Nov 2021 19:38:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BCA62385801D X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235177327" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235177327" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="591701867" Received: from scymds02.sc.intel.com ([10.82.73.244]) by FMSMGA003.fm.intel.com with ESMTP; 24 Nov 2021 11:38:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Wr021555; Wed, 24 Nov 2021 11:38:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 06/42] x86-64: Add vector asin/asinf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:31 -0800 Message-Id: <20211124193807.2093208-7-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector asin/asinf and input files to libmvec microbenchmark. libmvec-asin-inputs: 90% Normal random distribution range: (-1.0, 1.0) mean: 0.0 sigma: 1.0 10% uniform random distribution in range (-1.0, 1.0) libmvec-asinf-inputs: 90% Normal random distribution range: (-1.0f, 1.0f) mean: 0.0f sigma: 1.0f 10% uniform random distribution in range (-1.0f, 1.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-asin-inputs | 4100 +++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-asinf-inputs | 4100 +++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-asin-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-asinf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index b190086619..ca8e67cd39 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -36,6 +36,7 @@ libmvec-funcs = \ libmvec-bench-funcs = \ acos \ acosh \ + asin \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-asin-inputs b/sysdeps/x86_64/fpu/libmvec-asin-inputs new file mode 100644 index 0000000000..fd9a35f7e9 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-asin-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-1, 1), mean = 0, standard deviation = 1 +-0x1.11003707ad71cp-2 +-0x1.1f03ac14205d9p-1 +-0x1.5838c30ed6fc3p-1 +-0x1.4da85539de3b5p-1 +-0x1.c8504e37d86ddp-2 +-0x1.ea09e1c33d868p-1 +0x1.7280a3c0da21ep-3 +0x1.ab9c04900f4f5p-3 +-0x1.b43cda4d6705ep-3 +-0x1.6e4445cbd37d4p-1 +-0x1.da8bf72b700aep-1 +-0x1.0908b9d017ed2p-3 +-0x1.3227ed5b58471p-5 +-0x1.c10dd2b9255f4p-2 +-0x1.2bbc5f516e8d5p-2 +-0x1.b20d60c7a530ap-8 +0x1.1ee5aa3496dfdp-1 +-0x1.bae5630be8fa1p-2 +-0x1.044a9a182f9f8p-1 +-0x1.8d7e8be40c528p-3 +0x1.a4315405b11c5p-1 +0x1.b3fd5670ecd4ap-1 +0x1.d6772a99b9e6cp-1 +0x1.00828434dd2d8p-2 +0x1.1a0f2b4692737p-1 +0x1.6a3b90d8a2564p-2 +0x1.d6f5020515c26p-2 +0x1.6fbe4ba8d9446p-2 +-0x1.65602f611315cp-8 +-0x1.761797c2f616p-2 +0x1.7fbad97602089p-5 +0x1.cf4f8200615c7p-2 +-0x1.cdac598660c09p-2 +0x1.684600e9f3442p-3 +-0x1.3c18dfcd0f52cp-4 +0x1.e264029c179bdp-1 +-0x1.dae845c7c42b6p-2 +0x1.38ee2466d3ccep-1 +-0x1.1ba2e924596fp-7 +-0x1.e846c32ac146ap-1 +0x1.5ad90e7163024p-1 +0x1.635b913d56b61p-1 +0x1.407263f7072fap-1 +0x1.925071d48b0b3p-1 +0x1.f11f734377897p-1 +0x1.335461bd7b01dp-2 +0x1.36fb0d6a8de52p-1 +0x1.29598e8e6b2c2p-1 +0x1.99eacd8a58849p-3 +0x1.9be853d383652p-3 +0x1.d735c6f58fd54p-5 +0x1.a1e876e99cc25p-1 +0x1.1e0159be4e81ap-9 +0x1.cb814b7ce6be9p-1 +0x1.ef5984a81ededp-3 +0x1.4511a4ee5b844p-3 +0x1.c3236baf357dbp-3 +-0x1.b5663a8cd3b9ep-5 +0x1.f9775cb63303ap-1 +-0x1.fbe0031478fdap-1 +0x1.ec4068e7020c7p-4 +0x1.0af7c1486d593p-1 +-0x1.18e6b70f08559p-1 +0x1.2fc06a93c1a14p-2 +-0x1.0df60b2d5d5dcp-1 +-0x1.fd3eaf213d1e8p-1 +-0x1.f9bea93247eaap-4 +-0x1.a8a18bac42c3ep-4 +0x1.1e32df11779f8p-1 +0x1.8035aed7e3caap-4 +0x1.6e5336703809cp-1 +-0x1.6861d6c10a35ap-1 +-0x1.ead9531ceaba8p-2 +0x1.2fd210e98fe19p-1 +0x1.844b6aaf4a018p-1 +-0x1.be60b50cdda5bp-2 +0x1.6afc43a9ea6d4p-1 +0x1.7db1b789b8ae3p-3 +-0x1.8902483c892f9p-3 +-0x1.3d22023424ea9p-2 +-0x1.e94e3d53833bep-8 +-0x1.cddf65f662a4ep-1 +-0x1.f5d26520f4c51p-1 +-0x1.ea04b4cf878fbp-4 +0x1.29c33813f534dp-5 +-0x1.c2ee5e411a0abp-1 +0x1.97aca2b66caa5p-2 +0x1.6abe8d536e76cp-1 +0x1.df29a8a6cba7dp-1 +0x1.21ccb149e5916p-3 +0x1.9c79d91cd3abbp-1 +-0x1.253082fbb949cp-4 +-0x1.a401128cbd47p-2 +-0x1.7794302387928p-1 +0x1.77052a301b523p-2 +-0x1.2b1873ae6cd4p-4 +-0x1.f6f973d4846eep-1 +-0x1.0d40996ac67dep-1 +-0x1.4613a9aa74a1ep-4 +0x1.fb9105e7aec3fp-3 +-0x1.16fa49c45cebcp-2 +0x1.2c57f42e821ap-1 +0x1.130f2d64c0e04p-1 +-0x1.8b8cb3370be2bp-1 +-0x1.a9f6495b21f7ep-1 +0x1.88e06bd995039p-2 +0x1.750ec69bb3a04p-1 +-0x1.0dd8abfb7163fp-1 +-0x1.99309e84c1aa3p-2 +-0x1.08b1bb04fcb2fp-2 +0x1.3d9e1719d2eedp-4 +0x1.0a5b3dcd01fc6p-2 +0x1.a170f60a6ed18p-2 +-0x1.c5393001f2817p-2 +-0x1.8f8d41cd02deep-1 +-0x1.f49e6ed2ea59dp-3 +-0x1.7a129db836d66p-8 +-0x1.1ae76b7d889bbp-1 +0x1.087a59865458p-4 +0x1.6aff85979d2e4p-1 +-0x1.62fa8a2d852ep-2 +0x1.b66d4b202c901p-2 +0x1.b32cf8b59341dp-2 +-0x1.f16faac24958cp-2 +-0x1.ac60d9bcb0c1ep-1 +-0x1.fbdc48a31f484p-3 +0x1.ce8d89c689577p-2 +-0x1.f0575d582a6f9p-2 +0x1.e23bc0ab89368p-2 +0x1.cf7eeb6e0abc7p-2 +0x1.38160acb69ed3p-1 +-0x1.261fef79be8afp-1 +0x1.45cf87ff96e16p-5 +-0x1.d895eb2acfd26p-1 +0x1.3c7e0f26d9a5dp-1 +-0x1.bb2ef32c0e29bp-1 +-0x1.46be0cc7d69d2p-3 +0x1.3d225138898dep-2 +0x1.6bb15c61ca5f1p-1 +-0x1.1ace063e93befp-2 +-0x1.81d19c894bb91p-4 +0x1.3f8ac7be8ab6cp-2 +-0x1.e6965bce97654p-1 +-0x1.b57d146d9fecep-1 +-0x1.11d16c19c3bf8p-3 +-0x1.8f5e47361574p-2 +0x1.86781351ae4afp-2 +-0x1.d28fec264c5bbp-2 +0x1.f2d6b29ddd1fdp-4 +-0x1.4314fbc60688dp-3 +-0x1.3d2ddbf4fb65cp-1 +-0x1.91560bb9916ap-3 +-0x1.207899d59db57p-1 +-0x1.dc4ac967fabf9p-3 +0x1.ab49a65f38c0ep-2 +-0x1.eb130826e1895p-2 +-0x1.e7106b5cd09a4p-3 +0x1.696b3cb702757p-1 +0x1.ce3576497d7cp-1 +-0x1.8652cde59b041p-2 +-0x1.548a943d70c97p-2 +-0x1.f25d36c6dd90cp-3 +-0x1.d71921c74e86ap-2 +0x1.83b4a079a27e7p-1 +-0x1.1f373e6a1bcbap-3 +0x1.13306c72f0a09p-2 +0x1.61510c88f5508p-5 +-0x1.b37f3cbae82b2p-3 +0x1.59e1b120e78c1p-1 +0x1.4f8ea8f2b2961p-1 +-0x1.1c519eb7f0d69p-3 +0x1.3c58fc37889p-1 +0x1.c0e9d5de7777fp-1 +-0x1.45924349efd71p-1 +0x1.2cfb2503184b6p-6 +0x1.853c9a6a80e5fp-3 +-0x1.00b1d997f5fbep-5 +0x1.615230b0d5311p-1 +-0x1.0bf550e931a92p-1 +0x1.1bbe241b89cdap-1 +0x1.b815861fcf449p-1 +0x1.279ef16db5323p-2 +-0x1.90195a7f08b23p-2 +0x1.cc7c5104079d9p-6 +-0x1.548ec77748c92p-2 +0x1.bff54863bbb13p-1 +0x1.cbfa05a9ff372p-2 +0x1.501f90d4da71dp-1 +-0x1.3d8029781c0b5p-2 +-0x1.1185907f2891p-1 +0x1.2aa161a477366p-2 +0x1.e3c221a69c122p-1 +0x1.9d3e2c47eba7cp-1 +-0x1.2e21864f8979ap-3 +0x1.05d96678310bp-1 +-0x1.e5720f8e796fp-2 +-0x1.769eb387f45cfp-1 +0x1.96443428c83a4p-2 +0x1.3a316fc183cdbp-3 +0x1.b3009a6de004ep-3 +-0x1.ed8923480f39ap-3 +0x1.4ef2ff01ddc15p-2 +0x1.d4a29648b5b98p-1 +-0x1.8543db067585fp-2 +0x1.39c3eefea7c9fp-4 +-0x1.9d594484fb3e8p-2 +0x1.19f114c4cbe4fp-1 +-0x1.aced0f9aed0e9p-1 +0x1.65e234d9d723p-1 +0x1.81eea275987dcp-1 +-0x1.e09ae78c0f3d3p-2 +0x1.88cff5ac2b027p-2 +-0x1.968f240a875f7p-1 +0x1.b0dc5207eb04ap-2 +-0x1.949d08f8c29a8p-3 +-0x1.6216dec7445a1p-4 +0x1.02a4c5bc845a4p-8 +0x1.9d0d59339304dp-1 +-0x1.53b09fd56345fp-2 +-0x1.b239cdf03ac1ep-2 +-0x1.71a60561f2064p-4 +0x1.378dbd3e3a659p-2 +-0x1.28a53517f7768p-2 +-0x1.d4008c69c59adp-1 +-0x1.be0504a33b632p-5 +-0x1.5dabf200f756p-6 +-0x1.e6a4d3abe3088p-1 +0x1.f591180c51366p-1 +0x1.942c7148cde5ap-2 +-0x1.73fc05810249p-2 +-0x1.9185946d2b52ap-2 +-0x1.b7fb2cfe67b55p-2 +-0x1.4beef70ae865ep-2 +-0x1.9ce8c85734c31p-1 +-0x1.737e66f44a295p-3 +0x1.e33526ca99p-1 +-0x1.47b07cd872cc6p-1 +-0x1.a15cdae0069dp-3 +-0x1.ac6db2a5a8104p-2 +0x1.bb99adabb7695p-2 +-0x1.2993127a62fabp-3 +0x1.a0ae02a90565bp-2 +0x1.6c88688bf3d0ep-1 +0x1.b699a7f6a7a3ep-1 +0x1.5aac394582e8ap-1 +-0x1.2168cdb45a42cp-3 +0x1.2e485a8c6a78ap-4 +0x1.f078a16ddbf3cp-1 +-0x1.7304dc64e5d25p-1 +0x1.3c0eaf7233825p-2 +-0x1.af841b378367ap-3 +-0x1.e4bf2c89063edp-2 +0x1.97137406810c5p-6 +0x1.7b323cf745735p-2 +-0x1.684ab251b1ce1p-3 +0x1.e4b5302c127c3p-2 +-0x1.afe7254c2591ap-2 +0x1.d0065fe66e50cp-4 +0x1.826d13d890139p-1 +-0x1.3253d2afe1b8dp-1 +-0x1.7e5a943926cb6p-1 +-0x1.ba8b241fbebep-2 +-0x1.dce1bbf206014p-5 +-0x1.e1ee3cfd1f65ap-1 +0x1.8a59e5bc58019p-1 +0x1.72b319253eee7p-2 +-0x1.f0a78fd5454d7p-2 +-0x1.ec9f639a8510ep-2 +-0x1.ef4d44582ca63p-1 +-0x1.45030ba429744p-2 +0x1.a2a4ff4868a38p-2 +0x1.f291cfa1b465bp-2 +0x1.0c5e3ac756171p-1 +0x1.0b13ec95f71a5p-2 +0x1.5b22063d3f771p-1 +-0x1.c752f2d48be01p-3 +0x1.3d1510a4f8cdbp-1 +0x1.17da3098fa41dp-1 +-0x1.266a093459c2ap-1 +0x1.f81c0f099f2cep-1 +-0x1.347da4da856a7p-2 +-0x1.39b4ff032f74p-4 +0x1.b9a57659a198ep-1 +-0x1.7218160918b0bp-1 +-0x1.668931cb016d5p-2 +-0x1.863bf99b9a269p-2 +0x1.e559736ebfa14p-1 +0x1.11701ffaaed4bp-3 +-0x1.5340baefc13b2p-1 +0x1.b42cffb5695fcp-2 +0x1.a9ca39d6dd6d5p-1 +-0x1.5506bc6b3344fp-2 +0x1.7d3bab08c2e5dp-3 +0x1.ba237ef743cb1p-2 +-0x1.9d3fecf588cedp-1 +0x1.04414d215c2dcp-1 +-0x1.1ab065eb10c66p-1 +0x1.bb68097337c3dp-1 +-0x1.e284efe228a5bp-1 +-0x1.bcfc0ccd8bdb9p-4 +0x1.010d86d3def47p-2 +-0x1.7ff50886aa934p-2 +-0x1.714b7a435c98ap-1 +0x1.c81f219cb6323p-1 +0x1.acdd642170b2cp-2 +-0x1.8e537b09f6587p-2 +-0x1.28ed6f2f91617p-3 +0x1.16d3d6bb5bb5p-1 +0x1.36a936e3ebbd3p-1 +0x1.b548ae3c0fcedp-1 +-0x1.62ef4260938d8p-2 +0x1.ac459d085ef3cp-4 +-0x1.639dbbec184b2p-3 +0x1.da644b4ec0c1bp-1 +-0x1.e0024f1700b7ep-2 +0x1.5ce9feb3fec2ep-1 +0x1.caf30f2f2f5c5p-2 +-0x1.ad21817854b0ap-2 +0x1.03266ab853368p-1 +0x1.ff0c92e59680bp-3 +-0x1.2ee54faad1af5p-1 +0x1.ec9c2b38dbc5fp-3 +0x1.3552315701a58p-7 +-0x1.d3868f8655a01p-1 +-0x1.593af265b0f1cp-2 +-0x1.6fcb3685e1188p-1 +-0x1.dd79d7aa5a8f8p-1 +0x1.55402eb22877fp-6 +-0x1.7758f8ef73ce5p-1 +-0x1.129ed6c9fec09p-1 +0x1.47b15b059fa22p-2 +0x1.c37c3800e473fp-4 +-0x1.55e59b46e00fep-1 +0x1.15ab24a33c4afp-2 +0x1.0e450f3ea087bp-3 +0x1.8cb4a41e39bd7p-1 +0x1.c468190d6e81bp-3 +-0x1.189c5db00beabp-1 +0x1.12c705018ea08p-1 +0x1.568e8537fddafp-6 +-0x1.e01c8ad4d6716p-1 +0x1.60c16dbb9f8b4p-3 +0x1.821b65b56e9d4p-2 +0x1.49d4a47602299p-4 +-0x1.9536fd2b229e5p-3 +-0x1.e45f70770ffa6p-1 +0x1.f42e02754d539p-5 +-0x1.1447c8f7f0803p-2 +-0x1.3814c90a3de51p-1 +-0x1.b768bf096a393p-1 +-0x1.db96f4672c59fp-1 +0x1.b7e8d8652d20bp-1 +0x1.31f092f938cp-1 +-0x1.379037b079f64p-1 +0x1.e8d0615bb1b3ap-1 +-0x1.7e58d6afdb1b9p-2 +0x1.cc9f2aaf79d97p-1 +-0x1.c4cbe4c652089p-2 +0x1.2084693f36931p-1 +-0x1.8b59479c34dacp-3 +0x1.8a8b20b240b6fp-2 +0x1.ff5246459affp-3 +-0x1.e5886f2da10b1p-1 +-0x1.b143aad20aa5ap-2 +-0x1.838bc62cdfb8p-2 +0x1.df434c0fa8f6ap-3 +0x1.254967c3d947fp-3 +0x1.0efb15037e6dfp-1 +0x1.4d5cb9f362b26p-1 +-0x1.b1937baaf010bp-3 +0x1.cc6ca50f8a3efp-1 +0x1.4a1dae90d7411p-3 +0x1.55b3e6055d0e1p-5 +-0x1.1aa44da042bb6p-1 +-0x1.b0bd843ab6a4ap-1 +-0x1.f054c11c6fd4cp-5 +0x1.d0a0747739ef9p-3 +0x1.41625bb6bb69ep-9 +-0x1.40f225f19d807p-1 +0x1.68f2251556c42p-2 +-0x1.7b88d0971cb8fp-1 +0x1.9881037ac5d0cp-2 +-0x1.d7dcb5bf10201p-8 +-0x1.047d0738b0548p-1 +0x1.99fc73dff87f1p-2 +-0x1.1cc8ea88902bdp-2 +-0x1.3f006e8f475cdp-1 +0x1.616499a14aaecp-3 +-0x1.14f850c38af3ap-1 +0x1.152221a1e5ec1p-3 +-0x1.dda46f82ac25fp-2 +-0x1.ebd99dffbb2c1p-2 +0x1.fd966020d3d82p-1 +0x1.109c0a3406d9cp-2 +0x1.08c908be8c44dp-2 +-0x1.0e232850400eep-1 +-0x1.b9f7921fe5df1p-2 +-0x1.0db7cd63aa192p-2 +-0x1.5b2f8fe8e2d73p-1 +-0x1.31bd792341a6fp-1 +0x1.698de691c7e25p-1 +0x1.5916dba89ea0cp-1 +0x1.94f61b50158e4p-5 +-0x1.8478f81625835p-1 +0x1.85f2a22dbc78cp-3 +0x1.6ed2a7fc6ff22p-3 +-0x1.88231dca9889fp-4 +0x1.3b45876742c98p-1 +0x1.c568a632a54f1p-1 +0x1.3bcd8bbb91ce4p-1 +0x1.d1e3303547257p-1 +-0x1.6a87eb5d38a3dp-1 +-0x1.60d4fb529d061p-6 +-0x1.f4fc225d9bfd2p-1 +0x1.f9a2508505615p-3 +-0x1.ab8ce8c5036fdp-3 +0x1.99274d4947665p-3 +0x1.6ee10190d744bp-2 +0x1.865bcdfbfe84bp-1 +-0x1.036fe87d648a6p-1 +0x1.d33039a6687e5p-4 +0x1.681635f580025p-1 +0x1.f67006626433fp-1 +0x1.9b7f31d955738p-1 +-0x1.fea613e6a7e47p-6 +-0x1.adf07f99080b1p-1 +-0x1.c6ff784a5846dp-1 +-0x1.66360c4d84d4cp-1 +0x1.2d187fe4d9616p-1 +-0x1.a19827cb2b281p-1 +0x1.3a13a0ae983f5p-1 +-0x1.780cef3cd015cp-2 +0x1.6128b1ee4e238p-1 +0x1.bf9da80551537p-2 +0x1.0ae6ec582d27ap-1 +-0x1.519680b429656p-2 +0x1.07598173ad01ep-2 +0x1.178cad6720448p-5 +0x1.6b3713606e908p-3 +0x1.9b39f2eb74eb1p-1 +-0x1.d1b80e7c5af4fp-1 +-0x1.bf7de089ee40bp-1 +0x1.ea5ec156bac88p-1 +-0x1.8ae87a60df294p-1 +0x1.0c18504490a73p-1 +0x1.6455c177d0d72p-2 +-0x1.b4951c9daf538p-2 +0x1.220f603d1e01cp-1 +0x1.09e96024014f6p-1 +-0x1.b1165a43c5c1dp-1 +-0x1.26eaa37b73589p-1 +-0x1.9657b29aaf014p-2 +0x1.25d18013304f9p-1 +0x1.17f54ccdb1492p-2 +-0x1.3ebe73f75b15cp-1 +-0x1.2865ded9b709ap-3 +0x1.e5f60d67b72c9p-5 +0x1.074894afb4a68p-1 +-0x1.77bcac716d62cp-2 +-0x1.8ec86add9aeefp-4 +-0x1.f727374002d1dp-3 +0x1.219fdd9159794p-2 +0x1.5753bc1e8f686p-3 +-0x1.5c513c3aff73cp-8 +0x1.54c0aa8028eafp-1 +0x1.0aefb256acaa6p-1 +-0x1.4f42f362a07dbp-1 +0x1.7d3d03a0cd29cp-2 +0x1.52dc5518c03d1p-1 +0x1.152d96988dfcbp-1 +-0x1.b9362861efb2ap-1 +0x1.6f1701555f85fp-2 +0x1.247af4585a46fp-1 +-0x1.82e73ed18d53dp-2 +0x1.12f232801512cp-2 +0x1.2d4502ac51d3p-4 +0x1.ef4225e07b545p-2 +0x1.f80584e5fb2d6p-2 +0x1.f2ed8609d0483p-1 +-0x1.ec149381a56ep-3 +0x1.10f4e21b1dc18p-2 +-0x1.84c3d380eaf0ap-2 +0x1.6536d3822a5dbp-1 +0x1.838a198ed8cdbp-7 +0x1.32d80d3aac2f4p-2 +-0x1.9c26870369fe7p-1 +-0x1.307611302dc42p-2 +-0x1.189ae531d5c74p-2 +0x1.7dabb7015dbccp-3 +-0x1.46b15dd71b6a3p-1 +0x1.586a8ce67f2f6p-2 +-0x1.6145556b90223p-1 +-0x1.9271db76a9a42p-4 +-0x1.34681fafe2e6bp-4 +0x1.c4afdfb77bce6p-1 +-0x1.94f576076f3f6p-2 +0x1.3e406ebb0b494p-2 +-0x1.e5bd1f0c77475p-1 +-0x1.4826da1a6fb3bp-1 +-0x1.13ce40f99bf7bp-4 +-0x1.40cd7e5d60aecp-9 +-0x1.19a972728a2d8p-2 +0x1.dda92a62ee88fp-1 +0x1.84f46abbbd47bp-2 +-0x1.727f2b1502ce2p-2 +-0x1.b9a03fa812b65p-1 +-0x1.5b54a8be61f33p-3 +-0x1.a81c71fe36b8ep-2 +0x1.935030c4ba176p-1 +0x1.8103dbff05cedp-3 +-0x1.9c5866f93b68fp-1 +-0x1.1a268680e3411p-1 +-0x1.3ba3bee44776fp-1 +0x1.00cac957880d8p-4 +0x1.6e38c79a3a629p-2 +-0x1.11bd078b261d1p-1 +-0x1.a112b6d648e72p-1 +0x1.8fed914bb2cffp-3 +-0x1.0cae8b7cb7f28p-1 +-0x1.6150254008025p-1 +0x1.dc9001dd29cdp-2 +0x1.7f0cf0befbae9p-2 +-0x1.452b5b358d993p-2 +0x1.882dd6d58fb3p-1 +0x1.2e61f0ca33ep-4 +0x1.80f26ecd63442p-5 +-0x1.59db1552e1a15p-2 +-0x1.e10c40e71879bp-2 +-0x1.628050434b9fep-1 +0x1.f3e4c5419aafdp-1 +-0x1.da90ccfcca91fp-2 +-0x1.2ce42a5c335a8p-2 +-0x1.19b0494251d83p-3 +0x1.4bdca09b25806p-2 +-0x1.b4551f48e5e14p-1 +-0x1.c3e7b0cda300ap-1 +-0x1.851b7aa9f2e58p-2 +-0x1.394900efd90a5p-4 +-0x1.c0df639b1f95bp-1 +0x1.b57ef080526a1p-1 +0x1.6e593e63048dp-1 +-0x1.b3b2e53f25ff4p-1 +0x1.20b8481ed33p-3 +-0x1.e40dbf90af69fp-2 +-0x1.85c872b5fe48p-3 +0x1.daba6fbce7222p-1 +-0x1.1c90b64eade2dp-1 +-0x1.0cee4cade79eap-3 +0x1.9d18d9c89b6d5p-2 +0x1.24a594ec3955bp-2 +-0x1.1386072cb5767p-1 +-0x1.4f44b083f6f77p-3 +0x1.ce504b8600805p-1 +-0x1.096d3f1f86262p-1 +0x1.58e5a7a15838dp-1 +-0x1.c0f158c0b386ep-1 +0x1.7bec591bcb9f1p-1 +0x1.acf4457026889p-3 +-0x1.081e4b193da3p-1 +-0x1.af18d2905362dp-4 +-0x1.816382b888e2ap-2 +0x1.cada85eca0269p-1 +-0x1.857e75135f75ap-3 +-0x1.e6e3ddc7b99dp-1 +-0x1.e91d19d11a9e3p-1 +0x1.8fdd59da7273p-2 +0x1.4b6786c836facp-1 +-0x1.b9fc6897f58cfp-1 +-0x1.47c5e44db5cfdp-1 +-0x1.79047a2057605p-3 +0x1.2acbeee069b98p-3 +-0x1.1005032e784bap-1 +-0x1.98ba1addf270ep-2 +-0x1.33782a6e11156p-2 +0x1.a805bfbe7435ep-2 +-0x1.6baefbf516dc7p-1 +-0x1.21c30a32cda9ap-1 +0x1.62072a0760112p-6 +-0x1.39b197eda3b67p-1 +0x1.7f04c21a59f65p-2 +-0x1.39f94c59356c8p-1 +0x1.3ddeeff0904dp-5 +-0x1.1ee2ce778752ep-5 +-0x1.6899a578aa20fp-1 +0x1.dc1aa30ec4db2p-3 +-0x1.b601c472fde84p-3 +0x1.a8462321fb8p-2 +-0x1.33c518cb111f3p-1 +0x1.a6798664f5c9p-1 +-0x1.6077f66d571e5p-1 +-0x1.16a5451e26682p-1 +-0x1.5e37dd26ac9dap-3 +0x1.cdd5a0cabf976p-2 +-0x1.bfefec036a01p-1 +-0x1.618704dd2237ep-1 +-0x1.17cefc37ce9e6p-2 +-0x1.4c77e02f9c4b2p-1 +0x1.6f3eebec64ab6p-3 +-0x1.52b944245b838p-2 +-0x1.5cc46dbfcb373p-3 +-0x1.208c44c5508cbp-1 +0x1.81c26d68ec56p-2 +-0x1.a20602060a734p-1 +0x1.17946adcb0123p-4 +0x1.ebae791dc0e76p-2 +0x1.1156ce1170e2ep-2 +-0x1.8f8275af8013ap-1 +0x1.1ddf12ae2e858p-2 +0x1.e2158a0dbcab6p-2 +-0x1.daaed0c01f5aap-1 +0x1.f60184bdc9d7dp-3 +0x1.7304797757b6dp-4 +-0x1.1b0870e4b2ddfp-2 +-0x1.8030c09dc94dap-2 +-0x1.1eaf484d16af4p-2 +0x1.5f4fcdf057914p-1 +-0x1.07f92ebdf0646p-2 +0x1.8976c0c835b33p-1 +0x1.97525efa2886bp-2 +0x1.22d4d3404221ap-1 +-0x1.39b1efce626c6p-1 +0x1.53b1b5e962d6fp-1 +-0x1.0fbae3676fcf6p-1 +-0x1.fbd592bfe26a7p-1 +-0x1.2bcc972227b6p-2 +-0x1.74dc0b082c1dbp-2 +-0x1.ff7f930fd5e04p-2 +-0x1.8c8db066a8634p-2 +0x1.2e4de69b3172fp-1 +0x1.d16f60be25e2p-1 +0x1.58f0deb360e7p-3 +0x1.0e3bd98783ebp-3 +-0x1.c56b26cd3b0e1p-2 +0x1.7131b1eae0801p-1 +-0x1.64f178d84bd9ap-1 +0x1.23e878698dbd8p-1 +-0x1.aec4fa9e8ba9cp-3 +-0x1.88ad447acc67fp-3 +-0x1.ce6f1619037b1p-1 +0x1.2220e8d088964p-3 +0x1.5eedc05f9aa27p-2 +-0x1.e5c615bc4bffp-3 +-0x1.dd82938144e22p-1 +-0x1.29bfc266ae7abp-5 +0x1.5fafe5b5edad1p-1 +-0x1.22b3574e65c91p-1 +0x1.6651c618cf3f4p-7 +0x1.e17a669700255p-1 +0x1.d3c68b80f60d5p-2 +-0x1.56483d0667741p-4 +0x1.f538f451b9fdp-3 +-0x1.d04bfc083145dp-4 +-0x1.3883f7b6f31edp-2 +0x1.c91f37757fd7ep-3 +0x1.84bc463b503aap-4 +-0x1.fb2979688c18dp-1 +0x1.f4b9e2ad91dap-4 +0x1.1f839c02aea09p-3 +0x1.796b8f1d9cd6p-4 +0x1.632f413730eecp-5 +-0x1.8e656348d3b5bp-3 +-0x1.283e2b9962ba7p-5 +-0x1.6757876dcae7ap-3 +0x1.01319694076e6p-1 +0x1.cd2e9a67a077ap-5 +0x1.bbe7756c878aep-1 +-0x1.01f5185a530a2p-1 +-0x1.8fc528ee4a816p-1 +0x1.7e09d6394726bp-1 +0x1.b3ec39d73b7b1p-4 +-0x1.982cae8330074p-1 +0x1.68e118ffda33p-1 +0x1.428b724b52cd1p-1 +-0x1.d2f639ca66964p-3 +-0x1.d183a5109a288p-4 +-0x1.549fc168d98a7p-2 +-0x1.d3ba9491d2209p-1 +-0x1.54198cd76ee49p-7 +0x1.3010effb2a9d8p-3 +-0x1.607ea18e94ccep-6 +-0x1.85076cea8dee2p-1 +0x1.10b0ca3231d11p-1 +0x1.29b29933c5641p-1 +-0x1.84dcdbd7cb5b2p-4 +0x1.f93c4c1ff8b2p-1 +0x1.efae6a4345834p-1 +-0x1.904df897d65a6p-4 +-0x1.a7399e357df9dp-5 +-0x1.3469c823bafdbp-7 +0x1.b1cb35b097958p-2 +0x1.0c8065025cd4ap-2 +0x1.53f72f16765c3p-1 +-0x1.863f60a9005cbp-2 +-0x1.270593c7223d4p-2 +0x1.b3360925278c1p-1 +-0x1.53f3f9eefbb21p-3 +0x1.2acbf9ebe9e7fp-2 +-0x1.8d57deab6dd4p-3 +-0x1.83f7facbfd2e6p-1 +-0x1.c4a5e400f4127p-2 +0x1.f788581eb9328p-1 +-0x1.0d62b38790e8ap-5 +-0x1.ca6d3ff5e4bbbp-1 +-0x1.f53175fd5fbf4p-3 +0x1.89261e938134dp-3 +-0x1.b95099cbd7fd6p-2 +-0x1.d4f5e9efe61ecp-2 +-0x1.02511aab89695p-1 +-0x1.cb4adcc5751bcp-4 +0x1.761ab7c02496fp-3 +0x1.a95893cb28a3dp-11 +-0x1.5f79ac46c6e44p-2 +-0x1.8ce90041d4696p-1 +-0x1.a5d9801ae6e41p-2 +0x1.6bf1cedfb1b7ep-3 +-0x1.242a94d890b57p-3 +-0x1.06b2a88ee90ddp-1 +-0x1.11ed7d554db1bp-2 +-0x1.2ce92f55d7889p-2 +0x1.4d78bb6b7dd17p-2 +0x1.cca3d043c0994p-1 +0x1.0efcb883841f4p-1 +0x1.19ac5755658f6p-1 +0x1.c7101bf613de6p-2 +-0x1.84c9147b7a425p-2 +-0x1.81cc4aa7636c6p-11 +-0x1.8c1b09da4e0a5p-2 +-0x1.454e049d56536p-4 +-0x1.203ea7655130ap-5 +0x1.0b62ff735d823p-1 +0x1.0a3696500908p-2 +0x1.b69cbdbd83417p-5 +0x1.e4a2a0310a0dp-2 +-0x1.fc1de8ce9ccbbp-4 +0x1.9c5f0ca6d5bcdp-1 +-0x1.c662e4a9e2b4fp-3 +0x1.cb7759ff98897p-2 +-0x1.61d9a3955f9e8p-2 +-0x1.412e522a016d3p-2 +-0x1.6b1d72f508db9p-4 +0x1.3617f9adebb76p-1 +0x1.fa2252d878efap-1 +-0x1.8d1c9d5a80b31p-1 +-0x1.b34548a43067p-1 +0x1.b4c7033fa0d99p-1 +-0x1.5975cf7aecb88p-2 +0x1.689c1081133dfp-4 +-0x1.e322c79333de6p-2 +-0x1.11322e6dd5efp-1 +-0x1.45a283fca3a17p-5 +0x1.958df26b61271p-1 +0x1.199ecc3fd30b8p-4 +0x1.61feda8a1b167p-2 +0x1.2dbc586fbc512p-1 +-0x1.4b524db6de106p-3 +-0x1.321ac45903b65p-6 +0x1.7e83448fdfaefp-3 +-0x1.ba9872b529493p-1 +0x1.da35d735316e7p-1 +-0x1.3a327d6e93215p-4 +-0x1.7050bdd8e3b12p-2 +0x1.212d80b57dbap-1 +-0x1.c0bdc3f5eb2e8p-1 +0x1.1695d07763352p-2 +0x1.0454b477b93dbp-1 +0x1.4ccce934eb87fp-2 +-0x1.1db5faa1216e6p-4 +-0x1.2510e26139c57p-1 +0x1.4f6fe74404b98p-1 +-0x1.d20a797212608p-1 +-0x1.99dd5f0dc1be9p-2 +0x1.e5340b83aa563p-1 +-0x1.2736081315feep-2 +0x1.6928713c96dd3p-3 +0x1.f3716a8668576p-1 +-0x1.11c75e3eb7aa4p-2 +0x1.2d817a7181f61p-6 +-0x1.16f81ded0728ep-1 +-0x1.1d377adc1dbadp-1 +0x1.f17c08fe08923p-1 +-0x1.ab3f92eb6cbd1p-1 +0x1.74ea2fdcafe54p-2 +0x1.aecb4e3294ba2p-3 +0x1.afa7d625147a4p-1 +0x1.e4688e6465297p-2 +0x1.a5c71090e684fp-1 +-0x1.27cf3ce6802e3p-2 +0x1.445e414758d3dp-2 +-0x1.d98d83ed5e8bcp-3 +-0x1.9dcba31296e9p-2 +0x1.004326e1f1688p-1 +0x1.8bedb6ec2f595p-1 +0x1.d525c85d209ccp-1 +-0x1.cf0b1030d66a1p-1 +0x1.3a6ab8b7b614ap-1 +0x1.129a34c4d9706p-2 +0x1.577f4c5e05628p-1 +0x1.1631b9dba5f7dp-4 +-0x1.26ea1e7ac0b88p-1 +-0x1.b93729fdd8f22p-2 +0x1.4eed19e584721p-1 +0x1.d4f66c0c3e037p-7 +0x1.ab22813a799a7p-1 +-0x1.9a3f9f1494d26p-1 +0x1.fa2aa3fca4b25p-4 +0x1.49b417fd5ec53p-1 +-0x1.72778cc408968p-2 +-0x1.c049b5b81bf84p-6 +-0x1.fec4921b7b307p-2 +-0x1.7f3bf35c7a58bp-2 +-0x1.3821e065c24a1p-1 +0x1.e44732bd2e43ap-3 +0x1.be2f00af19dadp-2 +-0x1.b38e3282251f1p-2 +0x1.37d12d6b65381p-1 +0x1.59cbe7e583c3cp-2 +0x1.16769cc7854c4p-1 +-0x1.85f9db7ad83c5p-1 +-0x1.da9c686237432p-1 +0x1.a17e49e89617cp-6 +0x1.72945e1f52228p-1 +0x1.a01a6ed4ee6ap-1 +0x1.b254af39ac1ecp-4 +0x1.e48b990422d5cp-1 +0x1.d225c2f94ab9dp-3 +0x1.21c16635ce30cp-2 +0x1.235af779a7eecp-1 +-0x1.1b58b94905d77p-1 +-0x1.58b5e5e5e17d8p-2 +-0x1.73b8d4aac7e64p-6 +-0x1.bab2f3ff684ap-1 +0x1.ec3f2b4e3eae3p-2 +-0x1.8305cbc8c1a8p-2 +-0x1.2a58c0545c6eep-2 +0x1.b69e0a9970a11p-2 +0x1.c1c852f430c4fp-2 +-0x1.32d97bf64a7a5p-2 +0x1.5c66efc5457fcp-4 +-0x1.e6885d3c0425dp-1 +0x1.cb287d7e944a9p-1 +0x1.8cbafccfc1f45p-1 +0x1.afd89ba2db15fp-3 +-0x1.29809ec5a8b95p-1 +0x1.5f3cc882f0ce7p-1 +0x1.a88dc2ba797acp-2 +0x1.207bc67429ddfp-3 +-0x1.fe6d08f681db5p-1 +0x1.1a69746b81fc4p-1 +0x1.d70e4ab377134p-1 +0x1.8af8aac380a6dp-1 +0x1.aa1fa24208717p-1 +0x1.8aaa0f3b9c80dp-1 +-0x1.749505e44c7bp-1 +-0x1.a2358ede7d995p-2 +-0x1.61c6682a4d466p-5 +0x1.a74e21d7029e3p-2 +-0x1.25ccba68e7a7ep-1 +-0x1.8303cbe673d4fp-1 +0x1.7d3ed50ce274ap-1 +-0x1.e87dd9747919bp-1 +-0x1.9ed7a29a9c834p-1 +-0x1.df4279685765dp-1 +0x1.7a610748aa408p-1 +-0x1.cd544b866b613p-2 +-0x1.f6c969d2369aap-2 +-0x1.a9e9020d9602p-4 +-0x1.8301f683ac6dbp-1 +0x1.14ef608119895p-2 +-0x1.0a88bf1598296p-1 +0x1.a4af830fdd814p-5 +0x1.bc3728d82d6d7p-1 +-0x1.0326e0867440ap-1 +0x1.3dbaa26960115p-2 +0x1.c7e527bc02a67p-3 +0x1.5e1d8eaca6c95p-7 +-0x1.d7ebf650cc9b9p-1 +0x1.9097b662a59eep-1 +0x1.b565a157284cep-5 +-0x1.fd2e4f7bf87bfp-4 +0x1.af69fc75d4ad8p-2 +0x1.d68badce5fad4p-6 +0x1.d5fbd9a4099ap-1 +0x1.8059ff0272cbfp-1 +-0x1.ce2d245fe3a35p-1 +-0x1.afd83a33b6376p-3 +0x1.40d0694ce0278p-1 +0x1.e5e55589cb872p-2 +0x1.cf19a800cecdfp-1 +-0x1.342553521d555p-2 +-0x1.c9b073026de3dp-2 +0x1.873755755adcfp-7 +0x1.2830d7242734bp-1 +0x1.a8ecb20875e96p-3 +0x1.7f09c3abb2cf8p-5 +-0x1.a964f00912f74p-2 +0x1.c6c843e32c486p-1 +0x1.e96bb5de91cabp-3 +-0x1.d248afe7e9b74p-4 +-0x1.4b9104f6c1ab4p-3 +0x1.bdf1ed32d83afp-2 +-0x1.ef824bbbbdc2cp-4 +0x1.259cef635a7c8p-3 +0x1.771fcc609328p-1 +0x1.19a7b2a6759c3p-1 +0x1.2e1651d1f03a8p-1 +-0x1.fec49907b5513p-1 +0x1.09d26f11c4854p-2 +-0x1.0e6e3dd04d3fep-1 +-0x1.3db789c763c1cp-1 +0x1.d00d6363bea5fp-3 +-0x1.ce9d3329d71c6p-2 +0x1.a9d84b66901d9p-1 +0x1.042e6609033a5p-1 +0x1.7ae4d671414d6p-3 +0x1.e9eb1e748b222p-5 +-0x1.19c4f69ebc23ep-3 +0x1.c9382b078162ap-2 +-0x1.5b2ed8c81d9aep-2 +-0x1.e8e2661822d76p-5 +0x1.28e69858a70dbp-1 +0x1.3c991c941a69ap-1 +-0x1.8af2033b78097p-1 +0x1.0f261d3bf0c2dp-4 +-0x1.7afbed9a57201p-1 +0x1.b0c4237bd40dep-2 +0x1.6ecb46f059fb6p-4 +0x1.5472d0ca8751bp-2 +-0x1.2c76e4e00044bp-4 +0x1.549e9b6eee872p-1 +0x1.88639a9d97768p-2 +-0x1.029b549308401p-1 +-0x1.8db027e9223a6p-7 +-0x1.ebefd3680974ep-1 +0x1.f98d9eed2ccd4p-3 +-0x1.cc9b5568dc31p-2 +0x1.aa3480c5fb174p-1 +0x1.6b2fa201f75eap-2 +0x1.d13377c3aa005p-1 +0x1.e795f969d96ddp-1 +-0x1.443c98b0560cbp-1 +-0x1.eeb87ebb65fa6p-1 +0x1.b87f5b7ff32ecp-1 +0x1.3af59df8ae1c2p-1 +-0x1.d1ca3725ac41cp-2 +0x1.7cbcf34dd1223p-2 +0x1.ca9f1a077856ep-1 +-0x1.9ce86cf3aa2cdp-2 +-0x1.f536eeac3900bp-4 +-0x1.c0551c9c239ecp-4 +-0x1.b1170a960b5afp-3 +-0x1.cc7f4e662776ap-1 +-0x1.792ec52d353ep-2 +0x1.ab17df6ea1f03p-4 +0x1.4bd66c73cbe2ep-4 +0x1.fdb30fb9fc04fp-2 +0x1.692c15d54165ap-5 +-0x1.ac9ca33028e24p-1 +-0x1.a9fda3741502ap-1 +-0x1.1e5c6f22efec1p-1 +-0x1.0cc97c80d87ddp-1 +-0x1.201c3df5ee694p-1 +0x1.df82b0e4c13fdp-1 +0x1.395d76dbb0bf2p-3 +-0x1.350bdcfe192b9p-1 +0x1.dbdb799211d3ep-1 +-0x1.a8309607f0817p-2 +0x1.f4b33b0f7911fp-2 +-0x1.0ab2490acbe8bp-3 +-0x1.ab8ade8a39005p-3 +-0x1.3fcc06512facfp-1 +-0x1.4079894eb34dfp-2 +-0x1.13a34b80b3a43p-2 +0x1.17a1212bd39b8p-1 +-0x1.acf1d85e04444p-1 +0x1.9c6787407a9d5p-2 +-0x1.39bbd90a02bf2p-3 +0x1.ded9cf337a46bp-6 +0x1.638e3d22fbbbep-1 +0x1.781bb0831f334p-1 +-0x1.99867339dde4ap-1 +-0x1.1c66ecd143209p-2 +0x1.254d34443b4f5p-2 +-0x1.8231536ef91a2p-7 +-0x1.134b7981fe3eap-1 +-0x1.4545232bbdfc6p-3 +0x1.8ec7b0a28eee7p-3 +0x1.365a79a1b0125p-4 +-0x1.9ef78cc82b667p-1 +0x1.827dd95ed480ap-2 +-0x1.5772f20afa4a2p-4 +0x1.539028f1831d5p-2 +-0x1.bc1a284f5c0ccp-1 +0x1.640cf26bfbb62p-3 +-0x1.245e4c501736ep-6 +-0x1.4448c69d892cbp-1 +0x1.1ed2e9dbee9d8p-1 +0x1.dbcd02e24aceep-2 +-0x1.ceb76ac6dc36p-2 +-0x1.b8c88907a6f0cp-5 +-0x1.cd8996d89a7e6p-1 +-0x1.c73193f75f0c3p-1 +0x1.987076bd1eeaep-2 +-0x1.a68fc08dfec19p-1 +-0x1.8db732619013dp-3 +-0x1.d27f7ae0200f1p-3 +0x1.47dd95ec4fc7ep-1 +0x1.b70af224952c4p-1 +0x1.ada51da40aafap-2 +0x1.c0bd9cb418533p-1 +0x1.f0aa9a98fbaddp-2 +0x1.840fdd601197ep-2 +-0x1.b58f8dba9a0e6p-3 +-0x1.117970cd4a35bp-2 +-0x1.fb4ad68db196fp-2 +-0x1.02d2ef4c0747ep-1 +-0x1.00d2d9006315dp-2 +0x1.e16d9c43fecacp-3 +-0x1.4915bbf40d86fp-5 +0x1.6beb9b08962b9p-1 +0x1.57a911eb1ad5fp-2 +-0x1.12d0505a7c635p-3 +0x1.89ea2ae702fcp-2 +-0x1.5632cdad9c323p-2 +-0x1.d4c06be24be8cp-1 +-0x1.4f1954f19cfa9p-2 +0x1.3db72f9579379p-1 +-0x1.d8db14a91be06p-2 +0x1.98df14da2cd37p-1 +0x1.14ed3aaba1e13p-2 +0x1.152fd86c0f4d9p-2 +-0x1.eb0c41597dcfdp-3 +0x1.c34ee9c0b662p-1 +-0x1.0275d8ca571e3p-1 +-0x1.0fcdda4fc16b8p-1 +-0x1.9f96a6f3cef22p-3 +0x1.e85928dbfb41ap-2 +0x1.2daf5c8646983p-1 +0x1.5b16355b23c86p-1 +0x1.5c549458b4ea9p-1 +0x1.969e895e32515p-5 +0x1.1999725932bep-1 +-0x1.02d76d08f5bc2p-2 +0x1.9a7c4f0a7e413p-1 +0x1.0a2acd025d09ap-3 +-0x1.156c99320c37ap-2 +0x1.dba802953c236p-1 +0x1.bfb5e70a7d17dp-2 +0x1.47ecc564d1871p-1 +0x1.c8b54130361efp-1 +0x1.83bb476615988p-3 +-0x1.239a535074d3ap-1 +0x1.540a152d6ba85p-3 +-0x1.86594acba7333p-1 +-0x1.b4bbbc86fcad3p-4 +0x1.c50ed86412c9fp-2 +0x1.0cefbb2716ba3p-4 +0x1.d3535fb22705ep-4 +-0x1.e4f6e6ffe6b48p-4 +-0x1.bdd0faf1291c3p-5 +0x1.fa53bd1575516p-1 +-0x1.76edd365a8352p-4 +-0x1.b11f810d9ae1ap-2 +-0x1.8b4aa06b5acdep-2 +-0x1.4a9160586351bp-1 +-0x1.08292da57ac22p-2 +-0x1.9fb55e7c25027p-1 +0x1.0cca47e013bebp-1 +0x1.76984b005dcdbp-1 +0x1.0dc2f1273843ap-2 +0x1.2bbb5a05c8d8dp-1 +-0x1.6b8cb6e3a0369p-4 +0x1.1ba645fd0328ap-2 +0x1.aac2ad78f6723p-1 +-0x1.b7afb44981288p-2 +-0x1.7d0b6931be49fp-4 +-0x1.c54a5305cb2d2p-2 +-0x1.4c2d729be6727p-1 +0x1.1404bbd8abed7p-1 +-0x1.2743a11ce3daap-1 +0x1.4c16c24675605p-2 +-0x1.035d74bcbe027p-5 +-0x1.5967711870325p-2 +-0x1.b92a1f5fd1985p-3 +0x1.74816de64b4f4p-5 +-0x1.0a9e3acc0772dp-2 +-0x1.92ac4cd11f24bp-1 +-0x1.7c42c921d8a5fp-3 +-0x1.e760e297d84ep-3 +-0x1.2cc53c3940ec9p-4 +0x1.6d460d7b2822dp-1 +0x1.ebe34e2403669p-1 +0x1.832eb42d2f49dp-1 +0x1.bf2c07a2986e2p-2 +-0x1.e4f663269bd0bp-4 +-0x1.25f042ec14257p-5 +-0x1.ace724cce544ap-1 +0x1.9ba4a9526c73bp-1 +0x1.074063e7d592ap-3 +-0x1.67967e59d6d4cp-1 +0x1.87ee80f33f74fp-2 +0x1.8ba4c111436ep-3 +-0x1.a8aa7773154bcp-7 +0x1.0324b348be4ddp-3 +-0x1.60822bcd82f07p-1 +0x1.f84d1f6a91123p-4 +0x1.4296ce4e36ddp-1 +-0x1.3165a336819eep-4 +-0x1.427f6cb99f9b3p-1 +-0x1.ce4026dce326fp-1 +0x1.29bb67860f656p-2 +0x1.8e3b17334f8eep-2 +0x1.5ebc0081f7e1ep-2 +-0x1.f5736e16a2562p-1 +0x1.54380d7d21c4dp-8 +-0x1.105c290a40666p-2 +-0x1.97cf5d3c3b208p-1 +0x1.6c7ac66632487p-1 +0x1.6206cdc2d497ap-1 +-0x1.d46dc31dfa5b6p-1 +-0x1.3433174dfdec7p-1 +-0x1.d53832d3bed9dp-1 +0x1.b8dd7040d692fp-2 +0x1.4874b97365b26p-2 +-0x1.7c8b8f05382bp-1 +0x1.abc31e7e7ac18p-2 +-0x1.6dc25ff2273b2p-2 +-0x1.99df301c8d7aep-1 +0x1.beb2018ce5ef9p-1 +-0x1.cf8768a66ee09p-1 +0x1.3509d066274a2p-3 +0x1.8dabe1a2eca3ap-2 +0x1.89563e1a7abc4p-2 +0x1.41e1ccabff7ap-2 +-0x1.bb2d1c4e64f42p-1 +0x1.acc1e3b315928p-2 +-0x1.09f05005573ap-3 +0x1.0b0db0e5c3918p-4 +-0x1.3ec40bf159df3p-2 +0x1.d08b68c695d2ep-1 +-0x1.3d096a9d70e32p-6 +-0x1.32ef4766f71d1p-2 +0x1.a506ae382d772p-3 +-0x1.711fe7fe834fp-5 +-0x1.030fbbf154a1p-2 +0x1.5b92180ef4744p-1 +-0x1.64a523f14f449p-1 +-0x1.cedee0fcbaed5p-1 +0x1.58473104886c9p-5 +-0x1.a794c4e443013p-1 +-0x1.befe91dcf8bcbp-2 +0x1.183f8e9c5dbc4p-2 +0x1.702f9efb00858p-1 +-0x1.5b4a8e1b95312p-1 +-0x1.a287826e25cc7p-1 +-0x1.6a13d125c1d2dp-1 +0x1.bf6545614f2aap-3 +0x1.0073b49702568p-4 +-0x1.deccb44d69f3dp-1 +0x1.b5063bf37758ap-2 +-0x1.ac535788aebe7p-3 +-0x1.d0c8862b187d2p-3 +0x1.510a164ec336ep-6 +-0x1.089693f21559ep-2 +0x1.b1c1ca0c008d8p-4 +-0x1.21983af2f66adp-2 +-0x1.fcebaafb4ecb6p-1 +0x1.b7819a2b6aba5p-3 +0x1.c4abced09ea7ep-1 +0x1.a28e436231ee3p-3 +-0x1.625d30f6bd861p-2 +0x1.e79b2aeeaee05p-2 +-0x1.801f4a0d34096p-1 +0x1.4451ef2e536ap-1 +-0x1.6c0f712692246p-6 +0x1.6c6fccae9544p-1 +0x1.1b806d6e0741fp-1 +0x1.19bf5d3340461p-1 +-0x1.cb282348cbbc1p-1 +-0x1.2405359c89578p-1 +0x1.04395dae324d7p-2 +-0x1.2c10856e55e18p-1 +-0x1.1a6464066acfcp-1 +0x1.8f5974602f8c2p-1 +0x1.9c6d231ed6d73p-2 +0x1.2c51a80da54edp-2 +0x1.3926d73719095p-3 +0x1.43939e5464cfdp-1 +0x1.2b5fdf773334p-1 +0x1.0914a589cbd41p-2 +0x1.87eb5f6a9b577p-2 +0x1.5534f85bb78cdp-3 +0x1.78175b45bbf5cp-2 +0x1.80945deaed343p-3 +-0x1.a8cdaa343f1c3p-1 +0x1.f5b0caff27af8p-1 +-0x1.e7061a420527ep-1 +-0x1.323af1ffac813p-2 +0x1.8d033a8dd7ddap-1 +-0x1.a1a07454f8a1dp-1 +0x1.50cc41f57d39ap-4 +-0x1.f56e5e9fada02p-1 +0x1.3859d96750defp-1 +0x1.73203bf383085p-1 +-0x1.8adde5f8f1df4p-1 +-0x1.d557ae14c19b7p-4 +0x1.36e46dc9e2dddp-3 +-0x1.82625d75c1235p-1 +0x1.27b77812c8d7bp-5 +-0x1.3d6d9449f0b2cp-1 +-0x1.11e906c2545bep-1 +-0x1.1272d2af44448p-1 +-0x1.a2085892bee91p-3 +0x1.d7b7b3a470295p-1 +0x1.026db3b4b4cf8p-3 +-0x1.4415ddc3b0da7p-3 +-0x1.6bd5fe48b7f85p-1 +-0x1.3eeddb26ca1cp-1 +0x1.ef4876bb9373dp-2 +-0x1.a8f258b714257p-4 +0x1.cf31d3fe2579dp-1 +0x1.93610bd369b1dp-2 +0x1.aa1f659f18cc7p-1 +0x1.9f23a1ee4856p-1 +-0x1.b36abe66a0c9ap-1 +0x1.f213b8342646bp-1 +-0x1.a1dee7da2bf6cp-6 +0x1.398ba033f91a6p-2 +0x1.00b7aedf9c7d2p-1 +0x1.9f3cfddc61df4p-2 +0x1.f42e1016fa88ap-1 +0x1.b164e917a32f8p-3 +0x1.180e691bdf7cp-6 +0x1.f5a13f7117784p-1 +-0x1.71d1ab1ee8722p-1 +0x1.f91f22387ef09p-1 +0x1.2605d5ef330cbp-1 +0x1.b6c86ac16d4e6p-5 +0x1.e4a268fcc1f87p-1 +-0x1.2988d714911b8p-1 +-0x1.35c038462ef2ep-1 +-0x1.a13d00969d8ep-6 +-0x1.ecfbad8fe4dedp-6 +0x1.312e6130fd6a3p-3 +0x1.2539568af3e8cp-11 +0x1.9f22e23bc0f6p-2 +-0x1.c073ca76d48a1p-3 +0x1.1633b247d7e01p-1 +0x1.63fde035cd946p-2 +0x1.3bf3ffdc65e09p-3 +-0x1.2429280322e3bp-2 +0x1.b44f60e7247e4p-1 +0x1.35ef8ef818f27p-1 +0x1.9fb5c82bfe287p-2 +0x1.01263efdae1d3p-3 +-0x1.8721f6846f2bdp-4 +0x1.ebb985d83890fp-1 +0x1.835790bf41807p-9 +-0x1.3b002ac772cc3p-1 +-0x1.a9d384a6c2d99p-1 +0x1.dee23f044c63p-3 +-0x1.bcc2fd8836b41p-2 +0x1.e780e1baf0f88p-1 +-0x1.59a9d7ec437a8p-1 +0x1.c8e7c062c555dp-1 +-0x1.971e8a341d1dep-1 +-0x1.3e7c006d83097p-2 +0x1.690544da0f238p-1 +-0x1.907803aedb8e8p-1 +-0x1.035bbbe289713p-3 +-0x1.77b7e19fd5e4dp-2 +0x1.960253952bb79p-1 +0x1.c92d5dd3ac391p-1 +0x1.778b93f26b5f1p-2 +-0x1.1e135dc07fde5p-3 +0x1.05222e2d2d4aep-4 +-0x1.0de9b356183bap-1 +-0x1.34708145893a2p-1 +-0x1.5385f2e7b1ee6p-2 +-0x1.51c38ded07a3bp-1 +-0x1.4d56bf0790c5dp-5 +-0x1.42e7c5793554cp-3 +-0x1.84187fc2ce992p-1 +0x1.aec9e5f625d0ap-6 +0x1.2f83ca988cc67p-3 +0x1.e70aedebd4b1fp-2 +-0x1.5a1c975911dbfp-1 +-0x1.ed119034e6a4bp-1 +-0x1.792fd2b9e456dp-3 +0x1.4880715dad285p-1 +-0x1.e435be704689ep-2 +-0x1.e5248c755c768p-1 +0x1.2ea91c7e4606fp-1 +-0x1.e1e721f0c2bcdp-3 +-0x1.ecafb9abb4aa8p-1 +0x1.470b1593b7ac4p-4 +0x1.b2deff6f8c746p-1 +0x1.55c7e8a496065p-1 +0x1.15b1c7e7be41p-2 +0x1.40862963abacbp-4 +0x1.779c55a07923ap-2 +0x1.a50c3aec8c6a7p-5 +0x1.69e271f1f8fa2p-2 +-0x1.45019d2ee0fb3p-4 +-0x1.83711525f6461p-2 +0x1.ce6a228515532p-1 +0x1.e60fc4f8bc76ap-3 +-0x1.ba4f23e166ab6p-1 +0x1.bef6acf8e5265p-2 +-0x1.f08f31b874a0cp-3 +-0x1.827eef84b9c14p-2 +-0x1.81451763c7fcbp-1 +0x1.929f7c4873464p-2 +-0x1.2e62ca652df96p-3 +0x1.5346b2d408d4ep-1 +-0x1.c2ed3436ec8e9p-1 +-0x1.57d97cc4a9a55p-1 +0x1.10a0b61383922p-1 +-0x1.a6b60bba02dd7p-1 +-0x1.4227d84188d2fp-2 +0x1.dd2db827ca39cp-2 +0x1.8056fe9e57d2bp-2 +0x1.37607ca478be3p-1 +0x1.19088bffae15fp-4 +0x1.38787f2f558e3p-3 +-0x1.eb8fd7475f10ap-3 +-0x1.bb9c349cb3eb1p-1 +-0x1.2d2827d68f5acp-1 +-0x1.570e653a678c7p-1 +0x1.c9fd3d80e944ep-3 +0x1.0c8e265b37258p-2 +-0x1.edacf96f47cc9p-2 +-0x1.5610aa4044766p-1 +0x1.fe6076c713d87p-2 +-0x1.d4a8e212ea722p-1 +0x1.758646587835ep-1 +0x1.4976171087c3cp-1 +0x1.16fa723f3f61bp-1 +-0x1.68cf93cb7cd7fp-1 +0x1.dd48e7ba75559p-1 +0x1.a3e3cdba9529fp-3 +-0x1.9f8c44779095ep-3 +0x1.18f890d48457cp-1 +-0x1.cffd5e27783d4p-1 +-0x1.7670974959c8cp-2 +-0x1.90330297e2b29p-3 +-0x1.82e4435aea0c6p-3 +0x1.a057ce1ffe405p-2 +-0x1.e66cffcd6b794p-1 +-0x1.682f24da6017ap-1 +-0x1.766988e0109f8p-2 +-0x1.acae669682c33p-3 +-0x1.4769868b0dc04p-2 +0x1.491d9fd4410cbp-3 +-0x1.81506f246d1acp-4 +-0x1.b466f99debfbbp-1 +0x1.ac55e0fbe0d38p-1 +-0x1.0c3b900555af8p-2 +0x1.a5e5b3473e91fp-2 +-0x1.0565e7ab26f9ap-1 +0x1.6da23867e6d97p-3 +0x1.d03644ffd5d24p-1 +-0x1.8801d5721b75fp-4 +-0x1.cbb29dedb7859p-2 +0x1.09dc7087753f5p-1 +0x1.3fb3c89ab96cbp-1 +0x1.d2e5c462d6fe6p-10 +0x1.334c7ccbd2a92p-2 +-0x1.de456d9229bfap-7 +-0x1.8672e0fb442e8p-1 +0x1.613f900966008p-5 +-0x1.171fea35bf973p-3 +0x1.dd5d3e2c4082bp-1 +-0x1.ddd8a48f86d3ep-1 +0x1.2a88e302902afp-2 +-0x1.ea24d92a2d6dfp-4 +0x1.4c6a13bba4e4ap-3 +-0x1.77183cb13c809p-4 +0x1.56d510daccc47p-1 +0x1.2e8bca4275bb5p-1 +0x1.7c2a16c2964e7p-2 +-0x1.c3f2462543705p-2 +0x1.396a3cea4d309p-1 +0x1.98d18ec653e29p-1 +-0x1.8617ecc9db13ep-1 +-0x1.22c6965a2ca34p-2 +-0x1.91ecf0f1395fp-3 +-0x1.40d1fde2a3dc4p-1 +-0x1.9f48558885f81p-1 +0x1.cc14eb8fb23eap-1 +0x1.82a1bfe92ea29p-1 +0x1.5eaff998e776dp-4 +-0x1.242f7a3e92be2p-2 +-0x1.4b33f9eba0d61p-3 +0x1.40013144dc83dp-2 +0x1.6bfb33c8e9d68p-1 +0x1.3f6eac0423531p-1 +0x1.932adb0ca85d4p-2 +-0x1.0280595397c7p-2 +-0x1.e179cafc97091p-4 +-0x1.9c15e1ffa19bdp-1 +0x1.934bba3dce8c2p-1 +-0x1.8f4b3043baa19p-3 +0x1.1b5cd5da6d993p-2 +-0x1.815aa67cad1a1p-1 +-0x1.0a49385eb30c6p-4 +-0x1.17224de585ba1p-3 +0x1.7396b7f0ac763p-2 +-0x1.cd1761a045fa5p-1 +0x1.1339996278cb1p-2 +0x1.09b2218776c76p-4 +0x1.0ad203c10df6ep-3 +-0x1.e96f930781a01p-3 +-0x1.21e5d8eb57dd9p-1 +0x1.3a96fce479ab5p-1 +-0x1.fea527443ca72p-8 +-0x1.93dc6ac05f8f3p-2 +0x1.0090cb112c6a6p-1 +-0x1.e54f07a60f95fp-3 +0x1.93680d91a538ap-2 +-0x1.220a5ffef9135p-2 +-0x1.5ef9eb9552a3bp-2 +0x1.71cdb61a203c4p-1 +-0x1.0e43930a7e9cfp-3 +0x1.0b150ca347058p-1 +0x1.d86000d9a7707p-3 +-0x1.e6a3193c6903bp-1 +-0x1.824a66470bc5bp-2 +0x1.1e75da86fb093p-4 +-0x1.a497dc2b271ap-1 +-0x1.df678e05329f3p-1 +-0x1.3c85356e7e1c5p-1 +0x1.da0740cf5ed85p-1 +-0x1.0ff5d61e9b253p-6 +-0x1.be0fe188262cap-4 +0x1.f4742b5564d8fp-1 +-0x1.d22bd1d43a0f4p-1 +0x1.a5a752c75334p-2 +0x1.5be0998b99833p-1 +-0x1.d20e79c1a01d7p-1 +0x1.403e757d27d45p-1 +0x1.104161c484cbcp-1 +-0x1.abe650018080dp-1 +-0x1.39dd9137af427p-2 +-0x1.69653a2a1374bp-1 +0x1.65c3ece57a586p-1 +-0x1.6c4d7799d4989p-3 +0x1.a5fa1adb8dbd9p-3 +-0x1.4db59708d01c8p-7 +0x1.2fb3213846339p-5 +-0x1.6216ce96bac8ep-3 +0x1.f64fe01db8306p-1 +-0x1.b906b7e750bffp-1 +-0x1.2bec9a3b04009p-1 +0x1.e6ec082b13217p-4 +0x1.7d2cd344c007cp-3 +-0x1.e5d9a3c241a81p-3 +0x1.0b7493e17eeb2p-6 +0x1.fb9f853d97b97p-2 +-0x1.3174c5166188cp-2 +0x1.fcc562065f594p-3 +0x1.0522022d23754p-4 +-0x1.b6f2a2f42be92p-2 +0x1.e0390498dd2b9p-4 +0x1.8822d03dad10fp-4 +-0x1.3ca64ba244d8ep-4 +0x1.cf36e6df9093bp-1 +-0x1.63b0552562be5p-1 +0x1.b4e0038a61d51p-2 +-0x1.85ff25d81efaep-4 +-0x1.7d722e7d5d2eep-2 +0x1.d86dbcd9e9471p-1 +0x1.3a52dc6a593f6p-1 +-0x1.21833aadf92f7p-2 +0x1.4e1963fd716bbp-3 +0x1.a93094e125a22p-2 +-0x1.1026fefab4092p-1 +0x1.2b11802d5672cp-4 +-0x1.1663b10191896p-2 +0x1.64f32aa7f17c9p-2 +-0x1.a6decb9b36ebfp-1 +-0x1.67ce64946b73fp-3 +-0x1.23403f1ec517fp-5 +-0x1.1ef83a883d0bep-1 +0x1.99a3945503585p-4 +-0x1.9efbd0e62852ep-2 +0x1.e0996a6d71608p-1 +-0x1.e6e4a37283ccfp-1 +-0x1.0b67a463409bcp-9 +-0x1.a8496a3e739d3p-1 +-0x1.8d426075714abp-2 +0x1.2fee8d8fad0ccp-1 +0x1.2784b3c87544ap-1 +-0x1.fa3b208cc16eap-3 +0x1.5f32ab56a81c4p-2 +-0x1.d1bb10de8809bp-1 +-0x1.b9e65c992b6c7p-3 +-0x1.ccdc52631a2e2p-1 +-0x1.6dbe7021dcdc3p-3 +0x1.833ffd9c93715p-7 +0x1.c0d5052fbc47fp-2 +-0x1.06c04889a6666p-3 +0x1.b0c5321868886p-9 +-0x1.ee5ba6815b544p-2 +-0x1.6697864d13621p-1 +0x1.6c783403e4e6ep-1 +-0x1.3b4d8ae62a974p-1 +0x1.f9fb84ebafdcp-1 +0x1.3b1e328a34351p-2 +-0x1.18f583ce4c08bp-1 +0x1.24c60a23649adp-2 +-0x1.ae3cc9fb0c74bp-2 +-0x1.413f556fc1b8dp-1 +-0x1.918bbf987a7ap-5 +-0x1.d2fc44a4a7de7p-1 +0x1.8e35dfe978176p-1 +0x1.8f68fd71f9b15p-1 +0x1.869b0f971e7fcp-2 +-0x1.3e027e2b77067p-1 +-0x1.113a09f81fc81p-1 +-0x1.d382c87c16dfap-1 +0x1.7880f4f8ccd14p-2 +-0x1.9719c92834c47p-3 +0x1.ea1f6d15e40f3p-4 +-0x1.967b8412b0748p-3 +-0x1.7cfb5c082da3p-4 +0x1.c80843bf8e32ep-2 +-0x1.a72e4554b493ep-2 +-0x1.6ef64ba5996c6p-2 +0x1.1f6f5adebccafp-3 +-0x1.52cf3636ba4c8p-4 +0x1.081ab8e481571p-2 +0x1.9154e8e27119dp-1 +0x1.ac4639daa3fc1p-1 +-0x1.035bf209ab685p-3 +0x1.65041b91e3aefp-3 +-0x1.e37863b5158e2p-3 +-0x1.16998c5aeea67p-2 +-0x1.e547c246dbd7fp-1 +0x1.1ed26a33ee2eap-3 +-0x1.23c3d97f70e31p-1 +-0x1.4c64c57d69067p-1 +-0x1.d6a0b3f708445p-2 +0x1.22d2d85c8671ep-3 +-0x1.4c8e625976fadp-1 +-0x1.e7c0963ca07e6p-1 +-0x1.a6a27e8d0383fp-2 +0x1.e445269dec118p-1 +0x1.c0264fa5c7ecfp-1 +-0x1.49c2929ed8bcep-1 +-0x1.3f3e20e4b159dp-4 +0x1.08e6a287d0368p-2 +0x1.dbb2a899770eep-3 +0x1.86b46131b2bb7p-3 +-0x1.59edd0fd7a02bp-6 +0x1.4b4d1a28acebep-3 +-0x1.80e5e238cf92ap-1 +0x1.e3505559390ecp-1 +-0x1.ce34047bc919dp-2 +0x1.f916efb553ab6p-3 +-0x1.e1bb82cad4ff9p-1 +0x1.ea0ff46f317d1p-5 +0x1.923c71788ea04p-4 +0x1.bb144bbd7dd0bp-1 +-0x1.f4855fd66f1cbp-2 +0x1.d4caf0529ba63p-2 +0x1.5638675db228ep-1 +-0x1.b712ca3109ea6p-3 +0x1.1f2cd3235346cp-3 +0x1.ed4bdf659996fp-4 +-0x1.a29e188bf5bfbp-5 +0x1.ef3d4884fda55p-2 +-0x1.8052972077a48p-2 +-0x1.917ca02a22d06p-2 +0x1.3c41847bdc082p-1 +-0x1.6938458ab627ap-1 +-0x1.2fb6b643562d7p-5 +-0x1.59853df8c173cp-1 +0x1.611128c147c72p-2 +-0x1.18f7cde09775cp-3 +0x1.351d757602a36p-1 +-0x1.43c3be9da80e9p-1 +0x1.4c8bb10fa0acep-1 +0x1.84bcbe79f1b16p-2 +0x1.36e69d8ea3e36p-1 +-0x1.fff16484f17e1p-6 +0x1.640ff6386eddbp-1 +-0x1.c1eb62021f88bp-5 +-0x1.bd350368ccd79p-3 +-0x1.653e8816c8a17p-1 +-0x1.7eba16aa58b13p-4 +-0x1.8089ea0f1c7f1p-3 +-0x1.c3a18f041a8f6p-2 +0x1.70dfb423fbafp-1 +0x1.38adb9e6ddb33p-3 +-0x1.06c1ed283b8afp-3 +-0x1.195a4044fb86dp-2 +0x1.1f8a58934ecadp-2 +-0x1.954db81f6f7bep-2 +0x1.2acab0fcc58dfp-1 +0x1.838bdc6ec7946p-2 +0x1.28b1d151076b1p-5 +-0x1.97e0cdb2e1c29p-1 +-0x1.83a85f0b9e19dp-1 +-0x1.d6da1aa9e9d6p-3 +0x1.8089f00069a02p-2 +-0x1.9d9401c1444b9p-5 +-0x1.67bef0d5e2905p-1 +0x1.ba7cff5a21287p-3 +0x1.6f2d89e4377d4p-2 +-0x1.4e682d49ff477p-1 +-0x1.866033fc47c63p-4 +-0x1.a8b234d4fa494p-1 +0x1.ad9e503e3644dp-1 +0x1.af3ba6224781dp-3 +-0x1.fcf444ef4a508p-1 +-0x1.0e8779651418dp-2 +0x1.734c78ecf572fp-1 +-0x1.cf1bfe276cd87p-1 +0x1.7dd1d6f80b258p-1 +-0x1.9bc7256c883d5p-1 +-0x1.1fb62da1a3d4bp-3 +-0x1.472b8059a0985p-3 +-0x1.203150860089p-3 +0x1.12db7f14a0901p-1 +0x1.67076a642db53p-1 +0x1.cc8250fbe9a5p-2 +0x1.abc4a2f7184f3p-4 +-0x1.76773ac36009ep-3 +0x1.6e30cc6161691p-2 +-0x1.28162cae6334fp-1 +0x1.8ba3eacd60e5ap-3 +0x1.3f45a59449c16p-1 +-0x1.ea412ccdd31dap-1 +-0x1.9167e078dba76p-1 +-0x1.32a483ea9c069p-2 +0x1.8ca0d3713df7ep-3 +-0x1.70c6f55bcdb7ap-3 +0x1.b8b6fd4665d2ap-1 +0x1.fcdccfc909346p-2 +0x1.8b66e9ea13fdcp-2 +-0x1.a56e6e2d62bcep-1 +0x1.91a18769939a2p-1 +0x1.3c5eab47291b4p-2 +0x1.9d2081ebd1b15p-2 +-0x1.505e1dad5b469p-1 +0x1.add1e9f1c6cddp-4 +-0x1.3c19b3000d4cp-4 +-0x1.bfe59d4cb01f1p-3 +-0x1.091167151f2b2p-2 +-0x1.1bc38e13c4ff2p-1 +0x1.46b330f251836p-4 +-0x1.95dc20f6b81b1p-5 +-0x1.fb3325a724a99p-3 +-0x1.d185f66c21c09p-1 +-0x1.c869c9e37ec6cp-1 +-0x1.e53b7d6fe8dbbp-1 +0x1.f839c7b5f27a8p-1 +0x1.6f2fce3ff172cp-1 +-0x1.00b57a155c308p-1 +-0x1.e7e88aad85528p-6 +-0x1.27dfb980a318dp-2 +0x1.3878b72cd03bap-8 +0x1.edc937194b17ep-1 +0x1.b6424596c6206p-4 +-0x1.f5fca9c73aa49p-3 +0x1.ea6d8e8582b49p-1 +-0x1.e4fa9d2d35a6cp-4 +0x1.c3a329a19b4c6p-1 +-0x1.892060d285801p-1 +-0x1.b55afecf8a89fp-3 +-0x1.7c2907ac402f2p-1 +-0x1.6cbe97f9de2cp-3 +-0x1.6538d07abff71p-2 +-0x1.f0a1b605e3c12p-1 +-0x1.487e82721bdc2p-1 +0x1.3a04b839c000bp-2 +0x1.8a60648166336p-3 +0x1.a5ae930ad74f5p-1 +-0x1.edd53f3ede6dbp-3 +0x1.5d5d25d6e1df5p-1 +0x1.bde419125c33bp-1 +0x1.6afdfa12ade46p-5 +0x1.9bf9a5551f05dp-2 +0x1.fdd15d3264bdbp-1 +-0x1.c96813e2516bbp-1 +0x1.1084618b77decp-1 +0x1.aa35d4ca8cb64p-1 +-0x1.93b554033355p-2 +0x1.4e87d429e00c6p-3 +0x1.d8c21cecf6a5fp-1 +-0x1.58120f497a57fp-1 +0x1.70b79bca29c7ep-1 +0x1.0e317b310742fp-4 +0x1.7edad483a722ep-1 +-0x1.46dc0be558c71p-1 +-0x1.a9daf273b6a36p-3 +0x1.ab4d2f397818ap-1 +-0x1.0d69b2fae6d74p-2 +0x1.921c36baeedbfp-1 +0x1.7f549b139921bp-1 +-0x1.ad16834c297f7p-2 +0x1.04d87064f45a9p-3 +0x1.4175f42ac6a6bp-1 +-0x1.b02c6dcdd3b68p-2 +0x1.34764b64b2d2fp-1 +0x1.2118854e7299fp-4 +-0x1.4238733ceb673p-2 +-0x1.4a6c29779e9acp-1 +0x1.fee6fbe15ae28p-1 +-0x1.8be5fd698032p-1 +-0x1.936aea3920d71p-1 +-0x1.dabe9688f81fp-2 +-0x1.42dc805d7da19p-5 +-0x1.e3ff006448c3bp-1 +0x1.f88cd33fea75ep-5 +-0x1.28b76faedb227p-1 +-0x1.269185dec9facp-2 +-0x1.969f37ec7e03bp-1 +-0x1.211d6ae70e179p-3 +0x1.c8beaea874c75p-3 +0x1.fa362518a47bep-1 +-0x1.8f086926c9caep-1 +0x1.f36eeef1681fep-2 +0x1.4fc9cbea1c7c2p-1 +0x1.74203647abbafp-1 +0x1.e226f848c0d18p-1 +-0x1.2a62899d3444ep-1 +-0x1.ecf65cc6cfa57p-3 +0x1.62cada4da3588p-3 +-0x1.06112ee96ed42p-1 +0x1.991d772a8d2fbp-1 +0x1.7e78b07ec4838p-2 +0x1.d48d7f43eb707p-3 +0x1.3894ec2f62c8fp-2 +-0x1.7b85d94cb40dcp-1 +-0x1.1d42d52087b22p-1 +0x1.42df245ddf4cp-4 +0x1.d957b39f1b5bcp-1 +0x1.5da970f455cep-4 +0x1.39ded466635bap-1 +0x1.8de0da820f6dfp-1 +0x1.6d4a0236d78fcp-1 +-0x1.4d8d449f2b435p-1 +-0x1.b0a64e2e5c84ap-5 +0x1.533eec8e7df3fp-2 +0x1.eb2611c85af75p-2 +-0x1.b4668069c2fa6p-2 +0x1.6aa1e6008f9efp-3 +0x1.10b6023dd5a51p-3 +0x1.56a3db00dfb09p-4 +0x1.f010c517a2d28p-1 +-0x1.18296d17dc06ep-3 +-0x1.3d588b118722dp-3 +-0x1.d6ad6c24b742dp-2 +0x1.258971b533d55p-2 +-0x1.c7ee50b19472cp-2 +0x1.1c1917f6ab6abp-1 +-0x1.ceb3d209defafp-2 +0x1.cfcc562931b3ap-4 +0x1.e1760284e900ap-1 +0x1.e5afa46e90a22p-1 +0x1.7fb1744c7e9b9p-2 +0x1.a8514afcf6c49p-1 +-0x1.4fe372759a689p-2 +-0x1.25bc60506fdbep-2 +-0x1.e8715cea6be56p-1 +-0x1.a59091efe7995p-2 +0x1.2641c9b9a248p-1 +0x1.3f51ed7ba8d8p-1 +0x1.d3a85f6de7a9p-5 +0x1.39f04e6d281aep-2 +-0x1.e6487fdf4e5e4p-3 +0x1.fdab353d31fc2p-4 +0x1.d1236f695756dp-2 +0x1.6718ed72e9789p-1 +-0x1.119026c4bfb24p-1 +0x1.76ff3b9c98f2cp-2 +-0x1.f781f8887fdp-3 +-0x1.3a0381516fe6cp-4 +0x1.7f800df187fbap-1 +0x1.783d0bae7ce4bp-1 +0x1.539460c52065ep-2 +-0x1.987720ade20e1p-1 +-0x1.fb7a09b91bc0dp-2 +0x1.04c55d99d221dp-2 +0x1.73c68097fc1c8p-2 +-0x1.18c6042c259bep-1 +-0x1.f9e446149f343p-2 +-0x1.93e5d1509b1fbp-2 +0x1.4357f95694abbp-1 +-0x1.4f73dff8a219dp-2 +0x1.0662a9283dfcap-3 +-0x1.9aefc240221ep-1 +0x1.824eb4bd04f71p-1 +0x1.56029089ad8a3p-1 +0x1.9a130b4adb103p-4 +-0x1.10bb606db7998p-2 +0x1.3f1d4d617dc3ap-5 +0x1.698d34ef002bap-1 +0x1.3dfe18d23dabdp-1 +-0x1.bcdb63873a2fap-1 +-0x1.584ccd03d4493p-3 +-0x1.6dc27f225b846p-2 +0x1.eb303cb53998cp-1 +-0x1.016d02f024be3p-5 +-0x1.29eb778b5f1f5p-2 +-0x1.0abdf0f18390bp-1 +0x1.629ee3be466d8p-2 +0x1.60b55672a22ap-2 +0x1.76938f72c472ap-3 +0x1.3eeea53201ebcp-5 +-0x1.40c599d79e1d6p-1 +0x1.7eef295e0e837p-1 +0x1.dd0da6510da01p-2 +0x1.823730a5bc82ep-1 +-0x1.2150615463ab5p-1 +0x1.101aadca06418p-1 +-0x1.c3f5694f8dfdep-1 +0x1.06315b137b1f5p-1 +-0x1.f7737ba23a3cdp-5 +0x1.095e792cb90d4p-6 +0x1.785b347459adfp-4 +0x1.abab90fd161bfp-4 +-0x1.1e1a082d8c9dbp-3 +0x1.40ed048dfc93fp-1 +-0x1.4126d117b65fp-2 +-0x1.3c323e678cdf9p-1 +0x1.c07c799fbda76p-1 +0x1.fa59284b45a11p-1 +-0x1.0709792a199bep-4 +-0x1.c893adaac049ep-3 +0x1.43efc95cd578cp-3 +0x1.c5e459adbc2b7p-2 +0x1.6b683d06b51b2p-2 +-0x1.e899f99981ffdp-2 +0x1.6abac947a4568p-5 +0x1.2a36804c285a7p-1 +0x1.fb1c5ca47ce1dp-2 +0x1.45948ab1a6b7ap-4 +0x1.188cd6a241b6p-3 +-0x1.a6f2f2538edf2p-7 +-0x1.2bfef29b4173bp-1 +-0x1.076554cde63e2p-1 +-0x1.4afc23f1f6081p-1 +0x1.41eade8b4c6b3p-1 +-0x1.c263bbd4bd059p-1 +-0x1.3aac7f16c7b5dp-3 +0x1.2c4326c2f281cp-2 +0x1.761eb4f22c80fp-2 +0x1.6984f6dd8a05ap-2 +-0x1.c6582ef591777p-3 +-0x1.96d2948eff429p-1 +-0x1.a093b132f6131p-1 +-0x1.7c76fb04d0531p-2 +-0x1.2e06ecece2c27p-2 +-0x1.55762693b425ep-1 +-0x1.98972442e4aafp-1 +0x1.0688508c93a04p-1 +0x1.6af4646cd2647p-1 +0x1.1aed4a10c2fbdp-2 +-0x1.5018e76a96f7dp-2 +0x1.b20e9d81a0492p-4 +0x1.226cf4eab304fp-1 +-0x1.b523f4f0ee9ap-1 +-0x1.497826d737528p-1 +-0x1.722170835be43p-1 +0x1.c6fd6bb5af388p-1 +-0x1.2e4bc1d86bf24p-1 +0x1.3d567596af448p-3 +0x1.0966bf6e26b7fp-4 +0x1.f544faca3378bp-2 +-0x1.0b150c476fadcp-1 +-0x1.d654181f71b43p-2 +0x1.7e29ca78db54cp-3 +0x1.8c2adf481de87p-1 +0x1.7f474ae0728c2p-1 +-0x1.2e67b400216ap-2 +-0x1.dd913b8c81c38p-2 +-0x1.fdc1ddde8980ep-1 +0x1.d6aee46b89338p-2 +-0x1.a29b79a4dabdep-2 +-0x1.8ffce82a1511bp-1 +-0x1.585b46676ad27p-3 +-0x1.efd218255d539p-1 +-0x1.be9657b9387bcp-6 +0x1.7ae99656c24c7p-1 +0x1.aeaaf4dc24616p-4 +0x1.6d3ab7668e9c7p-1 +0x1.9741fcf23ca84p-1 +-0x1.9d3c86fb8e7ep-1 +0x1.014789d4d5b91p-4 +0x1.4c924fe0eff3bp-1 +0x1.bb245eceee70cp-1 +-0x1.aefa6a42f92d2p-1 +-0x1.dc463168f601ep-1 +-0x1.862040f804f72p-1 +-0x1.7db4a17a2566bp-3 +0x1.5ad30ada010edp-2 +0x1.03104f22f96c3p-3 +0x1.5e4225f74a17dp-5 +-0x1.2c24ba980caccp-1 +-0x1.ac2c6d05084c6p-2 +0x1.54107a1363fccp-2 +-0x1.0a294f6b2e37dp-1 +-0x1.99e7e44058227p-1 +-0x1.585871bab9e03p-2 +-0x1.c6fb0ba237bdap-1 +-0x1.bbd30311345ebp-1 +0x1.692925c1296e1p-1 +0x1.a623ad0818d59p-4 +-0x1.080955c97a89fp-2 +0x1.1ecc81b72872cp-3 +0x1.6195fb0594eb3p-2 +0x1.2a2b8da734211p-1 +-0x1.b2d0b5b75004bp-2 +0x1.cdac5a8b6809dp-5 +0x1.e46d681a118c8p-2 +-0x1.269721653ce5ap-2 +-0x1.8b090c9767e1ep-2 +0x1.730522684b1d9p-1 +0x1.84b301a1ec3d5p-1 +0x1.22d6af8a6633dp-4 +-0x1.9108faadd1115p-1 +0x1.fe48626444ba7p-2 +-0x1.04ffeff608392p-2 +-0x1.d641c76db1ed5p-6 +-0x1.f9d3d67006a29p-3 +-0x1.ee62951aa7adap-3 +-0x1.94a685436df4fp-2 +0x1.a7c51685d902ap-1 +0x1.7528e0b8e65c8p-2 +0x1.86dca3bd4a44dp-3 +0x1.38018c0f0dd66p-1 +0x1.ca8ee71718ed7p-2 +0x1.23183337b561dp-1 +-0x1.dcdfa1bbaca2dp-1 +-0x1.ad60e5659217p-2 +0x1.f0ef80ba50badp-3 +0x1.02dfb10f2376dp-1 +-0x1.f4b12dad2c6bap-1 +-0x1.c8731904ec173p-1 +-0x1.4127a995c695p-7 +0x1.d15713fdf7f32p-1 +0x1.6c4854ce2170dp-3 +-0x1.0eaf5a8c2b582p-2 +0x1.3295391e3ccc8p-2 +-0x1.e298a4b310a7dp-3 +0x1.cc723844fe461p-4 +-0x1.0944042fcdae5p-2 +0x1.11645985610c2p-2 +0x1.fbafb2c408d9bp-2 +-0x1.55bb2c471333cp-1 +0x1.8a5b49dc6775ap-1 +-0x1.aa1fd4783c5dfp-2 +0x1.ad6deb99f13f5p-1 +-0x1.3cbf20ccfa12ep-3 +0x1.d8a72a7582604p-3 +-0x1.2ad9c98cb731ep-1 +0x1.cb2c20b529bd2p-1 +0x1.4eab5e2b883f3p-10 +0x1.312250f314a52p-1 +-0x1.fdac8059d637ap-4 +0x1.8a861f847ffd1p-1 +0x1.b0afa829ef788p-7 +-0x1.696bf8241502bp-2 +-0x1.34a82cdbb2bddp-1 +0x1.43480b2d09d2ap-2 +-0x1.1279ca51f09ep-1 +-0x1.cc733e81510dep-1 +0x1.5b96b59bd4a81p-1 +-0x1.012392749431fp-2 +-0x1.0a1a69c4119ep-1 +-0x1.aa7e138c9014cp-1 +-0x1.7d721e0c67188p-2 +-0x1.bdbb38fb4a865p-3 +0x1.89118773885b4p-4 +-0x1.0bbad712682adp-4 +-0x1.28f5c5d5d3463p-5 +0x1.8a425b8ba6b8ap-2 +0x1.04b6c0f1f3358p-2 +-0x1.ef7e3aa60e5c7p-1 +-0x1.6d7c6259830bap-2 +-0x1.f66591882ddd8p-2 +0x1.b74e314b16568p-3 +-0x1.40021a647131p-1 +-0x1.83b5e37123499p-2 +0x1.6371b31f059f7p-1 +-0x1.9f4dc59eee9a1p-1 +-0x1.0ce498d843fcap-3 +0x1.1b058254df45fp-2 +0x1.bac48ca6cdc9p-4 +-0x1.c0d9c8afc95fp-4 +0x1.0feff196d7a4bp-3 +-0x1.d50a271db9ca6p-1 +0x1.e9e4d5fa81a2cp-4 +-0x1.541629397c642p-2 +-0x1.fc6601fdf66dbp-1 +-0x1.d61d59e663c4ep-1 +-0x1.7dfbd69c84161p-1 +-0x1.f2ad11c17907dp-6 +-0x1.b49d68c036a54p-1 +-0x1.e90b1aed4219bp-1 +-0x1.a6fa422911babp-1 +-0x1.45452675327bap-1 +0x1.ffca9b7cb5f03p-4 +0x1.5afe8ae2ed933p-2 +-0x1.54094b3d1d351p-1 +0x1.8124ccdc8b1dep-1 +0x1.80e3387dbf33ep-4 +-0x1.45ae5838cae14p-5 +-0x1.44c5524e9199fp-1 +0x1.9542f3a4aad91p-2 +-0x1.6e1d568eaed31p-2 +0x1.5135031e3d378p-1 +-0x1.e190cef90b975p-3 +0x1.a9a24a9583efep-1 +0x1.2a101fa45a0e7p-8 +-0x1.b7907135cf16cp-1 +-0x1.488aeec168574p-1 +0x1.e138c8aecc876p-3 +0x1.e699ff5488432p-1 +0x1.54f552b9607bbp-2 +0x1.e600b80e8144bp-1 +-0x1.acf8a111b6719p-2 +0x1.5d2db9637e1a6p-1 +0x1.8c4cfa3fcb05fp-2 +0x1.90c4c2e5b26edp-1 +-0x1.a8b47004f8cddp-1 +0x1.ac19b05feb01cp-1 +0x1.3290013a62282p-2 +-0x1.a3b5812aa323bp-1 +0x1.db9ff93d0cbe7p-1 +0x1.424e8beab53edp-4 +-0x1.255d464262766p-5 +-0x1.26b960ac0c35p-4 +0x1.e7fd5cded754cp-2 +0x1.b17e69ae8c5c7p-3 +0x1.cdd90e580cb64p-4 +0x1.dd3db00a3ab54p-1 +-0x1.a1c03e85e08e7p-1 +-0x1.8777d294a4417p-3 +0x1.3683c7f7a18d9p-3 +0x1.18abee9edaa09p-1 +-0x1.6a2fb5cdd4f1cp-1 +0x1.9c9940c028163p-2 +-0x1.dd0cd1cbf4055p-1 +-0x1.d4cb601ad903bp-2 +0x1.aca3c5b49b51fp-1 +-0x1.6d0c6ee038aa8p-1 +0x1.77f5896bfaf1p-4 +0x1.1a429138cb95ap-1 +-0x1.3af6c2d75d189p-2 +0x1.a5f5e16f171d8p-1 +0x1.606b66d295891p-1 +-0x1.d480710e94e67p-2 +0x1.2bd4fb5c7d6e4p-1 +-0x1.8a5677109eb3ep-2 +-0x1.5ab8006d54d0ep-1 +-0x1.babac1d6658b9p-3 +0x1.26d7b544813f8p-5 +0x1.76144c7f3e9c9p-1 +-0x1.b63ffd72bbbe9p-4 +-0x1.4fbc6dd06a89dp-1 +-0x1.c9fb28901d517p-7 +0x1.6ddf6892b72cap-4 +0x1.ff5b86f5f418dp-4 +0x1.d316aed1c285ep-4 +0x1.430bf232c207ap-7 +-0x1.858ca479da09dp-2 +0x1.fc36937c38254p-1 +-0x1.1d770d6a2cf96p-2 +-0x1.032dc815610bbp-2 +-0x1.7b041fd969e89p-4 +-0x1.6584df2c6a83p-2 +0x1.1dfed4759bebfp-3 +-0x1.ba50d2f6110b5p-2 +0x1.e29c9b31d6da9p-1 +0x1.92f14e8f3825dp-2 +-0x1.39170d6424af2p-2 +-0x1.8693d0848429p-1 +-0x1.15fa81e3464dcp-2 +0x1.350d7839f7f2dp-6 +-0x1.e2708c5d89902p-2 +-0x1.5070451065217p-1 +0x1.41e9cf1736a6dp-2 +0x1.f12d2e6b6209bp-6 +-0x1.d56cf5fb29992p-2 +-0x1.285071363c39dp-2 +0x1.0539b90ce036ap-5 +-0x1.2c7dcbecb517cp-4 +0x1.3988e26de320cp-1 +-0x1.8d67eb32ca1dep-2 +0x1.9a32e17b6b67ap-4 +0x1.8104464fd1697p-2 +-0x1.271f4b5fe7d3fp-1 +-0x1.de4e40a256dd8p-2 +-0x1.139b0f0231c45p-1 +0x1.8deb51fc025a2p-1 +0x1.d9242a57ec73fp-4 +-0x1.c44d82fc80782p-2 +0x1.5d55ae6cc0f17p-1 +-0x1.48d04b70bdd15p-3 +0x1.1fa8f83f85f7bp-2 +0x1.c9e901ebf5e59p-2 +0x1.d2a2249179892p-3 +0x1.e404493e20088p-2 +0x1.f8b7c45db0cfdp-2 +0x1.84b45249bc8p-3 +0x1.0b6f2199f585dp-1 +-0x1.7938bbec3eab9p-1 +0x1.a79e904e6f7a6p-2 +-0x1.0eb5225e65041p-2 +0x1.eaccf88238f54p-1 +0x1.390430d8c61c1p-1 +-0x1.511bb5b7e9e99p-1 +0x1.32dee3febf14p-2 +0x1.3b00a9f677e95p-1 +0x1.6e4fd7e40b128p-1 +-0x1.97dfc2cfab84cp-3 +-0x1.51aca94a7dadbp-3 +0x1.2ae800ff7859ep-4 +-0x1.a4ebb42664509p-1 +0x1.334a7b3b9079p-1 +0x1.93059e45e2b6dp-1 +-0x1.2767c0f5a260ep-5 +-0x1.08178d1cc56adp-1 +0x1.f5bd79662971cp-5 +-0x1.fe54f0c1b200ep-4 +0x1.4a0bc895c512cp-3 +-0x1.48c1ad2bba5cfp-2 +-0x1.60dae68516f36p-2 +0x1.e70663a7a9653p-1 +-0x1.e5afbcc46f105p-1 +-0x1.7e4222c6c973p-1 +-0x1.6b5f6879ec61fp-2 +-0x1.116521d4a3d8cp-1 +0x1.a468ebf0357cbp-5 +-0x1.4413d5ee9f75cp-4 +0x1.b61754ae0c6dbp-1 +-0x1.b947e094d55dep-2 +0x1.977b767ab2815p-2 +-0x1.8b6dca686933fp-3 +0x1.991f4bed593b8p-1 +0x1.012dd5417ebabp-1 +-0x1.8af3b7aac61cfp-2 +0x1.9b817a66f1ep-3 +0x1.094b6e6f48d65p-1 +-0x1.a4ad2f1d303ebp-1 +0x1.e40b96b32e14cp-4 +-0x1.e0c79226aa222p-2 +0x1.971a6eb6018aep-2 +-0x1.9cdffccabc0efp-2 +-0x1.7f64dd7243975p-4 +-0x1.bc3d0d490c944p-1 +-0x1.5fc30d17c6d7p-1 +-0x1.394386750109cp-1 +0x1.9697c6ba07269p-1 +-0x1.e3f9c8732e0b1p-6 +-0x1.f1f8430ec2bc5p-3 +-0x1.dea8cfcd209e8p-3 +0x1.32a8cc0d08ac5p-1 +-0x1.085623bdd141dp-2 +-0x1.40cc2d2b49247p-1 +0x1.979e582fffa19p-1 +0x1.22277b094be9p-1 +-0x1.88ea7e13e710ep-1 +0x1.e6c3afea56211p-3 +0x1.a29236a2732fep-5 +-0x1.0c3141d2aed7cp-6 +0x1.5c4d26be8c375p-1 +0x1.bb92e9a234e99p-1 +0x1.fae36351584c7p-4 +-0x1.d8c9381b36e3p-5 +0x1.769c090d856c9p-2 +-0x1.666600121a512p-1 +0x1.53c883aed37dp-3 +0x1.7081dd700aec3p-1 +-0x1.b75cd69eb7542p-3 +0x1.c6c62f42465bcp-2 +0x1.9550b24d48119p-2 +0x1.d576a67439797p-1 +0x1.68731a7f66afcp-2 +0x1.1782432d3e0fcp-1 +-0x1.936702f764919p-6 +-0x1.324f3175f50bep-2 +-0x1.44c8d837b29a1p-1 +-0x1.13235abe51859p-2 +-0x1.3590ff9fb0307p-3 +0x1.7f7ee35916c4bp-3 +-0x1.56a414516dfd8p-5 +-0x1.b28e106776d08p-4 +-0x1.56b4b7e525f8p-1 +0x1.269a29679b878p-2 +0x1.5c25b7a3b86c2p-2 +-0x1.52467ca5a2a59p-2 +0x1.a9781388cb2afp-1 +-0x1.6ad65c0b2c245p-2 +-0x1.8b3d6bf9c738p-2 +-0x1.42b03fb911a6dp-2 +-0x1.7c9dfd892282cp-1 +-0x1.4cfbf80963feep-1 +0x1.01cf97de8cb3fp-1 +-0x1.4580a4f7cd1bp-1 +0x1.f863ad7b8b45fp-2 +-0x1.276971410e109p-2 +-0x1.b80c5e6a003fep-1 +-0x1.1d73ed291042cp-2 +0x1.b31d0ef3c7a3dp-2 +0x1.8216509d06f1dp-3 +-0x1.e62d7e4f2ca86p-1 +-0x1.7fafc9ff671f2p-3 +-0x1.b10432fe8a26ap-1 +0x1.5d39b979b9a6fp-6 +-0x1.814adcb6d08c6p-1 +0x1.007b53c1185c4p-1 +-0x1.d7f8b998ae332p-3 +0x1.1e4003db8fb25p-1 +0x1.cf7be185bcb6ep-3 +-0x1.edec2941d3352p-1 +0x1.2787ee2e37515p-1 +-0x1.e0ce1f0eea52bp-2 +0x1.9603cd92dae3cp-5 +-0x1.91869e5b58505p-1 +0x1.ed10f7051185fp-2 +0x1.982de6c7f4d8p-3 +-0x1.10e77e4a622b9p-2 +-0x1.b1b6a899c6a79p-1 +0x1.192082aae86c5p-2 +0x1.57a1574b63bd2p-2 +-0x1.3ccdaf13ed278p-1 +0x1.6f2f0bf02902ep-5 +0x1.afcdaf9fd9ac8p-1 +0x1.630dac7b68b4dp-4 +0x1.970d4fd8df16cp-2 +-0x1.2c42111ba3878p-1 +0x1.f58ab54620487p-2 +0x1.d318cc564819ap-2 +0x1.bdd0ab433e808p-2 +-0x1.7839b96617161p-1 +-0x1.b0f20f3d48bp-2 +-0x1.426bb9e8b8d57p-1 +0x1.27fc8053f6d7ap-1 +-0x1.d9ecd6d73af88p-2 +0x1.f6fd3737e2095p-2 +-0x1.c6376075267ap-2 +0x1.5d9d619500a72p-1 +0x1.985deed076b0ap-1 +-0x1.0b836aa598b3bp-1 +-0x1.15fb076c76e54p-1 +-0x1.4f571fde7a502p-1 +-0x1.c17998c8e3353p-1 +-0x1.8259681e6bf3bp-1 +-0x1.2dfec1f21f17dp-2 +0x1.86b9d349f1f7ap-1 +0x1.31593a6fcda34p-3 +-0x1.cdb44cb109cbfp-1 +-0x1.40301ef2451e8p-4 +-0x1.6cb2e1d010d6cp-2 +-0x1.625cce8b1d24ep-1 +-0x1.c039bc7976072p-1 +-0x1.fab4a3e3913d1p-2 +-0x1.6b0ae4ccc749p-2 +-0x1.32bdc28a0df19p-2 +-0x1.d95bf17c22d4ep-1 +0x1.7093254da59aap-2 +0x1.ac93a15eac938p-2 +0x1.742a051f8d64ep-1 +-0x1.6cc9bff839cb7p-2 +0x1.a12496fcd7d16p-2 +0x1.6a11291b7887cp-1 +0x1.bfd70fa6c9fd2p-2 +0x1.be81aae59b7aap-3 +0x1.0966e6a0d73dap-4 +-0x1.b4c843ccf15d4p-2 +0x1.241202d617097p-1 +0x1.ad5c7a7406aebp-1 +-0x1.d2e133d994841p-1 +-0x1.65d80c954f8dfp-2 +-0x1.2d790bf71cdf5p-1 +-0x1.72e499d922a73p-1 +-0x1.3e615f76b8d66p-1 +-0x1.4d1eac5d5b8f2p-3 +-0x1.cf9ff27bf2c0cp-1 +-0x1.1205fb4b89fcep-1 +-0x1.6705acf7017acp-1 +-0x1.049f01c2818aap-1 +0x1.079cffcadd19dp-2 +0x1.3c0b01902f4fbp-2 +-0x1.6f31aa0dc4b51p-1 +0x1.52f99de5b809p-3 +0x1.008423352f85cp-4 +-0x1.1e1136975b5dep-4 +0x1.b536f06311f25p-1 +0x1.fcf3a51d97202p-2 +-0x1.6ff71534123ddp-1 +0x1.42050005933d9p-1 +0x1.98e072b8f299ap-7 +-0x1.69191f678ad4cp-3 +0x1.40a784ab1744cp-3 +-0x1.63757ec40cb2ep-3 +-0x1.cfa6fa09e37cfp-5 +0x1.025cfddaf743cp-1 +0x1.dc329dc41076ap-4 +-0x1.80455f6bc69bcp-1 +-0x1.f7adf7d8ae9e8p-1 +0x1.f8472c0d8233fp-2 +0x1.a4ef60e8d4b68p-2 +-0x1.81239f23394e7p-1 +0x1.5387fc6c4af86p-1 +-0x1.80dc1ca4a928bp-1 +0x1.50ab5ca3ea361p-2 +0x1.7ca938069d897p-3 +-0x1.524fd49a02b4dp-3 +0x1.44580cdfe28b4p-1 +0x1.bcf5e5773b864p-1 +-0x1.ec2f51ca5af3bp-1 +-0x1.d881ce2ed8b85p-4 +0x1.b8cf6de8cd133p-2 +0x1.5e4d8deac9d24p-4 +-0x1.544a1988b1237p-2 +0x1.e67a48747bf31p-3 +0x1.c4edfa9cbff3ap-1 +0x1.6b2dda97a7f3ap-3 +-0x1.a8b95ed78f2f1p-2 +-0x1.83ff63ccd829dp-1 +0x1.de453ec5656f7p-3 +-0x1.70b985d772324p-1 +-0x1.a138ff48e7066p-4 +0x1.83719c6502f7bp-1 +-0x1.a4349c6c28813p-1 +-0x1.ed06da667efe6p-4 +-0x1.414837338660ap-3 +0x1.fd17be8702e5dp-1 +0x1.0fdaa028af235p-2 +0x1.8bdbe25c8524p-4 +0x1.9a65a34f42815p-1 +-0x1.7f250f8677549p-2 +-0x1.3b1f20fce5035p-1 +-0x1.345fb24859892p-2 +-0x1.75771df423c34p-2 +-0x1.11c84083469b2p-1 +-0x1.ec1425f94a20ep-3 +0x1.0dcb3cd4ced58p-1 +-0x1.01df0e2e1370ap-1 +-0x1.5583c6f4bc694p-2 +-0x1.7534bc75be26cp-2 +0x1.65f932877f2c9p-1 +0x1.650ac355b1fbp-3 +0x1.f4a996d8aa54cp-1 +-0x1.b65fbc20a3a98p-1 +-0x1.ed015bb0f1a04p-2 +0x1.530258a63ca0ap-2 +0x1.244d37a4b88fp-1 +0x1.a5d93b108ac8bp-1 +-0x1.f3cdd95209908p-1 +0x1.e19df575548e9p-1 +-0x1.05c686cf8aa9p-1 +0x1.27d0aec5930a7p-4 +-0x1.a02df7e27602dp-3 +-0x1.fdcf44623d089p-4 +-0x1.dc0e3b5fc7529p-5 +0x1.8d0733930aeaap-7 +-0x1.a57da927cfc94p-2 +0x1.11731cbe222f2p-3 +0x1.8eb29b03763abp-1 +0x1.1de421fc65cf7p-3 +0x1.5b00a9eb14f05p-2 +0x1.f487b542e453bp-7 +-0x1.782853be7a173p-6 +-0x1.8cd0667537f74p-4 +0x1.13114d2764ab5p-2 +0x1.5fd92c29e14d1p-1 +0x1.d9bb67a751c9bp-3 +0x1.000b24dc60bbfp-2 +0x1.5a9c8cc505145p-1 +0x1.1272a3e76653fp-1 +-0x1.35b3bc55aa792p-2 +-0x1.4226dd3ae5d08p-1 +-0x1.77c05af17058p-5 +-0x1.cb7f65f4cdf11p-2 +0x1.444f8ab014a2ap-3 +-0x1.e456e5dbd3fb4p-3 +-0x1.5078bb9f2659p-3 +0x1.478f2e3411d6dp-1 +-0x1.e4a03ced5aed3p-2 +0x1.c9f989e20e2c5p-1 +0x1.4c1cb0dfce0fap-1 +-0x1.8efcdfe9227bfp-2 +0x1.e82ca02a095f5p-1 +-0x1.50327d1d01e1cp-1 +0x1.5e3d5ca372cd8p-1 +-0x1.34843c6dbc634p-6 +0x1.74a869f6dbf51p-1 +-0x1.9f4a8b2460634p-3 +-0x1.c4cda7aa49b34p-2 +0x1.0649ddcd7b7a6p-1 +-0x1.4ff7f4c523d9dp-2 +-0x1.25e0936f71a7p-1 +0x1.9a100c69fd855p-3 +-0x1.3e09735051e1bp-1 +0x1.12f8710d6cbf8p-2 +-0x1.3c2e2f2e0049fp-6 +-0x1.1303f20ce2ddep-2 +0x1.73c6412270476p-4 +0x1.87c68be809854p-1 +0x1.d69c54d0ae8efp-1 +-0x1.726e5386cbf5ep-1 +0x1.4db07670f6b3ap-1 +-0x1.6196e059b8ff2p-1 +-0x1.253e4af538e5ep-8 +-0x1.c149882d4462fp-1 +-0x1.0c63051c5fb7ap-2 +0x1.24900fa2d83bbp-2 +0x1.0b59f0be1d50ap-2 +-0x1.51998f4724bcfp-1 +-0x1.5a031d6a41d77p-1 +0x1.e7b494d60d128p-2 +0x1.0c48212f9d7d5p-6 +-0x1.165632366a642p-5 +0x1.f02bc2261e6p-3 +0x1.35c695c54324cp-1 +0x1.da738a1ef263ap-4 +0x1.8e148329ce957p-1 +-0x1.6cb9d13339973p-2 +0x1.d4056b95aeccep-7 +0x1.de8772d37ca95p-3 +0x1.d3b5e3a89f62dp-2 +-0x1.d8d5792880182p-1 +-0x1.b993494c289a7p-3 +-0x1.b84750ff20e86p-1 +0x1.48c177c8aca89p-1 +0x1.3a66b9a23bd17p-2 +-0x1.fa27ac4b53133p-2 +-0x1.a5a1745ef634cp-3 +-0x1.4a664bb33259ap-2 +0x1.6ee76694ec5d6p-1 +-0x1.afc05ac01c8acp-3 +0x1.ea1e561e42038p-3 +0x1.8dcce3fc465dp-1 +-0x1.0a396cc90132fp-3 +0x1.4b760b4195016p-1 +0x1.eeaab28f3cc9bp-4 +-0x1.e5cf22a4e0704p-1 +-0x1.6a6b3667ecb32p-2 +-0x1.0033cbb59798bp-2 +0x1.5d2b01826975fp-2 +0x1.8053b0fcd2ab5p-1 +0x1.289d0339edb06p-1 +0x1.d796055b34876p-2 +-0x1.1ae939761bc6fp-1 +-0x1.3216d3376dc3ep-1 +-0x1.6d72c573c240ap-1 +0x1.bbf7f991509bp-1 +0x1.82e235c879fcap-8 +0x1.2d96702365145p-1 +0x1.215bea1d8d972p-1 +0x1.c7bea18c7d6b8p-4 +0x1.e87f010895ff8p-2 +-0x1.0ed4d3c156fc9p-2 +0x1.08d6671deaeadp-1 +-0x1.df82330efc0c1p-3 +0x1.0ca319407cc5dp-1 +-0x1.afa2251ae4712p-3 +0x1.4e30ff3c01273p-2 +0x1.9da612424a4a7p-1 +0x1.56cd31f370209p-2 +0x1.78507db603478p-2 +0x1.5fdd6ff3a3c16p-2 +-0x1.a40adcf265112p-1 +-0x1.9a4965d24107ap-2 +-0x1.0087030c13e29p-3 +-0x1.9050f6f41c4ddp-2 +0x1.9010a2e637bc7p-1 +0x1.113376a83e2c6p-1 +0x1.4a4de4a4f3f5p-1 +-0x1.51fcce431742p-1 +-0x1.9c2d8e376b37dp-5 +0x1.c44d680df0d2p-5 +-0x1.358e7d9acbd29p-1 +-0x1.acda53bcc594ap-2 +-0x1.df8aec5ab3b8cp-2 +-0x1.3b617f40989f6p-2 +-0x1.d35c076e911bp-3 +0x1.c611ff262acf8p-1 +0x1.2c63a0d55602bp-1 +0x1.ff52828b187e8p-4 +-0x1.27ad28fb498b1p-9 +-0x1.43fe26caa94e4p-1 +-0x1.e41d4190bc4p-5 +0x1.4195690e1cf21p-1 +0x1.c9b73cff0310ep-2 +-0x1.c801293111172p-1 +-0x1.2c1e6a83defe7p-5 +-0x1.fd5e6cb8f767bp-2 +0x1.90c3f7fee8f65p-1 +0x1.7d91fa800e21fp-2 +-0x1.13ae63d5081bdp-1 +0x1.c8a557e518029p-1 +0x1.a6e45f4e9a6b6p-3 +-0x1.29d98c3d009e9p-1 +-0x1.f21ac89dc068cp-1 +0x1.4cbf19dc5b9bfp-1 +-0x1.3a429e885e077p-4 +-0x1.ce2241020a565p-1 +-0x1.df6dddddfb031p-2 +-0x1.1a0e884ca5e7ep-1 +0x1.320570a070578p-2 +-0x1.b4cdb39547973p-4 +-0x1.ed74867a6604dp-2 +0x1.6e2504b1018cep-2 +0x1.5b1e28d808043p-2 +-0x1.e16a7594bfd91p-1 +0x1.7ba9478a5fc1ep-1 +-0x1.37e81213f4e0fp-2 +-0x1.5a43d413f83bap-1 +-0x1.314f136d93effp-2 +-0x1.c4746d32411c8p-1 +0x1.caa9958a03f63p-2 +-0x1.8abcbb8919c3ap-3 +0x1.0e8a8f6a2f9ffp-3 +-0x1.2abbd0baf081cp-2 +-0x1.03e7d6d004b27p-1 +-0x1.6d9f5a8430a7p-1 +0x1.88090d68e9bf2p-5 +-0x1.adf2db48aa4bcp-4 +-0x1.afae6b5b46062p-5 +0x1.82c66e4c5ffd4p-1 +0x1.76212d58b40c7p-3 +0x1.1e35a985b8e18p-2 +-0x1.2d2b34d13b5f9p-2 +-0x1.74477a02ec0bdp-2 +-0x1.da68da140e825p-1 +0x1.429f6834ec34bp-5 +-0x1.7077cc9441a48p-1 +0x1.814d36ac07302p-1 +0x1.1d1dbc833ad22p-1 +0x1.b4bc73f74859ap-1 +0x1.fdb265566f7bbp-1 +-0x1.e217b64982b81p-2 +0x1.7d0b6b6ad16bdp-5 +0x1.a7dc653255db1p-1 +0x1.3501846c6881fp-3 +-0x1.0e739a1cb6914p-1 +0x1.dcf0eca530e4p-1 +0x1.71154680533eap-1 +-0x1.a71018021042bp-3 +-0x1.3613199c0d3b5p-1 +-0x1.b1d92ec8199ap-4 +0x1.1a1680e0d48f8p-2 +0x1.fb5d100257bd6p-10 +0x1.801e5a27f68b9p-1 +-0x1.c0fb2f73df48fp-2 +-0x1.c4e0a59ec8ebp-4 +-0x1.a688e18352387p-1 +0x1.b6c954e7491aap-1 +0x1.6db21943c5ea5p-1 +0x1.5860f23c4db45p-1 +-0x1.361ab3437a041p-3 +0x1.ed5bc38d3b8e3p-3 +-0x1.08eff43d8ee44p-2 +-0x1.409854b4af796p-1 +0x1.4ad435a929e1fp-4 +0x1.760fca29627f8p-2 +0x1.6165d2706a035p-1 +0x1.b1a2eb38ef6dep-1 +0x1.59aeb5208e1b3p-1 +0x1.3e0b667f5842ep-1 +-0x1.36aa071aeee3ap-4 +-0x1.7caf6d8ba4423p-3 +0x1.52874ff294ab8p-2 +0x1.708585ed461c7p-2 +0x1.b81519abfe448p-1 +0x1.960ca3aca2da9p-4 +0x1.9570944645b83p-1 +0x1.1d4dca9abb546p-1 +-0x1.5d5790632cd87p-1 +0x1.8d8712602a95bp-1 +0x1.1782407a9b254p-1 +0x1.d5753e3e8f083p-2 +0x1.a561d6e254c0ap-1 +-0x1.0929799d921e2p-5 +0x1.bc58ccf3d9c82p-2 +0x1.cf7dbd153242p-1 +-0x1.2bfa1f27e0b51p-1 +0x1.71d9c44bd06c3p-1 +-0x1.78931e76da172p-2 +-0x1.3bffaf540e3f7p-2 +0x1.136d33bdd8d5cp-2 +0x1.bd27aa0397bc9p-4 +-0x1.d97617c64ac54p-1 +0x1.f8279ff8d44e8p-1 +0x1.10a960acbb03ep-2 +0x1.058270b943164p-1 +0x1.27ca95f032cf8p-3 +-0x1.002a759a2c1e1p-1 +0x1.0fe87e39796d4p-1 +0x1.9757956c215b8p-1 +-0x1.bd8d2c8008f1fp-1 +-0x1.d754674b230f9p-1 +-0x1.0df93392ed5dbp-3 +0x1.cf78b8b43a304p-4 +-0x1.ac4cae5c8a0e1p-6 +0x1.b3389a7d7531ep-1 +0x1.3db3786b871ffp-2 +-0x1.93fbc2d3d6065p-2 +0x1.61b4044ca5525p-1 +-0x1.859fc80ce8dd2p-5 +0x1.99ce895446293p-2 +0x1.6aec3909bde3bp-2 +0x1.e9dd4a1211665p-1 +-0x1.b9dbeacbb4ad4p-1 +0x1.2c1cdcd2ea989p-4 +-0x1.5bfccde0a525p-4 +0x1.ad2c339b6833ap-1 +-0x1.2cc2168c7a187p-2 +-0x1.598eaaa5d6729p-4 +-0x1.9d42880d363dap-2 +-0x1.4f40c81ad56fap-1 +0x1.4d5147db880e4p-1 +0x1.bfddf2f5dd9c9p-2 +-0x1.343e0be99de54p-7 +-0x1.0461c2da75ca5p-1 +-0x1.c31b2ce23198ap-1 +0x1.51c0fa684649p-1 +-0x1.15a3f961b391ap-3 +0x1.67eb9adebcf6fp-2 +0x1.c5dd61a2272aep-2 +-0x1.0eee3a434ef08p-1 +0x1.ef12f8cc3b26fp-2 +0x1.8cf8ad702da21p-2 +-0x1.e0ecf5f96c90dp-2 +-0x1.95cf66af5f15dp-2 +-0x1.7b9b7272aa8c4p-2 +-0x1.4ec5527bb6b1p-2 +-0x1.489c9c3257ffbp-4 +-0x1.8605a7ea9f68ep-1 +0x1.0b9704fd80065p-3 +0x1.9fda0279608a6p-1 +0x1.1a3fd319de2d8p-1 +-0x1.4e094ad593c7ep-1 +0x1.ab276d926a2bdp-6 +0x1.bdbf97dc2183bp-1 +0x1.c487e4f0d9a5p-4 +-0x1.df6aac5448968p-1 +-0x1.ff6dff9e98f3bp-2 +-0x1.a6d1a236e9fe9p-3 +0x1.19c34861443ddp-1 +-0x1.38178bca9e3d1p-1 +-0x1.c0cc257c366a5p-1 +0x1.063f27e68cf88p-1 +0x1.c6aa871d1ca16p-1 +-0x1.32c87d251d18ep-2 +0x1.ffaddddffd222p-1 +-0x1.05ffa8595a494p-1 +-0x1.8a040ec30673ep-1 +0x1.3a9c500a0fd76p-1 +0x1.7ec5df88476ddp-1 +0x1.37444d56dfa27p-2 +0x1.22850f2f3ff3ap-1 +0x1.ce3f44cae826dp-1 +0x1.35badc4b94a55p-1 +-0x1.41c6e08eb1268p-1 +-0x1.6c41cc8ea8281p-1 +-0x1.7565fa3d9a79dp-4 +0x1.fd92ca712f54fp-2 +-0x1.37986b9e76a3cp-3 +0x1.d57e7be542dbcp-5 +0x1.991d55be4e526p-1 +0x1.c0f4d81e67683p-1 +-0x1.af78092a0a64cp-1 +-0x1.91f063cd15e4ap-3 +0x1.846351a6dd0cbp-1 +0x1.19f85a9224171p-2 +-0x1.a43a833f8a75cp-4 +-0x1.864d0783cde65p-3 +-0x1.93569e7bd99ecp-1 +0x1.0cb556f0e2e6p-1 +-0x1.7754bfaab4c5ep-1 +0x1.82de4a767021p-2 +0x1.8c543f7174207p-2 +0x1.ee36f04662ab3p-1 +0x1.1297b95aa2c1fp-1 +-0x1.47d746031436bp-2 +0x1.3aadbc8ef7e29p-1 +-0x1.bd927f299a5bp-1 +-0x1.b135183e076fp-3 +0x1.9ee1502eccb25p-4 +0x1.2b7cd87d8575fp-1 +-0x1.1941fd7777dc3p-1 +0x1.c80c676ba1bb6p-1 +0x1.b281c98df2671p-2 +-0x1.ef3af6c6c31b3p-1 +0x1.d979ea278f4bp-1 +0x1.25e01e4440cd7p-3 +0x1.fa0fc1692310ep-1 +0x1.0869ca83a0ac7p-4 +-0x1.d6aa5970ba8b8p-2 +-0x1.7b13e32ea485bp-1 +0x1.b66e3aa220ca7p-3 +-0x1.9327541d9796bp-2 +0x1.30f30c4cdabecp-5 +-0x1.2f304d380c7abp-4 +-0x1.4713a4b30b6c4p-2 +-0x1.f94357e8a02e3p-2 +-0x1.a4235360225a7p-1 +-0x1.bb27698ece002p-1 +-0x1.a0214f47a11b1p-1 +-0x1.6a97a2a03ba8fp-1 +-0x1.d17a3ebe29d94p-1 +0x1.2f362f19ff5ebp-1 +0x1.32a8ea7125589p-1 +-0x1.c9957373fafdep-2 +-0x1.1757ef7fa3c96p-1 +-0x1.62cb58844a0abp-1 +-0x1.16410da05e864p-2 +0x1.17a89dddeb115p-1 +0x1.f5385e107aee5p-2 +-0x1.a2d1d2c2387d4p-1 +0x1.aac75465c6fdcp-1 +0x1.930bc47bb8188p-1 +0x1.12566c6d7fae2p-1 +-0x1.11f7a629494a4p-3 +0x1.affc0a40e4b03p-3 +0x1.f2be0a10bd434p-3 +0x1.4a4c52737001ap-1 +0x1.0b3c195c20e8bp-3 +-0x1.8c5f16b22855ep-1 +0x1.2690271da9e56p-2 +0x1.4fcd5f676c506p-1 +0x1.e0721ee1cf4d2p-2 +-0x1.e29a437562d99p-1 +-0x1.cb80f8f1873e2p-2 +0x1.2c92a9fd17667p-4 +-0x1.5e774a8943ae7p-2 +-0x1.b0789f1a65acap-1 +0x1.5d71d2afc84b8p-1 +-0x1.f2c1319c2ef97p-1 +0x1.f78189ad92a99p-1 +-0x1.3860512005dcp-3 +0x1.cea1225096b12p-1 +0x1.c33f8b1338b5dp-3 +-0x1.79e05f7832612p-1 +0x1.cc09cbd14a6a3p-3 +0x1.e0b9f9d321f3cp-4 +0x1.6fbea0aff0685p-2 +0x1.715cab373d909p-3 +0x1.a2bc9dcd1e467p-3 +-0x1.997e2c20a9b4p-3 +-0x1.7b7513154fd58p-3 +0x1.2718ebc53a28fp-1 +0x1.8065368a8c428p-1 +0x1.9579f6463b22bp-1 +0x1.3648ffafc92c3p-2 +0x1.a0c47a5fc93c6p-8 +-0x1.098030e3bdc44p-1 +0x1.84fb0df3d135ep-1 +0x1.944694c9d91aap-3 +-0x1.08e3527bdf7d8p-2 +-0x1.2c4f393cd4117p-1 +0x1.4904fb6cadfabp-1 +-0x1.d03ef14f9974dp-8 +-0x1.8e288e1a61ee3p-1 +0x1.c2aa6042cc4f2p-3 +0x1.ff0a0b216808dp-1 +-0x1.ddb1ebaddda37p-2 +-0x1.f82692afa89ebp-3 +0x1.9197f0d053534p-1 +0x1.f12d869443df1p-1 +0x1.bc2f090259a63p-3 +-0x1.725fc7b07202dp-1 +0x1.6377407d53bc4p-2 +0x1.9da177186889ep-2 +-0x1.74fb4afaa9d53p-2 +0x1.ac5c33b15f2f5p-3 +-0x1.995882a16d9e8p-1 +-0x1.7448d52d5a8c1p-1 +-0x1.633504a015bbbp-2 +0x1.c9f1cc0441dbcp-4 +0x1.28782cc397ffap-1 +0x1.9fa8f29748837p-2 +-0x1.2bf5c3273459cp-1 +-0x1.0b75a703206b5p-4 +0x1.6725ab67e4eccp-3 +0x1.77981e69716c6p-3 +-0x1.f701b74210786p-3 +-0x1.bca62ceedc24cp-2 +0x1.8ec04b88e9299p-1 +0x1.bbf63740f394ap-1 +-0x1.a3fa37a2e2b1p-2 +-0x1.1af036b14ba26p-2 +0x1.22f5cd1fca077p-1 +0x1.d770c85e8f6e9p-3 +-0x1.42a6adcfb4b0fp-6 +-0x1.27cb5126ebb8p-7 +-0x1.f49ffa4217a6fp-2 +-0x1.0d3d3f0b52229p-1 +0x1.5b1d55529c492p-3 +-0x1.dd3e929b61fc4p-5 +0x1.d5d6b1b257addp-6 +-0x1.bd0e3a05c7368p-1 +0x1.a6ffb58cb5985p-6 +0x1.e6a5d11bab93fp-8 +-0x1.69a5af5d507a9p-4 +0x1.1757b437ff188p-2 +0x1.6b8edf583259ap-3 +-0x1.0809daeebad5cp-1 +0x1.1981bb5c459ddp-2 +0x1.ae3274518c3f1p-1 +-0x1.acc7c26f9439ep-1 +-0x1.8ed5eae8fc502p-1 +-0x1.9a2218c92353bp-1 +0x1.a060e95bce3d5p-2 +-0x1.3a59a40c2908ap-3 +-0x1.697f9db42a65bp-2 +-0x1.0d641a16a5775p-2 +-0x1.85cba1f04a7e7p-2 +-0x1.d786b2a3eb564p-2 +0x1.d47af0a008b86p-1 +0x1.12b882be237a6p-1 +-0x1.ee07e3a21fde7p-6 +0x1.c0f58777181f4p-2 +-0x1.7a9e3b6970f85p-1 +0x1.dd7e575a9d08ap-2 +0x1.f828d7a3d7bf5p-5 +-0x1.53bf26bf39cf9p-1 +-0x1.268cbac90ee5ep-2 +-0x1.53064ee7f801dp-1 +0x1.4ce7868e88fb3p-3 +-0x1.815ecd04a992p-4 +-0x1.f902455eb6758p-1 +0x1.802ce535a4c7ap-2 +0x1.8bb20a6ca6af9p-2 +-0x1.946c7f8f7a61ap-1 +0x1.4f8e10a8337a8p-3 +0x1.6732539f8ac94p-2 +-0x1.98da12057e07cp-2 +-0x1.83eef65f60d0fp-3 +-0x1.5be26e4af96a7p-1 +0x1.5e6c49c167deap-6 +0x1.6486d45e0d9cfp-1 +-0x1.79675e3b63614p-6 +-0x1.f90ed38c8dfcfp-1 +0x1.1dbb45313c71ep-3 +0x1.50ccd4300d861p-1 +-0x1.7c796be9a971p-3 +0x1.2f5dbcf57f00ep-1 +-0x1.10218e57c676bp-1 +-0x1.86e44c8435dcdp-2 +0x1.58fe4a325accfp-1 +0x1.0d92d84a8c417p-1 +-0x1.1f6c54d65f837p-1 +-0x1.b5c6edc9a4bd3p-2 +0x1.81b8ac69a4f7ap-3 +0x1.94b35db8418bfp-4 +0x1.1b785b9ae6c65p-2 +0x1.99ab902d747c7p-2 +-0x1.dd3e7ccde95fdp-1 +0x1.00c3274ec2061p-1 +-0x1.06b80839acdc7p-3 +0x1.0081ce3c861a3p-1 +0x1.0a5854c849154p-2 +0x1.7002df31e4271p-1 +-0x1.9ef987b128d32p-3 +0x1.f040f23280888p-1 +-0x1.dce42446fa208p-1 +-0x1.2b698b53d3ed1p-1 +-0x1.604c22ae85ba8p-1 +-0x1.9ead7fd515e8dp-3 +-0x1.7f25d213409b4p-1 +-0x1.3ecb54cf217f1p-2 +-0x1.42bd8c75ca1a1p-1 +-0x1.b58710cc55024p-2 +-0x1.0bcbe03f9178bp-1 +0x1.ad2f3bf77e92ap-1 +-0x1.c4a3496909752p-1 +0x1.f1b6a315666ecp-1 +-0x1.ccb270059777ep-1 +0x1.be840d57a7d3dp-2 +0x1.abfd0ae117d33p-1 +0x1.73307b0afc1cp-4 +0x1.ed77212a1bbfdp-1 +0x1.cc4adc85133a8p-1 +-0x1.d46c12433e3bcp-3 +0x1.b84221fddc0b9p-1 +-0x1.14347e5a53e76p-1 +0x1.94eaaa70f4ddfp-1 +0x1.45921dfac538ep-1 +0x1.af247c811412fp-5 +0x1.468842c0a7ec9p-1 +0x1.4bfdcd3107724p-2 +0x1.dc22ae55517cep-2 +0x1.3ec043d4c77b1p-1 +-0x1.38e88f94af01ep-3 +0x1.7f31352b6571p-4 +-0x1.d8e5cf250ba5dp-1 +0x1.ba7a57d6e6144p-3 +-0x1.0c70aabc69e89p-2 +-0x1.ec3c46a39a274p-1 +-0x1.f6ca0bd88e38fp-3 +-0x1.45c57fd1010d9p-3 +-0x1.c3de1d196e1b6p-5 +0x1.e727d990df347p-2 +0x1.abe66fcda83c4p-2 +0x1.6d54710478a63p-1 +0x1.9842aa62b4e19p-2 +-0x1.fc30311fefdaep-1 +-0x1.986eb01cd9683p-1 +0x1.153a17f3deff6p-1 +-0x1.8b71affd301adp-2 +0x1.e5599a8b8cd1ep-4 +-0x1.ea8cb0cedba39p-1 +0x1.f39e28961b26fp-1 +-0x1.15c3131754788p-6 +-0x1.c518dcf18236bp-1 +-0x1.73992aff0a5d1p-3 +-0x1.1f0d5f073e032p-2 +-0x1.3bfd7a839ba64p-3 +0x1.6e04148170658p-2 +0x1.b2bde0872ee3ep-1 +0x1.5c3469ab6a2c8p-6 +0x1.abee20dd08c78p-2 +-0x1.01d77ee7be2edp-1 +0x1.48755de7cd6f1p-1 +-0x1.9a52b339c19cfp-2 +0x1.fdafb2ce6f503p-1 +-0x1.3d9a4e10ced1fp-3 +-0x1.6755aa83fd126p-1 +-0x1.f8795032529aap-1 +0x1.ed03d324a113ep-3 +0x1.a353a72d4549bp-1 +-0x1.6dc442bb8d8b8p-2 +-0x1.cfbacda1bf4eap-3 +-0x1.8ccbba2b44e2bp-1 +0x1.7a186fbd1e357p-1 +0x1.da45a3b11c52bp-2 +0x1.7875e9b03e508p-1 +-0x1.383464a69474cp-2 +-0x1.0fb0489686577p-1 +-0x1.20affbc5d49b2p-1 +0x1.948236048ddb1p-1 +-0x1.5298e40efd77ap-4 +0x1.61acf74e469c4p-7 +0x1.72168e15129acp-2 +-0x1.fad951936d185p-2 +-0x1.d3401a99664afp-2 +0x1.1d3854a4dd63cp-1 +-0x1.bfc83ba0d3005p-3 +-0x1.3c511e40dab1cp-2 +0x1.da9aad045d77fp-2 +0x1.04347d3cc06adp-2 +0x1.494daff822574p-1 +0x1.e802695f1d30ep-1 +0x1.af76a1c52b28cp-3 +-0x1.9c0b5679318b7p-1 +-0x1.16cd889ab0c83p-1 +-0x1.3ac82571ecf4cp-1 +0x1.68323ff37cddep-2 +-0x1.9671335bacbf8p-2 +-0x1.ab725fd9451e6p-3 +-0x1.eca38a0590deap-4 +0x1.aba0c4d6681b1p-2 +0x1.0819cbd663ef5p-1 +-0x1.a5ea36b58086fp-1 +0x1.ecbf212febd3fp-1 +0x1.7380074607c0ap-4 +-0x1.9000bfef0398ap-2 +-0x1.478cbedd2f581p-1 +0x1.8966a75eeb4f6p-4 +0x1.8b66c88f70115p-1 +-0x1.440ac7df7534ap-1 +0x1.7c27eb3b8aa8dp-3 +-0x1.bf9b0d31fd77p-1 +0x1.657f4c07274eap-3 +0x1.c9b359e465457p-1 +0x1.a7c2ef6c1b216p-2 +-0x1.fca2d9f91ccap-7 +-0x1.80889d10f00c5p-4 +-0x1.692e50e627293p-4 +-0x1.87bd20aebe54ap-2 +-0x1.f459228934486p-2 +0x1.472382401a8f2p-1 +-0x1.3486642f00127p-2 +-0x1.8ca43405e2f53p-4 +0x1.27d6404eb2592p-1 +0x1.3167e123afdcep-9 +0x1.07b746cd12982p-1 +-0x1.2f7bf058a7195p-1 +0x1.f9f935fca78dfp-1 +0x1.ba524f226d8d5p-3 +0x1.0f32a7327a5f1p-1 +-0x1.4f203928b0bb4p-4 +-0x1.0ffdf80d90d07p-1 +-0x1.c65760470e8d6p-1 +-0x1.b2896d2a008dap-5 +0x1.574f6ae904203p-3 +-0x1.ce69199533b98p-4 +0x1.6278ff4a4752cp-1 +-0x1.30c4bd14b4924p-1 +-0x1.62648bf0bdc43p-2 +-0x1.1ac083c7f7b77p-3 +-0x1.bb56e2ec80623p-1 +0x1.ad3f74f660f3bp-3 +0x1.442a2410a734cp-1 +0x1.93fc4b6fcb397p-3 +-0x1.b963da759ef3ep-2 +-0x1.f13afb141844bp-2 +-0x1.0b4ad8e4aa729p-1 +-0x1.57e198befd26cp-3 +-0x1.0cfed51a5447p-5 +-0x1.4de6ec08a741ep-1 +0x1.51a0623691ca1p-1 +0x1.150623e621affp-3 +-0x1.e4d8afb8d5886p-1 +-0x1.5e75b6f76de37p-1 +0x1.7cc65731e3109p-1 +-0x1.47986af22f7e1p-1 +-0x1.ee6a09a960f7ap-2 +0x1.ae4e20db47b7bp-1 +-0x1.7ee782b20db47p-2 +-0x1.6eef80fc11dccp-1 +0x1.0f2c7c40bccb6p-1 +-0x1.0c604bf09f425p-2 +-0x1.d0cb2adb3e9a5p-4 +0x1.c6d45190f87cdp-1 +-0x1.213f621d457ccp-1 +-0x1.16bd00d48ddb6p-1 +-0x1.24e6e38986cap-2 +0x1.17855c5ffed5p-3 +-0x1.aca3ba588f3e2p-1 +-0x1.3a2dadf01ecd3p-1 +-0x1.4b8214e9db47ep-2 +-0x1.411949c78fdcep-1 +0x1.a37e5c826c84cp-2 +-0x1.93d3c81e27227p-2 +0x1.636292e9e6c7dp-1 +-0x1.554623015d74dp-1 +-0x1.0f8ceaafa745ap-1 +-0x1.aceccc0783c4cp-2 +0x1.7df32b260eecp-6 +-0x1.255a1aa91ef91p-1 +-0x1.a2bbbe7dac89cp-2 +-0x1.56d82280ca20ap-1 +-0x1.0dbeb9ef97955p-1 +-0x1.b94eb5428765bp-1 +-0x1.a9bf86e4ac70dp-3 +-0x1.0855827c83f4cp-2 +0x1.022d027737673p-3 +0x1.f018e571dd12ap-2 +0x1.a8bb437fc66aap-4 +-0x1.8e9e7d9406ba2p-2 +-0x1.664c29b1db939p-5 +-0x1.b5e40f88452abp-1 +-0x1.68c7d14330b2ap-3 +0x1.7ffc77ca165dcp-4 +0x1.137d2c346f084p-11 +0x1.6540a44493836p-4 +0x1.74d16190b2d1dp-3 +0x1.098f5594b51e2p-1 +0x1.a59a8190cce0bp-2 +0x1.2921251358e01p-1 +0x1.4331942342e8ep-3 +-0x1.9119112705f0ep-4 +-0x1.c19fa70ce104ap-4 +0x1.282c0d8843656p-1 +0x1.2e83ef4ac8dd2p-7 +-0x1.e1a4876dd3166p-4 +-0x1.95bdb29008dc8p-3 +0x1.dfd2e018c50eep-2 +0x1.ec2147bffae36p-1 +0x1.3a15047787fa1p-1 +-0x1.5b8e2cf6a6cdcp-1 +-0x1.bdcd2fbd20f8dp-1 +-0x1.079a10dce17eep-1 +0x1.5007a75c698e1p-1 +0x1.a0908aa30e4b1p-1 +-0x1.19e1718e6114cp-1 +0x1.a9bfcf61ab5aap-3 +0x1.7ffbcf941d617p-1 +-0x1.60433564bde97p-2 +0x1.1c31cc5deb6ebp-3 +0x1.0ac26b5b6b26ap-3 +0x1.6ae5f2e1e0169p-1 +0x1.121bef1e9c846p-1 +0x1.9158f6de9e39bp-2 +0x1.9374bf288ae5cp-1 +-0x1.8b177a2c186fbp-8 +0x1.cfe3e01671c6p-1 +0x1.f9f83415242ddp-4 +0x1.9757166028a0bp-2 +0x1.54625bf0bc424p-3 +-0x1.d84021a53664cp-1 +-0x1.61a5dc39b927ap-2 +0x1.8a6d09a954988p-1 +0x1.79d6d1cf413e3p-2 +-0x1.b5d0f4e5854c2p-3 +-0x1.6c1508a245409p-3 +-0x1.cee6ebe8cfb3dp-2 +0x1.26dd9f8c943ddp-1 +-0x1.80891a4291f81p-1 +0x1.b383e5d3bf694p-1 +0x1.5da5ec4458468p-1 +-0x1.ae05752dce3bep-1 +0x1.4f48d390d74f4p-1 +-0x1.880168a9d8bf5p-3 +-0x1.608e46d526407p-1 +0x1.1a00356a73c2fp-1 +-0x1.d6b7b9378a573p-2 +0x1.9050bc3639134p-2 +0x1.b6e1f8f39ab6ep-3 +-0x1.3fd6b936ca715p-2 +0x1.a2e96cc6c8febp-3 +0x1.1895dd39e7ec8p-2 +0x1.b3f4da279db55p-3 +-0x1.cd855b8fe86fdp-2 +0x1.ccea5a54d87efp-2 +0x1.558402d1b1d97p-1 +-0x1.2369a864ccf9dp-2 +-0x1.d10b2f726dbdap-1 +0x1.1ecb4a504032cp-5 +0x1.80854384fd533p-1 +0x1.2a89ddee85669p-2 +-0x1.4125a5cbf1a1p-4 +0x1.271f9882c450bp-5 +-0x1.7e754ffee3f88p-9 +-0x1.0d9c23d4f6af1p-1 +0x1.2509eb20bfd81p-3 +0x1.7a11f69b6a7d4p-1 +-0x1.ce345c782f5b6p-6 +0x1.543b1a19d4357p-1 +-0x1.0dabcc426576fp-1 +-0x1.807585bcde922p-2 +0x1.d015436e1f1abp-2 +-0x1.23630c4a57b68p-3 +0x1.f8baf1c0ea3dep-4 +0x1.2c45a3635366ap-2 +-0x1.e7a83ce77ed2dp-2 +0x1.1b546e77d849ep-2 +0x1.64958e232d848p-2 +-0x1.17889f2dd3092p-3 +-0x1.7c7736249e11ep-1 +-0x1.86a542ec152ccp-1 +-0x1.699836692af2ep-1 +-0x1.370579624a655p-1 +-0x1.abe9296a5210fp-3 +0x1.94d0b6d33cf65p-1 +0x1.d7d5af97552c8p-2 +-0x1.b42382bf7521cp-2 +-0x1.60be748cc1763p-1 +0x1.035ceb7539913p-1 +0x1.7f99fcedf4bb1p-2 +-0x1.995295f414597p-3 +0x1.5ff6692a79d7cp-2 +-0x1.d4180122b91cap-1 +-0x1.aec89be2e9096p-1 +0x1.3cda114e2349fp-1 +0x1.8f57beafe5f09p-1 +0x1.0cf5b0f2a2138p-2 +0x1.c8875e0830ebcp-2 +0x1.ab8b9500ece11p-1 +0x1.1f3b7c468aaa2p-3 +-0x1.541dc9652df83p-2 +-0x1.9ef1e1252722bp-1 +-0x1.f1bdb2a9535d4p-7 +0x1.7df5acaa32cddp-1 +0x1.6eb4e78ecc57cp-3 +0x1.efb1a3c921182p-1 +-0x1.72bc14f4003cdp-1 +-0x1.ba82f56bf29eep-2 +-0x1.ea55d72bbb566p-3 +0x1.2921186ff6363p-1 +0x1.5e311cd145f0bp-1 +-0x1.9bf96669701b8p-4 +0x1.cd24b3b1ef227p-2 +0x1.88f71a896832fp-2 +-0x1.0e428a379b193p-4 +-0x1.9a536e9c8e83ap-2 +-0x1.f8c907f8f58dap-1 +0x1.40c9a200f618p-6 +0x1.e18d80ae0ed9cp-1 +0x1.108fb9613203ep-1 +-0x1.4fcec1dc7716ep-6 +-0x1.080d994d95b7fp-1 +0x1.fc551bebe4738p-1 +0x1.9bb61c8a9f0ebp-4 +-0x1.4168bf2694eaep-2 +0x1.c799e88ae2ec6p-1 +-0x1.0c4a5ab926c2p-2 +0x1.ebf3cba24943ep-1 +-0x1.be1b555a6abb3p-1 +-0x1.88a11a5b91b63p-1 +-0x1.8ecffbb6046bp-1 +0x1.c55182371899cp-2 +0x1.d3d14150490fep-3 +0x1.39252b348cb0ap-2 +0x1.654ff78b61a52p-2 +-0x1.750bd8259b8b5p-3 +-0x1.69df3ea0120aep-2 +0x1.bba0cfeff36c5p-1 +-0x1.28c5f1f986bc8p-2 +0x1.321f6a0b81c7cp-1 +-0x1.eb40419561accp-2 +0x1.95913fd4025acp-1 +-0x1.f11da7515b7f9p-3 +0x1.cb7c723c6758ap-1 +0x1.63b18d445a38ap-2 +-0x1.9f6c01dad6e3bp-1 +-0x1.8ab8bb23a9723p-5 +0x1.7b590e7b6f08fp-4 +-0x1.5df52196c97b8p-1 +-0x1.68ff190f3a699p-9 +-0x1.540a2527a3721p-2 +-0x1.e70f7ac0dd117p-1 +-0x1.443a2175d89ddp-1 +-0x1.298bfd95b618cp-3 +-0x1.86b305e2145efp-3 +0x1.1e2ab2a20dec6p-1 +-0x1.23a5753b9b995p-1 +-0x1.24f1448e6220bp-1 +-0x1.4b31f7fd15c83p-3 +0x1.16c554c0c7c7bp-1 +0x1.0d1d3d81a6956p-3 +-0x1.d95ce95177636p-4 +0x1.b35c3401e16b8p-1 +0x1.d53301c5ecc3p-1 +-0x1.bd7b10a5de2c4p-2 +0x1.7aacde04175ccp-4 +-0x1.4d08cb9de8ce3p-3 +0x1.1bf0fb4447a74p-2 +0x1.dfb86134722fp-1 +0x1.b15fcc6fe94p-2 +-0x1.0acc9bdcf0caep-2 +-0x1.3eabea96b0b8cp-1 +0x1.29a66abac59cbp-4 +-0x1.389b1e111241ap-6 +0x1.a4ee6a1521bb5p-3 +0x1.77f64713df0a4p-3 +0x1.baf354be79b6ap-1 +0x1.8bd0c285b316cp-5 +0x1.0381b0f4d007bp-1 +0x1.371fdccff429ap-1 +0x1.1e4186576b5c9p-5 +0x1.3612e926cd538p-1 +0x1.4122c616c3d2fp-1 +-0x1.b1def10e5c117p-1 +-0x1.d3b6c84872eb7p-3 +-0x1.b8dcb700f34fap-1 +-0x1.f1d34678088fbp-1 +0x1.bb5df44df4c5ep-2 +-0x1.87d1b19d5a614p-3 +-0x1.6b1c1cfb6cefep-1 +-0x1.835d9005963f9p-2 +0x1.a110724ef7df1p-1 +-0x1.0fdc2f5a6fb78p-3 +-0x1.b23939aa670ccp-6 +0x1.64c874c7ff99p-2 +0x1.49503ccbcc2bep-1 +0x1.d3a51c5a8e22bp-3 +-0x1.b9e8887e91e36p-1 +-0x1.1ff29111d91ecp-1 +0x1.a38aedddb3d5ep-5 +0x1.43a670f17ebcbp-2 +0x1.010fb0b7c700ap-1 +0x1.92a2c6af53c28p-3 +-0x1.2ee1ffbbee042p-3 +-0x1.181a87f87dc57p-2 +-0x1.80ed37d6ffe4p-2 +-0x1.a2625f8f1fb84p-1 +0x1.102470181ab84p-3 +0x1.312399130f17p-2 +-0x1.9a988ba091854p-1 +0x1.2a95ded25c83fp-2 +0x1.0a60159cf5cc1p-1 +0x1.dba780a36ec17p-3 +-0x1.499e9e756fed2p-3 +-0x1.a5bf1e1b1fd6bp-1 +-0x1.e737e1881484bp-2 +-0x1.4d185228bfb82p-5 +0x1.b4a3f08b24e7fp-5 +0x1.baa423457a5cap-1 +0x1.50b7dcf9975bap-2 +0x1.a0ae4e50204b9p-1 +0x1.03c44f5b094cdp-1 +-0x1.6a1a446399e02p-3 +-0x1.aa74850b23e53p-3 +0x1.4b4bee93e037cp-1 +-0x1.d24a0b9652cddp-1 +0x1.94e16cde09b57p-2 +0x1.c0a628e80493cp-1 +0x1.5012206994989p-3 +-0x1.f7107a00c61edp-4 +-0x1.70312dc81fc8bp-1 +0x1.a2b6ac7d2f5bep-3 +0x1.7932e6cf908c2p-1 +-0x1.338cff9a99878p-3 +0x1.902b6e1848763p-5 +-0x1.599ebe319c4p-1 +-0x1.e81a96b222088p-3 +0x1.35b765795bd88p-2 +0x1.0bfdf9e1ae617p-1 +-0x1.48bb9a343d453p-2 +-0x1.9d1a8fde2c575p-1 +0x1.4ef9a3b2749bap-4 +0x1.8fe10203411d2p-2 +0x1.b8d37e8772d2dp-2 +0x1.2498c7f6acfc9p-1 +0x1.383d52d0a077fp-1 +-0x1.9653c535d523fp-1 +0x1.f9562233ede6p-1 +0x1.e2e2d553dd48ap-2 +-0x1.b28b23846e307p-2 +-0x1.52914c62cc83bp-2 +-0x1.7ce9c25bfa33ap-1 +-0x1.263a37dbc8666p-1 +-0x1.b7340b07c647p-2 +-0x1.adc26b01e6ca7p-2 +-0x1.9cfa8153cb373p-2 +0x1.699ead43d545p-1 +0x1.7b4b302fd158cp-6 +-0x1.b59d0ef3da9cap-3 +-0x1.5eb8eb5e912bcp-2 +-0x1.cec0f84a930e9p-1 +0x1.572db1d83f818p-1 +0x1.6ad772581cc7fp-4 +-0x1.49ca7a5df6f72p-1 +0x1.1b2b61acfa0bbp-4 +0x1.36d5edb8d6561p-2 +0x1.ba65475867d4ep-1 +-0x1.2ab6564fc9d42p-1 +-0x1.72fe00bee0654p-1 +-0x1.bde63c4aa8ab7p-5 +0x1.490045cb71583p-1 +0x1.3f4e939281b6dp-2 +-0x1.087772e560dc3p-1 +0x1.68a22cb7794e9p-4 +-0x1.2647a7cf1b435p-1 +0x1.0e5d175120654p-1 +-0x1.2de1214d22ae2p-1 +-0x1.91b2e59283778p-1 +0x1.4fee783d2fa6bp-2 +-0x1.8c8514fa89229p-5 +-0x1.09e92b3431089p-3 +0x1.cb404292fdf66p-4 +0x1.9726dde5cb13ap-3 +0x1.8c68e460554cbp-1 +0x1.3a6c8da250a28p-1 +-0x1.eb80130ac35e3p-3 +-0x1.704e460c952b9p-4 +0x1.385b92525ebafp-1 +-0x1.4792eb2392716p-1 +0x1.c73c8a8632e66p-1 +-0x1.ca2cb7387081dp-1 +0x1.99bca77168e25p-1 +0x1.4607971658ffcp-2 +0x1.f1babe9ca6f94p-1 +0x1.f523f87bf049cp-2 +-0x1.b932d6ae2451bp-2 +0x1.9d14a92d16a6cp-1 +-0x1.0cdf9f5c52108p-6 +-0x1.f031808e2c094p-3 +0x1.1648fddf3bcdep-1 +-0x1.c87dca08e343bp-3 +0x1.8f196401e1c8ep-3 +-0x1.c96f95910c946p-5 +0x1.b4f6a27780f1p-3 +-0x1.2ad0e45ed3d5ap-2 +0x1.e42a9e9994386p-2 +-0x1.06403d81e1c61p-3 +-0x1.837efabc8e889p-1 +0x1.2984ef2e85996p-4 +-0x1.c66f3f33074a6p-1 +-0x1.778abdb63bb8ep-1 +-0x1.a4c7bb0aba9c8p-2 +0x1.2f2cb187585f8p-3 +0x1.bd18482092674p-4 +0x1.e20ab37575bep-1 +-0x1.f7f61135c529ap-3 +-0x1.c2764627a5243p-2 +0x1.d14ba0b1c89b6p-4 +-0x1.0987f73f2d758p-1 +-0x1.19f55d737b984p-1 +-0x1.75c0e390e28ccp-2 +-0x1.b1c836088072cp-1 +0x1.e988d2429d686p-1 +0x1.7b67d7802211p-1 +0x1.21f2a81c1e373p-1 +0x1.b96e795cd841dp-4 +0x1.ad9c940b7d60fp-1 +0x1.5652e0bf3b0a4p-3 +-0x1.6429861815c2cp-1 +0x1.fb3c1c35bfef5p-1 +-0x1.f525eb25f85f8p-1 +-0x1.6e9a76ca22defp-1 +-0x1.71836e53d2be3p-5 +0x1.e461bb25087c5p-3 +0x1.88ba44669d52bp-1 +-0x1.179be71b1f6bbp-5 +-0x1.0ed4ccc100643p-2 +0x1.33bc219c236c2p-1 +0x1.29bd2aa79734dp-1 +-0x1.fdab5258cfc83p-1 +-0x1.59a6e383c075bp-2 +-0x1.da4e4a7bdb7e1p-1 +-0x1.f2da575a31693p-1 +0x1.fb6d49feb319dp-3 +0x1.b745f3d6cd9cbp-1 +0x1.ef6f4edd9d46ap-2 +-0x1.23e1553a365dp-7 +0x1.7a4d5df7e63ddp-1 +0x1.e7c0b39999dcdp-1 +0x1.477914c8d2ec2p-3 +0x1.ca8a92d73d0abp-1 +-0x1.10599bc1cc44bp-2 +-0x1.19b6e36b34273p-1 +-0x1.3f8ed5871abe1p-1 +0x1.e8bee4114b5dep-2 +0x1.6d466a82bc48p-1 +0x1.92188084246bep-1 +0x1.ec515332bcc11p-1 +-0x1.e8df5b8b9c5a1p-2 +-0x1.68825f92ab4f4p-1 +0x1.7e6c4f3e738c2p-4 +-0x1.40a5912c3a68p-1 +-0x1.248f5bf0c8ddfp-3 +-0x1.02653f82857d3p-1 +-0x1.a2367586fba89p-1 +0x1.646a502cf0d7ap-1 +-0x1.d81a4f2ad78d9p-5 +-0x1.a56694be35b93p-3 +-0x1.331a8a5cd43ap-2 +0x1.a5b3c94353c34p-2 +0x1.66f044f79f7c7p-2 +0x1.23e1190f7c3b5p-2 +0x1.cfcd9120c960bp-2 +-0x1.7ebb100db599ep-1 +-0x1.cea03acdfd65fp-4 +0x1.acbdeac214243p-1 +0x1.8803ef06c95c8p-1 +-0x1.3f809ad0f15c2p-1 +-0x1.4812727844bddp-5 +0x1.223c3095c1dd7p-1 +0x1.c4d30c88a73fbp-1 +-0x1.42a26cafc00eap-2 +-0x1.3eac08bbda515p-1 +-0x1.a5d925c2ef50dp-3 +-0x1.b1d15c541370dp-1 +-0x1.c79b0e887e633p-1 +0x1.f167f95578ef2p-2 +0x1.7aacde55a2ef8p-2 +-0x1.3a97b601bf0dp-1 +0x1.aec646d679083p-3 +-0x1.edd2fa06f3687p-1 +0x1.89da3c8843f1ap-4 +-0x1.22f61628633d6p-2 +-0x1.500a41c0144bfp-1 +0x1.b79c03556fc03p-2 +-0x1.090f9a170a217p-1 +0x1.424677fc337dap-2 +-0x1.a4b4d63f97032p-3 +0x1.421ead9bcd086p-1 +-0x1.08ed3a1b5cf22p-2 +-0x1.1bd239c2ae23cp-1 +0x1.7cedb2be72e6bp-4 +-0x1.1f95fe163c5a9p-1 +0x1.4610a360f2e7ep-1 +-0x1.249fdd7b444fbp-3 +-0x1.4516dafcb2d03p-5 +-0x1.b54fb6c5901bfp-1 +0x1.da0c9afd8dcdep-1 +0x1.db0ec861909c3p-1 +-0x1.c782e3b01e6bap-2 +0x1.85af5358632bp-2 +-0x1.aade6aeac866bp-3 +-0x1.547b9110f4378p-4 +-0x1.8a25efa8e3703p-5 +0x1.6fcb83d4320d3p-1 +0x1.2daf518013bcp-3 +0x1.0794e83715e8cp-2 +0x1.9ff3ff2fe1fe6p-1 +-0x1.fc24758f79e6bp-2 +-0x1.210c7ac811f88p-1 +0x1.f22ea99b44ce5p-1 +-0x1.a25f9a3f5c385p-1 +0x1.c656d93951756p-1 +0x1.d412fce258a86p-4 +0x1.c899ce6b08a2cp-2 +0x1.852dc6c7efd16p-5 +-0x1.fada82a2f4b7fp-1 +0x1.7fe5295f1a5dbp-1 +0x1.a31d0f8f558bcp-2 +-0x1.d8f9e9667bee5p-2 +0x1.a38b92c0825c9p-2 +-0x1.a000bf504e6c1p-3 +0x1.9bfe2dad05023p-1 +0x1.b7077efb45019p-3 +-0x1.a00d2f7e637acp-2 +0x1.a988d7b1161ffp-2 +0x1.7cf18834378c7p-1 +0x1.7305bab7c22ffp-1 +0x1.e2e037d144f8ap-2 +0x1.b5b562e720d6dp-4 +-0x1.52e3f979e0fb9p-1 +0x1.f8518fde47e75p-1 +-0x1.7fab4fb0279a8p-1 +0x1.5dfaeb77fc14cp-3 +0x1.6c5da688f2e5cp-1 +-0x1.5bbd4aebc5846p-1 +-0x1.88bbec366374ap-3 +0x1.d16ee268fcc7bp-1 +-0x1.07130430ab2a4p-1 +-0x1.8be6b923f63c4p-1 +0x1.27cf39932fb1ap-1 +-0x1.08f87d13fb533p-1 +-0x1.c5d5a669eb082p-3 +-0x1.592717a22d4ep-1 +-0x1.6789d04262d19p-2 +0x1.a3b27c103d23p-8 +0x1.2cdc53cf144c9p-1 +-0x1.aa7de06d13b1p-3 +0x1.8062f03582d56p-1 +0x1.b64136d487dacp-3 +0x1.6f95488301b7fp-1 +-0x1.8300b31d47c43p-6 +-0x1.87e00889cbadp-5 +0x1.51fad77f100d8p-1 +-0x1.caa1a98b088d8p-7 +0x1.d5a40eb2005d4p-4 +-0x1.6ac5d1fa2efccp-3 +-0x1.9db40e6c88088p-1 +0x1.41aee853cb14dp-3 +0x1.f8ae18629051ep-3 +-0x1.d45c63f361dd7p-1 +0x1.541fea2230f7cp-1 +-0x1.9cd0d2296645dp-1 +0x1.2ae9e95ddf157p-5 +0x1.e584efe8b59cdp-3 +0x1.4c43bc5af28bap-1 +0x1.d71a7a836ea51p-2 +0x1.b29d25126e71cp-6 +-0x1.3c87f4d6f30c8p-3 +-0x1.fad37625c551p-5 +-0x1.2afbccc190dadp-1 +-0x1.c13422e476d79p-4 +0x1.80a34ae32ca83p-1 +-0x1.1b9319f8f460cp-1 +-0x1.e582a56766511p-1 +-0x1.d0214d17729bap-1 +-0x1.bf5116a4a9bb1p-1 +0x1.80cdb623d17d2p-2 +-0x1.bdd19da730feap-1 +0x1.c616ae662d6b5p-1 +-0x1.ff865a382dcfbp-1 +-0x1.b94ab44c00a18p-1 +0x1.b63c04e8f0854p-1 +-0x1.699607cc9cbdp-6 +0x1.9adb05e932ae7p-1 +-0x1.462730ef50725p-3 +-0x1.fb70f61b55bd6p-3 +-0x1.72e71d193b64ap-3 +-0x1.a9282b1c3a92ap-6 +0x1.8bfa74799fc89p-4 +-0x1.a0e0e1884ec97p-1 +-0x1.3d6d57dcb972cp-2 +0x1.89c75e39c0263p-2 +-0x1.241f1b7f58f79p-1 +-0x1.2bc5673f7cfccp-1 +0x1.e60e4c7160eb2p-1 +0x1.40105ca97007fp-3 +-0x1.2ef564af9616fp-1 +-0x1.07bf42236f25bp-2 +-0x1.049d3415692e2p-1 +-0x1.45f5522d13caep-2 +-0x1.1997c397e0e45p-4 +-0x1.8de3646adb742p-2 +-0x1.05bb605702e3ep-1 +-0x1.342b53aca73bep-1 +-0x1.89b84d1a50e19p-2 +-0x1.3f7bcefa48f28p-1 +0x1.1445c017ac5aap-6 +0x1.bda7899c88481p-1 +-0x1.854a97639dd82p-1 +0x1.5de8d1ffbb7f4p-1 +0x1.fb15328e09512p-3 +-0x1.c9dbdbab75f6cp-4 +-0x1.028ce79401086p-2 +0x1.8733ded13b63ap-1 +-0x1.245a56e256b22p-3 +0x1.06a560ecf6dbfp-5 +-0x1.0bf4a0068aafdp-1 +-0x1.b581e153f833bp-1 +-0x1.c2e7f4b0913e1p-2 +-0x1.276d42b4ab6b2p-1 +-0x1.061c5c75e2715p-4 +-0x1.32289f2b0607cp-2 +0x1.2a67e181659b6p-2 +-0x1.809258a5b0a06p-1 +-0x1.44c4e0453a59cp-2 +-0x1.4bdcc9b22cc99p-2 +0x1.faeaf43d605d4p-1 +0x1.53cd25d3a3ad5p-3 +0x1.aabe65dbd6bc4p-2 +-0x1.09a500dea9bddp-1 +-0x1.4463133207523p-3 +-0x1.e0af61321a7f2p-3 +-0x1.cc18188e176cap-2 +-0x1.3f3c5a44a5f4cp-1 +-0x1.eaede6b729abcp-5 +0x1.95010cf633536p-2 +0x1.61f82c5e03b22p-2 +0x1.53d1158b79fafp-1 +0x1.788303870786dp-1 +0x1.1881378f8a1c6p-2 +0x1.0c942521be93fp-1 +0x1.f8fd582fea04cp-1 +0x1.4a5cd671c7733p-4 +-0x1.36678832f0d9fp-3 +-0x1.37d8cc8c358e4p-1 +0x1.0b29b33a75431p-1 +-0x1.c96cf230d0a65p-1 +-0x1.01c425ca9e9dap-5 +0x1.d80d3b73ec2dbp-1 +-0x1.2c482f85b6fe9p-1 +-0x1.fb19c3062b2c9p-2 +0x1.9019532e8667ep-1 +0x1.91bb102207ffdp-2 +0x1.8f2fbd311ce1p-2 +-0x1.7b79da824a84fp-2 +-0x1.6b2689ceac726p-4 +0x1.af11260cce2dbp-2 +-0x1.c37a23a902833p-1 +0x1.8dc0093bae59p-1 +0x1.63d1c730d3e27p-1 +0x1.926eb312dc37cp-6 +0x1.235de7f7c1fd6p-1 +0x1.e42528fed0943p-2 +-0x1.572c381eca49ep-3 +0x1.0c63896149836p-3 +0x1.88a23be051993p-1 +0x1.71ac798bacfb3p-2 +0x1.acfa586ac6826p-3 +-0x1.8db6ebe7f7c4dp-3 +0x1.fa8b992374579p-4 +0x1.d12fef53f6d76p-1 +-0x1.b6ec8b28a55b9p-5 +-0x1.ba0901eeeb3ffp-1 +0x1.ddb47a9b1f0a6p-3 +0x1.73982d1c3a878p-1 +-0x1.6449613bee7aep-1 +-0x1.f50629a7ccea8p-6 +-0x1.52bfb5b0734d5p-2 +0x1.faf4ecb1ca745p-4 +0x1.a05c3770d3502p-2 +0x1.afc80b3b9d3fap-2 +-0x1.0c96d44fc9c92p-4 +-0x1.eb6171750179fp-1 +-0x1.4d7473af08898p-1 +0x1.97f4b7cd5b3f8p-2 +0x1.b431c827cf6eep-3 +-0x1.0eb48b837f07dp-2 +0x1.88649d0cee365p-2 +-0x1.fc0fd6dc01c7dp-2 +-0x1.0052d690fc256p-3 +-0x1.04dbde177abccp-1 +0x1.ece166aacd558p-5 +0x1.c9d729ffca191p-1 +0x1.df2ae1da50842p-2 +-0x1.12b503fdd48a6p-1 +-0x1.b4c8e97a7d2c8p-4 +-0x1.bbb53ef41bc54p-1 +0x1.e63fd06ab1044p-1 +0x1.ea8b02829fa68p-1 +-0x1.0d8c0c6d61ddp-1 +-0x1.4e124480e7a28p-2 +0x1.7f6a4e197766fp-2 +-0x1.37faae0f55578p-2 +0x1.b813863fa920bp-5 +-0x1.fcccf8c3e559cp-1 +0x1.d5fbd0dc8ad31p-2 +-0x1.6c946abf6ea6cp-1 +-0x1.1b352ba8af0bbp-1 +0x1.c11581b662f82p-2 +0x1.990019776616p-1 +0x1.0dc7c5e269a1dp-1 +0x1.8fddb332e738ep-1 +0x1.499c582da2381p-1 +-0x1.59c653d073515p-2 +0x1.5eab24e1d03bfp-1 +-0x1.b85a6ab8e17b3p-1 +-0x1.30a6daa38c351p-1 +-0x1.932a5503268b4p-3 +-0x1.dea320714bb8p-2 +0x1.ff3e96529748ep-5 +-0x1.4c617f5747532p-1 +-0x1.84e5a0ad07939p-1 +0x1.7abe060402b05p-2 +-0x1.c7ed9a40bb9cap-2 +0x1.19b9a88ddb3e5p-3 +0x1.ec5dcf79a942cp-1 +-0x1.719e667303d97p-1 +-0x1.9c222e047ccf5p-1 +0x1.ad9e514283006p-2 +-0x1.b91d5d5e6af16p-1 +0x1.2f1a9daf8dcd3p-1 +-0x1.fa2f55430a39fp-1 +-0x1.f21f10a38d97bp-1 +-0x1.95f9eba52e6d5p-1 +0x1.f29af78fe25afp-3 +0x1.6fb0ab96df582p-2 +-0x1.3c294e345294cp-1 +0x1.8c641d011c40bp-2 +-0x1.9ab2bb5b25bcbp-2 +-0x1.351b0eeda749p-5 +-0x1.91b3606ebc3efp-1 +0x1.6b0cfb04f8d54p-1 +0x1.387baa2fde50dp-5 +0x1.ab2eb21671a7fp-1 +-0x1.93eda96ded5a8p-1 +0x1.d085daf8b28b3p-2 +0x1.2d8229be0c4fp-2 +0x1.ac9ee37cd8368p-1 +-0x1.3c5d22b389487p-4 +-0x1.9448c4107de8cp-2 +0x1.b402d7eec5ba6p-1 +-0x1.b89d82d2203f3p-4 +-0x1.3bee35afcccdap-2 +-0x1.bb481b2005749p-4 +-0x1.a497f6bfe462cp-1 +0x1.8c0e631a8eefbp-1 +-0x1.c28ef46efc1c9p-1 +0x1.979655c0056c9p-3 +-0x1.ac4f7c4141c58p-1 +-0x1.0b9d2fb8a6a73p-1 +0x1.6dea1163641eap-2 +0x1.043b4c164286dp-1 +0x1.235683086ad17p-1 +-0x1.d35da13550a44p-3 +-0x1.755cb812af596p-1 +0x1.744130837703fp-2 +0x1.d833cd13992fap-1 +-0x1.95d77a8f762a2p-1 +0x1.fefb2ec6512b4p-2 +0x1.403c3377b2135p-1 +0x1.3dedbb7f474bep-1 +-0x1.6a9174b67702fp-1 +0x1.abcb4c0afc268p-8 +-0x1.fe3e1aae8c063p-1 +0x1.aed45e264883fp-3 +0x1.fca5b10ea86bap-2 +-0x1.5aec2b902ae63p-5 +-0x1.78b2a8628beep-1 +-0x1.2247965168f43p-3 +0x1.bdd2c28447e21p-1 +0x1.17da741a6da6bp-4 +0x1.120b4bc563793p-1 +0x1.4e1d52adae5c5p-1 +0x1.16e1effd7e79ap-2 +-0x1.01c2b65887fbap-2 +-0x1.c352eb3772fep-3 +0x1.35108e0bcfca5p-1 +-0x1.a04352625fbb8p-6 +0x1.d0d83103412dep-2 +-0x1.be71c357017d8p-1 +0x1.53b13ccc2542ap-1 +0x1.7d916a95bb413p-3 +-0x1.a281bc7d7a902p-3 +-0x1.04209635c875bp-1 +-0x1.449426743eb5ep-3 +0x1.bf3b79f08cd42p-2 +0x1.1d432ac8ac5f1p-2 +-0x1.e77d80b14fb27p-6 +-0x1.046d5df5c4e19p-1 +-0x1.d704d62ce5023p-1 +-0x1.23961777d4cddp-1 +-0x1.35ca83c7d5475p-2 +-0x1.be45caeae1874p-1 +-0x1.9839e60f05e7fp-3 +-0x1.0e269a688400ep-1 +0x1.055fce5be2f7cp-1 +-0x1.c41bb92d4f3c8p-3 +-0x1.85e71fe25220fp-2 +-0x1.76fa5bc203067p-2 +-0x1.0d2e12b95e198p-1 +0x1.38c6a93d859d5p-1 +-0x1.187b2bcc4e046p-2 +0x1.878a38a3616edp-2 +0x1.0967826603f1bp-1 +-0x1.3a3c82c1860ffp-1 +0x1.5f46ee74e5351p-2 +-0x1.8f991687d774bp-2 +0x1.4e239b39d8128p-2 +0x1.1db18b60194adp-1 +-0x1.47e9fab1fbe69p-3 +-0x1.d3de9ecf17cd6p-1 +0x1.9057d2ea15d44p-7 +0x1.426d9323e3cb9p-1 +0x1.6e8a0cf831d6p-1 +0x1.72474bb6e6f37p-6 +-0x1.2d2caaac8b76ap-1 +-0x1.ee3071e2b801p-1 +0x1.dee28ab3681f8p-2 +0x1.1b89fd873f03p-1 +-0x1.29a05169dbed5p-2 +-0x1.31163c95c0828p-2 +-0x1.d4be134fe235cp-1 +0x1.45e8470fd8a4ep-1 +-0x1.d264da345ccdbp-2 +-0x1.6c2b72ee8d29dp-2 +0x1.9872a5de2cca6p-2 +-0x1.51bd08b7f9495p-1 +0x1.514b00cbf0cf7p-1 +-0x1.e085fe73ea48ep-1 +0x1.53008f53549bfp-1 +-0x1.6934b0799c2b9p-1 +-0x1.e60096cdedb7p-1 +-0x1.7167d2f69b6e1p-1 +0x1.c3d12444ccabfp-7 +0x1.595b7ae1038d8p-1 +-0x1.4786d471d2415p-2 +0x1.60ab09a0a5c07p-3 +0x1.ab65469dd866bp-4 +-0x1.4ce38a48ac74ap-7 +0x1.4c4201f036083p-3 +0x1.edd0e6e4f454fp-1 +0x1.e82ea08cd9c54p-1 +-0x1.878eda2565c7p-6 +0x1.b8c5d04fecd91p-1 +-0x1.758052a6e63f3p-1 +0x1.6beddc9025b6ep-1 +-0x1.5d2019d1900eap-1 +-0x1.4106ea52a248cp-1 +-0x1.ed26c427a6bacp-1 +0x1.40b2acff3937bp-3 +0x1.1dc00aa8d2e12p-1 +-0x1.9a92799011d01p-1 +0x1.02bdcde50a92p-2 +0x1.23c3678149b2dp-1 +0x1.11b786df26d46p-1 +0x1.b864c86950f68p-3 +0x1.217d76f1ca7b6p-1 +0x1.d1bcb049ad128p-1 +0x1.2b141b4761a37p-3 +-0x1.62ef4fb141d9ep-2 +0x1.94ea8a1718ba4p-4 +0x1.0a74a81d8d6efp-2 +0x1.e0bdcafd21d07p-2 +-0x1.e80fbbed562e4p-2 +0x1.65ca5f662e258p-1 +0x1.0e00b52607abcp-2 +0x1.3f76022141aa5p-1 +-0x1.34ee60fc1232p-1 +-0x1.51a328eeefa73p-2 +0x1.97f7f27db3c11p-1 +0x1.b1adfd2e34a21p-1 +-0x1.5a6d864296aaep-1 +0x1.784ca8dd487f6p-1 +0x1.2d0945665f066p-2 +-0x1.594df56a6cfc4p-1 +0x1.0650bd92b1d25p-2 +0x1.a261722c795f2p-7 +0x1.a61d1fc80bb37p-3 +-0x1.afb4c89c89499p-4 +-0x1.159c2b70f92bdp-1 +0x1.d6bf199e2e279p-2 +0x1.5159ae3813851p-1 +-0x1.efc4f4ccf106ap-2 +-0x1.16670ca2fa326p-2 +0x1.20517cc0f555ap-2 +0x1.46cc935bcd6cdp-1 +0x1.ab47743c79f44p-5 +0x1.20e1a1801e982p-1 +-0x1.bc357217cf113p-1 +-0x1.c5e44797000bcp-2 +0x1.68bbd57521e47p-4 +0x1.16ba846c1599dp-1 +0x1.270e1dd5875cap-3 +-0x1.c4a8765caf6b4p-1 +-0x1.9b60e9cfc5925p-8 +0x1.ba1ce66a8d92ap-1 +0x1.2c2b5140420e4p-1 +-0x1.7e2b3a125b644p-2 +-0x1.ac19238c4d149p-3 +0x1.120eed9857a23p-2 +0x1.df96480c45f8p-3 +0x1.819cf5f42e6b6p-2 +-0x1.baf79a6ba005ap-2 +-0x1.3c652d117ddb2p-1 +-0x1.304961e6c082bp-1 +-0x1.6ee21bfb2f796p-2 +0x1.96f7edd19996ep-5 +0x1.aa7712dca393fp-1 +-0x1.779cfeed52431p-4 +0x1.a2b0025fc9e22p-1 +0x1.e15e9dc380461p-1 +0x1.c59179cbef3f3p-1 +-0x1.eab4708675f25p-1 +0x1.564d5a1bf176p-1 +-0x1.068dde50bfec5p-3 +0x1.11b2977df6197p-1 +0x1.c54947df5338p-3 +0x1.08008df908497p-3 +0x1.ccad7b6656d49p-4 +0x1.0d9a74aa17489p-2 +0x1.b121854f6e447p-3 +0x1.9a0be422d60a7p-1 +-0x1.58ffc7edf5a97p-4 +0x1.802e2907883d1p-2 +0x1.40d8d639fa998p-3 +-0x1.97040897f1d8ep-1 +-0x1.930bcfe8e37f9p-1 +-0x1.dc2a2fd4d417bp-3 +-0x1.a5109839a867ep-3 +-0x1.bca5e9b583fbcp-4 +-0x1.4c97f14bd3895p-3 +0x1.9ec0468e15b24p-2 +-0x1.bf8f7bc830b1bp-2 +0x1.f27b9d151dd0ap-2 +-0x1.26f5da58a105cp-2 +-0x1.bf469a1cfac47p-6 +0x1.9105e07e5365bp-1 +-0x1.1069e97f84c28p-1 +0x1.925da592a3feap-4 +-0x1.bf3118d58b9c2p-1 +-0x1.21704cba25979p-1 +-0x1.128c481f78577p-3 +0x1.df6d9d4fe9635p-2 +-0x1.1d8da2a4f4214p-1 +-0x1.898b68607c4b3p-1 +0x1.4f261b15a15bfp-1 +0x1.e516ae146ee2ap-5 +0x1.00755c8db875p-2 +-0x1.f4599013a50b6p-2 +0x1.2f7f5aa833b28p-2 +-0x1.ea5f191b8c16ep-1 +-0x1.d8ac8cb0dced8p-6 +-0x1.84a67c42a27fdp-1 +0x1.dcd747b8856a3p-1 +-0x1.32bc9f4f129e7p-4 +0x1.a9a2796292334p-4 +-0x1.9d5db794e6d32p-1 +0x1.e345807654ed1p-1 +0x1.e8d24ead76c7ap-6 +-0x1.63966a2386c2ap-2 +-0x1.79e9cbc31f78dp-2 +-0x1.650481d93daa9p-1 +0x1.6a2b6ef383b4ep-5 +0x1.206bb80e03038p-1 +-0x1.d6fe3419a08acp-2 +0x1.2bcbbbcf34da6p-1 +0x1.7eaad638a6deap-1 +-0x1.fb997e40e0cccp-1 +0x1.180e499eaf229p-4 +-0x1.7895abd150b61p-2 +0x1.c4b296298081cp-1 +0x1.de5a8c528d058p-1 +0x1.cee87fd226fdcp-2 +0x1.560695169afc6p-3 +-0x1.eae7c8d0694a4p-2 +0x1.ee5de5862f945p-1 +-0x1.69d7d6e4fe65ap-4 +-0x1.1ec2ca33417d5p-4 +-0x1.b7d8d4959d7b9p-2 +0x1.e2a8b23ad294dp-1 +0x1.576682c2b5923p-1 +-0x1.21dda576606d2p-3 +0x1.d396d8df887cbp-4 +-0x1.0d8291cce96a8p-2 +0x1.7ed8239e07d2dp-9 +-0x1.91626d7e29e18p-1 +0x1.76d8afb648166p-1 +0x1.e398839ed47f6p-1 +0x1.a135f5afec45p-1 +-0x1.3d069d81c874ep-1 +0x1.2c11c3e1b3744p-1 +0x1.7900ded1edff4p-1 +0x1.0ae9e210973c6p-4 +-0x1.13b89305557f1p-1 +-0x1.5cb68766ed717p-7 +0x1.91ec847d63b25p-2 +0x1.694dde0ad6bebp-6 +-0x1.398eef0eaede6p-1 +-0x1.8886ddccd5ec2p-1 +-0x1.eca37ae64b3c6p-6 +-0x1.5aab5c02b9cf5p-7 +-0x1.013773ce6f211p-1 +0x1.8bcb3f3aaa274p-1 +0x1.b6c0da9e6ac37p-2 +0x1.db71f0b468d43p-3 +0x1.f802eb1985ed5p-1 +-0x1.a89dd1cc92f9ap-1 +0x1.a65da10f74608p-3 +-0x1.cc22cc8e3e80cp-8 +0x1.fd110759087c3p-5 +0x1.7eb01ccb545d8p-2 +0x1.cb91d6161a51ep-3 +0x1.e7fa4b4e7fcc9p-1 +0x1.38e93ed129131p-3 +0x1.d0d9732d78fbbp-3 +-0x1.c6686610ad37cp-2 +0x1.c626947ec012bp-1 +-0x1.ac41f4ce39c7ap-4 +0x1.177ee4b13fb6ap-1 +-0x1.4fadb547da8e4p-2 +-0x1.d9a11a46224b2p-5 +-0x1.6a8e739fb3a4p-1 +0x1.8793a78c7cb82p-4 +0x1.69242805bcbe8p-2 +-0x1.eb4540f1f5eedp-1 +-0x1.446fbe9c4ea41p-2 +-0x1.05c5eb9bb8931p-3 +-0x1.9b0ebfbfb5311p-2 +0x1.f6acbea5dfc26p-1 +-0x1.3479a16cc71ep-1 +-0x1.21730add38fa1p-3 +0x1.5acbb4fe0acf8p-6 +-0x1.8fddce373bef5p-2 +0x1.1d3cb04600b5ap-1 +-0x1.da389133e1e96p-1 +0x1.021e30a02d1dcp-2 +-0x1.4668691973df6p-4 +0x1.0673ab0879bfdp-3 +-0x1.db8681ae24de3p-3 +0x1.deb208904bbe3p-3 +0x1.357605a5cafffp-4 +-0x1.a56c97660374cp-6 +0x1.b5f89d3a2fc2p-1 +-0x1.8c17cad70974ep-3 +-0x1.65d8d8d9678ddp-3 +0x1.9222eb7c162eap-3 +0x1.2e4afb607803bp-3 +0x1.6b705b41a4117p-1 +0x1.bbf77d317f81cp-6 +-0x1.8adbc6ec0fd96p-2 +0x1.433f696c13617p-2 +-0x1.d6ae5739bf4bp-1 +0x1.67bc667a7db01p-2 +-0x1.242ca24a423b7p-1 +0x1.f1131e9a7c0cfp-1 +0x1.aed728ac5e234p-1 +0x1.daa8d5b6b14c7p-8 +0x1.b9a9b37a3ad9ap-5 +0x1.d80ae1461e16ep-1 +0x1.4d5611cbfb79p-2 +-0x1.c7440c1db0b09p-1 +0x1.575c7f0d01ee2p-1 +0x1.ab0997138289ep-3 +0x1.1ab0619a7c401p-2 +0x1.2e36407ef693cp-3 +-0x1.1a0c56c614439p-1 +0x1.4d4cd2974c134p-3 +0x1.6802fa3c0e018p-1 +0x1.4574cf8a803d3p-1 +-0x1.a79d784c836dp-2 +0x1.00924b1a6c7cdp-1 +-0x1.b1bce37e4d873p-1 +-0x1.2a255ec0f20d7p-2 +0x1.8daa09b90a35fp-2 +0x1.1d2de0de93383p-1 +-0x1.ee847cf4f7ad4p-1 +0x1.966612514d812p-2 +-0x1.677cc3a6bd936p-4 +0x1.ab8bb45c95492p-5 +0x1.52db69ddb97b5p-1 +0x1.61c880bdc2a6bp-2 +-0x1.e251287016886p-1 +0x1.dbc62d9f046c1p-3 +0x1.8b0d0a8967dddp-1 +0x1.6d10f4ced4362p-1 +-0x1.a572bc2e7ace8p-2 +0x1.46902ef952767p-4 +0x1.9f2472dcc1a9dp-3 +-0x1.58301726d8bfbp-2 +0x1.2e16e9bfbc556p-3 +-0x1.eb2c5d765dc08p-1 +-0x1.5b97fa1b0a2c1p-1 +0x1.e09b712fb03bbp-2 +0x1.8508a6b21b3e5p-3 +-0x1.87b252848a16dp-9 +0x1.36c3f35773088p-1 +-0x1.20a06eb44b6ffp-4 +-0x1.0314850dc2b0bp-2 +0x1.ddfb9779da195p-2 +0x1.1cb62b71e2be6p-2 +-0x1.3bac38565591ep-2 +-0x1.a150a7ead7728p-3 +0x1.08933dfe301e3p-1 +-0x1.77306970f201ep-1 +-0x1.2a7a5cebb46f2p-2 +0x1.4a0fbf76e9c9ap-1 +0x1.71facd60c8a7ep-4 +0x1.f651dcc15b0e9p-1 +0x1.4b9d9549629c7p-1 +0x1.615c778895c17p-1 +0x1.5d41ffc6efa9cp-3 +-0x1.44fae2d25af5dp-1 +0x1.88e8ee4d82bb3p-1 +-0x1.171285eb593ddp-7 +0x1.4ee89cd965bbbp-3 diff --git a/sysdeps/x86_64/fpu/libmvec-asinf-inputs b/sysdeps/x86_64/fpu/libmvec-asinf-inputs new file mode 100644 index 0000000000..e1a56943d8 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-asinf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-1, 1), mean = 0, standard deviation = 1 +-0x1.110038p-2 +-0x1.1f03acp-1 +-0x1.5838c4p-1 +-0x1.4da856p-1 +-0x1.c8504ep-2 +-0x1.ea09e2p-1 +0x1.7280a4p-3 +0x1.ab9c04p-3 +-0x1.b43cdap-3 +-0x1.6e4446p-1 +-0x1.da8bf8p-1 +-0x1.0908bap-3 +-0x1.3227eep-5 +-0x1.c10dd2p-2 +-0x1.2bbc6p-2 +-0x1.b20d6p-8 +0x1.1ee5aap-1 +-0x1.bae564p-2 +-0x1.044a9ap-1 +-0x1.8d7e8cp-3 +0x1.a43154p-1 +0x1.b3fd56p-1 +0x1.d6772ap-1 +0x1.008284p-2 +0x1.1a0f2cp-1 +0x1.6a3b9p-2 +0x1.d6f502p-2 +0x1.6fbe4cp-2 +-0x1.65603p-8 +-0x1.761798p-2 +0x1.7fbadap-5 +0x1.cf4f82p-2 +-0x1.cdac5ap-2 +0x1.6846p-3 +-0x1.3c18ep-4 +0x1.e26402p-1 +-0x1.dae846p-2 +0x1.38ee24p-1 +-0x1.1ba2eap-7 +-0x1.e846c4p-1 +0x1.5ad90ep-1 +0x1.635b92p-1 +0x1.407264p-1 +0x1.925072p-1 +0x1.f11f74p-1 +0x1.335462p-2 +0x1.36fb0ep-1 +0x1.29598ep-1 +0x1.99eacep-3 +0x1.9be854p-3 +0x1.d735c6p-5 +0x1.a1e876p-1 +0x1.1e015ap-9 +0x1.cb814cp-1 +0x1.ef5984p-3 +0x1.4511a4p-3 +0x1.c3236cp-3 +-0x1.b5663ap-5 +0x1.f9775cp-1 +-0x1.fbe004p-1 +0x1.ec4068p-4 +0x1.0af7c2p-1 +-0x1.18e6b8p-1 +0x1.2fc06ap-2 +-0x1.0df60cp-1 +-0x1.fd3ebp-1 +-0x1.f9beaap-4 +-0x1.a8a18cp-4 +0x1.1e32ep-1 +0x1.8035aep-4 +0x1.6e5336p-1 +-0x1.6861d6p-1 +-0x1.ead954p-2 +0x1.2fd21p-1 +0x1.844b6ap-1 +-0x1.be60b6p-2 +0x1.6afc44p-1 +0x1.7db1b8p-3 +-0x1.890248p-3 +-0x1.3d2202p-2 +-0x1.e94e3ep-8 +-0x1.cddf66p-1 +-0x1.f5d266p-1 +-0x1.ea04b4p-4 +0x1.29c338p-5 +-0x1.c2ee5ep-1 +0x1.97aca2p-2 +0x1.6abe8ep-1 +0x1.df29a8p-1 +0x1.21ccb2p-3 +0x1.9c79dap-1 +-0x1.253082p-4 +-0x1.a40112p-2 +-0x1.77943p-1 +0x1.77052ap-2 +-0x1.2b1874p-4 +-0x1.f6f974p-1 +-0x1.0d409ap-1 +-0x1.4613aap-4 +0x1.fb9106p-3 +-0x1.16fa4ap-2 +0x1.2c57f4p-1 +0x1.130f2ep-1 +-0x1.8b8cb4p-1 +-0x1.a9f64ap-1 +0x1.88e06cp-2 +0x1.750ec6p-1 +-0x1.0dd8acp-1 +-0x1.99309ep-2 +-0x1.08b1bcp-2 +0x1.3d9e18p-4 +0x1.0a5b3ep-2 +0x1.a170f6p-2 +-0x1.c5393p-2 +-0x1.8f8d42p-1 +-0x1.f49e6ep-3 +-0x1.7a129ep-8 +-0x1.1ae76cp-1 +0x1.087a5ap-4 +0x1.6aff86p-1 +-0x1.62fa8ap-2 +0x1.b66d4cp-2 +0x1.b32cf8p-2 +-0x1.f16faap-2 +-0x1.ac60dap-1 +-0x1.fbdc48p-3 +0x1.ce8d8ap-2 +-0x1.f0575ep-2 +0x1.e23bcp-2 +0x1.cf7eecp-2 +0x1.38160ap-1 +-0x1.261ffp-1 +0x1.45cf88p-5 +-0x1.d895ecp-1 +0x1.3c7e1p-1 +-0x1.bb2ef4p-1 +-0x1.46be0cp-3 +0x1.3d2252p-2 +0x1.6bb15cp-1 +-0x1.1ace06p-2 +-0x1.81d19cp-4 +0x1.3f8ac8p-2 +-0x1.e6965cp-1 +-0x1.b57d14p-1 +-0x1.11d16cp-3 +-0x1.8f5e48p-2 +0x1.867814p-2 +-0x1.d28fecp-2 +0x1.f2d6b2p-4 +-0x1.4314fcp-3 +-0x1.3d2ddcp-1 +-0x1.91560cp-3 +-0x1.20789ap-1 +-0x1.dc4acap-3 +0x1.ab49a6p-2 +-0x1.eb1308p-2 +-0x1.e7106cp-3 +0x1.696b3cp-1 +0x1.ce3576p-1 +-0x1.8652cep-2 +-0x1.548a94p-2 +-0x1.f25d36p-3 +-0x1.d71922p-2 +0x1.83b4ap-1 +-0x1.1f373ep-3 +0x1.13306cp-2 +0x1.61510cp-5 +-0x1.b37f3cp-3 +0x1.59e1b2p-1 +0x1.4f8ea8p-1 +-0x1.1c519ep-3 +0x1.3c58fcp-1 +0x1.c0e9d6p-1 +-0x1.459244p-1 +0x1.2cfb26p-6 +0x1.853c9ap-3 +-0x1.00b1dap-5 +0x1.61523p-1 +-0x1.0bf55p-1 +0x1.1bbe24p-1 +0x1.b81586p-1 +0x1.279ef2p-2 +-0x1.90195ap-2 +0x1.cc7c52p-6 +-0x1.548ec8p-2 +0x1.bff548p-1 +0x1.cbfa06p-2 +0x1.501f9p-1 +-0x1.3d802ap-2 +-0x1.11859p-1 +0x1.2aa162p-2 +0x1.e3c222p-1 +0x1.9d3e2cp-1 +-0x1.2e2186p-3 +0x1.05d966p-1 +-0x1.e5721p-2 +-0x1.769eb4p-1 +0x1.964434p-2 +0x1.3a317p-3 +0x1.b3009ap-3 +-0x1.ed8924p-3 +0x1.4ef3p-2 +0x1.d4a296p-1 +-0x1.8543dcp-2 +0x1.39c3eep-4 +-0x1.9d5944p-2 +0x1.19f114p-1 +-0x1.aced1p-1 +0x1.65e234p-1 +0x1.81eea2p-1 +-0x1.e09ae8p-2 +0x1.88cff6p-2 +-0x1.968f24p-1 +0x1.b0dc52p-2 +-0x1.949d08p-3 +-0x1.6216dep-4 +0x1.02a4c6p-8 +0x1.9d0d5ap-1 +-0x1.53b0ap-2 +-0x1.b239cep-2 +-0x1.71a606p-4 +0x1.378dbep-2 +-0x1.28a536p-2 +-0x1.d4008cp-1 +-0x1.be0504p-5 +-0x1.5dabf2p-6 +-0x1.e6a4d4p-1 +0x1.f59118p-1 +0x1.942c72p-2 +-0x1.73fc06p-2 +-0x1.918594p-2 +-0x1.b7fb2cp-2 +-0x1.4beef8p-2 +-0x1.9ce8c8p-1 +-0x1.737e66p-3 +0x1.e33526p-1 +-0x1.47b07cp-1 +-0x1.a15cdap-3 +-0x1.ac6db2p-2 +0x1.bb99aep-2 +-0x1.299312p-3 +0x1.a0ae02p-2 +0x1.6c8868p-1 +0x1.b699a8p-1 +0x1.5aac3ap-1 +-0x1.2168cep-3 +0x1.2e485ap-4 +0x1.f078a2p-1 +-0x1.7304dcp-1 +0x1.3c0ebp-2 +-0x1.af841cp-3 +-0x1.e4bf2cp-2 +0x1.971374p-6 +0x1.7b323cp-2 +-0x1.684ab2p-3 +0x1.e4b53p-2 +-0x1.afe726p-2 +0x1.d0066p-4 +0x1.826d14p-1 +-0x1.3253d2p-1 +-0x1.7e5a94p-1 +-0x1.ba8b24p-2 +-0x1.dce1bcp-5 +-0x1.e1ee3cp-1 +0x1.8a59e6p-1 +0x1.72b31ap-2 +-0x1.f0a79p-2 +-0x1.ec9f64p-2 +-0x1.ef4d44p-1 +-0x1.45030cp-2 +0x1.a2a5p-2 +0x1.f291dp-2 +0x1.0c5e3ap-1 +0x1.0b13ecp-2 +0x1.5b2206p-1 +-0x1.c752f2p-3 +0x1.3d151p-1 +0x1.17da3p-1 +-0x1.266a0ap-1 +0x1.f81c1p-1 +-0x1.347da4p-2 +-0x1.39b5p-4 +0x1.b9a576p-1 +-0x1.721816p-1 +-0x1.668932p-2 +-0x1.863bfap-2 +0x1.e55974p-1 +0x1.11702p-3 +-0x1.5340bap-1 +0x1.b42dp-2 +0x1.a9ca3ap-1 +-0x1.5506bcp-2 +0x1.7d3bacp-3 +0x1.ba237ep-2 +-0x1.9d3fecp-1 +0x1.04414ep-1 +-0x1.1ab066p-1 +0x1.bb680ap-1 +-0x1.e284fp-1 +-0x1.bcfc0cp-4 +0x1.010d86p-2 +-0x1.7ff508p-2 +-0x1.714b7ap-1 +0x1.c81f22p-1 +0x1.acdd64p-2 +-0x1.8e537cp-2 +-0x1.28ed7p-3 +0x1.16d3d6p-1 +0x1.36a936p-1 +0x1.b548aep-1 +-0x1.62ef42p-2 +0x1.ac459ep-4 +-0x1.639dbcp-3 +0x1.da644cp-1 +-0x1.e0025p-2 +0x1.5ce9fep-1 +0x1.caf31p-2 +-0x1.ad2182p-2 +0x1.03266ap-1 +0x1.ff0c92p-3 +-0x1.2ee55p-1 +0x1.ec9c2cp-3 +0x1.355232p-7 +-0x1.d3869p-1 +-0x1.593af2p-2 +-0x1.6fcb36p-1 +-0x1.dd79d8p-1 +0x1.55402ep-6 +-0x1.7758f8p-1 +-0x1.129ed6p-1 +0x1.47b15cp-2 +0x1.c37c38p-4 +-0x1.55e59cp-1 +0x1.15ab24p-2 +0x1.0e451p-3 +0x1.8cb4a4p-1 +0x1.c4681ap-3 +-0x1.189c5ep-1 +0x1.12c706p-1 +0x1.568e86p-6 +-0x1.e01c8ap-1 +0x1.60c16ep-3 +0x1.821b66p-2 +0x1.49d4a4p-4 +-0x1.9536fep-3 +-0x1.e45f7p-1 +0x1.f42e02p-5 +-0x1.1447c8p-2 +-0x1.3814cap-1 +-0x1.b768cp-1 +-0x1.db96f4p-1 +0x1.b7e8d8p-1 +0x1.31f092p-1 +-0x1.379038p-1 +0x1.e8d062p-1 +-0x1.7e58d6p-2 +0x1.cc9f2ap-1 +-0x1.c4cbe4p-2 +0x1.20846ap-1 +-0x1.8b5948p-3 +0x1.8a8b2p-2 +0x1.ff5246p-3 +-0x1.e5887p-1 +-0x1.b143aap-2 +-0x1.838bc6p-2 +0x1.df434cp-3 +0x1.254968p-3 +0x1.0efb16p-1 +0x1.4d5cbap-1 +-0x1.b1937cp-3 +0x1.cc6ca6p-1 +0x1.4a1daep-3 +0x1.55b3e6p-5 +-0x1.1aa44ep-1 +-0x1.b0bd84p-1 +-0x1.f054c2p-5 +0x1.d0a074p-3 +0x1.41625cp-9 +-0x1.40f226p-1 +0x1.68f226p-2 +-0x1.7b88dp-1 +0x1.988104p-2 +-0x1.d7dcb6p-8 +-0x1.047d08p-1 +0x1.99fc74p-2 +-0x1.1cc8eap-2 +-0x1.3f006ep-1 +0x1.61649ap-3 +-0x1.14f85p-1 +0x1.152222p-3 +-0x1.dda47p-2 +-0x1.ebd99ep-2 +0x1.fd966p-1 +0x1.109c0ap-2 +0x1.08c908p-2 +-0x1.0e2328p-1 +-0x1.b9f792p-2 +-0x1.0db7cep-2 +-0x1.5b2f9p-1 +-0x1.31bd7ap-1 +0x1.698de6p-1 +0x1.5916dcp-1 +0x1.94f61cp-5 +-0x1.8478f8p-1 +0x1.85f2a2p-3 +0x1.6ed2a8p-3 +-0x1.88231ep-4 +0x1.3b4588p-1 +0x1.c568a6p-1 +0x1.3bcd8cp-1 +0x1.d1e33p-1 +-0x1.6a87ecp-1 +-0x1.60d4fcp-6 +-0x1.f4fc22p-1 +0x1.f9a25p-3 +-0x1.ab8ce8p-3 +0x1.99274ep-3 +0x1.6ee102p-2 +0x1.865bcep-1 +-0x1.036fe8p-1 +0x1.d3303ap-4 +0x1.681636p-1 +0x1.f67006p-1 +0x1.9b7f32p-1 +-0x1.fea614p-6 +-0x1.adf08p-1 +-0x1.c6ff78p-1 +-0x1.66360cp-1 +0x1.2d188p-1 +-0x1.a19828p-1 +0x1.3a13ap-1 +-0x1.780cfp-2 +0x1.6128b2p-1 +0x1.bf9da8p-2 +0x1.0ae6ecp-1 +-0x1.51968p-2 +0x1.075982p-2 +0x1.178caep-5 +0x1.6b3714p-3 +0x1.9b39f2p-1 +-0x1.d1b80ep-1 +-0x1.bf7dep-1 +0x1.ea5ec2p-1 +-0x1.8ae87ap-1 +0x1.0c185p-1 +0x1.6455c2p-2 +-0x1.b4951cp-2 +0x1.220f6p-1 +0x1.09e96p-1 +-0x1.b1165ap-1 +-0x1.26eaa4p-1 +-0x1.9657b2p-2 +0x1.25d18p-1 +0x1.17f54cp-2 +-0x1.3ebe74p-1 +-0x1.2865dep-3 +0x1.e5f60ep-5 +0x1.074894p-1 +-0x1.77bcacp-2 +-0x1.8ec86ap-4 +-0x1.f72738p-3 +0x1.219fdep-2 +0x1.5753bcp-3 +-0x1.5c513cp-8 +0x1.54c0aap-1 +0x1.0aefb2p-1 +-0x1.4f42f4p-1 +0x1.7d3d04p-2 +0x1.52dc56p-1 +0x1.152d96p-1 +-0x1.b93628p-1 +0x1.6f1702p-2 +0x1.247af4p-1 +-0x1.82e73ep-2 +0x1.12f232p-2 +0x1.2d4502p-4 +0x1.ef4226p-2 +0x1.f80584p-2 +0x1.f2ed86p-1 +-0x1.ec1494p-3 +0x1.10f4e2p-2 +-0x1.84c3d4p-2 +0x1.6536d4p-1 +0x1.838a1ap-7 +0x1.32d80ep-2 +-0x1.9c2688p-1 +-0x1.307612p-2 +-0x1.189ae6p-2 +0x1.7dabb8p-3 +-0x1.46b15ep-1 +0x1.586a8cp-2 +-0x1.614556p-1 +-0x1.9271dcp-4 +-0x1.34682p-4 +0x1.c4afep-1 +-0x1.94f576p-2 +0x1.3e406ep-2 +-0x1.e5bd2p-1 +-0x1.4826dap-1 +-0x1.13ce4p-4 +-0x1.40cd7ep-9 +-0x1.19a972p-2 +0x1.dda92ap-1 +0x1.84f46ap-2 +-0x1.727f2cp-2 +-0x1.b9a04p-1 +-0x1.5b54a8p-3 +-0x1.a81c72p-2 +0x1.93503p-1 +0x1.8103dcp-3 +-0x1.9c5866p-1 +-0x1.1a2686p-1 +-0x1.3ba3bep-1 +0x1.00cacap-4 +0x1.6e38c8p-2 +-0x1.11bd08p-1 +-0x1.a112b6p-1 +0x1.8fed92p-3 +-0x1.0cae8cp-1 +-0x1.615026p-1 +0x1.dc9002p-2 +0x1.7f0cfp-2 +-0x1.452b5cp-2 +0x1.882dd6p-1 +0x1.2e61fp-4 +0x1.80f26ep-5 +-0x1.59db16p-2 +-0x1.e10c4p-2 +-0x1.62805p-1 +0x1.f3e4c6p-1 +-0x1.da90ccp-2 +-0x1.2ce42ap-2 +-0x1.19b04ap-3 +0x1.4bdcap-2 +-0x1.b4552p-1 +-0x1.c3e7bp-1 +-0x1.851b7ap-2 +-0x1.3949p-4 +-0x1.c0df64p-1 +0x1.b57efp-1 +0x1.6e593ep-1 +-0x1.b3b2e6p-1 +0x1.20b848p-3 +-0x1.e40dcp-2 +-0x1.85c872p-3 +0x1.daba7p-1 +-0x1.1c90b6p-1 +-0x1.0cee4cp-3 +0x1.9d18dap-2 +0x1.24a594p-2 +-0x1.138608p-1 +-0x1.4f44bp-3 +0x1.ce504cp-1 +-0x1.096d4p-1 +0x1.58e5a8p-1 +-0x1.c0f158p-1 +0x1.7bec5ap-1 +0x1.acf446p-3 +-0x1.081e4cp-1 +-0x1.af18d2p-4 +-0x1.816382p-2 +0x1.cada86p-1 +-0x1.857e76p-3 +-0x1.e6e3dep-1 +-0x1.e91d1ap-1 +0x1.8fdd5ap-2 +0x1.4b6786p-1 +-0x1.b9fc68p-1 +-0x1.47c5e4p-1 +-0x1.79047ap-3 +0x1.2acbeep-3 +-0x1.100504p-1 +-0x1.98ba1ap-2 +-0x1.33782ap-2 +0x1.a805cp-2 +-0x1.6baefcp-1 +-0x1.21c30ap-1 +0x1.62072ap-6 +-0x1.39b198p-1 +0x1.7f04c2p-2 +-0x1.39f94cp-1 +0x1.3ddefp-5 +-0x1.1ee2cep-5 +-0x1.6899a6p-1 +0x1.dc1aa4p-3 +-0x1.b601c4p-3 +0x1.a84624p-2 +-0x1.33c518p-1 +0x1.a67986p-1 +-0x1.6077f6p-1 +-0x1.16a546p-1 +-0x1.5e37dep-3 +0x1.cdd5ap-2 +-0x1.bfefecp-1 +-0x1.618704p-1 +-0x1.17cefcp-2 +-0x1.4c77ep-1 +0x1.6f3eecp-3 +-0x1.52b944p-2 +-0x1.5cc46ep-3 +-0x1.208c44p-1 +0x1.81c26ep-2 +-0x1.a20602p-1 +0x1.17946ap-4 +0x1.ebae7ap-2 +0x1.1156cep-2 +-0x1.8f8276p-1 +0x1.1ddf12p-2 +0x1.e2158ap-2 +-0x1.daaedp-1 +0x1.f60184p-3 +0x1.73047ap-4 +-0x1.1b087p-2 +-0x1.8030cp-2 +-0x1.1eaf48p-2 +0x1.5f4fcep-1 +-0x1.07f92ep-2 +0x1.8976cp-1 +0x1.97525ep-2 +0x1.22d4d4p-1 +-0x1.39b1fp-1 +0x1.53b1b6p-1 +-0x1.0fbae4p-1 +-0x1.fbd592p-1 +-0x1.2bcc98p-2 +-0x1.74dc0cp-2 +-0x1.ff7f94p-2 +-0x1.8c8dbp-2 +0x1.2e4de6p-1 +0x1.d16f6p-1 +0x1.58f0dep-3 +0x1.0e3bdap-3 +-0x1.c56b26p-2 +0x1.7131b2p-1 +-0x1.64f178p-1 +0x1.23e878p-1 +-0x1.aec4fap-3 +-0x1.88ad44p-3 +-0x1.ce6f16p-1 +0x1.2220e8p-3 +0x1.5eedcp-2 +-0x1.e5c616p-3 +-0x1.dd8294p-1 +-0x1.29bfc2p-5 +0x1.5fafe6p-1 +-0x1.22b358p-1 +0x1.6651c6p-7 +0x1.e17a66p-1 +0x1.d3c68cp-2 +-0x1.56483ep-4 +0x1.f538f4p-3 +-0x1.d04bfcp-4 +-0x1.3883f8p-2 +0x1.c91f38p-3 +0x1.84bc46p-4 +-0x1.fb297ap-1 +0x1.f4b9e2p-4 +0x1.1f839cp-3 +0x1.796b9p-4 +0x1.632f42p-5 +-0x1.8e6564p-3 +-0x1.283e2cp-5 +-0x1.675788p-3 +0x1.013196p-1 +0x1.cd2e9ap-5 +0x1.bbe776p-1 +-0x1.01f518p-1 +-0x1.8fc528p-1 +0x1.7e09d6p-1 +0x1.b3ec3ap-4 +-0x1.982caep-1 +0x1.68e118p-1 +0x1.428b72p-1 +-0x1.d2f63ap-3 +-0x1.d183a6p-4 +-0x1.549fc2p-2 +-0x1.d3ba94p-1 +-0x1.54198cp-7 +0x1.3010fp-3 +-0x1.607ea2p-6 +-0x1.85076cp-1 +0x1.10b0cap-1 +0x1.29b29ap-1 +-0x1.84dcdcp-4 +0x1.f93c4cp-1 +0x1.efae6ap-1 +-0x1.904df8p-4 +-0x1.a7399ep-5 +-0x1.3469c8p-7 +0x1.b1cb36p-2 +0x1.0c8066p-2 +0x1.53f73p-1 +-0x1.863f6p-2 +-0x1.270594p-2 +0x1.b3360ap-1 +-0x1.53f3fap-3 +0x1.2acbfap-2 +-0x1.8d57dep-3 +-0x1.83f7fap-1 +-0x1.c4a5e4p-2 +0x1.f78858p-1 +-0x1.0d62b4p-5 +-0x1.ca6d4p-1 +-0x1.f53176p-3 +0x1.89261ep-3 +-0x1.b9509ap-2 +-0x1.d4f5eap-2 +-0x1.02511ap-1 +-0x1.cb4adcp-4 +0x1.761ab8p-3 +0x1.a95894p-11 +-0x1.5f79acp-2 +-0x1.8ce9p-1 +-0x1.a5d98p-2 +0x1.6bf1cep-3 +-0x1.242a94p-3 +-0x1.06b2a8p-1 +-0x1.11ed7ep-2 +-0x1.2ce93p-2 +0x1.4d78bcp-2 +0x1.cca3dp-1 +0x1.0efcb8p-1 +0x1.19ac58p-1 +0x1.c7101cp-2 +-0x1.84c914p-2 +-0x1.81cc4ap-11 +-0x1.8c1b0ap-2 +-0x1.454e04p-4 +-0x1.203ea8p-5 +0x1.0b63p-1 +0x1.0a3696p-2 +0x1.b69cbep-5 +0x1.e4a2ap-2 +-0x1.fc1de8p-4 +0x1.9c5f0cp-1 +-0x1.c662e4p-3 +0x1.cb775ap-2 +-0x1.61d9a4p-2 +-0x1.412e52p-2 +-0x1.6b1d72p-4 +0x1.3617fap-1 +0x1.fa2252p-1 +-0x1.8d1c9ep-1 +-0x1.b34548p-1 +0x1.b4c704p-1 +-0x1.5975dp-2 +0x1.689c1p-4 +-0x1.e322c8p-2 +-0x1.11322ep-1 +-0x1.45a284p-5 +0x1.958df2p-1 +0x1.199eccp-4 +0x1.61fedap-2 +0x1.2dbc58p-1 +-0x1.4b524ep-3 +-0x1.321ac4p-6 +0x1.7e8344p-3 +-0x1.ba9872p-1 +0x1.da35d8p-1 +-0x1.3a327ep-4 +-0x1.7050bep-2 +0x1.212d8p-1 +-0x1.c0bdc4p-1 +0x1.1695dp-2 +0x1.0454b4p-1 +0x1.4ccceap-2 +-0x1.1db5fap-4 +-0x1.2510e2p-1 +0x1.4f6fe8p-1 +-0x1.d20a7ap-1 +-0x1.99dd6p-2 +0x1.e5340cp-1 +-0x1.273608p-2 +0x1.692872p-3 +0x1.f3716ap-1 +-0x1.11c75ep-2 +0x1.2d817ap-6 +-0x1.16f81ep-1 +-0x1.1d377ap-1 +0x1.f17c08p-1 +-0x1.ab3f92p-1 +0x1.74ea3p-2 +0x1.aecb4ep-3 +0x1.afa7d6p-1 +0x1.e4688ep-2 +0x1.a5c71p-1 +-0x1.27cf3cp-2 +0x1.445e42p-2 +-0x1.d98d84p-3 +-0x1.9dcba4p-2 +0x1.004326p-1 +0x1.8bedb6p-1 +0x1.d525c8p-1 +-0x1.cf0b1p-1 +0x1.3a6ab8p-1 +0x1.129a34p-2 +0x1.577f4cp-1 +0x1.1631bap-4 +-0x1.26ea1ep-1 +-0x1.b9372ap-2 +0x1.4eed1ap-1 +0x1.d4f66cp-7 +0x1.ab2282p-1 +-0x1.9a3fap-1 +0x1.fa2aa4p-4 +0x1.49b418p-1 +-0x1.72778cp-2 +-0x1.c049b6p-6 +-0x1.fec492p-2 +-0x1.7f3bf4p-2 +-0x1.3821ep-1 +0x1.e44732p-3 +0x1.be2fp-2 +-0x1.b38e32p-2 +0x1.37d12ep-1 +0x1.59cbe8p-2 +0x1.16769cp-1 +-0x1.85f9dcp-1 +-0x1.da9c68p-1 +0x1.a17e4ap-6 +0x1.72945ep-1 +0x1.a01a6ep-1 +0x1.b254bp-4 +0x1.e48b9ap-1 +0x1.d225c2p-3 +0x1.21c166p-2 +0x1.235af8p-1 +-0x1.1b58bap-1 +-0x1.58b5e6p-2 +-0x1.73b8d4p-6 +-0x1.bab2f4p-1 +0x1.ec3f2cp-2 +-0x1.8305ccp-2 +-0x1.2a58cp-2 +0x1.b69e0ap-2 +0x1.c1c852p-2 +-0x1.32d97cp-2 +0x1.5c66fp-4 +-0x1.e6885ep-1 +0x1.cb287ep-1 +0x1.8cbafcp-1 +0x1.afd89cp-3 +-0x1.29809ep-1 +0x1.5f3cc8p-1 +0x1.a88dc2p-2 +0x1.207bc6p-3 +-0x1.fe6d08p-1 +0x1.1a6974p-1 +0x1.d70e4ap-1 +0x1.8af8aap-1 +0x1.aa1fa2p-1 +0x1.8aaa1p-1 +-0x1.749506p-1 +-0x1.a2358ep-2 +-0x1.61c668p-5 +0x1.a74e22p-2 +-0x1.25ccbap-1 +-0x1.8303ccp-1 +0x1.7d3ed6p-1 +-0x1.e87ddap-1 +-0x1.9ed7a2p-1 +-0x1.df427ap-1 +0x1.7a6108p-1 +-0x1.cd544cp-2 +-0x1.f6c96ap-2 +-0x1.a9e902p-4 +-0x1.8301f6p-1 +0x1.14ef6p-2 +-0x1.0a88cp-1 +0x1.a4af84p-5 +0x1.bc3728p-1 +-0x1.0326ep-1 +0x1.3dbaa2p-2 +0x1.c7e528p-3 +0x1.5e1d8ep-7 +-0x1.d7ebf6p-1 +0x1.9097b6p-1 +0x1.b565a2p-5 +-0x1.fd2e5p-4 +0x1.af69fcp-2 +0x1.d68baep-6 +0x1.d5fbdap-1 +0x1.805ap-1 +-0x1.ce2d24p-1 +-0x1.afd83ap-3 +0x1.40d06ap-1 +0x1.e5e556p-2 +0x1.cf19a8p-1 +-0x1.342554p-2 +-0x1.c9b074p-2 +0x1.873756p-7 +0x1.2830d8p-1 +0x1.a8ecb2p-3 +0x1.7f09c4p-5 +-0x1.a964fp-2 +0x1.c6c844p-1 +0x1.e96bb6p-3 +-0x1.d248bp-4 +-0x1.4b9104p-3 +0x1.bdf1eep-2 +-0x1.ef824cp-4 +0x1.259cfp-3 +0x1.771fccp-1 +0x1.19a7b2p-1 +0x1.2e1652p-1 +-0x1.fec49ap-1 +0x1.09d27p-2 +-0x1.0e6e3ep-1 +-0x1.3db78ap-1 +0x1.d00d64p-3 +-0x1.ce9d34p-2 +0x1.a9d84cp-1 +0x1.042e66p-1 +0x1.7ae4d6p-3 +0x1.e9eb1ep-5 +-0x1.19c4f6p-3 +0x1.c9382cp-2 +-0x1.5b2ed8p-2 +-0x1.e8e266p-5 +0x1.28e698p-1 +0x1.3c991cp-1 +-0x1.8af204p-1 +0x1.0f261ep-4 +-0x1.7afbeep-1 +0x1.b0c424p-2 +0x1.6ecb46p-4 +0x1.5472dp-2 +-0x1.2c76e4p-4 +0x1.549e9cp-1 +0x1.88639ap-2 +-0x1.029b54p-1 +-0x1.8db028p-7 +-0x1.ebefd4p-1 +0x1.f98d9ep-3 +-0x1.cc9b56p-2 +0x1.aa348p-1 +0x1.6b2fa2p-2 +0x1.d13378p-1 +0x1.e795fap-1 +-0x1.443c98p-1 +-0x1.eeb87ep-1 +0x1.b87f5cp-1 +0x1.3af59ep-1 +-0x1.d1ca38p-2 +0x1.7cbcf4p-2 +0x1.ca9f1ap-1 +-0x1.9ce86cp-2 +-0x1.f536eep-4 +-0x1.c0551cp-4 +-0x1.b1170ap-3 +-0x1.cc7f4ep-1 +-0x1.792ec6p-2 +0x1.ab17ep-4 +0x1.4bd66cp-4 +0x1.fdb31p-2 +0x1.692c16p-5 +-0x1.ac9ca4p-1 +-0x1.a9fda4p-1 +-0x1.1e5c7p-1 +-0x1.0cc97cp-1 +-0x1.201c3ep-1 +0x1.df82bp-1 +0x1.395d76p-3 +-0x1.350bdcp-1 +0x1.dbdb7ap-1 +-0x1.a83096p-2 +0x1.f4b33cp-2 +-0x1.0ab24ap-3 +-0x1.ab8adep-3 +-0x1.3fcc06p-1 +-0x1.40798ap-2 +-0x1.13a34cp-2 +0x1.17a122p-1 +-0x1.acf1d8p-1 +0x1.9c6788p-2 +-0x1.39bbdap-3 +0x1.ded9dp-6 +0x1.638e3ep-1 +0x1.781bbp-1 +-0x1.998674p-1 +-0x1.1c66ecp-2 +0x1.254d34p-2 +-0x1.823154p-7 +-0x1.134b7ap-1 +-0x1.454524p-3 +0x1.8ec7bp-3 +0x1.365a7ap-4 +-0x1.9ef78cp-1 +0x1.827ddap-2 +-0x1.5772f2p-4 +0x1.539028p-2 +-0x1.bc1a28p-1 +0x1.640cf2p-3 +-0x1.245e4cp-6 +-0x1.4448c6p-1 +0x1.1ed2eap-1 +0x1.dbcd02p-2 +-0x1.ceb76ap-2 +-0x1.b8c88ap-5 +-0x1.cd8996p-1 +-0x1.c73194p-1 +0x1.987076p-2 +-0x1.a68fcp-1 +-0x1.8db732p-3 +-0x1.d27f7ap-3 +0x1.47dd96p-1 +0x1.b70af2p-1 +0x1.ada51ep-2 +0x1.c0bd9cp-1 +0x1.f0aa9ap-2 +0x1.840fdep-2 +-0x1.b58f8ep-3 +-0x1.11797p-2 +-0x1.fb4ad6p-2 +-0x1.02d2fp-1 +-0x1.00d2dap-2 +0x1.e16d9cp-3 +-0x1.4915bcp-5 +0x1.6beb9cp-1 +0x1.57a912p-2 +-0x1.12d05p-3 +0x1.89ea2ap-2 +-0x1.5632cep-2 +-0x1.d4c06cp-1 +-0x1.4f1954p-2 +0x1.3db73p-1 +-0x1.d8db14p-2 +0x1.98df14p-1 +0x1.14ed3ap-2 +0x1.152fd8p-2 +-0x1.eb0c42p-3 +0x1.c34eeap-1 +-0x1.0275d8p-1 +-0x1.0fcddap-1 +-0x1.9f96a6p-3 +0x1.e85928p-2 +0x1.2daf5cp-1 +0x1.5b1636p-1 +0x1.5c5494p-1 +0x1.969e8ap-5 +0x1.199972p-1 +-0x1.02d76ep-2 +0x1.9a7c5p-1 +0x1.0a2acep-3 +-0x1.156c9ap-2 +0x1.dba802p-1 +0x1.bfb5e8p-2 +0x1.47ecc6p-1 +0x1.c8b542p-1 +0x1.83bb48p-3 +-0x1.239a54p-1 +0x1.540a16p-3 +-0x1.86594ap-1 +-0x1.b4bbbcp-4 +0x1.c50ed8p-2 +0x1.0cefbcp-4 +0x1.d3536p-4 +-0x1.e4f6e6p-4 +-0x1.bdd0fap-5 +0x1.fa53bep-1 +-0x1.76edd4p-4 +-0x1.b11f82p-2 +-0x1.8b4aap-2 +-0x1.4a916p-1 +-0x1.08292ep-2 +-0x1.9fb55ep-1 +0x1.0cca48p-1 +0x1.76984cp-1 +0x1.0dc2f2p-2 +0x1.2bbb5ap-1 +-0x1.6b8cb6p-4 +0x1.1ba646p-2 +0x1.aac2aep-1 +-0x1.b7afb4p-2 +-0x1.7d0b6ap-4 +-0x1.c54a54p-2 +-0x1.4c2d72p-1 +0x1.1404bcp-1 +-0x1.2743a2p-1 +0x1.4c16c2p-2 +-0x1.035d74p-5 +-0x1.596772p-2 +-0x1.b92a2p-3 +0x1.74816ep-5 +-0x1.0a9e3ap-2 +-0x1.92ac4cp-1 +-0x1.7c42cap-3 +-0x1.e760e2p-3 +-0x1.2cc53cp-4 +0x1.6d460ep-1 +0x1.ebe34ep-1 +0x1.832eb4p-1 +0x1.bf2c08p-2 +-0x1.e4f664p-4 +-0x1.25f042p-5 +-0x1.ace724p-1 +0x1.9ba4aap-1 +0x1.074064p-3 +-0x1.67967ep-1 +0x1.87ee8p-2 +0x1.8ba4c2p-3 +-0x1.a8aa78p-7 +0x1.0324b4p-3 +-0x1.60822cp-1 +0x1.f84d2p-4 +0x1.4296cep-1 +-0x1.3165a4p-4 +-0x1.427f6cp-1 +-0x1.ce4026p-1 +0x1.29bb68p-2 +0x1.8e3b18p-2 +0x1.5ebcp-2 +-0x1.f5736ep-1 +0x1.54380ep-8 +-0x1.105c2ap-2 +-0x1.97cf5ep-1 +0x1.6c7ac6p-1 +0x1.6206cep-1 +-0x1.d46dc4p-1 +-0x1.343318p-1 +-0x1.d53832p-1 +0x1.b8dd7p-2 +0x1.4874bap-2 +-0x1.7c8b9p-1 +0x1.abc31ep-2 +-0x1.6dc26p-2 +-0x1.99df3p-1 +0x1.beb202p-1 +-0x1.cf8768p-1 +0x1.3509dp-3 +0x1.8dabe2p-2 +0x1.89563ep-2 +0x1.41e1ccp-2 +-0x1.bb2d1cp-1 +0x1.acc1e4p-2 +-0x1.09f05p-3 +0x1.0b0dbp-4 +-0x1.3ec40cp-2 +0x1.d08b68p-1 +-0x1.3d096ap-6 +-0x1.32ef48p-2 +0x1.a506aep-3 +-0x1.711fe8p-5 +-0x1.030fbcp-2 +0x1.5b9218p-1 +-0x1.64a524p-1 +-0x1.cedeep-1 +0x1.584732p-5 +-0x1.a794c4p-1 +-0x1.befe92p-2 +0x1.183f8ep-2 +0x1.702f9ep-1 +-0x1.5b4a8ep-1 +-0x1.a28782p-1 +-0x1.6a13d2p-1 +0x1.bf6546p-3 +0x1.0073b4p-4 +-0x1.deccb4p-1 +0x1.b5063cp-2 +-0x1.ac5358p-3 +-0x1.d0c886p-3 +0x1.510a16p-6 +-0x1.089694p-2 +0x1.b1c1cap-4 +-0x1.21983ap-2 +-0x1.fcebaap-1 +0x1.b7819ap-3 +0x1.c4abcep-1 +0x1.a28e44p-3 +-0x1.625d3p-2 +0x1.e79b2ap-2 +-0x1.801f4ap-1 +0x1.4451fp-1 +-0x1.6c0f72p-6 +0x1.6c6fccp-1 +0x1.1b806ep-1 +0x1.19bf5ep-1 +-0x1.cb2824p-1 +-0x1.240536p-1 +0x1.04395ep-2 +-0x1.2c1086p-1 +-0x1.1a6464p-1 +0x1.8f5974p-1 +0x1.9c6d24p-2 +0x1.2c51a8p-2 +0x1.3926d8p-3 +0x1.43939ep-1 +0x1.2b5fep-1 +0x1.0914a6p-2 +0x1.87eb6p-2 +0x1.5534f8p-3 +0x1.78175cp-2 +0x1.80945ep-3 +-0x1.a8cdaap-1 +0x1.f5b0cap-1 +-0x1.e7061ap-1 +-0x1.323af2p-2 +0x1.8d033ap-1 +-0x1.a1a074p-1 +0x1.50cc42p-4 +-0x1.f56e5ep-1 +0x1.3859dap-1 +0x1.73203cp-1 +-0x1.8adde6p-1 +-0x1.d557aep-4 +0x1.36e46ep-3 +-0x1.82625ep-1 +0x1.27b778p-5 +-0x1.3d6d94p-1 +-0x1.11e906p-1 +-0x1.1272d2p-1 +-0x1.a20858p-3 +0x1.d7b7b4p-1 +0x1.026db4p-3 +-0x1.4415dep-3 +-0x1.6bd5fep-1 +-0x1.3eeddcp-1 +0x1.ef4876p-2 +-0x1.a8f258p-4 +0x1.cf31d4p-1 +0x1.93610cp-2 +0x1.aa1f66p-1 +0x1.9f23a2p-1 +-0x1.b36abep-1 +0x1.f213b8p-1 +-0x1.a1dee8p-6 +0x1.398bap-2 +0x1.00b7aep-1 +0x1.9f3cfep-2 +0x1.f42e1p-1 +0x1.b164eap-3 +0x1.180e6ap-6 +0x1.f5a14p-1 +-0x1.71d1acp-1 +0x1.f91f22p-1 +0x1.2605d6p-1 +0x1.b6c86ap-5 +0x1.e4a268p-1 +-0x1.2988d8p-1 +-0x1.35c038p-1 +-0x1.a13dp-6 +-0x1.ecfbaep-6 +0x1.312e62p-3 +0x1.253956p-11 +0x1.9f22e2p-2 +-0x1.c073cap-3 +0x1.1633b2p-1 +0x1.63fdep-2 +0x1.3bf4p-3 +-0x1.242928p-2 +0x1.b44f6p-1 +0x1.35ef8ep-1 +0x1.9fb5c8p-2 +0x1.01263ep-3 +-0x1.8721f6p-4 +0x1.ebb986p-1 +0x1.83579p-9 +-0x1.3b002ap-1 +-0x1.a9d384p-1 +0x1.dee24p-3 +-0x1.bcc2fep-2 +0x1.e780e2p-1 +-0x1.59a9d8p-1 +0x1.c8e7cp-1 +-0x1.971e8ap-1 +-0x1.3e7cp-2 +0x1.690544p-1 +-0x1.907804p-1 +-0x1.035bbcp-3 +-0x1.77b7e2p-2 +0x1.960254p-1 +0x1.c92d5ep-1 +0x1.778b94p-2 +-0x1.1e135ep-3 +0x1.05222ep-4 +-0x1.0de9b4p-1 +-0x1.347082p-1 +-0x1.5385f2p-2 +-0x1.51c38ep-1 +-0x1.4d56cp-5 +-0x1.42e7c6p-3 +-0x1.84188p-1 +0x1.aec9e6p-6 +0x1.2f83cap-3 +0x1.e70aeep-2 +-0x1.5a1c98p-1 +-0x1.ed119p-1 +-0x1.792fd2p-3 +0x1.488072p-1 +-0x1.e435bep-2 +-0x1.e5248cp-1 +0x1.2ea91cp-1 +-0x1.e1e722p-3 +-0x1.ecafbap-1 +0x1.470b16p-4 +0x1.b2dfp-1 +0x1.55c7e8p-1 +0x1.15b1c8p-2 +0x1.40862ap-4 +0x1.779c56p-2 +0x1.a50c3ap-5 +0x1.69e272p-2 +-0x1.45019ep-4 +-0x1.837116p-2 +0x1.ce6a22p-1 +0x1.e60fc4p-3 +-0x1.ba4f24p-1 +0x1.bef6acp-2 +-0x1.f08f32p-3 +-0x1.827efp-2 +-0x1.814518p-1 +0x1.929f7cp-2 +-0x1.2e62cap-3 +0x1.5346b2p-1 +-0x1.c2ed34p-1 +-0x1.57d97cp-1 +0x1.10a0b6p-1 +-0x1.a6b60cp-1 +-0x1.4227d8p-2 +0x1.dd2db8p-2 +0x1.8056fep-2 +0x1.37607cp-1 +0x1.19088cp-4 +0x1.38788p-3 +-0x1.eb8fd8p-3 +-0x1.bb9c34p-1 +-0x1.2d2828p-1 +-0x1.570e66p-1 +0x1.c9fd3ep-3 +0x1.0c8e26p-2 +-0x1.edacfap-2 +-0x1.5610aap-1 +0x1.fe6076p-2 +-0x1.d4a8e2p-1 +0x1.758646p-1 +0x1.497618p-1 +0x1.16fa72p-1 +-0x1.68cf94p-1 +0x1.dd48e8p-1 +0x1.a3e3cep-3 +-0x1.9f8c44p-3 +0x1.18f89p-1 +-0x1.cffd5ep-1 +-0x1.767098p-2 +-0x1.903302p-3 +-0x1.82e444p-3 +0x1.a057cep-2 +-0x1.e66dp-1 +-0x1.682f24p-1 +-0x1.766988p-2 +-0x1.acae66p-3 +-0x1.476986p-2 +0x1.491dap-3 +-0x1.81507p-4 +-0x1.b466fap-1 +0x1.ac55ep-1 +-0x1.0c3b9p-2 +0x1.a5e5b4p-2 +-0x1.0565e8p-1 +0x1.6da238p-3 +0x1.d03644p-1 +-0x1.8801d6p-4 +-0x1.cbb29ep-2 +0x1.09dc7p-1 +0x1.3fb3c8p-1 +0x1.d2e5c4p-10 +0x1.334c7cp-2 +-0x1.de456ep-7 +-0x1.8672ep-1 +0x1.613f9p-5 +-0x1.171feap-3 +0x1.dd5d3ep-1 +-0x1.ddd8a4p-1 +0x1.2a88e4p-2 +-0x1.ea24dap-4 +0x1.4c6a14p-3 +-0x1.77183cp-4 +0x1.56d51p-1 +0x1.2e8bcap-1 +0x1.7c2a16p-2 +-0x1.c3f246p-2 +0x1.396a3cp-1 +0x1.98d18ep-1 +-0x1.8617ecp-1 +-0x1.22c696p-2 +-0x1.91ecfp-3 +-0x1.40d1fep-1 +-0x1.9f4856p-1 +0x1.cc14ecp-1 +0x1.82a1cp-1 +0x1.5eaffap-4 +-0x1.242f7ap-2 +-0x1.4b33fap-3 +0x1.400132p-2 +0x1.6bfb34p-1 +0x1.3f6eacp-1 +0x1.932adcp-2 +-0x1.02805ap-2 +-0x1.e179cap-4 +-0x1.9c15e2p-1 +0x1.934bbap-1 +-0x1.8f4b3p-3 +0x1.1b5cd6p-2 +-0x1.815aa6p-1 +-0x1.0a4938p-4 +-0x1.17224ep-3 +0x1.7396b8p-2 +-0x1.cd1762p-1 +0x1.13399ap-2 +0x1.09b222p-4 +0x1.0ad204p-3 +-0x1.e96f94p-3 +-0x1.21e5d8p-1 +0x1.3a96fcp-1 +-0x1.fea528p-8 +-0x1.93dc6ap-2 +0x1.0090ccp-1 +-0x1.e54f08p-3 +0x1.93680ep-2 +-0x1.220a6p-2 +-0x1.5ef9ecp-2 +0x1.71cdb6p-1 +-0x1.0e4394p-3 +0x1.0b150cp-1 +0x1.d86p-3 +-0x1.e6a31ap-1 +-0x1.824a66p-2 +0x1.1e75dap-4 +-0x1.a497dcp-1 +-0x1.df678ep-1 +-0x1.3c8536p-1 +0x1.da074p-1 +-0x1.0ff5d6p-6 +-0x1.be0fe2p-4 +0x1.f4742cp-1 +-0x1.d22bd2p-1 +0x1.a5a752p-2 +0x1.5be09ap-1 +-0x1.d20e7ap-1 +0x1.403e76p-1 +0x1.104162p-1 +-0x1.abe65p-1 +-0x1.39dd92p-2 +-0x1.69653ap-1 +0x1.65c3ecp-1 +-0x1.6c4d78p-3 +0x1.a5fa1ap-3 +-0x1.4db598p-7 +0x1.2fb322p-5 +-0x1.6216cep-3 +0x1.f64fep-1 +-0x1.b906b8p-1 +-0x1.2bec9ap-1 +0x1.e6ec08p-4 +0x1.7d2cd4p-3 +-0x1.e5d9a4p-3 +0x1.0b7494p-6 +0x1.fb9f86p-2 +-0x1.3174c6p-2 +0x1.fcc562p-3 +0x1.052202p-4 +-0x1.b6f2a2p-2 +0x1.e03904p-4 +0x1.8822dp-4 +-0x1.3ca64cp-4 +0x1.cf36e6p-1 +-0x1.63b056p-1 +0x1.b4e004p-2 +-0x1.85ff26p-4 +-0x1.7d722ep-2 +0x1.d86dbcp-1 +0x1.3a52dcp-1 +-0x1.21833ap-2 +0x1.4e1964p-3 +0x1.a93094p-2 +-0x1.1026fep-1 +0x1.2b118p-4 +-0x1.1663b2p-2 +0x1.64f32ap-2 +-0x1.a6deccp-1 +-0x1.67ce64p-3 +-0x1.23404p-5 +-0x1.1ef83ap-1 +0x1.99a394p-4 +-0x1.9efbdp-2 +0x1.e0996ap-1 +-0x1.e6e4a4p-1 +-0x1.0b67a4p-9 +-0x1.a8496ap-1 +-0x1.8d426p-2 +0x1.2fee8ep-1 +0x1.2784b4p-1 +-0x1.fa3b2p-3 +0x1.5f32acp-2 +-0x1.d1bb1p-1 +-0x1.b9e65cp-3 +-0x1.ccdc52p-1 +-0x1.6dbe7p-3 +0x1.833ffep-7 +0x1.c0d506p-2 +-0x1.06c048p-3 +0x1.b0c532p-9 +-0x1.ee5ba6p-2 +-0x1.669786p-1 +0x1.6c7834p-1 +-0x1.3b4d8ap-1 +0x1.f9fb84p-1 +0x1.3b1e32p-2 +-0x1.18f584p-1 +0x1.24c60ap-2 +-0x1.ae3ccap-2 +-0x1.413f56p-1 +-0x1.918bcp-5 +-0x1.d2fc44p-1 +0x1.8e35ep-1 +0x1.8f68fep-1 +0x1.869b1p-2 +-0x1.3e027ep-1 +-0x1.113a0ap-1 +-0x1.d382c8p-1 +0x1.7880f4p-2 +-0x1.9719cap-3 +0x1.ea1f6ep-4 +-0x1.967b84p-3 +-0x1.7cfb5cp-4 +0x1.c80844p-2 +-0x1.a72e46p-2 +-0x1.6ef64cp-2 +0x1.1f6f5ap-3 +-0x1.52cf36p-4 +0x1.081ab8p-2 +0x1.9154e8p-1 +0x1.ac463ap-1 +-0x1.035bf2p-3 +0x1.65041cp-3 +-0x1.e37864p-3 +-0x1.16998cp-2 +-0x1.e547c2p-1 +0x1.1ed26ap-3 +-0x1.23c3dap-1 +-0x1.4c64c6p-1 +-0x1.d6a0b4p-2 +0x1.22d2d8p-3 +-0x1.4c8e62p-1 +-0x1.e7c096p-1 +-0x1.a6a27ep-2 +0x1.e44526p-1 +0x1.c0265p-1 +-0x1.49c292p-1 +-0x1.3f3e2p-4 +0x1.08e6a2p-2 +0x1.dbb2a8p-3 +0x1.86b462p-3 +-0x1.59eddp-6 +0x1.4b4d1ap-3 +-0x1.80e5e2p-1 +0x1.e35056p-1 +-0x1.ce3404p-2 +0x1.f916fp-3 +-0x1.e1bb82p-1 +0x1.ea0ff4p-5 +0x1.923c72p-4 +0x1.bb144cp-1 +-0x1.f4856p-2 +0x1.d4cafp-2 +0x1.563868p-1 +-0x1.b712cap-3 +0x1.1f2cd4p-3 +0x1.ed4bep-4 +-0x1.a29e18p-5 +0x1.ef3d48p-2 +-0x1.805298p-2 +-0x1.917cap-2 +0x1.3c4184p-1 +-0x1.693846p-1 +-0x1.2fb6b6p-5 +-0x1.59853ep-1 +0x1.611128p-2 +-0x1.18f7cep-3 +0x1.351d76p-1 +-0x1.43c3bep-1 +0x1.4c8bb2p-1 +0x1.84bcbep-2 +0x1.36e69ep-1 +-0x1.fff164p-6 +0x1.640ff6p-1 +-0x1.c1eb62p-5 +-0x1.bd3504p-3 +-0x1.653e88p-1 +-0x1.7eba16p-4 +-0x1.8089eap-3 +-0x1.c3a19p-2 +0x1.70dfb4p-1 +0x1.38adbap-3 +-0x1.06c1eep-3 +-0x1.195a4p-2 +0x1.1f8a58p-2 +-0x1.954db8p-2 +0x1.2acabp-1 +0x1.838bdcp-2 +0x1.28b1d2p-5 +-0x1.97e0cep-1 +-0x1.83a86p-1 +-0x1.d6da1ap-3 +0x1.8089fp-2 +-0x1.9d9402p-5 +-0x1.67befp-1 +0x1.ba7dp-3 +0x1.6f2d8ap-2 +-0x1.4e682ep-1 +-0x1.866034p-4 +-0x1.a8b234p-1 +0x1.ad9e5p-1 +0x1.af3ba6p-3 +-0x1.fcf444p-1 +-0x1.0e877ap-2 +0x1.734c78p-1 +-0x1.cf1bfep-1 +0x1.7dd1d6p-1 +-0x1.9bc726p-1 +-0x1.1fb62ep-3 +-0x1.472b8p-3 +-0x1.20315p-3 +0x1.12db8p-1 +0x1.67076ap-1 +0x1.cc825p-2 +0x1.abc4a2p-4 +-0x1.76773ap-3 +0x1.6e30ccp-2 +-0x1.28162cp-1 +0x1.8ba3eap-3 +0x1.3f45a6p-1 +-0x1.ea412cp-1 +-0x1.9167ep-1 +-0x1.32a484p-2 +0x1.8ca0d4p-3 +-0x1.70c6f6p-3 +0x1.b8b6fep-1 +0x1.fcdcdp-2 +0x1.8b66eap-2 +-0x1.a56e6ep-1 +0x1.91a188p-1 +0x1.3c5eacp-2 +0x1.9d2082p-2 +-0x1.505e1ep-1 +0x1.add1eap-4 +-0x1.3c19b4p-4 +-0x1.bfe59ep-3 +-0x1.091168p-2 +-0x1.1bc38ep-1 +0x1.46b33p-4 +-0x1.95dc2p-5 +-0x1.fb3326p-3 +-0x1.d185f6p-1 +-0x1.c869cap-1 +-0x1.e53b7ep-1 +0x1.f839c8p-1 +0x1.6f2fcep-1 +-0x1.00b57ap-1 +-0x1.e7e88ap-6 +-0x1.27dfbap-2 +0x1.3878b8p-8 +0x1.edc938p-1 +0x1.b64246p-4 +-0x1.f5fcaap-3 +0x1.ea6d8ep-1 +-0x1.e4fa9ep-4 +0x1.c3a32ap-1 +-0x1.89206p-1 +-0x1.b55afep-3 +-0x1.7c2908p-1 +-0x1.6cbe98p-3 +-0x1.6538dp-2 +-0x1.f0a1b6p-1 +-0x1.487e82p-1 +0x1.3a04b8p-2 +0x1.8a6064p-3 +0x1.a5ae94p-1 +-0x1.edd54p-3 +0x1.5d5d26p-1 +0x1.bde41ap-1 +0x1.6afdfap-5 +0x1.9bf9a6p-2 +0x1.fdd15ep-1 +-0x1.c96814p-1 +0x1.108462p-1 +0x1.aa35d4p-1 +-0x1.93b554p-2 +0x1.4e87d4p-3 +0x1.d8c21cp-1 +-0x1.58121p-1 +0x1.70b79cp-1 +0x1.0e317cp-4 +0x1.7edad4p-1 +-0x1.46dc0cp-1 +-0x1.a9daf2p-3 +0x1.ab4d3p-1 +-0x1.0d69b2p-2 +0x1.921c36p-1 +0x1.7f549cp-1 +-0x1.ad1684p-2 +0x1.04d87p-3 +0x1.4175f4p-1 +-0x1.b02c6ep-2 +0x1.34764cp-1 +0x1.211886p-4 +-0x1.423874p-2 +-0x1.4a6c2ap-1 +0x1.fee6fcp-1 +-0x1.8be5fep-1 +-0x1.936aeap-1 +-0x1.dabe96p-2 +-0x1.42dc8p-5 +-0x1.e3ffp-1 +0x1.f88cd4p-5 +-0x1.28b77p-1 +-0x1.269186p-2 +-0x1.969f38p-1 +-0x1.211d6ap-3 +0x1.c8beaep-3 +0x1.fa3626p-1 +-0x1.8f086ap-1 +0x1.f36eeep-2 +0x1.4fc9ccp-1 +0x1.742036p-1 +0x1.e226f8p-1 +-0x1.2a628ap-1 +-0x1.ecf65cp-3 +0x1.62cadap-3 +-0x1.06112ep-1 +0x1.991d78p-1 +0x1.7e78bp-2 +0x1.d48d8p-3 +0x1.3894ecp-2 +-0x1.7b85dap-1 +-0x1.1d42d6p-1 +0x1.42df24p-4 +0x1.d957b4p-1 +0x1.5da97p-4 +0x1.39ded4p-1 +0x1.8de0dap-1 +0x1.6d4a02p-1 +-0x1.4d8d44p-1 +-0x1.b0a64ep-5 +0x1.533eecp-2 +0x1.eb2612p-2 +-0x1.b4668p-2 +0x1.6aa1e6p-3 +0x1.10b602p-3 +0x1.56a3dcp-4 +0x1.f010c6p-1 +-0x1.18296ep-3 +-0x1.3d588cp-3 +-0x1.d6ad6cp-2 +0x1.258972p-2 +-0x1.c7ee5p-2 +0x1.1c1918p-1 +-0x1.ceb3d2p-2 +0x1.cfcc56p-4 +0x1.e17602p-1 +0x1.e5afa4p-1 +0x1.7fb174p-2 +0x1.a8514ap-1 +-0x1.4fe372p-2 +-0x1.25bc6p-2 +-0x1.e8715cp-1 +-0x1.a59092p-2 +0x1.2641cap-1 +0x1.3f51eep-1 +0x1.d3a86p-5 +0x1.39f04ep-2 +-0x1.e6488p-3 +0x1.fdab36p-4 +0x1.d1237p-2 +0x1.6718eep-1 +-0x1.119026p-1 +0x1.76ff3cp-2 +-0x1.f781f8p-3 +-0x1.3a0382p-4 +0x1.7f800ep-1 +0x1.783d0cp-1 +0x1.53946p-2 +-0x1.98772p-1 +-0x1.fb7a0ap-2 +0x1.04c55ep-2 +0x1.73c68p-2 +-0x1.18c604p-1 +-0x1.f9e446p-2 +-0x1.93e5d2p-2 +0x1.4357fap-1 +-0x1.4f73ep-2 +0x1.0662aap-3 +-0x1.9aefc2p-1 +0x1.824eb4p-1 +0x1.56029p-1 +0x1.9a130cp-4 +-0x1.10bb6p-2 +0x1.3f1d4ep-5 +0x1.698d34p-1 +0x1.3dfe18p-1 +-0x1.bcdb64p-1 +-0x1.584ccep-3 +-0x1.6dc28p-2 +0x1.eb303cp-1 +-0x1.016d02p-5 +-0x1.29eb78p-2 +-0x1.0abdfp-1 +0x1.629ee4p-2 +0x1.60b556p-2 +0x1.76939p-3 +0x1.3eeea6p-5 +-0x1.40c59ap-1 +0x1.7eef2ap-1 +0x1.dd0da6p-2 +0x1.82373p-1 +-0x1.215062p-1 +0x1.101aaep-1 +-0x1.c3f56ap-1 +0x1.06315cp-1 +-0x1.f7737cp-5 +0x1.095e7ap-6 +0x1.785b34p-4 +0x1.abab9p-4 +-0x1.1e1a08p-3 +0x1.40ed04p-1 +-0x1.4126d2p-2 +-0x1.3c323ep-1 +0x1.c07c7ap-1 +0x1.fa5928p-1 +-0x1.07097ap-4 +-0x1.c893aep-3 +0x1.43efcap-3 +0x1.c5e45ap-2 +0x1.6b683ep-2 +-0x1.e899fap-2 +0x1.6abacap-5 +0x1.2a368p-1 +0x1.fb1c5cp-2 +0x1.45948ap-4 +0x1.188cd6p-3 +-0x1.a6f2f2p-7 +-0x1.2bfef2p-1 +-0x1.076554p-1 +-0x1.4afc24p-1 +0x1.41eadep-1 +-0x1.c263bcp-1 +-0x1.3aac8p-3 +0x1.2c4326p-2 +0x1.761eb4p-2 +0x1.6984f6p-2 +-0x1.c6582ep-3 +-0x1.96d294p-1 +-0x1.a093b2p-1 +-0x1.7c76fcp-2 +-0x1.2e06ecp-2 +-0x1.557626p-1 +-0x1.989724p-1 +0x1.06885p-1 +0x1.6af464p-1 +0x1.1aed4ap-2 +-0x1.5018e8p-2 +0x1.b20e9ep-4 +0x1.226cf4p-1 +-0x1.b523f4p-1 +-0x1.497826p-1 +-0x1.72217p-1 +0x1.c6fd6cp-1 +-0x1.2e4bc2p-1 +0x1.3d5676p-3 +0x1.0966cp-4 +0x1.f544fap-2 +-0x1.0b150cp-1 +-0x1.d65418p-2 +0x1.7e29cap-3 +0x1.8c2aep-1 +0x1.7f474ap-1 +-0x1.2e67b4p-2 +-0x1.dd913cp-2 +-0x1.fdc1dep-1 +0x1.d6aee4p-2 +-0x1.a29b7ap-2 +-0x1.8ffce8p-1 +-0x1.585b46p-3 +-0x1.efd218p-1 +-0x1.be9658p-6 +0x1.7ae996p-1 +0x1.aeaaf4p-4 +0x1.6d3ab8p-1 +0x1.9741fcp-1 +-0x1.9d3c86p-1 +0x1.01478ap-4 +0x1.4c925p-1 +0x1.bb245ep-1 +-0x1.aefa6ap-1 +-0x1.dc4632p-1 +-0x1.86204p-1 +-0x1.7db4a2p-3 +0x1.5ad30ap-2 +0x1.03105p-3 +0x1.5e4226p-5 +-0x1.2c24bap-1 +-0x1.ac2c6ep-2 +0x1.54107ap-2 +-0x1.0a295p-1 +-0x1.99e7e4p-1 +-0x1.585872p-2 +-0x1.c6fb0cp-1 +-0x1.bbd304p-1 +0x1.692926p-1 +0x1.a623aep-4 +-0x1.080956p-2 +0x1.1ecc82p-3 +0x1.6195fcp-2 +0x1.2a2b8ep-1 +-0x1.b2d0b6p-2 +0x1.cdac5ap-5 +0x1.e46d68p-2 +-0x1.269722p-2 +-0x1.8b090cp-2 +0x1.730522p-1 +0x1.84b302p-1 +0x1.22d6bp-4 +-0x1.9108fap-1 +0x1.fe4862p-2 +-0x1.04fffp-2 +-0x1.d641c8p-6 +-0x1.f9d3d6p-3 +-0x1.ee6296p-3 +-0x1.94a686p-2 +0x1.a7c516p-1 +0x1.7528ep-2 +0x1.86dca4p-3 +0x1.38018cp-1 +0x1.ca8ee8p-2 +0x1.231834p-1 +-0x1.dcdfa2p-1 +-0x1.ad60e6p-2 +0x1.f0ef8p-3 +0x1.02dfb2p-1 +-0x1.f4b12ep-1 +-0x1.c8731ap-1 +-0x1.4127aap-7 +0x1.d15714p-1 +0x1.6c4854p-3 +-0x1.0eaf5ap-2 +0x1.32953ap-2 +-0x1.e298a4p-3 +0x1.cc7238p-4 +-0x1.094404p-2 +0x1.11645ap-2 +0x1.fbafb2p-2 +-0x1.55bb2cp-1 +0x1.8a5b4ap-1 +-0x1.aa1fd4p-2 +0x1.ad6decp-1 +-0x1.3cbf2p-3 +0x1.d8a72ap-3 +-0x1.2ad9cap-1 +0x1.cb2c2p-1 +0x1.4eab5ep-10 +0x1.31225p-1 +-0x1.fdac8p-4 +0x1.8a862p-1 +0x1.b0afa8p-7 +-0x1.696bf8p-2 +-0x1.34a82cp-1 +0x1.43480cp-2 +-0x1.1279cap-1 +-0x1.cc733ep-1 +0x1.5b96b6p-1 +-0x1.012392p-2 +-0x1.0a1a6ap-1 +-0x1.aa7e14p-1 +-0x1.7d721ep-2 +-0x1.bdbb38p-3 +0x1.891188p-4 +-0x1.0bbad8p-4 +-0x1.28f5c6p-5 +0x1.8a425cp-2 +0x1.04b6cp-2 +-0x1.ef7e3ap-1 +-0x1.6d7c62p-2 +-0x1.f66592p-2 +0x1.b74e32p-3 +-0x1.40021ap-1 +-0x1.83b5e4p-2 +0x1.6371b4p-1 +-0x1.9f4dc6p-1 +-0x1.0ce498p-3 +0x1.1b0582p-2 +0x1.bac48cp-4 +-0x1.c0d9c8p-4 +0x1.0feff2p-3 +-0x1.d50a28p-1 +0x1.e9e4d6p-4 +-0x1.54162ap-2 +-0x1.fc6602p-1 +-0x1.d61d5ap-1 +-0x1.7dfbd6p-1 +-0x1.f2ad12p-6 +-0x1.b49d68p-1 +-0x1.e90b1ap-1 +-0x1.a6fa42p-1 +-0x1.454526p-1 +0x1.ffca9cp-4 +0x1.5afe8ap-2 +-0x1.54094cp-1 +0x1.8124ccp-1 +0x1.80e338p-4 +-0x1.45ae58p-5 +-0x1.44c552p-1 +0x1.9542f4p-2 +-0x1.6e1d56p-2 +0x1.513504p-1 +-0x1.e190cep-3 +0x1.a9a24ap-1 +0x1.2a102p-8 +-0x1.b79072p-1 +-0x1.488aeep-1 +0x1.e138c8p-3 +0x1.e69ap-1 +0x1.54f552p-2 +0x1.e600b8p-1 +-0x1.acf8a2p-2 +0x1.5d2dbap-1 +0x1.8c4cfap-2 +0x1.90c4c2p-1 +-0x1.a8b47p-1 +0x1.ac19bp-1 +0x1.329002p-2 +-0x1.a3b582p-1 +0x1.db9ffap-1 +0x1.424e8cp-4 +-0x1.255d46p-5 +-0x1.26b96p-4 +0x1.e7fd5cp-2 +0x1.b17e6ap-3 +0x1.cdd90ep-4 +0x1.dd3dbp-1 +-0x1.a1c03ep-1 +-0x1.8777d2p-3 +0x1.3683c8p-3 +0x1.18abeep-1 +-0x1.6a2fb6p-1 +0x1.9c994p-2 +-0x1.dd0cd2p-1 +-0x1.d4cb6p-2 +0x1.aca3c6p-1 +-0x1.6d0c6ep-1 +0x1.77f58ap-4 +0x1.1a4292p-1 +-0x1.3af6c2p-2 +0x1.a5f5e2p-1 +0x1.606b66p-1 +-0x1.d48072p-2 +0x1.2bd4fcp-1 +-0x1.8a5678p-2 +-0x1.5ab8p-1 +-0x1.babac2p-3 +0x1.26d7b6p-5 +0x1.76144cp-1 +-0x1.b63ffep-4 +-0x1.4fbc6ep-1 +-0x1.c9fb28p-7 +0x1.6ddf68p-4 +0x1.ff5b86p-4 +0x1.d316aep-4 +0x1.430bf2p-7 +-0x1.858ca4p-2 +0x1.fc3694p-1 +-0x1.1d770ep-2 +-0x1.032dc8p-2 +-0x1.7b042p-4 +-0x1.6584ep-2 +0x1.1dfed4p-3 +-0x1.ba50d2p-2 +0x1.e29c9cp-1 +0x1.92f14ep-2 +-0x1.39170ep-2 +-0x1.8693dp-1 +-0x1.15fa82p-2 +0x1.350d78p-6 +-0x1.e2708cp-2 +-0x1.507046p-1 +0x1.41e9dp-2 +0x1.f12d2ep-6 +-0x1.d56cf6p-2 +-0x1.285072p-2 +0x1.0539bap-5 +-0x1.2c7dccp-4 +0x1.3988e2p-1 +-0x1.8d67ecp-2 +0x1.9a32e2p-4 +0x1.810446p-2 +-0x1.271f4cp-1 +-0x1.de4e4p-2 +-0x1.139b1p-1 +0x1.8deb52p-1 +0x1.d9242ap-4 +-0x1.c44d82p-2 +0x1.5d55aep-1 +-0x1.48d04cp-3 +0x1.1fa8f8p-2 +0x1.c9e902p-2 +0x1.d2a224p-3 +0x1.e4044ap-2 +0x1.f8b7c4p-2 +0x1.84b452p-3 +0x1.0b6f22p-1 +-0x1.7938bcp-1 +0x1.a79e9p-2 +-0x1.0eb522p-2 +0x1.eaccf8p-1 +0x1.39043p-1 +-0x1.511bb6p-1 +0x1.32dee4p-2 +0x1.3b00aap-1 +0x1.6e4fd8p-1 +-0x1.97dfc2p-3 +-0x1.51acaap-3 +0x1.2ae8p-4 +-0x1.a4ebb4p-1 +0x1.334a7cp-1 +0x1.93059ep-1 +-0x1.2767cp-5 +-0x1.08178ep-1 +0x1.f5bd7ap-5 +-0x1.fe54fp-4 +0x1.4a0bc8p-3 +-0x1.48c1aep-2 +-0x1.60dae6p-2 +0x1.e70664p-1 +-0x1.e5afbcp-1 +-0x1.7e4222p-1 +-0x1.6b5f68p-2 +-0x1.116522p-1 +0x1.a468ecp-5 +-0x1.4413d6p-4 +0x1.b61754p-1 +-0x1.b947ep-2 +0x1.977b76p-2 +-0x1.8b6dcap-3 +0x1.991f4cp-1 +0x1.012dd6p-1 +-0x1.8af3b8p-2 +0x1.9b817ap-3 +0x1.094b6ep-1 +-0x1.a4ad3p-1 +0x1.e40b96p-4 +-0x1.e0c792p-2 +0x1.971a6ep-2 +-0x1.9cdffcp-2 +-0x1.7f64dep-4 +-0x1.bc3d0ep-1 +-0x1.5fc30ep-1 +-0x1.394386p-1 +0x1.9697c6p-1 +-0x1.e3f9c8p-6 +-0x1.f1f844p-3 +-0x1.dea8dp-3 +0x1.32a8ccp-1 +-0x1.085624p-2 +-0x1.40cc2ep-1 +0x1.979e58p-1 +0x1.22277cp-1 +-0x1.88ea7ep-1 +0x1.e6c3bp-3 +0x1.a29236p-5 +-0x1.0c3142p-6 +0x1.5c4d26p-1 +0x1.bb92eap-1 +0x1.fae364p-4 +-0x1.d8c938p-5 +0x1.769c0ap-2 +-0x1.6666p-1 +0x1.53c884p-3 +0x1.7081dep-1 +-0x1.b75cd6p-3 +0x1.c6c63p-2 +0x1.9550b2p-2 +0x1.d576a6p-1 +0x1.68731ap-2 +0x1.178244p-1 +-0x1.936702p-6 +-0x1.324f32p-2 +-0x1.44c8d8p-1 +-0x1.13235ap-2 +-0x1.3591p-3 +0x1.7f7ee4p-3 +-0x1.56a414p-5 +-0x1.b28e1p-4 +-0x1.56b4b8p-1 +0x1.269a2ap-2 +0x1.5c25b8p-2 +-0x1.52467cp-2 +0x1.a97814p-1 +-0x1.6ad65cp-2 +-0x1.8b3d6cp-2 +-0x1.42b04p-2 +-0x1.7c9dfep-1 +-0x1.4cfbf8p-1 +0x1.01cf98p-1 +-0x1.4580a4p-1 +0x1.f863aep-2 +-0x1.276972p-2 +-0x1.b80c5ep-1 +-0x1.1d73eep-2 +0x1.b31d0ep-2 +0x1.82165p-3 +-0x1.e62d7ep-1 +-0x1.7fafcap-3 +-0x1.b10432p-1 +0x1.5d39bap-6 +-0x1.814adcp-1 +0x1.007b54p-1 +-0x1.d7f8bap-3 +0x1.1e4004p-1 +0x1.cf7be2p-3 +-0x1.edec2ap-1 +0x1.2787eep-1 +-0x1.e0ce2p-2 +0x1.9603cep-5 +-0x1.91869ep-1 +0x1.ed10f8p-2 +0x1.982de6p-3 +-0x1.10e77ep-2 +-0x1.b1b6a8p-1 +0x1.192082p-2 +0x1.57a158p-2 +-0x1.3ccdbp-1 +0x1.6f2f0cp-5 +0x1.afcdbp-1 +0x1.630dacp-4 +0x1.970d5p-2 +-0x1.2c4212p-1 +0x1.f58ab6p-2 +0x1.d318ccp-2 +0x1.bdd0acp-2 +-0x1.7839bap-1 +-0x1.b0f21p-2 +-0x1.426bbap-1 +0x1.27fc8p-1 +-0x1.d9ecd6p-2 +0x1.f6fd38p-2 +-0x1.c6376p-2 +0x1.5d9d62p-1 +0x1.985deep-1 +-0x1.0b836ap-1 +-0x1.15fb08p-1 +-0x1.4f572p-1 +-0x1.c17998p-1 +-0x1.825968p-1 +-0x1.2dfec2p-2 +0x1.86b9d4p-1 +0x1.31593ap-3 +-0x1.cdb44cp-1 +-0x1.40301ep-4 +-0x1.6cb2e2p-2 +-0x1.625ccep-1 +-0x1.c039bcp-1 +-0x1.fab4a4p-2 +-0x1.6b0ae4p-2 +-0x1.32bdc2p-2 +-0x1.d95bf2p-1 +0x1.709326p-2 +0x1.ac93a2p-2 +0x1.742a06p-1 +-0x1.6cc9cp-2 +0x1.a12496p-2 +0x1.6a112ap-1 +0x1.bfd71p-2 +0x1.be81aap-3 +0x1.0966e6p-4 +-0x1.b4c844p-2 +0x1.241202p-1 +0x1.ad5c7ap-1 +-0x1.d2e134p-1 +-0x1.65d80cp-2 +-0x1.2d790cp-1 +-0x1.72e49ap-1 +-0x1.3e616p-1 +-0x1.4d1eacp-3 +-0x1.cf9ff2p-1 +-0x1.1205fcp-1 +-0x1.6705acp-1 +-0x1.049f02p-1 +0x1.079dp-2 +0x1.3c0b02p-2 +-0x1.6f31aap-1 +0x1.52f99ep-3 +0x1.008424p-4 +-0x1.1e1136p-4 +0x1.b536fp-1 +0x1.fcf3a6p-2 +-0x1.6ff716p-1 +0x1.4205p-1 +0x1.98e072p-7 +-0x1.69192p-3 +0x1.40a784p-3 +-0x1.63757ep-3 +-0x1.cfa6fap-5 +0x1.025cfep-1 +0x1.dc329ep-4 +-0x1.80456p-1 +-0x1.f7adf8p-1 +0x1.f8472cp-2 +0x1.a4ef6p-2 +-0x1.8123ap-1 +0x1.5387fcp-1 +-0x1.80dc1cp-1 +0x1.50ab5cp-2 +0x1.7ca938p-3 +-0x1.524fd4p-3 +0x1.44580cp-1 +0x1.bcf5e6p-1 +-0x1.ec2f52p-1 +-0x1.d881cep-4 +0x1.b8cf6ep-2 +0x1.5e4d8ep-4 +-0x1.544a1ap-2 +0x1.e67a48p-3 +0x1.c4edfap-1 +0x1.6b2ddap-3 +-0x1.a8b95ep-2 +-0x1.83ff64p-1 +0x1.de453ep-3 +-0x1.70b986p-1 +-0x1.a139p-4 +0x1.83719cp-1 +-0x1.a4349cp-1 +-0x1.ed06dap-4 +-0x1.414838p-3 +0x1.fd17bep-1 +0x1.0fdaap-2 +0x1.8bdbe2p-4 +0x1.9a65a4p-1 +-0x1.7f251p-2 +-0x1.3b1f2p-1 +-0x1.345fb2p-2 +-0x1.75771ep-2 +-0x1.11c84p-1 +-0x1.ec1426p-3 +0x1.0dcb3cp-1 +-0x1.01df0ep-1 +-0x1.5583c6p-2 +-0x1.7534bcp-2 +0x1.65f932p-1 +0x1.650ac4p-3 +0x1.f4a996p-1 +-0x1.b65fbcp-1 +-0x1.ed015cp-2 +0x1.530258p-2 +0x1.244d38p-1 +0x1.a5d93cp-1 +-0x1.f3cddap-1 +0x1.e19df6p-1 +-0x1.05c686p-1 +0x1.27d0aep-4 +-0x1.a02df8p-3 +-0x1.fdcf44p-4 +-0x1.dc0e3cp-5 +0x1.8d0734p-7 +-0x1.a57daap-2 +0x1.11731cp-3 +0x1.8eb29cp-1 +0x1.1de422p-3 +0x1.5b00aap-2 +0x1.f487b6p-7 +-0x1.782854p-6 +-0x1.8cd066p-4 +0x1.13114ep-2 +0x1.5fd92cp-1 +0x1.d9bb68p-3 +0x1.000b24p-2 +0x1.5a9c8cp-1 +0x1.1272a4p-1 +-0x1.35b3bcp-2 +-0x1.4226dep-1 +-0x1.77c05ap-5 +-0x1.cb7f66p-2 +0x1.444f8ap-3 +-0x1.e456e6p-3 +-0x1.5078bcp-3 +0x1.478f2ep-1 +-0x1.e4a03cp-2 +0x1.c9f98ap-1 +0x1.4c1cbp-1 +-0x1.8efcep-2 +0x1.e82cap-1 +-0x1.50327ep-1 +0x1.5e3d5cp-1 +-0x1.34843cp-6 +0x1.74a86ap-1 +-0x1.9f4a8cp-3 +-0x1.c4cda8p-2 +0x1.0649dep-1 +-0x1.4ff7f4p-2 +-0x1.25e094p-1 +0x1.9a100cp-3 +-0x1.3e0974p-1 +0x1.12f872p-2 +-0x1.3c2e3p-6 +-0x1.1303f2p-2 +0x1.73c642p-4 +0x1.87c68cp-1 +0x1.d69c54p-1 +-0x1.726e54p-1 +0x1.4db076p-1 +-0x1.6196ep-1 +-0x1.253e4ap-8 +-0x1.c14988p-1 +-0x1.0c6306p-2 +0x1.24901p-2 +0x1.0b59fp-2 +-0x1.51999p-1 +-0x1.5a031ep-1 +0x1.e7b494p-2 +0x1.0c4822p-6 +-0x1.165632p-5 +0x1.f02bc2p-3 +0x1.35c696p-1 +0x1.da738ap-4 +0x1.8e1484p-1 +-0x1.6cb9d2p-2 +0x1.d4056cp-7 +0x1.de8772p-3 +0x1.d3b5e4p-2 +-0x1.d8d57ap-1 +-0x1.b9934ap-3 +-0x1.b8475p-1 +0x1.48c178p-1 +0x1.3a66bap-2 +-0x1.fa27acp-2 +-0x1.a5a174p-3 +-0x1.4a664cp-2 +0x1.6ee766p-1 +-0x1.afc05ap-3 +0x1.ea1e56p-3 +0x1.8dcce4p-1 +-0x1.0a396cp-3 +0x1.4b760cp-1 +0x1.eeaab2p-4 +-0x1.e5cf22p-1 +-0x1.6a6b36p-2 +-0x1.0033ccp-2 +0x1.5d2b02p-2 +0x1.8053bp-1 +0x1.289d04p-1 +0x1.d79606p-2 +-0x1.1ae93ap-1 +-0x1.3216d4p-1 +-0x1.6d72c6p-1 +0x1.bbf7fap-1 +0x1.82e236p-8 +0x1.2d967p-1 +0x1.215beap-1 +0x1.c7bea2p-4 +0x1.e87f02p-2 +-0x1.0ed4d4p-2 +0x1.08d668p-1 +-0x1.df8234p-3 +0x1.0ca31ap-1 +-0x1.afa226p-3 +0x1.4e31p-2 +0x1.9da612p-1 +0x1.56cd32p-2 +0x1.78507ep-2 +0x1.5fdd7p-2 +-0x1.a40adcp-1 +-0x1.9a4966p-2 +-0x1.008704p-3 +-0x1.9050f6p-2 +0x1.9010a2p-1 +0x1.113376p-1 +0x1.4a4de4p-1 +-0x1.51fccep-1 +-0x1.9c2d8ep-5 +0x1.c44d68p-5 +-0x1.358e7ep-1 +-0x1.acda54p-2 +-0x1.df8aecp-2 +-0x1.3b618p-2 +-0x1.d35c08p-3 +0x1.c612p-1 +0x1.2c63ap-1 +0x1.ff5282p-4 +-0x1.27ad28p-9 +-0x1.43fe26p-1 +-0x1.e41d42p-5 +0x1.41956ap-1 +0x1.c9b73cp-2 +-0x1.c8012ap-1 +-0x1.2c1e6ap-5 +-0x1.fd5e6cp-2 +0x1.90c3f8p-1 +0x1.7d91fap-2 +-0x1.13ae64p-1 +0x1.c8a558p-1 +0x1.a6e46p-3 +-0x1.29d98cp-1 +-0x1.f21ac8p-1 +0x1.4cbf1ap-1 +-0x1.3a429ep-4 +-0x1.ce2242p-1 +-0x1.df6ddep-2 +-0x1.1a0e88p-1 +0x1.32057p-2 +-0x1.b4cdb4p-4 +-0x1.ed7486p-2 +0x1.6e2504p-2 +0x1.5b1e28p-2 +-0x1.e16a76p-1 +0x1.7ba948p-1 +-0x1.37e812p-2 +-0x1.5a43d4p-1 +-0x1.314f14p-2 +-0x1.c4746ep-1 +0x1.caa996p-2 +-0x1.8abcbcp-3 +0x1.0e8a9p-3 +-0x1.2abbdp-2 +-0x1.03e7d6p-1 +-0x1.6d9f5ap-1 +0x1.88090ep-5 +-0x1.adf2dcp-4 +-0x1.afae6cp-5 +0x1.82c66ep-1 +0x1.76212ep-3 +0x1.1e35aap-2 +-0x1.2d2b34p-2 +-0x1.74477ap-2 +-0x1.da68dap-1 +0x1.429f68p-5 +-0x1.7077ccp-1 +0x1.814d36p-1 +0x1.1d1dbcp-1 +0x1.b4bc74p-1 +0x1.fdb266p-1 +-0x1.e217b6p-2 +0x1.7d0b6cp-5 +0x1.a7dc66p-1 +0x1.350184p-3 +-0x1.0e739ap-1 +0x1.dcf0ecp-1 +0x1.711546p-1 +-0x1.a71018p-3 +-0x1.36131ap-1 +-0x1.b1d92ep-4 +0x1.1a168p-2 +0x1.fb5d1p-10 +0x1.801e5ap-1 +-0x1.c0fb3p-2 +-0x1.c4e0a6p-4 +-0x1.a688e2p-1 +0x1.b6c954p-1 +0x1.6db21ap-1 +0x1.5860f2p-1 +-0x1.361ab4p-3 +0x1.ed5bc4p-3 +-0x1.08eff4p-2 +-0x1.409854p-1 +0x1.4ad436p-4 +0x1.760fcap-2 +0x1.6165d2p-1 +0x1.b1a2ecp-1 +0x1.59aeb6p-1 +0x1.3e0b66p-1 +-0x1.36aa08p-4 +-0x1.7caf6ep-3 +0x1.52875p-2 +0x1.708586p-2 +0x1.b8151ap-1 +0x1.960ca4p-4 +0x1.957094p-1 +0x1.1d4dcap-1 +-0x1.5d579p-1 +0x1.8d8712p-1 +0x1.17824p-1 +0x1.d5753ep-2 +0x1.a561d6p-1 +-0x1.09297ap-5 +0x1.bc58ccp-2 +0x1.cf7dbep-1 +-0x1.2bfa2p-1 +0x1.71d9c4p-1 +-0x1.78931ep-2 +-0x1.3bffbp-2 +0x1.136d34p-2 +0x1.bd27aap-4 +-0x1.d97618p-1 +0x1.f827ap-1 +0x1.10a96p-2 +0x1.05827p-1 +0x1.27ca96p-3 +-0x1.002a76p-1 +0x1.0fe87ep-1 +0x1.975796p-1 +-0x1.bd8d2cp-1 +-0x1.d75468p-1 +-0x1.0df934p-3 +0x1.cf78b8p-4 +-0x1.ac4caep-6 +0x1.b3389ap-1 +0x1.3db378p-2 +-0x1.93fbc2p-2 +0x1.61b404p-1 +-0x1.859fc8p-5 +0x1.99ce8ap-2 +0x1.6aec3ap-2 +0x1.e9dd4ap-1 +-0x1.b9dbeap-1 +0x1.2c1cdcp-4 +-0x1.5bfccep-4 +0x1.ad2c34p-1 +-0x1.2cc216p-2 +-0x1.598eaap-4 +-0x1.9d4288p-2 +-0x1.4f40c8p-1 +0x1.4d5148p-1 +0x1.bfddf2p-2 +-0x1.343e0cp-7 +-0x1.0461c2p-1 +-0x1.c31b2cp-1 +0x1.51c0fap-1 +-0x1.15a3fap-3 +0x1.67eb9ap-2 +0x1.c5dd62p-2 +-0x1.0eee3ap-1 +0x1.ef12f8p-2 +0x1.8cf8aep-2 +-0x1.e0ecf6p-2 +-0x1.95cf66p-2 +-0x1.7b9b72p-2 +-0x1.4ec552p-2 +-0x1.489c9cp-4 +-0x1.8605a8p-1 +0x1.0b9704p-3 +0x1.9fda02p-1 +0x1.1a3fd4p-1 +-0x1.4e094ap-1 +0x1.ab276ep-6 +0x1.bdbf98p-1 +0x1.c487e4p-4 +-0x1.df6aacp-1 +-0x1.ff6ep-2 +-0x1.a6d1a2p-3 +0x1.19c348p-1 +-0x1.38178cp-1 +-0x1.c0cc26p-1 +0x1.063f28p-1 +0x1.c6aa88p-1 +-0x1.32c87ep-2 +0x1.ffaddep-1 +-0x1.05ffa8p-1 +-0x1.8a040ep-1 +0x1.3a9c5p-1 +0x1.7ec5ep-1 +0x1.37444ep-2 +0x1.22851p-1 +0x1.ce3f44p-1 +0x1.35badcp-1 +-0x1.41c6ep-1 +-0x1.6c41ccp-1 +-0x1.7565fap-4 +0x1.fd92cap-2 +-0x1.37986cp-3 +0x1.d57e7cp-5 +0x1.991d56p-1 +0x1.c0f4d8p-1 +-0x1.af780ap-1 +-0x1.91f064p-3 +0x1.846352p-1 +0x1.19f85ap-2 +-0x1.a43a84p-4 +-0x1.864d08p-3 +-0x1.93569ep-1 +0x1.0cb556p-1 +-0x1.7754cp-1 +0x1.82de4ap-2 +0x1.8c544p-2 +0x1.ee36fp-1 +0x1.1297bap-1 +-0x1.47d746p-2 +0x1.3aadbcp-1 +-0x1.bd928p-1 +-0x1.b13518p-3 +0x1.9ee15p-4 +0x1.2b7cd8p-1 +-0x1.1941fep-1 +0x1.c80c68p-1 +0x1.b281cap-2 +-0x1.ef3af6p-1 +0x1.d979eap-1 +0x1.25e01ep-3 +0x1.fa0fc2p-1 +0x1.0869cap-4 +-0x1.d6aa5ap-2 +-0x1.7b13e4p-1 +0x1.b66e3ap-3 +-0x1.932754p-2 +0x1.30f30cp-5 +-0x1.2f304ep-4 +-0x1.4713a4p-2 +-0x1.f94358p-2 +-0x1.a42354p-1 +-0x1.bb276ap-1 +-0x1.a0215p-1 +-0x1.6a97a2p-1 +-0x1.d17a3ep-1 +0x1.2f363p-1 +0x1.32a8eap-1 +-0x1.c99574p-2 +-0x1.1757fp-1 +-0x1.62cb58p-1 +-0x1.16410ep-2 +0x1.17a89ep-1 +0x1.f5385ep-2 +-0x1.a2d1d2p-1 +0x1.aac754p-1 +0x1.930bc4p-1 +0x1.12566cp-1 +-0x1.11f7a6p-3 +0x1.affc0ap-3 +0x1.f2be0ap-3 +0x1.4a4c52p-1 +0x1.0b3c1ap-3 +-0x1.8c5f16p-1 +0x1.269028p-2 +0x1.4fcd6p-1 +0x1.e0721ep-2 +-0x1.e29a44p-1 +-0x1.cb80f8p-2 +0x1.2c92aap-4 +-0x1.5e774ap-2 +-0x1.b078ap-1 +0x1.5d71d2p-1 +-0x1.f2c132p-1 +0x1.f7818ap-1 +-0x1.386052p-3 +0x1.cea122p-1 +0x1.c33f8cp-3 +-0x1.79e06p-1 +0x1.cc09ccp-3 +0x1.e0b9fap-4 +0x1.6fbeap-2 +0x1.715cacp-3 +0x1.a2bc9ep-3 +-0x1.997e2cp-3 +-0x1.7b7514p-3 +0x1.2718ecp-1 +0x1.806536p-1 +0x1.9579f6p-1 +0x1.3649p-2 +0x1.a0c47ap-8 +-0x1.09803p-1 +0x1.84fb0ep-1 +0x1.944694p-3 +-0x1.08e352p-2 +-0x1.2c4f3ap-1 +0x1.4904fcp-1 +-0x1.d03ef2p-8 +-0x1.8e288ep-1 +0x1.c2aa6p-3 +0x1.ff0a0cp-1 +-0x1.ddb1ecp-2 +-0x1.f82692p-3 +0x1.9197fp-1 +0x1.f12d86p-1 +0x1.bc2f0ap-3 +-0x1.725fc8p-1 +0x1.63774p-2 +0x1.9da178p-2 +-0x1.74fb4ap-2 +0x1.ac5c34p-3 +-0x1.995882p-1 +-0x1.7448d6p-1 +-0x1.633504p-2 +0x1.c9f1ccp-4 +0x1.28782cp-1 +0x1.9fa8f2p-2 +-0x1.2bf5c4p-1 +-0x1.0b75a8p-4 +0x1.6725acp-3 +0x1.77981ep-3 +-0x1.f701b8p-3 +-0x1.bca62cp-2 +0x1.8ec04cp-1 +0x1.bbf638p-1 +-0x1.a3fa38p-2 +-0x1.1af036p-2 +0x1.22f5cep-1 +0x1.d770c8p-3 +-0x1.42a6aep-6 +-0x1.27cb52p-7 +-0x1.f49ffap-2 +-0x1.0d3d4p-1 +0x1.5b1d56p-3 +-0x1.dd3e92p-5 +0x1.d5d6b2p-6 +-0x1.bd0e3ap-1 +0x1.a6ffb6p-6 +0x1.e6a5d2p-8 +-0x1.69a5bp-4 +0x1.1757b4p-2 +0x1.6b8eep-3 +-0x1.0809dap-1 +0x1.1981bcp-2 +0x1.ae3274p-1 +-0x1.acc7c2p-1 +-0x1.8ed5eap-1 +-0x1.9a2218p-1 +0x1.a060eap-2 +-0x1.3a59a4p-3 +-0x1.697f9ep-2 +-0x1.0d641ap-2 +-0x1.85cba2p-2 +-0x1.d786b2p-2 +0x1.d47afp-1 +0x1.12b882p-1 +-0x1.ee07e4p-6 +0x1.c0f588p-2 +-0x1.7a9e3cp-1 +0x1.dd7e58p-2 +0x1.f828d8p-5 +-0x1.53bf26p-1 +-0x1.268cbap-2 +-0x1.53064ep-1 +0x1.4ce786p-3 +-0x1.815ecep-4 +-0x1.f90246p-1 +0x1.802ce6p-2 +0x1.8bb20ap-2 +-0x1.946c8p-1 +0x1.4f8e1p-3 +0x1.673254p-2 +-0x1.98da12p-2 +-0x1.83eef6p-3 +-0x1.5be26ep-1 +0x1.5e6c4ap-6 +0x1.6486d4p-1 +-0x1.79675ep-6 +-0x1.f90ed4p-1 +0x1.1dbb46p-3 +0x1.50ccd4p-1 +-0x1.7c796cp-3 +0x1.2f5dbcp-1 +-0x1.10218ep-1 +-0x1.86e44cp-2 +0x1.58fe4ap-1 +0x1.0d92d8p-1 +-0x1.1f6c54p-1 +-0x1.b5c6eep-2 +0x1.81b8acp-3 +0x1.94b35ep-4 +0x1.1b785cp-2 +0x1.99ab9p-2 +-0x1.dd3e7cp-1 +0x1.00c328p-1 +-0x1.06b808p-3 +0x1.0081cep-1 +0x1.0a5854p-2 +0x1.7002ep-1 +-0x1.9ef988p-3 +0x1.f040f2p-1 +-0x1.dce424p-1 +-0x1.2b698cp-1 +-0x1.604c22p-1 +-0x1.9ead8p-3 +-0x1.7f25d2p-1 +-0x1.3ecb54p-2 +-0x1.42bd8cp-1 +-0x1.b5871p-2 +-0x1.0bcbep-1 +0x1.ad2f3cp-1 +-0x1.c4a34ap-1 +0x1.f1b6a4p-1 +-0x1.ccb27p-1 +0x1.be840ep-2 +0x1.abfd0ap-1 +0x1.73307cp-4 +0x1.ed7722p-1 +0x1.cc4adcp-1 +-0x1.d46c12p-3 +0x1.b84222p-1 +-0x1.14347ep-1 +0x1.94eaaap-1 +0x1.45921ep-1 +0x1.af247cp-5 +0x1.468842p-1 +0x1.4bfdcep-2 +0x1.dc22aep-2 +0x1.3ec044p-1 +-0x1.38e89p-3 +0x1.7f3136p-4 +-0x1.d8e5dp-1 +0x1.ba7a58p-3 +-0x1.0c70aap-2 +-0x1.ec3c46p-1 +-0x1.f6ca0cp-3 +-0x1.45c58p-3 +-0x1.c3de1ep-5 +0x1.e727dap-2 +0x1.abe67p-2 +0x1.6d5472p-1 +0x1.9842aap-2 +-0x1.fc3032p-1 +-0x1.986ebp-1 +0x1.153a18p-1 +-0x1.8b71bp-2 +0x1.e5599ap-4 +-0x1.ea8cbp-1 +0x1.f39e28p-1 +-0x1.15c314p-6 +-0x1.c518dcp-1 +-0x1.73992ap-3 +-0x1.1f0d6p-2 +-0x1.3bfd7ap-3 +0x1.6e0414p-2 +0x1.b2bdep-1 +0x1.5c346ap-6 +0x1.abee2p-2 +-0x1.01d77ep-1 +0x1.48755ep-1 +-0x1.9a52b4p-2 +0x1.fdafb2p-1 +-0x1.3d9a4ep-3 +-0x1.6755aap-1 +-0x1.f8795p-1 +0x1.ed03d4p-3 +0x1.a353a8p-1 +-0x1.6dc442p-2 +-0x1.cfbacep-3 +-0x1.8ccbbap-1 +0x1.7a187p-1 +0x1.da45a4p-2 +0x1.7875eap-1 +-0x1.383464p-2 +-0x1.0fb048p-1 +-0x1.20affcp-1 +0x1.948236p-1 +-0x1.5298e4p-4 +0x1.61acf8p-7 +0x1.72168ep-2 +-0x1.fad952p-2 +-0x1.d3401ap-2 +0x1.1d3854p-1 +-0x1.bfc83cp-3 +-0x1.3c511ep-2 +0x1.da9aaep-2 +0x1.04347ep-2 +0x1.494dbp-1 +0x1.e8026ap-1 +0x1.af76a2p-3 +-0x1.9c0b56p-1 +-0x1.16cd88p-1 +-0x1.3ac826p-1 +0x1.68324p-2 +-0x1.967134p-2 +-0x1.ab726p-3 +-0x1.eca38ap-4 +0x1.aba0c4p-2 +0x1.0819ccp-1 +-0x1.a5ea36p-1 +0x1.ecbf22p-1 +0x1.738008p-4 +-0x1.9000cp-2 +-0x1.478cbep-1 +0x1.8966a8p-4 +0x1.8b66c8p-1 +-0x1.440ac8p-1 +0x1.7c27ecp-3 +-0x1.bf9b0ep-1 +0x1.657f4cp-3 +0x1.c9b35ap-1 +0x1.a7c2fp-2 +-0x1.fca2dap-7 +-0x1.80889ep-4 +-0x1.692e5p-4 +-0x1.87bd2p-2 +-0x1.f45922p-2 +0x1.472382p-1 +-0x1.348664p-2 +-0x1.8ca434p-4 +0x1.27d64p-1 +0x1.3167e2p-9 +0x1.07b746p-1 +-0x1.2f7bfp-1 +0x1.f9f936p-1 +0x1.ba525p-3 +0x1.0f32a8p-1 +-0x1.4f203ap-4 +-0x1.0ffdf8p-1 +-0x1.c6576p-1 +-0x1.b2896ep-5 +0x1.574f6ap-3 +-0x1.ce691ap-4 +0x1.6279p-1 +-0x1.30c4bep-1 +-0x1.62648cp-2 +-0x1.1ac084p-3 +-0x1.bb56e2p-1 +0x1.ad3f74p-3 +0x1.442a24p-1 +0x1.93fc4cp-3 +-0x1.b963dap-2 +-0x1.f13afcp-2 +-0x1.0b4ad8p-1 +-0x1.57e198p-3 +-0x1.0cfed6p-5 +-0x1.4de6ecp-1 +0x1.51a062p-1 +0x1.150624p-3 +-0x1.e4d8bp-1 +-0x1.5e75b6p-1 +0x1.7cc658p-1 +-0x1.47986ap-1 +-0x1.ee6a0ap-2 +0x1.ae4e2p-1 +-0x1.7ee782p-2 +-0x1.6eef8p-1 +0x1.0f2c7cp-1 +-0x1.0c604cp-2 +-0x1.d0cb2ap-4 +0x1.c6d452p-1 +-0x1.213f62p-1 +-0x1.16bdp-1 +-0x1.24e6e4p-2 +0x1.17855cp-3 +-0x1.aca3bap-1 +-0x1.3a2daep-1 +-0x1.4b8214p-2 +-0x1.41194ap-1 +0x1.a37e5cp-2 +-0x1.93d3c8p-2 +0x1.636292p-1 +-0x1.554624p-1 +-0x1.0f8ceap-1 +-0x1.acecccp-2 +0x1.7df32cp-6 +-0x1.255a1ap-1 +-0x1.a2bbbep-2 +-0x1.56d822p-1 +-0x1.0dbebap-1 +-0x1.b94eb6p-1 +-0x1.a9bf86p-3 +-0x1.085582p-2 +0x1.022d02p-3 +0x1.f018e6p-2 +0x1.a8bb44p-4 +-0x1.8e9e7ep-2 +-0x1.664c2ap-5 +-0x1.b5e41p-1 +-0x1.68c7d2p-3 +0x1.7ffc78p-4 +0x1.137d2cp-11 +0x1.6540a4p-4 +0x1.74d162p-3 +0x1.098f56p-1 +0x1.a59a82p-2 +0x1.292126p-1 +0x1.433194p-3 +-0x1.911912p-4 +-0x1.c19fa8p-4 +0x1.282c0ep-1 +0x1.2e83fp-7 +-0x1.e1a488p-4 +-0x1.95bdb2p-3 +0x1.dfd2ep-2 +0x1.ec2148p-1 +0x1.3a1504p-1 +-0x1.5b8e2cp-1 +-0x1.bdcd3p-1 +-0x1.079a1p-1 +0x1.5007a8p-1 +0x1.a0908ap-1 +-0x1.19e172p-1 +0x1.a9bfdp-3 +0x1.7ffbdp-1 +-0x1.604336p-2 +0x1.1c31ccp-3 +0x1.0ac26cp-3 +0x1.6ae5f2p-1 +0x1.121bfp-1 +0x1.9158f6p-2 +0x1.9374cp-1 +-0x1.8b177ap-8 +0x1.cfe3ep-1 +0x1.f9f834p-4 +0x1.975716p-2 +0x1.54625cp-3 +-0x1.d84022p-1 +-0x1.61a5dcp-2 +0x1.8a6d0ap-1 +0x1.79d6d2p-2 +-0x1.b5d0f4p-3 +-0x1.6c1508p-3 +-0x1.cee6ecp-2 +0x1.26ddap-1 +-0x1.80891ap-1 +0x1.b383e6p-1 +0x1.5da5ecp-1 +-0x1.ae0576p-1 +0x1.4f48d4p-1 +-0x1.880168p-3 +-0x1.608e46p-1 +0x1.1a0036p-1 +-0x1.d6b7bap-2 +0x1.9050bcp-2 +0x1.b6e1f8p-3 +-0x1.3fd6bap-2 +0x1.a2e96cp-3 +0x1.1895dep-2 +0x1.b3f4dap-3 +-0x1.cd855cp-2 +0x1.ccea5ap-2 +0x1.558402p-1 +-0x1.2369a8p-2 +-0x1.d10b3p-1 +0x1.1ecb4ap-5 +0x1.808544p-1 +0x1.2a89dep-2 +-0x1.4125a6p-4 +0x1.271f98p-5 +-0x1.7e755p-9 +-0x1.0d9c24p-1 +0x1.2509ecp-3 +0x1.7a11f6p-1 +-0x1.ce345cp-6 +0x1.543b1ap-1 +-0x1.0dabccp-1 +-0x1.807586p-2 +0x1.d01544p-2 +-0x1.23630cp-3 +0x1.f8baf2p-4 +0x1.2c45a4p-2 +-0x1.e7a83cp-2 +0x1.1b546ep-2 +0x1.64958ep-2 +-0x1.1788ap-3 +-0x1.7c7736p-1 +-0x1.86a542p-1 +-0x1.699836p-1 +-0x1.37057ap-1 +-0x1.abe92ap-3 +0x1.94d0b6p-1 +0x1.d7d5bp-2 +-0x1.b42382p-2 +-0x1.60be74p-1 +0x1.035cecp-1 +0x1.7f99fcp-2 +-0x1.995296p-3 +0x1.5ff66ap-2 +-0x1.d41802p-1 +-0x1.aec89cp-1 +0x1.3cda12p-1 +0x1.8f57bep-1 +0x1.0cf5bp-2 +0x1.c8875ep-2 +0x1.ab8b96p-1 +0x1.1f3b7cp-3 +-0x1.541dcap-2 +-0x1.9ef1e2p-1 +-0x1.f1bdb2p-7 +0x1.7df5acp-1 +0x1.6eb4e8p-3 +0x1.efb1a4p-1 +-0x1.72bc14p-1 +-0x1.ba82f6p-2 +-0x1.ea55d8p-3 +0x1.292118p-1 +0x1.5e311cp-1 +-0x1.9bf966p-4 +0x1.cd24b4p-2 +0x1.88f71ap-2 +-0x1.0e428ap-4 +-0x1.9a536ep-2 +-0x1.f8c908p-1 +0x1.40c9a2p-6 +0x1.e18d8p-1 +0x1.108fbap-1 +-0x1.4fcec2p-6 +-0x1.080d9ap-1 +0x1.fc551cp-1 +0x1.9bb61cp-4 +-0x1.4168cp-2 +0x1.c799e8p-1 +-0x1.0c4a5ap-2 +0x1.ebf3ccp-1 +-0x1.be1b56p-1 +-0x1.88a11ap-1 +-0x1.8ecffcp-1 +0x1.c55182p-2 +0x1.d3d142p-3 +0x1.39252cp-2 +0x1.654ff8p-2 +-0x1.750bd8p-3 +-0x1.69df3ep-2 +0x1.bba0dp-1 +-0x1.28c5f2p-2 +0x1.321f6ap-1 +-0x1.eb4042p-2 +0x1.95914p-1 +-0x1.f11da8p-3 +0x1.cb7c72p-1 +0x1.63b18ep-2 +-0x1.9f6c02p-1 +-0x1.8ab8bcp-5 +0x1.7b590ep-4 +-0x1.5df522p-1 +-0x1.68ff1ap-9 +-0x1.540a26p-2 +-0x1.e70f7ap-1 +-0x1.443a22p-1 +-0x1.298bfep-3 +-0x1.86b306p-3 +0x1.1e2ab2p-1 +-0x1.23a576p-1 +-0x1.24f144p-1 +-0x1.4b31f8p-3 +0x1.16c554p-1 +0x1.0d1d3ep-3 +-0x1.d95ceap-4 +0x1.b35c34p-1 +0x1.d53302p-1 +-0x1.bd7b1p-2 +0x1.7aacdep-4 +-0x1.4d08ccp-3 +0x1.1bf0fcp-2 +0x1.dfb862p-1 +0x1.b15fccp-2 +-0x1.0acc9cp-2 +-0x1.3eabeap-1 +0x1.29a66ap-4 +-0x1.389b1ep-6 +0x1.a4ee6ap-3 +0x1.77f648p-3 +0x1.baf354p-1 +0x1.8bd0c2p-5 +0x1.0381bp-1 +0x1.371fdcp-1 +0x1.1e4186p-5 +0x1.3612eap-1 +0x1.4122c6p-1 +-0x1.b1def2p-1 +-0x1.d3b6c8p-3 +-0x1.b8dcb8p-1 +-0x1.f1d346p-1 +0x1.bb5df4p-2 +-0x1.87d1b2p-3 +-0x1.6b1c1cp-1 +-0x1.835d9p-2 +0x1.a11072p-1 +-0x1.0fdc3p-3 +-0x1.b2393ap-6 +0x1.64c874p-2 +0x1.49503cp-1 +0x1.d3a51cp-3 +-0x1.b9e888p-1 +-0x1.1ff292p-1 +0x1.a38aeep-5 +0x1.43a67p-2 +0x1.010fbp-1 +0x1.92a2c6p-3 +-0x1.2ee2p-3 +-0x1.181a88p-2 +-0x1.80ed38p-2 +-0x1.a2626p-1 +0x1.10247p-3 +0x1.31239ap-2 +-0x1.9a988cp-1 +0x1.2a95dep-2 +0x1.0a6016p-1 +0x1.dba78p-3 +-0x1.499e9ep-3 +-0x1.a5bf1ep-1 +-0x1.e737e2p-2 +-0x1.4d1852p-5 +0x1.b4a3fp-5 +0x1.baa424p-1 +0x1.50b7dcp-2 +0x1.a0ae4ep-1 +0x1.03c45p-1 +-0x1.6a1a44p-3 +-0x1.aa7486p-3 +0x1.4b4beep-1 +-0x1.d24a0cp-1 +0x1.94e16cp-2 +0x1.c0a628p-1 +0x1.50122p-3 +-0x1.f7107ap-4 +-0x1.70312ep-1 +0x1.a2b6acp-3 +0x1.7932e6p-1 +-0x1.338dp-3 +0x1.902b6ep-5 +-0x1.599ebep-1 +-0x1.e81a96p-3 +0x1.35b766p-2 +0x1.0bfdfap-1 +-0x1.48bb9ap-2 +-0x1.9d1a9p-1 +0x1.4ef9a4p-4 +0x1.8fe102p-2 +0x1.b8d37ep-2 +0x1.2498c8p-1 +0x1.383d52p-1 +-0x1.9653c6p-1 +0x1.f95622p-1 +0x1.e2e2d6p-2 +-0x1.b28b24p-2 +-0x1.52914cp-2 +-0x1.7ce9c2p-1 +-0x1.263a38p-1 +-0x1.b7340cp-2 +-0x1.adc26cp-2 +-0x1.9cfa82p-2 +0x1.699eaep-1 +0x1.7b4b3p-6 +-0x1.b59d0ep-3 +-0x1.5eb8ecp-2 +-0x1.cec0f8p-1 +0x1.572db2p-1 +0x1.6ad772p-4 +-0x1.49ca7ap-1 +0x1.1b2b62p-4 +0x1.36d5eep-2 +0x1.ba6548p-1 +-0x1.2ab656p-1 +-0x1.72fep-1 +-0x1.bde63cp-5 +0x1.490046p-1 +0x1.3f4e94p-2 +-0x1.087772p-1 +0x1.68a22cp-4 +-0x1.2647a8p-1 +0x1.0e5d18p-1 +-0x1.2de122p-1 +-0x1.91b2e6p-1 +0x1.4fee78p-2 +-0x1.8c8514p-5 +-0x1.09e92cp-3 +0x1.cb4042p-4 +0x1.9726dep-3 +0x1.8c68e4p-1 +0x1.3a6c8ep-1 +-0x1.eb8014p-3 +-0x1.704e46p-4 +0x1.385b92p-1 +-0x1.4792ecp-1 +0x1.c73c8ap-1 +-0x1.ca2cb8p-1 +0x1.99bca8p-1 +0x1.460798p-2 +0x1.f1babep-1 +0x1.f523f8p-2 +-0x1.b932d6p-2 +0x1.9d14aap-1 +-0x1.0cdfap-6 +-0x1.f0318p-3 +0x1.1648fep-1 +-0x1.c87dcap-3 +0x1.8f1964p-3 +-0x1.c96f96p-5 +0x1.b4f6a2p-3 +-0x1.2ad0e4p-2 +0x1.e42a9ep-2 +-0x1.06403ep-3 +-0x1.837efap-1 +0x1.2984fp-4 +-0x1.c66f4p-1 +-0x1.778abep-1 +-0x1.a4c7bcp-2 +0x1.2f2cb2p-3 +0x1.bd1848p-4 +0x1.e20ab4p-1 +-0x1.f7f612p-3 +-0x1.c27646p-2 +0x1.d14bap-4 +-0x1.0987f8p-1 +-0x1.19f55ep-1 +-0x1.75c0e4p-2 +-0x1.b1c836p-1 +0x1.e988d2p-1 +0x1.7b67d8p-1 +0x1.21f2a8p-1 +0x1.b96e7ap-4 +0x1.ad9c94p-1 +0x1.5652ep-3 +-0x1.642986p-1 +0x1.fb3c1cp-1 +-0x1.f525ecp-1 +-0x1.6e9a76p-1 +-0x1.71836ep-5 +0x1.e461bcp-3 +0x1.88ba44p-1 +-0x1.179be8p-5 +-0x1.0ed4ccp-2 +0x1.33bc22p-1 +0x1.29bd2ap-1 +-0x1.fdab52p-1 +-0x1.59a6e4p-2 +-0x1.da4e4ap-1 +-0x1.f2da58p-1 +0x1.fb6d4ap-3 +0x1.b745f4p-1 +0x1.ef6f4ep-2 +-0x1.23e156p-7 +0x1.7a4d5ep-1 +0x1.e7c0b4p-1 +0x1.477914p-3 +0x1.ca8a92p-1 +-0x1.10599cp-2 +-0x1.19b6e4p-1 +-0x1.3f8ed6p-1 +0x1.e8bee4p-2 +0x1.6d466ap-1 +0x1.92188p-1 +0x1.ec5154p-1 +-0x1.e8df5cp-2 +-0x1.68826p-1 +0x1.7e6c5p-4 +-0x1.40a592p-1 +-0x1.248f5cp-3 +-0x1.02654p-1 +-0x1.a23676p-1 +0x1.646a5p-1 +-0x1.d81a5p-5 +-0x1.a56694p-3 +-0x1.331a8ap-2 +0x1.a5b3cap-2 +0x1.66f044p-2 +0x1.23e11ap-2 +0x1.cfcd92p-2 +-0x1.7ebb1p-1 +-0x1.cea03ap-4 +0x1.acbdeap-1 +0x1.8803fp-1 +-0x1.3f809ap-1 +-0x1.481272p-5 +0x1.223c3p-1 +0x1.c4d30cp-1 +-0x1.42a26cp-2 +-0x1.3eac08p-1 +-0x1.a5d926p-3 +-0x1.b1d15cp-1 +-0x1.c79b0ep-1 +0x1.f167fap-2 +0x1.7aacdep-2 +-0x1.3a97b6p-1 +0x1.aec646p-3 +-0x1.edd2fap-1 +0x1.89da3cp-4 +-0x1.22f616p-2 +-0x1.500a42p-1 +0x1.b79c04p-2 +-0x1.090f9ap-1 +0x1.424678p-2 +-0x1.a4b4d6p-3 +0x1.421eaep-1 +-0x1.08ed3ap-2 +-0x1.1bd23ap-1 +0x1.7cedb2p-4 +-0x1.1f95fep-1 +0x1.4610a4p-1 +-0x1.249fdep-3 +-0x1.4516dap-5 +-0x1.b54fb6p-1 +0x1.da0c9ap-1 +0x1.db0ec8p-1 +-0x1.c782e4p-2 +0x1.85af54p-2 +-0x1.aade6ap-3 +-0x1.547b92p-4 +-0x1.8a25fp-5 +0x1.6fcb84p-1 +0x1.2daf52p-3 +0x1.0794e8p-2 +0x1.9ff4p-1 +-0x1.fc2476p-2 +-0x1.210c7ap-1 +0x1.f22eaap-1 +-0x1.a25f9ap-1 +0x1.c656dap-1 +0x1.d412fcp-4 +0x1.c899cep-2 +0x1.852dc6p-5 +-0x1.fada82p-1 +0x1.7fe52ap-1 +0x1.a31d1p-2 +-0x1.d8f9eap-2 +0x1.a38b92p-2 +-0x1.a000cp-3 +0x1.9bfe2ep-1 +0x1.b7077ep-3 +-0x1.a00d3p-2 +0x1.a988d8p-2 +0x1.7cf188p-1 +0x1.7305bap-1 +0x1.e2e038p-2 +0x1.b5b562p-4 +-0x1.52e3fap-1 +0x1.f8519p-1 +-0x1.7fab5p-1 +0x1.5dfaecp-3 +0x1.6c5da6p-1 +-0x1.5bbd4ap-1 +-0x1.88bbecp-3 +0x1.d16ee2p-1 +-0x1.071304p-1 +-0x1.8be6bap-1 +0x1.27cf3ap-1 +-0x1.08f87ep-1 +-0x1.c5d5a6p-3 +-0x1.592718p-1 +-0x1.6789dp-2 +0x1.a3b27cp-8 +0x1.2cdc54p-1 +-0x1.aa7dep-3 +0x1.8062fp-1 +0x1.b64136p-3 +0x1.6f9548p-1 +-0x1.8300b4p-6 +-0x1.87e008p-5 +0x1.51fad8p-1 +-0x1.caa1aap-7 +0x1.d5a40ep-4 +-0x1.6ac5d2p-3 +-0x1.9db40ep-1 +0x1.41aee8p-3 +0x1.f8ae18p-3 +-0x1.d45c64p-1 +0x1.541feap-1 +-0x1.9cd0d2p-1 +0x1.2ae9eap-5 +0x1.e584fp-3 +0x1.4c43bcp-1 +0x1.d71a7ap-2 +0x1.b29d26p-6 +-0x1.3c87f4p-3 +-0x1.fad376p-5 +-0x1.2afbccp-1 +-0x1.c13422p-4 +0x1.80a34ap-1 +-0x1.1b931ap-1 +-0x1.e582a6p-1 +-0x1.d0214ep-1 +-0x1.bf5116p-1 +0x1.80cdb6p-2 +-0x1.bdd19ep-1 +0x1.c616aep-1 +-0x1.ff865ap-1 +-0x1.b94ab4p-1 +0x1.b63c04p-1 +-0x1.699608p-6 +0x1.9adb06p-1 +-0x1.46273p-3 +-0x1.fb70f6p-3 +-0x1.72e71ep-3 +-0x1.a9282cp-6 +0x1.8bfa74p-4 +-0x1.a0e0e2p-1 +-0x1.3d6d58p-2 +0x1.89c75ep-2 +-0x1.241f1cp-1 +-0x1.2bc568p-1 +0x1.e60e4cp-1 +0x1.40105cp-3 +-0x1.2ef564p-1 +-0x1.07bf42p-2 +-0x1.049d34p-1 +-0x1.45f552p-2 +-0x1.1997c4p-4 +-0x1.8de364p-2 +-0x1.05bb6p-1 +-0x1.342b54p-1 +-0x1.89b84ep-2 +-0x1.3f7bcep-1 +0x1.1445cp-6 +0x1.bda78ap-1 +-0x1.854a98p-1 +0x1.5de8d2p-1 +0x1.fb1532p-3 +-0x1.c9dbdcp-4 +-0x1.028ce8p-2 +0x1.8733dep-1 +-0x1.245a56p-3 +0x1.06a56p-5 +-0x1.0bf4ap-1 +-0x1.b581e2p-1 +-0x1.c2e7f4p-2 +-0x1.276d42p-1 +-0x1.061c5cp-4 +-0x1.3228ap-2 +0x1.2a67e2p-2 +-0x1.809258p-1 +-0x1.44c4ep-2 +-0x1.4bdccap-2 +0x1.faeaf4p-1 +0x1.53cd26p-3 +0x1.aabe66p-2 +-0x1.09a5p-1 +-0x1.446314p-3 +-0x1.e0af62p-3 +-0x1.cc1818p-2 +-0x1.3f3c5ap-1 +-0x1.eaede6p-5 +0x1.95010cp-2 +0x1.61f82cp-2 +0x1.53d116p-1 +0x1.788304p-1 +0x1.188138p-2 +0x1.0c9426p-1 +0x1.f8fd58p-1 +0x1.4a5cd6p-4 +-0x1.366788p-3 +-0x1.37d8ccp-1 +0x1.0b29b4p-1 +-0x1.c96cf2p-1 +-0x1.01c426p-5 +0x1.d80d3cp-1 +-0x1.2c483p-1 +-0x1.fb19c4p-2 +0x1.901954p-1 +0x1.91bb1p-2 +0x1.8f2fbep-2 +-0x1.7b79dap-2 +-0x1.6b268ap-4 +0x1.af1126p-2 +-0x1.c37a24p-1 +0x1.8dc00ap-1 +0x1.63d1c8p-1 +0x1.926eb4p-6 +0x1.235de8p-1 +0x1.e42528p-2 +-0x1.572c38p-3 +0x1.0c638ap-3 +0x1.88a23cp-1 +0x1.71ac7ap-2 +0x1.acfa58p-3 +-0x1.8db6ecp-3 +0x1.fa8b9ap-4 +0x1.d12ffp-1 +-0x1.b6ec8cp-5 +-0x1.ba0902p-1 +0x1.ddb47ap-3 +0x1.73982ep-1 +-0x1.644962p-1 +-0x1.f5062ap-6 +-0x1.52bfb6p-2 +0x1.faf4ecp-4 +0x1.a05c38p-2 +0x1.afc80cp-2 +-0x1.0c96d4p-4 +-0x1.eb6172p-1 +-0x1.4d7474p-1 +0x1.97f4b8p-2 +0x1.b431c8p-3 +-0x1.0eb48cp-2 +0x1.88649ep-2 +-0x1.fc0fd6p-2 +-0x1.0052d6p-3 +-0x1.04dbdep-1 +0x1.ece166p-5 +0x1.c9d72ap-1 +0x1.df2ae2p-2 +-0x1.12b504p-1 +-0x1.b4c8eap-4 +-0x1.bbb53ep-1 +0x1.e63fdp-1 +0x1.ea8b02p-1 +-0x1.0d8c0cp-1 +-0x1.4e1244p-2 +0x1.7f6a4ep-2 +-0x1.37faaep-2 +0x1.b81386p-5 +-0x1.fcccf8p-1 +0x1.d5fbdp-2 +-0x1.6c946ap-1 +-0x1.1b352cp-1 +0x1.c11582p-2 +0x1.99001ap-1 +0x1.0dc7c6p-1 +0x1.8fddb4p-1 +0x1.499c58p-1 +-0x1.59c654p-2 +0x1.5eab24p-1 +-0x1.b85a6ap-1 +-0x1.30a6dap-1 +-0x1.932a56p-3 +-0x1.dea32p-2 +0x1.ff3e96p-5 +-0x1.4c618p-1 +-0x1.84e5ap-1 +0x1.7abe06p-2 +-0x1.c7ed9ap-2 +0x1.19b9a8p-3 +0x1.ec5ddp-1 +-0x1.719e66p-1 +-0x1.9c222ep-1 +0x1.ad9e52p-2 +-0x1.b91d5ep-1 +0x1.2f1a9ep-1 +-0x1.fa2f56p-1 +-0x1.f21f1p-1 +-0x1.95f9ecp-1 +0x1.f29af8p-3 +0x1.6fb0acp-2 +-0x1.3c294ep-1 +0x1.8c641ep-2 +-0x1.9ab2bcp-2 +-0x1.351b0ep-5 +-0x1.91b36p-1 +0x1.6b0cfcp-1 +0x1.387baap-5 +0x1.ab2eb2p-1 +-0x1.93edaap-1 +0x1.d085dap-2 +0x1.2d822ap-2 +0x1.ac9ee4p-1 +-0x1.3c5d22p-4 +-0x1.9448c4p-2 +0x1.b402d8p-1 +-0x1.b89d82p-4 +-0x1.3bee36p-2 +-0x1.bb481cp-4 +-0x1.a497f6p-1 +0x1.8c0e64p-1 +-0x1.c28ef4p-1 +0x1.979656p-3 +-0x1.ac4f7cp-1 +-0x1.0b9d3p-1 +0x1.6dea12p-2 +0x1.043b4cp-1 +0x1.235684p-1 +-0x1.d35da2p-3 +-0x1.755cb8p-1 +0x1.74413p-2 +0x1.d833cep-1 +-0x1.95d77ap-1 +0x1.fefb2ep-2 +0x1.403c34p-1 +0x1.3dedbcp-1 +-0x1.6a9174p-1 +0x1.abcb4cp-8 +-0x1.fe3e1ap-1 +0x1.aed45ep-3 +0x1.fca5b2p-2 +-0x1.5aec2cp-5 +-0x1.78b2a8p-1 +-0x1.224796p-3 +0x1.bdd2c2p-1 +0x1.17da74p-4 +0x1.120b4cp-1 +0x1.4e1d52p-1 +0x1.16e1fp-2 +-0x1.01c2b6p-2 +-0x1.c352ecp-3 +0x1.35108ep-1 +-0x1.a04352p-6 +0x1.d0d832p-2 +-0x1.be71c4p-1 +0x1.53b13cp-1 +0x1.7d916ap-3 +-0x1.a281bcp-3 +-0x1.042096p-1 +-0x1.449426p-3 +0x1.bf3b7ap-2 +0x1.1d432ap-2 +-0x1.e77d8p-6 +-0x1.046d5ep-1 +-0x1.d704d6p-1 +-0x1.239618p-1 +-0x1.35ca84p-2 +-0x1.be45cap-1 +-0x1.9839e6p-3 +-0x1.0e269ap-1 +0x1.055fcep-1 +-0x1.c41bbap-3 +-0x1.85e72p-2 +-0x1.76fa5cp-2 +-0x1.0d2e12p-1 +0x1.38c6aap-1 +-0x1.187b2cp-2 +0x1.878a38p-2 +0x1.096782p-1 +-0x1.3a3c82p-1 +0x1.5f46eep-2 +-0x1.8f9916p-2 +0x1.4e239cp-2 +0x1.1db18cp-1 +-0x1.47e9fap-3 +-0x1.d3de9ep-1 +0x1.9057d2p-7 +0x1.426d94p-1 +0x1.6e8a0cp-1 +0x1.72474cp-6 +-0x1.2d2caap-1 +-0x1.ee3072p-1 +0x1.dee28ap-2 +0x1.1b89fep-1 +-0x1.29a052p-2 +-0x1.31163cp-2 +-0x1.d4be14p-1 +0x1.45e848p-1 +-0x1.d264dap-2 +-0x1.6c2b72p-2 +0x1.9872a6p-2 +-0x1.51bd08p-1 +0x1.514bp-1 +-0x1.e085fep-1 +0x1.53009p-1 +-0x1.6934bp-1 +-0x1.e60096p-1 +-0x1.7167d2p-1 +0x1.c3d124p-7 +0x1.595b7ap-1 +-0x1.4786d4p-2 +0x1.60ab0ap-3 +0x1.ab6546p-4 +-0x1.4ce38ap-7 +0x1.4c4202p-3 +0x1.edd0e6p-1 +0x1.e82eap-1 +-0x1.878edap-6 +0x1.b8c5dp-1 +-0x1.758052p-1 +0x1.6beddcp-1 +-0x1.5d201ap-1 +-0x1.4106eap-1 +-0x1.ed26c4p-1 +0x1.40b2acp-3 +0x1.1dc00ap-1 +-0x1.9a927ap-1 +0x1.02bdcep-2 +0x1.23c368p-1 +0x1.11b786p-1 +0x1.b864c8p-3 +0x1.217d76p-1 +0x1.d1bcbp-1 +0x1.2b141cp-3 +-0x1.62ef5p-2 +0x1.94ea8ap-4 +0x1.0a74a8p-2 +0x1.e0bdcap-2 +-0x1.e80fbcp-2 +0x1.65ca6p-1 +0x1.0e00b6p-2 +0x1.3f7602p-1 +-0x1.34ee6p-1 +-0x1.51a328p-2 +0x1.97f7f2p-1 +0x1.b1adfep-1 +-0x1.5a6d86p-1 +0x1.784ca8p-1 +0x1.2d0946p-2 +-0x1.594df6p-1 +0x1.0650bep-2 +0x1.a26172p-7 +0x1.a61d2p-3 +-0x1.afb4c8p-4 +-0x1.159c2cp-1 +0x1.d6bf1ap-2 +0x1.5159aep-1 +-0x1.efc4f4p-2 +-0x1.16670cp-2 +0x1.20517cp-2 +0x1.46cc94p-1 +0x1.ab4774p-5 +0x1.20e1a2p-1 +-0x1.bc3572p-1 +-0x1.c5e448p-2 +0x1.68bbd6p-4 +0x1.16ba84p-1 +0x1.270e1ep-3 +-0x1.c4a876p-1 +-0x1.9b60eap-8 +0x1.ba1ce6p-1 +0x1.2c2b52p-1 +-0x1.7e2b3ap-2 +-0x1.ac1924p-3 +0x1.120eeep-2 +0x1.df9648p-3 +0x1.819cf6p-2 +-0x1.baf79ap-2 +-0x1.3c652ep-1 +-0x1.304962p-1 +-0x1.6ee21cp-2 +0x1.96f7eep-5 +0x1.aa7712p-1 +-0x1.779cfep-4 +0x1.a2b002p-1 +0x1.e15e9ep-1 +0x1.c5917ap-1 +-0x1.eab47p-1 +0x1.564d5ap-1 +-0x1.068ddep-3 +0x1.11b298p-1 +0x1.c54948p-3 +0x1.08008ep-3 +0x1.ccad7cp-4 +0x1.0d9a74p-2 +0x1.b12186p-3 +0x1.9a0be4p-1 +-0x1.58ffc8p-4 +0x1.802e2ap-2 +0x1.40d8d6p-3 +-0x1.970408p-1 +-0x1.930bdp-1 +-0x1.dc2a3p-3 +-0x1.a51098p-3 +-0x1.bca5eap-4 +-0x1.4c97f2p-3 +0x1.9ec046p-2 +-0x1.bf8f7cp-2 +0x1.f27b9ep-2 +-0x1.26f5dap-2 +-0x1.bf469ap-6 +0x1.9105ep-1 +-0x1.1069eap-1 +0x1.925da6p-4 +-0x1.bf3118p-1 +-0x1.21704cp-1 +-0x1.128c48p-3 +0x1.df6d9ep-2 +-0x1.1d8da2p-1 +-0x1.898b68p-1 +0x1.4f261cp-1 +0x1.e516aep-5 +0x1.00755cp-2 +-0x1.f4599p-2 +0x1.2f7f5ap-2 +-0x1.ea5f1ap-1 +-0x1.d8ac8cp-6 +-0x1.84a67cp-1 +0x1.dcd748p-1 +-0x1.32bcap-4 +0x1.a9a27ap-4 +-0x1.9d5db8p-1 +0x1.e3458p-1 +0x1.e8d24ep-6 +-0x1.63966ap-2 +-0x1.79e9ccp-2 +-0x1.650482p-1 +0x1.6a2b6ep-5 +0x1.206bb8p-1 +-0x1.d6fe34p-2 +0x1.2bcbbcp-1 +0x1.7eaad6p-1 +-0x1.fb997ep-1 +0x1.180e4ap-4 +-0x1.7895acp-2 +0x1.c4b296p-1 +0x1.de5a8cp-1 +0x1.cee88p-2 +0x1.560696p-3 +-0x1.eae7c8p-2 +0x1.ee5de6p-1 +-0x1.69d7d6p-4 +-0x1.1ec2cap-4 +-0x1.b7d8d4p-2 +0x1.e2a8b2p-1 +0x1.576682p-1 +-0x1.21dda6p-3 +0x1.d396d8p-4 +-0x1.0d8292p-2 +0x1.7ed824p-9 +-0x1.91626ep-1 +0x1.76d8bp-1 +0x1.e39884p-1 +0x1.a135f6p-1 +-0x1.3d069ep-1 +0x1.2c11c4p-1 +0x1.7900dep-1 +0x1.0ae9e2p-4 +-0x1.13b894p-1 +-0x1.5cb688p-7 +0x1.91ec84p-2 +0x1.694ddep-6 +-0x1.398efp-1 +-0x1.8886dep-1 +-0x1.eca37ap-6 +-0x1.5aab5cp-7 +-0x1.013774p-1 +0x1.8bcb4p-1 +0x1.b6c0dap-2 +0x1.db71fp-3 +0x1.f802ecp-1 +-0x1.a89dd2p-1 +0x1.a65da2p-3 +-0x1.cc22ccp-8 +0x1.fd1108p-5 +0x1.7eb01cp-2 +0x1.cb91d6p-3 +0x1.e7fa4cp-1 +0x1.38e93ep-3 +0x1.d0d974p-3 +-0x1.c66866p-2 +0x1.c62694p-1 +-0x1.ac41f4p-4 +0x1.177ee4p-1 +-0x1.4fadb6p-2 +-0x1.d9a11ap-5 +-0x1.6a8e74p-1 +0x1.8793a8p-4 +0x1.692428p-2 +-0x1.eb454p-1 +-0x1.446fbep-2 +-0x1.05c5ecp-3 +-0x1.9b0ecp-2 +0x1.f6acbep-1 +-0x1.3479a2p-1 +-0x1.21730ap-3 +0x1.5acbb4p-6 +-0x1.8fddcep-2 +0x1.1d3cbp-1 +-0x1.da3892p-1 +0x1.021e3p-2 +-0x1.46686ap-4 +0x1.0673acp-3 +-0x1.db8682p-3 +0x1.deb208p-3 +0x1.357606p-4 +-0x1.a56c98p-6 +0x1.b5f89ep-1 +-0x1.8c17cap-3 +-0x1.65d8d8p-3 +0x1.9222ecp-3 +0x1.2e4afcp-3 +0x1.6b705cp-1 +0x1.bbf77ep-6 +-0x1.8adbc6p-2 +0x1.433f6ap-2 +-0x1.d6ae58p-1 +0x1.67bc66p-2 +-0x1.242ca2p-1 +0x1.f1131ep-1 +0x1.aed728p-1 +0x1.daa8d6p-8 +0x1.b9a9b4p-5 +0x1.d80ae2p-1 +0x1.4d5612p-2 +-0x1.c7440cp-1 +0x1.575c8p-1 +0x1.ab0998p-3 +0x1.1ab062p-2 +0x1.2e364p-3 +-0x1.1a0c56p-1 +0x1.4d4cd2p-3 +0x1.6802fap-1 +0x1.4574dp-1 +-0x1.a79d78p-2 +0x1.00924cp-1 +-0x1.b1bce4p-1 +-0x1.2a255ep-2 +0x1.8daa0ap-2 +0x1.1d2dep-1 +-0x1.ee847cp-1 +0x1.966612p-2 +-0x1.677cc4p-4 +0x1.ab8bb4p-5 +0x1.52db6ap-1 +0x1.61c88p-2 +-0x1.e25128p-1 +0x1.dbc62ep-3 +0x1.8b0d0ap-1 +0x1.6d10f4p-1 +-0x1.a572bcp-2 +0x1.46902ep-4 +0x1.9f2472p-3 +-0x1.583018p-2 +0x1.2e16eap-3 +-0x1.eb2c5ep-1 +-0x1.5b97fap-1 +0x1.e09b72p-2 +0x1.8508a6p-3 +-0x1.87b252p-9 +0x1.36c3f4p-1 +-0x1.20a06ep-4 +-0x1.031486p-2 +0x1.ddfb98p-2 +0x1.1cb62cp-2 +-0x1.3bac38p-2 +-0x1.a150a8p-3 +0x1.08933ep-1 +-0x1.77306ap-1 +-0x1.2a7a5cp-2 +0x1.4a0fcp-1 +0x1.71facep-4 +0x1.f651dcp-1 +0x1.4b9d96p-1 +0x1.615c78p-1 +0x1.5d42p-3 +-0x1.44fae2p-1 +0x1.88e8eep-1 +-0x1.171286p-7 +0x1.4ee89cp-3 From patchwork Wed Nov 24 19:37:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48103 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1BED3385801D for ; Wed, 24 Nov 2021 20:26:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1BED3385801D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785564; bh=M9XJ33Ex1sbKBtzNwRqVDFQmBx26rj8+U0zXeXjRvQ4=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=ADIvnwtz2IcELBq7eE+SITIJ9bLGNn7FGbgNSmhM8cbhclaN2BGri+0lc6GEKJ11q 2O0xZBrGoYamEUPNJdOc7eDOURAZ2v1F37a3E5YwueEoIQgQgoDPW9Vtbct4j4zAv+ O63CcHC0RpfU9pqjRiHxbkuVMc3q9oSW9s3xbsDI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 6DF40385801A for ; Wed, 24 Nov 2021 19:38:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6DF40385801A X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="298763430" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="298763430" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="650501600" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga001.fm.intel.com with ESMTP; 24 Nov 2021 11:38:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Ws021555; Wed, 24 Nov 2021 11:38:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 07/42] x86-64: Add vector asinh/asinhf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:32 -0800 Message-Id: <20211124193807.2093208-8-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized asinh/asinhf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector asinh/asinhf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 17 + .../fpu/multiarch/svml_d_asinh2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_asinh2_core.c | 27 + .../fpu/multiarch/svml_d_asinh2_core_sse4.S | 5521 +++++++++++++++++ .../fpu/multiarch/svml_d_asinh4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_asinh4_core.c | 27 + .../fpu/multiarch/svml_d_asinh4_core_avx2.S | 5092 +++++++++++++++ .../fpu/multiarch/svml_d_asinh8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_asinh8_core.c | 27 + .../fpu/multiarch/svml_d_asinh8_core_avx512.S | 853 +++ .../fpu/multiarch/svml_s_asinhf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_asinhf16_core.c | 28 + .../multiarch/svml_s_asinhf16_core_avx512.S | 653 ++ .../fpu/multiarch/svml_s_asinhf4_core-sse2.S | 20 + .../fpu/multiarch/svml_s_asinhf4_core.c | 28 + .../fpu/multiarch/svml_s_asinhf4_core_sse4.S | 2569 ++++++++ .../fpu/multiarch/svml_s_asinhf8_core-sse.S | 20 + .../fpu/multiarch/svml_s_asinhf8_core.c | 28 + .../fpu/multiarch/svml_s_asinhf8_core_avx2.S | 2156 +++++++ sysdeps/x86_64/fpu/svml_d_asinh2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_asinh4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_asinh4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_asinh8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_asinhf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_asinhf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_asinhf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_asinhf8_core_avx.S | 25 + .../fpu/test-double-libmvec-asinh-avx.c | 1 + .../fpu/test-double-libmvec-asinh-avx2.c | 1 + .../fpu/test-double-libmvec-asinh-avx512f.c | 1 + .../x86_64/fpu/test-double-libmvec-asinh.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../fpu/test-float-libmvec-asinhf-avx.c | 1 + .../fpu/test-float-libmvec-asinhf-avx2.c | 1 + .../fpu/test-float-libmvec-asinhf-avx512f.c | 1 + .../x86_64/fpu/test-float-libmvec-asinhf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 17409 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_asinh2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_asinh4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_asinh4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_asinh8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_asinhf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_asinhf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_asinhf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_asinhf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-asinh.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-asinhf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 5628ada8e1..02acfb1ef8 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -131,4 +131,15 @@ #define __DECL_SIMD_asinf32x #define __DECL_SIMD_asinf64x #define __DECL_SIMD_asinf128x + +#define __DECL_SIMD_asinh +#define __DECL_SIMD_asinhf +#define __DECL_SIMD_asinhl +#define __DECL_SIMD_asinhf16 +#define __DECL_SIMD_asinhf32 +#define __DECL_SIMD_asinhf64 +#define __DECL_SIMD_asinhf128 +#define __DECL_SIMD_asinhf32x +#define __DECL_SIMD_asinhf64x +#define __DECL_SIMD_asinhf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index dc04ab5538..9a7cfb57c7 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -84,7 +84,7 @@ __MATHDECL_VEC (void,sincos,, /* Hyperbolic arc cosine of X. */ __MATHCALL_VEC (acosh,, (_Mdouble_ __x)); /* Hyperbolic arc sine of X. */ -__MATHCALL (asinh,, (_Mdouble_ __x)); +__MATHCALL_VEC (asinh,, (_Mdouble_ __x)); /* Hyperbolic arc tangent of X. */ __MATHCALL (atanh,, (_Mdouble_ __x)); #endif diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 99229e1b1f..e246e1ba32 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -49,24 +49,32 @@ GLIBC_2.22 _ZGVeN8vvv_sincos F GLIBC_2.35 _ZGVbN2v_acos F GLIBC_2.35 _ZGVbN2v_acosh F GLIBC_2.35 _ZGVbN2v_asin F +GLIBC_2.35 _ZGVbN2v_asinh F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F GLIBC_2.35 _ZGVbN4v_asinf F +GLIBC_2.35 _ZGVbN4v_asinhf F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F GLIBC_2.35 _ZGVcN4v_asin F +GLIBC_2.35 _ZGVcN4v_asinh F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F GLIBC_2.35 _ZGVcN8v_asinf F +GLIBC_2.35 _ZGVcN8v_asinhf F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F GLIBC_2.35 _ZGVdN4v_asin F +GLIBC_2.35 _ZGVdN4v_asinh F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F GLIBC_2.35 _ZGVdN8v_asinf F +GLIBC_2.35 _ZGVdN8v_asinhf F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F GLIBC_2.35 _ZGVeN16v_asinf F +GLIBC_2.35 _ZGVeN16v_asinhf F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F GLIBC_2.35 _ZGVeN8v_asin F +GLIBC_2.35 _ZGVeN8v_asinh F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index d1b3b566cd..f8f3d611b8 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -70,6 +70,10 @@ # define __DECL_SIMD_asin __DECL_SIMD_x86_64 # undef __DECL_SIMD_asinf # define __DECL_SIMD_asinf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinh +# define __DECL_SIMD_asinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinhf +# define __DECL_SIMD_asinhf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index ca8e67cd39..3d34f880c3 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -25,6 +25,7 @@ libmvec-funcs = \ acos \ acosh \ asin \ + asinh \ cos \ exp \ log \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 21d0c7937f..0f24286493 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -17,8 +17,10 @@ libmvec { _ZGVbN2v_acos; _ZGVcN4v_acos; _ZGVdN4v_acos; _ZGVeN8v_acos; _ZGVbN2v_acosh; _ZGVcN4v_acosh; _ZGVdN4v_acosh; _ZGVeN8v_acosh; _ZGVbN2v_asin; _ZGVcN4v_asin; _ZGVdN4v_asin; _ZGVeN8v_asin; + _ZGVbN2v_asinh; _ZGVcN4v_asinh; _ZGVdN4v_asinh; _ZGVeN8v_asinh; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; _ZGVbN4v_asinf; _ZGVcN8v_asinf; _ZGVdN8v_asinf; _ZGVeN16v_asinf; + _ZGVbN4v_asinhf; _ZGVcN8v_asinhf; _ZGVdN8v_asinhf; _ZGVeN16v_asinhf; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 30ac87d84e..fb7086d2b9 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -157,6 +157,23 @@ float: 3 float128: 4 ldouble: 5 +Function: "asinh_vlen2": +double: 1 + +Function: "asinh_vlen4": +double: 1 +float: 1 + +Function: "asinh_vlen4_avx2": +double: 1 + +Function: "asinh_vlen8": +double: 1 +float: 1 + +Function: "asinh_vlen8_avx2": +float: 1 + Function: "atan": double: 1 float: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core-sse2.S new file mode 100644 index 0000000000..ddd1c3ca24 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized asinh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_asinh _ZGVbN2v_asinh_sse2 +#include "../svml_d_asinh2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core.c new file mode 100644 index 0000000000..37452d0f92 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized asinh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_asinh +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_asinh, __GI__ZGVbN2v_asinh, __redirect__ZGVbN2v_asinh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core_sse4.S new file mode 100644 index 0000000000..4e5c9cebfd --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core_sse4.S @@ -0,0 +1,5521 @@ +/* Function asinh vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute asinh(x) as log(x + sqrt(x*x + 1)) + * + * Special cases: + * + * asinh(NaN) = quiet NaN, and raise invalid exception + * asinh(INF) = that INF + * asinh(0) = that 0 + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_asinh_sse4) + 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 + movaps %xmm0, %xmm3 + movups %xmm8, 160(%rsp) + movaps %xmm3, %xmm4 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + +/* + * Split X into high and low parts, XHi (<= 26 bits) and XLo (<= 27 bits) + * We could use either X or |X| here, but it doesn't seem to matter + */ + movups 14272+__svml_dasinh_data_internal(%rip), %xmm8 + lea -4218816+__svml_dasinh_data_internal(%rip), %r8 + andps %xmm3, %xmm8 + movups %xmm9, 144(%rsp) + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + +/* + * Compute X^2 = (XHi + XLo)^2 = XHi^2 + XLo * (X + XHi) + * The two parts are shifted off by around 26 bits. So even though + * the low bit will not in general be exact, it's near enough + */ + movaps %xmm8, %xmm9 + mulpd %xmm8, %xmm9 + subpd %xmm8, %xmm4 + addpd %xmm3, %xmm8 + +/* Load the constant 1 and a sign mask */ + movups 12800+__svml_dasinh_data_internal(%rip), %xmm2 + movups %xmm10, 96(%rsp) + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + +/* + * Finally, express Y + W = X^2 + 1 accurately where Y has <= 29 bits. + * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 + * as the dominant component in the compensated summation. Otherwise, + * if |X| >= 1, then since X2Hi only has 52 significant bits, the basic + * addition will be exact anyway until we get to |X| >= 2^53. But by + * that time the log function is well-conditioned enough that the + * rounding error doesn't matter. Hence we can treat 1 as dominant even + * if it literally isn't. + */ + movaps %xmm2, %xmm10 + addpd %xmm9, %xmm10 + mulpd %xmm8, %xmm4 + movups 12864+__svml_dasinh_data_internal(%rip), %xmm6 + movaps %xmm2, %xmm8 + movups 14336+__svml_dasinh_data_internal(%rip), %xmm5 + +/* + * Get the absolute value of the input, since we will exploit antisymmetry + * and mostly assume X >= 0 in the core computation + */ + movaps %xmm6, %xmm0 + andps %xmm10, %xmm5 + andps %xmm3, %xmm0 + movups %xmm12, 112(%rsp) + +/* + * Check whether the input is finite, by checking |X| <= MaxFloat + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) + */ + movaps %xmm0, %xmm7 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + +/* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 12 significant bits in case it isn't already + * This means that R * Y and R^2 * Y are exactly representable. + */ + cvtpd2ps %xmm5, %xmm12 + cmpnlepd 13952+__svml_dasinh_data_internal(%rip), %xmm7 + subpd %xmm10, %xmm8 + subpd %xmm5, %xmm10 + movmskpd %xmm7, %edx + addpd %xmm9, %xmm8 + +/* + * Unfortunately, we can still be in trouble if |X| <= 2^-10, since + * the absolute error 2^-(12+53)-ish in sqrt(1 + X^2) gets scaled up + * by 1/X and comes close to our threshold. Hence if |X| <= 2^-9, + * perform an alternative computation + * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 + * X2 = X^2 + */ + addpd %xmm4, %xmm9 + addpd %xmm4, %xmm8 + movlhps %xmm12, %xmm12 + +/* + * The following computation can go wrong for very large X, basically + * because X^2 overflows. But for large X we have + * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when do do this. + */ + movaps %xmm0, %xmm1 + rsqrtps %xmm12, %xmm7 + addpd %xmm10, %xmm8 + cmpltpd 13568+__svml_dasinh_data_internal(%rip), %xmm1 + cvtps2pd %xmm7, %xmm7 + andps 14208+__svml_dasinh_data_internal(%rip), %xmm7 + +/* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-12 + */ + movaps %xmm2, %xmm12 + +/* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + mulpd %xmm7, %xmm5 + mulpd %xmm7, %xmm8 + movaps %xmm7, %xmm10 + mulpd %xmm5, %xmm10 + mulpd %xmm8, %xmm7 + subpd %xmm10, %xmm12 + subpd %xmm7, %xmm12 + +/* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + + * 63/256 * e^5 + 231/1024 * e^6 + .... + * So compute the first five nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + * C4 = 35/128 + * C5 = 63/256 + */ + movups 13824+__svml_dasinh_data_internal(%rip), %xmm7 + mulpd %xmm12, %xmm7 + addpd 13760+__svml_dasinh_data_internal(%rip), %xmm7 + mulpd %xmm12, %xmm7 + addpd 13696+__svml_dasinh_data_internal(%rip), %xmm7 + mulpd %xmm12, %xmm7 + addpd 13632+__svml_dasinh_data_internal(%rip), %xmm7 + mulpd %xmm12, %xmm7 + movups 13888+__svml_dasinh_data_internal(%rip), %xmm10 + addpd %xmm10, %xmm7 + +/* dX2over2 = X^2/2 */ + mulpd %xmm10, %xmm9 + mulpd %xmm7, %xmm12 + +/* + * Obtain sqrt(1 + X^2) - 1 in two pieces + * sqrt(1 + X^2) - 1 + * = sqrt(Y + W) - 1 + * = (S + T) * (1 + Corr) - 1 + * = [S - 1] + [T + (S + T) * Corr] + * We need a compensated summation for the last part. We treat S - 1 + * as the larger part; it certainly is until about X < 2^-4, and in that + * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 + * Final sum is dTmp5 (hi) + dTmp7 (lo) + */ + movaps %xmm5, %xmm7 + +/* dX46 = -X^4/4 + X^6/8 */ + movaps %xmm9, %xmm4 + addpd %xmm8, %xmm7 + subpd %xmm2, %xmm5 + mulpd %xmm7, %xmm12 + addpd %xmm12, %xmm8 + addpd %xmm5, %xmm8 + +/* dX4over4 = X^4/4 */ + movaps %xmm9, %xmm5 + mulpd %xmm9, %xmm5 + mulpd %xmm5, %xmm4 + subpd %xmm5, %xmm4 + +/* dX46over2 = -X^4/8 + x^6/16 */ + mulpd %xmm4, %xmm10 + +/* Now multiplex the two possible computations */ + movaps %xmm0, %xmm5 + cmplepd 14016+__svml_dasinh_data_internal(%rip), %xmm5 + addpd %xmm10, %xmm9 + movaps %xmm5, %xmm7 + andps %xmm5, %xmm9 + andnps %xmm8, %xmm7 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + movaps %xmm2, %xmm8 + orps %xmm9, %xmm7 + movaps %xmm2, %xmm9 + +/* + * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. + * It's always safe to assume |X| is larger. + * This is the final 2-part argument to the log1p function + */ + addpd %xmm0, %xmm7 + +/* Now multiplex to the case X = 2^-30 * |input|, Xl = dL = 0 in the "big" case. */ + mulpd 14464+__svml_dasinh_data_internal(%rip), %xmm0 + maxpd %xmm7, %xmm8 + minpd %xmm7, %xmm9 + andps %xmm6, %xmm7 + movaps %xmm8, %xmm6 + cmpltpd 12928+__svml_dasinh_data_internal(%rip), %xmm7 + addpd %xmm9, %xmm6 + orps 12992+__svml_dasinh_data_internal(%rip), %xmm7 + andps %xmm7, %xmm6 + subpd %xmm6, %xmm8 + addpd %xmm8, %xmm9 + movaps %xmm1, %xmm8 + andps %xmm1, %xmm6 + andnps %xmm0, %xmm8 + andps %xmm1, %xmm9 + +/* + * Now resume the main code. + * preserve mantissa, set input exponent to 2^(-10) + */ + movups 12480+__svml_dasinh_data_internal(%rip), %xmm0 + orps %xmm6, %xmm8 + andps %xmm8, %xmm0 + orps 12544+__svml_dasinh_data_internal(%rip), %xmm0 + +/* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm0, %xmm5 + movlhps %xmm5, %xmm5 + rcpps %xmm5, %xmm4 + cvtps2pd %xmm4, %xmm7 + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_33(%rip), %xmm0 + +/* exponent bits */ + movaps %xmm8, %xmm5 + addpd %xmm0, %xmm7 + subpd %xmm0, %xmm7 + +/* exponent of X needed to scale Xl */ + movdqu 13376+__svml_dasinh_data_internal(%rip), %xmm12 + psrlq $20, %xmm5 + +/* 2^ (-10-exp(X) ) */ + movdqu 13440+__svml_dasinh_data_internal(%rip), %xmm6 + pand %xmm8, %xmm12 + psubq %xmm12, %xmm6 + +/* scale DblRcp */ + mulpd %xmm7, %xmm6 + +/* argument reduction */ + mulpd %xmm6, %xmm8 + mulpd %xmm6, %xmm9 + subpd %xmm2, %xmm8 + pshufd $221, %xmm5, %xmm10 + movaps %xmm1, %xmm5 + +/* biased exponent in DP format */ + cvtdq2pd %xmm10, %xmm0 + addpd %xmm9, %xmm8 + +/* Add 31 to the exponent in the "large" case to get log(2 * input) */ + movups 14144+__svml_dasinh_data_internal(%rip), %xmm4 + addpd %xmm0, %xmm4 + +/* polynomial */ + movups 12416+__svml_dasinh_data_internal(%rip), %xmm2 + andps %xmm1, %xmm0 + mulpd %xmm8, %xmm2 + +/* + * prepare table index + * table lookup + */ + movaps %xmm7, %xmm1 + andnps %xmm4, %xmm5 + psrlq $40, %xmm1 + orps %xmm0, %xmm5 + movd %xmm1, %eax + pshufd $2, %xmm1, %xmm0 + movaps %xmm8, %xmm1 + +/* exponent*log(2.0) */ + movups 13184+__svml_dasinh_data_internal(%rip), %xmm10 + mulpd %xmm8, %xmm1 + movd %xmm0, %ecx + movups 12448+__svml_dasinh_data_internal(%rip), %xmm0 + addpd 12432+__svml_dasinh_data_internal(%rip), %xmm2 + cmpltpd %xmm7, %xmm10 + mulpd %xmm8, %xmm0 + mulpd %xmm1, %xmm2 + addpd 12464+__svml_dasinh_data_internal(%rip), %xmm0 + addpd %xmm2, %xmm0 + +/* reconstruction */ + mulpd %xmm0, %xmm1 + andps 13248+__svml_dasinh_data_internal(%rip), %xmm10 + orps 13312+__svml_dasinh_data_internal(%rip), %xmm10 + subpd %xmm10, %xmm5 + addpd %xmm1, %xmm8 + mulpd 13504+__svml_dasinh_data_internal(%rip), %xmm5 + movslq %eax, %rax + movslq %ecx, %rcx + +/* Finally, reincorporate the original sign. */ + movups 14080+__svml_dasinh_data_internal(%rip), %xmm0 + andps %xmm3, %xmm0 + movsd (%r8,%rax), %xmm4 + movhpd (%r8,%rcx), %xmm4 + addpd %xmm8, %xmm4 + addpd %xmm4, %xmm5 + movups 160(%rsp), %xmm8 + cfi_restore(25) + pxor %xmm5, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_2: + movups 144(%rsp), %xmm9 + cfi_restore(26) + movups 96(%rsp), %xmm10 + cfi_restore(27) + movups 112(%rsp), %xmm12 + cfi_restore(29) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm3, 128(%rsp) + movups %xmm0, 192(%rsp) + xorl %eax, %eax + movups %xmm8, 160(%rsp) + movups %xmm11, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 72(%rsp) + movq %rdi, 64(%rsp) + movq %r12, 88(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 80(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 160(%rsp), %xmm8 + cfi_restore(25) + movups 48(%rsp), %xmm11 + cfi_restore(28) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 72(%rsp), %rsi + cfi_restore(4) + movq 64(%rsp), %rdi + cfi_restore(5) + movq 88(%rsp), %r12 + cfi_restore(12) + movq 80(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 128(%rsp,%r12,8), %rdi + lea 192(%rsp,%r12,8), %rsi + call __svml_dasinh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_asinh_sse4) + + .align 16,0x90 + +__svml_dasinh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dasinh_cout_rare_internal,@function + .size __svml_dasinh_cout_rare_internal,.-__svml_dasinh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dasinh_data_internal: + .long 3715793664 + .long 3230016299 + .long 4013928704 + .long 3189565726 + .long 3699038248 + .long 3230016303 + .long 4255595370 + .long 3189567439 + .long 3648859040 + .long 3230016307 + .long 1732833791 + .long 3189567296 + .long 3565385952 + .long 3230016311 + .long 2485752410 + .long 3189567274 + .long 3448748152 + .long 3230016315 + .long 3514744523 + .long 3189567800 + .long 3299074072 + .long 3230016319 + .long 3686511262 + .long 3189567474 + .long 3116491376 + .long 3230016323 + .long 716063611 + .long 3189567908 + .long 2901127016 + .long 3230016327 + .long 354437295 + .long 3189567291 + .long 2653107184 + .long 3230016331 + .long 3777462366 + .long 3189567264 + .long 2372557360 + .long 3230016335 + .long 3590663412 + .long 3189567498 + .long 2059602304 + .long 3230016339 + .long 1680795031 + .long 3189567428 + .long 1714366048 + .long 3230016343 + .long 2010344982 + .long 3189567986 + .long 1336971936 + .long 3230016347 + .long 166254822 + .long 3189567184 + .long 927542568 + .long 3230016351 + .long 59552610 + .long 3189567972 + .long 486199888 + .long 3230016355 + .long 2268824919 + .long 3189567664 + .long 13065112 + .long 3230016359 + .long 3005381643 + .long 3189567835 + .long 3803226080 + .long 3230016362 + .long 4018973165 + .long 3189567825 + .long 3266868056 + .long 3230016366 + .long 3693925101 + .long 3189567457 + .long 2699077504 + .long 3230016370 + .long 4005905743 + .long 3189567697 + .long 2099972936 + .long 3230016374 + .long 3580935118 + .long 3189567215 + .long 1469672176 + .long 3230016378 + .long 2928784295 + .long 3189567129 + .long 808292392 + .long 3230016382 + .long 674298833 + .long 3189567553 + .long 115950104 + .long 3230016386 + .long 2555938320 + .long 3189567208 + .long 3687728456 + .long 3230016389 + .long 532458218 + .long 3189567130 + .long 2933808064 + .long 3230016393 + .long 3888913110 + .long 3189567192 + .long 2149270784 + .long 3230016397 + .long 2365955494 + .long 3189567756 + .long 1334230552 + .long 3230016401 + .long 3325722981 + .long 3189567206 + .long 488800640 + .long 3230016405 + .long 1496133617 + .long 3189567683 + .long 3908061016 + .long 3230016408 + .long 1824836379 + .long 3189567490 + .long 3002189112 + .long 3230016412 + .long 1222174320 + .long 3189567837 + .long 2066263648 + .long 3230016416 + .long 2472769660 + .long 3189567285 + .long 1100395408 + .long 3230016420 + .long 447932460 + .long 3189567455 + .long 104694584 + .long 3230016424 + .long 1006807684 + .long 3189567460 + .long 3374238048 + .long 3230016427 + .long 4121834935 + .long 3189567556 + .long 2319200184 + .long 3230016431 + .long 3019906587 + .long 3189567664 + .long 1234656664 + .long 3230016435 + .long 3882744783 + .long 3189567930 + .long 120715280 + .long 3230016439 + .long 1927363170 + .long 3189567242 + .long 3272450504 + .long 3230016442 + .long 8203115 + .long 3189567876 + .long 2100034368 + .long 3230016446 + .long 1260625560 + .long 3189567855 + .long 898540192 + .long 3230016450 + .long 1791679111 + .long 3189567639 + .long 3963040720 + .long 3230016453 + .long 831133439 + .long 3189567590 + .long 2703706240 + .long 3230016457 + .long 2803140504 + .long 3189567482 + .long 1415608352 + .long 3230016461 + .long 2955844462 + .long 3189568058 + .long 98850816 + .long 3230016465 + .long 4017967070 + .long 3189567455 + .long 3048504096 + .long 3230016468 + .long 3974385451 + .long 3189567871 + .long 1674736240 + .long 3230016472 + .long 2424114556 + .long 3189567887 + .long 272616624 + .long 3230016476 + .long 4261883032 + .long 3189567073 + .long 3137214056 + .long 3230016479 + .long 3716750895 + .long 3189567522 + .long 1678694944 + .long 3230016483 + .long 498025304 + .long 3189567180 + .long 192127016 + .long 3230016487 + .long 1011852160 + .long 3189567511 + .long 2972577480 + .long 3230016490 + .long 558940916 + .long 3189567850 + .long 1430211120 + .long 3230016494 + .long 2550865739 + .long 3189567935 + .long 4155061376 + .long 3230016497 + .long 1930847170 + .long 3189567371 + .long 2557291968 + .long 3230016501 + .long 1716354804 + .long 3189567130 + .long 931967984 + .long 3230016505 + .long 2729403392 + .long 3189567981 + .long 3574154016 + .long 3230016508 + .long 1067280599 + .long 3189567890 + .long 1894012232 + .long 3230016512 + .long 2094260282 + .long 3189567604 + .long 186606176 + .long 3230016516 + .long 3897933165 + .long 3189568046 + .long 2746998904 + .long 3230016519 + .long 1935720459 + .long 3189567701 + .long 985351064 + .long 3230016523 + .long 2170344821 + .long 3189567164 + .long 3491691984 + .long 3230016526 + .long 4220979537 + .long 3189567547 + .long 1676181328 + .long 3230016530 + .long 1953924393 + .long 3189567854 + .long 4128847448 + .long 3230016533 + .long 1689829067 + .long 3189567468 + .long 2259849008 + .long 3230016537 + .long 2367753130 + .long 3189567619 + .long 364246088 + .long 3230016541 + .long 2263309073 + .long 3189567722 + .long 2737098280 + .long 3230016544 + .long 2366756869 + .long 3189567856 + .long 788562816 + .long 3230016548 + .long 2294653975 + .long 3189567145 + .long 3108665616 + .long 3230016551 + .long 1786494117 + .long 3189567254 + .long 1107562960 + .long 3230016555 + .long 3655887416 + .long 3189567689 + .long 3375279848 + .long 3230016558 + .long 1178948625 + .long 3189567241 + .long 1321971608 + .long 3230016562 + .long 1620080441 + .long 3189567466 + .long 3537662304 + .long 3230016565 + .long 154455618 + .long 3189567981 + .long 1432506360 + .long 3230016569 + .long 3128192125 + .long 3189567889 + .long 3596526920 + .long 3230016572 + .long 2026842750 + .long 3189567212 + .long 1439877480 + .long 3230016576 + .long 1384431897 + .long 3189567284 + .long 3552580280 + .long 3230016579 + .long 1999983129 + .long 3189568079 + .long 1344787944 + .long 3230016583 + .long 4035436820 + .long 3189567579 + .long 3406521808 + .long 3230016586 + .long 77799817 + .long 3189567285 + .long 1147933592 + .long 3230016590 + .long 1261060207 + .long 3189567477 + .long 3159043768 + .long 3230016593 + .long 2102717775 + .long 3189567605 + .long 850003184 + .long 3230016597 + .long 161472469 + .long 3189567688 + .long 2810831440 + .long 3230016600 + .long 1937336881 + .long 3189567665 + .long 451678520 + .long 3230016604 + .long 2268353549 + .long 3189567773 + .long 2362563168 + .long 3230016607 + .long 1785871595 + .long 3189567889 + .long 4248601816 + .long 3230016610 + .long 2434669991 + .long 3189567898 + .long 1814910472 + .long 3230016614 + .long 2666999375 + .long 3189568058 + .long 3651506624 + .long 3230016617 + .long 1033139811 + .long 3189567312 + .long 1168538136 + .long 3230016621 + .long 4004618418 + .long 3189567740 + .long 2956021672 + .long 3230016624 + .long 3799928764 + .long 3189567751 + .long 424104288 + .long 3230016628 + .long 3650233137 + .long 3189567549 + .long 2162801816 + .long 3230016631 + .long 437313833 + .long 3189567438 + .long 3877227800 + .long 3230016634 + .long 2138293494 + .long 3189567140 + .long 1272495376 + .long 3230016638 + .long 2891370752 + .long 3189567168 + .long 2938619176 + .long 3230016641 + .long 1704142730 + .long 3189567114 + .long 285744240 + .long 3230016645 + .long 500817607 + .long 3189568035 + .long 1903884424 + .long 3230016648 + .long 3102571944 + .long 3189567668 + .long 3498151272 + .long 3230016651 + .long 2374193154 + .long 3189567933 + .long 773655960 + .long 3230016655 + .long 2898331636 + .long 3189568089 + .long 2320411168 + .long 3230016658 + .long 1983295500 + .long 3189567113 + .long 3843527280 + .long 3230016661 + .long 2132853542 + .long 3189567093 + .long 1048114320 + .long 3230016665 + .long 3551155364 + .long 3189567407 + .long 2524183824 + .long 3230016668 + .long 2564000663 + .long 3189567090 + .long 3976845048 + .long 3230016671 + .long 361581803 + .long 3189567196 + .long 1111206880 + .long 3230016675 + .long 696765230 + .long 3189568040 + .long 2517279744 + .long 3230016678 + .long 941542475 + .long 3189567463 + .long 3900171776 + .long 3230016681 + .long 2377895552 + .long 3189567282 + .long 964990760 + .long 3230016685 + .long 1173605489 + .long 3189567454 + .long 2301746008 + .long 3230016688 + .long 3096720313 + .long 3189567400 + .long 3615544576 + .long 3230016691 + .long 1942008121 + .long 3189567335 + .long 611493160 + .long 3230016695 + .long 3375481119 + .long 3189567537 + .long 1879599992 + .long 3230016698 + .long 4103239143 + .long 3189567624 + .long 3124971056 + .long 3230016701 + .long 3773474925 + .long 3189567869 + .long 52711992 + .long 3230016705 + .long 2465315445 + .long 3189567444 + .long 1252829960 + .long 3230016708 + .long 1041581158 + .long 3189567781 + .long 2430429904 + .long 3230016711 + .long 166620501 + .long 3189567739 + .long 3585583704 + .long 3230016714 + .long 2379237630 + .long 3189567984 + .long 423395616 + .long 3230016718 + .long 134834559 + .long 3189567178 + .long 1533871416 + .long 3230016721 + .long 1449318760 + .long 3189567373 + .long 2622114680 + .long 3230016724 + .long 3042372984 + .long 3189567127 + .long 3688195920 + .long 3230016727 + .long 1265290101 + .long 3189567921 + .long 437218048 + .long 3230016731 + .long 2248549362 + .long 3189567262 + .long 1459185496 + .long 3230016734 + .long 1293250365 + .long 3189567151 + .long 2459200496 + .long 3230016737 + .long 313786605 + .long 3189567180 + .long 3437332240 + .long 3230016740 + .long 3289151823 + .long 3189567872 + .long 98682312 + .long 3230016744 + .long 2693758821 + .long 3189567877 + .long 1033253848 + .long 3230016747 + .long 4237443192 + .long 3189567301 + .long 1946147760 + .long 3230016750 + .long 4099404586 + .long 3189567972 + .long 2837431968 + .long 3230016753 + .long 343640666 + .long 3189567552 + .long 3707174040 + .long 3230016756 + .long 4238401458 + .long 3189567983 + .long 260473960 + .long 3230016760 + .long 21423548 + .long 3189567559 + .long 1087333264 + .long 3230016763 + .long 3515278593 + .long 3189567309 + .long 1892851296 + .long 3230016766 + .long 629106375 + .long 3189567166 + .long 2677094384 + .long 3230016769 + .long 2048670044 + .long 3189567227 + .long 3440128544 + .long 3230016772 + .long 3739217292 + .long 3189568009 + .long 4182019504 + .long 3230016775 + .long 3662039444 + .long 3189567618 + .long 607865368 + .long 3230016779 + .long 1766486991 + .long 3189567112 + .long 1307665824 + .long 3230016782 + .long 512689457 + .long 3189567670 + .long 1986518392 + .long 3230016785 + .long 1704577378 + .long 3189567760 + .long 2644487576 + .long 3230016788 + .long 4001935135 + .long 3189567473 + .long 3281637576 + .long 3230016791 + .long 1184452342 + .long 3189567735 + .long 3898032312 + .long 3230016794 + .long 2714793956 + .long 3189567464 + .long 198768096 + .long 3230016798 + .long 3657654418 + .long 3189567905 + .long 773842856 + .long 3230016801 + .long 2809688013 + .long 3189567736 + .long 1328352328 + .long 3230016804 + .long 390727591 + .long 3189567393 + .long 1862359256 + .long 3230016807 + .long 1135237925 + .long 3189567248 + .long 2375926096 + .long 3230016810 + .long 1377572509 + .long 3189567837 + .long 2869115032 + .long 3230016813 + .long 3148383775 + .long 3189568032 + .long 3341987960 + .long 3230016816 + .long 3809536738 + .long 3189567313 + .long 3794606472 + .long 3230016819 + .long 4243445934 + .long 3189568034 + .long 4227031920 + .long 3230016822 + .long 1302642088 + .long 3189567451 + .long 344358048 + .long 3230016826 + .long 3239125361 + .long 3189567151 + .long 736580224 + .long 3230016829 + .long 3753161736 + .long 3189567129 + .long 1108791648 + .long 3230016832 + .long 624357483 + .long 3189568045 + .long 1461052568 + .long 3230016835 + .long 3153257064 + .long 3189567338 + .long 1793422920 + .long 3230016838 + .long 2705820149 + .long 3189567635 + .long 2105962400 + .long 3230016841 + .long 911564860 + .long 3189567737 + .long 2398730424 + .long 3230016844 + .long 1086958332 + .long 3189567948 + .long 2671786152 + .long 3230016847 + .long 1598984535 + .long 3189567210 + .long 2925188456 + .long 3230016850 + .long 4113385879 + .long 3189567401 + .long 3158995968 + .long 3230016853 + .long 2426812671 + .long 3189567396 + .long 3373267048 + .long 3230016856 + .long 3480845679 + .long 3189567359 + .long 3568059792 + .long 3230016859 + .long 3306230729 + .long 3189567924 + .long 3743432056 + .long 3230016862 + .long 3853821277 + .long 3189567317 + .long 3899441408 + .long 3230016865 + .long 2049309148 + .long 3189567699 + .long 4036145192 + .long 3230016868 + .long 2667321817 + .long 3189567166 + .long 4153600472 + .long 3230016871 + .long 3540670389 + .long 3189567114 + .long 4251864072 + .long 3230016874 + .long 404207883 + .long 3189567310 + .long 36025272 + .long 3230016878 + .long 2837617046 + .long 3189567103 + .long 96074976 + .long 3230016881 + .long 1231280453 + .long 3189567669 + .long 137101976 + .long 3230016884 + .long 792492437 + .long 3189567071 + .long 159162080 + .long 3230016887 + .long 2385525292 + .long 3189567618 + .long 162310880 + .long 3230016890 + .long 3272051015 + .long 3189567858 + .long 146603712 + .long 3230016893 + .long 623573538 + .long 3189567881 + .long 112095672 + .long 3230016896 + .long 2151835939 + .long 3189567451 + .long 58841608 + .long 3230016899 + .long 958006130 + .long 3189567217 + .long 4281863424 + .long 3230016901 + .long 549948691 + .long 3189567863 + .long 4191280920 + .long 3230016904 + .long 4177689987 + .long 3189567217 + .long 4082115512 + .long 3230016907 + .long 2895765193 + .long 3189567599 + .long 3954421112 + .long 3230016910 + .long 1055606208 + .long 3189567799 + .long 3808251392 + .long 3230016913 + .long 1966521217 + .long 3189567351 + .long 3643659776 + .long 3230016916 + .long 1017382758 + .long 3189567732 + .long 3460699480 + .long 3230016919 + .long 3485890155 + .long 3189567410 + .long 3259423472 + .long 3230016922 + .long 2657419170 + .long 3189567140 + .long 3039884488 + .long 3230016925 + .long 4198858220 + .long 3189568080 + .long 2802135064 + .long 3230016928 + .long 2343740494 + .long 3189567869 + .long 2546227480 + .long 3230016931 + .long 2423084215 + .long 3189567957 + .long 2272213808 + .long 3230016934 + .long 3887273856 + .long 3189567631 + .long 1980145888 + .long 3230016937 + .long 3992755473 + .long 3189567251 + .long 1670075336 + .long 3230016940 + .long 722498073 + .long 3189567389 + .long 1342053552 + .long 3230016943 + .long 3573506400 + .long 3189567965 + .long 996131728 + .long 3230016946 + .long 714695829 + .long 3189567392 + .long 632360808 + .long 3230016949 + .long 2816704229 + .long 3189567846 + .long 250791552 + .long 3230016952 + .long 386951333 + .long 3189567243 + .long 4146441768 + .long 3230016954 + .long 2155319939 + .long 3189567580 + .long 3729427184 + .long 3230016957 + .long 4227840137 + .long 3189567931 + .long 3294765200 + .long 3230016960 + .long 1718354212 + .long 3189567672 + .long 2842505696 + .long 3230016963 + .long 4243880582 + .long 3189567656 + .long 2372698352 + .long 3230016966 + .long 3784093842 + .long 3189567302 + .long 1885392624 + .long 3230016969 + .long 2318733051 + .long 3189567813 + .long 1380637784 + .long 3230016972 + .long 497929746 + .long 3189567210 + .long 858482864 + .long 3230016975 + .long 3218883783 + .long 3189567649 + .long 318976720 + .long 3230016978 + .long 3492652862 + .long 3189567382 + .long 4057135272 + .long 3230016980 + .long 473724673 + .long 3189568069 + .long 3483072376 + .long 3230016983 + .long 150485010 + .long 3189567757 + .long 2891803552 + .long 3230016986 + .long 3028900958 + .long 3189567173 + .long 2283376816 + .long 3230016989 + .long 321242596 + .long 3189567822 + .long 1657840008 + .long 3230016992 + .long 151305746 + .long 3189568029 + .long 1015240760 + .long 3230016995 + .long 2208026401 + .long 3189567184 + .long 355626480 + .long 3230016998 + .long 2487781842 + .long 3189567931 + .long 3974011720 + .long 3230017000 + .long 2391142094 + .long 3189567091 + .long 3280508896 + .long 3230017003 + .long 734457618 + .long 3189568092 + .long 2570132168 + .long 3230017006 + .long 3070902701 + .long 3189567794 + .long 1842928168 + .long 3230017009 + .long 1110877923 + .long 3189567896 + .long 1098943352 + .long 3230017012 + .long 3880360185 + .long 3189567898 + .long 338223984 + .long 3230017015 + .long 391995809 + .long 3189567294 + .long 3855783416 + .long 3230017017 + .long 4186345433 + .long 3189567745 + .long 3061732952 + .long 3230017020 + .long 3682852050 + .long 3189567081 + .long 2251085560 + .long 3230017023 + .long 3057037137 + .long 3189567617 + .long 1423886760 + .long 3230017026 + .long 3352664894 + .long 3189567074 + .long 580181848 + .long 3230017029 + .long 1170568982 + .long 3189567927 + .long 4014983272 + .long 3230017031 + .long 671148579 + .long 3189567293 + .long 3138401368 + .long 3230017034 + .long 267496658 + .long 3189567304 + .long 2245448192 + .long 3230017037 + .long 1285167087 + .long 3189568066 + .long 1336168336 + .long 3230017040 + .long 4259909589 + .long 3189567788 + .long 410606184 + .long 3230017043 + .long 1494078902 + .long 3189568031 + .long 3763773256 + .long 3230017045 + .long 261935754 + .long 3189567685 + .long 2805778992 + .long 3230017048 + .long 3679585605 + .long 3189567195 + .long 1831634536 + .long 3230017051 + .long 809066513 + .long 3189567664 + .long 841383576 + .long 3230017054 + .long 385945238 + .long 3189567897 + .long 4130036912 + .long 3230017056 + .long 825579909 + .long 3189567603 + .long 3107703272 + .long 3230017059 + .long 3911295427 + .long 3189567514 + .long 2069393104 + .long 3230017062 + .long 3473784588 + .long 3189567461 + .long 1015149384 + .long 3230017065 + .long 629861200 + .long 3189567515 + .long 4239982216 + .long 3230017067 + .long 2659142760 + .long 3189567083 + .long 3153999632 + .long 3230017070 + .long 1251680713 + .long 3189567080 + .long 2052211384 + .long 3230017073 + .long 3168705163 + .long 3189567992 + .long 934659776 + .long 3230017076 + .long 1674797624 + .long 3189567952 + .long 4096354216 + .long 3230017078 + .long 437847902 + .long 3189567971 + .long 2947402064 + .long 3230017081 + .long 4024401533 + .long 3189567960 + .long 1782812400 + .long 3230017084 + .long 786902458 + .long 3189567873 + .long 602626840 + .long 3230017087 + .long 2593792633 + .long 3189567812 + .long 3701854136 + .long 3230017089 + .long 3989721221 + .long 3189567126 + .long 2490600968 + .long 3230017092 + .long 2545746866 + .long 3189567591 + .long 1263875768 + .long 3230017095 + .long 3115843521 + .long 3189567377 + .long 21719488 + .long 3230017098 + .long 1730226063 + .long 3189567307 + .long 3059140216 + .long 3230017100 + .long 690350922 + .long 3189567892 + .long 1786244008 + .long 3230017103 + .long 3350998585 + .long 3189567394 + .long 498038616 + .long 3230017106 + .long 1499123379 + .long 3189568082 + .long 3489531672 + .long 3230017108 + .long 2598665922 + .long 3189567118 + .long 2170828712 + .long 3230017111 + .long 2436376826 + .long 3189567935 + .long 836937048 + .long 3230017114 + .long 1977004902 + .long 3189568052 + .long 3782863816 + .long 3230017116 + .long 4027224619 + .long 3189567373 + .long 2418714096 + .long 3230017119 + .long 2616869856 + .long 3189567271 + .long 1039494712 + .long 3230017122 + .long 3775628133 + .long 3189567616 + .long 3940212336 + .long 3230017124 + .long 419018052 + .long 3189567909 + .long 2530971600 + .long 3230017127 + .long 150919657 + .long 3189567379 + .long 1106778856 + .long 3230017130 + .long 2926254537 + .long 3189567139 + .long 3962640312 + .long 3230017132 + .long 1610863810 + .long 3189567216 + .long 2508660136 + .long 3230017135 + .long 1166015244 + .long 3189567672 + .long 1039844240 + .long 3230017138 + .long 645159638 + .long 3189567685 + .long 3851198376 + .long 3230017140 + .long 2449439581 + .long 3189567695 + .long 2352826264 + .long 3230017143 + .long 1619104640 + .long 3189567458 + .long 839733360 + .long 3230017146 + .long 2427070371 + .long 3189567165 + .long 3606924968 + .long 3230017148 + .long 2166480890 + .long 3189567544 + .long 2064504368 + .long 3230017151 + .long 2283025905 + .long 3189567907 + .long 507476584 + .long 3230017154 + .long 3923356754 + .long 3189567272 + .long 3230846472 + .long 3230017156 + .long 805331677 + .long 3189567533 + .long 1644716880 + .long 3230017159 + .long 3790469685 + .long 3189567406 + .long 44092384 + .long 3230017162 + .long 2689788214 + .long 3189567653 + .long 2723977432 + .long 3230017164 + .long 2762250221 + .long 3189567072 + .long 1094474416 + .long 3230017167 + .long 2781925193 + .long 3189567716 + .long 3745554800 + .long 3230017169 + .long 593120878 + .long 3189567817 + .long 2087320704 + .long 3230017172 + .long 403414988 + .long 3189568021 + .long 414776008 + .long 3230017175 + .long 359307328 + .long 3189567387 + .long 3022924432 + .long 3230017177 + .long 3373547966 + .long 3189567572 + .long 1321867688 + .long 3230017180 + .long 3978711340 + .long 3189567805 + .long 3901576528 + .long 3230017182 + .long 2765663238 + .long 3189568046 + .long 2172152384 + .long 3230017185 + .long 1181150766 + .long 3189568053 + .long 428598440 + .long 3230017188 + .long 2473022131 + .long 3189567471 + .long 2965917728 + .long 3230017190 + .long 1621744488 + .long 3189567971 + .long 1194211288 + .long 3230017193 + .long 2931299013 + .long 3189567190 + .long 3703449168 + .long 3230017195 + .long 873154950 + .long 3189568039 + .long 1903732144 + .long 3230017198 + .long 1510784525 + .long 3189567521 + .long 90062704 + .long 3230017201 + .long 2918231590 + .long 3189568086 + .long 2557443240 + .long 3230017203 + .long 3329944838 + .long 3189567475 + .long 715974088 + .long 3230017206 + .long 2679715410 + .long 3189568021 + .long 3155624672 + .long 3230017208 + .long 1841110143 + .long 3189567518 + .long 1286495072 + .long 3230017211 + .long 3881638924 + .long 3189567497 + .long 3698554440 + .long 3230017213 + .long 167906931 + .long 3189567169 + .long 1801902600 + .long 3230017216 + .long 1468264167 + .long 3189567597 + .long 4186508448 + .long 3230017218 + .long 2400624638 + .long 3189567691 + .long 2262471560 + .long 3230017221 + .long 3796182064 + .long 3189567357 + .long 324793264 + .long 3230017224 + .long 2801238958 + .long 3189567581 + .long 2668474776 + .long 3230017226 + .long 2273142813 + .long 3189567436 + .long 703615288 + .long 3230017229 + .long 831867571 + .long 3189567237 + .long 3020183048 + .long 3230017231 + .long 2238048829 + .long 3189567595 + .long 1028277008 + .long 3230017234 + .long 1163763070 + .long 3189567452 + .long 3317865168 + .long 3230017236 + .long 1206450788 + .long 3189567228 + .long 1299046216 + .long 3230017239 + .long 737162226 + .long 3189567879 + .long 3561787920 + .long 3230017241 + .long 2433253277 + .long 3189567901 + .long 1516188728 + .long 3230017244 + .long 3561277099 + .long 3189567506 + .long 3752216144 + .long 3230017246 + .long 1385095507 + .long 3189567674 + .long 1679968384 + .long 3230017249 + .long 829462408 + .long 3189567156 + .long 3889412704 + .long 3230017251 + .long 2939266725 + .long 3189567673 + .long 1790647080 + .long 3230017254 + .long 4214100827 + .long 3189567848 + .long 3973638544 + .long 3230017256 + .long 2537954451 + .long 3189567376 + .long 1848484816 + .long 3230017259 + .long 1128740312 + .long 3189567098 + .long 4005152680 + .long 3230017261 + .long 1932232434 + .long 3189568053 + .long 1853739648 + .long 3230017264 + .long 1359710694 + .long 3189567457 + .long 3984212256 + .long 3230017266 + .long 1268482287 + .long 3189567990 + .long 1806667776 + .long 3230017269 + .long 839689017 + .long 3189567631 + .long 3911072520 + .long 3230017271 + .long 3727165601 + .long 3189567921 + .long 1707523520 + .long 3230017274 + .long 1836550952 + .long 3189567895 + .long 3785986872 + .long 3230017276 + .long 172951407 + .long 3189567220 + .long 1556559360 + .long 3230017279 + .long 1166449891 + .long 3189567294 + .long 3609206856 + .long 3230017281 + .long 28625366 + .long 3189567222 + .long 1354025920 + .long 3230017284 + .long 4038426582 + .long 3189567978 + .long 3380982208 + .long 3230017286 + .long 2756284659 + .long 3189567362 + .long 1100172048 + .long 3230017289 + .long 848830252 + .long 3189567230 + .long 3101560856 + .long 3230017291 + .long 1868170309 + .long 3189567423 + .long 795244752 + .long 3230017294 + .long 3128260908 + .long 3189567885 + .long 2771188936 + .long 3230017296 + .long 1691261279 + .long 3189567706 + .long 439489304 + .long 3230017299 + .long 2886711298 + .long 3189567236 + .long 2390110824 + .long 3230017301 + .long 1311431101 + .long 3189567133 + .long 33149176 + .long 3230017304 + .long 3042183093 + .long 3189567401 + .long 1958569120 + .long 3230017306 + .long 3174208880 + .long 3189567462 + .long 3871433416 + .long 3230017308 + .long 302374021 + .long 3189567243 + .long 1476804712 + .long 3230017311 + .long 712531519 + .long 3189567241 + .long 3364647440 + .long 3230017313 + .long 3705318448 + .long 3189567568 + .long 945056744 + .long 3230017316 + .long 2424171915 + .long 3189568016 + .long 2807996856 + .long 3230017318 + .long 199511961 + .long 3189567094 + .long 363562688 + .long 3230017321 + .long 3766234060 + .long 3189567214 + .long 2201718256 + .long 3230017323 + .long 1956195829 + .long 3189567592 + .long 4027525584 + .long 3230017325 + .long 2891794585 + .long 3189567375 + .long 1546046576 + .long 3230017328 + .long 843173017 + .long 3189567760 + .long 3347244936 + .long 3230017330 + .long 1609532414 + .long 3189567955 + .long 841215080 + .long 3230017333 + .long 3356704285 + .long 3189567294 + .long 2617920488 + .long 3230017335 + .long 1641729240 + .long 3189567346 + .long 87455368 + .long 3230017338 + .long 1455753222 + .long 3189567878 + .long 1839783016 + .long 3230017340 + .long 1936589978 + .long 3189567944 + .long 3579964728 + .long 3230017342 + .long 1006586129 + .long 3189567993 + .long 1013061704 + .long 3230017345 + .long 2766825484 + .long 3189567880 + .long 2729036928 + .long 3230017347 + .long 1888685184 + .long 3189567954 + .long 137984104 + .long 3230017350 + .long 848046306 + .long 3189568090 + .long 1829866024 + .long 3230017352 + .long 4178224056 + .long 3189567750 + .long 3509743488 + .long 3230017354 + .long 2637072474 + .long 3189567070 + .long 882677184 + .long 3230017357 + .long 3133305384 + .long 3189567936 + .long 2538629624 + .long 3230017359 + .long 1343200028 + .long 3189567905 + .long 4182661312 + .long 3230017361 + .long 107195460 + .long 3189567427 + .long 1519832648 + .long 3230017364 + .long 602154914 + .long 3189567857 + .long 3140105848 + .long 3230017366 + .long 659160740 + .long 3189567417 + .long 453573824 + .long 3230017369 + .long 236889930 + .long 3189567396 + .long 2050198592 + .long 3230017371 + .long 1175634921 + .long 3189567087 + .long 3635040168 + .long 3230017373 + .long 1241855527 + .long 3189567941 + .long 913158504 + .long 3230017376 + .long 3947904414 + .long 3189567477 + .long 2474515312 + .long 3230017378 + .long 1206979822 + .long 3189567534 + .long 4024170344 + .long 3230017380 + .long 1847397805 + .long 3189567152 + .long 1267183240 + .long 3230017383 + .long 2916539301 + .long 3189567754 + .long 2793515456 + .long 3230017385 + .long 2568213263 + .long 3189568078 + .long 13259168 + .long 3230017388 + .long 3003245330 + .long 3189567303 + .long 1516375624 + .long 3230017390 + .long 3472633477 + .long 3189567153 + .long 3007924104 + .long 3230017392 + .long 532406289 + .long 3189567855 + .long 192963816 + .long 3230017395 + .long 4149310663 + .long 3189567165 + .long 1661455728 + .long 3230017397 + .long 946970842 + .long 3189567598 + .long 3118458864 + .long 3230017399 + .long 2040517972 + .long 3189567254 + .long 269032128 + .long 3230017402 + .long 3669971831 + .long 3189568072 + .long 1703136256 + .long 3230017404 + .long 2375197389 + .long 3189567687 + .long 3125829976 + .long 3230017406 + .long 296757744 + .long 3189567673 + .long 242171944 + .long 3230017409 + .long 611424102 + .long 3189567452 + .long 1642122608 + .long 3230017411 + .long 1700968423 + .long 3189567419 + .long 3030740440 + .long 3230017413 + .long 2947762668 + .long 3189567968 + .long 113083840 + .long 3230017416 + .long 690901756 + .long 3189567496 + .long 1479112984 + .long 3230017418 + .long 121139903 + .long 3189567571 + .long 2833886088 + .long 3230017420 + .long 173386055 + .long 3189567866 + .long 4177428584 + .long 3230017422 + .long 2964718132 + .long 3189567231 + .long 1214798496 + .long 3230017425 + .long 541562024 + .long 3189567842 + .long 2535955680 + .long 3230017427 + .long 3368765612 + .long 3189568076 + .long 3845958008 + .long 3230017429 + .long 3194541507 + .long 3189567689 + .long 849863256 + .long 3230017432 + .long 3443356552 + .long 3189567858 + .long 2137631024 + .long 3230017434 + .long 1180679397 + .long 3189567138 + .long 3414318912 + .long 3230017436 + .long 2261929999 + .long 3189567651 + .long 384984464 + .long 3230017439 + .long 954057098 + .long 3189567971 + .long 1639587024 + .long 3230017441 + .long 1346995839 + .long 3189567263 + .long 2883183944 + .long 3230017443 + .long 3253373727 + .long 3189567382 + .long 4115799808 + .long 3230017445 + .long 4143791142 + .long 3189567800 + .long 1042491824 + .long 3230017448 + .long 4240432954 + .long 3189567700 + .long 2253218992 + .long 3230017450 + .long 1891708033 + .long 3189568072 + .long 3453038360 + .long 3230017452 + .long 710292621 + .long 3189567662 + .long 347006880 + .long 3230017455 + .long 2712254611 + .long 3189567116 + .long 1525083304 + .long 3230017457 + .long 349583280 + .long 3189568004 + .long 2692324448 + .long 3230017459 + .long 1803227864 + .long 3189567740 + .long 3848754312 + .long 3230017461 + .long 3644606976 + .long 3189567826 + .long 699429536 + .long 3230017464 + .long 1067153346 + .long 3189567751 + .long 1834308568 + .long 3230017466 + .long 1335350692 + .long 3189567081 + .long 2958447872 + .long 3230017468 + .long 1803696599 + .long 3189567557 + .long 4071871152 + .long 3230017470 + .long 1232152547 + .long 3189568017 + .long 879634736 + .long 3230017473 + .long 1455437901 + .long 3189567512 + .long 1971696744 + .long 3230017475 + .long 3708110750 + .long 3189567399 + .long 3053113344 + .long 3230017477 + .long 3907324819 + .long 3189567290 + .long 4123907920 + .long 3230017479 + .long 4080000314 + .long 3189567141 + .long 889136480 + .long 3230017482 + .long 1286519001 + .long 3189567298 + .long 1938756848 + .long 3230017484 + .long 1292347423 + .long 3189567513 + .long 2977824880 + .long 3230017486 + .long 1159725249 + .long 3189568015 + .long 4006363664 + .long 3230017488 + .long 895621348 + .long 3189567502 + .long 729428896 + .long 3230017491 + .long 1212894155 + .long 3189567280 + .long 1736978096 + .long 3230017493 + .long 296117275 + .long 3189567210 + .long 2734066816 + .long 3230017495 + .long 2463481211 + .long 3189567796 + .long 3720717848 + .long 3230017497 + .long 76524950 + .long 3189567159 + .long 401986584 + .long 3230017500 + .long 1718551671 + .long 3189567216 + .long 1367830248 + .long 3230017502 + .long 3568874946 + .long 3189567584 + .long 2323304104 + .long 3230017504 + .long 2763456396 + .long 3189567666 + .long 3268430632 + .long 3230017506 + .long 1208592501 + .long 3189567715 + .long 4203232240 + .long 3230017508 + .long 4148835618 + .long 3189567851 + .long 832763976 + .long 3230017511 + .long 610418007 + .long 3189567082 + .long 1746982680 + .long 3230017513 + .long 3035714190 + .long 3189567431 + .long 2650943256 + .long 3230017515 + .long 85931336 + .long 3189567843 + .long 3544667832 + .long 3230017517 + .long 3006685957 + .long 3189567286 + .long 133211144 + .long 3230017520 + .long 878859600 + .long 3189567873 + .long 1006529776 + .long 3230017522 + .long 854333969 + .long 3189567724 + .long 1869678336 + .long 3230017524 + .long 3058646748 + .long 3189567155 + .long 2722678648 + .long 3230017526 + .long 360733640 + .long 3189567693 + .long 3565552488 + .long 3230017528 + .long 3015564990 + .long 3189568013 + .long 103354256 + .long 3230017531 + .long 2286095909 + .long 3189568081 + .long 926040176 + .long 3230017533 + .long 1899270393 + .long 3189567137 + .long 1738664488 + .long 3230017535 + .long 1377641292 + .long 3189567833 + .long 2541248696 + .long 3230017537 + .long 4266686523 + .long 3189568077 + .long 3333814224 + .long 3230017539 + .long 4018775563 + .long 3189567218 + .long 4116382408 + .long 3230017541 + .long 3373913644 + .long 3189567103 + .long 594007232 + .long 3230017544 + .long 2818265402 + .long 3189568021 + .long 1356644520 + .long 3230017546 + .long 1075601108 + .long 3189567716 + .long 2109348112 + .long 3230017548 + .long 3342127702 + .long 3189567566 + .long 2852139088 + .long 3230017550 + .long 2910355434 + .long 3189567504 + .long 3585038464 + .long 3230017552 + .long 611858749 + .long 3189567074 + .long 13099880 + .long 3230017555 + .long 1954698831 + .long 3189567516 + .long 726278816 + .long 3230017557 + .long 550712630 + .long 3189567710 + .long 1429628792 + .long 3230017559 + .long 3672474493 + .long 3189567278 + .long 2123170544 + .long 3230017561 + .long 1160875209 + .long 3189567651 + .long 2806924760 + .long 3230017563 + .long 2242524344 + .long 3189568000 + .long 3480912064 + .long 3230017565 + .long 2823138691 + .long 3189567327 + .long 4145152992 + .long 3230017567 + .long 3521079748 + .long 3189567568 + .long 504700744 + .long 3230017570 + .long 1136670137 + .long 3189567486 + .long 1149510328 + .long 3230017572 + .long 806933442 + .long 3189567823 + .long 1784634816 + .long 3230017574 + .long 1606084669 + .long 3189567242 + .long 2410094488 + .long 3230017576 + .long 2841342625 + .long 3189567480 + .long 3025909584 + .long 3230017578 + .long 984188059 + .long 3189567239 + .long 3632100264 + .long 3230017580 + .long 3011730434 + .long 3189567337 + .long 4228686632 + .long 3230017582 + .long 328432041 + .long 3189567676 + .long 520721440 + .long 3230017585 + .long 2057225622 + .long 3189567268 + .long 1098159248 + .long 3230017587 + .long 3150727306 + .long 3189567348 + .long 1666052680 + .long 3230017589 + .long 3291380622 + .long 3189567307 + .long 2224421584 + .long 3230017591 + .long 3570771984 + .long 3189567798 + .long 2773285760 + .long 3230017593 + .long 2427604440 + .long 3189567698 + .long 3312664936 + .long 3230017595 + .long 3733848165 + .long 3189567211 + .long 3842578768 + .long 3230017597 + .long 2673912350 + .long 3189567904 + .long 68079584 + .long 3230017600 + .long 960995892 + .long 3189567616 + .long 579121512 + .long 3230017602 + .long 4150493479 + .long 3189567659 + .long 1080756744 + .long 3230017604 + .long 1054941272 + .long 3189567735 + .long 1573004704 + .long 3230017606 + .long 2574365292 + .long 3189568007 + .long 2055884768 + .long 3230017608 + .long 2507498673 + .long 3189567092 + .long 2529416224 + .long 3230017610 + .long 2082176323 + .long 3189567207 + .long 2993618320 + .long 3230017612 + .long 3719982601 + .long 3189568058 + .long 3448510256 + .long 3230017614 + .long 4104247904 + .long 3189567897 + .long 3894111152 + .long 3230017616 + .long 3735557011 + .long 3189567647 + .long 35472776 + .long 3230017619 + .long 2914260983 + .long 3189567862 + .long 462548736 + .long 3230017621 + .long 1334094042 + .long 3189567734 + .long 880390688 + .long 3230017623 + .long 1291097379 + .long 3189567171 + .long 1289017512 + .long 3230017625 + .long 1627119803 + .long 3189567853 + .long 1688448064 + .long 3230017627 + .long 3886873723 + .long 3189567117 + .long 2078701104 + .long 3230017629 + .long 627887757 + .long 3189567206 + .long 2459795360 + .long 3230017631 + .long 1722013861 + .long 3189567101 + .long 2831749488 + .long 3230017633 + .long 4163262354 + .long 3189567678 + .long 3194582104 + .long 3230017635 + .long 4170237688 + .long 3189567639 + .long 3548311752 + .long 3230017637 + .long 47563772 + .long 3189567637 + .long 3892956928 + .long 3230017639 + .long 2990136007 + .long 3189567231 + .long 4228536056 + .long 3230017641 + .long 4294532248 + .long 3189567995 + .long 260100240 + .long 3230017644 + .long 2060709623 + .long 3189567397 + .long 577602376 + .long 3230017646 + .long 1488525373 + .long 3189568044 + .long 886093456 + .long 3230017648 + .long 1657840200 + .long 3189567474 + .long 1185591680 + .long 3230017650 + .long 3155771782 + .long 3189567399 + .long 1476115208 + .long 3230017652 + .long 2195162329 + .long 3189567591 + .long 1757682144 + .long 3230017654 + .long 1292806663 + .long 3189567956 + .long 2030310544 + .long 3230017656 + .long 2151451208 + .long 3189567540 + .long 2294018392 + .long 3230017658 + .long 2224122735 + .long 3189567630 + .long 2548823632 + .long 3230017660 + .long 3554417607 + .long 3189567684 + .long 2794744152 + .long 3230017662 + .long 3831650627 + .long 3189567409 + .long 3031797776 + .long 3230017664 + .long 4024246224 + .long 3189567811 + .long 3260002296 + .long 3230017666 + .long 2530219738 + .long 3189567128 + .long 3479375416 + .long 3230017668 + .long 1618145996 + .long 3189568024 + .long 3689934832 + .long 3230017670 + .long 392379700 + .long 3189567378 + .long 3891698144 + .long 3230017672 + .long 55874694 + .long 3189567574 + .long 4084682928 + .long 3230017674 + .long 4294251475 + .long 3189567312 + .long 4268906688 + .long 3230017676 + .long 1899705040 + .long 3189567783 + .long 149419600 + .long 3230017679 + .long 357699389 + .long 3189567568 + .long 316173656 + .long 3230017681 + .long 3025711727 + .long 3189567790 + .long 474218920 + .long 3230017683 + .long 2921891821 + .long 3189568046 + .long 623572704 + .long 3230017685 + .long 1716968749 + .long 3189567453 + .long 764252248 + .long 3230017687 + .long 2393171526 + .long 3189567748 + .long 896274768 + .long 3230017689 + .long 1343317993 + .long 3189567172 + .long 1019657400 + .long 3230017691 + .long 1388235839 + .long 3189567661 + .long 1134417256 + .long 3230017693 + .long 2766147125 + .long 3189567706 + .long 1240571384 + .long 3230017695 + .long 2162068842 + .long 3189567499 + .long 1338136776 + .long 3230017697 + .long 4075455588 + .long 3189567932 + .long 1427130392 + .long 3230017699 + .long 1579647664 + .long 3189567555 + .long 1507569120 + .long 3230017701 + .long 3785749868 + .long 3189567715 + .long 1579469816 + .long 3230017703 + .long 2639950365 + .long 3189567469 + .long 1642849272 + .long 3230017705 + .long 3611501026 + .long 3189567698 + .long 1697724240 + .long 3230017707 + .long 15422953 + .long 3189568066 + .long 1744111424 + .long 3230017709 + .long 2642213241 + .long 3189568062 + .long 1782027472 + .long 3230017711 + .long 143606300 + .long 3189568058 + .long 1811488992 + .long 3230017713 + .long 501328690 + .long 3189567276 + .long 1832512520 + .long 3230017715 + .long 3258054578 + .long 3189567915 + .long 1845114576 + .long 3230017717 + .long 1297851139 + .long 3189568007 + .long 1849311616 + .long 3230017719 + .long 3589200000 + .long 3189567580 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 2846560486 + .long 3210737666 + .long 2729511872 + .long 3211784202 + .long 3956813460 + .long 3212307985 + .long 1796237193 + .long 3212828714 + .long 1562748889 + .long 3213092649 + .long 1602292343 + .long 3213352007 + .long 745814092 + .long 3213610865 + .long 2969306084 + .long 3213869224 + .long 3953060839 + .long 3214006263 + .long 1128703349 + .long 3214134948 + .long 1371067273 + .long 3214263386 + .long 131445019 + .long 3214391579 + .long 1427948820 + .long 3214519527 + .long 665817496 + .long 3214647232 + .long 1817459908 + .long 3214774694 + .long 242758400 + .long 3214901915 + .long 2082038134 + .long 3214981455 + .long 2300828032 + .long 3215044825 + .long 571795571 + .long 3215108076 + .long 3120479584 + .long 3215171207 + .long 3276640540 + .long 3215234220 + .long 2949178581 + .long 3215297115 + .long 4036279704 + .long 3215359892 + .long 4130528508 + .long 3215422552 + .long 813954767 + .long 3215485096 + .long 248046571 + .long 3215547523 + .long 4288926261 + .long 3215609833 + .long 1897492927 + .long 3215672029 + .long 3499237165 + .long 3215734109 + .long 2329611090 + .long 3215796075 + .long 203907094 + .long 3215857927 + .long 3222364838 + .long 3215919664 + .long 295408387 + .long 3215981289 + .long 899212401 + .long 3216012696 + .long 2606049022 + .long 3216043395 + .long 4003691233 + .long 3216074038 + .long 1675303236 + .long 3216104626 + .long 789189655 + .long 3216135158 + .long 2213928479 + .long 3216165634 + .long 2518405585 + .long 3216196055 + .long 2561783534 + .long 3216226421 + .long 3198568176 + .long 3216256732 + .long 983674944 + .long 3216286989 + .long 1057364031 + .long 3216317191 + .long 4260371496 + .long 3216347338 + .long 2838974660 + .long 3216377432 + .long 1919860988 + .long 3216407472 + .long 2330291020 + .long 3216437458 + .long 598130195 + .long 3216467391 + .long 1836782285 + .long 3216497270 + .long 2565351466 + .long 3216527096 + .long 3593575201 + .long 3216556869 + .long 1431920350 + .long 3216586590 + .long 1176515501 + .long 3216616258 + .long 3624279252 + .long 3216645873 + .long 977982819 + .long 3216675437 + .long 2616083454 + .long 3216704948 + .long 733015457 + .long 3216734408 + .long 403990373 + .long 3216763816 + .long 2405156675 + .long 3216793172 + .long 3213628385 + .long 3216822477 + .long 3597448029 + .long 3216851731 + .long 25680167 + .long 3216880935 + .long 1848308454 + .long 3216910087 + .long 1231492199 + .long 3216939189 + .long 3222364838 + .long 3216968240 + .long 4274224607 + .long 3216997241 + .long 836496059 + .long 3217026193 + .long 1119829323 + .long 3217043131 + .long 315251054 + .long 3217057557 + .long 518461891 + .long 3217071958 + .long 2094042713 + .long 3217086334 + .long 1109735857 + .long 3217100686 + .long 2221359788 + .long 3217115013 + .long 1492952593 + .long 3217129316 + .long 3576653728 + .long 3217143594 + .long 237880003 + .long 3217157849 + .long 420109003 + .long 3217172079 + .long 180120274 + .long 3217186285 + .long 4162843939 + .long 3217200466 + .long 4126536273 + .long 3217214624 + .long 417628115 + .long 3217228759 + .long 1970736719 + .long 3217242869 + .long 538873716 + .long 3217256956 + .long 758227830 + .long 3217271019 + .long 2968307242 + .long 3217285058 + .long 3211951040 + .long 3217299074 + .long 1825275166 + .long 3217313067 + .long 3437683677 + .long 3217327036 + .long 4086978021 + .long 3217340982 + .long 4104270002 + .long 3217354905 + .long 3819025464 + .long 3217368805 + .long 3559075183 + .long 3217382682 + .long 3650625670 + .long 3217396536 + .long 123302585 + .long 3217410368 + .long 1890030548 + .long 3217424176 + .long 682272600 + .long 3217437962 + .long 1114811729 + .long 3217451725 + .long 3505892050 + .long 3217465465 + .long 3877229085 + .long 3217479183 + .long 2543954549 + .long 3217492879 + .long 4114626469 + .long 3217506552 + .long 311370023 + .long 3217520204 + .long 34658569 + .long 3217533833 + .long 3593519732 + .long 3217547439 + .long 2705545195 + .long 3217561024 + .long 1971736889 + .long 3217574587 + .long 1696647441 + .long 3217588128 + .long 2183357019 + .long 3217601647 + .long 3733482817 + .long 3217615144 + .long 2352221150 + .long 3217628620 + .long 2633258676 + .long 3217642074 + .long 578912458 + .long 3217655507 + .long 780008323 + .long 3217668918 + .long 3530988084 + .long 3217682307 + .long 534951267 + .long 3217695676 + .long 673467853 + .long 3217709023 + .long 4236783385 + .long 3217722348 + .long 2923827788 + .long 3217735653 + .long 1317060595 + .long 3217748937 + .long 3997577740 + .long 3217762199 + .long 2660218276 + .long 3217775441 + .long 1883376699 + .long 3217788662 + .long 1949142230 + .long 3217801862 + .long 3138274530 + .long 3217815041 + .long 1435244737 + .long 3217828200 + .long 1413145637 + .long 3217841338 + .long 3348797986 + .long 3217854455 + .long 3222758658 + .long 3217867552 + .long 1309263324 + .long 3217880629 + .long 2176234471 + .long 3217893685 + .long 1800387473 + .long 3217906721 + .long 452140382 + .long 3217919737 + .long 2695621757 + .long 3217932732 + .long 208809263 + .long 3217945708 + .long 1848308454 + .long 3217958663 + .long 3584589359 + .long 3217971598 + .long 1386895968 + .long 3217984514 + .long 4108155659 + .long 3217997409 + .long 3420215606 + .long 3218010285 + .long 3878621277 + .long 3218023141 + .long 1447787319 + .long 3218035978 + .long 680874053 + .long 3218048795 + .long 1834892843 + .long 3218061592 + .long 870713292 + .long 3218074370 + .long 1168986141 + .long 3218083436 + .long 3245089583 + .long 3218089805 + .long 2494877761 + .long 3218096165 + .long 3338922950 + .long 3218102515 + .long 1607293197 + .long 3218108856 + .long 1719424943 + .long 3218115187 + .long 3799224547 + .long 3218121508 + .long 3675071677 + .long 3218127820 + .long 1469757259 + .long 3218134123 + .long 1600486820 + .long 3218140416 + .long 4188949205 + .long 3218146699 + .long 766352567 + .long 3218152974 + .long 43231408 + .long 3218159239 + .long 2139646042 + .long 3218165494 + .long 2880153102 + .long 3218171740 + .long 2383743325 + .long 3218177977 + .long 768877423 + .long 3218184205 + .long 2448456521 + .long 3218190423 + .long 3244923387 + .long 3218196632 + .long 3275167422 + .long 3218202832 + .long 2655560435 + .long 3218209023 + .long 1501959692 + .long 3218215205 + .long 4224678246 + .long 3218221377 + .long 2348618756 + .long 3218227541 + .long 283080250 + .long 3218233696 + .long 2436859197 + .long 3218239841 + .long 333350563 + .long 3218245978 + .long 2675321801 + .long 3218252105 + .long 985177381 + .long 3218258224 + .long 3964700035 + .long 3218264333 + .long 3135315249 + .long 3218270434 + .long 2902865164 + .long 3218276526 + .long 3377742213 + .long 3218282609 + .long 374891912 + .long 3218288684 + .long 2593684821 + .long 3218294749 + .long 1553148222 + .long 3218300806 + .long 1656739931 + .long 3218306854 + .long 3012481825 + .long 3218312893 + .long 1432962538 + .long 3218318924 + .long 1320242026 + .long 3218324946 + .long 2780952336 + .long 3218330959 + .long 1626300240 + .long 3218336964 + .long 2256971748 + .long 3218342960 + .long 483265518 + .long 3218348948 + .long 704964628 + .long 3218354927 + .long 3026437244 + .long 3218360897 + .long 3256639170 + .long 3218366859 + .long 1499050969 + .long 3218372813 + .long 2151680465 + .long 3218378758 + .long 1022163351 + .long 3218384695 + .long 2507634849 + .long 3218390623 + .long 2414862975 + .long 3218396543 + .long 845152874 + .long 3218402455 + .long 2194349235 + .long 3218408358 + .long 2267936813 + .long 3218414253 + .long 1165944702 + .long 3218420140 + .long 3282948707 + .long 3218426018 + .long 128204514 + .long 3218431889 + .long 390421100 + .long 3218437751 + .long 4167959282 + .long 3218443604 + .long 2968834018 + .long 3218449450 + .long 1185553177 + .long 3218455288 + .long 3210217930 + .long 3218461117 + .long 549623114 + .long 3218466939 + .long 1890030548 + .long 3218472752 + .long 3032400188 + .long 3218478557 + .long 4072261525 + .long 3218484354 + .long 3450874911 + .long 1070995813 + .long 2331021804 + .long 1070990032 + .long 1029453230 + .long 1070984259 + .long 3747176240 + .long 1070978493 + .long 1800682930 + .long 1070972736 + .long 3686719393 + .long 1070966986 + .long 722545241 + .long 1070961245 + .long 1405669883 + .long 1070955511 + .long 1349079372 + .long 1070949785 + .long 461103529 + .long 1070944067 + .long 2945413886 + .long 1070938356 + .long 121152472 + .long 1070932654 + .long 487700860 + .long 1070926959 + .long 3954874384 + .long 1070921271 + .long 1842920138 + .long 1070915592 + .long 2652318780 + .long 1070909920 + .long 1999011482 + .long 1070904256 + .long 4089234463 + .long 1070898599 + .long 244680560 + .long 1070892951 + .long 3262235675 + .long 1070887309 + .long 169336595 + .long 1070881676 + .long 3763576649 + .long 1070876049 + .long 1073096258 + .long 1070870431 + .long 601221319 + .long 1070864820 + .long 2261690268 + .long 1070859216 + .long 1673619518 + .long 1070853620 + .long 3046403514 + .long 1070848031 + .long 1999843716 + .long 1070842450 + .long 2744015967 + .long 1070836876 + .long 899399508 + .long 1070831310 + .long 676744370 + .long 1070825751 + .long 1992167703 + .long 1070820199 + .long 467152011 + .long 1070814655 + .long 313445281 + .long 1070809118 + .long 1448157352 + .long 1070803588 + .long 3788725476 + .long 1070798065 + .long 2957945300 + .long 1070792550 + .long 3168871046 + .long 1070787042 + .long 44944622 + .long 1070781542 + .long 2094830420 + .long 1070776048 + .long 647642559 + .long 1070770562 + .long 4212681596 + .long 1070765082 + .long 4119694493 + .long 1070759610 + .long 288676754 + .long 1070754146 + .long 1229870791 + .long 1070748688 + .long 2568927817 + .long 1070743237 + .long 4226775419 + .long 1070737793 + .long 1829681364 + .long 1070732357 + .long 3889121191 + .long 1070726927 + .long 1737005556 + .long 1070721505 + .long 3885417029 + .long 1070716089 + .long 1666870165 + .long 1070710681 + .long 3594048319 + .long 1070705279 + .long 1000063738 + .long 1070699885 + .long 2398194399 + .long 1070694497 + .long 3417111411 + .long 1070689116 + .long 3980746691 + .long 1070683742 + .long 4013324163 + .long 1070678375 + .long 3439358267 + .long 1070673015 + .long 2183652476 + .long 1070667662 + .long 171297820 + .long 1070662316 + .long 1622638721 + .long 1070656976 + .long 2168369647 + .long 1070651643 + .long 1734435555 + .long 1070646317 + .long 247063161 + .long 1070640998 + .long 1927726804 + .long 1070635685 + .long 2408245143 + .long 1070630379 + .long 1615681634 + .long 1070625080 + .long 3772343130 + .long 1070619787 + .long 215909304 + .long 1070614502 + .long 3759169634 + .long 1070609222 + .long 1445381777 + .long 1070603950 + .long 1792910451 + .long 1070598684 + .long 870975437 + .long 1070590754 + .long 3194096222 + .long 1070580248 + .long 1823716217 + .long 1070569756 + .long 913800688 + .long 1070559277 + .long 323875369 + .long 1070548811 + .long 4208958430 + .long 1070538357 + .long 3839688678 + .long 1070527917 + .long 3372126730 + .long 1070517490 + .long 2667883253 + .long 1070507076 + .long 1589083690 + .long 1070496675 + .long 4293333010 + .long 1070486286 + .long 2053843986 + .long 1070475911 + .long 3324205749 + .long 1070465548 + .long 3673610217 + .long 1070455198 + .long 2966718784 + .long 1070444861 + .long 1068692560 + .long 1070434537 + .long 2140157205 + .long 1070424225 + .long 1752298597 + .long 1070413926 + .long 4066729595 + .long 1070403639 + .long 360651144 + .long 1070393366 + .long 3386588242 + .long 1070383104 + .long 127747308 + .long 1070372856 + .long 3337621361 + .long 1070362619 + .long 380113 + .long 1070352396 + .long 2870475188 + .long 1070342184 + .long 3227997535 + .long 1070331985 + .long 943446189 + .long 1070321799 + .long 182758681 + .long 1070311625 + .long 817374162 + .long 1070301463 + .long 2719198427 + .long 1070291313 + .long 1465634365 + .long 1070281176 + .long 1224481606 + .long 1070271051 + .long 1869032404 + .long 1070260938 + .long 3273036717 + .long 1070250837 + .long 1015732707 + .long 1070240749 + .long 3561713742 + .long 1070230672 + .long 2196155141 + .long 1070220608 + .long 1089583089 + .long 1070210556 + .long 118003300 + .long 1070200516 + .long 3452833475 + .long 1070190487 + .long 2381031992 + .long 1070180471 + .long 1074899573 + .long 1070170467 + .long 3707175295 + .long 1070160474 + .long 1566132617 + .long 1070150494 + .long 3120348377 + .long 1070140525 + .long 3953929663 + .long 1070130568 + .long 3946380940 + .long 1070120623 + .long 2977634725 + .long 1070110690 + .long 928049556 + .long 1070100769 + .long 1973375279 + .long 1070090859 + .long 1699849154 + .long 1070080961 + .long 4284063055 + .long 1070071074 + .long 1018125008 + .long 1070061200 + .long 374428300 + .long 1070051337 + .long 2235845747 + .long 1070041485 + .long 2190695046 + .long 1070031645 + .long 122671437 + .long 1070021817 + .long 210845780 + .long 1070012000 + .long 2339728060 + .long 1070002194 + .long 2099265479 + .long 1069992400 + .long 3669742467 + .long 1069982617 + .long 2641909617 + .long 1069972846 + .long 3196851002 + .long 1069963086 + .long 926113142 + .long 1069953338 + .long 11572342 + .long 1069943601 + .long 340530969 + .long 1069933875 + .long 1800682930 + .long 1069924160 + .long 4280111857 + .long 1069914456 + .long 3372322013 + .long 1069904764 + .long 3261138386 + .long 1069895083 + .long 3835803021 + .long 1069885413 + .long 690973253 + .long 1069875755 + .long 2306589128 + .long 1069866107 + .long 4278067876 + .long 1069856470 + .long 2201204065 + .long 1069846845 + .long 262102455 + .long 1069837231 + .long 2647241692 + .long 1069827627 + .long 658570708 + .long 1069818035 + .long 2778278092 + .long 1069808453 + .long 309052031 + .long 1069798883 + .long 1733817001 + .long 1069789323 + .long 2650961017 + .long 1069779774 + .long 2954203158 + .long 1069770236 + .long 2537624622 + .long 1069760709 + .long 1295667077 + .long 1069751193 + .long 3418098326 + .long 1069741687 + .long 210141498 + .long 1069732193 + .long 157244505 + .long 1069722709 + .long 3155274661 + .long 1069713235 + .long 510517079 + .long 1069703773 + .long 709476866 + .long 1069694321 + .long 3649073763 + .long 1069684879 + .long 636640577 + .long 1069675449 + .long 159725394 + .long 1069666029 + .long 2116286250 + .long 1069656619 + .long 2109656884 + .long 1069647220 + .long 38479793 + .long 1069637832 + .long 96704707 + .long 1069628454 + .long 2183652476 + .long 1069619086 + .long 1904013563 + .long 1069609729 + .long 3452748429 + .long 1069600382 + .long 2435216853 + .long 1069591046 + .long 3047045639 + .long 1069581720 + .long 894257944 + .long 1069572405 + .long 173141005 + .long 1069563100 + .long 785342784 + .long 1069553805 + .long 970708326 + .long 1069541521 + .long 2645916898 + .long 1069522972 + .long 2106590683 + .long 1069504444 + .long 3453588195 + .long 1069485936 + .long 2198475040 + .long 1069467449 + .long 2443390270 + .long 1069448982 + .long 3996141691 + .long 1069430535 + .long 2370203065 + .long 1069412109 + .long 1669613218 + .long 1069393703 + .long 1704071394 + .long 1069375317 + .long 2283901796 + .long 1069356951 + .long 3220050856 + .long 1069338605 + .long 29117219 + .long 1069320280 + .long 1113218225 + .long 1069301974 + .long 1990183441 + .long 1069283688 + .long 2473421172 + .long 1069265422 + .long 2376948508 + .long 1069247176 + .long 1515388672 + .long 1069228950 + .long 3998935692 + .long 1069210743 + .long 1053482595 + .long 1069192557 + .long 1085389880 + .long 1069174390 + .long 3911679148 + .long 1069156242 + .long 760030536 + .long 1069138115 + .long 38583924 + .long 1069120007 + .long 1566132617 + .long 1069101918 + .long 867088104 + .long 1069083849 + .long 2056379433 + .long 1069065799 + .long 659581512 + .long 1069047769 + .long 792781808 + .long 1069029758 + .long 2277675977 + .long 1069011766 + .long 641565395 + .long 1068993794 + .long 2256601 + .long 1068975841 + .long 183156961 + .long 1068957907 + .long 1008239542 + .long 1068939992 + .long 2302040698 + .long 1068922096 + .long 3889657667 + .long 1068904219 + .long 1301778891 + .long 1068886362 + .long 2954550821 + .long 1068868523 + .long 84804484 + .long 1068850704 + .long 1109791498 + .long 1068832903 + .long 1562410668 + .long 1068815121 + .long 1271074840 + .long 1068797358 + .long 64741293 + .long 1068779614 + .long 2067876735 + .long 1068761888 + .long 2815553124 + .long 1068744181 + .long 2138347284 + .long 1068726493 + .long 4162338635 + .long 1068708823 + .long 129237761 + .long 1068691173 + .long 2756122533 + .long 1068673540 + .long 3285762921 + .long 1068655926 + .long 1551389854 + .long 1068638331 + .long 1681725707 + .long 1068620754 + .long 3511047527 + .long 1068603195 + .long 2579184841 + .long 1068585655 + .long 3016419377 + .long 1068568133 + .long 363613719 + .long 1068550630 + .long 3047045639 + .long 1068533144 + .long 2313634884 + .long 1068515677 + .long 296456961 + .long 1068497513 + .long 1367328035 + .long 1068462651 + .long 3221665916 + .long 1068427825 + .long 1242258971 + .long 1068393036 + .long 3697798734 + .long 1068358282 + .long 1678104687 + .long 1068323565 + .long 3453858508 + .long 1068288883 + .long 116861598 + .long 1068254238 + .long 4234736672 + .long 1068219627 + .long 2606283437 + .long 1068185053 + .long 3506114812 + .long 1068150514 + .long 2324914545 + .long 1068116011 + .long 3044269692 + .long 1068081543 + .long 1056797460 + .long 1068047111 + .long 346010435 + .long 1068012714 + .long 601410756 + .long 1067978352 + .long 1513453498 + .long 1067944025 + .long 2773542775 + .long 1067909733 + .long 4074027864 + .long 1067875476 + .long 813232056 + .long 1067841255 + .long 1275317999 + .long 1067807068 + .long 860480111 + .long 1067772916 + .long 3559777258 + .long 1067738798 + .long 480292498 + .long 1067704716 + .long 4204867691 + .long 1067670667 + .long 1547459502 + .long 1067636654 + .long 797775935 + .long 1067602675 + .long 1656501562 + .long 1067568730 + .long 3825228429 + .long 1067534819 + .long 2711485098 + .long 1067500943 + .long 2313634884 + .long 1067467101 + .long 376973398 + .long 1067416219 + .long 672386641 + .long 1067348671 + .long 630691842 + .long 1067281191 + .long 3960777458 + .long 1067213778 + .long 1488394470 + .long 1067146434 + .long 1220920383 + .long 1067079157 + .long 2577548405 + .long 1067011947 + .long 684247743 + .long 1066944805 + .long 3553625811 + .long 1066877729 + .long 2020150230 + .long 1066810721 + .long 4099880293 + .long 1066743779 + .long 630721729 + .long 1066676905 + .long 3927125538 + .long 1066610096 + .long 535440936 + .long 1066543355 + .long 2773516144 + .long 1066476679 + .long 1486051399 + .long 1066410070 + .long 808661260 + .long 1066285262 + .long 2227658502 + .long 1066152307 + .long 1813447778 + .long 1066019484 + .long 2743640746 + .long 1065886792 + .long 3904192454 + .long 1065754231 + .long 4184355568 + .long 1065621801 + .long 2476667369 + .long 1065489502 + .long 1971904113 + .long 1065357333 + .long 3138267131 + .long 1065097372 + .long 341338964 + .long 1064833554 + .long 1954052322 + .long 1064569994 + .long 1498975029 + .long 1064306693 + .long 2190050752 + .long 1063782660 + .long 1440057502 + .long 1063257089 + .long 1432705161 + .long 1062208000 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040187392 + .long 0 + .long 1040187392 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1071120384 + .long 0 + .long 1071120384 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070858240 + .long 0 + .long 1070858240 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070694400 + .long 0 + .long 1070694400 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070563328 + .long 0 + .long 1070563328 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966784 + .long 0 + .long 4294966784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dasinh_data_internal,@object + .size __svml_dasinh_data_internal,14720 + .align 16 + +.FLT_33: + .long 0x00000000,0x43380000,0x00000000,0x43380000 + .type .FLT_33,@object + .size .FLT_33,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core-sse.S new file mode 100644 index 0000000000..903b5f0fb5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized asinh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_asinh _ZGVdN4v_asinh_sse_wrapper +#include "../svml_d_asinh4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core.c new file mode 100644 index 0000000000..e7acd032b5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized asinh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_asinh +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_asinh, __GI__ZGVdN4v_asinh, __redirect__ZGVdN4v_asinh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core_avx2.S new file mode 100644 index 0000000000..e13ca6a7ea --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core_avx2.S @@ -0,0 +1,5092 @@ +/* Function asinh vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute asinh(x) as log(x + sqrt(x*x + 1)) + * + * Special cases: + * + * asinh(NaN) = quiet NaN, and raise invalid exception + * asinh(INF) = that INF + * asinh(0) = that 0 + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_asinh_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea -4218816+__svml_dasinh_data_internal(%rip), %rax + vmovups %ymm9, 96(%rsp) + vmovups %ymm13, 256(%rsp) + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + vmovupd 12928+__svml_dasinh_data_internal(%rip), %ymm9 + vmovups %ymm12, 224(%rsp) + vmovups %ymm8, 32(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + +/* Load the constant 1 and a sign mask */ + vmovupd 12864+__svml_dasinh_data_internal(%rip), %ymm12 + vmovups %ymm10, 160(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm11, 192(%rsp) + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovapd %ymm0, %ymm13 + +/* No need to split X when FMA is available in hardware. */ + vmulpd %ymm13, %ymm13, %ymm8 + +/* + * Get the absolute value of the input, since we will exploit antisymmetry + * and mostly assume X >= 0 in the core computation + */ + vandpd %ymm9, %ymm13, %ymm10 + +/* + * Check whether the input is finite, by checking |X| <= MaxFloat + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) + */ + vcmpnle_uqpd 14016+__svml_dasinh_data_internal(%rip), %ymm10, %ymm5 + +/* + * Finally, express Y + W = X^2 + 1 accurately where Y has <= 29 bits. + * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 + * as the dominant component in the compensated summation. Otherwise, + * if |X| >= 1, then since X2Hi only has 52 significant bits, the basic + * addition will be exact anyway until we get to |X| >= 2^53. But by + * that time the log function is well-conditioned enough that the + * rounding error doesn't matter. Hence we can treat 1 as dominant even + * if it literally isn't. + */ + vaddpd %ymm8, %ymm12, %ymm1 + +/* + * The following computation can go wrong for very large X, basically + * because X^2 overflows. But for large X we have + * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when do do this. + */ + vcmplt_oqpd 13632+__svml_dasinh_data_internal(%rip), %ymm10, %ymm11 + vsubpd %ymm1, %ymm12, %ymm4 + vmovmskpd %ymm5, %edx + vandpd 14400+__svml_dasinh_data_internal(%rip), %ymm1, %ymm5 + +/* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 12 significant bits in case it isn't already + * This means that R * Y and R^2 * Y are exactly representable. + */ + vcvtpd2ps %ymm5, %xmm14 + vaddpd %ymm4, %ymm8, %ymm2 + vsubpd %ymm5, %ymm1, %ymm6 + vrsqrtps %xmm14, %xmm15 + vmovapd %ymm13, %ymm7 + vfmsub213pd %ymm8, %ymm13, %ymm7 + vcvtps2pd %xmm15, %ymm0 + vaddpd %ymm2, %ymm7, %ymm3 + +/* + * Unfortunately, we can still be in trouble if |X| <= 2^-10, since + * the absolute error 2^-(12+53)-ish in sqrt(1 + X^2) gets scaled up + * by 1/X and comes close to our threshold. Hence if |X| <= 2^-9, + * perform an alternative computation + * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 + * X2 = X^2 + */ + vaddpd %ymm7, %ymm8, %ymm7 + vaddpd %ymm6, %ymm3, %ymm4 + +/* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + + * 63/256 * e^5 + 231/1024 * e^6 + .... + * So compute the first five nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + * C4 = 35/128 + * C5 = 63/256 + */ + vmovupd 13888+__svml_dasinh_data_internal(%rip), %ymm3 + vmovupd 13952+__svml_dasinh_data_internal(%rip), %ymm6 + vandpd 14272+__svml_dasinh_data_internal(%rip), %ymm0, %ymm2 + +/* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + vmulpd %ymm2, %ymm5, %ymm0 + vmulpd %ymm4, %ymm2, %ymm15 + vsubpd %ymm12, %ymm0, %ymm4 + +/* + * Obtain sqrt(1 + X^2) - 1 in two pieces + * sqrt(1 + X^2) - 1 + * = sqrt(Y + W) - 1 + * = (S + T) * (1 + Corr) - 1 + * = [S - 1] + [T + (S + T) * Corr] + * We need a compensated summation for the last part. We treat S - 1 + * as the larger part; it certainly is until about X < 2^-4, and in that + * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 + * Final sum is dTmp5 (hi) + dTmp7 (lo) + */ + vaddpd %ymm15, %ymm0, %ymm14 + +/* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-12 + */ + vmovapd %ymm12, %ymm1 + vfnmadd231pd %ymm0, %ymm2, %ymm1 + vfnmadd231pd %ymm15, %ymm2, %ymm1 + vfmadd213pd 13824+__svml_dasinh_data_internal(%rip), %ymm1, %ymm3 + vfmadd213pd 13760+__svml_dasinh_data_internal(%rip), %ymm1, %ymm3 + vfmadd213pd 13696+__svml_dasinh_data_internal(%rip), %ymm1, %ymm3 + vfmadd213pd %ymm6, %ymm1, %ymm3 + vmulpd %ymm3, %ymm1, %ymm5 + +/* Now multiplex the two possible computations */ + vcmple_oqpd 14080+__svml_dasinh_data_internal(%rip), %ymm10, %ymm3 + vfmadd213pd %ymm15, %ymm14, %ymm5 + vaddpd %ymm4, %ymm5, %ymm2 + +/* dX2over2 = X^2/2 */ + vmulpd %ymm7, %ymm6, %ymm5 + +/* dX4over4 = X^4/4 */ + vmulpd %ymm5, %ymm5, %ymm0 + +/* dX46 = -X^4/4 + X^6/8 */ + vfmsub231pd %ymm5, %ymm0, %ymm0 + +/* dX46over2 = -X^4/8 + x^6/16 */ + vmulpd %ymm0, %ymm6, %ymm4 + vaddpd %ymm4, %ymm5, %ymm1 + vblendvpd %ymm3, %ymm1, %ymm2, %ymm6 + +/* + * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. + * It's always safe to assume |X| is larger. + * This is the final 2-part argument to the log1p function + */ + vaddpd %ymm6, %ymm10, %ymm7 + +/* Now multiplex to the case X = 2^-30 * |input|, Xl = dL = 0 in the "big" case. */ + vmulpd 14528+__svml_dasinh_data_internal(%rip), %ymm10, %ymm10 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + vmaxpd %ymm7, %ymm12, %ymm0 + vminpd %ymm7, %ymm12, %ymm5 + vandpd %ymm9, %ymm7, %ymm9 + vcmplt_oqpd 12992+__svml_dasinh_data_internal(%rip), %ymm9, %ymm8 + vaddpd %ymm5, %ymm0, %ymm14 + vorpd 13056+__svml_dasinh_data_internal(%rip), %ymm8, %ymm15 + vandpd %ymm15, %ymm14, %ymm2 + vsubpd %ymm2, %ymm0, %ymm4 + +/* 2^ (-10-exp(X) ) */ + vmovupd 13504+__svml_dasinh_data_internal(%rip), %ymm8 + vaddpd %ymm4, %ymm5, %ymm1 + vblendvpd %ymm11, %ymm2, %ymm10, %ymm5 + +/* + * Now resume the main code. + * preserve mantissa, set input exponent to 2^(-10) + */ + vandpd 12544+__svml_dasinh_data_internal(%rip), %ymm5, %ymm0 + vorpd 12608+__svml_dasinh_data_internal(%rip), %ymm0, %ymm3 + +/* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm3, %xmm6 + +/* exponent bits */ + vpsrlq $20, %ymm5, %ymm10 + vrcpps %xmm6, %xmm7 + vandpd %ymm11, %ymm1, %ymm4 + vcvtps2pd %xmm7, %ymm15 + +/* exponent of X needed to scale Xl */ + vandps 13440+__svml_dasinh_data_internal(%rip), %ymm5, %ymm9 + vpsubq %ymm9, %ymm8, %ymm0 + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm15, %ymm3 + +/* scale DblRcp */ + vmulpd %ymm0, %ymm3, %ymm2 + +/* argument reduction */ + vfmsub213pd %ymm12, %ymm2, %ymm5 + vmulpd %ymm2, %ymm4, %ymm12 + vmovupd 12480+__svml_dasinh_data_internal(%rip), %ymm2 + vaddpd %ymm12, %ymm5, %ymm5 + vfmadd213pd 12512+__svml_dasinh_data_internal(%rip), %ymm5, %ymm2 + vmulpd %ymm5, %ymm5, %ymm4 + vextractf128 $1, %ymm10, %xmm14 + vshufps $221, %xmm14, %xmm10, %xmm1 + +/* biased exponent in DP format */ + vcvtdq2pd %xmm1, %ymm7 + +/* exponent*log(2.0) */ + vmovupd 13248+__svml_dasinh_data_internal(%rip), %ymm10 + +/* Add 31 to the exponent in the "large" case to get log(2 * input) */ + vaddpd 14208+__svml_dasinh_data_internal(%rip), %ymm7, %ymm6 + vblendvpd %ymm11, %ymm7, %ymm6, %ymm1 + +/* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm3, %ymm11 + vcmplt_oqpd %ymm3, %ymm10, %ymm3 + vandpd 13312+__svml_dasinh_data_internal(%rip), %ymm3, %ymm14 + vorpd 13376+__svml_dasinh_data_internal(%rip), %ymm14, %ymm15 + vsubpd %ymm15, %ymm1, %ymm1 + vmulpd 13568+__svml_dasinh_data_internal(%rip), %ymm1, %ymm3 + +/* polynomial */ + vmovupd 12416+__svml_dasinh_data_internal(%rip), %ymm1 + vfmadd213pd 12448+__svml_dasinh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213pd %ymm2, %ymm4, %ymm1 + +/* reconstruction */ + vfmadd213pd %ymm5, %ymm4, %ymm1 + vextractf128 $1, %ymm11, %xmm7 + vmovd %xmm11, %ecx + vmovd %xmm7, %r9d + movslq %ecx, %rcx + vpextrd $2, %xmm11, %r8d + movslq %r9d, %r9 + vpextrd $2, %xmm7, %r10d + movslq %r8d, %r8 + movslq %r10d, %r10 + vmovsd (%rax,%rcx), %xmm0 + vmovsd (%rax,%r9), %xmm8 + vmovhpd (%rax,%r8), %xmm0, %xmm6 + vmovhpd (%rax,%r10), %xmm8, %xmm9 + vinsertf128 $1, %xmm9, %ymm6, %ymm0 + vaddpd %ymm1, %ymm0, %ymm0 + vaddpd %ymm0, %ymm3, %ymm7 + +/* Finally, reincorporate the original sign. */ + vandpd 14144+__svml_dasinh_data_internal(%rip), %ymm13, %ymm6 + vxorpd %ymm7, %ymm6, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm13, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dasinh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_asinh_avx2) + + .align 16,0x90 + +__svml_dasinh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dasinh_cout_rare_internal,@function + .size __svml_dasinh_cout_rare_internal,.-__svml_dasinh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dasinh_data_internal: + .long 3715793664 + .long 3230016299 + .long 4013928704 + .long 3189565726 + .long 3699038248 + .long 3230016303 + .long 4255595370 + .long 3189567439 + .long 3648859040 + .long 3230016307 + .long 1732833791 + .long 3189567296 + .long 3565385952 + .long 3230016311 + .long 2485752410 + .long 3189567274 + .long 3448748152 + .long 3230016315 + .long 3514744523 + .long 3189567800 + .long 3299074072 + .long 3230016319 + .long 3686511262 + .long 3189567474 + .long 3116491376 + .long 3230016323 + .long 716063611 + .long 3189567908 + .long 2901127016 + .long 3230016327 + .long 354437295 + .long 3189567291 + .long 2653107184 + .long 3230016331 + .long 3777462366 + .long 3189567264 + .long 2372557360 + .long 3230016335 + .long 3590663412 + .long 3189567498 + .long 2059602304 + .long 3230016339 + .long 1680795031 + .long 3189567428 + .long 1714366048 + .long 3230016343 + .long 2010344982 + .long 3189567986 + .long 1336971936 + .long 3230016347 + .long 166254822 + .long 3189567184 + .long 927542568 + .long 3230016351 + .long 59552610 + .long 3189567972 + .long 486199888 + .long 3230016355 + .long 2268824919 + .long 3189567664 + .long 13065112 + .long 3230016359 + .long 3005381643 + .long 3189567835 + .long 3803226080 + .long 3230016362 + .long 4018973165 + .long 3189567825 + .long 3266868056 + .long 3230016366 + .long 3693925101 + .long 3189567457 + .long 2699077504 + .long 3230016370 + .long 4005905743 + .long 3189567697 + .long 2099972936 + .long 3230016374 + .long 3580935118 + .long 3189567215 + .long 1469672176 + .long 3230016378 + .long 2928784295 + .long 3189567129 + .long 808292392 + .long 3230016382 + .long 674298833 + .long 3189567553 + .long 115950104 + .long 3230016386 + .long 2555938320 + .long 3189567208 + .long 3687728456 + .long 3230016389 + .long 532458218 + .long 3189567130 + .long 2933808064 + .long 3230016393 + .long 3888913110 + .long 3189567192 + .long 2149270784 + .long 3230016397 + .long 2365955494 + .long 3189567756 + .long 1334230552 + .long 3230016401 + .long 3325722981 + .long 3189567206 + .long 488800640 + .long 3230016405 + .long 1496133617 + .long 3189567683 + .long 3908061016 + .long 3230016408 + .long 1824836379 + .long 3189567490 + .long 3002189112 + .long 3230016412 + .long 1222174320 + .long 3189567837 + .long 2066263648 + .long 3230016416 + .long 2472769660 + .long 3189567285 + .long 1100395408 + .long 3230016420 + .long 447932460 + .long 3189567455 + .long 104694584 + .long 3230016424 + .long 1006807684 + .long 3189567460 + .long 3374238048 + .long 3230016427 + .long 4121834935 + .long 3189567556 + .long 2319200184 + .long 3230016431 + .long 3019906587 + .long 3189567664 + .long 1234656664 + .long 3230016435 + .long 3882744783 + .long 3189567930 + .long 120715280 + .long 3230016439 + .long 1927363170 + .long 3189567242 + .long 3272450504 + .long 3230016442 + .long 8203115 + .long 3189567876 + .long 2100034368 + .long 3230016446 + .long 1260625560 + .long 3189567855 + .long 898540192 + .long 3230016450 + .long 1791679111 + .long 3189567639 + .long 3963040720 + .long 3230016453 + .long 831133439 + .long 3189567590 + .long 2703706240 + .long 3230016457 + .long 2803140504 + .long 3189567482 + .long 1415608352 + .long 3230016461 + .long 2955844462 + .long 3189568058 + .long 98850816 + .long 3230016465 + .long 4017967070 + .long 3189567455 + .long 3048504096 + .long 3230016468 + .long 3974385451 + .long 3189567871 + .long 1674736240 + .long 3230016472 + .long 2424114556 + .long 3189567887 + .long 272616624 + .long 3230016476 + .long 4261883032 + .long 3189567073 + .long 3137214056 + .long 3230016479 + .long 3716750895 + .long 3189567522 + .long 1678694944 + .long 3230016483 + .long 498025304 + .long 3189567180 + .long 192127016 + .long 3230016487 + .long 1011852160 + .long 3189567511 + .long 2972577480 + .long 3230016490 + .long 558940916 + .long 3189567850 + .long 1430211120 + .long 3230016494 + .long 2550865739 + .long 3189567935 + .long 4155061376 + .long 3230016497 + .long 1930847170 + .long 3189567371 + .long 2557291968 + .long 3230016501 + .long 1716354804 + .long 3189567130 + .long 931967984 + .long 3230016505 + .long 2729403392 + .long 3189567981 + .long 3574154016 + .long 3230016508 + .long 1067280599 + .long 3189567890 + .long 1894012232 + .long 3230016512 + .long 2094260282 + .long 3189567604 + .long 186606176 + .long 3230016516 + .long 3897933165 + .long 3189568046 + .long 2746998904 + .long 3230016519 + .long 1935720459 + .long 3189567701 + .long 985351064 + .long 3230016523 + .long 2170344821 + .long 3189567164 + .long 3491691984 + .long 3230016526 + .long 4220979537 + .long 3189567547 + .long 1676181328 + .long 3230016530 + .long 1953924393 + .long 3189567854 + .long 4128847448 + .long 3230016533 + .long 1689829067 + .long 3189567468 + .long 2259849008 + .long 3230016537 + .long 2367753130 + .long 3189567619 + .long 364246088 + .long 3230016541 + .long 2263309073 + .long 3189567722 + .long 2737098280 + .long 3230016544 + .long 2366756869 + .long 3189567856 + .long 788562816 + .long 3230016548 + .long 2294653975 + .long 3189567145 + .long 3108665616 + .long 3230016551 + .long 1786494117 + .long 3189567254 + .long 1107562960 + .long 3230016555 + .long 3655887416 + .long 3189567689 + .long 3375279848 + .long 3230016558 + .long 1178948625 + .long 3189567241 + .long 1321971608 + .long 3230016562 + .long 1620080441 + .long 3189567466 + .long 3537662304 + .long 3230016565 + .long 154455618 + .long 3189567981 + .long 1432506360 + .long 3230016569 + .long 3128192125 + .long 3189567889 + .long 3596526920 + .long 3230016572 + .long 2026842750 + .long 3189567212 + .long 1439877480 + .long 3230016576 + .long 1384431897 + .long 3189567284 + .long 3552580280 + .long 3230016579 + .long 1999983129 + .long 3189568079 + .long 1344787944 + .long 3230016583 + .long 4035436820 + .long 3189567579 + .long 3406521808 + .long 3230016586 + .long 77799817 + .long 3189567285 + .long 1147933592 + .long 3230016590 + .long 1261060207 + .long 3189567477 + .long 3159043768 + .long 3230016593 + .long 2102717775 + .long 3189567605 + .long 850003184 + .long 3230016597 + .long 161472469 + .long 3189567688 + .long 2810831440 + .long 3230016600 + .long 1937336881 + .long 3189567665 + .long 451678520 + .long 3230016604 + .long 2268353549 + .long 3189567773 + .long 2362563168 + .long 3230016607 + .long 1785871595 + .long 3189567889 + .long 4248601816 + .long 3230016610 + .long 2434669991 + .long 3189567898 + .long 1814910472 + .long 3230016614 + .long 2666999375 + .long 3189568058 + .long 3651506624 + .long 3230016617 + .long 1033139811 + .long 3189567312 + .long 1168538136 + .long 3230016621 + .long 4004618418 + .long 3189567740 + .long 2956021672 + .long 3230016624 + .long 3799928764 + .long 3189567751 + .long 424104288 + .long 3230016628 + .long 3650233137 + .long 3189567549 + .long 2162801816 + .long 3230016631 + .long 437313833 + .long 3189567438 + .long 3877227800 + .long 3230016634 + .long 2138293494 + .long 3189567140 + .long 1272495376 + .long 3230016638 + .long 2891370752 + .long 3189567168 + .long 2938619176 + .long 3230016641 + .long 1704142730 + .long 3189567114 + .long 285744240 + .long 3230016645 + .long 500817607 + .long 3189568035 + .long 1903884424 + .long 3230016648 + .long 3102571944 + .long 3189567668 + .long 3498151272 + .long 3230016651 + .long 2374193154 + .long 3189567933 + .long 773655960 + .long 3230016655 + .long 2898331636 + .long 3189568089 + .long 2320411168 + .long 3230016658 + .long 1983295500 + .long 3189567113 + .long 3843527280 + .long 3230016661 + .long 2132853542 + .long 3189567093 + .long 1048114320 + .long 3230016665 + .long 3551155364 + .long 3189567407 + .long 2524183824 + .long 3230016668 + .long 2564000663 + .long 3189567090 + .long 3976845048 + .long 3230016671 + .long 361581803 + .long 3189567196 + .long 1111206880 + .long 3230016675 + .long 696765230 + .long 3189568040 + .long 2517279744 + .long 3230016678 + .long 941542475 + .long 3189567463 + .long 3900171776 + .long 3230016681 + .long 2377895552 + .long 3189567282 + .long 964990760 + .long 3230016685 + .long 1173605489 + .long 3189567454 + .long 2301746008 + .long 3230016688 + .long 3096720313 + .long 3189567400 + .long 3615544576 + .long 3230016691 + .long 1942008121 + .long 3189567335 + .long 611493160 + .long 3230016695 + .long 3375481119 + .long 3189567537 + .long 1879599992 + .long 3230016698 + .long 4103239143 + .long 3189567624 + .long 3124971056 + .long 3230016701 + .long 3773474925 + .long 3189567869 + .long 52711992 + .long 3230016705 + .long 2465315445 + .long 3189567444 + .long 1252829960 + .long 3230016708 + .long 1041581158 + .long 3189567781 + .long 2430429904 + .long 3230016711 + .long 166620501 + .long 3189567739 + .long 3585583704 + .long 3230016714 + .long 2379237630 + .long 3189567984 + .long 423395616 + .long 3230016718 + .long 134834559 + .long 3189567178 + .long 1533871416 + .long 3230016721 + .long 1449318760 + .long 3189567373 + .long 2622114680 + .long 3230016724 + .long 3042372984 + .long 3189567127 + .long 3688195920 + .long 3230016727 + .long 1265290101 + .long 3189567921 + .long 437218048 + .long 3230016731 + .long 2248549362 + .long 3189567262 + .long 1459185496 + .long 3230016734 + .long 1293250365 + .long 3189567151 + .long 2459200496 + .long 3230016737 + .long 313786605 + .long 3189567180 + .long 3437332240 + .long 3230016740 + .long 3289151823 + .long 3189567872 + .long 98682312 + .long 3230016744 + .long 2693758821 + .long 3189567877 + .long 1033253848 + .long 3230016747 + .long 4237443192 + .long 3189567301 + .long 1946147760 + .long 3230016750 + .long 4099404586 + .long 3189567972 + .long 2837431968 + .long 3230016753 + .long 343640666 + .long 3189567552 + .long 3707174040 + .long 3230016756 + .long 4238401458 + .long 3189567983 + .long 260473960 + .long 3230016760 + .long 21423548 + .long 3189567559 + .long 1087333264 + .long 3230016763 + .long 3515278593 + .long 3189567309 + .long 1892851296 + .long 3230016766 + .long 629106375 + .long 3189567166 + .long 2677094384 + .long 3230016769 + .long 2048670044 + .long 3189567227 + .long 3440128544 + .long 3230016772 + .long 3739217292 + .long 3189568009 + .long 4182019504 + .long 3230016775 + .long 3662039444 + .long 3189567618 + .long 607865368 + .long 3230016779 + .long 1766486991 + .long 3189567112 + .long 1307665824 + .long 3230016782 + .long 512689457 + .long 3189567670 + .long 1986518392 + .long 3230016785 + .long 1704577378 + .long 3189567760 + .long 2644487576 + .long 3230016788 + .long 4001935135 + .long 3189567473 + .long 3281637576 + .long 3230016791 + .long 1184452342 + .long 3189567735 + .long 3898032312 + .long 3230016794 + .long 2714793956 + .long 3189567464 + .long 198768096 + .long 3230016798 + .long 3657654418 + .long 3189567905 + .long 773842856 + .long 3230016801 + .long 2809688013 + .long 3189567736 + .long 1328352328 + .long 3230016804 + .long 390727591 + .long 3189567393 + .long 1862359256 + .long 3230016807 + .long 1135237925 + .long 3189567248 + .long 2375926096 + .long 3230016810 + .long 1377572509 + .long 3189567837 + .long 2869115032 + .long 3230016813 + .long 3148383775 + .long 3189568032 + .long 3341987960 + .long 3230016816 + .long 3809536738 + .long 3189567313 + .long 3794606472 + .long 3230016819 + .long 4243445934 + .long 3189568034 + .long 4227031920 + .long 3230016822 + .long 1302642088 + .long 3189567451 + .long 344358048 + .long 3230016826 + .long 3239125361 + .long 3189567151 + .long 736580224 + .long 3230016829 + .long 3753161736 + .long 3189567129 + .long 1108791648 + .long 3230016832 + .long 624357483 + .long 3189568045 + .long 1461052568 + .long 3230016835 + .long 3153257064 + .long 3189567338 + .long 1793422920 + .long 3230016838 + .long 2705820149 + .long 3189567635 + .long 2105962400 + .long 3230016841 + .long 911564860 + .long 3189567737 + .long 2398730424 + .long 3230016844 + .long 1086958332 + .long 3189567948 + .long 2671786152 + .long 3230016847 + .long 1598984535 + .long 3189567210 + .long 2925188456 + .long 3230016850 + .long 4113385879 + .long 3189567401 + .long 3158995968 + .long 3230016853 + .long 2426812671 + .long 3189567396 + .long 3373267048 + .long 3230016856 + .long 3480845679 + .long 3189567359 + .long 3568059792 + .long 3230016859 + .long 3306230729 + .long 3189567924 + .long 3743432056 + .long 3230016862 + .long 3853821277 + .long 3189567317 + .long 3899441408 + .long 3230016865 + .long 2049309148 + .long 3189567699 + .long 4036145192 + .long 3230016868 + .long 2667321817 + .long 3189567166 + .long 4153600472 + .long 3230016871 + .long 3540670389 + .long 3189567114 + .long 4251864072 + .long 3230016874 + .long 404207883 + .long 3189567310 + .long 36025272 + .long 3230016878 + .long 2837617046 + .long 3189567103 + .long 96074976 + .long 3230016881 + .long 1231280453 + .long 3189567669 + .long 137101976 + .long 3230016884 + .long 792492437 + .long 3189567071 + .long 159162080 + .long 3230016887 + .long 2385525292 + .long 3189567618 + .long 162310880 + .long 3230016890 + .long 3272051015 + .long 3189567858 + .long 146603712 + .long 3230016893 + .long 623573538 + .long 3189567881 + .long 112095672 + .long 3230016896 + .long 2151835939 + .long 3189567451 + .long 58841608 + .long 3230016899 + .long 958006130 + .long 3189567217 + .long 4281863424 + .long 3230016901 + .long 549948691 + .long 3189567863 + .long 4191280920 + .long 3230016904 + .long 4177689987 + .long 3189567217 + .long 4082115512 + .long 3230016907 + .long 2895765193 + .long 3189567599 + .long 3954421112 + .long 3230016910 + .long 1055606208 + .long 3189567799 + .long 3808251392 + .long 3230016913 + .long 1966521217 + .long 3189567351 + .long 3643659776 + .long 3230016916 + .long 1017382758 + .long 3189567732 + .long 3460699480 + .long 3230016919 + .long 3485890155 + .long 3189567410 + .long 3259423472 + .long 3230016922 + .long 2657419170 + .long 3189567140 + .long 3039884488 + .long 3230016925 + .long 4198858220 + .long 3189568080 + .long 2802135064 + .long 3230016928 + .long 2343740494 + .long 3189567869 + .long 2546227480 + .long 3230016931 + .long 2423084215 + .long 3189567957 + .long 2272213808 + .long 3230016934 + .long 3887273856 + .long 3189567631 + .long 1980145888 + .long 3230016937 + .long 3992755473 + .long 3189567251 + .long 1670075336 + .long 3230016940 + .long 722498073 + .long 3189567389 + .long 1342053552 + .long 3230016943 + .long 3573506400 + .long 3189567965 + .long 996131728 + .long 3230016946 + .long 714695829 + .long 3189567392 + .long 632360808 + .long 3230016949 + .long 2816704229 + .long 3189567846 + .long 250791552 + .long 3230016952 + .long 386951333 + .long 3189567243 + .long 4146441768 + .long 3230016954 + .long 2155319939 + .long 3189567580 + .long 3729427184 + .long 3230016957 + .long 4227840137 + .long 3189567931 + .long 3294765200 + .long 3230016960 + .long 1718354212 + .long 3189567672 + .long 2842505696 + .long 3230016963 + .long 4243880582 + .long 3189567656 + .long 2372698352 + .long 3230016966 + .long 3784093842 + .long 3189567302 + .long 1885392624 + .long 3230016969 + .long 2318733051 + .long 3189567813 + .long 1380637784 + .long 3230016972 + .long 497929746 + .long 3189567210 + .long 858482864 + .long 3230016975 + .long 3218883783 + .long 3189567649 + .long 318976720 + .long 3230016978 + .long 3492652862 + .long 3189567382 + .long 4057135272 + .long 3230016980 + .long 473724673 + .long 3189568069 + .long 3483072376 + .long 3230016983 + .long 150485010 + .long 3189567757 + .long 2891803552 + .long 3230016986 + .long 3028900958 + .long 3189567173 + .long 2283376816 + .long 3230016989 + .long 321242596 + .long 3189567822 + .long 1657840008 + .long 3230016992 + .long 151305746 + .long 3189568029 + .long 1015240760 + .long 3230016995 + .long 2208026401 + .long 3189567184 + .long 355626480 + .long 3230016998 + .long 2487781842 + .long 3189567931 + .long 3974011720 + .long 3230017000 + .long 2391142094 + .long 3189567091 + .long 3280508896 + .long 3230017003 + .long 734457618 + .long 3189568092 + .long 2570132168 + .long 3230017006 + .long 3070902701 + .long 3189567794 + .long 1842928168 + .long 3230017009 + .long 1110877923 + .long 3189567896 + .long 1098943352 + .long 3230017012 + .long 3880360185 + .long 3189567898 + .long 338223984 + .long 3230017015 + .long 391995809 + .long 3189567294 + .long 3855783416 + .long 3230017017 + .long 4186345433 + .long 3189567745 + .long 3061732952 + .long 3230017020 + .long 3682852050 + .long 3189567081 + .long 2251085560 + .long 3230017023 + .long 3057037137 + .long 3189567617 + .long 1423886760 + .long 3230017026 + .long 3352664894 + .long 3189567074 + .long 580181848 + .long 3230017029 + .long 1170568982 + .long 3189567927 + .long 4014983272 + .long 3230017031 + .long 671148579 + .long 3189567293 + .long 3138401368 + .long 3230017034 + .long 267496658 + .long 3189567304 + .long 2245448192 + .long 3230017037 + .long 1285167087 + .long 3189568066 + .long 1336168336 + .long 3230017040 + .long 4259909589 + .long 3189567788 + .long 410606184 + .long 3230017043 + .long 1494078902 + .long 3189568031 + .long 3763773256 + .long 3230017045 + .long 261935754 + .long 3189567685 + .long 2805778992 + .long 3230017048 + .long 3679585605 + .long 3189567195 + .long 1831634536 + .long 3230017051 + .long 809066513 + .long 3189567664 + .long 841383576 + .long 3230017054 + .long 385945238 + .long 3189567897 + .long 4130036912 + .long 3230017056 + .long 825579909 + .long 3189567603 + .long 3107703272 + .long 3230017059 + .long 3911295427 + .long 3189567514 + .long 2069393104 + .long 3230017062 + .long 3473784588 + .long 3189567461 + .long 1015149384 + .long 3230017065 + .long 629861200 + .long 3189567515 + .long 4239982216 + .long 3230017067 + .long 2659142760 + .long 3189567083 + .long 3153999632 + .long 3230017070 + .long 1251680713 + .long 3189567080 + .long 2052211384 + .long 3230017073 + .long 3168705163 + .long 3189567992 + .long 934659776 + .long 3230017076 + .long 1674797624 + .long 3189567952 + .long 4096354216 + .long 3230017078 + .long 437847902 + .long 3189567971 + .long 2947402064 + .long 3230017081 + .long 4024401533 + .long 3189567960 + .long 1782812400 + .long 3230017084 + .long 786902458 + .long 3189567873 + .long 602626840 + .long 3230017087 + .long 2593792633 + .long 3189567812 + .long 3701854136 + .long 3230017089 + .long 3989721221 + .long 3189567126 + .long 2490600968 + .long 3230017092 + .long 2545746866 + .long 3189567591 + .long 1263875768 + .long 3230017095 + .long 3115843521 + .long 3189567377 + .long 21719488 + .long 3230017098 + .long 1730226063 + .long 3189567307 + .long 3059140216 + .long 3230017100 + .long 690350922 + .long 3189567892 + .long 1786244008 + .long 3230017103 + .long 3350998585 + .long 3189567394 + .long 498038616 + .long 3230017106 + .long 1499123379 + .long 3189568082 + .long 3489531672 + .long 3230017108 + .long 2598665922 + .long 3189567118 + .long 2170828712 + .long 3230017111 + .long 2436376826 + .long 3189567935 + .long 836937048 + .long 3230017114 + .long 1977004902 + .long 3189568052 + .long 3782863816 + .long 3230017116 + .long 4027224619 + .long 3189567373 + .long 2418714096 + .long 3230017119 + .long 2616869856 + .long 3189567271 + .long 1039494712 + .long 3230017122 + .long 3775628133 + .long 3189567616 + .long 3940212336 + .long 3230017124 + .long 419018052 + .long 3189567909 + .long 2530971600 + .long 3230017127 + .long 150919657 + .long 3189567379 + .long 1106778856 + .long 3230017130 + .long 2926254537 + .long 3189567139 + .long 3962640312 + .long 3230017132 + .long 1610863810 + .long 3189567216 + .long 2508660136 + .long 3230017135 + .long 1166015244 + .long 3189567672 + .long 1039844240 + .long 3230017138 + .long 645159638 + .long 3189567685 + .long 3851198376 + .long 3230017140 + .long 2449439581 + .long 3189567695 + .long 2352826264 + .long 3230017143 + .long 1619104640 + .long 3189567458 + .long 839733360 + .long 3230017146 + .long 2427070371 + .long 3189567165 + .long 3606924968 + .long 3230017148 + .long 2166480890 + .long 3189567544 + .long 2064504368 + .long 3230017151 + .long 2283025905 + .long 3189567907 + .long 507476584 + .long 3230017154 + .long 3923356754 + .long 3189567272 + .long 3230846472 + .long 3230017156 + .long 805331677 + .long 3189567533 + .long 1644716880 + .long 3230017159 + .long 3790469685 + .long 3189567406 + .long 44092384 + .long 3230017162 + .long 2689788214 + .long 3189567653 + .long 2723977432 + .long 3230017164 + .long 2762250221 + .long 3189567072 + .long 1094474416 + .long 3230017167 + .long 2781925193 + .long 3189567716 + .long 3745554800 + .long 3230017169 + .long 593120878 + .long 3189567817 + .long 2087320704 + .long 3230017172 + .long 403414988 + .long 3189568021 + .long 414776008 + .long 3230017175 + .long 359307328 + .long 3189567387 + .long 3022924432 + .long 3230017177 + .long 3373547966 + .long 3189567572 + .long 1321867688 + .long 3230017180 + .long 3978711340 + .long 3189567805 + .long 3901576528 + .long 3230017182 + .long 2765663238 + .long 3189568046 + .long 2172152384 + .long 3230017185 + .long 1181150766 + .long 3189568053 + .long 428598440 + .long 3230017188 + .long 2473022131 + .long 3189567471 + .long 2965917728 + .long 3230017190 + .long 1621744488 + .long 3189567971 + .long 1194211288 + .long 3230017193 + .long 2931299013 + .long 3189567190 + .long 3703449168 + .long 3230017195 + .long 873154950 + .long 3189568039 + .long 1903732144 + .long 3230017198 + .long 1510784525 + .long 3189567521 + .long 90062704 + .long 3230017201 + .long 2918231590 + .long 3189568086 + .long 2557443240 + .long 3230017203 + .long 3329944838 + .long 3189567475 + .long 715974088 + .long 3230017206 + .long 2679715410 + .long 3189568021 + .long 3155624672 + .long 3230017208 + .long 1841110143 + .long 3189567518 + .long 1286495072 + .long 3230017211 + .long 3881638924 + .long 3189567497 + .long 3698554440 + .long 3230017213 + .long 167906931 + .long 3189567169 + .long 1801902600 + .long 3230017216 + .long 1468264167 + .long 3189567597 + .long 4186508448 + .long 3230017218 + .long 2400624638 + .long 3189567691 + .long 2262471560 + .long 3230017221 + .long 3796182064 + .long 3189567357 + .long 324793264 + .long 3230017224 + .long 2801238958 + .long 3189567581 + .long 2668474776 + .long 3230017226 + .long 2273142813 + .long 3189567436 + .long 703615288 + .long 3230017229 + .long 831867571 + .long 3189567237 + .long 3020183048 + .long 3230017231 + .long 2238048829 + .long 3189567595 + .long 1028277008 + .long 3230017234 + .long 1163763070 + .long 3189567452 + .long 3317865168 + .long 3230017236 + .long 1206450788 + .long 3189567228 + .long 1299046216 + .long 3230017239 + .long 737162226 + .long 3189567879 + .long 3561787920 + .long 3230017241 + .long 2433253277 + .long 3189567901 + .long 1516188728 + .long 3230017244 + .long 3561277099 + .long 3189567506 + .long 3752216144 + .long 3230017246 + .long 1385095507 + .long 3189567674 + .long 1679968384 + .long 3230017249 + .long 829462408 + .long 3189567156 + .long 3889412704 + .long 3230017251 + .long 2939266725 + .long 3189567673 + .long 1790647080 + .long 3230017254 + .long 4214100827 + .long 3189567848 + .long 3973638544 + .long 3230017256 + .long 2537954451 + .long 3189567376 + .long 1848484816 + .long 3230017259 + .long 1128740312 + .long 3189567098 + .long 4005152680 + .long 3230017261 + .long 1932232434 + .long 3189568053 + .long 1853739648 + .long 3230017264 + .long 1359710694 + .long 3189567457 + .long 3984212256 + .long 3230017266 + .long 1268482287 + .long 3189567990 + .long 1806667776 + .long 3230017269 + .long 839689017 + .long 3189567631 + .long 3911072520 + .long 3230017271 + .long 3727165601 + .long 3189567921 + .long 1707523520 + .long 3230017274 + .long 1836550952 + .long 3189567895 + .long 3785986872 + .long 3230017276 + .long 172951407 + .long 3189567220 + .long 1556559360 + .long 3230017279 + .long 1166449891 + .long 3189567294 + .long 3609206856 + .long 3230017281 + .long 28625366 + .long 3189567222 + .long 1354025920 + .long 3230017284 + .long 4038426582 + .long 3189567978 + .long 3380982208 + .long 3230017286 + .long 2756284659 + .long 3189567362 + .long 1100172048 + .long 3230017289 + .long 848830252 + .long 3189567230 + .long 3101560856 + .long 3230017291 + .long 1868170309 + .long 3189567423 + .long 795244752 + .long 3230017294 + .long 3128260908 + .long 3189567885 + .long 2771188936 + .long 3230017296 + .long 1691261279 + .long 3189567706 + .long 439489304 + .long 3230017299 + .long 2886711298 + .long 3189567236 + .long 2390110824 + .long 3230017301 + .long 1311431101 + .long 3189567133 + .long 33149176 + .long 3230017304 + .long 3042183093 + .long 3189567401 + .long 1958569120 + .long 3230017306 + .long 3174208880 + .long 3189567462 + .long 3871433416 + .long 3230017308 + .long 302374021 + .long 3189567243 + .long 1476804712 + .long 3230017311 + .long 712531519 + .long 3189567241 + .long 3364647440 + .long 3230017313 + .long 3705318448 + .long 3189567568 + .long 945056744 + .long 3230017316 + .long 2424171915 + .long 3189568016 + .long 2807996856 + .long 3230017318 + .long 199511961 + .long 3189567094 + .long 363562688 + .long 3230017321 + .long 3766234060 + .long 3189567214 + .long 2201718256 + .long 3230017323 + .long 1956195829 + .long 3189567592 + .long 4027525584 + .long 3230017325 + .long 2891794585 + .long 3189567375 + .long 1546046576 + .long 3230017328 + .long 843173017 + .long 3189567760 + .long 3347244936 + .long 3230017330 + .long 1609532414 + .long 3189567955 + .long 841215080 + .long 3230017333 + .long 3356704285 + .long 3189567294 + .long 2617920488 + .long 3230017335 + .long 1641729240 + .long 3189567346 + .long 87455368 + .long 3230017338 + .long 1455753222 + .long 3189567878 + .long 1839783016 + .long 3230017340 + .long 1936589978 + .long 3189567944 + .long 3579964728 + .long 3230017342 + .long 1006586129 + .long 3189567993 + .long 1013061704 + .long 3230017345 + .long 2766825484 + .long 3189567880 + .long 2729036928 + .long 3230017347 + .long 1888685184 + .long 3189567954 + .long 137984104 + .long 3230017350 + .long 848046306 + .long 3189568090 + .long 1829866024 + .long 3230017352 + .long 4178224056 + .long 3189567750 + .long 3509743488 + .long 3230017354 + .long 2637072474 + .long 3189567070 + .long 882677184 + .long 3230017357 + .long 3133305384 + .long 3189567936 + .long 2538629624 + .long 3230017359 + .long 1343200028 + .long 3189567905 + .long 4182661312 + .long 3230017361 + .long 107195460 + .long 3189567427 + .long 1519832648 + .long 3230017364 + .long 602154914 + .long 3189567857 + .long 3140105848 + .long 3230017366 + .long 659160740 + .long 3189567417 + .long 453573824 + .long 3230017369 + .long 236889930 + .long 3189567396 + .long 2050198592 + .long 3230017371 + .long 1175634921 + .long 3189567087 + .long 3635040168 + .long 3230017373 + .long 1241855527 + .long 3189567941 + .long 913158504 + .long 3230017376 + .long 3947904414 + .long 3189567477 + .long 2474515312 + .long 3230017378 + .long 1206979822 + .long 3189567534 + .long 4024170344 + .long 3230017380 + .long 1847397805 + .long 3189567152 + .long 1267183240 + .long 3230017383 + .long 2916539301 + .long 3189567754 + .long 2793515456 + .long 3230017385 + .long 2568213263 + .long 3189568078 + .long 13259168 + .long 3230017388 + .long 3003245330 + .long 3189567303 + .long 1516375624 + .long 3230017390 + .long 3472633477 + .long 3189567153 + .long 3007924104 + .long 3230017392 + .long 532406289 + .long 3189567855 + .long 192963816 + .long 3230017395 + .long 4149310663 + .long 3189567165 + .long 1661455728 + .long 3230017397 + .long 946970842 + .long 3189567598 + .long 3118458864 + .long 3230017399 + .long 2040517972 + .long 3189567254 + .long 269032128 + .long 3230017402 + .long 3669971831 + .long 3189568072 + .long 1703136256 + .long 3230017404 + .long 2375197389 + .long 3189567687 + .long 3125829976 + .long 3230017406 + .long 296757744 + .long 3189567673 + .long 242171944 + .long 3230017409 + .long 611424102 + .long 3189567452 + .long 1642122608 + .long 3230017411 + .long 1700968423 + .long 3189567419 + .long 3030740440 + .long 3230017413 + .long 2947762668 + .long 3189567968 + .long 113083840 + .long 3230017416 + .long 690901756 + .long 3189567496 + .long 1479112984 + .long 3230017418 + .long 121139903 + .long 3189567571 + .long 2833886088 + .long 3230017420 + .long 173386055 + .long 3189567866 + .long 4177428584 + .long 3230017422 + .long 2964718132 + .long 3189567231 + .long 1214798496 + .long 3230017425 + .long 541562024 + .long 3189567842 + .long 2535955680 + .long 3230017427 + .long 3368765612 + .long 3189568076 + .long 3845958008 + .long 3230017429 + .long 3194541507 + .long 3189567689 + .long 849863256 + .long 3230017432 + .long 3443356552 + .long 3189567858 + .long 2137631024 + .long 3230017434 + .long 1180679397 + .long 3189567138 + .long 3414318912 + .long 3230017436 + .long 2261929999 + .long 3189567651 + .long 384984464 + .long 3230017439 + .long 954057098 + .long 3189567971 + .long 1639587024 + .long 3230017441 + .long 1346995839 + .long 3189567263 + .long 2883183944 + .long 3230017443 + .long 3253373727 + .long 3189567382 + .long 4115799808 + .long 3230017445 + .long 4143791142 + .long 3189567800 + .long 1042491824 + .long 3230017448 + .long 4240432954 + .long 3189567700 + .long 2253218992 + .long 3230017450 + .long 1891708033 + .long 3189568072 + .long 3453038360 + .long 3230017452 + .long 710292621 + .long 3189567662 + .long 347006880 + .long 3230017455 + .long 2712254611 + .long 3189567116 + .long 1525083304 + .long 3230017457 + .long 349583280 + .long 3189568004 + .long 2692324448 + .long 3230017459 + .long 1803227864 + .long 3189567740 + .long 3848754312 + .long 3230017461 + .long 3644606976 + .long 3189567826 + .long 699429536 + .long 3230017464 + .long 1067153346 + .long 3189567751 + .long 1834308568 + .long 3230017466 + .long 1335350692 + .long 3189567081 + .long 2958447872 + .long 3230017468 + .long 1803696599 + .long 3189567557 + .long 4071871152 + .long 3230017470 + .long 1232152547 + .long 3189568017 + .long 879634736 + .long 3230017473 + .long 1455437901 + .long 3189567512 + .long 1971696744 + .long 3230017475 + .long 3708110750 + .long 3189567399 + .long 3053113344 + .long 3230017477 + .long 3907324819 + .long 3189567290 + .long 4123907920 + .long 3230017479 + .long 4080000314 + .long 3189567141 + .long 889136480 + .long 3230017482 + .long 1286519001 + .long 3189567298 + .long 1938756848 + .long 3230017484 + .long 1292347423 + .long 3189567513 + .long 2977824880 + .long 3230017486 + .long 1159725249 + .long 3189568015 + .long 4006363664 + .long 3230017488 + .long 895621348 + .long 3189567502 + .long 729428896 + .long 3230017491 + .long 1212894155 + .long 3189567280 + .long 1736978096 + .long 3230017493 + .long 296117275 + .long 3189567210 + .long 2734066816 + .long 3230017495 + .long 2463481211 + .long 3189567796 + .long 3720717848 + .long 3230017497 + .long 76524950 + .long 3189567159 + .long 401986584 + .long 3230017500 + .long 1718551671 + .long 3189567216 + .long 1367830248 + .long 3230017502 + .long 3568874946 + .long 3189567584 + .long 2323304104 + .long 3230017504 + .long 2763456396 + .long 3189567666 + .long 3268430632 + .long 3230017506 + .long 1208592501 + .long 3189567715 + .long 4203232240 + .long 3230017508 + .long 4148835618 + .long 3189567851 + .long 832763976 + .long 3230017511 + .long 610418007 + .long 3189567082 + .long 1746982680 + .long 3230017513 + .long 3035714190 + .long 3189567431 + .long 2650943256 + .long 3230017515 + .long 85931336 + .long 3189567843 + .long 3544667832 + .long 3230017517 + .long 3006685957 + .long 3189567286 + .long 133211144 + .long 3230017520 + .long 878859600 + .long 3189567873 + .long 1006529776 + .long 3230017522 + .long 854333969 + .long 3189567724 + .long 1869678336 + .long 3230017524 + .long 3058646748 + .long 3189567155 + .long 2722678648 + .long 3230017526 + .long 360733640 + .long 3189567693 + .long 3565552488 + .long 3230017528 + .long 3015564990 + .long 3189568013 + .long 103354256 + .long 3230017531 + .long 2286095909 + .long 3189568081 + .long 926040176 + .long 3230017533 + .long 1899270393 + .long 3189567137 + .long 1738664488 + .long 3230017535 + .long 1377641292 + .long 3189567833 + .long 2541248696 + .long 3230017537 + .long 4266686523 + .long 3189568077 + .long 3333814224 + .long 3230017539 + .long 4018775563 + .long 3189567218 + .long 4116382408 + .long 3230017541 + .long 3373913644 + .long 3189567103 + .long 594007232 + .long 3230017544 + .long 2818265402 + .long 3189568021 + .long 1356644520 + .long 3230017546 + .long 1075601108 + .long 3189567716 + .long 2109348112 + .long 3230017548 + .long 3342127702 + .long 3189567566 + .long 2852139088 + .long 3230017550 + .long 2910355434 + .long 3189567504 + .long 3585038464 + .long 3230017552 + .long 611858749 + .long 3189567074 + .long 13099880 + .long 3230017555 + .long 1954698831 + .long 3189567516 + .long 726278816 + .long 3230017557 + .long 550712630 + .long 3189567710 + .long 1429628792 + .long 3230017559 + .long 3672474493 + .long 3189567278 + .long 2123170544 + .long 3230017561 + .long 1160875209 + .long 3189567651 + .long 2806924760 + .long 3230017563 + .long 2242524344 + .long 3189568000 + .long 3480912064 + .long 3230017565 + .long 2823138691 + .long 3189567327 + .long 4145152992 + .long 3230017567 + .long 3521079748 + .long 3189567568 + .long 504700744 + .long 3230017570 + .long 1136670137 + .long 3189567486 + .long 1149510328 + .long 3230017572 + .long 806933442 + .long 3189567823 + .long 1784634816 + .long 3230017574 + .long 1606084669 + .long 3189567242 + .long 2410094488 + .long 3230017576 + .long 2841342625 + .long 3189567480 + .long 3025909584 + .long 3230017578 + .long 984188059 + .long 3189567239 + .long 3632100264 + .long 3230017580 + .long 3011730434 + .long 3189567337 + .long 4228686632 + .long 3230017582 + .long 328432041 + .long 3189567676 + .long 520721440 + .long 3230017585 + .long 2057225622 + .long 3189567268 + .long 1098159248 + .long 3230017587 + .long 3150727306 + .long 3189567348 + .long 1666052680 + .long 3230017589 + .long 3291380622 + .long 3189567307 + .long 2224421584 + .long 3230017591 + .long 3570771984 + .long 3189567798 + .long 2773285760 + .long 3230017593 + .long 2427604440 + .long 3189567698 + .long 3312664936 + .long 3230017595 + .long 3733848165 + .long 3189567211 + .long 3842578768 + .long 3230017597 + .long 2673912350 + .long 3189567904 + .long 68079584 + .long 3230017600 + .long 960995892 + .long 3189567616 + .long 579121512 + .long 3230017602 + .long 4150493479 + .long 3189567659 + .long 1080756744 + .long 3230017604 + .long 1054941272 + .long 3189567735 + .long 1573004704 + .long 3230017606 + .long 2574365292 + .long 3189568007 + .long 2055884768 + .long 3230017608 + .long 2507498673 + .long 3189567092 + .long 2529416224 + .long 3230017610 + .long 2082176323 + .long 3189567207 + .long 2993618320 + .long 3230017612 + .long 3719982601 + .long 3189568058 + .long 3448510256 + .long 3230017614 + .long 4104247904 + .long 3189567897 + .long 3894111152 + .long 3230017616 + .long 3735557011 + .long 3189567647 + .long 35472776 + .long 3230017619 + .long 2914260983 + .long 3189567862 + .long 462548736 + .long 3230017621 + .long 1334094042 + .long 3189567734 + .long 880390688 + .long 3230017623 + .long 1291097379 + .long 3189567171 + .long 1289017512 + .long 3230017625 + .long 1627119803 + .long 3189567853 + .long 1688448064 + .long 3230017627 + .long 3886873723 + .long 3189567117 + .long 2078701104 + .long 3230017629 + .long 627887757 + .long 3189567206 + .long 2459795360 + .long 3230017631 + .long 1722013861 + .long 3189567101 + .long 2831749488 + .long 3230017633 + .long 4163262354 + .long 3189567678 + .long 3194582104 + .long 3230017635 + .long 4170237688 + .long 3189567639 + .long 3548311752 + .long 3230017637 + .long 47563772 + .long 3189567637 + .long 3892956928 + .long 3230017639 + .long 2990136007 + .long 3189567231 + .long 4228536056 + .long 3230017641 + .long 4294532248 + .long 3189567995 + .long 260100240 + .long 3230017644 + .long 2060709623 + .long 3189567397 + .long 577602376 + .long 3230017646 + .long 1488525373 + .long 3189568044 + .long 886093456 + .long 3230017648 + .long 1657840200 + .long 3189567474 + .long 1185591680 + .long 3230017650 + .long 3155771782 + .long 3189567399 + .long 1476115208 + .long 3230017652 + .long 2195162329 + .long 3189567591 + .long 1757682144 + .long 3230017654 + .long 1292806663 + .long 3189567956 + .long 2030310544 + .long 3230017656 + .long 2151451208 + .long 3189567540 + .long 2294018392 + .long 3230017658 + .long 2224122735 + .long 3189567630 + .long 2548823632 + .long 3230017660 + .long 3554417607 + .long 3189567684 + .long 2794744152 + .long 3230017662 + .long 3831650627 + .long 3189567409 + .long 3031797776 + .long 3230017664 + .long 4024246224 + .long 3189567811 + .long 3260002296 + .long 3230017666 + .long 2530219738 + .long 3189567128 + .long 3479375416 + .long 3230017668 + .long 1618145996 + .long 3189568024 + .long 3689934832 + .long 3230017670 + .long 392379700 + .long 3189567378 + .long 3891698144 + .long 3230017672 + .long 55874694 + .long 3189567574 + .long 4084682928 + .long 3230017674 + .long 4294251475 + .long 3189567312 + .long 4268906688 + .long 3230017676 + .long 1899705040 + .long 3189567783 + .long 149419600 + .long 3230017679 + .long 357699389 + .long 3189567568 + .long 316173656 + .long 3230017681 + .long 3025711727 + .long 3189567790 + .long 474218920 + .long 3230017683 + .long 2921891821 + .long 3189568046 + .long 623572704 + .long 3230017685 + .long 1716968749 + .long 3189567453 + .long 764252248 + .long 3230017687 + .long 2393171526 + .long 3189567748 + .long 896274768 + .long 3230017689 + .long 1343317993 + .long 3189567172 + .long 1019657400 + .long 3230017691 + .long 1388235839 + .long 3189567661 + .long 1134417256 + .long 3230017693 + .long 2766147125 + .long 3189567706 + .long 1240571384 + .long 3230017695 + .long 2162068842 + .long 3189567499 + .long 1338136776 + .long 3230017697 + .long 4075455588 + .long 3189567932 + .long 1427130392 + .long 3230017699 + .long 1579647664 + .long 3189567555 + .long 1507569120 + .long 3230017701 + .long 3785749868 + .long 3189567715 + .long 1579469816 + .long 3230017703 + .long 2639950365 + .long 3189567469 + .long 1642849272 + .long 3230017705 + .long 3611501026 + .long 3189567698 + .long 1697724240 + .long 3230017707 + .long 15422953 + .long 3189568066 + .long 1744111424 + .long 3230017709 + .long 2642213241 + .long 3189568062 + .long 1782027472 + .long 3230017711 + .long 143606300 + .long 3189568058 + .long 1811488992 + .long 3230017713 + .long 501328690 + .long 3189567276 + .long 1832512520 + .long 3230017715 + .long 3258054578 + .long 3189567915 + .long 1845114576 + .long 3230017717 + .long 1297851139 + .long 3189568007 + .long 1849311616 + .long 3230017719 + .long 3589200000 + .long 3189567580 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 2846560486 + .long 3210737666 + .long 2729511872 + .long 3211784202 + .long 3956813460 + .long 3212307985 + .long 1796237193 + .long 3212828714 + .long 1562748889 + .long 3213092649 + .long 1602292343 + .long 3213352007 + .long 745814092 + .long 3213610865 + .long 2969306084 + .long 3213869224 + .long 3953060839 + .long 3214006263 + .long 1128703349 + .long 3214134948 + .long 1371067273 + .long 3214263386 + .long 131445019 + .long 3214391579 + .long 1427948820 + .long 3214519527 + .long 665817496 + .long 3214647232 + .long 1817459908 + .long 3214774694 + .long 242758400 + .long 3214901915 + .long 2082038134 + .long 3214981455 + .long 2300828032 + .long 3215044825 + .long 571795571 + .long 3215108076 + .long 3120479584 + .long 3215171207 + .long 3276640540 + .long 3215234220 + .long 2949178581 + .long 3215297115 + .long 4036279704 + .long 3215359892 + .long 4130528508 + .long 3215422552 + .long 813954767 + .long 3215485096 + .long 248046571 + .long 3215547523 + .long 4288926261 + .long 3215609833 + .long 1897492927 + .long 3215672029 + .long 3499237165 + .long 3215734109 + .long 2329611090 + .long 3215796075 + .long 203907094 + .long 3215857927 + .long 3222364838 + .long 3215919664 + .long 295408387 + .long 3215981289 + .long 899212401 + .long 3216012696 + .long 2606049022 + .long 3216043395 + .long 4003691233 + .long 3216074038 + .long 1675303236 + .long 3216104626 + .long 789189655 + .long 3216135158 + .long 2213928479 + .long 3216165634 + .long 2518405585 + .long 3216196055 + .long 2561783534 + .long 3216226421 + .long 3198568176 + .long 3216256732 + .long 983674944 + .long 3216286989 + .long 1057364031 + .long 3216317191 + .long 4260371496 + .long 3216347338 + .long 2838974660 + .long 3216377432 + .long 1919860988 + .long 3216407472 + .long 2330291020 + .long 3216437458 + .long 598130195 + .long 3216467391 + .long 1836782285 + .long 3216497270 + .long 2565351466 + .long 3216527096 + .long 3593575201 + .long 3216556869 + .long 1431920350 + .long 3216586590 + .long 1176515501 + .long 3216616258 + .long 3624279252 + .long 3216645873 + .long 977982819 + .long 3216675437 + .long 2616083454 + .long 3216704948 + .long 733015457 + .long 3216734408 + .long 403990373 + .long 3216763816 + .long 2405156675 + .long 3216793172 + .long 3213628385 + .long 3216822477 + .long 3597448029 + .long 3216851731 + .long 25680167 + .long 3216880935 + .long 1848308454 + .long 3216910087 + .long 1231492199 + .long 3216939189 + .long 3222364838 + .long 3216968240 + .long 4274224607 + .long 3216997241 + .long 836496059 + .long 3217026193 + .long 1119829323 + .long 3217043131 + .long 315251054 + .long 3217057557 + .long 518461891 + .long 3217071958 + .long 2094042713 + .long 3217086334 + .long 1109735857 + .long 3217100686 + .long 2221359788 + .long 3217115013 + .long 1492952593 + .long 3217129316 + .long 3576653728 + .long 3217143594 + .long 237880003 + .long 3217157849 + .long 420109003 + .long 3217172079 + .long 180120274 + .long 3217186285 + .long 4162843939 + .long 3217200466 + .long 4126536273 + .long 3217214624 + .long 417628115 + .long 3217228759 + .long 1970736719 + .long 3217242869 + .long 538873716 + .long 3217256956 + .long 758227830 + .long 3217271019 + .long 2968307242 + .long 3217285058 + .long 3211951040 + .long 3217299074 + .long 1825275166 + .long 3217313067 + .long 3437683677 + .long 3217327036 + .long 4086978021 + .long 3217340982 + .long 4104270002 + .long 3217354905 + .long 3819025464 + .long 3217368805 + .long 3559075183 + .long 3217382682 + .long 3650625670 + .long 3217396536 + .long 123302585 + .long 3217410368 + .long 1890030548 + .long 3217424176 + .long 682272600 + .long 3217437962 + .long 1114811729 + .long 3217451725 + .long 3505892050 + .long 3217465465 + .long 3877229085 + .long 3217479183 + .long 2543954549 + .long 3217492879 + .long 4114626469 + .long 3217506552 + .long 311370023 + .long 3217520204 + .long 34658569 + .long 3217533833 + .long 3593519732 + .long 3217547439 + .long 2705545195 + .long 3217561024 + .long 1971736889 + .long 3217574587 + .long 1696647441 + .long 3217588128 + .long 2183357019 + .long 3217601647 + .long 3733482817 + .long 3217615144 + .long 2352221150 + .long 3217628620 + .long 2633258676 + .long 3217642074 + .long 578912458 + .long 3217655507 + .long 780008323 + .long 3217668918 + .long 3530988084 + .long 3217682307 + .long 534951267 + .long 3217695676 + .long 673467853 + .long 3217709023 + .long 4236783385 + .long 3217722348 + .long 2923827788 + .long 3217735653 + .long 1317060595 + .long 3217748937 + .long 3997577740 + .long 3217762199 + .long 2660218276 + .long 3217775441 + .long 1883376699 + .long 3217788662 + .long 1949142230 + .long 3217801862 + .long 3138274530 + .long 3217815041 + .long 1435244737 + .long 3217828200 + .long 1413145637 + .long 3217841338 + .long 3348797986 + .long 3217854455 + .long 3222758658 + .long 3217867552 + .long 1309263324 + .long 3217880629 + .long 2176234471 + .long 3217893685 + .long 1800387473 + .long 3217906721 + .long 452140382 + .long 3217919737 + .long 2695621757 + .long 3217932732 + .long 208809263 + .long 3217945708 + .long 1848308454 + .long 3217958663 + .long 3584589359 + .long 3217971598 + .long 1386895968 + .long 3217984514 + .long 4108155659 + .long 3217997409 + .long 3420215606 + .long 3218010285 + .long 3878621277 + .long 3218023141 + .long 1447787319 + .long 3218035978 + .long 680874053 + .long 3218048795 + .long 1834892843 + .long 3218061592 + .long 870713292 + .long 3218074370 + .long 1168986141 + .long 3218083436 + .long 3245089583 + .long 3218089805 + .long 2494877761 + .long 3218096165 + .long 3338922950 + .long 3218102515 + .long 1607293197 + .long 3218108856 + .long 1719424943 + .long 3218115187 + .long 3799224547 + .long 3218121508 + .long 3675071677 + .long 3218127820 + .long 1469757259 + .long 3218134123 + .long 1600486820 + .long 3218140416 + .long 4188949205 + .long 3218146699 + .long 766352567 + .long 3218152974 + .long 43231408 + .long 3218159239 + .long 2139646042 + .long 3218165494 + .long 2880153102 + .long 3218171740 + .long 2383743325 + .long 3218177977 + .long 768877423 + .long 3218184205 + .long 2448456521 + .long 3218190423 + .long 3244923387 + .long 3218196632 + .long 3275167422 + .long 3218202832 + .long 2655560435 + .long 3218209023 + .long 1501959692 + .long 3218215205 + .long 4224678246 + .long 3218221377 + .long 2348618756 + .long 3218227541 + .long 283080250 + .long 3218233696 + .long 2436859197 + .long 3218239841 + .long 333350563 + .long 3218245978 + .long 2675321801 + .long 3218252105 + .long 985177381 + .long 3218258224 + .long 3964700035 + .long 3218264333 + .long 3135315249 + .long 3218270434 + .long 2902865164 + .long 3218276526 + .long 3377742213 + .long 3218282609 + .long 374891912 + .long 3218288684 + .long 2593684821 + .long 3218294749 + .long 1553148222 + .long 3218300806 + .long 1656739931 + .long 3218306854 + .long 3012481825 + .long 3218312893 + .long 1432962538 + .long 3218318924 + .long 1320242026 + .long 3218324946 + .long 2780952336 + .long 3218330959 + .long 1626300240 + .long 3218336964 + .long 2256971748 + .long 3218342960 + .long 483265518 + .long 3218348948 + .long 704964628 + .long 3218354927 + .long 3026437244 + .long 3218360897 + .long 3256639170 + .long 3218366859 + .long 1499050969 + .long 3218372813 + .long 2151680465 + .long 3218378758 + .long 1022163351 + .long 3218384695 + .long 2507634849 + .long 3218390623 + .long 2414862975 + .long 3218396543 + .long 845152874 + .long 3218402455 + .long 2194349235 + .long 3218408358 + .long 2267936813 + .long 3218414253 + .long 1165944702 + .long 3218420140 + .long 3282948707 + .long 3218426018 + .long 128204514 + .long 3218431889 + .long 390421100 + .long 3218437751 + .long 4167959282 + .long 3218443604 + .long 2968834018 + .long 3218449450 + .long 1185553177 + .long 3218455288 + .long 3210217930 + .long 3218461117 + .long 549623114 + .long 3218466939 + .long 1890030548 + .long 3218472752 + .long 3032400188 + .long 3218478557 + .long 4072261525 + .long 3218484354 + .long 3450874911 + .long 1070995813 + .long 2331021804 + .long 1070990032 + .long 1029453230 + .long 1070984259 + .long 3747176240 + .long 1070978493 + .long 1800682930 + .long 1070972736 + .long 3686719393 + .long 1070966986 + .long 722545241 + .long 1070961245 + .long 1405669883 + .long 1070955511 + .long 1349079372 + .long 1070949785 + .long 461103529 + .long 1070944067 + .long 2945413886 + .long 1070938356 + .long 121152472 + .long 1070932654 + .long 487700860 + .long 1070926959 + .long 3954874384 + .long 1070921271 + .long 1842920138 + .long 1070915592 + .long 2652318780 + .long 1070909920 + .long 1999011482 + .long 1070904256 + .long 4089234463 + .long 1070898599 + .long 244680560 + .long 1070892951 + .long 3262235675 + .long 1070887309 + .long 169336595 + .long 1070881676 + .long 3763576649 + .long 1070876049 + .long 1073096258 + .long 1070870431 + .long 601221319 + .long 1070864820 + .long 2261690268 + .long 1070859216 + .long 1673619518 + .long 1070853620 + .long 3046403514 + .long 1070848031 + .long 1999843716 + .long 1070842450 + .long 2744015967 + .long 1070836876 + .long 899399508 + .long 1070831310 + .long 676744370 + .long 1070825751 + .long 1992167703 + .long 1070820199 + .long 467152011 + .long 1070814655 + .long 313445281 + .long 1070809118 + .long 1448157352 + .long 1070803588 + .long 3788725476 + .long 1070798065 + .long 2957945300 + .long 1070792550 + .long 3168871046 + .long 1070787042 + .long 44944622 + .long 1070781542 + .long 2094830420 + .long 1070776048 + .long 647642559 + .long 1070770562 + .long 4212681596 + .long 1070765082 + .long 4119694493 + .long 1070759610 + .long 288676754 + .long 1070754146 + .long 1229870791 + .long 1070748688 + .long 2568927817 + .long 1070743237 + .long 4226775419 + .long 1070737793 + .long 1829681364 + .long 1070732357 + .long 3889121191 + .long 1070726927 + .long 1737005556 + .long 1070721505 + .long 3885417029 + .long 1070716089 + .long 1666870165 + .long 1070710681 + .long 3594048319 + .long 1070705279 + .long 1000063738 + .long 1070699885 + .long 2398194399 + .long 1070694497 + .long 3417111411 + .long 1070689116 + .long 3980746691 + .long 1070683742 + .long 4013324163 + .long 1070678375 + .long 3439358267 + .long 1070673015 + .long 2183652476 + .long 1070667662 + .long 171297820 + .long 1070662316 + .long 1622638721 + .long 1070656976 + .long 2168369647 + .long 1070651643 + .long 1734435555 + .long 1070646317 + .long 247063161 + .long 1070640998 + .long 1927726804 + .long 1070635685 + .long 2408245143 + .long 1070630379 + .long 1615681634 + .long 1070625080 + .long 3772343130 + .long 1070619787 + .long 215909304 + .long 1070614502 + .long 3759169634 + .long 1070609222 + .long 1445381777 + .long 1070603950 + .long 1792910451 + .long 1070598684 + .long 870975437 + .long 1070590754 + .long 3194096222 + .long 1070580248 + .long 1823716217 + .long 1070569756 + .long 913800688 + .long 1070559277 + .long 323875369 + .long 1070548811 + .long 4208958430 + .long 1070538357 + .long 3839688678 + .long 1070527917 + .long 3372126730 + .long 1070517490 + .long 2667883253 + .long 1070507076 + .long 1589083690 + .long 1070496675 + .long 4293333010 + .long 1070486286 + .long 2053843986 + .long 1070475911 + .long 3324205749 + .long 1070465548 + .long 3673610217 + .long 1070455198 + .long 2966718784 + .long 1070444861 + .long 1068692560 + .long 1070434537 + .long 2140157205 + .long 1070424225 + .long 1752298597 + .long 1070413926 + .long 4066729595 + .long 1070403639 + .long 360651144 + .long 1070393366 + .long 3386588242 + .long 1070383104 + .long 127747308 + .long 1070372856 + .long 3337621361 + .long 1070362619 + .long 380113 + .long 1070352396 + .long 2870475188 + .long 1070342184 + .long 3227997535 + .long 1070331985 + .long 943446189 + .long 1070321799 + .long 182758681 + .long 1070311625 + .long 817374162 + .long 1070301463 + .long 2719198427 + .long 1070291313 + .long 1465634365 + .long 1070281176 + .long 1224481606 + .long 1070271051 + .long 1869032404 + .long 1070260938 + .long 3273036717 + .long 1070250837 + .long 1015732707 + .long 1070240749 + .long 3561713742 + .long 1070230672 + .long 2196155141 + .long 1070220608 + .long 1089583089 + .long 1070210556 + .long 118003300 + .long 1070200516 + .long 3452833475 + .long 1070190487 + .long 2381031992 + .long 1070180471 + .long 1074899573 + .long 1070170467 + .long 3707175295 + .long 1070160474 + .long 1566132617 + .long 1070150494 + .long 3120348377 + .long 1070140525 + .long 3953929663 + .long 1070130568 + .long 3946380940 + .long 1070120623 + .long 2977634725 + .long 1070110690 + .long 928049556 + .long 1070100769 + .long 1973375279 + .long 1070090859 + .long 1699849154 + .long 1070080961 + .long 4284063055 + .long 1070071074 + .long 1018125008 + .long 1070061200 + .long 374428300 + .long 1070051337 + .long 2235845747 + .long 1070041485 + .long 2190695046 + .long 1070031645 + .long 122671437 + .long 1070021817 + .long 210845780 + .long 1070012000 + .long 2339728060 + .long 1070002194 + .long 2099265479 + .long 1069992400 + .long 3669742467 + .long 1069982617 + .long 2641909617 + .long 1069972846 + .long 3196851002 + .long 1069963086 + .long 926113142 + .long 1069953338 + .long 11572342 + .long 1069943601 + .long 340530969 + .long 1069933875 + .long 1800682930 + .long 1069924160 + .long 4280111857 + .long 1069914456 + .long 3372322013 + .long 1069904764 + .long 3261138386 + .long 1069895083 + .long 3835803021 + .long 1069885413 + .long 690973253 + .long 1069875755 + .long 2306589128 + .long 1069866107 + .long 4278067876 + .long 1069856470 + .long 2201204065 + .long 1069846845 + .long 262102455 + .long 1069837231 + .long 2647241692 + .long 1069827627 + .long 658570708 + .long 1069818035 + .long 2778278092 + .long 1069808453 + .long 309052031 + .long 1069798883 + .long 1733817001 + .long 1069789323 + .long 2650961017 + .long 1069779774 + .long 2954203158 + .long 1069770236 + .long 2537624622 + .long 1069760709 + .long 1295667077 + .long 1069751193 + .long 3418098326 + .long 1069741687 + .long 210141498 + .long 1069732193 + .long 157244505 + .long 1069722709 + .long 3155274661 + .long 1069713235 + .long 510517079 + .long 1069703773 + .long 709476866 + .long 1069694321 + .long 3649073763 + .long 1069684879 + .long 636640577 + .long 1069675449 + .long 159725394 + .long 1069666029 + .long 2116286250 + .long 1069656619 + .long 2109656884 + .long 1069647220 + .long 38479793 + .long 1069637832 + .long 96704707 + .long 1069628454 + .long 2183652476 + .long 1069619086 + .long 1904013563 + .long 1069609729 + .long 3452748429 + .long 1069600382 + .long 2435216853 + .long 1069591046 + .long 3047045639 + .long 1069581720 + .long 894257944 + .long 1069572405 + .long 173141005 + .long 1069563100 + .long 785342784 + .long 1069553805 + .long 970708326 + .long 1069541521 + .long 2645916898 + .long 1069522972 + .long 2106590683 + .long 1069504444 + .long 3453588195 + .long 1069485936 + .long 2198475040 + .long 1069467449 + .long 2443390270 + .long 1069448982 + .long 3996141691 + .long 1069430535 + .long 2370203065 + .long 1069412109 + .long 1669613218 + .long 1069393703 + .long 1704071394 + .long 1069375317 + .long 2283901796 + .long 1069356951 + .long 3220050856 + .long 1069338605 + .long 29117219 + .long 1069320280 + .long 1113218225 + .long 1069301974 + .long 1990183441 + .long 1069283688 + .long 2473421172 + .long 1069265422 + .long 2376948508 + .long 1069247176 + .long 1515388672 + .long 1069228950 + .long 3998935692 + .long 1069210743 + .long 1053482595 + .long 1069192557 + .long 1085389880 + .long 1069174390 + .long 3911679148 + .long 1069156242 + .long 760030536 + .long 1069138115 + .long 38583924 + .long 1069120007 + .long 1566132617 + .long 1069101918 + .long 867088104 + .long 1069083849 + .long 2056379433 + .long 1069065799 + .long 659581512 + .long 1069047769 + .long 792781808 + .long 1069029758 + .long 2277675977 + .long 1069011766 + .long 641565395 + .long 1068993794 + .long 2256601 + .long 1068975841 + .long 183156961 + .long 1068957907 + .long 1008239542 + .long 1068939992 + .long 2302040698 + .long 1068922096 + .long 3889657667 + .long 1068904219 + .long 1301778891 + .long 1068886362 + .long 2954550821 + .long 1068868523 + .long 84804484 + .long 1068850704 + .long 1109791498 + .long 1068832903 + .long 1562410668 + .long 1068815121 + .long 1271074840 + .long 1068797358 + .long 64741293 + .long 1068779614 + .long 2067876735 + .long 1068761888 + .long 2815553124 + .long 1068744181 + .long 2138347284 + .long 1068726493 + .long 4162338635 + .long 1068708823 + .long 129237761 + .long 1068691173 + .long 2756122533 + .long 1068673540 + .long 3285762921 + .long 1068655926 + .long 1551389854 + .long 1068638331 + .long 1681725707 + .long 1068620754 + .long 3511047527 + .long 1068603195 + .long 2579184841 + .long 1068585655 + .long 3016419377 + .long 1068568133 + .long 363613719 + .long 1068550630 + .long 3047045639 + .long 1068533144 + .long 2313634884 + .long 1068515677 + .long 296456961 + .long 1068497513 + .long 1367328035 + .long 1068462651 + .long 3221665916 + .long 1068427825 + .long 1242258971 + .long 1068393036 + .long 3697798734 + .long 1068358282 + .long 1678104687 + .long 1068323565 + .long 3453858508 + .long 1068288883 + .long 116861598 + .long 1068254238 + .long 4234736672 + .long 1068219627 + .long 2606283437 + .long 1068185053 + .long 3506114812 + .long 1068150514 + .long 2324914545 + .long 1068116011 + .long 3044269692 + .long 1068081543 + .long 1056797460 + .long 1068047111 + .long 346010435 + .long 1068012714 + .long 601410756 + .long 1067978352 + .long 1513453498 + .long 1067944025 + .long 2773542775 + .long 1067909733 + .long 4074027864 + .long 1067875476 + .long 813232056 + .long 1067841255 + .long 1275317999 + .long 1067807068 + .long 860480111 + .long 1067772916 + .long 3559777258 + .long 1067738798 + .long 480292498 + .long 1067704716 + .long 4204867691 + .long 1067670667 + .long 1547459502 + .long 1067636654 + .long 797775935 + .long 1067602675 + .long 1656501562 + .long 1067568730 + .long 3825228429 + .long 1067534819 + .long 2711485098 + .long 1067500943 + .long 2313634884 + .long 1067467101 + .long 376973398 + .long 1067416219 + .long 672386641 + .long 1067348671 + .long 630691842 + .long 1067281191 + .long 3960777458 + .long 1067213778 + .long 1488394470 + .long 1067146434 + .long 1220920383 + .long 1067079157 + .long 2577548405 + .long 1067011947 + .long 684247743 + .long 1066944805 + .long 3553625811 + .long 1066877729 + .long 2020150230 + .long 1066810721 + .long 4099880293 + .long 1066743779 + .long 630721729 + .long 1066676905 + .long 3927125538 + .long 1066610096 + .long 535440936 + .long 1066543355 + .long 2773516144 + .long 1066476679 + .long 1486051399 + .long 1066410070 + .long 808661260 + .long 1066285262 + .long 2227658502 + .long 1066152307 + .long 1813447778 + .long 1066019484 + .long 2743640746 + .long 1065886792 + .long 3904192454 + .long 1065754231 + .long 4184355568 + .long 1065621801 + .long 2476667369 + .long 1065489502 + .long 1971904113 + .long 1065357333 + .long 3138267131 + .long 1065097372 + .long 341338964 + .long 1064833554 + .long 1954052322 + .long 1064569994 + .long 1498975029 + .long 1064306693 + .long 2190050752 + .long 1063782660 + .long 1440057502 + .long 1063257089 + .long 1432705161 + .long 1062208000 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040187392 + .long 0 + .long 1040187392 + .long 0 + .long 1040187392 + .long 0 + .long 1040187392 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1071120384 + .long 0 + .long 1071120384 + .long 0 + .long 1071120384 + .long 0 + .long 1071120384 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070858240 + .long 0 + .long 1070858240 + .long 0 + .long 1070858240 + .long 0 + .long 1070858240 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070563328 + .long 0 + .long 1070563328 + .long 0 + .long 1070563328 + .long 0 + .long 1070563328 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966784 + .long 0 + .long 4294966784 + .long 0 + .long 4294966784 + .long 0 + .long 4294966784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dasinh_data_internal,@object + .size __svml_dasinh_data_internal,14784 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core-avx2.S new file mode 100644 index 0000000000..647c73292c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized asinh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_asinh _ZGVeN8v_asinh_avx2_wrapper +#include "../svml_d_asinh8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core.c new file mode 100644 index 0000000000..45e5ab72a6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized asinh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_asinh +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_asinh, __GI__ZGVeN8v_asinh, __redirect__ZGVeN8v_asinh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core_avx512.S new file mode 100644 index 0000000000..00da374656 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core_avx512.S @@ -0,0 +1,853 @@ +/* Function asinh vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute asinh(x) as log(x + sqrt(x*x + 1)) + * using RSQRT instructions for starting the + * square root approximation, and small table lookups for log + * that map to AVX-512 permute instructions + * + * Special cases: + * + * asinh(NaN) = quiet NaN, and raise invalid exception + * asinh(INF) = that INF + * asinh(0) = that 0 + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_asinh_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %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: + 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 + +END(_ZGVeN8v_asinh_skx) + + .align 16,0x90 + +__svml_dasinh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dasinh_cout_rare_internal,@function + .size __svml_dasinh_cout_rare_internal,.-__svml_dasinh_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core-avx2.S new file mode 100644 index 0000000000..7dfd95e400 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized asinhf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_asinhf _ZGVeN16v_asinhf_avx2_wrapper +#include "../svml_s_asinhf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core.c new file mode 100644 index 0000000000..dc770a0e65 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized asinhf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_asinhf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_asinhf, __GI__ZGVeN16v_asinhf, + __redirect__ZGVeN16v_asinhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core_avx512.S new file mode 100644 index 0000000000..6a701488ad --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core_avx512.S @@ -0,0 +1,653 @@ +/* Function asinhf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute asinh(x) as log(x + sqrt(x*x + 1)) + * using RSQRT instructions for starting the + * square root approximation, and small table lookups for log + * that map to AVX-512 permute instructions + * + * Special cases: + * + * asinh(NaN) = quiet NaN, and raise invalid exception + * asinh(INF) = that INF + * asinh(0) = that 0 + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_asinhf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %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: + 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 + +END(_ZGVeN16v_asinhf_skx) + + .align 16,0x90 + +__svml_sasinh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_sasinh_cout_rare_internal,@function + .size __svml_sasinh_cout_rare_internal,.-__svml_sasinh_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core-sse2.S new file mode 100644 index 0000000000..52e4d2f728 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized asinhf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_asinhf _ZGVbN4v_asinhf_sse2 +#include "../svml_s_asinhf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core.c new file mode 100644 index 0000000000..296d5754ae --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized asinhf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_asinhf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_asinhf, __GI__ZGVbN4v_asinhf, + __redirect__ZGVbN4v_asinhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core_sse4.S new file mode 100644 index 0000000000..eb537560b8 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core_sse4.S @@ -0,0 +1,2569 @@ +/* Function asinhf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute asinh(x) as log(x + sqrt(x*x + 1)) + * + * Special cases: + * + * asinh(NaN) = quiet NaN, and raise invalid exception + * asinh(INF) = that INF + * asinh(0) = that 0 + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_asinhf_sse4) + 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 + movups %xmm12, 160(%rsp) + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movaps %xmm0, %xmm12 + +/* + * Split X into high and low parts, XHi (<= 11 bits) and XLo (<= 13 bits) + * We could use either X or |X| here, but it doesn't seem to matter + */ + movups 2880+__svml_sasinh_data_internal(%rip), %xmm4 + andps %xmm12, %xmm4 + +/* + * Compute X^2 = (XHi + XLo)^2 = XHi^2 + XLo * (X + XHi) + * The two parts are shifted off by around 11 bits. So even though + * the low bit will not in general be exact, it's near enough + */ + movaps %xmm4, %xmm2 + subps %xmm4, %xmm0 + mulps %xmm4, %xmm2 + addps %xmm12, %xmm4 + +/* Load the constant 1 and a sign mask */ + movups 1920+__svml_sasinh_data_internal(%rip), %xmm6 + +/* + * Finally, express Y + W = X^2 + 1 accurately where Y has <= 8 bits. + * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 + * as the dominant component in the compensated summation. Otherwise, + * if |X| >= 1, then since X2Hi only has 22 significant bits, the basic + * addition will be exact anyway until we get to |X| >= 2^24. But by + * that time the log function is well-conditioned enough that the + * rounding error doesn't matter. Hence we can treat 1 as dominant even + * if it literally isn't. + */ + movaps %xmm6, %xmm3 + mulps %xmm4, %xmm0 + addps %xmm2, %xmm3 + movaps %xmm6, %xmm4 + movups %xmm14, 112(%rsp) + subps %xmm3, %xmm4 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movups 3008+__svml_sasinh_data_internal(%rip), %xmm14 + addps %xmm2, %xmm4 + +/* + * Unfortunately, we can still be in trouble if |X| <= 2^-5, since + * the absolute error 2^-(7+24)-ish in sqrt(1 + X^2) gets scaled up + * by 1/X and comes close to our threshold. Hence if |X| <= 2^-4, + * perform an alternative computation + * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 + * X2 = X^2 + */ + addps %xmm0, %xmm2 + addps %xmm0, %xmm4 + movaps %xmm14, %xmm1 + andps %xmm3, %xmm1 + movups %xmm13, 144(%rsp) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + +/* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-8 + */ + movaps %xmm6, %xmm13 + +/* + * Get the absolute value of the input, since we will exploit antisymmetry + * and mostly assume X >= 0 in the core computation + */ + movups 1088+__svml_sasinh_data_internal(%rip), %xmm5 + subps %xmm1, %xmm3 + andps %xmm12, %xmm5 + addps %xmm3, %xmm4 + +/* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 8 significant bits. + * This means that R * Y and R^2 * Y are exactly representable. + */ + rsqrtps %xmm1, %xmm3 + andps %xmm14, %xmm3 + +/* + * Check whether the input is finite, by checking |X| <= MaxFloat + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) + */ + movaps %xmm5, %xmm7 + +/* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + mulps %xmm3, %xmm1 + movaps %xmm3, %xmm14 + cmpnleps 2624+__svml_sasinh_data_internal(%rip), %xmm7 + mulps %xmm3, %xmm4 + mulps %xmm1, %xmm14 + movmskps %xmm7, %edx + mulps %xmm4, %xmm3 + subps %xmm14, %xmm13 + movups 2560+__svml_sasinh_data_internal(%rip), %xmm14 + +/* + * The following computation can go wrong for very large X, basically + * because X^2 overflows. But for large X we have + * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when do do this. + */ + movaps %xmm5, %xmm7 + +/* sX2over2 = X^2/2 */ + mulps %xmm14, %xmm2 + subps %xmm3, %xmm13 + cmpltps 2368+__svml_sasinh_data_internal(%rip), %xmm7 + +/* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... + * So compute the first three nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + */ + movups 2496+__svml_sasinh_data_internal(%rip), %xmm3 + +/* sX46over2 = -X^4/8 + x^6/16 */ + movaps %xmm14, %xmm0 + mulps %xmm13, %xmm3 + addps 2432+__svml_sasinh_data_internal(%rip), %xmm3 + mulps %xmm13, %xmm3 + addps %xmm14, %xmm3 + mulps %xmm3, %xmm13 + +/* + * Obtain sqrt(1 + X^2) - 1 in two pieces + * sqrt(1 + X^2) - 1 + * = sqrt(Y + W) - 1 + * = (S + T) * (1 + Corr) - 1 + * = [S - 1] + [T + (S + T) * Corr] + * We need a compensated summation for the last part. We treat S - 1 + * as the larger part; it certainly is until about X < 2^-4, and in that + * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 + * Final sum is dTmp5 (hi) + dTmp7 (lo) + */ + movaps %xmm1, %xmm3 + addps %xmm4, %xmm3 + subps %xmm6, %xmm1 + mulps %xmm3, %xmm13 + addps %xmm13, %xmm4 + +/* sX46 = -X^4/4 + X^6/8 */ + movaps %xmm2, %xmm13 + movaps %xmm4, %xmm3 + addps %xmm1, %xmm3 + subps %xmm3, %xmm1 + addps %xmm1, %xmm4 + +/* sX4over4 = X^4/4 */ + movaps %xmm2, %xmm1 + mulps %xmm2, %xmm1 + mulps %xmm1, %xmm13 + subps %xmm1, %xmm13 + movaps %xmm2, %xmm1 + mulps %xmm13, %xmm0 + addps %xmm0, %xmm1 + subps %xmm1, %xmm2 + addps %xmm2, %xmm0 + +/* Now multiplex the two possible computations */ + movaps %xmm5, %xmm2 + cmpleps 2688+__svml_sasinh_data_internal(%rip), %xmm2 + movaps %xmm2, %xmm13 + andps %xmm2, %xmm1 + andnps %xmm3, %xmm13 + movaps %xmm2, %xmm14 + orps %xmm1, %xmm13 + +/* + * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. + * It's always safe to assume |X| is larger. + * This is the final 2-part argument to the log1p function + */ + movaps %xmm5, %xmm1 + andnps %xmm4, %xmm14 + andps %xmm2, %xmm0 + orps %xmm0, %xmm14 + movaps %xmm5, %xmm0 + movaps %xmm6, %xmm3 + addps %xmm13, %xmm1 + +/* Now multiplex to the case X = 2^-30 * input, Xl = sL = 0 in the "big" case. */ + mulps 3072+__svml_sasinh_data_internal(%rip), %xmm5 + minps %xmm1, %xmm3 + subps %xmm1, %xmm0 + movdqu 2304+__svml_sasinh_data_internal(%rip), %xmm2 + addps %xmm0, %xmm13 + movaps %xmm7, %xmm0 + addps %xmm13, %xmm14 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + movaps %xmm6, %xmm13 + andnps %xmm5, %xmm0 + maxps %xmm1, %xmm13 + movaps %xmm13, %xmm4 + movaps %xmm6, %xmm1 + +/* + * Now resume the main code. + * reduction: compute r,n + */ + movdqu 2240+__svml_sasinh_data_internal(%rip), %xmm5 + addps %xmm3, %xmm4 + subps %xmm4, %xmm13 + andps %xmm7, %xmm4 + orps %xmm4, %xmm0 + addps %xmm13, %xmm3 + psubd %xmm5, %xmm0 + addps %xmm3, %xmm14 + pand %xmm0, %xmm2 + psrad $23, %xmm0 + cvtdq2ps %xmm0, %xmm13 + pslld $23, %xmm0 + andps %xmm7, %xmm14 + paddd %xmm5, %xmm2 + psubd %xmm0, %xmm1 + mulps %xmm1, %xmm14 + +/* polynomial evaluation */ + subps %xmm6, %xmm2 + movups 2096+__svml_sasinh_data_internal(%rip), %xmm6 + movaps %xmm7, %xmm1 + +/* Add 31 to the exponent in the "large" case to get log(2 * input) */ + movups 2816+__svml_sasinh_data_internal(%rip), %xmm0 + addps %xmm2, %xmm14 + addps %xmm13, %xmm0 + mulps %xmm14, %xmm6 + andnps %xmm0, %xmm1 + andps %xmm7, %xmm13 + orps %xmm13, %xmm1 + addps 2080+__svml_sasinh_data_internal(%rip), %xmm6 + +/* final reconstruction */ + mulps 3136+__svml_sasinh_data_internal(%rip), %xmm1 + mulps %xmm14, %xmm6 + +/* Finally, reincorporate the original sign. */ + movups 2752+__svml_sasinh_data_internal(%rip), %xmm0 + andps %xmm12, %xmm0 + addps 2064+__svml_sasinh_data_internal(%rip), %xmm6 + mulps %xmm14, %xmm6 + addps 2048+__svml_sasinh_data_internal(%rip), %xmm6 + mulps %xmm14, %xmm6 + addps 2032+__svml_sasinh_data_internal(%rip), %xmm6 + mulps %xmm14, %xmm6 + addps 2016+__svml_sasinh_data_internal(%rip), %xmm6 + mulps %xmm14, %xmm6 + addps 2000+__svml_sasinh_data_internal(%rip), %xmm6 + mulps %xmm14, %xmm6 + addps 1984+__svml_sasinh_data_internal(%rip), %xmm6 + mulps %xmm14, %xmm6 + mulps %xmm14, %xmm6 + addps %xmm6, %xmm14 + addps %xmm1, %xmm14 + pxor %xmm14, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 160(%rsp), %xmm12 + cfi_restore(29) + movups 144(%rsp), %xmm13 + cfi_restore(30) + movups 112(%rsp), %xmm14 + cfi_restore(31) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm12, 128(%rsp) + movups %xmm0, 192(%rsp) + xorl %eax, %eax + movups %xmm8, 64(%rsp) + movups %xmm9, 48(%rsp) + movups %xmm10, 32(%rsp) + movups %xmm11, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 88(%rsp) + movq %rdi, 80(%rsp) + movq %r12, 104(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 96(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 64(%rsp), %xmm8 + cfi_restore(25) + movups 48(%rsp), %xmm9 + cfi_restore(26) + movups 32(%rsp), %xmm10 + cfi_restore(27) + movups 16(%rsp), %xmm11 + cfi_restore(28) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 88(%rsp), %rsi + cfi_restore(4) + movq 80(%rsp), %rdi + cfi_restore(5) + movq 104(%rsp), %r12 + cfi_restore(12) + movq 96(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 128(%rsp,%r12,4), %rdi + lea 192(%rsp,%r12,4), %rsi + call __svml_sasinh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_asinhf_sse4) + + .align 16,0x90 + +__svml_sasinh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_sasinh_cout_rare_internal,@function + .size __svml_sasinh_cout_rare_internal,.-__svml_sasinh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sasinh_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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1051372345 + .long 1051372345 + .long 1051372345 + .long 1051372345 + .long 3204448310 + .long 3204448310 + .long 3204448310 + .long 3204448310 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3204448256 + .long 3204448256 + .long 3204448256 + .long 3204448256 + .long 1051372180 + .long 1051372180 + .long 1051372180 + .long 1051372180 + .long 3196061070 + .long 3196061070 + .long 3196061070 + .long 3196061070 + .long 1045225872 + .long 1045225872 + .long 1045225872 + .long 1045225872 + .long 3190336823 + .long 3190336823 + .long 3190336823 + .long 3190336823 + .long 1041222418 + .long 1041222418 + .long 1041222418 + .long 1041222418 + .long 3189430755 + .long 3189430755 + .long 3189430755 + .long 3189430755 + .long 1041073389 + .long 1041073389 + .long 1041073389 + .long 1041073389 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_sasinh_data_internal,@object + .size __svml_sasinh_data_internal,3392 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core-sse.S new file mode 100644 index 0000000000..1a0e113e94 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized asinhf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_asinhf _ZGVdN8v_asinhf_sse_wrapper +#include "../svml_s_asinhf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core.c new file mode 100644 index 0000000000..d97097a394 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized asinhf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_asinhf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_asinhf, __GI__ZGVdN8v_asinhf, + __redirect__ZGVdN8v_asinhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core_avx2.S new file mode 100644 index 0000000000..b0e13a9845 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core_avx2.S @@ -0,0 +1,2156 @@ +/* Function asinhf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute asinh(x) as log(x + sqrt(x*x + 1)) + * + * Special cases: + * + * asinh(NaN) = quiet NaN, and raise invalid exception + * asinh(INF) = that INF + * asinh(0) = that 0 + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_asinhf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + vmovups %ymm9, 96(%rsp) + vmovups %ymm8, 32(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + +/* Load the constant 1 and a sign mask */ + vmovups 1920+__svml_sasinh_data_internal(%rip), %ymm8 + vmovups %ymm13, 256(%rsp) + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + vmovups 3136+__svml_sasinh_data_internal(%rip), %ymm13 + vmovups %ymm14, 288(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm15, 320(%rsp) + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovaps %ymm0, %ymm9 + +/* No need to split X when FMA is available in hardware. */ + vmulps %ymm9, %ymm9, %ymm5 + +/* + * Finally, express Y + W = X^2 + 1 accurately where Y has <= 8 bits. + * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 + * as the dominant component in the compensated summation. Otherwise, + * if |X| >= 1, then since X2Hi only has 22 significant bits, the basic + * addition will be exact anyway until we get to |X| >= 2^24. But by + * that time the log function is well-conditioned enough that the + * rounding error doesn't matter. Hence we can treat 1 as dominant even + * if it literally isn't. + */ + vaddps %ymm5, %ymm8, %ymm3 + vandps %ymm13, %ymm3, %ymm14 + vmovaps %ymm9, %ymm4 + vsubps %ymm3, %ymm8, %ymm1 + vsubps %ymm14, %ymm3, %ymm11 + +/* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 8 significant bits. + * This means that R * Y and R^2 * Y are exactly representable. + */ + vrsqrtps %ymm14, %ymm12 + vfmsub213ps %ymm5, %ymm9, %ymm4 + vmovups 2688+__svml_sasinh_data_internal(%rip), %ymm3 + vaddps %ymm1, %ymm5, %ymm2 + vaddps %ymm2, %ymm4, %ymm10 + +/* + * Unfortunately, we can still be in trouble if |X| <= 2^-5, since + * the absolute error 2^-(7+24)-ish in sqrt(1 + X^2) gets scaled up + * by 1/X and comes close to our threshold. Hence if |X| <= 2^-4, + * perform an alternative computation + * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 + * X2 = X^2 + */ + vaddps %ymm4, %ymm5, %ymm4 + +/* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... + * So compute the first three nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + */ + vmovups 2624+__svml_sasinh_data_internal(%rip), %ymm2 + vaddps %ymm11, %ymm10, %ymm15 + vandps %ymm13, %ymm12, %ymm0 + +/* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + vmulps %ymm0, %ymm14, %ymm11 + vmulps %ymm15, %ymm0, %ymm10 + vsubps %ymm8, %ymm11, %ymm12 + +/* + * Obtain sqrt(1 + X^2) - 1 in two pieces + * sqrt(1 + X^2) - 1 + * = sqrt(Y + W) - 1 + * = (S + T) * (1 + Corr) - 1 + * = [S - 1] + [T + (S + T) * Corr] + * We need a compensated summation for the last part. We treat S - 1 + * as the larger part; it certainly is until about X < 2^-4, and in that + * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 + * Final sum is dTmp5 (hi) + dTmp7 (lo) + */ + vaddps %ymm10, %ymm11, %ymm15 + +/* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-8 + */ + vmovaps %ymm8, %ymm1 + vfnmadd231ps %ymm11, %ymm0, %ymm1 + vfnmadd231ps %ymm10, %ymm0, %ymm1 + +/* sX2over2 = X^2/2 */ + vmulps %ymm4, %ymm3, %ymm0 + vfmadd213ps 2560+__svml_sasinh_data_internal(%rip), %ymm1, %ymm2 + +/* sX4over4 = X^4/4 */ + vmulps %ymm0, %ymm0, %ymm5 + vfmadd213ps %ymm3, %ymm1, %ymm2 + +/* sX46 = -X^4/4 + X^6/8 */ + vfmsub231ps %ymm0, %ymm5, %ymm5 + vmulps %ymm2, %ymm1, %ymm13 + +/* sX46over2 = -X^4/8 + x^6/16 */ + vmulps %ymm5, %ymm3, %ymm3 + vfmadd213ps %ymm10, %ymm15, %ymm13 + vaddps %ymm3, %ymm0, %ymm5 + vaddps %ymm12, %ymm13, %ymm2 + vsubps %ymm5, %ymm0, %ymm4 + vsubps %ymm2, %ymm12, %ymm14 + vaddps %ymm4, %ymm3, %ymm10 + vaddps %ymm14, %ymm13, %ymm1 + +/* + * Get the absolute value of the input, since we will exploit antisymmetry + * and mostly assume X >= 0 in the core computation + */ + vandps 1088+__svml_sasinh_data_internal(%rip), %ymm9, %ymm6 + +/* Now multiplex the two possible computations */ + vcmple_oqps 2816+__svml_sasinh_data_internal(%rip), %ymm6, %ymm11 + +/* + * Check whether the input is finite, by checking |X| <= MaxFloat + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) + */ + vcmpnle_uqps 2752+__svml_sasinh_data_internal(%rip), %ymm6, %ymm7 + vblendvps %ymm11, %ymm5, %ymm2, %ymm2 + vblendvps %ymm11, %ymm10, %ymm1, %ymm12 + +/* + * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. + * It's always safe to assume |X| is larger. + * This is the final 2-part argument to the log1p function + */ + vaddps %ymm2, %ymm6, %ymm14 + +/* + * Now resume the main code. + * reduction: compute r,n + */ + vmovups 2368+__svml_sasinh_data_internal(%rip), %ymm5 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + vmaxps %ymm14, %ymm8, %ymm15 + vminps %ymm14, %ymm8, %ymm0 + vsubps %ymm14, %ymm6, %ymm1 + vaddps %ymm0, %ymm15, %ymm3 + vaddps %ymm1, %ymm2, %ymm13 + vsubps %ymm3, %ymm15, %ymm15 + vaddps %ymm13, %ymm12, %ymm1 + vaddps %ymm15, %ymm0, %ymm2 + vmovups 2208+__svml_sasinh_data_internal(%rip), %ymm15 + vaddps %ymm2, %ymm1, %ymm4 + vmovmskps %ymm7, %edx + +/* + * The following computation can go wrong for very large X, basically + * because X^2 overflows. But for large X we have + * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when do do this. + */ + vcmplt_oqps 2496+__svml_sasinh_data_internal(%rip), %ymm6, %ymm7 + +/* Now multiplex to the case X = 2^-30 * input, Xl = sL = 0 in the "big" case. */ + vmulps 3200+__svml_sasinh_data_internal(%rip), %ymm6, %ymm6 + vblendvps %ymm7, %ymm3, %ymm6, %ymm0 + vpsubd %ymm5, %ymm0, %ymm1 + vpsrad $23, %ymm1, %ymm6 + vpand 2432+__svml_sasinh_data_internal(%rip), %ymm1, %ymm2 + vpslld $23, %ymm6, %ymm10 + vpaddd %ymm5, %ymm2, %ymm13 + vcvtdq2ps %ymm6, %ymm0 + vpsubd %ymm10, %ymm8, %ymm12 + +/* polynomial evaluation */ + vsubps %ymm8, %ymm13, %ymm8 + +/* Add 31 to the exponent in the "large" case to get log(2 * input) */ + vaddps 2944+__svml_sasinh_data_internal(%rip), %ymm0, %ymm2 + vandps %ymm7, %ymm4, %ymm11 + vmulps %ymm12, %ymm11, %ymm14 + vblendvps %ymm7, %ymm0, %ymm2, %ymm0 + vaddps %ymm8, %ymm14, %ymm1 + vfmadd213ps 2176+__svml_sasinh_data_internal(%rip), %ymm1, %ymm15 + vfmadd213ps 2144+__svml_sasinh_data_internal(%rip), %ymm1, %ymm15 + vfmadd213ps 2112+__svml_sasinh_data_internal(%rip), %ymm1, %ymm15 + vfmadd213ps 2080+__svml_sasinh_data_internal(%rip), %ymm1, %ymm15 + vfmadd213ps 2048+__svml_sasinh_data_internal(%rip), %ymm1, %ymm15 + vfmadd213ps 2016+__svml_sasinh_data_internal(%rip), %ymm1, %ymm15 + vfmadd213ps 1984+__svml_sasinh_data_internal(%rip), %ymm1, %ymm15 + vmulps %ymm15, %ymm1, %ymm3 + vfmadd213ps %ymm1, %ymm1, %ymm3 + +/* final reconstruction */ + vfmadd132ps 3264+__svml_sasinh_data_internal(%rip), %ymm3, %ymm0 + +/* Finally, reincorporate the original sign. */ + vandps 2880+__svml_sasinh_data_internal(%rip), %ymm9, %ymm7 + vxorps %ymm0, %ymm7, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm9, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_sasinh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_asinhf_avx2) + + .align 16,0x90 + +__svml_sasinh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_sasinh_cout_rare_internal,@function + .size __svml_sasinh_cout_rare_internal,.-__svml_sasinh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sasinh_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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 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 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 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 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 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_sasinh_data_internal,@object + .size __svml_sasinh_data_internal,3520 diff --git a/sysdeps/x86_64/fpu/svml_d_asinh2_core.S b/sysdeps/x86_64/fpu/svml_d_asinh2_core.S new file mode 100644 index 0000000000..60e372238a --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_asinh2_core.S @@ -0,0 +1,29 @@ +/* Function asinh vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_asinh) +WRAPPER_IMPL_SSE2 asinh +END (_ZGVbN2v_asinh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_asinh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_asinh4_core.S b/sysdeps/x86_64/fpu/svml_d_asinh4_core.S new file mode 100644 index 0000000000..c7350011e1 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_asinh4_core.S @@ -0,0 +1,29 @@ +/* Function asinh vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_asinh) +WRAPPER_IMPL_AVX _ZGVbN2v_asinh +END (_ZGVdN4v_asinh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_asinh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_asinh4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_asinh4_core_avx.S new file mode 100644 index 0000000000..83aaa8c3f1 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_asinh4_core_avx.S @@ -0,0 +1,25 @@ +/* Function asinh vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_asinh) +WRAPPER_IMPL_AVX _ZGVbN2v_asinh +END (_ZGVcN4v_asinh) diff --git a/sysdeps/x86_64/fpu/svml_d_asinh8_core.S b/sysdeps/x86_64/fpu/svml_d_asinh8_core.S new file mode 100644 index 0000000000..9597975ff6 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_asinh8_core.S @@ -0,0 +1,25 @@ +/* Function asinh vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_asinh) +WRAPPER_IMPL_AVX512 _ZGVdN4v_asinh +END (_ZGVeN8v_asinh) diff --git a/sysdeps/x86_64/fpu/svml_s_asinhf16_core.S b/sysdeps/x86_64/fpu/svml_s_asinhf16_core.S new file mode 100644 index 0000000000..5b3d405f2e --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_asinhf16_core.S @@ -0,0 +1,25 @@ +/* Function asinhf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_asinhf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_asinhf +END (_ZGVeN16v_asinhf) diff --git a/sysdeps/x86_64/fpu/svml_s_asinhf4_core.S b/sysdeps/x86_64/fpu/svml_s_asinhf4_core.S new file mode 100644 index 0000000000..af44fa5108 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_asinhf4_core.S @@ -0,0 +1,29 @@ +/* Function asinhf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_asinhf) +WRAPPER_IMPL_SSE2 asinhf +END (_ZGVbN4v_asinhf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_asinhf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_asinhf8_core.S b/sysdeps/x86_64/fpu/svml_s_asinhf8_core.S new file mode 100644 index 0000000000..3bd06d8032 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_asinhf8_core.S @@ -0,0 +1,29 @@ +/* Function asinhf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_asinhf) +WRAPPER_IMPL_AVX _ZGVbN4v_asinhf +END (_ZGVdN8v_asinhf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_asinhf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_asinhf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_asinhf8_core_avx.S new file mode 100644 index 0000000000..f79616c0bd --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_asinhf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function asinhf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_asinhf) +WRAPPER_IMPL_AVX _ZGVbN4v_asinhf +END (_ZGVcN8v_asinhf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx.c new file mode 100644 index 0000000000..da03528700 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-asinh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx2.c new file mode 100644 index 0000000000..da03528700 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-asinh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx512f.c new file mode 100644 index 0000000000..da03528700 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-asinh-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-asinh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-asinh.c b/sysdeps/x86_64/fpu/test-double-libmvec-asinh.c new file mode 100644 index 0000000000..71e6b9f578 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-asinh.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC asinh +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index c1b251c84e..50b4d7c02f 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -30,6 +30,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVbN2vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVbN2v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVbN2v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVbN2v_asin) +VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVbN2v_asinh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 4083423061..255df14db5 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -33,6 +33,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVdN4vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVdN4v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVdN4v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVdN4v_asin) +VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVdN4v_asinh) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index e3c6fea5b8..355560d081 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -30,6 +30,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVcN4vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVcN4v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVcN4v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVcN4v_asin) +VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVcN4v_asinh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index f6b6934b92..b7ecf9c8f3 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -30,6 +30,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (pow), _ZGVeN8vv_pow) VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVeN8v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVeN8v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVeN8v_asin) +VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVeN8v_asinh) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx.c new file mode 100644 index 0000000000..77e1838bb4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-asinhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx2.c new file mode 100644 index 0000000000..77e1838bb4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-asinhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx512f.c new file mode 100644 index 0000000000..77e1838bb4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-asinhf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-asinhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-asinhf.c b/sysdeps/x86_64/fpu/test-float-libmvec-asinhf.c new file mode 100644 index 0000000000..3353754102 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-asinhf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC asinhf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 63221da5ac..b1e47a4434 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -30,6 +30,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVeN16vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVeN16v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVeN16v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVeN16v_asinf) +VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVeN16v_asinhf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index d82b2e1556..b2607f8467 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -30,6 +30,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVbN4vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVbN4v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVbN4v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVbN4v_asinf) +VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVbN4v_asinhf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index fb35f7aa65..35e36c4510 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -33,6 +33,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVdN8vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVdN8v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVdN8v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVdN8v_asinf) +VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVdN8v_asinhf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 171d92d0b1..b01e99f690 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -30,6 +30,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (powf), _ZGVcN8vv_powf) VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVcN8v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVcN8v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVcN8v_asinf) +VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVcN8v_asinhf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48072 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EF85F3857C62 for ; Wed, 24 Nov 2021 19:41:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EF85F3857C62 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637782886; bh=varMYwr/yTqN+Jaznj3Q2TI/pLb82QH7NdgJ2//bm9E=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=eh99+wy9Rfn9UyAfcvuTE8imwHlvny6zaL7dPMfypaspPaC/UEFU/+sQdQ4evwcvC QVQnrt0aCVYbikArD70DQQGE/ZA2t+OAcQVB1SD51cFSZ1PPoQdTbugCCQjgQOefX/ X3xJHBNz0Lgb4DB5useFlAEOm9lxtsZhhWl3/v30= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id E3A46385800C for ; Wed, 24 Nov 2021 19:38:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E3A46385800C X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="259249037" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="259249037" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="597828924" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga002.fm.intel.com with ESMTP; 24 Nov 2021 11:38:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Wt021555; Wed, 24 Nov 2021 11:38:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 08/42] x86-64: Add vector asinh/asinhf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:33 -0800 Message-Id: <20211124193807.2093208-9-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector asinh/asinhf and input files to libmvec microbenchmark. libmvec-asinh-inputs: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 2.0 10% uniform random distribution in range (-1.0e6, 1.0e6) libmvec-asinhf-inputs: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 2.0f 10% uniform random distribution in range (-1.0e6f, 1.0e6f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-asinh-inputs | 4100 ++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-asinhf-inputs | 4100 ++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-asinh-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-asinhf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 3d34f880c3..2bb482878b 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -38,6 +38,7 @@ libmvec-bench-funcs = \ acos \ acosh \ asin \ + asinh \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-asinh-inputs b/sysdeps/x86_64/fpu/libmvec-asinh-inputs new file mode 100644 index 0000000000..93c9a3b254 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-asinh-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-1.8e+308, 1.8e+308), mean = 0, standard deviation = 2 +-0x1.11003707ad71cp-1 +-0x1.1f03ac14205d9p+0 +-0x1.88539918864c9p+1 +-0x1.4101316c89f72p+0 +-0x1.3b7fb80733407p-1 +0x1.029dee7ae42b8p+1 +0x1.77fde1eeb3fa9p+0 +0x1.16a53d1f1be7ep+2 +0x1.35a33590dab6ep+0 +-0x1.f85d770c98ac8p-1 +-0x1.75bd8b3896dd6p+1 +-0x1.360247570184fp+1 +0x1.1cb9fa09ed944p+2 +-0x1.cc0c949f502bdp-2 +-0x1.b06432c2571b1p+0 +0x1.e5f318e3e5fffp+1 +-0x1.2bbc5f516e8d5p-1 +-0x1.b20d60c7a530ap-7 +0x1.1ee5aa3496dfdp+0 +0x1.0d39d9919d41cp+1 +-0x1.f35ec91641a28p-1 +-0x1.90e89ab44af72p+0 +-0x1.8718b197051b2p-2 +0x1.e1a883407183ap+0 +-0x1.bb84130e0b6c2p-1 +0x1.66748e4448814p+1 +-0x1.03ac940894e0bp+1 +-0x1.2777c019ddd62p-1 +0x1.1d20fa6e1de58p+1 +-0x1.0d65971f91a47p+1 +0x1.948e128f1e25cp-2 +0x1.a2f9146265a94p+0 +0x1.8dfc3c4334d3fp-2 +-0x1.45c1b4e964fb6p+9 +0x1.7291977c39bfbp-2 +0x1.0d76b4a8e6ffap-3 +-0x1.8ba0bf00ef4fbp+0 +-0x1.657578a29b5d8p-1 +-0x1.42073771c3e34p-1 +0x1.254b4bf837916p-1 +-0x1.3c18dfcd0f52cp-3 +0x1.e264029c179bdp+0 +-0x1.16b4eb16e4697p+1 +0x1.919dfef854b24p-1 +0x1.51a8f5058cf09p-5 +-0x1.dddb40d0f560fp+8 +-0x1.7ed13b350af89p-2 +0x1.7c78e8308fd75p+0 +-0x1.371df5ae1bae6p+1 +-0x1.47b6c3841cc34p-1 +0x1.c0eb159b7735cp+0 +-0x1.041440688e7dcp+1 +0x1.747d826d6612p+0 +-0x1.0e3c3a9af5cbdp+2 +-0x1.9223e1cf1b888p+0 +0x1.2c285914810dep-1 +-0x1.e1009fc24adffp+0 +0x1.a994c08eb3571p+0 +0x1.5642c58ee1935p+1 +0x1.886a1cbdb2f45p-1 +0x1.10acd826d54afp+4 +-0x1.7e95d7fb26218p-5 +0x1.f4421fd153b6dp+5 +-0x1.6d0ab05da8ddap+1 +0x1.270ad4296768bp+0 +0x1.cb814b7ce6be9p+0 +0x1.ef5984a81ededp-2 +0x1.4511a4ee5b844p-2 +0x1.c3236baf357dbp-2 +-0x1.b5663a8cd3b9ep-4 +0x1.f9775cb63303ap+0 +-0x1.fbe0031478fdap+0 +0x1.ec4068e7020c7p-3 +0x1.0af7c1486d593p+0 +-0x1.18e6b70f08559p+0 +0x1.2fc06a93c1a14p-1 +-0x1.0df60b2d5d5dcp+0 +-0x1.52541f04ff95cp+18 +-0x1.f9bea93247eaap-3 +-0x1.a8a18bac42c3ep-3 +0x1.6d627497f0e43p+18 +0x1.8035aed7e3caap-3 +0x1.6e5336703809cp+0 +-0x1.202ed659e43b3p+1 +-0x1.958d6ede80a6p-1 +-0x1.38e0549bddad8p+5 +-0x1.ae79eb0610afep-1 +-0x1.08e9352d53acdp-1 +0x1.fa1d1125c944ep+0 +0x1.e0e74fafb7d1cp+0 +0x1.18408a8b50dd6p+15 +0x1.1e5f3ae424c09p+9 +-0x1.37f81a887c07fp+0 +-0x1.d1b8204e578e7p-3 +-0x1.8d8c75ac1faf6p+1 +0x1.c753b324bdc81p+1 +0x1.59d5b085ab03ap-2 +-0x1.ea04b4cf878fbp-3 +0x1.29c33813f534dp-4 +-0x1.c2ee5e411a0abp+0 +0x1.cee3ca87f3fb9p+1 +-0x1.b5e1a68fd908dp+0 +-0x1.42abb872d6d69p+0 +0x1.1d88916f49ef1p+1 +0x1.80ec7c336cd4bp-1 +0x1.409d1b9ae6f2ep-3 +0x1.9c79d91cd3abbp+0 +-0x1.253082fbb949cp-3 +-0x1.a401128cbd47p-1 +-0x1.7794302387928p+0 +0x1.77052a301b523p-1 +0x1.aa7ee75ee0531p+1 +-0x1.f6ee5bdcf7b24p-5 +0x1.a39a2af50b0c7p+0 +0x1.3221b7312157fp+0 +0x1.5ff5bc5f5da2dp+0 +-0x1.4613a9aa74a1ep-3 +-0x1.6991a4013ce91p+1 +-0x1.1071c932aaf75p+1 +-0x1.055f3a8317374p+1 +0x1.520ed8dc30dfcp+0 +-0x1.6e15432b01ce6p+1 +0x1.e818fff13878bp+1 +-0x1.8b8cb3370be2bp+0 +-0x1.a9f6495b21f7ep+0 +0x1.88e06bd995039p-1 +0x1.750ec69bb3a04p+0 +-0x1.0dd8abfb7163fp+0 +-0x1.99309e84c1aa3p-1 +-0x1.08b1bb04fcb2fp-1 +0x1.b9324721213d8p+10 +0x1.0a5b3dcd01fc6p-1 +0x1.273d5ce7af555p+2 +-0x1.27eeab5a7ec7ap+1 +0x1.398225abd6819p+0 +0x1.56fe5fc6fa3c2p+1 +-0x1.f11f36ce3507dp+1 +0x1.9aca951469d7ap-1 +-0x1.8f8d41cd02deep+0 +-0x1.f49e6ed2ea59dp-2 +-0x1.7a129db836d66p-7 +-0x1.1ae76b7d889bbp+0 +0x1.087a59865458p-3 +0x1.6aff85979d2e4p+0 +-0x1.62fa8a2d852ep-1 +0x1.b66d4b202c901p-1 +0x1.b32cf8b59341dp-1 +-0x1.db353b83712f4p+14 +-0x1.ac60d9bcb0c1ep+0 +-0x1.fbdc48a31f484p-2 +0x1.ce8d89c689577p-1 +-0x1.f0575d582a6f9p-1 +0x1.2480822366da6p+1 +-0x1.4b02cb0e67facp-3 +-0x1.f980a13147b0ap+0 +-0x1.d7c147ac37bbcp+0 +-0x1.19379d25cb96ap-3 +0x1.3871bcdf0236p+19 +-0x1.ab949852b3ebfp-1 +0x1.0e6dad20e631fp+0 +-0x1.45599ccb9a8f2p+1 +-0x1.a1d652eced84ep+1 +0x1.0a9a084bf0496p+0 +-0x1.3806551d9b8a6p+0 +-0x1.4723e9533861ap+1 +0x1.82ba877ba1442p+1 +-0x1.be10fd54c1c05p-2 +0x1.6e9ab6991ff9p-9 +0x1.ac8eba94cd894p+1 +0x1.72f43a9f6a1c5p-2 +0x1.647a30feef7b1p-2 +-0x1.6a098d3db5971p-2 +-0x1.535b60bc394fap-4 +0x1.9b21776d6a934p-1 +-0x1.1ac8764948404p-2 +-0x1.d28fec264c5bbp-1 +0x1.d1ae8b3048e02p+0 +-0x1.4314fbc60688dp-2 +-0x1.3d2ddbf4fb65cp+0 +-0x1.91560bb9916ap-2 +-0x1.2064bd3b1efedp+2 +-0x1.8f0d5ae1f2d1dp+0 +0x1.81850a482ba67p+2 +-0x1.f7d0d6b631c12p-1 +-0x1.f23fd47cfedccp+0 +-0x1.75a6060cb3691p-4 +-0x1.d253dcef76f97p+0 +-0x1.5328460a56bcfp+0 +0x1.ce3576497d7cp+0 +-0x1.8652cde59b041p-1 +-0x1.9b8ef067e895dp+1 +0x1.7d9c66e44ec47p+1 +0x1.b96c3d206dae9p+1 +-0x1.f953fc1959504p+0 +-0x1.eb705760acbe3p+3 +-0x1.a1e7bf001c68dp-1 +0x1.46cfc16fd39dep+1 +-0x1.ae24518735eeap-1 +0x1.69939f4e7cd55p+1 +0x1.13306c72f0a09p-1 +0x1.61510c88f5508p-4 +-0x1.1a20364d51f6p+2 +-0x1.64ad7976812dfp+0 +0x1.bc0558fc677f4p-3 +0x1.3c093d67ef0f5p-3 +0x1.4f8ea8f2b2961p+0 +-0x1.55af0900913c4p+2 +0x1.5af1d2d65fffcp-1 +-0x1.0de627c082eb5p+0 +0x1.99ce9e0daa1e9p+1 +-0x1.f3ce28bc65e34p+0 +-0x1.2dcbcb1edbdd6p+1 +0x1.1adafdd6788cap+0 +0x1.853c9a6a80e5fp-2 +-0x1.00b1d997f5fbep-4 +-0x1.12d9e9bd6279ap+1 +-0x1.c05a7b8c13756p+1 +-0x1.df87d85868a0dp+1 +0x1.3e98c5ca53054p+0 +0x1.560246edba008p+1 +-0x1.c6b77410468a2p+0 +-0x1.9fdb8d7b41fa4p+0 +0x1.efefd701da649p+0 +0x1.c1a1321b7ef1p-3 +0x1.30ea39a7cf938p+1 +-0x1.a74dd3dc1e9a2p+0 +0x1.79ab521c3abfcp-5 +0x1.d28bd03ad897cp+0 +-0x1.dd0ae5433da8p+1 +0x1.0860581cad894p+1 +-0x1.3d8029781c0b5p-1 +-0x1.1185907f2891p+0 +0x1.2aa161a477366p-1 +-0x1.51a2fdf6d801dp+1 +0x1.6d4ca2cbce87bp+1 +-0x1.08647180c4641p+0 +0x1.73c0d4d983607p-2 +-0x1.460bb7d2967e5p+1 +-0x1.96b5c19d31dd8p+0 +0x1.002087be4803p+0 +-0x1.079c675e5f576p+1 +-0x1.a490fe5d517cap-3 +0x1.3a316fc183cdbp-2 +0x1.b3009a6de004ep-2 +-0x1.8be62fc82b254p+1 +0x1.c70c47d64b2e1p-2 +0x1.6ec300c6e0d84p+0 +-0x1.d42bdaaa529ccp-4 +0x1.542a484cbbdap+0 +-0x1.68aade01022e5p+0 +0x1.0719ec34bd9f8p+0 +0x1.5a5bef7e71b7fp+0 +-0x1.ea3776600bc1ep+12 +0x1.6d1c9c6b3a93fp+14 +0x1.65e234d9d723p+0 +0x1.81eea275987dcp+0 +-0x1.e09ae78c0f3d3p-1 +0x1.88cff5ac2b027p-1 +-0x1.38a36ecf3e5c4p+18 +0x1.b0dc5207eb04ap-1 +-0x1.949d08f8c29a8p-2 +0x1.2054be5894c16p+1 +-0x1.1c5a705a6144ep+1 +0x1.682ea02b10c8cp+16 +0x1.c9d5befb75c36p+3 +0x1.ede0402a06984p+0 +0x1.5dd9cecee44dp+1 +-0x1.ee86a38dcfb8bp-1 +0x1.430681c5d5435p+0 +-0x1.b239cdf03ac1ep-1 +-0x1.b155c322a615bp+1 +0x1.11059304523ccp+0 +-0x1.940484004736ap+0 +-0x1.a03c2b9c2324p+8 +0x1.2ab817598e9cep-1 +-0x1.bb57ee381a94fp-7 +0x1.2c5fa973bc423p-1 +-0x1.105b2a041f858p-1 +0x1.ad21b525cafe7p+1 +0x1.f591180c51366p+0 +0x1.942c7148cde5ap-1 +-0x1.73fc05810249p-1 +0x1.19a063e9246a8p+1 +0x1.f440990cb9501p-2 +-0x1.6ea822c81ebefp+1 +0x1.05325f085e4dap-2 +-0x1.30227ac82dd9p-1 +0x1.69b3016747ba7p-3 +-0x1.a95e1be905656p+0 +0x1.2ff44c322ad99p+0 +0x1.8803b3b61b6ffp+0 +0x1.e33526ca99p+0 +-0x1.9d41a0c3c5142p+7 +-0x1.a15cdae0069dp-2 +-0x1.ad8b0ddd507a6p+1 +-0x1.9c52c8fe232b1p+1 +0x1.1e8559bb5e4ccp-2 +0x1.bb99adabb7695p-1 +-0x1.1dae22a6fbcabp+1 +-0x1.9efa1bdb52cb6p+1 +0x1.7f4123362bf2fp+1 +0x1.a0ae02a90565bp-1 +0x1.6c88688bf3d0ep+0 +0x1.7388f7f92f0fbp+15 +0x1.1a07e1bd84d91p+1 +0x1.50e957f68cb51p+1 +-0x1.c15eef052be3fp+10 +0x1.62d0a629641b7p+1 +-0x1.641801bf2bda6p-3 +-0x1.a1d7bc21eb45cp+2 +0x1.8480d718753ap+15 +0x1.a556292c47ef2p+1 +-0x1.af841b378367ap-2 +-0x1.6538b64ad0d9fp+1 +-0x1.29feb61cdd084p+0 +0x1.6071bbed6bd28p+2 +0x1.3a75b1d968b3bp+2 +0x1.501b2864bb0aap+0 +0x1.cab884c6bd488p-1 +-0x1.a5e6cd1591413p+11 +-0x1.94991fb9ce0efp+1 +-0x1.4bf2146d428fbp+0 +-0x1.f4aaa87f6871dp+0 +-0x1.c904a4b94b4dep+0 +-0x1.851379734f5a1p-1 +-0x1.3253d2afe1b8dp+0 +-0x1.7e5a943926cb6p+0 +-0x1.ba8b241fbebep-1 +-0x1.e32c5b539ed49p+1 +-0x1.f7a818b66c2fbp-1 +0x1.d79048fa51f8ap-2 +-0x1.e1ee3cfd1f65ap+0 +0x1.8a59e5bc58019p+0 +0x1.72b319253eee7p-1 +-0x1.f0a78fd5454d7p-1 +-0x1.ec9f639a8510ep-1 +-0x1.ef4d44582ca63p+0 +-0x1.45030ba429744p-1 +-0x1.3de02f6079c35p+1 +-0x1.ae4ee802d4d44p-1 +-0x1.2a2442b03a96dp+1 +0x1.1e09c7cc868aep-7 +-0x1.522542bc9ebd7p+14 +0x1.0b13ec95f71a5p-1 +0x1.5b22063d3f771p+0 +-0x1.c752f2d48be01p-2 +0x1.3d1510a4f8cdbp+0 +0x1.17da3098fa41dp+0 +-0x1.266a093459c2ap+0 +0x1.cface95855369p+5 +-0x1.347da4da856a7p-1 +-0x1.39b4ff032f74p-3 +0x1.b9a57659a198ep+0 +-0x1.7218160918b0bp+0 +0x1.4139fe4f6d7e2p+1 +0x1.0b6028c217fb9p+0 +-0x1.9cf3201eb31ep-1 +0x1.4e85803ece1acp+1 +0x1.b07b4e5172c39p-2 +0x1.11701ffaaed4bp-2 +-0x1.3462df01d4b6dp+12 +0x1.f19c0ff054b58p+4 +0x1.a9ca39d6dd6d5p+0 +-0x1.5506bc6b3344fp-1 +0x1.7d3bab08c2e5dp-2 +0x1.ba237ef743cb1p-1 +-0x1.9d3fecf588cedp+0 +0x1.04414d215c2dcp+0 +-0x1.1ab065eb10c66p+0 +0x1.261c998ed952cp+7 +-0x1.f49bd07a57b29p+5 +-0x1.bcfc0ccd8bdb9p-3 +0x1.010d86d3def47p-1 +-0x1.7ff50886aa934p-1 +-0x1.4873b5af8380ap+1 +0x1.3ee03ef5f88e9p+1 +0x1.44bf15b0634b7p-1 +-0x1.dc7bfeb3d79c5p-2 +0x1.4b2044275cd4dp-1 +0x1.84fe3569cb2f3p-2 +0x1.cd76216869e9bp+1 +0x1.1b1d3cf683a9ep+1 +-0x1.9fcae5205cd46p+1 +-0x1.0a3b58f299bfdp+0 +-0x1.2abc89a0eb39fp+1 +0x1.8c4d6835e5972p-2 +0x1.0a5afe3c4ccc7p+1 +0x1.4fd2cc063a564p-2 +-0x1.d0248bd7ff629p+12 +0x1.8d885d6947ae1p+1 +0x1.59ea516d1f26bp+1 +0x1.0ec88cec00338p-4 +-0x1.8a5d8487762f6p+1 +0x1.1a283a53f8328p-3 +0x1.829e7668f5048p+0 +-0x1.c94901bac29c8p+4 +-0x1.0136269e8d655p+1 +-0x1.d6aa45de9e968p+0 +0x1.1ae55c1f50a91p-1 +-0x1.6d2bbf6ac4bffp-1 +-0x1.2f894a496ef82p+0 +-0x1.8cccaafc6228bp+2 +0x1.a1847ab53654dp-1 +0x1.61b9f91dd1568p+1 +-0x1.593af265b0f1cp-1 +-0x1.6fcb3685e1188p+0 +-0x1.4274fc2b6a44p+17 +0x1.55402eb22877fp-5 +-0x1.7758f8ef73ce5p+0 +-0x1.129ed6c9fec09p+0 +0x1.47b15b059fa22p-1 +0x1.c37c3800e473fp-3 +-0x1.55e59b46e00fep+0 +0x1.15ab24a33c4afp-1 +-0x1.5efb2f2360924p+1 +-0x1.c822455705f7dp+1 +-0x1.1ec1052baec55p+0 +-0x1.632d52993655fp+1 +-0x1.3b380e44110fbp-2 +-0x1.d06a61edd63b8p+1 +-0x1.648c7d2c9f39ap+2 +-0x1.e0c74983a6277p-1 +0x1.3b45c176c2365p+1 +0x1.9ac13402948f9p+1 +0x1.821b65b56e9d4p-1 +0x1.49d4a47602299p-3 +-0x1.9536fd2b229e5p-2 +-0x1.e45f70770ffa6p+0 +0x1.f42e02754d539p-4 +-0x1.1447c8f7f0803p-1 +-0x1.3814c90a3de51p+0 +-0x1.d29b58c9323e2p+4 +-0x1.db96f4672c59fp+0 +0x1.b7e8d8652d20bp+0 +0x1.31f092f938cp+0 +-0x1.23d399672214ap+1 +0x1.03f4f293679bfp+8 +-0x1.d6e5873aa87e8p+0 +-0x1.51e8d044a5eadp-1 +-0x1.076d0067d9a9bp+1 +-0x1.5ce540d167649p-1 +-0x1.03dbfbee1785p+0 +0x1.02c32cb8776d7p+1 +0x1.2900de5c7341p+0 +-0x1.2da0585a98a05p+9 +-0x1.5d38049159df2p+1 +0x1.7b1185942c1a5p+1 +0x1.ff5246459affp-2 +0x1.0e03a3dd96788p+2 +-0x1.76a414c910fb2p+0 +-0x1.1fffa49b7f639p-3 +0x1.9caea3b989545p-1 +-0x1.793d42826ff15p-3 +0x1.5b08238bd7a18p-2 +0x1.254967c3d947fp-2 +0x1.eb12af95bfb63p+1 +0x1.fe853624e7d83p-2 +0x1.b1e56a27778f2p+1 +0x1.3453058a4da38p-2 +0x1.307c967bfffc2p+1 +0x1.4d5cb9f362b26p+0 +-0x1.b1937baaf010bp-2 +0x1.00f6b1b98db0bp+10 +0x1.36171ec38d3b3p+1 +0x1.55b3e6055d0e1p-4 +-0x1.1aa44da042bb6p+0 +-0x1.b0bd843ab6a4ap+0 +-0x1.f054c11c6fd4cp-4 +-0x1.81014cc2078b6p+1 +-0x1.4bfc850ef4p+7 +0x1.d0a0747739ef9p-2 +0x1.41625bb6bb69ep-8 +-0x1.40f225f19d807p+0 +0x1.68f2251556c42p-1 +-0x1.17690d37416e8p+1 +-0x1.75fa5ee082b6fp+0 +0x1.29564149663f6p-2 +0x1.9881037ac5d0cp-1 +0x1.2b01b141897c8p+1 +-0x1.0f4d726519f07p-3 +-0x1.4b4620ac0010dp+0 +0x1.9e7c31f8f8785p+1 +-0x1.a6f89ee0f795ap+0 +0x1.f2082c30db1c8p-3 +-0x1.dd839901b27bdp+0 +0x1.7fca07d73884p+0 +-0x1.c3c48700662c3p+0 +-0x1.6e853770c0f9fp+1 +0x1.d8ed1c9463b1dp-3 +-0x1.ebd99dffbb2c1p-1 +0x1.fd966020d3d82p+0 +-0x1.206c1fca20dc4p+1 +0x1.aee0d6765bc5cp+1 +-0x1.35d52e2cf8086p-2 +0x1.13223a47687d9p-2 +0x1.7438981f5be52p-1 +-0x1.4bae87899db27p+0 +-0x1.b15ab21feb71ep+0 +-0x1.9ce3b1e40fdefp+1 +0x1.cef4514e6d594p+1 +-0x1.f17318cfda767p+1 +-0x1.e58d0c56c3a7p-5 +0x1.808beb30314dp+0 +0x1.07f0af7446b52p+1 +0x1.325fd32406536p+0 +-0x1.9faafa9806c7bp-3 +0x1.6104f835ab8edp+2 +-0x1.7807e45e473f1p+1 +0x1.29757328895cp-1 +0x1.3b45876742c98p+0 +0x1.c568a632a54f1p+0 +0x1.6caddd90a8a2cp+2 +-0x1.69894d1536713p-1 +-0x1.3730781c9eddep-2 +0x1.135deea0c29fbp+0 +0x1.e1285a2b60964p-2 +0x1.4b80b406c31bdp+1 +0x1.2811c39f9b89bp+0 +-0x1.690a7bad9ddeap+11 +-0x1.ab8ce8c5036fdp-2 +0x1.9d7e1448756f9p+1 +0x1.3737cdf250b8ep+1 +-0x1.63ffee2f4c37p+0 +0x1.193db17f128fap+7 +-0x1.d9b722403f2d4p-2 +0x1.022adb9727ec4p-3 +0x1.08a9000ea2e1bp+3 +0x1.18ec27d3a07d7p-3 +-0x1.6afe70ecfae1dp+2 +0x1.147d5c8097cefp+0 +-0x1.81f8ceac9872dp+0 +0x1.0f381836f6e7bp+0 +-0x1.c6ff784a5846dp+0 +-0x1.66360c4d84d4cp+0 +-0x1.6791dbb850ac8p+1 +-0x1.77c6dfc75633p-1 +0x1.45d5f669fcff2p+1 +0x1.268335c952d5ap+1 +0x1.3a13a0ae983f5p+0 +-0x1.780cef3cd015cp-1 +0x1.6128b1ee4e238p+0 +-0x1.439a5589fc96bp+1 +0x1.50b1d01bf2cabp+0 +-0x1.4aaf2ad158f5fp+13 +0x1.0ae6ec582d27ap+0 +-0x1.519680b429656p-1 +0x1.ee129e8d04b4p+14 +0x1.e0a28f7e72504p+1 +0x1.8cdcd3ddd9b87p-5 +0x1.ec9935e7e72f1p+0 +0x1.5317a281a6589p-1 +0x1.51d70c69c8e4ep-2 +-0x1.50ba0ab89871p+0 +0x1.013cec03578b4p+5 +-0x1.9996f9d095cd3p+0 +-0x1.61d00d92a98ecp+1 +-0x1.3a3a257258ee5p+0 +0x1.2f54b253c0a1bp-1 +-0x1.b4951c9daf538p-1 +0x1.220f603d1e01cp+0 +0x1.09e96024014f6p+0 +-0x1.b1165a43c5c1dp+0 +-0x1.be5766bd4f161p+1 +-0x1.411e5393f3221p-3 +0x1.32640aef4dbcap+1 +-0x1.9d3da53790e56p-2 +-0x1.26eaa37b73589p+0 +-0x1.9657b29aaf014p-1 +0x1.25d18013304f9p+0 +0x1.faee42d2eee09p+1 +0x1.2f193ffba2b34p+6 +0x1.9ed35146ebdc7p-1 +0x1.c24bc2a87317cp+0 +-0x1.c46c0709ade28p+0 +0x1.058fa84fdc5dfp+1 +0x1.074894afb4a68p+0 +-0x1.2cb5d178181a3p+1 +-0x1.7b022bc97bd87p+1 +0x1.d971cebec3dc3p+0 +-0x1.8ec86add9aeefp-3 +-0x1.f727374002d1dp-2 +0x1.219fdd9159794p-1 +-0x1.565374db0612ap+2 +-0x1.f7898c3436f25p+3 +-0x1.3c9b49b6645b9p-1 +0x1.0adc702525844p+1 +0x1.c5a67f1896e7ep-2 +0x1.da8b2071db25bp+6 +0x1.d9d092687d0a3p+0 +0x1.7d3d03a0cd29cp-1 +-0x1.479fcda3b1abcp+1 +0x1.ef3f79cf31cabp-1 +0x1.52dc5518c03d1p+0 +0x1.152d96988dfcbp+0 +-0x1.b9362861efb2ap+0 +0x1.6f1701555f85fp-1 +-0x1.d76088168cba7p+1 +0x1.396904801c693p+2 +-0x1.bb8d37e3d13d9p-1 +-0x1.bea7caef13c6bp-2 +-0x1.56dbccaa97ab9p-1 +0x1.3ad3109886a84p+2 +0x1.9e04061eea66ap-4 +0x1.f80584e5fb2d6p-1 +-0x1.54278b1afdca9p+1 +0x1.37b24baea382dp-1 +0x1.f77b1902c4964p-5 +-0x1.7c43b4e9e93cfp-4 +0x1.10f4e21b1dc18p-1 +-0x1.84c3d380eaf0ap-1 +0x1.6536d3822a5dbp+0 +-0x1.45c85e7112072p+1 +0x1.8d0b5806d37d9p-1 +-0x1.7bfe86e43f6cdp+1 +-0x1.028573702b054p+1 +-0x1.266d423e3032ep-5 +-0x1.6f1e52b43bbcdp+1 +-0x1.b57398f2ff9cep+1 +-0x1.0690070a17c8ep+1 +0x1.951438faf762ep+1 +0x1.54640df149ecfp+0 +0x1.a2e70e2d6b389p-3 +-0x1.4584eadb7a2a5p-2 +0x1.5984124891c5bp+0 +-0x1.3508e20bd00a4p+1 +-0x1.df8c737910911p+1 +-0x1.d401bbbe0de6ep+0 +-0x1.20ff5eb91df8cp-1 +0x1.ade08e2d79c6cp-1 +0x1.fb915453b8d6fp-3 +0x1.a816ef340651dp+0 +-0x1.90a1d1046f146p-10 +-0x1.6b755acce6fb3p+0 +-0x1.54b099489d729p+0 +-0x1.53687ec531316p+1 +0x1.0603b8ea04dabp+17 +0x1.1c64ac0e63ab9p-2 +-0x1.1cd93b9a183f3p-1 +-0x1.d6676ec0e83b7p-1 +-0x1.b3375faa14daap+0 +-0x1.397f5269a8f46p-1 +0x1.204f1d080a29bp+1 +-0x1.9d15f86e29d32p+1 +0x1.86b445c1fa227p-1 +-0x1.3a978b6d21bb1p+1 +-0x1.299fc79ecbcfdp+1 +-0x1.a744b7e636d36p-4 +-0x1.bb28842c58849p-1 +-0x1.0a9a77ea6cdb5p+0 +0x1.aabbf22ae2a88p+0 +-0x1.a112b6d648e72p+0 +0x1.3d09dc3e9e33bp+1 +0x1.2cb5e1779cea5p+1 +0x1.3cd7ac6fa38dap-1 +-0x1.f13990cfe5ec2p+0 +0x1.88f07d5373ae8p+1 +0x1.93179dd8aa89ep-3 +0x1.2bfc9601f50c2p+2 +0x1.32d43ce4e1358p+7 +0x1.335b322f8a7a2p+1 +-0x1.e24d81973b02ep+0 +-0x1.ebc2947a9ce5bp+1 +0x1.4d8134ffd3891p+0 +-0x1.e10c40e71879bp-1 +-0x1.628050434b9fep+0 +0x1.6d05cdab302ccp+14 +-0x1.407afbb6de59ep+1 +-0x1.c12b48dd63634p-1 +-0x1.7ef92af52d4d5p-3 +-0x1.41cc220fce214p-1 +-0x1.b4dc079689f4bp+0 +-0x1.b8c92d69cd9ep+0 +-0x1.a4756c48b704p-1 +-0x1.d7ea61d1085d1p+1 +0x1.a45014fadb068p-3 +-0x1.394900efd90a5p-3 +-0x1.f154e3644bcf4p+2 +0x1.b57ef080526a1p+0 +0x1.6e593e63048dp+0 +-0x1.b3b2e53f25ff4p+0 +0x1.20b8481ed33p-2 +-0x1.a7a9a263d55abp+1 +-0x1.3edfe9034a518p-2 +0x1.04df46fe1a96p+1 +-0x1.85c872b5fe48p-2 +0x1.987aa68c4a40ap+1 +-0x1.8d8ff4c07967ap-3 +-0x1.7bbe501495417p-1 +0x1.09b6e0c740d5cp+0 +0x1.6540ed66aa851p+0 +0x1.a035a7c44a82fp+4 +0x1.1ca917f416e1cp+14 +-0x1.6139c482ada5ep-3 +-0x1.4f44b083f6f77p-2 +-0x1.c87cf7e5f2df5p+1 +-0x1.625e9063076bdp+1 +-0x1.b994f9420b41ap+0 +-0x1.d21a73ec72312p+1 +0x1.fb8fbc9a2fe6p+1 +0x1.4e0291e40703ap+0 +0x1.7bec591bcb9f1p+0 +-0x1.22ade5fd6560fp+1 +0x1.3ff0fb4eb11fdp+0 +0x1.acf4457026889p-2 +-0x1.081e4b193da3p+0 +-0x1.af18d2905362dp-3 +-0x1.816382b888e2ap-1 +-0x1.dbf7e57684b5fp+1 +-0x1.109ea0bc3171ep+1 +0x1.2f89c59c1e284p-1 +-0x1.0525cef5eb77ap-2 +-0x1.1527b5894fa4cp-1 +0x1.b3de51b661796p+0 +-0x1.730858021dd8bp-1 +0x1.5a10d5a07f3a1p+3 +-0x1.6d89969971facp+1 +0x1.34fc598a78651p+0 +-0x1.8704c7920740fp+1 +0x1.d4182b979ed5fp+17 +-0x1.4e2aac11bfdf6p+0 +0x1.0e84298372162p+0 +0x1.6241568dfe5dcp+1 +0x1.50d6fdd8353a1p+0 +0x1.471f703d627b9p-1 +0x1.016adf54be7b1p-2 +-0x1.6baefbf516dc7p+0 +-0x1.21c30a32cda9ap+0 +0x1.62072a0760112p-5 +-0x1.39b197eda3b67p+0 +0x1.7f04c21a59f65p-1 +-0x1.168386ca9dda1p+1 +-0x1.c9fbcc3111dd1p+1 +0x1.1635f32442b4bp+0 +0x1.3ddeeff0904dp-4 +-0x1.1ee2ce778752ep-4 +-0x1.6899a578aa20fp+0 +0x1.dc1aa30ec4db2p-2 +-0x1.b601c472fde84p-2 +0x1.a8462321fb8p-1 +-0x1.33c518cb111f3p+0 +0x1.a6798664f5c9p+0 +0x1.0a3882fdb4c69p+1 +0x1.06a6a0c714e72p-1 +0x1.6bf6e92c72fdap-1 +-0x1.84d9f0dad55b6p+1 +-0x1.6cf1230fc64fap-2 +0x1.dcbcdf914d19bp+1 +0x1.3536efe9827d5p+1 +0x1.cdd5a0cabf976p-1 +-0x1.bfefec036a01p+0 +-0x1.618704dd2237ep+0 +-0x1.17cefc37ce9e6p-1 +0x1.67adb2356ca23p+1 +0x1.3a39542a3d08dp+0 +-0x1.d038d39843b5cp-4 +0x1.36d7a84eb8a79p-1 +0x1.e318b27ed0599p-3 +-0x1.3e982c6df06fp+1 +0x1.471aa1ad93735p+1 +-0x1.178b0d8b0e41bp+1 +-0x1.b5c3386698386p+0 +-0x1.a52045d0cb3b4p+0 +-0x1.d018cc3de79a2p-4 +0x1.2cb33f68cc2adp+10 +0x1.e26ee3996bd8ep+1 +0x1.1156ce1170e2ep-1 +0x1.a0a6aa2e7bd22p+1 +-0x1.267fe26a632a4p+0 +-0x1.1988fafc41493p-1 +0x1.0b474ede969c2p+0 +-0x1.8fe1987a07791p-1 +-0x1.5fdfda703863ap+1 +-0x1.9437084d0518ep-5 +0x1.8d0837e936cfdp-1 +0x1.8b69391996a2ap+1 +0x1.fd35a316fc2eep+1 +0x1.20e7616eca6e2p-3 +0x1.1338d3fa2926dp+2 +-0x1.ea5206d0e59ddp+0 +-0x1.cd9f2866a138p-1 +-0x1.1da76fac5b14ep+2 +-0x1.123ce38c400a3p+1 +-0x1.07273f5501a1ep+0 +0x1.fb388fac9cb68p-1 +-0x1.39b1efce626c6p+0 +-0x1.153f21880d3b8p+2 +0x1.8dd607ab18a3ep+1 +0x1.c9119430f7652p-1 +-0x1.06ef9d5040c57p-2 +-0x1.f7e71e8eb08dfp-4 +-0x1.2bcc972227b6p-1 +-0x1.c4bcf89f22a8dp+13 +-0x1.263feb687a572p+1 +-0x1.d0ae290be2126p+0 +0x1.bf14b6eaddd81p-4 +0x1.d08ea372372fcp-3 +-0x1.d899f538399cep+1 +-0x1.c8a9969e9fae7p+0 +-0x1.5587db2a38d7p+2 +-0x1.c510ed03a0fe3p+0 +-0x1.18b784fb0ed45p+1 +0x1.71cc014d2e991p+0 +-0x1.64f178d84bd9ap+0 +0x1.23e878698dbd8p+0 +-0x1.aec4fa9e8ba9cp-2 +0x1.30e845b965931p+1 +-0x1.f9dee68a8a975p-5 +-0x1.24ba81f47f9a1p-2 +-0x1.9fe796266bcc3p-1 +0x1.af099e5373c01p+1 +-0x1.43231ad599d27p-1 +0x1.1580806ff282bp+1 +-0x1.dd82938144e22p+0 +-0x1.29bfc266ae7abp-4 +0x1.5fafe5b5edad1p+0 +-0x1.22b3574e65c91p+0 +0x1.6651c618cf3f4p-6 +0x1.e17a669700255p+0 +0x1.d3c68b80f60d5p-1 +-0x1.56483d0667741p-3 +0x1.f538f451b9fdp-2 +-0x1.7fb88e136c291p+1 +0x1.7459694066d8cp-2 +0x1.90a7c3293e66dp+1 +-0x1.74067a2d8c534p-2 +0x1.3902e701e5a2fp+1 +0x1.359ad7f5f0d46p-1 +-0x1.14bb77ddc0726p+2 +-0x1.d2b000335796p+0 +0x1.f9f7f852b5e01p-1 +0x1.f4b9e2ad91dap-3 +0x1.18af71f8a9b28p+1 +0x1.2336b1cb0fafbp+2 +-0x1.aa7a9d484c47cp+0 +0x1.23d8f222d52a2p+1 +0x1.06602864ed3cbp+0 +-0x1.7154c80e93233p+8 +0x1.0787d6a0e9bcdp+1 +-0x1.9b00fe119f6bbp-3 +0x1.fe98dd197274bp-1 +0x1.5ce4da1b33f67p+1 +0x1.54b8001746585p-1 +0x1.7631f2c31f401p+0 +-0x1.56d6cef83e5a1p+1 +0x1.e93e0296d3f9cp+1 +-0x1.508c63cbc95e1p+0 +-0x1.9421ee9b98f67p+4 +-0x1.c205f2e58cca8p+1 +-0x1.4665ebc7cd0c7p+2 +-0x1.95aab1bd6c38bp-1 +-0x1.0cb91d1523407p+1 +0x1.517e2f1d103eep-1 +-0x1.bf61d1396f8d7p+0 +-0x1.457ed59185adbp+1 +-0x1.37c8c2e9eda75p+0 +-0x1.002cb202563ddp+1 +-0x1.07c27a4b98428p+0 +0x1.274167b3edc11p+0 +0x1.38f41e03ca394p+1 +-0x1.81ce3adcc24efp+0 +-0x1.d73dd14402c5dp-7 +0x1.1be2452685e43p+1 +0x1.6366c1ea96b0ep+18 +0x1.2310181f92686p+0 +0x1.23500e746171fp-1 +0x1.19c6bdd0879c7p-1 +-0x1.5e77f6e1a6136p+2 +-0x1.a6520e7760427p-1 +-0x1.fad8dc512ef64p-2 +-0x1.520906b4ca0edp-1 +-0x1.77399951d85bcp-1 +0x1.14293c930bd93p+0 +0x1.50f49f30f41a3p+0 +0x1.365732ee9462cp+1 +-0x1.3469c823bafdbp-6 +0x1.b1cb35b097958p-1 +0x1.0c8065025cd4ap-1 +0x1.53f72f16765c3p+0 +-0x1.ba6bf36ca2f71p+1 +-0x1.142e216b09fb8p-3 +0x1.240137694a3c1p-1 +0x1.9bb950814c562p+0 +-0x1.5a932d908486ap-1 +0x1.ba4fb40fa34a4p+0 +-0x1.223d30ff2a1a5p+2 +-0x1.27b8add6a6886p-2 +-0x1.a8e54543a5198p-3 +0x1.01d10f40bbe4dp+0 +-0x1.93f7d1ea9858ap-5 +0x1.7fcdddaeac474p+0 +0x1.9a1d8d576de6fp+1 +0x1.036463aaa8b1fp+1 +0x1.b0e6ff5eda3cdp-2 +0x1.02db2f7f0de33p+2 +0x1.6b8a9f549c9b6p+0 +0x1.2fa00597e9e36p+1 +-0x1.d82327772da7cp+0 +-0x1.9d410aaf06663p+1 +-0x1.de77e9c0a780cp-4 +-0x1.1494222a68d99p+9 +-0x1.cb4adcc5751bcp-3 +-0x1.3f3ebcce0aec2p+1 +0x1.2cd10b49175d9p+1 +-0x1.6f6f2351ad838p-4 +0x1.ed8106947686cp-2 +-0x1.89506742e5d8p+0 +0x1.00c424a42565p+1 +-0x1.6b352e885e7c3p-2 +-0x1.08fb74dc0ab89p+1 +0x1.26b1b1abb522ap+1 +0x1.5f5b97eb4da63p-1 +0x1.5767d36361b7ap+1 +0x1.276b5609db7f6p+1 +0x1.2bc056d863c86p+1 +0x1.054068516fafdp+1 +0x1.e8fb5d99a1a68p-3 +-0x1.7950f176344c2p-1 +0x1.61c78ee7f9271p+1 +-0x1.3da239be38048p+1 +0x1.b309d11338a01p+1 +0x1.b3d519e1bf1d4p-3 +0x1.c7101bf613de6p-1 +-0x1.17cc8034ddd1ap+2 +0x1.5e9e67ea45c7ep-1 +-0x1.7b88b9484a232p+1 +-0x1.bc3d10fd50bc6p-1 +0x1.fe17716a6268cp+1 +-0x1.454e049d56536p-3 +-0x1.203ea7655130ap-4 +0x1.0b62ff735d823p+0 +0x1.0a3696500908p-1 +0x1.b69cbdbd83417p-4 +0x1.e4a2a0310a0dp-1 +-0x1.fc1de8ce9ccbbp-3 +0x1.9c5f0ca6d5bcdp+0 +-0x1.c662e4a9e2b4fp-2 +0x1.cb7759ff98897p-1 +-0x1.61d9a3955f9e8p-1 +-0x1.1450cd02b8002p+1 +-0x1.e773533e402e8p+0 +-0x1.a191c553590d6p-2 +-0x1.3b0969f3dad3bp+1 +-0x1.5739785aa9cb6p-3 +0x1.974ac42aa19f3p-4 +-0x1.19e94204b2e05p+1 +-0x1.60de180df5b3ap-1 +-0x1.7877256bbd104p-1 +-0x1.fea15116b212bp-4 +-0x1.c22308bd575ddp-2 +0x1.288e7f47d1b81p-1 +-0x1.18dcfee80196cp+3 +-0x1.e322c79333de6p-1 +-0x1.11322e6dd5efp+0 +-0x1.34b88999f1bfdp+1 +0x1.52f1279623616p+0 +0x1.119c0fbd1adb5p+1 +-0x1.69e2d1e8fa137p-6 +0x1.1feb9ad409c2ep+1 +0x1.61feda8a1b167p-1 +-0x1.8f798a89cb563p+1 +-0x1.5076558e75dfep-2 +0x1.969822a48f2bfp-1 +-0x1.4b524db6de106p-2 +-0x1.321ac45903b65p-5 +-0x1.6ebfad34f3528p+1 +0x1.e1d78c350aacfp+1 +-0x1.1208ee7041017p+0 +0x1.50da0aca712e9p+0 +0x1.095648628df8p+1 +0x1.d7c7b5dcd6724p+1 +-0x1.d0964bde55c72p+0 +0x1.2e651714ec24dp+0 +-0x1.c0bdc3f5eb2e8p+0 +0x1.1695d07763352p-1 +0x1.0454b477b93dbp+0 +0x1.4ccce934eb87fp-1 +-0x1.1db5faa1216e6p-3 +-0x1.786a46d1d8691p+1 +0x1.990da5661a543p+0 +-0x1.f317d5490f832p+4 +0x1.4f6fe74404b98p+0 +-0x1.d20a797212608p+0 +-0x1.99dd5f0dc1be9p-1 +0x1.e5340b83aa563p+0 +0x1.a5b969d782f2p+1 +-0x1.928d3bcbf4518p-1 +0x1.2e315198a9783p-1 +0x1.513135f05f2bbp+0 +0x1.0222ca2b4f081p+0 +-0x1.c399957a8d3bep+6 +-0x1.ec6731814760cp-2 +0x1.0523de79fd4ecp+0 +-0x1.3a3f7be689a0bp+1 +0x1.5ebaf64b450f1p+1 +0x1.224768673ab86p+1 +-0x1.1e90c4dbc07dep+2 +-0x1.fedbaa128aafap+0 +-0x1.022820fe4bbf4p+2 +-0x1.7e07544d82593p+11 +0x1.5e371cea0128cp+10 +-0x1.e2fa33afd4d83p+1 +-0x1.000cc0f07a4a9p-1 +-0x1.16afe7cf93e2fp+1 +0x1.5d8299296a8cp+0 +-0x1.582e240c71aaep+1 +-0x1.65ffe7961a37p-1 +-0x1.07b00502bdde1p+1 +-0x1.8a79a9cce700bp+1 +-0x1.362ff8c8539bcp+1 +0x1.5a2a55bb21dddp+0 +-0x1.ad62d5415a7f6p-1 +0x1.43efd93e082dcp-3 +-0x1.121de9c0dc664p-1 +-0x1.68e8ebc40287cp-1 +-0x1.4737a7b0ff72fp+0 +0x1.2e6985262b8afp+12 +0x1.d3724fc717215p-2 +-0x1.d01bf904aa6b9p+0 +-0x1.d040af28a58fcp+0 +-0x1.d96b688fac8d9p+14 +-0x1.23d4f32e81314p+2 +0x1.82c22d0dba34ap+9 +0x1.8733f7daea068p+1 +0x1.bc26f58537a4dp+0 +0x1.0548933c002ffp+6 +-0x1.c049b5b81bf84p-5 +-0x1.fec4921b7b307p-1 +0x1.7f7968f52df6bp+1 +-0x1.1dd896290ba68p+0 +-0x1.a9ae636ac6ad5p+0 +-0x1.8077dd65339dep+1 +-0x1.1e7b08199fe76p+2 +0x1.235395438149fp+0 +-0x1.c87d10a63d169p-3 +-0x1.d320da5d9ee0ap-1 +0x1.03b143c0b2672p+0 +0x1.7a38475a7c219p-1 +0x1.242e1d397e6bdp+1 +0x1.b7936a31add3p-1 +-0x1.4f848b363cbf1p+0 +-0x1.0e20dc0f9d118p+1 +-0x1.c14bc04ee403cp+1 +-0x1.5f1d22e8a6643p+5 +0x1.a4475fe31d5f4p+1 +0x1.d225c2f94ab9dp-2 +0x1.21c16635ce30cp-1 +0x1.235af779a7eecp+0 +-0x1.1b58b94905d77p+0 +-0x1.58b5e5e5e17d8p-1 +0x1.dc72e34ae62ecp+1 +-0x1.de7f639b3d658p+0 +0x1.76a74d5003af5p-2 +-0x1.b2a27178698ffp-1 +-0x1.d78d2ad9958eep-1 +-0x1.d3a2753254aedp+0 +0x1.5d8ba75afc39p-3 +0x1.492d75cd60656p+9 +-0x1.22ebdca8bfeabp+1 +0x1.78e75f962beb2p-1 +-0x1.9911172a835e6p+0 +0x1.0855c3159b79p+1 +-0x1.36a249f6713e1p+0 +-0x1.2510e79baa8e8p+1 +-0x1.0d06dd5d881f2p-1 +-0x1.c765ed854744fp+11 +0x1.afd89ba2db15fp-2 +-0x1.29809ec5a8b95p+0 +0x1.aaf702a408688p+1 +0x1.9dcb10f0825a1p-3 +0x1.5f3cc882f0ce7p+0 +0x1.4ba3a5ffa79fcp+1 +-0x1.6d9b24ac25c87p-3 +0x1.a3ea737ecd838p+0 +0x1.207bc67429ddfp-2 +-0x1.fe6d08f681db5p+0 +0x1.1a69746b81fc4p+0 +0x1.d70e4ab377134p+0 +0x1.6f4597dae2bbbp+1 +-0x1.0c62a62513245p-1 +0x1.d820c9530305ap+1 +-0x1.71efdc4a4f75p+0 +-0x1.30841919dfc79p+0 +0x1.70f5336e17d7dp-1 +-0x1.18de13d860674p+6 +0x1.d6ae61baacdc4p+1 +0x1.f196bbf5215ffp+0 +-0x1.41d18d0f022ffp+2 +-0x1.762a83fb3a7fbp+1 +0x1.d63c0d6692ca9p+0 +0x1.f220354c3cc18p+1 +-0x1.f1afc8040b129p+0 +-0x1.d775d0cb80646p+0 +0x1.a217aac4eab47p+1 +-0x1.643dbf161d7d3p+14 +0x1.7d3ed50ce274ap+0 +-0x1.e87dd9747919bp+0 +-0x1.9ed7a29a9c834p+0 +-0x1.5be9942ff4d2p+1 +-0x1.9df17d86201f9p-2 +-0x1.4d8be99e8188dp+1 +-0x1.dca97fc2c3d81p+9 +-0x1.cd544b866b613p-1 +-0x1.297df97e7a9ecp+1 +-0x1.72ed200511deap+0 +0x1.351bfe4f9af6ep-2 +-0x1.7a6163d228fb8p+0 +0x1.524c21b4055d1p+0 +-0x1.0a74b36e4145ep+2 +0x1.1f938f466b00fp+0 +0x1.21e2580529246p-1 +0x1.7f5a81506ac11p+0 +-0x1.0326e0867440ap+0 +0x1.3dbaa26960115p-1 +0x1.c7e527bc02a67p-2 +0x1.5e1d8eaca6c95p-6 +-0x1.d7ebf650cc9b9p+0 +0x1.9097b662a59eep+0 +0x1.210e7f9b00965p+8 +-0x1.fd2e4f7bf87bfp-3 +0x1.34111b41a0232p+1 +-0x1.320bb7ec305bbp+0 +0x1.c3d3ce6fb26cdp-2 +0x1.d68badce5fad4p-5 +0x1.d5fbd9a4099ap+0 +0x1.7747520a8506ap+1 +-0x1.a3adc4d8243f9p+1 +-0x1.c7e54a561edfcp-1 +-0x1.1872b908a3c89p-1 +-0x1.e39d87f265b94p+0 +0x1.b75530da2cbeep+1 +-0x1.db9717453752p-2 +-0x1.7e4a49aa11db4p-1 +-0x1.ca0c47971a2e3p-1 +-0x1.140941e8f4e9ep-1 +-0x1.b89a4d30de0b1p+1 +-0x1.047d929ca12b4p-3 +-0x1.1fca22d9e3d3fp+1 +0x1.f76c26c23252ap+7 +0x1.0ea7bf950d4bep+1 +0x1.c6c843e32c486p+0 +0x1.60342384077cbp+1 +-0x1.a5ffd2292d3b4p-1 +0x1.ab8657b7a70fp+7 +0x1.125b5c34f3271p+1 +0x1.90738b259e457p-1 +0x1.d921afd783667p+1 +-0x1.b154157bf17a5p+1 +0x1.4431396d43267p+1 +0x1.f07062f70ded8p+1 +-0x1.469440b3191fep-1 +0x1.52ed3a3a0f7a6p+14 +-0x1.6c8e20d320275p+1 +0x1.597e7bc43487p+1 +0x1.f538115a5274p+11 +-0x1.7b4e545a4fef2p-2 +-0x1.47ffa36f14afap+1 +0x1.5c496ede92a21p+12 +0x1.260285817baf3p+0 +0x1.686e95f29c34dp+1 +0x1.710bd5d2c5ee7p+1 +0x1.55e840d9b9166p+1 +-0x1.43ffa8e88d158p-1 +-0x1.69b8c86092a1fp+0 +0x1.c0c0d7045be57p+1 +0x1.eac24ae0b33dcp+0 +0x1.e064bf381862bp+1 +-0x1.c5a6f5ae0f81ep+1 +0x1.7d090a3ef9149p+2 +-0x1.51054c3cebb78p-2 +0x1.5e0ad832c47abp+13 +0x1.064c8f50de85ap+2 +0x1.0e768a936696ep+1 +0x1.fcd304df17d13p+0 +-0x1.ad4e7d34bf318p+2 +-0x1.6fa7bbb482b52p+1 +0x1.1131d402eeaa7p-2 +0x1.84b6ef7476f9dp+1 +0x1.82d034b577949p+2 +0x1.3070756303b56p+0 +0x1.d6dd86c0ff286p-1 +0x1.b0c4237bd40dep-1 +0x1.6ecb46f059fb6p-3 +0x1.5472d0ca8751bp-1 +-0x1.2c76e4e00044bp-3 +-0x1.d8f29a525c17bp+1 +-0x1.a631e4e488a23p+15 +-0x1.5bf5c4f3469c6p+3 +0x1.88639a9d97768p-1 +0x1.0047971d6e2a7p+1 +0x1.115370a703986p-2 +-0x1.16a00f44a641bp+12 +-0x1.dc8958f7b3acbp+0 +0x1.dc3e846d83038p-1 +-0x1.93ea0eb61088dp+10 +0x1.aa61367a61e3dp+1 +-0x1.99a04cdfd0df1p+0 +0x1.b0839e4189b87p+1 +0x1.d13377c3aa005p+0 +0x1.117444f4bf5acp+8 +-0x1.443c98b0560cbp+0 +-0x1.eeb87ebb65fa6p+0 +0x1.38c446b779cd2p+1 +-0x1.710f7cbaa56ebp+1 +-0x1.07b1a0825c188p+1 +-0x1.c75e1451c74e3p+0 +-0x1.3ddf731fb1842p-1 +0x1.27092f8aa5296p+1 +-0x1.0833d382ec7cdp-1 +-0x1.2cb6b94f88bdap-3 +0x1.6bd3df33085e1p+1 +-0x1.17db097560542p+1 +-0x1.fc4a6a3e62f6cp-3 +0x1.df7684dc399fbp+15 +0x1.40fc5612ba1c1p-1 +-0x1.cc7f4e662776ap+0 +-0x1.792ec52d353ep-1 +-0x1.44a492f5ff5d6p+2 +-0x1.3827d3f76703bp+1 +-0x1.41cca35a5f8bcp+2 +0x1.4656954e389fap+13 +0x1.d9b4370fc2651p+0 +-0x1.82e3929888e01p+3 +-0x1.dd150317c60b9p-2 +0x1.dfc3cb1d20efp+0 +0x1.1f3afe7426708p-2 +-0x1.0cc97c80d87ddp+0 +-0x1.201c3df5ee694p+0 +0x1.df82b0e4c13fdp+0 +0x1.395d76dbb0bf2p-2 +-0x1.0b866d3ed57bcp+2 +-0x1.738d300f0c4d4p+1 +-0x1.0eeade15c772fp+1 +0x1.40cdcce2fc373p+0 +-0x1.3c73da13f2cc1p+1 +-0x1.74ae489a85dacp-2 +0x1.d82759a5a7c6fp+0 +0x1.8ff2bfeff3f83p+10 +0x1.1723e809d8be9p+2 +0x1.8f42905a6af4p-1 +0x1.550ea22983af2p+1 +-0x1.b17830927004cp-5 +-0x1.061f0850a474bp+1 +-0x1.7ae9b9ac3ce2fp-2 +-0x1.1541c8e599a71p-3 +-0x1.ed3335edb3fd8p-2 +-0x1.a2b8e06527b38p-1 +0x1.d1951e09570bdp+1 +-0x1.e01f1bfe66fc3p-1 +0x1.11494a22a66d1p-1 +-0x1.39bbd90a02bf2p-2 +-0x1.a0c207726808fp+1 +0x1.268d4ca64e482p+1 +0x1.8e2fbc3125b5ep+0 +-0x1.6b14c3fe2796cp+0 +0x1.8dc764d61a0ccp+0 +0x1.8779e69e57682p-1 +-0x1.176c96d183422p+0 +-0x1.25a54306d73b7p+1 +-0x1.81eb79a888b49p+0 +0x1.b54004815d6d5p+9 +0x1.11e367b41be23p-2 +0x1.8ec7b0a28eee7p-2 +0x1.d2b6cb02b0012p+6 +-0x1.016aee7627603p+7 +0x1.827dd95ed480ap-1 +-0x1.14a3ce94c49d2p+1 +-0x1.01a3dcc7ea2ap+9 +-0x1.75eb80c0dbf7bp+1 +0x1.24954c7f5ee18p+0 +0x1.f902db3318d55p-1 +0x1.640cf26bfbb62p-2 +-0x1.2f224f92f6885p+1 +-0x1.02d94b4d9016dp+1 +-0x1.9b7db7392324dp+0 +0x1.68651ebb454f2p+1 +0x1.f4796f30027fbp+0 +-0x1.d1393d75f4511p+0 +0x1.c5dc8fd3603a6p+1 +0x1.bb6f3211e908cp-2 +-0x1.cd8996d89a7e6p+0 +-0x1.c73193f75f0c3p+0 +0x1.987076bd1eeaep-1 +-0x1.a68fc08dfec19p+0 +-0x1.52d8c765daedep+6 +-0x1.339fbe43d34c6p+1 +-0x1.413901f5193e6p-1 +0x1.ce62222b3805cp+0 +0x1.970f028113879p+1 +0x1.8abad91d0108fp+0 +-0x1.2c58f7a4e021bp-1 +0x1.06a996941e707p+1 +-0x1.a7a642f6f2147p+16 +-0x1.fe3dd3b21c701p+1 +-0x1.6021c857420fcp+0 +-0x1.575737013d5d6p-3 +-0x1.cfee4949fe65bp-1 +0x1.11638da253de3p-1 +-0x1.fb4ad68db196fp-1 +-0x1.9e297d12f7a6ep+9 +-0x1.00d2d9006315dp-1 +0x1.7fbfd8baa1d71p+1 +0x1.5a65d861f8c53p+1 +-0x1.9b58a134857f3p+5 +-0x1.4915bbf40d86fp-4 +0x1.6beb9b08962b9p+0 +0x1.57a911eb1ad5fp-1 +-0x1.12d0505a7c635p-2 +0x1.89ea2ae702fcp-1 +-0x1.5632cdad9c323p-1 +-0x1.d4c06be24be8cp+0 +-0x1.4f1954f19cfa9p-1 +0x1.3db72f9579379p+0 +-0x1.d8db14a91be06p-1 +0x1.98df14da2cd37p+0 +0x1.14ed3aaba1e13p-1 +0x1.152fd86c0f4d9p-1 +-0x1.eb0c41597dcfdp-2 +0x1.c34ee9c0b662p+0 +0x1.f84a204697033p+1 +0x1.43f320e296de6p+0 +0x1.38668c7e85186p+1 +-0x1.0fcdda4fc16b8p+0 +-0x1.9f96a6f3cef22p-2 +0x1.e85928dbfb41ap-1 +-0x1.361cdf5362f57p+2 +-0x1.8c83ce414b22fp+1 +0x1.1c76ac621150bp-4 +0x1.5b16355b23c86p+0 +0x1.5c549458b4ea9p+0 +0x1.969e895e32515p-4 +0x1.2440fa8897061p+2 +0x1.31fb48ccd28e9p+1 +0x1.2d1b84d2bb28ap-1 +-0x1.225302fa6c87ep+0 +-0x1.342994f685e83p+1 +-0x1.71951e6049268p-1 +0x1.29b1a102edbd7p+1 +-0x1.cff757eb27dffp+1 +0x1.2a3a816ba5faap+1 +0x1.f42529712cc99p-3 +0x1.c8b54130361efp+0 +0x1.83bb476615988p-2 +-0x1.4dda2ea87efccp+3 +-0x1.0fdb2e462211cp+2 +-0x1.35115f1147a95p+1 +-0x1.b6312122192f4p-1 +0x1.a740b09c4e06fp-1 +0x1.09450797d14ccp+0 +-0x1.911454ae95a0ap+8 +-0x1.808f836249d14p+1 +-0x1.b7e28934b005fp-1 +-0x1.3c6e2582182cdp+1 +0x1.e87adde1019eep+0 +0x1.3902b2ba290bap-2 +-0x1.76edd365a8352p-3 +-0x1.839bfcca85665p+2 +-0x1.8b4aa06b5acdep-1 +-0x1.4a9160586351bp+0 +-0x1.bb2d507c481c4p+0 +-0x1.9fb55e7c25027p+0 +0x1.0cca47e013bebp+0 +0x1.0d849efc15754p+16 +0x1.0dc2f1273843ap-1 +0x1.9a8405cf46916p+1 +0x1.a607c945b5ac9p+1 +-0x1.44bb7d10967a3p+1 +0x1.f3e262d7d2025p+0 +-0x1.1518701db4cacp+1 +-0x1.5946e5076ca65p+1 +-0x1.d8f4f72e75f3bp-1 +-0x1.bc8404e8eea26p+0 +0x1.c53ab41121f9bp-4 +0x1.191f9a7809804p+1 +0x1.acbceb1ee93cep+0 +-0x1.4c2d729be6727p+0 +-0x1.02ea11fc8cd65p+1 +0x1.20889d795ca8cp-1 +0x1.8c2f30e6de49cp+1 +0x1.10b322fb9951bp-3 +-0x1.39c9aabc992b8p+17 +-0x1.2743a11ce3daap+0 +0x1.4c16c24675605p-1 +-0x1.035d74bcbe027p-4 +-0x1.5967711870325p-1 +-0x1.044af2319224cp+1 +0x1.572759d0c031p+0 +0x1.0b9a4cb849af3p+2 +0x1.c2c14901ebb99p-1 +-0x1.18b6f0db87a4bp+0 +0x1.aa7be7a00f4afp-2 +0x1.0e7168cd2a5b9p+1 +-0x1.b5a3dcd4bbb18p-2 +-0x1.c72a6a042e50ap-1 +-0x1.cb81070961543p-3 +-0x1.47dbd3cd97892p+1 +-0x1.df37b2105266ap+0 +-0x1.430243a5f0f96p+1 +0x1.f6647fbd4cb5fp+1 +0x1.d75654d29b386p+0 +0x1.19a419c0aa2c8p+0 +-0x1.ac16228b22c89p-1 +-0x1.901e201c5cac3p+0 +0x1.091687705c0fep+0 +-0x1.9edd0ebd18bcep+0 +-0x1.6e97388085eb2p+0 +0x1.66dc784199b8bp+1 +-0x1.8400fed9d2029p+5 +-0x1.a8aa7773154bcp-6 +-0x1.aee52b26e299fp+1 +0x1.968dc12f8a578p+12 +0x1.086cfd334e5d3p+7 +-0x1.7819202c89d5dp-3 +0x1.2401c8899a63p+1 +0x1.4296ce4e36ddp+0 +0x1.b9051ee5173f3p+1 +0x1.6b220e627c763p+0 +-0x1.ae685c082c8dbp+4 +0x1.aed15d501a24fp+1 +0x1.144ca30cf11f4p+2 +0x1.67aa4ff5ab2b6p+1 +-0x1.48a91f20bffc6p+1 +0x1.9a61f20256742p-2 +-0x1.131b2bd2445cap+1 +0x1.eaf8483e99704p-1 +-0x1.be68bfce2266p+10 +-0x1.a0321a75a5356p+0 +0x1.616db09e2fa48p+0 +0x1.2ed1fbbf59e47p-1 +0x1.0e1f55404b2b6p-1 +-0x1.9f96e8dcc513fp-1 +-0x1.0ef2a558260a4p+1 +-0x1.6462b400a9578p-2 +-0x1.d53832d3bed9dp+0 +0x1.b8dd7040d692fp-1 +0x1.4874b97365b26p-1 +-0x1.ec97ba98fa1b1p+1 +-0x1.53ef33d7c4a76p+0 +-0x1.07fba90718481p+1 +-0x1.d5c393bd7c10ep-1 +-0x1.448fe47264738p+2 +0x1.094c28d7301dp+0 +0x1.31663ecbd3645p+1 +-0x1.cf8768a66ee09p+0 +0x1.3509d066274a2p-2 +0x1.8dabe1a2eca3ap-1 +0x1.89563e1a7abc4p-1 +0x1.41e1ccabff7ap-1 +-0x1.bb2d1c4e64f42p+0 +0x1.1c840e2a493d7p+1 +0x1.bc5d90d6ec0a3p+1 +0x1.36b89c616fe2fp+0 +0x1.d51926e0e4ed7p+1 +-0x1.88f8a32b99b0dp+1 +0x1.033bdbbad7697p+1 +0x1.7102185faf9b6p+0 +-0x1.3d096a9d70e32p-5 +0x1.3473c7e0d3656p+1 +-0x1.e31a31f195de4p+0 +0x1.efcb56603790dp+0 +0x1.a506ae382d772p-2 +-0x1.711fe7fe834fp-4 +-0x1.144e54b43e567p+1 +-0x1.821f6af7bfa5cp-1 +-0x1.facc3d8bb364ap-3 +-0x1.8d13ffd78004p+2 +-0x1.69e3ad3c29a73p-1 +0x1.4818c4a85a7a4p+0 +-0x1.40af87bbf289bp+1 +0x1.74a9b37329c64p+1 +-0x1.03bd38674857bp+1 +0x1.6e1a90fa22563p-3 +0x1.702f9efb00858p+0 +-0x1.78898724d161bp+17 +-0x1.a287826e25cc7p+0 +-0x1.6a13d125c1d2dp+0 +0x1.bf6545614f2aap-2 +0x1.0073b49702568p-3 +-0x1.deccb44d69f3dp+0 +0x1.b97cd53a84b79p+1 +-0x1.e859599a8541bp+1 +-0x1.e8608a26fd75ap+0 +0x1.29b278175bf62p-1 +0x1.12bc5d77892c4p+6 +0x1.0c8efd730f12p-3 +0x1.8abba277c6feep+0 +-0x1.70115381b7af9p-1 +0x1.11c3004c61d25p+0 +-0x1.fcebaafb4ecb6p+0 +0x1.b7819a2b6aba5p-2 +0x1.c4abced09ea7ep+0 +0x1.546188132ff54p+5 +-0x1.625d30f6bd861p-1 +-0x1.4d16412bc07b6p+2 +-0x1.6e78e8541f34cp+1 +0x1.ff57b4477173ap-2 +-0x1.732f7fbf78345p+1 +0x1.c60c8a18ca74bp+1 +-0x1.6c0f712692246p-5 +0x1.6c6fccae9544p+0 +-0x1.8770ac5c7c4d7p+1 +0x1.2e1f3fb86e2e1p+0 +-0x1.8a5f0fb797007p-4 +-0x1.137b351e7d8bep-3 +0x1.08318d16847cp+0 +0x1.55dacfe7d2f16p+0 +0x1.c697ca1ea3a28p+0 +-0x1.7e14c4e8c5dd1p-1 +0x1.c05af990ced74p+0 +0x1.649566d68f306p+13 +0x1.d456c46c32ff5p-2 +0x1.8f5974602f8c2p+0 +0x1.9e93011006be8p+1 +0x1.27f39a9c172a7p+1 +-0x1.1bbf7b8216c44p+0 +-0x1.be890b1a75765p-3 +0x1.a553d59400777p+0 +0x1.43939e5464cfdp+0 +-0x1.4045e41a2f778p+1 +-0x1.35a0f5e4ccdc2p+1 +-0x1.3422aac46b8f2p+0 +0x1.fa67b5b462e41p+1 +-0x1.3cc6fc0ab709dp+1 +-0x1.c34b1d331f1a8p+14 +0x1.78175b45bbf5cp-1 +0x1.07b0322010eb3p+2 +-0x1.39bc1cac5674ap+0 +0x1.7e1ecab2b8611p+1 +-0x1.a8cdaa343f1c3p+0 +0x1.f5b0caff27af8p+0 +-0x1.e7061a420527ep+0 +-0x1.323af1ffac813p-1 +0x1.8d033a8dd7ddap+0 +-0x1.a1a07454f8a1dp+0 +0x1.50cc41f57d39ap-3 +-0x1.f56e5e9fada02p+0 +0x1.3859d96750defp+0 +0x1.73203bf383085p+0 +-0x1.8adde5f8f1df4p+0 +-0x1.d557ae14c19b7p-3 +0x1.36e46dc9e2dddp-2 +-0x1.70fe440376f4ep+5 +0x1.27b77812c8d7bp-4 +-0x1.3d6d9449f0b2cp+0 +-0x1.11e906c2545bep+0 +-0x1.deaedd8052d44p+1 +-0x1.6c268666b780dp-1 +-0x1.751cb5efc0125p-1 +0x1.7e5a447cbe912p+0 +-0x1.a1a94467137d8p+0 +-0x1.631e76fac0a58p+0 +-0x1.4974ea8a5b944p-2 +-0x1.610c39847f6dep-4 +0x1.64f79be504d66p-1 +0x1.ef4876bb9373dp-1 +0x1.3bf07758ac0edp+2 +0x1.1b3054b54d8d9p-4 +-0x1.0d3a4f35633c5p-1 +0x1.017ee3b6d9aebp+2 +-0x1.208cbf8e3dbeep+1 +-0x1.5f084df226306p+1 +-0x1.2bc95225cf2a6p-3 +0x1.79882b08dd3ccp+0 +0x1.f213b8342646bp+0 +-0x1.a1dee7da2bf6cp-5 +0x1.398ba033f91a6p-1 +0x1.18888d42b146fp+17 +0x1.25cfead1b1235p+10 +0x1.d9419b9534cdfp+13 +0x1.b164e917a32f8p-2 +0x1.adaf625ba3cfcp+1 +0x1.e9a2d143c4b25p+0 +-0x1.17544ad4ba83cp+1 +0x1.3276ea83d9999p-3 +0x1.3bfec63f5289cp+8 +-0x1.a4524b2fdde2bp+7 +0x1.bde5bb6e64c54p+8 +-0x1.294108a31ba78p+12 +0x1.e4a268fcc1f87p+0 +-0x1.2988d714911b8p+0 +-0x1.35c038462ef2ep+0 +-0x1.ba83c698b13d8p-4 +-0x1.2596ba0f8da32p+1 +0x1.a73c6fdd2b3ddp-1 +-0x1.d574c505bd404p-3 +0x1.9e272df83331ep+1 +-0x1.baca8328beadep+0 +0x1.9f22e23bc0f6p-1 +-0x1.c073ca76d48a1p-2 +0x1.1633b247d7e01p+0 +0x1.63fde035cd946p-1 +0x1.3bf3ffdc65e09p-2 +-0x1.2429280322e3bp-1 +0x1.b44f60e7247e4p+0 +0x1.35ef8ef818f27p+0 +0x1.554106a3fce0ap+7 +0x1.01263efdae1d3p-2 +0x1.43f43b811264p+1 +-0x1.272e41a83f19cp-2 +0x1.cde265bc071c3p+1 +-0x1.2759fba345ef1p+1 +0x1.53c29fe09b2b4p+0 +-0x1.3b002ac772cc3p+0 +-0x1.a9d384a6c2d99p+0 +-0x1.c0ffa46344c7bp+1 +0x1.28be59a2b8973p+1 +0x1.dee23f044c63p-2 +0x1.00a382f66b2b1p+1 +-0x1.089955f5cde6ep+1 +0x1.b552f0c15135bp+13 +0x1.1d920135cafdp-2 +0x1.b4eab91fa7e9dp+1 +-0x1.50679095977ep+2 +-0x1.b02079606e48ep-1 +0x1.15067d4ddd5d2p+0 +0x1.33b2fd363a87ep+1 +0x1.229d8dbb97519p+0 +-0x1.14bb16ed08341p+1 +0x1.06aa7a7c56016p+0 +0x1.b45903726b769p-1 +0x1.715c2c71815e3p+1 +0x1.66840832724dep+0 +0x1.f24d72fa4a60bp-2 +0x1.dbf50b585b223p+1 +-0x1.938fba520654p+1 +-0x1.bbfd71f367dccp-3 +0x1.333e5ed1263a1p+1 +0x1.05222e2d2d4aep-3 +0x1.8c6cd202ba974p+1 +0x1.8f1b75ace3b7bp-1 +-0x1.02c5f5cf16d5p-1 +-0x1.1713aaf722843p-2 +-0x1.a29ad45c3a3dap+1 +-0x1.b6d618e039128p-1 +-0x1.70b115246867bp-2 +-0x1.d84737c689ddp-1 +-0x1.a232c0b047aebp-3 +-0x1.4924e5ee14ebap+10 +0x1.523a7ebfe78e3p+1 +0x1.e70aedebd4b1fp-1 +-0x1.5a1c975911dbfp+0 +-0x1.ed119034e6a4bp+0 +-0x1.792fd2b9e456dp-2 +0x1.4880715dad285p+0 +-0x1.e435be704689ep-1 +-0x1.e5248c755c768p+0 +0x1.2ea91c7e4606fp+0 +0x1.0752368183a77p+1 +-0x1.9fd765276e4a2p-4 +0x1.d27774b0a46bcp-2 +0x1.a0de76d18538p+1 +-0x1.779e199954091p+0 +-0x1.9a63b29ced1acp+0 +0x1.4551c071e3612p+0 +-0x1.2bf0f08f79f3bp-3 +-0x1.ae0f77c31c75dp-1 +0x1.f4803de9d3d74p+18 +0x1.34f0d2a12cd84p-1 +0x1.69e271f1f8fa2p-1 +0x1.2da5a48c9a9e1p+2 +0x1.a9cf96e2ed939p+0 +-0x1.45019d2ee0fb3p-3 +-0x1.02b058f802a3bp+5 +0x1.ce6a228515532p+0 +0x1.e60fc4f8bc76ap-2 +-0x1.ba4f23e166ab6p+0 +0x1.bef6acf8e5265p-1 +-0x1.f08f31b874a0cp-2 +-0x1.827eef84b9c14p-1 +-0x1.81451763c7fcbp+0 +0x1.929f7c4873464p-1 +-0x1.2e62ca652df96p-2 +-0x1.0b1e914266a6ap+1 +0x1.8b1da759fca95p-1 +0x1.41a8c338299f7p+0 +-0x1.c2ed3436ec8e9p+0 +0x1.23ff52f35c879p+1 +-0x1.79751538755f8p+0 +-0x1.75dccc36599a5p+1 +0x1.31813f5a8b34fp-1 +-0x1.19f82859faf39p-2 +0x1.4f28e4c463c9cp+1 +0x1.9f7be005ac4a4p-2 +-0x1.5563cdbaa3506p+6 +0x1.f24a97c1672e6p+0 +-0x1.3785bff77fa86p+0 +-0x1.28ddef8a7188ap+1 +0x1.af2e4bf2e0527p+0 +-0x1.bb9c349cb3eb1p+0 +-0x1.23738446973ccp+1 +0x1.216e94fde3782p+0 +-0x1.404f78dfdac49p-2 +-0x1.d5f7630733621p+0 +-0x1.6a54a38f0c78cp-2 +-0x1.ea251e3191e44p-2 +0x1.e4d75b70f7768p-1 +-0x1.51d77741c59aep+1 +0x1.f0ffbede3629fp-2 +0x1.07cd9aa1e8cc4p-1 +0x1.7291e70882dcp+0 +-0x1.fe51af030a20ep+16 +0x1.16fa723f3f61bp+0 +-0x1.68cf93cb7cd7fp+0 +0x1.bda4753e9d1aap+1 +-0x1.d8c1393c31e36p+16 +-0x1.044f2c1e7031fp+1 +0x1.651543a7a3d26p+12 +-0x1.0585998124d7p+1 +-0x1.51373e1abd6eep-5 +0x1.0ccfdf512b482p-2 +0x1.217ce5fc6541ep+1 +0x1.5f834695e1c6bp-1 +-0x1.4855b8dac7c66p+1 +-0x1.c67155ef87709p-3 +0x1.f4d96f4f39ddep+5 +0x1.2a624540c149fp+0 +0x1.caa2ebc95573cp-2 +-0x1.682f24da6017ap+0 +-0x1.d0d90ecc89c53p+1 +0x1.904d8057eaef1p+0 +-0x1.d9bc35e72d545p+0 +0x1.b609cf1eb7875p+0 +-0x1.9a9a14ba31b5fp+0 +0x1.e69d2fc7857c2p+5 +-0x1.ada57e0eb119bp+0 +0x1.8fce241b1e336p-1 +0x1.ac55e0fbe0d38p+0 +-0x1.0c3b900555af8p-1 +0x1.a5e5b3473e91fp-1 +-0x1.0565e7ab26f9ap+0 +0x1.6da23867e6d97p-2 +0x1.3bed0a261d33dp+19 +-0x1.ff2f3bcf1d076p+1 +0x1.bef44a8e2b591p+1 +-0x1.8801d5721b75fp-3 +-0x1.cbb29dedb7859p-1 +0x1.09dc7087753f5p+0 +0x1.a09c22f161c1cp+16 +0x1.7e57f9a22508ep+3 +-0x1.6ef24221dc489p+1 +-0x1.5b7c195dec5d4p+3 +0x1.218a906174475p+1 +0x1.0652460d91c3dp-1 +-0x1.4bc35a7f6918bp+1 +-0x1.503f55f551c6ep+0 +-0x1.de0226626a4c3p+0 +-0x1.7c16f2a2e310fp+1 +0x1.be43032895252p+1 +0x1.a2e2c52f41be9p+1 +0x1.5f5178957b39fp+0 +-0x1.80f520a4221aap+0 +0x1.be8831b22588dp+1 +0x1.1e1ad8eda7dd8p+1 +0x1.88af12d33e396p+0 +0x1.56d510daccc47p+0 +0x1.2e8bca4275bb5p+0 +0x1.7c2a16c2964e7p-1 +-0x1.c3f2462543705p-1 +0x1.2c9239e9dfd36p+17 +0x1.11083b729cf36p+1 +-0x1.7e2af39315da9p+0 +-0x1.7da2eaba0ec41p-2 +0x1.506ffb7425729p-2 +0x1.7ab5ea8242debp-2 +0x1.b77cabf14db6bp-3 +0x1.7b3b4e2f05ddep+1 +0x1.bbddc223d8ed4p+0 +0x1.c509a23d73b8dp+1 +0x1.1935357d6c979p+13 +-0x1.71cd3deee7d9ap+17 +0x1.826b805093a09p+1 +0x1.88114f0451dddp+0 +-0x1.242f7a3e92be2p-1 +-0x1.4b33f9eba0d61p-2 +-0x1.3ff7b15d65457p+1 +0x1.e5c145a39e135p+0 +-0x1.0452cb23c2ea2p-5 +0x1.cb2aa9f960742p+6 +-0x1.2fe8f78eba3bcp+0 +0x1.4b188c8b58e1cp+0 +-0x1.0280595397c7p-1 +0x1.81a3d0dc3fce3p+1 +0x1.61604f72cc50fp-2 +-0x1.88b9b48e6e12bp-1 +0x1.adbde0c853d1dp+0 +0x1.ef8b77b92c76ep-2 +0x1.6f05862b7c708p+0 +0x1.12e9472273bacp+9 +0x1.e038095394ea6p-1 +-0x1.72ba700c37f07p+1 +0x1.085a22bbfd7a9p-1 +-0x1.4730babdc0c14p+2 +0x1.d2be6bebeedf4p-1 +0x1.9070f5d98956ap+2 +-0x1.13802dfe62ed5p+1 +-0x1.1f41e33160aaep-2 +-0x1.29929c9c92042p-1 +0x1.d3f8e5ae13d6ap-2 +-0x1.001bd2373e225p+4 +0x1.0ad203c10df6ep-2 +-0x1.e96f930781a01p-2 +-0x1.21e5d8eb57dd9p+0 +0x1.2ad730ea4cc5ap+11 +-0x1.fea527443ca72p-7 +-0x1.93dc6ac05f8f3p-1 +-0x1.680cd1fdc064fp+2 +0x1.21f1f1626f20ep+0 +-0x1.060a6d09b6f49p+2 +-0x1.1ff16387bdfa4p+1 +0x1.386158ee48996p+9 +-0x1.0ccf3fbb8bc2p+2 +0x1.12b19649c70c7p+1 +-0x1.220a5ffef9135p-1 +-0x1.5ef9eb9552a3bp-1 +0x1.71cdb61a203c4p+0 +0x1.1b40f1a2fcebap+1 +0x1.dae3426c41647p-2 +0x1.ceb35659a8204p+1 +0x1.028d091c63623p+0 +-0x1.0e43930a7e9cfp-2 +0x1.9bebf1f0835bdp+6 +0x1.d86000d9a7707p-2 +-0x1.e6a3193c6903bp+0 +-0x1.59c1d91772b5cp+1 +0x1.1e75da86fb093p-3 +-0x1.0d4c1fec2fa9p+1 +0x1.c430b8e88c4ecp+1 +-0x1.d37956b1a6bd5p+0 +-0x1.a04d485c3b9e7p-3 +-0x1.04014c571b3e5p-2 +0x1.658acf683261ap-1 +-0x1.0ff5d61e9b253p-5 +-0x1.757c727e30ad3p+7 +-0x1.26c032f90fc1ep+1 +0x1.ee75e9f1040e8p+3 +0x1.5027343852a7ep+0 +0x1.687e11cabc067p-1 +-0x1.82955d1c9805ep-2 +-0x1.f0a28e0a0bfc3p+0 +-0x1.934f90e95a09cp-1 +0x1.9f3bffdb167d8p-1 +0x1.104161c484cbcp+0 +0x1.250e9485f986cp+2 +0x1.cbb8b279f75cfp+0 +-0x1.3e666417db13bp+12 +-0x1.39dd9137af427p-1 +-0x1.69653a2a1374bp+0 +-0x1.9e5b08d76b728p+1 +0x1.cf9e7d04b54bep-3 +-0x1.f509a8312f736p+0 +0x1.e6fb88bdc053ep-1 +-0x1.b1e6c95a549cfp+16 +-0x1.d09f99a31e9f3p+16 +-0x1.d76b71224c9b6p+1 +0x1.c56e2c269a7f6p+1 +0x1.2fd78ccfebdf2p+0 +-0x1.53571df7a806p-1 +0x1.1fc02cf8c4886p+1 +0x1.05940ae5aae28p-1 +0x1.beec41369cd0ep+3 +-0x1.deccf2895ba49p+0 +-0x1.c31c1f03b82e9p+1 +-0x1.609aeafcd9f1ep+14 +0x1.3e4dd68a3b267p+1 +0x1.32e09414cfe9ep-1 +0x1.b25072bb38547p+0 +-0x1.e1b733cabc1a8p+1 +0x1.36b69bef0cbcap+1 +0x1.24780e586bcd3p+1 +0x1.353a97454b62fp+0 +-0x1.3612bb1dc64eap+1 +-0x1.e537779e7d117p-2 +0x1.17896c66b683bp+1 +0x1.ea007c8a963b2p+5 +-0x1.53c8ca3e29b1ep+0 +0x1.ea6f95ee5dcb6p+0 +0x1.b4e0038a61d51p-1 +-0x1.e2af578213281p+1 +0x1.0533a560b45f6p+1 +0x1.c505a97c3f16cp+12 +0x1.a8aec58be087p+1 +-0x1.70f68000c51eap+0 +0x1.51f401ec7fbdp+0 +0x1.db06473f40fedp-3 +0x1.4e1963fd716bbp-2 +0x1.a93094e125a22p-1 +-0x1.1026fefab4092p+0 +0x1.2b11802d5672cp-3 +-0x1.1663b10191896p-1 +0x1.64f32aa7f17c9p-1 +0x1.76f537ad53e83p+1 +-0x1.229ed99baeca3p-4 +-0x1.9d54224e8c116p-2 +0x1.66399235e31adp-1 +0x1.8274241590838p-2 +0x1.56ef89e9426dcp+0 +-0x1.48c9fc90c511ep-10 +0x1.2c9095d7682e6p-1 +0x1.f11c2ae636f68p-2 +-0x1.d30d83164bea4p+0 +0x1.7c24af02ca1bp+0 +-0x1.a8496a3e739d3p+0 +-0x1.8d426075714abp-1 +0x1.2fee8d8fad0ccp+0 +0x1.2784b3c87544ap+0 +-0x1.fa3b208cc16eap-2 +0x1.5f32ab56a81c4p-1 +-0x1.d1bb10de8809bp+0 +-0x1.b9e65c992b6c7p-2 +-0x1.4d432f6d8c2e1p+12 +-0x1.6dbe7021dcdc3p-2 +0x1.a46e973a3e99p+1 +0x1.4cde1121818fep+1 +-0x1.e842a6195ef26p+0 +0x1.a07a37e8d4c71p-1 +0x1.021d6b583a26cp+1 +-0x1.07a6aa47f6bfcp-1 +0x1.684072264d247p+2 +0x1.5a13a33f9ca56p-1 +0x1.e2f9968e2736fp-4 +-0x1.5ffafde92027ep-1 +0x1.b56387a27cf5dp-2 +0x1.7d238029ceef2p-3 +-0x1.61af1bcd2f05ep+0 +0x1.3080ef66979e8p-5 +0x1.2498498f33eaap+1 +-0x1.8907402f60d53p+1 +-0x1.ab41475fcd6bap+1 +-0x1.dfbe17f38637ep-3 +0x1.9308bf9a54849p-2 +0x1.c58a07e377dc5p+1 +0x1.b362b3185f4d7p-1 +0x1.57be103ebaf0cp-3 +0x1.475e48e998936p+6 +-0x1.020ca5691cce5p+2 +0x1.83ec89bb2ce2fp+0 +0x1.b2c4774b4357bp+0 +-0x1.113a09f81fc81p+0 +-0x1.d382c87c16dfap+0 +0x1.7880f4f8ccd14p-1 +0x1.971a035ffe8adp+1 +0x1.0fb77f47421eep+0 +-0x1.9719c92834c47p-2 +0x1.ea1f6d15e40f3p-3 +0x1.32beae2003fcp+1 +-0x1.cf59e5c75346p+0 +0x1.1b29cf0432334p+1 +-0x1.3a8dc761fad7ep+1 +-0x1.9329f7e1e1bb3p+0 +-0x1.da33f91ffa374p-2 +-0x1.6ef64ba5996c6p-1 +0x1.842f2d915181ep+2 +-0x1.52cf3636ba4c8p-3 +0x1.081ab8e481571p-1 +-0x1.a3029d2789b85p+1 +0x1.0dd4a1f66412bp+2 +0x1.342d83659a8dcp-2 +-0x1.365096745d39dp-2 +0x1.f8c280e4e1c84p-1 +0x1.2e34b13041e0ap+1 +0x1.76e0cc85b8289p+1 +0x1.7fc06c4f16dcap+1 +-0x1.1fc0438960659p+1 +-0x1.0ae6fc59bc6d7p+1 +-0x1.2c6562b353152p+0 +-0x1.cc02a394dc81p+0 +0x1.eed6e25dc319dp+1 +-0x1.95d15aed7e55p+1 +-0x1.c9bdba2cce334p+1 +-0x1.1ee18eb070a28p+14 +0x1.059c1493b1ef6p+1 +-0x1.cd3fc1071d3c8p+0 +0x1.6e093b3f895bfp+0 +-0x1.4d1a150d70ee8p+1 +0x1.fbe58bc9bd9d5p-1 +0x1.bc4616bd7691p-1 +0x1.8efeadf3c5833p-3 +-0x1.edf52b2c77c85p+0 +-0x1.c75fde6084728p+1 +-0x1.360ca3a0dd42cp+1 +-0x1.8316aa3769e3dp-1 +-0x1.d60075694fd86p-5 +0x1.69c85b8b8ccc9p+18 +0x1.dcda45212aec6p+0 +-0x1.59edd0fd7a02bp-5 +0x1.4b4d1a28acebep-2 +0x1.334620ecc9621p+1 +-0x1.29ca766a4883p+0 +-0x1.be15557ae10cbp+0 +0x1.ea0c0064d5ceap-1 +-0x1.ce34047bc919dp-1 +0x1.203732a300278p+16 +-0x1.e1bb82cad4ff9p+0 +0x1.ea0ff46f317d1p-4 +0x1.923c71788ea04p-3 +-0x1.4884c29964546p+1 +0x1.152025ce81301p+2 +0x1.d299f4143fefap+0 +0x1.0386c797fbc4ap+2 +0x1.00ec53614e27ep-2 +-0x1.0a6d141458b05p+0 +0x1.0269a3cd98e66p+0 +0x1.5638675db228ep+0 +-0x1.b712ca3109ea6p-2 +0x1.1f2cd3235346cp-2 +0x1.ed4bdf659996fp-3 +-0x1.a29e188bf5bfbp-4 +-0x1.069dc0fb9574p+1 +-0x1.050c8a2ff07b7p+0 +0x1.90271c76cfadbp+1 +0x1.17cf9a8c3dc4dp+0 +-0x1.917ca02a22d06p-1 +0x1.15f860722717bp+2 +0x1.b87e35ebfa349p+1 +0x1.7ae3124b25f2bp-1 +-0x1.c5c72c93c2d11p-3 +-0x1.eb5c14492754fp-1 +0x1.2db7ce4a43852p+2 +0x1.917df786a7411p+1 +0x1.0032d2617d198p+1 +-0x1.c04d5276f8e8cp-2 +-0x1.658aab185625p+1 +-0x1.def7a427fdb86p+0 +0x1.1c1b7ceafc1cfp+17 +-0x1.e29c2e02b1802p+1 +-0x1.3a92f53a6713p+0 +-0x1.01840542c33e8p-1 +-0x1.a1bb461853681p+0 +-0x1.cd19ac4ad8ac9p-1 +-0x1.48b60d36a500bp-1 +-0x1.bd350368ccd79p-2 +-0x1.c46617fb1ff35p+1 +0x1.bf977d521a53fp-2 +0x1.8be50c312178ap+14 +-0x1.a5f1702bdb0aap-2 +-0x1.f0470fd55eb31p+0 +-0x1.49c53a8ddc39cp+0 +0x1.99798da1c025ap-2 +0x1.313ffe4cc3acfp+5 +0x1.91aab55bb0eaep+0 +-0x1.28062a01ab905p+1 +0x1.1d4446fe97038p+13 +-0x1.2aefe0be622c3p+1 +-0x1.53a44ea11ap+1 +0x1.4bc1c9e3b52a2p+18 +0x1.c5d29d4efda5p+1 +0x1.539cceded3db2p-1 +0x1.1d375d18b4865p+2 +-0x1.8e5f2854231c1p+1 +0x1.6b24572e08393p+0 +0x1.734baf685f228p+0 +-0x1.67bef0d5e2905p+0 +0x1.ba7cff5a21287p-2 +0x1.6f2d89e4377d4p-1 +-0x1.4e682d49ff477p+0 +-0x1.866033fc47c63p-3 +-0x1.a8b234d4fa494p+0 +-0x1.5b18f0c015f78p+1 +-0x1.43970bfb824aep+0 +0x1.2cbe71f97c90ap-4 +-0x1.26b7c0e9a8849p+1 +0x1.194518d91bc4p-1 +-0x1.d7ef251bbc71p+0 +0x1.6bd3bdec63b04p+0 +0x1.2d60d5a27c4b2p+1 +0x1.4e2a48b2d5123p-1 +-0x1.9bc7256c883d5p+0 +0x1.6521f84acf6cbp+1 +0x1.3246dc983ab88p-1 +-0x1.80002fd67a625p-1 +-0x1.1678006ca7655p+1 +-0x1.14855f287d8edp+2 +0x1.54ed1bd62c549p+1 +-0x1.2eefa74a088a6p-1 +0x1.97c2d37b17f69p-1 +-0x1.142d7cf3fdc0ap+1 +-0x1.796aa9a04aae8p-3 +0x1.6216e80d285dap-2 +0x1.546bc41c08f8cp+2 +-0x1.998eb2a1f58bep-1 +0x1.25fa8f9db5a5fp+0 +0x1.fc34f5a415d0ap+0 +-0x1.6999cad5dcb1bp+1 +0x1.52bfed0c2067p-1 +0x1.564f1508ad28ep+0 +-0x1.aeeba98923fcap-1 +0x1.99268aa57399dp-4 +-0x1.ee66af8dc006cp-1 +-0x1.1c6a1739b26b2p+0 +0x1.435e7e1a9bc3cp-3 +0x1.76cc2e8e9e5dfp+2 +-0x1.83fc524693dbep-1 +0x1.3abca724520fp+10 +0x1.03605b7977cc8p+0 +0x1.add1e9f1c6cddp-3 +-0x1.12d5618c6b4c6p+1 +-0x1.b48c30fac1824p-1 +0x1.6b3ae30fd52dfp-5 +0x1.173f8478e2863p+2 +-0x1.053674105e53cp+15 +0x1.67d70704a4339p+1 +0x1.46b330f251836p-3 +-0x1.95dc20f6b81b1p-4 +-0x1.fb3325a724a99p-2 +-0x1.d185f66c21c09p+0 +0x1.7f29d578ddf1bp+1 +0x1.404b71c973ecbp+0 +-0x1.d555687577d14p+0 +-0x1.6dfd1cb7643p+1 +-0x1.ec906dcd35ddcp+0 +-0x1.685455d1c3832p+0 +-0x1.fe44a15cfc5f7p-3 +-0x1.ee6b70bd6df8fp+0 +-0x1.762ef989151c9p-2 +0x1.d80ad8139227ap+1 +-0x1.486074c9ef04cp-5 +0x1.0a8cf1332cb4fp+1 +-0x1.216b43a7112cdp+2 +-0x1.5c978b95cc4e3p-5 +0x1.823b307638c3bp+1 +0x1.2b1e8cef932c9p+17 +-0x1.2f51752f28a43p+1 +-0x1.c4b97f5f00b34p+1 +0x1.4b06db80057f5p+0 +0x1.9ac9d7097f697p+1 +-0x1.931d053089075p+10 +-0x1.6a96dfd282c3ep+1 +-0x1.b565071fb2b58p+1 +0x1.03ba242e75589p+0 +-0x1.00f62c2282f9ep+1 +-0x1.29090666ab3e2p+1 +0x1.200271d15e08ap-4 +0x1.02cdd703c372ep+1 +-0x1.c1df0a6cc8eb4p-1 +0x1.62082cc20f3afp+2 +-0x1.38362f1b1b34fp+2 +0x1.05e18b0cb3a7cp+1 +0x1.b4f5170011cf4p+0 +0x1.5d5d25d6e1df5p+0 +-0x1.1bd403a1d726p+1 +0x1.1ed7d1ed1fb16p+1 +-0x1.1229798042813p+6 +0x1.6d2c4ef7f34ebp+14 +0x1.86cc4a0a87f44p+1 +0x1.0faede2b4bb8bp+1 +0x1.ff5697c3be761p+1 +-0x1.94f979bc376afp-1 +0x1.e3ca74f9d7f9dp-1 +-0x1.4e0fbca0be32bp+0 +0x1.4f04d297066c7p+1 +0x1.11836795d306bp+1 +0x1.1cf13582f1318p+0 +0x1.c262bccdc508p+0 +0x1.ec42d07b8599dp+3 +0x1.c7e2aea850175p+1 +0x1.0ea45c7f10e7dp+1 +0x1.70b79bca29c7ep+0 +-0x1.809fab2fa7544p+1 +0x1.073ac8101b9adp+2 +-0x1.00e0b405485b1p+2 +0x1.18653b53eb512p+0 +-0x1.2914dceb8e09dp+0 +0x1.5443d15fb23b1p+1 +0x1.a48fb0c386415p-3 +-0x1.b7f86beff7bbep+0 +0x1.cf689bb62eae4p-1 +-0x1.4df38f690748cp+0 +0x1.3d914834a02dcp+0 +0x1.04d87064f45a9p-2 +0x1.183f8f2241ed6p+1 +0x1.1318240ca5d33p+0 +-0x1.cae47b30d2f23p+1 +-0x1.72a1c2a89d6c9p+0 +-0x1.3d1ec7587c2b8p-6 +-0x1.051fbbde41a39p+1 +-0x1.dd8fcaa8a58f8p-2 +0x1.ac2c57087b80bp+1 +0x1.cf0ef531e025dp-2 +0x1.2a15bb92fdf38p+1 +-0x1.6458baf70503ap-1 +0x1.3dfba059f2546p+1 +0x1.acce48f4e536cp-1 +-0x1.4a6c29779e9acp+0 +0x1.0d65e0dca8388p+1 +-0x1.ef75c3b7f15afp+1 +0x1.8dcdf2b0644fep-1 +-0x1.1aa7e17a289fap+1 +-0x1.d7ae6b7c6814fp-2 +-0x1.dabe9688f81fp-1 +-0x1.42dc805d7da19p-4 +-0x1.e3ff006448c3bp+0 +-0x1.567bcfb46e58ep+1 +0x1.45e4c94adae2p+0 +-0x1.490a684bbfe4ap+1 +-0x1.0f8e1feffa9fdp+1 +0x1.6b87dd6e069a6p-3 +-0x1.948d00f9cf08dp-1 +0x1.2150989caa1b7p+2 +0x1.91ff10e829bb3p+0 +-0x1.1e2c2ca8f9f32p+10 +-0x1.b2697742ba1dap+0 +0x1.9b8ef73ad9ad6p-1 +0x1.4fc9cbea1c7c2p+0 +0x1.ebd0fbc727c25p+6 +0x1.249b54f133818p+1 +-0x1.360a5bac22358p+1 +0x1.6a3caeb79e627p+1 +0x1.08101ea1959cep+2 +-0x1.ecf65cc6cfa57p-2 +0x1.62cada4da3588p-2 +-0x1.06112ee96ed42p+0 +0x1.991d772a8d2fbp+0 +0x1.606adf984b0bdp+1 +-0x1.070713afa5105p-2 +-0x1.562a988502c92p-3 +-0x1.dc5e96eedc33ap+0 +-0x1.83bc2de9bd012p-1 +0x1.5f291c644a389p-5 +0x1.6c1ab3e27c0c7p+0 +0x1.0c56cfcad138ep+1 +-0x1.1316ecb511684p+9 +0x1.0dc78585daa0fp+4 +0x1.9904636bc6218p+0 +0x1.06002bd0dec72p-4 +-0x1.f13c1e5b57d07p-3 +-0x1.180a16bcb1dccp-1 +-0x1.8f8b4d1447b8bp+1 +-0x1.1649f29698c38p+1 +-0x1.97f9eaf9bcfep-1 +-0x1.4fe6172b8e328p+0 +-0x1.943578690eca1p+3 +0x1.10b6023dd5a51p-2 +0x1.60cce6df1eb62p+11 +0x1.f010c517a2d28p+0 +-0x1.18296d17dc06ep-2 +-0x1.3d588b118722dp-2 +-0x1.6d596346c5777p+1 +-0x1.9dca2a23691c5p-1 +0x1.257a95aa902dep+1 +0x1.d69b8a13ddb67p+12 +-0x1.ead32b1ba9fffp+1 +-0x1.47b2d0411b1e5p+1 +-0x1.3195524628d3p+1 +0x1.03d558dacfc7cp+1 +0x1.c00ae24a0a399p+1 +-0x1.8fab24503bdedp-3 +0x1.3549cb20d72cap+1 +0x1.007aa5b57512dp+0 +0x1.457e7acdf9e75p+0 +0x1.18726b7878b02p+0 +0x1.13ddb372b541fp-1 +-0x1.03641de444419p+0 +0x1.4c7beb9dd3e1ep+1 +-0x1.a59091efe7995p-1 +0x1.2641c9b9a248p+0 +0x1.15666195054f1p+2 +-0x1.e0f6fb09b47b1p+1 +0x1.05feeba056108p+2 +0x1.d3c478b55ee92p+17 +-0x1.544059260e467p+0 +0x1.705f558db1f7dp+0 +-0x1.15a24d4098763p+14 +0x1.d1236f695756dp-1 +0x1.6718ed72e9789p+0 +-0x1.57e652ed6513bp+1 +-0x1.79544ea4f842p-1 +-0x1.16d6405fdef62p+1 +-0x1.1ac905b09b513p+1 +-0x1.e85af446ce44cp+0 +0x1.bb11c58573c6p-2 +0x1.7f800df187fbap+0 +0x1.3d5614880365fp+1 +-0x1.cb8fc5ca8d21ap-1 +-0x1.38784b4457b53p+1 +-0x1.4ab4fa9fbd1afp-2 +0x1.88cf0cb50ab3dp+14 +0x1.3dd5b7bc8c944p+0 +-0x1.ffa2151287b0fp-2 +0x1.4761347fdc14fp-1 +0x1.e5787b1dd88eap-1 +-0x1.f9e446149f343p-1 +-0x1.93e5d1509b1fbp-1 +0x1.4357f95694abbp+0 +-0x1.4f73dff8a219dp-1 +0x1.9d7f484a92c38p+1 +-0x1.f46b4b3c263a2p-3 +0x1.4cc1316881981p-2 +0x1.3e01ae737cb7p+1 +-0x1.b8cd7cf1ff021p-1 +0x1.17734bf216319p-2 +-0x1.4d84b67ffcaabp+2 +-0x1.5e3c2bb47e757p-2 +0x1.39600c851451cp+1 +-0x1.d9fed2305c888p+0 +0x1.cf3df0c2e5eaap+0 +0x1.97d41a0ca3461p+1 +0x1.ee4f3d641d617p+0 +0x1.a9ca8bcf867dap+9 +-0x1.89719b5383a4ap-3 +0x1.7a6966035bf8dp-3 +0x1.32364619b25fep+1 +0x1.fa4759e2dbfcfp+3 +-0x1.f26d5d11faa41p+0 +-0x1.32b2cf9dadaf6p+0 +0x1.c7fba542bced9p-5 +-0x1.016d02f024be3p-4 +-0x1.29eb778b5f1f5p-1 +-0x1.0abdf0f18390bp+0 +-0x1.83caee50aa938p+1 +-0x1.e77141958bf48p+1 +-0x1.70baaf4de881dp+11 +-0x1.0b184e359fcfap-3 +-0x1.2f8bb10b82134p+2 +-0x1.b2a8baa6b075dp+0 +0x1.900b1dc896c01p+1 +-0x1.f1c7eb783bc87p-1 +0x1.810201bffae51p-1 +0x1.2c9fc4c95da0cp-2 +-0x1.f03356cbf0643p+1 +-0x1.9fd06ec2498b4p+1 +0x1.9d463e02f1ad9p+1 +-0x1.3acaa99735b4ep+1 +-0x1.6968e52153f5ep+1 +-0x1.b41609afe417ep-5 +-0x1.6b96b28f9427dp+0 +-0x1.50589a38cb2f7p-2 +-0x1.27a8e305df377p+16 +-0x1.2f7d754e1ce8bp+1 +0x1.b05bd3c996b4cp-5 +0x1.40ed048dfc93fp+0 +0x1.228e5dee46cbp+1 +-0x1.112b60b800599p-3 +-0x1.be5892c5db7bbp+0 +-0x1.c6a599688170dp+1 +0x1.a56ef0739cf8ap-1 +0x1.918a5295319fap-2 +0x1.2d04ad130d76bp-1 +0x1.1aa9f2c2a40b8p-1 +0x1.0eb2ac3d285f2p+1 +-0x1.a38a2c4ecdca1p+1 +0x1.c2fa24fe1f397p-1 +0x1.dc9a9b2b0f9b2p+14 +-0x1.171817b49bc5dp+0 +-0x1.38933e07c19e5p+2 +0x1.8107ea37b5a8p+1 +0x1.96ff2b9f8b568p+0 +0x1.188cd6a241b6p-2 +-0x1.31b022aa87c92p-4 +-0x1.2bfef29b4173bp+0 +-0x1.076554cde63e2p+0 +-0x1.4afc23f1f6081p+0 +0x1.1aa983503c1cbp+1 +-0x1.85ce2f3e1f7f1p+1 +0x1.4344d24e08cb4p+5 +-0x1.bf4e26dbf2605p+0 +0x1.b008665f6334ep-1 +-0x1.e448a31afd5a6p+11 +-0x1.5d2f0731d30bp+11 +0x1.6ef53a8f473a9p-3 +-0x1.bdb7c6cdff693p+1 +0x1.5259b3681b3c2p+0 +-0x1.8852afebce82cp+1 +0x1.34bbde45abcbep+7 +0x1.daed1d8af823dp-1 +0x1.2c7a89ce4e75dp+0 +0x1.9331efbee1ac6p+1 +-0x1.55762693b425ep+0 +-0x1.146f9ddba649cp+1 +-0x1.28a0220b89b76p+0 +-0x1.a2228dc88396bp+1 +0x1.0b5b471e53949p+1 +0x1.d73f7ef842bb1p-1 +-0x1.6618801395004p+16 +-0x1.5018e76a96f7dp-1 +-0x1.72153e48a85c2p+1 +0x1.a8f7b18aef778p+1 +-0x1.26c92b28c68c4p-3 +-0x1.3ca7f79f0ebf7p+2 +0x1.0a6c5199633c7p+6 +-0x1.5a8bb9550d5abp+1 +0x1.84ab41a2b7058p-1 +0x1.d44e1b40c1c02p+1 +0x1.dc0de4ed72d9cp+1 +0x1.8750902435eacp-4 +0x1.c435604f3676ep-2 +-0x1.6feb18de7f7d5p+9 +-0x1.3dc2bed23761fp+1 +-0x1.06ed8dfceda2dp+0 +0x1.4d3d6f9bc72f3p-4 +-0x1.dd5742db3a0ffp-1 +0x1.a4ea000dc5ba7p+2 +-0x1.d54bacf73842dp+0 +-0x1.2ce968f482fb6p+1 +-0x1.41ab3d37b935p+0 +0x1.44f8368412ce3p-8 +0x1.5161949935c9dp+0 +-0x1.a7bbf8b575ebap+0 +-0x1.217621dece826p+2 +-0x1.9fdd64aeaf543p+0 +0x1.42b617e0c497cp-8 +0x1.ad52dd1410743p-1 +-0x1.a0565df383012p+1 +-0x1.64508925d269dp+0 +0x1.1b6745e6f4f97p+5 +-0x1.7d311b3642bf1p+0 +-0x1.5ddfba14e4874p+1 +0x1.c135f98268459p-3 +0x1.014789d4d5b91p-3 +-0x1.3333aa531c637p+1 +-0x1.4496a147c57bep+1 +-0x1.711ea5c8459cfp+1 +-0x1.755ebf41299fep-9 +0x1.1ac203cb9a283p-7 +-0x1.d88bd3db0c512p-2 +0x1.6dce50ae40243p+0 +-0x1.16dc0ba1a1b9cp+2 +-0x1.27c77b5832043p-3 +-0x1.906e9ee874a68p-2 +0x1.18e9b7af28258p-5 +-0x1.2e8c2cc1bde9ep+1 +-0x1.5344973c301a4p+12 +-0x1.2c24ba980caccp+0 +-0x1.ac2c6d05084c6p-1 +-0x1.d221a59706b64p+1 +0x1.d71f27a76ca22p-1 +-0x1.630a7a3c19d39p-3 +0x1.5cb6bb7f70728p+1 +-0x1.4d706e630a0a9p+0 +-0x1.81db16b8bbe4bp+1 +0x1.1d45ebf7ed30fp+0 +-0x1.bbd30311345ebp+0 +0x1.692925c1296e1p+0 +0x1.a623ad0818d59p-3 +-0x1.080955c97a89fp-1 +-0x1.8c6be3f7c945dp+1 +-0x1.b92f87fae57d7p-3 +-0x1.4ef9f21574415p+1 +0x1.67160ab935358p+1 +-0x1.69579103ab5ap+2 +-0x1.1247dde581545p+1 +-0x1.811d5c8f9ed98p+18 +0x1.d43b42181b948p+1 +0x1.2248fd038ed27p+1 +0x1.36f160e4d900bp-5 +-0x1.62a91991c2c58p+1 +0x1.c5cf2fd192635p+0 +-0x1.df6c8c4890602p+0 +-0x1.f943ab203a248p-2 +0x1.51a9cae8a92e7p+0 +-0x1.9108faadd1115p+0 +0x1.fe48626444ba7p-1 +-0x1.04ffeff608392p-1 +-0x1.d641c76db1ed5p-5 +-0x1.f9d3d67006a29p-2 +-0x1.ee62951aa7adap-2 +-0x1.94a685436df4fp-1 +0x1.a7c51685d902ap+0 +0x1.c77d639e0a4c4p+7 +0x1.86dca3bd4a44dp-2 +0x1.38018c0f0dd66p+0 +-0x1.ba117f24df0d6p+1 +0x1.fc074a6f6f58fp-1 +0x1.0ea0d742122b1p+1 +-0x1.0efba5c1fc1c3p-1 +-0x1.17c456c750bdep+0 +-0x1.596f727d34937p-2 +-0x1.392248d1593e7p+1 +0x1.5122e040be88dp+1 +0x1.f0ef80ba50badp-2 +0x1.a123c94296921p+6 +-0x1.f4b12dad2c6bap+0 +-0x1.c8731904ec173p+0 +0x1.31dd6880cacc1p+1 +-0x1.a303a38f85806p-6 +0x1.4e86c85a84015p+1 +0x1.1a56ee1a74cf5p+1 +-0x1.7238cdb89a0ecp+1 +0x1.83510cc9c4ca6p+0 +0x1.3295391e3ccc8p-1 +-0x1.e298a4b310a7dp-2 +0x1.cc723844fe461p-3 +-0x1.0944042fcdae5p-1 +0x1.11645985610c2p-1 +0x1.fbafb2c408d9bp-1 +-0x1.41c7fc60f528ep+7 +-0x1.e33700bf04184p+1 +0x1.04b9886745e6cp+0 +0x1.a4e32dd308aaep+1 +-0x1.6e6b6cf96e783p-1 +-0x1.10709c498307fp+1 +-0x1.48d7f5441c754p+1 +-0x1.cc1443515a649p+1 +0x1.87c2e092a68f2p-1 +0x1.cb2c20b529bd2p+0 +-0x1.c6295d9c09c8fp+1 +-0x1.218ee2ad1f934p+0 +-0x1.6d731d64e8385p+11 +-0x1.8e065f9328dedp+3 +-0x1.9e64f73c00f78p+1 +0x1.9993699c101f6p+1 +-0x1.5862d69ff8b63p+2 +-0x1.b02166526d156p-1 +-0x1.99317ff87b5fdp-4 +-0x1.e066f612bc266p-1 +-0x1.620d20414e49cp-1 +-0x1.2d339cd08c6c2p+0 +-0x1.8d62f9a0a665p+1 +-0x1.00e289dfb31b2p+2 +-0x1.228055a6a4263p+0 +0x1.650beb9e3d905p+0 +0x1.add9cd3d9ab09p+0 +0x1.9233fff8d7297p+1 +0x1.67b7df39fb785p+0 +0x1.25eda2ab51b3cp+1 +-0x1.5a3b453f1c202p-3 +-0x1.5c45bc7aaa9f8p-2 +0x1.627c976c3806p-3 +0x1.6a81ed75eb061p+1 +0x1.8da70950ee823p-2 +-0x1.26483a4938c57p-2 +0x1.613d813ba8986p-1 +-0x1.ae35d513ca5f7p+1 +-0x1.d0244cd27dcb5p-2 +-0x1.d76601980934ep+0 +-0x1.5802e7afdce4bp+1 +0x1.5ea6b8ea7aeaap+2 +-0x1.2cbb80231a5bdp+1 +-0x1.219d9c5476f19p+0 +-0x1.86f4a461f7183p+0 +0x1.be4ac582a64adp+0 +-0x1.9f4dc59eee9a1p+0 +-0x1.0ce498d843fcap-2 +-0x1.2710c9e168fc7p+1 +0x1.d7f33124db819p-1 +0x1.ea8f9a6ce2108p-1 +0x1.bbbb082dd7912p+0 +-0x1.da4783a22c493p+0 +-0x1.8815ce2d8ab57p+2 +0x1.9fcc20ac806ap+1 +-0x1.59a32f3adc7d6p+1 +-0x1.9f049ccdf0f36p-3 +0x1.4b15aa442cf6ap+0 +-0x1.2b1f28a5f0c56p+2 +-0x1.a43ecae5118d3p+1 +-0x1.05965bac75f9ep+1 +0x1.6fa45ec356479p+1 +-0x1.e90b1aed4219bp+0 +-0x1.a6fa422911babp+0 +-0x1.45452675327bap+0 +0x1.078a8c92bb3f6p+2 +-0x1.fe4f1ddb08991p+0 +0x1.032e9e1ab8d8ap+0 +0x1.5afe8ae2ed933p-1 +-0x1.54094b3d1d351p+0 +0x1.8124ccdc8b1dep+0 +0x1.80e3387dbf33ep-3 +-0x1.45ae5838cae14p-4 +-0x1.44c5524e9199fp+0 +0x1.9542f3a4aad91p-1 +0x1.9432234e9523cp+1 +0x1.9edd1a45088a7p-1 +-0x1.61b20106e07e7p+1 +0x1.cabf4bc48e766p-1 +-0x1.e190cef90b975p-2 +0x1.15f088c9dee53p+1 +0x1.600cf449c655bp+1 +0x1.277e065bba117p+0 +0x1.036adc016984p+1 +-0x1.069f9332656bp-2 +-0x1.1d4d017e0bb04p+1 +-0x1.7b7f405695c51p+0 +-0x1.20c723a0775f8p+2 +-0x1.584b227ece41fp+1 +-0x1.06c720075dfbcp-3 +-0x1.0c2c58b30e777p-1 +0x1.e06db604402a6p+15 +0x1.28c14532ff71dp+0 +-0x1.4304cfb4ee3fap+1 +-0x1.92768f948ca29p-1 +0x1.888d25b454406p+0 +-0x1.5b45b8abd51ddp+4 +0x1.bfd58c915e16p-2 +-0x1.806ce03cc8937p+1 +0x1.a8d27a017705p+0 +-0x1.7db2d7d5d67cap-1 +-0x1.07b6f0960e7e5p-5 +0x1.1770ffb2d5a9fp+0 +0x1.b17e69ae8c5c7p-2 +0x1.29cda0ba82a5fp+1 +-0x1.2727a4d20f7acp-1 +0x1.cdd90e580cb64p-3 +0x1.dd3db00a3ab54p+0 +-0x1.4d5f4deac6a91p+2 +-0x1.8777d294a4417p-2 +0x1.3683c7f7a18d9p-2 +0x1.18abee9edaa09p+0 +-0x1.6a2fb5cdd4f1cp+0 +0x1.9c9940c028163p-1 +-0x1.dd0cd1cbf4055p+0 +-0x1.89bb8306ab329p+1 +-0x1.450dad2d8f94dp+0 +0x1.1db3aa5b159edp+0 +-0x1.5253d572bc726p+1 +-0x1.773fcb321e9cbp+2 +-0x1.44725d7ff6097p-2 +-0x1.85e30556f955ep+0 +-0x1.248a4c31090aep+1 +0x1.07cac3c199f5dp+2 +0x1.606b66d295891p+0 +-0x1.d480710e94e67p-1 +0x1.80ae080c769c4p+2 +-0x1.cebdec7b54244p+2 +0x1.7771ade61cb3ap+3 +-0x1.f1d0712d40a5fp+0 +0x1.582ebfb1db49ep-1 +-0x1.22fa577c0d992p+1 +0x1.48609b81273cep+18 +0x1.b3b695c6d9312p+0 +0x1.26d7b544813f8p-4 +0x1.76144c7f3e9c9p+0 +-0x1.713bb60020a74p+2 +-0x1.4fbc6dd06a89dp+0 +0x1.c7934d638dcfbp+1 +-0x1.e43557f49d971p+1 +-0x1.3214ec5bce878p+0 +-0x1.bed3d74a1bcc7p+13 +0x1.ff5b86f5f418dp-3 +0x1.0b2b6fd4700bfp+1 +0x1.335c9b4b704a1p+1 +-0x1.953d5601ce38ap-2 +0x1.8d2b9230bb05ap-2 +0x1.bae885e362688p+1 +0x1.167fdf81407f1p-1 +0x1.67f5be8615cd6p-1 +0x1.8e2d59aae1a1fp+1 +0x1.8bd951caf5e93p+1 +0x1.0c35b1c4aa6d2p-1 +-0x1.07462d8006abfp+1 +-0x1.b8bbb7e3041aep+10 +-0x1.7b041fd969e89p-3 +-0x1.6584df2c6a83p-1 +0x1.1dfed4759bebfp-2 +-0x1.ba50d2f6110b5p-1 +0x1.e29c9b31d6da9p+0 +0x1.92f14e8f3825dp-1 +-0x1.39170d6424af2p-1 +-0x1.8693d0848429p+0 +0x1.2dbb1cf932fbcp+1 +-0x1.5db2b85add1fap-4 +0x1.9b7c2b7325996p+16 +0x1.0d42dd874a541p+11 +-0x1.1fb8948aada04p+0 +0x1.9b7cc9e5a6543p+1 +-0x1.1a63dc7e4365bp+2 +-0x1.749e9e07207dcp+14 +0x1.355975dde6432p+0 +-0x1.6d0ef1ac850cap+1 +0x1.2fc69baef4bc7p+1 +-0x1.3de7429d92309p+1 +-0x1.724510ec1c591p+1 +-0x1.9e1fc2e664119p-6 +-0x1.d52816671f386p+0 +-0x1.0f42693ff74a3p+2 +-0x1.75a2d194c5a85p-1 +0x1.cb7f68e18e1e2p-2 +0x1.42f5137b18545p+8 +-0x1.5d41216926114p+15 +-0x1.271f4b5fe7d3fp+0 +-0x1.de4e40a256dd8p-1 +0x1.84feedc5af2bbp+1 +-0x1.4bf82fb3ead1ep-1 +-0x1.70a0cd62c573ep+1 +-0x1.82e93235056fdp+0 +0x1.7764c214387f1p+12 +-0x1.7edcd2ce0a612p+1 +0x1.7ba93d78b8892p+1 +-0x1.1cc26bc13a5d9p+1 +-0x1.a41ef73fc2cf5p+2 +0x1.c9e901ebf5e59p-1 +0x1.1e397077089e2p+1 +0x1.2d37a44f20273p+2 +-0x1.7bdd6101a46aap-3 +-0x1.02b03a4e72829p+2 +0x1.c7e03f970cac9p+1 +-0x1.c7c1a18d695d6p-6 +-0x1.86dd5d300bbb8p+1 +-0x1.07e13c61106f4p+10 +0x1.0b6f2199f585dp+0 +-0x1.a5b24e12c12d4p+2 +0x1.8f9b31e7901fep+0 +0x1.3f1eed0029f6bp+1 +-0x1.79bb443b4eadep-5 +0x1.405df0d73ed41p+1 +0x1.7810fe8736698p+1 +0x1.59039de6db6f5p+1 +-0x1.533b7d6f0b6d9p+0 +-0x1.847b9b9724aecp+1 +0x1.90b913592293p+1 +0x1.0f69311ef4321p+1 +-0x1.7e3a5ab032d3fp+0 +0x1.0a82d107c99e6p+1 +0x1.7dae4a58dc425p-2 +0x1.fa8bb34544995p-1 +0x1.2ae800ff7859ep-3 +-0x1.a4ebb42664509p+0 +0x1.334a7b3b9079p+0 +0x1.8ca71903ee2c6p+1 +0x1.482d30411e283p-2 +-0x1.30929e5c373afp+0 +-0x1.80e35ef1ddd1cp+0 +0x1.03de4f29aff05p+2 +0x1.d4c766c560fe2p-12 +0x1.138c14bbb535fp+2 +0x1.7f977d5fbb75ep-1 +-0x1.0d82df5123a9p-1 +0x1.8771f6a03a6c8p-1 +-0x1.a59fc737d5559p+0 +-0x1.5acebe13f11f2p+2 +0x1.943dbd4ff2cdbp+0 +-0x1.6b5f6879ec61fp-1 +-0x1.116521d4a3d8cp+0 +0x1.a468ebf0357cbp-4 +-0x1.4413d5ee9f75cp-3 +0x1.b61754ae0c6dbp+0 +-0x1.3d363813cc4bfp+2 +0x1.307a9ff77cb2ep+0 +-0x1.f0e5671c3f121p-1 +-0x1.2c479457e9901p+0 +-0x1.b2cdd85777a17p+0 +0x1.a5a8cea93441cp+0 +0x1.012dd5417ebabp+0 +-0x1.4cc769bfb028ep+4 +0x1.9b817a66f1ep-2 +0x1.74c2d0e5fe57ep+5 +-0x1.a4ad2f1d303ebp+0 +0x1.e40b96b32e14cp-3 +-0x1.6330bd8e98ee5p+1 +0x1.af60dfb24d146p+0 +-0x1.3cc6919e04d7fp+1 +0x1.138621dd3ee7bp-1 +-0x1.0584f7f7702bcp-1 +0x1.1d624564810eep+0 +0x1.d5e8c33252f5bp+0 +-0x1.e79711bed5f0dp+0 +0x1.ad973178b1426p+0 +0x1.9697c6ba07269p+0 +-0x1.e3f9c8732e0b1p-5 +-0x1.3857de1848774p+15 +-0x1.dea8cfcd209e8p-2 +0x1.4ec636bf19b65p+1 +-0x1.5f8228514bf1p+0 +-0x1.e8ac199e70757p-2 +0x1.1d46793e9bc24p-1 +-0x1.9bd877905a45dp-4 +0x1.1f0e932aa1f75p+1 +-0x1.8da4c38735d1dp+0 +-0x1.1bd46912e03d1p+2 +-0x1.9cbb3581dd141p-1 +0x1.764c244b1fbd4p+0 +-0x1.804129f83c132p+1 +0x1.50b8fdace7555p+0 +-0x1.3abb0f029c82ap+11 +-0x1.3927d950b678cp-5 +-0x1.fc76e9cb416dcp+0 +0x1.8404e50aa6706p-2 +-0x1.62dd116f737cap-3 +0x1.85ad4467fad4bp-1 +-0x1.3706e9dfddadep+5 +0x1.04ae111ec9334p+2 +-0x1.817e4aca94532p+0 +-0x1.41fe3c74f27bep+0 +-0x1.87ea268053578p+0 +0x1.49d825e0468efp-1 +0x1.94c503adb4006p-3 +-0x1.936702f764919p-5 +-0x1.5e0853f89b32cp+1 +0x1.7526e455cfdbbp+0 +0x1.3c73d327cd48bp+0 +-0x1.44c8d837b29a1p+0 +0x1.aa17b59627509p+1 +-0x1.abbbf47e732f2p-1 +-0x1.935e2bc1cbeep+0 +0x1.fbf9979b2d0f4p+1 +-0x1.460f65c411d4dp+0 +0x1.99d664784b077p-1 +-0x1.9ad50578ec066p+1 +0x1.65a630bae65f1p-4 +-0x1.217738a493baap+8 +0x1.5c25b7a3b86c2p-1 +0x1.75acf69793aaap+1 +-0x1.030ebc93315eap+0 +0x1.638e1deadeb17p+1 +0x1.7a1329148d092p-1 +-0x1.6ad65c0b2c245p-1 +-0x1.8b3d6bf9c738p-1 +-0x1.42b03fb911a6dp-1 +-0x1.7c9dfd892282cp+0 +-0x1.4cfbf80963feep+0 +-0x1.2efc81228d25bp+2 +0x1.b9edf9e537835p+1 +0x1.316b06a745f7p+10 +0x1.68ff7b5b723c9p+1 +0x1.f863ad7b8b45fp-1 +-0x1.276971410e109p-1 +-0x1.b80c5e6a003fep+0 +-0x1.1d73ed291042cp-1 +0x1.1d386d2fd05fcp+2 +-0x1.15e4f32e4a988p+0 +-0x1.5f5f7c2005e5cp+0 +-0x1.5abed1dee36cdp+14 +-0x1.e62d7e4f2ca86p+0 +-0x1.18a5af28df732p+15 +0x1.06a988b531ee4p+1 +0x1.e77977b8a24f8p+0 +-0x1.35eb76ff60099p+1 +0x1.ab449af02ed85p+5 +-0x1.c2e0b70da69f8p-1 +-0x1.0b5683b777f5cp-1 +0x1.d50fef3819d9ap-3 +0x1.007b53c1185c4p+0 +-0x1.d7f8b998ae332p-2 +0x1.1e4003db8fb25p+0 +0x1.cf7be185bcb6ep-2 +-0x1.edec2941d3352p+0 +0x1.2787ee2e37515p+0 +-0x1.2666b45288f7dp+6 +0x1.c54666f50359fp+1 +0x1.c928236f8eccap+0 +0x1.fac138c482b82p+7 +-0x1.2078753895831p+11 +-0x1.23fce40339614p-1 +-0x1.17b1cc8a06676p+1 +-0x1.5bafd28e8555ep+1 +-0x1.257704869c35p+0 +0x1.a2fd4088af239p-1 +-0x1.21a3c269b219p-1 +0x1.8d04fd46b222fp-3 +-0x1.15f8bcc92025ap+9 +0x1.74be2914f06f8p+1 +0x1.883d9f31cac0dp+1 +-0x1.cbf05f27a32e7p-5 +-0x1.b69ba86752555p-2 +0x1.0f1fa7644ef84p+13 +0x1.911ead184ce73p+0 +0x1.f58ab54620487p-1 +0x1.6b1ecd10a0655p+1 +-0x1.91bbfc4618d2dp+0 +0x1.e99e7a237977bp+1 +-0x1.5bbe7a3740dbdp+0 +-0x1.8155945219cddp+0 +0x1.0538f059db14fp-4 +-0x1.d823ec71c5517p+0 +0x1.a7811eceac387p+0 +-0x1.37a6059e2e06ep+1 +-0x1.14bb9e44957f4p-1 +0x1.2298d6092512cp-2 +0x1.5d9d619500a72p+0 +0x1.985deed076b0ap+0 +-0x1.0b836aa598b3bp+0 +-0x1.e1af80d40b7a2p+1 +-0x1.a0a2902844a56p+0 +0x1.5ed4c68b9a0e2p+1 +-0x1.4f571fde7a502p+0 +0x1.880169a8f90b9p+1 +0x1.ce82e7c8cc62ep+0 +0x1.7868e81af2fbbp+1 +-0x1.8259681e6bf3bp+0 +-0x1.2dfec1f21f17dp-1 +0x1.86b9d349f1f7ap+0 +0x1.b2fe346f299f7p+1 +-0x1.b9a9d62c39d7ap-3 +0x1.048f2e5a2ee22p-5 +-0x1.cdb44cb109cbfp+0 +-0x1.40301ef2451e8p-3 +-0x1.6cb2e1d010d6cp-1 +-0x1.625cce8b1d24ep+0 +-0x1.bdaf8a4fb4176p+1 +-0x1.4987d79247be9p+0 +0x1.59c56f347cb8fp+0 +-0x1.77e1d67d5cf93p-1 +-0x1.6b0ae4ccc749p-1 +-0x1.542d83c758a2dp+1 +0x1.489b39a9be0c3p+0 +-0x1.0b041d8917ea4p+11 +0x1.06dbdbf5b2cf4p+5 +0x1.46ab056e23ee6p-1 +-0x1.d95bf17c22d4ep+0 +0x1.491ba51228373p+1 +-0x1.47e0249221c91p+1 +0x1.2c4401fc369b3p+2 +0x1.736228688cd9fp+1 +0x1.aed0eef6bca7ap+0 +0x1.f01eb78f1c947p+1 +0x1.e8ceaaf1d61f4p-4 +-0x1.6b73148d129f2p+1 +-0x1.9d3b50c5fccaep+0 +-0x1.4ae64744a49acp+13 +0x1.0f902581cdeecp-1 +-0x1.031e03229c7dap+1 +-0x1.077e4afd485ecp+1 +-0x1.f5757f88443d5p+1 +0x1.697cdcedd386p-2 +-0x1.65d80c954f8dfp-1 +-0x1.2d790bf71cdf5p+0 +-0x1.72e499d922a73p+0 +-0x1.3e615f76b8d66p+0 +-0x1.1609e466783a9p+1 +-0x1.b5736133f5178p-2 +-0x1.8fcda61ef5422p-2 +0x1.6bf0a413b4227p+0 +0x1.ad48c26abc31bp-1 +-0x1.89035760cc5d4p+1 +-0x1.cdc0fec1e70a2p-3 +-0x1.3a55749d25773p+0 +-0x1.74e31387c3413p+0 +-0x1.b916e76fe9e14p+1 +-0x1.ec6557bc89b42p-6 +0x1.853ae7e3ae322p+17 +-0x1.f96ce82f9a23ap+1 +-0x1.f7c0e59ea98cbp-2 +0x1.8e1d47f2b0d11p-2 +-0x1.6ff71534123ddp+0 +0x1.2dcc40f07d9e2p+8 +0x1.a0d77d2421cc6p-5 +-0x1.2015fdadbe2dap+2 +-0x1.8da669ffe6478p-3 +-0x1.159efd82250bp+1 +-0x1.1a5f287427336p+0 +-0x1.af5ae1b53176dp+0 +-0x1.6c15ffe994f45p-1 +-0x1.079bbda12c0ddp+0 +-0x1.6a98d3e71972dp+0 +0x1.09ea738050476p+0 +0x1.ecfe0b6ad313p-1 +0x1.f8472c0d8233fp-1 +0x1.a4ef60e8d4b68p-1 +-0x1.81239f23394e7p+0 +0x1.5387fc6c4af86p+0 +-0x1.80dc1ca4a928bp+0 +0x1.50ab5ca3ea361p-1 +0x1.35217dc436286p+10 +-0x1.524fd49a02b4dp-2 +0x1.44580cdfe28b4p+0 +0x1.bcf5e5773b864p+0 +-0x1.ec2f51ca5af3bp+0 +-0x1.d881ce2ed8b85p-3 +0x1.5588c6aa8d88dp+1 +0x1.1d1f20f1c3adcp+8 +-0x1.228f88018b8a6p-4 +-0x1.4fea718f01536p-3 +0x1.59f8ca7f88282p-4 +0x1.cbdcf49250f0dp-3 +0x1.436a9005dfb31p-1 +0x1.f92abc9df294fp+0 +-0x1.a8b95ed78f2f1p-1 +-0x1.83ff63ccd829dp+0 +0x1.de453ec5656f7p-2 +-0x1.70b985d772324p+0 +0x1.da1c68b1e52a8p+1 +0x1.21b5b351f7031p+1 +0x1.d21279e0fc85ap+1 +0x1.83719c6502f7bp+0 +-0x1.a4349c6c28813p+0 +0x1.b878b8dea066dp+1 +0x1.6a370d48dd1c2p-1 +-0x1.118e53475e617p+1 +-0x1.3df8b525efb55p-1 +0x1.8a50137aad3a1p+1 +0x1.df36ee2d5232fp-2 +0x1.8bdbe25c8524p-3 +0x1.9a65a34f42815p+0 +-0x1.7f250f8677549p-1 +-0x1.3b1f20fce5035p+0 +-0x1.345fb24859892p-1 +-0x1.75771df423c34p-1 +-0x1.20aeefd392702p+11 +-0x1.ec1425f94a20ep-2 +0x1.c4f345511c799p+1 +-0x1.4b57df27e2e16p+0 +0x1.ffb66f39f050ep+0 +-0x1.01df0e2e1370ap+0 +-0x1.15df9373eb255p+1 +-0x1.a170f6275370cp+0 +-0x1.d992df955bd78p-2 +-0x1.2baf74b4af21dp+0 +0x1.a851867b7bec4p-1 +0x1.abcea7391c221p-1 +0x1.ab7cbadc985d2p+1 +0x1.42e6993b29453p-2 +-0x1.9d0814a6f5355p+1 +-0x1.0b9937ed5dfdbp+0 +-0x1.883ed846f7f8ep+9 +-0x1.b699f07b3e6afp-5 +0x1.bb03a45c278c5p-1 +0x1.2fb4ae9f919aep+0 +0x1.03cfa4f8455d4p+2 +-0x1.abf1b8deb489bp-3 +0x1.6139768ab5a8ap+2 +0x1.dd26183cd036p+0 +0x1.2750767d3e886p-1 +-0x1.84c575669a912p-6 +0x1.7042a2d1aca1fp-2 +0x1.c82e9181f6fd2p-1 +-0x1.a57da927cfc94p-1 +0x1.66a4dea06db8ep+1 +0x1.c6a3991cf0e3bp-4 +0x1.29cfbc67c29e1p+1 +0x1.89c30998f7df7p-1 +-0x1.762f1d6d9e00ap+0 +0x1.bfb28f77e3cdap+1 +0x1.8229eba6897e4p-3 +0x1.fab965093334ep-2 +0x1.88906093f6f04p+1 +-0x1.db54dc9532723p+0 +-0x1.21161a538052dp-1 +0x1.6df6d1ac551fcp+1 +0x1.0259a7aea2fccp-1 +0x1.7c3ad6be59623p+1 +0x1.6422f775e1093p-3 +0x1.9b091f364ac5fp-2 +-0x1.f7db5e4baba78p+16 +-0x1.70ed1242b15ccp+0 +-0x1.25d4f9e7e27a2p+2 +0x1.5d7ff0337fb2ap+1 +0x1.9a3d97b4c6118p+1 +-0x1.5a1b0d36eca0ap+6 +0x1.a7281131d4703p-4 +-0x1.eba0bf59937c5p+1 +0x1.a5e5f6b6ddd88p-1 +-0x1.7288a0a98efa4p+0 +-0x1.8935c9fdc3c05p+0 +-0x1.2a829bbcb2cbap+1 +-0x1.48ebdcb83f7e7p+0 +0x1.5419fc820b9a9p+1 +-0x1.50327d1d01e1cp+0 +0x1.5e3d5ca372cd8p+0 +0x1.0d9ddaeda3c4cp+2 +0x1.82002edebb429p-6 +-0x1.812469be3e86dp-1 +0x1.1ded0123d4cc8p+1 +-0x1.f34346b7b219ap-2 +0x1.61f2055687765p+1 +0x1.39cca64743a75p-1 +-0x1.8a8c7a3787394p-3 +-0x1.e29c8718a1038p-1 +0x1.361953a7a22f5p-1 +0x1.17da7b2ab71d9p+0 +0x1.18ca0f33001p-4 +-0x1.6b72879fb1d94p+0 +0x1.56ccbdbc476dbp-5 +0x1.73c6412270476p-3 +0x1.87c68be809854p+0 +0x1.d69c54d0ae8efp+0 +-0x1.726e5386cbf5ep+0 +0x1.4db07670f6b3ap+0 +-0x1.43661ca814c54p+2 +-0x1.0a6bca180b2cbp+1 +-0x1.27820f879c184p+1 +0x1.ca9d5c5bfe4f2p-4 +0x1.290ac30cdc193p-3 +0x1.f61eb949b18d3p+1 +-0x1.1584d05d0a96ap+0 +0x1.0b8bf2229fe88p+1 +-0x1.51998f4724bcfp+0 +-0x1.27aad299465acp+3 +0x1.e7b494d60d128p-1 +0x1.0c48212f9d7d5p-5 +-0x1.165632366a642p-4 +0x1.f02bc2261e6p-2 +0x1.35c695c54324cp+0 +0x1.da738a1ef263ap-3 +0x1.8e148329ce957p+0 +-0x1.23fb1e71b470dp+1 +-0x1.917d253d56628p-4 +0x1.a732ce8745798p+2 +-0x1.d5274779de14fp+1 +-0x1.6140d1bcfa57ap+1 +0x1.d8ab79716e0f7p+0 +0x1.69a984068e617p-2 +-0x1.b993494c289a7p-2 +-0x1.b84750ff20e86p+0 +0x1.48c177c8aca89p+0 +-0x1.445f818422a59p+1 +-0x1.4122d8dea6a43p+1 +-0x1.f0fc999efb4aap-1 +-0x1.15642cc3c862ap+1 +-0x1.276fb26de60e9p-1 +0x1.1ec51bc9a97bap-1 +0x1.3d61d3a09b77fp+0 +0x1.f9cd816fd14fep+0 +0x1.cef99ebfe42b3p+1 +-0x1.bd5bba461b12cp+0 +0x1.416067dd0409fp+1 +0x1.1502592e972a1p+1 +-0x1.934af108629a1p+1 +0x1.e2761e34d6f1p+1 +0x1.c5012d584de9fp+0 +-0x1.77978719926fep+0 +-0x1.1d26cb45855bcp+0 +-0x1.eb282fdc323b2p-2 +0x1.90275788d474fp+6 +-0x1.c882616c0724ep+0 +0x1.fd0406443607fp+1 +-0x1.3ac283c5bcf6fp+1 +0x1.ba5eed72a9ddp-1 +0x1.69e161b1c4069p-1 +-0x1.6d72c573c240ap+0 +0x1.bbf7f991509bp+0 +0x1.82e235c879fcap-7 +0x1.2d96702365145p+0 +0x1.215bea1d8d972p+0 +-0x1.7997172e853bfp+1 +0x1.1937cb1949233p+18 +0x1.2b76bc19872a5p+0 +0x1.e87f010895ff8p-1 +-0x1.66b791a63137ap+1 +0x1.380f5b2505ad7p-7 +0x1.365817673d7f7p-1 +-0x1.67eaed7f37d86p-1 +-0x1.09e25af5d71aep+2 +-0x1.2241b2dd69a7p+0 +-0x1.6e04df20ee7f6p+0 +-0x1.6d46eb9efce49p+16 +0x1.73f76c0fdffc5p+12 +0x1.d0ade40208be6p+0 +0x1.78507db603478p-1 +0x1.5fdd6ff3a3c16p-1 +-0x1.a40adcf265112p+0 +-0x1.9a4965d24107ap-1 +-0x1.0087030c13e29p-2 +-0x1.9050f6f41c4ddp-1 +0x1.9010a2e637bc7p+0 +0x1.113376a83e2c6p+0 +0x1.4a4de4a4f3f5p+0 +-0x1.51fcce431742p+0 +0x1.6282901a8acecp+1 +0x1.6932bf1850aeap+12 +0x1.901b0800bc9dfp-3 +0x1.ab8c84d120068p+1 +0x1.71856954bcd35p+15 +-0x1.c1d5dd885f78cp+1 +0x1.204095599060ep-1 +-0x1.779b54f02edc9p+1 +0x1.bf37cc8fe010ep+5 +-0x1.20ab35abb8787p+0 +-0x1.04970708d0fe5p+1 +-0x1.29b567146b4e8p+0 +-0x1.d35c076e911bp-2 +-0x1.aca8dd766452ap+1 +0x1.50a41f3b44575p+0 +0x1.dbbcc5a5d0df9p+0 +0x1.2c63a0d55602bp+0 +0x1.ff52828b187e8p-3 +-0x1.27ad28fb498b1p-8 +-0x1.63b807193b23dp+2 +0x1.f0119929f101fp-1 +-0x1.43fe26caa94e4p+0 +-0x1.0cfe307425a53p+1 +-0x1.61f8fd45862b2p+0 +0x1.ce5dc065eb64dp+0 +-0x1.06ca413e53bf9p+6 +0x1.ffa1bcc97ea3ep+0 +-0x1.c801293111172p+0 +-0x1.1e7d796eeaec5p+1 +-0x1.2f748cfbc86e7p+0 +0x1.3e88e2104eb8fp-4 +0x1.8f8bc03ea8a77p+1 +-0x1.1cff7307d5862p+2 +0x1.33c240e05d236p+0 +-0x1.f3fd37550fb15p+0 +0x1.5460460453fe5p+1 +-0x1.13ae63d5081bdp+0 +0x1.c8a557e518029p+0 +0x1.a6e45f4e9a6b6p-2 +0x1.07ed1a2a897adp+2 +-0x1.44802d73dbd92p+5 +-0x1.5e7ca85f0362cp+0 +-0x1.e68c399dd7828p+1 +0x1.d7c9f445e5a24p-2 +0x1.ee68d40735504p-2 +-0x1.52875d7fd4576p+1 +-0x1.d91c369f9388bp+1 +0x1.2b72db14cc6f6p+2 +0x1.d0c789fca360bp-1 +0x1.97c690165469dp+1 +0x1.67d404afb5792p+1 +-0x1.b4cdb39547973p-3 +-0x1.ed74867a6604dp-1 +0x1.5adacd4f6b1d7p+1 +0x1.7fdec551fc6dp+0 +0x1.9f462dff9efa5p-2 +-0x1.fdf4e38d3f18dp-2 +-0x1.b7c4b7dbb18a8p+0 +0x1.0e3b079e53d7bp+0 +-0x1.5d2e083cdb2ap+1 +0x1.0cc27d64a7d43p-1 +-0x1.37e81213f4e0fp-1 +-0x1.5a43d413f83bap+0 +-0x1.314f136d93effp-1 +0x1.064053ce7a0afp+1 +0x1.0d29210c02d7bp-1 +-0x1.a6260c58046edp+1 +0x1.c090bdd3a536fp-1 +0x1.8c59cb4a3224p+1 +-0x1.797c7dad0012fp+1 +-0x1.495eff731233cp-1 +-0x1.200c6a13ea9b9p+16 +-0x1.7ace45bdacdf7p-2 +0x1.5e57461216e1bp-3 +0x1.99a99694f9534p+0 +-0x1.64f4d39d571f8p-1 +0x1.5b2ce91d1aef2p-2 +-0x1.afae6b5b46062p-4 +0x1.2298ead5390f4p+19 +0x1.76212d58b40c7p-2 +0x1.1e35a985b8e18p-1 +-0x1.2d2b34d13b5f9p-1 +-0x1.74477a02ec0bdp-1 +-0x1.da68da140e825p+0 +-0x1.c28a73a3106bep+1 +-0x1.cf020fc31ed3fp+1 +-0x1.7275f98572478p-1 +-0x1.83d0b79f6303cp+0 +0x1.22e357de490cfp-2 +0x1.1d1dbc833ad22p+0 +0x1.b4bc73f74859ap+0 +0x1.686b4b854b64cp+1 +0x1.fbb52a400d89cp+1 +-0x1.cc7f9c85bde7ep-1 +0x1.b6b477f201c6ep+0 +0x1.0ebfba0a114c5p+0 +-0x1.e6ace16a7299cp-3 +-0x1.d104471f5d95dp+0 +-0x1.e19500ec9b6cep-6 +-0x1.70f295be4a514p+2 +0x1.f83b5b8adb452p+0 +0x1.281cb65ca320ap+1 +-0x1.ff1218cd72c29p-2 +0x1.3b72435a84809p+0 +0x1.7faa65769570ep+0 +-0x1.a4da56f324ec8p+1 +0x1.372832227ffc9p-1 +-0x1.ae39635528ddp+0 +-0x1.ddcde5b4fb11bp-2 +-0x1.0670b45312f0dp-2 +0x1.fb5febc89cd42p-2 +0x1.a307fce6d123p-1 +-0x1.404de256223b2p+1 +0x1.144152cb79ec1p+1 +-0x1.f58740badc67p-2 +-0x1.c07b0dabdd81fp-2 +0x1.404e7275ef5fep-1 +0x1.870e0080594c6p+1 +-0x1.e37d0e1e669ep+0 +-0x1.4b5ae5988b046p+0 +0x1.70267658dba4cp+1 +-0x1.2edc37b34b661p+8 +-0x1.18feedff8e9e1p+1 +-0x1.37295400e0b66p+1 +-0x1.63ed3cee44c3p+1 +0x1.ecf1262c6256fp-2 +-0x1.1064e5d40fbaap+2 +-0x1.a27bde8e83542p+0 +-0x1.37ed4bf644953p-2 +0x1.0247350b588fp+0 +-0x1.3e9f47c0d371cp+4 +-0x1.36aa071aeee3ap-3 +-0x1.7caf6d8ba4423p-2 +0x1.52874ff294ab8p-1 +0x1.708585ed461c7p-1 +0x1.b81519abfe448p+0 +0x1.960ca3aca2da9p-3 +-0x1.9247d4bed09dfp+1 +-0x1.96371171a2b85p+14 +-0x1.0ed320667957ep+1 +0x1.618874e4163c5p+0 +-0x1.fb5976545619cp+11 +0x1.375f6da901a1bp-2 +-0x1.385561329fbd9p-2 +0x1.d85a863473592p+0 +-0x1.09daf8d611f1ap-3 +0x1.5f9874c3e9c04p+0 +0x1.b10ecf4a5ae09p+0 +0x1.22a60403cf9edp+0 +-0x1.611f37f57d103p+0 +-0x1.0d5821620c591p-1 +-0x1.78931e76da172p-1 +0x1.42a0cb1723dd8p+1 +0x1.0cdd8dffcc714p+0 +0x1.583e81ad1f894p+0 +-0x1.8dddfe6b1db1ep-4 +-0x1.279f4aba250b2p-2 +-0x1.1c8f3a3197523p-2 +0x1.f8279ff8d44e8p+0 +0x1.7eb0586f1e212p+1 +0x1.a0f7088408588p+0 +0x1.10a960acbb03ep-1 +0x1.058270b943164p+0 +0x1.8a113c5edea79p+1 +-0x1.3089f26b16c03p+2 +0x1.4d41a44153273p-1 +0x1.b1467355d45e8p+0 +-0x1.d7c6f58419c5cp-1 +0x1.66b6af034f9ddp+0 +-0x1.7d4c8535032bep-1 +0x1.fcdc6cacad5ecp-2 +-0x1.9741ac11fd8p+0 +-0x1.4217c47a2623fp+14 +0x1.b1a5e683d04cbp+0 +0x1.b3389a7d7531ep+0 +0x1.3db3786b871ffp-1 +-0x1.93fbc2d3d6065p-1 +0x1.61b4044ca5525p+0 +-0x1.859fc80ce8dd2p-4 +0x1.68d0bc42389c7p+10 +-0x1.bc3e98be64526p+1 +0x1.aaa83f1f88352p-1 +-0x1.a8e66443f670cp-4 +0x1.9efa872648f64p+0 +-0x1.234ae4a25b79dp+1 +-0x1.0721d88335cc7p-2 +-0x1.220a9569b1afbp-1 +0x1.be0bafa87bc98p+0 +0x1.45caa702677e9p+0 +0x1.525a58f38f698p-1 +-0x1.2a1b7c49eb37ep+2 +0x1.565a2c07a414cp+15 +0x1.567fa18ac29e7p+0 +0x1.2e894ea71f0bcp+10 +0x1.d38e3004c61a4p+1 +-0x1.0c94fe7a6a9c9p+8 +-0x1.343e0be99de54p-6 +-0x1.0461c2da75ca5p+0 +-0x1.c31b2ce23198ap+0 +0x1.8ed03412d6defp+1 +-0x1.40af4fd29b4fap+11 +0x1.e92aca60286a3p+0 +-0x1.31b566d1b2051p+2 +0x1.1cc31c406d884p-2 +0x1.653507d0fae44p+1 +-0x1.0ca9fa4e5ea14p+1 +0x1.2c41e4c696529p+2 +0x1.de2b39eb3240fp+8 +0x1.7ab9618aa7b9ap+1 +-0x1.4229532e11028p-1 +0x1.0473c74a65923p-3 +-0x1.4ec5527bb6b1p-1 +-0x1.489c9c3257ffbp-3 +-0x1.8605a7ea9f68ep+0 +0x1.0b9704fd80065p-2 +0x1.af4e5e8e21aabp+1 +-0x1.7048849aad75dp+0 +0x1.0d834d061d13ep+1 +0x1.1a3fd319de2d8p+0 +-0x1.c9acb3cf84b5ap+1 +0x1.2cd3804cfa77bp-1 +-0x1.13feec13f7a1ep+1 +-0x1.44a39e2790977p+1 +-0x1.43dc50a87bef6p-1 +-0x1.95c0223f3e118p+0 +-0x1.e9d0bba5162abp+0 +0x1.779d33b8d265ap+13 +0x1.2cf2cb1c57f41p+1 +-0x1.5b04698bbb1a7p+1 +0x1.c4399e14bbcffp+0 +-0x1.a99eb5ebf5264p+1 +-0x1.245b15c18beedp+6 +-0x1.8c4bdb52630b4p+1 +-0x1.96e438636db92p+1 +-0x1.3793009205cb6p-3 +0x1.78aacc3ecdfddp+0 +0x1.ffaddddffd222p+0 +0x1.16e60604c9814p+1 +0x1.13f31a840b543p-2 +-0x1.b1a470df782ffp+0 +-0x1.d6358578aeaadp+0 +-0x1.387aa415ad2e3p+1 +-0x1.097177af2877bp+12 +0x1.37444d56dfa27p-1 +0x1.1735afb03ea2fp+2 +0x1.72bd4e3823dfbp+8 +0x1.684ed9d43ce98p-1 +-0x1.1faa73c539267p+0 +0x1.35badc4b94a55p+0 +0x1.fe74074beb41ap+1 +-0x1.80c2eea146e82p+2 +-0x1.2d1e06641d4b5p+1 +-0x1.8035cd3e7742cp-3 +-0x1.36a9e91df62c3p+1 +-0x1.9b107f419c584p-2 +-0x1.85e021f095f01p-5 +-0x1.5f96df191eb35p+2 +0x1.4b81b4301ff9bp+1 +-0x1.27f867c4a1876p+1 +-0x1.e34f3f8de9e93p+0 +0x1.3ff1982a8c1a3p-1 +-0x1.acfc0f7d4df3bp-1 +0x1.563f3d6f14e47p+0 +-0x1.32c9dc7c84217p+2 +-0x1.218a591130d17p+0 +0x1.a9cb811e2636fp-1 +0x1.66683e6e79191p+1 +-0x1.dcf29ecba2ec9p+1 +0x1.7665bad145e2cp+14 +0x1.41b4643a6e992p+1 +-0x1.6b431877fb402p+1 +0x1.0e5ad74b26404p+0 +0x1.82de4a767021p-1 +0x1.12126a1ca8613p+2 +-0x1.588a5f65fe3b4p+1 +-0x1.56bb13e4c4ae6p-1 +-0x1.c2d0fd0923fbfp+1 +0x1.c91e8b10a5533p-6 +-0x1.f9b58d1ae36e4p-3 +-0x1.01b17727843d9p-1 +0x1.30f175c55fc16p-1 +0x1.96488992e5355p-1 +0x1.9ee1502eccb25p-3 +0x1.2b7cd87d8575fp+0 +0x1.335e7097d77cbp+1 +0x1.32db26973797p+0 +0x1.49e461c1e1bdap+0 +0x1.809e28859e0a5p+1 +0x1.b281c98df2671p-1 +-0x1.ef3af6c6c31b3p+0 +-0x1.92b6e58d80c3fp+1 +0x1.26bc4905c1e6fp+1 +-0x1.981004f6214f3p-3 +-0x1.96ce7df738056p+0 +0x1.c37f9aa20fd13p-1 +-0x1.96930ce3c46fap+0 +0x1.a434fcf038beep-1 +-0x1.7b13e32ea485bp+0 +0x1.b66e3aa220ca7p-2 +-0x1.3157d8e3da2f8p+1 +0x1.027d8759c3f59p-1 +-0x1.acd3e4897fdap+1 +-0x1.dc96e349b4844p+0 +-0x1.23d8a034ba3eep+1 +-0x1.3e11a7c15725fp-1 +0x1.2ae06cdf11218p+1 +0x1.8236fc55fa007p-5 +0x1.90815eba85c32p+1 +-0x1.a8db406cfc925p-2 +-0x1.29758696f7f4fp+1 +-0x1.952cb3e54afadp+1 +-0x1.a20518c61bc01p+0 +-0x1.cf28a5bfdbacap+0 +0x1.931bf09323ebcp+0 +0x1.6ab4bc0a68cb2p+7 +-0x1.9ce85d13df788p-1 +-0x1.4292c1163e569p+1 +-0x1.2b7d1b77746cep+0 +-0x1.8d138f089cb57p+0 +0x1.e9278c18affb3p+0 +0x1.9425430667adcp+1 +-0x1.1df8cd3a20e3dp+1 +-0x1.31ce008c00358p-3 +0x1.a7065ef00e1ffp+1 +0x1.b70b1c1c89729p+1 +0x1.930bc47bb8188p+0 +-0x1.2f167de5cdea1p+1 +-0x1.5f557210f0787p+0 +-0x1.01fae373eadffp-2 +0x1.b78b3f6d22097p+0 +0x1.d7a04db2ea56p+0 +0x1.f2be0a10bd434p-2 +0x1.4a4c52737001ap+0 +0x1.0b3c195c20e8bp-2 +-0x1.8c5f16b22855ep+0 +0x1.3b31b372759b7p+1 +-0x1.61f20e1994293p+1 +-0x1.b3556f80c18aap+1 +-0x1.3da99efc32593p+0 +0x1.f9e9b1a9d8d76p+1 +-0x1.e29a437562d99p+0 +-0x1.cb80f8f1873e2p-1 +0x1.21d577f120c47p+1 +-0x1.5e774a8943ae7p-1 +-0x1.b0789f1a65acap+0 +0x1.7df532f52cc1dp+1 +-0x1.20e83ae34ed46p+1 +-0x1.2ece3c3ec6664p+0 +-0x1.b8dcfa5fbf818p-3 +-0x1.a820ea389ac6fp+0 +0x1.7b9753412f6e2p+0 +0x1.c5837d0ae234ep+2 +0x1.0617d2910ceedp+6 +-0x1.6a6fdd9b90682p-3 +-0x1.cfc8ec787bd4dp-1 +0x1.69168d107a461p+15 +0x1.19aee6c68791dp+2 +0x1.cb41729f3e736p-3 +0x1.a2bc9dcd1e467p-2 +-0x1.153a4fd79110dp+1 +-0x1.e32cd1de75aeep+0 +0x1.cd10432db446ep-3 +0x1.0fb76c74ad7bcp-1 +0x1.4bfd49768d6c7p+1 +0x1.8065368a8c428p+0 +0x1.9579f6463b22bp+0 +0x1.3648ffafc92c3p-1 +0x1.a0c47a5fc93c6p-7 +-0x1.098030e3bdc44p+0 +0x1.84fb0df3d135ep+0 +-0x1.8554623efc182p+1 +0x1.15962483804c5p+2 +-0x1.8df533f543abap-1 +0x1.8cd24f4465bf6p-1 +-0x1.e7ad745390a86p+1 +0x1.e6229de2d08d2p-4 +0x1.bccca2f589181p-1 +-0x1.8e288e1a61ee3p+0 +0x1.c2aa6042cc4f2p-2 +0x1.ff0a0b216808dp+0 +-0x1.ddb1ebaddda37p-1 +-0x1.3e547677d2c41p+1 +0x1.858157703b673p+1 +0x1.d178dc87fb39p+0 +0x1.9197f0d053534p+0 +0x1.f12d869443df1p+0 +0x1.0ee4fa91d23b3p+1 +-0x1.0bec1161ae20bp+1 +-0x1.c3b201bd982f3p-1 +-0x1.40665a584411bp+1 +0x1.5ca6980e53b25p+0 +0x1.0886c51b9980ap+1 +-0x1.6ce43df954b1ap+1 +0x1.0d0445a428c4ap+1 +-0x1.3cdd410cf295fp+1 +-0x1.98ab951adfc1ep-2 +0x1.67118b280f43fp-1 +-0x1.6381cfc1a7fd9p-1 +0x1.a6ecb3aef92c3p+0 +-0x1.9515b6440ae85p+1 +-0x1.3a802180d8c38p+0 +0x1.46c216f166babp+1 +0x1.e89f14de3abdcp-1 +-0x1.0b75a703206b5p-3 +0x1.4109f34eca6cfp+1 +-0x1.4b28211d9912fp+9 +-0x1.1566b4048fc4bp+18 +-0x1.61350b7c3dbbp+1 +-0x1.32ed0d61c1fe9p+9 +0x1.77981e69716c6p-2 +-0x1.f701b74210786p-2 +0x1.ab815c885035fp+1 +-0x1.cf59e95b10a65p+0 +0x1.8ee6dc793727fp-1 +0x1.8ec04b88e9299p+0 +0x1.bbf63740f394ap+0 +-0x1.a3fa37a2e2b1p-1 +-0x1.1af036b14ba26p-1 +0x1.22f5cd1fca077p+0 +-0x1.46a4997b4856dp+1 +-0x1.5d4fdb54e2ed8p+1 +-0x1.f72d2a7eda91fp+0 +-0x1.8bcbb1ddb6962p-8 +0x1.b6ac6902470d7p-1 +-0x1.760220b9f6df6p-1 +-0x1.317764115a924p+1 +0x1.1f9cb1ce1cce5p+1 +0x1.9e1293e476df5p+1 +-0x1.e7d7d12a5dd4fp+0 +-0x1.5beba17b81e35p+15 +0x1.a6ffb58cb5985p-5 +0x1.e6a5d11bab93fp-7 +-0x1.69a5af5d507a9p-3 +0x1.05cd63f7494e6p+13 +-0x1.9f7bb37d32885p+1 +-0x1.239f28fcb0afp+1 +0x1.21c24452d1427p+0 +0x1.63aca54aadbbbp+0 +0x1.1981bb5c459ddp-1 +0x1.ae3274518c3f1p+0 +-0x1.acc7c26f9439ep+0 +0x1.354474b83682dp+1 +-0x1.01b9ab69e5c85p+0 +0x1.59db0e6e1cd7cp+0 +0x1.1a891301a0aa6p+2 +-0x1.5dab9a5277553p-2 +-0x1.7abbe453f1cc6p-2 +-0x1.a82b856d72a08p+7 +-0x1.7e72ee759e153p+0 +-0x1.90f2864b2d9cap+0 +0x1.c2059f0e9165p+0 +0x1.d47af0a008b86p+0 +0x1.adbf8cdf8ec5ep+1 +0x1.dba40d8442a94p+13 +-0x1.4bf35ff2fa10dp+0 +-0x1.0d0d08f037d69p+0 +-0x1.190849747ae36p+1 +-0x1.dc5e8a1378193p+0 +0x1.6f35d7c669173p+17 +-0x1.7280f743a97fp+7 +-0x1.53bf26bf39cf9p+0 +0x1.6021132cc5fa9p+1 +0x1.1f2cca10e8847p+1 +0x1.82373ef9b2af3p-1 +0x1.13fdff19abe06p-1 +-0x1.6ea588b863078p+15 +-0x1.75a7e3cde7d6bp+0 +0x1.7dbef6e963782p+1 +0x1.2e956304ede21p+1 +-0x1.0a1952a608b0cp+1 +0x1.d5409c022e31cp+0 +-0x1.093fe4d472b8p+0 +0x1.1e6686880eep+2 +0x1.49e756540e9e2p+14 +-0x1.0cbcf4504f1cp+1 +-0x1.813d0e71aca86p-2 +-0x1.30606fb5012c9p-4 +-0x1.4b5341e2b8ecep+1 +0x1.6032528ee7911p+0 +-0x1.c601e68d6fd3fp+1 +-0x1.cd608a18ee988p-1 +-0x1.fa09ccf1d5531p+0 +-0x1.797292dcd8a68p+1 +-0x1.ec98e1f1f6adbp+16 +-0x1.57cd527e36623p-1 +0x1.b71ae5a6df80dp+1 +-0x1.96ec47cf27c83p+0 +0x1.0e009129436bcp-3 +-0x1.042ca5f3e63cap+1 +0x1.8a318ce0844e6p-1 +-0x1.6a9bda33a34a4p-1 +0x1.c52faf93d6272p-1 +-0x1.376f82b84a51cp+1 +0x1.0698fad96b508p+0 +-0x1.1f6c54d65f837p+0 +-0x1.8094b4312165bp+1 +0x1.4bf1619b9688ep-1 +0x1.f19582b5141a9p+1 +-0x1.1f0c82108dddcp+2 +0x1.6d0a9de3d1192p-1 +-0x1.b4f5eb46c1c0dp+1 +0x1.94ea497a6da1ap-4 +-0x1.dd3e7ccde95fdp+0 +0x1.00c3274ec2061p+0 +-0x1.06b80839acdc7p-2 +0x1.5e68c21fc3c47p+1 +0x1.b57a617c24c7p+0 +0x1.dbb777ecd2fe8p-1 +0x1.f8599d5912f5fp+0 +0x1.a8ce99637fdep-1 +-0x1.1178cc6c41045p+1 +-0x1.16b2621fde5e9p+0 +0x1.4cb3193c14242p-2 +-0x1.2b698b53d3ed1p+0 +-0x1.1811c7151380ap+11 +-0x1.9ead7fd515e8dp-2 +-0x1.7f25d213409b4p+0 +-0x1.3ecb54cf217f1p-1 +-0x1.42bd8c75ca1a1p+0 +-0x1.e64af07dc6ef7p+1 +-0x1.8df505efdde4bp-5 +-0x1.7fa6f784cf1bp-1 +0x1.f192dba76a318p+0 +0x1.a23234b4f8c78p+1 +0x1.529f9e235ca8dp-3 +-0x1.25c2424ba38d7p+1 +-0x1.264d33dfac652p+1 +-0x1.ab5a0d648b3f9p+0 +0x1.27c7c89efc754p-2 +0x1.be840d57a7d3dp-1 +0x1.abfd0ae117d33p+0 +0x1.73307b0afc1cp-3 +0x1.d7fe7fbfdc66cp+5 +-0x1.c614b9eecb9fap+1 +0x1.910e203d9f24cp-2 +0x1.cc4adc85133a8p+0 +-0x1.072822fff319p+1 +0x1.6f27040372408p+1 +0x1.1ee3a2633dbf7p+2 +0x1.1469b4c31f9a2p+6 +0x1.d120be1750f82p-5 +-0x1.1fe197e3ff7acp+1 +-0x1.52b1ef6bf3261p+1 +-0x1.ae76580a3fa2dp-1 +-0x1.f114f06135a6ap+1 +0x1.2db693dc79d04p+0 +0x1.c017579cc447ep-2 +0x1.72e3d3c733fd2p+10 +-0x1.97d9cac324f57p+1 +-0x1.3aa6e59b8e4f2p-1 +0x1.e084f5f6bc44ap-1 +0x1.5076f4b4b18b8p+10 +0x1.4d2300d306d07p+1 +-0x1.229a22421288bp+1 +-0x1.15d245de0d24fp+1 +-0x1.14ca80f6c7f21p-4 +-0x1.d280147f90d51p+1 +0x1.97ed012468bebp-1 +0x1.2295da95d38bp+1 +0x1.03ef25597dbdbp+0 +0x1.a8e6fe8e0c2f1p-1 +0x1.075564b3af4d2p+1 +-0x1.f6ca0bd88e38fp-2 +-0x1.45c57fd1010d9p-2 +-0x1.c3de1d196e1b6p-4 +0x1.e727d990df347p-1 +0x1.abe66fcda83c4p-1 +-0x1.8fa34697d969bp+1 +-0x1.70b3456c05701p-1 +-0x1.1d62c028cb85ep+2 +0x1.4f895536407a3p+3 +-0x1.2baea608eee34p-1 +0x1.c74a0bff306b8p-1 +0x1.5ab7632a6f26ap+1 +-0x1.8b71affd301adp-1 +0x1.e5599a8b8cd1ep-3 +-0x1.af914248cc951p+11 +0x1.28195507f9c4dp+1 +-0x1.aef2de29acc79p+2 +-0x1.e88a0473750c9p+2 +-0x1.15c3131754788p-5 +-0x1.c518dcf18236bp+0 +-0x1.73992aff0a5d1p-2 +0x1.a6465a06344abp+1 +0x1.6618c32434ccbp-7 +0x1.01d2e8a3a500ap+1 +0x1.4919b4e276d87p+0 +-0x1.87c7208ec9bc6p-2 +0x1.8412767aa5ef4p-4 +0x1.8e16c29571d0ap+0 +0x1.e0c19c809e47fp-1 +0x1.6efdb5caff4a6p-1 +0x1.77a86c33e5e95p+1 +-0x1.9a52b339c19cfp-1 +0x1.2decd2cd9416p+1 +0x1.efa199ef062efp-2 +-0x1.f7faebc197eaep-3 +-0x1.125dbd788c9cap+0 +-0x1.aa25da601877cp-1 +-0x1.0509b5b07db71p+1 +-0x1.0e841e3337126p+2 +0x1.14f309eb6b769p-6 +0x1.8371f68deafc4p+1 +-0x1.a6997c8b3e796p+0 +0x1.d0be99890c6e9p-3 +0x1.7a186fbd1e357p+0 +0x1.5c3bcf78d4d02p+1 +0x1.a8caecb3e7fadp+1 +0x1.4fabaf7e6189cp-2 +0x1.52e960044f204p+1 +0x1.6ef878c1f2b46p-1 +0x1.e6a8c18b02bdap+0 +-0x1.153cd769f58b7p+0 +0x1.7465e23891068p+1 +0x1.19c6a1a74d3e4p+0 +-0x1.f883f4df88f4p+14 +0x1.72168e15129acp-1 +-0x1.fad951936d185p-1 +-0x1.d3401a99664afp-1 +0x1.1d3854a4dd63cp+0 +0x1.5c0a66217aeedp+1 +-0x1.8183e6ca03bf9p-2 +0x1.e1e5edcac9c11p-2 +-0x1.2c76664058a25p+2 +0x1.31e48e976aa5bp+2 +-0x1.5b84d88d6d8cap+0 +0x1.ac7e36ab5270ep+0 +0x1.171c6cc2580eep+0 +0x1.b3819456344ccp-7 +-0x1.9c0b5679318b7p+0 +-0x1.16cd889ab0c83p+0 +-0x1.5a04d871e7321p+1 +-0x1.0cc51d8fdc638p+2 +-0x1.d5ed576faf2d7p+0 +-0x1.056de1685c7f9p+1 +-0x1.e09561f6f07afp-1 +0x1.0f01966df0ce1p+0 +0x1.7fa3f5c1e2d0fp+0 +0x1.fac5aff615326p-1 +-0x1.f77ae55a39fdcp+1 +-0x1.6f44f4289804fp-1 +-0x1.9d4e517275c6cp+1 +0x1.b9e49495dfc03p+15 +-0x1.58acb6a23ccabp-1 +-0x1.870639b088223p+0 +0x1.b943566f0562bp+0 +0x1.8637e6afd9338p+0 +-0x1.440ac7df7534ap+0 +0x1.61efb820047d3p+6 +-0x1.bf9b0d31fd77p+0 +0x1.657f4c07274eap-2 +-0x1.8f9cb6ef8f5d9p+1 +0x1.1399d879737eap+1 +0x1.a28951ff14a4ap-1 +-0x1.23308d3996291p+1 +-0x1.4c282aeb3391dp-2 +-0x1.d9f85505d3084p+0 +0x1.bf6c8f95b92bap+1 +-0x1.87bd20aebe54ap-1 +-0x1.fb5cc159a1499p+11 +0x1.472382401a8f2p+0 +0x1.924999011c9c8p+1 +0x1.23e2c30e9b519p+0 +-0x1.bf5faffd31951p+6 +-0x1.03af799e9b82fp+2 +-0x1.57e603fe4b41bp-1 +0x1.489f051554ca5p+1 +0x1.a3378da301d3dp+0 +0x1.127a2038f4704p+1 +-0x1.0412abc005f4ap+1 +-0x1.c1fab58e51be8p-2 +-0x1.534a358901675p+1 +-0x1.227ee94d806fbp+0 +-0x1.60bafada87854p+1 +-0x1.6c1b4ca75bc6dp+0 +-0x1.e55c2f64efc93p+0 +0x1.0136a1b3a2aeap-3 +-0x1.0ffdf80d90d07p+0 +-0x1.c65760470e8d6p+0 +-0x1.b2896d2a008dap-4 +0x1.574f6ae904203p-2 +0x1.324236a74d2b6p+1 +-0x1.a324414161549p-1 +0x1.9a3899e8b4ba4p+1 +-0x1.1171c9f576983p+1 +0x1.0f7b1d54df251p+0 +-0x1.6c053dd207a6fp+0 +-0x1.9b99b65989247p-1 +0x1.b2a6d71e32934p+1 +0x1.1f2bd5bca0b78p-1 +-0x1.f0cccc8b49969p+0 +-0x1.1732ff38c200cp+0 +-0x1.6b2755c442ff5p+0 +-0x1.187853da32e74p+1 +0x1.a799190ccccfep-1 +0x1.857357305ebd7p+0 +-0x1.0cfed51a5447p-4 +-0x1.4de6ec08a741ep+0 +0x1.51a0623691ca1p+0 +0x1.150623e621affp-2 +-0x1.5cfe06a01edd3p+1 +0x1.79170cd5592fbp-2 +0x1.03e7ab6aad67ep+1 +-0x1.1891985c0eb8ep+0 +0x1.b4c6bd3a6edd3p-2 +-0x1.9184c834df616p+0 +-0x1.896958966a197p+0 +0x1.5be3839f90121p+2 +-0x1.0a5d4e106277bp+1 +0x1.9a280716597f5p-3 +-0x1.52f6fb77a081ep+0 +0x1.3c8b1ee2b173ap-1 +0x1.2ea3366ede3adp-2 +0x1.e53f1280cde7ap+1 +0x1.957874fc6208ep+1 +-0x1.2e50c6467220dp+0 +0x1.f60821784192p-1 +0x1.b8e3e55ae80e2p+0 +0x1.288f642c27b4ap+1 +0x1.3ab579f457f48p+0 +0x1.00560e5c012c4p+1 +-0x1.018fda0958f47p-1 +-0x1.1663e5438ceecp-4 +-0x1.b38c79ed08931p-1 +-0x1.56593bb8e2b3ap-1 +-0x1.658a994e639bfp+1 +-0x1.0694d3009659dp+0 +-0x1.72fcdc678ef45p+1 +-0x1.d97293881bea4p-1 +-0x1.c49a1d675d476p-1 +-0x1.9fe2460948d08p+18 +-0x1.2f65397f9102fp+1 +-0x1.e1be1e7df4fc2p-1 +-0x1.6f8874375d431p-1 +-0x1.66bc19e242a4ap+14 +0x1.082ca583a3b4ap-3 +-0x1.a2bbbe7dac89cp-1 +-0x1.56d82280ca20ap+0 +-0x1.0dbeb9ef97955p+0 +-0x1.b94eb5428765bp+0 +-0x1.a9bf86e4ac70dp-2 +-0x1.0855827c83f4cp-1 +0x1.022d027737673p-2 +0x1.3063e7a806101p+2 +0x1.eab3b18ac0494p+1 +0x1.e5f194cc1e1a8p+0 +0x1.2d3fb992a5babp+13 +0x1.e69e9354c1529p-2 +0x1.545416ffbb03bp+0 +-0x1.b5e40f88452abp+0 +-0x1.68c7d14330b2ap-2 +0x1.7ffc77ca165dcp-3 +0x1.a668c8ebd61b4p+1 +0x1.0b28f10ea5b09p+3 +0x1.4335046c074d7p+1 +0x1.685124b5d8a51p+2 +0x1.4745e3eac7353p+0 +-0x1.69574690ea7c3p-1 +-0x1.c3d85c17853dbp+1 +0x1.2ca545525be9ap+1 +-0x1.5e28ce7affeb4p-1 +-0x1.92bfba1bac60bp+0 +0x1.97f2a53c69f16p-1 +0x1.282c0d8843656p+0 +0x1.2e83ef4ac8dd2p-6 +-0x1.e1a4876dd3166p-3 +-0x1.95bdb29008dc8p-2 +0x1.6600fe4a53856p+1 +0x1.2e1d9bf5b3951p-3 +-0x1.70e9ea952a19dp-2 +-0x1.d20f199dd9577p+0 +-0x1.c22c62447cc81p-1 +0x1.5ede8b7bf60dbp-1 +-0x1.ddccc5653648fp-1 +-0x1.37b3b1cce6cd7p+0 +0x1.293dcc95484d4p+0 +0x1.a0908aa30e4b1p+0 +-0x1.19e1718e6114cp+0 +-0x1.15879faff760cp+1 +0x1.04d7bd103c7bcp+1 +0x1.a9bfcf61ab5aap-2 +0x1.7ffbcf941d617p+0 +-0x1.60433564bde97p-1 +0x1.d302b99da1d41p+10 +0x1.0ac26b5b6b26ap-2 +-0x1.2f2bf3e135d94p+1 +0x1.3193cd584a61p-1 +0x1.44e9cf1156e06p+1 +-0x1.e43e30a92a587p+1 +-0x1.28e91fbfa691ap+0 +-0x1.7353a3cf17f5cp+0 +-0x1.10a858f300482p+1 +0x1.32f94c36ff37p-4 +0x1.f9f83415242ddp-3 +0x1.9757166028a0bp-1 +0x1.1d7c012c6d9acp+1 +-0x1.598ebd48514bdp+4 +-0x1.5d11d00438ecep+0 +-0x1.2747d944042adp-1 +0x1.7f675e4cdfdafp+1 +-0x1.25e7be689bf3bp+2 +0x1.2ab5068d0da45p+0 +-0x1.b5d0f4e5854c2p-2 +-0x1.6c1508a245409p-2 +-0x1.cee6ebe8cfb3dp-1 +0x1.07e3d5abaf2c2p+2 +-0x1.c45815dd1e558p+1 +-0x1.30859211b85f3p+2 +0x1.ab0d770f9960dp-1 +0x1.b383e5d3bf694p+0 +0x1.5da5ec4458468p+0 +-0x1.ae05752dce3bep+0 +0x1.4f48d390d74f4p+0 +-0x1.880168a9d8bf5p-2 +-0x1.87add861f8988p+1 +-0x1.14db9a7dcab57p+0 +0x1.47c0301aa6b84p-1 +-0x1.2b02155d9aee3p+1 +-0x1.7bfb0c81ab8cdp-4 +-0x1.0c23e578a36c6p+1 +-0x1.157749f322387p+0 +-0x1.7ac4335775a1cp-2 +0x1.c550fc3c78769p+1 +0x1.83d7cdfe37293p+1 +0x1.0175d3d989f64p+2 +-0x1.2212fa987b93ep-2 +0x1.217f3df9fc083p+1 +-0x1.cd855b8fe86fdp-1 +0x1.ccea5a54d87efp-1 +0x1.558402d1b1d97p+0 +-0x1.8ab1c2c68d04fp+1 +-0x1.8098471a13c85p-2 +-0x1.0d8638af787acp+15 +0x1.305104b60c029p+2 +0x1.eff682c003408p+0 +-0x1.5afb1632fb37ap+1 +0x1.1e33bf0ab3d29p+1 +-0x1.5376544a33b7dp+8 +0x1.2a89ddee85669p-1 +-0x1.1674f3ba7da18p+1 +-0x1.2284f100bccdcp-5 +-0x1.cf1dd973f1609p-1 +0x1.b3a7904f392eep+0 +0x1.46833328fbc48p-1 +0x1.190e33f3fa595p+0 +0x1.2509eb20bfd81p-2 +0x1.7a11f69b6a7d4p+0 +-0x1.ce345c782f5b6p-5 +-0x1.203b3b982e85ap+1 +-0x1.19cab5f793ac7p+10 +0x1.963b6e19ba199p+0 +-0x1.e1bdc5dcc038bp+0 +0x1.4d96d7ad0daffp+1 +-0x1.b92d7f9c9dbcep-1 +0x1.e2caa293e9eecp+0 +0x1.f8baf1c0ea3dep-3 +-0x1.02dc134bc493p+2 +-0x1.36dba0a97151bp+5 +0x1.612d64e416439p+14 +0x1.5e37a9908f7a9p+0 +-0x1.17bda5aad3d64p+17 +-0x1.19840a3a45406p+1 +0x1.1959dfefb58f7p+0 +0x1.52bed32f75b94p+1 +0x1.ddc3415bfd4bap+6 +0x1.eee9334cdd0ddp-1 +0x1.203d41ad61271p-2 +0x1.90b58e66122bdp+1 +-0x1.370579624a655p+0 +-0x1.b2a805a509c18p+1 +0x1.e67ccdb8eadfcp+1 +-0x1.3c67a45675499p+1 +-0x1.bfe3aa0e71bb2p+0 +0x1.35cebbc94eab7p+1 +0x1.0422cc7ae80c9p+1 +-0x1.60be748cc1763p+0 +0x1.035ceb7539913p+0 +0x1.7f99fcedf4bb1p-1 +-0x1.6f9c5ee90d57fp+1 +-0x1.845438659ae53p+1 +-0x1.127e6dca38c33p-1 +0x1.4cfddd6b8cbe6p+1 +-0x1.1d4bd6ad50359p+1 +0x1.6a88e84e144c1p+0 +0x1.60d999f27bbc1p+7 +-0x1.3b15ef7442557p-2 +0x1.4e93ff7351fb7p-2 +-0x1.8afd23d8767ebp-1 +-0x1.80a2820b8f653p+0 +0x1.59afd0e87bb7p+17 +-0x1.1f50c3eb06578p+0 +0x1.d420b1a766c3fp-2 +-0x1.1fb62164017abp+0 +0x1.7df5acaa32cddp+0 +0x1.6eb4e78ecc57cp-2 +-0x1.1194fe9aa3be8p+1 +0x1.13a325cf7b8cep+0 +0x1.e7069ccf67267p+1 +-0x1.89a242daa144dp+0 +-0x1.10750199c5d77p+1 +-0x1.fb0a9458e1e58p+0 +-0x1.f37b9d7b69b5fp+1 +-0x1.55c000fc49842p+1 +0x1.12ed7980f7439p-1 +0x1.cd24b3b1ef227p-1 +0x1.17088f192f0f9p+1 +0x1.90a1fc58a5b9bp+0 +0x1.88f71a896832fp-1 +-0x1.0e428a379b193p-3 +-0x1.9a536e9c8e83ap-1 +-0x1.f8c907f8f58dap+0 +0x1.40c9a200f618p-5 +0x1.bb0f583139801p+1 +0x1.4f096c4aaccfep+1 +-0x1.8639ac259ec7p-2 +-0x1.ddc002a62d79ap-6 +0x1.15ea75f9bba9bp+1 +-0x1.a4314722e80c4p+1 +0x1.3085c6708f055p+2 +-0x1.3a122c32d2387p+0 +-0x1.8466c7f39e1a8p+0 +-0x1.07a3a25046ff7p+0 +-0x1.64906f355b5f5p+1 +-0x1.b6cfc87ad211ap-1 +0x1.a9f23e8a04957p+0 +0x1.8f8861cd0df53p+0 +-0x1.0520d99bed6ddp+0 +-0x1.fd38e376c26b9p+0 +0x1.4c6ede7af2ee9p+15 +-0x1.a17681ee75826p+1 +-0x1.ec6227dfc627fp+14 +-0x1.8824d10bf8adfp+1 +0x1.100b8d5562582p-2 +-0x1.83039f5c89f39p+1 +-0x1.32ae3bd745592p-2 +0x1.20cb3b1fd30d4p+1 +0x1.b455d2d933468p-1 +0x1.321f6a0b81c7cp+0 +-0x1.d72368b9f962cp+1 +-0x1.38e87e0872868p+17 +-0x1.e802ac8385caap+0 +-0x1.283a262642c57p-1 +-0x1.4683fc0789bb8p-2 +-0x1.0979236fd2b26p+1 +0x1.6fae44dc0134ap-3 +-0x1.66857c081da8dp-6 +-0x1.1808d0a3ed1b8p+1 +-0x1.88bbc40edea65p+0 +-0x1.22e88378bebeap-2 +0x1.ce560cf6fded2p-5 +0x1.fe493528bc8f6p-1 +-0x1.e70f7ac0dd117p+0 +-0x1.a225717175c68p+1 +0x1.93bb64437011dp+0 +-0x1.26ee7d4949696p+1 +-0x1.86e89fac76f85p+1 +0x1.324cac38058e4p+1 +0x1.1e2ab2a20dec6p+0 +-0x1.23a5753b9b995p+0 +-0x1.24f1448e6220bp+0 +-0x1.4b31f7fd15c83p-2 +0x1.16c554c0c7c7bp+0 diff --git a/sysdeps/x86_64/fpu/libmvec-asinhf-inputs b/sysdeps/x86_64/fpu/libmvec-asinhf-inputs new file mode 100644 index 0000000000..d32ba8214a --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-asinhf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-3.4e+38, 3.4e+38), mean = 0, standard deviation = 2 +-0x1.110038p-1 +-0x1.1f03acp+0 +-0x1.88539ap+1 +-0x1.410132p+0 +-0x1.3b7fb8p-1 +0x1.029deep+1 +0x1.77fde2p+0 +0x1.16a53ep+2 +0x1.35a336p+0 +-0x1.f85d78p-1 +-0x1.75bd8cp+1 +-0x1.360248p+1 +0x1.1cb9fap+2 +-0x1.cc0c94p-2 +-0x1.b06432p+0 +0x1.e5f318p+1 +-0x1.2bbc6p-1 +-0x1.b20d6p-7 +0x1.1ee5aap+0 +0x1.0d39dap+1 +-0x1.f35ecap-1 +-0x1.90e89ap+0 +-0x1.8718b2p-2 +0x1.e1a884p+0 +-0x1.bb8414p-1 +0x1.66748ep+1 +-0x1.03ac94p+1 +-0x1.2777cp-1 +0x1.1d20fap+1 +-0x1.0d6598p+1 +0x1.948e12p-2 +0x1.a2f914p+0 +0x1.8dfc3cp-2 +-0x1.45c1b4p+9 +0x1.729198p-2 +0x1.0d76b4p-3 +-0x1.8ba0cp+0 +-0x1.657578p-1 +-0x1.420738p-1 +0x1.254b4cp-1 +-0x1.3c18ep-3 +0x1.e26402p+0 +-0x1.16b4ecp+1 +0x1.919dfep-1 +0x1.51a8f6p-5 +-0x1.dddb4p+8 +-0x1.7ed13cp-2 +0x1.7c78e8p+0 +-0x1.371df6p+1 +-0x1.47b6c4p-1 +0x1.c0eb16p+0 +-0x1.04144p+1 +0x1.747d82p+0 +-0x1.0e3c3ap+2 +-0x1.9223e2p+0 +0x1.2c285ap-1 +-0x1.e100ap+0 +0x1.a994cp+0 +0x1.5642c6p+1 +0x1.886a1cp-1 +0x1.10acd8p+4 +-0x1.7e95d8p-5 +0x1.f4422p+5 +-0x1.6d0abp+1 +0x1.270ad4p+0 +0x1.cb814cp+0 +0x1.ef5984p-2 +0x1.4511a4p-2 +0x1.c3236cp-2 +-0x1.b5663ap-4 +0x1.f9775cp+0 +-0x1.fbe004p+0 +0x1.ec4068p-3 +0x1.0af7c2p+0 +-0x1.18e6b8p+0 +0x1.2fc06ap-1 +-0x1.0df60cp+0 +-0x1.52542p+18 +-0x1.f9beaap-3 +-0x1.a8a18cp-3 +0x1.6d6274p+18 +0x1.8035aep-3 +0x1.6e5336p+0 +-0x1.202ed6p+1 +-0x1.958d6ep-1 +-0x1.38e054p+5 +-0x1.ae79ecp-1 +-0x1.08e936p-1 +0x1.fa1d12p+0 +0x1.e0e75p+0 +0x1.18408ap+15 +0x1.1e5f3ap+9 +-0x1.37f81ap+0 +-0x1.d1b82p-3 +-0x1.8d8c76p+1 +0x1.c753b4p+1 +0x1.59d5bp-2 +-0x1.ea04b4p-3 +0x1.29c338p-4 +-0x1.c2ee5ep+0 +0x1.cee3cap+1 +-0x1.b5e1a6p+0 +-0x1.42abb8p+0 +0x1.1d8892p+1 +0x1.80ec7cp-1 +0x1.409d1cp-3 +0x1.9c79dap+0 +-0x1.253082p-3 +-0x1.a40112p-1 +-0x1.77943p+0 +0x1.77052ap-1 +0x1.aa7ee8p+1 +-0x1.f6ee5cp-5 +0x1.a39a2ap+0 +0x1.3221b8p+0 +0x1.5ff5bcp+0 +-0x1.4613aap-3 +-0x1.6991a4p+1 +-0x1.1071cap+1 +-0x1.055f3ap+1 +0x1.520ed8p+0 +-0x1.6e1544p+1 +0x1.e819p+1 +-0x1.8b8cb4p+0 +-0x1.a9f64ap+0 +0x1.88e06cp-1 +0x1.750ec6p+0 +-0x1.0dd8acp+0 +-0x1.99309ep-1 +-0x1.08b1bcp-1 +0x1.b93248p+10 +0x1.0a5b3ep-1 +0x1.273d5cp+2 +-0x1.27eeacp+1 +0x1.398226p+0 +0x1.56fe6p+1 +-0x1.f11f36p+1 +0x1.9aca96p-1 +-0x1.8f8d42p+0 +-0x1.f49e6ep-2 +-0x1.7a129ep-7 +-0x1.1ae76cp+0 +0x1.087a5ap-3 +0x1.6aff86p+0 +-0x1.62fa8ap-1 +0x1.b66d4cp-1 +0x1.b32cf8p-1 +-0x1.db353cp+14 +-0x1.ac60dap+0 +-0x1.fbdc48p-2 +0x1.ce8d8ap-1 +-0x1.f0575ep-1 +0x1.248082p+1 +-0x1.4b02ccp-3 +-0x1.f980a2p+0 +-0x1.d7c148p+0 +-0x1.19379ep-3 +0x1.3871bcp+19 +-0x1.ab9498p-1 +0x1.0e6daep+0 +-0x1.45599cp+1 +-0x1.a1d652p+1 +0x1.0a9a08p+0 +-0x1.380656p+0 +-0x1.4723eap+1 +0x1.82ba88p+1 +-0x1.be10fep-2 +0x1.6e9ab6p-9 +0x1.ac8ebap+1 +0x1.72f43ap-2 +0x1.647a3p-2 +-0x1.6a098ep-2 +-0x1.535b6p-4 +0x1.9b2178p-1 +-0x1.1ac876p-2 +-0x1.d28fecp-1 +0x1.d1ae8cp+0 +-0x1.4314fcp-2 +-0x1.3d2ddcp+0 +-0x1.91560cp-2 +-0x1.2064bep+2 +-0x1.8f0d5ap+0 +0x1.81850ap+2 +-0x1.f7d0d6p-1 +-0x1.f23fd4p+0 +-0x1.75a606p-4 +-0x1.d253dcp+0 +-0x1.532846p+0 +0x1.ce3576p+0 +-0x1.8652cep-1 +-0x1.9b8efp+1 +0x1.7d9c66p+1 +0x1.b96c3ep+1 +-0x1.f953fcp+0 +-0x1.eb7058p+3 +-0x1.a1e7cp-1 +0x1.46cfc2p+1 +-0x1.ae2452p-1 +0x1.6993ap+1 +0x1.13306cp-1 +0x1.61510cp-4 +-0x1.1a2036p+2 +-0x1.64ad7ap+0 +0x1.bc0558p-3 +0x1.3c093ep-3 +0x1.4f8ea8p+0 +-0x1.55af0ap+2 +0x1.5af1d2p-1 +-0x1.0de628p+0 +0x1.99ce9ep+1 +-0x1.f3ce28p+0 +-0x1.2dcbccp+1 +0x1.1adafep+0 +0x1.853c9ap-2 +-0x1.00b1dap-4 +-0x1.12d9eap+1 +-0x1.c05a7cp+1 +-0x1.df87d8p+1 +0x1.3e98c6p+0 +0x1.560246p+1 +-0x1.c6b774p+0 +-0x1.9fdb8ep+0 +0x1.efefd8p+0 +0x1.c1a132p-3 +0x1.30ea3ap+1 +-0x1.a74dd4p+0 +0x1.79ab52p-5 +0x1.d28bdp+0 +-0x1.dd0ae6p+1 +0x1.086058p+1 +-0x1.3d802ap-1 +-0x1.11859p+0 +0x1.2aa162p-1 +-0x1.51a2fep+1 +0x1.6d4ca2p+1 +-0x1.086472p+0 +0x1.73c0d4p-2 +-0x1.460bb8p+1 +-0x1.96b5c2p+0 +0x1.002088p+0 +-0x1.079c68p+1 +-0x1.a490fep-3 +0x1.3a317p-2 +0x1.b3009ap-2 +-0x1.8be63p+1 +0x1.c70c48p-2 +0x1.6ec3p+0 +-0x1.d42bdap-4 +0x1.542a48p+0 +-0x1.68aadep+0 +0x1.0719ecp+0 +0x1.5a5bfp+0 +-0x1.ea3776p+12 +0x1.6d1c9cp+14 +0x1.65e234p+0 +0x1.81eea2p+0 +-0x1.e09ae8p-1 +0x1.88cff6p-1 +-0x1.38a36ep+18 +0x1.b0dc52p-1 +-0x1.949d08p-2 +0x1.2054bep+1 +-0x1.1c5a7p+1 +0x1.682eap+16 +0x1.c9d5bep+3 +0x1.ede04p+0 +0x1.5dd9cep+1 +-0x1.ee86a4p-1 +0x1.430682p+0 +-0x1.b239cep-1 +-0x1.b155c4p+1 +0x1.110594p+0 +-0x1.940484p+0 +-0x1.a03c2cp+8 +0x1.2ab818p-1 +-0x1.bb57eep-7 +0x1.2c5faap-1 +-0x1.105b2ap-1 +0x1.ad21b6p+1 +0x1.f59118p+0 +0x1.942c72p-1 +-0x1.73fc06p-1 +0x1.19a064p+1 +0x1.f4409ap-2 +-0x1.6ea822p+1 +0x1.05326p-2 +-0x1.30227ap-1 +0x1.69b302p-3 +-0x1.a95e1cp+0 +0x1.2ff44cp+0 +0x1.8803b4p+0 +0x1.e33526p+0 +-0x1.9d41ap+7 +-0x1.a15cdap-2 +-0x1.ad8b0ep+1 +-0x1.9c52c8p+1 +0x1.1e855ap-2 +0x1.bb99aep-1 +-0x1.1dae22p+1 +-0x1.9efa1cp+1 +0x1.7f4124p+1 +0x1.a0ae02p-1 +0x1.6c8868p+0 +0x1.7388f8p+15 +0x1.1a07e2p+1 +0x1.50e958p+1 +-0x1.c15efp+10 +0x1.62d0a6p+1 +-0x1.641802p-3 +-0x1.a1d7bcp+2 +0x1.8480d8p+15 +0x1.a5562ap+1 +-0x1.af841cp-2 +-0x1.6538b6p+1 +-0x1.29feb6p+0 +0x1.6071bcp+2 +0x1.3a75b2p+2 +0x1.501b28p+0 +0x1.cab884p-1 +-0x1.a5e6cep+11 +-0x1.94992p+1 +-0x1.4bf214p+0 +-0x1.f4aaa8p+0 +-0x1.c904a4p+0 +-0x1.85137ap-1 +-0x1.3253d2p+0 +-0x1.7e5a94p+0 +-0x1.ba8b24p-1 +-0x1.e32c5cp+1 +-0x1.f7a818p-1 +0x1.d79048p-2 +-0x1.e1ee3cp+0 +0x1.8a59e6p+0 +0x1.72b31ap-1 +-0x1.f0a79p-1 +-0x1.ec9f64p-1 +-0x1.ef4d44p+0 +-0x1.45030cp-1 +-0x1.3de03p+1 +-0x1.ae4ee8p-1 +-0x1.2a2442p+1 +0x1.1e09c8p-7 +-0x1.522542p+14 +0x1.0b13ecp-1 +0x1.5b2206p+0 +-0x1.c752f2p-2 +0x1.3d151p+0 +0x1.17da3p+0 +-0x1.266a0ap+0 +0x1.cfaceap+5 +-0x1.347da4p-1 +-0x1.39b5p-3 +0x1.b9a576p+0 +-0x1.721816p+0 +0x1.4139fep+1 +0x1.0b6028p+0 +-0x1.9cf32p-1 +0x1.4e858p+1 +0x1.b07b4ep-2 +0x1.11702p-2 +-0x1.3462ep+12 +0x1.f19c1p+4 +0x1.a9ca3ap+0 +-0x1.5506bcp-1 +0x1.7d3bacp-2 +0x1.ba237ep-1 +-0x1.9d3fecp+0 +0x1.04414ep+0 +-0x1.1ab066p+0 +0x1.261c9ap+7 +-0x1.f49bdp+5 +-0x1.bcfc0cp-3 +0x1.010d86p-1 +-0x1.7ff508p-1 +-0x1.4873b6p+1 +0x1.3ee03ep+1 +0x1.44bf16p-1 +-0x1.dc7bfep-2 +0x1.4b2044p-1 +0x1.84fe36p-2 +0x1.cd7622p+1 +0x1.1b1d3cp+1 +-0x1.9fcae6p+1 +-0x1.0a3b58p+0 +-0x1.2abc8ap+1 +0x1.8c4d68p-2 +0x1.0a5afep+1 +0x1.4fd2ccp-2 +-0x1.d0248cp+12 +0x1.8d885ep+1 +0x1.59ea52p+1 +0x1.0ec88cp-4 +-0x1.8a5d84p+1 +0x1.1a283ap-3 +0x1.829e76p+0 +-0x1.c94902p+4 +-0x1.013626p+1 +-0x1.d6aa46p+0 +0x1.1ae55cp-1 +-0x1.6d2bcp-1 +-0x1.2f894ap+0 +-0x1.8cccaap+2 +0x1.a1847ap-1 +0x1.61b9fap+1 +-0x1.593af2p-1 +-0x1.6fcb36p+0 +-0x1.4274fcp+17 +0x1.55402ep-5 +-0x1.7758f8p+0 +-0x1.129ed6p+0 +0x1.47b15cp-1 +0x1.c37c38p-3 +-0x1.55e59cp+0 +0x1.15ab24p-1 +-0x1.5efb3p+1 +-0x1.c82246p+1 +-0x1.1ec106p+0 +-0x1.632d52p+1 +-0x1.3b380ep-2 +-0x1.d06a62p+1 +-0x1.648c7ep+2 +-0x1.e0c74ap-1 +0x1.3b45c2p+1 +0x1.9ac134p+1 +0x1.821b66p-1 +0x1.49d4a4p-3 +-0x1.9536fep-2 +-0x1.e45f7p+0 +0x1.f42e02p-4 +-0x1.1447c8p-1 +-0x1.3814cap+0 +-0x1.d29b58p+4 +-0x1.db96f4p+0 +0x1.b7e8d8p+0 +0x1.31f092p+0 +-0x1.23d39ap+1 +0x1.03f4f2p+8 +-0x1.d6e588p+0 +-0x1.51e8dp-1 +-0x1.076dp+1 +-0x1.5ce54p-1 +-0x1.03dbfcp+0 +0x1.02c32cp+1 +0x1.2900dep+0 +-0x1.2da058p+9 +-0x1.5d3804p+1 +0x1.7b1186p+1 +0x1.ff5246p-2 +0x1.0e03a4p+2 +-0x1.76a414p+0 +-0x1.1fffa4p-3 +0x1.9caea4p-1 +-0x1.793d42p-3 +0x1.5b0824p-2 +0x1.254968p-2 +0x1.eb12bp+1 +0x1.fe8536p-2 +0x1.b1e56ap+1 +0x1.345306p-2 +0x1.307c96p+1 +0x1.4d5cbap+0 +-0x1.b1937cp-2 +0x1.00f6b2p+10 +0x1.36171ep+1 +0x1.55b3e6p-4 +-0x1.1aa44ep+0 +-0x1.b0bd84p+0 +-0x1.f054c2p-4 +-0x1.81014cp+1 +-0x1.4bfc86p+7 +0x1.d0a074p-2 +0x1.41625cp-8 +-0x1.40f226p+0 +0x1.68f226p-1 +-0x1.17690ep+1 +-0x1.75fa5ep+0 +0x1.295642p-2 +0x1.988104p-1 +0x1.2b01b2p+1 +-0x1.0f4d72p-3 +-0x1.4b462p+0 +0x1.9e7c32p+1 +-0x1.a6f89ep+0 +0x1.f2082cp-3 +-0x1.dd839ap+0 +0x1.7fca08p+0 +-0x1.c3c488p+0 +-0x1.6e8538p+1 +0x1.d8ed1cp-3 +-0x1.ebd99ep-1 +0x1.fd966p+0 +-0x1.206c2p+1 +0x1.aee0d6p+1 +-0x1.35d52ep-2 +0x1.13223ap-2 +0x1.743898p-1 +-0x1.4bae88p+0 +-0x1.b15ab2p+0 +-0x1.9ce3b2p+1 +0x1.cef452p+1 +-0x1.f17318p+1 +-0x1.e58d0cp-5 +0x1.808becp+0 +0x1.07f0bp+1 +0x1.325fd4p+0 +-0x1.9faafap-3 +0x1.6104f8p+2 +-0x1.7807e4p+1 +0x1.297574p-1 +0x1.3b4588p+0 +0x1.c568a6p+0 +0x1.6caddep+2 +-0x1.69894ep-1 +-0x1.373078p-2 +0x1.135deep+0 +0x1.e1285ap-2 +0x1.4b80b4p+1 +0x1.2811c4p+0 +-0x1.690a7cp+11 +-0x1.ab8ce8p-2 +0x1.9d7e14p+1 +0x1.3737cep+1 +-0x1.63ffeep+0 +0x1.193db2p+7 +-0x1.d9b722p-2 +0x1.022adcp-3 +0x1.08a9p+3 +0x1.18ec28p-3 +-0x1.6afe7p+2 +0x1.147d5cp+0 +-0x1.81f8cep+0 +0x1.0f3818p+0 +-0x1.c6ff78p+0 +-0x1.66360cp+0 +-0x1.6791dcp+1 +-0x1.77c6ep-1 +0x1.45d5f6p+1 +0x1.268336p+1 +0x1.3a13ap+0 +-0x1.780cfp-1 +0x1.6128b2p+0 +-0x1.439a56p+1 +0x1.50b1dp+0 +-0x1.4aaf2ap+13 +0x1.0ae6ecp+0 +-0x1.51968p-1 +0x1.ee129ep+14 +0x1.e0a29p+1 +0x1.8cdcd4p-5 +0x1.ec9936p+0 +0x1.5317a2p-1 +0x1.51d70cp-2 +-0x1.50ba0ap+0 +0x1.013cecp+5 +-0x1.9996fap+0 +-0x1.61d00ep+1 +-0x1.3a3a26p+0 +0x1.2f54b2p-1 +-0x1.b4951cp-1 +0x1.220f6p+0 +0x1.09e96p+0 +-0x1.b1165ap+0 +-0x1.be5766p+1 +-0x1.411e54p-3 +0x1.32640ap+1 +-0x1.9d3da6p-2 +-0x1.26eaa4p+0 +-0x1.9657b2p-1 +0x1.25d18p+0 +0x1.faee42p+1 +0x1.2f194p+6 +0x1.9ed352p-1 +0x1.c24bc2p+0 +-0x1.c46c08p+0 +0x1.058fa8p+1 +0x1.074894p+0 +-0x1.2cb5d2p+1 +-0x1.7b022cp+1 +0x1.d971cep+0 +-0x1.8ec86ap-3 +-0x1.f72738p-2 +0x1.219fdep-1 +-0x1.565374p+2 +-0x1.f7898cp+3 +-0x1.3c9b4ap-1 +0x1.0adc7p+1 +0x1.c5a68p-2 +0x1.da8b2p+6 +0x1.d9d092p+0 +0x1.7d3d04p-1 +-0x1.479fcep+1 +0x1.ef3f7ap-1 +0x1.52dc56p+0 +0x1.152d96p+0 +-0x1.b93628p+0 +0x1.6f1702p-1 +-0x1.d76088p+1 +0x1.396904p+2 +-0x1.bb8d38p-1 +-0x1.bea7cap-2 +-0x1.56dbccp-1 +0x1.3ad31p+2 +0x1.9e0406p-4 +0x1.f80584p-1 +-0x1.54278cp+1 +0x1.37b24cp-1 +0x1.f77b1ap-5 +-0x1.7c43b4p-4 +0x1.10f4e2p-1 +-0x1.84c3d4p-1 +0x1.6536d4p+0 +-0x1.45c85ep+1 +0x1.8d0b58p-1 +-0x1.7bfe86p+1 +-0x1.028574p+1 +-0x1.266d42p-5 +-0x1.6f1e52p+1 +-0x1.b57398p+1 +-0x1.069008p+1 +0x1.951438p+1 +0x1.54640ep+0 +0x1.a2e70ep-3 +-0x1.4584eap-2 +0x1.598412p+0 +-0x1.3508e2p+1 +-0x1.df8c74p+1 +-0x1.d401bcp+0 +-0x1.20ff5ep-1 +0x1.ade08ep-1 +0x1.fb9154p-3 +0x1.a816fp+0 +-0x1.90a1d2p-10 +-0x1.6b755ap+0 +-0x1.54b09ap+0 +-0x1.53687ep+1 +0x1.0603b8p+17 +0x1.1c64acp-2 +-0x1.1cd93cp-1 +-0x1.d6676ep-1 +-0x1.b3376p+0 +-0x1.397f52p-1 +0x1.204f1ep+1 +-0x1.9d15f8p+1 +0x1.86b446p-1 +-0x1.3a978cp+1 +-0x1.299fc8p+1 +-0x1.a744b8p-4 +-0x1.bb2884p-1 +-0x1.0a9a78p+0 +0x1.aabbf2p+0 +-0x1.a112b6p+0 +0x1.3d09dcp+1 +0x1.2cb5e2p+1 +0x1.3cd7acp-1 +-0x1.f1399p+0 +0x1.88f07ep+1 +0x1.93179ep-3 +0x1.2bfc96p+2 +0x1.32d43cp+7 +0x1.335b32p+1 +-0x1.e24d82p+0 +-0x1.ebc294p+1 +0x1.4d8134p+0 +-0x1.e10c4p-1 +-0x1.62805p+0 +0x1.6d05cep+14 +-0x1.407afcp+1 +-0x1.c12b48p-1 +-0x1.7ef92ap-3 +-0x1.41cc22p-1 +-0x1.b4dc08p+0 +-0x1.b8c92ep+0 +-0x1.a4756cp-1 +-0x1.d7ea62p+1 +0x1.a45014p-3 +-0x1.3949p-3 +-0x1.f154e4p+2 +0x1.b57efp+0 +0x1.6e593ep+0 +-0x1.b3b2e6p+0 +0x1.20b848p-2 +-0x1.a7a9a2p+1 +-0x1.3edfeap-2 +0x1.04df46p+1 +-0x1.85c872p-2 +0x1.987aa6p+1 +-0x1.8d8ff4p-3 +-0x1.7bbe5p-1 +0x1.09b6ep+0 +0x1.6540eep+0 +0x1.a035a8p+4 +0x1.1ca918p+14 +-0x1.6139c4p-3 +-0x1.4f44bp-2 +-0x1.c87cf8p+1 +-0x1.625e9p+1 +-0x1.b994fap+0 +-0x1.d21a74p+1 +0x1.fb8fbcp+1 +0x1.4e0292p+0 +0x1.7bec5ap+0 +-0x1.22ade6p+1 +0x1.3ff0fcp+0 +0x1.acf446p-2 +-0x1.081e4cp+0 +-0x1.af18d2p-3 +-0x1.816382p-1 +-0x1.dbf7e6p+1 +-0x1.109eap+1 +0x1.2f89c6p-1 +-0x1.0525cep-2 +-0x1.1527b6p-1 +0x1.b3de52p+0 +-0x1.730858p-1 +0x1.5a10d6p+3 +-0x1.6d8996p+1 +0x1.34fc5ap+0 +-0x1.8704c8p+1 +0x1.d4182cp+17 +-0x1.4e2aacp+0 +0x1.0e842ap+0 +0x1.624156p+1 +0x1.50d6fep+0 +0x1.471f7p-1 +0x1.016aep-2 +-0x1.6baefcp+0 +-0x1.21c30ap+0 +0x1.62072ap-5 +-0x1.39b198p+0 +0x1.7f04c2p-1 +-0x1.168386p+1 +-0x1.c9fbccp+1 +0x1.1635f4p+0 +0x1.3ddefp-4 +-0x1.1ee2cep-4 +-0x1.6899a6p+0 +0x1.dc1aa4p-2 +-0x1.b601c4p-2 +0x1.a84624p-1 +-0x1.33c518p+0 +0x1.a67986p+0 +0x1.0a3882p+1 +0x1.06a6ap-1 +0x1.6bf6eap-1 +-0x1.84d9fp+1 +-0x1.6cf124p-2 +0x1.dcbcep+1 +0x1.3536fp+1 +0x1.cdd5ap-1 +-0x1.bfefecp+0 +-0x1.618704p+0 +-0x1.17cefcp-1 +0x1.67adb2p+1 +0x1.3a3954p+0 +-0x1.d038d4p-4 +0x1.36d7a8p-1 +0x1.e318b2p-3 +-0x1.3e982cp+1 +0x1.471aa2p+1 +-0x1.178b0ep+1 +-0x1.b5c338p+0 +-0x1.a52046p+0 +-0x1.d018ccp-4 +0x1.2cb34p+10 +0x1.e26ee4p+1 +0x1.1156cep-1 +0x1.a0a6aap+1 +-0x1.267fe2p+0 +-0x1.1988fap-1 +0x1.0b474ep+0 +-0x1.8fe198p-1 +-0x1.5fdfdap+1 +-0x1.943708p-5 +0x1.8d0838p-1 +0x1.8b693ap+1 +0x1.fd35a4p+1 +0x1.20e762p-3 +0x1.1338d4p+2 +-0x1.ea5206p+0 +-0x1.cd9f28p-1 +-0x1.1da77p+2 +-0x1.123ce4p+1 +-0x1.07274p+0 +0x1.fb389p-1 +-0x1.39b1fp+0 +-0x1.153f22p+2 +0x1.8dd608p+1 +0x1.c91194p-1 +-0x1.06ef9ep-2 +-0x1.f7e71ep-4 +-0x1.2bcc98p-1 +-0x1.c4bcf8p+13 +-0x1.263fecp+1 +-0x1.d0ae2ap+0 +0x1.bf14b6p-4 +0x1.d08ea4p-3 +-0x1.d899f6p+1 +-0x1.c8a996p+0 +-0x1.5587dcp+2 +-0x1.c510eep+0 +-0x1.18b784p+1 +0x1.71cc02p+0 +-0x1.64f178p+0 +0x1.23e878p+0 +-0x1.aec4fap-2 +0x1.30e846p+1 +-0x1.f9dee6p-5 +-0x1.24ba82p-2 +-0x1.9fe796p-1 +0x1.af099ep+1 +-0x1.43231ap-1 +0x1.15808p+1 +-0x1.dd8294p+0 +-0x1.29bfc2p-4 +0x1.5fafe6p+0 +-0x1.22b358p+0 +0x1.6651c6p-6 +0x1.e17a66p+0 +0x1.d3c68cp-1 +-0x1.56483ep-3 +0x1.f538f4p-2 +-0x1.7fb88ep+1 +0x1.74596ap-2 +0x1.90a7c4p+1 +-0x1.74067ap-2 +0x1.3902e8p+1 +0x1.359ad8p-1 +-0x1.14bb78p+2 +-0x1.d2bp+0 +0x1.f9f7f8p-1 +0x1.f4b9e2p-3 +0x1.18af72p+1 +0x1.2336b2p+2 +-0x1.aa7a9ep+0 +0x1.23d8f2p+1 +0x1.066028p+0 +-0x1.7154c8p+8 +0x1.0787d6p+1 +-0x1.9b00fep-3 +0x1.fe98dep-1 +0x1.5ce4dap+1 +0x1.54b8p-1 +0x1.7631f2p+0 +-0x1.56d6cep+1 +0x1.e93e02p+1 +-0x1.508c64p+0 +-0x1.9421eep+4 +-0x1.c205f2p+1 +-0x1.4665ecp+2 +-0x1.95aab2p-1 +-0x1.0cb91ep+1 +0x1.517e3p-1 +-0x1.bf61d2p+0 +-0x1.457ed6p+1 +-0x1.37c8c2p+0 +-0x1.002cb2p+1 +-0x1.07c27ap+0 +0x1.274168p+0 +0x1.38f41ep+1 +-0x1.81ce3ap+0 +-0x1.d73dd2p-7 +0x1.1be246p+1 +0x1.6366c2p+18 +0x1.231018p+0 +0x1.23500ep-1 +0x1.19c6bep-1 +-0x1.5e77f6p+2 +-0x1.a6520ep-1 +-0x1.fad8dcp-2 +-0x1.520906p-1 +-0x1.77399ap-1 +0x1.14293cp+0 +0x1.50f4ap+0 +0x1.365732p+1 +-0x1.3469c8p-6 +0x1.b1cb36p-1 +0x1.0c8066p-1 +0x1.53f73p+0 +-0x1.ba6bf4p+1 +-0x1.142e22p-3 +0x1.240138p-1 +0x1.9bb95p+0 +-0x1.5a932ep-1 +0x1.ba4fb4p+0 +-0x1.223d3p+2 +-0x1.27b8aep-2 +-0x1.a8e546p-3 +0x1.01d11p+0 +-0x1.93f7d2p-5 +0x1.7fcddep+0 +0x1.9a1d8ep+1 +0x1.036464p+1 +0x1.b0e7p-2 +0x1.02db3p+2 +0x1.6b8aap+0 +0x1.2fa006p+1 +-0x1.d82328p+0 +-0x1.9d410ap+1 +-0x1.de77eap-4 +-0x1.149422p+9 +-0x1.cb4adcp-3 +-0x1.3f3ebcp+1 +0x1.2cd10cp+1 +-0x1.6f6f24p-4 +0x1.ed8106p-2 +-0x1.895068p+0 +0x1.00c424p+1 +-0x1.6b352ep-2 +-0x1.08fb74p+1 +0x1.26b1b2p+1 +0x1.5f5b98p-1 +0x1.5767d4p+1 +0x1.276b56p+1 +0x1.2bc056p+1 +0x1.054068p+1 +0x1.e8fb5ep-3 +-0x1.7950f2p-1 +0x1.61c78ep+1 +-0x1.3da23ap+1 +0x1.b309d2p+1 +0x1.b3d51ap-3 +0x1.c7101cp-1 +-0x1.17cc8p+2 +0x1.5e9e68p-1 +-0x1.7b88bap+1 +-0x1.bc3d1p-1 +0x1.fe1772p+1 +-0x1.454e04p-3 +-0x1.203ea8p-4 +0x1.0b63p+0 +0x1.0a3696p-1 +0x1.b69cbep-4 +0x1.e4a2ap-1 +-0x1.fc1de8p-3 +0x1.9c5f0cp+0 +-0x1.c662e4p-2 +0x1.cb775ap-1 +-0x1.61d9a4p-1 +-0x1.1450cep+1 +-0x1.e77354p+0 +-0x1.a191c6p-2 +-0x1.3b096ap+1 +-0x1.573978p-3 +0x1.974ac4p-4 +-0x1.19e942p+1 +-0x1.60de18p-1 +-0x1.787726p-1 +-0x1.fea152p-4 +-0x1.c22308p-2 +0x1.288e8p-1 +-0x1.18dcfep+3 +-0x1.e322c8p-1 +-0x1.11322ep+0 +-0x1.34b88ap+1 +0x1.52f128p+0 +0x1.119c1p+1 +-0x1.69e2d2p-6 +0x1.1feb9ap+1 +0x1.61fedap-1 +-0x1.8f798ap+1 +-0x1.507656p-2 +0x1.969822p-1 +-0x1.4b524ep-2 +-0x1.321ac4p-5 +-0x1.6ebfaep+1 +0x1.e1d78cp+1 +-0x1.1208eep+0 +0x1.50da0ap+0 +0x1.095648p+1 +0x1.d7c7b6p+1 +-0x1.d0964cp+0 +0x1.2e6518p+0 +-0x1.c0bdc4p+0 +0x1.1695dp-1 +0x1.0454b4p+0 +0x1.4ccceap-1 +-0x1.1db5fap-3 +-0x1.786a46p+1 +0x1.990da6p+0 +-0x1.f317d6p+4 +0x1.4f6fe8p+0 +-0x1.d20a7ap+0 +-0x1.99dd6p-1 +0x1.e5340cp+0 +0x1.a5b96ap+1 +-0x1.928d3cp-1 +0x1.2e3152p-1 +0x1.513136p+0 +0x1.0222cap+0 +-0x1.c39996p+6 +-0x1.ec6732p-2 +0x1.0523dep+0 +-0x1.3a3f7cp+1 +0x1.5ebaf6p+1 +0x1.224768p+1 +-0x1.1e90c4p+2 +-0x1.fedbaap+0 +-0x1.02282p+2 +-0x1.7e0754p+11 +0x1.5e371cp+10 +-0x1.e2fa34p+1 +-0x1.000ccp-1 +-0x1.16afe8p+1 +0x1.5d829ap+0 +-0x1.582e24p+1 +-0x1.65ffe8p-1 +-0x1.07b006p+1 +-0x1.8a79aap+1 +-0x1.362ff8p+1 +0x1.5a2a56p+0 +-0x1.ad62d6p-1 +0x1.43efdap-3 +-0x1.121deap-1 +-0x1.68e8ecp-1 +-0x1.4737a8p+0 +0x1.2e6986p+12 +0x1.d3725p-2 +-0x1.d01bfap+0 +-0x1.d040bp+0 +-0x1.d96b68p+14 +-0x1.23d4f4p+2 +0x1.82c22ep+9 +0x1.8733f8p+1 +0x1.bc26f6p+0 +0x1.054894p+6 +-0x1.c049b6p-5 +-0x1.fec492p-1 +0x1.7f7968p+1 +-0x1.1dd896p+0 +-0x1.a9ae64p+0 +-0x1.8077dep+1 +-0x1.1e7b08p+2 +0x1.235396p+0 +-0x1.c87d1p-3 +-0x1.d320dap-1 +0x1.03b144p+0 +0x1.7a3848p-1 +0x1.242e1ep+1 +0x1.b7936ap-1 +-0x1.4f848cp+0 +-0x1.0e20dcp+1 +-0x1.c14bcp+1 +-0x1.5f1d22p+5 +0x1.a4476p+1 +0x1.d225c2p-2 +0x1.21c166p-1 +0x1.235af8p+0 +-0x1.1b58bap+0 +-0x1.58b5e6p-1 +0x1.dc72e4p+1 +-0x1.de7f64p+0 +0x1.76a74ep-2 +-0x1.b2a272p-1 +-0x1.d78d2ap-1 +-0x1.d3a276p+0 +0x1.5d8ba8p-3 +0x1.492d76p+9 +-0x1.22ebdcp+1 +0x1.78e76p-1 +-0x1.991118p+0 +0x1.0855c4p+1 +-0x1.36a24ap+0 +-0x1.2510e8p+1 +-0x1.0d06dep-1 +-0x1.c765eep+11 +0x1.afd89cp-2 +-0x1.29809ep+0 +0x1.aaf702p+1 +0x1.9dcb1p-3 +0x1.5f3cc8p+0 +0x1.4ba3a6p+1 +-0x1.6d9b24p-3 +0x1.a3ea74p+0 +0x1.207bc6p-2 +-0x1.fe6d08p+0 +0x1.1a6974p+0 +0x1.d70e4ap+0 +0x1.6f4598p+1 +-0x1.0c62a6p-1 +0x1.d820cap+1 +-0x1.71efdcp+0 +-0x1.30841ap+0 +0x1.70f534p-1 +-0x1.18de14p+6 +0x1.d6ae62p+1 +0x1.f196bcp+0 +-0x1.41d18ep+2 +-0x1.762a84p+1 +0x1.d63c0ep+0 +0x1.f22036p+1 +-0x1.f1afc8p+0 +-0x1.d775dp+0 +0x1.a217aap+1 +-0x1.643dcp+14 +0x1.7d3ed6p+0 +-0x1.e87ddap+0 +-0x1.9ed7a2p+0 +-0x1.5be994p+1 +-0x1.9df17ep-2 +-0x1.4d8beap+1 +-0x1.dca98p+9 +-0x1.cd544cp-1 +-0x1.297dfap+1 +-0x1.72ed2p+0 +0x1.351bfep-2 +-0x1.7a6164p+0 +0x1.524c22p+0 +-0x1.0a74b4p+2 +0x1.1f939p+0 +0x1.21e258p-1 +0x1.7f5a82p+0 +-0x1.0326ep+0 +0x1.3dbaa2p-1 +0x1.c7e528p-2 +0x1.5e1d8ep-6 +-0x1.d7ebf6p+0 +0x1.9097b6p+0 +0x1.210e8p+8 +-0x1.fd2e5p-3 +0x1.34111cp+1 +-0x1.320bb8p+0 +0x1.c3d3cep-2 +0x1.d68baep-5 +0x1.d5fbdap+0 +0x1.774752p+1 +-0x1.a3adc4p+1 +-0x1.c7e54ap-1 +-0x1.1872bap-1 +-0x1.e39d88p+0 +0x1.b7553p+1 +-0x1.db9718p-2 +-0x1.7e4a4ap-1 +-0x1.ca0c48p-1 +-0x1.140942p-1 +-0x1.b89a4ep+1 +-0x1.047d92p-3 +-0x1.1fca22p+1 +0x1.f76c26p+7 +0x1.0ea7cp+1 +0x1.c6c844p+0 +0x1.603424p+1 +-0x1.a5ffd2p-1 +0x1.ab8658p+7 +0x1.125b5cp+1 +0x1.90738cp-1 +0x1.d921bp+1 +-0x1.b15416p+1 +0x1.44313ap+1 +0x1.f07062p+1 +-0x1.46944p-1 +0x1.52ed3ap+14 +-0x1.6c8e2p+1 +0x1.597e7cp+1 +0x1.f53812p+11 +-0x1.7b4e54p-2 +-0x1.47ffa4p+1 +0x1.5c496ep+12 +0x1.260286p+0 +0x1.686e96p+1 +0x1.710bd6p+1 +0x1.55e84p+1 +-0x1.43ffa8p-1 +-0x1.69b8c8p+0 +0x1.c0c0d8p+1 +0x1.eac24ap+0 +0x1.e064cp+1 +-0x1.c5a6f6p+1 +0x1.7d090ap+2 +-0x1.51054cp-2 +0x1.5e0ad8p+13 +0x1.064c9p+2 +0x1.0e768ap+1 +0x1.fcd304p+0 +-0x1.ad4e7ep+2 +-0x1.6fa7bcp+1 +0x1.1131d4p-2 +0x1.84b6fp+1 +0x1.82d034p+2 +0x1.307076p+0 +0x1.d6dd86p-1 +0x1.b0c424p-1 +0x1.6ecb46p-3 +0x1.5472dp-1 +-0x1.2c76e4p-3 +-0x1.d8f29ap+1 +-0x1.a631e4p+15 +-0x1.5bf5c4p+3 +0x1.88639ap-1 +0x1.004798p+1 +0x1.11537p-2 +-0x1.16a01p+12 +-0x1.dc8958p+0 +0x1.dc3e84p-1 +-0x1.93ea0ep+10 +0x1.aa6136p+1 +-0x1.99a04cp+0 +0x1.b0839ep+1 +0x1.d13378p+0 +0x1.117444p+8 +-0x1.443c98p+0 +-0x1.eeb87ep+0 +0x1.38c446p+1 +-0x1.710f7cp+1 +-0x1.07b1ap+1 +-0x1.c75e14p+0 +-0x1.3ddf74p-1 +0x1.27093p+1 +-0x1.0833d4p-1 +-0x1.2cb6bap-3 +0x1.6bd3ep+1 +-0x1.17db0ap+1 +-0x1.fc4a6ap-3 +0x1.df7684p+15 +0x1.40fc56p-1 +-0x1.cc7f4ep+0 +-0x1.792ec6p-1 +-0x1.44a492p+2 +-0x1.3827d4p+1 +-0x1.41cca4p+2 +0x1.465696p+13 +0x1.d9b438p+0 +-0x1.82e392p+3 +-0x1.dd1504p-2 +0x1.dfc3ccp+0 +0x1.1f3afep-2 +-0x1.0cc97cp+0 +-0x1.201c3ep+0 +0x1.df82bp+0 +0x1.395d76p-2 +-0x1.0b866ep+2 +-0x1.738d3p+1 +-0x1.0eeadep+1 +0x1.40cdccp+0 +-0x1.3c73dap+1 +-0x1.74ae48p-2 +0x1.d8275ap+0 +0x1.8ff2cp+10 +0x1.1723e8p+2 +0x1.8f429p-1 +0x1.550ea2p+1 +-0x1.b1783p-5 +-0x1.061f08p+1 +-0x1.7ae9bap-2 +-0x1.1541c8p-3 +-0x1.ed3336p-2 +-0x1.a2b8ep-1 +0x1.d1951ep+1 +-0x1.e01f1cp-1 +0x1.11494ap-1 +-0x1.39bbdap-2 +-0x1.a0c208p+1 +0x1.268d4cp+1 +0x1.8e2fbcp+0 +-0x1.6b14c4p+0 +0x1.8dc764p+0 +0x1.8779e6p-1 +-0x1.176c96p+0 +-0x1.25a544p+1 +-0x1.81eb7ap+0 +0x1.b54004p+9 +0x1.11e368p-2 +0x1.8ec7bp-2 +0x1.d2b6ccp+6 +-0x1.016aeep+7 +0x1.827ddap-1 +-0x1.14a3cep+1 +-0x1.01a3dcp+9 +-0x1.75eb8p+1 +0x1.24954cp+0 +0x1.f902dcp-1 +0x1.640cf2p-2 +-0x1.2f225p+1 +-0x1.02d94cp+1 +-0x1.9b7db8p+0 +0x1.68651ep+1 +0x1.f4797p+0 +-0x1.d1393ep+0 +0x1.c5dc9p+1 +0x1.bb6f32p-2 +-0x1.cd8996p+0 +-0x1.c73194p+0 +0x1.987076p-1 +-0x1.a68fcp+0 +-0x1.52d8c8p+6 +-0x1.339fbep+1 +-0x1.413902p-1 +0x1.ce6222p+0 +0x1.970f02p+1 +0x1.8abadap+0 +-0x1.2c58f8p-1 +0x1.06a996p+1 +-0x1.a7a642p+16 +-0x1.fe3dd4p+1 +-0x1.6021c8p+0 +-0x1.575738p-3 +-0x1.cfee4ap-1 +0x1.11638ep-1 +-0x1.fb4ad6p-1 +-0x1.9e297ep+9 +-0x1.00d2dap-1 +0x1.7fbfd8p+1 +0x1.5a65d8p+1 +-0x1.9b58a2p+5 +-0x1.4915bcp-4 +0x1.6beb9cp+0 +0x1.57a912p-1 +-0x1.12d05p-2 +0x1.89ea2ap-1 +-0x1.5632cep-1 +-0x1.d4c06cp+0 +-0x1.4f1954p-1 +0x1.3db73p+0 +-0x1.d8db14p-1 +0x1.98df14p+0 +0x1.14ed3ap-1 +0x1.152fd8p-1 +-0x1.eb0c42p-2 +0x1.c34eeap+0 +0x1.f84a2p+1 +0x1.43f32p+0 +0x1.38668cp+1 +-0x1.0fcddap+0 +-0x1.9f96a6p-2 +0x1.e85928p-1 +-0x1.361cep+2 +-0x1.8c83cep+1 +0x1.1c76acp-4 +0x1.5b1636p+0 +0x1.5c5494p+0 +0x1.969e8ap-4 +0x1.2440fap+2 +0x1.31fb48p+1 +0x1.2d1b84p-1 +-0x1.225302p+0 +-0x1.342994p+1 +-0x1.71951ep-1 +0x1.29b1a2p+1 +-0x1.cff758p+1 +0x1.2a3a82p+1 +0x1.f4252ap-3 +0x1.c8b542p+0 +0x1.83bb48p-2 +-0x1.4dda2ep+3 +-0x1.0fdb2ep+2 +-0x1.35116p+1 +-0x1.b63122p-1 +0x1.a740bp-1 +0x1.094508p+0 +-0x1.911454p+8 +-0x1.808f84p+1 +-0x1.b7e28ap-1 +-0x1.3c6e26p+1 +0x1.e87adep+0 +0x1.3902b2p-2 +-0x1.76edd4p-3 +-0x1.839bfcp+2 +-0x1.8b4aap-1 +-0x1.4a916p+0 +-0x1.bb2d5p+0 +-0x1.9fb55ep+0 +0x1.0cca48p+0 +0x1.0d849ep+16 +0x1.0dc2f2p-1 +0x1.9a8406p+1 +0x1.a607cap+1 +-0x1.44bb7ep+1 +0x1.f3e262p+0 +-0x1.15187p+1 +-0x1.5946e6p+1 +-0x1.d8f4f8p-1 +-0x1.bc8404p+0 +0x1.c53ab4p-4 +0x1.191f9ap+1 +0x1.acbcecp+0 +-0x1.4c2d72p+0 +-0x1.02ea12p+1 +0x1.20889ep-1 +0x1.8c2f3p+1 +0x1.10b322p-3 +-0x1.39c9aap+17 +-0x1.2743a2p+0 +0x1.4c16c2p-1 +-0x1.035d74p-4 +-0x1.596772p-1 +-0x1.044af2p+1 +0x1.57275ap+0 +0x1.0b9a4cp+2 +0x1.c2c14ap-1 +-0x1.18b6fp+0 +0x1.aa7be8p-2 +0x1.0e7168p+1 +-0x1.b5a3dcp-2 +-0x1.c72a6ap-1 +-0x1.cb8108p-3 +-0x1.47dbd4p+1 +-0x1.df37b2p+0 +-0x1.430244p+1 +0x1.f6648p+1 +0x1.d75654p+0 +0x1.19a41ap+0 +-0x1.ac1622p-1 +-0x1.901e2p+0 +0x1.091688p+0 +-0x1.9edd0ep+0 +-0x1.6e9738p+0 +0x1.66dc78p+1 +-0x1.8400fep+5 +-0x1.a8aa78p-6 +-0x1.aee52cp+1 +0x1.968dc2p+12 +0x1.086cfep+7 +-0x1.78192p-3 +0x1.2401c8p+1 +0x1.4296cep+0 +0x1.b9051ep+1 +0x1.6b220ep+0 +-0x1.ae685cp+4 +0x1.aed15ep+1 +0x1.144ca4p+2 +0x1.67aa5p+1 +-0x1.48a92p+1 +0x1.9a61f2p-2 +-0x1.131b2cp+1 +0x1.eaf848p-1 +-0x1.be68cp+10 +-0x1.a0321ap+0 +0x1.616dbp+0 +0x1.2ed1fcp-1 +0x1.0e1f56p-1 +-0x1.9f96e8p-1 +-0x1.0ef2a6p+1 +-0x1.6462b4p-2 +-0x1.d53832p+0 +0x1.b8dd7p-1 +0x1.4874bap-1 +-0x1.ec97bap+1 +-0x1.53ef34p+0 +-0x1.07fbaap+1 +-0x1.d5c394p-1 +-0x1.448fe4p+2 +0x1.094c28p+0 +0x1.31663ep+1 +-0x1.cf8768p+0 +0x1.3509dp-2 +0x1.8dabe2p-1 +0x1.89563ep-1 +0x1.41e1ccp-1 +-0x1.bb2d1cp+0 +0x1.1c840ep+1 +0x1.bc5d9p+1 +0x1.36b89cp+0 +0x1.d51926p+1 +-0x1.88f8a4p+1 +0x1.033bdcp+1 +0x1.710218p+0 +-0x1.3d096ap-5 +0x1.3473c8p+1 +-0x1.e31a32p+0 +0x1.efcb56p+0 +0x1.a506aep-2 +-0x1.711fe8p-4 +-0x1.144e54p+1 +-0x1.821f6ap-1 +-0x1.facc3ep-3 +-0x1.8d14p+2 +-0x1.69e3aep-1 +0x1.4818c4p+0 +-0x1.40af88p+1 +0x1.74a9b4p+1 +-0x1.03bd38p+1 +0x1.6e1a9p-3 +0x1.702f9ep+0 +-0x1.788988p+17 +-0x1.a28782p+0 +-0x1.6a13d2p+0 +0x1.bf6546p-2 +0x1.0073b4p-3 +-0x1.deccb4p+0 +0x1.b97cd6p+1 +-0x1.e8595ap+1 +-0x1.e8608ap+0 +0x1.29b278p-1 +0x1.12bc5ep+6 +0x1.0c8efep-3 +0x1.8abba2p+0 +-0x1.701154p-1 +0x1.11c3p+0 +-0x1.fcebaap+0 +0x1.b7819ap-2 +0x1.c4abcep+0 +0x1.546188p+5 +-0x1.625d3p-1 +-0x1.4d1642p+2 +-0x1.6e78e8p+1 +0x1.ff57b4p-2 +-0x1.732f8p+1 +0x1.c60c8ap+1 +-0x1.6c0f72p-5 +0x1.6c6fccp+0 +-0x1.8770acp+1 +0x1.2e1f4p+0 +-0x1.8a5f1p-4 +-0x1.137b36p-3 +0x1.08318ep+0 +0x1.55dadp+0 +0x1.c697cap+0 +-0x1.7e14c4p-1 +0x1.c05afap+0 +0x1.649566p+13 +0x1.d456c4p-2 +0x1.8f5974p+0 +0x1.9e9302p+1 +0x1.27f39ap+1 +-0x1.1bbf7cp+0 +-0x1.be890cp-3 +0x1.a553d6p+0 +0x1.43939ep+0 +-0x1.4045e4p+1 +-0x1.35a0f6p+1 +-0x1.3422aap+0 +0x1.fa67b6p+1 +-0x1.3cc6fcp+1 +-0x1.c34b1ep+14 +0x1.78175cp-1 +0x1.07b032p+2 +-0x1.39bc1cp+0 +0x1.7e1ecap+1 +-0x1.a8cdaap+0 +0x1.f5b0cap+0 +-0x1.e7061ap+0 +-0x1.323af2p-1 +0x1.8d033ap+0 +-0x1.a1a074p+0 +0x1.50cc42p-3 +-0x1.f56e5ep+0 +0x1.3859dap+0 +0x1.73203cp+0 +-0x1.8adde6p+0 +-0x1.d557aep-3 +0x1.36e46ep-2 +-0x1.70fe44p+5 +0x1.27b778p-4 +-0x1.3d6d94p+0 +-0x1.11e906p+0 +-0x1.deaedep+1 +-0x1.6c2686p-1 +-0x1.751cb6p-1 +0x1.7e5a44p+0 +-0x1.a1a944p+0 +-0x1.631e76p+0 +-0x1.4974eap-2 +-0x1.610c3ap-4 +0x1.64f79cp-1 +0x1.ef4876p-1 +0x1.3bf078p+2 +0x1.1b3054p-4 +-0x1.0d3a5p-1 +0x1.017ee4p+2 +-0x1.208ccp+1 +-0x1.5f084ep+1 +-0x1.2bc952p-3 +0x1.79882cp+0 +0x1.f213b8p+0 +-0x1.a1dee8p-5 +0x1.398bap-1 +0x1.18888ep+17 +0x1.25cfeap+10 +0x1.d9419cp+13 +0x1.b164eap-2 +0x1.adaf62p+1 +0x1.e9a2d2p+0 +-0x1.17544ap+1 +0x1.3276eap-3 +0x1.3bfec6p+8 +-0x1.a4524cp+7 +0x1.bde5bcp+8 +-0x1.294108p+12 +0x1.e4a268p+0 +-0x1.2988d8p+0 +-0x1.35c038p+0 +-0x1.ba83c6p-4 +-0x1.2596bap+1 +0x1.a73c7p-1 +-0x1.d574c6p-3 +0x1.9e272ep+1 +-0x1.baca84p+0 +0x1.9f22e2p-1 +-0x1.c073cap-2 +0x1.1633b2p+0 +0x1.63fdep-1 +0x1.3bf4p-2 +-0x1.242928p-1 +0x1.b44f6p+0 +0x1.35ef8ep+0 +0x1.554106p+7 +0x1.01263ep-2 +0x1.43f43cp+1 +-0x1.272e42p-2 +0x1.cde266p+1 +-0x1.2759fcp+1 +0x1.53c2ap+0 +-0x1.3b002ap+0 +-0x1.a9d384p+0 +-0x1.c0ffa4p+1 +0x1.28be5ap+1 +0x1.dee24p-2 +0x1.00a382p+1 +-0x1.089956p+1 +0x1.b552fp+13 +0x1.1d9202p-2 +0x1.b4eabap+1 +-0x1.50679p+2 +-0x1.b0207ap-1 +0x1.15067ep+0 +0x1.33b2fep+1 +0x1.229d8ep+0 +-0x1.14bb16p+1 +0x1.06aa7ap+0 +0x1.b45904p-1 +0x1.715c2cp+1 +0x1.668408p+0 +0x1.f24d72p-2 +0x1.dbf50cp+1 +-0x1.938fbap+1 +-0x1.bbfd72p-3 +0x1.333e5ep+1 +0x1.05222ep-3 +0x1.8c6cd2p+1 +0x1.8f1b76p-1 +-0x1.02c5f6p-1 +-0x1.1713aap-2 +-0x1.a29ad4p+1 +-0x1.b6d618p-1 +-0x1.70b116p-2 +-0x1.d84738p-1 +-0x1.a232cp-3 +-0x1.4924e6p+10 +0x1.523a7ep+1 +0x1.e70aeep-1 +-0x1.5a1c98p+0 +-0x1.ed119p+0 +-0x1.792fd2p-2 +0x1.488072p+0 +-0x1.e435bep-1 +-0x1.e5248cp+0 +0x1.2ea91cp+0 +0x1.075236p+1 +-0x1.9fd766p-4 +0x1.d27774p-2 +0x1.a0de76p+1 +-0x1.779e1ap+0 +-0x1.9a63b2p+0 +0x1.4551cp+0 +-0x1.2bf0fp-3 +-0x1.ae0f78p-1 +0x1.f4803ep+18 +0x1.34f0d2p-1 +0x1.69e272p-1 +0x1.2da5a4p+2 +0x1.a9cf96p+0 +-0x1.45019ep-3 +-0x1.02b058p+5 +0x1.ce6a22p+0 +0x1.e60fc4p-2 +-0x1.ba4f24p+0 +0x1.bef6acp-1 +-0x1.f08f32p-2 +-0x1.827efp-1 +-0x1.814518p+0 +0x1.929f7cp-1 +-0x1.2e62cap-2 +-0x1.0b1e92p+1 +0x1.8b1da8p-1 +0x1.41a8c4p+0 +-0x1.c2ed34p+0 +0x1.23ff52p+1 +-0x1.797516p+0 +-0x1.75dcccp+1 +0x1.31814p-1 +-0x1.19f828p-2 +0x1.4f28e4p+1 +0x1.9f7bep-2 +-0x1.5563cep+6 +0x1.f24a98p+0 +-0x1.3785cp+0 +-0x1.28ddfp+1 +0x1.af2e4cp+0 +-0x1.bb9c34p+0 +-0x1.237384p+1 +0x1.216e94p+0 +-0x1.404f78p-2 +-0x1.d5f764p+0 +-0x1.6a54a4p-2 +-0x1.ea251ep-2 +0x1.e4d75cp-1 +-0x1.51d778p+1 +0x1.f0ffbep-2 +0x1.07cd9ap-1 +0x1.7291e8p+0 +-0x1.fe51bp+16 +0x1.16fa72p+0 +-0x1.68cf94p+0 +0x1.bda476p+1 +-0x1.d8c13ap+16 +-0x1.044f2cp+1 +0x1.651544p+12 +-0x1.05859ap+1 +-0x1.51373ep-5 +0x1.0ccfep-2 +0x1.217ce6p+1 +0x1.5f8346p-1 +-0x1.4855b8p+1 +-0x1.c67156p-3 +0x1.f4d97p+5 +0x1.2a6246p+0 +0x1.caa2ecp-2 +-0x1.682f24p+0 +-0x1.d0d90ep+1 +0x1.904d8p+0 +-0x1.d9bc36p+0 +0x1.b609dp+0 +-0x1.9a9a14p+0 +0x1.e69d3p+5 +-0x1.ada57ep+0 +0x1.8fce24p-1 +0x1.ac55ep+0 +-0x1.0c3b9p-1 +0x1.a5e5b4p-1 +-0x1.0565e8p+0 +0x1.6da238p-2 +0x1.3bed0ap+19 +-0x1.ff2f3cp+1 +0x1.bef44ap+1 +-0x1.8801d6p-3 +-0x1.cbb29ep-1 +0x1.09dc7p+0 +0x1.a09c22p+16 +0x1.7e57fap+3 +-0x1.6ef242p+1 +-0x1.5b7c1ap+3 +0x1.218a9p+1 +0x1.065246p-1 +-0x1.4bc35ap+1 +-0x1.503f56p+0 +-0x1.de0226p+0 +-0x1.7c16f2p+1 +0x1.be4304p+1 +0x1.a2e2c6p+1 +0x1.5f5178p+0 +-0x1.80f52p+0 +0x1.be8832p+1 +0x1.1e1ad8p+1 +0x1.88af12p+0 +0x1.56d51p+0 +0x1.2e8bcap+0 +0x1.7c2a16p-1 +-0x1.c3f246p-1 +0x1.2c923ap+17 +0x1.11083cp+1 +-0x1.7e2af4p+0 +-0x1.7da2eap-2 +0x1.506ffcp-2 +0x1.7ab5eap-2 +0x1.b77cacp-3 +0x1.7b3b4ep+1 +0x1.bbddc2p+0 +0x1.c509a2p+1 +0x1.193536p+13 +-0x1.71cd3ep+17 +0x1.826b8p+1 +0x1.88115p+0 +-0x1.242f7ap-1 +-0x1.4b33fap-2 +-0x1.3ff7b2p+1 +0x1.e5c146p+0 +-0x1.0452ccp-5 +0x1.cb2aaap+6 +-0x1.2fe8f8p+0 +0x1.4b188cp+0 +-0x1.02805ap-1 +0x1.81a3dp+1 +0x1.61605p-2 +-0x1.88b9b4p-1 +0x1.adbdep+0 +0x1.ef8b78p-2 +0x1.6f0586p+0 +0x1.12e948p+9 +0x1.e0380ap-1 +-0x1.72ba7p+1 +0x1.085a22p-1 +-0x1.4730bap+2 +0x1.d2be6cp-1 +0x1.9070f6p+2 +-0x1.13802ep+1 +-0x1.1f41e4p-2 +-0x1.29929cp-1 +0x1.d3f8e6p-2 +-0x1.001bd2p+4 +0x1.0ad204p-2 +-0x1.e96f94p-2 +-0x1.21e5d8p+0 +0x1.2ad73p+11 +-0x1.fea528p-7 +-0x1.93dc6ap-1 +-0x1.680cd2p+2 +0x1.21f1f2p+0 +-0x1.060a6ep+2 +-0x1.1ff164p+1 +0x1.386158p+9 +-0x1.0ccf4p+2 +0x1.12b196p+1 +-0x1.220a6p-1 +-0x1.5ef9ecp-1 +0x1.71cdb6p+0 +0x1.1b40f2p+1 +0x1.dae342p-2 +0x1.ceb356p+1 +0x1.028d0ap+0 +-0x1.0e4394p-2 +0x1.9bebf2p+6 +0x1.d86p-2 +-0x1.e6a31ap+0 +-0x1.59c1dap+1 +0x1.1e75dap-3 +-0x1.0d4c2p+1 +0x1.c430b8p+1 +-0x1.d37956p+0 +-0x1.a04d48p-3 +-0x1.04014cp-2 +0x1.658adp-1 +-0x1.0ff5d6p-5 +-0x1.757c72p+7 +-0x1.26c032p+1 +0x1.ee75eap+3 +0x1.502734p+0 +0x1.687e12p-1 +-0x1.82955ep-2 +-0x1.f0a28ep+0 +-0x1.934f9p-1 +0x1.9f3cp-1 +0x1.104162p+0 +0x1.250e94p+2 +0x1.cbb8b2p+0 +-0x1.3e6664p+12 +-0x1.39dd92p-1 +-0x1.69653ap+0 +-0x1.9e5b08p+1 +0x1.cf9e7ep-3 +-0x1.f509a8p+0 +0x1.e6fb88p-1 +-0x1.b1e6cap+16 +-0x1.d09f9ap+16 +-0x1.d76b72p+1 +0x1.c56e2cp+1 +0x1.2fd78cp+0 +-0x1.53571ep-1 +0x1.1fc02cp+1 +0x1.05940ap-1 +0x1.beec42p+3 +-0x1.deccf2p+0 +-0x1.c31c2p+1 +-0x1.609aeap+14 +0x1.3e4dd6p+1 +0x1.32e094p-1 +0x1.b25072p+0 +-0x1.e1b734p+1 +0x1.36b69cp+1 +0x1.24780ep+1 +0x1.353a98p+0 +-0x1.3612bcp+1 +-0x1.e53778p-2 +0x1.17896cp+1 +0x1.ea007cp+5 +-0x1.53c8cap+0 +0x1.ea6f96p+0 +0x1.b4e004p-1 +-0x1.e2af58p+1 +0x1.0533a6p+1 +0x1.c505aap+12 +0x1.a8aec6p+1 +-0x1.70f68p+0 +0x1.51f402p+0 +0x1.db0648p-3 +0x1.4e1964p-2 +0x1.a93094p-1 +-0x1.1026fep+0 +0x1.2b118p-3 +-0x1.1663b2p-1 +0x1.64f32ap-1 +0x1.76f538p+1 +-0x1.229edap-4 +-0x1.9d5422p-2 +0x1.663992p-1 +0x1.827424p-2 +0x1.56ef8ap+0 +-0x1.48c9fcp-10 +0x1.2c9096p-1 +0x1.f11c2ap-2 +-0x1.d30d84p+0 +0x1.7c24bp+0 +-0x1.a8496ap+0 +-0x1.8d426p-1 +0x1.2fee8ep+0 +0x1.2784b4p+0 +-0x1.fa3b2p-2 +0x1.5f32acp-1 +-0x1.d1bb1p+0 +-0x1.b9e65cp-2 +-0x1.4d433p+12 +-0x1.6dbe7p-2 +0x1.a46e98p+1 +0x1.4cde12p+1 +-0x1.e842a6p+0 +0x1.a07a38p-1 +0x1.021d6cp+1 +-0x1.07a6aap-1 +0x1.684072p+2 +0x1.5a13a4p-1 +0x1.e2f996p-4 +-0x1.5ffafep-1 +0x1.b56388p-2 +0x1.7d238p-3 +-0x1.61af1cp+0 +0x1.3080fp-5 +0x1.24984ap+1 +-0x1.89074p+1 +-0x1.ab4148p+1 +-0x1.dfbe18p-3 +0x1.9308cp-2 +0x1.c58a08p+1 +0x1.b362b4p-1 +0x1.57be1p-3 +0x1.475e48p+6 +-0x1.020ca6p+2 +0x1.83ec8ap+0 +0x1.b2c478p+0 +-0x1.113a0ap+0 +-0x1.d382c8p+0 +0x1.7880f4p-1 +0x1.971a04p+1 +0x1.0fb78p+0 +-0x1.9719cap-2 +0x1.ea1f6ep-3 +0x1.32beaep+1 +-0x1.cf59e6p+0 +0x1.1b29dp+1 +-0x1.3a8dc8p+1 +-0x1.9329f8p+0 +-0x1.da33fap-2 +-0x1.6ef64cp-1 +0x1.842f2ep+2 +-0x1.52cf36p-3 +0x1.081ab8p-1 +-0x1.a3029ep+1 +0x1.0dd4a2p+2 +0x1.342d84p-2 +-0x1.365096p-2 +0x1.f8c28p-1 +0x1.2e34b2p+1 +0x1.76e0ccp+1 +0x1.7fc06cp+1 +-0x1.1fc044p+1 +-0x1.0ae6fcp+1 +-0x1.2c6562p+0 +-0x1.cc02a4p+0 +0x1.eed6e2p+1 +-0x1.95d15ap+1 +-0x1.c9bdbap+1 +-0x1.1ee18ep+14 +0x1.059c14p+1 +-0x1.cd3fc2p+0 +0x1.6e093cp+0 +-0x1.4d1a16p+1 +0x1.fbe58cp-1 +0x1.bc4616p-1 +0x1.8efeaep-3 +-0x1.edf52cp+0 +-0x1.c75fdep+1 +-0x1.360ca4p+1 +-0x1.8316aap-1 +-0x1.d60076p-5 +0x1.69c85cp+18 +0x1.dcda46p+0 +-0x1.59eddp-5 +0x1.4b4d1ap-2 +0x1.33462p+1 +-0x1.29ca76p+0 +-0x1.be1556p+0 +0x1.ea0cp-1 +-0x1.ce3404p-1 +0x1.203732p+16 +-0x1.e1bb82p+0 +0x1.ea0ff4p-4 +0x1.923c72p-3 +-0x1.4884c2p+1 +0x1.152026p+2 +0x1.d299f4p+0 +0x1.0386c8p+2 +0x1.00ec54p-2 +-0x1.0a6d14p+0 +0x1.0269a4p+0 +0x1.563868p+0 +-0x1.b712cap-2 +0x1.1f2cd4p-2 +0x1.ed4bep-3 +-0x1.a29e18p-4 +-0x1.069dcp+1 +-0x1.050c8ap+0 +0x1.90271cp+1 +0x1.17cf9ap+0 +-0x1.917cap-1 +0x1.15f86p+2 +0x1.b87e36p+1 +0x1.7ae312p-1 +-0x1.c5c72cp-3 +-0x1.eb5c14p-1 +0x1.2db7cep+2 +0x1.917df8p+1 +0x1.0032d2p+1 +-0x1.c04d52p-2 +-0x1.658aacp+1 +-0x1.def7a4p+0 +0x1.1c1b7cp+17 +-0x1.e29c2ep+1 +-0x1.3a92f6p+0 +-0x1.018406p-1 +-0x1.a1bb46p+0 +-0x1.cd19acp-1 +-0x1.48b60ep-1 +-0x1.bd3504p-2 +-0x1.c46618p+1 +0x1.bf977ep-2 +0x1.8be50cp+14 +-0x1.a5f17p-2 +-0x1.f0471p+0 +-0x1.49c53ap+0 +0x1.99798ep-2 +0x1.313ffep+5 +0x1.91aab6p+0 +-0x1.28062ap+1 +0x1.1d4446p+13 +-0x1.2aefep+1 +-0x1.53a44ep+1 +0x1.4bc1cap+18 +0x1.c5d29ep+1 +0x1.539ccep-1 +0x1.1d375ep+2 +-0x1.8e5f28p+1 +0x1.6b2458p+0 +0x1.734bbp+0 +-0x1.67befp+0 +0x1.ba7dp-2 +0x1.6f2d8ap-1 +-0x1.4e682ep+0 +-0x1.866034p-3 +-0x1.a8b234p+0 +-0x1.5b18fp+1 +-0x1.43970cp+0 +0x1.2cbe72p-4 +-0x1.26b7cp+1 +0x1.194518p-1 +-0x1.d7ef26p+0 +0x1.6bd3bep+0 +0x1.2d60d6p+1 +0x1.4e2a48p-1 +-0x1.9bc726p+0 +0x1.6521f8p+1 +0x1.3246dcp-1 +-0x1.80003p-1 +-0x1.1678p+1 +-0x1.14856p+2 +0x1.54ed1cp+1 +-0x1.2eefa8p-1 +0x1.97c2d4p-1 +-0x1.142d7cp+1 +-0x1.796aaap-3 +0x1.6216e8p-2 +0x1.546bc4p+2 +-0x1.998eb2p-1 +0x1.25fa9p+0 +0x1.fc34f6p+0 +-0x1.6999cap+1 +0x1.52bfeep-1 +0x1.564f16p+0 +-0x1.aeebaap-1 +0x1.99268ap-4 +-0x1.ee66bp-1 +-0x1.1c6a18p+0 +0x1.435e7ep-3 +0x1.76cc2ep+2 +-0x1.83fc52p-1 +0x1.3abca8p+10 +0x1.03605cp+0 +0x1.add1eap-3 +-0x1.12d562p+1 +-0x1.b48c3p-1 +0x1.6b3ae4p-5 +0x1.173f84p+2 +-0x1.053674p+15 +0x1.67d708p+1 +0x1.46b33p-3 +-0x1.95dc2p-4 +-0x1.fb3326p-2 +-0x1.d185f6p+0 +0x1.7f29d6p+1 +0x1.404b72p+0 +-0x1.d55568p+0 +-0x1.6dfd1cp+1 +-0x1.ec906ep+0 +-0x1.685456p+0 +-0x1.fe44a2p-3 +-0x1.ee6b7p+0 +-0x1.762efap-2 +0x1.d80ad8p+1 +-0x1.486074p-5 +0x1.0a8cf2p+1 +-0x1.216b44p+2 +-0x1.5c978cp-5 +0x1.823b3p+1 +0x1.2b1e8cp+17 +-0x1.2f5176p+1 +-0x1.c4b98p+1 +0x1.4b06dcp+0 +0x1.9ac9d8p+1 +-0x1.931d06p+10 +-0x1.6a96ep+1 +-0x1.b56508p+1 +0x1.03ba24p+0 +-0x1.00f62cp+1 +-0x1.290906p+1 +0x1.200272p-4 +0x1.02cdd8p+1 +-0x1.c1df0ap-1 +0x1.62082cp+2 +-0x1.38363p+2 +0x1.05e18cp+1 +0x1.b4f518p+0 +0x1.5d5d26p+0 +-0x1.1bd404p+1 +0x1.1ed7d2p+1 +-0x1.12297ap+6 +0x1.6d2c4ep+14 +0x1.86cc4ap+1 +0x1.0faedep+1 +0x1.ff5698p+1 +-0x1.94f97ap-1 +0x1.e3ca74p-1 +-0x1.4e0fbcp+0 +0x1.4f04d2p+1 +0x1.118368p+1 +0x1.1cf136p+0 +0x1.c262bcp+0 +0x1.ec42dp+3 +0x1.c7e2aep+1 +0x1.0ea45cp+1 +0x1.70b79cp+0 +-0x1.809facp+1 +0x1.073ac8p+2 +-0x1.00e0b4p+2 +0x1.18653cp+0 +-0x1.2914dcp+0 +0x1.5443d2p+1 +0x1.a48fbp-3 +-0x1.b7f86cp+0 +0x1.cf689cp-1 +-0x1.4df39p+0 +0x1.3d9148p+0 +0x1.04d87p-2 +0x1.183f9p+1 +0x1.131824p+0 +-0x1.cae47cp+1 +-0x1.72a1c2p+0 +-0x1.3d1ec8p-6 +-0x1.051fbcp+1 +-0x1.dd8fcap-2 +0x1.ac2c58p+1 +0x1.cf0ef6p-2 +0x1.2a15bcp+1 +-0x1.6458bap-1 +0x1.3dfbap+1 +0x1.acce48p-1 +-0x1.4a6c2ap+0 +0x1.0d65ep+1 +-0x1.ef75c4p+1 +0x1.8dcdf2p-1 +-0x1.1aa7e2p+1 +-0x1.d7ae6cp-2 +-0x1.dabe96p-1 +-0x1.42dc8p-4 +-0x1.e3ffp+0 +-0x1.567bdp+1 +0x1.45e4cap+0 +-0x1.490a68p+1 +-0x1.0f8e2p+1 +0x1.6b87dep-3 +-0x1.948dp-1 +0x1.215098p+2 +0x1.91ff1p+0 +-0x1.1e2c2cp+10 +-0x1.b26978p+0 +0x1.9b8ef8p-1 +0x1.4fc9ccp+0 +0x1.ebd0fcp+6 +0x1.249b54p+1 +-0x1.360a5cp+1 +0x1.6a3caep+1 +0x1.08101ep+2 +-0x1.ecf65cp-2 +0x1.62cadap-2 +-0x1.06112ep+0 +0x1.991d78p+0 +0x1.606aep+1 +-0x1.070714p-2 +-0x1.562a98p-3 +-0x1.dc5e96p+0 +-0x1.83bc2ep-1 +0x1.5f291cp-5 +0x1.6c1ab4p+0 +0x1.0c56dp+1 +-0x1.1316ecp+9 +0x1.0dc786p+4 +0x1.990464p+0 +0x1.06002cp-4 +-0x1.f13c1ep-3 +-0x1.180a16p-1 +-0x1.8f8b4ep+1 +-0x1.1649f2p+1 +-0x1.97f9eap-1 +-0x1.4fe618p+0 +-0x1.943578p+3 +0x1.10b602p-2 +0x1.60cce6p+11 +0x1.f010c6p+0 +-0x1.18296ep-2 +-0x1.3d588cp-2 +-0x1.6d5964p+1 +-0x1.9dca2ap-1 +0x1.257a96p+1 +0x1.d69b8ap+12 +-0x1.ead32cp+1 +-0x1.47b2dp+1 +-0x1.319552p+1 +0x1.03d558p+1 +0x1.c00ae2p+1 +-0x1.8fab24p-3 +0x1.3549ccp+1 +0x1.007aa6p+0 +0x1.457e7ap+0 +0x1.18726cp+0 +0x1.13ddb4p-1 +-0x1.03641ep+0 +0x1.4c7becp+1 +-0x1.a59092p-1 +0x1.2641cap+0 +0x1.156662p+2 +-0x1.e0f6fcp+1 +0x1.05feecp+2 +0x1.d3c478p+17 +-0x1.54405ap+0 +0x1.705f56p+0 +-0x1.15a24ep+14 +0x1.d1237p-1 +0x1.6718eep+0 +-0x1.57e652p+1 +-0x1.79544ep-1 +-0x1.16d64p+1 +-0x1.1ac906p+1 +-0x1.e85af4p+0 +0x1.bb11c6p-2 +0x1.7f800ep+0 +0x1.3d5614p+1 +-0x1.cb8fc6p-1 +-0x1.38784cp+1 +-0x1.4ab4fap-2 +0x1.88cf0cp+14 +0x1.3dd5b8p+0 +-0x1.ffa216p-2 +0x1.476134p-1 +0x1.e5787cp-1 +-0x1.f9e446p-1 +-0x1.93e5d2p-1 +0x1.4357fap+0 +-0x1.4f73ep-1 +0x1.9d7f48p+1 +-0x1.f46b4cp-3 +0x1.4cc132p-2 +0x1.3e01aep+1 +-0x1.b8cd7cp-1 +0x1.17734cp-2 +-0x1.4d84b6p+2 +-0x1.5e3c2cp-2 +0x1.39600cp+1 +-0x1.d9fed2p+0 +0x1.cf3dfp+0 +0x1.97d41ap+1 +0x1.ee4f3ep+0 +0x1.a9ca8cp+9 +-0x1.89719cp-3 +0x1.7a6966p-3 +0x1.323646p+1 +0x1.fa475ap+3 +-0x1.f26d5ep+0 +-0x1.32b2dp+0 +0x1.c7fba6p-5 +-0x1.016d02p-4 +-0x1.29eb78p-1 +-0x1.0abdfp+0 +-0x1.83caeep+1 +-0x1.e77142p+1 +-0x1.70babp+11 +-0x1.0b184ep-3 +-0x1.2f8bb2p+2 +-0x1.b2a8bap+0 +0x1.900b1ep+1 +-0x1.f1c7ecp-1 +0x1.810202p-1 +0x1.2c9fc4p-2 +-0x1.f03356p+1 +-0x1.9fd06ep+1 +0x1.9d463ep+1 +-0x1.3acaaap+1 +-0x1.6968e6p+1 +-0x1.b4160ap-5 +-0x1.6b96b2p+0 +-0x1.50589ap-2 +-0x1.27a8e4p+16 +-0x1.2f7d76p+1 +0x1.b05bd4p-5 +0x1.40ed04p+0 +0x1.228e5ep+1 +-0x1.112b6p-3 +-0x1.be5892p+0 +-0x1.c6a59ap+1 +0x1.a56efp-1 +0x1.918a52p-2 +0x1.2d04aep-1 +0x1.1aa9f2p-1 +0x1.0eb2acp+1 +-0x1.a38a2cp+1 +0x1.c2fa24p-1 +0x1.dc9a9cp+14 +-0x1.171818p+0 +-0x1.38933ep+2 +0x1.8107eap+1 +0x1.96ff2cp+0 +0x1.188cd6p-2 +-0x1.31b022p-4 +-0x1.2bfef2p+0 +-0x1.076554p+0 +-0x1.4afc24p+0 +0x1.1aa984p+1 +-0x1.85ce3p+1 +0x1.4344d2p+5 +-0x1.bf4e26p+0 +0x1.b00866p-1 +-0x1.e448a4p+11 +-0x1.5d2f08p+11 +0x1.6ef53ap-3 +-0x1.bdb7c6p+1 +0x1.5259b4p+0 +-0x1.8852bp+1 +0x1.34bbdep+7 +0x1.daed1ep-1 +0x1.2c7a8ap+0 +0x1.9331fp+1 +-0x1.557626p+0 +-0x1.146f9ep+1 +-0x1.28a022p+0 +-0x1.a2228ep+1 +0x1.0b5b48p+1 +0x1.d73f7ep-1 +-0x1.66188p+16 +-0x1.5018e8p-1 +-0x1.72153ep+1 +0x1.a8f7b2p+1 +-0x1.26c92cp-3 +-0x1.3ca7f8p+2 +0x1.0a6c52p+6 +-0x1.5a8bbap+1 +0x1.84ab42p-1 +0x1.d44e1cp+1 +0x1.dc0de4p+1 +0x1.87509p-4 +0x1.c4356p-2 +-0x1.6feb18p+9 +-0x1.3dc2bep+1 +-0x1.06ed8ep+0 +0x1.4d3d7p-4 +-0x1.dd5742p-1 +0x1.a4eap+2 +-0x1.d54bacp+0 +-0x1.2ce968p+1 +-0x1.41ab3ep+0 +0x1.44f836p-8 +0x1.516194p+0 +-0x1.a7bbf8p+0 +-0x1.217622p+2 +-0x1.9fdd64p+0 +0x1.42b618p-8 +0x1.ad52dep-1 +-0x1.a0565ep+1 +-0x1.64508ap+0 +0x1.1b6746p+5 +-0x1.7d311cp+0 +-0x1.5ddfbap+1 +0x1.c135fap-3 +0x1.01478ap-3 +-0x1.3333aap+1 +-0x1.4496a2p+1 +-0x1.711ea6p+1 +-0x1.755ecp-9 +0x1.1ac204p-7 +-0x1.d88bd4p-2 +0x1.6dce5p+0 +-0x1.16dc0cp+2 +-0x1.27c77cp-3 +-0x1.906e9ep-2 +0x1.18e9b8p-5 +-0x1.2e8c2cp+1 +-0x1.534498p+12 +-0x1.2c24bap+0 +-0x1.ac2c6ep-1 +-0x1.d221a6p+1 +0x1.d71f28p-1 +-0x1.630a7ap-3 +0x1.5cb6bcp+1 +-0x1.4d706ep+0 +-0x1.81db16p+1 +0x1.1d45ecp+0 +-0x1.bbd304p+0 +0x1.692926p+0 +0x1.a623aep-3 +-0x1.080956p-1 +-0x1.8c6be4p+1 +-0x1.b92f88p-3 +-0x1.4ef9f2p+1 +0x1.67160ap+1 +-0x1.695792p+2 +-0x1.1247dep+1 +-0x1.811d5cp+18 +0x1.d43b42p+1 +0x1.2248fep+1 +0x1.36f16p-5 +-0x1.62a91ap+1 +0x1.c5cf3p+0 +-0x1.df6c8cp+0 +-0x1.f943acp-2 +0x1.51a9cap+0 +-0x1.9108fap+0 +0x1.fe4862p-1 +-0x1.04fffp-1 +-0x1.d641c8p-5 +-0x1.f9d3d6p-2 +-0x1.ee6296p-2 +-0x1.94a686p-1 +0x1.a7c516p+0 +0x1.c77d64p+7 +0x1.86dca4p-2 +0x1.38018cp+0 +-0x1.ba118p+1 +0x1.fc074ap-1 +0x1.0ea0d8p+1 +-0x1.0efba6p-1 +-0x1.17c456p+0 +-0x1.596f72p-2 +-0x1.392248p+1 +0x1.5122ep+1 +0x1.f0ef8p-2 +0x1.a123cap+6 +-0x1.f4b12ep+0 +-0x1.c8731ap+0 +0x1.31dd68p+1 +-0x1.a303a4p-6 +0x1.4e86c8p+1 +0x1.1a56eep+1 +-0x1.7238cep+1 +0x1.83510cp+0 +0x1.32953ap-1 +-0x1.e298a4p-2 +0x1.cc7238p-3 +-0x1.094404p-1 +0x1.11645ap-1 +0x1.fbafb2p-1 +-0x1.41c7fcp+7 +-0x1.e337p+1 +0x1.04b988p+0 +0x1.a4e32ep+1 +-0x1.6e6b6cp-1 +-0x1.10709cp+1 +-0x1.48d7f6p+1 +-0x1.cc1444p+1 +0x1.87c2ep-1 +0x1.cb2c2p+0 +-0x1.c6295ep+1 +-0x1.218ee2p+0 +-0x1.6d731ep+11 +-0x1.8e066p+3 +-0x1.9e64f8p+1 +0x1.99936ap+1 +-0x1.5862d6p+2 +-0x1.b02166p-1 +-0x1.99318p-4 +-0x1.e066f6p-1 +-0x1.620d2p-1 +-0x1.2d339cp+0 +-0x1.8d62fap+1 +-0x1.00e28ap+2 +-0x1.228056p+0 +0x1.650becp+0 +0x1.add9cep+0 +0x1.9234p+1 +0x1.67b7ep+0 +0x1.25eda2p+1 +-0x1.5a3b46p-3 +-0x1.5c45bcp-2 +0x1.627c98p-3 +0x1.6a81eep+1 +0x1.8da70ap-2 +-0x1.26483ap-2 +0x1.613d82p-1 +-0x1.ae35d6p+1 +-0x1.d0244cp-2 +-0x1.d76602p+0 +-0x1.5802e8p+1 +0x1.5ea6b8p+2 +-0x1.2cbb8p+1 +-0x1.219d9cp+0 +-0x1.86f4a4p+0 +0x1.be4ac6p+0 +-0x1.9f4dc6p+0 +-0x1.0ce498p-2 +-0x1.2710cap+1 +0x1.d7f332p-1 +0x1.ea8f9ap-1 +0x1.bbbb08p+0 +-0x1.da4784p+0 +-0x1.8815cep+2 +0x1.9fcc2p+1 +-0x1.59a33p+1 +-0x1.9f049cp-3 +0x1.4b15aap+0 +-0x1.2b1f28p+2 +-0x1.a43ecap+1 +-0x1.05965cp+1 +0x1.6fa45ep+1 +-0x1.e90b1ap+0 +-0x1.a6fa42p+0 +-0x1.454526p+0 +0x1.078a8cp+2 +-0x1.fe4f1ep+0 +0x1.032e9ep+0 +0x1.5afe8ap-1 +-0x1.54094cp+0 +0x1.8124ccp+0 +0x1.80e338p-3 +-0x1.45ae58p-4 +-0x1.44c552p+0 +0x1.9542f4p-1 +0x1.943224p+1 +0x1.9edd1ap-1 +-0x1.61b202p+1 +0x1.cabf4cp-1 +-0x1.e190cep-2 +0x1.15f088p+1 +0x1.600cf4p+1 +0x1.277e06p+0 +0x1.036adcp+1 +-0x1.069f94p-2 +-0x1.1d4d02p+1 +-0x1.7b7f4p+0 +-0x1.20c724p+2 +-0x1.584b22p+1 +-0x1.06c72p-3 +-0x1.0c2c58p-1 +0x1.e06db6p+15 +0x1.28c146p+0 +-0x1.4304dp+1 +-0x1.92769p-1 +0x1.888d26p+0 +-0x1.5b45b8p+4 +0x1.bfd58cp-2 +-0x1.806cep+1 +0x1.a8d27ap+0 +-0x1.7db2d8p-1 +-0x1.07b6fp-5 +0x1.1771p+0 +0x1.b17e6ap-2 +0x1.29cdap+1 +-0x1.2727a4p-1 +0x1.cdd90ep-3 +0x1.dd3dbp+0 +-0x1.4d5f4ep+2 +-0x1.8777d2p-2 +0x1.3683c8p-2 +0x1.18abeep+0 +-0x1.6a2fb6p+0 +0x1.9c994p-1 +-0x1.dd0cd2p+0 +-0x1.89bb84p+1 +-0x1.450daep+0 +0x1.1db3aap+0 +-0x1.5253d6p+1 +-0x1.773fccp+2 +-0x1.44725ep-2 +-0x1.85e306p+0 +-0x1.248a4cp+1 +0x1.07cac4p+2 +0x1.606b66p+0 +-0x1.d48072p-1 +0x1.80ae08p+2 +-0x1.cebdecp+2 +0x1.7771aep+3 +-0x1.f1d072p+0 +0x1.582ecp-1 +-0x1.22fa58p+1 +0x1.48609cp+18 +0x1.b3b696p+0 +0x1.26d7b6p-4 +0x1.76144cp+0 +-0x1.713bb6p+2 +-0x1.4fbc6ep+0 +0x1.c7934ep+1 +-0x1.e43558p+1 +-0x1.3214ecp+0 +-0x1.bed3d8p+13 +0x1.ff5b86p-3 +0x1.0b2b7p+1 +0x1.335c9cp+1 +-0x1.953d56p-2 +0x1.8d2b92p-2 +0x1.bae886p+1 +0x1.167fep-1 +0x1.67f5bep-1 +0x1.8e2d5ap+1 +0x1.8bd952p+1 +0x1.0c35b2p-1 +-0x1.07462ep+1 +-0x1.b8bbb8p+10 +-0x1.7b042p-3 +-0x1.6584ep-1 +0x1.1dfed4p-2 +-0x1.ba50d2p-1 +0x1.e29c9cp+0 +0x1.92f14ep-1 +-0x1.39170ep-1 +-0x1.8693dp+0 +0x1.2dbb1cp+1 +-0x1.5db2b8p-4 +0x1.9b7c2cp+16 +0x1.0d42dep+11 +-0x1.1fb894p+0 +0x1.9b7ccap+1 +-0x1.1a63dcp+2 +-0x1.749e9ep+14 +0x1.355976p+0 +-0x1.6d0ef2p+1 +0x1.2fc69cp+1 +-0x1.3de742p+1 +-0x1.72451p+1 +-0x1.9e1fc2p-6 +-0x1.d52816p+0 +-0x1.0f426ap+2 +-0x1.75a2d2p-1 +0x1.cb7f68p-2 +0x1.42f514p+8 +-0x1.5d4122p+15 +-0x1.271f4cp+0 +-0x1.de4e4p-1 +0x1.84feeep+1 +-0x1.4bf83p-1 +-0x1.70a0cep+1 +-0x1.82e932p+0 +0x1.7764c2p+12 +-0x1.7edcd2p+1 +0x1.7ba93ep+1 +-0x1.1cc26cp+1 +-0x1.a41ef8p+2 +0x1.c9e902p-1 +0x1.1e397p+1 +0x1.2d37a4p+2 +-0x1.7bdd62p-3 +-0x1.02b03ap+2 +0x1.c7e04p+1 +-0x1.c7c1a2p-6 +-0x1.86dd5ep+1 +-0x1.07e13cp+10 +0x1.0b6f22p+0 +-0x1.a5b24ep+2 +0x1.8f9b32p+0 +0x1.3f1eeep+1 +-0x1.79bb44p-5 +0x1.405dfp+1 +0x1.7810fep+1 +0x1.59039ep+1 +-0x1.533b7ep+0 +-0x1.847b9cp+1 +0x1.90b914p+1 +0x1.0f6932p+1 +-0x1.7e3a5ap+0 +0x1.0a82d2p+1 +0x1.7dae4ap-2 +0x1.fa8bb4p-1 +0x1.2ae8p-3 +-0x1.a4ebb4p+0 +0x1.334a7cp+0 +0x1.8ca71ap+1 +0x1.482d3p-2 +-0x1.30929ep+0 +-0x1.80e35ep+0 +0x1.03de5p+2 +0x1.d4c766p-12 +0x1.138c14p+2 +0x1.7f977ep-1 +-0x1.0d82ep-1 +0x1.8771f6p-1 +-0x1.a59fc8p+0 +-0x1.5acebep+2 +0x1.943dbep+0 +-0x1.6b5f68p-1 +-0x1.116522p+0 +0x1.a468ecp-4 +-0x1.4413d6p-3 +0x1.b61754p+0 +-0x1.3d3638p+2 +0x1.307aap+0 +-0x1.f0e568p-1 +-0x1.2c4794p+0 +-0x1.b2cdd8p+0 +0x1.a5a8cep+0 +0x1.012dd6p+0 +-0x1.4cc76ap+4 +0x1.9b817ap-2 +0x1.74c2dp+5 +-0x1.a4ad3p+0 +0x1.e40b96p-3 +-0x1.6330bep+1 +0x1.af60ep+0 +-0x1.3cc692p+1 +0x1.138622p-1 +-0x1.0584f8p-1 +0x1.1d6246p+0 +0x1.d5e8c4p+0 +-0x1.e79712p+0 +0x1.ad9732p+0 +0x1.9697c6p+0 +-0x1.e3f9c8p-5 +-0x1.3857dep+15 +-0x1.dea8dp-2 +0x1.4ec636p+1 +-0x1.5f8228p+0 +-0x1.e8ac1ap-2 +0x1.1d467ap-1 +-0x1.9bd878p-4 +0x1.1f0e94p+1 +-0x1.8da4c4p+0 +-0x1.1bd46ap+2 +-0x1.9cbb36p-1 +0x1.764c24p+0 +-0x1.80412ap+1 +0x1.50b8fep+0 +-0x1.3abb1p+11 +-0x1.3927dap-5 +-0x1.fc76eap+0 +0x1.8404e6p-2 +-0x1.62dd12p-3 +0x1.85ad44p-1 +-0x1.3706eap+5 +0x1.04ae12p+2 +-0x1.817e4ap+0 +-0x1.41fe3cp+0 +-0x1.87ea26p+0 +0x1.49d826p-1 +0x1.94c504p-3 +-0x1.936702p-5 +-0x1.5e0854p+1 +0x1.7526e4p+0 +0x1.3c73d4p+0 +-0x1.44c8d8p+0 +0x1.aa17b6p+1 +-0x1.abbbf4p-1 +-0x1.935e2cp+0 +0x1.fbf998p+1 +-0x1.460f66p+0 +0x1.99d664p-1 +-0x1.9ad506p+1 +0x1.65a63p-4 +-0x1.217738p+8 +0x1.5c25b8p-1 +0x1.75acf6p+1 +-0x1.030ebcp+0 +0x1.638e1ep+1 +0x1.7a132ap-1 +-0x1.6ad65cp-1 +-0x1.8b3d6cp-1 +-0x1.42b04p-1 +-0x1.7c9dfep+0 +-0x1.4cfbf8p+0 +-0x1.2efc82p+2 +0x1.b9edfap+1 +0x1.316b06p+10 +0x1.68ff7cp+1 +0x1.f863aep-1 +-0x1.276972p-1 +-0x1.b80c5ep+0 +-0x1.1d73eep-1 +0x1.1d386ep+2 +-0x1.15e4f4p+0 +-0x1.5f5f7cp+0 +-0x1.5abed2p+14 +-0x1.e62d7ep+0 +-0x1.18a5bp+15 +0x1.06a988p+1 +0x1.e77978p+0 +-0x1.35eb76p+1 +0x1.ab449ap+5 +-0x1.c2e0b8p-1 +-0x1.0b5684p-1 +0x1.d50ffp-3 +0x1.007b54p+0 +-0x1.d7f8bap-2 +0x1.1e4004p+0 +0x1.cf7be2p-2 +-0x1.edec2ap+0 +0x1.2787eep+0 +-0x1.2666b4p+6 +0x1.c54666p+1 +0x1.c92824p+0 +0x1.fac138p+7 +-0x1.207876p+11 +-0x1.23fce4p-1 +-0x1.17b1ccp+1 +-0x1.5bafd2p+1 +-0x1.257704p+0 +0x1.a2fd4p-1 +-0x1.21a3c2p-1 +0x1.8d04fep-3 +-0x1.15f8bcp+9 +0x1.74be2ap+1 +0x1.883dap+1 +-0x1.cbf06p-5 +-0x1.b69ba8p-2 +0x1.0f1fa8p+13 +0x1.911eaep+0 +0x1.f58ab6p-1 +0x1.6b1ecep+1 +-0x1.91bbfcp+0 +0x1.e99e7ap+1 +-0x1.5bbe7ap+0 +-0x1.815594p+0 +0x1.0538fp-4 +-0x1.d823ecp+0 +0x1.a7811ep+0 +-0x1.37a606p+1 +-0x1.14bb9ep-1 +0x1.2298d6p-2 +0x1.5d9d62p+0 +0x1.985deep+0 +-0x1.0b836ap+0 +-0x1.e1af8p+1 +-0x1.a0a29p+0 +0x1.5ed4c6p+1 +-0x1.4f572p+0 +0x1.88016ap+1 +0x1.ce82e8p+0 +0x1.7868e8p+1 +-0x1.825968p+0 +-0x1.2dfec2p-1 +0x1.86b9d4p+0 +0x1.b2fe34p+1 +-0x1.b9a9d6p-3 +0x1.048f2ep-5 +-0x1.cdb44cp+0 +-0x1.40301ep-3 +-0x1.6cb2e2p-1 +-0x1.625ccep+0 +-0x1.bdaf8ap+1 +-0x1.4987d8p+0 +0x1.59c57p+0 +-0x1.77e1d6p-1 +-0x1.6b0ae4p-1 +-0x1.542d84p+1 +0x1.489b3ap+0 +-0x1.0b041ep+11 +0x1.06dbdcp+5 +0x1.46ab06p-1 +-0x1.d95bf2p+0 +0x1.491ba6p+1 +-0x1.47e024p+1 +0x1.2c4402p+2 +0x1.736228p+1 +0x1.aed0eep+0 +0x1.f01eb8p+1 +0x1.e8ceaap-4 +-0x1.6b7314p+1 +-0x1.9d3b5p+0 +-0x1.4ae648p+13 +0x1.0f9026p-1 +-0x1.031e04p+1 +-0x1.077e4ap+1 +-0x1.f5758p+1 +0x1.697cdcp-2 +-0x1.65d80cp-1 +-0x1.2d790cp+0 +-0x1.72e49ap+0 +-0x1.3e616p+0 +-0x1.1609e4p+1 +-0x1.b57362p-2 +-0x1.8fcda6p-2 +0x1.6bf0a4p+0 +0x1.ad48c2p-1 +-0x1.890358p+1 +-0x1.cdc0fep-3 +-0x1.3a5574p+0 +-0x1.74e314p+0 +-0x1.b916e8p+1 +-0x1.ec6558p-6 +0x1.853ae8p+17 +-0x1.f96ce8p+1 +-0x1.f7c0e6p-2 +0x1.8e1d48p-2 +-0x1.6ff716p+0 +0x1.2dcc4p+8 +0x1.a0d77ep-5 +-0x1.2015fep+2 +-0x1.8da66ap-3 +-0x1.159efep+1 +-0x1.1a5f28p+0 +-0x1.af5ae2p+0 +-0x1.6c16p-1 +-0x1.079bbep+0 +-0x1.6a98d4p+0 +0x1.09ea74p+0 +0x1.ecfe0cp-1 +0x1.f8472cp-1 +0x1.a4ef6p-1 +-0x1.8123ap+0 +0x1.5387fcp+0 +-0x1.80dc1cp+0 +0x1.50ab5cp-1 +0x1.35217ep+10 +-0x1.524fd4p-2 +0x1.44580cp+0 +0x1.bcf5e6p+0 +-0x1.ec2f52p+0 +-0x1.d881cep-3 +0x1.5588c6p+1 +0x1.1d1f2p+8 +-0x1.228f88p-4 +-0x1.4fea72p-3 +0x1.59f8cap-4 +0x1.cbdcf4p-3 +0x1.436a9p-1 +0x1.f92abcp+0 +-0x1.a8b95ep-1 +-0x1.83ff64p+0 +0x1.de453ep-2 +-0x1.70b986p+0 +0x1.da1c68p+1 +0x1.21b5b4p+1 +0x1.d2127ap+1 +0x1.83719cp+0 +-0x1.a4349cp+0 +0x1.b878b8p+1 +0x1.6a370ep-1 +-0x1.118e54p+1 +-0x1.3df8b6p-1 +0x1.8a5014p+1 +0x1.df36eep-2 +0x1.8bdbe2p-3 +0x1.9a65a4p+0 +-0x1.7f251p-1 +-0x1.3b1f2p+0 +-0x1.345fb2p-1 +-0x1.75771ep-1 +-0x1.20aefp+11 +-0x1.ec1426p-2 +0x1.c4f346p+1 +-0x1.4b57ep+0 +0x1.ffb67p+0 +-0x1.01df0ep+0 +-0x1.15df94p+1 +-0x1.a170f6p+0 +-0x1.d992ep-2 +-0x1.2baf74p+0 +0x1.a85186p-1 +0x1.abcea8p-1 +0x1.ab7cbap+1 +0x1.42e69ap-2 +-0x1.9d0814p+1 +-0x1.0b9938p+0 +-0x1.883ed8p+9 +-0x1.b699fp-5 +0x1.bb03a4p-1 +0x1.2fb4aep+0 +0x1.03cfa4p+2 +-0x1.abf1b8p-3 +0x1.613976p+2 +0x1.dd2618p+0 +0x1.275076p-1 +-0x1.84c576p-6 +0x1.7042a2p-2 +0x1.c82e92p-1 +-0x1.a57daap-1 +0x1.66a4dep+1 +0x1.c6a39ap-4 +0x1.29cfbcp+1 +0x1.89c30ap-1 +-0x1.762f1ep+0 +0x1.bfb29p+1 +0x1.8229ecp-3 +0x1.fab966p-2 +0x1.88906p+1 +-0x1.db54dcp+0 +-0x1.21161ap-1 +0x1.6df6d2p+1 +0x1.0259a8p-1 +0x1.7c3ad6p+1 +0x1.6422f8p-3 +0x1.9b092p-2 +-0x1.f7db5ep+16 +-0x1.70ed12p+0 +-0x1.25d4fap+2 +0x1.5d7ffp+1 +0x1.9a3d98p+1 +-0x1.5a1b0ep+6 +0x1.a72812p-4 +-0x1.eba0cp+1 +0x1.a5e5f6p-1 +-0x1.7288ap+0 +-0x1.8935cap+0 +-0x1.2a829cp+1 +-0x1.48ebdcp+0 +0x1.5419fcp+1 +-0x1.50327ep+0 +0x1.5e3d5cp+0 +0x1.0d9ddap+2 +0x1.82002ep-6 +-0x1.81246ap-1 +0x1.1ded02p+1 +-0x1.f34346p-2 +0x1.61f206p+1 +0x1.39cca6p-1 +-0x1.8a8c7ap-3 +-0x1.e29c88p-1 +0x1.361954p-1 +0x1.17da7cp+0 +0x1.18ca1p-4 +-0x1.6b7288p+0 +0x1.56ccbep-5 +0x1.73c642p-3 +0x1.87c68cp+0 +0x1.d69c54p+0 +-0x1.726e54p+0 +0x1.4db076p+0 +-0x1.43661cp+2 +-0x1.0a6bcap+1 +-0x1.27821p+1 +0x1.ca9d5cp-4 +0x1.290ac4p-3 +0x1.f61ebap+1 +-0x1.1584dp+0 +0x1.0b8bf2p+1 +-0x1.51999p+0 +-0x1.27aad2p+3 +0x1.e7b494p-1 +0x1.0c4822p-5 +-0x1.165632p-4 +0x1.f02bc2p-2 +0x1.35c696p+0 +0x1.da738ap-3 +0x1.8e1484p+0 +-0x1.23fb1ep+1 +-0x1.917d26p-4 +0x1.a732cep+2 +-0x1.d52748p+1 +-0x1.6140d2p+1 +0x1.d8ab7ap+0 +0x1.69a984p-2 +-0x1.b9934ap-2 +-0x1.b8475p+0 +0x1.48c178p+0 +-0x1.445f82p+1 +-0x1.4122d8p+1 +-0x1.f0fc9ap-1 +-0x1.15642cp+1 +-0x1.276fb2p-1 +0x1.1ec51cp-1 +0x1.3d61d4p+0 +0x1.f9cd82p+0 +0x1.cef99ep+1 +-0x1.bd5bbap+0 +0x1.416068p+1 +0x1.15025ap+1 +-0x1.934af2p+1 +0x1.e2761ep+1 +0x1.c5012ep+0 +-0x1.779788p+0 +-0x1.1d26ccp+0 +-0x1.eb283p-2 +0x1.902758p+6 +-0x1.c88262p+0 +0x1.fd0406p+1 +-0x1.3ac284p+1 +0x1.ba5eeep-1 +0x1.69e162p-1 +-0x1.6d72c6p+0 +0x1.bbf7fap+0 +0x1.82e236p-7 +0x1.2d967p+0 +0x1.215beap+0 +-0x1.799718p+1 +0x1.1937ccp+18 +0x1.2b76bcp+0 +0x1.e87f02p-1 +-0x1.66b792p+1 +0x1.380f5cp-7 +0x1.365818p-1 +-0x1.67eaeep-1 +-0x1.09e25ap+2 +-0x1.2241b2p+0 +-0x1.6e04ep+0 +-0x1.6d46ecp+16 +0x1.73f76cp+12 +0x1.d0ade4p+0 +0x1.78507ep-1 +0x1.5fdd7p-1 +-0x1.a40adcp+0 +-0x1.9a4966p-1 +-0x1.008704p-2 +-0x1.9050f6p-1 +0x1.9010a2p+0 +0x1.113376p+0 +0x1.4a4de4p+0 +-0x1.51fccep+0 +0x1.62829p+1 +0x1.6932cp+12 +0x1.901b08p-3 +0x1.ab8c84p+1 +0x1.71856ap+15 +-0x1.c1d5dep+1 +0x1.204096p-1 +-0x1.779b54p+1 +0x1.bf37ccp+5 +-0x1.20ab36p+0 +-0x1.049708p+1 +-0x1.29b568p+0 +-0x1.d35c08p-2 +-0x1.aca8dep+1 +0x1.50a42p+0 +0x1.dbbcc6p+0 +0x1.2c63ap+0 +0x1.ff5282p-3 +-0x1.27ad28p-8 +-0x1.63b808p+2 +0x1.f0119ap-1 +-0x1.43fe26p+0 +-0x1.0cfe3p+1 +-0x1.61f8fep+0 +0x1.ce5dcp+0 +-0x1.06ca42p+6 +0x1.ffa1bcp+0 +-0x1.c8012ap+0 +-0x1.1e7d7ap+1 +-0x1.2f748cp+0 +0x1.3e88e2p-4 +0x1.8f8bcp+1 +-0x1.1cff74p+2 +0x1.33c24p+0 +-0x1.f3fd38p+0 +0x1.546046p+1 +-0x1.13ae64p+0 +0x1.c8a558p+0 +0x1.a6e46p-2 +0x1.07ed1ap+2 +-0x1.44802ep+5 +-0x1.5e7ca8p+0 +-0x1.e68c3ap+1 +0x1.d7c9f4p-2 +0x1.ee68d4p-2 +-0x1.52875ep+1 +-0x1.d91c36p+1 +0x1.2b72dcp+2 +0x1.d0c78ap-1 +0x1.97c69p+1 +0x1.67d404p+1 +-0x1.b4cdb4p-3 +-0x1.ed7486p-1 +0x1.5adacep+1 +0x1.7fdec6p+0 +0x1.9f462ep-2 +-0x1.fdf4e4p-2 +-0x1.b7c4b8p+0 +0x1.0e3b08p+0 +-0x1.5d2e08p+1 +0x1.0cc27ep-1 +-0x1.37e812p-1 +-0x1.5a43d4p+0 +-0x1.314f14p-1 +0x1.064054p+1 +0x1.0d2922p-1 +-0x1.a6260cp+1 +0x1.c090bep-1 +0x1.8c59ccp+1 +-0x1.797c7ep+1 +-0x1.495fp-1 +-0x1.200c6ap+16 +-0x1.7ace46p-2 +0x1.5e5746p-3 +0x1.99a996p+0 +-0x1.64f4d4p-1 +0x1.5b2ceap-2 +-0x1.afae6cp-4 +0x1.2298eap+19 +0x1.76212ep-2 +0x1.1e35aap-1 +-0x1.2d2b34p-1 +-0x1.74477ap-1 +-0x1.da68dap+0 +-0x1.c28a74p+1 +-0x1.cf021p+1 +-0x1.7275fap-1 +-0x1.83d0b8p+0 +0x1.22e358p-2 +0x1.1d1dbcp+0 +0x1.b4bc74p+0 +0x1.686b4cp+1 +0x1.fbb52ap+1 +-0x1.cc7f9cp-1 +0x1.b6b478p+0 +0x1.0ebfbap+0 +-0x1.e6ace2p-3 +-0x1.d10448p+0 +-0x1.e195p-6 +-0x1.70f296p+2 +0x1.f83b5cp+0 +0x1.281cb6p+1 +-0x1.ff1218p-2 +0x1.3b7244p+0 +0x1.7faa66p+0 +-0x1.a4da56p+1 +0x1.372832p-1 +-0x1.ae3964p+0 +-0x1.ddcde6p-2 +-0x1.0670b4p-2 +0x1.fb5fecp-2 +0x1.a307fcp-1 +-0x1.404de2p+1 +0x1.144152p+1 +-0x1.f5874p-2 +-0x1.c07b0ep-2 +0x1.404e72p-1 +0x1.870ep+1 +-0x1.e37d0ep+0 +-0x1.4b5ae6p+0 +0x1.702676p+1 +-0x1.2edc38p+8 +-0x1.18feeep+1 +-0x1.372954p+1 +-0x1.63ed3cp+1 +0x1.ecf126p-2 +-0x1.1064e6p+2 +-0x1.a27bdep+0 +-0x1.37ed4cp-2 +0x1.024736p+0 +-0x1.3e9f48p+4 +-0x1.36aa08p-3 +-0x1.7caf6ep-2 +0x1.52875p-1 +0x1.708586p-1 +0x1.b8151ap+0 +0x1.960ca4p-3 +-0x1.9247d4p+1 +-0x1.963712p+14 +-0x1.0ed32p+1 +0x1.618874p+0 +-0x1.fb5976p+11 +0x1.375f6ep-2 +-0x1.385562p-2 +0x1.d85a86p+0 +-0x1.09daf8p-3 +0x1.5f9874p+0 +0x1.b10edp+0 +0x1.22a604p+0 +-0x1.611f38p+0 +-0x1.0d5822p-1 +-0x1.78931ep-1 +0x1.42a0ccp+1 +0x1.0cdd8ep+0 +0x1.583e82p+0 +-0x1.8dddfep-4 +-0x1.279f4ap-2 +-0x1.1c8f3ap-2 +0x1.f827ap+0 +0x1.7eb058p+1 +0x1.a0f708p+0 +0x1.10a96p-1 +0x1.05827p+0 +0x1.8a113cp+1 +-0x1.3089f2p+2 +0x1.4d41a4p-1 +0x1.b14674p+0 +-0x1.d7c6f6p-1 +0x1.66b6bp+0 +-0x1.7d4c86p-1 +0x1.fcdc6cp-2 +-0x1.9741acp+0 +-0x1.4217c4p+14 +0x1.b1a5e6p+0 +0x1.b3389ap+0 +0x1.3db378p-1 +-0x1.93fbc2p-1 +0x1.61b404p+0 +-0x1.859fc8p-4 +0x1.68d0bcp+10 +-0x1.bc3e98p+1 +0x1.aaa84p-1 +-0x1.a8e664p-4 +0x1.9efa88p+0 +-0x1.234ae4p+1 +-0x1.0721d8p-2 +-0x1.220a96p-1 +0x1.be0bbp+0 +0x1.45caa8p+0 +0x1.525a58p-1 +-0x1.2a1b7cp+2 +0x1.565a2cp+15 +0x1.567fa2p+0 +0x1.2e894ep+10 +0x1.d38e3p+1 +-0x1.0c94fep+8 +-0x1.343e0cp-6 +-0x1.0461c2p+0 +-0x1.c31b2cp+0 +0x1.8ed034p+1 +-0x1.40af5p+11 +0x1.e92acap+0 +-0x1.31b566p+2 +0x1.1cc31cp-2 +0x1.653508p+1 +-0x1.0ca9fap+1 +0x1.2c41e4p+2 +0x1.de2b3ap+8 +0x1.7ab962p+1 +-0x1.422954p-1 +0x1.0473c8p-3 +-0x1.4ec552p-1 +-0x1.489c9cp-3 +-0x1.8605a8p+0 +0x1.0b9704p-2 +0x1.af4e5ep+1 +-0x1.704884p+0 +0x1.0d834ep+1 +0x1.1a3fd4p+0 +-0x1.c9acb4p+1 +0x1.2cd38p-1 +-0x1.13feecp+1 +-0x1.44a39ep+1 +-0x1.43dc5p-1 +-0x1.95c022p+0 +-0x1.e9d0bcp+0 +0x1.779d34p+13 +0x1.2cf2ccp+1 +-0x1.5b046ap+1 +0x1.c4399ep+0 +-0x1.a99eb6p+1 +-0x1.245b16p+6 +-0x1.8c4bdcp+1 +-0x1.96e438p+1 +-0x1.3793p-3 +0x1.78aaccp+0 +0x1.ffaddep+0 +0x1.16e606p+1 +0x1.13f31ap-2 +-0x1.b1a47p+0 +-0x1.d63586p+0 +-0x1.387aa4p+1 +-0x1.097178p+12 +0x1.37444ep-1 +0x1.1735bp+2 +0x1.72bd4ep+8 +0x1.684edap-1 +-0x1.1faa74p+0 +0x1.35badcp+0 +0x1.fe7408p+1 +-0x1.80c2eep+2 +-0x1.2d1e06p+1 +-0x1.8035cep-3 +-0x1.36a9eap+1 +-0x1.9b108p-2 +-0x1.85e022p-5 +-0x1.5f96ep+2 +0x1.4b81b4p+1 +-0x1.27f868p+1 +-0x1.e34f4p+0 +0x1.3ff198p-1 +-0x1.acfc1p-1 +0x1.563f3ep+0 +-0x1.32c9dcp+2 +-0x1.218a5ap+0 +0x1.a9cb82p-1 +0x1.66683ep+1 +-0x1.dcf29ep+1 +0x1.7665bap+14 +0x1.41b464p+1 +-0x1.6b4318p+1 +0x1.0e5ad8p+0 +0x1.82de4ap-1 +0x1.12126ap+2 +-0x1.588a6p+1 +-0x1.56bb14p-1 +-0x1.c2d0fep+1 +0x1.c91e8cp-6 +-0x1.f9b58ep-3 +-0x1.01b178p-1 +0x1.30f176p-1 +0x1.96488ap-1 +0x1.9ee15p-3 +0x1.2b7cd8p+0 +0x1.335e7p+1 +0x1.32db26p+0 +0x1.49e462p+0 +0x1.809e28p+1 +0x1.b281cap-1 +-0x1.ef3af6p+0 +-0x1.92b6e6p+1 +0x1.26bc4ap+1 +-0x1.981004p-3 +-0x1.96ce7ep+0 +0x1.c37f9ap-1 +-0x1.96930cp+0 +0x1.a434fcp-1 +-0x1.7b13e4p+0 +0x1.b66e3ap-2 +-0x1.3157d8p+1 +0x1.027d88p-1 +-0x1.acd3e4p+1 +-0x1.dc96e4p+0 +-0x1.23d8ap+1 +-0x1.3e11a8p-1 +0x1.2ae06cp+1 +0x1.8236fcp-5 +0x1.90815ep+1 +-0x1.a8db4p-2 +-0x1.297586p+1 +-0x1.952cb4p+1 +-0x1.a20518p+0 +-0x1.cf28a6p+0 +0x1.931bfp+0 +0x1.6ab4bcp+7 +-0x1.9ce85ep-1 +-0x1.4292c2p+1 +-0x1.2b7d1cp+0 +-0x1.8d139p+0 +0x1.e9278cp+0 +0x1.942544p+1 +-0x1.1df8cep+1 +-0x1.31cep-3 +0x1.a7065ep+1 +0x1.b70b1cp+1 +0x1.930bc4p+0 +-0x1.2f167ep+1 +-0x1.5f5572p+0 +-0x1.01fae4p-2 +0x1.b78b4p+0 +0x1.d7a04ep+0 +0x1.f2be0ap-2 +0x1.4a4c52p+0 +0x1.0b3c1ap-2 +-0x1.8c5f16p+0 +0x1.3b31b4p+1 +-0x1.61f20ep+1 +-0x1.b3557p+1 +-0x1.3da99ep+0 +0x1.f9e9b2p+1 +-0x1.e29a44p+0 +-0x1.cb80f8p-1 +0x1.21d578p+1 +-0x1.5e774ap-1 +-0x1.b078ap+0 +0x1.7df532p+1 +-0x1.20e83ap+1 +-0x1.2ece3cp+0 +-0x1.b8dcfap-3 +-0x1.a820eap+0 +0x1.7b9754p+0 +0x1.c5837ep+2 +0x1.0617d2p+6 +-0x1.6a6fdep-3 +-0x1.cfc8ecp-1 +0x1.69168ep+15 +0x1.19aee6p+2 +0x1.cb4172p-3 +0x1.a2bc9ep-2 +-0x1.153a5p+1 +-0x1.e32cd2p+0 +0x1.cd1044p-3 +0x1.0fb76cp-1 +0x1.4bfd4ap+1 +0x1.806536p+0 +0x1.9579f6p+0 +0x1.3649p-1 +0x1.a0c47ap-7 +-0x1.09803p+0 +0x1.84fb0ep+0 +-0x1.855462p+1 +0x1.159624p+2 +-0x1.8df534p-1 +0x1.8cd25p-1 +-0x1.e7ad74p+1 +0x1.e6229ep-4 +0x1.bccca2p-1 +-0x1.8e288ep+0 +0x1.c2aa6p-2 +0x1.ff0a0cp+0 +-0x1.ddb1ecp-1 +-0x1.3e5476p+1 +0x1.858158p+1 +0x1.d178dcp+0 +0x1.9197fp+0 +0x1.f12d86p+0 +0x1.0ee4fap+1 +-0x1.0bec12p+1 +-0x1.c3b202p-1 +-0x1.40665ap+1 +0x1.5ca698p+0 +0x1.0886c6p+1 +-0x1.6ce43ep+1 +0x1.0d0446p+1 +-0x1.3cdd42p+1 +-0x1.98ab96p-2 +0x1.67118cp-1 +-0x1.6381dp-1 +0x1.a6ecb4p+0 +-0x1.9515b6p+1 +-0x1.3a8022p+0 +0x1.46c216p+1 +0x1.e89f14p-1 +-0x1.0b75a8p-3 +0x1.4109f4p+1 +-0x1.4b2822p+9 +-0x1.1566b4p+18 +-0x1.61350cp+1 +-0x1.32ed0ep+9 +0x1.77981ep-2 +-0x1.f701b8p-2 +0x1.ab815cp+1 +-0x1.cf59eap+0 +0x1.8ee6dcp-1 +0x1.8ec04cp+0 +0x1.bbf638p+0 +-0x1.a3fa38p-1 +-0x1.1af036p-1 +0x1.22f5cep+0 +-0x1.46a49ap+1 +-0x1.5d4fdcp+1 +-0x1.f72d2ap+0 +-0x1.8bcbb2p-8 +0x1.b6ac6ap-1 +-0x1.76022p-1 +-0x1.317764p+1 +0x1.1f9cb2p+1 +0x1.9e1294p+1 +-0x1.e7d7d2p+0 +-0x1.5beba2p+15 +0x1.a6ffb6p-5 +0x1.e6a5d2p-7 +-0x1.69a5bp-3 +0x1.05cd64p+13 +-0x1.9f7bb4p+1 +-0x1.239f28p+1 +0x1.21c244p+0 +0x1.63aca6p+0 +0x1.1981bcp-1 +0x1.ae3274p+0 +-0x1.acc7c2p+0 +0x1.354474p+1 +-0x1.01b9acp+0 +0x1.59db0ep+0 +0x1.1a8914p+2 +-0x1.5dab9ap-2 +-0x1.7abbe4p-2 +-0x1.a82b86p+7 +-0x1.7e72eep+0 +-0x1.90f286p+0 +0x1.c205ap+0 +0x1.d47afp+0 +0x1.adbf8cp+1 +0x1.dba40ep+13 +-0x1.4bf36p+0 +-0x1.0d0d08p+0 +-0x1.19084ap+1 +-0x1.dc5e8ap+0 +0x1.6f35d8p+17 +-0x1.7280f8p+7 +-0x1.53bf26p+0 +0x1.602114p+1 +0x1.1f2ccap+1 +0x1.82373ep-1 +0x1.13fep-1 +-0x1.6ea588p+15 +-0x1.75a7e4p+0 +0x1.7dbef6p+1 +0x1.2e9564p+1 +-0x1.0a1952p+1 +0x1.d5409cp+0 +-0x1.093fe4p+0 +0x1.1e6686p+2 +0x1.49e756p+14 +-0x1.0cbcf4p+1 +-0x1.813d0ep-2 +-0x1.30607p-4 +-0x1.4b5342p+1 +0x1.603252p+0 +-0x1.c601e6p+1 +-0x1.cd608ap-1 +-0x1.fa09ccp+0 +-0x1.797292p+1 +-0x1.ec98e2p+16 +-0x1.57cd52p-1 +0x1.b71ae6p+1 +-0x1.96ec48p+0 +0x1.0e0092p-3 +-0x1.042ca6p+1 +0x1.8a318cp-1 +-0x1.6a9bdap-1 +0x1.c52fbp-1 +-0x1.376f82p+1 +0x1.0698fap+0 +-0x1.1f6c54p+0 +-0x1.8094b4p+1 +0x1.4bf162p-1 +0x1.f19582p+1 +-0x1.1f0c82p+2 +0x1.6d0a9ep-1 +-0x1.b4f5ecp+1 +0x1.94ea4ap-4 +-0x1.dd3e7cp+0 +0x1.00c328p+0 +-0x1.06b808p-2 +0x1.5e68c2p+1 +0x1.b57a62p+0 +0x1.dbb778p-1 +0x1.f8599ep+0 +0x1.a8ce9ap-1 +-0x1.1178ccp+1 +-0x1.16b262p+0 +0x1.4cb31ap-2 +-0x1.2b698cp+0 +-0x1.1811c8p+11 +-0x1.9ead8p-2 +-0x1.7f25d2p+0 +-0x1.3ecb54p-1 +-0x1.42bd8cp+0 +-0x1.e64afp+1 +-0x1.8df506p-5 +-0x1.7fa6f8p-1 +0x1.f192dcp+0 +0x1.a23234p+1 +0x1.529f9ep-3 +-0x1.25c242p+1 +-0x1.264d34p+1 +-0x1.ab5a0ep+0 +0x1.27c7c8p-2 +0x1.be840ep-1 +0x1.abfd0ap+0 +0x1.73307cp-3 +0x1.d7fe8p+5 +-0x1.c614bap+1 +0x1.910e2p-2 +0x1.cc4adcp+0 +-0x1.072822p+1 +0x1.6f2704p+1 +0x1.1ee3a2p+2 +0x1.1469b4p+6 +0x1.d120bep-5 +-0x1.1fe198p+1 +-0x1.52b1fp+1 +-0x1.ae7658p-1 +-0x1.f114fp+1 +0x1.2db694p+0 +0x1.c01758p-2 +0x1.72e3d4p+10 +-0x1.97d9cap+1 +-0x1.3aa6e6p-1 +0x1.e084f6p-1 +0x1.5076f4p+10 +0x1.4d23p+1 +-0x1.229a22p+1 +-0x1.15d246p+1 +-0x1.14ca8p-4 +-0x1.d28014p+1 +0x1.97ed02p-1 +0x1.2295dap+1 +0x1.03ef26p+0 +0x1.a8e6fep-1 +0x1.075564p+1 +-0x1.f6ca0cp-2 +-0x1.45c58p-2 +-0x1.c3de1ep-4 +0x1.e727dap-1 +0x1.abe67p-1 +-0x1.8fa346p+1 +-0x1.70b346p-1 +-0x1.1d62cp+2 +0x1.4f8956p+3 +-0x1.2baea6p-1 +0x1.c74a0cp-1 +0x1.5ab764p+1 +-0x1.8b71bp-1 +0x1.e5599ap-3 +-0x1.af9142p+11 +0x1.281956p+1 +-0x1.aef2dep+2 +-0x1.e88a04p+2 +-0x1.15c314p-5 +-0x1.c518dcp+0 +-0x1.73992ap-2 +0x1.a6465ap+1 +0x1.6618c4p-7 +0x1.01d2e8p+1 +0x1.4919b4p+0 +-0x1.87c72p-2 +0x1.841276p-4 +0x1.8e16c2p+0 +0x1.e0c19cp-1 +0x1.6efdb6p-1 +0x1.77a86cp+1 +-0x1.9a52b4p-1 +0x1.2decd2p+1 +0x1.efa19ap-2 +-0x1.f7faecp-3 +-0x1.125dbep+0 +-0x1.aa25dap-1 +-0x1.0509b6p+1 +-0x1.0e841ep+2 +0x1.14f30ap-6 +0x1.8371f6p+1 +-0x1.a6997cp+0 +0x1.d0be9ap-3 +0x1.7a187p+0 +0x1.5c3bdp+1 +0x1.a8caecp+1 +0x1.4fabbp-2 +0x1.52e96p+1 +0x1.6ef878p-1 +0x1.e6a8c2p+0 +-0x1.153cd8p+0 +0x1.7465e2p+1 +0x1.19c6a2p+0 +-0x1.f883f4p+14 +0x1.72168ep-1 +-0x1.fad952p-1 +-0x1.d3401ap-1 +0x1.1d3854p+0 +0x1.5c0a66p+1 +-0x1.8183e6p-2 +0x1.e1e5eep-2 +-0x1.2c7666p+2 +0x1.31e48ep+2 +-0x1.5b84d8p+0 +0x1.ac7e36p+0 +0x1.171c6cp+0 +0x1.b38194p-7 +-0x1.9c0b56p+0 +-0x1.16cd88p+0 +-0x1.5a04d8p+1 +-0x1.0cc51ep+2 +-0x1.d5ed58p+0 +-0x1.056de2p+1 +-0x1.e09562p-1 +0x1.0f0196p+0 +0x1.7fa3f6p+0 +0x1.fac5bp-1 +-0x1.f77ae6p+1 +-0x1.6f44f4p-1 +-0x1.9d4e52p+1 +0x1.b9e494p+15 +-0x1.58acb6p-1 +-0x1.87063ap+0 +0x1.b94356p+0 +0x1.8637e6p+0 +-0x1.440ac8p+0 +0x1.61efb8p+6 +-0x1.bf9b0ep+0 +0x1.657f4cp-2 +-0x1.8f9cb6p+1 +0x1.1399d8p+1 +0x1.a28952p-1 +-0x1.23308ep+1 +-0x1.4c282ap-2 +-0x1.d9f856p+0 +0x1.bf6c9p+1 +-0x1.87bd2p-1 +-0x1.fb5cc2p+11 +0x1.472382p+0 +0x1.92499ap+1 +0x1.23e2c4p+0 +-0x1.bf5fbp+6 +-0x1.03af7ap+2 +-0x1.57e604p-1 +0x1.489f06p+1 +0x1.a3378ep+0 +0x1.127a2p+1 +-0x1.0412acp+1 +-0x1.c1fab6p-2 +-0x1.534a36p+1 +-0x1.227eeap+0 +-0x1.60bafap+1 +-0x1.6c1b4cp+0 +-0x1.e55c3p+0 +0x1.0136a2p-3 +-0x1.0ffdf8p+0 +-0x1.c6576p+0 +-0x1.b2896ep-4 +0x1.574f6ap-2 +0x1.324236p+1 +-0x1.a32442p-1 +0x1.9a389ap+1 +-0x1.1171cap+1 +0x1.0f7b1ep+0 +-0x1.6c053ep+0 +-0x1.9b99b6p-1 +0x1.b2a6d8p+1 +0x1.1f2bd6p-1 +-0x1.f0ccccp+0 +-0x1.1733p+0 +-0x1.6b2756p+0 +-0x1.187854p+1 +0x1.a7991ap-1 +0x1.857358p+0 +-0x1.0cfed6p-4 +-0x1.4de6ecp+0 +0x1.51a062p+0 +0x1.150624p-2 +-0x1.5cfe06p+1 +0x1.79170cp-2 +0x1.03e7acp+1 +-0x1.189198p+0 +0x1.b4c6bep-2 +-0x1.9184c8p+0 +-0x1.896958p+0 +0x1.5be384p+2 +-0x1.0a5d4ep+1 +0x1.9a2808p-3 +-0x1.52f6fcp+0 +0x1.3c8b1ep-1 +0x1.2ea336p-2 +0x1.e53f12p+1 +0x1.957874p+1 +-0x1.2e50c6p+0 +0x1.f60822p-1 +0x1.b8e3e6p+0 +0x1.288f64p+1 +0x1.3ab57ap+0 +0x1.00560ep+1 +-0x1.018fdap-1 +-0x1.1663e6p-4 +-0x1.b38c7ap-1 +-0x1.56593cp-1 +-0x1.658a9ap+1 +-0x1.0694d4p+0 +-0x1.72fcdcp+1 +-0x1.d97294p-1 +-0x1.c49a1ep-1 +-0x1.9fe246p+18 +-0x1.2f653ap+1 +-0x1.e1be1ep-1 +-0x1.6f8874p-1 +-0x1.66bc1ap+14 +0x1.082ca6p-3 +-0x1.a2bbbep-1 +-0x1.56d822p+0 +-0x1.0dbebap+0 +-0x1.b94eb6p+0 +-0x1.a9bf86p-2 +-0x1.085582p-1 +0x1.022d02p-2 +0x1.3063e8p+2 +0x1.eab3b2p+1 +0x1.e5f194p+0 +0x1.2d3fbap+13 +0x1.e69e94p-2 +0x1.545416p+0 +-0x1.b5e41p+0 +-0x1.68c7d2p-2 +0x1.7ffc78p-3 +0x1.a668c8p+1 +0x1.0b28f2p+3 +0x1.433504p+1 +0x1.685124p+2 +0x1.4745e4p+0 +-0x1.695746p-1 +-0x1.c3d85cp+1 +0x1.2ca546p+1 +-0x1.5e28cep-1 +-0x1.92bfbap+0 +0x1.97f2a6p-1 +0x1.282c0ep+0 +0x1.2e83fp-6 +-0x1.e1a488p-3 +-0x1.95bdb2p-2 +0x1.6600fep+1 +0x1.2e1d9cp-3 +-0x1.70e9eap-2 +-0x1.d20f1ap+0 +-0x1.c22c62p-1 +0x1.5ede8cp-1 +-0x1.ddccc6p-1 +-0x1.37b3b2p+0 +0x1.293dccp+0 +0x1.a0908ap+0 +-0x1.19e172p+0 +-0x1.1587ap+1 +0x1.04d7bep+1 +0x1.a9bfdp-2 +0x1.7ffbdp+0 +-0x1.604336p-1 +0x1.d302bap+10 +0x1.0ac26cp-2 +-0x1.2f2bf4p+1 +0x1.3193cep-1 +0x1.44e9dp+1 +-0x1.e43e3p+1 +-0x1.28e92p+0 +-0x1.7353a4p+0 +-0x1.10a858p+1 +0x1.32f94cp-4 +0x1.f9f834p-3 +0x1.975716p-1 +0x1.1d7c02p+1 +-0x1.598ebep+4 +-0x1.5d11dp+0 +-0x1.2747dap-1 +0x1.7f675ep+1 +-0x1.25e7bep+2 +0x1.2ab506p+0 +-0x1.b5d0f4p-2 +-0x1.6c1508p-2 +-0x1.cee6ecp-1 +0x1.07e3d6p+2 +-0x1.c45816p+1 +-0x1.308592p+2 +0x1.ab0d78p-1 +0x1.b383e6p+0 +0x1.5da5ecp+0 +-0x1.ae0576p+0 +0x1.4f48d4p+0 +-0x1.880168p-2 +-0x1.87add8p+1 +-0x1.14db9ap+0 +0x1.47c03p-1 +-0x1.2b0216p+1 +-0x1.7bfb0cp-4 +-0x1.0c23e6p+1 +-0x1.15774ap+0 +-0x1.7ac434p-2 +0x1.c550fcp+1 +0x1.83d7cep+1 +0x1.0175d4p+2 +-0x1.2212fap-2 +0x1.217f3ep+1 +-0x1.cd855cp-1 +0x1.ccea5ap-1 +0x1.558402p+0 +-0x1.8ab1c2p+1 +-0x1.809848p-2 +-0x1.0d8638p+15 +0x1.305104p+2 +0x1.eff682p+0 +-0x1.5afb16p+1 +0x1.1e33cp+1 +-0x1.537654p+8 +0x1.2a89dep-1 +-0x1.1674f4p+1 +-0x1.2284f2p-5 +-0x1.cf1ddap-1 +0x1.b3a79p+0 +0x1.468334p-1 +0x1.190e34p+0 +0x1.2509ecp-2 +0x1.7a11f6p+0 +-0x1.ce345cp-5 +-0x1.203b3cp+1 +-0x1.19cab6p+10 +0x1.963b6ep+0 +-0x1.e1bdc6p+0 +0x1.4d96d8p+1 +-0x1.b92d8p-1 +0x1.e2caa2p+0 +0x1.f8baf2p-3 +-0x1.02dc14p+2 +-0x1.36dbap+5 +0x1.612d64p+14 +0x1.5e37aap+0 +-0x1.17bda6p+17 +-0x1.19840ap+1 +0x1.1959ep+0 +0x1.52bed4p+1 +0x1.ddc342p+6 +0x1.eee934p-1 +0x1.203d42p-2 +0x1.90b58ep+1 +-0x1.37057ap+0 +-0x1.b2a806p+1 +0x1.e67ccep+1 +-0x1.3c67a4p+1 +-0x1.bfe3aap+0 +0x1.35cebcp+1 +0x1.0422ccp+1 +-0x1.60be74p+0 +0x1.035cecp+0 +0x1.7f99fcp-1 +-0x1.6f9c5ep+1 +-0x1.845438p+1 +-0x1.127e6ep-1 +0x1.4cfddep+1 +-0x1.1d4bd6p+1 +0x1.6a88e8p+0 +0x1.60d99ap+7 +-0x1.3b15fp-2 +0x1.4e94p-2 +-0x1.8afd24p-1 +-0x1.80a282p+0 +0x1.59afdp+17 +-0x1.1f50c4p+0 +0x1.d420b2p-2 +-0x1.1fb622p+0 +0x1.7df5acp+0 +0x1.6eb4e8p-2 +-0x1.1194fep+1 +0x1.13a326p+0 +0x1.e7069cp+1 +-0x1.89a242p+0 +-0x1.107502p+1 +-0x1.fb0a94p+0 +-0x1.f37b9ep+1 +-0x1.55cp+1 +0x1.12ed7ap-1 +0x1.cd24b4p-1 +0x1.17089p+1 +0x1.90a1fcp+0 +0x1.88f71ap-1 +-0x1.0e428ap-3 +-0x1.9a536ep-1 +-0x1.f8c908p+0 +0x1.40c9a2p-5 +0x1.bb0f58p+1 +0x1.4f096cp+1 +-0x1.8639acp-2 +-0x1.ddc002p-6 +0x1.15ea76p+1 +-0x1.a43148p+1 +0x1.3085c6p+2 +-0x1.3a122cp+0 +-0x1.8466c8p+0 +-0x1.07a3a2p+0 +-0x1.64907p+1 +-0x1.b6cfc8p-1 +0x1.a9f23ep+0 +0x1.8f8862p+0 +-0x1.0520dap+0 +-0x1.fd38e4p+0 +0x1.4c6edep+15 +-0x1.a17682p+1 +-0x1.ec6228p+14 +-0x1.8824d2p+1 +0x1.100b8ep-2 +-0x1.8303ap+1 +-0x1.32ae3cp-2 +0x1.20cb3cp+1 +0x1.b455d2p-1 +0x1.321f6ap+0 +-0x1.d72368p+1 +-0x1.38e87ep+17 +-0x1.e802acp+0 +-0x1.283a26p-1 +-0x1.4683fcp-2 +-0x1.097924p+1 +0x1.6fae44p-3 +-0x1.66857cp-6 +-0x1.1808dp+1 +-0x1.88bbc4p+0 +-0x1.22e884p-2 +0x1.ce560cp-5 +0x1.fe4936p-1 +-0x1.e70f7ap+0 +-0x1.a22572p+1 +0x1.93bb64p+0 +-0x1.26ee7ep+1 +-0x1.86e8ap+1 +0x1.324cacp+1 +0x1.1e2ab2p+0 +-0x1.23a576p+0 +-0x1.24f144p+0 +-0x1.4b31f8p-2 +0x1.16c554p+0 From patchwork Wed Nov 24 19:37:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48075 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D70503857C51 for ; Wed, 24 Nov 2021 19:45:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D70503857C51 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783155; bh=OpxfNOByoRbnmn+O9rc3HrdXpf2bxMURPb8ksVchk4c=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=splcy+F6YW6arkHZ+uJAuGvb6T5SVA+ehKbbZ3bOLpD9EFRuDm1uEaHzLViB3gn34 cWZWhos0Q6AUl9O8ECXSYyLE73xT60Z14xLYotcDPSlJNDBYIPsRmmN+dvgbQgjt/8 pmMW67ces/GeliO4WrsbP2wbOpukOdRtvJ/AMgcA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id D2C8D3858435 for ; Wed, 24 Nov 2021 19:38:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D2C8D3858435 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="222581818" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="222581818" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="510002823" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga008.jf.intel.com with ESMTP; 24 Nov 2021 11:38:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Wu021555; Wed, 24 Nov 2021 11:38:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 09/42] x86-64: Add vector atan/atanf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:34 -0800 Message-Id: <20211124193807.2093208-10-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.2 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized atan/atanf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector atan/atanf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_atan2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_atan2_core.c | 27 + .../fpu/multiarch/svml_d_atan2_core_sse4.S | 1659 +++++++++++++++++ .../fpu/multiarch/svml_d_atan4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_atan4_core.c | 27 + .../fpu/multiarch/svml_d_atan4_core_avx2.S | 1521 +++++++++++++++ .../fpu/multiarch/svml_d_atan8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_atan8_core.c | 27 + .../fpu/multiarch/svml_d_atan8_core_avx512.S | 1323 +++++++++++++ .../fpu/multiarch/svml_s_atanf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_atanf16_core.c | 28 + .../multiarch/svml_s_atanf16_core_avx512.S | 352 ++++ .../fpu/multiarch/svml_s_atanf4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_atanf4_core.c | 28 + .../fpu/multiarch/svml_s_atanf4_core_sse4.S | 884 +++++++++ .../fpu/multiarch/svml_s_atanf8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_atanf8_core.c | 28 + .../fpu/multiarch/svml_s_atanf8_core_avx2.S | 688 +++++++ sysdeps/x86_64/fpu/svml_d_atan2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_atan4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_atan4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_atan8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_atanf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_atanf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_atanf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_atanf8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-atan-avx.c | 1 + .../fpu/test-double-libmvec-atan-avx2.c | 1 + .../fpu/test-double-libmvec-atan-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-atan.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-atanf-avx.c | 1 + .../fpu/test-float-libmvec-atanf-avx2.c | 1 + .../fpu/test-float-libmvec-atanf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-atanf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 6995 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atan2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atan4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atan4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atan8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atanf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atanf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atanf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atanf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atan-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atan-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atan-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atan.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atanf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 02acfb1ef8..3e0aa043b4 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -142,4 +142,15 @@ #define __DECL_SIMD_asinhf32x #define __DECL_SIMD_asinhf64x #define __DECL_SIMD_asinhf128x + +#define __DECL_SIMD_atan +#define __DECL_SIMD_atanf +#define __DECL_SIMD_atanl +#define __DECL_SIMD_atanf16 +#define __DECL_SIMD_atanf32 +#define __DECL_SIMD_atanf64 +#define __DECL_SIMD_atanf128 +#define __DECL_SIMD_atanf32x +#define __DECL_SIMD_atanf64x +#define __DECL_SIMD_atanf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 9a7cfb57c7..f37dbeebfb 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -54,7 +54,7 @@ __MATHCALL_VEC (acos,, (_Mdouble_ __x)); /* Arc sine of X. */ __MATHCALL_VEC (asin,, (_Mdouble_ __x)); /* Arc tangent of X. */ -__MATHCALL (atan,, (_Mdouble_ __x)); +__MATHCALL_VEC (atan,, (_Mdouble_ __x)); /* Arc tangent of Y/X. */ __MATHCALL (atan2,, (_Mdouble_ __y, _Mdouble_ __x)); diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index e246e1ba32..2ead94d87e 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -50,31 +50,39 @@ GLIBC_2.35 _ZGVbN2v_acos F GLIBC_2.35 _ZGVbN2v_acosh F GLIBC_2.35 _ZGVbN2v_asin F GLIBC_2.35 _ZGVbN2v_asinh F +GLIBC_2.35 _ZGVbN2v_atan F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F GLIBC_2.35 _ZGVbN4v_asinf F GLIBC_2.35 _ZGVbN4v_asinhf F +GLIBC_2.35 _ZGVbN4v_atanf F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F GLIBC_2.35 _ZGVcN4v_asin F GLIBC_2.35 _ZGVcN4v_asinh F +GLIBC_2.35 _ZGVcN4v_atan F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F GLIBC_2.35 _ZGVcN8v_asinf F GLIBC_2.35 _ZGVcN8v_asinhf F +GLIBC_2.35 _ZGVcN8v_atanf F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F GLIBC_2.35 _ZGVdN4v_asin F GLIBC_2.35 _ZGVdN4v_asinh F +GLIBC_2.35 _ZGVdN4v_atan F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F GLIBC_2.35 _ZGVdN8v_asinf F GLIBC_2.35 _ZGVdN8v_asinhf F +GLIBC_2.35 _ZGVdN8v_atanf F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F GLIBC_2.35 _ZGVeN16v_asinf F GLIBC_2.35 _ZGVeN16v_asinhf F +GLIBC_2.35 _ZGVeN16v_atanf F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F GLIBC_2.35 _ZGVeN8v_asin F GLIBC_2.35 _ZGVeN8v_asinh F +GLIBC_2.35 _ZGVeN8v_atan F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index f8f3d611b8..ef0a3fb7ed 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -74,6 +74,10 @@ # define __DECL_SIMD_asinh __DECL_SIMD_x86_64 # undef __DECL_SIMD_asinhf # define __DECL_SIMD_asinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan +# define __DECL_SIMD_atan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanf +# define __DECL_SIMD_atanf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 2bb482878b..c8418e68c8 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -26,6 +26,7 @@ libmvec-funcs = \ acosh \ asin \ asinh \ + atan \ cos \ exp \ log \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 0f24286493..f7ce07574f 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -18,9 +18,11 @@ libmvec { _ZGVbN2v_acosh; _ZGVcN4v_acosh; _ZGVdN4v_acosh; _ZGVeN8v_acosh; _ZGVbN2v_asin; _ZGVcN4v_asin; _ZGVdN4v_asin; _ZGVeN8v_asin; _ZGVbN2v_asinh; _ZGVcN4v_asinh; _ZGVdN4v_asinh; _ZGVeN8v_asinh; + _ZGVbN2v_atan; _ZGVcN4v_atan; _ZGVdN4v_atan; _ZGVeN8v_atan; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; _ZGVbN4v_asinf; _ZGVcN8v_asinf; _ZGVdN8v_asinf; _ZGVeN16v_asinf; _ZGVbN4v_asinhf; _ZGVcN8v_asinhf; _ZGVdN8v_asinhf; _ZGVeN16v_asinhf; + _ZGVbN4v_atanf; _ZGVcN8v_atanf; _ZGVdN8v_atanf; _ZGVeN16v_atanf; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index fb7086d2b9..de345e2bf1 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -221,6 +221,26 @@ float: 2 float128: 2 ldouble: 1 +Function: "atan_vlen16": +float: 1 + +Function: "atan_vlen2": +double: 1 + +Function: "atan_vlen4": +double: 1 +float: 1 + +Function: "atan_vlen4_avx2": +double: 1 + +Function: "atan_vlen8": +double: 1 +float: 1 + +Function: "atan_vlen8_avx2": +float: 1 + Function: "atanh": double: 2 float: 2 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core-sse2.S new file mode 100644 index 0000000000..115e5223aa --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized atan, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_atan _ZGVbN2v_atan_sse2 +#include "../svml_d_atan2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core.c new file mode 100644 index 0000000000..93f079ffcb --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized atan, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_atan +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_atan, __GI__ZGVbN2v_atan, __redirect__ZGVbN2v_atan) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core_sse4.S new file mode 100644 index 0000000000..8be2997c0b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core_sse4.S @@ -0,0 +1,1659 @@ +/* Function atan vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_atan_sse4) + lea 576+__svml_datan_data_internal_avx512(%rip), %rcx + movups __svml_datan_data_internal_avx512(%rip), %xmm1 + movups 64+__svml_datan_data_internal_avx512(%rip), %xmm4 + andps %xmm0, %xmm1 + movaps %xmm4, %xmm6 + movaps %xmm1, %xmm2 + addpd %xmm1, %xmm6 + movaps %xmm6, %xmm5 + pxor %xmm1, %xmm0 + subpd %xmm4, %xmm5 + subpd %xmm5, %xmm2 + mulpd %xmm1, %xmm5 + movups 128+__svml_datan_data_internal_avx512(%rip), %xmm7 + cmplepd %xmm1, %xmm7 + addpd 256+__svml_datan_data_internal_avx512(%rip), %xmm5 + +/* saturate X range */ + movups 320+__svml_datan_data_internal_avx512(%rip), %xmm3 + movaps %xmm7, %xmm4 + minpd %xmm1, %xmm3 + movups %xmm15, -24(%rsp) + cfi_offset(32, -32) + movaps %xmm7, %xmm15 + movups 192+__svml_datan_data_internal_avx512(%rip), %xmm1 + andnps %xmm2, %xmm4 + andps %xmm7, %xmm1 + andnps %xmm5, %xmm15 + andps %xmm7, %xmm3 + orps %xmm1, %xmm4 + orps %xmm3, %xmm15 + +/* + * table lookup sequence + * VPERMUTE not available + */ + movaps %xmm6, %xmm3 + +/* R+Rl = DiffX/Y */ + divpd %xmm15, %xmm4 + psllq $3, %xmm3 + pand .FLT_15(%rip), %xmm3 + movd %xmm3, %eax + pshufd $2, %xmm3, %xmm5 + movups 960+__svml_datan_data_internal_avx512(%rip), %xmm1 + movd %xmm5, %edx + cmplepd %xmm6, %xmm1 + movslq %eax, %rax + movaps %xmm1, %xmm6 + movslq %edx, %rdx + movsd -128(%rax,%rcx), %xmm2 + movhpd -128(%rdx,%rcx), %xmm2 + movsd (%rcx,%rax), %xmm3 + andnps %xmm2, %xmm6 + movhpd (%rcx,%rdx), %xmm3 + +/* set table value to Pi/2 for large X */ + movups 1024+__svml_datan_data_internal_avx512(%rip), %xmm2 + andps %xmm1, %xmm3 + movaps %xmm7, %xmm1 + andps %xmm7, %xmm2 + +/* polynomial evaluation */ + movaps %xmm4, %xmm7 + orps %xmm3, %xmm6 + mulpd %xmm4, %xmm7 + andnps %xmm6, %xmm1 + movaps %xmm7, %xmm5 + orps %xmm2, %xmm1 + movaps %xmm7, %xmm15 + movups 1152+__svml_datan_data_internal_avx512(%rip), %xmm2 + mulpd %xmm7, %xmm2 + mulpd %xmm7, %xmm5 + addpd 1168+__svml_datan_data_internal_avx512(%rip), %xmm2 + mulpd %xmm4, %xmm15 + mulpd %xmm5, %xmm2 + movups 1184+__svml_datan_data_internal_avx512(%rip), %xmm3 + mulpd %xmm7, %xmm3 + addpd 1200+__svml_datan_data_internal_avx512(%rip), %xmm3 + movups 1216+__svml_datan_data_internal_avx512(%rip), %xmm6 + mulpd %xmm7, %xmm6 + addpd %xmm2, %xmm3 + addpd 1232+__svml_datan_data_internal_avx512(%rip), %xmm6 + mulpd %xmm3, %xmm5 + addpd %xmm5, %xmm6 + mulpd %xmm6, %xmm15 + addpd %xmm15, %xmm4 + addpd %xmm4, %xmm1 + movups -24(%rsp), %xmm15 + cfi_restore(32) + pxor %xmm1, %xmm0 + ret + +END(_ZGVbN2v_atan_sse4) + + .align 16,0x90 + +__svml_datan_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_datan_cout_rare_internal,@function + .size __svml_datan_cout_rare_internal,.-__svml_datan_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_datan_data_internal_avx512: + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1125646336 + .long 0 + .long 1125646336 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1075806208 + .long 0 + .long 1075806208 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3220176896 + .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 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1206910976 + .long 0 + .long 1206910976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 856972295 + .long 1016178214 + .long 856972295 + .long 1016178214 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4123328151 + .long 1068689849 + .long 4123328151 + .long 1068689849 + .long 3295121612 + .long 3216458327 + .long 3295121612 + .long 3216458327 + .long 4026078880 + .long 1069314495 + .long 4026078880 + .long 1069314495 + .long 2398029018 + .long 3217180964 + .long 2398029018 + .long 3217180964 + .long 2576905246 + .long 1070176665 + .long 2576905246 + .long 1070176665 + .long 1431655757 + .long 3218429269 + .long 1431655757 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_datan_data_internal_avx512,@object + .size __svml_datan_data_internal_avx512,1280 + .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 16 + +.FLT_15: + .long 0x00000078,0x00000000,0x00000078,0x00000000 + .type .FLT_15,@object + .size .FLT_15,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core-sse.S new file mode 100644 index 0000000000..79c48dbc91 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized atan, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_atan _ZGVdN4v_atan_sse_wrapper +#include "../svml_d_atan4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core.c new file mode 100644 index 0000000000..64ce66b9fd --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized atan, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_atan +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_atan, __GI__ZGVdN4v_atan, __redirect__ZGVdN4v_atan) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core_avx2.S new file mode 100644 index 0000000000..ac2797e80a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core_avx2.S @@ -0,0 +1,1521 @@ +/* Function atan vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_atan_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + lea 576+__svml_datan_data_internal_avx512(%rip), %rdx + vmovupd 64+__svml_datan_data_internal_avx512(%rip), %ymm7 + vmovupd 256+__svml_datan_data_internal_avx512(%rip), %ymm2 + vmovups %ymm15, -64(%rsp) + vandpd __svml_datan_data_internal_avx512(%rip), %ymm0, %ymm3 + vaddpd %ymm7, %ymm3, %ymm6 + vcmpge_oqpd 128+__svml_datan_data_internal_avx512(%rip), %ymm3, %ymm5 + vsubpd %ymm7, %ymm6, %ymm1 + vxorpd %ymm0, %ymm3, %ymm4 + +/* saturate X range */ + vmovupd 320+__svml_datan_data_internal_avx512(%rip), %ymm0 + vfmadd231pd %ymm3, %ymm1, %ymm2 + vsubpd %ymm1, %ymm3, %ymm7 + vminpd %ymm3, %ymm0, %ymm3 + +/* + * table lookup sequence + * VPERMUTE not available + */ + vpsllq $3, %ymm6, %ymm0 + vcmpge_oqpd 960+__svml_datan_data_internal_avx512(%rip), %ymm6, %ymm6 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vblendvpd %ymm5, 192+__svml_datan_data_internal_avx512(%rip), %ymm7, %ymm15 + vblendvpd %ymm5, %ymm3, %ymm2, %ymm2 + +/* R+Rl = DiffX/Y */ + vdivpd %ymm2, %ymm15, %ymm1 + vpand .FLT_15(%rip), %ymm0, %ymm2 + vextractf128 $1, %ymm2, %xmm15 + vmovd %xmm2, %eax + vmovd %xmm15, %r8d + movslq %eax, %rax + vpextrd $2, %xmm2, %ecx + movslq %r8d, %r8 + vpextrd $2, %xmm15, %r9d + movslq %ecx, %rcx + movslq %r9d, %r9 + vmovsd -128(%rax,%rdx), %xmm3 + vmovsd -128(%r8,%rdx), %xmm0 + vmovhpd -128(%rcx,%rdx), %xmm3, %xmm7 + vmovhpd -128(%r9,%rdx), %xmm0, %xmm2 + vmovsd (%rdx,%rax), %xmm3 + vmovhpd (%rdx,%rcx), %xmm3, %xmm15 + vinsertf128 $1, %xmm2, %ymm7, %ymm0 + vmovsd (%rdx,%r8), %xmm2 + vmovhpd (%rdx,%r9), %xmm2, %xmm3 + vinsertf128 $1, %xmm3, %ymm15, %ymm7 + vblendvpd %ymm6, %ymm7, %ymm0, %ymm0 + +/* polynomial evaluation */ + vmulpd %ymm1, %ymm1, %ymm3 + vmovupd 1152+__svml_datan_data_internal_avx512(%rip), %ymm15 + +/* set table value to Pi/2 for large X */ + vblendvpd %ymm5, 1024+__svml_datan_data_internal_avx512(%rip), %ymm0, %ymm7 + vmovupd 1216+__svml_datan_data_internal_avx512(%rip), %ymm0 + vfmadd213pd 1184+__svml_datan_data_internal_avx512(%rip), %ymm3, %ymm15 + vmulpd %ymm3, %ymm3, %ymm2 + vmovupd 1280+__svml_datan_data_internal_avx512(%rip), %ymm5 + vmulpd %ymm3, %ymm1, %ymm6 + vfmadd213pd 1248+__svml_datan_data_internal_avx512(%rip), %ymm3, %ymm0 + vfmadd213pd 1312+__svml_datan_data_internal_avx512(%rip), %ymm5, %ymm3 + vfmadd213pd %ymm0, %ymm2, %ymm15 + vfmadd213pd %ymm3, %ymm2, %ymm15 + vfmadd213pd %ymm1, %ymm6, %ymm15 + vaddpd %ymm15, %ymm7, %ymm1 + vmovups -64(%rsp), %ymm15 + cfi_restore(98) + vxorpd %ymm4, %ymm1, %ymm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + +END(_ZGVdN4v_atan_avx2) + + .align 16,0x90 + +__svml_datan_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_datan_cout_rare_internal,@function + .size __svml_datan_cout_rare_internal,.-__svml_datan_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_datan_data_internal_avx512: + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1125646336 + .long 0 + .long 1125646336 + .long 0 + .long 1125646336 + .long 0 + .long 1125646336 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1075806208 + .long 0 + .long 1075806208 + .long 0 + .long 1075806208 + .long 0 + .long 1075806208 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3220176896 + .long 0 + .long 3220176896 + .long 0 + .long 3220176896 + .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 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1206910976 + .long 0 + .long 1206910976 + .long 0 + .long 1206910976 + .long 0 + .long 1206910976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 856972295 + .long 1016178214 + .long 856972295 + .long 1016178214 + .long 856972295 + .long 1016178214 + .long 856972295 + .long 1016178214 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 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 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 + .type __svml_datan_data_internal_avx512,@object + .size __svml_datan_data_internal_avx512,1344 + .align 32 + +.FLT_15: + .long 0x00000078,0x00000000,0x00000078,0x00000000,0x00000078,0x00000000,0x00000078,0x00000000 + .type .FLT_15,@object + .size .FLT_15,32 + .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 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core-avx2.S new file mode 100644 index 0000000000..723734e10b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized atan, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_atan _ZGVeN8v_atan_avx2_wrapper +#include "../svml_d_atan8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core.c new file mode 100644 index 0000000000..e97a41b6bc --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized atan, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_atan +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_atan, __GI__ZGVeN8v_atan, __redirect__ZGVeN8v_atan) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core_avx512.S new file mode 100644 index 0000000000..727d6ab71c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core_avx512.S @@ -0,0 +1,1323 @@ +/* Function atan vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_atan_skx) + 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 .FLT_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 + ret + +END(_ZGVeN8v_atan_skx) + + .align 16,0x90 + +__svml_datan_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_datan_cout_rare_internal,@function + .size __svml_datan_cout_rare_internal,.-__svml_datan_cout_rare_internal + + .section .rodata, "a" + .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 + +.FLT_14: + .long 0x00000000,0x3ff00000 + .type .FLT_14,@object + .size .FLT_14,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core-avx2.S new file mode 100644 index 0000000000..27623cdf16 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized atanf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_atanf _ZGVeN16v_atanf_avx2_wrapper +#include "../svml_s_atanf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core.c new file mode 100644 index 0000000000..940de26615 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atanf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_atanf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_atanf, __GI__ZGVeN16v_atanf, + __redirect__ZGVeN16v_atanf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core_avx512.S new file mode 100644 index 0000000000..aa35261d9b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core_avx512.S @@ -0,0 +1,352 @@ +/* Function atanf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_atanf_skx) + 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 + ret + +END(_ZGVeN16v_atanf_skx) + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core-sse2.S new file mode 100644 index 0000000000..fe81170666 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized atanf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_atanf _ZGVbN4v_atanf_sse2 +#include "../svml_s_atanf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core.c new file mode 100644 index 0000000000..975ece6812 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atanf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_atanf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_atanf, __GI__ZGVbN4v_atanf, + __redirect__ZGVbN4v_atanf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core_sse4.S new file mode 100644 index 0000000000..45d9803519 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core_sse4.S @@ -0,0 +1,884 @@ +/* Function atanf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_atanf_sse4) + movaps %xmm0, %xmm6 + +/* + * To use minps\maxps operations for argument reduction + * uncomment _AT_USEMINMAX_ definition + * Declarations + * Variables + * Constants + */ + movups 64+__svml_satan_data_internal(%rip), %xmm3 + +/* + * 1) If x>1, then r=-1/x, PIO2=Pi/2 + * 2) If -1<=x<=1, then r=x, PIO2=0 + * 3) If x<-1, then r=-1/x, PIO2=-Pi/2 + */ + movups 128+__svml_satan_data_internal(%rip), %xmm2 + andps %xmm6, %xmm3 + movaps %xmm3, %xmm1 + movaps %xmm2, %xmm4 + cmpleps %xmm2, %xmm1 + maxps %xmm3, %xmm4 + minps %xmm3, %xmm2 + divps %xmm4, %xmm2 + movups __svml_satan_data_internal(%rip), %xmm5 + movaps %xmm1, %xmm0 + andps %xmm5, %xmm6 + andnps %xmm5, %xmm1 + pxor %xmm6, %xmm1 + pxor %xmm2, %xmm1 + +/* Polynomial. */ + movaps %xmm1, %xmm4 + mulps %xmm1, %xmm4 + movaps %xmm4, %xmm3 + mulps %xmm4, %xmm3 + movups 384+__svml_satan_data_internal(%rip), %xmm2 + mulps %xmm3, %xmm2 + movups 448+__svml_satan_data_internal(%rip), %xmm7 + mulps %xmm3, %xmm7 + addps 512+__svml_satan_data_internal(%rip), %xmm2 + mulps %xmm3, %xmm2 + addps 576+__svml_satan_data_internal(%rip), %xmm7 + mulps %xmm3, %xmm7 + addps 640+__svml_satan_data_internal(%rip), %xmm2 + mulps %xmm3, %xmm2 + addps 704+__svml_satan_data_internal(%rip), %xmm7 + mulps %xmm7, %xmm3 + addps 768+__svml_satan_data_internal(%rip), %xmm2 + mulps %xmm4, %xmm2 + addps 832+__svml_satan_data_internal(%rip), %xmm3 + andnps 256+__svml_satan_data_internal(%rip), %xmm0 + addps %xmm2, %xmm3 + mulps %xmm3, %xmm4 + pxor %xmm6, %xmm0 + addps 896+__svml_satan_data_internal(%rip), %xmm4 + +/* Reconstruction. */ + mulps %xmm4, %xmm1 + addps %xmm1, %xmm0 + ret + +END(_ZGVbN4v_atanf_sse4) + + .section .rodata, "a" + .align 64 + +__svml_satan_data_internal: + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_satan_data_internal,@object + .size __svml_satan_data_internal,960 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core-sse.S new file mode 100644 index 0000000000..1652a8f5c6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized atanf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_atanf _ZGVdN8v_atanf_sse_wrapper +#include "../svml_s_atanf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core.c new file mode 100644 index 0000000000..733d8c3bc3 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atanf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_atanf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_atanf, __GI__ZGVdN8v_atanf, + __redirect__ZGVdN8v_atanf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core_avx2.S new file mode 100644 index 0000000000..0453d30551 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core_avx2.S @@ -0,0 +1,688 @@ +/* Function atanf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_atanf_avx2) +/* + * 1) If x>1, then r=-1/x, PIO2=Pi/2 + * 2) If -1<=x<=1, then r=x, PIO2=0 + * 3) If x<-1, then r=-1/x, PIO2=-Pi/2 + */ + vmovups 128+__svml_satan_data_internal(%rip), %ymm7 + vmovups __svml_satan_data_internal(%rip), %ymm4 + vmovaps %ymm0, %ymm5 + +/* + * To use minps\maxps operations for argument reduction + * uncomment _AT_USEMINMAX_ definition + * Declarations + * Variables + * Constants + */ + vandps 64+__svml_satan_data_internal(%rip), %ymm5, %ymm0 + vcmple_oqps %ymm7, %ymm0, %ymm3 + vandps %ymm4, %ymm5, %ymm2 + vmaxps %ymm0, %ymm7, %ymm5 + vminps %ymm0, %ymm7, %ymm0 + vandnps 256+__svml_satan_data_internal(%rip), %ymm3, %ymm6 + vxorps %ymm2, %ymm6, %ymm1 + vdivps %ymm5, %ymm0, %ymm6 + vmovups 384+__svml_satan_data_internal(%rip), %ymm0 + vandnps %ymm4, %ymm3, %ymm3 + vxorps %ymm2, %ymm3, %ymm2 + vxorps %ymm6, %ymm2, %ymm3 + +/* Polynomial. */ + vmulps %ymm3, %ymm3, %ymm7 + vmovups 448+__svml_satan_data_internal(%rip), %ymm2 + vmulps %ymm7, %ymm7, %ymm4 + vfmadd213ps 512+__svml_satan_data_internal(%rip), %ymm4, %ymm0 + vfmadd213ps 576+__svml_satan_data_internal(%rip), %ymm4, %ymm2 + vfmadd213ps 640+__svml_satan_data_internal(%rip), %ymm4, %ymm0 + vfmadd213ps 704+__svml_satan_data_internal(%rip), %ymm4, %ymm2 + vfmadd213ps 768+__svml_satan_data_internal(%rip), %ymm4, %ymm0 + vfmadd213ps 832+__svml_satan_data_internal(%rip), %ymm4, %ymm2 + vfmadd213ps %ymm2, %ymm7, %ymm0 + vfmadd213ps 896+__svml_satan_data_internal(%rip), %ymm7, %ymm0 + +/* Reconstruction. */ + vfmadd213ps %ymm1, %ymm3, %ymm0 + ret + +END(_ZGVdN8v_atanf_avx2) + + .section .rodata, "a" + .align 64 + +__svml_satan_data_internal: + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_satan_data_internal,@object + .size __svml_satan_data_internal,960 diff --git a/sysdeps/x86_64/fpu/svml_d_atan2_core.S b/sysdeps/x86_64/fpu/svml_d_atan2_core.S new file mode 100644 index 0000000000..e86d5b7047 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atan2_core.S @@ -0,0 +1,29 @@ +/* Function atan vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_atan) +WRAPPER_IMPL_SSE2 atan +END (_ZGVbN2v_atan) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_atan) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_atan4_core.S b/sysdeps/x86_64/fpu/svml_d_atan4_core.S new file mode 100644 index 0000000000..eb11fd2f17 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atan4_core.S @@ -0,0 +1,29 @@ +/* Function atan vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_atan) +WRAPPER_IMPL_AVX _ZGVbN2v_atan +END (_ZGVdN4v_atan) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_atan) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_atan4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_atan4_core_avx.S new file mode 100644 index 0000000000..b83a4be33d --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atan4_core_avx.S @@ -0,0 +1,25 @@ +/* Function atan vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_atan) +WRAPPER_IMPL_AVX _ZGVbN2v_atan +END (_ZGVcN4v_atan) diff --git a/sysdeps/x86_64/fpu/svml_d_atan8_core.S b/sysdeps/x86_64/fpu/svml_d_atan8_core.S new file mode 100644 index 0000000000..9685a32bdc --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atan8_core.S @@ -0,0 +1,25 @@ +/* Function atan vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_atan) +WRAPPER_IMPL_AVX512 _ZGVdN4v_atan +END (_ZGVeN8v_atan) diff --git a/sysdeps/x86_64/fpu/svml_s_atanf16_core.S b/sysdeps/x86_64/fpu/svml_s_atanf16_core.S new file mode 100644 index 0000000000..f82d2422ae --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atanf16_core.S @@ -0,0 +1,25 @@ +/* Function atanf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_atanf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_atanf +END (_ZGVeN16v_atanf) diff --git a/sysdeps/x86_64/fpu/svml_s_atanf4_core.S b/sysdeps/x86_64/fpu/svml_s_atanf4_core.S new file mode 100644 index 0000000000..6b8c4d9624 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atanf4_core.S @@ -0,0 +1,29 @@ +/* Function atanf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_atanf) +WRAPPER_IMPL_SSE2 atanf +END (_ZGVbN4v_atanf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_atanf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_atanf8_core.S b/sysdeps/x86_64/fpu/svml_s_atanf8_core.S new file mode 100644 index 0000000000..315681f6c0 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atanf8_core.S @@ -0,0 +1,29 @@ +/* Function atanf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_atanf) +WRAPPER_IMPL_AVX _ZGVbN4v_atanf +END (_ZGVdN8v_atanf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_atanf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_atanf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_atanf8_core_avx.S new file mode 100644 index 0000000000..b9cd502186 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atanf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function atanf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_atanf) +WRAPPER_IMPL_AVX _ZGVbN4v_atanf +END (_ZGVcN8v_atanf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atan-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-atan-avx.c new file mode 100644 index 0000000000..0f7176a20b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atan-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-atan.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atan-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-atan-avx2.c new file mode 100644 index 0000000000..0f7176a20b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atan-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-atan.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atan-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-atan-avx512f.c new file mode 100644 index 0000000000..0f7176a20b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atan-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-atan.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atan.c b/sysdeps/x86_64/fpu/test-double-libmvec-atan.c new file mode 100644 index 0000000000..982687b169 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atan.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC atan +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 50b4d7c02f..7abe3211c8 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -31,6 +31,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVbN2v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVbN2v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVbN2v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVbN2v_asinh) +VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVbN2v_atan) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 255df14db5..1537ed25cc 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -34,6 +34,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVdN4v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVdN4v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVdN4v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVdN4v_asinh) +VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVdN4v_atan) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 355560d081..27bcc9c59a 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -31,6 +31,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVcN4v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVcN4v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVcN4v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVcN4v_asinh) +VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVcN4v_atan) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index b7ecf9c8f3..2333349893 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -31,6 +31,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acos), _ZGVeN8v_acos) VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVeN8v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVeN8v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVeN8v_asinh) +VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVeN8v_atan) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx.c new file mode 100644 index 0000000000..9251c65f8a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-atanf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx2.c new file mode 100644 index 0000000000..9251c65f8a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-atanf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx512f.c new file mode 100644 index 0000000000..9251c65f8a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atanf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-atanf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atanf.c b/sysdeps/x86_64/fpu/test-float-libmvec-atanf.c new file mode 100644 index 0000000000..2a8ab87e86 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atanf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC atanf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index b1e47a4434..723651140e 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -31,6 +31,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVeN16v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVeN16v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVeN16v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVeN16v_asinhf) +VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVeN16v_atanf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index b2607f8467..da77149021 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -31,6 +31,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVbN4v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVbN4v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVbN4v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVbN4v_asinhf) +VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVbN4v_atanf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 35e36c4510..a978f37e79 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -34,6 +34,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVdN8v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVdN8v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVdN8v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVdN8v_asinhf) +VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVdN8v_atanf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index b01e99f690..1ae9a8c3c0 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -31,6 +31,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acosf), _ZGVcN8v_acosf) VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVcN8v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVcN8v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVcN8v_asinhf) +VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVcN8v_atanf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48087 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CA5483857C71 for ; Wed, 24 Nov 2021 20:01:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CA5483857C71 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637784108; bh=CxtI2IndQO/bj6Aexb0nkT03ngXfqFjVkF63A3cuuMM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=MQKe3Vg73axUHbeiVWZjWEx//sMeRqFY5/JTMkNNJggjsfvlUEh0r5XsIKiJ/XtkU X0eNJwZqhX1Bc257Yvv4zd5OxXrsa3MjNIGJ5TJrv4KarMbNNG4aQ5VBomwknlRoDx /6f54t/+yoBEe95yV9a50NpVYg29vzIsz/6NZTXw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 593D33857C6A for ; Wed, 24 Nov 2021 19:38:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 593D33857C6A X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="298763427" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="298763427" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="650501601" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga001.fm.intel.com with ESMTP; 24 Nov 2021 11:38:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Wv021555; Wed, 24 Nov 2021 11:38:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 10/42] x86-64: Add vector atan/atanf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:35 -0800 Message-Id: <20211124193807.2093208-11-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector atan/atanf and input files to libmvec microbenchmark. libmvec-atan-inputs: arg1: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 4.0 10% uniform random distribution in range (-1.0e6, 1.0e6) arg2: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 4.0 10% uniform random distribution in range (-1.0e6, 1.0e6) libmvec-atanf-inputs: arg1: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 4.0f 10% uniform random distribution in range (-1.0e6f, 1.0e6f) arg2: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 4.0f 10% uniform random distribution in range (-1.0e6f, 1.0e6f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-atan-inputs | 4100 +++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-atanf-inputs | 4100 +++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-atan-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-atanf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index c8418e68c8..1364381877 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -40,6 +40,7 @@ libmvec-bench-funcs = \ acosh \ asin \ asinh \ + atan \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-atan-inputs b/sysdeps/x86_64/fpu/libmvec-atan-inputs new file mode 100644 index 0000000000..4f1d8b2bc6 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-atan-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-1.8e+308, 1.8e+308), mean = 0, standard deviation = 4 +-0x1.11003707ad71cp+0 +-0x1.1f03ac14205d9p+1 +-0x1.88539918864c9p+2 +-0x1.4101316c89f72p+1 +-0x1.3b7fb80733407p+0 +0x1.029dee7ae42b8p+2 +0x1.77fde1eeb3fa9p+1 +0x1.16a53d1f1be7ep+3 +0x1.35a33590dab6ep+1 +-0x1.f85d770c98ac8p+0 +-0x1.75bd8b3896dd6p+2 +-0x1.360247570184fp+2 +0x1.1cb9fa09ed944p+3 +-0x1.cc0c949f502bdp-1 +-0x1.b06432c2571b1p+1 +0x1.e5f318e3e5fffp+2 +-0x1.2bbc5f516e8d5p+0 +-0x1.b20d60c7a530ap-6 +0x1.1ee5aa3496dfdp+1 +0x1.0d39d9919d41cp+2 +-0x1.f35ec91641a28p+0 +-0x1.90e89ab44af72p+1 +-0x1.8718b197051b2p-1 +0x1.e1a883407183ap+1 +-0x1.bb84130e0b6c2p+0 +0x1.66748e4448814p+2 +-0x1.03ac940894e0bp+2 +-0x1.2777c019ddd62p+0 +0x1.1d20fa6e1de58p+2 +-0x1.0d65971f91a47p+2 +0x1.948e128f1e25cp-1 +0x1.a2f9146265a94p+1 +0x1.8dfc3c4334d3fp-1 +-0x1.45c1b4e964fb6p+9 +0x1.7291977c39bfbp-1 +0x1.0d76b4a8e6ffap-2 +-0x1.8ba0bf00ef4fbp+1 +-0x1.657578a29b5d8p+0 +-0x1.42073771c3e34p+0 +0x1.254b4bf837916p-1 +-0x1.3c18dfcd0f52cp-2 +0x1.e264029c179bdp+1 +-0x1.16b4eb16e4697p+2 +0x1.919dfef854b24p+0 +0x1.51a8f5058cf09p-4 +-0x1.dddb40d0f560fp+8 +-0x1.7ed13b350af89p-1 +0x1.7c78e8308fd75p+1 +-0x1.371df5ae1bae6p+2 +-0x1.47b6c3841cc34p+0 +0x1.c0eb159b7735cp+1 +-0x1.041440688e7dcp+2 +0x1.747d826d6612p+1 +-0x1.0e3c3a9af5cbdp+3 +-0x1.9223e1cf1b888p+1 +0x1.2c285914810dep+0 +-0x1.e1009fc24adffp+1 +0x1.a994c08eb3571p+1 +0x1.5642c58ee1935p+2 +0x1.886a1cbdb2f45p-1 +0x1.10acd826d54afp+4 +-0x1.7e95d7fb26218p-4 +0x1.f4421fd153b6dp+5 +-0x1.6d0ab05da8ddap+2 +0x1.270ad4296768bp+0 +0x1.cb814b7ce6be9p+1 +0x1.ef5984a81ededp-1 +0x1.4511a4ee5b844p-1 +0x1.c3236baf357dbp-1 +-0x1.b5663a8cd3b9ep-3 +0x1.f9775cb63303ap+1 +-0x1.fbe0031478fdap+1 +0x1.ec4068e7020c7p-2 +0x1.0af7c1486d593p+1 +-0x1.18e6b70f08559p+1 +0x1.2fc06a93c1a14p+0 +-0x1.0df60b2d5d5dcp+1 +-0x1.52541f04ff95cp+18 +-0x1.f9bea93247eaap-2 +-0x1.a8a18bac42c3ep-2 +0x1.6d627497f0e43p+18 +0x1.8035aed7e3caap-2 +0x1.6e5336703809cp+1 +-0x1.202ed659e43b3p+2 +-0x1.958d6ede80a6p+0 +-0x1.38e0549bddad8p+5 +-0x1.ae79eb0610afep+0 +-0x1.08e9352d53acdp+0 +0x1.fa1d1125c944ep+1 +0x1.e0e74fafb7d1cp+1 +0x1.18408a8b50dd6p+15 +0x1.1e5f3ae424c09p+9 +-0x1.37f81a887c07fp+1 +-0x1.d1b8204e578e7p-2 +-0x1.8d8c75ac1faf6p+2 +0x1.c753b324bdc81p+2 +0x1.59d5b085ab03ap-1 +-0x1.ea04b4cf878fbp-2 +0x1.29c33813f534dp-3 +-0x1.c2ee5e411a0abp+1 +0x1.cee3ca87f3fb9p+2 +-0x1.b5e1a68fd908dp+1 +-0x1.42abb872d6d69p+1 +0x1.1d88916f49ef1p+2 +0x1.80ec7c336cd4bp+0 +0x1.409d1b9ae6f2ep-3 +0x1.9c79d91cd3abbp+1 +-0x1.253082fbb949cp-2 +-0x1.a401128cbd47p+0 +-0x1.7794302387928p+1 +0x1.77052a301b523p+0 +0x1.aa7ee75ee0531p+2 +-0x1.f6ee5bdcf7b24p-4 +0x1.a39a2af50b0c7p+1 +0x1.3221b7312157fp+1 +0x1.5ff5bc5f5da2dp+1 +-0x1.4613a9aa74a1ep-2 +-0x1.6991a4013ce91p+2 +-0x1.1071c932aaf75p+2 +-0x1.055f3a8317374p+2 +0x1.520ed8dc30dfcp+1 +-0x1.6e15432b01ce6p+2 +0x1.e818fff13878bp+2 +-0x1.8b8cb3370be2bp+1 +-0x1.a9f6495b21f7ep+1 +0x1.88e06bd995039p+0 +0x1.750ec69bb3a04p+1 +-0x1.0dd8abfb7163fp+1 +-0x1.99309e84c1aa3p+0 +-0x1.08b1bb04fcb2fp+0 +0x1.b9324721213d8p+10 +0x1.0a5b3dcd01fc6p+0 +0x1.273d5ce7af555p+3 +-0x1.27eeab5a7ec7ap+2 +0x1.398225abd6819p+1 +0x1.56fe5fc6fa3c2p+2 +-0x1.f11f36ce3507dp+2 +0x1.9aca951469d7ap+0 +-0x1.8f8d41cd02deep+1 +-0x1.f49e6ed2ea59dp-1 +-0x1.7a129db836d66p-6 +-0x1.1ae76b7d889bbp+1 +0x1.087a59865458p-2 +0x1.6aff85979d2e4p+1 +-0x1.62fa8a2d852ep+0 +0x1.b66d4b202c901p+0 +0x1.b32cf8b59341dp+0 +-0x1.db353b83712f4p+14 +-0x1.ac60d9bcb0c1ep+1 +-0x1.fbdc48a31f484p-1 +0x1.ce8d89c689577p+0 +-0x1.f0575d582a6f9p+0 +0x1.2480822366da6p+2 +-0x1.4b02cb0e67facp-2 +-0x1.f980a13147b0ap+1 +-0x1.d7c147ac37bbcp+1 +-0x1.19379d25cb96ap-2 +0x1.3871bcdf0236p+19 +-0x1.ab949852b3ebfp+0 +0x1.0e6dad20e631fp+1 +-0x1.45599ccb9a8f2p+2 +-0x1.a1d652eced84ep+2 +0x1.0a9a084bf0496p+1 +-0x1.3806551d9b8a6p+1 +-0x1.4723e9533861ap+2 +0x1.82ba877ba1442p+2 +-0x1.be10fd54c1c05p-1 +0x1.6e9ab6991ff9p-8 +0x1.ac8eba94cd894p+2 +0x1.72f43a9f6a1c5p-1 +0x1.647a30feef7b1p-1 +-0x1.6a098d3db5971p-1 +-0x1.535b60bc394fap-3 +0x1.9b21776d6a934p+0 +-0x1.1ac8764948404p-2 +-0x1.d28fec264c5bbp+0 +0x1.d1ae8b3048e02p+0 +-0x1.4314fbc60688dp-1 +-0x1.3d2ddbf4fb65cp+1 +-0x1.91560bb9916ap-1 +-0x1.2064bd3b1efedp+3 +-0x1.8f0d5ae1f2d1dp+1 +0x1.81850a482ba67p+3 +-0x1.f7d0d6b631c12p+0 +-0x1.f23fd47cfedccp+1 +-0x1.75a6060cb3691p-3 +-0x1.d253dcef76f97p+1 +-0x1.5328460a56bcfp+1 +0x1.ce3576497d7cp+1 +-0x1.8652cde59b041p+0 +-0x1.9b8ef067e895dp+2 +0x1.7d9c66e44ec47p+2 +0x1.b96c3d206dae9p+2 +-0x1.f953fc1959504p+1 +-0x1.eb705760acbe3p+3 +-0x1.a1e7bf001c68dp+0 +0x1.46cfc16fd39dep+2 +-0x1.ae24518735eeap+0 +0x1.69939f4e7cd55p+2 +0x1.13306c72f0a09p+0 +0x1.61510c88f5508p-3 +-0x1.1a20364d51f6p+3 +-0x1.64ad7976812dfp+1 +0x1.bc0558fc677f4p-2 +0x1.3c093d67ef0f5p-2 +0x1.4f8ea8f2b2961p+1 +-0x1.55af0900913c4p+3 +0x1.5af1d2d65fffcp+0 +-0x1.0de627c082eb5p+1 +0x1.99ce9e0daa1e9p+2 +-0x1.f3ce28bc65e34p+1 +-0x1.2dcbcb1edbdd6p+2 +0x1.1adafdd6788cap+1 +0x1.853c9a6a80e5fp-1 +-0x1.00b1d997f5fbep-3 +-0x1.12d9e9bd6279ap+2 +-0x1.c05a7b8c13756p+2 +-0x1.df87d85868a0dp+2 +0x1.3e98c5ca53054p+1 +0x1.560246edba008p+2 +-0x1.c6b77410468a2p+1 +-0x1.9fdb8d7b41fa4p+0 +0x1.efefd701da649p+1 +0x1.c1a1321b7ef1p-2 +0x1.30ea39a7cf938p+2 +-0x1.a74dd3dc1e9a2p+1 +0x1.79ab521c3abfcp-4 +0x1.d28bd03ad897cp+1 +-0x1.dd0ae5433da8p+2 +0x1.0860581cad894p+2 +-0x1.3d8029781c0b5p+0 +-0x1.1185907f2891p+1 +0x1.2aa161a477366p+0 +-0x1.51a2fdf6d801dp+2 +0x1.6d4ca2cbce87bp+2 +-0x1.08647180c4641p+1 +0x1.73c0d4d983607p-1 +-0x1.460bb7d2967e5p+2 +-0x1.96b5c19d31dd8p+1 +0x1.002087be4803p+1 +-0x1.079c675e5f576p+2 +-0x1.a490fe5d517cap-2 +0x1.3a316fc183cdbp-1 +0x1.b3009a6de004ep-1 +-0x1.8be62fc82b254p+2 +0x1.c70c47d64b2e1p-1 +0x1.6ec300c6e0d84p+1 +-0x1.d42bdaaa529ccp-3 +0x1.542a484cbbdap+1 +-0x1.68aade01022e5p+1 +0x1.0719ec34bd9f8p+1 +0x1.5a5bef7e71b7fp+1 +-0x1.ea3776600bc1ep+12 +0x1.6d1c9c6b3a93fp+14 +0x1.65e234d9d723p+1 +0x1.81eea275987dcp+1 +-0x1.e09ae78c0f3d3p+0 +0x1.88cff5ac2b027p+0 +-0x1.38a36ecf3e5c4p+18 +0x1.b0dc5207eb04ap+0 +-0x1.949d08f8c29a8p-1 +0x1.2054be5894c16p+2 +-0x1.1c5a705a6144ep+2 +0x1.682ea02b10c8cp+16 +0x1.c9d5befb75c36p+3 +0x1.ede0402a06984p+1 +0x1.5dd9cecee44dp+2 +-0x1.ee86a38dcfb8bp+0 +0x1.430681c5d5435p+1 +-0x1.b239cdf03ac1ep+0 +-0x1.b155c322a615bp+2 +0x1.11059304523ccp+1 +-0x1.940484004736ap+1 +-0x1.a03c2b9c2324p+8 +0x1.2ab817598e9cep+0 +-0x1.bb57ee381a94fp-6 +0x1.2c5fa973bc423p+0 +-0x1.105b2a041f858p+0 +0x1.ad21b525cafe7p+2 +0x1.f591180c51366p+1 +0x1.942c7148cde5ap+0 +-0x1.73fc05810249p+0 +0x1.19a063e9246a8p+2 +0x1.f440990cb9501p-1 +-0x1.6ea822c81ebefp+2 +0x1.05325f085e4dap-1 +-0x1.30227ac82dd9p+0 +0x1.69b3016747ba7p-2 +-0x1.a95e1be905656p+1 +0x1.2ff44c322ad99p+1 +0x1.8803b3b61b6ffp+1 +0x1.e33526ca99p+1 +-0x1.9d41a0c3c5142p+7 +-0x1.a15cdae0069dp-1 +-0x1.ad8b0ddd507a6p+2 +-0x1.9c52c8fe232b1p+2 +0x1.1e8559bb5e4ccp-1 +0x1.bb99adabb7695p+0 +-0x1.1dae22a6fbcabp+2 +-0x1.9efa1bdb52cb6p+2 +0x1.7f4123362bf2fp+2 +0x1.a0ae02a90565bp+0 +0x1.6c88688bf3d0ep+1 +0x1.7388f7f92f0fbp+15 +0x1.1a07e1bd84d91p+2 +0x1.50e957f68cb51p+2 +-0x1.c15eef052be3fp+10 +0x1.62d0a629641b7p+2 +-0x1.641801bf2bda6p-2 +-0x1.a1d7bc21eb45cp+3 +0x1.8480d718753ap+15 +0x1.a556292c47ef2p+2 +-0x1.af841b378367ap-1 +-0x1.6538b64ad0d9fp+2 +-0x1.29feb61cdd084p+1 +0x1.6071bbed6bd28p+3 +0x1.3a75b1d968b3bp+3 +0x1.501b2864bb0aap+1 +0x1.cab884c6bd488p+0 +-0x1.a5e6cd1591413p+11 +-0x1.94991fb9ce0efp+2 +-0x1.4bf2146d428fbp+1 +-0x1.f4aaa87f6871dp+1 +-0x1.c904a4b94b4dep+1 +-0x1.851379734f5a1p+0 +-0x1.3253d2afe1b8dp+1 +-0x1.7e5a943926cb6p+1 +-0x1.ba8b241fbebep+0 +-0x1.e32c5b539ed49p+2 +-0x1.f7a818b66c2fbp+0 +0x1.d79048fa51f8ap-1 +-0x1.e1ee3cfd1f65ap+1 +0x1.8a59e5bc58019p+1 +0x1.72b319253eee7p+0 +-0x1.f0a78fd5454d7p+0 +-0x1.ec9f639a8510ep+0 +-0x1.ef4d44582ca63p+1 +-0x1.45030ba429744p+0 +-0x1.3de02f6079c35p+2 +-0x1.ae4ee802d4d44p+0 +-0x1.2a2442b03a96dp+2 +0x1.1e09c7cc868aep-6 +-0x1.522542bc9ebd7p+14 +0x1.0b13ec95f71a5p+0 +0x1.5b22063d3f771p+1 +-0x1.c752f2d48be01p-1 +0x1.3d1510a4f8cdbp+1 +0x1.17da3098fa41dp+1 +-0x1.266a093459c2ap+1 +0x1.cface95855369p+5 +-0x1.347da4da856a7p+0 +-0x1.39b4ff032f74p-2 +0x1.b9a57659a198ep+1 +-0x1.7218160918b0bp+1 +0x1.4139fe4f6d7e2p+2 +0x1.0b6028c217fb9p+1 +-0x1.9cf3201eb31ep+0 +0x1.4e85803ece1acp+2 +0x1.b07b4e5172c39p-1 +0x1.11701ffaaed4bp-1 +-0x1.3462df01d4b6dp+12 +0x1.f19c0ff054b58p+4 +0x1.a9ca39d6dd6d5p+1 +-0x1.5506bc6b3344fp+0 +0x1.7d3bab08c2e5dp-1 +0x1.ba237ef743cb1p+0 +-0x1.9d3fecf588cedp+1 +0x1.04414d215c2dcp+1 +-0x1.1ab065eb10c66p+1 +0x1.261c998ed952cp+7 +-0x1.f49bd07a57b29p+5 +-0x1.bcfc0ccd8bdb9p-2 +0x1.010d86d3def47p+0 +-0x1.7ff50886aa934p+0 +-0x1.4873b5af8380ap+1 +0x1.3ee03ef5f88e9p+2 +0x1.44bf15b0634b7p+0 +-0x1.dc7bfeb3d79c5p-1 +0x1.4b2044275cd4dp+0 +0x1.84fe3569cb2f3p-1 +0x1.cd76216869e9bp+2 +0x1.1b1d3cf683a9ep+2 +-0x1.9fcae5205cd46p+2 +-0x1.0a3b58f299bfdp+1 +-0x1.2abc89a0eb39fp+2 +0x1.8c4d6835e5972p-1 +0x1.0a5afe3c4ccc7p+2 +0x1.4fd2cc063a564p-1 +-0x1.d0248bd7ff629p+12 +0x1.8d885d6947ae1p+2 +0x1.59ea516d1f26bp+2 +0x1.0ec88cec00338p-3 +-0x1.8a5d8487762f6p+2 +0x1.1a283a53f8328p-2 +0x1.829e7668f5048p+1 +-0x1.c94901bac29c8p+4 +-0x1.0136269e8d655p+2 +-0x1.d6aa45de9e968p+1 +0x1.1ae55c1f50a91p+0 +-0x1.6d2bbf6ac4bffp+0 +-0x1.2f894a496ef82p+1 +-0x1.8cccaafc6228bp+3 +0x1.a1847ab53654dp+0 +0x1.61b9f91dd1568p+2 +-0x1.593af265b0f1cp+0 +-0x1.6fcb3685e1188p+1 +-0x1.4274fc2b6a44p+17 +0x1.55402eb22877fp-4 +-0x1.7758f8ef73ce5p+1 +-0x1.129ed6c9fec09p+1 +0x1.47b15b059fa22p+0 +0x1.c37c3800e473fp-2 +-0x1.55e59b46e00fep+1 +0x1.15ab24a33c4afp+0 +-0x1.5efb2f2360924p+2 +-0x1.c822455705f7dp+2 +-0x1.1ec1052baec55p+1 +-0x1.632d52993655fp+2 +-0x1.3b380e44110fbp-1 +-0x1.d06a61edd63b8p+2 +-0x1.648c7d2c9f39ap+3 +-0x1.e0c74983a6277p+0 +0x1.3b45c176c2365p+2 +0x1.9ac13402948f9p+2 +0x1.821b65b56e9d4p+0 +0x1.49d4a47602299p-2 +-0x1.9536fd2b229e5p-1 +-0x1.e45f70770ffa6p+1 +0x1.f42e02754d539p-3 +-0x1.1447c8f7f0803p+0 +-0x1.3814c90a3de51p+1 +-0x1.d29b58c9323e2p+4 +-0x1.db96f4672c59fp+1 +0x1.b7e8d8652d20bp+1 +0x1.31f092f938cp+1 +-0x1.23d399672214ap+2 +0x1.03f4f293679bfp+8 +-0x1.d6e5873aa87e8p+1 +-0x1.51e8d044a5eadp+0 +-0x1.076d0067d9a9bp+2 +-0x1.5ce540d167649p+0 +-0x1.03dbfbee1785p+1 +0x1.02c32cb8776d7p+2 +0x1.2900de5c7341p+1 +-0x1.2da0585a98a05p+9 +-0x1.5d38049159df2p+2 +0x1.7b1185942c1a5p+2 +0x1.ff5246459affp-1 +0x1.0e03a3dd96788p+3 +-0x1.76a414c910fb2p+1 +-0x1.1fffa49b7f639p-2 +0x1.9caea3b989545p+0 +-0x1.793d42826ff15p-2 +0x1.5b08238bd7a18p-1 +0x1.254967c3d947fp-1 +0x1.eb12af95bfb63p+2 +0x1.fe853624e7d83p-1 +0x1.b1e56a27778f2p+2 +0x1.3453058a4da38p-1 +0x1.307c967bfffc2p+2 +0x1.4d5cb9f362b26p+1 +-0x1.b1937baaf010bp-1 +0x1.00f6b1b98db0bp+10 +0x1.36171ec38d3b3p+1 +0x1.55b3e6055d0e1p-3 +-0x1.1aa44da042bb6p+1 +-0x1.b0bd843ab6a4ap+1 +-0x1.f054c11c6fd4cp-3 +-0x1.81014cc2078b6p+2 +-0x1.4bfc850ef4p+7 +0x1.d0a0747739ef9p-1 +0x1.41625bb6bb69ep-7 +-0x1.40f225f19d807p+1 +0x1.68f2251556c42p+0 +-0x1.17690d37416e8p+2 +-0x1.75fa5ee082b6fp+1 +0x1.29564149663f6p-1 +0x1.9881037ac5d0cp+0 +0x1.2b01b141897c8p+2 +-0x1.0f4d726519f07p-2 +-0x1.4b4620ac0010dp+1 +0x1.9e7c31f8f8785p+2 +-0x1.a6f89ee0f795ap+1 +0x1.f2082c30db1c8p-2 +-0x1.dd839901b27bdp+1 +0x1.7fca07d73884p+1 +-0x1.c3c48700662c3p+1 +-0x1.6e853770c0f9fp+2 +0x1.d8ed1c9463b1dp-2 +-0x1.ebd99dffbb2c1p+0 +0x1.fd966020d3d82p+1 +-0x1.206c1fca20dc4p+2 +0x1.aee0d6765bc5cp+2 +-0x1.35d52e2cf8086p-1 +0x1.13223a47687d9p-1 +0x1.7438981f5be52p+0 +-0x1.4bae87899db27p+1 +-0x1.b15ab21feb71ep+1 +-0x1.9ce3b1e40fdefp+2 +0x1.cef4514e6d594p+2 +-0x1.f17318cfda767p+2 +-0x1.e58d0c56c3a7p-4 +0x1.808beb30314dp+1 +0x1.07f0af7446b52p+2 +0x1.325fd32406536p+1 +-0x1.9faafa9806c7bp-2 +0x1.6104f835ab8edp+3 +-0x1.7807e45e473f1p+2 +0x1.29757328895cp+0 +0x1.3b45876742c98p+1 +0x1.c568a632a54f1p+1 +0x1.6caddd90a8a2cp+3 +-0x1.69894d1536713p+0 +-0x1.3730781c9eddep-1 +0x1.135deea0c29fbp+1 +0x1.e1285a2b60964p-1 +0x1.4b80b406c31bdp+2 +0x1.2811c39f9b89bp+1 +-0x1.690a7bad9ddeap+11 +-0x1.ab8ce8c5036fdp-1 +0x1.9d7e1448756f9p+2 +0x1.3737cdf250b8ep+2 +-0x1.63ffee2f4c37p+1 +0x1.193db17f128fap+7 +-0x1.d9b722403f2d4p-1 +0x1.022adb9727ec4p-2 +0x1.08a9000ea2e1bp+3 +0x1.18ec27d3a07d7p-2 +-0x1.6afe70ecfae1dp+3 +0x1.147d5c8097cefp+1 +-0x1.81f8ceac9872dp+1 +0x1.0f381836f6e7bp+1 +-0x1.c6ff784a5846dp+1 +-0x1.66360c4d84d4cp+1 +-0x1.6791dbb850ac8p+2 +-0x1.77c6dfc75633p+0 +0x1.45d5f669fcff2p+2 +0x1.268335c952d5ap+2 +0x1.3a13a0ae983f5p+1 +-0x1.780cef3cd015cp+0 +0x1.6128b1ee4e238p+1 +-0x1.439a5589fc96bp+2 +0x1.50b1d01bf2cabp+1 +-0x1.4aaf2ad158f5fp+13 +0x1.0ae6ec582d27ap+1 +-0x1.519680b429656p+0 +0x1.ee129e8d04b4p+14 +0x1.e0a28f7e72504p+2 +0x1.8cdcd3ddd9b87p-4 +0x1.ec9935e7e72f1p+1 +0x1.5317a281a6589p+0 +0x1.51d70c69c8e4ep-1 +-0x1.50ba0ab89871p+1 +0x1.013cec03578b4p+5 +-0x1.9996f9d095cd3p+1 +-0x1.61d00d92a98ecp+2 +-0x1.3a3a257258ee5p+1 +0x1.2f54b253c0a1bp+0 +-0x1.b4951c9daf538p+0 +0x1.220f603d1e01cp+1 +0x1.09e96024014f6p+1 +-0x1.b1165a43c5c1dp+1 +-0x1.be5766bd4f161p+2 +-0x1.411e5393f3221p-2 +0x1.32640aef4dbcap+2 +-0x1.9d3da53790e56p-1 +-0x1.26eaa37b73589p+1 +-0x1.9657b29aaf014p+0 +0x1.25d18013304f9p+1 +0x1.faee42d2eee09p+2 +0x1.2f193ffba2b34p+6 +0x1.9ed35146ebdc7p+0 +0x1.c24bc2a87317cp+1 +-0x1.c46c0709ade28p+1 +0x1.058fa84fdc5dfp+2 +0x1.074894afb4a68p+1 +-0x1.2cb5d178181a3p+2 +-0x1.7b022bc97bd87p+2 +0x1.d971cebec3dc3p+1 +-0x1.8ec86add9aeefp-2 +-0x1.f727374002d1dp-1 +0x1.219fdd9159794p+0 +-0x1.565374db0612ap+3 +-0x1.f7898c3436f25p+3 +-0x1.3c9b49b6645b9p+0 +0x1.0adc702525844p+2 +0x1.c5a67f1896e7ep-1 +0x1.da8b2071db25bp+6 +0x1.d9d092687d0a3p+1 +0x1.7d3d03a0cd29cp+0 +-0x1.479fcda3b1abcp+2 +0x1.ef3f79cf31cabp+0 +0x1.52dc5518c03d1p+1 +0x1.152d96988dfcbp+1 +-0x1.b9362861efb2ap+1 +0x1.6f1701555f85fp+0 +-0x1.d76088168cba7p+2 +0x1.396904801c693p+3 +-0x1.bb8d37e3d13d9p+0 +-0x1.bea7caef13c6bp-1 +-0x1.56dbccaa97ab9p+0 +0x1.3ad3109886a84p+2 +0x1.9e04061eea66ap-3 +0x1.f80584e5fb2d6p+0 +-0x1.54278b1afdca9p+2 +0x1.37b24baea382dp+0 +0x1.f77b1902c4964p-4 +-0x1.7c43b4e9e93cfp-3 +0x1.10f4e21b1dc18p+0 +-0x1.84c3d380eaf0ap+0 +0x1.6536d3822a5dbp+1 +-0x1.45c85e7112072p+2 +0x1.8d0b5806d37d9p+0 +-0x1.7bfe86e43f6cdp+2 +-0x1.028573702b054p+2 +-0x1.266d423e3032ep-4 +-0x1.6f1e52b43bbcdp+2 +-0x1.b57398f2ff9cep+2 +-0x1.0690070a17c8ep+2 +0x1.951438faf762ep+2 +0x1.54640df149ecfp+1 +0x1.a2e70e2d6b389p-2 +-0x1.4584eadb7a2a5p-1 +0x1.5984124891c5bp+1 +-0x1.3508e20bd00a4p+2 +-0x1.df8c737910911p+2 +-0x1.d401bbbe0de6ep+1 +-0x1.20ff5eb91df8cp+0 +0x1.ade08e2d79c6cp+0 +0x1.fb915453b8d6fp-2 +0x1.a816ef340651dp+1 +-0x1.90a1d1046f146p-9 +-0x1.6b755acce6fb3p+1 +-0x1.54b099489d729p+1 +-0x1.53687ec531316p+2 +0x1.0603b8ea04dabp+17 +0x1.1c64ac0e63ab9p-1 +-0x1.1cd93b9a183f3p+0 +-0x1.d6676ec0e83b7p+0 +-0x1.b3375faa14daap+1 +-0x1.397f5269a8f46p+0 +0x1.204f1d080a29bp+2 +-0x1.9d15f86e29d32p+2 +0x1.86b445c1fa227p+0 +-0x1.3a978b6d21bb1p+2 +-0x1.299fc79ecbcfdp+2 +-0x1.a744b7e636d36p-3 +-0x1.bb28842c58849p+0 +-0x1.0a9a77ea6cdb5p+0 +0x1.aabbf22ae2a88p+1 +-0x1.a112b6d648e72p+1 +0x1.3d09dc3e9e33bp+2 +0x1.2cb5e1779cea5p+2 +0x1.3cd7ac6fa38dap+0 +-0x1.f13990cfe5ec2p+1 +0x1.88f07d5373ae8p+2 +0x1.93179dd8aa89ep-2 +0x1.2bfc9601f50c2p+3 +0x1.32d43ce4e1358p+7 +0x1.335b322f8a7a2p+2 +-0x1.e24d81973b02ep+1 +-0x1.ebc2947a9ce5bp+2 +0x1.4d8134ffd3891p+1 +-0x1.e10c40e71879bp+0 +-0x1.628050434b9fep+1 +0x1.6d05cdab302ccp+14 +-0x1.407afbb6de59ep+2 +-0x1.c12b48dd63634p+0 +-0x1.7ef92af52d4d5p-2 +-0x1.41cc220fce214p+0 +-0x1.b4dc079689f4bp+1 +-0x1.b8c92d69cd9ep+1 +-0x1.a4756c48b704p+0 +-0x1.d7ea61d1085d1p+2 +0x1.a45014fadb068p-2 +-0x1.394900efd90a5p-2 +-0x1.f154e3644bcf4p+2 +0x1.b57ef080526a1p+1 +0x1.6e593e63048dp+1 +-0x1.b3b2e53f25ff4p+1 +0x1.20b8481ed33p-1 +-0x1.a7a9a263d55abp+2 +-0x1.3edfe9034a518p-1 +0x1.04df46fe1a96p+2 +-0x1.85c872b5fe48p-1 +0x1.987aa68c4a40ap+2 +-0x1.8d8ff4c07967ap-2 +-0x1.7bbe501495417p+0 +0x1.09b6e0c740d5cp+1 +0x1.6540ed66aa851p+1 +0x1.a035a7c44a82fp+4 +0x1.1ca917f416e1cp+14 +-0x1.6139c482ada5ep-2 +-0x1.4f44b083f6f77p-1 +-0x1.c87cf7e5f2df5p+2 +-0x1.625e9063076bdp+2 +-0x1.b994f9420b41ap+1 +-0x1.d21a73ec72312p+2 +0x1.fb8fbc9a2fe6p+2 +0x1.4e0291e40703ap+1 +0x1.7bec591bcb9f1p+1 +-0x1.22ade5fd6560fp+2 +0x1.3ff0fb4eb11fdp+1 +0x1.acf4457026889p-1 +-0x1.081e4b193da3p+1 +-0x1.af18d2905362dp-2 +-0x1.816382b888e2ap+0 +-0x1.dbf7e57684b5fp+2 +-0x1.109ea0bc3171ep+2 +0x1.2f89c59c1e284p+0 +-0x1.0525cef5eb77ap-1 +-0x1.1527b5894fa4cp+0 +0x1.b3de51b661796p+1 +-0x1.730858021dd8bp+0 +0x1.5a10d5a07f3a1p+3 +-0x1.6d89969971facp+2 +0x1.34fc598a78651p+1 +-0x1.8704c7920740fp+2 +0x1.d4182b979ed5fp+17 +-0x1.4e2aac11bfdf6p+1 +0x1.0e84298372162p+0 +0x1.6241568dfe5dcp+2 +0x1.50d6fdd8353a1p+1 +0x1.471f703d627b9p+0 +0x1.016adf54be7b1p-1 +-0x1.6baefbf516dc7p+1 +-0x1.21c30a32cda9ap+1 +0x1.62072a0760112p-4 +-0x1.39b197eda3b67p+1 +0x1.7f04c21a59f65p+0 +-0x1.168386ca9dda1p+2 +-0x1.c9fbcc3111dd1p+2 +0x1.1635f32442b4bp+1 +0x1.3ddeeff0904dp-3 +-0x1.1ee2ce778752ep-3 +-0x1.6899a578aa20fp+1 +0x1.dc1aa30ec4db2p-1 +-0x1.b601c472fde84p-1 +0x1.a8462321fb8p+0 +-0x1.33c518cb111f3p+1 +0x1.a6798664f5c9p+1 +0x1.0a3882fdb4c69p+2 +0x1.06a6a0c714e72p+0 +0x1.6bf6e92c72fdap+0 +-0x1.84d9f0dad55b6p+2 +-0x1.6cf1230fc64fap-1 +0x1.dcbcdf914d19bp+2 +0x1.3536efe9827d5p+2 +0x1.cdd5a0cabf976p+0 +-0x1.bfefec036a01p+1 +-0x1.618704dd2237ep+1 +-0x1.17cefc37ce9e6p+0 +0x1.67adb2356ca23p+2 +0x1.3a39542a3d08dp+1 +-0x1.d038d39843b5cp-3 +0x1.36d7a84eb8a79p+0 +0x1.e318b27ed0599p-2 +-0x1.3e982c6df06fp+2 +0x1.471aa1ad93735p+2 +-0x1.178b0d8b0e41bp+2 +-0x1.b5c3386698386p+1 +-0x1.a52045d0cb3b4p+1 +-0x1.d018cc3de79a2p-3 +0x1.2cb33f68cc2adp+10 +0x1.e26ee3996bd8ep+2 +0x1.1156ce1170e2ep+0 +0x1.a0a6aa2e7bd22p+2 +-0x1.267fe26a632a4p+1 +-0x1.1988fafc41493p+0 +0x1.0b474ede969c2p+1 +-0x1.8fe1987a07791p+0 +-0x1.5fdfda703863ap+2 +-0x1.9437084d0518ep-4 +0x1.8d0837e936cfdp+0 +0x1.8b69391996a2ap+2 +0x1.fd35a316fc2eep+2 +0x1.20e7616eca6e2p-2 +0x1.1338d3fa2926dp+3 +-0x1.ea5206d0e59ddp+1 +-0x1.cd9f2866a138p+0 +-0x1.1da76fac5b14ep+3 +-0x1.123ce38c400a3p+2 +-0x1.07273f5501a1ep+1 +0x1.fb388fac9cb68p-1 +-0x1.39b1efce626c6p+1 +-0x1.153f21880d3b8p+3 +0x1.8dd607ab18a3ep+2 +0x1.c9119430f7652p+0 +-0x1.06ef9d5040c57p-1 +-0x1.f7e71e8eb08dfp-3 +-0x1.2bcc972227b6p+0 +-0x1.c4bcf89f22a8dp+13 +-0x1.263feb687a572p+2 +-0x1.d0ae290be2126p+1 +0x1.bf14b6eaddd81p-3 +0x1.d08ea372372fcp-2 +-0x1.d899f538399cep+2 +-0x1.c8a9969e9fae7p+1 +-0x1.5587db2a38d7p+3 +-0x1.c510ed03a0fe3p+1 +-0x1.18b784fb0ed45p+2 +0x1.71cc014d2e991p+1 +-0x1.64f178d84bd9ap+1 +0x1.23e878698dbd8p+1 +-0x1.aec4fa9e8ba9cp-1 +0x1.30e845b965931p+2 +-0x1.f9dee68a8a975p-4 +-0x1.24ba81f47f9a1p-1 +-0x1.9fe796266bcc3p+0 +0x1.af099e5373c01p+2 +-0x1.43231ad599d27p+0 +0x1.1580806ff282bp+2 +-0x1.dd82938144e22p+1 +-0x1.29bfc266ae7abp-3 +0x1.5fafe5b5edad1p+1 +-0x1.22b3574e65c91p+1 +0x1.6651c618cf3f4p-5 +0x1.e17a669700255p+1 +0x1.d3c68b80f60d5p+0 +-0x1.56483d0667741p-2 +0x1.f538f451b9fdp-1 +-0x1.7fb88e136c291p+2 +0x1.7459694066d8cp-1 +0x1.90a7c3293e66dp+2 +-0x1.74067a2d8c534p-1 +0x1.3902e701e5a2fp+2 +0x1.359ad7f5f0d46p+0 +-0x1.14bb77ddc0726p+3 +-0x1.d2b000335796p+1 +0x1.f9f7f852b5e01p+0 +0x1.f4b9e2ad91dap-2 +0x1.18af71f8a9b28p+2 +0x1.2336b1cb0fafbp+3 +-0x1.aa7a9d484c47cp+1 +0x1.23d8f222d52a2p+2 +0x1.06602864ed3cbp+1 +-0x1.7154c80e93233p+8 +0x1.0787d6a0e9bcdp+2 +-0x1.9b00fe119f6bbp-2 +0x1.fe98dd197274bp+0 +0x1.5ce4da1b33f67p+2 +0x1.54b8001746585p+0 +0x1.7631f2c31f401p+1 +-0x1.56d6cef83e5a1p+2 +0x1.e93e0296d3f9cp+2 +-0x1.508c63cbc95e1p+1 +-0x1.9421ee9b98f67p+4 +-0x1.c205f2e58cca8p+2 +-0x1.4665ebc7cd0c7p+3 +-0x1.95aab1bd6c38bp+0 +-0x1.0cb91d1523407p+2 +0x1.517e2f1d103eep+0 +-0x1.bf61d1396f8d7p+1 +-0x1.457ed59185adbp+2 +-0x1.37c8c2e9eda75p+1 +-0x1.002cb202563ddp+2 +-0x1.07c27a4b98428p+1 +0x1.274167b3edc11p+1 +0x1.38f41e03ca394p+2 +-0x1.81ce3adcc24efp+1 +-0x1.d73dd14402c5dp-6 +0x1.1be2452685e43p+2 +0x1.6366c1ea96b0ep+18 +0x1.2310181f92686p+1 +0x1.23500e746171fp+0 +0x1.19c6bdd0879c7p+0 +-0x1.5e77f6e1a6136p+3 +-0x1.a6520e7760427p+0 +-0x1.fad8dc512ef64p-1 +-0x1.520906b4ca0edp+0 +-0x1.77399951d85bcp+0 +0x1.14293c930bd93p+1 +0x1.50f49f30f41a3p+1 +0x1.365732ee9462cp+2 +-0x1.3469c823bafdbp-5 +0x1.b1cb35b097958p+0 +0x1.0c8065025cd4ap+0 +0x1.53f72f16765c3p+1 +-0x1.ba6bf36ca2f71p+2 +-0x1.142e216b09fb8p-2 +0x1.240137694a3c1p+0 +0x1.9bb950814c562p+0 +-0x1.5a932d908486ap+0 +0x1.ba4fb40fa34a4p+1 +-0x1.223d30ff2a1a5p+3 +-0x1.27b8add6a6886p-1 +-0x1.a8e54543a5198p-2 +0x1.01d10f40bbe4dp+1 +-0x1.93f7d1ea9858ap-4 +0x1.7fcdddaeac474p+1 +0x1.9a1d8d576de6fp+2 +0x1.036463aaa8b1fp+2 +0x1.b0e6ff5eda3cdp-1 +0x1.02db2f7f0de33p+3 +0x1.6b8a9f549c9b6p+1 +0x1.2fa00597e9e36p+2 +-0x1.d82327772da7cp+1 +-0x1.9d410aaf06663p+2 +-0x1.de77e9c0a780cp-3 +-0x1.1494222a68d99p+9 +-0x1.cb4adcc5751bcp-2 +-0x1.3f3ebcce0aec2p+2 +0x1.2cd10b49175d9p+2 +-0x1.6f6f2351ad838p-3 +0x1.ed8106947686cp-1 +-0x1.89506742e5d8p+1 +0x1.00c424a42565p+2 +-0x1.6b352e885e7c3p-1 +-0x1.08fb74dc0ab89p+2 +0x1.26b1b1abb522ap+2 +0x1.5f5b97eb4da63p+0 +0x1.5767d36361b7ap+2 +0x1.276b5609db7f6p+2 +0x1.2bc056d863c86p+2 +0x1.054068516fafdp+2 +0x1.e8fb5d99a1a68p-2 +-0x1.7950f176344c2p+0 +0x1.61c78ee7f9271p+2 +-0x1.3da239be38048p+2 +0x1.b309d11338a01p+2 +0x1.b3d519e1bf1d4p-2 +0x1.c7101bf613de6p+0 +-0x1.17cc8034ddd1ap+3 +0x1.5e9e67ea45c7ep+0 +-0x1.7b88b9484a232p+2 +-0x1.bc3d10fd50bc6p+0 +0x1.fe17716a6268cp+2 +-0x1.454e049d56536p-2 +-0x1.203ea7655130ap-3 +0x1.0b62ff735d823p+1 +0x1.0a3696500908p+0 +0x1.b69cbdbd83417p-3 +0x1.e4a2a0310a0dp+0 +-0x1.fc1de8ce9ccbbp-2 +0x1.9c5f0ca6d5bcdp+1 +-0x1.c662e4a9e2b4fp-1 +0x1.cb7759ff98897p+0 +-0x1.61d9a3955f9e8p+0 +-0x1.1450cd02b8002p+2 +-0x1.e773533e402e8p+1 +-0x1.a191c553590d6p-1 +-0x1.3b0969f3dad3bp+2 +-0x1.5739785aa9cb6p-2 +0x1.974ac42aa19f3p-3 +-0x1.19e94204b2e05p+2 +-0x1.60de180df5b3ap+0 +-0x1.7877256bbd104p+0 +-0x1.fea15116b212bp-3 +-0x1.c22308bd575ddp-1 +0x1.288e7f47d1b81p+0 +-0x1.18dcfee80196cp+3 +-0x1.e322c79333de6p+0 +-0x1.11322e6dd5efp+1 +-0x1.34b88999f1bfdp+2 +0x1.52f1279623616p+1 +0x1.119c0fbd1adb5p+2 +-0x1.69e2d1e8fa137p-5 +0x1.1feb9ad409c2ep+2 +0x1.61feda8a1b167p+0 +-0x1.8f798a89cb563p+2 +-0x1.5076558e75dfep-2 +0x1.969822a48f2bfp+0 +-0x1.4b524db6de106p-1 +-0x1.321ac45903b65p-4 +-0x1.6ebfad34f3528p+2 +0x1.e1d78c350aacfp+2 +-0x1.1208ee7041017p+1 +0x1.50da0aca712e9p+1 +0x1.095648628df8p+2 +0x1.d7c7b5dcd6724p+2 +-0x1.d0964bde55c72p+1 +0x1.2e651714ec24dp+1 +-0x1.c0bdc3f5eb2e8p+1 +0x1.1695d07763352p+0 +0x1.0454b477b93dbp+1 +0x1.4ccce934eb87fp+0 +-0x1.1db5faa1216e6p-2 +-0x1.786a46d1d8691p+2 +0x1.990da5661a543p+1 +-0x1.f317d5490f832p+4 +0x1.4f6fe74404b98p+1 +-0x1.d20a797212608p+1 +-0x1.99dd5f0dc1be9p+0 +0x1.e5340b83aa563p+1 +0x1.a5b969d782f2p+2 +-0x1.928d3bcbf4518p+0 +0x1.2e315198a9783p+0 +0x1.513135f05f2bbp+1 +0x1.0222ca2b4f081p+1 +-0x1.c399957a8d3bep+6 +-0x1.ec6731814760cp-1 +0x1.0523de79fd4ecp+1 +-0x1.3a3f7be689a0bp+2 +0x1.5ebaf64b450f1p+2 +0x1.224768673ab86p+2 +-0x1.1e90c4dbc07dep+3 +-0x1.fedbaa128aafap+1 +-0x1.022820fe4bbf4p+3 +-0x1.7e07544d82593p+11 +0x1.5e371cea0128cp+10 +-0x1.e2fa33afd4d83p+2 +-0x1.000cc0f07a4a9p+0 +-0x1.16afe7cf93e2fp+2 +0x1.5d8299296a8cp+1 +-0x1.582e240c71aaep+2 +-0x1.65ffe7961a37p+0 +-0x1.07b00502bdde1p+2 +-0x1.8a79a9cce700bp+2 +-0x1.362ff8c8539bcp+2 +0x1.5a2a55bb21dddp+1 +-0x1.ad62d5415a7f6p+0 +0x1.43efd93e082dcp-2 +-0x1.121de9c0dc664p+0 +-0x1.68e8ebc40287cp+0 +-0x1.4737a7b0ff72fp+1 +0x1.2e6985262b8afp+12 +0x1.d3724fc717215p-1 +-0x1.d01bf904aa6b9p+1 +-0x1.d040af28a58fcp+1 +-0x1.d96b688fac8d9p+14 +-0x1.23d4f32e81314p+3 +0x1.82c22d0dba34ap+9 +0x1.8733f7daea068p+2 +0x1.bc26f58537a4dp+1 +0x1.0548933c002ffp+6 +-0x1.c049b5b81bf84p-4 +-0x1.fec4921b7b307p+0 +0x1.7f7968f52df6bp+2 +-0x1.1dd896290ba68p+1 +-0x1.a9ae636ac6ad5p+1 +-0x1.8077dd65339dep+2 +-0x1.1e7b08199fe76p+3 +0x1.235395438149fp+1 +-0x1.c87d10a63d169p-2 +-0x1.d320da5d9ee0ap+0 +0x1.03b143c0b2672p+1 +0x1.7a38475a7c219p+0 +0x1.242e1d397e6bdp+2 +0x1.b7936a31add3p+0 +-0x1.4f848b363cbf1p+1 +-0x1.0e20dc0f9d118p+2 +-0x1.c14bc04ee403cp+2 +-0x1.5f1d22e8a6643p+5 +0x1.a4475fe31d5f4p+2 +0x1.d225c2f94ab9dp-1 +0x1.21c16635ce30cp+0 +0x1.235af779a7eecp+1 +-0x1.1b58b94905d77p+1 +-0x1.58b5e5e5e17d8p+0 +0x1.dc72e34ae62ecp+2 +-0x1.de7f639b3d658p+1 +0x1.76a74d5003af5p-1 +-0x1.b2a27178698ffp+0 +-0x1.d78d2ad9958eep+0 +-0x1.d3a2753254aedp+1 +0x1.5d8ba75afc39p-2 +0x1.492d75cd60656p+9 +-0x1.22ebdca8bfeabp+2 +0x1.78e75f962beb2p+0 +-0x1.9911172a835e6p+1 +0x1.0855c3159b79p+2 +-0x1.36a249f6713e1p+1 +-0x1.2510e79baa8e8p+2 +-0x1.0d06dd5d881f2p+0 +-0x1.c765ed854744fp+11 +0x1.afd89ba2db15fp-1 +-0x1.29809ec5a8b95p+1 +0x1.aaf702a408688p+2 +0x1.9dcb10f0825a1p-2 +0x1.5f3cc882f0ce7p+1 +0x1.4ba3a5ffa79fcp+2 +-0x1.6d9b24ac25c87p-2 +0x1.a3ea737ecd838p+1 +0x1.207bc67429ddfp-1 +-0x1.fe6d08f681db5p+1 +0x1.1a69746b81fc4p+1 +0x1.d70e4ab377134p+1 +0x1.6f4597dae2bbbp+2 +-0x1.0c62a62513245p+0 +0x1.d820c9530305ap+2 +-0x1.71efdc4a4f75p+1 +-0x1.30841919dfc79p+1 +0x1.70f5336e17d7dp+0 +-0x1.18de13d860674p+6 +0x1.d6ae61baacdc4p+2 +0x1.f196bbf5215ffp+1 +-0x1.41d18d0f022ffp+3 +-0x1.762a83fb3a7fbp+2 +0x1.d63c0d6692ca9p+1 +0x1.f220354c3cc18p+2 +-0x1.f1afc8040b129p+1 +-0x1.d775d0cb80646p+0 +0x1.a217aac4eab47p+2 +-0x1.643dbf161d7d3p+14 +0x1.7d3ed50ce274ap+1 +-0x1.e87dd9747919bp+1 +-0x1.9ed7a29a9c834p+1 +-0x1.5be9942ff4d2p+2 +-0x1.9df17d86201f9p-1 +-0x1.4d8be99e8188dp+2 +-0x1.dca97fc2c3d81p+9 +-0x1.cd544b866b613p+0 +-0x1.297df97e7a9ecp+2 +-0x1.72ed200511deap+1 +0x1.351bfe4f9af6ep-1 +-0x1.7a6163d228fb8p+1 +0x1.524c21b4055d1p+1 +-0x1.0a74b36e4145ep+2 +0x1.1f938f466b00fp+1 +0x1.21e2580529246p+0 +0x1.7f5a81506ac11p+1 +-0x1.0326e0867440ap+1 +0x1.3dbaa26960115p+0 +0x1.c7e527bc02a67p-1 +0x1.5e1d8eaca6c95p-5 +-0x1.d7ebf650cc9b9p+1 +0x1.9097b662a59eep+1 +0x1.210e7f9b00965p+8 +-0x1.fd2e4f7bf87bfp-2 +0x1.34111b41a0232p+2 +-0x1.320bb7ec305bbp+1 +0x1.c3d3ce6fb26cdp-1 +0x1.d68badce5fad4p-4 +0x1.d5fbd9a4099ap+1 +0x1.7747520a8506ap+2 +-0x1.a3adc4d8243f9p+2 +-0x1.c7e54a561edfcp+0 +-0x1.1872b908a3c89p+0 +-0x1.e39d87f265b94p+1 +0x1.b75530da2cbeep+2 +-0x1.db9717453752p-1 +-0x1.7e4a49aa11db4p+0 +-0x1.ca0c47971a2e3p+0 +-0x1.140941e8f4e9ep+0 +-0x1.b89a4d30de0b1p+2 +-0x1.047d929ca12b4p-2 +-0x1.1fca22d9e3d3fp+2 +0x1.f76c26c23252ap+7 +0x1.0ea7bf950d4bep+2 +0x1.c6c843e32c486p+1 +0x1.60342384077cbp+2 +-0x1.a5ffd2292d3b4p+0 +0x1.ab8657b7a70fp+7 +0x1.125b5c34f3271p+2 +0x1.90738b259e457p+0 +0x1.d921afd783667p+2 +-0x1.b154157bf17a5p+2 +0x1.4431396d43267p+2 +0x1.f07062f70ded8p+2 +-0x1.469440b3191fep+0 +0x1.52ed3a3a0f7a6p+14 +-0x1.6c8e20d320275p+2 +0x1.597e7bc43487p+2 +0x1.f538115a5274p+11 +-0x1.7b4e545a4fef2p-1 +-0x1.47ffa36f14afap+2 +0x1.5c496ede92a21p+12 +0x1.260285817baf3p+1 +0x1.686e95f29c34dp+2 +0x1.710bd5d2c5ee7p+2 +0x1.55e840d9b9166p+2 +-0x1.43ffa8e88d158p+0 +-0x1.69b8c86092a1fp+1 +0x1.c0c0d7045be57p+2 +0x1.eac24ae0b33dcp+1 +0x1.e064bf381862bp+2 +-0x1.c5a6f5ae0f81ep+2 +0x1.7d090a3ef9149p+3 +-0x1.51054c3cebb78p-1 +0x1.5e0ad832c47abp+13 +0x1.064c8f50de85ap+3 +0x1.0e768a936696ep+2 +0x1.fcd304df17d13p+1 +-0x1.ad4e7d34bf318p+2 +-0x1.6fa7bbb482b52p+2 +0x1.1131d402eeaa7p-1 +0x1.84b6ef7476f9dp+2 +0x1.82d034b577949p+3 +0x1.3070756303b56p+1 +0x1.d6dd86c0ff286p+0 +0x1.b0c4237bd40dep+0 +0x1.6ecb46f059fb6p-2 +0x1.5472d0ca8751bp+0 +-0x1.2c76e4e00044bp-2 +-0x1.d8f29a525c17bp+2 +-0x1.a631e4e488a23p+15 +-0x1.5bf5c4f3469c6p+3 +0x1.88639a9d97768p+0 +0x1.0047971d6e2a7p+2 +0x1.115370a703986p-1 +-0x1.16a00f44a641bp+12 +-0x1.dc8958f7b3acbp+1 +0x1.dc3e846d83038p+0 +-0x1.93ea0eb61088dp+10 +0x1.aa61367a61e3dp+2 +-0x1.99a04cdfd0df1p+1 +0x1.b0839e4189b87p+2 +0x1.d13377c3aa005p+1 +0x1.117444f4bf5acp+8 +-0x1.443c98b0560cbp+1 +-0x1.eeb87ebb65fa6p+1 +0x1.38c446b779cd2p+2 +-0x1.710f7cbaa56ebp+2 +-0x1.07b1a0825c188p+2 +-0x1.c75e1451c74e3p+1 +-0x1.3ddf731fb1842p+0 +0x1.27092f8aa5296p+2 +-0x1.0833d382ec7cdp+0 +-0x1.2cb6b94f88bdap-2 +0x1.6bd3df33085e1p+2 +-0x1.17db097560542p+2 +-0x1.fc4a6a3e62f6cp-2 +0x1.df7684dc399fbp+15 +0x1.40fc5612ba1c1p+0 +-0x1.cc7f4e662776ap+1 +-0x1.792ec52d353ep+0 +-0x1.44a492f5ff5d6p+3 +-0x1.3827d3f76703bp+2 +-0x1.41cca35a5f8bcp+3 +0x1.4656954e389fap+13 +0x1.d9b4370fc2651p+1 +-0x1.82e3929888e01p+3 +-0x1.dd150317c60b9p-1 +0x1.dfc3cb1d20efp+1 +0x1.1f3afe7426708p-1 +-0x1.0cc97c80d87ddp+1 +-0x1.201c3df5ee694p+1 +0x1.df82b0e4c13fdp+1 +0x1.395d76dbb0bf2p-1 +-0x1.0b866d3ed57bcp+3 +-0x1.738d300f0c4d4p+2 +-0x1.0eeade15c772fp+2 +0x1.40cdcce2fc373p+1 +-0x1.3c73da13f2cc1p+2 +-0x1.74ae489a85dacp-1 +0x1.d82759a5a7c6fp+1 +0x1.8ff2bfeff3f83p+10 +0x1.1723e809d8be9p+3 +0x1.8f42905a6af4p+0 +0x1.550ea22983af2p+2 +-0x1.b17830927004cp-4 +-0x1.061f0850a474bp+2 +-0x1.7ae9b9ac3ce2fp-1 +-0x1.1541c8e599a71p-2 +-0x1.ed3335edb3fd8p-1 +-0x1.a2b8e06527b38p+0 +0x1.d1951e09570bdp+1 +-0x1.e01f1bfe66fc3p+0 +0x1.11494a22a66d1p-1 +-0x1.39bbd90a02bf2p-1 +-0x1.a0c207726808fp+2 +0x1.268d4ca64e482p+2 +0x1.8e2fbc3125b5ep+1 +-0x1.6b14c3fe2796cp+1 +0x1.8dc764d61a0ccp+1 +0x1.8779e69e57682p+0 +-0x1.176c96d183422p+1 +-0x1.25a54306d73b7p+2 +-0x1.81eb79a888b49p+1 +0x1.b54004815d6d5p+9 +0x1.11e367b41be23p-1 +0x1.8ec7b0a28eee7p-1 +0x1.d2b6cb02b0012p+6 +-0x1.016aee7627603p+7 +0x1.827dd95ed480ap+0 +-0x1.14a3ce94c49d2p+2 +-0x1.01a3dcc7ea2ap+9 +-0x1.75eb80c0dbf7bp+2 +0x1.24954c7f5ee18p+1 +0x1.f902db3318d55p+0 +0x1.640cf26bfbb62p-1 +-0x1.2f224f92f6885p+2 +-0x1.02d94b4d9016dp+2 +-0x1.9b7db7392324dp+1 +0x1.68651ebb454f2p+2 +0x1.f4796f30027fbp+1 +-0x1.d1393d75f4511p+1 +0x1.c5dc8fd3603a6p+2 +0x1.bb6f3211e908cp-1 +-0x1.cd8996d89a7e6p+1 +-0x1.c73193f75f0c3p+1 +0x1.987076bd1eeaep+0 +-0x1.a68fc08dfec19p+1 +-0x1.52d8c765daedep+6 +-0x1.339fbe43d34c6p+2 +-0x1.413901f5193e6p+0 +0x1.ce62222b3805cp+1 +0x1.970f028113879p+2 +0x1.8abad91d0108fp+1 +-0x1.2c58f7a4e021bp+0 +0x1.06a996941e707p+2 +-0x1.a7a642f6f2147p+16 +-0x1.fe3dd3b21c701p+2 +-0x1.6021c857420fcp+1 +-0x1.575737013d5d6p-2 +-0x1.cfee4949fe65bp+0 +0x1.11638da253de3p+0 +-0x1.fb4ad68db196fp+0 +-0x1.9e297d12f7a6ep+9 +-0x1.00d2d9006315dp+0 +0x1.7fbfd8baa1d71p+2 +0x1.5a65d861f8c53p+2 +-0x1.9b58a134857f3p+5 +-0x1.4915bbf40d86fp-3 +0x1.6beb9b08962b9p+1 +0x1.57a911eb1ad5fp+0 +-0x1.12d0505a7c635p-1 +0x1.89ea2ae702fcp+0 +-0x1.5632cdad9c323p+0 +-0x1.d4c06be24be8cp+1 +-0x1.4f1954f19cfa9p+0 +0x1.3db72f9579379p+1 +-0x1.d8db14a91be06p+0 +0x1.98df14da2cd37p+1 +0x1.14ed3aaba1e13p+0 +0x1.152fd86c0f4d9p+0 +-0x1.eb0c41597dcfdp-1 +0x1.c34ee9c0b662p+1 +0x1.f84a204697033p+2 +0x1.43f320e296de6p+1 +0x1.38668c7e85186p+2 +-0x1.0fcdda4fc16b8p+1 +-0x1.9f96a6f3cef22p-1 +0x1.e85928dbfb41ap+0 +-0x1.361cdf5362f57p+3 +-0x1.8c83ce414b22fp+2 +0x1.1c76ac621150bp-3 +0x1.5b16355b23c86p+1 +0x1.5c549458b4ea9p+1 +0x1.969e895e32515p-3 +0x1.2440fa8897061p+3 +0x1.31fb48ccd28e9p+2 +0x1.2d1b84d2bb28ap+0 +-0x1.225302fa6c87ep+1 +-0x1.342994f685e83p+2 +-0x1.71951e6049268p+0 +0x1.29b1a102edbd7p+2 +-0x1.cff757eb27dffp+2 +0x1.2a3a816ba5faap+2 +0x1.f42529712cc99p-2 +0x1.c8b54130361efp+1 +0x1.83bb476615988p-1 +-0x1.4dda2ea87efccp+3 +-0x1.0fdb2e462211cp+3 +-0x1.35115f1147a95p+2 +-0x1.b6312122192f4p+0 +0x1.a740b09c4e06fp+0 +0x1.09450797d14ccp+1 +-0x1.911454ae95a0ap+8 +-0x1.808f836249d14p+2 +-0x1.b7e28934b005fp+0 +-0x1.3c6e2582182cdp+2 +0x1.e87adde1019eep+1 +0x1.3902b2ba290bap-1 +-0x1.76edd365a8352p-2 +-0x1.839bfcca85665p+2 +-0x1.8b4aa06b5acdep+0 +-0x1.4a9160586351bp+1 +-0x1.bb2d507c481c4p+0 +-0x1.9fb55e7c25027p+1 +0x1.0cca47e013bebp+1 +0x1.0d849efc15754p+16 +0x1.0dc2f1273843ap+0 +0x1.9a8405cf46916p+2 +0x1.a607c945b5ac9p+2 +-0x1.44bb7d10967a3p+2 +0x1.f3e262d7d2025p+1 +-0x1.1518701db4cacp+2 +-0x1.5946e5076ca65p+2 +-0x1.d8f4f72e75f3bp+0 +-0x1.bc8404e8eea26p+1 +0x1.c53ab41121f9bp-3 +0x1.191f9a7809804p+2 +0x1.acbceb1ee93cep+1 +-0x1.4c2d729be6727p+1 +-0x1.02ea11fc8cd65p+2 +0x1.20889d795ca8cp+0 +0x1.8c2f30e6de49cp+2 +0x1.10b322fb9951bp-2 +-0x1.39c9aabc992b8p+17 +-0x1.2743a11ce3daap+1 +0x1.4c16c24675605p+0 +-0x1.035d74bcbe027p-3 +-0x1.5967711870325p+0 +-0x1.044af2319224cp+2 +0x1.572759d0c031p+1 +0x1.0b9a4cb849af3p+3 +0x1.c2c14901ebb99p+0 +-0x1.18b6f0db87a4bp+1 +0x1.aa7be7a00f4afp-1 +0x1.0e7168cd2a5b9p+2 +-0x1.b5a3dcd4bbb18p-1 +-0x1.c72a6a042e50ap+0 +-0x1.cb81070961543p-2 +-0x1.47dbd3cd97892p+2 +-0x1.df37b2105266ap+1 +-0x1.430243a5f0f96p+2 +0x1.f6647fbd4cb5fp+2 +0x1.d75654d29b386p+1 +0x1.19a419c0aa2c8p+1 +-0x1.ac16228b22c89p+0 +-0x1.901e201c5cac3p+1 +0x1.091687705c0fep+1 +-0x1.9edd0ebd18bcep+0 +-0x1.6e97388085eb2p+1 +0x1.66dc784199b8bp+2 +-0x1.8400fed9d2029p+5 +-0x1.a8aa7773154bcp-5 +-0x1.aee52b26e299fp+2 +0x1.968dc12f8a578p+12 +0x1.086cfd334e5d3p+7 +-0x1.7819202c89d5dp-2 +0x1.2401c8899a63p+2 +0x1.4296ce4e36ddp+1 +0x1.b9051ee5173f3p+2 +0x1.6b220e627c763p+1 +-0x1.ae685c082c8dbp+4 +0x1.aed15d501a24fp+2 +0x1.144ca30cf11f4p+3 +0x1.67aa4ff5ab2b6p+2 +-0x1.48a91f20bffc6p+2 +0x1.9a61f20256742p-1 +-0x1.131b2bd2445cap+2 +0x1.eaf8483e99704p+0 +-0x1.be68bfce2266p+10 +-0x1.a0321a75a5356p+1 +0x1.616db09e2fa48p+1 +0x1.2ed1fbbf59e47p+0 +0x1.0e1f55404b2b6p-1 +-0x1.9f96e8dcc513fp+0 +-0x1.0ef2a558260a4p+2 +-0x1.6462b400a9578p-1 +-0x1.d53832d3bed9dp+1 +0x1.b8dd7040d692fp+0 +0x1.4874b97365b26p+0 +-0x1.ec97ba98fa1b1p+2 +-0x1.53ef33d7c4a76p+1 +-0x1.07fba90718481p+2 +-0x1.d5c393bd7c10ep+0 +-0x1.448fe47264738p+3 +0x1.094c28d7301dp+1 +0x1.31663ecbd3645p+2 +-0x1.cf8768a66ee09p+1 +0x1.3509d066274a2p-1 +0x1.8dabe1a2eca3ap+0 +0x1.89563e1a7abc4p+0 +0x1.41e1ccabff7ap+0 +-0x1.bb2d1c4e64f42p+1 +0x1.1c840e2a493d7p+2 +0x1.bc5d90d6ec0a3p+2 +0x1.36b89c616fe2fp+1 +0x1.d51926e0e4ed7p+1 +-0x1.88f8a32b99b0dp+2 +0x1.033bdbbad7697p+2 +0x1.7102185faf9b6p+1 +-0x1.3d096a9d70e32p-4 +0x1.3473c7e0d3656p+2 +-0x1.e31a31f195de4p+1 +0x1.efcb56603790dp+1 +0x1.a506ae382d772p-1 +-0x1.711fe7fe834fp-3 +-0x1.144e54b43e567p+2 +-0x1.821f6af7bfa5cp+0 +-0x1.facc3d8bb364ap-2 +-0x1.8d13ffd78004p+3 +-0x1.69e3ad3c29a73p+0 +0x1.4818c4a85a7a4p+1 +-0x1.40af87bbf289bp+2 +0x1.74a9b37329c64p+2 +-0x1.03bd38674857bp+2 +0x1.6e1a90fa22563p-2 +0x1.702f9efb00858p+1 +-0x1.78898724d161bp+17 +-0x1.a287826e25cc7p+1 +-0x1.6a13d125c1d2dp+1 +0x1.bf6545614f2aap-1 +0x1.0073b49702568p-2 +-0x1.deccb44d69f3dp+1 +0x1.b97cd53a84b79p+2 +-0x1.e859599a8541bp+2 +-0x1.e8608a26fd75ap+1 +0x1.29b278175bf62p+0 +0x1.12bc5d77892c4p+6 +0x1.0c8efd730f12p-2 +0x1.8abba277c6feep+1 +-0x1.70115381b7af9p+0 +0x1.11c3004c61d25p+1 +-0x1.fcebaafb4ecb6p+1 +0x1.b7819a2b6aba5p-1 +0x1.c4abced09ea7ep+1 +0x1.546188132ff54p+5 +-0x1.625d30f6bd861p+0 +-0x1.4d16412bc07b6p+3 +-0x1.6e78e8541f34cp+2 +0x1.ff57b4477173ap-1 +-0x1.732f7fbf78345p+2 +0x1.c60c8a18ca74bp+2 +-0x1.6c0f712692246p-4 +0x1.6c6fccae9544p+1 +-0x1.8770ac5c7c4d7p+2 +0x1.2e1f3fb86e2e1p+1 +-0x1.8a5f0fb797007p-3 +-0x1.137b351e7d8bep-2 +0x1.08318d16847cp+1 +0x1.55dacfe7d2f16p+1 +0x1.c697ca1ea3a28p+1 +-0x1.7e14c4e8c5dd1p+0 +0x1.c05af990ced74p+1 +0x1.649566d68f306p+13 +0x1.d456c46c32ff5p-1 +0x1.8f5974602f8c2p+1 +0x1.9e93011006be8p+2 +0x1.27f39a9c172a7p+2 +-0x1.1bbf7b8216c44p+1 +-0x1.be890b1a75765p-2 +0x1.a553d59400777p+1 +0x1.43939e5464cfdp+1 +-0x1.4045e41a2f778p+2 +-0x1.35a0f5e4ccdc2p+2 +-0x1.3422aac46b8f2p+1 +0x1.fa67b5b462e41p+2 +-0x1.3cc6fc0ab709dp+2 +-0x1.c34b1d331f1a8p+14 +0x1.78175b45bbf5cp+0 +0x1.07b0322010eb3p+3 +-0x1.39bc1cac5674ap+1 +0x1.7e1ecab2b8611p+2 +-0x1.a8cdaa343f1c3p+1 +0x1.f5b0caff27af8p+1 +-0x1.e7061a420527ep+1 +-0x1.323af1ffac813p+0 +0x1.8d033a8dd7ddap+1 +-0x1.a1a07454f8a1dp+1 +0x1.50cc41f57d39ap-2 +-0x1.f56e5e9fada02p+1 +0x1.3859d96750defp+1 +0x1.73203bf383085p+1 +-0x1.8adde5f8f1df4p+1 +-0x1.d557ae14c19b7p-2 +0x1.36e46dc9e2dddp-1 +-0x1.70fe440376f4ep+5 +0x1.27b77812c8d7bp-3 +-0x1.3d6d9449f0b2cp+1 +-0x1.11e906c2545bep+1 +-0x1.deaedd8052d44p+2 +-0x1.6c268666b780dp+0 +-0x1.751cb5efc0125p+0 +0x1.7e5a447cbe912p+1 +-0x1.a1a94467137d8p+1 +-0x1.631e76fac0a58p+1 +-0x1.4974ea8a5b944p-1 +-0x1.610c39847f6dep-3 +0x1.64f79be504d66p+0 +0x1.ef4876bb9373dp+0 +0x1.3bf07758ac0edp+3 +0x1.1b3054b54d8d9p-3 +-0x1.0d3a4f35633c5p+0 +0x1.017ee3b6d9aebp+3 +-0x1.208cbf8e3dbeep+2 +-0x1.5f084df226306p+2 +-0x1.2bc95225cf2a6p-2 +0x1.79882b08dd3ccp+1 +0x1.f213b8342646bp+1 +-0x1.a1dee7da2bf6cp-4 +0x1.398ba033f91a6p+0 +0x1.18888d42b146fp+17 +0x1.25cfead1b1235p+10 +0x1.d9419b9534cdfp+13 +0x1.b164e917a32f8p-1 +0x1.adaf625ba3cfcp+2 +0x1.e9a2d143c4b25p+1 +-0x1.17544ad4ba83cp+2 +0x1.3276ea83d9999p-2 +0x1.3bfec63f5289cp+8 +-0x1.a4524b2fdde2bp+7 +0x1.bde5bb6e64c54p+8 +-0x1.294108a31ba78p+12 +0x1.e4a268fcc1f87p+1 +-0x1.2988d714911b8p+1 +-0x1.35c038462ef2ep+1 +-0x1.ba83c698b13d8p-4 +-0x1.2596ba0f8da32p+2 +0x1.a73c6fdd2b3ddp-1 +-0x1.d574c505bd404p-2 +0x1.9e272df83331ep+2 +-0x1.baca8328beadep+1 +0x1.9f22e23bc0f6p+0 +-0x1.c073ca76d48a1p-1 +0x1.1633b247d7e01p+1 +0x1.63fde035cd946p+0 +0x1.3bf3ffdc65e09p-1 +-0x1.2429280322e3bp+0 +0x1.b44f60e7247e4p+1 +0x1.35ef8ef818f27p+1 +0x1.554106a3fce0ap+7 +0x1.01263efdae1d3p-1 +0x1.43f43b811264p+2 +-0x1.272e41a83f19cp-1 +0x1.cde265bc071c3p+2 +-0x1.2759fba345ef1p+2 +0x1.53c29fe09b2b4p+1 +-0x1.3b002ac772cc3p+1 +-0x1.a9d384a6c2d99p+1 +-0x1.c0ffa46344c7bp+2 +0x1.28be59a2b8973p+2 +0x1.dee23f044c63p-1 +0x1.00a382f66b2b1p+2 +-0x1.089955f5cde6ep+2 +0x1.b552f0c15135bp+13 +0x1.1d920135cafdp-1 +0x1.b4eab91fa7e9dp+2 +-0x1.50679095977ep+3 +-0x1.b02079606e48ep+0 +0x1.15067d4ddd5d2p+1 +0x1.33b2fd363a87ep+2 +0x1.229d8dbb97519p+1 +-0x1.14bb16ed08341p+2 +0x1.06aa7a7c56016p+1 +0x1.b45903726b769p+0 +0x1.715c2c71815e3p+2 +0x1.66840832724dep+1 +0x1.f24d72fa4a60bp-1 +0x1.dbf50b585b223p+2 +-0x1.938fba520654p+2 +-0x1.bbfd71f367dccp-2 +0x1.333e5ed1263a1p+2 +0x1.05222e2d2d4aep-2 +0x1.8c6cd202ba974p+2 +0x1.8f1b75ace3b7bp+0 +-0x1.02c5f5cf16d5p+0 +-0x1.1713aaf722843p-1 +-0x1.a29ad45c3a3dap+2 +-0x1.b6d618e039128p+0 +-0x1.70b115246867bp-1 +-0x1.d84737c689ddp+0 +-0x1.a232c0b047aebp-2 +-0x1.4924e5ee14ebap+10 +0x1.523a7ebfe78e3p+2 +0x1.e70aedebd4b1fp+0 +-0x1.5a1c975911dbfp+1 +-0x1.ed119034e6a4bp+1 +-0x1.792fd2b9e456dp-1 +0x1.4880715dad285p+1 +-0x1.e435be704689ep+0 +-0x1.e5248c755c768p+1 +0x1.2ea91c7e4606fp+1 +0x1.0752368183a77p+2 +-0x1.9fd765276e4a2p-3 +0x1.d27774b0a46bcp-1 +0x1.a0de76d18538p+2 +-0x1.779e199954091p+1 +-0x1.9a63b29ced1acp+1 +0x1.4551c071e3612p+1 +-0x1.2bf0f08f79f3bp-2 +-0x1.ae0f77c31c75dp+0 +0x1.f4803de9d3d74p+18 +0x1.34f0d2a12cd84p+0 +0x1.69e271f1f8fa2p+0 +0x1.2da5a48c9a9e1p+3 +0x1.a9cf96e2ed939p+1 +-0x1.45019d2ee0fb3p-2 +-0x1.02b058f802a3bp+5 +0x1.ce6a228515532p+1 +0x1.e60fc4f8bc76ap-1 +-0x1.ba4f23e166ab6p+1 +0x1.bef6acf8e5265p+0 +-0x1.f08f31b874a0cp-1 +-0x1.827eef84b9c14p+0 +-0x1.81451763c7fcbp+1 +0x1.929f7c4873464p+0 +-0x1.2e62ca652df96p-1 +-0x1.0b1e914266a6ap+2 +0x1.8b1da759fca95p+0 +0x1.41a8c338299f7p+1 +-0x1.c2ed3436ec8e9p+1 +0x1.23ff52f35c879p+2 +-0x1.79751538755f8p+1 +-0x1.75dccc36599a5p+1 +0x1.31813f5a8b34fp+0 +-0x1.19f82859faf39p-1 +0x1.4f28e4c463c9cp+2 +0x1.9f7be005ac4a4p-1 +-0x1.5563cdbaa3506p+6 +0x1.f24a97c1672e6p+1 +-0x1.3785bff77fa86p+1 +-0x1.28ddef8a7188ap+2 +0x1.af2e4bf2e0527p+1 +-0x1.bb9c349cb3eb1p+1 +-0x1.23738446973ccp+2 +0x1.216e94fde3782p+1 +-0x1.404f78dfdac49p-1 +-0x1.d5f7630733621p+1 +-0x1.6a54a38f0c78cp-1 +-0x1.ea251e3191e44p-1 +0x1.e4d75b70f7768p+0 +-0x1.51d77741c59aep+2 +0x1.f0ffbede3629fp-1 +0x1.07cd9aa1e8cc4p+0 +0x1.7291e70882dcp+1 +-0x1.fe51af030a20ep+16 +0x1.16fa723f3f61bp+1 +-0x1.68cf93cb7cd7fp+1 +0x1.bda4753e9d1aap+2 +-0x1.d8c1393c31e36p+16 +-0x1.044f2c1e7031fp+2 +0x1.651543a7a3d26p+12 +-0x1.0585998124d7p+2 +-0x1.51373e1abd6eep-4 +0x1.0ccfdf512b482p-1 +0x1.217ce5fc6541ep+2 +0x1.5f834695e1c6bp+0 +-0x1.4855b8dac7c66p+2 +-0x1.c67155ef87709p-2 +0x1.f4d96f4f39ddep+5 +0x1.2a624540c149fp+1 +0x1.caa2ebc95573cp-1 +-0x1.682f24da6017ap+1 +-0x1.d0d90ecc89c53p+2 +0x1.904d8057eaef1p+1 +-0x1.d9bc35e72d545p+1 +0x1.b609cf1eb7875p+1 +-0x1.9a9a14ba31b5fp+1 +0x1.e69d2fc7857c2p+5 +-0x1.ada57e0eb119bp+1 +0x1.8fce241b1e336p+0 +0x1.ac55e0fbe0d38p+1 +-0x1.0c3b900555af8p+0 +0x1.a5e5b3473e91fp+0 +-0x1.0565e7ab26f9ap+1 +0x1.6da23867e6d97p-1 +0x1.3bed0a261d33dp+19 +-0x1.ff2f3bcf1d076p+2 +0x1.bef44a8e2b591p+2 +-0x1.8801d5721b75fp-2 +-0x1.cbb29dedb7859p+0 +0x1.09dc7087753f5p+1 +0x1.a09c22f161c1cp+16 +0x1.7e57f9a22508ep+3 +-0x1.6ef24221dc489p+2 +-0x1.5b7c195dec5d4p+3 +0x1.218a906174475p+2 +0x1.0652460d91c3dp+0 +-0x1.4bc35a7f6918bp+2 +-0x1.503f55f551c6ep+1 +-0x1.de0226626a4c3p+1 +-0x1.7c16f2a2e310fp+2 +0x1.be43032895252p+2 +0x1.a2e2c52f41be9p+2 +0x1.5f5178957b39fp+1 +-0x1.80f520a4221aap+1 +0x1.be8831b22588dp+2 +0x1.1e1ad8eda7dd8p+2 +0x1.88af12d33e396p+1 +0x1.56d510daccc47p+1 +0x1.2e8bca4275bb5p+1 +0x1.7c2a16c2964e7p+0 +-0x1.c3f2462543705p+0 +0x1.2c9239e9dfd36p+17 +0x1.11083b729cf36p+2 +-0x1.7e2af39315da9p+1 +-0x1.7da2eaba0ec41p-1 +0x1.506ffb7425729p-1 +0x1.7ab5ea8242debp-1 +0x1.b77cabf14db6bp-2 +0x1.7b3b4e2f05ddep+2 +0x1.bbddc223d8ed4p+1 +0x1.c509a23d73b8dp+2 +0x1.1935357d6c979p+13 +-0x1.71cd3deee7d9ap+17 +0x1.826b805093a09p+2 +0x1.88114f0451dddp+1 +-0x1.242f7a3e92be2p+0 +-0x1.4b33f9eba0d61p-1 +-0x1.3ff7b15d65457p+2 +0x1.e5c145a39e135p+1 +-0x1.0452cb23c2ea2p-4 +0x1.cb2aa9f960742p+6 +-0x1.2fe8f78eba3bcp+1 +0x1.4b188c8b58e1cp+1 +-0x1.0280595397c7p+0 +0x1.81a3d0dc3fce3p+2 +0x1.61604f72cc50fp-1 +-0x1.88b9b48e6e12bp+0 +0x1.adbde0c853d1dp+1 +0x1.ef8b77b92c76ep-1 +0x1.6f05862b7c708p+1 +0x1.12e9472273bacp+9 +0x1.e038095394ea6p+0 +-0x1.72ba700c37f07p+2 +0x1.085a22bbfd7a9p-1 +-0x1.4730babdc0c14p+3 +0x1.d2be6bebeedf4p+0 +0x1.9070f5d98956ap+2 +-0x1.13802dfe62ed5p+2 +-0x1.1f41e33160aaep-1 +-0x1.29929c9c92042p+0 +0x1.d3f8e5ae13d6ap-1 +-0x1.001bd2373e225p+4 +0x1.0ad203c10df6ep-1 +-0x1.e96f930781a01p-1 +-0x1.21e5d8eb57dd9p+1 +0x1.2ad730ea4cc5ap+11 +-0x1.fea527443ca72p-6 +-0x1.93dc6ac05f8f3p+0 +-0x1.680cd1fdc064fp+3 +0x1.21f1f1626f20ep+1 +-0x1.060a6d09b6f49p+3 +-0x1.1ff16387bdfa4p+2 +0x1.386158ee48996p+9 +-0x1.0ccf3fbb8bc2p+3 +0x1.12b19649c70c7p+2 +-0x1.220a5ffef9135p+0 +-0x1.5ef9eb9552a3bp+0 +0x1.71cdb61a203c4p+1 +0x1.1b40f1a2fcebap+2 +0x1.dae3426c41647p-1 +0x1.ceb35659a8204p+2 +0x1.028d091c63623p+1 +-0x1.0e43930a7e9cfp-1 +0x1.9bebf1f0835bdp+6 +0x1.d86000d9a7707p-1 +-0x1.e6a3193c6903bp+1 +-0x1.59c1d91772b5cp+1 +0x1.1e75da86fb093p-2 +-0x1.0d4c1fec2fa9p+2 +0x1.c430b8e88c4ecp+1 +-0x1.d37956b1a6bd5p+1 +-0x1.a04d485c3b9e7p-2 +-0x1.04014c571b3e5p-1 +0x1.658acf683261ap+0 +-0x1.0ff5d61e9b253p-4 +-0x1.757c727e30ad3p+7 +-0x1.26c032f90fc1ep+2 +0x1.ee75e9f1040e8p+3 +0x1.5027343852a7ep+1 +0x1.687e11cabc067p+0 +-0x1.82955d1c9805ep-1 +-0x1.f0a28e0a0bfc3p+1 +-0x1.934f90e95a09cp+0 +0x1.9f3bffdb167d8p+0 +0x1.104161c484cbcp+1 +0x1.250e9485f986cp+3 +0x1.cbb8b279f75cfp+1 +-0x1.3e666417db13bp+12 +-0x1.39dd9137af427p+0 +-0x1.69653a2a1374bp+1 +-0x1.9e5b08d76b728p+2 +0x1.cf9e7d04b54bep-2 +-0x1.f509a8312f736p+1 +0x1.e6fb88bdc053ep+0 +-0x1.b1e6c95a549cfp+16 +-0x1.d09f99a31e9f3p+16 +-0x1.d76b71224c9b6p+2 +0x1.c56e2c269a7f6p+2 +0x1.2fd78ccfebdf2p+1 +-0x1.53571df7a806p+0 +0x1.1fc02cf8c4886p+2 +0x1.05940ae5aae28p-1 +0x1.beec41369cd0ep+3 +-0x1.deccf2895ba49p+1 +-0x1.c31c1f03b82e9p+1 +-0x1.609aeafcd9f1ep+14 +0x1.3e4dd68a3b267p+2 +0x1.32e09414cfe9ep+0 +0x1.b25072bb38547p+1 +-0x1.e1b733cabc1a8p+2 +0x1.36b69bef0cbcap+2 +0x1.24780e586bcd3p+2 +0x1.353a97454b62fp+0 +-0x1.3612bb1dc64eap+2 +-0x1.e537779e7d117p-1 +0x1.17896c66b683bp+2 +0x1.ea007c8a963b2p+5 +-0x1.53c8ca3e29b1ep+1 +0x1.ea6f95ee5dcb6p+1 +0x1.b4e0038a61d51p+0 +-0x1.e2af578213281p+2 +0x1.0533a560b45f6p+2 +0x1.c505a97c3f16cp+12 +0x1.a8aec58be087p+2 +-0x1.70f68000c51eap+1 +0x1.51f401ec7fbdp+1 +0x1.db06473f40fedp-2 +0x1.4e1963fd716bbp-1 +0x1.a93094e125a22p+0 +-0x1.1026fefab4092p+1 +0x1.2b11802d5672cp-2 +-0x1.1663b10191896p+0 +0x1.64f32aa7f17c9p+0 +0x1.76f537ad53e83p+2 +-0x1.229ed99baeca3p-3 +-0x1.9d54224e8c116p-1 +0x1.66399235e31adp+0 +0x1.8274241590838p-1 +0x1.56ef89e9426dcp+1 +-0x1.48c9fc90c511ep-9 +0x1.2c9095d7682e6p+0 +0x1.f11c2ae636f68p-1 +-0x1.d30d83164bea4p+1 +0x1.7c24af02ca1bp+1 +-0x1.a8496a3e739d3p+1 +-0x1.8d426075714abp+0 +0x1.2fee8d8fad0ccp+1 +0x1.2784b3c87544ap+1 +-0x1.fa3b208cc16eap-1 +0x1.5f32ab56a81c4p+0 +-0x1.d1bb10de8809bp+1 +-0x1.b9e65c992b6c7p-1 +-0x1.4d432f6d8c2e1p+12 +-0x1.6dbe7021dcdc3p-1 +0x1.a46e973a3e99p+2 +0x1.4cde1121818fep+2 +-0x1.e842a6195ef26p+1 +0x1.a07a37e8d4c71p+0 +0x1.021d6b583a26cp+2 +-0x1.07a6aa47f6bfcp+0 +0x1.684072264d247p+3 +0x1.5a13a33f9ca56p+0 +0x1.e2f9968e2736fp-3 +-0x1.5ffafde92027ep+0 +0x1.b56387a27cf5dp-1 +0x1.7d238029ceef2p-2 +-0x1.61af1bcd2f05ep+1 +0x1.3080ef66979e8p-5 +0x1.2498498f33eaap+2 +-0x1.8907402f60d53p+2 +-0x1.ab41475fcd6bap+2 +-0x1.dfbe17f38637ep-2 +0x1.9308bf9a54849p-1 +0x1.c58a07e377dc5p+2 +0x1.b362b3185f4d7p+0 +0x1.57be103ebaf0cp-2 +0x1.475e48e998936p+6 +-0x1.020ca5691cce5p+3 +0x1.83ec89bb2ce2fp+1 +0x1.b2c4774b4357bp+1 +-0x1.113a09f81fc81p+1 +-0x1.d382c87c16dfap+1 +0x1.7880f4f8ccd14p+0 +0x1.971a035ffe8adp+2 +0x1.0fb77f47421eep+1 +-0x1.9719c92834c47p-1 +0x1.ea1f6d15e40f3p-2 +0x1.32beae2003fcp+2 +-0x1.cf59e5c75346p+1 +0x1.1b29cf0432334p+2 +-0x1.3a8dc761fad7ep+2 +-0x1.9329f7e1e1bb3p+1 +-0x1.da33f91ffa374p-1 +-0x1.6ef64ba5996c6p+0 +0x1.842f2d915181ep+2 +-0x1.52cf3636ba4c8p-2 +0x1.081ab8e481571p+0 +-0x1.a3029d2789b85p+2 +0x1.0dd4a1f66412bp+3 +0x1.342d83659a8dcp-2 +-0x1.365096745d39dp-1 +0x1.f8c280e4e1c84p+0 +0x1.2e34b13041e0ap+2 +0x1.76e0cc85b8289p+2 +0x1.7fc06c4f16dcap+2 +-0x1.1fc0438960659p+2 +-0x1.0ae6fc59bc6d7p+2 +-0x1.2c6562b353152p+1 +-0x1.cc02a394dc81p+1 +0x1.eed6e25dc319dp+2 +-0x1.95d15aed7e55p+2 +-0x1.c9bdba2cce334p+2 +-0x1.1ee18eb070a28p+14 +0x1.059c1493b1ef6p+2 +-0x1.cd3fc1071d3c8p+1 +0x1.6e093b3f895bfp+1 +-0x1.4d1a150d70ee8p+2 +0x1.fbe58bc9bd9d5p+0 +0x1.bc4616bd7691p+0 +0x1.8efeadf3c5833p-2 +-0x1.edf52b2c77c85p+1 +-0x1.c75fde6084728p+2 +-0x1.360ca3a0dd42cp+2 +-0x1.8316aa3769e3dp+0 +-0x1.d60075694fd86p-4 +0x1.69c85b8b8ccc9p+18 +0x1.dcda45212aec6p+1 +-0x1.59edd0fd7a02bp-4 +0x1.4b4d1a28acebep-1 +0x1.334620ecc9621p+2 +-0x1.29ca766a4883p+1 +-0x1.be15557ae10cbp+1 +0x1.ea0c0064d5ceap+0 +-0x1.ce34047bc919dp+0 +0x1.203732a300278p+16 +-0x1.e1bb82cad4ff9p+1 +0x1.ea0ff46f317d1p-3 +0x1.923c71788ea04p-2 +-0x1.4884c29964546p+2 +0x1.152025ce81301p+3 +0x1.d299f4143fefap+1 +0x1.0386c797fbc4ap+3 +0x1.00ec53614e27ep-1 +-0x1.0a6d141458b05p+1 +0x1.0269a3cd98e66p+1 +0x1.5638675db228ep+1 +-0x1.b712ca3109ea6p-1 +0x1.1f2cd3235346cp-1 +0x1.ed4bdf659996fp-2 +-0x1.a29e188bf5bfbp-3 +-0x1.069dc0fb9574p+2 +-0x1.050c8a2ff07b7p+1 +0x1.90271c76cfadbp+2 +0x1.17cf9a8c3dc4dp+1 +-0x1.917ca02a22d06p+0 +0x1.15f860722717bp+3 +0x1.b87e35ebfa349p+2 +0x1.7ae3124b25f2bp+0 +-0x1.c5c72c93c2d11p-2 +-0x1.eb5c14492754fp+0 +0x1.2db7ce4a43852p+3 +0x1.917df786a7411p+2 +0x1.0032d2617d198p+2 +-0x1.c04d5276f8e8cp-1 +-0x1.658aab185625p+2 +-0x1.def7a427fdb86p+1 +0x1.1c1b7ceafc1cfp+17 +-0x1.e29c2e02b1802p+2 +-0x1.3a92f53a6713p+1 +-0x1.01840542c33e8p+0 +-0x1.a1bb461853681p+1 +-0x1.cd19ac4ad8ac9p+0 +-0x1.48b60d36a500bp+0 +-0x1.bd350368ccd79p-1 +-0x1.c46617fb1ff35p+2 +0x1.bf977d521a53fp-1 +0x1.8be50c312178ap+14 +-0x1.a5f1702bdb0aap-1 +-0x1.f0470fd55eb31p+1 +-0x1.49c53a8ddc39cp+1 +0x1.99798da1c025ap-1 +0x1.313ffe4cc3acfp+5 +0x1.91aab55bb0eaep+1 +-0x1.28062a01ab905p+2 +0x1.1d4446fe97038p+13 +-0x1.2aefe0be622c3p+2 +-0x1.53a44ea11ap+2 +0x1.4bc1c9e3b52a2p+18 +0x1.c5d29d4efda5p+1 +0x1.539cceded3db2p+0 +0x1.1d375d18b4865p+3 +-0x1.8e5f2854231c1p+1 +0x1.6b24572e08393p+1 +0x1.734baf685f228p+0 +-0x1.67bef0d5e2905p+1 +0x1.ba7cff5a21287p-1 +0x1.6f2d89e4377d4p+0 +-0x1.4e682d49ff477p+1 +-0x1.866033fc47c63p-2 +-0x1.a8b234d4fa494p+1 +-0x1.5b18f0c015f78p+2 +-0x1.43970bfb824aep+1 +0x1.2cbe71f97c90ap-3 +-0x1.26b7c0e9a8849p+2 +0x1.194518d91bc4p+0 +-0x1.d7ef251bbc71p+1 +0x1.6bd3bdec63b04p+1 +0x1.2d60d5a27c4b2p+2 +0x1.4e2a48b2d5123p+0 +-0x1.9bc7256c883d5p+1 +0x1.6521f84acf6cbp+2 +0x1.3246dc983ab88p+0 +-0x1.80002fd67a625p+0 +-0x1.1678006ca7655p+2 +-0x1.14855f287d8edp+3 +0x1.54ed1bd62c549p+2 +-0x1.2eefa74a088a6p+0 +0x1.97c2d37b17f69p+0 +-0x1.142d7cf3fdc0ap+2 +-0x1.796aa9a04aae8p-2 +0x1.6216e80d285dap-2 +0x1.546bc41c08f8cp+3 +-0x1.998eb2a1f58bep+0 +0x1.25fa8f9db5a5fp+1 +0x1.fc34f5a415d0ap+1 +-0x1.6999cad5dcb1bp+2 +0x1.52bfed0c2067p+0 +0x1.564f1508ad28ep+1 +-0x1.aeeba98923fcap+0 +0x1.99268aa57399dp-3 +-0x1.ee66af8dc006cp+0 +-0x1.1c6a1739b26b2p+1 +0x1.435e7e1a9bc3cp-2 +0x1.76cc2e8e9e5dfp+3 +-0x1.83fc524693dbep+0 +0x1.3abca724520fp+10 +0x1.03605b7977cc8p+1 +0x1.add1e9f1c6cddp-2 +-0x1.12d5618c6b4c6p+2 +-0x1.b48c30fac1824p+0 +0x1.6b3ae30fd52dfp-4 +0x1.173f8478e2863p+3 +-0x1.053674105e53cp+15 +0x1.67d70704a4339p+2 +0x1.46b330f251836p-2 +-0x1.95dc20f6b81b1p-3 +-0x1.fb3325a724a99p-1 +-0x1.d185f66c21c09p+1 +0x1.7f29d578ddf1bp+2 +0x1.404b71c973ecbp+1 +-0x1.d555687577d14p+1 +-0x1.6dfd1cb7643p+2 +-0x1.ec906dcd35ddcp+1 +-0x1.685455d1c3832p+1 +-0x1.fe44a15cfc5f7p-2 +-0x1.ee6b70bd6df8fp+0 +-0x1.762ef989151c9p-1 +0x1.d80ad8139227ap+2 +-0x1.486074c9ef04cp-4 +0x1.0a8cf1332cb4fp+2 +-0x1.216b43a7112cdp+3 +-0x1.5c978b95cc4e3p-4 +0x1.823b307638c3bp+2 +0x1.2b1e8cef932c9p+17 +-0x1.2f51752f28a43p+2 +-0x1.c4b97f5f00b34p+2 +0x1.4b06db80057f5p+1 +0x1.9ac9d7097f697p+2 +-0x1.931d053089075p+10 +-0x1.6a96dfd282c3ep+2 +-0x1.b565071fb2b58p+2 +0x1.03ba242e75589p+1 +-0x1.00f62c2282f9ep+2 +-0x1.29090666ab3e2p+2 +0x1.200271d15e08ap-3 +0x1.02cdd703c372ep+2 +-0x1.c1df0a6cc8eb4p+0 +0x1.62082cc20f3afp+3 +-0x1.38362f1b1b34fp+3 +0x1.05e18b0cb3a7cp+2 +0x1.b4f5170011cf4p+1 +0x1.5d5d25d6e1df5p+1 +-0x1.1bd403a1d726p+2 +0x1.1ed7d1ed1fb16p+2 +-0x1.1229798042813p+6 +0x1.6d2c4ef7f34ebp+14 +0x1.86cc4a0a87f44p+2 +0x1.0faede2b4bb8bp+2 +0x1.ff5697c3be761p+2 +-0x1.94f979bc376afp+0 +0x1.e3ca74f9d7f9dp+0 +-0x1.4e0fbca0be32bp+1 +0x1.4f04d297066c7p+2 +0x1.11836795d306bp+2 +0x1.1cf13582f1318p+1 +0x1.c262bccdc508p+1 +0x1.ec42d07b8599dp+3 +0x1.c7e2aea850175p+2 +0x1.0ea45c7f10e7dp+2 +0x1.70b79bca29c7ep+1 +-0x1.809fab2fa7544p+2 +0x1.073ac8101b9adp+3 +-0x1.00e0b405485b1p+3 +0x1.18653b53eb512p+1 +-0x1.2914dceb8e09dp+1 +0x1.5443d15fb23b1p+1 +0x1.a48fb0c386415p-2 +-0x1.b7f86beff7bbep+1 +0x1.cf689bb62eae4p+0 +-0x1.4df38f690748cp+1 +0x1.3d914834a02dcp+1 +0x1.04d87064f45a9p-1 +0x1.183f8f2241ed6p+2 +0x1.1318240ca5d33p+1 +-0x1.cae47b30d2f23p+2 +-0x1.72a1c2a89d6c9p+1 +-0x1.3d1ec7587c2b8p-5 +-0x1.051fbbde41a39p+2 +-0x1.dd8fcaa8a58f8p-1 +0x1.ac2c57087b80bp+2 +0x1.cf0ef531e025dp-1 +0x1.2a15bb92fdf38p+2 +-0x1.6458baf70503ap+0 +0x1.3dfba059f2546p+2 +0x1.acce48f4e536cp+0 +-0x1.4a6c29779e9acp+1 +0x1.0d65e0dca8388p+2 +-0x1.ef75c3b7f15afp+2 +0x1.8dcdf2b0644fep-1 +-0x1.1aa7e17a289fap+2 +-0x1.d7ae6b7c6814fp-1 +-0x1.dabe9688f81fp+0 +-0x1.42dc805d7da19p-3 +-0x1.e3ff006448c3bp+1 +-0x1.567bcfb46e58ep+2 +0x1.45e4c94adae2p+1 +-0x1.490a684bbfe4ap+2 +-0x1.0f8e1feffa9fdp+2 +0x1.6b87dd6e069a6p-2 +-0x1.948d00f9cf08dp+0 +0x1.2150989caa1b7p+3 +0x1.91ff10e829bb3p+1 +-0x1.1e2c2ca8f9f32p+10 +-0x1.b2697742ba1dap+1 +0x1.9b8ef73ad9ad6p+0 +0x1.4fc9cbea1c7c2p+1 +0x1.ebd0fbc727c25p+6 +0x1.249b54f133818p+2 +-0x1.360a5bac22358p+2 +0x1.6a3caeb79e627p+2 +0x1.08101ea1959cep+3 +-0x1.ecf65cc6cfa57p-1 +0x1.62cada4da3588p-1 +-0x1.06112ee96ed42p+1 +0x1.991d772a8d2fbp+1 +0x1.606adf984b0bdp+2 +-0x1.070713afa5105p-1 +-0x1.562a988502c92p-2 +-0x1.dc5e96eedc33ap+1 +-0x1.83bc2de9bd012p+0 +0x1.5f291c644a389p-4 +0x1.6c1ab3e27c0c7p+0 +0x1.0c56cfcad138ep+2 +-0x1.1316ecb511684p+9 +0x1.0dc78585daa0fp+4 +0x1.9904636bc6218p+1 +0x1.06002bd0dec72p-3 +-0x1.f13c1e5b57d07p-2 +-0x1.180a16bcb1dccp+0 +-0x1.8f8b4d1447b8bp+2 +-0x1.1649f29698c38p+2 +-0x1.97f9eaf9bcfep+0 +-0x1.4fe6172b8e328p+1 +-0x1.943578690eca1p+3 +0x1.10b6023dd5a51p-1 +0x1.60cce6df1eb62p+11 +0x1.f010c517a2d28p+1 +-0x1.18296d17dc06ep-1 +-0x1.3d588b118722dp-1 +-0x1.6d596346c5777p+2 +-0x1.9dca2a23691c5p+0 +0x1.257a95aa902dep+2 +0x1.d69b8a13ddb67p+12 +-0x1.ead32b1ba9fffp+2 +-0x1.47b2d0411b1e5p+2 +-0x1.3195524628d3p+2 +0x1.03d558dacfc7cp+2 +0x1.c00ae24a0a399p+2 +-0x1.8fab24503bdedp-2 +0x1.3549cb20d72cap+2 +0x1.007aa5b57512dp+1 +0x1.457e7acdf9e75p+1 +0x1.18726b7878b02p+1 +0x1.13ddb372b541fp+0 +-0x1.03641de444419p+1 +0x1.4c7beb9dd3e1ep+2 +-0x1.a59091efe7995p+0 +0x1.2641c9b9a248p+1 +0x1.15666195054f1p+3 +-0x1.e0f6fb09b47b1p+2 +0x1.05feeba056108p+3 +0x1.d3c478b55ee92p+17 +-0x1.544059260e467p+1 +0x1.705f558db1f7dp+1 +-0x1.15a24d4098763p+14 +0x1.d1236f695756dp+0 +0x1.6718ed72e9789p+1 +-0x1.57e652ed6513bp+2 +-0x1.79544ea4f842p+0 +-0x1.16d6405fdef62p+2 +-0x1.1ac905b09b513p+2 +-0x1.e85af446ce44cp+1 +0x1.bb11c58573c6p-1 +0x1.7f800df187fbap+1 +0x1.3d5614880365fp+2 +-0x1.cb8fc5ca8d21ap+0 +-0x1.38784b4457b53p+2 +-0x1.4ab4fa9fbd1afp-1 +0x1.88cf0cb50ab3dp+14 +0x1.3dd5b7bc8c944p+1 +-0x1.ffa2151287b0fp-1 +0x1.4761347fdc14fp+0 +0x1.e5787b1dd88eap+0 +-0x1.f9e446149f343p+0 +-0x1.93e5d1509b1fbp+0 +0x1.4357f95694abbp+1 +-0x1.4f73dff8a219dp+0 +0x1.9d7f484a92c38p+2 +-0x1.f46b4b3c263a2p-2 +0x1.4cc1316881981p-1 +0x1.3e01ae737cb7p+2 +-0x1.b8cd7cf1ff021p+0 +0x1.17734bf216319p-1 +-0x1.4d84b67ffcaabp+3 +-0x1.5e3c2bb47e757p-1 +0x1.39600c851451cp+2 +-0x1.d9fed2305c888p+1 +0x1.cf3df0c2e5eaap+1 +0x1.97d41a0ca3461p+2 +0x1.ee4f3d641d617p+1 +0x1.a9ca8bcf867dap+9 +-0x1.89719b5383a4ap-2 +0x1.7a6966035bf8dp-2 +0x1.32364619b25fep+2 +0x1.fa4759e2dbfcfp+3 +-0x1.f26d5d11faa41p+1 +-0x1.32b2cf9dadaf6p+1 +0x1.c7fba542bced9p-4 +-0x1.016d02f024be3p-3 +-0x1.29eb778b5f1f5p+0 +-0x1.0abdf0f18390bp+1 +-0x1.83caee50aa938p+2 +-0x1.e77141958bf48p+2 +-0x1.70baaf4de881dp+11 +-0x1.0b184e359fcfap-2 +-0x1.2f8bb10b82134p+3 +-0x1.b2a8baa6b075dp+1 +0x1.900b1dc896c01p+2 +-0x1.f1c7eb783bc87p+0 +0x1.810201bffae51p+0 +0x1.2c9fc4c95da0cp-1 +-0x1.f03356cbf0643p+2 +-0x1.9fd06ec2498b4p+2 +0x1.9d463e02f1ad9p+2 +-0x1.3acaa99735b4ep+2 +-0x1.6968e52153f5ep+2 +-0x1.b41609afe417ep-4 +-0x1.6b96b28f9427dp+1 +-0x1.50589a38cb2f7p-1 +-0x1.27a8e305df377p+16 +-0x1.2f7d754e1ce8bp+2 +0x1.b05bd3c996b4cp-4 +0x1.40ed048dfc93fp+1 +0x1.228e5dee46cbp+2 +-0x1.112b60b800599p-2 +-0x1.be5892c5db7bbp+1 +-0x1.c6a599688170dp+2 +0x1.a56ef0739cf8ap+0 +0x1.918a5295319fap-1 +0x1.2d04ad130d76bp+0 +0x1.1aa9f2c2a40b8p+0 +0x1.0eb2ac3d285f2p+2 +-0x1.a38a2c4ecdca1p+2 +0x1.c2fa24fe1f397p+0 +0x1.dc9a9b2b0f9b2p+14 +-0x1.171817b49bc5dp+1 +-0x1.38933e07c19e5p+3 +0x1.8107ea37b5a8p+2 +0x1.96ff2b9f8b568p+1 +0x1.188cd6a241b6p-1 +-0x1.31b022aa87c92p-4 +-0x1.2bfef29b4173bp+1 +-0x1.076554cde63e2p+1 +-0x1.4afc23f1f6081p+1 +0x1.1aa983503c1cbp+2 +-0x1.85ce2f3e1f7f1p+2 +0x1.4344d24e08cb4p+5 +-0x1.bf4e26dbf2605p+1 +0x1.b008665f6334ep+0 +-0x1.e448a31afd5a6p+11 +-0x1.5d2f0731d30bp+11 +0x1.6ef53a8f473a9p-2 +-0x1.bdb7c6cdff693p+2 +0x1.5259b3681b3c2p+1 +-0x1.8852afebce82cp+2 +0x1.34bbde45abcbep+7 +0x1.daed1d8af823dp+0 +0x1.2c7a89ce4e75dp+1 +0x1.9331efbee1ac6p+2 +-0x1.55762693b425ep+1 +-0x1.146f9ddba649cp+2 +-0x1.28a0220b89b76p+1 +-0x1.a2228dc88396bp+2 +0x1.0b5b471e53949p+2 +0x1.d73f7ef842bb1p+0 +-0x1.6618801395004p+16 +-0x1.5018e76a96f7dp+0 +-0x1.72153e48a85c2p+2 +0x1.a8f7b18aef778p+2 +-0x1.26c92b28c68c4p-2 +-0x1.3ca7f79f0ebf7p+3 +0x1.0a6c5199633c7p+6 +-0x1.5a8bb9550d5abp+2 +0x1.84ab41a2b7058p+0 +0x1.d44e1b40c1c02p+2 +0x1.dc0de4ed72d9cp+2 +0x1.8750902435eacp-3 +0x1.c435604f3676ep-1 +-0x1.6feb18de7f7d5p+9 +-0x1.3dc2bed23761fp+2 +-0x1.06ed8dfceda2dp+1 +0x1.4d3d6f9bc72f3p-3 +-0x1.dd5742db3a0ffp+0 +0x1.a4ea000dc5ba7p+2 +-0x1.d54bacf73842dp+1 +-0x1.2ce968f482fb6p+2 +-0x1.41ab3d37b935p+1 +0x1.44f8368412ce3p-7 +0x1.5161949935c9dp+1 +-0x1.a7bbf8b575ebap+1 +-0x1.217621dece826p+3 +-0x1.9fdd64aeaf543p+1 +0x1.42b617e0c497cp-7 +0x1.ad52dd1410743p+0 +-0x1.a0565df383012p+2 +-0x1.64508925d269dp+1 +0x1.1b6745e6f4f97p+5 +-0x1.7d311b3642bf1p+1 +-0x1.5ddfba14e4874p+2 +0x1.c135f98268459p-2 +0x1.014789d4d5b91p-2 +-0x1.3333aa531c637p+2 +-0x1.4496a147c57bep+2 +-0x1.711ea5c8459cfp+2 +-0x1.755ebf41299fep-8 +0x1.1ac203cb9a283p-6 +-0x1.d88bd3db0c512p-1 +0x1.6dce50ae40243p+1 +-0x1.16dc0ba1a1b9cp+3 +-0x1.27c77b5832043p-2 +-0x1.906e9ee874a68p-1 +0x1.18e9b7af28258p-4 +-0x1.2e8c2cc1bde9ep+2 +-0x1.5344973c301a4p+12 +-0x1.2c24ba980caccp+1 +-0x1.ac2c6d05084c6p+0 +-0x1.d221a59706b64p+2 +0x1.d71f27a76ca22p+0 +-0x1.630a7a3c19d39p-2 +0x1.5cb6bb7f70728p+2 +-0x1.4d706e630a0a9p+1 +-0x1.81db16b8bbe4bp+2 +0x1.1d45ebf7ed30fp+1 +-0x1.bbd30311345ebp+1 +0x1.692925c1296e1p+1 +0x1.a623ad0818d59p-2 +-0x1.080955c97a89fp+0 +-0x1.8c6be3f7c945dp+2 +-0x1.b92f87fae57d7p-2 +-0x1.4ef9f21574415p+2 +0x1.67160ab935358p+2 +-0x1.69579103ab5ap+2 +-0x1.1247dde581545p+2 +-0x1.811d5c8f9ed98p+18 +0x1.d43b42181b948p+2 +0x1.2248fd038ed27p+2 +0x1.36f160e4d900bp-4 +-0x1.62a91991c2c58p+2 +0x1.c5cf2fd192635p+1 +-0x1.df6c8c4890602p+1 +-0x1.f943ab203a248p-1 +0x1.51a9cae8a92e7p+1 +-0x1.9108faadd1115p+1 +0x1.fe48626444ba7p+0 +-0x1.04ffeff608392p+0 +-0x1.d641c76db1ed5p-4 +-0x1.f9d3d67006a29p-1 +-0x1.ee62951aa7adap-1 +-0x1.94a685436df4fp+0 +0x1.a7c51685d902ap+1 +0x1.c77d639e0a4c4p+7 +0x1.86dca3bd4a44dp-1 +0x1.38018c0f0dd66p+1 +-0x1.ba117f24df0d6p+2 +0x1.fc074a6f6f58fp+0 +0x1.0ea0d742122b1p+2 +-0x1.0efba5c1fc1c3p+0 +-0x1.17c456c750bdep+1 +-0x1.596f727d34937p-1 +-0x1.392248d1593e7p+2 +0x1.5122e040be88dp+2 +0x1.f0ef80ba50badp-1 +0x1.a123c94296921p+6 +-0x1.f4b12dad2c6bap+1 +-0x1.c8731904ec173p+1 +0x1.31dd6880cacc1p+2 +-0x1.a303a38f85806p-5 +0x1.4e86c85a84015p+2 +0x1.1a56ee1a74cf5p+2 +-0x1.7238cdb89a0ecp+2 +0x1.83510cc9c4ca6p+1 +0x1.3295391e3ccc8p+0 +-0x1.e298a4b310a7dp-1 +0x1.cc723844fe461p-2 +-0x1.0944042fcdae5p+0 +0x1.11645985610c2p+0 +0x1.fbafb2c408d9bp+0 +-0x1.41c7fc60f528ep+7 +-0x1.e33700bf04184p+2 +0x1.04b9886745e6cp+1 +0x1.a4e32dd308aaep+2 +-0x1.6e6b6cf96e783p+0 +-0x1.10709c498307fp+2 +-0x1.48d7f5441c754p+2 +-0x1.cc1443515a649p+2 +0x1.87c2e092a68f2p+0 +0x1.cb2c20b529bd2p+1 +-0x1.c6295d9c09c8fp+2 +-0x1.218ee2ad1f934p+1 +-0x1.6d731d64e8385p+11 +-0x1.8e065f9328dedp+3 +-0x1.9e64f73c00f78p+2 +0x1.9993699c101f6p+2 +-0x1.5862d69ff8b63p+3 +-0x1.b02166526d156p+0 +-0x1.99317ff87b5fdp-3 +-0x1.e066f612bc266p+0 +-0x1.620d20414e49cp+0 +-0x1.2d339cd08c6c2p+1 +-0x1.8d62f9a0a665p+2 +-0x1.00e289dfb31b2p+3 +-0x1.228055a6a4263p+1 +0x1.650beb9e3d905p+1 +0x1.add9cd3d9ab09p+1 +0x1.9233fff8d7297p+2 +0x1.67b7df39fb785p+1 +0x1.25eda2ab51b3cp+2 +-0x1.5a3b453f1c202p-2 +-0x1.5c45bc7aaa9f8p-1 +0x1.627c976c3806p-2 +0x1.6a81ed75eb061p+2 +0x1.8da70950ee823p-1 +-0x1.26483a4938c57p-1 +0x1.613d813ba8986p-1 +-0x1.ae35d513ca5f7p+2 +-0x1.d0244cd27dcb5p-1 +-0x1.d76601980934ep+1 +-0x1.5802e7afdce4bp+2 +0x1.5ea6b8ea7aeaap+3 +-0x1.2cbb80231a5bdp+2 +-0x1.219d9c5476f19p+1 +-0x1.86f4a461f7183p+1 +0x1.be4ac582a64adp+1 +-0x1.9f4dc59eee9a1p+1 +-0x1.0ce498d843fcap-1 +-0x1.2710c9e168fc7p+2 +0x1.d7f33124db819p+0 +0x1.ea8f9a6ce2108p+0 +0x1.bbbb082dd7912p+1 +-0x1.da4783a22c493p+1 +-0x1.8815ce2d8ab57p+2 +0x1.9fcc20ac806ap+2 +-0x1.59a32f3adc7d6p+2 +-0x1.9f049ccdf0f36p-2 +0x1.4b15aa442cf6ap+1 +-0x1.2b1f28a5f0c56p+3 +-0x1.a43ecae5118d3p+2 +-0x1.05965bac75f9ep+2 +0x1.6fa45ec356479p+2 +-0x1.e90b1aed4219bp+1 +-0x1.a6fa422911babp+1 +-0x1.45452675327bap+1 +0x1.078a8c92bb3f6p+3 +-0x1.fe4f1ddb08991p+1 +0x1.032e9e1ab8d8ap+1 +0x1.5afe8ae2ed933p+0 +-0x1.54094b3d1d351p+1 +0x1.8124ccdc8b1dep+1 +0x1.80e3387dbf33ep-2 +-0x1.45ae5838cae14p-3 +-0x1.44c5524e9199fp+1 +0x1.9542f3a4aad91p+0 +0x1.9432234e9523cp+2 +0x1.9edd1a45088a7p+0 +-0x1.61b20106e07e7p+2 +0x1.cabf4bc48e766p+0 +-0x1.e190cef90b975p-1 +0x1.15f088c9dee53p+2 +0x1.600cf449c655bp+2 +0x1.277e065bba117p+1 +0x1.036adc016984p+2 +-0x1.069f9332656bp-1 +-0x1.1d4d017e0bb04p+2 +-0x1.7b7f405695c51p+1 +-0x1.20c723a0775f8p+3 +-0x1.584b227ece41fp+2 +-0x1.06c720075dfbcp-2 +-0x1.0c2c58b30e777p+0 +0x1.e06db604402a6p+15 +0x1.28c14532ff71dp+1 +-0x1.4304cfb4ee3fap+2 +-0x1.92768f948ca29p+0 +0x1.888d25b454406p+1 +-0x1.5b45b8abd51ddp+4 +0x1.bfd58c915e16p-1 +-0x1.806ce03cc8937p+2 +0x1.a8d27a017705p+0 +-0x1.7db2d7d5d67cap+0 +-0x1.07b6f0960e7e5p-4 +0x1.1770ffb2d5a9fp+1 +0x1.b17e69ae8c5c7p-1 +0x1.29cda0ba82a5fp+2 +-0x1.2727a4d20f7acp+0 +0x1.cdd90e580cb64p-2 +0x1.dd3db00a3ab54p+1 +-0x1.4d5f4deac6a91p+2 +-0x1.8777d294a4417p-1 +0x1.3683c7f7a18d9p-1 +0x1.18abee9edaa09p+1 +-0x1.6a2fb5cdd4f1cp+1 +0x1.9c9940c028163p+0 +-0x1.dd0cd1cbf4055p+1 +-0x1.89bb8306ab329p+2 +-0x1.450dad2d8f94dp+1 +0x1.1db3aa5b159edp+1 +-0x1.5253d572bc726p+2 +-0x1.773fcb321e9cbp+3 +-0x1.44725d7ff6097p-1 +-0x1.85e30556f955ep+1 +-0x1.248a4c31090aep+2 +0x1.07cac3c199f5dp+3 +0x1.606b66d295891p+1 +-0x1.d480710e94e67p+0 +0x1.80ae080c769c4p+3 +-0x1.cebdec7b54244p+2 +0x1.7771ade61cb3ap+3 +-0x1.f1d0712d40a5fp+1 +0x1.582ebfb1db49ep+0 +-0x1.22fa577c0d992p+2 +0x1.48609b81273cep+18 +0x1.b3b695c6d9312p+1 +0x1.26d7b544813f8p-3 +0x1.76144c7f3e9c9p+1 +-0x1.713bb60020a74p+2 +-0x1.4fbc6dd06a89dp+1 +0x1.c7934d638dcfbp+2 +-0x1.e43557f49d971p+2 +-0x1.3214ec5bce878p+1 +-0x1.bed3d74a1bcc7p+13 +0x1.ff5b86f5f418dp-2 +0x1.0b2b6fd4700bfp+2 +0x1.335c9b4b704a1p+2 +-0x1.953d5601ce38ap-1 +0x1.8d2b9230bb05ap-1 +0x1.bae885e362688p+2 +0x1.167fdf81407f1p+0 +0x1.67f5be8615cd6p-1 +0x1.8e2d59aae1a1fp+2 +0x1.8bd951caf5e93p+2 +0x1.0c35b1c4aa6d2p+0 +-0x1.07462d8006abfp+2 +-0x1.b8bbb7e3041aep+10 +-0x1.7b041fd969e89p-2 +-0x1.6584df2c6a83p+0 +0x1.1dfed4759bebfp-1 +-0x1.ba50d2f6110b5p+0 +0x1.e29c9b31d6da9p+1 +0x1.92f14e8f3825dp+0 +-0x1.39170d6424af2p+0 +-0x1.8693d0848429p+1 +0x1.2dbb1cf932fbcp+2 +-0x1.5db2b85add1fap-3 +0x1.9b7c2b7325996p+16 +0x1.0d42dd874a541p+11 +-0x1.1fb8948aada04p+1 +0x1.9b7cc9e5a6543p+2 +-0x1.1a63dc7e4365bp+3 +-0x1.749e9e07207dcp+14 +0x1.355975dde6432p+1 +-0x1.6d0ef1ac850cap+2 +0x1.2fc69baef4bc7p+2 +-0x1.3de7429d92309p+2 +-0x1.724510ec1c591p+2 +-0x1.9e1fc2e664119p-5 +-0x1.d52816671f386p+1 +-0x1.0f42693ff74a3p+3 +-0x1.75a2d194c5a85p+0 +0x1.cb7f68e18e1e2p-1 +0x1.42f5137b18545p+8 +-0x1.5d41216926114p+15 +-0x1.271f4b5fe7d3fp+1 +-0x1.de4e40a256dd8p+0 +0x1.84feedc5af2bbp+2 +-0x1.4bf82fb3ead1ep+0 +-0x1.70a0cd62c573ep+2 +-0x1.82e93235056fdp+1 +0x1.7764c214387f1p+12 +-0x1.7edcd2ce0a612p+2 +0x1.7ba93d78b8892p+2 +-0x1.1cc26bc13a5d9p+2 +-0x1.a41ef73fc2cf5p+2 +0x1.c9e901ebf5e59p+0 +0x1.1e397077089e2p+2 +0x1.2d37a44f20273p+3 +-0x1.7bdd6101a46aap-2 +-0x1.02b03a4e72829p+3 +0x1.c7e03f970cac9p+2 +-0x1.c7c1a18d695d6p-6 +-0x1.86dd5d300bbb8p+2 +-0x1.07e13c61106f4p+10 +0x1.0b6f2199f585dp+1 +-0x1.a5b24e12c12d4p+3 +0x1.8f9b31e7901fep+1 +0x1.3f1eed0029f6bp+2 +-0x1.79bb443b4eadep-4 +0x1.405df0d73ed41p+2 +0x1.7810fe8736698p+2 +0x1.59039de6db6f5p+2 +-0x1.533b7d6f0b6d9p+1 +-0x1.847b9b9724aecp+2 +0x1.90b913592293p+2 +0x1.0f69311ef4321p+2 +-0x1.7e3a5ab032d3fp+1 +0x1.0a82d107c99e6p+2 +0x1.7dae4a58dc425p-1 +0x1.fa8bb34544995p+0 +0x1.2ae800ff7859ep-2 +-0x1.a4ebb42664509p+1 +0x1.334a7b3b9079p+1 +0x1.8ca71903ee2c6p+2 +0x1.482d30411e283p-1 +-0x1.30929e5c373afp+1 +-0x1.80e35ef1ddd1cp+1 +0x1.03de4f29aff05p+3 +0x1.d4c766c560fe2p-11 +0x1.138c14bbb535fp+3 +0x1.7f977d5fbb75ep+0 +-0x1.0d82df5123a9p+0 +0x1.8771f6a03a6c8p+0 +-0x1.a59fc737d5559p+1 +-0x1.5acebe13f11f2p+3 +0x1.943dbd4ff2cdbp+1 +-0x1.6b5f6879ec61fp+0 +-0x1.116521d4a3d8cp+1 +0x1.a468ebf0357cbp-3 +-0x1.4413d5ee9f75cp-2 +0x1.b61754ae0c6dbp+1 +-0x1.3d363813cc4bfp+3 +0x1.307a9ff77cb2ep+1 +-0x1.f0e5671c3f121p+0 +-0x1.2c479457e9901p+1 +-0x1.b2cdd85777a17p+1 +0x1.a5a8cea93441cp+1 +0x1.012dd5417ebabp+1 +-0x1.4cc769bfb028ep+4 +0x1.9b817a66f1ep-1 +0x1.74c2d0e5fe57ep+5 +-0x1.a4ad2f1d303ebp+1 +0x1.e40b96b32e14cp-2 +-0x1.6330bd8e98ee5p+2 +0x1.af60dfb24d146p+1 +-0x1.3cc6919e04d7fp+2 +0x1.138621dd3ee7bp+0 +-0x1.0584f7f7702bcp+0 +0x1.1d624564810eep+1 +0x1.d5e8c33252f5bp+1 +-0x1.e79711bed5f0dp+1 +0x1.ad973178b1426p+1 +0x1.9697c6ba07269p+1 +-0x1.e3f9c8732e0b1p-4 +-0x1.3857de1848774p+15 +-0x1.dea8cfcd209e8p-1 +0x1.4ec636bf19b65p+2 +-0x1.5f8228514bf1p+1 +-0x1.e8ac199e70757p-1 +0x1.1d46793e9bc24p+0 +-0x1.9bd877905a45dp-3 +0x1.1f0e932aa1f75p+2 +-0x1.8da4c38735d1dp+1 +-0x1.1bd46912e03d1p+3 +-0x1.9cbb3581dd141p+0 +0x1.764c244b1fbd4p+1 +-0x1.804129f83c132p+2 +0x1.50b8fdace7555p+1 +-0x1.3abb0f029c82ap+11 +-0x1.3927d950b678cp-4 +-0x1.fc76e9cb416dcp+1 +0x1.8404e50aa6706p-1 +-0x1.62dd116f737cap-2 +0x1.85ad4467fad4bp+0 +-0x1.3706e9dfddadep+5 +0x1.04ae111ec9334p+2 +-0x1.817e4aca94532p+1 +-0x1.41fe3c74f27bep+1 +-0x1.87ea268053578p+1 +0x1.49d825e0468efp+0 +0x1.94c503adb4006p-2 +-0x1.936702f764919p-4 +-0x1.5e0853f89b32cp+2 +0x1.7526e455cfdbbp+1 +0x1.3c73d327cd48bp+1 +-0x1.44c8d837b29a1p+1 +0x1.aa17b59627509p+2 +-0x1.abbbf47e732f2p+0 +-0x1.935e2bc1cbeep+1 +0x1.fbf9979b2d0f4p+2 +-0x1.460f65c411d4dp+1 +0x1.99d664784b077p+0 +-0x1.9ad50578ec066p+2 +0x1.65a630bae65f1p-3 +-0x1.217738a493baap+8 +0x1.5c25b7a3b86c2p+0 +0x1.75acf69793aaap+2 +-0x1.030ebc93315eap+1 +0x1.638e1deadeb17p+2 +0x1.7a1329148d092p+0 +-0x1.6ad65c0b2c245p+0 +-0x1.8b3d6bf9c738p+0 +-0x1.42b03fb911a6dp+0 +-0x1.7c9dfd892282cp+1 +-0x1.4cfbf80963feep+1 +-0x1.2efc81228d25bp+3 +0x1.b9edf9e537835p+2 +0x1.316b06a745f7p+10 +0x1.68ff7b5b723c9p+2 +0x1.f863ad7b8b45fp+0 +-0x1.276971410e109p+0 +-0x1.b80c5e6a003fep+1 +-0x1.1d73ed291042cp+0 +0x1.1d386d2fd05fcp+3 +-0x1.15e4f32e4a988p+1 +-0x1.5f5f7c2005e5cp+1 +-0x1.5abed1dee36cdp+14 +-0x1.e62d7e4f2ca86p+1 +-0x1.18a5af28df732p+15 +0x1.06a988b531ee4p+2 +0x1.e77977b8a24f8p+1 +-0x1.35eb76ff60099p+2 +0x1.ab449af02ed85p+5 +-0x1.c2e0b70da69f8p+0 +-0x1.0b5683b777f5cp-1 +0x1.d50fef3819d9ap-2 +0x1.007b53c1185c4p+1 +-0x1.d7f8b998ae332p-1 +0x1.1e4003db8fb25p+1 +0x1.cf7be185bcb6ep-1 +-0x1.edec2941d3352p+1 +0x1.2787ee2e37515p+1 +-0x1.2666b45288f7dp+6 +0x1.c54666f50359fp+2 +0x1.c928236f8eccap+1 +0x1.fac138c482b82p+7 +-0x1.2078753895831p+11 +-0x1.23fce40339614p+0 +-0x1.17b1cc8a06676p+2 +-0x1.5bafd28e8555ep+2 +-0x1.257704869c35p+1 +0x1.a2fd4088af239p+0 +-0x1.21a3c269b219p+0 +0x1.8d04fd46b222fp-2 +-0x1.15f8bcc92025ap+9 +0x1.74be2914f06f8p+2 +0x1.883d9f31cac0dp+2 +-0x1.cbf05f27a32e7p-4 +-0x1.b69ba86752555p-1 +0x1.0f1fa7644ef84p+13 +0x1.911ead184ce73p+1 +0x1.f58ab54620487p+0 +0x1.6b1ecd10a0655p+2 +-0x1.91bbfc4618d2dp+1 +0x1.e99e7a237977bp+2 +-0x1.5bbe7a3740dbdp+0 +-0x1.8155945219cddp+1 +0x1.0538f059db14fp-3 +-0x1.d823ec71c5517p+1 +0x1.a7811eceac387p+1 +-0x1.37a6059e2e06ep+2 +-0x1.14bb9e44957f4p+0 +0x1.2298d6092512cp-1 +0x1.5d9d619500a72p+1 +0x1.985deed076b0ap+1 +-0x1.0b836aa598b3bp+1 +-0x1.e1af80d40b7a2p+2 +-0x1.a0a2902844a56p+1 +0x1.5ed4c68b9a0e2p+2 +-0x1.4f571fde7a502p+1 +0x1.880169a8f90b9p+2 +0x1.ce82e7c8cc62ep+1 +0x1.7868e81af2fbbp+2 +-0x1.8259681e6bf3bp+1 +-0x1.2dfec1f21f17dp+0 +0x1.86b9d349f1f7ap+1 +0x1.b2fe346f299f7p+2 +-0x1.b9a9d62c39d7ap-2 +0x1.048f2e5a2ee22p-4 +-0x1.cdb44cb109cbfp+1 +-0x1.40301ef2451e8p-2 +-0x1.6cb2e1d010d6cp+0 +-0x1.625cce8b1d24ep+1 +-0x1.bdaf8a4fb4176p+2 +-0x1.4987d79247be9p+1 +0x1.59c56f347cb8fp+1 +-0x1.77e1d67d5cf93p+0 +-0x1.6b0ae4ccc749p+0 +-0x1.542d83c758a2dp+2 +0x1.489b39a9be0c3p+1 +-0x1.0b041d8917ea4p+11 +0x1.06dbdbf5b2cf4p+5 +0x1.46ab056e23ee6p+0 +-0x1.d95bf17c22d4ep+1 +0x1.491ba51228373p+2 +-0x1.47e0249221c91p+2 +0x1.2c4401fc369b3p+3 +0x1.736228688cd9fp+2 +0x1.aed0eef6bca7ap+1 +0x1.f01eb78f1c947p+2 +0x1.e8ceaaf1d61f4p-3 +-0x1.6b73148d129f2p+2 +-0x1.9d3b50c5fccaep+1 +-0x1.4ae64744a49acp+13 +0x1.0f902581cdeecp+0 +-0x1.031e03229c7dap+2 +-0x1.077e4afd485ecp+2 +-0x1.f5757f88443d5p+2 +0x1.697cdcedd386p-1 +-0x1.65d80c954f8dfp+0 +-0x1.2d790bf71cdf5p+1 +-0x1.72e499d922a73p+1 +-0x1.3e615f76b8d66p+1 +-0x1.1609e466783a9p+2 +-0x1.b5736133f5178p-1 +-0x1.8fcda61ef5422p-1 +0x1.6bf0a413b4227p+1 +0x1.ad48c26abc31bp+0 +-0x1.89035760cc5d4p+2 +-0x1.cdc0fec1e70a2p-2 +-0x1.3a55749d25773p+1 +-0x1.74e31387c3413p+0 +-0x1.b916e76fe9e14p+2 +-0x1.ec6557bc89b42p-5 +0x1.853ae7e3ae322p+17 +-0x1.f96ce82f9a23ap+2 +-0x1.f7c0e59ea98cbp-1 +0x1.8e1d47f2b0d11p-2 +-0x1.6ff71534123ddp+1 +0x1.2dcc40f07d9e2p+8 +0x1.a0d77d2421cc6p-5 +-0x1.2015fdadbe2dap+3 +-0x1.8da669ffe6478p-2 +-0x1.159efd82250bp+2 +-0x1.1a5f287427336p+1 +-0x1.af5ae1b53176dp+1 +-0x1.6c15ffe994f45p+0 +-0x1.079bbda12c0ddp+1 +-0x1.6a98d3e71972dp+1 +0x1.09ea738050476p+1 +0x1.ecfe0b6ad313p+0 +0x1.f8472c0d8233fp+0 +0x1.a4ef60e8d4b68p+0 +-0x1.81239f23394e7p+1 +0x1.5387fc6c4af86p+1 +-0x1.80dc1ca4a928bp+1 +0x1.50ab5ca3ea361p+0 +0x1.35217dc436286p+10 +-0x1.524fd49a02b4dp-1 +0x1.44580cdfe28b4p+1 +0x1.bcf5e5773b864p+1 +-0x1.ec2f51ca5af3bp+1 +-0x1.d881ce2ed8b85p-2 +0x1.5588c6aa8d88dp+2 +0x1.1d1f20f1c3adcp+8 +-0x1.228f88018b8a6p-3 +-0x1.4fea718f01536p-2 +0x1.59f8ca7f88282p-3 +0x1.cbdcf49250f0dp-2 +0x1.436a9005dfb31p-1 +0x1.f92abc9df294fp+1 +-0x1.a8b95ed78f2f1p+0 +-0x1.83ff63ccd829dp+1 +0x1.de453ec5656f7p-1 +-0x1.70b985d772324p+1 +0x1.da1c68b1e52a8p+2 +0x1.21b5b351f7031p+2 +0x1.d21279e0fc85ap+2 +0x1.83719c6502f7bp+1 +-0x1.a4349c6c28813p+1 +0x1.b878b8dea066dp+2 +0x1.6a370d48dd1c2p+0 +-0x1.118e53475e617p+2 +-0x1.3df8b525efb55p+0 +0x1.8a50137aad3a1p+2 +0x1.df36ee2d5232fp-2 +0x1.8bdbe25c8524p-2 +0x1.9a65a34f42815p+1 +-0x1.7f250f8677549p+0 +-0x1.3b1f20fce5035p+1 +-0x1.345fb24859892p+0 +-0x1.75771df423c34p+0 +-0x1.20aeefd392702p+11 +-0x1.ec1425f94a20ep-1 +0x1.c4f345511c799p+2 +-0x1.4b57df27e2e16p+1 +0x1.ffb66f39f050ep+1 +-0x1.01df0e2e1370ap+1 +-0x1.15df9373eb255p+2 +-0x1.a170f6275370cp+1 +-0x1.d992df955bd78p-1 +-0x1.2baf74b4af21dp+1 +0x1.a851867b7bec4p+0 +0x1.abcea7391c221p+0 +0x1.ab7cbadc985d2p+2 +0x1.42e6993b29453p-1 +-0x1.9d0814a6f5355p+2 +-0x1.0b9937ed5dfdbp+1 +-0x1.883ed846f7f8ep+9 +-0x1.b699f07b3e6afp-4 +0x1.bb03a45c278c5p+0 +0x1.2fb4ae9f919aep+1 +0x1.03cfa4f8455d4p+3 +-0x1.abf1b8deb489bp-2 +0x1.6139768ab5a8ap+3 +0x1.dd26183cd036p+1 +0x1.2750767d3e886p+0 +-0x1.84c575669a912p-5 +0x1.7042a2d1aca1fp-1 +0x1.c82e9181f6fd2p+0 +-0x1.a57da927cfc94p+0 +0x1.66a4dea06db8ep+2 +0x1.c6a3991cf0e3bp-3 +0x1.29cfbc67c29e1p+2 +0x1.89c30998f7df7p+0 +-0x1.762f1d6d9e00ap+1 +0x1.bfb28f77e3cdap+2 +0x1.8229eba6897e4p-2 +0x1.fab965093334ep-1 +0x1.88906093f6f04p+2 +-0x1.db54dc9532723p+1 +-0x1.21161a538052dp+0 +0x1.6df6d1ac551fcp+2 +0x1.0259a7aea2fccp+0 +0x1.7c3ad6be59623p+2 +0x1.6422f775e1093p-2 +0x1.9b091f364ac5fp-1 +-0x1.f7db5e4baba78p+16 +-0x1.70ed1242b15ccp+1 +-0x1.25d4f9e7e27a2p+3 +0x1.5d7ff0337fb2ap+2 +0x1.9a3d97b4c6118p+2 +-0x1.5a1b0d36eca0ap+6 +0x1.a7281131d4703p-3 +-0x1.eba0bf59937c5p+2 +0x1.a5e5f6b6ddd88p+0 +-0x1.7288a0a98efa4p+1 +-0x1.8935c9fdc3c05p+1 +-0x1.2a829bbcb2cbap+2 +-0x1.48ebdcb83f7e7p+1 +0x1.5419fc820b9a9p+2 +-0x1.50327d1d01e1cp+1 +0x1.5e3d5ca372cd8p+1 +0x1.0d9ddaeda3c4cp+3 +0x1.82002edebb429p-5 +-0x1.812469be3e86dp+0 +0x1.1ded0123d4cc8p+2 +-0x1.f34346b7b219ap-1 +0x1.61f2055687765p+2 +0x1.39cca64743a75p+0 +-0x1.8a8c7a3787394p-2 +-0x1.e29c8718a1038p+0 +0x1.361953a7a22f5p+0 +0x1.17da7b2ab71d9p+1 +0x1.18ca0f33001p-3 +-0x1.6b72879fb1d94p+1 +0x1.56ccbdbc476dbp-4 +0x1.73c6412270476p-2 +0x1.87c68be809854p+1 +0x1.d69c54d0ae8efp+1 +-0x1.726e5386cbf5ep+1 +0x1.4db07670f6b3ap+1 +-0x1.43661ca814c54p+3 +-0x1.0a6bca180b2cbp+2 +-0x1.27820f879c184p+2 +0x1.ca9d5c5bfe4f2p-3 +0x1.290ac30cdc193p-2 +0x1.f61eb949b18d3p+2 +-0x1.1584d05d0a96ap+1 +0x1.0b8bf2229fe88p+2 +-0x1.51998f4724bcfp+1 +-0x1.27aad299465acp+3 +0x1.e7b494d60d128p+0 +0x1.0c48212f9d7d5p-4 +-0x1.165632366a642p-3 +0x1.f02bc2261e6p-1 +0x1.35c695c54324cp+1 +0x1.da738a1ef263ap-2 +0x1.8e148329ce957p+1 +-0x1.23fb1e71b470dp+2 +-0x1.917d253d56628p-3 +0x1.a732ce8745798p+3 +-0x1.d5274779de14fp+2 +-0x1.6140d1bcfa57ap+2 +0x1.d8ab79716e0f7p+1 +0x1.69a984068e617p-1 +-0x1.b993494c289a7p-1 +-0x1.b84750ff20e86p+1 +0x1.48c177c8aca89p+1 +-0x1.445f818422a59p+2 +-0x1.4122d8dea6a43p+2 +-0x1.f0fc999efb4aap+0 +-0x1.15642cc3c862ap+2 +-0x1.276fb26de60e9p+0 +0x1.1ec51bc9a97bap+0 +0x1.3d61d3a09b77fp+1 +0x1.f9cd816fd14fep+1 +0x1.cef99ebfe42b3p+2 +-0x1.bd5bba461b12cp+1 +0x1.416067dd0409fp+2 +0x1.1502592e972a1p+2 +-0x1.934af108629a1p+2 +0x1.e2761e34d6f1p+2 +0x1.c5012d584de9fp+1 +-0x1.77978719926fep+1 +-0x1.1d26cb45855bcp+1 +-0x1.eb282fdc323b2p-1 +0x1.90275788d474fp+6 +-0x1.c882616c0724ep+1 +0x1.fd0406443607fp+2 +-0x1.3ac283c5bcf6fp+2 +0x1.ba5eed72a9ddp+0 +0x1.69e161b1c4069p+0 +-0x1.6d72c573c240ap+1 +0x1.bbf7f991509bp+1 +0x1.82e235c879fcap-6 +0x1.2d96702365145p+1 +0x1.215bea1d8d972p+1 +-0x1.7997172e853bfp+2 +0x1.1937cb1949233p+18 +0x1.2b76bc19872a5p+1 +0x1.e87f010895ff8p+0 +-0x1.66b791a63137ap+2 +0x1.380f5b2505ad7p-6 +0x1.365817673d7f7p+0 +-0x1.67eaed7f37d86p+0 +-0x1.09e25af5d71aep+3 +-0x1.2241b2dd69a7p+1 +-0x1.6e04df20ee7f6p+1 +-0x1.6d46eb9efce49p+16 +0x1.73f76c0fdffc5p+12 +0x1.d0ade40208be6p+1 +0x1.78507db603478p+0 +0x1.5fdd6ff3a3c16p+0 +-0x1.a40adcf265112p+1 +-0x1.9a4965d24107ap+0 +-0x1.0087030c13e29p-1 +-0x1.9050f6f41c4ddp+0 +0x1.9010a2e637bc7p+1 +0x1.113376a83e2c6p+1 +0x1.4a4de4a4f3f5p+1 +-0x1.51fcce431742p+1 +0x1.6282901a8acecp+2 +0x1.6932bf1850aeap+12 +0x1.901b0800bc9dfp-2 +0x1.ab8c84d120068p+2 +0x1.71856954bcd35p+15 +-0x1.c1d5dd885f78cp+1 +0x1.204095599060ep+0 +-0x1.779b54f02edc9p+2 +0x1.bf37cc8fe010ep+5 +-0x1.20ab35abb8787p+1 +-0x1.04970708d0fe5p+2 +-0x1.29b567146b4e8p+1 +-0x1.d35c076e911bp-1 +-0x1.aca8dd766452ap+2 +0x1.50a41f3b44575p+1 +0x1.dbbcc5a5d0df9p+1 +0x1.2c63a0d55602bp+1 +0x1.ff52828b187e8p-2 +-0x1.27ad28fb498b1p-7 +-0x1.63b807193b23dp+3 +0x1.f0119929f101fp+0 +-0x1.43fe26caa94e4p+1 +-0x1.0cfe307425a53p+2 +-0x1.61f8fd45862b2p+1 +0x1.ce5dc065eb64dp+1 +-0x1.06ca413e53bf9p+6 +0x1.ffa1bcc97ea3ep+1 +-0x1.c801293111172p+1 +-0x1.1e7d796eeaec5p+2 +-0x1.2f748cfbc86e7p+1 +0x1.3e88e2104eb8fp-3 +0x1.8f8bc03ea8a77p+2 +-0x1.1cff7307d5862p+3 +0x1.33c240e05d236p+1 +-0x1.f3fd37550fb15p+1 +0x1.5460460453fe5p+2 +-0x1.13ae63d5081bdp+1 +0x1.c8a557e518029p+1 +0x1.a6e45f4e9a6b6p-1 +0x1.07ed1a2a897adp+3 +-0x1.44802d73dbd92p+5 +-0x1.5e7ca85f0362cp+1 +-0x1.e68c399dd7828p+2 +0x1.d7c9f445e5a24p-1 +0x1.ee68d40735504p-1 +-0x1.52875d7fd4576p+2 +-0x1.d91c369f9388bp+2 +0x1.2b72db14cc6f6p+3 +0x1.d0c789fca360bp+0 +0x1.97c690165469dp+2 +0x1.67d404afb5792p+2 +-0x1.b4cdb39547973p-2 +-0x1.ed74867a6604dp+0 +0x1.5adacd4f6b1d7p+2 +0x1.7fdec551fc6dp+1 +0x1.9f462dff9efa5p-1 +-0x1.fdf4e38d3f18dp-1 +-0x1.b7c4b7dbb18a8p+1 +0x1.0e3b079e53d7bp+1 +-0x1.5d2e083cdb2ap+2 +0x1.0cc27d64a7d43p+0 +-0x1.37e81213f4e0fp+0 +-0x1.5a43d413f83bap+1 +-0x1.314f136d93effp+0 +0x1.064053ce7a0afp+2 +0x1.0d29210c02d7bp+0 +-0x1.a6260c58046edp+2 +0x1.c090bdd3a536fp+0 +0x1.8c59cb4a3224p+2 +-0x1.797c7dad0012fp+2 +-0x1.495eff731233cp+0 +-0x1.200c6a13ea9b9p+16 +-0x1.7ace45bdacdf7p-1 +0x1.5e57461216e1bp-2 +0x1.99a99694f9534p+1 +-0x1.64f4d39d571f8p+0 +0x1.5b2ce91d1aef2p-1 +-0x1.afae6b5b46062p-3 +0x1.2298ead5390f4p+19 +0x1.76212d58b40c7p-1 +0x1.1e35a985b8e18p+0 +-0x1.2d2b34d13b5f9p+0 +-0x1.74477a02ec0bdp+0 +-0x1.da68da140e825p+1 +-0x1.c28a73a3106bep+2 +-0x1.cf020fc31ed3fp+2 +-0x1.7275f98572478p+0 +-0x1.83d0b79f6303cp+1 +0x1.22e357de490cfp-1 +0x1.1d1dbc833ad22p+1 +0x1.b4bc73f74859ap+1 +0x1.686b4b854b64cp+2 +0x1.fbb52a400d89cp+2 +-0x1.cc7f9c85bde7ep+0 +0x1.b6b477f201c6ep+1 +0x1.0ebfba0a114c5p+1 +-0x1.e6ace16a7299cp-2 +-0x1.d104471f5d95dp+1 +-0x1.e19500ec9b6cep-5 +-0x1.70f295be4a514p+3 +0x1.f83b5b8adb452p+1 +0x1.281cb65ca320ap+2 +-0x1.ff1218cd72c29p-1 +0x1.3b72435a84809p+1 +0x1.7faa65769570ep+1 +-0x1.a4da56f324ec8p+2 +0x1.372832227ffc9p+0 +-0x1.ae39635528ddp+1 +-0x1.ddcde5b4fb11bp-1 +-0x1.0670b45312f0dp-1 +0x1.fb5febc89cd42p-1 +0x1.a307fce6d123p+0 +-0x1.404de256223b2p+2 +0x1.144152cb79ec1p+2 +-0x1.f58740badc67p-1 +-0x1.c07b0dabdd81fp-1 +0x1.404e7275ef5fep+0 +0x1.870e0080594c6p+2 +-0x1.e37d0e1e669ep+1 +-0x1.4b5ae5988b046p+1 +0x1.70267658dba4cp+2 +-0x1.2edc37b34b661p+8 +-0x1.18feedff8e9e1p+2 +-0x1.37295400e0b66p+2 +-0x1.63ed3cee44c3p+2 +0x1.ecf1262c6256fp-1 +-0x1.1064e5d40fbaap+3 +-0x1.a27bde8e83542p+1 +-0x1.37ed4bf644953p-1 +0x1.0247350b588fp+1 +-0x1.3e9f47c0d371cp+4 +-0x1.36aa071aeee3ap-2 +-0x1.7caf6d8ba4423p-1 +0x1.52874ff294ab8p+0 +0x1.708585ed461c7p+0 +0x1.b81519abfe448p+1 +0x1.960ca3aca2da9p-2 +-0x1.9247d4bed09dfp+2 +-0x1.96371171a2b85p+14 +-0x1.0ed320667957ep+2 +0x1.618874e4163c5p+1 +-0x1.fb5976545619cp+11 +0x1.375f6da901a1bp-1 +-0x1.385561329fbd9p-1 +0x1.d85a863473592p+1 +-0x1.09daf8d611f1ap-3 +0x1.5f9874c3e9c04p+1 +0x1.b10ecf4a5ae09p+1 +0x1.22a60403cf9edp+1 +-0x1.611f37f57d103p+1 +-0x1.0d5821620c591p+0 +-0x1.78931e76da172p+0 +0x1.42a0cb1723dd8p+2 +0x1.0cdd8dffcc714p+1 +0x1.583e81ad1f894p+1 +-0x1.8dddfe6b1db1ep-3 +-0x1.279f4aba250b2p-1 +-0x1.1c8f3a3197523p-1 +0x1.f8279ff8d44e8p+1 +0x1.7eb0586f1e212p+2 +0x1.a0f7088408588p+1 +0x1.10a960acbb03ep+0 +0x1.058270b943164p+1 +0x1.8a113c5edea79p+2 +-0x1.3089f26b16c03p+3 +0x1.4d41a44153273p+0 +0x1.b1467355d45e8p+1 +-0x1.d7c6f58419c5cp+0 +0x1.66b6af034f9ddp+1 +-0x1.7d4c8535032bep+0 +0x1.fcdc6cacad5ecp-1 +-0x1.9741ac11fd8p+1 +-0x1.4217c47a2623fp+14 +0x1.b1a5e683d04cbp+1 +0x1.b3389a7d7531ep+1 +0x1.3db3786b871ffp+0 +-0x1.93fbc2d3d6065p+0 +0x1.61b4044ca5525p+1 +-0x1.859fc80ce8dd2p-3 +0x1.68d0bc42389c7p+10 +-0x1.bc3e98be64526p+2 +0x1.aaa83f1f88352p+0 +-0x1.a8e66443f670cp-3 +0x1.9efa872648f64p+1 +-0x1.234ae4a25b79dp+2 +-0x1.0721d88335cc7p-1 +-0x1.220a9569b1afbp+0 +0x1.be0bafa87bc98p+1 +0x1.45caa702677e9p+1 +0x1.525a58f38f698p+0 +-0x1.2a1b7c49eb37ep+3 +0x1.565a2c07a414cp+15 +0x1.567fa18ac29e7p+1 +0x1.2e894ea71f0bcp+10 +0x1.d38e3004c61a4p+2 +-0x1.0c94fe7a6a9c9p+8 +-0x1.343e0be99de54p-5 +-0x1.0461c2da75ca5p+1 +-0x1.c31b2ce23198ap+1 +0x1.8ed03412d6defp+2 +-0x1.40af4fd29b4fap+11 +0x1.e92aca60286a3p+1 +-0x1.31b566d1b2051p+3 +0x1.1cc31c406d884p-1 +0x1.653507d0fae44p+2 +-0x1.0ca9fa4e5ea14p+2 +0x1.2c41e4c696529p+2 +0x1.de2b39eb3240fp+8 +0x1.7ab9618aa7b9ap+2 +-0x1.4229532e11028p+0 +0x1.0473c74a65923p-2 +-0x1.4ec5527bb6b1p+0 +-0x1.489c9c3257ffbp-2 +-0x1.8605a7ea9f68ep+1 +0x1.0b9704fd80065p-1 +0x1.af4e5e8e21aabp+2 +-0x1.7048849aad75dp+1 +0x1.0d834d061d13ep+2 +0x1.1a3fd319de2d8p+1 +-0x1.c9acb3cf84b5ap+2 +0x1.2cd3804cfa77bp+0 +-0x1.13feec13f7a1ep+2 +-0x1.44a39e2790977p+2 +-0x1.43dc50a87bef6p+0 +-0x1.95c0223f3e118p+1 +-0x1.e9d0bba5162abp+1 +0x1.779d33b8d265ap+13 +0x1.2cf2cb1c57f41p+2 +-0x1.5b04698bbb1a7p+2 +0x1.c4399e14bbcffp+1 +-0x1.a99eb5ebf5264p+2 +-0x1.245b15c18beedp+6 +-0x1.8c4bdb52630b4p+2 +-0x1.96e438636db92p+2 +-0x1.3793009205cb6p-2 +0x1.78aacc3ecdfddp+1 +0x1.ffaddddffd222p+1 +0x1.16e60604c9814p+2 +0x1.13f31a840b543p-1 +-0x1.b1a470df782ffp+1 +-0x1.d6358578aeaadp+1 +-0x1.387aa415ad2e3p+2 +-0x1.097177af2877bp+12 +0x1.37444d56dfa27p+0 +0x1.1735afb03ea2fp+3 +0x1.72bd4e3823dfbp+8 +0x1.684ed9d43ce98p+0 +-0x1.1faa73c539267p+1 +0x1.35badc4b94a55p+1 +0x1.fe74074beb41ap+2 +-0x1.80c2eea146e82p+2 +-0x1.2d1e06641d4b5p+2 +-0x1.8035cd3e7742cp-2 +-0x1.36a9e91df62c3p+2 +-0x1.9b107f419c584p-1 +-0x1.85e021f095f01p-4 +-0x1.5f96df191eb35p+3 +0x1.4b81b4301ff9bp+2 +-0x1.27f867c4a1876p+2 +-0x1.e34f3f8de9e93p+1 +0x1.3ff1982a8c1a3p+0 +-0x1.acfc0f7d4df3bp+0 +0x1.563f3d6f14e47p+1 +-0x1.32c9dc7c84217p+3 +-0x1.218a591130d17p+0 +0x1.a9cb811e2636fp+0 +0x1.66683e6e79191p+2 +-0x1.dcf29ecba2ec9p+2 +0x1.7665bad145e2cp+14 +0x1.41b4643a6e992p+2 +-0x1.6b431877fb402p+2 +0x1.0e5ad74b26404p+1 +0x1.82de4a767021p+0 +0x1.12126a1ca8613p+3 +-0x1.588a5f65fe3b4p+2 +-0x1.56bb13e4c4ae6p+0 +-0x1.c2d0fd0923fbfp+2 +0x1.c91e8b10a5533p-5 +-0x1.f9b58d1ae36e4p-2 +-0x1.01b17727843d9p+0 +0x1.30f175c55fc16p+0 +0x1.96488992e5355p+0 +0x1.9ee1502eccb25p-2 +0x1.2b7cd87d8575fp+1 +0x1.335e7097d77cbp+2 +0x1.32db26973797p+1 +0x1.49e461c1e1bdap+1 +0x1.809e28859e0a5p+2 +0x1.b281c98df2671p+0 +-0x1.ef3af6c6c31b3p+1 +-0x1.92b6e58d80c3fp+2 +0x1.26bc4905c1e6fp+1 +-0x1.981004f6214f3p-2 +-0x1.96ce7df738056p+1 +0x1.c37f9aa20fd13p+0 +-0x1.96930ce3c46fap+1 +0x1.a434fcf038beep+0 +-0x1.7b13e32ea485bp+1 +0x1.b66e3aa220ca7p-1 +-0x1.3157d8e3da2f8p+2 +0x1.027d8759c3f59p+0 +-0x1.acd3e4897fdap+2 +-0x1.dc96e349b4844p+0 +-0x1.23d8a034ba3eep+2 +-0x1.3e11a7c15725fp+0 +0x1.2ae06cdf11218p+2 +0x1.8236fc55fa007p-4 +0x1.90815eba85c32p+2 +-0x1.a8db406cfc925p-1 +-0x1.29758696f7f4fp+2 +-0x1.952cb3e54afadp+2 +-0x1.a20518c61bc01p+1 +-0x1.cf28a5bfdbacap+1 +0x1.931bf09323ebcp+1 +0x1.6ab4bc0a68cb2p+7 +-0x1.9ce85d13df788p+0 +-0x1.4292c1163e569p+2 +-0x1.2b7d1b77746cep+1 +-0x1.8d138f089cb57p+1 +0x1.e9278c18affb3p+1 +0x1.9425430667adcp+2 +-0x1.1df8cd3a20e3dp+2 +-0x1.31ce008c00358p-2 +0x1.a7065ef00e1ffp+2 +0x1.b70b1c1c89729p+2 +0x1.930bc47bb8188p+1 +-0x1.2f167de5cdea1p+2 +-0x1.5f557210f0787p+1 +-0x1.01fae373eadffp-1 +0x1.b78b3f6d22097p+1 +0x1.d7a04db2ea56p+1 +0x1.f2be0a10bd434p-1 +0x1.4a4c52737001ap+1 +0x1.0b3c195c20e8bp-1 +-0x1.8c5f16b22855ep+1 +0x1.3b31b372759b7p+2 +-0x1.61f20e1994293p+2 +-0x1.b3556f80c18aap+2 +-0x1.3da99efc32593p+1 +0x1.f9e9b1a9d8d76p+2 +-0x1.e29a437562d99p+1 +-0x1.cb80f8f1873e2p+0 +0x1.21d577f120c47p+1 +-0x1.5e774a8943ae7p+0 +-0x1.b0789f1a65acap+1 +0x1.7df532f52cc1dp+2 +-0x1.20e83ae34ed46p+2 +-0x1.2ece3c3ec6664p+1 +-0x1.b8dcfa5fbf818p-2 +-0x1.a820ea389ac6fp+1 +0x1.7b9753412f6e2p+1 +0x1.c5837d0ae234ep+2 +0x1.0617d2910ceedp+6 +-0x1.6a6fdd9b90682p-2 +-0x1.cfc8ec787bd4dp+0 +0x1.69168d107a461p+15 +0x1.19aee6c68791dp+3 +0x1.cb41729f3e736p-2 +0x1.a2bc9dcd1e467p-1 +-0x1.153a4fd79110dp+2 +-0x1.e32cd1de75aeep+1 +0x1.cd10432db446ep-2 +0x1.0fb76c74ad7bcp+0 +0x1.4bfd49768d6c7p+2 +0x1.8065368a8c428p+1 +0x1.9579f6463b22bp+1 +0x1.3648ffafc92c3p+0 +0x1.a0c47a5fc93c6p-6 +-0x1.098030e3bdc44p+1 +0x1.84fb0df3d135ep+1 +-0x1.8554623efc182p+2 +0x1.15962483804c5p+3 +-0x1.8df533f543abap+0 +0x1.8cd24f4465bf6p+0 +-0x1.e7ad745390a86p+2 +0x1.e6229de2d08d2p-3 +0x1.bccca2f589181p+0 +-0x1.8e288e1a61ee3p+1 +0x1.c2aa6042cc4f2p-1 +0x1.ff0a0b216808dp+1 +-0x1.ddb1ebaddda37p+0 +-0x1.3e547677d2c41p+2 +0x1.858157703b673p+2 +0x1.d178dc87fb39p+1 +0x1.9197f0d053534p+1 +0x1.f12d869443df1p+1 +0x1.0ee4fa91d23b3p+2 +-0x1.0bec1161ae20bp+2 +-0x1.c3b201bd982f3p+0 +-0x1.40665a584411bp+2 +0x1.5ca6980e53b25p+1 +0x1.0886c51b9980ap+2 +-0x1.6ce43df954b1ap+2 +0x1.0d0445a428c4ap+2 +-0x1.3cdd410cf295fp+2 +-0x1.98ab951adfc1ep-1 +0x1.67118b280f43fp+0 +-0x1.6381cfc1a7fd9p+0 +0x1.a6ecb3aef92c3p+1 +-0x1.9515b6440ae85p+2 +-0x1.3a802180d8c38p+1 +0x1.46c216f166babp+2 +0x1.e89f14de3abdcp+0 +-0x1.0b75a703206b5p-2 +0x1.4109f34eca6cfp+2 +-0x1.4b28211d9912fp+9 +-0x1.1566b4048fc4bp+18 +-0x1.61350b7c3dbbp+2 +-0x1.32ed0d61c1fe9p+9 +0x1.77981e69716c6p-1 +-0x1.f701b74210786p-1 +0x1.ab815c885035fp+2 +-0x1.cf59e95b10a65p+1 +0x1.8ee6dc793727fp+0 +0x1.8ec04b88e9299p+1 +0x1.bbf63740f394ap+1 +-0x1.a3fa37a2e2b1p+0 +-0x1.1af036b14ba26p+0 +0x1.22f5cd1fca077p+1 +-0x1.46a4997b4856dp+2 +-0x1.5d4fdb54e2ed8p+2 +-0x1.f72d2a7eda91fp+1 +-0x1.8bcbb1ddb6962p-7 +0x1.b6ac6902470d7p+0 +-0x1.760220b9f6df6p+0 +-0x1.317764115a924p+2 +0x1.1f9cb1ce1cce5p+2 +0x1.9e1293e476df5p+2 +-0x1.e7d7d12a5dd4fp+1 +-0x1.5beba17b81e35p+15 +0x1.a6ffb58cb5985p-4 +0x1.e6a5d11bab93fp-6 +-0x1.69a5af5d507a9p-2 +0x1.05cd63f7494e6p+13 +-0x1.9f7bb37d32885p+2 +-0x1.239f28fcb0afp+2 +0x1.21c24452d1427p+1 +0x1.63aca54aadbbbp+1 +0x1.1981bb5c459ddp+0 +0x1.ae3274518c3f1p+1 +-0x1.acc7c26f9439ep+1 +0x1.354474b83682dp+2 +-0x1.01b9ab69e5c85p+1 +0x1.59db0e6e1cd7cp+1 +0x1.1a891301a0aa6p+3 +-0x1.5dab9a5277553p-1 +-0x1.7abbe453f1cc6p-1 +-0x1.a82b856d72a08p+7 +-0x1.7e72ee759e153p+1 +-0x1.90f2864b2d9cap+1 +0x1.c2059f0e9165p+1 +0x1.d47af0a008b86p+1 +0x1.adbf8cdf8ec5ep+2 +0x1.dba40d8442a94p+13 +-0x1.4bf35ff2fa10dp+1 +-0x1.0d0d08f037d69p+1 +-0x1.190849747ae36p+2 +-0x1.dc5e8a1378193p+1 +0x1.6f35d7c669173p+17 +-0x1.7280f743a97fp+7 +-0x1.53bf26bf39cf9p+1 +0x1.6021132cc5fa9p+2 +0x1.1f2cca10e8847p+2 +0x1.82373ef9b2af3p+0 +0x1.13fdff19abe06p+0 +-0x1.6ea588b863078p+15 +-0x1.75a7e3cde7d6bp+1 +0x1.7dbef6e963782p+2 +0x1.2e956304ede21p+2 +-0x1.0a1952a608b0cp+2 +0x1.d5409c022e31cp+1 +-0x1.093fe4d472b8p+1 +0x1.1e6686880eep+3 +0x1.49e756540e9e2p+14 +-0x1.0cbcf4504f1cp+2 +-0x1.813d0e71aca86p-1 +-0x1.30606fb5012c9p-3 +-0x1.4b5341e2b8ecep+2 +0x1.6032528ee7911p+1 +-0x1.c601e68d6fd3fp+2 +-0x1.cd608a18ee988p+0 +-0x1.fa09ccf1d5531p+1 +-0x1.797292dcd8a68p+2 +-0x1.ec98e1f1f6adbp+16 +-0x1.57cd527e36623p+0 +0x1.b71ae5a6df80dp+2 +-0x1.96ec47cf27c83p+1 +0x1.0e009129436bcp-2 +-0x1.042ca5f3e63cap+2 +0x1.8a318ce0844e6p+0 +-0x1.6a9bda33a34a4p+0 +0x1.c52faf93d6272p+0 +-0x1.376f82b84a51cp+2 +0x1.0698fad96b508p+1 +-0x1.1f6c54d65f837p+1 +-0x1.8094b4312165bp+2 +0x1.4bf1619b9688ep+0 +0x1.f19582b5141a9p+2 +-0x1.1f0c82108dddcp+3 +0x1.6d0a9de3d1192p+0 +-0x1.b4f5eb46c1c0dp+2 +0x1.94ea497a6da1ap-3 +-0x1.dd3e7ccde95fdp+1 +0x1.00c3274ec2061p+1 +-0x1.06b80839acdc7p-1 +0x1.5e68c21fc3c47p+2 +0x1.b57a617c24c7p+1 +0x1.dbb777ecd2fe8p+0 +0x1.f8599d5912f5fp+1 +0x1.a8ce99637fdep+0 +-0x1.1178cc6c41045p+2 +-0x1.16b2621fde5e9p+1 +0x1.4cb3193c14242p-1 +-0x1.2b698b53d3ed1p+1 +-0x1.1811c7151380ap+11 +-0x1.9ead7fd515e8dp-1 +-0x1.7f25d213409b4p+1 +-0x1.3ecb54cf217f1p+0 +-0x1.42bd8c75ca1a1p+1 +-0x1.e64af07dc6ef7p+2 +-0x1.8df505efdde4bp-4 +-0x1.7fa6f784cf1bp+0 +0x1.f192dba76a318p+1 +0x1.a23234b4f8c78p+2 +0x1.529f9e235ca8dp-2 +-0x1.25c2424ba38d7p+2 +-0x1.264d33dfac652p+2 +-0x1.ab5a0d648b3f9p+1 +0x1.27c7c89efc754p-1 +0x1.be840d57a7d3dp+0 +0x1.abfd0ae117d33p+1 +0x1.73307b0afc1cp-2 +0x1.d7fe7fbfdc66cp+5 +-0x1.c614b9eecb9fap+2 +0x1.910e203d9f24cp-1 +0x1.cc4adc85133a8p+1 +-0x1.072822fff319p+2 +0x1.6f27040372408p+2 +0x1.1ee3a2633dbf7p+3 +0x1.1469b4c31f9a2p+6 +0x1.d120be1750f82p-4 +-0x1.1fe197e3ff7acp+2 +-0x1.52b1ef6bf3261p+2 +-0x1.ae76580a3fa2dp+0 +-0x1.f114f06135a6ap+2 +0x1.2db693dc79d04p+1 +0x1.c017579cc447ep-1 +0x1.72e3d3c733fd2p+10 +-0x1.97d9cac324f57p+2 +-0x1.3aa6e59b8e4f2p+0 +0x1.e084f5f6bc44ap-1 +0x1.5076f4b4b18b8p+10 +0x1.4d2300d306d07p+2 +-0x1.229a22421288bp+2 +-0x1.15d245de0d24fp+2 +-0x1.14ca80f6c7f21p-3 +-0x1.d280147f90d51p+2 +0x1.97ed012468bebp+0 +0x1.2295da95d38bp+2 +0x1.03ef25597dbdbp+1 +0x1.a8e6fe8e0c2f1p+0 +0x1.075564b3af4d2p+1 +-0x1.f6ca0bd88e38fp-1 +-0x1.45c57fd1010d9p-1 +-0x1.c3de1d196e1b6p-3 +0x1.e727d990df347p+0 +0x1.abe66fcda83c4p+0 +-0x1.8fa34697d969bp+2 +-0x1.70b3456c05701p+0 +-0x1.1d62c028cb85ep+3 +0x1.4f895536407a3p+3 +-0x1.2baea608eee34p+0 +0x1.c74a0bff306b8p+0 +0x1.5ab7632a6f26ap+2 +-0x1.8b71affd301adp+0 +0x1.e5599a8b8cd1ep-2 +-0x1.af914248cc951p+11 +0x1.28195507f9c4dp+2 +-0x1.aef2de29acc79p+2 +-0x1.e88a0473750c9p+2 +-0x1.15c3131754788p-4 +-0x1.c518dcf18236bp+1 +-0x1.73992aff0a5d1p-1 +0x1.a6465a06344abp+2 +0x1.6618c32434ccbp-6 +0x1.01d2e8a3a500ap+2 +0x1.4919b4e276d87p+1 +-0x1.87c7208ec9bc6p-1 +0x1.8412767aa5ef4p-4 +0x1.8e16c29571d0ap+1 +0x1.e0c19c809e47fp+0 +0x1.6efdb5caff4a6p+0 +0x1.77a86c33e5e95p+2 +-0x1.9a52b339c19cfp+0 +0x1.2decd2cd9416p+2 +0x1.efa199ef062efp-1 +-0x1.f7faebc197eaep-2 +-0x1.125dbd788c9cap+1 +-0x1.aa25da601877cp+0 +-0x1.0509b5b07db71p+2 +-0x1.0e841e3337126p+3 +0x1.14f309eb6b769p-5 +0x1.8371f68deafc4p+2 +-0x1.a6997c8b3e796p+1 +0x1.d0be99890c6e9p-2 +0x1.7a186fbd1e357p+1 +0x1.5c3bcf78d4d02p+2 +0x1.a8caecb3e7fadp+2 +0x1.4fabaf7e6189cp-1 +0x1.52e960044f204p+2 +0x1.6ef878c1f2b46p+0 +0x1.e6a8c18b02bdap+1 +-0x1.153cd769f58b7p+1 +0x1.7465e23891068p+2 +0x1.19c6a1a74d3e4p+1 +-0x1.f883f4df88f4p+14 +0x1.72168e15129acp+0 +-0x1.fad951936d185p+0 +-0x1.d3401a99664afp+0 +0x1.1d3854a4dd63cp+1 +0x1.5c0a66217aeedp+2 +-0x1.8183e6ca03bf9p-1 +0x1.e1e5edcac9c11p-1 +-0x1.2c76664058a25p+3 +0x1.31e48e976aa5bp+3 +-0x1.5b84d88d6d8cap+1 +0x1.ac7e36ab5270ep+1 +0x1.171c6cc2580eep+1 +0x1.b3819456344ccp-6 +-0x1.9c0b5679318b7p+1 +-0x1.16cd889ab0c83p+1 +-0x1.5a04d871e7321p+2 +-0x1.0cc51d8fdc638p+3 +-0x1.d5ed576faf2d7p+1 +-0x1.056de1685c7f9p+2 +-0x1.e09561f6f07afp+0 +0x1.0f01966df0ce1p+1 +0x1.7fa3f5c1e2d0fp+1 +0x1.fac5aff615326p+0 +-0x1.f77ae55a39fdcp+2 +-0x1.6f44f4289804fp+0 +-0x1.9d4e517275c6cp+2 +0x1.b9e49495dfc03p+15 +-0x1.58acb6a23ccabp+0 +-0x1.870639b088223p+1 +0x1.b943566f0562bp+1 +0x1.8637e6afd9338p+1 +-0x1.440ac7df7534ap+1 +0x1.61efb820047d3p+6 +-0x1.bf9b0d31fd77p+1 +0x1.657f4c07274eap-1 +-0x1.8f9cb6ef8f5d9p+2 +0x1.1399d879737eap+2 +0x1.a28951ff14a4ap+0 +-0x1.23308d3996291p+2 +-0x1.4c282aeb3391dp-1 +-0x1.d9f85505d3084p+1 +0x1.bf6c8f95b92bap+2 +-0x1.87bd20aebe54ap+0 +-0x1.fb5cc159a1499p+11 +0x1.472382401a8f2p+1 +0x1.924999011c9c8p+2 +0x1.23e2c30e9b519p+1 +-0x1.bf5faffd31951p+6 +-0x1.03af799e9b82fp+3 +-0x1.57e603fe4b41bp+0 +0x1.489f051554ca5p+2 +0x1.a3378da301d3dp+1 +0x1.127a2038f4704p+2 +-0x1.0412abc005f4ap+2 +-0x1.c1fab58e51be8p-1 +-0x1.534a358901675p+2 +-0x1.227ee94d806fbp+1 +-0x1.60bafada87854p+2 +-0x1.6c1b4ca75bc6dp+1 +-0x1.e55c2f64efc93p+1 +0x1.0136a1b3a2aeap-2 +-0x1.0ffdf80d90d07p+1 +-0x1.c65760470e8d6p+1 +-0x1.b2896d2a008dap-3 +0x1.574f6ae904203p-1 +0x1.324236a74d2b6p+2 +-0x1.a324414161549p+0 +0x1.9a3899e8b4ba4p+2 +-0x1.1171c9f576983p+2 +0x1.0f7b1d54df251p+1 +-0x1.6c053dd207a6fp+1 +-0x1.9b99b65989247p+0 +0x1.b2a6d71e32934p+2 +0x1.1f2bd5bca0b78p+0 +-0x1.f0cccc8b49969p+1 +-0x1.1732ff38c200cp+1 +-0x1.6b2755c442ff5p+1 +-0x1.187853da32e74p+2 +0x1.a799190ccccfep+0 +0x1.857357305ebd7p+1 +-0x1.0cfed51a5447p-3 +-0x1.4de6ec08a741ep+1 +0x1.51a0623691ca1p+1 +0x1.150623e621affp-1 +-0x1.5cfe06a01edd3p+2 +0x1.79170cd5592fbp-1 +0x1.03e7ab6aad67ep+2 +-0x1.1891985c0eb8ep+1 +0x1.b4c6bd3a6edd3p-1 +-0x1.9184c834df616p+1 +-0x1.896958966a197p+1 +0x1.5be3839f90121p+3 +-0x1.0a5d4e106277bp+2 +0x1.9a280716597f5p-2 +-0x1.52f6fb77a081ep+1 +0x1.3c8b1ee2b173ap+0 +0x1.2ea3366ede3adp-1 +0x1.e53f1280cde7ap+2 +0x1.957874fc6208ep+2 +-0x1.2e50c6467220dp+1 +0x1.f60821784192p+0 +0x1.b8e3e55ae80e2p+1 +0x1.288f642c27b4ap+2 +0x1.3ab579f457f48p+1 +0x1.00560e5c012c4p+2 +-0x1.018fda0958f47p+0 +-0x1.1663e5438ceecp-3 +-0x1.b38c79ed08931p+0 +-0x1.56593bb8e2b3ap+0 +-0x1.658a994e639bfp+2 +-0x1.0694d3009659dp+0 +-0x1.72fcdc678ef45p+2 +-0x1.d97293881bea4p+0 +-0x1.c49a1d675d476p+0 +-0x1.9fe2460948d08p+18 +-0x1.2f65397f9102fp+2 +-0x1.e1be1e7df4fc2p+0 +-0x1.6f8874375d431p+0 +-0x1.66bc19e242a4ap+14 +0x1.082ca583a3b4ap-2 +-0x1.a2bbbe7dac89cp+0 +-0x1.56d82280ca20ap+1 +-0x1.0dbeb9ef97955p+1 +-0x1.b94eb5428765bp+1 +-0x1.a9bf86e4ac70dp-1 +-0x1.0855827c83f4cp+0 +0x1.022d027737673p-1 +0x1.3063e7a806101p+3 +0x1.eab3b18ac0494p+2 +0x1.e5f194cc1e1a8p+1 +0x1.2d3fb992a5babp+13 +0x1.e69e9354c1529p-1 +0x1.545416ffbb03bp+1 +-0x1.b5e40f88452abp+1 +-0x1.68c7d14330b2ap-1 +0x1.7ffc77ca165dcp-2 +0x1.a668c8ebd61b4p+2 +0x1.0b28f10ea5b09p+4 +0x1.4335046c074d7p+2 +0x1.685124b5d8a51p+3 +0x1.4745e3eac7353p+1 +-0x1.69574690ea7c3p+0 +-0x1.c3d85c17853dbp+2 +0x1.2ca545525be9ap+2 +-0x1.5e28ce7affeb4p+0 +-0x1.92bfba1bac60bp+1 +0x1.97f2a53c69f16p+0 +0x1.282c0d8843656p+1 +0x1.2e83ef4ac8dd2p-5 +-0x1.e1a4876dd3166p-2 +-0x1.95bdb29008dc8p-1 +0x1.6600fe4a53856p+2 +0x1.2e1d9bf5b3951p-2 +-0x1.70e9ea952a19dp-1 +-0x1.d20f199dd9577p+1 +-0x1.c22c62447cc81p+0 +0x1.5ede8b7bf60dbp+0 +-0x1.ddccc5653648fp+0 +-0x1.37b3b1cce6cd7p+1 +0x1.293dcc95484d4p+1 +0x1.a0908aa30e4b1p+1 +-0x1.19e1718e6114cp+1 +-0x1.15879faff760cp+2 +0x1.04d7bd103c7bcp+2 +0x1.a9bfcf61ab5aap-1 +0x1.7ffbcf941d617p+1 +-0x1.60433564bde97p+0 +0x1.d302b99da1d41p+10 +0x1.0ac26b5b6b26ap-1 +-0x1.2f2bf3e135d94p+2 +0x1.3193cd584a61p-1 +0x1.44e9cf1156e06p+2 +-0x1.e43e30a92a587p+2 +-0x1.28e91fbfa691ap+1 +-0x1.7353a3cf17f5cp+1 +-0x1.10a858f300482p+2 +0x1.32f94c36ff37p-3 +0x1.f9f83415242ddp-2 +0x1.9757166028a0bp+0 +0x1.1d7c012c6d9acp+2 +-0x1.598ebd48514bdp+4 +-0x1.5d11d00438ecep+1 +-0x1.2747d944042adp+0 +0x1.7f675e4cdfdafp+2 +-0x1.25e7be689bf3bp+3 +0x1.2ab5068d0da45p+1 +-0x1.b5d0f4e5854c2p-1 +-0x1.6c1508a245409p-1 +-0x1.cee6ebe8cfb3dp+0 +0x1.07e3d5abaf2c2p+3 +-0x1.c45815dd1e558p+2 +-0x1.30859211b85f3p+2 +0x1.ab0d770f9960dp+0 +0x1.b383e5d3bf694p+1 +0x1.5da5ec4458468p+1 +-0x1.ae05752dce3bep+1 +0x1.4f48d390d74f4p+1 +-0x1.880168a9d8bf5p-1 +-0x1.87add861f8988p+2 +-0x1.14db9a7dcab57p+1 +0x1.47c0301aa6b84p+0 +-0x1.2b02155d9aee3p+2 +-0x1.7bfb0c81ab8cdp-3 +-0x1.0c23e578a36c6p+2 +-0x1.157749f322387p+1 +-0x1.7ac4335775a1cp-1 +0x1.c550fc3c78769p+2 +0x1.83d7cdfe37293p+2 +0x1.0175d3d989f64p+3 +-0x1.2212fa987b93ep-1 +0x1.217f3df9fc083p+2 +-0x1.cd855b8fe86fdp+0 +0x1.ccea5a54d87efp+0 +0x1.558402d1b1d97p+1 +-0x1.8ab1c2c68d04fp+2 +-0x1.8098471a13c85p-1 +-0x1.0d8638af787acp+15 +0x1.305104b60c029p+3 +0x1.eff682c003408p+1 +-0x1.5afb1632fb37ap+2 +0x1.1e33bf0ab3d29p+2 +-0x1.5376544a33b7dp+8 +0x1.2a89ddee85669p+0 +-0x1.1674f3ba7da18p+2 +-0x1.2284f100bccdcp-4 +-0x1.cf1dd973f1609p+0 +0x1.b3a7904f392eep+1 +0x1.46833328fbc48p+0 +0x1.190e33f3fa595p+1 +0x1.2509eb20bfd81p-1 +0x1.7a11f69b6a7d4p+1 +-0x1.ce345c782f5b6p-4 +-0x1.203b3b982e85ap+2 +-0x1.19cab5f793ac7p+10 +0x1.963b6e19ba199p+1 +-0x1.e1bdc5dcc038bp+1 +0x1.4d96d7ad0daffp+2 +-0x1.b92d7f9c9dbcep+0 +0x1.e2caa293e9eecp+1 +0x1.f8baf1c0ea3dep-2 +-0x1.02dc134bc493p+3 +-0x1.36dba0a97151bp+5 +0x1.612d64e416439p+14 +0x1.5e37a9908f7a9p+1 +-0x1.17bda5aad3d64p+17 +-0x1.19840a3a45406p+2 +0x1.1959dfefb58f7p+1 +0x1.52bed32f75b94p+2 +0x1.ddc3415bfd4bap+6 +0x1.eee9334cdd0ddp+0 +0x1.203d41ad61271p-1 +0x1.90b58e66122bdp+2 +-0x1.370579624a655p+1 +-0x1.b2a805a509c18p+2 +0x1.e67ccdb8eadfcp+2 +-0x1.3c67a45675499p+2 +-0x1.bfe3aa0e71bb2p+1 +0x1.35cebbc94eab7p+2 +0x1.0422cc7ae80c9p+2 +-0x1.60be748cc1763p+1 +0x1.035ceb7539913p+1 +0x1.7f99fcedf4bb1p+0 +-0x1.6f9c5ee90d57fp+2 +-0x1.845438659ae53p+2 +-0x1.127e6dca38c33p+0 +0x1.4cfddd6b8cbe6p+2 +-0x1.1d4bd6ad50359p+2 +0x1.6a88e84e144c1p+1 +0x1.60d999f27bbc1p+7 +-0x1.3b15ef7442557p-1 +0x1.4e93ff7351fb7p-2 +-0x1.8afd23d8767ebp-1 +-0x1.80a2820b8f653p+1 +0x1.59afd0e87bb7p+17 +-0x1.1f50c3eb06578p+1 +0x1.d420b1a766c3fp-1 +-0x1.1fb62164017abp+0 +0x1.7df5acaa32cddp+1 +0x1.6eb4e78ecc57cp-1 +-0x1.1194fe9aa3be8p+2 +0x1.13a325cf7b8cep+1 +0x1.e7069ccf67267p+2 +-0x1.89a242daa144dp+1 +-0x1.10750199c5d77p+2 +-0x1.fb0a9458e1e58p+1 +-0x1.f37b9d7b69b5fp+2 +-0x1.55c000fc49842p+2 +0x1.12ed7980f7439p+0 +0x1.cd24b3b1ef227p+0 +0x1.17088f192f0f9p+2 +0x1.90a1fc58a5b9bp+1 +0x1.88f71a896832fp+0 +-0x1.0e428a379b193p-2 +-0x1.9a536e9c8e83ap+0 +-0x1.f8c907f8f58dap+1 +0x1.40c9a200f618p-4 +0x1.bb0f583139801p+2 +0x1.4f096c4aaccfep+2 +-0x1.8639ac259ec7p-1 +-0x1.ddc002a62d79ap-5 +0x1.15ea75f9bba9bp+2 +-0x1.a4314722e80c4p+2 +0x1.3085c6708f055p+3 +-0x1.3a122c32d2387p+1 +-0x1.8466c7f39e1a8p+1 +-0x1.07a3a25046ff7p+1 +-0x1.64906f355b5f5p+2 +-0x1.b6cfc87ad211ap+0 +0x1.a9f23e8a04957p+1 +0x1.8f8861cd0df53p+1 +-0x1.0520d99bed6ddp+1 +-0x1.fd38e376c26b9p+1 +0x1.4c6ede7af2ee9p+15 +-0x1.a17681ee75826p+2 +-0x1.ec6227dfc627fp+14 +-0x1.8824d10bf8adfp+2 +0x1.100b8d5562582p-1 +-0x1.83039f5c89f39p+2 +-0x1.32ae3bd745592p-1 +0x1.20cb3b1fd30d4p+2 +0x1.b455d2d933468p+0 +0x1.321f6a0b81c7cp+1 +-0x1.d72368b9f962cp+2 +-0x1.38e87e0872868p+17 +-0x1.e802ac8385caap+1 +-0x1.283a262642c57p+0 +-0x1.4683fc0789bb8p-1 +-0x1.0979236fd2b26p+2 +0x1.6fae44dc0134ap-2 +-0x1.66857c081da8dp-5 +-0x1.1808d0a3ed1b8p+2 +-0x1.88bbc40edea65p+1 +-0x1.22e88378bebeap-1 +0x1.ce560cf6fded2p-4 +0x1.fe493528bc8f6p+0 +-0x1.e70f7ac0dd117p+1 +-0x1.a225717175c68p+2 +0x1.93bb64437011dp+1 +-0x1.26ee7d4949696p+2 +-0x1.86e89fac76f85p+2 +0x1.324cac38058e4p+2 +0x1.1e2ab2a20dec6p+1 +-0x1.23a5753b9b995p+1 +-0x1.24f1448e6220bp+1 +-0x1.4b31f7fd15c83p-1 +0x1.16c554c0c7c7bp+1 diff --git a/sysdeps/x86_64/fpu/libmvec-atanf-inputs b/sysdeps/x86_64/fpu/libmvec-atanf-inputs new file mode 100644 index 0000000000..49b7117d52 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-atanf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-3.4e+38, 3.4e+38), mean = 0, standard deviation = 4 +-0x1.110038p+0 +-0x1.1f03acp+1 +-0x1.88539ap+2 +-0x1.410132p+1 +-0x1.3b7fb8p+0 +0x1.029deep+2 +0x1.77fde2p+1 +0x1.16a53ep+3 +0x1.35a336p+1 +-0x1.f85d78p+0 +-0x1.75bd8cp+2 +-0x1.360248p+2 +0x1.1cb9fap+3 +-0x1.cc0c94p-1 +-0x1.b06432p+1 +0x1.e5f318p+2 +-0x1.2bbc6p+0 +-0x1.b20d6p-6 +0x1.1ee5aap+1 +0x1.0d39dap+2 +-0x1.f35ecap+0 +-0x1.90e89ap+1 +-0x1.8718b2p-1 +0x1.e1a884p+1 +-0x1.bb8414p+0 +0x1.66748ep+2 +-0x1.03ac94p+2 +-0x1.2777cp+0 +0x1.1d20fap+2 +-0x1.0d6598p+2 +0x1.948e12p-1 +0x1.a2f914p+1 +0x1.8dfc3cp-1 +-0x1.45c1b4p+9 +0x1.729198p-1 +0x1.0d76b4p-2 +-0x1.8ba0cp+1 +-0x1.657578p+0 +-0x1.420738p+0 +0x1.254b4cp-1 +-0x1.3c18ep-2 +0x1.e26402p+1 +-0x1.16b4ecp+2 +0x1.919dfep+0 +0x1.51a8f6p-4 +-0x1.dddb4p+8 +-0x1.7ed13cp-1 +0x1.7c78e8p+1 +-0x1.371df6p+2 +-0x1.47b6c4p+0 +0x1.c0eb16p+1 +-0x1.04144p+2 +0x1.747d82p+1 +-0x1.0e3c3ap+3 +-0x1.9223e2p+1 +0x1.2c285ap+0 +-0x1.e100ap+1 +0x1.a994cp+1 +0x1.5642c6p+2 +0x1.886a1cp-1 +0x1.10acd8p+4 +-0x1.7e95d8p-4 +0x1.f4422p+5 +-0x1.6d0abp+2 +0x1.270ad4p+0 +0x1.cb814cp+1 +0x1.ef5984p-1 +0x1.4511a4p-1 +0x1.c3236cp-1 +-0x1.b5663ap-3 +0x1.f9775cp+1 +-0x1.fbe004p+1 +0x1.ec4068p-2 +0x1.0af7c2p+1 +-0x1.18e6b8p+1 +0x1.2fc06ap+0 +-0x1.0df60cp+1 +-0x1.52542p+18 +-0x1.f9beaap-2 +-0x1.a8a18cp-2 +0x1.6d6274p+18 +0x1.8035aep-2 +0x1.6e5336p+1 +-0x1.202ed6p+2 +-0x1.958d6ep+0 +-0x1.38e054p+5 +-0x1.ae79ecp+0 +-0x1.08e936p+0 +0x1.fa1d12p+1 +0x1.e0e75p+1 +0x1.18408ap+15 +0x1.1e5f3ap+9 +-0x1.37f81ap+1 +-0x1.d1b82p-2 +-0x1.8d8c76p+2 +0x1.c753b4p+2 +0x1.59d5bp-1 +-0x1.ea04b4p-2 +0x1.29c338p-3 +-0x1.c2ee5ep+1 +0x1.cee3cap+2 +-0x1.b5e1a6p+1 +-0x1.42abb8p+1 +0x1.1d8892p+2 +0x1.80ec7cp+0 +0x1.409d1cp-3 +0x1.9c79dap+1 +-0x1.253082p-2 +-0x1.a40112p+0 +-0x1.77943p+1 +0x1.77052ap+0 +0x1.aa7ee8p+2 +-0x1.f6ee5cp-4 +0x1.a39a2ap+1 +0x1.3221b8p+1 +0x1.5ff5bcp+1 +-0x1.4613aap-2 +-0x1.6991a4p+2 +-0x1.1071cap+2 +-0x1.055f3ap+2 +0x1.520ed8p+1 +-0x1.6e1544p+2 +0x1.e819p+2 +-0x1.8b8cb4p+1 +-0x1.a9f64ap+1 +0x1.88e06cp+0 +0x1.750ec6p+1 +-0x1.0dd8acp+1 +-0x1.99309ep+0 +-0x1.08b1bcp+0 +0x1.b93248p+10 +0x1.0a5b3ep+0 +0x1.273d5cp+3 +-0x1.27eeacp+2 +0x1.398226p+1 +0x1.56fe6p+2 +-0x1.f11f36p+2 +0x1.9aca96p+0 +-0x1.8f8d42p+1 +-0x1.f49e6ep-1 +-0x1.7a129ep-6 +-0x1.1ae76cp+1 +0x1.087a5ap-2 +0x1.6aff86p+1 +-0x1.62fa8ap+0 +0x1.b66d4cp+0 +0x1.b32cf8p+0 +-0x1.db353cp+14 +-0x1.ac60dap+1 +-0x1.fbdc48p-1 +0x1.ce8d8ap+0 +-0x1.f0575ep+0 +0x1.248082p+2 +-0x1.4b02ccp-2 +-0x1.f980a2p+1 +-0x1.d7c148p+1 +-0x1.19379ep-2 +0x1.3871bcp+19 +-0x1.ab9498p+0 +0x1.0e6daep+1 +-0x1.45599cp+2 +-0x1.a1d652p+2 +0x1.0a9a08p+1 +-0x1.380656p+1 +-0x1.4723eap+2 +0x1.82ba88p+2 +-0x1.be10fep-1 +0x1.6e9ab6p-8 +0x1.ac8ebap+2 +0x1.72f43ap-1 +0x1.647a3p-1 +-0x1.6a098ep-1 +-0x1.535b6p-3 +0x1.9b2178p+0 +-0x1.1ac876p-2 +-0x1.d28fecp+0 +0x1.d1ae8cp+0 +-0x1.4314fcp-1 +-0x1.3d2ddcp+1 +-0x1.91560cp-1 +-0x1.2064bep+3 +-0x1.8f0d5ap+1 +0x1.81850ap+3 +-0x1.f7d0d6p+0 +-0x1.f23fd4p+1 +-0x1.75a606p-3 +-0x1.d253dcp+1 +-0x1.532846p+1 +0x1.ce3576p+1 +-0x1.8652cep+0 +-0x1.9b8efp+2 +0x1.7d9c66p+2 +0x1.b96c3ep+2 +-0x1.f953fcp+1 +-0x1.eb7058p+3 +-0x1.a1e7cp+0 +0x1.46cfc2p+2 +-0x1.ae2452p+0 +0x1.6993ap+2 +0x1.13306cp+0 +0x1.61510cp-3 +-0x1.1a2036p+3 +-0x1.64ad7ap+1 +0x1.bc0558p-2 +0x1.3c093ep-2 +0x1.4f8ea8p+1 +-0x1.55af0ap+3 +0x1.5af1d2p+0 +-0x1.0de628p+1 +0x1.99ce9ep+2 +-0x1.f3ce28p+1 +-0x1.2dcbccp+2 +0x1.1adafep+1 +0x1.853c9ap-1 +-0x1.00b1dap-3 +-0x1.12d9eap+2 +-0x1.c05a7cp+2 +-0x1.df87d8p+2 +0x1.3e98c6p+1 +0x1.560246p+2 +-0x1.c6b774p+1 +-0x1.9fdb8ep+0 +0x1.efefd8p+1 +0x1.c1a132p-2 +0x1.30ea3ap+2 +-0x1.a74dd4p+1 +0x1.79ab52p-4 +0x1.d28bdp+1 +-0x1.dd0ae6p+2 +0x1.086058p+2 +-0x1.3d802ap+0 +-0x1.11859p+1 +0x1.2aa162p+0 +-0x1.51a2fep+2 +0x1.6d4ca2p+2 +-0x1.086472p+1 +0x1.73c0d4p-1 +-0x1.460bb8p+2 +-0x1.96b5c2p+1 +0x1.002088p+1 +-0x1.079c68p+2 +-0x1.a490fep-2 +0x1.3a317p-1 +0x1.b3009ap-1 +-0x1.8be63p+2 +0x1.c70c48p-1 +0x1.6ec3p+1 +-0x1.d42bdap-3 +0x1.542a48p+1 +-0x1.68aadep+1 +0x1.0719ecp+1 +0x1.5a5bfp+1 +-0x1.ea3776p+12 +0x1.6d1c9cp+14 +0x1.65e234p+1 +0x1.81eea2p+1 +-0x1.e09ae8p+0 +0x1.88cff6p+0 +-0x1.38a36ep+18 +0x1.b0dc52p+0 +-0x1.949d08p-1 +0x1.2054bep+2 +-0x1.1c5a7p+2 +0x1.682eap+16 +0x1.c9d5bep+3 +0x1.ede04p+1 +0x1.5dd9cep+2 +-0x1.ee86a4p+0 +0x1.430682p+1 +-0x1.b239cep+0 +-0x1.b155c4p+2 +0x1.110594p+1 +-0x1.940484p+1 +-0x1.a03c2cp+8 +0x1.2ab818p+0 +-0x1.bb57eep-6 +0x1.2c5faap+0 +-0x1.105b2ap+0 +0x1.ad21b6p+2 +0x1.f59118p+1 +0x1.942c72p+0 +-0x1.73fc06p+0 +0x1.19a064p+2 +0x1.f4409ap-1 +-0x1.6ea822p+2 +0x1.05326p-1 +-0x1.30227ap+0 +0x1.69b302p-2 +-0x1.a95e1cp+1 +0x1.2ff44cp+1 +0x1.8803b4p+1 +0x1.e33526p+1 +-0x1.9d41ap+7 +-0x1.a15cdap-1 +-0x1.ad8b0ep+2 +-0x1.9c52c8p+2 +0x1.1e855ap-1 +0x1.bb99aep+0 +-0x1.1dae22p+2 +-0x1.9efa1cp+2 +0x1.7f4124p+2 +0x1.a0ae02p+0 +0x1.6c8868p+1 +0x1.7388f8p+15 +0x1.1a07e2p+2 +0x1.50e958p+2 +-0x1.c15efp+10 +0x1.62d0a6p+2 +-0x1.641802p-2 +-0x1.a1d7bcp+3 +0x1.8480d8p+15 +0x1.a5562ap+2 +-0x1.af841cp-1 +-0x1.6538b6p+2 +-0x1.29feb6p+1 +0x1.6071bcp+3 +0x1.3a75b2p+3 +0x1.501b28p+1 +0x1.cab884p+0 +-0x1.a5e6cep+11 +-0x1.94992p+2 +-0x1.4bf214p+1 +-0x1.f4aaa8p+1 +-0x1.c904a4p+1 +-0x1.85137ap+0 +-0x1.3253d2p+1 +-0x1.7e5a94p+1 +-0x1.ba8b24p+0 +-0x1.e32c5cp+2 +-0x1.f7a818p+0 +0x1.d79048p-1 +-0x1.e1ee3cp+1 +0x1.8a59e6p+1 +0x1.72b31ap+0 +-0x1.f0a79p+0 +-0x1.ec9f64p+0 +-0x1.ef4d44p+1 +-0x1.45030cp+0 +-0x1.3de03p+2 +-0x1.ae4ee8p+0 +-0x1.2a2442p+2 +0x1.1e09c8p-6 +-0x1.522542p+14 +0x1.0b13ecp+0 +0x1.5b2206p+1 +-0x1.c752f2p-1 +0x1.3d151p+1 +0x1.17da3p+1 +-0x1.266a0ap+1 +0x1.cfaceap+5 +-0x1.347da4p+0 +-0x1.39b5p-2 +0x1.b9a576p+1 +-0x1.721816p+1 +0x1.4139fep+2 +0x1.0b6028p+1 +-0x1.9cf32p+0 +0x1.4e858p+2 +0x1.b07b4ep-1 +0x1.11702p-1 +-0x1.3462ep+12 +0x1.f19c1p+4 +0x1.a9ca3ap+1 +-0x1.5506bcp+0 +0x1.7d3bacp-1 +0x1.ba237ep+0 +-0x1.9d3fecp+1 +0x1.04414ep+1 +-0x1.1ab066p+1 +0x1.261c9ap+7 +-0x1.f49bdp+5 +-0x1.bcfc0cp-2 +0x1.010d86p+0 +-0x1.7ff508p+0 +-0x1.4873b6p+1 +0x1.3ee03ep+2 +0x1.44bf16p+0 +-0x1.dc7bfep-1 +0x1.4b2044p+0 +0x1.84fe36p-1 +0x1.cd7622p+2 +0x1.1b1d3cp+2 +-0x1.9fcae6p+2 +-0x1.0a3b58p+1 +-0x1.2abc8ap+2 +0x1.8c4d68p-1 +0x1.0a5afep+2 +0x1.4fd2ccp-1 +-0x1.d0248cp+12 +0x1.8d885ep+2 +0x1.59ea52p+2 +0x1.0ec88cp-3 +-0x1.8a5d84p+2 +0x1.1a283ap-2 +0x1.829e76p+1 +-0x1.c94902p+4 +-0x1.013626p+2 +-0x1.d6aa46p+1 +0x1.1ae55cp+0 +-0x1.6d2bcp+0 +-0x1.2f894ap+1 +-0x1.8cccaap+3 +0x1.a1847ap+0 +0x1.61b9fap+2 +-0x1.593af2p+0 +-0x1.6fcb36p+1 +-0x1.4274fcp+17 +0x1.55402ep-4 +-0x1.7758f8p+1 +-0x1.129ed6p+1 +0x1.47b15cp+0 +0x1.c37c38p-2 +-0x1.55e59cp+1 +0x1.15ab24p+0 +-0x1.5efb3p+2 +-0x1.c82246p+2 +-0x1.1ec106p+1 +-0x1.632d52p+2 +-0x1.3b380ep-1 +-0x1.d06a62p+2 +-0x1.648c7ep+3 +-0x1.e0c74ap+0 +0x1.3b45c2p+2 +0x1.9ac134p+2 +0x1.821b66p+0 +0x1.49d4a4p-2 +-0x1.9536fep-1 +-0x1.e45f7p+1 +0x1.f42e02p-3 +-0x1.1447c8p+0 +-0x1.3814cap+1 +-0x1.d29b58p+4 +-0x1.db96f4p+1 +0x1.b7e8d8p+1 +0x1.31f092p+1 +-0x1.23d39ap+2 +0x1.03f4f2p+8 +-0x1.d6e588p+1 +-0x1.51e8dp+0 +-0x1.076dp+2 +-0x1.5ce54p+0 +-0x1.03dbfcp+1 +0x1.02c32cp+2 +0x1.2900dep+1 +-0x1.2da058p+9 +-0x1.5d3804p+2 +0x1.7b1186p+2 +0x1.ff5246p-1 +0x1.0e03a4p+3 +-0x1.76a414p+1 +-0x1.1fffa4p-2 +0x1.9caea4p+0 +-0x1.793d42p-2 +0x1.5b0824p-1 +0x1.254968p-1 +0x1.eb12bp+2 +0x1.fe8536p-1 +0x1.b1e56ap+2 +0x1.345306p-1 +0x1.307c96p+2 +0x1.4d5cbap+1 +-0x1.b1937cp-1 +0x1.00f6b2p+10 +0x1.36171ep+1 +0x1.55b3e6p-3 +-0x1.1aa44ep+1 +-0x1.b0bd84p+1 +-0x1.f054c2p-3 +-0x1.81014cp+2 +-0x1.4bfc86p+7 +0x1.d0a074p-1 +0x1.41625cp-7 +-0x1.40f226p+1 +0x1.68f226p+0 +-0x1.17690ep+2 +-0x1.75fa5ep+1 +0x1.295642p-1 +0x1.988104p+0 +0x1.2b01b2p+2 +-0x1.0f4d72p-2 +-0x1.4b462p+1 +0x1.9e7c32p+2 +-0x1.a6f89ep+1 +0x1.f2082cp-2 +-0x1.dd839ap+1 +0x1.7fca08p+1 +-0x1.c3c488p+1 +-0x1.6e8538p+2 +0x1.d8ed1cp-2 +-0x1.ebd99ep+0 +0x1.fd966p+1 +-0x1.206c2p+2 +0x1.aee0d6p+2 +-0x1.35d52ep-1 +0x1.13223ap-1 +0x1.743898p+0 +-0x1.4bae88p+1 +-0x1.b15ab2p+1 +-0x1.9ce3b2p+2 +0x1.cef452p+2 +-0x1.f17318p+2 +-0x1.e58d0cp-4 +0x1.808becp+1 +0x1.07f0bp+2 +0x1.325fd4p+1 +-0x1.9faafap-2 +0x1.6104f8p+3 +-0x1.7807e4p+2 +0x1.297574p+0 +0x1.3b4588p+1 +0x1.c568a6p+1 +0x1.6caddep+3 +-0x1.69894ep+0 +-0x1.373078p-1 +0x1.135deep+1 +0x1.e1285ap-1 +0x1.4b80b4p+2 +0x1.2811c4p+1 +-0x1.690a7cp+11 +-0x1.ab8ce8p-1 +0x1.9d7e14p+2 +0x1.3737cep+2 +-0x1.63ffeep+1 +0x1.193db2p+7 +-0x1.d9b722p-1 +0x1.022adcp-2 +0x1.08a9p+3 +0x1.18ec28p-2 +-0x1.6afe7p+3 +0x1.147d5cp+1 +-0x1.81f8cep+1 +0x1.0f3818p+1 +-0x1.c6ff78p+1 +-0x1.66360cp+1 +-0x1.6791dcp+2 +-0x1.77c6ep+0 +0x1.45d5f6p+2 +0x1.268336p+2 +0x1.3a13ap+1 +-0x1.780cfp+0 +0x1.6128b2p+1 +-0x1.439a56p+2 +0x1.50b1dp+1 +-0x1.4aaf2ap+13 +0x1.0ae6ecp+1 +-0x1.51968p+0 +0x1.ee129ep+14 +0x1.e0a29p+2 +0x1.8cdcd4p-4 +0x1.ec9936p+1 +0x1.5317a2p+0 +0x1.51d70cp-1 +-0x1.50ba0ap+1 +0x1.013cecp+5 +-0x1.9996fap+1 +-0x1.61d00ep+2 +-0x1.3a3a26p+1 +0x1.2f54b2p+0 +-0x1.b4951cp+0 +0x1.220f6p+1 +0x1.09e96p+1 +-0x1.b1165ap+1 +-0x1.be5766p+2 +-0x1.411e54p-2 +0x1.32640ap+2 +-0x1.9d3da6p-1 +-0x1.26eaa4p+1 +-0x1.9657b2p+0 +0x1.25d18p+1 +0x1.faee42p+2 +0x1.2f194p+6 +0x1.9ed352p+0 +0x1.c24bc2p+1 +-0x1.c46c08p+1 +0x1.058fa8p+2 +0x1.074894p+1 +-0x1.2cb5d2p+2 +-0x1.7b022cp+2 +0x1.d971cep+1 +-0x1.8ec86ap-2 +-0x1.f72738p-1 +0x1.219fdep+0 +-0x1.565374p+3 +-0x1.f7898cp+3 +-0x1.3c9b4ap+0 +0x1.0adc7p+2 +0x1.c5a68p-1 +0x1.da8b2p+6 +0x1.d9d092p+1 +0x1.7d3d04p+0 +-0x1.479fcep+2 +0x1.ef3f7ap+0 +0x1.52dc56p+1 +0x1.152d96p+1 +-0x1.b93628p+1 +0x1.6f1702p+0 +-0x1.d76088p+2 +0x1.396904p+3 +-0x1.bb8d38p+0 +-0x1.bea7cap-1 +-0x1.56dbccp+0 +0x1.3ad31p+2 +0x1.9e0406p-3 +0x1.f80584p+0 +-0x1.54278cp+2 +0x1.37b24cp+0 +0x1.f77b1ap-4 +-0x1.7c43b4p-3 +0x1.10f4e2p+0 +-0x1.84c3d4p+0 +0x1.6536d4p+1 +-0x1.45c85ep+2 +0x1.8d0b58p+0 +-0x1.7bfe86p+2 +-0x1.028574p+2 +-0x1.266d42p-4 +-0x1.6f1e52p+2 +-0x1.b57398p+2 +-0x1.069008p+2 +0x1.951438p+2 +0x1.54640ep+1 +0x1.a2e70ep-2 +-0x1.4584eap-1 +0x1.598412p+1 +-0x1.3508e2p+2 +-0x1.df8c74p+2 +-0x1.d401bcp+1 +-0x1.20ff5ep+0 +0x1.ade08ep+0 +0x1.fb9154p-2 +0x1.a816fp+1 +-0x1.90a1d2p-9 +-0x1.6b755ap+1 +-0x1.54b09ap+1 +-0x1.53687ep+2 +0x1.0603b8p+17 +0x1.1c64acp-1 +-0x1.1cd93cp+0 +-0x1.d6676ep+0 +-0x1.b3376p+1 +-0x1.397f52p+0 +0x1.204f1ep+2 +-0x1.9d15f8p+2 +0x1.86b446p+0 +-0x1.3a978cp+2 +-0x1.299fc8p+2 +-0x1.a744b8p-3 +-0x1.bb2884p+0 +-0x1.0a9a78p+0 +0x1.aabbf2p+1 +-0x1.a112b6p+1 +0x1.3d09dcp+2 +0x1.2cb5e2p+2 +0x1.3cd7acp+0 +-0x1.f1399p+1 +0x1.88f07ep+2 +0x1.93179ep-2 +0x1.2bfc96p+3 +0x1.32d43cp+7 +0x1.335b32p+2 +-0x1.e24d82p+1 +-0x1.ebc294p+2 +0x1.4d8134p+1 +-0x1.e10c4p+0 +-0x1.62805p+1 +0x1.6d05cep+14 +-0x1.407afcp+2 +-0x1.c12b48p+0 +-0x1.7ef92ap-2 +-0x1.41cc22p+0 +-0x1.b4dc08p+1 +-0x1.b8c92ep+1 +-0x1.a4756cp+0 +-0x1.d7ea62p+2 +0x1.a45014p-2 +-0x1.3949p-2 +-0x1.f154e4p+2 +0x1.b57efp+1 +0x1.6e593ep+1 +-0x1.b3b2e6p+1 +0x1.20b848p-1 +-0x1.a7a9a2p+2 +-0x1.3edfeap-1 +0x1.04df46p+2 +-0x1.85c872p-1 +0x1.987aa6p+2 +-0x1.8d8ff4p-2 +-0x1.7bbe5p+0 +0x1.09b6ep+1 +0x1.6540eep+1 +0x1.a035a8p+4 +0x1.1ca918p+14 +-0x1.6139c4p-2 +-0x1.4f44bp-1 +-0x1.c87cf8p+2 +-0x1.625e9p+2 +-0x1.b994fap+1 +-0x1.d21a74p+2 +0x1.fb8fbcp+2 +0x1.4e0292p+1 +0x1.7bec5ap+1 +-0x1.22ade6p+2 +0x1.3ff0fcp+1 +0x1.acf446p-1 +-0x1.081e4cp+1 +-0x1.af18d2p-2 +-0x1.816382p+0 +-0x1.dbf7e6p+2 +-0x1.109eap+2 +0x1.2f89c6p+0 +-0x1.0525cep-1 +-0x1.1527b6p+0 +0x1.b3de52p+1 +-0x1.730858p+0 +0x1.5a10d6p+3 +-0x1.6d8996p+2 +0x1.34fc5ap+1 +-0x1.8704c8p+2 +0x1.d4182cp+17 +-0x1.4e2aacp+1 +0x1.0e842ap+0 +0x1.624156p+2 +0x1.50d6fep+1 +0x1.471f7p+0 +0x1.016aep-1 +-0x1.6baefcp+1 +-0x1.21c30ap+1 +0x1.62072ap-4 +-0x1.39b198p+1 +0x1.7f04c2p+0 +-0x1.168386p+2 +-0x1.c9fbccp+2 +0x1.1635f4p+1 +0x1.3ddefp-3 +-0x1.1ee2cep-3 +-0x1.6899a6p+1 +0x1.dc1aa4p-1 +-0x1.b601c4p-1 +0x1.a84624p+0 +-0x1.33c518p+1 +0x1.a67986p+1 +0x1.0a3882p+2 +0x1.06a6ap+0 +0x1.6bf6eap+0 +-0x1.84d9fp+2 +-0x1.6cf124p-1 +0x1.dcbcep+2 +0x1.3536fp+2 +0x1.cdd5ap+0 +-0x1.bfefecp+1 +-0x1.618704p+1 +-0x1.17cefcp+0 +0x1.67adb2p+2 +0x1.3a3954p+1 +-0x1.d038d4p-3 +0x1.36d7a8p+0 +0x1.e318b2p-2 +-0x1.3e982cp+2 +0x1.471aa2p+2 +-0x1.178b0ep+2 +-0x1.b5c338p+1 +-0x1.a52046p+1 +-0x1.d018ccp-3 +0x1.2cb34p+10 +0x1.e26ee4p+2 +0x1.1156cep+0 +0x1.a0a6aap+2 +-0x1.267fe2p+1 +-0x1.1988fap+0 +0x1.0b474ep+1 +-0x1.8fe198p+0 +-0x1.5fdfdap+2 +-0x1.943708p-4 +0x1.8d0838p+0 +0x1.8b693ap+2 +0x1.fd35a4p+2 +0x1.20e762p-2 +0x1.1338d4p+3 +-0x1.ea5206p+1 +-0x1.cd9f28p+0 +-0x1.1da77p+3 +-0x1.123ce4p+2 +-0x1.07274p+1 +0x1.fb389p-1 +-0x1.39b1fp+1 +-0x1.153f22p+3 +0x1.8dd608p+2 +0x1.c91194p+0 +-0x1.06ef9ep-1 +-0x1.f7e71ep-3 +-0x1.2bcc98p+0 +-0x1.c4bcf8p+13 +-0x1.263fecp+2 +-0x1.d0ae2ap+1 +0x1.bf14b6p-3 +0x1.d08ea4p-2 +-0x1.d899f6p+2 +-0x1.c8a996p+1 +-0x1.5587dcp+3 +-0x1.c510eep+1 +-0x1.18b784p+2 +0x1.71cc02p+1 +-0x1.64f178p+1 +0x1.23e878p+1 +-0x1.aec4fap-1 +0x1.30e846p+2 +-0x1.f9dee6p-4 +-0x1.24ba82p-1 +-0x1.9fe796p+0 +0x1.af099ep+2 +-0x1.43231ap+0 +0x1.15808p+2 +-0x1.dd8294p+1 +-0x1.29bfc2p-3 +0x1.5fafe6p+1 +-0x1.22b358p+1 +0x1.6651c6p-5 +0x1.e17a66p+1 +0x1.d3c68cp+0 +-0x1.56483ep-2 +0x1.f538f4p-1 +-0x1.7fb88ep+2 +0x1.74596ap-1 +0x1.90a7c4p+2 +-0x1.74067ap-1 +0x1.3902e8p+2 +0x1.359ad8p+0 +-0x1.14bb78p+3 +-0x1.d2bp+1 +0x1.f9f7f8p+0 +0x1.f4b9e2p-2 +0x1.18af72p+2 +0x1.2336b2p+3 +-0x1.aa7a9ep+1 +0x1.23d8f2p+2 +0x1.066028p+1 +-0x1.7154c8p+8 +0x1.0787d6p+2 +-0x1.9b00fep-2 +0x1.fe98dep+0 +0x1.5ce4dap+2 +0x1.54b8p+0 +0x1.7631f2p+1 +-0x1.56d6cep+2 +0x1.e93e02p+2 +-0x1.508c64p+1 +-0x1.9421eep+4 +-0x1.c205f2p+2 +-0x1.4665ecp+3 +-0x1.95aab2p+0 +-0x1.0cb91ep+2 +0x1.517e3p+0 +-0x1.bf61d2p+1 +-0x1.457ed6p+2 +-0x1.37c8c2p+1 +-0x1.002cb2p+2 +-0x1.07c27ap+1 +0x1.274168p+1 +0x1.38f41ep+2 +-0x1.81ce3ap+1 +-0x1.d73dd2p-6 +0x1.1be246p+2 +0x1.6366c2p+18 +0x1.231018p+1 +0x1.23500ep+0 +0x1.19c6bep+0 +-0x1.5e77f6p+3 +-0x1.a6520ep+0 +-0x1.fad8dcp-1 +-0x1.520906p+0 +-0x1.77399ap+0 +0x1.14293cp+1 +0x1.50f4ap+1 +0x1.365732p+2 +-0x1.3469c8p-5 +0x1.b1cb36p+0 +0x1.0c8066p+0 +0x1.53f73p+1 +-0x1.ba6bf4p+2 +-0x1.142e22p-2 +0x1.240138p+0 +0x1.9bb95p+0 +-0x1.5a932ep+0 +0x1.ba4fb4p+1 +-0x1.223d3p+3 +-0x1.27b8aep-1 +-0x1.a8e546p-2 +0x1.01d11p+1 +-0x1.93f7d2p-4 +0x1.7fcddep+1 +0x1.9a1d8ep+2 +0x1.036464p+2 +0x1.b0e7p-1 +0x1.02db3p+3 +0x1.6b8aap+1 +0x1.2fa006p+2 +-0x1.d82328p+1 +-0x1.9d410ap+2 +-0x1.de77eap-3 +-0x1.149422p+9 +-0x1.cb4adcp-2 +-0x1.3f3ebcp+2 +0x1.2cd10cp+2 +-0x1.6f6f24p-3 +0x1.ed8106p-1 +-0x1.895068p+1 +0x1.00c424p+2 +-0x1.6b352ep-1 +-0x1.08fb74p+2 +0x1.26b1b2p+2 +0x1.5f5b98p+0 +0x1.5767d4p+2 +0x1.276b56p+2 +0x1.2bc056p+2 +0x1.054068p+2 +0x1.e8fb5ep-2 +-0x1.7950f2p+0 +0x1.61c78ep+2 +-0x1.3da23ap+2 +0x1.b309d2p+2 +0x1.b3d51ap-2 +0x1.c7101cp+0 +-0x1.17cc8p+3 +0x1.5e9e68p+0 +-0x1.7b88bap+2 +-0x1.bc3d1p+0 +0x1.fe1772p+2 +-0x1.454e04p-2 +-0x1.203ea8p-3 +0x1.0b63p+1 +0x1.0a3696p+0 +0x1.b69cbep-3 +0x1.e4a2ap+0 +-0x1.fc1de8p-2 +0x1.9c5f0cp+1 +-0x1.c662e4p-1 +0x1.cb775ap+0 +-0x1.61d9a4p+0 +-0x1.1450cep+2 +-0x1.e77354p+1 +-0x1.a191c6p-1 +-0x1.3b096ap+2 +-0x1.573978p-2 +0x1.974ac4p-3 +-0x1.19e942p+2 +-0x1.60de18p+0 +-0x1.787726p+0 +-0x1.fea152p-3 +-0x1.c22308p-1 +0x1.288e8p+0 +-0x1.18dcfep+3 +-0x1.e322c8p+0 +-0x1.11322ep+1 +-0x1.34b88ap+2 +0x1.52f128p+1 +0x1.119c1p+2 +-0x1.69e2d2p-5 +0x1.1feb9ap+2 +0x1.61fedap+0 +-0x1.8f798ap+2 +-0x1.507656p-2 +0x1.969822p+0 +-0x1.4b524ep-1 +-0x1.321ac4p-4 +-0x1.6ebfaep+2 +0x1.e1d78cp+2 +-0x1.1208eep+1 +0x1.50da0ap+1 +0x1.095648p+2 +0x1.d7c7b6p+2 +-0x1.d0964cp+1 +0x1.2e6518p+1 +-0x1.c0bdc4p+1 +0x1.1695dp+0 +0x1.0454b4p+1 +0x1.4ccceap+0 +-0x1.1db5fap-2 +-0x1.786a46p+2 +0x1.990da6p+1 +-0x1.f317d6p+4 +0x1.4f6fe8p+1 +-0x1.d20a7ap+1 +-0x1.99dd6p+0 +0x1.e5340cp+1 +0x1.a5b96ap+2 +-0x1.928d3cp+0 +0x1.2e3152p+0 +0x1.513136p+1 +0x1.0222cap+1 +-0x1.c39996p+6 +-0x1.ec6732p-1 +0x1.0523dep+1 +-0x1.3a3f7cp+2 +0x1.5ebaf6p+2 +0x1.224768p+2 +-0x1.1e90c4p+3 +-0x1.fedbaap+1 +-0x1.02282p+3 +-0x1.7e0754p+11 +0x1.5e371cp+10 +-0x1.e2fa34p+2 +-0x1.000ccp+0 +-0x1.16afe8p+2 +0x1.5d829ap+1 +-0x1.582e24p+2 +-0x1.65ffe8p+0 +-0x1.07b006p+2 +-0x1.8a79aap+2 +-0x1.362ff8p+2 +0x1.5a2a56p+1 +-0x1.ad62d6p+0 +0x1.43efdap-2 +-0x1.121deap+0 +-0x1.68e8ecp+0 +-0x1.4737a8p+1 +0x1.2e6986p+12 +0x1.d3725p-1 +-0x1.d01bfap+1 +-0x1.d040bp+1 +-0x1.d96b68p+14 +-0x1.23d4f4p+3 +0x1.82c22ep+9 +0x1.8733f8p+2 +0x1.bc26f6p+1 +0x1.054894p+6 +-0x1.c049b6p-4 +-0x1.fec492p+0 +0x1.7f7968p+2 +-0x1.1dd896p+1 +-0x1.a9ae64p+1 +-0x1.8077dep+2 +-0x1.1e7b08p+3 +0x1.235396p+1 +-0x1.c87d1p-2 +-0x1.d320dap+0 +0x1.03b144p+1 +0x1.7a3848p+0 +0x1.242e1ep+2 +0x1.b7936ap+0 +-0x1.4f848cp+1 +-0x1.0e20dcp+2 +-0x1.c14bcp+2 +-0x1.5f1d22p+5 +0x1.a4476p+2 +0x1.d225c2p-1 +0x1.21c166p+0 +0x1.235af8p+1 +-0x1.1b58bap+1 +-0x1.58b5e6p+0 +0x1.dc72e4p+2 +-0x1.de7f64p+1 +0x1.76a74ep-1 +-0x1.b2a272p+0 +-0x1.d78d2ap+0 +-0x1.d3a276p+1 +0x1.5d8ba8p-2 +0x1.492d76p+9 +-0x1.22ebdcp+2 +0x1.78e76p+0 +-0x1.991118p+1 +0x1.0855c4p+2 +-0x1.36a24ap+1 +-0x1.2510e8p+2 +-0x1.0d06dep+0 +-0x1.c765eep+11 +0x1.afd89cp-1 +-0x1.29809ep+1 +0x1.aaf702p+2 +0x1.9dcb1p-2 +0x1.5f3cc8p+1 +0x1.4ba3a6p+2 +-0x1.6d9b24p-2 +0x1.a3ea74p+1 +0x1.207bc6p-1 +-0x1.fe6d08p+1 +0x1.1a6974p+1 +0x1.d70e4ap+1 +0x1.6f4598p+2 +-0x1.0c62a6p+0 +0x1.d820cap+2 +-0x1.71efdcp+1 +-0x1.30841ap+1 +0x1.70f534p+0 +-0x1.18de14p+6 +0x1.d6ae62p+2 +0x1.f196bcp+1 +-0x1.41d18ep+3 +-0x1.762a84p+2 +0x1.d63c0ep+1 +0x1.f22036p+2 +-0x1.f1afc8p+1 +-0x1.d775dp+0 +0x1.a217aap+2 +-0x1.643dcp+14 +0x1.7d3ed6p+1 +-0x1.e87ddap+1 +-0x1.9ed7a2p+1 +-0x1.5be994p+2 +-0x1.9df17ep-1 +-0x1.4d8beap+2 +-0x1.dca98p+9 +-0x1.cd544cp+0 +-0x1.297dfap+2 +-0x1.72ed2p+1 +0x1.351bfep-1 +-0x1.7a6164p+1 +0x1.524c22p+1 +-0x1.0a74b4p+2 +0x1.1f939p+1 +0x1.21e258p+0 +0x1.7f5a82p+1 +-0x1.0326ep+1 +0x1.3dbaa2p+0 +0x1.c7e528p-1 +0x1.5e1d8ep-5 +-0x1.d7ebf6p+1 +0x1.9097b6p+1 +0x1.210e8p+8 +-0x1.fd2e5p-2 +0x1.34111cp+2 +-0x1.320bb8p+1 +0x1.c3d3cep-1 +0x1.d68baep-4 +0x1.d5fbdap+1 +0x1.774752p+2 +-0x1.a3adc4p+2 +-0x1.c7e54ap+0 +-0x1.1872bap+0 +-0x1.e39d88p+1 +0x1.b7553p+2 +-0x1.db9718p-1 +-0x1.7e4a4ap+0 +-0x1.ca0c48p+0 +-0x1.140942p+0 +-0x1.b89a4ep+2 +-0x1.047d92p-2 +-0x1.1fca22p+2 +0x1.f76c26p+7 +0x1.0ea7cp+2 +0x1.c6c844p+1 +0x1.603424p+2 +-0x1.a5ffd2p+0 +0x1.ab8658p+7 +0x1.125b5cp+2 +0x1.90738cp+0 +0x1.d921bp+2 +-0x1.b15416p+2 +0x1.44313ap+2 +0x1.f07062p+2 +-0x1.46944p+0 +0x1.52ed3ap+14 +-0x1.6c8e2p+2 +0x1.597e7cp+2 +0x1.f53812p+11 +-0x1.7b4e54p-1 +-0x1.47ffa4p+2 +0x1.5c496ep+12 +0x1.260286p+1 +0x1.686e96p+2 +0x1.710bd6p+2 +0x1.55e84p+2 +-0x1.43ffa8p+0 +-0x1.69b8c8p+1 +0x1.c0c0d8p+2 +0x1.eac24ap+1 +0x1.e064cp+2 +-0x1.c5a6f6p+2 +0x1.7d090ap+3 +-0x1.51054cp-1 +0x1.5e0ad8p+13 +0x1.064c9p+3 +0x1.0e768ap+2 +0x1.fcd304p+1 +-0x1.ad4e7ep+2 +-0x1.6fa7bcp+2 +0x1.1131d4p-1 +0x1.84b6fp+2 +0x1.82d034p+3 +0x1.307076p+1 +0x1.d6dd86p+0 +0x1.b0c424p+0 +0x1.6ecb46p-2 +0x1.5472dp+0 +-0x1.2c76e4p-2 +-0x1.d8f29ap+2 +-0x1.a631e4p+15 +-0x1.5bf5c4p+3 +0x1.88639ap+0 +0x1.004798p+2 +0x1.11537p-1 +-0x1.16a01p+12 +-0x1.dc8958p+1 +0x1.dc3e84p+0 +-0x1.93ea0ep+10 +0x1.aa6136p+2 +-0x1.99a04cp+1 +0x1.b0839ep+2 +0x1.d13378p+1 +0x1.117444p+8 +-0x1.443c98p+1 +-0x1.eeb87ep+1 +0x1.38c446p+2 +-0x1.710f7cp+2 +-0x1.07b1ap+2 +-0x1.c75e14p+1 +-0x1.3ddf74p+0 +0x1.27093p+2 +-0x1.0833d4p+0 +-0x1.2cb6bap-2 +0x1.6bd3ep+2 +-0x1.17db0ap+2 +-0x1.fc4a6ap-2 +0x1.df7684p+15 +0x1.40fc56p+0 +-0x1.cc7f4ep+1 +-0x1.792ec6p+0 +-0x1.44a492p+3 +-0x1.3827d4p+2 +-0x1.41cca4p+3 +0x1.465696p+13 +0x1.d9b438p+1 +-0x1.82e392p+3 +-0x1.dd1504p-1 +0x1.dfc3ccp+1 +0x1.1f3afep-1 +-0x1.0cc97cp+1 +-0x1.201c3ep+1 +0x1.df82bp+1 +0x1.395d76p-1 +-0x1.0b866ep+3 +-0x1.738d3p+2 +-0x1.0eeadep+2 +0x1.40cdccp+1 +-0x1.3c73dap+2 +-0x1.74ae48p-1 +0x1.d8275ap+1 +0x1.8ff2cp+10 +0x1.1723e8p+3 +0x1.8f429p+0 +0x1.550ea2p+2 +-0x1.b1783p-4 +-0x1.061f08p+2 +-0x1.7ae9bap-1 +-0x1.1541c8p-2 +-0x1.ed3336p-1 +-0x1.a2b8ep+0 +0x1.d1951ep+1 +-0x1.e01f1cp+0 +0x1.11494ap-1 +-0x1.39bbdap-1 +-0x1.a0c208p+2 +0x1.268d4cp+2 +0x1.8e2fbcp+1 +-0x1.6b14c4p+1 +0x1.8dc764p+1 +0x1.8779e6p+0 +-0x1.176c96p+1 +-0x1.25a544p+2 +-0x1.81eb7ap+1 +0x1.b54004p+9 +0x1.11e368p-1 +0x1.8ec7bp-1 +0x1.d2b6ccp+6 +-0x1.016aeep+7 +0x1.827ddap+0 +-0x1.14a3cep+2 +-0x1.01a3dcp+9 +-0x1.75eb8p+2 +0x1.24954cp+1 +0x1.f902dcp+0 +0x1.640cf2p-1 +-0x1.2f225p+2 +-0x1.02d94cp+2 +-0x1.9b7db8p+1 +0x1.68651ep+2 +0x1.f4797p+1 +-0x1.d1393ep+1 +0x1.c5dc9p+2 +0x1.bb6f32p-1 +-0x1.cd8996p+1 +-0x1.c73194p+1 +0x1.987076p+0 +-0x1.a68fcp+1 +-0x1.52d8c8p+6 +-0x1.339fbep+2 +-0x1.413902p+0 +0x1.ce6222p+1 +0x1.970f02p+2 +0x1.8abadap+1 +-0x1.2c58f8p+0 +0x1.06a996p+2 +-0x1.a7a642p+16 +-0x1.fe3dd4p+2 +-0x1.6021c8p+1 +-0x1.575738p-2 +-0x1.cfee4ap+0 +0x1.11638ep+0 +-0x1.fb4ad6p+0 +-0x1.9e297ep+9 +-0x1.00d2dap+0 +0x1.7fbfd8p+2 +0x1.5a65d8p+2 +-0x1.9b58a2p+5 +-0x1.4915bcp-3 +0x1.6beb9cp+1 +0x1.57a912p+0 +-0x1.12d05p-1 +0x1.89ea2ap+0 +-0x1.5632cep+0 +-0x1.d4c06cp+1 +-0x1.4f1954p+0 +0x1.3db73p+1 +-0x1.d8db14p+0 +0x1.98df14p+1 +0x1.14ed3ap+0 +0x1.152fd8p+0 +-0x1.eb0c42p-1 +0x1.c34eeap+1 +0x1.f84a2p+2 +0x1.43f32p+1 +0x1.38668cp+2 +-0x1.0fcddap+1 +-0x1.9f96a6p-1 +0x1.e85928p+0 +-0x1.361cep+3 +-0x1.8c83cep+2 +0x1.1c76acp-3 +0x1.5b1636p+1 +0x1.5c5494p+1 +0x1.969e8ap-3 +0x1.2440fap+3 +0x1.31fb48p+2 +0x1.2d1b84p+0 +-0x1.225302p+1 +-0x1.342994p+2 +-0x1.71951ep+0 +0x1.29b1a2p+2 +-0x1.cff758p+2 +0x1.2a3a82p+2 +0x1.f4252ap-2 +0x1.c8b542p+1 +0x1.83bb48p-1 +-0x1.4dda2ep+3 +-0x1.0fdb2ep+3 +-0x1.35116p+2 +-0x1.b63122p+0 +0x1.a740bp+0 +0x1.094508p+1 +-0x1.911454p+8 +-0x1.808f84p+2 +-0x1.b7e28ap+0 +-0x1.3c6e26p+2 +0x1.e87adep+1 +0x1.3902b2p-1 +-0x1.76edd4p-2 +-0x1.839bfcp+2 +-0x1.8b4aap+0 +-0x1.4a916p+1 +-0x1.bb2d5p+0 +-0x1.9fb55ep+1 +0x1.0cca48p+1 +0x1.0d849ep+16 +0x1.0dc2f2p+0 +0x1.9a8406p+2 +0x1.a607cap+2 +-0x1.44bb7ep+2 +0x1.f3e262p+1 +-0x1.15187p+2 +-0x1.5946e6p+2 +-0x1.d8f4f8p+0 +-0x1.bc8404p+1 +0x1.c53ab4p-3 +0x1.191f9ap+2 +0x1.acbcecp+1 +-0x1.4c2d72p+1 +-0x1.02ea12p+2 +0x1.20889ep+0 +0x1.8c2f3p+2 +0x1.10b322p-2 +-0x1.39c9aap+17 +-0x1.2743a2p+1 +0x1.4c16c2p+0 +-0x1.035d74p-3 +-0x1.596772p+0 +-0x1.044af2p+2 +0x1.57275ap+1 +0x1.0b9a4cp+3 +0x1.c2c14ap+0 +-0x1.18b6fp+1 +0x1.aa7be8p-1 +0x1.0e7168p+2 +-0x1.b5a3dcp-1 +-0x1.c72a6ap+0 +-0x1.cb8108p-2 +-0x1.47dbd4p+2 +-0x1.df37b2p+1 +-0x1.430244p+2 +0x1.f6648p+2 +0x1.d75654p+1 +0x1.19a41ap+1 +-0x1.ac1622p+0 +-0x1.901e2p+1 +0x1.091688p+1 +-0x1.9edd0ep+0 +-0x1.6e9738p+1 +0x1.66dc78p+2 +-0x1.8400fep+5 +-0x1.a8aa78p-5 +-0x1.aee52cp+2 +0x1.968dc2p+12 +0x1.086cfep+7 +-0x1.78192p-2 +0x1.2401c8p+2 +0x1.4296cep+1 +0x1.b9051ep+2 +0x1.6b220ep+1 +-0x1.ae685cp+4 +0x1.aed15ep+2 +0x1.144ca4p+3 +0x1.67aa5p+2 +-0x1.48a92p+2 +0x1.9a61f2p-1 +-0x1.131b2cp+2 +0x1.eaf848p+0 +-0x1.be68cp+10 +-0x1.a0321ap+1 +0x1.616dbp+1 +0x1.2ed1fcp+0 +0x1.0e1f56p-1 +-0x1.9f96e8p+0 +-0x1.0ef2a6p+2 +-0x1.6462b4p-1 +-0x1.d53832p+1 +0x1.b8dd7p+0 +0x1.4874bap+0 +-0x1.ec97bap+2 +-0x1.53ef34p+1 +-0x1.07fbaap+2 +-0x1.d5c394p+0 +-0x1.448fe4p+3 +0x1.094c28p+1 +0x1.31663ep+2 +-0x1.cf8768p+1 +0x1.3509dp-1 +0x1.8dabe2p+0 +0x1.89563ep+0 +0x1.41e1ccp+0 +-0x1.bb2d1cp+1 +0x1.1c840ep+2 +0x1.bc5d9p+2 +0x1.36b89cp+1 +0x1.d51926p+1 +-0x1.88f8a4p+2 +0x1.033bdcp+2 +0x1.710218p+1 +-0x1.3d096ap-4 +0x1.3473c8p+2 +-0x1.e31a32p+1 +0x1.efcb56p+1 +0x1.a506aep-1 +-0x1.711fe8p-3 +-0x1.144e54p+2 +-0x1.821f6ap+0 +-0x1.facc3ep-2 +-0x1.8d14p+3 +-0x1.69e3aep+0 +0x1.4818c4p+1 +-0x1.40af88p+2 +0x1.74a9b4p+2 +-0x1.03bd38p+2 +0x1.6e1a9p-2 +0x1.702f9ep+1 +-0x1.788988p+17 +-0x1.a28782p+1 +-0x1.6a13d2p+1 +0x1.bf6546p-1 +0x1.0073b4p-2 +-0x1.deccb4p+1 +0x1.b97cd6p+2 +-0x1.e8595ap+2 +-0x1.e8608ap+1 +0x1.29b278p+0 +0x1.12bc5ep+6 +0x1.0c8efep-2 +0x1.8abba2p+1 +-0x1.701154p+0 +0x1.11c3p+1 +-0x1.fcebaap+1 +0x1.b7819ap-1 +0x1.c4abcep+1 +0x1.546188p+5 +-0x1.625d3p+0 +-0x1.4d1642p+3 +-0x1.6e78e8p+2 +0x1.ff57b4p-1 +-0x1.732f8p+2 +0x1.c60c8ap+2 +-0x1.6c0f72p-4 +0x1.6c6fccp+1 +-0x1.8770acp+2 +0x1.2e1f4p+1 +-0x1.8a5f1p-3 +-0x1.137b36p-2 +0x1.08318ep+1 +0x1.55dadp+1 +0x1.c697cap+1 +-0x1.7e14c4p+0 +0x1.c05afap+1 +0x1.649566p+13 +0x1.d456c4p-1 +0x1.8f5974p+1 +0x1.9e9302p+2 +0x1.27f39ap+2 +-0x1.1bbf7cp+1 +-0x1.be890cp-2 +0x1.a553d6p+1 +0x1.43939ep+1 +-0x1.4045e4p+2 +-0x1.35a0f6p+2 +-0x1.3422aap+1 +0x1.fa67b6p+2 +-0x1.3cc6fcp+2 +-0x1.c34b1ep+14 +0x1.78175cp+0 +0x1.07b032p+3 +-0x1.39bc1cp+1 +0x1.7e1ecap+2 +-0x1.a8cdaap+1 +0x1.f5b0cap+1 +-0x1.e7061ap+1 +-0x1.323af2p+0 +0x1.8d033ap+1 +-0x1.a1a074p+1 +0x1.50cc42p-2 +-0x1.f56e5ep+1 +0x1.3859dap+1 +0x1.73203cp+1 +-0x1.8adde6p+1 +-0x1.d557aep-2 +0x1.36e46ep-1 +-0x1.70fe44p+5 +0x1.27b778p-3 +-0x1.3d6d94p+1 +-0x1.11e906p+1 +-0x1.deaedep+2 +-0x1.6c2686p+0 +-0x1.751cb6p+0 +0x1.7e5a44p+1 +-0x1.a1a944p+1 +-0x1.631e76p+1 +-0x1.4974eap-1 +-0x1.610c3ap-3 +0x1.64f79cp+0 +0x1.ef4876p+0 +0x1.3bf078p+3 +0x1.1b3054p-3 +-0x1.0d3a5p+0 +0x1.017ee4p+3 +-0x1.208ccp+2 +-0x1.5f084ep+2 +-0x1.2bc952p-2 +0x1.79882cp+1 +0x1.f213b8p+1 +-0x1.a1dee8p-4 +0x1.398bap+0 +0x1.18888ep+17 +0x1.25cfeap+10 +0x1.d9419cp+13 +0x1.b164eap-1 +0x1.adaf62p+2 +0x1.e9a2d2p+1 +-0x1.17544ap+2 +0x1.3276eap-2 +0x1.3bfec6p+8 +-0x1.a4524cp+7 +0x1.bde5bcp+8 +-0x1.294108p+12 +0x1.e4a268p+1 +-0x1.2988d8p+1 +-0x1.35c038p+1 +-0x1.ba83c6p-4 +-0x1.2596bap+2 +0x1.a73c7p-1 +-0x1.d574c6p-2 +0x1.9e272ep+2 +-0x1.baca84p+1 +0x1.9f22e2p+0 +-0x1.c073cap-1 +0x1.1633b2p+1 +0x1.63fdep+0 +0x1.3bf4p-1 +-0x1.242928p+0 +0x1.b44f6p+1 +0x1.35ef8ep+1 +0x1.554106p+7 +0x1.01263ep-1 +0x1.43f43cp+2 +-0x1.272e42p-1 +0x1.cde266p+2 +-0x1.2759fcp+2 +0x1.53c2ap+1 +-0x1.3b002ap+1 +-0x1.a9d384p+1 +-0x1.c0ffa4p+2 +0x1.28be5ap+2 +0x1.dee24p-1 +0x1.00a382p+2 +-0x1.089956p+2 +0x1.b552fp+13 +0x1.1d9202p-1 +0x1.b4eabap+2 +-0x1.50679p+3 +-0x1.b0207ap+0 +0x1.15067ep+1 +0x1.33b2fep+2 +0x1.229d8ep+1 +-0x1.14bb16p+2 +0x1.06aa7ap+1 +0x1.b45904p+0 +0x1.715c2cp+2 +0x1.668408p+1 +0x1.f24d72p-1 +0x1.dbf50cp+2 +-0x1.938fbap+2 +-0x1.bbfd72p-2 +0x1.333e5ep+2 +0x1.05222ep-2 +0x1.8c6cd2p+2 +0x1.8f1b76p+0 +-0x1.02c5f6p+0 +-0x1.1713aap-1 +-0x1.a29ad4p+2 +-0x1.b6d618p+0 +-0x1.70b116p-1 +-0x1.d84738p+0 +-0x1.a232cp-2 +-0x1.4924e6p+10 +0x1.523a7ep+2 +0x1.e70aeep+0 +-0x1.5a1c98p+1 +-0x1.ed119p+1 +-0x1.792fd2p-1 +0x1.488072p+1 +-0x1.e435bep+0 +-0x1.e5248cp+1 +0x1.2ea91cp+1 +0x1.075236p+2 +-0x1.9fd766p-3 +0x1.d27774p-1 +0x1.a0de76p+2 +-0x1.779e1ap+1 +-0x1.9a63b2p+1 +0x1.4551cp+1 +-0x1.2bf0fp-2 +-0x1.ae0f78p+0 +0x1.f4803ep+18 +0x1.34f0d2p+0 +0x1.69e272p+0 +0x1.2da5a4p+3 +0x1.a9cf96p+1 +-0x1.45019ep-2 +-0x1.02b058p+5 +0x1.ce6a22p+1 +0x1.e60fc4p-1 +-0x1.ba4f24p+1 +0x1.bef6acp+0 +-0x1.f08f32p-1 +-0x1.827efp+0 +-0x1.814518p+1 +0x1.929f7cp+0 +-0x1.2e62cap-1 +-0x1.0b1e92p+2 +0x1.8b1da8p+0 +0x1.41a8c4p+1 +-0x1.c2ed34p+1 +0x1.23ff52p+2 +-0x1.797516p+1 +-0x1.75dcccp+1 +0x1.31814p+0 +-0x1.19f828p-1 +0x1.4f28e4p+2 +0x1.9f7bep-1 +-0x1.5563cep+6 +0x1.f24a98p+1 +-0x1.3785cp+1 +-0x1.28ddfp+2 +0x1.af2e4cp+1 +-0x1.bb9c34p+1 +-0x1.237384p+2 +0x1.216e94p+1 +-0x1.404f78p-1 +-0x1.d5f764p+1 +-0x1.6a54a4p-1 +-0x1.ea251ep-1 +0x1.e4d75cp+0 +-0x1.51d778p+2 +0x1.f0ffbep-1 +0x1.07cd9ap+0 +0x1.7291e8p+1 +-0x1.fe51bp+16 +0x1.16fa72p+1 +-0x1.68cf94p+1 +0x1.bda476p+2 +-0x1.d8c13ap+16 +-0x1.044f2cp+2 +0x1.651544p+12 +-0x1.05859ap+2 +-0x1.51373ep-4 +0x1.0ccfep-1 +0x1.217ce6p+2 +0x1.5f8346p+0 +-0x1.4855b8p+2 +-0x1.c67156p-2 +0x1.f4d97p+5 +0x1.2a6246p+1 +0x1.caa2ecp-1 +-0x1.682f24p+1 +-0x1.d0d90ep+2 +0x1.904d8p+1 +-0x1.d9bc36p+1 +0x1.b609dp+1 +-0x1.9a9a14p+1 +0x1.e69d3p+5 +-0x1.ada57ep+1 +0x1.8fce24p+0 +0x1.ac55ep+1 +-0x1.0c3b9p+0 +0x1.a5e5b4p+0 +-0x1.0565e8p+1 +0x1.6da238p-1 +0x1.3bed0ap+19 +-0x1.ff2f3cp+2 +0x1.bef44ap+2 +-0x1.8801d6p-2 +-0x1.cbb29ep+0 +0x1.09dc7p+1 +0x1.a09c22p+16 +0x1.7e57fap+3 +-0x1.6ef242p+2 +-0x1.5b7c1ap+3 +0x1.218a9p+2 +0x1.065246p+0 +-0x1.4bc35ap+2 +-0x1.503f56p+1 +-0x1.de0226p+1 +-0x1.7c16f2p+2 +0x1.be4304p+2 +0x1.a2e2c6p+2 +0x1.5f5178p+1 +-0x1.80f52p+1 +0x1.be8832p+2 +0x1.1e1ad8p+2 +0x1.88af12p+1 +0x1.56d51p+1 +0x1.2e8bcap+1 +0x1.7c2a16p+0 +-0x1.c3f246p+0 +0x1.2c923ap+17 +0x1.11083cp+2 +-0x1.7e2af4p+1 +-0x1.7da2eap-1 +0x1.506ffcp-1 +0x1.7ab5eap-1 +0x1.b77cacp-2 +0x1.7b3b4ep+2 +0x1.bbddc2p+1 +0x1.c509a2p+2 +0x1.193536p+13 +-0x1.71cd3ep+17 +0x1.826b8p+2 +0x1.88115p+1 +-0x1.242f7ap+0 +-0x1.4b33fap-1 +-0x1.3ff7b2p+2 +0x1.e5c146p+1 +-0x1.0452ccp-4 +0x1.cb2aaap+6 +-0x1.2fe8f8p+1 +0x1.4b188cp+1 +-0x1.02805ap+0 +0x1.81a3dp+2 +0x1.61605p-1 +-0x1.88b9b4p+0 +0x1.adbdep+1 +0x1.ef8b78p-1 +0x1.6f0586p+1 +0x1.12e948p+9 +0x1.e0380ap+0 +-0x1.72ba7p+2 +0x1.085a22p-1 +-0x1.4730bap+3 +0x1.d2be6cp+0 +0x1.9070f6p+2 +-0x1.13802ep+2 +-0x1.1f41e4p-1 +-0x1.29929cp+0 +0x1.d3f8e6p-1 +-0x1.001bd2p+4 +0x1.0ad204p-1 +-0x1.e96f94p-1 +-0x1.21e5d8p+1 +0x1.2ad73p+11 +-0x1.fea528p-6 +-0x1.93dc6ap+0 +-0x1.680cd2p+3 +0x1.21f1f2p+1 +-0x1.060a6ep+3 +-0x1.1ff164p+2 +0x1.386158p+9 +-0x1.0ccf4p+3 +0x1.12b196p+2 +-0x1.220a6p+0 +-0x1.5ef9ecp+0 +0x1.71cdb6p+1 +0x1.1b40f2p+2 +0x1.dae342p-1 +0x1.ceb356p+2 +0x1.028d0ap+1 +-0x1.0e4394p-1 +0x1.9bebf2p+6 +0x1.d86p-1 +-0x1.e6a31ap+1 +-0x1.59c1dap+1 +0x1.1e75dap-2 +-0x1.0d4c2p+2 +0x1.c430b8p+1 +-0x1.d37956p+1 +-0x1.a04d48p-2 +-0x1.04014cp-1 +0x1.658adp+0 +-0x1.0ff5d6p-4 +-0x1.757c72p+7 +-0x1.26c032p+2 +0x1.ee75eap+3 +0x1.502734p+1 +0x1.687e12p+0 +-0x1.82955ep-1 +-0x1.f0a28ep+1 +-0x1.934f9p+0 +0x1.9f3cp+0 +0x1.104162p+1 +0x1.250e94p+3 +0x1.cbb8b2p+1 +-0x1.3e6664p+12 +-0x1.39dd92p+0 +-0x1.69653ap+1 +-0x1.9e5b08p+2 +0x1.cf9e7ep-2 +-0x1.f509a8p+1 +0x1.e6fb88p+0 +-0x1.b1e6cap+16 +-0x1.d09f9ap+16 +-0x1.d76b72p+2 +0x1.c56e2cp+2 +0x1.2fd78cp+1 +-0x1.53571ep+0 +0x1.1fc02cp+2 +0x1.05940ap-1 +0x1.beec42p+3 +-0x1.deccf2p+1 +-0x1.c31c2p+1 +-0x1.609aeap+14 +0x1.3e4dd6p+2 +0x1.32e094p+0 +0x1.b25072p+1 +-0x1.e1b734p+2 +0x1.36b69cp+2 +0x1.24780ep+2 +0x1.353a98p+0 +-0x1.3612bcp+2 +-0x1.e53778p-1 +0x1.17896cp+2 +0x1.ea007cp+5 +-0x1.53c8cap+1 +0x1.ea6f96p+1 +0x1.b4e004p+0 +-0x1.e2af58p+2 +0x1.0533a6p+2 +0x1.c505aap+12 +0x1.a8aec6p+2 +-0x1.70f68p+1 +0x1.51f402p+1 +0x1.db0648p-2 +0x1.4e1964p-1 +0x1.a93094p+0 +-0x1.1026fep+1 +0x1.2b118p-2 +-0x1.1663b2p+0 +0x1.64f32ap+0 +0x1.76f538p+2 +-0x1.229edap-3 +-0x1.9d5422p-1 +0x1.663992p+0 +0x1.827424p-1 +0x1.56ef8ap+1 +-0x1.48c9fcp-9 +0x1.2c9096p+0 +0x1.f11c2ap-1 +-0x1.d30d84p+1 +0x1.7c24bp+1 +-0x1.a8496ap+1 +-0x1.8d426p+0 +0x1.2fee8ep+1 +0x1.2784b4p+1 +-0x1.fa3b2p-1 +0x1.5f32acp+0 +-0x1.d1bb1p+1 +-0x1.b9e65cp-1 +-0x1.4d433p+12 +-0x1.6dbe7p-1 +0x1.a46e98p+2 +0x1.4cde12p+2 +-0x1.e842a6p+1 +0x1.a07a38p+0 +0x1.021d6cp+2 +-0x1.07a6aap+0 +0x1.684072p+3 +0x1.5a13a4p+0 +0x1.e2f996p-3 +-0x1.5ffafep+0 +0x1.b56388p-1 +0x1.7d238p-2 +-0x1.61af1cp+1 +0x1.3080fp-5 +0x1.24984ap+2 +-0x1.89074p+2 +-0x1.ab4148p+2 +-0x1.dfbe18p-2 +0x1.9308cp-1 +0x1.c58a08p+2 +0x1.b362b4p+0 +0x1.57be1p-2 +0x1.475e48p+6 +-0x1.020ca6p+3 +0x1.83ec8ap+1 +0x1.b2c478p+1 +-0x1.113a0ap+1 +-0x1.d382c8p+1 +0x1.7880f4p+0 +0x1.971a04p+2 +0x1.0fb78p+1 +-0x1.9719cap-1 +0x1.ea1f6ep-2 +0x1.32beaep+2 +-0x1.cf59e6p+1 +0x1.1b29dp+2 +-0x1.3a8dc8p+2 +-0x1.9329f8p+1 +-0x1.da33fap-1 +-0x1.6ef64cp+0 +0x1.842f2ep+2 +-0x1.52cf36p-2 +0x1.081ab8p+0 +-0x1.a3029ep+2 +0x1.0dd4a2p+3 +0x1.342d84p-2 +-0x1.365096p-1 +0x1.f8c28p+0 +0x1.2e34b2p+2 +0x1.76e0ccp+2 +0x1.7fc06cp+2 +-0x1.1fc044p+2 +-0x1.0ae6fcp+2 +-0x1.2c6562p+1 +-0x1.cc02a4p+1 +0x1.eed6e2p+2 +-0x1.95d15ap+2 +-0x1.c9bdbap+2 +-0x1.1ee18ep+14 +0x1.059c14p+2 +-0x1.cd3fc2p+1 +0x1.6e093cp+1 +-0x1.4d1a16p+2 +0x1.fbe58cp+0 +0x1.bc4616p+0 +0x1.8efeaep-2 +-0x1.edf52cp+1 +-0x1.c75fdep+2 +-0x1.360ca4p+2 +-0x1.8316aap+0 +-0x1.d60076p-4 +0x1.69c85cp+18 +0x1.dcda46p+1 +-0x1.59eddp-4 +0x1.4b4d1ap-1 +0x1.33462p+2 +-0x1.29ca76p+1 +-0x1.be1556p+1 +0x1.ea0cp+0 +-0x1.ce3404p+0 +0x1.203732p+16 +-0x1.e1bb82p+1 +0x1.ea0ff4p-3 +0x1.923c72p-2 +-0x1.4884c2p+2 +0x1.152026p+3 +0x1.d299f4p+1 +0x1.0386c8p+3 +0x1.00ec54p-1 +-0x1.0a6d14p+1 +0x1.0269a4p+1 +0x1.563868p+1 +-0x1.b712cap-1 +0x1.1f2cd4p-1 +0x1.ed4bep-2 +-0x1.a29e18p-3 +-0x1.069dcp+2 +-0x1.050c8ap+1 +0x1.90271cp+2 +0x1.17cf9ap+1 +-0x1.917cap+0 +0x1.15f86p+3 +0x1.b87e36p+2 +0x1.7ae312p+0 +-0x1.c5c72cp-2 +-0x1.eb5c14p+0 +0x1.2db7cep+3 +0x1.917df8p+2 +0x1.0032d2p+2 +-0x1.c04d52p-1 +-0x1.658aacp+2 +-0x1.def7a4p+1 +0x1.1c1b7cp+17 +-0x1.e29c2ep+2 +-0x1.3a92f6p+1 +-0x1.018406p+0 +-0x1.a1bb46p+1 +-0x1.cd19acp+0 +-0x1.48b60ep+0 +-0x1.bd3504p-1 +-0x1.c46618p+2 +0x1.bf977ep-1 +0x1.8be50cp+14 +-0x1.a5f17p-1 +-0x1.f0471p+1 +-0x1.49c53ap+1 +0x1.99798ep-1 +0x1.313ffep+5 +0x1.91aab6p+1 +-0x1.28062ap+2 +0x1.1d4446p+13 +-0x1.2aefep+2 +-0x1.53a44ep+2 +0x1.4bc1cap+18 +0x1.c5d29ep+1 +0x1.539ccep+0 +0x1.1d375ep+3 +-0x1.8e5f28p+1 +0x1.6b2458p+1 +0x1.734bbp+0 +-0x1.67befp+1 +0x1.ba7dp-1 +0x1.6f2d8ap+0 +-0x1.4e682ep+1 +-0x1.866034p-2 +-0x1.a8b234p+1 +-0x1.5b18fp+2 +-0x1.43970cp+1 +0x1.2cbe72p-3 +-0x1.26b7cp+2 +0x1.194518p+0 +-0x1.d7ef26p+1 +0x1.6bd3bep+1 +0x1.2d60d6p+2 +0x1.4e2a48p+0 +-0x1.9bc726p+1 +0x1.6521f8p+2 +0x1.3246dcp+0 +-0x1.80003p+0 +-0x1.1678p+2 +-0x1.14856p+3 +0x1.54ed1cp+2 +-0x1.2eefa8p+0 +0x1.97c2d4p+0 +-0x1.142d7cp+2 +-0x1.796aaap-2 +0x1.6216e8p-2 +0x1.546bc4p+3 +-0x1.998eb2p+0 +0x1.25fa9p+1 +0x1.fc34f6p+1 +-0x1.6999cap+2 +0x1.52bfeep+0 +0x1.564f16p+1 +-0x1.aeebaap+0 +0x1.99268ap-3 +-0x1.ee66bp+0 +-0x1.1c6a18p+1 +0x1.435e7ep-2 +0x1.76cc2ep+3 +-0x1.83fc52p+0 +0x1.3abca8p+10 +0x1.03605cp+1 +0x1.add1eap-2 +-0x1.12d562p+2 +-0x1.b48c3p+0 +0x1.6b3ae4p-4 +0x1.173f84p+3 +-0x1.053674p+15 +0x1.67d708p+2 +0x1.46b33p-2 +-0x1.95dc2p-3 +-0x1.fb3326p-1 +-0x1.d185f6p+1 +0x1.7f29d6p+2 +0x1.404b72p+1 +-0x1.d55568p+1 +-0x1.6dfd1cp+2 +-0x1.ec906ep+1 +-0x1.685456p+1 +-0x1.fe44a2p-2 +-0x1.ee6b7p+0 +-0x1.762efap-1 +0x1.d80ad8p+2 +-0x1.486074p-4 +0x1.0a8cf2p+2 +-0x1.216b44p+3 +-0x1.5c978cp-4 +0x1.823b3p+2 +0x1.2b1e8cp+17 +-0x1.2f5176p+2 +-0x1.c4b98p+2 +0x1.4b06dcp+1 +0x1.9ac9d8p+2 +-0x1.931d06p+10 +-0x1.6a96ep+2 +-0x1.b56508p+2 +0x1.03ba24p+1 +-0x1.00f62cp+2 +-0x1.290906p+2 +0x1.200272p-3 +0x1.02cdd8p+2 +-0x1.c1df0ap+0 +0x1.62082cp+3 +-0x1.38363p+3 +0x1.05e18cp+2 +0x1.b4f518p+1 +0x1.5d5d26p+1 +-0x1.1bd404p+2 +0x1.1ed7d2p+2 +-0x1.12297ap+6 +0x1.6d2c4ep+14 +0x1.86cc4ap+2 +0x1.0faedep+2 +0x1.ff5698p+2 +-0x1.94f97ap+0 +0x1.e3ca74p+0 +-0x1.4e0fbcp+1 +0x1.4f04d2p+2 +0x1.118368p+2 +0x1.1cf136p+1 +0x1.c262bcp+1 +0x1.ec42dp+3 +0x1.c7e2aep+2 +0x1.0ea45cp+2 +0x1.70b79cp+1 +-0x1.809facp+2 +0x1.073ac8p+3 +-0x1.00e0b4p+3 +0x1.18653cp+1 +-0x1.2914dcp+1 +0x1.5443d2p+1 +0x1.a48fbp-2 +-0x1.b7f86cp+1 +0x1.cf689cp+0 +-0x1.4df39p+1 +0x1.3d9148p+1 +0x1.04d87p-1 +0x1.183f9p+2 +0x1.131824p+1 +-0x1.cae47cp+2 +-0x1.72a1c2p+1 +-0x1.3d1ec8p-5 +-0x1.051fbcp+2 +-0x1.dd8fcap-1 +0x1.ac2c58p+2 +0x1.cf0ef6p-1 +0x1.2a15bcp+2 +-0x1.6458bap+0 +0x1.3dfbap+2 +0x1.acce48p+0 +-0x1.4a6c2ap+1 +0x1.0d65ep+2 +-0x1.ef75c4p+2 +0x1.8dcdf2p-1 +-0x1.1aa7e2p+2 +-0x1.d7ae6cp-1 +-0x1.dabe96p+0 +-0x1.42dc8p-3 +-0x1.e3ffp+1 +-0x1.567bdp+2 +0x1.45e4cap+1 +-0x1.490a68p+2 +-0x1.0f8e2p+2 +0x1.6b87dep-2 +-0x1.948dp+0 +0x1.215098p+3 +0x1.91ff1p+1 +-0x1.1e2c2cp+10 +-0x1.b26978p+1 +0x1.9b8ef8p+0 +0x1.4fc9ccp+1 +0x1.ebd0fcp+6 +0x1.249b54p+2 +-0x1.360a5cp+2 +0x1.6a3caep+2 +0x1.08101ep+3 +-0x1.ecf65cp-1 +0x1.62cadap-1 +-0x1.06112ep+1 +0x1.991d78p+1 +0x1.606aep+2 +-0x1.070714p-1 +-0x1.562a98p-2 +-0x1.dc5e96p+1 +-0x1.83bc2ep+0 +0x1.5f291cp-4 +0x1.6c1ab4p+0 +0x1.0c56dp+2 +-0x1.1316ecp+9 +0x1.0dc786p+4 +0x1.990464p+1 +0x1.06002cp-3 +-0x1.f13c1ep-2 +-0x1.180a16p+0 +-0x1.8f8b4ep+2 +-0x1.1649f2p+2 +-0x1.97f9eap+0 +-0x1.4fe618p+1 +-0x1.943578p+3 +0x1.10b602p-1 +0x1.60cce6p+11 +0x1.f010c6p+1 +-0x1.18296ep-1 +-0x1.3d588cp-1 +-0x1.6d5964p+2 +-0x1.9dca2ap+0 +0x1.257a96p+2 +0x1.d69b8ap+12 +-0x1.ead32cp+2 +-0x1.47b2dp+2 +-0x1.319552p+2 +0x1.03d558p+2 +0x1.c00ae2p+2 +-0x1.8fab24p-2 +0x1.3549ccp+2 +0x1.007aa6p+1 +0x1.457e7ap+1 +0x1.18726cp+1 +0x1.13ddb4p+0 +-0x1.03641ep+1 +0x1.4c7becp+2 +-0x1.a59092p+0 +0x1.2641cap+1 +0x1.156662p+3 +-0x1.e0f6fcp+2 +0x1.05feecp+3 +0x1.d3c478p+17 +-0x1.54405ap+1 +0x1.705f56p+1 +-0x1.15a24ep+14 +0x1.d1237p+0 +0x1.6718eep+1 +-0x1.57e652p+2 +-0x1.79544ep+0 +-0x1.16d64p+2 +-0x1.1ac906p+2 +-0x1.e85af4p+1 +0x1.bb11c6p-1 +0x1.7f800ep+1 +0x1.3d5614p+2 +-0x1.cb8fc6p+0 +-0x1.38784cp+2 +-0x1.4ab4fap-1 +0x1.88cf0cp+14 +0x1.3dd5b8p+1 +-0x1.ffa216p-1 +0x1.476134p+0 +0x1.e5787cp+0 +-0x1.f9e446p+0 +-0x1.93e5d2p+0 +0x1.4357fap+1 +-0x1.4f73ep+0 +0x1.9d7f48p+2 +-0x1.f46b4cp-2 +0x1.4cc132p-1 +0x1.3e01aep+2 +-0x1.b8cd7cp+0 +0x1.17734cp-1 +-0x1.4d84b6p+3 +-0x1.5e3c2cp-1 +0x1.39600cp+2 +-0x1.d9fed2p+1 +0x1.cf3dfp+1 +0x1.97d41ap+2 +0x1.ee4f3ep+1 +0x1.a9ca8cp+9 +-0x1.89719cp-2 +0x1.7a6966p-2 +0x1.323646p+2 +0x1.fa475ap+3 +-0x1.f26d5ep+1 +-0x1.32b2dp+1 +0x1.c7fba6p-4 +-0x1.016d02p-3 +-0x1.29eb78p+0 +-0x1.0abdfp+1 +-0x1.83caeep+2 +-0x1.e77142p+2 +-0x1.70babp+11 +-0x1.0b184ep-2 +-0x1.2f8bb2p+3 +-0x1.b2a8bap+1 +0x1.900b1ep+2 +-0x1.f1c7ecp+0 +0x1.810202p+0 +0x1.2c9fc4p-1 +-0x1.f03356p+2 +-0x1.9fd06ep+2 +0x1.9d463ep+2 +-0x1.3acaaap+2 +-0x1.6968e6p+2 +-0x1.b4160ap-4 +-0x1.6b96b2p+1 +-0x1.50589ap-1 +-0x1.27a8e4p+16 +-0x1.2f7d76p+2 +0x1.b05bd4p-4 +0x1.40ed04p+1 +0x1.228e5ep+2 +-0x1.112b6p-2 +-0x1.be5892p+1 +-0x1.c6a59ap+2 +0x1.a56efp+0 +0x1.918a52p-1 +0x1.2d04aep+0 +0x1.1aa9f2p+0 +0x1.0eb2acp+2 +-0x1.a38a2cp+2 +0x1.c2fa24p+0 +0x1.dc9a9cp+14 +-0x1.171818p+1 +-0x1.38933ep+3 +0x1.8107eap+2 +0x1.96ff2cp+1 +0x1.188cd6p-1 +-0x1.31b022p-4 +-0x1.2bfef2p+1 +-0x1.076554p+1 +-0x1.4afc24p+1 +0x1.1aa984p+2 +-0x1.85ce3p+2 +0x1.4344d2p+5 +-0x1.bf4e26p+1 +0x1.b00866p+0 +-0x1.e448a4p+11 +-0x1.5d2f08p+11 +0x1.6ef53ap-2 +-0x1.bdb7c6p+2 +0x1.5259b4p+1 +-0x1.8852bp+2 +0x1.34bbdep+7 +0x1.daed1ep+0 +0x1.2c7a8ap+1 +0x1.9331fp+2 +-0x1.557626p+1 +-0x1.146f9ep+2 +-0x1.28a022p+1 +-0x1.a2228ep+2 +0x1.0b5b48p+2 +0x1.d73f7ep+0 +-0x1.66188p+16 +-0x1.5018e8p+0 +-0x1.72153ep+2 +0x1.a8f7b2p+2 +-0x1.26c92cp-2 +-0x1.3ca7f8p+3 +0x1.0a6c52p+6 +-0x1.5a8bbap+2 +0x1.84ab42p+0 +0x1.d44e1cp+2 +0x1.dc0de4p+2 +0x1.87509p-3 +0x1.c4356p-1 +-0x1.6feb18p+9 +-0x1.3dc2bep+2 +-0x1.06ed8ep+1 +0x1.4d3d7p-3 +-0x1.dd5742p+0 +0x1.a4eap+2 +-0x1.d54bacp+1 +-0x1.2ce968p+2 +-0x1.41ab3ep+1 +0x1.44f836p-7 +0x1.516194p+1 +-0x1.a7bbf8p+1 +-0x1.217622p+3 +-0x1.9fdd64p+1 +0x1.42b618p-7 +0x1.ad52dep+0 +-0x1.a0565ep+2 +-0x1.64508ap+1 +0x1.1b6746p+5 +-0x1.7d311cp+1 +-0x1.5ddfbap+2 +0x1.c135fap-2 +0x1.01478ap-2 +-0x1.3333aap+2 +-0x1.4496a2p+2 +-0x1.711ea6p+2 +-0x1.755ecp-8 +0x1.1ac204p-6 +-0x1.d88bd4p-1 +0x1.6dce5p+1 +-0x1.16dc0cp+3 +-0x1.27c77cp-2 +-0x1.906e9ep-1 +0x1.18e9b8p-4 +-0x1.2e8c2cp+2 +-0x1.534498p+12 +-0x1.2c24bap+1 +-0x1.ac2c6ep+0 +-0x1.d221a6p+2 +0x1.d71f28p+0 +-0x1.630a7ap-2 +0x1.5cb6bcp+2 +-0x1.4d706ep+1 +-0x1.81db16p+2 +0x1.1d45ecp+1 +-0x1.bbd304p+1 +0x1.692926p+1 +0x1.a623aep-2 +-0x1.080956p+0 +-0x1.8c6be4p+2 +-0x1.b92f88p-2 +-0x1.4ef9f2p+2 +0x1.67160ap+2 +-0x1.695792p+2 +-0x1.1247dep+2 +-0x1.811d5cp+18 +0x1.d43b42p+2 +0x1.2248fep+2 +0x1.36f16p-4 +-0x1.62a91ap+2 +0x1.c5cf3p+1 +-0x1.df6c8cp+1 +-0x1.f943acp-1 +0x1.51a9cap+1 +-0x1.9108fap+1 +0x1.fe4862p+0 +-0x1.04fffp+0 +-0x1.d641c8p-4 +-0x1.f9d3d6p-1 +-0x1.ee6296p-1 +-0x1.94a686p+0 +0x1.a7c516p+1 +0x1.c77d64p+7 +0x1.86dca4p-1 +0x1.38018cp+1 +-0x1.ba118p+2 +0x1.fc074ap+0 +0x1.0ea0d8p+2 +-0x1.0efba6p+0 +-0x1.17c456p+1 +-0x1.596f72p-1 +-0x1.392248p+2 +0x1.5122ep+2 +0x1.f0ef8p-1 +0x1.a123cap+6 +-0x1.f4b12ep+1 +-0x1.c8731ap+1 +0x1.31dd68p+2 +-0x1.a303a4p-5 +0x1.4e86c8p+2 +0x1.1a56eep+2 +-0x1.7238cep+2 +0x1.83510cp+1 +0x1.32953ap+0 +-0x1.e298a4p-1 +0x1.cc7238p-2 +-0x1.094404p+0 +0x1.11645ap+0 +0x1.fbafb2p+0 +-0x1.41c7fcp+7 +-0x1.e337p+2 +0x1.04b988p+1 +0x1.a4e32ep+2 +-0x1.6e6b6cp+0 +-0x1.10709cp+2 +-0x1.48d7f6p+2 +-0x1.cc1444p+2 +0x1.87c2ep+0 +0x1.cb2c2p+1 +-0x1.c6295ep+2 +-0x1.218ee2p+1 +-0x1.6d731ep+11 +-0x1.8e066p+3 +-0x1.9e64f8p+2 +0x1.99936ap+2 +-0x1.5862d6p+3 +-0x1.b02166p+0 +-0x1.99318p-3 +-0x1.e066f6p+0 +-0x1.620d2p+0 +-0x1.2d339cp+1 +-0x1.8d62fap+2 +-0x1.00e28ap+3 +-0x1.228056p+1 +0x1.650becp+1 +0x1.add9cep+1 +0x1.9234p+2 +0x1.67b7ep+1 +0x1.25eda2p+2 +-0x1.5a3b46p-2 +-0x1.5c45bcp-1 +0x1.627c98p-2 +0x1.6a81eep+2 +0x1.8da70ap-1 +-0x1.26483ap-1 +0x1.613d82p-1 +-0x1.ae35d6p+2 +-0x1.d0244cp-1 +-0x1.d76602p+1 +-0x1.5802e8p+2 +0x1.5ea6b8p+3 +-0x1.2cbb8p+2 +-0x1.219d9cp+1 +-0x1.86f4a4p+1 +0x1.be4ac6p+1 +-0x1.9f4dc6p+1 +-0x1.0ce498p-1 +-0x1.2710cap+2 +0x1.d7f332p+0 +0x1.ea8f9ap+0 +0x1.bbbb08p+1 +-0x1.da4784p+1 +-0x1.8815cep+2 +0x1.9fcc2p+2 +-0x1.59a33p+2 +-0x1.9f049cp-2 +0x1.4b15aap+1 +-0x1.2b1f28p+3 +-0x1.a43ecap+2 +-0x1.05965cp+2 +0x1.6fa45ep+2 +-0x1.e90b1ap+1 +-0x1.a6fa42p+1 +-0x1.454526p+1 +0x1.078a8cp+3 +-0x1.fe4f1ep+1 +0x1.032e9ep+1 +0x1.5afe8ap+0 +-0x1.54094cp+1 +0x1.8124ccp+1 +0x1.80e338p-2 +-0x1.45ae58p-3 +-0x1.44c552p+1 +0x1.9542f4p+0 +0x1.943224p+2 +0x1.9edd1ap+0 +-0x1.61b202p+2 +0x1.cabf4cp+0 +-0x1.e190cep-1 +0x1.15f088p+2 +0x1.600cf4p+2 +0x1.277e06p+1 +0x1.036adcp+2 +-0x1.069f94p-1 +-0x1.1d4d02p+2 +-0x1.7b7f4p+1 +-0x1.20c724p+3 +-0x1.584b22p+2 +-0x1.06c72p-2 +-0x1.0c2c58p+0 +0x1.e06db6p+15 +0x1.28c146p+1 +-0x1.4304dp+2 +-0x1.92769p+0 +0x1.888d26p+1 +-0x1.5b45b8p+4 +0x1.bfd58cp-1 +-0x1.806cep+2 +0x1.a8d27ap+0 +-0x1.7db2d8p+0 +-0x1.07b6fp-4 +0x1.1771p+1 +0x1.b17e6ap-1 +0x1.29cdap+2 +-0x1.2727a4p+0 +0x1.cdd90ep-2 +0x1.dd3dbp+1 +-0x1.4d5f4ep+2 +-0x1.8777d2p-1 +0x1.3683c8p-1 +0x1.18abeep+1 +-0x1.6a2fb6p+1 +0x1.9c994p+0 +-0x1.dd0cd2p+1 +-0x1.89bb84p+2 +-0x1.450daep+1 +0x1.1db3aap+1 +-0x1.5253d6p+2 +-0x1.773fccp+3 +-0x1.44725ep-1 +-0x1.85e306p+1 +-0x1.248a4cp+2 +0x1.07cac4p+3 +0x1.606b66p+1 +-0x1.d48072p+0 +0x1.80ae08p+3 +-0x1.cebdecp+2 +0x1.7771aep+3 +-0x1.f1d072p+1 +0x1.582ecp+0 +-0x1.22fa58p+2 +0x1.48609cp+18 +0x1.b3b696p+1 +0x1.26d7b6p-3 +0x1.76144cp+1 +-0x1.713bb6p+2 +-0x1.4fbc6ep+1 +0x1.c7934ep+2 +-0x1.e43558p+2 +-0x1.3214ecp+1 +-0x1.bed3d8p+13 +0x1.ff5b86p-2 +0x1.0b2b7p+2 +0x1.335c9cp+2 +-0x1.953d56p-1 +0x1.8d2b92p-1 +0x1.bae886p+2 +0x1.167fep+0 +0x1.67f5bep-1 +0x1.8e2d5ap+2 +0x1.8bd952p+2 +0x1.0c35b2p+0 +-0x1.07462ep+2 +-0x1.b8bbb8p+10 +-0x1.7b042p-2 +-0x1.6584ep+0 +0x1.1dfed4p-1 +-0x1.ba50d2p+0 +0x1.e29c9cp+1 +0x1.92f14ep+0 +-0x1.39170ep+0 +-0x1.8693dp+1 +0x1.2dbb1cp+2 +-0x1.5db2b8p-3 +0x1.9b7c2cp+16 +0x1.0d42dep+11 +-0x1.1fb894p+1 +0x1.9b7ccap+2 +-0x1.1a63dcp+3 +-0x1.749e9ep+14 +0x1.355976p+1 +-0x1.6d0ef2p+2 +0x1.2fc69cp+2 +-0x1.3de742p+2 +-0x1.72451p+2 +-0x1.9e1fc2p-5 +-0x1.d52816p+1 +-0x1.0f426ap+3 +-0x1.75a2d2p+0 +0x1.cb7f68p-1 +0x1.42f514p+8 +-0x1.5d4122p+15 +-0x1.271f4cp+1 +-0x1.de4e4p+0 +0x1.84feeep+2 +-0x1.4bf83p+0 +-0x1.70a0cep+2 +-0x1.82e932p+1 +0x1.7764c2p+12 +-0x1.7edcd2p+2 +0x1.7ba93ep+2 +-0x1.1cc26cp+2 +-0x1.a41ef8p+2 +0x1.c9e902p+0 +0x1.1e397p+2 +0x1.2d37a4p+3 +-0x1.7bdd62p-2 +-0x1.02b03ap+3 +0x1.c7e04p+2 +-0x1.c7c1a2p-6 +-0x1.86dd5ep+2 +-0x1.07e13cp+10 +0x1.0b6f22p+1 +-0x1.a5b24ep+3 +0x1.8f9b32p+1 +0x1.3f1eeep+2 +-0x1.79bb44p-4 +0x1.405dfp+2 +0x1.7810fep+2 +0x1.59039ep+2 +-0x1.533b7ep+1 +-0x1.847b9cp+2 +0x1.90b914p+2 +0x1.0f6932p+2 +-0x1.7e3a5ap+1 +0x1.0a82d2p+2 +0x1.7dae4ap-1 +0x1.fa8bb4p+0 +0x1.2ae8p-2 +-0x1.a4ebb4p+1 +0x1.334a7cp+1 +0x1.8ca71ap+2 +0x1.482d3p-1 +-0x1.30929ep+1 +-0x1.80e35ep+1 +0x1.03de5p+3 +0x1.d4c766p-11 +0x1.138c14p+3 +0x1.7f977ep+0 +-0x1.0d82ep+0 +0x1.8771f6p+0 +-0x1.a59fc8p+1 +-0x1.5acebep+3 +0x1.943dbep+1 +-0x1.6b5f68p+0 +-0x1.116522p+1 +0x1.a468ecp-3 +-0x1.4413d6p-2 +0x1.b61754p+1 +-0x1.3d3638p+3 +0x1.307aap+1 +-0x1.f0e568p+0 +-0x1.2c4794p+1 +-0x1.b2cdd8p+1 +0x1.a5a8cep+1 +0x1.012dd6p+1 +-0x1.4cc76ap+4 +0x1.9b817ap-1 +0x1.74c2dp+5 +-0x1.a4ad3p+1 +0x1.e40b96p-2 +-0x1.6330bep+2 +0x1.af60ep+1 +-0x1.3cc692p+2 +0x1.138622p+0 +-0x1.0584f8p+0 +0x1.1d6246p+1 +0x1.d5e8c4p+1 +-0x1.e79712p+1 +0x1.ad9732p+1 +0x1.9697c6p+1 +-0x1.e3f9c8p-4 +-0x1.3857dep+15 +-0x1.dea8dp-1 +0x1.4ec636p+2 +-0x1.5f8228p+1 +-0x1.e8ac1ap-1 +0x1.1d467ap+0 +-0x1.9bd878p-3 +0x1.1f0e94p+2 +-0x1.8da4c4p+1 +-0x1.1bd46ap+3 +-0x1.9cbb36p+0 +0x1.764c24p+1 +-0x1.80412ap+2 +0x1.50b8fep+1 +-0x1.3abb1p+11 +-0x1.3927dap-4 +-0x1.fc76eap+1 +0x1.8404e6p-1 +-0x1.62dd12p-2 +0x1.85ad44p+0 +-0x1.3706eap+5 +0x1.04ae12p+2 +-0x1.817e4ap+1 +-0x1.41fe3cp+1 +-0x1.87ea26p+1 +0x1.49d826p+0 +0x1.94c504p-2 +-0x1.936702p-4 +-0x1.5e0854p+2 +0x1.7526e4p+1 +0x1.3c73d4p+1 +-0x1.44c8d8p+1 +0x1.aa17b6p+2 +-0x1.abbbf4p+0 +-0x1.935e2cp+1 +0x1.fbf998p+2 +-0x1.460f66p+1 +0x1.99d664p+0 +-0x1.9ad506p+2 +0x1.65a63p-3 +-0x1.217738p+8 +0x1.5c25b8p+0 +0x1.75acf6p+2 +-0x1.030ebcp+1 +0x1.638e1ep+2 +0x1.7a132ap+0 +-0x1.6ad65cp+0 +-0x1.8b3d6cp+0 +-0x1.42b04p+0 +-0x1.7c9dfep+1 +-0x1.4cfbf8p+1 +-0x1.2efc82p+3 +0x1.b9edfap+2 +0x1.316b06p+10 +0x1.68ff7cp+2 +0x1.f863aep+0 +-0x1.276972p+0 +-0x1.b80c5ep+1 +-0x1.1d73eep+0 +0x1.1d386ep+3 +-0x1.15e4f4p+1 +-0x1.5f5f7cp+1 +-0x1.5abed2p+14 +-0x1.e62d7ep+1 +-0x1.18a5bp+15 +0x1.06a988p+2 +0x1.e77978p+1 +-0x1.35eb76p+2 +0x1.ab449ap+5 +-0x1.c2e0b8p+0 +-0x1.0b5684p-1 +0x1.d50ffp-2 +0x1.007b54p+1 +-0x1.d7f8bap-1 +0x1.1e4004p+1 +0x1.cf7be2p-1 +-0x1.edec2ap+1 +0x1.2787eep+1 +-0x1.2666b4p+6 +0x1.c54666p+2 +0x1.c92824p+1 +0x1.fac138p+7 +-0x1.207876p+11 +-0x1.23fce4p+0 +-0x1.17b1ccp+2 +-0x1.5bafd2p+2 +-0x1.257704p+1 +0x1.a2fd4p+0 +-0x1.21a3c2p+0 +0x1.8d04fep-2 +-0x1.15f8bcp+9 +0x1.74be2ap+2 +0x1.883dap+2 +-0x1.cbf06p-4 +-0x1.b69ba8p-1 +0x1.0f1fa8p+13 +0x1.911eaep+1 +0x1.f58ab6p+0 +0x1.6b1ecep+2 +-0x1.91bbfcp+1 +0x1.e99e7ap+2 +-0x1.5bbe7ap+0 +-0x1.815594p+1 +0x1.0538fp-3 +-0x1.d823ecp+1 +0x1.a7811ep+1 +-0x1.37a606p+2 +-0x1.14bb9ep+0 +0x1.2298d6p-1 +0x1.5d9d62p+1 +0x1.985deep+1 +-0x1.0b836ap+1 +-0x1.e1af8p+2 +-0x1.a0a29p+1 +0x1.5ed4c6p+2 +-0x1.4f572p+1 +0x1.88016ap+2 +0x1.ce82e8p+1 +0x1.7868e8p+2 +-0x1.825968p+1 +-0x1.2dfec2p+0 +0x1.86b9d4p+1 +0x1.b2fe34p+2 +-0x1.b9a9d6p-2 +0x1.048f2ep-4 +-0x1.cdb44cp+1 +-0x1.40301ep-2 +-0x1.6cb2e2p+0 +-0x1.625ccep+1 +-0x1.bdaf8ap+2 +-0x1.4987d8p+1 +0x1.59c57p+1 +-0x1.77e1d6p+0 +-0x1.6b0ae4p+0 +-0x1.542d84p+2 +0x1.489b3ap+1 +-0x1.0b041ep+11 +0x1.06dbdcp+5 +0x1.46ab06p+0 +-0x1.d95bf2p+1 +0x1.491ba6p+2 +-0x1.47e024p+2 +0x1.2c4402p+3 +0x1.736228p+2 +0x1.aed0eep+1 +0x1.f01eb8p+2 +0x1.e8ceaap-3 +-0x1.6b7314p+2 +-0x1.9d3b5p+1 +-0x1.4ae648p+13 +0x1.0f9026p+0 +-0x1.031e04p+2 +-0x1.077e4ap+2 +-0x1.f5758p+2 +0x1.697cdcp-1 +-0x1.65d80cp+0 +-0x1.2d790cp+1 +-0x1.72e49ap+1 +-0x1.3e616p+1 +-0x1.1609e4p+2 +-0x1.b57362p-1 +-0x1.8fcda6p-1 +0x1.6bf0a4p+1 +0x1.ad48c2p+0 +-0x1.890358p+2 +-0x1.cdc0fep-2 +-0x1.3a5574p+1 +-0x1.74e314p+0 +-0x1.b916e8p+2 +-0x1.ec6558p-5 +0x1.853ae8p+17 +-0x1.f96ce8p+2 +-0x1.f7c0e6p-1 +0x1.8e1d48p-2 +-0x1.6ff716p+1 +0x1.2dcc4p+8 +0x1.a0d77ep-5 +-0x1.2015fep+3 +-0x1.8da66ap-2 +-0x1.159efep+2 +-0x1.1a5f28p+1 +-0x1.af5ae2p+1 +-0x1.6c16p+0 +-0x1.079bbep+1 +-0x1.6a98d4p+1 +0x1.09ea74p+1 +0x1.ecfe0cp+0 +0x1.f8472cp+0 +0x1.a4ef6p+0 +-0x1.8123ap+1 +0x1.5387fcp+1 +-0x1.80dc1cp+1 +0x1.50ab5cp+0 +0x1.35217ep+10 +-0x1.524fd4p-1 +0x1.44580cp+1 +0x1.bcf5e6p+1 +-0x1.ec2f52p+1 +-0x1.d881cep-2 +0x1.5588c6p+2 +0x1.1d1f2p+8 +-0x1.228f88p-3 +-0x1.4fea72p-2 +0x1.59f8cap-3 +0x1.cbdcf4p-2 +0x1.436a9p-1 +0x1.f92abcp+1 +-0x1.a8b95ep+0 +-0x1.83ff64p+1 +0x1.de453ep-1 +-0x1.70b986p+1 +0x1.da1c68p+2 +0x1.21b5b4p+2 +0x1.d2127ap+2 +0x1.83719cp+1 +-0x1.a4349cp+1 +0x1.b878b8p+2 +0x1.6a370ep+0 +-0x1.118e54p+2 +-0x1.3df8b6p+0 +0x1.8a5014p+2 +0x1.df36eep-2 +0x1.8bdbe2p-2 +0x1.9a65a4p+1 +-0x1.7f251p+0 +-0x1.3b1f2p+1 +-0x1.345fb2p+0 +-0x1.75771ep+0 +-0x1.20aefp+11 +-0x1.ec1426p-1 +0x1.c4f346p+2 +-0x1.4b57ep+1 +0x1.ffb67p+1 +-0x1.01df0ep+1 +-0x1.15df94p+2 +-0x1.a170f6p+1 +-0x1.d992ep-1 +-0x1.2baf74p+1 +0x1.a85186p+0 +0x1.abcea8p+0 +0x1.ab7cbap+2 +0x1.42e69ap-1 +-0x1.9d0814p+2 +-0x1.0b9938p+1 +-0x1.883ed8p+9 +-0x1.b699fp-4 +0x1.bb03a4p+0 +0x1.2fb4aep+1 +0x1.03cfa4p+3 +-0x1.abf1b8p-2 +0x1.613976p+3 +0x1.dd2618p+1 +0x1.275076p+0 +-0x1.84c576p-5 +0x1.7042a2p-1 +0x1.c82e92p+0 +-0x1.a57daap+0 +0x1.66a4dep+2 +0x1.c6a39ap-3 +0x1.29cfbcp+2 +0x1.89c30ap+0 +-0x1.762f1ep+1 +0x1.bfb29p+2 +0x1.8229ecp-2 +0x1.fab966p-1 +0x1.88906p+2 +-0x1.db54dcp+1 +-0x1.21161ap+0 +0x1.6df6d2p+2 +0x1.0259a8p+0 +0x1.7c3ad6p+2 +0x1.6422f8p-2 +0x1.9b092p-1 +-0x1.f7db5ep+16 +-0x1.70ed12p+1 +-0x1.25d4fap+3 +0x1.5d7ffp+2 +0x1.9a3d98p+2 +-0x1.5a1b0ep+6 +0x1.a72812p-3 +-0x1.eba0cp+2 +0x1.a5e5f6p+0 +-0x1.7288ap+1 +-0x1.8935cap+1 +-0x1.2a829cp+2 +-0x1.48ebdcp+1 +0x1.5419fcp+2 +-0x1.50327ep+1 +0x1.5e3d5cp+1 +0x1.0d9ddap+3 +0x1.82002ep-5 +-0x1.81246ap+0 +0x1.1ded02p+2 +-0x1.f34346p-1 +0x1.61f206p+2 +0x1.39cca6p+0 +-0x1.8a8c7ap-2 +-0x1.e29c88p+0 +0x1.361954p+0 +0x1.17da7cp+1 +0x1.18ca1p-3 +-0x1.6b7288p+1 +0x1.56ccbep-4 +0x1.73c642p-2 +0x1.87c68cp+1 +0x1.d69c54p+1 +-0x1.726e54p+1 +0x1.4db076p+1 +-0x1.43661cp+3 +-0x1.0a6bcap+2 +-0x1.27821p+2 +0x1.ca9d5cp-3 +0x1.290ac4p-2 +0x1.f61ebap+2 +-0x1.1584dp+1 +0x1.0b8bf2p+2 +-0x1.51999p+1 +-0x1.27aad2p+3 +0x1.e7b494p+0 +0x1.0c4822p-4 +-0x1.165632p-3 +0x1.f02bc2p-1 +0x1.35c696p+1 +0x1.da738ap-2 +0x1.8e1484p+1 +-0x1.23fb1ep+2 +-0x1.917d26p-3 +0x1.a732cep+3 +-0x1.d52748p+2 +-0x1.6140d2p+2 +0x1.d8ab7ap+1 +0x1.69a984p-1 +-0x1.b9934ap-1 +-0x1.b8475p+1 +0x1.48c178p+1 +-0x1.445f82p+2 +-0x1.4122d8p+2 +-0x1.f0fc9ap+0 +-0x1.15642cp+2 +-0x1.276fb2p+0 +0x1.1ec51cp+0 +0x1.3d61d4p+1 +0x1.f9cd82p+1 +0x1.cef99ep+2 +-0x1.bd5bbap+1 +0x1.416068p+2 +0x1.15025ap+2 +-0x1.934af2p+2 +0x1.e2761ep+2 +0x1.c5012ep+1 +-0x1.779788p+1 +-0x1.1d26ccp+1 +-0x1.eb283p-1 +0x1.902758p+6 +-0x1.c88262p+1 +0x1.fd0406p+2 +-0x1.3ac284p+2 +0x1.ba5eeep+0 +0x1.69e162p+0 +-0x1.6d72c6p+1 +0x1.bbf7fap+1 +0x1.82e236p-6 +0x1.2d967p+1 +0x1.215beap+1 +-0x1.799718p+2 +0x1.1937ccp+18 +0x1.2b76bcp+1 +0x1.e87f02p+0 +-0x1.66b792p+2 +0x1.380f5cp-6 +0x1.365818p+0 +-0x1.67eaeep+0 +-0x1.09e25ap+3 +-0x1.2241b2p+1 +-0x1.6e04ep+1 +-0x1.6d46ecp+16 +0x1.73f76cp+12 +0x1.d0ade4p+1 +0x1.78507ep+0 +0x1.5fdd7p+0 +-0x1.a40adcp+1 +-0x1.9a4966p+0 +-0x1.008704p-1 +-0x1.9050f6p+0 +0x1.9010a2p+1 +0x1.113376p+1 +0x1.4a4de4p+1 +-0x1.51fccep+1 +0x1.62829p+2 +0x1.6932cp+12 +0x1.901b08p-2 +0x1.ab8c84p+2 +0x1.71856ap+15 +-0x1.c1d5dep+1 +0x1.204096p+0 +-0x1.779b54p+2 +0x1.bf37ccp+5 +-0x1.20ab36p+1 +-0x1.049708p+2 +-0x1.29b568p+1 +-0x1.d35c08p-1 +-0x1.aca8dep+2 +0x1.50a42p+1 +0x1.dbbcc6p+1 +0x1.2c63ap+1 +0x1.ff5282p-2 +-0x1.27ad28p-7 +-0x1.63b808p+3 +0x1.f0119ap+0 +-0x1.43fe26p+1 +-0x1.0cfe3p+2 +-0x1.61f8fep+1 +0x1.ce5dcp+1 +-0x1.06ca42p+6 +0x1.ffa1bcp+1 +-0x1.c8012ap+1 +-0x1.1e7d7ap+2 +-0x1.2f748cp+1 +0x1.3e88e2p-3 +0x1.8f8bcp+2 +-0x1.1cff74p+3 +0x1.33c24p+1 +-0x1.f3fd38p+1 +0x1.546046p+2 +-0x1.13ae64p+1 +0x1.c8a558p+1 +0x1.a6e46p-1 +0x1.07ed1ap+3 +-0x1.44802ep+5 +-0x1.5e7ca8p+1 +-0x1.e68c3ap+2 +0x1.d7c9f4p-1 +0x1.ee68d4p-1 +-0x1.52875ep+2 +-0x1.d91c36p+2 +0x1.2b72dcp+3 +0x1.d0c78ap+0 +0x1.97c69p+2 +0x1.67d404p+2 +-0x1.b4cdb4p-2 +-0x1.ed7486p+0 +0x1.5adacep+2 +0x1.7fdec6p+1 +0x1.9f462ep-1 +-0x1.fdf4e4p-1 +-0x1.b7c4b8p+1 +0x1.0e3b08p+1 +-0x1.5d2e08p+2 +0x1.0cc27ep+0 +-0x1.37e812p+0 +-0x1.5a43d4p+1 +-0x1.314f14p+0 +0x1.064054p+2 +0x1.0d2922p+0 +-0x1.a6260cp+2 +0x1.c090bep+0 +0x1.8c59ccp+2 +-0x1.797c7ep+2 +-0x1.495fp+0 +-0x1.200c6ap+16 +-0x1.7ace46p-1 +0x1.5e5746p-2 +0x1.99a996p+1 +-0x1.64f4d4p+0 +0x1.5b2ceap-1 +-0x1.afae6cp-3 +0x1.2298eap+19 +0x1.76212ep-1 +0x1.1e35aap+0 +-0x1.2d2b34p+0 +-0x1.74477ap+0 +-0x1.da68dap+1 +-0x1.c28a74p+2 +-0x1.cf021p+2 +-0x1.7275fap+0 +-0x1.83d0b8p+1 +0x1.22e358p-1 +0x1.1d1dbcp+1 +0x1.b4bc74p+1 +0x1.686b4cp+2 +0x1.fbb52ap+2 +-0x1.cc7f9cp+0 +0x1.b6b478p+1 +0x1.0ebfbap+1 +-0x1.e6ace2p-2 +-0x1.d10448p+1 +-0x1.e195p-5 +-0x1.70f296p+3 +0x1.f83b5cp+1 +0x1.281cb6p+2 +-0x1.ff1218p-1 +0x1.3b7244p+1 +0x1.7faa66p+1 +-0x1.a4da56p+2 +0x1.372832p+0 +-0x1.ae3964p+1 +-0x1.ddcde6p-1 +-0x1.0670b4p-1 +0x1.fb5fecp-1 +0x1.a307fcp+0 +-0x1.404de2p+2 +0x1.144152p+2 +-0x1.f5874p-1 +-0x1.c07b0ep-1 +0x1.404e72p+0 +0x1.870ep+2 +-0x1.e37d0ep+1 +-0x1.4b5ae6p+1 +0x1.702676p+2 +-0x1.2edc38p+8 +-0x1.18feeep+2 +-0x1.372954p+2 +-0x1.63ed3cp+2 +0x1.ecf126p-1 +-0x1.1064e6p+3 +-0x1.a27bdep+1 +-0x1.37ed4cp-1 +0x1.024736p+1 +-0x1.3e9f48p+4 +-0x1.36aa08p-2 +-0x1.7caf6ep-1 +0x1.52875p+0 +0x1.708586p+0 +0x1.b8151ap+1 +0x1.960ca4p-2 +-0x1.9247d4p+2 +-0x1.963712p+14 +-0x1.0ed32p+2 +0x1.618874p+1 +-0x1.fb5976p+11 +0x1.375f6ep-1 +-0x1.385562p-1 +0x1.d85a86p+1 +-0x1.09daf8p-3 +0x1.5f9874p+1 +0x1.b10edp+1 +0x1.22a604p+1 +-0x1.611f38p+1 +-0x1.0d5822p+0 +-0x1.78931ep+0 +0x1.42a0ccp+2 +0x1.0cdd8ep+1 +0x1.583e82p+1 +-0x1.8dddfep-3 +-0x1.279f4ap-1 +-0x1.1c8f3ap-1 +0x1.f827ap+1 +0x1.7eb058p+2 +0x1.a0f708p+1 +0x1.10a96p+0 +0x1.05827p+1 +0x1.8a113cp+2 +-0x1.3089f2p+3 +0x1.4d41a4p+0 +0x1.b14674p+1 +-0x1.d7c6f6p+0 +0x1.66b6bp+1 +-0x1.7d4c86p+0 +0x1.fcdc6cp-1 +-0x1.9741acp+1 +-0x1.4217c4p+14 +0x1.b1a5e6p+1 +0x1.b3389ap+1 +0x1.3db378p+0 +-0x1.93fbc2p+0 +0x1.61b404p+1 +-0x1.859fc8p-3 +0x1.68d0bcp+10 +-0x1.bc3e98p+2 +0x1.aaa84p+0 +-0x1.a8e664p-3 +0x1.9efa88p+1 +-0x1.234ae4p+2 +-0x1.0721d8p-1 +-0x1.220a96p+0 +0x1.be0bbp+1 +0x1.45caa8p+1 +0x1.525a58p+0 +-0x1.2a1b7cp+3 +0x1.565a2cp+15 +0x1.567fa2p+1 +0x1.2e894ep+10 +0x1.d38e3p+2 +-0x1.0c94fep+8 +-0x1.343e0cp-5 +-0x1.0461c2p+1 +-0x1.c31b2cp+1 +0x1.8ed034p+2 +-0x1.40af5p+11 +0x1.e92acap+1 +-0x1.31b566p+3 +0x1.1cc31cp-1 +0x1.653508p+2 +-0x1.0ca9fap+2 +0x1.2c41e4p+2 +0x1.de2b3ap+8 +0x1.7ab962p+2 +-0x1.422954p+0 +0x1.0473c8p-2 +-0x1.4ec552p+0 +-0x1.489c9cp-2 +-0x1.8605a8p+1 +0x1.0b9704p-1 +0x1.af4e5ep+2 +-0x1.704884p+1 +0x1.0d834ep+2 +0x1.1a3fd4p+1 +-0x1.c9acb4p+2 +0x1.2cd38p+0 +-0x1.13feecp+2 +-0x1.44a39ep+2 +-0x1.43dc5p+0 +-0x1.95c022p+1 +-0x1.e9d0bcp+1 +0x1.779d34p+13 +0x1.2cf2ccp+2 +-0x1.5b046ap+2 +0x1.c4399ep+1 +-0x1.a99eb6p+2 +-0x1.245b16p+6 +-0x1.8c4bdcp+2 +-0x1.96e438p+2 +-0x1.3793p-2 +0x1.78aaccp+1 +0x1.ffaddep+1 +0x1.16e606p+2 +0x1.13f31ap-1 +-0x1.b1a47p+1 +-0x1.d63586p+1 +-0x1.387aa4p+2 +-0x1.097178p+12 +0x1.37444ep+0 +0x1.1735bp+3 +0x1.72bd4ep+8 +0x1.684edap+0 +-0x1.1faa74p+1 +0x1.35badcp+1 +0x1.fe7408p+2 +-0x1.80c2eep+2 +-0x1.2d1e06p+2 +-0x1.8035cep-2 +-0x1.36a9eap+2 +-0x1.9b108p-1 +-0x1.85e022p-4 +-0x1.5f96ep+3 +0x1.4b81b4p+2 +-0x1.27f868p+2 +-0x1.e34f4p+1 +0x1.3ff198p+0 +-0x1.acfc1p+0 +0x1.563f3ep+1 +-0x1.32c9dcp+3 +-0x1.218a5ap+0 +0x1.a9cb82p+0 +0x1.66683ep+2 +-0x1.dcf29ep+2 +0x1.7665bap+14 +0x1.41b464p+2 +-0x1.6b4318p+2 +0x1.0e5ad8p+1 +0x1.82de4ap+0 +0x1.12126ap+3 +-0x1.588a6p+2 +-0x1.56bb14p+0 +-0x1.c2d0fep+2 +0x1.c91e8cp-5 +-0x1.f9b58ep-2 +-0x1.01b178p+0 +0x1.30f176p+0 +0x1.96488ap+0 +0x1.9ee15p-2 +0x1.2b7cd8p+1 +0x1.335e7p+2 +0x1.32db26p+1 +0x1.49e462p+1 +0x1.809e28p+2 +0x1.b281cap+0 +-0x1.ef3af6p+1 +-0x1.92b6e6p+2 +0x1.26bc4ap+1 +-0x1.981004p-2 +-0x1.96ce7ep+1 +0x1.c37f9ap+0 +-0x1.96930cp+1 +0x1.a434fcp+0 +-0x1.7b13e4p+1 +0x1.b66e3ap-1 +-0x1.3157d8p+2 +0x1.027d88p+0 +-0x1.acd3e4p+2 +-0x1.dc96e4p+0 +-0x1.23d8ap+2 +-0x1.3e11a8p+0 +0x1.2ae06cp+2 +0x1.8236fcp-4 +0x1.90815ep+2 +-0x1.a8db4p-1 +-0x1.297586p+2 +-0x1.952cb4p+2 +-0x1.a20518p+1 +-0x1.cf28a6p+1 +0x1.931bfp+1 +0x1.6ab4bcp+7 +-0x1.9ce85ep+0 +-0x1.4292c2p+2 +-0x1.2b7d1cp+1 +-0x1.8d139p+1 +0x1.e9278cp+1 +0x1.942544p+2 +-0x1.1df8cep+2 +-0x1.31cep-2 +0x1.a7065ep+2 +0x1.b70b1cp+2 +0x1.930bc4p+1 +-0x1.2f167ep+2 +-0x1.5f5572p+1 +-0x1.01fae4p-1 +0x1.b78b4p+1 +0x1.d7a04ep+1 +0x1.f2be0ap-1 +0x1.4a4c52p+1 +0x1.0b3c1ap-1 +-0x1.8c5f16p+1 +0x1.3b31b4p+2 +-0x1.61f20ep+2 +-0x1.b3557p+2 +-0x1.3da99ep+1 +0x1.f9e9b2p+2 +-0x1.e29a44p+1 +-0x1.cb80f8p+0 +0x1.21d578p+1 +-0x1.5e774ap+0 +-0x1.b078ap+1 +0x1.7df532p+2 +-0x1.20e83ap+2 +-0x1.2ece3cp+1 +-0x1.b8dcfap-2 +-0x1.a820eap+1 +0x1.7b9754p+1 +0x1.c5837ep+2 +0x1.0617d2p+6 +-0x1.6a6fdep-2 +-0x1.cfc8ecp+0 +0x1.69168ep+15 +0x1.19aee6p+3 +0x1.cb4172p-2 +0x1.a2bc9ep-1 +-0x1.153a5p+2 +-0x1.e32cd2p+1 +0x1.cd1044p-2 +0x1.0fb76cp+0 +0x1.4bfd4ap+2 +0x1.806536p+1 +0x1.9579f6p+1 +0x1.3649p+0 +0x1.a0c47ap-6 +-0x1.09803p+1 +0x1.84fb0ep+1 +-0x1.855462p+2 +0x1.159624p+3 +-0x1.8df534p+0 +0x1.8cd25p+0 +-0x1.e7ad74p+2 +0x1.e6229ep-3 +0x1.bccca2p+0 +-0x1.8e288ep+1 +0x1.c2aa6p-1 +0x1.ff0a0cp+1 +-0x1.ddb1ecp+0 +-0x1.3e5476p+2 +0x1.858158p+2 +0x1.d178dcp+1 +0x1.9197fp+1 +0x1.f12d86p+1 +0x1.0ee4fap+2 +-0x1.0bec12p+2 +-0x1.c3b202p+0 +-0x1.40665ap+2 +0x1.5ca698p+1 +0x1.0886c6p+2 +-0x1.6ce43ep+2 +0x1.0d0446p+2 +-0x1.3cdd42p+2 +-0x1.98ab96p-1 +0x1.67118cp+0 +-0x1.6381dp+0 +0x1.a6ecb4p+1 +-0x1.9515b6p+2 +-0x1.3a8022p+1 +0x1.46c216p+2 +0x1.e89f14p+0 +-0x1.0b75a8p-2 +0x1.4109f4p+2 +-0x1.4b2822p+9 +-0x1.1566b4p+18 +-0x1.61350cp+2 +-0x1.32ed0ep+9 +0x1.77981ep-1 +-0x1.f701b8p-1 +0x1.ab815cp+2 +-0x1.cf59eap+1 +0x1.8ee6dcp+0 +0x1.8ec04cp+1 +0x1.bbf638p+1 +-0x1.a3fa38p+0 +-0x1.1af036p+0 +0x1.22f5cep+1 +-0x1.46a49ap+2 +-0x1.5d4fdcp+2 +-0x1.f72d2ap+1 +-0x1.8bcbb2p-7 +0x1.b6ac6ap+0 +-0x1.76022p+0 +-0x1.317764p+2 +0x1.1f9cb2p+2 +0x1.9e1294p+2 +-0x1.e7d7d2p+1 +-0x1.5beba2p+15 +0x1.a6ffb6p-4 +0x1.e6a5d2p-6 +-0x1.69a5bp-2 +0x1.05cd64p+13 +-0x1.9f7bb4p+2 +-0x1.239f28p+2 +0x1.21c244p+1 +0x1.63aca6p+1 +0x1.1981bcp+0 +0x1.ae3274p+1 +-0x1.acc7c2p+1 +0x1.354474p+2 +-0x1.01b9acp+1 +0x1.59db0ep+1 +0x1.1a8914p+3 +-0x1.5dab9ap-1 +-0x1.7abbe4p-1 +-0x1.a82b86p+7 +-0x1.7e72eep+1 +-0x1.90f286p+1 +0x1.c205ap+1 +0x1.d47afp+1 +0x1.adbf8cp+2 +0x1.dba40ep+13 +-0x1.4bf36p+1 +-0x1.0d0d08p+1 +-0x1.19084ap+2 +-0x1.dc5e8ap+1 +0x1.6f35d8p+17 +-0x1.7280f8p+7 +-0x1.53bf26p+1 +0x1.602114p+2 +0x1.1f2ccap+2 +0x1.82373ep+0 +0x1.13fep+0 +-0x1.6ea588p+15 +-0x1.75a7e4p+1 +0x1.7dbef6p+2 +0x1.2e9564p+2 +-0x1.0a1952p+2 +0x1.d5409cp+1 +-0x1.093fe4p+1 +0x1.1e6686p+3 +0x1.49e756p+14 +-0x1.0cbcf4p+2 +-0x1.813d0ep-1 +-0x1.30607p-3 +-0x1.4b5342p+2 +0x1.603252p+1 +-0x1.c601e6p+2 +-0x1.cd608ap+0 +-0x1.fa09ccp+1 +-0x1.797292p+2 +-0x1.ec98e2p+16 +-0x1.57cd52p+0 +0x1.b71ae6p+2 +-0x1.96ec48p+1 +0x1.0e0092p-2 +-0x1.042ca6p+2 +0x1.8a318cp+0 +-0x1.6a9bdap+0 +0x1.c52fbp+0 +-0x1.376f82p+2 +0x1.0698fap+1 +-0x1.1f6c54p+1 +-0x1.8094b4p+2 +0x1.4bf162p+0 +0x1.f19582p+2 +-0x1.1f0c82p+3 +0x1.6d0a9ep+0 +-0x1.b4f5ecp+2 +0x1.94ea4ap-3 +-0x1.dd3e7cp+1 +0x1.00c328p+1 +-0x1.06b808p-1 +0x1.5e68c2p+2 +0x1.b57a62p+1 +0x1.dbb778p+0 +0x1.f8599ep+1 +0x1.a8ce9ap+0 +-0x1.1178ccp+2 +-0x1.16b262p+1 +0x1.4cb31ap-1 +-0x1.2b698cp+1 +-0x1.1811c8p+11 +-0x1.9ead8p-1 +-0x1.7f25d2p+1 +-0x1.3ecb54p+0 +-0x1.42bd8cp+1 +-0x1.e64afp+2 +-0x1.8df506p-4 +-0x1.7fa6f8p+0 +0x1.f192dcp+1 +0x1.a23234p+2 +0x1.529f9ep-2 +-0x1.25c242p+2 +-0x1.264d34p+2 +-0x1.ab5a0ep+1 +0x1.27c7c8p-1 +0x1.be840ep+0 +0x1.abfd0ap+1 +0x1.73307cp-2 +0x1.d7fe8p+5 +-0x1.c614bap+2 +0x1.910e2p-1 +0x1.cc4adcp+1 +-0x1.072822p+2 +0x1.6f2704p+2 +0x1.1ee3a2p+3 +0x1.1469b4p+6 +0x1.d120bep-4 +-0x1.1fe198p+2 +-0x1.52b1fp+2 +-0x1.ae7658p+0 +-0x1.f114fp+2 +0x1.2db694p+1 +0x1.c01758p-1 +0x1.72e3d4p+10 +-0x1.97d9cap+2 +-0x1.3aa6e6p+0 +0x1.e084f6p-1 +0x1.5076f4p+10 +0x1.4d23p+2 +-0x1.229a22p+2 +-0x1.15d246p+2 +-0x1.14ca8p-3 +-0x1.d28014p+2 +0x1.97ed02p+0 +0x1.2295dap+2 +0x1.03ef26p+1 +0x1.a8e6fep+0 +0x1.075564p+1 +-0x1.f6ca0cp-1 +-0x1.45c58p-1 +-0x1.c3de1ep-3 +0x1.e727dap+0 +0x1.abe67p+0 +-0x1.8fa346p+2 +-0x1.70b346p+0 +-0x1.1d62cp+3 +0x1.4f8956p+3 +-0x1.2baea6p+0 +0x1.c74a0cp+0 +0x1.5ab764p+2 +-0x1.8b71bp+0 +0x1.e5599ap-2 +-0x1.af9142p+11 +0x1.281956p+2 +-0x1.aef2dep+2 +-0x1.e88a04p+2 +-0x1.15c314p-4 +-0x1.c518dcp+1 +-0x1.73992ap-1 +0x1.a6465ap+2 +0x1.6618c4p-6 +0x1.01d2e8p+2 +0x1.4919b4p+1 +-0x1.87c72p-1 +0x1.841276p-4 +0x1.8e16c2p+1 +0x1.e0c19cp+0 +0x1.6efdb6p+0 +0x1.77a86cp+2 +-0x1.9a52b4p+0 +0x1.2decd2p+2 +0x1.efa19ap-1 +-0x1.f7faecp-2 +-0x1.125dbep+1 +-0x1.aa25dap+0 +-0x1.0509b6p+2 +-0x1.0e841ep+3 +0x1.14f30ap-5 +0x1.8371f6p+2 +-0x1.a6997cp+1 +0x1.d0be9ap-2 +0x1.7a187p+1 +0x1.5c3bdp+2 +0x1.a8caecp+2 +0x1.4fabbp-1 +0x1.52e96p+2 +0x1.6ef878p+0 +0x1.e6a8c2p+1 +-0x1.153cd8p+1 +0x1.7465e2p+2 +0x1.19c6a2p+1 +-0x1.f883f4p+14 +0x1.72168ep+0 +-0x1.fad952p+0 +-0x1.d3401ap+0 +0x1.1d3854p+1 +0x1.5c0a66p+2 +-0x1.8183e6p-1 +0x1.e1e5eep-1 +-0x1.2c7666p+3 +0x1.31e48ep+3 +-0x1.5b84d8p+1 +0x1.ac7e36p+1 +0x1.171c6cp+1 +0x1.b38194p-6 +-0x1.9c0b56p+1 +-0x1.16cd88p+1 +-0x1.5a04d8p+2 +-0x1.0cc51ep+3 +-0x1.d5ed58p+1 +-0x1.056de2p+2 +-0x1.e09562p+0 +0x1.0f0196p+1 +0x1.7fa3f6p+1 +0x1.fac5bp+0 +-0x1.f77ae6p+2 +-0x1.6f44f4p+0 +-0x1.9d4e52p+2 +0x1.b9e494p+15 +-0x1.58acb6p+0 +-0x1.87063ap+1 +0x1.b94356p+1 +0x1.8637e6p+1 +-0x1.440ac8p+1 +0x1.61efb8p+6 +-0x1.bf9b0ep+1 +0x1.657f4cp-1 +-0x1.8f9cb6p+2 +0x1.1399d8p+2 +0x1.a28952p+0 +-0x1.23308ep+2 +-0x1.4c282ap-1 +-0x1.d9f856p+1 +0x1.bf6c9p+2 +-0x1.87bd2p+0 +-0x1.fb5cc2p+11 +0x1.472382p+1 +0x1.92499ap+2 +0x1.23e2c4p+1 +-0x1.bf5fbp+6 +-0x1.03af7ap+3 +-0x1.57e604p+0 +0x1.489f06p+2 +0x1.a3378ep+1 +0x1.127a2p+2 +-0x1.0412acp+2 +-0x1.c1fab6p-1 +-0x1.534a36p+2 +-0x1.227eeap+1 +-0x1.60bafap+2 +-0x1.6c1b4cp+1 +-0x1.e55c3p+1 +0x1.0136a2p-2 +-0x1.0ffdf8p+1 +-0x1.c6576p+1 +-0x1.b2896ep-3 +0x1.574f6ap-1 +0x1.324236p+2 +-0x1.a32442p+0 +0x1.9a389ap+2 +-0x1.1171cap+2 +0x1.0f7b1ep+1 +-0x1.6c053ep+1 +-0x1.9b99b6p+0 +0x1.b2a6d8p+2 +0x1.1f2bd6p+0 +-0x1.f0ccccp+1 +-0x1.1733p+1 +-0x1.6b2756p+1 +-0x1.187854p+2 +0x1.a7991ap+0 +0x1.857358p+1 +-0x1.0cfed6p-3 +-0x1.4de6ecp+1 +0x1.51a062p+1 +0x1.150624p-1 +-0x1.5cfe06p+2 +0x1.79170cp-1 +0x1.03e7acp+2 +-0x1.189198p+1 +0x1.b4c6bep-1 +-0x1.9184c8p+1 +-0x1.896958p+1 +0x1.5be384p+3 +-0x1.0a5d4ep+2 +0x1.9a2808p-2 +-0x1.52f6fcp+1 +0x1.3c8b1ep+0 +0x1.2ea336p-1 +0x1.e53f12p+2 +0x1.957874p+2 +-0x1.2e50c6p+1 +0x1.f60822p+0 +0x1.b8e3e6p+1 +0x1.288f64p+2 +0x1.3ab57ap+1 +0x1.00560ep+2 +-0x1.018fdap+0 +-0x1.1663e6p-3 +-0x1.b38c7ap+0 +-0x1.56593cp+0 +-0x1.658a9ap+2 +-0x1.0694d4p+0 +-0x1.72fcdcp+2 +-0x1.d97294p+0 +-0x1.c49a1ep+0 +-0x1.9fe246p+18 +-0x1.2f653ap+2 +-0x1.e1be1ep+0 +-0x1.6f8874p+0 +-0x1.66bc1ap+14 +0x1.082ca6p-2 +-0x1.a2bbbep+0 +-0x1.56d822p+1 +-0x1.0dbebap+1 +-0x1.b94eb6p+1 +-0x1.a9bf86p-1 +-0x1.085582p+0 +0x1.022d02p-1 +0x1.3063e8p+3 +0x1.eab3b2p+2 +0x1.e5f194p+1 +0x1.2d3fbap+13 +0x1.e69e94p-1 +0x1.545416p+1 +-0x1.b5e41p+1 +-0x1.68c7d2p-1 +0x1.7ffc78p-2 +0x1.a668c8p+2 +0x1.0b28f2p+4 +0x1.433504p+2 +0x1.685124p+3 +0x1.4745e4p+1 +-0x1.695746p+0 +-0x1.c3d85cp+2 +0x1.2ca546p+2 +-0x1.5e28cep+0 +-0x1.92bfbap+1 +0x1.97f2a6p+0 +0x1.282c0ep+1 +0x1.2e83fp-5 +-0x1.e1a488p-2 +-0x1.95bdb2p-1 +0x1.6600fep+2 +0x1.2e1d9cp-2 +-0x1.70e9eap-1 +-0x1.d20f1ap+1 +-0x1.c22c62p+0 +0x1.5ede8cp+0 +-0x1.ddccc6p+0 +-0x1.37b3b2p+1 +0x1.293dccp+1 +0x1.a0908ap+1 +-0x1.19e172p+1 +-0x1.1587ap+2 +0x1.04d7bep+2 +0x1.a9bfdp-1 +0x1.7ffbdp+1 +-0x1.604336p+0 +0x1.d302bap+10 +0x1.0ac26cp-1 +-0x1.2f2bf4p+2 +0x1.3193cep-1 +0x1.44e9dp+2 +-0x1.e43e3p+2 +-0x1.28e92p+1 +-0x1.7353a4p+1 +-0x1.10a858p+2 +0x1.32f94cp-3 +0x1.f9f834p-2 +0x1.975716p+0 +0x1.1d7c02p+2 +-0x1.598ebep+4 +-0x1.5d11dp+1 +-0x1.2747dap+0 +0x1.7f675ep+2 +-0x1.25e7bep+3 +0x1.2ab506p+1 +-0x1.b5d0f4p-1 +-0x1.6c1508p-1 +-0x1.cee6ecp+0 +0x1.07e3d6p+3 +-0x1.c45816p+2 +-0x1.308592p+2 +0x1.ab0d78p+0 +0x1.b383e6p+1 +0x1.5da5ecp+1 +-0x1.ae0576p+1 +0x1.4f48d4p+1 +-0x1.880168p-1 +-0x1.87add8p+2 +-0x1.14db9ap+1 +0x1.47c03p+0 +-0x1.2b0216p+2 +-0x1.7bfb0cp-3 +-0x1.0c23e6p+2 +-0x1.15774ap+1 +-0x1.7ac434p-1 +0x1.c550fcp+2 +0x1.83d7cep+2 +0x1.0175d4p+3 +-0x1.2212fap-1 +0x1.217f3ep+2 +-0x1.cd855cp+0 +0x1.ccea5ap+0 +0x1.558402p+1 +-0x1.8ab1c2p+2 +-0x1.809848p-1 +-0x1.0d8638p+15 +0x1.305104p+3 +0x1.eff682p+1 +-0x1.5afb16p+2 +0x1.1e33cp+2 +-0x1.537654p+8 +0x1.2a89dep+0 +-0x1.1674f4p+2 +-0x1.2284f2p-4 +-0x1.cf1ddap+0 +0x1.b3a79p+1 +0x1.468334p+0 +0x1.190e34p+1 +0x1.2509ecp-1 +0x1.7a11f6p+1 +-0x1.ce345cp-4 +-0x1.203b3cp+2 +-0x1.19cab6p+10 +0x1.963b6ep+1 +-0x1.e1bdc6p+1 +0x1.4d96d8p+2 +-0x1.b92d8p+0 +0x1.e2caa2p+1 +0x1.f8baf2p-2 +-0x1.02dc14p+3 +-0x1.36dbap+5 +0x1.612d64p+14 +0x1.5e37aap+1 +-0x1.17bda6p+17 +-0x1.19840ap+2 +0x1.1959ep+1 +0x1.52bed4p+2 +0x1.ddc342p+6 +0x1.eee934p+0 +0x1.203d42p-1 +0x1.90b58ep+2 +-0x1.37057ap+1 +-0x1.b2a806p+2 +0x1.e67ccep+2 +-0x1.3c67a4p+2 +-0x1.bfe3aap+1 +0x1.35cebcp+2 +0x1.0422ccp+2 +-0x1.60be74p+1 +0x1.035cecp+1 +0x1.7f99fcp+0 +-0x1.6f9c5ep+2 +-0x1.845438p+2 +-0x1.127e6ep+0 +0x1.4cfddep+2 +-0x1.1d4bd6p+2 +0x1.6a88e8p+1 +0x1.60d99ap+7 +-0x1.3b15fp-1 +0x1.4e94p-2 +-0x1.8afd24p-1 +-0x1.80a282p+1 +0x1.59afdp+17 +-0x1.1f50c4p+1 +0x1.d420b2p-1 +-0x1.1fb622p+0 +0x1.7df5acp+1 +0x1.6eb4e8p-1 +-0x1.1194fep+2 +0x1.13a326p+1 +0x1.e7069cp+2 +-0x1.89a242p+1 +-0x1.107502p+2 +-0x1.fb0a94p+1 +-0x1.f37b9ep+2 +-0x1.55cp+2 +0x1.12ed7ap+0 +0x1.cd24b4p+0 +0x1.17089p+2 +0x1.90a1fcp+1 +0x1.88f71ap+0 +-0x1.0e428ap-2 +-0x1.9a536ep+0 +-0x1.f8c908p+1 +0x1.40c9a2p-4 +0x1.bb0f58p+2 +0x1.4f096cp+2 +-0x1.8639acp-1 +-0x1.ddc002p-5 +0x1.15ea76p+2 +-0x1.a43148p+2 +0x1.3085c6p+3 +-0x1.3a122cp+1 +-0x1.8466c8p+1 +-0x1.07a3a2p+1 +-0x1.64907p+2 +-0x1.b6cfc8p+0 +0x1.a9f23ep+1 +0x1.8f8862p+1 +-0x1.0520dap+1 +-0x1.fd38e4p+1 +0x1.4c6edep+15 +-0x1.a17682p+2 +-0x1.ec6228p+14 +-0x1.8824d2p+2 +0x1.100b8ep-1 +-0x1.8303ap+2 +-0x1.32ae3cp-1 +0x1.20cb3cp+2 +0x1.b455d2p+0 +0x1.321f6ap+1 +-0x1.d72368p+2 +-0x1.38e87ep+17 +-0x1.e802acp+1 +-0x1.283a26p+0 +-0x1.4683fcp-1 +-0x1.097924p+2 +0x1.6fae44p-2 +-0x1.66857cp-5 +-0x1.1808dp+2 +-0x1.88bbc4p+1 +-0x1.22e884p-1 +0x1.ce560cp-4 +0x1.fe4936p+0 +-0x1.e70f7ap+1 +-0x1.a22572p+2 +0x1.93bb64p+1 +-0x1.26ee7ep+2 +-0x1.86e8ap+2 +0x1.324cacp+2 +0x1.1e2ab2p+1 +-0x1.23a576p+1 +-0x1.24f144p+1 +-0x1.4b31f8p-1 +0x1.16c554p+1 From patchwork Wed Nov 24 19:37:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48090 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CE40B3858023 for ; Wed, 24 Nov 2021 20:05:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CE40B3858023 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637784357; bh=XdBg6j1IH0WV0urUgs5jDoyHGpix8dKV18hOoumMkqw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=D8jd+OtXtwBhOm8cQGbMlycZjeH1pfBwGt3Nw5Ft9j07Fkaz4E8hNgonWXnV6Qn3d lDqBPeTcRLJMBBmKlIGBQ0p+kbm+4vQ223RbDYAleAOiCfBpmuWiQZmBVDUYfv8Ma1 I8tvMFPvRwTns6/nceIRSJHdxt1u9fUchY0xJHv8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 386123857C59 for ; Wed, 24 Nov 2021 19:38:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 386123857C59 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235177328" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235177328" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="591701872" Received: from scymds02.sc.intel.com ([10.82.73.244]) by FMSMGA003.fm.intel.com with ESMTP; 24 Nov 2021 11:38:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Ww021555; Wed, 24 Nov 2021 11:38:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 11/42] x86-64: Add vector atan2/atan2f implementation to libmvec Date: Wed, 24 Nov 2021 11:37:36 -0800 Message-Id: <20211124193807.2093208-12-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.2 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized atan2/atan2f containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector atan2/atan2f with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_atan22_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_atan22_core.c | 28 + .../fpu/multiarch/svml_d_atan22_core_sse4.S | 3628 +++++++++++++++++ .../fpu/multiarch/svml_d_atan24_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_atan24_core.c | 28 + .../fpu/multiarch/svml_d_atan24_core_avx2.S | 3160 ++++++++++++++ .../fpu/multiarch/svml_d_atan28_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_atan28_core.c | 28 + .../fpu/multiarch/svml_d_atan28_core_avx512.S | 2310 +++++++++++ .../fpu/multiarch/svml_s_atan2f16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_atan2f16_core.c | 28 + .../multiarch/svml_s_atan2f16_core_avx512.S | 1997 +++++++++ .../fpu/multiarch/svml_s_atan2f4_core-sse2.S | 20 + .../fpu/multiarch/svml_s_atan2f4_core.c | 28 + .../fpu/multiarch/svml_s_atan2f4_core_sse4.S | 2667 ++++++++++++ .../fpu/multiarch/svml_s_atan2f8_core-sse.S | 20 + .../fpu/multiarch/svml_s_atan2f8_core.c | 28 + .../fpu/multiarch/svml_s_atan2f8_core_avx2.S | 2412 +++++++++++ sysdeps/x86_64/fpu/svml_d_atan22_core.S | 29 + sysdeps/x86_64/fpu/svml_d_atan24_core.S | 29 + sysdeps/x86_64/fpu/svml_d_atan24_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_atan28_core.S | 25 + sysdeps/x86_64/fpu/svml_s_atan2f16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_atan2f4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_atan2f8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_atan2f8_core_avx.S | 25 + .../fpu/test-double-libmvec-atan2-avx.c | 1 + .../fpu/test-double-libmvec-atan2-avx2.c | 1 + .../fpu/test-double-libmvec-atan2-avx512f.c | 1 + .../x86_64/fpu/test-double-libmvec-atan2.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../fpu/test-float-libmvec-atan2f-avx.c | 1 + .../fpu/test-float-libmvec-atan2f-avx2.c | 1 + .../fpu/test-float-libmvec-atan2f-avx512f.c | 1 + .../x86_64/fpu/test-float-libmvec-atan2f.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 16745 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atan22_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atan24_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atan24_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atan28_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atan2f16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atan2f4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atan2f8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atan2f8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atan2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atan2f.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 3e0aa043b4..bd8019839c 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -153,4 +153,15 @@ #define __DECL_SIMD_atanf32x #define __DECL_SIMD_atanf64x #define __DECL_SIMD_atanf128x + +#define __DECL_SIMD_atan2 +#define __DECL_SIMD_atan2f +#define __DECL_SIMD_atan2l +#define __DECL_SIMD_atan2f16 +#define __DECL_SIMD_atan2f32 +#define __DECL_SIMD_atan2f64 +#define __DECL_SIMD_atan2f128 +#define __DECL_SIMD_atan2f32x +#define __DECL_SIMD_atan2f64x +#define __DECL_SIMD_atan2f128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index f37dbeebfb..b1b11b74ee 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -56,7 +56,7 @@ __MATHCALL_VEC (asin,, (_Mdouble_ __x)); /* Arc tangent of X. */ __MATHCALL_VEC (atan,, (_Mdouble_ __x)); /* Arc tangent of Y/X. */ -__MATHCALL (atan2,, (_Mdouble_ __y, _Mdouble_ __x)); +__MATHCALL_VEC (atan2,, (_Mdouble_ __y, _Mdouble_ __x)); /* Cosine of X. */ __MATHCALL_VEC (cos,, (_Mdouble_ __x)); diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 2ead94d87e..9b47e83aec 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -51,38 +51,46 @@ GLIBC_2.35 _ZGVbN2v_acosh F GLIBC_2.35 _ZGVbN2v_asin F GLIBC_2.35 _ZGVbN2v_asinh F GLIBC_2.35 _ZGVbN2v_atan F +GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F GLIBC_2.35 _ZGVbN4v_asinf F GLIBC_2.35 _ZGVbN4v_asinhf F GLIBC_2.35 _ZGVbN4v_atanf F +GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F GLIBC_2.35 _ZGVcN4v_asin F GLIBC_2.35 _ZGVcN4v_asinh F GLIBC_2.35 _ZGVcN4v_atan F +GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F GLIBC_2.35 _ZGVcN8v_asinf F GLIBC_2.35 _ZGVcN8v_asinhf F GLIBC_2.35 _ZGVcN8v_atanf F +GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F GLIBC_2.35 _ZGVdN4v_asin F GLIBC_2.35 _ZGVdN4v_asinh F GLIBC_2.35 _ZGVdN4v_atan F +GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F GLIBC_2.35 _ZGVdN8v_asinf F GLIBC_2.35 _ZGVdN8v_asinhf F GLIBC_2.35 _ZGVdN8v_atanf F +GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F GLIBC_2.35 _ZGVeN16v_asinf F GLIBC_2.35 _ZGVeN16v_asinhf F GLIBC_2.35 _ZGVeN16v_atanf F +GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F GLIBC_2.35 _ZGVeN8v_asin F GLIBC_2.35 _ZGVeN8v_asinh F GLIBC_2.35 _ZGVeN8v_atan F +GLIBC_2.35 _ZGVeN8vv_atan2 F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index ef0a3fb7ed..67a326566c 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -78,6 +78,10 @@ # define __DECL_SIMD_atan __DECL_SIMD_x86_64 # undef __DECL_SIMD_atanf # define __DECL_SIMD_atanf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2 +# define __DECL_SIMD_atan2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2f +# define __DECL_SIMD_atan2f __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 1364381877..b37aabe83f 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -27,6 +27,7 @@ libmvec-funcs = \ asin \ asinh \ atan \ + atan2 \ cos \ exp \ log \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index f7ce07574f..57de41e864 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -19,10 +19,12 @@ libmvec { _ZGVbN2v_asin; _ZGVcN4v_asin; _ZGVdN4v_asin; _ZGVeN8v_asin; _ZGVbN2v_asinh; _ZGVcN4v_asinh; _ZGVdN4v_asinh; _ZGVeN8v_asinh; _ZGVbN2v_atan; _ZGVcN4v_atan; _ZGVdN4v_atan; _ZGVeN8v_atan; + _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; _ZGVbN4v_asinf; _ZGVcN8v_asinf; _ZGVdN8v_asinf; _ZGVeN16v_asinf; _ZGVbN4v_asinhf; _ZGVcN8v_asinhf; _ZGVdN8v_asinhf; _ZGVeN16v_asinhf; _ZGVbN4v_atanf; _ZGVcN8v_atanf; _ZGVdN8v_atanf; _ZGVeN16v_atanf; + _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index de345e2bf1..329e7f58a2 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -203,6 +203,26 @@ float: 2 float128: 2 ldouble: 1 +Function: "atan2_vlen16": +float: 2 + +Function: "atan2_vlen2": +double: 1 + +Function: "atan2_vlen4": +double: 1 +float: 2 + +Function: "atan2_vlen4_avx2": +double: 1 + +Function: "atan2_vlen8": +double: 1 +float: 2 + +Function: "atan2_vlen8_avx2": +float: 2 + Function: "atan_downward": double: 1 float: 2 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core-sse2.S new file mode 100644 index 0000000000..6c3ad05a6c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized atan2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2vv_atan2 _ZGVbN2vv_atan2_sse2 +#include "../svml_d_atan22_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core.c new file mode 100644 index 0000000000..43f1ee7f33 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atan2, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2vv_atan2 +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2vv_atan2, __GI__ZGVbN2vv_atan2, + __redirect__ZGVbN2vv_atan2) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core_sse4.S new file mode 100644 index 0000000000..a74d82503c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core_sse4.S @@ -0,0 +1,3628 @@ +/* Function atan vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVbN2vv_atan2_sse4) + 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 + movups %xmm8, 112(%rsp) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movaps %xmm0, %xmm8 + +/* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Get r0~=1/B + * Cannot be replaced by VQRCP(D, dR0, dB); + * Argument Absolute values + */ + movups 1728+__svml_datan2_data_internal(%rip), %xmm4 + movups %xmm9, 96(%rsp) + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + movaps %xmm1, %xmm9 + movaps %xmm4, %xmm1 + andps %xmm8, %xmm4 + andps %xmm9, %xmm1 + movaps %xmm4, %xmm2 + cmpnltpd %xmm1, %xmm2 + +/* Argument signs */ + movups 1536+__svml_datan2_data_internal(%rip), %xmm3 + movaps %xmm2, %xmm0 + movaps %xmm3, %xmm7 + movaps %xmm3, %xmm6 + +/* + * 1) If yx then a=-x, b=y, PIO2=Pi/2 + */ + orps %xmm1, %xmm3 + andnps %xmm4, %xmm0 + andps %xmm2, %xmm3 + andps %xmm9, %xmm7 + movups 64+__svml_datan2_data_internal(%rip), %xmm5 + orps %xmm3, %xmm0 + movaps %xmm2, %xmm3 + andps %xmm2, %xmm5 + andnps %xmm1, %xmm3 + andps %xmm4, %xmm2 + orps %xmm2, %xmm3 + andps %xmm8, %xmm6 + divpd %xmm3, %xmm0 + movups %xmm10, 48(%rsp) + movq 1600+__svml_datan2_data_internal(%rip), %xmm2 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + +/* Check if y and x are on main path. */ + pshufd $221, %xmm1, %xmm10 + psubd %xmm2, %xmm10 + movups %xmm11, 80(%rsp) + movups %xmm12, 32(%rsp) + movups %xmm4, 16(%rsp) + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + movq 1664+__svml_datan2_data_internal(%rip), %xmm11 + pshufd $221, %xmm4, %xmm12 + movdqa %xmm10, %xmm4 + pcmpgtd %xmm11, %xmm4 + pcmpeqd %xmm11, %xmm10 + por %xmm10, %xmm4 + +/* Polynomial. */ + movaps %xmm0, %xmm10 + mulpd %xmm0, %xmm10 + psubd %xmm2, %xmm12 + movups %xmm13, 144(%rsp) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + movdqa %xmm12, %xmm13 + pcmpgtd %xmm11, %xmm13 + pcmpeqd %xmm11, %xmm12 + por %xmm12, %xmm13 + movaps %xmm10, %xmm12 + mulpd %xmm10, %xmm12 + por %xmm13, %xmm4 + movaps %xmm12, %xmm13 + mulpd %xmm12, %xmm13 + movmskps %xmm4, %eax + movups %xmm15, 160(%rsp) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movups 256+__svml_datan2_data_internal(%rip), %xmm15 + mulpd %xmm13, %xmm15 + movups 320+__svml_datan2_data_internal(%rip), %xmm11 + movups 384+__svml_datan2_data_internal(%rip), %xmm2 + addpd 512+__svml_datan2_data_internal(%rip), %xmm15 + mulpd %xmm13, %xmm11 + mulpd %xmm13, %xmm2 + mulpd %xmm13, %xmm15 + addpd 576+__svml_datan2_data_internal(%rip), %xmm11 + addpd 640+__svml_datan2_data_internal(%rip), %xmm2 + addpd 768+__svml_datan2_data_internal(%rip), %xmm15 + mulpd %xmm13, %xmm11 + mulpd %xmm13, %xmm2 + mulpd %xmm13, %xmm15 + addpd 832+__svml_datan2_data_internal(%rip), %xmm11 + addpd 896+__svml_datan2_data_internal(%rip), %xmm2 + addpd 1024+__svml_datan2_data_internal(%rip), %xmm15 + mulpd %xmm13, %xmm11 + mulpd %xmm13, %xmm2 + mulpd %xmm13, %xmm15 + addpd 1088+__svml_datan2_data_internal(%rip), %xmm11 + addpd 1152+__svml_datan2_data_internal(%rip), %xmm2 + addpd 1280+__svml_datan2_data_internal(%rip), %xmm15 + mulpd %xmm13, %xmm11 + mulpd %xmm13, %xmm2 + mulpd %xmm10, %xmm15 + addpd 1344+__svml_datan2_data_internal(%rip), %xmm11 + addpd 1408+__svml_datan2_data_internal(%rip), %xmm2 + addpd %xmm15, %xmm11 + mulpd %xmm2, %xmm10 + mulpd %xmm11, %xmm12 + movups %xmm14, 176(%rsp) + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movups 448+__svml_datan2_data_internal(%rip), %xmm14 + mulpd %xmm13, %xmm14 + addpd 704+__svml_datan2_data_internal(%rip), %xmm14 + mulpd %xmm13, %xmm14 + addpd 960+__svml_datan2_data_internal(%rip), %xmm14 + mulpd %xmm13, %xmm14 + addpd 1216+__svml_datan2_data_internal(%rip), %xmm14 + +/* A00=1.0, account for it later VQFMA(D, dP4, dP4, dR8, dA00); */ + mulpd %xmm14, %xmm13 + addpd %xmm10, %xmm13 + addpd %xmm12, %xmm13 + +/* + * Reconstruction. + * dP=(R+R*dP) + dPIO2 + */ + mulpd %xmm0, %xmm13 + addpd %xmm13, %xmm0 + movups %xmm3, (%rsp) + +/* if x<0, dPI = Pi, else dPI =0 */ + movaps %xmm9, %xmm3 + cmplepd 1792+__svml_datan2_data_internal(%rip), %xmm3 + addpd %xmm5, %xmm0 + andps __svml_datan2_data_internal(%rip), %xmm3 + orps %xmm7, %xmm0 + addpd %xmm3, %xmm0 + +/* Special branch for fast (vector) processing of zero arguments */ + movups 16(%rsp), %xmm11 + orps %xmm6, %xmm0 + testb $3, %al + 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: + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 48(%rsp), %xmm10 + cfi_restore(27) + movups 80(%rsp), %xmm11 + cfi_restore(28) + movups 32(%rsp), %xmm12 + cfi_restore(29) + movups 144(%rsp), %xmm13 + cfi_restore(30) + movups 176(%rsp), %xmm14 + cfi_restore(31) + movups 160(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_4: + movups %xmm8, 64(%rsp) + movups %xmm9, 128(%rsp) + movups %xmm0, 192(%rsp) + je .LBL_1_3 + xorl %eax, %eax + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_8: + btl %r12d, %r13d + jc .LBL_1_11 + +.LBL_1_9: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_8 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm0 + jmp .LBL_1_3 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 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) + +.LBL_1_12: +/* Check if at least on of Y or Y is zero: iAXAYZERO */ + movups 1792+__svml_datan2_data_internal(%rip), %xmm2 + +/* Check if both X & Y are not NaNs: iXYnotNAN */ + movaps %xmm9, %xmm12 + movaps %xmm8, %xmm10 + cmpordpd %xmm9, %xmm12 + cmpordpd %xmm8, %xmm10 + cmpeqpd %xmm2, %xmm1 + cmpeqpd %xmm2, %xmm11 + andps %xmm10, %xmm12 + orps %xmm11, %xmm1 + pshufd $221, %xmm1, %xmm1 + pshufd $221, %xmm12, %xmm11 + +/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ + pand %xmm11, %xmm1 + +/* Exclude from previous callout mask zero (and not NaN) arguments */ + movdqa %xmm1, %xmm13 + pandn %xmm4, %xmm13 + +/* + * Path for zero arguments (at least one of both) + * Check if both args are zeros (den. is zero) + */ + movups (%rsp), %xmm4 + cmpeqpd %xmm2, %xmm4 + +/* Go to callout */ + movmskps %xmm13, %edx + +/* Set sPIO2 to zero if den. is zero */ + movaps %xmm4, %xmm15 + andps %xmm2, %xmm4 + andnps %xmm5, %xmm15 + andl $3, %edx + orps %xmm4, %xmm15 + pshufd $221, %xmm9, %xmm5 + orps %xmm7, %xmm15 + +/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ + pshufd $221, %xmm2, %xmm7 + pcmpgtd %xmm5, %xmm7 + pshufd $80, %xmm7, %xmm14 + andps %xmm3, %xmm14 + addpd %xmm14, %xmm15 + +/* Merge results from main and spec path */ + pshufd $80, %xmm1, %xmm3 + orps %xmm6, %xmm15 + movdqa %xmm3, %xmm6 + andps %xmm3, %xmm15 + andnps %xmm0, %xmm6 + movaps %xmm6, %xmm0 + orps %xmm15, %xmm0 + jmp .LBL_1_2 + +END(_ZGVbN2vv_atan2_sse4) + + .align 16,0x90 + +__svml_datan2_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_datan2_cout_rare_internal,@function + .size __svml_datan2_cout_rare_internal,.-__svml_datan2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_datan2_data_internal: + .long 1413754136 + .long 1074340347 + .long 1413754136 + .long 1074340347 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 17919630 + .long 3202334474 + .long 17919630 + .long 3202334474 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 350522012 + .long 1058555694 + .long 350522012 + .long 1058555694 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 934004643 + .long 3203726773 + .long 934004643 + .long 3203726773 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 912675337 + .long 1059908874 + .long 912675337 + .long 1059908874 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2476035107 + .long 3209881212 + .long 2476035107 + .long 3209881212 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2927800243 + .long 1064262173 + .long 2927800243 + .long 1064262173 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1636715437 + .long 3213013740 + .long 1636715437 + .long 3213013740 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1712395941 + .long 1066487628 + .long 1712395941 + .long 1066487628 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2961307292 + .long 3214564995 + .long 2961307292 + .long 3214564995 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 213298511 + .long 1067542936 + .long 213298511 + .long 1067542936 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3848520124 + .long 3215257506 + .long 3848520124 + .long 3215257506 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3159386171 + .long 1067969551 + .long 3159386171 + .long 1067969551 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3936393556 + .long 3215643233 + .long 3936393556 + .long 3215643233 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3177262543 + .long 1068373833 + .long 3177262543 + .long 1068373833 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 9713120 + .long 3216052356 + .long 9713120 + .long 3216052356 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1227445841 + .long 1068740906 + .long 1227445841 + .long 1068740906 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 163240596 + .long 3216459216 + .long 163240596 + .long 3216459216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 133682613 + .long 1069314503 + .long 133682613 + .long 1069314503 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2448315847 + .long 3217180964 + .long 2448315847 + .long 3217180964 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2576870964 + .long 1070176665 + .long 2576870964 + .long 1070176665 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431655365 + .long 3218429269 + .long 1431655365 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2150629376 + .long 2150629376 + .long 2150629376 + .long 2150629376 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4258267136 + .long 4258267136 + .long 4258267136 + .long 4258267136 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4293918720 + .long 4293918720 + .long 4293918720 + .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 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 133169152 + .long 133169152 + .long 133169152 + .long 133169152 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294967295 + .long 0 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core-sse.S new file mode 100644 index 0000000000..0db843a088 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized atan2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4vv_atan2 _ZGVdN4vv_atan2_sse_wrapper +#include "../svml_d_atan24_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core.c new file mode 100644 index 0000000000..c2e2611584 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atan2, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4vv_atan2 +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4vv_atan2, __GI__ZGVdN4vv_atan2, + __redirect__ZGVdN4vv_atan2) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core_avx2.S new file mode 100644 index 0000000000..d5ec313a28 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core_avx2.S @@ -0,0 +1,3160 @@ +/* Function atan vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVdN4vv_atan2_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + xorl %edx, %edx + +/* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Get r0~=1/B + * Cannot be replaced by VQRCP(D, dR0, dB); + * Argument Absolute values + */ + vmovupd 1728+__svml_datan2_data_internal(%rip), %ymm5 + +/* Argument signs */ + vmovupd 1536+__svml_datan2_data_internal(%rip), %ymm4 + vmovups %ymm8, 32(%rsp) + vmovups %ymm14, 320(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm13, 288(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovups 1600+__svml_datan2_data_internal(%rip), %xmm13 + vmovups %ymm12, 256(%rsp) + vmovups %ymm11, 224(%rsp) + vmovupd %ymm0, (%rsp) + vmovups %ymm15, 352(%rsp) + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + vmovapd %ymm1, %ymm8 + vandpd %ymm5, %ymm8, %ymm2 + vandpd %ymm5, %ymm0, %ymm1 + vcmpnlt_uqpd %ymm2, %ymm1, %ymm3 + +/* + * 1) If yx then a=-x, b=y, PIO2=Pi/2 + */ + vorpd %ymm4, %ymm2, %ymm6 + vblendvpd %ymm3, %ymm6, %ymm1, %ymm6 + vblendvpd %ymm3, %ymm1, %ymm2, %ymm14 + vmovupd %ymm14, 64(%rsp) + vdivpd %ymm14, %ymm6, %ymm14 + vandpd %ymm4, %ymm8, %ymm5 + vandpd %ymm4, %ymm0, %ymm7 + vandpd 64+__svml_datan2_data_internal(%rip), %ymm3, %ymm4 + vmovups 1664+__svml_datan2_data_internal(%rip), %xmm3 + +/* Check if y and x are on main path. */ + vextractf128 $1, %ymm2, %xmm9 + vextractf128 $1, %ymm1, %xmm10 + vshufps $221, %xmm9, %xmm2, %xmm11 + vshufps $221, %xmm10, %xmm1, %xmm12 + vpsubd %xmm13, %xmm11, %xmm0 + vpsubd %xmm13, %xmm12, %xmm9 + vpcmpgtd %xmm3, %xmm0, %xmm15 + vpcmpeqd %xmm3, %xmm0, %xmm6 + vpcmpgtd %xmm3, %xmm9, %xmm10 + vpcmpeqd %xmm3, %xmm9, %xmm3 + vpor %xmm6, %xmm15, %xmm11 + vpor %xmm3, %xmm10, %xmm12 + +/* Polynomial. */ + vmulpd %ymm14, %ymm14, %ymm10 + vpor %xmm12, %xmm11, %xmm3 + vmovupd 320+__svml_datan2_data_internal(%rip), %ymm9 + vmovupd 384+__svml_datan2_data_internal(%rip), %ymm12 + vmovupd 448+__svml_datan2_data_internal(%rip), %ymm15 + vmulpd %ymm10, %ymm10, %ymm11 + +/* if x<0, dPI = Pi, else dPI =0 */ + vcmple_oqpd 1792+__svml_datan2_data_internal(%rip), %ymm8, %ymm13 + vmovmskps %xmm3, %eax + vmulpd %ymm11, %ymm11, %ymm0 + vandpd __svml_datan2_data_internal(%rip), %ymm13, %ymm6 + vmovupd 256+__svml_datan2_data_internal(%rip), %ymm13 + vfmadd213pd 576+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 + vfmadd213pd 640+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 + vfmadd213pd 704+__svml_datan2_data_internal(%rip), %ymm0, %ymm15 + vfmadd213pd 512+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 + vfmadd213pd 832+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 + vfmadd213pd 896+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 + vfmadd213pd 960+__svml_datan2_data_internal(%rip), %ymm0, %ymm15 + vfmadd213pd 768+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 + vfmadd213pd 1088+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 + vfmadd213pd 1152+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 + vfmadd213pd 1216+__svml_datan2_data_internal(%rip), %ymm0, %ymm15 + vfmadd213pd 1024+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 + vfmadd213pd 1344+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 + vfmadd213pd 1408+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 + vfmadd213pd 1280+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 + +/* A00=1.0, account for it later VQFMA(D, dP4, dP4, dR8, dA00); */ + vmulpd %ymm15, %ymm0, %ymm0 + vfmadd213pd %ymm9, %ymm10, %ymm13 + vfmadd213pd %ymm0, %ymm10, %ymm12 + vfmadd213pd %ymm12, %ymm11, %ymm13 + +/* + * Reconstruction. + * dP=(R+R*dP) + dPIO2 + */ + vfmadd213pd %ymm14, %ymm14, %ymm13 + vaddpd %ymm13, %ymm4, %ymm14 + vorpd %ymm5, %ymm14, %ymm0 + vaddpd %ymm0, %ymm6, %ymm9 + vorpd %ymm7, %ymm9, %ymm0 + +/* Special branch for fast (vector) processing of zero arguments */ + 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: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 224(%rsp), %ymm11 + cfi_restore(94) + vmovups 256(%rsp), %ymm12 + cfi_restore(95) + vmovups 288(%rsp), %ymm13 + cfi_restore(96) + vmovups 320(%rsp), %ymm14 + cfi_restore(97) + vmovups 352(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_4: + vmovupd (%rsp), %ymm1 + vmovupd %ymm8, 128(%rsp) + vmovupd %ymm0, 192(%rsp) + vmovupd %ymm1, 64(%rsp) + je .LBL_1_3 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_8: + btl %r12d, %r13d + jc .LBL_1_11 + +.LBL_1_9: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_8 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 192(%rsp), %ymm0 + jmp .LBL_1_3 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_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) + +.LBL_1_12: + vmovupd (%rsp), %ymm11 + +/* Check if at least on of Y or Y is zero: iAXAYZERO */ + vmovupd 1792+__svml_datan2_data_internal(%rip), %ymm10 + +/* Check if both X & Y are not NaNs: iXYnotNAN */ + vcmpordpd %ymm8, %ymm8, %ymm12 + vcmpordpd %ymm11, %ymm11, %ymm13 + vcmpeqpd %ymm10, %ymm2, %ymm2 + vcmpeqpd %ymm10, %ymm1, %ymm1 + vandpd %ymm13, %ymm12, %ymm14 + vorpd %ymm1, %ymm2, %ymm2 + vextractf128 $1, %ymm14, %xmm15 + vextractf128 $1, %ymm2, %xmm11 + vshufps $221, %xmm15, %xmm14, %xmm9 + vshufps $221, %xmm11, %xmm2, %xmm12 + +/* + * Path for zero arguments (at least one of both) + * Check if both args are zeros (den. is zero) + */ + vcmpeqpd 64(%rsp), %ymm10, %ymm2 + +/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ + vpand %xmm9, %xmm12, %xmm1 + +/* Exclude from previous callout mask zero (and not NaN) arguments */ + vpandn %xmm3, %xmm1, %xmm3 + +/* Go to callout */ + vmovmskps %xmm3, %edx + +/* Set sPIO2 to zero if den. is zero */ + vblendvpd %ymm2, %ymm10, %ymm4, %ymm4 + vorpd %ymm5, %ymm4, %ymm5 + +/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ + vextractf128 $1, %ymm10, %xmm2 + vextractf128 $1, %ymm8, %xmm3 + vshufps $221, %xmm2, %xmm10, %xmm4 + vshufps $221, %xmm3, %xmm8, %xmm9 + vpcmpgtd %xmm9, %xmm4, %xmm12 + vpshufd $80, %xmm12, %xmm11 + vpshufd $250, %xmm12, %xmm13 + vinsertf128 $1, %xmm13, %ymm11, %ymm14 + vandpd %ymm6, %ymm14, %ymm6 + vaddpd %ymm6, %ymm5, %ymm2 + vorpd %ymm7, %ymm2, %ymm2 + +/* Merge results from main and spec path */ + vpshufd $80, %xmm1, %xmm7 + vpshufd $250, %xmm1, %xmm1 + vinsertf128 $1, %xmm1, %ymm7, %ymm3 + vblendvpd %ymm3, %ymm2, %ymm0, %ymm0 + jmp .LBL_1_2 + +END(_ZGVdN4vv_atan2_avx2) + + .align 16,0x90 + +__svml_datan2_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_datan2_cout_rare_internal,@function + .size __svml_datan2_cout_rare_internal,.-__svml_datan2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_datan2_data_internal: + .long 1413754136 + .long 1074340347 + .long 1413754136 + .long 1074340347 + .long 1413754136 + .long 1074340347 + .long 1413754136 + .long 1074340347 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 17919630 + .long 3202334474 + .long 17919630 + .long 3202334474 + .long 17919630 + .long 3202334474 + .long 17919630 + .long 3202334474 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 350522012 + .long 1058555694 + .long 350522012 + .long 1058555694 + .long 350522012 + .long 1058555694 + .long 350522012 + .long 1058555694 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 934004643 + .long 3203726773 + .long 934004643 + .long 3203726773 + .long 934004643 + .long 3203726773 + .long 934004643 + .long 3203726773 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 912675337 + .long 1059908874 + .long 912675337 + .long 1059908874 + .long 912675337 + .long 1059908874 + .long 912675337 + .long 1059908874 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2476035107 + .long 3209881212 + .long 2476035107 + .long 3209881212 + .long 2476035107 + .long 3209881212 + .long 2476035107 + .long 3209881212 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2927800243 + .long 1064262173 + .long 2927800243 + .long 1064262173 + .long 2927800243 + .long 1064262173 + .long 2927800243 + .long 1064262173 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1636715437 + .long 3213013740 + .long 1636715437 + .long 3213013740 + .long 1636715437 + .long 3213013740 + .long 1636715437 + .long 3213013740 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1712395941 + .long 1066487628 + .long 1712395941 + .long 1066487628 + .long 1712395941 + .long 1066487628 + .long 1712395941 + .long 1066487628 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2961307292 + .long 3214564995 + .long 2961307292 + .long 3214564995 + .long 2961307292 + .long 3214564995 + .long 2961307292 + .long 3214564995 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 213298511 + .long 1067542936 + .long 213298511 + .long 1067542936 + .long 213298511 + .long 1067542936 + .long 213298511 + .long 1067542936 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3848520124 + .long 3215257506 + .long 3848520124 + .long 3215257506 + .long 3848520124 + .long 3215257506 + .long 3848520124 + .long 3215257506 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3159386171 + .long 1067969551 + .long 3159386171 + .long 1067969551 + .long 3159386171 + .long 1067969551 + .long 3159386171 + .long 1067969551 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3936393556 + .long 3215643233 + .long 3936393556 + .long 3215643233 + .long 3936393556 + .long 3215643233 + .long 3936393556 + .long 3215643233 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3177262543 + .long 1068373833 + .long 3177262543 + .long 1068373833 + .long 3177262543 + .long 1068373833 + .long 3177262543 + .long 1068373833 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 9713120 + .long 3216052356 + .long 9713120 + .long 3216052356 + .long 9713120 + .long 3216052356 + .long 9713120 + .long 3216052356 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1227445841 + .long 1068740906 + .long 1227445841 + .long 1068740906 + .long 1227445841 + .long 1068740906 + .long 1227445841 + .long 1068740906 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 163240596 + .long 3216459216 + .long 163240596 + .long 3216459216 + .long 163240596 + .long 3216459216 + .long 163240596 + .long 3216459216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 133682613 + .long 1069314503 + .long 133682613 + .long 1069314503 + .long 133682613 + .long 1069314503 + .long 133682613 + .long 1069314503 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2448315847 + .long 3217180964 + .long 2448315847 + .long 3217180964 + .long 2448315847 + .long 3217180964 + .long 2448315847 + .long 3217180964 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2576870964 + .long 1070176665 + .long 2576870964 + .long 1070176665 + .long 2576870964 + .long 1070176665 + .long 2576870964 + .long 1070176665 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431655365 + .long 3218429269 + .long 1431655365 + .long 3218429269 + .long 1431655365 + .long 3218429269 + .long 1431655365 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2150629376 + .long 2150629376 + .long 2150629376 + .long 2150629376 + .long 2150629376 + .long 2150629376 + .long 2150629376 + .long 2150629376 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4258267136 + .long 4258267136 + .long 4258267136 + .long 4258267136 + .long 4258267136 + .long 4258267136 + .long 4258267136 + .long 4258267136 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4293918720 + .long 4293918720 + .long 4293918720 + .long 4293918720 + .long 4293918720 + .long 4293918720 + .long 4293918720 + .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 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 133169152 + .long 133169152 + .long 133169152 + .long 133169152 + .long 133169152 + .long 133169152 + .long 133169152 + .long 133169152 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294967295 + .long 0 + .long 4294967295 + .long 0 + .long 4294967295 + .long 0 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core-avx2.S new file mode 100644 index 0000000000..a8d34a6143 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized atan2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8vv_atan2 _ZGVeN8vv_atan2_avx2_wrapper +#include "../svml_d_atan28_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core.c new file mode 100644 index 0000000000..a0897e9cf0 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atan2, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8vv_atan2 +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8vv_atan2, __GI__ZGVeN8vv_atan2, + __redirect__ZGVeN8vv_atan2) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core_avx512.S new file mode 100644 index 0000000000..959a8610da --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core_avx512.S @@ -0,0 +1,2310 @@ +/* Function atan vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVeN8vv_atan2_skx) + 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 + +/* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Get r0~=1/B + * Cannot be replaced by VQRCP(D, dR0, dB); + * Argument Absolute values + */ + vmovups 1728+__svml_datan2_data_internal(%rip), %zmm4 + +/* Argument signs */ + vmovups 1536+__svml_datan2_data_internal(%rip), %zmm6 + +/* + * 1) If yx 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: + 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 .FLT_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 + +END(_ZGVeN8vv_atan2_skx) + + .align 16,0x90 + +__svml_datan2_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_datan2_cout_rare_internal,@function + .size __svml_datan2_cout_rare_internal,.-__svml_datan2_cout_rare_internal + + .section .rodata, "a" + .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 + +.FLT_31: + .long 0xffffffff,0xffffffff + .type .FLT_31,@object + .size .FLT_31,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core-avx2.S new file mode 100644 index 0000000000..a2a76e8bfd --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized atan2f. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16vv_atan2f _ZGVeN16vv_atan2f_avx2_wrapper +#include "../svml_s_atan2f16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core.c new file mode 100644 index 0000000000..6fa806414d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atan2f, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16vv_atan2f +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16vv_atan2f, __GI__ZGVeN16vv_atan2f, + __redirect__ZGVeN16vv_atan2f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core_avx512.S new file mode 100644 index 0000000000..82c150901a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core_avx512.S @@ -0,0 +1,1997 @@ +/* Function atanf16 vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16vv_atan2f_skx) + 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 + +/* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Arguments signs + */ + 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 yx 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: + 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 + +END(_ZGVeN16vv_atan2f_skx) + + .align 16,0x90 + +__svml_satan2_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_satan2_cout_rare_internal,@function + .size __svml_satan2_cout_rare_internal,.-__svml_satan2_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core-sse2.S new file mode 100644 index 0000000000..d1a67facf1 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized atan2f. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4vv_atan2f _ZGVbN4vv_atan2f_sse2 +#include "../svml_s_atan2f4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core.c new file mode 100644 index 0000000000..ee882b0557 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atan2f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4vv_atan2f +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4vv_atan2f, __GI__ZGVbN4vv_atan2f, + __redirect__ZGVbN4vv_atan2f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core_sse4.S new file mode 100644 index 0000000000..b75e5be5cd --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core_sse4.S @@ -0,0 +1,2667 @@ +/* Function atanf4 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVbN4vv_atan2f_sse4) + 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 + movups %xmm9, 176(%rsp) + movups %xmm11, 112(%rsp) + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movaps %xmm0, %xmm11 + +/* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Arguments signs + */ + movups 256+__svml_satan2_data_internal(%rip), %xmm9 + movups %xmm12, 96(%rsp) + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + movaps %xmm1, %xmm12 + movups %xmm10, 144(%rsp) + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + movaps %xmm9, %xmm10 + andps %xmm11, %xmm9 + andps %xmm12, %xmm10 + movaps %xmm9, %xmm6 + movaps %xmm9, %xmm4 + cmpltps %xmm10, %xmm6 + +/* + * 1) If yx then a=-x, b=y, PIO2=Pi/2 + */ + movups 192+__svml_satan2_data_internal(%rip), %xmm5 + movaps %xmm6, %xmm0 + orps %xmm10, %xmm5 + movaps %xmm10, %xmm1 + andnps %xmm5, %xmm0 + movaps %xmm6, %xmm5 + andps %xmm6, %xmm4 + andnps %xmm9, %xmm5 + andps %xmm6, %xmm1 + orps %xmm4, %xmm0 + orps %xmm1, %xmm5 + movaps %xmm9, %xmm3 + +/* Division a/b. */ + divps %xmm5, %xmm0 + movups %xmm13, 80(%rsp) + +/* if x<0, sPI = Pi, else sPI =0 */ + movaps %xmm12, %xmm4 + movups %xmm14, 48(%rsp) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + movaps %xmm10, %xmm14 + +/* Testing on working interval. */ + movdqu 1024+__svml_satan2_data_internal(%rip), %xmm13 + movaps %xmm9, %xmm7 + psubd %xmm13, %xmm14 + psubd %xmm13, %xmm3 + movdqu 1088+__svml_satan2_data_internal(%rip), %xmm2 + movdqa %xmm14, %xmm1 + movdqa %xmm3, %xmm13 + pcmpgtd %xmm2, %xmm1 + pcmpeqd %xmm2, %xmm14 + pcmpgtd %xmm2, %xmm13 + pcmpeqd %xmm2, %xmm3 + por %xmm14, %xmm1 + por %xmm3, %xmm13 + pxor %xmm11, %xmm7 + por %xmm13, %xmm1 + +/* Polynomial. */ + movaps %xmm0, %xmm13 + mulps %xmm0, %xmm13 + cmpleps __svml_satan2_data_internal(%rip), %xmm4 + movmskps %xmm1, %eax + movaps %xmm13, %xmm14 + mulps %xmm13, %xmm14 + movups 448+__svml_satan2_data_internal(%rip), %xmm2 + mulps %xmm14, %xmm2 + movups 512+__svml_satan2_data_internal(%rip), %xmm3 + mulps %xmm14, %xmm3 + addps 576+__svml_satan2_data_internal(%rip), %xmm2 + mulps %xmm14, %xmm2 + addps 640+__svml_satan2_data_internal(%rip), %xmm3 + mulps %xmm14, %xmm3 + addps 704+__svml_satan2_data_internal(%rip), %xmm2 + mulps %xmm14, %xmm2 + addps 768+__svml_satan2_data_internal(%rip), %xmm3 + mulps %xmm14, %xmm3 + addps 832+__svml_satan2_data_internal(%rip), %xmm2 + mulps %xmm2, %xmm14 + addps 896+__svml_satan2_data_internal(%rip), %xmm3 + mulps %xmm3, %xmm13 + addps 960+__svml_satan2_data_internal(%rip), %xmm14 + andnps 320+__svml_satan2_data_internal(%rip), %xmm6 + addps %xmm13, %xmm14 + +/* Reconstruction. */ + mulps %xmm14, %xmm0 + movups %xmm8, 160(%rsp) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movaps %xmm10, %xmm8 + pxor %xmm12, %xmm8 + addps %xmm6, %xmm0 + andps 384+__svml_satan2_data_internal(%rip), %xmm4 + orps %xmm8, %xmm0 + addps %xmm4, %xmm0 + orps %xmm7, %xmm0 + +/* Special branch for fast (vector) processing of zero arguments */ + 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: + movups 160(%rsp), %xmm8 + cfi_restore(25) + movups 176(%rsp), %xmm9 + cfi_restore(26) + movups 144(%rsp), %xmm10 + cfi_restore(27) + movups 112(%rsp), %xmm11 + cfi_restore(28) + movups 96(%rsp), %xmm12 + cfi_restore(29) + movups 80(%rsp), %xmm13 + cfi_restore(30) + movups 48(%rsp), %xmm14 + cfi_restore(31) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_4: + movups %xmm11, 64(%rsp) + movups %xmm12, 128(%rsp) + movups %xmm0, 192(%rsp) + je .LBL_1_3 + xorl %eax, %eax + movups %xmm15, (%rsp) + movq %rsi, 24(%rsp) + movq %rdi, 16(%rsp) + movq %r12, 40(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x28, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 32(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_8: + btl %r12d, %r13d + jc .LBL_1_11 + +.LBL_1_9: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_8 + movups (%rsp), %xmm15 + cfi_restore(32) + movq 24(%rsp), %rsi + cfi_restore(4) + movq 16(%rsp), %rdi + cfi_restore(5) + movq 40(%rsp), %r12 + cfi_restore(12) + movq 32(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm0 + jmp .LBL_1_3 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x28, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 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(32) + +.LBL_1_12: +/* Check if both X & Y are not NaNs: iXYnotNAN */ + movaps %xmm12, %xmm3 + movaps %xmm11, %xmm2 + cmpordps %xmm12, %xmm3 + cmpordps %xmm11, %xmm2 + +/* Check if at least on of Y or Y is zero: iAXAYZERO */ + movups __svml_satan2_data_internal(%rip), %xmm13 + andps %xmm2, %xmm3 + +/* + * Path for zero arguments (at least one of both) + * Check if both args are zeros (den. is zero) + */ + cmpeqps %xmm13, %xmm5 + pcmpeqd %xmm13, %xmm10 + pcmpeqd %xmm13, %xmm9 + por %xmm9, %xmm10 + +/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ + andps %xmm3, %xmm10 + +/* Exclude from previous callout mask zero (and not NaN) arguments */ + movaps %xmm10, %xmm9 + pandn %xmm1, %xmm9 + +/* Set sPIO2 to zero if den. is zero */ + movaps %xmm5, %xmm1 + andnps %xmm6, %xmm1 + andps %xmm13, %xmm5 + orps %xmm5, %xmm1 + +/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ + pcmpgtd %xmm12, %xmm13 + orps %xmm8, %xmm1 + andps %xmm4, %xmm13 + +/* Merge results from main and spec path */ + movaps %xmm10, %xmm4 + addps %xmm13, %xmm1 + +/* Go to callout */ + movmskps %xmm9, %edx + orps %xmm7, %xmm1 + andnps %xmm0, %xmm4 + andps %xmm10, %xmm1 + movaps %xmm4, %xmm0 + orps %xmm1, %xmm0 + jmp .LBL_1_2 + +END(_ZGVbN4vv_atan2f_sse4) + + .align 16,0x90 + +__svml_satan2_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_satan2_cout_rare_internal,@function + .size __svml_satan2_cout_rare_internal,.-__svml_satan2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_satan2_data_internal: + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1078530011 + .long 1078530011 + .long 1078530011 + .long 1078530011 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2164260864 + .long 2164260864 + .long 2164260864 + .long 2164260864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4227858432 + .long 4227858432 + .long 4227858432 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_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/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core-sse.S new file mode 100644 index 0000000000..21b1d3ff63 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized atan2f. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8vv_atan2f _ZGVdN8vv_atan2f_sse_wrapper +#include "../svml_s_atan2f8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core.c new file mode 100644 index 0000000000..7e02050983 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized sinf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8vv_atan2f +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8vv_atan2f, __GI__ZGVdN8vv_atan2f, + __redirect__ZGVdN8vv_atan2f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core_avx2.S new file mode 100644 index 0000000000..b979376e54 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core_avx2.S @@ -0,0 +1,2412 @@ +/* Function atanf8 vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVdN8vv_atan2f_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + xorl %edx, %edx + +/* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Arguments signs + */ + vmovups 256+__svml_satan2_data_internal(%rip), %ymm2 + vmovups %ymm13, 288(%rsp) + vmovups %ymm12, 256(%rsp) + vmovups %ymm15, 352(%rsp) + vmovups %ymm14, 320(%rsp) + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + +/* Testing on working interval. */ + vmovups 1024+__svml_satan2_data_internal(%rip), %ymm15 + vmovups %ymm11, 224(%rsp) + vmovups %ymm9, 96(%rsp) + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + vmovups 1088+__svml_satan2_data_internal(%rip), %ymm9 + vmovups %ymm10, 160(%rsp) + vmovups %ymm8, 32(%rsp) + +/* if x<0, sPI = Pi, else sPI =0 */ + vmovups __svml_satan2_data_internal(%rip), %ymm5 + vmovaps %ymm1, %ymm7 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + vandps %ymm2, %ymm7, %ymm13 + vandps %ymm2, %ymm0, %ymm12 + vcmplt_oqps %ymm13, %ymm12, %ymm4 + vcmple_oqps %ymm5, %ymm7, %ymm6 + vpsubd %ymm15, %ymm13, %ymm10 + vpsubd %ymm15, %ymm12, %ymm8 + +/* + * 1) If yx then a=-x, b=y, PIO2=Pi/2 + */ + vorps 192+__svml_satan2_data_internal(%rip), %ymm13, %ymm3 + vblendvps %ymm4, %ymm12, %ymm3, %ymm14 + vblendvps %ymm4, %ymm13, %ymm12, %ymm3 + +/* Division a/b. */ + vdivps %ymm3, %ymm14, %ymm11 + vpcmpgtd %ymm9, %ymm10, %ymm14 + vpcmpeqd %ymm9, %ymm10, %ymm15 + vpor %ymm15, %ymm14, %ymm10 + vmovups 512+__svml_satan2_data_internal(%rip), %ymm15 + vpcmpgtd %ymm9, %ymm8, %ymm14 + vpcmpeqd %ymm9, %ymm8, %ymm8 + vpor %ymm8, %ymm14, %ymm9 + vmovups 448+__svml_satan2_data_internal(%rip), %ymm14 + vpor %ymm9, %ymm10, %ymm10 + +/* Polynomial. */ + vmulps %ymm11, %ymm11, %ymm9 + vmulps %ymm9, %ymm9, %ymm8 + vfmadd213ps 576+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 + vfmadd213ps 640+__svml_satan2_data_internal(%rip), %ymm8, %ymm15 + vfmadd213ps 704+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 + vfmadd213ps 768+__svml_satan2_data_internal(%rip), %ymm8, %ymm15 + vfmadd213ps 832+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 + vfmadd213ps 896+__svml_satan2_data_internal(%rip), %ymm8, %ymm15 + vfmadd213ps 960+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 + vfmadd213ps %ymm14, %ymm9, %ymm15 + vandnps 320+__svml_satan2_data_internal(%rip), %ymm4, %ymm4 + +/* Reconstruction. */ + vfmadd213ps %ymm4, %ymm11, %ymm15 + vxorps %ymm13, %ymm7, %ymm1 + vandps 384+__svml_satan2_data_internal(%rip), %ymm6, %ymm6 + vorps %ymm1, %ymm15, %ymm11 + vaddps %ymm11, %ymm6, %ymm8 + vmovmskps %ymm10, %eax + vxorps %ymm12, %ymm0, %ymm2 + vorps %ymm2, %ymm8, %ymm9 + +/* Special branch for fast (vector) processing of zero arguments */ + 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: + vmovaps %ymm9, %ymm0 + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 224(%rsp), %ymm11 + cfi_restore(94) + vmovups 256(%rsp), %ymm12 + cfi_restore(95) + vmovups 288(%rsp), %ymm13 + cfi_restore(96) + vmovups 320(%rsp), %ymm14 + cfi_restore(97) + vmovups 352(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_4: + vmovups %ymm0, 64(%rsp) + vmovups %ymm7, 128(%rsp) + vmovups %ymm9, 192(%rsp) + je .LBL_1_3 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_8: + btl %r12d, %r13d + jc .LBL_1_11 + +.LBL_1_9: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_8 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 192(%rsp), %ymm9 + jmp .LBL_1_3 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_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) + +.LBL_1_12: +/* Check if at least on of Y or Y is zero: iAXAYZERO */ + vpcmpeqd %ymm5, %ymm13, %ymm13 + vpcmpeqd %ymm5, %ymm12, %ymm12 + +/* Check if both X & Y are not NaNs: iXYnotNAN */ + vcmpordps %ymm7, %ymm7, %ymm11 + vcmpordps %ymm0, %ymm0, %ymm14 + +/* + * Path for zero arguments (at least one of both) + * Check if both args are zeros (den. is zero) + */ + vcmpeqps %ymm5, %ymm3, %ymm3 + vpor %ymm12, %ymm13, %ymm15 + +/* Set sPIO2 to zero if den. is zero */ + vblendvps %ymm3, %ymm5, %ymm4, %ymm4 + vandps %ymm14, %ymm11, %ymm8 + +/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ + vpand %ymm8, %ymm15, %ymm8 + +/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ + vpcmpgtd %ymm7, %ymm5, %ymm5 + vorps %ymm1, %ymm4, %ymm1 + vandps %ymm6, %ymm5, %ymm6 + vaddps %ymm6, %ymm1, %ymm1 + +/* Exclude from previous callout mask zero (and not NaN) arguments */ + vpandn %ymm10, %ymm8, %ymm10 + vorps %ymm2, %ymm1, %ymm2 + +/* Go to callout */ + vmovmskps %ymm10, %edx + +/* Merge results from main and spec path */ + vblendvps %ymm8, %ymm2, %ymm9, %ymm9 + jmp .LBL_1_2 + +END(_ZGVdN8vv_atan2f_avx2) + + .align 16,0x90 + +__svml_satan2_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_satan2_cout_rare_internal,@function + .size __svml_satan2_cout_rare_internal,.-__svml_satan2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_satan2_data_internal: + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1078530011 + .long 1078530011 + .long 1078530011 + .long 1078530011 + .long 1078530011 + .long 1078530011 + .long 1078530011 + .long 1078530011 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .long 993144000 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .long 3162449457 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .long 1026278276 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .long 3180885545 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .long 1037657204 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .long 3188810232 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .long 1045215135 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .long 3198855753 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2164260864 + .long 2164260864 + .long 2164260864 + .long 2164260864 + .long 2164260864 + .long 2164260864 + .long 2164260864 + .long 2164260864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4227858432 + .long 4227858432 + .long 4227858432 + .long 4227858432 + .long 4227858432 + .long 4227858432 + .long 4227858432 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_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/sysdeps/x86_64/fpu/svml_d_atan22_core.S b/sysdeps/x86_64/fpu/svml_d_atan22_core.S new file mode 100644 index 0000000000..f3089e70f9 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atan22_core.S @@ -0,0 +1,29 @@ +/* Function atan2 vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2vv_atan2) +WRAPPER_IMPL_SSE2_ff atan2 +END (_ZGVbN2vv_atan2) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2vv_atan2) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_atan24_core.S b/sysdeps/x86_64/fpu/svml_d_atan24_core.S new file mode 100644 index 0000000000..8a163d12d2 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atan24_core.S @@ -0,0 +1,29 @@ +/* Function atan2 vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4vv_atan2) +WRAPPER_IMPL_AVX_ff _ZGVbN2vv_atan2 +END (_ZGVdN4vv_atan2) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4vv_atan2) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_atan24_core_avx.S b/sysdeps/x86_64/fpu/svml_d_atan24_core_avx.S new file mode 100644 index 0000000000..0ee5ae8faf --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atan24_core_avx.S @@ -0,0 +1,25 @@ +/* Function atan2 vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4vv_atan2) +WRAPPER_IMPL_AVX_ff _ZGVbN2vv_atan2 +END (_ZGVcN4vv_atan2) diff --git a/sysdeps/x86_64/fpu/svml_d_atan28_core.S b/sysdeps/x86_64/fpu/svml_d_atan28_core.S new file mode 100644 index 0000000000..b85f696686 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atan28_core.S @@ -0,0 +1,25 @@ +/* Function atan2 vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8vv_atan2) +WRAPPER_IMPL_AVX512_ff _ZGVdN4vv_atan2 +END (_ZGVeN8vv_atan2) diff --git a/sysdeps/x86_64/fpu/svml_s_atan2f16_core.S b/sysdeps/x86_64/fpu/svml_s_atan2f16_core.S new file mode 100644 index 0000000000..25acb31dfb --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atan2f16_core.S @@ -0,0 +1,25 @@ +/* Function atan2f vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16vv_atan2f) +WRAPPER_IMPL_AVX512_ff _ZGVdN8vv_atan2f +END (_ZGVeN16vv_atan2f) diff --git a/sysdeps/x86_64/fpu/svml_s_atan2f4_core.S b/sysdeps/x86_64/fpu/svml_s_atan2f4_core.S new file mode 100644 index 0000000000..bc99f0ba10 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atan2f4_core.S @@ -0,0 +1,29 @@ +/* Function atan2f vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4vv_atan2f) +WRAPPER_IMPL_SSE2_ff atan2f +END (_ZGVbN4vv_atan2f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4vv_atan2f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_atan2f8_core.S b/sysdeps/x86_64/fpu/svml_s_atan2f8_core.S new file mode 100644 index 0000000000..bfcdb3c372 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atan2f8_core.S @@ -0,0 +1,29 @@ +/* Function atan2f vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8vv_atan2f) +WRAPPER_IMPL_AVX_ff _ZGVbN4vv_atan2f +END (_ZGVdN8vv_atan2f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8vv_atan2f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_atan2f8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_atan2f8_core_avx.S new file mode 100644 index 0000000000..1aa8d05822 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atan2f8_core_avx.S @@ -0,0 +1,25 @@ +/* Function atan2f vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY(_ZGVcN8vv_atan2f) +WRAPPER_IMPL_AVX_ff _ZGVbN4vv_atan2f +END(_ZGVcN8vv_atan2f) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx.c new file mode 100644 index 0000000000..e423bce25b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-atan2.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx2.c new file mode 100644 index 0000000000..e423bce25b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-atan2.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx512f.c new file mode 100644 index 0000000000..e423bce25b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atan2-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-atan2.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atan2.c b/sysdeps/x86_64/fpu/test-double-libmvec-atan2.c new file mode 100644 index 0000000000..d0aa626d95 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atan2.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC atan2 +#include "test-vector-abi-arg2.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 7abe3211c8..cd802e0c6d 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -32,6 +32,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVbN2v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVbN2v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVbN2v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVbN2v_atan) +VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVbN2vv_atan2) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 1537ed25cc..a04980e87a 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -35,6 +35,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVdN4v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVdN4v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVdN4v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVdN4v_atan) +VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVdN4vv_atan2) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 27bcc9c59a..9c602445e7 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -32,6 +32,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVcN4v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVcN4v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVcN4v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVcN4v_atan) +VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVcN4vv_atan2) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index 2333349893..d1e4b8dd01 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -32,6 +32,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acosh), _ZGVeN8v_acosh) VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVeN8v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVeN8v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVeN8v_atan) +VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVeN8vv_atan2) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx.c new file mode 100644 index 0000000000..5c7e2c9ad5 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-atan2f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx2.c new file mode 100644 index 0000000000..5c7e2c9ad5 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-atan2f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx512f.c new file mode 100644 index 0000000000..5c7e2c9ad5 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atan2f-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-atan2f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atan2f.c b/sysdeps/x86_64/fpu/test-float-libmvec-atan2f.c new file mode 100644 index 0000000000..beb5c745cb --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atan2f.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC atan2f +#include "test-vector-abi-arg2.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 723651140e..65e0c2af7d 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -32,6 +32,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVeN16v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVeN16v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVeN16v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVeN16v_atanf) +VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVeN16vv_atan2f) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index da77149021..b0cad1e107 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -32,6 +32,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVbN4v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVbN4v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVbN4v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVbN4v_atanf) +VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVbN4vv_atan2f) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index a978f37e79..359aa445ba 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -35,6 +35,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVdN8v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVdN8v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVdN8v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVdN8v_atanf) +VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVdN8vv_atan2f) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 1ae9a8c3c0..80730777fc 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -32,6 +32,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (acoshf), _ZGVcN8v_acoshf) VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVcN8v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVcN8v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVcN8v_atanf) +VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVcN8vv_atan2f) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48078 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 448243857C51 for ; Wed, 24 Nov 2021 19:49:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 448243857C51 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783346; bh=8u/eawB55z5ULFP2wit7iHNRYfAm2ZXihZeGSN6dIas=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=nwFJ8XJva76iqMfoVcoa8tftKYgeCbHgs2ShSyRm90MlUUmduDmQEdcLYlMGL2y2s nGaet2wWEMmRPxohcAglHpbieJRSXB9C2NEFqwbHYVvQokylsIMYvd+cI9M5JOj6q0 PwqVZpEvzlI7TVBL6UYhB+EJMdlBJwyD/qHiiDFQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id A2ACF385801A for ; Wed, 24 Nov 2021 19:38:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A2ACF385801A X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="298763425" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="298763425" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="538745149" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga001.jf.intel.com with ESMTP; 24 Nov 2021 11:38:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7Wx021555; Wed, 24 Nov 2021 11:38:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 12/42] x86-64: Add vector atan2/atan2f to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:37 -0800 Message-Id: <20211124193807.2093208-13-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector atan2/atan2f and input files to libmvec microbenchmark. libmvec-atan2-inputs: arg1: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 4.0 10% uniform random distribution in range (-1.0e6, 1.0e6) arg2: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 4.0 10% uniform random distribution in range (-1.0e6, 1.0e6) libmvec-atan2f-inputs: arg1: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 4.0f 10% uniform random distribution in range (-1.0e6f, 1.0e6f) arg2: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 4.0f 10% uniform random distribution in range (-1.0e6f, 1.0e6f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-atan2-inputs | 4100 ++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-atan2f-inputs | 4100 ++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-atan2-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-atan2f-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index b37aabe83f..4f33886dd2 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -42,6 +42,7 @@ libmvec-bench-funcs = \ asin \ asinh \ atan \ + atan2 \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-atan2-inputs b/sysdeps/x86_64/fpu/libmvec-atan2-inputs new file mode 100644 index 0000000000..0d86b5db79 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-atan2-inputs @@ -0,0 +1,4100 @@ +## args: double:double +## ret: double +## includes: math.h +# Normally distributed random inputs arg1;arg2 in ranges (-1.8e+308, 1.8e+308);(-1.8e+308, 1.8e+308), means = 0;0, standard deviations = 4;4 +-0x1.11003707ad71cp+0, -0x1.1f03ac14205d9p+1 +-0x1.88539918864c9p+2, -0x1.4101316c89f72p+1 +-0x1.3b7fb80733407p+0, 0x1.029dee7ae42b8p+2 +0x1.77fde1eeb3fa9p+1, 0x1.16a53d1f1be7ep+3 +0x1.35a33590dab6ep+1, -0x1.f85d770c98ac8p+0 +-0x1.75bd8b3896dd6p+2, -0x1.360247570184fp+2 +0x1.1cb9fa09ed944p+3, -0x1.cc0c949f502bdp-1 +-0x1.b06432c2571b1p+1, 0x1.e5f318e3e5fffp+2 +-0x1.2bbc5f516e8d5p+0, -0x1.b20d60c7a530ap-6 +0x1.1ee5aa3496dfdp+1, 0x1.0d39d9919d41cp+2 +-0x1.f35ec91641a28p+0, -0x1.90e89ab44af72p+1 +-0x1.8718b197051b2p-1, 0x1.e1a883407183ap+1 +-0x1.bb84130e0b6c2p+0, 0x1.66748e4448814p+2 +-0x1.03ac940894e0bp+2, -0x1.2777c019ddd62p+0 +0x1.1d20fa6e1de58p+2, -0x1.0d65971f91a47p+2 +0x1.948e128f1e25cp-1, 0x1.a2f9146265a94p+1 +0x1.8dfc3c4334d3fp-1, -0x1.45c1b4e964fb6p+9 +0x1.7291977c39bfbp-1, 0x1.0d76b4a8e6ffap-2 +-0x1.8ba0bf00ef4fbp+1, -0x1.657578a29b5d8p+0 +-0x1.42073771c3e34p+0, 0x1.254b4bf837916p-1 +-0x1.3c18dfcd0f52cp-2, 0x1.e264029c179bdp+1 +-0x1.16b4eb16e4697p+2, 0x1.919dfef854b24p+0 +0x1.51a8f5058cf09p-4, -0x1.dddb40d0f560fp+8 +-0x1.7ed13b350af89p-1, 0x1.7c78e8308fd75p+1 +-0x1.371df5ae1bae6p+2, -0x1.47b6c3841cc34p+0 +0x1.c0eb159b7735cp+1, -0x1.041440688e7dcp+2 +0x1.747d826d6612p+1, -0x1.0e3c3a9af5cbdp+3 +-0x1.9223e1cf1b888p+1, 0x1.2c285914810dep+0 +-0x1.e1009fc24adffp+1, 0x1.a994c08eb3571p+1 +0x1.5642c58ee1935p+2, 0x1.886a1cbdb2f45p-1 +0x1.10acd826d54afp+4, -0x1.7e95d7fb26218p-4 +0x1.f4421fd153b6dp+5, -0x1.6d0ab05da8ddap+2 +0x1.270ad4296768bp+0, 0x1.cb814b7ce6be9p+1 +0x1.ef5984a81ededp-1, 0x1.4511a4ee5b844p-1 +0x1.c3236baf357dbp-1, -0x1.b5663a8cd3b9ep-3 +0x1.f9775cb63303ap+1, -0x1.fbe0031478fdap+1 +0x1.ec4068e7020c7p-2, 0x1.0af7c1486d593p+1 +-0x1.18e6b70f08559p+1, 0x1.2fc06a93c1a14p+0 +-0x1.0df60b2d5d5dcp+1, -0x1.52541f04ff95cp+18 +-0x1.f9bea93247eaap-2, -0x1.a8a18bac42c3ep-2 +0x1.6d627497f0e43p+18, 0x1.8035aed7e3caap-2 +0x1.6e5336703809cp+1, -0x1.202ed659e43b3p+2 +-0x1.958d6ede80a6p+0, -0x1.38e0549bddad8p+5 +-0x1.ae79eb0610afep+0, -0x1.08e9352d53acdp+0 +0x1.fa1d1125c944ep+1, 0x1.e0e74fafb7d1cp+1 +0x1.18408a8b50dd6p+15, 0x1.1e5f3ae424c09p+9 +-0x1.37f81a887c07fp+1, -0x1.d1b8204e578e7p-2 +-0x1.8d8c75ac1faf6p+2, 0x1.c753b324bdc81p+2 +0x1.59d5b085ab03ap-1, -0x1.ea04b4cf878fbp-2 +0x1.29c33813f534dp-3, -0x1.c2ee5e411a0abp+1 +0x1.cee3ca87f3fb9p+2, -0x1.b5e1a68fd908dp+1 +-0x1.42abb872d6d69p+1, 0x1.1d88916f49ef1p+2 +0x1.80ec7c336cd4bp+0, 0x1.409d1b9ae6f2ep-3 +0x1.9c79d91cd3abbp+1, -0x1.253082fbb949cp-2 +-0x1.a401128cbd47p+0, -0x1.7794302387928p+1 +0x1.77052a301b523p+0, 0x1.aa7ee75ee0531p+2 +-0x1.f6ee5bdcf7b24p-4, 0x1.a39a2af50b0c7p+1 +0x1.3221b7312157fp+1, 0x1.5ff5bc5f5da2dp+1 +-0x1.4613a9aa74a1ep-2, -0x1.6991a4013ce91p+2 +-0x1.1071c932aaf75p+2, -0x1.055f3a8317374p+2 +0x1.520ed8dc30dfcp+1, -0x1.6e15432b01ce6p+2 +0x1.e818fff13878bp+2, -0x1.8b8cb3370be2bp+1 +-0x1.a9f6495b21f7ep+1, 0x1.88e06bd995039p+0 +0x1.750ec69bb3a04p+1, -0x1.0dd8abfb7163fp+1 +-0x1.99309e84c1aa3p+0, -0x1.08b1bb04fcb2fp+0 +0x1.b9324721213d8p+10, 0x1.0a5b3dcd01fc6p+0 +0x1.273d5ce7af555p+3, -0x1.27eeab5a7ec7ap+2 +0x1.398225abd6819p+1, 0x1.56fe5fc6fa3c2p+2 +-0x1.f11f36ce3507dp+2, 0x1.9aca951469d7ap+0 +-0x1.8f8d41cd02deep+1, -0x1.f49e6ed2ea59dp-1 +-0x1.7a129db836d66p-6, -0x1.1ae76b7d889bbp+1 +0x1.087a59865458p-2, 0x1.6aff85979d2e4p+1 +-0x1.62fa8a2d852ep+0, 0x1.b66d4b202c901p+0 +0x1.b32cf8b59341dp+0, -0x1.db353b83712f4p+14 +-0x1.ac60d9bcb0c1ep+1, -0x1.fbdc48a31f484p-1 +0x1.ce8d89c689577p+0, -0x1.f0575d582a6f9p+0 +0x1.2480822366da6p+2, -0x1.4b02cb0e67facp-2 +-0x1.f980a13147b0ap+1, -0x1.d7c147ac37bbcp+1 +-0x1.19379d25cb96ap-2, 0x1.3871bcdf0236p+19 +-0x1.ab949852b3ebfp+0, 0x1.0e6dad20e631fp+1 +-0x1.45599ccb9a8f2p+2, -0x1.a1d652eced84ep+2 +0x1.0a9a084bf0496p+1, -0x1.3806551d9b8a6p+1 +-0x1.4723e9533861ap+2, 0x1.82ba877ba1442p+2 +-0x1.be10fd54c1c05p-1, 0x1.6e9ab6991ff9p-8 +0x1.ac8eba94cd894p+2, 0x1.72f43a9f6a1c5p-1 +0x1.647a30feef7b1p-1, -0x1.6a098d3db5971p-1 +-0x1.535b60bc394fap-3, 0x1.9b21776d6a934p+0 +-0x1.1ac8764948404p-2, -0x1.d28fec264c5bbp+0 +0x1.d1ae8b3048e02p+0, -0x1.4314fbc60688dp-1 +-0x1.3d2ddbf4fb65cp+1, -0x1.91560bb9916ap-1 +-0x1.2064bd3b1efedp+3, -0x1.8f0d5ae1f2d1dp+1 +0x1.81850a482ba67p+3, -0x1.f7d0d6b631c12p+0 +-0x1.f23fd47cfedccp+1, -0x1.75a6060cb3691p-3 +-0x1.d253dcef76f97p+1, -0x1.5328460a56bcfp+1 +0x1.ce3576497d7cp+1, -0x1.8652cde59b041p+0 +-0x1.9b8ef067e895dp+2, 0x1.7d9c66e44ec47p+2 +0x1.b96c3d206dae9p+2, -0x1.f953fc1959504p+1 +-0x1.eb705760acbe3p+3, -0x1.a1e7bf001c68dp+0 +0x1.46cfc16fd39dep+2, -0x1.ae24518735eeap+0 +0x1.69939f4e7cd55p+2, 0x1.13306c72f0a09p+0 +0x1.61510c88f5508p-3, -0x1.1a20364d51f6p+3 +-0x1.64ad7976812dfp+1, 0x1.bc0558fc677f4p-2 +0x1.3c093d67ef0f5p-2, 0x1.4f8ea8f2b2961p+1 +-0x1.55af0900913c4p+3, 0x1.5af1d2d65fffcp+0 +-0x1.0de627c082eb5p+1, 0x1.99ce9e0daa1e9p+2 +-0x1.f3ce28bc65e34p+1, -0x1.2dcbcb1edbdd6p+2 +0x1.1adafdd6788cap+1, 0x1.853c9a6a80e5fp-1 +-0x1.00b1d997f5fbep-3, -0x1.12d9e9bd6279ap+2 +-0x1.c05a7b8c13756p+2, -0x1.df87d85868a0dp+2 +0x1.3e98c5ca53054p+1, 0x1.560246edba008p+2 +-0x1.c6b77410468a2p+1, -0x1.9fdb8d7b41fa4p+0 +0x1.efefd701da649p+1, 0x1.c1a1321b7ef1p-2 +0x1.30ea39a7cf938p+2, -0x1.a74dd3dc1e9a2p+1 +0x1.79ab521c3abfcp-4, 0x1.d28bd03ad897cp+1 +-0x1.dd0ae5433da8p+2, 0x1.0860581cad894p+2 +-0x1.3d8029781c0b5p+0, -0x1.1185907f2891p+1 +0x1.2aa161a477366p+0, -0x1.51a2fdf6d801dp+2 +0x1.6d4ca2cbce87bp+2, -0x1.08647180c4641p+1 +0x1.73c0d4d983607p-1, -0x1.460bb7d2967e5p+2 +-0x1.96b5c19d31dd8p+1, 0x1.002087be4803p+1 +-0x1.079c675e5f576p+2, -0x1.a490fe5d517cap-2 +0x1.3a316fc183cdbp-1, 0x1.b3009a6de004ep-1 +-0x1.8be62fc82b254p+2, 0x1.c70c47d64b2e1p-1 +0x1.6ec300c6e0d84p+1, -0x1.d42bdaaa529ccp-3 +0x1.542a484cbbdap+1, -0x1.68aade01022e5p+1 +0x1.0719ec34bd9f8p+1, 0x1.5a5bef7e71b7fp+1 +-0x1.ea3776600bc1ep+12, 0x1.6d1c9c6b3a93fp+14 +0x1.65e234d9d723p+1, 0x1.81eea275987dcp+1 +-0x1.e09ae78c0f3d3p+0, 0x1.88cff5ac2b027p+0 +-0x1.38a36ecf3e5c4p+18, 0x1.b0dc5207eb04ap+0 +-0x1.949d08f8c29a8p-1, 0x1.2054be5894c16p+2 +-0x1.1c5a705a6144ep+2, 0x1.682ea02b10c8cp+16 +0x1.c9d5befb75c36p+3, 0x1.ede0402a06984p+1 +0x1.5dd9cecee44dp+2, -0x1.ee86a38dcfb8bp+0 +0x1.430681c5d5435p+1, -0x1.b239cdf03ac1ep+0 +-0x1.b155c322a615bp+2, 0x1.11059304523ccp+1 +-0x1.940484004736ap+1, -0x1.a03c2b9c2324p+8 +0x1.2ab817598e9cep+0, -0x1.bb57ee381a94fp-6 +0x1.2c5fa973bc423p+0, -0x1.105b2a041f858p+0 +0x1.ad21b525cafe7p+2, 0x1.f591180c51366p+1 +0x1.942c7148cde5ap+0, -0x1.73fc05810249p+0 +0x1.19a063e9246a8p+2, 0x1.f440990cb9501p-1 +-0x1.6ea822c81ebefp+2, 0x1.05325f085e4dap-1 +-0x1.30227ac82dd9p+0, 0x1.69b3016747ba7p-2 +-0x1.a95e1be905656p+1, 0x1.2ff44c322ad99p+1 +0x1.8803b3b61b6ffp+1, 0x1.e33526ca99p+1 +-0x1.9d41a0c3c5142p+7, -0x1.a15cdae0069dp-1 +-0x1.ad8b0ddd507a6p+2, -0x1.9c52c8fe232b1p+2 +0x1.1e8559bb5e4ccp-1, 0x1.bb99adabb7695p+0 +-0x1.1dae22a6fbcabp+2, -0x1.9efa1bdb52cb6p+2 +0x1.7f4123362bf2fp+2, 0x1.a0ae02a90565bp+0 +0x1.6c88688bf3d0ep+1, 0x1.7388f7f92f0fbp+15 +0x1.1a07e1bd84d91p+2, 0x1.50e957f68cb51p+2 +-0x1.c15eef052be3fp+10, 0x1.62d0a629641b7p+2 +-0x1.641801bf2bda6p-2, -0x1.a1d7bc21eb45cp+3 +0x1.8480d718753ap+15, 0x1.a556292c47ef2p+2 +-0x1.af841b378367ap-1, -0x1.6538b64ad0d9fp+2 +-0x1.29feb61cdd084p+1, 0x1.6071bbed6bd28p+3 +0x1.3a75b1d968b3bp+3, 0x1.501b2864bb0aap+1 +0x1.cab884c6bd488p+0, -0x1.a5e6cd1591413p+11 +-0x1.94991fb9ce0efp+2, -0x1.4bf2146d428fbp+1 +-0x1.f4aaa87f6871dp+1, -0x1.c904a4b94b4dep+1 +-0x1.851379734f5a1p+0, -0x1.3253d2afe1b8dp+1 +-0x1.7e5a943926cb6p+1, -0x1.ba8b241fbebep+0 +-0x1.e32c5b539ed49p+2, -0x1.f7a818b66c2fbp+0 +0x1.d79048fa51f8ap-1, -0x1.e1ee3cfd1f65ap+1 +0x1.8a59e5bc58019p+1, 0x1.72b319253eee7p+0 +-0x1.f0a78fd5454d7p+0, -0x1.ec9f639a8510ep+0 +-0x1.ef4d44582ca63p+1, -0x1.45030ba429744p+0 +-0x1.3de02f6079c35p+2, -0x1.ae4ee802d4d44p+0 +-0x1.2a2442b03a96dp+2, 0x1.1e09c7cc868aep-6 +-0x1.522542bc9ebd7p+14, 0x1.0b13ec95f71a5p+0 +0x1.5b22063d3f771p+1, -0x1.c752f2d48be01p-1 +0x1.3d1510a4f8cdbp+1, 0x1.17da3098fa41dp+1 +-0x1.266a093459c2ap+1, 0x1.cface95855369p+5 +-0x1.347da4da856a7p+0, -0x1.39b4ff032f74p-2 +0x1.b9a57659a198ep+1, -0x1.7218160918b0bp+1 +0x1.4139fe4f6d7e2p+2, 0x1.0b6028c217fb9p+1 +-0x1.9cf3201eb31ep+0, 0x1.4e85803ece1acp+2 +0x1.b07b4e5172c39p-1, 0x1.11701ffaaed4bp-1 +-0x1.3462df01d4b6dp+12, 0x1.f19c0ff054b58p+4 +0x1.a9ca39d6dd6d5p+1, -0x1.5506bc6b3344fp+0 +0x1.7d3bab08c2e5dp-1, 0x1.ba237ef743cb1p+0 +-0x1.9d3fecf588cedp+1, 0x1.04414d215c2dcp+1 +-0x1.1ab065eb10c66p+1, 0x1.261c998ed952cp+7 +-0x1.f49bd07a57b29p+5, -0x1.bcfc0ccd8bdb9p-2 +0x1.010d86d3def47p+0, -0x1.7ff50886aa934p+0 +-0x1.4873b5af8380ap+1, 0x1.3ee03ef5f88e9p+2 +0x1.44bf15b0634b7p+0, -0x1.dc7bfeb3d79c5p-1 +0x1.4b2044275cd4dp+0, 0x1.84fe3569cb2f3p-1 +0x1.cd76216869e9bp+2, 0x1.1b1d3cf683a9ep+2 +-0x1.9fcae5205cd46p+2, -0x1.0a3b58f299bfdp+1 +-0x1.2abc89a0eb39fp+2, 0x1.8c4d6835e5972p-1 +0x1.0a5afe3c4ccc7p+2, 0x1.4fd2cc063a564p-1 +-0x1.d0248bd7ff629p+12, 0x1.8d885d6947ae1p+2 +0x1.59ea516d1f26bp+2, 0x1.0ec88cec00338p-3 +-0x1.8a5d8487762f6p+2, 0x1.1a283a53f8328p-2 +0x1.829e7668f5048p+1, -0x1.c94901bac29c8p+4 +-0x1.0136269e8d655p+2, -0x1.d6aa45de9e968p+1 +0x1.1ae55c1f50a91p+0, -0x1.6d2bbf6ac4bffp+0 +-0x1.2f894a496ef82p+1, -0x1.8cccaafc6228bp+3 +0x1.a1847ab53654dp+0, 0x1.61b9f91dd1568p+2 +-0x1.593af265b0f1cp+0, -0x1.6fcb3685e1188p+1 +-0x1.4274fc2b6a44p+17, 0x1.55402eb22877fp-4 +-0x1.7758f8ef73ce5p+1, -0x1.129ed6c9fec09p+1 +0x1.47b15b059fa22p+0, 0x1.c37c3800e473fp-2 +-0x1.55e59b46e00fep+1, 0x1.15ab24a33c4afp+0 +-0x1.5efb2f2360924p+2, -0x1.c822455705f7dp+2 +-0x1.1ec1052baec55p+1, -0x1.632d52993655fp+2 +-0x1.3b380e44110fbp-1, -0x1.d06a61edd63b8p+2 +-0x1.648c7d2c9f39ap+3, -0x1.e0c74983a6277p+0 +0x1.3b45c176c2365p+2, 0x1.9ac13402948f9p+2 +0x1.821b65b56e9d4p+0, 0x1.49d4a47602299p-2 +-0x1.9536fd2b229e5p-1, -0x1.e45f70770ffa6p+1 +0x1.f42e02754d539p-3, -0x1.1447c8f7f0803p+0 +-0x1.3814c90a3de51p+1, -0x1.d29b58c9323e2p+4 +-0x1.db96f4672c59fp+1, 0x1.b7e8d8652d20bp+1 +0x1.31f092f938cp+1, -0x1.23d399672214ap+2 +0x1.03f4f293679bfp+8, -0x1.d6e5873aa87e8p+1 +-0x1.51e8d044a5eadp+0, -0x1.076d0067d9a9bp+2 +-0x1.5ce540d167649p+0, -0x1.03dbfbee1785p+1 +0x1.02c32cb8776d7p+2, 0x1.2900de5c7341p+1 +-0x1.2da0585a98a05p+9, -0x1.5d38049159df2p+2 +0x1.7b1185942c1a5p+2, 0x1.ff5246459affp-1 +0x1.0e03a3dd96788p+3, -0x1.76a414c910fb2p+1 +-0x1.1fffa49b7f639p-2, 0x1.9caea3b989545p+0 +-0x1.793d42826ff15p-2, 0x1.5b08238bd7a18p-1 +0x1.254967c3d947fp-1, 0x1.eb12af95bfb63p+2 +0x1.fe853624e7d83p-1, 0x1.b1e56a27778f2p+2 +0x1.3453058a4da38p-1, 0x1.307c967bfffc2p+2 +0x1.4d5cb9f362b26p+1, -0x1.b1937baaf010bp-1 +0x1.00f6b1b98db0bp+10, 0x1.36171ec38d3b3p+1 +0x1.55b3e6055d0e1p-3, -0x1.1aa44da042bb6p+1 +-0x1.b0bd843ab6a4ap+1, -0x1.f054c11c6fd4cp-3 +-0x1.81014cc2078b6p+2, -0x1.4bfc850ef4p+7 +0x1.d0a0747739ef9p-1, 0x1.41625bb6bb69ep-7 +-0x1.40f225f19d807p+1, 0x1.68f2251556c42p+0 +-0x1.17690d37416e8p+2, -0x1.75fa5ee082b6fp+1 +0x1.29564149663f6p-1, 0x1.9881037ac5d0cp+0 +0x1.2b01b141897c8p+2, -0x1.0f4d726519f07p-2 +-0x1.4b4620ac0010dp+1, 0x1.9e7c31f8f8785p+2 +-0x1.a6f89ee0f795ap+1, 0x1.f2082c30db1c8p-2 +-0x1.dd839901b27bdp+1, 0x1.7fca07d73884p+1 +-0x1.c3c48700662c3p+1, -0x1.6e853770c0f9fp+2 +0x1.d8ed1c9463b1dp-2, -0x1.ebd99dffbb2c1p+0 +0x1.fd966020d3d82p+1, -0x1.206c1fca20dc4p+2 +0x1.aee0d6765bc5cp+2, -0x1.35d52e2cf8086p-1 +0x1.13223a47687d9p-1, 0x1.7438981f5be52p+0 +-0x1.4bae87899db27p+1, -0x1.b15ab21feb71ep+1 +-0x1.9ce3b1e40fdefp+2, 0x1.cef4514e6d594p+2 +-0x1.f17318cfda767p+2, -0x1.e58d0c56c3a7p-4 +0x1.808beb30314dp+1, 0x1.07f0af7446b52p+2 +0x1.325fd32406536p+1, -0x1.9faafa9806c7bp-2 +0x1.6104f835ab8edp+3, -0x1.7807e45e473f1p+2 +0x1.29757328895cp+0, 0x1.3b45876742c98p+1 +0x1.c568a632a54f1p+1, 0x1.6caddd90a8a2cp+3 +-0x1.69894d1536713p+0, -0x1.3730781c9eddep-1 +0x1.135deea0c29fbp+1, 0x1.e1285a2b60964p-1 +0x1.4b80b406c31bdp+2, 0x1.2811c39f9b89bp+1 +-0x1.690a7bad9ddeap+11, -0x1.ab8ce8c5036fdp-1 +0x1.9d7e1448756f9p+2, 0x1.3737cdf250b8ep+2 +-0x1.63ffee2f4c37p+1, 0x1.193db17f128fap+7 +-0x1.d9b722403f2d4p-1, 0x1.022adb9727ec4p-2 +0x1.08a9000ea2e1bp+3, 0x1.18ec27d3a07d7p-2 +-0x1.6afe70ecfae1dp+3, 0x1.147d5c8097cefp+1 +-0x1.81f8ceac9872dp+1, 0x1.0f381836f6e7bp+1 +-0x1.c6ff784a5846dp+1, -0x1.66360c4d84d4cp+1 +-0x1.6791dbb850ac8p+2, -0x1.77c6dfc75633p+0 +0x1.45d5f669fcff2p+2, 0x1.268335c952d5ap+2 +0x1.3a13a0ae983f5p+1, -0x1.780cef3cd015cp+0 +0x1.6128b1ee4e238p+1, -0x1.439a5589fc96bp+2 +0x1.50b1d01bf2cabp+1, -0x1.4aaf2ad158f5fp+13 +0x1.0ae6ec582d27ap+1, -0x1.519680b429656p+0 +0x1.ee129e8d04b4p+14, 0x1.e0a28f7e72504p+2 +0x1.8cdcd3ddd9b87p-4, 0x1.ec9935e7e72f1p+1 +0x1.5317a281a6589p+0, 0x1.51d70c69c8e4ep-1 +-0x1.50ba0ab89871p+1, 0x1.013cec03578b4p+5 +-0x1.9996f9d095cd3p+1, -0x1.61d00d92a98ecp+2 +-0x1.3a3a257258ee5p+1, 0x1.2f54b253c0a1bp+0 +-0x1.b4951c9daf538p+0, 0x1.220f603d1e01cp+1 +0x1.09e96024014f6p+1, -0x1.b1165a43c5c1dp+1 +-0x1.be5766bd4f161p+2, -0x1.411e5393f3221p-2 +0x1.32640aef4dbcap+2, -0x1.9d3da53790e56p-1 +-0x1.26eaa37b73589p+1, -0x1.9657b29aaf014p+0 +0x1.25d18013304f9p+1, 0x1.faee42d2eee09p+2 +0x1.2f193ffba2b34p+6, 0x1.9ed35146ebdc7p+0 +0x1.c24bc2a87317cp+1, -0x1.c46c0709ade28p+1 +0x1.058fa84fdc5dfp+2, 0x1.074894afb4a68p+1 +-0x1.2cb5d178181a3p+2, -0x1.7b022bc97bd87p+2 +0x1.d971cebec3dc3p+1, -0x1.8ec86add9aeefp-2 +-0x1.f727374002d1dp-1, 0x1.219fdd9159794p+0 +-0x1.565374db0612ap+3, -0x1.f7898c3436f25p+3 +-0x1.3c9b49b6645b9p+0, 0x1.0adc702525844p+2 +0x1.c5a67f1896e7ep-1, 0x1.da8b2071db25bp+6 +0x1.d9d092687d0a3p+1, 0x1.7d3d03a0cd29cp+0 +-0x1.479fcda3b1abcp+2, 0x1.ef3f79cf31cabp+0 +0x1.52dc5518c03d1p+1, 0x1.152d96988dfcbp+1 +-0x1.b9362861efb2ap+1, 0x1.6f1701555f85fp+0 +-0x1.d76088168cba7p+2, 0x1.396904801c693p+3 +-0x1.bb8d37e3d13d9p+0, -0x1.bea7caef13c6bp-1 +-0x1.56dbccaa97ab9p+0, 0x1.3ad3109886a84p+2 +0x1.9e04061eea66ap-3, 0x1.f80584e5fb2d6p+0 +-0x1.54278b1afdca9p+2, 0x1.37b24baea382dp+0 +0x1.f77b1902c4964p-4, -0x1.7c43b4e9e93cfp-3 +0x1.10f4e21b1dc18p+0, -0x1.84c3d380eaf0ap+0 +0x1.6536d3822a5dbp+1, -0x1.45c85e7112072p+2 +0x1.8d0b5806d37d9p+0, -0x1.7bfe86e43f6cdp+2 +-0x1.028573702b054p+2, -0x1.266d423e3032ep-4 +-0x1.6f1e52b43bbcdp+2, -0x1.b57398f2ff9cep+2 +-0x1.0690070a17c8ep+2, 0x1.951438faf762ep+2 +0x1.54640df149ecfp+1, 0x1.a2e70e2d6b389p-2 +-0x1.4584eadb7a2a5p-1, 0x1.5984124891c5bp+1 +-0x1.3508e20bd00a4p+2, -0x1.df8c737910911p+2 +-0x1.d401bbbe0de6ep+1, -0x1.20ff5eb91df8cp+0 +0x1.ade08e2d79c6cp+0, 0x1.fb915453b8d6fp-2 +0x1.a816ef340651dp+1, -0x1.90a1d1046f146p-9 +-0x1.6b755acce6fb3p+1, -0x1.54b099489d729p+1 +-0x1.53687ec531316p+2, 0x1.0603b8ea04dabp+17 +0x1.1c64ac0e63ab9p-1, -0x1.1cd93b9a183f3p+0 +-0x1.d6676ec0e83b7p+0, -0x1.b3375faa14daap+1 +-0x1.397f5269a8f46p+0, 0x1.204f1d080a29bp+2 +-0x1.9d15f86e29d32p+2, 0x1.86b445c1fa227p+0 +-0x1.3a978b6d21bb1p+2, -0x1.299fc79ecbcfdp+2 +-0x1.a744b7e636d36p-3, -0x1.bb28842c58849p+0 +-0x1.0a9a77ea6cdb5p+0, 0x1.aabbf22ae2a88p+1 +-0x1.a112b6d648e72p+1, 0x1.3d09dc3e9e33bp+2 +0x1.2cb5e1779cea5p+2, 0x1.3cd7ac6fa38dap+0 +-0x1.f13990cfe5ec2p+1, 0x1.88f07d5373ae8p+2 +0x1.93179dd8aa89ep-2, 0x1.2bfc9601f50c2p+3 +0x1.32d43ce4e1358p+7, 0x1.335b322f8a7a2p+2 +-0x1.e24d81973b02ep+1, -0x1.ebc2947a9ce5bp+2 +0x1.4d8134ffd3891p+1, -0x1.e10c40e71879bp+0 +-0x1.628050434b9fep+1, 0x1.6d05cdab302ccp+14 +-0x1.407afbb6de59ep+2, -0x1.c12b48dd63634p+0 +-0x1.7ef92af52d4d5p-2, -0x1.41cc220fce214p+0 +-0x1.b4dc079689f4bp+1, -0x1.b8c92d69cd9ep+1 +-0x1.a4756c48b704p+0, -0x1.d7ea61d1085d1p+2 +0x1.a45014fadb068p-2, -0x1.394900efd90a5p-2 +-0x1.f154e3644bcf4p+2, 0x1.b57ef080526a1p+1 +0x1.6e593e63048dp+1, -0x1.b3b2e53f25ff4p+1 +0x1.20b8481ed33p-1, -0x1.a7a9a263d55abp+2 +-0x1.3edfe9034a518p-1, 0x1.04df46fe1a96p+2 +-0x1.85c872b5fe48p-1, 0x1.987aa68c4a40ap+2 +-0x1.8d8ff4c07967ap-2, -0x1.7bbe501495417p+0 +0x1.09b6e0c740d5cp+1, 0x1.6540ed66aa851p+1 +0x1.a035a7c44a82fp+4, 0x1.1ca917f416e1cp+14 +-0x1.6139c482ada5ep-2, -0x1.4f44b083f6f77p-1 +-0x1.c87cf7e5f2df5p+2, -0x1.625e9063076bdp+2 +-0x1.b994f9420b41ap+1, -0x1.d21a73ec72312p+2 +0x1.fb8fbc9a2fe6p+2, 0x1.4e0291e40703ap+1 +0x1.7bec591bcb9f1p+1, -0x1.22ade5fd6560fp+2 +0x1.3ff0fb4eb11fdp+1, 0x1.acf4457026889p-1 +-0x1.081e4b193da3p+1, -0x1.af18d2905362dp-2 +-0x1.816382b888e2ap+0, -0x1.dbf7e57684b5fp+2 +-0x1.109ea0bc3171ep+2, 0x1.2f89c59c1e284p+0 +-0x1.0525cef5eb77ap-1, -0x1.1527b5894fa4cp+0 +0x1.b3de51b661796p+1, -0x1.730858021dd8bp+0 +0x1.5a10d5a07f3a1p+3, -0x1.6d89969971facp+2 +0x1.34fc598a78651p+1, -0x1.8704c7920740fp+2 +0x1.d4182b979ed5fp+17, -0x1.4e2aac11bfdf6p+1 +0x1.0e84298372162p+0, 0x1.6241568dfe5dcp+2 +0x1.50d6fdd8353a1p+1, 0x1.471f703d627b9p+0 +0x1.016adf54be7b1p-1, -0x1.6baefbf516dc7p+1 +-0x1.21c30a32cda9ap+1, 0x1.62072a0760112p-4 +-0x1.39b197eda3b67p+1, 0x1.7f04c21a59f65p+0 +-0x1.168386ca9dda1p+2, -0x1.c9fbcc3111dd1p+2 +0x1.1635f32442b4bp+1, 0x1.3ddeeff0904dp-3 +-0x1.1ee2ce778752ep-3, -0x1.6899a578aa20fp+1 +0x1.dc1aa30ec4db2p-1, -0x1.b601c472fde84p-1 +0x1.a8462321fb8p+0, -0x1.33c518cb111f3p+1 +0x1.a6798664f5c9p+1, 0x1.0a3882fdb4c69p+2 +0x1.06a6a0c714e72p+0, 0x1.6bf6e92c72fdap+0 +-0x1.84d9f0dad55b6p+2, -0x1.6cf1230fc64fap-1 +0x1.dcbcdf914d19bp+2, 0x1.3536efe9827d5p+2 +0x1.cdd5a0cabf976p+0, -0x1.bfefec036a01p+1 +-0x1.618704dd2237ep+1, -0x1.17cefc37ce9e6p+0 +0x1.67adb2356ca23p+2, 0x1.3a39542a3d08dp+1 +-0x1.d038d39843b5cp-3, 0x1.36d7a84eb8a79p+0 +0x1.e318b27ed0599p-2, -0x1.3e982c6df06fp+2 +0x1.471aa1ad93735p+2, -0x1.178b0d8b0e41bp+2 +-0x1.b5c3386698386p+1, -0x1.a52045d0cb3b4p+1 +-0x1.d018cc3de79a2p-3, 0x1.2cb33f68cc2adp+10 +0x1.e26ee3996bd8ep+2, 0x1.1156ce1170e2ep+0 +0x1.a0a6aa2e7bd22p+2, -0x1.267fe26a632a4p+1 +-0x1.1988fafc41493p+0, 0x1.0b474ede969c2p+1 +-0x1.8fe1987a07791p+0, -0x1.5fdfda703863ap+2 +-0x1.9437084d0518ep-4, 0x1.8d0837e936cfdp+0 +0x1.8b69391996a2ap+2, 0x1.fd35a316fc2eep+2 +0x1.20e7616eca6e2p-2, 0x1.1338d3fa2926dp+3 +-0x1.ea5206d0e59ddp+1, -0x1.cd9f2866a138p+0 +-0x1.1da76fac5b14ep+3, -0x1.123ce38c400a3p+2 +-0x1.07273f5501a1ep+1, 0x1.fb388fac9cb68p-1 +-0x1.39b1efce626c6p+1, -0x1.153f21880d3b8p+3 +0x1.8dd607ab18a3ep+2, 0x1.c9119430f7652p+0 +-0x1.06ef9d5040c57p-1, -0x1.f7e71e8eb08dfp-3 +-0x1.2bcc972227b6p+0, -0x1.c4bcf89f22a8dp+13 +-0x1.263feb687a572p+2, -0x1.d0ae290be2126p+1 +0x1.bf14b6eaddd81p-3, 0x1.d08ea372372fcp-2 +-0x1.d899f538399cep+2, -0x1.c8a9969e9fae7p+1 +-0x1.5587db2a38d7p+3, -0x1.c510ed03a0fe3p+1 +-0x1.18b784fb0ed45p+2, 0x1.71cc014d2e991p+1 +-0x1.64f178d84bd9ap+1, 0x1.23e878698dbd8p+1 +-0x1.aec4fa9e8ba9cp-1, 0x1.30e845b965931p+2 +-0x1.f9dee68a8a975p-4, -0x1.24ba81f47f9a1p-1 +-0x1.9fe796266bcc3p+0, 0x1.af099e5373c01p+2 +-0x1.43231ad599d27p+0, 0x1.1580806ff282bp+2 +-0x1.dd82938144e22p+1, -0x1.29bfc266ae7abp-3 +0x1.5fafe5b5edad1p+1, -0x1.22b3574e65c91p+1 +0x1.6651c618cf3f4p-5, 0x1.e17a669700255p+1 +0x1.d3c68b80f60d5p+0, -0x1.56483d0667741p-2 +0x1.f538f451b9fdp-1, -0x1.7fb88e136c291p+2 +0x1.7459694066d8cp-1, 0x1.90a7c3293e66dp+2 +-0x1.74067a2d8c534p-1, 0x1.3902e701e5a2fp+2 +0x1.359ad7f5f0d46p+0, -0x1.14bb77ddc0726p+3 +-0x1.d2b000335796p+1, 0x1.f9f7f852b5e01p+0 +0x1.f4b9e2ad91dap-2, 0x1.18af71f8a9b28p+2 +0x1.2336b1cb0fafbp+3, -0x1.aa7a9d484c47cp+1 +0x1.23d8f222d52a2p+2, 0x1.06602864ed3cbp+1 +-0x1.7154c80e93233p+8, 0x1.0787d6a0e9bcdp+2 +-0x1.9b00fe119f6bbp-2, 0x1.fe98dd197274bp+0 +0x1.5ce4da1b33f67p+2, 0x1.54b8001746585p+0 +0x1.7631f2c31f401p+1, -0x1.56d6cef83e5a1p+2 +0x1.e93e0296d3f9cp+2, -0x1.508c63cbc95e1p+1 +-0x1.9421ee9b98f67p+4, -0x1.c205f2e58cca8p+2 +-0x1.4665ebc7cd0c7p+3, -0x1.95aab1bd6c38bp+0 +-0x1.0cb91d1523407p+2, 0x1.517e2f1d103eep+0 +-0x1.bf61d1396f8d7p+1, -0x1.457ed59185adbp+2 +-0x1.37c8c2e9eda75p+1, -0x1.002cb202563ddp+2 +-0x1.07c27a4b98428p+1, 0x1.274167b3edc11p+1 +0x1.38f41e03ca394p+2, -0x1.81ce3adcc24efp+1 +-0x1.d73dd14402c5dp-6, 0x1.1be2452685e43p+2 +0x1.6366c1ea96b0ep+18, 0x1.2310181f92686p+1 +0x1.23500e746171fp+0, 0x1.19c6bdd0879c7p+0 +-0x1.5e77f6e1a6136p+3, -0x1.a6520e7760427p+0 +-0x1.fad8dc512ef64p-1, -0x1.520906b4ca0edp+0 +-0x1.77399951d85bcp+0, 0x1.14293c930bd93p+1 +0x1.50f49f30f41a3p+1, 0x1.365732ee9462cp+2 +-0x1.3469c823bafdbp-5, 0x1.b1cb35b097958p+0 +0x1.0c8065025cd4ap+0, 0x1.53f72f16765c3p+1 +-0x1.ba6bf36ca2f71p+2, -0x1.142e216b09fb8p-2 +0x1.240137694a3c1p+0, 0x1.9bb950814c562p+0 +-0x1.5a932d908486ap+0, 0x1.ba4fb40fa34a4p+1 +-0x1.223d30ff2a1a5p+3, -0x1.27b8add6a6886p-1 +-0x1.a8e54543a5198p-2, 0x1.01d10f40bbe4dp+1 +-0x1.93f7d1ea9858ap-4, 0x1.7fcdddaeac474p+1 +0x1.9a1d8d576de6fp+2, 0x1.036463aaa8b1fp+2 +0x1.b0e6ff5eda3cdp-1, 0x1.02db2f7f0de33p+3 +0x1.6b8a9f549c9b6p+1, 0x1.2fa00597e9e36p+2 +-0x1.d82327772da7cp+1, -0x1.9d410aaf06663p+2 +-0x1.de77e9c0a780cp-3, -0x1.1494222a68d99p+9 +-0x1.cb4adcc5751bcp-2, -0x1.3f3ebcce0aec2p+2 +0x1.2cd10b49175d9p+2, -0x1.6f6f2351ad838p-3 +0x1.ed8106947686cp-1, -0x1.89506742e5d8p+1 +0x1.00c424a42565p+2, -0x1.6b352e885e7c3p-1 +-0x1.08fb74dc0ab89p+2, 0x1.26b1b1abb522ap+2 +0x1.5f5b97eb4da63p+0, 0x1.5767d36361b7ap+2 +0x1.276b5609db7f6p+2, 0x1.2bc056d863c86p+2 +0x1.054068516fafdp+2, 0x1.e8fb5d99a1a68p-2 +-0x1.7950f176344c2p+0, 0x1.61c78ee7f9271p+2 +-0x1.3da239be38048p+2, 0x1.b309d11338a01p+2 +0x1.b3d519e1bf1d4p-2, 0x1.c7101bf613de6p+0 +-0x1.17cc8034ddd1ap+3, 0x1.5e9e67ea45c7ep+0 +-0x1.7b88b9484a232p+2, -0x1.bc3d10fd50bc6p+0 +0x1.fe17716a6268cp+2, -0x1.454e049d56536p-2 +-0x1.203ea7655130ap-3, 0x1.0b62ff735d823p+1 +0x1.0a3696500908p+0, 0x1.b69cbdbd83417p-3 +0x1.e4a2a0310a0dp+0, -0x1.fc1de8ce9ccbbp-2 +0x1.9c5f0ca6d5bcdp+1, -0x1.c662e4a9e2b4fp-1 +0x1.cb7759ff98897p+0, -0x1.61d9a3955f9e8p+0 +-0x1.1450cd02b8002p+2, -0x1.e773533e402e8p+1 +-0x1.a191c553590d6p-1, -0x1.3b0969f3dad3bp+2 +-0x1.5739785aa9cb6p-2, 0x1.974ac42aa19f3p-3 +-0x1.19e94204b2e05p+2, -0x1.60de180df5b3ap+0 +-0x1.7877256bbd104p+0, -0x1.fea15116b212bp-3 +-0x1.c22308bd575ddp-1, 0x1.288e7f47d1b81p+0 +-0x1.18dcfee80196cp+3, -0x1.e322c79333de6p+0 +-0x1.11322e6dd5efp+1, -0x1.34b88999f1bfdp+2 +0x1.52f1279623616p+1, 0x1.119c0fbd1adb5p+2 +-0x1.69e2d1e8fa137p-5, 0x1.1feb9ad409c2ep+2 +0x1.61feda8a1b167p+0, -0x1.8f798a89cb563p+2 +-0x1.5076558e75dfep-2, 0x1.969822a48f2bfp+0 +-0x1.4b524db6de106p-1, -0x1.321ac45903b65p-4 +-0x1.6ebfad34f3528p+2, 0x1.e1d78c350aacfp+2 +-0x1.1208ee7041017p+1, 0x1.50da0aca712e9p+1 +0x1.095648628df8p+2, 0x1.d7c7b5dcd6724p+2 +-0x1.d0964bde55c72p+1, 0x1.2e651714ec24dp+1 +-0x1.c0bdc3f5eb2e8p+1, 0x1.1695d07763352p+0 +0x1.0454b477b93dbp+1, 0x1.4ccce934eb87fp+0 +-0x1.1db5faa1216e6p-2, -0x1.786a46d1d8691p+2 +0x1.990da5661a543p+1, -0x1.f317d5490f832p+4 +0x1.4f6fe74404b98p+1, -0x1.d20a797212608p+1 +-0x1.99dd5f0dc1be9p+0, 0x1.e5340b83aa563p+1 +0x1.a5b969d782f2p+2, -0x1.928d3bcbf4518p+0 +0x1.2e315198a9783p+0, 0x1.513135f05f2bbp+1 +0x1.0222ca2b4f081p+1, -0x1.c399957a8d3bep+6 +-0x1.ec6731814760cp-1, 0x1.0523de79fd4ecp+1 +-0x1.3a3f7be689a0bp+2, 0x1.5ebaf64b450f1p+2 +0x1.224768673ab86p+2, -0x1.1e90c4dbc07dep+3 +-0x1.fedbaa128aafap+1, -0x1.022820fe4bbf4p+3 +-0x1.7e07544d82593p+11, 0x1.5e371cea0128cp+10 +-0x1.e2fa33afd4d83p+2, -0x1.000cc0f07a4a9p+0 +-0x1.16afe7cf93e2fp+2, 0x1.5d8299296a8cp+1 +-0x1.582e240c71aaep+2, -0x1.65ffe7961a37p+0 +-0x1.07b00502bdde1p+2, -0x1.8a79a9cce700bp+2 +-0x1.362ff8c8539bcp+2, 0x1.5a2a55bb21dddp+1 +-0x1.ad62d5415a7f6p+0, 0x1.43efd93e082dcp-2 +-0x1.121de9c0dc664p+0, -0x1.68e8ebc40287cp+0 +-0x1.4737a7b0ff72fp+1, 0x1.2e6985262b8afp+12 +0x1.d3724fc717215p-1, -0x1.d01bf904aa6b9p+1 +-0x1.d040af28a58fcp+1, -0x1.d96b688fac8d9p+14 +-0x1.23d4f32e81314p+3, 0x1.82c22d0dba34ap+9 +0x1.8733f7daea068p+2, 0x1.bc26f58537a4dp+1 +0x1.0548933c002ffp+6, -0x1.c049b5b81bf84p-4 +-0x1.fec4921b7b307p+0, 0x1.7f7968f52df6bp+2 +-0x1.1dd896290ba68p+1, -0x1.a9ae636ac6ad5p+1 +-0x1.8077dd65339dep+2, -0x1.1e7b08199fe76p+3 +0x1.235395438149fp+1, -0x1.c87d10a63d169p-2 +-0x1.d320da5d9ee0ap+0, 0x1.03b143c0b2672p+1 +0x1.7a38475a7c219p+0, 0x1.242e1d397e6bdp+2 +0x1.b7936a31add3p+0, -0x1.4f848b363cbf1p+1 +-0x1.0e20dc0f9d118p+2, -0x1.c14bc04ee403cp+2 +-0x1.5f1d22e8a6643p+5, 0x1.a4475fe31d5f4p+2 +0x1.d225c2f94ab9dp-1, 0x1.21c16635ce30cp+0 +0x1.235af779a7eecp+1, -0x1.1b58b94905d77p+1 +-0x1.58b5e5e5e17d8p+0, 0x1.dc72e34ae62ecp+2 +-0x1.de7f639b3d658p+1, 0x1.76a74d5003af5p-1 +-0x1.b2a27178698ffp+0, -0x1.d78d2ad9958eep+0 +-0x1.d3a2753254aedp+1, 0x1.5d8ba75afc39p-2 +0x1.492d75cd60656p+9, -0x1.22ebdca8bfeabp+2 +0x1.78e75f962beb2p+0, -0x1.9911172a835e6p+1 +0x1.0855c3159b79p+2, -0x1.36a249f6713e1p+1 +-0x1.2510e79baa8e8p+2, -0x1.0d06dd5d881f2p+0 +-0x1.c765ed854744fp+11, 0x1.afd89ba2db15fp-1 +-0x1.29809ec5a8b95p+1, 0x1.aaf702a408688p+2 +0x1.9dcb10f0825a1p-2, 0x1.5f3cc882f0ce7p+1 +0x1.4ba3a5ffa79fcp+2, -0x1.6d9b24ac25c87p-2 +0x1.a3ea737ecd838p+1, 0x1.207bc67429ddfp-1 +-0x1.fe6d08f681db5p+1, 0x1.1a69746b81fc4p+1 +0x1.d70e4ab377134p+1, 0x1.6f4597dae2bbbp+2 +-0x1.0c62a62513245p+0, 0x1.d820c9530305ap+2 +-0x1.71efdc4a4f75p+1, -0x1.30841919dfc79p+1 +0x1.70f5336e17d7dp+0, -0x1.18de13d860674p+6 +0x1.d6ae61baacdc4p+2, 0x1.f196bbf5215ffp+1 +-0x1.41d18d0f022ffp+3, -0x1.762a83fb3a7fbp+2 +0x1.d63c0d6692ca9p+1, 0x1.f220354c3cc18p+2 +-0x1.f1afc8040b129p+1, -0x1.d775d0cb80646p+0 +0x1.a217aac4eab47p+2, -0x1.643dbf161d7d3p+14 +0x1.7d3ed50ce274ap+1, -0x1.e87dd9747919bp+1 +-0x1.9ed7a29a9c834p+1, -0x1.5be9942ff4d2p+2 +-0x1.9df17d86201f9p-1, -0x1.4d8be99e8188dp+2 +-0x1.dca97fc2c3d81p+9, -0x1.cd544b866b613p+0 +-0x1.297df97e7a9ecp+2, -0x1.72ed200511deap+1 +0x1.351bfe4f9af6ep-1, -0x1.7a6163d228fb8p+1 +0x1.524c21b4055d1p+1, -0x1.0a74b36e4145ep+2 +0x1.1f938f466b00fp+1, 0x1.21e2580529246p+0 +0x1.7f5a81506ac11p+1, -0x1.0326e0867440ap+1 +0x1.3dbaa26960115p+0, 0x1.c7e527bc02a67p-1 +0x1.5e1d8eaca6c95p-5, -0x1.d7ebf650cc9b9p+1 +0x1.9097b662a59eep+1, 0x1.210e7f9b00965p+8 +-0x1.fd2e4f7bf87bfp-2, 0x1.34111b41a0232p+2 +-0x1.320bb7ec305bbp+1, 0x1.c3d3ce6fb26cdp-1 +0x1.d68badce5fad4p-4, 0x1.d5fbd9a4099ap+1 +0x1.7747520a8506ap+2, -0x1.a3adc4d8243f9p+2 +-0x1.c7e54a561edfcp+0, -0x1.1872b908a3c89p+0 +-0x1.e39d87f265b94p+1, 0x1.b75530da2cbeep+2 +-0x1.db9717453752p-1, -0x1.7e4a49aa11db4p+0 +-0x1.ca0c47971a2e3p+0, -0x1.140941e8f4e9ep+0 +-0x1.b89a4d30de0b1p+2, -0x1.047d929ca12b4p-2 +-0x1.1fca22d9e3d3fp+2, 0x1.f76c26c23252ap+7 +0x1.0ea7bf950d4bep+2, 0x1.c6c843e32c486p+1 +0x1.60342384077cbp+2, -0x1.a5ffd2292d3b4p+0 +0x1.ab8657b7a70fp+7, 0x1.125b5c34f3271p+2 +0x1.90738b259e457p+0, 0x1.d921afd783667p+2 +-0x1.b154157bf17a5p+2, 0x1.4431396d43267p+2 +0x1.f07062f70ded8p+2, -0x1.469440b3191fep+0 +0x1.52ed3a3a0f7a6p+14, -0x1.6c8e20d320275p+2 +0x1.597e7bc43487p+2, 0x1.f538115a5274p+11 +-0x1.7b4e545a4fef2p-1, -0x1.47ffa36f14afap+2 +0x1.5c496ede92a21p+12, 0x1.260285817baf3p+1 +0x1.686e95f29c34dp+2, 0x1.710bd5d2c5ee7p+2 +0x1.55e840d9b9166p+2, -0x1.43ffa8e88d158p+0 +-0x1.69b8c86092a1fp+1, 0x1.c0c0d7045be57p+2 +0x1.eac24ae0b33dcp+1, 0x1.e064bf381862bp+2 +-0x1.c5a6f5ae0f81ep+2, 0x1.7d090a3ef9149p+3 +-0x1.51054c3cebb78p-1, 0x1.5e0ad832c47abp+13 +0x1.064c8f50de85ap+3, 0x1.0e768a936696ep+2 +0x1.fcd304df17d13p+1, -0x1.ad4e7d34bf318p+2 +-0x1.6fa7bbb482b52p+2, 0x1.1131d402eeaa7p-1 +0x1.84b6ef7476f9dp+2, 0x1.82d034b577949p+3 +0x1.3070756303b56p+1, 0x1.d6dd86c0ff286p+0 +0x1.b0c4237bd40dep+0, 0x1.6ecb46f059fb6p-2 +0x1.5472d0ca8751bp+0, -0x1.2c76e4e00044bp-2 +-0x1.d8f29a525c17bp+2, -0x1.a631e4e488a23p+15 +-0x1.5bf5c4f3469c6p+3, 0x1.88639a9d97768p+0 +0x1.0047971d6e2a7p+2, 0x1.115370a703986p-1 +-0x1.16a00f44a641bp+12, -0x1.dc8958f7b3acbp+1 +0x1.dc3e846d83038p+0, -0x1.93ea0eb61088dp+10 +0x1.aa61367a61e3dp+2, -0x1.99a04cdfd0df1p+1 +0x1.b0839e4189b87p+2, 0x1.d13377c3aa005p+1 +0x1.117444f4bf5acp+8, -0x1.443c98b0560cbp+1 +-0x1.eeb87ebb65fa6p+1, 0x1.38c446b779cd2p+2 +-0x1.710f7cbaa56ebp+2, -0x1.07b1a0825c188p+2 +-0x1.c75e1451c74e3p+1, -0x1.3ddf731fb1842p+0 +0x1.27092f8aa5296p+2, -0x1.0833d382ec7cdp+0 +-0x1.2cb6b94f88bdap-2, 0x1.6bd3df33085e1p+2 +-0x1.17db097560542p+2, -0x1.fc4a6a3e62f6cp-2 +0x1.df7684dc399fbp+15, 0x1.40fc5612ba1c1p+0 +-0x1.cc7f4e662776ap+1, -0x1.792ec52d353ep+0 +-0x1.44a492f5ff5d6p+3, -0x1.3827d3f76703bp+2 +-0x1.41cca35a5f8bcp+3, 0x1.4656954e389fap+13 +0x1.d9b4370fc2651p+1, -0x1.82e3929888e01p+3 +-0x1.dd150317c60b9p-1, 0x1.dfc3cb1d20efp+1 +0x1.1f3afe7426708p-1, -0x1.0cc97c80d87ddp+1 +-0x1.201c3df5ee694p+1, 0x1.df82b0e4c13fdp+1 +0x1.395d76dbb0bf2p-1, -0x1.0b866d3ed57bcp+3 +-0x1.738d300f0c4d4p+2, -0x1.0eeade15c772fp+2 +0x1.40cdcce2fc373p+1, -0x1.3c73da13f2cc1p+2 +-0x1.74ae489a85dacp-1, 0x1.d82759a5a7c6fp+1 +0x1.8ff2bfeff3f83p+10, 0x1.1723e809d8be9p+3 +0x1.8f42905a6af4p+0, 0x1.550ea22983af2p+2 +-0x1.b17830927004cp-4, -0x1.061f0850a474bp+2 +-0x1.7ae9b9ac3ce2fp-1, -0x1.1541c8e599a71p-2 +-0x1.ed3335edb3fd8p-1, -0x1.a2b8e06527b38p+0 +0x1.d1951e09570bdp+1, -0x1.e01f1bfe66fc3p+0 +0x1.11494a22a66d1p-1, -0x1.39bbd90a02bf2p-1 +-0x1.a0c207726808fp+2, 0x1.268d4ca64e482p+2 +0x1.8e2fbc3125b5ep+1, -0x1.6b14c3fe2796cp+1 +0x1.8dc764d61a0ccp+1, 0x1.8779e69e57682p+0 +-0x1.176c96d183422p+1, -0x1.25a54306d73b7p+2 +-0x1.81eb79a888b49p+1, 0x1.b54004815d6d5p+9 +0x1.11e367b41be23p-1, 0x1.8ec7b0a28eee7p-1 +0x1.d2b6cb02b0012p+6, -0x1.016aee7627603p+7 +0x1.827dd95ed480ap+0, -0x1.14a3ce94c49d2p+2 +-0x1.01a3dcc7ea2ap+9, -0x1.75eb80c0dbf7bp+2 +0x1.24954c7f5ee18p+1, 0x1.f902db3318d55p+0 +0x1.640cf26bfbb62p-1, -0x1.2f224f92f6885p+2 +-0x1.02d94b4d9016dp+2, -0x1.9b7db7392324dp+1 +0x1.68651ebb454f2p+2, 0x1.f4796f30027fbp+1 +-0x1.d1393d75f4511p+1, 0x1.c5dc8fd3603a6p+2 +0x1.bb6f3211e908cp-1, -0x1.cd8996d89a7e6p+1 +-0x1.c73193f75f0c3p+1, 0x1.987076bd1eeaep+0 +-0x1.a68fc08dfec19p+1, -0x1.52d8c765daedep+6 +-0x1.339fbe43d34c6p+2, -0x1.413901f5193e6p+0 +0x1.ce62222b3805cp+1, 0x1.970f028113879p+2 +0x1.8abad91d0108fp+1, -0x1.2c58f7a4e021bp+0 +0x1.06a996941e707p+2, -0x1.a7a642f6f2147p+16 +-0x1.fe3dd3b21c701p+2, -0x1.6021c857420fcp+1 +-0x1.575737013d5d6p-2, -0x1.cfee4949fe65bp+0 +0x1.11638da253de3p+0, -0x1.fb4ad68db196fp+0 +-0x1.9e297d12f7a6ep+9, -0x1.00d2d9006315dp+0 +0x1.7fbfd8baa1d71p+2, 0x1.5a65d861f8c53p+2 +-0x1.9b58a134857f3p+5, -0x1.4915bbf40d86fp-3 +0x1.6beb9b08962b9p+1, 0x1.57a911eb1ad5fp+0 +-0x1.12d0505a7c635p-1, 0x1.89ea2ae702fcp+0 +-0x1.5632cdad9c323p+0, -0x1.d4c06be24be8cp+1 +-0x1.4f1954f19cfa9p+0, 0x1.3db72f9579379p+1 +-0x1.d8db14a91be06p+0, 0x1.98df14da2cd37p+1 +0x1.14ed3aaba1e13p+0, 0x1.152fd86c0f4d9p+0 +-0x1.eb0c41597dcfdp-1, 0x1.c34ee9c0b662p+1 +0x1.f84a204697033p+2, 0x1.43f320e296de6p+1 +0x1.38668c7e85186p+2, -0x1.0fcdda4fc16b8p+1 +-0x1.9f96a6f3cef22p-1, 0x1.e85928dbfb41ap+0 +-0x1.361cdf5362f57p+3, -0x1.8c83ce414b22fp+2 +0x1.1c76ac621150bp-3, 0x1.5b16355b23c86p+1 +0x1.5c549458b4ea9p+1, 0x1.969e895e32515p-3 +0x1.2440fa8897061p+3, 0x1.31fb48ccd28e9p+2 +0x1.2d1b84d2bb28ap+0, -0x1.225302fa6c87ep+1 +-0x1.342994f685e83p+2, -0x1.71951e6049268p+0 +0x1.29b1a102edbd7p+2, -0x1.cff757eb27dffp+2 +0x1.2a3a816ba5faap+2, 0x1.f42529712cc99p-2 +0x1.c8b54130361efp+1, 0x1.83bb476615988p-1 +-0x1.4dda2ea87efccp+3, -0x1.0fdb2e462211cp+3 +-0x1.35115f1147a95p+2, -0x1.b6312122192f4p+0 +0x1.a740b09c4e06fp+0, 0x1.09450797d14ccp+1 +-0x1.911454ae95a0ap+8, -0x1.808f836249d14p+2 +-0x1.b7e28934b005fp+0, -0x1.3c6e2582182cdp+2 +0x1.e87adde1019eep+1, 0x1.3902b2ba290bap-1 +-0x1.76edd365a8352p-2, -0x1.839bfcca85665p+2 +-0x1.8b4aa06b5acdep+0, -0x1.4a9160586351bp+1 +-0x1.bb2d507c481c4p+0, -0x1.9fb55e7c25027p+1 +0x1.0cca47e013bebp+1, 0x1.0d849efc15754p+16 +0x1.0dc2f1273843ap+0, 0x1.9a8405cf46916p+2 +0x1.a607c945b5ac9p+2, -0x1.44bb7d10967a3p+2 +0x1.f3e262d7d2025p+1, -0x1.1518701db4cacp+2 +-0x1.5946e5076ca65p+2, -0x1.d8f4f72e75f3bp+0 +-0x1.bc8404e8eea26p+1, 0x1.c53ab41121f9bp-3 +0x1.191f9a7809804p+2, 0x1.acbceb1ee93cep+1 +-0x1.4c2d729be6727p+1, -0x1.02ea11fc8cd65p+2 +0x1.20889d795ca8cp+0, 0x1.8c2f30e6de49cp+2 +0x1.10b322fb9951bp-2, -0x1.39c9aabc992b8p+17 +-0x1.2743a11ce3daap+1, 0x1.4c16c24675605p+0 +-0x1.035d74bcbe027p-3, -0x1.5967711870325p+0 +-0x1.044af2319224cp+2, 0x1.572759d0c031p+1 +0x1.0b9a4cb849af3p+3, 0x1.c2c14901ebb99p+0 +-0x1.18b6f0db87a4bp+1, 0x1.aa7be7a00f4afp-1 +0x1.0e7168cd2a5b9p+2, -0x1.b5a3dcd4bbb18p-1 +-0x1.c72a6a042e50ap+0, -0x1.cb81070961543p-2 +-0x1.47dbd3cd97892p+2, -0x1.df37b2105266ap+1 +-0x1.430243a5f0f96p+2, 0x1.f6647fbd4cb5fp+2 +0x1.d75654d29b386p+1, 0x1.19a419c0aa2c8p+1 +-0x1.ac16228b22c89p+0, -0x1.901e201c5cac3p+1 +0x1.091687705c0fep+1, -0x1.9edd0ebd18bcep+0 +-0x1.6e97388085eb2p+1, 0x1.66dc784199b8bp+2 +-0x1.8400fed9d2029p+5, -0x1.a8aa7773154bcp-5 +-0x1.aee52b26e299fp+2, 0x1.968dc12f8a578p+12 +0x1.086cfd334e5d3p+7, -0x1.7819202c89d5dp-2 +0x1.2401c8899a63p+2, 0x1.4296ce4e36ddp+1 +0x1.b9051ee5173f3p+2, 0x1.6b220e627c763p+1 +-0x1.ae685c082c8dbp+4, 0x1.aed15d501a24fp+2 +0x1.144ca30cf11f4p+3, 0x1.67aa4ff5ab2b6p+2 +-0x1.48a91f20bffc6p+2, 0x1.9a61f20256742p-1 +-0x1.131b2bd2445cap+2, 0x1.eaf8483e99704p+0 +-0x1.be68bfce2266p+10, -0x1.a0321a75a5356p+1 +0x1.616db09e2fa48p+1, 0x1.2ed1fbbf59e47p+0 +0x1.0e1f55404b2b6p-1, -0x1.9f96e8dcc513fp+0 +-0x1.0ef2a558260a4p+2, -0x1.6462b400a9578p-1 +-0x1.d53832d3bed9dp+1, 0x1.b8dd7040d692fp+0 +0x1.4874b97365b26p+0, -0x1.ec97ba98fa1b1p+2 +-0x1.53ef33d7c4a76p+1, -0x1.07fba90718481p+2 +-0x1.d5c393bd7c10ep+0, -0x1.448fe47264738p+3 +0x1.094c28d7301dp+1, 0x1.31663ecbd3645p+2 +-0x1.cf8768a66ee09p+1, 0x1.3509d066274a2p-1 +0x1.8dabe1a2eca3ap+0, 0x1.89563e1a7abc4p+0 +0x1.41e1ccabff7ap+0, -0x1.bb2d1c4e64f42p+1 +0x1.1c840e2a493d7p+2, 0x1.bc5d90d6ec0a3p+2 +0x1.36b89c616fe2fp+1, 0x1.d51926e0e4ed7p+1 +-0x1.88f8a32b99b0dp+2, 0x1.033bdbbad7697p+2 +0x1.7102185faf9b6p+1, -0x1.3d096a9d70e32p-4 +0x1.3473c7e0d3656p+2, -0x1.e31a31f195de4p+1 +0x1.efcb56603790dp+1, 0x1.a506ae382d772p-1 +-0x1.711fe7fe834fp-3, -0x1.144e54b43e567p+2 +-0x1.821f6af7bfa5cp+0, -0x1.facc3d8bb364ap-2 +-0x1.8d13ffd78004p+3, -0x1.69e3ad3c29a73p+0 +0x1.4818c4a85a7a4p+1, -0x1.40af87bbf289bp+2 +0x1.74a9b37329c64p+2, -0x1.03bd38674857bp+2 +0x1.6e1a90fa22563p-2, 0x1.702f9efb00858p+1 +-0x1.78898724d161bp+17, -0x1.a287826e25cc7p+1 +-0x1.6a13d125c1d2dp+1, 0x1.bf6545614f2aap-1 +0x1.0073b49702568p-2, -0x1.deccb44d69f3dp+1 +0x1.b97cd53a84b79p+2, -0x1.e859599a8541bp+2 +-0x1.e8608a26fd75ap+1, 0x1.29b278175bf62p+0 +0x1.12bc5d77892c4p+6, 0x1.0c8efd730f12p-2 +0x1.8abba277c6feep+1, -0x1.70115381b7af9p+0 +0x1.11c3004c61d25p+1, -0x1.fcebaafb4ecb6p+1 +0x1.b7819a2b6aba5p-1, 0x1.c4abced09ea7ep+1 +0x1.546188132ff54p+5, -0x1.625d30f6bd861p+0 +-0x1.4d16412bc07b6p+3, -0x1.6e78e8541f34cp+2 +0x1.ff57b4477173ap-1, -0x1.732f7fbf78345p+2 +0x1.c60c8a18ca74bp+2, -0x1.6c0f712692246p-4 +0x1.6c6fccae9544p+1, -0x1.8770ac5c7c4d7p+2 +0x1.2e1f3fb86e2e1p+1, -0x1.8a5f0fb797007p-3 +-0x1.137b351e7d8bep-2, 0x1.08318d16847cp+1 +0x1.55dacfe7d2f16p+1, 0x1.c697ca1ea3a28p+1 +-0x1.7e14c4e8c5dd1p+0, 0x1.c05af990ced74p+1 +0x1.649566d68f306p+13, 0x1.d456c46c32ff5p-1 +0x1.8f5974602f8c2p+1, 0x1.9e93011006be8p+2 +0x1.27f39a9c172a7p+2, -0x1.1bbf7b8216c44p+1 +-0x1.be890b1a75765p-2, 0x1.a553d59400777p+1 +0x1.43939e5464cfdp+1, -0x1.4045e41a2f778p+2 +-0x1.35a0f5e4ccdc2p+2, -0x1.3422aac46b8f2p+1 +0x1.fa67b5b462e41p+2, -0x1.3cc6fc0ab709dp+2 +-0x1.c34b1d331f1a8p+14, 0x1.78175b45bbf5cp+0 +0x1.07b0322010eb3p+3, -0x1.39bc1cac5674ap+1 +0x1.7e1ecab2b8611p+2, -0x1.a8cdaa343f1c3p+1 +0x1.f5b0caff27af8p+1, -0x1.e7061a420527ep+1 +-0x1.323af1ffac813p+0, 0x1.8d033a8dd7ddap+1 +-0x1.a1a07454f8a1dp+1, 0x1.50cc41f57d39ap-2 +-0x1.f56e5e9fada02p+1, 0x1.3859d96750defp+1 +0x1.73203bf383085p+1, -0x1.8adde5f8f1df4p+1 +-0x1.d557ae14c19b7p-2, 0x1.36e46dc9e2dddp-1 +-0x1.70fe440376f4ep+5, 0x1.27b77812c8d7bp-3 +-0x1.3d6d9449f0b2cp+1, -0x1.11e906c2545bep+1 +-0x1.deaedd8052d44p+2, -0x1.6c268666b780dp+0 +-0x1.751cb5efc0125p+0, 0x1.7e5a447cbe912p+1 +-0x1.a1a94467137d8p+1, -0x1.631e76fac0a58p+1 +-0x1.4974ea8a5b944p-1, -0x1.610c39847f6dep-3 +0x1.64f79be504d66p+0, 0x1.ef4876bb9373dp+0 +0x1.3bf07758ac0edp+3, 0x1.1b3054b54d8d9p-3 +-0x1.0d3a4f35633c5p+0, 0x1.017ee3b6d9aebp+3 +-0x1.208cbf8e3dbeep+2, -0x1.5f084df226306p+2 +-0x1.2bc95225cf2a6p-2, 0x1.79882b08dd3ccp+1 +0x1.f213b8342646bp+1, -0x1.a1dee7da2bf6cp-4 +0x1.398ba033f91a6p+0, 0x1.18888d42b146fp+17 +0x1.25cfead1b1235p+10, 0x1.d9419b9534cdfp+13 +0x1.b164e917a32f8p-1, 0x1.adaf625ba3cfcp+2 +0x1.e9a2d143c4b25p+1, -0x1.17544ad4ba83cp+2 +0x1.3276ea83d9999p-2, 0x1.3bfec63f5289cp+8 +-0x1.a4524b2fdde2bp+7, 0x1.bde5bb6e64c54p+8 +-0x1.294108a31ba78p+12, 0x1.e4a268fcc1f87p+1 +-0x1.2988d714911b8p+1, -0x1.35c038462ef2ep+1 +-0x1.ba83c698b13d8p-4, -0x1.2596ba0f8da32p+2 +0x1.a73c6fdd2b3ddp-1, -0x1.d574c505bd404p-2 +0x1.9e272df83331ep+2, -0x1.baca8328beadep+1 +0x1.9f22e23bc0f6p+0, -0x1.c073ca76d48a1p-1 +0x1.1633b247d7e01p+1, 0x1.63fde035cd946p+0 +0x1.3bf3ffdc65e09p-1, -0x1.2429280322e3bp+0 +0x1.b44f60e7247e4p+1, 0x1.35ef8ef818f27p+1 +0x1.554106a3fce0ap+7, 0x1.01263efdae1d3p-1 +0x1.43f43b811264p+2, -0x1.272e41a83f19cp-1 +0x1.cde265bc071c3p+2, -0x1.2759fba345ef1p+2 +0x1.53c29fe09b2b4p+1, -0x1.3b002ac772cc3p+1 +-0x1.a9d384a6c2d99p+1, -0x1.c0ffa46344c7bp+2 +0x1.28be59a2b8973p+2, 0x1.dee23f044c63p-1 +0x1.00a382f66b2b1p+2, -0x1.089955f5cde6ep+2 +0x1.b552f0c15135bp+13, 0x1.1d920135cafdp-1 +0x1.b4eab91fa7e9dp+2, -0x1.50679095977ep+3 +-0x1.b02079606e48ep+0, 0x1.15067d4ddd5d2p+1 +0x1.33b2fd363a87ep+2, 0x1.229d8dbb97519p+1 +-0x1.14bb16ed08341p+2, 0x1.06aa7a7c56016p+1 +0x1.b45903726b769p+0, 0x1.715c2c71815e3p+2 +0x1.66840832724dep+1, 0x1.f24d72fa4a60bp-1 +0x1.dbf50b585b223p+2, -0x1.938fba520654p+2 +-0x1.bbfd71f367dccp-2, 0x1.333e5ed1263a1p+2 +0x1.05222e2d2d4aep-2, 0x1.8c6cd202ba974p+2 +0x1.8f1b75ace3b7bp+0, -0x1.02c5f5cf16d5p+0 +-0x1.1713aaf722843p-1, -0x1.a29ad45c3a3dap+2 +-0x1.b6d618e039128p+0, -0x1.70b115246867bp-1 +-0x1.d84737c689ddp+0, -0x1.a232c0b047aebp-2 +-0x1.4924e5ee14ebap+10, 0x1.523a7ebfe78e3p+2 +0x1.e70aedebd4b1fp+0, -0x1.5a1c975911dbfp+1 +-0x1.ed119034e6a4bp+1, -0x1.792fd2b9e456dp-1 +0x1.4880715dad285p+1, -0x1.e435be704689ep+0 +-0x1.e5248c755c768p+1, 0x1.2ea91c7e4606fp+1 +0x1.0752368183a77p+2, -0x1.9fd765276e4a2p-3 +0x1.d27774b0a46bcp-1, 0x1.a0de76d18538p+2 +-0x1.779e199954091p+1, -0x1.9a63b29ced1acp+1 +0x1.4551c071e3612p+1, -0x1.2bf0f08f79f3bp-2 +-0x1.ae0f77c31c75dp+0, 0x1.f4803de9d3d74p+18 +0x1.34f0d2a12cd84p+0, 0x1.69e271f1f8fa2p+0 +0x1.2da5a48c9a9e1p+3, 0x1.a9cf96e2ed939p+1 +-0x1.45019d2ee0fb3p-2, -0x1.02b058f802a3bp+5 +0x1.ce6a228515532p+1, 0x1.e60fc4f8bc76ap-1 +-0x1.ba4f23e166ab6p+1, 0x1.bef6acf8e5265p+0 +-0x1.f08f31b874a0cp-1, -0x1.827eef84b9c14p+0 +-0x1.81451763c7fcbp+1, 0x1.929f7c4873464p+0 +-0x1.2e62ca652df96p-1, -0x1.0b1e914266a6ap+2 +0x1.8b1da759fca95p+0, 0x1.41a8c338299f7p+1 +-0x1.c2ed3436ec8e9p+1, 0x1.23ff52f35c879p+2 +-0x1.79751538755f8p+1, -0x1.75dccc36599a5p+1 +0x1.31813f5a8b34fp+0, -0x1.19f82859faf39p-1 +0x1.4f28e4c463c9cp+2, 0x1.9f7be005ac4a4p-1 +-0x1.5563cdbaa3506p+6, 0x1.f24a97c1672e6p+1 +-0x1.3785bff77fa86p+1, -0x1.28ddef8a7188ap+2 +0x1.af2e4bf2e0527p+1, -0x1.bb9c349cb3eb1p+1 +-0x1.23738446973ccp+2, 0x1.216e94fde3782p+1 +-0x1.404f78dfdac49p-1, -0x1.d5f7630733621p+1 +-0x1.6a54a38f0c78cp-1, -0x1.ea251e3191e44p-1 +0x1.e4d75b70f7768p+0, -0x1.51d77741c59aep+2 +0x1.f0ffbede3629fp-1, 0x1.07cd9aa1e8cc4p+0 +0x1.7291e70882dcp+1, -0x1.fe51af030a20ep+16 +0x1.16fa723f3f61bp+1, -0x1.68cf93cb7cd7fp+1 +0x1.bda4753e9d1aap+2, -0x1.d8c1393c31e36p+16 +-0x1.044f2c1e7031fp+2, 0x1.651543a7a3d26p+12 +-0x1.0585998124d7p+2, -0x1.51373e1abd6eep-4 +0x1.0ccfdf512b482p-1, 0x1.217ce5fc6541ep+2 +0x1.5f834695e1c6bp+0, -0x1.4855b8dac7c66p+2 +-0x1.c67155ef87709p-2, 0x1.f4d96f4f39ddep+5 +0x1.2a624540c149fp+1, 0x1.caa2ebc95573cp-1 +-0x1.682f24da6017ap+1, -0x1.d0d90ecc89c53p+2 +0x1.904d8057eaef1p+1, -0x1.d9bc35e72d545p+1 +0x1.b609cf1eb7875p+1, -0x1.9a9a14ba31b5fp+1 +0x1.e69d2fc7857c2p+5, -0x1.ada57e0eb119bp+1 +0x1.8fce241b1e336p+0, 0x1.ac55e0fbe0d38p+1 +-0x1.0c3b900555af8p+0, 0x1.a5e5b3473e91fp+0 +-0x1.0565e7ab26f9ap+1, 0x1.6da23867e6d97p-1 +0x1.3bed0a261d33dp+19, -0x1.ff2f3bcf1d076p+2 +0x1.bef44a8e2b591p+2, -0x1.8801d5721b75fp-2 +-0x1.cbb29dedb7859p+0, 0x1.09dc7087753f5p+1 +0x1.a09c22f161c1cp+16, 0x1.7e57f9a22508ep+3 +-0x1.6ef24221dc489p+2, -0x1.5b7c195dec5d4p+3 +0x1.218a906174475p+2, 0x1.0652460d91c3dp+0 +-0x1.4bc35a7f6918bp+2, -0x1.503f55f551c6ep+1 +-0x1.de0226626a4c3p+1, -0x1.7c16f2a2e310fp+2 +0x1.be43032895252p+2, 0x1.a2e2c52f41be9p+2 +0x1.5f5178957b39fp+1, -0x1.80f520a4221aap+1 +0x1.be8831b22588dp+2, 0x1.1e1ad8eda7dd8p+2 +0x1.88af12d33e396p+1, 0x1.56d510daccc47p+1 +0x1.2e8bca4275bb5p+1, 0x1.7c2a16c2964e7p+0 +-0x1.c3f2462543705p+0, 0x1.2c9239e9dfd36p+17 +0x1.11083b729cf36p+2, -0x1.7e2af39315da9p+1 +-0x1.7da2eaba0ec41p-1, 0x1.506ffb7425729p-1 +0x1.7ab5ea8242debp-1, 0x1.b77cabf14db6bp-2 +0x1.7b3b4e2f05ddep+2, 0x1.bbddc223d8ed4p+1 +0x1.c509a23d73b8dp+2, 0x1.1935357d6c979p+13 +-0x1.71cd3deee7d9ap+17, 0x1.826b805093a09p+2 +0x1.88114f0451dddp+1, -0x1.242f7a3e92be2p+0 +-0x1.4b33f9eba0d61p-1, -0x1.3ff7b15d65457p+2 +0x1.e5c145a39e135p+1, -0x1.0452cb23c2ea2p-4 +0x1.cb2aa9f960742p+6, -0x1.2fe8f78eba3bcp+1 +0x1.4b188c8b58e1cp+1, -0x1.0280595397c7p+0 +0x1.81a3d0dc3fce3p+2, 0x1.61604f72cc50fp-1 +-0x1.88b9b48e6e12bp+0, 0x1.adbde0c853d1dp+1 +0x1.ef8b77b92c76ep-1, 0x1.6f05862b7c708p+1 +0x1.12e9472273bacp+9, 0x1.e038095394ea6p+0 +-0x1.72ba700c37f07p+2, 0x1.085a22bbfd7a9p-1 +-0x1.4730babdc0c14p+3, 0x1.d2be6bebeedf4p+0 +0x1.9070f5d98956ap+2, -0x1.13802dfe62ed5p+2 +-0x1.1f41e33160aaep-1, -0x1.29929c9c92042p+0 +0x1.d3f8e5ae13d6ap-1, -0x1.001bd2373e225p+4 +0x1.0ad203c10df6ep-1, -0x1.e96f930781a01p-1 +-0x1.21e5d8eb57dd9p+1, 0x1.2ad730ea4cc5ap+11 +-0x1.fea527443ca72p-6, -0x1.93dc6ac05f8f3p+0 +-0x1.680cd1fdc064fp+3, 0x1.21f1f1626f20ep+1 +-0x1.060a6d09b6f49p+3, -0x1.1ff16387bdfa4p+2 +0x1.386158ee48996p+9, -0x1.0ccf3fbb8bc2p+3 +0x1.12b19649c70c7p+2, -0x1.220a5ffef9135p+0 +-0x1.5ef9eb9552a3bp+0, 0x1.71cdb61a203c4p+1 +0x1.1b40f1a2fcebap+2, 0x1.dae3426c41647p-1 +0x1.ceb35659a8204p+2, 0x1.028d091c63623p+1 +-0x1.0e43930a7e9cfp-1, 0x1.9bebf1f0835bdp+6 +0x1.d86000d9a7707p-1, -0x1.e6a3193c6903bp+1 +-0x1.59c1d91772b5cp+1, 0x1.1e75da86fb093p-2 +-0x1.0d4c1fec2fa9p+2, 0x1.c430b8e88c4ecp+1 +-0x1.d37956b1a6bd5p+1, -0x1.a04d485c3b9e7p-2 +-0x1.04014c571b3e5p-1, 0x1.658acf683261ap+0 +-0x1.0ff5d61e9b253p-4, -0x1.757c727e30ad3p+7 +-0x1.26c032f90fc1ep+2, 0x1.ee75e9f1040e8p+3 +0x1.5027343852a7ep+1, 0x1.687e11cabc067p+0 +-0x1.82955d1c9805ep-1, -0x1.f0a28e0a0bfc3p+1 +-0x1.934f90e95a09cp+0, 0x1.9f3bffdb167d8p+0 +0x1.104161c484cbcp+1, 0x1.250e9485f986cp+3 +0x1.cbb8b279f75cfp+1, -0x1.3e666417db13bp+12 +-0x1.39dd9137af427p+0, -0x1.69653a2a1374bp+1 +-0x1.9e5b08d76b728p+2, 0x1.cf9e7d04b54bep-2 +-0x1.f509a8312f736p+1, 0x1.e6fb88bdc053ep+0 +-0x1.b1e6c95a549cfp+16, -0x1.d09f99a31e9f3p+16 +-0x1.d76b71224c9b6p+2, 0x1.c56e2c269a7f6p+2 +0x1.2fd78ccfebdf2p+1, -0x1.53571df7a806p+0 +0x1.1fc02cf8c4886p+2, 0x1.05940ae5aae28p-1 +0x1.beec41369cd0ep+3, -0x1.deccf2895ba49p+1 +-0x1.c31c1f03b82e9p+1, -0x1.609aeafcd9f1ep+14 +0x1.3e4dd68a3b267p+2, 0x1.32e09414cfe9ep+0 +0x1.b25072bb38547p+1, -0x1.e1b733cabc1a8p+2 +0x1.36b69bef0cbcap+2, 0x1.24780e586bcd3p+2 +0x1.353a97454b62fp+0, -0x1.3612bb1dc64eap+2 +-0x1.e537779e7d117p-1, 0x1.17896c66b683bp+2 +0x1.ea007c8a963b2p+5, -0x1.53c8ca3e29b1ep+1 +0x1.ea6f95ee5dcb6p+1, 0x1.b4e0038a61d51p+0 +-0x1.e2af578213281p+2, 0x1.0533a560b45f6p+2 +0x1.c505a97c3f16cp+12, 0x1.a8aec58be087p+2 +-0x1.70f68000c51eap+1, 0x1.51f401ec7fbdp+1 +0x1.db06473f40fedp-2, 0x1.4e1963fd716bbp-1 +0x1.a93094e125a22p+0, -0x1.1026fefab4092p+1 +0x1.2b11802d5672cp-2, -0x1.1663b10191896p+0 +0x1.64f32aa7f17c9p+0, 0x1.76f537ad53e83p+2 +-0x1.229ed99baeca3p-3, -0x1.9d54224e8c116p-1 +0x1.66399235e31adp+0, 0x1.8274241590838p-1 +0x1.56ef89e9426dcp+1, -0x1.48c9fc90c511ep-9 +0x1.2c9095d7682e6p+0, 0x1.f11c2ae636f68p-1 +-0x1.d30d83164bea4p+1, 0x1.7c24af02ca1bp+1 +-0x1.a8496a3e739d3p+1, -0x1.8d426075714abp+0 +0x1.2fee8d8fad0ccp+1, 0x1.2784b3c87544ap+1 +-0x1.fa3b208cc16eap-1, 0x1.5f32ab56a81c4p+0 +-0x1.d1bb10de8809bp+1, -0x1.b9e65c992b6c7p-1 +-0x1.4d432f6d8c2e1p+12, -0x1.6dbe7021dcdc3p-1 +0x1.a46e973a3e99p+2, 0x1.4cde1121818fep+2 +-0x1.e842a6195ef26p+1, 0x1.a07a37e8d4c71p+0 +0x1.021d6b583a26cp+2, -0x1.07a6aa47f6bfcp+0 +0x1.684072264d247p+3, 0x1.5a13a33f9ca56p+0 +0x1.e2f9968e2736fp-3, -0x1.5ffafde92027ep+0 +0x1.b56387a27cf5dp-1, 0x1.7d238029ceef2p-2 +-0x1.61af1bcd2f05ep+1, 0x1.3080ef66979e8p-5 +0x1.2498498f33eaap+2, -0x1.8907402f60d53p+2 +-0x1.ab41475fcd6bap+2, -0x1.dfbe17f38637ep-2 +0x1.9308bf9a54849p-1, 0x1.c58a07e377dc5p+2 +0x1.b362b3185f4d7p+0, 0x1.57be103ebaf0cp-2 +0x1.475e48e998936p+6, -0x1.020ca5691cce5p+3 +0x1.83ec89bb2ce2fp+1, 0x1.b2c4774b4357bp+1 +-0x1.113a09f81fc81p+1, -0x1.d382c87c16dfap+1 +0x1.7880f4f8ccd14p+0, 0x1.971a035ffe8adp+2 +0x1.0fb77f47421eep+1, -0x1.9719c92834c47p-1 +0x1.ea1f6d15e40f3p-2, 0x1.32beae2003fcp+2 +-0x1.cf59e5c75346p+1, 0x1.1b29cf0432334p+2 +-0x1.3a8dc761fad7ep+2, -0x1.9329f7e1e1bb3p+1 +-0x1.da33f91ffa374p-1, -0x1.6ef64ba5996c6p+0 +0x1.842f2d915181ep+2, -0x1.52cf3636ba4c8p-2 +0x1.081ab8e481571p+0, -0x1.a3029d2789b85p+2 +0x1.0dd4a1f66412bp+3, 0x1.342d83659a8dcp-2 +-0x1.365096745d39dp-1, 0x1.f8c280e4e1c84p+0 +0x1.2e34b13041e0ap+2, 0x1.76e0cc85b8289p+2 +0x1.7fc06c4f16dcap+2, -0x1.1fc0438960659p+2 +-0x1.0ae6fc59bc6d7p+2, -0x1.2c6562b353152p+1 +-0x1.cc02a394dc81p+1, 0x1.eed6e25dc319dp+2 +-0x1.95d15aed7e55p+2, -0x1.c9bdba2cce334p+2 +-0x1.1ee18eb070a28p+14, 0x1.059c1493b1ef6p+2 +-0x1.cd3fc1071d3c8p+1, 0x1.6e093b3f895bfp+1 +-0x1.4d1a150d70ee8p+2, 0x1.fbe58bc9bd9d5p+0 +0x1.bc4616bd7691p+0, 0x1.8efeadf3c5833p-2 +-0x1.edf52b2c77c85p+1, -0x1.c75fde6084728p+2 +-0x1.360ca3a0dd42cp+2, -0x1.8316aa3769e3dp+0 +-0x1.d60075694fd86p-4, 0x1.69c85b8b8ccc9p+18 +0x1.dcda45212aec6p+1, -0x1.59edd0fd7a02bp-4 +0x1.4b4d1a28acebep-1, 0x1.334620ecc9621p+2 +-0x1.29ca766a4883p+1, -0x1.be15557ae10cbp+1 +0x1.ea0c0064d5ceap+0, -0x1.ce34047bc919dp+0 +0x1.203732a300278p+16, -0x1.e1bb82cad4ff9p+1 +0x1.ea0ff46f317d1p-3, 0x1.923c71788ea04p-2 +-0x1.4884c29964546p+2, 0x1.152025ce81301p+3 +0x1.d299f4143fefap+1, 0x1.0386c797fbc4ap+3 +0x1.00ec53614e27ep-1, -0x1.0a6d141458b05p+1 +0x1.0269a3cd98e66p+1, 0x1.5638675db228ep+1 +-0x1.b712ca3109ea6p-1, 0x1.1f2cd3235346cp-1 +0x1.ed4bdf659996fp-2, -0x1.a29e188bf5bfbp-3 +-0x1.069dc0fb9574p+2, -0x1.050c8a2ff07b7p+1 +0x1.90271c76cfadbp+2, 0x1.17cf9a8c3dc4dp+1 +-0x1.917ca02a22d06p+0, 0x1.15f860722717bp+3 +0x1.b87e35ebfa349p+2, 0x1.7ae3124b25f2bp+0 +-0x1.c5c72c93c2d11p-2, -0x1.eb5c14492754fp+0 +0x1.2db7ce4a43852p+3, 0x1.917df786a7411p+2 +0x1.0032d2617d198p+2, -0x1.c04d5276f8e8cp-1 +-0x1.658aab185625p+2, -0x1.def7a427fdb86p+1 +0x1.1c1b7ceafc1cfp+17, -0x1.e29c2e02b1802p+2 +-0x1.3a92f53a6713p+1, -0x1.01840542c33e8p+0 +-0x1.a1bb461853681p+1, -0x1.cd19ac4ad8ac9p+0 +-0x1.48b60d36a500bp+0, -0x1.bd350368ccd79p-1 +-0x1.c46617fb1ff35p+2, 0x1.bf977d521a53fp-1 +0x1.8be50c312178ap+14, -0x1.a5f1702bdb0aap-1 +-0x1.f0470fd55eb31p+1, -0x1.49c53a8ddc39cp+1 +0x1.99798da1c025ap-1, 0x1.313ffe4cc3acfp+5 +0x1.91aab55bb0eaep+1, -0x1.28062a01ab905p+2 +0x1.1d4446fe97038p+13, -0x1.2aefe0be622c3p+2 +-0x1.53a44ea11ap+2, 0x1.4bc1c9e3b52a2p+18 +0x1.c5d29d4efda5p+1, 0x1.539cceded3db2p+0 +0x1.1d375d18b4865p+3, -0x1.8e5f2854231c1p+1 +0x1.6b24572e08393p+1, 0x1.734baf685f228p+0 +-0x1.67bef0d5e2905p+1, 0x1.ba7cff5a21287p-1 +0x1.6f2d89e4377d4p+0, -0x1.4e682d49ff477p+1 +-0x1.866033fc47c63p-2, -0x1.a8b234d4fa494p+1 +-0x1.5b18f0c015f78p+2, -0x1.43970bfb824aep+1 +0x1.2cbe71f97c90ap-3, -0x1.26b7c0e9a8849p+2 +0x1.194518d91bc4p+0, -0x1.d7ef251bbc71p+1 +0x1.6bd3bdec63b04p+1, 0x1.2d60d5a27c4b2p+2 +0x1.4e2a48b2d5123p+0, -0x1.9bc7256c883d5p+1 +0x1.6521f84acf6cbp+2, 0x1.3246dc983ab88p+0 +-0x1.80002fd67a625p+0, -0x1.1678006ca7655p+2 +-0x1.14855f287d8edp+3, 0x1.54ed1bd62c549p+2 +-0x1.2eefa74a088a6p+0, 0x1.97c2d37b17f69p+0 +-0x1.142d7cf3fdc0ap+2, -0x1.796aa9a04aae8p-2 +0x1.6216e80d285dap-2, 0x1.546bc41c08f8cp+3 +-0x1.998eb2a1f58bep+0, 0x1.25fa8f9db5a5fp+1 +0x1.fc34f5a415d0ap+1, -0x1.6999cad5dcb1bp+2 +0x1.52bfed0c2067p+0, 0x1.564f1508ad28ep+1 +-0x1.aeeba98923fcap+0, 0x1.99268aa57399dp-3 +-0x1.ee66af8dc006cp+0, -0x1.1c6a1739b26b2p+1 +0x1.435e7e1a9bc3cp-2, 0x1.76cc2e8e9e5dfp+3 +-0x1.83fc524693dbep+0, 0x1.3abca724520fp+10 +0x1.03605b7977cc8p+1, 0x1.add1e9f1c6cddp-2 +-0x1.12d5618c6b4c6p+2, -0x1.b48c30fac1824p+0 +0x1.6b3ae30fd52dfp-4, 0x1.173f8478e2863p+3 +-0x1.053674105e53cp+15, 0x1.67d70704a4339p+2 +0x1.46b330f251836p-2, -0x1.95dc20f6b81b1p-3 +-0x1.fb3325a724a99p-1, -0x1.d185f66c21c09p+1 +0x1.7f29d578ddf1bp+2, 0x1.404b71c973ecbp+1 +-0x1.d555687577d14p+1, -0x1.6dfd1cb7643p+2 +-0x1.ec906dcd35ddcp+1, -0x1.685455d1c3832p+1 +-0x1.fe44a15cfc5f7p-2, -0x1.ee6b70bd6df8fp+0 +-0x1.762ef989151c9p-1, 0x1.d80ad8139227ap+2 +-0x1.486074c9ef04cp-4, 0x1.0a8cf1332cb4fp+2 +-0x1.216b43a7112cdp+3, -0x1.5c978b95cc4e3p-4 +0x1.823b307638c3bp+2, 0x1.2b1e8cef932c9p+17 +-0x1.2f51752f28a43p+2, -0x1.c4b97f5f00b34p+2 +0x1.4b06db80057f5p+1, 0x1.9ac9d7097f697p+2 +-0x1.931d053089075p+10, -0x1.6a96dfd282c3ep+2 +-0x1.b565071fb2b58p+2, 0x1.03ba242e75589p+1 +-0x1.00f62c2282f9ep+2, -0x1.29090666ab3e2p+2 +0x1.200271d15e08ap-3, 0x1.02cdd703c372ep+2 +-0x1.c1df0a6cc8eb4p+0, 0x1.62082cc20f3afp+3 +-0x1.38362f1b1b34fp+3, 0x1.05e18b0cb3a7cp+2 +0x1.b4f5170011cf4p+1, 0x1.5d5d25d6e1df5p+1 +-0x1.1bd403a1d726p+2, 0x1.1ed7d1ed1fb16p+2 +-0x1.1229798042813p+6, 0x1.6d2c4ef7f34ebp+14 +0x1.86cc4a0a87f44p+2, 0x1.0faede2b4bb8bp+2 +0x1.ff5697c3be761p+2, -0x1.94f979bc376afp+0 +0x1.e3ca74f9d7f9dp+0, -0x1.4e0fbca0be32bp+1 +0x1.4f04d297066c7p+2, 0x1.11836795d306bp+2 +0x1.1cf13582f1318p+1, 0x1.c262bccdc508p+1 +0x1.ec42d07b8599dp+3, 0x1.c7e2aea850175p+2 +0x1.0ea45c7f10e7dp+2, 0x1.70b79bca29c7ep+1 +-0x1.809fab2fa7544p+2, 0x1.073ac8101b9adp+3 +-0x1.00e0b405485b1p+3, 0x1.18653b53eb512p+1 +-0x1.2914dceb8e09dp+1, 0x1.5443d15fb23b1p+1 +0x1.a48fb0c386415p-2, -0x1.b7f86beff7bbep+1 +0x1.cf689bb62eae4p+0, -0x1.4df38f690748cp+1 +0x1.3d914834a02dcp+1, 0x1.04d87064f45a9p-1 +0x1.183f8f2241ed6p+2, 0x1.1318240ca5d33p+1 +-0x1.cae47b30d2f23p+2, -0x1.72a1c2a89d6c9p+1 +-0x1.3d1ec7587c2b8p-5, -0x1.051fbbde41a39p+2 +-0x1.dd8fcaa8a58f8p-1, 0x1.ac2c57087b80bp+2 +0x1.cf0ef531e025dp-1, 0x1.2a15bb92fdf38p+2 +-0x1.6458baf70503ap+0, 0x1.3dfba059f2546p+2 +0x1.acce48f4e536cp+0, -0x1.4a6c29779e9acp+1 +0x1.0d65e0dca8388p+2, -0x1.ef75c3b7f15afp+2 +0x1.8dcdf2b0644fep-1, -0x1.1aa7e17a289fap+2 +-0x1.d7ae6b7c6814fp-1, -0x1.dabe9688f81fp+0 +-0x1.42dc805d7da19p-3, -0x1.e3ff006448c3bp+1 +-0x1.567bcfb46e58ep+2, 0x1.45e4c94adae2p+1 +-0x1.490a684bbfe4ap+2, -0x1.0f8e1feffa9fdp+2 +0x1.6b87dd6e069a6p-2, -0x1.948d00f9cf08dp+0 +0x1.2150989caa1b7p+3, 0x1.91ff10e829bb3p+1 +-0x1.1e2c2ca8f9f32p+10, -0x1.b2697742ba1dap+1 +0x1.9b8ef73ad9ad6p+0, 0x1.4fc9cbea1c7c2p+1 +0x1.ebd0fbc727c25p+6, 0x1.249b54f133818p+2 +-0x1.360a5bac22358p+2, 0x1.6a3caeb79e627p+2 +0x1.08101ea1959cep+3, -0x1.ecf65cc6cfa57p-1 +0x1.62cada4da3588p-1, -0x1.06112ee96ed42p+1 +0x1.991d772a8d2fbp+1, 0x1.606adf984b0bdp+2 +-0x1.070713afa5105p-1, -0x1.562a988502c92p-2 +-0x1.dc5e96eedc33ap+1, -0x1.83bc2de9bd012p+0 +0x1.5f291c644a389p-4, 0x1.6c1ab3e27c0c7p+0 +0x1.0c56cfcad138ep+2, -0x1.1316ecb511684p+9 +0x1.0dc78585daa0fp+4, 0x1.9904636bc6218p+1 +0x1.06002bd0dec72p-3, -0x1.f13c1e5b57d07p-2 +-0x1.180a16bcb1dccp+0, -0x1.8f8b4d1447b8bp+2 +-0x1.1649f29698c38p+2, -0x1.97f9eaf9bcfep+0 +-0x1.4fe6172b8e328p+1, -0x1.943578690eca1p+3 +0x1.10b6023dd5a51p-1, 0x1.60cce6df1eb62p+11 +0x1.f010c517a2d28p+1, -0x1.18296d17dc06ep-1 +-0x1.3d588b118722dp-1, -0x1.6d596346c5777p+2 +-0x1.9dca2a23691c5p+0, 0x1.257a95aa902dep+2 +0x1.d69b8a13ddb67p+12, -0x1.ead32b1ba9fffp+2 +-0x1.47b2d0411b1e5p+2, -0x1.3195524628d3p+2 +0x1.03d558dacfc7cp+2, 0x1.c00ae24a0a399p+2 +-0x1.8fab24503bdedp-2, 0x1.3549cb20d72cap+2 +0x1.007aa5b57512dp+1, 0x1.457e7acdf9e75p+1 +0x1.18726b7878b02p+1, 0x1.13ddb372b541fp+0 +-0x1.03641de444419p+1, 0x1.4c7beb9dd3e1ep+2 +-0x1.a59091efe7995p+0, 0x1.2641c9b9a248p+1 +0x1.15666195054f1p+3, -0x1.e0f6fb09b47b1p+2 +0x1.05feeba056108p+3, 0x1.d3c478b55ee92p+17 +-0x1.544059260e467p+1, 0x1.705f558db1f7dp+1 +-0x1.15a24d4098763p+14, 0x1.d1236f695756dp+0 +0x1.6718ed72e9789p+1, -0x1.57e652ed6513bp+2 +-0x1.79544ea4f842p+0, -0x1.16d6405fdef62p+2 +-0x1.1ac905b09b513p+2, -0x1.e85af446ce44cp+1 +0x1.bb11c58573c6p-1, 0x1.7f800df187fbap+1 +0x1.3d5614880365fp+2, -0x1.cb8fc5ca8d21ap+0 +-0x1.38784b4457b53p+2, -0x1.4ab4fa9fbd1afp-1 +0x1.88cf0cb50ab3dp+14, 0x1.3dd5b7bc8c944p+1 +-0x1.ffa2151287b0fp-1, 0x1.4761347fdc14fp+0 +0x1.e5787b1dd88eap+0, -0x1.f9e446149f343p+0 +-0x1.93e5d1509b1fbp+0, 0x1.4357f95694abbp+1 +-0x1.4f73dff8a219dp+0, 0x1.9d7f484a92c38p+2 +-0x1.f46b4b3c263a2p-2, 0x1.4cc1316881981p-1 +0x1.3e01ae737cb7p+2, -0x1.b8cd7cf1ff021p+0 +0x1.17734bf216319p-1, -0x1.4d84b67ffcaabp+3 +-0x1.5e3c2bb47e757p-1, 0x1.39600c851451cp+2 +-0x1.d9fed2305c888p+1, 0x1.cf3df0c2e5eaap+1 +0x1.97d41a0ca3461p+2, 0x1.ee4f3d641d617p+1 +0x1.a9ca8bcf867dap+9, -0x1.89719b5383a4ap-2 +0x1.7a6966035bf8dp-2, 0x1.32364619b25fep+2 +0x1.fa4759e2dbfcfp+3, -0x1.f26d5d11faa41p+1 +-0x1.32b2cf9dadaf6p+1, 0x1.c7fba542bced9p-4 +-0x1.016d02f024be3p-3, -0x1.29eb778b5f1f5p+0 +-0x1.0abdf0f18390bp+1, -0x1.83caee50aa938p+2 +-0x1.e77141958bf48p+2, -0x1.70baaf4de881dp+11 +-0x1.0b184e359fcfap-2, -0x1.2f8bb10b82134p+3 +-0x1.b2a8baa6b075dp+1, 0x1.900b1dc896c01p+2 +-0x1.f1c7eb783bc87p+0, 0x1.810201bffae51p+0 +0x1.2c9fc4c95da0cp-1, -0x1.f03356cbf0643p+2 +-0x1.9fd06ec2498b4p+2, 0x1.9d463e02f1ad9p+2 +-0x1.3acaa99735b4ep+2, -0x1.6968e52153f5ep+2 +-0x1.b41609afe417ep-4, -0x1.6b96b28f9427dp+1 +-0x1.50589a38cb2f7p-1, -0x1.27a8e305df377p+16 +-0x1.2f7d754e1ce8bp+2, 0x1.b05bd3c996b4cp-4 +0x1.40ed048dfc93fp+1, 0x1.228e5dee46cbp+2 +-0x1.112b60b800599p-2, -0x1.be5892c5db7bbp+1 +-0x1.c6a599688170dp+2, 0x1.a56ef0739cf8ap+0 +0x1.918a5295319fap-1, 0x1.2d04ad130d76bp+0 +0x1.1aa9f2c2a40b8p+0, 0x1.0eb2ac3d285f2p+2 +-0x1.a38a2c4ecdca1p+2, 0x1.c2fa24fe1f397p+0 +0x1.dc9a9b2b0f9b2p+14, -0x1.171817b49bc5dp+1 +-0x1.38933e07c19e5p+3, 0x1.8107ea37b5a8p+2 +0x1.96ff2b9f8b568p+1, 0x1.188cd6a241b6p-1 +-0x1.31b022aa87c92p-4, -0x1.2bfef29b4173bp+1 +-0x1.076554cde63e2p+1, -0x1.4afc23f1f6081p+1 +0x1.1aa983503c1cbp+2, -0x1.85ce2f3e1f7f1p+2 +0x1.4344d24e08cb4p+5, -0x1.bf4e26dbf2605p+1 +0x1.b008665f6334ep+0, -0x1.e448a31afd5a6p+11 +-0x1.5d2f0731d30bp+11, 0x1.6ef53a8f473a9p-2 +-0x1.bdb7c6cdff693p+2, 0x1.5259b3681b3c2p+1 +-0x1.8852afebce82cp+2, 0x1.34bbde45abcbep+7 +0x1.daed1d8af823dp+0, 0x1.2c7a89ce4e75dp+1 +0x1.9331efbee1ac6p+2, -0x1.55762693b425ep+1 +-0x1.146f9ddba649cp+2, -0x1.28a0220b89b76p+1 +-0x1.a2228dc88396bp+2, 0x1.0b5b471e53949p+2 +0x1.d73f7ef842bb1p+0, -0x1.6618801395004p+16 +-0x1.5018e76a96f7dp+0, -0x1.72153e48a85c2p+2 +0x1.a8f7b18aef778p+2, -0x1.26c92b28c68c4p-2 +-0x1.3ca7f79f0ebf7p+3, 0x1.0a6c5199633c7p+6 +-0x1.5a8bb9550d5abp+2, 0x1.84ab41a2b7058p+0 +0x1.d44e1b40c1c02p+2, 0x1.dc0de4ed72d9cp+2 +0x1.8750902435eacp-3, 0x1.c435604f3676ep-1 +-0x1.6feb18de7f7d5p+9, -0x1.3dc2bed23761fp+2 +-0x1.06ed8dfceda2dp+1, 0x1.4d3d6f9bc72f3p-3 +-0x1.dd5742db3a0ffp+0, 0x1.a4ea000dc5ba7p+2 +-0x1.d54bacf73842dp+1, -0x1.2ce968f482fb6p+2 +-0x1.41ab3d37b935p+1, 0x1.44f8368412ce3p-7 +0x1.5161949935c9dp+1, -0x1.a7bbf8b575ebap+1 +-0x1.217621dece826p+3, -0x1.9fdd64aeaf543p+1 +0x1.42b617e0c497cp-7, 0x1.ad52dd1410743p+0 +-0x1.a0565df383012p+2, -0x1.64508925d269dp+1 +0x1.1b6745e6f4f97p+5, -0x1.7d311b3642bf1p+1 +-0x1.5ddfba14e4874p+2, 0x1.c135f98268459p-2 +0x1.014789d4d5b91p-2, -0x1.3333aa531c637p+2 +-0x1.4496a147c57bep+2, -0x1.711ea5c8459cfp+2 +-0x1.755ebf41299fep-8, 0x1.1ac203cb9a283p-6 +-0x1.d88bd3db0c512p-1, 0x1.6dce50ae40243p+1 +-0x1.16dc0ba1a1b9cp+3, -0x1.27c77b5832043p-2 +-0x1.906e9ee874a68p-1, 0x1.18e9b7af28258p-4 +-0x1.2e8c2cc1bde9ep+2, -0x1.5344973c301a4p+12 +-0x1.2c24ba980caccp+1, -0x1.ac2c6d05084c6p+0 +-0x1.d221a59706b64p+2, 0x1.d71f27a76ca22p+0 +-0x1.630a7a3c19d39p-2, 0x1.5cb6bb7f70728p+2 +-0x1.4d706e630a0a9p+1, -0x1.81db16b8bbe4bp+2 +0x1.1d45ebf7ed30fp+1, -0x1.bbd30311345ebp+1 +0x1.692925c1296e1p+1, 0x1.a623ad0818d59p-2 +-0x1.080955c97a89fp+0, -0x1.8c6be3f7c945dp+2 +-0x1.b92f87fae57d7p-2, -0x1.4ef9f21574415p+2 +0x1.67160ab935358p+2, -0x1.69579103ab5ap+2 +-0x1.1247dde581545p+2, -0x1.811d5c8f9ed98p+18 +0x1.d43b42181b948p+2, 0x1.2248fd038ed27p+2 +0x1.36f160e4d900bp-4, -0x1.62a91991c2c58p+2 +0x1.c5cf2fd192635p+1, -0x1.df6c8c4890602p+1 +-0x1.f943ab203a248p-1, 0x1.51a9cae8a92e7p+1 +-0x1.9108faadd1115p+1, 0x1.fe48626444ba7p+0 +-0x1.04ffeff608392p+0, -0x1.d641c76db1ed5p-4 +-0x1.f9d3d67006a29p-1, -0x1.ee62951aa7adap-1 +-0x1.94a685436df4fp+0, 0x1.a7c51685d902ap+1 +0x1.c77d639e0a4c4p+7, 0x1.86dca3bd4a44dp-1 +0x1.38018c0f0dd66p+1, -0x1.ba117f24df0d6p+2 +0x1.fc074a6f6f58fp+0, 0x1.0ea0d742122b1p+2 +-0x1.0efba5c1fc1c3p+0, -0x1.17c456c750bdep+1 +-0x1.596f727d34937p-1, -0x1.392248d1593e7p+2 +0x1.5122e040be88dp+2, 0x1.f0ef80ba50badp-1 +0x1.a123c94296921p+6, -0x1.f4b12dad2c6bap+1 +-0x1.c8731904ec173p+1, 0x1.31dd6880cacc1p+2 +-0x1.a303a38f85806p-5, 0x1.4e86c85a84015p+2 +0x1.1a56ee1a74cf5p+2, -0x1.7238cdb89a0ecp+2 +0x1.83510cc9c4ca6p+1, 0x1.3295391e3ccc8p+0 +-0x1.e298a4b310a7dp-1, 0x1.cc723844fe461p-2 +-0x1.0944042fcdae5p+0, 0x1.11645985610c2p+0 +0x1.fbafb2c408d9bp+0, -0x1.41c7fc60f528ep+7 +-0x1.e33700bf04184p+2, 0x1.04b9886745e6cp+1 +0x1.a4e32dd308aaep+2, -0x1.6e6b6cf96e783p+0 +-0x1.10709c498307fp+2, -0x1.48d7f5441c754p+2 +-0x1.cc1443515a649p+2, 0x1.87c2e092a68f2p+0 +0x1.cb2c20b529bd2p+1, -0x1.c6295d9c09c8fp+2 +-0x1.218ee2ad1f934p+1, -0x1.6d731d64e8385p+11 +-0x1.8e065f9328dedp+3, -0x1.9e64f73c00f78p+2 +0x1.9993699c101f6p+2, -0x1.5862d69ff8b63p+3 +-0x1.b02166526d156p+0, -0x1.99317ff87b5fdp-3 +-0x1.e066f612bc266p+0, -0x1.620d20414e49cp+0 +-0x1.2d339cd08c6c2p+1, -0x1.8d62f9a0a665p+2 +-0x1.00e289dfb31b2p+3, -0x1.228055a6a4263p+1 +0x1.650beb9e3d905p+1, 0x1.add9cd3d9ab09p+1 +0x1.9233fff8d7297p+2, 0x1.67b7df39fb785p+1 +0x1.25eda2ab51b3cp+2, -0x1.5a3b453f1c202p-2 +-0x1.5c45bc7aaa9f8p-1, 0x1.627c976c3806p-2 +0x1.6a81ed75eb061p+2, 0x1.8da70950ee823p-1 +-0x1.26483a4938c57p-1, 0x1.613d813ba8986p-1 +-0x1.ae35d513ca5f7p+2, -0x1.d0244cd27dcb5p-1 +-0x1.d76601980934ep+1, -0x1.5802e7afdce4bp+2 +0x1.5ea6b8ea7aeaap+3, -0x1.2cbb80231a5bdp+2 +-0x1.219d9c5476f19p+1, -0x1.86f4a461f7183p+1 +0x1.be4ac582a64adp+1, -0x1.9f4dc59eee9a1p+1 +-0x1.0ce498d843fcap-1, -0x1.2710c9e168fc7p+2 +0x1.d7f33124db819p+0, 0x1.ea8f9a6ce2108p+0 +0x1.bbbb082dd7912p+1, -0x1.da4783a22c493p+1 +-0x1.8815ce2d8ab57p+2, 0x1.9fcc20ac806ap+2 +-0x1.59a32f3adc7d6p+2, -0x1.9f049ccdf0f36p-2 +0x1.4b15aa442cf6ap+1, -0x1.2b1f28a5f0c56p+3 +-0x1.a43ecae5118d3p+2, -0x1.05965bac75f9ep+2 +0x1.6fa45ec356479p+2, -0x1.e90b1aed4219bp+1 +-0x1.a6fa422911babp+1, -0x1.45452675327bap+1 +0x1.078a8c92bb3f6p+3, -0x1.fe4f1ddb08991p+1 +0x1.032e9e1ab8d8ap+1, 0x1.5afe8ae2ed933p+0 +-0x1.54094b3d1d351p+1, 0x1.8124ccdc8b1dep+1 +0x1.80e3387dbf33ep-2, -0x1.45ae5838cae14p-3 +-0x1.44c5524e9199fp+1, 0x1.9542f3a4aad91p+0 +0x1.9432234e9523cp+2, 0x1.9edd1a45088a7p+0 +-0x1.61b20106e07e7p+2, 0x1.cabf4bc48e766p+0 +-0x1.e190cef90b975p-1, 0x1.15f088c9dee53p+2 +0x1.600cf449c655bp+2, 0x1.277e065bba117p+1 +0x1.036adc016984p+2, -0x1.069f9332656bp-1 +-0x1.1d4d017e0bb04p+2, -0x1.7b7f405695c51p+1 +-0x1.20c723a0775f8p+3, -0x1.584b227ece41fp+2 +-0x1.06c720075dfbcp-2, -0x1.0c2c58b30e777p+0 +0x1.e06db604402a6p+15, 0x1.28c14532ff71dp+1 +-0x1.4304cfb4ee3fap+2, -0x1.92768f948ca29p+0 +0x1.888d25b454406p+1, -0x1.5b45b8abd51ddp+4 +0x1.bfd58c915e16p-1, -0x1.806ce03cc8937p+2 +0x1.a8d27a017705p+0, -0x1.7db2d7d5d67cap+0 +-0x1.07b6f0960e7e5p-4, 0x1.1770ffb2d5a9fp+1 +0x1.b17e69ae8c5c7p-1, 0x1.29cda0ba82a5fp+2 +-0x1.2727a4d20f7acp+0, 0x1.cdd90e580cb64p-2 +0x1.dd3db00a3ab54p+1, -0x1.4d5f4deac6a91p+2 +-0x1.8777d294a4417p-1, 0x1.3683c7f7a18d9p-1 +0x1.18abee9edaa09p+1, -0x1.6a2fb5cdd4f1cp+1 +0x1.9c9940c028163p+0, -0x1.dd0cd1cbf4055p+1 +-0x1.89bb8306ab329p+2, -0x1.450dad2d8f94dp+1 +0x1.1db3aa5b159edp+1, -0x1.5253d572bc726p+2 +-0x1.773fcb321e9cbp+3, -0x1.44725d7ff6097p-1 +-0x1.85e30556f955ep+1, -0x1.248a4c31090aep+2 +0x1.07cac3c199f5dp+3, 0x1.606b66d295891p+1 +-0x1.d480710e94e67p+0, 0x1.80ae080c769c4p+3 +-0x1.cebdec7b54244p+2, 0x1.7771ade61cb3ap+3 +-0x1.f1d0712d40a5fp+1, 0x1.582ebfb1db49ep+0 +-0x1.22fa577c0d992p+2, 0x1.48609b81273cep+18 +0x1.b3b695c6d9312p+1, 0x1.26d7b544813f8p-3 +0x1.76144c7f3e9c9p+1, -0x1.713bb60020a74p+2 +-0x1.4fbc6dd06a89dp+1, 0x1.c7934d638dcfbp+2 +-0x1.e43557f49d971p+2, -0x1.3214ec5bce878p+1 +-0x1.bed3d74a1bcc7p+13, 0x1.ff5b86f5f418dp-2 +0x1.0b2b6fd4700bfp+2, 0x1.335c9b4b704a1p+2 +-0x1.953d5601ce38ap-1, 0x1.8d2b9230bb05ap-1 +0x1.bae885e362688p+2, 0x1.167fdf81407f1p+0 +0x1.67f5be8615cd6p-1, 0x1.8e2d59aae1a1fp+2 +0x1.8bd951caf5e93p+2, 0x1.0c35b1c4aa6d2p+0 +-0x1.07462d8006abfp+2, -0x1.b8bbb7e3041aep+10 +-0x1.7b041fd969e89p-2, -0x1.6584df2c6a83p+0 +0x1.1dfed4759bebfp-1, -0x1.ba50d2f6110b5p+0 +0x1.e29c9b31d6da9p+1, 0x1.92f14e8f3825dp+0 +-0x1.39170d6424af2p+0, -0x1.8693d0848429p+1 +0x1.2dbb1cf932fbcp+2, -0x1.5db2b85add1fap-3 +0x1.9b7c2b7325996p+16, 0x1.0d42dd874a541p+11 +-0x1.1fb8948aada04p+1, 0x1.9b7cc9e5a6543p+2 +-0x1.1a63dc7e4365bp+3, -0x1.749e9e07207dcp+14 +0x1.355975dde6432p+1, -0x1.6d0ef1ac850cap+2 +0x1.2fc69baef4bc7p+2, -0x1.3de7429d92309p+2 +-0x1.724510ec1c591p+2, -0x1.9e1fc2e664119p-5 +-0x1.d52816671f386p+1, -0x1.0f42693ff74a3p+3 +-0x1.75a2d194c5a85p+0, 0x1.cb7f68e18e1e2p-1 +0x1.42f5137b18545p+8, -0x1.5d41216926114p+15 +-0x1.271f4b5fe7d3fp+1, -0x1.de4e40a256dd8p+0 +0x1.84feedc5af2bbp+2, -0x1.4bf82fb3ead1ep+0 +-0x1.70a0cd62c573ep+2, -0x1.82e93235056fdp+1 +0x1.7764c214387f1p+12, -0x1.7edcd2ce0a612p+2 +0x1.7ba93d78b8892p+2, -0x1.1cc26bc13a5d9p+2 +-0x1.a41ef73fc2cf5p+2, 0x1.c9e901ebf5e59p+0 +0x1.1e397077089e2p+2, 0x1.2d37a44f20273p+3 +-0x1.7bdd6101a46aap-2, -0x1.02b03a4e72829p+3 +0x1.c7e03f970cac9p+2, -0x1.c7c1a18d695d6p-6 +-0x1.86dd5d300bbb8p+2, -0x1.07e13c61106f4p+10 +0x1.0b6f2199f585dp+1, -0x1.a5b24e12c12d4p+3 +0x1.8f9b31e7901fep+1, 0x1.3f1eed0029f6bp+2 +-0x1.79bb443b4eadep-4, 0x1.405df0d73ed41p+2 +0x1.7810fe8736698p+2, 0x1.59039de6db6f5p+2 +-0x1.533b7d6f0b6d9p+1, -0x1.847b9b9724aecp+2 +0x1.90b913592293p+2, 0x1.0f69311ef4321p+2 +-0x1.7e3a5ab032d3fp+1, 0x1.0a82d107c99e6p+2 +0x1.7dae4a58dc425p-1, 0x1.fa8bb34544995p+0 +0x1.2ae800ff7859ep-2, -0x1.a4ebb42664509p+1 +0x1.334a7b3b9079p+1, 0x1.8ca71903ee2c6p+2 +0x1.482d30411e283p-1, -0x1.30929e5c373afp+1 +-0x1.80e35ef1ddd1cp+1, 0x1.03de4f29aff05p+3 +0x1.d4c766c560fe2p-11, 0x1.138c14bbb535fp+3 +0x1.7f977d5fbb75ep+0, -0x1.0d82df5123a9p+0 +0x1.8771f6a03a6c8p+0, -0x1.a59fc737d5559p+1 +-0x1.5acebe13f11f2p+3, 0x1.943dbd4ff2cdbp+1 +-0x1.6b5f6879ec61fp+0, -0x1.116521d4a3d8cp+1 +0x1.a468ebf0357cbp-3, -0x1.4413d5ee9f75cp-2 +0x1.b61754ae0c6dbp+1, -0x1.3d363813cc4bfp+3 +0x1.307a9ff77cb2ep+1, -0x1.f0e5671c3f121p+0 +-0x1.2c479457e9901p+1, -0x1.b2cdd85777a17p+1 +0x1.a5a8cea93441cp+1, 0x1.012dd5417ebabp+1 +-0x1.4cc769bfb028ep+4, 0x1.9b817a66f1ep-1 +0x1.74c2d0e5fe57ep+5, -0x1.a4ad2f1d303ebp+1 +0x1.e40b96b32e14cp-2, -0x1.6330bd8e98ee5p+2 +0x1.af60dfb24d146p+1, -0x1.3cc6919e04d7fp+2 +0x1.138621dd3ee7bp+0, -0x1.0584f7f7702bcp+0 +0x1.1d624564810eep+1, 0x1.d5e8c33252f5bp+1 +-0x1.e79711bed5f0dp+1, 0x1.ad973178b1426p+1 +0x1.9697c6ba07269p+1, -0x1.e3f9c8732e0b1p-4 +-0x1.3857de1848774p+15, -0x1.dea8cfcd209e8p-1 +0x1.4ec636bf19b65p+2, -0x1.5f8228514bf1p+1 +-0x1.e8ac199e70757p-1, 0x1.1d46793e9bc24p+0 +-0x1.9bd877905a45dp-3, 0x1.1f0e932aa1f75p+2 +-0x1.8da4c38735d1dp+1, -0x1.1bd46912e03d1p+3 +-0x1.9cbb3581dd141p+0, 0x1.764c244b1fbd4p+1 +-0x1.804129f83c132p+2, 0x1.50b8fdace7555p+1 +-0x1.3abb0f029c82ap+11, -0x1.3927d950b678cp-4 +-0x1.fc76e9cb416dcp+1, 0x1.8404e50aa6706p-1 +-0x1.62dd116f737cap-2, 0x1.85ad4467fad4bp+0 +-0x1.3706e9dfddadep+5, 0x1.04ae111ec9334p+2 +-0x1.817e4aca94532p+1, -0x1.41fe3c74f27bep+1 +-0x1.87ea268053578p+1, 0x1.49d825e0468efp+0 +0x1.94c503adb4006p-2, -0x1.936702f764919p-4 +-0x1.5e0853f89b32cp+2, 0x1.7526e455cfdbbp+1 +0x1.3c73d327cd48bp+1, -0x1.44c8d837b29a1p+1 +0x1.aa17b59627509p+2, -0x1.abbbf47e732f2p+0 +-0x1.935e2bc1cbeep+1, 0x1.fbf9979b2d0f4p+2 +-0x1.460f65c411d4dp+1, 0x1.99d664784b077p+0 +-0x1.9ad50578ec066p+2, 0x1.65a630bae65f1p-3 +-0x1.217738a493baap+8, 0x1.5c25b7a3b86c2p+0 +0x1.75acf69793aaap+2, -0x1.030ebc93315eap+1 +0x1.638e1deadeb17p+2, 0x1.7a1329148d092p+0 +-0x1.6ad65c0b2c245p+0, -0x1.8b3d6bf9c738p+0 +-0x1.42b03fb911a6dp+0, -0x1.7c9dfd892282cp+1 +-0x1.4cfbf80963feep+1, -0x1.2efc81228d25bp+3 +0x1.b9edf9e537835p+2, 0x1.316b06a745f7p+10 +0x1.68ff7b5b723c9p+2, 0x1.f863ad7b8b45fp+0 +-0x1.276971410e109p+0, -0x1.b80c5e6a003fep+1 +-0x1.1d73ed291042cp+0, 0x1.1d386d2fd05fcp+3 +-0x1.15e4f32e4a988p+1, -0x1.5f5f7c2005e5cp+1 +-0x1.5abed1dee36cdp+14, -0x1.e62d7e4f2ca86p+1 +-0x1.18a5af28df732p+15, 0x1.06a988b531ee4p+2 +0x1.e77977b8a24f8p+1, -0x1.35eb76ff60099p+2 +0x1.ab449af02ed85p+5, -0x1.c2e0b70da69f8p+0 +-0x1.0b5683b777f5cp-1, 0x1.d50fef3819d9ap-2 +0x1.007b53c1185c4p+1, -0x1.d7f8b998ae332p-1 +0x1.1e4003db8fb25p+1, 0x1.cf7be185bcb6ep-1 +-0x1.edec2941d3352p+1, 0x1.2787ee2e37515p+1 +-0x1.2666b45288f7dp+6, 0x1.c54666f50359fp+2 +0x1.c928236f8eccap+1, 0x1.fac138c482b82p+7 +-0x1.2078753895831p+11, -0x1.23fce40339614p+0 +-0x1.17b1cc8a06676p+2, -0x1.5bafd28e8555ep+2 +-0x1.257704869c35p+1, 0x1.a2fd4088af239p+0 +-0x1.21a3c269b219p+0, 0x1.8d04fd46b222fp-2 +-0x1.15f8bcc92025ap+9, 0x1.74be2914f06f8p+2 +0x1.883d9f31cac0dp+2, -0x1.cbf05f27a32e7p-4 +-0x1.b69ba86752555p-1, 0x1.0f1fa7644ef84p+13 +0x1.911ead184ce73p+1, 0x1.f58ab54620487p+0 +0x1.6b1ecd10a0655p+2, -0x1.91bbfc4618d2dp+1 +0x1.e99e7a237977bp+2, -0x1.5bbe7a3740dbdp+0 +-0x1.8155945219cddp+1, 0x1.0538f059db14fp-3 +-0x1.d823ec71c5517p+1, 0x1.a7811eceac387p+1 +-0x1.37a6059e2e06ep+2, -0x1.14bb9e44957f4p+0 +0x1.2298d6092512cp-1, 0x1.5d9d619500a72p+1 +0x1.985deed076b0ap+1, -0x1.0b836aa598b3bp+1 +-0x1.e1af80d40b7a2p+2, -0x1.a0a2902844a56p+1 +0x1.5ed4c68b9a0e2p+2, -0x1.4f571fde7a502p+1 +0x1.880169a8f90b9p+2, 0x1.ce82e7c8cc62ep+1 +0x1.7868e81af2fbbp+2, -0x1.8259681e6bf3bp+1 +-0x1.2dfec1f21f17dp+0, 0x1.86b9d349f1f7ap+1 +0x1.b2fe346f299f7p+2, -0x1.b9a9d62c39d7ap-2 +0x1.048f2e5a2ee22p-4, -0x1.cdb44cb109cbfp+1 +-0x1.40301ef2451e8p-2, -0x1.6cb2e1d010d6cp+0 +-0x1.625cce8b1d24ep+1, -0x1.bdaf8a4fb4176p+2 +-0x1.4987d79247be9p+1, 0x1.59c56f347cb8fp+1 +-0x1.77e1d67d5cf93p+0, -0x1.6b0ae4ccc749p+0 +-0x1.542d83c758a2dp+2, 0x1.489b39a9be0c3p+1 +-0x1.0b041d8917ea4p+11, 0x1.06dbdbf5b2cf4p+5 +0x1.46ab056e23ee6p+0, -0x1.d95bf17c22d4ep+1 +0x1.491ba51228373p+2, -0x1.47e0249221c91p+2 +0x1.2c4401fc369b3p+3, 0x1.736228688cd9fp+2 +0x1.aed0eef6bca7ap+1, 0x1.f01eb78f1c947p+2 +0x1.e8ceaaf1d61f4p-3, -0x1.6b73148d129f2p+2 +-0x1.9d3b50c5fccaep+1, -0x1.4ae64744a49acp+13 +0x1.0f902581cdeecp+0, -0x1.031e03229c7dap+2 +-0x1.077e4afd485ecp+2, -0x1.f5757f88443d5p+2 +0x1.697cdcedd386p-1, -0x1.65d80c954f8dfp+0 +-0x1.2d790bf71cdf5p+1, -0x1.72e499d922a73p+1 +-0x1.3e615f76b8d66p+1, -0x1.1609e466783a9p+2 +-0x1.b5736133f5178p-1, -0x1.8fcda61ef5422p-1 +0x1.6bf0a413b4227p+1, 0x1.ad48c26abc31bp+0 +-0x1.89035760cc5d4p+2, -0x1.cdc0fec1e70a2p-2 +-0x1.3a55749d25773p+1, -0x1.74e31387c3413p+0 +-0x1.b916e76fe9e14p+2, -0x1.ec6557bc89b42p-5 +0x1.853ae7e3ae322p+17, -0x1.f96ce82f9a23ap+2 +-0x1.f7c0e59ea98cbp-1, 0x1.8e1d47f2b0d11p-2 +-0x1.6ff71534123ddp+1, 0x1.2dcc40f07d9e2p+8 +0x1.a0d77d2421cc6p-5, -0x1.2015fdadbe2dap+3 +-0x1.8da669ffe6478p-2, -0x1.159efd82250bp+2 +-0x1.1a5f287427336p+1, -0x1.af5ae1b53176dp+1 +-0x1.6c15ffe994f45p+0, -0x1.079bbda12c0ddp+1 +-0x1.6a98d3e71972dp+1, 0x1.09ea738050476p+1 +0x1.ecfe0b6ad313p+0, 0x1.f8472c0d8233fp+0 +0x1.a4ef60e8d4b68p+0, -0x1.81239f23394e7p+1 +0x1.5387fc6c4af86p+1, -0x1.80dc1ca4a928bp+1 +0x1.50ab5ca3ea361p+0, 0x1.35217dc436286p+10 +-0x1.524fd49a02b4dp-1, 0x1.44580cdfe28b4p+1 +0x1.bcf5e5773b864p+1, -0x1.ec2f51ca5af3bp+1 +-0x1.d881ce2ed8b85p-2, 0x1.5588c6aa8d88dp+2 +0x1.1d1f20f1c3adcp+8, -0x1.228f88018b8a6p-3 +-0x1.4fea718f01536p-2, 0x1.59f8ca7f88282p-3 +0x1.cbdcf49250f0dp-2, 0x1.436a9005dfb31p-1 +0x1.f92abc9df294fp+1, -0x1.a8b95ed78f2f1p+0 +-0x1.83ff63ccd829dp+1, 0x1.de453ec5656f7p-1 +-0x1.70b985d772324p+1, 0x1.da1c68b1e52a8p+2 +0x1.21b5b351f7031p+2, 0x1.d21279e0fc85ap+2 +0x1.83719c6502f7bp+1, -0x1.a4349c6c28813p+1 +0x1.b878b8dea066dp+2, 0x1.6a370d48dd1c2p+0 +-0x1.118e53475e617p+2, -0x1.3df8b525efb55p+0 +0x1.8a50137aad3a1p+2, 0x1.df36ee2d5232fp-2 +0x1.8bdbe25c8524p-2, 0x1.9a65a34f42815p+1 +-0x1.7f250f8677549p+0, -0x1.3b1f20fce5035p+1 +-0x1.345fb24859892p+0, -0x1.75771df423c34p+0 +-0x1.20aeefd392702p+11, -0x1.ec1425f94a20ep-1 +0x1.c4f345511c799p+2, -0x1.4b57df27e2e16p+1 +0x1.ffb66f39f050ep+1, -0x1.01df0e2e1370ap+1 +-0x1.15df9373eb255p+2, -0x1.a170f6275370cp+1 +-0x1.d992df955bd78p-1, -0x1.2baf74b4af21dp+1 +0x1.a851867b7bec4p+0, 0x1.abcea7391c221p+0 +0x1.ab7cbadc985d2p+2, 0x1.42e6993b29453p-1 +-0x1.9d0814a6f5355p+2, -0x1.0b9937ed5dfdbp+1 +-0x1.883ed846f7f8ep+9, -0x1.b699f07b3e6afp-4 +0x1.bb03a45c278c5p+0, 0x1.2fb4ae9f919aep+1 +0x1.03cfa4f8455d4p+3, -0x1.abf1b8deb489bp-2 +0x1.6139768ab5a8ap+3, 0x1.dd26183cd036p+1 +0x1.2750767d3e886p+0, -0x1.84c575669a912p-5 +0x1.7042a2d1aca1fp-1, 0x1.c82e9181f6fd2p+0 +-0x1.a57da927cfc94p+0, 0x1.66a4dea06db8ep+2 +0x1.c6a3991cf0e3bp-3, 0x1.29cfbc67c29e1p+2 +0x1.89c30998f7df7p+0, -0x1.762f1d6d9e00ap+1 +0x1.bfb28f77e3cdap+2, 0x1.8229eba6897e4p-2 +0x1.fab965093334ep-1, 0x1.88906093f6f04p+2 +-0x1.db54dc9532723p+1, -0x1.21161a538052dp+0 +0x1.6df6d1ac551fcp+2, 0x1.0259a7aea2fccp+0 +0x1.7c3ad6be59623p+2, 0x1.6422f775e1093p-2 +0x1.9b091f364ac5fp-1, -0x1.f7db5e4baba78p+16 +-0x1.70ed1242b15ccp+1, -0x1.25d4f9e7e27a2p+3 +0x1.5d7ff0337fb2ap+2, 0x1.9a3d97b4c6118p+2 +-0x1.5a1b0d36eca0ap+6, 0x1.a7281131d4703p-3 +-0x1.eba0bf59937c5p+2, 0x1.a5e5f6b6ddd88p+0 +-0x1.7288a0a98efa4p+1, -0x1.8935c9fdc3c05p+1 +-0x1.2a829bbcb2cbap+2, -0x1.48ebdcb83f7e7p+1 +0x1.5419fc820b9a9p+2, -0x1.50327d1d01e1cp+1 +0x1.5e3d5ca372cd8p+1, 0x1.0d9ddaeda3c4cp+3 +0x1.82002edebb429p-5, -0x1.812469be3e86dp+0 +0x1.1ded0123d4cc8p+2, -0x1.f34346b7b219ap-1 +0x1.61f2055687765p+2, 0x1.39cca64743a75p+0 +-0x1.8a8c7a3787394p-2, -0x1.e29c8718a1038p+0 +0x1.361953a7a22f5p+0, 0x1.17da7b2ab71d9p+1 +0x1.18ca0f33001p-3, -0x1.6b72879fb1d94p+1 +0x1.56ccbdbc476dbp-4, 0x1.73c6412270476p-2 +0x1.87c68be809854p+1, 0x1.d69c54d0ae8efp+1 +-0x1.726e5386cbf5ep+1, 0x1.4db07670f6b3ap+1 +-0x1.43661ca814c54p+3, -0x1.0a6bca180b2cbp+2 +-0x1.27820f879c184p+2, 0x1.ca9d5c5bfe4f2p-3 +0x1.290ac30cdc193p-2, 0x1.f61eb949b18d3p+2 +-0x1.1584d05d0a96ap+1, 0x1.0b8bf2229fe88p+2 +-0x1.51998f4724bcfp+1, -0x1.27aad299465acp+3 +0x1.e7b494d60d128p+0, 0x1.0c48212f9d7d5p-4 +-0x1.165632366a642p-3, 0x1.f02bc2261e6p-1 +0x1.35c695c54324cp+1, 0x1.da738a1ef263ap-2 +0x1.8e148329ce957p+1, -0x1.23fb1e71b470dp+2 +-0x1.917d253d56628p-3, 0x1.a732ce8745798p+3 +-0x1.d5274779de14fp+2, -0x1.6140d1bcfa57ap+2 +0x1.d8ab79716e0f7p+1, 0x1.69a984068e617p-1 +-0x1.b993494c289a7p-1, -0x1.b84750ff20e86p+1 +0x1.48c177c8aca89p+1, -0x1.445f818422a59p+2 +-0x1.4122d8dea6a43p+2, -0x1.f0fc999efb4aap+0 +-0x1.15642cc3c862ap+2, -0x1.276fb26de60e9p+0 +0x1.1ec51bc9a97bap+0, 0x1.3d61d3a09b77fp+1 +0x1.f9cd816fd14fep+1, 0x1.cef99ebfe42b3p+2 +-0x1.bd5bba461b12cp+1, 0x1.416067dd0409fp+2 +0x1.1502592e972a1p+2, -0x1.934af108629a1p+2 +0x1.e2761e34d6f1p+2, 0x1.c5012d584de9fp+1 +-0x1.77978719926fep+1, -0x1.1d26cb45855bcp+1 +-0x1.eb282fdc323b2p-1, 0x1.90275788d474fp+6 +-0x1.c882616c0724ep+1, 0x1.fd0406443607fp+2 +-0x1.3ac283c5bcf6fp+2, 0x1.ba5eed72a9ddp+0 +0x1.69e161b1c4069p+0, -0x1.6d72c573c240ap+1 +0x1.bbf7f991509bp+1, 0x1.82e235c879fcap-6 +0x1.2d96702365145p+1, 0x1.215bea1d8d972p+1 +-0x1.7997172e853bfp+2, 0x1.1937cb1949233p+18 +0x1.2b76bc19872a5p+1, 0x1.e87f010895ff8p+0 +-0x1.66b791a63137ap+2, 0x1.380f5b2505ad7p-6 +0x1.365817673d7f7p+0, -0x1.67eaed7f37d86p+0 +-0x1.09e25af5d71aep+3, -0x1.2241b2dd69a7p+1 +-0x1.6e04df20ee7f6p+1, -0x1.6d46eb9efce49p+16 +0x1.73f76c0fdffc5p+12, 0x1.d0ade40208be6p+1 +0x1.78507db603478p+0, 0x1.5fdd6ff3a3c16p+0 +-0x1.a40adcf265112p+1, -0x1.9a4965d24107ap+0 +-0x1.0087030c13e29p-1, -0x1.9050f6f41c4ddp+0 +0x1.9010a2e637bc7p+1, 0x1.113376a83e2c6p+1 +0x1.4a4de4a4f3f5p+1, -0x1.51fcce431742p+1 +0x1.6282901a8acecp+2, 0x1.6932bf1850aeap+12 +0x1.901b0800bc9dfp-2, 0x1.ab8c84d120068p+2 +0x1.71856954bcd35p+15, -0x1.c1d5dd885f78cp+1 +0x1.204095599060ep+0, -0x1.779b54f02edc9p+2 +0x1.bf37cc8fe010ep+5, -0x1.20ab35abb8787p+1 +-0x1.04970708d0fe5p+2, -0x1.29b567146b4e8p+1 +-0x1.d35c076e911bp-1, -0x1.aca8dd766452ap+2 +0x1.50a41f3b44575p+1, 0x1.dbbcc5a5d0df9p+1 +0x1.2c63a0d55602bp+1, 0x1.ff52828b187e8p-2 +-0x1.27ad28fb498b1p-7, -0x1.63b807193b23dp+3 +0x1.f0119929f101fp+0, -0x1.43fe26caa94e4p+1 +-0x1.0cfe307425a53p+2, -0x1.61f8fd45862b2p+1 +0x1.ce5dc065eb64dp+1, -0x1.06ca413e53bf9p+6 +0x1.ffa1bcc97ea3ep+1, -0x1.c801293111172p+1 +-0x1.1e7d796eeaec5p+2, -0x1.2f748cfbc86e7p+1 +0x1.3e88e2104eb8fp-3, 0x1.8f8bc03ea8a77p+2 +-0x1.1cff7307d5862p+3, 0x1.33c240e05d236p+1 +-0x1.f3fd37550fb15p+1, 0x1.5460460453fe5p+2 +-0x1.13ae63d5081bdp+1, 0x1.c8a557e518029p+1 +0x1.a6e45f4e9a6b6p-1, 0x1.07ed1a2a897adp+3 +-0x1.44802d73dbd92p+5, -0x1.5e7ca85f0362cp+1 +-0x1.e68c399dd7828p+2, 0x1.d7c9f445e5a24p-1 +0x1.ee68d40735504p-1, -0x1.52875d7fd4576p+2 +-0x1.d91c369f9388bp+2, 0x1.2b72db14cc6f6p+3 +0x1.d0c789fca360bp+0, 0x1.97c690165469dp+2 +0x1.67d404afb5792p+2, -0x1.b4cdb39547973p-2 +-0x1.ed74867a6604dp+0, 0x1.5adacd4f6b1d7p+2 +0x1.7fdec551fc6dp+1, 0x1.9f462dff9efa5p-1 +-0x1.fdf4e38d3f18dp-1, -0x1.b7c4b7dbb18a8p+1 +0x1.0e3b079e53d7bp+1, -0x1.5d2e083cdb2ap+2 +0x1.0cc27d64a7d43p+0, -0x1.37e81213f4e0fp+0 +-0x1.5a43d413f83bap+1, -0x1.314f136d93effp+0 +0x1.064053ce7a0afp+2, 0x1.0d29210c02d7bp+0 +-0x1.a6260c58046edp+2, 0x1.c090bdd3a536fp+0 +0x1.8c59cb4a3224p+2, -0x1.797c7dad0012fp+2 +-0x1.495eff731233cp+0, -0x1.200c6a13ea9b9p+16 +-0x1.7ace45bdacdf7p-1, 0x1.5e57461216e1bp-2 +0x1.99a99694f9534p+1, -0x1.64f4d39d571f8p+0 +0x1.5b2ce91d1aef2p-1, -0x1.afae6b5b46062p-3 +0x1.2298ead5390f4p+19, 0x1.76212d58b40c7p-1 +0x1.1e35a985b8e18p+0, -0x1.2d2b34d13b5f9p+0 +-0x1.74477a02ec0bdp+0, -0x1.da68da140e825p+1 +-0x1.c28a73a3106bep+2, -0x1.cf020fc31ed3fp+2 +-0x1.7275f98572478p+0, -0x1.83d0b79f6303cp+1 +0x1.22e357de490cfp-1, 0x1.1d1dbc833ad22p+1 +0x1.b4bc73f74859ap+1, 0x1.686b4b854b64cp+2 +0x1.fbb52a400d89cp+2, -0x1.cc7f9c85bde7ep+0 +0x1.b6b477f201c6ep+1, 0x1.0ebfba0a114c5p+1 +-0x1.e6ace16a7299cp-2, -0x1.d104471f5d95dp+1 +-0x1.e19500ec9b6cep-5, -0x1.70f295be4a514p+3 +0x1.f83b5b8adb452p+1, 0x1.281cb65ca320ap+2 +-0x1.ff1218cd72c29p-1, 0x1.3b72435a84809p+1 +0x1.7faa65769570ep+1, -0x1.a4da56f324ec8p+2 +0x1.372832227ffc9p+0, -0x1.ae39635528ddp+1 +-0x1.ddcde5b4fb11bp-1, -0x1.0670b45312f0dp-1 +0x1.fb5febc89cd42p-1, 0x1.a307fce6d123p+0 +-0x1.404de256223b2p+2, 0x1.144152cb79ec1p+2 +-0x1.f58740badc67p-1, -0x1.c07b0dabdd81fp-1 +0x1.404e7275ef5fep+0, 0x1.870e0080594c6p+2 +-0x1.e37d0e1e669ep+1, -0x1.4b5ae5988b046p+1 +0x1.70267658dba4cp+2, -0x1.2edc37b34b661p+8 +-0x1.18feedff8e9e1p+2, -0x1.37295400e0b66p+2 +-0x1.63ed3cee44c3p+2, 0x1.ecf1262c6256fp-1 +-0x1.1064e5d40fbaap+3, -0x1.a27bde8e83542p+1 +-0x1.37ed4bf644953p-1, 0x1.0247350b588fp+1 +-0x1.3e9f47c0d371cp+4, -0x1.36aa071aeee3ap-2 +-0x1.7caf6d8ba4423p-1, 0x1.52874ff294ab8p+0 +0x1.708585ed461c7p+0, 0x1.b81519abfe448p+1 +0x1.960ca3aca2da9p-2, -0x1.9247d4bed09dfp+2 +-0x1.96371171a2b85p+14, -0x1.0ed320667957ep+2 +0x1.618874e4163c5p+1, -0x1.fb5976545619cp+11 +0x1.375f6da901a1bp-1, -0x1.385561329fbd9p-1 +0x1.d85a863473592p+1, -0x1.09daf8d611f1ap-3 +0x1.5f9874c3e9c04p+1, 0x1.b10ecf4a5ae09p+1 +0x1.22a60403cf9edp+1, -0x1.611f37f57d103p+1 +-0x1.0d5821620c591p+0, -0x1.78931e76da172p+0 +0x1.42a0cb1723dd8p+2, 0x1.0cdd8dffcc714p+1 +0x1.583e81ad1f894p+1, -0x1.8dddfe6b1db1ep-3 +-0x1.279f4aba250b2p-1, -0x1.1c8f3a3197523p-1 +0x1.f8279ff8d44e8p+1, 0x1.7eb0586f1e212p+2 +0x1.a0f7088408588p+1, 0x1.10a960acbb03ep+0 +0x1.058270b943164p+1, 0x1.8a113c5edea79p+2 +-0x1.3089f26b16c03p+3, 0x1.4d41a44153273p+0 +0x1.b1467355d45e8p+1, -0x1.d7c6f58419c5cp+0 +0x1.66b6af034f9ddp+1, -0x1.7d4c8535032bep+0 +0x1.fcdc6cacad5ecp-1, -0x1.9741ac11fd8p+1 +-0x1.4217c47a2623fp+14, 0x1.b1a5e683d04cbp+1 +0x1.b3389a7d7531ep+1, 0x1.3db3786b871ffp+0 +-0x1.93fbc2d3d6065p+0, 0x1.61b4044ca5525p+1 +-0x1.859fc80ce8dd2p-3, 0x1.68d0bc42389c7p+10 +-0x1.bc3e98be64526p+2, 0x1.aaa83f1f88352p+0 +-0x1.a8e66443f670cp-3, 0x1.9efa872648f64p+1 +-0x1.234ae4a25b79dp+2, -0x1.0721d88335cc7p-1 +-0x1.220a9569b1afbp+0, 0x1.be0bafa87bc98p+1 +0x1.45caa702677e9p+1, 0x1.525a58f38f698p+0 +-0x1.2a1b7c49eb37ep+3, 0x1.565a2c07a414cp+15 +0x1.567fa18ac29e7p+1, 0x1.2e894ea71f0bcp+10 +0x1.d38e3004c61a4p+2, -0x1.0c94fe7a6a9c9p+8 +-0x1.343e0be99de54p-5, -0x1.0461c2da75ca5p+1 +-0x1.c31b2ce23198ap+1, 0x1.8ed03412d6defp+2 +-0x1.40af4fd29b4fap+11, 0x1.e92aca60286a3p+1 +-0x1.31b566d1b2051p+3, 0x1.1cc31c406d884p-1 +0x1.653507d0fae44p+2, -0x1.0ca9fa4e5ea14p+2 +0x1.2c41e4c696529p+2, 0x1.de2b39eb3240fp+8 +0x1.7ab9618aa7b9ap+2, -0x1.4229532e11028p+0 +0x1.0473c74a65923p-2, -0x1.4ec5527bb6b1p+0 +-0x1.489c9c3257ffbp-2, -0x1.8605a7ea9f68ep+1 +0x1.0b9704fd80065p-1, 0x1.af4e5e8e21aabp+2 +-0x1.7048849aad75dp+1, 0x1.0d834d061d13ep+2 +0x1.1a3fd319de2d8p+1, -0x1.c9acb3cf84b5ap+2 +0x1.2cd3804cfa77bp+0, -0x1.13feec13f7a1ep+2 +-0x1.44a39e2790977p+2, -0x1.43dc50a87bef6p+0 +-0x1.95c0223f3e118p+1, -0x1.e9d0bba5162abp+1 +0x1.779d33b8d265ap+13, 0x1.2cf2cb1c57f41p+2 +-0x1.5b04698bbb1a7p+2, 0x1.c4399e14bbcffp+1 +-0x1.a99eb5ebf5264p+2, -0x1.245b15c18beedp+6 +-0x1.8c4bdb52630b4p+2, -0x1.96e438636db92p+2 +-0x1.3793009205cb6p-2, 0x1.78aacc3ecdfddp+1 +0x1.ffaddddffd222p+1, 0x1.16e60604c9814p+2 +0x1.13f31a840b543p-1, -0x1.b1a470df782ffp+1 +-0x1.d6358578aeaadp+1, -0x1.387aa415ad2e3p+2 +-0x1.097177af2877bp+12, 0x1.37444d56dfa27p+0 +0x1.1735afb03ea2fp+3, 0x1.72bd4e3823dfbp+8 +0x1.684ed9d43ce98p+0, -0x1.1faa73c539267p+1 +0x1.35badc4b94a55p+1, 0x1.fe74074beb41ap+2 +-0x1.80c2eea146e82p+2, -0x1.2d1e06641d4b5p+2 +-0x1.8035cd3e7742cp-2, -0x1.36a9e91df62c3p+2 +-0x1.9b107f419c584p-1, -0x1.85e021f095f01p-4 +-0x1.5f96df191eb35p+3, 0x1.4b81b4301ff9bp+2 +-0x1.27f867c4a1876p+2, -0x1.e34f3f8de9e93p+1 +0x1.3ff1982a8c1a3p+0, -0x1.acfc0f7d4df3bp+0 +0x1.563f3d6f14e47p+1, -0x1.32c9dc7c84217p+3 +-0x1.218a591130d17p+0, 0x1.a9cb811e2636fp+0 +0x1.66683e6e79191p+2, -0x1.dcf29ecba2ec9p+2 +0x1.7665bad145e2cp+14, 0x1.41b4643a6e992p+2 +-0x1.6b431877fb402p+2, 0x1.0e5ad74b26404p+1 +0x1.82de4a767021p+0, 0x1.12126a1ca8613p+3 +-0x1.588a5f65fe3b4p+2, -0x1.56bb13e4c4ae6p+0 +-0x1.c2d0fd0923fbfp+2, 0x1.c91e8b10a5533p-5 +-0x1.f9b58d1ae36e4p-2, -0x1.01b17727843d9p+0 +0x1.30f175c55fc16p+0, 0x1.96488992e5355p+0 +0x1.9ee1502eccb25p-2, 0x1.2b7cd87d8575fp+1 +0x1.335e7097d77cbp+2, 0x1.32db26973797p+1 +0x1.49e461c1e1bdap+1, 0x1.809e28859e0a5p+2 +0x1.b281c98df2671p+0, -0x1.ef3af6c6c31b3p+1 +-0x1.92b6e58d80c3fp+2, 0x1.26bc4905c1e6fp+1 +-0x1.981004f6214f3p-2, -0x1.96ce7df738056p+1 +0x1.c37f9aa20fd13p+0, -0x1.96930ce3c46fap+1 +0x1.a434fcf038beep+0, -0x1.7b13e32ea485bp+1 +0x1.b66e3aa220ca7p-1, -0x1.3157d8e3da2f8p+2 +0x1.027d8759c3f59p+0, -0x1.acd3e4897fdap+2 +-0x1.dc96e349b4844p+0, -0x1.23d8a034ba3eep+2 +-0x1.3e11a7c15725fp+0, 0x1.2ae06cdf11218p+2 +0x1.8236fc55fa007p-4, 0x1.90815eba85c32p+2 +-0x1.a8db406cfc925p-1, -0x1.29758696f7f4fp+2 +-0x1.952cb3e54afadp+2, -0x1.a20518c61bc01p+1 +-0x1.cf28a5bfdbacap+1, 0x1.931bf09323ebcp+1 +0x1.6ab4bc0a68cb2p+7, -0x1.9ce85d13df788p+0 +-0x1.4292c1163e569p+2, -0x1.2b7d1b77746cep+1 +-0x1.8d138f089cb57p+1, 0x1.e9278c18affb3p+1 +0x1.9425430667adcp+2, -0x1.1df8cd3a20e3dp+2 +-0x1.31ce008c00358p-2, 0x1.a7065ef00e1ffp+2 +0x1.b70b1c1c89729p+2, 0x1.930bc47bb8188p+1 +-0x1.2f167de5cdea1p+2, -0x1.5f557210f0787p+1 +-0x1.01fae373eadffp-1, 0x1.b78b3f6d22097p+1 +0x1.d7a04db2ea56p+1, 0x1.f2be0a10bd434p-1 +0x1.4a4c52737001ap+1, 0x1.0b3c195c20e8bp-1 +-0x1.8c5f16b22855ep+1, 0x1.3b31b372759b7p+2 +-0x1.61f20e1994293p+2, -0x1.b3556f80c18aap+2 +-0x1.3da99efc32593p+1, 0x1.f9e9b1a9d8d76p+2 +-0x1.e29a437562d99p+1, -0x1.cb80f8f1873e2p+0 +0x1.21d577f120c47p+1, -0x1.5e774a8943ae7p+0 +-0x1.b0789f1a65acap+1, 0x1.7df532f52cc1dp+2 +-0x1.20e83ae34ed46p+2, -0x1.2ece3c3ec6664p+1 +-0x1.b8dcfa5fbf818p-2, -0x1.a820ea389ac6fp+1 +0x1.7b9753412f6e2p+1, 0x1.c5837d0ae234ep+2 +0x1.0617d2910ceedp+6, -0x1.6a6fdd9b90682p-2 +-0x1.cfc8ec787bd4dp+0, 0x1.69168d107a461p+15 +0x1.19aee6c68791dp+3, 0x1.cb41729f3e736p-2 +0x1.a2bc9dcd1e467p-1, -0x1.153a4fd79110dp+2 +-0x1.e32cd1de75aeep+1, 0x1.cd10432db446ep-2 +0x1.0fb76c74ad7bcp+0, 0x1.4bfd49768d6c7p+2 +0x1.8065368a8c428p+1, 0x1.9579f6463b22bp+1 +0x1.3648ffafc92c3p+0, 0x1.a0c47a5fc93c6p-6 +-0x1.098030e3bdc44p+1, 0x1.84fb0df3d135ep+1 +-0x1.8554623efc182p+2, 0x1.15962483804c5p+3 +-0x1.8df533f543abap+0, 0x1.8cd24f4465bf6p+0 +-0x1.e7ad745390a86p+2, 0x1.e6229de2d08d2p-3 +0x1.bccca2f589181p+0, -0x1.8e288e1a61ee3p+1 +0x1.c2aa6042cc4f2p-1, 0x1.ff0a0b216808dp+1 +-0x1.ddb1ebaddda37p+0, -0x1.3e547677d2c41p+2 +0x1.858157703b673p+2, 0x1.d178dc87fb39p+1 +0x1.9197f0d053534p+1, 0x1.f12d869443df1p+1 +0x1.0ee4fa91d23b3p+2, -0x1.0bec1161ae20bp+2 +-0x1.c3b201bd982f3p+0, -0x1.40665a584411bp+2 +0x1.5ca6980e53b25p+1, 0x1.0886c51b9980ap+2 +-0x1.6ce43df954b1ap+2, 0x1.0d0445a428c4ap+2 +-0x1.3cdd410cf295fp+2, -0x1.98ab951adfc1ep-1 +0x1.67118b280f43fp+0, -0x1.6381cfc1a7fd9p+0 +0x1.a6ecb3aef92c3p+1, -0x1.9515b6440ae85p+2 +-0x1.3a802180d8c38p+1, 0x1.46c216f166babp+2 +0x1.e89f14de3abdcp+0, -0x1.0b75a703206b5p-2 +0x1.4109f34eca6cfp+2, -0x1.4b28211d9912fp+9 +-0x1.1566b4048fc4bp+18, -0x1.61350b7c3dbbp+2 +-0x1.32ed0d61c1fe9p+9, 0x1.77981e69716c6p-1 +-0x1.f701b74210786p-1, 0x1.ab815c885035fp+2 +-0x1.cf59e95b10a65p+1, 0x1.8ee6dc793727fp+0 +0x1.8ec04b88e9299p+1, 0x1.bbf63740f394ap+1 +-0x1.a3fa37a2e2b1p+0, -0x1.1af036b14ba26p+0 +0x1.22f5cd1fca077p+1, -0x1.46a4997b4856dp+2 +-0x1.5d4fdb54e2ed8p+2, -0x1.f72d2a7eda91fp+1 +-0x1.8bcbb1ddb6962p-7, 0x1.b6ac6902470d7p+0 +-0x1.760220b9f6df6p+0, -0x1.317764115a924p+2 +0x1.1f9cb1ce1cce5p+2, 0x1.9e1293e476df5p+2 +-0x1.e7d7d12a5dd4fp+1, -0x1.5beba17b81e35p+15 +0x1.a6ffb58cb5985p-4, 0x1.e6a5d11bab93fp-6 +-0x1.69a5af5d507a9p-2, 0x1.05cd63f7494e6p+13 +-0x1.9f7bb37d32885p+2, -0x1.239f28fcb0afp+2 +0x1.21c24452d1427p+1, 0x1.63aca54aadbbbp+1 +0x1.1981bb5c459ddp+0, 0x1.ae3274518c3f1p+1 +-0x1.acc7c26f9439ep+1, 0x1.354474b83682dp+2 +-0x1.01b9ab69e5c85p+1, 0x1.59db0e6e1cd7cp+1 +0x1.1a891301a0aa6p+3, -0x1.5dab9a5277553p-1 +-0x1.7abbe453f1cc6p-1, -0x1.a82b856d72a08p+7 +-0x1.7e72ee759e153p+1, -0x1.90f2864b2d9cap+1 +0x1.c2059f0e9165p+1, 0x1.d47af0a008b86p+1 +0x1.adbf8cdf8ec5ep+2, 0x1.dba40d8442a94p+13 +-0x1.4bf35ff2fa10dp+1, -0x1.0d0d08f037d69p+1 +-0x1.190849747ae36p+2, -0x1.dc5e8a1378193p+1 +0x1.6f35d7c669173p+17, -0x1.7280f743a97fp+7 +-0x1.53bf26bf39cf9p+1, 0x1.6021132cc5fa9p+2 +0x1.1f2cca10e8847p+2, 0x1.82373ef9b2af3p+0 +0x1.13fdff19abe06p+0, -0x1.6ea588b863078p+15 +-0x1.75a7e3cde7d6bp+1, 0x1.7dbef6e963782p+2 +0x1.2e956304ede21p+2, -0x1.0a1952a608b0cp+2 +0x1.d5409c022e31cp+1, -0x1.093fe4d472b8p+1 +0x1.1e6686880eep+3, 0x1.49e756540e9e2p+14 +-0x1.0cbcf4504f1cp+2, -0x1.813d0e71aca86p-1 +-0x1.30606fb5012c9p-3, -0x1.4b5341e2b8ecep+2 +0x1.6032528ee7911p+1, -0x1.c601e68d6fd3fp+2 +-0x1.cd608a18ee988p+0, -0x1.fa09ccf1d5531p+1 +-0x1.797292dcd8a68p+2, -0x1.ec98e1f1f6adbp+16 +-0x1.57cd527e36623p+0, 0x1.b71ae5a6df80dp+2 +-0x1.96ec47cf27c83p+1, 0x1.0e009129436bcp-2 +-0x1.042ca5f3e63cap+2, 0x1.8a318ce0844e6p+0 +-0x1.6a9bda33a34a4p+0, 0x1.c52faf93d6272p+0 +-0x1.376f82b84a51cp+2, 0x1.0698fad96b508p+1 +-0x1.1f6c54d65f837p+1, -0x1.8094b4312165bp+2 +0x1.4bf1619b9688ep+0, 0x1.f19582b5141a9p+2 +-0x1.1f0c82108dddcp+3, 0x1.6d0a9de3d1192p+0 +-0x1.b4f5eb46c1c0dp+2, 0x1.94ea497a6da1ap-3 +-0x1.dd3e7ccde95fdp+1, 0x1.00c3274ec2061p+1 +-0x1.06b80839acdc7p-1, 0x1.5e68c21fc3c47p+2 +0x1.b57a617c24c7p+1, 0x1.dbb777ecd2fe8p+0 +0x1.f8599d5912f5fp+1, 0x1.a8ce99637fdep+0 +-0x1.1178cc6c41045p+2, -0x1.16b2621fde5e9p+1 +0x1.4cb3193c14242p-1, -0x1.2b698b53d3ed1p+1 +-0x1.1811c7151380ap+11, -0x1.9ead7fd515e8dp-1 +-0x1.7f25d213409b4p+1, -0x1.3ecb54cf217f1p+0 +-0x1.42bd8c75ca1a1p+1, -0x1.e64af07dc6ef7p+2 +-0x1.8df505efdde4bp-4, -0x1.7fa6f784cf1bp+0 +0x1.f192dba76a318p+1, 0x1.a23234b4f8c78p+2 +0x1.529f9e235ca8dp-2, -0x1.25c2424ba38d7p+2 +-0x1.264d33dfac652p+2, -0x1.ab5a0d648b3f9p+1 +0x1.27c7c89efc754p-1, 0x1.be840d57a7d3dp+0 +0x1.abfd0ae117d33p+1, 0x1.73307b0afc1cp-2 +0x1.d7fe7fbfdc66cp+5, -0x1.c614b9eecb9fap+2 +0x1.910e203d9f24cp-1, 0x1.cc4adc85133a8p+1 +-0x1.072822fff319p+2, 0x1.6f27040372408p+2 +0x1.1ee3a2633dbf7p+3, 0x1.1469b4c31f9a2p+6 +0x1.d120be1750f82p-4, -0x1.1fe197e3ff7acp+2 +-0x1.52b1ef6bf3261p+2, -0x1.ae76580a3fa2dp+0 +-0x1.f114f06135a6ap+2, 0x1.2db693dc79d04p+1 +0x1.c017579cc447ep-1, 0x1.72e3d3c733fd2p+10 +-0x1.97d9cac324f57p+2, -0x1.3aa6e59b8e4f2p+0 +0x1.e084f5f6bc44ap-1, 0x1.5076f4b4b18b8p+10 +0x1.4d2300d306d07p+2, -0x1.229a22421288bp+2 +-0x1.15d245de0d24fp+2, -0x1.14ca80f6c7f21p-3 +-0x1.d280147f90d51p+2, 0x1.97ed012468bebp+0 +0x1.2295da95d38bp+2, 0x1.03ef25597dbdbp+1 +0x1.a8e6fe8e0c2f1p+0, 0x1.075564b3af4d2p+1 +-0x1.f6ca0bd88e38fp-1, -0x1.45c57fd1010d9p-1 +-0x1.c3de1d196e1b6p-3, 0x1.e727d990df347p+0 +0x1.abe66fcda83c4p+0, -0x1.8fa34697d969bp+2 +-0x1.70b3456c05701p+0, -0x1.1d62c028cb85ep+3 +0x1.4f895536407a3p+3, -0x1.2baea608eee34p+0 +0x1.c74a0bff306b8p+0, 0x1.5ab7632a6f26ap+2 +-0x1.8b71affd301adp+0, 0x1.e5599a8b8cd1ep-2 +-0x1.af914248cc951p+11, 0x1.28195507f9c4dp+2 +-0x1.aef2de29acc79p+2, -0x1.e88a0473750c9p+2 +-0x1.15c3131754788p-4, -0x1.c518dcf18236bp+1 +-0x1.73992aff0a5d1p-1, 0x1.a6465a06344abp+2 +0x1.6618c32434ccbp-6, 0x1.01d2e8a3a500ap+2 +0x1.4919b4e276d87p+1, -0x1.87c7208ec9bc6p-1 +0x1.8412767aa5ef4p-4, 0x1.8e16c29571d0ap+1 +0x1.e0c19c809e47fp+0, 0x1.6efdb5caff4a6p+0 +0x1.77a86c33e5e95p+2, -0x1.9a52b339c19cfp+0 +0x1.2decd2cd9416p+2, 0x1.efa199ef062efp-1 +-0x1.f7faebc197eaep-2, -0x1.125dbd788c9cap+1 +-0x1.aa25da601877cp+0, -0x1.0509b5b07db71p+2 +-0x1.0e841e3337126p+3, 0x1.14f309eb6b769p-5 +0x1.8371f68deafc4p+2, -0x1.a6997c8b3e796p+1 +0x1.d0be99890c6e9p-2, 0x1.7a186fbd1e357p+1 +0x1.5c3bcf78d4d02p+2, 0x1.a8caecb3e7fadp+2 +0x1.4fabaf7e6189cp-1, 0x1.52e960044f204p+2 +0x1.6ef878c1f2b46p+0, 0x1.e6a8c18b02bdap+1 +-0x1.153cd769f58b7p+1, 0x1.7465e23891068p+2 +0x1.19c6a1a74d3e4p+1, -0x1.f883f4df88f4p+14 +0x1.72168e15129acp+0, -0x1.fad951936d185p+0 +-0x1.d3401a99664afp+0, 0x1.1d3854a4dd63cp+1 +0x1.5c0a66217aeedp+2, -0x1.8183e6ca03bf9p-1 +0x1.e1e5edcac9c11p-1, -0x1.2c76664058a25p+3 +0x1.31e48e976aa5bp+3, -0x1.5b84d88d6d8cap+1 +0x1.ac7e36ab5270ep+1, 0x1.171c6cc2580eep+1 +0x1.b3819456344ccp-6, -0x1.9c0b5679318b7p+1 +-0x1.16cd889ab0c83p+1, -0x1.5a04d871e7321p+2 +-0x1.0cc51d8fdc638p+3, -0x1.d5ed576faf2d7p+1 +-0x1.056de1685c7f9p+2, -0x1.e09561f6f07afp+0 +0x1.0f01966df0ce1p+1, 0x1.7fa3f5c1e2d0fp+1 +0x1.fac5aff615326p+0, -0x1.f77ae55a39fdcp+2 +-0x1.6f44f4289804fp+0, -0x1.9d4e517275c6cp+2 +0x1.b9e49495dfc03p+15, -0x1.58acb6a23ccabp+0 +-0x1.870639b088223p+1, 0x1.b943566f0562bp+1 +0x1.8637e6afd9338p+1, -0x1.440ac7df7534ap+1 +0x1.61efb820047d3p+6, -0x1.bf9b0d31fd77p+1 +0x1.657f4c07274eap-1, -0x1.8f9cb6ef8f5d9p+2 +0x1.1399d879737eap+2, 0x1.a28951ff14a4ap+0 +-0x1.23308d3996291p+2, -0x1.4c282aeb3391dp-1 +-0x1.d9f85505d3084p+1, 0x1.bf6c8f95b92bap+2 +-0x1.87bd20aebe54ap+0, -0x1.fb5cc159a1499p+11 +0x1.472382401a8f2p+1, 0x1.924999011c9c8p+2 +0x1.23e2c30e9b519p+1, -0x1.bf5faffd31951p+6 +-0x1.03af799e9b82fp+3, -0x1.57e603fe4b41bp+0 +0x1.489f051554ca5p+2, 0x1.a3378da301d3dp+1 +0x1.127a2038f4704p+2, -0x1.0412abc005f4ap+2 +-0x1.c1fab58e51be8p-1, -0x1.534a358901675p+2 +-0x1.227ee94d806fbp+1, -0x1.60bafada87854p+2 +-0x1.6c1b4ca75bc6dp+1, -0x1.e55c2f64efc93p+1 +0x1.0136a1b3a2aeap-2, -0x1.0ffdf80d90d07p+1 +-0x1.c65760470e8d6p+1, -0x1.b2896d2a008dap-3 +0x1.574f6ae904203p-1, 0x1.324236a74d2b6p+2 +-0x1.a324414161549p+0, 0x1.9a3899e8b4ba4p+2 +-0x1.1171c9f576983p+2, 0x1.0f7b1d54df251p+1 +-0x1.6c053dd207a6fp+1, -0x1.9b99b65989247p+0 +0x1.b2a6d71e32934p+2, 0x1.1f2bd5bca0b78p+0 +-0x1.f0cccc8b49969p+1, -0x1.1732ff38c200cp+1 +-0x1.6b2755c442ff5p+1, -0x1.187853da32e74p+2 +0x1.a799190ccccfep+0, 0x1.857357305ebd7p+1 +-0x1.0cfed51a5447p-3, -0x1.4de6ec08a741ep+1 +0x1.51a0623691ca1p+1, 0x1.150623e621affp-1 +-0x1.5cfe06a01edd3p+2, 0x1.79170cd5592fbp-1 +0x1.03e7ab6aad67ep+2, -0x1.1891985c0eb8ep+1 +0x1.b4c6bd3a6edd3p-1, -0x1.9184c834df616p+1 +-0x1.896958966a197p+1, 0x1.5be3839f90121p+3 +-0x1.0a5d4e106277bp+2, 0x1.9a280716597f5p-2 +-0x1.52f6fb77a081ep+1, 0x1.3c8b1ee2b173ap+0 +0x1.2ea3366ede3adp-1, 0x1.e53f1280cde7ap+2 +0x1.957874fc6208ep+2, -0x1.2e50c6467220dp+1 +0x1.f60821784192p+0, 0x1.b8e3e55ae80e2p+1 +0x1.288f642c27b4ap+2, 0x1.3ab579f457f48p+1 +0x1.00560e5c012c4p+2, -0x1.018fda0958f47p+0 +-0x1.1663e5438ceecp-3, -0x1.b38c79ed08931p+0 +-0x1.56593bb8e2b3ap+0, -0x1.658a994e639bfp+2 +-0x1.0694d3009659dp+0, -0x1.72fcdc678ef45p+2 +-0x1.d97293881bea4p+0, -0x1.c49a1d675d476p+0 +-0x1.9fe2460948d08p+18, -0x1.2f65397f9102fp+2 +-0x1.e1be1e7df4fc2p+0, -0x1.6f8874375d431p+0 +-0x1.66bc19e242a4ap+14, 0x1.082ca583a3b4ap-2 +-0x1.a2bbbe7dac89cp+0, -0x1.56d82280ca20ap+1 +-0x1.0dbeb9ef97955p+1, -0x1.b94eb5428765bp+1 +-0x1.a9bf86e4ac70dp-1, -0x1.0855827c83f4cp+0 +0x1.022d027737673p-1, 0x1.3063e7a806101p+3 +0x1.eab3b18ac0494p+2, 0x1.e5f194cc1e1a8p+1 +0x1.2d3fb992a5babp+13, 0x1.e69e9354c1529p-1 +0x1.545416ffbb03bp+1, -0x1.b5e40f88452abp+1 +-0x1.68c7d14330b2ap-1, 0x1.7ffc77ca165dcp-2 +0x1.a668c8ebd61b4p+2, 0x1.0b28f10ea5b09p+4 +0x1.4335046c074d7p+2, 0x1.685124b5d8a51p+3 +0x1.4745e3eac7353p+1, -0x1.69574690ea7c3p+0 +-0x1.c3d85c17853dbp+2, 0x1.2ca545525be9ap+2 +-0x1.5e28ce7affeb4p+0, -0x1.92bfba1bac60bp+1 +0x1.97f2a53c69f16p+0, 0x1.282c0d8843656p+1 +0x1.2e83ef4ac8dd2p-5, -0x1.e1a4876dd3166p-2 +-0x1.95bdb29008dc8p-1, 0x1.6600fe4a53856p+2 +0x1.2e1d9bf5b3951p-2, -0x1.70e9ea952a19dp-1 +-0x1.d20f199dd9577p+1, -0x1.c22c62447cc81p+0 +0x1.5ede8b7bf60dbp+0, -0x1.ddccc5653648fp+0 +-0x1.37b3b1cce6cd7p+1, 0x1.293dcc95484d4p+1 +0x1.a0908aa30e4b1p+1, -0x1.19e1718e6114cp+1 +-0x1.15879faff760cp+2, 0x1.04d7bd103c7bcp+2 +0x1.a9bfcf61ab5aap-1, 0x1.7ffbcf941d617p+1 +-0x1.60433564bde97p+0, 0x1.d302b99da1d41p+10 +0x1.0ac26b5b6b26ap-1, -0x1.2f2bf3e135d94p+2 +0x1.3193cd584a61p-1, 0x1.44e9cf1156e06p+2 +-0x1.e43e30a92a587p+2, -0x1.28e91fbfa691ap+1 +-0x1.7353a3cf17f5cp+1, -0x1.10a858f300482p+2 +0x1.32f94c36ff37p-3, 0x1.f9f83415242ddp-2 +0x1.9757166028a0bp+0, 0x1.1d7c012c6d9acp+2 +-0x1.598ebd48514bdp+4, -0x1.5d11d00438ecep+1 +-0x1.2747d944042adp+0, 0x1.7f675e4cdfdafp+2 +-0x1.25e7be689bf3bp+3, 0x1.2ab5068d0da45p+1 +-0x1.b5d0f4e5854c2p-1, -0x1.6c1508a245409p-1 +-0x1.cee6ebe8cfb3dp+0, 0x1.07e3d5abaf2c2p+3 +-0x1.c45815dd1e558p+2, -0x1.30859211b85f3p+2 +0x1.ab0d770f9960dp+0, 0x1.b383e5d3bf694p+1 +0x1.5da5ec4458468p+1, -0x1.ae05752dce3bep+1 +0x1.4f48d390d74f4p+1, -0x1.880168a9d8bf5p-1 +-0x1.87add861f8988p+2, -0x1.14db9a7dcab57p+1 +0x1.47c0301aa6b84p+0, -0x1.2b02155d9aee3p+2 +-0x1.7bfb0c81ab8cdp-3, -0x1.0c23e578a36c6p+2 +-0x1.157749f322387p+1, -0x1.7ac4335775a1cp-1 +0x1.c550fc3c78769p+2, 0x1.83d7cdfe37293p+2 +0x1.0175d3d989f64p+3, -0x1.2212fa987b93ep-1 +0x1.217f3df9fc083p+2, -0x1.cd855b8fe86fdp+0 +0x1.ccea5a54d87efp+0, 0x1.558402d1b1d97p+1 +-0x1.8ab1c2c68d04fp+2, -0x1.8098471a13c85p-1 +-0x1.0d8638af787acp+15, 0x1.305104b60c029p+3 +0x1.eff682c003408p+1, -0x1.5afb1632fb37ap+2 +0x1.1e33bf0ab3d29p+2, -0x1.5376544a33b7dp+8 +0x1.2a89ddee85669p+0, -0x1.1674f3ba7da18p+2 +-0x1.2284f100bccdcp-4, -0x1.cf1dd973f1609p+0 +0x1.b3a7904f392eep+1, 0x1.46833328fbc48p+0 +0x1.190e33f3fa595p+1, 0x1.2509eb20bfd81p-1 +0x1.7a11f69b6a7d4p+1, -0x1.ce345c782f5b6p-4 +-0x1.203b3b982e85ap+2, -0x1.19cab5f793ac7p+10 +0x1.963b6e19ba199p+1, -0x1.e1bdc5dcc038bp+1 +0x1.4d96d7ad0daffp+2, -0x1.b92d7f9c9dbcep+0 +0x1.e2caa293e9eecp+1, 0x1.f8baf1c0ea3dep-2 +-0x1.02dc134bc493p+3, -0x1.36dba0a97151bp+5 +0x1.612d64e416439p+14, 0x1.5e37a9908f7a9p+1 +-0x1.17bda5aad3d64p+17, -0x1.19840a3a45406p+2 +0x1.1959dfefb58f7p+1, 0x1.52bed32f75b94p+2 +0x1.ddc3415bfd4bap+6, 0x1.eee9334cdd0ddp+0 +0x1.203d41ad61271p-1, 0x1.90b58e66122bdp+2 +-0x1.370579624a655p+1, -0x1.b2a805a509c18p+2 +0x1.e67ccdb8eadfcp+2, -0x1.3c67a45675499p+2 +-0x1.bfe3aa0e71bb2p+1, 0x1.35cebbc94eab7p+2 +0x1.0422cc7ae80c9p+2, -0x1.60be748cc1763p+1 +0x1.035ceb7539913p+1, 0x1.7f99fcedf4bb1p+0 +-0x1.6f9c5ee90d57fp+2, -0x1.845438659ae53p+2 +-0x1.127e6dca38c33p+0, 0x1.4cfddd6b8cbe6p+2 +-0x1.1d4bd6ad50359p+2, 0x1.6a88e84e144c1p+1 +0x1.60d999f27bbc1p+7, -0x1.3b15ef7442557p-1 +0x1.4e93ff7351fb7p-2, -0x1.8afd23d8767ebp-1 +-0x1.80a2820b8f653p+1, 0x1.59afd0e87bb7p+17 +-0x1.1f50c3eb06578p+1, 0x1.d420b1a766c3fp-1 +-0x1.1fb62164017abp+0, 0x1.7df5acaa32cddp+1 +0x1.6eb4e78ecc57cp-1, -0x1.1194fe9aa3be8p+2 +0x1.13a325cf7b8cep+1, 0x1.e7069ccf67267p+2 +-0x1.89a242daa144dp+1, -0x1.10750199c5d77p+2 +-0x1.fb0a9458e1e58p+1, -0x1.f37b9d7b69b5fp+2 +-0x1.55c000fc49842p+2, 0x1.12ed7980f7439p+0 +0x1.cd24b3b1ef227p+0, 0x1.17088f192f0f9p+2 +0x1.90a1fc58a5b9bp+1, 0x1.88f71a896832fp+0 +-0x1.0e428a379b193p-2, -0x1.9a536e9c8e83ap+0 +-0x1.f8c907f8f58dap+1, 0x1.40c9a200f618p-4 +0x1.bb0f583139801p+2, 0x1.4f096c4aaccfep+2 +-0x1.8639ac259ec7p-1, -0x1.ddc002a62d79ap-5 +0x1.15ea75f9bba9bp+2, -0x1.a4314722e80c4p+2 +0x1.3085c6708f055p+3, -0x1.3a122c32d2387p+1 +-0x1.8466c7f39e1a8p+1, -0x1.07a3a25046ff7p+1 +-0x1.64906f355b5f5p+2, -0x1.b6cfc87ad211ap+0 +0x1.a9f23e8a04957p+1, 0x1.8f8861cd0df53p+1 +-0x1.0520d99bed6ddp+1, -0x1.fd38e376c26b9p+1 +0x1.4c6ede7af2ee9p+15, -0x1.a17681ee75826p+2 +-0x1.ec6227dfc627fp+14, -0x1.8824d10bf8adfp+2 +0x1.100b8d5562582p-1, -0x1.83039f5c89f39p+2 +-0x1.32ae3bd745592p-1, 0x1.20cb3b1fd30d4p+2 +0x1.b455d2d933468p+0, 0x1.321f6a0b81c7cp+1 +-0x1.d72368b9f962cp+2, -0x1.38e87e0872868p+17 +-0x1.e802ac8385caap+1, -0x1.283a262642c57p+0 +-0x1.4683fc0789bb8p-1, -0x1.0979236fd2b26p+2 +0x1.6fae44dc0134ap-2, -0x1.66857c081da8dp-5 +-0x1.1808d0a3ed1b8p+2, -0x1.88bbc40edea65p+1 +-0x1.22e88378bebeap-1, 0x1.ce560cf6fded2p-4 +0x1.fe493528bc8f6p+0, -0x1.e70f7ac0dd117p+1 +-0x1.a225717175c68p+2, 0x1.93bb64437011dp+1 +-0x1.26ee7d4949696p+2, -0x1.86e89fac76f85p+2 +0x1.324cac38058e4p+2, 0x1.1e2ab2a20dec6p+1 +-0x1.23a5753b9b995p+1, -0x1.24f1448e6220bp+1 +-0x1.4b31f7fd15c83p-1, 0x1.16c554c0c7c7bp+1 +0x1.0d1d3d81a6956p-1, -0x1.d95ce95177636p-2 +0x1.25c8932ec477fp+2, 0x1.c0aac2fc4b01ap+2 +-0x1.8393989b210cfp+1, 0x1.18b830605254ep+1 +0x1.28b2f9441edcfp+1, 0x1.0e07bb97e8479p+2 +-0x1.88769a9a2bc23p+1, 0x1.4d3bb4ff0f685p+2 +0x1.30e815b0caf98p+3, 0x1.2b279fb58ccddp+1 +0x1.2ca4a932972a7p+2, -0x1.3d18d2e8ffc38p+2 +-0x1.0f65ef8758231p+2, -0x1.ad2bebda2619dp-2 +-0x1.3475c3b4e2ee9p+2, 0x1.51bb2f67c8b9cp+2 +-0x1.dd38b5df716ecp+2, -0x1.d8cc44433d476p+13 +0x1.0381b0f4d007bp+1, -0x1.27e48c12b9f8bp+2 +0x1.41a8b1b7767ecp+1, -0x1.1c29f5704d67bp+17 +-0x1.8b3ede5e871ep+0, 0x1.7fae721951d81p+1 +-0x1.85869b8b80eeap+1, -0x1.78c2c5456cb34p+0 +0x1.3a066a25b4e52p+1, -0x1.a7b950822a4b4p+0 +0x1.2df413a0678eep+2, -0x1.a7e8ff2e61dcp+0 +0x1.0b7ac745ce7b2p+1, -0x1.6b1c1cfb6cefep+1 +-0x1.835d9005963f9p+0, 0x1.9c7f1a7a7db4fp+2 +0x1.a517c0fac05dep+2, -0x1.783db281d750fp+1 +0x1.d57e229e34103p+1, -0x1.aa40fb4f3e026p+13 +0x1.64c874c7ff99p+0, 0x1.d285de87e75d2p+6 +0x1.bb728dfa7549ap+16, -0x1.e1d280e7efed3p+7 +-0x1.29034b8e40be4p+10, 0x1.a38aedddb3d5ep-3 +0x1.e91734486044ep+1, 0x1.8a6fb6229a7b5p+2 +0x1.c1ddb87d6eb16p+8, -0x1.2c8860e8f34a5p+2 +-0x1.1493b4790c3f7p-4, 0x1.11b239e321003p+3 +-0x1.540abe5184ebep-4, 0x1.55238bb50d3f4p+2 +-0x1.907bf8f055f7fp+1, -0x1.722861705f122p+3 +0x1.0922e850c4dap+3, 0x1.0d758c54b2b1cp+1 +0x1.500a7b38bfc4fp+6, 0x1.e37532e8d4f13p-2 +0x1.2a95ded25c83fp+0, 0x1.0a60159cf5cc1p+1 +0x1.dba780a36ec17p-1, -0x1.0681e4de867b4p-1 +-0x1.a5bf1e1b1fd6bp+1, -0x1.4c9728278c22p+2 +-0x1.0c8d68a67fe96p+2, 0x1.9aaff72404ed6p+1 +-0x1.4d185228bfb82p-3, 0x1.cfe8027c2c38fp+2 +-0x1.0603298cf2078p-1, 0x1.fb9b281c161fep+2 +0x1.baa423457a5cap+1, 0x1.50b7dcf9975bap+0 +0x1.a0ae4e50204b9p+1, 0x1.03c44f5b094cdp+1 +-0x1.6a1a446399e02p-1, 0x1.52a39419f6eacp+3 +-0x1.235ce9a5345c5p+1, -0x1.a5f75d5430b75p+2 +-0x1.5b5176034bd59p+1, -0x1.e58f9f01d3083p+2 +-0x1.e9f290d4c936ep+1, 0x1.c0a628e80493cp+1 +0x1.5012206994989p-1, -0x1.f7107a00c61edp-2 +-0x1.70312dc81fc8bp+1, -0x1.484aeb9f98e5ep+3 +0x1.009e414eb9f4ep+1, -0x1.fe30da4fbdc3fp+1 +0x1.9189ba1e557dcp+1, 0x1.53560433ede1dp-1 +0x1.0a5bc3f82803ep+2, -0x1.96e6eabcc9951p-1 +0x1.9053d98450bf6p+14, -0x1.b7520763ef0ap+1 +0x1.699d06d4dfe91p-3, 0x1.929f744a489d6p-4 +-0x1.766150115c867p-1, -0x1.7199cb6d0c4cbp+3 +0x1.8fe10203411d2p+0, 0x1.686ee734e1a5ap+2 +0x1.2498c7f6acfc9p+1, 0x1.383d52d0a077fp+1 +-0x1.9653c535d523fp+1, 0x1.423fa91473442p+2 +0x1.62b9226df3d2p+2, 0x1.037e339759878p+2 +0x1.510cb7fb65244p-3, -0x1.635ab60fbdfcep+3 +-0x1.554365a1f0a1cp+1, 0x1.8256db574a062p+0 +-0x1.300a801d01d9ep+2, -0x1.ebf00fb4817a1p-3 +0x1.e6ea05648958cp+1, 0x1.0bbe72712b736p+3 +-0x1.95d1cf1c743fcp+1, -0x1.e3c3c0535ebf8p+0 +-0x1.f444285332d98p+0, -0x1.6de5e60cc3637p+2 +-0x1.b260ac1678535p+0, 0x1.dbb2a05fcfca7p+1 +0x1.6ad772581cc7fp-2, -0x1.3f02ba7864846p+2 +0x1.1b2b61acfa0bbp-2, 0x1.36d5edb8d6561p+0 +0x1.030d85541e32bp+4, -0x1.2ab6564fc9d42p+1 +-0x1.72fe00bee0654p+1, -0x1.6c306eb9f7455p+2 +0x1.92084491ec7d3p-3, 0x1.d07c26dce52cfp-1 +0x1.9aba08341a8a5p+2, -0x1.c2159ccce2ea9p+2 +0x1.0cfa83f3a76dp+1, 0x1.3f4e939281b6dp+0 +-0x1.087772e560dc3p+1, 0x1.68a22cb7794e9p-2 +-0x1.2647a7cf1b435p+1, 0x1.0e5d175120654p+1 +-0x1.2de1214d22ae2p+1, -0x1.91b2e59283778p+1 +-0x1.78ffac3fb1d2p+2, -0x1.0655f0e9843ddp+15 +-0x1.66121b98f4ea3p+2, -0x1.07032f0d9dcc9p-5 +0x1.535bd7d21baddp+1, 0x1.a255821d2dc4fp+1 +0x1.354c1004fbbffp+2, -0x1.2c1690d6590ebp+1 +0x1.819115f828451p+2, -0x1.bd5cef367abeap+0 +-0x1.fb764e5670533p-4, -0x1.0cfc92bcaa41ap-1 +-0x1.451e5bbcdd997p+1, 0x1.16c2ca86c0225p+0 +-0x1.4792eb2392716p+1, 0x1.c73c8a8632e66p+1 +-0x1.ca2cb7387081dp+1, -0x1.ad096c9df80e8p+2 +-0x1.31ce0cc4608edp+19, 0x1.99bca77168e25p+1 +0x1.4607971658ffcp+0, 0x1.f1babe9ca6f94p+1 +0x1.953b3894c8422p+13, -0x1.b932d6ae2451bp+0 +0x1.9d14a92d16a6cp+1, -0x1.0cdf9f5c52108p-4 +-0x1.f031808e2c094p-1, -0x1.8233a07ad7bf4p+2 +0x1.85ef6f657f4eap+4, 0x1.2c27a2f1114acp+1 +-0x1.c87dca08e343bp-1, 0x1.8f196401e1c8ep-1 +-0x1.c96f95910c946p-3, 0x1.b4f6a27780f1p-1 +-0x1.2ad0e45ed3d5ap+0, 0x1.e42a9e9994386p+0 +0x1.00b824127096p+3, -0x1.2148c786c9ceep+1 +-0x1.93d5166468a56p+0, -0x1.799e328608619p+0 +0x1.2984ef2e85996p-2, -0x1.0ab96be137689p+2 +-0x1.094292a0fc22cp+2, -0x1.3f2f5e681d981p+1 +0x1.adf332391672cp+2, -0x1.3e7791a1e10c2p-2 +0x1.83fff2f66655ep+2, -0x1.f1cbd87d61f87p+0 +0x1.7c368c42ab55ap+2, -0x1.f7f61135c529ap-1 +-0x1.c2764627a5243p+0, 0x1.d14ba0b1c89b6p-2 +-0x1.af4e6cd87d63fp+2, -0x1.21cc49fb2cbfbp-3 +0x1.3c182ba388d9ep+0, 0x1.0f31838281ab8p-1 +0x1.e5c9015f85d59p+1, -0x1.f247a563d1501p-1 +0x1.02e3f6cb81d88p+3, -0x1.92801c2e87b73p+2 +-0x1.07e9ea41a2907p+1, -0x1.43403dde8a107p-1 +-0x1.3b02c1ba5632p+3, -0x1.8285e799956bcp+1 +0x1.ea31a9e6cebd8p+2, 0x1.9b3ea5e25cb0fp-1 +-0x1.f525eb25f85f8p+1, -0x1.6e9a76ca22defp+1 +-0x1.f138adc40d7a5p+2, 0x1.85cb85132057bp-4 +0x1.fd31cf8c6329ep-1, 0x1.2069aea5f3115p+2 +0x1.4ed8baf7c4ca2p+2, -0x1.f6225cea8f2f6p-1 +-0x1.12b2673d5d2cfp+1, -0x1.481c496ee6f1cp+2 +0x1.7ba17d8622fc8p+2, -0x1.fdab5258cfc83p+1 +-0x1.59a6e383c075bp+0, -0x1.da4e4a7bdb7e1p+1 +-0x1.f2da575a31693p+1, 0x1.5e897b6620ee4p+2 +-0x1.e9c82f2e71cb6p-3, 0x1.b5574cf8dba9fp+1 +0x1.66407e877bb73p+2, 0x1.289952cbde44fp+2 +0x1.b197daad972acp+0, 0x1.0d4d101f12794p+1 +-0x1.f034fca406298p+0, 0x1.a51139e30e9e3p+2 +-0x1.0f68bea87acfcp+3, 0x1.120805bc136d7p+1 +-0x1.07b4a515e7696p-1, 0x1.f7a5146b75f5p-1 +-0x1.19b6e36b34273p+1, 0x1.0bf20e64b445dp+3 +0x1.afd886387485ep+0, 0x1.50ff61f1d627cp+13 +0x1.942950f09ad1ep+1, 0x1.e001351718846p+1 +-0x1.e3e9c508792fcp+0, 0x1.de006a57d8fbcp+0 +0x1.20672e40e6c39p+0, -0x1.68825f92ab4f4p+1 +-0x1.001e9e3cf3a1bp+2, -0x1.247a05699dab2p+3 +-0x1.f3e575be2001fp+1, -0x1.4e038df98dfb6p+1 +0x1.272a656a29ff3p+1, -0x1.dbac14b573c28p-3 +0x1.7875a2147f0afp+2, 0x1.12b62e306123bp+2 +-0x1.72466b9ea419cp+0, 0x1.b132e6cc35535p+1 +-0x1.331a8a5cd43ap+0, 0x1.2ebd22e7004ep+6 +0x1.10ecf242bf575p+3, 0x1.3bc332f7abf02p-2 +-0x1.8dadf1c24d49fp+0, -0x1.242597d41efeep+3 +-0x1.0bbe52bc834adp+17, -0x1.7ebb100db599ep+1 +-0x1.cea03acdfd65fp-2, -0x1.3f16e44f1306cp+2 +-0x1.6edb2d1890d34p+1, 0x1.62c44c8a5f355p+0 +0x1.8803ef06c95c8p+1, 0x1.8e1e0b80385fdp+2 +0x1.3b41f301b6592p+1, -0x1.18dc9db41fbc7p+10 +0x1.1dee7d1669effp-2, 0x1.13b3ac07d657ep+2 +0x1.5a9f4bebb5d6cp+2, -0x1.afa9d4f654225p+1 +0x1.1704ddc4557b7p-1, 0x1.5db217d8e7776p+2 +-0x1.602ddc3023876p+2, 0x1.b1d201e2acfap+1 +-0x1.b1d15c541370dp+1, -0x1.c79b0e887e633p+1 +0x1.eacbeb23a6fbap+16, 0x1.f3da3ca175056p-2 +-0x1.3a97b601bf0dp+1, 0x1.aec646d679083p-1 +-0x1.edd2fa06f3687p+1, 0x1.89da3c8843f1ap-2 +0x1.b32ec2ef57d68p+2, -0x1.5ddcf590fd192p+1 +-0x1.54cf11fdd9263p+5, 0x1.3b38243670dbap-2 +0x1.6b53befbeeff9p-3, -0x1.e1115b218954cp+1 +-0x1.7adeb2adace4ep+1, 0x1.428bb72f00e91p-1 +-0x1.aee136c7a3cb7p-1, -0x1.d7f20d3082c89p+1 +-0x1.111d2a2e95384p-3, -0x1.960edd15d32ecp+1 +0x1.35e031655f12p+1, -0x1.1920dd50ccc3fp+2 +0x1.fd7c8f136c76fp+2, -0x1.823b06295886cp+1 +0x1.eccfac0ee8048p+1, -0x1.8f91ca6210247p+2 +0x1.a03e8110f097bp+0, 0x1.da0c9afd8dcdep+1 +-0x1.7b3899ba1d02p+2, -0x1.ac16affa73924p+1 +0x1.4dc476cb5dc43p+2, -0x1.4fc3383316005p+1 +-0x1.a9530e25027aap-2, -0x1.04c2350f9b54dp-1 +-0x1.e1fb5181eb798p+18, 0x1.25cdcd0b08f96p+3 +0x1.1a0a54602c71bp+8, -0x1.5f7207756d3c8p-3 +0x1.a232917ebc929p-1, 0x1.396d6db76fe76p+1 +0x1.dc548a1089f94p+1, -0x1.0ab683f304d3ep+2 +0x1.9b7827af0085cp+0, -0x1.8a8debcbe48a8p+0 +-0x1.f92115227e744p-6, -0x1.45793d7132bbdp+1 +0x1.a831fc10fe58fp+1, -0x1.147f168d3e037p+3 +-0x1.815c8db15bdfap+1, -0x1.4753b2b37e376p+6 +-0x1.9cccc9c263581p+1, -0x1.7d22834f8d805p+14 +-0x1.3ea8462daef19p+2, -0x1.4f9be479f22f3p-1 +-0x1.eaca400c13282p-2, -0x1.1b41139fd70e9p+2 +0x1.00b47f6b9043ep+2, 0x1.23988f17b30cfp+2 +-0x1.bd0d668daa587p-1, 0x1.0711243d6a61ep+2 +0x1.ff01573298ef2p+0, 0x1.3ead517179aa6p+0 +0x1.7cf18834378c7p+1, -0x1.091a940e10907p+3 +0x1.6423d3cbd467cp+2, 0x1.687c56a56d6cp-1 +0x1.1d59b355aa04fp+19, 0x1.863fe7299882ap+1 +-0x1.52e3f979e0fb9p+1, 0x1.f8518fde47e75p+1 +-0x1.7fab4fb0279a8p+1, -0x1.2bbcd18145967p+3 +0x1.a30295ee43df3p+0, -0x1.478aa72927f5dp-1 +-0x1.21211328309e9p+2, 0x1.6af7c6c960eadp+0 +0x1.6c5da688f2e5cp+1, -0x1.cdd5138eb6423p+2 +0x1.9af4a72806b44p-3, -0x1.1c056164c2048p+0 +0x1.fe50d7f62dda8p+1, 0x1.d16ee268fcc7bp+1 +-0x1.07130430ab2a4p+1, -0x1.8be6b923f63c4p+1 +0x1.27cf39932fb1ap+1, -0x1.08f87d13fb533p+1 +-0x1.c5d5a669eb082p-1, -0x1.2fc7980806108p+2 +-0x1.744c8417d8408p+0, 0x1.b600d94d61423p+1 +-0x1.21e4b599580dp+0, 0x1.157f3fc837024p+2 +0x1.a24080a081f91p-10, 0x1.f21e9b37d87ffp+0 +-0x1.dfc747dc12a3p+1, -0x1.187d37e84708dp+2 +0x1.c226e9633f2f7p+1, -0x1.970806be748c5p+2 +0x1.762f7aa94b8d2p-2, 0x1.b8231a31a40ffp-4 +-0x1.87e00889cbadp-3, -0x1.4a2c33ef7f3c3p+2 +-0x1.a5e7420f57c07p+2, -0x1.f53d0ec7654f5p-4 +-0x1.b3838ab370cd2p+1, -0x1.86a2c954af372p+1 +-0x1.6ac5d1fa2efccp-1, -0x1.9db40e6c88088p+1 +0x1.594d22475417ap-3, 0x1.84230225276c8p+2 +-0x1.34dc0712c1356p+2, -0x1.dbcc1c490cb81p+13 +0x1.c94584871474fp+0, 0x1.541fea2230f7cp+1 +-0x1.9cd0d2296645dp+1, 0x1.2ae9e95ddf157p-3 +0x1.e584efe8b59cdp-1, 0x1.4c43bc5af28bap+1 +0x1.d71a7a836ea51p+0, 0x1.b29d25126e71cp-4 +-0x1.3c87f4d6f30c8p-1, -0x1.2d6a193fc3614p+3 +-0x1.ab574394cbdc8p-6, 0x1.b5aa00b0e34b9p+0 +-0x1.2afbccc190dadp+1, -0x1.c13422e476d79p-2 +0x1.80a34ae32ca83p+1, -0x1.1b9319f8f460cp+1 +-0x1.e582a56766511p+1, 0x1.e91eb49571002p+2 +0x1.8a62f4dd4a254p+0, 0x1.0ae360124af51p+2 +0x1.50a779f0145eap+2, -0x1.c2f901a7ad4a7p+1 +-0x1.81c5aa0b9796cp+2, -0x1.52e4b820c2236p+1 +0x1.a42048d1d8bb5p+1, -0x1.b94ab44c00a18p+1 +0x1.b63c04e8f0854p+1, -0x1.699607cc9cbdp-4 +0x1.9adb05e932ae7p+1, -0x1.462730ef50725p-1 +-0x1.2daa2e46a2fe3p+3, -0x1.72e71d193b64ap-1 +-0x1.4a0a45a58eb4fp+7, -0x1.abf1cd402074p+2 +0x1.f19f9184946a7p+2, -0x1.e73641c3066a9p+0 +-0x1.5e9529da0902ap+0, -0x1.e349f1689995ap+1 +0x1.1b6d8269a3f08p+1, -0x1.241f1b7f58f79p+1 +-0x1.2bc5673f7cfccp+1, 0x1.e60e4c7160eb2p+1 +0x1.40105ca97007fp-1, -0x1.2ef564af9616fp+1 +-0x1.d13c0994d4e68p+2, -0x1.5e2db88c7b116p+1 +0x1.e74228f68b2f5p+0, 0x1.40e9e64ec955bp+0 +0x1.72a4f91134517p+1, -0x1.1997c397e0e45p-2 +-0x1.8de3646adb742p+0, -0x1.05bb605702e3ep+1 +-0x1.342b53aca73bep+1, -0x1.89b84d1a50e19p+0 +-0x1.3f7bcefa48f28p+1, 0x1.1445c017ac5aap-4 +0x1.bda7899c88481p+1, -0x1.854a97639dd82p+1 +0x1.ebe3b9a00954ap+6, 0x1.fb15328e09512p-1 +-0x1.c9dbdbab75f6cp-2, -0x1.924fc69d8bb7bp+2 +-0x1.25e32bee83924p+0, -0x1.bc1850cd020a7p+0 +0x1.01b9f83de5d5cp+3, -0x1.245a56e256b22p-1 +0x1.446ddba2cd51bp+2, -0x1.82ee10d3a818cp+0 +-0x1.46f0b69116862p+13, -0x1.56d168736abedp+2 +-0x1.3faed27762aa9p+0, -0x1.9d7af776ec0cap+1 +-0x1.d924c0cefcfeep+1, -0x1.8571bbe29cdabp+2 +-0x1.4bbb6ac06d5bdp+0, -0x1.8879940733e33p+1 +-0x1.99a5b92e5ff58p+0, -0x1.38e36845eaf57p+2 +-0x1.7d8754f62e026p+1, -0x1.8b7a4bbd389bep+2 +0x1.dcf43dccb997p-2, 0x1.e4cd11f6fba53p+1 +-0x1.120e1f0c78bb8p+3, -0x1.1e1eb7fbfb794p+0 +-0x1.ea4d1b53cd135p-3, 0x1.aabe65dbd6bc4p+0 +-0x1.09a500dea9bddp+1, -0x1.3d189d9a88fd9p+11 +-0x1.e0af61321a7f2p-1, -0x1.cc18188e176cap+0 +-0x1.1b955f4d95466p+2, 0x1.e2663ae98928dp+1 +0x1.abaa648344e7ep+1, -0x1.a5d79108eef66p+2 +-0x1.27679b5fa812ap+1, 0x1.56376d93903ddp-3 +0x1.bc46161c69fep+0, -0x1.1543746124249p+0 +0x1.1881378f8a1c6p+0, 0x1.a82c9874674c5p+2 +-0x1.2e9a5f172f6f8p+2, 0x1.b1bd74aa0172bp+0 +-0x1.db1d1998c1f61p-1, 0x1.46c64fd18cbdap+0 +0x1.ad8422add4586p-6, 0x1.5649300949beap+2 +0x1.0b29b33a75431p+1, -0x1.2ac009568cb2ep+16 +-0x1.c6ccc0f28f1p+2, -0x1.5b1b77ea2a3ap-4 +0x1.41ea705b3d939p+1, -0x1.5b31595567e47p-7 +-0x1.8fbb2c08818fp-2, 0x1.cf468995764dp+1 +0x1.9019532e8667ep+1, -0x1.37a5656a02965p+2 +-0x1.f0ee338a4d46ep+2, -0x1.13f58080db152p+1 +-0x1.d250b0591da26p+1, -0x1.d79cdc1badf92p+1 +0x1.4f7d47bc3d927p+1, 0x1.af11260cce2dbp+0 +-0x1.c37a23a902833p+1, 0x1.8dc0093bae59p+1 +0x1.c46a3c697fac2p+4, 0x1.926eb312dc37cp-4 +0x1.235de7f7c1fd6p+1, 0x1.e42528fed0943p+0 +-0x1.364d772df419bp+2, 0x1.0516f10afc27bp+1 +-0x1.572c381eca49ep-1, 0x1.d83c6a3674676p+12 +0x1.88a23be051993p+1, 0x1.71ac798bacfb3p+0 +0x1.40fc5defc7765p+2, -0x1.9d48ade1f04c5p-2 +0x1.2d9f95aa179fap+3, -0x1.3fed45497881bp-2 +0x1.14f90481aa39dp+2, 0x1.117fda9263534p+2 +-0x1.b6ec8b28a55b9p-3, -0x1.18172b386be32p+2 +0x1.0adf37f26e37p+1, 0x1.37effb54b19d4p+0 +0x1.21b03bff2f4e3p+8, 0x1.83a41cab13062p-5 +-0x1.6449613bee7aep+1, -0x1.f50629a7ccea8p-4 +-0x1.52bfb5b0734d5p+0, 0x1.faf4ecb1ca745p-2 +-0x1.da026aebfd429p+2, 0x1.a009abc4fd63fp+1 +0x1.7abd76e782ap+10, -0x1.61b53330112f9p+2 +0x1.37c2a612c6e15p+2, -0x1.eb6171750179fp+1 +-0x1.4d7473af08898p+1, 0x1.97f4b7cd5b3f8p+0 +0x1.b431c827cf6eep-1, -0x1.0eb48b837f07dp+0 +0x1.88649d0cee365p+0, -0x1.fc0fd6dc01c7dp+0 +-0x1.4f5f2f37ba7fep+10, 0x1.5ba1814058a8bp+2 +-0x1.65c3e2aeb2899p+0, -0x1.bbd6995ae99edp-4 +-0x1.c878624651ca5p-1, 0x1.7ad4e17444e6p+1 +-0x1.54bd92a87ff93p+1, -0x1.572464a76684ep+1 +0x1.7dd25167c1d2cp+1, 0x1.8845137c97014p-1 +-0x1.1af04bbacf26bp+1, -0x1.25b614c1ecc28p+2 +-0x1.6afd15125043p-1, -0x1.4e124480e7a28p+0 +0x1.7f6a4e197766fp+0, 0x1.95e1ab6ba1f5bp+2 +0x1.4b2c308e623acp-1, -0x1.37faae0f55578p+0 +0x1.b813863fa920bp-3, -0x1.fcccf8c3e559cp+1 +0x1.d5fbd0dc8ad31p+0, -0x1.0d3a272be80eap+3 +-0x1.a9c3e9e8688a7p+1, 0x1.5eea1a8a8f485p+0 +0x1.8a6c56d1a1272p+2, 0x1.8bce4cdd2bcc4p-1 +0x1.ea5d16cacacbbp+2, -0x1.2a63eef7c2d6dp+3 +-0x1.0647ed439703ep+2, 0x1.bc3a485920066p+1 +0x1.dd4ac2af7eebdp+0, 0x1.5eab24e1d03bfp+1 +-0x1.b85a6ab8e17b3p+1, -0x1.30a6daa38c351p+1 +-0x1.932a5503268b4p-1, -0x1.dea320714bb8p+0 +0x1.ff3e96529748ep-3, -0x1.a20338fd9a868p+16 +-0x1.84e5a0ad07939p+1, 0x1.7abe060402b05p+0 +-0x1.c7ed9a40bb9cap+0, 0x1.02a8f4cda6221p+2 +0x1.ec5dcf79a942cp+1, -0x1.719e667303d97p+1 +-0x1.9c222e047ccf5p+1, 0x1.ad9e514283006p+0 +-0x1.b91d5d5e6af16p+1, 0x1.3bf08371d80a3p+2 +-0x1.e71b31b55f888p+1, -0x1.2123c8afd4639p+1 +0x1.66e5b74df1fc2p-4, -0x1.7194b4bbb9604p+0 +0x1.bb39529bcf0cfp+15, 0x1.a853a77ed2545p+2 +-0x1.946d32d759613p+2, 0x1.881bcc28b16a3p+2 +-0x1.0b5d39d4c079ep+1, 0x1.ea86acca24fb6p+1 +0x1.e60be2ce35abp+0, 0x1.b18e1fc2fe4aep-1 +0x1.1895a16e5b299p+2, 0x1.631f30ccc34cep-3 +0x1.132ac53e1174ap+3, 0x1.a39f95bb8ade9p-1 +-0x1.15db9c49ef391p+2, -0x1.d6a8eb31cb9a8p+2 +0x1.a1296064d28a2p+1, 0x1.fcf1625e745fcp+2 +-0x1.988fbceaf877p+2, -0x1.320cb52642ec4p+2 +-0x1.f98be839ccbf2p+14, 0x1.2d8229be0c4fp+0 +0x1.ac9ee37cd8368p+1, -0x1.3c5d22b389487p-2 +-0x1.9448c4107de8cp+0, 0x1.a2997e078f13p+2 +0x1.6f58dc3bc602ap+0, 0x1.37b3f8e60e36fp+3 +-0x1.f75300353251fp+2, -0x1.0c3efe0f6baa8p+1 +-0x1.32091e6ef5cd5p-1, 0x1.386a7f4fa630ap+0 +0x1.8c0e631a8eefbp+1, -0x1.c28ef46efc1c9p+1 +0x1.979655c0056c9p-1, 0x1.4a80270e8e4d3p+2 +0x1.e3f59203d03bap+1, -0x1.1d3020868a46p+10 +0x1.20102c889c5cap+3, 0x1.59ec2f51a8b98p+0 +0x1.095d096f0b407p+2, 0x1.289b92fb35d08p+2 +0x1.5fdfb65bbc642p-1, 0x1.235683086ad17p+1 +-0x1.7a6b6335a0c2dp+2, -0x1.799613a9c159ep+1 +-0x1.3ee7409504eacp-1, 0x1.7e4a8efce3246p+2 +0x1.e561f06a5365ep+0, 0x1.5647b6331ec41p+2 +-0x1.c3478f0761295p+1, -0x1.0633e63498af4p+3 +-0x1.8817a13944036p+1, 0x1.fefb2ec6512b4p+0 +0x1.ef194d3abb3b2p+6, 0x1.3dedbb7f474bep+1 +-0x1.6a9174b67702fp+1, 0x1.aea3df13c88fep+9 +-0x1.fe3e1aae8c063p+1, 0x1.aed45e264883fp-1 +0x1.fca5b10ea86bap+0, -0x1.5aec2b902ae63p-3 +-0x1.78b2a8628beep+1, -0x1.2247965168f43p-1 +0x1.bdd2c28447e21p+1, -0x1.814d8d51283ecp+2 +-0x1.028f11734930ap+3, 0x1.51bbd0805309bp+2 +-0x1.07d5639c20d91p-2, 0x1.23088bcf72d53p-3 +0x1.21b94ea316aeep+2, 0x1.4e1d52adae5c5p+1 +-0x1.24b5543b195e9p+2, 0x1.5b30e3542b577p+3 +-0x1.456c0300091b7p+0, 0x1.2f37284194a9ap+1 +0x1.54c750c7e9f57p-1, -0x1.600360bdedbdfp+16 +0x1.1fc68c1cc3f24p+1, 0x1.494a40e1de643p+1 +0x1.ede9eb8d27359p+0, 0x1.1195439aeb58p+18 +0x1.e671ed32aa6ecp-3, -0x1.eed4f621e781fp-2 +0x1.85f7844900b2bp-1, 0x1.283fae9acd7b9p-1 +0x1.02d54f9d493dbp+2, 0x1.ae30eabe95e8p+11 +-0x1.71ec4b96a1815p+1, -0x1.224808e2519p+2 +-0x1.54f890b534b47p+1, 0x1.bfebc311bbdf4p+0 +-0x1.d704d62ce5023p+1, -0x1.23961777d4cddp+1 +-0x1.0ba4fb82cd006p+2, 0x1.e727bbc513d5cp+1 +-0x1.d0eaabe5430b6p+0, -0x1.6d1443542a5a4p+1 +-0x1.8700c77ad604ep-1, -0x1.89608672974d6p+2 +-0x1.36fc373ea9a37p+1, 0x1.5703f0e07f446p-4 +0x1.5780fda033d36p+1, -0x1.76f64b996bfa2p+3 +0x1.be395fe0e2418p+0, -0x1.853ff1da8bf52p+2 +0x1.d9a7dffecbc55p+0, 0x1.671fd8156a13p+1 +-0x1.187b2bcc4e046p+0, 0x1.878a38a3616edp+0 +0x1.0967826603f1bp+1, -0x1.99f6d7f8aee05p+2 +0x1.e16183c7912a5p+1, 0x1.0888c1825d4fdp+2 +0x1.78d82bf2e8c41p+0, -0x1.4909c45ac7398p+1 +0x1.915b083f075c3p+2, -0x1.7b5dc5c7aea8ap+1 +-0x1.3ea56dc7339c5p+9, -0x1.c2d84fd41a175p+11 +-0x1.47e9fab1fbe69p-1, -0x1.d3de9ecf17cd6p+1 +0x1.9057d2ea15d44p-5, 0x1.426d9323e3cb9p+1 +0x1.6e8a0cf831d6p+1, 0x1.72474bb6e6f37p-4 +-0x1.3e38fcceddffcp+2, -0x1.036194389ddf8p+0 +0x1.01e35e926f93p+1, 0x1.043f37e367291p+2 +-0x1.ee387f2902f9cp-6, 0x1.5aa5876d2772ap+2 +0x1.182be8be0f408p+2, -0x1.f313ec9da99b4p-1 +0x1.23a0ff0627ed3p-1, -0x1.81fd718bd78f2p+0 +0x1.0be7ba03e2cd8p+2, -0x1.8fa16530118a3p+2 +0x1.ba6ec46b6bc34p+2, 0x1.f39f9294ef335p+14 +-0x1.bf2a5f9677c4fp+1, 0x1.399f6f88d09d4p+0 +0x1.514b00cbf0cf7p+1, -0x1.99afa864739f5p+4 +0x1.53008f53549bfp+1, -0x1.905a4c75373dbp-1 +-0x1.e60096cdedb7p+1, -0x1.9426ab7019286p+2 +-0x1.4e4c445a4f89ep+0, 0x1.2143e3d8550d7p+3 +-0x1.98cabfc45ea34p+2, 0x1.1b29a043f13efp+3 +-0x1.1c1ab4ba2a34ap-2, 0x1.60ab09a0a5c07p-1 +0x1.ab65469dd866bp-2, -0x1.4ce38a48ac74ap-5 +0x1.4c4201f036083p-1, 0x1.edd0e6e4f454fp+1 +0x1.e82ea08cd9c54p+1, 0x1.b61f430928cc8p+2 +-0x1.e6e081e4962f4p+0, -0x1.37fa71e19fe26p-2 +-0x1.f3cbb0d45a0d5p+1, -0x1.b2707d413f503p+2 +-0x1.4728d7f236935p+2, -0x1.261a9dd0da7cp+1 +-0x1.02e5b113368cdp+1, -0x1.5e859fcac011dp+0 +-0x1.4a687cd0d8c5p+0, -0x1.b6a32eb69671bp+1 +0x1.e4cf0c57b1d31p-1, 0x1.02bdcde50a92p+0 +-0x1.b9732866ef43fp+2, -0x1.4cd8303577fc7p+2 +0x1.3dcdbb284d63ap+2, 0x1.7d7a40c73f82ap-3 +-0x1.aeb9cb819ec07p+1, 0x1.3372dce2d8093p+0 +-0x1.646b47233186cp+1, 0x1.710488b4b2b8dp+0 +0x1.b9dea66804f0ep+1, 0x1.94ea8a1718ba4p-2 +0x1.0a74a81d8d6efp+0, 0x1.e0bdcafd21d07p+0 +-0x1.e80fbbed562e4p+0, 0x1.d4a84e7943d34p+17 +0x1.8044384767695p+4, 0x1.3f76022141aa5p+1 +-0x1.34ee60fc1232p+1, -0x1.51a328eeefa73p+0 +0x1.97f7f27db3c11p+1, 0x1.0be57f2490724p+2 +-0x1.db17d965ee27bp+13, -0x1.7156ca6534ae1p+1 +0x1.a6986c19762a8p-1, 0x1.784ca8dd487f6p+1 +0x1.2d0945665f066p+0, -0x1.594df56a6cfc4p+1 +0x1.0650bd92b1d25p+0, 0x1.8f5c6d83bf14bp+3 +0x1.a61d1fc80bb37p-1, -0x1.afb4c89c89499p-2 +-0x1.159c2b70f92bdp+1, 0x1.d6bf199e2e279p+0 +0x1.5159ae3813851p+1, -0x1.efc4f4ccf106ap+0 +-0x1.16670ca2fa326p+0, 0x1.20517cc0f555ap+0 +-0x1.4eb5db8b95234p+2, -0x1.408950e0467b6p+2 +-0x1.55f8d396a6791p-1, 0x1.51605f339241ep+1 +0x1.20e1a1801e982p+1, -0x1.89f3b03e5446ep+2 +-0x1.c5e44797000bcp+0, 0x1.68bbd57521e47p-2 +0x1.16ba846c1599dp+1, 0x1.270e1dd5875cap-1 +-0x1.4dcca2dee3adap+3, -0x1.d7be942975588p+2 +-0x1.d78e589ddc56p-4, 0x1.89320cd2eb00ap+5 +0x1.295ae9fe108cep+0, 0x1.256d6117cbbdep+1 +-0x1.7e2b3a125b644p+0, -0x1.ac19238c4d149p-1 +0x1.61fcc4b40b293p+2, 0x1.801605adc6a76p+2 +0x1.9c4281644327ep+2, 0x1.3391af20a7a3bp+3 +0x1.11057df9dc192p+2, -0x1.f71d86f8d8841p+1 +0x1.29b13ef2c52fep+0, 0x1.a568436131f02p+2 +-0x1.6db90ffdcd6f3p+2, -0x1.1a6454a0000bdp+1 +-0x1.976384c57d9afp+1, 0x1.6a5a68746328ap+1 +0x1.1968e1e548a9fp+2, 0x1.bed93c8422ccbp+0 +-0x1.602ec78749bc4p+2, 0x1.4405dcdd01041p-1 +0x1.9b97ea10b647fp+0, -0x1.eab4708675f25p+1 +0x1.05324d8997667p+7, 0x1.e7d8f9f79e2f9p+2 +-0x1.0db8981d2604cp+2, 0x1.565af9c9c9bdbp+2 +0x1.462b09e2a124cp-2, 0x1.64d1d17bd776dp+3 +0x1.50f8debc97953p+2, 0x1.b80626f610198p+2 +0x1.384c0e91515ccp+2, 0x1.0f089fe7dea85p+2 +0x1.134bb6c992091p+1, 0x1.284f79633419cp+0 +-0x1.c8dc36cd5c99dp+2, -0x1.7988792629a6p+2 +0x1.97f0e190b34cfp+6, -0x1.f5c2c80f258a6p+2 +0x1.82354af12d5bcp+2, 0x1.68fa247878411p+3 +-0x1.44d8da4c5c87fp+2, -0x1.7a9c992ae2977p+0 +0x1.41aa83f85febdp+2, 0x1.436320570a1a9p+2 +0x1.9ec0468e15b24p+0, -0x1.08ea9af03bec9p+2 +0x1.ef8333470ddd4p+1, 0x1.e97138ab37ad4p+1 +0x1.113043aa74f4p+1, -0x1.26f5da58a105cp+0 +-0x1.bf469a1cfac47p-4, 0x1.9105e07e5365bp+1 +-0x1.1069e97f84c28p+1, 0x1.925da592a3feap-2 +-0x1.bf3118d58b9c2p+1, -0x1.4490f296e54aap+8 +-0x1.463f1eb04a5c6p+2, -0x1.e13df2f489a96p+0 +-0x1.57690cf4b8b93p+1, -0x1.ffc4dbd5b0c1cp+4 +0x1.02589a980e3fp+2, -0x1.61dff0dd8bb7ap+1 +0x1.61926e11523e8p+1, -0x1.ff829350a02b7p+2 +0x1.aee5c19b51a65p+0, 0x1.4c0168045bdb5p+18 +0x1.eb638d2855694p+1, -0x1.f4599013a50b6p+0 +0x1.ff7d9b4294912p+3, -0x1.ea5f191b8c16ep+1 +-0x1.8741c193e8d9dp+12, -0x1.84a67c42a27fdp+1 +0x1.dcd747b8856a3p+1, -0x1.32bc9f4f129e7p-2 +0x1.5e94f779c5e31p+3, 0x1.8036c06360bep+2 +-0x1.84c462a7a5e32p+2, -0x1.10b2f9ace1e35p+0 +-0x1.31b29969356cep+2, 0x1.6bd1997f143efp+2 +0x1.60cfc0bdf71bdp+2, -0x1.4c7042a69b211p+1 +0x1.0bcf6c1de97f4p+3, -0x1.79e9cbc31f78dp+0 +-0x1.650481d93daa9p+1, 0x1.fe288369cd05dp+13 +0x1.206bb80e03038p+1, -0x1.d6fe3419a08acp+0 +0x1.2bcbbbcf34da6p+1, 0x1.7eaad638a6deap+1 +-0x1.fb997e40e0cccp+1, 0x1.180e499eaf229p-2 +-0x1.7895abd150b61p+0, 0x1.032596ed8af4ap+3 +-0x1.a0c0bc7e88dbcp-1, -0x1.eeb9fc2b537bdp-1 +0x1.4c08c7dca953dp+1, 0x1.0e44ef4698801p-1 +0x1.43b8a60a6e72cp+2, -0x1.05e3eebc9bdb9p+1 +0x1.4d519adc59d91p+1, 0x1.988f4e616f179p-1 +0x1.d93c5489c0c4p+9, -0x1.28f42b9d65ce7p-1 +0x1.fda6055c61dbp+4, -0x1.7183858707e16p+0 +-0x1.0b271a5169befp+3, -0x1.94e051de0e969p+1 +0x1.4d3a6b2b2aa2fp-4, 0x1.d396d8df887cbp-2 +0x1.89c72fbbe57ddp+2, 0x1.0f53e8042f26bp-1 +-0x1.5cb35ae8253fap+2, -0x1.90cce83c6bef9p+0 +0x1.842953d5f125dp+1, 0x1.76d8afb648166p+1 +0x1.e398839ed47f6p+1, -0x1.1cc22dc59a3d3p+3 +0x1.e5b9f3319f25ap+3, -0x1.e559a395913bp+12 +0x1.9a550f158e441p-1, 0x1.2c11c3e1b3744p+1 +0x1.7900ded1edff4p+1, 0x1.0ae9e210973c6p-2 +-0x1.13b89305557f1p+1, -0x1.5cb68766ed717p-5 +0x1.91ec847d63b25p+0, 0x1.694dde0ad6bebp-4 +-0x1.398eef0eaede6p+1, -0x1.b3da632a6a452p+2 +-0x1.3374cfdfd6d3fp+1, 0x1.1f9f77cc9b187p+0 +0x1.0a34f41b77f19p+1, -0x1.5aab5c02b9cf5p-5 +0x1.a13ec54514c7bp+2, -0x1.7f39e90cf66f1p+4 +-0x1.de23b42ca2e08p+11, 0x1.ac5554fc9df8ep+1 +0x1.7dadec666c592p+2, -0x1.1f1d73efb79f3p+2 +0x1.868f935ddf8ep+1, -0x1.aeec55d31d18p+0 +-0x1.0467edb4e75b6p+3, -0x1.411b821f463dcp+2 +0x1.2ebdc1d8db1b2p+14, 0x1.780d700637e1dp+0 +0x1.cb91d6161a51ep-1, 0x1.2092d65cd5475p+2 +-0x1.93f8eb266bdd4p+8, 0x1.2f30c9f4e1cd6p+0 +0x1.0e35b585d5de8p+16, 0x1.eccafb5f1a295p-2 +0x1.8b0adced6022cp+2, -0x1.0ea0fe317561bp+1 +0x1.296422dbf7f43p+1, 0x1.35fe85c9d536p+3 +0x1.eba7183aed953p-1, 0x1.c626947ec012bp+1 +-0x1.ac41f4ce39c7ap-2, 0x1.255b7b8c84465p+3 +0x1.527cff2ac305p+2, -0x1.72894e6d2ebccp+1 +0x1.63a24f025502p-1, -0x1.532ca38169136p+3 +0x1.c4c09548cf0e2p-1, 0x1.691af831d964cp+0 +0x1.69242805bcbe8p+0, -0x1.eb4540f1f5eedp+1 +-0x1.b5e739bdd4251p-1, -0x1.05c5eb9bb8931p-1 +-0x1.9b0ebfbfb5311p+0, 0x1.f6acbea5dfc26p+1 +-0x1.3479a16cc71ep+1, -0x1.21730add38fa1p-1 +-0x1.0459a126a365fp+3, -0x1.e3f4b4b84f622p+1 +-0x1.c4a0298a7e41fp+1, 0x1.d0535a739b57cp-1 +0x1.1d3cb04600b5ap+1, -0x1.da389133e1e96p+1 +0x1.021e30a02d1dcp+0, -0x1.4668691973df6p-2 +0x1.27fe1d6d4da4cp+13, -0x1.db8681ae24de3p-1 +-0x1.113d60026983cp+2, 0x1.354a9889cfaf1p+2 +0x1.0e60a73223fadp-5, -0x1.203dd029a2032p+0 +-0x1.a56c97660374cp-4, 0x1.b5f89d3a2fc2p+1 +-0x1.8c17cad70974ep-1, -0x1.65d8d8d9678ddp-1 +0x1.9222eb7c162eap-1, 0x1.2e4afb607803bp-1 +0x1.c0f001f59ff31p+1, 0x1.bbf77d317f81cp-4 +-0x1.8adbc6ec0fd96p+0, 0x1.433f696c13617p+0 +-0x1.4e918b65ee6p+2, 0x1.066637f837b79p-2 +0x1.b4952c192f05fp+1, 0x1.5506985cd9d67p+0 +0x1.9072f6182a6cdp+2, 0x1.6b522a70c7b18p+0 +-0x1.fbbd3d41427aep+1, -0x1.ac9b36f11b1b5p+8 +-0x1.42d91e351a74cp+12, 0x1.d80ae1461e16ep+1 +0x1.2a5aa320512fdp+2, -0x1.33e526f9c41fep+2 +-0x1.ab6d196921b9fp-4, -0x1.7944e765b90b3p+1 +0x1.dcfcdbeff6254p+1, -0x1.4fe86a534549p+3 +0x1.de80e62b13bb7p+1, -0x1.00c0d1f35c26ap+2 +-0x1.5c8727034cd3cp-3, -0x1.56eda7ff8b048p+2 +0x1.9206097d170c7p+2, 0x1.2beb415bfbd55p+2 +0x1.2e6f0f4a443fp+2, -0x1.cd40a24f0276p+1 +0x1.64d4712e5f303p+2, 0x1.aeb562d37ef8ep+1 +-0x1.13a88cd2a5ecdp+3, -0x1.c8c8905474bf7p+9 +-0x1.b1bce37e4d873p+1, -0x1.2a255ec0f20d7p+0 +0x1.8daa09b90a35fp+0, 0x1.1d2de0de93383p+1 +-0x1.ee847cf4f7ad4p+1, 0x1.966612514d812p+0 +0x1.3343d4a6f8385p+2, -0x1.672ab2b98ee33p+15 +0x1.c2a196f4c022cp+1, -0x1.5ace80cbea38ep+1 +0x1.52db69ddb97b5p+1, 0x1.61c880bdc2a6bp+0 +0x1.002126cb12bf4p+3, -0x1.45fe52a1a81bbp+16 +-0x1.e251287016886p+1, 0x1.dbc62d9f046c1p-1 +0x1.8b0d0a8967dddp+1, 0x1.6d10f4ced4362p+1 +-0x1.a572bc2e7ace8p+0, 0x1.46902ef952767p-2 +0x1.9f2472dcc1a9dp-1, -0x1.1ba286254998ep+2 +0x1.b10a89ced1bd4p-1, -0x1.efea8e0ff3d02p-1 +0x1.5366e58227c67p+2, 0x1.e938133bd1afp+0 +-0x1.d6918b3b5d089p+0, -0x1.4e1e235d535d7p+6 +0x1.727f091d7722ap+2, -0x1.4a3d57bb457f1p+12 +0x1.63ec65f1134fp+1, 0x1.71b15d25d6377p+2 +0x1.94640397b60f3p+2, 0x1.2333aef0a5ef6p+2 +-0x1.0314850dc2b0bp+0, 0x1.01464dd0706dp+2 +0x1.28430fa5a0859p+0, -0x1.4864dd42e1ab6p+1 +-0x1.22e75d7cff1fp+0, 0x1.794df6e51d248p+1 +0x1.3943ea97146dep+1, 0x1.08933dfe301e3p+1 +-0x1.05816b1870512p+2, -0x1.1d8bb9da2914fp+0 +-0x1.23c666476f76fp-2, -0x1.c48f539884253p-6 +0x1.5afbe438d99c6p+2, -0x1.2dbbb458a8618p+1 +-0x1.c177afd68fdbp+0, 0x1.4f91d448597d9p+0 +-0x1.824c4e6d51927p+1, 0x1.4850e338aa245p-1 +-0x1.44fae2d25af5dp+1, 0x1.b4f48ca85ad91p+2 +0x1.f7961ab75b76p+2, -0x1.62d846cd3c371p+1 +-0x1.8940de0dd44eep+2, -0x1.03dfa79afecabp+1 +-0x1.1542d262448ccp+1, -0x1.8c8ce646952aep-5 +0x1.50b9cb991d8f8p+2, -0x1.3e7dff2dbed28p+13 +-0x1.62d21e0141002p+1, 0x1.caf10f9b6709dp+12 +-0x1.e074afd0b66d8p-2, 0x1.b55ccaf71cd65p-2 +-0x1.b7a99e0dc75fdp+0, 0x1.83d12e8424707p+1 +0x1.2431a6b9212a2p+2, 0x1.0659b8d1258a2p-2 +0x1.cf5a519e6fb6bp+0, 0x1.2dea858cceb7dp+2 +0x1.32200719ebc6dp-2, 0x1.b7c4814e42aecp-3 +-0x1.756be87cb6831p+2, 0x1.091e63750aefcp+1 +-0x1.5cce5bc2fb99bp+3, 0x1.292c8bc64f01bp+1 +0x1.d16bbcc12462bp+1, 0x1.d13dec8ba5c21p+0 +-0x1.6372510f81611p+1, 0x1.3728d8004091p+0 +0x1.04dba19362b48p+2, -0x1.9ff72a3ea5d47p+13 +0x1.3b14cbbea4ec1p+1, 0x1.8bafcf31f08e3p-1 +0x1.5a41a35bcdaf4p+2, 0x1.74c276b5ca6cfp+1 +0x1.96303390fabc1p+0, 0x1.2a459131b2ca4p+2 +0x1.844a6e5f338ddp+0, 0x1.7f8bb0e0612a1p-1 +0x1.610964f68404p+2, -0x1.67e90036abc0dp+0 +0x1.ac59ba3b965cap+5, -0x1.b25692ec7b236p+1 +-0x1.a9426eaaa8d2ep-1, 0x1.e2e8672842372p+1 +0x1.b74bbb02d26ep-2, -0x1.717dc3215d58bp+0 +-0x1.87f015d8683fap+2, -0x1.a262f9f43bc66p+17 +-0x1.ea219bc47e417p+2, -0x1.a10ad95afdb07p+1 +0x1.00a2d9341851cp+1, -0x1.6ac1801f8e27ep+1 +-0x1.bf479cbdc71dfp+2, 0x1.89149d86abd66p+2 +-0x1.a858e518b2a1fp+0, 0x1.c180064f4d667p+2 +0x1.08ce5306eb70ap+1, 0x1.643af152ac68p+2 +0x1.7ed7f7f1b0c77p+1, -0x1.ad0032ff30becp+1 +-0x1.2b3631c815119p+0, 0x1.74028d09fcb03p+10 +0x1.774a1ed277d8p+16, 0x1.15cddcb258ce5p+2 +-0x1.f4aaba68f584dp+0, -0x1.6358be848e241p-1 +-0x1.736ca6015757cp+12, 0x1.c43560f297dcp-1 +-0x1.4e488fea8051ep+2, 0x1.5021fdc0c26b6p+1 +0x1.bebc93b50ca7bp+0, 0x1.e9dbb78ba447ap+2 +-0x1.fb3f9ddb0e003p+1, -0x1.2214ea725c4edp+14 +0x1.016337079cdbp-1, 0x1.0c4326787cccep+8 +-0x1.2b6be05a1f8ccp+11, 0x1.6e32be52b4097p+2 +-0x1.8fd9a318cd323p-3, -0x1.081ef47a2ac39p+0 +-0x1.a107359877ad4p+0, 0x1.2018e6f418e93p-1 +0x1.470d948a468cap+3, 0x1.c2b0f188fc613p+0 +-0x1.698480fc0d012p+2, 0x1.4a70129a548c1p+2 +-0x1.983eb6512bad7p+1, 0x1.0a8f3ba97afb9p-1 +0x1.143ab66625072p-2, -0x1.eb2f68f00a39dp+0 +-0x1.e149e31c85f0ap+1, -0x1.6aae935ab8a02p-4 +-0x1.93c9c249534ffp-2, -0x1.b7f3f50fbf13p+1 +-0x1.351d72b16f78bp-4, 0x1.f8d130eb54871p-1 +-0x1.458c83bbe8311p+2, 0x1.b0b5ac1af1d83p-2 +-0x1.eadd9352b9c3ep+0, 0x1.5218fd38df2f3p+2 +0x1.a2ed1ee4cd85bp+2, 0x1.6f340e45ebd72p+2 +0x1.2714ddd094cp+2, -0x1.e3a3c3de4226cp+0 +-0x1.7da17ee3a409p+1, -0x1.21f8123006f31p+2 +-0x1.d09e624fba9c9p+13, 0x1.1e1dc04b7163p+2 +-0x1.9e2c8052b659cp+1, -0x1.ede62fcffd79p-2 +0x1.e7ef5282039f1p+1, 0x1.59188d324a538p+1 +-0x1.3350e86c88d56p+0, -0x1.c7ddedd56e2ap+1 +0x1.9791d3bedb542p+2, -0x1.098b2b5935f3fp+1 +-0x1.11df68238ff77p-1, -0x1.05ad95d93dd69p+2 +0x1.5f557c75e25b3p+0, 0x1.17b8227da461cp+1 +-0x1.898ee1dbc240ap+1, -0x1.2101277704092p+0 +0x1.9357bb3230c66p+0, 0x1.7576d4c1b56f6p-3 +0x1.22d37a5cf7aap+1, -0x1.0d9d8d4dc7041p+2 +-0x1.d9adf73badc98p+1, 0x1.f7388fd11c38fp+0 +0x1.24d6a8181b493p+1, 0x1.33f66ecae6529p+11 +0x1.03bac1339b966p+1, 0x1.7ce8804cf985p+1 +-0x1.20eadfcf06a89p+2, 0x1.9a24df67d6ba9p+0 +-0x1.28dc4294dd543p+0, 0x1.93857ef7e5851p+2 +-0x1.c73d8e8a0e408p+1, -0x1.7bef378b36149p+0 +-0x1.2c95b65b2eeb2p+1, -0x1.bd0f00b10e188p+2 +-0x1.d53b0a151e808p+1, 0x1.c277a517ebf7ep+0 +-0x1.0485bf85f9dep+9, 0x1.abec50de8bd54p+2 +-0x1.c389ee3f836d9p+1, -0x1.46689722b758bp+2 +0x1.faf6bf395f131p-2, -0x1.b707f78fec129p-1 +0x1.87cbbc4c979fap+2, 0x1.316fc848b6746p+2 +-0x1.93c614710eb9cp-1, -0x1.96f4c8a0db4b2p+2 +-0x1.63d7b8e826c0fp-1, -0x1.11c95a51b5382p+2 +0x1.2998ced21b266p+2, 0x1.d573a5eb4aa5ep+1 +-0x1.8c4ffb74d919bp-1, -0x1.109d47fccd2c9p+1 +-0x1.6ba3ed98ebe8dp+2, 0x1.086acc9dc1d95p+1 +-0x1.1d474fbda12f2p+0, 0x1.beff5acaf8f2cp-2 +0x1.3577fe8a74799p+0, 0x1.cbb43dac45881p+5 +0x1.b21c3a38f2b66p+1, -0x1.9110d6feca48ap+1 +-0x1.db941ffff9d06p+0, 0x1.d2fc8ab1b2aa3p+1 +-0x1.ea94e6aa7b8bap+1, -0x1.fde7c1abe7079p-1 +0x1.50ed3d71844f6p+0, 0x1.e8fd524893f0ep+0 +0x1.660b0e644b634p+2, 0x1.d9304a23a7948p+0 +0x1.1be8e1f0ad4a6p+2, -0x1.b409f2fe9c264p+0 +-0x1.0ff34bba87cbfp+1, 0x1.272fb79cf04bp+7 +0x1.e276e788a1a58p-2, -0x1.fc421f2a9e4c2p-1 +-0x1.2c485dcc0195ep+1, 0x1.ec9ca1e64bc27p+1 +-0x1.2d4425375891fp+1, 0x1.7dcf42fff3949p+1 +0x1.f010b8e7f5547p+2, 0x1.8bfe72d1c1164p+0 +0x1.9fd8f66595cd2p+2, 0x1.3d3de6ca0d45dp+2 +0x1.76957d726216cp+1, -0x1.3ef4f3d187333p+1 +-0x1.58b020feb7e08p+1, 0x1.9655dcd142f3bp+1 +0x1.dd846a0c6b0b8p+2, -0x1.7a67fc283201bp+0 +0x1.869219bb0cd7cp+14, -0x1.3abc68e88f28cp+2 +-0x1.2a695f1e975eap+1, 0x1.05b7de1210373p+2 +-0x1.eab50447f5248p+1, 0x1.fbd242d41fcd6p-2 +-0x1.62e8275679909p+0, 0x1.fde40a69b1f3fp+0 +-0x1.8cb0ae1a1d58ep+1, -0x1.2eda1821a1616p+1 +-0x1.a1e133ae9746cp+1, 0x1.4b7e356d5640bp-1 +0x1.c36a13a3e6e0cp+9, 0x1.ce0bd918492c4p-4 +0x1.a1e758c99dfcep+4, 0x1.3a51d06a1ea7bp-3 +-0x1.8ec75bbcfcd4bp+2, 0x1.81ce6f404ad3fp+2 +-0x1.5b9016a6f5161p+1, -0x1.81d0d996d36eap-1 +-0x1.d7fa7ab7aa61p+9, 0x1.af378da7d9a6p+0 +0x1.98a793ab57d27p+2, 0x1.e80d214948d12p-2 +0x1.2576e082639e9p+0, 0x1.45ca9adf3d297p+1 +-0x1.5534595c6a1f3p-2, 0x1.79fb8f457a416p+9 +0x1.9726ad75b3c8ap-1, -0x1.07c7715c77875p+2 +0x1.5fcab628f6d08p+2, 0x1.53177ec56f529p+2 +0x1.c4c27a35eacd8p+1, -0x1.1f6a6fa7a9379p-3 +-0x1.15ab839777b35p+0, -0x1.a7fa8a0566d11p+2 +-0x1.a2486f9d04c1cp+1, -0x1.979695629d908p+1 +-0x1.174c26737aa8ap+0, 0x1.4602fdcb6b077p+1 +0x1.79feb8b9d641bp+0, -0x1.67264955e86b8p+0 +-0x1.51208412584ccp+1, -0x1.0a1d67abb4402p+2 +0x1.094e87fb41ecp+1, -0x1.24a98fbb1bfabp+2 +0x1.26cba1bdbfe76p+1, -0x1.a04bcafe430c5p+2 +-0x1.8487cd35a1f8cp+2, -0x1.2126c8d2a6675p+0 +-0x1.3997cb95d1bcfp-1, 0x1.ccc4acebe0a7ap+1 +0x1.e33ed32f92916p+0, -0x1.1dc678b42154ap+2 +0x1.4493a0296a9e7p+3, 0x1.d64dcce95373p+1 +0x1.5232fdea0dd9bp+1, 0x1.1d1c1a909d241p+2 +-0x1.29394f484b0f2p+0, 0x1.f64b2aa7fe61ap+1 +0x1.62dbbb9b77e87p+0, -0x1.7160542c7191fp+1 +-0x1.cf8a9a6396cc8p+1, 0x1.6ec82426e37fp+0 +0x1.324356952d047p+2, -0x1.fd621b98b690bp+1 +0x1.5894dcf4c08f3p+0, -0x1.eb60ebb80c108p+0 +0x1.23326d66f7f8cp-6, 0x1.bd22328671a82p-2 +0x1.d06adc7aae0e9p-1, 0x1.0ba315901597fp+0 +0x1.dc55310d1838ap+1, 0x1.e836ac2ca0f3fp+0 +0x1.32f21bfa024afp+2, 0x1.2966ac7630155p+9 +-0x1.44f16e03b512bp+1, -0x1.465cf59a179a6p+1 +0x1.bb8fb92d4544p+1, 0x1.02cd028d35b17p+1 +0x1.8a084078c55e3p+2, 0x1.4873257a8bb46p+0 +-0x1.69157aec2bd24p+2, 0x1.150b3a66a34fp+1 +-0x1.7b07c7c7b9f54p+1, -0x1.1ca6fc357054p+1 +0x1.a597618a5e53cp+2, 0x1.dc7a081e8cd3fp+1 +0x1.2b3249eeb2f27p-1, -0x1.9293aabb8da4ap+1 +-0x1.8f22756c4c081p+2, -0x1.06ee0f80bcdbdp+1 +0x1.ac1dd1482e58bp-3, 0x1.b6a821b9a5989p+2 +-0x1.a512a30b1bbap+2, 0x1.602c74d8b8f7fp+0 +0x1.6322db2ec5dedp+1, 0x1.0b4194a159215p+2 +0x1.3092b1d498ab3p-4, -0x1.3c45d64d63805p+1 +0x1.157b563e90806p+18, -0x1.54a7fcf1f0aa9p+1 +-0x1.63d16aaabd3dap+0, -0x1.3edf517382e16p+0 +-0x1.ed448eda10b1cp-3, -0x1.477226ab242bcp-5 +0x1.0815ee7d9efacp+3, -0x1.cce048332c926p+0 +0x1.5733cb5da3402p+8, 0x1.cced3c0b789eep+1 +-0x1.c9bc18e16d12ep-1, 0x1.0c962aab4caf9p+6 +-0x1.e0ede5a671448p+2, 0x1.8675e2fcd6775p-1 +0x1.c3ef354aecfeep+1, -0x1.a62505a5840edp+1 +-0x1.31075bb82a009p+19, -0x1.a07e2948bb6aap+0 +-0x1.040888308dbbfp+18, 0x1.e6f3daaff62ccp+1 +-0x1.2b9149fd705c5p+2, 0x1.b9ff9f0287f6bp+2 +0x1.cd7147172d9b9p+2, 0x1.d69c15f5dd554p-3 +-0x1.4d36fe4b34fa7p+2, -0x1.177fa3423f404p-2 +-0x1.4981191fabbcfp-2, -0x1.3f9f479079ddp+2 +-0x1.1ff1412be0edcp+1, 0x1.803862ae4aa45p+1 +-0x1.1c26b801e3e65p+1, -0x1.1390c2931fd63p+2 +-0x1.20ee20ec03247p+1, 0x1.434b4b0aab112p+9 +-0x1.2aef3f9dfc8fdp+15, 0x1.34bcd747ad5ddp+1 +0x1.90bcd8603bdc8p+0, 0x1.4a639316bdff3p+2 +-0x1.69839ac1b9c46p+1, -0x1.0d6dcfb5053b9p+2 +0x1.3092a379ee111p+2, -0x1.b08a68f64464bp+1 +0x1.700c8ec097691p+1, 0x1.a296e882cbaecp-2 +-0x1.6159a6b96f8efp+1, 0x1.ba4bfd8c9e645p+0 +0x1.ea298800fa691p+0, -0x1.1f0450818befp+2 +0x1.5113a77cd1a2cp+1, -0x1.460e14d56b3a3p+2 +-0x1.898610bc92a17p+1, -0x1.002bf18ffee8dp+0 +-0x1.a1e6aa2585aabp+1, 0x1.6ad99c424f1f5p+2 +-0x1.4dc6aba5e1b1cp+0, -0x1.2392ccd71bfe9p+2 +-0x1.5902ac620afc4p+0, -0x1.4a87577572a12p+13 +-0x1.5dcf9a9fc843ep+1, 0x1.63becb0779dddp+0 +-0x1.8071254a1b58ep+0, 0x1.7f2060bc0e271p-1 +-0x1.a74636daa1e33p+1, -0x1.2298b60ee6524p+1 +0x1.704f5d49c93ebp+2, -0x1.00350e17dcbdp+0 +-0x1.091ba8a1479e5p+3, -0x1.4ef77f32697e8p-3 +0x1.33eadec5cce33p+2, 0x1.2d7e3bc3c17f3p+2 +0x1.d2b5f37cf846dp+1, 0x1.afe4af005d9e6p-2 +-0x1.da83fea188201p+1, 0x1.058300242552p+2 +0x1.5f38ed78b7fecp+2, 0x1.e34dcf4d259f7p+1 +0x1.c7d88b50c8394p-4, -0x1.704de1927831ap+2 +0x1.0c43c7261a03dp+3, -0x1.21d1092202818p+1 +-0x1.e9280455cac71p+1, 0x1.8f3b8764a0c06p+2 +-0x1.9a6c6ba681b6p+2, 0x1.5f2cd60f04d7ep+1 +0x1.d47ddd43dcdadp+1, -0x1.36fea9445829bp-1 +-0x1.1f916c51fcb4dp+2, 0x1.3f4c67bd5c38cp+0 +0x1.a29361943993fp+1, -0x1.102535bbd70d4p+3 +0x1.ff8d8d54e6896p+0, -0x1.08bf50a22afcdp+2 +-0x1.8d9fec914b18ep+2, -0x1.1943a45f0473cp+0 +-0x1.ee75df869e02ap+1, -0x1.46213dbbded9ap+0 +0x1.23daa81fbaa07p+1, -0x1.719940534df8cp+1 +0x1.a666c5f75412ep+1, -0x1.20af6b0640b75p+9 +0x1.82d24f06cff4cp-2, -0x1.1462f48605b06p+0 +-0x1.e5170d5e613f2p-1, -0x1.2bf531ce77d57p-1 +-0x1.397b60457d8p+2, 0x1.a180745d94dcdp-1 +0x1.86cdd78aff732p-4, 0x1.98578f16fec85p+1 +-0x1.46279ef36d9f3p+1, -0x1.d3c21fc9b3f18p+1 +0x1.818c082cd1b41p-3, -0x1.6f6429f1c6b4ep+1 +-0x1.8ef1e1a52f377p+1, -0x1.13ae93a3afe84p+8 +-0x1.b0d6fc89c108ep+1, 0x1.4ba2c6c8003d2p+1 +0x1.24ac940550f34p+0, -0x1.14220ef315d78p+2 +-0x1.f9b640dbb1ac1p+1, 0x1.0b9decc6a6036p+2 +-0x1.69ba3ac2e50dep+0, 0x1.f87dcdfc25c74p+1 +0x1.9fb77c4e7b3cap-4, 0x1.fe74ad22a51b2p+0 +0x1.22622f15cef6bp-1, -0x1.9a8f44599fdbep+1 +-0x1.156ffc5bf7874p+3, 0x1.3f9ff9ebeebc2p-1 +-0x1.5a940871880bap+2, 0x1.5f0048f03e1c3p-1 +-0x1.1e88f27328a68p+1, 0x1.f5c14c819df8p+2 +0x1.e9fb52ee5b758p+1, -0x1.8be0d1156dddep+1 +0x1.d0c0e1ecd9837p+1, -0x1.b3008a66b9686p+2 +-0x1.6bddbd537e151p-2, -0x1.16582cdf6721bp-1 +0x1.3ea1d228b59d9p-3, 0x1.529927a895566p+2 +-0x1.ab38b0bea5ebcp+1, -0x1.e64f1fc477fc8p-3 +0x1.2e9500f35ba9cp+0, -0x1.5803a66d656b9p+1 +0x1.4a289bd2e90afp+2, 0x1.8075d7a4815b2p+2 +0x1.be90a619199bdp+1, 0x1.6a391404f2d8ap+1 +0x1.970e30583c269p+1, 0x1.31a06321c4ebap+1 +0x1.6264c60697c37p+0, -0x1.c2e097a855aa2p+0 +0x1.6ab4af0c1a806p+2, -0x1.2a3e4232398ap-4 +0x1.9d28df4968ef9p+1, -0x1.5750fccf5607cp-2 +0x1.1285511c5e18bp+2, -0x1.4973b8c3a2b41p+2 +-0x1.ac62439229da4p-2, 0x1.ff3a4f4b91f4p-1 +0x1.0a08aca5d05a8p+3, 0x1.c56147ec76fd7p+1 +0x1.d1deaf7f39753p+0, 0x1.7fa2682431d1ep+1 +0x1.2bdaab551b3bbp-2, 0x1.8b3cf8d514bd9p+0 +0x1.2585f715c410ep+2, -0x1.45b9c16beef45p+1 +0x1.513d808ddd1bp+1, -0x1.968f86d6d4687p+1 +0x1.6889ac3f1c6fep+0, 0x1.52cdc361ca028p+2 +-0x1.26339e4db484ap+1, -0x1.467db6c5a75efp+1 +-0x1.2e428e9457e03p+6, 0x1.6669a688b4b46p+2 +-0x1.aa44a11920d92p-2, 0x1.805ded39da4e1p+1 +-0x1.b2b0a0841a446p+1, -0x1.56633de61d66p-1 +0x1.859edff086aafp+0, -0x1.cdc4444282cacp-1 +0x1.a5aecd17629bap+0, -0x1.2634e30411c5dp-2 +0x1.a5431294ee995p-1, -0x1.108c786d98278p-3 +0x1.0fae15fe3b85ap-4, 0x1.28a7eb11b2b59p+3 +0x1.05e13eb5225e5p-2, 0x1.a47230b4296bcp+2 +0x1.40cad26efb314p+0, 0x1.a7be67f61c39p+0 +0x1.2336e8bc5d1dbp+2, 0x1.7b11f251361bep+2 +0x1.76c6336021d0cp+1, -0x1.26a6f21a8ae77p+2 +-0x1.1772fbc5a88cbp+2, -0x1.4e02289c60617p+2 +0x1.38031bc1e1115p-2, 0x1.3ea81632ec4p+7 +-0x1.28a422db7ebc6p+0, 0x1.e08562ffabe1fp-2 +0x1.43a9910d4b5b9p-3, -0x1.0f44a78b6ed78p+2 +0x1.033198c68496ap+3, 0x1.0dbffc9c19e92p+2 +-0x1.455a18dd9435fp+0, -0x1.cc21872c2387bp+0 +0x1.4844b2846cf14p-1, 0x1.0c7170e94e856p-2 +0x1.6068a6055f301p+1, -0x1.b7d4eacd1d327p+0 +0x1.e34a153cc1f83p+1, 0x1.ffe84f0d1defap+1 +0x1.743d8e45dceb6p+2, 0x1.44654c4fd0222p+1 +0x1.8ac6530a31616p+1, -0x1.b8616b356b10dp+1 +-0x1.0766996d70838p+1, -0x1.266b2da49981p+0 +0x1.0f51f278551d5p+16, -0x1.03fe2c36df14dp+3 +0x1.481cea1a4f873p+1, 0x1.ad920983457bap+1 +0x1.ef748b986e05p+2, 0x1.6d59df7f42bdcp+0 +-0x1.710c63d6b9566p+1, 0x1.b6e8fc695c2eep-1 +-0x1.41dde7fcc1423p-1, 0x1.531f87c359e8fp-4 +0x1.ac28b437c5961p+2, 0x1.28b0ea2c47305p+2 +-0x1.8141bca5f5cf8p+0, -0x1.b8ac1f7a55e23p+0 +0x1.c7819232bbcfcp+0, -0x1.4c071fa22971bp-3 +0x1.b8410b37a2083p+0, -0x1.4678af36f8483p+1 +-0x1.065be2d142caap+2, 0x1.4fcd4efd522bdp+12 +-0x1.9c8074544fa99p+1, 0x1.10f5e3a45889ap+2 +0x1.4d1199cf1468bp+0, -0x1.e3d91a0709261p-1 +-0x1.87bc4f122e5d1p+0, -0x1.e1f11bd10e042p+2 +0x1.ea812a9d09d62p-1, -0x1.5f64f7b7bc158p-1 +0x1.4e9757b30fbbep+0, 0x1.929b3e0d081dp+0 +-0x1.5c08a77b9ea91p+2, 0x1.3663fdc444d2fp+3 +0x1.4ae9adb964097p+0, -0x1.f97ee7acce96dp+1 +0x1.e66ba54e08bep+0, 0x1.4615aaac5b8f3p+0 +0x1.a2d69d92acd34p+0, 0x1.0ea595da7dp+2 +-0x1.cc6b7cfa44742p-3, -0x1.059bc195cc44ep+2 +0x1.a15e7fc6ce859p+1, 0x1.08b46da35cf5ap+1 +0x1.1031ff3ef6ab9p+2, -0x1.0c9f2bf5dc4b8p+3 +-0x1.eb9e69cbcfe6cp+1, -0x1.d25cca5c34eacp+1 +0x1.b401e5e23a5c4p+1, -0x1.53ba83df5ef48p+1 +-0x1.7edc6f450a508p-1, -0x1.aeffb8a68a934p-4 +-0x1.8fd8c57d9e948p+2, -0x1.75ae860c72c28p+0 +-0x1.f3c2dc789b7bfp-1, 0x1.ba72bb3918f1bp+1 +-0x1.3d3d1504dae28p+1, 0x1.d7a9237c61c1cp-1 +-0x1.9c858a48ef244p-1, 0x1.52930d5d3cedp+2 +0x1.b3d0ee9ceee76p+2, -0x1.8b5fa93149533p+3 +0x1.1da241e653c49p-1, -0x1.02529ff13a51fp+2 +0x1.82888e50051f3p+1, 0x1.f5a54657dbae6p+1 +0x1.3741cb6c37762p+2, -0x1.e3444b2f14118p-1 +0x1.7c993278e54edp+2, -0x1.95faab0574814p+2 +-0x1.dc4979a56d7cap+0, -0x1.245cd2b9e151fp+0 +-0x1.27bcd20993a04p+2, 0x1.ab3c8ec8a19dp+0 +-0x1.1533a6a73ebdcp+2, -0x1.0c119d81a55e7p+0 +0x1.f526e82b088b1p+1, -0x1.61002deba52efp+2 +0x1.45433dbf23b8fp+3, 0x1.f6b9b1a86f068p+0 +0x1.63e2498437d85p+2, 0x1.3582b335bf6fap+1 +0x1.29e213b0a7ddep+2, -0x1.339e5f92ee31ep+0 +0x1.5dc1ed14f2f5p+2, -0x1.53b49ad5ef969p+2 +0x1.e4cf4bc3b0503p-1, 0x1.fe548333d3045p+0 +0x1.89799ae40cc6dp+1, -0x1.4690b11bf7625p+1 +-0x1.f9244798d8b1p-2, 0x1.726c36cc282c7p+2 +-0x1.545c543e97dc8p+7, 0x1.368f3f6a0c80fp+2 +-0x1.0725c3491cdb4p+0, -0x1.3ba82ef2e5bb5p+1 +0x1.2aaafe909600bp-2, -0x1.06d9f785201bfp+3 +0x1.4f364d5e3cbc8p+2, 0x1.5afb3baebf72bp+1 +0x1.fab86795bc3d7p+7, -0x1.9e16c8b027396p+15 +0x1.82e83395f3583p+0, 0x1.1a32a7ae0ff81p+2 +-0x1.0bccefff9e6ecp+2, 0x1.207e9362e648dp+0 +0x1.85767c8eb24bp+0, 0x1.104cd5804034cp+2 +-0x1.66e4259286cadp+2, 0x1.891ec5467d7d7p+1 +0x1.c0680f452c593p+8, 0x1.bd029b3630e7fp+0 +-0x1.030a48d18cafap+1, 0x1.43901b23ac23fp+0 +-0x1.c1459800cae85p+1, 0x1.1a311d87f59aep+0 +0x1.8b421ff5855cp+1, 0x1.089f6e9989f39p+1 +0x1.3c7eb01c25f9cp+6, 0x1.5d33c02dd5239p+1 +-0x1.2f1fbcf201734p+8, 0x1.b25264b1331f5p-3 +0x1.d79793882b051p+0, -0x1.cd6c823a157e4p-1 +0x1.ad02269468b9ap-3, 0x1.0557b6847adddp+1 +-0x1.d6230f079614ap+2, 0x1.6230f3bb96a79p+1 +0x1.12899b71cf1b8p+1, 0x1.68bc0f3d2845ap+1 +-0x1.e65261452a916p-1, -0x1.cf1d4dd09264dp-2 +0x1.16c7545cf990ap+2, -0x1.2f0544662827p+11 +0x1.b092a42d783c5p+2, 0x1.bb6381b73e70ep+0 +0x1.c289ba54ee6f1p+0, 0x1.6b71ccc3bf8f8p-4 +-0x1.7d9eb730975ap+2, 0x1.e64041675bdcbp+1 +-0x1.9a57272be434bp-3, 0x1.4da1a4792e651p+1 +-0x1.27ca974c48533p+1, 0x1.0054a598b3d6fp+2 +0x1.1de97acd9514bp+0, -0x1.e960dd2e44d59p-1 +-0x1.ebc7764b45eap+1, -0x1.d639d0c5f19a9p-3 +-0x1.fd7bcdb55b82ep+1, 0x1.7210df892fbf6p+1 +0x1.023a5f0054e7dp-1, -0x1.2967efd3c36e4p+1 +0x1.2ac8498335dcp+2, -0x1.880fe1a74de71p+0 +-0x1.08965b25f19fcp+1, -0x1.e9f1cdf572eefp-4 +0x1.3d0fc7dddd712p+1, 0x1.24f89a94395fcp-1 +-0x1.3341d4dd61a72p+2, -0x1.f8390794d5d45p+9 +0x1.552f687dd1efcp+2, 0x1.98bfb3749ebb3p-7 +-0x1.242cf360d7d43p+10, 0x1.15e677ac3028dp+2 +0x1.3ce171ee44e69p+2, -0x1.43999a14bd312p-1 +-0x1.3a3117b3f9d72p-2, -0x1.5f76670478865p+1 +0x1.6e7a2bbb23417p+0, -0x1.f5124b235fde1p+2 +0x1.8f852dee68478p+2, 0x1.e65e4c6ec350ap+1 +0x1.56ddfff8f0347p+1, -0x1.552cfd84e4764p+3 +0x1.dd5daab9ca31fp+0, -0x1.6054b55fe2c2fp+2 +0x1.223ed4e707b6ep+4, 0x1.6c16f89fe933cp+2 +0x1.38ac8652eab05p+0, -0x1.de4b1a45aeb15p+9 +0x1.b1e9cfd31c9adp+0, -0x1.66b292203ff99p+1 +0x1.6750c1860a01dp-4, 0x1.37e44ad8c7c9p-4 +0x1.852c14993448bp+16, 0x1.32c1344f5225p+2 +0x1.8cc558e06ffafp+1, 0x1.0e66c6b050cbcp+0 +0x1.ad035fdf05346p+1, -0x1.41c2a0865c45dp+1 +-0x1.5718d2df63f92p+9, -0x1.408937b14e0afp-1 +0x1.1336af4edcc75p-1, 0x1.905eed2d84668p+2 +0x1.72dd99f546af3p+2, -0x1.3c10f062e05afp+2 +0x1.61125fe89ce68p+2, -0x1.c8e289df44e4cp+0 +0x1.287d0a881b988p-1, 0x1.185006ae0fc85p+0 +-0x1.6940e6fc8d008p+1, 0x1.afd778af08a78p+1 +0x1.ec891913b56c7p+1, -0x1.eff7bd7dd604cp+0 +-0x1.b736ff37d039bp-2, 0x1.047833e94a99bp+2 +-0x1.0ff50ca826b61p+0, -0x1.478b420cac7a2p+1 +0x1.8b07c4b580abp+0, -0x1.018a6d0257e01p+2 +-0x1.40f8e94ab1c3p+1, -0x1.3f0e47d033699p+2 +0x1.01d5ad996af0ap+3, -0x1.1c5c953200f3cp+2 +-0x1.b61341400ddd7p+2, 0x1.965872e18d82bp+1 +0x1.b0f666ce65fe9p-2, -0x1.384befc648d03p+1 +-0x1.25acd1da0c969p+2, 0x1.1bdb71d8ba20bp+3 +0x1.ebd39e4d05a2cp+15, 0x1.7bd00bb57850bp+2 +0x1.20bbff56cad1ep+2, -0x1.b1f7234e2fd49p+2 +0x1.7cf45d2bc4229p-1, 0x1.db9086f35bc0ep+1 +0x1.4cfef61261d1p+2, -0x1.3d4b81c43249p+0 +0x1.7e834f498c2e8p+1, 0x1.e84b27193cf92p-2 +-0x1.5e64f2d69661ap+1, -0x1.b7fa8ecbfc28fp+2 +0x1.5e6eb951f5737p+2, -0x1.8f1c5e64f3b85p-1 +0x1.a84d3f617694cp-5, -0x1.981c9d06e8a77p+1 +0x1.69a0e3ea79ee9p+12, 0x1.0c8287f906c04p+2 +0x1.afaa97e8e30a2p+8, 0x1.54af81ca80567p+0 +0x1.910bf9eee575ep+2, 0x1.2c49b338fcec8p+1 +-0x1.24cc1868d9113p+2, 0x1.2dde097978c32p+2 +0x1.d64256253c429p+1, -0x1.41c5e6852225ep+0 +0x1.4de53686e59d9p+0, -0x1.ffef84f7bf70cp+2 +0x1.2246761c9311bp+11, 0x1.ed862daa53b4fp+0 +-0x1.0ccbedfb18c5ep+1, 0x1.81ed489528fe3p+2 +-0x1.df208868b46c3p+1, 0x1.4c016f352a929p+2 +0x1.8f07f1709b8ebp+1, 0x1.be90dd88da5c7p+0 +0x1.430bdc58d4395p+1, 0x1.03fa8d0916657p+2 +0x1.0a87887490fdfp+0, 0x1.4c308e95d6932p+1 +-0x1.237a1465e2fecp+1, -0x1.5609d2d649e29p+1 +-0x1.8a78991f6c271p+1, -0x1.753ac72a84492p+0 +-0x1.f4f8e505781b2p+0, 0x1.b89f851172227p-1 +0x1.4047d456fd3abp+3, -0x1.e811134657894p+0 +-0x1.8ba63abbba1b7p-2, 0x1.85746418dfabap-1 +-0x1.1acfb9372f0c7p+2, -0x1.14a5937145a31p+12 +0x1.656649eb2a79bp+2, -0x1.d4d4917fbba5dp-4 +-0x1.4203a58dbc026p-3, 0x1.725bcc065eac1p+15 +-0x1.8dd22b1db6ddp-1, -0x1.a45494cf561e2p-1 +0x1.bfac5e7cdf4b6p+0, -0x1.d3f279dd09fadp-1 +0x1.0986766fe8f73p+0, 0x1.eb341d6f8e1cdp+4 +-0x1.0a2f46bb10543p+1, -0x1.243a269a797cp+1 +-0x1.a44f76be36082p+0, -0x1.f605828f46e17p+8 +-0x1.87453f249cc98p+1, -0x1.17ace167ac476p+2 +0x1.171524223c594p+1, 0x1.6116d97f1c5fbp+1 +-0x1.29d7493a716d8p+2, 0x1.d3c7057bb24a5p-1 +0x1.622c6919887e1p+1, 0x1.7be3c4fa20bb3p+1 +0x1.e5ad934eff736p+0, -0x1.37d74f774a876p-1 +-0x1.6949de79c4d79p+7, -0x1.a9ee4c1f895dcp+0 +-0x1.63e536fa2cbc1p-11, 0x1.0a09c809a3534p+2 +-0x1.037453eddaf38p+3, -0x1.6966d35eebfcap+5 +0x1.bf6f8ff026444p-1, 0x1.682e5010f3c92p+1 +0x1.559f160b01455p+3, 0x1.33ba7f7b87363p+1 +0x1.c55f63b713fdbp+0, 0x1.58b4b1e689478p+0 +-0x1.f48349d1a9161p+2, 0x1.23e40bb8ed366p+3 +0x1.12a857e10853cp+2, 0x1.dbce5c6a0e838p-1 +-0x1.ecdbda8623753p-2, 0x1.ed7bb46e0d9bap+2 +0x1.d14cde3197b9cp+1, -0x1.274afd8fe54cp-1 +-0x1.3cbb4a338d35ep+1, -0x1.5d35808466d42p-1 +-0x1.6b52bbdddbf47p+0, 0x1.096e8eba4d3aep+8 +0x1.6b568c8c32323p+2, -0x1.a2b26a181c63p+0 +0x1.c8344de72934ep+0, 0x1.e4c4f4dc7d40fp-3 +-0x1.8c5093c5056b7p+1, 0x1.50a5345edd2a3p+2 +-0x1.fcb4ae855f34ep+0, 0x1.38c197ae2bbep+1 +0x1.0395e3c533332p+3, -0x1.9f7e421b5c53p+2 +-0x1.dcfcdd42132fcp+0, -0x1.ac75852a9dd34p+2 +-0x1.3f5eb04688442p+1, -0x1.3262ab4e2bff2p+2 +0x1.93ddfcc694d5dp+2, 0x1.ebc6a412e48fp+4 +0x1.c83d821cda9f4p+2, -0x1.43b9997c558dbp-3 +0x1.004964e7a608p+2, 0x1.a00b94dd2b194p+2 +-0x1.40e7611bdad9dp+0, -0x1.3136557ffe462p+0 +-0x1.63647aa85346ap+2, 0x1.a84367fc696aap+2 +-0x1.5dd3d71bc6c47p-3, -0x1.1a7dc755b3939p+2 +-0x1.79baf77435908p+0, -0x1.e15a5d45308a3p+2 +0x1.489c4d123d2c9p+1, 0x1.005ca879de7cap+2 +0x1.bb697a99d62edp+0, -0x1.c255e729a1977p+12 +-0x1.bb911cd75122ap-2, -0x1.2164cb47fb01dp+2 +0x1.a8cc3a63bebcep+2, -0x1.bf4014ba3446fp+2 +-0x1.2c2aa4d01fd3bp+0, 0x1.3fbea4cf7306cp+6 +0x1.0823d7b5ccde7p+2, -0x1.2f60561f9896dp+2 +-0x1.292841f7f2afap+1, -0x1.6dde489af4388p+0 +0x1.28970c62164b2p-1, 0x1.fb900b8f6cfc6p-5 +-0x1.2bacefc5a5ca9p+8, 0x1.24b985ef16ef6p+0 +-0x1.3f861385a640fp+6, 0x1.05eb4745ec079p+0 +-0x1.3ad030fdbec63p+1, 0x1.26eb18fb3a542p+1 +-0x1.0593534a5b688p+0, -0x1.a8cad41b9ada2p-1 +0x1.352a0f6c95509p+2, 0x1.723be1247cc6fp-4 +-0x1.51fa1b761bb0cp+1, 0x1.115824671244cp+3 +-0x1.c8629befca9aap+14, -0x1.6f927920199e4p+1 +0x1.d8e1d9c4591abp+1, -0x1.1976859cb6d8fp+17 +0x1.18d22ae8d51a1p-4, -0x1.029791a9ef669p+0 +0x1.7389e838c014bp-1, -0x1.cd724cce771afp+2 +-0x1.841e3fb86498dp+0, -0x1.64ef98167422fp+2 +-0x1.c4018ae59c447p+2, 0x1.e86144a805c45p-2 +0x1.2d7dbf926fe19p-4, 0x1.04f0eab067d01p+3 +0x1.7f8cd7238ef86p+2, 0x1.33eb8681d8dedp+2 +-0x1.1961354ab5cfap+0, 0x1.15fd30ceb8544p+2 +0x1.ee3f8d42e15ecp+6, -0x1.0da84f0585ddep+2 +0x1.73a0065484134p+0, -0x1.e196be086f3d9p+0 +-0x1.c3010c7c2dbf2p+0, -0x1.653532b622622p+2 +0x1.0b4fc6262acc7p-9, 0x1.2b4c06a9e6374p+2 +-0x1.28b92f3dd8411p+1, 0x1.e0c6f2cd4b8ddp+0 +-0x1.aedb4706450a4p+0, 0x1.3ae3bfeba8f63p+2 +0x1.2e87e9d6e872p+13, -0x1.eeb1cc05a7852p+1 +-0x1.e9f516e404a21p+2, -0x1.6ba389898748ap-2 +-0x1.b38d6a2309fd1p+2, 0x1.3aafce1a7ae25p+2 +-0x1.6834e337f33cep-3, -0x1.53dc332048d5p+2 +-0x1.dc4d13595ba03p+1, 0x1.39601b4256cdfp+1 +-0x1.12d987b385f19p+0, -0x1.f3345a1bbed74p-8 +-0x1.90fae779de86dp-5, 0x1.3f525d867f3ecp+1 +-0x1.9fe41c1d242a2p-2, -0x1.6bd0cde20765p+1 +-0x1.2b36bb4385c3dp+3, -0x1.7eca133a6431p+2 +0x1.0efa68c2e16bfp+0, 0x1.a9ae4cda6d1e2p+2 +0x1.7fe55905b6b35p+0, 0x1.d3da701c2db7bp+1 +-0x1.04a3b70e464ebp+2, 0x1.5fae16034808cp+0 +0x1.a34a27be28d08p-1, 0x1.09b94340b04c5p+0 +0x1.af68387fe2ff1p+0, 0x1.46fa23eb3505dp+2 +0x1.5c38a978592d9p+3, 0x1.5422bc486340ap-2 +0x1.1c178927ae205p+2, -0x1.bde277c2f2a75p+2 +0x1.0f243495292cdp+2, 0x1.e560b155354e1p+2 +0x1.a07b42bb343d7p+2, -0x1.3341a536dbbebp+0 +0x1.af55180ac569p+0, 0x1.7f755002a0a8fp+1 +0x1.6b0f5b5cbe9a9p+1, -0x1.014ee9d744c4cp+2 +0x1.523cd954e6c07p+1, 0x1.7fbf63065ff37p+0 +-0x1.4626b3d577162p+2, -0x1.538ab87965fd7p+2 +0x1.ba82126e10d81p+0, -0x1.377071887d39fp+11 +-0x1.1b1f1b174a1c3p+2, 0x1.fc9a8e41afde3p+1 +0x1.5995ba63b6dacp+1, 0x1.ae1bb526815aap-1 +-0x1.1f4afb178555ap+1, 0x1.eb7b1e1de398bp-6 +-0x1.f869a9215833cp+1, 0x1.5930af19a67ap-5 +-0x1.57a75654cc22fp+1, -0x1.bd3a55c271e5ap+0 +-0x1.40bf1870c2bccp+12, -0x1.6884060996c1ep+2 +0x1.0452148c245b4p+10, 0x1.0696c679ed6f4p+10 +0x1.7f85e94dc4d93p+1, 0x1.803de6bb5d75fp-1 +0x1.3bfd36a452401p+2, 0x1.952a98d07b3eep-1 +-0x1.858c6cdcd5c86p+0, -0x1.b4c9294c69bfcp+0 +0x1.967de153188d6p-1, 0x1.e8fbd6215d6bp+1 +-0x1.fa407630a8544p+1, -0x1.1d7aa0c530058p+0 +-0x1.5cf3ce27bbcb7p+0, -0x1.b958f488a8a4bp+2 +-0x1.3a72a92d4ff66p+1, -0x1.4efdbb292ebfcp+2 +0x1.517636db461eep-8, 0x1.62e1730b161cep+2 +-0x1.5b430e56eb126p+13, 0x1.28c639d193079p+6 +0x1.4a60f0cc3e09p+2, -0x1.6c0ae3142ea7p-2 +-0x1.ebe27e1913294p+1, 0x1.111144edd5a22p+0 +-0x1.072213b66c4fep+1, 0x1.bfdacb170a7aap-1 +0x1.214c1811a104bp+2, 0x1.9625577a250acp+2 +0x1.2e1b12096087cp+0, 0x1.dcdd925cf7874p-2 +-0x1.b537c009a935bp+1, 0x1.02b1cc5cdd0efp+2 +0x1.933d475a72a4bp+2, 0x1.3498a7e3b954ap+1 +-0x1.0c970bd9dbe34p+1, -0x1.b401ee58682acp+1 +0x1.bc133f4af840cp+2, 0x1.cfcdca8c30e95p+2 +0x1.1c9c09b65445dp+2, 0x1.5574ea4b92794p+0 +-0x1.015ba152c581cp+3, -0x1.537f6b9e257b8p+7 +-0x1.0523e25749c75p+2, 0x1.4247c5792b7e6p+2 +0x1.26a227c3fa44dp+0, -0x1.97bb6d0a85ef5p+2 +-0x1.2980448195ae3p-1, 0x1.223a704fbd828p+1 +-0x1.60affd0e28e1dp+2, 0x1.b7046c6685076p+2 +-0x1.2ba911c7f541ap+3, -0x1.03cdb9cb37dcfp+6 +0x1.4a6ad0680837ap+2, -0x1.33b63fe7661bbp+0 +-0x1.80684df7c1c39p+1, -0x1.90f8044b04689p+1 +0x1.a5d1aacf684bcp+12, 0x1.6ca545e0cb7ap+1 +-0x1.13bf1536ab4d8p+3, -0x1.3eae6bffdef18p+2 +-0x1.eec079c1cdc1dp+1, 0x1.4789834b0e291p+9 +0x1.b0109eb173d1p+0, 0x1.bd48574eac98ap+0 +-0x1.8ca89f7dde551p+0, 0x1.c04222be37afp+15 +0x1.6fdab5d0a04bap-3, -0x1.84acbd4b641acp+2 +-0x1.4649dcf9c1a4fp+2, -0x1.f6687e1c234dcp-1 +0x1.2ec61f0ee1b55p-2, 0x1.9b97629633a86p-1 +-0x1.6721f1e5350abp+0, -0x1.01b2c8e038d25p+2 +-0x1.3739d19492ddep+0, -0x1.48e6c40071769p+1 +0x1.3b3f896c1a7ddp+0, 0x1.fc48e1f249acdp+1 +-0x1.101230ffe15e9p+1, 0x1.6676fe8a63564p+17 +-0x1.db5c3491716a6p+0, 0x1.2d3ec36eab0c4p+0 +-0x1.14a23402e6f9fp+2, 0x1.bda297ca432a1p+1 +0x1.191d2c99078cdp+3, -0x1.84d1bdf1c446p+1 +-0x1.605ae6a45eb73p+2, 0x1.b6d15a8c149adp+0 +0x1.9fc318f82aeeap+0, 0x1.45e96e6e5ef88p+0 +-0x1.67f2cefc6521cp+2, 0x1.a81a38b483bbfp+16 +-0x1.cb439f60df01fp+9, -0x1.3c375511a40d5p+3 +-0x1.8f3dc163eac96p+2, 0x1.293eee0ef5e0ep-2 +0x1.57a563b7d94b9p+2, -0x1.51547edb84c6fp+12 +0x1.a9092e3c71685p+0, -0x1.fd99763a874a7p+1 +0x1.48bd5cd886e97p+0, 0x1.68aac910d491ep+15 +0x1.e1ee5885e5f48p-1, 0x1.955262a25b399p-2 +0x1.a95ecefb809ffp+4, -0x1.7be9ca167e937p-5 +-0x1.14975f04feae5p+2, -0x1.5c5aadd747933p+2 +-0x1.ca774913ab6c2p+1, 0x1.2d38642033a8bp+1 +0x1.4936c9985c226p+3, 0x1.025b0292e419p+2 +-0x1.3073a93909526p+3, -0x1.b53eaa37fae6bp+1 +0x1.2654b1529ba07p+1, -0x1.33c14fb24f84cp+1 +-0x1.34e3b6928e041p+3, 0x1.3ccf15fa46072p+1 +-0x1.1f46d748cc72bp+1, 0x1.e1cebdbc32646p+1 +-0x1.36e7f2e27b455p+3, 0x1.056620462eb0fp-1 +-0x1.0432cff353f7cp-1, -0x1.0a42d6a1a2471p+2 +0x1.68d1cd8b2d69p-4, 0x1.995dc0dbaf1ffp-1 +0x1.228635233b29cp+2, 0x1.1cbb76cd8dde7p-1 +0x1.46b7ef0f2fc19p+2, -0x1.8d8257d9881d4p-4 +0x1.054241e966127p+0, -0x1.66a083604ba56p+2 +0x1.7f5c638772cf3p+0, -0x1.640af4995743fp+1 +0x1.6ae229640f594p+14, 0x1.624fb7b0f39cep+12 +0x1.0991542bfa3a2p+2, 0x1.8c331ae5b9f3p+2 +0x1.915a36d40b4abp+2, 0x1.97c9b1629a927p+1 +0x1.f19f84960cc2cp+1, 0x1.61a25ae1f83bp-1 +0x1.732d0c364adf9p+1, -0x1.f1b20e7238c1ap+2 +0x1.0ce8952d4b768p+3, -0x1.0deb6d69afbf5p-5 +-0x1.c422c62f3cbfdp+0, 0x1.4a6b1b66fed49p+1 +-0x1.1f62b1817df48p+1, 0x1.98cd85e977661p+1 +-0x1.c9e44dacf682cp+2, -0x1.52a84a3de1848p+3 +0x1.389a41a1d306cp+1, 0x1.535e2ab3038cdp+1 +0x1.22ca6c9178096p-7, -0x1.25cc736ec8bb1p+1 +0x1.49eca06738f11p+0, -0x1.a2164bcd29239p+2 +-0x1.c236f066ed896p+0, 0x1.d47e6f0e4a99ep+1 +0x1.c3f0b6f48da3cp+1, 0x1.9615ba85056bep+1 +-0x1.87122d4847ed3p+0, 0x1.912e0b95c8f54p+2 +0x1.f4f61182efaa2p+0, 0x1.4aa65bd223fbdp+3 +0x1.bb3d0912f511ap-2, -0x1.1fa7a86672e4dp+0 +-0x1.86f3b773e4bb1p+2, -0x1.917f0fc966e05p-2 +-0x1.b3f5dded83b21p+1, 0x1.1aff3849c0945p+2 +-0x1.18a3e6c58b1dap+2, -0x1.41499b53072ap+1 +-0x1.e8d503d71893p-2, -0x1.4039f294bbff7p+0 +-0x1.d6f3ba4fa36cep-1, 0x1.db427f7347d33p-1 +-0x1.e7eef626e86fp-1, 0x1.f9b985965c56ep+1 +-0x1.b962c90b2d32bp+1, -0x1.61d8ec554fee9p+18 +-0x1.9f5fbb7eb9e86p-2, -0x1.7a33df5130a78p+2 +0x1.c027d9b4c7757p+1, 0x1.049f5eab7c70cp+1 +0x1.aca1f1e99ba92p+0, 0x1.777cedc701d89p+1 +-0x1.84783cd4968abp+0, -0x1.04603d3afebdp-2 +0x1.3724553e306bap+1, -0x1.23969a9945c46p+2 +-0x1.544a8abf7b6b6p+0, 0x1.a69f5176dd7bep+9 +0x1.57d6a1129bb33p+1, -0x1.5b23d15ebe937p+1 +0x1.18934159c8933p+1, -0x1.7db792b9dea64p+2 +0x1.6be0c6fdc79d7p+1, 0x1.f17e7da46abeep+2 +-0x1.e7e83537781b5p+8, -0x1.c5aceaffaf6b2p+1 +-0x1.4c2ea2a0395dcp+1, -0x1.81bb78074f1a5p+1 +0x1.ee9397031ad47p+0, 0x1.033364621b2e3p+1 +0x1.92c510a8109eep+2, 0x1.b73833f6e57c2p+1 +0x1.7998c0db78c5bp-5, -0x1.e11b4e4331e06p+16 +-0x1.73628264b0917p+1, -0x1.88f8e0c494df7p+0 +-0x1.1d73e10daced5p-1, 0x1.6924505752be7p+2 +-0x1.3c3a5cf177c8fp+1, -0x1.64939bbaa9d86p+1 +0x1.1117785a509d5p+1, -0x1.07b59b4875863p+1 +0x1.5bb4a7dc0846cp+1, -0x1.ad9117882c0b9p+1 +-0x1.dcb8051be6075p+0, 0x1.c2a2b489c0c5ep+0 +0x1.380670533dc6ap+3, -0x1.d4d949793ba7dp+1 +0x1.7ef8987c197ebp+1, -0x1.b53f45007649p+2 +-0x1.cd7512bf754d3p-1, 0x1.6ad8c7b0dc65bp+2 +-0x1.1863306d6a80dp+1, 0x1.2a81b858d5256p+1 +0x1.7ca90ae95fa33p+1, -0x1.81791cb333e0fp+2 +0x1.3337d5656a04cp+0, -0x1.1a7031e985aa4p-1 +-0x1.8592c64eb88afp+0, -0x1.cc4348872e919p+2 +-0x1.5b69a244bd936p+1, -0x1.c5648faeb1519p+8 +0x1.0c91b6508f023p-1, 0x1.576e256b4f1bdp+2 +0x1.2fa1026a1eb79p-2, 0x1.2b013c22eec7bp-3 +0x1.dfbc00ededbb8p+1, -0x1.31b85d7a7869fp+1 +-0x1.ad954b8f166d3p+0, -0x1.d925dcfbac96cp+1 +0x1.baf544f6d559ep+1, -0x1.c6fea93a93cc9p+2 +-0x1.055ed5b2a529p+0, -0x1.6795c3d9d516p+1 +-0x1.bdca7c862a0dap+2, -0x1.364797840e5cdp+3 +0x1.6dc457a05e911p+2, 0x1.3193ef419391fp-3 +0x1.a2abf9fa56543p+1, -0x1.0e1e185beeed5p-1 +0x1.e3556aa446133p-2, 0x1.49d13197b012ep+1 +0x1.a951d2d87c7dap+7, 0x1.43527c7ef472dp+3 +-0x1.471f913ddbef3p+0, -0x1.0ff99bfe581b3p+0 +-0x1.5103e2c9ed576p+2, -0x1.dca673656eeedp+0 +-0x1.0f06c672d0581p+1, -0x1.6401a1763314p-1 +0x1.026b689ae5fe9p+0, 0x1.9f21e5fbfc5b7p+1 +0x1.63c76c52e4ab7p+1, 0x1.9570f914ea0e9p+2 +-0x1.40c7373870d96p+1, 0x1.26c59ab4fb3a7p+0 +-0x1.09f698a3130f2p+2, -0x1.d79c1ea95cab3p-1 +-0x1.0f36550f653p+3, 0x1.31899c89c8763p+1 +-0x1.3229ec65ef0fcp+2, 0x1.9dc5b7670742cp+1 +0x1.9322542a56251p+2, 0x1.0cc25b48b711fp+0 +-0x1.e5cb9daae6e63p+17, -0x1.52aa567bab55fp+2 +-0x1.6d66432c92968p+5, -0x1.df475a0dc669bp+1 +-0x1.247398a73f519p+2, -0x1.8caadf110449bp+1 +0x1.8e28d26358c96p+1, 0x1.79e848e8538e7p+0 +-0x1.f36e1e466f32cp-1, 0x1.91b9d7db9efa3p+1 +0x1.537bd7c5b7fbfp+2, -0x1.0908e98e4e8bfp+3 +-0x1.8385dbf994ffcp+10, -0x1.2a3869f46ab07p+0 +-0x1.284122dbd8737p+2, -0x1.e6b57d5026dddp-1 +0x1.3acb7382526b2p-1, -0x1.20cd13db4bb8cp+0 +-0x1.dceecab6c4d98p-2, -0x1.d47f32137106cp+0 +0x1.76067780faebp+0, 0x1.39b80ba8aca28p+2 +-0x1.35c0e7960829p-2, 0x1.a808f692cf2f6p+0 +-0x1.55e1a981fc5a5p+3, 0x1.da5d455d10467p+0 +-0x1.2319a4173281bp-3, 0x1.54ef1eac37a0ep+0 +-0x1.521d6ef514863p-1, -0x1.33b67bc94022fp+3 +-0x1.85da135b0ef7ep+1, -0x1.910210f11b4a8p+1 +0x1.0cfe48c73797bp+0, 0x1.668d1e5053832p+9 +-0x1.0113dbd480cc4p+3, 0x1.485bc42808355p+18 +-0x1.2feb1203da17bp+1, 0x1.9e372b7771026p+13 +0x1.c02623980b305p+1, 0x1.0dca3a3e40384p-1 +0x1.50707d6890d52p+1, 0x1.13989e2efcb5bp-2 +-0x1.6dae70f623488p+1, 0x1.2b64007c507a2p+1 +0x1.10c7939e210e6p+0, 0x1.8568a8289fb17p+2 +0x1.738aae5075479p+2, 0x1.76642fd2cb431p-1 +0x1.a9f76ecaf1112p+0, 0x1.076a8bc81ad7cp-2 +-0x1.d08742a3329dfp+1, -0x1.10c7c77f74918p+3 +0x1.608fce316c9ddp+2, 0x1.81c18c9200447p+7 +-0x1.1b046046f4a2ap+1, -0x1.7caf7fd933ce2p+1 +-0x1.3f9430bfe01cfp+1, 0x1.02ca230312b5fp+2 +-0x1.aa98b17c34ab2p+2, 0x1.4cd74af4c7ebbp-1 +0x1.3e53353a4dc6ep+0, 0x1.b5c432de55661p+0 +-0x1.0ce9ece3d030dp+0, 0x1.fdcb2bf790286p+2 +0x1.b11d2cbf77877p-2, -0x1.069ca08ea8968p+2 +0x1.921050c1bf71ep+2, -0x1.acecdd61d2579p+0 +0x1.4e4bf9485c81ap+0, -0x1.4ebbd1b4951f6p-2 +-0x1.528593bbe0f13p+2, -0x1.8fc8617e3b55fp+2 +0x1.1c76f071b0f39p+6, -0x1.ef513d7990185p+2 +0x1.4e3e6d278a785p+0, -0x1.e2193e0503dd4p+1 +-0x1.b1eec62761217p+2, 0x1.90789879975c3p-4 +0x1.f5073e2cde198p+1, -0x1.cbc7d45f2d3cbp+0 +0x1.ad3b5d2c836cfp+0, 0x1.c5eb7cc5b02efp+1 +-0x1.964f01c5c24f9p+1, -0x1.3b8fa3592ac23p+2 +0x1.f4da9a7319eap+2, -0x1.ad08b2765bf65p+0 +-0x1.78de1ee973d57p+1, 0x1.7bca54be874abp+3 +0x1.8fa03e8e6850dp+1, -0x1.f385821448318p+0 +-0x1.14b46b2b6a6ccp+3, 0x1.98068a182fab2p+1 +0x1.03b012c928cb5p-2, 0x1.a56983af19377p+0 +0x1.1f872a5f9be41p+0, 0x1.046cd9d5afd5ap+2 +-0x1.29ef212648f79p+1, 0x1.27a0eb1a3f584p+1 +-0x1.09ebd9d5635edp+1, -0x1.10f666dcc8ff8p+3 +-0x1.2d78eebdba6e9p+2, 0x1.8769c7075d9cfp-3 +0x1.de9b4bd174183p+0, 0x1.3e8f10d8b2499p+0 +-0x1.e43388f8f46dfp+1, 0x1.b29236c506318p+1 +-0x1.10be863f096d9p+17, -0x1.1bba15d50b59fp+2 +0x1.9244fc20ef0c8p+0, 0x1.83e5c6134a8bp+0 +-0x1.53d271247ef7ap+1, -0x1.dac0d0ca17613p+2 +0x1.7392141a9d1c2p-1, 0x1.12fa43037e2d9p+1 +-0x1.aa5c1f9f651fap-3, 0x1.a429e250bc69p+1 +0x1.48977f2166cc3p+1, 0x1.12dd6bbe48a2ap+2 +0x1.70589ef51aa6ap+1, -0x1.368e3949eb7bbp+0 +-0x1.cba8fe624d76dp-1, -0x1.e45fbb1d03d6bp+2 +0x1.36cc4abeefee4p+6, 0x1.e9227366741dap+0 +0x1.349640bec9f09p-1, 0x1.9ae9210069463p+0 +-0x1.e6c0d4e1e7383p+1, 0x1.f31f6462e2479p+1 +0x1.9c1d385df9f5ap-1, 0x1.fe427efb19f7ap+1 +-0x1.165128de98203p+0, -0x1.4dcca4a89418dp+1 +0x1.47afefd97edc5p-1, -0x1.46d5ef293154cp-2 +-0x1.9baaba8b6a189p-11, -0x1.4671047732b8ap+2 +-0x1.33eb5f03a79cdp+2, -0x1.82943fe383a6p+2 +-0x1.a1a4d0a4324f3p+2, -0x1.d7fddb1c1970dp+1 +-0x1.1e1838a8417fap+2, 0x1.17accb8d3e2bep+0 +-0x1.350689d050b04p+17, 0x1.a33bc664268eep+1 +-0x1.4ffebc26166a7p+0, 0x1.b436d2790c1e2p+1 +-0x1.d2f5f5dd840c9p+1, 0x1.c60bf800c60f7p+1 +-0x1.3c75c3d7003afp+6, -0x1.fa82efe326bfbp+1 +-0x1.7059b8a3f43fep+2, -0x1.186dc56cc1697p+2 +-0x1.8c95616aef2adp+0, 0x1.9d28618d1ddb3p+2 +-0x1.60c3a91b22ca2p+3, 0x1.af8edc458ef2p+3 +-0x1.c9ba54fda0b25p+0, 0x1.a097e8d8976eep+2 +0x1.5329b67799d46p+2, -0x1.333cd14025de7p+7 +0x1.0a66e8589e13ap+1, 0x1.43ea5285e0611p-3 +-0x1.28b1a998cf2a2p-1, -0x1.4399b6e47d71dp+1 +-0x1.34e1281e37fb6p+2, 0x1.180d0a06b150dp+4 +0x1.462a8ad82e1b5p-1, 0x1.81f6abada3b0ap+1 +-0x1.5728e3ac43914p+1, -0x1.36a1a57407922p+1 +-0x1.0a7c7720778d2p+2, 0x1.91832452fb2bbp+0 +0x1.444c37f69b6bp+2, -0x1.04282c0c30383p+2 +-0x1.dab997c8f5ad1p+1, 0x1.8ed87335bfeffp+1 +0x1.9a283d8a5906p-1, 0x1.0ef75b8d7afe7p-1 +-0x1.58ed42c168cbcp+1, -0x1.81dbc0ae4c163p-1 +0x1.bdbfa8e26aa15p+0, 0x1.52f281072f25cp+1 +0x1.1f9afe1c08a99p+2, -0x1.01ec95ec42acp+1 +-0x1.eecbf4af0e49ap+11, -0x1.353cfea623a69p-1 +-0x1.b40c9e91d0237p+1, -0x1.028434987e19bp+1 +0x1.461253f750edfp+1, 0x1.feb0294dd8682p+1 +-0x1.72ad0b028d1fp-1, 0x1.1f232ca8122e8p+1 +-0x1.b6ac7e35ea228p+2, 0x1.e808304cdcfa4p+0 +-0x1.0a2e4902a8e57p-1, -0x1.05b69793a831ep+0 +-0x1.fd49b6a6f9635p+2, 0x1.0af48477fc792p+0 +0x1.b9d11d1499f37p+2, -0x1.26243d9119748p-1 +0x1.0314209054d31p+3, -0x1.5713394ee865bp+0 +0x1.461eb57292685p-1, -0x1.c7b67c7948601p+1 +0x1.97866ed5dc8afp-2, 0x1.0d51e1cb561abp+1 +0x1.1a552d7133d01p+1, -0x1.6f0503dc2355dp+1 +-0x1.cc25e3faa9902p+1, -0x1.3cf7fab64b6c5p+2 +-0x1.846216ba2ffep+2, 0x1.931f7c2cb7e06p+2 +0x1.3afa49377d0c7p+2, -0x1.c7cc5ca01ca56p+2 +-0x1.6054f47829705p-1, 0x1.0f0adcd9333cp+1 +-0x1.9fc5cdaf64d06p+1, -0x1.b5112e958df81p+1 +0x1.af3d235c73138p-4, 0x1.aa9c32a77b9fbp+2 +-0x1.0f1957e741191p+0, -0x1.293fe3fb229d1p+1 +0x1.de2f921a5a21cp+1, 0x1.00f945607c121p+2 +0x1.a8f7b260838b4p+2, 0x1.069785fd18a4ap+2 +-0x1.20060cca7d0bbp+2, -0x1.31c4a392c8d29p+1 +-0x1.455d0c88bb5cfp+1, 0x1.0f4d1a3b418e4p-3 +0x1.70b0670379829p+13, -0x1.67fbf0cc5b693p+2 +0x1.887c57b66d245p+1, -0x1.52f455a22944ep+2 +0x1.57840b8cf08eep+0, 0x1.90d7c7f902274p+0 +-0x1.dc28c78c5ab1fp+1, -0x1.a0689335e81bdp+2 +-0x1.005a6b93579b9p-2, 0x1.91b9eff12bf8dp+1 +0x1.85fe64b7c281ep+1, -0x1.1b2dfe1ebea48p+2 +0x1.ff247f446fb7ap+0, -0x1.be7a03e81e30ap+1 +0x1.33445ad4e8f0fp+2, 0x1.9b4be8baa717ep+0 +0x1.cd7a7f2a0fed6p+2, 0x1.2d956e4973494p+0 +0x1.18625675e1ea1p+1, 0x1.34a6e1dd6b449p-2 +-0x1.3a90b22bf311bp+1, 0x1.439880e11f3ebp+2 +0x1.f7d25d6be82fdp-3, 0x1.66b3993e887c3p-4 +-0x1.3c5e033602232p-2, -0x1.289a12978e81p+2 +-0x1.881cdee7d75a3p+1, 0x1.6194cb158d8e9p+2 +0x1.8ae75423bf0cdp+1, 0x1.f9602e905e562p+0 +0x1.fd5e90ecb7fa6p+1, -0x1.0486018c35551p+2 +0x1.7a39e713b696p+1, 0x1.068510cde0e09p+10 +-0x1.0bf68b57ea907p+2, 0x1.e1580943eb972p+2 +-0x1.154fbe67b9119p+1, -0x1.e577d7cdbddc2p+16 +0x1.e4a071b76aacep+1, 0x1.d7cec7b8215eep+0 +-0x1.eaedf0bf26771p+0, 0x1.49bb634427277p+1 +0x1.5d47cf07779bbp+7, -0x1.675a636942527p-1 +-0x1.309c2d87da956p+1, -0x1.03a7f77f0e92ep+2 +-0x1.2defcd7ce83efp+0, 0x1.0d6762bf087fep+1 +0x1.23d5206f3c633p+2, 0x1.c4e8151663673p+0 +0x1.977061f56d88dp+2, -0x1.26a0265735561p+2 +0x1.8abba50d9957cp+1, -0x1.794ab6952c15cp-7 +0x1.6c507f61074d7p+2, -0x1.4c126182fe1d2p+3 +0x1.5d3f999b1dfdbp+0, 0x1.1f4d1cf96ee5cp+3 +-0x1.14f50692d322dp+1, 0x1.909fe90f88422p-1 +0x1.1414d13ec1475p+0, -0x1.c294d3608da68p-2 +-0x1.973492e30e547p-2, -0x1.d1729d4f8c741p+1 +0x1.26a11386a8909p+0, -0x1.2d544d7d3d694p-1 +-0x1.16a63442e029ap+3, -0x1.2d9dd1b544a9p+1 +-0x1.faac9d181f902p+0, -0x1.70186325edea9p+2 +-0x1.686332a9222e8p+1, 0x1.e04f81160fb23p-1 +-0x1.1c50319196fe8p+1, 0x1.4403f806cbee1p+0 +-0x1.0a906905e7b6ep+1, -0x1.28d3f5161fb88p+1 +-0x1.f87043878390cp+0, -0x1.e02be0a6b6d38p-1 +-0x1.711269675e696p+1, -0x1.6d2a70cf3c19fp-1 +0x1.1a545e5264c9dp+1, 0x1.d1f40ca5b1b31p-1 +-0x1.a8272a3822069p+2, 0x1.14666cb405e82p+2 +-0x1.6dc041d218e57p+0, -0x1.1ed04b0ded70fp+1 +0x1.0024039497eb3p+0, 0x1.3aae58a83539cp+1 +0x1.0af94029cef2bp+0, -0x1.941f393365beep+2 +-0x1.61be82d13546ap+1, 0x1.eee164e155c5cp+1 +0x1.42bf25fe97cb7p+2, -0x1.313b0a5f34573p+2 +0x1.076a268cd6e4fp+3, 0x1.753bd16631d5p-9 +-0x1.3e29d77a70d7ep+1, 0x1.7b5cc96edf8fcp-1 +-0x1.25ea3026e1eb9p+3, 0x1.d8005e8f872b7p+6 +-0x1.cf86773e040cfp-3, 0x1.21d489e1df0ebp+1 +0x1.3e6e5e6f4a20ap+1, 0x1.6a1ee579c27afp+15 +-0x1.cd78ce7d64ddap-2, 0x1.6b639c004bd8cp+0 +0x1.fb0bc7d36b6cep+1, 0x1.8517b56cee694p+2 +-0x1.499e26dcb29e3p+14, -0x1.f2a2021dbd669p+0 +-0x1.fd891a5f9b208p+0, 0x1.94414367bc761p+2 +0x1.c5527467c3088p+0, -0x1.5ca95aff2ae3ap+0 +-0x1.6c409ddf6e905p+0, -0x1.cf585e3294adbp+0 +0x1.6b389c438f9e1p+0, -0x1.c1ecb07aeea21p+2 +0x1.9e691e67528bdp+2, -0x1.4fb0245eca431p+1 +-0x1.fc38ace015134p-2, 0x1.ed814c097de35p-3 +-0x1.a6a1c072b7534p+1, 0x1.2cbe0475a0efdp+13 +0x1.ffadc55417d48p-3, 0x1.7a430569bc1fp+0 +0x1.0229784712ae9p+1, -0x1.6080520cb162ep+1 +-0x1.7d5b6e4aec172p+0, -0x1.4ebff88987618p+0 +0x1.2c354bf64d6e2p-1, -0x1.034b566c12507p+1 +-0x1.90582b05e63acp+2, -0x1.68f1e68e9f12fp+2 +0x1.9558a6e55db8dp-2, -0x1.3e4b483b23514p+2 +-0x1.266312aba8badp+2, 0x1.b47657249fb06p+2 +0x1.2095f8135f016p+1, -0x1.bed06b2c29ed4p+1 +-0x1.169716b845f9fp+4, -0x1.9d18ef5bfb787p+1 +-0x1.fea69b212f988p+0, -0x1.f0e5282ec70f6p+1 +-0x1.4b8f87bf58f79p+2, 0x1.45cf201fc0424p-2 +-0x1.7d7318d7eb2fdp-5, -0x1.803a762bc0258p+1 +0x1.507ca03e2b6bdp+1, 0x1.fa7bf561df36cp-2 +0x1.28da7d4f6c26bp+3, -0x1.fb3dce2074a25p+1 +-0x1.38cf44d1ff817p+1, -0x1.8ef432fea2ce1p+1 +0x1.f3306a1b447aep+1, 0x1.e66cc25289d16p+0 +-0x1.9fd9632250bdfp+1, -0x1.33eb60c1fb7ffp-2 +-0x1.b84c82dc487ep-1, -0x1.aab1df0a6a11cp-1 +0x1.8fb7b51730269p-1, -0x1.45f8f7d9222f1p+1 +0x1.d9f16b24dff3ep+1, 0x1.2d1f5b238cb1cp+1 +-0x1.72f506183fde3p+0, 0x1.495c5d01c7f11p+1 +-0x1.bd5534d30443ap+12, -0x1.1228c6caf9475p-2 +-0x1.97fb0ddd28bc6p-1, -0x1.a5bd6169c7f24p+1 +0x1.0a01cdf6f0f4dp+1, -0x1.034f543dde3e8p+2 +0x1.22a1d30d5bb99p+1, 0x1.ec381f0e059f7p+0 +-0x1.bfa0275cb3c4fp+1, -0x1.8fc9203dd806dp+1 +-0x1.e17182c8947d8p+1, -0x1.a12a9ebad24f5p-2 +-0x1.afc14b063f1b1p+0, 0x1.5585e46d8d1efp-3 +0x1.9bc3639f8b41ap+2, -0x1.c53370932dbc8p+1 +0x1.73f30477eb947p+1, 0x1.39d288fc70626p+0 +-0x1.7b91fd1ea49dep+1, 0x1.11b3ab6979252p+15 +0x1.432b3a9eaf13bp-3, -0x1.d3fcdc334f518p+1 +-0x1.8f9163b39289dp-2, -0x1.d9e00440debafp-3 +-0x1.f3c605692cf84p+1, 0x1.6e08f8a6b286fp+2 +-0x1.4bc150528456bp+1, -0x1.35679264ebda1p+2 +-0x1.526d00f7afbf5p+1, -0x1.9054de8633626p+0 +0x1.20845ad07dbb2p+2, -0x1.4809562739349p+1 +0x1.7672c7345609fp+1, -0x1.1e0478eda96bdp+5 +-0x1.0a835a8c2feccp+0, 0x1.8e4dce0e64821p+2 +-0x1.90767192f3034p+2, 0x1.4a9aa5d7afe6p+1 +-0x1.690f3fcd6228bp+1, 0x1.64ab65cc37d85p+6 +-0x1.7ad07ae3fca18p+13, -0x1.2f237a014b39p+0 +-0x1.3be59e149dccfp+0, 0x1.8dd4f8339bf32p-1 +-0x1.49bc316681fd4p+2, -0x1.0968f5a180888p+1 +0x1.3c032a2279ad9p+2, -0x1.eb62afe26bb93p-3 +0x1.313e1771eada8p+2, -0x1.de8b2c5936104p-3 +-0x1.b70357f4d11c2p+2, 0x1.304ae624c37a2p+2 +0x1.9e464177069dfp+1, 0x1.52a361fc1129fp-1 +0x1.d6fd1f6f81a49p-2, 0x1.672218e51fb04p+2 +-0x1.7db17aba296fap-1, 0x1.386a8c75a7585p+1 +-0x1.7974387289095p+0, -0x1.c270d3963ef8dp+2 +0x1.0e49f2346a684p+0, 0x1.45697d7f551d4p+0 +0x1.453e181270259p+12, 0x1.68ee2b7ce48d6p+1 +0x1.6e19298f2f541p+1, 0x1.630008b3a86eap-4 +0x1.e86a66863bb69p+2, -0x1.d949c946df8acp-4 +0x1.f917dcf8919c6p+1, 0x1.9502732366a9ep+0 +-0x1.a6fbebbda240dp+0, 0x1.f0efd92f4e16ap+0 +0x1.b8b64e6be3014p+0, 0x1.db55309c85cf2p-2 +-0x1.8e33a181bd725p+2, 0x1.20d40a21a542dp+0 +0x1.45e6eb5ce8ac3p+1, 0x1.6b24877390e2p+2 +-0x1.4080609fbaf3cp+3, -0x1.2eaf7406b199ap-1 +0x1.5d0d410b6d529p+0, 0x1.912a1be73c765p+0 +-0x1.497f404ce38c5p+12, 0x1.0312a8a13e753p+3 +-0x1.5172fba55602bp-1, 0x1.bbb4da475802bp+0 +0x1.3cc919c712e37p+2, -0x1.36e40266b46cfp+0 +-0x1.f0ad43856fddcp+0, 0x1.d24728fdaa503p+0 +-0x1.337e1cb16b9f2p+3, -0x1.29d0d4b6de441p+1 +0x1.4fcc5ac2222dcp+1, 0x1.6f18f21457cc7p+2 +0x1.489fada67c9a9p+2, 0x1.2c6cb57391fafp+2 +-0x1.5a62ce32e1dbp+0, -0x1.852d4647ffdcap+2 +-0x1.f35a71b1923c3p+2, 0x1.a8c6cdbf4e7b6p+1 +0x1.1c20162c3247cp+1, 0x1.87ac0c970ddb7p+0 +0x1.3dbf0a41b265fp+18, 0x1.302e5119246b8p+1 +0x1.da7e938cfd549p-2, -0x1.205de835e6ff1p+1 +-0x1.18320b83e3572p+2, -0x1.1437f12c0d63ep-1 +0x1.0308068ffe985p+0, -0x1.2c2f8de2279b5p-2 +-0x1.1649396fc3be7p-7, -0x1.7c5ef03634188p+0 +-0x1.dabdc66271d83p-4, -0x1.01cfae7bd668ap+1 +-0x1.b4f8573537744p-1, -0x1.82aff8f1f2126p+1 +0x1.02900be64f603p+1, 0x1.cb4b82f404e24p+1 +0x1.068c6c8093f97p+2, 0x1.a1da5468c1067p+0 +-0x1.b4ce7d2238ddep+1, 0x1.900472e28eaefp+1 +0x1.17c20ee50871dp+2, 0x1.f2e27678efc4p+2 +-0x1.4310040d9610fp-4, -0x1.880592a822f88p+2 +-0x1.d683b7128e30cp+0, 0x1.1574cd9b1cf48p+2 +0x1.6c4e1e598b3f1p+2, 0x1.30e2ba7db38aap+2 +0x1.676d554814e26p+1, -0x1.86c2a041bc1a8p+2 +0x1.0f8639912604fp+2, 0x1.a0ca3693f41fep+1 +0x1.402c00d5c9a8ap+2, -0x1.5902e292a8e73p+1 +0x1.d59de6f5bdc5bp+0, -0x1.8c84cee0f8c0bp+1 +-0x1.21232ebbd9fa3p+1, 0x1.535ee06afc98ep+2 +0x1.abe00b1b98b92p-4, 0x1.63aa57226d5c4p+1 +-0x1.1bf5bc6a69cd8p+3, 0x1.1b58f2bcbd156p+2 +0x1.4975171c9d302p-2, 0x1.6a5b8ce909cf1p+0 +-0x1.e237cc4870e66p-2, 0x1.833077164995cp+2 +0x1.5d1f93aba6067p-5, -0x1.c75c312c8d19ep+0 +0x1.b67a9237b985p+6, 0x1.07637a98c7f04p+0 +-0x1.56780a9c66544p+1, -0x1.d6f4f48b3af1ap+12 +0x1.4565abd7d4899p+2, 0x1.221648b2a7f04p+1 +-0x1.817a12de842e2p-6, -0x1.914eba75da481p+2 +0x1.9b67dfb7c952p+1, -0x1.916cba8b4e163p+3 +-0x1.76f1e144517efp+1, -0x1.a477cf7e83e21p+2 +0x1.2dfe5a17d89e4p+2, 0x1.37f7d157456dfp+1 +-0x1.f024995c218e2p+0, -0x1.bf8e7b98e7411p+0 +-0x1.e98e82598274fp+0, -0x1.82076515386c1p+1 +0x1.7c381642eb0c5p-1, 0x1.6b3981cfac381p+0 +0x1.5019465e60a45p+2, 0x1.86fb3ef64b4f8p+1 +0x1.3799f860e8b5dp+12, 0x1.3c5779b2998e5p+2 +0x1.a7978a45f20ecp+1, -0x1.7c58cc849ea18p-2 +-0x1.b4baca237113ap+0, 0x1.0ab7b5eb865e3p+2 +0x1.37a52dbda203p-4, -0x1.71edb5915cd12p+1 +-0x1.17f4a6fa8c6b5p+1, -0x1.c6ab72ae2237ap-3 +-0x1.339aaa148b5dbp+9, 0x1.8456ef8b27372p+2 +-0x1.494b75a7b8135p-1, -0x1.2dc8a55e5407p+0 +0x1.257a508ed3b71p+2, -0x1.1082a0e49810fp+0 +-0x1.2b68ed576b1f4p+2, 0x1.d1724b716d5a5p+0 +0x1.44d611859d3d1p+1, 0x1.742c0ed82ca7cp+1 +0x1.ce86e698fd29bp+1, 0x1.d0847e2661937p+2 +0x1.4d33f254d230fp+2, -0x1.eabbe09ab5381p+0 +0x1.0781462f4fa7ap+1, -0x1.6bc4905222efbp-5 +0x1.8a8c0cd396636p-1, 0x1.7e2b556513b2ap+2 +-0x1.74d73361e62fdp+2, -0x1.c8768e72ad92ep+2 +0x1.713aee2e8c2a6p-5, 0x1.81dce1b6a5ca1p+1 +0x1.3b17d46796615p+1, 0x1.736e13fe7c331p+2 +-0x1.0ffafdd0777fcp+2, 0x1.6f2d2b87e45fcp-2 +0x1.69290601cd534p+2, -0x1.d5fa6e46b9aa3p+0 +-0x1.83a50d96dff65p+2, -0x1.0d21cf7a919fbp-8 +-0x1.634d6e3509387p-2, -0x1.4c36540ec2c93p+0 +0x1.86948c86cdd64p+2, -0x1.ca53d94b570c7p+0 +-0x1.9bcd780396ba5p+15, 0x1.12a0dd6216dcfp+2 +0x1.f367b32722976p-1, 0x1.a2103ce726ba2p+1 +0x1.6da848ffbd92cp+0, -0x1.333a4827600cbp+1 +0x1.b514e70ebffdp+0, -0x1.341fb92b8668cp-1 +-0x1.73f3c5b7afc57p+1, -0x1.68493f5f1210fp+1 +-0x1.87293c44d8d3ap+0, -0x1.a3ff1d7eb234dp+2 +0x1.7bc0afb93b5a7p+2, 0x1.2997e33e1d70bp+2 +0x1.37e91eb073d57p+2, -0x1.78ecab8822fa5p+3 +-0x1.e3a3548ca879ep-2, -0x1.ef4e9f36592e4p+0 +-0x1.b2d7ecb7c7d4ap-2, -0x1.03efcd28af7fdp+18 +-0x1.b5a9b54fab874p+1, -0x1.c7bcdff195bdep+0 +0x1.fbdfa6604a6b3p+0, -0x1.958cebaccd9d5p-1 +-0x1.bd365239e7158p+1, -0x1.92bf6ac755aadp+0 +-0x1.1185b3499e99fp+2, 0x1.0d11a2a7358acp-2 +0x1.ae92edb541d99p+1, 0x1.6477af54520d1p+4 +0x1.45cc87adf58b4p+13, -0x1.b304ddb1b8815p+2 +0x1.3120c3aaf12bp+2, 0x1.3d413f4b6b05cp+2 +-0x1.55125a3a48aap+0, -0x1.e188c017c519ap+4 +-0x1.be91baf1c1bbdp-3, 0x1.812ded4656753p+1 +0x1.e26b4602744d2p+3, -0x1.eb95a2caf9beep+0 +-0x1.f7495b21c07adp+0, 0x1.c8626195c1e11p+0 +0x1.66e2ee66da186p+0, -0x1.0000680f3413cp+2 +-0x1.28a369ae720f7p+1, -0x1.877a72580612ap+1 +0x1.7680f3a84fd2dp+1, -0x1.6c8a31423ff6ep+1 +0x1.4fe187ad5a3a1p+2, 0x1.9a9a11acb56acp+1 +-0x1.0f8cf18eb7ac4p+1, 0x1.0d66905807995p+0 +0x1.677ac172b205p+2, -0x1.5fbd905a6ec39p+0 +-0x1.5df8b2fd2cd91p-3, 0x1.16ff2496c75f6p+2 +-0x1.70ee30d0ead8cp+0, 0x1.1295af33baa2ep+0 +-0x1.b736f8e991b72p-1, 0x1.4429fa2b19903p-1 +0x1.9f07526af28a4p+1, 0x1.f19b48f0d79f7p-1 +0x1.9e8b3e2723ecdp+2, 0x1.6c9f626b62fbbp+1 +0x1.5828dfe254bbfp-1, -0x1.cc1e15933187dp+1 +0x1.04025640d9857p+3, 0x1.94ac33b5e9ed2p+0 +0x1.f975133852b58p-1, 0x1.697963b710497p-1 +0x1.7fd3f76724198p+0, 0x1.871b50eb00179p-1 +0x1.a633840705daep+1, 0x1.d6089554c9378p-2 +-0x1.d3484d63dad08p-3, -0x1.a1a577364606ep+1 +-0x1.9f44f180aac75p+1, -0x1.005dfa7ad88a6p+1 +0x1.6ca91aa49f82cp+14, 0x1.1f10d0fccfef8p+12 +-0x1.70b112b110d4bp-2, 0x1.d2477a1c0be12p+2 +-0x1.20ab747c6807ap+1, 0x1.fa7c5a38a41a7p+2 +-0x1.a33ba75635cffp+0, 0x1.683f5172b9af2p+0 +0x1.2d7fb76add43fp+1, -0x1.23082fc1d1b7ep+1 +0x1.443fac71c5fep+1, 0x1.b0f439b21e9ffp+1 +0x1.e2050fb1c0089p+2, 0x1.976a450da141fp+1 +-0x1.9c6bdf640c78bp+2, -0x1.95594510a64c9p+2 +-0x1.ed118e9c7b5p+0, -0x1.811103a08981bp+1 +0x1.e356e1954d1a5p+2, -0x1.5cd9774a7e1a2p+2 +0x1.b10ef9e86b592p+2, -0x1.d77da64478b86p+2 +-0x1.32baed6e8babap-1, -0x1.78907ff05d148p+2 +-0x1.88f7f67f4c60dp+1, -0x1.3c8ac7addbf76p+2 +-0x1.2b0f837e89898p+1, 0x1.d04079eaa752bp-1 +-0x1.6c70c9cc6e89bp+2, -0x1.4abb09272a605p+16 +0x1.4efd7e59acaaep+3, -0x1.88f0b935ef8ecp+1 +0x1.5294b114d3238p-2, 0x1.5569ebec610b7p+1 +-0x1.070d071e25f0fp+3, -0x1.f93846f0e1848p+0 +-0x1.8074b93d29c6cp+0, 0x1.40c02575693adp+2 +0x1.ca6a3d4d44fcfp+0, 0x1.6ea2e1720d8c7p-2 +0x1.1c00e8c5823c4p-1, 0x1.69ce7f6d37b1cp-2 +-0x1.3bf9b45939941p+1, 0x1.3c3aa91dc550cp+1 +0x1.0e55739b7026bp+3, -0x1.321509cfbc233p+2 +-0x1.c94cb3ffe5256p+1, -0x1.a84eefa7424p+1 +-0x1.f127ea06d4c1cp+2, -0x1.877f100e54b8p+2 +-0x1.a901123a5740cp+0, 0x1.62fb591026be1p+1 +-0x1.3add68f6060fap+0, -0x1.66abdb21d1d41p+1 +-0x1.1d3ffe7719185p+0, 0x1.77227bcbab6e4p+1 +-0x1.51c7977008be4p+0, 0x1.6477cd6bcf5ap+1 +-0x1.206ae431a4b33p+1, 0x1.8ba3fc8cfbdddp+9 +0x1.001035e9db44dp+3, 0x1.340cc8d85ca54p-3 +0x1.108d718c5619dp-1, -0x1.4ca3d511ca437p+2 +-0x1.c933688fa08cap-2, 0x1.5eb8f5da1d19ep-1 +0x1.e348f6f19cf2ep-2, 0x1.ae2902ba1e442p+2 +-0x1.0744f414cbd0cp+2, -0x1.1b9d5afde5418p+2 +-0x1.1702fcbcd1c47p+2, -0x1.620e236d7e559p-1 +0x1.f05240316a882p+0, -0x1.cc43df8a1020ep+1 +0x1.71abe4c5f5f88p+2, 0x1.852682bc55b7bp+1 +0x1.3cd340918eb61p-4, 0x1.e067178264dcap+0 +-0x1.500e34730963p+1, 0x1.97cc219576e5bp+2 +-0x1.214edda49551ep-3, -0x1.cb47d9087b60bp+1 +-0x1.c169e67f4a7b8p+1, -0x1.e56ab4b014d25p-1 +0x1.683ff4d77a97ep+1, -0x1.d9e48e6dd303cp+1 +0x1.3d8c8830f10e6p+0, 0x1.d5e63e7a3c9f7p+1 +-0x1.68c917c6ddb72p+0, 0x1.0d6fc72fdccc9p+3 +-0x1.41b3f6fe20e5ep+3, -0x1.efcd5f0025e47p-1 +-0x1.ba3af1caf3011p+1, 0x1.3fdc4b271ad8bp+1 +-0x1.536d13c06b456p+1, 0x1.4c3d683aebcacp+3 +0x1.e4a86aaf13fc9p+1, 0x1.3f96c4380ab18p-1 +0x1.b081e234fd23cp+2, -0x1.4e6288fcff4a1p+1 +0x1.417cc425f7f87p-1, 0x1.5f56f4f298a98p+1 +-0x1.3549dc9d08abcp+1, 0x1.dc1eb8e39e006p-2 +0x1.d71e0f29e6292p+1, 0x1.f0c6eb8df4c99p+1 +-0x1.e181bf1fc4f9p+1, 0x1.c3b67dee5b578p+1 +0x1.ef20ff7a533e2p+1, -0x1.1d359963b9e69p+2 +0x1.c2c24aa73cf6fp-1, -0x1.585837819ad84p+1 +0x1.27834471190fcp+1, 0x1.3a75fe6b2dc16p-1 +-0x1.8ade3f0f180f9p+1, 0x1.1408b7c77d93ap+2 +-0x1.19d43bd29f428p+1, 0x1.828e914d8254ap+1 +-0x1.c65263f2a610fp+2, 0x1.3a981c77d0cf4p+3 +-0x1.ec2d27e4b5352p-3, -0x1.d408aceca555p+2 +0x1.8a9df5af04cdfp+2, 0x1.0ef58c8aa56e1p+3 +-0x1.de6ae5f01cb5fp+1, 0x1.016f079aa4deep-1 +0x1.9f631258eb3b5p+13, -0x1.35b99a0e85a9fp+2 +-0x1.810f06b5a047fp+0, -0x1.fe21aa508da5bp+0 +0x1.2fc2c892e5813p+2, 0x1.1d9ff40c8b3a3p+3 +0x1.b62288f2ca5e5p-3, -0x1.0c0c5814061cap+1 +-0x1.28f517793e086p+0, 0x1.1bd1bfaebea8bp+7 +-0x1.4f5fd2782fa27p+8, 0x1.4c430a680432dp+0 +0x1.7ea4e8c981de8p+1, 0x1.2e5e8f84e026dp+2 +-0x1.4f29d60efaf9dp+1, -0x1.74dd803d9bddep+1 +0x1.ac9ac09e98fabp+0, 0x1.b9a526ee40697p+1 +0x1.59cfeb93243b7p+0, -0x1.3441aa7a8a714p+1 +0x1.85c92ceef5b1cp+1, -0x1.b0c28e9c8b90dp+1 +0x1.c0ce18d1fb3dep+2, -0x1.051b0c56e500ep+2 +0x1.4e52aa1f66d18p+1, 0x1.92edb6b8d97ap+0 +-0x1.ed290d40ccddp-1, 0x1.761f25a0053aep+2 +0x1.09b5d97d557c7p+9, 0x1.86b95134770ffp+1 +0x1.e2718923d418ep+1, -0x1.ed8600d377264p+2 +0x1.3a0b564ed5bd3p+1, -0x1.ac683617c6ca4p+1 +0x1.f31e1d3c61065p+2, -0x1.1d98141762681p+2 +0x1.5fc3646b1d478p+1, 0x1.7ac37c0674974p-3 +0x1.da273128657f3p-2, 0x1.4bb2d18245dadp+0 +0x1.56e34a596949ap-2, 0x1.ad51deba66eb2p+0 +0x1.28a8da788a882p+2, -0x1.08a7683a22a47p+2 +-0x1.432a4378fb05ap+3, -0x1.6feadfa44b99cp+0 +-0x1.b2dd8579dcc6ap+0, -0x1.4c12cdaa19ab4p+2 +-0x1.38e23877d5f5ep+3, -0x1.06c0611e45855p+2 +0x1.5e6a23b2d8dfap+5, -0x1.6bca476be7744p-3 +-0x1.3a8e8755c6cc5p-1, 0x1.6f43689523644p+1 +0x1.b444c01f6f6c2p+2, 0x1.63bf2c62d607ep+3 +0x1.e94f672624abp+1, -0x1.2f741d5e19e8fp+1 +0x1.43f7388f3bb1bp+4, 0x1.20924891021dcp+0 +0x1.5d5e5200e92cbp+2, 0x1.e9e57d2b0472fp+1 +0x1.dbae0fa9321fap+1, 0x1.640363674bc6ap+0 +-0x1.3674017690506p+4, 0x1.dc4217d815b39p+1 +-0x1.0e0220d76da84p+3, 0x1.de134f16df016p+0 +-0x1.639273cc61b98p+2, 0x1.8a1335dad94adp+2 +-0x1.379ba7b2695cp-2, -0x1.669eeb36b406ep+0 +-0x1.335cf405993fdp+0, -0x1.41b22bd888bddp+1 +-0x1.1c03893c5a522p+1, -0x1.75ace7631c7b9p+6 +0x1.47b730330cf22p+1, -0x1.c9a5288d33a48p+1 +0x1.53159c9412b0fp+19, 0x1.5e4f009c23663p+0 +-0x1.c53538e65951fp+0, -0x1.c54816db20217p+1 +-0x1.8f3a4c6dcb72ap+1, 0x1.2d38e980432fap-1 +0x1.60ed82b25a151p+2, 0x1.c5664caf13fffp+1 +0x1.34e5f6c14d926p+1, -0x1.894b2826a7b5ap+1 +-0x1.899e97d31916cp+0, 0x1.b355fd13fea49p+0 +0x1.25a1aae866617p+2, 0x1.ab862388d5cf1p-1 +0x1.23ddfd149c5efp-1, -0x1.b89168c776cdap-1 +-0x1.0323dfd05b011p+2, -0x1.054ab1eab8748p+4 +0x1.ca873899f5e75p+2, -0x1.7b04fcc1031d7p+0 +-0x1.57cef3480a41ap+0, 0x1.9966a62e9fea6p+2 +-0x1.d0e1f9005b08bp+0, -0x1.1097763514aeap+1 +-0x1.449cb2014a2a6p+0, 0x1.1487f7a5ac4aep+0 +-0x1.4b6522e2bc11p+0, 0x1.a07096720788cp-3 +0x1.b084ff2d10491p+0, -0x1.2a0113827a84ap+0 +0x1.074936b235b5fp+0, 0x1.84d7be64ec0a9p+0 +0x1.8379ae1cdcd4ap-1, 0x1.38ece1655f2f4p+2 +-0x1.3314cd7ec8875p+2, -0x1.8076300966c58p+2 +0x1.225bb6fb8145dp+1, 0x1.53a9cabab1846p+1 +0x1.c838280003f9cp+0, -0x1.b1ca4bd96824p+1 +-0x1.1ff7db2dee644p+2, 0x1.e69bb4fdb0d21p+1 +0x1.157d117d996b1p+1, -0x1.88081e6070d38p+1 +0x1.2c24c422a595cp+2, 0x1.3f5aa045000c5p+1 +-0x1.1c817a04f38afp+12, 0x1.c9a92ee262bf6p+1 +0x1.d3a87e81e2edep+2, -0x1.43df40f26f5f4p+2 +0x1.551006b4142fap+1, 0x1.190f56577a80cp+8 +-0x1.f58fcca5132e8p+0, 0x1.35b941ebfd8dp+0 +-0x1.15cc43171ff93p-9, 0x1.4f6c89d203e07p-1 +0x1.cdaf0e157d818p+0, -0x1.b6618eb8d17e8p+16 +0x1.fe19057a80ca7p-1, 0x1.b0feb4ee0e8ccp+0 +0x1.86c5e281b7249p+1, -0x1.689984b621571p+1 +-0x1.359b004983438p+2, 0x1.9a558e31cf1c3p+1 +0x1.1073348bd93f5p+5, -0x1.fc1699d1438b3p-1 +0x1.1281af0328e6dp+2, -0x1.11da4048aabaep+2 +0x1.9d9cb114c989dp+1, -0x1.50a622bdf73p-1 +0x1.1759ef927c6b7p+2, 0x1.cabe4dddb7e16p+1 +0x1.ffed99428af25p+1, -0x1.1f8f4bafe13bp+1 +-0x1.64be30265de95p-1, 0x1.30fd7c93595ccp-1 +-0x1.66f2447369f7cp+2, 0x1.2dc4d23de418ap+2 +-0x1.cab2f1b56eb57p+2, -0x1.c95dba028500cp+2 +-0x1.4882c00f9f996p+1, 0x1.c7b6132d21154p+1 +0x1.6bae0bd48e85cp-2, -0x1.3b0cbe2deeb59p+6 +0x1.21bf54f31c19fp+1, -0x1.a5ad1a4ff79f5p+4 +-0x1.c08d225c21468p+2, -0x1.33326fa46d5a4p-2 +0x1.fa1dc4b27b3f6p+2, 0x1.55ea7f32c0b83p+1 +-0x1.160071441811dp-4, 0x1.c9cfcdaf73d73p+1 +-0x1.0340e8f00d112p+2, 0x1.25f526637d74fp+1 +0x1.c9aa29a7dc627p+1, -0x1.e3f0d61ccabbp+7 +0x1.259ceaedaf0dbp-1, 0x1.59f4781908d34p+2 +-0x1.24551c65ac34ep+3, 0x1.71b2dccd68419p+0 +0x1.bd72adb6283f6p+0, -0x1.70fa394cc3b03p+2 +0x1.3a2075afeea44p+2, -0x1.bdddf53135bc9p+1 +0x1.1c99ce058d848p+2, 0x1.09549b98a3e04p+1 +0x1.7c8df542cb302p+1, 0x1.1f1fbc3dcb63dp+1 +0x1.622a15e51e48ap+1, -0x1.53cda1a460565p-1 +-0x1.3f7383d370725p+1, -0x1.688e5abd68b0cp+1 +0x1.78fc5f3cc7429p-2, 0x1.7982e48594b34p-2 +0x1.4b58363da1b5dp+0, -0x1.2a055134e33a1p+16 +-0x1.450b12cd347fep+0, 0x1.008759470534ap-2 +-0x1.b876a33955eb8p+2, -0x1.027ec686d0b3dp-1 +0x1.222c80dcfdfd4p+0, 0x1.7a98580bb66a4p+2 +0x1.2e5ac7515124ap+1, -0x1.02fd685127994p+2 +0x1.da4e207ac5726p+2, -0x1.4abe2089ef2ap+2 +-0x1.413f9633d1526p+2, -0x1.23c58c907d5f4p+2 +-0x1.05604790e26b6p+3, 0x1.57296e73d9b3p-3 +-0x1.57e713a5e8f2cp+1, 0x1.c9110674eb179p+0 +-0x1.2ef52d266098ap-1, 0x1.43553f883af4bp+1 +-0x1.2b1ac0b9e7275p+1, -0x1.7e4262837a315p+0 +0x1.03a1aeb2ecb5bp+1, -0x1.cb2af3c7904d7p-1 +-0x1.bdd7c65ba6d1bp+2, 0x1.6f574eaa1a1d4p-2 +0x1.89753fc83376p+0, -0x1.de64b4dfaf996p-2 +-0x1.d6de9501902dap+1, 0x1.5f61fa2e62843p+1 +-0x1.300d023ee9912p+0, -0x1.8312846a84acep+0 +0x1.1ad9aa925a709p+2, 0x1.0cb51673859c9p+3 +0x1.6d9c0a531b69ep+1, -0x1.00209abf50306p-1 +0x1.918e549d2c16dp+1, 0x1.189eab78219f1p+0 +-0x1.e31606878491bp+2, 0x1.8372c6535deacp-2 +-0x1.b663c376080dbp+0, -0x1.c63b51385347dp+1 +0x1.3061a3fff58dcp+1, 0x1.7377ae2aaf6b8p+2 +-0x1.5f7dcb1f969ddp+0, 0x1.2627f199a66ddp+2 +0x1.f2d9a8b36f1dap+1, -0x1.5d84358febf26p+1 +0x1.3c2d998ce9227p+11, 0x1.ffd4fdfbea66dp+1 +-0x1.242ad44d4b8f1p+0, 0x1.9aa6a5a1c134dp+1 +0x1.afc5e3cfcc5d8p+1, 0x1.6ef2dbd778581p-2 +-0x1.94258047111e6p+15, -0x1.d268e388c2419p+1 +-0x1.b5ac2c3751897p+8, 0x1.1e69eb0827a7bp+0 +0x1.b847480763b93p+10, 0x1.844ea6dd44448p-1 +-0x1.6e0300acbdd9fp+9, -0x1.6d0eaf65e8ccp+0 +0x1.e45dc64452fb7p+1, -0x1.affc4392a8ec6p+10 +0x1.569d591acb7b7p+2, -0x1.7b2b31182fad8p+1 +-0x1.5a1bf44e5c389p+2, 0x1.05116a825d1c2p+2 +0x1.d0ddbe54868dbp+0, 0x1.1ae156e8ff188p+2 +-0x1.155a94f771cebp+0, 0x1.077b873919585p+3 +-0x1.14163b28d8d07p-3, 0x1.ffa078737b02p+0 +0x1.aa4d61d93f2c7p+2, 0x1.928415055c465p+0 +-0x1.019248c94bf73p+2, 0x1.38dc14a1c0c01p+1 +-0x1.b3712ede5e012p+0, -0x1.6409e3f1a64fap+1 +0x1.7fc2d550fa1dcp-1, 0x1.8589128323936p+1 +0x1.5cbba3ab35bb2p+2, 0x1.9778f1828ccebp-2 +-0x1.08994a863e79p-2, -0x1.1f269d7829478p+0 +0x1.4ece758a915e6p+1, -0x1.729426c8e1274p+2 +0x1.633d5b05475e5p+2, -0x1.45e610c89ccp-4 +-0x1.97a6c1a34988cp-2, -0x1.e17ec8c4bb9c9p+1 +0x1.bbaf545d98ba8p+11, -0x1.6add45e3c0437p+2 +-0x1.4d60d9fd181dep+1, -0x1.c143985a9c20cp+1 +-0x1.6aa6cd505fe97p+0, -0x1.2e79bb636e239p+0 +-0x1.3b88141ac815fp-3, 0x1.c4f65067d76c1p+2 +-0x1.d7081ae8ef0fap+0, 0x1.57d62791d566dp+2 +0x1.da84fef019156p+0, 0x1.127fe202376b5p+1 +0x1.29c56028fc05cp+2, -0x1.5cdae2a62aa0fp+1 +-0x1.f3309b04ac9d9p+2, 0x1.6d0a105356357p+1 +-0x1.220f92301263ep+14, -0x1.f6317a857f512p+11 +-0x1.04665833c4649p+2, 0x1.88a4ba3a5d856p-1 +0x1.816a15748bde9p+1, 0x1.5f75b546e95dp-2 +0x1.20d7ac1ad5c15p-4, 0x1.2fc64ddb571fcp+2 +0x1.5c844e39a70acp+3, -0x1.5f4021a17ab1ap+0 +0x1.ca1e34e8a4eccp-4, -0x1.7f0cf2f06d96cp+2 +0x1.3d5a776debefcp+1, -0x1.a590baab8b81fp+1 +0x1.f06845c4a329bp+0, 0x1.249a6ab5ca7d3p+2 +0x1.42dab148a5479p+2, -0x1.3abf44e5ef402p+2 +-0x1.90412b450f8afp-1, -0x1.5e6ac84e27601p+2 +-0x1.82cb071efe23ap+0, 0x1.aed586bf4662p-1 +0x1.1ff24a5a9ae83p+10, 0x1.4a3b0ff6c4adbp-1 +-0x1.efcd314910b39p-2, -0x1.23d143a662a6ap+0 +0x1.52e3fcda72a5dp+1, -0x1.554420726499cp+4 +0x1.7fd50290904c7p+2, -0x1.2d71b84d05307p+2 +-0x1.3f0caaf247372p+1, 0x1.097dda106cd9ep+14 +-0x1.fea92a76dcf8fp+0, 0x1.9263055359723p+0 +0x1.3ff2a99497b33p+1, 0x1.1f60e98e3f42fp+4 +0x1.bed08bc893c74p+1, -0x1.d722d9392259bp+2 +0x1.fab4353fb7f9cp-1, -0x1.0063aaed245ebp+1 +0x1.7e8f998f8ade1p+2, 0x1.b3b12d36b877dp+0 +-0x1.137e0086c7c37p+1, 0x1.54216b5959d3fp+1 +-0x1.c9c0a2be115cap+1, -0x1.57c162b2c42cap+2 +-0x1.82533d009ddcep+2, -0x1.049e230620b3ap+2 +-0x1.b5dafb642d55dp-1, -0x1.ac25761f6900bp+0 +0x1.5597caa94d719p+2, -0x1.cf780ad29676ap-1 +0x1.3bb3033c9af71p+3, -0x1.3a23872dba778p+1 +0x1.2fbefe16d79d7p+1, -0x1.096174e379558p-3 +-0x1.3bc3fda3acd7ap+3, 0x1.852a14173b52fp+0 +0x1.e36a1bc2e1915p+1, 0x1.6b2da50642bc1p+0 +-0x1.fd144489e8febp+3, 0x1.55db64e73b823p+2 +0x1.19fb6125ce41dp+1, 0x1.3c7d37772336p+2 +0x1.2f51ddd592c3fp+0, -0x1.e3b9c41aeb6cfp+2 +-0x1.2ad2a197fb9f8p+3, -0x1.d0b1dd3f2a6e8p+1 +0x1.ae94d4b68561dp+2, -0x1.a9ca8ceafaa2ap+2 +-0x1.67a7b9b94aff8p-1, -0x1.286ac23984f26p+2 +-0x1.30abb6888f641p+2, -0x1.1e01f3e018f36p+1 +0x1.23bdd8437ed14p+13, 0x1.15e8906e63903p+1 +-0x1.44d0abfa3a75dp+15, -0x1.4eb07293363fcp+2 +-0x1.8594e2758912ep+2, 0x1.6773b626c26e1p+2 +0x1.971d6171a77c3p+2, -0x1.ce8067e7802fbp+1 +0x1.755b58893691bp-1, 0x1.1b5ca88b3497dp+1 +-0x1.4024b689f425p+0, -0x1.97f4b9b8ddab9p+2 +-0x1.decb60c11ce7cp+2, 0x1.2d07bb02f0123p+1 +0x1.52f1d72ef9507p+1, -0x1.d4eb42846149fp-7 +-0x1.a8c930fc5ed18p-1, 0x1.16294c12356e6p-2 +-0x1.956c6abc93cd5p-4, -0x1.e490b290869fep+1 +0x1.53b80bd8a283p+1, 0x1.573641ba73974p-1 +-0x1.b292a11d9db57p-6, 0x1.bfc00c1a5af6dp+1 +-0x1.3904457751956p+0, -0x1.13c6833bb9e2fp+2 +-0x1.2bae2862ee195p+2, -0x1.aa140cf5882a1p+2 +-0x1.4f204f5868d17p+1, 0x1.c234ce9c0e055p+1 +0x1.053c64c64f638p+0, -0x1.0707a9e2fdb37p+0 +-0x1.914eb9220ec82p-2, -0x1.f436d080d665p+0 +-0x1.35ccf6cee19e7p-7, -0x1.6ba27c31431b6p+2 +0x1.36c734cc09c73p+0, -0x1.63ac935265d58p+2 +0x1.27770d1b0ca02p+2, -0x1.c0e85267ba804p+1 +0x1.08d72beae8d53p+2, -0x1.76c15e743355cp+0 +-0x1.3767b61ab4817p-2, -0x1.127ff13145cb1p+3 +-0x1.0838198e46fd1p+0, 0x1.39cd9ffab706dp+3 +0x1.4da9bb281c7fp+2, 0x1.46d0f75468a1cp+2 +-0x1.e9550888fcddap+2, 0x1.b5a1d9dd3942dp+0 +-0x1.501a53f67e37bp+0, -0x1.acab6d7c1461ap+2 +0x1.e193ac7061fccp-3, -0x1.c3c52062da2e7p-1 +0x1.28d8b299cdd05p+0, 0x1.5d616beeac096p+2 +-0x1.5caa81a65d804p+0, -0x1.02880e084e396p+1 +0x1.20a68637ebc7ap+0, -0x1.82f73bc5c0aa1p+2 +-0x1.a28103c95e286p+0, -0x1.f5ab65bcadc76p+1 +0x1.025b3088d715ap+2, 0x1.7beb49f480f03p-3 +0x1.65616d06134b7p+0, -0x1.fa1c37bd10634p+1 +0x1.0066056f46e1ep+2, 0x1.a5d98c4c1b433p+0 +-0x1.e3eaf8e445b4ap-2, -0x1.481ad4dbbf049p+2 +0x1.bc62842a3aac8p-4, 0x1.08a0eefd74fc3p+1 +0x1.19592d79015ddp-2, 0x1.6520ff5b038e9p+0 +-0x1.f74f977603adp+1, 0x1.40138ec20bf6bp-2 +0x1.3bc54a26ed48fp+0, -0x1.712ddb014cb38p+0 +-0x1.fd6e68649e8a6p+0, 0x1.8fdc0e7c57c91p+1 +0x1.9ca15e437d3cbp-1, 0x1.1fe3022cb85bdp+2 +0x1.0b12768b3656bp+1, -0x1.5169010eafc77p+0 +-0x1.e2cee38beba69p+13, -0x1.5a76972bd8248p+0 +0x1.b328f02d64151p-5, 0x1.402cedcc263abp+1 +-0x1.f4dbe89e0cdc1p+1, 0x1.6730a46892fcfp-1 +-0x1.00ade610e238dp+2, -0x1.584c36f0c1237p+1 +0x1.2f41e6f9ca664p+0, 0x1.62224e616f8d1p+0 +0x1.0c5d436651b9cp+0, -0x1.733a5c4951d65p+1 +0x1.dafab2e21f5c3p+2, -0x1.cb57e4aac5186p-4 +-0x1.2064c38f59711p+0, -0x1.2317f0fef24ffp+1 +-0x1.2d24f39293834p+0, 0x1.1a577dec2ec85p+0 +0x1.9c56945dbe667p+0, -0x1.18011548850a3p+2 +0x1.24b1fbeb9b904p+1, 0x1.eff8551ee1b89p+1 +0x1.44c850d2ecc62p+2, -0x1.6809762903ddep+1 +-0x1.721f5cbace27ep+1, 0x1.52fadbb7d97c7p+1 +-0x1.b4c41383269c7p+1, -0x1.3ce693edd891fp+1 +-0x1.4622f7d86fe92p+1, 0x1.b5cf7522ea5a6p+0 +0x1.e8a581bb03ca2p+1, 0x1.caae48da3e12dp+2 +-0x1.2a77159916b6ap+1, 0x1.017956feabb17p+18 +-0x1.d1aff476b0b16p-3, -0x1.1bb624449401ep+2 +0x1.404145e0d4576p+1, -0x1.228995c5d3284p-1 +-0x1.0b626576ef9cfp-3, -0x1.4369a78bf897dp+2 +-0x1.e07fb1cf63807p+15, 0x1.5135c600c811p+2 +0x1.2fe6422ab827cp+2, -0x1.bab8ae52365eap+2 +0x1.f8d3b8d7e88e8p+8, -0x1.412bce892c37bp+2 +-0x1.516b4f22c98eap+0, -0x1.4edecbce090f3p+1 +-0x1.2e568c94ae70fp-2, -0x1.9c8bd2dbe877ap+2 +-0x1.81c73f0fd5f44p+1, -0x1.7874732d879bp+0 +0x1.320cd6748f864p+1, 0x1.9c7c6f5dc5bc2p+0 +-0x1.da907051785fep-3, -0x1.6558c7d54bab8p+0 +0x1.33a620afaf65fp-4, -0x1.4e5615214fb28p+8 +-0x1.3af2af59a5ec6p+2, -0x1.c7fe644b113f7p+2 +-0x1.61fd2c95548e9p+0, 0x1.71cfa4af9e021p-1 +0x1.f18d9cdb62fe5p-2, -0x1.3fcdc65505906p+1 +-0x1.5cc51d9fa72f4p+2, 0x1.064291737135p+1 +0x1.4929f02e2c6adp-3, 0x1.1b05cf2c440a2p+3 +-0x1.8f12125dcc37ep-1, -0x1.2e5f90da83105p+2 +0x1.5dc9a37add2ep+1, 0x1.e9ba120af9d01p+1 +0x1.6615e6c4a1175p+1, -0x1.652eaf42488ccp+2 +-0x1.7c5f9906c45cep+1, -0x1.3f1111a50f6e6p-1 +-0x1.f2a208d5a9c75p-4, -0x1.c6740c7fd45b3p+0 +-0x1.b4e6e2f9b24aap-1, -0x1.f87509c3207f2p-1 +-0x1.9cf59e7ea7c88p+1, 0x1.6547c26ccd5ecp+2 +-0x1.8e31fa95092d3p-2, 0x1.32afbc3de639ep+0 +0x1.178439c2f86fep+1, -0x1.af83ff25aeefdp+1 +0x1.3f968754a7f3cp+0, 0x1.2494a32026494p+2 +-0x1.447e43156db16p+0, -0x1.1b978ccba8501p+2 +0x1.135565dcfabc7p+1, 0x1.11e0be1f568f2p+2 +0x1.b7ebb873d0db9p+1, 0x1.69bfcf8d0d3fbp+1 +0x1.5c08fc65f9dfbp+2, -0x1.4b5f61d32dab3p+3 +0x1.3a9c1728a3c01p-2, -0x1.317c71ecd4b72p+1 +0x1.45b9f27b6f8d6p+9, -0x1.44cf19e8d4e86p+5 +0x1.d1cca6fb3a9f3p+1, -0x1.932f5ade59961p+3 +0x1.306be10eb7e4bp+2, -0x1.99744dcc8d0c4p+1 +0x1.d03c65b061cd3p-2, 0x1.1f2ee6348c88ap+1 +-0x1.a60762b6becf3p-2, 0x1.7f7fb435e68d6p+2 +0x1.bd13fc5044eddp+1, -0x1.7ca2d22b4900ep+6 +-0x1.d14db02ec8e0ap+1, -0x1.fe0a0ca6dec1cp+1 +0x1.58f1739198ba7p+1, -0x1.a5879fe04b243p+0 +-0x1.d459e3c88d8ecp+0, -0x1.d2e78f86fdcefp+2 +-0x1.98a993da076ebp+0, 0x1.f138fc1ef47e9p+1 +-0x1.999da30dd44dp-7, -0x1.dd00f91a40c29p-1 +-0x1.978b2feafe1c4p+1, -0x1.10c575947a6c4p+2 +0x1.297e180bdfa14p+2, 0x1.2338c7e2f022ap+2 +-0x1.3f22df625694dp-1, 0x1.ab55edb07cdc8p+0 +0x1.7ce0dda88fba2p+1, -0x1.7eafb9e76a8d8p+2 +-0x1.31f275bb5c57ap+2, -0x1.191c34bae000fp+1 +0x1.1044648803d48p+0, 0x1.95ebd8c459722p-1 +-0x1.3cd6ab835e18ep+1, -0x1.2dee8ddb19a0bp+2 +0x1.eafa3c9922697p+1, -0x1.8ecba275d6274p-1 +-0x1.f6a1fb6945b45p+1, 0x1.860e2916eaf09p+15 +0x1.4ffb3bdec7d1cp+0, -0x1.10b5cd1630812p+0 +0x1.a9a0c77ba1413p+1, 0x1.48d7069ffc9fbp+2 +-0x1.d250d88ad137ap+3, 0x1.2fdfdca70b8b3p+1 +0x1.1a550ec1ab289p-1, 0x1.39760fbadedc5p+1 +-0x1.86d6264b2a42ap+1, 0x1.128fadf146a9dp+1 +0x1.16a3881590cf7p+0, -0x1.55d795268a352p-2 +-0x1.f4bfe47d880bfp+2, 0x1.25203f0df7f4p+1 +0x1.a343e65c94579p+0, -0x1.3ac667751629fp+2 +-0x1.04a136877f4ccp+0, 0x1.269bb8ebc0b04p+1 +-0x1.a0ea4197a31cp+1, 0x1.0e8028cdae2d1p+3 +-0x1.3638ad5bf6e5fp+2, -0x1.19ea2f7df8d5ep+3 +-0x1.15233572fee83p+2, 0x1.9e1ca1d57777dp+16 +-0x1.1dabb480c360bp+1, -0x1.3bce691f88265p+1 +-0x1.3479a0eddb0f1p-1, 0x1.00e99330fb3b6p+1 +-0x1.7c79919cf2135p+0, 0x1.78d21b008517fp-1 +-0x1.2c41c38a779b2p+0, -0x1.236b56e991ee2p+1 +-0x1.f0876b7db7386p+13, 0x1.3d4db01b27c4ap-2 +-0x1.8a4c585de71a1p+2, 0x1.e212e5ac1a6b6p+1 +0x1.64f52cfae0dd1p-1, -0x1.196ad1e326498p+1 +0x1.43bcb7867efb9p+1, 0x1.61cea26670564p+1 +0x1.f353814372f5p+0, 0x1.69d951066ae4fp-1 +0x1.170992bde48f5p-3, 0x1.64300a0839323p+19 +0x1.6f292dc39a8a1p+0, -0x1.2bf8ed9297b5p+10 +0x1.df18eed430defp+0, 0x1.33c9569d676b6p+2 +-0x1.2284da4828be5p-2, 0x1.c381f33c25731p+1 +0x1.6673306ac8739p+8, -0x1.829d033050ea5p+0 +0x1.d05ee626beeb2p-1, 0x1.22ad311bcea6p+2 +-0x1.248c871af739dp+0, -0x1.3381999bd0438p+3 +0x1.f90bde7dc1051p+1, -0x1.31e30b1ba026fp-2 +0x1.53c7d4580487bp+0, 0x1.38dd2f6783991p+2 +0x1.fff9b9fef1db7p+0, 0x1.4252a0e6d57p+1 +-0x1.653cd54d6cccfp+2, 0x1.6dac695b3cfa2p+1 +0x1.f789dfaf99facp+1, 0x1.ac0e38c22ef1cp+0 +-0x1.4dddeb9cde6ep+0, 0x1.3071b64cc8507p-2 +-0x1.5a24196458259p+3, -0x1.85b3d0e10d429p+0 +0x1.429c05b143118p+14, -0x1.63417b87a7091p-2 +-0x1.c68665ac782e2p+1, 0x1.584a667c3462ap+2 +0x1.e5e064bebdd6cp+1, 0x1.1edee09ba146p-2 +-0x1.51fcc5a5e725bp-3, -0x1.962e0db8ea1ecp+8 +0x1.f9668745c0ca3p+1, 0x1.35b1cc74fbb82p+1 +0x1.7878034a6d72fp+1, 0x1.12a6b80bab073p+2 +-0x1.ef8ef8c4a3bbep-2, -0x1.31eaef83af303p-1 +0x1.caa08c6a794d4p-1, 0x1.20507f4ef7967p-1 +0x1.96a4c9255ff82p+2, 0x1.8e976d62efb58p+2 +-0x1.8812620ea87eep+0, 0x1.95b57b50a5ca6p+0 +0x1.95ea4ad32d839p+1, -0x1.3d3d40b0e9567p+10 +-0x1.04c58354141edp+1, -0x1.296d4ffe7ff13p+1 +0x1.29ac2776a1dc9p+3, 0x1.638c8674ff40cp+17 +-0x1.21608d19e9b09p+13, 0x1.929ec2794330ap+1 +0x1.52ce56d9d0aaap+1, 0x1.b60454d5c0247p+1 +-0x1.b03d64802d58fp+1, -0x1.161f9e50c19dbp+15 +0x1.a257bfa230d71p+1, -0x1.5daa160db890ep+2 +-0x1.20f5a53be5709p+0, -0x1.29a1e81b5ac88p-1 +-0x1.6b923563deb78p+2, -0x1.6428a09306096p+2 +-0x1.3d6b8684afe0bp+0, -0x1.7bbc008425a51p+9 +-0x1.98480c8f6c42ap+2, -0x1.52e43883b0747p+5 +0x1.9b0188929d49dp-1, 0x1.f8719734513adp+0 +0x1.1273709ba8d0ep+1, -0x1.1dc08450c40fap+4 +0x1.b0ae34933f0e1p+1, -0x1.2ec61035c6d27p+1 +-0x1.0a636cf8b24f4p+1, -0x1.d58776fc3fa0cp-1 +-0x1.21a512fdb90e8p+8, -0x1.43368d67ffb5p+0 +0x1.0b85d7c4cf3cep+1, -0x1.6b9fadce544b5p+1 +-0x1.a64780dd533cbp-2, -0x1.3a5beaa89985dp+3 +0x1.7f0b13bfe65c4p+0, -0x1.2e191954b0976p-1 +-0x1.b7fbdbd87ca58p+1, 0x1.04c533b7113ebp+1 +-0x1.314535273218ep+1, -0x1.3a0864ff0d4b4p+2 +0x1.b7246e7454d41p+1, -0x1.3c09096b6aa4cp+0 +-0x1.7b9b6527c418ep+1, -0x1.863039dc45a3dp+0 +-0x1.b58f98c3e1ed6p+1, 0x1.cbf910c3afeecp+2 +-0x1.efbae65e0b6f8p+1, 0x1.0f3bb31a16bc2p+2 +0x1.cea51c561e878p+14, 0x1.e70b3005bd54ap+1 +-0x1.b2ead9f4f032p+1, -0x1.2df47efa84c77p+0 +0x1.f56c740077bbap+0, 0x1.b30c9924b14efp+1 +-0x1.a2212f728f2bbp+1, 0x1.4423c0ba0579ep+1 +-0x1.e13fab872dc76p+1, 0x1.cc2729a272f7fp+2 +-0x1.c334b26a64cb6p+0, 0x1.7209378f5174ap+0 +0x1.7d918b141d15fp+2, 0x1.b46fef13d0565p+0 +-0x1.316946fcd234ep+2, 0x1.1d273cf1e537bp+0 +-0x1.41d669178b841p+2, 0x1.dd07999fc1904p+0 +0x1.0566d9913eab2p+0, -0x1.093ad261e5db2p-2 +-0x1.31a6c8395f446p+2, 0x1.697dd9f585f9fp+0 +-0x1.8ca9316396d62p+1, -0x1.4fb74b2a8c263p+1 +0x1.347f588f43002p+2, 0x1.d6539909ee195p-1 +0x1.a29339befd3b8p+0, 0x1.130b6ebf7e845p+2 +0x1.38ace35d894dep+2, -0x1.3734fe69e0f8ap+0 +0x1.f8a61b4b69c0ap+1, -0x1.38c215fbd1faep+0 +-0x1.4800750d6b9a9p+0, 0x1.01a6bdf78458dp+2 +0x1.600b46714c2d1p+2, 0x1.6963e5093e0fp+12 +-0x1.da30e7d8a07afp+4, -0x1.8331d03e6eb9dp+2 +0x1.4d73a66095e74p-2, -0x1.bef657be347b3p+2 +0x1.7d2a13e6f7bep+1, 0x1.260e7afed3635p+19 +0x1.593a524515da9p+15, 0x1.8ade298996ec8p-1 +-0x1.077065236af5ep+1, 0x1.24fdbfedb11e8p+7 +0x1.5a2909cb2a69cp-2, -0x1.4456381d39f56p+2 +-0x1.2599c4c9cc01p+3, -0x1.1da1c23006e11p+3 +0x1.b322284793957p-6, 0x1.1197b2e2f092p+2 +0x1.d01d49f5afa38p+0, 0x1.fdf5d6c66092fp+17 +-0x1.f8a51c4f5ffedp+1, -0x1.21b2f21030f74p+2 +-0x1.48ac08caa711ep+2, 0x1.673afbc807cf7p+1 +0x1.0eb29d894291ep+2, 0x1.2a6b1933a9251p+2 +0x1.62dd79e5d3475p+2, 0x1.14187b8bc185ep+2 +0x1.873d3514d51f6p+1, -0x1.9cdd42d375241p-2 +0x1.872046565d625p-1, 0x1.12f4e3ede689ap-4 +0x1.cf905412b18e4p+1, -0x1.c7e294c0739dap-1 +0x1.fcf2e08f76bf4p+1, -0x1.833445deb58d9p-4 +0x1.90c203f33c455p+1, -0x1.3b3b67cd56c49p+0 +-0x1.2c9f4b4409577p+1, 0x1.c82f7b065fdd5p+1 +-0x1.ff0c7176d7232p+0, 0x1.644a0def2179fp+2 +-0x1.0595f999208b6p+2, -0x1.357726b9e4708p+2 +-0x1.3a7048954eaf3p+2, -0x1.e031290cb877ep+1 +-0x1.bd8b676f7087dp-4, 0x1.8689623a7e5edp+0 +-0x1.a3e65e457ca05p-4, -0x1.066545daf62cbp+10 +0x1.35af7ed7a74f7p+0, 0x1.69d4de3e1dcc7p-1 +0x1.efabcf3716ccdp+0, 0x1.8eef04d7601aep-2 +-0x1.bdd4e1e130812p+1, -0x1.21349465b80b9p+1 +-0x1.3f925b3685b91p+1, -0x1.47143e592b25dp+5 +-0x1.3117fda2d7d25p+1, -0x1.772eb280ff3f8p+1 +-0x1.67317c95e649p+1, 0x1.ba852dbdd8443p+1 +0x1.cf9831dd76439p+1, 0x1.10ab30320a4c2p+0 +0x1.142a70ce52648p-1, -0x1.b09901ed6386p+1 +-0x1.855c934704f8p-1, -0x1.17e345e6810e5p+3 +0x1.9c47e8e1be0c7p+1, 0x1.55e48469db5abp-3 +0x1.287035de85958p+1, 0x1.1b9a7c19481c4p+2 +-0x1.ebe32e19c968dp-5, -0x1.baed79e56f745p+2 +0x1.b35d149812a46p+8, 0x1.0ac0f33ca8a5ap+2 +0x1.9a09757a1eaf2p+0, 0x1.ae3ed5f1ff2e9p-1 +-0x1.403192bec17a9p+0, 0x1.576409bdf81cdp+15 +0x1.bae86c6cd6912p+3, 0x1.812c225f4374ep+0 +-0x1.b8028cce9e2dcp+1, -0x1.6fe44890d40a3p+2 +-0x1.6c8f847ae85a5p+1, -0x1.9c53e8147e6b8p+13 +0x1.124db02fcb368p+0, -0x1.8101b38e5d4fp+2 +-0x1.951d599d4fb28p+0, 0x1.55f3d407a0d9ap-1 +0x1.be3bc20b2061cp-8, 0x1.532f717735452p+3 +-0x1.b26463d12708fp-1, 0x1.f0e470c6f4872p-1 +-0x1.7e7985e71fd68p+2, -0x1.343f02aa9db5fp+2 +-0x1.368cd56090665p+19, -0x1.a4e3af2808b12p+9 +0x1.c25067579bdfdp+0, -0x1.6454448a72044p-1 +-0x1.57a2899dc605ep-1, -0x1.4ea654f64b03cp+1 +-0x1.5771ec0cfe096p+4, -0x1.eccb6c2ce0eb3p+6 +-0x1.727467bd26b45p+2, 0x1.db1774138ecep+1 +-0x1.e9b5816d4a9ebp+2, 0x1.8c14a7a16b336p+2 +-0x1.b74bc1fec759p+16, -0x1.1b1c5dbc2735cp+0 +0x1.03ade7cc0e7e8p+16, -0x1.0d470e18e6bf4p+2 +0x1.f6050eb573556p+0, -0x1.3829433062213p-2 +0x1.4da0f22dbb17fp+1, -0x1.1ca742c22a798p+10 +0x1.b132756d35e88p+1, -0x1.e8c6b45742953p+2 +0x1.c9f15c8aae65ep+1, 0x1.d264847449cfbp+0 +-0x1.b1328337dc56ap+0, -0x1.86b53bdb7282p+1 +0x1.800691aefa59bp+2, 0x1.0e669d8bfd32cp+5 +0x1.7e93f5db77bbep-1, 0x1.8a854cb15b152p-1 +-0x1.9231795db556ap-3, 0x1.ef55d837c1723p+0 +-0x1.5ea6bdf126c85p+0, -0x1.7bb44c4e7f1cep-2 +0x1.65c7276e0cf1cp+2, -0x1.a9972cafc74d4p+1 +-0x1.c9da09fd35da8p+14, -0x1.45bf398e0e572p+0 +0x1.6698d1b494988p+0, 0x1.46384e435458fp+0 +-0x1.024d52e80d4adp+1, -0x1.0d25897ca8a94p+0 +0x1.0d1efa23fa4a6p+3, -0x1.a962a7b636127p+12 +-0x1.594bf4290d3f3p+0, 0x1.969b344da352p+2 +-0x1.39b60076e7167p+2, 0x1.c1d3a766202a2p-7 +0x1.d9a9d75e7264cp+1, -0x1.c175d3c733c2cp-1 +0x1.18b043052260bp+2, 0x1.7e504f3720b63p+2 diff --git a/sysdeps/x86_64/fpu/libmvec-atan2f-inputs b/sysdeps/x86_64/fpu/libmvec-atan2f-inputs new file mode 100644 index 0000000000..757ae48771 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-atan2f-inputs @@ -0,0 +1,4100 @@ +## args: float:float +## ret: float +## includes: math.h +# Normally distributed random inputs arg1;arg2 in ranges (-3.4e+38, 3.4e+38);(-3.4e+38, 3.4e+38), means = 0;0, standard deviations = 4;4 +-0x1.110038p+0, -0x1.1f03acp+1 +-0x1.88539ap+2, -0x1.410132p+1 +-0x1.3b7fb8p+0, 0x1.029deep+2 +0x1.77fde2p+1, 0x1.16a53ep+3 +0x1.35a336p+1, -0x1.f85d78p+0 +-0x1.75bd8cp+2, -0x1.360248p+2 +0x1.1cb9fap+3, -0x1.cc0c94p-1 +-0x1.b06432p+1, 0x1.e5f318p+2 +-0x1.2bbc6p+0, -0x1.b20d6p-6 +0x1.1ee5aap+1, 0x1.0d39dap+2 +-0x1.f35ecap+0, -0x1.90e89ap+1 +-0x1.8718b2p-1, 0x1.e1a884p+1 +-0x1.bb8414p+0, 0x1.66748ep+2 +-0x1.03ac94p+2, -0x1.2777cp+0 +0x1.1d20fap+2, -0x1.0d6598p+2 +0x1.948e12p-1, 0x1.a2f914p+1 +0x1.8dfc3cp-1, -0x1.45c1b4p+9 +0x1.729198p-1, 0x1.0d76b4p-2 +-0x1.8ba0cp+1, -0x1.657578p+0 +-0x1.420738p+0, 0x1.254b4cp-1 +-0x1.3c18ep-2, 0x1.e26402p+1 +-0x1.16b4ecp+2, 0x1.919dfep+0 +0x1.51a8f6p-4, -0x1.dddb4p+8 +-0x1.7ed13cp-1, 0x1.7c78e8p+1 +-0x1.371df6p+2, -0x1.47b6c4p+0 +0x1.c0eb16p+1, -0x1.04144p+2 +0x1.747d82p+1, -0x1.0e3c3ap+3 +-0x1.9223e2p+1, 0x1.2c285ap+0 +-0x1.e100ap+1, 0x1.a994cp+1 +0x1.5642c6p+2, 0x1.886a1cp-1 +0x1.10acd8p+4, -0x1.7e95d8p-4 +0x1.f4422p+5, -0x1.6d0abp+2 +0x1.270ad4p+0, 0x1.cb814cp+1 +0x1.ef5984p-1, 0x1.4511a4p-1 +0x1.c3236cp-1, -0x1.b5663ap-3 +0x1.f9775cp+1, -0x1.fbe004p+1 +0x1.ec4068p-2, 0x1.0af7c2p+1 +-0x1.18e6b8p+1, 0x1.2fc06ap+0 +-0x1.0df60cp+1, -0x1.52542p+18 +-0x1.f9beaap-2, -0x1.a8a18cp-2 +0x1.6d6274p+18, 0x1.8035aep-2 +0x1.6e5336p+1, -0x1.202ed6p+2 +-0x1.958d6ep+0, -0x1.38e054p+5 +-0x1.ae79ecp+0, -0x1.08e936p+0 +0x1.fa1d12p+1, 0x1.e0e75p+1 +0x1.18408ap+15, 0x1.1e5f3ap+9 +-0x1.37f81ap+1, -0x1.d1b82p-2 +-0x1.8d8c76p+2, 0x1.c753b4p+2 +0x1.59d5bp-1, -0x1.ea04b4p-2 +0x1.29c338p-3, -0x1.c2ee5ep+1 +0x1.cee3cap+2, -0x1.b5e1a6p+1 +-0x1.42abb8p+1, 0x1.1d8892p+2 +0x1.80ec7cp+0, 0x1.409d1cp-3 +0x1.9c79dap+1, -0x1.253082p-2 +-0x1.a40112p+0, -0x1.77943p+1 +0x1.77052ap+0, 0x1.aa7ee8p+2 +-0x1.f6ee5cp-4, 0x1.a39a2ap+1 +0x1.3221b8p+1, 0x1.5ff5bcp+1 +-0x1.4613aap-2, -0x1.6991a4p+2 +-0x1.1071cap+2, -0x1.055f3ap+2 +0x1.520ed8p+1, -0x1.6e1544p+2 +0x1.e819p+2, -0x1.8b8cb4p+1 +-0x1.a9f64ap+1, 0x1.88e06cp+0 +0x1.750ec6p+1, -0x1.0dd8acp+1 +-0x1.99309ep+0, -0x1.08b1bcp+0 +0x1.b93248p+10, 0x1.0a5b3ep+0 +0x1.273d5cp+3, -0x1.27eeacp+2 +0x1.398226p+1, 0x1.56fe6p+2 +-0x1.f11f36p+2, 0x1.9aca96p+0 +-0x1.8f8d42p+1, -0x1.f49e6ep-1 +-0x1.7a129ep-6, -0x1.1ae76cp+1 +0x1.087a5ap-2, 0x1.6aff86p+1 +-0x1.62fa8ap+0, 0x1.b66d4cp+0 +0x1.b32cf8p+0, -0x1.db353cp+14 +-0x1.ac60dap+1, -0x1.fbdc48p-1 +0x1.ce8d8ap+0, -0x1.f0575ep+0 +0x1.248082p+2, -0x1.4b02ccp-2 +-0x1.f980a2p+1, -0x1.d7c148p+1 +-0x1.19379ep-2, 0x1.3871bcp+19 +-0x1.ab9498p+0, 0x1.0e6daep+1 +-0x1.45599cp+2, -0x1.a1d652p+2 +0x1.0a9a08p+1, -0x1.380656p+1 +-0x1.4723eap+2, 0x1.82ba88p+2 +-0x1.be10fep-1, 0x1.6e9ab6p-8 +0x1.ac8ebap+2, 0x1.72f43ap-1 +0x1.647a3p-1, -0x1.6a098ep-1 +-0x1.535b6p-3, 0x1.9b2178p+0 +-0x1.1ac876p-2, -0x1.d28fecp+0 +0x1.d1ae8cp+0, -0x1.4314fcp-1 +-0x1.3d2ddcp+1, -0x1.91560cp-1 +-0x1.2064bep+3, -0x1.8f0d5ap+1 +0x1.81850ap+3, -0x1.f7d0d6p+0 +-0x1.f23fd4p+1, -0x1.75a606p-3 +-0x1.d253dcp+1, -0x1.532846p+1 +0x1.ce3576p+1, -0x1.8652cep+0 +-0x1.9b8efp+2, 0x1.7d9c66p+2 +0x1.b96c3ep+2, -0x1.f953fcp+1 +-0x1.eb7058p+3, -0x1.a1e7cp+0 +0x1.46cfc2p+2, -0x1.ae2452p+0 +0x1.6993ap+2, 0x1.13306cp+0 +0x1.61510cp-3, -0x1.1a2036p+3 +-0x1.64ad7ap+1, 0x1.bc0558p-2 +0x1.3c093ep-2, 0x1.4f8ea8p+1 +-0x1.55af0ap+3, 0x1.5af1d2p+0 +-0x1.0de628p+1, 0x1.99ce9ep+2 +-0x1.f3ce28p+1, -0x1.2dcbccp+2 +0x1.1adafep+1, 0x1.853c9ap-1 +-0x1.00b1dap-3, -0x1.12d9eap+2 +-0x1.c05a7cp+2, -0x1.df87d8p+2 +0x1.3e98c6p+1, 0x1.560246p+2 +-0x1.c6b774p+1, -0x1.9fdb8ep+0 +0x1.efefd8p+1, 0x1.c1a132p-2 +0x1.30ea3ap+2, -0x1.a74dd4p+1 +0x1.79ab52p-4, 0x1.d28bdp+1 +-0x1.dd0ae6p+2, 0x1.086058p+2 +-0x1.3d802ap+0, -0x1.11859p+1 +0x1.2aa162p+0, -0x1.51a2fep+2 +0x1.6d4ca2p+2, -0x1.086472p+1 +0x1.73c0d4p-1, -0x1.460bb8p+2 +-0x1.96b5c2p+1, 0x1.002088p+1 +-0x1.079c68p+2, -0x1.a490fep-2 +0x1.3a317p-1, 0x1.b3009ap-1 +-0x1.8be63p+2, 0x1.c70c48p-1 +0x1.6ec3p+1, -0x1.d42bdap-3 +0x1.542a48p+1, -0x1.68aadep+1 +0x1.0719ecp+1, 0x1.5a5bfp+1 +-0x1.ea3776p+12, 0x1.6d1c9cp+14 +0x1.65e234p+1, 0x1.81eea2p+1 +-0x1.e09ae8p+0, 0x1.88cff6p+0 +-0x1.38a36ep+18, 0x1.b0dc52p+0 +-0x1.949d08p-1, 0x1.2054bep+2 +-0x1.1c5a7p+2, 0x1.682eap+16 +0x1.c9d5bep+3, 0x1.ede04p+1 +0x1.5dd9cep+2, -0x1.ee86a4p+0 +0x1.430682p+1, -0x1.b239cep+0 +-0x1.b155c4p+2, 0x1.110594p+1 +-0x1.940484p+1, -0x1.a03c2cp+8 +0x1.2ab818p+0, -0x1.bb57eep-6 +0x1.2c5faap+0, -0x1.105b2ap+0 +0x1.ad21b6p+2, 0x1.f59118p+1 +0x1.942c72p+0, -0x1.73fc06p+0 +0x1.19a064p+2, 0x1.f4409ap-1 +-0x1.6ea822p+2, 0x1.05326p-1 +-0x1.30227ap+0, 0x1.69b302p-2 +-0x1.a95e1cp+1, 0x1.2ff44cp+1 +0x1.8803b4p+1, 0x1.e33526p+1 +-0x1.9d41ap+7, -0x1.a15cdap-1 +-0x1.ad8b0ep+2, -0x1.9c52c8p+2 +0x1.1e855ap-1, 0x1.bb99aep+0 +-0x1.1dae22p+2, -0x1.9efa1cp+2 +0x1.7f4124p+2, 0x1.a0ae02p+0 +0x1.6c8868p+1, 0x1.7388f8p+15 +0x1.1a07e2p+2, 0x1.50e958p+2 +-0x1.c15efp+10, 0x1.62d0a6p+2 +-0x1.641802p-2, -0x1.a1d7bcp+3 +0x1.8480d8p+15, 0x1.a5562ap+2 +-0x1.af841cp-1, -0x1.6538b6p+2 +-0x1.29feb6p+1, 0x1.6071bcp+3 +0x1.3a75b2p+3, 0x1.501b28p+1 +0x1.cab884p+0, -0x1.a5e6cep+11 +-0x1.94992p+2, -0x1.4bf214p+1 +-0x1.f4aaa8p+1, -0x1.c904a4p+1 +-0x1.85137ap+0, -0x1.3253d2p+1 +-0x1.7e5a94p+1, -0x1.ba8b24p+0 +-0x1.e32c5cp+2, -0x1.f7a818p+0 +0x1.d79048p-1, -0x1.e1ee3cp+1 +0x1.8a59e6p+1, 0x1.72b31ap+0 +-0x1.f0a79p+0, -0x1.ec9f64p+0 +-0x1.ef4d44p+1, -0x1.45030cp+0 +-0x1.3de03p+2, -0x1.ae4ee8p+0 +-0x1.2a2442p+2, 0x1.1e09c8p-6 +-0x1.522542p+14, 0x1.0b13ecp+0 +0x1.5b2206p+1, -0x1.c752f2p-1 +0x1.3d151p+1, 0x1.17da3p+1 +-0x1.266a0ap+1, 0x1.cfaceap+5 +-0x1.347da4p+0, -0x1.39b5p-2 +0x1.b9a576p+1, -0x1.721816p+1 +0x1.4139fep+2, 0x1.0b6028p+1 +-0x1.9cf32p+0, 0x1.4e858p+2 +0x1.b07b4ep-1, 0x1.11702p-1 +-0x1.3462ep+12, 0x1.f19c1p+4 +0x1.a9ca3ap+1, -0x1.5506bcp+0 +0x1.7d3bacp-1, 0x1.ba237ep+0 +-0x1.9d3fecp+1, 0x1.04414ep+1 +-0x1.1ab066p+1, 0x1.261c9ap+7 +-0x1.f49bdp+5, -0x1.bcfc0cp-2 +0x1.010d86p+0, -0x1.7ff508p+0 +-0x1.4873b6p+1, 0x1.3ee03ep+2 +0x1.44bf16p+0, -0x1.dc7bfep-1 +0x1.4b2044p+0, 0x1.84fe36p-1 +0x1.cd7622p+2, 0x1.1b1d3cp+2 +-0x1.9fcae6p+2, -0x1.0a3b58p+1 +-0x1.2abc8ap+2, 0x1.8c4d68p-1 +0x1.0a5afep+2, 0x1.4fd2ccp-1 +-0x1.d0248cp+12, 0x1.8d885ep+2 +0x1.59ea52p+2, 0x1.0ec88cp-3 +-0x1.8a5d84p+2, 0x1.1a283ap-2 +0x1.829e76p+1, -0x1.c94902p+4 +-0x1.013626p+2, -0x1.d6aa46p+1 +0x1.1ae55cp+0, -0x1.6d2bcp+0 +-0x1.2f894ap+1, -0x1.8cccaap+3 +0x1.a1847ap+0, 0x1.61b9fap+2 +-0x1.593af2p+0, -0x1.6fcb36p+1 +-0x1.4274fcp+17, 0x1.55402ep-4 +-0x1.7758f8p+1, -0x1.129ed6p+1 +0x1.47b15cp+0, 0x1.c37c38p-2 +-0x1.55e59cp+1, 0x1.15ab24p+0 +-0x1.5efb3p+2, -0x1.c82246p+2 +-0x1.1ec106p+1, -0x1.632d52p+2 +-0x1.3b380ep-1, -0x1.d06a62p+2 +-0x1.648c7ep+3, -0x1.e0c74ap+0 +0x1.3b45c2p+2, 0x1.9ac134p+2 +0x1.821b66p+0, 0x1.49d4a4p-2 +-0x1.9536fep-1, -0x1.e45f7p+1 +0x1.f42e02p-3, -0x1.1447c8p+0 +-0x1.3814cap+1, -0x1.d29b58p+4 +-0x1.db96f4p+1, 0x1.b7e8d8p+1 +0x1.31f092p+1, -0x1.23d39ap+2 +0x1.03f4f2p+8, -0x1.d6e588p+1 +-0x1.51e8dp+0, -0x1.076dp+2 +-0x1.5ce54p+0, -0x1.03dbfcp+1 +0x1.02c32cp+2, 0x1.2900dep+1 +-0x1.2da058p+9, -0x1.5d3804p+2 +0x1.7b1186p+2, 0x1.ff5246p-1 +0x1.0e03a4p+3, -0x1.76a414p+1 +-0x1.1fffa4p-2, 0x1.9caea4p+0 +-0x1.793d42p-2, 0x1.5b0824p-1 +0x1.254968p-1, 0x1.eb12bp+2 +0x1.fe8536p-1, 0x1.b1e56ap+2 +0x1.345306p-1, 0x1.307c96p+2 +0x1.4d5cbap+1, -0x1.b1937cp-1 +0x1.00f6b2p+10, 0x1.36171ep+1 +0x1.55b3e6p-3, -0x1.1aa44ep+1 +-0x1.b0bd84p+1, -0x1.f054c2p-3 +-0x1.81014cp+2, -0x1.4bfc86p+7 +0x1.d0a074p-1, 0x1.41625cp-7 +-0x1.40f226p+1, 0x1.68f226p+0 +-0x1.17690ep+2, -0x1.75fa5ep+1 +0x1.295642p-1, 0x1.988104p+0 +0x1.2b01b2p+2, -0x1.0f4d72p-2 +-0x1.4b462p+1, 0x1.9e7c32p+2 +-0x1.a6f89ep+1, 0x1.f2082cp-2 +-0x1.dd839ap+1, 0x1.7fca08p+1 +-0x1.c3c488p+1, -0x1.6e8538p+2 +0x1.d8ed1cp-2, -0x1.ebd99ep+0 +0x1.fd966p+1, -0x1.206c2p+2 +0x1.aee0d6p+2, -0x1.35d52ep-1 +0x1.13223ap-1, 0x1.743898p+0 +-0x1.4bae88p+1, -0x1.b15ab2p+1 +-0x1.9ce3b2p+2, 0x1.cef452p+2 +-0x1.f17318p+2, -0x1.e58d0cp-4 +0x1.808becp+1, 0x1.07f0bp+2 +0x1.325fd4p+1, -0x1.9faafap-2 +0x1.6104f8p+3, -0x1.7807e4p+2 +0x1.297574p+0, 0x1.3b4588p+1 +0x1.c568a6p+1, 0x1.6caddep+3 +-0x1.69894ep+0, -0x1.373078p-1 +0x1.135deep+1, 0x1.e1285ap-1 +0x1.4b80b4p+2, 0x1.2811c4p+1 +-0x1.690a7cp+11, -0x1.ab8ce8p-1 +0x1.9d7e14p+2, 0x1.3737cep+2 +-0x1.63ffeep+1, 0x1.193db2p+7 +-0x1.d9b722p-1, 0x1.022adcp-2 +0x1.08a9p+3, 0x1.18ec28p-2 +-0x1.6afe7p+3, 0x1.147d5cp+1 +-0x1.81f8cep+1, 0x1.0f3818p+1 +-0x1.c6ff78p+1, -0x1.66360cp+1 +-0x1.6791dcp+2, -0x1.77c6ep+0 +0x1.45d5f6p+2, 0x1.268336p+2 +0x1.3a13ap+1, -0x1.780cfp+0 +0x1.6128b2p+1, -0x1.439a56p+2 +0x1.50b1dp+1, -0x1.4aaf2ap+13 +0x1.0ae6ecp+1, -0x1.51968p+0 +0x1.ee129ep+14, 0x1.e0a29p+2 +0x1.8cdcd4p-4, 0x1.ec9936p+1 +0x1.5317a2p+0, 0x1.51d70cp-1 +-0x1.50ba0ap+1, 0x1.013cecp+5 +-0x1.9996fap+1, -0x1.61d00ep+2 +-0x1.3a3a26p+1, 0x1.2f54b2p+0 +-0x1.b4951cp+0, 0x1.220f6p+1 +0x1.09e96p+1, -0x1.b1165ap+1 +-0x1.be5766p+2, -0x1.411e54p-2 +0x1.32640ap+2, -0x1.9d3da6p-1 +-0x1.26eaa4p+1, -0x1.9657b2p+0 +0x1.25d18p+1, 0x1.faee42p+2 +0x1.2f194p+6, 0x1.9ed352p+0 +0x1.c24bc2p+1, -0x1.c46c08p+1 +0x1.058fa8p+2, 0x1.074894p+1 +-0x1.2cb5d2p+2, -0x1.7b022cp+2 +0x1.d971cep+1, -0x1.8ec86ap-2 +-0x1.f72738p-1, 0x1.219fdep+0 +-0x1.565374p+3, -0x1.f7898cp+3 +-0x1.3c9b4ap+0, 0x1.0adc7p+2 +0x1.c5a68p-1, 0x1.da8b2p+6 +0x1.d9d092p+1, 0x1.7d3d04p+0 +-0x1.479fcep+2, 0x1.ef3f7ap+0 +0x1.52dc56p+1, 0x1.152d96p+1 +-0x1.b93628p+1, 0x1.6f1702p+0 +-0x1.d76088p+2, 0x1.396904p+3 +-0x1.bb8d38p+0, -0x1.bea7cap-1 +-0x1.56dbccp+0, 0x1.3ad31p+2 +0x1.9e0406p-3, 0x1.f80584p+0 +-0x1.54278cp+2, 0x1.37b24cp+0 +0x1.f77b1ap-4, -0x1.7c43b4p-3 +0x1.10f4e2p+0, -0x1.84c3d4p+0 +0x1.6536d4p+1, -0x1.45c85ep+2 +0x1.8d0b58p+0, -0x1.7bfe86p+2 +-0x1.028574p+2, -0x1.266d42p-4 +-0x1.6f1e52p+2, -0x1.b57398p+2 +-0x1.069008p+2, 0x1.951438p+2 +0x1.54640ep+1, 0x1.a2e70ep-2 +-0x1.4584eap-1, 0x1.598412p+1 +-0x1.3508e2p+2, -0x1.df8c74p+2 +-0x1.d401bcp+1, -0x1.20ff5ep+0 +0x1.ade08ep+0, 0x1.fb9154p-2 +0x1.a816fp+1, -0x1.90a1d2p-9 +-0x1.6b755ap+1, -0x1.54b09ap+1 +-0x1.53687ep+2, 0x1.0603b8p+17 +0x1.1c64acp-1, -0x1.1cd93cp+0 +-0x1.d6676ep+0, -0x1.b3376p+1 +-0x1.397f52p+0, 0x1.204f1ep+2 +-0x1.9d15f8p+2, 0x1.86b446p+0 +-0x1.3a978cp+2, -0x1.299fc8p+2 +-0x1.a744b8p-3, -0x1.bb2884p+0 +-0x1.0a9a78p+0, 0x1.aabbf2p+1 +-0x1.a112b6p+1, 0x1.3d09dcp+2 +0x1.2cb5e2p+2, 0x1.3cd7acp+0 +-0x1.f1399p+1, 0x1.88f07ep+2 +0x1.93179ep-2, 0x1.2bfc96p+3 +0x1.32d43cp+7, 0x1.335b32p+2 +-0x1.e24d82p+1, -0x1.ebc294p+2 +0x1.4d8134p+1, -0x1.e10c4p+0 +-0x1.62805p+1, 0x1.6d05cep+14 +-0x1.407afcp+2, -0x1.c12b48p+0 +-0x1.7ef92ap-2, -0x1.41cc22p+0 +-0x1.b4dc08p+1, -0x1.b8c92ep+1 +-0x1.a4756cp+0, -0x1.d7ea62p+2 +0x1.a45014p-2, -0x1.3949p-2 +-0x1.f154e4p+2, 0x1.b57efp+1 +0x1.6e593ep+1, -0x1.b3b2e6p+1 +0x1.20b848p-1, -0x1.a7a9a2p+2 +-0x1.3edfeap-1, 0x1.04df46p+2 +-0x1.85c872p-1, 0x1.987aa6p+2 +-0x1.8d8ff4p-2, -0x1.7bbe5p+0 +0x1.09b6ep+1, 0x1.6540eep+1 +0x1.a035a8p+4, 0x1.1ca918p+14 +-0x1.6139c4p-2, -0x1.4f44bp-1 +-0x1.c87cf8p+2, -0x1.625e9p+2 +-0x1.b994fap+1, -0x1.d21a74p+2 +0x1.fb8fbcp+2, 0x1.4e0292p+1 +0x1.7bec5ap+1, -0x1.22ade6p+2 +0x1.3ff0fcp+1, 0x1.acf446p-1 +-0x1.081e4cp+1, -0x1.af18d2p-2 +-0x1.816382p+0, -0x1.dbf7e6p+2 +-0x1.109eap+2, 0x1.2f89c6p+0 +-0x1.0525cep-1, -0x1.1527b6p+0 +0x1.b3de52p+1, -0x1.730858p+0 +0x1.5a10d6p+3, -0x1.6d8996p+2 +0x1.34fc5ap+1, -0x1.8704c8p+2 +0x1.d4182cp+17, -0x1.4e2aacp+1 +0x1.0e842ap+0, 0x1.624156p+2 +0x1.50d6fep+1, 0x1.471f7p+0 +0x1.016aep-1, -0x1.6baefcp+1 +-0x1.21c30ap+1, 0x1.62072ap-4 +-0x1.39b198p+1, 0x1.7f04c2p+0 +-0x1.168386p+2, -0x1.c9fbccp+2 +0x1.1635f4p+1, 0x1.3ddefp-3 +-0x1.1ee2cep-3, -0x1.6899a6p+1 +0x1.dc1aa4p-1, -0x1.b601c4p-1 +0x1.a84624p+0, -0x1.33c518p+1 +0x1.a67986p+1, 0x1.0a3882p+2 +0x1.06a6ap+0, 0x1.6bf6eap+0 +-0x1.84d9fp+2, -0x1.6cf124p-1 +0x1.dcbcep+2, 0x1.3536fp+2 +0x1.cdd5ap+0, -0x1.bfefecp+1 +-0x1.618704p+1, -0x1.17cefcp+0 +0x1.67adb2p+2, 0x1.3a3954p+1 +-0x1.d038d4p-3, 0x1.36d7a8p+0 +0x1.e318b2p-2, -0x1.3e982cp+2 +0x1.471aa2p+2, -0x1.178b0ep+2 +-0x1.b5c338p+1, -0x1.a52046p+1 +-0x1.d018ccp-3, 0x1.2cb34p+10 +0x1.e26ee4p+2, 0x1.1156cep+0 +0x1.a0a6aap+2, -0x1.267fe2p+1 +-0x1.1988fap+0, 0x1.0b474ep+1 +-0x1.8fe198p+0, -0x1.5fdfdap+2 +-0x1.943708p-4, 0x1.8d0838p+0 +0x1.8b693ap+2, 0x1.fd35a4p+2 +0x1.20e762p-2, 0x1.1338d4p+3 +-0x1.ea5206p+1, -0x1.cd9f28p+0 +-0x1.1da77p+3, -0x1.123ce4p+2 +-0x1.07274p+1, 0x1.fb389p-1 +-0x1.39b1fp+1, -0x1.153f22p+3 +0x1.8dd608p+2, 0x1.c91194p+0 +-0x1.06ef9ep-1, -0x1.f7e71ep-3 +-0x1.2bcc98p+0, -0x1.c4bcf8p+13 +-0x1.263fecp+2, -0x1.d0ae2ap+1 +0x1.bf14b6p-3, 0x1.d08ea4p-2 +-0x1.d899f6p+2, -0x1.c8a996p+1 +-0x1.5587dcp+3, -0x1.c510eep+1 +-0x1.18b784p+2, 0x1.71cc02p+1 +-0x1.64f178p+1, 0x1.23e878p+1 +-0x1.aec4fap-1, 0x1.30e846p+2 +-0x1.f9dee6p-4, -0x1.24ba82p-1 +-0x1.9fe796p+0, 0x1.af099ep+2 +-0x1.43231ap+0, 0x1.15808p+2 +-0x1.dd8294p+1, -0x1.29bfc2p-3 +0x1.5fafe6p+1, -0x1.22b358p+1 +0x1.6651c6p-5, 0x1.e17a66p+1 +0x1.d3c68cp+0, -0x1.56483ep-2 +0x1.f538f4p-1, -0x1.7fb88ep+2 +0x1.74596ap-1, 0x1.90a7c4p+2 +-0x1.74067ap-1, 0x1.3902e8p+2 +0x1.359ad8p+0, -0x1.14bb78p+3 +-0x1.d2bp+1, 0x1.f9f7f8p+0 +0x1.f4b9e2p-2, 0x1.18af72p+2 +0x1.2336b2p+3, -0x1.aa7a9ep+1 +0x1.23d8f2p+2, 0x1.066028p+1 +-0x1.7154c8p+8, 0x1.0787d6p+2 +-0x1.9b00fep-2, 0x1.fe98dep+0 +0x1.5ce4dap+2, 0x1.54b8p+0 +0x1.7631f2p+1, -0x1.56d6cep+2 +0x1.e93e02p+2, -0x1.508c64p+1 +-0x1.9421eep+4, -0x1.c205f2p+2 +-0x1.4665ecp+3, -0x1.95aab2p+0 +-0x1.0cb91ep+2, 0x1.517e3p+0 +-0x1.bf61d2p+1, -0x1.457ed6p+2 +-0x1.37c8c2p+1, -0x1.002cb2p+2 +-0x1.07c27ap+1, 0x1.274168p+1 +0x1.38f41ep+2, -0x1.81ce3ap+1 +-0x1.d73dd2p-6, 0x1.1be246p+2 +0x1.6366c2p+18, 0x1.231018p+1 +0x1.23500ep+0, 0x1.19c6bep+0 +-0x1.5e77f6p+3, -0x1.a6520ep+0 +-0x1.fad8dcp-1, -0x1.520906p+0 +-0x1.77399ap+0, 0x1.14293cp+1 +0x1.50f4ap+1, 0x1.365732p+2 +-0x1.3469c8p-5, 0x1.b1cb36p+0 +0x1.0c8066p+0, 0x1.53f73p+1 +-0x1.ba6bf4p+2, -0x1.142e22p-2 +0x1.240138p+0, 0x1.9bb95p+0 +-0x1.5a932ep+0, 0x1.ba4fb4p+1 +-0x1.223d3p+3, -0x1.27b8aep-1 +-0x1.a8e546p-2, 0x1.01d11p+1 +-0x1.93f7d2p-4, 0x1.7fcddep+1 +0x1.9a1d8ep+2, 0x1.036464p+2 +0x1.b0e7p-1, 0x1.02db3p+3 +0x1.6b8aap+1, 0x1.2fa006p+2 +-0x1.d82328p+1, -0x1.9d410ap+2 +-0x1.de77eap-3, -0x1.149422p+9 +-0x1.cb4adcp-2, -0x1.3f3ebcp+2 +0x1.2cd10cp+2, -0x1.6f6f24p-3 +0x1.ed8106p-1, -0x1.895068p+1 +0x1.00c424p+2, -0x1.6b352ep-1 +-0x1.08fb74p+2, 0x1.26b1b2p+2 +0x1.5f5b98p+0, 0x1.5767d4p+2 +0x1.276b56p+2, 0x1.2bc056p+2 +0x1.054068p+2, 0x1.e8fb5ep-2 +-0x1.7950f2p+0, 0x1.61c78ep+2 +-0x1.3da23ap+2, 0x1.b309d2p+2 +0x1.b3d51ap-2, 0x1.c7101cp+0 +-0x1.17cc8p+3, 0x1.5e9e68p+0 +-0x1.7b88bap+2, -0x1.bc3d1p+0 +0x1.fe1772p+2, -0x1.454e04p-2 +-0x1.203ea8p-3, 0x1.0b63p+1 +0x1.0a3696p+0, 0x1.b69cbep-3 +0x1.e4a2ap+0, -0x1.fc1de8p-2 +0x1.9c5f0cp+1, -0x1.c662e4p-1 +0x1.cb775ap+0, -0x1.61d9a4p+0 +-0x1.1450cep+2, -0x1.e77354p+1 +-0x1.a191c6p-1, -0x1.3b096ap+2 +-0x1.573978p-2, 0x1.974ac4p-3 +-0x1.19e942p+2, -0x1.60de18p+0 +-0x1.787726p+0, -0x1.fea152p-3 +-0x1.c22308p-1, 0x1.288e8p+0 +-0x1.18dcfep+3, -0x1.e322c8p+0 +-0x1.11322ep+1, -0x1.34b88ap+2 +0x1.52f128p+1, 0x1.119c1p+2 +-0x1.69e2d2p-5, 0x1.1feb9ap+2 +0x1.61fedap+0, -0x1.8f798ap+2 +-0x1.507656p-2, 0x1.969822p+0 +-0x1.4b524ep-1, -0x1.321ac4p-4 +-0x1.6ebfaep+2, 0x1.e1d78cp+2 +-0x1.1208eep+1, 0x1.50da0ap+1 +0x1.095648p+2, 0x1.d7c7b6p+2 +-0x1.d0964cp+1, 0x1.2e6518p+1 +-0x1.c0bdc4p+1, 0x1.1695dp+0 +0x1.0454b4p+1, 0x1.4ccceap+0 +-0x1.1db5fap-2, -0x1.786a46p+2 +0x1.990da6p+1, -0x1.f317d6p+4 +0x1.4f6fe8p+1, -0x1.d20a7ap+1 +-0x1.99dd6p+0, 0x1.e5340cp+1 +0x1.a5b96ap+2, -0x1.928d3cp+0 +0x1.2e3152p+0, 0x1.513136p+1 +0x1.0222cap+1, -0x1.c39996p+6 +-0x1.ec6732p-1, 0x1.0523dep+1 +-0x1.3a3f7cp+2, 0x1.5ebaf6p+2 +0x1.224768p+2, -0x1.1e90c4p+3 +-0x1.fedbaap+1, -0x1.02282p+3 +-0x1.7e0754p+11, 0x1.5e371cp+10 +-0x1.e2fa34p+2, -0x1.000ccp+0 +-0x1.16afe8p+2, 0x1.5d829ap+1 +-0x1.582e24p+2, -0x1.65ffe8p+0 +-0x1.07b006p+2, -0x1.8a79aap+2 +-0x1.362ff8p+2, 0x1.5a2a56p+1 +-0x1.ad62d6p+0, 0x1.43efdap-2 +-0x1.121deap+0, -0x1.68e8ecp+0 +-0x1.4737a8p+1, 0x1.2e6986p+12 +0x1.d3725p-1, -0x1.d01bfap+1 +-0x1.d040bp+1, -0x1.d96b68p+14 +-0x1.23d4f4p+3, 0x1.82c22ep+9 +0x1.8733f8p+2, 0x1.bc26f6p+1 +0x1.054894p+6, -0x1.c049b6p-4 +-0x1.fec492p+0, 0x1.7f7968p+2 +-0x1.1dd896p+1, -0x1.a9ae64p+1 +-0x1.8077dep+2, -0x1.1e7b08p+3 +0x1.235396p+1, -0x1.c87d1p-2 +-0x1.d320dap+0, 0x1.03b144p+1 +0x1.7a3848p+0, 0x1.242e1ep+2 +0x1.b7936ap+0, -0x1.4f848cp+1 +-0x1.0e20dcp+2, -0x1.c14bcp+2 +-0x1.5f1d22p+5, 0x1.a4476p+2 +0x1.d225c2p-1, 0x1.21c166p+0 +0x1.235af8p+1, -0x1.1b58bap+1 +-0x1.58b5e6p+0, 0x1.dc72e4p+2 +-0x1.de7f64p+1, 0x1.76a74ep-1 +-0x1.b2a272p+0, -0x1.d78d2ap+0 +-0x1.d3a276p+1, 0x1.5d8ba8p-2 +0x1.492d76p+9, -0x1.22ebdcp+2 +0x1.78e76p+0, -0x1.991118p+1 +0x1.0855c4p+2, -0x1.36a24ap+1 +-0x1.2510e8p+2, -0x1.0d06dep+0 +-0x1.c765eep+11, 0x1.afd89cp-1 +-0x1.29809ep+1, 0x1.aaf702p+2 +0x1.9dcb1p-2, 0x1.5f3cc8p+1 +0x1.4ba3a6p+2, -0x1.6d9b24p-2 +0x1.a3ea74p+1, 0x1.207bc6p-1 +-0x1.fe6d08p+1, 0x1.1a6974p+1 +0x1.d70e4ap+1, 0x1.6f4598p+2 +-0x1.0c62a6p+0, 0x1.d820cap+2 +-0x1.71efdcp+1, -0x1.30841ap+1 +0x1.70f534p+0, -0x1.18de14p+6 +0x1.d6ae62p+2, 0x1.f196bcp+1 +-0x1.41d18ep+3, -0x1.762a84p+2 +0x1.d63c0ep+1, 0x1.f22036p+2 +-0x1.f1afc8p+1, -0x1.d775dp+0 +0x1.a217aap+2, -0x1.643dcp+14 +0x1.7d3ed6p+1, -0x1.e87ddap+1 +-0x1.9ed7a2p+1, -0x1.5be994p+2 +-0x1.9df17ep-1, -0x1.4d8beap+2 +-0x1.dca98p+9, -0x1.cd544cp+0 +-0x1.297dfap+2, -0x1.72ed2p+1 +0x1.351bfep-1, -0x1.7a6164p+1 +0x1.524c22p+1, -0x1.0a74b4p+2 +0x1.1f939p+1, 0x1.21e258p+0 +0x1.7f5a82p+1, -0x1.0326ep+1 +0x1.3dbaa2p+0, 0x1.c7e528p-1 +0x1.5e1d8ep-5, -0x1.d7ebf6p+1 +0x1.9097b6p+1, 0x1.210e8p+8 +-0x1.fd2e5p-2, 0x1.34111cp+2 +-0x1.320bb8p+1, 0x1.c3d3cep-1 +0x1.d68baep-4, 0x1.d5fbdap+1 +0x1.774752p+2, -0x1.a3adc4p+2 +-0x1.c7e54ap+0, -0x1.1872bap+0 +-0x1.e39d88p+1, 0x1.b7553p+2 +-0x1.db9718p-1, -0x1.7e4a4ap+0 +-0x1.ca0c48p+0, -0x1.140942p+0 +-0x1.b89a4ep+2, -0x1.047d92p-2 +-0x1.1fca22p+2, 0x1.f76c26p+7 +0x1.0ea7cp+2, 0x1.c6c844p+1 +0x1.603424p+2, -0x1.a5ffd2p+0 +0x1.ab8658p+7, 0x1.125b5cp+2 +0x1.90738cp+0, 0x1.d921bp+2 +-0x1.b15416p+2, 0x1.44313ap+2 +0x1.f07062p+2, -0x1.46944p+0 +0x1.52ed3ap+14, -0x1.6c8e2p+2 +0x1.597e7cp+2, 0x1.f53812p+11 +-0x1.7b4e54p-1, -0x1.47ffa4p+2 +0x1.5c496ep+12, 0x1.260286p+1 +0x1.686e96p+2, 0x1.710bd6p+2 +0x1.55e84p+2, -0x1.43ffa8p+0 +-0x1.69b8c8p+1, 0x1.c0c0d8p+2 +0x1.eac24ap+1, 0x1.e064cp+2 +-0x1.c5a6f6p+2, 0x1.7d090ap+3 +-0x1.51054cp-1, 0x1.5e0ad8p+13 +0x1.064c9p+3, 0x1.0e768ap+2 +0x1.fcd304p+1, -0x1.ad4e7ep+2 +-0x1.6fa7bcp+2, 0x1.1131d4p-1 +0x1.84b6fp+2, 0x1.82d034p+3 +0x1.307076p+1, 0x1.d6dd86p+0 +0x1.b0c424p+0, 0x1.6ecb46p-2 +0x1.5472dp+0, -0x1.2c76e4p-2 +-0x1.d8f29ap+2, -0x1.a631e4p+15 +-0x1.5bf5c4p+3, 0x1.88639ap+0 +0x1.004798p+2, 0x1.11537p-1 +-0x1.16a01p+12, -0x1.dc8958p+1 +0x1.dc3e84p+0, -0x1.93ea0ep+10 +0x1.aa6136p+2, -0x1.99a04cp+1 +0x1.b0839ep+2, 0x1.d13378p+1 +0x1.117444p+8, -0x1.443c98p+1 +-0x1.eeb87ep+1, 0x1.38c446p+2 +-0x1.710f7cp+2, -0x1.07b1ap+2 +-0x1.c75e14p+1, -0x1.3ddf74p+0 +0x1.27093p+2, -0x1.0833d4p+0 +-0x1.2cb6bap-2, 0x1.6bd3ep+2 +-0x1.17db0ap+2, -0x1.fc4a6ap-2 +0x1.df7684p+15, 0x1.40fc56p+0 +-0x1.cc7f4ep+1, -0x1.792ec6p+0 +-0x1.44a492p+3, -0x1.3827d4p+2 +-0x1.41cca4p+3, 0x1.465696p+13 +0x1.d9b438p+1, -0x1.82e392p+3 +-0x1.dd1504p-1, 0x1.dfc3ccp+1 +0x1.1f3afep-1, -0x1.0cc97cp+1 +-0x1.201c3ep+1, 0x1.df82bp+1 +0x1.395d76p-1, -0x1.0b866ep+3 +-0x1.738d3p+2, -0x1.0eeadep+2 +0x1.40cdccp+1, -0x1.3c73dap+2 +-0x1.74ae48p-1, 0x1.d8275ap+1 +0x1.8ff2cp+10, 0x1.1723e8p+3 +0x1.8f429p+0, 0x1.550ea2p+2 +-0x1.b1783p-4, -0x1.061f08p+2 +-0x1.7ae9bap-1, -0x1.1541c8p-2 +-0x1.ed3336p-1, -0x1.a2b8ep+0 +0x1.d1951ep+1, -0x1.e01f1cp+0 +0x1.11494ap-1, -0x1.39bbdap-1 +-0x1.a0c208p+2, 0x1.268d4cp+2 +0x1.8e2fbcp+1, -0x1.6b14c4p+1 +0x1.8dc764p+1, 0x1.8779e6p+0 +-0x1.176c96p+1, -0x1.25a544p+2 +-0x1.81eb7ap+1, 0x1.b54004p+9 +0x1.11e368p-1, 0x1.8ec7bp-1 +0x1.d2b6ccp+6, -0x1.016aeep+7 +0x1.827ddap+0, -0x1.14a3cep+2 +-0x1.01a3dcp+9, -0x1.75eb8p+2 +0x1.24954cp+1, 0x1.f902dcp+0 +0x1.640cf2p-1, -0x1.2f225p+2 +-0x1.02d94cp+2, -0x1.9b7db8p+1 +0x1.68651ep+2, 0x1.f4797p+1 +-0x1.d1393ep+1, 0x1.c5dc9p+2 +0x1.bb6f32p-1, -0x1.cd8996p+1 +-0x1.c73194p+1, 0x1.987076p+0 +-0x1.a68fcp+1, -0x1.52d8c8p+6 +-0x1.339fbep+2, -0x1.413902p+0 +0x1.ce6222p+1, 0x1.970f02p+2 +0x1.8abadap+1, -0x1.2c58f8p+0 +0x1.06a996p+2, -0x1.a7a642p+16 +-0x1.fe3dd4p+2, -0x1.6021c8p+1 +-0x1.575738p-2, -0x1.cfee4ap+0 +0x1.11638ep+0, -0x1.fb4ad6p+0 +-0x1.9e297ep+9, -0x1.00d2dap+0 +0x1.7fbfd8p+2, 0x1.5a65d8p+2 +-0x1.9b58a2p+5, -0x1.4915bcp-3 +0x1.6beb9cp+1, 0x1.57a912p+0 +-0x1.12d05p-1, 0x1.89ea2ap+0 +-0x1.5632cep+0, -0x1.d4c06cp+1 +-0x1.4f1954p+0, 0x1.3db73p+1 +-0x1.d8db14p+0, 0x1.98df14p+1 +0x1.14ed3ap+0, 0x1.152fd8p+0 +-0x1.eb0c42p-1, 0x1.c34eeap+1 +0x1.f84a2p+2, 0x1.43f32p+1 +0x1.38668cp+2, -0x1.0fcddap+1 +-0x1.9f96a6p-1, 0x1.e85928p+0 +-0x1.361cep+3, -0x1.8c83cep+2 +0x1.1c76acp-3, 0x1.5b1636p+1 +0x1.5c5494p+1, 0x1.969e8ap-3 +0x1.2440fap+3, 0x1.31fb48p+2 +0x1.2d1b84p+0, -0x1.225302p+1 +-0x1.342994p+2, -0x1.71951ep+0 +0x1.29b1a2p+2, -0x1.cff758p+2 +0x1.2a3a82p+2, 0x1.f4252ap-2 +0x1.c8b542p+1, 0x1.83bb48p-1 +-0x1.4dda2ep+3, -0x1.0fdb2ep+3 +-0x1.35116p+2, -0x1.b63122p+0 +0x1.a740bp+0, 0x1.094508p+1 +-0x1.911454p+8, -0x1.808f84p+2 +-0x1.b7e28ap+0, -0x1.3c6e26p+2 +0x1.e87adep+1, 0x1.3902b2p-1 +-0x1.76edd4p-2, -0x1.839bfcp+2 +-0x1.8b4aap+0, -0x1.4a916p+1 +-0x1.bb2d5p+0, -0x1.9fb55ep+1 +0x1.0cca48p+1, 0x1.0d849ep+16 +0x1.0dc2f2p+0, 0x1.9a8406p+2 +0x1.a607cap+2, -0x1.44bb7ep+2 +0x1.f3e262p+1, -0x1.15187p+2 +-0x1.5946e6p+2, -0x1.d8f4f8p+0 +-0x1.bc8404p+1, 0x1.c53ab4p-3 +0x1.191f9ap+2, 0x1.acbcecp+1 +-0x1.4c2d72p+1, -0x1.02ea12p+2 +0x1.20889ep+0, 0x1.8c2f3p+2 +0x1.10b322p-2, -0x1.39c9aap+17 +-0x1.2743a2p+1, 0x1.4c16c2p+0 +-0x1.035d74p-3, -0x1.596772p+0 +-0x1.044af2p+2, 0x1.57275ap+1 +0x1.0b9a4cp+3, 0x1.c2c14ap+0 +-0x1.18b6fp+1, 0x1.aa7be8p-1 +0x1.0e7168p+2, -0x1.b5a3dcp-1 +-0x1.c72a6ap+0, -0x1.cb8108p-2 +-0x1.47dbd4p+2, -0x1.df37b2p+1 +-0x1.430244p+2, 0x1.f6648p+2 +0x1.d75654p+1, 0x1.19a41ap+1 +-0x1.ac1622p+0, -0x1.901e2p+1 +0x1.091688p+1, -0x1.9edd0ep+0 +-0x1.6e9738p+1, 0x1.66dc78p+2 +-0x1.8400fep+5, -0x1.a8aa78p-5 +-0x1.aee52cp+2, 0x1.968dc2p+12 +0x1.086cfep+7, -0x1.78192p-2 +0x1.2401c8p+2, 0x1.4296cep+1 +0x1.b9051ep+2, 0x1.6b220ep+1 +-0x1.ae685cp+4, 0x1.aed15ep+2 +0x1.144ca4p+3, 0x1.67aa5p+2 +-0x1.48a92p+2, 0x1.9a61f2p-1 +-0x1.131b2cp+2, 0x1.eaf848p+0 +-0x1.be68cp+10, -0x1.a0321ap+1 +0x1.616dbp+1, 0x1.2ed1fcp+0 +0x1.0e1f56p-1, -0x1.9f96e8p+0 +-0x1.0ef2a6p+2, -0x1.6462b4p-1 +-0x1.d53832p+1, 0x1.b8dd7p+0 +0x1.4874bap+0, -0x1.ec97bap+2 +-0x1.53ef34p+1, -0x1.07fbaap+2 +-0x1.d5c394p+0, -0x1.448fe4p+3 +0x1.094c28p+1, 0x1.31663ep+2 +-0x1.cf8768p+1, 0x1.3509dp-1 +0x1.8dabe2p+0, 0x1.89563ep+0 +0x1.41e1ccp+0, -0x1.bb2d1cp+1 +0x1.1c840ep+2, 0x1.bc5d9p+2 +0x1.36b89cp+1, 0x1.d51926p+1 +-0x1.88f8a4p+2, 0x1.033bdcp+2 +0x1.710218p+1, -0x1.3d096ap-4 +0x1.3473c8p+2, -0x1.e31a32p+1 +0x1.efcb56p+1, 0x1.a506aep-1 +-0x1.711fe8p-3, -0x1.144e54p+2 +-0x1.821f6ap+0, -0x1.facc3ep-2 +-0x1.8d14p+3, -0x1.69e3aep+0 +0x1.4818c4p+1, -0x1.40af88p+2 +0x1.74a9b4p+2, -0x1.03bd38p+2 +0x1.6e1a9p-2, 0x1.702f9ep+1 +-0x1.788988p+17, -0x1.a28782p+1 +-0x1.6a13d2p+1, 0x1.bf6546p-1 +0x1.0073b4p-2, -0x1.deccb4p+1 +0x1.b97cd6p+2, -0x1.e8595ap+2 +-0x1.e8608ap+1, 0x1.29b278p+0 +0x1.12bc5ep+6, 0x1.0c8efep-2 +0x1.8abba2p+1, -0x1.701154p+0 +0x1.11c3p+1, -0x1.fcebaap+1 +0x1.b7819ap-1, 0x1.c4abcep+1 +0x1.546188p+5, -0x1.625d3p+0 +-0x1.4d1642p+3, -0x1.6e78e8p+2 +0x1.ff57b4p-1, -0x1.732f8p+2 +0x1.c60c8ap+2, -0x1.6c0f72p-4 +0x1.6c6fccp+1, -0x1.8770acp+2 +0x1.2e1f4p+1, -0x1.8a5f1p-3 +-0x1.137b36p-2, 0x1.08318ep+1 +0x1.55dadp+1, 0x1.c697cap+1 +-0x1.7e14c4p+0, 0x1.c05afap+1 +0x1.649566p+13, 0x1.d456c4p-1 +0x1.8f5974p+1, 0x1.9e9302p+2 +0x1.27f39ap+2, -0x1.1bbf7cp+1 +-0x1.be890cp-2, 0x1.a553d6p+1 +0x1.43939ep+1, -0x1.4045e4p+2 +-0x1.35a0f6p+2, -0x1.3422aap+1 +0x1.fa67b6p+2, -0x1.3cc6fcp+2 +-0x1.c34b1ep+14, 0x1.78175cp+0 +0x1.07b032p+3, -0x1.39bc1cp+1 +0x1.7e1ecap+2, -0x1.a8cdaap+1 +0x1.f5b0cap+1, -0x1.e7061ap+1 +-0x1.323af2p+0, 0x1.8d033ap+1 +-0x1.a1a074p+1, 0x1.50cc42p-2 +-0x1.f56e5ep+1, 0x1.3859dap+1 +0x1.73203cp+1, -0x1.8adde6p+1 +-0x1.d557aep-2, 0x1.36e46ep-1 +-0x1.70fe44p+5, 0x1.27b778p-3 +-0x1.3d6d94p+1, -0x1.11e906p+1 +-0x1.deaedep+2, -0x1.6c2686p+0 +-0x1.751cb6p+0, 0x1.7e5a44p+1 +-0x1.a1a944p+1, -0x1.631e76p+1 +-0x1.4974eap-1, -0x1.610c3ap-3 +0x1.64f79cp+0, 0x1.ef4876p+0 +0x1.3bf078p+3, 0x1.1b3054p-3 +-0x1.0d3a5p+0, 0x1.017ee4p+3 +-0x1.208ccp+2, -0x1.5f084ep+2 +-0x1.2bc952p-2, 0x1.79882cp+1 +0x1.f213b8p+1, -0x1.a1dee8p-4 +0x1.398bap+0, 0x1.18888ep+17 +0x1.25cfeap+10, 0x1.d9419cp+13 +0x1.b164eap-1, 0x1.adaf62p+2 +0x1.e9a2d2p+1, -0x1.17544ap+2 +0x1.3276eap-2, 0x1.3bfec6p+8 +-0x1.a4524cp+7, 0x1.bde5bcp+8 +-0x1.294108p+12, 0x1.e4a268p+1 +-0x1.2988d8p+1, -0x1.35c038p+1 +-0x1.ba83c6p-4, -0x1.2596bap+2 +0x1.a73c7p-1, -0x1.d574c6p-2 +0x1.9e272ep+2, -0x1.baca84p+1 +0x1.9f22e2p+0, -0x1.c073cap-1 +0x1.1633b2p+1, 0x1.63fdep+0 +0x1.3bf4p-1, -0x1.242928p+0 +0x1.b44f6p+1, 0x1.35ef8ep+1 +0x1.554106p+7, 0x1.01263ep-1 +0x1.43f43cp+2, -0x1.272e42p-1 +0x1.cde266p+2, -0x1.2759fcp+2 +0x1.53c2ap+1, -0x1.3b002ap+1 +-0x1.a9d384p+1, -0x1.c0ffa4p+2 +0x1.28be5ap+2, 0x1.dee24p-1 +0x1.00a382p+2, -0x1.089956p+2 +0x1.b552fp+13, 0x1.1d9202p-1 +0x1.b4eabap+2, -0x1.50679p+3 +-0x1.b0207ap+0, 0x1.15067ep+1 +0x1.33b2fep+2, 0x1.229d8ep+1 +-0x1.14bb16p+2, 0x1.06aa7ap+1 +0x1.b45904p+0, 0x1.715c2cp+2 +0x1.668408p+1, 0x1.f24d72p-1 +0x1.dbf50cp+2, -0x1.938fbap+2 +-0x1.bbfd72p-2, 0x1.333e5ep+2 +0x1.05222ep-2, 0x1.8c6cd2p+2 +0x1.8f1b76p+0, -0x1.02c5f6p+0 +-0x1.1713aap-1, -0x1.a29ad4p+2 +-0x1.b6d618p+0, -0x1.70b116p-1 +-0x1.d84738p+0, -0x1.a232cp-2 +-0x1.4924e6p+10, 0x1.523a7ep+2 +0x1.e70aeep+0, -0x1.5a1c98p+1 +-0x1.ed119p+1, -0x1.792fd2p-1 +0x1.488072p+1, -0x1.e435bep+0 +-0x1.e5248cp+1, 0x1.2ea91cp+1 +0x1.075236p+2, -0x1.9fd766p-3 +0x1.d27774p-1, 0x1.a0de76p+2 +-0x1.779e1ap+1, -0x1.9a63b2p+1 +0x1.4551cp+1, -0x1.2bf0fp-2 +-0x1.ae0f78p+0, 0x1.f4803ep+18 +0x1.34f0d2p+0, 0x1.69e272p+0 +0x1.2da5a4p+3, 0x1.a9cf96p+1 +-0x1.45019ep-2, -0x1.02b058p+5 +0x1.ce6a22p+1, 0x1.e60fc4p-1 +-0x1.ba4f24p+1, 0x1.bef6acp+0 +-0x1.f08f32p-1, -0x1.827efp+0 +-0x1.814518p+1, 0x1.929f7cp+0 +-0x1.2e62cap-1, -0x1.0b1e92p+2 +0x1.8b1da8p+0, 0x1.41a8c4p+1 +-0x1.c2ed34p+1, 0x1.23ff52p+2 +-0x1.797516p+1, -0x1.75dcccp+1 +0x1.31814p+0, -0x1.19f828p-1 +0x1.4f28e4p+2, 0x1.9f7bep-1 +-0x1.5563cep+6, 0x1.f24a98p+1 +-0x1.3785cp+1, -0x1.28ddfp+2 +0x1.af2e4cp+1, -0x1.bb9c34p+1 +-0x1.237384p+2, 0x1.216e94p+1 +-0x1.404f78p-1, -0x1.d5f764p+1 +-0x1.6a54a4p-1, -0x1.ea251ep-1 +0x1.e4d75cp+0, -0x1.51d778p+2 +0x1.f0ffbep-1, 0x1.07cd9ap+0 +0x1.7291e8p+1, -0x1.fe51bp+16 +0x1.16fa72p+1, -0x1.68cf94p+1 +0x1.bda476p+2, -0x1.d8c13ap+16 +-0x1.044f2cp+2, 0x1.651544p+12 +-0x1.05859ap+2, -0x1.51373ep-4 +0x1.0ccfep-1, 0x1.217ce6p+2 +0x1.5f8346p+0, -0x1.4855b8p+2 +-0x1.c67156p-2, 0x1.f4d97p+5 +0x1.2a6246p+1, 0x1.caa2ecp-1 +-0x1.682f24p+1, -0x1.d0d90ep+2 +0x1.904d8p+1, -0x1.d9bc36p+1 +0x1.b609dp+1, -0x1.9a9a14p+1 +0x1.e69d3p+5, -0x1.ada57ep+1 +0x1.8fce24p+0, 0x1.ac55ep+1 +-0x1.0c3b9p+0, 0x1.a5e5b4p+0 +-0x1.0565e8p+1, 0x1.6da238p-1 +0x1.3bed0ap+19, -0x1.ff2f3cp+2 +0x1.bef44ap+2, -0x1.8801d6p-2 +-0x1.cbb29ep+0, 0x1.09dc7p+1 +0x1.a09c22p+16, 0x1.7e57fap+3 +-0x1.6ef242p+2, -0x1.5b7c1ap+3 +0x1.218a9p+2, 0x1.065246p+0 +-0x1.4bc35ap+2, -0x1.503f56p+1 +-0x1.de0226p+1, -0x1.7c16f2p+2 +0x1.be4304p+2, 0x1.a2e2c6p+2 +0x1.5f5178p+1, -0x1.80f52p+1 +0x1.be8832p+2, 0x1.1e1ad8p+2 +0x1.88af12p+1, 0x1.56d51p+1 +0x1.2e8bcap+1, 0x1.7c2a16p+0 +-0x1.c3f246p+0, 0x1.2c923ap+17 +0x1.11083cp+2, -0x1.7e2af4p+1 +-0x1.7da2eap-1, 0x1.506ffcp-1 +0x1.7ab5eap-1, 0x1.b77cacp-2 +0x1.7b3b4ep+2, 0x1.bbddc2p+1 +0x1.c509a2p+2, 0x1.193536p+13 +-0x1.71cd3ep+17, 0x1.826b8p+2 +0x1.88115p+1, -0x1.242f7ap+0 +-0x1.4b33fap-1, -0x1.3ff7b2p+2 +0x1.e5c146p+1, -0x1.0452ccp-4 +0x1.cb2aaap+6, -0x1.2fe8f8p+1 +0x1.4b188cp+1, -0x1.02805ap+0 +0x1.81a3dp+2, 0x1.61605p-1 +-0x1.88b9b4p+0, 0x1.adbdep+1 +0x1.ef8b78p-1, 0x1.6f0586p+1 +0x1.12e948p+9, 0x1.e0380ap+0 +-0x1.72ba7p+2, 0x1.085a22p-1 +-0x1.4730bap+3, 0x1.d2be6cp+0 +0x1.9070f6p+2, -0x1.13802ep+2 +-0x1.1f41e4p-1, -0x1.29929cp+0 +0x1.d3f8e6p-1, -0x1.001bd2p+4 +0x1.0ad204p-1, -0x1.e96f94p-1 +-0x1.21e5d8p+1, 0x1.2ad73p+11 +-0x1.fea528p-6, -0x1.93dc6ap+0 +-0x1.680cd2p+3, 0x1.21f1f2p+1 +-0x1.060a6ep+3, -0x1.1ff164p+2 +0x1.386158p+9, -0x1.0ccf4p+3 +0x1.12b196p+2, -0x1.220a6p+0 +-0x1.5ef9ecp+0, 0x1.71cdb6p+1 +0x1.1b40f2p+2, 0x1.dae342p-1 +0x1.ceb356p+2, 0x1.028d0ap+1 +-0x1.0e4394p-1, 0x1.9bebf2p+6 +0x1.d86p-1, -0x1.e6a31ap+1 +-0x1.59c1dap+1, 0x1.1e75dap-2 +-0x1.0d4c2p+2, 0x1.c430b8p+1 +-0x1.d37956p+1, -0x1.a04d48p-2 +-0x1.04014cp-1, 0x1.658adp+0 +-0x1.0ff5d6p-4, -0x1.757c72p+7 +-0x1.26c032p+2, 0x1.ee75eap+3 +0x1.502734p+1, 0x1.687e12p+0 +-0x1.82955ep-1, -0x1.f0a28ep+1 +-0x1.934f9p+0, 0x1.9f3cp+0 +0x1.104162p+1, 0x1.250e94p+3 +0x1.cbb8b2p+1, -0x1.3e6664p+12 +-0x1.39dd92p+0, -0x1.69653ap+1 +-0x1.9e5b08p+2, 0x1.cf9e7ep-2 +-0x1.f509a8p+1, 0x1.e6fb88p+0 +-0x1.b1e6cap+16, -0x1.d09f9ap+16 +-0x1.d76b72p+2, 0x1.c56e2cp+2 +0x1.2fd78cp+1, -0x1.53571ep+0 +0x1.1fc02cp+2, 0x1.05940ap-1 +0x1.beec42p+3, -0x1.deccf2p+1 +-0x1.c31c2p+1, -0x1.609aeap+14 +0x1.3e4dd6p+2, 0x1.32e094p+0 +0x1.b25072p+1, -0x1.e1b734p+2 +0x1.36b69cp+2, 0x1.24780ep+2 +0x1.353a98p+0, -0x1.3612bcp+2 +-0x1.e53778p-1, 0x1.17896cp+2 +0x1.ea007cp+5, -0x1.53c8cap+1 +0x1.ea6f96p+1, 0x1.b4e004p+0 +-0x1.e2af58p+2, 0x1.0533a6p+2 +0x1.c505aap+12, 0x1.a8aec6p+2 +-0x1.70f68p+1, 0x1.51f402p+1 +0x1.db0648p-2, 0x1.4e1964p-1 +0x1.a93094p+0, -0x1.1026fep+1 +0x1.2b118p-2, -0x1.1663b2p+0 +0x1.64f32ap+0, 0x1.76f538p+2 +-0x1.229edap-3, -0x1.9d5422p-1 +0x1.663992p+0, 0x1.827424p-1 +0x1.56ef8ap+1, -0x1.48c9fcp-9 +0x1.2c9096p+0, 0x1.f11c2ap-1 +-0x1.d30d84p+1, 0x1.7c24bp+1 +-0x1.a8496ap+1, -0x1.8d426p+0 +0x1.2fee8ep+1, 0x1.2784b4p+1 +-0x1.fa3b2p-1, 0x1.5f32acp+0 +-0x1.d1bb1p+1, -0x1.b9e65cp-1 +-0x1.4d433p+12, -0x1.6dbe7p-1 +0x1.a46e98p+2, 0x1.4cde12p+2 +-0x1.e842a6p+1, 0x1.a07a38p+0 +0x1.021d6cp+2, -0x1.07a6aap+0 +0x1.684072p+3, 0x1.5a13a4p+0 +0x1.e2f996p-3, -0x1.5ffafep+0 +0x1.b56388p-1, 0x1.7d238p-2 +-0x1.61af1cp+1, 0x1.3080fp-5 +0x1.24984ap+2, -0x1.89074p+2 +-0x1.ab4148p+2, -0x1.dfbe18p-2 +0x1.9308cp-1, 0x1.c58a08p+2 +0x1.b362b4p+0, 0x1.57be1p-2 +0x1.475e48p+6, -0x1.020ca6p+3 +0x1.83ec8ap+1, 0x1.b2c478p+1 +-0x1.113a0ap+1, -0x1.d382c8p+1 +0x1.7880f4p+0, 0x1.971a04p+2 +0x1.0fb78p+1, -0x1.9719cap-1 +0x1.ea1f6ep-2, 0x1.32beaep+2 +-0x1.cf59e6p+1, 0x1.1b29dp+2 +-0x1.3a8dc8p+2, -0x1.9329f8p+1 +-0x1.da33fap-1, -0x1.6ef64cp+0 +0x1.842f2ep+2, -0x1.52cf36p-2 +0x1.081ab8p+0, -0x1.a3029ep+2 +0x1.0dd4a2p+3, 0x1.342d84p-2 +-0x1.365096p-1, 0x1.f8c28p+0 +0x1.2e34b2p+2, 0x1.76e0ccp+2 +0x1.7fc06cp+2, -0x1.1fc044p+2 +-0x1.0ae6fcp+2, -0x1.2c6562p+1 +-0x1.cc02a4p+1, 0x1.eed6e2p+2 +-0x1.95d15ap+2, -0x1.c9bdbap+2 +-0x1.1ee18ep+14, 0x1.059c14p+2 +-0x1.cd3fc2p+1, 0x1.6e093cp+1 +-0x1.4d1a16p+2, 0x1.fbe58cp+0 +0x1.bc4616p+0, 0x1.8efeaep-2 +-0x1.edf52cp+1, -0x1.c75fdep+2 +-0x1.360ca4p+2, -0x1.8316aap+0 +-0x1.d60076p-4, 0x1.69c85cp+18 +0x1.dcda46p+1, -0x1.59eddp-4 +0x1.4b4d1ap-1, 0x1.33462p+2 +-0x1.29ca76p+1, -0x1.be1556p+1 +0x1.ea0cp+0, -0x1.ce3404p+0 +0x1.203732p+16, -0x1.e1bb82p+1 +0x1.ea0ff4p-3, 0x1.923c72p-2 +-0x1.4884c2p+2, 0x1.152026p+3 +0x1.d299f4p+1, 0x1.0386c8p+3 +0x1.00ec54p-1, -0x1.0a6d14p+1 +0x1.0269a4p+1, 0x1.563868p+1 +-0x1.b712cap-1, 0x1.1f2cd4p-1 +0x1.ed4bep-2, -0x1.a29e18p-3 +-0x1.069dcp+2, -0x1.050c8ap+1 +0x1.90271cp+2, 0x1.17cf9ap+1 +-0x1.917cap+0, 0x1.15f86p+3 +0x1.b87e36p+2, 0x1.7ae312p+0 +-0x1.c5c72cp-2, -0x1.eb5c14p+0 +0x1.2db7cep+3, 0x1.917df8p+2 +0x1.0032d2p+2, -0x1.c04d52p-1 +-0x1.658aacp+2, -0x1.def7a4p+1 +0x1.1c1b7cp+17, -0x1.e29c2ep+2 +-0x1.3a92f6p+1, -0x1.018406p+0 +-0x1.a1bb46p+1, -0x1.cd19acp+0 +-0x1.48b60ep+0, -0x1.bd3504p-1 +-0x1.c46618p+2, 0x1.bf977ep-1 +0x1.8be50cp+14, -0x1.a5f17p-1 +-0x1.f0471p+1, -0x1.49c53ap+1 +0x1.99798ep-1, 0x1.313ffep+5 +0x1.91aab6p+1, -0x1.28062ap+2 +0x1.1d4446p+13, -0x1.2aefep+2 +-0x1.53a44ep+2, 0x1.4bc1cap+18 +0x1.c5d29ep+1, 0x1.539ccep+0 +0x1.1d375ep+3, -0x1.8e5f28p+1 +0x1.6b2458p+1, 0x1.734bbp+0 +-0x1.67befp+1, 0x1.ba7dp-1 +0x1.6f2d8ap+0, -0x1.4e682ep+1 +-0x1.866034p-2, -0x1.a8b234p+1 +-0x1.5b18fp+2, -0x1.43970cp+1 +0x1.2cbe72p-3, -0x1.26b7cp+2 +0x1.194518p+0, -0x1.d7ef26p+1 +0x1.6bd3bep+1, 0x1.2d60d6p+2 +0x1.4e2a48p+0, -0x1.9bc726p+1 +0x1.6521f8p+2, 0x1.3246dcp+0 +-0x1.80003p+0, -0x1.1678p+2 +-0x1.14856p+3, 0x1.54ed1cp+2 +-0x1.2eefa8p+0, 0x1.97c2d4p+0 +-0x1.142d7cp+2, -0x1.796aaap-2 +0x1.6216e8p-2, 0x1.546bc4p+3 +-0x1.998eb2p+0, 0x1.25fa9p+1 +0x1.fc34f6p+1, -0x1.6999cap+2 +0x1.52bfeep+0, 0x1.564f16p+1 +-0x1.aeebaap+0, 0x1.99268ap-3 +-0x1.ee66bp+0, -0x1.1c6a18p+1 +0x1.435e7ep-2, 0x1.76cc2ep+3 +-0x1.83fc52p+0, 0x1.3abca8p+10 +0x1.03605cp+1, 0x1.add1eap-2 +-0x1.12d562p+2, -0x1.b48c3p+0 +0x1.6b3ae4p-4, 0x1.173f84p+3 +-0x1.053674p+15, 0x1.67d708p+2 +0x1.46b33p-2, -0x1.95dc2p-3 +-0x1.fb3326p-1, -0x1.d185f6p+1 +0x1.7f29d6p+2, 0x1.404b72p+1 +-0x1.d55568p+1, -0x1.6dfd1cp+2 +-0x1.ec906ep+1, -0x1.685456p+1 +-0x1.fe44a2p-2, -0x1.ee6b7p+0 +-0x1.762efap-1, 0x1.d80ad8p+2 +-0x1.486074p-4, 0x1.0a8cf2p+2 +-0x1.216b44p+3, -0x1.5c978cp-4 +0x1.823b3p+2, 0x1.2b1e8cp+17 +-0x1.2f5176p+2, -0x1.c4b98p+2 +0x1.4b06dcp+1, 0x1.9ac9d8p+2 +-0x1.931d06p+10, -0x1.6a96ep+2 +-0x1.b56508p+2, 0x1.03ba24p+1 +-0x1.00f62cp+2, -0x1.290906p+2 +0x1.200272p-3, 0x1.02cdd8p+2 +-0x1.c1df0ap+0, 0x1.62082cp+3 +-0x1.38363p+3, 0x1.05e18cp+2 +0x1.b4f518p+1, 0x1.5d5d26p+1 +-0x1.1bd404p+2, 0x1.1ed7d2p+2 +-0x1.12297ap+6, 0x1.6d2c4ep+14 +0x1.86cc4ap+2, 0x1.0faedep+2 +0x1.ff5698p+2, -0x1.94f97ap+0 +0x1.e3ca74p+0, -0x1.4e0fbcp+1 +0x1.4f04d2p+2, 0x1.118368p+2 +0x1.1cf136p+1, 0x1.c262bcp+1 +0x1.ec42dp+3, 0x1.c7e2aep+2 +0x1.0ea45cp+2, 0x1.70b79cp+1 +-0x1.809facp+2, 0x1.073ac8p+3 +-0x1.00e0b4p+3, 0x1.18653cp+1 +-0x1.2914dcp+1, 0x1.5443d2p+1 +0x1.a48fbp-2, -0x1.b7f86cp+1 +0x1.cf689cp+0, -0x1.4df39p+1 +0x1.3d9148p+1, 0x1.04d87p-1 +0x1.183f9p+2, 0x1.131824p+1 +-0x1.cae47cp+2, -0x1.72a1c2p+1 +-0x1.3d1ec8p-5, -0x1.051fbcp+2 +-0x1.dd8fcap-1, 0x1.ac2c58p+2 +0x1.cf0ef6p-1, 0x1.2a15bcp+2 +-0x1.6458bap+0, 0x1.3dfbap+2 +0x1.acce48p+0, -0x1.4a6c2ap+1 +0x1.0d65ep+2, -0x1.ef75c4p+2 +0x1.8dcdf2p-1, -0x1.1aa7e2p+2 +-0x1.d7ae6cp-1, -0x1.dabe96p+0 +-0x1.42dc8p-3, -0x1.e3ffp+1 +-0x1.567bdp+2, 0x1.45e4cap+1 +-0x1.490a68p+2, -0x1.0f8e2p+2 +0x1.6b87dep-2, -0x1.948dp+0 +0x1.215098p+3, 0x1.91ff1p+1 +-0x1.1e2c2cp+10, -0x1.b26978p+1 +0x1.9b8ef8p+0, 0x1.4fc9ccp+1 +0x1.ebd0fcp+6, 0x1.249b54p+2 +-0x1.360a5cp+2, 0x1.6a3caep+2 +0x1.08101ep+3, -0x1.ecf65cp-1 +0x1.62cadap-1, -0x1.06112ep+1 +0x1.991d78p+1, 0x1.606aep+2 +-0x1.070714p-1, -0x1.562a98p-2 +-0x1.dc5e96p+1, -0x1.83bc2ep+0 +0x1.5f291cp-4, 0x1.6c1ab4p+0 +0x1.0c56dp+2, -0x1.1316ecp+9 +0x1.0dc786p+4, 0x1.990464p+1 +0x1.06002cp-3, -0x1.f13c1ep-2 +-0x1.180a16p+0, -0x1.8f8b4ep+2 +-0x1.1649f2p+2, -0x1.97f9eap+0 +-0x1.4fe618p+1, -0x1.943578p+3 +0x1.10b602p-1, 0x1.60cce6p+11 +0x1.f010c6p+1, -0x1.18296ep-1 +-0x1.3d588cp-1, -0x1.6d5964p+2 +-0x1.9dca2ap+0, 0x1.257a96p+2 +0x1.d69b8ap+12, -0x1.ead32cp+2 +-0x1.47b2dp+2, -0x1.319552p+2 +0x1.03d558p+2, 0x1.c00ae2p+2 +-0x1.8fab24p-2, 0x1.3549ccp+2 +0x1.007aa6p+1, 0x1.457e7ap+1 +0x1.18726cp+1, 0x1.13ddb4p+0 +-0x1.03641ep+1, 0x1.4c7becp+2 +-0x1.a59092p+0, 0x1.2641cap+1 +0x1.156662p+3, -0x1.e0f6fcp+2 +0x1.05feecp+3, 0x1.d3c478p+17 +-0x1.54405ap+1, 0x1.705f56p+1 +-0x1.15a24ep+14, 0x1.d1237p+0 +0x1.6718eep+1, -0x1.57e652p+2 +-0x1.79544ep+0, -0x1.16d64p+2 +-0x1.1ac906p+2, -0x1.e85af4p+1 +0x1.bb11c6p-1, 0x1.7f800ep+1 +0x1.3d5614p+2, -0x1.cb8fc6p+0 +-0x1.38784cp+2, -0x1.4ab4fap-1 +0x1.88cf0cp+14, 0x1.3dd5b8p+1 +-0x1.ffa216p-1, 0x1.476134p+0 +0x1.e5787cp+0, -0x1.f9e446p+0 +-0x1.93e5d2p+0, 0x1.4357fap+1 +-0x1.4f73ep+0, 0x1.9d7f48p+2 +-0x1.f46b4cp-2, 0x1.4cc132p-1 +0x1.3e01aep+2, -0x1.b8cd7cp+0 +0x1.17734cp-1, -0x1.4d84b6p+3 +-0x1.5e3c2cp-1, 0x1.39600cp+2 +-0x1.d9fed2p+1, 0x1.cf3dfp+1 +0x1.97d41ap+2, 0x1.ee4f3ep+1 +0x1.a9ca8cp+9, -0x1.89719cp-2 +0x1.7a6966p-2, 0x1.323646p+2 +0x1.fa475ap+3, -0x1.f26d5ep+1 +-0x1.32b2dp+1, 0x1.c7fba6p-4 +-0x1.016d02p-3, -0x1.29eb78p+0 +-0x1.0abdfp+1, -0x1.83caeep+2 +-0x1.e77142p+2, -0x1.70babp+11 +-0x1.0b184ep-2, -0x1.2f8bb2p+3 +-0x1.b2a8bap+1, 0x1.900b1ep+2 +-0x1.f1c7ecp+0, 0x1.810202p+0 +0x1.2c9fc4p-1, -0x1.f03356p+2 +-0x1.9fd06ep+2, 0x1.9d463ep+2 +-0x1.3acaaap+2, -0x1.6968e6p+2 +-0x1.b4160ap-4, -0x1.6b96b2p+1 +-0x1.50589ap-1, -0x1.27a8e4p+16 +-0x1.2f7d76p+2, 0x1.b05bd4p-4 +0x1.40ed04p+1, 0x1.228e5ep+2 +-0x1.112b6p-2, -0x1.be5892p+1 +-0x1.c6a59ap+2, 0x1.a56efp+0 +0x1.918a52p-1, 0x1.2d04aep+0 +0x1.1aa9f2p+0, 0x1.0eb2acp+2 +-0x1.a38a2cp+2, 0x1.c2fa24p+0 +0x1.dc9a9cp+14, -0x1.171818p+1 +-0x1.38933ep+3, 0x1.8107eap+2 +0x1.96ff2cp+1, 0x1.188cd6p-1 +-0x1.31b022p-4, -0x1.2bfef2p+1 +-0x1.076554p+1, -0x1.4afc24p+1 +0x1.1aa984p+2, -0x1.85ce3p+2 +0x1.4344d2p+5, -0x1.bf4e26p+1 +0x1.b00866p+0, -0x1.e448a4p+11 +-0x1.5d2f08p+11, 0x1.6ef53ap-2 +-0x1.bdb7c6p+2, 0x1.5259b4p+1 +-0x1.8852bp+2, 0x1.34bbdep+7 +0x1.daed1ep+0, 0x1.2c7a8ap+1 +0x1.9331fp+2, -0x1.557626p+1 +-0x1.146f9ep+2, -0x1.28a022p+1 +-0x1.a2228ep+2, 0x1.0b5b48p+2 +0x1.d73f7ep+0, -0x1.66188p+16 +-0x1.5018e8p+0, -0x1.72153ep+2 +0x1.a8f7b2p+2, -0x1.26c92cp-2 +-0x1.3ca7f8p+3, 0x1.0a6c52p+6 +-0x1.5a8bbap+2, 0x1.84ab42p+0 +0x1.d44e1cp+2, 0x1.dc0de4p+2 +0x1.87509p-3, 0x1.c4356p-1 +-0x1.6feb18p+9, -0x1.3dc2bep+2 +-0x1.06ed8ep+1, 0x1.4d3d7p-3 +-0x1.dd5742p+0, 0x1.a4eap+2 +-0x1.d54bacp+1, -0x1.2ce968p+2 +-0x1.41ab3ep+1, 0x1.44f836p-7 +0x1.516194p+1, -0x1.a7bbf8p+1 +-0x1.217622p+3, -0x1.9fdd64p+1 +0x1.42b618p-7, 0x1.ad52dep+0 +-0x1.a0565ep+2, -0x1.64508ap+1 +0x1.1b6746p+5, -0x1.7d311cp+1 +-0x1.5ddfbap+2, 0x1.c135fap-2 +0x1.01478ap-2, -0x1.3333aap+2 +-0x1.4496a2p+2, -0x1.711ea6p+2 +-0x1.755ecp-8, 0x1.1ac204p-6 +-0x1.d88bd4p-1, 0x1.6dce5p+1 +-0x1.16dc0cp+3, -0x1.27c77cp-2 +-0x1.906e9ep-1, 0x1.18e9b8p-4 +-0x1.2e8c2cp+2, -0x1.534498p+12 +-0x1.2c24bap+1, -0x1.ac2c6ep+0 +-0x1.d221a6p+2, 0x1.d71f28p+0 +-0x1.630a7ap-2, 0x1.5cb6bcp+2 +-0x1.4d706ep+1, -0x1.81db16p+2 +0x1.1d45ecp+1, -0x1.bbd304p+1 +0x1.692926p+1, 0x1.a623aep-2 +-0x1.080956p+0, -0x1.8c6be4p+2 +-0x1.b92f88p-2, -0x1.4ef9f2p+2 +0x1.67160ap+2, -0x1.695792p+2 +-0x1.1247dep+2, -0x1.811d5cp+18 +0x1.d43b42p+2, 0x1.2248fep+2 +0x1.36f16p-4, -0x1.62a91ap+2 +0x1.c5cf3p+1, -0x1.df6c8cp+1 +-0x1.f943acp-1, 0x1.51a9cap+1 +-0x1.9108fap+1, 0x1.fe4862p+0 +-0x1.04fffp+0, -0x1.d641c8p-4 +-0x1.f9d3d6p-1, -0x1.ee6296p-1 +-0x1.94a686p+0, 0x1.a7c516p+1 +0x1.c77d64p+7, 0x1.86dca4p-1 +0x1.38018cp+1, -0x1.ba118p+2 +0x1.fc074ap+0, 0x1.0ea0d8p+2 +-0x1.0efba6p+0, -0x1.17c456p+1 +-0x1.596f72p-1, -0x1.392248p+2 +0x1.5122ep+2, 0x1.f0ef8p-1 +0x1.a123cap+6, -0x1.f4b12ep+1 +-0x1.c8731ap+1, 0x1.31dd68p+2 +-0x1.a303a4p-5, 0x1.4e86c8p+2 +0x1.1a56eep+2, -0x1.7238cep+2 +0x1.83510cp+1, 0x1.32953ap+0 +-0x1.e298a4p-1, 0x1.cc7238p-2 +-0x1.094404p+0, 0x1.11645ap+0 +0x1.fbafb2p+0, -0x1.41c7fcp+7 +-0x1.e337p+2, 0x1.04b988p+1 +0x1.a4e32ep+2, -0x1.6e6b6cp+0 +-0x1.10709cp+2, -0x1.48d7f6p+2 +-0x1.cc1444p+2, 0x1.87c2ep+0 +0x1.cb2c2p+1, -0x1.c6295ep+2 +-0x1.218ee2p+1, -0x1.6d731ep+11 +-0x1.8e066p+3, -0x1.9e64f8p+2 +0x1.99936ap+2, -0x1.5862d6p+3 +-0x1.b02166p+0, -0x1.99318p-3 +-0x1.e066f6p+0, -0x1.620d2p+0 +-0x1.2d339cp+1, -0x1.8d62fap+2 +-0x1.00e28ap+3, -0x1.228056p+1 +0x1.650becp+1, 0x1.add9cep+1 +0x1.9234p+2, 0x1.67b7ep+1 +0x1.25eda2p+2, -0x1.5a3b46p-2 +-0x1.5c45bcp-1, 0x1.627c98p-2 +0x1.6a81eep+2, 0x1.8da70ap-1 +-0x1.26483ap-1, 0x1.613d82p-1 +-0x1.ae35d6p+2, -0x1.d0244cp-1 +-0x1.d76602p+1, -0x1.5802e8p+2 +0x1.5ea6b8p+3, -0x1.2cbb8p+2 +-0x1.219d9cp+1, -0x1.86f4a4p+1 +0x1.be4ac6p+1, -0x1.9f4dc6p+1 +-0x1.0ce498p-1, -0x1.2710cap+2 +0x1.d7f332p+0, 0x1.ea8f9ap+0 +0x1.bbbb08p+1, -0x1.da4784p+1 +-0x1.8815cep+2, 0x1.9fcc2p+2 +-0x1.59a33p+2, -0x1.9f049cp-2 +0x1.4b15aap+1, -0x1.2b1f28p+3 +-0x1.a43ecap+2, -0x1.05965cp+2 +0x1.6fa45ep+2, -0x1.e90b1ap+1 +-0x1.a6fa42p+1, -0x1.454526p+1 +0x1.078a8cp+3, -0x1.fe4f1ep+1 +0x1.032e9ep+1, 0x1.5afe8ap+0 +-0x1.54094cp+1, 0x1.8124ccp+1 +0x1.80e338p-2, -0x1.45ae58p-3 +-0x1.44c552p+1, 0x1.9542f4p+0 +0x1.943224p+2, 0x1.9edd1ap+0 +-0x1.61b202p+2, 0x1.cabf4cp+0 +-0x1.e190cep-1, 0x1.15f088p+2 +0x1.600cf4p+2, 0x1.277e06p+1 +0x1.036adcp+2, -0x1.069f94p-1 +-0x1.1d4d02p+2, -0x1.7b7f4p+1 +-0x1.20c724p+3, -0x1.584b22p+2 +-0x1.06c72p-2, -0x1.0c2c58p+0 +0x1.e06db6p+15, 0x1.28c146p+1 +-0x1.4304dp+2, -0x1.92769p+0 +0x1.888d26p+1, -0x1.5b45b8p+4 +0x1.bfd58cp-1, -0x1.806cep+2 +0x1.a8d27ap+0, -0x1.7db2d8p+0 +-0x1.07b6fp-4, 0x1.1771p+1 +0x1.b17e6ap-1, 0x1.29cdap+2 +-0x1.2727a4p+0, 0x1.cdd90ep-2 +0x1.dd3dbp+1, -0x1.4d5f4ep+2 +-0x1.8777d2p-1, 0x1.3683c8p-1 +0x1.18abeep+1, -0x1.6a2fb6p+1 +0x1.9c994p+0, -0x1.dd0cd2p+1 +-0x1.89bb84p+2, -0x1.450daep+1 +0x1.1db3aap+1, -0x1.5253d6p+2 +-0x1.773fccp+3, -0x1.44725ep-1 +-0x1.85e306p+1, -0x1.248a4cp+2 +0x1.07cac4p+3, 0x1.606b66p+1 +-0x1.d48072p+0, 0x1.80ae08p+3 +-0x1.cebdecp+2, 0x1.7771aep+3 +-0x1.f1d072p+1, 0x1.582ecp+0 +-0x1.22fa58p+2, 0x1.48609cp+18 +0x1.b3b696p+1, 0x1.26d7b6p-3 +0x1.76144cp+1, -0x1.713bb6p+2 +-0x1.4fbc6ep+1, 0x1.c7934ep+2 +-0x1.e43558p+2, -0x1.3214ecp+1 +-0x1.bed3d8p+13, 0x1.ff5b86p-2 +0x1.0b2b7p+2, 0x1.335c9cp+2 +-0x1.953d56p-1, 0x1.8d2b92p-1 +0x1.bae886p+2, 0x1.167fep+0 +0x1.67f5bep-1, 0x1.8e2d5ap+2 +0x1.8bd952p+2, 0x1.0c35b2p+0 +-0x1.07462ep+2, -0x1.b8bbb8p+10 +-0x1.7b042p-2, -0x1.6584ep+0 +0x1.1dfed4p-1, -0x1.ba50d2p+0 +0x1.e29c9cp+1, 0x1.92f14ep+0 +-0x1.39170ep+0, -0x1.8693dp+1 +0x1.2dbb1cp+2, -0x1.5db2b8p-3 +0x1.9b7c2cp+16, 0x1.0d42dep+11 +-0x1.1fb894p+1, 0x1.9b7ccap+2 +-0x1.1a63dcp+3, -0x1.749e9ep+14 +0x1.355976p+1, -0x1.6d0ef2p+2 +0x1.2fc69cp+2, -0x1.3de742p+2 +-0x1.72451p+2, -0x1.9e1fc2p-5 +-0x1.d52816p+1, -0x1.0f426ap+3 +-0x1.75a2d2p+0, 0x1.cb7f68p-1 +0x1.42f514p+8, -0x1.5d4122p+15 +-0x1.271f4cp+1, -0x1.de4e4p+0 +0x1.84feeep+2, -0x1.4bf83p+0 +-0x1.70a0cep+2, -0x1.82e932p+1 +0x1.7764c2p+12, -0x1.7edcd2p+2 +0x1.7ba93ep+2, -0x1.1cc26cp+2 +-0x1.a41ef8p+2, 0x1.c9e902p+0 +0x1.1e397p+2, 0x1.2d37a4p+3 +-0x1.7bdd62p-2, -0x1.02b03ap+3 +0x1.c7e04p+2, -0x1.c7c1a2p-6 +-0x1.86dd5ep+2, -0x1.07e13cp+10 +0x1.0b6f22p+1, -0x1.a5b24ep+3 +0x1.8f9b32p+1, 0x1.3f1eeep+2 +-0x1.79bb44p-4, 0x1.405dfp+2 +0x1.7810fep+2, 0x1.59039ep+2 +-0x1.533b7ep+1, -0x1.847b9cp+2 +0x1.90b914p+2, 0x1.0f6932p+2 +-0x1.7e3a5ap+1, 0x1.0a82d2p+2 +0x1.7dae4ap-1, 0x1.fa8bb4p+0 +0x1.2ae8p-2, -0x1.a4ebb4p+1 +0x1.334a7cp+1, 0x1.8ca71ap+2 +0x1.482d3p-1, -0x1.30929ep+1 +-0x1.80e35ep+1, 0x1.03de5p+3 +0x1.d4c766p-11, 0x1.138c14p+3 +0x1.7f977ep+0, -0x1.0d82ep+0 +0x1.8771f6p+0, -0x1.a59fc8p+1 +-0x1.5acebep+3, 0x1.943dbep+1 +-0x1.6b5f68p+0, -0x1.116522p+1 +0x1.a468ecp-3, -0x1.4413d6p-2 +0x1.b61754p+1, -0x1.3d3638p+3 +0x1.307aap+1, -0x1.f0e568p+0 +-0x1.2c4794p+1, -0x1.b2cdd8p+1 +0x1.a5a8cep+1, 0x1.012dd6p+1 +-0x1.4cc76ap+4, 0x1.9b817ap-1 +0x1.74c2dp+5, -0x1.a4ad3p+1 +0x1.e40b96p-2, -0x1.6330bep+2 +0x1.af60ep+1, -0x1.3cc692p+2 +0x1.138622p+0, -0x1.0584f8p+0 +0x1.1d6246p+1, 0x1.d5e8c4p+1 +-0x1.e79712p+1, 0x1.ad9732p+1 +0x1.9697c6p+1, -0x1.e3f9c8p-4 +-0x1.3857dep+15, -0x1.dea8dp-1 +0x1.4ec636p+2, -0x1.5f8228p+1 +-0x1.e8ac1ap-1, 0x1.1d467ap+0 +-0x1.9bd878p-3, 0x1.1f0e94p+2 +-0x1.8da4c4p+1, -0x1.1bd46ap+3 +-0x1.9cbb36p+0, 0x1.764c24p+1 +-0x1.80412ap+2, 0x1.50b8fep+1 +-0x1.3abb1p+11, -0x1.3927dap-4 +-0x1.fc76eap+1, 0x1.8404e6p-1 +-0x1.62dd12p-2, 0x1.85ad44p+0 +-0x1.3706eap+5, 0x1.04ae12p+2 +-0x1.817e4ap+1, -0x1.41fe3cp+1 +-0x1.87ea26p+1, 0x1.49d826p+0 +0x1.94c504p-2, -0x1.936702p-4 +-0x1.5e0854p+2, 0x1.7526e4p+1 +0x1.3c73d4p+1, -0x1.44c8d8p+1 +0x1.aa17b6p+2, -0x1.abbbf4p+0 +-0x1.935e2cp+1, 0x1.fbf998p+2 +-0x1.460f66p+1, 0x1.99d664p+0 +-0x1.9ad506p+2, 0x1.65a63p-3 +-0x1.217738p+8, 0x1.5c25b8p+0 +0x1.75acf6p+2, -0x1.030ebcp+1 +0x1.638e1ep+2, 0x1.7a132ap+0 +-0x1.6ad65cp+0, -0x1.8b3d6cp+0 +-0x1.42b04p+0, -0x1.7c9dfep+1 +-0x1.4cfbf8p+1, -0x1.2efc82p+3 +0x1.b9edfap+2, 0x1.316b06p+10 +0x1.68ff7cp+2, 0x1.f863aep+0 +-0x1.276972p+0, -0x1.b80c5ep+1 +-0x1.1d73eep+0, 0x1.1d386ep+3 +-0x1.15e4f4p+1, -0x1.5f5f7cp+1 +-0x1.5abed2p+14, -0x1.e62d7ep+1 +-0x1.18a5bp+15, 0x1.06a988p+2 +0x1.e77978p+1, -0x1.35eb76p+2 +0x1.ab449ap+5, -0x1.c2e0b8p+0 +-0x1.0b5684p-1, 0x1.d50ffp-2 +0x1.007b54p+1, -0x1.d7f8bap-1 +0x1.1e4004p+1, 0x1.cf7be2p-1 +-0x1.edec2ap+1, 0x1.2787eep+1 +-0x1.2666b4p+6, 0x1.c54666p+2 +0x1.c92824p+1, 0x1.fac138p+7 +-0x1.207876p+11, -0x1.23fce4p+0 +-0x1.17b1ccp+2, -0x1.5bafd2p+2 +-0x1.257704p+1, 0x1.a2fd4p+0 +-0x1.21a3c2p+0, 0x1.8d04fep-2 +-0x1.15f8bcp+9, 0x1.74be2ap+2 +0x1.883dap+2, -0x1.cbf06p-4 +-0x1.b69ba8p-1, 0x1.0f1fa8p+13 +0x1.911eaep+1, 0x1.f58ab6p+0 +0x1.6b1ecep+2, -0x1.91bbfcp+1 +0x1.e99e7ap+2, -0x1.5bbe7ap+0 +-0x1.815594p+1, 0x1.0538fp-3 +-0x1.d823ecp+1, 0x1.a7811ep+1 +-0x1.37a606p+2, -0x1.14bb9ep+0 +0x1.2298d6p-1, 0x1.5d9d62p+1 +0x1.985deep+1, -0x1.0b836ap+1 +-0x1.e1af8p+2, -0x1.a0a29p+1 +0x1.5ed4c6p+2, -0x1.4f572p+1 +0x1.88016ap+2, 0x1.ce82e8p+1 +0x1.7868e8p+2, -0x1.825968p+1 +-0x1.2dfec2p+0, 0x1.86b9d4p+1 +0x1.b2fe34p+2, -0x1.b9a9d6p-2 +0x1.048f2ep-4, -0x1.cdb44cp+1 +-0x1.40301ep-2, -0x1.6cb2e2p+0 +-0x1.625ccep+1, -0x1.bdaf8ap+2 +-0x1.4987d8p+1, 0x1.59c57p+1 +-0x1.77e1d6p+0, -0x1.6b0ae4p+0 +-0x1.542d84p+2, 0x1.489b3ap+1 +-0x1.0b041ep+11, 0x1.06dbdcp+5 +0x1.46ab06p+0, -0x1.d95bf2p+1 +0x1.491ba6p+2, -0x1.47e024p+2 +0x1.2c4402p+3, 0x1.736228p+2 +0x1.aed0eep+1, 0x1.f01eb8p+2 +0x1.e8ceaap-3, -0x1.6b7314p+2 +-0x1.9d3b5p+1, -0x1.4ae648p+13 +0x1.0f9026p+0, -0x1.031e04p+2 +-0x1.077e4ap+2, -0x1.f5758p+2 +0x1.697cdcp-1, -0x1.65d80cp+0 +-0x1.2d790cp+1, -0x1.72e49ap+1 +-0x1.3e616p+1, -0x1.1609e4p+2 +-0x1.b57362p-1, -0x1.8fcda6p-1 +0x1.6bf0a4p+1, 0x1.ad48c2p+0 +-0x1.890358p+2, -0x1.cdc0fep-2 +-0x1.3a5574p+1, -0x1.74e314p+0 +-0x1.b916e8p+2, -0x1.ec6558p-5 +0x1.853ae8p+17, -0x1.f96ce8p+2 +-0x1.f7c0e6p-1, 0x1.8e1d48p-2 +-0x1.6ff716p+1, 0x1.2dcc4p+8 +0x1.a0d77ep-5, -0x1.2015fep+3 +-0x1.8da66ap-2, -0x1.159efep+2 +-0x1.1a5f28p+1, -0x1.af5ae2p+1 +-0x1.6c16p+0, -0x1.079bbep+1 +-0x1.6a98d4p+1, 0x1.09ea74p+1 +0x1.ecfe0cp+0, 0x1.f8472cp+0 +0x1.a4ef6p+0, -0x1.8123ap+1 +0x1.5387fcp+1, -0x1.80dc1cp+1 +0x1.50ab5cp+0, 0x1.35217ep+10 +-0x1.524fd4p-1, 0x1.44580cp+1 +0x1.bcf5e6p+1, -0x1.ec2f52p+1 +-0x1.d881cep-2, 0x1.5588c6p+2 +0x1.1d1f2p+8, -0x1.228f88p-3 +-0x1.4fea72p-2, 0x1.59f8cap-3 +0x1.cbdcf4p-2, 0x1.436a9p-1 +0x1.f92abcp+1, -0x1.a8b95ep+0 +-0x1.83ff64p+1, 0x1.de453ep-1 +-0x1.70b986p+1, 0x1.da1c68p+2 +0x1.21b5b4p+2, 0x1.d2127ap+2 +0x1.83719cp+1, -0x1.a4349cp+1 +0x1.b878b8p+2, 0x1.6a370ep+0 +-0x1.118e54p+2, -0x1.3df8b6p+0 +0x1.8a5014p+2, 0x1.df36eep-2 +0x1.8bdbe2p-2, 0x1.9a65a4p+1 +-0x1.7f251p+0, -0x1.3b1f2p+1 +-0x1.345fb2p+0, -0x1.75771ep+0 +-0x1.20aefp+11, -0x1.ec1426p-1 +0x1.c4f346p+2, -0x1.4b57ep+1 +0x1.ffb67p+1, -0x1.01df0ep+1 +-0x1.15df94p+2, -0x1.a170f6p+1 +-0x1.d992ep-1, -0x1.2baf74p+1 +0x1.a85186p+0, 0x1.abcea8p+0 +0x1.ab7cbap+2, 0x1.42e69ap-1 +-0x1.9d0814p+2, -0x1.0b9938p+1 +-0x1.883ed8p+9, -0x1.b699fp-4 +0x1.bb03a4p+0, 0x1.2fb4aep+1 +0x1.03cfa4p+3, -0x1.abf1b8p-2 +0x1.613976p+3, 0x1.dd2618p+1 +0x1.275076p+0, -0x1.84c576p-5 +0x1.7042a2p-1, 0x1.c82e92p+0 +-0x1.a57daap+0, 0x1.66a4dep+2 +0x1.c6a39ap-3, 0x1.29cfbcp+2 +0x1.89c30ap+0, -0x1.762f1ep+1 +0x1.bfb29p+2, 0x1.8229ecp-2 +0x1.fab966p-1, 0x1.88906p+2 +-0x1.db54dcp+1, -0x1.21161ap+0 +0x1.6df6d2p+2, 0x1.0259a8p+0 +0x1.7c3ad6p+2, 0x1.6422f8p-2 +0x1.9b092p-1, -0x1.f7db5ep+16 +-0x1.70ed12p+1, -0x1.25d4fap+3 +0x1.5d7ffp+2, 0x1.9a3d98p+2 +-0x1.5a1b0ep+6, 0x1.a72812p-3 +-0x1.eba0cp+2, 0x1.a5e5f6p+0 +-0x1.7288ap+1, -0x1.8935cap+1 +-0x1.2a829cp+2, -0x1.48ebdcp+1 +0x1.5419fcp+2, -0x1.50327ep+1 +0x1.5e3d5cp+1, 0x1.0d9ddap+3 +0x1.82002ep-5, -0x1.81246ap+0 +0x1.1ded02p+2, -0x1.f34346p-1 +0x1.61f206p+2, 0x1.39cca6p+0 +-0x1.8a8c7ap-2, -0x1.e29c88p+0 +0x1.361954p+0, 0x1.17da7cp+1 +0x1.18ca1p-3, -0x1.6b7288p+1 +0x1.56ccbep-4, 0x1.73c642p-2 +0x1.87c68cp+1, 0x1.d69c54p+1 +-0x1.726e54p+1, 0x1.4db076p+1 +-0x1.43661cp+3, -0x1.0a6bcap+2 +-0x1.27821p+2, 0x1.ca9d5cp-3 +0x1.290ac4p-2, 0x1.f61ebap+2 +-0x1.1584dp+1, 0x1.0b8bf2p+2 +-0x1.51999p+1, -0x1.27aad2p+3 +0x1.e7b494p+0, 0x1.0c4822p-4 +-0x1.165632p-3, 0x1.f02bc2p-1 +0x1.35c696p+1, 0x1.da738ap-2 +0x1.8e1484p+1, -0x1.23fb1ep+2 +-0x1.917d26p-3, 0x1.a732cep+3 +-0x1.d52748p+2, -0x1.6140d2p+2 +0x1.d8ab7ap+1, 0x1.69a984p-1 +-0x1.b9934ap-1, -0x1.b8475p+1 +0x1.48c178p+1, -0x1.445f82p+2 +-0x1.4122d8p+2, -0x1.f0fc9ap+0 +-0x1.15642cp+2, -0x1.276fb2p+0 +0x1.1ec51cp+0, 0x1.3d61d4p+1 +0x1.f9cd82p+1, 0x1.cef99ep+2 +-0x1.bd5bbap+1, 0x1.416068p+2 +0x1.15025ap+2, -0x1.934af2p+2 +0x1.e2761ep+2, 0x1.c5012ep+1 +-0x1.779788p+1, -0x1.1d26ccp+1 +-0x1.eb283p-1, 0x1.902758p+6 +-0x1.c88262p+1, 0x1.fd0406p+2 +-0x1.3ac284p+2, 0x1.ba5eeep+0 +0x1.69e162p+0, -0x1.6d72c6p+1 +0x1.bbf7fap+1, 0x1.82e236p-6 +0x1.2d967p+1, 0x1.215beap+1 +-0x1.799718p+2, 0x1.1937ccp+18 +0x1.2b76bcp+1, 0x1.e87f02p+0 +-0x1.66b792p+2, 0x1.380f5cp-6 +0x1.365818p+0, -0x1.67eaeep+0 +-0x1.09e25ap+3, -0x1.2241b2p+1 +-0x1.6e04ep+1, -0x1.6d46ecp+16 +0x1.73f76cp+12, 0x1.d0ade4p+1 +0x1.78507ep+0, 0x1.5fdd7p+0 +-0x1.a40adcp+1, -0x1.9a4966p+0 +-0x1.008704p-1, -0x1.9050f6p+0 +0x1.9010a2p+1, 0x1.113376p+1 +0x1.4a4de4p+1, -0x1.51fccep+1 +0x1.62829p+2, 0x1.6932cp+12 +0x1.901b08p-2, 0x1.ab8c84p+2 +0x1.71856ap+15, -0x1.c1d5dep+1 +0x1.204096p+0, -0x1.779b54p+2 +0x1.bf37ccp+5, -0x1.20ab36p+1 +-0x1.049708p+2, -0x1.29b568p+1 +-0x1.d35c08p-1, -0x1.aca8dep+2 +0x1.50a42p+1, 0x1.dbbcc6p+1 +0x1.2c63ap+1, 0x1.ff5282p-2 +-0x1.27ad28p-7, -0x1.63b808p+3 +0x1.f0119ap+0, -0x1.43fe26p+1 +-0x1.0cfe3p+2, -0x1.61f8fep+1 +0x1.ce5dcp+1, -0x1.06ca42p+6 +0x1.ffa1bcp+1, -0x1.c8012ap+1 +-0x1.1e7d7ap+2, -0x1.2f748cp+1 +0x1.3e88e2p-3, 0x1.8f8bcp+2 +-0x1.1cff74p+3, 0x1.33c24p+1 +-0x1.f3fd38p+1, 0x1.546046p+2 +-0x1.13ae64p+1, 0x1.c8a558p+1 +0x1.a6e46p-1, 0x1.07ed1ap+3 +-0x1.44802ep+5, -0x1.5e7ca8p+1 +-0x1.e68c3ap+2, 0x1.d7c9f4p-1 +0x1.ee68d4p-1, -0x1.52875ep+2 +-0x1.d91c36p+2, 0x1.2b72dcp+3 +0x1.d0c78ap+0, 0x1.97c69p+2 +0x1.67d404p+2, -0x1.b4cdb4p-2 +-0x1.ed7486p+0, 0x1.5adacep+2 +0x1.7fdec6p+1, 0x1.9f462ep-1 +-0x1.fdf4e4p-1, -0x1.b7c4b8p+1 +0x1.0e3b08p+1, -0x1.5d2e08p+2 +0x1.0cc27ep+0, -0x1.37e812p+0 +-0x1.5a43d4p+1, -0x1.314f14p+0 +0x1.064054p+2, 0x1.0d2922p+0 +-0x1.a6260cp+2, 0x1.c090bep+0 +0x1.8c59ccp+2, -0x1.797c7ep+2 +-0x1.495fp+0, -0x1.200c6ap+16 +-0x1.7ace46p-1, 0x1.5e5746p-2 +0x1.99a996p+1, -0x1.64f4d4p+0 +0x1.5b2ceap-1, -0x1.afae6cp-3 +0x1.2298eap+19, 0x1.76212ep-1 +0x1.1e35aap+0, -0x1.2d2b34p+0 +-0x1.74477ap+0, -0x1.da68dap+1 +-0x1.c28a74p+2, -0x1.cf021p+2 +-0x1.7275fap+0, -0x1.83d0b8p+1 +0x1.22e358p-1, 0x1.1d1dbcp+1 +0x1.b4bc74p+1, 0x1.686b4cp+2 +0x1.fbb52ap+2, -0x1.cc7f9cp+0 +0x1.b6b478p+1, 0x1.0ebfbap+1 +-0x1.e6ace2p-2, -0x1.d10448p+1 +-0x1.e195p-5, -0x1.70f296p+3 +0x1.f83b5cp+1, 0x1.281cb6p+2 +-0x1.ff1218p-1, 0x1.3b7244p+1 +0x1.7faa66p+1, -0x1.a4da56p+2 +0x1.372832p+0, -0x1.ae3964p+1 +-0x1.ddcde6p-1, -0x1.0670b4p-1 +0x1.fb5fecp-1, 0x1.a307fcp+0 +-0x1.404de2p+2, 0x1.144152p+2 +-0x1.f5874p-1, -0x1.c07b0ep-1 +0x1.404e72p+0, 0x1.870ep+2 +-0x1.e37d0ep+1, -0x1.4b5ae6p+1 +0x1.702676p+2, -0x1.2edc38p+8 +-0x1.18feeep+2, -0x1.372954p+2 +-0x1.63ed3cp+2, 0x1.ecf126p-1 +-0x1.1064e6p+3, -0x1.a27bdep+1 +-0x1.37ed4cp-1, 0x1.024736p+1 +-0x1.3e9f48p+4, -0x1.36aa08p-2 +-0x1.7caf6ep-1, 0x1.52875p+0 +0x1.708586p+0, 0x1.b8151ap+1 +0x1.960ca4p-2, -0x1.9247d4p+2 +-0x1.963712p+14, -0x1.0ed32p+2 +0x1.618874p+1, -0x1.fb5976p+11 +0x1.375f6ep-1, -0x1.385562p-1 +0x1.d85a86p+1, -0x1.09daf8p-3 +0x1.5f9874p+1, 0x1.b10edp+1 +0x1.22a604p+1, -0x1.611f38p+1 +-0x1.0d5822p+0, -0x1.78931ep+0 +0x1.42a0ccp+2, 0x1.0cdd8ep+1 +0x1.583e82p+1, -0x1.8dddfep-3 +-0x1.279f4ap-1, -0x1.1c8f3ap-1 +0x1.f827ap+1, 0x1.7eb058p+2 +0x1.a0f708p+1, 0x1.10a96p+0 +0x1.05827p+1, 0x1.8a113cp+2 +-0x1.3089f2p+3, 0x1.4d41a4p+0 +0x1.b14674p+1, -0x1.d7c6f6p+0 +0x1.66b6bp+1, -0x1.7d4c86p+0 +0x1.fcdc6cp-1, -0x1.9741acp+1 +-0x1.4217c4p+14, 0x1.b1a5e6p+1 +0x1.b3389ap+1, 0x1.3db378p+0 +-0x1.93fbc2p+0, 0x1.61b404p+1 +-0x1.859fc8p-3, 0x1.68d0bcp+10 +-0x1.bc3e98p+2, 0x1.aaa84p+0 +-0x1.a8e664p-3, 0x1.9efa88p+1 +-0x1.234ae4p+2, -0x1.0721d8p-1 +-0x1.220a96p+0, 0x1.be0bbp+1 +0x1.45caa8p+1, 0x1.525a58p+0 +-0x1.2a1b7cp+3, 0x1.565a2cp+15 +0x1.567fa2p+1, 0x1.2e894ep+10 +0x1.d38e3p+2, -0x1.0c94fep+8 +-0x1.343e0cp-5, -0x1.0461c2p+1 +-0x1.c31b2cp+1, 0x1.8ed034p+2 +-0x1.40af5p+11, 0x1.e92acap+1 +-0x1.31b566p+3, 0x1.1cc31cp-1 +0x1.653508p+2, -0x1.0ca9fap+2 +0x1.2c41e4p+2, 0x1.de2b3ap+8 +0x1.7ab962p+2, -0x1.422954p+0 +0x1.0473c8p-2, -0x1.4ec552p+0 +-0x1.489c9cp-2, -0x1.8605a8p+1 +0x1.0b9704p-1, 0x1.af4e5ep+2 +-0x1.704884p+1, 0x1.0d834ep+2 +0x1.1a3fd4p+1, -0x1.c9acb4p+2 +0x1.2cd38p+0, -0x1.13feecp+2 +-0x1.44a39ep+2, -0x1.43dc5p+0 +-0x1.95c022p+1, -0x1.e9d0bcp+1 +0x1.779d34p+13, 0x1.2cf2ccp+2 +-0x1.5b046ap+2, 0x1.c4399ep+1 +-0x1.a99eb6p+2, -0x1.245b16p+6 +-0x1.8c4bdcp+2, -0x1.96e438p+2 +-0x1.3793p-2, 0x1.78aaccp+1 +0x1.ffaddep+1, 0x1.16e606p+2 +0x1.13f31ap-1, -0x1.b1a47p+1 +-0x1.d63586p+1, -0x1.387aa4p+2 +-0x1.097178p+12, 0x1.37444ep+0 +0x1.1735bp+3, 0x1.72bd4ep+8 +0x1.684edap+0, -0x1.1faa74p+1 +0x1.35badcp+1, 0x1.fe7408p+2 +-0x1.80c2eep+2, -0x1.2d1e06p+2 +-0x1.8035cep-2, -0x1.36a9eap+2 +-0x1.9b108p-1, -0x1.85e022p-4 +-0x1.5f96ep+3, 0x1.4b81b4p+2 +-0x1.27f868p+2, -0x1.e34f4p+1 +0x1.3ff198p+0, -0x1.acfc1p+0 +0x1.563f3ep+1, -0x1.32c9dcp+3 +-0x1.218a5ap+0, 0x1.a9cb82p+0 +0x1.66683ep+2, -0x1.dcf29ep+2 +0x1.7665bap+14, 0x1.41b464p+2 +-0x1.6b4318p+2, 0x1.0e5ad8p+1 +0x1.82de4ap+0, 0x1.12126ap+3 +-0x1.588a6p+2, -0x1.56bb14p+0 +-0x1.c2d0fep+2, 0x1.c91e8cp-5 +-0x1.f9b58ep-2, -0x1.01b178p+0 +0x1.30f176p+0, 0x1.96488ap+0 +0x1.9ee15p-2, 0x1.2b7cd8p+1 +0x1.335e7p+2, 0x1.32db26p+1 +0x1.49e462p+1, 0x1.809e28p+2 +0x1.b281cap+0, -0x1.ef3af6p+1 +-0x1.92b6e6p+2, 0x1.26bc4ap+1 +-0x1.981004p-2, -0x1.96ce7ep+1 +0x1.c37f9ap+0, -0x1.96930cp+1 +0x1.a434fcp+0, -0x1.7b13e4p+1 +0x1.b66e3ap-1, -0x1.3157d8p+2 +0x1.027d88p+0, -0x1.acd3e4p+2 +-0x1.dc96e4p+0, -0x1.23d8ap+2 +-0x1.3e11a8p+0, 0x1.2ae06cp+2 +0x1.8236fcp-4, 0x1.90815ep+2 +-0x1.a8db4p-1, -0x1.297586p+2 +-0x1.952cb4p+2, -0x1.a20518p+1 +-0x1.cf28a6p+1, 0x1.931bfp+1 +0x1.6ab4bcp+7, -0x1.9ce85ep+0 +-0x1.4292c2p+2, -0x1.2b7d1cp+1 +-0x1.8d139p+1, 0x1.e9278cp+1 +0x1.942544p+2, -0x1.1df8cep+2 +-0x1.31cep-2, 0x1.a7065ep+2 +0x1.b70b1cp+2, 0x1.930bc4p+1 +-0x1.2f167ep+2, -0x1.5f5572p+1 +-0x1.01fae4p-1, 0x1.b78b4p+1 +0x1.d7a04ep+1, 0x1.f2be0ap-1 +0x1.4a4c52p+1, 0x1.0b3c1ap-1 +-0x1.8c5f16p+1, 0x1.3b31b4p+2 +-0x1.61f20ep+2, -0x1.b3557p+2 +-0x1.3da99ep+1, 0x1.f9e9b2p+2 +-0x1.e29a44p+1, -0x1.cb80f8p+0 +0x1.21d578p+1, -0x1.5e774ap+0 +-0x1.b078ap+1, 0x1.7df532p+2 +-0x1.20e83ap+2, -0x1.2ece3cp+1 +-0x1.b8dcfap-2, -0x1.a820eap+1 +0x1.7b9754p+1, 0x1.c5837ep+2 +0x1.0617d2p+6, -0x1.6a6fdep-2 +-0x1.cfc8ecp+0, 0x1.69168ep+15 +0x1.19aee6p+3, 0x1.cb4172p-2 +0x1.a2bc9ep-1, -0x1.153a5p+2 +-0x1.e32cd2p+1, 0x1.cd1044p-2 +0x1.0fb76cp+0, 0x1.4bfd4ap+2 +0x1.806536p+1, 0x1.9579f6p+1 +0x1.3649p+0, 0x1.a0c47ap-6 +-0x1.09803p+1, 0x1.84fb0ep+1 +-0x1.855462p+2, 0x1.159624p+3 +-0x1.8df534p+0, 0x1.8cd25p+0 +-0x1.e7ad74p+2, 0x1.e6229ep-3 +0x1.bccca2p+0, -0x1.8e288ep+1 +0x1.c2aa6p-1, 0x1.ff0a0cp+1 +-0x1.ddb1ecp+0, -0x1.3e5476p+2 +0x1.858158p+2, 0x1.d178dcp+1 +0x1.9197fp+1, 0x1.f12d86p+1 +0x1.0ee4fap+2, -0x1.0bec12p+2 +-0x1.c3b202p+0, -0x1.40665ap+2 +0x1.5ca698p+1, 0x1.0886c6p+2 +-0x1.6ce43ep+2, 0x1.0d0446p+2 +-0x1.3cdd42p+2, -0x1.98ab96p-1 +0x1.67118cp+0, -0x1.6381dp+0 +0x1.a6ecb4p+1, -0x1.9515b6p+2 +-0x1.3a8022p+1, 0x1.46c216p+2 +0x1.e89f14p+0, -0x1.0b75a8p-2 +0x1.4109f4p+2, -0x1.4b2822p+9 +-0x1.1566b4p+18, -0x1.61350cp+2 +-0x1.32ed0ep+9, 0x1.77981ep-1 +-0x1.f701b8p-1, 0x1.ab815cp+2 +-0x1.cf59eap+1, 0x1.8ee6dcp+0 +0x1.8ec04cp+1, 0x1.bbf638p+1 +-0x1.a3fa38p+0, -0x1.1af036p+0 +0x1.22f5cep+1, -0x1.46a49ap+2 +-0x1.5d4fdcp+2, -0x1.f72d2ap+1 +-0x1.8bcbb2p-7, 0x1.b6ac6ap+0 +-0x1.76022p+0, -0x1.317764p+2 +0x1.1f9cb2p+2, 0x1.9e1294p+2 +-0x1.e7d7d2p+1, -0x1.5beba2p+15 +0x1.a6ffb6p-4, 0x1.e6a5d2p-6 +-0x1.69a5bp-2, 0x1.05cd64p+13 +-0x1.9f7bb4p+2, -0x1.239f28p+2 +0x1.21c244p+1, 0x1.63aca6p+1 +0x1.1981bcp+0, 0x1.ae3274p+1 +-0x1.acc7c2p+1, 0x1.354474p+2 +-0x1.01b9acp+1, 0x1.59db0ep+1 +0x1.1a8914p+3, -0x1.5dab9ap-1 +-0x1.7abbe4p-1, -0x1.a82b86p+7 +-0x1.7e72eep+1, -0x1.90f286p+1 +0x1.c205ap+1, 0x1.d47afp+1 +0x1.adbf8cp+2, 0x1.dba40ep+13 +-0x1.4bf36p+1, -0x1.0d0d08p+1 +-0x1.19084ap+2, -0x1.dc5e8ap+1 +0x1.6f35d8p+17, -0x1.7280f8p+7 +-0x1.53bf26p+1, 0x1.602114p+2 +0x1.1f2ccap+2, 0x1.82373ep+0 +0x1.13fep+0, -0x1.6ea588p+15 +-0x1.75a7e4p+1, 0x1.7dbef6p+2 +0x1.2e9564p+2, -0x1.0a1952p+2 +0x1.d5409cp+1, -0x1.093fe4p+1 +0x1.1e6686p+3, 0x1.49e756p+14 +-0x1.0cbcf4p+2, -0x1.813d0ep-1 +-0x1.30607p-3, -0x1.4b5342p+2 +0x1.603252p+1, -0x1.c601e6p+2 +-0x1.cd608ap+0, -0x1.fa09ccp+1 +-0x1.797292p+2, -0x1.ec98e2p+16 +-0x1.57cd52p+0, 0x1.b71ae6p+2 +-0x1.96ec48p+1, 0x1.0e0092p-2 +-0x1.042ca6p+2, 0x1.8a318cp+0 +-0x1.6a9bdap+0, 0x1.c52fbp+0 +-0x1.376f82p+2, 0x1.0698fap+1 +-0x1.1f6c54p+1, -0x1.8094b4p+2 +0x1.4bf162p+0, 0x1.f19582p+2 +-0x1.1f0c82p+3, 0x1.6d0a9ep+0 +-0x1.b4f5ecp+2, 0x1.94ea4ap-3 +-0x1.dd3e7cp+1, 0x1.00c328p+1 +-0x1.06b808p-1, 0x1.5e68c2p+2 +0x1.b57a62p+1, 0x1.dbb778p+0 +0x1.f8599ep+1, 0x1.a8ce9ap+0 +-0x1.1178ccp+2, -0x1.16b262p+1 +0x1.4cb31ap-1, -0x1.2b698cp+1 +-0x1.1811c8p+11, -0x1.9ead8p-1 +-0x1.7f25d2p+1, -0x1.3ecb54p+0 +-0x1.42bd8cp+1, -0x1.e64afp+2 +-0x1.8df506p-4, -0x1.7fa6f8p+0 +0x1.f192dcp+1, 0x1.a23234p+2 +0x1.529f9ep-2, -0x1.25c242p+2 +-0x1.264d34p+2, -0x1.ab5a0ep+1 +0x1.27c7c8p-1, 0x1.be840ep+0 +0x1.abfd0ap+1, 0x1.73307cp-2 +0x1.d7fe8p+5, -0x1.c614bap+2 +0x1.910e2p-1, 0x1.cc4adcp+1 +-0x1.072822p+2, 0x1.6f2704p+2 +0x1.1ee3a2p+3, 0x1.1469b4p+6 +0x1.d120bep-4, -0x1.1fe198p+2 +-0x1.52b1fp+2, -0x1.ae7658p+0 +-0x1.f114fp+2, 0x1.2db694p+1 +0x1.c01758p-1, 0x1.72e3d4p+10 +-0x1.97d9cap+2, -0x1.3aa6e6p+0 +0x1.e084f6p-1, 0x1.5076f4p+10 +0x1.4d23p+2, -0x1.229a22p+2 +-0x1.15d246p+2, -0x1.14ca8p-3 +-0x1.d28014p+2, 0x1.97ed02p+0 +0x1.2295dap+2, 0x1.03ef26p+1 +0x1.a8e6fep+0, 0x1.075564p+1 +-0x1.f6ca0cp-1, -0x1.45c58p-1 +-0x1.c3de1ep-3, 0x1.e727dap+0 +0x1.abe67p+0, -0x1.8fa346p+2 +-0x1.70b346p+0, -0x1.1d62cp+3 +0x1.4f8956p+3, -0x1.2baea6p+0 +0x1.c74a0cp+0, 0x1.5ab764p+2 +-0x1.8b71bp+0, 0x1.e5599ap-2 +-0x1.af9142p+11, 0x1.281956p+2 +-0x1.aef2dep+2, -0x1.e88a04p+2 +-0x1.15c314p-4, -0x1.c518dcp+1 +-0x1.73992ap-1, 0x1.a6465ap+2 +0x1.6618c4p-6, 0x1.01d2e8p+2 +0x1.4919b4p+1, -0x1.87c72p-1 +0x1.841276p-4, 0x1.8e16c2p+1 +0x1.e0c19cp+0, 0x1.6efdb6p+0 +0x1.77a86cp+2, -0x1.9a52b4p+0 +0x1.2decd2p+2, 0x1.efa19ap-1 +-0x1.f7faecp-2, -0x1.125dbep+1 +-0x1.aa25dap+0, -0x1.0509b6p+2 +-0x1.0e841ep+3, 0x1.14f30ap-5 +0x1.8371f6p+2, -0x1.a6997cp+1 +0x1.d0be9ap-2, 0x1.7a187p+1 +0x1.5c3bdp+2, 0x1.a8caecp+2 +0x1.4fabbp-1, 0x1.52e96p+2 +0x1.6ef878p+0, 0x1.e6a8c2p+1 +-0x1.153cd8p+1, 0x1.7465e2p+2 +0x1.19c6a2p+1, -0x1.f883f4p+14 +0x1.72168ep+0, -0x1.fad952p+0 +-0x1.d3401ap+0, 0x1.1d3854p+1 +0x1.5c0a66p+2, -0x1.8183e6p-1 +0x1.e1e5eep-1, -0x1.2c7666p+3 +0x1.31e48ep+3, -0x1.5b84d8p+1 +0x1.ac7e36p+1, 0x1.171c6cp+1 +0x1.b38194p-6, -0x1.9c0b56p+1 +-0x1.16cd88p+1, -0x1.5a04d8p+2 +-0x1.0cc51ep+3, -0x1.d5ed58p+1 +-0x1.056de2p+2, -0x1.e09562p+0 +0x1.0f0196p+1, 0x1.7fa3f6p+1 +0x1.fac5bp+0, -0x1.f77ae6p+2 +-0x1.6f44f4p+0, -0x1.9d4e52p+2 +0x1.b9e494p+15, -0x1.58acb6p+0 +-0x1.87063ap+1, 0x1.b94356p+1 +0x1.8637e6p+1, -0x1.440ac8p+1 +0x1.61efb8p+6, -0x1.bf9b0ep+1 +0x1.657f4cp-1, -0x1.8f9cb6p+2 +0x1.1399d8p+2, 0x1.a28952p+0 +-0x1.23308ep+2, -0x1.4c282ap-1 +-0x1.d9f856p+1, 0x1.bf6c9p+2 +-0x1.87bd2p+0, -0x1.fb5cc2p+11 +0x1.472382p+1, 0x1.92499ap+2 +0x1.23e2c4p+1, -0x1.bf5fbp+6 +-0x1.03af7ap+3, -0x1.57e604p+0 +0x1.489f06p+2, 0x1.a3378ep+1 +0x1.127a2p+2, -0x1.0412acp+2 +-0x1.c1fab6p-1, -0x1.534a36p+2 +-0x1.227eeap+1, -0x1.60bafap+2 +-0x1.6c1b4cp+1, -0x1.e55c3p+1 +0x1.0136a2p-2, -0x1.0ffdf8p+1 +-0x1.c6576p+1, -0x1.b2896ep-3 +0x1.574f6ap-1, 0x1.324236p+2 +-0x1.a32442p+0, 0x1.9a389ap+2 +-0x1.1171cap+2, 0x1.0f7b1ep+1 +-0x1.6c053ep+1, -0x1.9b99b6p+0 +0x1.b2a6d8p+2, 0x1.1f2bd6p+0 +-0x1.f0ccccp+1, -0x1.1733p+1 +-0x1.6b2756p+1, -0x1.187854p+2 +0x1.a7991ap+0, 0x1.857358p+1 +-0x1.0cfed6p-3, -0x1.4de6ecp+1 +0x1.51a062p+1, 0x1.150624p-1 +-0x1.5cfe06p+2, 0x1.79170cp-1 +0x1.03e7acp+2, -0x1.189198p+1 +0x1.b4c6bep-1, -0x1.9184c8p+1 +-0x1.896958p+1, 0x1.5be384p+3 +-0x1.0a5d4ep+2, 0x1.9a2808p-2 +-0x1.52f6fcp+1, 0x1.3c8b1ep+0 +0x1.2ea336p-1, 0x1.e53f12p+2 +0x1.957874p+2, -0x1.2e50c6p+1 +0x1.f60822p+0, 0x1.b8e3e6p+1 +0x1.288f64p+2, 0x1.3ab57ap+1 +0x1.00560ep+2, -0x1.018fdap+0 +-0x1.1663e6p-3, -0x1.b38c7ap+0 +-0x1.56593cp+0, -0x1.658a9ap+2 +-0x1.0694d4p+0, -0x1.72fcdcp+2 +-0x1.d97294p+0, -0x1.c49a1ep+0 +-0x1.9fe246p+18, -0x1.2f653ap+2 +-0x1.e1be1ep+0, -0x1.6f8874p+0 +-0x1.66bc1ap+14, 0x1.082ca6p-2 +-0x1.a2bbbep+0, -0x1.56d822p+1 +-0x1.0dbebap+1, -0x1.b94eb6p+1 +-0x1.a9bf86p-1, -0x1.085582p+0 +0x1.022d02p-1, 0x1.3063e8p+3 +0x1.eab3b2p+2, 0x1.e5f194p+1 +0x1.2d3fbap+13, 0x1.e69e94p-1 +0x1.545416p+1, -0x1.b5e41p+1 +-0x1.68c7d2p-1, 0x1.7ffc78p-2 +0x1.a668c8p+2, 0x1.0b28f2p+4 +0x1.433504p+2, 0x1.685124p+3 +0x1.4745e4p+1, -0x1.695746p+0 +-0x1.c3d85cp+2, 0x1.2ca546p+2 +-0x1.5e28cep+0, -0x1.92bfbap+1 +0x1.97f2a6p+0, 0x1.282c0ep+1 +0x1.2e83fp-5, -0x1.e1a488p-2 +-0x1.95bdb2p-1, 0x1.6600fep+2 +0x1.2e1d9cp-2, -0x1.70e9eap-1 +-0x1.d20f1ap+1, -0x1.c22c62p+0 +0x1.5ede8cp+0, -0x1.ddccc6p+0 +-0x1.37b3b2p+1, 0x1.293dccp+1 +0x1.a0908ap+1, -0x1.19e172p+1 +-0x1.1587ap+2, 0x1.04d7bep+2 +0x1.a9bfdp-1, 0x1.7ffbdp+1 +-0x1.604336p+0, 0x1.d302bap+10 +0x1.0ac26cp-1, -0x1.2f2bf4p+2 +0x1.3193cep-1, 0x1.44e9dp+2 +-0x1.e43e3p+2, -0x1.28e92p+1 +-0x1.7353a4p+1, -0x1.10a858p+2 +0x1.32f94cp-3, 0x1.f9f834p-2 +0x1.975716p+0, 0x1.1d7c02p+2 +-0x1.598ebep+4, -0x1.5d11dp+1 +-0x1.2747dap+0, 0x1.7f675ep+2 +-0x1.25e7bep+3, 0x1.2ab506p+1 +-0x1.b5d0f4p-1, -0x1.6c1508p-1 +-0x1.cee6ecp+0, 0x1.07e3d6p+3 +-0x1.c45816p+2, -0x1.308592p+2 +0x1.ab0d78p+0, 0x1.b383e6p+1 +0x1.5da5ecp+1, -0x1.ae0576p+1 +0x1.4f48d4p+1, -0x1.880168p-1 +-0x1.87add8p+2, -0x1.14db9ap+1 +0x1.47c03p+0, -0x1.2b0216p+2 +-0x1.7bfb0cp-3, -0x1.0c23e6p+2 +-0x1.15774ap+1, -0x1.7ac434p-1 +0x1.c550fcp+2, 0x1.83d7cep+2 +0x1.0175d4p+3, -0x1.2212fap-1 +0x1.217f3ep+2, -0x1.cd855cp+0 +0x1.ccea5ap+0, 0x1.558402p+1 +-0x1.8ab1c2p+2, -0x1.809848p-1 +-0x1.0d8638p+15, 0x1.305104p+3 +0x1.eff682p+1, -0x1.5afb16p+2 +0x1.1e33cp+2, -0x1.537654p+8 +0x1.2a89dep+0, -0x1.1674f4p+2 +-0x1.2284f2p-4, -0x1.cf1ddap+0 +0x1.b3a79p+1, 0x1.468334p+0 +0x1.190e34p+1, 0x1.2509ecp-1 +0x1.7a11f6p+1, -0x1.ce345cp-4 +-0x1.203b3cp+2, -0x1.19cab6p+10 +0x1.963b6ep+1, -0x1.e1bdc6p+1 +0x1.4d96d8p+2, -0x1.b92d8p+0 +0x1.e2caa2p+1, 0x1.f8baf2p-2 +-0x1.02dc14p+3, -0x1.36dbap+5 +0x1.612d64p+14, 0x1.5e37aap+1 +-0x1.17bda6p+17, -0x1.19840ap+2 +0x1.1959ep+1, 0x1.52bed4p+2 +0x1.ddc342p+6, 0x1.eee934p+0 +0x1.203d42p-1, 0x1.90b58ep+2 +-0x1.37057ap+1, -0x1.b2a806p+2 +0x1.e67ccep+2, -0x1.3c67a4p+2 +-0x1.bfe3aap+1, 0x1.35cebcp+2 +0x1.0422ccp+2, -0x1.60be74p+1 +0x1.035cecp+1, 0x1.7f99fcp+0 +-0x1.6f9c5ep+2, -0x1.845438p+2 +-0x1.127e6ep+0, 0x1.4cfddep+2 +-0x1.1d4bd6p+2, 0x1.6a88e8p+1 +0x1.60d99ap+7, -0x1.3b15fp-1 +0x1.4e94p-2, -0x1.8afd24p-1 +-0x1.80a282p+1, 0x1.59afdp+17 +-0x1.1f50c4p+1, 0x1.d420b2p-1 +-0x1.1fb622p+0, 0x1.7df5acp+1 +0x1.6eb4e8p-1, -0x1.1194fep+2 +0x1.13a326p+1, 0x1.e7069cp+2 +-0x1.89a242p+1, -0x1.107502p+2 +-0x1.fb0a94p+1, -0x1.f37b9ep+2 +-0x1.55cp+2, 0x1.12ed7ap+0 +0x1.cd24b4p+0, 0x1.17089p+2 +0x1.90a1fcp+1, 0x1.88f71ap+0 +-0x1.0e428ap-2, -0x1.9a536ep+0 +-0x1.f8c908p+1, 0x1.40c9a2p-4 +0x1.bb0f58p+2, 0x1.4f096cp+2 +-0x1.8639acp-1, -0x1.ddc002p-5 +0x1.15ea76p+2, -0x1.a43148p+2 +0x1.3085c6p+3, -0x1.3a122cp+1 +-0x1.8466c8p+1, -0x1.07a3a2p+1 +-0x1.64907p+2, -0x1.b6cfc8p+0 +0x1.a9f23ep+1, 0x1.8f8862p+1 +-0x1.0520dap+1, -0x1.fd38e4p+1 +0x1.4c6edep+15, -0x1.a17682p+2 +-0x1.ec6228p+14, -0x1.8824d2p+2 +0x1.100b8ep-1, -0x1.8303ap+2 +-0x1.32ae3cp-1, 0x1.20cb3cp+2 +0x1.b455d2p+0, 0x1.321f6ap+1 +-0x1.d72368p+2, -0x1.38e87ep+17 +-0x1.e802acp+1, -0x1.283a26p+0 +-0x1.4683fcp-1, -0x1.097924p+2 +0x1.6fae44p-2, -0x1.66857cp-5 +-0x1.1808dp+2, -0x1.88bbc4p+1 +-0x1.22e884p-1, 0x1.ce560cp-4 +0x1.fe4936p+0, -0x1.e70f7ap+1 +-0x1.a22572p+2, 0x1.93bb64p+1 +-0x1.26ee7ep+2, -0x1.86e8ap+2 +0x1.324cacp+2, 0x1.1e2ab2p+1 +-0x1.23a576p+1, -0x1.24f144p+1 +-0x1.4b31f8p-1, 0x1.16c554p+1 +0x1.0d1d3ep-1, -0x1.d95ceap-2 +0x1.25c894p+2, 0x1.c0aac2p+2 +-0x1.839398p+1, 0x1.18b83p+1 +0x1.28b2fap+1, 0x1.0e07bcp+2 +-0x1.88769ap+1, 0x1.4d3bb4p+2 +0x1.30e816p+3, 0x1.2b27ap+1 +0x1.2ca4aap+2, -0x1.3d18d2p+2 +-0x1.0f65fp+2, -0x1.ad2becp-2 +-0x1.3475c4p+2, 0x1.51bb3p+2 +-0x1.dd38b6p+2, -0x1.d8cc44p+13 +0x1.0381bp+1, -0x1.27e48cp+2 +0x1.41a8b2p+1, -0x1.1c29f6p+17 +-0x1.8b3edep+0, 0x1.7fae72p+1 +-0x1.85869cp+1, -0x1.78c2c6p+0 +0x1.3a066ap+1, -0x1.a7b95p+0 +0x1.2df414p+2, -0x1.a7e9p+0 +0x1.0b7ac8p+1, -0x1.6b1c1cp+1 +-0x1.835d9p+0, 0x1.9c7f1ap+2 +0x1.a517cp+2, -0x1.783db2p+1 +0x1.d57e22p+1, -0x1.aa40fcp+13 +0x1.64c874p+0, 0x1.d285dep+6 +0x1.bb728ep+16, -0x1.e1d28p+7 +-0x1.29034cp+10, 0x1.a38aeep-3 +0x1.e91734p+1, 0x1.8a6fb6p+2 +0x1.c1ddb8p+8, -0x1.2c886p+2 +-0x1.1493b4p-4, 0x1.11b23ap+3 +-0x1.540abep-4, 0x1.55238cp+2 +-0x1.907bf8p+1, -0x1.722862p+3 +0x1.0922e8p+3, 0x1.0d758cp+1 +0x1.500a7cp+6, 0x1.e37532p-2 +0x1.2a95dep+0, 0x1.0a6016p+1 +0x1.dba78p-1, -0x1.0681e4p-1 +-0x1.a5bf1ep+1, -0x1.4c9728p+2 +-0x1.0c8d68p+2, 0x1.9aaff8p+1 +-0x1.4d1852p-3, 0x1.cfe802p+2 +-0x1.06032ap-1, 0x1.fb9b28p+2 +0x1.baa424p+1, 0x1.50b7dcp+0 +0x1.a0ae4ep+1, 0x1.03c45p+1 +-0x1.6a1a44p-1, 0x1.52a394p+3 +-0x1.235ceap+1, -0x1.a5f75ep+2 +-0x1.5b5176p+1, -0x1.e58fap+2 +-0x1.e9f29p+1, 0x1.c0a628p+1 +0x1.50122p-1, -0x1.f7107ap-2 +-0x1.70312ep+1, -0x1.484aecp+3 +0x1.009e42p+1, -0x1.fe30dap+1 +0x1.9189bap+1, 0x1.535604p-1 +0x1.0a5bc4p+2, -0x1.96e6eap-1 +0x1.9053dap+14, -0x1.b75208p+1 +0x1.699d06p-3, 0x1.929f74p-4 +-0x1.76615p-1, -0x1.7199ccp+3 +0x1.8fe102p+0, 0x1.686ee8p+2 +0x1.2498c8p+1, 0x1.383d52p+1 +-0x1.9653c6p+1, 0x1.423faap+2 +0x1.62b922p+2, 0x1.037e34p+2 +0x1.510cb8p-3, -0x1.635ab6p+3 +-0x1.554366p+1, 0x1.8256dcp+0 +-0x1.300a8p+2, -0x1.ebf01p-3 +0x1.e6ea06p+1, 0x1.0bbe72p+3 +-0x1.95d1dp+1, -0x1.e3c3cp+0 +-0x1.f44428p+0, -0x1.6de5e6p+2 +-0x1.b260acp+0, 0x1.dbb2ap+1 +0x1.6ad772p-2, -0x1.3f02bap+2 +0x1.1b2b62p-2, 0x1.36d5eep+0 +0x1.030d86p+4, -0x1.2ab656p+1 +-0x1.72fep+1, -0x1.6c306ep+2 +0x1.920844p-3, 0x1.d07c26p-1 +0x1.9aba08p+2, -0x1.c2159cp+2 +0x1.0cfa84p+1, 0x1.3f4e94p+0 +-0x1.087772p+1, 0x1.68a22cp-2 +-0x1.2647a8p+1, 0x1.0e5d18p+1 +-0x1.2de122p+1, -0x1.91b2e6p+1 +-0x1.78ffacp+2, -0x1.0655fp+15 +-0x1.66121cp+2, -0x1.07033p-5 +0x1.535bd8p+1, 0x1.a25582p+1 +0x1.354c1p+2, -0x1.2c169p+1 +0x1.819116p+2, -0x1.bd5cfp+0 +-0x1.fb764ep-4, -0x1.0cfc92p-1 +-0x1.451e5cp+1, 0x1.16c2cap+0 +-0x1.4792ecp+1, 0x1.c73c8ap+1 +-0x1.ca2cb8p+1, -0x1.ad096cp+2 +-0x1.31ce0cp+19, 0x1.99bca8p+1 +0x1.460798p+0, 0x1.f1babep+1 +0x1.953b38p+13, -0x1.b932d6p+0 +0x1.9d14aap+1, -0x1.0cdfap-4 +-0x1.f0318p-1, -0x1.8233ap+2 +0x1.85ef7p+4, 0x1.2c27a2p+1 +-0x1.c87dcap-1, 0x1.8f1964p-1 +-0x1.c96f96p-3, 0x1.b4f6a2p-1 +-0x1.2ad0e4p+0, 0x1.e42a9ep+0 +0x1.00b824p+3, -0x1.2148c8p+1 +-0x1.93d516p+0, -0x1.799e32p+0 +0x1.2984fp-2, -0x1.0ab96cp+2 +-0x1.094292p+2, -0x1.3f2f5ep+1 +0x1.adf332p+2, -0x1.3e7792p-2 +0x1.83fff2p+2, -0x1.f1cbd8p+0 +0x1.7c368cp+2, -0x1.f7f612p-1 +-0x1.c27646p+0, 0x1.d14bap-2 +-0x1.af4e6cp+2, -0x1.21cc4ap-3 +0x1.3c182cp+0, 0x1.0f3184p-1 +0x1.e5c902p+1, -0x1.f247a6p-1 +0x1.02e3f6p+3, -0x1.92801cp+2 +-0x1.07e9eap+1, -0x1.43403ep-1 +-0x1.3b02c2p+3, -0x1.8285e8p+1 +0x1.ea31aap+2, 0x1.9b3ea6p-1 +-0x1.f525ecp+1, -0x1.6e9a76p+1 +-0x1.f138aep+2, 0x1.85cb86p-4 +0x1.fd31dp-1, 0x1.2069aep+2 +0x1.4ed8bap+2, -0x1.f6225cp-1 +-0x1.12b268p+1, -0x1.481c4ap+2 +0x1.7ba17ep+2, -0x1.fdab52p+1 +-0x1.59a6e4p+0, -0x1.da4e4ap+1 +-0x1.f2da58p+1, 0x1.5e897cp+2 +-0x1.e9c83p-3, 0x1.b5574cp+1 +0x1.66407ep+2, 0x1.289952p+2 +0x1.b197dap+0, 0x1.0d4d1p+1 +-0x1.f034fcp+0, 0x1.a5113ap+2 +-0x1.0f68bep+3, 0x1.120806p+1 +-0x1.07b4a6p-1, 0x1.f7a514p-1 +-0x1.19b6e4p+1, 0x1.0bf20ep+3 +0x1.afd886p+0, 0x1.50ff62p+13 +0x1.94295p+1, 0x1.e00136p+1 +-0x1.e3e9c6p+0, 0x1.de006ap+0 +0x1.20672ep+0, -0x1.68826p+1 +-0x1.001e9ep+2, -0x1.247a06p+3 +-0x1.f3e576p+1, -0x1.4e038ep+1 +0x1.272a66p+1, -0x1.dbac14p-3 +0x1.7875a2p+2, 0x1.12b62ep+2 +-0x1.72466cp+0, 0x1.b132e6p+1 +-0x1.331a8ap+0, 0x1.2ebd22p+6 +0x1.10ecf2p+3, 0x1.3bc332p-2 +-0x1.8dadf2p+0, -0x1.242598p+3 +-0x1.0bbe52p+17, -0x1.7ebb1p+1 +-0x1.cea03ap-2, -0x1.3f16e4p+2 +-0x1.6edb2ep+1, 0x1.62c44cp+0 +0x1.8803fp+1, 0x1.8e1e0cp+2 +0x1.3b41f4p+1, -0x1.18dc9ep+10 +0x1.1dee7ep-2, 0x1.13b3acp+2 +0x1.5a9f4cp+2, -0x1.afa9d4p+1 +0x1.1704dep-1, 0x1.5db218p+2 +-0x1.602ddcp+2, 0x1.b1d202p+1 +-0x1.b1d15cp+1, -0x1.c79b0ep+1 +0x1.eacbecp+16, 0x1.f3da3cp-2 +-0x1.3a97b6p+1, 0x1.aec646p-1 +-0x1.edd2fap+1, 0x1.89da3cp-2 +0x1.b32ec2p+2, -0x1.5ddcf6p+1 +-0x1.54cf12p+5, 0x1.3b3824p-2 +0x1.6b53bep-3, -0x1.e1115cp+1 +-0x1.7adeb2p+1, 0x1.428bb8p-1 +-0x1.aee136p-1, -0x1.d7f20ep+1 +-0x1.111d2ap-3, -0x1.960edep+1 +0x1.35e032p+1, -0x1.1920dep+2 +0x1.fd7c9p+2, -0x1.823b06p+1 +0x1.eccfacp+1, -0x1.8f91cap+2 +0x1.a03e82p+0, 0x1.da0c9ap+1 +-0x1.7b389ap+2, -0x1.ac16bp+1 +0x1.4dc476p+2, -0x1.4fc338p+1 +-0x1.a9530ep-2, -0x1.04c236p-1 +-0x1.e1fb52p+18, 0x1.25cdcep+3 +0x1.1a0a54p+8, -0x1.5f7208p-3 +0x1.a23292p-1, 0x1.396d6ep+1 +0x1.dc548ap+1, -0x1.0ab684p+2 +0x1.9b7828p+0, -0x1.8a8decp+0 +-0x1.f92116p-6, -0x1.45793ep+1 +0x1.a831fcp+1, -0x1.147f16p+3 +-0x1.815c8ep+1, -0x1.4753b2p+6 +-0x1.9ccccap+1, -0x1.7d2284p+14 +-0x1.3ea846p+2, -0x1.4f9be4p-1 +-0x1.eaca4p-2, -0x1.1b4114p+2 +0x1.00b48p+2, 0x1.23989p+2 +-0x1.bd0d66p-1, 0x1.071124p+2 +0x1.ff0158p+0, 0x1.3ead52p+0 +0x1.7cf188p+1, -0x1.091a94p+3 +0x1.6423d4p+2, 0x1.687c56p-1 +0x1.1d59b4p+19, 0x1.863fe8p+1 +-0x1.52e3fap+1, 0x1.f8519p+1 +-0x1.7fab5p+1, -0x1.2bbcd2p+3 +0x1.a30296p+0, -0x1.478aa8p-1 +-0x1.212114p+2, 0x1.6af7c6p+0 +0x1.6c5da6p+1, -0x1.cdd514p+2 +0x1.9af4a8p-3, -0x1.1c0562p+0 +0x1.fe50d8p+1, 0x1.d16ee2p+1 +-0x1.071304p+1, -0x1.8be6bap+1 +0x1.27cf3ap+1, -0x1.08f87ep+1 +-0x1.c5d5a6p-1, -0x1.2fc798p+2 +-0x1.744c84p+0, 0x1.b600dap+1 +-0x1.21e4b6p+0, 0x1.157f4p+2 +0x1.a2408p-10, 0x1.f21e9cp+0 +-0x1.dfc748p+1, -0x1.187d38p+2 +0x1.c226eap+1, -0x1.970806p+2 +0x1.762f7ap-2, 0x1.b8231ap-4 +-0x1.87e008p-3, -0x1.4a2c34p+2 +-0x1.a5e742p+2, -0x1.f53d0ep-4 +-0x1.b3838ap+1, -0x1.86a2cap+1 +-0x1.6ac5d2p-1, -0x1.9db40ep+1 +0x1.594d22p-3, 0x1.842302p+2 +-0x1.34dc08p+2, -0x1.dbcc1cp+13 +0x1.c94584p+0, 0x1.541feap+1 +-0x1.9cd0d2p+1, 0x1.2ae9eap-3 +0x1.e584fp-1, 0x1.4c43bcp+1 +0x1.d71a7ap+0, 0x1.b29d26p-4 +-0x1.3c87f4p-1, -0x1.2d6a1ap+3 +-0x1.ab5744p-6, 0x1.b5aap+0 +-0x1.2afbccp+1, -0x1.c13422p-2 +0x1.80a34ap+1, -0x1.1b931ap+1 +-0x1.e582a6p+1, 0x1.e91eb4p+2 +0x1.8a62f4p+0, 0x1.0ae36p+2 +0x1.50a77ap+2, -0x1.c2f902p+1 +-0x1.81c5aap+2, -0x1.52e4b8p+1 +0x1.a42048p+1, -0x1.b94ab4p+1 +0x1.b63c04p+1, -0x1.699608p-4 +0x1.9adb06p+1, -0x1.46273p-1 +-0x1.2daa2ep+3, -0x1.72e71ep-1 +-0x1.4a0a46p+7, -0x1.abf1cep+2 +0x1.f19f92p+2, -0x1.e73642p+0 +-0x1.5e952ap+0, -0x1.e349f2p+1 +0x1.1b6d82p+1, -0x1.241f1cp+1 +-0x1.2bc568p+1, 0x1.e60e4cp+1 +0x1.40105cp-1, -0x1.2ef564p+1 +-0x1.d13c0ap+2, -0x1.5e2db8p+1 +0x1.e74228p+0, 0x1.40e9e6p+0 +0x1.72a4fap+1, -0x1.1997c4p-2 +-0x1.8de364p+0, -0x1.05bb6p+1 +-0x1.342b54p+1, -0x1.89b84ep+0 +-0x1.3f7bcep+1, 0x1.1445cp-4 +0x1.bda78ap+1, -0x1.854a98p+1 +0x1.ebe3bap+6, 0x1.fb1532p-1 +-0x1.c9dbdcp-2, -0x1.924fc6p+2 +-0x1.25e32cp+0, -0x1.bc185p+0 +0x1.01b9f8p+3, -0x1.245a56p-1 +0x1.446ddcp+2, -0x1.82ee1p+0 +-0x1.46f0b6p+13, -0x1.56d168p+2 +-0x1.3faed2p+0, -0x1.9d7af8p+1 +-0x1.d924cp+1, -0x1.8571bcp+2 +-0x1.4bbb6ap+0, -0x1.887994p+1 +-0x1.99a5bap+0, -0x1.38e368p+2 +-0x1.7d8754p+1, -0x1.8b7a4cp+2 +0x1.dcf43ep-2, 0x1.e4cd12p+1 +-0x1.120e2p+3, -0x1.1e1eb8p+0 +-0x1.ea4d1cp-3, 0x1.aabe66p+0 +-0x1.09a5p+1, -0x1.3d189ep+11 +-0x1.e0af62p-1, -0x1.cc1818p+0 +-0x1.1b956p+2, 0x1.e2663ap+1 +0x1.abaa64p+1, -0x1.a5d792p+2 +-0x1.27679cp+1, 0x1.56376ep-3 +0x1.bc4616p+0, -0x1.154374p+0 +0x1.188138p+0, 0x1.a82c98p+2 +-0x1.2e9a6p+2, 0x1.b1bd74p+0 +-0x1.db1d1ap-1, 0x1.46c65p+0 +0x1.ad8422p-6, 0x1.56493p+2 +0x1.0b29b4p+1, -0x1.2ac00ap+16 +-0x1.c6cccp+2, -0x1.5b1b78p-4 +0x1.41ea7p+1, -0x1.5b315ap-7 +-0x1.8fbb2cp-2, 0x1.cf468ap+1 +0x1.901954p+1, -0x1.37a566p+2 +-0x1.f0ee34p+2, -0x1.13f58p+1 +-0x1.d250bp+1, -0x1.d79cdcp+1 +0x1.4f7d48p+1, 0x1.af1126p+0 +-0x1.c37a24p+1, 0x1.8dc00ap+1 +0x1.c46a3cp+4, 0x1.926eb4p-4 +0x1.235de8p+1, 0x1.e42528p+0 +-0x1.364d78p+2, 0x1.0516f2p+1 +-0x1.572c38p-1, 0x1.d83c6ap+12 +0x1.88a23cp+1, 0x1.71ac7ap+0 +0x1.40fc5ep+2, -0x1.9d48aep-2 +0x1.2d9f96p+3, -0x1.3fed46p-2 +0x1.14f904p+2, 0x1.117fdap+2 +-0x1.b6ec8cp-3, -0x1.18172cp+2 +0x1.0adf38p+1, 0x1.37effcp+0 +0x1.21b03cp+8, 0x1.83a41cp-5 +-0x1.644962p+1, -0x1.f5062ap-4 +-0x1.52bfb6p+0, 0x1.faf4ecp-2 +-0x1.da026ap+2, 0x1.a009acp+1 +0x1.7abd76p+10, -0x1.61b534p+2 +0x1.37c2a6p+2, -0x1.eb6172p+1 +-0x1.4d7474p+1, 0x1.97f4b8p+0 +0x1.b431c8p-1, -0x1.0eb48cp+0 +0x1.88649ep+0, -0x1.fc0fd6p+0 +-0x1.4f5f3p+10, 0x1.5ba182p+2 +-0x1.65c3e2p+0, -0x1.bbd69ap-4 +-0x1.c87862p-1, 0x1.7ad4e2p+1 +-0x1.54bd92p+1, -0x1.572464p+1 +0x1.7dd252p+1, 0x1.884514p-1 +-0x1.1af04cp+1, -0x1.25b614p+2 +-0x1.6afd16p-1, -0x1.4e1244p+0 +0x1.7f6a4ep+0, 0x1.95e1acp+2 +0x1.4b2c3p-1, -0x1.37faaep+0 +0x1.b81386p-3, -0x1.fcccf8p+1 +0x1.d5fbdp+0, -0x1.0d3a28p+3 +-0x1.a9c3eap+1, 0x1.5eea1ap+0 +0x1.8a6c56p+2, 0x1.8bce4cp-1 +0x1.ea5d16p+2, -0x1.2a63eep+3 +-0x1.0647eep+2, 0x1.bc3a48p+1 +0x1.dd4ac2p+0, 0x1.5eab24p+1 +-0x1.b85a6ap+1, -0x1.30a6dap+1 +-0x1.932a56p-1, -0x1.dea32p+0 +0x1.ff3e96p-3, -0x1.a20338p+16 +-0x1.84e5ap+1, 0x1.7abe06p+0 +-0x1.c7ed9ap+0, 0x1.02a8f4p+2 +0x1.ec5ddp+1, -0x1.719e66p+1 +-0x1.9c222ep+1, 0x1.ad9e52p+0 +-0x1.b91d5ep+1, 0x1.3bf084p+2 +-0x1.e71b32p+1, -0x1.2123c8p+1 +0x1.66e5b8p-4, -0x1.7194b4p+0 +0x1.bb3952p+15, 0x1.a853a8p+2 +-0x1.946d32p+2, 0x1.881bccp+2 +-0x1.0b5d3ap+1, 0x1.ea86acp+1 +0x1.e60be2p+0, 0x1.b18e2p-1 +0x1.1895a2p+2, 0x1.631f3p-3 +0x1.132ac6p+3, 0x1.a39f96p-1 +-0x1.15db9cp+2, -0x1.d6a8ecp+2 +0x1.a1296p+1, 0x1.fcf162p+2 +-0x1.988fbcp+2, -0x1.320cb6p+2 +-0x1.f98be8p+14, 0x1.2d822ap+0 +0x1.ac9ee4p+1, -0x1.3c5d22p-2 +-0x1.9448c4p+0, 0x1.a2997ep+2 +0x1.6f58dcp+0, 0x1.37b3f8p+3 +-0x1.f753p+2, -0x1.0c3efep+1 +-0x1.32091ep-1, 0x1.386a8p+0 +0x1.8c0e64p+1, -0x1.c28ef4p+1 +0x1.979656p-1, 0x1.4a8028p+2 +0x1.e3f592p+1, -0x1.1d302p+10 +0x1.20102cp+3, 0x1.59ec3p+0 +0x1.095d0ap+2, 0x1.289b92p+2 +0x1.5fdfb6p-1, 0x1.235684p+1 +-0x1.7a6b64p+2, -0x1.799614p+1 +-0x1.3ee74p-1, 0x1.7e4a8ep+2 +0x1.e561fp+0, 0x1.5647b6p+2 +-0x1.c3479p+1, -0x1.0633e6p+3 +-0x1.8817a2p+1, 0x1.fefb2ep+0 +0x1.ef194ep+6, 0x1.3dedbcp+1 +-0x1.6a9174p+1, 0x1.aea3ep+9 +-0x1.fe3e1ap+1, 0x1.aed45ep-1 +0x1.fca5b2p+0, -0x1.5aec2cp-3 +-0x1.78b2a8p+1, -0x1.224796p-1 +0x1.bdd2c2p+1, -0x1.814d8ep+2 +-0x1.028f12p+3, 0x1.51bbdp+2 +-0x1.07d564p-2, 0x1.23088cp-3 +0x1.21b94ep+2, 0x1.4e1d52p+1 +-0x1.24b554p+2, 0x1.5b30e4p+3 +-0x1.456c04p+0, 0x1.2f3728p+1 +0x1.54c75p-1, -0x1.60036p+16 +0x1.1fc68cp+1, 0x1.494a4p+1 +0x1.ede9ecp+0, 0x1.119544p+18 +0x1.e671eep-3, -0x1.eed4f6p-2 +0x1.85f784p-1, 0x1.283faep-1 +0x1.02d55p+2, 0x1.ae30eap+11 +-0x1.71ec4cp+1, -0x1.224808p+2 +-0x1.54f89p+1, 0x1.bfebc4p+0 +-0x1.d704d6p+1, -0x1.239618p+1 +-0x1.0ba4fcp+2, 0x1.e727bcp+1 +-0x1.d0eaacp+0, -0x1.6d1444p+1 +-0x1.8700c8p-1, -0x1.896086p+2 +-0x1.36fc38p+1, 0x1.5703fp-4 +0x1.5780fep+1, -0x1.76f64cp+3 +0x1.be396p+0, -0x1.853ff2p+2 +0x1.d9a7ep+0, 0x1.671fd8p+1 +-0x1.187b2cp+0, 0x1.878a38p+0 +0x1.096782p+1, -0x1.99f6d8p+2 +0x1.e16184p+1, 0x1.0888c2p+2 +0x1.78d82cp+0, -0x1.4909c4p+1 +0x1.915b08p+2, -0x1.7b5dc6p+1 +-0x1.3ea56ep+9, -0x1.c2d85p+11 +-0x1.47e9fap-1, -0x1.d3de9ep+1 +0x1.9057d2p-5, 0x1.426d94p+1 +0x1.6e8a0cp+1, 0x1.72474cp-4 +-0x1.3e38fcp+2, -0x1.036194p+0 +0x1.01e35ep+1, 0x1.043f38p+2 +-0x1.ee388p-6, 0x1.5aa588p+2 +0x1.182be8p+2, -0x1.f313ecp-1 +0x1.23a1p-1, -0x1.81fd72p+0 +0x1.0be7bap+2, -0x1.8fa166p+2 +0x1.ba6ec4p+2, 0x1.f39f92p+14 +-0x1.bf2a6p+1, 0x1.399f7p+0 +0x1.514bp+1, -0x1.99afa8p+4 +0x1.53009p+1, -0x1.905a4cp-1 +-0x1.e60096p+1, -0x1.9426acp+2 +-0x1.4e4c44p+0, 0x1.2143e4p+3 +-0x1.98cacp+2, 0x1.1b29ap+3 +-0x1.1c1ab4p-2, 0x1.60ab0ap-1 +0x1.ab6546p-2, -0x1.4ce38ap-5 +0x1.4c4202p-1, 0x1.edd0e6p+1 +0x1.e82eap+1, 0x1.b61f44p+2 +-0x1.e6e082p+0, -0x1.37fa72p-2 +-0x1.f3cbbp+1, -0x1.b2707ep+2 +-0x1.4728d8p+2, -0x1.261a9ep+1 +-0x1.02e5b2p+1, -0x1.5e85ap+0 +-0x1.4a687cp+0, -0x1.b6a32ep+1 +0x1.e4cf0cp-1, 0x1.02bdcep+0 +-0x1.b97328p+2, -0x1.4cd83p+2 +0x1.3dcdbcp+2, 0x1.7d7a4p-3 +-0x1.aeb9ccp+1, 0x1.3372dcp+0 +-0x1.646b48p+1, 0x1.710488p+0 +0x1.b9dea6p+1, 0x1.94ea8ap-2 +0x1.0a74a8p+0, 0x1.e0bdcap+0 +-0x1.e80fbcp+0, 0x1.d4a84ep+17 +0x1.804438p+4, 0x1.3f7602p+1 +-0x1.34ee6p+1, -0x1.51a328p+0 +0x1.97f7f2p+1, 0x1.0be58p+2 +-0x1.db17dap+13, -0x1.7156cap+1 +0x1.a6986cp-1, 0x1.784ca8p+1 +0x1.2d0946p+0, -0x1.594df6p+1 +0x1.0650bep+0, 0x1.8f5c6ep+3 +0x1.a61d2p-1, -0x1.afb4c8p-2 +-0x1.159c2cp+1, 0x1.d6bf1ap+0 +0x1.5159aep+1, -0x1.efc4f4p+0 +-0x1.16670cp+0, 0x1.20517cp+0 +-0x1.4eb5dcp+2, -0x1.40895p+2 +-0x1.55f8d4p-1, 0x1.51606p+1 +0x1.20e1a2p+1, -0x1.89f3bp+2 +-0x1.c5e448p+0, 0x1.68bbd6p-2 +0x1.16ba84p+1, 0x1.270e1ep-1 +-0x1.4dcca2p+3, -0x1.d7be94p+2 +-0x1.d78e58p-4, 0x1.89320cp+5 +0x1.295aeap+0, 0x1.256d62p+1 +-0x1.7e2b3ap+0, -0x1.ac1924p-1 +0x1.61fcc4p+2, 0x1.801606p+2 +0x1.9c4282p+2, 0x1.3391bp+3 +0x1.11057ep+2, -0x1.f71d86p+1 +0x1.29b13ep+0, 0x1.a56844p+2 +-0x1.6db91p+2, -0x1.1a6454p+1 +-0x1.976384p+1, 0x1.6a5a68p+1 +0x1.1968e2p+2, 0x1.bed93cp+0 +-0x1.602ec8p+2, 0x1.4405dcp-1 +0x1.9b97eap+0, -0x1.eab47p+1 +0x1.05324ep+7, 0x1.e7d8fap+2 +-0x1.0db898p+2, 0x1.565afap+2 +0x1.462b0ap-2, 0x1.64d1d2p+3 +0x1.50f8dep+2, 0x1.b80626p+2 +0x1.384c0ep+2, 0x1.0f08ap+2 +0x1.134bb6p+1, 0x1.284f7ap+0 +-0x1.c8dc36p+2, -0x1.79887ap+2 +0x1.97f0e2p+6, -0x1.f5c2c8p+2 +0x1.82354ap+2, 0x1.68fa24p+3 +-0x1.44d8dap+2, -0x1.7a9c9ap+0 +0x1.41aa84p+2, 0x1.43632p+2 +0x1.9ec046p+0, -0x1.08ea9ap+2 +0x1.ef8334p+1, 0x1.e97138p+1 +0x1.113044p+1, -0x1.26f5dap+0 +-0x1.bf469ap-4, 0x1.9105ep+1 +-0x1.1069eap+1, 0x1.925da6p-2 +-0x1.bf3118p+1, -0x1.4490f2p+8 +-0x1.463f1ep+2, -0x1.e13df2p+0 +-0x1.57690cp+1, -0x1.ffc4dcp+4 +0x1.02589ap+2, -0x1.61dffp+1 +0x1.61926ep+1, -0x1.ff8294p+2 +0x1.aee5c2p+0, 0x1.4c0168p+18 +0x1.eb638ep+1, -0x1.f4599p+0 +0x1.ff7d9cp+3, -0x1.ea5f1ap+1 +-0x1.8741c2p+12, -0x1.84a67cp+1 +0x1.dcd748p+1, -0x1.32bcap-2 +0x1.5e94f8p+3, 0x1.8036cp+2 +-0x1.84c462p+2, -0x1.10b2fap+0 +-0x1.31b29ap+2, 0x1.6bd19ap+2 +0x1.60cfcp+2, -0x1.4c7042p+1 +0x1.0bcf6cp+3, -0x1.79e9ccp+0 +-0x1.650482p+1, 0x1.fe2884p+13 +0x1.206bb8p+1, -0x1.d6fe34p+0 +0x1.2bcbbcp+1, 0x1.7eaad6p+1 +-0x1.fb997ep+1, 0x1.180e4ap-2 +-0x1.7895acp+0, 0x1.032596p+3 +-0x1.a0c0bcp-1, -0x1.eeb9fcp-1 +0x1.4c08c8p+1, 0x1.0e44fp-1 +0x1.43b8a6p+2, -0x1.05e3eep+1 +0x1.4d519ap+1, 0x1.988f4ep-1 +0x1.d93c54p+9, -0x1.28f42cp-1 +0x1.fda606p+4, -0x1.718386p+0 +-0x1.0b271ap+3, -0x1.94e052p+1 +0x1.4d3a6cp-4, 0x1.d396d8p-2 +0x1.89c73p+2, 0x1.0f53e8p-1 +-0x1.5cb35ap+2, -0x1.90cce8p+0 +0x1.842954p+1, 0x1.76d8bp+1 +0x1.e39884p+1, -0x1.1cc22ep+3 +0x1.e5b9f4p+3, -0x1.e559a4p+12 +0x1.9a551p-1, 0x1.2c11c4p+1 +0x1.7900dep+1, 0x1.0ae9e2p-2 +-0x1.13b894p+1, -0x1.5cb688p-5 +0x1.91ec84p+0, 0x1.694ddep-4 +-0x1.398efp+1, -0x1.b3da64p+2 +-0x1.3374dp+1, 0x1.1f9f78p+0 +0x1.0a34f4p+1, -0x1.5aab5cp-5 +0x1.a13ec6p+2, -0x1.7f39eap+4 +-0x1.de23b4p+11, 0x1.ac5554p+1 +0x1.7dadecp+2, -0x1.1f1d74p+2 +0x1.868f94p+1, -0x1.aeec56p+0 +-0x1.0467eep+3, -0x1.411b82p+2 +0x1.2ebdc2p+14, 0x1.780d7p+0 +0x1.cb91d6p-1, 0x1.2092d6p+2 +-0x1.93f8ecp+8, 0x1.2f30cap+0 +0x1.0e35b6p+16, 0x1.eccafcp-2 +0x1.8b0adcp+2, -0x1.0ea0fep+1 +0x1.296422p+1, 0x1.35fe86p+3 +0x1.eba718p-1, 0x1.c62694p+1 +-0x1.ac41f4p-2, 0x1.255b7cp+3 +0x1.527dp+2, -0x1.72894ep+1 +0x1.63a25p-1, -0x1.532ca4p+3 +0x1.c4c096p-1, 0x1.691af8p+0 +0x1.692428p+0, -0x1.eb454p+1 +-0x1.b5e73ap-1, -0x1.05c5ecp-1 +-0x1.9b0ecp+0, 0x1.f6acbep+1 +-0x1.3479a2p+1, -0x1.21730ap-1 +-0x1.0459a2p+3, -0x1.e3f4b4p+1 +-0x1.c4a02ap+1, 0x1.d0535ap-1 +0x1.1d3cbp+1, -0x1.da3892p+1 +0x1.021e3p+0, -0x1.46686ap-2 +0x1.27fe1ep+13, -0x1.db8682p-1 +-0x1.113d6p+2, 0x1.354a98p+2 +0x1.0e60a8p-5, -0x1.203ddp+0 +-0x1.a56c98p-4, 0x1.b5f89ep+1 +-0x1.8c17cap-1, -0x1.65d8d8p-1 +0x1.9222ecp-1, 0x1.2e4afcp-1 +0x1.c0f002p+1, 0x1.bbf77ep-4 +-0x1.8adbc6p+0, 0x1.433f6ap+0 +-0x1.4e918cp+2, 0x1.066638p-2 +0x1.b4952cp+1, 0x1.550698p+0 +0x1.9072f6p+2, 0x1.6b522ap+0 +-0x1.fbbd3ep+1, -0x1.ac9b36p+8 +-0x1.42d91ep+12, 0x1.d80ae2p+1 +0x1.2a5aa4p+2, -0x1.33e526p+2 +-0x1.ab6d1ap-4, -0x1.7944e8p+1 +0x1.dcfcdcp+1, -0x1.4fe86ap+3 +0x1.de80e6p+1, -0x1.00c0d2p+2 +-0x1.5c8728p-3, -0x1.56eda8p+2 +0x1.92060ap+2, 0x1.2beb42p+2 +0x1.2e6f1p+2, -0x1.cd40a2p+1 +0x1.64d472p+2, 0x1.aeb562p+1 +-0x1.13a88cp+3, -0x1.c8c89p+9 +-0x1.b1bce4p+1, -0x1.2a255ep+0 +0x1.8daa0ap+0, 0x1.1d2dep+1 +-0x1.ee847cp+1, 0x1.966612p+0 +0x1.3343d4p+2, -0x1.672ab2p+15 +0x1.c2a196p+1, -0x1.5ace8p+1 +0x1.52db6ap+1, 0x1.61c88p+0 +0x1.002126p+3, -0x1.45fe52p+16 +-0x1.e25128p+1, 0x1.dbc62ep-1 +0x1.8b0d0ap+1, 0x1.6d10f4p+1 +-0x1.a572bcp+0, 0x1.46902ep-2 +0x1.9f2472p-1, -0x1.1ba286p+2 +0x1.b10a8ap-1, -0x1.efea8ep-1 +0x1.5366e6p+2, 0x1.e93814p+0 +-0x1.d6918cp+0, -0x1.4e1e24p+6 +0x1.727f0ap+2, -0x1.4a3d58p+12 +0x1.63ec66p+1, 0x1.71b15ep+2 +0x1.946404p+2, 0x1.2333aep+2 +-0x1.031486p+0, 0x1.01464ep+2 +0x1.28431p+0, -0x1.4864dep+1 +-0x1.22e75ep+0, 0x1.794df6p+1 +0x1.3943eap+1, 0x1.08933ep+1 +-0x1.05816cp+2, -0x1.1d8bbap+0 +-0x1.23c666p-2, -0x1.c48f54p-6 +0x1.5afbe4p+2, -0x1.2dbbb4p+1 +-0x1.c177bp+0, 0x1.4f91d4p+0 +-0x1.824c4ep+1, 0x1.4850e4p-1 +-0x1.44fae2p+1, 0x1.b4f48cp+2 +0x1.f7961ap+2, -0x1.62d846p+1 +-0x1.8940dep+2, -0x1.03dfa8p+1 +-0x1.1542d2p+1, -0x1.8c8ce6p-5 +0x1.50b9ccp+2, -0x1.3e7ep+13 +-0x1.62d21ep+1, 0x1.caf11p+12 +-0x1.e074bp-2, 0x1.b55ccap-2 +-0x1.b7a99ep+0, 0x1.83d12ep+1 +0x1.2431a6p+2, 0x1.0659b8p-2 +0x1.cf5a52p+0, 0x1.2dea86p+2 +0x1.322008p-2, 0x1.b7c482p-3 +-0x1.756be8p+2, 0x1.091e64p+1 +-0x1.5cce5cp+3, 0x1.292c8cp+1 +0x1.d16bbcp+1, 0x1.d13decp+0 +-0x1.637252p+1, 0x1.3728d8p+0 +0x1.04dba2p+2, -0x1.9ff72ap+13 +0x1.3b14ccp+1, 0x1.8bafdp-1 +0x1.5a41a4p+2, 0x1.74c276p+1 +0x1.963034p+0, 0x1.2a4592p+2 +0x1.844a6ep+0, 0x1.7f8bbp-1 +0x1.610964p+2, -0x1.67e9p+0 +0x1.ac59bap+5, -0x1.b25692p+1 +-0x1.a9426ep-1, 0x1.e2e868p+1 +0x1.b74bbcp-2, -0x1.717dc4p+0 +-0x1.87f016p+2, -0x1.a262fap+17 +-0x1.ea219cp+2, -0x1.a10adap+1 +0x1.00a2dap+1, -0x1.6ac18p+1 +-0x1.bf479cp+2, 0x1.89149ep+2 +-0x1.a858e6p+0, 0x1.c18006p+2 +0x1.08ce54p+1, 0x1.643af2p+2 +0x1.7ed7f8p+1, -0x1.ad0032p+1 +-0x1.2b3632p+0, 0x1.74028ep+10 +0x1.774a1ep+16, 0x1.15cddcp+2 +-0x1.f4aabap+0, -0x1.6358bep-1 +-0x1.736ca6p+12, 0x1.c4356p-1 +-0x1.4e489p+2, 0x1.5021fep+1 +0x1.bebc94p+0, 0x1.e9dbb8p+2 +-0x1.fb3f9ep+1, -0x1.2214eap+14 +0x1.016338p-1, 0x1.0c4326p+8 +-0x1.2b6bep+11, 0x1.6e32bep+2 +-0x1.8fd9a4p-3, -0x1.081ef4p+0 +-0x1.a10736p+0, 0x1.2018e6p-1 +0x1.470d94p+3, 0x1.c2b0f2p+0 +-0x1.69848p+2, 0x1.4a7012p+2 +-0x1.983eb6p+1, 0x1.0a8f3cp-1 +0x1.143ab6p-2, -0x1.eb2f68p+0 +-0x1.e149e4p+1, -0x1.6aae94p-4 +-0x1.93c9c2p-2, -0x1.b7f3f6p+1 +-0x1.351d72p-4, 0x1.f8d13p-1 +-0x1.458c84p+2, 0x1.b0b5acp-2 +-0x1.eadd94p+0, 0x1.5218fep+2 +0x1.a2ed1ep+2, 0x1.6f340ep+2 +0x1.2714dep+2, -0x1.e3a3c4p+0 +-0x1.7da17ep+1, -0x1.21f812p+2 +-0x1.d09e62p+13, 0x1.1e1dcp+2 +-0x1.9e2c8p+1, -0x1.ede63p-2 +0x1.e7ef52p+1, 0x1.59188ep+1 +-0x1.3350e8p+0, -0x1.c7ddeep+1 +0x1.9791d4p+2, -0x1.098b2cp+1 +-0x1.11df68p-1, -0x1.05ad96p+2 +0x1.5f557cp+0, 0x1.17b822p+1 +-0x1.898ee2p+1, -0x1.210128p+0 +0x1.9357bcp+0, 0x1.7576d4p-3 +0x1.22d37ap+1, -0x1.0d9d8ep+2 +-0x1.d9adf8p+1, 0x1.f7389p+0 +0x1.24d6a8p+1, 0x1.33f66ep+11 +0x1.03bac2p+1, 0x1.7ce88p+1 +-0x1.20eaep+2, 0x1.9a24ep+0 +-0x1.28dc42p+0, 0x1.93857ep+2 +-0x1.c73d8ep+1, -0x1.7bef38p+0 +-0x1.2c95b6p+1, -0x1.bd0fp+2 +-0x1.d53b0ap+1, 0x1.c277a6p+0 +-0x1.0485cp+9, 0x1.abec5p+2 +-0x1.c389eep+1, -0x1.466898p+2 +0x1.faf6cp-2, -0x1.b707f8p-1 +0x1.87cbbcp+2, 0x1.316fc8p+2 +-0x1.93c614p-1, -0x1.96f4c8p+2 +-0x1.63d7b8p-1, -0x1.11c95ap+2 +0x1.2998cep+2, 0x1.d573a6p+1 +-0x1.8c4ffcp-1, -0x1.109d48p+1 +-0x1.6ba3eep+2, 0x1.086accp+1 +-0x1.1d475p+0, 0x1.beff5ap-2 +0x1.3577fep+0, 0x1.cbb43ep+5 +0x1.b21c3ap+1, -0x1.9110d6p+1 +-0x1.db942p+0, 0x1.d2fc8ap+1 +-0x1.ea94e6p+1, -0x1.fde7c2p-1 +0x1.50ed3ep+0, 0x1.e8fd52p+0 +0x1.660b0ep+2, 0x1.d9304ap+0 +0x1.1be8e2p+2, -0x1.b409f2p+0 +-0x1.0ff34cp+1, 0x1.272fb8p+7 +0x1.e276e8p-2, -0x1.fc422p-1 +-0x1.2c485ep+1, 0x1.ec9ca2p+1 +-0x1.2d4426p+1, 0x1.7dcf42p+1 +0x1.f010b8p+2, 0x1.8bfe72p+0 +0x1.9fd8f6p+2, 0x1.3d3de6p+2 +0x1.76957ep+1, -0x1.3ef4f4p+1 +-0x1.58b02p+1, 0x1.9655dcp+1 +0x1.dd846ap+2, -0x1.7a67fcp+0 +0x1.86921ap+14, -0x1.3abc68p+2 +-0x1.2a696p+1, 0x1.05b7dep+2 +-0x1.eab504p+1, 0x1.fbd242p-2 +-0x1.62e828p+0, 0x1.fde40ap+0 +-0x1.8cb0aep+1, -0x1.2eda18p+1 +-0x1.a1e134p+1, 0x1.4b7e36p-1 +0x1.c36a14p+9, 0x1.ce0bdap-4 +0x1.a1e758p+4, 0x1.3a51dp-3 +-0x1.8ec75cp+2, 0x1.81ce7p+2 +-0x1.5b9016p+1, -0x1.81d0dap-1 +-0x1.d7fa7ap+9, 0x1.af378ep+0 +0x1.98a794p+2, 0x1.e80d22p-2 +0x1.2576ep+0, 0x1.45ca9ap+1 +-0x1.55345ap-2, 0x1.79fb9p+9 +0x1.9726aep-1, -0x1.07c772p+2 +0x1.5fcab6p+2, 0x1.53177ep+2 +0x1.c4c27ap+1, -0x1.1f6a7p-3 +-0x1.15ab84p+0, -0x1.a7fa8ap+2 +-0x1.a2487p+1, -0x1.979696p+1 +-0x1.174c26p+0, 0x1.4602fep+1 +0x1.79feb8p+0, -0x1.67264ap+0 +-0x1.512084p+1, -0x1.0a1d68p+2 +0x1.094e88p+1, -0x1.24a99p+2 +0x1.26cba2p+1, -0x1.a04bcap+2 +-0x1.8487cep+2, -0x1.2126c8p+0 +-0x1.3997ccp-1, 0x1.ccc4acp+1 +0x1.e33ed4p+0, -0x1.1dc678p+2 +0x1.4493ap+3, 0x1.d64dccp+1 +0x1.5232fep+1, 0x1.1d1c1ap+2 +-0x1.29395p+0, 0x1.f64b2ap+1 +0x1.62dbbcp+0, -0x1.716054p+1 +-0x1.cf8a9ap+1, 0x1.6ec824p+0 +0x1.324356p+2, -0x1.fd621cp+1 +0x1.5894dcp+0, -0x1.eb60ecp+0 +0x1.23326ep-6, 0x1.bd2232p-2 +0x1.d06adcp-1, 0x1.0ba316p+0 +0x1.dc5532p+1, 0x1.e836acp+0 +0x1.32f21cp+2, 0x1.2966acp+9 +-0x1.44f16ep+1, -0x1.465cf6p+1 +0x1.bb8fbap+1, 0x1.02cd02p+1 +0x1.8a084p+2, 0x1.487326p+0 +-0x1.69157ap+2, 0x1.150b3ap+1 +-0x1.7b07c8p+1, -0x1.1ca6fcp+1 +0x1.a59762p+2, 0x1.dc7a08p+1 +0x1.2b324ap-1, -0x1.9293aap+1 +-0x1.8f2276p+2, -0x1.06ee1p+1 +0x1.ac1dd2p-3, 0x1.b6a822p+2 +-0x1.a512a4p+2, 0x1.602c74p+0 +0x1.6322dcp+1, 0x1.0b4194p+2 +0x1.3092b2p-4, -0x1.3c45d6p+1 +0x1.157b56p+18, -0x1.54a7fcp+1 +-0x1.63d16ap+0, -0x1.3edf52p+0 +-0x1.ed448ep-3, -0x1.477226p-5 +0x1.0815eep+3, -0x1.cce048p+0 +0x1.5733ccp+8, 0x1.cced3cp+1 +-0x1.c9bc18p-1, 0x1.0c962ap+6 +-0x1.e0ede6p+2, 0x1.8675e2p-1 +0x1.c3ef36p+1, -0x1.a62506p+1 +-0x1.31075cp+19, -0x1.a07e2ap+0 +-0x1.040888p+18, 0x1.e6f3dap+1 +-0x1.2b914ap+2, 0x1.b9ffap+2 +0x1.cd7148p+2, 0x1.d69c16p-3 +-0x1.4d36fep+2, -0x1.177fa4p-2 +-0x1.49811ap-2, -0x1.3f9f48p+2 +-0x1.1ff142p+1, 0x1.803862p+1 +-0x1.1c26b8p+1, -0x1.1390c2p+2 +-0x1.20ee2p+1, 0x1.434b4cp+9 +-0x1.2aef4p+15, 0x1.34bcd8p+1 +0x1.90bcd8p+0, 0x1.4a6394p+2 +-0x1.69839ap+1, -0x1.0d6ddp+2 +0x1.3092a4p+2, -0x1.b08a68p+1 +0x1.700c8ep+1, 0x1.a296e8p-2 +-0x1.6159a6p+1, 0x1.ba4bfep+0 +0x1.ea2988p+0, -0x1.1f045p+2 +0x1.5113a8p+1, -0x1.460e14p+2 +-0x1.89861p+1, -0x1.002bf2p+0 +-0x1.a1e6aap+1, 0x1.6ad99cp+2 +-0x1.4dc6acp+0, -0x1.2392ccp+2 +-0x1.5902acp+0, -0x1.4a8758p+13 +-0x1.5dcf9ap+1, 0x1.63beccp+0 +-0x1.807126p+0, 0x1.7f206p-1 +-0x1.a74636p+1, -0x1.2298b6p+1 +0x1.704f5ep+2, -0x1.00350ep+0 +-0x1.091ba8p+3, -0x1.4ef78p-3 +0x1.33eadep+2, 0x1.2d7e3cp+2 +0x1.d2b5f4p+1, 0x1.afe4bp-2 +-0x1.da83fep+1, 0x1.0583p+2 +0x1.5f38eep+2, 0x1.e34ddp+1 +0x1.c7d88cp-4, -0x1.704de2p+2 +0x1.0c43c8p+3, -0x1.21d10ap+1 +-0x1.e92804p+1, 0x1.8f3b88p+2 +-0x1.9a6c6cp+2, 0x1.5f2cd6p+1 +0x1.d47ddep+1, -0x1.36feaap-1 +-0x1.1f916cp+2, 0x1.3f4c68p+0 +0x1.a29362p+1, -0x1.102536p+3 +0x1.ff8d8ep+0, -0x1.08bf5p+2 +-0x1.8d9fecp+2, -0x1.1943a4p+0 +-0x1.ee75ep+1, -0x1.46213ep+0 +0x1.23daa8p+1, -0x1.71994p+1 +0x1.a666c6p+1, -0x1.20af6cp+9 +0x1.82d25p-2, -0x1.1462f4p+0 +-0x1.e5170ep-1, -0x1.2bf532p-1 +-0x1.397b6p+2, 0x1.a18074p-1 +0x1.86cdd8p-4, 0x1.98579p+1 +-0x1.46279ep+1, -0x1.d3c22p+1 +0x1.818c08p-3, -0x1.6f642ap+1 +-0x1.8ef1e2p+1, -0x1.13ae94p+8 +-0x1.b0d6fcp+1, 0x1.4ba2c6p+1 +0x1.24ac94p+0, -0x1.14220ep+2 +-0x1.f9b64p+1, 0x1.0b9decp+2 +-0x1.69ba3ap+0, 0x1.f87dcep+1 +0x1.9fb77cp-4, 0x1.fe74aep+0 +0x1.22623p-1, -0x1.9a8f44p+1 +-0x1.156ffcp+3, 0x1.3f9ffap-1 +-0x1.5a9408p+2, 0x1.5f0048p-1 +-0x1.1e88f2p+1, 0x1.f5c14cp+2 +0x1.e9fb52p+1, -0x1.8be0d2p+1 +0x1.d0c0e2p+1, -0x1.b3008ap+2 +-0x1.6bddbep-2, -0x1.16582cp-1 +0x1.3ea1d2p-3, 0x1.529928p+2 +-0x1.ab38bp+1, -0x1.e64f2p-3 +0x1.2e95p+0, -0x1.5803a6p+1 +0x1.4a289cp+2, 0x1.8075d8p+2 +0x1.be90a6p+1, 0x1.6a3914p+1 +0x1.970e3p+1, 0x1.31a064p+1 +0x1.6264c6p+0, -0x1.c2e098p+0 +0x1.6ab4bp+2, -0x1.2a3e42p-4 +0x1.9d28ep+1, -0x1.5750fcp-2 +0x1.128552p+2, -0x1.4973b8p+2 +-0x1.ac6244p-2, 0x1.ff3a5p-1 +0x1.0a08acp+3, 0x1.c56148p+1 +0x1.d1debp+0, 0x1.7fa268p+1 +0x1.2bdaacp-2, 0x1.8b3cf8p+0 +0x1.2585f8p+2, -0x1.45b9c2p+1 +0x1.513d8p+1, -0x1.968f86p+1 +0x1.6889acp+0, 0x1.52cdc4p+2 +-0x1.26339ep+1, -0x1.467db6p+1 +-0x1.2e428ep+6, 0x1.6669a6p+2 +-0x1.aa44a2p-2, 0x1.805deep+1 +-0x1.b2b0ap+1, -0x1.56633ep-1 +0x1.859eep+0, -0x1.cdc444p-1 +0x1.a5aecep+0, -0x1.2634e4p-2 +0x1.a54312p-1, -0x1.108c78p-3 +0x1.0fae16p-4, 0x1.28a7ecp+3 +0x1.05e13ep-2, 0x1.a4723p+2 +0x1.40cad2p+0, 0x1.a7be68p+0 +0x1.2336e8p+2, 0x1.7b11f2p+2 +0x1.76c634p+1, -0x1.26a6f2p+2 +-0x1.1772fcp+2, -0x1.4e0228p+2 +0x1.38031cp-2, 0x1.3ea816p+7 +-0x1.28a422p+0, 0x1.e08562p-2 +0x1.43a992p-3, -0x1.0f44a8p+2 +0x1.033198p+3, 0x1.0dbffcp+2 +-0x1.455a18p+0, -0x1.cc2188p+0 +0x1.4844b2p-1, 0x1.0c717p-2 +0x1.6068a6p+1, -0x1.b7d4eap+0 +0x1.e34a16p+1, 0x1.ffe85p+1 +0x1.743d8ep+2, 0x1.44654cp+1 +0x1.8ac654p+1, -0x1.b8616cp+1 +-0x1.07669ap+1, -0x1.266b2ep+0 +0x1.0f51f2p+16, -0x1.03fe2cp+3 +0x1.481ceap+1, 0x1.ad920ap+1 +0x1.ef748cp+2, 0x1.6d59ep+0 +-0x1.710c64p+1, 0x1.b6e8fcp-1 +-0x1.41dde8p-1, 0x1.531f88p-4 +0x1.ac28b4p+2, 0x1.28b0eap+2 +-0x1.8141bcp+0, -0x1.b8ac2p+0 +0x1.c78192p+0, -0x1.4c072p-3 +0x1.b8410cp+0, -0x1.4678bp+1 +-0x1.065be2p+2, 0x1.4fcd4ep+12 +-0x1.9c8074p+1, 0x1.10f5e4p+2 +0x1.4d119ap+0, -0x1.e3d91ap-1 +-0x1.87bc5p+0, -0x1.e1f11cp+2 +0x1.ea812ap-1, -0x1.5f64f8p-1 +0x1.4e9758p+0, 0x1.929b3ep+0 +-0x1.5c08a8p+2, 0x1.3663fep+3 +0x1.4ae9aep+0, -0x1.f97ee8p+1 +0x1.e66ba6p+0, 0x1.4615aap+0 +0x1.a2d69ep+0, 0x1.0ea596p+2 +-0x1.cc6b7cp-3, -0x1.059bc2p+2 +0x1.a15e8p+1, 0x1.08b46ep+1 +0x1.1032p+2, -0x1.0c9f2cp+3 +-0x1.eb9e6ap+1, -0x1.d25ccap+1 +0x1.b401e6p+1, -0x1.53ba84p+1 +-0x1.7edc7p-1, -0x1.aeffb8p-4 +-0x1.8fd8c6p+2, -0x1.75ae86p+0 +-0x1.f3c2dcp-1, 0x1.ba72bcp+1 +-0x1.3d3d16p+1, 0x1.d7a924p-1 +-0x1.9c858ap-1, 0x1.52930ep+2 +0x1.b3d0eep+2, -0x1.8b5faap+3 +0x1.1da242p-1, -0x1.0252ap+2 +0x1.82888ep+1, 0x1.f5a546p+1 +0x1.3741ccp+2, -0x1.e3444cp-1 +0x1.7c9932p+2, -0x1.95faacp+2 +-0x1.dc497ap+0, -0x1.245cd2p+0 +-0x1.27bcd2p+2, 0x1.ab3c8ep+0 +-0x1.1533a6p+2, -0x1.0c119ep+0 +0x1.f526e8p+1, -0x1.61002ep+2 +0x1.45433ep+3, 0x1.f6b9b2p+0 +0x1.63e24ap+2, 0x1.3582b4p+1 +0x1.29e214p+2, -0x1.339e6p+0 +0x1.5dc1eep+2, -0x1.53b49ap+2 +0x1.e4cf4cp-1, 0x1.fe5484p+0 +0x1.89799ap+1, -0x1.4690b2p+1 +-0x1.f92448p-2, 0x1.726c36p+2 +-0x1.545c54p+7, 0x1.368f4p+2 +-0x1.0725c4p+0, -0x1.3ba82ep+1 +0x1.2aaafep-2, -0x1.06d9f8p+3 +0x1.4f364ep+2, 0x1.5afb3cp+1 +0x1.fab868p+7, -0x1.9e16c8p+15 +0x1.82e834p+0, 0x1.1a32a8p+2 +-0x1.0bccfp+2, 0x1.207e94p+0 +0x1.85767cp+0, 0x1.104cd6p+2 +-0x1.66e426p+2, 0x1.891ec6p+1 +0x1.c0681p+8, 0x1.bd029cp+0 +-0x1.030a48p+1, 0x1.43901cp+0 +-0x1.c14598p+1, 0x1.1a311ep+0 +0x1.8b422p+1, 0x1.089f6ep+1 +0x1.3c7ebp+6, 0x1.5d33cp+1 +-0x1.2f1fbcp+8, 0x1.b25264p-3 +0x1.d79794p+0, -0x1.cd6c82p-1 +0x1.ad0226p-3, 0x1.0557b6p+1 +-0x1.d6231p+2, 0x1.6230f4p+1 +0x1.12899cp+1, 0x1.68bc1p+1 +-0x1.e65262p-1, -0x1.cf1d4ep-2 +0x1.16c754p+2, -0x1.2f0544p+11 +0x1.b092a4p+2, 0x1.bb6382p+0 +0x1.c289bap+0, 0x1.6b71ccp-4 +-0x1.7d9eb8p+2, 0x1.e64042p+1 +-0x1.9a5728p-3, 0x1.4da1a4p+1 +-0x1.27ca98p+1, 0x1.0054a6p+2 +0x1.1de97ap+0, -0x1.e960dep-1 +-0x1.ebc776p+1, -0x1.d639dp-3 +-0x1.fd7bcep+1, 0x1.7210ep+1 +0x1.023a6p-1, -0x1.2967fp+1 +0x1.2ac84ap+2, -0x1.880fe2p+0 +-0x1.08965cp+1, -0x1.e9f1cep-4 +0x1.3d0fc8p+1, 0x1.24f89ap-1 +-0x1.3341d4p+2, -0x1.f83908p+9 +0x1.552f68p+2, 0x1.98bfb4p-7 +-0x1.242cf4p+10, 0x1.15e678p+2 +0x1.3ce172p+2, -0x1.43999ap-1 +-0x1.3a3118p-2, -0x1.5f7668p+1 +0x1.6e7a2cp+0, -0x1.f5124cp+2 +0x1.8f852ep+2, 0x1.e65e4cp+1 +0x1.56dep+1, -0x1.552cfep+3 +0x1.dd5daap+0, -0x1.6054b6p+2 +0x1.223ed4p+4, 0x1.6c16f8p+2 +0x1.38ac86p+0, -0x1.de4b1ap+9 +0x1.b1e9dp+0, -0x1.66b292p+1 +0x1.6750c2p-4, 0x1.37e44ap-4 +0x1.852c14p+16, 0x1.32c134p+2 +0x1.8cc558p+1, 0x1.0e66c6p+0 +0x1.ad036p+1, -0x1.41c2ap+1 +-0x1.5718d2p+9, -0x1.408938p-1 +0x1.1336bp-1, 0x1.905eeep+2 +0x1.72dd9ap+2, -0x1.3c10fp+2 +0x1.61126p+2, -0x1.c8e28ap+0 +0x1.287d0ap-1, 0x1.185006p+0 +-0x1.6940e6p+1, 0x1.afd778p+1 +0x1.ec891ap+1, -0x1.eff7bep+0 +-0x1.b737p-2, 0x1.047834p+2 +-0x1.0ff50cp+0, -0x1.478b42p+1 +0x1.8b07c4p+0, -0x1.018a6ep+2 +-0x1.40f8eap+1, -0x1.3f0e48p+2 +0x1.01d5aep+3, -0x1.1c5c96p+2 +-0x1.b61342p+2, 0x1.965872p+1 +0x1.b0f666p-2, -0x1.384bfp+1 +-0x1.25acd2p+2, 0x1.1bdb72p+3 +0x1.ebd39ep+15, 0x1.7bd00cp+2 +0x1.20bcp+2, -0x1.b1f724p+2 +0x1.7cf45ep-1, 0x1.db9086p+1 +0x1.4cfef6p+2, -0x1.3d4b82p+0 +0x1.7e835p+1, 0x1.e84b28p-2 +-0x1.5e64f2p+1, -0x1.b7fa8ep+2 +0x1.5e6ebap+2, -0x1.8f1c5ep-1 +0x1.a84d4p-5, -0x1.981c9ep+1 +0x1.69a0e4p+12, 0x1.0c8288p+2 +0x1.afaa98p+8, 0x1.54af82p+0 +0x1.910bfap+2, 0x1.2c49b4p+1 +-0x1.24cc18p+2, 0x1.2dde0ap+2 +0x1.d64256p+1, -0x1.41c5e6p+0 +0x1.4de536p+0, -0x1.ffef84p+2 +0x1.224676p+11, 0x1.ed862ep+0 +-0x1.0ccbeep+1, 0x1.81ed48p+2 +-0x1.df2088p+1, 0x1.4c017p+2 +0x1.8f07f2p+1, 0x1.be90dep+0 +0x1.430bdcp+1, 0x1.03fa8ep+2 +0x1.0a8788p+0, 0x1.4c308ep+1 +-0x1.237a14p+1, -0x1.5609d2p+1 +-0x1.8a789ap+1, -0x1.753ac8p+0 +-0x1.f4f8e6p+0, 0x1.b89f86p-1 +0x1.4047d4p+3, -0x1.e81114p+0 +-0x1.8ba63ap-2, 0x1.857464p-1 +-0x1.1acfbap+2, -0x1.14a594p+12 +0x1.65664ap+2, -0x1.d4d492p-4 +-0x1.4203a6p-3, 0x1.725bccp+15 +-0x1.8dd22cp-1, -0x1.a45494p-1 +0x1.bfac5ep+0, -0x1.d3f27ap-1 +0x1.098676p+0, 0x1.eb341ep+4 +-0x1.0a2f46p+1, -0x1.243a26p+1 +-0x1.a44f76p+0, -0x1.f60582p+8 +-0x1.87454p+1, -0x1.17ace2p+2 +0x1.171524p+1, 0x1.6116dap+1 +-0x1.29d74ap+2, 0x1.d3c706p-1 +0x1.622c6ap+1, 0x1.7be3c4p+1 +0x1.e5ad94p+0, -0x1.37d75p-1 +-0x1.6949dep+7, -0x1.a9ee4cp+0 +-0x1.63e536p-11, 0x1.0a09c8p+2 +-0x1.037454p+3, -0x1.6966d4p+5 +0x1.bf6f9p-1, 0x1.682e5p+1 +0x1.559f16p+3, 0x1.33ba8p+1 +0x1.c55f64p+0, 0x1.58b4b2p+0 +-0x1.f4834ap+2, 0x1.23e40cp+3 +0x1.12a858p+2, 0x1.dbce5cp-1 +-0x1.ecdbdap-2, 0x1.ed7bb4p+2 +0x1.d14cdep+1, -0x1.274afep-1 +-0x1.3cbb4ap+1, -0x1.5d358p-1 +-0x1.6b52bcp+0, 0x1.096e8ep+8 +0x1.6b568cp+2, -0x1.a2b26ap+0 +0x1.c8344ep+0, 0x1.e4c4f4p-3 +-0x1.8c5094p+1, 0x1.50a534p+2 +-0x1.fcb4aep+0, 0x1.38c198p+1 +0x1.0395e4p+3, -0x1.9f7e42p+2 +-0x1.dcfcdep+0, -0x1.ac7586p+2 +-0x1.3f5ebp+1, -0x1.3262acp+2 +0x1.93ddfcp+2, 0x1.ebc6a4p+4 +0x1.c83d82p+2, -0x1.43b99ap-3 +0x1.004964p+2, 0x1.a00b94p+2 +-0x1.40e762p+0, -0x1.313656p+0 +-0x1.63647ap+2, 0x1.a84368p+2 +-0x1.5dd3d8p-3, -0x1.1a7dc8p+2 +-0x1.79baf8p+0, -0x1.e15a5ep+2 +0x1.489c4ep+1, 0x1.005ca8p+2 +0x1.bb697ap+0, -0x1.c255e8p+12 +-0x1.bb911cp-2, -0x1.2164ccp+2 +0x1.a8cc3ap+2, -0x1.bf4014p+2 +-0x1.2c2aa4p+0, 0x1.3fbea4p+6 +0x1.0823d8p+2, -0x1.2f6056p+2 +-0x1.292842p+1, -0x1.6dde48p+0 +0x1.28970cp-1, 0x1.fb900cp-5 +-0x1.2bacfp+8, 0x1.24b986p+0 +-0x1.3f8614p+6, 0x1.05eb48p+0 +-0x1.3ad03p+1, 0x1.26eb18p+1 +-0x1.059354p+0, -0x1.a8cad4p-1 +0x1.352a1p+2, 0x1.723be2p-4 +-0x1.51fa1cp+1, 0x1.115824p+3 +-0x1.c8629cp+14, -0x1.6f927ap+1 +0x1.d8e1dap+1, -0x1.197686p+17 +0x1.18d22ap-4, -0x1.029792p+0 +0x1.7389e8p-1, -0x1.cd724cp+2 +-0x1.841e4p+0, -0x1.64ef98p+2 +-0x1.c4018ap+2, 0x1.e86144p-2 +0x1.2d7dcp-4, 0x1.04f0eap+3 +0x1.7f8cd8p+2, 0x1.33eb86p+2 +-0x1.196136p+0, 0x1.15fd3p+2 +0x1.ee3f8ep+6, -0x1.0da85p+2 +0x1.73a006p+0, -0x1.e196bep+0 +-0x1.c3010cp+0, -0x1.653532p+2 +0x1.0b4fc6p-9, 0x1.2b4c06p+2 +-0x1.28b93p+1, 0x1.e0c6f2p+0 +-0x1.aedb48p+0, 0x1.3ae3cp+2 +0x1.2e87eap+13, -0x1.eeb1ccp+1 +-0x1.e9f516p+2, -0x1.6ba38ap-2 +-0x1.b38d6ap+2, 0x1.3aafcep+2 +-0x1.6834e4p-3, -0x1.53dc34p+2 +-0x1.dc4d14p+1, 0x1.39601cp+1 +-0x1.12d988p+0, -0x1.f3345ap-8 +-0x1.90fae8p-5, 0x1.3f525ep+1 +-0x1.9fe41cp-2, -0x1.6bd0cep+1 +-0x1.2b36bcp+3, -0x1.7eca14p+2 +0x1.0efa68p+0, 0x1.a9ae4cp+2 +0x1.7fe55ap+0, 0x1.d3da7p+1 +-0x1.04a3b8p+2, 0x1.5fae16p+0 +0x1.a34a28p-1, 0x1.09b944p+0 +0x1.af6838p+0, 0x1.46fa24p+2 +0x1.5c38aap+3, 0x1.5422bcp-2 +0x1.1c178ap+2, -0x1.bde278p+2 +0x1.0f2434p+2, 0x1.e560b2p+2 +0x1.a07b42p+2, -0x1.3341a6p+0 +0x1.af5518p+0, 0x1.7f755p+1 +0x1.6b0f5cp+1, -0x1.014eeap+2 +0x1.523cdap+1, 0x1.7fbf64p+0 +-0x1.4626b4p+2, -0x1.538ab8p+2 +0x1.ba8212p+0, -0x1.377072p+11 +-0x1.1b1f1cp+2, 0x1.fc9a8ep+1 +0x1.5995bap+1, 0x1.ae1bb6p-1 +-0x1.1f4afcp+1, 0x1.eb7b1ep-6 +-0x1.f869aap+1, 0x1.5930bp-5 +-0x1.57a756p+1, -0x1.bd3a56p+0 +-0x1.40bf18p+12, -0x1.688406p+2 +0x1.045214p+10, 0x1.0696c6p+10 +0x1.7f85eap+1, 0x1.803de6p-1 +0x1.3bfd36p+2, 0x1.952a98p-1 +-0x1.858c6cp+0, -0x1.b4c92ap+0 +0x1.967de2p-1, 0x1.e8fbd6p+1 +-0x1.fa4076p+1, -0x1.1d7aap+0 +-0x1.5cf3cep+0, -0x1.b958f4p+2 +-0x1.3a72aap+1, -0x1.4efdbcp+2 +0x1.517636p-8, 0x1.62e174p+2 +-0x1.5b430ep+13, 0x1.28c63ap+6 +0x1.4a60fp+2, -0x1.6c0ae4p-2 +-0x1.ebe27ep+1, 0x1.111144p+0 +-0x1.072214p+1, 0x1.bfdaccp-1 +0x1.214c18p+2, 0x1.962558p+2 +0x1.2e1b12p+0, 0x1.dcdd92p-2 +-0x1.b537cp+1, 0x1.02b1ccp+2 +0x1.933d48p+2, 0x1.3498a8p+1 +-0x1.0c970cp+1, -0x1.b401eep+1 +0x1.bc134p+2, 0x1.cfcdcap+2 +0x1.1c9c0ap+2, 0x1.5574eap+0 +-0x1.015ba2p+3, -0x1.537f6cp+7 +-0x1.0523e2p+2, 0x1.4247c6p+2 +0x1.26a228p+0, -0x1.97bb6ep+2 +-0x1.298044p-1, 0x1.223a7p+1 +-0x1.60affep+2, 0x1.b7046cp+2 +-0x1.2ba912p+3, -0x1.03cdbap+6 +0x1.4a6adp+2, -0x1.33b64p+0 +-0x1.80684ep+1, -0x1.90f804p+1 +0x1.a5d1aap+12, 0x1.6ca546p+1 +-0x1.13bf16p+3, -0x1.3eae6cp+2 +-0x1.eec07ap+1, 0x1.478984p+9 +0x1.b0109ep+0, 0x1.bd4858p+0 +-0x1.8ca8ap+0, 0x1.c04222p+15 +0x1.6fdab6p-3, -0x1.84acbep+2 +-0x1.4649dcp+2, -0x1.f6687ep-1 +0x1.2ec62p-2, 0x1.9b9762p-1 +-0x1.6721f2p+0, -0x1.01b2c8p+2 +-0x1.3739d2p+0, -0x1.48e6c4p+1 +0x1.3b3f8ap+0, 0x1.fc48e2p+1 +-0x1.10123p+1, 0x1.6676fep+17 +-0x1.db5c34p+0, 0x1.2d3ec4p+0 +-0x1.14a234p+2, 0x1.bda298p+1 +0x1.191d2cp+3, -0x1.84d1bep+1 +-0x1.605ae6p+2, 0x1.b6d15ap+0 +0x1.9fc318p+0, 0x1.45e96ep+0 +-0x1.67f2cep+2, 0x1.a81a38p+16 +-0x1.cb43ap+9, -0x1.3c3756p+3 +-0x1.8f3dc2p+2, 0x1.293eeep-2 +0x1.57a564p+2, -0x1.51547ep+12 +0x1.a9092ep+0, -0x1.fd9976p+1 +0x1.48bd5cp+0, 0x1.68aacap+15 +0x1.e1ee58p-1, 0x1.955262p-2 +0x1.a95ecep+4, -0x1.7be9cap-5 +-0x1.14976p+2, -0x1.5c5aaep+2 +-0x1.ca774ap+1, 0x1.2d3864p+1 +0x1.4936cap+3, 0x1.025b02p+2 +-0x1.3073aap+3, -0x1.b53eaap+1 +0x1.2654b2p+1, -0x1.33c15p+1 +-0x1.34e3b6p+3, 0x1.3ccf16p+1 +-0x1.1f46d8p+1, 0x1.e1cebep+1 +-0x1.36e7f2p+3, 0x1.05662p-1 +-0x1.0432dp-1, -0x1.0a42d6p+2 +0x1.68d1cep-4, 0x1.995dcp-1 +0x1.228636p+2, 0x1.1cbb76p-1 +0x1.46b7fp+2, -0x1.8d8258p-4 +0x1.054242p+0, -0x1.66a084p+2 +0x1.7f5c64p+0, -0x1.640af4p+1 +0x1.6ae22ap+14, 0x1.624fb8p+12 +0x1.099154p+2, 0x1.8c331ap+2 +0x1.915a36p+2, 0x1.97c9b2p+1 +0x1.f19f84p+1, 0x1.61a25ap-1 +0x1.732d0cp+1, -0x1.f1b20ep+2 +0x1.0ce896p+3, -0x1.0deb6ep-5 +-0x1.c422c6p+0, 0x1.4a6b1cp+1 +-0x1.1f62b2p+1, 0x1.98cd86p+1 +-0x1.c9e44ep+2, -0x1.52a84ap+3 +0x1.389a42p+1, 0x1.535e2ap+1 +0x1.22ca6cp-7, -0x1.25cc74p+1 +0x1.49ecap+0, -0x1.a2164cp+2 +-0x1.c236fp+0, 0x1.d47e7p+1 +0x1.c3f0b6p+1, 0x1.9615bap+1 +-0x1.87122ep+0, 0x1.912e0cp+2 +0x1.f4f612p+0, 0x1.4aa65cp+3 +0x1.bb3d0ap-2, -0x1.1fa7a8p+0 +-0x1.86f3b8p+2, -0x1.917f1p-2 +-0x1.b3f5dep+1, 0x1.1aff38p+2 +-0x1.18a3e6p+2, -0x1.41499cp+1 +-0x1.e8d504p-2, -0x1.4039f2p+0 +-0x1.d6f3bap-1, 0x1.db428p-1 +-0x1.e7eef6p-1, 0x1.f9b986p+1 +-0x1.b962cap+1, -0x1.61d8ecp+18 +-0x1.9f5fbcp-2, -0x1.7a33ep+2 +0x1.c027dap+1, 0x1.049f5ep+1 +0x1.aca1f2p+0, 0x1.777ceep+1 +-0x1.84783cp+0, -0x1.04603ep-2 +0x1.372456p+1, -0x1.23969ap+2 +-0x1.544a8ap+0, 0x1.a69f52p+9 +0x1.57d6a2p+1, -0x1.5b23d2p+1 +0x1.189342p+1, -0x1.7db792p+2 +0x1.6be0c6p+1, 0x1.f17e7ep+2 +-0x1.e7e836p+8, -0x1.c5aceap+1 +-0x1.4c2ea2p+1, -0x1.81bb78p+1 +0x1.ee9398p+0, 0x1.033364p+1 +0x1.92c51p+2, 0x1.b73834p+1 +0x1.7998cp-5, -0x1.e11b4ep+16 +-0x1.736282p+1, -0x1.88f8ep+0 +-0x1.1d73e2p-1, 0x1.69245p+2 +-0x1.3c3a5cp+1, -0x1.64939cp+1 +0x1.111778p+1, -0x1.07b59cp+1 +0x1.5bb4a8p+1, -0x1.ad9118p+1 +-0x1.dcb806p+0, 0x1.c2a2b4p+0 +0x1.38067p+3, -0x1.d4d94ap+1 +0x1.7ef898p+1, -0x1.b53f46p+2 +-0x1.cd7512p-1, 0x1.6ad8c8p+2 +-0x1.18633p+1, 0x1.2a81b8p+1 +0x1.7ca90ap+1, -0x1.81791cp+2 +0x1.3337d6p+0, -0x1.1a7032p-1 +-0x1.8592c6p+0, -0x1.cc4348p+2 +-0x1.5b69a2p+1, -0x1.c5649p+8 +0x1.0c91b6p-1, 0x1.576e26p+2 +0x1.2fa102p-2, 0x1.2b013cp-3 +0x1.dfbcp+1, -0x1.31b85ep+1 +-0x1.ad954cp+0, -0x1.d925dcp+1 +0x1.baf544p+1, -0x1.c6feaap+2 +-0x1.055ed6p+0, -0x1.6795c4p+1 +-0x1.bdca7cp+2, -0x1.364798p+3 +0x1.6dc458p+2, 0x1.3193fp-3 +0x1.a2abfap+1, -0x1.0e1e18p-1 +0x1.e3556ap-2, 0x1.49d132p+1 +0x1.a951d2p+7, 0x1.43527cp+3 +-0x1.471f92p+0, -0x1.0ff99cp+0 +-0x1.5103e2p+2, -0x1.dca674p+0 +-0x1.0f06c6p+1, -0x1.6401a2p-1 +0x1.026b68p+0, 0x1.9f21e6p+1 +0x1.63c76cp+1, 0x1.9570fap+2 +-0x1.40c738p+1, 0x1.26c59ap+0 +-0x1.09f698p+2, -0x1.d79c1ep-1 +-0x1.0f3656p+3, 0x1.31899cp+1 +-0x1.3229ecp+2, 0x1.9dc5b8p+1 +0x1.932254p+2, 0x1.0cc25cp+0 +-0x1.e5cb9ep+17, -0x1.52aa56p+2 +-0x1.6d6644p+5, -0x1.df475ap+1 +-0x1.247398p+2, -0x1.8caaep+1 +0x1.8e28d2p+1, 0x1.79e848p+0 +-0x1.f36e1ep-1, 0x1.91b9d8p+1 +0x1.537bd8p+2, -0x1.0908eap+3 +-0x1.8385dcp+10, -0x1.2a386ap+0 +-0x1.284122p+2, -0x1.e6b57ep-1 +0x1.3acb74p-1, -0x1.20cd14p+0 +-0x1.dceecap-2, -0x1.d47f32p+0 +0x1.760678p+0, 0x1.39b80cp+2 +-0x1.35c0e8p-2, 0x1.a808f6p+0 +-0x1.55e1aap+3, 0x1.da5d46p+0 +-0x1.2319a4p-3, 0x1.54ef1ep+0 +-0x1.521d6ep-1, -0x1.33b67cp+3 +-0x1.85da14p+1, -0x1.91021p+1 +0x1.0cfe48p+0, 0x1.668d1ep+9 +-0x1.0113dcp+3, 0x1.485bc4p+18 +-0x1.2feb12p+1, 0x1.9e372cp+13 +0x1.c02624p+1, 0x1.0dca3ap-1 +0x1.50707ep+1, 0x1.13989ep-2 +-0x1.6dae7p+1, 0x1.2b64p+1 +0x1.10c794p+0, 0x1.8568a8p+2 +0x1.738aaep+2, 0x1.76643p-1 +0x1.a9f76ep+0, 0x1.076a8cp-2 +-0x1.d08742p+1, -0x1.10c7c8p+3 +0x1.608fcep+2, 0x1.81c18cp+7 +-0x1.1b046p+1, -0x1.7caf8p+1 +-0x1.3f943p+1, 0x1.02ca24p+2 +-0x1.aa98b2p+2, 0x1.4cd74ap-1 +0x1.3e5336p+0, 0x1.b5c432p+0 +-0x1.0ce9ecp+0, 0x1.fdcb2cp+2 +0x1.b11d2cp-2, -0x1.069cap+2 +0x1.92105p+2, -0x1.acecdep+0 +0x1.4e4bfap+0, -0x1.4ebbd2p-2 +-0x1.528594p+2, -0x1.8fc862p+2 +0x1.1c76fp+6, -0x1.ef513ep+2 +0x1.4e3e6ep+0, -0x1.e2193ep+1 +-0x1.b1eec6p+2, 0x1.907898p-4 +0x1.f5073ep+1, -0x1.cbc7d4p+0 +0x1.ad3b5ep+0, 0x1.c5eb7cp+1 +-0x1.964f02p+1, -0x1.3b8fa4p+2 +0x1.f4da9ap+2, -0x1.ad08b2p+0 +-0x1.78de1ep+1, 0x1.7bca54p+3 +0x1.8fa03ep+1, -0x1.f38582p+0 +-0x1.14b46cp+3, 0x1.98068ap+1 +0x1.03b012p-2, 0x1.a56984p+0 +0x1.1f872ap+0, 0x1.046cdap+2 +-0x1.29ef22p+1, 0x1.27a0ecp+1 +-0x1.09ebdap+1, -0x1.10f666p+3 +-0x1.2d78eep+2, 0x1.8769c8p-3 +0x1.de9b4cp+0, 0x1.3e8f1p+0 +-0x1.e43388p+1, 0x1.b29236p+1 +-0x1.10be86p+17, -0x1.1bba16p+2 +0x1.9244fcp+0, 0x1.83e5c6p+0 +-0x1.53d272p+1, -0x1.dac0dp+2 +0x1.739214p-1, 0x1.12fa44p+1 +-0x1.aa5c2p-3, 0x1.a429e2p+1 +0x1.48978p+1, 0x1.12dd6cp+2 +0x1.70589ep+1, -0x1.368e3ap+0 +-0x1.cba8fep-1, -0x1.e45fbcp+2 +0x1.36cc4ap+6, 0x1.e92274p+0 +0x1.34964p-1, 0x1.9ae922p+0 +-0x1.e6c0d4p+1, 0x1.f31f64p+1 +0x1.9c1d38p-1, 0x1.fe427ep+1 +-0x1.165128p+0, -0x1.4dcca4p+1 +0x1.47affp-1, -0x1.46d5fp-2 +-0x1.9baabap-11, -0x1.467104p+2 +-0x1.33eb6p+2, -0x1.82944p+2 +-0x1.a1a4dp+2, -0x1.d7fddcp+1 +-0x1.1e1838p+2, 0x1.17acccp+0 +-0x1.35068ap+17, 0x1.a33bc6p+1 +-0x1.4ffebcp+0, 0x1.b436d2p+1 +-0x1.d2f5f6p+1, 0x1.c60bf8p+1 +-0x1.3c75c4p+6, -0x1.fa82fp+1 +-0x1.7059b8p+2, -0x1.186dc6p+2 +-0x1.8c9562p+0, 0x1.9d2862p+2 +-0x1.60c3aap+3, 0x1.af8edcp+3 +-0x1.c9ba54p+0, 0x1.a097e8p+2 +0x1.5329b6p+2, -0x1.333cd2p+7 +0x1.0a66e8p+1, 0x1.43ea52p-3 +-0x1.28b1aap-1, -0x1.4399b6p+1 +-0x1.34e128p+2, 0x1.180d0ap+4 +0x1.462a8ap-1, 0x1.81f6acp+1 +-0x1.5728e4p+1, -0x1.36a1a6p+1 +-0x1.0a7c78p+2, 0x1.918324p+0 +0x1.444c38p+2, -0x1.04282cp+2 +-0x1.dab998p+1, 0x1.8ed874p+1 +0x1.9a283ep-1, 0x1.0ef75cp-1 +-0x1.58ed42p+1, -0x1.81dbcp-1 +0x1.bdbfa8p+0, 0x1.52f282p+1 +0x1.1f9afep+2, -0x1.01ec96p+1 +-0x1.eecbf4p+11, -0x1.353cfep-1 +-0x1.b40c9ep+1, -0x1.028434p+1 +0x1.461254p+1, 0x1.feb02ap+1 +-0x1.72ad0cp-1, 0x1.1f232cp+1 +-0x1.b6ac7ep+2, 0x1.e8083p+0 +-0x1.0a2e4ap-1, -0x1.05b698p+0 +-0x1.fd49b6p+2, 0x1.0af484p+0 +0x1.b9d11ep+2, -0x1.26243ep-1 +0x1.03142p+3, -0x1.57133ap+0 +0x1.461eb6p-1, -0x1.c7b67cp+1 +0x1.97866ep-2, 0x1.0d51e2p+1 +0x1.1a552ep+1, -0x1.6f0504p+1 +-0x1.cc25e4p+1, -0x1.3cf7fap+2 +-0x1.846216p+2, 0x1.931f7cp+2 +0x1.3afa4ap+2, -0x1.c7cc5cp+2 +-0x1.6054f4p-1, 0x1.0f0adcp+1 +-0x1.9fc5cep+1, -0x1.b5112ep+1 +0x1.af3d24p-4, 0x1.aa9c32p+2 +-0x1.0f1958p+0, -0x1.293fe4p+1 +0x1.de2f92p+1, 0x1.00f946p+2 +0x1.a8f7b2p+2, 0x1.069786p+2 +-0x1.20060cp+2, -0x1.31c4a4p+1 +-0x1.455d0cp+1, 0x1.0f4d1ap-3 +0x1.70b068p+13, -0x1.67fbfp+2 +0x1.887c58p+1, -0x1.52f456p+2 +0x1.57840cp+0, 0x1.90d7c8p+0 +-0x1.dc28c8p+1, -0x1.a06894p+2 +-0x1.005a6cp-2, 0x1.91b9fp+1 +0x1.85fe64p+1, -0x1.1b2dfep+2 +0x1.ff248p+0, -0x1.be7a04p+1 +0x1.33445ap+2, 0x1.9b4be8p+0 +0x1.cd7a8p+2, 0x1.2d956ep+0 +0x1.186256p+1, 0x1.34a6e2p-2 +-0x1.3a90b2p+1, 0x1.43988p+2 +0x1.f7d25ep-3, 0x1.66b39ap-4 +-0x1.3c5e04p-2, -0x1.289a12p+2 +-0x1.881cdep+1, 0x1.6194ccp+2 +0x1.8ae754p+1, 0x1.f9602ep+0 +0x1.fd5e9p+1, -0x1.048602p+2 +0x1.7a39e8p+1, 0x1.06851p+10 +-0x1.0bf68cp+2, 0x1.e1580ap+2 +-0x1.154fbep+1, -0x1.e577d8p+16 +0x1.e4a072p+1, 0x1.d7cec8p+0 +-0x1.eaedfp+0, 0x1.49bb64p+1 +0x1.5d47dp+7, -0x1.675a64p-1 +-0x1.309c2ep+1, -0x1.03a7f8p+2 +-0x1.2defcep+0, 0x1.0d6762p+1 +0x1.23d52p+2, 0x1.c4e816p+0 +0x1.977062p+2, -0x1.26a026p+2 +0x1.8abba6p+1, -0x1.794ab6p-7 +0x1.6c508p+2, -0x1.4c1262p+3 +0x1.5d3f9ap+0, 0x1.1f4d1cp+3 +-0x1.14f506p+1, 0x1.909feap-1 +0x1.1414d2p+0, -0x1.c294d4p-2 +-0x1.973492p-2, -0x1.d1729ep+1 +0x1.26a114p+0, -0x1.2d544ep-1 +-0x1.16a634p+3, -0x1.2d9dd2p+1 +-0x1.faac9ep+0, -0x1.701864p+2 +-0x1.686332p+1, 0x1.e04f82p-1 +-0x1.1c5032p+1, 0x1.4403f8p+0 +-0x1.0a906ap+1, -0x1.28d3f6p+1 +-0x1.f87044p+0, -0x1.e02bep-1 +-0x1.71126ap+1, -0x1.6d2a7p-1 +0x1.1a545ep+1, 0x1.d1f40cp-1 +-0x1.a8272ap+2, 0x1.14666cp+2 +-0x1.6dc042p+0, -0x1.1ed04cp+1 +0x1.002404p+0, 0x1.3aae58p+1 +0x1.0af94p+0, -0x1.941f3ap+2 +-0x1.61be82p+1, 0x1.eee164p+1 +0x1.42bf26p+2, -0x1.313b0ap+2 +0x1.076a26p+3, 0x1.753bd2p-9 +-0x1.3e29d8p+1, 0x1.7b5ccap-1 +-0x1.25ea3p+3, 0x1.d8005ep+6 +-0x1.cf8678p-3, 0x1.21d48ap+1 +0x1.3e6e5ep+1, 0x1.6a1ee6p+15 +-0x1.cd78cep-2, 0x1.6b639cp+0 +0x1.fb0bc8p+1, 0x1.8517b6p+2 +-0x1.499e26p+14, -0x1.f2a202p+0 +-0x1.fd891ap+0, 0x1.944144p+2 +0x1.c55274p+0, -0x1.5ca95ap+0 +-0x1.6c409ep+0, -0x1.cf585ep+0 +0x1.6b389cp+0, -0x1.c1ecbp+2 +0x1.9e691ep+2, -0x1.4fb024p+1 +-0x1.fc38acp-2, 0x1.ed814cp-3 +-0x1.a6a1cp+1, 0x1.2cbe04p+13 +0x1.ffadc6p-3, 0x1.7a4306p+0 +0x1.022978p+1, -0x1.608052p+1 +-0x1.7d5b6ep+0, -0x1.4ebff8p+0 +0x1.2c354cp-1, -0x1.034b56p+1 +-0x1.90582cp+2, -0x1.68f1e6p+2 +0x1.9558a6p-2, -0x1.3e4b48p+2 +-0x1.266312p+2, 0x1.b47658p+2 +0x1.2095f8p+1, -0x1.bed06cp+1 +-0x1.169716p+4, -0x1.9d18fp+1 +-0x1.fea69cp+0, -0x1.f0e528p+1 +-0x1.4b8f88p+2, 0x1.45cf2p-2 +-0x1.7d7318p-5, -0x1.803a76p+1 +0x1.507cap+1, 0x1.fa7bf6p-2 +0x1.28da7ep+3, -0x1.fb3dcep+1 +-0x1.38cf44p+1, -0x1.8ef432p+1 +0x1.f3306ap+1, 0x1.e66cc2p+0 +-0x1.9fd964p+1, -0x1.33eb6p-2 +-0x1.b84c82p-1, -0x1.aab1ep-1 +0x1.8fb7b6p-1, -0x1.45f8f8p+1 +0x1.d9f16cp+1, 0x1.2d1f5cp+1 +-0x1.72f506p+0, 0x1.495c5ep+1 +-0x1.bd5534p+12, -0x1.1228c6p-2 +-0x1.97fb0ep-1, -0x1.a5bd62p+1 +0x1.0a01cep+1, -0x1.034f54p+2 +0x1.22a1d4p+1, 0x1.ec382p+0 +-0x1.bfa028p+1, -0x1.8fc92p+1 +-0x1.e17182p+1, -0x1.a12a9ep-2 +-0x1.afc14cp+0, 0x1.5585e4p-3 +0x1.9bc364p+2, -0x1.c5337p+1 +0x1.73f304p+1, 0x1.39d288p+0 +-0x1.7b91fep+1, 0x1.11b3acp+15 +0x1.432b3ap-3, -0x1.d3fcdcp+1 +-0x1.8f9164p-2, -0x1.d9e004p-3 +-0x1.f3c606p+1, 0x1.6e08f8p+2 +-0x1.4bc15p+1, -0x1.356792p+2 +-0x1.526dp+1, -0x1.9054dep+0 +0x1.20845ap+2, -0x1.480956p+1 +0x1.7672c8p+1, -0x1.1e0478p+5 +-0x1.0a835ap+0, 0x1.8e4dcep+2 +-0x1.907672p+2, 0x1.4a9aa6p+1 +-0x1.690f4p+1, 0x1.64ab66p+6 +-0x1.7ad07ap+13, -0x1.2f237ap+0 +-0x1.3be59ep+0, 0x1.8dd4f8p-1 +-0x1.49bc32p+2, -0x1.0968f6p+1 +0x1.3c032ap+2, -0x1.eb62bp-3 +0x1.313e18p+2, -0x1.de8b2cp-3 +-0x1.b70358p+2, 0x1.304ae6p+2 +0x1.9e4642p+1, 0x1.52a362p-1 +0x1.d6fd2p-2, 0x1.672218p+2 +-0x1.7db17ap-1, 0x1.386a8cp+1 +-0x1.797438p+0, -0x1.c270d4p+2 +0x1.0e49f2p+0, 0x1.45697ep+0 +0x1.453e18p+12, 0x1.68ee2cp+1 +0x1.6e192ap+1, 0x1.630008p-4 +0x1.e86a66p+2, -0x1.d949cap-4 +0x1.f917dcp+1, 0x1.950274p+0 +-0x1.a6fbecp+0, 0x1.f0efdap+0 +0x1.b8b64ep+0, 0x1.db553p-2 +-0x1.8e33a2p+2, 0x1.20d40ap+0 +0x1.45e6ecp+1, 0x1.6b2488p+2 +-0x1.40806p+3, -0x1.2eaf74p-1 +0x1.5d0d42p+0, 0x1.912a1cp+0 +-0x1.497f4p+12, 0x1.0312a8p+3 +-0x1.5172fcp-1, 0x1.bbb4dap+0 +0x1.3cc91ap+2, -0x1.36e402p+0 +-0x1.f0ad44p+0, 0x1.d24728p+0 +-0x1.337e1cp+3, -0x1.29d0d4p+1 +0x1.4fcc5ap+1, 0x1.6f18f2p+2 +0x1.489faep+2, 0x1.2c6cb6p+2 +-0x1.5a62cep+0, -0x1.852d46p+2 +-0x1.f35a72p+2, 0x1.a8c6cep+1 +0x1.1c2016p+1, 0x1.87ac0cp+0 +0x1.3dbf0ap+18, 0x1.302e52p+1 +0x1.da7e94p-2, -0x1.205de8p+1 +-0x1.18320cp+2, -0x1.1437f2p-1 +0x1.030806p+0, -0x1.2c2f8ep-2 +-0x1.16493ap-7, -0x1.7c5efp+0 +-0x1.dabdc6p-4, -0x1.01cfaep+1 +-0x1.b4f858p-1, -0x1.82aff8p+1 +0x1.02900cp+1, 0x1.cb4b82p+1 +0x1.068c6cp+2, 0x1.a1da54p+0 +-0x1.b4ce7ep+1, 0x1.900472p+1 +0x1.17c20ep+2, 0x1.f2e276p+2 +-0x1.431004p-4, -0x1.880592p+2 +-0x1.d683b8p+0, 0x1.1574cep+2 +0x1.6c4e1ep+2, 0x1.30e2bap+2 +0x1.676d56p+1, -0x1.86c2ap+2 +0x1.0f863ap+2, 0x1.a0ca36p+1 +0x1.402cp+2, -0x1.5902e2p+1 +0x1.d59de6p+0, -0x1.8c84cep+1 +-0x1.21232ep+1, 0x1.535eep+2 +0x1.abe00cp-4, 0x1.63aa58p+1 +-0x1.1bf5bcp+3, 0x1.1b58f2p+2 +0x1.497518p-2, 0x1.6a5b8cp+0 +-0x1.e237ccp-2, 0x1.833078p+2 +0x1.5d1f94p-5, -0x1.c75c32p+0 +0x1.b67a92p+6, 0x1.07637ap+0 +-0x1.56780ap+1, -0x1.d6f4f4p+12 +0x1.4565acp+2, 0x1.221648p+1 +-0x1.817a12p-6, -0x1.914ebap+2 +0x1.9b67ep+1, -0x1.916cbap+3 +-0x1.76f1e2p+1, -0x1.a477dp+2 +0x1.2dfe5ap+2, 0x1.37f7d2p+1 +-0x1.f0249ap+0, -0x1.bf8e7cp+0 +-0x1.e98e82p+0, -0x1.820766p+1 +0x1.7c3816p-1, 0x1.6b3982p+0 +0x1.501946p+2, 0x1.86fb3ep+1 +0x1.3799f8p+12, 0x1.3c577ap+2 +0x1.a7978ap+1, -0x1.7c58ccp-2 +-0x1.b4bacap+0, 0x1.0ab7b6p+2 +0x1.37a52ep-4, -0x1.71edb6p+1 +-0x1.17f4a6p+1, -0x1.c6ab72p-3 +-0x1.339aaap+9, 0x1.8456fp+2 +-0x1.494b76p-1, -0x1.2dc8a6p+0 +0x1.257a5p+2, -0x1.1082ap+0 +-0x1.2b68eep+2, 0x1.d1724cp+0 +0x1.44d612p+1, 0x1.742c0ep+1 +0x1.ce86e6p+1, 0x1.d0847ep+2 +0x1.4d33f2p+2, -0x1.eabbep+0 +0x1.078146p+1, -0x1.6bc49p-5 +0x1.8a8c0cp-1, 0x1.7e2b56p+2 +-0x1.74d734p+2, -0x1.c8768ep+2 +0x1.713aeep-5, 0x1.81dce2p+1 +0x1.3b17d4p+1, 0x1.736e14p+2 +-0x1.0ffafep+2, 0x1.6f2d2cp-2 +0x1.692906p+2, -0x1.d5fa6ep+0 +-0x1.83a50ep+2, -0x1.0d21dp-8 +-0x1.634d6ep-2, -0x1.4c3654p+0 +0x1.86948cp+2, -0x1.ca53dap+0 +-0x1.9bcd78p+15, 0x1.12a0dep+2 +0x1.f367b4p-1, 0x1.a2103cp+1 +0x1.6da848p+0, -0x1.333a48p+1 +0x1.b514e8p+0, -0x1.341fbap-1 +-0x1.73f3c6p+1, -0x1.68494p+1 +-0x1.87293cp+0, -0x1.a3ff1ep+2 +0x1.7bc0bp+2, 0x1.2997e4p+2 +0x1.37e91ep+2, -0x1.78ecacp+3 +-0x1.e3a354p-2, -0x1.ef4eap+0 +-0x1.b2d7ecp-2, -0x1.03efcep+18 +-0x1.b5a9b6p+1, -0x1.c7bcep+0 +0x1.fbdfa6p+0, -0x1.958cecp-1 +-0x1.bd3652p+1, -0x1.92bf6ap+0 +-0x1.1185b4p+2, 0x1.0d11a2p-2 +0x1.ae92eep+1, 0x1.6477bp+4 +0x1.45cc88p+13, -0x1.b304dep+2 +0x1.3120c4p+2, 0x1.3d414p+2 +-0x1.55125ap+0, -0x1.e188cp+4 +-0x1.be91bap-3, 0x1.812deep+1 +0x1.e26b46p+3, -0x1.eb95a2p+0 +-0x1.f7495cp+0, 0x1.c86262p+0 +0x1.66e2eep+0, -0x1.000068p+2 +-0x1.28a36ap+1, -0x1.877a72p+1 +0x1.7680f4p+1, -0x1.6c8a32p+1 +0x1.4fe188p+2, 0x1.9a9a12p+1 +-0x1.0f8cf2p+1, 0x1.0d669p+0 +0x1.677ac2p+2, -0x1.5fbd9p+0 +-0x1.5df8b2p-3, 0x1.16ff24p+2 +-0x1.70ee3p+0, 0x1.1295bp+0 +-0x1.b736f8p-1, 0x1.4429fap-1 +0x1.9f0752p+1, 0x1.f19b48p-1 +0x1.9e8b3ep+2, 0x1.6c9f62p+1 +0x1.5828ep-1, -0x1.cc1e16p+1 +0x1.040256p+3, 0x1.94ac34p+0 +0x1.f97514p-1, 0x1.697964p-1 +0x1.7fd3f8p+0, 0x1.871b5p-1 +0x1.a63384p+1, 0x1.d60896p-2 +-0x1.d3484ep-3, -0x1.a1a578p+1 +-0x1.9f44f2p+1, -0x1.005dfap+1 +0x1.6ca91ap+14, 0x1.1f10dp+12 +-0x1.70b112p-2, 0x1.d2477ap+2 +-0x1.20ab74p+1, 0x1.fa7c5ap+2 +-0x1.a33ba8p+0, 0x1.683f52p+0 +0x1.2d7fb8p+1, -0x1.23083p+1 +0x1.443facp+1, 0x1.b0f43ap+1 +0x1.e2051p+2, 0x1.976a46p+1 +-0x1.9c6bep+2, -0x1.955946p+2 +-0x1.ed118ep+0, -0x1.811104p+1 +0x1.e356e2p+2, -0x1.5cd978p+2 +0x1.b10efap+2, -0x1.d77da6p+2 +-0x1.32baeep-1, -0x1.78908p+2 +-0x1.88f7f6p+1, -0x1.3c8ac8p+2 +-0x1.2b0f84p+1, 0x1.d0407ap-1 +-0x1.6c70cap+2, -0x1.4abb0ap+16 +0x1.4efd7ep+3, -0x1.88f0bap+1 +0x1.5294b2p-2, 0x1.5569ecp+1 +-0x1.070d08p+3, -0x1.f93846p+0 +-0x1.8074bap+0, 0x1.40c026p+2 +0x1.ca6a3ep+0, 0x1.6ea2e2p-2 +0x1.1c00e8p-1, 0x1.69ce8p-2 +-0x1.3bf9b4p+1, 0x1.3c3aaap+1 +0x1.0e5574p+3, -0x1.32150ap+2 +-0x1.c94cb4p+1, -0x1.a84efp+1 +-0x1.f127eap+2, -0x1.877f1p+2 +-0x1.a90112p+0, 0x1.62fb5ap+1 +-0x1.3add68p+0, -0x1.66abdcp+1 +-0x1.1d3ffep+0, 0x1.77227cp+1 +-0x1.51c798p+0, 0x1.6477cep+1 +-0x1.206ae4p+1, 0x1.8ba3fcp+9 +0x1.001036p+3, 0x1.340cc8p-3 +0x1.108d72p-1, -0x1.4ca3d6p+2 +-0x1.c93368p-2, 0x1.5eb8f6p-1 +0x1.e348f6p-2, 0x1.ae2902p+2 +-0x1.0744f4p+2, -0x1.1b9d5ap+2 +-0x1.1702fcp+2, -0x1.620e24p-1 +0x1.f0524p+0, -0x1.cc43ep+1 +0x1.71abe4p+2, 0x1.852682p+1 +0x1.3cd34p-4, 0x1.e06718p+0 +-0x1.500e34p+1, 0x1.97cc22p+2 +-0x1.214edep-3, -0x1.cb47dap+1 +-0x1.c169e6p+1, -0x1.e56ab4p-1 +0x1.683ff4p+1, -0x1.d9e48ep+1 +0x1.3d8c88p+0, 0x1.d5e63ep+1 +-0x1.68c918p+0, 0x1.0d6fc8p+3 +-0x1.41b3f6p+3, -0x1.efcd6p-1 +-0x1.ba3af2p+1, 0x1.3fdc4cp+1 +-0x1.536d14p+1, 0x1.4c3d68p+3 +0x1.e4a86ap+1, 0x1.3f96c4p-1 +0x1.b081e2p+2, -0x1.4e6288p+1 +0x1.417cc4p-1, 0x1.5f56f4p+1 +-0x1.3549dcp+1, 0x1.dc1eb8p-2 +0x1.d71e1p+1, 0x1.f0c6ecp+1 +-0x1.e181cp+1, 0x1.c3b67ep+1 +0x1.ef21p+1, -0x1.1d359ap+2 +0x1.c2c24ap-1, -0x1.585838p+1 +0x1.278344p+1, 0x1.3a75fep-1 +-0x1.8ade4p+1, 0x1.1408b8p+2 +-0x1.19d43cp+1, 0x1.828e92p+1 +-0x1.c65264p+2, 0x1.3a981cp+3 +-0x1.ec2d28p-3, -0x1.d408acp+2 +0x1.8a9df6p+2, 0x1.0ef58cp+3 +-0x1.de6ae6p+1, 0x1.016f08p-1 +0x1.9f6312p+13, -0x1.35b99ap+2 +-0x1.810f06p+0, -0x1.fe21aap+0 +0x1.2fc2c8p+2, 0x1.1d9ff4p+3 +0x1.b62288p-3, -0x1.0c0c58p+1 +-0x1.28f518p+0, 0x1.1bd1cp+7 +-0x1.4f5fd2p+8, 0x1.4c430ap+0 +0x1.7ea4e8p+1, 0x1.2e5e9p+2 +-0x1.4f29d6p+1, -0x1.74dd8p+1 +0x1.ac9acp+0, 0x1.b9a526p+1 +0x1.59cfecp+0, -0x1.3441aap+1 +0x1.85c92cp+1, -0x1.b0c28ep+1 +0x1.c0ce18p+2, -0x1.051b0cp+2 +0x1.4e52aap+1, 0x1.92edb6p+0 +-0x1.ed290ep-1, 0x1.761f26p+2 +0x1.09b5dap+9, 0x1.86b952p+1 +0x1.e2718ap+1, -0x1.ed86p+2 +0x1.3a0b56p+1, -0x1.ac6836p+1 +0x1.f31e1ep+2, -0x1.1d9814p+2 +0x1.5fc364p+1, 0x1.7ac37cp-3 +0x1.da2732p-2, 0x1.4bb2d2p+0 +0x1.56e34ap-2, 0x1.ad51dep+0 +0x1.28a8dap+2, -0x1.08a768p+2 +-0x1.432a44p+3, -0x1.6feaep+0 +-0x1.b2dd86p+0, -0x1.4c12cep+2 +-0x1.38e238p+3, -0x1.06c062p+2 +0x1.5e6a24p+5, -0x1.6bca48p-3 +-0x1.3a8e88p-1, 0x1.6f4368p+1 +0x1.b444cp+2, 0x1.63bf2cp+3 +0x1.e94f68p+1, -0x1.2f741ep+1 +0x1.43f738p+4, 0x1.209248p+0 +0x1.5d5e52p+2, 0x1.e9e57ep+1 +0x1.dbae1p+1, 0x1.640364p+0 +-0x1.367402p+4, 0x1.dc4218p+1 +-0x1.0e022p+3, 0x1.de135p+0 +-0x1.639274p+2, 0x1.8a1336p+2 +-0x1.379ba8p-2, -0x1.669eecp+0 +-0x1.335cf4p+0, -0x1.41b22cp+1 +-0x1.1c038ap+1, -0x1.75ace8p+6 +0x1.47b73p+1, -0x1.c9a528p+1 +0x1.53159cp+19, 0x1.5e4fp+0 +-0x1.c53538p+0, -0x1.c54816p+1 +-0x1.8f3a4cp+1, 0x1.2d38eap-1 +0x1.60ed82p+2, 0x1.c5664cp+1 +0x1.34e5f6p+1, -0x1.894b28p+1 +-0x1.899e98p+0, 0x1.b355fep+0 +0x1.25a1aap+2, 0x1.ab8624p-1 +0x1.23ddfep-1, -0x1.b89168p-1 +-0x1.0323ep+2, -0x1.054ab2p+4 +0x1.ca8738p+2, -0x1.7b04fcp+0 +-0x1.57cef4p+0, 0x1.9966a6p+2 +-0x1.d0e1fap+0, -0x1.109776p+1 +-0x1.449cb2p+0, 0x1.1487f8p+0 +-0x1.4b6522p+0, 0x1.a07096p-3 +0x1.b085p+0, -0x1.2a0114p+0 +0x1.074936p+0, 0x1.84d7bep+0 +0x1.8379aep-1, 0x1.38ece2p+2 +-0x1.3314cep+2, -0x1.80763p+2 +0x1.225bb6p+1, 0x1.53a9cap+1 +0x1.c83828p+0, -0x1.b1ca4cp+1 +-0x1.1ff7dcp+2, 0x1.e69bb4p+1 +0x1.157d12p+1, -0x1.88081ep+1 +0x1.2c24c4p+2, 0x1.3f5aap+1 +-0x1.1c817ap+12, 0x1.c9a92ep+1 +0x1.d3a87ep+2, -0x1.43df4p+2 +0x1.551006p+1, 0x1.190f56p+8 +-0x1.f58fccp+0, 0x1.35b942p+0 +-0x1.15cc44p-9, 0x1.4f6c8ap-1 +0x1.cdaf0ep+0, -0x1.b6618ep+16 +0x1.fe1906p-1, 0x1.b0feb4p+0 +0x1.86c5e2p+1, -0x1.689984p+1 +-0x1.359bp+2, 0x1.9a558ep+1 +0x1.107334p+5, -0x1.fc169ap-1 +0x1.1281bp+2, -0x1.11da4p+2 +0x1.9d9cb2p+1, -0x1.50a622p-1 +0x1.1759fp+2, 0x1.cabe4ep+1 +0x1.ffed9ap+1, -0x1.1f8f4cp+1 +-0x1.64be3p-1, 0x1.30fd7cp-1 +-0x1.66f244p+2, 0x1.2dc4d2p+2 +-0x1.cab2f2p+2, -0x1.c95dbap+2 +-0x1.4882cp+1, 0x1.c7b614p+1 +0x1.6bae0cp-2, -0x1.3b0cbep+6 +0x1.21bf54p+1, -0x1.a5ad1ap+4 +-0x1.c08d22p+2, -0x1.33327p-2 +0x1.fa1dc4p+2, 0x1.55ea8p+1 +-0x1.160072p-4, 0x1.c9cfcep+1 +-0x1.0340e8p+2, 0x1.25f526p+1 +0x1.c9aa2ap+1, -0x1.e3f0d6p+7 +0x1.259ceap-1, 0x1.59f478p+2 +-0x1.24551cp+3, 0x1.71b2dcp+0 +0x1.bd72aep+0, -0x1.70fa3ap+2 +0x1.3a2076p+2, -0x1.bdddf6p+1 +0x1.1c99cep+2, 0x1.09549cp+1 +0x1.7c8df6p+1, 0x1.1f1fbcp+1 +0x1.622a16p+1, -0x1.53cda2p-1 +-0x1.3f7384p+1, -0x1.688e5ap+1 +0x1.78fc6p-2, 0x1.7982e4p-2 +0x1.4b5836p+0, -0x1.2a0552p+16 +-0x1.450b12p+0, 0x1.00875ap-2 +-0x1.b876a4p+2, -0x1.027ec6p-1 +0x1.222c8p+0, 0x1.7a9858p+2 +0x1.2e5ac8p+1, -0x1.02fd68p+2 +0x1.da4e2p+2, -0x1.4abe2p+2 +-0x1.413f96p+2, -0x1.23c58cp+2 +-0x1.056048p+3, 0x1.57296ep-3 +-0x1.57e714p+1, 0x1.c91106p+0 +-0x1.2ef52ep-1, 0x1.43554p+1 +-0x1.2b1acp+1, -0x1.7e4262p+0 +0x1.03a1aep+1, -0x1.cb2af4p-1 +-0x1.bdd7c6p+2, 0x1.6f574ep-2 +0x1.89754p+0, -0x1.de64b4p-2 +-0x1.d6de96p+1, 0x1.5f61fap+1 +-0x1.300d02p+0, -0x1.831284p+0 +0x1.1ad9aap+2, 0x1.0cb516p+3 +0x1.6d9c0ap+1, -0x1.00209ap-1 +0x1.918e54p+1, 0x1.189eacp+0 +-0x1.e31606p+2, 0x1.8372c6p-2 +-0x1.b663c4p+0, -0x1.c63b52p+1 +0x1.3061a4p+1, 0x1.7377aep+2 +-0x1.5f7dccp+0, 0x1.2627f2p+2 +0x1.f2d9a8p+1, -0x1.5d8436p+1 +0x1.3c2d9ap+11, 0x1.ffd4fep+1 +-0x1.242ad4p+0, 0x1.9aa6a6p+1 +0x1.afc5e4p+1, 0x1.6ef2dcp-2 +-0x1.94258p+15, -0x1.d268e4p+1 +-0x1.b5ac2cp+8, 0x1.1e69ecp+0 +0x1.b84748p+10, 0x1.844ea6p-1 +-0x1.6e03p+9, -0x1.6d0ebp+0 +0x1.e45dc6p+1, -0x1.affc44p+10 +0x1.569d5ap+2, -0x1.7b2b32p+1 +-0x1.5a1bf4p+2, 0x1.05116ap+2 +0x1.d0ddbep+0, 0x1.1ae156p+2 +-0x1.155a94p+0, 0x1.077b88p+3 +-0x1.14163cp-3, 0x1.ffa078p+0 +0x1.aa4d62p+2, 0x1.928416p+0 +-0x1.019248p+2, 0x1.38dc14p+1 +-0x1.b3712ep+0, -0x1.6409e4p+1 +0x1.7fc2d6p-1, 0x1.858912p+1 +0x1.5cbba4p+2, 0x1.9778f2p-2 +-0x1.08994ap-2, -0x1.1f269ep+0 +0x1.4ece76p+1, -0x1.729426p+2 +0x1.633d5cp+2, -0x1.45e61p-4 +-0x1.97a6c2p-2, -0x1.e17ec8p+1 +0x1.bbaf54p+11, -0x1.6add46p+2 +-0x1.4d60dap+1, -0x1.c14398p+1 +-0x1.6aa6cep+0, -0x1.2e79bcp+0 +-0x1.3b8814p-3, 0x1.c4f65p+2 +-0x1.d7081ap+0, 0x1.57d628p+2 +0x1.da84fep+0, 0x1.127fe2p+1 +0x1.29c56p+2, -0x1.5cdae2p+1 +-0x1.f3309cp+2, 0x1.6d0a1p+1 +-0x1.220f92p+14, -0x1.f6317ap+11 +-0x1.046658p+2, 0x1.88a4bap-1 +0x1.816a16p+1, 0x1.5f75b6p-2 +0x1.20d7acp-4, 0x1.2fc64ep+2 +0x1.5c844ep+3, -0x1.5f4022p+0 +0x1.ca1e34p-4, -0x1.7f0cf2p+2 +0x1.3d5a78p+1, -0x1.a590bap+1 +0x1.f06846p+0, 0x1.249a6ap+2 +0x1.42dab2p+2, -0x1.3abf44p+2 +-0x1.90412cp-1, -0x1.5e6ac8p+2 +-0x1.82cb08p+0, 0x1.aed586p-1 +0x1.1ff24ap+10, 0x1.4a3b1p-1 +-0x1.efcd32p-2, -0x1.23d144p+0 +0x1.52e3fcp+1, -0x1.55442p+4 +0x1.7fd502p+2, -0x1.2d71b8p+2 +-0x1.3f0caap+1, 0x1.097ddap+14 +-0x1.fea92ap+0, 0x1.926306p+0 +0x1.3ff2aap+1, 0x1.1f60eap+4 +0x1.bed08cp+1, -0x1.d722dap+2 +0x1.fab436p-1, -0x1.0063aap+1 +0x1.7e8f9ap+2, 0x1.b3b12ep+0 +-0x1.137ep+1, 0x1.54216cp+1 +-0x1.c9c0a2p+1, -0x1.57c162p+2 +-0x1.82533ep+2, -0x1.049e24p+2 +-0x1.b5dafcp-1, -0x1.ac2576p+0 +0x1.5597cap+2, -0x1.cf780ap-1 +0x1.3bb304p+3, -0x1.3a2388p+1 +0x1.2fbefep+1, -0x1.096174p-3 +-0x1.3bc3fep+3, 0x1.852a14p+0 +0x1.e36a1cp+1, 0x1.6b2da6p+0 +-0x1.fd1444p+3, 0x1.55db64p+2 +0x1.19fb62p+1, 0x1.3c7d38p+2 +0x1.2f51dep+0, -0x1.e3b9c4p+2 +-0x1.2ad2a2p+3, -0x1.d0b1dep+1 +0x1.ae94d4p+2, -0x1.a9ca8cp+2 +-0x1.67a7bap-1, -0x1.286ac2p+2 +-0x1.30abb6p+2, -0x1.1e01f4p+1 +0x1.23bdd8p+13, 0x1.15e89p+1 +-0x1.44d0acp+15, -0x1.4eb072p+2 +-0x1.8594e2p+2, 0x1.6773b6p+2 +0x1.971d62p+2, -0x1.ce8068p+1 +0x1.755b58p-1, 0x1.1b5ca8p+1 +-0x1.4024b6p+0, -0x1.97f4bap+2 +-0x1.decb6p+2, 0x1.2d07bcp+1 +0x1.52f1d8p+1, -0x1.d4eb42p-7 +-0x1.a8c93p-1, 0x1.16294cp-2 +-0x1.956c6ap-4, -0x1.e490b2p+1 +0x1.53b80cp+1, 0x1.573642p-1 +-0x1.b292a2p-6, 0x1.bfc00cp+1 +-0x1.390446p+0, -0x1.13c684p+2 +-0x1.2bae28p+2, -0x1.aa140cp+2 +-0x1.4f205p+1, 0x1.c234cep+1 +0x1.053c64p+0, -0x1.0707aap+0 +-0x1.914ebap-2, -0x1.f436dp+0 +-0x1.35ccf6p-7, -0x1.6ba27cp+2 +0x1.36c734p+0, -0x1.63ac94p+2 +0x1.27770ep+2, -0x1.c0e852p+1 +0x1.08d72cp+2, -0x1.76c15ep+0 +-0x1.3767b6p-2, -0x1.127ff2p+3 +-0x1.08381ap+0, 0x1.39cdap+3 +0x1.4da9bcp+2, 0x1.46d0f8p+2 +-0x1.e95508p+2, 0x1.b5a1dap+0 +-0x1.501a54p+0, -0x1.acab6ep+2 +0x1.e193acp-3, -0x1.c3c52p-1 +0x1.28d8b2p+0, 0x1.5d616cp+2 +-0x1.5caa82p+0, -0x1.02880ep+1 +0x1.20a686p+0, -0x1.82f73cp+2 +-0x1.a28104p+0, -0x1.f5ab66p+1 +0x1.025b3p+2, 0x1.7beb4ap-3 +0x1.65616ep+0, -0x1.fa1c38p+1 +0x1.006606p+2, 0x1.a5d98cp+0 +-0x1.e3eaf8p-2, -0x1.481ad4p+2 +0x1.bc6284p-4, 0x1.08a0eep+1 +0x1.19592ep-2, 0x1.6521p+0 +-0x1.f74f98p+1, 0x1.40138ep-2 +0x1.3bc54ap+0, -0x1.712ddcp+0 +-0x1.fd6e68p+0, 0x1.8fdc0ep+1 +0x1.9ca15ep-1, 0x1.1fe302p+2 +0x1.0b1276p+1, -0x1.516902p+0 +-0x1.e2cee4p+13, -0x1.5a7698p+0 +0x1.b328fp-5, 0x1.402ceep+1 +-0x1.f4dbe8p+1, 0x1.6730a4p-1 +-0x1.00ade6p+2, -0x1.584c36p+1 +0x1.2f41e6p+0, 0x1.62224ep+0 +0x1.0c5d44p+0, -0x1.733a5cp+1 +0x1.dafab2p+2, -0x1.cb57e4p-4 +-0x1.2064c4p+0, -0x1.2317fp+1 +-0x1.2d24f4p+0, 0x1.1a577ep+0 +0x1.9c5694p+0, -0x1.180116p+2 +0x1.24b1fcp+1, 0x1.eff856p+1 +0x1.44c85p+2, -0x1.680976p+1 +-0x1.721f5cp+1, 0x1.52fadcp+1 +-0x1.b4c414p+1, -0x1.3ce694p+1 +-0x1.4622f8p+1, 0x1.b5cf76p+0 +0x1.e8a582p+1, 0x1.caae48p+2 +-0x1.2a7716p+1, 0x1.017956p+18 +-0x1.d1aff4p-3, -0x1.1bb624p+2 +0x1.404146p+1, -0x1.228996p-1 +-0x1.0b6266p-3, -0x1.4369a8p+2 +-0x1.e07fb2p+15, 0x1.5135c6p+2 +0x1.2fe642p+2, -0x1.bab8aep+2 +0x1.f8d3b8p+8, -0x1.412bcep+2 +-0x1.516b5p+0, -0x1.4edeccp+1 +-0x1.2e568cp-2, -0x1.9c8bd2p+2 +-0x1.81c74p+1, -0x1.787474p+0 +0x1.320cd6p+1, 0x1.9c7c7p+0 +-0x1.da907p-3, -0x1.6558c8p+0 +0x1.33a62p-4, -0x1.4e5616p+8 +-0x1.3af2bp+2, -0x1.c7fe64p+2 +-0x1.61fd2cp+0, 0x1.71cfa4p-1 +0x1.f18d9cp-2, -0x1.3fcdc6p+1 +-0x1.5cc51ep+2, 0x1.064292p+1 +0x1.4929fp-3, 0x1.1b05dp+3 +-0x1.8f1212p-1, -0x1.2e5f9p+2 +0x1.5dc9a4p+1, 0x1.e9ba12p+1 +0x1.6615e6p+1, -0x1.652ebp+2 +-0x1.7c5f9ap+1, -0x1.3f1112p-1 +-0x1.f2a208p-4, -0x1.c6740cp+0 +-0x1.b4e6e2p-1, -0x1.f8750ap-1 +-0x1.9cf59ep+1, 0x1.6547c2p+2 +-0x1.8e31fap-2, 0x1.32afbcp+0 +0x1.17843ap+1, -0x1.af84p+1 +0x1.3f9688p+0, 0x1.2494a4p+2 +-0x1.447e44p+0, -0x1.1b978cp+2 +0x1.135566p+1, 0x1.11e0bep+2 +0x1.b7ebb8p+1, 0x1.69bfdp+1 +0x1.5c08fcp+2, -0x1.4b5f62p+3 +0x1.3a9c18p-2, -0x1.317c72p+1 +0x1.45b9f2p+9, -0x1.44cf1ap+5 +0x1.d1cca6p+1, -0x1.932f5ap+3 +0x1.306be2p+2, -0x1.99744ep+1 +0x1.d03c66p-2, 0x1.1f2ee6p+1 +-0x1.a60762p-2, 0x1.7f7fb4p+2 +0x1.bd13fcp+1, -0x1.7ca2d2p+6 +-0x1.d14dbp+1, -0x1.fe0a0cp+1 +0x1.58f174p+1, -0x1.a587ap+0 +-0x1.d459e4p+0, -0x1.d2e79p+2 +-0x1.98a994p+0, 0x1.f138fcp+1 +-0x1.999da4p-7, -0x1.dd00fap-1 +-0x1.978b3p+1, -0x1.10c576p+2 +0x1.297e18p+2, 0x1.2338c8p+2 +-0x1.3f22ep-1, 0x1.ab55eep+0 +0x1.7ce0dep+1, -0x1.7eafbap+2 +-0x1.31f276p+2, -0x1.191c34p+1 +0x1.104464p+0, 0x1.95ebd8p-1 +-0x1.3cd6acp+1, -0x1.2dee8ep+2 +0x1.eafa3cp+1, -0x1.8ecba2p-1 +-0x1.f6a1fcp+1, 0x1.860e2ap+15 +0x1.4ffb3cp+0, -0x1.10b5cep+0 +0x1.a9a0c8p+1, 0x1.48d706p+2 +-0x1.d250d8p+3, 0x1.2fdfdcp+1 +0x1.1a550ep-1, 0x1.39761p+1 +-0x1.86d626p+1, 0x1.128faep+1 +0x1.16a388p+0, -0x1.55d796p-2 +-0x1.f4bfe4p+2, 0x1.25204p+1 +0x1.a343e6p+0, -0x1.3ac668p+2 +-0x1.04a136p+0, 0x1.269bb8p+1 +-0x1.a0ea42p+1, 0x1.0e8028p+3 +-0x1.3638aep+2, -0x1.19ea3p+3 +-0x1.152336p+2, 0x1.9e1ca2p+16 +-0x1.1dabb4p+1, -0x1.3bce6ap+1 +-0x1.3479ap-1, 0x1.00e994p+1 +-0x1.7c7992p+0, 0x1.78d21cp-1 +-0x1.2c41c4p+0, -0x1.236b56p+1 +-0x1.f0876cp+13, 0x1.3d4dbp-2 +-0x1.8a4c58p+2, 0x1.e212e6p+1 +0x1.64f52cp-1, -0x1.196ad2p+1 +0x1.43bcb8p+1, 0x1.61cea2p+1 +0x1.f35382p+0, 0x1.69d952p-1 +0x1.170992p-3, 0x1.64300ap+19 +0x1.6f292ep+0, -0x1.2bf8eep+10 +0x1.df18eep+0, 0x1.33c956p+2 +-0x1.2284dap-2, 0x1.c381f4p+1 +0x1.66733p+8, -0x1.829d04p+0 +0x1.d05ee6p-1, 0x1.22ad32p+2 +-0x1.248c88p+0, -0x1.33819ap+3 +0x1.f90bdep+1, -0x1.31e30cp-2 +0x1.53c7d4p+0, 0x1.38dd3p+2 +0x1.fff9bap+0, 0x1.4252ap+1 +-0x1.653cd6p+2, 0x1.6dac6ap+1 +0x1.f789ep+1, 0x1.ac0e38p+0 +-0x1.4dddecp+0, 0x1.3071b6p-2 +-0x1.5a241ap+3, -0x1.85b3dp+0 +0x1.429c06p+14, -0x1.63417cp-2 +-0x1.c68666p+1, 0x1.584a66p+2 +0x1.e5e064p+1, 0x1.1edeep-2 +-0x1.51fcc6p-3, -0x1.962e0ep+8 +0x1.f96688p+1, 0x1.35b1ccp+1 +0x1.787804p+1, 0x1.12a6b8p+2 +-0x1.ef8ef8p-2, -0x1.31eafp-1 +0x1.caa08cp-1, 0x1.20508p-1 +0x1.96a4cap+2, 0x1.8e976ep+2 +-0x1.881262p+0, 0x1.95b57cp+0 +0x1.95ea4ap+1, -0x1.3d3d4p+10 +-0x1.04c584p+1, -0x1.296d5p+1 +0x1.29ac28p+3, 0x1.638c86p+17 +-0x1.21608ep+13, 0x1.929ec2p+1 +0x1.52ce56p+1, 0x1.b60454p+1 +-0x1.b03d64p+1, -0x1.161f9ep+15 +0x1.a257cp+1, -0x1.5daa16p+2 +-0x1.20f5a6p+0, -0x1.29a1e8p-1 +-0x1.6b9236p+2, -0x1.6428ap+2 +-0x1.3d6b86p+0, -0x1.7bbcp+9 +-0x1.98480cp+2, -0x1.52e438p+5 +0x1.9b0188p-1, 0x1.f87198p+0 +0x1.12737p+1, -0x1.1dc084p+4 +0x1.b0ae34p+1, -0x1.2ec61p+1 +-0x1.0a636cp+1, -0x1.d58776p-1 +-0x1.21a512p+8, -0x1.43368ep+0 +0x1.0b85d8p+1, -0x1.6b9faep+1 +-0x1.a6478p-2, -0x1.3a5beap+3 +0x1.7f0b14p+0, -0x1.2e191ap-1 +-0x1.b7fbdcp+1, 0x1.04c534p+1 +-0x1.314536p+1, -0x1.3a0864p+2 +0x1.b7246ep+1, -0x1.3c090ap+0 +-0x1.7b9b66p+1, -0x1.86303ap+0 +-0x1.b58f98p+1, 0x1.cbf91p+2 +-0x1.efbae6p+1, 0x1.0f3bb4p+2 +0x1.cea51cp+14, 0x1.e70b3p+1 +-0x1.b2eadap+1, -0x1.2df47ep+0 +0x1.f56c74p+0, 0x1.b30c9ap+1 +-0x1.a2213p+1, 0x1.4423cp+1 +-0x1.e13facp+1, 0x1.cc272ap+2 +-0x1.c334b2p+0, 0x1.720938p+0 +0x1.7d918cp+2, 0x1.b46ffp+0 +-0x1.316946p+2, 0x1.1d273cp+0 +-0x1.41d66ap+2, 0x1.dd079ap+0 +0x1.0566dap+0, -0x1.093ad2p-2 +-0x1.31a6c8p+2, 0x1.697ddap+0 +-0x1.8ca932p+1, -0x1.4fb74cp+1 +0x1.347f58p+2, 0x1.d6539ap-1 +0x1.a2933ap+0, 0x1.130b6ep+2 +0x1.38ace4p+2, -0x1.3734fep+0 +0x1.f8a61cp+1, -0x1.38c216p+0 +-0x1.480076p+0, 0x1.01a6bep+2 +0x1.600b46p+2, 0x1.6963e6p+12 +-0x1.da30e8p+4, -0x1.8331dp+2 +0x1.4d73a6p-2, -0x1.bef658p+2 +0x1.7d2a14p+1, 0x1.260e7ap+19 +0x1.593a52p+15, 0x1.8ade2ap-1 +-0x1.077066p+1, 0x1.24fdcp+7 +0x1.5a290ap-2, -0x1.445638p+2 +-0x1.2599c4p+3, -0x1.1da1c2p+3 +0x1.b32228p-6, 0x1.1197b2p+2 +0x1.d01d4ap+0, 0x1.fdf5d6p+17 +-0x1.f8a51cp+1, -0x1.21b2f2p+2 +-0x1.48ac08p+2, 0x1.673afcp+1 +0x1.0eb29ep+2, 0x1.2a6b1ap+2 +0x1.62dd7ap+2, 0x1.14187cp+2 +0x1.873d36p+1, -0x1.9cdd42p-2 +0x1.872046p-1, 0x1.12f4e4p-4 +0x1.cf9054p+1, -0x1.c7e294p-1 +0x1.fcf2ep+1, -0x1.833446p-4 +0x1.90c204p+1, -0x1.3b3b68p+0 +-0x1.2c9f4cp+1, 0x1.c82f7cp+1 +-0x1.ff0c72p+0, 0x1.644a0ep+2 +-0x1.0595fap+2, -0x1.357726p+2 +-0x1.3a7048p+2, -0x1.e0312ap+1 +-0x1.bd8b68p-4, 0x1.868962p+0 +-0x1.a3e65ep-4, -0x1.066546p+10 +0x1.35af7ep+0, 0x1.69d4dep-1 +0x1.efabdp+0, 0x1.8eef04p-2 +-0x1.bdd4e2p+1, -0x1.213494p+1 +-0x1.3f925cp+1, -0x1.47143ep+5 +-0x1.3117fep+1, -0x1.772eb2p+1 +-0x1.67317cp+1, 0x1.ba852ep+1 +0x1.cf9832p+1, 0x1.10ab3p+0 +0x1.142a7p-1, -0x1.b09902p+1 +-0x1.855c94p-1, -0x1.17e346p+3 +0x1.9c47e8p+1, 0x1.55e484p-3 +0x1.287036p+1, 0x1.1b9a7cp+2 +-0x1.ebe32ep-5, -0x1.baed7ap+2 +0x1.b35d14p+8, 0x1.0ac0f4p+2 +0x1.9a0976p+0, 0x1.ae3ed6p-1 +-0x1.403192p+0, 0x1.57640ap+15 +0x1.bae86cp+3, 0x1.812c22p+0 +-0x1.b8028cp+1, -0x1.6fe448p+2 +-0x1.6c8f84p+1, -0x1.9c53e8p+13 +0x1.124dbp+0, -0x1.8101b4p+2 +-0x1.951d5ap+0, 0x1.55f3d4p-1 +0x1.be3bc2p-8, 0x1.532f72p+3 +-0x1.b26464p-1, 0x1.f0e47p-1 +-0x1.7e7986p+2, -0x1.343f02p+2 +-0x1.368cd6p+19, -0x1.a4e3bp+9 +0x1.c25068p+0, -0x1.645444p-1 +-0x1.57a28ap-1, -0x1.4ea654p+1 +-0x1.5771ecp+4, -0x1.eccb6cp+6 +-0x1.727468p+2, 0x1.db1774p+1 +-0x1.e9b582p+2, 0x1.8c14a8p+2 +-0x1.b74bc2p+16, -0x1.1b1c5ep+0 +0x1.03ade8p+16, -0x1.0d470ep+2 +0x1.f6050ep+0, -0x1.382944p-2 +0x1.4da0f2p+1, -0x1.1ca742p+10 +0x1.b13276p+1, -0x1.e8c6b4p+2 +0x1.c9f15cp+1, 0x1.d26484p+0 +-0x1.b13284p+0, -0x1.86b53cp+1 +0x1.800692p+2, 0x1.0e669ep+5 +0x1.7e93f6p-1, 0x1.8a854cp-1 +-0x1.92317ap-3, 0x1.ef55d8p+0 +-0x1.5ea6bep+0, -0x1.7bb44cp-2 +0x1.65c728p+2, -0x1.a9972cp+1 +-0x1.c9da0ap+14, -0x1.45bf3ap+0 +0x1.6698d2p+0, 0x1.46384ep+0 +-0x1.024d52p+1, -0x1.0d258ap+0 +0x1.0d1efap+3, -0x1.a962a8p+12 +-0x1.594bf4p+0, 0x1.969b34p+2 +-0x1.39b6p+2, 0x1.c1d3a8p-7 +0x1.d9a9d8p+1, -0x1.c175d4p-1 +0x1.18b044p+2, 0x1.7e505p+2 From patchwork Wed Nov 24 19:37:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48083 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A86DA3858433 for ; Wed, 24 Nov 2021 19:55:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A86DA3858433 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783738; bh=KGi1KT3UsIYw29at7HGx3EHiRDuYvTBzacUx0aKI9tA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=hI2pv+2DwZxtClErQgFa6mmIFNr5/RGlj1aRnqs/ViQkQyTTGZ18NDsPnxa94RzOr vnIksDDzKv99ZsX0VtZyUppDfUHRn5J30UO+uH8GC73jNhbRkViRlH4R7wz8dAIKJm AGCRCzzSEjIuUZdFZJIsLzBn2b8Gw4dJlfDtSRfg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id A79D13857C66 for ; Wed, 24 Nov 2021 19:38:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A79D13857C66 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="222581823" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="222581823" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="510002836" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga008.jf.intel.com with ESMTP; 24 Nov 2021 11:38:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7X0021555; Wed, 24 Nov 2021 11:38:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 13/42] x86-64: Add vector atanh/atanhf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:38 -0800 Message-Id: <20211124193807.2093208-14-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized atanh/atanhf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector atanh/atanhf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_atanh2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_atanh2_core.c | 27 + .../fpu/multiarch/svml_d_atanh2_core_sse4.S | 5501 +++++++++++++++++ .../fpu/multiarch/svml_d_atanh4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_atanh4_core.c | 27 + .../fpu/multiarch/svml_d_atanh4_core_avx2.S | 5080 +++++++++++++++ .../fpu/multiarch/svml_d_atanh8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_atanh8_core.c | 27 + .../fpu/multiarch/svml_d_atanh8_core_avx512.S | 632 ++ .../fpu/multiarch/svml_s_atanhf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_atanhf16_core.c | 28 + .../multiarch/svml_s_atanhf16_core_avx512.S | 531 ++ .../fpu/multiarch/svml_s_atanhf4_core-sse2.S | 20 + .../fpu/multiarch/svml_s_atanhf4_core.c | 28 + .../fpu/multiarch/svml_s_atanhf4_core_sse4.S | 2536 ++++++++ .../fpu/multiarch/svml_s_atanhf8_core-sse.S | 20 + .../fpu/multiarch/svml_s_atanhf8_core.c | 28 + .../fpu/multiarch/svml_s_atanhf8_core_avx2.S | 2131 +++++++ sysdeps/x86_64/fpu/svml_d_atanh2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_atanh4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_atanh4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_atanh8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_atanhf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_atanhf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_atanhf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_atanhf8_core_avx.S | 25 + .../fpu/test-double-libmvec-atanh-avx.c | 1 + .../fpu/test-double-libmvec-atanh-avx2.c | 1 + .../fpu/test-double-libmvec-atanh-avx512f.c | 1 + .../x86_64/fpu/test-double-libmvec-atanh.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../fpu/test-float-libmvec-atanhf-avx.c | 1 + .../fpu/test-float-libmvec-atanhf-avx2.c | 1 + .../fpu/test-float-libmvec-atanhf-avx512f.c | 1 + .../x86_64/fpu/test-float-libmvec-atanhf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 16979 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atanh2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atanh4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atanh4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_atanh8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atanhf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atanhf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atanhf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_atanhf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-atanh.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-atanhf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index bd8019839c..591f0850ca 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -164,4 +164,15 @@ #define __DECL_SIMD_atan2f32x #define __DECL_SIMD_atan2f64x #define __DECL_SIMD_atan2f128x + +#define __DECL_SIMD_atanh +#define __DECL_SIMD_atanhf +#define __DECL_SIMD_atanhl +#define __DECL_SIMD_atanhf16 +#define __DECL_SIMD_atanhf32 +#define __DECL_SIMD_atanhf64 +#define __DECL_SIMD_atanhf128 +#define __DECL_SIMD_atanhf32x +#define __DECL_SIMD_atanhf64x +#define __DECL_SIMD_atanhf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index b1b11b74ee..be18431fd4 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -86,7 +86,7 @@ __MATHCALL_VEC (acosh,, (_Mdouble_ __x)); /* Hyperbolic arc sine of X. */ __MATHCALL_VEC (asinh,, (_Mdouble_ __x)); /* Hyperbolic arc tangent of X. */ -__MATHCALL (atanh,, (_Mdouble_ __x)); +__MATHCALL_VEC (atanh,, (_Mdouble_ __x)); #endif /* Exponential and logarithmic functions. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 9b47e83aec..54489301ac 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -51,46 +51,54 @@ GLIBC_2.35 _ZGVbN2v_acosh F GLIBC_2.35 _ZGVbN2v_asin F GLIBC_2.35 _ZGVbN2v_asinh F GLIBC_2.35 _ZGVbN2v_atan F +GLIBC_2.35 _ZGVbN2v_atanh F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F GLIBC_2.35 _ZGVbN4v_asinf F GLIBC_2.35 _ZGVbN4v_asinhf F GLIBC_2.35 _ZGVbN4v_atanf F +GLIBC_2.35 _ZGVbN4v_atanhf F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F GLIBC_2.35 _ZGVcN4v_asin F GLIBC_2.35 _ZGVcN4v_asinh F GLIBC_2.35 _ZGVcN4v_atan F +GLIBC_2.35 _ZGVcN4v_atanh F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F GLIBC_2.35 _ZGVcN8v_asinf F GLIBC_2.35 _ZGVcN8v_asinhf F GLIBC_2.35 _ZGVcN8v_atanf F +GLIBC_2.35 _ZGVcN8v_atanhf F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F GLIBC_2.35 _ZGVdN4v_asin F GLIBC_2.35 _ZGVdN4v_asinh F GLIBC_2.35 _ZGVdN4v_atan F +GLIBC_2.35 _ZGVdN4v_atanh F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F GLIBC_2.35 _ZGVdN8v_asinf F GLIBC_2.35 _ZGVdN8v_asinhf F GLIBC_2.35 _ZGVdN8v_atanf F +GLIBC_2.35 _ZGVdN8v_atanhf F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F GLIBC_2.35 _ZGVeN16v_asinf F GLIBC_2.35 _ZGVeN16v_asinhf F GLIBC_2.35 _ZGVeN16v_atanf F +GLIBC_2.35 _ZGVeN16v_atanhf F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F GLIBC_2.35 _ZGVeN8v_asin F GLIBC_2.35 _ZGVeN8v_asinh F GLIBC_2.35 _ZGVeN8v_atan F +GLIBC_2.35 _ZGVeN8v_atanh F GLIBC_2.35 _ZGVeN8vv_atan2 F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index 67a326566c..753b6ff9d1 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -82,6 +82,10 @@ # define __DECL_SIMD_atan2 __DECL_SIMD_x86_64 # undef __DECL_SIMD_atan2f # define __DECL_SIMD_atan2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanh +# define __DECL_SIMD_atanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanhf +# define __DECL_SIMD_atanhf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 4f33886dd2..dea6989d9a 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -28,6 +28,7 @@ libmvec-funcs = \ asinh \ atan \ atan2 \ + atanh \ cos \ exp \ log \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 57de41e864..f80889e3b5 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -19,12 +19,14 @@ libmvec { _ZGVbN2v_asin; _ZGVcN4v_asin; _ZGVdN4v_asin; _ZGVeN8v_asin; _ZGVbN2v_asinh; _ZGVcN4v_asinh; _ZGVdN4v_asinh; _ZGVeN8v_asinh; _ZGVbN2v_atan; _ZGVcN4v_atan; _ZGVdN4v_atan; _ZGVeN8v_atan; + _ZGVbN2v_atanh; _ZGVcN4v_atanh; _ZGVdN4v_atanh; _ZGVeN8v_atanh; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; _ZGVbN4v_asinf; _ZGVcN8v_asinf; _ZGVdN8v_asinf; _ZGVeN16v_asinf; _ZGVbN4v_asinhf; _ZGVcN8v_asinhf; _ZGVdN8v_asinhf; _ZGVeN16v_asinhf; _ZGVbN4v_atanf; _ZGVcN8v_atanf; _ZGVdN8v_atanf; _ZGVeN16v_atanf; + _ZGVbN4v_atanhf; _ZGVcN8v_atanhf; _ZGVdN8v_atanhf; _ZGVeN16v_atanhf; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 329e7f58a2..30ac652738 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -285,6 +285,26 @@ float: 3 float128: 4 ldouble: 5 +Function: "atanh_vlen16": +float: 1 + +Function: "atanh_vlen2": +double: 1 + +Function: "atanh_vlen4": +double: 1 +float: 1 + +Function: "atanh_vlen4_avx2": +double: 1 + +Function: "atanh_vlen8": +double: 1 +float: 1 + +Function: "atanh_vlen8_avx2": +float: 1 + Function: "cabs": double: 1 float128: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core-sse2.S new file mode 100644 index 0000000000..b154ab8649 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized atanh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_atanh _ZGVbN2v_atanh_sse2 +#include "../svml_d_atanh2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core.c new file mode 100644 index 0000000000..138190e568 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized atanh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_atanh +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_atanh, __GI__ZGVbN2v_atanh, __redirect__ZGVbN2v_atanh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core_sse4.S new file mode 100644 index 0000000000..3768a87849 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core_sse4.S @@ -0,0 +1,5501 @@ +/* Function atanh vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute atanh(x) as 0.5 * log((1 + x)/(1 - x)) + * + * Special cases: + * + * atanh(0) = 0 + * atanh(+1) = +INF + * atanh(-1) = -INF + * atanh(x) = NaN if |x| > 1, or if x is a NaN or INF + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_atanh_sse4) + 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 + lea -4218816+__svml_datanh_data_internal(%rip), %r8 + movups 12864+__svml_datanh_data_internal(%rip), %xmm3 + +/* Load the constant 1 and a sign mask */ + movups 12800+__svml_datanh_data_internal(%rip), %xmm5 + +/* Strip off the sign, so treat X as positive until right at the end */ + movaps %xmm3, %xmm2 + movups %xmm11, 144(%rsp) + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + movaps %xmm0, %xmm11 + andps %xmm11, %xmm2 + movaps %xmm5, %xmm0 + subpd %xmm2, %xmm0 + movups %xmm15, 96(%rsp) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + movaps %xmm5, %xmm15 + subpd %xmm0, %xmm15 + movups %xmm14, 112(%rsp) + +/* + * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, + * the upper part UHi being <= 41 bits long. Then we have + * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). + */ + movaps %xmm2, %xmm1 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movups 14400+__svml_datanh_data_internal(%rip), %xmm14 + +/* + * Check whether |X| < 1, in which case we use the main function. + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN < 1). + */ + movaps %xmm2, %xmm6 + movaps %xmm14, %xmm4 + movaps %xmm2, %xmm7 + andps %xmm0, %xmm4 + addpd %xmm2, %xmm1 + subpd %xmm2, %xmm15 + subpd %xmm4, %xmm0 + cmpnltpd %xmm5, %xmm6 + cmpltpd 14528+__svml_datanh_data_internal(%rip), %xmm7 + +/* + * Now compute R = 1/(UHi+ULo) * (1 - E) and the error term E + * The first FMR is exact (we force R to 12 bits just in case it + * isn't already, to make absolutely sure), and since E is ~ 2^-12, + * the rounding error in the other one is acceptable. + */ + cvtpd2ps %xmm4, %xmm2 + addpd %xmm0, %xmm15 + movmskpd %xmm6, %edx + movlhps %xmm2, %xmm2 + movaps %xmm5, %xmm0 + rcpps %xmm2, %xmm2 + cvtps2pd %xmm2, %xmm2 + andps 14208+__svml_datanh_data_internal(%rip), %xmm2 + +/* + * Split V as well into upper 41 bits and lower part, so that we can get + * a preliminary quotient estimate without rounding error. + */ + andps %xmm1, %xmm14 + mulpd %xmm2, %xmm4 + mulpd %xmm2, %xmm15 + subpd %xmm4, %xmm0 + subpd %xmm14, %xmm1 + +/* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ + mulpd %xmm2, %xmm14 + subpd %xmm15, %xmm0 + mulpd %xmm1, %xmm2 + +/* + * Compute D = E + E^2 + E^3 + E^4 + E^5 + * = E + (E + E^2) (E + E * E^2) + */ + movaps %xmm0, %xmm15 + movaps %xmm0, %xmm1 + mulpd %xmm0, %xmm15 + mulpd %xmm15, %xmm1 + addpd %xmm0, %xmm15 + addpd %xmm0, %xmm1 + mulpd %xmm1, %xmm15 + addpd %xmm15, %xmm0 + +/* + * Compute R * (VHi + VLo) * (1 + E + E^2 + E^3 + E^4 + E^5) + * = R * (VHi + VLo) * (1 + D) + * = QHi + (QHi * D + QLo + QLo * D) + */ + movaps %xmm0, %xmm4 + mulpd %xmm2, %xmm0 + mulpd %xmm14, %xmm4 + addpd %xmm0, %xmm2 + addpd %xmm2, %xmm4 + +/* + * Now finally accumulate the high and low parts of the + * argument to log1p, H + L, with a final compensated summation. + */ + addpd %xmm4, %xmm14 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * later incorporating L into the reduced argument. + * compute 1+x as high, low parts + */ + movaps %xmm5, %xmm0 + movaps %xmm5, %xmm4 + maxpd %xmm14, %xmm0 + minpd %xmm14, %xmm4 + andps %xmm3, %xmm14 + movaps %xmm0, %xmm2 + cmpltpd 12928+__svml_datanh_data_internal(%rip), %xmm14 + addpd %xmm4, %xmm2 + orps 12992+__svml_datanh_data_internal(%rip), %xmm14 + andps %xmm14, %xmm2 + +/* preserve mantissa, set input exponent to 2^(-10) */ + movups 12480+__svml_datanh_data_internal(%rip), %xmm14 + andps %xmm2, %xmm14 + orps 12544+__svml_datanh_data_internal(%rip), %xmm14 + +/* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm14, %xmm3 + subpd %xmm2, %xmm0 + movlhps %xmm3, %xmm3 + rcpps %xmm3, %xmm1 + addpd %xmm0, %xmm4 + cvtps2pd %xmm1, %xmm0 + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_26(%rip), %xmm14 + +/* exponent bits */ + movaps %xmm2, %xmm1 + addpd %xmm14, %xmm0 + subpd %xmm14, %xmm0 + +/* exponent of X needed to scale Xl */ + movdqu 13376+__svml_datanh_data_internal(%rip), %xmm15 + psrlq $20, %xmm1 + +/* 2^ (-10-exp(X) ) */ + movdqu 13440+__svml_datanh_data_internal(%rip), %xmm3 + pand %xmm2, %xmm15 + psubq %xmm15, %xmm3 + +/* scale DblRcp */ + mulpd %xmm0, %xmm3 + +/* argument reduction */ + mulpd %xmm3, %xmm2 + mulpd %xmm3, %xmm4 + subpd %xmm5, %xmm2 + pshufd $221, %xmm1, %xmm15 + +/* + * prepare table index + * table lookup + */ + movaps %xmm0, %xmm1 + psrlq $40, %xmm1 + movd %xmm1, %eax + pshufd $2, %xmm1, %xmm1 + +/* polynomial */ + movups 12416+__svml_datanh_data_internal(%rip), %xmm5 + addpd %xmm4, %xmm2 + +/* biased exponent in DP format */ + cvtdq2pd %xmm15, %xmm15 + movd %xmm1, %ecx + mulpd %xmm2, %xmm5 + +/* exponent*log(2.0) */ + movups 13184+__svml_datanh_data_internal(%rip), %xmm1 + cmpltpd %xmm0, %xmm1 + addpd 12432+__svml_datanh_data_internal(%rip), %xmm5 + andps 13248+__svml_datanh_data_internal(%rip), %xmm1 + orps 13312+__svml_datanh_data_internal(%rip), %xmm1 + subpd %xmm1, %xmm15 + movaps %xmm2, %xmm1 + mulpd %xmm2, %xmm1 + mulpd 13504+__svml_datanh_data_internal(%rip), %xmm15 + mulpd %xmm1, %xmm5 + movups 12448+__svml_datanh_data_internal(%rip), %xmm0 + mulpd %xmm2, %xmm0 + addpd 12464+__svml_datanh_data_internal(%rip), %xmm0 + addpd %xmm5, %xmm0 + +/* reconstruction */ + mulpd %xmm0, %xmm1 + movslq %eax, %rax + movaps %xmm7, %xmm0 + addpd %xmm1, %xmm2 + movslq %ecx, %rcx + movsd (%r8,%rax), %xmm14 + movups %xmm10, 160(%rsp) + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movaps %xmm11, %xmm10 + mulpd %xmm11, %xmm10 + movhpd (%r8,%rcx), %xmm14 + addpd %xmm2, %xmm14 + addpd %xmm11, %xmm10 + addpd %xmm14, %xmm15 + +/* Record the sign for eventual reincorporation. */ + movups 14080+__svml_datanh_data_internal(%rip), %xmm6 + +/* Finally, halve the result and reincorporate the sign */ + movups 13888+__svml_datanh_data_internal(%rip), %xmm2 + andps %xmm11, %xmm6 + pxor %xmm6, %xmm2 + +/* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ + orps %xmm6, %xmm10 + mulpd %xmm15, %xmm2 + andnps %xmm2, %xmm0 + andps %xmm7, %xmm10 + orps %xmm10, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 160(%rsp), %xmm10 + cfi_restore(27) + movups 144(%rsp), %xmm11 + cfi_restore(28) + movups 112(%rsp), %xmm14 + cfi_restore(31) + movups 96(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm11, 128(%rsp) + movups %xmm0, 192(%rsp) + xorl %eax, %eax + movups %xmm8, 48(%rsp) + movups %xmm9, 32(%rsp) + movups %xmm12, 16(%rsp) + movups %xmm13, (%rsp) + movq %rsi, 72(%rsp) + movq %rdi, 64(%rsp) + movq %r12, 88(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 80(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 48(%rsp), %xmm8 + cfi_restore(25) + movups 32(%rsp), %xmm9 + cfi_restore(26) + movups 16(%rsp), %xmm12 + cfi_restore(29) + movups (%rsp), %xmm13 + cfi_restore(30) + movq 72(%rsp), %rsi + cfi_restore(4) + movq 64(%rsp), %rdi + cfi_restore(5) + movq 88(%rsp), %r12 + cfi_restore(12) + movq 80(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 128(%rsp,%r12,8), %rdi + lea 192(%rsp,%r12,8), %rsi + call __svml_datanh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_atanh_sse4) + + .align 16,0x90 + +__svml_datanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_datanh_cout_rare_internal,@function + .size __svml_datanh_cout_rare_internal,.-__svml_datanh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_datanh_data_internal: + .long 3715793664 + .long 3230016299 + .long 4013928704 + .long 3189565726 + .long 3699038248 + .long 3230016303 + .long 4255595370 + .long 3189567439 + .long 3648859040 + .long 3230016307 + .long 1732833791 + .long 3189567296 + .long 3565385952 + .long 3230016311 + .long 2485752410 + .long 3189567274 + .long 3448748152 + .long 3230016315 + .long 3514744523 + .long 3189567800 + .long 3299074072 + .long 3230016319 + .long 3686511262 + .long 3189567474 + .long 3116491376 + .long 3230016323 + .long 716063611 + .long 3189567908 + .long 2901127016 + .long 3230016327 + .long 354437295 + .long 3189567291 + .long 2653107184 + .long 3230016331 + .long 3777462366 + .long 3189567264 + .long 2372557360 + .long 3230016335 + .long 3590663412 + .long 3189567498 + .long 2059602304 + .long 3230016339 + .long 1680795031 + .long 3189567428 + .long 1714366048 + .long 3230016343 + .long 2010344982 + .long 3189567986 + .long 1336971936 + .long 3230016347 + .long 166254822 + .long 3189567184 + .long 927542568 + .long 3230016351 + .long 59552610 + .long 3189567972 + .long 486199888 + .long 3230016355 + .long 2268824919 + .long 3189567664 + .long 13065112 + .long 3230016359 + .long 3005381643 + .long 3189567835 + .long 3803226080 + .long 3230016362 + .long 4018973165 + .long 3189567825 + .long 3266868056 + .long 3230016366 + .long 3693925101 + .long 3189567457 + .long 2699077504 + .long 3230016370 + .long 4005905743 + .long 3189567697 + .long 2099972936 + .long 3230016374 + .long 3580935118 + .long 3189567215 + .long 1469672176 + .long 3230016378 + .long 2928784295 + .long 3189567129 + .long 808292392 + .long 3230016382 + .long 674298833 + .long 3189567553 + .long 115950104 + .long 3230016386 + .long 2555938320 + .long 3189567208 + .long 3687728456 + .long 3230016389 + .long 532458218 + .long 3189567130 + .long 2933808064 + .long 3230016393 + .long 3888913110 + .long 3189567192 + .long 2149270784 + .long 3230016397 + .long 2365955494 + .long 3189567756 + .long 1334230552 + .long 3230016401 + .long 3325722981 + .long 3189567206 + .long 488800640 + .long 3230016405 + .long 1496133617 + .long 3189567683 + .long 3908061016 + .long 3230016408 + .long 1824836379 + .long 3189567490 + .long 3002189112 + .long 3230016412 + .long 1222174320 + .long 3189567837 + .long 2066263648 + .long 3230016416 + .long 2472769660 + .long 3189567285 + .long 1100395408 + .long 3230016420 + .long 447932460 + .long 3189567455 + .long 104694584 + .long 3230016424 + .long 1006807684 + .long 3189567460 + .long 3374238048 + .long 3230016427 + .long 4121834935 + .long 3189567556 + .long 2319200184 + .long 3230016431 + .long 3019906587 + .long 3189567664 + .long 1234656664 + .long 3230016435 + .long 3882744783 + .long 3189567930 + .long 120715280 + .long 3230016439 + .long 1927363170 + .long 3189567242 + .long 3272450504 + .long 3230016442 + .long 8203115 + .long 3189567876 + .long 2100034368 + .long 3230016446 + .long 1260625560 + .long 3189567855 + .long 898540192 + .long 3230016450 + .long 1791679111 + .long 3189567639 + .long 3963040720 + .long 3230016453 + .long 831133439 + .long 3189567590 + .long 2703706240 + .long 3230016457 + .long 2803140504 + .long 3189567482 + .long 1415608352 + .long 3230016461 + .long 2955844462 + .long 3189568058 + .long 98850816 + .long 3230016465 + .long 4017967070 + .long 3189567455 + .long 3048504096 + .long 3230016468 + .long 3974385451 + .long 3189567871 + .long 1674736240 + .long 3230016472 + .long 2424114556 + .long 3189567887 + .long 272616624 + .long 3230016476 + .long 4261883032 + .long 3189567073 + .long 3137214056 + .long 3230016479 + .long 3716750895 + .long 3189567522 + .long 1678694944 + .long 3230016483 + .long 498025304 + .long 3189567180 + .long 192127016 + .long 3230016487 + .long 1011852160 + .long 3189567511 + .long 2972577480 + .long 3230016490 + .long 558940916 + .long 3189567850 + .long 1430211120 + .long 3230016494 + .long 2550865739 + .long 3189567935 + .long 4155061376 + .long 3230016497 + .long 1930847170 + .long 3189567371 + .long 2557291968 + .long 3230016501 + .long 1716354804 + .long 3189567130 + .long 931967984 + .long 3230016505 + .long 2729403392 + .long 3189567981 + .long 3574154016 + .long 3230016508 + .long 1067280599 + .long 3189567890 + .long 1894012232 + .long 3230016512 + .long 2094260282 + .long 3189567604 + .long 186606176 + .long 3230016516 + .long 3897933165 + .long 3189568046 + .long 2746998904 + .long 3230016519 + .long 1935720459 + .long 3189567701 + .long 985351064 + .long 3230016523 + .long 2170344821 + .long 3189567164 + .long 3491691984 + .long 3230016526 + .long 4220979537 + .long 3189567547 + .long 1676181328 + .long 3230016530 + .long 1953924393 + .long 3189567854 + .long 4128847448 + .long 3230016533 + .long 1689829067 + .long 3189567468 + .long 2259849008 + .long 3230016537 + .long 2367753130 + .long 3189567619 + .long 364246088 + .long 3230016541 + .long 2263309073 + .long 3189567722 + .long 2737098280 + .long 3230016544 + .long 2366756869 + .long 3189567856 + .long 788562816 + .long 3230016548 + .long 2294653975 + .long 3189567145 + .long 3108665616 + .long 3230016551 + .long 1786494117 + .long 3189567254 + .long 1107562960 + .long 3230016555 + .long 3655887416 + .long 3189567689 + .long 3375279848 + .long 3230016558 + .long 1178948625 + .long 3189567241 + .long 1321971608 + .long 3230016562 + .long 1620080441 + .long 3189567466 + .long 3537662304 + .long 3230016565 + .long 154455618 + .long 3189567981 + .long 1432506360 + .long 3230016569 + .long 3128192125 + .long 3189567889 + .long 3596526920 + .long 3230016572 + .long 2026842750 + .long 3189567212 + .long 1439877480 + .long 3230016576 + .long 1384431897 + .long 3189567284 + .long 3552580280 + .long 3230016579 + .long 1999983129 + .long 3189568079 + .long 1344787944 + .long 3230016583 + .long 4035436820 + .long 3189567579 + .long 3406521808 + .long 3230016586 + .long 77799817 + .long 3189567285 + .long 1147933592 + .long 3230016590 + .long 1261060207 + .long 3189567477 + .long 3159043768 + .long 3230016593 + .long 2102717775 + .long 3189567605 + .long 850003184 + .long 3230016597 + .long 161472469 + .long 3189567688 + .long 2810831440 + .long 3230016600 + .long 1937336881 + .long 3189567665 + .long 451678520 + .long 3230016604 + .long 2268353549 + .long 3189567773 + .long 2362563168 + .long 3230016607 + .long 1785871595 + .long 3189567889 + .long 4248601816 + .long 3230016610 + .long 2434669991 + .long 3189567898 + .long 1814910472 + .long 3230016614 + .long 2666999375 + .long 3189568058 + .long 3651506624 + .long 3230016617 + .long 1033139811 + .long 3189567312 + .long 1168538136 + .long 3230016621 + .long 4004618418 + .long 3189567740 + .long 2956021672 + .long 3230016624 + .long 3799928764 + .long 3189567751 + .long 424104288 + .long 3230016628 + .long 3650233137 + .long 3189567549 + .long 2162801816 + .long 3230016631 + .long 437313833 + .long 3189567438 + .long 3877227800 + .long 3230016634 + .long 2138293494 + .long 3189567140 + .long 1272495376 + .long 3230016638 + .long 2891370752 + .long 3189567168 + .long 2938619176 + .long 3230016641 + .long 1704142730 + .long 3189567114 + .long 285744240 + .long 3230016645 + .long 500817607 + .long 3189568035 + .long 1903884424 + .long 3230016648 + .long 3102571944 + .long 3189567668 + .long 3498151272 + .long 3230016651 + .long 2374193154 + .long 3189567933 + .long 773655960 + .long 3230016655 + .long 2898331636 + .long 3189568089 + .long 2320411168 + .long 3230016658 + .long 1983295500 + .long 3189567113 + .long 3843527280 + .long 3230016661 + .long 2132853542 + .long 3189567093 + .long 1048114320 + .long 3230016665 + .long 3551155364 + .long 3189567407 + .long 2524183824 + .long 3230016668 + .long 2564000663 + .long 3189567090 + .long 3976845048 + .long 3230016671 + .long 361581803 + .long 3189567196 + .long 1111206880 + .long 3230016675 + .long 696765230 + .long 3189568040 + .long 2517279744 + .long 3230016678 + .long 941542475 + .long 3189567463 + .long 3900171776 + .long 3230016681 + .long 2377895552 + .long 3189567282 + .long 964990760 + .long 3230016685 + .long 1173605489 + .long 3189567454 + .long 2301746008 + .long 3230016688 + .long 3096720313 + .long 3189567400 + .long 3615544576 + .long 3230016691 + .long 1942008121 + .long 3189567335 + .long 611493160 + .long 3230016695 + .long 3375481119 + .long 3189567537 + .long 1879599992 + .long 3230016698 + .long 4103239143 + .long 3189567624 + .long 3124971056 + .long 3230016701 + .long 3773474925 + .long 3189567869 + .long 52711992 + .long 3230016705 + .long 2465315445 + .long 3189567444 + .long 1252829960 + .long 3230016708 + .long 1041581158 + .long 3189567781 + .long 2430429904 + .long 3230016711 + .long 166620501 + .long 3189567739 + .long 3585583704 + .long 3230016714 + .long 2379237630 + .long 3189567984 + .long 423395616 + .long 3230016718 + .long 134834559 + .long 3189567178 + .long 1533871416 + .long 3230016721 + .long 1449318760 + .long 3189567373 + .long 2622114680 + .long 3230016724 + .long 3042372984 + .long 3189567127 + .long 3688195920 + .long 3230016727 + .long 1265290101 + .long 3189567921 + .long 437218048 + .long 3230016731 + .long 2248549362 + .long 3189567262 + .long 1459185496 + .long 3230016734 + .long 1293250365 + .long 3189567151 + .long 2459200496 + .long 3230016737 + .long 313786605 + .long 3189567180 + .long 3437332240 + .long 3230016740 + .long 3289151823 + .long 3189567872 + .long 98682312 + .long 3230016744 + .long 2693758821 + .long 3189567877 + .long 1033253848 + .long 3230016747 + .long 4237443192 + .long 3189567301 + .long 1946147760 + .long 3230016750 + .long 4099404586 + .long 3189567972 + .long 2837431968 + .long 3230016753 + .long 343640666 + .long 3189567552 + .long 3707174040 + .long 3230016756 + .long 4238401458 + .long 3189567983 + .long 260473960 + .long 3230016760 + .long 21423548 + .long 3189567559 + .long 1087333264 + .long 3230016763 + .long 3515278593 + .long 3189567309 + .long 1892851296 + .long 3230016766 + .long 629106375 + .long 3189567166 + .long 2677094384 + .long 3230016769 + .long 2048670044 + .long 3189567227 + .long 3440128544 + .long 3230016772 + .long 3739217292 + .long 3189568009 + .long 4182019504 + .long 3230016775 + .long 3662039444 + .long 3189567618 + .long 607865368 + .long 3230016779 + .long 1766486991 + .long 3189567112 + .long 1307665824 + .long 3230016782 + .long 512689457 + .long 3189567670 + .long 1986518392 + .long 3230016785 + .long 1704577378 + .long 3189567760 + .long 2644487576 + .long 3230016788 + .long 4001935135 + .long 3189567473 + .long 3281637576 + .long 3230016791 + .long 1184452342 + .long 3189567735 + .long 3898032312 + .long 3230016794 + .long 2714793956 + .long 3189567464 + .long 198768096 + .long 3230016798 + .long 3657654418 + .long 3189567905 + .long 773842856 + .long 3230016801 + .long 2809688013 + .long 3189567736 + .long 1328352328 + .long 3230016804 + .long 390727591 + .long 3189567393 + .long 1862359256 + .long 3230016807 + .long 1135237925 + .long 3189567248 + .long 2375926096 + .long 3230016810 + .long 1377572509 + .long 3189567837 + .long 2869115032 + .long 3230016813 + .long 3148383775 + .long 3189568032 + .long 3341987960 + .long 3230016816 + .long 3809536738 + .long 3189567313 + .long 3794606472 + .long 3230016819 + .long 4243445934 + .long 3189568034 + .long 4227031920 + .long 3230016822 + .long 1302642088 + .long 3189567451 + .long 344358048 + .long 3230016826 + .long 3239125361 + .long 3189567151 + .long 736580224 + .long 3230016829 + .long 3753161736 + .long 3189567129 + .long 1108791648 + .long 3230016832 + .long 624357483 + .long 3189568045 + .long 1461052568 + .long 3230016835 + .long 3153257064 + .long 3189567338 + .long 1793422920 + .long 3230016838 + .long 2705820149 + .long 3189567635 + .long 2105962400 + .long 3230016841 + .long 911564860 + .long 3189567737 + .long 2398730424 + .long 3230016844 + .long 1086958332 + .long 3189567948 + .long 2671786152 + .long 3230016847 + .long 1598984535 + .long 3189567210 + .long 2925188456 + .long 3230016850 + .long 4113385879 + .long 3189567401 + .long 3158995968 + .long 3230016853 + .long 2426812671 + .long 3189567396 + .long 3373267048 + .long 3230016856 + .long 3480845679 + .long 3189567359 + .long 3568059792 + .long 3230016859 + .long 3306230729 + .long 3189567924 + .long 3743432056 + .long 3230016862 + .long 3853821277 + .long 3189567317 + .long 3899441408 + .long 3230016865 + .long 2049309148 + .long 3189567699 + .long 4036145192 + .long 3230016868 + .long 2667321817 + .long 3189567166 + .long 4153600472 + .long 3230016871 + .long 3540670389 + .long 3189567114 + .long 4251864072 + .long 3230016874 + .long 404207883 + .long 3189567310 + .long 36025272 + .long 3230016878 + .long 2837617046 + .long 3189567103 + .long 96074976 + .long 3230016881 + .long 1231280453 + .long 3189567669 + .long 137101976 + .long 3230016884 + .long 792492437 + .long 3189567071 + .long 159162080 + .long 3230016887 + .long 2385525292 + .long 3189567618 + .long 162310880 + .long 3230016890 + .long 3272051015 + .long 3189567858 + .long 146603712 + .long 3230016893 + .long 623573538 + .long 3189567881 + .long 112095672 + .long 3230016896 + .long 2151835939 + .long 3189567451 + .long 58841608 + .long 3230016899 + .long 958006130 + .long 3189567217 + .long 4281863424 + .long 3230016901 + .long 549948691 + .long 3189567863 + .long 4191280920 + .long 3230016904 + .long 4177689987 + .long 3189567217 + .long 4082115512 + .long 3230016907 + .long 2895765193 + .long 3189567599 + .long 3954421112 + .long 3230016910 + .long 1055606208 + .long 3189567799 + .long 3808251392 + .long 3230016913 + .long 1966521217 + .long 3189567351 + .long 3643659776 + .long 3230016916 + .long 1017382758 + .long 3189567732 + .long 3460699480 + .long 3230016919 + .long 3485890155 + .long 3189567410 + .long 3259423472 + .long 3230016922 + .long 2657419170 + .long 3189567140 + .long 3039884488 + .long 3230016925 + .long 4198858220 + .long 3189568080 + .long 2802135064 + .long 3230016928 + .long 2343740494 + .long 3189567869 + .long 2546227480 + .long 3230016931 + .long 2423084215 + .long 3189567957 + .long 2272213808 + .long 3230016934 + .long 3887273856 + .long 3189567631 + .long 1980145888 + .long 3230016937 + .long 3992755473 + .long 3189567251 + .long 1670075336 + .long 3230016940 + .long 722498073 + .long 3189567389 + .long 1342053552 + .long 3230016943 + .long 3573506400 + .long 3189567965 + .long 996131728 + .long 3230016946 + .long 714695829 + .long 3189567392 + .long 632360808 + .long 3230016949 + .long 2816704229 + .long 3189567846 + .long 250791552 + .long 3230016952 + .long 386951333 + .long 3189567243 + .long 4146441768 + .long 3230016954 + .long 2155319939 + .long 3189567580 + .long 3729427184 + .long 3230016957 + .long 4227840137 + .long 3189567931 + .long 3294765200 + .long 3230016960 + .long 1718354212 + .long 3189567672 + .long 2842505696 + .long 3230016963 + .long 4243880582 + .long 3189567656 + .long 2372698352 + .long 3230016966 + .long 3784093842 + .long 3189567302 + .long 1885392624 + .long 3230016969 + .long 2318733051 + .long 3189567813 + .long 1380637784 + .long 3230016972 + .long 497929746 + .long 3189567210 + .long 858482864 + .long 3230016975 + .long 3218883783 + .long 3189567649 + .long 318976720 + .long 3230016978 + .long 3492652862 + .long 3189567382 + .long 4057135272 + .long 3230016980 + .long 473724673 + .long 3189568069 + .long 3483072376 + .long 3230016983 + .long 150485010 + .long 3189567757 + .long 2891803552 + .long 3230016986 + .long 3028900958 + .long 3189567173 + .long 2283376816 + .long 3230016989 + .long 321242596 + .long 3189567822 + .long 1657840008 + .long 3230016992 + .long 151305746 + .long 3189568029 + .long 1015240760 + .long 3230016995 + .long 2208026401 + .long 3189567184 + .long 355626480 + .long 3230016998 + .long 2487781842 + .long 3189567931 + .long 3974011720 + .long 3230017000 + .long 2391142094 + .long 3189567091 + .long 3280508896 + .long 3230017003 + .long 734457618 + .long 3189568092 + .long 2570132168 + .long 3230017006 + .long 3070902701 + .long 3189567794 + .long 1842928168 + .long 3230017009 + .long 1110877923 + .long 3189567896 + .long 1098943352 + .long 3230017012 + .long 3880360185 + .long 3189567898 + .long 338223984 + .long 3230017015 + .long 391995809 + .long 3189567294 + .long 3855783416 + .long 3230017017 + .long 4186345433 + .long 3189567745 + .long 3061732952 + .long 3230017020 + .long 3682852050 + .long 3189567081 + .long 2251085560 + .long 3230017023 + .long 3057037137 + .long 3189567617 + .long 1423886760 + .long 3230017026 + .long 3352664894 + .long 3189567074 + .long 580181848 + .long 3230017029 + .long 1170568982 + .long 3189567927 + .long 4014983272 + .long 3230017031 + .long 671148579 + .long 3189567293 + .long 3138401368 + .long 3230017034 + .long 267496658 + .long 3189567304 + .long 2245448192 + .long 3230017037 + .long 1285167087 + .long 3189568066 + .long 1336168336 + .long 3230017040 + .long 4259909589 + .long 3189567788 + .long 410606184 + .long 3230017043 + .long 1494078902 + .long 3189568031 + .long 3763773256 + .long 3230017045 + .long 261935754 + .long 3189567685 + .long 2805778992 + .long 3230017048 + .long 3679585605 + .long 3189567195 + .long 1831634536 + .long 3230017051 + .long 809066513 + .long 3189567664 + .long 841383576 + .long 3230017054 + .long 385945238 + .long 3189567897 + .long 4130036912 + .long 3230017056 + .long 825579909 + .long 3189567603 + .long 3107703272 + .long 3230017059 + .long 3911295427 + .long 3189567514 + .long 2069393104 + .long 3230017062 + .long 3473784588 + .long 3189567461 + .long 1015149384 + .long 3230017065 + .long 629861200 + .long 3189567515 + .long 4239982216 + .long 3230017067 + .long 2659142760 + .long 3189567083 + .long 3153999632 + .long 3230017070 + .long 1251680713 + .long 3189567080 + .long 2052211384 + .long 3230017073 + .long 3168705163 + .long 3189567992 + .long 934659776 + .long 3230017076 + .long 1674797624 + .long 3189567952 + .long 4096354216 + .long 3230017078 + .long 437847902 + .long 3189567971 + .long 2947402064 + .long 3230017081 + .long 4024401533 + .long 3189567960 + .long 1782812400 + .long 3230017084 + .long 786902458 + .long 3189567873 + .long 602626840 + .long 3230017087 + .long 2593792633 + .long 3189567812 + .long 3701854136 + .long 3230017089 + .long 3989721221 + .long 3189567126 + .long 2490600968 + .long 3230017092 + .long 2545746866 + .long 3189567591 + .long 1263875768 + .long 3230017095 + .long 3115843521 + .long 3189567377 + .long 21719488 + .long 3230017098 + .long 1730226063 + .long 3189567307 + .long 3059140216 + .long 3230017100 + .long 690350922 + .long 3189567892 + .long 1786244008 + .long 3230017103 + .long 3350998585 + .long 3189567394 + .long 498038616 + .long 3230017106 + .long 1499123379 + .long 3189568082 + .long 3489531672 + .long 3230017108 + .long 2598665922 + .long 3189567118 + .long 2170828712 + .long 3230017111 + .long 2436376826 + .long 3189567935 + .long 836937048 + .long 3230017114 + .long 1977004902 + .long 3189568052 + .long 3782863816 + .long 3230017116 + .long 4027224619 + .long 3189567373 + .long 2418714096 + .long 3230017119 + .long 2616869856 + .long 3189567271 + .long 1039494712 + .long 3230017122 + .long 3775628133 + .long 3189567616 + .long 3940212336 + .long 3230017124 + .long 419018052 + .long 3189567909 + .long 2530971600 + .long 3230017127 + .long 150919657 + .long 3189567379 + .long 1106778856 + .long 3230017130 + .long 2926254537 + .long 3189567139 + .long 3962640312 + .long 3230017132 + .long 1610863810 + .long 3189567216 + .long 2508660136 + .long 3230017135 + .long 1166015244 + .long 3189567672 + .long 1039844240 + .long 3230017138 + .long 645159638 + .long 3189567685 + .long 3851198376 + .long 3230017140 + .long 2449439581 + .long 3189567695 + .long 2352826264 + .long 3230017143 + .long 1619104640 + .long 3189567458 + .long 839733360 + .long 3230017146 + .long 2427070371 + .long 3189567165 + .long 3606924968 + .long 3230017148 + .long 2166480890 + .long 3189567544 + .long 2064504368 + .long 3230017151 + .long 2283025905 + .long 3189567907 + .long 507476584 + .long 3230017154 + .long 3923356754 + .long 3189567272 + .long 3230846472 + .long 3230017156 + .long 805331677 + .long 3189567533 + .long 1644716880 + .long 3230017159 + .long 3790469685 + .long 3189567406 + .long 44092384 + .long 3230017162 + .long 2689788214 + .long 3189567653 + .long 2723977432 + .long 3230017164 + .long 2762250221 + .long 3189567072 + .long 1094474416 + .long 3230017167 + .long 2781925193 + .long 3189567716 + .long 3745554800 + .long 3230017169 + .long 593120878 + .long 3189567817 + .long 2087320704 + .long 3230017172 + .long 403414988 + .long 3189568021 + .long 414776008 + .long 3230017175 + .long 359307328 + .long 3189567387 + .long 3022924432 + .long 3230017177 + .long 3373547966 + .long 3189567572 + .long 1321867688 + .long 3230017180 + .long 3978711340 + .long 3189567805 + .long 3901576528 + .long 3230017182 + .long 2765663238 + .long 3189568046 + .long 2172152384 + .long 3230017185 + .long 1181150766 + .long 3189568053 + .long 428598440 + .long 3230017188 + .long 2473022131 + .long 3189567471 + .long 2965917728 + .long 3230017190 + .long 1621744488 + .long 3189567971 + .long 1194211288 + .long 3230017193 + .long 2931299013 + .long 3189567190 + .long 3703449168 + .long 3230017195 + .long 873154950 + .long 3189568039 + .long 1903732144 + .long 3230017198 + .long 1510784525 + .long 3189567521 + .long 90062704 + .long 3230017201 + .long 2918231590 + .long 3189568086 + .long 2557443240 + .long 3230017203 + .long 3329944838 + .long 3189567475 + .long 715974088 + .long 3230017206 + .long 2679715410 + .long 3189568021 + .long 3155624672 + .long 3230017208 + .long 1841110143 + .long 3189567518 + .long 1286495072 + .long 3230017211 + .long 3881638924 + .long 3189567497 + .long 3698554440 + .long 3230017213 + .long 167906931 + .long 3189567169 + .long 1801902600 + .long 3230017216 + .long 1468264167 + .long 3189567597 + .long 4186508448 + .long 3230017218 + .long 2400624638 + .long 3189567691 + .long 2262471560 + .long 3230017221 + .long 3796182064 + .long 3189567357 + .long 324793264 + .long 3230017224 + .long 2801238958 + .long 3189567581 + .long 2668474776 + .long 3230017226 + .long 2273142813 + .long 3189567436 + .long 703615288 + .long 3230017229 + .long 831867571 + .long 3189567237 + .long 3020183048 + .long 3230017231 + .long 2238048829 + .long 3189567595 + .long 1028277008 + .long 3230017234 + .long 1163763070 + .long 3189567452 + .long 3317865168 + .long 3230017236 + .long 1206450788 + .long 3189567228 + .long 1299046216 + .long 3230017239 + .long 737162226 + .long 3189567879 + .long 3561787920 + .long 3230017241 + .long 2433253277 + .long 3189567901 + .long 1516188728 + .long 3230017244 + .long 3561277099 + .long 3189567506 + .long 3752216144 + .long 3230017246 + .long 1385095507 + .long 3189567674 + .long 1679968384 + .long 3230017249 + .long 829462408 + .long 3189567156 + .long 3889412704 + .long 3230017251 + .long 2939266725 + .long 3189567673 + .long 1790647080 + .long 3230017254 + .long 4214100827 + .long 3189567848 + .long 3973638544 + .long 3230017256 + .long 2537954451 + .long 3189567376 + .long 1848484816 + .long 3230017259 + .long 1128740312 + .long 3189567098 + .long 4005152680 + .long 3230017261 + .long 1932232434 + .long 3189568053 + .long 1853739648 + .long 3230017264 + .long 1359710694 + .long 3189567457 + .long 3984212256 + .long 3230017266 + .long 1268482287 + .long 3189567990 + .long 1806667776 + .long 3230017269 + .long 839689017 + .long 3189567631 + .long 3911072520 + .long 3230017271 + .long 3727165601 + .long 3189567921 + .long 1707523520 + .long 3230017274 + .long 1836550952 + .long 3189567895 + .long 3785986872 + .long 3230017276 + .long 172951407 + .long 3189567220 + .long 1556559360 + .long 3230017279 + .long 1166449891 + .long 3189567294 + .long 3609206856 + .long 3230017281 + .long 28625366 + .long 3189567222 + .long 1354025920 + .long 3230017284 + .long 4038426582 + .long 3189567978 + .long 3380982208 + .long 3230017286 + .long 2756284659 + .long 3189567362 + .long 1100172048 + .long 3230017289 + .long 848830252 + .long 3189567230 + .long 3101560856 + .long 3230017291 + .long 1868170309 + .long 3189567423 + .long 795244752 + .long 3230017294 + .long 3128260908 + .long 3189567885 + .long 2771188936 + .long 3230017296 + .long 1691261279 + .long 3189567706 + .long 439489304 + .long 3230017299 + .long 2886711298 + .long 3189567236 + .long 2390110824 + .long 3230017301 + .long 1311431101 + .long 3189567133 + .long 33149176 + .long 3230017304 + .long 3042183093 + .long 3189567401 + .long 1958569120 + .long 3230017306 + .long 3174208880 + .long 3189567462 + .long 3871433416 + .long 3230017308 + .long 302374021 + .long 3189567243 + .long 1476804712 + .long 3230017311 + .long 712531519 + .long 3189567241 + .long 3364647440 + .long 3230017313 + .long 3705318448 + .long 3189567568 + .long 945056744 + .long 3230017316 + .long 2424171915 + .long 3189568016 + .long 2807996856 + .long 3230017318 + .long 199511961 + .long 3189567094 + .long 363562688 + .long 3230017321 + .long 3766234060 + .long 3189567214 + .long 2201718256 + .long 3230017323 + .long 1956195829 + .long 3189567592 + .long 4027525584 + .long 3230017325 + .long 2891794585 + .long 3189567375 + .long 1546046576 + .long 3230017328 + .long 843173017 + .long 3189567760 + .long 3347244936 + .long 3230017330 + .long 1609532414 + .long 3189567955 + .long 841215080 + .long 3230017333 + .long 3356704285 + .long 3189567294 + .long 2617920488 + .long 3230017335 + .long 1641729240 + .long 3189567346 + .long 87455368 + .long 3230017338 + .long 1455753222 + .long 3189567878 + .long 1839783016 + .long 3230017340 + .long 1936589978 + .long 3189567944 + .long 3579964728 + .long 3230017342 + .long 1006586129 + .long 3189567993 + .long 1013061704 + .long 3230017345 + .long 2766825484 + .long 3189567880 + .long 2729036928 + .long 3230017347 + .long 1888685184 + .long 3189567954 + .long 137984104 + .long 3230017350 + .long 848046306 + .long 3189568090 + .long 1829866024 + .long 3230017352 + .long 4178224056 + .long 3189567750 + .long 3509743488 + .long 3230017354 + .long 2637072474 + .long 3189567070 + .long 882677184 + .long 3230017357 + .long 3133305384 + .long 3189567936 + .long 2538629624 + .long 3230017359 + .long 1343200028 + .long 3189567905 + .long 4182661312 + .long 3230017361 + .long 107195460 + .long 3189567427 + .long 1519832648 + .long 3230017364 + .long 602154914 + .long 3189567857 + .long 3140105848 + .long 3230017366 + .long 659160740 + .long 3189567417 + .long 453573824 + .long 3230017369 + .long 236889930 + .long 3189567396 + .long 2050198592 + .long 3230017371 + .long 1175634921 + .long 3189567087 + .long 3635040168 + .long 3230017373 + .long 1241855527 + .long 3189567941 + .long 913158504 + .long 3230017376 + .long 3947904414 + .long 3189567477 + .long 2474515312 + .long 3230017378 + .long 1206979822 + .long 3189567534 + .long 4024170344 + .long 3230017380 + .long 1847397805 + .long 3189567152 + .long 1267183240 + .long 3230017383 + .long 2916539301 + .long 3189567754 + .long 2793515456 + .long 3230017385 + .long 2568213263 + .long 3189568078 + .long 13259168 + .long 3230017388 + .long 3003245330 + .long 3189567303 + .long 1516375624 + .long 3230017390 + .long 3472633477 + .long 3189567153 + .long 3007924104 + .long 3230017392 + .long 532406289 + .long 3189567855 + .long 192963816 + .long 3230017395 + .long 4149310663 + .long 3189567165 + .long 1661455728 + .long 3230017397 + .long 946970842 + .long 3189567598 + .long 3118458864 + .long 3230017399 + .long 2040517972 + .long 3189567254 + .long 269032128 + .long 3230017402 + .long 3669971831 + .long 3189568072 + .long 1703136256 + .long 3230017404 + .long 2375197389 + .long 3189567687 + .long 3125829976 + .long 3230017406 + .long 296757744 + .long 3189567673 + .long 242171944 + .long 3230017409 + .long 611424102 + .long 3189567452 + .long 1642122608 + .long 3230017411 + .long 1700968423 + .long 3189567419 + .long 3030740440 + .long 3230017413 + .long 2947762668 + .long 3189567968 + .long 113083840 + .long 3230017416 + .long 690901756 + .long 3189567496 + .long 1479112984 + .long 3230017418 + .long 121139903 + .long 3189567571 + .long 2833886088 + .long 3230017420 + .long 173386055 + .long 3189567866 + .long 4177428584 + .long 3230017422 + .long 2964718132 + .long 3189567231 + .long 1214798496 + .long 3230017425 + .long 541562024 + .long 3189567842 + .long 2535955680 + .long 3230017427 + .long 3368765612 + .long 3189568076 + .long 3845958008 + .long 3230017429 + .long 3194541507 + .long 3189567689 + .long 849863256 + .long 3230017432 + .long 3443356552 + .long 3189567858 + .long 2137631024 + .long 3230017434 + .long 1180679397 + .long 3189567138 + .long 3414318912 + .long 3230017436 + .long 2261929999 + .long 3189567651 + .long 384984464 + .long 3230017439 + .long 954057098 + .long 3189567971 + .long 1639587024 + .long 3230017441 + .long 1346995839 + .long 3189567263 + .long 2883183944 + .long 3230017443 + .long 3253373727 + .long 3189567382 + .long 4115799808 + .long 3230017445 + .long 4143791142 + .long 3189567800 + .long 1042491824 + .long 3230017448 + .long 4240432954 + .long 3189567700 + .long 2253218992 + .long 3230017450 + .long 1891708033 + .long 3189568072 + .long 3453038360 + .long 3230017452 + .long 710292621 + .long 3189567662 + .long 347006880 + .long 3230017455 + .long 2712254611 + .long 3189567116 + .long 1525083304 + .long 3230017457 + .long 349583280 + .long 3189568004 + .long 2692324448 + .long 3230017459 + .long 1803227864 + .long 3189567740 + .long 3848754312 + .long 3230017461 + .long 3644606976 + .long 3189567826 + .long 699429536 + .long 3230017464 + .long 1067153346 + .long 3189567751 + .long 1834308568 + .long 3230017466 + .long 1335350692 + .long 3189567081 + .long 2958447872 + .long 3230017468 + .long 1803696599 + .long 3189567557 + .long 4071871152 + .long 3230017470 + .long 1232152547 + .long 3189568017 + .long 879634736 + .long 3230017473 + .long 1455437901 + .long 3189567512 + .long 1971696744 + .long 3230017475 + .long 3708110750 + .long 3189567399 + .long 3053113344 + .long 3230017477 + .long 3907324819 + .long 3189567290 + .long 4123907920 + .long 3230017479 + .long 4080000314 + .long 3189567141 + .long 889136480 + .long 3230017482 + .long 1286519001 + .long 3189567298 + .long 1938756848 + .long 3230017484 + .long 1292347423 + .long 3189567513 + .long 2977824880 + .long 3230017486 + .long 1159725249 + .long 3189568015 + .long 4006363664 + .long 3230017488 + .long 895621348 + .long 3189567502 + .long 729428896 + .long 3230017491 + .long 1212894155 + .long 3189567280 + .long 1736978096 + .long 3230017493 + .long 296117275 + .long 3189567210 + .long 2734066816 + .long 3230017495 + .long 2463481211 + .long 3189567796 + .long 3720717848 + .long 3230017497 + .long 76524950 + .long 3189567159 + .long 401986584 + .long 3230017500 + .long 1718551671 + .long 3189567216 + .long 1367830248 + .long 3230017502 + .long 3568874946 + .long 3189567584 + .long 2323304104 + .long 3230017504 + .long 2763456396 + .long 3189567666 + .long 3268430632 + .long 3230017506 + .long 1208592501 + .long 3189567715 + .long 4203232240 + .long 3230017508 + .long 4148835618 + .long 3189567851 + .long 832763976 + .long 3230017511 + .long 610418007 + .long 3189567082 + .long 1746982680 + .long 3230017513 + .long 3035714190 + .long 3189567431 + .long 2650943256 + .long 3230017515 + .long 85931336 + .long 3189567843 + .long 3544667832 + .long 3230017517 + .long 3006685957 + .long 3189567286 + .long 133211144 + .long 3230017520 + .long 878859600 + .long 3189567873 + .long 1006529776 + .long 3230017522 + .long 854333969 + .long 3189567724 + .long 1869678336 + .long 3230017524 + .long 3058646748 + .long 3189567155 + .long 2722678648 + .long 3230017526 + .long 360733640 + .long 3189567693 + .long 3565552488 + .long 3230017528 + .long 3015564990 + .long 3189568013 + .long 103354256 + .long 3230017531 + .long 2286095909 + .long 3189568081 + .long 926040176 + .long 3230017533 + .long 1899270393 + .long 3189567137 + .long 1738664488 + .long 3230017535 + .long 1377641292 + .long 3189567833 + .long 2541248696 + .long 3230017537 + .long 4266686523 + .long 3189568077 + .long 3333814224 + .long 3230017539 + .long 4018775563 + .long 3189567218 + .long 4116382408 + .long 3230017541 + .long 3373913644 + .long 3189567103 + .long 594007232 + .long 3230017544 + .long 2818265402 + .long 3189568021 + .long 1356644520 + .long 3230017546 + .long 1075601108 + .long 3189567716 + .long 2109348112 + .long 3230017548 + .long 3342127702 + .long 3189567566 + .long 2852139088 + .long 3230017550 + .long 2910355434 + .long 3189567504 + .long 3585038464 + .long 3230017552 + .long 611858749 + .long 3189567074 + .long 13099880 + .long 3230017555 + .long 1954698831 + .long 3189567516 + .long 726278816 + .long 3230017557 + .long 550712630 + .long 3189567710 + .long 1429628792 + .long 3230017559 + .long 3672474493 + .long 3189567278 + .long 2123170544 + .long 3230017561 + .long 1160875209 + .long 3189567651 + .long 2806924760 + .long 3230017563 + .long 2242524344 + .long 3189568000 + .long 3480912064 + .long 3230017565 + .long 2823138691 + .long 3189567327 + .long 4145152992 + .long 3230017567 + .long 3521079748 + .long 3189567568 + .long 504700744 + .long 3230017570 + .long 1136670137 + .long 3189567486 + .long 1149510328 + .long 3230017572 + .long 806933442 + .long 3189567823 + .long 1784634816 + .long 3230017574 + .long 1606084669 + .long 3189567242 + .long 2410094488 + .long 3230017576 + .long 2841342625 + .long 3189567480 + .long 3025909584 + .long 3230017578 + .long 984188059 + .long 3189567239 + .long 3632100264 + .long 3230017580 + .long 3011730434 + .long 3189567337 + .long 4228686632 + .long 3230017582 + .long 328432041 + .long 3189567676 + .long 520721440 + .long 3230017585 + .long 2057225622 + .long 3189567268 + .long 1098159248 + .long 3230017587 + .long 3150727306 + .long 3189567348 + .long 1666052680 + .long 3230017589 + .long 3291380622 + .long 3189567307 + .long 2224421584 + .long 3230017591 + .long 3570771984 + .long 3189567798 + .long 2773285760 + .long 3230017593 + .long 2427604440 + .long 3189567698 + .long 3312664936 + .long 3230017595 + .long 3733848165 + .long 3189567211 + .long 3842578768 + .long 3230017597 + .long 2673912350 + .long 3189567904 + .long 68079584 + .long 3230017600 + .long 960995892 + .long 3189567616 + .long 579121512 + .long 3230017602 + .long 4150493479 + .long 3189567659 + .long 1080756744 + .long 3230017604 + .long 1054941272 + .long 3189567735 + .long 1573004704 + .long 3230017606 + .long 2574365292 + .long 3189568007 + .long 2055884768 + .long 3230017608 + .long 2507498673 + .long 3189567092 + .long 2529416224 + .long 3230017610 + .long 2082176323 + .long 3189567207 + .long 2993618320 + .long 3230017612 + .long 3719982601 + .long 3189568058 + .long 3448510256 + .long 3230017614 + .long 4104247904 + .long 3189567897 + .long 3894111152 + .long 3230017616 + .long 3735557011 + .long 3189567647 + .long 35472776 + .long 3230017619 + .long 2914260983 + .long 3189567862 + .long 462548736 + .long 3230017621 + .long 1334094042 + .long 3189567734 + .long 880390688 + .long 3230017623 + .long 1291097379 + .long 3189567171 + .long 1289017512 + .long 3230017625 + .long 1627119803 + .long 3189567853 + .long 1688448064 + .long 3230017627 + .long 3886873723 + .long 3189567117 + .long 2078701104 + .long 3230017629 + .long 627887757 + .long 3189567206 + .long 2459795360 + .long 3230017631 + .long 1722013861 + .long 3189567101 + .long 2831749488 + .long 3230017633 + .long 4163262354 + .long 3189567678 + .long 3194582104 + .long 3230017635 + .long 4170237688 + .long 3189567639 + .long 3548311752 + .long 3230017637 + .long 47563772 + .long 3189567637 + .long 3892956928 + .long 3230017639 + .long 2990136007 + .long 3189567231 + .long 4228536056 + .long 3230017641 + .long 4294532248 + .long 3189567995 + .long 260100240 + .long 3230017644 + .long 2060709623 + .long 3189567397 + .long 577602376 + .long 3230017646 + .long 1488525373 + .long 3189568044 + .long 886093456 + .long 3230017648 + .long 1657840200 + .long 3189567474 + .long 1185591680 + .long 3230017650 + .long 3155771782 + .long 3189567399 + .long 1476115208 + .long 3230017652 + .long 2195162329 + .long 3189567591 + .long 1757682144 + .long 3230017654 + .long 1292806663 + .long 3189567956 + .long 2030310544 + .long 3230017656 + .long 2151451208 + .long 3189567540 + .long 2294018392 + .long 3230017658 + .long 2224122735 + .long 3189567630 + .long 2548823632 + .long 3230017660 + .long 3554417607 + .long 3189567684 + .long 2794744152 + .long 3230017662 + .long 3831650627 + .long 3189567409 + .long 3031797776 + .long 3230017664 + .long 4024246224 + .long 3189567811 + .long 3260002296 + .long 3230017666 + .long 2530219738 + .long 3189567128 + .long 3479375416 + .long 3230017668 + .long 1618145996 + .long 3189568024 + .long 3689934832 + .long 3230017670 + .long 392379700 + .long 3189567378 + .long 3891698144 + .long 3230017672 + .long 55874694 + .long 3189567574 + .long 4084682928 + .long 3230017674 + .long 4294251475 + .long 3189567312 + .long 4268906688 + .long 3230017676 + .long 1899705040 + .long 3189567783 + .long 149419600 + .long 3230017679 + .long 357699389 + .long 3189567568 + .long 316173656 + .long 3230017681 + .long 3025711727 + .long 3189567790 + .long 474218920 + .long 3230017683 + .long 2921891821 + .long 3189568046 + .long 623572704 + .long 3230017685 + .long 1716968749 + .long 3189567453 + .long 764252248 + .long 3230017687 + .long 2393171526 + .long 3189567748 + .long 896274768 + .long 3230017689 + .long 1343317993 + .long 3189567172 + .long 1019657400 + .long 3230017691 + .long 1388235839 + .long 3189567661 + .long 1134417256 + .long 3230017693 + .long 2766147125 + .long 3189567706 + .long 1240571384 + .long 3230017695 + .long 2162068842 + .long 3189567499 + .long 1338136776 + .long 3230017697 + .long 4075455588 + .long 3189567932 + .long 1427130392 + .long 3230017699 + .long 1579647664 + .long 3189567555 + .long 1507569120 + .long 3230017701 + .long 3785749868 + .long 3189567715 + .long 1579469816 + .long 3230017703 + .long 2639950365 + .long 3189567469 + .long 1642849272 + .long 3230017705 + .long 3611501026 + .long 3189567698 + .long 1697724240 + .long 3230017707 + .long 15422953 + .long 3189568066 + .long 1744111424 + .long 3230017709 + .long 2642213241 + .long 3189568062 + .long 1782027472 + .long 3230017711 + .long 143606300 + .long 3189568058 + .long 1811488992 + .long 3230017713 + .long 501328690 + .long 3189567276 + .long 1832512520 + .long 3230017715 + .long 3258054578 + .long 3189567915 + .long 1845114576 + .long 3230017717 + .long 1297851139 + .long 3189568007 + .long 1849311616 + .long 3230017719 + .long 3589200000 + .long 3189567580 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 2846560486 + .long 3210737666 + .long 2729511872 + .long 3211784202 + .long 3956813460 + .long 3212307985 + .long 1796237193 + .long 3212828714 + .long 1562748889 + .long 3213092649 + .long 1602292343 + .long 3213352007 + .long 745814092 + .long 3213610865 + .long 2969306084 + .long 3213869224 + .long 3953060839 + .long 3214006263 + .long 1128703349 + .long 3214134948 + .long 1371067273 + .long 3214263386 + .long 131445019 + .long 3214391579 + .long 1427948820 + .long 3214519527 + .long 665817496 + .long 3214647232 + .long 1817459908 + .long 3214774694 + .long 242758400 + .long 3214901915 + .long 2082038134 + .long 3214981455 + .long 2300828032 + .long 3215044825 + .long 571795571 + .long 3215108076 + .long 3120479584 + .long 3215171207 + .long 3276640540 + .long 3215234220 + .long 2949178581 + .long 3215297115 + .long 4036279704 + .long 3215359892 + .long 4130528508 + .long 3215422552 + .long 813954767 + .long 3215485096 + .long 248046571 + .long 3215547523 + .long 4288926261 + .long 3215609833 + .long 1897492927 + .long 3215672029 + .long 3499237165 + .long 3215734109 + .long 2329611090 + .long 3215796075 + .long 203907094 + .long 3215857927 + .long 3222364838 + .long 3215919664 + .long 295408387 + .long 3215981289 + .long 899212401 + .long 3216012696 + .long 2606049022 + .long 3216043395 + .long 4003691233 + .long 3216074038 + .long 1675303236 + .long 3216104626 + .long 789189655 + .long 3216135158 + .long 2213928479 + .long 3216165634 + .long 2518405585 + .long 3216196055 + .long 2561783534 + .long 3216226421 + .long 3198568176 + .long 3216256732 + .long 983674944 + .long 3216286989 + .long 1057364031 + .long 3216317191 + .long 4260371496 + .long 3216347338 + .long 2838974660 + .long 3216377432 + .long 1919860988 + .long 3216407472 + .long 2330291020 + .long 3216437458 + .long 598130195 + .long 3216467391 + .long 1836782285 + .long 3216497270 + .long 2565351466 + .long 3216527096 + .long 3593575201 + .long 3216556869 + .long 1431920350 + .long 3216586590 + .long 1176515501 + .long 3216616258 + .long 3624279252 + .long 3216645873 + .long 977982819 + .long 3216675437 + .long 2616083454 + .long 3216704948 + .long 733015457 + .long 3216734408 + .long 403990373 + .long 3216763816 + .long 2405156675 + .long 3216793172 + .long 3213628385 + .long 3216822477 + .long 3597448029 + .long 3216851731 + .long 25680167 + .long 3216880935 + .long 1848308454 + .long 3216910087 + .long 1231492199 + .long 3216939189 + .long 3222364838 + .long 3216968240 + .long 4274224607 + .long 3216997241 + .long 836496059 + .long 3217026193 + .long 1119829323 + .long 3217043131 + .long 315251054 + .long 3217057557 + .long 518461891 + .long 3217071958 + .long 2094042713 + .long 3217086334 + .long 1109735857 + .long 3217100686 + .long 2221359788 + .long 3217115013 + .long 1492952593 + .long 3217129316 + .long 3576653728 + .long 3217143594 + .long 237880003 + .long 3217157849 + .long 420109003 + .long 3217172079 + .long 180120274 + .long 3217186285 + .long 4162843939 + .long 3217200466 + .long 4126536273 + .long 3217214624 + .long 417628115 + .long 3217228759 + .long 1970736719 + .long 3217242869 + .long 538873716 + .long 3217256956 + .long 758227830 + .long 3217271019 + .long 2968307242 + .long 3217285058 + .long 3211951040 + .long 3217299074 + .long 1825275166 + .long 3217313067 + .long 3437683677 + .long 3217327036 + .long 4086978021 + .long 3217340982 + .long 4104270002 + .long 3217354905 + .long 3819025464 + .long 3217368805 + .long 3559075183 + .long 3217382682 + .long 3650625670 + .long 3217396536 + .long 123302585 + .long 3217410368 + .long 1890030548 + .long 3217424176 + .long 682272600 + .long 3217437962 + .long 1114811729 + .long 3217451725 + .long 3505892050 + .long 3217465465 + .long 3877229085 + .long 3217479183 + .long 2543954549 + .long 3217492879 + .long 4114626469 + .long 3217506552 + .long 311370023 + .long 3217520204 + .long 34658569 + .long 3217533833 + .long 3593519732 + .long 3217547439 + .long 2705545195 + .long 3217561024 + .long 1971736889 + .long 3217574587 + .long 1696647441 + .long 3217588128 + .long 2183357019 + .long 3217601647 + .long 3733482817 + .long 3217615144 + .long 2352221150 + .long 3217628620 + .long 2633258676 + .long 3217642074 + .long 578912458 + .long 3217655507 + .long 780008323 + .long 3217668918 + .long 3530988084 + .long 3217682307 + .long 534951267 + .long 3217695676 + .long 673467853 + .long 3217709023 + .long 4236783385 + .long 3217722348 + .long 2923827788 + .long 3217735653 + .long 1317060595 + .long 3217748937 + .long 3997577740 + .long 3217762199 + .long 2660218276 + .long 3217775441 + .long 1883376699 + .long 3217788662 + .long 1949142230 + .long 3217801862 + .long 3138274530 + .long 3217815041 + .long 1435244737 + .long 3217828200 + .long 1413145637 + .long 3217841338 + .long 3348797986 + .long 3217854455 + .long 3222758658 + .long 3217867552 + .long 1309263324 + .long 3217880629 + .long 2176234471 + .long 3217893685 + .long 1800387473 + .long 3217906721 + .long 452140382 + .long 3217919737 + .long 2695621757 + .long 3217932732 + .long 208809263 + .long 3217945708 + .long 1848308454 + .long 3217958663 + .long 3584589359 + .long 3217971598 + .long 1386895968 + .long 3217984514 + .long 4108155659 + .long 3217997409 + .long 3420215606 + .long 3218010285 + .long 3878621277 + .long 3218023141 + .long 1447787319 + .long 3218035978 + .long 680874053 + .long 3218048795 + .long 1834892843 + .long 3218061592 + .long 870713292 + .long 3218074370 + .long 1168986141 + .long 3218083436 + .long 3245089583 + .long 3218089805 + .long 2494877761 + .long 3218096165 + .long 3338922950 + .long 3218102515 + .long 1607293197 + .long 3218108856 + .long 1719424943 + .long 3218115187 + .long 3799224547 + .long 3218121508 + .long 3675071677 + .long 3218127820 + .long 1469757259 + .long 3218134123 + .long 1600486820 + .long 3218140416 + .long 4188949205 + .long 3218146699 + .long 766352567 + .long 3218152974 + .long 43231408 + .long 3218159239 + .long 2139646042 + .long 3218165494 + .long 2880153102 + .long 3218171740 + .long 2383743325 + .long 3218177977 + .long 768877423 + .long 3218184205 + .long 2448456521 + .long 3218190423 + .long 3244923387 + .long 3218196632 + .long 3275167422 + .long 3218202832 + .long 2655560435 + .long 3218209023 + .long 1501959692 + .long 3218215205 + .long 4224678246 + .long 3218221377 + .long 2348618756 + .long 3218227541 + .long 283080250 + .long 3218233696 + .long 2436859197 + .long 3218239841 + .long 333350563 + .long 3218245978 + .long 2675321801 + .long 3218252105 + .long 985177381 + .long 3218258224 + .long 3964700035 + .long 3218264333 + .long 3135315249 + .long 3218270434 + .long 2902865164 + .long 3218276526 + .long 3377742213 + .long 3218282609 + .long 374891912 + .long 3218288684 + .long 2593684821 + .long 3218294749 + .long 1553148222 + .long 3218300806 + .long 1656739931 + .long 3218306854 + .long 3012481825 + .long 3218312893 + .long 1432962538 + .long 3218318924 + .long 1320242026 + .long 3218324946 + .long 2780952336 + .long 3218330959 + .long 1626300240 + .long 3218336964 + .long 2256971748 + .long 3218342960 + .long 483265518 + .long 3218348948 + .long 704964628 + .long 3218354927 + .long 3026437244 + .long 3218360897 + .long 3256639170 + .long 3218366859 + .long 1499050969 + .long 3218372813 + .long 2151680465 + .long 3218378758 + .long 1022163351 + .long 3218384695 + .long 2507634849 + .long 3218390623 + .long 2414862975 + .long 3218396543 + .long 845152874 + .long 3218402455 + .long 2194349235 + .long 3218408358 + .long 2267936813 + .long 3218414253 + .long 1165944702 + .long 3218420140 + .long 3282948707 + .long 3218426018 + .long 128204514 + .long 3218431889 + .long 390421100 + .long 3218437751 + .long 4167959282 + .long 3218443604 + .long 2968834018 + .long 3218449450 + .long 1185553177 + .long 3218455288 + .long 3210217930 + .long 3218461117 + .long 549623114 + .long 3218466939 + .long 1890030548 + .long 3218472752 + .long 3032400188 + .long 3218478557 + .long 4072261525 + .long 3218484354 + .long 3450874911 + .long 1070995813 + .long 2331021804 + .long 1070990032 + .long 1029453230 + .long 1070984259 + .long 3747176240 + .long 1070978493 + .long 1800682930 + .long 1070972736 + .long 3686719393 + .long 1070966986 + .long 722545241 + .long 1070961245 + .long 1405669883 + .long 1070955511 + .long 1349079372 + .long 1070949785 + .long 461103529 + .long 1070944067 + .long 2945413886 + .long 1070938356 + .long 121152472 + .long 1070932654 + .long 487700860 + .long 1070926959 + .long 3954874384 + .long 1070921271 + .long 1842920138 + .long 1070915592 + .long 2652318780 + .long 1070909920 + .long 1999011482 + .long 1070904256 + .long 4089234463 + .long 1070898599 + .long 244680560 + .long 1070892951 + .long 3262235675 + .long 1070887309 + .long 169336595 + .long 1070881676 + .long 3763576649 + .long 1070876049 + .long 1073096258 + .long 1070870431 + .long 601221319 + .long 1070864820 + .long 2261690268 + .long 1070859216 + .long 1673619518 + .long 1070853620 + .long 3046403514 + .long 1070848031 + .long 1999843716 + .long 1070842450 + .long 2744015967 + .long 1070836876 + .long 899399508 + .long 1070831310 + .long 676744370 + .long 1070825751 + .long 1992167703 + .long 1070820199 + .long 467152011 + .long 1070814655 + .long 313445281 + .long 1070809118 + .long 1448157352 + .long 1070803588 + .long 3788725476 + .long 1070798065 + .long 2957945300 + .long 1070792550 + .long 3168871046 + .long 1070787042 + .long 44944622 + .long 1070781542 + .long 2094830420 + .long 1070776048 + .long 647642559 + .long 1070770562 + .long 4212681596 + .long 1070765082 + .long 4119694493 + .long 1070759610 + .long 288676754 + .long 1070754146 + .long 1229870791 + .long 1070748688 + .long 2568927817 + .long 1070743237 + .long 4226775419 + .long 1070737793 + .long 1829681364 + .long 1070732357 + .long 3889121191 + .long 1070726927 + .long 1737005556 + .long 1070721505 + .long 3885417029 + .long 1070716089 + .long 1666870165 + .long 1070710681 + .long 3594048319 + .long 1070705279 + .long 1000063738 + .long 1070699885 + .long 2398194399 + .long 1070694497 + .long 3417111411 + .long 1070689116 + .long 3980746691 + .long 1070683742 + .long 4013324163 + .long 1070678375 + .long 3439358267 + .long 1070673015 + .long 2183652476 + .long 1070667662 + .long 171297820 + .long 1070662316 + .long 1622638721 + .long 1070656976 + .long 2168369647 + .long 1070651643 + .long 1734435555 + .long 1070646317 + .long 247063161 + .long 1070640998 + .long 1927726804 + .long 1070635685 + .long 2408245143 + .long 1070630379 + .long 1615681634 + .long 1070625080 + .long 3772343130 + .long 1070619787 + .long 215909304 + .long 1070614502 + .long 3759169634 + .long 1070609222 + .long 1445381777 + .long 1070603950 + .long 1792910451 + .long 1070598684 + .long 870975437 + .long 1070590754 + .long 3194096222 + .long 1070580248 + .long 1823716217 + .long 1070569756 + .long 913800688 + .long 1070559277 + .long 323875369 + .long 1070548811 + .long 4208958430 + .long 1070538357 + .long 3839688678 + .long 1070527917 + .long 3372126730 + .long 1070517490 + .long 2667883253 + .long 1070507076 + .long 1589083690 + .long 1070496675 + .long 4293333010 + .long 1070486286 + .long 2053843986 + .long 1070475911 + .long 3324205749 + .long 1070465548 + .long 3673610217 + .long 1070455198 + .long 2966718784 + .long 1070444861 + .long 1068692560 + .long 1070434537 + .long 2140157205 + .long 1070424225 + .long 1752298597 + .long 1070413926 + .long 4066729595 + .long 1070403639 + .long 360651144 + .long 1070393366 + .long 3386588242 + .long 1070383104 + .long 127747308 + .long 1070372856 + .long 3337621361 + .long 1070362619 + .long 380113 + .long 1070352396 + .long 2870475188 + .long 1070342184 + .long 3227997535 + .long 1070331985 + .long 943446189 + .long 1070321799 + .long 182758681 + .long 1070311625 + .long 817374162 + .long 1070301463 + .long 2719198427 + .long 1070291313 + .long 1465634365 + .long 1070281176 + .long 1224481606 + .long 1070271051 + .long 1869032404 + .long 1070260938 + .long 3273036717 + .long 1070250837 + .long 1015732707 + .long 1070240749 + .long 3561713742 + .long 1070230672 + .long 2196155141 + .long 1070220608 + .long 1089583089 + .long 1070210556 + .long 118003300 + .long 1070200516 + .long 3452833475 + .long 1070190487 + .long 2381031992 + .long 1070180471 + .long 1074899573 + .long 1070170467 + .long 3707175295 + .long 1070160474 + .long 1566132617 + .long 1070150494 + .long 3120348377 + .long 1070140525 + .long 3953929663 + .long 1070130568 + .long 3946380940 + .long 1070120623 + .long 2977634725 + .long 1070110690 + .long 928049556 + .long 1070100769 + .long 1973375279 + .long 1070090859 + .long 1699849154 + .long 1070080961 + .long 4284063055 + .long 1070071074 + .long 1018125008 + .long 1070061200 + .long 374428300 + .long 1070051337 + .long 2235845747 + .long 1070041485 + .long 2190695046 + .long 1070031645 + .long 122671437 + .long 1070021817 + .long 210845780 + .long 1070012000 + .long 2339728060 + .long 1070002194 + .long 2099265479 + .long 1069992400 + .long 3669742467 + .long 1069982617 + .long 2641909617 + .long 1069972846 + .long 3196851002 + .long 1069963086 + .long 926113142 + .long 1069953338 + .long 11572342 + .long 1069943601 + .long 340530969 + .long 1069933875 + .long 1800682930 + .long 1069924160 + .long 4280111857 + .long 1069914456 + .long 3372322013 + .long 1069904764 + .long 3261138386 + .long 1069895083 + .long 3835803021 + .long 1069885413 + .long 690973253 + .long 1069875755 + .long 2306589128 + .long 1069866107 + .long 4278067876 + .long 1069856470 + .long 2201204065 + .long 1069846845 + .long 262102455 + .long 1069837231 + .long 2647241692 + .long 1069827627 + .long 658570708 + .long 1069818035 + .long 2778278092 + .long 1069808453 + .long 309052031 + .long 1069798883 + .long 1733817001 + .long 1069789323 + .long 2650961017 + .long 1069779774 + .long 2954203158 + .long 1069770236 + .long 2537624622 + .long 1069760709 + .long 1295667077 + .long 1069751193 + .long 3418098326 + .long 1069741687 + .long 210141498 + .long 1069732193 + .long 157244505 + .long 1069722709 + .long 3155274661 + .long 1069713235 + .long 510517079 + .long 1069703773 + .long 709476866 + .long 1069694321 + .long 3649073763 + .long 1069684879 + .long 636640577 + .long 1069675449 + .long 159725394 + .long 1069666029 + .long 2116286250 + .long 1069656619 + .long 2109656884 + .long 1069647220 + .long 38479793 + .long 1069637832 + .long 96704707 + .long 1069628454 + .long 2183652476 + .long 1069619086 + .long 1904013563 + .long 1069609729 + .long 3452748429 + .long 1069600382 + .long 2435216853 + .long 1069591046 + .long 3047045639 + .long 1069581720 + .long 894257944 + .long 1069572405 + .long 173141005 + .long 1069563100 + .long 785342784 + .long 1069553805 + .long 970708326 + .long 1069541521 + .long 2645916898 + .long 1069522972 + .long 2106590683 + .long 1069504444 + .long 3453588195 + .long 1069485936 + .long 2198475040 + .long 1069467449 + .long 2443390270 + .long 1069448982 + .long 3996141691 + .long 1069430535 + .long 2370203065 + .long 1069412109 + .long 1669613218 + .long 1069393703 + .long 1704071394 + .long 1069375317 + .long 2283901796 + .long 1069356951 + .long 3220050856 + .long 1069338605 + .long 29117219 + .long 1069320280 + .long 1113218225 + .long 1069301974 + .long 1990183441 + .long 1069283688 + .long 2473421172 + .long 1069265422 + .long 2376948508 + .long 1069247176 + .long 1515388672 + .long 1069228950 + .long 3998935692 + .long 1069210743 + .long 1053482595 + .long 1069192557 + .long 1085389880 + .long 1069174390 + .long 3911679148 + .long 1069156242 + .long 760030536 + .long 1069138115 + .long 38583924 + .long 1069120007 + .long 1566132617 + .long 1069101918 + .long 867088104 + .long 1069083849 + .long 2056379433 + .long 1069065799 + .long 659581512 + .long 1069047769 + .long 792781808 + .long 1069029758 + .long 2277675977 + .long 1069011766 + .long 641565395 + .long 1068993794 + .long 2256601 + .long 1068975841 + .long 183156961 + .long 1068957907 + .long 1008239542 + .long 1068939992 + .long 2302040698 + .long 1068922096 + .long 3889657667 + .long 1068904219 + .long 1301778891 + .long 1068886362 + .long 2954550821 + .long 1068868523 + .long 84804484 + .long 1068850704 + .long 1109791498 + .long 1068832903 + .long 1562410668 + .long 1068815121 + .long 1271074840 + .long 1068797358 + .long 64741293 + .long 1068779614 + .long 2067876735 + .long 1068761888 + .long 2815553124 + .long 1068744181 + .long 2138347284 + .long 1068726493 + .long 4162338635 + .long 1068708823 + .long 129237761 + .long 1068691173 + .long 2756122533 + .long 1068673540 + .long 3285762921 + .long 1068655926 + .long 1551389854 + .long 1068638331 + .long 1681725707 + .long 1068620754 + .long 3511047527 + .long 1068603195 + .long 2579184841 + .long 1068585655 + .long 3016419377 + .long 1068568133 + .long 363613719 + .long 1068550630 + .long 3047045639 + .long 1068533144 + .long 2313634884 + .long 1068515677 + .long 296456961 + .long 1068497513 + .long 1367328035 + .long 1068462651 + .long 3221665916 + .long 1068427825 + .long 1242258971 + .long 1068393036 + .long 3697798734 + .long 1068358282 + .long 1678104687 + .long 1068323565 + .long 3453858508 + .long 1068288883 + .long 116861598 + .long 1068254238 + .long 4234736672 + .long 1068219627 + .long 2606283437 + .long 1068185053 + .long 3506114812 + .long 1068150514 + .long 2324914545 + .long 1068116011 + .long 3044269692 + .long 1068081543 + .long 1056797460 + .long 1068047111 + .long 346010435 + .long 1068012714 + .long 601410756 + .long 1067978352 + .long 1513453498 + .long 1067944025 + .long 2773542775 + .long 1067909733 + .long 4074027864 + .long 1067875476 + .long 813232056 + .long 1067841255 + .long 1275317999 + .long 1067807068 + .long 860480111 + .long 1067772916 + .long 3559777258 + .long 1067738798 + .long 480292498 + .long 1067704716 + .long 4204867691 + .long 1067670667 + .long 1547459502 + .long 1067636654 + .long 797775935 + .long 1067602675 + .long 1656501562 + .long 1067568730 + .long 3825228429 + .long 1067534819 + .long 2711485098 + .long 1067500943 + .long 2313634884 + .long 1067467101 + .long 376973398 + .long 1067416219 + .long 672386641 + .long 1067348671 + .long 630691842 + .long 1067281191 + .long 3960777458 + .long 1067213778 + .long 1488394470 + .long 1067146434 + .long 1220920383 + .long 1067079157 + .long 2577548405 + .long 1067011947 + .long 684247743 + .long 1066944805 + .long 3553625811 + .long 1066877729 + .long 2020150230 + .long 1066810721 + .long 4099880293 + .long 1066743779 + .long 630721729 + .long 1066676905 + .long 3927125538 + .long 1066610096 + .long 535440936 + .long 1066543355 + .long 2773516144 + .long 1066476679 + .long 1486051399 + .long 1066410070 + .long 808661260 + .long 1066285262 + .long 2227658502 + .long 1066152307 + .long 1813447778 + .long 1066019484 + .long 2743640746 + .long 1065886792 + .long 3904192454 + .long 1065754231 + .long 4184355568 + .long 1065621801 + .long 2476667369 + .long 1065489502 + .long 1971904113 + .long 1065357333 + .long 3138267131 + .long 1065097372 + .long 341338964 + .long 1064833554 + .long 1954052322 + .long 1064569994 + .long 1498975029 + .long 1064306693 + .long 2190050752 + .long 1063782660 + .long 1440057502 + .long 1063257089 + .long 1432705161 + .long 1062208000 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040187392 + .long 0 + .long 1040187392 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1071120384 + .long 0 + .long 1071120384 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070858240 + .long 0 + .long 1070858240 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070694400 + .long 0 + .long 1070694400 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070563328 + .long 0 + .long 1070563328 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966784 + .long 0 + .long 4294966784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 55574528 + .long 0 + .long 55574528 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_datanh_data_internal,@object + .size __svml_datanh_data_internal,14784 + .align 16 + +.FLT_26: + .long 0x00000000,0x43380000,0x00000000,0x43380000 + .type .FLT_26,@object + .size .FLT_26,16 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core-sse.S new file mode 100644 index 0000000000..a39cbb7595 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized atanh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_atanh _ZGVdN4v_atanh_sse_wrapper +#include "../svml_d_atanh4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core.c new file mode 100644 index 0000000000..e8ef343ae7 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized atanh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_atanh +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_atanh, __GI__ZGVdN4v_atanh, __redirect__ZGVdN4v_atanh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core_avx2.S new file mode 100644 index 0000000000..6dc72f269d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core_avx2.S @@ -0,0 +1,5080 @@ +/* Function atanh vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute atanh(x) as 0.5 * log((1 + x)/(1 - x)) + * + * Special cases: + * + * atanh(0) = 0 + * atanh(+1) = +INF + * atanh(-1) = -INF + * atanh(x) = NaN if |x| > 1, or if x is a NaN or INF + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_atanh_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea -4218816+__svml_datanh_data_internal(%rip), %rax + vmovupd 12928+__svml_datanh_data_internal(%rip), %ymm7 + vmovups %ymm11, 192(%rsp) + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +/* Load the constant 1 and a sign mask */ + vmovupd 12864+__svml_datanh_data_internal(%rip), %ymm11 + vmovups %ymm12, 224(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm9, 32(%rsp) + vmovups %ymm8, 96(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm10, 160(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovapd %ymm0, %ymm12 + +/* Strip off the sign, so treat X as positive until right at the end */ + vandpd %ymm7, %ymm12, %ymm1 + vsubpd %ymm1, %ymm11, %ymm6 + +/* + * Check whether |X| < 1, in which case we use the main function. + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN < 1). + */ + vcmpnlt_uqpd %ymm11, %ymm1, %ymm5 + vcmplt_oqpd 14592+__svml_datanh_data_internal(%rip), %ymm1, %ymm10 + vsubpd %ymm6, %ymm11, %ymm2 + +/* + * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, + * the upper part UHi being <= 41 bits long. Then we have + * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). + */ + vaddpd %ymm1, %ymm1, %ymm0 + vcvtpd2ps %ymm6, %xmm3 + vsubpd %ymm1, %ymm2, %ymm15 + vrcpps %xmm3, %xmm13 + vmovapd %ymm12, %ymm4 + vfmadd213pd %ymm12, %ymm12, %ymm4 + vcvtps2pd %xmm13, %ymm14 + +/* Record the sign for eventual reincorporation. */ + vandpd 14144+__svml_datanh_data_internal(%rip), %ymm12, %ymm9 + +/* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ + vorpd %ymm9, %ymm4, %ymm8 + vandpd 14272+__svml_datanh_data_internal(%rip), %ymm14, %ymm4 + +/* No need to split dU when FMA is available */ + vfnmadd213pd %ymm11, %ymm4, %ymm6 + vfnmadd231pd %ymm4, %ymm15, %ymm6 + +/* 2^ (-10-exp(X) ) */ + vmovupd 13504+__svml_datanh_data_internal(%rip), %ymm15 + +/* + * Compute D = E + E^2 + E^3 + E^4 + E^5 + * = E + (E + E^2) (E + E * E^2) + * Only saves when FMA is available + */ + vmovapd %ymm11, %ymm1 + vmovapd %ymm6, %ymm3 + vfmadd231pd %ymm6, %ymm6, %ymm1 + vfmadd213pd %ymm6, %ymm6, %ymm3 + vfmadd213pd %ymm11, %ymm1, %ymm3 + vmovmskpd %ymm5, %edx + +/* + * Split V as well into upper 41 bits and lower part, so that we can get + * a preliminary quotient estimate without rounding error. + */ + vandpd 14464+__svml_datanh_data_internal(%rip), %ymm0, %ymm5 + vsubpd %ymm5, %ymm0, %ymm2 + +/* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ + vmulpd %ymm5, %ymm4, %ymm14 + vmulpd %ymm3, %ymm6, %ymm0 + vmulpd %ymm2, %ymm4, %ymm13 + +/* + * Compute R * (VHi + VLo) * (1 + E + E^2 + E^3 + E^4 + E^5) + * = R * (VHi + VLo) * (1 + D) + * = QHi + (QHi * D + QLo + QLo * D) + */ + vmulpd %ymm0, %ymm14, %ymm6 + vfmadd213pd %ymm13, %ymm13, %ymm0 + vaddpd %ymm0, %ymm6, %ymm5 + +/* + * Now finally accumulate the high and low parts of the + * argument to log1p, H + L, with a final compensated summation. + */ + vaddpd %ymm5, %ymm14, %ymm4 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * later incorporating L into the reduced argument. + * compute 1+x as high, low parts + */ + vmaxpd %ymm4, %ymm11, %ymm2 + vminpd %ymm4, %ymm11, %ymm1 + vandpd %ymm7, %ymm4, %ymm7 + vcmplt_oqpd 12992+__svml_datanh_data_internal(%rip), %ymm7, %ymm0 + vaddpd %ymm1, %ymm2, %ymm5 + vorpd 13056+__svml_datanh_data_internal(%rip), %ymm0, %ymm4 + vandpd %ymm4, %ymm5, %ymm5 + +/* preserve mantissa, set input exponent to 2^(-10) */ + vandpd 12544+__svml_datanh_data_internal(%rip), %ymm5, %ymm6 + vorpd 12608+__svml_datanh_data_internal(%rip), %ymm6, %ymm7 + +/* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm7, %xmm13 + vsubpd %ymm5, %ymm2, %ymm3 + +/* exponent bits */ + vpsrlq $20, %ymm5, %ymm2 + vrcpps %xmm13, %xmm14 + vaddpd %ymm3, %ymm1, %ymm4 + vcvtps2pd %xmm14, %ymm3 + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm3, %ymm3 + +/* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm3, %ymm13 + +/* exponent of X needed to scale Xl */ + vandps 13440+__svml_datanh_data_internal(%rip), %ymm5, %ymm0 + vpsubq %ymm0, %ymm15, %ymm6 + +/* Finally, halve the result and reincorporate the sign */ + vxorpd 13952+__svml_datanh_data_internal(%rip), %ymm9, %ymm9 + vmovd %xmm13, %ecx + vextractf128 $1, %ymm13, %xmm0 + movslq %ecx, %rcx + vpextrd $2, %xmm13, %r8d + movslq %r8d, %r8 + vmovd %xmm0, %r9d + vmovsd (%rax,%rcx), %xmm14 + vmovhpd (%rax,%r8), %xmm14, %xmm15 + +/* exponent*log(2.0) */ + vmovupd 13248+__svml_datanh_data_internal(%rip), %ymm14 + movslq %r9d, %r9 + vpextrd $2, %xmm0, %r10d + movslq %r10d, %r10 + vextractf128 $1, %ymm2, %xmm1 + vshufps $221, %xmm1, %xmm2, %xmm7 + +/* scale DblRcp */ + vmulpd %ymm6, %ymm3, %ymm2 + vmovsd (%rax,%r9), %xmm6 + +/* biased exponent in DP format */ + vcvtdq2pd %xmm7, %ymm1 + vmovhpd (%rax,%r10), %xmm6, %xmm7 + vcmplt_oqpd %ymm3, %ymm14, %ymm3 + +/* argument reduction */ + vfmsub213pd %ymm11, %ymm2, %ymm5 + vmulpd %ymm2, %ymm4, %ymm11 + vmovupd 12480+__svml_datanh_data_internal(%rip), %ymm2 + vaddpd %ymm11, %ymm5, %ymm5 + vandpd 13312+__svml_datanh_data_internal(%rip), %ymm3, %ymm3 + vorpd 13376+__svml_datanh_data_internal(%rip), %ymm3, %ymm6 + vsubpd %ymm6, %ymm1, %ymm1 + vfmadd213pd 12512+__svml_datanh_data_internal(%rip), %ymm5, %ymm2 + vmulpd %ymm5, %ymm5, %ymm4 + vmulpd 13568+__svml_datanh_data_internal(%rip), %ymm1, %ymm3 + +/* polynomial */ + vmovupd 12416+__svml_datanh_data_internal(%rip), %ymm1 + vfmadd213pd 12448+__svml_datanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213pd %ymm2, %ymm4, %ymm1 + +/* reconstruction */ + vfmadd213pd %ymm5, %ymm4, %ymm1 + vinsertf128 $1, %xmm7, %ymm15, %ymm0 + vaddpd %ymm1, %ymm0, %ymm0 + vaddpd %ymm0, %ymm3, %ymm6 + vmulpd %ymm6, %ymm9, %ymm0 + vblendvpd %ymm10, %ymm8, %ymm0, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 96(%rsp), %ymm8 + cfi_restore(91) + vmovups 32(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm12, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_datanh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_atanh_avx2) + + .align 16,0x90 + +__svml_datanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_datanh_cout_rare_internal,@function + .size __svml_datanh_cout_rare_internal,.-__svml_datanh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_datanh_data_internal: + .long 3715793664 + .long 3230016299 + .long 4013928704 + .long 3189565726 + .long 3699038248 + .long 3230016303 + .long 4255595370 + .long 3189567439 + .long 3648859040 + .long 3230016307 + .long 1732833791 + .long 3189567296 + .long 3565385952 + .long 3230016311 + .long 2485752410 + .long 3189567274 + .long 3448748152 + .long 3230016315 + .long 3514744523 + .long 3189567800 + .long 3299074072 + .long 3230016319 + .long 3686511262 + .long 3189567474 + .long 3116491376 + .long 3230016323 + .long 716063611 + .long 3189567908 + .long 2901127016 + .long 3230016327 + .long 354437295 + .long 3189567291 + .long 2653107184 + .long 3230016331 + .long 3777462366 + .long 3189567264 + .long 2372557360 + .long 3230016335 + .long 3590663412 + .long 3189567498 + .long 2059602304 + .long 3230016339 + .long 1680795031 + .long 3189567428 + .long 1714366048 + .long 3230016343 + .long 2010344982 + .long 3189567986 + .long 1336971936 + .long 3230016347 + .long 166254822 + .long 3189567184 + .long 927542568 + .long 3230016351 + .long 59552610 + .long 3189567972 + .long 486199888 + .long 3230016355 + .long 2268824919 + .long 3189567664 + .long 13065112 + .long 3230016359 + .long 3005381643 + .long 3189567835 + .long 3803226080 + .long 3230016362 + .long 4018973165 + .long 3189567825 + .long 3266868056 + .long 3230016366 + .long 3693925101 + .long 3189567457 + .long 2699077504 + .long 3230016370 + .long 4005905743 + .long 3189567697 + .long 2099972936 + .long 3230016374 + .long 3580935118 + .long 3189567215 + .long 1469672176 + .long 3230016378 + .long 2928784295 + .long 3189567129 + .long 808292392 + .long 3230016382 + .long 674298833 + .long 3189567553 + .long 115950104 + .long 3230016386 + .long 2555938320 + .long 3189567208 + .long 3687728456 + .long 3230016389 + .long 532458218 + .long 3189567130 + .long 2933808064 + .long 3230016393 + .long 3888913110 + .long 3189567192 + .long 2149270784 + .long 3230016397 + .long 2365955494 + .long 3189567756 + .long 1334230552 + .long 3230016401 + .long 3325722981 + .long 3189567206 + .long 488800640 + .long 3230016405 + .long 1496133617 + .long 3189567683 + .long 3908061016 + .long 3230016408 + .long 1824836379 + .long 3189567490 + .long 3002189112 + .long 3230016412 + .long 1222174320 + .long 3189567837 + .long 2066263648 + .long 3230016416 + .long 2472769660 + .long 3189567285 + .long 1100395408 + .long 3230016420 + .long 447932460 + .long 3189567455 + .long 104694584 + .long 3230016424 + .long 1006807684 + .long 3189567460 + .long 3374238048 + .long 3230016427 + .long 4121834935 + .long 3189567556 + .long 2319200184 + .long 3230016431 + .long 3019906587 + .long 3189567664 + .long 1234656664 + .long 3230016435 + .long 3882744783 + .long 3189567930 + .long 120715280 + .long 3230016439 + .long 1927363170 + .long 3189567242 + .long 3272450504 + .long 3230016442 + .long 8203115 + .long 3189567876 + .long 2100034368 + .long 3230016446 + .long 1260625560 + .long 3189567855 + .long 898540192 + .long 3230016450 + .long 1791679111 + .long 3189567639 + .long 3963040720 + .long 3230016453 + .long 831133439 + .long 3189567590 + .long 2703706240 + .long 3230016457 + .long 2803140504 + .long 3189567482 + .long 1415608352 + .long 3230016461 + .long 2955844462 + .long 3189568058 + .long 98850816 + .long 3230016465 + .long 4017967070 + .long 3189567455 + .long 3048504096 + .long 3230016468 + .long 3974385451 + .long 3189567871 + .long 1674736240 + .long 3230016472 + .long 2424114556 + .long 3189567887 + .long 272616624 + .long 3230016476 + .long 4261883032 + .long 3189567073 + .long 3137214056 + .long 3230016479 + .long 3716750895 + .long 3189567522 + .long 1678694944 + .long 3230016483 + .long 498025304 + .long 3189567180 + .long 192127016 + .long 3230016487 + .long 1011852160 + .long 3189567511 + .long 2972577480 + .long 3230016490 + .long 558940916 + .long 3189567850 + .long 1430211120 + .long 3230016494 + .long 2550865739 + .long 3189567935 + .long 4155061376 + .long 3230016497 + .long 1930847170 + .long 3189567371 + .long 2557291968 + .long 3230016501 + .long 1716354804 + .long 3189567130 + .long 931967984 + .long 3230016505 + .long 2729403392 + .long 3189567981 + .long 3574154016 + .long 3230016508 + .long 1067280599 + .long 3189567890 + .long 1894012232 + .long 3230016512 + .long 2094260282 + .long 3189567604 + .long 186606176 + .long 3230016516 + .long 3897933165 + .long 3189568046 + .long 2746998904 + .long 3230016519 + .long 1935720459 + .long 3189567701 + .long 985351064 + .long 3230016523 + .long 2170344821 + .long 3189567164 + .long 3491691984 + .long 3230016526 + .long 4220979537 + .long 3189567547 + .long 1676181328 + .long 3230016530 + .long 1953924393 + .long 3189567854 + .long 4128847448 + .long 3230016533 + .long 1689829067 + .long 3189567468 + .long 2259849008 + .long 3230016537 + .long 2367753130 + .long 3189567619 + .long 364246088 + .long 3230016541 + .long 2263309073 + .long 3189567722 + .long 2737098280 + .long 3230016544 + .long 2366756869 + .long 3189567856 + .long 788562816 + .long 3230016548 + .long 2294653975 + .long 3189567145 + .long 3108665616 + .long 3230016551 + .long 1786494117 + .long 3189567254 + .long 1107562960 + .long 3230016555 + .long 3655887416 + .long 3189567689 + .long 3375279848 + .long 3230016558 + .long 1178948625 + .long 3189567241 + .long 1321971608 + .long 3230016562 + .long 1620080441 + .long 3189567466 + .long 3537662304 + .long 3230016565 + .long 154455618 + .long 3189567981 + .long 1432506360 + .long 3230016569 + .long 3128192125 + .long 3189567889 + .long 3596526920 + .long 3230016572 + .long 2026842750 + .long 3189567212 + .long 1439877480 + .long 3230016576 + .long 1384431897 + .long 3189567284 + .long 3552580280 + .long 3230016579 + .long 1999983129 + .long 3189568079 + .long 1344787944 + .long 3230016583 + .long 4035436820 + .long 3189567579 + .long 3406521808 + .long 3230016586 + .long 77799817 + .long 3189567285 + .long 1147933592 + .long 3230016590 + .long 1261060207 + .long 3189567477 + .long 3159043768 + .long 3230016593 + .long 2102717775 + .long 3189567605 + .long 850003184 + .long 3230016597 + .long 161472469 + .long 3189567688 + .long 2810831440 + .long 3230016600 + .long 1937336881 + .long 3189567665 + .long 451678520 + .long 3230016604 + .long 2268353549 + .long 3189567773 + .long 2362563168 + .long 3230016607 + .long 1785871595 + .long 3189567889 + .long 4248601816 + .long 3230016610 + .long 2434669991 + .long 3189567898 + .long 1814910472 + .long 3230016614 + .long 2666999375 + .long 3189568058 + .long 3651506624 + .long 3230016617 + .long 1033139811 + .long 3189567312 + .long 1168538136 + .long 3230016621 + .long 4004618418 + .long 3189567740 + .long 2956021672 + .long 3230016624 + .long 3799928764 + .long 3189567751 + .long 424104288 + .long 3230016628 + .long 3650233137 + .long 3189567549 + .long 2162801816 + .long 3230016631 + .long 437313833 + .long 3189567438 + .long 3877227800 + .long 3230016634 + .long 2138293494 + .long 3189567140 + .long 1272495376 + .long 3230016638 + .long 2891370752 + .long 3189567168 + .long 2938619176 + .long 3230016641 + .long 1704142730 + .long 3189567114 + .long 285744240 + .long 3230016645 + .long 500817607 + .long 3189568035 + .long 1903884424 + .long 3230016648 + .long 3102571944 + .long 3189567668 + .long 3498151272 + .long 3230016651 + .long 2374193154 + .long 3189567933 + .long 773655960 + .long 3230016655 + .long 2898331636 + .long 3189568089 + .long 2320411168 + .long 3230016658 + .long 1983295500 + .long 3189567113 + .long 3843527280 + .long 3230016661 + .long 2132853542 + .long 3189567093 + .long 1048114320 + .long 3230016665 + .long 3551155364 + .long 3189567407 + .long 2524183824 + .long 3230016668 + .long 2564000663 + .long 3189567090 + .long 3976845048 + .long 3230016671 + .long 361581803 + .long 3189567196 + .long 1111206880 + .long 3230016675 + .long 696765230 + .long 3189568040 + .long 2517279744 + .long 3230016678 + .long 941542475 + .long 3189567463 + .long 3900171776 + .long 3230016681 + .long 2377895552 + .long 3189567282 + .long 964990760 + .long 3230016685 + .long 1173605489 + .long 3189567454 + .long 2301746008 + .long 3230016688 + .long 3096720313 + .long 3189567400 + .long 3615544576 + .long 3230016691 + .long 1942008121 + .long 3189567335 + .long 611493160 + .long 3230016695 + .long 3375481119 + .long 3189567537 + .long 1879599992 + .long 3230016698 + .long 4103239143 + .long 3189567624 + .long 3124971056 + .long 3230016701 + .long 3773474925 + .long 3189567869 + .long 52711992 + .long 3230016705 + .long 2465315445 + .long 3189567444 + .long 1252829960 + .long 3230016708 + .long 1041581158 + .long 3189567781 + .long 2430429904 + .long 3230016711 + .long 166620501 + .long 3189567739 + .long 3585583704 + .long 3230016714 + .long 2379237630 + .long 3189567984 + .long 423395616 + .long 3230016718 + .long 134834559 + .long 3189567178 + .long 1533871416 + .long 3230016721 + .long 1449318760 + .long 3189567373 + .long 2622114680 + .long 3230016724 + .long 3042372984 + .long 3189567127 + .long 3688195920 + .long 3230016727 + .long 1265290101 + .long 3189567921 + .long 437218048 + .long 3230016731 + .long 2248549362 + .long 3189567262 + .long 1459185496 + .long 3230016734 + .long 1293250365 + .long 3189567151 + .long 2459200496 + .long 3230016737 + .long 313786605 + .long 3189567180 + .long 3437332240 + .long 3230016740 + .long 3289151823 + .long 3189567872 + .long 98682312 + .long 3230016744 + .long 2693758821 + .long 3189567877 + .long 1033253848 + .long 3230016747 + .long 4237443192 + .long 3189567301 + .long 1946147760 + .long 3230016750 + .long 4099404586 + .long 3189567972 + .long 2837431968 + .long 3230016753 + .long 343640666 + .long 3189567552 + .long 3707174040 + .long 3230016756 + .long 4238401458 + .long 3189567983 + .long 260473960 + .long 3230016760 + .long 21423548 + .long 3189567559 + .long 1087333264 + .long 3230016763 + .long 3515278593 + .long 3189567309 + .long 1892851296 + .long 3230016766 + .long 629106375 + .long 3189567166 + .long 2677094384 + .long 3230016769 + .long 2048670044 + .long 3189567227 + .long 3440128544 + .long 3230016772 + .long 3739217292 + .long 3189568009 + .long 4182019504 + .long 3230016775 + .long 3662039444 + .long 3189567618 + .long 607865368 + .long 3230016779 + .long 1766486991 + .long 3189567112 + .long 1307665824 + .long 3230016782 + .long 512689457 + .long 3189567670 + .long 1986518392 + .long 3230016785 + .long 1704577378 + .long 3189567760 + .long 2644487576 + .long 3230016788 + .long 4001935135 + .long 3189567473 + .long 3281637576 + .long 3230016791 + .long 1184452342 + .long 3189567735 + .long 3898032312 + .long 3230016794 + .long 2714793956 + .long 3189567464 + .long 198768096 + .long 3230016798 + .long 3657654418 + .long 3189567905 + .long 773842856 + .long 3230016801 + .long 2809688013 + .long 3189567736 + .long 1328352328 + .long 3230016804 + .long 390727591 + .long 3189567393 + .long 1862359256 + .long 3230016807 + .long 1135237925 + .long 3189567248 + .long 2375926096 + .long 3230016810 + .long 1377572509 + .long 3189567837 + .long 2869115032 + .long 3230016813 + .long 3148383775 + .long 3189568032 + .long 3341987960 + .long 3230016816 + .long 3809536738 + .long 3189567313 + .long 3794606472 + .long 3230016819 + .long 4243445934 + .long 3189568034 + .long 4227031920 + .long 3230016822 + .long 1302642088 + .long 3189567451 + .long 344358048 + .long 3230016826 + .long 3239125361 + .long 3189567151 + .long 736580224 + .long 3230016829 + .long 3753161736 + .long 3189567129 + .long 1108791648 + .long 3230016832 + .long 624357483 + .long 3189568045 + .long 1461052568 + .long 3230016835 + .long 3153257064 + .long 3189567338 + .long 1793422920 + .long 3230016838 + .long 2705820149 + .long 3189567635 + .long 2105962400 + .long 3230016841 + .long 911564860 + .long 3189567737 + .long 2398730424 + .long 3230016844 + .long 1086958332 + .long 3189567948 + .long 2671786152 + .long 3230016847 + .long 1598984535 + .long 3189567210 + .long 2925188456 + .long 3230016850 + .long 4113385879 + .long 3189567401 + .long 3158995968 + .long 3230016853 + .long 2426812671 + .long 3189567396 + .long 3373267048 + .long 3230016856 + .long 3480845679 + .long 3189567359 + .long 3568059792 + .long 3230016859 + .long 3306230729 + .long 3189567924 + .long 3743432056 + .long 3230016862 + .long 3853821277 + .long 3189567317 + .long 3899441408 + .long 3230016865 + .long 2049309148 + .long 3189567699 + .long 4036145192 + .long 3230016868 + .long 2667321817 + .long 3189567166 + .long 4153600472 + .long 3230016871 + .long 3540670389 + .long 3189567114 + .long 4251864072 + .long 3230016874 + .long 404207883 + .long 3189567310 + .long 36025272 + .long 3230016878 + .long 2837617046 + .long 3189567103 + .long 96074976 + .long 3230016881 + .long 1231280453 + .long 3189567669 + .long 137101976 + .long 3230016884 + .long 792492437 + .long 3189567071 + .long 159162080 + .long 3230016887 + .long 2385525292 + .long 3189567618 + .long 162310880 + .long 3230016890 + .long 3272051015 + .long 3189567858 + .long 146603712 + .long 3230016893 + .long 623573538 + .long 3189567881 + .long 112095672 + .long 3230016896 + .long 2151835939 + .long 3189567451 + .long 58841608 + .long 3230016899 + .long 958006130 + .long 3189567217 + .long 4281863424 + .long 3230016901 + .long 549948691 + .long 3189567863 + .long 4191280920 + .long 3230016904 + .long 4177689987 + .long 3189567217 + .long 4082115512 + .long 3230016907 + .long 2895765193 + .long 3189567599 + .long 3954421112 + .long 3230016910 + .long 1055606208 + .long 3189567799 + .long 3808251392 + .long 3230016913 + .long 1966521217 + .long 3189567351 + .long 3643659776 + .long 3230016916 + .long 1017382758 + .long 3189567732 + .long 3460699480 + .long 3230016919 + .long 3485890155 + .long 3189567410 + .long 3259423472 + .long 3230016922 + .long 2657419170 + .long 3189567140 + .long 3039884488 + .long 3230016925 + .long 4198858220 + .long 3189568080 + .long 2802135064 + .long 3230016928 + .long 2343740494 + .long 3189567869 + .long 2546227480 + .long 3230016931 + .long 2423084215 + .long 3189567957 + .long 2272213808 + .long 3230016934 + .long 3887273856 + .long 3189567631 + .long 1980145888 + .long 3230016937 + .long 3992755473 + .long 3189567251 + .long 1670075336 + .long 3230016940 + .long 722498073 + .long 3189567389 + .long 1342053552 + .long 3230016943 + .long 3573506400 + .long 3189567965 + .long 996131728 + .long 3230016946 + .long 714695829 + .long 3189567392 + .long 632360808 + .long 3230016949 + .long 2816704229 + .long 3189567846 + .long 250791552 + .long 3230016952 + .long 386951333 + .long 3189567243 + .long 4146441768 + .long 3230016954 + .long 2155319939 + .long 3189567580 + .long 3729427184 + .long 3230016957 + .long 4227840137 + .long 3189567931 + .long 3294765200 + .long 3230016960 + .long 1718354212 + .long 3189567672 + .long 2842505696 + .long 3230016963 + .long 4243880582 + .long 3189567656 + .long 2372698352 + .long 3230016966 + .long 3784093842 + .long 3189567302 + .long 1885392624 + .long 3230016969 + .long 2318733051 + .long 3189567813 + .long 1380637784 + .long 3230016972 + .long 497929746 + .long 3189567210 + .long 858482864 + .long 3230016975 + .long 3218883783 + .long 3189567649 + .long 318976720 + .long 3230016978 + .long 3492652862 + .long 3189567382 + .long 4057135272 + .long 3230016980 + .long 473724673 + .long 3189568069 + .long 3483072376 + .long 3230016983 + .long 150485010 + .long 3189567757 + .long 2891803552 + .long 3230016986 + .long 3028900958 + .long 3189567173 + .long 2283376816 + .long 3230016989 + .long 321242596 + .long 3189567822 + .long 1657840008 + .long 3230016992 + .long 151305746 + .long 3189568029 + .long 1015240760 + .long 3230016995 + .long 2208026401 + .long 3189567184 + .long 355626480 + .long 3230016998 + .long 2487781842 + .long 3189567931 + .long 3974011720 + .long 3230017000 + .long 2391142094 + .long 3189567091 + .long 3280508896 + .long 3230017003 + .long 734457618 + .long 3189568092 + .long 2570132168 + .long 3230017006 + .long 3070902701 + .long 3189567794 + .long 1842928168 + .long 3230017009 + .long 1110877923 + .long 3189567896 + .long 1098943352 + .long 3230017012 + .long 3880360185 + .long 3189567898 + .long 338223984 + .long 3230017015 + .long 391995809 + .long 3189567294 + .long 3855783416 + .long 3230017017 + .long 4186345433 + .long 3189567745 + .long 3061732952 + .long 3230017020 + .long 3682852050 + .long 3189567081 + .long 2251085560 + .long 3230017023 + .long 3057037137 + .long 3189567617 + .long 1423886760 + .long 3230017026 + .long 3352664894 + .long 3189567074 + .long 580181848 + .long 3230017029 + .long 1170568982 + .long 3189567927 + .long 4014983272 + .long 3230017031 + .long 671148579 + .long 3189567293 + .long 3138401368 + .long 3230017034 + .long 267496658 + .long 3189567304 + .long 2245448192 + .long 3230017037 + .long 1285167087 + .long 3189568066 + .long 1336168336 + .long 3230017040 + .long 4259909589 + .long 3189567788 + .long 410606184 + .long 3230017043 + .long 1494078902 + .long 3189568031 + .long 3763773256 + .long 3230017045 + .long 261935754 + .long 3189567685 + .long 2805778992 + .long 3230017048 + .long 3679585605 + .long 3189567195 + .long 1831634536 + .long 3230017051 + .long 809066513 + .long 3189567664 + .long 841383576 + .long 3230017054 + .long 385945238 + .long 3189567897 + .long 4130036912 + .long 3230017056 + .long 825579909 + .long 3189567603 + .long 3107703272 + .long 3230017059 + .long 3911295427 + .long 3189567514 + .long 2069393104 + .long 3230017062 + .long 3473784588 + .long 3189567461 + .long 1015149384 + .long 3230017065 + .long 629861200 + .long 3189567515 + .long 4239982216 + .long 3230017067 + .long 2659142760 + .long 3189567083 + .long 3153999632 + .long 3230017070 + .long 1251680713 + .long 3189567080 + .long 2052211384 + .long 3230017073 + .long 3168705163 + .long 3189567992 + .long 934659776 + .long 3230017076 + .long 1674797624 + .long 3189567952 + .long 4096354216 + .long 3230017078 + .long 437847902 + .long 3189567971 + .long 2947402064 + .long 3230017081 + .long 4024401533 + .long 3189567960 + .long 1782812400 + .long 3230017084 + .long 786902458 + .long 3189567873 + .long 602626840 + .long 3230017087 + .long 2593792633 + .long 3189567812 + .long 3701854136 + .long 3230017089 + .long 3989721221 + .long 3189567126 + .long 2490600968 + .long 3230017092 + .long 2545746866 + .long 3189567591 + .long 1263875768 + .long 3230017095 + .long 3115843521 + .long 3189567377 + .long 21719488 + .long 3230017098 + .long 1730226063 + .long 3189567307 + .long 3059140216 + .long 3230017100 + .long 690350922 + .long 3189567892 + .long 1786244008 + .long 3230017103 + .long 3350998585 + .long 3189567394 + .long 498038616 + .long 3230017106 + .long 1499123379 + .long 3189568082 + .long 3489531672 + .long 3230017108 + .long 2598665922 + .long 3189567118 + .long 2170828712 + .long 3230017111 + .long 2436376826 + .long 3189567935 + .long 836937048 + .long 3230017114 + .long 1977004902 + .long 3189568052 + .long 3782863816 + .long 3230017116 + .long 4027224619 + .long 3189567373 + .long 2418714096 + .long 3230017119 + .long 2616869856 + .long 3189567271 + .long 1039494712 + .long 3230017122 + .long 3775628133 + .long 3189567616 + .long 3940212336 + .long 3230017124 + .long 419018052 + .long 3189567909 + .long 2530971600 + .long 3230017127 + .long 150919657 + .long 3189567379 + .long 1106778856 + .long 3230017130 + .long 2926254537 + .long 3189567139 + .long 3962640312 + .long 3230017132 + .long 1610863810 + .long 3189567216 + .long 2508660136 + .long 3230017135 + .long 1166015244 + .long 3189567672 + .long 1039844240 + .long 3230017138 + .long 645159638 + .long 3189567685 + .long 3851198376 + .long 3230017140 + .long 2449439581 + .long 3189567695 + .long 2352826264 + .long 3230017143 + .long 1619104640 + .long 3189567458 + .long 839733360 + .long 3230017146 + .long 2427070371 + .long 3189567165 + .long 3606924968 + .long 3230017148 + .long 2166480890 + .long 3189567544 + .long 2064504368 + .long 3230017151 + .long 2283025905 + .long 3189567907 + .long 507476584 + .long 3230017154 + .long 3923356754 + .long 3189567272 + .long 3230846472 + .long 3230017156 + .long 805331677 + .long 3189567533 + .long 1644716880 + .long 3230017159 + .long 3790469685 + .long 3189567406 + .long 44092384 + .long 3230017162 + .long 2689788214 + .long 3189567653 + .long 2723977432 + .long 3230017164 + .long 2762250221 + .long 3189567072 + .long 1094474416 + .long 3230017167 + .long 2781925193 + .long 3189567716 + .long 3745554800 + .long 3230017169 + .long 593120878 + .long 3189567817 + .long 2087320704 + .long 3230017172 + .long 403414988 + .long 3189568021 + .long 414776008 + .long 3230017175 + .long 359307328 + .long 3189567387 + .long 3022924432 + .long 3230017177 + .long 3373547966 + .long 3189567572 + .long 1321867688 + .long 3230017180 + .long 3978711340 + .long 3189567805 + .long 3901576528 + .long 3230017182 + .long 2765663238 + .long 3189568046 + .long 2172152384 + .long 3230017185 + .long 1181150766 + .long 3189568053 + .long 428598440 + .long 3230017188 + .long 2473022131 + .long 3189567471 + .long 2965917728 + .long 3230017190 + .long 1621744488 + .long 3189567971 + .long 1194211288 + .long 3230017193 + .long 2931299013 + .long 3189567190 + .long 3703449168 + .long 3230017195 + .long 873154950 + .long 3189568039 + .long 1903732144 + .long 3230017198 + .long 1510784525 + .long 3189567521 + .long 90062704 + .long 3230017201 + .long 2918231590 + .long 3189568086 + .long 2557443240 + .long 3230017203 + .long 3329944838 + .long 3189567475 + .long 715974088 + .long 3230017206 + .long 2679715410 + .long 3189568021 + .long 3155624672 + .long 3230017208 + .long 1841110143 + .long 3189567518 + .long 1286495072 + .long 3230017211 + .long 3881638924 + .long 3189567497 + .long 3698554440 + .long 3230017213 + .long 167906931 + .long 3189567169 + .long 1801902600 + .long 3230017216 + .long 1468264167 + .long 3189567597 + .long 4186508448 + .long 3230017218 + .long 2400624638 + .long 3189567691 + .long 2262471560 + .long 3230017221 + .long 3796182064 + .long 3189567357 + .long 324793264 + .long 3230017224 + .long 2801238958 + .long 3189567581 + .long 2668474776 + .long 3230017226 + .long 2273142813 + .long 3189567436 + .long 703615288 + .long 3230017229 + .long 831867571 + .long 3189567237 + .long 3020183048 + .long 3230017231 + .long 2238048829 + .long 3189567595 + .long 1028277008 + .long 3230017234 + .long 1163763070 + .long 3189567452 + .long 3317865168 + .long 3230017236 + .long 1206450788 + .long 3189567228 + .long 1299046216 + .long 3230017239 + .long 737162226 + .long 3189567879 + .long 3561787920 + .long 3230017241 + .long 2433253277 + .long 3189567901 + .long 1516188728 + .long 3230017244 + .long 3561277099 + .long 3189567506 + .long 3752216144 + .long 3230017246 + .long 1385095507 + .long 3189567674 + .long 1679968384 + .long 3230017249 + .long 829462408 + .long 3189567156 + .long 3889412704 + .long 3230017251 + .long 2939266725 + .long 3189567673 + .long 1790647080 + .long 3230017254 + .long 4214100827 + .long 3189567848 + .long 3973638544 + .long 3230017256 + .long 2537954451 + .long 3189567376 + .long 1848484816 + .long 3230017259 + .long 1128740312 + .long 3189567098 + .long 4005152680 + .long 3230017261 + .long 1932232434 + .long 3189568053 + .long 1853739648 + .long 3230017264 + .long 1359710694 + .long 3189567457 + .long 3984212256 + .long 3230017266 + .long 1268482287 + .long 3189567990 + .long 1806667776 + .long 3230017269 + .long 839689017 + .long 3189567631 + .long 3911072520 + .long 3230017271 + .long 3727165601 + .long 3189567921 + .long 1707523520 + .long 3230017274 + .long 1836550952 + .long 3189567895 + .long 3785986872 + .long 3230017276 + .long 172951407 + .long 3189567220 + .long 1556559360 + .long 3230017279 + .long 1166449891 + .long 3189567294 + .long 3609206856 + .long 3230017281 + .long 28625366 + .long 3189567222 + .long 1354025920 + .long 3230017284 + .long 4038426582 + .long 3189567978 + .long 3380982208 + .long 3230017286 + .long 2756284659 + .long 3189567362 + .long 1100172048 + .long 3230017289 + .long 848830252 + .long 3189567230 + .long 3101560856 + .long 3230017291 + .long 1868170309 + .long 3189567423 + .long 795244752 + .long 3230017294 + .long 3128260908 + .long 3189567885 + .long 2771188936 + .long 3230017296 + .long 1691261279 + .long 3189567706 + .long 439489304 + .long 3230017299 + .long 2886711298 + .long 3189567236 + .long 2390110824 + .long 3230017301 + .long 1311431101 + .long 3189567133 + .long 33149176 + .long 3230017304 + .long 3042183093 + .long 3189567401 + .long 1958569120 + .long 3230017306 + .long 3174208880 + .long 3189567462 + .long 3871433416 + .long 3230017308 + .long 302374021 + .long 3189567243 + .long 1476804712 + .long 3230017311 + .long 712531519 + .long 3189567241 + .long 3364647440 + .long 3230017313 + .long 3705318448 + .long 3189567568 + .long 945056744 + .long 3230017316 + .long 2424171915 + .long 3189568016 + .long 2807996856 + .long 3230017318 + .long 199511961 + .long 3189567094 + .long 363562688 + .long 3230017321 + .long 3766234060 + .long 3189567214 + .long 2201718256 + .long 3230017323 + .long 1956195829 + .long 3189567592 + .long 4027525584 + .long 3230017325 + .long 2891794585 + .long 3189567375 + .long 1546046576 + .long 3230017328 + .long 843173017 + .long 3189567760 + .long 3347244936 + .long 3230017330 + .long 1609532414 + .long 3189567955 + .long 841215080 + .long 3230017333 + .long 3356704285 + .long 3189567294 + .long 2617920488 + .long 3230017335 + .long 1641729240 + .long 3189567346 + .long 87455368 + .long 3230017338 + .long 1455753222 + .long 3189567878 + .long 1839783016 + .long 3230017340 + .long 1936589978 + .long 3189567944 + .long 3579964728 + .long 3230017342 + .long 1006586129 + .long 3189567993 + .long 1013061704 + .long 3230017345 + .long 2766825484 + .long 3189567880 + .long 2729036928 + .long 3230017347 + .long 1888685184 + .long 3189567954 + .long 137984104 + .long 3230017350 + .long 848046306 + .long 3189568090 + .long 1829866024 + .long 3230017352 + .long 4178224056 + .long 3189567750 + .long 3509743488 + .long 3230017354 + .long 2637072474 + .long 3189567070 + .long 882677184 + .long 3230017357 + .long 3133305384 + .long 3189567936 + .long 2538629624 + .long 3230017359 + .long 1343200028 + .long 3189567905 + .long 4182661312 + .long 3230017361 + .long 107195460 + .long 3189567427 + .long 1519832648 + .long 3230017364 + .long 602154914 + .long 3189567857 + .long 3140105848 + .long 3230017366 + .long 659160740 + .long 3189567417 + .long 453573824 + .long 3230017369 + .long 236889930 + .long 3189567396 + .long 2050198592 + .long 3230017371 + .long 1175634921 + .long 3189567087 + .long 3635040168 + .long 3230017373 + .long 1241855527 + .long 3189567941 + .long 913158504 + .long 3230017376 + .long 3947904414 + .long 3189567477 + .long 2474515312 + .long 3230017378 + .long 1206979822 + .long 3189567534 + .long 4024170344 + .long 3230017380 + .long 1847397805 + .long 3189567152 + .long 1267183240 + .long 3230017383 + .long 2916539301 + .long 3189567754 + .long 2793515456 + .long 3230017385 + .long 2568213263 + .long 3189568078 + .long 13259168 + .long 3230017388 + .long 3003245330 + .long 3189567303 + .long 1516375624 + .long 3230017390 + .long 3472633477 + .long 3189567153 + .long 3007924104 + .long 3230017392 + .long 532406289 + .long 3189567855 + .long 192963816 + .long 3230017395 + .long 4149310663 + .long 3189567165 + .long 1661455728 + .long 3230017397 + .long 946970842 + .long 3189567598 + .long 3118458864 + .long 3230017399 + .long 2040517972 + .long 3189567254 + .long 269032128 + .long 3230017402 + .long 3669971831 + .long 3189568072 + .long 1703136256 + .long 3230017404 + .long 2375197389 + .long 3189567687 + .long 3125829976 + .long 3230017406 + .long 296757744 + .long 3189567673 + .long 242171944 + .long 3230017409 + .long 611424102 + .long 3189567452 + .long 1642122608 + .long 3230017411 + .long 1700968423 + .long 3189567419 + .long 3030740440 + .long 3230017413 + .long 2947762668 + .long 3189567968 + .long 113083840 + .long 3230017416 + .long 690901756 + .long 3189567496 + .long 1479112984 + .long 3230017418 + .long 121139903 + .long 3189567571 + .long 2833886088 + .long 3230017420 + .long 173386055 + .long 3189567866 + .long 4177428584 + .long 3230017422 + .long 2964718132 + .long 3189567231 + .long 1214798496 + .long 3230017425 + .long 541562024 + .long 3189567842 + .long 2535955680 + .long 3230017427 + .long 3368765612 + .long 3189568076 + .long 3845958008 + .long 3230017429 + .long 3194541507 + .long 3189567689 + .long 849863256 + .long 3230017432 + .long 3443356552 + .long 3189567858 + .long 2137631024 + .long 3230017434 + .long 1180679397 + .long 3189567138 + .long 3414318912 + .long 3230017436 + .long 2261929999 + .long 3189567651 + .long 384984464 + .long 3230017439 + .long 954057098 + .long 3189567971 + .long 1639587024 + .long 3230017441 + .long 1346995839 + .long 3189567263 + .long 2883183944 + .long 3230017443 + .long 3253373727 + .long 3189567382 + .long 4115799808 + .long 3230017445 + .long 4143791142 + .long 3189567800 + .long 1042491824 + .long 3230017448 + .long 4240432954 + .long 3189567700 + .long 2253218992 + .long 3230017450 + .long 1891708033 + .long 3189568072 + .long 3453038360 + .long 3230017452 + .long 710292621 + .long 3189567662 + .long 347006880 + .long 3230017455 + .long 2712254611 + .long 3189567116 + .long 1525083304 + .long 3230017457 + .long 349583280 + .long 3189568004 + .long 2692324448 + .long 3230017459 + .long 1803227864 + .long 3189567740 + .long 3848754312 + .long 3230017461 + .long 3644606976 + .long 3189567826 + .long 699429536 + .long 3230017464 + .long 1067153346 + .long 3189567751 + .long 1834308568 + .long 3230017466 + .long 1335350692 + .long 3189567081 + .long 2958447872 + .long 3230017468 + .long 1803696599 + .long 3189567557 + .long 4071871152 + .long 3230017470 + .long 1232152547 + .long 3189568017 + .long 879634736 + .long 3230017473 + .long 1455437901 + .long 3189567512 + .long 1971696744 + .long 3230017475 + .long 3708110750 + .long 3189567399 + .long 3053113344 + .long 3230017477 + .long 3907324819 + .long 3189567290 + .long 4123907920 + .long 3230017479 + .long 4080000314 + .long 3189567141 + .long 889136480 + .long 3230017482 + .long 1286519001 + .long 3189567298 + .long 1938756848 + .long 3230017484 + .long 1292347423 + .long 3189567513 + .long 2977824880 + .long 3230017486 + .long 1159725249 + .long 3189568015 + .long 4006363664 + .long 3230017488 + .long 895621348 + .long 3189567502 + .long 729428896 + .long 3230017491 + .long 1212894155 + .long 3189567280 + .long 1736978096 + .long 3230017493 + .long 296117275 + .long 3189567210 + .long 2734066816 + .long 3230017495 + .long 2463481211 + .long 3189567796 + .long 3720717848 + .long 3230017497 + .long 76524950 + .long 3189567159 + .long 401986584 + .long 3230017500 + .long 1718551671 + .long 3189567216 + .long 1367830248 + .long 3230017502 + .long 3568874946 + .long 3189567584 + .long 2323304104 + .long 3230017504 + .long 2763456396 + .long 3189567666 + .long 3268430632 + .long 3230017506 + .long 1208592501 + .long 3189567715 + .long 4203232240 + .long 3230017508 + .long 4148835618 + .long 3189567851 + .long 832763976 + .long 3230017511 + .long 610418007 + .long 3189567082 + .long 1746982680 + .long 3230017513 + .long 3035714190 + .long 3189567431 + .long 2650943256 + .long 3230017515 + .long 85931336 + .long 3189567843 + .long 3544667832 + .long 3230017517 + .long 3006685957 + .long 3189567286 + .long 133211144 + .long 3230017520 + .long 878859600 + .long 3189567873 + .long 1006529776 + .long 3230017522 + .long 854333969 + .long 3189567724 + .long 1869678336 + .long 3230017524 + .long 3058646748 + .long 3189567155 + .long 2722678648 + .long 3230017526 + .long 360733640 + .long 3189567693 + .long 3565552488 + .long 3230017528 + .long 3015564990 + .long 3189568013 + .long 103354256 + .long 3230017531 + .long 2286095909 + .long 3189568081 + .long 926040176 + .long 3230017533 + .long 1899270393 + .long 3189567137 + .long 1738664488 + .long 3230017535 + .long 1377641292 + .long 3189567833 + .long 2541248696 + .long 3230017537 + .long 4266686523 + .long 3189568077 + .long 3333814224 + .long 3230017539 + .long 4018775563 + .long 3189567218 + .long 4116382408 + .long 3230017541 + .long 3373913644 + .long 3189567103 + .long 594007232 + .long 3230017544 + .long 2818265402 + .long 3189568021 + .long 1356644520 + .long 3230017546 + .long 1075601108 + .long 3189567716 + .long 2109348112 + .long 3230017548 + .long 3342127702 + .long 3189567566 + .long 2852139088 + .long 3230017550 + .long 2910355434 + .long 3189567504 + .long 3585038464 + .long 3230017552 + .long 611858749 + .long 3189567074 + .long 13099880 + .long 3230017555 + .long 1954698831 + .long 3189567516 + .long 726278816 + .long 3230017557 + .long 550712630 + .long 3189567710 + .long 1429628792 + .long 3230017559 + .long 3672474493 + .long 3189567278 + .long 2123170544 + .long 3230017561 + .long 1160875209 + .long 3189567651 + .long 2806924760 + .long 3230017563 + .long 2242524344 + .long 3189568000 + .long 3480912064 + .long 3230017565 + .long 2823138691 + .long 3189567327 + .long 4145152992 + .long 3230017567 + .long 3521079748 + .long 3189567568 + .long 504700744 + .long 3230017570 + .long 1136670137 + .long 3189567486 + .long 1149510328 + .long 3230017572 + .long 806933442 + .long 3189567823 + .long 1784634816 + .long 3230017574 + .long 1606084669 + .long 3189567242 + .long 2410094488 + .long 3230017576 + .long 2841342625 + .long 3189567480 + .long 3025909584 + .long 3230017578 + .long 984188059 + .long 3189567239 + .long 3632100264 + .long 3230017580 + .long 3011730434 + .long 3189567337 + .long 4228686632 + .long 3230017582 + .long 328432041 + .long 3189567676 + .long 520721440 + .long 3230017585 + .long 2057225622 + .long 3189567268 + .long 1098159248 + .long 3230017587 + .long 3150727306 + .long 3189567348 + .long 1666052680 + .long 3230017589 + .long 3291380622 + .long 3189567307 + .long 2224421584 + .long 3230017591 + .long 3570771984 + .long 3189567798 + .long 2773285760 + .long 3230017593 + .long 2427604440 + .long 3189567698 + .long 3312664936 + .long 3230017595 + .long 3733848165 + .long 3189567211 + .long 3842578768 + .long 3230017597 + .long 2673912350 + .long 3189567904 + .long 68079584 + .long 3230017600 + .long 960995892 + .long 3189567616 + .long 579121512 + .long 3230017602 + .long 4150493479 + .long 3189567659 + .long 1080756744 + .long 3230017604 + .long 1054941272 + .long 3189567735 + .long 1573004704 + .long 3230017606 + .long 2574365292 + .long 3189568007 + .long 2055884768 + .long 3230017608 + .long 2507498673 + .long 3189567092 + .long 2529416224 + .long 3230017610 + .long 2082176323 + .long 3189567207 + .long 2993618320 + .long 3230017612 + .long 3719982601 + .long 3189568058 + .long 3448510256 + .long 3230017614 + .long 4104247904 + .long 3189567897 + .long 3894111152 + .long 3230017616 + .long 3735557011 + .long 3189567647 + .long 35472776 + .long 3230017619 + .long 2914260983 + .long 3189567862 + .long 462548736 + .long 3230017621 + .long 1334094042 + .long 3189567734 + .long 880390688 + .long 3230017623 + .long 1291097379 + .long 3189567171 + .long 1289017512 + .long 3230017625 + .long 1627119803 + .long 3189567853 + .long 1688448064 + .long 3230017627 + .long 3886873723 + .long 3189567117 + .long 2078701104 + .long 3230017629 + .long 627887757 + .long 3189567206 + .long 2459795360 + .long 3230017631 + .long 1722013861 + .long 3189567101 + .long 2831749488 + .long 3230017633 + .long 4163262354 + .long 3189567678 + .long 3194582104 + .long 3230017635 + .long 4170237688 + .long 3189567639 + .long 3548311752 + .long 3230017637 + .long 47563772 + .long 3189567637 + .long 3892956928 + .long 3230017639 + .long 2990136007 + .long 3189567231 + .long 4228536056 + .long 3230017641 + .long 4294532248 + .long 3189567995 + .long 260100240 + .long 3230017644 + .long 2060709623 + .long 3189567397 + .long 577602376 + .long 3230017646 + .long 1488525373 + .long 3189568044 + .long 886093456 + .long 3230017648 + .long 1657840200 + .long 3189567474 + .long 1185591680 + .long 3230017650 + .long 3155771782 + .long 3189567399 + .long 1476115208 + .long 3230017652 + .long 2195162329 + .long 3189567591 + .long 1757682144 + .long 3230017654 + .long 1292806663 + .long 3189567956 + .long 2030310544 + .long 3230017656 + .long 2151451208 + .long 3189567540 + .long 2294018392 + .long 3230017658 + .long 2224122735 + .long 3189567630 + .long 2548823632 + .long 3230017660 + .long 3554417607 + .long 3189567684 + .long 2794744152 + .long 3230017662 + .long 3831650627 + .long 3189567409 + .long 3031797776 + .long 3230017664 + .long 4024246224 + .long 3189567811 + .long 3260002296 + .long 3230017666 + .long 2530219738 + .long 3189567128 + .long 3479375416 + .long 3230017668 + .long 1618145996 + .long 3189568024 + .long 3689934832 + .long 3230017670 + .long 392379700 + .long 3189567378 + .long 3891698144 + .long 3230017672 + .long 55874694 + .long 3189567574 + .long 4084682928 + .long 3230017674 + .long 4294251475 + .long 3189567312 + .long 4268906688 + .long 3230017676 + .long 1899705040 + .long 3189567783 + .long 149419600 + .long 3230017679 + .long 357699389 + .long 3189567568 + .long 316173656 + .long 3230017681 + .long 3025711727 + .long 3189567790 + .long 474218920 + .long 3230017683 + .long 2921891821 + .long 3189568046 + .long 623572704 + .long 3230017685 + .long 1716968749 + .long 3189567453 + .long 764252248 + .long 3230017687 + .long 2393171526 + .long 3189567748 + .long 896274768 + .long 3230017689 + .long 1343317993 + .long 3189567172 + .long 1019657400 + .long 3230017691 + .long 1388235839 + .long 3189567661 + .long 1134417256 + .long 3230017693 + .long 2766147125 + .long 3189567706 + .long 1240571384 + .long 3230017695 + .long 2162068842 + .long 3189567499 + .long 1338136776 + .long 3230017697 + .long 4075455588 + .long 3189567932 + .long 1427130392 + .long 3230017699 + .long 1579647664 + .long 3189567555 + .long 1507569120 + .long 3230017701 + .long 3785749868 + .long 3189567715 + .long 1579469816 + .long 3230017703 + .long 2639950365 + .long 3189567469 + .long 1642849272 + .long 3230017705 + .long 3611501026 + .long 3189567698 + .long 1697724240 + .long 3230017707 + .long 15422953 + .long 3189568066 + .long 1744111424 + .long 3230017709 + .long 2642213241 + .long 3189568062 + .long 1782027472 + .long 3230017711 + .long 143606300 + .long 3189568058 + .long 1811488992 + .long 3230017713 + .long 501328690 + .long 3189567276 + .long 1832512520 + .long 3230017715 + .long 3258054578 + .long 3189567915 + .long 1845114576 + .long 3230017717 + .long 1297851139 + .long 3189568007 + .long 1849311616 + .long 3230017719 + .long 3589200000 + .long 3189567580 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 2846560486 + .long 3210737666 + .long 2729511872 + .long 3211784202 + .long 3956813460 + .long 3212307985 + .long 1796237193 + .long 3212828714 + .long 1562748889 + .long 3213092649 + .long 1602292343 + .long 3213352007 + .long 745814092 + .long 3213610865 + .long 2969306084 + .long 3213869224 + .long 3953060839 + .long 3214006263 + .long 1128703349 + .long 3214134948 + .long 1371067273 + .long 3214263386 + .long 131445019 + .long 3214391579 + .long 1427948820 + .long 3214519527 + .long 665817496 + .long 3214647232 + .long 1817459908 + .long 3214774694 + .long 242758400 + .long 3214901915 + .long 2082038134 + .long 3214981455 + .long 2300828032 + .long 3215044825 + .long 571795571 + .long 3215108076 + .long 3120479584 + .long 3215171207 + .long 3276640540 + .long 3215234220 + .long 2949178581 + .long 3215297115 + .long 4036279704 + .long 3215359892 + .long 4130528508 + .long 3215422552 + .long 813954767 + .long 3215485096 + .long 248046571 + .long 3215547523 + .long 4288926261 + .long 3215609833 + .long 1897492927 + .long 3215672029 + .long 3499237165 + .long 3215734109 + .long 2329611090 + .long 3215796075 + .long 203907094 + .long 3215857927 + .long 3222364838 + .long 3215919664 + .long 295408387 + .long 3215981289 + .long 899212401 + .long 3216012696 + .long 2606049022 + .long 3216043395 + .long 4003691233 + .long 3216074038 + .long 1675303236 + .long 3216104626 + .long 789189655 + .long 3216135158 + .long 2213928479 + .long 3216165634 + .long 2518405585 + .long 3216196055 + .long 2561783534 + .long 3216226421 + .long 3198568176 + .long 3216256732 + .long 983674944 + .long 3216286989 + .long 1057364031 + .long 3216317191 + .long 4260371496 + .long 3216347338 + .long 2838974660 + .long 3216377432 + .long 1919860988 + .long 3216407472 + .long 2330291020 + .long 3216437458 + .long 598130195 + .long 3216467391 + .long 1836782285 + .long 3216497270 + .long 2565351466 + .long 3216527096 + .long 3593575201 + .long 3216556869 + .long 1431920350 + .long 3216586590 + .long 1176515501 + .long 3216616258 + .long 3624279252 + .long 3216645873 + .long 977982819 + .long 3216675437 + .long 2616083454 + .long 3216704948 + .long 733015457 + .long 3216734408 + .long 403990373 + .long 3216763816 + .long 2405156675 + .long 3216793172 + .long 3213628385 + .long 3216822477 + .long 3597448029 + .long 3216851731 + .long 25680167 + .long 3216880935 + .long 1848308454 + .long 3216910087 + .long 1231492199 + .long 3216939189 + .long 3222364838 + .long 3216968240 + .long 4274224607 + .long 3216997241 + .long 836496059 + .long 3217026193 + .long 1119829323 + .long 3217043131 + .long 315251054 + .long 3217057557 + .long 518461891 + .long 3217071958 + .long 2094042713 + .long 3217086334 + .long 1109735857 + .long 3217100686 + .long 2221359788 + .long 3217115013 + .long 1492952593 + .long 3217129316 + .long 3576653728 + .long 3217143594 + .long 237880003 + .long 3217157849 + .long 420109003 + .long 3217172079 + .long 180120274 + .long 3217186285 + .long 4162843939 + .long 3217200466 + .long 4126536273 + .long 3217214624 + .long 417628115 + .long 3217228759 + .long 1970736719 + .long 3217242869 + .long 538873716 + .long 3217256956 + .long 758227830 + .long 3217271019 + .long 2968307242 + .long 3217285058 + .long 3211951040 + .long 3217299074 + .long 1825275166 + .long 3217313067 + .long 3437683677 + .long 3217327036 + .long 4086978021 + .long 3217340982 + .long 4104270002 + .long 3217354905 + .long 3819025464 + .long 3217368805 + .long 3559075183 + .long 3217382682 + .long 3650625670 + .long 3217396536 + .long 123302585 + .long 3217410368 + .long 1890030548 + .long 3217424176 + .long 682272600 + .long 3217437962 + .long 1114811729 + .long 3217451725 + .long 3505892050 + .long 3217465465 + .long 3877229085 + .long 3217479183 + .long 2543954549 + .long 3217492879 + .long 4114626469 + .long 3217506552 + .long 311370023 + .long 3217520204 + .long 34658569 + .long 3217533833 + .long 3593519732 + .long 3217547439 + .long 2705545195 + .long 3217561024 + .long 1971736889 + .long 3217574587 + .long 1696647441 + .long 3217588128 + .long 2183357019 + .long 3217601647 + .long 3733482817 + .long 3217615144 + .long 2352221150 + .long 3217628620 + .long 2633258676 + .long 3217642074 + .long 578912458 + .long 3217655507 + .long 780008323 + .long 3217668918 + .long 3530988084 + .long 3217682307 + .long 534951267 + .long 3217695676 + .long 673467853 + .long 3217709023 + .long 4236783385 + .long 3217722348 + .long 2923827788 + .long 3217735653 + .long 1317060595 + .long 3217748937 + .long 3997577740 + .long 3217762199 + .long 2660218276 + .long 3217775441 + .long 1883376699 + .long 3217788662 + .long 1949142230 + .long 3217801862 + .long 3138274530 + .long 3217815041 + .long 1435244737 + .long 3217828200 + .long 1413145637 + .long 3217841338 + .long 3348797986 + .long 3217854455 + .long 3222758658 + .long 3217867552 + .long 1309263324 + .long 3217880629 + .long 2176234471 + .long 3217893685 + .long 1800387473 + .long 3217906721 + .long 452140382 + .long 3217919737 + .long 2695621757 + .long 3217932732 + .long 208809263 + .long 3217945708 + .long 1848308454 + .long 3217958663 + .long 3584589359 + .long 3217971598 + .long 1386895968 + .long 3217984514 + .long 4108155659 + .long 3217997409 + .long 3420215606 + .long 3218010285 + .long 3878621277 + .long 3218023141 + .long 1447787319 + .long 3218035978 + .long 680874053 + .long 3218048795 + .long 1834892843 + .long 3218061592 + .long 870713292 + .long 3218074370 + .long 1168986141 + .long 3218083436 + .long 3245089583 + .long 3218089805 + .long 2494877761 + .long 3218096165 + .long 3338922950 + .long 3218102515 + .long 1607293197 + .long 3218108856 + .long 1719424943 + .long 3218115187 + .long 3799224547 + .long 3218121508 + .long 3675071677 + .long 3218127820 + .long 1469757259 + .long 3218134123 + .long 1600486820 + .long 3218140416 + .long 4188949205 + .long 3218146699 + .long 766352567 + .long 3218152974 + .long 43231408 + .long 3218159239 + .long 2139646042 + .long 3218165494 + .long 2880153102 + .long 3218171740 + .long 2383743325 + .long 3218177977 + .long 768877423 + .long 3218184205 + .long 2448456521 + .long 3218190423 + .long 3244923387 + .long 3218196632 + .long 3275167422 + .long 3218202832 + .long 2655560435 + .long 3218209023 + .long 1501959692 + .long 3218215205 + .long 4224678246 + .long 3218221377 + .long 2348618756 + .long 3218227541 + .long 283080250 + .long 3218233696 + .long 2436859197 + .long 3218239841 + .long 333350563 + .long 3218245978 + .long 2675321801 + .long 3218252105 + .long 985177381 + .long 3218258224 + .long 3964700035 + .long 3218264333 + .long 3135315249 + .long 3218270434 + .long 2902865164 + .long 3218276526 + .long 3377742213 + .long 3218282609 + .long 374891912 + .long 3218288684 + .long 2593684821 + .long 3218294749 + .long 1553148222 + .long 3218300806 + .long 1656739931 + .long 3218306854 + .long 3012481825 + .long 3218312893 + .long 1432962538 + .long 3218318924 + .long 1320242026 + .long 3218324946 + .long 2780952336 + .long 3218330959 + .long 1626300240 + .long 3218336964 + .long 2256971748 + .long 3218342960 + .long 483265518 + .long 3218348948 + .long 704964628 + .long 3218354927 + .long 3026437244 + .long 3218360897 + .long 3256639170 + .long 3218366859 + .long 1499050969 + .long 3218372813 + .long 2151680465 + .long 3218378758 + .long 1022163351 + .long 3218384695 + .long 2507634849 + .long 3218390623 + .long 2414862975 + .long 3218396543 + .long 845152874 + .long 3218402455 + .long 2194349235 + .long 3218408358 + .long 2267936813 + .long 3218414253 + .long 1165944702 + .long 3218420140 + .long 3282948707 + .long 3218426018 + .long 128204514 + .long 3218431889 + .long 390421100 + .long 3218437751 + .long 4167959282 + .long 3218443604 + .long 2968834018 + .long 3218449450 + .long 1185553177 + .long 3218455288 + .long 3210217930 + .long 3218461117 + .long 549623114 + .long 3218466939 + .long 1890030548 + .long 3218472752 + .long 3032400188 + .long 3218478557 + .long 4072261525 + .long 3218484354 + .long 3450874911 + .long 1070995813 + .long 2331021804 + .long 1070990032 + .long 1029453230 + .long 1070984259 + .long 3747176240 + .long 1070978493 + .long 1800682930 + .long 1070972736 + .long 3686719393 + .long 1070966986 + .long 722545241 + .long 1070961245 + .long 1405669883 + .long 1070955511 + .long 1349079372 + .long 1070949785 + .long 461103529 + .long 1070944067 + .long 2945413886 + .long 1070938356 + .long 121152472 + .long 1070932654 + .long 487700860 + .long 1070926959 + .long 3954874384 + .long 1070921271 + .long 1842920138 + .long 1070915592 + .long 2652318780 + .long 1070909920 + .long 1999011482 + .long 1070904256 + .long 4089234463 + .long 1070898599 + .long 244680560 + .long 1070892951 + .long 3262235675 + .long 1070887309 + .long 169336595 + .long 1070881676 + .long 3763576649 + .long 1070876049 + .long 1073096258 + .long 1070870431 + .long 601221319 + .long 1070864820 + .long 2261690268 + .long 1070859216 + .long 1673619518 + .long 1070853620 + .long 3046403514 + .long 1070848031 + .long 1999843716 + .long 1070842450 + .long 2744015967 + .long 1070836876 + .long 899399508 + .long 1070831310 + .long 676744370 + .long 1070825751 + .long 1992167703 + .long 1070820199 + .long 467152011 + .long 1070814655 + .long 313445281 + .long 1070809118 + .long 1448157352 + .long 1070803588 + .long 3788725476 + .long 1070798065 + .long 2957945300 + .long 1070792550 + .long 3168871046 + .long 1070787042 + .long 44944622 + .long 1070781542 + .long 2094830420 + .long 1070776048 + .long 647642559 + .long 1070770562 + .long 4212681596 + .long 1070765082 + .long 4119694493 + .long 1070759610 + .long 288676754 + .long 1070754146 + .long 1229870791 + .long 1070748688 + .long 2568927817 + .long 1070743237 + .long 4226775419 + .long 1070737793 + .long 1829681364 + .long 1070732357 + .long 3889121191 + .long 1070726927 + .long 1737005556 + .long 1070721505 + .long 3885417029 + .long 1070716089 + .long 1666870165 + .long 1070710681 + .long 3594048319 + .long 1070705279 + .long 1000063738 + .long 1070699885 + .long 2398194399 + .long 1070694497 + .long 3417111411 + .long 1070689116 + .long 3980746691 + .long 1070683742 + .long 4013324163 + .long 1070678375 + .long 3439358267 + .long 1070673015 + .long 2183652476 + .long 1070667662 + .long 171297820 + .long 1070662316 + .long 1622638721 + .long 1070656976 + .long 2168369647 + .long 1070651643 + .long 1734435555 + .long 1070646317 + .long 247063161 + .long 1070640998 + .long 1927726804 + .long 1070635685 + .long 2408245143 + .long 1070630379 + .long 1615681634 + .long 1070625080 + .long 3772343130 + .long 1070619787 + .long 215909304 + .long 1070614502 + .long 3759169634 + .long 1070609222 + .long 1445381777 + .long 1070603950 + .long 1792910451 + .long 1070598684 + .long 870975437 + .long 1070590754 + .long 3194096222 + .long 1070580248 + .long 1823716217 + .long 1070569756 + .long 913800688 + .long 1070559277 + .long 323875369 + .long 1070548811 + .long 4208958430 + .long 1070538357 + .long 3839688678 + .long 1070527917 + .long 3372126730 + .long 1070517490 + .long 2667883253 + .long 1070507076 + .long 1589083690 + .long 1070496675 + .long 4293333010 + .long 1070486286 + .long 2053843986 + .long 1070475911 + .long 3324205749 + .long 1070465548 + .long 3673610217 + .long 1070455198 + .long 2966718784 + .long 1070444861 + .long 1068692560 + .long 1070434537 + .long 2140157205 + .long 1070424225 + .long 1752298597 + .long 1070413926 + .long 4066729595 + .long 1070403639 + .long 360651144 + .long 1070393366 + .long 3386588242 + .long 1070383104 + .long 127747308 + .long 1070372856 + .long 3337621361 + .long 1070362619 + .long 380113 + .long 1070352396 + .long 2870475188 + .long 1070342184 + .long 3227997535 + .long 1070331985 + .long 943446189 + .long 1070321799 + .long 182758681 + .long 1070311625 + .long 817374162 + .long 1070301463 + .long 2719198427 + .long 1070291313 + .long 1465634365 + .long 1070281176 + .long 1224481606 + .long 1070271051 + .long 1869032404 + .long 1070260938 + .long 3273036717 + .long 1070250837 + .long 1015732707 + .long 1070240749 + .long 3561713742 + .long 1070230672 + .long 2196155141 + .long 1070220608 + .long 1089583089 + .long 1070210556 + .long 118003300 + .long 1070200516 + .long 3452833475 + .long 1070190487 + .long 2381031992 + .long 1070180471 + .long 1074899573 + .long 1070170467 + .long 3707175295 + .long 1070160474 + .long 1566132617 + .long 1070150494 + .long 3120348377 + .long 1070140525 + .long 3953929663 + .long 1070130568 + .long 3946380940 + .long 1070120623 + .long 2977634725 + .long 1070110690 + .long 928049556 + .long 1070100769 + .long 1973375279 + .long 1070090859 + .long 1699849154 + .long 1070080961 + .long 4284063055 + .long 1070071074 + .long 1018125008 + .long 1070061200 + .long 374428300 + .long 1070051337 + .long 2235845747 + .long 1070041485 + .long 2190695046 + .long 1070031645 + .long 122671437 + .long 1070021817 + .long 210845780 + .long 1070012000 + .long 2339728060 + .long 1070002194 + .long 2099265479 + .long 1069992400 + .long 3669742467 + .long 1069982617 + .long 2641909617 + .long 1069972846 + .long 3196851002 + .long 1069963086 + .long 926113142 + .long 1069953338 + .long 11572342 + .long 1069943601 + .long 340530969 + .long 1069933875 + .long 1800682930 + .long 1069924160 + .long 4280111857 + .long 1069914456 + .long 3372322013 + .long 1069904764 + .long 3261138386 + .long 1069895083 + .long 3835803021 + .long 1069885413 + .long 690973253 + .long 1069875755 + .long 2306589128 + .long 1069866107 + .long 4278067876 + .long 1069856470 + .long 2201204065 + .long 1069846845 + .long 262102455 + .long 1069837231 + .long 2647241692 + .long 1069827627 + .long 658570708 + .long 1069818035 + .long 2778278092 + .long 1069808453 + .long 309052031 + .long 1069798883 + .long 1733817001 + .long 1069789323 + .long 2650961017 + .long 1069779774 + .long 2954203158 + .long 1069770236 + .long 2537624622 + .long 1069760709 + .long 1295667077 + .long 1069751193 + .long 3418098326 + .long 1069741687 + .long 210141498 + .long 1069732193 + .long 157244505 + .long 1069722709 + .long 3155274661 + .long 1069713235 + .long 510517079 + .long 1069703773 + .long 709476866 + .long 1069694321 + .long 3649073763 + .long 1069684879 + .long 636640577 + .long 1069675449 + .long 159725394 + .long 1069666029 + .long 2116286250 + .long 1069656619 + .long 2109656884 + .long 1069647220 + .long 38479793 + .long 1069637832 + .long 96704707 + .long 1069628454 + .long 2183652476 + .long 1069619086 + .long 1904013563 + .long 1069609729 + .long 3452748429 + .long 1069600382 + .long 2435216853 + .long 1069591046 + .long 3047045639 + .long 1069581720 + .long 894257944 + .long 1069572405 + .long 173141005 + .long 1069563100 + .long 785342784 + .long 1069553805 + .long 970708326 + .long 1069541521 + .long 2645916898 + .long 1069522972 + .long 2106590683 + .long 1069504444 + .long 3453588195 + .long 1069485936 + .long 2198475040 + .long 1069467449 + .long 2443390270 + .long 1069448982 + .long 3996141691 + .long 1069430535 + .long 2370203065 + .long 1069412109 + .long 1669613218 + .long 1069393703 + .long 1704071394 + .long 1069375317 + .long 2283901796 + .long 1069356951 + .long 3220050856 + .long 1069338605 + .long 29117219 + .long 1069320280 + .long 1113218225 + .long 1069301974 + .long 1990183441 + .long 1069283688 + .long 2473421172 + .long 1069265422 + .long 2376948508 + .long 1069247176 + .long 1515388672 + .long 1069228950 + .long 3998935692 + .long 1069210743 + .long 1053482595 + .long 1069192557 + .long 1085389880 + .long 1069174390 + .long 3911679148 + .long 1069156242 + .long 760030536 + .long 1069138115 + .long 38583924 + .long 1069120007 + .long 1566132617 + .long 1069101918 + .long 867088104 + .long 1069083849 + .long 2056379433 + .long 1069065799 + .long 659581512 + .long 1069047769 + .long 792781808 + .long 1069029758 + .long 2277675977 + .long 1069011766 + .long 641565395 + .long 1068993794 + .long 2256601 + .long 1068975841 + .long 183156961 + .long 1068957907 + .long 1008239542 + .long 1068939992 + .long 2302040698 + .long 1068922096 + .long 3889657667 + .long 1068904219 + .long 1301778891 + .long 1068886362 + .long 2954550821 + .long 1068868523 + .long 84804484 + .long 1068850704 + .long 1109791498 + .long 1068832903 + .long 1562410668 + .long 1068815121 + .long 1271074840 + .long 1068797358 + .long 64741293 + .long 1068779614 + .long 2067876735 + .long 1068761888 + .long 2815553124 + .long 1068744181 + .long 2138347284 + .long 1068726493 + .long 4162338635 + .long 1068708823 + .long 129237761 + .long 1068691173 + .long 2756122533 + .long 1068673540 + .long 3285762921 + .long 1068655926 + .long 1551389854 + .long 1068638331 + .long 1681725707 + .long 1068620754 + .long 3511047527 + .long 1068603195 + .long 2579184841 + .long 1068585655 + .long 3016419377 + .long 1068568133 + .long 363613719 + .long 1068550630 + .long 3047045639 + .long 1068533144 + .long 2313634884 + .long 1068515677 + .long 296456961 + .long 1068497513 + .long 1367328035 + .long 1068462651 + .long 3221665916 + .long 1068427825 + .long 1242258971 + .long 1068393036 + .long 3697798734 + .long 1068358282 + .long 1678104687 + .long 1068323565 + .long 3453858508 + .long 1068288883 + .long 116861598 + .long 1068254238 + .long 4234736672 + .long 1068219627 + .long 2606283437 + .long 1068185053 + .long 3506114812 + .long 1068150514 + .long 2324914545 + .long 1068116011 + .long 3044269692 + .long 1068081543 + .long 1056797460 + .long 1068047111 + .long 346010435 + .long 1068012714 + .long 601410756 + .long 1067978352 + .long 1513453498 + .long 1067944025 + .long 2773542775 + .long 1067909733 + .long 4074027864 + .long 1067875476 + .long 813232056 + .long 1067841255 + .long 1275317999 + .long 1067807068 + .long 860480111 + .long 1067772916 + .long 3559777258 + .long 1067738798 + .long 480292498 + .long 1067704716 + .long 4204867691 + .long 1067670667 + .long 1547459502 + .long 1067636654 + .long 797775935 + .long 1067602675 + .long 1656501562 + .long 1067568730 + .long 3825228429 + .long 1067534819 + .long 2711485098 + .long 1067500943 + .long 2313634884 + .long 1067467101 + .long 376973398 + .long 1067416219 + .long 672386641 + .long 1067348671 + .long 630691842 + .long 1067281191 + .long 3960777458 + .long 1067213778 + .long 1488394470 + .long 1067146434 + .long 1220920383 + .long 1067079157 + .long 2577548405 + .long 1067011947 + .long 684247743 + .long 1066944805 + .long 3553625811 + .long 1066877729 + .long 2020150230 + .long 1066810721 + .long 4099880293 + .long 1066743779 + .long 630721729 + .long 1066676905 + .long 3927125538 + .long 1066610096 + .long 535440936 + .long 1066543355 + .long 2773516144 + .long 1066476679 + .long 1486051399 + .long 1066410070 + .long 808661260 + .long 1066285262 + .long 2227658502 + .long 1066152307 + .long 1813447778 + .long 1066019484 + .long 2743640746 + .long 1065886792 + .long 3904192454 + .long 1065754231 + .long 4184355568 + .long 1065621801 + .long 2476667369 + .long 1065489502 + .long 1971904113 + .long 1065357333 + .long 3138267131 + .long 1065097372 + .long 341338964 + .long 1064833554 + .long 1954052322 + .long 1064569994 + .long 1498975029 + .long 1064306693 + .long 2190050752 + .long 1063782660 + .long 1440057502 + .long 1063257089 + .long 1432705161 + .long 1062208000 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040187392 + .long 0 + .long 1040187392 + .long 0 + .long 1040187392 + .long 0 + .long 1040187392 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .long 0 + .long 1104150528 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1071120384 + .long 0 + .long 1071120384 + .long 0 + .long 1071120384 + .long 0 + .long 1071120384 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070858240 + .long 0 + .long 1070858240 + .long 0 + .long 1070858240 + .long 0 + .long 1070858240 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070563328 + .long 0 + .long 1070563328 + .long 0 + .long 1070563328 + .long 0 + .long 1070563328 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .long 0 + .long 1077870592 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966784 + .long 0 + .long 4294966784 + .long 0 + .long 4294966784 + .long 0 + .long 4294966784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .long 4278190080 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .long 4294963200 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .long 0 + .long 1041235968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 55574528 + .long 0 + .long 55574528 + .long 0 + .long 55574528 + .long 0 + .long 55574528 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_datanh_data_internal,@object + .size __svml_datanh_data_internal,14848 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core-avx2.S new file mode 100644 index 0000000000..675ebd2fd6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized atanh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_atanh _ZGVeN8v_atanh_avx2_wrapper +#include "../svml_d_atanh8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core.c new file mode 100644 index 0000000000..4da8e20fad --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized atanh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_atanh +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_atanh, __GI__ZGVeN8v_atanh, __redirect__ZGVeN8v_atanh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core_avx512.S new file mode 100644 index 0000000000..9881d70d6f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core_avx512.S @@ -0,0 +1,632 @@ +/* Function atanh vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute atanh(x) as 0.5 * log((1 + x)/(1 - x)) + * using small lookup table that map to AVX-512 permute instructions + * + * Special cases: + * + * atanh(0) = 0 + * atanh(+1) = +INF + * atanh(-1) = -INF + * atanh(x) = NaN if |x| > 1, or if x is a NaN or INF + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_atanh_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN8v_atanh_skx) + + .align 16,0x90 + +__svml_datanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_datanh_cout_rare_internal,@function + .size __svml_datanh_cout_rare_internal,.-__svml_datanh_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core-avx2.S new file mode 100644 index 0000000000..1af3662f65 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized atanhf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_atanhf _ZGVeN16v_atanhf_avx2_wrapper +#include "../svml_s_atanhf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core.c new file mode 100644 index 0000000000..4b1190f0eb --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atanhf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_atanhf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_atanhf, __GI__ZGVeN16v_atanhf, + __redirect__ZGVeN16v_atanhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S new file mode 100644 index 0000000000..ebea3c7821 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S @@ -0,0 +1,531 @@ +/* Function atanhf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute atanh(x) as 0.5 * log((1 + x)/(1 - x)) + * using small lookup table that map to AVX-512 permute instructions + * + * Special cases: + * + * atanh(0) = 0 + * atanh(+1) = +INF + * atanh(-1) = -INF + * atanh(x) = NaN if |x| > 1, or if x is a NaN or INF + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_atanhf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN16v_atanhf_skx) + + .align 16,0x90 + +__svml_satanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_satanh_cout_rare_internal,@function + .size __svml_satanh_cout_rare_internal,.-__svml_satanh_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core-sse2.S new file mode 100644 index 0000000000..b750092887 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized atanhf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_atanhf _ZGVbN4v_atanhf_sse2 +#include "../svml_s_atanhf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core.c new file mode 100644 index 0000000000..46624c48cd --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atanhf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_atanhf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_atanhf, __GI__ZGVbN4v_atanhf, + __redirect__ZGVbN4v_atanhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core_sse4.S new file mode 100644 index 0000000000..54b55f8881 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core_sse4.S @@ -0,0 +1,2536 @@ +/* Function atanhf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute atanh(x) as 0.5 * log((1 + x)/(1 - x)) + * + * Special cases: + * + * atanh(0) = 0 + * atanh(+1) = +INF + * atanh(-1) = -INF + * atanh(x) = NaN if |x| > 1, or if x is a NaN or INF + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_atanhf_sse4) + 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 + movups %xmm9, 160(%rsp) + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movaps %xmm0, %xmm9 + +/* Load constants including One = 1 */ + movups 1920+__svml_satanh_data_internal(%rip), %xmm4 + movaps %xmm9, %xmm7 + +/* Strip off the sign, so treat X as positive until right at the end */ + movups 1088+__svml_satanh_data_internal(%rip), %xmm2 + movaps %xmm4, %xmm1 + andps %xmm9, %xmm2 + movups %xmm14, 112(%rsp) + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movaps %xmm4, %xmm14 + movups %xmm11, 144(%rsp) + +/* + * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, + * the upper part UHi being <= 12 bits long. Then we have + * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). + */ + movaps %xmm2, %xmm0 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + movups 2944+__svml_satanh_data_internal(%rip), %xmm11 + +/* + * Check whether |X| < 1, in which case we use the main function. + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN < 1). + */ + movaps %xmm2, %xmm5 + movaps %xmm11, %xmm3 + movaps %xmm2, %xmm6 + cmpnltps %xmm4, %xmm5 + cmpltps 3136+__svml_satanh_data_internal(%rip), %xmm6 + mulps %xmm9, %xmm7 + subps %xmm2, %xmm1 + addps %xmm2, %xmm0 + movmskps %xmm5, %edx + subps %xmm1, %xmm14 + addps %xmm9, %xmm7 + subps %xmm2, %xmm14 + andps %xmm1, %xmm3 + movaps %xmm4, %xmm2 + +/* Record the sign for eventual reincorporation. */ + movups 2752+__svml_satanh_data_internal(%rip), %xmm5 + subps %xmm3, %xmm1 + andps %xmm9, %xmm5 + addps %xmm1, %xmm14 + +/* + * Now compute R = 1/(UHi+ULo) * (1 - E) and the error term E + * The first FMR is exact (we force R to 12 bits just in case it + * isn't already, to make absolutely sure), and since E is ~ 2^-12, + * the rounding error in the other one is acceptable. + */ + rcpps %xmm3, %xmm1 + andps %xmm11, %xmm1 + +/* + * Split V as well into upper 12 bits and lower part, so that we can get + * a preliminary quotient estimate without rounding error. + */ + andps %xmm0, %xmm11 + mulps %xmm1, %xmm3 + subps %xmm11, %xmm0 + mulps %xmm1, %xmm14 + +/* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ + mulps %xmm1, %xmm11 + subps %xmm3, %xmm2 + mulps %xmm0, %xmm1 + subps %xmm14, %xmm2 + +/* Compute D = E + E^2 */ + movaps %xmm2, %xmm14 + +/* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ + orps %xmm5, %xmm7 + mulps %xmm2, %xmm14 + andps %xmm6, %xmm7 + addps %xmm14, %xmm2 + movaps %xmm4, %xmm14 + +/* + * Compute R * (VHi + VLo) * (1 + E + E^2) + * = R * (VHi + VLo) * (1 + D) + * = QHi + (QHi * D + QLo + QLo * D) + */ + movaps %xmm2, %xmm3 + mulps %xmm1, %xmm2 + mulps %xmm11, %xmm3 + addps %xmm2, %xmm1 + +/* reduction: compute r,n */ + movdqu 2240+__svml_satanh_data_internal(%rip), %xmm2 + addps %xmm1, %xmm3 + +/* + * Now finally accumulate the high and low parts of the + * argument to log1p, H + L, with a final compensated summation. + */ + movaps %xmm3, %xmm0 + addps %xmm11, %xmm0 + minps %xmm0, %xmm14 + subps %xmm0, %xmm11 + addps %xmm11, %xmm3 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * later incorporating L into the reduced argument. + * compute 1+x as high, low parts + */ + movaps %xmm4, %xmm11 + maxps %xmm0, %xmm11 + movaps %xmm11, %xmm1 + movdqu 2304+__svml_satanh_data_internal(%rip), %xmm0 + addps %xmm14, %xmm1 + subps %xmm1, %xmm11 + psubd %xmm2, %xmm1 + pand %xmm1, %xmm0 + psrad $23, %xmm1 + paddd %xmm2, %xmm0 + addps %xmm11, %xmm14 + +/* polynomial evaluation */ + subps %xmm4, %xmm0 + addps %xmm14, %xmm3 + cvtdq2ps %xmm1, %xmm14 + pslld $23, %xmm1 + movaps %xmm4, %xmm11 + psubd %xmm1, %xmm11 + mulps %xmm3, %xmm11 + +/* final reconstruction */ + mulps 3200+__svml_satanh_data_internal(%rip), %xmm14 + addps %xmm0, %xmm11 + movups 2096+__svml_satanh_data_internal(%rip), %xmm4 + movaps %xmm6, %xmm0 + mulps %xmm11, %xmm4 + +/* Finally, halve the result and reincorporate the sign */ + movups 2560+__svml_satanh_data_internal(%rip), %xmm1 + pxor %xmm5, %xmm1 + addps 2080+__svml_satanh_data_internal(%rip), %xmm4 + mulps %xmm11, %xmm4 + addps 2064+__svml_satanh_data_internal(%rip), %xmm4 + mulps %xmm11, %xmm4 + addps 2048+__svml_satanh_data_internal(%rip), %xmm4 + mulps %xmm11, %xmm4 + addps 2032+__svml_satanh_data_internal(%rip), %xmm4 + mulps %xmm11, %xmm4 + addps 2016+__svml_satanh_data_internal(%rip), %xmm4 + mulps %xmm11, %xmm4 + addps 2000+__svml_satanh_data_internal(%rip), %xmm4 + mulps %xmm11, %xmm4 + addps 1984+__svml_satanh_data_internal(%rip), %xmm4 + mulps %xmm11, %xmm4 + mulps %xmm11, %xmm4 + addps %xmm4, %xmm11 + addps %xmm14, %xmm11 + mulps %xmm11, %xmm1 + andnps %xmm1, %xmm0 + orps %xmm7, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 160(%rsp), %xmm9 + cfi_restore(26) + movups 144(%rsp), %xmm11 + cfi_restore(28) + movups 112(%rsp), %xmm14 + cfi_restore(31) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm9, 128(%rsp) + movups %xmm0, 192(%rsp) + xorl %eax, %eax + movups %xmm8, 64(%rsp) + movups %xmm10, 48(%rsp) + movups %xmm12, 32(%rsp) + movups %xmm13, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 88(%rsp) + movq %rdi, 80(%rsp) + movq %r12, 104(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 96(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 64(%rsp), %xmm8 + cfi_restore(25) + movups 48(%rsp), %xmm10 + cfi_restore(27) + movups 32(%rsp), %xmm12 + cfi_restore(29) + movups 16(%rsp), %xmm13 + cfi_restore(30) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 88(%rsp), %rsi + cfi_restore(4) + movq 80(%rsp), %rdi + cfi_restore(5) + movq 104(%rsp), %r12 + cfi_restore(12) + movq 96(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 128(%rsp,%r12,4), %rdi + lea 192(%rsp,%r12,4), %rsi + call __svml_satanh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_atanhf_sse4) + + .align 16,0x90 + +__svml_satanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_satanh_cout_rare_internal,@function + .size __svml_satanh_cout_rare_internal,.-__svml_satanh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_satanh_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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1051372345 + .long 1051372345 + .long 1051372345 + .long 1051372345 + .long 3204448310 + .long 3204448310 + .long 3204448310 + .long 3204448310 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3204448256 + .long 3204448256 + .long 3204448256 + .long 3204448256 + .long 1051372180 + .long 1051372180 + .long 1051372180 + .long 1051372180 + .long 3196061070 + .long 3196061070 + .long 3196061070 + .long 3196061070 + .long 1045225872 + .long 1045225872 + .long 1045225872 + .long 1045225872 + .long 3190336823 + .long 3190336823 + .long 3190336823 + .long 3190336823 + .long 1041222418 + .long 1041222418 + .long 1041222418 + .long 1041222418 + .long 3189430755 + .long 3189430755 + .long 3189430755 + .long 3189430755 + .long 1041073389 + .long 1041073389 + .long 1041073389 + .long 1041073389 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 201326592 + .long 201326592 + .long 201326592 + .long 201326592 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_satanh_data_internal,@object + .size __svml_satanh_data_internal,3456 + .align 4 + +__satanh_la__imlsAtanhTab: + .long 1065353216 + .long 0 + .long 2139095040 + .type __satanh_la__imlsAtanhTab,@object + .size __satanh_la__imlsAtanhTab,12 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core-sse.S new file mode 100644 index 0000000000..b293bd5b41 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized atanhf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_atanhf _ZGVdN8v_atanhf_sse_wrapper +#include "../svml_s_atanhf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core.c new file mode 100644 index 0000000000..3df8d66c94 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized atanhf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_atanhf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_atanhf, __GI__ZGVdN8v_atanhf, + __redirect__ZGVdN8v_atanhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core_avx2.S new file mode 100644 index 0000000000..be063c59a8 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core_avx2.S @@ -0,0 +1,2131 @@ +/* Function atanhf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute atanh(x) as 0.5 * log((1 + x)/(1 - x)) + * + * Special cases: + * + * atanh(0) = 0 + * atanh(+1) = +INF + * atanh(-1) = -INF + * atanh(x) = NaN if |x| > 1, or if x is a NaN or INF + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_atanhf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* Load constants including One = 1 */ + vmovups 1920+__svml_satanh_data_internal(%rip), %ymm5 + vmovups %ymm8, 32(%rsp) + vmovups %ymm10, 160(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + vmovups 3072+__svml_satanh_data_internal(%rip), %ymm10 + vmovups %ymm13, 256(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm15, 320(%rsp) + vmovaps %ymm0, %ymm6 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +/* Strip off the sign, so treat X as positive until right at the end */ + vandps 1088+__svml_satanh_data_internal(%rip), %ymm6, %ymm8 + +/* + * Check whether |X| < 1, in which case we use the main function. + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN < 1). + */ + vcmpnlt_uqps %ymm5, %ymm8, %ymm7 + vsubps %ymm8, %ymm5, %ymm1 + +/* + * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, + * the upper part UHi being <= 12 bits long. Then we have + * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). + */ + vaddps %ymm8, %ymm8, %ymm11 + vcmplt_oqps 3264+__svml_satanh_data_internal(%rip), %ymm8, %ymm4 + vsubps %ymm1, %ymm5, %ymm0 + vmovmskps %ymm7, %edx + vrcpps %ymm1, %ymm7 + vsubps %ymm8, %ymm0, %ymm9 + vandps %ymm10, %ymm7, %ymm13 + +/* No need to split sU when FMA is available */ + vfnmadd213ps %ymm5, %ymm13, %ymm1 + vfnmadd231ps %ymm13, %ymm9, %ymm1 + +/* + * Split V as well into upper 12 bits and lower part, so that we can get + * a preliminary quotient estimate without rounding error. + */ + vandps %ymm10, %ymm11, %ymm12 + vsubps %ymm12, %ymm11, %ymm14 + +/* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ + vmulps %ymm12, %ymm13, %ymm7 + +/* Compute D = E + E^2 */ + vfmadd213ps %ymm1, %ymm1, %ymm1 + vmulps %ymm14, %ymm13, %ymm15 + +/* + * Compute R * (VHi + VLo) * (1 + E + E^2) + * = R * (VHi + VLo) * (1 + D) + * = QHi + (QHi * D + QLo + QLo * D) + */ + vmulps %ymm1, %ymm7, %ymm0 + vfmadd213ps %ymm15, %ymm15, %ymm1 + +/* reduction: compute r,n */ + vmovups 2368+__svml_satanh_data_internal(%rip), %ymm15 + vaddps %ymm1, %ymm0, %ymm1 + +/* + * Now finally accumulate the high and low parts of the + * argument to log1p, H + L, with a final compensated summation. + */ + vaddps %ymm1, %ymm7, %ymm8 + vsubps %ymm8, %ymm7, %ymm0 + vminps %ymm8, %ymm5, %ymm7 + vaddps %ymm0, %ymm1, %ymm10 + +/* + * Now we feed into the log1p code, using H in place of _VARG1 and + * later incorporating L into the reduced argument. + * compute 1+x as high, low parts + */ + vmaxps %ymm8, %ymm5, %ymm1 + vaddps %ymm7, %ymm1, %ymm12 + vpsubd %ymm15, %ymm12, %ymm13 + vsubps %ymm12, %ymm1, %ymm9 + vpsrad $23, %ymm13, %ymm12 + vpand 2432+__svml_satanh_data_internal(%rip), %ymm13, %ymm14 + vaddps %ymm9, %ymm7, %ymm11 + vcvtdq2ps %ymm12, %ymm0 + vpslld $23, %ymm12, %ymm13 + vpaddd %ymm15, %ymm14, %ymm7 + vaddps %ymm11, %ymm10, %ymm1 + vpsubd %ymm13, %ymm5, %ymm14 + +/* polynomial evaluation */ + vsubps %ymm5, %ymm7, %ymm5 + vmulps %ymm1, %ymm14, %ymm8 + vmovups 2208+__svml_satanh_data_internal(%rip), %ymm1 + vaddps %ymm5, %ymm8, %ymm5 + vfmadd213ps 2176+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps 2144+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps 2112+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps 2080+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps 2048+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps 2016+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps 1984+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vmulps %ymm1, %ymm5, %ymm7 + vfmadd213ps %ymm5, %ymm5, %ymm7 + vmovaps %ymm6, %ymm2 + vfmadd213ps %ymm6, %ymm6, %ymm2 + +/* final reconstruction */ + vfmadd132ps 3328+__svml_satanh_data_internal(%rip), %ymm7, %ymm0 + +/* Record the sign for eventual reincorporation. */ + vandps 2880+__svml_satanh_data_internal(%rip), %ymm6, %ymm3 + +/* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ + vorps %ymm3, %ymm2, %ymm2 + +/* Finally, halve the result and reincorporate the sign */ + vxorps 2688+__svml_satanh_data_internal(%rip), %ymm3, %ymm3 + vmulps %ymm0, %ymm3, %ymm0 + vblendvps %ymm4, %ymm2, %ymm0, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm6, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_satanh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_atanhf_avx2) + + .align 16,0x90 + +__svml_satanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_satanh_cout_rare_internal,@function + .size __svml_satanh_cout_rare_internal,.-__svml_satanh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_satanh_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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 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 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 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 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 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .long 1317011456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .long 1052770304 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .long 1050673152 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .long 1031798784 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .long 1106771968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .long 4294901760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .long 813694976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 201326592 + .long 201326592 + .long 201326592 + .long 201326592 + .long 201326592 + .long 201326592 + .long 201326592 + .long 201326592 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_satanh_data_internal,@object + .size __svml_satanh_data_internal,3584 + .align 4 + +__satanh_la__imlsAtanhTab: + .long 1065353216 + .long 0 + .long 2139095040 + .type __satanh_la__imlsAtanhTab,@object + .size __satanh_la__imlsAtanhTab,12 diff --git a/sysdeps/x86_64/fpu/svml_d_atanh2_core.S b/sysdeps/x86_64/fpu/svml_d_atanh2_core.S new file mode 100644 index 0000000000..36f549ddd9 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atanh2_core.S @@ -0,0 +1,29 @@ +/* Function atanh vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_atanh) +WRAPPER_IMPL_SSE2 atanh +END (_ZGVbN2v_atanh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_atanh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_atanh4_core.S b/sysdeps/x86_64/fpu/svml_d_atanh4_core.S new file mode 100644 index 0000000000..6d6d11e85e --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atanh4_core.S @@ -0,0 +1,29 @@ +/* Function atanh vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_atanh) +WRAPPER_IMPL_AVX _ZGVbN2v_atanh +END (_ZGVdN4v_atanh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_atanh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_atanh4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_atanh4_core_avx.S new file mode 100644 index 0000000000..b4cfa275c8 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atanh4_core_avx.S @@ -0,0 +1,25 @@ +/* Function atanh vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_atanh) +WRAPPER_IMPL_AVX _ZGVbN2v_atanh +END (_ZGVcN4v_atanh) diff --git a/sysdeps/x86_64/fpu/svml_d_atanh8_core.S b/sysdeps/x86_64/fpu/svml_d_atanh8_core.S new file mode 100644 index 0000000000..b31a6a72a1 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_atanh8_core.S @@ -0,0 +1,25 @@ +/* Function atanh vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_atanh) +WRAPPER_IMPL_AVX512 _ZGVdN4v_atanh +END (_ZGVeN8v_atanh) diff --git a/sysdeps/x86_64/fpu/svml_s_atanhf16_core.S b/sysdeps/x86_64/fpu/svml_s_atanhf16_core.S new file mode 100644 index 0000000000..2ea61888e7 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atanhf16_core.S @@ -0,0 +1,25 @@ +/* Function atanhf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_atanhf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_atanhf +END (_ZGVeN16v_atanhf) diff --git a/sysdeps/x86_64/fpu/svml_s_atanhf4_core.S b/sysdeps/x86_64/fpu/svml_s_atanhf4_core.S new file mode 100644 index 0000000000..6904cc388a --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atanhf4_core.S @@ -0,0 +1,29 @@ +/* Function atanhf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_atanhf) +WRAPPER_IMPL_SSE2 atanhf +END (_ZGVbN4v_atanhf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_atanhf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_atanhf8_core.S b/sysdeps/x86_64/fpu/svml_s_atanhf8_core.S new file mode 100644 index 0000000000..31d695fb5d --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atanhf8_core.S @@ -0,0 +1,29 @@ +/* Function atanhf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_atanhf) +WRAPPER_IMPL_AVX _ZGVbN4v_atanhf +END (_ZGVdN8v_atanhf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_atanhf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_atanhf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_atanhf8_core_avx.S new file mode 100644 index 0000000000..6c24eaf45c --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_atanhf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function atanhf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_atanhf) +WRAPPER_IMPL_AVX _ZGVbN4v_atanhf +END (_ZGVcN8v_atanhf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx.c new file mode 100644 index 0000000000..0bdeec7851 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-atanh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx2.c new file mode 100644 index 0000000000..0bdeec7851 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-atanh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx512f.c new file mode 100644 index 0000000000..0bdeec7851 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atanh-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-atanh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-atanh.c b/sysdeps/x86_64/fpu/test-double-libmvec-atanh.c new file mode 100644 index 0000000000..41dd8e7af3 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-atanh.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC atanh +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index cd802e0c6d..85b3129618 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -33,6 +33,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVbN2v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVbN2v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVbN2v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVbN2vv_atan2) +VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVbN2v_atanh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index a04980e87a..e3e88fe268 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -36,6 +36,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVdN4v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVdN4v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVdN4v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVdN4vv_atan2) +VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVdN4v_atanh) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 9c602445e7..6f81f13d37 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -33,6 +33,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVcN4v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVcN4v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVcN4v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVcN4vv_atan2) +VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVcN4v_atanh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index d1e4b8dd01..197ff12338 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -33,6 +33,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asin), _ZGVeN8v_asin) VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVeN8v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVeN8v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVeN8vv_atan2) +VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVeN8v_atanh) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx.c new file mode 100644 index 0000000000..6f89ae70f2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-atanhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx2.c new file mode 100644 index 0000000000..6f89ae70f2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-atanhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx512f.c new file mode 100644 index 0000000000..6f89ae70f2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atanhf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-atanhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-atanhf.c b/sysdeps/x86_64/fpu/test-float-libmvec-atanhf.c new file mode 100644 index 0000000000..33a022adb8 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-atanhf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC atanhf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 65e0c2af7d..d21d943404 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -33,6 +33,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVeN16v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVeN16v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVeN16v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVeN16vv_atan2f) +VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVeN16v_atanhf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index b0cad1e107..3d24faf8dc 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -33,6 +33,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVbN4v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVbN4v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVbN4v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVbN4vv_atan2f) +VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVbN4v_atanhf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 359aa445ba..f176c1f4b0 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -36,6 +36,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVdN8v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVdN8v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVdN8v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVdN8vv_atan2f) +VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVdN8v_atanhf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 80730777fc..281eb58ad4 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -33,6 +33,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinf), _ZGVcN8v_asinf) VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVcN8v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVcN8v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVcN8vv_atan2f) +VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVcN8v_atanhf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48079 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DD66E3857C66 for ; Wed, 24 Nov 2021 19:50:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DD66E3857C66 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783441; bh=GceV1EIojf3/6KU/7FdMglIdNirj/308GGoopTM3/EE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=lei6SxYQxdPYEGVoZ4lMdftgctGNZC0LnL7vyLvHAlbu95GBAjBZ2bZBkQc3mOOVG bVYgH7M8j4EWpnchrdAqmjlW9U5M5KpLbccoDoqlggmWr5ifSb7K/1DPvojXGjjHSJ npgSiDQTT3E2/hsD+Fzi/F+Zz5KuujoWhphWg/vY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id A7A46385802A for ; Wed, 24 Nov 2021 19:38:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A7A46385802A X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="222581820" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="222581820" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="510002832" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga008.jf.intel.com with ESMTP; 24 Nov 2021 11:38:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7X1021555; Wed, 24 Nov 2021 11:38:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 14/42] x86-64: Add vector atanh/atanhf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:39 -0800 Message-Id: <20211124193807.2093208-15-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector atanh/atanhf and input files to libmvec microbenchmark. libmvec-atanh-inputs: 90% Normal random distribution range: (-1.0, 1.0) mean: 0.0 sigma: 1.0 10% uniform random distribution in range (-1.0, 1.0) libmvec-atanhf-inputs: 90% Normal random distribution range: (-1.0f, 1.0f) mean: 0.0f sigma: 1.0f 10% uniform random distribution in range (-1.0f, 1.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-atanh-inputs | 4100 ++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-atanhf-inputs | 4100 ++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-atanh-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-atanhf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index dea6989d9a..fbbf2e6a9a 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -44,6 +44,7 @@ libmvec-bench-funcs = \ asinh \ atan \ atan2 \ + atanh \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-atanh-inputs b/sysdeps/x86_64/fpu/libmvec-atanh-inputs new file mode 100644 index 0000000000..fd9a35f7e9 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-atanh-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-1, 1), mean = 0, standard deviation = 1 +-0x1.11003707ad71cp-2 +-0x1.1f03ac14205d9p-1 +-0x1.5838c30ed6fc3p-1 +-0x1.4da85539de3b5p-1 +-0x1.c8504e37d86ddp-2 +-0x1.ea09e1c33d868p-1 +0x1.7280a3c0da21ep-3 +0x1.ab9c04900f4f5p-3 +-0x1.b43cda4d6705ep-3 +-0x1.6e4445cbd37d4p-1 +-0x1.da8bf72b700aep-1 +-0x1.0908b9d017ed2p-3 +-0x1.3227ed5b58471p-5 +-0x1.c10dd2b9255f4p-2 +-0x1.2bbc5f516e8d5p-2 +-0x1.b20d60c7a530ap-8 +0x1.1ee5aa3496dfdp-1 +-0x1.bae5630be8fa1p-2 +-0x1.044a9a182f9f8p-1 +-0x1.8d7e8be40c528p-3 +0x1.a4315405b11c5p-1 +0x1.b3fd5670ecd4ap-1 +0x1.d6772a99b9e6cp-1 +0x1.00828434dd2d8p-2 +0x1.1a0f2b4692737p-1 +0x1.6a3b90d8a2564p-2 +0x1.d6f5020515c26p-2 +0x1.6fbe4ba8d9446p-2 +-0x1.65602f611315cp-8 +-0x1.761797c2f616p-2 +0x1.7fbad97602089p-5 +0x1.cf4f8200615c7p-2 +-0x1.cdac598660c09p-2 +0x1.684600e9f3442p-3 +-0x1.3c18dfcd0f52cp-4 +0x1.e264029c179bdp-1 +-0x1.dae845c7c42b6p-2 +0x1.38ee2466d3ccep-1 +-0x1.1ba2e924596fp-7 +-0x1.e846c32ac146ap-1 +0x1.5ad90e7163024p-1 +0x1.635b913d56b61p-1 +0x1.407263f7072fap-1 +0x1.925071d48b0b3p-1 +0x1.f11f734377897p-1 +0x1.335461bd7b01dp-2 +0x1.36fb0d6a8de52p-1 +0x1.29598e8e6b2c2p-1 +0x1.99eacd8a58849p-3 +0x1.9be853d383652p-3 +0x1.d735c6f58fd54p-5 +0x1.a1e876e99cc25p-1 +0x1.1e0159be4e81ap-9 +0x1.cb814b7ce6be9p-1 +0x1.ef5984a81ededp-3 +0x1.4511a4ee5b844p-3 +0x1.c3236baf357dbp-3 +-0x1.b5663a8cd3b9ep-5 +0x1.f9775cb63303ap-1 +-0x1.fbe0031478fdap-1 +0x1.ec4068e7020c7p-4 +0x1.0af7c1486d593p-1 +-0x1.18e6b70f08559p-1 +0x1.2fc06a93c1a14p-2 +-0x1.0df60b2d5d5dcp-1 +-0x1.fd3eaf213d1e8p-1 +-0x1.f9bea93247eaap-4 +-0x1.a8a18bac42c3ep-4 +0x1.1e32df11779f8p-1 +0x1.8035aed7e3caap-4 +0x1.6e5336703809cp-1 +-0x1.6861d6c10a35ap-1 +-0x1.ead9531ceaba8p-2 +0x1.2fd210e98fe19p-1 +0x1.844b6aaf4a018p-1 +-0x1.be60b50cdda5bp-2 +0x1.6afc43a9ea6d4p-1 +0x1.7db1b789b8ae3p-3 +-0x1.8902483c892f9p-3 +-0x1.3d22023424ea9p-2 +-0x1.e94e3d53833bep-8 +-0x1.cddf65f662a4ep-1 +-0x1.f5d26520f4c51p-1 +-0x1.ea04b4cf878fbp-4 +0x1.29c33813f534dp-5 +-0x1.c2ee5e411a0abp-1 +0x1.97aca2b66caa5p-2 +0x1.6abe8d536e76cp-1 +0x1.df29a8a6cba7dp-1 +0x1.21ccb149e5916p-3 +0x1.9c79d91cd3abbp-1 +-0x1.253082fbb949cp-4 +-0x1.a401128cbd47p-2 +-0x1.7794302387928p-1 +0x1.77052a301b523p-2 +-0x1.2b1873ae6cd4p-4 +-0x1.f6f973d4846eep-1 +-0x1.0d40996ac67dep-1 +-0x1.4613a9aa74a1ep-4 +0x1.fb9105e7aec3fp-3 +-0x1.16fa49c45cebcp-2 +0x1.2c57f42e821ap-1 +0x1.130f2d64c0e04p-1 +-0x1.8b8cb3370be2bp-1 +-0x1.a9f6495b21f7ep-1 +0x1.88e06bd995039p-2 +0x1.750ec69bb3a04p-1 +-0x1.0dd8abfb7163fp-1 +-0x1.99309e84c1aa3p-2 +-0x1.08b1bb04fcb2fp-2 +0x1.3d9e1719d2eedp-4 +0x1.0a5b3dcd01fc6p-2 +0x1.a170f60a6ed18p-2 +-0x1.c5393001f2817p-2 +-0x1.8f8d41cd02deep-1 +-0x1.f49e6ed2ea59dp-3 +-0x1.7a129db836d66p-8 +-0x1.1ae76b7d889bbp-1 +0x1.087a59865458p-4 +0x1.6aff85979d2e4p-1 +-0x1.62fa8a2d852ep-2 +0x1.b66d4b202c901p-2 +0x1.b32cf8b59341dp-2 +-0x1.f16faac24958cp-2 +-0x1.ac60d9bcb0c1ep-1 +-0x1.fbdc48a31f484p-3 +0x1.ce8d89c689577p-2 +-0x1.f0575d582a6f9p-2 +0x1.e23bc0ab89368p-2 +0x1.cf7eeb6e0abc7p-2 +0x1.38160acb69ed3p-1 +-0x1.261fef79be8afp-1 +0x1.45cf87ff96e16p-5 +-0x1.d895eb2acfd26p-1 +0x1.3c7e0f26d9a5dp-1 +-0x1.bb2ef32c0e29bp-1 +-0x1.46be0cc7d69d2p-3 +0x1.3d225138898dep-2 +0x1.6bb15c61ca5f1p-1 +-0x1.1ace063e93befp-2 +-0x1.81d19c894bb91p-4 +0x1.3f8ac7be8ab6cp-2 +-0x1.e6965bce97654p-1 +-0x1.b57d146d9fecep-1 +-0x1.11d16c19c3bf8p-3 +-0x1.8f5e47361574p-2 +0x1.86781351ae4afp-2 +-0x1.d28fec264c5bbp-2 +0x1.f2d6b29ddd1fdp-4 +-0x1.4314fbc60688dp-3 +-0x1.3d2ddbf4fb65cp-1 +-0x1.91560bb9916ap-3 +-0x1.207899d59db57p-1 +-0x1.dc4ac967fabf9p-3 +0x1.ab49a65f38c0ep-2 +-0x1.eb130826e1895p-2 +-0x1.e7106b5cd09a4p-3 +0x1.696b3cb702757p-1 +0x1.ce3576497d7cp-1 +-0x1.8652cde59b041p-2 +-0x1.548a943d70c97p-2 +-0x1.f25d36c6dd90cp-3 +-0x1.d71921c74e86ap-2 +0x1.83b4a079a27e7p-1 +-0x1.1f373e6a1bcbap-3 +0x1.13306c72f0a09p-2 +0x1.61510c88f5508p-5 +-0x1.b37f3cbae82b2p-3 +0x1.59e1b120e78c1p-1 +0x1.4f8ea8f2b2961p-1 +-0x1.1c519eb7f0d69p-3 +0x1.3c58fc37889p-1 +0x1.c0e9d5de7777fp-1 +-0x1.45924349efd71p-1 +0x1.2cfb2503184b6p-6 +0x1.853c9a6a80e5fp-3 +-0x1.00b1d997f5fbep-5 +0x1.615230b0d5311p-1 +-0x1.0bf550e931a92p-1 +0x1.1bbe241b89cdap-1 +0x1.b815861fcf449p-1 +0x1.279ef16db5323p-2 +-0x1.90195a7f08b23p-2 +0x1.cc7c5104079d9p-6 +-0x1.548ec77748c92p-2 +0x1.bff54863bbb13p-1 +0x1.cbfa05a9ff372p-2 +0x1.501f90d4da71dp-1 +-0x1.3d8029781c0b5p-2 +-0x1.1185907f2891p-1 +0x1.2aa161a477366p-2 +0x1.e3c221a69c122p-1 +0x1.9d3e2c47eba7cp-1 +-0x1.2e21864f8979ap-3 +0x1.05d96678310bp-1 +-0x1.e5720f8e796fp-2 +-0x1.769eb387f45cfp-1 +0x1.96443428c83a4p-2 +0x1.3a316fc183cdbp-3 +0x1.b3009a6de004ep-3 +-0x1.ed8923480f39ap-3 +0x1.4ef2ff01ddc15p-2 +0x1.d4a29648b5b98p-1 +-0x1.8543db067585fp-2 +0x1.39c3eefea7c9fp-4 +-0x1.9d594484fb3e8p-2 +0x1.19f114c4cbe4fp-1 +-0x1.aced0f9aed0e9p-1 +0x1.65e234d9d723p-1 +0x1.81eea275987dcp-1 +-0x1.e09ae78c0f3d3p-2 +0x1.88cff5ac2b027p-2 +-0x1.968f240a875f7p-1 +0x1.b0dc5207eb04ap-2 +-0x1.949d08f8c29a8p-3 +-0x1.6216dec7445a1p-4 +0x1.02a4c5bc845a4p-8 +0x1.9d0d59339304dp-1 +-0x1.53b09fd56345fp-2 +-0x1.b239cdf03ac1ep-2 +-0x1.71a60561f2064p-4 +0x1.378dbd3e3a659p-2 +-0x1.28a53517f7768p-2 +-0x1.d4008c69c59adp-1 +-0x1.be0504a33b632p-5 +-0x1.5dabf200f756p-6 +-0x1.e6a4d3abe3088p-1 +0x1.f591180c51366p-1 +0x1.942c7148cde5ap-2 +-0x1.73fc05810249p-2 +-0x1.9185946d2b52ap-2 +-0x1.b7fb2cfe67b55p-2 +-0x1.4beef70ae865ep-2 +-0x1.9ce8c85734c31p-1 +-0x1.737e66f44a295p-3 +0x1.e33526ca99p-1 +-0x1.47b07cd872cc6p-1 +-0x1.a15cdae0069dp-3 +-0x1.ac6db2a5a8104p-2 +0x1.bb99adabb7695p-2 +-0x1.2993127a62fabp-3 +0x1.a0ae02a90565bp-2 +0x1.6c88688bf3d0ep-1 +0x1.b699a7f6a7a3ep-1 +0x1.5aac394582e8ap-1 +-0x1.2168cdb45a42cp-3 +0x1.2e485a8c6a78ap-4 +0x1.f078a16ddbf3cp-1 +-0x1.7304dc64e5d25p-1 +0x1.3c0eaf7233825p-2 +-0x1.af841b378367ap-3 +-0x1.e4bf2c89063edp-2 +0x1.97137406810c5p-6 +0x1.7b323cf745735p-2 +-0x1.684ab251b1ce1p-3 +0x1.e4b5302c127c3p-2 +-0x1.afe7254c2591ap-2 +0x1.d0065fe66e50cp-4 +0x1.826d13d890139p-1 +-0x1.3253d2afe1b8dp-1 +-0x1.7e5a943926cb6p-1 +-0x1.ba8b241fbebep-2 +-0x1.dce1bbf206014p-5 +-0x1.e1ee3cfd1f65ap-1 +0x1.8a59e5bc58019p-1 +0x1.72b319253eee7p-2 +-0x1.f0a78fd5454d7p-2 +-0x1.ec9f639a8510ep-2 +-0x1.ef4d44582ca63p-1 +-0x1.45030ba429744p-2 +0x1.a2a4ff4868a38p-2 +0x1.f291cfa1b465bp-2 +0x1.0c5e3ac756171p-1 +0x1.0b13ec95f71a5p-2 +0x1.5b22063d3f771p-1 +-0x1.c752f2d48be01p-3 +0x1.3d1510a4f8cdbp-1 +0x1.17da3098fa41dp-1 +-0x1.266a093459c2ap-1 +0x1.f81c0f099f2cep-1 +-0x1.347da4da856a7p-2 +-0x1.39b4ff032f74p-4 +0x1.b9a57659a198ep-1 +-0x1.7218160918b0bp-1 +-0x1.668931cb016d5p-2 +-0x1.863bf99b9a269p-2 +0x1.e559736ebfa14p-1 +0x1.11701ffaaed4bp-3 +-0x1.5340baefc13b2p-1 +0x1.b42cffb5695fcp-2 +0x1.a9ca39d6dd6d5p-1 +-0x1.5506bc6b3344fp-2 +0x1.7d3bab08c2e5dp-3 +0x1.ba237ef743cb1p-2 +-0x1.9d3fecf588cedp-1 +0x1.04414d215c2dcp-1 +-0x1.1ab065eb10c66p-1 +0x1.bb68097337c3dp-1 +-0x1.e284efe228a5bp-1 +-0x1.bcfc0ccd8bdb9p-4 +0x1.010d86d3def47p-2 +-0x1.7ff50886aa934p-2 +-0x1.714b7a435c98ap-1 +0x1.c81f219cb6323p-1 +0x1.acdd642170b2cp-2 +-0x1.8e537b09f6587p-2 +-0x1.28ed6f2f91617p-3 +0x1.16d3d6bb5bb5p-1 +0x1.36a936e3ebbd3p-1 +0x1.b548ae3c0fcedp-1 +-0x1.62ef4260938d8p-2 +0x1.ac459d085ef3cp-4 +-0x1.639dbbec184b2p-3 +0x1.da644b4ec0c1bp-1 +-0x1.e0024f1700b7ep-2 +0x1.5ce9feb3fec2ep-1 +0x1.caf30f2f2f5c5p-2 +-0x1.ad21817854b0ap-2 +0x1.03266ab853368p-1 +0x1.ff0c92e59680bp-3 +-0x1.2ee54faad1af5p-1 +0x1.ec9c2b38dbc5fp-3 +0x1.3552315701a58p-7 +-0x1.d3868f8655a01p-1 +-0x1.593af265b0f1cp-2 +-0x1.6fcb3685e1188p-1 +-0x1.dd79d7aa5a8f8p-1 +0x1.55402eb22877fp-6 +-0x1.7758f8ef73ce5p-1 +-0x1.129ed6c9fec09p-1 +0x1.47b15b059fa22p-2 +0x1.c37c3800e473fp-4 +-0x1.55e59b46e00fep-1 +0x1.15ab24a33c4afp-2 +0x1.0e450f3ea087bp-3 +0x1.8cb4a41e39bd7p-1 +0x1.c468190d6e81bp-3 +-0x1.189c5db00beabp-1 +0x1.12c705018ea08p-1 +0x1.568e8537fddafp-6 +-0x1.e01c8ad4d6716p-1 +0x1.60c16dbb9f8b4p-3 +0x1.821b65b56e9d4p-2 +0x1.49d4a47602299p-4 +-0x1.9536fd2b229e5p-3 +-0x1.e45f70770ffa6p-1 +0x1.f42e02754d539p-5 +-0x1.1447c8f7f0803p-2 +-0x1.3814c90a3de51p-1 +-0x1.b768bf096a393p-1 +-0x1.db96f4672c59fp-1 +0x1.b7e8d8652d20bp-1 +0x1.31f092f938cp-1 +-0x1.379037b079f64p-1 +0x1.e8d0615bb1b3ap-1 +-0x1.7e58d6afdb1b9p-2 +0x1.cc9f2aaf79d97p-1 +-0x1.c4cbe4c652089p-2 +0x1.2084693f36931p-1 +-0x1.8b59479c34dacp-3 +0x1.8a8b20b240b6fp-2 +0x1.ff5246459affp-3 +-0x1.e5886f2da10b1p-1 +-0x1.b143aad20aa5ap-2 +-0x1.838bc62cdfb8p-2 +0x1.df434c0fa8f6ap-3 +0x1.254967c3d947fp-3 +0x1.0efb15037e6dfp-1 +0x1.4d5cb9f362b26p-1 +-0x1.b1937baaf010bp-3 +0x1.cc6ca50f8a3efp-1 +0x1.4a1dae90d7411p-3 +0x1.55b3e6055d0e1p-5 +-0x1.1aa44da042bb6p-1 +-0x1.b0bd843ab6a4ap-1 +-0x1.f054c11c6fd4cp-5 +0x1.d0a0747739ef9p-3 +0x1.41625bb6bb69ep-9 +-0x1.40f225f19d807p-1 +0x1.68f2251556c42p-2 +-0x1.7b88d0971cb8fp-1 +0x1.9881037ac5d0cp-2 +-0x1.d7dcb5bf10201p-8 +-0x1.047d0738b0548p-1 +0x1.99fc73dff87f1p-2 +-0x1.1cc8ea88902bdp-2 +-0x1.3f006e8f475cdp-1 +0x1.616499a14aaecp-3 +-0x1.14f850c38af3ap-1 +0x1.152221a1e5ec1p-3 +-0x1.dda46f82ac25fp-2 +-0x1.ebd99dffbb2c1p-2 +0x1.fd966020d3d82p-1 +0x1.109c0a3406d9cp-2 +0x1.08c908be8c44dp-2 +-0x1.0e232850400eep-1 +-0x1.b9f7921fe5df1p-2 +-0x1.0db7cd63aa192p-2 +-0x1.5b2f8fe8e2d73p-1 +-0x1.31bd792341a6fp-1 +0x1.698de691c7e25p-1 +0x1.5916dba89ea0cp-1 +0x1.94f61b50158e4p-5 +-0x1.8478f81625835p-1 +0x1.85f2a22dbc78cp-3 +0x1.6ed2a7fc6ff22p-3 +-0x1.88231dca9889fp-4 +0x1.3b45876742c98p-1 +0x1.c568a632a54f1p-1 +0x1.3bcd8bbb91ce4p-1 +0x1.d1e3303547257p-1 +-0x1.6a87eb5d38a3dp-1 +-0x1.60d4fb529d061p-6 +-0x1.f4fc225d9bfd2p-1 +0x1.f9a2508505615p-3 +-0x1.ab8ce8c5036fdp-3 +0x1.99274d4947665p-3 +0x1.6ee10190d744bp-2 +0x1.865bcdfbfe84bp-1 +-0x1.036fe87d648a6p-1 +0x1.d33039a6687e5p-4 +0x1.681635f580025p-1 +0x1.f67006626433fp-1 +0x1.9b7f31d955738p-1 +-0x1.fea613e6a7e47p-6 +-0x1.adf07f99080b1p-1 +-0x1.c6ff784a5846dp-1 +-0x1.66360c4d84d4cp-1 +0x1.2d187fe4d9616p-1 +-0x1.a19827cb2b281p-1 +0x1.3a13a0ae983f5p-1 +-0x1.780cef3cd015cp-2 +0x1.6128b1ee4e238p-1 +0x1.bf9da80551537p-2 +0x1.0ae6ec582d27ap-1 +-0x1.519680b429656p-2 +0x1.07598173ad01ep-2 +0x1.178cad6720448p-5 +0x1.6b3713606e908p-3 +0x1.9b39f2eb74eb1p-1 +-0x1.d1b80e7c5af4fp-1 +-0x1.bf7de089ee40bp-1 +0x1.ea5ec156bac88p-1 +-0x1.8ae87a60df294p-1 +0x1.0c18504490a73p-1 +0x1.6455c177d0d72p-2 +-0x1.b4951c9daf538p-2 +0x1.220f603d1e01cp-1 +0x1.09e96024014f6p-1 +-0x1.b1165a43c5c1dp-1 +-0x1.26eaa37b73589p-1 +-0x1.9657b29aaf014p-2 +0x1.25d18013304f9p-1 +0x1.17f54ccdb1492p-2 +-0x1.3ebe73f75b15cp-1 +-0x1.2865ded9b709ap-3 +0x1.e5f60d67b72c9p-5 +0x1.074894afb4a68p-1 +-0x1.77bcac716d62cp-2 +-0x1.8ec86add9aeefp-4 +-0x1.f727374002d1dp-3 +0x1.219fdd9159794p-2 +0x1.5753bc1e8f686p-3 +-0x1.5c513c3aff73cp-8 +0x1.54c0aa8028eafp-1 +0x1.0aefb256acaa6p-1 +-0x1.4f42f362a07dbp-1 +0x1.7d3d03a0cd29cp-2 +0x1.52dc5518c03d1p-1 +0x1.152d96988dfcbp-1 +-0x1.b9362861efb2ap-1 +0x1.6f1701555f85fp-2 +0x1.247af4585a46fp-1 +-0x1.82e73ed18d53dp-2 +0x1.12f232801512cp-2 +0x1.2d4502ac51d3p-4 +0x1.ef4225e07b545p-2 +0x1.f80584e5fb2d6p-2 +0x1.f2ed8609d0483p-1 +-0x1.ec149381a56ep-3 +0x1.10f4e21b1dc18p-2 +-0x1.84c3d380eaf0ap-2 +0x1.6536d3822a5dbp-1 +0x1.838a198ed8cdbp-7 +0x1.32d80d3aac2f4p-2 +-0x1.9c26870369fe7p-1 +-0x1.307611302dc42p-2 +-0x1.189ae531d5c74p-2 +0x1.7dabb7015dbccp-3 +-0x1.46b15dd71b6a3p-1 +0x1.586a8ce67f2f6p-2 +-0x1.6145556b90223p-1 +-0x1.9271db76a9a42p-4 +-0x1.34681fafe2e6bp-4 +0x1.c4afdfb77bce6p-1 +-0x1.94f576076f3f6p-2 +0x1.3e406ebb0b494p-2 +-0x1.e5bd1f0c77475p-1 +-0x1.4826da1a6fb3bp-1 +-0x1.13ce40f99bf7bp-4 +-0x1.40cd7e5d60aecp-9 +-0x1.19a972728a2d8p-2 +0x1.dda92a62ee88fp-1 +0x1.84f46abbbd47bp-2 +-0x1.727f2b1502ce2p-2 +-0x1.b9a03fa812b65p-1 +-0x1.5b54a8be61f33p-3 +-0x1.a81c71fe36b8ep-2 +0x1.935030c4ba176p-1 +0x1.8103dbff05cedp-3 +-0x1.9c5866f93b68fp-1 +-0x1.1a268680e3411p-1 +-0x1.3ba3bee44776fp-1 +0x1.00cac957880d8p-4 +0x1.6e38c79a3a629p-2 +-0x1.11bd078b261d1p-1 +-0x1.a112b6d648e72p-1 +0x1.8fed914bb2cffp-3 +-0x1.0cae8b7cb7f28p-1 +-0x1.6150254008025p-1 +0x1.dc9001dd29cdp-2 +0x1.7f0cf0befbae9p-2 +-0x1.452b5b358d993p-2 +0x1.882dd6d58fb3p-1 +0x1.2e61f0ca33ep-4 +0x1.80f26ecd63442p-5 +-0x1.59db1552e1a15p-2 +-0x1.e10c40e71879bp-2 +-0x1.628050434b9fep-1 +0x1.f3e4c5419aafdp-1 +-0x1.da90ccfcca91fp-2 +-0x1.2ce42a5c335a8p-2 +-0x1.19b0494251d83p-3 +0x1.4bdca09b25806p-2 +-0x1.b4551f48e5e14p-1 +-0x1.c3e7b0cda300ap-1 +-0x1.851b7aa9f2e58p-2 +-0x1.394900efd90a5p-4 +-0x1.c0df639b1f95bp-1 +0x1.b57ef080526a1p-1 +0x1.6e593e63048dp-1 +-0x1.b3b2e53f25ff4p-1 +0x1.20b8481ed33p-3 +-0x1.e40dbf90af69fp-2 +-0x1.85c872b5fe48p-3 +0x1.daba6fbce7222p-1 +-0x1.1c90b64eade2dp-1 +-0x1.0cee4cade79eap-3 +0x1.9d18d9c89b6d5p-2 +0x1.24a594ec3955bp-2 +-0x1.1386072cb5767p-1 +-0x1.4f44b083f6f77p-3 +0x1.ce504b8600805p-1 +-0x1.096d3f1f86262p-1 +0x1.58e5a7a15838dp-1 +-0x1.c0f158c0b386ep-1 +0x1.7bec591bcb9f1p-1 +0x1.acf4457026889p-3 +-0x1.081e4b193da3p-1 +-0x1.af18d2905362dp-4 +-0x1.816382b888e2ap-2 +0x1.cada85eca0269p-1 +-0x1.857e75135f75ap-3 +-0x1.e6e3ddc7b99dp-1 +-0x1.e91d19d11a9e3p-1 +0x1.8fdd59da7273p-2 +0x1.4b6786c836facp-1 +-0x1.b9fc6897f58cfp-1 +-0x1.47c5e44db5cfdp-1 +-0x1.79047a2057605p-3 +0x1.2acbeee069b98p-3 +-0x1.1005032e784bap-1 +-0x1.98ba1addf270ep-2 +-0x1.33782a6e11156p-2 +0x1.a805bfbe7435ep-2 +-0x1.6baefbf516dc7p-1 +-0x1.21c30a32cda9ap-1 +0x1.62072a0760112p-6 +-0x1.39b197eda3b67p-1 +0x1.7f04c21a59f65p-2 +-0x1.39f94c59356c8p-1 +0x1.3ddeeff0904dp-5 +-0x1.1ee2ce778752ep-5 +-0x1.6899a578aa20fp-1 +0x1.dc1aa30ec4db2p-3 +-0x1.b601c472fde84p-3 +0x1.a8462321fb8p-2 +-0x1.33c518cb111f3p-1 +0x1.a6798664f5c9p-1 +-0x1.6077f66d571e5p-1 +-0x1.16a5451e26682p-1 +-0x1.5e37dd26ac9dap-3 +0x1.cdd5a0cabf976p-2 +-0x1.bfefec036a01p-1 +-0x1.618704dd2237ep-1 +-0x1.17cefc37ce9e6p-2 +-0x1.4c77e02f9c4b2p-1 +0x1.6f3eebec64ab6p-3 +-0x1.52b944245b838p-2 +-0x1.5cc46dbfcb373p-3 +-0x1.208c44c5508cbp-1 +0x1.81c26d68ec56p-2 +-0x1.a20602060a734p-1 +0x1.17946adcb0123p-4 +0x1.ebae791dc0e76p-2 +0x1.1156ce1170e2ep-2 +-0x1.8f8275af8013ap-1 +0x1.1ddf12ae2e858p-2 +0x1.e2158a0dbcab6p-2 +-0x1.daaed0c01f5aap-1 +0x1.f60184bdc9d7dp-3 +0x1.7304797757b6dp-4 +-0x1.1b0870e4b2ddfp-2 +-0x1.8030c09dc94dap-2 +-0x1.1eaf484d16af4p-2 +0x1.5f4fcdf057914p-1 +-0x1.07f92ebdf0646p-2 +0x1.8976c0c835b33p-1 +0x1.97525efa2886bp-2 +0x1.22d4d3404221ap-1 +-0x1.39b1efce626c6p-1 +0x1.53b1b5e962d6fp-1 +-0x1.0fbae3676fcf6p-1 +-0x1.fbd592bfe26a7p-1 +-0x1.2bcc972227b6p-2 +-0x1.74dc0b082c1dbp-2 +-0x1.ff7f930fd5e04p-2 +-0x1.8c8db066a8634p-2 +0x1.2e4de69b3172fp-1 +0x1.d16f60be25e2p-1 +0x1.58f0deb360e7p-3 +0x1.0e3bd98783ebp-3 +-0x1.c56b26cd3b0e1p-2 +0x1.7131b1eae0801p-1 +-0x1.64f178d84bd9ap-1 +0x1.23e878698dbd8p-1 +-0x1.aec4fa9e8ba9cp-3 +-0x1.88ad447acc67fp-3 +-0x1.ce6f1619037b1p-1 +0x1.2220e8d088964p-3 +0x1.5eedc05f9aa27p-2 +-0x1.e5c615bc4bffp-3 +-0x1.dd82938144e22p-1 +-0x1.29bfc266ae7abp-5 +0x1.5fafe5b5edad1p-1 +-0x1.22b3574e65c91p-1 +0x1.6651c618cf3f4p-7 +0x1.e17a669700255p-1 +0x1.d3c68b80f60d5p-2 +-0x1.56483d0667741p-4 +0x1.f538f451b9fdp-3 +-0x1.d04bfc083145dp-4 +-0x1.3883f7b6f31edp-2 +0x1.c91f37757fd7ep-3 +0x1.84bc463b503aap-4 +-0x1.fb2979688c18dp-1 +0x1.f4b9e2ad91dap-4 +0x1.1f839c02aea09p-3 +0x1.796b8f1d9cd6p-4 +0x1.632f413730eecp-5 +-0x1.8e656348d3b5bp-3 +-0x1.283e2b9962ba7p-5 +-0x1.6757876dcae7ap-3 +0x1.01319694076e6p-1 +0x1.cd2e9a67a077ap-5 +0x1.bbe7756c878aep-1 +-0x1.01f5185a530a2p-1 +-0x1.8fc528ee4a816p-1 +0x1.7e09d6394726bp-1 +0x1.b3ec39d73b7b1p-4 +-0x1.982cae8330074p-1 +0x1.68e118ffda33p-1 +0x1.428b724b52cd1p-1 +-0x1.d2f639ca66964p-3 +-0x1.d183a5109a288p-4 +-0x1.549fc168d98a7p-2 +-0x1.d3ba9491d2209p-1 +-0x1.54198cd76ee49p-7 +0x1.3010effb2a9d8p-3 +-0x1.607ea18e94ccep-6 +-0x1.85076cea8dee2p-1 +0x1.10b0ca3231d11p-1 +0x1.29b29933c5641p-1 +-0x1.84dcdbd7cb5b2p-4 +0x1.f93c4c1ff8b2p-1 +0x1.efae6a4345834p-1 +-0x1.904df897d65a6p-4 +-0x1.a7399e357df9dp-5 +-0x1.3469c823bafdbp-7 +0x1.b1cb35b097958p-2 +0x1.0c8065025cd4ap-2 +0x1.53f72f16765c3p-1 +-0x1.863f60a9005cbp-2 +-0x1.270593c7223d4p-2 +0x1.b3360925278c1p-1 +-0x1.53f3f9eefbb21p-3 +0x1.2acbf9ebe9e7fp-2 +-0x1.8d57deab6dd4p-3 +-0x1.83f7facbfd2e6p-1 +-0x1.c4a5e400f4127p-2 +0x1.f788581eb9328p-1 +-0x1.0d62b38790e8ap-5 +-0x1.ca6d3ff5e4bbbp-1 +-0x1.f53175fd5fbf4p-3 +0x1.89261e938134dp-3 +-0x1.b95099cbd7fd6p-2 +-0x1.d4f5e9efe61ecp-2 +-0x1.02511aab89695p-1 +-0x1.cb4adcc5751bcp-4 +0x1.761ab7c02496fp-3 +0x1.a95893cb28a3dp-11 +-0x1.5f79ac46c6e44p-2 +-0x1.8ce90041d4696p-1 +-0x1.a5d9801ae6e41p-2 +0x1.6bf1cedfb1b7ep-3 +-0x1.242a94d890b57p-3 +-0x1.06b2a88ee90ddp-1 +-0x1.11ed7d554db1bp-2 +-0x1.2ce92f55d7889p-2 +0x1.4d78bb6b7dd17p-2 +0x1.cca3d043c0994p-1 +0x1.0efcb883841f4p-1 +0x1.19ac5755658f6p-1 +0x1.c7101bf613de6p-2 +-0x1.84c9147b7a425p-2 +-0x1.81cc4aa7636c6p-11 +-0x1.8c1b09da4e0a5p-2 +-0x1.454e049d56536p-4 +-0x1.203ea7655130ap-5 +0x1.0b62ff735d823p-1 +0x1.0a3696500908p-2 +0x1.b69cbdbd83417p-5 +0x1.e4a2a0310a0dp-2 +-0x1.fc1de8ce9ccbbp-4 +0x1.9c5f0ca6d5bcdp-1 +-0x1.c662e4a9e2b4fp-3 +0x1.cb7759ff98897p-2 +-0x1.61d9a3955f9e8p-2 +-0x1.412e522a016d3p-2 +-0x1.6b1d72f508db9p-4 +0x1.3617f9adebb76p-1 +0x1.fa2252d878efap-1 +-0x1.8d1c9d5a80b31p-1 +-0x1.b34548a43067p-1 +0x1.b4c7033fa0d99p-1 +-0x1.5975cf7aecb88p-2 +0x1.689c1081133dfp-4 +-0x1.e322c79333de6p-2 +-0x1.11322e6dd5efp-1 +-0x1.45a283fca3a17p-5 +0x1.958df26b61271p-1 +0x1.199ecc3fd30b8p-4 +0x1.61feda8a1b167p-2 +0x1.2dbc586fbc512p-1 +-0x1.4b524db6de106p-3 +-0x1.321ac45903b65p-6 +0x1.7e83448fdfaefp-3 +-0x1.ba9872b529493p-1 +0x1.da35d735316e7p-1 +-0x1.3a327d6e93215p-4 +-0x1.7050bdd8e3b12p-2 +0x1.212d80b57dbap-1 +-0x1.c0bdc3f5eb2e8p-1 +0x1.1695d07763352p-2 +0x1.0454b477b93dbp-1 +0x1.4ccce934eb87fp-2 +-0x1.1db5faa1216e6p-4 +-0x1.2510e26139c57p-1 +0x1.4f6fe74404b98p-1 +-0x1.d20a797212608p-1 +-0x1.99dd5f0dc1be9p-2 +0x1.e5340b83aa563p-1 +-0x1.2736081315feep-2 +0x1.6928713c96dd3p-3 +0x1.f3716a8668576p-1 +-0x1.11c75e3eb7aa4p-2 +0x1.2d817a7181f61p-6 +-0x1.16f81ded0728ep-1 +-0x1.1d377adc1dbadp-1 +0x1.f17c08fe08923p-1 +-0x1.ab3f92eb6cbd1p-1 +0x1.74ea2fdcafe54p-2 +0x1.aecb4e3294ba2p-3 +0x1.afa7d625147a4p-1 +0x1.e4688e6465297p-2 +0x1.a5c71090e684fp-1 +-0x1.27cf3ce6802e3p-2 +0x1.445e414758d3dp-2 +-0x1.d98d83ed5e8bcp-3 +-0x1.9dcba31296e9p-2 +0x1.004326e1f1688p-1 +0x1.8bedb6ec2f595p-1 +0x1.d525c85d209ccp-1 +-0x1.cf0b1030d66a1p-1 +0x1.3a6ab8b7b614ap-1 +0x1.129a34c4d9706p-2 +0x1.577f4c5e05628p-1 +0x1.1631b9dba5f7dp-4 +-0x1.26ea1e7ac0b88p-1 +-0x1.b93729fdd8f22p-2 +0x1.4eed19e584721p-1 +0x1.d4f66c0c3e037p-7 +0x1.ab22813a799a7p-1 +-0x1.9a3f9f1494d26p-1 +0x1.fa2aa3fca4b25p-4 +0x1.49b417fd5ec53p-1 +-0x1.72778cc408968p-2 +-0x1.c049b5b81bf84p-6 +-0x1.fec4921b7b307p-2 +-0x1.7f3bf35c7a58bp-2 +-0x1.3821e065c24a1p-1 +0x1.e44732bd2e43ap-3 +0x1.be2f00af19dadp-2 +-0x1.b38e3282251f1p-2 +0x1.37d12d6b65381p-1 +0x1.59cbe7e583c3cp-2 +0x1.16769cc7854c4p-1 +-0x1.85f9db7ad83c5p-1 +-0x1.da9c686237432p-1 +0x1.a17e49e89617cp-6 +0x1.72945e1f52228p-1 +0x1.a01a6ed4ee6ap-1 +0x1.b254af39ac1ecp-4 +0x1.e48b990422d5cp-1 +0x1.d225c2f94ab9dp-3 +0x1.21c16635ce30cp-2 +0x1.235af779a7eecp-1 +-0x1.1b58b94905d77p-1 +-0x1.58b5e5e5e17d8p-2 +-0x1.73b8d4aac7e64p-6 +-0x1.bab2f3ff684ap-1 +0x1.ec3f2b4e3eae3p-2 +-0x1.8305cbc8c1a8p-2 +-0x1.2a58c0545c6eep-2 +0x1.b69e0a9970a11p-2 +0x1.c1c852f430c4fp-2 +-0x1.32d97bf64a7a5p-2 +0x1.5c66efc5457fcp-4 +-0x1.e6885d3c0425dp-1 +0x1.cb287d7e944a9p-1 +0x1.8cbafccfc1f45p-1 +0x1.afd89ba2db15fp-3 +-0x1.29809ec5a8b95p-1 +0x1.5f3cc882f0ce7p-1 +0x1.a88dc2ba797acp-2 +0x1.207bc67429ddfp-3 +-0x1.fe6d08f681db5p-1 +0x1.1a69746b81fc4p-1 +0x1.d70e4ab377134p-1 +0x1.8af8aac380a6dp-1 +0x1.aa1fa24208717p-1 +0x1.8aaa0f3b9c80dp-1 +-0x1.749505e44c7bp-1 +-0x1.a2358ede7d995p-2 +-0x1.61c6682a4d466p-5 +0x1.a74e21d7029e3p-2 +-0x1.25ccba68e7a7ep-1 +-0x1.8303cbe673d4fp-1 +0x1.7d3ed50ce274ap-1 +-0x1.e87dd9747919bp-1 +-0x1.9ed7a29a9c834p-1 +-0x1.df4279685765dp-1 +0x1.7a610748aa408p-1 +-0x1.cd544b866b613p-2 +-0x1.f6c969d2369aap-2 +-0x1.a9e9020d9602p-4 +-0x1.8301f683ac6dbp-1 +0x1.14ef608119895p-2 +-0x1.0a88bf1598296p-1 +0x1.a4af830fdd814p-5 +0x1.bc3728d82d6d7p-1 +-0x1.0326e0867440ap-1 +0x1.3dbaa26960115p-2 +0x1.c7e527bc02a67p-3 +0x1.5e1d8eaca6c95p-7 +-0x1.d7ebf650cc9b9p-1 +0x1.9097b662a59eep-1 +0x1.b565a157284cep-5 +-0x1.fd2e4f7bf87bfp-4 +0x1.af69fc75d4ad8p-2 +0x1.d68badce5fad4p-6 +0x1.d5fbd9a4099ap-1 +0x1.8059ff0272cbfp-1 +-0x1.ce2d245fe3a35p-1 +-0x1.afd83a33b6376p-3 +0x1.40d0694ce0278p-1 +0x1.e5e55589cb872p-2 +0x1.cf19a800cecdfp-1 +-0x1.342553521d555p-2 +-0x1.c9b073026de3dp-2 +0x1.873755755adcfp-7 +0x1.2830d7242734bp-1 +0x1.a8ecb20875e96p-3 +0x1.7f09c3abb2cf8p-5 +-0x1.a964f00912f74p-2 +0x1.c6c843e32c486p-1 +0x1.e96bb5de91cabp-3 +-0x1.d248afe7e9b74p-4 +-0x1.4b9104f6c1ab4p-3 +0x1.bdf1ed32d83afp-2 +-0x1.ef824bbbbdc2cp-4 +0x1.259cef635a7c8p-3 +0x1.771fcc609328p-1 +0x1.19a7b2a6759c3p-1 +0x1.2e1651d1f03a8p-1 +-0x1.fec49907b5513p-1 +0x1.09d26f11c4854p-2 +-0x1.0e6e3dd04d3fep-1 +-0x1.3db789c763c1cp-1 +0x1.d00d6363bea5fp-3 +-0x1.ce9d3329d71c6p-2 +0x1.a9d84b66901d9p-1 +0x1.042e6609033a5p-1 +0x1.7ae4d671414d6p-3 +0x1.e9eb1e748b222p-5 +-0x1.19c4f69ebc23ep-3 +0x1.c9382b078162ap-2 +-0x1.5b2ed8c81d9aep-2 +-0x1.e8e2661822d76p-5 +0x1.28e69858a70dbp-1 +0x1.3c991c941a69ap-1 +-0x1.8af2033b78097p-1 +0x1.0f261d3bf0c2dp-4 +-0x1.7afbed9a57201p-1 +0x1.b0c4237bd40dep-2 +0x1.6ecb46f059fb6p-4 +0x1.5472d0ca8751bp-2 +-0x1.2c76e4e00044bp-4 +0x1.549e9b6eee872p-1 +0x1.88639a9d97768p-2 +-0x1.029b549308401p-1 +-0x1.8db027e9223a6p-7 +-0x1.ebefd3680974ep-1 +0x1.f98d9eed2ccd4p-3 +-0x1.cc9b5568dc31p-2 +0x1.aa3480c5fb174p-1 +0x1.6b2fa201f75eap-2 +0x1.d13377c3aa005p-1 +0x1.e795f969d96ddp-1 +-0x1.443c98b0560cbp-1 +-0x1.eeb87ebb65fa6p-1 +0x1.b87f5b7ff32ecp-1 +0x1.3af59df8ae1c2p-1 +-0x1.d1ca3725ac41cp-2 +0x1.7cbcf34dd1223p-2 +0x1.ca9f1a077856ep-1 +-0x1.9ce86cf3aa2cdp-2 +-0x1.f536eeac3900bp-4 +-0x1.c0551c9c239ecp-4 +-0x1.b1170a960b5afp-3 +-0x1.cc7f4e662776ap-1 +-0x1.792ec52d353ep-2 +0x1.ab17df6ea1f03p-4 +0x1.4bd66c73cbe2ep-4 +0x1.fdb30fb9fc04fp-2 +0x1.692c15d54165ap-5 +-0x1.ac9ca33028e24p-1 +-0x1.a9fda3741502ap-1 +-0x1.1e5c6f22efec1p-1 +-0x1.0cc97c80d87ddp-1 +-0x1.201c3df5ee694p-1 +0x1.df82b0e4c13fdp-1 +0x1.395d76dbb0bf2p-3 +-0x1.350bdcfe192b9p-1 +0x1.dbdb799211d3ep-1 +-0x1.a8309607f0817p-2 +0x1.f4b33b0f7911fp-2 +-0x1.0ab2490acbe8bp-3 +-0x1.ab8ade8a39005p-3 +-0x1.3fcc06512facfp-1 +-0x1.4079894eb34dfp-2 +-0x1.13a34b80b3a43p-2 +0x1.17a1212bd39b8p-1 +-0x1.acf1d85e04444p-1 +0x1.9c6787407a9d5p-2 +-0x1.39bbd90a02bf2p-3 +0x1.ded9cf337a46bp-6 +0x1.638e3d22fbbbep-1 +0x1.781bb0831f334p-1 +-0x1.99867339dde4ap-1 +-0x1.1c66ecd143209p-2 +0x1.254d34443b4f5p-2 +-0x1.8231536ef91a2p-7 +-0x1.134b7981fe3eap-1 +-0x1.4545232bbdfc6p-3 +0x1.8ec7b0a28eee7p-3 +0x1.365a79a1b0125p-4 +-0x1.9ef78cc82b667p-1 +0x1.827dd95ed480ap-2 +-0x1.5772f20afa4a2p-4 +0x1.539028f1831d5p-2 +-0x1.bc1a284f5c0ccp-1 +0x1.640cf26bfbb62p-3 +-0x1.245e4c501736ep-6 +-0x1.4448c69d892cbp-1 +0x1.1ed2e9dbee9d8p-1 +0x1.dbcd02e24aceep-2 +-0x1.ceb76ac6dc36p-2 +-0x1.b8c88907a6f0cp-5 +-0x1.cd8996d89a7e6p-1 +-0x1.c73193f75f0c3p-1 +0x1.987076bd1eeaep-2 +-0x1.a68fc08dfec19p-1 +-0x1.8db732619013dp-3 +-0x1.d27f7ae0200f1p-3 +0x1.47dd95ec4fc7ep-1 +0x1.b70af224952c4p-1 +0x1.ada51da40aafap-2 +0x1.c0bd9cb418533p-1 +0x1.f0aa9a98fbaddp-2 +0x1.840fdd601197ep-2 +-0x1.b58f8dba9a0e6p-3 +-0x1.117970cd4a35bp-2 +-0x1.fb4ad68db196fp-2 +-0x1.02d2ef4c0747ep-1 +-0x1.00d2d9006315dp-2 +0x1.e16d9c43fecacp-3 +-0x1.4915bbf40d86fp-5 +0x1.6beb9b08962b9p-1 +0x1.57a911eb1ad5fp-2 +-0x1.12d0505a7c635p-3 +0x1.89ea2ae702fcp-2 +-0x1.5632cdad9c323p-2 +-0x1.d4c06be24be8cp-1 +-0x1.4f1954f19cfa9p-2 +0x1.3db72f9579379p-1 +-0x1.d8db14a91be06p-2 +0x1.98df14da2cd37p-1 +0x1.14ed3aaba1e13p-2 +0x1.152fd86c0f4d9p-2 +-0x1.eb0c41597dcfdp-3 +0x1.c34ee9c0b662p-1 +-0x1.0275d8ca571e3p-1 +-0x1.0fcdda4fc16b8p-1 +-0x1.9f96a6f3cef22p-3 +0x1.e85928dbfb41ap-2 +0x1.2daf5c8646983p-1 +0x1.5b16355b23c86p-1 +0x1.5c549458b4ea9p-1 +0x1.969e895e32515p-5 +0x1.1999725932bep-1 +-0x1.02d76d08f5bc2p-2 +0x1.9a7c4f0a7e413p-1 +0x1.0a2acd025d09ap-3 +-0x1.156c99320c37ap-2 +0x1.dba802953c236p-1 +0x1.bfb5e70a7d17dp-2 +0x1.47ecc564d1871p-1 +0x1.c8b54130361efp-1 +0x1.83bb476615988p-3 +-0x1.239a535074d3ap-1 +0x1.540a152d6ba85p-3 +-0x1.86594acba7333p-1 +-0x1.b4bbbc86fcad3p-4 +0x1.c50ed86412c9fp-2 +0x1.0cefbb2716ba3p-4 +0x1.d3535fb22705ep-4 +-0x1.e4f6e6ffe6b48p-4 +-0x1.bdd0faf1291c3p-5 +0x1.fa53bd1575516p-1 +-0x1.76edd365a8352p-4 +-0x1.b11f810d9ae1ap-2 +-0x1.8b4aa06b5acdep-2 +-0x1.4a9160586351bp-1 +-0x1.08292da57ac22p-2 +-0x1.9fb55e7c25027p-1 +0x1.0cca47e013bebp-1 +0x1.76984b005dcdbp-1 +0x1.0dc2f1273843ap-2 +0x1.2bbb5a05c8d8dp-1 +-0x1.6b8cb6e3a0369p-4 +0x1.1ba645fd0328ap-2 +0x1.aac2ad78f6723p-1 +-0x1.b7afb44981288p-2 +-0x1.7d0b6931be49fp-4 +-0x1.c54a5305cb2d2p-2 +-0x1.4c2d729be6727p-1 +0x1.1404bbd8abed7p-1 +-0x1.2743a11ce3daap-1 +0x1.4c16c24675605p-2 +-0x1.035d74bcbe027p-5 +-0x1.5967711870325p-2 +-0x1.b92a1f5fd1985p-3 +0x1.74816de64b4f4p-5 +-0x1.0a9e3acc0772dp-2 +-0x1.92ac4cd11f24bp-1 +-0x1.7c42c921d8a5fp-3 +-0x1.e760e297d84ep-3 +-0x1.2cc53c3940ec9p-4 +0x1.6d460d7b2822dp-1 +0x1.ebe34e2403669p-1 +0x1.832eb42d2f49dp-1 +0x1.bf2c07a2986e2p-2 +-0x1.e4f663269bd0bp-4 +-0x1.25f042ec14257p-5 +-0x1.ace724cce544ap-1 +0x1.9ba4a9526c73bp-1 +0x1.074063e7d592ap-3 +-0x1.67967e59d6d4cp-1 +0x1.87ee80f33f74fp-2 +0x1.8ba4c111436ep-3 +-0x1.a8aa7773154bcp-7 +0x1.0324b348be4ddp-3 +-0x1.60822bcd82f07p-1 +0x1.f84d1f6a91123p-4 +0x1.4296ce4e36ddp-1 +-0x1.3165a336819eep-4 +-0x1.427f6cb99f9b3p-1 +-0x1.ce4026dce326fp-1 +0x1.29bb67860f656p-2 +0x1.8e3b17334f8eep-2 +0x1.5ebc0081f7e1ep-2 +-0x1.f5736e16a2562p-1 +0x1.54380d7d21c4dp-8 +-0x1.105c290a40666p-2 +-0x1.97cf5d3c3b208p-1 +0x1.6c7ac66632487p-1 +0x1.6206cdc2d497ap-1 +-0x1.d46dc31dfa5b6p-1 +-0x1.3433174dfdec7p-1 +-0x1.d53832d3bed9dp-1 +0x1.b8dd7040d692fp-2 +0x1.4874b97365b26p-2 +-0x1.7c8b8f05382bp-1 +0x1.abc31e7e7ac18p-2 +-0x1.6dc25ff2273b2p-2 +-0x1.99df301c8d7aep-1 +0x1.beb2018ce5ef9p-1 +-0x1.cf8768a66ee09p-1 +0x1.3509d066274a2p-3 +0x1.8dabe1a2eca3ap-2 +0x1.89563e1a7abc4p-2 +0x1.41e1ccabff7ap-2 +-0x1.bb2d1c4e64f42p-1 +0x1.acc1e3b315928p-2 +-0x1.09f05005573ap-3 +0x1.0b0db0e5c3918p-4 +-0x1.3ec40bf159df3p-2 +0x1.d08b68c695d2ep-1 +-0x1.3d096a9d70e32p-6 +-0x1.32ef4766f71d1p-2 +0x1.a506ae382d772p-3 +-0x1.711fe7fe834fp-5 +-0x1.030fbbf154a1p-2 +0x1.5b92180ef4744p-1 +-0x1.64a523f14f449p-1 +-0x1.cedee0fcbaed5p-1 +0x1.58473104886c9p-5 +-0x1.a794c4e443013p-1 +-0x1.befe91dcf8bcbp-2 +0x1.183f8e9c5dbc4p-2 +0x1.702f9efb00858p-1 +-0x1.5b4a8e1b95312p-1 +-0x1.a287826e25cc7p-1 +-0x1.6a13d125c1d2dp-1 +0x1.bf6545614f2aap-3 +0x1.0073b49702568p-4 +-0x1.deccb44d69f3dp-1 +0x1.b5063bf37758ap-2 +-0x1.ac535788aebe7p-3 +-0x1.d0c8862b187d2p-3 +0x1.510a164ec336ep-6 +-0x1.089693f21559ep-2 +0x1.b1c1ca0c008d8p-4 +-0x1.21983af2f66adp-2 +-0x1.fcebaafb4ecb6p-1 +0x1.b7819a2b6aba5p-3 +0x1.c4abced09ea7ep-1 +0x1.a28e436231ee3p-3 +-0x1.625d30f6bd861p-2 +0x1.e79b2aeeaee05p-2 +-0x1.801f4a0d34096p-1 +0x1.4451ef2e536ap-1 +-0x1.6c0f712692246p-6 +0x1.6c6fccae9544p-1 +0x1.1b806d6e0741fp-1 +0x1.19bf5d3340461p-1 +-0x1.cb282348cbbc1p-1 +-0x1.2405359c89578p-1 +0x1.04395dae324d7p-2 +-0x1.2c10856e55e18p-1 +-0x1.1a6464066acfcp-1 +0x1.8f5974602f8c2p-1 +0x1.9c6d231ed6d73p-2 +0x1.2c51a80da54edp-2 +0x1.3926d73719095p-3 +0x1.43939e5464cfdp-1 +0x1.2b5fdf773334p-1 +0x1.0914a589cbd41p-2 +0x1.87eb5f6a9b577p-2 +0x1.5534f85bb78cdp-3 +0x1.78175b45bbf5cp-2 +0x1.80945deaed343p-3 +-0x1.a8cdaa343f1c3p-1 +0x1.f5b0caff27af8p-1 +-0x1.e7061a420527ep-1 +-0x1.323af1ffac813p-2 +0x1.8d033a8dd7ddap-1 +-0x1.a1a07454f8a1dp-1 +0x1.50cc41f57d39ap-4 +-0x1.f56e5e9fada02p-1 +0x1.3859d96750defp-1 +0x1.73203bf383085p-1 +-0x1.8adde5f8f1df4p-1 +-0x1.d557ae14c19b7p-4 +0x1.36e46dc9e2dddp-3 +-0x1.82625d75c1235p-1 +0x1.27b77812c8d7bp-5 +-0x1.3d6d9449f0b2cp-1 +-0x1.11e906c2545bep-1 +-0x1.1272d2af44448p-1 +-0x1.a2085892bee91p-3 +0x1.d7b7b3a470295p-1 +0x1.026db3b4b4cf8p-3 +-0x1.4415ddc3b0da7p-3 +-0x1.6bd5fe48b7f85p-1 +-0x1.3eeddb26ca1cp-1 +0x1.ef4876bb9373dp-2 +-0x1.a8f258b714257p-4 +0x1.cf31d3fe2579dp-1 +0x1.93610bd369b1dp-2 +0x1.aa1f659f18cc7p-1 +0x1.9f23a1ee4856p-1 +-0x1.b36abe66a0c9ap-1 +0x1.f213b8342646bp-1 +-0x1.a1dee7da2bf6cp-6 +0x1.398ba033f91a6p-2 +0x1.00b7aedf9c7d2p-1 +0x1.9f3cfddc61df4p-2 +0x1.f42e1016fa88ap-1 +0x1.b164e917a32f8p-3 +0x1.180e691bdf7cp-6 +0x1.f5a13f7117784p-1 +-0x1.71d1ab1ee8722p-1 +0x1.f91f22387ef09p-1 +0x1.2605d5ef330cbp-1 +0x1.b6c86ac16d4e6p-5 +0x1.e4a268fcc1f87p-1 +-0x1.2988d714911b8p-1 +-0x1.35c038462ef2ep-1 +-0x1.a13d00969d8ep-6 +-0x1.ecfbad8fe4dedp-6 +0x1.312e6130fd6a3p-3 +0x1.2539568af3e8cp-11 +0x1.9f22e23bc0f6p-2 +-0x1.c073ca76d48a1p-3 +0x1.1633b247d7e01p-1 +0x1.63fde035cd946p-2 +0x1.3bf3ffdc65e09p-3 +-0x1.2429280322e3bp-2 +0x1.b44f60e7247e4p-1 +0x1.35ef8ef818f27p-1 +0x1.9fb5c82bfe287p-2 +0x1.01263efdae1d3p-3 +-0x1.8721f6846f2bdp-4 +0x1.ebb985d83890fp-1 +0x1.835790bf41807p-9 +-0x1.3b002ac772cc3p-1 +-0x1.a9d384a6c2d99p-1 +0x1.dee23f044c63p-3 +-0x1.bcc2fd8836b41p-2 +0x1.e780e1baf0f88p-1 +-0x1.59a9d7ec437a8p-1 +0x1.c8e7c062c555dp-1 +-0x1.971e8a341d1dep-1 +-0x1.3e7c006d83097p-2 +0x1.690544da0f238p-1 +-0x1.907803aedb8e8p-1 +-0x1.035bbbe289713p-3 +-0x1.77b7e19fd5e4dp-2 +0x1.960253952bb79p-1 +0x1.c92d5dd3ac391p-1 +0x1.778b93f26b5f1p-2 +-0x1.1e135dc07fde5p-3 +0x1.05222e2d2d4aep-4 +-0x1.0de9b356183bap-1 +-0x1.34708145893a2p-1 +-0x1.5385f2e7b1ee6p-2 +-0x1.51c38ded07a3bp-1 +-0x1.4d56bf0790c5dp-5 +-0x1.42e7c5793554cp-3 +-0x1.84187fc2ce992p-1 +0x1.aec9e5f625d0ap-6 +0x1.2f83ca988cc67p-3 +0x1.e70aedebd4b1fp-2 +-0x1.5a1c975911dbfp-1 +-0x1.ed119034e6a4bp-1 +-0x1.792fd2b9e456dp-3 +0x1.4880715dad285p-1 +-0x1.e435be704689ep-2 +-0x1.e5248c755c768p-1 +0x1.2ea91c7e4606fp-1 +-0x1.e1e721f0c2bcdp-3 +-0x1.ecafb9abb4aa8p-1 +0x1.470b1593b7ac4p-4 +0x1.b2deff6f8c746p-1 +0x1.55c7e8a496065p-1 +0x1.15b1c7e7be41p-2 +0x1.40862963abacbp-4 +0x1.779c55a07923ap-2 +0x1.a50c3aec8c6a7p-5 +0x1.69e271f1f8fa2p-2 +-0x1.45019d2ee0fb3p-4 +-0x1.83711525f6461p-2 +0x1.ce6a228515532p-1 +0x1.e60fc4f8bc76ap-3 +-0x1.ba4f23e166ab6p-1 +0x1.bef6acf8e5265p-2 +-0x1.f08f31b874a0cp-3 +-0x1.827eef84b9c14p-2 +-0x1.81451763c7fcbp-1 +0x1.929f7c4873464p-2 +-0x1.2e62ca652df96p-3 +0x1.5346b2d408d4ep-1 +-0x1.c2ed3436ec8e9p-1 +-0x1.57d97cc4a9a55p-1 +0x1.10a0b61383922p-1 +-0x1.a6b60bba02dd7p-1 +-0x1.4227d84188d2fp-2 +0x1.dd2db827ca39cp-2 +0x1.8056fe9e57d2bp-2 +0x1.37607ca478be3p-1 +0x1.19088bffae15fp-4 +0x1.38787f2f558e3p-3 +-0x1.eb8fd7475f10ap-3 +-0x1.bb9c349cb3eb1p-1 +-0x1.2d2827d68f5acp-1 +-0x1.570e653a678c7p-1 +0x1.c9fd3d80e944ep-3 +0x1.0c8e265b37258p-2 +-0x1.edacf96f47cc9p-2 +-0x1.5610aa4044766p-1 +0x1.fe6076c713d87p-2 +-0x1.d4a8e212ea722p-1 +0x1.758646587835ep-1 +0x1.4976171087c3cp-1 +0x1.16fa723f3f61bp-1 +-0x1.68cf93cb7cd7fp-1 +0x1.dd48e7ba75559p-1 +0x1.a3e3cdba9529fp-3 +-0x1.9f8c44779095ep-3 +0x1.18f890d48457cp-1 +-0x1.cffd5e27783d4p-1 +-0x1.7670974959c8cp-2 +-0x1.90330297e2b29p-3 +-0x1.82e4435aea0c6p-3 +0x1.a057ce1ffe405p-2 +-0x1.e66cffcd6b794p-1 +-0x1.682f24da6017ap-1 +-0x1.766988e0109f8p-2 +-0x1.acae669682c33p-3 +-0x1.4769868b0dc04p-2 +0x1.491d9fd4410cbp-3 +-0x1.81506f246d1acp-4 +-0x1.b466f99debfbbp-1 +0x1.ac55e0fbe0d38p-1 +-0x1.0c3b900555af8p-2 +0x1.a5e5b3473e91fp-2 +-0x1.0565e7ab26f9ap-1 +0x1.6da23867e6d97p-3 +0x1.d03644ffd5d24p-1 +-0x1.8801d5721b75fp-4 +-0x1.cbb29dedb7859p-2 +0x1.09dc7087753f5p-1 +0x1.3fb3c89ab96cbp-1 +0x1.d2e5c462d6fe6p-10 +0x1.334c7ccbd2a92p-2 +-0x1.de456d9229bfap-7 +-0x1.8672e0fb442e8p-1 +0x1.613f900966008p-5 +-0x1.171fea35bf973p-3 +0x1.dd5d3e2c4082bp-1 +-0x1.ddd8a48f86d3ep-1 +0x1.2a88e302902afp-2 +-0x1.ea24d92a2d6dfp-4 +0x1.4c6a13bba4e4ap-3 +-0x1.77183cb13c809p-4 +0x1.56d510daccc47p-1 +0x1.2e8bca4275bb5p-1 +0x1.7c2a16c2964e7p-2 +-0x1.c3f2462543705p-2 +0x1.396a3cea4d309p-1 +0x1.98d18ec653e29p-1 +-0x1.8617ecc9db13ep-1 +-0x1.22c6965a2ca34p-2 +-0x1.91ecf0f1395fp-3 +-0x1.40d1fde2a3dc4p-1 +-0x1.9f48558885f81p-1 +0x1.cc14eb8fb23eap-1 +0x1.82a1bfe92ea29p-1 +0x1.5eaff998e776dp-4 +-0x1.242f7a3e92be2p-2 +-0x1.4b33f9eba0d61p-3 +0x1.40013144dc83dp-2 +0x1.6bfb33c8e9d68p-1 +0x1.3f6eac0423531p-1 +0x1.932adb0ca85d4p-2 +-0x1.0280595397c7p-2 +-0x1.e179cafc97091p-4 +-0x1.9c15e1ffa19bdp-1 +0x1.934bba3dce8c2p-1 +-0x1.8f4b3043baa19p-3 +0x1.1b5cd5da6d993p-2 +-0x1.815aa67cad1a1p-1 +-0x1.0a49385eb30c6p-4 +-0x1.17224de585ba1p-3 +0x1.7396b7f0ac763p-2 +-0x1.cd1761a045fa5p-1 +0x1.1339996278cb1p-2 +0x1.09b2218776c76p-4 +0x1.0ad203c10df6ep-3 +-0x1.e96f930781a01p-3 +-0x1.21e5d8eb57dd9p-1 +0x1.3a96fce479ab5p-1 +-0x1.fea527443ca72p-8 +-0x1.93dc6ac05f8f3p-2 +0x1.0090cb112c6a6p-1 +-0x1.e54f07a60f95fp-3 +0x1.93680d91a538ap-2 +-0x1.220a5ffef9135p-2 +-0x1.5ef9eb9552a3bp-2 +0x1.71cdb61a203c4p-1 +-0x1.0e43930a7e9cfp-3 +0x1.0b150ca347058p-1 +0x1.d86000d9a7707p-3 +-0x1.e6a3193c6903bp-1 +-0x1.824a66470bc5bp-2 +0x1.1e75da86fb093p-4 +-0x1.a497dc2b271ap-1 +-0x1.df678e05329f3p-1 +-0x1.3c85356e7e1c5p-1 +0x1.da0740cf5ed85p-1 +-0x1.0ff5d61e9b253p-6 +-0x1.be0fe188262cap-4 +0x1.f4742b5564d8fp-1 +-0x1.d22bd1d43a0f4p-1 +0x1.a5a752c75334p-2 +0x1.5be0998b99833p-1 +-0x1.d20e79c1a01d7p-1 +0x1.403e757d27d45p-1 +0x1.104161c484cbcp-1 +-0x1.abe650018080dp-1 +-0x1.39dd9137af427p-2 +-0x1.69653a2a1374bp-1 +0x1.65c3ece57a586p-1 +-0x1.6c4d7799d4989p-3 +0x1.a5fa1adb8dbd9p-3 +-0x1.4db59708d01c8p-7 +0x1.2fb3213846339p-5 +-0x1.6216ce96bac8ep-3 +0x1.f64fe01db8306p-1 +-0x1.b906b7e750bffp-1 +-0x1.2bec9a3b04009p-1 +0x1.e6ec082b13217p-4 +0x1.7d2cd344c007cp-3 +-0x1.e5d9a3c241a81p-3 +0x1.0b7493e17eeb2p-6 +0x1.fb9f853d97b97p-2 +-0x1.3174c5166188cp-2 +0x1.fcc562065f594p-3 +0x1.0522022d23754p-4 +-0x1.b6f2a2f42be92p-2 +0x1.e0390498dd2b9p-4 +0x1.8822d03dad10fp-4 +-0x1.3ca64ba244d8ep-4 +0x1.cf36e6df9093bp-1 +-0x1.63b0552562be5p-1 +0x1.b4e0038a61d51p-2 +-0x1.85ff25d81efaep-4 +-0x1.7d722e7d5d2eep-2 +0x1.d86dbcd9e9471p-1 +0x1.3a52dc6a593f6p-1 +-0x1.21833aadf92f7p-2 +0x1.4e1963fd716bbp-3 +0x1.a93094e125a22p-2 +-0x1.1026fefab4092p-1 +0x1.2b11802d5672cp-4 +-0x1.1663b10191896p-2 +0x1.64f32aa7f17c9p-2 +-0x1.a6decb9b36ebfp-1 +-0x1.67ce64946b73fp-3 +-0x1.23403f1ec517fp-5 +-0x1.1ef83a883d0bep-1 +0x1.99a3945503585p-4 +-0x1.9efbd0e62852ep-2 +0x1.e0996a6d71608p-1 +-0x1.e6e4a37283ccfp-1 +-0x1.0b67a463409bcp-9 +-0x1.a8496a3e739d3p-1 +-0x1.8d426075714abp-2 +0x1.2fee8d8fad0ccp-1 +0x1.2784b3c87544ap-1 +-0x1.fa3b208cc16eap-3 +0x1.5f32ab56a81c4p-2 +-0x1.d1bb10de8809bp-1 +-0x1.b9e65c992b6c7p-3 +-0x1.ccdc52631a2e2p-1 +-0x1.6dbe7021dcdc3p-3 +0x1.833ffd9c93715p-7 +0x1.c0d5052fbc47fp-2 +-0x1.06c04889a6666p-3 +0x1.b0c5321868886p-9 +-0x1.ee5ba6815b544p-2 +-0x1.6697864d13621p-1 +0x1.6c783403e4e6ep-1 +-0x1.3b4d8ae62a974p-1 +0x1.f9fb84ebafdcp-1 +0x1.3b1e328a34351p-2 +-0x1.18f583ce4c08bp-1 +0x1.24c60a23649adp-2 +-0x1.ae3cc9fb0c74bp-2 +-0x1.413f556fc1b8dp-1 +-0x1.918bbf987a7ap-5 +-0x1.d2fc44a4a7de7p-1 +0x1.8e35dfe978176p-1 +0x1.8f68fd71f9b15p-1 +0x1.869b0f971e7fcp-2 +-0x1.3e027e2b77067p-1 +-0x1.113a09f81fc81p-1 +-0x1.d382c87c16dfap-1 +0x1.7880f4f8ccd14p-2 +-0x1.9719c92834c47p-3 +0x1.ea1f6d15e40f3p-4 +-0x1.967b8412b0748p-3 +-0x1.7cfb5c082da3p-4 +0x1.c80843bf8e32ep-2 +-0x1.a72e4554b493ep-2 +-0x1.6ef64ba5996c6p-2 +0x1.1f6f5adebccafp-3 +-0x1.52cf3636ba4c8p-4 +0x1.081ab8e481571p-2 +0x1.9154e8e27119dp-1 +0x1.ac4639daa3fc1p-1 +-0x1.035bf209ab685p-3 +0x1.65041b91e3aefp-3 +-0x1.e37863b5158e2p-3 +-0x1.16998c5aeea67p-2 +-0x1.e547c246dbd7fp-1 +0x1.1ed26a33ee2eap-3 +-0x1.23c3d97f70e31p-1 +-0x1.4c64c57d69067p-1 +-0x1.d6a0b3f708445p-2 +0x1.22d2d85c8671ep-3 +-0x1.4c8e625976fadp-1 +-0x1.e7c0963ca07e6p-1 +-0x1.a6a27e8d0383fp-2 +0x1.e445269dec118p-1 +0x1.c0264fa5c7ecfp-1 +-0x1.49c2929ed8bcep-1 +-0x1.3f3e20e4b159dp-4 +0x1.08e6a287d0368p-2 +0x1.dbb2a899770eep-3 +0x1.86b46131b2bb7p-3 +-0x1.59edd0fd7a02bp-6 +0x1.4b4d1a28acebep-3 +-0x1.80e5e238cf92ap-1 +0x1.e3505559390ecp-1 +-0x1.ce34047bc919dp-2 +0x1.f916efb553ab6p-3 +-0x1.e1bb82cad4ff9p-1 +0x1.ea0ff46f317d1p-5 +0x1.923c71788ea04p-4 +0x1.bb144bbd7dd0bp-1 +-0x1.f4855fd66f1cbp-2 +0x1.d4caf0529ba63p-2 +0x1.5638675db228ep-1 +-0x1.b712ca3109ea6p-3 +0x1.1f2cd3235346cp-3 +0x1.ed4bdf659996fp-4 +-0x1.a29e188bf5bfbp-5 +0x1.ef3d4884fda55p-2 +-0x1.8052972077a48p-2 +-0x1.917ca02a22d06p-2 +0x1.3c41847bdc082p-1 +-0x1.6938458ab627ap-1 +-0x1.2fb6b643562d7p-5 +-0x1.59853df8c173cp-1 +0x1.611128c147c72p-2 +-0x1.18f7cde09775cp-3 +0x1.351d757602a36p-1 +-0x1.43c3be9da80e9p-1 +0x1.4c8bb10fa0acep-1 +0x1.84bcbe79f1b16p-2 +0x1.36e69d8ea3e36p-1 +-0x1.fff16484f17e1p-6 +0x1.640ff6386eddbp-1 +-0x1.c1eb62021f88bp-5 +-0x1.bd350368ccd79p-3 +-0x1.653e8816c8a17p-1 +-0x1.7eba16aa58b13p-4 +-0x1.8089ea0f1c7f1p-3 +-0x1.c3a18f041a8f6p-2 +0x1.70dfb423fbafp-1 +0x1.38adb9e6ddb33p-3 +-0x1.06c1ed283b8afp-3 +-0x1.195a4044fb86dp-2 +0x1.1f8a58934ecadp-2 +-0x1.954db81f6f7bep-2 +0x1.2acab0fcc58dfp-1 +0x1.838bdc6ec7946p-2 +0x1.28b1d151076b1p-5 +-0x1.97e0cdb2e1c29p-1 +-0x1.83a85f0b9e19dp-1 +-0x1.d6da1aa9e9d6p-3 +0x1.8089f00069a02p-2 +-0x1.9d9401c1444b9p-5 +-0x1.67bef0d5e2905p-1 +0x1.ba7cff5a21287p-3 +0x1.6f2d89e4377d4p-2 +-0x1.4e682d49ff477p-1 +-0x1.866033fc47c63p-4 +-0x1.a8b234d4fa494p-1 +0x1.ad9e503e3644dp-1 +0x1.af3ba6224781dp-3 +-0x1.fcf444ef4a508p-1 +-0x1.0e8779651418dp-2 +0x1.734c78ecf572fp-1 +-0x1.cf1bfe276cd87p-1 +0x1.7dd1d6f80b258p-1 +-0x1.9bc7256c883d5p-1 +-0x1.1fb62da1a3d4bp-3 +-0x1.472b8059a0985p-3 +-0x1.203150860089p-3 +0x1.12db7f14a0901p-1 +0x1.67076a642db53p-1 +0x1.cc8250fbe9a5p-2 +0x1.abc4a2f7184f3p-4 +-0x1.76773ac36009ep-3 +0x1.6e30cc6161691p-2 +-0x1.28162cae6334fp-1 +0x1.8ba3eacd60e5ap-3 +0x1.3f45a59449c16p-1 +-0x1.ea412ccdd31dap-1 +-0x1.9167e078dba76p-1 +-0x1.32a483ea9c069p-2 +0x1.8ca0d3713df7ep-3 +-0x1.70c6f55bcdb7ap-3 +0x1.b8b6fd4665d2ap-1 +0x1.fcdccfc909346p-2 +0x1.8b66e9ea13fdcp-2 +-0x1.a56e6e2d62bcep-1 +0x1.91a18769939a2p-1 +0x1.3c5eab47291b4p-2 +0x1.9d2081ebd1b15p-2 +-0x1.505e1dad5b469p-1 +0x1.add1e9f1c6cddp-4 +-0x1.3c19b3000d4cp-4 +-0x1.bfe59d4cb01f1p-3 +-0x1.091167151f2b2p-2 +-0x1.1bc38e13c4ff2p-1 +0x1.46b330f251836p-4 +-0x1.95dc20f6b81b1p-5 +-0x1.fb3325a724a99p-3 +-0x1.d185f66c21c09p-1 +-0x1.c869c9e37ec6cp-1 +-0x1.e53b7d6fe8dbbp-1 +0x1.f839c7b5f27a8p-1 +0x1.6f2fce3ff172cp-1 +-0x1.00b57a155c308p-1 +-0x1.e7e88aad85528p-6 +-0x1.27dfb980a318dp-2 +0x1.3878b72cd03bap-8 +0x1.edc937194b17ep-1 +0x1.b6424596c6206p-4 +-0x1.f5fca9c73aa49p-3 +0x1.ea6d8e8582b49p-1 +-0x1.e4fa9d2d35a6cp-4 +0x1.c3a329a19b4c6p-1 +-0x1.892060d285801p-1 +-0x1.b55afecf8a89fp-3 +-0x1.7c2907ac402f2p-1 +-0x1.6cbe97f9de2cp-3 +-0x1.6538d07abff71p-2 +-0x1.f0a1b605e3c12p-1 +-0x1.487e82721bdc2p-1 +0x1.3a04b839c000bp-2 +0x1.8a60648166336p-3 +0x1.a5ae930ad74f5p-1 +-0x1.edd53f3ede6dbp-3 +0x1.5d5d25d6e1df5p-1 +0x1.bde419125c33bp-1 +0x1.6afdfa12ade46p-5 +0x1.9bf9a5551f05dp-2 +0x1.fdd15d3264bdbp-1 +-0x1.c96813e2516bbp-1 +0x1.1084618b77decp-1 +0x1.aa35d4ca8cb64p-1 +-0x1.93b554033355p-2 +0x1.4e87d429e00c6p-3 +0x1.d8c21cecf6a5fp-1 +-0x1.58120f497a57fp-1 +0x1.70b79bca29c7ep-1 +0x1.0e317b310742fp-4 +0x1.7edad483a722ep-1 +-0x1.46dc0be558c71p-1 +-0x1.a9daf273b6a36p-3 +0x1.ab4d2f397818ap-1 +-0x1.0d69b2fae6d74p-2 +0x1.921c36baeedbfp-1 +0x1.7f549b139921bp-1 +-0x1.ad16834c297f7p-2 +0x1.04d87064f45a9p-3 +0x1.4175f42ac6a6bp-1 +-0x1.b02c6dcdd3b68p-2 +0x1.34764b64b2d2fp-1 +0x1.2118854e7299fp-4 +-0x1.4238733ceb673p-2 +-0x1.4a6c29779e9acp-1 +0x1.fee6fbe15ae28p-1 +-0x1.8be5fd698032p-1 +-0x1.936aea3920d71p-1 +-0x1.dabe9688f81fp-2 +-0x1.42dc805d7da19p-5 +-0x1.e3ff006448c3bp-1 +0x1.f88cd33fea75ep-5 +-0x1.28b76faedb227p-1 +-0x1.269185dec9facp-2 +-0x1.969f37ec7e03bp-1 +-0x1.211d6ae70e179p-3 +0x1.c8beaea874c75p-3 +0x1.fa362518a47bep-1 +-0x1.8f086926c9caep-1 +0x1.f36eeef1681fep-2 +0x1.4fc9cbea1c7c2p-1 +0x1.74203647abbafp-1 +0x1.e226f848c0d18p-1 +-0x1.2a62899d3444ep-1 +-0x1.ecf65cc6cfa57p-3 +0x1.62cada4da3588p-3 +-0x1.06112ee96ed42p-1 +0x1.991d772a8d2fbp-1 +0x1.7e78b07ec4838p-2 +0x1.d48d7f43eb707p-3 +0x1.3894ec2f62c8fp-2 +-0x1.7b85d94cb40dcp-1 +-0x1.1d42d52087b22p-1 +0x1.42df245ddf4cp-4 +0x1.d957b39f1b5bcp-1 +0x1.5da970f455cep-4 +0x1.39ded466635bap-1 +0x1.8de0da820f6dfp-1 +0x1.6d4a0236d78fcp-1 +-0x1.4d8d449f2b435p-1 +-0x1.b0a64e2e5c84ap-5 +0x1.533eec8e7df3fp-2 +0x1.eb2611c85af75p-2 +-0x1.b4668069c2fa6p-2 +0x1.6aa1e6008f9efp-3 +0x1.10b6023dd5a51p-3 +0x1.56a3db00dfb09p-4 +0x1.f010c517a2d28p-1 +-0x1.18296d17dc06ep-3 +-0x1.3d588b118722dp-3 +-0x1.d6ad6c24b742dp-2 +0x1.258971b533d55p-2 +-0x1.c7ee50b19472cp-2 +0x1.1c1917f6ab6abp-1 +-0x1.ceb3d209defafp-2 +0x1.cfcc562931b3ap-4 +0x1.e1760284e900ap-1 +0x1.e5afa46e90a22p-1 +0x1.7fb1744c7e9b9p-2 +0x1.a8514afcf6c49p-1 +-0x1.4fe372759a689p-2 +-0x1.25bc60506fdbep-2 +-0x1.e8715cea6be56p-1 +-0x1.a59091efe7995p-2 +0x1.2641c9b9a248p-1 +0x1.3f51ed7ba8d8p-1 +0x1.d3a85f6de7a9p-5 +0x1.39f04e6d281aep-2 +-0x1.e6487fdf4e5e4p-3 +0x1.fdab353d31fc2p-4 +0x1.d1236f695756dp-2 +0x1.6718ed72e9789p-1 +-0x1.119026c4bfb24p-1 +0x1.76ff3b9c98f2cp-2 +-0x1.f781f8887fdp-3 +-0x1.3a0381516fe6cp-4 +0x1.7f800df187fbap-1 +0x1.783d0bae7ce4bp-1 +0x1.539460c52065ep-2 +-0x1.987720ade20e1p-1 +-0x1.fb7a09b91bc0dp-2 +0x1.04c55d99d221dp-2 +0x1.73c68097fc1c8p-2 +-0x1.18c6042c259bep-1 +-0x1.f9e446149f343p-2 +-0x1.93e5d1509b1fbp-2 +0x1.4357f95694abbp-1 +-0x1.4f73dff8a219dp-2 +0x1.0662a9283dfcap-3 +-0x1.9aefc240221ep-1 +0x1.824eb4bd04f71p-1 +0x1.56029089ad8a3p-1 +0x1.9a130b4adb103p-4 +-0x1.10bb606db7998p-2 +0x1.3f1d4d617dc3ap-5 +0x1.698d34ef002bap-1 +0x1.3dfe18d23dabdp-1 +-0x1.bcdb63873a2fap-1 +-0x1.584ccd03d4493p-3 +-0x1.6dc27f225b846p-2 +0x1.eb303cb53998cp-1 +-0x1.016d02f024be3p-5 +-0x1.29eb778b5f1f5p-2 +-0x1.0abdf0f18390bp-1 +0x1.629ee3be466d8p-2 +0x1.60b55672a22ap-2 +0x1.76938f72c472ap-3 +0x1.3eeea53201ebcp-5 +-0x1.40c599d79e1d6p-1 +0x1.7eef295e0e837p-1 +0x1.dd0da6510da01p-2 +0x1.823730a5bc82ep-1 +-0x1.2150615463ab5p-1 +0x1.101aadca06418p-1 +-0x1.c3f5694f8dfdep-1 +0x1.06315b137b1f5p-1 +-0x1.f7737ba23a3cdp-5 +0x1.095e792cb90d4p-6 +0x1.785b347459adfp-4 +0x1.abab90fd161bfp-4 +-0x1.1e1a082d8c9dbp-3 +0x1.40ed048dfc93fp-1 +-0x1.4126d117b65fp-2 +-0x1.3c323e678cdf9p-1 +0x1.c07c799fbda76p-1 +0x1.fa59284b45a11p-1 +-0x1.0709792a199bep-4 +-0x1.c893adaac049ep-3 +0x1.43efc95cd578cp-3 +0x1.c5e459adbc2b7p-2 +0x1.6b683d06b51b2p-2 +-0x1.e899f99981ffdp-2 +0x1.6abac947a4568p-5 +0x1.2a36804c285a7p-1 +0x1.fb1c5ca47ce1dp-2 +0x1.45948ab1a6b7ap-4 +0x1.188cd6a241b6p-3 +-0x1.a6f2f2538edf2p-7 +-0x1.2bfef29b4173bp-1 +-0x1.076554cde63e2p-1 +-0x1.4afc23f1f6081p-1 +0x1.41eade8b4c6b3p-1 +-0x1.c263bbd4bd059p-1 +-0x1.3aac7f16c7b5dp-3 +0x1.2c4326c2f281cp-2 +0x1.761eb4f22c80fp-2 +0x1.6984f6dd8a05ap-2 +-0x1.c6582ef591777p-3 +-0x1.96d2948eff429p-1 +-0x1.a093b132f6131p-1 +-0x1.7c76fb04d0531p-2 +-0x1.2e06ecece2c27p-2 +-0x1.55762693b425ep-1 +-0x1.98972442e4aafp-1 +0x1.0688508c93a04p-1 +0x1.6af4646cd2647p-1 +0x1.1aed4a10c2fbdp-2 +-0x1.5018e76a96f7dp-2 +0x1.b20e9d81a0492p-4 +0x1.226cf4eab304fp-1 +-0x1.b523f4f0ee9ap-1 +-0x1.497826d737528p-1 +-0x1.722170835be43p-1 +0x1.c6fd6bb5af388p-1 +-0x1.2e4bc1d86bf24p-1 +0x1.3d567596af448p-3 +0x1.0966bf6e26b7fp-4 +0x1.f544faca3378bp-2 +-0x1.0b150c476fadcp-1 +-0x1.d654181f71b43p-2 +0x1.7e29ca78db54cp-3 +0x1.8c2adf481de87p-1 +0x1.7f474ae0728c2p-1 +-0x1.2e67b400216ap-2 +-0x1.dd913b8c81c38p-2 +-0x1.fdc1ddde8980ep-1 +0x1.d6aee46b89338p-2 +-0x1.a29b79a4dabdep-2 +-0x1.8ffce82a1511bp-1 +-0x1.585b46676ad27p-3 +-0x1.efd218255d539p-1 +-0x1.be9657b9387bcp-6 +0x1.7ae99656c24c7p-1 +0x1.aeaaf4dc24616p-4 +0x1.6d3ab7668e9c7p-1 +0x1.9741fcf23ca84p-1 +-0x1.9d3c86fb8e7ep-1 +0x1.014789d4d5b91p-4 +0x1.4c924fe0eff3bp-1 +0x1.bb245eceee70cp-1 +-0x1.aefa6a42f92d2p-1 +-0x1.dc463168f601ep-1 +-0x1.862040f804f72p-1 +-0x1.7db4a17a2566bp-3 +0x1.5ad30ada010edp-2 +0x1.03104f22f96c3p-3 +0x1.5e4225f74a17dp-5 +-0x1.2c24ba980caccp-1 +-0x1.ac2c6d05084c6p-2 +0x1.54107a1363fccp-2 +-0x1.0a294f6b2e37dp-1 +-0x1.99e7e44058227p-1 +-0x1.585871bab9e03p-2 +-0x1.c6fb0ba237bdap-1 +-0x1.bbd30311345ebp-1 +0x1.692925c1296e1p-1 +0x1.a623ad0818d59p-4 +-0x1.080955c97a89fp-2 +0x1.1ecc81b72872cp-3 +0x1.6195fb0594eb3p-2 +0x1.2a2b8da734211p-1 +-0x1.b2d0b5b75004bp-2 +0x1.cdac5a8b6809dp-5 +0x1.e46d681a118c8p-2 +-0x1.269721653ce5ap-2 +-0x1.8b090c9767e1ep-2 +0x1.730522684b1d9p-1 +0x1.84b301a1ec3d5p-1 +0x1.22d6af8a6633dp-4 +-0x1.9108faadd1115p-1 +0x1.fe48626444ba7p-2 +-0x1.04ffeff608392p-2 +-0x1.d641c76db1ed5p-6 +-0x1.f9d3d67006a29p-3 +-0x1.ee62951aa7adap-3 +-0x1.94a685436df4fp-2 +0x1.a7c51685d902ap-1 +0x1.7528e0b8e65c8p-2 +0x1.86dca3bd4a44dp-3 +0x1.38018c0f0dd66p-1 +0x1.ca8ee71718ed7p-2 +0x1.23183337b561dp-1 +-0x1.dcdfa1bbaca2dp-1 +-0x1.ad60e5659217p-2 +0x1.f0ef80ba50badp-3 +0x1.02dfb10f2376dp-1 +-0x1.f4b12dad2c6bap-1 +-0x1.c8731904ec173p-1 +-0x1.4127a995c695p-7 +0x1.d15713fdf7f32p-1 +0x1.6c4854ce2170dp-3 +-0x1.0eaf5a8c2b582p-2 +0x1.3295391e3ccc8p-2 +-0x1.e298a4b310a7dp-3 +0x1.cc723844fe461p-4 +-0x1.0944042fcdae5p-2 +0x1.11645985610c2p-2 +0x1.fbafb2c408d9bp-2 +-0x1.55bb2c471333cp-1 +0x1.8a5b49dc6775ap-1 +-0x1.aa1fd4783c5dfp-2 +0x1.ad6deb99f13f5p-1 +-0x1.3cbf20ccfa12ep-3 +0x1.d8a72a7582604p-3 +-0x1.2ad9c98cb731ep-1 +0x1.cb2c20b529bd2p-1 +0x1.4eab5e2b883f3p-10 +0x1.312250f314a52p-1 +-0x1.fdac8059d637ap-4 +0x1.8a861f847ffd1p-1 +0x1.b0afa829ef788p-7 +-0x1.696bf8241502bp-2 +-0x1.34a82cdbb2bddp-1 +0x1.43480b2d09d2ap-2 +-0x1.1279ca51f09ep-1 +-0x1.cc733e81510dep-1 +0x1.5b96b59bd4a81p-1 +-0x1.012392749431fp-2 +-0x1.0a1a69c4119ep-1 +-0x1.aa7e138c9014cp-1 +-0x1.7d721e0c67188p-2 +-0x1.bdbb38fb4a865p-3 +0x1.89118773885b4p-4 +-0x1.0bbad712682adp-4 +-0x1.28f5c5d5d3463p-5 +0x1.8a425b8ba6b8ap-2 +0x1.04b6c0f1f3358p-2 +-0x1.ef7e3aa60e5c7p-1 +-0x1.6d7c6259830bap-2 +-0x1.f66591882ddd8p-2 +0x1.b74e314b16568p-3 +-0x1.40021a647131p-1 +-0x1.83b5e37123499p-2 +0x1.6371b31f059f7p-1 +-0x1.9f4dc59eee9a1p-1 +-0x1.0ce498d843fcap-3 +0x1.1b058254df45fp-2 +0x1.bac48ca6cdc9p-4 +-0x1.c0d9c8afc95fp-4 +0x1.0feff196d7a4bp-3 +-0x1.d50a271db9ca6p-1 +0x1.e9e4d5fa81a2cp-4 +-0x1.541629397c642p-2 +-0x1.fc6601fdf66dbp-1 +-0x1.d61d59e663c4ep-1 +-0x1.7dfbd69c84161p-1 +-0x1.f2ad11c17907dp-6 +-0x1.b49d68c036a54p-1 +-0x1.e90b1aed4219bp-1 +-0x1.a6fa422911babp-1 +-0x1.45452675327bap-1 +0x1.ffca9b7cb5f03p-4 +0x1.5afe8ae2ed933p-2 +-0x1.54094b3d1d351p-1 +0x1.8124ccdc8b1dep-1 +0x1.80e3387dbf33ep-4 +-0x1.45ae5838cae14p-5 +-0x1.44c5524e9199fp-1 +0x1.9542f3a4aad91p-2 +-0x1.6e1d568eaed31p-2 +0x1.5135031e3d378p-1 +-0x1.e190cef90b975p-3 +0x1.a9a24a9583efep-1 +0x1.2a101fa45a0e7p-8 +-0x1.b7907135cf16cp-1 +-0x1.488aeec168574p-1 +0x1.e138c8aecc876p-3 +0x1.e699ff5488432p-1 +0x1.54f552b9607bbp-2 +0x1.e600b80e8144bp-1 +-0x1.acf8a111b6719p-2 +0x1.5d2db9637e1a6p-1 +0x1.8c4cfa3fcb05fp-2 +0x1.90c4c2e5b26edp-1 +-0x1.a8b47004f8cddp-1 +0x1.ac19b05feb01cp-1 +0x1.3290013a62282p-2 +-0x1.a3b5812aa323bp-1 +0x1.db9ff93d0cbe7p-1 +0x1.424e8beab53edp-4 +-0x1.255d464262766p-5 +-0x1.26b960ac0c35p-4 +0x1.e7fd5cded754cp-2 +0x1.b17e69ae8c5c7p-3 +0x1.cdd90e580cb64p-4 +0x1.dd3db00a3ab54p-1 +-0x1.a1c03e85e08e7p-1 +-0x1.8777d294a4417p-3 +0x1.3683c7f7a18d9p-3 +0x1.18abee9edaa09p-1 +-0x1.6a2fb5cdd4f1cp-1 +0x1.9c9940c028163p-2 +-0x1.dd0cd1cbf4055p-1 +-0x1.d4cb601ad903bp-2 +0x1.aca3c5b49b51fp-1 +-0x1.6d0c6ee038aa8p-1 +0x1.77f5896bfaf1p-4 +0x1.1a429138cb95ap-1 +-0x1.3af6c2d75d189p-2 +0x1.a5f5e16f171d8p-1 +0x1.606b66d295891p-1 +-0x1.d480710e94e67p-2 +0x1.2bd4fb5c7d6e4p-1 +-0x1.8a5677109eb3ep-2 +-0x1.5ab8006d54d0ep-1 +-0x1.babac1d6658b9p-3 +0x1.26d7b544813f8p-5 +0x1.76144c7f3e9c9p-1 +-0x1.b63ffd72bbbe9p-4 +-0x1.4fbc6dd06a89dp-1 +-0x1.c9fb28901d517p-7 +0x1.6ddf6892b72cap-4 +0x1.ff5b86f5f418dp-4 +0x1.d316aed1c285ep-4 +0x1.430bf232c207ap-7 +-0x1.858ca479da09dp-2 +0x1.fc36937c38254p-1 +-0x1.1d770d6a2cf96p-2 +-0x1.032dc815610bbp-2 +-0x1.7b041fd969e89p-4 +-0x1.6584df2c6a83p-2 +0x1.1dfed4759bebfp-3 +-0x1.ba50d2f6110b5p-2 +0x1.e29c9b31d6da9p-1 +0x1.92f14e8f3825dp-2 +-0x1.39170d6424af2p-2 +-0x1.8693d0848429p-1 +-0x1.15fa81e3464dcp-2 +0x1.350d7839f7f2dp-6 +-0x1.e2708c5d89902p-2 +-0x1.5070451065217p-1 +0x1.41e9cf1736a6dp-2 +0x1.f12d2e6b6209bp-6 +-0x1.d56cf5fb29992p-2 +-0x1.285071363c39dp-2 +0x1.0539b90ce036ap-5 +-0x1.2c7dcbecb517cp-4 +0x1.3988e26de320cp-1 +-0x1.8d67eb32ca1dep-2 +0x1.9a32e17b6b67ap-4 +0x1.8104464fd1697p-2 +-0x1.271f4b5fe7d3fp-1 +-0x1.de4e40a256dd8p-2 +-0x1.139b0f0231c45p-1 +0x1.8deb51fc025a2p-1 +0x1.d9242a57ec73fp-4 +-0x1.c44d82fc80782p-2 +0x1.5d55ae6cc0f17p-1 +-0x1.48d04b70bdd15p-3 +0x1.1fa8f83f85f7bp-2 +0x1.c9e901ebf5e59p-2 +0x1.d2a2249179892p-3 +0x1.e404493e20088p-2 +0x1.f8b7c45db0cfdp-2 +0x1.84b45249bc8p-3 +0x1.0b6f2199f585dp-1 +-0x1.7938bbec3eab9p-1 +0x1.a79e904e6f7a6p-2 +-0x1.0eb5225e65041p-2 +0x1.eaccf88238f54p-1 +0x1.390430d8c61c1p-1 +-0x1.511bb5b7e9e99p-1 +0x1.32dee3febf14p-2 +0x1.3b00a9f677e95p-1 +0x1.6e4fd7e40b128p-1 +-0x1.97dfc2cfab84cp-3 +-0x1.51aca94a7dadbp-3 +0x1.2ae800ff7859ep-4 +-0x1.a4ebb42664509p-1 +0x1.334a7b3b9079p-1 +0x1.93059e45e2b6dp-1 +-0x1.2767c0f5a260ep-5 +-0x1.08178d1cc56adp-1 +0x1.f5bd79662971cp-5 +-0x1.fe54f0c1b200ep-4 +0x1.4a0bc895c512cp-3 +-0x1.48c1ad2bba5cfp-2 +-0x1.60dae68516f36p-2 +0x1.e70663a7a9653p-1 +-0x1.e5afbcc46f105p-1 +-0x1.7e4222c6c973p-1 +-0x1.6b5f6879ec61fp-2 +-0x1.116521d4a3d8cp-1 +0x1.a468ebf0357cbp-5 +-0x1.4413d5ee9f75cp-4 +0x1.b61754ae0c6dbp-1 +-0x1.b947e094d55dep-2 +0x1.977b767ab2815p-2 +-0x1.8b6dca686933fp-3 +0x1.991f4bed593b8p-1 +0x1.012dd5417ebabp-1 +-0x1.8af3b7aac61cfp-2 +0x1.9b817a66f1ep-3 +0x1.094b6e6f48d65p-1 +-0x1.a4ad2f1d303ebp-1 +0x1.e40b96b32e14cp-4 +-0x1.e0c79226aa222p-2 +0x1.971a6eb6018aep-2 +-0x1.9cdffccabc0efp-2 +-0x1.7f64dd7243975p-4 +-0x1.bc3d0d490c944p-1 +-0x1.5fc30d17c6d7p-1 +-0x1.394386750109cp-1 +0x1.9697c6ba07269p-1 +-0x1.e3f9c8732e0b1p-6 +-0x1.f1f8430ec2bc5p-3 +-0x1.dea8cfcd209e8p-3 +0x1.32a8cc0d08ac5p-1 +-0x1.085623bdd141dp-2 +-0x1.40cc2d2b49247p-1 +0x1.979e582fffa19p-1 +0x1.22277b094be9p-1 +-0x1.88ea7e13e710ep-1 +0x1.e6c3afea56211p-3 +0x1.a29236a2732fep-5 +-0x1.0c3141d2aed7cp-6 +0x1.5c4d26be8c375p-1 +0x1.bb92e9a234e99p-1 +0x1.fae36351584c7p-4 +-0x1.d8c9381b36e3p-5 +0x1.769c090d856c9p-2 +-0x1.666600121a512p-1 +0x1.53c883aed37dp-3 +0x1.7081dd700aec3p-1 +-0x1.b75cd69eb7542p-3 +0x1.c6c62f42465bcp-2 +0x1.9550b24d48119p-2 +0x1.d576a67439797p-1 +0x1.68731a7f66afcp-2 +0x1.1782432d3e0fcp-1 +-0x1.936702f764919p-6 +-0x1.324f3175f50bep-2 +-0x1.44c8d837b29a1p-1 +-0x1.13235abe51859p-2 +-0x1.3590ff9fb0307p-3 +0x1.7f7ee35916c4bp-3 +-0x1.56a414516dfd8p-5 +-0x1.b28e106776d08p-4 +-0x1.56b4b7e525f8p-1 +0x1.269a29679b878p-2 +0x1.5c25b7a3b86c2p-2 +-0x1.52467ca5a2a59p-2 +0x1.a9781388cb2afp-1 +-0x1.6ad65c0b2c245p-2 +-0x1.8b3d6bf9c738p-2 +-0x1.42b03fb911a6dp-2 +-0x1.7c9dfd892282cp-1 +-0x1.4cfbf80963feep-1 +0x1.01cf97de8cb3fp-1 +-0x1.4580a4f7cd1bp-1 +0x1.f863ad7b8b45fp-2 +-0x1.276971410e109p-2 +-0x1.b80c5e6a003fep-1 +-0x1.1d73ed291042cp-2 +0x1.b31d0ef3c7a3dp-2 +0x1.8216509d06f1dp-3 +-0x1.e62d7e4f2ca86p-1 +-0x1.7fafc9ff671f2p-3 +-0x1.b10432fe8a26ap-1 +0x1.5d39b979b9a6fp-6 +-0x1.814adcb6d08c6p-1 +0x1.007b53c1185c4p-1 +-0x1.d7f8b998ae332p-3 +0x1.1e4003db8fb25p-1 +0x1.cf7be185bcb6ep-3 +-0x1.edec2941d3352p-1 +0x1.2787ee2e37515p-1 +-0x1.e0ce1f0eea52bp-2 +0x1.9603cd92dae3cp-5 +-0x1.91869e5b58505p-1 +0x1.ed10f7051185fp-2 +0x1.982de6c7f4d8p-3 +-0x1.10e77e4a622b9p-2 +-0x1.b1b6a899c6a79p-1 +0x1.192082aae86c5p-2 +0x1.57a1574b63bd2p-2 +-0x1.3ccdaf13ed278p-1 +0x1.6f2f0bf02902ep-5 +0x1.afcdaf9fd9ac8p-1 +0x1.630dac7b68b4dp-4 +0x1.970d4fd8df16cp-2 +-0x1.2c42111ba3878p-1 +0x1.f58ab54620487p-2 +0x1.d318cc564819ap-2 +0x1.bdd0ab433e808p-2 +-0x1.7839b96617161p-1 +-0x1.b0f20f3d48bp-2 +-0x1.426bb9e8b8d57p-1 +0x1.27fc8053f6d7ap-1 +-0x1.d9ecd6d73af88p-2 +0x1.f6fd3737e2095p-2 +-0x1.c6376075267ap-2 +0x1.5d9d619500a72p-1 +0x1.985deed076b0ap-1 +-0x1.0b836aa598b3bp-1 +-0x1.15fb076c76e54p-1 +-0x1.4f571fde7a502p-1 +-0x1.c17998c8e3353p-1 +-0x1.8259681e6bf3bp-1 +-0x1.2dfec1f21f17dp-2 +0x1.86b9d349f1f7ap-1 +0x1.31593a6fcda34p-3 +-0x1.cdb44cb109cbfp-1 +-0x1.40301ef2451e8p-4 +-0x1.6cb2e1d010d6cp-2 +-0x1.625cce8b1d24ep-1 +-0x1.c039bc7976072p-1 +-0x1.fab4a3e3913d1p-2 +-0x1.6b0ae4ccc749p-2 +-0x1.32bdc28a0df19p-2 +-0x1.d95bf17c22d4ep-1 +0x1.7093254da59aap-2 +0x1.ac93a15eac938p-2 +0x1.742a051f8d64ep-1 +-0x1.6cc9bff839cb7p-2 +0x1.a12496fcd7d16p-2 +0x1.6a11291b7887cp-1 +0x1.bfd70fa6c9fd2p-2 +0x1.be81aae59b7aap-3 +0x1.0966e6a0d73dap-4 +-0x1.b4c843ccf15d4p-2 +0x1.241202d617097p-1 +0x1.ad5c7a7406aebp-1 +-0x1.d2e133d994841p-1 +-0x1.65d80c954f8dfp-2 +-0x1.2d790bf71cdf5p-1 +-0x1.72e499d922a73p-1 +-0x1.3e615f76b8d66p-1 +-0x1.4d1eac5d5b8f2p-3 +-0x1.cf9ff27bf2c0cp-1 +-0x1.1205fb4b89fcep-1 +-0x1.6705acf7017acp-1 +-0x1.049f01c2818aap-1 +0x1.079cffcadd19dp-2 +0x1.3c0b01902f4fbp-2 +-0x1.6f31aa0dc4b51p-1 +0x1.52f99de5b809p-3 +0x1.008423352f85cp-4 +-0x1.1e1136975b5dep-4 +0x1.b536f06311f25p-1 +0x1.fcf3a51d97202p-2 +-0x1.6ff71534123ddp-1 +0x1.42050005933d9p-1 +0x1.98e072b8f299ap-7 +-0x1.69191f678ad4cp-3 +0x1.40a784ab1744cp-3 +-0x1.63757ec40cb2ep-3 +-0x1.cfa6fa09e37cfp-5 +0x1.025cfddaf743cp-1 +0x1.dc329dc41076ap-4 +-0x1.80455f6bc69bcp-1 +-0x1.f7adf7d8ae9e8p-1 +0x1.f8472c0d8233fp-2 +0x1.a4ef60e8d4b68p-2 +-0x1.81239f23394e7p-1 +0x1.5387fc6c4af86p-1 +-0x1.80dc1ca4a928bp-1 +0x1.50ab5ca3ea361p-2 +0x1.7ca938069d897p-3 +-0x1.524fd49a02b4dp-3 +0x1.44580cdfe28b4p-1 +0x1.bcf5e5773b864p-1 +-0x1.ec2f51ca5af3bp-1 +-0x1.d881ce2ed8b85p-4 +0x1.b8cf6de8cd133p-2 +0x1.5e4d8deac9d24p-4 +-0x1.544a1988b1237p-2 +0x1.e67a48747bf31p-3 +0x1.c4edfa9cbff3ap-1 +0x1.6b2dda97a7f3ap-3 +-0x1.a8b95ed78f2f1p-2 +-0x1.83ff63ccd829dp-1 +0x1.de453ec5656f7p-3 +-0x1.70b985d772324p-1 +-0x1.a138ff48e7066p-4 +0x1.83719c6502f7bp-1 +-0x1.a4349c6c28813p-1 +-0x1.ed06da667efe6p-4 +-0x1.414837338660ap-3 +0x1.fd17be8702e5dp-1 +0x1.0fdaa028af235p-2 +0x1.8bdbe25c8524p-4 +0x1.9a65a34f42815p-1 +-0x1.7f250f8677549p-2 +-0x1.3b1f20fce5035p-1 +-0x1.345fb24859892p-2 +-0x1.75771df423c34p-2 +-0x1.11c84083469b2p-1 +-0x1.ec1425f94a20ep-3 +0x1.0dcb3cd4ced58p-1 +-0x1.01df0e2e1370ap-1 +-0x1.5583c6f4bc694p-2 +-0x1.7534bc75be26cp-2 +0x1.65f932877f2c9p-1 +0x1.650ac355b1fbp-3 +0x1.f4a996d8aa54cp-1 +-0x1.b65fbc20a3a98p-1 +-0x1.ed015bb0f1a04p-2 +0x1.530258a63ca0ap-2 +0x1.244d37a4b88fp-1 +0x1.a5d93b108ac8bp-1 +-0x1.f3cdd95209908p-1 +0x1.e19df575548e9p-1 +-0x1.05c686cf8aa9p-1 +0x1.27d0aec5930a7p-4 +-0x1.a02df7e27602dp-3 +-0x1.fdcf44623d089p-4 +-0x1.dc0e3b5fc7529p-5 +0x1.8d0733930aeaap-7 +-0x1.a57da927cfc94p-2 +0x1.11731cbe222f2p-3 +0x1.8eb29b03763abp-1 +0x1.1de421fc65cf7p-3 +0x1.5b00a9eb14f05p-2 +0x1.f487b542e453bp-7 +-0x1.782853be7a173p-6 +-0x1.8cd0667537f74p-4 +0x1.13114d2764ab5p-2 +0x1.5fd92c29e14d1p-1 +0x1.d9bb67a751c9bp-3 +0x1.000b24dc60bbfp-2 +0x1.5a9c8cc505145p-1 +0x1.1272a3e76653fp-1 +-0x1.35b3bc55aa792p-2 +-0x1.4226dd3ae5d08p-1 +-0x1.77c05af17058p-5 +-0x1.cb7f65f4cdf11p-2 +0x1.444f8ab014a2ap-3 +-0x1.e456e5dbd3fb4p-3 +-0x1.5078bb9f2659p-3 +0x1.478f2e3411d6dp-1 +-0x1.e4a03ced5aed3p-2 +0x1.c9f989e20e2c5p-1 +0x1.4c1cb0dfce0fap-1 +-0x1.8efcdfe9227bfp-2 +0x1.e82ca02a095f5p-1 +-0x1.50327d1d01e1cp-1 +0x1.5e3d5ca372cd8p-1 +-0x1.34843c6dbc634p-6 +0x1.74a869f6dbf51p-1 +-0x1.9f4a8b2460634p-3 +-0x1.c4cda7aa49b34p-2 +0x1.0649ddcd7b7a6p-1 +-0x1.4ff7f4c523d9dp-2 +-0x1.25e0936f71a7p-1 +0x1.9a100c69fd855p-3 +-0x1.3e09735051e1bp-1 +0x1.12f8710d6cbf8p-2 +-0x1.3c2e2f2e0049fp-6 +-0x1.1303f20ce2ddep-2 +0x1.73c6412270476p-4 +0x1.87c68be809854p-1 +0x1.d69c54d0ae8efp-1 +-0x1.726e5386cbf5ep-1 +0x1.4db07670f6b3ap-1 +-0x1.6196e059b8ff2p-1 +-0x1.253e4af538e5ep-8 +-0x1.c149882d4462fp-1 +-0x1.0c63051c5fb7ap-2 +0x1.24900fa2d83bbp-2 +0x1.0b59f0be1d50ap-2 +-0x1.51998f4724bcfp-1 +-0x1.5a031d6a41d77p-1 +0x1.e7b494d60d128p-2 +0x1.0c48212f9d7d5p-6 +-0x1.165632366a642p-5 +0x1.f02bc2261e6p-3 +0x1.35c695c54324cp-1 +0x1.da738a1ef263ap-4 +0x1.8e148329ce957p-1 +-0x1.6cb9d13339973p-2 +0x1.d4056b95aeccep-7 +0x1.de8772d37ca95p-3 +0x1.d3b5e3a89f62dp-2 +-0x1.d8d5792880182p-1 +-0x1.b993494c289a7p-3 +-0x1.b84750ff20e86p-1 +0x1.48c177c8aca89p-1 +0x1.3a66b9a23bd17p-2 +-0x1.fa27ac4b53133p-2 +-0x1.a5a1745ef634cp-3 +-0x1.4a664bb33259ap-2 +0x1.6ee76694ec5d6p-1 +-0x1.afc05ac01c8acp-3 +0x1.ea1e561e42038p-3 +0x1.8dcce3fc465dp-1 +-0x1.0a396cc90132fp-3 +0x1.4b760b4195016p-1 +0x1.eeaab28f3cc9bp-4 +-0x1.e5cf22a4e0704p-1 +-0x1.6a6b3667ecb32p-2 +-0x1.0033cbb59798bp-2 +0x1.5d2b01826975fp-2 +0x1.8053b0fcd2ab5p-1 +0x1.289d0339edb06p-1 +0x1.d796055b34876p-2 +-0x1.1ae939761bc6fp-1 +-0x1.3216d3376dc3ep-1 +-0x1.6d72c573c240ap-1 +0x1.bbf7f991509bp-1 +0x1.82e235c879fcap-8 +0x1.2d96702365145p-1 +0x1.215bea1d8d972p-1 +0x1.c7bea18c7d6b8p-4 +0x1.e87f010895ff8p-2 +-0x1.0ed4d3c156fc9p-2 +0x1.08d6671deaeadp-1 +-0x1.df82330efc0c1p-3 +0x1.0ca319407cc5dp-1 +-0x1.afa2251ae4712p-3 +0x1.4e30ff3c01273p-2 +0x1.9da612424a4a7p-1 +0x1.56cd31f370209p-2 +0x1.78507db603478p-2 +0x1.5fdd6ff3a3c16p-2 +-0x1.a40adcf265112p-1 +-0x1.9a4965d24107ap-2 +-0x1.0087030c13e29p-3 +-0x1.9050f6f41c4ddp-2 +0x1.9010a2e637bc7p-1 +0x1.113376a83e2c6p-1 +0x1.4a4de4a4f3f5p-1 +-0x1.51fcce431742p-1 +-0x1.9c2d8e376b37dp-5 +0x1.c44d680df0d2p-5 +-0x1.358e7d9acbd29p-1 +-0x1.acda53bcc594ap-2 +-0x1.df8aec5ab3b8cp-2 +-0x1.3b617f40989f6p-2 +-0x1.d35c076e911bp-3 +0x1.c611ff262acf8p-1 +0x1.2c63a0d55602bp-1 +0x1.ff52828b187e8p-4 +-0x1.27ad28fb498b1p-9 +-0x1.43fe26caa94e4p-1 +-0x1.e41d4190bc4p-5 +0x1.4195690e1cf21p-1 +0x1.c9b73cff0310ep-2 +-0x1.c801293111172p-1 +-0x1.2c1e6a83defe7p-5 +-0x1.fd5e6cb8f767bp-2 +0x1.90c3f7fee8f65p-1 +0x1.7d91fa800e21fp-2 +-0x1.13ae63d5081bdp-1 +0x1.c8a557e518029p-1 +0x1.a6e45f4e9a6b6p-3 +-0x1.29d98c3d009e9p-1 +-0x1.f21ac89dc068cp-1 +0x1.4cbf19dc5b9bfp-1 +-0x1.3a429e885e077p-4 +-0x1.ce2241020a565p-1 +-0x1.df6dddddfb031p-2 +-0x1.1a0e884ca5e7ep-1 +0x1.320570a070578p-2 +-0x1.b4cdb39547973p-4 +-0x1.ed74867a6604dp-2 +0x1.6e2504b1018cep-2 +0x1.5b1e28d808043p-2 +-0x1.e16a7594bfd91p-1 +0x1.7ba9478a5fc1ep-1 +-0x1.37e81213f4e0fp-2 +-0x1.5a43d413f83bap-1 +-0x1.314f136d93effp-2 +-0x1.c4746d32411c8p-1 +0x1.caa9958a03f63p-2 +-0x1.8abcbb8919c3ap-3 +0x1.0e8a8f6a2f9ffp-3 +-0x1.2abbd0baf081cp-2 +-0x1.03e7d6d004b27p-1 +-0x1.6d9f5a8430a7p-1 +0x1.88090d68e9bf2p-5 +-0x1.adf2db48aa4bcp-4 +-0x1.afae6b5b46062p-5 +0x1.82c66e4c5ffd4p-1 +0x1.76212d58b40c7p-3 +0x1.1e35a985b8e18p-2 +-0x1.2d2b34d13b5f9p-2 +-0x1.74477a02ec0bdp-2 +-0x1.da68da140e825p-1 +0x1.429f6834ec34bp-5 +-0x1.7077cc9441a48p-1 +0x1.814d36ac07302p-1 +0x1.1d1dbc833ad22p-1 +0x1.b4bc73f74859ap-1 +0x1.fdb265566f7bbp-1 +-0x1.e217b64982b81p-2 +0x1.7d0b6b6ad16bdp-5 +0x1.a7dc653255db1p-1 +0x1.3501846c6881fp-3 +-0x1.0e739a1cb6914p-1 +0x1.dcf0eca530e4p-1 +0x1.71154680533eap-1 +-0x1.a71018021042bp-3 +-0x1.3613199c0d3b5p-1 +-0x1.b1d92ec8199ap-4 +0x1.1a1680e0d48f8p-2 +0x1.fb5d100257bd6p-10 +0x1.801e5a27f68b9p-1 +-0x1.c0fb2f73df48fp-2 +-0x1.c4e0a59ec8ebp-4 +-0x1.a688e18352387p-1 +0x1.b6c954e7491aap-1 +0x1.6db21943c5ea5p-1 +0x1.5860f23c4db45p-1 +-0x1.361ab3437a041p-3 +0x1.ed5bc38d3b8e3p-3 +-0x1.08eff43d8ee44p-2 +-0x1.409854b4af796p-1 +0x1.4ad435a929e1fp-4 +0x1.760fca29627f8p-2 +0x1.6165d2706a035p-1 +0x1.b1a2eb38ef6dep-1 +0x1.59aeb5208e1b3p-1 +0x1.3e0b667f5842ep-1 +-0x1.36aa071aeee3ap-4 +-0x1.7caf6d8ba4423p-3 +0x1.52874ff294ab8p-2 +0x1.708585ed461c7p-2 +0x1.b81519abfe448p-1 +0x1.960ca3aca2da9p-4 +0x1.9570944645b83p-1 +0x1.1d4dca9abb546p-1 +-0x1.5d5790632cd87p-1 +0x1.8d8712602a95bp-1 +0x1.1782407a9b254p-1 +0x1.d5753e3e8f083p-2 +0x1.a561d6e254c0ap-1 +-0x1.0929799d921e2p-5 +0x1.bc58ccf3d9c82p-2 +0x1.cf7dbd153242p-1 +-0x1.2bfa1f27e0b51p-1 +0x1.71d9c44bd06c3p-1 +-0x1.78931e76da172p-2 +-0x1.3bffaf540e3f7p-2 +0x1.136d33bdd8d5cp-2 +0x1.bd27aa0397bc9p-4 +-0x1.d97617c64ac54p-1 +0x1.f8279ff8d44e8p-1 +0x1.10a960acbb03ep-2 +0x1.058270b943164p-1 +0x1.27ca95f032cf8p-3 +-0x1.002a759a2c1e1p-1 +0x1.0fe87e39796d4p-1 +0x1.9757956c215b8p-1 +-0x1.bd8d2c8008f1fp-1 +-0x1.d754674b230f9p-1 +-0x1.0df93392ed5dbp-3 +0x1.cf78b8b43a304p-4 +-0x1.ac4cae5c8a0e1p-6 +0x1.b3389a7d7531ep-1 +0x1.3db3786b871ffp-2 +-0x1.93fbc2d3d6065p-2 +0x1.61b4044ca5525p-1 +-0x1.859fc80ce8dd2p-5 +0x1.99ce895446293p-2 +0x1.6aec3909bde3bp-2 +0x1.e9dd4a1211665p-1 +-0x1.b9dbeacbb4ad4p-1 +0x1.2c1cdcd2ea989p-4 +-0x1.5bfccde0a525p-4 +0x1.ad2c339b6833ap-1 +-0x1.2cc2168c7a187p-2 +-0x1.598eaaa5d6729p-4 +-0x1.9d42880d363dap-2 +-0x1.4f40c81ad56fap-1 +0x1.4d5147db880e4p-1 +0x1.bfddf2f5dd9c9p-2 +-0x1.343e0be99de54p-7 +-0x1.0461c2da75ca5p-1 +-0x1.c31b2ce23198ap-1 +0x1.51c0fa684649p-1 +-0x1.15a3f961b391ap-3 +0x1.67eb9adebcf6fp-2 +0x1.c5dd61a2272aep-2 +-0x1.0eee3a434ef08p-1 +0x1.ef12f8cc3b26fp-2 +0x1.8cf8ad702da21p-2 +-0x1.e0ecf5f96c90dp-2 +-0x1.95cf66af5f15dp-2 +-0x1.7b9b7272aa8c4p-2 +-0x1.4ec5527bb6b1p-2 +-0x1.489c9c3257ffbp-4 +-0x1.8605a7ea9f68ep-1 +0x1.0b9704fd80065p-3 +0x1.9fda0279608a6p-1 +0x1.1a3fd319de2d8p-1 +-0x1.4e094ad593c7ep-1 +0x1.ab276d926a2bdp-6 +0x1.bdbf97dc2183bp-1 +0x1.c487e4f0d9a5p-4 +-0x1.df6aac5448968p-1 +-0x1.ff6dff9e98f3bp-2 +-0x1.a6d1a236e9fe9p-3 +0x1.19c34861443ddp-1 +-0x1.38178bca9e3d1p-1 +-0x1.c0cc257c366a5p-1 +0x1.063f27e68cf88p-1 +0x1.c6aa871d1ca16p-1 +-0x1.32c87d251d18ep-2 +0x1.ffaddddffd222p-1 +-0x1.05ffa8595a494p-1 +-0x1.8a040ec30673ep-1 +0x1.3a9c500a0fd76p-1 +0x1.7ec5df88476ddp-1 +0x1.37444d56dfa27p-2 +0x1.22850f2f3ff3ap-1 +0x1.ce3f44cae826dp-1 +0x1.35badc4b94a55p-1 +-0x1.41c6e08eb1268p-1 +-0x1.6c41cc8ea8281p-1 +-0x1.7565fa3d9a79dp-4 +0x1.fd92ca712f54fp-2 +-0x1.37986b9e76a3cp-3 +0x1.d57e7be542dbcp-5 +0x1.991d55be4e526p-1 +0x1.c0f4d81e67683p-1 +-0x1.af78092a0a64cp-1 +-0x1.91f063cd15e4ap-3 +0x1.846351a6dd0cbp-1 +0x1.19f85a9224171p-2 +-0x1.a43a833f8a75cp-4 +-0x1.864d0783cde65p-3 +-0x1.93569e7bd99ecp-1 +0x1.0cb556f0e2e6p-1 +-0x1.7754bfaab4c5ep-1 +0x1.82de4a767021p-2 +0x1.8c543f7174207p-2 +0x1.ee36f04662ab3p-1 +0x1.1297b95aa2c1fp-1 +-0x1.47d746031436bp-2 +0x1.3aadbc8ef7e29p-1 +-0x1.bd927f299a5bp-1 +-0x1.b135183e076fp-3 +0x1.9ee1502eccb25p-4 +0x1.2b7cd87d8575fp-1 +-0x1.1941fd7777dc3p-1 +0x1.c80c676ba1bb6p-1 +0x1.b281c98df2671p-2 +-0x1.ef3af6c6c31b3p-1 +0x1.d979ea278f4bp-1 +0x1.25e01e4440cd7p-3 +0x1.fa0fc1692310ep-1 +0x1.0869ca83a0ac7p-4 +-0x1.d6aa5970ba8b8p-2 +-0x1.7b13e32ea485bp-1 +0x1.b66e3aa220ca7p-3 +-0x1.9327541d9796bp-2 +0x1.30f30c4cdabecp-5 +-0x1.2f304d380c7abp-4 +-0x1.4713a4b30b6c4p-2 +-0x1.f94357e8a02e3p-2 +-0x1.a4235360225a7p-1 +-0x1.bb27698ece002p-1 +-0x1.a0214f47a11b1p-1 +-0x1.6a97a2a03ba8fp-1 +-0x1.d17a3ebe29d94p-1 +0x1.2f362f19ff5ebp-1 +0x1.32a8ea7125589p-1 +-0x1.c9957373fafdep-2 +-0x1.1757ef7fa3c96p-1 +-0x1.62cb58844a0abp-1 +-0x1.16410da05e864p-2 +0x1.17a89dddeb115p-1 +0x1.f5385e107aee5p-2 +-0x1.a2d1d2c2387d4p-1 +0x1.aac75465c6fdcp-1 +0x1.930bc47bb8188p-1 +0x1.12566c6d7fae2p-1 +-0x1.11f7a629494a4p-3 +0x1.affc0a40e4b03p-3 +0x1.f2be0a10bd434p-3 +0x1.4a4c52737001ap-1 +0x1.0b3c195c20e8bp-3 +-0x1.8c5f16b22855ep-1 +0x1.2690271da9e56p-2 +0x1.4fcd5f676c506p-1 +0x1.e0721ee1cf4d2p-2 +-0x1.e29a437562d99p-1 +-0x1.cb80f8f1873e2p-2 +0x1.2c92a9fd17667p-4 +-0x1.5e774a8943ae7p-2 +-0x1.b0789f1a65acap-1 +0x1.5d71d2afc84b8p-1 +-0x1.f2c1319c2ef97p-1 +0x1.f78189ad92a99p-1 +-0x1.3860512005dcp-3 +0x1.cea1225096b12p-1 +0x1.c33f8b1338b5dp-3 +-0x1.79e05f7832612p-1 +0x1.cc09cbd14a6a3p-3 +0x1.e0b9f9d321f3cp-4 +0x1.6fbea0aff0685p-2 +0x1.715cab373d909p-3 +0x1.a2bc9dcd1e467p-3 +-0x1.997e2c20a9b4p-3 +-0x1.7b7513154fd58p-3 +0x1.2718ebc53a28fp-1 +0x1.8065368a8c428p-1 +0x1.9579f6463b22bp-1 +0x1.3648ffafc92c3p-2 +0x1.a0c47a5fc93c6p-8 +-0x1.098030e3bdc44p-1 +0x1.84fb0df3d135ep-1 +0x1.944694c9d91aap-3 +-0x1.08e3527bdf7d8p-2 +-0x1.2c4f393cd4117p-1 +0x1.4904fb6cadfabp-1 +-0x1.d03ef14f9974dp-8 +-0x1.8e288e1a61ee3p-1 +0x1.c2aa6042cc4f2p-3 +0x1.ff0a0b216808dp-1 +-0x1.ddb1ebaddda37p-2 +-0x1.f82692afa89ebp-3 +0x1.9197f0d053534p-1 +0x1.f12d869443df1p-1 +0x1.bc2f090259a63p-3 +-0x1.725fc7b07202dp-1 +0x1.6377407d53bc4p-2 +0x1.9da177186889ep-2 +-0x1.74fb4afaa9d53p-2 +0x1.ac5c33b15f2f5p-3 +-0x1.995882a16d9e8p-1 +-0x1.7448d52d5a8c1p-1 +-0x1.633504a015bbbp-2 +0x1.c9f1cc0441dbcp-4 +0x1.28782cc397ffap-1 +0x1.9fa8f29748837p-2 +-0x1.2bf5c3273459cp-1 +-0x1.0b75a703206b5p-4 +0x1.6725ab67e4eccp-3 +0x1.77981e69716c6p-3 +-0x1.f701b74210786p-3 +-0x1.bca62ceedc24cp-2 +0x1.8ec04b88e9299p-1 +0x1.bbf63740f394ap-1 +-0x1.a3fa37a2e2b1p-2 +-0x1.1af036b14ba26p-2 +0x1.22f5cd1fca077p-1 +0x1.d770c85e8f6e9p-3 +-0x1.42a6adcfb4b0fp-6 +-0x1.27cb5126ebb8p-7 +-0x1.f49ffa4217a6fp-2 +-0x1.0d3d3f0b52229p-1 +0x1.5b1d55529c492p-3 +-0x1.dd3e929b61fc4p-5 +0x1.d5d6b1b257addp-6 +-0x1.bd0e3a05c7368p-1 +0x1.a6ffb58cb5985p-6 +0x1.e6a5d11bab93fp-8 +-0x1.69a5af5d507a9p-4 +0x1.1757b437ff188p-2 +0x1.6b8edf583259ap-3 +-0x1.0809daeebad5cp-1 +0x1.1981bb5c459ddp-2 +0x1.ae3274518c3f1p-1 +-0x1.acc7c26f9439ep-1 +-0x1.8ed5eae8fc502p-1 +-0x1.9a2218c92353bp-1 +0x1.a060e95bce3d5p-2 +-0x1.3a59a40c2908ap-3 +-0x1.697f9db42a65bp-2 +-0x1.0d641a16a5775p-2 +-0x1.85cba1f04a7e7p-2 +-0x1.d786b2a3eb564p-2 +0x1.d47af0a008b86p-1 +0x1.12b882be237a6p-1 +-0x1.ee07e3a21fde7p-6 +0x1.c0f58777181f4p-2 +-0x1.7a9e3b6970f85p-1 +0x1.dd7e575a9d08ap-2 +0x1.f828d7a3d7bf5p-5 +-0x1.53bf26bf39cf9p-1 +-0x1.268cbac90ee5ep-2 +-0x1.53064ee7f801dp-1 +0x1.4ce7868e88fb3p-3 +-0x1.815ecd04a992p-4 +-0x1.f902455eb6758p-1 +0x1.802ce535a4c7ap-2 +0x1.8bb20a6ca6af9p-2 +-0x1.946c7f8f7a61ap-1 +0x1.4f8e10a8337a8p-3 +0x1.6732539f8ac94p-2 +-0x1.98da12057e07cp-2 +-0x1.83eef65f60d0fp-3 +-0x1.5be26e4af96a7p-1 +0x1.5e6c49c167deap-6 +0x1.6486d45e0d9cfp-1 +-0x1.79675e3b63614p-6 +-0x1.f90ed38c8dfcfp-1 +0x1.1dbb45313c71ep-3 +0x1.50ccd4300d861p-1 +-0x1.7c796be9a971p-3 +0x1.2f5dbcf57f00ep-1 +-0x1.10218e57c676bp-1 +-0x1.86e44c8435dcdp-2 +0x1.58fe4a325accfp-1 +0x1.0d92d84a8c417p-1 +-0x1.1f6c54d65f837p-1 +-0x1.b5c6edc9a4bd3p-2 +0x1.81b8ac69a4f7ap-3 +0x1.94b35db8418bfp-4 +0x1.1b785b9ae6c65p-2 +0x1.99ab902d747c7p-2 +-0x1.dd3e7ccde95fdp-1 +0x1.00c3274ec2061p-1 +-0x1.06b80839acdc7p-3 +0x1.0081ce3c861a3p-1 +0x1.0a5854c849154p-2 +0x1.7002df31e4271p-1 +-0x1.9ef987b128d32p-3 +0x1.f040f23280888p-1 +-0x1.dce42446fa208p-1 +-0x1.2b698b53d3ed1p-1 +-0x1.604c22ae85ba8p-1 +-0x1.9ead7fd515e8dp-3 +-0x1.7f25d213409b4p-1 +-0x1.3ecb54cf217f1p-2 +-0x1.42bd8c75ca1a1p-1 +-0x1.b58710cc55024p-2 +-0x1.0bcbe03f9178bp-1 +0x1.ad2f3bf77e92ap-1 +-0x1.c4a3496909752p-1 +0x1.f1b6a315666ecp-1 +-0x1.ccb270059777ep-1 +0x1.be840d57a7d3dp-2 +0x1.abfd0ae117d33p-1 +0x1.73307b0afc1cp-4 +0x1.ed77212a1bbfdp-1 +0x1.cc4adc85133a8p-1 +-0x1.d46c12433e3bcp-3 +0x1.b84221fddc0b9p-1 +-0x1.14347e5a53e76p-1 +0x1.94eaaa70f4ddfp-1 +0x1.45921dfac538ep-1 +0x1.af247c811412fp-5 +0x1.468842c0a7ec9p-1 +0x1.4bfdcd3107724p-2 +0x1.dc22ae55517cep-2 +0x1.3ec043d4c77b1p-1 +-0x1.38e88f94af01ep-3 +0x1.7f31352b6571p-4 +-0x1.d8e5cf250ba5dp-1 +0x1.ba7a57d6e6144p-3 +-0x1.0c70aabc69e89p-2 +-0x1.ec3c46a39a274p-1 +-0x1.f6ca0bd88e38fp-3 +-0x1.45c57fd1010d9p-3 +-0x1.c3de1d196e1b6p-5 +0x1.e727d990df347p-2 +0x1.abe66fcda83c4p-2 +0x1.6d54710478a63p-1 +0x1.9842aa62b4e19p-2 +-0x1.fc30311fefdaep-1 +-0x1.986eb01cd9683p-1 +0x1.153a17f3deff6p-1 +-0x1.8b71affd301adp-2 +0x1.e5599a8b8cd1ep-4 +-0x1.ea8cb0cedba39p-1 +0x1.f39e28961b26fp-1 +-0x1.15c3131754788p-6 +-0x1.c518dcf18236bp-1 +-0x1.73992aff0a5d1p-3 +-0x1.1f0d5f073e032p-2 +-0x1.3bfd7a839ba64p-3 +0x1.6e04148170658p-2 +0x1.b2bde0872ee3ep-1 +0x1.5c3469ab6a2c8p-6 +0x1.abee20dd08c78p-2 +-0x1.01d77ee7be2edp-1 +0x1.48755de7cd6f1p-1 +-0x1.9a52b339c19cfp-2 +0x1.fdafb2ce6f503p-1 +-0x1.3d9a4e10ced1fp-3 +-0x1.6755aa83fd126p-1 +-0x1.f8795032529aap-1 +0x1.ed03d324a113ep-3 +0x1.a353a72d4549bp-1 +-0x1.6dc442bb8d8b8p-2 +-0x1.cfbacda1bf4eap-3 +-0x1.8ccbba2b44e2bp-1 +0x1.7a186fbd1e357p-1 +0x1.da45a3b11c52bp-2 +0x1.7875e9b03e508p-1 +-0x1.383464a69474cp-2 +-0x1.0fb0489686577p-1 +-0x1.20affbc5d49b2p-1 +0x1.948236048ddb1p-1 +-0x1.5298e40efd77ap-4 +0x1.61acf74e469c4p-7 +0x1.72168e15129acp-2 +-0x1.fad951936d185p-2 +-0x1.d3401a99664afp-2 +0x1.1d3854a4dd63cp-1 +-0x1.bfc83ba0d3005p-3 +-0x1.3c511e40dab1cp-2 +0x1.da9aad045d77fp-2 +0x1.04347d3cc06adp-2 +0x1.494daff822574p-1 +0x1.e802695f1d30ep-1 +0x1.af76a1c52b28cp-3 +-0x1.9c0b5679318b7p-1 +-0x1.16cd889ab0c83p-1 +-0x1.3ac82571ecf4cp-1 +0x1.68323ff37cddep-2 +-0x1.9671335bacbf8p-2 +-0x1.ab725fd9451e6p-3 +-0x1.eca38a0590deap-4 +0x1.aba0c4d6681b1p-2 +0x1.0819cbd663ef5p-1 +-0x1.a5ea36b58086fp-1 +0x1.ecbf212febd3fp-1 +0x1.7380074607c0ap-4 +-0x1.9000bfef0398ap-2 +-0x1.478cbedd2f581p-1 +0x1.8966a75eeb4f6p-4 +0x1.8b66c88f70115p-1 +-0x1.440ac7df7534ap-1 +0x1.7c27eb3b8aa8dp-3 +-0x1.bf9b0d31fd77p-1 +0x1.657f4c07274eap-3 +0x1.c9b359e465457p-1 +0x1.a7c2ef6c1b216p-2 +-0x1.fca2d9f91ccap-7 +-0x1.80889d10f00c5p-4 +-0x1.692e50e627293p-4 +-0x1.87bd20aebe54ap-2 +-0x1.f459228934486p-2 +0x1.472382401a8f2p-1 +-0x1.3486642f00127p-2 +-0x1.8ca43405e2f53p-4 +0x1.27d6404eb2592p-1 +0x1.3167e123afdcep-9 +0x1.07b746cd12982p-1 +-0x1.2f7bf058a7195p-1 +0x1.f9f935fca78dfp-1 +0x1.ba524f226d8d5p-3 +0x1.0f32a7327a5f1p-1 +-0x1.4f203928b0bb4p-4 +-0x1.0ffdf80d90d07p-1 +-0x1.c65760470e8d6p-1 +-0x1.b2896d2a008dap-5 +0x1.574f6ae904203p-3 +-0x1.ce69199533b98p-4 +0x1.6278ff4a4752cp-1 +-0x1.30c4bd14b4924p-1 +-0x1.62648bf0bdc43p-2 +-0x1.1ac083c7f7b77p-3 +-0x1.bb56e2ec80623p-1 +0x1.ad3f74f660f3bp-3 +0x1.442a2410a734cp-1 +0x1.93fc4b6fcb397p-3 +-0x1.b963da759ef3ep-2 +-0x1.f13afb141844bp-2 +-0x1.0b4ad8e4aa729p-1 +-0x1.57e198befd26cp-3 +-0x1.0cfed51a5447p-5 +-0x1.4de6ec08a741ep-1 +0x1.51a0623691ca1p-1 +0x1.150623e621affp-3 +-0x1.e4d8afb8d5886p-1 +-0x1.5e75b6f76de37p-1 +0x1.7cc65731e3109p-1 +-0x1.47986af22f7e1p-1 +-0x1.ee6a09a960f7ap-2 +0x1.ae4e20db47b7bp-1 +-0x1.7ee782b20db47p-2 +-0x1.6eef80fc11dccp-1 +0x1.0f2c7c40bccb6p-1 +-0x1.0c604bf09f425p-2 +-0x1.d0cb2adb3e9a5p-4 +0x1.c6d45190f87cdp-1 +-0x1.213f621d457ccp-1 +-0x1.16bd00d48ddb6p-1 +-0x1.24e6e38986cap-2 +0x1.17855c5ffed5p-3 +-0x1.aca3ba588f3e2p-1 +-0x1.3a2dadf01ecd3p-1 +-0x1.4b8214e9db47ep-2 +-0x1.411949c78fdcep-1 +0x1.a37e5c826c84cp-2 +-0x1.93d3c81e27227p-2 +0x1.636292e9e6c7dp-1 +-0x1.554623015d74dp-1 +-0x1.0f8ceaafa745ap-1 +-0x1.aceccc0783c4cp-2 +0x1.7df32b260eecp-6 +-0x1.255a1aa91ef91p-1 +-0x1.a2bbbe7dac89cp-2 +-0x1.56d82280ca20ap-1 +-0x1.0dbeb9ef97955p-1 +-0x1.b94eb5428765bp-1 +-0x1.a9bf86e4ac70dp-3 +-0x1.0855827c83f4cp-2 +0x1.022d027737673p-3 +0x1.f018e571dd12ap-2 +0x1.a8bb437fc66aap-4 +-0x1.8e9e7d9406ba2p-2 +-0x1.664c29b1db939p-5 +-0x1.b5e40f88452abp-1 +-0x1.68c7d14330b2ap-3 +0x1.7ffc77ca165dcp-4 +0x1.137d2c346f084p-11 +0x1.6540a44493836p-4 +0x1.74d16190b2d1dp-3 +0x1.098f5594b51e2p-1 +0x1.a59a8190cce0bp-2 +0x1.2921251358e01p-1 +0x1.4331942342e8ep-3 +-0x1.9119112705f0ep-4 +-0x1.c19fa70ce104ap-4 +0x1.282c0d8843656p-1 +0x1.2e83ef4ac8dd2p-7 +-0x1.e1a4876dd3166p-4 +-0x1.95bdb29008dc8p-3 +0x1.dfd2e018c50eep-2 +0x1.ec2147bffae36p-1 +0x1.3a15047787fa1p-1 +-0x1.5b8e2cf6a6cdcp-1 +-0x1.bdcd2fbd20f8dp-1 +-0x1.079a10dce17eep-1 +0x1.5007a75c698e1p-1 +0x1.a0908aa30e4b1p-1 +-0x1.19e1718e6114cp-1 +0x1.a9bfcf61ab5aap-3 +0x1.7ffbcf941d617p-1 +-0x1.60433564bde97p-2 +0x1.1c31cc5deb6ebp-3 +0x1.0ac26b5b6b26ap-3 +0x1.6ae5f2e1e0169p-1 +0x1.121bef1e9c846p-1 +0x1.9158f6de9e39bp-2 +0x1.9374bf288ae5cp-1 +-0x1.8b177a2c186fbp-8 +0x1.cfe3e01671c6p-1 +0x1.f9f83415242ddp-4 +0x1.9757166028a0bp-2 +0x1.54625bf0bc424p-3 +-0x1.d84021a53664cp-1 +-0x1.61a5dc39b927ap-2 +0x1.8a6d09a954988p-1 +0x1.79d6d1cf413e3p-2 +-0x1.b5d0f4e5854c2p-3 +-0x1.6c1508a245409p-3 +-0x1.cee6ebe8cfb3dp-2 +0x1.26dd9f8c943ddp-1 +-0x1.80891a4291f81p-1 +0x1.b383e5d3bf694p-1 +0x1.5da5ec4458468p-1 +-0x1.ae05752dce3bep-1 +0x1.4f48d390d74f4p-1 +-0x1.880168a9d8bf5p-3 +-0x1.608e46d526407p-1 +0x1.1a00356a73c2fp-1 +-0x1.d6b7b9378a573p-2 +0x1.9050bc3639134p-2 +0x1.b6e1f8f39ab6ep-3 +-0x1.3fd6b936ca715p-2 +0x1.a2e96cc6c8febp-3 +0x1.1895dd39e7ec8p-2 +0x1.b3f4da279db55p-3 +-0x1.cd855b8fe86fdp-2 +0x1.ccea5a54d87efp-2 +0x1.558402d1b1d97p-1 +-0x1.2369a864ccf9dp-2 +-0x1.d10b2f726dbdap-1 +0x1.1ecb4a504032cp-5 +0x1.80854384fd533p-1 +0x1.2a89ddee85669p-2 +-0x1.4125a5cbf1a1p-4 +0x1.271f9882c450bp-5 +-0x1.7e754ffee3f88p-9 +-0x1.0d9c23d4f6af1p-1 +0x1.2509eb20bfd81p-3 +0x1.7a11f69b6a7d4p-1 +-0x1.ce345c782f5b6p-6 +0x1.543b1a19d4357p-1 +-0x1.0dabcc426576fp-1 +-0x1.807585bcde922p-2 +0x1.d015436e1f1abp-2 +-0x1.23630c4a57b68p-3 +0x1.f8baf1c0ea3dep-4 +0x1.2c45a3635366ap-2 +-0x1.e7a83ce77ed2dp-2 +0x1.1b546e77d849ep-2 +0x1.64958e232d848p-2 +-0x1.17889f2dd3092p-3 +-0x1.7c7736249e11ep-1 +-0x1.86a542ec152ccp-1 +-0x1.699836692af2ep-1 +-0x1.370579624a655p-1 +-0x1.abe9296a5210fp-3 +0x1.94d0b6d33cf65p-1 +0x1.d7d5af97552c8p-2 +-0x1.b42382bf7521cp-2 +-0x1.60be748cc1763p-1 +0x1.035ceb7539913p-1 +0x1.7f99fcedf4bb1p-2 +-0x1.995295f414597p-3 +0x1.5ff6692a79d7cp-2 +-0x1.d4180122b91cap-1 +-0x1.aec89be2e9096p-1 +0x1.3cda114e2349fp-1 +0x1.8f57beafe5f09p-1 +0x1.0cf5b0f2a2138p-2 +0x1.c8875e0830ebcp-2 +0x1.ab8b9500ece11p-1 +0x1.1f3b7c468aaa2p-3 +-0x1.541dc9652df83p-2 +-0x1.9ef1e1252722bp-1 +-0x1.f1bdb2a9535d4p-7 +0x1.7df5acaa32cddp-1 +0x1.6eb4e78ecc57cp-3 +0x1.efb1a3c921182p-1 +-0x1.72bc14f4003cdp-1 +-0x1.ba82f56bf29eep-2 +-0x1.ea55d72bbb566p-3 +0x1.2921186ff6363p-1 +0x1.5e311cd145f0bp-1 +-0x1.9bf96669701b8p-4 +0x1.cd24b3b1ef227p-2 +0x1.88f71a896832fp-2 +-0x1.0e428a379b193p-4 +-0x1.9a536e9c8e83ap-2 +-0x1.f8c907f8f58dap-1 +0x1.40c9a200f618p-6 +0x1.e18d80ae0ed9cp-1 +0x1.108fb9613203ep-1 +-0x1.4fcec1dc7716ep-6 +-0x1.080d994d95b7fp-1 +0x1.fc551bebe4738p-1 +0x1.9bb61c8a9f0ebp-4 +-0x1.4168bf2694eaep-2 +0x1.c799e88ae2ec6p-1 +-0x1.0c4a5ab926c2p-2 +0x1.ebf3cba24943ep-1 +-0x1.be1b555a6abb3p-1 +-0x1.88a11a5b91b63p-1 +-0x1.8ecffbb6046bp-1 +0x1.c55182371899cp-2 +0x1.d3d14150490fep-3 +0x1.39252b348cb0ap-2 +0x1.654ff78b61a52p-2 +-0x1.750bd8259b8b5p-3 +-0x1.69df3ea0120aep-2 +0x1.bba0cfeff36c5p-1 +-0x1.28c5f1f986bc8p-2 +0x1.321f6a0b81c7cp-1 +-0x1.eb40419561accp-2 +0x1.95913fd4025acp-1 +-0x1.f11da7515b7f9p-3 +0x1.cb7c723c6758ap-1 +0x1.63b18d445a38ap-2 +-0x1.9f6c01dad6e3bp-1 +-0x1.8ab8bb23a9723p-5 +0x1.7b590e7b6f08fp-4 +-0x1.5df52196c97b8p-1 +-0x1.68ff190f3a699p-9 +-0x1.540a2527a3721p-2 +-0x1.e70f7ac0dd117p-1 +-0x1.443a2175d89ddp-1 +-0x1.298bfd95b618cp-3 +-0x1.86b305e2145efp-3 +0x1.1e2ab2a20dec6p-1 +-0x1.23a5753b9b995p-1 +-0x1.24f1448e6220bp-1 +-0x1.4b31f7fd15c83p-3 +0x1.16c554c0c7c7bp-1 +0x1.0d1d3d81a6956p-3 +-0x1.d95ce95177636p-4 +0x1.b35c3401e16b8p-1 +0x1.d53301c5ecc3p-1 +-0x1.bd7b10a5de2c4p-2 +0x1.7aacde04175ccp-4 +-0x1.4d08cb9de8ce3p-3 +0x1.1bf0fb4447a74p-2 +0x1.dfb86134722fp-1 +0x1.b15fcc6fe94p-2 +-0x1.0acc9bdcf0caep-2 +-0x1.3eabea96b0b8cp-1 +0x1.29a66abac59cbp-4 +-0x1.389b1e111241ap-6 +0x1.a4ee6a1521bb5p-3 +0x1.77f64713df0a4p-3 +0x1.baf354be79b6ap-1 +0x1.8bd0c285b316cp-5 +0x1.0381b0f4d007bp-1 +0x1.371fdccff429ap-1 +0x1.1e4186576b5c9p-5 +0x1.3612e926cd538p-1 +0x1.4122c616c3d2fp-1 +-0x1.b1def10e5c117p-1 +-0x1.d3b6c84872eb7p-3 +-0x1.b8dcb700f34fap-1 +-0x1.f1d34678088fbp-1 +0x1.bb5df44df4c5ep-2 +-0x1.87d1b19d5a614p-3 +-0x1.6b1c1cfb6cefep-1 +-0x1.835d9005963f9p-2 +0x1.a110724ef7df1p-1 +-0x1.0fdc2f5a6fb78p-3 +-0x1.b23939aa670ccp-6 +0x1.64c874c7ff99p-2 +0x1.49503ccbcc2bep-1 +0x1.d3a51c5a8e22bp-3 +-0x1.b9e8887e91e36p-1 +-0x1.1ff29111d91ecp-1 +0x1.a38aedddb3d5ep-5 +0x1.43a670f17ebcbp-2 +0x1.010fb0b7c700ap-1 +0x1.92a2c6af53c28p-3 +-0x1.2ee1ffbbee042p-3 +-0x1.181a87f87dc57p-2 +-0x1.80ed37d6ffe4p-2 +-0x1.a2625f8f1fb84p-1 +0x1.102470181ab84p-3 +0x1.312399130f17p-2 +-0x1.9a988ba091854p-1 +0x1.2a95ded25c83fp-2 +0x1.0a60159cf5cc1p-1 +0x1.dba780a36ec17p-3 +-0x1.499e9e756fed2p-3 +-0x1.a5bf1e1b1fd6bp-1 +-0x1.e737e1881484bp-2 +-0x1.4d185228bfb82p-5 +0x1.b4a3f08b24e7fp-5 +0x1.baa423457a5cap-1 +0x1.50b7dcf9975bap-2 +0x1.a0ae4e50204b9p-1 +0x1.03c44f5b094cdp-1 +-0x1.6a1a446399e02p-3 +-0x1.aa74850b23e53p-3 +0x1.4b4bee93e037cp-1 +-0x1.d24a0b9652cddp-1 +0x1.94e16cde09b57p-2 +0x1.c0a628e80493cp-1 +0x1.5012206994989p-3 +-0x1.f7107a00c61edp-4 +-0x1.70312dc81fc8bp-1 +0x1.a2b6ac7d2f5bep-3 +0x1.7932e6cf908c2p-1 +-0x1.338cff9a99878p-3 +0x1.902b6e1848763p-5 +-0x1.599ebe319c4p-1 +-0x1.e81a96b222088p-3 +0x1.35b765795bd88p-2 +0x1.0bfdf9e1ae617p-1 +-0x1.48bb9a343d453p-2 +-0x1.9d1a8fde2c575p-1 +0x1.4ef9a3b2749bap-4 +0x1.8fe10203411d2p-2 +0x1.b8d37e8772d2dp-2 +0x1.2498c7f6acfc9p-1 +0x1.383d52d0a077fp-1 +-0x1.9653c535d523fp-1 +0x1.f9562233ede6p-1 +0x1.e2e2d553dd48ap-2 +-0x1.b28b23846e307p-2 +-0x1.52914c62cc83bp-2 +-0x1.7ce9c25bfa33ap-1 +-0x1.263a37dbc8666p-1 +-0x1.b7340b07c647p-2 +-0x1.adc26b01e6ca7p-2 +-0x1.9cfa8153cb373p-2 +0x1.699ead43d545p-1 +0x1.7b4b302fd158cp-6 +-0x1.b59d0ef3da9cap-3 +-0x1.5eb8eb5e912bcp-2 +-0x1.cec0f84a930e9p-1 +0x1.572db1d83f818p-1 +0x1.6ad772581cc7fp-4 +-0x1.49ca7a5df6f72p-1 +0x1.1b2b61acfa0bbp-4 +0x1.36d5edb8d6561p-2 +0x1.ba65475867d4ep-1 +-0x1.2ab6564fc9d42p-1 +-0x1.72fe00bee0654p-1 +-0x1.bde63c4aa8ab7p-5 +0x1.490045cb71583p-1 +0x1.3f4e939281b6dp-2 +-0x1.087772e560dc3p-1 +0x1.68a22cb7794e9p-4 +-0x1.2647a7cf1b435p-1 +0x1.0e5d175120654p-1 +-0x1.2de1214d22ae2p-1 +-0x1.91b2e59283778p-1 +0x1.4fee783d2fa6bp-2 +-0x1.8c8514fa89229p-5 +-0x1.09e92b3431089p-3 +0x1.cb404292fdf66p-4 +0x1.9726dde5cb13ap-3 +0x1.8c68e460554cbp-1 +0x1.3a6c8da250a28p-1 +-0x1.eb80130ac35e3p-3 +-0x1.704e460c952b9p-4 +0x1.385b92525ebafp-1 +-0x1.4792eb2392716p-1 +0x1.c73c8a8632e66p-1 +-0x1.ca2cb7387081dp-1 +0x1.99bca77168e25p-1 +0x1.4607971658ffcp-2 +0x1.f1babe9ca6f94p-1 +0x1.f523f87bf049cp-2 +-0x1.b932d6ae2451bp-2 +0x1.9d14a92d16a6cp-1 +-0x1.0cdf9f5c52108p-6 +-0x1.f031808e2c094p-3 +0x1.1648fddf3bcdep-1 +-0x1.c87dca08e343bp-3 +0x1.8f196401e1c8ep-3 +-0x1.c96f95910c946p-5 +0x1.b4f6a27780f1p-3 +-0x1.2ad0e45ed3d5ap-2 +0x1.e42a9e9994386p-2 +-0x1.06403d81e1c61p-3 +-0x1.837efabc8e889p-1 +0x1.2984ef2e85996p-4 +-0x1.c66f3f33074a6p-1 +-0x1.778abdb63bb8ep-1 +-0x1.a4c7bb0aba9c8p-2 +0x1.2f2cb187585f8p-3 +0x1.bd18482092674p-4 +0x1.e20ab37575bep-1 +-0x1.f7f61135c529ap-3 +-0x1.c2764627a5243p-2 +0x1.d14ba0b1c89b6p-4 +-0x1.0987f73f2d758p-1 +-0x1.19f55d737b984p-1 +-0x1.75c0e390e28ccp-2 +-0x1.b1c836088072cp-1 +0x1.e988d2429d686p-1 +0x1.7b67d7802211p-1 +0x1.21f2a81c1e373p-1 +0x1.b96e795cd841dp-4 +0x1.ad9c940b7d60fp-1 +0x1.5652e0bf3b0a4p-3 +-0x1.6429861815c2cp-1 +0x1.fb3c1c35bfef5p-1 +-0x1.f525eb25f85f8p-1 +-0x1.6e9a76ca22defp-1 +-0x1.71836e53d2be3p-5 +0x1.e461bb25087c5p-3 +0x1.88ba44669d52bp-1 +-0x1.179be71b1f6bbp-5 +-0x1.0ed4ccc100643p-2 +0x1.33bc219c236c2p-1 +0x1.29bd2aa79734dp-1 +-0x1.fdab5258cfc83p-1 +-0x1.59a6e383c075bp-2 +-0x1.da4e4a7bdb7e1p-1 +-0x1.f2da575a31693p-1 +0x1.fb6d49feb319dp-3 +0x1.b745f3d6cd9cbp-1 +0x1.ef6f4edd9d46ap-2 +-0x1.23e1553a365dp-7 +0x1.7a4d5df7e63ddp-1 +0x1.e7c0b39999dcdp-1 +0x1.477914c8d2ec2p-3 +0x1.ca8a92d73d0abp-1 +-0x1.10599bc1cc44bp-2 +-0x1.19b6e36b34273p-1 +-0x1.3f8ed5871abe1p-1 +0x1.e8bee4114b5dep-2 +0x1.6d466a82bc48p-1 +0x1.92188084246bep-1 +0x1.ec515332bcc11p-1 +-0x1.e8df5b8b9c5a1p-2 +-0x1.68825f92ab4f4p-1 +0x1.7e6c4f3e738c2p-4 +-0x1.40a5912c3a68p-1 +-0x1.248f5bf0c8ddfp-3 +-0x1.02653f82857d3p-1 +-0x1.a2367586fba89p-1 +0x1.646a502cf0d7ap-1 +-0x1.d81a4f2ad78d9p-5 +-0x1.a56694be35b93p-3 +-0x1.331a8a5cd43ap-2 +0x1.a5b3c94353c34p-2 +0x1.66f044f79f7c7p-2 +0x1.23e1190f7c3b5p-2 +0x1.cfcd9120c960bp-2 +-0x1.7ebb100db599ep-1 +-0x1.cea03acdfd65fp-4 +0x1.acbdeac214243p-1 +0x1.8803ef06c95c8p-1 +-0x1.3f809ad0f15c2p-1 +-0x1.4812727844bddp-5 +0x1.223c3095c1dd7p-1 +0x1.c4d30c88a73fbp-1 +-0x1.42a26cafc00eap-2 +-0x1.3eac08bbda515p-1 +-0x1.a5d925c2ef50dp-3 +-0x1.b1d15c541370dp-1 +-0x1.c79b0e887e633p-1 +0x1.f167f95578ef2p-2 +0x1.7aacde55a2ef8p-2 +-0x1.3a97b601bf0dp-1 +0x1.aec646d679083p-3 +-0x1.edd2fa06f3687p-1 +0x1.89da3c8843f1ap-4 +-0x1.22f61628633d6p-2 +-0x1.500a41c0144bfp-1 +0x1.b79c03556fc03p-2 +-0x1.090f9a170a217p-1 +0x1.424677fc337dap-2 +-0x1.a4b4d63f97032p-3 +0x1.421ead9bcd086p-1 +-0x1.08ed3a1b5cf22p-2 +-0x1.1bd239c2ae23cp-1 +0x1.7cedb2be72e6bp-4 +-0x1.1f95fe163c5a9p-1 +0x1.4610a360f2e7ep-1 +-0x1.249fdd7b444fbp-3 +-0x1.4516dafcb2d03p-5 +-0x1.b54fb6c5901bfp-1 +0x1.da0c9afd8dcdep-1 +0x1.db0ec861909c3p-1 +-0x1.c782e3b01e6bap-2 +0x1.85af5358632bp-2 +-0x1.aade6aeac866bp-3 +-0x1.547b9110f4378p-4 +-0x1.8a25efa8e3703p-5 +0x1.6fcb83d4320d3p-1 +0x1.2daf518013bcp-3 +0x1.0794e83715e8cp-2 +0x1.9ff3ff2fe1fe6p-1 +-0x1.fc24758f79e6bp-2 +-0x1.210c7ac811f88p-1 +0x1.f22ea99b44ce5p-1 +-0x1.a25f9a3f5c385p-1 +0x1.c656d93951756p-1 +0x1.d412fce258a86p-4 +0x1.c899ce6b08a2cp-2 +0x1.852dc6c7efd16p-5 +-0x1.fada82a2f4b7fp-1 +0x1.7fe5295f1a5dbp-1 +0x1.a31d0f8f558bcp-2 +-0x1.d8f9e9667bee5p-2 +0x1.a38b92c0825c9p-2 +-0x1.a000bf504e6c1p-3 +0x1.9bfe2dad05023p-1 +0x1.b7077efb45019p-3 +-0x1.a00d2f7e637acp-2 +0x1.a988d7b1161ffp-2 +0x1.7cf18834378c7p-1 +0x1.7305bab7c22ffp-1 +0x1.e2e037d144f8ap-2 +0x1.b5b562e720d6dp-4 +-0x1.52e3f979e0fb9p-1 +0x1.f8518fde47e75p-1 +-0x1.7fab4fb0279a8p-1 +0x1.5dfaeb77fc14cp-3 +0x1.6c5da688f2e5cp-1 +-0x1.5bbd4aebc5846p-1 +-0x1.88bbec366374ap-3 +0x1.d16ee268fcc7bp-1 +-0x1.07130430ab2a4p-1 +-0x1.8be6b923f63c4p-1 +0x1.27cf39932fb1ap-1 +-0x1.08f87d13fb533p-1 +-0x1.c5d5a669eb082p-3 +-0x1.592717a22d4ep-1 +-0x1.6789d04262d19p-2 +0x1.a3b27c103d23p-8 +0x1.2cdc53cf144c9p-1 +-0x1.aa7de06d13b1p-3 +0x1.8062f03582d56p-1 +0x1.b64136d487dacp-3 +0x1.6f95488301b7fp-1 +-0x1.8300b31d47c43p-6 +-0x1.87e00889cbadp-5 +0x1.51fad77f100d8p-1 +-0x1.caa1a98b088d8p-7 +0x1.d5a40eb2005d4p-4 +-0x1.6ac5d1fa2efccp-3 +-0x1.9db40e6c88088p-1 +0x1.41aee853cb14dp-3 +0x1.f8ae18629051ep-3 +-0x1.d45c63f361dd7p-1 +0x1.541fea2230f7cp-1 +-0x1.9cd0d2296645dp-1 +0x1.2ae9e95ddf157p-5 +0x1.e584efe8b59cdp-3 +0x1.4c43bc5af28bap-1 +0x1.d71a7a836ea51p-2 +0x1.b29d25126e71cp-6 +-0x1.3c87f4d6f30c8p-3 +-0x1.fad37625c551p-5 +-0x1.2afbccc190dadp-1 +-0x1.c13422e476d79p-4 +0x1.80a34ae32ca83p-1 +-0x1.1b9319f8f460cp-1 +-0x1.e582a56766511p-1 +-0x1.d0214d17729bap-1 +-0x1.bf5116a4a9bb1p-1 +0x1.80cdb623d17d2p-2 +-0x1.bdd19da730feap-1 +0x1.c616ae662d6b5p-1 +-0x1.ff865a382dcfbp-1 +-0x1.b94ab44c00a18p-1 +0x1.b63c04e8f0854p-1 +-0x1.699607cc9cbdp-6 +0x1.9adb05e932ae7p-1 +-0x1.462730ef50725p-3 +-0x1.fb70f61b55bd6p-3 +-0x1.72e71d193b64ap-3 +-0x1.a9282b1c3a92ap-6 +0x1.8bfa74799fc89p-4 +-0x1.a0e0e1884ec97p-1 +-0x1.3d6d57dcb972cp-2 +0x1.89c75e39c0263p-2 +-0x1.241f1b7f58f79p-1 +-0x1.2bc5673f7cfccp-1 +0x1.e60e4c7160eb2p-1 +0x1.40105ca97007fp-3 +-0x1.2ef564af9616fp-1 +-0x1.07bf42236f25bp-2 +-0x1.049d3415692e2p-1 +-0x1.45f5522d13caep-2 +-0x1.1997c397e0e45p-4 +-0x1.8de3646adb742p-2 +-0x1.05bb605702e3ep-1 +-0x1.342b53aca73bep-1 +-0x1.89b84d1a50e19p-2 +-0x1.3f7bcefa48f28p-1 +0x1.1445c017ac5aap-6 +0x1.bda7899c88481p-1 +-0x1.854a97639dd82p-1 +0x1.5de8d1ffbb7f4p-1 +0x1.fb15328e09512p-3 +-0x1.c9dbdbab75f6cp-4 +-0x1.028ce79401086p-2 +0x1.8733ded13b63ap-1 +-0x1.245a56e256b22p-3 +0x1.06a560ecf6dbfp-5 +-0x1.0bf4a0068aafdp-1 +-0x1.b581e153f833bp-1 +-0x1.c2e7f4b0913e1p-2 +-0x1.276d42b4ab6b2p-1 +-0x1.061c5c75e2715p-4 +-0x1.32289f2b0607cp-2 +0x1.2a67e181659b6p-2 +-0x1.809258a5b0a06p-1 +-0x1.44c4e0453a59cp-2 +-0x1.4bdcc9b22cc99p-2 +0x1.faeaf43d605d4p-1 +0x1.53cd25d3a3ad5p-3 +0x1.aabe65dbd6bc4p-2 +-0x1.09a500dea9bddp-1 +-0x1.4463133207523p-3 +-0x1.e0af61321a7f2p-3 +-0x1.cc18188e176cap-2 +-0x1.3f3c5a44a5f4cp-1 +-0x1.eaede6b729abcp-5 +0x1.95010cf633536p-2 +0x1.61f82c5e03b22p-2 +0x1.53d1158b79fafp-1 +0x1.788303870786dp-1 +0x1.1881378f8a1c6p-2 +0x1.0c942521be93fp-1 +0x1.f8fd582fea04cp-1 +0x1.4a5cd671c7733p-4 +-0x1.36678832f0d9fp-3 +-0x1.37d8cc8c358e4p-1 +0x1.0b29b33a75431p-1 +-0x1.c96cf230d0a65p-1 +-0x1.01c425ca9e9dap-5 +0x1.d80d3b73ec2dbp-1 +-0x1.2c482f85b6fe9p-1 +-0x1.fb19c3062b2c9p-2 +0x1.9019532e8667ep-1 +0x1.91bb102207ffdp-2 +0x1.8f2fbd311ce1p-2 +-0x1.7b79da824a84fp-2 +-0x1.6b2689ceac726p-4 +0x1.af11260cce2dbp-2 +-0x1.c37a23a902833p-1 +0x1.8dc0093bae59p-1 +0x1.63d1c730d3e27p-1 +0x1.926eb312dc37cp-6 +0x1.235de7f7c1fd6p-1 +0x1.e42528fed0943p-2 +-0x1.572c381eca49ep-3 +0x1.0c63896149836p-3 +0x1.88a23be051993p-1 +0x1.71ac798bacfb3p-2 +0x1.acfa586ac6826p-3 +-0x1.8db6ebe7f7c4dp-3 +0x1.fa8b992374579p-4 +0x1.d12fef53f6d76p-1 +-0x1.b6ec8b28a55b9p-5 +-0x1.ba0901eeeb3ffp-1 +0x1.ddb47a9b1f0a6p-3 +0x1.73982d1c3a878p-1 +-0x1.6449613bee7aep-1 +-0x1.f50629a7ccea8p-6 +-0x1.52bfb5b0734d5p-2 +0x1.faf4ecb1ca745p-4 +0x1.a05c3770d3502p-2 +0x1.afc80b3b9d3fap-2 +-0x1.0c96d44fc9c92p-4 +-0x1.eb6171750179fp-1 +-0x1.4d7473af08898p-1 +0x1.97f4b7cd5b3f8p-2 +0x1.b431c827cf6eep-3 +-0x1.0eb48b837f07dp-2 +0x1.88649d0cee365p-2 +-0x1.fc0fd6dc01c7dp-2 +-0x1.0052d690fc256p-3 +-0x1.04dbde177abccp-1 +0x1.ece166aacd558p-5 +0x1.c9d729ffca191p-1 +0x1.df2ae1da50842p-2 +-0x1.12b503fdd48a6p-1 +-0x1.b4c8e97a7d2c8p-4 +-0x1.bbb53ef41bc54p-1 +0x1.e63fd06ab1044p-1 +0x1.ea8b02829fa68p-1 +-0x1.0d8c0c6d61ddp-1 +-0x1.4e124480e7a28p-2 +0x1.7f6a4e197766fp-2 +-0x1.37faae0f55578p-2 +0x1.b813863fa920bp-5 +-0x1.fcccf8c3e559cp-1 +0x1.d5fbd0dc8ad31p-2 +-0x1.6c946abf6ea6cp-1 +-0x1.1b352ba8af0bbp-1 +0x1.c11581b662f82p-2 +0x1.990019776616p-1 +0x1.0dc7c5e269a1dp-1 +0x1.8fddb332e738ep-1 +0x1.499c582da2381p-1 +-0x1.59c653d073515p-2 +0x1.5eab24e1d03bfp-1 +-0x1.b85a6ab8e17b3p-1 +-0x1.30a6daa38c351p-1 +-0x1.932a5503268b4p-3 +-0x1.dea320714bb8p-2 +0x1.ff3e96529748ep-5 +-0x1.4c617f5747532p-1 +-0x1.84e5a0ad07939p-1 +0x1.7abe060402b05p-2 +-0x1.c7ed9a40bb9cap-2 +0x1.19b9a88ddb3e5p-3 +0x1.ec5dcf79a942cp-1 +-0x1.719e667303d97p-1 +-0x1.9c222e047ccf5p-1 +0x1.ad9e514283006p-2 +-0x1.b91d5d5e6af16p-1 +0x1.2f1a9daf8dcd3p-1 +-0x1.fa2f55430a39fp-1 +-0x1.f21f10a38d97bp-1 +-0x1.95f9eba52e6d5p-1 +0x1.f29af78fe25afp-3 +0x1.6fb0ab96df582p-2 +-0x1.3c294e345294cp-1 +0x1.8c641d011c40bp-2 +-0x1.9ab2bb5b25bcbp-2 +-0x1.351b0eeda749p-5 +-0x1.91b3606ebc3efp-1 +0x1.6b0cfb04f8d54p-1 +0x1.387baa2fde50dp-5 +0x1.ab2eb21671a7fp-1 +-0x1.93eda96ded5a8p-1 +0x1.d085daf8b28b3p-2 +0x1.2d8229be0c4fp-2 +0x1.ac9ee37cd8368p-1 +-0x1.3c5d22b389487p-4 +-0x1.9448c4107de8cp-2 +0x1.b402d7eec5ba6p-1 +-0x1.b89d82d2203f3p-4 +-0x1.3bee35afcccdap-2 +-0x1.bb481b2005749p-4 +-0x1.a497f6bfe462cp-1 +0x1.8c0e631a8eefbp-1 +-0x1.c28ef46efc1c9p-1 +0x1.979655c0056c9p-3 +-0x1.ac4f7c4141c58p-1 +-0x1.0b9d2fb8a6a73p-1 +0x1.6dea1163641eap-2 +0x1.043b4c164286dp-1 +0x1.235683086ad17p-1 +-0x1.d35da13550a44p-3 +-0x1.755cb812af596p-1 +0x1.744130837703fp-2 +0x1.d833cd13992fap-1 +-0x1.95d77a8f762a2p-1 +0x1.fefb2ec6512b4p-2 +0x1.403c3377b2135p-1 +0x1.3dedbb7f474bep-1 +-0x1.6a9174b67702fp-1 +0x1.abcb4c0afc268p-8 +-0x1.fe3e1aae8c063p-1 +0x1.aed45e264883fp-3 +0x1.fca5b10ea86bap-2 +-0x1.5aec2b902ae63p-5 +-0x1.78b2a8628beep-1 +-0x1.2247965168f43p-3 +0x1.bdd2c28447e21p-1 +0x1.17da741a6da6bp-4 +0x1.120b4bc563793p-1 +0x1.4e1d52adae5c5p-1 +0x1.16e1effd7e79ap-2 +-0x1.01c2b65887fbap-2 +-0x1.c352eb3772fep-3 +0x1.35108e0bcfca5p-1 +-0x1.a04352625fbb8p-6 +0x1.d0d83103412dep-2 +-0x1.be71c357017d8p-1 +0x1.53b13ccc2542ap-1 +0x1.7d916a95bb413p-3 +-0x1.a281bc7d7a902p-3 +-0x1.04209635c875bp-1 +-0x1.449426743eb5ep-3 +0x1.bf3b79f08cd42p-2 +0x1.1d432ac8ac5f1p-2 +-0x1.e77d80b14fb27p-6 +-0x1.046d5df5c4e19p-1 +-0x1.d704d62ce5023p-1 +-0x1.23961777d4cddp-1 +-0x1.35ca83c7d5475p-2 +-0x1.be45caeae1874p-1 +-0x1.9839e60f05e7fp-3 +-0x1.0e269a688400ep-1 +0x1.055fce5be2f7cp-1 +-0x1.c41bb92d4f3c8p-3 +-0x1.85e71fe25220fp-2 +-0x1.76fa5bc203067p-2 +-0x1.0d2e12b95e198p-1 +0x1.38c6a93d859d5p-1 +-0x1.187b2bcc4e046p-2 +0x1.878a38a3616edp-2 +0x1.0967826603f1bp-1 +-0x1.3a3c82c1860ffp-1 +0x1.5f46ee74e5351p-2 +-0x1.8f991687d774bp-2 +0x1.4e239b39d8128p-2 +0x1.1db18b60194adp-1 +-0x1.47e9fab1fbe69p-3 +-0x1.d3de9ecf17cd6p-1 +0x1.9057d2ea15d44p-7 +0x1.426d9323e3cb9p-1 +0x1.6e8a0cf831d6p-1 +0x1.72474bb6e6f37p-6 +-0x1.2d2caaac8b76ap-1 +-0x1.ee3071e2b801p-1 +0x1.dee28ab3681f8p-2 +0x1.1b89fd873f03p-1 +-0x1.29a05169dbed5p-2 +-0x1.31163c95c0828p-2 +-0x1.d4be134fe235cp-1 +0x1.45e8470fd8a4ep-1 +-0x1.d264da345ccdbp-2 +-0x1.6c2b72ee8d29dp-2 +0x1.9872a5de2cca6p-2 +-0x1.51bd08b7f9495p-1 +0x1.514b00cbf0cf7p-1 +-0x1.e085fe73ea48ep-1 +0x1.53008f53549bfp-1 +-0x1.6934b0799c2b9p-1 +-0x1.e60096cdedb7p-1 +-0x1.7167d2f69b6e1p-1 +0x1.c3d12444ccabfp-7 +0x1.595b7ae1038d8p-1 +-0x1.4786d471d2415p-2 +0x1.60ab09a0a5c07p-3 +0x1.ab65469dd866bp-4 +-0x1.4ce38a48ac74ap-7 +0x1.4c4201f036083p-3 +0x1.edd0e6e4f454fp-1 +0x1.e82ea08cd9c54p-1 +-0x1.878eda2565c7p-6 +0x1.b8c5d04fecd91p-1 +-0x1.758052a6e63f3p-1 +0x1.6beddc9025b6ep-1 +-0x1.5d2019d1900eap-1 +-0x1.4106ea52a248cp-1 +-0x1.ed26c427a6bacp-1 +0x1.40b2acff3937bp-3 +0x1.1dc00aa8d2e12p-1 +-0x1.9a92799011d01p-1 +0x1.02bdcde50a92p-2 +0x1.23c3678149b2dp-1 +0x1.11b786df26d46p-1 +0x1.b864c86950f68p-3 +0x1.217d76f1ca7b6p-1 +0x1.d1bcb049ad128p-1 +0x1.2b141b4761a37p-3 +-0x1.62ef4fb141d9ep-2 +0x1.94ea8a1718ba4p-4 +0x1.0a74a81d8d6efp-2 +0x1.e0bdcafd21d07p-2 +-0x1.e80fbbed562e4p-2 +0x1.65ca5f662e258p-1 +0x1.0e00b52607abcp-2 +0x1.3f76022141aa5p-1 +-0x1.34ee60fc1232p-1 +-0x1.51a328eeefa73p-2 +0x1.97f7f27db3c11p-1 +0x1.b1adfd2e34a21p-1 +-0x1.5a6d864296aaep-1 +0x1.784ca8dd487f6p-1 +0x1.2d0945665f066p-2 +-0x1.594df56a6cfc4p-1 +0x1.0650bd92b1d25p-2 +0x1.a261722c795f2p-7 +0x1.a61d1fc80bb37p-3 +-0x1.afb4c89c89499p-4 +-0x1.159c2b70f92bdp-1 +0x1.d6bf199e2e279p-2 +0x1.5159ae3813851p-1 +-0x1.efc4f4ccf106ap-2 +-0x1.16670ca2fa326p-2 +0x1.20517cc0f555ap-2 +0x1.46cc935bcd6cdp-1 +0x1.ab47743c79f44p-5 +0x1.20e1a1801e982p-1 +-0x1.bc357217cf113p-1 +-0x1.c5e44797000bcp-2 +0x1.68bbd57521e47p-4 +0x1.16ba846c1599dp-1 +0x1.270e1dd5875cap-3 +-0x1.c4a8765caf6b4p-1 +-0x1.9b60e9cfc5925p-8 +0x1.ba1ce66a8d92ap-1 +0x1.2c2b5140420e4p-1 +-0x1.7e2b3a125b644p-2 +-0x1.ac19238c4d149p-3 +0x1.120eed9857a23p-2 +0x1.df96480c45f8p-3 +0x1.819cf5f42e6b6p-2 +-0x1.baf79a6ba005ap-2 +-0x1.3c652d117ddb2p-1 +-0x1.304961e6c082bp-1 +-0x1.6ee21bfb2f796p-2 +0x1.96f7edd19996ep-5 +0x1.aa7712dca393fp-1 +-0x1.779cfeed52431p-4 +0x1.a2b0025fc9e22p-1 +0x1.e15e9dc380461p-1 +0x1.c59179cbef3f3p-1 +-0x1.eab4708675f25p-1 +0x1.564d5a1bf176p-1 +-0x1.068dde50bfec5p-3 +0x1.11b2977df6197p-1 +0x1.c54947df5338p-3 +0x1.08008df908497p-3 +0x1.ccad7b6656d49p-4 +0x1.0d9a74aa17489p-2 +0x1.b121854f6e447p-3 +0x1.9a0be422d60a7p-1 +-0x1.58ffc7edf5a97p-4 +0x1.802e2907883d1p-2 +0x1.40d8d639fa998p-3 +-0x1.97040897f1d8ep-1 +-0x1.930bcfe8e37f9p-1 +-0x1.dc2a2fd4d417bp-3 +-0x1.a5109839a867ep-3 +-0x1.bca5e9b583fbcp-4 +-0x1.4c97f14bd3895p-3 +0x1.9ec0468e15b24p-2 +-0x1.bf8f7bc830b1bp-2 +0x1.f27b9d151dd0ap-2 +-0x1.26f5da58a105cp-2 +-0x1.bf469a1cfac47p-6 +0x1.9105e07e5365bp-1 +-0x1.1069e97f84c28p-1 +0x1.925da592a3feap-4 +-0x1.bf3118d58b9c2p-1 +-0x1.21704cba25979p-1 +-0x1.128c481f78577p-3 +0x1.df6d9d4fe9635p-2 +-0x1.1d8da2a4f4214p-1 +-0x1.898b68607c4b3p-1 +0x1.4f261b15a15bfp-1 +0x1.e516ae146ee2ap-5 +0x1.00755c8db875p-2 +-0x1.f4599013a50b6p-2 +0x1.2f7f5aa833b28p-2 +-0x1.ea5f191b8c16ep-1 +-0x1.d8ac8cb0dced8p-6 +-0x1.84a67c42a27fdp-1 +0x1.dcd747b8856a3p-1 +-0x1.32bc9f4f129e7p-4 +0x1.a9a2796292334p-4 +-0x1.9d5db794e6d32p-1 +0x1.e345807654ed1p-1 +0x1.e8d24ead76c7ap-6 +-0x1.63966a2386c2ap-2 +-0x1.79e9cbc31f78dp-2 +-0x1.650481d93daa9p-1 +0x1.6a2b6ef383b4ep-5 +0x1.206bb80e03038p-1 +-0x1.d6fe3419a08acp-2 +0x1.2bcbbbcf34da6p-1 +0x1.7eaad638a6deap-1 +-0x1.fb997e40e0cccp-1 +0x1.180e499eaf229p-4 +-0x1.7895abd150b61p-2 +0x1.c4b296298081cp-1 +0x1.de5a8c528d058p-1 +0x1.cee87fd226fdcp-2 +0x1.560695169afc6p-3 +-0x1.eae7c8d0694a4p-2 +0x1.ee5de5862f945p-1 +-0x1.69d7d6e4fe65ap-4 +-0x1.1ec2ca33417d5p-4 +-0x1.b7d8d4959d7b9p-2 +0x1.e2a8b23ad294dp-1 +0x1.576682c2b5923p-1 +-0x1.21dda576606d2p-3 +0x1.d396d8df887cbp-4 +-0x1.0d8291cce96a8p-2 +0x1.7ed8239e07d2dp-9 +-0x1.91626d7e29e18p-1 +0x1.76d8afb648166p-1 +0x1.e398839ed47f6p-1 +0x1.a135f5afec45p-1 +-0x1.3d069d81c874ep-1 +0x1.2c11c3e1b3744p-1 +0x1.7900ded1edff4p-1 +0x1.0ae9e210973c6p-4 +-0x1.13b89305557f1p-1 +-0x1.5cb68766ed717p-7 +0x1.91ec847d63b25p-2 +0x1.694dde0ad6bebp-6 +-0x1.398eef0eaede6p-1 +-0x1.8886ddccd5ec2p-1 +-0x1.eca37ae64b3c6p-6 +-0x1.5aab5c02b9cf5p-7 +-0x1.013773ce6f211p-1 +0x1.8bcb3f3aaa274p-1 +0x1.b6c0da9e6ac37p-2 +0x1.db71f0b468d43p-3 +0x1.f802eb1985ed5p-1 +-0x1.a89dd1cc92f9ap-1 +0x1.a65da10f74608p-3 +-0x1.cc22cc8e3e80cp-8 +0x1.fd110759087c3p-5 +0x1.7eb01ccb545d8p-2 +0x1.cb91d6161a51ep-3 +0x1.e7fa4b4e7fcc9p-1 +0x1.38e93ed129131p-3 +0x1.d0d9732d78fbbp-3 +-0x1.c6686610ad37cp-2 +0x1.c626947ec012bp-1 +-0x1.ac41f4ce39c7ap-4 +0x1.177ee4b13fb6ap-1 +-0x1.4fadb547da8e4p-2 +-0x1.d9a11a46224b2p-5 +-0x1.6a8e739fb3a4p-1 +0x1.8793a78c7cb82p-4 +0x1.69242805bcbe8p-2 +-0x1.eb4540f1f5eedp-1 +-0x1.446fbe9c4ea41p-2 +-0x1.05c5eb9bb8931p-3 +-0x1.9b0ebfbfb5311p-2 +0x1.f6acbea5dfc26p-1 +-0x1.3479a16cc71ep-1 +-0x1.21730add38fa1p-3 +0x1.5acbb4fe0acf8p-6 +-0x1.8fddce373bef5p-2 +0x1.1d3cb04600b5ap-1 +-0x1.da389133e1e96p-1 +0x1.021e30a02d1dcp-2 +-0x1.4668691973df6p-4 +0x1.0673ab0879bfdp-3 +-0x1.db8681ae24de3p-3 +0x1.deb208904bbe3p-3 +0x1.357605a5cafffp-4 +-0x1.a56c97660374cp-6 +0x1.b5f89d3a2fc2p-1 +-0x1.8c17cad70974ep-3 +-0x1.65d8d8d9678ddp-3 +0x1.9222eb7c162eap-3 +0x1.2e4afb607803bp-3 +0x1.6b705b41a4117p-1 +0x1.bbf77d317f81cp-6 +-0x1.8adbc6ec0fd96p-2 +0x1.433f696c13617p-2 +-0x1.d6ae5739bf4bp-1 +0x1.67bc667a7db01p-2 +-0x1.242ca24a423b7p-1 +0x1.f1131e9a7c0cfp-1 +0x1.aed728ac5e234p-1 +0x1.daa8d5b6b14c7p-8 +0x1.b9a9b37a3ad9ap-5 +0x1.d80ae1461e16ep-1 +0x1.4d5611cbfb79p-2 +-0x1.c7440c1db0b09p-1 +0x1.575c7f0d01ee2p-1 +0x1.ab0997138289ep-3 +0x1.1ab0619a7c401p-2 +0x1.2e36407ef693cp-3 +-0x1.1a0c56c614439p-1 +0x1.4d4cd2974c134p-3 +0x1.6802fa3c0e018p-1 +0x1.4574cf8a803d3p-1 +-0x1.a79d784c836dp-2 +0x1.00924b1a6c7cdp-1 +-0x1.b1bce37e4d873p-1 +-0x1.2a255ec0f20d7p-2 +0x1.8daa09b90a35fp-2 +0x1.1d2de0de93383p-1 +-0x1.ee847cf4f7ad4p-1 +0x1.966612514d812p-2 +-0x1.677cc3a6bd936p-4 +0x1.ab8bb45c95492p-5 +0x1.52db69ddb97b5p-1 +0x1.61c880bdc2a6bp-2 +-0x1.e251287016886p-1 +0x1.dbc62d9f046c1p-3 +0x1.8b0d0a8967dddp-1 +0x1.6d10f4ced4362p-1 +-0x1.a572bc2e7ace8p-2 +0x1.46902ef952767p-4 +0x1.9f2472dcc1a9dp-3 +-0x1.58301726d8bfbp-2 +0x1.2e16e9bfbc556p-3 +-0x1.eb2c5d765dc08p-1 +-0x1.5b97fa1b0a2c1p-1 +0x1.e09b712fb03bbp-2 +0x1.8508a6b21b3e5p-3 +-0x1.87b252848a16dp-9 +0x1.36c3f35773088p-1 +-0x1.20a06eb44b6ffp-4 +-0x1.0314850dc2b0bp-2 +0x1.ddfb9779da195p-2 +0x1.1cb62b71e2be6p-2 +-0x1.3bac38565591ep-2 +-0x1.a150a7ead7728p-3 +0x1.08933dfe301e3p-1 +-0x1.77306970f201ep-1 +-0x1.2a7a5cebb46f2p-2 +0x1.4a0fbf76e9c9ap-1 +0x1.71facd60c8a7ep-4 +0x1.f651dcc15b0e9p-1 +0x1.4b9d9549629c7p-1 +0x1.615c778895c17p-1 +0x1.5d41ffc6efa9cp-3 +-0x1.44fae2d25af5dp-1 +0x1.88e8ee4d82bb3p-1 +-0x1.171285eb593ddp-7 +0x1.4ee89cd965bbbp-3 diff --git a/sysdeps/x86_64/fpu/libmvec-atanhf-inputs b/sysdeps/x86_64/fpu/libmvec-atanhf-inputs new file mode 100644 index 0000000000..e1a56943d8 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-atanhf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-1, 1), mean = 0, standard deviation = 1 +-0x1.110038p-2 +-0x1.1f03acp-1 +-0x1.5838c4p-1 +-0x1.4da856p-1 +-0x1.c8504ep-2 +-0x1.ea09e2p-1 +0x1.7280a4p-3 +0x1.ab9c04p-3 +-0x1.b43cdap-3 +-0x1.6e4446p-1 +-0x1.da8bf8p-1 +-0x1.0908bap-3 +-0x1.3227eep-5 +-0x1.c10dd2p-2 +-0x1.2bbc6p-2 +-0x1.b20d6p-8 +0x1.1ee5aap-1 +-0x1.bae564p-2 +-0x1.044a9ap-1 +-0x1.8d7e8cp-3 +0x1.a43154p-1 +0x1.b3fd56p-1 +0x1.d6772ap-1 +0x1.008284p-2 +0x1.1a0f2cp-1 +0x1.6a3b9p-2 +0x1.d6f502p-2 +0x1.6fbe4cp-2 +-0x1.65603p-8 +-0x1.761798p-2 +0x1.7fbadap-5 +0x1.cf4f82p-2 +-0x1.cdac5ap-2 +0x1.6846p-3 +-0x1.3c18ep-4 +0x1.e26402p-1 +-0x1.dae846p-2 +0x1.38ee24p-1 +-0x1.1ba2eap-7 +-0x1.e846c4p-1 +0x1.5ad90ep-1 +0x1.635b92p-1 +0x1.407264p-1 +0x1.925072p-1 +0x1.f11f74p-1 +0x1.335462p-2 +0x1.36fb0ep-1 +0x1.29598ep-1 +0x1.99eacep-3 +0x1.9be854p-3 +0x1.d735c6p-5 +0x1.a1e876p-1 +0x1.1e015ap-9 +0x1.cb814cp-1 +0x1.ef5984p-3 +0x1.4511a4p-3 +0x1.c3236cp-3 +-0x1.b5663ap-5 +0x1.f9775cp-1 +-0x1.fbe004p-1 +0x1.ec4068p-4 +0x1.0af7c2p-1 +-0x1.18e6b8p-1 +0x1.2fc06ap-2 +-0x1.0df60cp-1 +-0x1.fd3ebp-1 +-0x1.f9beaap-4 +-0x1.a8a18cp-4 +0x1.1e32ep-1 +0x1.8035aep-4 +0x1.6e5336p-1 +-0x1.6861d6p-1 +-0x1.ead954p-2 +0x1.2fd21p-1 +0x1.844b6ap-1 +-0x1.be60b6p-2 +0x1.6afc44p-1 +0x1.7db1b8p-3 +-0x1.890248p-3 +-0x1.3d2202p-2 +-0x1.e94e3ep-8 +-0x1.cddf66p-1 +-0x1.f5d266p-1 +-0x1.ea04b4p-4 +0x1.29c338p-5 +-0x1.c2ee5ep-1 +0x1.97aca2p-2 +0x1.6abe8ep-1 +0x1.df29a8p-1 +0x1.21ccb2p-3 +0x1.9c79dap-1 +-0x1.253082p-4 +-0x1.a40112p-2 +-0x1.77943p-1 +0x1.77052ap-2 +-0x1.2b1874p-4 +-0x1.f6f974p-1 +-0x1.0d409ap-1 +-0x1.4613aap-4 +0x1.fb9106p-3 +-0x1.16fa4ap-2 +0x1.2c57f4p-1 +0x1.130f2ep-1 +-0x1.8b8cb4p-1 +-0x1.a9f64ap-1 +0x1.88e06cp-2 +0x1.750ec6p-1 +-0x1.0dd8acp-1 +-0x1.99309ep-2 +-0x1.08b1bcp-2 +0x1.3d9e18p-4 +0x1.0a5b3ep-2 +0x1.a170f6p-2 +-0x1.c5393p-2 +-0x1.8f8d42p-1 +-0x1.f49e6ep-3 +-0x1.7a129ep-8 +-0x1.1ae76cp-1 +0x1.087a5ap-4 +0x1.6aff86p-1 +-0x1.62fa8ap-2 +0x1.b66d4cp-2 +0x1.b32cf8p-2 +-0x1.f16faap-2 +-0x1.ac60dap-1 +-0x1.fbdc48p-3 +0x1.ce8d8ap-2 +-0x1.f0575ep-2 +0x1.e23bcp-2 +0x1.cf7eecp-2 +0x1.38160ap-1 +-0x1.261ffp-1 +0x1.45cf88p-5 +-0x1.d895ecp-1 +0x1.3c7e1p-1 +-0x1.bb2ef4p-1 +-0x1.46be0cp-3 +0x1.3d2252p-2 +0x1.6bb15cp-1 +-0x1.1ace06p-2 +-0x1.81d19cp-4 +0x1.3f8ac8p-2 +-0x1.e6965cp-1 +-0x1.b57d14p-1 +-0x1.11d16cp-3 +-0x1.8f5e48p-2 +0x1.867814p-2 +-0x1.d28fecp-2 +0x1.f2d6b2p-4 +-0x1.4314fcp-3 +-0x1.3d2ddcp-1 +-0x1.91560cp-3 +-0x1.20789ap-1 +-0x1.dc4acap-3 +0x1.ab49a6p-2 +-0x1.eb1308p-2 +-0x1.e7106cp-3 +0x1.696b3cp-1 +0x1.ce3576p-1 +-0x1.8652cep-2 +-0x1.548a94p-2 +-0x1.f25d36p-3 +-0x1.d71922p-2 +0x1.83b4ap-1 +-0x1.1f373ep-3 +0x1.13306cp-2 +0x1.61510cp-5 +-0x1.b37f3cp-3 +0x1.59e1b2p-1 +0x1.4f8ea8p-1 +-0x1.1c519ep-3 +0x1.3c58fcp-1 +0x1.c0e9d6p-1 +-0x1.459244p-1 +0x1.2cfb26p-6 +0x1.853c9ap-3 +-0x1.00b1dap-5 +0x1.61523p-1 +-0x1.0bf55p-1 +0x1.1bbe24p-1 +0x1.b81586p-1 +0x1.279ef2p-2 +-0x1.90195ap-2 +0x1.cc7c52p-6 +-0x1.548ec8p-2 +0x1.bff548p-1 +0x1.cbfa06p-2 +0x1.501f9p-1 +-0x1.3d802ap-2 +-0x1.11859p-1 +0x1.2aa162p-2 +0x1.e3c222p-1 +0x1.9d3e2cp-1 +-0x1.2e2186p-3 +0x1.05d966p-1 +-0x1.e5721p-2 +-0x1.769eb4p-1 +0x1.964434p-2 +0x1.3a317p-3 +0x1.b3009ap-3 +-0x1.ed8924p-3 +0x1.4ef3p-2 +0x1.d4a296p-1 +-0x1.8543dcp-2 +0x1.39c3eep-4 +-0x1.9d5944p-2 +0x1.19f114p-1 +-0x1.aced1p-1 +0x1.65e234p-1 +0x1.81eea2p-1 +-0x1.e09ae8p-2 +0x1.88cff6p-2 +-0x1.968f24p-1 +0x1.b0dc52p-2 +-0x1.949d08p-3 +-0x1.6216dep-4 +0x1.02a4c6p-8 +0x1.9d0d5ap-1 +-0x1.53b0ap-2 +-0x1.b239cep-2 +-0x1.71a606p-4 +0x1.378dbep-2 +-0x1.28a536p-2 +-0x1.d4008cp-1 +-0x1.be0504p-5 +-0x1.5dabf2p-6 +-0x1.e6a4d4p-1 +0x1.f59118p-1 +0x1.942c72p-2 +-0x1.73fc06p-2 +-0x1.918594p-2 +-0x1.b7fb2cp-2 +-0x1.4beef8p-2 +-0x1.9ce8c8p-1 +-0x1.737e66p-3 +0x1.e33526p-1 +-0x1.47b07cp-1 +-0x1.a15cdap-3 +-0x1.ac6db2p-2 +0x1.bb99aep-2 +-0x1.299312p-3 +0x1.a0ae02p-2 +0x1.6c8868p-1 +0x1.b699a8p-1 +0x1.5aac3ap-1 +-0x1.2168cep-3 +0x1.2e485ap-4 +0x1.f078a2p-1 +-0x1.7304dcp-1 +0x1.3c0ebp-2 +-0x1.af841cp-3 +-0x1.e4bf2cp-2 +0x1.971374p-6 +0x1.7b323cp-2 +-0x1.684ab2p-3 +0x1.e4b53p-2 +-0x1.afe726p-2 +0x1.d0066p-4 +0x1.826d14p-1 +-0x1.3253d2p-1 +-0x1.7e5a94p-1 +-0x1.ba8b24p-2 +-0x1.dce1bcp-5 +-0x1.e1ee3cp-1 +0x1.8a59e6p-1 +0x1.72b31ap-2 +-0x1.f0a79p-2 +-0x1.ec9f64p-2 +-0x1.ef4d44p-1 +-0x1.45030cp-2 +0x1.a2a5p-2 +0x1.f291dp-2 +0x1.0c5e3ap-1 +0x1.0b13ecp-2 +0x1.5b2206p-1 +-0x1.c752f2p-3 +0x1.3d151p-1 +0x1.17da3p-1 +-0x1.266a0ap-1 +0x1.f81c1p-1 +-0x1.347da4p-2 +-0x1.39b5p-4 +0x1.b9a576p-1 +-0x1.721816p-1 +-0x1.668932p-2 +-0x1.863bfap-2 +0x1.e55974p-1 +0x1.11702p-3 +-0x1.5340bap-1 +0x1.b42dp-2 +0x1.a9ca3ap-1 +-0x1.5506bcp-2 +0x1.7d3bacp-3 +0x1.ba237ep-2 +-0x1.9d3fecp-1 +0x1.04414ep-1 +-0x1.1ab066p-1 +0x1.bb680ap-1 +-0x1.e284fp-1 +-0x1.bcfc0cp-4 +0x1.010d86p-2 +-0x1.7ff508p-2 +-0x1.714b7ap-1 +0x1.c81f22p-1 +0x1.acdd64p-2 +-0x1.8e537cp-2 +-0x1.28ed7p-3 +0x1.16d3d6p-1 +0x1.36a936p-1 +0x1.b548aep-1 +-0x1.62ef42p-2 +0x1.ac459ep-4 +-0x1.639dbcp-3 +0x1.da644cp-1 +-0x1.e0025p-2 +0x1.5ce9fep-1 +0x1.caf31p-2 +-0x1.ad2182p-2 +0x1.03266ap-1 +0x1.ff0c92p-3 +-0x1.2ee55p-1 +0x1.ec9c2cp-3 +0x1.355232p-7 +-0x1.d3869p-1 +-0x1.593af2p-2 +-0x1.6fcb36p-1 +-0x1.dd79d8p-1 +0x1.55402ep-6 +-0x1.7758f8p-1 +-0x1.129ed6p-1 +0x1.47b15cp-2 +0x1.c37c38p-4 +-0x1.55e59cp-1 +0x1.15ab24p-2 +0x1.0e451p-3 +0x1.8cb4a4p-1 +0x1.c4681ap-3 +-0x1.189c5ep-1 +0x1.12c706p-1 +0x1.568e86p-6 +-0x1.e01c8ap-1 +0x1.60c16ep-3 +0x1.821b66p-2 +0x1.49d4a4p-4 +-0x1.9536fep-3 +-0x1.e45f7p-1 +0x1.f42e02p-5 +-0x1.1447c8p-2 +-0x1.3814cap-1 +-0x1.b768cp-1 +-0x1.db96f4p-1 +0x1.b7e8d8p-1 +0x1.31f092p-1 +-0x1.379038p-1 +0x1.e8d062p-1 +-0x1.7e58d6p-2 +0x1.cc9f2ap-1 +-0x1.c4cbe4p-2 +0x1.20846ap-1 +-0x1.8b5948p-3 +0x1.8a8b2p-2 +0x1.ff5246p-3 +-0x1.e5887p-1 +-0x1.b143aap-2 +-0x1.838bc6p-2 +0x1.df434cp-3 +0x1.254968p-3 +0x1.0efb16p-1 +0x1.4d5cbap-1 +-0x1.b1937cp-3 +0x1.cc6ca6p-1 +0x1.4a1daep-3 +0x1.55b3e6p-5 +-0x1.1aa44ep-1 +-0x1.b0bd84p-1 +-0x1.f054c2p-5 +0x1.d0a074p-3 +0x1.41625cp-9 +-0x1.40f226p-1 +0x1.68f226p-2 +-0x1.7b88dp-1 +0x1.988104p-2 +-0x1.d7dcb6p-8 +-0x1.047d08p-1 +0x1.99fc74p-2 +-0x1.1cc8eap-2 +-0x1.3f006ep-1 +0x1.61649ap-3 +-0x1.14f85p-1 +0x1.152222p-3 +-0x1.dda47p-2 +-0x1.ebd99ep-2 +0x1.fd966p-1 +0x1.109c0ap-2 +0x1.08c908p-2 +-0x1.0e2328p-1 +-0x1.b9f792p-2 +-0x1.0db7cep-2 +-0x1.5b2f9p-1 +-0x1.31bd7ap-1 +0x1.698de6p-1 +0x1.5916dcp-1 +0x1.94f61cp-5 +-0x1.8478f8p-1 +0x1.85f2a2p-3 +0x1.6ed2a8p-3 +-0x1.88231ep-4 +0x1.3b4588p-1 +0x1.c568a6p-1 +0x1.3bcd8cp-1 +0x1.d1e33p-1 +-0x1.6a87ecp-1 +-0x1.60d4fcp-6 +-0x1.f4fc22p-1 +0x1.f9a25p-3 +-0x1.ab8ce8p-3 +0x1.99274ep-3 +0x1.6ee102p-2 +0x1.865bcep-1 +-0x1.036fe8p-1 +0x1.d3303ap-4 +0x1.681636p-1 +0x1.f67006p-1 +0x1.9b7f32p-1 +-0x1.fea614p-6 +-0x1.adf08p-1 +-0x1.c6ff78p-1 +-0x1.66360cp-1 +0x1.2d188p-1 +-0x1.a19828p-1 +0x1.3a13ap-1 +-0x1.780cfp-2 +0x1.6128b2p-1 +0x1.bf9da8p-2 +0x1.0ae6ecp-1 +-0x1.51968p-2 +0x1.075982p-2 +0x1.178caep-5 +0x1.6b3714p-3 +0x1.9b39f2p-1 +-0x1.d1b80ep-1 +-0x1.bf7dep-1 +0x1.ea5ec2p-1 +-0x1.8ae87ap-1 +0x1.0c185p-1 +0x1.6455c2p-2 +-0x1.b4951cp-2 +0x1.220f6p-1 +0x1.09e96p-1 +-0x1.b1165ap-1 +-0x1.26eaa4p-1 +-0x1.9657b2p-2 +0x1.25d18p-1 +0x1.17f54cp-2 +-0x1.3ebe74p-1 +-0x1.2865dep-3 +0x1.e5f60ep-5 +0x1.074894p-1 +-0x1.77bcacp-2 +-0x1.8ec86ap-4 +-0x1.f72738p-3 +0x1.219fdep-2 +0x1.5753bcp-3 +-0x1.5c513cp-8 +0x1.54c0aap-1 +0x1.0aefb2p-1 +-0x1.4f42f4p-1 +0x1.7d3d04p-2 +0x1.52dc56p-1 +0x1.152d96p-1 +-0x1.b93628p-1 +0x1.6f1702p-2 +0x1.247af4p-1 +-0x1.82e73ep-2 +0x1.12f232p-2 +0x1.2d4502p-4 +0x1.ef4226p-2 +0x1.f80584p-2 +0x1.f2ed86p-1 +-0x1.ec1494p-3 +0x1.10f4e2p-2 +-0x1.84c3d4p-2 +0x1.6536d4p-1 +0x1.838a1ap-7 +0x1.32d80ep-2 +-0x1.9c2688p-1 +-0x1.307612p-2 +-0x1.189ae6p-2 +0x1.7dabb8p-3 +-0x1.46b15ep-1 +0x1.586a8cp-2 +-0x1.614556p-1 +-0x1.9271dcp-4 +-0x1.34682p-4 +0x1.c4afep-1 +-0x1.94f576p-2 +0x1.3e406ep-2 +-0x1.e5bd2p-1 +-0x1.4826dap-1 +-0x1.13ce4p-4 +-0x1.40cd7ep-9 +-0x1.19a972p-2 +0x1.dda92ap-1 +0x1.84f46ap-2 +-0x1.727f2cp-2 +-0x1.b9a04p-1 +-0x1.5b54a8p-3 +-0x1.a81c72p-2 +0x1.93503p-1 +0x1.8103dcp-3 +-0x1.9c5866p-1 +-0x1.1a2686p-1 +-0x1.3ba3bep-1 +0x1.00cacap-4 +0x1.6e38c8p-2 +-0x1.11bd08p-1 +-0x1.a112b6p-1 +0x1.8fed92p-3 +-0x1.0cae8cp-1 +-0x1.615026p-1 +0x1.dc9002p-2 +0x1.7f0cfp-2 +-0x1.452b5cp-2 +0x1.882dd6p-1 +0x1.2e61fp-4 +0x1.80f26ep-5 +-0x1.59db16p-2 +-0x1.e10c4p-2 +-0x1.62805p-1 +0x1.f3e4c6p-1 +-0x1.da90ccp-2 +-0x1.2ce42ap-2 +-0x1.19b04ap-3 +0x1.4bdcap-2 +-0x1.b4552p-1 +-0x1.c3e7bp-1 +-0x1.851b7ap-2 +-0x1.3949p-4 +-0x1.c0df64p-1 +0x1.b57efp-1 +0x1.6e593ep-1 +-0x1.b3b2e6p-1 +0x1.20b848p-3 +-0x1.e40dcp-2 +-0x1.85c872p-3 +0x1.daba7p-1 +-0x1.1c90b6p-1 +-0x1.0cee4cp-3 +0x1.9d18dap-2 +0x1.24a594p-2 +-0x1.138608p-1 +-0x1.4f44bp-3 +0x1.ce504cp-1 +-0x1.096d4p-1 +0x1.58e5a8p-1 +-0x1.c0f158p-1 +0x1.7bec5ap-1 +0x1.acf446p-3 +-0x1.081e4cp-1 +-0x1.af18d2p-4 +-0x1.816382p-2 +0x1.cada86p-1 +-0x1.857e76p-3 +-0x1.e6e3dep-1 +-0x1.e91d1ap-1 +0x1.8fdd5ap-2 +0x1.4b6786p-1 +-0x1.b9fc68p-1 +-0x1.47c5e4p-1 +-0x1.79047ap-3 +0x1.2acbeep-3 +-0x1.100504p-1 +-0x1.98ba1ap-2 +-0x1.33782ap-2 +0x1.a805cp-2 +-0x1.6baefcp-1 +-0x1.21c30ap-1 +0x1.62072ap-6 +-0x1.39b198p-1 +0x1.7f04c2p-2 +-0x1.39f94cp-1 +0x1.3ddefp-5 +-0x1.1ee2cep-5 +-0x1.6899a6p-1 +0x1.dc1aa4p-3 +-0x1.b601c4p-3 +0x1.a84624p-2 +-0x1.33c518p-1 +0x1.a67986p-1 +-0x1.6077f6p-1 +-0x1.16a546p-1 +-0x1.5e37dep-3 +0x1.cdd5ap-2 +-0x1.bfefecp-1 +-0x1.618704p-1 +-0x1.17cefcp-2 +-0x1.4c77ep-1 +0x1.6f3eecp-3 +-0x1.52b944p-2 +-0x1.5cc46ep-3 +-0x1.208c44p-1 +0x1.81c26ep-2 +-0x1.a20602p-1 +0x1.17946ap-4 +0x1.ebae7ap-2 +0x1.1156cep-2 +-0x1.8f8276p-1 +0x1.1ddf12p-2 +0x1.e2158ap-2 +-0x1.daaedp-1 +0x1.f60184p-3 +0x1.73047ap-4 +-0x1.1b087p-2 +-0x1.8030cp-2 +-0x1.1eaf48p-2 +0x1.5f4fcep-1 +-0x1.07f92ep-2 +0x1.8976cp-1 +0x1.97525ep-2 +0x1.22d4d4p-1 +-0x1.39b1fp-1 +0x1.53b1b6p-1 +-0x1.0fbae4p-1 +-0x1.fbd592p-1 +-0x1.2bcc98p-2 +-0x1.74dc0cp-2 +-0x1.ff7f94p-2 +-0x1.8c8dbp-2 +0x1.2e4de6p-1 +0x1.d16f6p-1 +0x1.58f0dep-3 +0x1.0e3bdap-3 +-0x1.c56b26p-2 +0x1.7131b2p-1 +-0x1.64f178p-1 +0x1.23e878p-1 +-0x1.aec4fap-3 +-0x1.88ad44p-3 +-0x1.ce6f16p-1 +0x1.2220e8p-3 +0x1.5eedcp-2 +-0x1.e5c616p-3 +-0x1.dd8294p-1 +-0x1.29bfc2p-5 +0x1.5fafe6p-1 +-0x1.22b358p-1 +0x1.6651c6p-7 +0x1.e17a66p-1 +0x1.d3c68cp-2 +-0x1.56483ep-4 +0x1.f538f4p-3 +-0x1.d04bfcp-4 +-0x1.3883f8p-2 +0x1.c91f38p-3 +0x1.84bc46p-4 +-0x1.fb297ap-1 +0x1.f4b9e2p-4 +0x1.1f839cp-3 +0x1.796b9p-4 +0x1.632f42p-5 +-0x1.8e6564p-3 +-0x1.283e2cp-5 +-0x1.675788p-3 +0x1.013196p-1 +0x1.cd2e9ap-5 +0x1.bbe776p-1 +-0x1.01f518p-1 +-0x1.8fc528p-1 +0x1.7e09d6p-1 +0x1.b3ec3ap-4 +-0x1.982caep-1 +0x1.68e118p-1 +0x1.428b72p-1 +-0x1.d2f63ap-3 +-0x1.d183a6p-4 +-0x1.549fc2p-2 +-0x1.d3ba94p-1 +-0x1.54198cp-7 +0x1.3010fp-3 +-0x1.607ea2p-6 +-0x1.85076cp-1 +0x1.10b0cap-1 +0x1.29b29ap-1 +-0x1.84dcdcp-4 +0x1.f93c4cp-1 +0x1.efae6ap-1 +-0x1.904df8p-4 +-0x1.a7399ep-5 +-0x1.3469c8p-7 +0x1.b1cb36p-2 +0x1.0c8066p-2 +0x1.53f73p-1 +-0x1.863f6p-2 +-0x1.270594p-2 +0x1.b3360ap-1 +-0x1.53f3fap-3 +0x1.2acbfap-2 +-0x1.8d57dep-3 +-0x1.83f7fap-1 +-0x1.c4a5e4p-2 +0x1.f78858p-1 +-0x1.0d62b4p-5 +-0x1.ca6d4p-1 +-0x1.f53176p-3 +0x1.89261ep-3 +-0x1.b9509ap-2 +-0x1.d4f5eap-2 +-0x1.02511ap-1 +-0x1.cb4adcp-4 +0x1.761ab8p-3 +0x1.a95894p-11 +-0x1.5f79acp-2 +-0x1.8ce9p-1 +-0x1.a5d98p-2 +0x1.6bf1cep-3 +-0x1.242a94p-3 +-0x1.06b2a8p-1 +-0x1.11ed7ep-2 +-0x1.2ce93p-2 +0x1.4d78bcp-2 +0x1.cca3dp-1 +0x1.0efcb8p-1 +0x1.19ac58p-1 +0x1.c7101cp-2 +-0x1.84c914p-2 +-0x1.81cc4ap-11 +-0x1.8c1b0ap-2 +-0x1.454e04p-4 +-0x1.203ea8p-5 +0x1.0b63p-1 +0x1.0a3696p-2 +0x1.b69cbep-5 +0x1.e4a2ap-2 +-0x1.fc1de8p-4 +0x1.9c5f0cp-1 +-0x1.c662e4p-3 +0x1.cb775ap-2 +-0x1.61d9a4p-2 +-0x1.412e52p-2 +-0x1.6b1d72p-4 +0x1.3617fap-1 +0x1.fa2252p-1 +-0x1.8d1c9ep-1 +-0x1.b34548p-1 +0x1.b4c704p-1 +-0x1.5975dp-2 +0x1.689c1p-4 +-0x1.e322c8p-2 +-0x1.11322ep-1 +-0x1.45a284p-5 +0x1.958df2p-1 +0x1.199eccp-4 +0x1.61fedap-2 +0x1.2dbc58p-1 +-0x1.4b524ep-3 +-0x1.321ac4p-6 +0x1.7e8344p-3 +-0x1.ba9872p-1 +0x1.da35d8p-1 +-0x1.3a327ep-4 +-0x1.7050bep-2 +0x1.212d8p-1 +-0x1.c0bdc4p-1 +0x1.1695dp-2 +0x1.0454b4p-1 +0x1.4ccceap-2 +-0x1.1db5fap-4 +-0x1.2510e2p-1 +0x1.4f6fe8p-1 +-0x1.d20a7ap-1 +-0x1.99dd6p-2 +0x1.e5340cp-1 +-0x1.273608p-2 +0x1.692872p-3 +0x1.f3716ap-1 +-0x1.11c75ep-2 +0x1.2d817ap-6 +-0x1.16f81ep-1 +-0x1.1d377ap-1 +0x1.f17c08p-1 +-0x1.ab3f92p-1 +0x1.74ea3p-2 +0x1.aecb4ep-3 +0x1.afa7d6p-1 +0x1.e4688ep-2 +0x1.a5c71p-1 +-0x1.27cf3cp-2 +0x1.445e42p-2 +-0x1.d98d84p-3 +-0x1.9dcba4p-2 +0x1.004326p-1 +0x1.8bedb6p-1 +0x1.d525c8p-1 +-0x1.cf0b1p-1 +0x1.3a6ab8p-1 +0x1.129a34p-2 +0x1.577f4cp-1 +0x1.1631bap-4 +-0x1.26ea1ep-1 +-0x1.b9372ap-2 +0x1.4eed1ap-1 +0x1.d4f66cp-7 +0x1.ab2282p-1 +-0x1.9a3fap-1 +0x1.fa2aa4p-4 +0x1.49b418p-1 +-0x1.72778cp-2 +-0x1.c049b6p-6 +-0x1.fec492p-2 +-0x1.7f3bf4p-2 +-0x1.3821ep-1 +0x1.e44732p-3 +0x1.be2fp-2 +-0x1.b38e32p-2 +0x1.37d12ep-1 +0x1.59cbe8p-2 +0x1.16769cp-1 +-0x1.85f9dcp-1 +-0x1.da9c68p-1 +0x1.a17e4ap-6 +0x1.72945ep-1 +0x1.a01a6ep-1 +0x1.b254bp-4 +0x1.e48b9ap-1 +0x1.d225c2p-3 +0x1.21c166p-2 +0x1.235af8p-1 +-0x1.1b58bap-1 +-0x1.58b5e6p-2 +-0x1.73b8d4p-6 +-0x1.bab2f4p-1 +0x1.ec3f2cp-2 +-0x1.8305ccp-2 +-0x1.2a58cp-2 +0x1.b69e0ap-2 +0x1.c1c852p-2 +-0x1.32d97cp-2 +0x1.5c66fp-4 +-0x1.e6885ep-1 +0x1.cb287ep-1 +0x1.8cbafcp-1 +0x1.afd89cp-3 +-0x1.29809ep-1 +0x1.5f3cc8p-1 +0x1.a88dc2p-2 +0x1.207bc6p-3 +-0x1.fe6d08p-1 +0x1.1a6974p-1 +0x1.d70e4ap-1 +0x1.8af8aap-1 +0x1.aa1fa2p-1 +0x1.8aaa1p-1 +-0x1.749506p-1 +-0x1.a2358ep-2 +-0x1.61c668p-5 +0x1.a74e22p-2 +-0x1.25ccbap-1 +-0x1.8303ccp-1 +0x1.7d3ed6p-1 +-0x1.e87ddap-1 +-0x1.9ed7a2p-1 +-0x1.df427ap-1 +0x1.7a6108p-1 +-0x1.cd544cp-2 +-0x1.f6c96ap-2 +-0x1.a9e902p-4 +-0x1.8301f6p-1 +0x1.14ef6p-2 +-0x1.0a88cp-1 +0x1.a4af84p-5 +0x1.bc3728p-1 +-0x1.0326ep-1 +0x1.3dbaa2p-2 +0x1.c7e528p-3 +0x1.5e1d8ep-7 +-0x1.d7ebf6p-1 +0x1.9097b6p-1 +0x1.b565a2p-5 +-0x1.fd2e5p-4 +0x1.af69fcp-2 +0x1.d68baep-6 +0x1.d5fbdap-1 +0x1.805ap-1 +-0x1.ce2d24p-1 +-0x1.afd83ap-3 +0x1.40d06ap-1 +0x1.e5e556p-2 +0x1.cf19a8p-1 +-0x1.342554p-2 +-0x1.c9b074p-2 +0x1.873756p-7 +0x1.2830d8p-1 +0x1.a8ecb2p-3 +0x1.7f09c4p-5 +-0x1.a964fp-2 +0x1.c6c844p-1 +0x1.e96bb6p-3 +-0x1.d248bp-4 +-0x1.4b9104p-3 +0x1.bdf1eep-2 +-0x1.ef824cp-4 +0x1.259cfp-3 +0x1.771fccp-1 +0x1.19a7b2p-1 +0x1.2e1652p-1 +-0x1.fec49ap-1 +0x1.09d27p-2 +-0x1.0e6e3ep-1 +-0x1.3db78ap-1 +0x1.d00d64p-3 +-0x1.ce9d34p-2 +0x1.a9d84cp-1 +0x1.042e66p-1 +0x1.7ae4d6p-3 +0x1.e9eb1ep-5 +-0x1.19c4f6p-3 +0x1.c9382cp-2 +-0x1.5b2ed8p-2 +-0x1.e8e266p-5 +0x1.28e698p-1 +0x1.3c991cp-1 +-0x1.8af204p-1 +0x1.0f261ep-4 +-0x1.7afbeep-1 +0x1.b0c424p-2 +0x1.6ecb46p-4 +0x1.5472dp-2 +-0x1.2c76e4p-4 +0x1.549e9cp-1 +0x1.88639ap-2 +-0x1.029b54p-1 +-0x1.8db028p-7 +-0x1.ebefd4p-1 +0x1.f98d9ep-3 +-0x1.cc9b56p-2 +0x1.aa348p-1 +0x1.6b2fa2p-2 +0x1.d13378p-1 +0x1.e795fap-1 +-0x1.443c98p-1 +-0x1.eeb87ep-1 +0x1.b87f5cp-1 +0x1.3af59ep-1 +-0x1.d1ca38p-2 +0x1.7cbcf4p-2 +0x1.ca9f1ap-1 +-0x1.9ce86cp-2 +-0x1.f536eep-4 +-0x1.c0551cp-4 +-0x1.b1170ap-3 +-0x1.cc7f4ep-1 +-0x1.792ec6p-2 +0x1.ab17ep-4 +0x1.4bd66cp-4 +0x1.fdb31p-2 +0x1.692c16p-5 +-0x1.ac9ca4p-1 +-0x1.a9fda4p-1 +-0x1.1e5c7p-1 +-0x1.0cc97cp-1 +-0x1.201c3ep-1 +0x1.df82bp-1 +0x1.395d76p-3 +-0x1.350bdcp-1 +0x1.dbdb7ap-1 +-0x1.a83096p-2 +0x1.f4b33cp-2 +-0x1.0ab24ap-3 +-0x1.ab8adep-3 +-0x1.3fcc06p-1 +-0x1.40798ap-2 +-0x1.13a34cp-2 +0x1.17a122p-1 +-0x1.acf1d8p-1 +0x1.9c6788p-2 +-0x1.39bbdap-3 +0x1.ded9dp-6 +0x1.638e3ep-1 +0x1.781bbp-1 +-0x1.998674p-1 +-0x1.1c66ecp-2 +0x1.254d34p-2 +-0x1.823154p-7 +-0x1.134b7ap-1 +-0x1.454524p-3 +0x1.8ec7bp-3 +0x1.365a7ap-4 +-0x1.9ef78cp-1 +0x1.827ddap-2 +-0x1.5772f2p-4 +0x1.539028p-2 +-0x1.bc1a28p-1 +0x1.640cf2p-3 +-0x1.245e4cp-6 +-0x1.4448c6p-1 +0x1.1ed2eap-1 +0x1.dbcd02p-2 +-0x1.ceb76ap-2 +-0x1.b8c88ap-5 +-0x1.cd8996p-1 +-0x1.c73194p-1 +0x1.987076p-2 +-0x1.a68fcp-1 +-0x1.8db732p-3 +-0x1.d27f7ap-3 +0x1.47dd96p-1 +0x1.b70af2p-1 +0x1.ada51ep-2 +0x1.c0bd9cp-1 +0x1.f0aa9ap-2 +0x1.840fdep-2 +-0x1.b58f8ep-3 +-0x1.11797p-2 +-0x1.fb4ad6p-2 +-0x1.02d2fp-1 +-0x1.00d2dap-2 +0x1.e16d9cp-3 +-0x1.4915bcp-5 +0x1.6beb9cp-1 +0x1.57a912p-2 +-0x1.12d05p-3 +0x1.89ea2ap-2 +-0x1.5632cep-2 +-0x1.d4c06cp-1 +-0x1.4f1954p-2 +0x1.3db73p-1 +-0x1.d8db14p-2 +0x1.98df14p-1 +0x1.14ed3ap-2 +0x1.152fd8p-2 +-0x1.eb0c42p-3 +0x1.c34eeap-1 +-0x1.0275d8p-1 +-0x1.0fcddap-1 +-0x1.9f96a6p-3 +0x1.e85928p-2 +0x1.2daf5cp-1 +0x1.5b1636p-1 +0x1.5c5494p-1 +0x1.969e8ap-5 +0x1.199972p-1 +-0x1.02d76ep-2 +0x1.9a7c5p-1 +0x1.0a2acep-3 +-0x1.156c9ap-2 +0x1.dba802p-1 +0x1.bfb5e8p-2 +0x1.47ecc6p-1 +0x1.c8b542p-1 +0x1.83bb48p-3 +-0x1.239a54p-1 +0x1.540a16p-3 +-0x1.86594ap-1 +-0x1.b4bbbcp-4 +0x1.c50ed8p-2 +0x1.0cefbcp-4 +0x1.d3536p-4 +-0x1.e4f6e6p-4 +-0x1.bdd0fap-5 +0x1.fa53bep-1 +-0x1.76edd4p-4 +-0x1.b11f82p-2 +-0x1.8b4aap-2 +-0x1.4a916p-1 +-0x1.08292ep-2 +-0x1.9fb55ep-1 +0x1.0cca48p-1 +0x1.76984cp-1 +0x1.0dc2f2p-2 +0x1.2bbb5ap-1 +-0x1.6b8cb6p-4 +0x1.1ba646p-2 +0x1.aac2aep-1 +-0x1.b7afb4p-2 +-0x1.7d0b6ap-4 +-0x1.c54a54p-2 +-0x1.4c2d72p-1 +0x1.1404bcp-1 +-0x1.2743a2p-1 +0x1.4c16c2p-2 +-0x1.035d74p-5 +-0x1.596772p-2 +-0x1.b92a2p-3 +0x1.74816ep-5 +-0x1.0a9e3ap-2 +-0x1.92ac4cp-1 +-0x1.7c42cap-3 +-0x1.e760e2p-3 +-0x1.2cc53cp-4 +0x1.6d460ep-1 +0x1.ebe34ep-1 +0x1.832eb4p-1 +0x1.bf2c08p-2 +-0x1.e4f664p-4 +-0x1.25f042p-5 +-0x1.ace724p-1 +0x1.9ba4aap-1 +0x1.074064p-3 +-0x1.67967ep-1 +0x1.87ee8p-2 +0x1.8ba4c2p-3 +-0x1.a8aa78p-7 +0x1.0324b4p-3 +-0x1.60822cp-1 +0x1.f84d2p-4 +0x1.4296cep-1 +-0x1.3165a4p-4 +-0x1.427f6cp-1 +-0x1.ce4026p-1 +0x1.29bb68p-2 +0x1.8e3b18p-2 +0x1.5ebcp-2 +-0x1.f5736ep-1 +0x1.54380ep-8 +-0x1.105c2ap-2 +-0x1.97cf5ep-1 +0x1.6c7ac6p-1 +0x1.6206cep-1 +-0x1.d46dc4p-1 +-0x1.343318p-1 +-0x1.d53832p-1 +0x1.b8dd7p-2 +0x1.4874bap-2 +-0x1.7c8b9p-1 +0x1.abc31ep-2 +-0x1.6dc26p-2 +-0x1.99df3p-1 +0x1.beb202p-1 +-0x1.cf8768p-1 +0x1.3509dp-3 +0x1.8dabe2p-2 +0x1.89563ep-2 +0x1.41e1ccp-2 +-0x1.bb2d1cp-1 +0x1.acc1e4p-2 +-0x1.09f05p-3 +0x1.0b0dbp-4 +-0x1.3ec40cp-2 +0x1.d08b68p-1 +-0x1.3d096ap-6 +-0x1.32ef48p-2 +0x1.a506aep-3 +-0x1.711fe8p-5 +-0x1.030fbcp-2 +0x1.5b9218p-1 +-0x1.64a524p-1 +-0x1.cedeep-1 +0x1.584732p-5 +-0x1.a794c4p-1 +-0x1.befe92p-2 +0x1.183f8ep-2 +0x1.702f9ep-1 +-0x1.5b4a8ep-1 +-0x1.a28782p-1 +-0x1.6a13d2p-1 +0x1.bf6546p-3 +0x1.0073b4p-4 +-0x1.deccb4p-1 +0x1.b5063cp-2 +-0x1.ac5358p-3 +-0x1.d0c886p-3 +0x1.510a16p-6 +-0x1.089694p-2 +0x1.b1c1cap-4 +-0x1.21983ap-2 +-0x1.fcebaap-1 +0x1.b7819ap-3 +0x1.c4abcep-1 +0x1.a28e44p-3 +-0x1.625d3p-2 +0x1.e79b2ap-2 +-0x1.801f4ap-1 +0x1.4451fp-1 +-0x1.6c0f72p-6 +0x1.6c6fccp-1 +0x1.1b806ep-1 +0x1.19bf5ep-1 +-0x1.cb2824p-1 +-0x1.240536p-1 +0x1.04395ep-2 +-0x1.2c1086p-1 +-0x1.1a6464p-1 +0x1.8f5974p-1 +0x1.9c6d24p-2 +0x1.2c51a8p-2 +0x1.3926d8p-3 +0x1.43939ep-1 +0x1.2b5fep-1 +0x1.0914a6p-2 +0x1.87eb6p-2 +0x1.5534f8p-3 +0x1.78175cp-2 +0x1.80945ep-3 +-0x1.a8cdaap-1 +0x1.f5b0cap-1 +-0x1.e7061ap-1 +-0x1.323af2p-2 +0x1.8d033ap-1 +-0x1.a1a074p-1 +0x1.50cc42p-4 +-0x1.f56e5ep-1 +0x1.3859dap-1 +0x1.73203cp-1 +-0x1.8adde6p-1 +-0x1.d557aep-4 +0x1.36e46ep-3 +-0x1.82625ep-1 +0x1.27b778p-5 +-0x1.3d6d94p-1 +-0x1.11e906p-1 +-0x1.1272d2p-1 +-0x1.a20858p-3 +0x1.d7b7b4p-1 +0x1.026db4p-3 +-0x1.4415dep-3 +-0x1.6bd5fep-1 +-0x1.3eeddcp-1 +0x1.ef4876p-2 +-0x1.a8f258p-4 +0x1.cf31d4p-1 +0x1.93610cp-2 +0x1.aa1f66p-1 +0x1.9f23a2p-1 +-0x1.b36abep-1 +0x1.f213b8p-1 +-0x1.a1dee8p-6 +0x1.398bap-2 +0x1.00b7aep-1 +0x1.9f3cfep-2 +0x1.f42e1p-1 +0x1.b164eap-3 +0x1.180e6ap-6 +0x1.f5a14p-1 +-0x1.71d1acp-1 +0x1.f91f22p-1 +0x1.2605d6p-1 +0x1.b6c86ap-5 +0x1.e4a268p-1 +-0x1.2988d8p-1 +-0x1.35c038p-1 +-0x1.a13dp-6 +-0x1.ecfbaep-6 +0x1.312e62p-3 +0x1.253956p-11 +0x1.9f22e2p-2 +-0x1.c073cap-3 +0x1.1633b2p-1 +0x1.63fdep-2 +0x1.3bf4p-3 +-0x1.242928p-2 +0x1.b44f6p-1 +0x1.35ef8ep-1 +0x1.9fb5c8p-2 +0x1.01263ep-3 +-0x1.8721f6p-4 +0x1.ebb986p-1 +0x1.83579p-9 +-0x1.3b002ap-1 +-0x1.a9d384p-1 +0x1.dee24p-3 +-0x1.bcc2fep-2 +0x1.e780e2p-1 +-0x1.59a9d8p-1 +0x1.c8e7cp-1 +-0x1.971e8ap-1 +-0x1.3e7cp-2 +0x1.690544p-1 +-0x1.907804p-1 +-0x1.035bbcp-3 +-0x1.77b7e2p-2 +0x1.960254p-1 +0x1.c92d5ep-1 +0x1.778b94p-2 +-0x1.1e135ep-3 +0x1.05222ep-4 +-0x1.0de9b4p-1 +-0x1.347082p-1 +-0x1.5385f2p-2 +-0x1.51c38ep-1 +-0x1.4d56cp-5 +-0x1.42e7c6p-3 +-0x1.84188p-1 +0x1.aec9e6p-6 +0x1.2f83cap-3 +0x1.e70aeep-2 +-0x1.5a1c98p-1 +-0x1.ed119p-1 +-0x1.792fd2p-3 +0x1.488072p-1 +-0x1.e435bep-2 +-0x1.e5248cp-1 +0x1.2ea91cp-1 +-0x1.e1e722p-3 +-0x1.ecafbap-1 +0x1.470b16p-4 +0x1.b2dfp-1 +0x1.55c7e8p-1 +0x1.15b1c8p-2 +0x1.40862ap-4 +0x1.779c56p-2 +0x1.a50c3ap-5 +0x1.69e272p-2 +-0x1.45019ep-4 +-0x1.837116p-2 +0x1.ce6a22p-1 +0x1.e60fc4p-3 +-0x1.ba4f24p-1 +0x1.bef6acp-2 +-0x1.f08f32p-3 +-0x1.827efp-2 +-0x1.814518p-1 +0x1.929f7cp-2 +-0x1.2e62cap-3 +0x1.5346b2p-1 +-0x1.c2ed34p-1 +-0x1.57d97cp-1 +0x1.10a0b6p-1 +-0x1.a6b60cp-1 +-0x1.4227d8p-2 +0x1.dd2db8p-2 +0x1.8056fep-2 +0x1.37607cp-1 +0x1.19088cp-4 +0x1.38788p-3 +-0x1.eb8fd8p-3 +-0x1.bb9c34p-1 +-0x1.2d2828p-1 +-0x1.570e66p-1 +0x1.c9fd3ep-3 +0x1.0c8e26p-2 +-0x1.edacfap-2 +-0x1.5610aap-1 +0x1.fe6076p-2 +-0x1.d4a8e2p-1 +0x1.758646p-1 +0x1.497618p-1 +0x1.16fa72p-1 +-0x1.68cf94p-1 +0x1.dd48e8p-1 +0x1.a3e3cep-3 +-0x1.9f8c44p-3 +0x1.18f89p-1 +-0x1.cffd5ep-1 +-0x1.767098p-2 +-0x1.903302p-3 +-0x1.82e444p-3 +0x1.a057cep-2 +-0x1.e66dp-1 +-0x1.682f24p-1 +-0x1.766988p-2 +-0x1.acae66p-3 +-0x1.476986p-2 +0x1.491dap-3 +-0x1.81507p-4 +-0x1.b466fap-1 +0x1.ac55ep-1 +-0x1.0c3b9p-2 +0x1.a5e5b4p-2 +-0x1.0565e8p-1 +0x1.6da238p-3 +0x1.d03644p-1 +-0x1.8801d6p-4 +-0x1.cbb29ep-2 +0x1.09dc7p-1 +0x1.3fb3c8p-1 +0x1.d2e5c4p-10 +0x1.334c7cp-2 +-0x1.de456ep-7 +-0x1.8672ep-1 +0x1.613f9p-5 +-0x1.171feap-3 +0x1.dd5d3ep-1 +-0x1.ddd8a4p-1 +0x1.2a88e4p-2 +-0x1.ea24dap-4 +0x1.4c6a14p-3 +-0x1.77183cp-4 +0x1.56d51p-1 +0x1.2e8bcap-1 +0x1.7c2a16p-2 +-0x1.c3f246p-2 +0x1.396a3cp-1 +0x1.98d18ep-1 +-0x1.8617ecp-1 +-0x1.22c696p-2 +-0x1.91ecfp-3 +-0x1.40d1fep-1 +-0x1.9f4856p-1 +0x1.cc14ecp-1 +0x1.82a1cp-1 +0x1.5eaffap-4 +-0x1.242f7ap-2 +-0x1.4b33fap-3 +0x1.400132p-2 +0x1.6bfb34p-1 +0x1.3f6eacp-1 +0x1.932adcp-2 +-0x1.02805ap-2 +-0x1.e179cap-4 +-0x1.9c15e2p-1 +0x1.934bbap-1 +-0x1.8f4b3p-3 +0x1.1b5cd6p-2 +-0x1.815aa6p-1 +-0x1.0a4938p-4 +-0x1.17224ep-3 +0x1.7396b8p-2 +-0x1.cd1762p-1 +0x1.13399ap-2 +0x1.09b222p-4 +0x1.0ad204p-3 +-0x1.e96f94p-3 +-0x1.21e5d8p-1 +0x1.3a96fcp-1 +-0x1.fea528p-8 +-0x1.93dc6ap-2 +0x1.0090ccp-1 +-0x1.e54f08p-3 +0x1.93680ep-2 +-0x1.220a6p-2 +-0x1.5ef9ecp-2 +0x1.71cdb6p-1 +-0x1.0e4394p-3 +0x1.0b150cp-1 +0x1.d86p-3 +-0x1.e6a31ap-1 +-0x1.824a66p-2 +0x1.1e75dap-4 +-0x1.a497dcp-1 +-0x1.df678ep-1 +-0x1.3c8536p-1 +0x1.da074p-1 +-0x1.0ff5d6p-6 +-0x1.be0fe2p-4 +0x1.f4742cp-1 +-0x1.d22bd2p-1 +0x1.a5a752p-2 +0x1.5be09ap-1 +-0x1.d20e7ap-1 +0x1.403e76p-1 +0x1.104162p-1 +-0x1.abe65p-1 +-0x1.39dd92p-2 +-0x1.69653ap-1 +0x1.65c3ecp-1 +-0x1.6c4d78p-3 +0x1.a5fa1ap-3 +-0x1.4db598p-7 +0x1.2fb322p-5 +-0x1.6216cep-3 +0x1.f64fep-1 +-0x1.b906b8p-1 +-0x1.2bec9ap-1 +0x1.e6ec08p-4 +0x1.7d2cd4p-3 +-0x1.e5d9a4p-3 +0x1.0b7494p-6 +0x1.fb9f86p-2 +-0x1.3174c6p-2 +0x1.fcc562p-3 +0x1.052202p-4 +-0x1.b6f2a2p-2 +0x1.e03904p-4 +0x1.8822dp-4 +-0x1.3ca64cp-4 +0x1.cf36e6p-1 +-0x1.63b056p-1 +0x1.b4e004p-2 +-0x1.85ff26p-4 +-0x1.7d722ep-2 +0x1.d86dbcp-1 +0x1.3a52dcp-1 +-0x1.21833ap-2 +0x1.4e1964p-3 +0x1.a93094p-2 +-0x1.1026fep-1 +0x1.2b118p-4 +-0x1.1663b2p-2 +0x1.64f32ap-2 +-0x1.a6deccp-1 +-0x1.67ce64p-3 +-0x1.23404p-5 +-0x1.1ef83ap-1 +0x1.99a394p-4 +-0x1.9efbdp-2 +0x1.e0996ap-1 +-0x1.e6e4a4p-1 +-0x1.0b67a4p-9 +-0x1.a8496ap-1 +-0x1.8d426p-2 +0x1.2fee8ep-1 +0x1.2784b4p-1 +-0x1.fa3b2p-3 +0x1.5f32acp-2 +-0x1.d1bb1p-1 +-0x1.b9e65cp-3 +-0x1.ccdc52p-1 +-0x1.6dbe7p-3 +0x1.833ffep-7 +0x1.c0d506p-2 +-0x1.06c048p-3 +0x1.b0c532p-9 +-0x1.ee5ba6p-2 +-0x1.669786p-1 +0x1.6c7834p-1 +-0x1.3b4d8ap-1 +0x1.f9fb84p-1 +0x1.3b1e32p-2 +-0x1.18f584p-1 +0x1.24c60ap-2 +-0x1.ae3ccap-2 +-0x1.413f56p-1 +-0x1.918bcp-5 +-0x1.d2fc44p-1 +0x1.8e35ep-1 +0x1.8f68fep-1 +0x1.869b1p-2 +-0x1.3e027ep-1 +-0x1.113a0ap-1 +-0x1.d382c8p-1 +0x1.7880f4p-2 +-0x1.9719cap-3 +0x1.ea1f6ep-4 +-0x1.967b84p-3 +-0x1.7cfb5cp-4 +0x1.c80844p-2 +-0x1.a72e46p-2 +-0x1.6ef64cp-2 +0x1.1f6f5ap-3 +-0x1.52cf36p-4 +0x1.081ab8p-2 +0x1.9154e8p-1 +0x1.ac463ap-1 +-0x1.035bf2p-3 +0x1.65041cp-3 +-0x1.e37864p-3 +-0x1.16998cp-2 +-0x1.e547c2p-1 +0x1.1ed26ap-3 +-0x1.23c3dap-1 +-0x1.4c64c6p-1 +-0x1.d6a0b4p-2 +0x1.22d2d8p-3 +-0x1.4c8e62p-1 +-0x1.e7c096p-1 +-0x1.a6a27ep-2 +0x1.e44526p-1 +0x1.c0265p-1 +-0x1.49c292p-1 +-0x1.3f3e2p-4 +0x1.08e6a2p-2 +0x1.dbb2a8p-3 +0x1.86b462p-3 +-0x1.59eddp-6 +0x1.4b4d1ap-3 +-0x1.80e5e2p-1 +0x1.e35056p-1 +-0x1.ce3404p-2 +0x1.f916fp-3 +-0x1.e1bb82p-1 +0x1.ea0ff4p-5 +0x1.923c72p-4 +0x1.bb144cp-1 +-0x1.f4856p-2 +0x1.d4cafp-2 +0x1.563868p-1 +-0x1.b712cap-3 +0x1.1f2cd4p-3 +0x1.ed4bep-4 +-0x1.a29e18p-5 +0x1.ef3d48p-2 +-0x1.805298p-2 +-0x1.917cap-2 +0x1.3c4184p-1 +-0x1.693846p-1 +-0x1.2fb6b6p-5 +-0x1.59853ep-1 +0x1.611128p-2 +-0x1.18f7cep-3 +0x1.351d76p-1 +-0x1.43c3bep-1 +0x1.4c8bb2p-1 +0x1.84bcbep-2 +0x1.36e69ep-1 +-0x1.fff164p-6 +0x1.640ff6p-1 +-0x1.c1eb62p-5 +-0x1.bd3504p-3 +-0x1.653e88p-1 +-0x1.7eba16p-4 +-0x1.8089eap-3 +-0x1.c3a19p-2 +0x1.70dfb4p-1 +0x1.38adbap-3 +-0x1.06c1eep-3 +-0x1.195a4p-2 +0x1.1f8a58p-2 +-0x1.954db8p-2 +0x1.2acabp-1 +0x1.838bdcp-2 +0x1.28b1d2p-5 +-0x1.97e0cep-1 +-0x1.83a86p-1 +-0x1.d6da1ap-3 +0x1.8089fp-2 +-0x1.9d9402p-5 +-0x1.67befp-1 +0x1.ba7dp-3 +0x1.6f2d8ap-2 +-0x1.4e682ep-1 +-0x1.866034p-4 +-0x1.a8b234p-1 +0x1.ad9e5p-1 +0x1.af3ba6p-3 +-0x1.fcf444p-1 +-0x1.0e877ap-2 +0x1.734c78p-1 +-0x1.cf1bfep-1 +0x1.7dd1d6p-1 +-0x1.9bc726p-1 +-0x1.1fb62ep-3 +-0x1.472b8p-3 +-0x1.20315p-3 +0x1.12db8p-1 +0x1.67076ap-1 +0x1.cc825p-2 +0x1.abc4a2p-4 +-0x1.76773ap-3 +0x1.6e30ccp-2 +-0x1.28162cp-1 +0x1.8ba3eap-3 +0x1.3f45a6p-1 +-0x1.ea412cp-1 +-0x1.9167ep-1 +-0x1.32a484p-2 +0x1.8ca0d4p-3 +-0x1.70c6f6p-3 +0x1.b8b6fep-1 +0x1.fcdcdp-2 +0x1.8b66eap-2 +-0x1.a56e6ep-1 +0x1.91a188p-1 +0x1.3c5eacp-2 +0x1.9d2082p-2 +-0x1.505e1ep-1 +0x1.add1eap-4 +-0x1.3c19b4p-4 +-0x1.bfe59ep-3 +-0x1.091168p-2 +-0x1.1bc38ep-1 +0x1.46b33p-4 +-0x1.95dc2p-5 +-0x1.fb3326p-3 +-0x1.d185f6p-1 +-0x1.c869cap-1 +-0x1.e53b7ep-1 +0x1.f839c8p-1 +0x1.6f2fcep-1 +-0x1.00b57ap-1 +-0x1.e7e88ap-6 +-0x1.27dfbap-2 +0x1.3878b8p-8 +0x1.edc938p-1 +0x1.b64246p-4 +-0x1.f5fcaap-3 +0x1.ea6d8ep-1 +-0x1.e4fa9ep-4 +0x1.c3a32ap-1 +-0x1.89206p-1 +-0x1.b55afep-3 +-0x1.7c2908p-1 +-0x1.6cbe98p-3 +-0x1.6538dp-2 +-0x1.f0a1b6p-1 +-0x1.487e82p-1 +0x1.3a04b8p-2 +0x1.8a6064p-3 +0x1.a5ae94p-1 +-0x1.edd54p-3 +0x1.5d5d26p-1 +0x1.bde41ap-1 +0x1.6afdfap-5 +0x1.9bf9a6p-2 +0x1.fdd15ep-1 +-0x1.c96814p-1 +0x1.108462p-1 +0x1.aa35d4p-1 +-0x1.93b554p-2 +0x1.4e87d4p-3 +0x1.d8c21cp-1 +-0x1.58121p-1 +0x1.70b79cp-1 +0x1.0e317cp-4 +0x1.7edad4p-1 +-0x1.46dc0cp-1 +-0x1.a9daf2p-3 +0x1.ab4d3p-1 +-0x1.0d69b2p-2 +0x1.921c36p-1 +0x1.7f549cp-1 +-0x1.ad1684p-2 +0x1.04d87p-3 +0x1.4175f4p-1 +-0x1.b02c6ep-2 +0x1.34764cp-1 +0x1.211886p-4 +-0x1.423874p-2 +-0x1.4a6c2ap-1 +0x1.fee6fcp-1 +-0x1.8be5fep-1 +-0x1.936aeap-1 +-0x1.dabe96p-2 +-0x1.42dc8p-5 +-0x1.e3ffp-1 +0x1.f88cd4p-5 +-0x1.28b77p-1 +-0x1.269186p-2 +-0x1.969f38p-1 +-0x1.211d6ap-3 +0x1.c8beaep-3 +0x1.fa3626p-1 +-0x1.8f086ap-1 +0x1.f36eeep-2 +0x1.4fc9ccp-1 +0x1.742036p-1 +0x1.e226f8p-1 +-0x1.2a628ap-1 +-0x1.ecf65cp-3 +0x1.62cadap-3 +-0x1.06112ep-1 +0x1.991d78p-1 +0x1.7e78bp-2 +0x1.d48d8p-3 +0x1.3894ecp-2 +-0x1.7b85dap-1 +-0x1.1d42d6p-1 +0x1.42df24p-4 +0x1.d957b4p-1 +0x1.5da97p-4 +0x1.39ded4p-1 +0x1.8de0dap-1 +0x1.6d4a02p-1 +-0x1.4d8d44p-1 +-0x1.b0a64ep-5 +0x1.533eecp-2 +0x1.eb2612p-2 +-0x1.b4668p-2 +0x1.6aa1e6p-3 +0x1.10b602p-3 +0x1.56a3dcp-4 +0x1.f010c6p-1 +-0x1.18296ep-3 +-0x1.3d588cp-3 +-0x1.d6ad6cp-2 +0x1.258972p-2 +-0x1.c7ee5p-2 +0x1.1c1918p-1 +-0x1.ceb3d2p-2 +0x1.cfcc56p-4 +0x1.e17602p-1 +0x1.e5afa4p-1 +0x1.7fb174p-2 +0x1.a8514ap-1 +-0x1.4fe372p-2 +-0x1.25bc6p-2 +-0x1.e8715cp-1 +-0x1.a59092p-2 +0x1.2641cap-1 +0x1.3f51eep-1 +0x1.d3a86p-5 +0x1.39f04ep-2 +-0x1.e6488p-3 +0x1.fdab36p-4 +0x1.d1237p-2 +0x1.6718eep-1 +-0x1.119026p-1 +0x1.76ff3cp-2 +-0x1.f781f8p-3 +-0x1.3a0382p-4 +0x1.7f800ep-1 +0x1.783d0cp-1 +0x1.53946p-2 +-0x1.98772p-1 +-0x1.fb7a0ap-2 +0x1.04c55ep-2 +0x1.73c68p-2 +-0x1.18c604p-1 +-0x1.f9e446p-2 +-0x1.93e5d2p-2 +0x1.4357fap-1 +-0x1.4f73ep-2 +0x1.0662aap-3 +-0x1.9aefc2p-1 +0x1.824eb4p-1 +0x1.56029p-1 +0x1.9a130cp-4 +-0x1.10bb6p-2 +0x1.3f1d4ep-5 +0x1.698d34p-1 +0x1.3dfe18p-1 +-0x1.bcdb64p-1 +-0x1.584ccep-3 +-0x1.6dc28p-2 +0x1.eb303cp-1 +-0x1.016d02p-5 +-0x1.29eb78p-2 +-0x1.0abdfp-1 +0x1.629ee4p-2 +0x1.60b556p-2 +0x1.76939p-3 +0x1.3eeea6p-5 +-0x1.40c59ap-1 +0x1.7eef2ap-1 +0x1.dd0da6p-2 +0x1.82373p-1 +-0x1.215062p-1 +0x1.101aaep-1 +-0x1.c3f56ap-1 +0x1.06315cp-1 +-0x1.f7737cp-5 +0x1.095e7ap-6 +0x1.785b34p-4 +0x1.abab9p-4 +-0x1.1e1a08p-3 +0x1.40ed04p-1 +-0x1.4126d2p-2 +-0x1.3c323ep-1 +0x1.c07c7ap-1 +0x1.fa5928p-1 +-0x1.07097ap-4 +-0x1.c893aep-3 +0x1.43efcap-3 +0x1.c5e45ap-2 +0x1.6b683ep-2 +-0x1.e899fap-2 +0x1.6abacap-5 +0x1.2a368p-1 +0x1.fb1c5cp-2 +0x1.45948ap-4 +0x1.188cd6p-3 +-0x1.a6f2f2p-7 +-0x1.2bfef2p-1 +-0x1.076554p-1 +-0x1.4afc24p-1 +0x1.41eadep-1 +-0x1.c263bcp-1 +-0x1.3aac8p-3 +0x1.2c4326p-2 +0x1.761eb4p-2 +0x1.6984f6p-2 +-0x1.c6582ep-3 +-0x1.96d294p-1 +-0x1.a093b2p-1 +-0x1.7c76fcp-2 +-0x1.2e06ecp-2 +-0x1.557626p-1 +-0x1.989724p-1 +0x1.06885p-1 +0x1.6af464p-1 +0x1.1aed4ap-2 +-0x1.5018e8p-2 +0x1.b20e9ep-4 +0x1.226cf4p-1 +-0x1.b523f4p-1 +-0x1.497826p-1 +-0x1.72217p-1 +0x1.c6fd6cp-1 +-0x1.2e4bc2p-1 +0x1.3d5676p-3 +0x1.0966cp-4 +0x1.f544fap-2 +-0x1.0b150cp-1 +-0x1.d65418p-2 +0x1.7e29cap-3 +0x1.8c2aep-1 +0x1.7f474ap-1 +-0x1.2e67b4p-2 +-0x1.dd913cp-2 +-0x1.fdc1dep-1 +0x1.d6aee4p-2 +-0x1.a29b7ap-2 +-0x1.8ffce8p-1 +-0x1.585b46p-3 +-0x1.efd218p-1 +-0x1.be9658p-6 +0x1.7ae996p-1 +0x1.aeaaf4p-4 +0x1.6d3ab8p-1 +0x1.9741fcp-1 +-0x1.9d3c86p-1 +0x1.01478ap-4 +0x1.4c925p-1 +0x1.bb245ep-1 +-0x1.aefa6ap-1 +-0x1.dc4632p-1 +-0x1.86204p-1 +-0x1.7db4a2p-3 +0x1.5ad30ap-2 +0x1.03105p-3 +0x1.5e4226p-5 +-0x1.2c24bap-1 +-0x1.ac2c6ep-2 +0x1.54107ap-2 +-0x1.0a295p-1 +-0x1.99e7e4p-1 +-0x1.585872p-2 +-0x1.c6fb0cp-1 +-0x1.bbd304p-1 +0x1.692926p-1 +0x1.a623aep-4 +-0x1.080956p-2 +0x1.1ecc82p-3 +0x1.6195fcp-2 +0x1.2a2b8ep-1 +-0x1.b2d0b6p-2 +0x1.cdac5ap-5 +0x1.e46d68p-2 +-0x1.269722p-2 +-0x1.8b090cp-2 +0x1.730522p-1 +0x1.84b302p-1 +0x1.22d6bp-4 +-0x1.9108fap-1 +0x1.fe4862p-2 +-0x1.04fffp-2 +-0x1.d641c8p-6 +-0x1.f9d3d6p-3 +-0x1.ee6296p-3 +-0x1.94a686p-2 +0x1.a7c516p-1 +0x1.7528ep-2 +0x1.86dca4p-3 +0x1.38018cp-1 +0x1.ca8ee8p-2 +0x1.231834p-1 +-0x1.dcdfa2p-1 +-0x1.ad60e6p-2 +0x1.f0ef8p-3 +0x1.02dfb2p-1 +-0x1.f4b12ep-1 +-0x1.c8731ap-1 +-0x1.4127aap-7 +0x1.d15714p-1 +0x1.6c4854p-3 +-0x1.0eaf5ap-2 +0x1.32953ap-2 +-0x1.e298a4p-3 +0x1.cc7238p-4 +-0x1.094404p-2 +0x1.11645ap-2 +0x1.fbafb2p-2 +-0x1.55bb2cp-1 +0x1.8a5b4ap-1 +-0x1.aa1fd4p-2 +0x1.ad6decp-1 +-0x1.3cbf2p-3 +0x1.d8a72ap-3 +-0x1.2ad9cap-1 +0x1.cb2c2p-1 +0x1.4eab5ep-10 +0x1.31225p-1 +-0x1.fdac8p-4 +0x1.8a862p-1 +0x1.b0afa8p-7 +-0x1.696bf8p-2 +-0x1.34a82cp-1 +0x1.43480cp-2 +-0x1.1279cap-1 +-0x1.cc733ep-1 +0x1.5b96b6p-1 +-0x1.012392p-2 +-0x1.0a1a6ap-1 +-0x1.aa7e14p-1 +-0x1.7d721ep-2 +-0x1.bdbb38p-3 +0x1.891188p-4 +-0x1.0bbad8p-4 +-0x1.28f5c6p-5 +0x1.8a425cp-2 +0x1.04b6cp-2 +-0x1.ef7e3ap-1 +-0x1.6d7c62p-2 +-0x1.f66592p-2 +0x1.b74e32p-3 +-0x1.40021ap-1 +-0x1.83b5e4p-2 +0x1.6371b4p-1 +-0x1.9f4dc6p-1 +-0x1.0ce498p-3 +0x1.1b0582p-2 +0x1.bac48cp-4 +-0x1.c0d9c8p-4 +0x1.0feff2p-3 +-0x1.d50a28p-1 +0x1.e9e4d6p-4 +-0x1.54162ap-2 +-0x1.fc6602p-1 +-0x1.d61d5ap-1 +-0x1.7dfbd6p-1 +-0x1.f2ad12p-6 +-0x1.b49d68p-1 +-0x1.e90b1ap-1 +-0x1.a6fa42p-1 +-0x1.454526p-1 +0x1.ffca9cp-4 +0x1.5afe8ap-2 +-0x1.54094cp-1 +0x1.8124ccp-1 +0x1.80e338p-4 +-0x1.45ae58p-5 +-0x1.44c552p-1 +0x1.9542f4p-2 +-0x1.6e1d56p-2 +0x1.513504p-1 +-0x1.e190cep-3 +0x1.a9a24ap-1 +0x1.2a102p-8 +-0x1.b79072p-1 +-0x1.488aeep-1 +0x1.e138c8p-3 +0x1.e69ap-1 +0x1.54f552p-2 +0x1.e600b8p-1 +-0x1.acf8a2p-2 +0x1.5d2dbap-1 +0x1.8c4cfap-2 +0x1.90c4c2p-1 +-0x1.a8b47p-1 +0x1.ac19bp-1 +0x1.329002p-2 +-0x1.a3b582p-1 +0x1.db9ffap-1 +0x1.424e8cp-4 +-0x1.255d46p-5 +-0x1.26b96p-4 +0x1.e7fd5cp-2 +0x1.b17e6ap-3 +0x1.cdd90ep-4 +0x1.dd3dbp-1 +-0x1.a1c03ep-1 +-0x1.8777d2p-3 +0x1.3683c8p-3 +0x1.18abeep-1 +-0x1.6a2fb6p-1 +0x1.9c994p-2 +-0x1.dd0cd2p-1 +-0x1.d4cb6p-2 +0x1.aca3c6p-1 +-0x1.6d0c6ep-1 +0x1.77f58ap-4 +0x1.1a4292p-1 +-0x1.3af6c2p-2 +0x1.a5f5e2p-1 +0x1.606b66p-1 +-0x1.d48072p-2 +0x1.2bd4fcp-1 +-0x1.8a5678p-2 +-0x1.5ab8p-1 +-0x1.babac2p-3 +0x1.26d7b6p-5 +0x1.76144cp-1 +-0x1.b63ffep-4 +-0x1.4fbc6ep-1 +-0x1.c9fb28p-7 +0x1.6ddf68p-4 +0x1.ff5b86p-4 +0x1.d316aep-4 +0x1.430bf2p-7 +-0x1.858ca4p-2 +0x1.fc3694p-1 +-0x1.1d770ep-2 +-0x1.032dc8p-2 +-0x1.7b042p-4 +-0x1.6584ep-2 +0x1.1dfed4p-3 +-0x1.ba50d2p-2 +0x1.e29c9cp-1 +0x1.92f14ep-2 +-0x1.39170ep-2 +-0x1.8693dp-1 +-0x1.15fa82p-2 +0x1.350d78p-6 +-0x1.e2708cp-2 +-0x1.507046p-1 +0x1.41e9dp-2 +0x1.f12d2ep-6 +-0x1.d56cf6p-2 +-0x1.285072p-2 +0x1.0539bap-5 +-0x1.2c7dccp-4 +0x1.3988e2p-1 +-0x1.8d67ecp-2 +0x1.9a32e2p-4 +0x1.810446p-2 +-0x1.271f4cp-1 +-0x1.de4e4p-2 +-0x1.139b1p-1 +0x1.8deb52p-1 +0x1.d9242ap-4 +-0x1.c44d82p-2 +0x1.5d55aep-1 +-0x1.48d04cp-3 +0x1.1fa8f8p-2 +0x1.c9e902p-2 +0x1.d2a224p-3 +0x1.e4044ap-2 +0x1.f8b7c4p-2 +0x1.84b452p-3 +0x1.0b6f22p-1 +-0x1.7938bcp-1 +0x1.a79e9p-2 +-0x1.0eb522p-2 +0x1.eaccf8p-1 +0x1.39043p-1 +-0x1.511bb6p-1 +0x1.32dee4p-2 +0x1.3b00aap-1 +0x1.6e4fd8p-1 +-0x1.97dfc2p-3 +-0x1.51acaap-3 +0x1.2ae8p-4 +-0x1.a4ebb4p-1 +0x1.334a7cp-1 +0x1.93059ep-1 +-0x1.2767cp-5 +-0x1.08178ep-1 +0x1.f5bd7ap-5 +-0x1.fe54fp-4 +0x1.4a0bc8p-3 +-0x1.48c1aep-2 +-0x1.60dae6p-2 +0x1.e70664p-1 +-0x1.e5afbcp-1 +-0x1.7e4222p-1 +-0x1.6b5f68p-2 +-0x1.116522p-1 +0x1.a468ecp-5 +-0x1.4413d6p-4 +0x1.b61754p-1 +-0x1.b947ep-2 +0x1.977b76p-2 +-0x1.8b6dcap-3 +0x1.991f4cp-1 +0x1.012dd6p-1 +-0x1.8af3b8p-2 +0x1.9b817ap-3 +0x1.094b6ep-1 +-0x1.a4ad3p-1 +0x1.e40b96p-4 +-0x1.e0c792p-2 +0x1.971a6ep-2 +-0x1.9cdffcp-2 +-0x1.7f64dep-4 +-0x1.bc3d0ep-1 +-0x1.5fc30ep-1 +-0x1.394386p-1 +0x1.9697c6p-1 +-0x1.e3f9c8p-6 +-0x1.f1f844p-3 +-0x1.dea8dp-3 +0x1.32a8ccp-1 +-0x1.085624p-2 +-0x1.40cc2ep-1 +0x1.979e58p-1 +0x1.22277cp-1 +-0x1.88ea7ep-1 +0x1.e6c3bp-3 +0x1.a29236p-5 +-0x1.0c3142p-6 +0x1.5c4d26p-1 +0x1.bb92eap-1 +0x1.fae364p-4 +-0x1.d8c938p-5 +0x1.769c0ap-2 +-0x1.6666p-1 +0x1.53c884p-3 +0x1.7081dep-1 +-0x1.b75cd6p-3 +0x1.c6c63p-2 +0x1.9550b2p-2 +0x1.d576a6p-1 +0x1.68731ap-2 +0x1.178244p-1 +-0x1.936702p-6 +-0x1.324f32p-2 +-0x1.44c8d8p-1 +-0x1.13235ap-2 +-0x1.3591p-3 +0x1.7f7ee4p-3 +-0x1.56a414p-5 +-0x1.b28e1p-4 +-0x1.56b4b8p-1 +0x1.269a2ap-2 +0x1.5c25b8p-2 +-0x1.52467cp-2 +0x1.a97814p-1 +-0x1.6ad65cp-2 +-0x1.8b3d6cp-2 +-0x1.42b04p-2 +-0x1.7c9dfep-1 +-0x1.4cfbf8p-1 +0x1.01cf98p-1 +-0x1.4580a4p-1 +0x1.f863aep-2 +-0x1.276972p-2 +-0x1.b80c5ep-1 +-0x1.1d73eep-2 +0x1.b31d0ep-2 +0x1.82165p-3 +-0x1.e62d7ep-1 +-0x1.7fafcap-3 +-0x1.b10432p-1 +0x1.5d39bap-6 +-0x1.814adcp-1 +0x1.007b54p-1 +-0x1.d7f8bap-3 +0x1.1e4004p-1 +0x1.cf7be2p-3 +-0x1.edec2ap-1 +0x1.2787eep-1 +-0x1.e0ce2p-2 +0x1.9603cep-5 +-0x1.91869ep-1 +0x1.ed10f8p-2 +0x1.982de6p-3 +-0x1.10e77ep-2 +-0x1.b1b6a8p-1 +0x1.192082p-2 +0x1.57a158p-2 +-0x1.3ccdbp-1 +0x1.6f2f0cp-5 +0x1.afcdbp-1 +0x1.630dacp-4 +0x1.970d5p-2 +-0x1.2c4212p-1 +0x1.f58ab6p-2 +0x1.d318ccp-2 +0x1.bdd0acp-2 +-0x1.7839bap-1 +-0x1.b0f21p-2 +-0x1.426bbap-1 +0x1.27fc8p-1 +-0x1.d9ecd6p-2 +0x1.f6fd38p-2 +-0x1.c6376p-2 +0x1.5d9d62p-1 +0x1.985deep-1 +-0x1.0b836ap-1 +-0x1.15fb08p-1 +-0x1.4f572p-1 +-0x1.c17998p-1 +-0x1.825968p-1 +-0x1.2dfec2p-2 +0x1.86b9d4p-1 +0x1.31593ap-3 +-0x1.cdb44cp-1 +-0x1.40301ep-4 +-0x1.6cb2e2p-2 +-0x1.625ccep-1 +-0x1.c039bcp-1 +-0x1.fab4a4p-2 +-0x1.6b0ae4p-2 +-0x1.32bdc2p-2 +-0x1.d95bf2p-1 +0x1.709326p-2 +0x1.ac93a2p-2 +0x1.742a06p-1 +-0x1.6cc9cp-2 +0x1.a12496p-2 +0x1.6a112ap-1 +0x1.bfd71p-2 +0x1.be81aap-3 +0x1.0966e6p-4 +-0x1.b4c844p-2 +0x1.241202p-1 +0x1.ad5c7ap-1 +-0x1.d2e134p-1 +-0x1.65d80cp-2 +-0x1.2d790cp-1 +-0x1.72e49ap-1 +-0x1.3e616p-1 +-0x1.4d1eacp-3 +-0x1.cf9ff2p-1 +-0x1.1205fcp-1 +-0x1.6705acp-1 +-0x1.049f02p-1 +0x1.079dp-2 +0x1.3c0b02p-2 +-0x1.6f31aap-1 +0x1.52f99ep-3 +0x1.008424p-4 +-0x1.1e1136p-4 +0x1.b536fp-1 +0x1.fcf3a6p-2 +-0x1.6ff716p-1 +0x1.4205p-1 +0x1.98e072p-7 +-0x1.69192p-3 +0x1.40a784p-3 +-0x1.63757ep-3 +-0x1.cfa6fap-5 +0x1.025cfep-1 +0x1.dc329ep-4 +-0x1.80456p-1 +-0x1.f7adf8p-1 +0x1.f8472cp-2 +0x1.a4ef6p-2 +-0x1.8123ap-1 +0x1.5387fcp-1 +-0x1.80dc1cp-1 +0x1.50ab5cp-2 +0x1.7ca938p-3 +-0x1.524fd4p-3 +0x1.44580cp-1 +0x1.bcf5e6p-1 +-0x1.ec2f52p-1 +-0x1.d881cep-4 +0x1.b8cf6ep-2 +0x1.5e4d8ep-4 +-0x1.544a1ap-2 +0x1.e67a48p-3 +0x1.c4edfap-1 +0x1.6b2ddap-3 +-0x1.a8b95ep-2 +-0x1.83ff64p-1 +0x1.de453ep-3 +-0x1.70b986p-1 +-0x1.a139p-4 +0x1.83719cp-1 +-0x1.a4349cp-1 +-0x1.ed06dap-4 +-0x1.414838p-3 +0x1.fd17bep-1 +0x1.0fdaap-2 +0x1.8bdbe2p-4 +0x1.9a65a4p-1 +-0x1.7f251p-2 +-0x1.3b1f2p-1 +-0x1.345fb2p-2 +-0x1.75771ep-2 +-0x1.11c84p-1 +-0x1.ec1426p-3 +0x1.0dcb3cp-1 +-0x1.01df0ep-1 +-0x1.5583c6p-2 +-0x1.7534bcp-2 +0x1.65f932p-1 +0x1.650ac4p-3 +0x1.f4a996p-1 +-0x1.b65fbcp-1 +-0x1.ed015cp-2 +0x1.530258p-2 +0x1.244d38p-1 +0x1.a5d93cp-1 +-0x1.f3cddap-1 +0x1.e19df6p-1 +-0x1.05c686p-1 +0x1.27d0aep-4 +-0x1.a02df8p-3 +-0x1.fdcf44p-4 +-0x1.dc0e3cp-5 +0x1.8d0734p-7 +-0x1.a57daap-2 +0x1.11731cp-3 +0x1.8eb29cp-1 +0x1.1de422p-3 +0x1.5b00aap-2 +0x1.f487b6p-7 +-0x1.782854p-6 +-0x1.8cd066p-4 +0x1.13114ep-2 +0x1.5fd92cp-1 +0x1.d9bb68p-3 +0x1.000b24p-2 +0x1.5a9c8cp-1 +0x1.1272a4p-1 +-0x1.35b3bcp-2 +-0x1.4226dep-1 +-0x1.77c05ap-5 +-0x1.cb7f66p-2 +0x1.444f8ap-3 +-0x1.e456e6p-3 +-0x1.5078bcp-3 +0x1.478f2ep-1 +-0x1.e4a03cp-2 +0x1.c9f98ap-1 +0x1.4c1cbp-1 +-0x1.8efcep-2 +0x1.e82cap-1 +-0x1.50327ep-1 +0x1.5e3d5cp-1 +-0x1.34843cp-6 +0x1.74a86ap-1 +-0x1.9f4a8cp-3 +-0x1.c4cda8p-2 +0x1.0649dep-1 +-0x1.4ff7f4p-2 +-0x1.25e094p-1 +0x1.9a100cp-3 +-0x1.3e0974p-1 +0x1.12f872p-2 +-0x1.3c2e3p-6 +-0x1.1303f2p-2 +0x1.73c642p-4 +0x1.87c68cp-1 +0x1.d69c54p-1 +-0x1.726e54p-1 +0x1.4db076p-1 +-0x1.6196ep-1 +-0x1.253e4ap-8 +-0x1.c14988p-1 +-0x1.0c6306p-2 +0x1.24901p-2 +0x1.0b59fp-2 +-0x1.51999p-1 +-0x1.5a031ep-1 +0x1.e7b494p-2 +0x1.0c4822p-6 +-0x1.165632p-5 +0x1.f02bc2p-3 +0x1.35c696p-1 +0x1.da738ap-4 +0x1.8e1484p-1 +-0x1.6cb9d2p-2 +0x1.d4056cp-7 +0x1.de8772p-3 +0x1.d3b5e4p-2 +-0x1.d8d57ap-1 +-0x1.b9934ap-3 +-0x1.b8475p-1 +0x1.48c178p-1 +0x1.3a66bap-2 +-0x1.fa27acp-2 +-0x1.a5a174p-3 +-0x1.4a664cp-2 +0x1.6ee766p-1 +-0x1.afc05ap-3 +0x1.ea1e56p-3 +0x1.8dcce4p-1 +-0x1.0a396cp-3 +0x1.4b760cp-1 +0x1.eeaab2p-4 +-0x1.e5cf22p-1 +-0x1.6a6b36p-2 +-0x1.0033ccp-2 +0x1.5d2b02p-2 +0x1.8053bp-1 +0x1.289d04p-1 +0x1.d79606p-2 +-0x1.1ae93ap-1 +-0x1.3216d4p-1 +-0x1.6d72c6p-1 +0x1.bbf7fap-1 +0x1.82e236p-8 +0x1.2d967p-1 +0x1.215beap-1 +0x1.c7bea2p-4 +0x1.e87f02p-2 +-0x1.0ed4d4p-2 +0x1.08d668p-1 +-0x1.df8234p-3 +0x1.0ca31ap-1 +-0x1.afa226p-3 +0x1.4e31p-2 +0x1.9da612p-1 +0x1.56cd32p-2 +0x1.78507ep-2 +0x1.5fdd7p-2 +-0x1.a40adcp-1 +-0x1.9a4966p-2 +-0x1.008704p-3 +-0x1.9050f6p-2 +0x1.9010a2p-1 +0x1.113376p-1 +0x1.4a4de4p-1 +-0x1.51fccep-1 +-0x1.9c2d8ep-5 +0x1.c44d68p-5 +-0x1.358e7ep-1 +-0x1.acda54p-2 +-0x1.df8aecp-2 +-0x1.3b618p-2 +-0x1.d35c08p-3 +0x1.c612p-1 +0x1.2c63ap-1 +0x1.ff5282p-4 +-0x1.27ad28p-9 +-0x1.43fe26p-1 +-0x1.e41d42p-5 +0x1.41956ap-1 +0x1.c9b73cp-2 +-0x1.c8012ap-1 +-0x1.2c1e6ap-5 +-0x1.fd5e6cp-2 +0x1.90c3f8p-1 +0x1.7d91fap-2 +-0x1.13ae64p-1 +0x1.c8a558p-1 +0x1.a6e46p-3 +-0x1.29d98cp-1 +-0x1.f21ac8p-1 +0x1.4cbf1ap-1 +-0x1.3a429ep-4 +-0x1.ce2242p-1 +-0x1.df6ddep-2 +-0x1.1a0e88p-1 +0x1.32057p-2 +-0x1.b4cdb4p-4 +-0x1.ed7486p-2 +0x1.6e2504p-2 +0x1.5b1e28p-2 +-0x1.e16a76p-1 +0x1.7ba948p-1 +-0x1.37e812p-2 +-0x1.5a43d4p-1 +-0x1.314f14p-2 +-0x1.c4746ep-1 +0x1.caa996p-2 +-0x1.8abcbcp-3 +0x1.0e8a9p-3 +-0x1.2abbdp-2 +-0x1.03e7d6p-1 +-0x1.6d9f5ap-1 +0x1.88090ep-5 +-0x1.adf2dcp-4 +-0x1.afae6cp-5 +0x1.82c66ep-1 +0x1.76212ep-3 +0x1.1e35aap-2 +-0x1.2d2b34p-2 +-0x1.74477ap-2 +-0x1.da68dap-1 +0x1.429f68p-5 +-0x1.7077ccp-1 +0x1.814d36p-1 +0x1.1d1dbcp-1 +0x1.b4bc74p-1 +0x1.fdb266p-1 +-0x1.e217b6p-2 +0x1.7d0b6cp-5 +0x1.a7dc66p-1 +0x1.350184p-3 +-0x1.0e739ap-1 +0x1.dcf0ecp-1 +0x1.711546p-1 +-0x1.a71018p-3 +-0x1.36131ap-1 +-0x1.b1d92ep-4 +0x1.1a168p-2 +0x1.fb5d1p-10 +0x1.801e5ap-1 +-0x1.c0fb3p-2 +-0x1.c4e0a6p-4 +-0x1.a688e2p-1 +0x1.b6c954p-1 +0x1.6db21ap-1 +0x1.5860f2p-1 +-0x1.361ab4p-3 +0x1.ed5bc4p-3 +-0x1.08eff4p-2 +-0x1.409854p-1 +0x1.4ad436p-4 +0x1.760fcap-2 +0x1.6165d2p-1 +0x1.b1a2ecp-1 +0x1.59aeb6p-1 +0x1.3e0b66p-1 +-0x1.36aa08p-4 +-0x1.7caf6ep-3 +0x1.52875p-2 +0x1.708586p-2 +0x1.b8151ap-1 +0x1.960ca4p-4 +0x1.957094p-1 +0x1.1d4dcap-1 +-0x1.5d579p-1 +0x1.8d8712p-1 +0x1.17824p-1 +0x1.d5753ep-2 +0x1.a561d6p-1 +-0x1.09297ap-5 +0x1.bc58ccp-2 +0x1.cf7dbep-1 +-0x1.2bfa2p-1 +0x1.71d9c4p-1 +-0x1.78931ep-2 +-0x1.3bffbp-2 +0x1.136d34p-2 +0x1.bd27aap-4 +-0x1.d97618p-1 +0x1.f827ap-1 +0x1.10a96p-2 +0x1.05827p-1 +0x1.27ca96p-3 +-0x1.002a76p-1 +0x1.0fe87ep-1 +0x1.975796p-1 +-0x1.bd8d2cp-1 +-0x1.d75468p-1 +-0x1.0df934p-3 +0x1.cf78b8p-4 +-0x1.ac4caep-6 +0x1.b3389ap-1 +0x1.3db378p-2 +-0x1.93fbc2p-2 +0x1.61b404p-1 +-0x1.859fc8p-5 +0x1.99ce8ap-2 +0x1.6aec3ap-2 +0x1.e9dd4ap-1 +-0x1.b9dbeap-1 +0x1.2c1cdcp-4 +-0x1.5bfccep-4 +0x1.ad2c34p-1 +-0x1.2cc216p-2 +-0x1.598eaap-4 +-0x1.9d4288p-2 +-0x1.4f40c8p-1 +0x1.4d5148p-1 +0x1.bfddf2p-2 +-0x1.343e0cp-7 +-0x1.0461c2p-1 +-0x1.c31b2cp-1 +0x1.51c0fap-1 +-0x1.15a3fap-3 +0x1.67eb9ap-2 +0x1.c5dd62p-2 +-0x1.0eee3ap-1 +0x1.ef12f8p-2 +0x1.8cf8aep-2 +-0x1.e0ecf6p-2 +-0x1.95cf66p-2 +-0x1.7b9b72p-2 +-0x1.4ec552p-2 +-0x1.489c9cp-4 +-0x1.8605a8p-1 +0x1.0b9704p-3 +0x1.9fda02p-1 +0x1.1a3fd4p-1 +-0x1.4e094ap-1 +0x1.ab276ep-6 +0x1.bdbf98p-1 +0x1.c487e4p-4 +-0x1.df6aacp-1 +-0x1.ff6ep-2 +-0x1.a6d1a2p-3 +0x1.19c348p-1 +-0x1.38178cp-1 +-0x1.c0cc26p-1 +0x1.063f28p-1 +0x1.c6aa88p-1 +-0x1.32c87ep-2 +0x1.ffaddep-1 +-0x1.05ffa8p-1 +-0x1.8a040ep-1 +0x1.3a9c5p-1 +0x1.7ec5ep-1 +0x1.37444ep-2 +0x1.22851p-1 +0x1.ce3f44p-1 +0x1.35badcp-1 +-0x1.41c6ep-1 +-0x1.6c41ccp-1 +-0x1.7565fap-4 +0x1.fd92cap-2 +-0x1.37986cp-3 +0x1.d57e7cp-5 +0x1.991d56p-1 +0x1.c0f4d8p-1 +-0x1.af780ap-1 +-0x1.91f064p-3 +0x1.846352p-1 +0x1.19f85ap-2 +-0x1.a43a84p-4 +-0x1.864d08p-3 +-0x1.93569ep-1 +0x1.0cb556p-1 +-0x1.7754cp-1 +0x1.82de4ap-2 +0x1.8c544p-2 +0x1.ee36fp-1 +0x1.1297bap-1 +-0x1.47d746p-2 +0x1.3aadbcp-1 +-0x1.bd928p-1 +-0x1.b13518p-3 +0x1.9ee15p-4 +0x1.2b7cd8p-1 +-0x1.1941fep-1 +0x1.c80c68p-1 +0x1.b281cap-2 +-0x1.ef3af6p-1 +0x1.d979eap-1 +0x1.25e01ep-3 +0x1.fa0fc2p-1 +0x1.0869cap-4 +-0x1.d6aa5ap-2 +-0x1.7b13e4p-1 +0x1.b66e3ap-3 +-0x1.932754p-2 +0x1.30f30cp-5 +-0x1.2f304ep-4 +-0x1.4713a4p-2 +-0x1.f94358p-2 +-0x1.a42354p-1 +-0x1.bb276ap-1 +-0x1.a0215p-1 +-0x1.6a97a2p-1 +-0x1.d17a3ep-1 +0x1.2f363p-1 +0x1.32a8eap-1 +-0x1.c99574p-2 +-0x1.1757fp-1 +-0x1.62cb58p-1 +-0x1.16410ep-2 +0x1.17a89ep-1 +0x1.f5385ep-2 +-0x1.a2d1d2p-1 +0x1.aac754p-1 +0x1.930bc4p-1 +0x1.12566cp-1 +-0x1.11f7a6p-3 +0x1.affc0ap-3 +0x1.f2be0ap-3 +0x1.4a4c52p-1 +0x1.0b3c1ap-3 +-0x1.8c5f16p-1 +0x1.269028p-2 +0x1.4fcd6p-1 +0x1.e0721ep-2 +-0x1.e29a44p-1 +-0x1.cb80f8p-2 +0x1.2c92aap-4 +-0x1.5e774ap-2 +-0x1.b078ap-1 +0x1.5d71d2p-1 +-0x1.f2c132p-1 +0x1.f7818ap-1 +-0x1.386052p-3 +0x1.cea122p-1 +0x1.c33f8cp-3 +-0x1.79e06p-1 +0x1.cc09ccp-3 +0x1.e0b9fap-4 +0x1.6fbeap-2 +0x1.715cacp-3 +0x1.a2bc9ep-3 +-0x1.997e2cp-3 +-0x1.7b7514p-3 +0x1.2718ecp-1 +0x1.806536p-1 +0x1.9579f6p-1 +0x1.3649p-2 +0x1.a0c47ap-8 +-0x1.09803p-1 +0x1.84fb0ep-1 +0x1.944694p-3 +-0x1.08e352p-2 +-0x1.2c4f3ap-1 +0x1.4904fcp-1 +-0x1.d03ef2p-8 +-0x1.8e288ep-1 +0x1.c2aa6p-3 +0x1.ff0a0cp-1 +-0x1.ddb1ecp-2 +-0x1.f82692p-3 +0x1.9197fp-1 +0x1.f12d86p-1 +0x1.bc2f0ap-3 +-0x1.725fc8p-1 +0x1.63774p-2 +0x1.9da178p-2 +-0x1.74fb4ap-2 +0x1.ac5c34p-3 +-0x1.995882p-1 +-0x1.7448d6p-1 +-0x1.633504p-2 +0x1.c9f1ccp-4 +0x1.28782cp-1 +0x1.9fa8f2p-2 +-0x1.2bf5c4p-1 +-0x1.0b75a8p-4 +0x1.6725acp-3 +0x1.77981ep-3 +-0x1.f701b8p-3 +-0x1.bca62cp-2 +0x1.8ec04cp-1 +0x1.bbf638p-1 +-0x1.a3fa38p-2 +-0x1.1af036p-2 +0x1.22f5cep-1 +0x1.d770c8p-3 +-0x1.42a6aep-6 +-0x1.27cb52p-7 +-0x1.f49ffap-2 +-0x1.0d3d4p-1 +0x1.5b1d56p-3 +-0x1.dd3e92p-5 +0x1.d5d6b2p-6 +-0x1.bd0e3ap-1 +0x1.a6ffb6p-6 +0x1.e6a5d2p-8 +-0x1.69a5bp-4 +0x1.1757b4p-2 +0x1.6b8eep-3 +-0x1.0809dap-1 +0x1.1981bcp-2 +0x1.ae3274p-1 +-0x1.acc7c2p-1 +-0x1.8ed5eap-1 +-0x1.9a2218p-1 +0x1.a060eap-2 +-0x1.3a59a4p-3 +-0x1.697f9ep-2 +-0x1.0d641ap-2 +-0x1.85cba2p-2 +-0x1.d786b2p-2 +0x1.d47afp-1 +0x1.12b882p-1 +-0x1.ee07e4p-6 +0x1.c0f588p-2 +-0x1.7a9e3cp-1 +0x1.dd7e58p-2 +0x1.f828d8p-5 +-0x1.53bf26p-1 +-0x1.268cbap-2 +-0x1.53064ep-1 +0x1.4ce786p-3 +-0x1.815ecep-4 +-0x1.f90246p-1 +0x1.802ce6p-2 +0x1.8bb20ap-2 +-0x1.946c8p-1 +0x1.4f8e1p-3 +0x1.673254p-2 +-0x1.98da12p-2 +-0x1.83eef6p-3 +-0x1.5be26ep-1 +0x1.5e6c4ap-6 +0x1.6486d4p-1 +-0x1.79675ep-6 +-0x1.f90ed4p-1 +0x1.1dbb46p-3 +0x1.50ccd4p-1 +-0x1.7c796cp-3 +0x1.2f5dbcp-1 +-0x1.10218ep-1 +-0x1.86e44cp-2 +0x1.58fe4ap-1 +0x1.0d92d8p-1 +-0x1.1f6c54p-1 +-0x1.b5c6eep-2 +0x1.81b8acp-3 +0x1.94b35ep-4 +0x1.1b785cp-2 +0x1.99ab9p-2 +-0x1.dd3e7cp-1 +0x1.00c328p-1 +-0x1.06b808p-3 +0x1.0081cep-1 +0x1.0a5854p-2 +0x1.7002ep-1 +-0x1.9ef988p-3 +0x1.f040f2p-1 +-0x1.dce424p-1 +-0x1.2b698cp-1 +-0x1.604c22p-1 +-0x1.9ead8p-3 +-0x1.7f25d2p-1 +-0x1.3ecb54p-2 +-0x1.42bd8cp-1 +-0x1.b5871p-2 +-0x1.0bcbep-1 +0x1.ad2f3cp-1 +-0x1.c4a34ap-1 +0x1.f1b6a4p-1 +-0x1.ccb27p-1 +0x1.be840ep-2 +0x1.abfd0ap-1 +0x1.73307cp-4 +0x1.ed7722p-1 +0x1.cc4adcp-1 +-0x1.d46c12p-3 +0x1.b84222p-1 +-0x1.14347ep-1 +0x1.94eaaap-1 +0x1.45921ep-1 +0x1.af247cp-5 +0x1.468842p-1 +0x1.4bfdcep-2 +0x1.dc22aep-2 +0x1.3ec044p-1 +-0x1.38e89p-3 +0x1.7f3136p-4 +-0x1.d8e5dp-1 +0x1.ba7a58p-3 +-0x1.0c70aap-2 +-0x1.ec3c46p-1 +-0x1.f6ca0cp-3 +-0x1.45c58p-3 +-0x1.c3de1ep-5 +0x1.e727dap-2 +0x1.abe67p-2 +0x1.6d5472p-1 +0x1.9842aap-2 +-0x1.fc3032p-1 +-0x1.986ebp-1 +0x1.153a18p-1 +-0x1.8b71bp-2 +0x1.e5599ap-4 +-0x1.ea8cbp-1 +0x1.f39e28p-1 +-0x1.15c314p-6 +-0x1.c518dcp-1 +-0x1.73992ap-3 +-0x1.1f0d6p-2 +-0x1.3bfd7ap-3 +0x1.6e0414p-2 +0x1.b2bdep-1 +0x1.5c346ap-6 +0x1.abee2p-2 +-0x1.01d77ep-1 +0x1.48755ep-1 +-0x1.9a52b4p-2 +0x1.fdafb2p-1 +-0x1.3d9a4ep-3 +-0x1.6755aap-1 +-0x1.f8795p-1 +0x1.ed03d4p-3 +0x1.a353a8p-1 +-0x1.6dc442p-2 +-0x1.cfbacep-3 +-0x1.8ccbbap-1 +0x1.7a187p-1 +0x1.da45a4p-2 +0x1.7875eap-1 +-0x1.383464p-2 +-0x1.0fb048p-1 +-0x1.20affcp-1 +0x1.948236p-1 +-0x1.5298e4p-4 +0x1.61acf8p-7 +0x1.72168ep-2 +-0x1.fad952p-2 +-0x1.d3401ap-2 +0x1.1d3854p-1 +-0x1.bfc83cp-3 +-0x1.3c511ep-2 +0x1.da9aaep-2 +0x1.04347ep-2 +0x1.494dbp-1 +0x1.e8026ap-1 +0x1.af76a2p-3 +-0x1.9c0b56p-1 +-0x1.16cd88p-1 +-0x1.3ac826p-1 +0x1.68324p-2 +-0x1.967134p-2 +-0x1.ab726p-3 +-0x1.eca38ap-4 +0x1.aba0c4p-2 +0x1.0819ccp-1 +-0x1.a5ea36p-1 +0x1.ecbf22p-1 +0x1.738008p-4 +-0x1.9000cp-2 +-0x1.478cbep-1 +0x1.8966a8p-4 +0x1.8b66c8p-1 +-0x1.440ac8p-1 +0x1.7c27ecp-3 +-0x1.bf9b0ep-1 +0x1.657f4cp-3 +0x1.c9b35ap-1 +0x1.a7c2fp-2 +-0x1.fca2dap-7 +-0x1.80889ep-4 +-0x1.692e5p-4 +-0x1.87bd2p-2 +-0x1.f45922p-2 +0x1.472382p-1 +-0x1.348664p-2 +-0x1.8ca434p-4 +0x1.27d64p-1 +0x1.3167e2p-9 +0x1.07b746p-1 +-0x1.2f7bfp-1 +0x1.f9f936p-1 +0x1.ba525p-3 +0x1.0f32a8p-1 +-0x1.4f203ap-4 +-0x1.0ffdf8p-1 +-0x1.c6576p-1 +-0x1.b2896ep-5 +0x1.574f6ap-3 +-0x1.ce691ap-4 +0x1.6279p-1 +-0x1.30c4bep-1 +-0x1.62648cp-2 +-0x1.1ac084p-3 +-0x1.bb56e2p-1 +0x1.ad3f74p-3 +0x1.442a24p-1 +0x1.93fc4cp-3 +-0x1.b963dap-2 +-0x1.f13afcp-2 +-0x1.0b4ad8p-1 +-0x1.57e198p-3 +-0x1.0cfed6p-5 +-0x1.4de6ecp-1 +0x1.51a062p-1 +0x1.150624p-3 +-0x1.e4d8bp-1 +-0x1.5e75b6p-1 +0x1.7cc658p-1 +-0x1.47986ap-1 +-0x1.ee6a0ap-2 +0x1.ae4e2p-1 +-0x1.7ee782p-2 +-0x1.6eef8p-1 +0x1.0f2c7cp-1 +-0x1.0c604cp-2 +-0x1.d0cb2ap-4 +0x1.c6d452p-1 +-0x1.213f62p-1 +-0x1.16bdp-1 +-0x1.24e6e4p-2 +0x1.17855cp-3 +-0x1.aca3bap-1 +-0x1.3a2daep-1 +-0x1.4b8214p-2 +-0x1.41194ap-1 +0x1.a37e5cp-2 +-0x1.93d3c8p-2 +0x1.636292p-1 +-0x1.554624p-1 +-0x1.0f8ceap-1 +-0x1.acecccp-2 +0x1.7df32cp-6 +-0x1.255a1ap-1 +-0x1.a2bbbep-2 +-0x1.56d822p-1 +-0x1.0dbebap-1 +-0x1.b94eb6p-1 +-0x1.a9bf86p-3 +-0x1.085582p-2 +0x1.022d02p-3 +0x1.f018e6p-2 +0x1.a8bb44p-4 +-0x1.8e9e7ep-2 +-0x1.664c2ap-5 +-0x1.b5e41p-1 +-0x1.68c7d2p-3 +0x1.7ffc78p-4 +0x1.137d2cp-11 +0x1.6540a4p-4 +0x1.74d162p-3 +0x1.098f56p-1 +0x1.a59a82p-2 +0x1.292126p-1 +0x1.433194p-3 +-0x1.911912p-4 +-0x1.c19fa8p-4 +0x1.282c0ep-1 +0x1.2e83fp-7 +-0x1.e1a488p-4 +-0x1.95bdb2p-3 +0x1.dfd2ep-2 +0x1.ec2148p-1 +0x1.3a1504p-1 +-0x1.5b8e2cp-1 +-0x1.bdcd3p-1 +-0x1.079a1p-1 +0x1.5007a8p-1 +0x1.a0908ap-1 +-0x1.19e172p-1 +0x1.a9bfdp-3 +0x1.7ffbdp-1 +-0x1.604336p-2 +0x1.1c31ccp-3 +0x1.0ac26cp-3 +0x1.6ae5f2p-1 +0x1.121bfp-1 +0x1.9158f6p-2 +0x1.9374cp-1 +-0x1.8b177ap-8 +0x1.cfe3ep-1 +0x1.f9f834p-4 +0x1.975716p-2 +0x1.54625cp-3 +-0x1.d84022p-1 +-0x1.61a5dcp-2 +0x1.8a6d0ap-1 +0x1.79d6d2p-2 +-0x1.b5d0f4p-3 +-0x1.6c1508p-3 +-0x1.cee6ecp-2 +0x1.26ddap-1 +-0x1.80891ap-1 +0x1.b383e6p-1 +0x1.5da5ecp-1 +-0x1.ae0576p-1 +0x1.4f48d4p-1 +-0x1.880168p-3 +-0x1.608e46p-1 +0x1.1a0036p-1 +-0x1.d6b7bap-2 +0x1.9050bcp-2 +0x1.b6e1f8p-3 +-0x1.3fd6bap-2 +0x1.a2e96cp-3 +0x1.1895dep-2 +0x1.b3f4dap-3 +-0x1.cd855cp-2 +0x1.ccea5ap-2 +0x1.558402p-1 +-0x1.2369a8p-2 +-0x1.d10b3p-1 +0x1.1ecb4ap-5 +0x1.808544p-1 +0x1.2a89dep-2 +-0x1.4125a6p-4 +0x1.271f98p-5 +-0x1.7e755p-9 +-0x1.0d9c24p-1 +0x1.2509ecp-3 +0x1.7a11f6p-1 +-0x1.ce345cp-6 +0x1.543b1ap-1 +-0x1.0dabccp-1 +-0x1.807586p-2 +0x1.d01544p-2 +-0x1.23630cp-3 +0x1.f8baf2p-4 +0x1.2c45a4p-2 +-0x1.e7a83cp-2 +0x1.1b546ep-2 +0x1.64958ep-2 +-0x1.1788ap-3 +-0x1.7c7736p-1 +-0x1.86a542p-1 +-0x1.699836p-1 +-0x1.37057ap-1 +-0x1.abe92ap-3 +0x1.94d0b6p-1 +0x1.d7d5bp-2 +-0x1.b42382p-2 +-0x1.60be74p-1 +0x1.035cecp-1 +0x1.7f99fcp-2 +-0x1.995296p-3 +0x1.5ff66ap-2 +-0x1.d41802p-1 +-0x1.aec89cp-1 +0x1.3cda12p-1 +0x1.8f57bep-1 +0x1.0cf5bp-2 +0x1.c8875ep-2 +0x1.ab8b96p-1 +0x1.1f3b7cp-3 +-0x1.541dcap-2 +-0x1.9ef1e2p-1 +-0x1.f1bdb2p-7 +0x1.7df5acp-1 +0x1.6eb4e8p-3 +0x1.efb1a4p-1 +-0x1.72bc14p-1 +-0x1.ba82f6p-2 +-0x1.ea55d8p-3 +0x1.292118p-1 +0x1.5e311cp-1 +-0x1.9bf966p-4 +0x1.cd24b4p-2 +0x1.88f71ap-2 +-0x1.0e428ap-4 +-0x1.9a536ep-2 +-0x1.f8c908p-1 +0x1.40c9a2p-6 +0x1.e18d8p-1 +0x1.108fbap-1 +-0x1.4fcec2p-6 +-0x1.080d9ap-1 +0x1.fc551cp-1 +0x1.9bb61cp-4 +-0x1.4168cp-2 +0x1.c799e8p-1 +-0x1.0c4a5ap-2 +0x1.ebf3ccp-1 +-0x1.be1b56p-1 +-0x1.88a11ap-1 +-0x1.8ecffcp-1 +0x1.c55182p-2 +0x1.d3d142p-3 +0x1.39252cp-2 +0x1.654ff8p-2 +-0x1.750bd8p-3 +-0x1.69df3ep-2 +0x1.bba0dp-1 +-0x1.28c5f2p-2 +0x1.321f6ap-1 +-0x1.eb4042p-2 +0x1.95914p-1 +-0x1.f11da8p-3 +0x1.cb7c72p-1 +0x1.63b18ep-2 +-0x1.9f6c02p-1 +-0x1.8ab8bcp-5 +0x1.7b590ep-4 +-0x1.5df522p-1 +-0x1.68ff1ap-9 +-0x1.540a26p-2 +-0x1.e70f7ap-1 +-0x1.443a22p-1 +-0x1.298bfep-3 +-0x1.86b306p-3 +0x1.1e2ab2p-1 +-0x1.23a576p-1 +-0x1.24f144p-1 +-0x1.4b31f8p-3 +0x1.16c554p-1 +0x1.0d1d3ep-3 +-0x1.d95ceap-4 +0x1.b35c34p-1 +0x1.d53302p-1 +-0x1.bd7b1p-2 +0x1.7aacdep-4 +-0x1.4d08ccp-3 +0x1.1bf0fcp-2 +0x1.dfb862p-1 +0x1.b15fccp-2 +-0x1.0acc9cp-2 +-0x1.3eabeap-1 +0x1.29a66ap-4 +-0x1.389b1ep-6 +0x1.a4ee6ap-3 +0x1.77f648p-3 +0x1.baf354p-1 +0x1.8bd0c2p-5 +0x1.0381bp-1 +0x1.371fdcp-1 +0x1.1e4186p-5 +0x1.3612eap-1 +0x1.4122c6p-1 +-0x1.b1def2p-1 +-0x1.d3b6c8p-3 +-0x1.b8dcb8p-1 +-0x1.f1d346p-1 +0x1.bb5df4p-2 +-0x1.87d1b2p-3 +-0x1.6b1c1cp-1 +-0x1.835d9p-2 +0x1.a11072p-1 +-0x1.0fdc3p-3 +-0x1.b2393ap-6 +0x1.64c874p-2 +0x1.49503cp-1 +0x1.d3a51cp-3 +-0x1.b9e888p-1 +-0x1.1ff292p-1 +0x1.a38aeep-5 +0x1.43a67p-2 +0x1.010fbp-1 +0x1.92a2c6p-3 +-0x1.2ee2p-3 +-0x1.181a88p-2 +-0x1.80ed38p-2 +-0x1.a2626p-1 +0x1.10247p-3 +0x1.31239ap-2 +-0x1.9a988cp-1 +0x1.2a95dep-2 +0x1.0a6016p-1 +0x1.dba78p-3 +-0x1.499e9ep-3 +-0x1.a5bf1ep-1 +-0x1.e737e2p-2 +-0x1.4d1852p-5 +0x1.b4a3fp-5 +0x1.baa424p-1 +0x1.50b7dcp-2 +0x1.a0ae4ep-1 +0x1.03c45p-1 +-0x1.6a1a44p-3 +-0x1.aa7486p-3 +0x1.4b4beep-1 +-0x1.d24a0cp-1 +0x1.94e16cp-2 +0x1.c0a628p-1 +0x1.50122p-3 +-0x1.f7107ap-4 +-0x1.70312ep-1 +0x1.a2b6acp-3 +0x1.7932e6p-1 +-0x1.338dp-3 +0x1.902b6ep-5 +-0x1.599ebep-1 +-0x1.e81a96p-3 +0x1.35b766p-2 +0x1.0bfdfap-1 +-0x1.48bb9ap-2 +-0x1.9d1a9p-1 +0x1.4ef9a4p-4 +0x1.8fe102p-2 +0x1.b8d37ep-2 +0x1.2498c8p-1 +0x1.383d52p-1 +-0x1.9653c6p-1 +0x1.f95622p-1 +0x1.e2e2d6p-2 +-0x1.b28b24p-2 +-0x1.52914cp-2 +-0x1.7ce9c2p-1 +-0x1.263a38p-1 +-0x1.b7340cp-2 +-0x1.adc26cp-2 +-0x1.9cfa82p-2 +0x1.699eaep-1 +0x1.7b4b3p-6 +-0x1.b59d0ep-3 +-0x1.5eb8ecp-2 +-0x1.cec0f8p-1 +0x1.572db2p-1 +0x1.6ad772p-4 +-0x1.49ca7ap-1 +0x1.1b2b62p-4 +0x1.36d5eep-2 +0x1.ba6548p-1 +-0x1.2ab656p-1 +-0x1.72fep-1 +-0x1.bde63cp-5 +0x1.490046p-1 +0x1.3f4e94p-2 +-0x1.087772p-1 +0x1.68a22cp-4 +-0x1.2647a8p-1 +0x1.0e5d18p-1 +-0x1.2de122p-1 +-0x1.91b2e6p-1 +0x1.4fee78p-2 +-0x1.8c8514p-5 +-0x1.09e92cp-3 +0x1.cb4042p-4 +0x1.9726dep-3 +0x1.8c68e4p-1 +0x1.3a6c8ep-1 +-0x1.eb8014p-3 +-0x1.704e46p-4 +0x1.385b92p-1 +-0x1.4792ecp-1 +0x1.c73c8ap-1 +-0x1.ca2cb8p-1 +0x1.99bca8p-1 +0x1.460798p-2 +0x1.f1babep-1 +0x1.f523f8p-2 +-0x1.b932d6p-2 +0x1.9d14aap-1 +-0x1.0cdfap-6 +-0x1.f0318p-3 +0x1.1648fep-1 +-0x1.c87dcap-3 +0x1.8f1964p-3 +-0x1.c96f96p-5 +0x1.b4f6a2p-3 +-0x1.2ad0e4p-2 +0x1.e42a9ep-2 +-0x1.06403ep-3 +-0x1.837efap-1 +0x1.2984fp-4 +-0x1.c66f4p-1 +-0x1.778abep-1 +-0x1.a4c7bcp-2 +0x1.2f2cb2p-3 +0x1.bd1848p-4 +0x1.e20ab4p-1 +-0x1.f7f612p-3 +-0x1.c27646p-2 +0x1.d14bap-4 +-0x1.0987f8p-1 +-0x1.19f55ep-1 +-0x1.75c0e4p-2 +-0x1.b1c836p-1 +0x1.e988d2p-1 +0x1.7b67d8p-1 +0x1.21f2a8p-1 +0x1.b96e7ap-4 +0x1.ad9c94p-1 +0x1.5652ep-3 +-0x1.642986p-1 +0x1.fb3c1cp-1 +-0x1.f525ecp-1 +-0x1.6e9a76p-1 +-0x1.71836ep-5 +0x1.e461bcp-3 +0x1.88ba44p-1 +-0x1.179be8p-5 +-0x1.0ed4ccp-2 +0x1.33bc22p-1 +0x1.29bd2ap-1 +-0x1.fdab52p-1 +-0x1.59a6e4p-2 +-0x1.da4e4ap-1 +-0x1.f2da58p-1 +0x1.fb6d4ap-3 +0x1.b745f4p-1 +0x1.ef6f4ep-2 +-0x1.23e156p-7 +0x1.7a4d5ep-1 +0x1.e7c0b4p-1 +0x1.477914p-3 +0x1.ca8a92p-1 +-0x1.10599cp-2 +-0x1.19b6e4p-1 +-0x1.3f8ed6p-1 +0x1.e8bee4p-2 +0x1.6d466ap-1 +0x1.92188p-1 +0x1.ec5154p-1 +-0x1.e8df5cp-2 +-0x1.68826p-1 +0x1.7e6c5p-4 +-0x1.40a592p-1 +-0x1.248f5cp-3 +-0x1.02654p-1 +-0x1.a23676p-1 +0x1.646a5p-1 +-0x1.d81a5p-5 +-0x1.a56694p-3 +-0x1.331a8ap-2 +0x1.a5b3cap-2 +0x1.66f044p-2 +0x1.23e11ap-2 +0x1.cfcd92p-2 +-0x1.7ebb1p-1 +-0x1.cea03ap-4 +0x1.acbdeap-1 +0x1.8803fp-1 +-0x1.3f809ap-1 +-0x1.481272p-5 +0x1.223c3p-1 +0x1.c4d30cp-1 +-0x1.42a26cp-2 +-0x1.3eac08p-1 +-0x1.a5d926p-3 +-0x1.b1d15cp-1 +-0x1.c79b0ep-1 +0x1.f167fap-2 +0x1.7aacdep-2 +-0x1.3a97b6p-1 +0x1.aec646p-3 +-0x1.edd2fap-1 +0x1.89da3cp-4 +-0x1.22f616p-2 +-0x1.500a42p-1 +0x1.b79c04p-2 +-0x1.090f9ap-1 +0x1.424678p-2 +-0x1.a4b4d6p-3 +0x1.421eaep-1 +-0x1.08ed3ap-2 +-0x1.1bd23ap-1 +0x1.7cedb2p-4 +-0x1.1f95fep-1 +0x1.4610a4p-1 +-0x1.249fdep-3 +-0x1.4516dap-5 +-0x1.b54fb6p-1 +0x1.da0c9ap-1 +0x1.db0ec8p-1 +-0x1.c782e4p-2 +0x1.85af54p-2 +-0x1.aade6ap-3 +-0x1.547b92p-4 +-0x1.8a25fp-5 +0x1.6fcb84p-1 +0x1.2daf52p-3 +0x1.0794e8p-2 +0x1.9ff4p-1 +-0x1.fc2476p-2 +-0x1.210c7ap-1 +0x1.f22eaap-1 +-0x1.a25f9ap-1 +0x1.c656dap-1 +0x1.d412fcp-4 +0x1.c899cep-2 +0x1.852dc6p-5 +-0x1.fada82p-1 +0x1.7fe52ap-1 +0x1.a31d1p-2 +-0x1.d8f9eap-2 +0x1.a38b92p-2 +-0x1.a000cp-3 +0x1.9bfe2ep-1 +0x1.b7077ep-3 +-0x1.a00d3p-2 +0x1.a988d8p-2 +0x1.7cf188p-1 +0x1.7305bap-1 +0x1.e2e038p-2 +0x1.b5b562p-4 +-0x1.52e3fap-1 +0x1.f8519p-1 +-0x1.7fab5p-1 +0x1.5dfaecp-3 +0x1.6c5da6p-1 +-0x1.5bbd4ap-1 +-0x1.88bbecp-3 +0x1.d16ee2p-1 +-0x1.071304p-1 +-0x1.8be6bap-1 +0x1.27cf3ap-1 +-0x1.08f87ep-1 +-0x1.c5d5a6p-3 +-0x1.592718p-1 +-0x1.6789dp-2 +0x1.a3b27cp-8 +0x1.2cdc54p-1 +-0x1.aa7dep-3 +0x1.8062fp-1 +0x1.b64136p-3 +0x1.6f9548p-1 +-0x1.8300b4p-6 +-0x1.87e008p-5 +0x1.51fad8p-1 +-0x1.caa1aap-7 +0x1.d5a40ep-4 +-0x1.6ac5d2p-3 +-0x1.9db40ep-1 +0x1.41aee8p-3 +0x1.f8ae18p-3 +-0x1.d45c64p-1 +0x1.541feap-1 +-0x1.9cd0d2p-1 +0x1.2ae9eap-5 +0x1.e584fp-3 +0x1.4c43bcp-1 +0x1.d71a7ap-2 +0x1.b29d26p-6 +-0x1.3c87f4p-3 +-0x1.fad376p-5 +-0x1.2afbccp-1 +-0x1.c13422p-4 +0x1.80a34ap-1 +-0x1.1b931ap-1 +-0x1.e582a6p-1 +-0x1.d0214ep-1 +-0x1.bf5116p-1 +0x1.80cdb6p-2 +-0x1.bdd19ep-1 +0x1.c616aep-1 +-0x1.ff865ap-1 +-0x1.b94ab4p-1 +0x1.b63c04p-1 +-0x1.699608p-6 +0x1.9adb06p-1 +-0x1.46273p-3 +-0x1.fb70f6p-3 +-0x1.72e71ep-3 +-0x1.a9282cp-6 +0x1.8bfa74p-4 +-0x1.a0e0e2p-1 +-0x1.3d6d58p-2 +0x1.89c75ep-2 +-0x1.241f1cp-1 +-0x1.2bc568p-1 +0x1.e60e4cp-1 +0x1.40105cp-3 +-0x1.2ef564p-1 +-0x1.07bf42p-2 +-0x1.049d34p-1 +-0x1.45f552p-2 +-0x1.1997c4p-4 +-0x1.8de364p-2 +-0x1.05bb6p-1 +-0x1.342b54p-1 +-0x1.89b84ep-2 +-0x1.3f7bcep-1 +0x1.1445cp-6 +0x1.bda78ap-1 +-0x1.854a98p-1 +0x1.5de8d2p-1 +0x1.fb1532p-3 +-0x1.c9dbdcp-4 +-0x1.028ce8p-2 +0x1.8733dep-1 +-0x1.245a56p-3 +0x1.06a56p-5 +-0x1.0bf4ap-1 +-0x1.b581e2p-1 +-0x1.c2e7f4p-2 +-0x1.276d42p-1 +-0x1.061c5cp-4 +-0x1.3228ap-2 +0x1.2a67e2p-2 +-0x1.809258p-1 +-0x1.44c4ep-2 +-0x1.4bdccap-2 +0x1.faeaf4p-1 +0x1.53cd26p-3 +0x1.aabe66p-2 +-0x1.09a5p-1 +-0x1.446314p-3 +-0x1.e0af62p-3 +-0x1.cc1818p-2 +-0x1.3f3c5ap-1 +-0x1.eaede6p-5 +0x1.95010cp-2 +0x1.61f82cp-2 +0x1.53d116p-1 +0x1.788304p-1 +0x1.188138p-2 +0x1.0c9426p-1 +0x1.f8fd58p-1 +0x1.4a5cd6p-4 +-0x1.366788p-3 +-0x1.37d8ccp-1 +0x1.0b29b4p-1 +-0x1.c96cf2p-1 +-0x1.01c426p-5 +0x1.d80d3cp-1 +-0x1.2c483p-1 +-0x1.fb19c4p-2 +0x1.901954p-1 +0x1.91bb1p-2 +0x1.8f2fbep-2 +-0x1.7b79dap-2 +-0x1.6b268ap-4 +0x1.af1126p-2 +-0x1.c37a24p-1 +0x1.8dc00ap-1 +0x1.63d1c8p-1 +0x1.926eb4p-6 +0x1.235de8p-1 +0x1.e42528p-2 +-0x1.572c38p-3 +0x1.0c638ap-3 +0x1.88a23cp-1 +0x1.71ac7ap-2 +0x1.acfa58p-3 +-0x1.8db6ecp-3 +0x1.fa8b9ap-4 +0x1.d12ffp-1 +-0x1.b6ec8cp-5 +-0x1.ba0902p-1 +0x1.ddb47ap-3 +0x1.73982ep-1 +-0x1.644962p-1 +-0x1.f5062ap-6 +-0x1.52bfb6p-2 +0x1.faf4ecp-4 +0x1.a05c38p-2 +0x1.afc80cp-2 +-0x1.0c96d4p-4 +-0x1.eb6172p-1 +-0x1.4d7474p-1 +0x1.97f4b8p-2 +0x1.b431c8p-3 +-0x1.0eb48cp-2 +0x1.88649ep-2 +-0x1.fc0fd6p-2 +-0x1.0052d6p-3 +-0x1.04dbdep-1 +0x1.ece166p-5 +0x1.c9d72ap-1 +0x1.df2ae2p-2 +-0x1.12b504p-1 +-0x1.b4c8eap-4 +-0x1.bbb53ep-1 +0x1.e63fdp-1 +0x1.ea8b02p-1 +-0x1.0d8c0cp-1 +-0x1.4e1244p-2 +0x1.7f6a4ep-2 +-0x1.37faaep-2 +0x1.b81386p-5 +-0x1.fcccf8p-1 +0x1.d5fbdp-2 +-0x1.6c946ap-1 +-0x1.1b352cp-1 +0x1.c11582p-2 +0x1.99001ap-1 +0x1.0dc7c6p-1 +0x1.8fddb4p-1 +0x1.499c58p-1 +-0x1.59c654p-2 +0x1.5eab24p-1 +-0x1.b85a6ap-1 +-0x1.30a6dap-1 +-0x1.932a56p-3 +-0x1.dea32p-2 +0x1.ff3e96p-5 +-0x1.4c618p-1 +-0x1.84e5ap-1 +0x1.7abe06p-2 +-0x1.c7ed9ap-2 +0x1.19b9a8p-3 +0x1.ec5ddp-1 +-0x1.719e66p-1 +-0x1.9c222ep-1 +0x1.ad9e52p-2 +-0x1.b91d5ep-1 +0x1.2f1a9ep-1 +-0x1.fa2f56p-1 +-0x1.f21f1p-1 +-0x1.95f9ecp-1 +0x1.f29af8p-3 +0x1.6fb0acp-2 +-0x1.3c294ep-1 +0x1.8c641ep-2 +-0x1.9ab2bcp-2 +-0x1.351b0ep-5 +-0x1.91b36p-1 +0x1.6b0cfcp-1 +0x1.387baap-5 +0x1.ab2eb2p-1 +-0x1.93edaap-1 +0x1.d085dap-2 +0x1.2d822ap-2 +0x1.ac9ee4p-1 +-0x1.3c5d22p-4 +-0x1.9448c4p-2 +0x1.b402d8p-1 +-0x1.b89d82p-4 +-0x1.3bee36p-2 +-0x1.bb481cp-4 +-0x1.a497f6p-1 +0x1.8c0e64p-1 +-0x1.c28ef4p-1 +0x1.979656p-3 +-0x1.ac4f7cp-1 +-0x1.0b9d3p-1 +0x1.6dea12p-2 +0x1.043b4cp-1 +0x1.235684p-1 +-0x1.d35da2p-3 +-0x1.755cb8p-1 +0x1.74413p-2 +0x1.d833cep-1 +-0x1.95d77ap-1 +0x1.fefb2ep-2 +0x1.403c34p-1 +0x1.3dedbcp-1 +-0x1.6a9174p-1 +0x1.abcb4cp-8 +-0x1.fe3e1ap-1 +0x1.aed45ep-3 +0x1.fca5b2p-2 +-0x1.5aec2cp-5 +-0x1.78b2a8p-1 +-0x1.224796p-3 +0x1.bdd2c2p-1 +0x1.17da74p-4 +0x1.120b4cp-1 +0x1.4e1d52p-1 +0x1.16e1fp-2 +-0x1.01c2b6p-2 +-0x1.c352ecp-3 +0x1.35108ep-1 +-0x1.a04352p-6 +0x1.d0d832p-2 +-0x1.be71c4p-1 +0x1.53b13cp-1 +0x1.7d916ap-3 +-0x1.a281bcp-3 +-0x1.042096p-1 +-0x1.449426p-3 +0x1.bf3b7ap-2 +0x1.1d432ap-2 +-0x1.e77d8p-6 +-0x1.046d5ep-1 +-0x1.d704d6p-1 +-0x1.239618p-1 +-0x1.35ca84p-2 +-0x1.be45cap-1 +-0x1.9839e6p-3 +-0x1.0e269ap-1 +0x1.055fcep-1 +-0x1.c41bbap-3 +-0x1.85e72p-2 +-0x1.76fa5cp-2 +-0x1.0d2e12p-1 +0x1.38c6aap-1 +-0x1.187b2cp-2 +0x1.878a38p-2 +0x1.096782p-1 +-0x1.3a3c82p-1 +0x1.5f46eep-2 +-0x1.8f9916p-2 +0x1.4e239cp-2 +0x1.1db18cp-1 +-0x1.47e9fap-3 +-0x1.d3de9ep-1 +0x1.9057d2p-7 +0x1.426d94p-1 +0x1.6e8a0cp-1 +0x1.72474cp-6 +-0x1.2d2caap-1 +-0x1.ee3072p-1 +0x1.dee28ap-2 +0x1.1b89fep-1 +-0x1.29a052p-2 +-0x1.31163cp-2 +-0x1.d4be14p-1 +0x1.45e848p-1 +-0x1.d264dap-2 +-0x1.6c2b72p-2 +0x1.9872a6p-2 +-0x1.51bd08p-1 +0x1.514bp-1 +-0x1.e085fep-1 +0x1.53009p-1 +-0x1.6934bp-1 +-0x1.e60096p-1 +-0x1.7167d2p-1 +0x1.c3d124p-7 +0x1.595b7ap-1 +-0x1.4786d4p-2 +0x1.60ab0ap-3 +0x1.ab6546p-4 +-0x1.4ce38ap-7 +0x1.4c4202p-3 +0x1.edd0e6p-1 +0x1.e82eap-1 +-0x1.878edap-6 +0x1.b8c5dp-1 +-0x1.758052p-1 +0x1.6beddcp-1 +-0x1.5d201ap-1 +-0x1.4106eap-1 +-0x1.ed26c4p-1 +0x1.40b2acp-3 +0x1.1dc00ap-1 +-0x1.9a927ap-1 +0x1.02bdcep-2 +0x1.23c368p-1 +0x1.11b786p-1 +0x1.b864c8p-3 +0x1.217d76p-1 +0x1.d1bcbp-1 +0x1.2b141cp-3 +-0x1.62ef5p-2 +0x1.94ea8ap-4 +0x1.0a74a8p-2 +0x1.e0bdcap-2 +-0x1.e80fbcp-2 +0x1.65ca6p-1 +0x1.0e00b6p-2 +0x1.3f7602p-1 +-0x1.34ee6p-1 +-0x1.51a328p-2 +0x1.97f7f2p-1 +0x1.b1adfep-1 +-0x1.5a6d86p-1 +0x1.784ca8p-1 +0x1.2d0946p-2 +-0x1.594df6p-1 +0x1.0650bep-2 +0x1.a26172p-7 +0x1.a61d2p-3 +-0x1.afb4c8p-4 +-0x1.159c2cp-1 +0x1.d6bf1ap-2 +0x1.5159aep-1 +-0x1.efc4f4p-2 +-0x1.16670cp-2 +0x1.20517cp-2 +0x1.46cc94p-1 +0x1.ab4774p-5 +0x1.20e1a2p-1 +-0x1.bc3572p-1 +-0x1.c5e448p-2 +0x1.68bbd6p-4 +0x1.16ba84p-1 +0x1.270e1ep-3 +-0x1.c4a876p-1 +-0x1.9b60eap-8 +0x1.ba1ce6p-1 +0x1.2c2b52p-1 +-0x1.7e2b3ap-2 +-0x1.ac1924p-3 +0x1.120eeep-2 +0x1.df9648p-3 +0x1.819cf6p-2 +-0x1.baf79ap-2 +-0x1.3c652ep-1 +-0x1.304962p-1 +-0x1.6ee21cp-2 +0x1.96f7eep-5 +0x1.aa7712p-1 +-0x1.779cfep-4 +0x1.a2b002p-1 +0x1.e15e9ep-1 +0x1.c5917ap-1 +-0x1.eab47p-1 +0x1.564d5ap-1 +-0x1.068ddep-3 +0x1.11b298p-1 +0x1.c54948p-3 +0x1.08008ep-3 +0x1.ccad7cp-4 +0x1.0d9a74p-2 +0x1.b12186p-3 +0x1.9a0be4p-1 +-0x1.58ffc8p-4 +0x1.802e2ap-2 +0x1.40d8d6p-3 +-0x1.970408p-1 +-0x1.930bdp-1 +-0x1.dc2a3p-3 +-0x1.a51098p-3 +-0x1.bca5eap-4 +-0x1.4c97f2p-3 +0x1.9ec046p-2 +-0x1.bf8f7cp-2 +0x1.f27b9ep-2 +-0x1.26f5dap-2 +-0x1.bf469ap-6 +0x1.9105ep-1 +-0x1.1069eap-1 +0x1.925da6p-4 +-0x1.bf3118p-1 +-0x1.21704cp-1 +-0x1.128c48p-3 +0x1.df6d9ep-2 +-0x1.1d8da2p-1 +-0x1.898b68p-1 +0x1.4f261cp-1 +0x1.e516aep-5 +0x1.00755cp-2 +-0x1.f4599p-2 +0x1.2f7f5ap-2 +-0x1.ea5f1ap-1 +-0x1.d8ac8cp-6 +-0x1.84a67cp-1 +0x1.dcd748p-1 +-0x1.32bcap-4 +0x1.a9a27ap-4 +-0x1.9d5db8p-1 +0x1.e3458p-1 +0x1.e8d24ep-6 +-0x1.63966ap-2 +-0x1.79e9ccp-2 +-0x1.650482p-1 +0x1.6a2b6ep-5 +0x1.206bb8p-1 +-0x1.d6fe34p-2 +0x1.2bcbbcp-1 +0x1.7eaad6p-1 +-0x1.fb997ep-1 +0x1.180e4ap-4 +-0x1.7895acp-2 +0x1.c4b296p-1 +0x1.de5a8cp-1 +0x1.cee88p-2 +0x1.560696p-3 +-0x1.eae7c8p-2 +0x1.ee5de6p-1 +-0x1.69d7d6p-4 +-0x1.1ec2cap-4 +-0x1.b7d8d4p-2 +0x1.e2a8b2p-1 +0x1.576682p-1 +-0x1.21dda6p-3 +0x1.d396d8p-4 +-0x1.0d8292p-2 +0x1.7ed824p-9 +-0x1.91626ep-1 +0x1.76d8bp-1 +0x1.e39884p-1 +0x1.a135f6p-1 +-0x1.3d069ep-1 +0x1.2c11c4p-1 +0x1.7900dep-1 +0x1.0ae9e2p-4 +-0x1.13b894p-1 +-0x1.5cb688p-7 +0x1.91ec84p-2 +0x1.694ddep-6 +-0x1.398efp-1 +-0x1.8886dep-1 +-0x1.eca37ap-6 +-0x1.5aab5cp-7 +-0x1.013774p-1 +0x1.8bcb4p-1 +0x1.b6c0dap-2 +0x1.db71fp-3 +0x1.f802ecp-1 +-0x1.a89dd2p-1 +0x1.a65da2p-3 +-0x1.cc22ccp-8 +0x1.fd1108p-5 +0x1.7eb01cp-2 +0x1.cb91d6p-3 +0x1.e7fa4cp-1 +0x1.38e93ep-3 +0x1.d0d974p-3 +-0x1.c66866p-2 +0x1.c62694p-1 +-0x1.ac41f4p-4 +0x1.177ee4p-1 +-0x1.4fadb6p-2 +-0x1.d9a11ap-5 +-0x1.6a8e74p-1 +0x1.8793a8p-4 +0x1.692428p-2 +-0x1.eb454p-1 +-0x1.446fbep-2 +-0x1.05c5ecp-3 +-0x1.9b0ecp-2 +0x1.f6acbep-1 +-0x1.3479a2p-1 +-0x1.21730ap-3 +0x1.5acbb4p-6 +-0x1.8fddcep-2 +0x1.1d3cbp-1 +-0x1.da3892p-1 +0x1.021e3p-2 +-0x1.46686ap-4 +0x1.0673acp-3 +-0x1.db8682p-3 +0x1.deb208p-3 +0x1.357606p-4 +-0x1.a56c98p-6 +0x1.b5f89ep-1 +-0x1.8c17cap-3 +-0x1.65d8d8p-3 +0x1.9222ecp-3 +0x1.2e4afcp-3 +0x1.6b705cp-1 +0x1.bbf77ep-6 +-0x1.8adbc6p-2 +0x1.433f6ap-2 +-0x1.d6ae58p-1 +0x1.67bc66p-2 +-0x1.242ca2p-1 +0x1.f1131ep-1 +0x1.aed728p-1 +0x1.daa8d6p-8 +0x1.b9a9b4p-5 +0x1.d80ae2p-1 +0x1.4d5612p-2 +-0x1.c7440cp-1 +0x1.575c8p-1 +0x1.ab0998p-3 +0x1.1ab062p-2 +0x1.2e364p-3 +-0x1.1a0c56p-1 +0x1.4d4cd2p-3 +0x1.6802fap-1 +0x1.4574dp-1 +-0x1.a79d78p-2 +0x1.00924cp-1 +-0x1.b1bce4p-1 +-0x1.2a255ep-2 +0x1.8daa0ap-2 +0x1.1d2dep-1 +-0x1.ee847cp-1 +0x1.966612p-2 +-0x1.677cc4p-4 +0x1.ab8bb4p-5 +0x1.52db6ap-1 +0x1.61c88p-2 +-0x1.e25128p-1 +0x1.dbc62ep-3 +0x1.8b0d0ap-1 +0x1.6d10f4p-1 +-0x1.a572bcp-2 +0x1.46902ep-4 +0x1.9f2472p-3 +-0x1.583018p-2 +0x1.2e16eap-3 +-0x1.eb2c5ep-1 +-0x1.5b97fap-1 +0x1.e09b72p-2 +0x1.8508a6p-3 +-0x1.87b252p-9 +0x1.36c3f4p-1 +-0x1.20a06ep-4 +-0x1.031486p-2 +0x1.ddfb98p-2 +0x1.1cb62cp-2 +-0x1.3bac38p-2 +-0x1.a150a8p-3 +0x1.08933ep-1 +-0x1.77306ap-1 +-0x1.2a7a5cp-2 +0x1.4a0fcp-1 +0x1.71facep-4 +0x1.f651dcp-1 +0x1.4b9d96p-1 +0x1.615c78p-1 +0x1.5d42p-3 +-0x1.44fae2p-1 +0x1.88e8eep-1 +-0x1.171286p-7 +0x1.4ee89cp-3 From patchwork Wed Nov 24 19:37:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48084 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6FFB03857C51 for ; Wed, 24 Nov 2021 19:57:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6FFB03857C51 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783842; bh=OcG/6JFSZJ7/t91ryvBDU5H45C72XQBZ9q0uISZw6JU=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=apVrSF+QDvfWaz6hXin4fiGJih3MApldrIqEvA/J0QSKFx2S9sNQDv1SfbvEhZllV T4HqiRt1yJgJ9y9jgawm2GX3939gmeZdD6/8scvdkhDQdy8P8AsF42RFGqfXKlImZF 2LS3oKPyhtq9q57fKiW+/SQbG6rTp3uWyUgTZlP0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 3BBBE385803B for ; Wed, 24 Nov 2021 19:38:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3BBBE385803B X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235177330" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235177330" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="571581758" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga004.fm.intel.com with ESMTP; 24 Nov 2021 11:38:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7X2021555; Wed, 24 Nov 2021 11:38:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 15/42] x86-64: Add vector cbrt/cbrtf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:40 -0800 Message-Id: <20211124193807.2093208-16-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized cbrt/cbrtf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector cbrt/cbrtf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_cbrt2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_cbrt2_core.c | 27 + .../fpu/multiarch/svml_d_cbrt2_core_sse4.S | 2024 +++++++++++++++++ .../fpu/multiarch/svml_d_cbrt4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_cbrt4_core.c | 27 + .../fpu/multiarch/svml_d_cbrt4_core_avx2.S | 1798 +++++++++++++++ .../fpu/multiarch/svml_d_cbrt8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_cbrt8_core.c | 27 + .../fpu/multiarch/svml_d_cbrt8_core_avx512.S | 894 ++++++++ .../fpu/multiarch/svml_s_cbrtf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_cbrtf16_core.c | 28 + .../multiarch/svml_s_cbrtf16_core_avx512.S | 1002 ++++++++ .../fpu/multiarch/svml_s_cbrtf4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_cbrtf4_core.c | 28 + .../fpu/multiarch/svml_s_cbrtf4_core_sse4.S | 1862 +++++++++++++++ .../fpu/multiarch/svml_s_cbrtf8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_cbrtf8_core.c | 28 + .../fpu/multiarch/svml_s_cbrtf8_core_avx2.S | 1685 ++++++++++++++ sysdeps/x86_64/fpu/svml_d_cbrt2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_cbrt4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_cbrt4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_cbrt8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_cbrtf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_cbrtf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_cbrtf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_cbrtf8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-cbrt-avx.c | 1 + .../fpu/test-double-libmvec-cbrt-avx2.c | 1 + .../fpu/test-double-libmvec-cbrt-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-cbrt.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-cbrtf-avx.c | 1 + .../fpu/test-float-libmvec-cbrtf-avx2.c | 1 + .../fpu/test-float-libmvec-cbrtf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-cbrtf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 9833 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_cbrt2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_cbrt4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_cbrt4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_cbrt8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_cbrtf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_cbrtf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_cbrtf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_cbrtf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-cbrt.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-cbrtf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 591f0850ca..b282298fe3 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -175,4 +175,15 @@ #define __DECL_SIMD_atanhf32x #define __DECL_SIMD_atanhf64x #define __DECL_SIMD_atanhf128x + +#define __DECL_SIMD_cbrt +#define __DECL_SIMD_cbrtf +#define __DECL_SIMD_cbrtl +#define __DECL_SIMD_cbrtf16 +#define __DECL_SIMD_cbrtf32 +#define __DECL_SIMD_cbrtf64 +#define __DECL_SIMD_cbrtf128 +#define __DECL_SIMD_cbrtf32x +#define __DECL_SIMD_cbrtf64x +#define __DECL_SIMD_cbrtf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index be18431fd4..180e81e678 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -149,7 +149,7 @@ __MATHCALL (hypot,, (_Mdouble_ __x, _Mdouble_ __y)); #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 /* Return the cube root of X. */ -__MATHCALL (cbrt,, (_Mdouble_ __x)); +__MATHCALL_VEC (cbrt,, (_Mdouble_ __x)); #endif diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 54489301ac..1cf8e91ffb 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -52,6 +52,7 @@ GLIBC_2.35 _ZGVbN2v_asin F GLIBC_2.35 _ZGVbN2v_asinh F GLIBC_2.35 _ZGVbN2v_atan F GLIBC_2.35 _ZGVbN2v_atanh F +GLIBC_2.35 _ZGVbN2v_cbrt F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F @@ -59,6 +60,7 @@ GLIBC_2.35 _ZGVbN4v_asinf F GLIBC_2.35 _ZGVbN4v_asinhf F GLIBC_2.35 _ZGVbN4v_atanf F GLIBC_2.35 _ZGVbN4v_atanhf F +GLIBC_2.35 _ZGVbN4v_cbrtf F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F @@ -66,6 +68,7 @@ GLIBC_2.35 _ZGVcN4v_asin F GLIBC_2.35 _ZGVcN4v_asinh F GLIBC_2.35 _ZGVcN4v_atan F GLIBC_2.35 _ZGVcN4v_atanh F +GLIBC_2.35 _ZGVcN4v_cbrt F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F @@ -73,6 +76,7 @@ GLIBC_2.35 _ZGVcN8v_asinf F GLIBC_2.35 _ZGVcN8v_asinhf F GLIBC_2.35 _ZGVcN8v_atanf F GLIBC_2.35 _ZGVcN8v_atanhf F +GLIBC_2.35 _ZGVcN8v_cbrtf F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F @@ -80,6 +84,7 @@ GLIBC_2.35 _ZGVdN4v_asin F GLIBC_2.35 _ZGVdN4v_asinh F GLIBC_2.35 _ZGVdN4v_atan F GLIBC_2.35 _ZGVdN4v_atanh F +GLIBC_2.35 _ZGVdN4v_cbrt F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F @@ -87,6 +92,7 @@ GLIBC_2.35 _ZGVdN8v_asinf F GLIBC_2.35 _ZGVdN8v_asinhf F GLIBC_2.35 _ZGVdN8v_atanf F GLIBC_2.35 _ZGVdN8v_atanhf F +GLIBC_2.35 _ZGVdN8v_cbrtf F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F @@ -94,6 +100,7 @@ GLIBC_2.35 _ZGVeN16v_asinf F GLIBC_2.35 _ZGVeN16v_asinhf F GLIBC_2.35 _ZGVeN16v_atanf F GLIBC_2.35 _ZGVeN16v_atanhf F +GLIBC_2.35 _ZGVeN16v_cbrtf F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F @@ -101,4 +108,5 @@ GLIBC_2.35 _ZGVeN8v_asin F GLIBC_2.35 _ZGVeN8v_asinh F GLIBC_2.35 _ZGVeN8v_atan F GLIBC_2.35 _ZGVeN8v_atanh F +GLIBC_2.35 _ZGVeN8v_cbrt F GLIBC_2.35 _ZGVeN8vv_atan2 F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index 753b6ff9d1..5b0a2d9efe 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -86,6 +86,10 @@ # define __DECL_SIMD_atanh __DECL_SIMD_x86_64 # undef __DECL_SIMD_atanhf # define __DECL_SIMD_atanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrt +# define __DECL_SIMD_cbrt __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrtf +# define __DECL_SIMD_cbrtf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index fbbf2e6a9a..465c0902fa 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -29,6 +29,7 @@ libmvec-funcs = \ atan \ atan2 \ atanh \ + cbrt \ cos \ exp \ log \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index f80889e3b5..45baab6b6e 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -20,6 +20,7 @@ libmvec { _ZGVbN2v_asinh; _ZGVcN4v_asinh; _ZGVdN4v_asinh; _ZGVeN8v_asinh; _ZGVbN2v_atan; _ZGVcN4v_atan; _ZGVdN4v_atan; _ZGVeN8v_atan; _ZGVbN2v_atanh; _ZGVcN4v_atanh; _ZGVdN4v_atanh; _ZGVeN8v_atanh; + _ZGVbN2v_cbrt; _ZGVcN4v_cbrt; _ZGVdN4v_cbrt; _ZGVeN8v_cbrt; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; @@ -27,6 +28,7 @@ libmvec { _ZGVbN4v_asinhf; _ZGVcN8v_asinhf; _ZGVdN8v_asinhf; _ZGVeN16v_asinhf; _ZGVbN4v_atanf; _ZGVcN8v_atanf; _ZGVdN8v_atanf; _ZGVeN16v_atanf; _ZGVbN4v_atanhf; _ZGVcN8v_atanhf; _ZGVdN8v_atanhf; _ZGVeN16v_atanhf; + _ZGVbN4v_cbrtf; _ZGVcN8v_cbrtf; _ZGVdN8v_cbrtf; _ZGVeN16v_cbrtf; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 30ac652738..8b681ed441 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -660,6 +660,26 @@ float: 1 float128: 1 ldouble: 1 +Function: "cbrt_vlen16": +float: 1 + +Function: "cbrt_vlen2": +double: 1 + +Function: "cbrt_vlen4": +double: 1 +float: 2 + +Function: "cbrt_vlen4_avx2": +double: 1 + +Function: "cbrt_vlen8": +double: 1 +float: 2 + +Function: "cbrt_vlen8_avx2": +float: 2 + Function: Real part of "ccos": double: 1 float: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core-sse2.S new file mode 100644 index 0000000000..60f4c46a11 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized cbrt, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_cbrt _ZGVbN2v_cbrt_sse2 +#include "../svml_d_cbrt2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core.c new file mode 100644 index 0000000000..07390b7150 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized cbrt, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_cbrt +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_cbrt, __GI__ZGVbN2v_cbrt, __redirect__ZGVbN2v_cbrt) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core_sse4.S new file mode 100644 index 0000000000..7070f1373b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core_sse4.S @@ -0,0 +1,2024 @@ +/* Function cbrt vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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 + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_cbrt_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm4 + +/* Get iX - high part of argument */ + pshufd $221, %xmm4, %xmm6 + +/* Load 1/(1+iRcpIndex/32+1/64) reciprocal table value */ + lea __svml_dcbrt_data_internal(%rip), %rax + +/* If the exponent field is zero - go to callout to process denormals */ + movq 2048+__svml_dcbrt_data_internal(%rip), %xmm0 + movq 2240+__svml_dcbrt_data_internal(%rip), %xmm7 + pand %xmm6, %xmm0 + movq 2304+__svml_dcbrt_data_internal(%rip), %xmm3 + psubd %xmm7, %xmm0 + +/* Calculate CbrtIndex */ + movaps %xmm4, %xmm7 + pcmpgtd %xmm3, %xmm0 + psrlq $52, %xmm7 + movmskps %xmm0, %edx + pand 1856+__svml_dcbrt_data_internal(%rip), %xmm7 + movdqu 1920+__svml_dcbrt_data_internal(%rip), %xmm0 + pmuludq %xmm7, %xmm0 + +/* Calculate Rcp table index */ + movq 1984+__svml_dcbrt_data_internal(%rip), %xmm2 + pand %xmm6, %xmm2 + +/* Compute 2^k */ + psrld $20, %xmm6 + psrld $12, %xmm2 + pshufd $1, %xmm2, %xmm1 + movd %xmm1, %r8d + pshufd $136, %xmm0, %xmm1 + psrld $14, %xmm1 + pshufd $136, %xmm7, %xmm7 + movdqa %xmm1, %xmm0 + psubd %xmm1, %xmm7 + paddd %xmm1, %xmm0 + psubd %xmm0, %xmm7 + +/* + * Declarations + * Load constants + */ + movq 2112+__svml_dcbrt_data_internal(%rip), %xmm5 + pslld $8, %xmm7 + pand %xmm5, %xmm6 + movq 2176+__svml_dcbrt_data_internal(%rip), %xmm5 + movd %xmm2, %ecx + paddd %xmm7, %xmm2 + por %xmm5, %xmm6 + paddd %xmm1, %xmm6 + +/* Load cbrt(2^j*(1+iRcpIndex/32+1/64)) Hi & Lo values */ + movd %xmm2, %r9d + pslld $20, %xmm6 + pshufd $1, %xmm2, %xmm2 + +/* + * VAND( L, l2k, = l2k, lExpHiMask ); + * Argument reduction Z + */ + movups 1728+__svml_dcbrt_data_internal(%rip), %xmm1 + movd %xmm2, %r10d + andps %xmm4, %xmm1 + pxor %xmm2, %xmm2 + punpckldq %xmm6, %xmm2 + movups 1600+__svml_dcbrt_data_internal(%rip), %xmm6 + andps %xmm4, %xmm6 + orps 1664+__svml_dcbrt_data_internal(%rip), %xmm1 + orps 1536+__svml_dcbrt_data_internal(%rip), %xmm6 + movslq %ecx, %rcx + subpd %xmm6, %xmm1 + movslq %r8d, %r8 + movsd (%rax,%rcx), %xmm3 + +/* Polynomial */ + movups 1088+__svml_dcbrt_data_internal(%rip), %xmm5 + movslq %r9d, %r9 + movhpd (%rax,%r8), %xmm3 + mulpd %xmm1, %xmm3 + mulpd %xmm3, %xmm5 + addpd 1152+__svml_dcbrt_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + addpd 1216+__svml_dcbrt_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + addpd 1280+__svml_dcbrt_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + addpd 1344+__svml_dcbrt_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + movslq %r10d, %r10 + addpd 1408+__svml_dcbrt_data_internal(%rip), %xmm5 + movsd 256(%rax,%r9), %xmm0 + movhpd 256(%rax,%r10), %xmm0 + +/* THi*2^k, TLo*2^k */ + mulpd %xmm2, %xmm0 + mulpd %xmm3, %xmm5 + +/* THi*2^k*Z */ + mulpd %xmm0, %xmm3 + addpd 1472+__svml_dcbrt_data_internal(%rip), %xmm5 + +/* Final reconstruction */ + mulpd %xmm3, %xmm5 + addpd %xmm5, %xmm0 + andl $3, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm4, 192(%rsp) + movups %xmm0, 256(%rsp) + je .LBL_1_2 + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,8), %rdi + lea 256(%rsp,%r12,8), %rsi + call __svml_dcbrt_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_cbrt_sse4) + + .align 16,0x90 + +__svml_dcbrt_cout_rare_internal: + + cfi_startproc + + 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 .FLT_87(%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 + + cfi_endproc + + .type __svml_dcbrt_cout_rare_internal,@function + .size __svml_dcbrt_cout_rare_internal,.-__svml_dcbrt_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dcbrt_data_internal: + .long 528611360 + .long 3220144632 + .long 2884679527 + .long 3220082993 + .long 1991868891 + .long 3220024928 + .long 2298714891 + .long 3219970134 + .long 58835168 + .long 3219918343 + .long 3035110223 + .long 3219869313 + .long 1617585086 + .long 3219822831 + .long 2500867033 + .long 3219778702 + .long 4241943008 + .long 3219736752 + .long 258732970 + .long 3219696825 + .long 404232216 + .long 3219658776 + .long 2172167368 + .long 3219622476 + .long 1544257904 + .long 3219587808 + .long 377579543 + .long 3219554664 + .long 1616385542 + .long 3219522945 + .long 813783277 + .long 3219492562 + .long 3940743189 + .long 3219463431 + .long 2689777499 + .long 3219435478 + .long 1700977147 + .long 3219408632 + .long 3169102082 + .long 3219382828 + .long 327235604 + .long 3219358008 + .long 1244336319 + .long 3219334115 + .long 1300311200 + .long 3219311099 + .long 3095471925 + .long 3219288912 + .long 2166487928 + .long 3219267511 + .long 2913108253 + .long 3219246854 + .long 293672978 + .long 3219226904 + .long 288737297 + .long 3219207624 + .long 1810275472 + .long 3219188981 + .long 174592167 + .long 3219170945 + .long 3539053052 + .long 3219153485 + .long 2164392968 + .long 3219136576 + .long 572345495 + .long 1072698681 + .long 1998204467 + .long 1072709382 + .long 3861501553 + .long 1072719872 + .long 2268192434 + .long 1072730162 + .long 2981979308 + .long 1072740260 + .long 270859143 + .long 1072750176 + .long 2958651392 + .long 1072759916 + .long 313113243 + .long 1072769490 + .long 919449400 + .long 1072778903 + .long 2809328903 + .long 1072788162 + .long 2222981587 + .long 1072797274 + .long 2352530781 + .long 1072806244 + .long 594152517 + .long 1072815078 + .long 1555767199 + .long 1072823780 + .long 4282421314 + .long 1072832355 + .long 2355578597 + .long 1072840809 + .long 1162590619 + .long 1072849145 + .long 797864051 + .long 1072857367 + .long 431273680 + .long 1072865479 + .long 2669831148 + .long 1072873484 + .long 733477752 + .long 1072881387 + .long 4280220604 + .long 1072889189 + .long 801961634 + .long 1072896896 + .long 2915370760 + .long 1072904508 + .long 1159613482 + .long 1072912030 + .long 2689944798 + .long 1072919463 + .long 1248687822 + .long 1072926811 + .long 2967951030 + .long 1072934075 + .long 630170432 + .long 1072941259 + .long 3760898254 + .long 1072948363 + .long 0 + .long 1072955392 + .long 2370273294 + .long 1072962345 + .long 1261754802 + .long 1072972640 + .long 546334065 + .long 1072986123 + .long 1054893830 + .long 1072999340 + .long 1571187597 + .long 1073012304 + .long 1107975175 + .long 1073025027 + .long 3606909377 + .long 1073037519 + .long 1113616747 + .long 1073049792 + .long 4154744632 + .long 1073061853 + .long 3358931423 + .long 1073073713 + .long 4060702372 + .long 1073085379 + .long 747576176 + .long 1073096860 + .long 3023138255 + .long 1073108161 + .long 1419988548 + .long 1073119291 + .long 1914185305 + .long 1073130255 + .long 294389948 + .long 1073141060 + .long 3761802570 + .long 1073151710 + .long 978281566 + .long 1073162213 + .long 823148820 + .long 1073172572 + .long 2420954441 + .long 1073182792 + .long 3815449908 + .long 1073192878 + .long 2046058587 + .long 1073202835 + .long 1807524753 + .long 1073212666 + .long 2628681401 + .long 1073222375 + .long 3225667357 + .long 1073231966 + .long 1555307421 + .long 1073241443 + .long 3454043099 + .long 1073250808 + .long 1208137896 + .long 1073260066 + .long 3659916772 + .long 1073269218 + .long 1886261264 + .long 1073278269 + .long 3593647839 + .long 1073287220 + .long 3086012205 + .long 1073296075 + .long 2769796922 + .long 1073304836 + .long 888716057 + .long 1073317807 + .long 2201465623 + .long 1073334794 + .long 164369365 + .long 1073351447 + .long 3462666733 + .long 1073367780 + .long 2773905457 + .long 1073383810 + .long 1342879088 + .long 1073399550 + .long 2543933975 + .long 1073415012 + .long 1684477781 + .long 1073430209 + .long 3532178543 + .long 1073445151 + .long 1147747300 + .long 1073459850 + .long 1928031793 + .long 1073474314 + .long 2079717015 + .long 1073488553 + .long 4016765315 + .long 1073502575 + .long 3670431139 + .long 1073516389 + .long 3549227225 + .long 1073530002 + .long 11637607 + .long 1073543422 + .long 588220169 + .long 1073556654 + .long 2635407503 + .long 1073569705 + .long 2042029317 + .long 1073582582 + .long 1925128962 + .long 1073595290 + .long 4136375664 + .long 1073607834 + .long 759964600 + .long 1073620221 + .long 4257606771 + .long 1073632453 + .long 297278907 + .long 1073644538 + .long 3655053093 + .long 1073656477 + .long 2442253172 + .long 1073668277 + .long 1111876799 + .long 1073679941 + .long 3330973139 + .long 1073691472 + .long 3438879452 + .long 1073702875 + .long 3671565478 + .long 1073714153 + .long 1317849547 + .long 1073725310 + .long 1642364115 + .long 1073736348 + .long 1553778919 + .long 3213899486 + .long 1553778919 + .long 3213899486 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3582521621 + .long 1066628362 + .long 3582521621 + .long 1066628362 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1646371399 + .long 3214412045 + .long 1646371399 + .long 3214412045 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 889629714 + .long 1067378449 + .long 889629714 + .long 1067378449 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3534952507 + .long 3215266280 + .long 3534952507 + .long 3215266280 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1007461464 + .long 1068473053 + .long 1007461464 + .long 1068473053 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 477218588 + .long 3216798151 + .long 477218588 + .long 3216798151 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431655765 + .long 1070945621 + .long 1431655765 + .long 1070945621 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3220193280 + .long 0 + .long 3220193280 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1032192 + .long 0 + .long 1032192 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3220176896 + .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 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 4293918720 + .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 2047 + .long 0 + .long 2047 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 5462 + .long 0 + .long 5462 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1015808 + .long 1015808 + .long 1015808 + .long 1015808 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2048 + .long 2048 + .long 2048 + .long 2048 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 682 + .long 682 + .long 682 + .long 682 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2148532224 + .long 2148532224 + .long 2148532224 + .long 2148532224 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4292870143 + .long 4292870143 + .long 4292870143 + .long 4292870143 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_dcbrt_data_internal,@object + .size __svml_dcbrt_data_internal,2368 + .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 + +.FLT_87: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_87,@object + .size .FLT_87,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core-sse.S new file mode 100644 index 0000000000..3b54f31fbc --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized cbrt, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_cbrt _ZGVdN4v_cbrt_sse_wrapper +#include "../svml_d_cbrt4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core.c new file mode 100644 index 0000000000..0b135877aa --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized cbrt, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_cbrt +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_cbrt, __GI__ZGVdN4v_cbrt, __redirect__ZGVdN4v_cbrt) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core_avx2.S new file mode 100644 index 0000000000..df25b6e1fb --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core_avx2.S @@ -0,0 +1,1798 @@ +/* Function cbrt vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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 + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_cbrt_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* Load 1/(1+iRcpIndex/32+1/64) reciprocal table value */ + lea __svml_dcbrt_data_internal(%rip), %rax + vmovapd %ymm0, %ymm5 + vmovups %ymm10, 160(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm9, 96(%rsp) + +/* + * Declarations + * Load constants + * Get iX - high part of argument + */ + vextractf128 $1, %ymm5, %xmm6 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +/* Calculate CbrtIndex */ + vpsrlq $52, %ymm5, %ymm10 + vshufps $221, %xmm6, %xmm5, %xmm4 + +/* Calculate Rcp table index */ + vandps 1984+__svml_dcbrt_data_internal(%rip), %xmm4, %xmm1 + vpsrld $12, %xmm1, %xmm3 + vmovd %xmm3, %ecx + +/* If the exponent field is zero - go to callout to process denormals */ + vandps 2048+__svml_dcbrt_data_internal(%rip), %xmm4, %xmm7 + +/* Compute 2^k */ + vpsrld $20, %xmm4, %xmm4 + vpsubd 2240+__svml_dcbrt_data_internal(%rip), %xmm7, %xmm0 + vandps 1856+__svml_dcbrt_data_internal(%rip), %ymm10, %ymm11 + vpextrd $2, %xmm3, %r9d + vpmuludq 1920+__svml_dcbrt_data_internal(%rip), %ymm11, %ymm13 + movslq %ecx, %rcx + vpextrd $1, %xmm3, %r8d + movslq %r9d, %r9 + vpextrd $3, %xmm3, %r10d + movslq %r8d, %r8 + movslq %r10d, %r10 + vmovsd (%rax,%rcx), %xmm6 + vmovsd (%rax,%r9), %xmm8 + vmovhpd (%rax,%r8), %xmm6, %xmm7 + vpcmpgtd 2304+__svml_dcbrt_data_internal(%rip), %xmm0, %xmm2 + vmovhpd (%rax,%r10), %xmm8, %xmm9 + vmovmskps %xmm2, %edx + vandpd 1600+__svml_dcbrt_data_internal(%rip), %ymm5, %ymm10 + vextractf128 $1, %ymm13, %xmm14 + vshufps $136, %xmm14, %xmm13, %xmm15 + vpsrld $14, %xmm15, %xmm1 + +/* Polynomial */ + vmovupd 1088+__svml_dcbrt_data_internal(%rip), %ymm15 + vextractf128 $1, %ymm11, %xmm12 + vshufps $136, %xmm12, %xmm11, %xmm0 + vpsubd %xmm1, %xmm0, %xmm6 + vorpd 1536+__svml_dcbrt_data_internal(%rip), %ymm10, %ymm12 + vinsertf128 $1, %xmm9, %ymm7, %ymm2 + vpaddd %xmm1, %xmm1, %xmm7 + vpsubd %xmm7, %xmm6, %xmm8 + vpslld $8, %xmm8, %xmm9 + vpaddd %xmm9, %xmm3, %xmm6 + +/* + * VAND( L, l2k, = l2k, lExpHiMask ); + * Argument reduction Z + */ + vandpd 1728+__svml_dcbrt_data_internal(%rip), %ymm5, %ymm9 + vorpd 1664+__svml_dcbrt_data_internal(%rip), %ymm9, %ymm11 + vsubpd %ymm12, %ymm11, %ymm13 + +/* Load cbrt(2^j*(1+iRcpIndex/32+1/64)) Hi & Lo values */ + vmovd %xmm6, %r11d + vmulpd %ymm13, %ymm2, %ymm2 + vfmadd213pd 1152+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm15 + movslq %r11d, %r11 + vpextrd $1, %xmm6, %ecx + vfmadd213pd 1216+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm15 + vmovsd 256(%rax,%r11), %xmm3 + vpextrd $2, %xmm6, %r8d + movslq %ecx, %rcx + movslq %r8d, %r8 + vpextrd $3, %xmm6, %r9d + movslq %r9d, %r9 + vmovhpd 256(%rax,%rcx), %xmm3, %xmm0 + vfmadd213pd 1280+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm15 + vmovsd 256(%rax,%r8), %xmm3 + vmovhpd 256(%rax,%r9), %xmm3, %xmm7 + vpand 2112+__svml_dcbrt_data_internal(%rip), %xmm4, %xmm3 + vpor 2176+__svml_dcbrt_data_internal(%rip), %xmm3, %xmm4 + vfmadd213pd 1344+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm15 + vpaddd %xmm1, %xmm4, %xmm1 + vpslld $20, %xmm1, %xmm6 + vfmadd213pd 1408+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm15 + vfmadd213pd 1472+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm15 + vinsertf128 $1, %xmm7, %ymm0, %ymm0 + vmovups __VUNPACK_ODD_ind1.217.0.2(%rip), %ymm7 + vpermps %ymm6, %ymm7, %ymm8 + vandps __VUNPACK_ODD_mask.217.0.2(%rip), %ymm8, %ymm14 + +/* THi*2^k, TLo*2^k */ + vmulpd %ymm14, %ymm0, %ymm1 + +/* THi*2^k*Z */ + vmulpd %ymm1, %ymm2, %ymm0 + +/* Final reconstruction */ + vmulpd %ymm0, %ymm15, %ymm0 + vaddpd %ymm0, %ymm1, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm5, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dcbrt_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_cbrt_avx2) + .section .rodata, "a" + .align 64 + +__VUNPACK_ODD_ind1.217.0.2: + .long 0 + .long 0 + .long 0 + .long 1 + .long 0 + .long 2 + .long 0 + .long 3 + .space 32, 0x00 + .align 64 + +__VUNPACK_ODD_mask.217.0.2: + .long 0 + .long -1 + .long 0 + .long -1 + .long 0 + .long -1 + .long 0 + .long -1 + + .text + + .align 16,0x90 + +__svml_dcbrt_cout_rare_internal: + + cfi_startproc + + 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 .FLT_87(%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 + + cfi_endproc + + .type __svml_dcbrt_cout_rare_internal,@function + .size __svml_dcbrt_cout_rare_internal,.-__svml_dcbrt_cout_rare_internal + + .section .rodata, "a" + .space 32, 0x00 + .align 64 + +__svml_dcbrt_data_internal: + .long 528611360 + .long 3220144632 + .long 2884679527 + .long 3220082993 + .long 1991868891 + .long 3220024928 + .long 2298714891 + .long 3219970134 + .long 58835168 + .long 3219918343 + .long 3035110223 + .long 3219869313 + .long 1617585086 + .long 3219822831 + .long 2500867033 + .long 3219778702 + .long 4241943008 + .long 3219736752 + .long 258732970 + .long 3219696825 + .long 404232216 + .long 3219658776 + .long 2172167368 + .long 3219622476 + .long 1544257904 + .long 3219587808 + .long 377579543 + .long 3219554664 + .long 1616385542 + .long 3219522945 + .long 813783277 + .long 3219492562 + .long 3940743189 + .long 3219463431 + .long 2689777499 + .long 3219435478 + .long 1700977147 + .long 3219408632 + .long 3169102082 + .long 3219382828 + .long 327235604 + .long 3219358008 + .long 1244336319 + .long 3219334115 + .long 1300311200 + .long 3219311099 + .long 3095471925 + .long 3219288912 + .long 2166487928 + .long 3219267511 + .long 2913108253 + .long 3219246854 + .long 293672978 + .long 3219226904 + .long 288737297 + .long 3219207624 + .long 1810275472 + .long 3219188981 + .long 174592167 + .long 3219170945 + .long 3539053052 + .long 3219153485 + .long 2164392968 + .long 3219136576 + .long 572345495 + .long 1072698681 + .long 1998204467 + .long 1072709382 + .long 3861501553 + .long 1072719872 + .long 2268192434 + .long 1072730162 + .long 2981979308 + .long 1072740260 + .long 270859143 + .long 1072750176 + .long 2958651392 + .long 1072759916 + .long 313113243 + .long 1072769490 + .long 919449400 + .long 1072778903 + .long 2809328903 + .long 1072788162 + .long 2222981587 + .long 1072797274 + .long 2352530781 + .long 1072806244 + .long 594152517 + .long 1072815078 + .long 1555767199 + .long 1072823780 + .long 4282421314 + .long 1072832355 + .long 2355578597 + .long 1072840809 + .long 1162590619 + .long 1072849145 + .long 797864051 + .long 1072857367 + .long 431273680 + .long 1072865479 + .long 2669831148 + .long 1072873484 + .long 733477752 + .long 1072881387 + .long 4280220604 + .long 1072889189 + .long 801961634 + .long 1072896896 + .long 2915370760 + .long 1072904508 + .long 1159613482 + .long 1072912030 + .long 2689944798 + .long 1072919463 + .long 1248687822 + .long 1072926811 + .long 2967951030 + .long 1072934075 + .long 630170432 + .long 1072941259 + .long 3760898254 + .long 1072948363 + .long 0 + .long 1072955392 + .long 2370273294 + .long 1072962345 + .long 1261754802 + .long 1072972640 + .long 546334065 + .long 1072986123 + .long 1054893830 + .long 1072999340 + .long 1571187597 + .long 1073012304 + .long 1107975175 + .long 1073025027 + .long 3606909377 + .long 1073037519 + .long 1113616747 + .long 1073049792 + .long 4154744632 + .long 1073061853 + .long 3358931423 + .long 1073073713 + .long 4060702372 + .long 1073085379 + .long 747576176 + .long 1073096860 + .long 3023138255 + .long 1073108161 + .long 1419988548 + .long 1073119291 + .long 1914185305 + .long 1073130255 + .long 294389948 + .long 1073141060 + .long 3761802570 + .long 1073151710 + .long 978281566 + .long 1073162213 + .long 823148820 + .long 1073172572 + .long 2420954441 + .long 1073182792 + .long 3815449908 + .long 1073192878 + .long 2046058587 + .long 1073202835 + .long 1807524753 + .long 1073212666 + .long 2628681401 + .long 1073222375 + .long 3225667357 + .long 1073231966 + .long 1555307421 + .long 1073241443 + .long 3454043099 + .long 1073250808 + .long 1208137896 + .long 1073260066 + .long 3659916772 + .long 1073269218 + .long 1886261264 + .long 1073278269 + .long 3593647839 + .long 1073287220 + .long 3086012205 + .long 1073296075 + .long 2769796922 + .long 1073304836 + .long 888716057 + .long 1073317807 + .long 2201465623 + .long 1073334794 + .long 164369365 + .long 1073351447 + .long 3462666733 + .long 1073367780 + .long 2773905457 + .long 1073383810 + .long 1342879088 + .long 1073399550 + .long 2543933975 + .long 1073415012 + .long 1684477781 + .long 1073430209 + .long 3532178543 + .long 1073445151 + .long 1147747300 + .long 1073459850 + .long 1928031793 + .long 1073474314 + .long 2079717015 + .long 1073488553 + .long 4016765315 + .long 1073502575 + .long 3670431139 + .long 1073516389 + .long 3549227225 + .long 1073530002 + .long 11637607 + .long 1073543422 + .long 588220169 + .long 1073556654 + .long 2635407503 + .long 1073569705 + .long 2042029317 + .long 1073582582 + .long 1925128962 + .long 1073595290 + .long 4136375664 + .long 1073607834 + .long 759964600 + .long 1073620221 + .long 4257606771 + .long 1073632453 + .long 297278907 + .long 1073644538 + .long 3655053093 + .long 1073656477 + .long 2442253172 + .long 1073668277 + .long 1111876799 + .long 1073679941 + .long 3330973139 + .long 1073691472 + .long 3438879452 + .long 1073702875 + .long 3671565478 + .long 1073714153 + .long 1317849547 + .long 1073725310 + .long 1642364115 + .long 1073736348 + .long 1553778919 + .long 3213899486 + .long 1553778919 + .long 3213899486 + .long 1553778919 + .long 3213899486 + .long 1553778919 + .long 3213899486 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3582521621 + .long 1066628362 + .long 3582521621 + .long 1066628362 + .long 3582521621 + .long 1066628362 + .long 3582521621 + .long 1066628362 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1646371399 + .long 3214412045 + .long 1646371399 + .long 3214412045 + .long 1646371399 + .long 3214412045 + .long 1646371399 + .long 3214412045 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 889629714 + .long 1067378449 + .long 889629714 + .long 1067378449 + .long 889629714 + .long 1067378449 + .long 889629714 + .long 1067378449 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3534952507 + .long 3215266280 + .long 3534952507 + .long 3215266280 + .long 3534952507 + .long 3215266280 + .long 3534952507 + .long 3215266280 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1007461464 + .long 1068473053 + .long 1007461464 + .long 1068473053 + .long 1007461464 + .long 1068473053 + .long 1007461464 + .long 1068473053 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 477218588 + .long 3216798151 + .long 477218588 + .long 3216798151 + .long 477218588 + .long 3216798151 + .long 477218588 + .long 3216798151 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431655765 + .long 1070945621 + .long 1431655765 + .long 1070945621 + .long 1431655765 + .long 1070945621 + .long 1431655765 + .long 1070945621 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3220193280 + .long 0 + .long 3220193280 + .long 0 + .long 3220193280 + .long 0 + .long 3220193280 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1032192 + .long 0 + .long 1032192 + .long 0 + .long 1032192 + .long 0 + .long 1032192 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3220176896 + .long 0 + .long 3220176896 + .long 0 + .long 3220176896 + .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 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 4293918720 + .long 0 + .long 4293918720 + .long 0 + .long 4293918720 + .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 + .long 2047 + .long 0 + .long 2047 + .long 0 + .long 2047 + .long 0 + .long 2047 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 5462 + .long 0 + .long 5462 + .long 0 + .long 5462 + .long 0 + .long 5462 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1015808 + .long 1015808 + .long 1015808 + .long 1015808 + .long 1015808 + .long 1015808 + .long 1015808 + .long 1015808 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2048 + .long 2048 + .long 2048 + .long 2048 + .long 2048 + .long 2048 + .long 2048 + .long 2048 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 682 + .long 682 + .long 682 + .long 682 + .long 682 + .long 682 + .long 682 + .long 682 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2148532224 + .long 2148532224 + .long 2148532224 + .long 2148532224 + .long 2148532224 + .long 2148532224 + .long 2148532224 + .long 2148532224 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4292870143 + .long 4292870143 + .long 4292870143 + .long 4292870143 + .long 4292870143 + .long 4292870143 + .long 4292870143 + .long 4292870143 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_dcbrt_data_internal,@object + .size __svml_dcbrt_data_internal,2368 + .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 + +.FLT_87: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_87,@object + .size .FLT_87,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core-avx2.S new file mode 100644 index 0000000000..3831e582ce --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized cbrt, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_cbrt _ZGVeN8v_cbrt_avx2_wrapper +#include "../svml_d_cbrt8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core.c new file mode 100644 index 0000000000..28c147216f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized cbrt, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_cbrt +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_cbrt, __GI__ZGVeN8v_cbrt, __redirect__ZGVeN8v_cbrt) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core_avx512.S new file mode 100644 index 0000000000..3ac24cf192 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core_avx512.S @@ -0,0 +1,894 @@ +/* Function cbrt vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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 + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_cbrt_skx) + 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 + ret + +END(_ZGVeN8v_cbrt_skx) + + .align 16,0x90 + +__svml_dcbrt_cout_rare_internal: + + cfi_startproc + + 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 .FLT_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 + + cfi_endproc + + .type __svml_dcbrt_cout_rare_internal,@function + .size __svml_dcbrt_cout_rare_internal,.-__svml_dcbrt_cout_rare_internal + + .section .rodata, "a" + .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 + +.FLT_81: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_81,@object + .size .FLT_81,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core-avx2.S new file mode 100644 index 0000000000..faa847fba6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized cbrtf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_cbrtf _ZGVeN16v_cbrtf_avx2_wrapper +#include "../svml_s_cbrtf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core.c new file mode 100644 index 0000000000..785a68cc0d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized cbrtf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_cbrtf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_cbrtf, __GI__ZGVeN16v_cbrtf, + __redirect__ZGVeN16v_cbrtf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core_avx512.S new file mode 100644 index 0000000000..56bf792be0 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core_avx512.S @@ -0,0 +1,1002 @@ +/* Function cbrtf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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+.. + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_cbrtf_skx) + 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 + ret + +END(_ZGVeN16v_cbrtf_skx) + + .align 16,0x90 + +__svml_scbrt_cout_rare_internal: + + cfi_startproc + + 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 .FLT_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 .FLT_34(%rip), %xmm4 + mulss %xmm1, %xmm4 + lea 85(%r10), %eax + orl %edi, %eax + xorl %edi, %edi + cmpl $-16777217, %ecx + addss .FLT_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 .FLT_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 + + cfi_endproc + + .type __svml_scbrt_cout_rare_internal,@function + .size __svml_scbrt_cout_rare_internal,.-__svml_scbrt_cout_rare_internal + + .section .rodata, "a" + .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 + +.FLT_28: + .long 0x007fffff + .type .FLT_28,@object + .size .FLT_28,4 + .align 4 + +.FLT_29: + .long 0x007e0000 + .type .FLT_29,@object + .size .FLT_29,4 + .align 4 + +.FLT_30: + .long 0xbf800000 + .type .FLT_30,@object + .size .FLT_30,4 + .align 4 + +.FLT_31: + .long 0xbf820000 + .type .FLT_31,@object + .size .FLT_31,4 + .align 4 + +.FLT_32: + .long 0x3eaaaaab + .type .FLT_32,@object + .size .FLT_32,4 + .align 4 + +.FLT_33: + .long 0xbde38e39 + .type .FLT_33,@object + .size .FLT_33,4 + .align 4 + +.FLT_34: + .long 0x3d7cd6ea + .type .FLT_34,@object + .size .FLT_34,4 + .align 4 + +.FLT_35: + .long 0xbd288f47 + .type .FLT_35,@object + .size .FLT_35,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core-sse2.S new file mode 100644 index 0000000000..76fc254e7a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized cbrtf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_cbrtf _ZGVbN4v_cbrtf_sse2 +#include "../svml_s_cbrtf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core.c new file mode 100644 index 0000000000..564a549b39 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized cbrtf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_cbrtf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_cbrtf, __GI__ZGVbN4v_cbrtf, + __redirect__ZGVbN4v_cbrtf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core_sse4.S new file mode 100644 index 0000000000..f6263e4992 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core_sse4.S @@ -0,0 +1,1862 @@ +/* Function cbrtf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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+.. + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_cbrtf_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm5 + +/* + * Load constants + * Reciprocal index calculation + */ + movaps %xmm5, %xmm2 + +/* Load reciprocal value */ + lea __svml_scbrt_data_internal(%rip), %rdx + movdqu 896+__svml_scbrt_data_internal(%rip), %xmm1 + psrld $16, %xmm2 + pand %xmm2, %xmm1 + +/* Get signed biased exponent */ + psrld $7, %xmm2 + pshufd $1, %xmm1, %xmm3 + movd %xmm1, %eax + pshufd $2, %xmm1, %xmm7 + pshufd $3, %xmm1, %xmm0 + movd %xmm3, %ecx + movd %xmm7, %r8d + movd %xmm0, %r9d + movups 704+__svml_scbrt_data_internal(%rip), %xmm7 + andps %xmm5, %xmm7 + movslq %eax, %rax + movslq %ecx, %rcx + movslq %r8d, %r8 + movslq %r9d, %r9 + movd (%rdx,%rax), %xmm4 + movd (%rdx,%rcx), %xmm6 + punpckldq %xmm6, %xmm4 + movd (%rdx,%r8), %xmm6 + movd (%rdx,%r9), %xmm3 + punpckldq %xmm3, %xmm6 + punpcklqdq %xmm6, %xmm4 + +/* Argument reduction */ + movups 640+__svml_scbrt_data_internal(%rip), %xmm6 + andps %xmm5, %xmm6 + orps 768+__svml_scbrt_data_internal(%rip), %xmm6 + orps 832+__svml_scbrt_data_internal(%rip), %xmm7 + movdqu 1280+__svml_scbrt_data_internal(%rip), %xmm3 + +/* r=y-y` */ + subps %xmm7, %xmm6 + movups %xmm5, (%rsp) + pand %xmm5, %xmm3 + +/* Get absolute biased exponent */ + movdqu 960+__svml_scbrt_data_internal(%rip), %xmm0 + +/* + * Calculate exponent/3 + * i555Exp=(2^{12}-1)/3*exponent + */ + movdqu 1216+__svml_scbrt_data_internal(%rip), %xmm5 + pand %xmm2, %xmm0 + movdqa %xmm5, %xmm7 + psrlq $32, %xmm5 + +/* r=(y-y`)*rcp_table(y`) */ + mulps %xmm6, %xmm4 + movdqa %xmm0, %xmm6 + pmuludq %xmm0, %xmm7 + psrlq $32, %xmm0 + pmuludq %xmm5, %xmm0 + pand .FLT_36(%rip), %xmm7 + psllq $32, %xmm0 + por %xmm0, %xmm7 + psubd 1152+__svml_scbrt_data_internal(%rip), %xmm6 + +/* Get K (exponent=3*k+j) */ + psrld $12, %xmm7 + +/* Get J */ + psubd %xmm7, %xmm6 + psubd %xmm7, %xmm6 + psubd %xmm7, %xmm6 + psubd 1344+__svml_scbrt_data_internal(%rip), %xmm3 + +/* Get 128*J */ + pslld $7, %xmm6 + pcmpgtd 1408+__svml_scbrt_data_internal(%rip), %xmm3 + +/* + * iCbrtIndex=4*l+128*j + * Zero index if callout expected + */ + paddd %xmm6, %xmm1 + movmskps %xmm3, %eax + pandn %xmm1, %xmm3 + +/* Load Cbrt table Hi & Lo values */ + pshufd $1, %xmm3, %xmm1 + +/* + * Add 2/3*(bias-1)+1 to (k+1/3*(bias-1)) + * Attach sign to exponent + */ + movdqu 1088+__svml_scbrt_data_internal(%rip), %xmm0 + movd %xmm3, %r10d + paddd %xmm7, %xmm0 + movd %xmm1, %r11d + pshufd $2, %xmm3, %xmm1 + pshufd $3, %xmm3, %xmm3 + movd %xmm1, %ecx + movd %xmm3, %r8d + +/* Biased exponent-1 */ + pand 1024+__svml_scbrt_data_internal(%rip), %xmm2 + por %xmm2, %xmm0 + movslq %r10d, %r10 + pslld $23, %xmm0 + movslq %r11d, %r11 + movslq %ecx, %rcx + movslq %r8d, %r8 + movd 128(%rdx,%r10), %xmm5 + movd 128(%rdx,%r11), %xmm2 + punpckldq %xmm2, %xmm5 + movd 128(%rdx,%rcx), %xmm6 + movd 128(%rdx,%r8), %xmm2 + punpckldq %xmm2, %xmm6 + punpcklqdq %xmm6, %xmm5 + +/* sCbrtHi *= 2^k */ + mulps %xmm5, %xmm0 + +/* Polynomial: p1+r*(p2*r+r*(p3+r*p4)) */ + movups 512+__svml_scbrt_data_internal(%rip), %xmm5 + mulps %xmm4, %xmm5 + +/* T`*r */ + mulps %xmm0, %xmm4 + addps 576+__svml_scbrt_data_internal(%rip), %xmm5 + +/* (T`*r)*P */ + mulps %xmm4, %xmm5 + movups (%rsp), %xmm1 + +/* + * T`*r*P+D` + * result = T`+(T`*r*P+D`) + */ + addps %xmm5, %xmm0 + testl %eax, %eax + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm1, 192(%rsp) + movups %xmm0, 256(%rsp) + xorl %edx, %edx + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_scbrt_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_cbrtf_sse4) + + .align 16,0x90 + +__svml_scbrt_cout_rare_internal: + + cfi_startproc + + 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 .FLT_44(%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 .FLT_43(%rip), %xmm4 + mulss %xmm1, %xmm4 + lea 85(%r10), %eax + orl %edi, %eax + xorl %edi, %edi + cmpl $-16777217, %ecx + addss .FLT_42(%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 .FLT_41(%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 + + cfi_endproc + + .type __svml_scbrt_cout_rare_internal,@function + .size __svml_scbrt_cout_rare_internal,.-__svml_scbrt_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_scbrt_data_internal: + .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 1065482291 + .long 1065566215 + .long 1065648532 + .long 1065729317 + .long 1065808640 + .long 1065886565 + .long 1065963152 + .long 1066038457 + .long 1066112533 + .long 1066185428 + .long 1066257188 + .long 1066327857 + .long 1066397474 + .long 1066466079 + .long 1066533708 + .long 1066600394 + .long 1066666169 + .long 1066731064 + .long 1066795108 + .long 1066858329 + .long 1066920751 + .long 1066982401 + .long 1067043301 + .long 1067103474 + .long 1067162941 + .long 1067221722 + .long 1067279837 + .long 1067337305 + .long 1067394143 + .long 1067450368 + .long 1067505996 + .long 1067588354 + .long 1067696217 + .long 1067801953 + .long 1067905666 + .long 1068007450 + .long 1068107390 + .long 1068205570 + .long 1068302063 + .long 1068396942 + .long 1068490271 + .long 1068582113 + .long 1068672525 + .long 1068761562 + .long 1068849275 + .long 1068935712 + .long 1069020919 + .long 1069104937 + .long 1069187809 + .long 1069269572 + .long 1069350263 + .long 1069429915 + .long 1069508563 + .long 1069586236 + .long 1069662966 + .long 1069738778 + .long 1069813702 + .long 1069887762 + .long 1069960982 + .long 1070033387 + .long 1070104998 + .long 1070175837 + .long 1070245925 + .long 1070349689 + .long 1070485588 + .long 1070618808 + .long 1070749478 + .long 1070877717 + .long 1071003634 + .long 1071127332 + .long 1071248907 + .long 1071368446 + .long 1071486034 + .long 1071601747 + .long 1071715659 + .long 1071827839 + .long 1071938350 + .long 1072047254 + .long 1072154608 + .long 1072260465 + .long 1072364876 + .long 1072467891 + .long 1072569555 + .long 1072669911 + .long 1072769001 + .long 1072866863 + .long 1072963536 + .long 1073059054 + .long 1073153452 + .long 1073246762 + .long 1073339014 + .long 1073430238 + .long 1073520462 + .long 1073609714 + .long 1073698019 + .long 3185813858 + .long 3185813858 + .long 3185813858 + .long 3185813858 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1051372689 + .long 1051372689 + .long 1051372689 + .long 1051372689 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8257536 + .long 8257536 + .long 8257536 + .long 8257536 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836864 + .long 3212836864 + .long 3212836864 + .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 + .long 3212967936 + .long 3212967936 + .long 3212967936 + .long 3212967936 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 124 + .long 124 + .long 124 + .long 124 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 255 + .long 255 + .long 255 + .long 255 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 256 + .long 256 + .long 256 + .long 256 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 85 + .long 85 + .long 85 + .long 85 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1 + .long 1 + .long 1 + .long 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1365 + .long 1365 + .long 1365 + .long 1365 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2155872256 + .long 2155872256 + .long 2155872256 + .long 2155872256 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4278190079 + .long 4278190079 + .long 4278190079 + .long 4278190079 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_scbrt_data_internal,@object + .size __svml_scbrt_data_internal,1472 + .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 16 + +.FLT_36: + .long 0xffffffff,0x00000000,0xffffffff,0x00000000 + .type .FLT_36,@object + .size .FLT_36,16 + .align 4 + +.FLT_37: + .long 0x007fffff + .type .FLT_37,@object + .size .FLT_37,4 + .align 4 + +.FLT_38: + .long 0x007e0000 + .type .FLT_38,@object + .size .FLT_38,4 + .align 4 + +.FLT_39: + .long 0xbf800000 + .type .FLT_39,@object + .size .FLT_39,4 + .align 4 + +.FLT_40: + .long 0xbf820000 + .type .FLT_40,@object + .size .FLT_40,4 + .align 4 + +.FLT_41: + .long 0x3eaaaaab + .type .FLT_41,@object + .size .FLT_41,4 + .align 4 + +.FLT_42: + .long 0xbde38e39 + .type .FLT_42,@object + .size .FLT_42,4 + .align 4 + +.FLT_43: + .long 0x3d7cd6ea + .type .FLT_43,@object + .size .FLT_43,4 + .align 4 + +.FLT_44: + .long 0xbd288f47 + .type .FLT_44,@object + .size .FLT_44,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core-sse.S new file mode 100644 index 0000000000..8eaa457fa6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized cbrtf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_cbrtf _ZGVdN8v_cbrtf_sse_wrapper +#include "../svml_s_cbrtf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core.c new file mode 100644 index 0000000000..089d28461f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized cbrtf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_cbrtf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_cbrtf, __GI__ZGVdN8v_cbrtf, + __redirect__ZGVdN8v_cbrtf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core_avx2.S new file mode 100644 index 0000000000..8555fd566d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core_avx2.S @@ -0,0 +1,1685 @@ +/* Function cbrtf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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+.. + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_cbrtf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* Load reciprocal value */ + lea __svml_scbrt_data_internal(%rip), %rdx + vmovaps %ymm0, %ymm5 + +/* + * Load constants + * Reciprocal index calculation + */ + vpsrld $16, %ymm5, %ymm3 + vmovups %ymm10, 160(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm15, 320(%rsp) + vpand 896+__svml_scbrt_data_internal(%rip), %ymm3, %ymm4 + vmovd %xmm4, %eax + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vextractf128 $1, %ymm4, %xmm10 + vpextrd $1, %xmm4, %ecx + movslq %eax, %rax + movslq %ecx, %rcx + vmovd %xmm10, %r10d + vmovd (%rdx,%rax), %xmm6 + vmovd (%rdx,%rcx), %xmm7 + vpextrd $2, %xmm10, %eax + vpextrd $3, %xmm10, %ecx + movslq %eax, %rax + movslq %ecx, %rcx + vpextrd $2, %xmm4, %r8d + vpextrd $3, %xmm4, %r9d + vpextrd $1, %xmm10, %r11d + +/* Get signed biased exponent */ + vpsrld $7, %ymm3, %ymm10 + vmovd (%rdx,%rax), %xmm11 + vmovd (%rdx,%rcx), %xmm12 + vpunpckldq %xmm12, %xmm11, %xmm14 + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r10d, %r10 + movslq %r11d, %r11 + +/* Get absolute biased exponent */ + vpand 960+__svml_scbrt_data_internal(%rip), %ymm10, %ymm11 + vmovd (%rdx,%r8), %xmm1 + vmovd (%rdx,%r9), %xmm0 + vmovd (%rdx,%r10), %xmm8 + vmovd (%rdx,%r11), %xmm9 + vpunpckldq %xmm7, %xmm6, %xmm2 + vpunpckldq %xmm0, %xmm1, %xmm6 + vandps 1280+__svml_scbrt_data_internal(%rip), %ymm5, %ymm3 + vpunpckldq %xmm9, %xmm8, %xmm13 + vpsubd 1344+__svml_scbrt_data_internal(%rip), %ymm3, %ymm1 + vpunpcklqdq %xmm6, %xmm2, %xmm7 + vpunpcklqdq %xmm14, %xmm13, %xmm15 + +/* Biased exponent-1 */ + vpand 1024+__svml_scbrt_data_internal(%rip), %ymm10, %ymm14 + +/* Argument reduction */ + vandps 640+__svml_scbrt_data_internal(%rip), %ymm5, %ymm0 + vandps 704+__svml_scbrt_data_internal(%rip), %ymm5, %ymm3 + vorps 768+__svml_scbrt_data_internal(%rip), %ymm0, %ymm6 + +/* + * Calculate exponent/3 + * i555Exp=(2^{12}-1)/3*exponent + */ + vpmulld 1216+__svml_scbrt_data_internal(%rip), %ymm11, %ymm12 + vpcmpgtd 1408+__svml_scbrt_data_internal(%rip), %ymm1, %ymm2 + vmovmskps %ymm2, %eax + vinsertf128 $1, %xmm15, %ymm7, %ymm8 + vorps 832+__svml_scbrt_data_internal(%rip), %ymm3, %ymm7 + +/* r=y-y` */ + vsubps %ymm7, %ymm6, %ymm9 + +/* Get K (exponent=3*k+j) */ + vpsrld $12, %ymm12, %ymm6 + vpsubd 1152+__svml_scbrt_data_internal(%rip), %ymm11, %ymm3 + +/* r=(y-y`)*rcp_table(y`) */ + vmulps %ymm9, %ymm8, %ymm1 + +/* Add 2/3*(bias-1)+1 to (k+1/3*(bias-1)) */ + vpaddd 1088+__svml_scbrt_data_internal(%rip), %ymm6, %ymm13 + +/* Attach sign to exponent */ + vpor %ymm14, %ymm13, %ymm15 + +/* Get J */ + vpsubd %ymm6, %ymm3, %ymm13 + vpslld $23, %ymm15, %ymm0 + vpsubd %ymm6, %ymm13, %ymm14 + vpsubd %ymm6, %ymm14, %ymm7 + +/* Get 128*J */ + vpslld $7, %ymm7, %ymm8 + +/* iCbrtIndex=4*l+128*j */ + vpaddd %ymm8, %ymm4, %ymm4 + +/* Zero index if callout expected */ + vpandn %ymm4, %ymm2, %ymm4 + +/* Load Cbrt table Hi & Lo values */ + vmovd %xmm4, %r8d + vextractf128 $1, %ymm4, %xmm12 + movslq %r8d, %r8 + vpextrd $1, %xmm4, %r9d + vpextrd $3, %xmm4, %ecx + movslq %r9d, %r9 + movslq %ecx, %rcx + vmovd 128(%rdx,%r8), %xmm2 + vmovd %xmm12, %r8d + vmovd 128(%rdx,%r9), %xmm3 + vmovd 128(%rdx,%rcx), %xmm6 + vpextrd $2, %xmm4, %r10d + vpextrd $1, %xmm12, %r9d + vpextrd $2, %xmm12, %r11d + vpextrd $3, %xmm12, %ecx + movslq %r10d, %r10 + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r11d, %r11 + movslq %ecx, %rcx + vpunpckldq %xmm3, %xmm2, %xmm7 + vmovd 128(%rdx,%r10), %xmm2 + vmovd 128(%rdx,%r8), %xmm10 + vmovd 128(%rdx,%r9), %xmm11 + vmovd 128(%rdx,%r11), %xmm13 + vmovd 128(%rdx,%rcx), %xmm14 + vpunpckldq %xmm6, %xmm2, %xmm8 + vpunpckldq %xmm11, %xmm10, %xmm15 + vpunpckldq %xmm14, %xmm13, %xmm4 + vpunpcklqdq %xmm8, %xmm7, %xmm9 + vpunpcklqdq %xmm4, %xmm15, %xmm2 + vinsertf128 $1, %xmm2, %ymm9, %ymm3 + +/* sCbrtHi *= 2^k */ + vmulps %ymm3, %ymm0, %ymm2 + +/* Polynomial: p1+r*(p2*r+r*(p3+r*p4)) */ + vmovups 512+__svml_scbrt_data_internal(%rip), %ymm0 + vfmadd213ps 576+__svml_scbrt_data_internal(%rip), %ymm1, %ymm0 + +/* T`*r */ + vmulps %ymm2, %ymm1, %ymm1 + +/* (T`*r)*P */ + vmulps %ymm1, %ymm0, %ymm0 + +/* + * T`*r*P+D` + * result = T`+(T`*r*P+D`) + */ + vaddps %ymm0, %ymm2, %ymm0 + testl %eax, %eax + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm5, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %edx, %edx + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_scbrt_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_cbrtf_avx2) + + .align 16,0x90 + +__svml_scbrt_cout_rare_internal: + + cfi_startproc + + 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 .FLT_43(%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 .FLT_42(%rip), %xmm4 + mulss %xmm1, %xmm4 + lea 85(%r10), %eax + orl %edi, %eax + xorl %edi, %edi + cmpl $-16777217, %ecx + addss .FLT_41(%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 .FLT_40(%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 + + cfi_endproc + + .type __svml_scbrt_cout_rare_internal,@function + .size __svml_scbrt_cout_rare_internal,.-__svml_scbrt_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_scbrt_data_internal: + .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 1065482291 + .long 1065566215 + .long 1065648532 + .long 1065729317 + .long 1065808640 + .long 1065886565 + .long 1065963152 + .long 1066038457 + .long 1066112533 + .long 1066185428 + .long 1066257188 + .long 1066327857 + .long 1066397474 + .long 1066466079 + .long 1066533708 + .long 1066600394 + .long 1066666169 + .long 1066731064 + .long 1066795108 + .long 1066858329 + .long 1066920751 + .long 1066982401 + .long 1067043301 + .long 1067103474 + .long 1067162941 + .long 1067221722 + .long 1067279837 + .long 1067337305 + .long 1067394143 + .long 1067450368 + .long 1067505996 + .long 1067588354 + .long 1067696217 + .long 1067801953 + .long 1067905666 + .long 1068007450 + .long 1068107390 + .long 1068205570 + .long 1068302063 + .long 1068396942 + .long 1068490271 + .long 1068582113 + .long 1068672525 + .long 1068761562 + .long 1068849275 + .long 1068935712 + .long 1069020919 + .long 1069104937 + .long 1069187809 + .long 1069269572 + .long 1069350263 + .long 1069429915 + .long 1069508563 + .long 1069586236 + .long 1069662966 + .long 1069738778 + .long 1069813702 + .long 1069887762 + .long 1069960982 + .long 1070033387 + .long 1070104998 + .long 1070175837 + .long 1070245925 + .long 1070349689 + .long 1070485588 + .long 1070618808 + .long 1070749478 + .long 1070877717 + .long 1071003634 + .long 1071127332 + .long 1071248907 + .long 1071368446 + .long 1071486034 + .long 1071601747 + .long 1071715659 + .long 1071827839 + .long 1071938350 + .long 1072047254 + .long 1072154608 + .long 1072260465 + .long 1072364876 + .long 1072467891 + .long 1072569555 + .long 1072669911 + .long 1072769001 + .long 1072866863 + .long 1072963536 + .long 1073059054 + .long 1073153452 + .long 1073246762 + .long 1073339014 + .long 1073430238 + .long 1073520462 + .long 1073609714 + .long 1073698019 + .long 3185813858 + .long 3185813858 + .long 3185813858 + .long 3185813858 + .long 3185813858 + .long 3185813858 + .long 3185813858 + .long 3185813858 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1051372689 + .long 1051372689 + .long 1051372689 + .long 1051372689 + .long 1051372689 + .long 1051372689 + .long 1051372689 + .long 1051372689 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8257536 + .long 8257536 + .long 8257536 + .long 8257536 + .long 8257536 + .long 8257536 + .long 8257536 + .long 8257536 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .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 + .long 3212967936 + .long 3212967936 + .long 3212967936 + .long 3212967936 + .long 3212967936 + .long 3212967936 + .long 3212967936 + .long 3212967936 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 124 + .long 124 + .long 124 + .long 124 + .long 124 + .long 124 + .long 124 + .long 124 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 255 + .long 255 + .long 255 + .long 255 + .long 255 + .long 255 + .long 255 + .long 255 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 256 + .long 256 + .long 256 + .long 256 + .long 256 + .long 256 + .long 256 + .long 256 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 85 + .long 85 + .long 85 + .long 85 + .long 85 + .long 85 + .long 85 + .long 85 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1 + .long 1 + .long 1 + .long 1 + .long 1 + .long 1 + .long 1 + .long 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1365 + .long 1365 + .long 1365 + .long 1365 + .long 1365 + .long 1365 + .long 1365 + .long 1365 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2155872256 + .long 2155872256 + .long 2155872256 + .long 2155872256 + .long 2155872256 + .long 2155872256 + .long 2155872256 + .long 2155872256 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4278190079 + .long 4278190079 + .long 4278190079 + .long 4278190079 + .long 4278190079 + .long 4278190079 + .long 4278190079 + .long 4278190079 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_scbrt_data_internal,@object + .size __svml_scbrt_data_internal,1472 + .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 + +.FLT_36: + .long 0x007fffff + .type .FLT_36,@object + .size .FLT_36,4 + .align 4 + +.FLT_37: + .long 0x007e0000 + .type .FLT_37,@object + .size .FLT_37,4 + .align 4 + +.FLT_38: + .long 0xbf800000 + .type .FLT_38,@object + .size .FLT_38,4 + .align 4 + +.FLT_39: + .long 0xbf820000 + .type .FLT_39,@object + .size .FLT_39,4 + .align 4 + +.FLT_40: + .long 0x3eaaaaab + .type .FLT_40,@object + .size .FLT_40,4 + .align 4 + +.FLT_41: + .long 0xbde38e39 + .type .FLT_41,@object + .size .FLT_41,4 + .align 4 + +.FLT_42: + .long 0x3d7cd6ea + .type .FLT_42,@object + .size .FLT_42,4 + .align 4 + +.FLT_43: + .long 0xbd288f47 + .type .FLT_43,@object + .size .FLT_43,4 diff --git a/sysdeps/x86_64/fpu/svml_d_cbrt2_core.S b/sysdeps/x86_64/fpu/svml_d_cbrt2_core.S new file mode 100644 index 0000000000..4bf546564b --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_cbrt2_core.S @@ -0,0 +1,29 @@ +/* Function cbrt vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_cbrt) +WRAPPER_IMPL_SSE2 cbrt +END (_ZGVbN2v_cbrt) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_cbrt) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_cbrt4_core.S b/sysdeps/x86_64/fpu/svml_d_cbrt4_core.S new file mode 100644 index 0000000000..e6d1003e27 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_cbrt4_core.S @@ -0,0 +1,29 @@ +/* Function cbrt vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_cbrt) +WRAPPER_IMPL_AVX _ZGVbN2v_cbrt +END (_ZGVdN4v_cbrt) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_cbrt) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_cbrt4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_cbrt4_core_avx.S new file mode 100644 index 0000000000..70632869ac --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_cbrt4_core_avx.S @@ -0,0 +1,25 @@ +/* Function cbrt vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_cbrt) +WRAPPER_IMPL_AVX _ZGVbN2v_cbrt +END (_ZGVcN4v_cbrt) diff --git a/sysdeps/x86_64/fpu/svml_d_cbrt8_core.S b/sysdeps/x86_64/fpu/svml_d_cbrt8_core.S new file mode 100644 index 0000000000..37571673a7 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_cbrt8_core.S @@ -0,0 +1,25 @@ +/* Function cbrt vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_cbrt) +WRAPPER_IMPL_AVX512 _ZGVdN4v_cbrt +END (_ZGVeN8v_cbrt) diff --git a/sysdeps/x86_64/fpu/svml_s_cbrtf16_core.S b/sysdeps/x86_64/fpu/svml_s_cbrtf16_core.S new file mode 100644 index 0000000000..1be6294026 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_cbrtf16_core.S @@ -0,0 +1,25 @@ +/* Function cbrtf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_cbrtf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_cbrtf +END (_ZGVeN16v_cbrtf) diff --git a/sysdeps/x86_64/fpu/svml_s_cbrtf4_core.S b/sysdeps/x86_64/fpu/svml_s_cbrtf4_core.S new file mode 100644 index 0000000000..2469a100f4 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_cbrtf4_core.S @@ -0,0 +1,29 @@ +/* Function cbrtf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_cbrtf) +WRAPPER_IMPL_SSE2 cbrtf +END (_ZGVbN4v_cbrtf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_cbrtf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_cbrtf8_core.S b/sysdeps/x86_64/fpu/svml_s_cbrtf8_core.S new file mode 100644 index 0000000000..efedc22323 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_cbrtf8_core.S @@ -0,0 +1,29 @@ +/* Function cbrtf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_cbrtf) +WRAPPER_IMPL_AVX _ZGVbN4v_cbrtf +END (_ZGVdN8v_cbrtf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_cbrtf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_cbrtf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_cbrtf8_core_avx.S new file mode 100644 index 0000000000..b5acc62426 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_cbrtf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function cbrtf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_cbrtf) +WRAPPER_IMPL_AVX _ZGVbN4v_cbrtf +END (_ZGVcN8v_cbrtf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx.c new file mode 100644 index 0000000000..c8bc643c99 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-cbrt.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx2.c new file mode 100644 index 0000000000..c8bc643c99 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-cbrt.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx512f.c new file mode 100644 index 0000000000..c8bc643c99 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cbrt-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-cbrt.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cbrt.c b/sysdeps/x86_64/fpu/test-double-libmvec-cbrt.c new file mode 100644 index 0000000000..fb3684b18c --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cbrt.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC cbrt +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 85b3129618..76dc92b983 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -34,6 +34,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVbN2v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVbN2v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVbN2vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVbN2v_atanh) +VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVbN2v_cbrt) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index e3e88fe268..e16abf5bb0 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -37,6 +37,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVdN4v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVdN4v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVdN4vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVdN4v_atanh) +VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVdN4v_cbrt) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 6f81f13d37..84091a860f 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -34,6 +34,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVcN4v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVcN4v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVcN4vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVcN4v_atanh) +VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVcN4v_cbrt) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index 197ff12338..873d7aa9c8 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -34,6 +34,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinh), _ZGVeN8v_asinh) VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVeN8v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVeN8vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVeN8v_atanh) +VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVeN8v_cbrt) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx.c new file mode 100644 index 0000000000..59b8d77f71 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-cbrtf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx2.c new file mode 100644 index 0000000000..59b8d77f71 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-cbrtf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx512f.c new file mode 100644 index 0000000000..59b8d77f71 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-cbrtf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf.c b/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf.c new file mode 100644 index 0000000000..3a06ba79e0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-cbrtf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC cbrtf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index d21d943404..b4bccd8e84 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -34,6 +34,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVeN16v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVeN16v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVeN16vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVeN16v_atanhf) +VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVeN16v_cbrtf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 3d24faf8dc..1aa2c920ed 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -34,6 +34,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVbN4v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVbN4v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVbN4vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVbN4v_atanhf) +VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVbN4v_cbrtf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index f176c1f4b0..2042aec59e 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -37,6 +37,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVdN8v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVdN8v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVdN8vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVdN8v_atanhf) +VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVdN8v_cbrtf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 281eb58ad4..bb25393c57 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -34,6 +34,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (asinhf), _ZGVcN8v_asinhf) VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVcN8v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVcN8vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVcN8v_atanhf) +VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVcN8v_cbrtf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48082 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B86363857C71 for ; Wed, 24 Nov 2021 19:54:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B86363857C71 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783665; bh=WcYP18VDZSB9sHg9+nWWx6izXsL3jTfYaTBbE1W0a7Q=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=FUIDttC2wg8wBKRNPAjJ6FD9st5tZn9ONPWF3aioJFMimKpVXx4eqp13Q9AEZCf/F 29UeX8nKL5FNbp75nPdjujXywhT81nQ1NW9w3P4IzHJ2cO1/VRcpej2a5gZslDpdpw 48MrMYJ6Exd9QCrfX6RShaBSVCnQrgESWvlxJF70= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id 3AAC03857C62 for ; Wed, 24 Nov 2021 19:38:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3AAC03857C62 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="232852729" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="232852729" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="475399704" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga002.jf.intel.com with ESMTP; 24 Nov 2021 11:38:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7X3021555; Wed, 24 Nov 2021 11:38:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 16/42] x86-64: Add vector cbrt/cbrtf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:41 -0800 Message-Id: <20211124193807.2093208-17-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector cbrt/cbrtf and input files to libmvec microbenchmark. libmvec-cbrt-inputs: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 10.0 10% uniform random distribution in range (-1000.0, 1000.0) libmvec-cbrtf-inputs: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 10.0f 10% uniform random distribution in range (-1000.0f, 1000.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-cbrt-inputs | 4100 +++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-cbrtf-inputs | 4100 +++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-cbrt-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-cbrtf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 465c0902fa..398a112dab 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -46,6 +46,7 @@ libmvec-bench-funcs = \ atan \ atan2 \ atanh \ + cbrt \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-cbrt-inputs b/sysdeps/x86_64/fpu/libmvec-cbrt-inputs new file mode 100644 index 0000000000..880884f78a --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-cbrt-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-1.8e+308, 1.8e+308), mean = 0, standard deviation = 10 +-0x1.554044c998ce3p+1 +-0x1.66c497192875p+2 +-0x1.ea687f5ea7dfbp+3 +-0x1.91417dc7ac74ep+2 +-0x1.8a5fa60900109p+1 +0x1.43456a199d366p+3 +0x1.d5fd5a6a60f93p+2 +0x1.5c4e8c66e2e1ep+4 +0x1.830c02f511649p+2 +-0x1.3b3a6a67df6bep+2 +-0x1.d32cee06bc94cp+3 +-0x1.8382d92cc1e63p+3 +0x1.63e8788c68f95p+4 +-0x1.1f87dce3921b6p+1 +-0x1.0e3e9fb97670ep+3 +0x1.2fb7ef8e6fbffp+4 +-0x1.76ab7725ca30ap+1 +-0x1.0f485c7cc73e6p-4 +0x1.669f14c1bc97dp+2 +0x1.50884ff604923p+3 +-0x1.381b3dade9059p+2 +-0x1.f522c1615db4fp+2 +-0x1.e8deddfcc661fp+0 +0x1.2d09520846f24p+3 +-0x1.15328be8c723ap+2 +0x1.c011b1d55aa19p+3 +-0x1.4497b90aba18ep+3 +-0x1.7155b020554bap+1 +0x1.64693909a55eep+3 +-0x1.50befce7760d8p+3 +0x1.f9b19732e5af3p+0 +0x1.05dbacbd7f89cp+3 +0x1.f17b4b540208fp+0 +-0x1.d2423b58befe4p+3 +0x1.cf35fd5b482fap+0 +0x1.50d461d320bf8p-1 +-0x1.ee88eec12b23ap+2 +-0x1.bed2d6cb4234ep+1 +-0x1.9289054e34dc1p+1 +0x1.d07cc93942dd6p-2 +-0x1.8b1f17c053277p-1 +0x1.2d7e81a18ec16p+3 +-0x1.5c6225dc9d83dp+3 +0x1.f6057eb669dedp+1 +0x1.a6133246f02cbp-3 +-0x1.a0e648576f38p+3 +-0x1.de858a024db6ap+0 +0x1.db97223cb3cd2p+2 +-0x1.84e57319a299fp+3 +-0x1.99a4746523f41p+1 +0x1.1892ed812a81ap+3 +-0x1.45195082b21d3p+3 +0x1.d19ce308bf969p+2 +-0x1.51cb4941b33ecp+4 +-0x1.f6acda42e26aap+2 +0x1.77326f59a1515p+1 +-0x1.2ca063d96eccp+3 +0x1.09fcf85930166p+3 +0x1.abd376f299f83p+3 +0x1.75627093f7afbp-2 +0x1.6feca48b8f959p+1 +-0x1.de3b4df9efa9ep-3 +0x1.a638b6bcfe548p+1 +-0x1.c84d5c751315p+3 +0x1.7a94e1f1d448fp-1 +0x1.1f30cf2e10371p+3 +0x1.3597f2e9134b4p+1 +0x1.96560e29f2655p+0 +0x1.19f6234d816e9p+1 +-0x1.115fe49804542p-1 +0x1.3bea99f1dfe24p+3 +-0x1.3d6c01eccb9e8p+3 +0x1.33a841906147cp+0 +0x1.4db5b19a88af7p+2 +-0x1.5f2064d2ca6afp+2 +0x1.7bb08538b2099p+1 +-0x1.51738df8b4b53p+2 +-0x1.25699b5e29a54p+9 +-0x1.3c1729bf6cf2bp+0 +-0x1.0964f74ba9ba7p+0 +0x1.c92b8aadf143p+8 +0x1.e0431a8ddcbd5p-1 +0x1.c9e8040c460c3p+2 +-0x1.683a8bf05d4ap+3 +-0x1.faf0ca9620cf8p+1 +-0x1.9c9b866ca2458p+1 +-0x1.0d0c32e3ca6dep+2 +-0x1.4b238278a8981p+1 +0x1.3c522ab79dcb1p+3 +0x1.2c9091cdd2e31p+3 +0x1.295ca37ef8281p+7 +0x1.4b33e5cb4d458p+4 +-0x1.85f6212a9b0ap+2 +-0x1.23131430f6b9p+0 +-0x1.f0ef9317279b3p+3 +0x1.1c944ff6f69d1p+4 +0x1.b04b1ca715c49p+0 +-0x1.3242f101b4b9dp+0 +0x1.74340618f282p-2 +-0x1.19d4fae8b046bp+3 +0x1.214e5e94f87d4p+4 +-0x1.11ad0819e7a58p+3 +-0x1.9356a68f8c8c4p+2 +0x1.64eab5cb1c6aep+3 +0x1.e1279b404809ep+1 +0x1.01096dab53456p-3 +0x1.01cc27b2044b5p+3 +-0x1.6e7ca3baa79c2p-1 +-0x1.0680ab97f64c6p+2 +-0x1.d5793c2c69773p+2 +0x1.d4c674bc2226cp+1 +0x1.0a8f509b4c33fp+4 +-0x1.3a54f96a1acf6p-2 +0x1.06405ad926e7cp+3 +0x1.7eaa24fd69adep+2 +0x1.b7f32b77350b8p+2 +-0x1.9798941511ca6p-1 +-0x1.c3f60d018c235p+3 +-0x1.548e3b7f55b52p+3 +-0x1.46b70923dd051p+3 +0x1.a6928f133d17bp+2 +-0x1.c99a93f5c241fp+3 +0x1.310f9ff6c34b7p+4 +-0x1.ee6fe004cedb6p+2 +-0x1.0a39edd8f53afp+3 +0x1.eb1886cffa447p+1 +0x1.d2527842a0885p+2 +-0x1.514ed6fa4dbcfp+2 +-0x1.ff7cc625f214bp+1 +-0x1.4ade29c63bdfap+1 +0x1.763f5c42e535fp+3 +0x1.4cf20d40427b7p+1 +0x1.710cb4219b2aap+4 +-0x1.71ea56311e798p+3 +0x1.87e2af16cc22p+2 +0x1.acbdf7b8b8cb1p+3 +-0x1.36b38240e124ep+4 +0x1.00be9d2cc226cp+2 +-0x1.f37092404396ap+2 +-0x1.38e30543d2783p+1 +-0x1.d8974526448bfp-5 +-0x1.61a1465ceac2ap+2 +0x1.4a98efe7e96dfp-1 +0x1.c5bf66fd8479dp+2 +-0x1.bbb92cb8e6798p+1 +0x1.12044ef41bdap+2 +0x1.0ffc1b717c092p+2 +-0x1.e60f73b81c999p+6 +-0x1.0bbc8815ee793p+3 +-0x1.3d69ad65f38d3p+1 +0x1.2118761c15d6bp+2 +-0x1.36369a571a85cp+2 +0x1.6da0a2ac4091p+3 +-0x1.9dc37dd201f97p-1 +-0x1.3bf064beccce6p+3 +-0x1.26d8cccba2d56p+3 +-0x1.5f85846f3e7c4p-1 +0x1.4957ca5078978p+9 +-0x1.0b3cdf33b0737p+2 +0x1.520918691fbe7p+2 +-0x1.96b003fe8132ep+3 +-0x1.0525f3d414731p+4 +0x1.4d408a5eec5bbp+2 +-0x1.8607ea65026dp+2 +-0x1.98ece3a8067a1p+3 +0x1.e369295a89953p+3 +-0x1.16ca9e54f9183p+1 +0x1.ca41643f67f74p-7 +0x1.0bd9349d0075dp+4 +0x1.cfb1494744a37p+0 +0x1.bd98bd3eab59dp+0 +-0x1.c48bf08d22fcdp+0 +-0x1.a83238eb47a39p-2 +0x1.00f4eaa4629cp+2 +-0x1.7712c3524774dp-3 +-0x1.2399f397efb95p+2 +0x1.e1f14824d866ap-2 +-0x1.93da3ab7882b1p+0 +-0x1.8c7952f23a3f3p+2 +-0x1.f5ab8ea7f5c48p+0 +-0x1.687dec89e6be8p+4 +-0x1.f2d0b19a6f865p+2 +0x1.e1e64cda36901p+4 +-0x1.3ae28631df18bp+2 +-0x1.3767e4ce1f49fp+3 +-0x1.d30f878fe0435p-2 +-0x1.23746a15aa5bfp+3 +-0x1.a7f2578cec6c3p+2 +0x1.20e169edee6d8p+3 +-0x1.e7e7815f01c51p+1 +-0x1.01395640f15dap+4 +0x1.dd03809d62759p+3 +0x1.13e3a634448d2p+4 +-0x1.3bd47d8fd7d23p+3 +-0x1.f135ded6c428ep+1 +-0x1.0530d76011c18p+2 +0x1.9883b1cbc8856p+3 +-0x1.0cd6b2f481b52p+2 +0x1.c3f887221c0aap+3 +0x1.57fc878facc8cp+1 +0x1.b9a54fab32a4ap-2 +-0x1.60a843e0a6738p+4 +-0x1.bdd8d7d421796p+2 +0x1.1583579dc0af8p+0 +0x1.8b0b8cc1ead32p-1 +0x1.a372532f5f3bap+2 +-0x1.ab1acb40b58b5p+4 +0x1.b1ae478bf7ffcp+1 +-0x1.515fb1b0a3a62p+2 +0x1.002122c88a532p+4 +-0x1.3860d975bfaep+3 +-0x1.793ebde692d4cp+3 +0x1.6191bd4c16afdp+2 +0x1.e68bc105211f7p+0 +-0x1.40de4ffdf37aep-2 +-0x1.5790642cbb181p+3 +-0x1.18388d378c296p+4 +-0x1.2bb4e73741648p+4 +0x1.8e3ef73ce7c69p+2 +0x1.ab82d8a92880ap+3 +-0x1.1c32a88a2c165p+3 +-0x1.2adfd4e073877p-2 +0x1.35f5e661287edp+3 +0x1.1904bf512f56ap+0 +0x1.7d24c811c3786p+3 +-0x1.0890a46993205p+3 +0x1.d81626a3496fap-3 +0x1.23976224c75edp+3 +-0x1.2a26cf4a0689p+4 +0x1.4a786e23d8eb9p+3 +-0x1.8ce033d6230e1p+1 +-0x1.55e6f49ef2b54p+2 +0x1.7549ba0d9503fp+1 +-0x1.a60bbd748e025p+3 +0x1.c89fcb7ec2299p+3 +-0x1.4a7d8de0f57d2p+2 +0x1.d0b10a0fe4388p+0 +-0x1.978ea5c73c1dep+3 +-0x1.fc6332047e54ep+2 +0x1.4028a9adda03cp+2 +-0x1.49838135f72d4p+3 +-0x1.06da9efa52edep+0 +0x1.88bdcbb1e4c12p+0 +0x1.0fe06084ac03p+1 +-0x1.eedfbbba35ee9p+3 +0x1.1c67ace5eefcdp+1 +0x1.ca73c0f8990e5p+2 +-0x1.249b68aa73a1fp-1 +0x1.a934da5fead08p+2 +-0x1.c2d5958142b9dp+2 +0x1.48e06741ed076p+2 +0x1.b0f2eb5e0e25ep+2 +-0x1.cd8d85a0d6f8bp+5 +0x1.0c90da8f599e4p+6 +0x1.bf5ac2104cebcp+2 +0x1.e26a4b12fe9d3p+2 +-0x1.2c60d0b789864p+2 +0x1.eb03f31735c3p+1 +-0x1.f807fb90bbd08p+8 +0x1.0e89b344f2e2ep+2 +-0x1.f9c44b36f3413p+0 +0x1.6869edeeb9f1bp+3 +-0x1.63710c70f9962p+3 +0x1.e43d64c360b1ep+7 +0x1.a1048ea4388a7p+0 +0x1.34ac281a441f3p+3 +0x1.b55042829d604p+3 +-0x1.35142638a1d37p+2 +0x1.93c822374a942p+2 +-0x1.0f6420b624b93p+2 +-0x1.0ed599f5a7cd9p+4 +0x1.5546f7c566cbfp+2 +-0x1.f905a50059045p+2 +-0x1.038a7a00f864cp+4 +0x1.75661d2ff2441p+1 +-0x1.1516f4e3109d2p-4 +0x1.777793d0ab52bp+1 +-0x1.5471f4852766ep+1 +0x1.0c3511379edfp+4 +0x1.397aaf07b2c1fp+3 +0x1.f9378d9b015f1p+1 +-0x1.d0fb06e142db3p+1 +0x1.60087ce36d852p+3 +0x1.38a85fa7f3d2p+1 +-0x1.ca522b7a266eap+3 +0x1.467ef6ca75e11p+0 +-0x1.7c2b197a394f3p+1 +0x1.c41fc1c119a91p-1 +-0x1.09dad171a35f5p+3 +0x1.7bf15f3eb58fep+2 +0x1.ea04a0a3a24cp+2 +0x1.2e01383e9fap+3 +-0x1.6ff0dcc1fdb1ap+3 +-0x1.04da08cc04222p+1 +-0x1.0c76e8aa524c8p+4 +-0x1.01b3bd9ed5faep+4 +0x1.6626b02a35dffp+0 +0x1.15400c8b52a1ep+2 +-0x1.6519ab50babd6p+3 +-0x1.035c516913bf2p+4 +0x1.df116c03b6efbp+3 +0x1.046cc1a9a35f9p+2 +0x1.c7aa82aef0c52p+2 +0x1.939110e017d55p+7 +0x1.6089da2ce60f5p+3 +0x1.a523adf42fe25p+3 +-0x1.51cca92057939p+5 +0x1.bb84cfb3bd225p+3 +-0x1.bd1e022ef6d1p-1 +-0x1.0526d595330bap+5 +0x1.44f21e1af96d9p+7 +0x1.0755d9bbacf57p+4 +-0x1.0db29102b220cp+1 +-0x1.be86e3dd85107p+3 +-0x1.747e63a4144a5p+2 +0x1.b88e2ae8c6c72p+4 +0x1.89131e4fc2e09p+4 +0x1.a421f27de9cd5p+2 +0x1.1eb352fc364d5p+2 +-0x1.90b5a18083a02p+4 +-0x1.f9bf67a84192bp+3 +-0x1.9eee99889333ap+2 +-0x1.38eaa94fa1472p+3 +-0x1.1da2e6f3cf10bp+3 +-0x1.e65857d023309p+1 +-0x1.7ee8c75bda27p+2 +-0x1.ddf13947707e4p+2 +-0x1.1496f693d736bp+2 +-0x1.2dfbb9144344ep+4 +-0x1.3ac90f72039ddp+2 +0x1.26ba2d9c733b6p+1 +-0x1.2d34e61e339f8p+3 +0x1.ecf05f2b6e01fp+2 +0x1.cf5fdf6e8eaa1p+1 +-0x1.3668b9e54b506p+2 +-0x1.33e39e40932a9p+2 +-0x1.35904ab71be7ep+3 +-0x1.9643ce8d33d15p+1 +-0x1.8d583b3898343p+3 +-0x1.0cf15101c504bp+2 +-0x1.74ad535c493c8p+3 +0x1.658c39bfa82dap-5 +-0x1.d4ec79dc8a488p+6 +0x1.4dd8e7bb74e0dp+1 +0x1.b1ea87cc8f54ep+2 +-0x1.1c93d7c4d76c1p+1 +0x1.8c5a54ce37012p+2 +0x1.5dd0bcbf38d24p+2 +-0x1.70048b8170335p+2 +0x1.e36baab658f7bp+2 +-0x1.819d0e1126c51p+1 +-0x1.88223ec3fb50fp-1 +0x1.140769f804ff9p+3 +-0x1.ce9e1b8b5edcep+2 +0x1.91887de348ddap+3 +0x1.4e3832f29dfa8p+2 +-0x1.0217f4132ff2cp+2 +0x1.a226e04e81a16p+3 +0x1.0e4d10f2e7ba3p+1 +0x1.55cc27f95a89fp+0 +-0x1.c953c7a5404bap+5 +0x1.d1d4bddfa613ap+1 +0x1.0a1e64264a646p+3 +-0x1.aa486b8600162p+1 +0x1.dc8a95caf39f4p+0 +0x1.14562f5a8a5efp+2 +-0x1.0247f41975814p+3 +0x1.4551a069b3393p+2 +-0x1.615c7f65d4f7fp+2 +0x1.691400ffb7149p+3 +-0x1.eb6dd451f844p+2 +-0x1.161d880077694p+0 +0x1.4150e888d6b19p+1 +-0x1.dff24aa855381p+1 +-0x1.5c439da72b194p+0 +0x1.8e984eb376b24p+3 +0x1.95eedb1c7c1e4p+1 +-0x1.29cd7f3066c1bp+1 +0x1.9de85531340ap+1 +0x1.e63dc2c43dfbp+0 +0x1.2069d4e142321p+4 +0x1.61e48c3424946p+3 +-0x1.03decf343a04bp+4 +-0x1.4cca2f2f402fcp+2 +-0x1.756bac0926086p+3 +0x1.ef60c2435efcep+0 +0x1.4cf1bdcb5fff9p+3 +0x1.a3c77f07c8ebep+0 +-0x1.08f70f09ad96p+6 +0x1.f0ea74c39999ap+3 +0x1.b064e5c866f06p+3 +0x1.527ab02700406p-2 +-0x1.ecf4e5a953bb4p+3 +0x1.60b248e8f63f2p-1 +0x1.e34614033245bp+2 +-0x1.2fea9802c7feap+1 +-0x1.4183b04630bebp+3 +-0x1.262a6bab231e1p+3 +0x1.619eb32724d35p+1 +-0x1.c876af4575effp+1 +-0x1.7b6b9cdbcab63p+2 +-0x1.efffd5bb7ab2ep+4 +0x1.04f2ccb141f5p+2 +0x1.ba28776545ac2p+3 +-0x1.af89aeff1d2e3p+1 +-0x1.cbbe0427595eap+2 +-0x1.8843efbe767e9p+8 +0x1.aa903a5eb295ep-3 +-0x1.d52f372b50c1ep+2 +-0x1.57468c7c7e70cp+2 +0x1.999db1c7078abp+1 +0x1.1a2da3008ec88p+0 +-0x1.ab5f02189813ep+2 +0x1.5b15edcc0b5dcp+1 +-0x1.b6b9faec38b6ep+3 +-0x1.1d156b5663baep+4 +-0x1.667146769a76bp+2 +-0x1.bbf8a73f83eb7p+3 +-0x1.8a0611d51553ap+0 +-0x1.22427d34a5e53p+4 +-0x1.bdaf9c77c708p+4 +-0x1.2c7c8df247d8ap+2 +0x1.8a1731d472c3ep+3 +0x1.00b8c0819cd9cp+4 +0x1.e2a23f22ca44ap+1 +0x1.9c49cd9382b3fp-1 +-0x1.fa84bc75eb45ep+0 +-0x1.2ebba64a69fc8p+3 +0x1.389cc18950544p-1 +-0x1.5959bb35eca03p+1 +-0x1.8619fb4ccd5e5p+2 +-0x1.40270008fec01p+2 +-0x1.293e58c07bb83p+3 +0x1.12f1873f3c348p+3 +0x1.7e6cb7b786effp+2 +-0x1.6cc87fc0ea99cp+3 +0x1.7c07497eec991p+3 +-0x1.264f7484a94f1p+3 +-0x1.a6630455cf658p+1 +-0x1.49484081d0142p+3 +-0x1.b41e9105c13dcp+1 +-0x1.44d2fae99d664p+2 +0x1.4373f7e69548cp+3 +0x1.734115f390115p+2 +-0x1.2f1b473f9b62ep+4 +-0x1.b48605b5b056fp+3 +0x1.d9d5e6f93720ep+3 +0x1.3f936beb80df6p+1 +0x1.51848cd4fc16ap+4 +-0x1.d44d19fb5539fp+2 +-0x1.67ff8dc25f3c7p-1 +0x1.01ed2653f5d4cp+2 +-0x1.d78c93230bedap-1 +0x1.b1ca2c6ecd89ep+0 +0x1.6e9bc1b4cf99fp+0 +0x1.32ebadbd97d1ep+4 +0x1.3f1341d710e72p+1 +0x1.0f2f6258aab98p+4 +0x1.8167c6ece10c6p+0 +0x1.7c9bbc1afffb2p+3 +0x1.a0b3e8703b5efp+2 +-0x1.0efc2d4ad60a7p+1 +0x1.e65ada32fd35p+4 +0x1.3fecbbb595cccp-1 +0x1.ab20df86b451ap-2 +-0x1.614d6108536a4p+2 +-0x1.0e7672a4b226fp+3 +-0x1.3634f8b1c5e5p-1 +-0x1.e1419ff2896e5p+3 +-0x1.4f6b7bf8f8b23p+3 +0x1.226448ca8435cp+1 +0x1.91baf2a46a445p-6 +-0x1.912eaf6e04e09p+2 +0x1.c32eae5aac752p+1 +-0x1.5d43508511ca2p+3 +-0x1.d378f698a364bp+2 +0x1.73abd19bbfcf3p+0 +0x1.fea144597744fp+1 +0x1.75c21d91ebdbap+3 +-0x1.5320cefe606c9p-1 +-0x1.9e17a8d70015p+2 +0x1.030d9f3b9b4b3p+4 +-0x1.085b634c9abd8p+3 +0x1.37451b9e88f1dp+0 +-0x1.2a723fa10f8d6p+3 +0x1.dfbc89cd06a4fp+2 +-0x1.1a5ad4603fdbap+3 +-0x1.ca26854cf1386p+3 +0x1.279431dcbe4f2p+0 +-0x1.336802bfd4fb9p+2 +0x1.3e7dfc1484671p+3 +-0x1.688727bca9135p+3 +0x1.0d4c8609f95bap+4 +-0x1.834a79b8360a8p+0 +0x1.57eac8d9429dp+0 +0x1.d146be2732de7p+1 +-0x1.9e9a296c051f2p+2 +-0x1.0ed8af53f3273p+3 +-0x1.020e4f2e89eb5p+4 +0x1.2158b2d10457cp+4 +-0x1.36e7ef81e88ap+4 +-0x1.2f7827b63a486p-2 +0x1.e0aee5fc3da04p+2 +0x1.49ecdb5158626p+3 +0x1.7ef7c7ed07e84p+2 +-0x1.03cadc9f043cdp+0 +0x1.b946364316729p+4 +-0x1.d609dd75d90edp+3 +0x1.73d2cff2abb3p+1 +0x1.8a16e941137bep+2 +0x1.1b6167dfa7516p+3 +0x1.c7d954f4d2cb7p+4 +-0x1.c3eba05a840d7p+1 +-0x1.84fc9623c6956p+0 +0x1.58356a48f347bp+2 +0x1.2cb9385b1c5dep+1 +0x1.9e60e10873e2dp+3 +0x1.72163487826c2p+2 +-0x1.0720a3b46f81bp+5 +-0x1.0b38117b2225ep+1 +0x1.026eccad4965bp+4 +0x1.8505c16ee4e72p+3 +-0x1.bcffe9bb1f44cp+2 +0x1.dff667e51ac1p+1 +-0x1.28127568277c5p+1 +0x1.42b5927cf1e75p-1 +0x1.4f72ceacbd9c6p+1 +0x1.5f2731c8889ccp-1 +-0x1.c5be0d28399a4p+4 +0x1.599cb3a0bdc2ap+2 +-0x1.e2770257be8f9p+2 +0x1.53061e44b4a19p+2 +-0x1.1c5fab2e772c4p+3 +-0x1.bfc38f60e60ap+2 +-0x1.c17652a664d7ap+3 +-0x1.d5b897b92bbfbp+1 +0x1.974b74047c3efp+3 +0x1.7024033ba78bp+3 +0x1.889888da3e4f2p+2 +-0x1.d6102b0c041b4p+1 +0x1.b972de69e1ac6p+2 +-0x1.9480eaec7bbc6p+3 +0x1.a4de4422ef7d6p+2 +-0x1.76f02e5fe9a1bp+6 +0x1.4da0a76e38719p+2 +-0x1.a5fc20e133bebp+1 +0x1.689b6236a12d8p+6 +0x1.2c6599af07722p+4 +0x1.f01408d550269p-3 +0x1.33dfc1b0f07d6p+3 +0x1.a7dd8b220feebp+1 +0x1.a64ccf843b1e2p+0 +-0x1.a4e88d66be8d4p+2 +0x1.4cb963ba350e4p+2 +-0x1.fffcb844bb408p+2 +-0x1.ba4410f753f27p+3 +-0x1.88c8aeceef29ep+2 +0x1.7b29dee8b0ca3p+1 +-0x1.10dd31e28d943p+2 +0x1.6a93384c65823p+2 +0x1.4c63b82d01a33p+2 +-0x1.0eadf86a5b992p+3 +-0x1.16f6a036516dcp+4 +-0x1.9165e878efea9p-1 +0x1.7efd0dab212bcp+3 +-0x1.02468742ba8f6p+1 +-0x1.70a54c5a502ecp+2 +-0x1.fbed9f415ac19p+1 +0x1.6f45e017fc637p+2 +0x1.3cd4e9c3d54c6p+4 +0x1.10ffde01efea6p+0 +0x1.034412cc5369cp+2 +0x1.196f59a947eedp+3 +-0x1.1ac384660cad9p+3 +0x1.46f39263d3758p+3 +0x1.491ab9dba1d02p+2 +-0x1.77e345d61e20cp+3 +-0x1.d9c2b6bbdaceap+3 +0x1.27e721373a69ap+3 +-0x1.f27a859501aaap-1 +-0x1.3a78828801c33p+1 +0x1.6a07d4f5afd79p+1 +-0x1.abe85211c7975p+4 +-0x1.a6b25a324325cp-2 +-0x1.8bc21c23fd727p+1 +0x1.4d938c2e6ee54p+3 +0x1.1b880f6f5e50fp+1 +0x1.0e79617ede7a9p+3 +0x1.28225b814e266p+3 +0x1.dc8c448900743p+1 +-0x1.9987c10c9e16bp+3 +0x1.3587ac217f1ebp+2 +0x1.a7936a5ef04c5p+2 +0x1.5a78fc3eb17bep+2 +-0x1.13c1d93d35cfbp+3 +0x1.cadcc1aab7677p+1 +-0x1.269c550e17f49p+4 +0x1.87c345a023839p+4 +-0x1.153842ee62c68p+2 +-0x1.1728ded56c5c3p+1 +-0x1.ac92bfd53d968p+1 +0x1.ac3868bc27037p-1 +0x1.02c283d352802p-1 +0x1.3b03730fbcfc6p+2 +-0x1.a9316de1bd3d4p+3 +0x1.859ede9a4c639p+1 +0x1.3aacefa1baddep-2 +-0x1.db54a224638c1p-2 +0x1.55321aa1e531ep+1 +-0x1.e5f4c86125accp+1 +0x1.be848862b4f51p+2 +-0x1.973a760d5688fp+3 +0x1.f04e2e08885cep+1 +-0x1.dafe289d4f481p+3 +-0x1.4326d04c35c69p+3 +-0x1.700892cdbc3fap-3 +-0x1.cae5e7614aac1p+3 +-0x1.11683f97dfc2p+4 +-0x1.483408cc9dbb1p+3 +0x1.fa594739b53b9p+3 +0x1.a97d116d9c682p+2 +0x1.05d068dc63036p+0 +-0x1.96e6259258b4fp+0 +0x1.afe516dab6372p+2 +-0x1.824b1a8ec40cdp+3 +-0x1.2bb7c82baa5aap+4 +-0x1.24811556c8b05p+3 +-0x1.693f36676576fp+1 +0x1.0cac58dc6c1c3p+2 +0x1.3d3ad4b453865p+0 +0x1.090e558083f32p+3 +-0x1.f4ca45458ad97p-8 +-0x1.c652b18020bap+2 +-0x1.a9dcbf9ac4cf3p+2 +-0x1.a8429e767d7dbp+3 +0x1.505cf2e986cecp+8 +0x1.637dd711fc967p+0 +-0x1.640f8a809e4fp+1 +-0x1.2600a53891252p+2 +-0x1.10029bca4d08ap+3 +-0x1.87df270413318p+1 +0x1.6862e44a0cb42p+3 +-0x1.022dbb44da24p+4 +0x1.e861573278ab2p+1 +-0x1.893d6e486a29ep+3 +-0x1.7407b9867ec3cp+3 +-0x1.088af2efe2441p-1 +-0x1.14f9529bb752ep+2 +-0x1.5dee453de2fcbp-1 +0x1.0ab5775acda95p+3 +-0x1.04abb245ed907p+3 +0x1.8c4c534e45c0ap+3 +0x1.77e359d58424fp+3 +0x1.8c0d978b8c71p+1 +-0x1.36c3fa81efb3ap+3 +0x1.eb2c9ca8509a2p+3 +0x1.f7dd854ed52c6p-1 +0x1.76fbbb82724f3p+4 +0x1.f277092e5bf97p+1 +0x1.8031febb6d18ap+3 +-0x1.2d7070fe84e1dp+3 +-0x1.33599ccca20f9p+4 +0x1.a0e1823fc86b6p+2 +-0x1.2ca7a8906f4c1p+2 +-0x1.bb2064541e87fp+2 +0x1.2dfa1cdc254cdp+7 +-0x1.9099baa495f06p+3 +-0x1.18bb0d8a5e1e1p+2 +-0x1.deb775b278a0ap-1 +-0x1.923f2a93c1a98p+1 +-0x1.110984be1638fp+3 +-0x1.137dbc622082cp+3 +-0x1.06c963ad72628p+2 +-0x1.26f27d22a53a3p+4 +0x1.06b20d1cc8e41p+0 +-0x1.879b412bcf4cep-1 +-0x1.4e138f8dce34fp+1 +0x1.116f565033824p+3 +0x1.c9ef8dfbc5b04p+2 +-0x1.104fcf4777bf8p+3 +0x1.68e65a2687fcp+0 +-0x1.08ca057e6558bp+4 +-0x1.8e97e3441ce5ep+0 +0x1.461718bda13b8p+3 +-0x1.e73a8f637ddap+0 +0x1.fe99502f5cd0cp+3 +-0x1.f0f3f1f097c17p-1 +-0x1.daade419ba91dp+1 +0x1.4c2498f9110b3p+2 +0x1.be9128c055266p+2 +0x1.0816a4a6726a7p+2 +0x1.d71d0cbaa7982p+6 +-0x1.b98835a3590f5p-1 +-0x1.a315dca4f4b55p+0 +-0x1.1d4e1aefb7cbap+4 +-0x1.baf6347bc946cp+3 +-0x1.13fd1bc94709p+3 +-0x1.23508873c75ebp+4 +0x1.3d39d5e05defcp+4 +0x1.a183365d08c49p+2 +0x1.dae76f62be86dp+2 +-0x1.6b595f7cbeb93p+3 +0x1.8fed3a225d67dp+2 +0x1.0c18ab6618155p+1 +-0x1.4a25dddf8d0bcp+2 +-0x1.0d6f839a341dcp+0 +-0x1.e1bc6366ab1b4p+1 +-0x1.297aef6a12f1bp+4 +-0x1.54c648eb3dce5p+3 +0x1.7b6c370325b26p+1 +-0x1.466f42b36655ap+0 +-0x1.5a71a2eba38dfp+1 +0x1.106af311fcebep+3 +-0x1.cfca6e02a54eep+1 +0x1.5c1b0b20b9babp+0 +-0x1.c8ebfc3fce797p+3 +0x1.823b6fed167e5p+2 +-0x1.e8c5f97689113p+3 +0x1.7c8a493db3d2dp+8 +-0x1.a1b557162fd74p+2 +0x1.bc28ec0d1d635p-1 +0x1.bad1ac317df54p+3 +0x1.a50cbd4e4288ap+2 +0x1.98e74c4cbb1a7p+1 +0x1.41c59729ee19dp+0 +-0x1.c69abaf25c939p+2 +-0x1.6a33ccbf8114p+2 +0x1.ba88f48938157p-3 +-0x1.881dfde90ca41p+2 +0x1.dec5f2a0f073ep+1 +-0x1.5c24687d45508p+3 +-0x1.1e3d5f9eab2a3p+4 +0x1.5bc36fed5361ep+2 +0x1.8d56abecb4603p-2 +-0x1.669b82156927ap-2 +-0x1.c2c00ed6d4a93p+2 +0x1.2990a5e93b09p+1 +-0x1.11c11ac7deb12p+1 +0x1.092bd5f53d301p+2 +-0x1.80b65efdd566fp+2 +0x1.080bf3ff199dap+3 +0x1.4cc6a3bd21f84p+3 +0x1.485048f8da20ep+1 +0x1.c6f4a3778fbdp+1 +-0x1.e6106d118ab23p+3 +-0x1.c82d6bd3b7e39p+0 +0x1.29f60bbad0301p+4 +0x1.8284abe3e31cbp+3 +0x1.20a5847eb7beap+2 +-0x1.17f5f3822240ap+3 +-0x1.b9e8c6146ac5ep+2 +-0x1.5dc2bb45c245fp+1 +0x1.c1991ec2c7cadp+3 +0x1.88c7a934cc4b1p+2 +-0x1.2223843f2a519p-1 +0x1.848d926266d16p+1 +0x1.2def6f8f4238p+0 +-0x1.8e3e37896c8adp+3 +0x1.98e14a18f8502p+3 +-0x1.5d6dd0edd1d21p+3 +-0x1.119a03401f234p+3 +-0x1.07342ba27f051p+3 +-0x1.220f7fa6b0c05p-1 +0x1.c9c57dd36c7e6p+3 +0x1.2d854e3fe3679p+4 +0x1.55ac8195cd1b9p+1 +0x1.04682a5d0d635p+4 +-0x1.701fdb04fbf4ep+2 +-0x1.5feb39bb519b8p+1 +0x1.4e1922963c432p+2 +-0x1.f3d9fe9889575p+1 +-0x1.b7d7d10c467c8p+3 +-0x1.f944ca60465f2p-3 +0x1.f04a45e38483cp+1 +0x1.ee43875ffc4b5p+3 +0x1.3e4185ee5d9d5p+4 +0x1.692139ca7d09bp-1 +0x1.580708f8b3709p+4 +-0x1.327344428f82ap+3 +-0x1.2083794024c3p+2 +-0x1.65114b9771da2p+4 +-0x1.56cc1c6f500cbp+3 +-0x1.48f10f2a420a5p+2 +0x1.d5b7212f2d44fp-1 +-0x1.881e6bc1fb077p+2 +-0x1.5a8ee9ea108a6p+4 +0x1.f14b8995deccdp+3 +0x1.1daafc9e9a9f3p+2 +-0x1.48ab84a450f6dp+0 +-0x1.3af073192e58cp-1 +-0x1.76bfbceab1a38p+1 +-0x1.22723e593e5b5p+6 +-0x1.6fcfe64298ecep+3 +-0x1.226cd9a76d4b8p+3 +0x1.176cf252caa7p-1 +0x1.22592627627ddp+0 +-0x1.2760394324021p+4 +-0x1.1d69fe2323cd1p+3 +-0x1.aae9d1f4c70cdp+4 +-0x1.1b2a9422449eep+3 +-0x1.5ee56639d2897p+3 +0x1.ce3f01a07a3f5p+2 +-0x1.be2dd70e5edp+2 +0x1.6ce29683f12cep+2 +-0x1.0d3b1ca3174a1p+1 +0x1.7d225727bef7ep+3 +-0x1.3c2b5016969e9p-2 +-0x1.6de922719f809p+0 +-0x1.03f0bdd8035fap+2 +0x1.0d6602f428581p+4 +-0x1.93ebe18b0047p+1 +0x1.5ae0a08bef236p+3 +-0x1.2a719c30cb0d5p+3 +-0x1.742fb3005a195p-2 +0x1.b79bdf2369184p+2 +-0x1.6b602d21ff3b4p+2 +0x1.bfe6379f030f1p-4 +0x1.2cec801e60175p+3 +0x1.245c173099c85p+2 +-0x1.abda4c4801512p-1 +0x1.394398b3143e2p+1 +-0x1.dfa6b19847336p+3 +0x1.d16fc390808eep+0 +0x1.f4d1b3f38e009p+3 +-0x1.d10818b8ef682p+0 +0x1.8743a0c25f0bbp+3 +0x1.83018df36d098p+1 +-0x1.59ea55d5308fp+4 +-0x1.23ae002016bdcp+3 +0x1.3c3afb33b1acp+2 +0x1.38f42dac7b284p+0 +0x1.5edb4e76d41f2p+3 +0x1.6c045e3dd39bbp+4 +-0x1.0a8ca24d2facep+3 +0x1.6ccf2eab8a74bp+3 +0x1.47f8327e288bdp+2 +-0x1.598493fc87033p+3 +0x1.4969cc49242cp+3 +-0x1.00e09ecb03a35p+0 +0x1.3f1f8a2fe788fp+2 +0x1.b41e10a200f4p+3 +0x1.a9e6001d17ee6p+1 +0x1.d3be6f73e7101p+2 +-0x1.ac8c82b64df09p+3 +0x1.31c6c19e447c1p+4 +-0x1.a4af7cbebbb5ap+2 +-0x1.3a1b7be00b7e9p+0 +-0x1.1943b7cf77fe9p+4 +-0x1.97ff66b9c04f9p+4 +-0x1.fb155e2cc746fp+1 +-0x1.4fe7645a6c109p+3 +0x1.a5ddbae4544e9p+1 +-0x1.179d22c3e5b86p+3 +-0x1.96de8af5e7191p+3 +-0x1.85baf3a469112p+2 +-0x1.4037de82ebcd5p+3 +-0x1.49b318de7e532p+2 +0x1.7111c1a0e9316p+2 +0x1.87312584bcc79p+3 +-0x1.e241c993f2e2bp+2 +-0x1.2686a2ca81bbap-4 +0x1.62dad670275d4p+3 +0x1.6d243f10a94ccp+8 +0x1.6bd41e2777028p+2 +0x1.6c24121179ce6p+1 +0x1.60386d44a9839p+1 +-0x1.b615f49a0f983p+4 +-0x1.07f3490a9c298p+2 +-0x1.3cc789b2bd59fp+1 +-0x1.a68b4861fc928p+1 +-0x1.d507ffa64e72bp+1 +0x1.59338bb7cecf8p+2 +0x1.a531c6fd3120cp+2 +0x1.83ecffaa397b8p+3 +-0x1.81843a2ca9bd2p-4 +0x1.0f1f018e5ebd6p+2 +0x1.4fa07e42f409cp+1 +0x1.a8f4fadc13f34p+2 +-0x1.14837823e5da7p+4 +-0x1.5939a9c5cc7a6p-1 +0x1.6d0185439ccb1p+1 +0x1.f57c3ae86bbacp-2 +-0x1.b137f8f4a5a86p+1 +0x1.1471d089c60e7p+3 +-0x1.6acc7d3ef4a0ep+4 +-0x1.71a6d94c502a7p+0 +-0x1.098f4b4a472ffp+0 +0x1.42455310eaddfp+2 +-0x1.f8f5c6653e6edp-3 +0x1.dfc1551a57591p+2 +0x1.00527856a4b06p+4 +0x1.443d7c9552de6p+3 +0x1.0e905f9b48661p+1 +0x1.4391fb5ed15bfp+4 +0x1.c66d4729c3c24p+2 +0x1.7b8806fde45c3p+3 +-0x1.2715f8aa7c88ep+3 +-0x1.0248a6ad63ffep+4 +-0x1.2b0af21868b07p-1 +-0x1.361b6016fb76cp+4 +-0x1.1f0ec9fb69316p+0 +-0x1.8f0e6c018da73p+3 +0x1.78054e1b5d35p+3 +-0x1.cb4aec2618e47p-2 +0x1.3470a41cca143p+1 +-0x1.eba481139f4ep+2 +0x1.40f52dcd2ebe4p+3 +-0x1.c6027a2a761b4p+0 +-0x1.4b3a52130d66cp+3 +0x1.705e1e16a26b4p+3 +0x1.b7327de6210fcp+1 +0x1.ad41c83c3a259p+3 +0x1.71462b8c525f4p+3 +0x1.76b06c8e7cba8p+3 +0x1.46908265cb9bdp+3 +0x1.319d1a8005081p+0 +-0x1.d7a52dd3c15f3p+1 +0x1.ba3972a1f770dp+3 +-0x1.8d0ac82dc605ap+3 +0x1.0fe622ac03641p+4 +0x1.1065302d17724p+0 +0x1.1c6a1179cc6bp+2 +-0x1.5dbfa0421546p+4 +0x1.b64601e4d739dp+1 +-0x1.da6ae79a5cabfp+3 +-0x1.15a62a9e5275cp+2 +0x1.3ecea6e27d817p+4 +-0x1.96a185c4abe83p-1 +-0x1.684e513ea57cdp-2 +0x1.4e3bbf5034e2cp+2 +0x1.4cc43be40b4a1p+1 +0x1.1221f6967208fp-1 +0x1.2ee5a41ea6483p+2 +-0x1.3d92b18121ff5p+0 +0x1.01bb67e84596p+3 +-0x1.1bfdceea2db11p+1 +0x1.1f2a983fbf55ep+2 +-0x1.ba500c7ab7861p+1 +-0x1.5965004366003p+3 +-0x1.30a81406e81d1p+3 +-0x1.04fb1b5417a86p+1 +-0x1.89cbc470d188ap+3 +-0x1.ad07d671543e3p-1 +0x1.fd1d75354a07p-2 +-0x1.60639285df986p+3 +-0x1.b9159e1173208p+1 +-0x1.d694eec6ac546p+1 +-0x1.3f24d2ae2f4bbp-1 +-0x1.1955e576569aap+1 +0x1.72b21f19c626p+1 +-0x1.314e0ac68d7b8p+1 +-0x1.2df5bcbc006bp+2 +-0x1.557eba094b6acp+2 +-0x1.81e6ac006e2fcp+3 +0x1.a7ad717bac39cp+2 +0x1.560313ac61922p+3 +-0x1.c45b866338985p-4 +0x1.67e681890c33ap+3 +0x1.ba7e912ca1dcp+1 +-0x1.f357ed2c3e2bcp+3 +-0x1.09b9eb54810f9p-2 +0x1.fc3e2b4db2f6fp+1 +-0x1.9e26e12495947p+0 +-0x1.7ea1756f44a3ep-3 +-0x1.ca6f988230272p+3 +0x1.2d26b7a126ac1p+4 +-0x1.568b2a0c5141cp+2 +0x1.a5108d7d0d7a3p+2 +0x1.4babda7b3175fp+3 +0x1.26dcd1aa06077p+4 +-0x1.225def6af59c7p+3 +0x1.79fe5cda272e1p+2 +-0x1.18769a79b2fd1p+3 +0x1.5c3b44953c027p+1 +0x1.4569e195a78d2p+2 +0x1.a00023822669ep+1 +-0x1.6523794969c9fp-1 +-0x1.d684d8864e836p+3 +0x1.ff510ebfa0e94p+2 +-0x1.57c8ecbf7eb19p+1 +0x1.a34be11505e7dp+2 +-0x1.23468be74b7c5p+3 +-0x1.002a5b6899172p+2 +0x1.2f4087324a75ep+3 +0x1.0793e226b1d74p+4 +-0x1.f7308abef165dp+1 +0x1.79bda5fed3d64p+1 +0x1.a57d836c76f69p+2 +0x1.42ab7cb622ca1p+2 +-0x1.007244d95a5c7p+3 +-0x1.33c07ef0cc9c8p+1 +0x1.466cd6187ca26p+2 +-0x1.88cf5ae02c08dp+3 +0x1.b669b3de1652dp+3 +0x1.6ad9428109667p+3 +-0x1.6634f612b09d6p+4 +-0x1.3f494a4b96addp+3 +-0x1.42b2293ddeaf1p+4 +-0x1.891e29dba221p+5 +0x1.0d3b5e4ee466bp+5 +-0x1.2ddc604de5072p+4 +-0x1.400ff12c98dd3p+1 +-0x1.5c5be1c378dbap+3 +0x1.b4e33f73c52fp+2 +-0x1.ae39ad0f8e15ap+3 +-0x1.bf7fe17ba0c4cp+1 +-0x1.499c06436d559p+3 +-0x1.ed18144020c0ep+3 +-0x1.83bbf6fa6882ap+3 +0x1.b0b4eb29ea555p+2 +-0x1.0c5dc548d88fap+2 +0x1.94ebcf8d8a393p-1 +-0x1.56a56431137fcp+1 +-0x1.c32326b50329ap+1 +-0x1.9905919d3f4fbp+2 +0x1.41652f4caff1cp+5 +0x1.242771dc6e74dp+1 +-0x1.22117ba2ea834p+3 +-0x1.22286d796779ep+3 +-0x1.500318d90449dp+7 +-0x1.6cca2ffa217d9p+4 +0x1.a3c1dfeedf43ep+4 +0x1.e900f5d1a4881p+3 +0x1.1598597342c7p+3 +0x1.ed0a61c7533dp+2 +-0x1.182e1193117b2p-2 +-0x1.3f3adb512cfe4p+2 +0x1.df57c33279746p+3 +-0x1.654ebbb34e902p+2 +-0x1.0a0cfe22bc2c5p+3 +-0x1.e095d4be80855p+3 +-0x1.6619ca2007e14p+4 +0x1.6c287a94619c7p+2 +-0x1.1d4e2a67e62e1p+0 +-0x1.23f4887a834c6p+2 +0x1.449d94b0df00ep+2 +0x1.d8c659311b29ep+1 +0x1.6d39a487de06cp+3 +0x1.12bc225f0ca3ep+2 +-0x1.a365ae03cbeedp+2 +-0x1.51a913138455ep+3 +-0x1.18cf58314e826p+4 +-0x1.3e978180b8d28p+2 +0x1.06ac9bedf25b8p+4 +0x1.235799dbceb42p+1 +0x1.6a31bfc341bcfp+1 +0x1.6c31b55811ea7p+2 +-0x1.622ee79b474d5p+2 +-0x1.aee35f5f59dcep+1 +0x1.29c7ce0ecfdd4p+4 +-0x1.2b0f9e41065f7p+3 +0x1.d45120a4049b2p+0 +-0x1.0fa586eb41f9fp+2 +-0x1.26b83ac7fd794p+2 +-0x1.2445893f74ed4p+3 +0x1.b4ee9131bb474p-1 +0x1.46399d4e1c2p+4 +-0x1.6ba6d3d2efe56p+3 +0x1.d721377bb6e5fp+1 +-0x1.ff555cf52435fp+2 +0x1.4a6b33db02575p+3 +-0x1.844adc740d8d9p+2 +-0x1.6e55218295322p+3 +-0x1.504894b4ea26fp+1 +-0x1.d1cb53f040278p+4 +0x1.0de76145c8edbp+1 +-0x1.73e0c67712e7bp+2 +0x1.0ada61a685415p+4 +0x1.029eea9651785p+0 +0x1.b70bfaa3ad021p+2 +0x1.9e8c8f7f9187ap+3 +-0x1.c901edd72f3aap-1 +0x1.0672882f40723p+3 +0x1.689ab81134557p+0 +-0x1.3f04259a11291p+3 +0x1.6103d186627b4p+2 +0x1.2668eeb02a6cp+3 +0x1.cb16fdd19b6aap+3 +-0x1.4f7b4fae57ed7p+1 +0x1.27147dd3e1e39p+4 +-0x1.ce6bd35ce3524p+2 +-0x1.7ca51f6057b97p+2 +0x1.cd3280499dcdcp+1 +-0x1.c551edba0b491p+2 +0x1.262cfd14ac09bp+4 +0x1.36fe357934dcp+3 +-0x1.9245f052c2bbfp+4 +-0x1.d3b524fa091fap+3 +0x1.25e588601bbeap+3 +0x1.3754214fa5f8fp+4 +-0x1.370ddd0286eb9p+3 +-0x1.a8a70d1688f47p-1 +0x1.054ecabb12b0cp+4 +-0x1.bea88d4c7db1cp+5 +0x1.dc8e8a501b11cp+2 +-0x1.314ea7e8cbb01p+3 +-0x1.0346c5a0a1d21p+3 +-0x1.b2e3f93bf2068p+3 +-0x1.02b6ee73d413cp+1 +-0x1.a0eee40621eb1p+3 +-0x1.9b992f0305aa5p+4 +-0x1.2054af34031ccp+2 +-0x1.73dd77de19467p+3 +-0x1.cfa8680656564p+2 +0x1.8262fde381b4ap+0 +-0x1.d8f9bcc6b33a6p+2 +0x1.a6df2a2106b45p+2 +-0x1.3829367a9450fp+0 +0x1.6778731805c13p+2 +0x1.6a5aee06736d8p+1 +0x1.df3121a485716p+2 +-0x1.43f098a81150dp+2 +0x1.8d294b03b815ap+1 +0x1.1cef38d581a8p+1 +0x1.b5a4f257d07bbp-4 +-0x1.26f379f27fe14p+3 +0x1.f4bda3fb4f06ap+2 +0x1.f6bf979349e42p+1 +-0x1.3e3cf1ad7b4d7p+0 +0x1.81156212082bfp+3 +-0x1.7e8ea5e73c72ap+2 +0x1.1a646105cf84p+1 +0x1.26174ca0fbcc5p-2 +0x1.25bd680686004p+3 +0x1.d519268d26483p+3 +-0x1.064c9b0716a7bp+4 +-0x1.1cef4e75d34bep+2 +-0x1.5e8f674accbabp+1 +-0x1.2e4274f77f93cp+3 +0x1.12953e885bf75p+4 +-0x1.293e6e8b42934p+1 +-0x1.dddcdc1496521p+1 +-0x1.1e47acbe705cep+2 +-0x1.590b926332246p+1 +-0x1.1360703e8ac6fp+4 +-0x1.459cf743c9761p-1 +-0x1.67bcab905cc8fp+3 +0x1.2fa67cf63b2cep+3 +0x1.5251af7a509edp+3 +0x1.1c3d2a6dfbad4p+3 +0x1.b8412c65095bep+3 +-0x1.07bfe359bc45p+2 +0x1.7330f228b0e02p+3 +0x1.56f233422ff0dp+3 +0x1.f4906def05d6dp+1 +0x1.27b50de6b22p+4 +-0x1.0ed48d6d76ec7p+4 +0x1.953d87c893f01p+3 +0x1.36463dda68b47p+4 +-0x1.983950dfdf67dp+1 +0x1.99ac8a0555934p+5 +-0x1.c7b1a907e8313p+3 +0x1.afde1ab541a8cp+3 +0x1.285fa3e2bf9c7p+5 +-0x1.da21e970e3eafp+0 +-0x1.99ff8c4ad9db8p+3 +0x1.83676f1a8add7p+5 +0x1.6f8326e1da9bp+2 +0x1.c28a3b6f43421p+3 +0x1.cd4ecb47776a1p+3 +0x1.ab625110275bfp+3 +-0x1.94ff9322b05aep+1 +-0x1.c426fa78b74a7p+2 +0x1.18788662b96f7p+4 +0x1.32b96ecc7006ap+3 +0x1.2c3ef7830f3dbp+4 +-0x1.1b88598cc9b13p+4 +0x1.dc4b4cceb759bp+4 +-0x1.a5469f4c26a57p+0 +0x1.561f6992fadd3p+5 +0x1.47dfb3251627p+4 +0x1.52142d38403c9p+3 +0x1.3e03e30b6ee2cp+3 +-0x1.bc3693a37f35ep+0 +-0x1.cb91aaa1a3626p+3 +0x1.557e4903aa55p+0 +0x1.e5e4ab5194b83p+3 +0x1.e38441e2d579ap+4 +0x1.7c8c92bbc4a2bp+2 +0x1.264a74389f794p+2 +0x1.0e7a962d6488bp+2 +0x1.ca7e18ac707a3p-1 +0x1.a98f84fd29261p+1 +-0x1.77949e180055dp-1 +-0x1.2797a073798edp+4 +-0x1.647f7b6095f6p+7 +-0x1.f9dc9ba0cbd01p+0 +0x1.ea7c8144fd543p+1 +0x1.40597ce4c9b51p+3 +0x1.55a84cd0c47e7p+0 +-0x1.95a4597e3a089p+4 +-0x1.29d5d79ad04bep+3 +0x1.29a712c471e23p+2 +-0x1.3d0e569abcca9p+5 +0x1.0a7cc20c7d2e6p+4 +-0x1.0004300be28b7p+3 +0x1.0e5242e8f6134p+4 +0x1.22c02ada4a403p+3 +0x1.02294ba9f42b2p+4 +-0x1.954bbedc6b8fep+2 +-0x1.35334f351fbc8p+3 +0x1.86f5586558407p+3 +-0x1.cd535be94eca6p+3 +-0x1.499e08a2f31eap+3 +-0x1.1c9accb31c90ep+3 +-0x1.8d574fe79de53p+1 +0x1.70cb7b6d4e73bp+3 +-0x1.4a40c863a79cp+1 +-0x1.77e467a36aedp-1 +0x1.c6c8d6ffca759p+3 +-0x1.5dd1cbd2b8692p+3 +-0x1.3dae8266fdda4p+0 +0x1.8d87b0ae2607ap+6 +0x1.913b6b9768a31p+1 +-0x1.1fcf90ffd8aa2p+3 +-0x1.d77a7678828d9p+1 +-0x1.95cdb7b37f34bp+4 +-0x1.8631c8f540c4ap+3 +-0x1.923fcc30f76ebp+4 +0x1.b0b8aca3171b4p+5 +0x1.2810a269d97f3p+3 +-0x1.8ca9dce4cbe9ep+1 +-0x1.2a2d21eedbc74p+1 +0x1.2bda5ef234956p+3 +0x1.6709be11300cap+0 +-0x1.4ffbdba10e9d5p+2 +-0x1.68234d736a038p+2 +0x1.2bb1ae8ef8c7ep+3 +0x1.87b4d4929ceeep+0 +-0x1.4e68088e8adacp+4 +-0x1.d0707c12cf609p+3 +-0x1.52a5959b394fap+3 +0x1.9101401bbb45p+2 +-0x1.8b90d098ef7f2p+3 +-0x1.d1d9dac127517p+0 +0x1.2718980788dc5p+3 +0x1.37d447ce7c9c2p+5 +0x1.5cece20c4eee3p+4 +0x1.f313347105b11p+1 +0x1.aa524ab3e49aep+3 +-0x1.0eeb1e5b8603p-2 +-0x1.47a6ca64cd91dp+3 +-0x1.d9a428174c1bbp+0 +-0x1.5a923b1f0010dp-1 +-0x1.344001b4907e7p+1 +-0x1.05b38c3f38d03p+2 +0x1.c0a7ada2985a6p+0 +-0x1.2c13717f005dap+2 +0x1.27fc16e8e881ap-2 +-0x1.882acf4c836efp+0 +-0x1.047944a78105ap+4 +0x1.70309fcfe1da2p+3 +0x1.f1bbab3d6f235p+2 +-0x1.c5d9f4fdb17c7p+2 +0x1.f1393e0ba08ffp+2 +0x1.e9586045ed422p+1 +-0x1.5d47bc85e412bp+2 +-0x1.6f0e93c88d0a5p+3 +-0x1.e2665812aae1bp+2 +0x1.adb36f59d5e19p+4 +0x1.565c41a122dacp+0 +0x1.f2799ccb32aa1p+0 +0x1.7c844710a2743p+1 +-0x1.46caa07b703ffp+3 +0x1.e31d4fb689a0dp+1 +-0x1.59ccc239f5c46p+3 +-0x1.020e5edd1515cp+4 +-0x1.d36660f112f5ap+3 +0x1.6dba9f9f3699ep+2 +0x1.3ba1c8ffef856p+2 +0x1.bd102f06faa3ap+0 +-0x1.7aeae377b42a6p+3 +-0x1.438f9e20f41c9p+3 +-0x1.012e9283b5f7p+3 +0x1.c27e666a16a2ep+3 +0x1.38cbe57e018fdp+3 +-0x1.22c3c669b8b2ap+3 +0x1.1ba9d9e41c248p+4 +0x1.15257f4b31a57p+1 +-0x1.2075fe47608fp+3 +-0x1.1c7efc7a9b67ap+3 +0x1.fe8c946c66a5ap+1 +-0x1.0819d858bf39p+3 +-0x1.038a9eead5037p+2 +-0x1.8087add4c81f8p+3 +-0x1.918742725f8dfp+1 +0x1.20fd555b0303ap+3 +0x1.fcd2c32158697p+3 +0x1.ed698f64414b3p+2 +-0x1.776f358e182a2p+1 +0x1.4853fc39260c9p+3 +-0x1.3f79eaf2ee762p+8 +-0x1.3ee6a44f51c61p+4 +-0x1.b82a3a6d1293bp+2 +-0x1.ad2d04c18cb4cp-1 +-0x1.21f4edce3eff9p+2 +0x1.55bc710ae8d5cp+1 +-0x1.3d0ec6188efe5p+2 +-0x1.475885a7251a2p+4 +-0x1.41078f407bdb5p+1 +0x1.dfafcee94a4ccp+3 +0x1.b0ff4e7a76f68p+3 +-0x1.600b8a2956df7p+2 +-0x1.9b5b2af110e8bp-2 +0x1.c6e681cabbb67p+2 +0x1.ad935665e18b7p+1 +-0x1.578464711b7c2p+0 +0x1.ec64b5a0c3bb1p+1 +-0x1.abbf8119033edp+1 +-0x1.24f8436d6f718p+3 +-0x1.a2dfaa2e04393p+1 +0x1.8d24fb7ad7857p+2 +-0x1.2788ece9b16c4p+2 +0x1.ff16da10b8085p+2 +0x1.5a2889568a599p+1 +0x1.5a7bce871320fp+1 +-0x1.32e7a8d7eea1ep+1 +0x1.1a11521871fd4p+3 +0x1.3b2e542c1e62p+4 +0x1.94efe91b3c95fp+2 +0x1.86802f9e265e7p+3 +-0x1.53c150e3b1c67p+2 +-0x1.03be285861575p+1 +0x1.3137b9897d09p+2 +-0x1.83a417283bb2dp+4 +-0x1.efa4c1d19debbp+3 +0x1.6394577a95a4ep-2 +0x1.b1dbc2b1ecba8p+2 +0x1.b369b96ee2253p+2 +0x1.fc462bb5bee5ap-2 +0x1.6d51392abcc7ap+4 +0x1.7e7a1b0007323p+3 +0x1.7862660769f2dp+1 +-0x1.6ae7c3b907a9ep+2 +-0x1.8133fa3427623p+3 +-0x1.cdfa65f85b702p+1 +0x1.741e0943a92cdp+3 +-0x1.21fa96f2f8ebfp+4 +0x1.74c921c68f795p+3 +0x1.389739e6bbfdfp+0 +0x1.1d7148be21d35p+3 +0x1.e4aa193f9afebp+0 +-0x1.37fd90d26dfecp+1 +-0x1.53d1f9d7aa964p+4 +-0x1.8255b6d59993ap+3 +-0x1.11deb4b54fbd8p+2 +0x1.08886e61b0c45p+2 +0x1.4b96497dc59ffp+2 +-0x1.2b6f67a224798p+4 +-0x1.e0b3643adc45ap+3 +-0x1.12ed95c0ee03cp+2 +-0x1.8b89aee29e38p+3 +0x1.314ccaaca1035p+3 +0x1.87435f68b34e9p+0 +-0x1.d4a9483f12427p-1 +-0x1.99b515881f6cap+0 +-0x1.ee1d488631816p+1 +-0x1.9d35b86e7c263p+2 +-0x1.56237c949e8e4p-1 +-0x1.03d15b0d97219p+3 +0x1.4ffcd9d818ae6p+2 +0x1.c139e6d696342p+7 +0x1.5133ad7106548p+1 +0x1.009283a18c1aep+4 +0x1.07c4ddcb918bdp+4 +-0x1.95ea5c54bc18cp+3 +0x1.386d7dc6e3417p+3 +-0x1.5a5e8c2521fd6p+3 +-0x1.af989e4947cfdp+3 +-0x1.27991a7d09b85p+2 +-0x1.15d2831195258p+3 +0x1.1b44b08ab53c1p-1 +0x1.5f6781160be05p+3 +0x1.0bf612f351c61p+3 +-0x1.9f38cf42e00f1p+2 +-0x1.43a4967bb00bep+3 +0x1.68aac4d7b3d3p+1 +0x1.ef3afd2095dc3p+3 +0x1.54dfebba7fa62p-1 +-0x1.4fd2c8f5693dbp+8 +-0x1.711489641cd15p+2 +0x1.9f1c72d812b87p+1 +-0x1.4434d1ebed83p-2 +-0x1.afc14d5e8c3eep+1 +-0x1.455daebdf6adfp+3 +0x1.acf13044f03d4p+2 +0x1.4e80dfe65c1afp+4 +0x1.19b8cda13354p+2 +-0x1.5ee4ad12698ddp+2 +0x1.0a8d70c4098edp+1 +0x1.520dc30074f27p+3 +-0x1.11866a04f54efp+1 +-0x1.1c7a82429cf26p+2 +-0x1.1f30a465dcd4ap+0 +-0x1.99d2c8c0fd6b6p+3 +-0x1.2b82cf4a33803p+3 +-0x1.93c2d48f6d37bp+3 +0x1.39fecfd64ff1bp+4 +0x1.2695f503a1034p+3 +0x1.600d2030d4b7ap+2 +-0x1.0b8dd596f5bd5p+2 +-0x1.f425a82373d73p+2 +0x1.4b5c294c7313dp+2 +-0x1.0ec4186195b3ep-1 +-0x1.ca3d06a0a765fp+2 +0x1.c09396520026ep+3 +-0x1.b627ee843c73bp+2 +-0x1.096a8aa7ed4f6p-3 +-0x1.0d4f3af84da03p+4 +0x1.944d05461329dp+4 +0x1.0425a6d785f2dp+3 +-0x1.d61f6837ac4b4p-1 +0x1.6d023aac00fbcp+3 +0x1.933c81e1c4943p+2 +0x1.13a3334f2e878p+4 +0x1.c5ea91fb1b93cp+2 +-0x1.e8ea4164468dp+1 +0x1.0d42da5210571p+4 +0x1.595fcbd02d671p+4 +0x1.c194e3f315f64p+3 +-0x1.9ad366e8effb8p+3 +0x1.007d37417608ap+1 +-0x1.57e1f6c6d573cp+3 +0x1.32db2d271fe62p+2 +-0x1.31379c812a147p+5 +-0x1.041f508987416p+3 +0x1.b9c91cc5bb8dap+2 +0x1.7a867aaf305d8p+1 +0x1.eb27f1de1e8b3p-3 +-0x1.03be5189fb2c7p+2 +-0x1.52af4eae2f8cdp+3 +-0x1.bd7b6100d3ad6p+0 +-0x1.25431fc457482p+3 +0x1.138a6628861bdp+2 +0x1.9a91e7d03f1efp+1 +-0x1.33ded49f9c50fp+4 +-0x1.a8eb00cdb5d14p+2 +-0x1.49fa9348de5a1p+3 +-0x1.259a3c566d8a9p+2 +-0x1.95b3dd8efd905p+4 +0x1.4b9f330cfc245p+2 +0x1.7dbfce7ec83d6p+3 +-0x1.21b4a168054c6p+3 +0x1.824c447fb11cbp+0 +0x1.f116da0ba7cc8p+1 +0x1.ebabcda1196b5p+1 +0x1.925a3fd6ff587p+1 +-0x1.14fc31b0ff189p+3 +0x1.63a511b4db8ccp+3 +0x1.15ba7a8653866p+4 +0x1.8466c379cbdbap+2 +0x1.84977ca151cb3p+0 +-0x1.eb36cbf6801dp+3 +0x1.440ad2a98d43dp+3 +0x1.cd429e779b824p+2 +-0x1.8c4bc544cd1bfp-3 +0x1.8190b9d9083ecp+3 +-0x1.2df05f36fdaafp+3 +0x1.35df15fc22ba8p+3 +0x1.07242ce31c6a7p+1 +-0x1.cd67e1fe2422cp-2 +-0x1.5961e9e14dec1p+3 +-0x1.e2a745b5af8f2p+1 +-0x1.3cbfa677501eep+0 +-0x1.f058ffcd6005p+4 +-0x1.c45c988b3410fp+1 +0x1.9a1ef5d27118ep+2 +-0x1.90db69aaef2c1p+3 +0x1.d1d4204ff437dp+3 +-0x1.44ac86811a6d9p+3 +0x1.c9a13538aaebbp-1 +0x1.cc3b86b9c0a6ep+2 +-0x1.698139712b7f4p+8 +-0x1.0594b184d79fdp+3 +-0x1.c498c56f32479p+2 +0x1.179f4b5cd17aap+1 +0x1.4090a1bcc2ec2p-1 +-0x1.2b3ff0b062386p+3 +0x1.13ee054492f2cp+4 +-0x1.3137d80093491p+4 +-0x1.313c56585e699p+3 +0x1.741f161d32f3bp+1 +0x1.493fe9f537b78p-2 +0x1.4fb2bccfd2d68p-1 +0x1.ed6a8b15b8be9p+2 +-0x1.cc15a862259b7p+1 +0x1.5633c05f7a46fp+2 +-0x1.3e134add113f2p+3 +0x1.12b1005b22b47p+1 +0x1.1aeb61426328fp+3 +0x1.79663a29b666ap+1 +-0x1.baf47d346ce78p+1 +-0x1.a05bd176b09a2p+4 +-0x1.ca1722692702p+3 +0x1.3f96d0aca6e84p+1 +-0x1.cffb5faf56416p+3 +0x1.1bc7d64f7e88ep+4 +-0x1.c7134d7036ad6p-3 +0x1.c78bbfda3a95p+2 +-0x1.e94cd7739b60dp+3 +0x1.79a70fa689b9ap+2 +-0x1.ecf6d3a57cc09p-2 +-0x1.585a02661ceedp-1 +0x1.4a3df05c259bp+2 +0x1.ab5183e1c7adbp+2 +0x1.1c1ede5326459p+3 +-0x1.dd99f622f7545p+1 +0x1.1838dbfa81469p+3 +0x1.529d81f42d5acp+5 +0x1.24b63ac39fdf9p+1 +0x1.f32fd1783b6f3p+2 +0x1.031be0aa04371p+4 +0x1.71f081431cf51p+3 +-0x1.62af5a629c755p+2 +-0x1.1715a6f08969fp+0 +0x1.0754657c804aap+3 +0x1.947885e97e03dp+2 +-0x1.90575d20bb556p+3 +-0x1.8309335e00133p+3 +-0x1.812b55758672fp+2 +0x1.3c80d190bdce8p+4 +-0x1.8bf8bb0d64cc4p+3 +-0x1.f37a31ab0e9fp+6 +0x1.d61d32172af34p+1 +0x1.499c3ea81525fp+4 +-0x1.882b23d76c11dp+2 +0x1.dda67d5f66794p+3 +-0x1.09808a60a771ap+3 +0x1.398e7edf78cdbp+3 +-0x1.3063d0694338fp+3 +-0x1.7ec9ae7f97a17p+1 +0x1.f04409314dd52p+2 +-0x1.050448b51b652p+3 +0x1.a4ff5272dc881p-1 +-0x1.3964fb23cc841p+3 +0x1.86704fc12516ap+2 +0x1.cfe84af063ca6p+2 +-0x1.ed955f772e571p+2 +-0x1.2556ccccf9012p+0 +0x1.849d893c5b954p+0 +-0x1.798cb6bde6c61p+2 +0x1.71a556177b0dap-2 +-0x1.8cc8f95c6cdf8p+2 +-0x1.56634872e972dp+2 +-0x1.2b2d4a7033c4bp+4 +-0x1.c73028006561p+1 +-0x1.d263e36bb016fp+1 +0x1.ddf0d59bee357p+2 +-0x1.0509cac06c2e7p+3 +-0x1.bbe614b970cefp+2 +-0x1.9bd2252cf2796p+0 +-0x1.b94f47e59f495p-2 +0x1.be3582de460bfp+1 +0x1.358d4a353c286p+2 +0x1.8aec952ed7129p+4 +0x1.61fc69e2a0f0fp-2 +-0x1.5088e302bc0b6p+1 +0x1.41de9ca4901a5p+4 +-0x1.68afef71cd2eap+3 +-0x1.b6ca616eafbc7p+3 +-0x1.76bba6af42f4fp-1 +0x1.d7ea35cb148bfp+2 +0x1.374c532097ec3p+3 +-0x1.052b50e85b7a3p-2 +0x1.87ee8840f7611p+1 +0x1.0c46dd2d91fb6p+8 +0x1.5d37d3dc1d8abp+4 +0x1.e66a05bc261dcp+6 +0x1.0edf11aec5fdbp+1 +0x1.0c8d9d794661dp+4 +0x1.3205c2ca5aef7p+3 +-0x1.5d295d89e924bp+3 +0x1.7f14a524dp-1 +0x1.7b26c0a800a62p+3 +-0x1.da9892cd0b459p+2 +0x1.8e5d31093b5d2p+3 +-0x1.708eeafab8902p+5 +0x1.2ee5819df93b4p+3 +-0x1.73eb0cd9b5626p+2 +-0x1.83304657baaf9p+2 +-0x1.adacd4cc06cf6p-5 +-0x1.6efc6893710bep+3 +0x1.c8b3ace12284cp-2 +-0x1.2568fb2396482p+0 +0x1.02d87cbb1fff2p+4 +-0x1.14be91f9772cbp+3 +0x1.0375cd655899cp+2 +-0x1.18485e8a44d64p+1 +0x1.5bc09ed9cdd82p+2 +0x1.bcfd584340f97p+1 +0x1.8af0ffd37f58bp+0 +-0x1.6d337203eb9cap+1 +0x1.10b19c9076ceep+3 +0x1.836b72b61f2fp+2 +0x1.0a4a00aca0b9ep+3 +0x1.416fcebd19a48p+0 +0x1.94f14a6156fdp+3 +-0x1.70f9d2124ee03p+0 +0x1.20ad7f958471ap+4 +-0x1.71307a8c176adp+3 +0x1.a8b347d8c1f61p+2 +-0x1.89c035794f7f4p+2 +-0x1.0a2432e839c8p+3 +-0x1.189fc6be0afccp+4 +0x1.72edf00b66bcfp+3 +0x1.2b4d6762afbdep+1 +0x1.40cc63b405f5dp+3 +-0x1.4abfab7341609p+3 +0x1.dfa63b0fdebaap+4 +0x1.64f681833dbc4p+0 +0x1.1112b3b3c8f22p+4 +-0x1.a48174bafd5d8p+4 +-0x1.0e144bdc44ed9p+2 +0x1.5a481ca154b46p+2 +0x1.809fbc83c929ep+3 +0x1.6b44f12a7d26p+2 +-0x1.59e9dca84a411p+3 +0x1.4855191b6b81ap+2 +0x1.10b7a227832a2p+2 +0x1.cdb3378de1b5cp+3 +0x1.c0250a3f0ee15p+2 +0x1.377067dc6e7c7p+1 +0x1.2979271738f55p+4 +-0x1.f873a8e687e9p+3 +-0x1.157e673820eap+0 +0x1.800df6856fc8ap+3 +0x1.466ab9b8789dap-1 +0x1.ef880683693d1p+3 +0x1.f2e253181ca5ap+1 +-0x1.43777342dc8a4p+1 +-0x1.5cd895b4eb254p+0 +-0x1.05a0c4b9a4669p+4 +-0x1.1245cf8c23ab9p+2 +-0x1.ccdd5a6d8281ap+0 +-0x1.272c82dc162a2p+2 +-0x1.055fb86e2ccd3p+0 +-0x1.466ac2b21738ep+3 +0x1.a6c91e6fe171dp+3 +0x1.3066d4b364ef4p+2 +-0x1.b0a3bd2f5652ep+2 +-0x1.342afa211027p+3 +-0x1.d77bc7685d6c8p+0 +0x1.9aa08db518726p+2 +-0x1.2ea197062c162p+2 +-0x1.2f36d7c959ca1p+3 +0x1.7a53639dd788ap+2 +0x1.4926c421e4915p+3 +-0x1.03e69f38a4ee5p-1 +0x1.238aa8ee66c36p+1 +0x1.048b0a42f343p+4 +-0x1.d5859fffa90b5p+2 +-0x1.007e4fa21430bp+3 +0x1.96a6308e5c397p+2 +-0x1.76ed2cb35870ap-1 +-0x1.0cc9aad9f1c9ap+2 +0x1.091107f239ae7p+9 +0x1.822d0749780e5p+1 +0x1.c45b0e6e7738bp+1 +0x1.790f0dafc1459p+4 +0x1.0a21be4dd47c4p+3 +-0x1.9642047a993ap-1 +-0x1.bfabadc68b15fp+1 +0x1.210255932d54p+3 +0x1.2fc9db1b75ca2p+1 +-0x1.1471766ce02b2p+3 +0x1.175a2c1b8f37fp+2 +-0x1.36597f1348e47p+1 +-0x1.e31eab65e8318p+1 +-0x1.e1965d3cb9fbep+2 +0x1.f7475b5a9017ep+1 +-0x1.79fb7cfe7977cp+0 +-0x1.4de6359300504p+3 +0x1.ede511307bd3ap+1 +0x1.9212f40634075p+2 +-0x1.19d440a253d91p+3 +0x1.6cff27b033a98p+3 +-0x1.d7d25a8692b75p+2 +-0x1.29d019df7347cp+0 +0x1.7de18f312e023p+1 +-0x1.6076327079b08p+0 +0x1.a2f31df57cbc2p+3 +0x1.03ad6c038bae7p+1 +-0x1.db1d972653debp+2 +0x1.376e9ed8e07cfp+3 +-0x1.85672ff55f928p+2 +-0x1.73156b6d0deacp+3 +0x1.0d7cef77cc338p+3 +-0x1.1541a0e1f072fp+3 +-0x1.6c5065583d0bfp+3 +0x1.69ca3a3d5c563p+2 +-0x1.90635717d175bp+0 +-0x1.25ba9de4801d4p+3 +-0x1.c4e9cc72cf96ep+0 +-0x1.325732defb2ebp+1 +0x1.2f0699269aaa1p+2 +-0x1.a64d55123701ap+3 +0x1.369fd74ae1da3p+1 +0x1.49c1014a62ff4p+1 +0x1.cf3660caa3931p+2 +-0x1.3a1d80da24205p+7 +0x1.5cb90ecf0f3a1p+2 +-0x1.c30378be5c0dfp+2 +0x1.1686c9472230ap+4 +-0x1.3cd1502aade15p+8 +-0x1.4562f7260c3e7p+3 +0x1.3f4fa7719b902p+4 +-0x1.46e6ffe16e0ccp+3 +-0x1.a5850da16cca9p-3 +0x1.5003d725761a3p+0 +0x1.69dc1f7b7e925p+3 +0x1.b764183b5a385p+1 +-0x1.9a6b271179b8p+3 +-0x1.1c06d5b5b4a66p+0 +0x1.4df8bcc94142p+0 +0x1.74fad690f19c7p+2 +0x1.1ea5d35dd5686p+1 +-0x1.c23aee10f81d8p+2 +-0x1.2287a93fd61b4p+4 +0x1.f460e06de5aacp+2 +-0x1.2815a1b07c54bp+3 +0x1.11c6217332b49p+3 +-0x1.00a04cf45f11cp+3 +0x1.86c3af6fb8dcdp+2 +-0x1.0c876ec92eb01p+3 +0x1.f3c1ad21e5c04p+1 +0x1.0bb5ac9d6c843p+3 +-0x1.4f4a7406ab1b7p+1 +0x1.07af900c871b3p+2 +-0x1.46bf6195f0b8p+2 +0x1.c90ac681e08fcp+0 +0x1.7ed407c698a0cp+9 +-0x1.3f7d85617224ap+4 +0x1.1758ae98db17bp+4 +-0x1.ea024acea2537p-1 +-0x1.1f4fa2b492b38p+2 +0x1.4c538ca9528f2p+2 +0x1.01fbb1ed22fd8p+8 +0x1.2ab1b48ad28cbp-3 +-0x1.caaed2aa535acp+3 +-0x1.24519068ea36cp+1 +0x1.69ed3479d1592p+3 +0x1.47e6d790f634cp+1 +-0x1.9eb4311f435eep+3 +-0x1.a44f2b72a6389p+2 +-0x1.2ac157fd826fap+3 +-0x1.db1caf4b9bd53p+3 +0x1.16e9e1f95d374p+4 +0x1.05cdbb3d89171p+4 +0x1.b725d6bada087p+2 +-0x1.e13268cd2aa13p+2 +0x1.17151f0f57758p+4 +0x1.65a18f2911d4ep+3 +0x1.eadad7880dc7cp+2 +0x1.ac8a55117ff58p+2 +0x1.7a2ebcd3132a3p+2 +0x1.db349c733be21p+1 +-0x1.1a776bd74a263p+2 +0x1.32d48716a741p+8 +0x1.554a4a4f44303p+3 +-0x1.ddb5b077db514p+2 +-0x1.dd0ba5689275p+0 +0x1.a48bfa512ecf3p+0 +0x1.d9636522d3966p+0 +0x1.12adeb76d0923p+0 +0x1.da0a21bac7556p+3 +0x1.156a995667945p+3 +0x1.1b26056668539p+4 +0x1.5ffe4e1ce3c6cp+5 +-0x1.30556be8545ecp+8 +0x1.e3066064b888cp+3 +0x1.ea15a2c566553p+2 +-0x1.6d3b58ce376dap+1 +-0x1.9e00f866890bap+0 +-0x1.8ff59db4be96dp+3 +0x1.2f98cb8642cc2p+3 +-0x1.45677decb3a4ap-3 +0x1.922747f2a0d25p+2 +-0x1.7be3357268cabp+2 +0x1.9ddeafae2f1a2p+2 +-0x1.43206fa87db8cp+1 +0x1.e20cc5134fc1cp+3 +0x1.b9b8634f7f653p+0 +-0x1.eae821b209977p+1 +0x1.0c96ac7d34633p+3 +0x1.35b72ad3bbca5p+1 +0x1.cac6e7b65b8cbp+2 +0x1.0af7d6078d088p+4 +0x1.2c2305d43d128p+2 +-0x1.cf690c0f45ec8p+3 +0x1.d311112e50e45p-2 +-0x1.98fce96d30f19p+4 +0x1.23b70373754b8p+2 +0x1.0c4847b0d2f0bp+1 +-0x1.5860397dfba8ap+3 +-0x1.67125bfdb8d5ap+0 +-0x1.73f743c3b6853p+1 +0x1.247b8f8ccc663p+1 +-0x1.c8c830419d314p+0 +0x1.4d8684b15174ap+0 +-0x1.31e5bbe4b1041p+1 +-0x1.6a5f4f262dd4fp+2 +0x1.328cee4e45ccep+5 +-0x1.3f27388aa5e87p-4 +-0x1.f8d385707773p+1 +-0x1.c210067d307e3p+4 +0x1.6a6e6dbb0ae92p+2 +-0x1.478d084c24b1cp+4 +-0x1.67edbc69ad78dp+3 +0x1.b51483295478cp+3 +-0x1.50030faa6eb28p+4 +0x1.575dfbdc38cf9p+3 +-0x1.6a8cf7feb7582p+1 +-0x1.b6b8667aa74cap+1 +0x1.ce4123a0a84b5p+2 +0x1.62112e0bbc268p+3 +0x1.28ce0983a8dedp+1 +0x1.213015f809142p+4 +0x1.43304b637c3acp+2 +-0x1.51d477cd1e443p+0 +0x1.d503f98ebb95dp+2 +0x1.273c008808a64p+1 +-0x1.3025efc5c1a25p+3 +-0x1.02687ecb11cbdp+0 +0x1.66135128b9cb8p-1 +-0x1.509f27e73b934p+3 +0x1.d23a852bd5f0ep+0 +-0x1.242bd62f08365p+3 +-0x1.04304d39a543p+0 +-0x1.45019f6ce20dep+0 +0x1.beed83423efap+1 +-0x1.53f34ba641ee8p-3 +-0x1.208fcd6d28d79p+2 +-0x1.70703fb753b26p+3 +0x1.d1394f6d8b6e3p+1 +0x1.a43101466751dp+2 +0x1.c29d963d6b081p+1 +-0x1.e33ab463be076p+0 +-0x1.366598c6477dap+3 +-0x1.f8237523b08c3p+1 +0x1.03857fe8ee0e8p+2 +0x1.5451ba35a5febp+2 +0x1.6e5239a777e87p+4 +0x1.1f536f8c3a9a1p+3 +-0x1.c929ababbfb8ap+5 +-0x1.8854f5859b131p+1 +-0x1.c3be88b49851dp+2 +-0x1.02f8e586a3279p+4 +0x1.21c30e22f14f6p+0 +-0x1.3926091ebda81p+3 +0x1.305d357698347p+2 +-0x1.d26daedaae983p+7 +-0x1.1e22be3777ef4p+8 +-0x1.26a326b56fe12p+4 +0x1.1b64db98208fap+4 +0x1.7bcd7003e6d6fp+2 +-0x1.a82ce57592079p+1 +0x1.67b03836f5aa7p+3 +0x1.5e4283ca6c241p-3 +0x1.cfcf836d5392cp+0 +-0x1.2b401795d946dp+3 +-0x1.c6fd363678493p-1 +-0x1.33102f4ebb9a7p+6 +0x1.8de14c2cc9f01p+3 +0x1.7f98b91a03e46p+1 +0x1.0f7247b50334cp+3 +-0x1.2d12805eb5909p+4 +0x1.846442eacfebcp+3 +0x1.6d9611ee86c07p+3 +0x1.96116870cb86ap-1 +-0x1.839769e537e24p+3 +-0x1.2f42aac30e2aep+1 +0x1.5d6bc7806424ap+3 +0x1.9996b84f96662p+2 +-0x1.a8bafccdb41e6p+2 +0x1.3285bdb4fa9f2p+3 +0x1.110c02367d253p+2 +-0x1.2dad96b14bf91p+4 +0x1.46808eb8e1774p+3 +0x1.ed810ac9bb8e1p+5 +0x1.096d3b776c546p+4 +-0x1.cd342000f6664p+2 +0x1.a67102679fac3p+2 +0x1.28e3ec87889f4p+0 +0x1.a19fbcfccdc6ap+0 +0x1.09be5d0cb7856p+2 +-0x1.5430beb9610b6p+2 +0x1.75d5e038ac0f7p-1 +-0x1.5bfc9d41f5ebbp+1 +0x1.be2ff551eddbcp+1 +0x1.d4b28598a8e23p+3 +-0x1.6b4690029a7ccp-2 +-0x1.02549571178aep+1 +0x1.bfc7f6c35be18p+1 +0x1.e3112d1af4a46p+0 +0x1.acab6c6393094p+2 +-0x1.9afc7bb4f6565p-8 +0x1.77b4bb4d423ap+1 +0x1.36b19acfe25a1p+1 +-0x1.23e871edef727p+3 +0x1.db2ddac37ca1cp+2 +-0x1.092de26708424p+3 +-0x1.f092f892cd9d6p+1 +0x1.7bea30f3984fep+2 +0x1.7165e0ba9295dp+2 +-0x1.3c64f457f8e52p+1 +0x1.b6ff562c52235p+1 +-0x1.2314ea8b15061p+3 +-0x1.142ff9dfbb23dp+1 +-0x1.150e7712add1ep+6 +-0x1.c92e0c2a54133p+0 +0x1.06c51e84671fbp+4 +0x1.a0159569e1f3ep+3 +-0x1.3129a7cfdb577p+3 +0x1.044c62f184fc6p+2 +0x1.42a4c62e48b06p+3 +-0x1.499054d9f46fbp+1 +0x1.c2508eafe06d9p+4 +0x1.b0988c0f83cecp+1 +0x1.2ddbfe18d8826p-1 +-0x1.b7f9bd636831ep+1 +0x1.115e34c58e19ap+1 +0x1.dc6c603442aafp-1 +-0x1.ba1ae2c07ac75p+2 +0x1.3693e012fcabep-6 +0x1.6dbe5bf300e55p+3 +-0x1.eb49103b390a7p+3 +-0x1.0b08cc9be0634p+4 +-0x1.2bd6cef833e2fp+0 +0x1.f7caef80e9a5bp+0 +0x1.1b7644ee2ae9bp+4 +0x1.101dafef3b907p+2 +0x1.adad944e69acfp-1 +0x1.b77d9af425f21p+0 +-0x1.428fcec36401ep+4 +0x1.e4e7ac29f81bap+2 +0x1.0fbaca8f0a16dp+3 +-0x1.55888c7627ba2p+2 +-0x1.2431bd4d8e4bcp+3 +0x1.d6a132370005ap+1 +0x1.fce08437fe2d8p+3 +0x1.53a55f1912a6ap+2 +-0x1.fce03b7241f59p+0 +0x1.3253a42dae898p+0 +0x1.7f6e59a804fbp+3 +-0x1.21982f9c940bcp+3 +0x1.61f442c53ecp+3 +-0x1.8931393a798dep+3 +-0x1.f7f475da5a2ap+2 +-0x1.28607bb3fc629p+1 +-0x1.cab3de8effc78p+1 +0x1.d85946505a3f1p-1 +-0x1.a78303c468dfap-1 +0x1.4a21671da1acdp+1 +-0x1.05e1a238b6133p+4 +0x1.5149ca73fd176p+4 +0x1.ed04b0cfffa48p-3 +-0x1.83e4bc1174885p+0 +0x1.3b79908f0d1d3p+2 +0x1.79c1dd7c5258dp+3 +0x1.d498ffa72632cp+3 +0x1.dfb08762dc93cp+3 +-0x1.67b0546bb87fp+3 +-0x1.4da0bb702b88cp+3 +-0x1.777ebb6027da6p+2 +-0x1.1f81a63d09d0ap+3 +0x1.35464d7a99f02p+4 +-0x1.fb45b1a8ddea4p+3 +-0x1.1e16945c00e01p+4 +-0x1.00f97b6ebe885p+7 +0x1.470319b89e6b3p+3 +-0x1.2047d8a47245dp+3 +0x1.c98b8a0f6bb2fp+2 +-0x1.a0609a50cd2a3p+3 +0x1.3d6f775e16825p+2 +0x1.15abce366a1aap+2 +0x1.f2be5970b6e4p-1 +-0x1.34b93afbcadd3p+3 +-0x1.1c9beafc52c79p+4 +-0x1.838fcc8914937p+3 +-0x1.e3dc54c5445cbp+1 +-0x1.25c04961d1e73p-2 +0x1.279e6af8d355cp+9 +0x1.2a086b34bad3cp+3 +-0x1.b069453cd8835p-3 +0x1.9e2060b2d826ep+0 +0x1.8017a927fbba9p+3 +-0x1.743d1404daa3dp+2 +-0x1.16cd556ccca7fp+3 +0x1.3247803f05a12p+2 +-0x1.20e082cd5db02p+2 +0x1.0db4bbc981734p+7 +-0x1.2d1531bec51fcp+3 +0x1.3249f8c57eee3p-1 +0x1.f6cb8dd6b2485p-1 +-0x1.9aa5f33fbd698p+3 +0x1.5a682f42217c1p+4 +0x1.23a0388ca7f5cp+3 +0x1.4468797dfab5dp+4 +0x1.41276839a1b1dp+0 +-0x1.4d0859196edc7p+2 +0x1.43040cc0ff2p+2 +0x1.abc681351eb31p+2 +-0x1.126bbe5ea6327p+1 +0x1.66f807ec28188p+0 +0x1.344f6b9f7ffe5p+0 +-0x1.05a2cf577997dp-1 +-0x1.4845313a7ad1p+3 +-0x1.464facbbec9a4p+2 +0x1.f430e39483992p+3 +0x1.5dc3812f4d36p+2 +-0x1.f5dbc834ab847p+1 +0x1.5b76788eb0ddap+4 +0x1.134ee1b37c60ep+4 +0x1.d99bd6ddef6f6p+1 +-0x1.1b9c7bdc59c2ap+0 +-0x1.33198cadb8951p+2 +0x1.7925c1dcd4667p+4 +0x1.f5dd756851115p+3 +0x1.403f86f9dc5fep+3 +-0x1.1830538a5b918p+1 +-0x1.beed55de6bae4p+3 +-0x1.2b5ac698fe934p+3 +0x1.04012bcd43c6p+8 +-0x1.2da19cc1aef01p+4 +-0x1.8937b28900d7cp+2 +-0x1.41e50693740e1p+1 +-0x1.05150bcf34211p+3 +-0x1.20300baec76bdp+2 +-0x1.9ae390844e40ep+1 +-0x1.164122218006cp+1 +-0x1.1abfcefcf3f81p+4 +0x1.17beae5350747p+1 +0x1.34bf78f74c29ep+7 +-0x1.07b6e61b68e6ap+1 +-0x1.362c69e55b2fep+3 +-0x1.9c36893153484p+2 +0x1.ffd7f10a302f1p+0 +0x1.2dbb443aaa6ep+1 +0x1.f61562b29d25ap+2 +-0x1.7207b48216746p+3 +0x1.f65353a0b9da3p+4 +-0x1.75abd8edfab74p+3 +-0x1.a88d624960801p+3 +0x1.64926415cba5p+8 +0x1.8a88dcc77efb6p-1 +0x1.a884029688d1fp+1 +0x1.6485345ee1a7fp+4 +-0x1.1cebc81c01fd2p-1 +0x1.c5ed6cf98a478p+2 +0x1.df70c125c0baap-1 +-0x1.c1aead0b5b346p+2 +0x1.148e1f9854b94p+1 +0x1.caf8ec5d455c8p+1 +-0x1.a202389c7f194p+2 +-0x1.e7f840fb59b7cp-1 +-0x1.096f61051c6ddp+3 +-0x1.b1df2cf01b757p+3 +-0x1.947ccefa62ddap+2 +0x1.77ee0e77dbb4dp-2 +-0x1.7065b12412a5bp+3 +0x1.5f965f0f62b5p+1 +-0x1.26f5773155c6ap+3 +0x1.c6c8ad677c9c5p+2 +0x1.78b90b0b1b5dfp+3 +0x1.a1b4dadf8a56dp+1 +-0x1.015c7763d5265p+3 +0x1.be6a765d8347dp+3 +0x1.7ed893be4966ap+1 +-0x1.e0003bcc18fafp+1 +-0x1.5c160087d13eap+3 +-0x1.59a6b6f29cf29p+4 +0x1.aa2862cbb769bp+3 +-0x1.7aab911c8aadp+1 +0x1.fdb38859ddf43p+1 +-0x1.5938dc30fd30cp+3 +-0x1.d7c554085d5a2p-1 +0x1.e210a0bf8f99fp-4 +0x1.a986b5230b36fp+4 +-0x1.fff25f4a72eedp+1 +0x1.6f793385230f7p+2 +0x1.3da119868da26p+3 +-0x1.c4003d8b53de2p+3 +0x1.a76fe84f2880bp+1 +0x1.abe2da4ad8732p+2 +-0x1.0d5349f5b67dfp+2 +0x1.ff702d4ed0804p-2 +-0x1.35002db898044p+2 +-0x1.63849d081f05ep+2 +0x1.94361da142b4ap-1 +0x1.d47f3a3245f57p+4 +-0x1.e4fb66d838d2ep+1 +0x1.8fe30a34f5e35p+4 +0x1.44387257d5bfbp+2 +0x1.0ca332371c40ap+0 +-0x1.578ab9ef861f7p+3 +-0x1.10d79e9cb8f16p+2 +0x1.c6099bd3ca797p-3 +0x1.5d0f65971b27cp+4 +-0x1.3835014acf332p+7 +0x1.c1ccc8c5cd408p+3 +0x1.985ffd2ee5e43p-1 +-0x1.fb5329346621dp-2 +-0x1.3cfff78876e9fp+1 +-0x1.22f3ba0395186p+3 +0x1.def44ad7156e2p+3 +0x1.905e4e3bd0e7ep+2 +-0x1.255561496ae2cp+3 +-0x1.c97c63e53d3cp+3 +-0x1.33da44a041aaap+3 +-0x1.c2696b463463fp+2 +-0x1.3eeae4da1dbbbp+0 +-0x1.fbeee1a234ff8p-2 +-0x1.d3bab7eb5a63cp+0 +0x1.2706c70c3b58dp+4 +-0x1.9a7891fc6ac5fp-3 +0x1.4d302d7ff7e22p+3 +-0x1.69c61490d578p+4 +-0x1.b3bd6e7b3f61dp-3 +0x1.e2c9fc93c6f4ap+3 +0x1.5581ebaa8cefp+7 +-0x1.7b25d27af2cd4p+3 +-0x1.1af3ef9b607p+4 +0x1.9dc8926006df2p+2 +0x1.00be2665efa1fp+4 +-0x1.fe4081f61ea09p+4 +-0x1.c53c97c72374ep+3 +-0x1.115f2473cfb17p+4 +0x1.44a8ad3a12aebp+2 +-0x1.4133b72b23b86p+3 +-0x1.734b4800560dap+3 +0x1.68030e45b58acp-2 +0x1.43814cc4b44f9p+3 +-0x1.192b6683fd931p+2 +0x1.ba8a37f29309ap+4 +-0x1.8643bae1e2023p+4 +0x1.4759edcfe091bp+3 +0x1.11192e600b218p+3 +0x1.b4b46f4c9a573p+2 +-0x1.62c9048a4cef9p+3 +0x1.668dc668679dbp+3 +-0x1.e4bd943e1497dp+2 +0x1.1293bdebe151fp+6 +0x1.e87f5c8d29f15p+3 +0x1.539a95b61ea6dp+3 +0x1.3f961eda5709dp+4 +-0x1.fa37d82b4545bp+1 +0x1.2e5e891c26fc1p+2 +-0x1.a193abc8edbf6p+2 +0x1.a2c6073cc8079p+3 +0x1.55e4417b47c85p+3 +0x1.642d82e3ad7dfp+2 +0x1.197db6009b25p+3 +0x1.e05ad7abeb5ddp+1 +0x1.1cedad29320e9p+4 +0x1.524d739ed521cp+3 +0x1.cce582bcb439dp+2 +-0x1.e0c795fb91295p+3 +0x1.49097a1422819p+4 +-0x1.4118e1069a71dp+4 +0x1.5e7e8a28e6256p+2 +-0x1.735a1426718c4p+2 +0x1.7f44420d028eep+0 +0x1.06d9ce7a33e8dp+0 +-0x1.12fb4375fad56p+3 +0x1.21a16151dd2cfp+2 +-0x1.a1707343491afp+2 +0x1.8cf59a41c8393p+2 +0x1.460e8c7e31713p+0 +0x1.5e4f72ead268bp+3 +0x1.57de2d0fcf48p+2 +-0x1.1ececcfe83d76p+4 +-0x1.cf4a3352c4c7bp+2 +-0x1.8c66792e9b366p-4 +-0x1.4667aad5d20c7p+3 +-0x1.2a79dea96779bp+1 +0x1.0b9bb6654d308p+4 +0x1.2169593f2c17ap+1 +0x1.749b2a77bd706p+3 +-0x1.bd6ee9b4c6448p+1 +0x1.8d7a88706ee97p+3 +0x1.0c00ed990f423p+2 +-0x1.9d0733d586417p+2 +0x1.50bf5913d246ap+3 +-0x1.35a99a52f6d8dp+4 +0x1.ccdf4a9e81471p-2 +-0x1.6151d9d8b2c79p+3 +-0x1.26cd032dc10d1p+1 +-0x1.28b71e159b136p+2 +-0x1.9393a074dd09fp-2 +-0x1.2e7f603ead7a5p+3 +-0x1.ac1ac3a189ef2p+3 +0x1.975dfb9d919a8p+2 +-0x1.9b4d025eafdddp+3 +-0x1.5371a7ebf947dp+3 +0x1.c669d4c98841p-1 +-0x1.f9b0413842cb1p+1 +0x1.69a4bec3d4a25p+4 +0x1.f67ed5223429fp+2 +-0x1.066ee8f164313p+5 +-0x1.0f81ea89b4529p+3 +0x1.01395a84c80c6p+2 +0x1.a3bc3ee4a39b2p+2 +0x1.2e771a8fe48bbp+3 +0x1.6dc22a2d8061dp+3 +-0x1.838cf2972ac2ep+3 +0x1.c4cbda6585fb1p+3 +0x1.4a142649fb041p+4 +-0x1.3419f9fc41c76p+1 +0x1.bb7d90e10c2eap+0 +-0x1.47957aa3ca892p+2 +0x1.ff64d4f5307b9p+2 +0x1.b885977e5dcecp+3 +-0x1.48c8d89b8e546p+0 +-0x1.abb53ea6437b6p-1 +-0x1.29bb1e5549a04p+3 +-0x1.e4ab39642c417p+1 +0x1.b6f3637d5cc6bp-3 +0x1.294b333cd11fp+0 +0x1.4f6c83bd85872p+3 +-0x1.34e371ce7fed8p+4 +0x1.a02be0e4a422ep-1 +0x1.ff457c46b7a9fp+2 +0x1.478036c51678fp-2 +-0x1.36c592f916e25p+0 +-0x1.5e0c9c6bde53fp+1 +-0x1.f36e205959a6dp+3 +-0x1.5bdc6f3c3ef47p+3 +-0x1.fdf865b82c3d8p+1 +-0x1.a3df9cf671bf2p+2 +-0x1.acaa138fcb042p+1 +0x1.54e382cd4b0e6p+0 +0x1.eb91d030a8a39p+3 +0x1.360a7b2ec5c39p+3 +-0x1.5e33c85dd308ap+0 +-0x1.8caeadd5e8eb8p+0 +-0x1.c8afbc1876d54p+3 +-0x1.029e5a5621b1bp+2 +0x1.6ed93b1534395p+3 +0x1.bbce2314d32a6p+4 +-0x1.32c3faf14a3ffp+4 +-0x1.999f845161e5fp+3 +-0x1.7dfaa6d7b307cp+3 +0x1.44caaf1183b9bp+3 +0x1.1806cd6e4664p+4 +-0x1.f395ed644ad68p-1 +0x1.829c3de90cf7dp+3 +0x1.40994f22d2578p+2 +0x1.96de198178612p+2 +0x1.5e8f065696dc2p+2 +0x1.58d5204f62927p+1 +-0x1.443d255d5552p+2 +0x1.9f9ae68548da6p+3 +-0x1.077a5b35f0bfdp+2 +0x1.6fd23c280adap+2 +0x1.5abff9fa46a2ep+4 +-0x1.2c9a5ce610ccep+4 +0x1.477ea6886b94ap+4 +0x1.c62db827d33a8p+8 +-0x1.a9506f6f91d81p+2 +0x1.cc772af11e75bp+2 +-0x1.1019dc9e7c71dp+6 +0x1.22b625a1d6964p+2 +0x1.c0df28cfa3d6bp+2 +-0x1.addfe7a8be58bp+3 +-0x1.d7a9624e36527p+1 +-0x1.5c8bd077d6b3bp+3 +-0x1.617b471cc2258p+3 +-0x1.3138d8ac40ebp+3 +0x1.14eb1b73685bcp+1 +0x1.df60116de9fa9p+2 +0x1.8cab99aa043f7p+3 +-0x1.1f39db9e98351p+2 +-0x1.86965e156da27p+3 +-0x1.9d623947ac61bp+0 +0x1.1c69d47337339p+7 +0x1.8d4b25abafb96p+2 +-0x1.3fc54d2b94ceap+1 +0x1.9939819fd31a3p+1 +0x1.2f6b4cf2a7592p+2 +-0x1.3c2eabcce380bp+2 +-0x1.f8df45a4c1e7ap+1 +0x1.942df7ac39d6ap+2 +-0x1.a350d7f6caa04p+1 +0x1.026f8d2e9bba3p+4 +-0x1.38c30f0597e45p+0 +0x1.9ff17dc2a1fe2p+0 +0x1.8d821a105be4cp+3 +-0x1.13806e173f614p+2 +0x1.5d501eee9bbdfp+0 +-0x1.a0e5e41ffbd56p+4 +-0x1.b5cb36a19e12cp+0 +0x1.87b80fa659663p+3 +-0x1.283f435e39d55p+3 +0x1.2186b679cfb2ap+3 +0x1.fdc9208fcc178p+3 +0x1.34f1865e925cep+3 +0x1.456e7e7c59de6p+3 +-0x1.ebce0228648ddp-1 +0x1.d903bf8432f7p-1 +0x1.7ec3d7a01ef7dp+3 +0x1.220cf874db741p+1 +-0x1.37845a2b3ca68p+3 +-0x1.7f5f8385191b3p+2 +0x1.1cfd4749b6147p-2 +-0x1.41c843ac2dedcp-2 +-0x1.7466556e36e72p+1 +-0x1.4d6d6d2de474ep+2 +-0x1.e4bda9e4d5386p+3 +-0x1.30a6c8fd7778cp+4 +-0x1.2c0ecd67cf4d4p+5 +-0x1.4dde61c307c39p-1 +-0x1.7b6e9d4e62982p+4 +-0x1.0fa974a82e49ap+3 +0x1.f40de53abc702p+3 +-0x1.371cf32b255d5p+2 +0x1.e142822ff99e5p+1 +0x1.77c7b5fbb508fp+0 +-0x1.3620163f763e9p+4 +-0x1.03e245396df71p+4 +0x1.024be6c1d70c8p+4 +-0x1.897d53fd03221p+3 +-0x1.c3c31e69a8f35p+3 +-0x1.108dc60dee8efp-2 +-0x1.c67c5f337931dp+2 +-0x1.a46ec0c6fdfb5p+0 +-0x1.d2f5a4c0fa054p+7 +-0x1.7b5cd2a1a422ep+3 +0x1.0e39645dfe31p-2 +0x1.912845b17bb8fp+2 +0x1.6b31f569d87dbp+3 +-0x1.557638e6007p-1 +-0x1.16f75bbba92d5p+3 +-0x1.1c277fe150e68p+4 +0x1.07655648421b6p+2 +0x1.f5ece73a7e079p+0 +0x1.7845d857d0d46p+1 +0x1.61546f734d0e7p+1 +0x1.525f574c7276ep+3 +-0x1.06365bb1409e5p+4 +0x1.19dc571ed383ep+2 +0x1.1359bdeda427dp+7 +-0x1.5cde1da1c2b74p+2 +-0x1.86b80d89b205ep+4 +0x1.e149e4c5a312p+3 +0x1.fcbef6876e2c2p+2 +0x1.5eb00c4ad2238p+0 +-0x1.fc7c724a9f1bfp-6 +-0x1.76feaf4211d0ap+2 +-0x1.493eaa015fcdap+2 +-0x1.9dbb2cee738a1p+2 +0x1.6153e4244b23dp+3 +-0x1.e741bb0da75edp+3 +0x1.ec95a82b11a78p+1 +-0x1.1790d849777c3p+3 +0x1.0e053ffb9e011p+2 +-0x1.9bb546a666451p+5 +-0x1.62cc3edd1e6bdp+5 +0x1.cab2893319093p-1 +-0x1.1692dc40bfa1cp+4 +0x1.a6f02042220b2p+2 +-0x1.ea675be6c2237p+3 +0x1.24337ee6f0126p+3 +0x1.28d43276db167p+2 +0x1.77992c41e2134p+2 +0x1.f7fe6bae9a177p+3 +-0x1.aad3b038a12f4p+2 +-0x1.598b85528fdc2p+3 +-0x1.72c82a8e6c254p+2 +-0x1.0555989d523e3p+4 +0x1.4e3218e5e879bp+3 +0x1.2687af5b29b4fp+2 +-0x1.8c21a7db1843dp+6 +-0x1.a41f21453cb5dp+1 +-0x1.ce9a8ddad2733p+3 +0x1.099acef6d5aabp+4 +-0x1.707b75f2f82f5p-1 +-0x1.8bd1f586d26f4p+4 +0x1.b44a9a952a4b1p+2 +-0x1.b12ea7aa50b15p+3 +0x1.e5d6120b64c6ep+1 +0x1.24b0d10879181p+4 +0x1.2988af1467c81p+4 +0x1.e924b42d43657p-2 +0x1.1aa15c31820a5p+1 +-0x1.a975d94d394e2p+4 +-0x1.8d336e86c53a6p+3 +-0x1.48a8f17c290b8p+2 +0x1.a08ccb82b8fafp-2 +-0x1.2a5689c90449fp+2 +0x1.dde1147f3c512p+0 +-0x1.254f4c1a8329cp+3 +-0x1.7823c331a3ba3p+3 +-0x1.92160c85a7825p+2 +0x1.963644251781cp-6 +0x1.a5b9f9bf833c4p+2 +-0x1.08d57b7169b34p+3 +-0x1.69d3aa568222fp+4 +-0x1.03ea5eed2d94ap+3 +0x1.93639dd8f5bdcp-6 +0x1.0c53ca2c8a48ap+2 +-0x1.0435fab831e0bp+4 +-0x1.bd64ab6f47045p+2 +0x1.ddfec8ebd6b6ap+0 +-0x1.dc7d6203d36eep+2 +-0x1.b557a89a1da9p+3 +0x1.18c1bbf1812b8p+0 +0x1.41996c4a0b275p-1 +-0x1.800094e7e37c5p+3 +-0x1.95bc4999b6dadp+3 +-0x1.cd664f3a57043p+3 +-0x1.d2b66f117407ep-7 +0x1.617284be80b24p-5 +-0x1.27576468e7b2bp+1 +0x1.c941e4d9d02d3p+2 +-0x1.5c930e8a0a283p+4 +-0x1.71b95a2e3e854p-1 +-0x1.f48a46a291d02p+0 +0x1.5f24259af22eep-3 +-0x1.7a2f37f22d646p+3 +-0x1.0e534262d7f41p+6 +-0x1.772de93e0fd8p+2 +-0x1.0b9bc423252fcp+2 +-0x1.2355077e6431fp+4 +0x1.267378c8a3e55p+2 +-0x1.bbcd18cb20488p-1 +0x1.b3e46a5f4c8f3p+3 +-0x1.a0cc89fbcc8d3p+2 +-0x1.e251dc66eaddep+3 +0x1.649766f5e87d2p+2 +-0x1.1563e1eac0bb3p+3 +0x1.c3736f3173c99p+2 +0x1.07d64c250f858p+0 +-0x1.4a0bab3bd92c6p+1 +-0x1.ef86dcf5bb973p+3 +-0x1.13bdb4fccf6e7p+0 +-0x1.a2b86e9ad151ap+3 +0x1.c0db8d678282fp+3 +-0x1.0b4b00aad2622p+0 +-0x1.56d9d55ee1a96p+3 +-0x1.0d5732b5cdaf5p+9 +0x1.24a5094f113ccp+4 +0x1.6adb3c447287p+3 +0x1.84adb91e0f40ep-3 +-0x1.bb535ff63376ep+3 +0x1.1ba17de2fb7e1p+3 +-0x1.2ba3d7ad5a3c1p+3 +-0x1.3bca4af42456dp+1 +0x1.a6143da2d37ap+2 +-0x1.f54b39594555bp+2 +0x1.3eed3d7eaaf48p+2 +-0x1.463febf38a476p+1 +-0x1.25e91ca48f346p-2 +-0x1.3c2466060425ap+1 +-0x1.34fd9d30a8cc8p+1 +-0x1.f9d0269449723p+1 +0x1.08db2e13a7a1bp+3 +0x1.2379a3f425b38p+3 +0x1.e893ccac9cd6p+0 +0x1.8601ef12d14cp+2 +-0x1.144aef770b686p+4 +0x1.3d848e85a5979p+2 +0x1.52490d1296b5ep+3 +-0x1.52ba8f327b234p+1 +-0x1.5db56c7924ed6p+2 +-0x1.afcb4f1c81b86p+0 +-0x1.876adb05af8e1p+3 +0x1.a56b9850ee2bp+3 +0x1.3695b0747274cp+1 +0x1.d0aabdb6e70edp+2 +-0x1.38eebc8c3bc35p+3 +-0x1.1d47efa3138e8p+3 +0x1.7e54c2a0fd7f2p+3 +-0x1.05e24639b3704p-3 +0x1.a2287a712501ap+3 +0x1.60eca9a112033p+3 +-0x1.cec70126c0926p+3 +0x1.e4254ffc35fdp+2 +0x1.7f3a8765cbffbp+1 +-0x1.2d9f66efea68ep+1 +0x1.1fc7632b1eebdp+0 +-0x1.4b95053bc119dp+1 +0x1.55bd6fe6b94f3p+1 +0x1.3d4dcfba85881p+2 +-0x1.4b8f80230183p+3 +-0x1.2e026077628f3p+4 +0x1.45e7ea8117606p+2 +0x1.070dfca3e56adp+4 +-0x1.ca064837ca164p+1 +-0x1.548cc35be3c9ep+3 +-0x1.9b0df29523929p+3 +-0x1.1f8caa12d87edp+4 +0x1.e9b398b75032ep+1 +0x1.1efb94713a163p+3 +-0x1.1bd9da81861d9p+4 +-0x1.69f29b5867782p+2 +-0x1.04bc77fde6206p+5 +-0x1.8e84168ab3b38p+1 +-0x1.02ff1a85809abp+4 +0x1.fff8440314273p+3 +-0x1.ae7b8c47f6e3cp+4 +-0x1.0e14dff3842d6p+2 +-0x1.ff7ddff69a37cp-2 +-0x1.2c4059cbb598p+2 +-0x1.ba906851a1dc3p+1 +-0x1.78808404af872p+2 +-0x1.f0bbb808cffe4p+3 +-0x1.411b2c579fe1ep+4 +-0x1.6b206b104d2fcp+2 +0x1.be4ee685ccf46p+2 +0x1.0ca8204680ae6p+3 +0x1.f6c0fff70cf3dp+3 +0x1.c1a5d7087a566p+2 +0x1.6f690b562620bp+3 +-0x1.b0ca168ee3283p-1 +-0x1.b3572b9955476p+0 +0x1.bb1bbd4746079p-1 +0x1.c52268d365c79p+3 +0x1.f110cba52a22cp+0 +-0x1.6fda48db86f6cp+0 +0x1.254c3b4368ba6p-1 +-0x1.0ce1a52c5e7bap+4 +-0x1.2216b0038e9f2p+1 +-0x1.269fc0ff05c11p+3 +-0x1.ae03a19bd41dep+3 +0x1.b650672519a55p+4 +-0x1.77ea602be0f2cp+3 +-0x1.6a05036994aep+2 +-0x1.e8b1cd7a74de4p+2 +0x1.16eebb71a7eecp+3 +-0x1.03909b8355205p+3 +-0x1.501dbf0e54fbdp+0 +-0x1.70d4fc59c33bap+3 +0x1.26f7feb70930fp+2 +0x1.3299c0840d4a5p+2 +0x1.1554e51ca6bacp+3 +-0x1.286cb2455badcp+3 +-0x1.0f307d840b356p+0 +0x1.03df946bd0424p+4 +-0x1.b00bfb09939ccp+3 +-0x1.0362e200b6982p+0 +0x1.9ddb14d538345p+2 +-0x1.75e6f2cf6cf6cp+4 +-0x1.06a73ecf2af84p+4 +-0x1.46fbf29793786p+3 +0x1.cb8d76742bd97p+3 +-0x1.31a6f0d4495p+3 +-0x1.085c6959ab14bp+3 +-0x1.969670127f1a9p+2 +0x1.496d2fb76a0f4p+4 +-0x1.3ef172a8e55fbp+3 +0x1.43fa45a1670eep+2 +0x1.b1be2d9ba8f8p+1 +-0x1.a90b9e0c64826p+2 +0x1.e16e0013ade55p+2 +0x1.e11c069d2f00ep-1 +-0x1.9719ee46fd999p-2 +-0x1.95f6a6e236006p+2 +0x1.fa93b08dd58f5p+1 +0x1.f93eac223a6ccp+3 +0x1.034a306b25569p+2 +-0x1.ba1e8148989ep+3 +0x1.1eb78f5ad90ap+2 +-0x1.2cfa815ba73e9p+1 +0x1.5b6caafc569e7p+3 +0x1.b810315c37eb1p+3 +0x1.715d87f2a895dp+2 +0x1.44459301c3e5p+3 +-0x1.484777fefec5dp+0 +-0x1.64a041dd8e9c5p+3 +-0x1.da5f106c3b366p+2 +-0x1.68f8ec8895376p+4 +-0x1.ae5deb1e81d26p+3 +-0x1.4878e809357abp-1 +-0x1.4f376edfd2155p+1 +0x1.97cd6f664fc6p+7 +0x1.72f1967fbf4e4p+2 +-0x1.93c603a229cf8p+3 +-0x1.f7143379afcb4p+1 +0x1.eab06f2169508p+2 +-0x1.1969665a04b06p+2 +0x1.17e577dadacddp+1 +-0x1.e088184bfab84p+3 +0x1.c50ae6f2a9a65p-2 +-0x1.dd1f8dcb4c1bdp+1 +-0x1.49a4acbb921dfp-3 +0x1.5d4d3f9f8b147p+2 +0x1.0eef020d17b9cp+1 +0x1.744108e9234f7p+3 +-0x1.70f18e0693597p+1 +0x1.20a7a8f707f1ep+0 +0x1.2a468e0664b15p+3 +-0x1.07de72ea97036p+1 +-0x1.e955c739cd51dp+0 +0x1.8424b9f589f1p+0 +0x1.5ed6ea469148cp+2 +-0x1.c4bba3414a2e2p+2 +0x1.01dfc878190dep+2 +-0x1.2a28031f78835p+3 +-0x1.ec2a63c855ff3p+3 +-0x1.96511878f37a1p+2 +0x1.652094f1db067p+2 +-0x1.a6e8cacf6b8efp+3 +-0x1.d50fbdfea643ep+4 +-0x1.958ef4dff38bcp+0 +-0x1.e75bc6acb7ab5p+2 +-0x1.6dacdf3d4b4dap+3 +0x1.49bd74b200734p+4 +0x1.b88640873aeb5p+2 +-0x1.24d046a91d1p+2 +0x1.e0d98a0f94435p+4 +-0x1.08aed0fc25f1ep+1 +0x1.e38e145d01b57p+0 +-0x1.372246bc4867bp+3 +0x1.ae3a6f9e521c5p+1 +-0x1.6bb8ed5b10ff6p+3 +0x1.12eeb20a9ae09p+9 +0x1.10521d9c47bebp+3 +0x1.708da295a18f6p-2 +0x1.d3995f9f0e43cp+2 +-0x1.9239530269d9ep-1 +-0x1.a3ab8944852c4p+2 +0x1.1cbc105e38a1dp+4 +-0x1.2ea156f8e27e7p+4 +-0x1.7e9a2772c2296p+2 +-0x1.c8c12102dd6a9p+6 +0x1.3f993459b88f9p+0 +0x1.4df64bc98c0eep+3 +0x1.8033c21e4c5c9p+3 +-0x1.fa8cab8241c6cp+0 +0x1.f07676bce9c71p+0 +0x1.14d153ae1d815p+4 +0x1.5c1fd761909edp+1 +0x1.b775da63c5d37p-2 +0x1.f1b8b0159a0a8p+3 +0x1.eecfa63db3637p+3 +0x1.4f431e35d5086p+1 +-0x1.4917b8e00856ep+3 +-0x1.59b224b6e69e7p+4 +-0x1.d9c527cfc462bp-1 +-0x1.bee616f78523bp+1 +0x1.657e899302e6fp+0 +-0x1.147283d9caa71p+2 +0x1.2da1e0ff26489p+3 +0x1.f7ada233062f4p+1 +-0x1.875cd0bd2ddaep+1 +-0x1.e838c4a5a5334p+2 +0x1.7929e4377fbabp+3 +-0x1.b51f667194679p-2 +0x1.385c4a8132291p+8 +0x1.62d1c71b6a913p+4 +-0x1.67a6b9ad59084p+2 +0x1.012dfe2f87f4ap+4 +-0x1.60fcd39dd43f1p+4 +-0x1.d29306bb5e532p+6 +0x1.82afd3555fd3ep+2 +-0x1.c852ae17a64fcp+3 +0x1.7bb8429ab1eb9p+3 +-0x1.8d611344f6bcbp+3 +-0x1.ced65527236f5p+3 +-0x1.02d3d9cffe8bp-3 +-0x1.25390e0073833p+3 +-0x1.5313038ff51ccp+4 +-0x1.d30b85f9f7127p+1 +0x1.1f2fa18cf8d2dp+1 +0x1.74d9ad971c6f7p+3 +-0x1.514432642b8f4p+7 +-0x1.70e71e37e1c8fp+2 +-0x1.2af0e865764a6p+2 +0x1.e63ea9371af6ap+3 +-0x1.9ef63ba0e5867p+1 +-0x1.ccc900bb76d0dp+3 +-0x1.e3a37ec246cbdp+2 +0x1.8a42267f0c29p+5 +-0x1.de9407818cf97p+3 +0x1.da938cd6e6ab6p+3 +-0x1.63f306b188f5p+3 +-0x1.4426c88599f06p+0 +0x1.1e31a13379af8p+2 +0x1.65c7cc94cac5bp+3 +0x1.78858d62e831p+4 +-0x1.dad4b9420d854p-1 +-0x1.435c48e20f233p+4 +0x1.1cec27be67ebep+4 +-0x1.9bced69bc408ep-6 +-0x1.e894b47c0eaa5p+3 +-0x1.058dca75edd96p+4 +0x1.4e4aea0072e74p+2 +-0x1.078f70cbb8bc5p+5 +0x1.f381fe617427dp+2 +0x1.8ee6a84034746p+3 +-0x1.d82a154a22595p-3 +0x1.90756d0d0e891p+3 +0x1.d6153e290403ep+3 +0x1.af448560924b2p+3 +-0x1.a80a5ccace48ep+2 +-0x1.e59a827cedda7p+3 +0x1.f4e7582f6b37dp+3 +0x1.53437d66b13e9p+3 +-0x1.ddc8f15c3f88fp+2 +0x1.4d238549bc06p+3 +0x1.dd19dcef1352fp+0 +0x1.3c97500b4adfdp+2 +0x1.75a2013f56706p-1 +-0x1.07135097feb26p+3 +0x1.801d1a0a74974p+2 +0x1.efd0df44e9b76p+3 +0x1.9a387c5165b23p+0 +-0x1.7cb745f34509bp+2 +-0x1.e11c36ae55463p+2 +0x1.44d5e2f41bec7p+4 +0x1.24fca03b5c9edp-9 +0x1.586f19eaa2837p+4 +0x1.df7d5cb7aa536p+1 +-0x1.50e397256c935p+1 +0x1.e94e74484907bp+1 +-0x1.0783dc82e5558p+3 +-0x1.b1826d98ed66fp+4 +0x1.f94d2ca3ef812p+2 +-0x1.c6374298677a6p+1 +-0x1.55be6a49cccfp+2 +0x1.06c19376216dfp-1 +-0x1.9518cb6a47534p-1 +0x1.11ce94ecc7c49p+3 +-0x1.8c83c618bf5eep+4 +0x1.7c9947f55bdf9p+2 +-0x1.368f6071a76b5p+2 +-0x1.7759796de3f42p+2 +-0x1.0fc0a736aac4ep+3 +0x1.07898129c0a92p+3 +0x1.41794a91de696p+2 +-0x1.6a7fb5ba29ec7p+1 +0x1.0130ec80572cp+1 +0x1.3a6f486f8ebd2p+2 +-0x1.06ec3d723e272p+3 +0x1.2e873e2ffccdp+0 +-0x1.bbfcecf23f29ep+3 +0x1.0d9c8bcf702ccp+3 +-0x1.8bf83605860dep+3 +0x1.5867aa548ea19p+1 +-0x1.46e635f54c36bp+1 +0x1.64bad6bda152ap+2 +0x1.25b179ff73d99p+3 +-0x1.30be6b1745b68p+3 +0x1.0c7e7eeb6ec98p+3 +0x1.fc3db86888f04p+2 +-0x1.2e7c1d47fcc6fp-2 +-0x1.8a437b9217b0fp+6 +-0x1.2b2981e034631p+1 +0x1.a277c46ee023ep+3 +-0x1.b762b2659eed4p+2 +-0x1.316b900306496p+1 +0x1.6498178e42b2ep+1 +-0x1.01674aba386bbp-1 +0x1.66d237f54a752p+3 +-0x1.f10df46903465p+2 +-0x1.62c98357984c5p+4 +-0x1.01f501712a2c9p+2 +0x1.d3df2d5de7ac9p+2 +-0x1.e05174764b17ep+3 +0x1.a4e73d18212abp+2 +-0x1.bd0596b153a03p+3 +-0x1.8771cfa4e416fp-3 +-0x1.3dca521f08e49p+3 +0x1.e5061e4d500c7p+0 +-0x1.bb9455cb505bcp-1 +0x1.e7189581f989ep+1 +-0x1.80dddd5cac36ap-1 +0x1.67184b8f09adep+0 +-0x1.e1dddd7d3967ep+2 +-0x1.927dcb922f1aep+2 +-0x1.e9e4b020682d6p+2 +0x1.9c4e2f585832ap+1 +0x1.f9f6449921007p-1 +-0x1.f840c3b53db5fp-3 +-0x1.b58a68f6c1ff7p+3 +0x1.d2709d6b43d29p+2 +0x1.8b90c7f1c09afp+2 +-0x1.95fb0e459f40ap+2 +0x1.0a4ed17dd8925p+4 +-0x1.0b5578cf07fd7p+2 +-0x1.f835b6b23ee97p+2 +0x1.3d7bfec0fc298p+4 +-0x1.97933f35164ap+2 +0x1.0025fecb2ee4bp+2 +-0x1.00c5236b9384p+4 +0x1.bf0fbce99ff6dp-2 +-0x1.1563644580c69p+3 +0x1.b32f258ca6873p+1 +0x1.d318343d78954p+3 +-0x1.43d26bb7fdb65p+2 +0x1.bc71a565965ddp+3 +0x1.d897f359b04b7p+1 +-0x1.c58bf30df72d6p+1 +-0x1.ee0cc6f839061p+1 +-0x1.935c4fa756109p+1 +-0x1.dbc57ceb6b238p+2 +-0x1.a03af60bbcfe9p+2 +-0x1.7abba16b306f2p+4 +0x1.1434bc2f42b21p+4 +0x1.e07be6e15efeep+4 +0x1.c33f5a324ecbbp+3 +0x1.3b3e4c6d370bcp+2 +-0x1.7143cd915194ap+1 +-0x1.1307bb024027fp+3 +-0x1.64d0e87354537p+1 +0x1.6486887bc477ap+4 +-0x1.5b5e2ff9dd3e9p+2 +-0x1.b7375b28075f3p+2 +-0x1.83fc09ddc7c63p+6 +-0x1.2fdc6ef17be93p+3 +-0x1.480c0e252c3e9p+6 +0x1.4853eae27e69dp+3 +0x1.30abead36571bp+3 +-0x1.836654bf380cp+3 +0x1.cd14d1defa35dp+1 +-0x1.19cc72688823cp+2 +-0x1.45c98232ed478p-2 +0x1.2529f5831028p+0 +0x1.409a28b15e735p+2 +-0x1.26fb73ff6cdffp+1 +0x1.65d004d2739efp+2 +0x1.21ad6cf395f25p+1 +-0x1.34b399c924014p+3 +0x1.7169e9b9c525ap+2 +-0x1.782edef52f0dfp+2 +0x1.1b4c005922184p+4 +0x1.1db91625b93fep+3 +0x1.41e3394d5cccep+2 +-0x1.6a320e9f9fd2cp+5 +-0x1.6cfc1d0407b9ap+1 +-0x1.5d9e3fac88013p+3 +-0x1.b29bc73226ab6p+3 +-0x1.6ed4c5a843424p+2 +0x1.05de48556d764p+2 +-0x1.6a0cb3041e9f4p+1 +0x1.f0463c985eab9p-1 +-0x1.8273b9d2ac2e3p+3 +0x1.d1edb35a2c8b6p+3 +0x1.ea4d06fe3d711p+3 +-0x1.1f763b78c5fdp-2 +-0x1.1221494093756p+1 +0x1.38b961e657c49p+6 +0x1.f566585e6021p+2 +0x1.3976b14bd42d5p+2 +0x1.c5e68054c87eap+3 +-0x1.f62afb579f077p+2 +0x1.32030c562beacp+4 +-0x1.bab45588de70fp-1 +-0x1.e1aaf966a0414p+2 +0x1.46872c7051da3p-2 +-0x1.271673c71b52fp+3 +0x1.08b0b3412ba34p+3 +-0x1.858f8705b988ap+3 +-0x1.59ea85d5badf1p+1 +0x1.6b3f0b8b6e577p+0 +0x1.b504b9fa40d0fp+2 +0x1.fe756a84945ccp+2 +-0x1.4e64454efee0ap+2 +-0x1.2d0db084872c5p+4 +-0x1.04659a192ae76p+3 +0x1.b689f82e8091ap+3 +-0x1.a32ce7d618e42p+2 +0x1.ea01c413374e8p+3 +0x1.2111d0dd7fbddp+3 +0x1.d6832221afbaap+3 +-0x1.e2efc22606f09p+2 +-0x1.797e726ea6ddcp+1 +0x1.e868481c6e759p+2 +0x1.0fdee0c57a03ap+4 +-0x1.140a25dba426dp+0 +0x1.45b2f9f0ba9aap-3 +-0x1.2090afeea61f7p+3 +-0x1.903c26aed6662p-1 +-0x1.c7df9a44150c7p+1 +-0x1.baf4022de46e1p+2 +-0x1.168db671d08eap+4 +-0x1.9be9cd76d9ae3p+2 +0x1.b036cb019be72p+2 +-0x1.d5da4c1cb4377p+1 +-0x1.c5cd9dfff91b4p+1 +-0x1.a938e4b92ecb9p+3 +0x1.9ac208142d8f4p+2 +-0x1.b2b9cd4c9c559p+4 +0x1.10eab90c83dddp+1 +0x1.9855c6c9aceap+1 +-0x1.27d976ed95c51p+3 +0x1.9b628e56b244fp+3 +-0x1.99d82db6aa3b6p+3 +0x1.7755027b4441fp+4 +0x1.d03ab282b0106p+3 +0x1.0d42955a35e8dp+3 +0x1.361332b971dccp+4 +0x1.31812ad725d38p-1 +-0x1.c64fd9b05746fp+3 +-0x1.0245127bbdfedp+3 +-0x1.9ea097113be47p+4 +0x1.53742ee2416a7p+1 +-0x1.43e583eb439d1p+3 +-0x1.495dddbc9a767p+3 +-0x1.39696fb52aa65p+4 +0x1.c3dc142948679p+0 +-0x1.bf4e0fbaa3717p+1 +-0x1.78d74ef4e4172p+2 +-0x1.cf9dc04f6b50fp+2 +-0x1.8df9b754670cp+2 +-0x1.5b8c5d8016493p+3 +-0x1.11681cc0792ebp+1 +-0x1.f3c10fa6b292bp+0 +0x1.c6eccd18a12b1p+2 +0x1.0c4d7982b59f1p+2 +-0x1.eb442d38ff749p+3 +-0x1.20989f3930665p+0 +-0x1.88ead1c46ed4fp+2 +-0x1.08462ba764827p-1 +-0x1.13ae50a5f22cdp+4 +-0x1.33bf56d5d6109p-3 +0x1.82977458a6564p+8 +-0x1.3be4111dc0564p+4 +-0x1.3ad88f8329f7fp+1 +0x1.8cecde20d7c45p-2 +-0x1.cbf4da8116cd4p+2 +0x1.b8ce3002e0d82p+3 +0x1.9cd353103322cp-6 +-0x1.681b7d192db91p+4 +-0x1.f110047fdfd96p-1 +-0x1.5b06bce2ae4dcp+3 +-0x1.60f6f29131003p+2 +-0x1.0d98cd113eea4p+3 +-0x1.c71b7fe3fa317p+1 +-0x1.4982ad0977115p+2 +-0x1.c53f08e0dfcf9p+2 +0x1.4c65106064594p+2 +0x1.341ec722c3ebfp+2 +0x1.3b2c7b8871607p+2 +0x1.07159c9184f21p+2 +-0x1.e16c86ec07a22p+2 +0x1.a869fb875db68p+2 +-0x1.e11323cdd372ep+2 +0x1.a4d633cce4c39p+1 +0x1.e5050fecbfd65p+3 +-0x1.a6e3c9c083621p+0 +0x1.956e1017db2e1p+2 +0x1.1619af6a8533fp+3 +-0x1.339d931e78d85p+3 +-0x1.275120dd47733p+0 +0x1.aaeaf85530ebp+3 +0x1.b9c93457c68ccp+3 +-0x1.6b336a01ee6dp-2 +-0x1.a3e50df2c1a83p-1 +0x1.b076fd1f6a322p-2 +0x1.1f6a18db72968p+0 +0x1.37f0fb7e253dp-1 +0x1.3bbab5e2b79d1p+3 +-0x1.0973db46b97d7p+2 +-0x1.e4ff3cc00e344p+2 +0x1.2aeb473b5f65ap+1 +-0x1.cce7e74d4ebedp+2 +0x1.2851c16f2f3a8p+4 +0x1.6a23202674c3dp+3 +0x1.234b8c2c9dd38p+4 +0x1.e44e037e43b59p+2 +-0x1.06a0e1c39950cp+3 +0x1.134b738b24404p+4 +0x1.c4c4d09b14632p+1 +-0x1.55f1e81935f9dp+3 +-0x1.8d76e26f6ba2ap+1 +0x1.ece4185958889p+3 +0x1.b979aabae05aep-2 +0x1.eed2daf3a66cfp-1 +0x1.007f86118990dp+3 +-0x1.deee53681529ap+1 +-0x1.89e6e93c1e442p+2 +-0x1.81779eda6feb7p+1 +-0x1.d2d4e5712cb4p+1 +-0x1.1913367ab0dc9p+5 +-0x1.338c97bbce549p+1 +0x1.1b180b52b1ccp+4 +-0x1.9e2dd6f1db99bp+2 +0x1.3fd2058436328p+3 +-0x1.4256d1b9984ccp+2 +-0x1.5b577850e5eeap+3 +-0x1.04e699d894268p+3 +-0x1.27fbcbbd5966bp+1 +-0x1.769b51e1daea5p+2 +0x1.0932f40d2d73ap+2 +0x1.0b612883b1955p+2 +0x1.0b2df4c9df3a3p+4 +0x1.93a03f89f3968p+0 +-0x1.02250ce859415p+4 +-0x1.4e7f85e8b57d1p+2 +-0x1.1156c5ea402p+2 +-0x1.1220364d0702dp-2 +0x1.14e246b998b7bp+2 +0x1.7ba1da477601ap+2 +0x1.44c38e3656b49p+4 +-0x1.0b77138b30d62p+0 +0x1.b987d42d6312dp+4 +0x1.2a37cf260221cp+3 +0x1.7124941c8e2a8p+1 +-0x1.e5f6d2c041356p-4 +0x1.cc534b8617ca7p+0 +0x1.1d1d1af13a5e3p+2 +-0x1.076e89b8e1ddcp+2 +0x1.c04e164889271p+3 +0x1.1c263fb2168e5p-1 +0x1.7443ab81b3459p+3 +0x1.ec33cbff35d75p+1 +-0x1.d3bae4c90580cp+2 +0x1.17cf99aaee608p+4 +0x1.e2b466902bdddp-1 +0x1.3cb3df25c0011p+1 +0x1.eab478b8f4ac5p+3 +-0x1.291509dd3f876p+3 +-0x1.695ba0e860678p+1 +0x1.c97486176a67ap+3 +0x1.42f0119a4bbbep+1 +0x1.db498c6defbacp+3 +0x1.bd2bb553594b7p-1 +0x1.00e5b381eebbbp+1 +-0x1.104b2d8a76b09p+7 +-0x1.cd2856d35db3fp+2 +-0x1.6f4a3861db18bp+4 +0x1.b4dfec405f9f5p+3 +0x1.00667ed0fbcafp+4 +-0x1.ac174c6e26cefp+2 +0x1.08790abf24c62p-1 +-0x1.33447797fc2dap+4 +0x1.07afba324aa75p+2 +-0x1.cf2ac8d3f2b8dp+2 +-0x1.eb833c7d34b05p+2 +-0x1.752342abdf7e8p+3 +-0x1.9b26d3e64f5e1p+2 +0x1.a9207ba28e814p+3 +-0x1.a43f1c64425a3p+2 +0x1.b5ccb3cc4f80ep+2 +0x1.510551a90cb5fp+4 +0x1.e2803a966a134p-4 +-0x1.e16d842dce288p+1 +0x1.6568416cc9ffap+3 +-0x1.380a0c32cf501p+1 +0x1.ba6e86ac2953fp+3 +0x1.883fcfd914913p+1 +-0x1.ed2f98c569079p-1 +-0x1.2da1d46f64a23p+2 +0x1.839fa8918abb2p+1 +0x1.5dd119f564e5p+2 +0x1.5efc92ffc014p-2 +-0x1.c64f29879e4f9p+2 +0x1.ac7fed2b59492p-3 +0x1.d0b7d16b0c594p-1 +0x1.e9b82ee20be69p+2 +0x1.2621b5026d195p+3 +-0x1.cf09e8687ef34p+2 +0x1.a11c940d34609p+2 +-0x1.943fa3d219f6ap+4 +-0x1.4d06bc9e0df7dp+3 +-0x1.71629369831e4p+3 +0x1.1ea259b97ef17p-1 +0x1.734d73d0131f8p-1 +0x1.39d333ce0ef84p+4 +-0x1.5ae604744d3c5p+2 +0x1.4e6eeeab47e2ap+3 +-0x1.a5fff318edec3p+2 +-0x1.3fd468ad2a168p+1 +0x1.30d0dd05c82bap+2 +0x1.4f5a297b84dcbp-3 +-0x1.5bebbec404fd3p-2 +0x1.361b5957d2fcp+1 +0x1.83383b3693edfp+2 +0x1.28883653577e4p+0 +0x1.f199a3f4423adp+2 +-0x1.6cf9e60e218dp+3 +-0x1.f5dc6e8cabfb2p-2 +0x1.087fc1148b6bfp+5 +-0x1.25388cac2acd2p+4 +-0x1.b991062c38ed9p+3 +0x1.276b2be6e4c9ap+3 +0x1.c413e50831f9dp+0 +-0x1.13fc0dcf99608p+1 +-0x1.132c929f74913p+3 +0x1.9af1d5bad7d2cp+2 +-0x1.957761e52b4fp+3 +-0x1.916b8f16504d4p+3 +-0x1.369de0035d0eap+2 +-0x1.5abd37f4ba7b5p+3 +-0x1.714b9f095f923p+1 +0x1.667662bc13da9p+1 +0x1.8cba4888c255ep+2 +0x1.3c2070e5e2d1fp+3 +0x1.215c0337ee9bp+4 +-0x1.1659546bd0ebbp+3 +0x1.91b881d4450c6p+3 +0x1.5a42ef7a3cf48p+3 +-0x1.f81dad4a7b409p+3 +0x1.2d89d2e10656ap+4 +0x1.1b20bc5730b23p+3 +-0x1.d57d68dff70bep+2 +-0x1.64707e16e6b2ap+2 +-0x1.32f91de99f65p+1 +0x1.e347b5fc0444cp+1 +-0x1.1d517ce38477p+3 +0x1.3e2283eaa1c5p+4 +-0x1.897324b72c34bp+3 +0x1.147b5467aa2a2p+2 +0x1.c459ba1e35084p+1 +-0x1.c8cf76d0b2d0cp+2 +0x1.157afbfad260ep+3 +0x1.e39ac33a987bdp-5 +0x1.78fc0c2c3e597p+2 +0x1.69b2e4a4f0fcep+2 +-0x1.d7fcdcfa268afp+3 +0x1.40d3c7f677697p+8 +0x1.76546b1fe8f4ep+2 +0x1.314f60a55dbfbp+2 +-0x1.c065760fbd859p+3 +0x1.861331ee4718cp-5 +0x1.83ee1d410cdf4p+1 +-0x1.c1e5a8df05ce7p+1 +-0x1.4c5af1b34ce19p+4 +-0x1.6ad21f94c410cp+2 +-0x1.c98616e92a1f4p+2 +-0x1.1254f113aeef6p+8 +0x1.be92449ba86c1p+4 +0x1.226cae814577p+3 +0x1.d6649d2384196p+1 +0x1.b7d4cbf08cb1bp+1 +-0x1.0686ca177f2abp+3 +-0x1.006ddfa368a4cp+2 +-0x1.40a8c3cf18db3p+0 +-0x1.f46534b123614p+1 +0x1.f414cb9fc5ab9p+2 +0x1.558054524db77p+2 +0x1.9ce15dce30f24p+2 +-0x1.a67c01d3dd128p+2 +0x1.bb2334212d827p+3 +0x1.01b533e308467p+6 +0x1.f421ca00ebc57p-1 +0x1.0b37d302b4041p+4 +0x1.0c1ca7ff09856p+7 +-0x1.19519cd93a2bdp+0 +0x1.6850baaff4792p+1 +-0x1.d5822a2c3a93bp+3 +0x1.5a7190ad1a6a1p+2 +-0x1.68d60316a6968p+2 +-0x1.45bcc8cb053dep+3 +-0x1.7422c0d986222p+2 +-0x1.241984a51ab0ep+1 +-0x1.0be98a69feb3bp+4 +0x1.a4cd270a156d1p+2 +0x1.2955fb87a28bbp+3 +0x1.777c890aab835p+2 +0x1.3f939196ef4f1p+0 +-0x1.7198733a1beddp-6 +-0x1.bca608df89ecdp+4 +0x1.360affba36a14p+2 +-0x1.94fdb07d53a1ep+2 +-0x1.503dbc912f0e7p+3 +-0x1.ba773c96e7b5fp+2 +0x1.20fa983fb31fp+3 +-0x1.9c353048d973dp+2 +0x1.3fc515fdef267p+3 +-0x1.1d00b9beaaae7p+3 +-0x1.661cd7caa5a77p+3 +-0x1.7b51b03aba8a1p+2 +0x1.8e2b1a9462672p-2 +0x1.f36eb04e52d15p+3 +-0x1.643f4fc9cae7ap+4 +0x1.80b2d118746c4p+2 +-0x1.387e429529cedp+3 +0x1.a978578568fdep+3 +-0x1.5899fcca4a22dp+2 +0x1.1d6756ef2f01ap+3 +0x1.084ebb9120832p+1 +0x1.49e860b52bd98p+4 +-0x1.b846a9c3551dp+0 +-0x1.b61bd276c43b7p+2 +-0x1.3017a402a6b19p+4 +0x1.26de38abaf857p+1 +0x1.3501848481522p+1 +-0x1.a72934dfc96d4p+3 +-0x1.27b1a223bc357p+4 +0x1.764f91d9ff8b3p+4 +0x1.227cb63de61c7p+2 +0x1.fdb8341be9844p+3 +0x1.c1c905dba2d77p+3 +-0x1.1100903d4cbe8p+0 +-0x1.3468d40c7fc3p+2 +0x1.b19180a345e4cp+3 +0x1.dfd676a67b885p+2 +0x1.038bdcbfc35c7p+1 +-0x1.3eb90e38476f8p+1 +-0x1.12daf2e94ef6ap+3 +0x1.51c9c985e8cdap+2 +-0x1.b4798a4c11f48p+3 +0x1.4ff31cbdd1c94p+1 +-0x1.85e21698f2193p+1 +-0x1.b0d4c918f64a9p+2 +-0x1.7da2d848f8ecp+1 +0x1.47d068c2188dap+3 +0x1.5073694f038d9p+1 +-0x1.07d7c7b702c54p+4 +0x1.185a76a447425p+2 +0x1.ef703e1cbeadp+3 +-0x1.d7db9d184017ap+3 +-0x1.9bb6bf4fd6c0ap+1 +-0x1.b0f3498a5ab23p+7 +-0x1.d981d72d18173p+0 +0x1.b5ed17969c9a3p-1 +0x1.0009fe1d1bd41p+3 +-0x1.be320884ace76p+1 +0x1.b1f8236461aafp+0 +-0x1.0dcd03190bc3dp-1 +0x1.4f2403eebb14fp+9 +0x1.d3a978aee10f9p+0 +0x1.65c313e72719ep+1 +-0x1.787602058a377p+1 +-0x1.d1595883a70edp+1 +-0x1.2881884c89117p+3 +-0x1.19968845ea437p+4 +-0x1.216149d9f3448p+4 +-0x1.cf1377e6ced96p+1 +-0x1.e4c4e5873bc4bp+2 +0x1.6b9c2dd5db503p+0 +0x1.64652ba40986ap+2 +0x1.10f5c87a8d38p+3 +0x1.c2861e669e3dfp+3 +0x1.3d513a6808762p+4 +-0x1.1fcfc1d396b0fp+2 +0x1.1230caf7411c5p+3 +0x1.526fa88c959f7p+2 +-0x1.302c0ce287a01p+0 +-0x1.22a2ac739a7dap+3 +-0x1.2cfd2093e124p-3 +-0x1.cd2f3b2ddce5ap+4 +0x1.3b251936c90b3p+3 +0x1.7223e3f3cbe8cp+3 +-0x1.3f6b4f8067b9ap+1 +0x1.8a4ed43125a0bp+2 +0x1.df94fed43acd2p+2 +-0x1.07087657f713dp+4 +0x1.84f23eab1ffbcp+1 +-0x1.0ce3de15398a2p+3 +-0x1.2aa0af911ceb1p+1 +-0x1.480ce167d7acfp+0 +0x1.3d1bf35d62049p+1 +0x1.05e4fe1042b5ep+2 +-0x1.90615aebaac9fp+3 +0x1.5951a77e58671p+3 +-0x1.39748874c9c06p+1 +-0x1.184ce88b6a713p+1 +0x1.90620f136b37dp+1 +0x1.e8d180a06f9f8p+3 +-0x1.2e2e28d30022cp+3 +-0x1.9e319efeadc57p+2 +0x1.cc3013ef128dfp+3 +-0x1.9cfa287000ca3p+2 +-0x1.5f3ea97f7245ap+3 +-0x1.84f3a90118e3fp+3 +-0x1.bce88c29d5f3cp+3 +0x1.3416b7dbbd766p+1 +-0x1.547e1f4913a94p+4 +-0x1.058d6b1912149p+3 +-0x1.85e89ef3d5ba7p+0 +0x1.42d9024e2eb2dp+2 +-0x1.d438ce0aefc38p+1 +-0x1.845488e1aa9c9p-1 +-0x1.dbdb48ee8d52cp+0 +0x1.a72923ef39d65p+1 +0x1.cca6e76897a39p+1 +0x1.130d300b7eeadp+3 +0x1.fb8fcc97cb912p-1 +-0x1.f6d9c9ee84c57p+3 +-0x1.23affea0c28c4p+5 +-0x1.5287e88017adep+3 +0x1.b9ea921d1bcb7p+2 +-0x1.bcab998cb6246p+3 +0x1.85374913420a2p+0 +-0x1.866ab97f47acfp+0 +0x1.273893e0c817bp+3 +-0x1.c24c2add7a29cp-4 +0x1.b77e91f4e4305p+2 +0x1.0ea9418e78cc5p+3 +0x1.6b4f8504c3868p+2 +-0x1.b96705f2dc543p+2 +-0x1.50ae29ba8f6f5p+1 +-0x1.d6b7e614909cfp+1 +0x1.9348fddcecd4dp+3 +0x1.5014f17fbf8d8p+2 +0x1.ae4e2218676bap+2 +-0x1.f1557e05e51e6p-2 +-0x1.71871d68ae4dep+0 +-0x1.63b308bdfd26cp+0 +0x1.3b18c3fb84b11p+3 +0x1.de5c6e8ae5a96p+3 +0x1.049a655285375p+3 +0x1.54d3b8d7e9c4dp+1 +0x1.46e30ce793dbep+2 +0x1.ec958b7696518p+3 +-0x1.7cac6f05dc704p+4 +0x1.a0920d51a7f11p+1 +0x1.0ecc0815a4bb1p+3 +-0x1.26dc5972901b9p+2 +0x1.c0645ac423855p+2 +-0x1.dc9fa68243f6ep+1 +0x1.3e09c3ebec5b4p+1 +-0x1.fd1217167ce01p+2 +-0x1.d94896040c901p+4 +0x1.0f07b012622ffp+3 +0x1.1003608e693f3p+3 +0x1.8d20568668e7fp+1 +-0x1.f8fab388cb87fp+1 +0x1.ba21055fcea6fp+2 +-0x1.e707ba1023146p-2 +0x1.8073e06ad8555p+4 +-0x1.15a71f76feb38p+4 +0x1.0aa92773b5213p+2 +-0x1.098ffeaa7a068p-1 +0x1.035c9477ed99fp+3 +-0x1.6c1d9dcaf2584p+3 +-0x1.48ea4ea4033f9p+0 +-0x1.6a8d3ac41e1b9p+1 +0x1.16c74dc94d5dfp+3 +0x1.973d50c3015e4p+2 +0x1.a6f0ef307343ep+1 +-0x1.74a25b5c6605ep+4 +0x1.9ccc17e5b340fp+7 +0x1.ac1f89ed73461p+2 +0x1.17282ed4b65cp+4 +0x1.2438de02fbd07p+4 +-0x1.5d13e5e547643p+3 +-0x1.814d8ee4055e9p-4 +-0x1.457a3391133cep+2 +-0x1.19f0fc0d5eff6p+3 +0x1.f28441178c96ap+3 +-0x1.1262edf9d2919p+5 +0x1.31babe7c19426p+3 +-0x1.7e22c0861e865p+4 +0x1.63f3e35088ea5p+0 +0x1.be8249c5399d4p+3 +-0x1.4fd478e1f6499p+3 +0x1.d10c0fb255dfbp-1 +0x1.012c64191302p+4 +0x1.d967b9ed51a81p+3 +-0x1.92b3a7f995432p+1 +0x1.4590b91cfef6cp-1 +-0x1.a276a71aa45d5p+1 +-0x1.9ac3c33eedffbp-1 +-0x1.e78711e547433p+2 +0x1.4e7cc63ce007ep+0 +0x1.0d90fb18d50abp+4 +-0x1.cc5aa5c158d34p+2 +0x1.50e42047a458dp+3 +0x1.60cfc7e055b8dp+2 +-0x1.1e0bf061b2f18p+4 +0x1.780860603915ap+1 +-0x1.58fea718f58a6p+3 +-0x1.95cc85b174bd5p+3 +-0x1.94d364d29aeb3p+1 +-0x1.fb302acf0d95dp+2 +-0x1.322275472ddabp+3 +0x1.01063cdc457d9p+5 +0x1.782f7de36df12p+3 +-0x1.b1c583eea9e1p+3 +0x1.1aa402ccf562p+3 +-0x1.0a0331b37937ep+4 +-0x1.099a51f97cb82p+3 +-0x1.ef5ed226fbce1p+3 +-0x1.fc9d467c49276p+3 +-0x1.8577c0b6873e4p-1 +0x1.d6d57f4e817d4p+2 +0x1.3fccaaabfe356p+3 +0x1.5c9f8785fbe1ap+3 +0x1.58efe1250e294p+0 +-0x1.0f06c68bab1ep+3 +-0x1.25e1736b6d2acp+3 +-0x1.86994d1b1879bp+3 +-0x1.e01e94f4b8a63p+4 +0x1.851560ac978bp+1 +0x1.5d031b9c4e4bbp+4 +0x1.e57a1b1442559p+1 +0x1.c26290494c23dp+1 +-0x1.679510b6877p+2 +0x1.8329935e79cebp+2 +0x1.3f08848f7309p+4 +-0x1.1e3e312477969p+1 +-0x1.786587fd249e1p+3 +-0x1.e043408e15136p-1 +-0x1.8454636573b74p+3 +-0x1.00ea4f8901b73p+1 +-0x1.e7582a6cbb6cp-3 +-0x1.b77c96df66602p+4 +0x1.9e62213c27f82p+3 +-0x1.71f681b5c9e93p+3 +-0x1.2e1187b8b231cp+3 +0x1.8fedfe352f20cp+1 +-0x1.0c1d89ae50b85p+2 +0x1.abcf0ccada1d8p+2 +-0x1.7f7c539ba529dp+4 +-0x1.37e68f305c2e4p-1 +0x1.0a1f30b2d7e25p+2 +0x1.c0024e0a175f5p+3 +-0x1.2a17a33f45d3dp+4 +0x1.cdfd673213674p+6 +0x1.92217d490a3f7p+3 +-0x1.c613de95fa103p+3 +0x1.51f18d1defd06p+2 +0x1.e395dd140c294p+1 +0x1.569704a3d2798p+4 +-0x1.aeacf73f7dca2p+3 +-0x1.ac69d8ddf5d9fp+1 +-0x1.19c29e25b67d8p+4 +0x1.1db316ea6754p-3 +-0x1.3c117830ce24fp+0 +-0x1.421dd4f1654cfp+1 +0x1.7d2dd336b7b1bp+1 +0x1.fbdaabf79e82bp+1 +0x1.034cd21d3fef7p+0 +0x1.765c0e9ce6d36p+2 +0x1.80360cbdcd5bep+3 +0x1.7f91f03d057ccp+2 +0x1.9c5d7a325a2d1p+2 +0x1.e0c5b2a7058cep+3 +0x1.0f911df8b7807p+2 +-0x1.3584da3c39f1p+3 +-0x1.f7649ef0e0f4fp+3 +0x1.5b2a89fea53f1p+0 +-0x1.fe140633a9a2fp-1 +-0x1.fc821d750606dp+2 +0x1.1a2fc0a549e2cp+2 +-0x1.fc37d01cb58b8p+2 +0x1.06a11e1623775p+2 +-0x1.d9d8dbfa4da72p+2 +0x1.1204e4a5547e8p+1 +-0x1.7dadcf1cd0bb6p+3 +0x1.431ce93034f2fp+1 +-0x1.0c046ed5efe85p+4 +-0x1.183687481d131p-1 +-0x1.6ccec841e8ce9p+3 +-0x1.8d9611b1acef7p+1 +0x1.75988816d569ep+3 +0x1.e2c4bb6b78808p-3 +0x1.f4a1b6692733ep+3 +-0x1.098908441ddb8p+1 +-0x1.73d2e83cb5f23p+3 +-0x1.fa77e0de9db99p+3 +-0x1.05432f7bd158p+3 +-0x1.21796797e94bep+3 +0x1.f7e2ecb7ece6cp+2 +0x1.876de707ce431p+2 +-0x1.02113a2c6bab5p+2 +-0x1.9337715bcdec4p+3 +-0x1.765c625551882p+2 +-0x1.f05872cac3e2ep+2 +0x1.31b8b78f6dfdp+3 +0x1.f92e93c801994p+3 +-0x1.65770088a91ccp+3 +-0x1.7e4180af0042ep-1 +0x1.0863fb5608d3fp+4 +0x1.1266f191d5e7ap+4 +0x1.f7ceb59aa61ebp+2 +-0x1.7adc1d5f41649p+3 +-0x1.b72ace952c969p+2 +-0x1.42799c50e597fp+0 +0x1.12b707a43545fp+3 +0x1.26c4308fd275cp+3 +0x1.37b6c64a764ap+1 +0x1.9cdf67104c021p+2 +0x1.4e0b1fb32922ep+0 +-0x1.ef76dc5eb26b6p+2 +0x1.89fe204f13025p+3 +-0x1.ba6e919ff9338p+3 +-0x1.101565b078f6bp+4 +-0x1.8d1406bb3eef7p+2 +0x1.3c320f0a27869p+4 +-0x1.2da06a295dc8p+3 +-0x1.1f309b96f486dp+2 +0x1.a1602ac5c58e2p-2 +-0x1.b6151d2b949a1p+1 +-0x1.0e4b63707f8bep+3 +0x1.dd727fb277f24p+3 +-0x1.6922499c22898p+3 +-0x1.7a81cb4e77ffdp+2 +-0x1.138a1c7bd7b0fp+0 +-0x1.0914926360bc6p+3 +0x1.da7d28117b49ap+2 +0x1.96c7cc509287dp+0 +0x1.553f320599ba6p+2 +-0x1.c50bd50274823p-1 +-0x1.21dd93cb4d65p+2 +0x1.b6c40e2fa9e13p+6 +0x1.601aa07829764p+4 +0x1.1f08e7a387082p+0 +0x1.05b5e2a032ecp+1 +-0x1.5a88e3cd75551p+3 +-0x1.2dfc032b098d5p+3 +0x1.202a29fc90ac5p+0 +0x1.53a54791d8dacp+1 +0x1.9efc9bd430c79p+3 +0x1.e07e842d2f532p+2 +0x1.fad873d7c9eb6p+2 +0x1.83db3f9bbb774p+1 +0x1.047acc7bddc5cp-4 +-0x1.4be03d1cad354p+2 +0x1.e639d170c5836p+2 +-0x1.e6a97acebb1e3p+3 +0x1.5afbada4605f6p+4 +-0x1.f17280f294968p+1 +0x1.f006e3157f2f3p+1 +-0x1.30cc68b43a693p+4 +0x1.2fd5a2adc2583p-1 +0x1.15ffe5d975af1p+2 +-0x1.f1b2b1a0fa69dp+2 +0x1.19aa7c29bfb17p+1 +0x1.3f6646f4e1058p+3 +-0x1.2a8f334caa863p+2 +-0x1.8de99415c7751p+3 +0x1.e6e1ad4c4a41p+3 +0x1.22eb89d4fd03ap+3 +0x1.f5fded0468281p+2 +0x1.36bc741caa6b7p+3 +0x1.529e393646c9fp+3 +-0x1.4ee715ba19a8dp+3 +-0x1.1a4f41167f1d8p+2 +-0x1.907ff0ee55162p+3 +0x1.b3d03e11e89eep+2 +0x1.4aa876627fe0cp+3 +-0x1.c81d4d77a9dep+3 +0x1.5045570d32f5cp+3 +-0x1.8c1491502f3b6p+3 +-0x1.fed67a6197b25p+0 +0x1.c0d5edf21314ep+1 +-0x1.bc6243b211fcfp+1 +0x1.0853f04d5bbb9p+3 +-0x1.fa5b23d50da27p+3 +-0x1.892029e10ef46p+2 +0x1.98729cadc0696p+3 +0x1.31636d0ae4b6ap+2 +-0x1.4e5310c3e8863p-1 +0x1.914c70227d082p+3 +-0x1.53625fa9a7f93p+4 +-0x1.63977e245c6c5p+8 +-0x1.b9824e5b4d29cp+3 +-0x1.81366c2b43e7fp+3 +0x1.d57e2603cdc78p+0 +-0x1.3a6112894a4b3p+1 +0x1.0b30d9d53221cp+4 +-0x1.219831d8ea67fp+3 +0x1.f2a0939784f1fp+1 +0x1.f2705e6b2373fp+2 +0x1.1579e288983cep+3 +-0x1.067c62c5cdaeap+2 +-0x1.61ac445d9e8bp+1 +0x1.6bb34067bc895p+2 +-0x1.984dbfda1a6c9p+3 +-0x1.b4a3d22a1ba8ep+3 +-0x1.3a7c3a8f489b3p+3 +-0x1.eebe9e55243bbp-6 +0x1.122bc1a16c686p+2 +-0x1.d382a8e874973p+1 +-0x1.7dd53d15b136dp+3 +0x1.6783de41a401ep+3 +0x1.02cb9c6eca4b9p+4 +-0x1.30e6e2ba7aa51p+3 +-0x1.69771cf1986e3p+7 +0x1.085fd177f17f3p-2 +0x1.3027a2b14b3c7p-4 +-0x1.c40f1b34a4994p-1 +0x1.7e58d80a32ad3p+5 +-0x1.03ad502e3f953p+4 +-0x1.6c86f33bdcdabp+3 +0x1.6a32d56785932p+2 +0x1.bc97ce9d592a9p+2 +0x1.5fe22a3357055p+1 +0x1.0cdf88b2f7a77p+3 +-0x1.0bfcd985bca43p+3 +0x1.829591e644239p+3 +-0x1.422816445f3a5p+2 +0x1.b051d209a40dbp+2 +0x1.612b57c208d4fp+4 +-0x1.b51680e7152a8p+0 +-0x1.d96add68ee3f7p+0 +-0x1.cd7e2623c0496p+3 +-0x1.de0faa13059a9p+2 +-0x1.f52f27ddf903dp+2 +0x1.194383691adf2p+3 +0x1.24ccd66405734p+3 +0x1.0c97b80bb93bbp+4 +0x1.b4b66e0e58e62p+6 +-0x1.9ef037efb8951p+2 +-0x1.50504b2c45cc4p+2 +-0x1.5f4a5bd1999c4p+3 +-0x1.29bb164c2b0fbp+3 +0x1.a12a7a0912edap+8 +-0x1.62d3304f28005p+3 +-0x1.a8aef06f08437p+2 +0x1.b82957f7f7793p+3 +0x1.66f7fc9522a59p+3 +0x1.e2c50eb81f5afp+1 +0x1.58fd7ee016d88p+1 +-0x1.d41d0447013eap+6 +-0x1.d311dcc161cc6p+2 +0x1.dd2eb4a3bc562p+3 +0x1.7a3abbc6295a9p+3 +-0x1.4c9fa74f8adcfp+3 +0x1.254861815cdf2p+3 +-0x1.4b8fde098f66p+2 +0x1.6600282a1298p+4 +0x1.556ce0fbc066bp+6 +-0x1.4fec316462e3p+3 +-0x1.e18c520e17d29p+0 +-0x1.7c788ba24177ap-2 +-0x1.9e28125b67281p+3 +0x1.b83ee732a1756p+2 +-0x1.1bc1301865e47p+4 +-0x1.205c564f951f5p+2 +-0x1.3c4620172553ep+3 +-0x1.d7cf37940ed02p+3 +-0x1.b059c430eec4fp+7 +-0x1.adc0a71dc3facp+1 +0x1.1270cf884bb08p+4 +-0x1.fca759c2f1ba4p+2 +0x1.5180b5739446bp-1 +-0x1.4537cf70dfcbcp+3 +0x1.ecbdf018a5621p+1 +-0x1.c542d0c08c1cdp+1 +0x1.1b3dcdbc65d88p+2 +-0x1.854b63665ce64p+3 +0x1.483f398fc624ap+2 +-0x1.67476a0bf7645p+2 +-0x1.e0b9e13d69bf2p+3 +0x1.9eedba027c2b2p+1 +0x1.36fd71b12c909p+4 +-0x1.66cfa294b1553p+4 +0x1.c84d455cc55f6p+1 +-0x1.1119b30c39188p+4 +0x1.fa24dbd9090ap-2 +-0x1.2a470e00b1dbep+3 +0x1.40f3f12272879p+2 +-0x1.48660a4818138p+0 +0x1.b602f2a7b4b59p+3 +0x1.116c7ced96fc6p+3 +0x1.2952aaf403df1p+2 +0x1.3b380257abd9cp+3 +0x1.09811fde2feacp+2 +-0x1.55d6ff8751457p+3 +-0x1.5c5efaa7d5f63p+2 +0x1.9fdfdf8b192d3p+0 +-0x1.7643ee28c8e85p+2 +-0x1.3a0cec4c6a01p+5 +-0x1.032c6fe52db18p+1 +-0x1.deef469810c21p+2 +-0x1.8e7e2a02e9deep+1 +-0x1.936cef933ca0ap+2 +-0x1.2feed64e9c55bp+4 +-0x1.f172476bd55dep-3 +-0x1.df90b56602e1cp+1 +0x1.36fbc948a25efp+3 +0x1.055f60f11b7cbp+4 +0x1.a74785ac33d31p-1 +-0x1.6f32d2de8c70cp+3 +-0x1.6fe080d7977e6p+3 +-0x1.0b18485ed707cp+3 +0x1.71b9bac6bb928p+0 +0x1.17128856c8e46p+2 +0x1.0b7e26ccaee4p+3 +0x1.cffc99cdbb22fp-1 +0x1.e28f7f924366dp+2 +-0x1.1bccf4353f43cp+4 +0x1.f551a84d06edfp+0 +0x1.1faec9d32c049p+3 +-0x1.48f22bbfefdf4p+3 +0x1.caf0c5044ed0ap+3 +0x1.669c8afc0d2f5p+4 +0x1.b2f9ae6d33cfcp+2 +0x1.22b476ce929b1p-2 +-0x1.67d9fddcff597p+3 +-0x1.a75e6b46efef9p+3 +-0x1.0d09f70667c5cp+2 +-0x1.36ad163cc1882p+4 +0x1.792438d398445p+2 +0x1.180e96c1faacfp+1 +0x1.60b64c62fb406p+4 +-0x1.fdd03d73ee32dp+3 +-0x1.89509f0271e2ep+1 +0x1.b01fa0e53127fp-1 +0x1.72898e3c3e82ap+4 +0x1.a06bc107c8848p+3 +-0x1.6b40aad2972adp+3 +-0x1.5b46d755906e3p+3 +-0x1.59fd213479ee9p-2 +-0x1.23900ccfba853p+4 +0x1.fde8416d82ee5p+1 +0x1.6b3b513b486dcp+3 +0x1.44eaeeafdd2d2p+2 +0x1.09905f18c79d7p+2 +0x1.63ff4b775bc15p+0 +-0x1.3a3e476758e39p+1 +-0x1.9736dfc54151p+0 +-0x1.1a6ad22fe4d12p-1 +0x1.3078e7fa8b80dp+2 +0x1.0b7005e08925bp+2 +-0x1.f38c183dcfc42p+3 +-0x1.cce016c706cc1p+1 +-0x1.64bb7032fe675p+4 +0x1.3a94b1b098461p+1 +-0x1.769a4f8b2a9c2p+1 +0x1.1c8e477f7e433p+2 +0x1.b1653bf50af05p+3 +-0x1.ee4e1bfc7c218p+1 +0x1.2f58009738033p+0 +-0x1.cc051331033f9p+5 +0x1.721faa49f8361p+3 +-0x1.61800c0bbeac7p-1 +-0x1.3bc48240df3b9p+1 +-0x1.5b33d7dd2996ap-3 +-0x1.1b2f8a16f1623p+3 +-0x1.d07f75beccf45p+0 +0x1.07ebf843e0aebp+4 +0x1.bf9ef3ed41ffep-5 +0x1.4247a2cc8e40dp+3 +0x1.9b60221b148e9p+2 +-0x1.e9b8e8b27c2b7p+0 +0x1.7fde42fc4768cp-7 +0x1.f19c733ace44cp+2 +0x1.2c7901d062ecfp+2 +0x1.cabd233dbf1dp+1 +0x1.d5928740df63bp+3 +-0x1.0073b00419021p+2 +0x1.79680780f91b8p+3 +0x1.35c5003563dd6p+1 +-0x1.3afcd358fef2cp+0 +-0x1.56f52cd6afc3cp+2 +-0x1.0a57a87c0f4adp+2 +-0x1.464c231c9d24cp+3 +-0x1.522525c004d7p+4 +0x1.5a2fcc6646544p-4 +0x1.e44e743165bb5p+3 +-0x1.081fedd7070bep+3 +0x1.22771ff5a7c52p+0 +0x1.d89e8bac65c2cp+2 +0x1.b34ac3570a043p+3 +0x1.097ed3f070fccp+4 +0x1.a3969b5df9ec4p+0 +0x1.a7a3b80562e86p+3 +0x1.cab696f26f617p+1 +0x1.302978f6e1b68p+3 +-0x1.5a8c0d4472ee4p+2 +0x1.d17f5ac6b5482p+3 +0x1.60384a11208ddp+2 +-0x1.3172942a035bdp+7 +0x1.ce9c319a57417p+1 +-0x1.3cc7d2fc242f3p+2 +-0x1.2408109fdfeedp+2 +0x1.648669ce14bcbp+2 +0x1.b30cffa9d9aa8p+3 +-0x1.e1e4e07c84af7p+0 +0x1.2d2fb49ebe18bp+1 +-0x1.7793ffd06ecaep+4 +0x1.7e5db23d454f2p+4 +-0x1.b2660eb0c8efdp+2 +0x1.0bcee22b13869p+3 +0x1.5ce387f2ee129p+2 +0x1.1030fcb5e0bp-4 +-0x1.0187160bbef73p+3 +-0x1.5c80eac15cfa4p+2 +-0x1.b0860e8e60fe9p+3 +-0x1.4ff664f3d37c7p+4 +-0x1.25b456a5cd7c6p+3 +-0x1.46c959c2739f7p+3 +-0x1.2c5d5d3a564cdp+2 +0x1.52c1fc096d019p+2 +0x1.df8cf3325b853p+2 +0x1.3cbb8df9cd3f8p+2 +-0x1.3aaccf58643eap+4 +-0x1.cb163132be064p+1 +-0x1.0250f2e7899c4p+4 +0x1.4152eeb8bbaccp+7 +-0x1.aed7e44acbfd6p+1 +-0x1.e8c7c81caa2acp+2 +0x1.13ca1605635dbp+3 +0x1.e7c5e05bcf806p+2 +-0x1.950d79d75281dp+2 +0x1.0355c9b6dbd3ap+2 +-0x1.17c0e83f3e6a7p+3 +0x1.bedf1f08f1224p+0 +-0x1.f383e4ab7335p+3 +0x1.58804e97d05e4p+3 +0x1.0595d33f6ce6ep+2 +-0x1.6bfcb087fbb35p+3 +-0x1.9f3235a600764p+0 +-0x1.283b3523a3e52p+3 +0x1.17a3d9bd93bb4p+4 +-0x1.e9ac68da6de9dp+1 +-0x1.6430afdb058dp+5 +0x1.98ec62d02132fp+2 +0x1.f6dbff4163c39p+3 +0x1.6cdb73d24225fp+2 +-0x1.20fccd3ac6ec5p+2 +-0x1.449b58064263ap+4 +-0x1.addf84fdde121p+1 +0x1.9ac6c65aa9fcep+3 +0x1.0602b885e1246p+3 +0x1.5718a847318c4p+3 +-0x1.451756b00771dp+3 +-0x1.193cb178f3171p+1 +-0x1.a81cc2eb41c13p+3 +-0x1.6b1ea3a0e08bap+2 +-0x1.b8e9b99129669p+3 +-0x1.c7221fd132b89p+2 +-0x1.2f599d9f15ddcp+3 +0x1.41844a208b5a5p-1 +-0x1.53fd7610f5049p+2 +-0x1.1bf69c2c69186p+3 +-0x1.0f95e43a40589p-1 +0x1.ad2345a345283p+0 +0x1.7ed2c45120764p+3 +-0x1.05f6a8c8dcd4ep+2 +0x1.0063603170f46p+4 +-0x1.55ce3c72d43e4p+3 +0x1.5359e4aa16ee5p+2 +-0x1.c7068d468990bp+2 +-0x1.014011f7f5b6cp+2 +0x1.0fa84672df9cp+4 +0x1.66f6cb2bc8e55p+1 +-0x1.367fffd70dfe1p+3 +-0x1.5cffbf06f280fp+2 +-0x1.c5f12b3553bf2p+2 +-0x1.5e9668d0bfa11p+3 +0x1.08bfafa80001fp+2 +0x1.e6d02cfc766cep+2 +-0x1.503e8a60e958cp-2 +-0x1.a160a70ad1127p+2 +0x1.a6087ac4363c9p+2 +0x1.5a47acdfaa1bfp+0 +-0x1.b43d884826947p+3 +0x1.d75cd00aaf7b9p+0 +0x1.44e1964558c1ep+3 +-0x1.5eb5fe7312672p+2 +0x1.10fc3644854a4p+1 +-0x1.f5e5fa421739cp+2 +-0x1.ebc3aebc049fdp+2 +0x1.b2dc64877416ap+4 +-0x1.4cf4a1947b159p+3 +0x1.0059046df7ef9p+0 +-0x1.a7b4ba5588a25p+2 +0x1.8bade69b5dd09p+1 +0x1.7a4c040a95c98p+0 +0x1.2f476b9080b0cp+4 +0x1.fad6923b7a8b1p+3 +-0x1.79e4f7d80ea9p+2 +0x1.39c514eb28fb4p+2 +0x1.138e6f58d108dp+3 +0x1.72b33d3731a1dp+3 +0x1.8962d8716df1ap+2 +0x1.406b91f301775p+3 +-0x1.41f3d08baf319p+1 +-0x1.5bfcde94702a7p-2 +-0x1.1037cc34255bep+2 +-0x1.abef8aa71b609p+1 +-0x1.beed3fa1fc82ep+3 +-0x1.e6f3c5282a24ap-3 +-0x1.cfbc138172b16p+3 +-0x1.27e79c3511726p+2 +-0x1.1ae052609a4cap+2 +-0x1.0fca6a8a495fep+9 +-0x1.7b3e87df7543bp+3 +-0x1.2d16d30eb91d9p+2 +-0x1.cb6a91453493dp+1 +-0x1.219209a69482ep+7 +0x1.4a37cee48ca1cp-1 +-0x1.05b5570e8bd61p+2 +-0x1.ac8e2b20fca8dp+2 +-0x1.512e686b7d7abp+2 +-0x1.13d13149949fap+3 +-0x1.0a17b44eebc68p+1 +-0x1.4a6ae31ba4f1fp+1 +0x1.42b843150541p+0 +0x1.7c7ce19207941p+4 +0x1.32b04ef6b82dcp+4 +0x1.2fb6fcff92d09p+3 +0x1.54f186fd323b4p+6 +0x1.30231c14f8d3ap+1 +0x1.a9691cbfa9c4ap+2 +-0x1.11ae89b52b3abp+3 +-0x1.c2f9c593fcdf4p+0 +0x1.dffb95bc9bf54p-1 +0x1.08017d9365d11p+4 +0x1.4df32d524f1cbp+5 +0x1.940245870920dp+3 +0x1.c2656de34ece5p+4 +0x1.99175ce579029p+2 +-0x1.c3ad1835251b4p+1 +-0x1.1a67398eb3469p+4 +0x1.77ce96a6f2e4p+3 +-0x1.b5b30219bfe62p+1 +-0x1.f76fa8a29778ep+2 +0x1.fdef4e8b846dcp+1 +0x1.723710ea543ecp+2 +0x1.7a24eb1d7b147p-4 +-0x1.2d06d4a4a3eep+0 +-0x1.fb2d1f340b13ap+0 +0x1.bf813ddce866bp+3 +0x1.79a502f3207a6p-1 +-0x1.cd24653a74a04p+0 +-0x1.23497002a7d6bp+3 +-0x1.195bbd6acdfdp+2 +0x1.b6962e5af3912p+1 +-0x1.2a9ffb5f41ed9p+2 +-0x1.85a09e402080cp+2 +0x1.738d3fba9a609p+2 +0x1.045a56a5e8eefp+3 +-0x1.6059cdf1f959ep+2 +-0x1.5ae9879bf538fp+3 +0x1.460dac544b9abp+3 +0x1.0a17e19d0b18ap+1 +0x1.dffac37924b9ep+2 +-0x1.b85402bded63dp+1 +0x1.018b730ee6b11p+4 +0x1.4d73063245f05p+0 +-0x1.7af6f0d9834f9p+3 +0x1.431bf7d7ea9a7p-3 +0x1.962442d5ac988p+3 +-0x1.2ea6de69ba774p+4 +-0x1.732367af9036p+2 +-0x1.d0288cc2ddf33p+2 +-0x1.54d26f2fc05a3p+3 +0x1.7fb79f44bf04cp-2 +0x1.3c3b208d369cap+0 +0x1.fd2cdbf832c8dp+1 +0x1.64db017789017p+3 +-0x1.9ffb8eaf2e85dp+1 +-0x1.b456440547281p+2 +-0x1.7119cf9505357p+1 +0x1.df4135e017d1bp+3 +-0x1.6f61ae02c2f0bp+4 +0x1.75624830510d7p+2 +-0x1.11a2990f734f9p+1 +-0x1.c71a4acad690bp+0 +-0x1.2150537181d07p+2 +0x1.49dccb169af73p+4 +-0x1.1ab70daa32f57p+4 +-0x1.ed2d340e1d4b6p+0 +0x1.0ae86a69bfdc8p+2 +0x1.10326fa457a1cp+3 +0x1.b50f67556e583p+2 +-0x1.0cc3693ca0e57p+3 +0x1.a31b08750d231p+2 +-0x1.ea01c2d44eef1p+0 +-0x1.e9994e7a76beap+3 +-0x1.5a12811d3d62dp+2 +0x1.99b03c2150665p+1 +-0x1.75c29ab501a9cp+3 +-0x1.daf9cfa2167p-2 +-0x1.4f2cded6cc478p+3 +-0x1.5ad51c6feac69p+2 +-0x1.d975402d530a3p+0 +0x1.1b529da5cb4a1p+4 +0x1.e4cdc17dc4f37p+3 +0x1.41d348cfec73dp+4 +-0x1.6a97b93e9a78fp+0 +0x1.69df0d787b0a4p+3 +-0x1.20735939f145ep+2 +0x1.20127875074f5p+2 +0x1.aae503861e4fdp+2 +-0x1.ed5e337830462p+3 +-0x1.e0be58e098ba6p+0 +-0x1.e8d3fec2f9a35p+6 +0x1.7c6545e38f033p+4 +0x1.35fa11b802085p+3 +-0x1.b1b9dbbfba058p+3 +0x1.65c0aecd60c74p+3 +-0x1.d68421dd1ccadp+3 +0x1.752c556a26c03p+1 +-0x1.5c1230a91d09fp+3 +-0x1.6b262d40ec013p-3 +-0x1.2172a7e876dc6p+2 +0x1.1048ba3183bd5p+3 +0x1.9823fff33ab5ap+1 +0x1.5f51c0f0f8efbp+2 +0x1.6e4c65e8efce1p+0 +0x1.d8967442451c9p+2 +-0x1.20e0b9cb1d992p-2 +-0x1.684a0a7e3a27p+3 +-0x1.6c94b47b532d3p+4 +0x1.fbca49a028ap+2 +-0x1.2d169ba9f8236p+3 +0x1.a0fc8d98511bfp+3 +-0x1.13bc6fc1e2961p+2 +0x1.2dbea59c72354p+3 +0x1.3b74d7189266bp+0 +-0x1.4393181eb5b7dp+4 +-0x1.5877dbcfa12ap+2 +0x1.f7d1291c4eb0dp+6 +0x1.b5c593f4b3593p+2 +-0x1.230e7e9739d03p+8 +-0x1.5fe50cc8d6908p+3 +0x1.5fb057eba2f35p+2 +0x1.a76e87fb53279p+3 +0x1.53dfdf70d58e6p+3 +0x1.3551c0100a289p+2 +0x1.684c9218b970dp+0 +0x1.f4e2f1ff96b6dp+3 +-0x1.84c6d7badcfebp+2 +-0x1.0fa903872618fp+4 +0x1.300e009392cbep+4 +-0x1.8b818d6c129cp+3 +-0x1.17ee4a490715p+3 +0x1.83426abba2564p+3 +0x1.452b7f99a20fbp+3 +-0x1.b8ee11aff1d3cp+2 +0x1.4434265287f57p+2 +0x1.df807c2971e9ep+1 +-0x1.cb8376a350adep+3 +-0x1.e569467f019e8p+3 +-0x1.571e093cc6f4p+1 +0x1.a03d54c66fedfp+3 +-0x1.649ecc58a442fp+3 +0x1.c52b2261995f2p+2 +0x1.ab7ee70d091bbp+2 +-0x1.89db6b5152eadp+0 +0x1.87046704e2b26p-3 +-0x1.b852bc74c0714p-2 +-0x1.e0cb228e733e7p+2 +0x1.8dc1c3e1c98c7p+8 +-0x1.6724f4e5c7ed5p+2 +0x1.24946f08a03a8p+1 +-0x1.0857da7d15212p+0 +0x1.dd7317d4bf815p+2 +0x1.ca6221727f6dap+0 +-0x1.55fa3e414cae1p+3 +0x1.588bef435a702p+2 +0x1.30642201a0781p+4 +-0x1.ec0ad3914995fp+2 +-0x1.54924200374d4p+3 +-0x1.3ce69cb78d2f7p+3 +-0x1.382d426d2211bp+4 +-0x1.ab30013b5be53p+3 +0x1.57a8d7e135148p+1 +0x1.2036f04f35758p+2 +0x1.5ccab2df7ad38p+3 +0x1.f4ca7b6ecf281p+2 +0x1.eb34e12bc23fap+1 +-0x1.51d32cc581df8p-1 +-0x1.00742521d9124p+2 +-0x1.3b7da4fb99788p+3 +0x1.90fc0a81339ep-3 +0x1.14e9971ec3fp+4 +0x1.a2cbc75d5803ep+3 +-0x1.e7c8172f0678cp+0 +-0x1.2a9801a7dc6cp-3 +0x1.5b6513782a943p+3 +-0x1.069ecc75d107bp+4 +0x1.7ca7380cb2c6bp+4 +-0x1.8896b73f86c69p+2 +-0x1.e58079f085a12p+2 +-0x1.498c8ae458bf4p+2 +-0x1.bdb48b02b2372p+3 +-0x1.1241dd4cc34b1p+2 +0x1.0a37671642dd6p+3 +0x1.f36a7a4051727p+2 +-0x1.46691002e8c94p+2 +-0x1.3e438e2a39834p+3 +0x1.d5868551b125ep+6 +-0x1.04ea113509718p+4 +-0x1.349cb63765452p+7 +-0x1.ea2e054ef6d97p+3 +0x1.540e70aabaee2p+0 +-0x1.e3c48733ac708p+3 +-0x1.7f59cacd16af6p+0 +0x1.68fe09e7c7d09p+3 +0x1.10b5a3c7c00c1p+2 +0x1.7ea7448e6239cp+2 +-0x1.267621743bddbp+4 +-0x1.2390e49adae3cp+8 +-0x1.3101abd2339eap+3 +-0x1.7248afafd376cp+1 +-0x1.9824fb096c2a7p+0 +-0x1.4bd76c4bc75efp+3 +0x1.cb99d6130181cp-1 +-0x1.c026db0a25131p-4 +-0x1.5e0b04cce8626p+3 +-0x1.eaeab512964fep+2 +-0x1.6ba2a456ee6e5p+0 +0x1.20f5c81a5eb43p-2 +0x1.3eedc13975d99p+2 +-0x1.3069acb88a2afp+3 +-0x1.055766e6e99c1p+4 +0x1.f8aa3d544c165p+2 +-0x1.70aa1c9b9bc3bp+3 +-0x1.e8a2c79794b65p+3 +0x1.7edfd74606f1ep+3 +0x1.65b55f4a91677p+2 +-0x1.6c8ed28a827fap+2 +-0x1.6e2d95b1faa8ep+2 +-0x1.9dfe75fc5b3a4p+0 +0x1.5c76a9f0f9b9bp+2 diff --git a/sysdeps/x86_64/fpu/libmvec-cbrtf-inputs b/sysdeps/x86_64/fpu/libmvec-cbrtf-inputs new file mode 100644 index 0000000000..e1ca56340c --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-cbrtf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-3.4e+38, 3.4e+38), mean = 0, standard deviation = 10 +-0x1.554044p+1 +-0x1.66c498p+2 +-0x1.ea688p+3 +-0x1.91417ep+2 +-0x1.8a5fa6p+1 +0x1.43456ap+3 +0x1.d5fd5ap+2 +0x1.5c4e8cp+4 +0x1.830c02p+2 +-0x1.3b3a6ap+2 +-0x1.d32ceep+3 +-0x1.8382dap+3 +0x1.63e878p+4 +-0x1.1f87dcp+1 +-0x1.0e3eap+3 +0x1.2fb7fp+4 +-0x1.76ab78p+1 +-0x1.0f485cp-4 +0x1.669f14p+2 +0x1.50885p+3 +-0x1.381b3ep+2 +-0x1.f522c2p+2 +-0x1.e8dedep+0 +0x1.2d0952p+3 +-0x1.15328cp+2 +0x1.c011b2p+3 +-0x1.4497bap+3 +-0x1.7155bp+1 +0x1.64693ap+3 +-0x1.50befcp+3 +0x1.f9b198p+0 +0x1.05dbacp+3 +0x1.f17b4cp+0 +-0x1.d2423cp+3 +0x1.cf35fep+0 +0x1.50d462p-1 +-0x1.ee88eep+2 +-0x1.bed2d6p+1 +-0x1.928906p+1 +0x1.d07ccap-2 +-0x1.8b1f18p-1 +0x1.2d7e82p+3 +-0x1.5c6226p+3 +0x1.f6057ep+1 +0x1.a61332p-3 +-0x1.a0e648p+3 +-0x1.de858ap+0 +0x1.db9722p+2 +-0x1.84e574p+3 +-0x1.99a474p+1 +0x1.1892eep+3 +-0x1.45195p+3 +0x1.d19ce4p+2 +-0x1.51cb4ap+4 +-0x1.f6acdap+2 +0x1.77327p+1 +-0x1.2ca064p+3 +0x1.09fcf8p+3 +0x1.abd376p+3 +0x1.75627p-2 +0x1.6feca4p+1 +-0x1.de3b4ep-3 +0x1.a638b6p+1 +-0x1.c84d5cp+3 +0x1.7a94e2p-1 +0x1.1f30dp+3 +0x1.3597f2p+1 +0x1.96560ep+0 +0x1.19f624p+1 +-0x1.115fe4p-1 +0x1.3bea9ap+3 +-0x1.3d6c02p+3 +0x1.33a842p+0 +0x1.4db5b2p+2 +-0x1.5f2064p+2 +0x1.7bb086p+1 +-0x1.51738ep+2 +-0x1.25699cp+9 +-0x1.3c172ap+0 +-0x1.0964f8p+0 +0x1.c92b8ap+8 +0x1.e0431ap-1 +0x1.c9e804p+2 +-0x1.683a8cp+3 +-0x1.faf0cap+1 +-0x1.9c9b86p+1 +-0x1.0d0c32p+2 +-0x1.4b2382p+1 +0x1.3c522ap+3 +0x1.2c9092p+3 +0x1.295ca4p+7 +0x1.4b33e6p+4 +-0x1.85f622p+2 +-0x1.231314p+0 +-0x1.f0ef94p+3 +0x1.1c945p+4 +0x1.b04b1cp+0 +-0x1.3242f2p+0 +0x1.743406p-2 +-0x1.19d4fap+3 +0x1.214e5ep+4 +-0x1.11ad08p+3 +-0x1.9356a6p+2 +0x1.64eab6p+3 +0x1.e1279cp+1 +0x1.01096ep-3 +0x1.01cc28p+3 +-0x1.6e7ca4p-1 +-0x1.0680acp+2 +-0x1.d5793cp+2 +0x1.d4c674p+1 +0x1.0a8f5p+4 +-0x1.3a54fap-2 +0x1.06405ap+3 +0x1.7eaa24p+2 +0x1.b7f32cp+2 +-0x1.979894p-1 +-0x1.c3f60ep+3 +-0x1.548e3cp+3 +-0x1.46b70ap+3 +0x1.a6929p+2 +-0x1.c99a94p+3 +0x1.310fap+4 +-0x1.ee6fep+2 +-0x1.0a39eep+3 +0x1.eb1886p+1 +0x1.d25278p+2 +-0x1.514ed6p+2 +-0x1.ff7cc6p+1 +-0x1.4ade2ap+1 +0x1.763f5cp+3 +0x1.4cf20ep+1 +0x1.710cb4p+4 +-0x1.71ea56p+3 +0x1.87e2bp+2 +0x1.acbdf8p+3 +-0x1.36b382p+4 +0x1.00be9ep+2 +-0x1.f37092p+2 +-0x1.38e306p+1 +-0x1.d89746p-5 +-0x1.61a146p+2 +0x1.4a98fp-1 +0x1.c5bf66p+2 +-0x1.bbb92cp+1 +0x1.12044ep+2 +0x1.0ffc1cp+2 +-0x1.e60f74p+6 +-0x1.0bbc88p+3 +-0x1.3d69aep+1 +0x1.211876p+2 +-0x1.36369ap+2 +0x1.6da0a2p+3 +-0x1.9dc37ep-1 +-0x1.3bf064p+3 +-0x1.26d8ccp+3 +-0x1.5f8584p-1 +0x1.4957cap+9 +-0x1.0b3cep+2 +0x1.520918p+2 +-0x1.96b004p+3 +-0x1.0525f4p+4 +0x1.4d408ap+2 +-0x1.8607eap+2 +-0x1.98ece4p+3 +0x1.e3692ap+3 +-0x1.16ca9ep+1 +0x1.ca4164p-7 +0x1.0bd934p+4 +0x1.cfb14ap+0 +0x1.bd98bep+0 +-0x1.c48bfp+0 +-0x1.a83238p-2 +0x1.00f4eap+2 +-0x1.7712c4p-3 +-0x1.2399f4p+2 +0x1.e1f148p-2 +-0x1.93da3ap+0 +-0x1.8c7952p+2 +-0x1.f5ab8ep+0 +-0x1.687decp+4 +-0x1.f2d0b2p+2 +0x1.e1e64cp+4 +-0x1.3ae286p+2 +-0x1.3767e4p+3 +-0x1.d30f88p-2 +-0x1.23746ap+3 +-0x1.a7f258p+2 +0x1.20e16ap+3 +-0x1.e7e782p+1 +-0x1.013956p+4 +0x1.dd038p+3 +0x1.13e3a6p+4 +-0x1.3bd47ep+3 +-0x1.f135dep+1 +-0x1.0530d8p+2 +0x1.9883b2p+3 +-0x1.0cd6b2p+2 +0x1.c3f888p+3 +0x1.57fc88p+1 +0x1.b9a55p-2 +-0x1.60a844p+4 +-0x1.bdd8d8p+2 +0x1.158358p+0 +0x1.8b0b8cp-1 +0x1.a37254p+2 +-0x1.ab1accp+4 +0x1.b1ae48p+1 +-0x1.515fb2p+2 +0x1.002122p+4 +-0x1.3860dap+3 +-0x1.793ebep+3 +0x1.6191bep+2 +0x1.e68bc2p+0 +-0x1.40de5p-2 +-0x1.579064p+3 +-0x1.18388ep+4 +-0x1.2bb4e8p+4 +0x1.8e3ef8p+2 +0x1.ab82d8p+3 +-0x1.1c32a8p+3 +-0x1.2adfd4p-2 +0x1.35f5e6p+3 +0x1.1904cp+0 +0x1.7d24c8p+3 +-0x1.0890a4p+3 +0x1.d81626p-3 +0x1.239762p+3 +-0x1.2a26dp+4 +0x1.4a786ep+3 +-0x1.8ce034p+1 +-0x1.55e6f4p+2 +0x1.7549bap+1 +-0x1.a60bbep+3 +0x1.c89fccp+3 +-0x1.4a7d8ep+2 +0x1.d0b10ap+0 +-0x1.978ea6p+3 +-0x1.fc6332p+2 +0x1.4028aap+2 +-0x1.498382p+3 +-0x1.06da9ep+0 +0x1.88bdccp+0 +0x1.0fe06p+1 +-0x1.eedfbcp+3 +0x1.1c67acp+1 +0x1.ca73cp+2 +-0x1.249b68p-1 +0x1.a934dap+2 +-0x1.c2d596p+2 +0x1.48e068p+2 +0x1.b0f2ecp+2 +-0x1.cd8d86p+5 +0x1.0c90dap+6 +0x1.bf5ac2p+2 +0x1.e26a4cp+2 +-0x1.2c60dp+2 +0x1.eb03f4p+1 +-0x1.f807fcp+8 +0x1.0e89b4p+2 +-0x1.f9c44cp+0 +0x1.6869eep+3 +-0x1.63710cp+3 +0x1.e43d64p+7 +0x1.a1048ep+0 +0x1.34ac28p+3 +0x1.b55042p+3 +-0x1.351426p+2 +0x1.93c822p+2 +-0x1.0f642p+2 +-0x1.0ed59ap+4 +0x1.5546f8p+2 +-0x1.f905a6p+2 +-0x1.038a7ap+4 +0x1.75661ep+1 +-0x1.1516f4p-4 +0x1.777794p+1 +-0x1.5471f4p+1 +0x1.0c3512p+4 +0x1.397abp+3 +0x1.f9378ep+1 +-0x1.d0fb06p+1 +0x1.60087cp+3 +0x1.38a86p+1 +-0x1.ca522cp+3 +0x1.467ef6p+0 +-0x1.7c2b1ap+1 +0x1.c41fc2p-1 +-0x1.09dad2p+3 +0x1.7bf16p+2 +0x1.ea04ap+2 +0x1.2e0138p+3 +-0x1.6ff0dcp+3 +-0x1.04da08p+1 +-0x1.0c76e8p+4 +-0x1.01b3bep+4 +0x1.6626bp+0 +0x1.15400cp+2 +-0x1.6519acp+3 +-0x1.035c52p+4 +0x1.df116cp+3 +0x1.046cc2p+2 +0x1.c7aa82p+2 +0x1.93911p+7 +0x1.6089dap+3 +0x1.a523aep+3 +-0x1.51ccaap+5 +0x1.bb84dp+3 +-0x1.bd1e02p-1 +-0x1.0526d6p+5 +0x1.44f21ep+7 +0x1.0755dap+4 +-0x1.0db292p+1 +-0x1.be86e4p+3 +-0x1.747e64p+2 +0x1.b88e2ap+4 +0x1.89131ep+4 +0x1.a421f2p+2 +0x1.1eb352p+2 +-0x1.90b5a2p+4 +-0x1.f9bf68p+3 +-0x1.9eee9ap+2 +-0x1.38eaaap+3 +-0x1.1da2e6p+3 +-0x1.e65858p+1 +-0x1.7ee8c8p+2 +-0x1.ddf13ap+2 +-0x1.1496f6p+2 +-0x1.2dfbbap+4 +-0x1.3ac91p+2 +0x1.26ba2ep+1 +-0x1.2d34e6p+3 +0x1.ecf06p+2 +0x1.cf5fep+1 +-0x1.3668bap+2 +-0x1.33e39ep+2 +-0x1.35904ap+3 +-0x1.9643cep+1 +-0x1.8d583cp+3 +-0x1.0cf152p+2 +-0x1.74ad54p+3 +0x1.658c3ap-5 +-0x1.d4ec7ap+6 +0x1.4dd8e8p+1 +0x1.b1ea88p+2 +-0x1.1c93d8p+1 +0x1.8c5a54p+2 +0x1.5dd0bcp+2 +-0x1.70048cp+2 +0x1.e36baap+2 +-0x1.819d0ep+1 +-0x1.88223ep-1 +0x1.14076ap+3 +-0x1.ce9e1cp+2 +0x1.91887ep+3 +0x1.4e3832p+2 +-0x1.0217f4p+2 +0x1.a226ep+3 +0x1.0e4d1p+1 +0x1.55cc28p+0 +-0x1.c953c8p+5 +0x1.d1d4bep+1 +0x1.0a1e64p+3 +-0x1.aa486cp+1 +0x1.dc8a96p+0 +0x1.14563p+2 +-0x1.0247f4p+3 +0x1.4551ap+2 +-0x1.615c8p+2 +0x1.6914p+3 +-0x1.eb6dd4p+2 +-0x1.161d88p+0 +0x1.4150e8p+1 +-0x1.dff24ap+1 +-0x1.5c439ep+0 +0x1.8e984ep+3 +0x1.95eedcp+1 +-0x1.29cd8p+1 +0x1.9de856p+1 +0x1.e63dc2p+0 +0x1.2069d4p+4 +0x1.61e48cp+3 +-0x1.03dedp+4 +-0x1.4cca3p+2 +-0x1.756bacp+3 +0x1.ef60c2p+0 +0x1.4cf1bep+3 +0x1.a3c78p+0 +-0x1.08f71p+6 +0x1.f0ea74p+3 +0x1.b064e6p+3 +0x1.527abp-2 +-0x1.ecf4e6p+3 +0x1.60b248p-1 +0x1.e34614p+2 +-0x1.2fea98p+1 +-0x1.4183bp+3 +-0x1.262a6cp+3 +0x1.619eb4p+1 +-0x1.c876bp+1 +-0x1.7b6b9cp+2 +-0x1.efffd6p+4 +0x1.04f2ccp+2 +0x1.ba2878p+3 +-0x1.af89aep+1 +-0x1.cbbe04p+2 +-0x1.8843fp+8 +0x1.aa903ap-3 +-0x1.d52f38p+2 +-0x1.57468cp+2 +0x1.999db2p+1 +0x1.1a2da4p+0 +-0x1.ab5f02p+2 +0x1.5b15eep+1 +-0x1.b6b9fap+3 +-0x1.1d156cp+4 +-0x1.667146p+2 +-0x1.bbf8a8p+3 +-0x1.8a0612p+0 +-0x1.22427ep+4 +-0x1.bdaf9cp+4 +-0x1.2c7c8ep+2 +0x1.8a1732p+3 +0x1.00b8cp+4 +0x1.e2a24p+1 +0x1.9c49cep-1 +-0x1.fa84bcp+0 +-0x1.2ebba6p+3 +0x1.389cc2p-1 +-0x1.5959bcp+1 +-0x1.8619fcp+2 +-0x1.4027p+2 +-0x1.293e58p+3 +0x1.12f188p+3 +0x1.7e6cb8p+2 +-0x1.6cc88p+3 +0x1.7c074ap+3 +-0x1.264f74p+3 +-0x1.a66304p+1 +-0x1.49484p+3 +-0x1.b41e92p+1 +-0x1.44d2fap+2 +0x1.4373f8p+3 +0x1.734116p+2 +-0x1.2f1b48p+4 +-0x1.b48606p+3 +0x1.d9d5e6p+3 +0x1.3f936cp+1 +0x1.51848cp+4 +-0x1.d44d1ap+2 +-0x1.67ff8ep-1 +0x1.01ed26p+2 +-0x1.d78c94p-1 +0x1.b1ca2cp+0 +0x1.6e9bc2p+0 +0x1.32ebaep+4 +0x1.3f1342p+1 +0x1.0f2f62p+4 +0x1.8167c6p+0 +0x1.7c9bbcp+3 +0x1.a0b3e8p+2 +-0x1.0efc2ep+1 +0x1.e65adap+4 +0x1.3fecbcp-1 +0x1.ab20ep-2 +-0x1.614d62p+2 +-0x1.0e7672p+3 +-0x1.3634f8p-1 +-0x1.e141ap+3 +-0x1.4f6b7cp+3 +0x1.226448p+1 +0x1.91baf2p-6 +-0x1.912ebp+2 +0x1.c32eaep+1 +-0x1.5d435p+3 +-0x1.d378f6p+2 +0x1.73abd2p+0 +0x1.fea144p+1 +0x1.75c21ep+3 +-0x1.5320cep-1 +-0x1.9e17a8p+2 +0x1.030dap+4 +-0x1.085b64p+3 +0x1.37451cp+0 +-0x1.2a724p+3 +0x1.dfbc8ap+2 +-0x1.1a5ad4p+3 +-0x1.ca2686p+3 +0x1.279432p+0 +-0x1.336802p+2 +0x1.3e7dfcp+3 +-0x1.688728p+3 +0x1.0d4c86p+4 +-0x1.834a7ap+0 +0x1.57eac8p+0 +0x1.d146bep+1 +-0x1.9e9a2ap+2 +-0x1.0ed8bp+3 +-0x1.020e5p+4 +0x1.2158b2p+4 +-0x1.36e7fp+4 +-0x1.2f7828p-2 +0x1.e0aee6p+2 +0x1.49ecdcp+3 +0x1.7ef7c8p+2 +-0x1.03cadcp+0 +0x1.b94636p+4 +-0x1.d609dep+3 +0x1.73d2dp+1 +0x1.8a16eap+2 +0x1.1b6168p+3 +0x1.c7d954p+4 +-0x1.c3ebap+1 +-0x1.84fc96p+0 +0x1.58356ap+2 +0x1.2cb938p+1 +0x1.9e60e2p+3 +0x1.721634p+2 +-0x1.0720a4p+5 +-0x1.0b3812p+1 +0x1.026eccp+4 +0x1.8505c2p+3 +-0x1.bcffeap+2 +0x1.dff668p+1 +-0x1.281276p+1 +0x1.42b592p-1 +0x1.4f72cep+1 +0x1.5f2732p-1 +-0x1.c5be0ep+4 +0x1.599cb4p+2 +-0x1.e27702p+2 +0x1.53061ep+2 +-0x1.1c5facp+3 +-0x1.bfc39p+2 +-0x1.c17652p+3 +-0x1.d5b898p+1 +0x1.974b74p+3 +0x1.702404p+3 +0x1.889888p+2 +-0x1.d6102cp+1 +0x1.b972dep+2 +-0x1.9480eap+3 +0x1.a4de44p+2 +-0x1.76f02ep+6 +0x1.4da0a8p+2 +-0x1.a5fc2p+1 +0x1.689b62p+6 +0x1.2c659ap+4 +0x1.f01408p-3 +0x1.33dfc2p+3 +0x1.a7dd8cp+1 +0x1.a64cdp+0 +-0x1.a4e88ep+2 +0x1.4cb964p+2 +-0x1.fffcb8p+2 +-0x1.ba441p+3 +-0x1.88c8aep+2 +0x1.7b29dep+1 +-0x1.10dd32p+2 +0x1.6a9338p+2 +0x1.4c63b8p+2 +-0x1.0eadf8p+3 +-0x1.16f6ap+4 +-0x1.9165e8p-1 +0x1.7efd0ep+3 +-0x1.024688p+1 +-0x1.70a54cp+2 +-0x1.fbedap+1 +0x1.6f45ep+2 +0x1.3cd4eap+4 +0x1.10ffdep+0 +0x1.034412p+2 +0x1.196f5ap+3 +-0x1.1ac384p+3 +0x1.46f392p+3 +0x1.491abap+2 +-0x1.77e346p+3 +-0x1.d9c2b6p+3 +0x1.27e722p+3 +-0x1.f27a86p-1 +-0x1.3a7882p+1 +0x1.6a07d4p+1 +-0x1.abe852p+4 +-0x1.a6b25ap-2 +-0x1.8bc21cp+1 +0x1.4d938cp+3 +0x1.1b881p+1 +0x1.0e7962p+3 +0x1.28225cp+3 +0x1.dc8c44p+1 +-0x1.9987c2p+3 +0x1.3587acp+2 +0x1.a7936ap+2 +0x1.5a78fcp+2 +-0x1.13c1dap+3 +0x1.cadcc2p+1 +-0x1.269c56p+4 +0x1.87c346p+4 +-0x1.153842p+2 +-0x1.1728dep+1 +-0x1.ac92cp+1 +0x1.ac3868p-1 +0x1.02c284p-1 +0x1.3b0374p+2 +-0x1.a9316ep+3 +0x1.859edep+1 +0x1.3aacfp-2 +-0x1.db54a2p-2 +0x1.55321ap+1 +-0x1.e5f4c8p+1 +0x1.be8488p+2 +-0x1.973a76p+3 +0x1.f04e2ep+1 +-0x1.dafe28p+3 +-0x1.4326dp+3 +-0x1.700892p-3 +-0x1.cae5e8p+3 +-0x1.11684p+4 +-0x1.483408p+3 +0x1.fa5948p+3 +0x1.a97d12p+2 +0x1.05d068p+0 +-0x1.96e626p+0 +0x1.afe516p+2 +-0x1.824b1ap+3 +-0x1.2bb7c8p+4 +-0x1.248116p+3 +-0x1.693f36p+1 +0x1.0cac58p+2 +0x1.3d3ad4p+0 +0x1.090e56p+3 +-0x1.f4ca46p-8 +-0x1.c652b2p+2 +-0x1.a9dccp+2 +-0x1.a8429ep+3 +0x1.505cf2p+8 +0x1.637dd8p+0 +-0x1.640f8ap+1 +-0x1.2600a6p+2 +-0x1.10029cp+3 +-0x1.87df28p+1 +0x1.6862e4p+3 +-0x1.022dbcp+4 +0x1.e86158p+1 +-0x1.893d6ep+3 +-0x1.7407bap+3 +-0x1.088af2p-1 +-0x1.14f952p+2 +-0x1.5dee46p-1 +0x1.0ab578p+3 +-0x1.04abb2p+3 +0x1.8c4c54p+3 +0x1.77e35ap+3 +0x1.8c0d98p+1 +-0x1.36c3fap+3 +0x1.eb2c9cp+3 +0x1.f7dd86p-1 +0x1.76fbbcp+4 +0x1.f2770ap+1 +0x1.8031fep+3 +-0x1.2d707p+3 +-0x1.33599cp+4 +0x1.a0e182p+2 +-0x1.2ca7a8p+2 +-0x1.bb2064p+2 +0x1.2dfa1cp+7 +-0x1.9099bap+3 +-0x1.18bb0ep+2 +-0x1.deb776p-1 +-0x1.923f2ap+1 +-0x1.110984p+3 +-0x1.137dbcp+3 +-0x1.06c964p+2 +-0x1.26f27ep+4 +0x1.06b20ep+0 +-0x1.879b42p-1 +-0x1.4e139p+1 +0x1.116f56p+3 +0x1.c9ef8ep+2 +-0x1.104fdp+3 +0x1.68e65ap+0 +-0x1.08ca06p+4 +-0x1.8e97e4p+0 +0x1.461718p+3 +-0x1.e73a9p+0 +0x1.fe995p+3 +-0x1.f0f3f2p-1 +-0x1.daade4p+1 +0x1.4c2498p+2 +0x1.be9128p+2 +0x1.0816a4p+2 +0x1.d71d0cp+6 +-0x1.b98836p-1 +-0x1.a315dcp+0 +-0x1.1d4e1ap+4 +-0x1.baf634p+3 +-0x1.13fd1cp+3 +-0x1.235088p+4 +0x1.3d39d6p+4 +0x1.a18336p+2 +0x1.dae77p+2 +-0x1.6b596p+3 +0x1.8fed3ap+2 +0x1.0c18acp+1 +-0x1.4a25dep+2 +-0x1.0d6f84p+0 +-0x1.e1bc64p+1 +-0x1.297afp+4 +-0x1.54c648p+3 +0x1.7b6c38p+1 +-0x1.466f42p+0 +-0x1.5a71a2p+1 +0x1.106af4p+3 +-0x1.cfca6ep+1 +0x1.5c1b0cp+0 +-0x1.c8ebfcp+3 +0x1.823b7p+2 +-0x1.e8c5fap+3 +0x1.7c8a4ap+8 +-0x1.a1b558p+2 +0x1.bc28ecp-1 +0x1.bad1acp+3 +0x1.a50cbep+2 +0x1.98e74cp+1 +0x1.41c598p+0 +-0x1.c69abap+2 +-0x1.6a33ccp+2 +0x1.ba88f4p-3 +-0x1.881dfep+2 +0x1.dec5f2p+1 +-0x1.5c2468p+3 +-0x1.1e3d6p+4 +0x1.5bc37p+2 +0x1.8d56acp-2 +-0x1.669b82p-2 +-0x1.c2c00ep+2 +0x1.2990a6p+1 +-0x1.11c11ap+1 +0x1.092bd6p+2 +-0x1.80b65ep+2 +0x1.080bf4p+3 +0x1.4cc6a4p+3 +0x1.485048p+1 +0x1.c6f4a4p+1 +-0x1.e6106ep+3 +-0x1.c82d6cp+0 +0x1.29f60cp+4 +0x1.8284acp+3 +0x1.20a584p+2 +-0x1.17f5f4p+3 +-0x1.b9e8c6p+2 +-0x1.5dc2bcp+1 +0x1.c1991ep+3 +0x1.88c7aap+2 +-0x1.222384p-1 +0x1.848d92p+1 +0x1.2def7p+0 +-0x1.8e3e38p+3 +0x1.98e14ap+3 +-0x1.5d6ddp+3 +-0x1.119a04p+3 +-0x1.07342cp+3 +-0x1.220f8p-1 +0x1.c9c57ep+3 +0x1.2d854ep+4 +0x1.55ac82p+1 +0x1.04682ap+4 +-0x1.701fdcp+2 +-0x1.5feb3ap+1 +0x1.4e1922p+2 +-0x1.f3d9fep+1 +-0x1.b7d7d2p+3 +-0x1.f944cap-3 +0x1.f04a46p+1 +0x1.ee4388p+3 +0x1.3e4186p+4 +0x1.69213ap-1 +0x1.580708p+4 +-0x1.327344p+3 +-0x1.20837ap+2 +-0x1.65114cp+4 +-0x1.56cc1cp+3 +-0x1.48f11p+2 +0x1.d5b722p-1 +-0x1.881e6cp+2 +-0x1.5a8eeap+4 +0x1.f14b8ap+3 +0x1.1daafcp+2 +-0x1.48ab84p+0 +-0x1.3af074p-1 +-0x1.76bfbcp+1 +-0x1.22723ep+6 +-0x1.6fcfe6p+3 +-0x1.226cdap+3 +0x1.176cf2p-1 +0x1.225926p+0 +-0x1.27603ap+4 +-0x1.1d69fep+3 +-0x1.aae9d2p+4 +-0x1.1b2a94p+3 +-0x1.5ee566p+3 +0x1.ce3f02p+2 +-0x1.be2dd8p+2 +0x1.6ce296p+2 +-0x1.0d3b1cp+1 +0x1.7d2258p+3 +-0x1.3c2b5p-2 +-0x1.6de922p+0 +-0x1.03f0bep+2 +0x1.0d6602p+4 +-0x1.93ebe2p+1 +0x1.5ae0ap+3 +-0x1.2a719cp+3 +-0x1.742fb4p-2 +0x1.b79bep+2 +-0x1.6b602ep+2 +0x1.bfe638p-4 +0x1.2cec8p+3 +0x1.245c18p+2 +-0x1.abda4cp-1 +0x1.394398p+1 +-0x1.dfa6b2p+3 +0x1.d16fc4p+0 +0x1.f4d1b4p+3 +-0x1.d10818p+0 +0x1.8743ap+3 +0x1.83018ep+1 +-0x1.59ea56p+4 +-0x1.23aep+3 +0x1.3c3afcp+2 +0x1.38f42ep+0 +0x1.5edb4ep+3 +0x1.6c045ep+4 +-0x1.0a8ca2p+3 +0x1.6ccf2ep+3 +0x1.47f832p+2 +-0x1.598494p+3 +0x1.4969ccp+3 +-0x1.00e09ep+0 +0x1.3f1f8ap+2 +0x1.b41e1p+3 +0x1.a9e6p+1 +0x1.d3be7p+2 +-0x1.ac8c82p+3 +0x1.31c6c2p+4 +-0x1.a4af7cp+2 +-0x1.3a1b7cp+0 +-0x1.1943b8p+4 +-0x1.97ff66p+4 +-0x1.fb155ep+1 +-0x1.4fe764p+3 +0x1.a5ddbap+1 +-0x1.179d22p+3 +-0x1.96de8ap+3 +-0x1.85baf4p+2 +-0x1.4037dep+3 +-0x1.49b318p+2 +0x1.7111c2p+2 +0x1.873126p+3 +-0x1.e241cap+2 +-0x1.2686a2p-4 +0x1.62dad6p+3 +0x1.6d244p+8 +0x1.6bd41ep+2 +0x1.6c2412p+1 +0x1.60386ep+1 +-0x1.b615f4p+4 +-0x1.07f34ap+2 +-0x1.3cc78ap+1 +-0x1.a68b48p+1 +-0x1.d508p+1 +0x1.59338cp+2 +0x1.a531c6p+2 +0x1.83edp+3 +-0x1.81843ap-4 +0x1.0f1f02p+2 +0x1.4fa07ep+1 +0x1.a8f4fap+2 +-0x1.148378p+4 +-0x1.5939aap-1 +0x1.6d0186p+1 +0x1.f57c3ap-2 +-0x1.b137f8p+1 +0x1.1471dp+3 +-0x1.6acc7ep+4 +-0x1.71a6dap+0 +-0x1.098f4cp+0 +0x1.424554p+2 +-0x1.f8f5c6p-3 +0x1.dfc156p+2 +0x1.005278p+4 +0x1.443d7cp+3 +0x1.0e906p+1 +0x1.4391fcp+4 +0x1.c66d48p+2 +0x1.7b8806p+3 +-0x1.2715f8p+3 +-0x1.0248a6p+4 +-0x1.2b0af2p-1 +-0x1.361b6p+4 +-0x1.1f0ecap+0 +-0x1.8f0e6cp+3 +0x1.78054ep+3 +-0x1.cb4aecp-2 +0x1.3470a4p+1 +-0x1.eba482p+2 +0x1.40f52ep+3 +-0x1.c6027ap+0 +-0x1.4b3a52p+3 +0x1.705e1ep+3 +0x1.b7327ep+1 +0x1.ad41c8p+3 +0x1.71462cp+3 +0x1.76b06cp+3 +0x1.469082p+3 +0x1.319d1ap+0 +-0x1.d7a52ep+1 +0x1.ba3972p+3 +-0x1.8d0ac8p+3 +0x1.0fe622p+4 +0x1.10653p+0 +0x1.1c6a12p+2 +-0x1.5dbfap+4 +0x1.b64602p+1 +-0x1.da6ae8p+3 +-0x1.15a62ap+2 +0x1.3ecea6p+4 +-0x1.96a186p-1 +-0x1.684e52p-2 +0x1.4e3bcp+2 +0x1.4cc43cp+1 +0x1.1221f6p-1 +0x1.2ee5a4p+2 +-0x1.3d92b2p+0 +0x1.01bb68p+3 +-0x1.1bfdcep+1 +0x1.1f2a98p+2 +-0x1.ba500cp+1 +-0x1.5965p+3 +-0x1.30a814p+3 +-0x1.04fb1cp+1 +-0x1.89cbc4p+3 +-0x1.ad07d6p-1 +0x1.fd1d76p-2 +-0x1.606392p+3 +-0x1.b9159ep+1 +-0x1.d694eep+1 +-0x1.3f24d2p-1 +-0x1.1955e6p+1 +0x1.72b22p+1 +-0x1.314e0ap+1 +-0x1.2df5bcp+2 +-0x1.557ebap+2 +-0x1.81e6acp+3 +0x1.a7ad72p+2 +0x1.560314p+3 +-0x1.c45b86p-4 +0x1.67e682p+3 +0x1.ba7e92p+1 +-0x1.f357eep+3 +-0x1.09b9ecp-2 +0x1.fc3e2cp+1 +-0x1.9e26e2p+0 +-0x1.7ea176p-3 +-0x1.ca6f98p+3 +0x1.2d26b8p+4 +-0x1.568b2ap+2 +0x1.a5108ep+2 +0x1.4babdap+3 +0x1.26dcd2p+4 +-0x1.225dfp+3 +0x1.79fe5cp+2 +-0x1.18769ap+3 +0x1.5c3b44p+1 +0x1.4569e2p+2 +0x1.a00024p+1 +-0x1.65237ap-1 +-0x1.d684d8p+3 +0x1.ff510ep+2 +-0x1.57c8ecp+1 +0x1.a34be2p+2 +-0x1.23468cp+3 +-0x1.002a5cp+2 +0x1.2f4088p+3 +0x1.0793e2p+4 +-0x1.f7308ap+1 +0x1.79bda6p+1 +0x1.a57d84p+2 +0x1.42ab7cp+2 +-0x1.007244p+3 +-0x1.33c07ep+1 +0x1.466cd6p+2 +-0x1.88cf5ap+3 +0x1.b669b4p+3 +0x1.6ad942p+3 +-0x1.6634f6p+4 +-0x1.3f494ap+3 +-0x1.42b22ap+4 +-0x1.891e2ap+5 +0x1.0d3b5ep+5 +-0x1.2ddc6p+4 +-0x1.400ff2p+1 +-0x1.5c5be2p+3 +0x1.b4e34p+2 +-0x1.ae39aep+3 +-0x1.bf7fe2p+1 +-0x1.499c06p+3 +-0x1.ed1814p+3 +-0x1.83bbf6p+3 +0x1.b0b4ecp+2 +-0x1.0c5dc6p+2 +0x1.94ebdp-1 +-0x1.56a564p+1 +-0x1.c32326p+1 +-0x1.990592p+2 +0x1.41653p+5 +0x1.242772p+1 +-0x1.22117cp+3 +-0x1.22286ep+3 +-0x1.500318p+7 +-0x1.6cca3p+4 +0x1.a3c1ep+4 +0x1.e900f6p+3 +0x1.15985ap+3 +0x1.ed0a62p+2 +-0x1.182e12p-2 +-0x1.3f3adcp+2 +0x1.df57c4p+3 +-0x1.654ebcp+2 +-0x1.0a0cfep+3 +-0x1.e095d4p+3 +-0x1.6619cap+4 +0x1.6c287ap+2 +-0x1.1d4e2ap+0 +-0x1.23f488p+2 +0x1.449d94p+2 +0x1.d8c65ap+1 +0x1.6d39a4p+3 +0x1.12bc22p+2 +-0x1.a365aep+2 +-0x1.51a914p+3 +-0x1.18cf58p+4 +-0x1.3e9782p+2 +0x1.06ac9cp+4 +0x1.23579ap+1 +0x1.6a31cp+1 +0x1.6c31b6p+2 +-0x1.622ee8p+2 +-0x1.aee36p+1 +0x1.29c7cep+4 +-0x1.2b0f9ep+3 +0x1.d4512p+0 +-0x1.0fa586p+2 +-0x1.26b83ap+2 +-0x1.24458ap+3 +0x1.b4ee92p-1 +0x1.46399ep+4 +-0x1.6ba6d4p+3 +0x1.d72138p+1 +-0x1.ff555cp+2 +0x1.4a6b34p+3 +-0x1.844adcp+2 +-0x1.6e5522p+3 +-0x1.504894p+1 +-0x1.d1cb54p+4 +0x1.0de762p+1 +-0x1.73e0c6p+2 +0x1.0ada62p+4 +0x1.029eeap+0 +0x1.b70bfap+2 +0x1.9e8c9p+3 +-0x1.c901eep-1 +0x1.067288p+3 +0x1.689ab8p+0 +-0x1.3f0426p+3 +0x1.6103d2p+2 +0x1.2668eep+3 +0x1.cb16fep+3 +-0x1.4f7b5p+1 +0x1.27147ep+4 +-0x1.ce6bd4p+2 +-0x1.7ca52p+2 +0x1.cd328p+1 +-0x1.c551eep+2 +0x1.262cfep+4 +0x1.36fe36p+3 +-0x1.9245fp+4 +-0x1.d3b524p+3 +0x1.25e588p+3 +0x1.375422p+4 +-0x1.370ddep+3 +-0x1.a8a70ep-1 +0x1.054ecap+4 +-0x1.bea88ep+5 +0x1.dc8e8ap+2 +-0x1.314ea8p+3 +-0x1.0346c6p+3 +-0x1.b2e3fap+3 +-0x1.02b6eep+1 +-0x1.a0eee4p+3 +-0x1.9b993p+4 +-0x1.2054bp+2 +-0x1.73dd78p+3 +-0x1.cfa868p+2 +0x1.8262fep+0 +-0x1.d8f9bcp+2 +0x1.a6df2ap+2 +-0x1.382936p+0 +0x1.677874p+2 +0x1.6a5aeep+1 +0x1.df3122p+2 +-0x1.43f098p+2 +0x1.8d294cp+1 +0x1.1cef38p+1 +0x1.b5a4f2p-4 +-0x1.26f37ap+3 +0x1.f4bda4p+2 +0x1.f6bf98p+1 +-0x1.3e3cf2p+0 +0x1.811562p+3 +-0x1.7e8ea6p+2 +0x1.1a6462p+1 +0x1.26174cp-2 +0x1.25bd68p+3 +0x1.d51926p+3 +-0x1.064c9cp+4 +-0x1.1cef4ep+2 +-0x1.5e8f68p+1 +-0x1.2e4274p+3 +0x1.12953ep+4 +-0x1.293e6ep+1 +-0x1.dddcdcp+1 +-0x1.1e47acp+2 +-0x1.590b92p+1 +-0x1.13607p+4 +-0x1.459cf8p-1 +-0x1.67bcacp+3 +0x1.2fa67cp+3 +0x1.5251bp+3 +0x1.1c3d2ap+3 +0x1.b8412cp+3 +-0x1.07bfe4p+2 +0x1.7330f2p+3 +0x1.56f234p+3 +0x1.f4906ep+1 +0x1.27b50ep+4 +-0x1.0ed48ep+4 +0x1.953d88p+3 +0x1.36463ep+4 +-0x1.98395p+1 +0x1.99ac8ap+5 +-0x1.c7b1aap+3 +0x1.afde1ap+3 +0x1.285fa4p+5 +-0x1.da21eap+0 +-0x1.99ff8cp+3 +0x1.83677p+5 +0x1.6f8326p+2 +0x1.c28a3cp+3 +0x1.cd4eccp+3 +0x1.ab6252p+3 +-0x1.94ff94p+1 +-0x1.c426fap+2 +0x1.187886p+4 +0x1.32b96ep+3 +0x1.2c3ef8p+4 +-0x1.1b885ap+4 +0x1.dc4b4cp+4 +-0x1.a546ap+0 +0x1.561f6ap+5 +0x1.47dfb4p+4 +0x1.52142ep+3 +0x1.3e03e4p+3 +-0x1.bc3694p+0 +-0x1.cb91aap+3 +0x1.557e4ap+0 +0x1.e5e4acp+3 +0x1.e38442p+4 +0x1.7c8c92p+2 +0x1.264a74p+2 +0x1.0e7a96p+2 +0x1.ca7e18p-1 +0x1.a98f84p+1 +-0x1.77949ep-1 +-0x1.2797ap+4 +-0x1.647f7cp+7 +-0x1.f9dc9cp+0 +0x1.ea7c82p+1 +0x1.40597cp+3 +0x1.55a84cp+0 +-0x1.95a45ap+4 +-0x1.29d5d8p+3 +0x1.29a712p+2 +-0x1.3d0e56p+5 +0x1.0a7cc2p+4 +-0x1.00043p+3 +0x1.0e5242p+4 +0x1.22c02ap+3 +0x1.02294cp+4 +-0x1.954bbep+2 +-0x1.35335p+3 +0x1.86f558p+3 +-0x1.cd535cp+3 +-0x1.499e08p+3 +-0x1.1c9accp+3 +-0x1.8d575p+1 +0x1.70cb7cp+3 +-0x1.4a40c8p+1 +-0x1.77e468p-1 +0x1.c6c8d6p+3 +-0x1.5dd1ccp+3 +-0x1.3dae82p+0 +0x1.8d87bp+6 +0x1.913b6cp+1 +-0x1.1fcf9p+3 +-0x1.d77a76p+1 +-0x1.95cdb8p+4 +-0x1.8631c8p+3 +-0x1.923fccp+4 +0x1.b0b8acp+5 +0x1.2810a2p+3 +-0x1.8ca9dcp+1 +-0x1.2a2d22p+1 +0x1.2bda5ep+3 +0x1.6709bep+0 +-0x1.4ffbdcp+2 +-0x1.68234ep+2 +0x1.2bb1aep+3 +0x1.87b4d4p+0 +-0x1.4e6808p+4 +-0x1.d0707cp+3 +-0x1.52a596p+3 +0x1.91014p+2 +-0x1.8b90dp+3 +-0x1.d1d9dap+0 +0x1.271898p+3 +0x1.37d448p+5 +0x1.5cece2p+4 +0x1.f31334p+1 +0x1.aa524ap+3 +-0x1.0eeb1ep-2 +-0x1.47a6cap+3 +-0x1.d9a428p+0 +-0x1.5a923cp-1 +-0x1.344002p+1 +-0x1.05b38cp+2 +0x1.c0a7aep+0 +-0x1.2c1372p+2 +0x1.27fc16p-2 +-0x1.882adp+0 +-0x1.047944p+4 +0x1.7030ap+3 +0x1.f1bbacp+2 +-0x1.c5d9f4p+2 +0x1.f1393ep+2 +0x1.e9586p+1 +-0x1.5d47bcp+2 +-0x1.6f0e94p+3 +-0x1.e26658p+2 +0x1.adb37p+4 +0x1.565c42p+0 +0x1.f2799cp+0 +0x1.7c8448p+1 +-0x1.46caap+3 +0x1.e31d5p+1 +-0x1.59ccc2p+3 +-0x1.020e5ep+4 +-0x1.d3666p+3 +0x1.6dbaap+2 +0x1.3ba1c8p+2 +0x1.bd103p+0 +-0x1.7aeae4p+3 +-0x1.438f9ep+3 +-0x1.012e92p+3 +0x1.c27e66p+3 +0x1.38cbe6p+3 +-0x1.22c3c6p+3 +0x1.1ba9dap+4 +0x1.15258p+1 +-0x1.2075fep+3 +-0x1.1c7efcp+3 +0x1.fe8c94p+1 +-0x1.0819d8p+3 +-0x1.038a9ep+2 +-0x1.8087aep+3 +-0x1.918742p+1 +0x1.20fd56p+3 +0x1.fcd2c4p+3 +0x1.ed699p+2 +-0x1.776f36p+1 +0x1.4853fcp+3 +-0x1.3f79eap+8 +-0x1.3ee6a4p+4 +-0x1.b82a3ap+2 +-0x1.ad2d04p-1 +-0x1.21f4eep+2 +0x1.55bc72p+1 +-0x1.3d0ec6p+2 +-0x1.475886p+4 +-0x1.41079p+1 +0x1.dfafcep+3 +0x1.b0ff4ep+3 +-0x1.600b8ap+2 +-0x1.9b5b2ap-2 +0x1.c6e682p+2 +0x1.ad9356p+1 +-0x1.578464p+0 +0x1.ec64b6p+1 +-0x1.abbf82p+1 +-0x1.24f844p+3 +-0x1.a2dfaap+1 +0x1.8d24fcp+2 +-0x1.2788ecp+2 +0x1.ff16dap+2 +0x1.5a288ap+1 +0x1.5a7bcep+1 +-0x1.32e7a8p+1 +0x1.1a1152p+3 +0x1.3b2e54p+4 +0x1.94efeap+2 +0x1.86803p+3 +-0x1.53c15p+2 +-0x1.03be28p+1 +0x1.3137bap+2 +-0x1.83a418p+4 +-0x1.efa4c2p+3 +0x1.639458p-2 +0x1.b1dbc2p+2 +0x1.b369bap+2 +0x1.fc462cp-2 +0x1.6d513ap+4 +0x1.7e7a1cp+3 +0x1.786266p+1 +-0x1.6ae7c4p+2 +-0x1.8133fap+3 +-0x1.cdfa66p+1 +0x1.741e0ap+3 +-0x1.21fa96p+4 +0x1.74c922p+3 +0x1.38973ap+0 +0x1.1d7148p+3 +0x1.e4aa1ap+0 +-0x1.37fd9p+1 +-0x1.53d1fap+4 +-0x1.8255b6p+3 +-0x1.11deb4p+2 +0x1.08886ep+2 +0x1.4b964ap+2 +-0x1.2b6f68p+4 +-0x1.e0b364p+3 +-0x1.12ed96p+2 +-0x1.8b89aep+3 +0x1.314ccap+3 +0x1.87436p+0 +-0x1.d4a948p-1 +-0x1.99b516p+0 +-0x1.ee1d48p+1 +-0x1.9d35b8p+2 +-0x1.56237cp-1 +-0x1.03d15cp+3 +0x1.4ffcdap+2 +0x1.c139e6p+7 +0x1.5133aep+1 +0x1.009284p+4 +0x1.07c4dep+4 +-0x1.95ea5cp+3 +0x1.386d7ep+3 +-0x1.5a5e8cp+3 +-0x1.af989ep+3 +-0x1.27991ap+2 +-0x1.15d284p+3 +0x1.1b44bp-1 +0x1.5f6782p+3 +0x1.0bf612p+3 +-0x1.9f38dp+2 +-0x1.43a496p+3 +0x1.68aac4p+1 +0x1.ef3afep+3 +0x1.54dfecp-1 +-0x1.4fd2c8p+8 +-0x1.71148ap+2 +0x1.9f1c72p+1 +-0x1.4434d2p-2 +-0x1.afc14ep+1 +-0x1.455daep+3 +0x1.acf13p+2 +0x1.4e80ep+4 +0x1.19b8cep+2 +-0x1.5ee4aep+2 +0x1.0a8d7p+1 +0x1.520dc4p+3 +-0x1.11866ap+1 +-0x1.1c7a82p+2 +-0x1.1f30a4p+0 +-0x1.99d2c8p+3 +-0x1.2b82dp+3 +-0x1.93c2d4p+3 +0x1.39fedp+4 +0x1.2695f6p+3 +0x1.600d2p+2 +-0x1.0b8dd6p+2 +-0x1.f425a8p+2 +0x1.4b5c2ap+2 +-0x1.0ec418p-1 +-0x1.ca3d06p+2 +0x1.c09396p+3 +-0x1.b627eep+2 +-0x1.096a8ap-3 +-0x1.0d4f3ap+4 +0x1.944d06p+4 +0x1.0425a6p+3 +-0x1.d61f68p-1 +0x1.6d023ap+3 +0x1.933c82p+2 +0x1.13a334p+4 +0x1.c5ea92p+2 +-0x1.e8ea42p+1 +0x1.0d42dap+4 +0x1.595fccp+4 +0x1.c194e4p+3 +-0x1.9ad366p+3 +0x1.007d38p+1 +-0x1.57e1f6p+3 +0x1.32db2ep+2 +-0x1.31379cp+5 +-0x1.041f5p+3 +0x1.b9c91cp+2 +0x1.7a867ap+1 +0x1.eb27f2p-3 +-0x1.03be52p+2 +-0x1.52af4ep+3 +-0x1.bd7b62p+0 +-0x1.25432p+3 +0x1.138a66p+2 +0x1.9a91e8p+1 +-0x1.33ded4p+4 +-0x1.a8ebp+2 +-0x1.49fa94p+3 +-0x1.259a3cp+2 +-0x1.95b3dep+4 +0x1.4b9f34p+2 +0x1.7dbfcep+3 +-0x1.21b4a2p+3 +0x1.824c44p+0 +0x1.f116dap+1 +0x1.ebabcep+1 +0x1.925a4p+1 +-0x1.14fc32p+3 +0x1.63a512p+3 +0x1.15ba7ap+4 +0x1.8466c4p+2 +0x1.84977cp+0 +-0x1.eb36ccp+3 +0x1.440ad2p+3 +0x1.cd429ep+2 +-0x1.8c4bc6p-3 +0x1.8190bap+3 +-0x1.2df06p+3 +0x1.35df16p+3 +0x1.07242cp+1 +-0x1.cd67e2p-2 +-0x1.5961eap+3 +-0x1.e2a746p+1 +-0x1.3cbfa6p+0 +-0x1.f059p+4 +-0x1.c45c98p+1 +0x1.9a1ef6p+2 +-0x1.90db6ap+3 +0x1.d1d42p+3 +-0x1.44ac86p+3 +0x1.c9a136p-1 +0x1.cc3b86p+2 +-0x1.69813ap+8 +-0x1.0594b2p+3 +-0x1.c498c6p+2 +0x1.179f4cp+1 +0x1.4090a2p-1 +-0x1.2b3ffp+3 +0x1.13ee06p+4 +-0x1.3137d8p+4 +-0x1.313c56p+3 +0x1.741f16p+1 +0x1.493feap-2 +0x1.4fb2bcp-1 +0x1.ed6a8cp+2 +-0x1.cc15a8p+1 +0x1.5633cp+2 +-0x1.3e134ap+3 +0x1.12b1p+1 +0x1.1aeb62p+3 +0x1.79663ap+1 +-0x1.baf47ep+1 +-0x1.a05bd2p+4 +-0x1.ca1722p+3 +0x1.3f96dp+1 +-0x1.cffb6p+3 +0x1.1bc7d6p+4 +-0x1.c7134ep-3 +0x1.c78bcp+2 +-0x1.e94cd8p+3 +0x1.79a71p+2 +-0x1.ecf6d4p-2 +-0x1.585a02p-1 +0x1.4a3dfp+2 +0x1.ab5184p+2 +0x1.1c1edep+3 +-0x1.dd99f6p+1 +0x1.1838dcp+3 +0x1.529d82p+5 +0x1.24b63ap+1 +0x1.f32fd2p+2 +0x1.031bep+4 +0x1.71f082p+3 +-0x1.62af5ap+2 +-0x1.1715a6p+0 +0x1.075466p+3 +0x1.947886p+2 +-0x1.90575ep+3 +-0x1.830934p+3 +-0x1.812b56p+2 +0x1.3c80d2p+4 +-0x1.8bf8bcp+3 +-0x1.f37a32p+6 +0x1.d61d32p+1 +0x1.499c3ep+4 +-0x1.882b24p+2 +0x1.dda67ep+3 +-0x1.09808ap+3 +0x1.398e7ep+3 +-0x1.3063dp+3 +-0x1.7ec9aep+1 +0x1.f0440ap+2 +-0x1.050448p+3 +0x1.a4ff52p-1 +-0x1.3964fcp+3 +0x1.86705p+2 +0x1.cfe84ap+2 +-0x1.ed956p+2 +-0x1.2556ccp+0 +0x1.849d8ap+0 +-0x1.798cb6p+2 +0x1.71a556p-2 +-0x1.8cc8fap+2 +-0x1.566348p+2 +-0x1.2b2d4ap+4 +-0x1.c73028p+1 +-0x1.d263e4p+1 +0x1.ddf0d6p+2 +-0x1.0509cap+3 +-0x1.bbe614p+2 +-0x1.9bd226p+0 +-0x1.b94f48p-2 +0x1.be3582p+1 +0x1.358d4ap+2 +0x1.8aec96p+4 +0x1.61fc6ap-2 +-0x1.5088e4p+1 +0x1.41de9cp+4 +-0x1.68affp+3 +-0x1.b6ca62p+3 +-0x1.76bba6p-1 +0x1.d7ea36p+2 +0x1.374c54p+3 +-0x1.052b5p-2 +0x1.87ee88p+1 +0x1.0c46dep+8 +0x1.5d37d4p+4 +0x1.e66a06p+6 +0x1.0edf12p+1 +0x1.0c8d9ep+4 +0x1.3205c2p+3 +-0x1.5d295ep+3 +0x1.7f14a6p-1 +0x1.7b26cp+3 +-0x1.da9892p+2 +0x1.8e5d32p+3 +-0x1.708eeap+5 +0x1.2ee582p+3 +-0x1.73eb0cp+2 +-0x1.833046p+2 +-0x1.adacd4p-5 +-0x1.6efc68p+3 +0x1.c8b3acp-2 +-0x1.2568fcp+0 +0x1.02d87cp+4 +-0x1.14be92p+3 +0x1.0375cep+2 +-0x1.18485ep+1 +0x1.5bc09ep+2 +0x1.bcfd58p+1 +0x1.8af1p+0 +-0x1.6d3372p+1 +0x1.10b19cp+3 +0x1.836b72p+2 +0x1.0a4ap+3 +0x1.416fcep+0 +0x1.94f14ap+3 +-0x1.70f9d2p+0 +0x1.20ad8p+4 +-0x1.71307ap+3 +0x1.a8b348p+2 +-0x1.89c036p+2 +-0x1.0a2432p+3 +-0x1.189fc6p+4 +0x1.72edfp+3 +0x1.2b4d68p+1 +0x1.40cc64p+3 +-0x1.4abfacp+3 +0x1.dfa63cp+4 +0x1.64f682p+0 +0x1.1112b4p+4 +-0x1.a48174p+4 +-0x1.0e144cp+2 +0x1.5a481cp+2 +0x1.809fbcp+3 +0x1.6b44f2p+2 +-0x1.59e9dcp+3 +0x1.48551ap+2 +0x1.10b7a2p+2 +0x1.cdb338p+3 +0x1.c0250ap+2 +0x1.377068p+1 +0x1.297928p+4 +-0x1.f873a8p+3 +-0x1.157e68p+0 +0x1.800df6p+3 +0x1.466abap-1 +0x1.ef8806p+3 +0x1.f2e254p+1 +-0x1.437774p+1 +-0x1.5cd896p+0 +-0x1.05a0c4p+4 +-0x1.1245dp+2 +-0x1.ccdd5ap+0 +-0x1.272c82p+2 +-0x1.055fb8p+0 +-0x1.466ac2p+3 +0x1.a6c91ep+3 +0x1.3066d4p+2 +-0x1.b0a3bep+2 +-0x1.342afap+3 +-0x1.d77bc8p+0 +0x1.9aa08ep+2 +-0x1.2ea198p+2 +-0x1.2f36d8p+3 +0x1.7a5364p+2 +0x1.4926c4p+3 +-0x1.03e6ap-1 +0x1.238aa8p+1 +0x1.048b0ap+4 +-0x1.d585ap+2 +-0x1.007e5p+3 +0x1.96a63p+2 +-0x1.76ed2cp-1 +-0x1.0cc9aap+2 +0x1.091108p+9 +0x1.822d08p+1 +0x1.c45b0ep+1 +0x1.790f0ep+4 +0x1.0a21bep+3 +-0x1.964204p-1 +-0x1.bfabaep+1 +0x1.210256p+3 +0x1.2fc9dcp+1 +-0x1.147176p+3 +0x1.175a2cp+2 +-0x1.36598p+1 +-0x1.e31eacp+1 +-0x1.e1965ep+2 +0x1.f7475cp+1 +-0x1.79fb7cp+0 +-0x1.4de636p+3 +0x1.ede512p+1 +0x1.9212f4p+2 +-0x1.19d44p+3 +0x1.6cff28p+3 +-0x1.d7d25ap+2 +-0x1.29d01ap+0 +0x1.7de19p+1 +-0x1.607632p+0 +0x1.a2f31ep+3 +0x1.03ad6cp+1 +-0x1.db1d98p+2 +0x1.376e9ep+3 +-0x1.85673p+2 +-0x1.73156cp+3 +0x1.0d7cfp+3 +-0x1.1541ap+3 +-0x1.6c5066p+3 +0x1.69ca3ap+2 +-0x1.906358p+0 +-0x1.25ba9ep+3 +-0x1.c4e9ccp+0 +-0x1.325732p+1 +0x1.2f069ap+2 +-0x1.a64d56p+3 +0x1.369fd8p+1 +0x1.49c102p+1 +0x1.cf366p+2 +-0x1.3a1d8p+7 +0x1.5cb90ep+2 +-0x1.c30378p+2 +0x1.1686cap+4 +-0x1.3cd15p+8 +-0x1.4562f8p+3 +0x1.3f4fa8p+4 +-0x1.46e7p+3 +-0x1.a5850ep-3 +0x1.5003d8p+0 +0x1.69dc2p+3 +0x1.b76418p+1 +-0x1.9a6b28p+3 +-0x1.1c06d6p+0 +0x1.4df8bcp+0 +0x1.74fad6p+2 +0x1.1ea5d4p+1 +-0x1.c23aeep+2 +-0x1.2287aap+4 +0x1.f460ep+2 +-0x1.2815a2p+3 +0x1.11c622p+3 +-0x1.00a04cp+3 +0x1.86c3bp+2 +-0x1.0c876ep+3 +0x1.f3c1aep+1 +0x1.0bb5acp+3 +-0x1.4f4a74p+1 +0x1.07af9p+2 +-0x1.46bf62p+2 +0x1.c90ac6p+0 +0x1.7ed408p+9 +-0x1.3f7d86p+4 +0x1.1758aep+4 +-0x1.ea024ap-1 +-0x1.1f4fa2p+2 +0x1.4c538cp+2 +0x1.01fbb2p+8 +0x1.2ab1b4p-3 +-0x1.caaed2p+3 +-0x1.24519p+1 +0x1.69ed34p+3 +0x1.47e6d8p+1 +-0x1.9eb432p+3 +-0x1.a44f2cp+2 +-0x1.2ac158p+3 +-0x1.db1cbp+3 +0x1.16e9e2p+4 +0x1.05cdbcp+4 +0x1.b725d6p+2 +-0x1.e13268p+2 +0x1.17152p+4 +0x1.65a19p+3 +0x1.eadad8p+2 +0x1.ac8a56p+2 +0x1.7a2ebcp+2 +0x1.db349cp+1 +-0x1.1a776cp+2 +0x1.32d488p+8 +0x1.554a4ap+3 +-0x1.ddb5bp+2 +-0x1.dd0ba6p+0 +0x1.a48bfap+0 +0x1.d96366p+0 +0x1.12adecp+0 +0x1.da0a22p+3 +0x1.156a9ap+3 +0x1.1b2606p+4 +0x1.5ffe4ep+5 +-0x1.30556cp+8 +0x1.e3066p+3 +0x1.ea15a2p+2 +-0x1.6d3b58p+1 +-0x1.9e00f8p+0 +-0x1.8ff59ep+3 +0x1.2f98ccp+3 +-0x1.45677ep-3 +0x1.922748p+2 +-0x1.7be336p+2 +0x1.9ddebp+2 +-0x1.43207p+1 +0x1.e20cc6p+3 +0x1.b9b864p+0 +-0x1.eae822p+1 +0x1.0c96acp+3 +0x1.35b72ap+1 +0x1.cac6e8p+2 +0x1.0af7d6p+4 +0x1.2c2306p+2 +-0x1.cf690cp+3 +0x1.d31112p-2 +-0x1.98fceap+4 +0x1.23b704p+2 +0x1.0c4848p+1 +-0x1.58603ap+3 +-0x1.67125cp+0 +-0x1.73f744p+1 +0x1.247b9p+1 +-0x1.c8c83p+0 +0x1.4d8684p+0 +-0x1.31e5bcp+1 +-0x1.6a5f5p+2 +0x1.328ceep+5 +-0x1.3f2738p-4 +-0x1.f8d386p+1 +-0x1.c21006p+4 +0x1.6a6e6ep+2 +-0x1.478d08p+4 +-0x1.67edbcp+3 +0x1.b51484p+3 +-0x1.50031p+4 +0x1.575dfcp+3 +-0x1.6a8cf8p+1 +-0x1.b6b866p+1 +0x1.ce4124p+2 +0x1.62112ep+3 +0x1.28ce0ap+1 +0x1.213016p+4 +0x1.43304cp+2 +-0x1.51d478p+0 +0x1.d503fap+2 +0x1.273cp+1 +-0x1.3025fp+3 +-0x1.02687ep+0 +0x1.661352p-1 +-0x1.509f28p+3 +0x1.d23a86p+0 +-0x1.242bd6p+3 +-0x1.04304ep+0 +-0x1.4501ap+0 +0x1.beed84p+1 +-0x1.53f34cp-3 +-0x1.208fcep+2 +-0x1.70704p+3 +0x1.d1395p+1 +0x1.a43102p+2 +0x1.c29d96p+1 +-0x1.e33ab4p+0 +-0x1.366598p+3 +-0x1.f82376p+1 +0x1.03858p+2 +0x1.5451bap+2 +0x1.6e523ap+4 +0x1.1f537p+3 +-0x1.c929acp+5 +-0x1.8854f6p+1 +-0x1.c3be88p+2 +-0x1.02f8e6p+4 +0x1.21c30ep+0 +-0x1.39260ap+3 +0x1.305d36p+2 +-0x1.d26daep+7 +-0x1.1e22bep+8 +-0x1.26a326p+4 +0x1.1b64dcp+4 +0x1.7bcd7p+2 +-0x1.a82ce6p+1 +0x1.67b038p+3 +0x1.5e4284p-3 +0x1.cfcf84p+0 +-0x1.2b4018p+3 +-0x1.c6fd36p-1 +-0x1.33103p+6 +0x1.8de14cp+3 +0x1.7f98bap+1 +0x1.0f7248p+3 +-0x1.2d128p+4 +0x1.846442p+3 +0x1.6d9612p+3 +0x1.961168p-1 +-0x1.83976ap+3 +-0x1.2f42aap+1 +0x1.5d6bc8p+3 +0x1.9996b8p+2 +-0x1.a8bafcp+2 +0x1.3285bep+3 +0x1.110c02p+2 +-0x1.2dad96p+4 +0x1.46808ep+3 +0x1.ed810ap+5 +0x1.096d3cp+4 +-0x1.cd342p+2 +0x1.a67102p+2 +0x1.28e3ecp+0 +0x1.a19fbcp+0 +0x1.09be5ep+2 +-0x1.5430bep+2 +0x1.75d5ep-1 +-0x1.5bfc9ep+1 +0x1.be2ff6p+1 +0x1.d4b286p+3 +-0x1.6b469p-2 +-0x1.025496p+1 +0x1.bfc7f6p+1 +0x1.e3112ep+0 +0x1.acab6cp+2 +-0x1.9afc7cp-8 +0x1.77b4bcp+1 +0x1.36b19ap+1 +-0x1.23e872p+3 +0x1.db2ddap+2 +-0x1.092de2p+3 +-0x1.f092f8p+1 +0x1.7bea3p+2 +0x1.7165ep+2 +-0x1.3c64f4p+1 +0x1.b6ff56p+1 +-0x1.2314eap+3 +-0x1.142ffap+1 +-0x1.150e78p+6 +-0x1.c92e0cp+0 +0x1.06c51ep+4 +0x1.a01596p+3 +-0x1.3129a8p+3 +0x1.044c62p+2 +0x1.42a4c6p+3 +-0x1.499054p+1 +0x1.c2508ep+4 +0x1.b0988cp+1 +0x1.2ddbfep-1 +-0x1.b7f9bep+1 +0x1.115e34p+1 +0x1.dc6c6p-1 +-0x1.ba1ae2p+2 +0x1.3693ep-6 +0x1.6dbe5cp+3 +-0x1.eb491p+3 +-0x1.0b08ccp+4 +-0x1.2bd6cep+0 +0x1.f7cafp+0 +0x1.1b7644p+4 +0x1.101dbp+2 +0x1.adad94p-1 +0x1.b77d9ap+0 +-0x1.428fcep+4 +0x1.e4e7acp+2 +0x1.0fbacap+3 +-0x1.55888cp+2 +-0x1.2431bep+3 +0x1.d6a132p+1 +0x1.fce084p+3 +0x1.53a56p+2 +-0x1.fce03cp+0 +0x1.3253a4p+0 +0x1.7f6e5ap+3 +-0x1.21983p+3 +0x1.61f442p+3 +-0x1.89313ap+3 +-0x1.f7f476p+2 +-0x1.28607cp+1 +-0x1.cab3dep+1 +0x1.d85946p-1 +-0x1.a78304p-1 +0x1.4a2168p+1 +-0x1.05e1a2p+4 +0x1.5149cap+4 +0x1.ed04bp-3 +-0x1.83e4bcp+0 +0x1.3b799p+2 +0x1.79c1dep+3 +0x1.d499p+3 +0x1.dfb088p+3 +-0x1.67b054p+3 +-0x1.4da0bcp+3 +-0x1.777ebcp+2 +-0x1.1f81a6p+3 +0x1.35464ep+4 +-0x1.fb45b2p+3 +-0x1.1e1694p+4 +-0x1.00f97cp+7 +0x1.47031ap+3 +-0x1.2047d8p+3 +0x1.c98b8ap+2 +-0x1.a0609ap+3 +0x1.3d6f78p+2 +0x1.15abcep+2 +0x1.f2be5ap-1 +-0x1.34b93ap+3 +-0x1.1c9beap+4 +-0x1.838fccp+3 +-0x1.e3dc54p+1 +-0x1.25c04ap-2 +0x1.279e6ap+9 +0x1.2a086cp+3 +-0x1.b06946p-3 +0x1.9e206p+0 +0x1.8017aap+3 +-0x1.743d14p+2 +-0x1.16cd56p+3 +0x1.32478p+2 +-0x1.20e082p+2 +0x1.0db4bcp+7 +-0x1.2d1532p+3 +0x1.3249f8p-1 +0x1.f6cb8ep-1 +-0x1.9aa5f4p+3 +0x1.5a683p+4 +0x1.23a038p+3 +0x1.44687ap+4 +0x1.412768p+0 +-0x1.4d085ap+2 +0x1.43040cp+2 +0x1.abc682p+2 +-0x1.126bbep+1 +0x1.66f808p+0 +0x1.344f6cp+0 +-0x1.05a2dp-1 +-0x1.484532p+3 +-0x1.464facp+2 +0x1.f430e4p+3 +0x1.5dc382p+2 +-0x1.f5dbc8p+1 +0x1.5b7678p+4 +0x1.134ee2p+4 +0x1.d99bd6p+1 +-0x1.1b9c7cp+0 +-0x1.33198cp+2 +0x1.7925c2p+4 +0x1.f5dd76p+3 +0x1.403f86p+3 +-0x1.183054p+1 +-0x1.beed56p+3 +-0x1.2b5ac6p+3 +0x1.04012cp+8 +-0x1.2da19cp+4 +-0x1.8937b2p+2 +-0x1.41e506p+1 +-0x1.05150cp+3 +-0x1.20300cp+2 +-0x1.9ae39p+1 +-0x1.164122p+1 +-0x1.1abfcep+4 +0x1.17beaep+1 +0x1.34bf78p+7 +-0x1.07b6e6p+1 +-0x1.362c6ap+3 +-0x1.9c368ap+2 +0x1.ffd7f2p+0 +0x1.2dbb44p+1 +0x1.f61562p+2 +-0x1.7207b4p+3 +0x1.f65354p+4 +-0x1.75abd8p+3 +-0x1.a88d62p+3 +0x1.649264p+8 +0x1.8a88dcp-1 +0x1.a88402p+1 +0x1.648534p+4 +-0x1.1cebc8p-1 +0x1.c5ed6cp+2 +0x1.df70c2p-1 +-0x1.c1aeaep+2 +0x1.148e2p+1 +0x1.caf8ecp+1 +-0x1.a20238p+2 +-0x1.e7f84p-1 +-0x1.096f62p+3 +-0x1.b1df2cp+3 +-0x1.947ccep+2 +0x1.77ee0ep-2 +-0x1.7065b2p+3 +0x1.5f966p+1 +-0x1.26f578p+3 +0x1.c6c8aep+2 +0x1.78b90cp+3 +0x1.a1b4dap+1 +-0x1.015c78p+3 +0x1.be6a76p+3 +0x1.7ed894p+1 +-0x1.e0003cp+1 +-0x1.5c16p+3 +-0x1.59a6b6p+4 +0x1.aa2862p+3 +-0x1.7aab92p+1 +0x1.fdb388p+1 +-0x1.5938dcp+3 +-0x1.d7c554p-1 +0x1.e210ap-4 +0x1.a986b6p+4 +-0x1.fff26p+1 +0x1.6f7934p+2 +0x1.3da11ap+3 +-0x1.c4003ep+3 +0x1.a76fe8p+1 +0x1.abe2dap+2 +-0x1.0d534ap+2 +0x1.ff702ep-2 +-0x1.35002ep+2 +-0x1.63849ep+2 +0x1.94361ep-1 +0x1.d47f3ap+4 +-0x1.e4fb66p+1 +0x1.8fe30ap+4 +0x1.443872p+2 +0x1.0ca332p+0 +-0x1.578abap+3 +-0x1.10d79ep+2 +0x1.c6099cp-3 +0x1.5d0f66p+4 +-0x1.383502p+7 +0x1.c1ccc8p+3 +0x1.985ffep-1 +-0x1.fb532ap-2 +-0x1.3cfff8p+1 +-0x1.22f3bap+3 +0x1.def44ap+3 +0x1.905e4ep+2 +-0x1.255562p+3 +-0x1.c97c64p+3 +-0x1.33da44p+3 +-0x1.c2696cp+2 +-0x1.3eeae4p+0 +-0x1.fbeee2p-2 +-0x1.d3bab8p+0 +0x1.2706c8p+4 +-0x1.9a7892p-3 +0x1.4d302ep+3 +-0x1.69c614p+4 +-0x1.b3bd6ep-3 +0x1.e2c9fcp+3 +0x1.5581ecp+7 +-0x1.7b25d2p+3 +-0x1.1af3fp+4 +0x1.9dc892p+2 +0x1.00be26p+4 +-0x1.fe4082p+4 +-0x1.c53c98p+3 +-0x1.115f24p+4 +0x1.44a8aep+2 +-0x1.4133b8p+3 +-0x1.734b48p+3 +0x1.68030ep-2 +0x1.43814cp+3 +-0x1.192b66p+2 +0x1.ba8a38p+4 +-0x1.8643bap+4 +0x1.4759eep+3 +0x1.11192ep+3 +0x1.b4b47p+2 +-0x1.62c904p+3 +0x1.668dc6p+3 +-0x1.e4bd94p+2 +0x1.1293bep+6 +0x1.e87f5cp+3 +0x1.539a96p+3 +0x1.3f961ep+4 +-0x1.fa37d8p+1 +0x1.2e5e8ap+2 +-0x1.a193acp+2 +0x1.a2c608p+3 +0x1.55e442p+3 +0x1.642d82p+2 +0x1.197db6p+3 +0x1.e05ad8p+1 +0x1.1cedaep+4 +0x1.524d74p+3 +0x1.cce582p+2 +-0x1.e0c796p+3 +0x1.49097ap+4 +-0x1.4118e2p+4 +0x1.5e7e8ap+2 +-0x1.735a14p+2 +0x1.7f4442p+0 +0x1.06d9cep+0 +-0x1.12fb44p+3 +0x1.21a162p+2 +-0x1.a17074p+2 +0x1.8cf59ap+2 +0x1.460e8cp+0 +0x1.5e4f72p+3 +0x1.57de2ep+2 +-0x1.1ececcp+4 +-0x1.cf4a34p+2 +-0x1.8c667ap-4 +-0x1.4667aap+3 +-0x1.2a79dep+1 +0x1.0b9bb6p+4 +0x1.21695ap+1 +0x1.749b2ap+3 +-0x1.bd6eeap+1 +0x1.8d7a88p+3 +0x1.0c00eep+2 +-0x1.9d0734p+2 +0x1.50bf5ap+3 +-0x1.35a99ap+4 +0x1.ccdf4ap-2 +-0x1.6151dap+3 +-0x1.26cd04p+1 +-0x1.28b71ep+2 +-0x1.9393ap-2 +-0x1.2e7f6p+3 +-0x1.ac1ac4p+3 +0x1.975dfcp+2 +-0x1.9b4d02p+3 +-0x1.5371a8p+3 +0x1.c669d4p-1 +-0x1.f9b042p+1 +0x1.69a4bep+4 +0x1.f67ed6p+2 +-0x1.066ee8p+5 +-0x1.0f81eap+3 +0x1.01395ap+2 +0x1.a3bc3ep+2 +0x1.2e771ap+3 +0x1.6dc22ap+3 +-0x1.838cf2p+3 +0x1.c4cbdap+3 +0x1.4a1426p+4 +-0x1.3419fap+1 +0x1.bb7d9p+0 +-0x1.47957ap+2 +0x1.ff64d4p+2 +0x1.b88598p+3 +-0x1.48c8d8p+0 +-0x1.abb53ep-1 +-0x1.29bb1ep+3 +-0x1.e4ab3ap+1 +0x1.b6f364p-3 +0x1.294b34p+0 +0x1.4f6c84p+3 +-0x1.34e372p+4 +0x1.a02bep-1 +0x1.ff457cp+2 +0x1.478036p-2 +-0x1.36c592p+0 +-0x1.5e0c9cp+1 +-0x1.f36e2p+3 +-0x1.5bdc7p+3 +-0x1.fdf866p+1 +-0x1.a3df9cp+2 +-0x1.acaa14p+1 +0x1.54e382p+0 +0x1.eb91dp+3 +0x1.360a7cp+3 +-0x1.5e33c8p+0 +-0x1.8caeaep+0 +-0x1.c8afbcp+3 +-0x1.029e5ap+2 +0x1.6ed93cp+3 +0x1.bbce24p+4 +-0x1.32c3fap+4 +-0x1.999f84p+3 +-0x1.7dfaa6p+3 +0x1.44cabp+3 +0x1.1806cep+4 +-0x1.f395eep-1 +0x1.829c3ep+3 +0x1.40995p+2 +0x1.96de1ap+2 +0x1.5e8f06p+2 +0x1.58d52p+1 +-0x1.443d26p+2 +0x1.9f9ae6p+3 +-0x1.077a5cp+2 +0x1.6fd23cp+2 +0x1.5abffap+4 +-0x1.2c9a5cp+4 +0x1.477ea6p+4 +0x1.c62db8p+8 +-0x1.a9507p+2 +0x1.cc772ap+2 +-0x1.1019dcp+6 +0x1.22b626p+2 +0x1.c0df28p+2 +-0x1.addfe8p+3 +-0x1.d7a962p+1 +-0x1.5c8bdp+3 +-0x1.617b48p+3 +-0x1.3138d8p+3 +0x1.14eb1cp+1 +0x1.df6012p+2 +0x1.8cab9ap+3 +-0x1.1f39dcp+2 +-0x1.86965ep+3 +-0x1.9d623ap+0 +0x1.1c69d4p+7 +0x1.8d4b26p+2 +-0x1.3fc54ep+1 +0x1.993982p+1 +0x1.2f6b4cp+2 +-0x1.3c2eacp+2 +-0x1.f8df46p+1 +0x1.942df8p+2 +-0x1.a350d8p+1 +0x1.026f8ep+4 +-0x1.38c31p+0 +0x1.9ff17ep+0 +0x1.8d821ap+3 +-0x1.13806ep+2 +0x1.5d501ep+0 +-0x1.a0e5e4p+4 +-0x1.b5cb36p+0 +0x1.87b81p+3 +-0x1.283f44p+3 +0x1.2186b6p+3 +0x1.fdc92p+3 +0x1.34f186p+3 +0x1.456e7ep+3 +-0x1.ebce02p-1 +0x1.d903cp-1 +0x1.7ec3d8p+3 +0x1.220cf8p+1 +-0x1.37845ap+3 +-0x1.7f5f84p+2 +0x1.1cfd48p-2 +-0x1.41c844p-2 +-0x1.746656p+1 +-0x1.4d6d6ep+2 +-0x1.e4bdaap+3 +-0x1.30a6c8p+4 +-0x1.2c0ecep+5 +-0x1.4dde62p-1 +-0x1.7b6e9ep+4 +-0x1.0fa974p+3 +0x1.f40de6p+3 +-0x1.371cf4p+2 +0x1.e14282p+1 +0x1.77c7b6p+0 +-0x1.362016p+4 +-0x1.03e246p+4 +0x1.024be6p+4 +-0x1.897d54p+3 +-0x1.c3c31ep+3 +-0x1.108dc6p-2 +-0x1.c67c6p+2 +-0x1.a46ecp+0 +-0x1.d2f5a4p+7 +-0x1.7b5cd2p+3 +0x1.0e3964p-2 +0x1.912846p+2 +0x1.6b31f6p+3 +-0x1.557638p-1 +-0x1.16f75cp+3 +-0x1.1c278p+4 +0x1.076556p+2 +0x1.f5ece8p+0 +0x1.7845d8p+1 +0x1.61547p+1 +0x1.525f58p+3 +-0x1.06365cp+4 +0x1.19dc58p+2 +0x1.1359bep+7 +-0x1.5cde1ep+2 +-0x1.86b80ep+4 +0x1.e149e4p+3 +0x1.fcbef6p+2 +0x1.5eb00cp+0 +-0x1.fc7c72p-6 +-0x1.76febp+2 +-0x1.493eaap+2 +-0x1.9dbb2cp+2 +0x1.6153e4p+3 +-0x1.e741bcp+3 +0x1.ec95a8p+1 +-0x1.1790d8p+3 +0x1.0e054p+2 +-0x1.9bb546p+5 +-0x1.62cc3ep+5 +0x1.cab28ap-1 +-0x1.1692dcp+4 +0x1.a6f02p+2 +-0x1.ea675cp+3 +0x1.24337ep+3 +0x1.28d432p+2 +0x1.77992cp+2 +0x1.f7fe6cp+3 +-0x1.aad3bp+2 +-0x1.598b86p+3 +-0x1.72c82ap+2 +-0x1.055598p+4 +0x1.4e3218p+3 +0x1.2687bp+2 +-0x1.8c21a8p+6 +-0x1.a41f22p+1 +-0x1.ce9a8ep+3 +0x1.099acep+4 +-0x1.707b76p-1 +-0x1.8bd1f6p+4 +0x1.b44a9ap+2 +-0x1.b12ea8p+3 +0x1.e5d612p+1 +0x1.24b0d2p+4 +0x1.2988bp+4 +0x1.e924b4p-2 +0x1.1aa15cp+1 +-0x1.a975dap+4 +-0x1.8d336ep+3 +-0x1.48a8f2p+2 +0x1.a08cccp-2 +-0x1.2a568ap+2 +0x1.dde114p+0 +-0x1.254f4cp+3 +-0x1.7823c4p+3 +-0x1.92160cp+2 +0x1.963644p-6 +0x1.a5b9fap+2 +-0x1.08d57cp+3 +-0x1.69d3aap+4 +-0x1.03ea5ep+3 +0x1.93639ep-6 +0x1.0c53cap+2 +-0x1.0435fap+4 +-0x1.bd64acp+2 +0x1.ddfec8p+0 +-0x1.dc7d62p+2 +-0x1.b557a8p+3 +0x1.18c1bcp+0 +0x1.41996cp-1 +-0x1.800094p+3 +-0x1.95bc4ap+3 +-0x1.cd665p+3 +-0x1.d2b67p-7 +0x1.617284p-5 +-0x1.275764p+1 +0x1.c941e4p+2 +-0x1.5c930ep+4 +-0x1.71b95ap-1 +-0x1.f48a46p+0 +0x1.5f2426p-3 +-0x1.7a2f38p+3 +-0x1.0e5342p+6 +-0x1.772deap+2 +-0x1.0b9bc4p+2 +-0x1.235508p+4 +0x1.267378p+2 +-0x1.bbcd18p-1 +0x1.b3e46ap+3 +-0x1.a0cc8ap+2 +-0x1.e251dcp+3 +0x1.649766p+2 +-0x1.1563e2p+3 +0x1.c3737p+2 +0x1.07d64cp+0 +-0x1.4a0bacp+1 +-0x1.ef86dcp+3 +-0x1.13bdb4p+0 +-0x1.a2b86ep+3 +0x1.c0db8ep+3 +-0x1.0b4bp+0 +-0x1.56d9d6p+3 +-0x1.0d5732p+9 +0x1.24a50ap+4 +0x1.6adb3cp+3 +0x1.84adbap-3 +-0x1.bb536p+3 +0x1.1ba17ep+3 +-0x1.2ba3d8p+3 +-0x1.3bca4ap+1 +0x1.a6143ep+2 +-0x1.f54b3ap+2 +0x1.3eed3ep+2 +-0x1.463fecp+1 +-0x1.25e91cp-2 +-0x1.3c2466p+1 +-0x1.34fd9ep+1 +-0x1.f9d026p+1 +0x1.08db2ep+3 +0x1.2379a4p+3 +0x1.e893ccp+0 +0x1.8601fp+2 +-0x1.144afp+4 +0x1.3d848ep+2 +0x1.52490ep+3 +-0x1.52ba9p+1 +-0x1.5db56cp+2 +-0x1.afcb5p+0 +-0x1.876adcp+3 +0x1.a56b98p+3 +0x1.3695bp+1 +0x1.d0aabep+2 +-0x1.38eebcp+3 +-0x1.1d47fp+3 +0x1.7e54c2p+3 +-0x1.05e246p-3 +0x1.a2287ap+3 +0x1.60ecaap+3 +-0x1.cec702p+3 +0x1.e4255p+2 +0x1.7f3a88p+1 +-0x1.2d9f66p+1 +0x1.1fc764p+0 +-0x1.4b9506p+1 +0x1.55bd7p+1 +0x1.3d4ddp+2 +-0x1.4b8f8p+3 +-0x1.2e026p+4 +0x1.45e7eap+2 +0x1.070dfcp+4 +-0x1.ca0648p+1 +-0x1.548cc4p+3 +-0x1.9b0df2p+3 +-0x1.1f8caap+4 +0x1.e9b398p+1 +0x1.1efb94p+3 +-0x1.1bd9dap+4 +-0x1.69f29cp+2 +-0x1.04bc78p+5 +-0x1.8e8416p+1 +-0x1.02ff1ap+4 +0x1.fff844p+3 +-0x1.ae7b8cp+4 +-0x1.0e14ep+2 +-0x1.ff7dep-2 +-0x1.2c405ap+2 +-0x1.ba9068p+1 +-0x1.788084p+2 +-0x1.f0bbb8p+3 +-0x1.411b2cp+4 +-0x1.6b206cp+2 +0x1.be4ee6p+2 +0x1.0ca82p+3 +0x1.f6c1p+3 +0x1.c1a5d8p+2 +0x1.6f690cp+3 +-0x1.b0ca16p-1 +-0x1.b3572cp+0 +0x1.bb1bbep-1 +0x1.c52268p+3 +0x1.f110ccp+0 +-0x1.6fda48p+0 +0x1.254c3cp-1 +-0x1.0ce1a6p+4 +-0x1.2216bp+1 +-0x1.269fcp+3 +-0x1.ae03a2p+3 +0x1.b65068p+4 +-0x1.77ea6p+3 +-0x1.6a0504p+2 +-0x1.e8b1cep+2 +0x1.16eebcp+3 +-0x1.03909cp+3 +-0x1.501dcp+0 +-0x1.70d4fcp+3 +0x1.26f7fep+2 +0x1.3299cp+2 +0x1.1554e6p+3 +-0x1.286cb2p+3 +-0x1.0f307ep+0 +0x1.03df94p+4 +-0x1.b00bfcp+3 +-0x1.0362e2p+0 +0x1.9ddb14p+2 +-0x1.75e6f2p+4 +-0x1.06a73ep+4 +-0x1.46fbf2p+3 +0x1.cb8d76p+3 +-0x1.31a6fp+3 +-0x1.085c6ap+3 +-0x1.96967p+2 +0x1.496d3p+4 +-0x1.3ef172p+3 +0x1.43fa46p+2 +0x1.b1be2ep+1 +-0x1.a90b9ep+2 +0x1.e16ep+2 +0x1.e11c06p-1 +-0x1.9719eep-2 +-0x1.95f6a6p+2 +0x1.fa93bp+1 +0x1.f93eacp+3 +0x1.034a3p+2 +-0x1.ba1e82p+3 +0x1.1eb79p+2 +-0x1.2cfa82p+1 +0x1.5b6caap+3 +0x1.b81032p+3 +0x1.715d88p+2 +0x1.444594p+3 +-0x1.484778p+0 +-0x1.64a042p+3 +-0x1.da5f1p+2 +-0x1.68f8ecp+4 +-0x1.ae5decp+3 +-0x1.4878e8p-1 +-0x1.4f376ep+1 +0x1.97cd7p+7 +0x1.72f196p+2 +-0x1.93c604p+3 +-0x1.f71434p+1 +0x1.eab07p+2 +-0x1.196966p+2 +0x1.17e578p+1 +-0x1.e08818p+3 +0x1.c50ae6p-2 +-0x1.dd1f8ep+1 +-0x1.49a4acp-3 +0x1.5d4d4p+2 +0x1.0eef02p+1 +0x1.744108p+3 +-0x1.70f18ep+1 +0x1.20a7a8p+0 +0x1.2a468ep+3 +-0x1.07de72p+1 +-0x1.e955c8p+0 +0x1.8424bap+0 +0x1.5ed6eap+2 +-0x1.c4bba4p+2 +0x1.01dfc8p+2 +-0x1.2a2804p+3 +-0x1.ec2a64p+3 +-0x1.965118p+2 +0x1.652094p+2 +-0x1.a6e8cap+3 +-0x1.d50fbep+4 +-0x1.958ef4p+0 +-0x1.e75bc6p+2 +-0x1.6dacep+3 +0x1.49bd74p+4 +0x1.b8864p+2 +-0x1.24d046p+2 +0x1.e0d98ap+4 +-0x1.08aedp+1 +0x1.e38e14p+0 +-0x1.372246p+3 +0x1.ae3a7p+1 +-0x1.6bb8eep+3 +0x1.12eeb2p+9 +0x1.10521ep+3 +0x1.708da2p-2 +0x1.d3996p+2 +-0x1.923954p-1 +-0x1.a3ab8ap+2 +0x1.1cbc1p+4 +-0x1.2ea156p+4 +-0x1.7e9a28p+2 +-0x1.c8c122p+6 +0x1.3f9934p+0 +0x1.4df64cp+3 +0x1.8033c2p+3 +-0x1.fa8cacp+0 +0x1.f07676p+0 +0x1.14d154p+4 +0x1.5c1fd8p+1 +0x1.b775dap-2 +0x1.f1b8bp+3 +0x1.eecfa6p+3 +0x1.4f431ep+1 +-0x1.4917b8p+3 +-0x1.59b224p+4 +-0x1.d9c528p-1 +-0x1.bee616p+1 +0x1.657e8ap+0 +-0x1.147284p+2 +0x1.2da1ep+3 +0x1.f7ada2p+1 +-0x1.875cdp+1 +-0x1.e838c4p+2 +0x1.7929e4p+3 +-0x1.b51f66p-2 +0x1.385c4ap+8 +0x1.62d1c8p+4 +-0x1.67a6bap+2 +0x1.012dfep+4 +-0x1.60fcd4p+4 +-0x1.d29306p+6 +0x1.82afd4p+2 +-0x1.c852aep+3 +0x1.7bb842p+3 +-0x1.8d6114p+3 +-0x1.ced656p+3 +-0x1.02d3dap-3 +-0x1.25390ep+3 +-0x1.531304p+4 +-0x1.d30b86p+1 +0x1.1f2fa2p+1 +0x1.74d9aep+3 +-0x1.514432p+7 +-0x1.70e71ep+2 +-0x1.2af0e8p+2 +0x1.e63eaap+3 +-0x1.9ef63cp+1 +-0x1.ccc9p+3 +-0x1.e3a37ep+2 +0x1.8a4226p+5 +-0x1.de9408p+3 +0x1.da938cp+3 +-0x1.63f306p+3 +-0x1.4426c8p+0 +0x1.1e31a2p+2 +0x1.65c7ccp+3 +0x1.78858ep+4 +-0x1.dad4bap-1 +-0x1.435c48p+4 +0x1.1cec28p+4 +-0x1.9bced6p-6 +-0x1.e894b4p+3 +-0x1.058dcap+4 +0x1.4e4aeap+2 +-0x1.078f7p+5 +0x1.f381fep+2 +0x1.8ee6a8p+3 +-0x1.d82a16p-3 +0x1.90756ep+3 +0x1.d6153ep+3 +0x1.af4486p+3 +-0x1.a80a5cp+2 +-0x1.e59a82p+3 +0x1.f4e758p+3 +0x1.53437ep+3 +-0x1.ddc8f2p+2 +0x1.4d2386p+3 +0x1.dd19dcp+0 +0x1.3c975p+2 +0x1.75a202p-1 +-0x1.07135p+3 +0x1.801d1ap+2 +0x1.efd0ep+3 +0x1.9a387cp+0 +-0x1.7cb746p+2 +-0x1.e11c36p+2 +0x1.44d5e2p+4 +0x1.24fcap-9 +0x1.586f1ap+4 +0x1.df7d5cp+1 +-0x1.50e398p+1 +0x1.e94e74p+1 +-0x1.0783dcp+3 +-0x1.b1826ep+4 +0x1.f94d2cp+2 +-0x1.c63742p+1 +-0x1.55be6ap+2 +0x1.06c194p-1 +-0x1.9518ccp-1 +0x1.11ce94p+3 +-0x1.8c83c6p+4 +0x1.7c9948p+2 +-0x1.368f6p+2 +-0x1.77597ap+2 +-0x1.0fc0a8p+3 +0x1.078982p+3 +0x1.41794ap+2 +-0x1.6a7fb6p+1 +0x1.0130ecp+1 +0x1.3a6f48p+2 +-0x1.06ec3ep+3 +0x1.2e873ep+0 +-0x1.bbfcecp+3 +0x1.0d9c8cp+3 +-0x1.8bf836p+3 +0x1.5867aap+1 +-0x1.46e636p+1 +0x1.64bad6p+2 +0x1.25b17ap+3 +-0x1.30be6cp+3 +0x1.0c7e7ep+3 +0x1.fc3db8p+2 +-0x1.2e7c1ep-2 +-0x1.8a437cp+6 +-0x1.2b2982p+1 +0x1.a277c4p+3 +-0x1.b762b2p+2 +-0x1.316b9p+1 +0x1.649818p+1 +-0x1.01674ap-1 +0x1.66d238p+3 +-0x1.f10df4p+2 +-0x1.62c984p+4 +-0x1.01f502p+2 +0x1.d3df2ep+2 +-0x1.e05174p+3 +0x1.a4e73ep+2 +-0x1.bd0596p+3 +-0x1.8771dp-3 +-0x1.3dca52p+3 +0x1.e5061ep+0 +-0x1.bb9456p-1 +0x1.e71896p+1 +-0x1.80dddep-1 +0x1.67184cp+0 +-0x1.e1dddep+2 +-0x1.927dccp+2 +-0x1.e9e4bp+2 +0x1.9c4e3p+1 +0x1.f9f644p-1 +-0x1.f840c4p-3 +-0x1.b58a68p+3 +0x1.d2709ep+2 +0x1.8b90c8p+2 +-0x1.95fb0ep+2 +0x1.0a4ed2p+4 +-0x1.0b5578p+2 +-0x1.f835b6p+2 +0x1.3d7bfep+4 +-0x1.97934p+2 +0x1.0025fep+2 +-0x1.00c524p+4 +0x1.bf0fbcp-2 +-0x1.156364p+3 +0x1.b32f26p+1 +0x1.d31834p+3 +-0x1.43d26cp+2 +0x1.bc71a6p+3 +0x1.d897f4p+1 +-0x1.c58bf4p+1 +-0x1.ee0cc6p+1 +-0x1.935c5p+1 +-0x1.dbc57cp+2 +-0x1.a03af6p+2 +-0x1.7abba2p+4 +0x1.1434bcp+4 +0x1.e07be6p+4 +0x1.c33f5ap+3 +0x1.3b3e4cp+2 +-0x1.7143cep+1 +-0x1.1307bcp+3 +-0x1.64d0e8p+1 +0x1.648688p+4 +-0x1.5b5e3p+2 +-0x1.b7375cp+2 +-0x1.83fc0ap+6 +-0x1.2fdc6ep+3 +-0x1.480c0ep+6 +0x1.4853eap+3 +0x1.30abeap+3 +-0x1.836654p+3 +0x1.cd14d2p+1 +-0x1.19cc72p+2 +-0x1.45c982p-2 +0x1.2529f6p+0 +0x1.409a28p+2 +-0x1.26fb74p+1 +0x1.65d004p+2 +0x1.21ad6cp+1 +-0x1.34b39ap+3 +0x1.7169eap+2 +-0x1.782edep+2 +0x1.1b4cp+4 +0x1.1db916p+3 +0x1.41e33ap+2 +-0x1.6a320ep+5 +-0x1.6cfc1ep+1 +-0x1.5d9e4p+3 +-0x1.b29bc8p+3 +-0x1.6ed4c6p+2 +0x1.05de48p+2 +-0x1.6a0cb4p+1 +0x1.f0463cp-1 +-0x1.8273bap+3 +0x1.d1edb4p+3 +0x1.ea4d06p+3 +-0x1.1f763cp-2 +-0x1.12214ap+1 +0x1.38b962p+6 +0x1.f56658p+2 +0x1.3976b2p+2 +0x1.c5e68p+3 +-0x1.f62afcp+2 +0x1.32030cp+4 +-0x1.bab456p-1 +-0x1.e1aafap+2 +0x1.46872cp-2 +-0x1.271674p+3 +0x1.08b0b4p+3 +-0x1.858f88p+3 +-0x1.59ea86p+1 +0x1.6b3f0cp+0 +0x1.b504bap+2 +0x1.fe756ap+2 +-0x1.4e6446p+2 +-0x1.2d0dbp+4 +-0x1.04659ap+3 +0x1.b689f8p+3 +-0x1.a32ce8p+2 +0x1.ea01c4p+3 +0x1.2111dp+3 +0x1.d68322p+3 +-0x1.e2efc2p+2 +-0x1.797e72p+1 +0x1.e86848p+2 +0x1.0fdeep+4 +-0x1.140a26p+0 +0x1.45b2fap-3 +-0x1.2090bp+3 +-0x1.903c26p-1 +-0x1.c7df9ap+1 +-0x1.baf402p+2 +-0x1.168db6p+4 +-0x1.9be9cep+2 +0x1.b036ccp+2 +-0x1.d5da4cp+1 +-0x1.c5cd9ep+1 +-0x1.a938e4p+3 +0x1.9ac208p+2 +-0x1.b2b9cep+4 +0x1.10eabap+1 +0x1.9855c6p+1 +-0x1.27d976p+3 +0x1.9b628ep+3 +-0x1.99d82ep+3 +0x1.775502p+4 +0x1.d03ab2p+3 +0x1.0d4296p+3 +0x1.361332p+4 +0x1.31812ap-1 +-0x1.c64fdap+3 +-0x1.024512p+3 +-0x1.9ea098p+4 +0x1.53742ep+1 +-0x1.43e584p+3 +-0x1.495ddep+3 +-0x1.39697p+4 +0x1.c3dc14p+0 +-0x1.bf4e1p+1 +-0x1.78d74ep+2 +-0x1.cf9dcp+2 +-0x1.8df9b8p+2 +-0x1.5b8c5ep+3 +-0x1.11681cp+1 +-0x1.f3c11p+0 +0x1.c6eccep+2 +0x1.0c4d7ap+2 +-0x1.eb442ep+3 +-0x1.2098ap+0 +-0x1.88ead2p+2 +-0x1.08462cp-1 +-0x1.13ae5p+4 +-0x1.33bf56p-3 +0x1.829774p+8 +-0x1.3be412p+4 +-0x1.3ad89p+1 +0x1.8cecdep-2 +-0x1.cbf4dap+2 +0x1.b8ce3p+3 +0x1.9cd354p-6 +-0x1.681b7ep+4 +-0x1.f11004p-1 +-0x1.5b06bcp+3 +-0x1.60f6f2p+2 +-0x1.0d98cep+3 +-0x1.c71b8p+1 +-0x1.4982aep+2 +-0x1.c53f08p+2 +0x1.4c651p+2 +0x1.341ec8p+2 +0x1.3b2c7cp+2 +0x1.07159cp+2 +-0x1.e16c86p+2 +0x1.a869fcp+2 +-0x1.e11324p+2 +0x1.a4d634p+1 +0x1.e5051p+3 +-0x1.a6e3cap+0 +0x1.956e1p+2 +0x1.1619bp+3 +-0x1.339d94p+3 +-0x1.27512p+0 +0x1.aaeaf8p+3 +0x1.b9c934p+3 +-0x1.6b336ap-2 +-0x1.a3e50ep-1 +0x1.b076fep-2 +0x1.1f6a18p+0 +0x1.37f0fcp-1 +0x1.3bbab6p+3 +-0x1.0973dcp+2 +-0x1.e4ff3cp+2 +0x1.2aeb48p+1 +-0x1.cce7e8p+2 +0x1.2851c2p+4 +0x1.6a232p+3 +0x1.234b8cp+4 +0x1.e44e04p+2 +-0x1.06a0e2p+3 +0x1.134b74p+4 +0x1.c4c4dp+1 +-0x1.55f1e8p+3 +-0x1.8d76e2p+1 +0x1.ece418p+3 +0x1.b979aap-2 +0x1.eed2dap-1 +0x1.007f86p+3 +-0x1.deee54p+1 +-0x1.89e6eap+2 +-0x1.81779ep+1 +-0x1.d2d4e6p+1 +-0x1.191336p+5 +-0x1.338c98p+1 +0x1.1b180cp+4 +-0x1.9e2dd6p+2 +0x1.3fd206p+3 +-0x1.4256d2p+2 +-0x1.5b5778p+3 +-0x1.04e69ap+3 +-0x1.27fbccp+1 +-0x1.769b52p+2 +0x1.0932f4p+2 +0x1.0b6128p+2 +0x1.0b2df4p+4 +0x1.93a04p+0 +-0x1.02250cp+4 +-0x1.4e7f86p+2 +-0x1.1156c6p+2 +-0x1.122036p-2 +0x1.14e246p+2 +0x1.7ba1dap+2 +0x1.44c38ep+4 +-0x1.0b7714p+0 +0x1.b987d4p+4 +0x1.2a37dp+3 +0x1.712494p+1 +-0x1.e5f6d2p-4 +0x1.cc534cp+0 +0x1.1d1d1ap+2 +-0x1.076e8ap+2 +0x1.c04e16p+3 +0x1.1c264p-1 +0x1.7443acp+3 +0x1.ec33ccp+1 +-0x1.d3bae4p+2 +0x1.17cf9ap+4 +0x1.e2b466p-1 +0x1.3cb3ep+1 +0x1.eab478p+3 +-0x1.29150ap+3 +-0x1.695bap+1 +0x1.c97486p+3 +0x1.42f012p+1 +0x1.db498cp+3 +0x1.bd2bb6p-1 +0x1.00e5b4p+1 +-0x1.104b2ep+7 +-0x1.cd2856p+2 +-0x1.6f4a38p+4 +0x1.b4dfecp+3 +0x1.00667ep+4 +-0x1.ac174cp+2 +0x1.08790ap-1 +-0x1.334478p+4 +0x1.07afbap+2 +-0x1.cf2ac8p+2 +-0x1.eb833cp+2 +-0x1.752342p+3 +-0x1.9b26d4p+2 +0x1.a9207cp+3 +-0x1.a43f1cp+2 +0x1.b5ccb4p+2 +0x1.510552p+4 +0x1.e2803ap-4 +-0x1.e16d84p+1 +0x1.656842p+3 +-0x1.380a0cp+1 +0x1.ba6e86p+3 +0x1.883fdp+1 +-0x1.ed2f98p-1 +-0x1.2da1d4p+2 +0x1.839fa8p+1 +0x1.5dd11ap+2 +0x1.5efc92p-2 +-0x1.c64f2ap+2 +0x1.ac7feep-3 +0x1.d0b7d2p-1 +0x1.e9b82ep+2 +0x1.2621b6p+3 +-0x1.cf09e8p+2 +0x1.a11c94p+2 +-0x1.943fa4p+4 +-0x1.4d06bcp+3 +-0x1.716294p+3 +0x1.1ea25ap-1 +0x1.734d74p-1 +0x1.39d334p+4 +-0x1.5ae604p+2 +0x1.4e6eeep+3 +-0x1.a5fff4p+2 +-0x1.3fd468p+1 +0x1.30d0dep+2 +0x1.4f5a2ap-3 +-0x1.5bebbep-2 +0x1.361b5ap+1 +0x1.83383cp+2 +0x1.288836p+0 +0x1.f199a4p+2 +-0x1.6cf9e6p+3 +-0x1.f5dc6ep-2 +0x1.087fc2p+5 +-0x1.25388cp+4 +-0x1.b99106p+3 +0x1.276b2cp+3 +0x1.c413e6p+0 +-0x1.13fc0ep+1 +-0x1.132c92p+3 +0x1.9af1d6p+2 +-0x1.957762p+3 +-0x1.916b9p+3 +-0x1.369dep+2 +-0x1.5abd38p+3 +-0x1.714bap+1 +0x1.667662p+1 +0x1.8cba48p+2 +0x1.3c207p+3 +0x1.215c04p+4 +-0x1.165954p+3 +0x1.91b882p+3 +0x1.5a42fp+3 +-0x1.f81daep+3 +0x1.2d89d2p+4 +0x1.1b20bcp+3 +-0x1.d57d68p+2 +-0x1.64707ep+2 +-0x1.32f91ep+1 +0x1.e347b6p+1 +-0x1.1d517cp+3 +0x1.3e2284p+4 +-0x1.897324p+3 +0x1.147b54p+2 +0x1.c459bap+1 +-0x1.c8cf76p+2 +0x1.157afcp+3 +0x1.e39ac4p-5 +0x1.78fc0cp+2 +0x1.69b2e4p+2 +-0x1.d7fcdcp+3 +0x1.40d3c8p+8 +0x1.76546cp+2 +0x1.314f6p+2 +-0x1.c06576p+3 +0x1.861332p-5 +0x1.83ee1ep+1 +-0x1.c1e5a8p+1 +-0x1.4c5af2p+4 +-0x1.6ad22p+2 +-0x1.c98616p+2 +-0x1.1254f2p+8 +0x1.be9244p+4 +0x1.226caep+3 +0x1.d6649ep+1 +0x1.b7d4ccp+1 +-0x1.0686cap+3 +-0x1.006dep+2 +-0x1.40a8c4p+0 +-0x1.f46534p+1 +0x1.f414ccp+2 +0x1.558054p+2 +0x1.9ce15ep+2 +-0x1.a67c02p+2 +0x1.bb2334p+3 +0x1.01b534p+6 +0x1.f421cap-1 +0x1.0b37d4p+4 +0x1.0c1ca8p+7 +-0x1.19519cp+0 +0x1.6850bap+1 +-0x1.d5822ap+3 +0x1.5a719p+2 +-0x1.68d604p+2 +-0x1.45bcc8p+3 +-0x1.7422cp+2 +-0x1.241984p+1 +-0x1.0be98ap+4 +0x1.a4cd28p+2 +0x1.2955fcp+3 +0x1.777c8ap+2 +0x1.3f9392p+0 +-0x1.719874p-6 +-0x1.bca608p+4 +0x1.360bp+2 +-0x1.94fdbp+2 +-0x1.503dbcp+3 +-0x1.ba773cp+2 +0x1.20fa98p+3 +-0x1.9c353p+2 +0x1.3fc516p+3 +-0x1.1d00bap+3 +-0x1.661cd8p+3 +-0x1.7b51bp+2 +0x1.8e2b1ap-2 +0x1.f36ebp+3 +-0x1.643f5p+4 +0x1.80b2d2p+2 +-0x1.387e42p+3 +0x1.a97858p+3 +-0x1.5899fcp+2 +0x1.1d6756p+3 +0x1.084ebcp+1 +0x1.49e86p+4 +-0x1.b846aap+0 +-0x1.b61bd2p+2 +-0x1.3017a4p+4 +0x1.26de38p+1 +0x1.350184p+1 +-0x1.a72934p+3 +-0x1.27b1a2p+4 +0x1.764f92p+4 +0x1.227cb6p+2 +0x1.fdb834p+3 +0x1.c1c906p+3 +-0x1.11009p+0 +-0x1.3468d4p+2 +0x1.b1918p+3 +0x1.dfd676p+2 +0x1.038bdcp+1 +-0x1.3eb90ep+1 +-0x1.12daf2p+3 +0x1.51c9cap+2 +-0x1.b4798ap+3 +0x1.4ff31cp+1 +-0x1.85e216p+1 +-0x1.b0d4cap+2 +-0x1.7da2d8p+1 +0x1.47d068p+3 +0x1.50736ap+1 +-0x1.07d7c8p+4 +0x1.185a76p+2 +0x1.ef703ep+3 +-0x1.d7db9ep+3 +-0x1.9bb6cp+1 +-0x1.b0f34ap+7 +-0x1.d981d8p+0 +0x1.b5ed18p-1 +0x1.0009fep+3 +-0x1.be3208p+1 +0x1.b1f824p+0 +-0x1.0dcd04p-1 +0x1.4f2404p+9 +0x1.d3a978p+0 +0x1.65c314p+1 +-0x1.787602p+1 +-0x1.d15958p+1 +-0x1.288188p+3 +-0x1.199688p+4 +-0x1.21614ap+4 +-0x1.cf1378p+1 +-0x1.e4c4e6p+2 +0x1.6b9c2ep+0 +0x1.64652cp+2 +0x1.10f5c8p+3 +0x1.c2861ep+3 +0x1.3d513ap+4 +-0x1.1fcfc2p+2 +0x1.1230cap+3 +0x1.526fa8p+2 +-0x1.302c0cp+0 +-0x1.22a2acp+3 +-0x1.2cfd2p-3 +-0x1.cd2f3cp+4 +0x1.3b251ap+3 +0x1.7223e4p+3 +-0x1.3f6b5p+1 +0x1.8a4ed4p+2 +0x1.df94fep+2 +-0x1.070876p+4 +0x1.84f23ep+1 +-0x1.0ce3dep+3 +-0x1.2aa0bp+1 +-0x1.480ce2p+0 +0x1.3d1bf4p+1 +0x1.05e4fep+2 +-0x1.90615ap+3 +0x1.5951a8p+3 +-0x1.397488p+1 +-0x1.184ce8p+1 +0x1.90621p+1 +0x1.e8d18p+3 +-0x1.2e2e28p+3 +-0x1.9e319ep+2 +0x1.cc3014p+3 +-0x1.9cfa28p+2 +-0x1.5f3eaap+3 +-0x1.84f3aap+3 +-0x1.bce88cp+3 +0x1.3416b8p+1 +-0x1.547e2p+4 +-0x1.058d6cp+3 +-0x1.85e89ep+0 +0x1.42d902p+2 +-0x1.d438cep+1 +-0x1.845488p-1 +-0x1.dbdb48p+0 +0x1.a72924p+1 +0x1.cca6e8p+1 +0x1.130d3p+3 +0x1.fb8fccp-1 +-0x1.f6d9cap+3 +-0x1.23affep+5 +-0x1.5287e8p+3 +0x1.b9ea92p+2 +-0x1.bcab9ap+3 +0x1.85374ap+0 +-0x1.866abap+0 +0x1.273894p+3 +-0x1.c24c2ap-4 +0x1.b77e92p+2 +0x1.0ea942p+3 +0x1.6b4f86p+2 +-0x1.b96706p+2 +-0x1.50ae2ap+1 +-0x1.d6b7e6p+1 +0x1.9348fep+3 +0x1.5014f2p+2 +0x1.ae4e22p+2 +-0x1.f1557ep-2 +-0x1.71871ep+0 +-0x1.63b308p+0 +0x1.3b18c4p+3 +0x1.de5c6ep+3 +0x1.049a66p+3 +0x1.54d3b8p+1 +0x1.46e30cp+2 +0x1.ec958cp+3 +-0x1.7cac7p+4 +0x1.a0920ep+1 +0x1.0ecc08p+3 +-0x1.26dc5ap+2 +0x1.c0645ap+2 +-0x1.dc9fa6p+1 +0x1.3e09c4p+1 +-0x1.fd1218p+2 +-0x1.d94896p+4 +0x1.0f07bp+3 +0x1.10036p+3 +0x1.8d2056p+1 +-0x1.f8fab4p+1 +0x1.ba2106p+2 +-0x1.e707bap-2 +0x1.8073ep+4 +-0x1.15a72p+4 +0x1.0aa928p+2 +-0x1.098ffep-1 +0x1.035c94p+3 +-0x1.6c1d9ep+3 +-0x1.48ea4ep+0 +-0x1.6a8d3ap+1 +0x1.16c74ep+3 +0x1.973d5p+2 +0x1.a6f0fp+1 +-0x1.74a25cp+4 +0x1.9ccc18p+7 +0x1.ac1f8ap+2 +0x1.17282ep+4 +0x1.2438dep+4 +-0x1.5d13e6p+3 +-0x1.814d8ep-4 +-0x1.457a34p+2 +-0x1.19f0fcp+3 +0x1.f28442p+3 +-0x1.1262eep+5 +0x1.31babep+3 +-0x1.7e22cp+4 +0x1.63f3e4p+0 +0x1.be824ap+3 +-0x1.4fd478p+3 +0x1.d10c1p-1 +0x1.012c64p+4 +0x1.d967bap+3 +-0x1.92b3a8p+1 +0x1.4590bap-1 +-0x1.a276a8p+1 +-0x1.9ac3c4p-1 +-0x1.e78712p+2 +0x1.4e7cc6p+0 +0x1.0d90fcp+4 +-0x1.cc5aa6p+2 +0x1.50e42p+3 +0x1.60cfc8p+2 +-0x1.1e0bfp+4 +0x1.78086p+1 +-0x1.58fea8p+3 +-0x1.95cc86p+3 +-0x1.94d364p+1 +-0x1.fb302ap+2 +-0x1.322276p+3 +0x1.01063cp+5 +0x1.782f7ep+3 +-0x1.b1c584p+3 +0x1.1aa402p+3 +-0x1.0a0332p+4 +-0x1.099a52p+3 +-0x1.ef5ed2p+3 +-0x1.fc9d46p+3 +-0x1.8577cp-1 +0x1.d6d58p+2 +0x1.3fccaap+3 +0x1.5c9f88p+3 +0x1.58efe2p+0 +-0x1.0f06c6p+3 +-0x1.25e174p+3 +-0x1.86994ep+3 +-0x1.e01e94p+4 +0x1.85156p+1 +0x1.5d031cp+4 +0x1.e57a1cp+1 +0x1.c2629p+1 +-0x1.67951p+2 +0x1.832994p+2 +0x1.3f0884p+4 +-0x1.1e3e32p+1 +-0x1.786588p+3 +-0x1.e0434p-1 +-0x1.845464p+3 +-0x1.00ea5p+1 +-0x1.e7582ap-3 +-0x1.b77c96p+4 +0x1.9e6222p+3 +-0x1.71f682p+3 +-0x1.2e1188p+3 +0x1.8fedfep+1 +-0x1.0c1d8ap+2 +0x1.abcf0cp+2 +-0x1.7f7c54p+4 +-0x1.37e69p-1 +0x1.0a1f3p+2 +0x1.c0024ep+3 +-0x1.2a17a4p+4 +0x1.cdfd68p+6 +0x1.92217ep+3 +-0x1.c613dep+3 +0x1.51f18ep+2 +0x1.e395dep+1 +0x1.569704p+4 +-0x1.aeacf8p+3 +-0x1.ac69d8p+1 +-0x1.19c29ep+4 +0x1.1db316p-3 +-0x1.3c1178p+0 +-0x1.421dd4p+1 +0x1.7d2dd4p+1 +0x1.fbdaacp+1 +0x1.034cd2p+0 +0x1.765c0ep+2 +0x1.80360cp+3 +0x1.7f91fp+2 +0x1.9c5d7ap+2 +0x1.e0c5b2p+3 +0x1.0f911ep+2 +-0x1.3584dap+3 +-0x1.f7649ep+3 +0x1.5b2a8ap+0 +-0x1.fe1406p-1 +-0x1.fc821ep+2 +0x1.1a2fcp+2 +-0x1.fc37dp+2 +0x1.06a11ep+2 +-0x1.d9d8dcp+2 +0x1.1204e4p+1 +-0x1.7daddp+3 +0x1.431ceap+1 +-0x1.0c046ep+4 +-0x1.183688p-1 +-0x1.6ccec8p+3 +-0x1.8d9612p+1 +0x1.759888p+3 +0x1.e2c4bcp-3 +0x1.f4a1b6p+3 +-0x1.098908p+1 +-0x1.73d2e8p+3 +-0x1.fa77ep+3 +-0x1.05433p+3 +-0x1.217968p+3 +0x1.f7e2ecp+2 +0x1.876de8p+2 +-0x1.02113ap+2 +-0x1.933772p+3 +-0x1.765c62p+2 +-0x1.f05872p+2 +0x1.31b8b8p+3 +0x1.f92e94p+3 +-0x1.6577p+3 +-0x1.7e418p-1 +0x1.0863fcp+4 +0x1.1266f2p+4 +0x1.f7ceb6p+2 +-0x1.7adc1ep+3 +-0x1.b72acep+2 +-0x1.42799cp+0 +0x1.12b708p+3 +0x1.26c43p+3 +0x1.37b6c6p+1 +0x1.9cdf68p+2 +0x1.4e0b2p+0 +-0x1.ef76dcp+2 +0x1.89fe2p+3 +-0x1.ba6e92p+3 +-0x1.101566p+4 +-0x1.8d1406p+2 +0x1.3c321p+4 +-0x1.2da06ap+3 +-0x1.1f309cp+2 +0x1.a1602ap-2 +-0x1.b6151ep+1 +-0x1.0e4b64p+3 +0x1.dd728p+3 +-0x1.69224ap+3 +-0x1.7a81ccp+2 +-0x1.138a1cp+0 +-0x1.091492p+3 +0x1.da7d28p+2 +0x1.96c7ccp+0 +0x1.553f32p+2 +-0x1.c50bd6p-1 +-0x1.21dd94p+2 +0x1.b6c40ep+6 +0x1.601aap+4 +0x1.1f08e8p+0 +0x1.05b5e2p+1 +-0x1.5a88e4p+3 +-0x1.2dfc04p+3 +0x1.202a2ap+0 +0x1.53a548p+1 +0x1.9efc9cp+3 +0x1.e07e84p+2 +0x1.fad874p+2 +0x1.83db4p+1 +0x1.047accp-4 +-0x1.4be03ep+2 +0x1.e639d2p+2 +-0x1.e6a97ap+3 +0x1.5afbaep+4 +-0x1.f1728p+1 +0x1.f006e4p+1 +-0x1.30cc68p+4 +0x1.2fd5a2p-1 +0x1.15ffe6p+2 +-0x1.f1b2b2p+2 +0x1.19aa7cp+1 +0x1.3f6646p+3 +-0x1.2a8f34p+2 +-0x1.8de994p+3 +0x1.e6e1aep+3 +0x1.22eb8ap+3 +0x1.f5fdeep+2 +0x1.36bc74p+3 +0x1.529e3ap+3 +-0x1.4ee716p+3 +-0x1.1a4f42p+2 +-0x1.907ffp+3 +0x1.b3d03ep+2 +0x1.4aa876p+3 +-0x1.c81d4ep+3 +0x1.504558p+3 +-0x1.8c1492p+3 +-0x1.fed67ap+0 +0x1.c0d5eep+1 +-0x1.bc6244p+1 +0x1.0853fp+3 +-0x1.fa5b24p+3 +-0x1.89202ap+2 +0x1.98729cp+3 +0x1.31636ep+2 +-0x1.4e531p-1 +0x1.914c7p+3 +-0x1.53626p+4 +-0x1.63977ep+8 +-0x1.b9824ep+3 +-0x1.81366cp+3 +0x1.d57e26p+0 +-0x1.3a6112p+1 +0x1.0b30dap+4 +-0x1.219832p+3 +0x1.f2a094p+1 +0x1.f2705ep+2 +0x1.1579e2p+3 +-0x1.067c62p+2 +-0x1.61ac44p+1 +0x1.6bb34p+2 +-0x1.984dcp+3 +-0x1.b4a3d2p+3 +-0x1.3a7c3ap+3 +-0x1.eebe9ep-6 +0x1.122bc2p+2 +-0x1.d382a8p+1 +-0x1.7dd53ep+3 +0x1.6783dep+3 +0x1.02cb9cp+4 +-0x1.30e6e2p+3 +-0x1.69771cp+7 +0x1.085fd2p-2 +0x1.3027a2p-4 +-0x1.c40f1cp-1 +0x1.7e58d8p+5 +-0x1.03ad5p+4 +-0x1.6c86f4p+3 +0x1.6a32d6p+2 +0x1.bc97cep+2 +0x1.5fe22ap+1 +0x1.0cdf88p+3 +-0x1.0bfcdap+3 +0x1.829592p+3 +-0x1.422816p+2 +0x1.b051d2p+2 +0x1.612b58p+4 +-0x1.b5168p+0 +-0x1.d96adep+0 +-0x1.cd7e26p+3 +-0x1.de0faap+2 +-0x1.f52f28p+2 +0x1.194384p+3 +0x1.24ccd6p+3 +0x1.0c97b8p+4 +0x1.b4b66ep+6 +-0x1.9ef038p+2 +-0x1.50504cp+2 +-0x1.5f4a5cp+3 +-0x1.29bb16p+3 +0x1.a12a7ap+8 +-0x1.62d33p+3 +-0x1.a8aefp+2 +0x1.b82958p+3 +0x1.66f7fcp+3 +0x1.e2c50ep+1 +0x1.58fd7ep+1 +-0x1.d41d04p+6 +-0x1.d311dcp+2 +0x1.dd2eb4p+3 +0x1.7a3abcp+3 +-0x1.4c9fa8p+3 +0x1.254862p+3 +-0x1.4b8fdep+2 +0x1.660028p+4 +0x1.556cep+6 +-0x1.4fec32p+3 +-0x1.e18c52p+0 +-0x1.7c788cp-2 +-0x1.9e2812p+3 +0x1.b83ee8p+2 +-0x1.1bc13p+4 +-0x1.205c56p+2 +-0x1.3c462p+3 +-0x1.d7cf38p+3 +-0x1.b059c4p+7 +-0x1.adc0a8p+1 +0x1.1270dp+4 +-0x1.fca75ap+2 +0x1.5180b6p-1 +-0x1.4537dp+3 +0x1.ecbdfp+1 +-0x1.c542dp+1 +0x1.1b3dcep+2 +-0x1.854b64p+3 +0x1.483f3ap+2 +-0x1.67476ap+2 +-0x1.e0b9e2p+3 +0x1.9eedbap+1 +0x1.36fd72p+4 +-0x1.66cfa2p+4 +0x1.c84d46p+1 +-0x1.1119b4p+4 +0x1.fa24dcp-2 +-0x1.2a470ep+3 +0x1.40f3f2p+2 +-0x1.48660ap+0 +0x1.b602f2p+3 +0x1.116c7cp+3 +0x1.2952aap+2 +0x1.3b3802p+3 +0x1.09812p+2 +-0x1.55d7p+3 +-0x1.5c5efap+2 +0x1.9fdfep+0 +-0x1.7643eep+2 +-0x1.3a0cecp+5 +-0x1.032c7p+1 +-0x1.deef46p+2 +-0x1.8e7e2ap+1 +-0x1.936cfp+2 +-0x1.2feed6p+4 +-0x1.f17248p-3 +-0x1.df90b6p+1 +0x1.36fbcap+3 +0x1.055f6p+4 +0x1.a74786p-1 +-0x1.6f32d2p+3 +-0x1.6fe08p+3 +-0x1.0b1848p+3 +0x1.71b9bap+0 +0x1.171288p+2 +0x1.0b7e26p+3 +0x1.cffc9ap-1 +0x1.e28f8p+2 +-0x1.1bccf4p+4 +0x1.f551a8p+0 +0x1.1faecap+3 +-0x1.48f22cp+3 +0x1.caf0c6p+3 +0x1.669c8ap+4 +0x1.b2f9aep+2 +0x1.22b476p-2 +-0x1.67d9fep+3 +-0x1.a75e6cp+3 +-0x1.0d09f8p+2 +-0x1.36ad16p+4 +0x1.792438p+2 +0x1.180e96p+1 +0x1.60b64cp+4 +-0x1.fdd03ep+3 +-0x1.8950ap+1 +0x1.b01fap-1 +0x1.72898ep+4 +0x1.a06bc2p+3 +-0x1.6b40aap+3 +-0x1.5b46d8p+3 +-0x1.59fd22p-2 +-0x1.23900cp+4 +0x1.fde842p+1 +0x1.6b3b52p+3 +0x1.44eaeep+2 +0x1.09906p+2 +0x1.63ff4cp+0 +-0x1.3a3e48p+1 +-0x1.9736ep+0 +-0x1.1a6ad2p-1 +0x1.3078e8p+2 +0x1.0b7006p+2 +-0x1.f38c18p+3 +-0x1.cce016p+1 +-0x1.64bb7p+4 +0x1.3a94b2p+1 +-0x1.769a5p+1 +0x1.1c8e48p+2 +0x1.b1653cp+3 +-0x1.ee4e1cp+1 +0x1.2f58p+0 +-0x1.cc0514p+5 +0x1.721faap+3 +-0x1.61800cp-1 +-0x1.3bc482p+1 +-0x1.5b33d8p-3 +-0x1.1b2f8ap+3 +-0x1.d07f76p+0 +0x1.07ebf8p+4 +0x1.bf9ef4p-5 +0x1.4247a2p+3 +0x1.9b6022p+2 +-0x1.e9b8e8p+0 +0x1.7fde42p-7 +0x1.f19c74p+2 +0x1.2c7902p+2 +0x1.cabd24p+1 +0x1.d59288p+3 +-0x1.0073bp+2 +0x1.796808p+3 +0x1.35c5p+1 +-0x1.3afcd4p+0 +-0x1.56f52cp+2 +-0x1.0a57a8p+2 +-0x1.464c24p+3 +-0x1.522526p+4 +0x1.5a2fccp-4 +0x1.e44e74p+3 +-0x1.081feep+3 +0x1.22772p+0 +0x1.d89e8cp+2 +0x1.b34ac4p+3 +0x1.097ed4p+4 +0x1.a3969cp+0 +0x1.a7a3b8p+3 +0x1.cab696p+1 +0x1.302978p+3 +-0x1.5a8c0ep+2 +0x1.d17f5ap+3 +0x1.60384ap+2 +-0x1.317294p+7 +0x1.ce9c32p+1 +-0x1.3cc7d2p+2 +-0x1.24081p+2 +0x1.64866ap+2 +0x1.b30dp+3 +-0x1.e1e4ep+0 +0x1.2d2fb4p+1 +-0x1.7794p+4 +0x1.7e5db2p+4 +-0x1.b2660ep+2 +0x1.0bcee2p+3 +0x1.5ce388p+2 +0x1.1030fcp-4 +-0x1.018716p+3 +-0x1.5c80eap+2 +-0x1.b0860ep+3 +-0x1.4ff664p+4 +-0x1.25b456p+3 +-0x1.46c95ap+3 +-0x1.2c5d5ep+2 +0x1.52c1fcp+2 +0x1.df8cf4p+2 +0x1.3cbb8ep+2 +-0x1.3aacdp+4 +-0x1.cb1632p+1 +-0x1.0250f2p+4 +0x1.4152eep+7 +-0x1.aed7e4p+1 +-0x1.e8c7c8p+2 +0x1.13ca16p+3 +0x1.e7c5ep+2 +-0x1.950d7ap+2 +0x1.0355cap+2 +-0x1.17c0e8p+3 +0x1.bedf2p+0 +-0x1.f383e4p+3 +0x1.58804ep+3 +0x1.0595d4p+2 +-0x1.6bfcbp+3 +-0x1.9f3236p+0 +-0x1.283b36p+3 +0x1.17a3dap+4 +-0x1.e9ac68p+1 +-0x1.6430bp+5 +0x1.98ec62p+2 +0x1.f6dcp+3 +0x1.6cdb74p+2 +-0x1.20fccep+2 +-0x1.449b58p+4 +-0x1.addf84p+1 +0x1.9ac6c6p+3 +0x1.0602b8p+3 +0x1.5718a8p+3 +-0x1.451756p+3 +-0x1.193cb2p+1 +-0x1.a81cc2p+3 +-0x1.6b1ea4p+2 +-0x1.b8e9bap+3 +-0x1.c7222p+2 +-0x1.2f599ep+3 +0x1.41844ap-1 +-0x1.53fd76p+2 +-0x1.1bf69cp+3 +-0x1.0f95e4p-1 +0x1.ad2346p+0 +0x1.7ed2c4p+3 +-0x1.05f6a8p+2 +0x1.00636p+4 +-0x1.55ce3cp+3 +0x1.5359e4p+2 +-0x1.c7068ep+2 +-0x1.014012p+2 +0x1.0fa846p+4 +0x1.66f6ccp+1 +-0x1.368p+3 +-0x1.5cffcp+2 +-0x1.c5f12cp+2 +-0x1.5e9668p+3 +0x1.08bfbp+2 +0x1.e6d02cp+2 +-0x1.503e8ap-2 +-0x1.a160a8p+2 +0x1.a6087ap+2 +0x1.5a47acp+0 +-0x1.b43d88p+3 +0x1.d75cdp+0 +0x1.44e196p+3 +-0x1.5eb5fep+2 +0x1.10fc36p+1 +-0x1.f5e5fap+2 +-0x1.ebc3aep+2 +0x1.b2dc64p+4 +-0x1.4cf4a2p+3 +0x1.005904p+0 +-0x1.a7b4bap+2 +0x1.8bade6p+1 +0x1.7a4c04p+0 +0x1.2f476cp+4 +0x1.fad692p+3 +-0x1.79e4f8p+2 +0x1.39c514p+2 +0x1.138e7p+3 +0x1.72b33ep+3 +0x1.8962d8p+2 +0x1.406b92p+3 +-0x1.41f3dp+1 +-0x1.5bfcdep-2 +-0x1.1037ccp+2 +-0x1.abef8ap+1 +-0x1.beed4p+3 +-0x1.e6f3c6p-3 +-0x1.cfbc14p+3 +-0x1.27e79cp+2 +-0x1.1ae052p+2 +-0x1.0fca6ap+9 +-0x1.7b3e88p+3 +-0x1.2d16d4p+2 +-0x1.cb6a92p+1 +-0x1.21920ap+7 +0x1.4a37cep-1 +-0x1.05b558p+2 +-0x1.ac8e2cp+2 +-0x1.512e68p+2 +-0x1.13d132p+3 +-0x1.0a17b4p+1 +-0x1.4a6ae4p+1 +0x1.42b844p+0 +0x1.7c7ce2p+4 +0x1.32b04ep+4 +0x1.2fb6fcp+3 +0x1.54f186p+6 +0x1.30231cp+1 +0x1.a9691cp+2 +-0x1.11ae8ap+3 +-0x1.c2f9c6p+0 +0x1.dffb96p-1 +0x1.08017ep+4 +0x1.4df32ep+5 +0x1.940246p+3 +0x1.c2656ep+4 +0x1.99175cp+2 +-0x1.c3ad18p+1 +-0x1.1a673ap+4 +0x1.77ce96p+3 +-0x1.b5b302p+1 +-0x1.f76fa8p+2 +0x1.fdef4ep+1 +0x1.72371p+2 +0x1.7a24ecp-4 +-0x1.2d06d4p+0 +-0x1.fb2d2p+0 +0x1.bf813ep+3 +0x1.79a502p-1 +-0x1.cd2466p+0 +-0x1.23497p+3 +-0x1.195bbep+2 +0x1.b6962ep+1 +-0x1.2a9ffcp+2 +-0x1.85a09ep+2 +0x1.738d4p+2 +0x1.045a56p+3 +-0x1.6059cep+2 +-0x1.5ae988p+3 +0x1.460dacp+3 +0x1.0a17e2p+1 +0x1.dffac4p+2 +-0x1.b85402p+1 +0x1.018b74p+4 +0x1.4d7306p+0 +-0x1.7af6fp+3 +0x1.431bf8p-3 +0x1.962442p+3 +-0x1.2ea6dep+4 +-0x1.732368p+2 +-0x1.d0288cp+2 +-0x1.54d27p+3 +0x1.7fb7ap-2 +0x1.3c3b2p+0 +0x1.fd2cdcp+1 +0x1.64db02p+3 +-0x1.9ffb8ep+1 +-0x1.b45644p+2 +-0x1.7119dp+1 +0x1.df4136p+3 +-0x1.6f61aep+4 +0x1.756248p+2 +-0x1.11a29ap+1 +-0x1.c71a4ap+0 +-0x1.215054p+2 +0x1.49dcccp+4 +-0x1.1ab70ep+4 +-0x1.ed2d34p+0 +0x1.0ae86ap+2 +0x1.10327p+3 +0x1.b50f68p+2 +-0x1.0cc36ap+3 +0x1.a31b08p+2 +-0x1.ea01c2p+0 +-0x1.e9994ep+3 +-0x1.5a1282p+2 +0x1.99b03cp+1 +-0x1.75c29ap+3 +-0x1.daf9dp-2 +-0x1.4f2cdep+3 +-0x1.5ad51cp+2 +-0x1.d9754p+0 +0x1.1b529ep+4 +0x1.e4cdc2p+3 +0x1.41d348p+4 +-0x1.6a97bap+0 +0x1.69df0ep+3 +-0x1.20735ap+2 +0x1.201278p+2 +0x1.aae504p+2 +-0x1.ed5e34p+3 +-0x1.e0be58p+0 +-0x1.e8d3fep+6 +0x1.7c6546p+4 +0x1.35fa12p+3 +-0x1.b1b9dcp+3 +0x1.65c0aep+3 +-0x1.d68422p+3 +0x1.752c56p+1 +-0x1.5c123p+3 +-0x1.6b262ep-3 +-0x1.2172a8p+2 +0x1.1048bap+3 +0x1.9824p+1 +0x1.5f51cp+2 +0x1.6e4c66p+0 +0x1.d89674p+2 +-0x1.20e0bap-2 +-0x1.684a0ap+3 +-0x1.6c94b4p+4 +0x1.fbca4ap+2 +-0x1.2d169cp+3 +0x1.a0fc8ep+3 +-0x1.13bc7p+2 +0x1.2dbea6p+3 +0x1.3b74d8p+0 +-0x1.439318p+4 +-0x1.5877dcp+2 +0x1.f7d12ap+6 +0x1.b5c594p+2 +-0x1.230e7ep+8 +-0x1.5fe50cp+3 +0x1.5fb058p+2 +0x1.a76e88p+3 +0x1.53dfep+3 +0x1.3551cp+2 +0x1.684c92p+0 +0x1.f4e2f2p+3 +-0x1.84c6d8p+2 +-0x1.0fa904p+4 +0x1.300ep+4 +-0x1.8b818ep+3 +-0x1.17ee4ap+3 +0x1.83426ap+3 +0x1.452b8p+3 +-0x1.b8ee12p+2 +0x1.443426p+2 +0x1.df807cp+1 +-0x1.cb8376p+3 +-0x1.e56946p+3 +-0x1.571e0ap+1 +0x1.a03d54p+3 +-0x1.649eccp+3 +0x1.c52b22p+2 +0x1.ab7ee8p+2 +-0x1.89db6cp+0 +0x1.870468p-3 +-0x1.b852bcp-2 +-0x1.e0cb22p+2 +0x1.8dc1c4p+8 +-0x1.6724f4p+2 +0x1.24947p+1 +-0x1.0857dap+0 +0x1.dd7318p+2 +0x1.ca6222p+0 +-0x1.55fa3ep+3 +0x1.588bfp+2 +0x1.306422p+4 +-0x1.ec0ad4p+2 +-0x1.549242p+3 +-0x1.3ce69cp+3 +-0x1.382d42p+4 +-0x1.ab3002p+3 +0x1.57a8d8p+1 +0x1.2036fp+2 +0x1.5ccab2p+3 +0x1.f4ca7cp+2 +0x1.eb34e2p+1 +-0x1.51d32cp-1 +-0x1.007426p+2 +-0x1.3b7da4p+3 +0x1.90fc0ap-3 +0x1.14e998p+4 +0x1.a2cbc8p+3 +-0x1.e7c818p+0 +-0x1.2a9802p-3 +0x1.5b6514p+3 +-0x1.069eccp+4 +0x1.7ca738p+4 +-0x1.8896b8p+2 +-0x1.e5807ap+2 +-0x1.498c8ap+2 +-0x1.bdb48cp+3 +-0x1.1241dep+2 +0x1.0a3768p+3 +0x1.f36a7ap+2 +-0x1.46691p+2 +-0x1.3e438ep+3 +0x1.d58686p+6 +-0x1.04ea12p+4 +-0x1.349cb6p+7 +-0x1.ea2e06p+3 +0x1.540e7p+0 +-0x1.e3c488p+3 +-0x1.7f59cap+0 +0x1.68fe0ap+3 +0x1.10b5a4p+2 +0x1.7ea744p+2 +-0x1.267622p+4 +-0x1.2390e4p+8 +-0x1.3101acp+3 +-0x1.7248bp+1 +-0x1.9824fcp+0 +-0x1.4bd76cp+3 +0x1.cb99d6p-1 +-0x1.c026dcp-4 +-0x1.5e0b04p+3 +-0x1.eaeab6p+2 +-0x1.6ba2a4p+0 +0x1.20f5c8p-2 +0x1.3eedc2p+2 +-0x1.3069acp+3 +-0x1.055766p+4 +0x1.f8aa3ep+2 +-0x1.70aa1cp+3 +-0x1.e8a2c8p+3 +0x1.7edfd8p+3 +0x1.65b56p+2 +-0x1.6c8ed2p+2 +-0x1.6e2d96p+2 +-0x1.9dfe76p+0 +0x1.5c76aap+2 From patchwork Wed Nov 24 19:37:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48086 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4BA62385801A for ; Wed, 24 Nov 2021 20:00:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4BA62385801A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637784022; bh=OStRjomILW9qw95BJqdtR63mt6v6UMVK+tTXtA1KyeE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=HkwnD1DXRvQCad0Q8Mn7tElvuVuGTkJ3h/CjkIA/0TCprqEPYYtXU8r51WO0ClU77 QS524uQtpZjRMq5M8Q58GtaJQZiTEct4lNQVNQHQC7yydt6+2y4jKkI2+fVOj1FCGB hV7wMzFb3riSNe5Xdl22f2wifuT2aeO21EWeagJU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 744B73858023 for ; Wed, 24 Nov 2021 19:38:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 744B73858023 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="216066702" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="216066702" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="674978903" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga005.jf.intel.com with ESMTP; 24 Nov 2021 11:38:11 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7X4021555; Wed, 24 Nov 2021 11:38:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 17/42] x86-64: Add vector cosh/coshf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:42 -0800 Message-Id: <20211124193807.2093208-18-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized cosh/coshf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector cosh/coshf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_cosh2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_cosh2_core.c | 27 + .../fpu/multiarch/svml_d_cosh2_core_sse4.S | 2491 +++++++++++++++++ .../fpu/multiarch/svml_d_cosh4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_cosh4_core.c | 27 + .../fpu/multiarch/svml_d_cosh4_core_avx2.S | 2250 +++++++++++++++ .../fpu/multiarch/svml_d_cosh8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_cosh8_core.c | 27 + .../fpu/multiarch/svml_d_cosh8_core_avx512.S | 1694 +++++++++++ .../fpu/multiarch/svml_s_coshf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_coshf16_core.c | 28 + .../multiarch/svml_s_coshf16_core_avx512.S | 1190 ++++++++ .../fpu/multiarch/svml_s_coshf4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_coshf4_core.c | 28 + .../fpu/multiarch/svml_s_coshf4_core_sse4.S | 2104 ++++++++++++++ .../fpu/multiarch/svml_s_coshf8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_coshf8_core.c | 28 + .../fpu/multiarch/svml_s_coshf8_core_avx2.S | 1803 ++++++++++++ sysdeps/x86_64/fpu/svml_d_cosh2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_cosh4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_cosh4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_cosh8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_coshf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_coshf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_coshf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_coshf8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-cosh-avx.c | 1 + .../fpu/test-double-libmvec-cosh-avx2.c | 1 + .../fpu/test-double-libmvec-cosh-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-cosh.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-coshf-avx.c | 1 + .../fpu/test-float-libmvec-coshf-avx2.c | 1 + .../fpu/test-float-libmvec-coshf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-coshf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 12100 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_cosh2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_cosh4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_cosh4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_cosh8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_coshf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_coshf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_coshf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_coshf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-cosh.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-coshf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index b282298fe3..f028b18620 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -186,4 +186,15 @@ #define __DECL_SIMD_cbrtf32x #define __DECL_SIMD_cbrtf64x #define __DECL_SIMD_cbrtf128x + +#define __DECL_SIMD_cosh +#define __DECL_SIMD_coshf +#define __DECL_SIMD_coshl +#define __DECL_SIMD_coshf16 +#define __DECL_SIMD_coshf32 +#define __DECL_SIMD_coshf64 +#define __DECL_SIMD_coshf128 +#define __DECL_SIMD_coshf32x +#define __DECL_SIMD_coshf64x +#define __DECL_SIMD_coshf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 180e81e678..bc5a81b365 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -68,7 +68,7 @@ __MATHCALL (tan,, (_Mdouble_ __x)); /* Hyperbolic functions. */ /* Hyperbolic cosine of X. */ -__MATHCALL (cosh,, (_Mdouble_ __x)); +__MATHCALL_VEC (cosh,, (_Mdouble_ __x)); /* Hyperbolic sine of X. */ __MATHCALL (sinh,, (_Mdouble_ __x)); /* Hyperbolic tangent of X. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 1cf8e91ffb..4b5753146e 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -53,6 +53,7 @@ GLIBC_2.35 _ZGVbN2v_asinh F GLIBC_2.35 _ZGVbN2v_atan F GLIBC_2.35 _ZGVbN2v_atanh F GLIBC_2.35 _ZGVbN2v_cbrt F +GLIBC_2.35 _ZGVbN2v_cosh F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F @@ -61,6 +62,7 @@ GLIBC_2.35 _ZGVbN4v_asinhf F GLIBC_2.35 _ZGVbN4v_atanf F GLIBC_2.35 _ZGVbN4v_atanhf F GLIBC_2.35 _ZGVbN4v_cbrtf F +GLIBC_2.35 _ZGVbN4v_coshf F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F @@ -69,6 +71,7 @@ GLIBC_2.35 _ZGVcN4v_asinh F GLIBC_2.35 _ZGVcN4v_atan F GLIBC_2.35 _ZGVcN4v_atanh F GLIBC_2.35 _ZGVcN4v_cbrt F +GLIBC_2.35 _ZGVcN4v_cosh F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F @@ -77,6 +80,7 @@ GLIBC_2.35 _ZGVcN8v_asinhf F GLIBC_2.35 _ZGVcN8v_atanf F GLIBC_2.35 _ZGVcN8v_atanhf F GLIBC_2.35 _ZGVcN8v_cbrtf F +GLIBC_2.35 _ZGVcN8v_coshf F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F @@ -85,6 +89,7 @@ GLIBC_2.35 _ZGVdN4v_asinh F GLIBC_2.35 _ZGVdN4v_atan F GLIBC_2.35 _ZGVdN4v_atanh F GLIBC_2.35 _ZGVdN4v_cbrt F +GLIBC_2.35 _ZGVdN4v_cosh F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F @@ -93,6 +98,7 @@ GLIBC_2.35 _ZGVdN8v_asinhf F GLIBC_2.35 _ZGVdN8v_atanf F GLIBC_2.35 _ZGVdN8v_atanhf F GLIBC_2.35 _ZGVdN8v_cbrtf F +GLIBC_2.35 _ZGVdN8v_coshf F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F @@ -101,6 +107,7 @@ GLIBC_2.35 _ZGVeN16v_asinhf F GLIBC_2.35 _ZGVeN16v_atanf F GLIBC_2.35 _ZGVeN16v_atanhf F GLIBC_2.35 _ZGVeN16v_cbrtf F +GLIBC_2.35 _ZGVeN16v_coshf F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F @@ -109,4 +116,5 @@ GLIBC_2.35 _ZGVeN8v_asinh F GLIBC_2.35 _ZGVeN8v_atan F GLIBC_2.35 _ZGVeN8v_atanh F GLIBC_2.35 _ZGVeN8v_cbrt F +GLIBC_2.35 _ZGVeN8v_cosh F GLIBC_2.35 _ZGVeN8vv_atan2 F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index 5b0a2d9efe..a8465a23a7 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -90,6 +90,10 @@ # define __DECL_SIMD_cbrt __DECL_SIMD_x86_64 # undef __DECL_SIMD_cbrtf # define __DECL_SIMD_cbrtf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cosh +# define __DECL_SIMD_cosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_coshf +# define __DECL_SIMD_coshf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 398a112dab..a0dc2914e6 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -31,6 +31,7 @@ libmvec-funcs = \ atanh \ cbrt \ cos \ + cosh \ exp \ log \ pow \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 45baab6b6e..82b5723aca 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -21,6 +21,7 @@ libmvec { _ZGVbN2v_atan; _ZGVcN4v_atan; _ZGVdN4v_atan; _ZGVeN8v_atan; _ZGVbN2v_atanh; _ZGVcN4v_atanh; _ZGVdN4v_atanh; _ZGVeN8v_atanh; _ZGVbN2v_cbrt; _ZGVcN4v_cbrt; _ZGVdN4v_cbrt; _ZGVeN8v_cbrt; + _ZGVbN2v_cosh; _ZGVcN4v_cosh; _ZGVdN4v_cosh; _ZGVeN8v_cosh; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; @@ -29,6 +30,7 @@ libmvec { _ZGVbN4v_atanf; _ZGVcN8v_atanf; _ZGVdN8v_atanf; _ZGVeN16v_atanf; _ZGVbN4v_atanhf; _ZGVcN8v_atanhf; _ZGVdN8v_atanhf; _ZGVeN16v_atanhf; _ZGVbN4v_cbrtf; _ZGVcN8v_cbrtf; _ZGVdN8v_cbrtf; _ZGVeN16v_cbrtf; + _ZGVbN4v_coshf; _ZGVcN8v_coshf; _ZGVdN8v_coshf; _ZGVeN16v_coshf; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 8b681ed441..d9296ac12e 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -988,6 +988,26 @@ float: 2 float128: 3 ldouble: 3 +Function: "cosh_vlen16": +float: 1 + +Function: "cosh_vlen2": +double: 1 + +Function: "cosh_vlen4": +double: 1 +float: 1 + +Function: "cosh_vlen4_avx2": +double: 1 + +Function: "cosh_vlen8": +double: 1 +float: 1 + +Function: "cosh_vlen8_avx2": +float: 1 + Function: Real part of "cpow": double: 2 float: 5 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core-sse2.S new file mode 100644 index 0000000000..bfe4e3d0f0 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized cosh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_cosh _ZGVbN2v_cosh_sse2 +#include "../svml_d_cosh2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core.c new file mode 100644 index 0000000000..99561fea47 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized cosh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_cosh +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_cosh, __GI__ZGVbN2v_cosh, __redirect__ZGVbN2v_cosh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core_sse4.S new file mode 100644 index 0000000000..b998007e68 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core_sse4.S @@ -0,0 +1,2491 @@ +/* Function cosh vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute cosh(x) as (exp(x)+exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * cosh(NaN) = quiet NaN, and raise invalid exception + * cosh(INF) = that INF + * cosh(0) = 1 + * cosh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_cosh_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm5 + movups 3648+__svml_dcosh_data_internal(%rip), %xmm1 + lea 896+__svml_dcosh_data_internal(%rip), %rax + +/* Abs argument */ + movaps %xmm1, %xmm4 + +/* dXSign=0x001000000000 */ + psrlq $11, %xmm1 + +/* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + movups 3008+__svml_dcosh_data_internal(%rip), %xmm2 + andnps %xmm5, %xmm4 + mulpd %xmm4, %xmm2 + movups 3200+__svml_dcosh_data_internal(%rip), %xmm3 + addpd %xmm3, %xmm2 + movq 3712+__svml_dcosh_data_internal(%rip), %xmm0 + +/* + * Check for overflow\underflow + * + */ + pshufd $221, %xmm4, %xmm7 + movq 3264+__svml_dcosh_data_internal(%rip), %xmm6 + pcmpgtd %xmm0, %xmm7 + +/* Index and lookup */ + pshufd $136, %xmm2, %xmm0 + movmskps %xmm7, %edx + pand %xmm6, %xmm0 + +/* + * trick + * 256=-iIndex + */ + movq 3520+__svml_dcosh_data_internal(%rip), %xmm7 + +/* iIndex*=3 */ + movdqa %xmm0, %xmm6 + psubd %xmm0, %xmm7 + pslld $3, %xmm6 + +/* iDomainRange*=3 */ + pslld $3, %xmm7 + movd %xmm7, %r9d + pshufd $1, %xmm7, %xmm7 + movd %xmm7, %r10d + +/* + * R + * dN = dM - RShifter + */ + movaps %xmm2, %xmm7 + movd %xmm6, %ecx + +/* + * G1,G2,G3: dTdif,dTn * 2^N,2^(-N) + * NB: copied from sinh_la - to be optimized!!!!! + */ + psllq $44, %xmm2 + pshufd $1, %xmm6, %xmm6 + +/* lM now is an EXP(2^N) */ + pand 3584+__svml_dcosh_data_internal(%rip), %xmm2 + subpd %xmm3, %xmm7 + movd %xmm6, %r8d + +/* dR = dX - dN*Log2_hi/2^K */ + movups 3072+__svml_dcosh_data_internal(%rip), %xmm3 + mulpd %xmm7, %xmm3 + subpd %xmm3, %xmm4 + +/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ + movups 3136+__svml_dcosh_data_internal(%rip), %xmm3 + mulpd %xmm7, %xmm3 + subpd %xmm3, %xmm4 + +/* dR2 = dR^2 */ + movaps %xmm4, %xmm3 + mulpd %xmm4, %xmm3 + movslq %ecx, %rcx + movslq %r9d, %r9 + movslq %r8d, %r8 + movslq %r10d, %r10 + movsd (%rax,%rcx), %xmm0 + movsd (%rax,%r9), %xmm6 + movhpd (%rax,%r8), %xmm0 + movhpd (%rax,%r10), %xmm6 + paddq %xmm2, %xmm0 + +/* */ + psubq %xmm2, %xmm6 + +/* + * sinh(r) = r +r*r^2*a3 .... + * dSinh_r = r^2*a3 + */ + movups 3392+__svml_dcosh_data_internal(%rip), %xmm2 + mulpd %xmm3, %xmm2 + +/* lX- = EXP(1/2) */ + psubq %xmm1, %xmm6 + +/* dSinh_r = r + r*r^2*a3 */ + mulpd %xmm4, %xmm2 + +/* dTn = dTn*2^N - dTn*2^-N */ + movaps %xmm0, %xmm1 + subpd %xmm6, %xmm1 + addpd %xmm2, %xmm4 + +/* dTp = dTn*2^N + dTn*2^-N */ + addpd %xmm6, %xmm0 + mulpd %xmm4, %xmm1 + +/* poly(r) = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + movups 3456+__svml_dcosh_data_internal(%rip), %xmm4 + mulpd %xmm3, %xmm4 + addpd 3328+__svml_dcosh_data_internal(%rip), %xmm4 + mulpd %xmm4, %xmm3 + +/* dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + mulpd %xmm0, %xmm3 + addpd %xmm3, %xmm1 + +/* _VRES1 = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + addpd %xmm1, %xmm0 + andl $3, %edx + +/* Ret H */ + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm5, 192(%rsp) + movups %xmm0, 256(%rsp) + je .LBL_1_2 + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,8), %rdi + lea 256(%rsp,%r12,8), %rsi + call __svml_dcosh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_cosh_sse4) + + .align 16,0x90 + +__svml_dcosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dcosh_cout_rare_internal,@function + .size __svml_dcosh_cout_rare_internal,.-__svml_dcosh_cout_rare_internal + + .section .rodata, "a" + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 15 + .long 0 + .long 15 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4 + .long 1071644672 + .long 4 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431655747 + .long 1069897045 + .long 1431655747 + .long 1069897045 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1430802231 + .long 1067799893 + .long 1430802231 + .long 1067799893 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 287861260 + .long 1065423121 + .long 287861260 + .long 1065423121 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3658019094 + .long 1062650243 + .long 3658019094 + .long 1062650243 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1993999322 + .long 1059717517 + .long 1993999322 + .long 1059717517 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277927936 + .long 1072049730 + .long 4277927936 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2825664665 + .long 3182190860 + .long 2825664665 + .long 3182190860 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1119354880 + .long 0 + .long 1119354880 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 255 + .long 255 + .long 255 + .long 255 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1887518228 + .long 1069897045 + .long 1887518228 + .long 1069897045 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 256 + .long 256 + .long 256 + .long 256 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core-sse.S new file mode 100644 index 0000000000..4410d34583 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized cosh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_cosh _ZGVdN4v_cosh_sse_wrapper +#include "../svml_d_cosh4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core.c new file mode 100644 index 0000000000..c4f59206a9 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized cosh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_cosh +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_cosh, __GI__ZGVdN4v_cosh, __redirect__ZGVdN4v_cosh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core_avx2.S new file mode 100644 index 0000000000..f511255a04 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core_avx2.S @@ -0,0 +1,2250 @@ +/* Function cosh vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute cosh(x) as (exp(x)+exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * cosh(NaN) = quiet NaN, and raise invalid exception + * cosh(INF) = that INF + * cosh(0) = 1 + * cosh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_cosh_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea 896+__svml_dcosh_data_internal(%rip), %rax + vmovupd 3648+__svml_dcosh_data_internal(%rip), %ymm5 + vmovupd 3200+__svml_dcosh_data_internal(%rip), %ymm6 + +/* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + vmovupd 3008+__svml_dcosh_data_internal(%rip), %ymm3 + vmovups %ymm9, 96(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + +/* + * trick + * 256=-iIndex + */ + vmovups 3520+__svml_dcosh_data_internal(%rip), %xmm11 + vmovups %ymm13, 256(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm15, 320(%rsp) + vmovapd %ymm0, %ymm7 + +/* Abs argument */ + vandnpd %ymm7, %ymm5, %ymm4 + vfmadd213pd %ymm6, %ymm4, %ymm3 + +/* dXSign=0x001000000000 */ + vpsrlq $11, %ymm5, %ymm5 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +/* Index and lookup */ + vextractf128 $1, %ymm3, %xmm9 + +/* + * R + * dN = dM - RShifter + */ + vsubpd %ymm6, %ymm3, %ymm6 + vshufps $136, %xmm9, %xmm3, %xmm10 + vpand 3264+__svml_dcosh_data_internal(%rip), %xmm10, %xmm12 + +/* iIndex*=3 */ + vpslld $3, %xmm12, %xmm0 + vpsubd %xmm12, %xmm11, %xmm13 + vmovd %xmm0, %ecx + +/* + * G1,G2,G3: dTdif,dTn * 2^N,2^(-N) + * NB: copied from sinh_la - to be optimized!!!!! + */ + vpsllq $44, %ymm3, %ymm3 + movslq %ecx, %rcx + vpextrd $1, %xmm0, %r8d + movslq %r8d, %r8 + vpextrd $2, %xmm0, %r9d + movslq %r9d, %r9 + vmovsd (%rax,%rcx), %xmm14 + vmovhpd (%rax,%r8), %xmm14, %xmm15 + vpextrd $3, %xmm0, %r10d + movslq %r10d, %r10 + +/* + * Check for overflow\underflow + * + */ + vextractf128 $1, %ymm4, %xmm1 + vshufps $221, %xmm1, %xmm4, %xmm2 + +/* dR = dX - dN*Log2_hi/2^K */ + vfnmadd231pd 3072+__svml_dcosh_data_internal(%rip), %ymm6, %ymm4 + vpcmpgtd 3712+__svml_dcosh_data_internal(%rip), %xmm2, %xmm8 + +/* iDomainRange*=3 */ + vpslld $3, %xmm13, %xmm2 + vmovsd (%rax,%r9), %xmm1 + vmovd %xmm2, %r11d + vmovmskps %xmm8, %edx + vmovhpd (%rax,%r10), %xmm1, %xmm8 + +/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ + vfnmadd231pd 3136+__svml_dcosh_data_internal(%rip), %ymm6, %ymm4 + vpextrd $2, %xmm2, %r8d + movslq %r11d, %r11 + vpextrd $1, %xmm2, %ecx + movslq %r8d, %r8 + vpextrd $3, %xmm2, %r9d + movslq %ecx, %rcx + movslq %r9d, %r9 + +/* dR2 = dR^2 */ + vmulpd %ymm4, %ymm4, %ymm0 + vmovsd (%rax,%r11), %xmm9 + vmovsd (%rax,%r8), %xmm11 + vmovhpd (%rax,%rcx), %xmm9, %xmm10 + vmovhpd (%rax,%r9), %xmm11, %xmm2 + +/* + * sinh(r) = r +r*r^2*a3 .... + * dSinh_r = r^2*a3 + */ + vmulpd 3392+__svml_dcosh_data_internal(%rip), %ymm0, %ymm9 + +/* dSinh_r = r + r*r^2*a3 */ + vfmadd213pd %ymm4, %ymm4, %ymm9 + +/* poly(r) = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + vmovupd 3456+__svml_dcosh_data_internal(%rip), %ymm4 + vfmadd213pd 3328+__svml_dcosh_data_internal(%rip), %ymm0, %ymm4 + vmulpd %ymm4, %ymm0, %ymm0 + vinsertf128 $1, %xmm2, %ymm10, %ymm12 + +/* lM now is an EXP(2^N) */ + vpand 3584+__svml_dcosh_data_internal(%rip), %ymm3, %ymm2 + vinsertf128 $1, %xmm8, %ymm15, %ymm1 + vpaddq %ymm2, %ymm1, %ymm6 + +/* */ + vpsubq %ymm2, %ymm12, %ymm1 + +/* lX- = EXP(1/2) */ + vpsubq %ymm5, %ymm1, %ymm5 + +/* dTn = dTn*2^N - dTn*2^-N */ + vsubpd %ymm5, %ymm6, %ymm8 + +/* dTp = dTn*2^N + dTn*2^-N */ + vaddpd %ymm5, %ymm6, %ymm11 + vmulpd %ymm9, %ymm8, %ymm10 + +/* dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + vfmadd213pd %ymm10, %ymm11, %ymm0 + +/* _VRES1 = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + vaddpd %ymm0, %ymm11, %ymm0 + +/* Ret H */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm7, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dcosh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_cosh_avx2) + + .align 16,0x90 + +__svml_dcosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dcosh_cout_rare_internal,@function + .size __svml_dcosh_cout_rare_internal,.-__svml_dcosh_cout_rare_internal + + .section .rodata, "a" + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 15 + .long 0 + .long 15 + .long 0 + .long 15 + .long 0 + .long 15 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4 + .long 1071644672 + .long 4 + .long 1071644672 + .long 4 + .long 1071644672 + .long 4 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431655747 + .long 1069897045 + .long 1431655747 + .long 1069897045 + .long 1431655747 + .long 1069897045 + .long 1431655747 + .long 1069897045 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1430802231 + .long 1067799893 + .long 1430802231 + .long 1067799893 + .long 1430802231 + .long 1067799893 + .long 1430802231 + .long 1067799893 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 287861260 + .long 1065423121 + .long 287861260 + .long 1065423121 + .long 287861260 + .long 1065423121 + .long 287861260 + .long 1065423121 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3658019094 + .long 1062650243 + .long 3658019094 + .long 1062650243 + .long 3658019094 + .long 1062650243 + .long 3658019094 + .long 1062650243 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1993999322 + .long 1059717517 + .long 1993999322 + .long 1059717517 + .long 1993999322 + .long 1059717517 + .long 1993999322 + .long 1059717517 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277927936 + .long 1072049730 + .long 4277927936 + .long 1072049730 + .long 4277927936 + .long 1072049730 + .long 4277927936 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2825664665 + .long 3182190860 + .long 2825664665 + .long 3182190860 + .long 2825664665 + .long 3182190860 + .long 2825664665 + .long 3182190860 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1119354880 + .long 0 + .long 1119354880 + .long 0 + .long 1119354880 + .long 0 + .long 1119354880 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 255 + .long 255 + .long 255 + .long 255 + .long 255 + .long 255 + .long 255 + .long 255 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1887518228 + .long 1069897045 + .long 1887518228 + .long 1069897045 + .long 1887518228 + .long 1069897045 + .long 1887518228 + .long 1069897045 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 256 + .long 256 + .long 256 + .long 256 + .long 256 + .long 256 + .long 256 + .long 256 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core-avx2.S new file mode 100644 index 0000000000..8b385cc297 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized cosh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_cosh _ZGVeN8v_cosh_avx2_wrapper +#include "../svml_d_cosh8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core.c new file mode 100644 index 0000000000..576b3186d5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized cosh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_cosh +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_cosh, __GI__ZGVeN8v_cosh, __redirect__ZGVeN8v_cosh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core_avx512.S new file mode 100644 index 0000000000..f4b46382e3 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core_avx512.S @@ -0,0 +1,1694 @@ +/* Function cosh vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute cosh(x) as (exp(x)+exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * cosh(NaN) = quiet NaN, and raise invalid exception + * cosh(INF) = that INF + * cosh(0) = 1 + * cosh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_cosh_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN8v_cosh_skx) + + .align 16,0x90 + +__svml_dcosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dcosh_cout_rare_internal,@function + .size __svml_dcosh_cout_rare_internal,.-__svml_dcosh_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core-avx2.S new file mode 100644 index 0000000000..456d8a129f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized coshf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_coshf _ZGVeN16v_coshf_avx2_wrapper +#include "../svml_s_coshf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core.c new file mode 100644 index 0000000000..34c008871a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized coshf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_coshf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_coshf, __GI__ZGVeN16v_coshf, + __redirect__ZGVeN16v_coshf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core_avx512.S new file mode 100644 index 0000000000..c837384b8e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core_avx512.S @@ -0,0 +1,1190 @@ +/* Function coshf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute cosh(x) as (exp(x)+exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * cosh(NaN) = quiet NaN, and raise invalid exception + * cosh(INF) = that INF + * cosh(0) = 1 + * cosh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_coshf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN16v_coshf_skx) + + .align 16,0x90 + +__svml_scosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_scosh_cout_rare_internal,@function + .size __svml_scosh_cout_rare_internal,.-__svml_scosh_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core-sse2.S new file mode 100644 index 0000000000..c719dc7d6a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized coshf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_coshf _ZGVbN4v_coshf_sse2 +#include "../svml_s_coshf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core.c new file mode 100644 index 0000000000..c2dfcd44f8 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized coshf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_coshf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_coshf, __GI__ZGVbN4v_coshf, + __redirect__ZGVbN4v_coshf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core_sse4.S new file mode 100644 index 0000000000..d1b541f18e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core_sse4.S @@ -0,0 +1,2104 @@ +/* Function coshf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute cosh(x) as (exp(x)+exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * cosh(NaN) = quiet NaN, and raise invalid exception + * cosh(INF) = that INF + * cosh(0) = 1 + * cosh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_coshf_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm5 + +/* + * Implementation + * Abs argument + */ + movups 1024+__svml_scosh_data_internal(%rip), %xmm3 + +/* + * Load argument + * dM = x/log(2) + RShifter + */ + movups 768+__svml_scosh_data_internal(%rip), %xmm2 + andnps %xmm5, %xmm3 + mulps %xmm3, %xmm2 + +/* Check for overflow\underflow */ + movaps %xmm3, %xmm7 + movups 1280+__svml_scosh_data_internal(%rip), %xmm0 + movdqu 1408+__svml_scosh_data_internal(%rip), %xmm6 + addps %xmm0, %xmm2 + +/* + * R + * sN = sM - RShifter + */ + movaps %xmm2, %xmm1 + pcmpgtd %xmm6, %xmm7 + pcmpeqd %xmm3, %xmm6 + +/* + * G1,G2 2^N,2^(-N) + * iM now is an EXP(2^N) + */ + pslld $23, %xmm2 + por %xmm6, %xmm7 + subps %xmm0, %xmm1 + movmskps %xmm7, %edx + +/* sR = sX - sN*Log2_hi */ + movups 896+__svml_scosh_data_internal(%rip), %xmm0 + mulps %xmm1, %xmm0 + +/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + movups 960+__svml_scosh_data_internal(%rip), %xmm6 + subps %xmm0, %xmm3 + mulps %xmm1, %xmm6 + movdqu 1856+__svml_scosh_data_internal(%rip), %xmm4 + subps %xmm6, %xmm3 + +/* sR2 = sR^2,shaffled */ + movaps %xmm3, %xmm1 + movdqa %xmm4, %xmm0 + mulps %xmm3, %xmm1 + paddd %xmm2, %xmm0 + psubd %xmm2, %xmm4 + +/* sG1 = 2^(N-1)-2^(-N-1) */ + movdqa %xmm0, %xmm6 + +/* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... + * sSinh_r = (a3+r^2*a5) + */ + movups 1728+__svml_scosh_data_internal(%rip), %xmm2 + subps %xmm4, %xmm6 + mulps %xmm1, %xmm2 + +/* sG2 = 2^(N-1)+2^(-N-1) */ + addps %xmm4, %xmm0 + +/* + * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) + * sOut = (a4 +a6*sR2) + */ + movups 1792+__svml_scosh_data_internal(%rip), %xmm4 + mulps %xmm1, %xmm4 + addps 1600+__svml_scosh_data_internal(%rip), %xmm2 + +/* sSinh_r = r^2*(a3+r^2*a5) */ + mulps %xmm1, %xmm2 + addps 1664+__svml_scosh_data_internal(%rip), %xmm4 + +/* sOut = a2+sR2*(a4+a6*sR2) */ + mulps %xmm1, %xmm4 + +/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + mulps %xmm3, %xmm2 + addps 1536+__svml_scosh_data_internal(%rip), %xmm4 + addps %xmm2, %xmm3 + +/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm4, %xmm1 + +/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm3, %xmm6 + +/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm0, %xmm1 + addps %xmm6, %xmm1 + +/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + addps %xmm1, %xmm0 + +/* Ret H */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm5, 192(%rsp) + movups %xmm0, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_scosh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_coshf_sse4) + + .align 16,0x90 + +__svml_scosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_scosh_cout_rare_internal,@function + .size __svml_scosh_cout_rare_internal,.-__svml_scosh_cout_rare_internal + + .section .rodata, "a" + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 31 + .long 31 + .long 31 + .long 31 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964879 + .long 1056964879 + .long 1056964879 + .long 1056964879 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1042983629 + .long 1042983629 + .long 1042983629 + .long 1042983629 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 849703008 + .long 849703008 + .long 849703008 + .long 849703008 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .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 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 31 + .long 31 + .long 31 + .long 31 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_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/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core-sse.S new file mode 100644 index 0000000000..c27229e1fa --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized coshf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_coshf _ZGVdN8v_coshf_sse_wrapper +#include "../svml_s_coshf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core.c new file mode 100644 index 0000000000..e82818b2c9 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized coshf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_coshf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_coshf, __GI__ZGVdN8v_coshf, + __redirect__ZGVdN8v_coshf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core_avx2.S new file mode 100644 index 0000000000..9f9e56003d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core_avx2.S @@ -0,0 +1,1803 @@ +/* Function coshf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute cosh(x) as (exp(x)+exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * cosh(NaN) = quiet NaN, and raise invalid exception + * cosh(INF) = that INF + * cosh(0) = 1 + * cosh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_coshf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + vmovups 1024+__svml_scosh_data_internal(%rip), %ymm2 + vmovups 1280+__svml_scosh_data_internal(%rip), %ymm7 + vmovups 1408+__svml_scosh_data_internal(%rip), %ymm3 + vmovups %ymm9, 96(%rsp) + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + +/* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... + * sSinh_r = (a3+r^2*a5) + */ + vmovups 1728+__svml_scosh_data_internal(%rip), %ymm9 + vmovups %ymm11, 192(%rsp) + vmovups %ymm8, 32(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + vmovups 1856+__svml_scosh_data_internal(%rip), %ymm8 + vmovups %ymm10, 160(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm15, 320(%rsp) + vmovaps %ymm0, %ymm1 + +/* + * Implementation + * Abs argument + */ + vandnps %ymm1, %ymm2, %ymm0 + +/* + * Load argument + * dM = x/log(2) + RShifter + */ + vmovups 768+__svml_scosh_data_internal(%rip), %ymm2 + vfmadd213ps %ymm7, %ymm0, %ymm2 + +/* Check for overflow\underflow */ + vpcmpgtd %ymm3, %ymm0, %ymm4 + vpcmpeqd %ymm3, %ymm0, %ymm5 + +/* + * R + * sN = sM - RShifter + */ + vsubps %ymm7, %ymm2, %ymm3 + vpor %ymm5, %ymm4, %ymm6 + +/* + * G1,G2 2^N,2^(-N) + * iM now is an EXP(2^N) + */ + vpslld $23, %ymm2, %ymm4 + +/* sR = sX - sN*Log2_hi */ + vfnmadd231ps 896+__svml_scosh_data_internal(%rip), %ymm3, %ymm0 + vpaddd %ymm4, %ymm8, %ymm5 + +/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + vfnmadd231ps 960+__svml_scosh_data_internal(%rip), %ymm3, %ymm0 + +/* sR2 = sR^2,shaffled */ + vmulps %ymm0, %ymm0, %ymm7 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vfmadd213ps 1600+__svml_scosh_data_internal(%rip), %ymm7, %ymm9 + +/* sSinh_r = r^2*(a3+r^2*a5) */ + vmulps %ymm9, %ymm7, %ymm11 + +/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + vfmadd213ps %ymm0, %ymm0, %ymm11 + +/* + * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) + * sOut = (a4 +a6*sR2) + */ + vmovups 1792+__svml_scosh_data_internal(%rip), %ymm0 + vfmadd213ps 1664+__svml_scosh_data_internal(%rip), %ymm7, %ymm0 + +/* sOut = a2+sR2*(a4+a6*sR2) */ + vfmadd213ps 1536+__svml_scosh_data_internal(%rip), %ymm7, %ymm0 + vmovmskps %ymm6, %edx + vpsubd %ymm4, %ymm8, %ymm6 + +/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps %ymm0, %ymm7, %ymm10 + +/* sG2 = 2^(N-1)+2^(-N-1) */ + vaddps %ymm6, %ymm5, %ymm13 + +/* sG1 = 2^(N-1)-2^(-N-1) */ + vsubps %ymm6, %ymm5, %ymm14 + +/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps %ymm10, %ymm13, %ymm12 + +/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vfmadd213ps %ymm12, %ymm11, %ymm14 + +/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vaddps %ymm14, %ymm13, %ymm0 + +/* Ret H */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm1, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_scosh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_coshf_avx2) + + .align 16,0x90 + +__svml_scosh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_scosh_cout_rare_internal,@function + .size __svml_scosh_cout_rare_internal,.-__svml_scosh_cout_rare_internal + + .section .rodata, "a" + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964879 + .long 1056964879 + .long 1056964879 + .long 1056964879 + .long 1056964879 + .long 1056964879 + .long 1056964879 + .long 1056964879 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1042983629 + .long 1042983629 + .long 1042983629 + .long 1042983629 + .long 1042983629 + .long 1042983629 + .long 1042983629 + .long 1042983629 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 849703008 + .long 849703008 + .long 849703008 + .long 849703008 + .long 849703008 + .long 849703008 + .long 849703008 + .long 849703008 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .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 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_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/sysdeps/x86_64/fpu/svml_d_cosh2_core.S b/sysdeps/x86_64/fpu/svml_d_cosh2_core.S new file mode 100644 index 0000000000..f95952cfe5 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_cosh2_core.S @@ -0,0 +1,29 @@ +/* Function cosh vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_cosh) +WRAPPER_IMPL_SSE2 cosh +END (_ZGVbN2v_cosh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_cosh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_cosh4_core.S b/sysdeps/x86_64/fpu/svml_d_cosh4_core.S new file mode 100644 index 0000000000..cc24d0fb6b --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_cosh4_core.S @@ -0,0 +1,29 @@ +/* Function cosh vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_cosh) +WRAPPER_IMPL_AVX _ZGVbN2v_cosh +END (_ZGVdN4v_cosh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_cosh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_cosh4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_cosh4_core_avx.S new file mode 100644 index 0000000000..4323f5e308 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_cosh4_core_avx.S @@ -0,0 +1,25 @@ +/* Function cosh vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_cosh) +WRAPPER_IMPL_AVX _ZGVbN2v_cosh +END (_ZGVcN4v_cosh) diff --git a/sysdeps/x86_64/fpu/svml_d_cosh8_core.S b/sysdeps/x86_64/fpu/svml_d_cosh8_core.S new file mode 100644 index 0000000000..90ee1ca125 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_cosh8_core.S @@ -0,0 +1,25 @@ +/* Function cosh vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_cosh) +WRAPPER_IMPL_AVX512 _ZGVdN4v_cosh +END (_ZGVeN8v_cosh) diff --git a/sysdeps/x86_64/fpu/svml_s_coshf16_core.S b/sysdeps/x86_64/fpu/svml_s_coshf16_core.S new file mode 100644 index 0000000000..fe243b8b94 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_coshf16_core.S @@ -0,0 +1,25 @@ +/* Function coshf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_coshf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_coshf +END (_ZGVeN16v_coshf) diff --git a/sysdeps/x86_64/fpu/svml_s_coshf4_core.S b/sysdeps/x86_64/fpu/svml_s_coshf4_core.S new file mode 100644 index 0000000000..b55ede6e38 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_coshf4_core.S @@ -0,0 +1,29 @@ +/* Function coshf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_coshf) +WRAPPER_IMPL_SSE2 coshf +END (_ZGVbN4v_coshf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_coshf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_coshf8_core.S b/sysdeps/x86_64/fpu/svml_s_coshf8_core.S new file mode 100644 index 0000000000..3ea02d0f19 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_coshf8_core.S @@ -0,0 +1,29 @@ +/* Function coshf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_coshf) +WRAPPER_IMPL_AVX _ZGVbN4v_coshf +END (_ZGVdN8v_coshf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_coshf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_coshf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_coshf8_core_avx.S new file mode 100644 index 0000000000..9b3002f7c9 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_coshf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function coshf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_coshf) +WRAPPER_IMPL_AVX _ZGVbN4v_coshf +END (_ZGVcN8v_coshf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx.c new file mode 100644 index 0000000000..1dd311a562 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-cosh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx2.c new file mode 100644 index 0000000000..1dd311a562 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-cosh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx512f.c new file mode 100644 index 0000000000..1dd311a562 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cosh-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-cosh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cosh.c b/sysdeps/x86_64/fpu/test-double-libmvec-cosh.c new file mode 100644 index 0000000000..cf49ec5d87 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cosh.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC cosh +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 76dc92b983..03fcb80d95 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -35,6 +35,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVbN2v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVbN2vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVbN2v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVbN2v_cbrt) +VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVbN2v_cosh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index e16abf5bb0..03e1d9eeda 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -38,6 +38,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVdN4v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVdN4vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVdN4v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVdN4v_cbrt) +VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVdN4v_cosh) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 84091a860f..ed0f71570a 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -35,6 +35,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVcN4v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVcN4vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVcN4v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVcN4v_cbrt) +VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVcN4v_cosh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index 873d7aa9c8..3cb0f61667 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -35,6 +35,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atan), _ZGVeN8v_atan) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVeN8vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVeN8v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVeN8v_cbrt) +VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVeN8v_cosh) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx.c new file mode 100644 index 0000000000..905dc3ca4a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-coshf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx2.c new file mode 100644 index 0000000000..905dc3ca4a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-coshf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx512f.c new file mode 100644 index 0000000000..905dc3ca4a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-coshf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-coshf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-coshf.c b/sysdeps/x86_64/fpu/test-float-libmvec-coshf.c new file mode 100644 index 0000000000..94b899076b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-coshf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC coshf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index b4bccd8e84..c0ac6809e8 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -35,6 +35,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVeN16v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVeN16vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVeN16v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVeN16v_cbrtf) +VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVeN16v_coshf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 1aa2c920ed..5fb185e6fe 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -35,6 +35,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVbN4v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVbN4vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVbN4v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVbN4v_cbrtf) +VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVbN4v_coshf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 2042aec59e..7ab40a72d0 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -38,6 +38,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVdN8v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVdN8vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVdN8v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVdN8v_cbrtf) +VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVdN8v_coshf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index bb25393c57..efd661db69 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -35,6 +35,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanf), _ZGVcN8v_atanf) VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVcN8vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVcN8v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVcN8v_cbrtf) +VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVcN8v_coshf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48076 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 04840385800C for ; Wed, 24 Nov 2021 19:47:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 04840385800C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783224; bh=HgvT4Q1AGEBb9I6jngNHcCZwv2yX5dVu1ztDYsTK/kM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=IxbA9nUmfuzAOcAHey9pXGS3ILWU6QGU15YKLxmwAqagn07npjne/EQ61BMR3VeXs 3agr5YlgAszc0KGzn8brBpfeJIMmbIfGRJnfaPynCUfm8XU1u3n1Yy3SkrmuJY/hVT OuBGaiX1HtmegY71mQELv7pKTIRGpqFdA6UkbnKk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id 906463858018 for ; Wed, 24 Nov 2021 19:38:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 906463858018 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235599450" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235599450" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="509564569" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga007.fm.intel.com with ESMTP; 24 Nov 2021 11:38:11 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7X5021555; Wed, 24 Nov 2021 11:38:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 18/42] x86-64: Add vector cosh/coshf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:43 -0800 Message-Id: <20211124193807.2093208-19-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector cosh/coshf and input files to libmvec microbenchmark. libmvec-cosh-inputs: 90% Normal random distribution range: (-710.0, 710.0) mean: 0.0 sigma: 32.0 10% uniform random distribution in range (-500.0, 500.0) libmvec-coshf-inputs: 90% Normal random distribution range: (-89.0f, 89.0f) mean: 0.0f sigma: 16.0f 10% uniform random distribution in range (-50.0f, 50.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-cosh-inputs | 4100 +++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-coshf-inputs | 4100 +++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-cosh-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-coshf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index a0dc2914e6..29750a07e6 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -48,6 +48,7 @@ libmvec-bench-funcs = \ atan2 \ atanh \ cbrt \ + cosh \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-cosh-inputs b/sysdeps/x86_64/fpu/libmvec-cosh-inputs new file mode 100644 index 0000000000..f68573122e --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-cosh-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-7.1e+02, 7.1e+02), mean = 0, standard deviation = 32 +-0x1.11003707ad71cp+3 +-0x1.1f03ac14205d9p+4 +-0x1.88539918864c9p+5 +-0x1.4101316c89f72p+4 +-0x1.3b7fb80733407p+3 +0x1.029dee7ae42b8p+5 +0x1.77fde1eeb3fa9p+4 +0x1.16a53d1f1be7ep+6 +0x1.35a33590dab6ep+4 +-0x1.f85d770c98ac8p+3 +-0x1.75bd8b3896dd6p+5 +-0x1.360247570184fp+5 +0x1.1cb9fa09ed944p+6 +-0x1.cc0c949f502bdp+2 +-0x1.b06432c2571b1p+4 +0x1.e5f318e3e5fffp+5 +-0x1.2bbc5f516e8d5p+3 +-0x1.b20d60c7a530ap-3 +0x1.1ee5aa3496dfdp+4 +0x1.0d39d9919d41cp+5 +-0x1.f35ec91641a28p+3 +-0x1.90e89ab44af72p+4 +-0x1.8718b197051b2p+2 +0x1.e1a883407183ap+4 +-0x1.bb84130e0b6c2p+3 +0x1.66748e4448814p+5 +-0x1.03ac940894e0bp+5 +-0x1.2777c019ddd62p+3 +0x1.1d20fa6e1de58p+5 +-0x1.0d65971f91a47p+5 +0x1.948e128f1e25cp+2 +0x1.a2f9146265a94p+4 +0x1.8dfc3c4334d3fp+2 +-0x1.3e6e666e6133dp+3 +0x1.7291977c39bfbp+2 +0x1.0d76b4a8e6ffap+1 +-0x1.8ba0bf00ef4fbp+4 +-0x1.657578a29b5d8p+3 +-0x1.42073771c3e34p+3 +0x1.c5bc6abe1abc2p-2 +-0x1.3c18dfcd0f52cp+1 +0x1.e264029c179bdp+4 +-0x1.16b4eb16e4697p+5 +0x1.919dfef854b24p+3 +0x1.51a8f5058cf09p-1 +-0x1.22700081b6018p+3 +-0x1.7ed13b350af89p+2 +0x1.7c78e8308fd75p+4 +-0x1.371df5ae1bae6p+5 +-0x1.47b6c3841cc34p+3 +0x1.c0eb159b7735cp+4 +-0x1.041440688e7dcp+5 +0x1.747d826d6612p+4 +-0x1.0e3c3a9af5cbdp+6 +-0x1.9223e1cf1b888p+4 +0x1.2c285914810dep+3 +-0x1.e1009fc24adffp+4 +0x1.a994c08eb3571p+4 +0x1.5642c58ee1935p+5 +0x1.5a906ea066725p-2 +0x1.33bf88547fbfp+1 +-0x1.7e95d7fb26218p-1 +0x1.3a4914164fb45p+1 +-0x1.6d0ab05da8ddap+5 +0x1.6a175031ee6b3p-1 +0x1.cb814b7ce6be9p+4 +0x1.ef5984a81ededp+2 +0x1.4511a4ee5b844p+2 +0x1.c3236baf357dbp+2 +-0x1.b5663a8cd3b9ep+0 +0x1.f9775cb63303ap+4 +-0x1.fbe0031478fdap+4 +0x1.ec4068e7020c7p+1 +0x1.0af7c1486d593p+4 +-0x1.18e6b70f08559p+4 +0x1.2fc06a93c1a14p+3 +-0x1.0df60b2d5d5dcp+4 +-0x1.3558868bca728p+8 +-0x1.f9bea93247eaap+1 +-0x1.a8a18bac42c3ep+1 +0x1.d274aba6cb8e7p+7 +0x1.8035aed7e3caap+1 +0x1.6e5336703809cp+4 +-0x1.202ed659e43b3p+5 +-0x1.958d6ede80a6p+3 +-0x1.41320b56bb7ep+1 +-0x1.ae79eb0610afep+3 +-0x1.08e9352d53acdp+3 +0x1.fa1d1125c944ep+4 +0x1.e0e74fafb7d1cp+4 +0x1.56f6756e1c312p+6 +0x1.dab641b546b3fp+3 +-0x1.37f81a887c07fp+4 +-0x1.d1b8204e578e7p+1 +-0x1.8d8c75ac1faf6p+5 +0x1.c753b324bdc81p+5 +0x1.59d5b085ab03ap+2 +-0x1.ea04b4cf878fbp+1 +0x1.29c33813f534dp+0 +-0x1.c2ee5e411a0abp+4 +0x1.cee3ca87f3fb9p+5 +-0x1.b5e1a68fd908dp+4 +-0x1.42abb872d6d69p+4 +0x1.1d88916f49ef1p+5 +0x1.80ec7c336cd4bp+3 +0x1.f6cc5791d3677p-4 +0x1.9c79d91cd3abbp+4 +-0x1.253082fbb949cp+1 +-0x1.a401128cbd47p+3 +-0x1.7794302387928p+4 +0x1.77052a301b523p+3 +0x1.aa7ee75ee0531p+5 +-0x1.f6ee5bdcf7b24p-1 +0x1.a39a2af50b0c7p+4 +0x1.3221b7312157fp+4 +0x1.5ff5bc5f5da2dp+4 +-0x1.4613a9aa74a1ep+1 +-0x1.6991a4013ce91p+5 +-0x1.1071c932aaf75p+5 +-0x1.055f3a8317374p+5 +0x1.520ed8dc30dfcp+4 +-0x1.6e15432b01ce6p+5 +0x1.e818fff13878bp+5 +-0x1.8b8cb3370be2bp+4 +-0x1.a9f6495b21f7ep+4 +0x1.88e06bd995039p+3 +0x1.750ec69bb3a04p+4 +-0x1.0dd8abfb7163fp+4 +-0x1.99309e84c1aa3p+3 +-0x1.08b1bb04fcb2fp+3 +0x1.c473bbbaa6274p+2 +0x1.0a5b3dcd01fc6p+3 +0x1.273d5ce7af555p+6 +-0x1.27eeab5a7ec7ap+5 +0x1.398225abd6819p+4 +0x1.56fe5fc6fa3c2p+5 +-0x1.f11f36ce3507dp+5 +0x1.9aca951469d7ap+3 +-0x1.8f8d41cd02deep+4 +-0x1.f49e6ed2ea59dp+2 +-0x1.7a129db836d66p-3 +-0x1.1ae76b7d889bbp+4 +0x1.087a59865458p+1 +0x1.6aff85979d2e4p+4 +-0x1.62fa8a2d852ep+3 +0x1.b66d4b202c901p+3 +0x1.b32cf8b59341dp+3 +-0x1.1744f96db0bc6p+6 +-0x1.ac60d9bcb0c1ep+4 +-0x1.fbdc48a31f484p+2 +0x1.ce8d89c689577p+3 +-0x1.f0575d582a6f9p+3 +0x1.2480822366da6p+5 +-0x1.4b02cb0e67facp+1 +-0x1.f980a13147b0ap+4 +-0x1.d7c147ac37bbcp+4 +-0x1.19379d25cb96ap+1 +0x1.4a4d200892982p+8 +-0x1.ab949852b3ebfp+3 +0x1.0e6dad20e631fp+4 +-0x1.45599ccb9a8f2p+5 +-0x1.a1d652eced84ep+5 +0x1.0a9a084bf0496p+4 +-0x1.3806551d9b8a6p+4 +-0x1.4723e9533861ap+5 +0x1.82ba877ba1442p+5 +-0x1.be10fd54c1c05p+2 +0x1.6e9ab6991ff9p-5 +0x1.ac8eba94cd894p+5 +0x1.72f43a9f6a1c5p+2 +0x1.647a30feef7b1p+2 +-0x1.6a098d3db5971p+2 +-0x1.535b60bc394fap+0 +0x1.9b21776d6a934p+3 +-0x1.67ee1ba757d34p-3 +-0x1.d28fec264c5bbp+3 +0x1.a4cd6c232a361p-2 +-0x1.4314fbc60688dp+2 +-0x1.3d2ddbf4fb65cp+4 +-0x1.91560bb9916ap+2 +-0x1.2064bd3b1efedp+6 +-0x1.8f0d5ae1f2d1dp+4 +0x1.81850a482ba67p+6 +-0x1.f7d0d6b631c12p+3 +-0x1.f23fd47cfedccp+4 +-0x1.75a6060cb3691p+0 +-0x1.d253dcef76f97p+4 +-0x1.5328460a56bcfp+4 +0x1.ce3576497d7cp+4 +-0x1.8652cde59b041p+3 +-0x1.9b8ef067e895dp+5 +0x1.7d9c66e44ec47p+5 +0x1.b96c3d206dae9p+5 +-0x1.f953fc1959504p+4 +-0x1.b125e5434baacp+1 +-0x1.a1e7bf001c68dp+3 +0x1.46cfc16fd39dep+5 +-0x1.ae24518735eeap+3 +0x1.69939f4e7cd55p+5 +0x1.13306c72f0a09p+3 +0x1.61510c88f5508p+0 +-0x1.1a20364d51f6p+6 +-0x1.64ad7976812dfp+4 +0x1.bc0558fc677f4p+1 +0x1.3c093d67ef0f5p+1 +0x1.4f8ea8f2b2961p+4 +-0x1.55af0900913c4p+6 +0x1.5af1d2d65fffcp+3 +-0x1.0de627c082eb5p+4 +0x1.99ce9e0daa1e9p+5 +-0x1.f3ce28bc65e34p+4 +-0x1.2dcbcb1edbdd6p+5 +0x1.1adafdd6788cap+4 +0x1.853c9a6a80e5fp+2 +-0x1.00b1d997f5fbep+0 +-0x1.12d9e9bd6279ap+5 +-0x1.c05a7b8c13756p+5 +-0x1.df87d85868a0dp+5 +0x1.3e98c5ca53054p+4 +0x1.560246edba008p+5 +-0x1.c6b77410468a2p+4 +-0x1.f72a6e31d75afp-3 +0x1.efefd701da649p+4 +0x1.c1a1321b7ef1p+1 +0x1.30ea39a7cf938p+5 +-0x1.a74dd3dc1e9a2p+4 +0x1.79ab521c3abfcp-1 +0x1.d28bd03ad897cp+4 +-0x1.dd0ae5433da8p+5 +0x1.0860581cad894p+5 +-0x1.3d8029781c0b5p+3 +-0x1.1185907f2891p+4 +0x1.2aa161a477366p+3 +-0x1.51a2fdf6d801dp+5 +0x1.6d4ca2cbce87bp+5 +-0x1.08647180c4641p+4 +0x1.73c0d4d983607p+2 +-0x1.460bb7d2967e5p+5 +-0x1.96b5c19d31dd8p+4 +0x1.002087be4803p+4 +-0x1.079c675e5f576p+5 +-0x1.a490fe5d517cap+1 +0x1.3a316fc183cdbp+2 +0x1.b3009a6de004ep+2 +-0x1.8be62fc82b254p+5 +0x1.c70c47d64b2e1p+2 +0x1.6ec300c6e0d84p+4 +-0x1.d42bdaaa529ccp+0 +0x1.542a484cbbdap+4 +-0x1.68aade01022e5p+4 +0x1.0719ec34bd9f8p+4 +0x1.5a5bef7e71b7fp+4 +-0x1.19efbde80f262p+5 +0x1.2a9200c3ebef9p+5 +0x1.65e234d9d723p+4 +0x1.81eea275987dcp+4 +-0x1.e09ae78c0f3d3p+3 +0x1.88cff5ac2b027p+3 +-0x1.07c23257a91ap+8 +0x1.b0dc5207eb04ap+3 +-0x1.949d08f8c29a8p+2 +0x1.2054be5894c16p+5 +-0x1.1c5a705a6144ep+5 +0x1.0abf819cc902cp+7 +0x1.4f533f975313ap+0 +0x1.ede0402a06984p+4 +0x1.5dd9cecee44dp+5 +-0x1.ee86a38dcfb8bp+3 +0x1.430681c5d5435p+4 +-0x1.b239cdf03ac1ep+3 +-0x1.b155c322a615bp+5 +0x1.11059304523ccp+4 +-0x1.940484004736ap+4 +-0x1.76d2cbe89c6eap+3 +0x1.2ab817598e9cep+3 +-0x1.bb57ee381a94fp-3 +0x1.2c5fa973bc423p+3 +-0x1.105b2a041f858p+3 +0x1.ad21b525cafe7p+5 +0x1.f591180c51366p+4 +0x1.942c7148cde5ap+3 +-0x1.73fc05810249p+3 +0x1.19a063e9246a8p+5 +0x1.f440990cb9501p+2 +-0x1.6ea822c81ebefp+5 +0x1.05325f085e4dap+2 +-0x1.30227ac82dd9p+3 +0x1.69b3016747ba7p+1 +-0x1.a95e1be905656p+4 +0x1.2ff44c322ad99p+4 +0x1.8803b3b61b6ffp+4 +0x1.e33526ca99p+4 +-0x1.135a95b5e4d29p+3 +-0x1.a15cdae0069dp+2 +-0x1.ad8b0ddd507a6p+5 +-0x1.9c52c8fe232b1p+5 +0x1.1e8559bb5e4ccp+2 +0x1.bb99adabb7695p+3 +-0x1.1dae22a6fbcabp+5 +-0x1.9efa1bdb52cb6p+5 +0x1.7f4123362bf2fp+5 +0x1.a0ae02a90565bp+3 +0x1.6c88688bf3d0ep+4 +0x1.d28cd71e8841ep+6 +0x1.1a07e1bd84d91p+5 +0x1.50e957f68cb51p+5 +-0x1.cfae88fe949d3p+4 +0x1.62d0a629641b7p+5 +-0x1.641801bf2bda6p+1 +-0x1.a1d7bc21eb45cp+6 +0x1.6def98bd31efbp+6 +0x1.a556292c47ef2p+5 +-0x1.af841b378367ap+2 +-0x1.6538b64ad0d9fp+5 +-0x1.29feb61cdd084p+4 +0x1.6071bbed6bd28p+6 +0x1.3a75b1d968b3bp+6 +0x1.501b2864bb0aap+4 +0x1.cab884c6bd488p+3 +-0x1.e9f845c867c6cp+3 +-0x1.94991fb9ce0efp+5 +-0x1.4bf2146d428fbp+4 +-0x1.f4aaa87f6871dp+4 +-0x1.c904a4b94b4dep+4 +-0x1.851379734f5a1p+3 +-0x1.3253d2afe1b8dp+4 +-0x1.7e5a943926cb6p+4 +-0x1.ba8b241fbebep+3 +-0x1.e32c5b539ed49p+5 +-0x1.f7a818b66c2fbp+3 +0x1.d79048fa51f8ap+2 +-0x1.e1ee3cfd1f65ap+4 +0x1.8a59e5bc58019p+4 +0x1.72b319253eee7p+3 +-0x1.f0a78fd5454d7p+3 +-0x1.ec9f639a8510ep+3 +-0x1.ef4d44582ca63p+4 +-0x1.45030ba429744p+3 +-0x1.3de02f6079c35p+5 +-0x1.ae4ee802d4d44p+3 +-0x1.2a2442b03a96dp+5 +0x1.1e09c7cc868aep-3 +-0x1.15c7853f0c865p+6 +0x1.0b13ec95f71a5p+3 +0x1.5b22063d3f771p+4 +-0x1.c752f2d48be01p+2 +0x1.3d1510a4f8cdbp+4 +0x1.17da3098fa41dp+4 +-0x1.266a093459c2ap+4 +0x1.8a064f8a15753p+2 +-0x1.347da4da856a7p+3 +-0x1.39b4ff032f74p+1 +0x1.b9a57659a198ep+4 +-0x1.7218160918b0bp+4 +0x1.4139fe4f6d7e2p+5 +0x1.0b6028c217fb9p+4 +-0x1.9cf3201eb31ep+3 +0x1.4e85803ece1acp+5 +0x1.b07b4e5172c39p+2 +0x1.11701ffaaed4bp+2 +-0x1.24627984aae2ep+5 +0x1.779b58c474984p+1 +0x1.a9ca39d6dd6d5p+4 +-0x1.5506bc6b3344fp+3 +0x1.7d3bab08c2e5dp+2 +0x1.ba237ef743cb1p+3 +-0x1.9d3fecf588cedp+4 +0x1.04414d215c2dcp+4 +-0x1.1ab065eb10c66p+4 +0x1.17124444bff6ep+3 +-0x1.8e23b3e3f6ab7p+2 +-0x1.bcfc0ccd8bdb9p+1 +0x1.010d86d3def47p+3 +-0x1.7ff50886aa934p+3 +-0x1.46c78d491d2c7p+0 +0x1.3ee03ef5f88e9p+5 +0x1.44bf15b0634b7p+3 +-0x1.dc7bfeb3d79c5p+2 +0x1.4b2044275cd4dp+3 +0x1.84fe3569cb2f3p+2 +0x1.cd76216869e9bp+5 +0x1.1b1d3cf683a9ep+5 +-0x1.9fcae5205cd46p+5 +-0x1.0a3b58f299bfdp+4 +-0x1.2abc89a0eb39fp+5 +0x1.8c4d6835e5972p+2 +0x1.0a5afe3c4ccc7p+5 +0x1.4fd2cc063a564p+2 +-0x1.4a0722f7bdb7cp+5 +0x1.8d885d6947ae1p+5 +0x1.59ea516d1f26bp+5 +0x1.0ec88cec00338p+0 +-0x1.8a5d8487762f6p+5 +0x1.1a283a53f8328p+1 +0x1.829e7668f5048p+4 +-0x1.d98b668c200ap+0 +-0x1.0136269e8d655p+5 +-0x1.d6aa45de9e968p+4 +0x1.1ae55c1f50a91p+3 +-0x1.6d2bbf6ac4bffp+3 +-0x1.2f894a496ef82p+4 +-0x1.8cccaafc6228bp+6 +0x1.a1847ab53654dp+3 +0x1.61b9f91dd1568p+5 +-0x1.593af265b0f1cp+3 +-0x1.6fcb3685e1188p+4 +-0x1.abd9edafdaba8p+7 +0x1.55402eb22877fp-1 +-0x1.7758f8ef73ce5p+4 +-0x1.129ed6c9fec09p+4 +0x1.47b15b059fa22p+3 +0x1.c37c3800e473fp+1 +-0x1.55e59b46e00fep+4 +0x1.15ab24a33c4afp+3 +-0x1.5efb2f2360924p+5 +-0x1.c822455705f7dp+5 +-0x1.1ec1052baec55p+4 +-0x1.632d52993655fp+5 +-0x1.3b380e44110fbp+2 +-0x1.d06a61edd63b8p+5 +-0x1.648c7d2c9f39ap+6 +-0x1.e0c74983a6277p+3 +0x1.3b45c176c2365p+5 +0x1.9ac13402948f9p+5 +0x1.821b65b56e9d4p+3 +0x1.49d4a47602299p+1 +-0x1.9536fd2b229e5p+2 +-0x1.e45f70770ffa6p+4 +0x1.f42e02754d539p+0 +-0x1.1447c8f7f0803p+3 +-0x1.3814c90a3de51p+4 +-0x1.0c3e34479d266p+2 +-0x1.db96f4672c59fp+4 +0x1.b7e8d8652d20bp+4 +0x1.31f092f938cp+4 +-0x1.23d399672214ap+5 +0x1.16d3535551e31p+3 +-0x1.d6e5873aa87e8p+4 +-0x1.51e8d044a5eadp+3 +-0x1.076d0067d9a9bp+5 +-0x1.5ce540d167649p+3 +-0x1.03dbfbee1785p+4 +0x1.02c32cb8776d7p+5 +0x1.2900de5c7341p+4 +-0x1.ac5ba6d8f8f1ep+3 +-0x1.5d38049159df2p+5 +0x1.7b1185942c1a5p+5 +0x1.ff5246459affp+2 +0x1.0e03a3dd96788p+6 +-0x1.76a414c910fb2p+4 +-0x1.1fffa49b7f639p+1 +0x1.9caea3b989545p+3 +-0x1.793d42826ff15p+1 +0x1.5b08238bd7a18p+2 +0x1.254967c3d947fp+2 +0x1.eb12af95bfb63p+5 +0x1.fe853624e7d83p+2 +0x1.b1e56a27778f2p+5 +0x1.3453058a4da38p+2 +0x1.307c967bfffc2p+5 +0x1.4d5cb9f362b26p+4 +-0x1.b1937baaf010bp+2 +0x1.5599b88f6964dp+4 +0x1.17406bad4bc31p-1 +0x1.55b3e6055d0e1p+0 +-0x1.1aa44da042bb6p+4 +-0x1.b0bd843ab6a4ap+4 +-0x1.f054c11c6fd4cp+0 +-0x1.81014cc2078b6p+5 +-0x1.fc713f97a3a63p+2 +0x1.d0a0747739ef9p+2 +0x1.41625bb6bb69ep-4 +-0x1.40f225f19d807p+4 +0x1.68f2251556c42p+3 +-0x1.17690d37416e8p+5 +-0x1.75fa5ee082b6fp+4 +0x1.29564149663f6p+2 +0x1.9881037ac5d0cp+3 +0x1.2b01b141897c8p+5 +-0x1.0f4d726519f07p+1 +-0x1.4b4620ac0010dp+4 +0x1.9e7c31f8f8785p+5 +-0x1.a6f89ee0f795ap+4 +0x1.f2082c30db1c8p+1 +-0x1.dd839901b27bdp+4 +0x1.7fca07d73884p+4 +-0x1.c3c48700662c3p+4 +-0x1.6e853770c0f9fp+5 +0x1.d8ed1c9463b1dp+1 +-0x1.ebd99dffbb2c1p+3 +0x1.fd966020d3d82p+4 +-0x1.206c1fca20dc4p+5 +0x1.aee0d6765bc5cp+5 +-0x1.35d52e2cf8086p+2 +0x1.13223a47687d9p+2 +0x1.7438981f5be52p+3 +-0x1.4bae87899db27p+4 +-0x1.b15ab21feb71ep+4 +-0x1.9ce3b1e40fdefp+5 +0x1.cef4514e6d594p+5 +-0x1.f17318cfda767p+5 +-0x1.e58d0c56c3a7p-1 +0x1.808beb30314dp+4 +0x1.07f0af7446b52p+5 +0x1.325fd32406536p+4 +-0x1.9faafa9806c7bp+1 +0x1.6104f835ab8edp+6 +-0x1.7807e45e473f1p+5 +0x1.29757328895cp+3 +0x1.3b45876742c98p+4 +0x1.c568a632a54f1p+4 +0x1.6caddd90a8a2cp+6 +-0x1.69894d1536713p+3 +-0x1.3730781c9eddep+2 +0x1.135deea0c29fbp+4 +0x1.e1285a2b60964p+2 +0x1.4b80b406c31bdp+5 +0x1.2811c39f9b89bp+4 +-0x1.4fdedc31092e8p+4 +-0x1.ab8ce8c5036fdp+2 +0x1.9d7e1448756f9p+5 +0x1.3737cdf250b8ep+5 +-0x1.63ffee2f4c37p+4 +0x1.4da0a0b6a14c4p+1 +-0x1.d9b722403f2d4p+2 +0x1.022adb9727ec4p+1 +0x1.2ae943a0c9f6cp+1 +0x1.18ec27d3a07d7p+1 +-0x1.6afe70ecfae1dp+6 +0x1.147d5c8097cefp+4 +-0x1.81f8ceac9872dp+4 +0x1.0f381836f6e7bp+4 +-0x1.c6ff784a5846dp+4 +-0x1.66360c4d84d4cp+4 +-0x1.6791dbb850ac8p+5 +-0x1.77c6dfc75633p+3 +0x1.45d5f669fcff2p+5 +0x1.268335c952d5ap+5 +0x1.3a13a0ae983f5p+4 +-0x1.780cef3cd015cp+3 +0x1.6128b1ee4e238p+4 +-0x1.439a5589fc96bp+5 +0x1.50b1d01bf2cabp+4 +-0x1.d2ade90245145p+5 +0x1.0ae6ec582d27ap+4 +-0x1.519680b429656p+3 +0x1.9094cf30d2179p+5 +0x1.e0a28f7e72504p+5 +0x1.8cdcd3ddd9b87p-1 +0x1.ec9935e7e72f1p+4 +0x1.5317a281a6589p+3 +0x1.51d70c69c8e4ep+2 +-0x1.50ba0ab89871p+4 +0x1.152078e6fc923p+2 +-0x1.9996f9d095cd3p+4 +-0x1.61d00d92a98ecp+5 +-0x1.3a3a257258ee5p+4 +0x1.2f54b253c0a1bp+3 +-0x1.b4951c9daf538p+3 +0x1.220f603d1e01cp+4 +0x1.09e96024014f6p+4 +-0x1.b1165a43c5c1dp+4 +-0x1.be5766bd4f161p+5 +-0x1.411e5393f3221p+1 +0x1.32640aef4dbcap+5 +-0x1.9d3da53790e56p+2 +-0x1.26eaa37b73589p+4 +-0x1.9657b29aaf014p+3 +0x1.25d18013304f9p+4 +0x1.faee42d2eee09p+5 +0x1.63f4a5780dbb3p-1 +0x1.9ed35146ebdc7p+3 +0x1.c24bc2a87317cp+4 +-0x1.c46c0709ade28p+4 +0x1.058fa84fdc5dfp+5 +0x1.074894afb4a68p+4 +-0x1.2cb5d178181a3p+5 +-0x1.7b022bc97bd87p+5 +0x1.d971cebec3dc3p+4 +-0x1.8ec86add9aeefp+1 +-0x1.f727374002d1dp+2 +0x1.219fdd9159794p+3 +-0x1.565374db0612ap+6 +-0x1.2556f0957181fp-2 +-0x1.3c9b49b6645b9p+3 +0x1.0adc702525844p+5 +0x1.c5a67f1896e7ep+2 +0x1.9efd7de91c877p+2 +0x1.d9d092687d0a3p+4 +0x1.7d3d03a0cd29cp+3 +-0x1.479fcda3b1abcp+5 +0x1.ef3f79cf31cabp+3 +0x1.52dc5518c03d1p+4 +0x1.152d96988dfcbp+4 +-0x1.b9362861efb2ap+4 +0x1.6f1701555f85fp+3 +-0x1.d76088168cba7p+5 +0x1.396904801c693p+6 +-0x1.bb8d37e3d13d9p+3 +-0x1.bea7caef13c6bp+2 +-0x1.56dbccaa97ab9p+3 +0x1.6678918f36157p-1 +0x1.9e04061eea66ap+0 +0x1.f80584e5fb2d6p+3 +-0x1.54278b1afdca9p+5 +0x1.37b24baea382dp+3 +0x1.f77b1902c4964p-1 +-0x1.7c43b4e9e93cfp+0 +0x1.10f4e21b1dc18p+3 +-0x1.84c3d380eaf0ap+3 +0x1.6536d3822a5dbp+4 +-0x1.45c85e7112072p+5 +0x1.8d0b5806d37d9p+3 +-0x1.7bfe86e43f6cdp+5 +-0x1.028573702b054p+5 +-0x1.266d423e3032ep-1 +-0x1.6f1e52b43bbcdp+5 +-0x1.b57398f2ff9cep+5 +-0x1.0690070a17c8ep+5 +0x1.951438faf762ep+5 +0x1.54640df149ecfp+4 +0x1.a2e70e2d6b389p+1 +-0x1.4584eadb7a2a5p+2 +0x1.5984124891c5bp+4 +-0x1.3508e20bd00a4p+5 +-0x1.df8c737910911p+5 +-0x1.d401bbbe0de6ep+4 +-0x1.20ff5eb91df8cp+3 +0x1.ade08e2d79c6cp+3 +0x1.fb915453b8d6fp+1 +0x1.a816ef340651dp+4 +-0x1.90a1d1046f146p-6 +-0x1.6b755acce6fb3p+4 +-0x1.54b099489d729p+4 +-0x1.53687ec531316p+5 +0x1.70dd45f3f8c96p+7 +0x1.1c64ac0e63ab9p+2 +-0x1.1cd93b9a183f3p+3 +-0x1.d6676ec0e83b7p+3 +-0x1.b3375faa14daap+4 +-0x1.397f5269a8f46p+3 +0x1.204f1d080a29bp+5 +-0x1.9d15f86e29d32p+5 +0x1.86b445c1fa227p+3 +-0x1.3a978b6d21bb1p+5 +-0x1.299fc79ecbcfdp+5 +-0x1.a744b7e636d36p+0 +-0x1.bb28842c58849p+3 +-0x1.4f733aa7913e2p-1 +0x1.aabbf22ae2a88p+4 +-0x1.a112b6d648e72p+4 +0x1.3d09dc3e9e33bp+5 +0x1.2cb5e1779cea5p+5 +0x1.3cd7ac6fa38dap+3 +-0x1.f13990cfe5ec2p+4 +0x1.88f07d5373ae8p+5 +0x1.93179dd8aa89ep+1 +0x1.2bfc9601f50c2p+6 +0x1.58c7cf96b0713p+1 +0x1.335b322f8a7a2p+5 +-0x1.e24d81973b02ep+4 +-0x1.ebc2947a9ce5bp+5 +0x1.4d8134ffd3891p+4 +-0x1.e10c40e71879bp+3 +-0x1.628050434b9fep+4 +0x1.6c29e161cb882p+6 +-0x1.407afbb6de59ep+5 +-0x1.c12b48dd63634p+3 +-0x1.7ef92af52d4d5p+1 +-0x1.41cc220fce214p+3 +-0x1.b4dc079689f4bp+4 +-0x1.b8c92d69cd9ep+4 +-0x1.a4756c48b704p+3 +-0x1.d7ea61d1085d1p+5 +0x1.a45014fadb068p+1 +-0x1.394900efd90a5p+1 +-0x1.2b6eed18df0d2p+1 +0x1.b57ef080526a1p+4 +0x1.6e593e63048dp+4 +-0x1.b3b2e53f25ff4p+4 +0x1.20b8481ed33p+2 +-0x1.a7a9a263d55abp+5 +-0x1.3edfe9034a518p+2 +0x1.04df46fe1a96p+5 +-0x1.85c872b5fe48p+2 +0x1.987aa68c4a40ap+5 +-0x1.8d8ff4c07967ap+1 +-0x1.7bbe501495417p+3 +0x1.09b6e0c740d5cp+4 +0x1.6540ed66aa851p+4 +0x1.b71434f639985p+1 +0x1.1c12a317a2069p+6 +-0x1.6139c482ada5ep+1 +-0x1.4f44b083f6f77p+2 +-0x1.c87cf7e5f2df5p+5 +-0x1.625e9063076bdp+5 +-0x1.b994f9420b41ap+4 +-0x1.d21a73ec72312p+5 +0x1.fb8fbc9a2fe6p+5 +0x1.4e0291e40703ap+4 +0x1.7bec591bcb9f1p+4 +-0x1.22ade5fd6560fp+5 +0x1.3ff0fb4eb11fdp+4 +0x1.acf4457026889p+2 +-0x1.081e4b193da3p+4 +-0x1.af18d2905362dp+1 +-0x1.816382b888e2ap+3 +-0x1.dbf7e57684b5fp+5 +-0x1.109ea0bc3171ep+5 +0x1.2f89c59c1e284p+3 +-0x1.0525cef5eb77ap+2 +-0x1.1527b5894fa4cp+3 +0x1.b3de51b661796p+4 +-0x1.730858021dd8bp+3 +0x1.1ab6eaf9f7437p+0 +-0x1.6d89969971facp+5 +0x1.34fc598a78651p+4 +-0x1.8704c7920740fp+5 +0x1.8e9c63e18fd98p+7 +-0x1.4e2aac11bfdf6p+4 +0x1.b3740425d29bdp-1 +0x1.6241568dfe5dcp+5 +0x1.50d6fdd8353a1p+4 +0x1.471f703d627b9p+3 +0x1.016adf54be7b1p+2 +-0x1.6baefbf516dc7p+4 +-0x1.21c30a32cda9ap+4 +0x1.62072a0760112p-1 +-0x1.39b197eda3b67p+4 +0x1.7f04c21a59f65p+3 +-0x1.168386ca9dda1p+5 +-0x1.c9fbcc3111dd1p+5 +0x1.1635f32442b4bp+4 +0x1.3ddeeff0904dp+0 +-0x1.1ee2ce778752ep+0 +-0x1.6899a578aa20fp+4 +0x1.dc1aa30ec4db2p+2 +-0x1.b601c472fde84p+2 +0x1.a8462321fb8p+3 +-0x1.33c518cb111f3p+4 +0x1.a6798664f5c9p+4 +0x1.0a3882fdb4c69p+5 +0x1.06a6a0c714e72p+3 +0x1.6bf6e92c72fdap+3 +-0x1.84d9f0dad55b6p+5 +-0x1.6cf1230fc64fap+2 +0x1.dcbcdf914d19bp+5 +0x1.3536efe9827d5p+5 +0x1.cdd5a0cabf976p+3 +-0x1.bfefec036a01p+4 +-0x1.618704dd2237ep+4 +-0x1.17cefc37ce9e6p+3 +0x1.67adb2356ca23p+5 +0x1.3a39542a3d08dp+4 +-0x1.d038d39843b5cp+0 +0x1.36d7a84eb8a79p+3 +0x1.e318b27ed0599p+1 +-0x1.3e982c6df06fp+5 +0x1.471aa1ad93735p+5 +-0x1.178b0d8b0e41bp+5 +-0x1.b5c3386698386p+4 +-0x1.a52045d0cb3b4p+4 +-0x1.d018cc3de79a2p+0 +0x1.25707b545b91fp+3 +0x1.e26ee3996bd8ep+5 +0x1.1156ce1170e2ep+3 +0x1.a0a6aa2e7bd22p+5 +-0x1.267fe26a632a4p+4 +-0x1.1988fafc41493p+3 +0x1.0b474ede969c2p+4 +-0x1.8fe1987a07791p+3 +-0x1.5fdfda703863ap+5 +-0x1.9437084d0518ep-1 +0x1.8d0837e936cfdp+3 +0x1.8b69391996a2ap+5 +0x1.fd35a316fc2eep+5 +0x1.20e7616eca6e2p+1 +0x1.1338d3fa2926dp+6 +-0x1.ea5206d0e59ddp+4 +-0x1.cd9f2866a138p+3 +-0x1.1da76fac5b14ep+6 +-0x1.123ce38c400a3p+5 +-0x1.07273f5501a1ep+4 +0x1.d21bc9014d725p-1 +-0x1.39b1efce626c6p+4 +-0x1.153f21880d3b8p+6 +0x1.8dd607ab18a3ep+5 +0x1.c9119430f7652p+3 +-0x1.06ef9d5040c57p+2 +-0x1.f7e71e8eb08dfp+0 +-0x1.2bcc972227b6p+3 +-0x1.556f26bd6a989p+5 +-0x1.263feb687a572p+5 +-0x1.d0ae290be2126p+4 +0x1.bf14b6eaddd81p+0 +0x1.d08ea372372fcp+1 +-0x1.d899f538399cep+5 +-0x1.c8a9969e9fae7p+4 +-0x1.5587db2a38d7p+6 +-0x1.c510ed03a0fe3p+4 +-0x1.18b784fb0ed45p+5 +0x1.71cc014d2e991p+4 +-0x1.64f178d84bd9ap+4 +0x1.23e878698dbd8p+4 +-0x1.aec4fa9e8ba9cp+2 +0x1.30e845b965931p+5 +-0x1.f9dee68a8a975p-1 +-0x1.24ba81f47f9a1p+2 +-0x1.9fe796266bcc3p+3 +0x1.af099e5373c01p+5 +-0x1.43231ad599d27p+3 +0x1.1580806ff282bp+5 +-0x1.dd82938144e22p+4 +-0x1.29bfc266ae7abp+0 +0x1.5fafe5b5edad1p+4 +-0x1.22b3574e65c91p+4 +0x1.6651c618cf3f4p-2 +0x1.e17a669700255p+4 +0x1.d3c68b80f60d5p+3 +-0x1.56483d0667741p+1 +0x1.f538f451b9fdp+2 +-0x1.7fb88e136c291p+5 +0x1.7459694066d8cp+2 +0x1.90a7c3293e66dp+5 +-0x1.74067a2d8c534p+2 +0x1.3902e701e5a2fp+5 +0x1.359ad7f5f0d46p+3 +-0x1.14bb77ddc0726p+6 +-0x1.d2b000335796p+4 +0x1.f9f7f852b5e01p+3 +0x1.f4b9e2ad91dap+1 +0x1.18af71f8a9b28p+5 +0x1.2336b1cb0fafbp+6 +-0x1.aa7a9d484c47cp+4 +0x1.23d8f222d52a2p+5 +0x1.06602864ed3cbp+4 +-0x1.e4cd46e5cb0f2p+2 +0x1.0787d6a0e9bcdp+5 +-0x1.9b00fe119f6bbp+1 +0x1.fe98dd197274bp+3 +0x1.5ce4da1b33f67p+5 +0x1.54b8001746585p+3 +0x1.7631f2c31f401p+4 +-0x1.56d6cef83e5a1p+5 +0x1.e93e0296d3f9cp+5 +-0x1.508c63cbc95e1p+4 +-0x1.cfc48b79ddbf1p-1 +-0x1.c205f2e58cca8p+5 +-0x1.4665ebc7cd0c7p+6 +-0x1.95aab1bd6c38bp+3 +-0x1.0cb91d1523407p+5 +0x1.517e2f1d103eep+3 +-0x1.bf61d1396f8d7p+4 +-0x1.457ed59185adbp+5 +-0x1.37c8c2e9eda75p+4 +-0x1.002cb202563ddp+5 +-0x1.07c27a4b98428p+4 +0x1.274167b3edc11p+4 +0x1.38f41e03ca394p+5 +-0x1.81ce3adcc24efp+4 +-0x1.d73dd14402c5dp-3 +0x1.1be2452685e43p+5 +0x1.6d43665dba9a7p+7 +0x1.2310181f92686p+4 +0x1.23500e746171fp+3 +0x1.19c6bdd0879c7p+3 +-0x1.5e77f6e1a6136p+6 +-0x1.a6520e7760427p+3 +-0x1.fad8dc512ef64p+2 +-0x1.520906b4ca0edp+3 +-0x1.77399951d85bcp+3 +0x1.14293c930bd93p+4 +0x1.50f49f30f41a3p+4 +0x1.365732ee9462cp+5 +-0x1.3469c823bafdbp-2 +0x1.b1cb35b097958p+3 +0x1.0c8065025cd4ap+3 +0x1.53f72f16765c3p+4 +-0x1.ba6bf36ca2f71p+5 +-0x1.142e216b09fb8p+1 +0x1.240137694a3c1p+3 +0x1.bd15027accbd9p-2 +-0x1.5a932d908486ap+3 +0x1.ba4fb40fa34a4p+4 +-0x1.223d30ff2a1a5p+6 +-0x1.27b8add6a6886p+2 +-0x1.a8e54543a5198p+1 +0x1.01d10f40bbe4dp+4 +-0x1.93f7d1ea9858ap-1 +0x1.7fcdddaeac474p+4 +0x1.9a1d8d576de6fp+5 +0x1.036463aaa8b1fp+5 +0x1.b0e6ff5eda3cdp+2 +0x1.02db2f7f0de33p+6 +0x1.6b8a9f549c9b6p+4 +0x1.2fa00597e9e36p+5 +-0x1.d82327772da7cp+4 +-0x1.9d410aaf06663p+5 +-0x1.de77e9c0a780cp+0 +-0x1.bb181cc90774ep+3 +-0x1.cb4adcc5751bcp+1 +-0x1.3f3ebcce0aec2p+5 +0x1.2cd10b49175d9p+5 +-0x1.6f6f2351ad838p+0 +0x1.ed8106947686cp+2 +-0x1.89506742e5d8p+4 +0x1.00c424a42565p+5 +-0x1.6b352e885e7c3p+2 +-0x1.08fb74dc0ab89p+5 +0x1.26b1b1abb522ap+5 +0x1.5f5b97eb4da63p+3 +0x1.5767d36361b7ap+5 +0x1.276b5609db7f6p+5 +0x1.2bc056d863c86p+5 +0x1.054068516fafdp+5 +0x1.e8fb5d99a1a68p+1 +-0x1.7950f176344c2p+3 +0x1.61c78ee7f9271p+5 +-0x1.3da239be38048p+5 +0x1.b309d11338a01p+5 +0x1.b3d519e1bf1d4p+1 +0x1.c7101bf613de6p+3 +-0x1.17cc8034ddd1ap+6 +0x1.5e9e67ea45c7ep+3 +-0x1.7b88b9484a232p+5 +-0x1.bc3d10fd50bc6p+3 +0x1.fe17716a6268cp+5 +-0x1.454e049d56536p+1 +-0x1.203ea7655130ap+0 +0x1.0b62ff735d823p+4 +0x1.0a3696500908p+3 +0x1.b69cbdbd83417p+0 +0x1.e4a2a0310a0dp+3 +-0x1.fc1de8ce9ccbbp+1 +0x1.9c5f0ca6d5bcdp+4 +-0x1.c662e4a9e2b4fp+2 +0x1.cb7759ff98897p+3 +-0x1.61d9a3955f9e8p+3 +-0x1.1450cd02b8002p+5 +-0x1.e773533e402e8p+4 +-0x1.a191c553590d6p+2 +-0x1.3b0969f3dad3bp+5 +-0x1.5739785aa9cb6p+1 +0x1.974ac42aa19f3p+0 +-0x1.19e94204b2e05p+5 +-0x1.60de180df5b3ap+3 +-0x1.7877256bbd104p+3 +-0x1.fea15116b212bp+0 +-0x1.c22308bd575ddp+2 +0x1.288e7f47d1b81p+3 +-0x1.0be3f8116e0dep+1 +-0x1.e322c79333de6p+3 +-0x1.11322e6dd5efp+4 +-0x1.34b88999f1bfdp+5 +0x1.52f1279623616p+4 +0x1.119c0fbd1adb5p+5 +-0x1.69e2d1e8fa137p-2 +0x1.1feb9ad409c2ep+5 +0x1.61feda8a1b167p+3 +-0x1.8f798a89cb563p+5 +-0x1.0381ca9d806c6p-2 +0x1.969822a48f2bfp+3 +-0x1.4b524db6de106p+2 +-0x1.321ac45903b65p-1 +-0x1.6ebfad34f3528p+5 +0x1.e1d78c350aacfp+5 +-0x1.1208ee7041017p+4 +0x1.50da0aca712e9p+4 +0x1.095648628df8p+5 +0x1.d7c7b5dcd6724p+5 +-0x1.d0964bde55c72p+4 +0x1.2e651714ec24dp+4 +-0x1.c0bdc3f5eb2e8p+4 +0x1.1695d07763352p+3 +0x1.0454b477b93dbp+4 +0x1.4ccce934eb87fp+3 +-0x1.1db5faa1216e6p+1 +-0x1.786a46d1d8691p+5 +0x1.990da5661a543p+4 +-0x1.0ccbbf8e5a596p+1 +0x1.4f6fe74404b98p+4 +-0x1.d20a797212608p+4 +-0x1.99dd5f0dc1be9p+3 +0x1.e5340b83aa563p+4 +0x1.a5b969d782f2p+5 +-0x1.928d3bcbf4518p+3 +0x1.2e315198a9783p+3 +0x1.513135f05f2bbp+4 +0x1.0222ca2b4f081p+4 +-0x1.89523b2b1129ap+2 +-0x1.ec6731814760cp+2 +0x1.0523de79fd4ecp+4 +-0x1.3a3f7be689a0bp+5 +0x1.5ebaf64b450f1p+5 +0x1.224768673ab86p+5 +-0x1.1e90c4dbc07dep+6 +-0x1.fedbaa128aafap+4 +-0x1.022820fe4bbf4p+6 +-0x1.03bc53d9dd946p+5 +0x1.726507104601ep+4 +-0x1.e2fa33afd4d83p+5 +-0x1.000cc0f07a4a9p+3 +-0x1.16afe7cf93e2fp+5 +0x1.5d8299296a8cp+4 +-0x1.582e240c71aaep+5 +-0x1.65ffe7961a37p+3 +-0x1.07b00502bdde1p+5 +-0x1.8a79a9cce700bp+5 +-0x1.362ff8c8539bcp+5 +0x1.5a2a55bb21dddp+4 +-0x1.ad62d5415a7f6p+3 +0x1.43efd93e082dcp+1 +-0x1.121de9c0dc664p+3 +-0x1.68e8ebc40287cp+3 +-0x1.4737a7b0ff72fp+4 +0x1.8d7229f449b5bp+4 +0x1.d3724fc717215p+2 +-0x1.d01bf904aa6b9p+4 +-0x1.d040af28a58fcp+4 +-0x1.8f066b99c681fp+6 +-0x1.23d4f32e81314p+6 +0x1.2ae7ecad8a2f3p+4 +0x1.8733f7daea068p+5 +0x1.bc26f58537a4dp+4 +0x1.8ddbdaf9013e4p+2 +-0x1.c049b5b81bf84p-1 +-0x1.fec4921b7b307p+3 +0x1.7f7968f52df6bp+5 +-0x1.1dd896290ba68p+4 +-0x1.a9ae636ac6ad5p+4 +-0x1.8077dd65339dep+5 +-0x1.1e7b08199fe76p+6 +0x1.235395438149fp+4 +-0x1.c87d10a63d169p+1 +-0x1.d320da5d9ee0ap+3 +0x1.03b143c0b2672p+4 +0x1.7a38475a7c219p+3 +0x1.242e1d397e6bdp+5 +0x1.b7936a31add3p+3 +-0x1.4f848b363cbf1p+4 +-0x1.0e20dc0f9d118p+5 +-0x1.c14bc04ee403cp+5 +-0x1.0015187c17de7p+2 +0x1.a4475fe31d5f4p+5 +0x1.d225c2f94ab9dp+2 +0x1.21c16635ce30cp+3 +0x1.235af779a7eecp+4 +-0x1.1b58b94905d77p+4 +-0x1.58b5e5e5e17d8p+3 +0x1.dc72e34ae62ecp+5 +-0x1.de7f639b3d658p+4 +0x1.76a74d5003af5p+2 +-0x1.b2a27178698ffp+3 +-0x1.d78d2ad9958eep+3 +-0x1.d3a2753254aedp+4 +0x1.5d8ba75afc39p+1 +0x1.cc630898af8cep+3 +-0x1.22ebdca8bfeabp+5 +0x1.78e75f962beb2p+3 +-0x1.9911172a835e6p+4 +0x1.0855c3159b79p+5 +-0x1.36a249f6713e1p+4 +-0x1.2510e79baa8e8p+5 +-0x1.0d06dd5d881f2p+3 +-0x1.1ee6ddba8f464p+4 +0x1.afd89ba2db15fp+2 +-0x1.29809ec5a8b95p+4 +0x1.aaf702a408688p+5 +0x1.9dcb10f0825a1p+1 +0x1.5f3cc882f0ce7p+4 +0x1.4ba3a5ffa79fcp+5 +-0x1.6d9b24ac25c87p+1 +0x1.a3ea737ecd838p+4 +0x1.207bc67429ddfp+2 +-0x1.fe6d08f681db5p+4 +0x1.1a69746b81fc4p+4 +0x1.d70e4ab377134p+4 +0x1.6f4597dae2bbbp+5 +-0x1.0c62a62513245p+3 +0x1.d820c9530305ap+5 +-0x1.71efdc4a4f75p+4 +-0x1.30841919dfc79p+4 +0x1.70f5336e17d7dp+3 +-0x1.681d715f5e4e3p+2 +0x1.d6ae61baacdc4p+5 +0x1.f196bbf5215ffp+4 +-0x1.41d18d0f022ffp+6 +-0x1.762a83fb3a7fbp+5 +0x1.d63c0d6692ca9p+4 +0x1.f220354c3cc18p+5 +-0x1.f1afc8040b129p+4 +-0x1.87fc703fc6938p-1 +0x1.a217aac4eab47p+5 +-0x1.e8a8802353b04p+4 +0x1.7d3ed50ce274ap+4 +-0x1.e87dd9747919bp+4 +-0x1.9ed7a29a9c834p+4 +-0x1.5be9942ff4d2p+5 +-0x1.9df17d86201f9p+2 +-0x1.4d8be99e8188dp+5 +-0x1.1e72c639b0ae7p+4 +-0x1.cd544b866b613p+3 +-0x1.297df97e7a9ecp+5 +-0x1.72ed200511deap+4 +0x1.351bfe4f9af6ep+2 +-0x1.7a6163d228fb8p+4 +0x1.524c21b4055d1p+4 +-0x1.13f8ce4bcfdbep+0 +0x1.1f938f466b00fp+4 +0x1.21e2580529246p+3 +0x1.7f5a81506ac11p+4 +-0x1.0326e0867440ap+4 +0x1.3dbaa26960115p+3 +0x1.c7e527bc02a67p+2 +0x1.5e1d8eaca6c95p-2 +-0x1.d7ebf650cc9b9p+4 +0x1.9097b662a59eep+4 +0x1.469b66aad8413p+1 +-0x1.fd2e4f7bf87bfp+1 +0x1.34111b41a0232p+5 +-0x1.320bb7ec305bbp+4 +0x1.c3d3ce6fb26cdp+2 +0x1.d68badce5fad4p-1 +0x1.d5fbd9a4099ap+4 +0x1.7747520a8506ap+5 +-0x1.a3adc4d8243f9p+5 +-0x1.c7e54a561edfcp+3 +-0x1.1872b908a3c89p+3 +-0x1.e39d87f265b94p+4 +0x1.b75530da2cbeep+5 +-0x1.db9717453752p+2 +-0x1.7e4a49aa11db4p+3 +-0x1.ca0c47971a2e3p+3 +-0x1.140941e8f4e9ep+3 +-0x1.b89a4d30de0b1p+5 +-0x1.047d929ca12b4p+1 +-0x1.1fca22d9e3d3fp+5 +0x1.b510ea6341a5dp+2 +0x1.0ea7bf950d4bep+5 +0x1.c6c843e32c486p+4 +0x1.60342384077cbp+5 +-0x1.a5ffd2292d3b4p+3 +0x1.15160e2ef6484p+3 +0x1.125b5c34f3271p+5 +0x1.90738b259e457p+3 +0x1.d921afd783667p+5 +-0x1.b154157bf17a5p+5 +0x1.4431396d43267p+5 +0x1.f07062f70ded8p+5 +-0x1.469440b3191fep+3 +0x1.be8d7ebaf73cep+4 +-0x1.6c8e20d320275p+5 +0x1.597e7bc43487p+5 +0x1.727436957ad8p+4 +-0x1.7b4e545a4fef2p+2 +-0x1.47ffa36f14afap+5 +0x1.e144f75d2808bp+4 +0x1.260285817baf3p+4 +0x1.686e95f29c34dp+5 +0x1.710bd5d2c5ee7p+5 +0x1.55e840d9b9166p+5 +-0x1.43ffa8e88d158p+3 +-0x1.69b8c86092a1fp+4 +0x1.c0c0d7045be57p+5 +0x1.eac24ae0b33dcp+4 +0x1.e064bf381862bp+5 +-0x1.c5a6f5ae0f81ep+5 +0x1.7d090a3ef9149p+6 +-0x1.51054c3cebb78p+2 +0x1.87593e01b5edp+4 +0x1.064c8f50de85ap+6 +0x1.0e768a936696ep+5 +0x1.fcd304df17d13p+4 +-0x1.83da27a69b128p+0 +-0x1.6fa7bbb482b52p+5 +0x1.1131d402eeaa7p+2 +0x1.84b6ef7476f9dp+5 +0x1.82d034b577949p+6 +0x1.3070756303b56p+4 +0x1.d6dd86c0ff286p+3 +0x1.b0c4237bd40dep+3 +0x1.6ecb46f059fb6p+1 +0x1.5472d0ca8751bp+3 +-0x1.2c76e4e00044bp+1 +-0x1.d8f29a525c17bp+5 +-0x1.91d9f20f8ddd2p+6 +-0x1.aa4dad59a0ec4p+0 +0x1.88639a9d97768p+3 +0x1.0047971d6e2a7p+5 +0x1.115370a703986p+2 +-0x1.e2efd44d4231ap+3 +-0x1.dc8958f7b3acbp+4 +0x1.dc3e846d83038p+3 +-0x1.b51a1cc78e455p+4 +0x1.aa61367a61e3dp+5 +-0x1.99a04cdfd0df1p+4 +0x1.b0839e4189b87p+5 +0x1.d13377c3aa005p+4 +0x1.84ad13f7cf1c9p+3 +-0x1.443c98b0560cbp+4 +-0x1.eeb87ebb65fa6p+4 +0x1.38c446b779cd2p+5 +-0x1.710f7cbaa56ebp+5 +-0x1.07b1a0825c188p+5 +-0x1.c75e1451c74e3p+4 +-0x1.3ddf731fb1842p+3 +0x1.27092f8aa5296p+5 +-0x1.0833d382ec7cdp+3 +-0x1.2cb6b94f88bdap+1 +0x1.6bd3df33085e1p+5 +-0x1.17db097560542p+5 +-0x1.fc4a6a3e62f6cp+1 +0x1.a13b131bdbb55p+5 +0x1.40fc5612ba1c1p+3 +-0x1.cc7f4e662776ap+4 +-0x1.792ec52d353ep+3 +-0x1.44a492f5ff5d6p+6 +-0x1.3827d3f76703bp+5 +-0x1.41cca35a5f8bcp+6 +0x1.fe5e455cb8454p+4 +0x1.d9b4370fc2651p+4 +-0x1.5a043cec84b91p+1 +-0x1.dd150317c60b9p+2 +0x1.dfc3cb1d20efp+4 +0x1.1f3afe7426708p+2 +-0x1.0cc97c80d87ddp+4 +-0x1.201c3df5ee694p+4 +0x1.df82b0e4c13fdp+4 +0x1.395d76dbb0bf2p+2 +-0x1.0b866d3ed57bcp+6 +-0x1.738d300f0c4d4p+5 +-0x1.0eeade15c772fp+5 +0x1.40cdcce2fc373p+4 +-0x1.3c73da13f2cc1p+5 +-0x1.74ae489a85dacp+2 +0x1.d82759a5a7c6fp+4 +0x1.ad9adb2f3c1aep+4 +0x1.1723e809d8be9p+6 +0x1.8f42905a6af4p+3 +0x1.550ea22983af2p+5 +-0x1.b17830927004cp-1 +-0x1.061f0850a474bp+5 +-0x1.7ae9b9ac3ce2fp+2 +-0x1.1541c8e599a71p+1 +-0x1.ed3335edb3fd8p+2 +-0x1.a2b8e06527b38p+3 +0x1.a0f539991818p+0 +-0x1.e01f1bfe66fc3p+3 +0x1.16513190b331fp-2 +-0x1.39bbd90a02bf2p+2 +-0x1.a0c207726808fp+5 +0x1.268d4ca64e482p+5 +0x1.8e2fbc3125b5ep+4 +-0x1.6b14c3fe2796cp+4 +0x1.8dc764d61a0ccp+4 +0x1.8779e69e57682p+3 +-0x1.176c96d183422p+4 +-0x1.25a54306d73b7p+5 +-0x1.81eb79a888b49p+4 +0x1.2ef405a58bab5p+4 +0x1.11e367b41be23p+2 +0x1.8ec7b0a28eee7p+2 +0x1.074bb4b92a08p+1 +-0x1.fad8058412ce2p+2 +0x1.827dd95ed480ap+3 +-0x1.14a3ce94c49d2p+5 +-0x1.6c924ef725951p+3 +-0x1.75eb80c0dbf7bp+5 +0x1.24954c7f5ee18p+4 +0x1.f902db3318d55p+3 +0x1.640cf26bfbb62p+2 +-0x1.2f224f92f6885p+5 +-0x1.02d94b4d9016dp+5 +-0x1.9b7db7392324dp+4 +0x1.68651ebb454f2p+5 +0x1.f4796f30027fbp+4 +-0x1.d1393d75f4511p+4 +0x1.c5dc8fd3603a6p+5 +0x1.bb6f3211e908cp+2 +-0x1.cd8996d89a7e6p+4 +-0x1.c73193f75f0c3p+4 +0x1.987076bd1eeaep+3 +-0x1.a68fc08dfec19p+4 +-0x1.7ea432dd2a5a7p+1 +-0x1.339fbe43d34c6p+5 +-0x1.413901f5193e6p+3 +0x1.ce62222b3805cp+4 +0x1.970f028113879p+5 +0x1.8abad91d0108fp+4 +-0x1.2c58f7a4e021bp+3 +0x1.06a996941e707p+5 +-0x1.640e731051c8bp+7 +-0x1.fe3dd3b21c701p+5 +-0x1.6021c857420fcp+4 +-0x1.575737013d5d6p+1 +-0x1.cfee4949fe65bp+3 +0x1.11638da253de3p+3 +-0x1.fb4ad68db196fp+3 +-0x1.c39980192670bp+3 +-0x1.00d2d9006315dp+3 +0x1.7fbfd8baa1d71p+5 +0x1.5a65d861f8c53p+5 +-0x1.195100e9c8f91p+2 +-0x1.4915bbf40d86fp+0 +0x1.6beb9b08962b9p+4 +0x1.57a911eb1ad5fp+3 +-0x1.12d0505a7c635p+2 +0x1.89ea2ae702fcp+3 +-0x1.5632cdad9c323p+3 +-0x1.d4c06be24be8cp+4 +-0x1.4f1954f19cfa9p+3 +0x1.3db72f9579379p+4 +-0x1.d8db14a91be06p+3 +0x1.98df14da2cd37p+4 +0x1.14ed3aaba1e13p+3 +0x1.152fd86c0f4d9p+3 +-0x1.eb0c41597dcfdp+2 +0x1.c34ee9c0b662p+4 +0x1.f84a204697033p+5 +0x1.43f320e296de6p+4 +0x1.38668c7e85186p+5 +-0x1.0fcdda4fc16b8p+4 +-0x1.9f96a6f3cef22p+2 +0x1.e85928dbfb41ap+3 +-0x1.361cdf5362f57p+6 +-0x1.8c83ce414b22fp+5 +0x1.1c76ac621150bp+0 +0x1.5b16355b23c86p+4 +0x1.5c549458b4ea9p+4 +0x1.969e895e32515p+0 +0x1.2440fa8897061p+6 +0x1.31fb48ccd28e9p+5 +0x1.2d1b84d2bb28ap+3 +-0x1.225302fa6c87ep+4 +-0x1.342994f685e83p+5 +-0x1.71951e6049268p+3 +0x1.29b1a102edbd7p+5 +-0x1.cff757eb27dffp+5 +0x1.2a3a816ba5faap+5 +0x1.f42529712cc99p+1 +0x1.c8b54130361efp+4 +0x1.83bb476615988p+2 +-0x1.0da2b7a85423p+1 +-0x1.0fdb2e462211cp+6 +-0x1.35115f1147a95p+5 +-0x1.b6312122192f4p+3 +0x1.a740b09c4e06fp+3 +0x1.09450797d14ccp+4 +-0x1.b8529be49df6bp+3 +-0x1.808f836249d14p+5 +-0x1.b7e28934b005fp+3 +-0x1.3c6e2582182cdp+5 +0x1.e87adde1019eep+4 +0x1.3902b2ba290bap+2 +-0x1.76edd365a8352p+1 +-0x1.667d7d6d8cd7dp+0 +-0x1.8b4aa06b5acdep+3 +-0x1.4a9160586351bp+4 +-0x1.36f888457e0f6p-1 +-0x1.9fb55e7c25027p+4 +0x1.0cca47e013bebp+4 +0x1.f9b5d46083528p+6 +0x1.0dc2f1273843ap+3 +0x1.9a8405cf46916p+5 +0x1.a607c945b5ac9p+5 +-0x1.44bb7d10967a3p+5 +0x1.f3e262d7d2025p+4 +-0x1.1518701db4cacp+5 +-0x1.5946e5076ca65p+5 +-0x1.d8f4f72e75f3bp+3 +-0x1.bc8404e8eea26p+4 +0x1.c53ab41121f9bp+0 +0x1.191f9a7809804p+5 +0x1.acbceb1ee93cep+4 +-0x1.4c2d729be6727p+4 +-0x1.02ea11fc8cd65p+5 +0x1.20889d795ca8cp+3 +0x1.8c2f30e6de49cp+5 +0x1.10b322fb9951bp+1 +-0x1.699c5b99f3a9bp+7 +-0x1.2743a11ce3daap+4 +0x1.4c16c24675605p+3 +-0x1.035d74bcbe027p+0 +-0x1.5967711870325p+3 +-0x1.044af2319224cp+5 +0x1.572759d0c031p+4 +0x1.0b9a4cb849af3p+6 +0x1.c2c14901ebb99p+3 +-0x1.18b6f0db87a4bp+4 +0x1.aa7be7a00f4afp+2 +0x1.0e7168cd2a5b9p+5 +-0x1.b5a3dcd4bbb18p+2 +-0x1.c72a6a042e50ap+3 +-0x1.cb81070961543p+1 +-0x1.47dbd3cd97892p+5 +-0x1.df37b2105266ap+4 +-0x1.430243a5f0f96p+5 +0x1.f6647fbd4cb5fp+5 +0x1.d75654d29b386p+4 +0x1.19a419c0aa2c8p+4 +-0x1.ac16228b22c89p+3 +-0x1.901e201c5cac3p+4 +0x1.091687705c0fep+4 +-0x1.e3f9a13ff48efp-2 +-0x1.6e97388085eb2p+4 +0x1.66dc784199b8bp+5 +-0x1.6800f8cb7b18p+2 +-0x1.a8aa7773154bcp-2 +-0x1.aee52b26e299fp+5 +0x1.cf472b7ab2264p+3 +0x1.894a2ce6e0933p+2 +-0x1.7819202c89d5dp+1 +0x1.2401c8899a63p+5 +0x1.4296ce4e36ddp+4 +0x1.b9051ee5173f3p+5 +0x1.6b220e627c763p+4 +-0x1.91f2694f245dbp+1 +0x1.aed15d501a24fp+5 +0x1.144ca30cf11f4p+6 +0x1.67aa4ff5ab2b6p+5 +-0x1.48a91f20bffc6p+5 +0x1.9a61f20256742p+2 +-0x1.131b2bd2445cap+5 +0x1.eaf8483e99704p+3 +-0x1.9efd931e2acdep+4 +-0x1.a0321a75a5356p+4 +0x1.616db09e2fa48p+4 +0x1.2ed1fbbf59e47p+3 +0x1.c5cc15a896495p-3 +-0x1.9f96e8dcc513fp+3 +-0x1.0ef2a558260a4p+5 +-0x1.6462b400a9578p+2 +-0x1.d53832d3bed9dp+4 +0x1.b8dd7040d692fp+3 +0x1.4874b97365b26p+3 +-0x1.ec97ba98fa1b1p+5 +-0x1.53ef33d7c4a76p+4 +-0x1.07fba90718481p+5 +-0x1.d5c393bd7c10ep+3 +-0x1.448fe47264738p+6 +0x1.094c28d7301dp+4 +0x1.31663ecbd3645p+5 +-0x1.cf8768a66ee09p+4 +0x1.3509d066274a2p+2 +0x1.8dabe1a2eca3ap+3 +0x1.89563e1a7abc4p+3 +0x1.41e1ccabff7ap+3 +-0x1.bb2d1c4e64f42p+4 +0x1.1c840e2a493d7p+5 +0x1.bc5d90d6ec0a3p+5 +0x1.36b89c616fe2fp+4 +0x1.63b2d5835604bp+0 +-0x1.88f8a32b99b0dp+5 +0x1.033bdbbad7697p+5 +0x1.7102185faf9b6p+4 +-0x1.3d096a9d70e32p-1 +0x1.3473c7e0d3656p+5 +-0x1.e31a31f195de4p+4 +0x1.efcb56603790dp+4 +0x1.a506ae382d772p+2 +-0x1.711fe7fe834fp+0 +-0x1.144e54b43e567p+5 +-0x1.821f6af7bfa5cp+3 +-0x1.facc3d8bb364ap+1 +-0x1.8d13ffd78004p+6 +-0x1.69e3ad3c29a73p+3 +0x1.4818c4a85a7a4p+4 +-0x1.40af87bbf289bp+5 +0x1.74a9b37329c64p+5 +-0x1.03bd38674857bp+5 +0x1.6e1a90fa22563p+1 +0x1.702f9efb00858p+4 +-0x1.810b8067e927dp+7 +-0x1.a287826e25cc7p+4 +-0x1.6a13d125c1d2dp+4 +0x1.bf6545614f2aap+2 +0x1.0073b49702568p+1 +-0x1.deccb44d69f3dp+4 +0x1.b97cd53a84b79p+5 +-0x1.e859599a8541bp+5 +-0x1.e8608a26fd75ap+4 +0x1.29b278175bf62p+3 +0x1.8068782345c75p-3 +0x1.0c8efd730f12p+1 +0x1.8abba277c6feep+4 +-0x1.70115381b7af9p+3 +0x1.11c3004c61d25p+4 +-0x1.fcebaafb4ecb6p+4 +0x1.b7819a2b6aba5p+2 +0x1.c4abced09ea7ep+4 +0x1.20b7f2c0a02e9p+1 +-0x1.625d30f6bd861p+3 +-0x1.4d16412bc07b6p+6 +-0x1.6e78e8541f34cp+5 +0x1.ff57b4477173ap+2 +-0x1.732f7fbf78345p+5 +0x1.c60c8a18ca74bp+5 +-0x1.6c0f712692246p-1 +0x1.6c6fccae9544p+4 +-0x1.8770ac5c7c4d7p+5 +0x1.2e1f3fb86e2e1p+4 +-0x1.8a5f0fb797007p+0 +-0x1.137b351e7d8bep+1 +0x1.08318d16847cp+4 +0x1.55dacfe7d2f16p+4 +0x1.c697ca1ea3a28p+4 +-0x1.7e14c4e8c5dd1p+3 +0x1.c05af990ced74p+4 +0x1.8237cef072a53p+4 +0x1.d456c46c32ff5p+2 +0x1.8f5974602f8c2p+4 +0x1.9e93011006be8p+5 +0x1.27f39a9c172a7p+5 +-0x1.1bbf7b8216c44p+4 +-0x1.be890b1a75765p+1 +0x1.a553d59400777p+4 +0x1.43939e5464cfdp+4 +-0x1.4045e41a2f778p+5 +-0x1.35a0f5e4ccdc2p+5 +-0x1.3422aac46b8f2p+4 +0x1.fa67b5b462e41p+5 +-0x1.3cc6fc0ab709dp+5 +-0x1.21421cb0c391p+6 +0x1.78175b45bbf5cp+3 +0x1.07b0322010eb3p+6 +-0x1.39bc1cac5674ap+4 +0x1.7e1ecab2b8611p+5 +-0x1.a8cdaa343f1c3p+4 +0x1.f5b0caff27af8p+4 +-0x1.e7061a420527ep+4 +-0x1.323af1ffac813p+3 +0x1.8d033a8dd7ddap+4 +-0x1.a1a07454f8a1dp+4 +0x1.50cc41f57d39ap+1 +-0x1.f56e5e9fada02p+4 +0x1.3859d96750defp+4 +0x1.73203bf383085p+4 +-0x1.8adde5f8f1df4p+4 +-0x1.d557ae14c19b7p+1 +0x1.36e46dc9e2dddp+2 +-0x1.3327087d2eb26p+2 +0x1.27b77812c8d7bp+0 +-0x1.3d6d9449f0b2cp+4 +-0x1.11e906c2545bep+4 +-0x1.deaedd8052d44p+5 +-0x1.6c268666b780dp+3 +-0x1.751cb5efc0125p+3 +0x1.7e5a447cbe912p+4 +-0x1.a1a94467137d8p+4 +-0x1.631e76fac0a58p+4 +-0x1.4974ea8a5b944p+2 +-0x1.610c39847f6dep+0 +0x1.64f79be504d66p+3 +0x1.ef4876bb9373dp+3 +0x1.3bf07758ac0edp+6 +0x1.1b3054b54d8d9p+0 +-0x1.0d3a4f35633c5p+3 +0x1.017ee3b6d9aebp+6 +-0x1.208cbf8e3dbeep+5 +-0x1.5f084df226306p+5 +-0x1.2bc95225cf2a6p+1 +0x1.79882b08dd3ccp+4 +0x1.f213b8342646bp+4 +-0x1.a1dee7da2bf6cp-1 +0x1.398ba033f91a6p+3 +0x1.1da22d883e9c5p+7 +0x1.d42f3c7406546p+3 +0x1.2bbf93e04eb95p+6 +0x1.b164e917a32f8p+2 +0x1.adaf625ba3cfcp+5 +0x1.e9a2d143c4b25p+4 +-0x1.17544ad4ba83cp+5 +0x1.3276ea83d9999p+1 +0x1.10b9018f94faap+3 +-0x1.534cf5b8733a7p+2 +0x1.162fbf03dcc26p+3 +-0x1.cedf6ae68040ep+4 +0x1.e4a268fcc1f87p+4 +-0x1.2988d714911b8p+4 +-0x1.35c038462ef2ep+4 +-0x1.8f9f8b27f2ccfp-5 +-0x1.2596ba0f8da32p+5 +0x1.ad4837c3f13d4p-2 +-0x1.d574c505bd404p+1 +0x1.9e272df83331ep+5 +-0x1.baca8328beadep+4 +0x1.9f22e23bc0f6p+3 +-0x1.c073ca76d48a1p+2 +0x1.1633b247d7e01p+4 +0x1.63fde035cd946p+3 +0x1.3bf3ffdc65e09p+2 +-0x1.2429280322e3bp+3 +0x1.b44f60e7247e4p+4 +0x1.35ef8ef818f27p+4 +0x1.89527e4afbc3fp+2 +0x1.01263efdae1d3p+2 +0x1.43f43b811264p+5 +-0x1.272e41a83f19cp+2 +0x1.cde265bc071c3p+5 +-0x1.2759fba345ef1p+5 +0x1.53c29fe09b2b4p+4 +-0x1.3b002ac772cc3p+4 +-0x1.a9d384a6c2d99p+4 +-0x1.c0ffa46344c7bp+5 +0x1.28be59a2b8973p+5 +0x1.dee23f044c63p+2 +0x1.00a382f66b2b1p+5 +-0x1.089955f5cde6ep+5 +0x1.02e05d7d05fdbp+4 +0x1.1d920135cafdp+2 +0x1.b4eab91fa7e9dp+5 +-0x1.50679095977ep+6 +-0x1.b02079606e48ep+3 +0x1.15067d4ddd5d2p+4 +0x1.33b2fd363a87ep+5 +0x1.229d8dbb97519p+4 +-0x1.14bb16ed08341p+5 +0x1.06aa7a7c56016p+4 +0x1.b45903726b769p+3 +0x1.715c2c71815e3p+5 +0x1.66840832724dep+4 +0x1.f24d72fa4a60bp+2 +0x1.dbf50b585b223p+5 +-0x1.938fba520654p+5 +-0x1.bbfd71f367dccp+1 +0x1.333e5ed1263a1p+5 +0x1.05222e2d2d4aep+1 +0x1.8c6cd202ba974p+5 +0x1.8f1b75ace3b7bp+3 +-0x1.02c5f5cf16d5p+3 +-0x1.1713aaf722843p+2 +-0x1.a29ad45c3a3dap+5 +-0x1.b6d618e039128p+3 +-0x1.70b115246867bp+2 +-0x1.d84737c689ddp+3 +-0x1.a232c0b047aebp+1 +-0x1.90dce13d5c42p+2 +0x1.523a7ebfe78e3p+5 +0x1.e70aedebd4b1fp+3 +-0x1.5a1c975911dbfp+4 +-0x1.ed119034e6a4bp+4 +-0x1.792fd2b9e456dp+2 +0x1.4880715dad285p+4 +-0x1.e435be704689ep+3 +-0x1.e5248c755c768p+4 +0x1.2ea91c7e4606fp+4 +0x1.0752368183a77p+5 +-0x1.9fd765276e4a2p+0 +0x1.d27774b0a46bcp+2 +0x1.a0de76d18538p+5 +-0x1.779e199954091p+4 +-0x1.9a63b29ced1acp+4 +0x1.4551c071e3612p+4 +-0x1.2bf0f08f79f3bp+1 +-0x1.ae0f77c31c75dp+3 +0x1.09f79467be0cbp+8 +0x1.34f0d2a12cd84p+3 +0x1.69e271f1f8fa2p+3 +0x1.2da5a48c9a9e1p+6 +0x1.a9cf96e2ed939p+4 +-0x1.45019d2ee0fb3p+1 +-0x1.661fa9d1f6bbap+1 +0x1.ce6a228515532p+4 +0x1.e60fc4f8bc76ap+2 +-0x1.ba4f23e166ab6p+4 +0x1.bef6acf8e5265p+3 +-0x1.f08f31b874a0cp+2 +-0x1.827eef84b9c14p+3 +-0x1.81451763c7fcbp+4 +0x1.929f7c4873464p+3 +-0x1.2e62ca652df96p+2 +-0x1.0b1e914266a6ap+5 +0x1.8b1da759fca95p+3 +0x1.41a8c338299f7p+4 +-0x1.c2ed3436ec8e9p+4 +0x1.23ff52f35c879p+5 +-0x1.79751538755f8p+4 +-0x1.0f890d76a6f7fp+0 +0x1.31813f5a8b34fp+3 +-0x1.19f82859faf39p+2 +0x1.4f28e4c463c9cp+5 +0x1.9f7be005ac4a4p+2 +-0x1.73dbd7d50128bp+2 +0x1.f24a97c1672e6p+4 +-0x1.3785bff77fa86p+4 +-0x1.28ddef8a7188ap+5 +0x1.af2e4bf2e0527p+4 +-0x1.bb9c349cb3eb1p+4 +-0x1.23738446973ccp+5 +0x1.216e94fde3782p+4 +-0x1.404f78dfdac49p+2 +-0x1.d5f7630733621p+4 +-0x1.6a54a38f0c78cp+2 +-0x1.ea251e3191e44p+2 +0x1.e4d75b70f7768p+3 +-0x1.51d77741c59aep+5 +0x1.f0ffbede3629fp+2 +0x1.07cd9aa1e8cc4p+3 +0x1.7291e70882dcp+4 +-0x1.3ff9407a20da4p+6 +0x1.16fa723f3f61bp+4 +-0x1.68cf93cb7cd7fp+4 +0x1.bda4753e9d1aap+5 +-0x1.5cefb291e68d2p+7 +-0x1.044f2c1e7031fp+5 +0x1.6a02aab723bc2p+3 +-0x1.0585998124d7p+5 +-0x1.51373e1abd6eep-1 +0x1.0ccfdf512b482p+2 +0x1.217ce5fc6541ep+5 +0x1.5f834695e1c6bp+3 +-0x1.4855b8dac7c66p+5 +-0x1.c67155ef87709p+1 +0x1.c4f27f1bdbe13p-1 +0x1.2a624540c149fp+4 +0x1.caa2ebc95573cp+2 +-0x1.682f24da6017ap+4 +-0x1.d0d90ecc89c53p+5 +0x1.904d8057eaef1p+4 +-0x1.d9bc35e72d545p+4 +0x1.b609cf1eb7875p+4 +-0x1.9a9a14ba31b5fp+4 +0x1.3644797ddce24p+2 +-0x1.ada57e0eb119bp+4 +0x1.8fce241b1e336p+3 +0x1.ac55e0fbe0d38p+4 +-0x1.0c3b900555af8p+3 +0x1.a5e5b3473e91fp+3 +-0x1.0565e7ab26f9ap+4 +0x1.6da23867e6d97p+2 +0x1.8559c6cb4dabbp+8 +-0x1.ff2f3bcf1d076p+5 +0x1.bef44a8e2b591p+5 +-0x1.8801d5721b75fp+1 +-0x1.cbb29dedb7859p+3 +0x1.09dc7087753f5p+4 +0x1.19e4c62dab446p+7 +0x1.7fefabfac6aa1p-4 +-0x1.6ef24221dc489p+5 +-0x1.f3f72bcea7a94p+0 +0x1.218a906174475p+5 +0x1.0652460d91c3dp+3 +-0x1.4bc35a7f6918bp+5 +-0x1.503f55f551c6ep+4 +-0x1.de0226626a4c3p+4 +-0x1.7c16f2a2e310fp+5 +0x1.be43032895252p+5 +0x1.a2e2c52f41be9p+5 +0x1.5f5178957b39fp+4 +-0x1.80f520a4221aap+4 +0x1.be8831b22588dp+5 +0x1.1e1ad8eda7dd8p+5 +0x1.88af12d33e396p+4 +0x1.56d510daccc47p+4 +0x1.2e8bca4275bb5p+4 +0x1.7c2a16c2964e7p+3 +-0x1.c3f2462543705p+3 +0x1.48d404a8ee454p+7 +0x1.11083b729cf36p+5 +-0x1.7e2af39315da9p+4 +-0x1.7da2eaba0ec41p+2 +0x1.506ffb7425729p+2 +0x1.7ab5ea8242debp+2 +0x1.b77cabf14db6bp+1 +0x1.7b3b4e2f05ddep+5 +0x1.bbddc223d8ed4p+4 +0x1.c509a23d73b8dp+5 +0x1.9cc29ecd7284p+4 +-0x1.3f2d5e6fe7b5ap+7 +0x1.826b805093a09p+5 +0x1.88114f0451dddp+4 +-0x1.242f7a3e92be2p+3 +-0x1.4b33f9eba0d61p+2 +-0x1.3ff7b15d65457p+5 +0x1.e5c145a39e135p+4 +-0x1.0452cb23c2ea2p-1 +0x1.2c762167ec373p+2 +-0x1.2fe8f78eba3bcp+4 +0x1.4b188c8b58e1cp+4 +-0x1.0280595397c7p+3 +0x1.81a3d0dc3fce3p+5 +0x1.61604f72cc50fp+2 +-0x1.88b9b48e6e12bp+3 +0x1.adbde0c853d1dp+4 +0x1.ef8b77b92c76ep+2 +0x1.6f05862b7c708p+4 +0x1.77fe3f349ae8ap+3 +0x1.e038095394ea6p+3 +-0x1.72ba700c37f07p+5 +0x1.cd4b0bddd9365p-2 +-0x1.4730babdc0c14p+6 +0x1.d2be6bebeedf4p+3 +0x1.e0cbeaa06b9fap+0 +-0x1.13802dfe62ed5p+5 +-0x1.1f41e33160aaep+2 +-0x1.29929c9c92042p+3 +0x1.d3f8e5ae13d6ap+2 +-0x1.6e8541189aef1p+0 +0x1.0ad203c10df6ep+2 +-0x1.e96f930781a01p+2 +-0x1.21e5d8eb57dd9p+4 +0x1.94f3cfeabb81dp+4 +-0x1.fea527443ca72p-3 +-0x1.93dc6ac05f8f3p+3 +-0x1.680cd1fdc064fp+6 +0x1.21f1f1626f20ep+4 +-0x1.060a6d09b6f49p+6 +-0x1.1ff16387bdfa4p+5 +0x1.29d32254d535p+3 +-0x1.0ccf3fbb8bc2p+6 +0x1.12b19649c70c7p+5 +-0x1.220a5ffef9135p+3 +-0x1.5ef9eb9552a3bp+3 +0x1.71cdb61a203c4p+4 +0x1.1b40f1a2fcebap+5 +0x1.dae3426c41647p+2 +0x1.ceb35659a8204p+5 +0x1.028d091c63623p+4 +-0x1.0e43930a7e9cfp+2 +0x1.67c3bc90a27d5p+2 +0x1.d86000d9a7707p+2 +-0x1.e6a3193c6903bp+4 +-0x1.d435916a9329bp-1 +0x1.1e75da86fb093p+1 +-0x1.0d4c1fec2fa9p+5 +0x1.b43d4895156f7p+0 +-0x1.d37956b1a6bd5p+4 +-0x1.a04d485c3b9e7p+1 +-0x1.04014c571b3e5p+2 +0x1.658acf683261ap+3 +-0x1.0ff5d61e9b253p-1 +-0x1.8d2fd916db9f5p+1 +-0x1.26c032f90fc1ep+5 +0x1.92570b013343bp+1 +0x1.5027343852a7ep+4 +0x1.687e11cabc067p+3 +-0x1.82955d1c9805ep+2 +-0x1.f0a28e0a0bfc3p+4 +-0x1.934f90e95a09cp+3 +0x1.9f3bffdb167d8p+3 +0x1.104161c484cbcp+4 +0x1.250e9485f986cp+6 +0x1.cbb8b279f75cfp+4 +-0x1.2355527e064a1p+5 +-0x1.39dd9137af427p+3 +-0x1.69653a2a1374bp+4 +-0x1.9e5b08d76b728p+5 +0x1.cf9e7d04b54bep+1 +-0x1.f509a8312f736p+4 +0x1.e6fb88bdc053ep+3 +-0x1.f677b13f47f1ep+6 +-0x1.387b95ebd786ap+7 +-0x1.d76b71224c9b6p+5 +0x1.c56e2c269a7f6p+5 +0x1.2fd78ccfebdf2p+4 +-0x1.53571df7a806p+3 +0x1.1fc02cf8c4886p+5 +0x1.39d581f782417p-3 +0x1.79ddb9cfaf268p+0 +-0x1.deccf2895ba49p+4 +-0x1.8c3e2b8fe0721p-1 +-0x1.5b33503a77d7cp+5 +0x1.3e4dd68a3b267p+5 +0x1.32e09414cfe9ep+3 +0x1.b25072bb38547p+4 +-0x1.e1b733cabc1a8p+5 +0x1.36b69bef0cbcap+5 +0x1.24780e586bcd3p+5 +0x1.8548539b1fd87p-1 +-0x1.3612bb1dc64eap+5 +-0x1.e537779e7d117p+2 +0x1.17896c66b683bp+5 +0x1.46868ed04dc18p+2 +-0x1.53c8ca3e29b1ep+4 +0x1.ea6f95ee5dcb6p+4 +0x1.b4e0038a61d51p+3 +-0x1.e2af578213281p+5 +0x1.0533a560b45f6p+5 +0x1.31e5cd8b6bc1ep+5 +0x1.a8aec58be087p+5 +-0x1.70f68000c51eap+4 +0x1.51f401ec7fbdp+4 +0x1.db06473f40fedp+1 +0x1.4e1963fd716bbp+2 +0x1.a93094e125a22p+3 +-0x1.1026fefab4092p+4 +0x1.2b11802d5672cp+1 +-0x1.1663b10191896p+3 +0x1.64f32aa7f17c9p+3 +0x1.76f537ad53e83p+5 +-0x1.229ed99baeca3p+0 +-0x1.9d54224e8c116p+2 +0x1.66399235e31adp+3 +0x1.8274241590838p+2 +0x1.56ef89e9426dcp+4 +-0x1.48c9fc90c511ep-6 +0x1.2c9095d7682e6p+3 +0x1.f11c2ae636f68p+2 +-0x1.d30d83164bea4p+4 +0x1.7c24af02ca1bp+4 +-0x1.a8496a3e739d3p+4 +-0x1.8d426075714abp+3 +0x1.2fee8d8fad0ccp+4 +0x1.2784b3c87544ap+4 +-0x1.fa3b208cc16eap+2 +0x1.5f32ab56a81c4p+3 +-0x1.d1bb10de8809bp+4 +-0x1.b9e65c992b6c7p+2 +-0x1.665a55a0cecccp+5 +-0x1.6dbe7021dcdc3p+2 +0x1.a46e973a3e99p+5 +0x1.4cde1121818fep+5 +-0x1.e842a6195ef26p+4 +0x1.a07a37e8d4c71p+3 +0x1.021d6b583a26cp+5 +-0x1.07a6aa47f6bfcp+3 +0x1.684072264d247p+6 +0x1.5a13a33f9ca56p+3 +0x1.e2f9968e2736fp+0 +-0x1.5ffafde92027ep+3 +0x1.b56387a27cf5dp+2 +0x1.7d238029ceef2p+1 +-0x1.61af1bcd2f05ep+4 +0x1.2248f374326cap-6 +0x1.2498498f33eaap+5 +-0x1.8907402f60d53p+5 +-0x1.ab41475fcd6bap+5 +-0x1.dfbe17f38637ep+1 +0x1.9308bf9a54849p+2 +0x1.c58a07e377dc5p+5 +0x1.b362b3185f4d7p+3 +0x1.57be103ebaf0cp+1 +0x1.2a3a12a619941p+0 +-0x1.020ca5691cce5p+6 +0x1.83ec89bb2ce2fp+4 +0x1.b2c4774b4357bp+4 +-0x1.113a09f81fc81p+4 +-0x1.d382c87c16dfap+4 +0x1.7880f4f8ccd14p+3 +0x1.971a035ffe8adp+5 +0x1.0fb77f47421eep+4 +-0x1.9719c92834c47p+2 +0x1.ea1f6d15e40f3p+1 +0x1.32beae2003fcp+5 +-0x1.cf59e5c75346p+4 +0x1.1b29cf0432334p+5 +-0x1.3a8dc761fad7ep+5 +-0x1.9329f7e1e1bb3p+4 +-0x1.da33f91ffa374p+2 +-0x1.6ef64ba5996c6p+3 +0x1.87044df018b7bp-1 +-0x1.52cf3636ba4c8p+1 +0x1.081ab8e481571p+3 +-0x1.a3029d2789b85p+5 +0x1.0dd4a1f66412bp+6 +0x1.e21868c0305abp-3 +-0x1.365096745d39dp+2 +0x1.f8c280e4e1c84p+3 +0x1.2e34b13041e0ap+5 +0x1.76e0cc85b8289p+5 +0x1.7fc06c4f16dcap+5 +-0x1.1fc0438960659p+5 +-0x1.0ae6fc59bc6d7p+5 +-0x1.2c6562b353152p+4 +-0x1.cc02a394dc81p+4 +0x1.eed6e25dc319dp+5 +-0x1.95d15aed7e55p+5 +-0x1.c9bdba2cce334p+5 +-0x1.386052d34a305p+6 +0x1.059c1493b1ef6p+5 +-0x1.cd3fc1071d3c8p+4 +0x1.6e093b3f895bfp+4 +-0x1.4d1a150d70ee8p+5 +0x1.fbe58bc9bd9d5p+3 +0x1.bc4616bd7691p+3 +0x1.8efeadf3c5833p+1 +-0x1.edf52b2c77c85p+4 +-0x1.c75fde6084728p+5 +-0x1.360ca3a0dd42cp+5 +-0x1.8316aa3769e3dp+3 +-0x1.d60075694fd86p-1 +0x1.35d0c835f1382p+8 +0x1.dcda45212aec6p+4 +-0x1.59edd0fd7a02bp-1 +0x1.4b4d1a28acebep+2 +0x1.334620ecc9621p+5 +-0x1.29ca766a4883p+4 +-0x1.be15557ae10cbp+4 +0x1.ea0c0064d5ceap+3 +-0x1.ce34047bc919dp+3 +0x1.1e87cd6bad3efp+6 +-0x1.e1bb82cad4ff9p+4 +0x1.ea0ff46f317d1p+0 +0x1.923c71788ea04p+1 +-0x1.4884c29964546p+5 +0x1.152025ce81301p+6 +0x1.d299f4143fefap+4 +0x1.0386c797fbc4ap+6 +0x1.00ec53614e27ep+2 +-0x1.0a6d141458b05p+4 +0x1.0269a3cd98e66p+4 +0x1.5638675db228ep+4 +-0x1.b712ca3109ea6p+2 +0x1.1f2cd3235346cp+2 +0x1.ed4bdf659996fp+1 +-0x1.a29e188bf5bfbp+0 +-0x1.069dc0fb9574p+5 +-0x1.050c8a2ff07b7p+4 +0x1.90271c76cfadbp+5 +0x1.17cf9a8c3dc4dp+4 +-0x1.917ca02a22d06p+3 +0x1.15f860722717bp+6 +0x1.b87e35ebfa349p+5 +0x1.7ae3124b25f2bp+3 +-0x1.c5c72c93c2d11p+1 +-0x1.eb5c14492754fp+3 +0x1.2db7ce4a43852p+6 +0x1.917df786a7411p+5 +0x1.0032d2617d198p+5 +-0x1.c04d5276f8e8cp+2 +-0x1.658aab185625p+5 +-0x1.def7a427fdb86p+4 +0x1.139b6c7c3919cp+7 +-0x1.e29c2e02b1802p+5 +-0x1.3a92f53a6713p+4 +-0x1.01840542c33e8p+3 +-0x1.a1bb461853681p+4 +-0x1.cd19ac4ad8ac9p+3 +-0x1.48b60d36a500bp+3 +-0x1.bd350368ccd79p+2 +-0x1.c46617fb1ff35p+5 +0x1.bf977d521a53fp+2 +0x1.72216d32c9337p+6 +-0x1.a5f1702bdb0aap+2 +-0x1.f0470fd55eb31p+4 +-0x1.49c53a8ddc39cp+4 +0x1.99798da1c025ap+2 +0x1.c85f8296c5164p+0 +0x1.91aab55bb0eaep+4 +-0x1.28062a01ab905p+5 +0x1.1c4e4d8604052p+4 +-0x1.2aefe0be622c3p+5 +-0x1.53a44ea11ap+5 +0x1.664ef1c9ea928p+7 +0x1.52828b65f7363p-1 +0x1.539cceded3db2p+3 +0x1.1d375d18b4865p+6 +-0x1.df70f68750cb1p-2 +0x1.6b24572e08393p+4 +0x1.cad8d6274d42dp-1 +-0x1.67bef0d5e2905p+4 +0x1.ba7cff5a21287p+2 +0x1.6f2d89e4377d4p+3 +-0x1.4e682d49ff477p+4 +-0x1.866033fc47c63p+1 +-0x1.a8b234d4fa494p+4 +-0x1.5b18f0c015f78p+5 +-0x1.43970bfb824aep+4 +0x1.2cbe71f97c90ap+0 +-0x1.26b7c0e9a8849p+5 +0x1.194518d91bc4p+3 +-0x1.d7ef251bbc71p+4 +0x1.6bd3bdec63b04p+4 +0x1.2d60d5a27c4b2p+5 +0x1.4e2a48b2d5123p+3 +-0x1.9bc7256c883d5p+4 +0x1.6521f84acf6cbp+5 +0x1.3246dc983ab88p+3 +-0x1.80002fd67a625p+3 +-0x1.1678006ca7655p+5 +-0x1.14855f287d8edp+6 +0x1.54ed1bd62c549p+5 +-0x1.2eefa74a088a6p+3 +0x1.97c2d37b17f69p+3 +-0x1.142d7cf3fdc0ap+5 +-0x1.796aa9a04aae8p+1 +0x1.b0a6c1f6985dfp-4 +0x1.546bc41c08f8cp+6 +-0x1.998eb2a1f58bep+3 +0x1.25fa8f9db5a5fp+4 +0x1.fc34f5a415d0ap+4 +-0x1.6999cad5dcb1bp+5 +0x1.52bfed0c2067p+3 +0x1.564f1508ad28ep+4 +-0x1.aeeba98923fcap+3 +0x1.99268aa57399dp+0 +-0x1.ee66af8dc006cp+3 +-0x1.1c6a1739b26b2p+4 +0x1.435e7e1a9bc3cp+1 +0x1.76cc2e8e9e5dfp+6 +-0x1.83fc524693dbep+3 +0x1.0ddb6410d3c7p+4 +0x1.03605b7977cc8p+4 +0x1.add1e9f1c6cddp+1 +-0x1.12d5618c6b4c6p+5 +-0x1.b48c30fac1824p+3 +0x1.6b3ae30fd52dfp-1 +0x1.173f8478e2863p+6 +-0x1.6c699c20a17d5p+6 +0x1.67d70704a4339p+5 +0x1.46b330f251836p+1 +-0x1.95dc20f6b81b1p+0 +-0x1.fb3325a724a99p+2 +-0x1.d185f66c21c09p+4 +0x1.7f29d578ddf1bp+5 +0x1.404b71c973ecbp+4 +-0x1.d555687577d14p+4 +-0x1.6dfd1cb7643p+5 +-0x1.ec906dcd35ddcp+4 +-0x1.685455d1c3832p+4 +-0x1.fe44a15cfc5f7p+1 +-0x1.bb2b263995e8p-2 +-0x1.762ef989151c9p+2 +0x1.d80ad8139227ap+5 +-0x1.486074c9ef04cp-1 +0x1.0a8cf1332cb4fp+5 +-0x1.216b43a7112cdp+6 +-0x1.5c978b95cc4e3p-1 +0x1.823b307638c3bp+5 +0x1.5941b3dcf0116p+6 +-0x1.2f51752f28a43p+5 +-0x1.c4b97f5f00b34p+5 +0x1.4b06db80057f5p+4 +0x1.9ac9d7097f697p+5 +-0x1.58348aa461328p+4 +-0x1.6a96dfd282c3ep+5 +-0x1.b565071fb2b58p+5 +0x1.03ba242e75589p+4 +-0x1.00f62c2282f9ep+5 +-0x1.29090666ab3e2p+5 +0x1.200271d15e08ap+0 +0x1.02cdd703c372ep+5 +-0x1.c1df0a6cc8eb4p+3 +0x1.62082cc20f3afp+6 +-0x1.38362f1b1b34fp+6 +0x1.05e18b0cb3a7cp+5 +0x1.b4f5170011cf4p+4 +0x1.5d5d25d6e1df5p+4 +-0x1.1bd403a1d726p+5 +0x1.1ed7d1ed1fb16p+5 +-0x1.849d56a528dddp+2 +0x1.31ed443f37bd6p+5 +0x1.86cc4a0a87f44p+5 +0x1.0faede2b4bb8bp+5 +0x1.ff5697c3be761p+5 +-0x1.94f979bc376afp+3 +0x1.e3ca74f9d7f9dp+3 +-0x1.4e0fbca0be32bp+4 +0x1.4f04d297066c7p+5 +0x1.11836795d306bp+5 +0x1.1cf13582f1318p+4 +0x1.c262bccdc508p+4 +0x1.a0f2d65daf9b6p+1 +0x1.c7e2aea850175p+5 +0x1.0ea45c7f10e7dp+5 +0x1.70b79bca29c7ep+4 +-0x1.809fab2fa7544p+5 +0x1.073ac8101b9adp+6 +-0x1.00e0b405485b1p+6 +0x1.18653b53eb512p+4 +-0x1.2914dceb8e09dp+4 +0x1.69cf683f13d39p+0 +0x1.a48fb0c386415p+1 +-0x1.b7f86beff7bbep+4 +0x1.cf689bb62eae4p+3 +-0x1.4df38f690748cp+4 +0x1.3d914834a02dcp+4 +0x1.04d87064f45a9p+2 +0x1.183f8f2241ed6p+5 +0x1.1318240ca5d33p+4 +-0x1.cae47b30d2f23p+5 +-0x1.72a1c2a89d6c9p+4 +-0x1.3d1ec7587c2b8p-2 +-0x1.051fbbde41a39p+5 +-0x1.dd8fcaa8a58f8p+2 +0x1.ac2c57087b80bp+5 +0x1.cf0ef531e025dp+2 +0x1.2a15bb92fdf38p+5 +-0x1.6458baf70503ap+3 +0x1.3dfba059f2546p+5 +0x1.acce48f4e536cp+3 +-0x1.4a6c29779e9acp+4 +0x1.0d65e0dca8388p+5 +-0x1.ef75c3b7f15afp+5 +0x1.b44d50e3e4d85p-2 +-0x1.1aa7e17a289fap+5 +-0x1.d7ae6b7c6814fp+2 +-0x1.dabe9688f81fp+3 +-0x1.42dc805d7da19p+0 +-0x1.e3ff006448c3bp+4 +-0x1.567bcfb46e58ep+5 +0x1.45e4c94adae2p+4 +-0x1.490a684bbfe4ap+5 +-0x1.0f8e1feffa9fdp+5 +0x1.6b87dd6e069a6p+1 +-0x1.948d00f9cf08dp+3 +0x1.2150989caa1b7p+6 +0x1.91ff10e829bb3p+4 +-0x1.6f7cf2807665cp+4 +-0x1.b2697742ba1dap+4 +0x1.9b8ef73ad9ad6p+3 +0x1.4fc9cbea1c7c2p+4 +0x1.d3a0f4a83acd6p+2 +0x1.249b54f133818p+5 +-0x1.360a5bac22358p+5 +0x1.6a3caeb79e627p+5 +0x1.08101ea1959cep+6 +-0x1.ecf65cc6cfa57p+2 +0x1.62cada4da3588p+2 +-0x1.06112ee96ed42p+4 +0x1.991d772a8d2fbp+4 +0x1.606adf984b0bdp+5 +-0x1.070713afa5105p+2 +-0x1.562a988502c92p+1 +-0x1.dc5e96eedc33ap+4 +-0x1.83bc2de9bd012p+3 +0x1.5f291c644a389p-1 +0x1.234eb33002b13p+0 +0x1.0c56cfcad138ep+5 +-0x1.b96afbe404f57p+3 +0x1.32febf49a93b2p-1 +0x1.9904636bc6218p+4 +0x1.06002bd0dec72p+0 +-0x1.f13c1e5b57d07p+1 +-0x1.180a16bcb1dccp+3 +-0x1.8f8b4d1447b8bp+5 +-0x1.1649f29698c38p+5 +-0x1.97f9eaf9bcfep+3 +-0x1.4fe6172b8e328p+4 +-0x1.7733969988b5ap+1 +0x1.10b6023dd5a51p+2 +0x1.23552bc594085p+3 +0x1.f010c517a2d28p+4 +-0x1.18296d17dc06ep+2 +-0x1.3d588b118722dp+2 +-0x1.6d596346c5777p+5 +-0x1.9dca2a23691c5p+3 +0x1.257a95aa902dep+5 +0x1.f9d7f0bb5d39bp+3 +-0x1.ead32b1ba9fffp+5 +-0x1.47b2d0411b1e5p+5 +-0x1.3195524628d3p+5 +0x1.03d558dacfc7cp+5 +0x1.c00ae24a0a399p+5 +-0x1.8fab24503bdedp+1 +0x1.3549cb20d72cap+5 +0x1.007aa5b57512dp+4 +0x1.457e7acdf9e75p+4 +0x1.18726b7878b02p+4 +0x1.13ddb372b541fp+3 +-0x1.03641de444419p+4 +0x1.4c7beb9dd3e1ep+5 +-0x1.a59091efe7995p+3 +0x1.2641c9b9a248p+4 +0x1.15666195054f1p+6 +-0x1.e0f6fb09b47b1p+5 +0x1.05feeba056108p+6 +0x1.e44ce137d462ep+7 +-0x1.544059260e467p+4 +0x1.705f558db1f7dp+4 +-0x1.375685aff8378p+5 +0x1.d1236f695756dp+3 +0x1.6718ed72e9789p+4 +-0x1.57e652ed6513bp+5 +-0x1.79544ea4f842p+3 +-0x1.16d6405fdef62p+5 +-0x1.1ac905b09b513p+5 +-0x1.e85af446ce44cp+4 +0x1.bb11c58573c6p+2 +0x1.7f800df187fbap+4 +0x1.3d5614880365fp+5 +-0x1.cb8fc5ca8d21ap+3 +-0x1.38784b4457b53p+5 +-0x1.4ab4fa9fbd1afp+2 +0x1.526d2cc98517dp+6 +0x1.3dd5b7bc8c944p+4 +-0x1.ffa2151287b0fp+2 +0x1.4761347fdc14fp+3 +0x1.e5787b1dd88eap+3 +-0x1.f9e446149f343p+3 +-0x1.93e5d1509b1fbp+3 +0x1.4357f95694abbp+4 +-0x1.4f73dff8a219dp+3 +0x1.9d7f484a92c38p+5 +-0x1.f46b4b3c263a2p+1 +0x1.4cc1316881981p+2 +0x1.3e01ae737cb7p+5 +-0x1.b8cd7cf1ff021p+3 +0x1.17734bf216319p+2 +-0x1.4d84b67ffcaabp+6 +-0x1.5e3c2bb47e757p+2 +0x1.39600c851451cp+5 +-0x1.d9fed2305c888p+4 +0x1.cf3df0c2e5eaap+4 +0x1.97d41a0ca3461p+5 +0x1.ee4f3d641d617p+4 +0x1.a162cf3726b22p+2 +-0x1.89719b5383a4ap+1 +0x1.7a6966035bf8dp+1 +0x1.32364619b25fep+5 +0x1.dd53dba4539acp+0 +-0x1.f26d5d11faa41p+4 +-0x1.32b2cf9dadaf6p+4 +0x1.c7fba542bced9p-1 +-0x1.016d02f024be3p+0 +-0x1.29eb778b5f1f5p+3 +-0x1.0abdf0f18390bp+4 +-0x1.83caee50aa938p+5 +-0x1.e77141958bf48p+5 +-0x1.834592af7cc3dp+4 +-0x1.0b184e359fcfap+1 +-0x1.2f8bb10b82134p+6 +-0x1.b2a8baa6b075dp+4 +0x1.900b1dc896c01p+5 +-0x1.f1c7eb783bc87p+3 +0x1.810201bffae51p+3 +0x1.2c9fc4c95da0cp+2 +-0x1.f03356cbf0643p+5 +-0x1.9fd06ec2498b4p+5 +0x1.9d463e02f1ad9p+5 +-0x1.3acaa99735b4ep+5 +-0x1.6968e52153f5ep+5 +-0x1.b41609afe417ep-1 +-0x1.6b96b28f9427dp+4 +-0x1.50589a38cb2f7p+2 +-0x1.056b8a3aff98fp+7 +-0x1.2f7d754e1ce8bp+5 +0x1.b05bd3c996b4cp-1 +0x1.40ed048dfc93fp+4 +0x1.228e5dee46cbp+5 +-0x1.112b60b800599p+1 +-0x1.be5892c5db7bbp+4 +-0x1.c6a599688170dp+5 +0x1.a56ef0739cf8ap+3 +0x1.918a5295319fap+2 +0x1.2d04ad130d76bp+3 +0x1.1aa9f2c2a40b8p+3 +0x1.0eb2ac3d285f2p+5 +-0x1.a38a2c4ecdca1p+5 +0x1.c2fa24fe1f397p+3 +0x1.404dda06e7a15p+6 +-0x1.171817b49bc5dp+4 +-0x1.38933e07c19e5p+6 +0x1.8107ea37b5a8p+5 +0x1.96ff2b9f8b568p+4 +0x1.188cd6a241b6p+2 +-0x1.d1a1a9138a3d1p-6 +-0x1.2bfef29b4173bp+4 +-0x1.076554cde63e2p+4 +-0x1.4afc23f1f6081p+4 +0x1.1aa983503c1cbp+5 +-0x1.85ce2f3e1f7f1p+5 +0x1.850dd4d50632fp+1 +-0x1.bf4e26dbf2605p+4 +0x1.b008665f6334ep+3 +-0x1.0adafdaceba36p+5 +-0x1.d43d46a5850d5p+4 +0x1.6ef53a8f473a9p+1 +-0x1.bdb7c6cdff693p+5 +0x1.5259b3681b3c2p+4 +-0x1.8852afebce82cp+5 +0x1.b8092e53872ebp+2 +0x1.daed1d8af823dp+3 +0x1.2c7a89ce4e75dp+4 +0x1.9331efbee1ac6p+5 +-0x1.55762693b425ep+4 +-0x1.146f9ddba649cp+5 +-0x1.28a0220b89b76p+4 +-0x1.a2228dc88396bp+5 +0x1.0b5b471e53949p+5 +0x1.d73f7ef842bb1p+3 +-0x1.8f3693da45d3p+5 +-0x1.5018e76a96f7dp+3 +-0x1.72153e48a85c2p+5 +0x1.a8f7b18aef778p+5 +-0x1.26c92b28c68c4p+1 +-0x1.3ca7f79f0ebf7p+6 +0x1.5b17b0d71df55p+2 +-0x1.5a8bb9550d5abp+5 +0x1.84ab41a2b7058p+3 +0x1.d44e1b40c1c02p+5 +0x1.dc0de4ed72d9cp+5 +0x1.8750902435eacp+0 +0x1.c435604f3676ep+2 +-0x1.30e6d1bda122fp+4 +-0x1.3dc2bed23761fp+5 +-0x1.06ed8dfceda2dp+4 +0x1.4d3d6f9bc72f3p+0 +-0x1.dd5742db3a0ffp+3 +0x1.a526686998f93p+0 +-0x1.d54bacf73842dp+4 +-0x1.2ce968f482fb6p+5 +-0x1.41ab3d37b935p+4 +0x1.44f8368412ce3p-4 +0x1.5161949935c9dp+4 +-0x1.a7bbf8b575ebap+4 +-0x1.217621dece826p+6 +-0x1.9fdd64aeaf543p+4 +0x1.42b617e0c497cp-4 +0x1.ad52dd1410743p+3 +-0x1.a0565df383012p+5 +-0x1.64508925d269dp+4 +0x1.63c599ac3b93ap+0 +-0x1.7d311b3642bf1p+4 +-0x1.5ddfba14e4874p+5 +0x1.c135f98268459p+1 +0x1.014789d4d5b91p+1 +-0x1.3333aa531c637p+5 +-0x1.4496a147c57bep+5 +-0x1.711ea5c8459cfp+5 +-0x1.755ebf41299fep-5 +0x1.1ac203cb9a283p-3 +-0x1.d88bd3db0c512p+2 +0x1.6dce50ae40243p+4 +-0x1.16dc0ba1a1b9cp+6 +-0x1.27c77b5832043p+1 +-0x1.906e9ee874a68p+2 +0x1.18e9b7af28258p-1 +-0x1.2e8c2cc1bde9ep+5 +-0x1.5c28fabbc4651p+5 +-0x1.2c24ba980caccp+4 +-0x1.ac2c6d05084c6p+3 +-0x1.d221a59706b64p+5 +0x1.d71f27a76ca22p+3 +-0x1.630a7a3c19d39p+1 +0x1.5cb6bb7f70728p+5 +-0x1.4d706e630a0a9p+4 +-0x1.81db16b8bbe4bp+5 +0x1.1d45ebf7ed30fp+4 +-0x1.bbd30311345ebp+4 +0x1.692925c1296e1p+4 +0x1.a623ad0818d59p+1 +-0x1.080955c97a89fp+3 +-0x1.8c6be3f7c945dp+5 +-0x1.b92f87fae57d7p+1 +-0x1.4ef9f21574415p+5 +0x1.67160ab935358p+5 +-0x1.c34d3027f9a31p-1 +-0x1.1247dde581545p+5 +-0x1.15e70d9286908p+8 +0x1.d43b42181b948p+5 +0x1.2248fd038ed27p+5 +0x1.36f160e4d900bp-1 +-0x1.62a91991c2c58p+5 +0x1.c5cf2fd192635p+4 +-0x1.df6c8c4890602p+4 +-0x1.f943ab203a248p+2 +0x1.51a9cae8a92e7p+4 +-0x1.9108faadd1115p+4 +0x1.fe48626444ba7p+3 +-0x1.04ffeff608392p+3 +-0x1.d641c76db1ed5p-1 +-0x1.f9d3d67006a29p+2 +-0x1.ee62951aa7adap+2 +-0x1.94a685436df4fp+3 +0x1.a7c51685d902ap+4 +0x1.a609cd6fa7b2dp+2 +0x1.86dca3bd4a44dp+2 +0x1.38018c0f0dd66p+4 +-0x1.ba117f24df0d6p+5 +0x1.fc074a6f6f58fp+3 +0x1.0ea0d742122b1p+5 +-0x1.0efba5c1fc1c3p+3 +-0x1.17c456c750bdep+4 +-0x1.596f727d34937p+2 +-0x1.392248d1593e7p+5 +0x1.5122e040be88dp+5 +0x1.f0ef80ba50badp+2 +0x1.63a57e2664cf4p+2 +-0x1.f4b12dad2c6bap+4 +-0x1.c8731904ec173p+4 +0x1.31dd6880cacc1p+5 +-0x1.a303a38f85806p-2 +0x1.4e86c85a84015p+5 +0x1.1a56ee1a74cf5p+5 +-0x1.7238cdb89a0ecp+5 +0x1.83510cc9c4ca6p+4 +0x1.3295391e3ccc8p+3 +-0x1.e298a4b310a7dp+2 +0x1.cc723844fe461p+1 +-0x1.0944042fcdae5p+3 +0x1.11645985610c2p+3 +0x1.fbafb2c408d9bp+3 +-0x1.f7958fcf73d81p+2 +-0x1.e33700bf04184p+5 +0x1.04b9886745e6cp+4 +0x1.a4e32dd308aaep+5 +-0x1.6e6b6cf96e783p+3 +-0x1.10709c498307fp+5 +-0x1.48d7f5441c754p+5 +-0x1.cc1443515a649p+5 +0x1.87c2e092a68f2p+3 +0x1.cb2c20b529bd2p+4 +-0x1.c6295d9c09c8fp+5 +-0x1.218ee2ad1f934p+4 +-0x1.4c1bd3f344499p+4 +-0x1.5ace5e0f44d29p+1 +-0x1.9e64f73c00f78p+5 +0x1.9993699c101f6p+5 +-0x1.5862d69ff8b63p+6 +-0x1.b02166526d156p+3 +-0x1.99317ff87b5fdp+0 +-0x1.e066f612bc266p+3 +-0x1.620d20414e49cp+3 +-0x1.2d339cd08c6c2p+4 +-0x1.8d62f9a0a665p+5 +-0x1.00e289dfb31b2p+6 +-0x1.228055a6a4263p+4 +0x1.650beb9e3d905p+4 +0x1.add9cd3d9ab09p+4 +0x1.9233fff8d7297p+5 +0x1.67b7df39fb785p+4 +0x1.25eda2ab51b3cp+5 +-0x1.5a3b453f1c202p+1 +-0x1.5c45bc7aaa9f8p+2 +0x1.627c976c3806p+1 +0x1.6a81ed75eb061p+5 +0x1.8da70950ee823p+2 +-0x1.26483a4938c57p+2 +0x1.1fe0297707bfcp-1 +-0x1.ae35d513ca5f7p+5 +-0x1.d0244cd27dcb5p+2 +-0x1.d76601980934ep+4 +-0x1.5802e7afdce4bp+5 +0x1.5ea6b8ea7aeaap+6 +-0x1.2cbb80231a5bdp+5 +-0x1.219d9c5476f19p+4 +-0x1.86f4a461f7183p+4 +0x1.be4ac582a64adp+4 +-0x1.9f4dc59eee9a1p+4 +-0x1.0ce498d843fcap+2 +-0x1.2710c9e168fc7p+5 +0x1.d7f33124db819p+3 +0x1.ea8f9a6ce2108p+3 +0x1.bbbb082dd7912p+4 +-0x1.da4783a22c493p+4 +-0x1.c6cdd3a249febp-1 +0x1.9fcc20ac806ap+5 +-0x1.59a32f3adc7d6p+5 +-0x1.9f049ccdf0f36p+1 +0x1.4b15aa442cf6ap+4 +-0x1.2b1f28a5f0c56p+6 +-0x1.a43ecae5118d3p+5 +-0x1.05965bac75f9ep+5 +0x1.6fa45ec356479p+5 +-0x1.e90b1aed4219bp+4 +-0x1.a6fa422911babp+4 +-0x1.45452675327bap+4 +0x1.078a8c92bb3f6p+6 +-0x1.fe4f1ddb08991p+4 +0x1.032e9e1ab8d8ap+4 +0x1.5afe8ae2ed933p+3 +-0x1.54094b3d1d351p+4 +0x1.8124ccdc8b1dep+4 +0x1.80e3387dbf33ep+1 +-0x1.45ae5838cae14p+0 +-0x1.44c5524e9199fp+4 +0x1.9542f3a4aad91p+3 +0x1.9432234e9523cp+5 +0x1.9edd1a45088a7p+3 +-0x1.61b20106e07e7p+5 +0x1.cabf4bc48e766p+3 +-0x1.e190cef90b975p+2 +0x1.15f088c9dee53p+5 +0x1.600cf449c655bp+5 +0x1.277e065bba117p+4 +0x1.036adc016984p+5 +-0x1.069f9332656bp+2 +-0x1.1d4d017e0bb04p+5 +-0x1.7b7f405695c51p+4 +-0x1.20c723a0775f8p+6 +-0x1.584b227ece41fp+5 +-0x1.06c720075dfbcp+1 +-0x1.0c2c58b30e777p+3 +0x1.cbecb7142912fp+6 +0x1.28c14532ff71dp+4 +-0x1.4304cfb4ee3fap+5 +-0x1.92768f948ca29p+3 +0x1.888d25b454406p+4 +-0x1.df81e4a0a1a8ep+1 +0x1.bfd58c915e16p+2 +-0x1.806ce03cc8937p+5 +0x1.8cc2d829212e5p-2 +-0x1.7db2d7d5d67cap+3 +-0x1.07b6f0960e7e5p-1 +0x1.1770ffb2d5a9fp+4 +0x1.b17e69ae8c5c7p+2 +0x1.29cda0ba82a5fp+5 +-0x1.2727a4d20f7acp+3 +0x1.cdd90e580cb64p+1 +0x1.dd3db00a3ab54p+4 +-0x1.e0dd5f9b9701cp+0 +-0x1.8777d294a4417p+2 +0x1.3683c7f7a18d9p+2 +0x1.18abee9edaa09p+4 +-0x1.6a2fb5cdd4f1cp+4 +0x1.9c9940c028163p+3 +-0x1.dd0cd1cbf4055p+4 +-0x1.89bb8306ab329p+5 +-0x1.450dad2d8f94dp+4 +0x1.1db3aa5b159edp+4 +-0x1.5253d572bc726p+5 +-0x1.773fcb321e9cbp+6 +-0x1.44725d7ff6097p+2 +-0x1.85e30556f955ep+4 +-0x1.248a4c31090aep+5 +0x1.07cac3c199f5dp+6 +0x1.606b66d295891p+4 +-0x1.d480710e94e67p+3 +0x1.80ae080c769c4p+6 +-0x1.d2e12d38b65e6p+0 +0x1.92950dd9028c6p+0 +-0x1.f1d0712d40a5fp+4 +0x1.582ebfb1db49ep+3 +-0x1.22fa577c0d992p+5 +0x1.20d712dc70cefp+8 +0x1.b3b695c6d9312p+4 +0x1.26d7b544813f8p+0 +0x1.76144c7f3e9c9p+4 +-0x1.494a31e38098ep-1 +-0x1.4fbc6dd06a89dp+4 +0x1.c7934d638dcfbp+5 +-0x1.e43557f49d971p+5 +-0x1.3214ec5bce878p+4 +-0x1.19512122cc887p+6 +0x1.ff5b86f5f418dp+1 +0x1.0b2b6fd4700bfp+5 +0x1.335c9b4b704a1p+5 +-0x1.953d5601ce38ap+2 +0x1.8d2b9230bb05ap+2 +0x1.bae885e362688p+5 +0x1.167fdf81407f1p+3 +0x1.a239853cc2c11p-2 +0x1.8e2d59aae1a1fp+5 +0x1.8bd951caf5e93p+5 +0x1.0c35b1c4aa6d2p+3 +-0x1.07462d8006abfp+5 +-0x1.bc87d78ddd8fap+3 +-0x1.7b041fd969e89p+1 +-0x1.6584df2c6a83p+3 +0x1.1dfed4759bebfp+2 +-0x1.ba50d2f6110b5p+3 +0x1.e29c9b31d6da9p+4 +0x1.92f14e8f3825dp+3 +-0x1.39170d6424af2p+3 +-0x1.8693d0848429p+4 +0x1.2dbb1cf932fbcp+5 +-0x1.5db2b85add1fap+0 +0x1.5c5b5d79aa04ep+7 +0x1.c059abf03d8a5p+3 +-0x1.1fb8948aada04p+4 +0x1.9b7cc9e5a6543p+5 +-0x1.1a63dc7e4365bp+6 +-0x1.11920392de618p+6 +0x1.355975dde6432p+4 +-0x1.6d0ef1ac850cap+5 +0x1.2fc69baef4bc7p+5 +-0x1.3de7429d92309p+5 +-0x1.724510ec1c591p+5 +-0x1.9e1fc2e664119p-2 +-0x1.d52816671f386p+4 +-0x1.0f42693ff74a3p+6 +-0x1.75a2d194c5a85p+3 +0x1.cb7f68e18e1e2p+2 +0x1.0b27a58bb9333p+3 +-0x1.8153df8b442d2p+6 +-0x1.271f4b5fe7d3fp+4 +-0x1.de4e40a256dd8p+3 +0x1.84feedc5af2bbp+5 +-0x1.4bf82fb3ead1ep+3 +-0x1.70a0cd62c573ep+5 +-0x1.82e93235056fdp+4 +0x1.e6f89b185ea1dp+4 +-0x1.7edcd2ce0a612p+5 +0x1.7ba93d78b8892p+5 +-0x1.1cc26bc13a5d9p+5 +-0x1.12cf9a20b6f1fp+0 +0x1.c9e901ebf5e59p+3 +0x1.1e397077089e2p+5 +0x1.2d37a44f20273p+6 +-0x1.7bdd6101a46aap+1 +-0x1.02b03a4e72829p+6 +0x1.c7e03f970cac9p+5 +-0x1.97a39b1cd5b95p-6 +-0x1.86dd5d300bbb8p+5 +-0x1.5852ed0e0acc4p+3 +0x1.0b6f2199f585dp+4 +-0x1.a5b24e12c12d4p+6 +0x1.8f9b31e7901fep+4 +0x1.3f1eed0029f6bp+5 +-0x1.79bb443b4eadep-1 +0x1.405df0d73ed41p+5 +0x1.7810fe8736698p+5 +0x1.59039de6db6f5p+5 +-0x1.533b7d6f0b6d9p+4 +-0x1.847b9b9724aecp+5 +0x1.90b913592293p+5 +0x1.0f69311ef4321p+5 +-0x1.7e3a5ab032d3fp+4 +0x1.0a82d107c99e6p+5 +0x1.7dae4a58dc425p+2 +0x1.fa8bb34544995p+3 +0x1.2ae800ff7859ep+1 +-0x1.a4ebb42664509p+4 +0x1.334a7b3b9079p+4 +0x1.8ca71903ee2c6p+5 +0x1.482d30411e283p+2 +-0x1.30929e5c373afp+4 +-0x1.80e35ef1ddd1cp+4 +0x1.03de4f29aff05p+6 +0x1.d4c766c560fe2p-8 +0x1.138c14bbb535fp+6 +0x1.7f977d5fbb75ep+3 +-0x1.0d82df5123a9p+3 +0x1.8771f6a03a6c8p+3 +-0x1.a59fc737d5559p+4 +-0x1.5acebe13f11f2p+6 +0x1.943dbd4ff2cdbp+4 +-0x1.6b5f6879ec61fp+3 +-0x1.116521d4a3d8cp+4 +0x1.a468ebf0357cbp+0 +-0x1.4413d5ee9f75cp+1 +0x1.b61754ae0c6dbp+4 +-0x1.3d363813cc4bfp+6 +0x1.307a9ff77cb2ep+4 +-0x1.f0e5671c3f121p+3 +-0x1.2c479457e9901p+4 +-0x1.b2cdd85777a17p+4 +0x1.a5a8cea93441cp+4 +0x1.012dd5417ebabp+4 +-0x1.28c4523063e68p+1 +0x1.9b817a66f1ep+2 +0x1.f5cb6e81879d7p+1 +-0x1.a4ad2f1d303ebp+4 +0x1.e40b96b32e14cp+1 +-0x1.6330bd8e98ee5p+5 +0x1.af60dfb24d146p+4 +-0x1.3cc6919e04d7fp+5 +0x1.138621dd3ee7bp+3 +-0x1.0584f7f7702bcp+3 +0x1.1d624564810eep+4 +0x1.d5e8c33252f5bp+4 +-0x1.e79711bed5f0dp+4 +0x1.ad973178b1426p+4 +0x1.9697c6ba07269p+4 +-0x1.e3f9c8732e0b1p-1 +-0x1.afa0ca46d20b7p+5 +-0x1.dea8cfcd209e8p+2 +0x1.4ec636bf19b65p+5 +-0x1.5f8228514bf1p+4 +-0x1.e8ac199e70757p+2 +0x1.1d46793e9bc24p+3 +-0x1.9bd877905a45dp+0 +0x1.1f0e932aa1f75p+5 +-0x1.8da4c38735d1dp+4 +-0x1.1bd46912e03d1p+6 +-0x1.9cbb3581dd141p+3 +0x1.764c244b1fbd4p+4 +-0x1.804129f83c132p+5 +0x1.50b8fdace7555p+4 +-0x1.08229fdcd32a6p+3 +-0x1.3927d950b678cp-1 +-0x1.fc76e9cb416dcp+4 +0x1.8404e50aa6706p+2 +-0x1.62dd116f737cap+1 +0x1.85ad4467fad4bp+3 +-0x1.03087500231bcp-1 +0x1.42aabbce34b2ep+0 +-0x1.817e4aca94532p+4 +-0x1.41fe3c74f27bep+4 +-0x1.87ea268053578p+4 +0x1.49d825e0468efp+3 +0x1.94c503adb4006p+1 +-0x1.936702f764919p-1 +-0x1.5e0853f89b32cp+5 +0x1.7526e455cfdbbp+4 +0x1.3c73d327cd48bp+4 +-0x1.44c8d837b29a1p+4 +0x1.aa17b59627509p+5 +-0x1.abbbf47e732f2p+3 +-0x1.935e2bc1cbeep+4 +0x1.fbf9979b2d0f4p+5 +-0x1.460f65c411d4dp+4 +0x1.99d664784b077p+3 +-0x1.9ad50578ec066p+5 +0x1.65a630bae65f1p+0 +-0x1.8625ce6745a88p+2 +0x1.5c25b7a3b86c2p+3 +0x1.75acf69793aaap+5 +-0x1.030ebc93315eap+4 +0x1.638e1deadeb17p+5 +0x1.7a1329148d092p+3 +-0x1.6ad65c0b2c245p+3 +-0x1.8b3d6bf9c738p+3 +-0x1.42b03fb911a6dp+3 +-0x1.7c9dfd892282cp+4 +-0x1.4cfbf80963feep+4 +-0x1.2efc81228d25bp+6 +0x1.b9edf9e537835p+5 +0x1.4b4608af28151p+4 +0x1.68ff7b5b723c9p+5 +0x1.f863ad7b8b45fp+3 +-0x1.276971410e109p+3 +-0x1.b80c5e6a003fep+4 +-0x1.1d73ed291042cp+3 +0x1.1d386d2fd05fcp+6 +-0x1.15e4f32e4a988p+4 +-0x1.5f5f7c2005e5cp+4 +-0x1.c1dfb198e3a2bp+5 +-0x1.e62d7e4f2ca86p+4 +-0x1.64608bb41f6d7p+5 +0x1.06a988b531ee4p+5 +0x1.e77977b8a24f8p+4 +-0x1.35eb76ff60099p+5 +0x1.5fc7b0e9ddcfbp+1 +-0x1.c2e0b70da69f8p+3 +-0x1.35fcd73a25b1ap-2 +0x1.d50fef3819d9ap+1 +0x1.007b53c1185c4p+4 +-0x1.d7f8b998ae332p+2 +0x1.1e4003db8fb25p+4 +0x1.cf7be185bcb6ep+2 +-0x1.edec2941d3352p+4 +0x1.2787ee2e37515p+4 +-0x1.23ea3c095ce55p+2 +0x1.c54666f50359fp+5 +0x1.c928236f8eccap+4 +0x1.b26f85aaf8bcfp+1 +-0x1.e8431d15228e6p+4 +-0x1.23fce40339614p+3 +-0x1.17b1cc8a06676p+5 +-0x1.5bafd28e8555ep+5 +-0x1.257704869c35p+4 +0x1.a2fd4088af239p+3 +-0x1.21a3c269b219p+3 +0x1.8d04fd46b222fp+1 +-0x1.0728619de2d4ap+3 +0x1.74be2914f06f8p+5 +0x1.883d9f31cac0dp+5 +-0x1.cbf05f27a32e7p-1 +-0x1.b69ba86752555p+2 +0x1.85e9b5962f1e6p+5 +0x1.911ead184ce73p+4 +0x1.f58ab54620487p+3 +0x1.6b1ecd10a0655p+5 +-0x1.91bbfc4618d2dp+4 +0x1.e99e7a237977bp+5 +-0x1.a71615b874418p-1 +-0x1.8155945219cddp+4 +0x1.0538f059db14fp+0 +-0x1.d823ec71c5517p+4 +0x1.a7811eceac387p+4 +-0x1.37a6059e2e06ep+5 +-0x1.14bb9e44957f4p+3 +0x1.2298d6092512cp+2 +0x1.5d9d619500a72p+4 +0x1.985deed076b0ap+4 +-0x1.0b836aa598b3bp+4 +-0x1.e1af80d40b7a2p+5 +-0x1.a0a2902844a56p+4 +0x1.5ed4c68b9a0e2p+5 +-0x1.4f571fde7a502p+4 +0x1.880169a8f90b9p+5 +0x1.ce82e7c8cc62ep+4 +0x1.7868e81af2fbbp+5 +-0x1.8259681e6bf3bp+4 +-0x1.2dfec1f21f17dp+3 +0x1.86b9d349f1f7ap+4 +0x1.b2fe346f299f7p+5 +-0x1.b9a9d62c39d7ap+1 +0x1.048f2e5a2ee22p-1 +-0x1.cdb44cb109cbfp+4 +-0x1.40301ef2451e8p+1 +-0x1.6cb2e1d010d6cp+3 +-0x1.625cce8b1d24ep+4 +-0x1.bdaf8a4fb4176p+5 +-0x1.4987d79247be9p+4 +0x1.59c56f347cb8fp+4 +-0x1.77e1d67d5cf93p+3 +-0x1.6b0ae4ccc749p+3 +-0x1.542d83c758a2dp+5 +0x1.489b39a9be0c3p+4 +-0x1.188cfcf1be314p+4 +0x1.9ed4c73237c59p+0 +0x1.46ab056e23ee6p+3 +-0x1.d95bf17c22d4ep+4 +0x1.491ba51228373p+5 +-0x1.47e0249221c91p+5 +0x1.2c4401fc369b3p+6 +0x1.736228688cd9fp+5 +0x1.aed0eef6bca7ap+4 +0x1.f01eb78f1c947p+5 +0x1.e8ceaaf1d61f4p+0 +-0x1.6b73148d129f2p+5 +-0x1.9d3b50c5fccaep+4 +-0x1.c59640d1f9502p+3 +0x1.0f902581cdeecp+3 +-0x1.031e03229c7dap+5 +-0x1.077e4afd485ecp+5 +-0x1.f5757f88443d5p+5 +0x1.697cdcedd386p+2 +-0x1.65d80c954f8dfp+3 +-0x1.2d790bf71cdf5p+4 +-0x1.72e499d922a73p+4 +-0x1.3e615f76b8d66p+4 +-0x1.1609e466783a9p+5 +-0x1.b5736133f5178p+2 +-0x1.8fcda61ef5422p+2 +0x1.6bf0a413b4227p+4 +0x1.ad48c26abc31bp+3 +-0x1.89035760cc5d4p+5 +-0x1.cdc0fec1e70a2p+1 +-0x1.3a55749d25773p+4 +-0x1.dc4b227ab59b5p-2 +-0x1.b916e76fe9e14p+5 +-0x1.ec6557bc89b42p-2 +0x1.9d2b8907ed914p+7 +-0x1.f96ce82f9a23ap+5 +-0x1.f7c0e59ea98cbp+2 +0x1.8cce5f408cc9ep-2 +-0x1.6ff71534123ddp+4 +0x1.43637c4c88d7ep+3 +0x1.80b6d6c8b3c1fp-6 +-0x1.2015fdadbe2dap+6 +-0x1.8da669ffe6478p+1 +-0x1.159efd82250bp+5 +-0x1.1a5f287427336p+4 +-0x1.af5ae1b53176dp+4 +-0x1.6c15ffe994f45p+3 +-0x1.079bbda12c0ddp+4 +-0x1.6a98d3e71972dp+4 +0x1.09ea738050476p+4 +0x1.ecfe0b6ad313p+3 +0x1.f8472c0d8233fp+3 +0x1.a4ef60e8d4b68p+3 +-0x1.81239f23394e7p+4 +0x1.5387fc6c4af86p+4 +-0x1.80dc1ca4a928bp+4 +0x1.50ab5ca3ea361p+3 +0x1.37d9404a93914p+3 +-0x1.524fd49a02b4dp+2 +0x1.44580cdfe28b4p+4 +0x1.bcf5e5773b864p+4 +-0x1.ec2f51ca5af3bp+4 +-0x1.d881ce2ed8b85p+1 +0x1.5588c6aa8d88dp+5 +0x1.4608d7d045324p+3 +-0x1.228f88018b8a6p+0 +-0x1.4fea718f01536p+1 +0x1.59f8ca7f88282p+0 +0x1.cbdcf49250f0dp+1 +0x1.36d00831ee61p-1 +0x1.f92abc9df294fp+4 +-0x1.a8b95ed78f2f1p+3 +-0x1.83ff63ccd829dp+4 +0x1.de453ec5656f7p+2 +-0x1.70b985d772324p+4 +0x1.da1c68b1e52a8p+5 +0x1.21b5b351f7031p+5 +0x1.d21279e0fc85ap+5 +0x1.83719c6502f7bp+4 +-0x1.a4349c6c28813p+4 +0x1.b878b8dea066dp+5 +0x1.6a370d48dd1c2p+3 +-0x1.118e53475e617p+5 +-0x1.3df8b525efb55p+3 +0x1.8a50137aad3a1p+5 +0x1.b5db42015991p-2 +0x1.8bdbe25c8524p+1 +0x1.9a65a34f42815p+4 +-0x1.7f250f8677549p+3 +-0x1.3b1f20fce5035p+4 +-0x1.345fb24859892p+3 +-0x1.75771df423c34p+3 +-0x1.715c3e992a2bfp+4 +-0x1.ec1425f94a20ep+2 +0x1.c4f345511c799p+5 +-0x1.4b57df27e2e16p+4 +0x1.ffb66f39f050ep+4 +-0x1.01df0e2e1370ap+4 +-0x1.15df9373eb255p+5 +-0x1.a170f6275370cp+4 +-0x1.d992df955bd78p+2 +-0x1.2baf74b4af21dp+4 +0x1.a851867b7bec4p+3 +0x1.abcea7391c221p+3 +0x1.ab7cbadc985d2p+5 +0x1.42e6993b29453p+2 +-0x1.9d0814a6f5355p+5 +-0x1.0b9937ed5dfdbp+4 +-0x1.44007cdaeabedp+1 +-0x1.b699f07b3e6afp-1 +0x1.bb03a45c278c5p+3 +0x1.2fb4ae9f919aep+4 +0x1.03cfa4f8455d4p+6 +-0x1.abf1b8deb489bp+1 +0x1.6139768ab5a8ap+6 +0x1.dd26183cd036p+4 +0x1.2750767d3e886p+3 +-0x1.84c575669a912p-2 +0x1.7042a2d1aca1fp+2 +0x1.c82e9181f6fd2p+3 +-0x1.a57da927cfc94p+3 +0x1.66a4dea06db8ep+5 +0x1.c6a3991cf0e3bp+0 +0x1.29cfbc67c29e1p+5 +0x1.89c30998f7df7p+3 +-0x1.762f1d6d9e00ap+4 +0x1.bfb28f77e3cdap+5 +0x1.8229eba6897e4p+1 +0x1.fab965093334ep+2 +0x1.88906093f6f04p+5 +-0x1.db54dc9532723p+4 +-0x1.21161a538052dp+3 +0x1.6df6d1ac551fcp+5 +0x1.0259a7aea2fccp+3 +0x1.7c3ad6be59623p+5 +0x1.6422f775e1093p+1 +0x1.9b091f364ac5fp+2 +-0x1.11c60d15ce1b9p+6 +-0x1.70ed1242b15ccp+4 +-0x1.25d4f9e7e27a2p+6 +0x1.5d7ff0337fb2ap+5 +0x1.9a3d97b4c6118p+5 +-0x1.4b1cb6bd67054p+2 +0x1.a7281131d4703p+0 +-0x1.eba0bf59937c5p+5 +0x1.a5e5f6b6ddd88p+3 +-0x1.7288a0a98efa4p+4 +-0x1.8935c9fdc3c05p+4 +-0x1.2a829bbcb2cbap+5 +-0x1.48ebdcb83f7e7p+4 +0x1.5419fc820b9a9p+5 +-0x1.50327d1d01e1cp+4 +0x1.5e3d5ca372cd8p+4 +0x1.0d9ddaeda3c4cp+6 +0x1.82002edebb429p-2 +-0x1.812469be3e86dp+3 +0x1.1ded0123d4cc8p+5 +-0x1.f34346b7b219ap+2 +0x1.61f2055687765p+5 +0x1.39cca64743a75p+3 +-0x1.8a8c7a3787394p+1 +-0x1.e29c8718a1038p+3 +0x1.361953a7a22f5p+3 +0x1.17da7b2ab71d9p+4 +0x1.18ca0f33001p+0 +-0x1.6b72879fb1d94p+4 +0x1.56ccbdbc476dbp-1 +0x1.73c6412270476p+1 +0x1.87c68be809854p+4 +0x1.d69c54d0ae8efp+4 +-0x1.726e5386cbf5ep+4 +0x1.4db07670f6b3ap+4 +-0x1.43661ca814c54p+6 +-0x1.0a6bca180b2cbp+5 +-0x1.27820f879c184p+5 +0x1.ca9d5c5bfe4f2p+0 +0x1.290ac30cdc193p+1 +0x1.f61eb949b18d3p+5 +-0x1.1584d05d0a96ap+4 +0x1.0b8bf2229fe88p+5 +-0x1.51998f4724bcfp+4 +-0x1.187f6ca614fbfp+1 +0x1.e7b494d60d128p+3 +0x1.0c48212f9d7d5p-1 +-0x1.165632366a642p+0 +0x1.f02bc2261e6p+2 +0x1.35c695c54324cp+4 +0x1.da738a1ef263ap+1 +0x1.8e148329ce957p+4 +-0x1.23fb1e71b470dp+5 +-0x1.917d253d56628p+0 +0x1.a732ce8745798p+6 +-0x1.d5274779de14fp+5 +-0x1.6140d1bcfa57ap+5 +0x1.d8ab79716e0f7p+4 +0x1.69a984068e617p+2 +-0x1.b993494c289a7p+2 +-0x1.b84750ff20e86p+4 +0x1.48c177c8aca89p+4 +-0x1.445f818422a59p+5 +-0x1.4122d8dea6a43p+5 +-0x1.f0fc999efb4aap+3 +-0x1.15642cc3c862ap+5 +-0x1.276fb26de60e9p+3 +0x1.1ec51bc9a97bap+3 +0x1.3d61d3a09b77fp+4 +0x1.f9cd816fd14fep+4 +0x1.cef99ebfe42b3p+5 +-0x1.bd5bba461b12cp+4 +0x1.416067dd0409fp+5 +0x1.1502592e972a1p+5 +-0x1.934af108629a1p+5 +0x1.e2761e34d6f1p+5 +0x1.c5012d584de9fp+4 +-0x1.77978719926fep+4 +-0x1.1d26cb45855bcp+4 +-0x1.eb282fdc323b2p+2 +0x1.5bd9b4a09b95bp+1 +-0x1.c882616c0724ep+4 +0x1.fd0406443607fp+5 +-0x1.3ac283c5bcf6fp+5 +0x1.ba5eed72a9ddp+3 +0x1.69e161b1c4069p+3 +-0x1.6d72c573c240ap+4 +0x1.bbf7f991509bp+4 +0x1.82e235c879fcap-3 +0x1.2d96702365145p+4 +0x1.215bea1d8d972p+4 +-0x1.7997172e853bfp+5 +0x1.445328edcf06bp+7 +0x1.2b76bc19872a5p+4 +0x1.e87f010895ff8p+3 +-0x1.66b791a63137ap+5 +0x1.380f5b2505ad7p-3 +0x1.365817673d7f7p+3 +-0x1.67eaed7f37d86p+3 +-0x1.09e25af5d71aep+6 +-0x1.2241b2dd69a7p+4 +-0x1.6e04df20ee7f6p+4 +-0x1.319e0b496d65p+7 +0x1.04bd2f7a1c847p+4 +0x1.d0ade40208be6p+4 +0x1.78507db603478p+3 +0x1.5fdd6ff3a3c16p+3 +-0x1.a40adcf265112p+4 +-0x1.9a4965d24107ap+3 +-0x1.0087030c13e29p+2 +-0x1.9050f6f41c4ddp+3 +0x1.9010a2e637bc7p+4 +0x1.113376a83e2c6p+4 +0x1.4a4de4a4f3f5p+4 +-0x1.51fcce431742p+4 +0x1.6282901a8acecp+5 +0x1.48408121dce69p+5 +0x1.901b0800bc9dfp+1 +0x1.ab8c84d120068p+5 +0x1.29a807c01f08bp+6 +-0x1.f4b00ceafa238p-1 +0x1.204095599060ep+3 +-0x1.779b54f02edc9p+5 +0x1.1216005fc6e1ap+2 +-0x1.20ab35abb8787p+4 +-0x1.04970708d0fe5p+5 +-0x1.29b567146b4e8p+4 +-0x1.d35c076e911bp+2 +-0x1.aca8dd766452ap+5 +0x1.50a41f3b44575p+4 +0x1.dbbcc5a5d0df9p+4 +0x1.2c63a0d55602bp+4 +0x1.ff52828b187e8p+1 +-0x1.27ad28fb498b1p-4 +-0x1.63b807193b23dp+6 +0x1.f0119929f101fp+3 +-0x1.43fe26caa94e4p+4 +-0x1.0cfe307425a53p+5 +-0x1.61f8fd45862b2p+4 +0x1.ce5dc065eb64dp+4 +-0x1.4684e49eabc93p+2 +0x1.ffa1bcc97ea3ep+4 +-0x1.c801293111172p+4 +-0x1.1e7d796eeaec5p+5 +-0x1.2f748cfbc86e7p+4 +0x1.3e88e2104eb8fp+0 +0x1.8f8bc03ea8a77p+5 +-0x1.1cff7307d5862p+6 +0x1.33c240e05d236p+4 +-0x1.f3fd37550fb15p+4 +0x1.5460460453fe5p+5 +-0x1.13ae63d5081bdp+4 +0x1.c8a557e518029p+4 +0x1.a6e45f4e9a6b6p+2 +0x1.07ed1a2a897adp+6 +-0x1.409e8cdd07927p+0 +-0x1.5e7ca85f0362cp+4 +-0x1.e68c399dd7828p+5 +0x1.d7c9f445e5a24p+2 +0x1.ee68d40735504p+2 +-0x1.52875d7fd4576p+5 +-0x1.d91c369f9388bp+5 +0x1.2b72db14cc6f6p+6 +0x1.d0c789fca360bp+3 +0x1.97c690165469dp+5 +0x1.67d404afb5792p+5 +-0x1.b4cdb39547973p+1 +-0x1.ed74867a6604dp+3 +0x1.5adacd4f6b1d7p+5 +0x1.7fdec551fc6dp+4 +0x1.9f462dff9efa5p+2 +-0x1.fdf4e38d3f18dp+2 +-0x1.b7c4b7dbb18a8p+4 +0x1.0e3b079e53d7bp+4 +-0x1.5d2e083cdb2ap+5 +0x1.0cc27d64a7d43p+3 +-0x1.37e81213f4e0fp+3 +-0x1.5a43d413f83bap+4 +-0x1.314f136d93effp+3 +0x1.064053ce7a0afp+5 +0x1.0d29210c02d7bp+3 +-0x1.a6260c58046edp+5 +0x1.c090bdd3a536fp+3 +0x1.8c59cb4a3224p+5 +-0x1.797c7dad0012fp+5 +-0x1.495eff731233cp+3 +-0x1.e25b7c533bb26p+6 +-0x1.7ace45bdacdf7p+2 +0x1.5e57461216e1bp+1 +0x1.99a99694f9534p+4 +-0x1.64f4d39d571f8p+3 +0x1.5b2ce91d1aef2p+2 +-0x1.afae6b5b46062p+0 +0x1.5329b8d836cap+8 +0x1.76212d58b40c7p+2 +0x1.1e35a985b8e18p+3 +-0x1.2d2b34d13b5f9p+3 +-0x1.74477a02ec0bdp+3 +-0x1.da68da140e825p+4 +-0x1.c28a73a3106bep+5 +-0x1.cf020fc31ed3fp+5 +-0x1.7275f98572478p+3 +-0x1.83d0b79f6303cp+4 +0x1.22e357de490cfp+2 +0x1.1d1dbc833ad22p+4 +0x1.b4bc73f74859ap+4 +0x1.686b4b854b64cp+5 +0x1.fbb52a400d89cp+5 +-0x1.cc7f9c85bde7ep+3 +0x1.b6b477f201c6ep+4 +0x1.0ebfba0a114c5p+4 +-0x1.e6ace16a7299cp+1 +-0x1.d104471f5d95dp+4 +-0x1.e19500ec9b6cep-2 +-0x1.70f295be4a514p+6 +0x1.f83b5b8adb452p+4 +0x1.281cb65ca320ap+5 +-0x1.ff1218cd72c29p+2 +0x1.3b72435a84809p+4 +0x1.7faa65769570ep+4 +-0x1.a4da56f324ec8p+5 +0x1.372832227ffc9p+3 +-0x1.ae39635528ddp+4 +-0x1.ddcde5b4fb11bp+2 +-0x1.0670b45312f0dp+2 +0x1.fb5febc89cd42p+2 +0x1.a307fce6d123p+3 +-0x1.404de256223b2p+5 +0x1.144152cb79ec1p+5 +-0x1.f58740badc67p+2 +-0x1.c07b0dabdd81fp+2 +0x1.404e7275ef5fep+3 +0x1.870e0080594c6p+5 +-0x1.e37d0e1e669ep+4 +-0x1.4b5ae5988b046p+4 +0x1.70267658dba4cp+5 +-0x1.18ac9b2f50c48p+2 +-0x1.18feedff8e9e1p+5 +-0x1.37295400e0b66p+5 +-0x1.63ed3cee44c3p+5 +0x1.ecf1262c6256fp+2 +-0x1.1064e5d40fbaap+6 +-0x1.a27bde8e83542p+4 +-0x1.37ed4bf644953p+2 +0x1.0247350b588fp+4 +-0x1.8b0273adf278dp+1 +-0x1.36aa071aeee3ap+1 +-0x1.7caf6d8ba4423p+2 +0x1.52874ff294ab8p+3 +0x1.708585ed461c7p+3 +0x1.b81519abfe448p+4 +0x1.960ca3aca2da9p+1 +-0x1.9247d4bed09dfp+5 +-0x1.2dc1cca4329f9p+4 +-0x1.0ed320667957ep+5 +0x1.618874e4163c5p+4 +-0x1.f71e785b62952p+2 +0x1.375f6da901a1bp+2 +-0x1.385561329fbd9p+2 +0x1.d85a863473592p+4 +-0x1.bad9be50bfbb2p-4 +0x1.5f9874c3e9c04p+4 +0x1.b10ecf4a5ae09p+4 +0x1.22a60403cf9edp+4 +-0x1.611f37f57d103p+4 +-0x1.0d5821620c591p+3 +-0x1.78931e76da172p+3 +0x1.42a0cb1723dd8p+5 +0x1.0cdd8dffcc714p+4 +0x1.583e81ad1f894p+4 +-0x1.8dddfe6b1db1ep+0 +-0x1.279f4aba250b2p+2 +-0x1.1c8f3a3197523p+2 +0x1.f8279ff8d44e8p+4 +0x1.7eb0586f1e212p+5 +0x1.a0f7088408588p+4 +0x1.10a960acbb03ep+3 +0x1.058270b943164p+4 +0x1.8a113c5edea79p+5 +-0x1.3089f26b16c03p+6 +0x1.4d41a44153273p+3 +0x1.b1467355d45e8p+4 +-0x1.d7c6f58419c5cp+3 +0x1.66b6af034f9ddp+4 +-0x1.7d4c8535032bep+3 +0x1.fcdc6cacad5ecp+2 +-0x1.9741ac11fd8p+4 +-0x1.eabfb43b92b31p+3 +0x1.b1a5e683d04cbp+4 +0x1.b3389a7d7531ep+4 +0x1.3db3786b871ffp+3 +-0x1.93fbc2d3d6065p+3 +0x1.61b4044ca5525p+4 +-0x1.859fc80ce8dd2p+0 +0x1.fdccd7bee3c54p+3 +-0x1.bc3e98be64526p+5 +0x1.aaa83f1f88352p+3 +-0x1.a8e66443f670cp+0 +0x1.9efa872648f64p+4 +-0x1.234ae4a25b79dp+5 +-0x1.0721d88335cc7p+2 +-0x1.220a9569b1afbp+3 +0x1.be0bafa87bc98p+4 +0x1.45caa702677e9p+4 +0x1.525a58f38f698p+3 +-0x1.2a1b7c49eb37ep+6 +0x1.e23f6d49718e1p+6 +0x1.567fa18ac29e7p+4 +0x1.6cde22f1e83e4p+3 +0x1.d38e3004c61a4p+5 +-0x1.fa39b7736d197p+2 +-0x1.343e0be99de54p-2 +-0x1.0461c2da75ca5p+4 +-0x1.c31b2ce23198ap+4 +0x1.8ed03412d6defp+5 +-0x1.63ed0df6d47f9p+4 +0x1.e92aca60286a3p+4 +-0x1.31b566d1b2051p+6 +0x1.1cc31c406d884p+2 +0x1.653507d0fae44p+5 +-0x1.0ca9fa4e5ea14p+5 +0x1.8a67ec1579b54p-1 +0x1.6def137c8c6bcp+3 +0x1.7ab9618aa7b9ap+5 +-0x1.4229532e11028p+3 +0x1.0473c74a65923p+1 +-0x1.4ec5527bb6b1p+3 +-0x1.489c9c3257ffbp+1 +-0x1.8605a7ea9f68ep+4 +0x1.0b9704fd80065p+2 +0x1.af4e5e8e21aabp+5 +-0x1.7048849aad75dp+4 +0x1.0d834d061d13ep+5 +0x1.1a3fd319de2d8p+4 +-0x1.c9acb3cf84b5ap+5 +0x1.2cd3804cfa77bp+3 +-0x1.13feec13f7a1ep+5 +-0x1.44a39e2790977p+5 +-0x1.43dc50a87bef6p+3 +-0x1.95c0223f3e118p+4 +-0x1.e9d0bba5162abp+4 +0x1.1baca579421b8p+4 +0x1.2cf2cb1c57f41p+5 +-0x1.5b04698bbb1a7p+5 +0x1.c4399e14bbcffp+4 +-0x1.a99eb5ebf5264p+5 +-0x1.ab086fe434a19p+2 +-0x1.8c4bdb52630b4p+5 +-0x1.96e438636db92p+5 +-0x1.3793009205cb6p+1 +0x1.78aacc3ecdfddp+4 +0x1.ffaddddffd222p+4 +0x1.16e60604c9814p+5 +0x1.13f31a840b543p+2 +-0x1.b1a470df782ffp+4 +-0x1.d6358578aeaadp+4 +-0x1.387aa415ad2e3p+5 +-0x1.241867c22620fp+4 +0x1.37444d56dfa27p+3 +0x1.1735afb03ea2fp+6 +0x1.3287ed5d15202p+1 +0x1.684ed9d43ce98p+3 +-0x1.1faa73c539267p+4 +0x1.35badc4b94a55p+4 +0x1.fe74074beb41ap+5 +-0x1.0333c1ec453e9p+1 +-0x1.2d1e06641d4b5p+5 +-0x1.8035cd3e7742cp+1 +-0x1.36a9e91df62c3p+5 +-0x1.9b107f419c584p+2 +-0x1.85e021f095f01p-1 +-0x1.5f96df191eb35p+6 +0x1.4b81b4301ff9bp+5 +-0x1.27f867c4a1876p+5 +-0x1.e34f3f8de9e93p+4 +0x1.3ff1982a8c1a3p+3 +-0x1.acfc0f7d4df3bp+3 +0x1.563f3d6f14e47p+4 +-0x1.32c9dc7c84217p+6 +-0x1.251fcc00f561ep-1 +0x1.a9cb811e2636fp+3 +0x1.66683e6e79191p+5 +-0x1.dcf29ecba2ec9p+5 +0x1.0e7c1e679d971p+6 +0x1.41b4643a6e992p+5 +-0x1.6b431877fb402p+5 +0x1.0e5ad74b26404p+4 +0x1.82de4a767021p+3 +0x1.12126a1ca8613p+6 +-0x1.588a5f65fe3b4p+5 +-0x1.56bb13e4c4ae6p+3 +-0x1.c2d0fd0923fbfp+5 +0x1.c91e8b10a5533p-2 +-0x1.f9b58d1ae36e4p+1 +-0x1.01b17727843d9p+3 +0x1.30f175c55fc16p+3 +0x1.96488992e5355p+3 +0x1.9ee1502eccb25p+1 +0x1.2b7cd87d8575fp+4 +0x1.335e7097d77cbp+5 +0x1.32db26973797p+4 +0x1.49e461c1e1bdap+4 +0x1.809e28859e0a5p+5 +0x1.b281c98df2671p+3 +-0x1.ef3af6c6c31b3p+4 +-0x1.92b6e58d80c3fp+5 +0x1.49346380330cp+0 +-0x1.981004f6214f3p+1 +-0x1.96ce7df738056p+4 +0x1.c37f9aa20fd13p+3 +-0x1.96930ce3c46fap+4 +0x1.a434fcf038beep+3 +-0x1.7b13e32ea485bp+4 +0x1.b66e3aa220ca7p+2 +-0x1.3157d8e3da2f8p+5 +0x1.027d8759c3f59p+3 +-0x1.acd3e4897fdap+5 +-0x1.efa41106fc404p-2 +-0x1.23d8a034ba3eep+5 +-0x1.3e11a7c15725fp+3 +0x1.2ae06cdf11218p+5 +0x1.8236fc55fa007p-1 +0x1.90815eba85c32p+5 +-0x1.a8db406cfc925p+2 +-0x1.29758696f7f4fp+5 +-0x1.952cb3e54afadp+5 +-0x1.a20518c61bc01p+4 +-0x1.cf28a5bfdbacap+4 +0x1.931bf09323ebcp+4 +0x1.16934eeeb5a18p+2 +-0x1.9ce85d13df788p+3 +-0x1.4292c1163e569p+5 +-0x1.2b7d1b77746cep+4 +-0x1.8d138f089cb57p+4 +0x1.e9278c18affb3p+4 +0x1.9425430667adcp+5 +-0x1.1df8cd3a20e3dp+5 +-0x1.31ce008c00358p+1 +0x1.a7065ef00e1ffp+5 +0x1.b70b1c1c89729p+5 +0x1.930bc47bb8188p+4 +-0x1.2f167de5cdea1p+5 +-0x1.5f557210f0787p+4 +-0x1.01fae373eadffp+2 +0x1.b78b3f6d22097p+4 +0x1.d7a04db2ea56p+4 +0x1.f2be0a10bd434p+2 +0x1.4a4c52737001ap+4 +0x1.0b3c195c20e8bp+2 +-0x1.8c5f16b22855ep+4 +0x1.3b31b372759b7p+5 +-0x1.61f20e1994293p+5 +-0x1.b3556f80c18aap+5 +-0x1.3da99efc32593p+4 +0x1.f9e9b1a9d8d76p+5 +-0x1.e29a437562d99p+4 +-0x1.cb80f8f1873e2p+3 +0x1.5f66154f39a07p-2 +-0x1.5e774a8943ae7p+3 +-0x1.b0789f1a65acap+4 +0x1.7df532f52cc1dp+5 +-0x1.20e83ae34ed46p+5 +-0x1.2ece3c3ec6664p+4 +-0x1.b8dcfa5fbf818p+1 +-0x1.a820ea389ac6fp+4 +0x1.7b9753412f6e2p+4 +0x1.5e1ce85560f4fp+0 +0x1.094dd7957c1d4p+2 +-0x1.6a6fdd9b90682p+1 +-0x1.cfc8ec787bd4dp+3 +0x1.de8425dda515ep+5 +0x1.19aee6c68791dp+6 +0x1.cb41729f3e736p+1 +0x1.a2bc9dcd1e467p+2 +-0x1.153a4fd79110dp+5 +-0x1.e32cd1de75aeep+4 +0x1.cd10432db446ep+1 +0x1.0fb76c74ad7bcp+3 +0x1.4bfd49768d6c7p+5 +0x1.8065368a8c428p+4 +0x1.9579f6463b22bp+4 +0x1.3648ffafc92c3p+3 +0x1.a0c47a5fc93c6p-3 +-0x1.098030e3bdc44p+4 +0x1.84fb0df3d135ep+4 +-0x1.8554623efc182p+5 +0x1.15962483804c5p+6 +-0x1.8df533f543abap+3 +0x1.8cd24f4465bf6p+3 +-0x1.e7ad745390a86p+5 +0x1.e6229de2d08d2p+0 +0x1.bccca2f589181p+3 +-0x1.8e288e1a61ee3p+4 +0x1.c2aa6042cc4f2p+2 +0x1.ff0a0b216808dp+4 +-0x1.ddb1ebaddda37p+3 +-0x1.3e547677d2c41p+5 +0x1.858157703b673p+5 +0x1.d178dc87fb39p+4 +0x1.9197f0d053534p+4 +0x1.f12d869443df1p+4 +0x1.0ee4fa91d23b3p+5 +-0x1.0bec1161ae20bp+5 +-0x1.c3b201bd982f3p+3 +-0x1.40665a584411bp+5 +0x1.5ca6980e53b25p+4 +0x1.0886c51b9980ap+5 +-0x1.6ce43df954b1ap+5 +0x1.0d0445a428c4ap+5 +-0x1.3cdd410cf295fp+5 +-0x1.98ab951adfc1ep+2 +0x1.67118b280f43fp+3 +-0x1.6381cfc1a7fd9p+3 +0x1.a6ecb3aef92c3p+4 +-0x1.9515b6440ae85p+5 +-0x1.3a802180d8c38p+4 +0x1.46c216f166babp+5 +0x1.e89f14de3abdcp+3 +-0x1.0b75a703206b5p+1 +0x1.4109f34eca6cfp+5 +-0x1.e092b36e85d71p+3 +-0x1.6bb26457d7b5bp+7 +-0x1.61350b7c3dbbp+5 +-0x1.03a282934d1a4p+3 +0x1.77981e69716c6p+2 +-0x1.f701b74210786p+2 +0x1.ab815c885035fp+5 +-0x1.cf59e95b10a65p+4 +0x1.8ee6dc793727fp+3 +0x1.8ec04b88e9299p+4 +0x1.bbf63740f394ap+4 +-0x1.a3fa37a2e2b1p+3 +-0x1.1af036b14ba26p+3 +0x1.22f5cd1fca077p+4 +-0x1.46a4997b4856dp+5 +-0x1.5d4fdb54e2ed8p+5 +-0x1.f72d2a7eda91fp+4 +-0x1.8bcbb1ddb6962p-4 +0x1.b6ac6902470d7p+3 +-0x1.760220b9f6df6p+3 +-0x1.317764115a924p+5 +0x1.1f9cb1ce1cce5p+5 +0x1.9e1293e476df5p+5 +-0x1.e7d7d12a5dd4fp+4 +-0x1.a0041e894620dp+6 +0x1.a6ffb58cb5985p-1 +0x1.e6a5d11bab93fp-3 +-0x1.69a5af5d507a9p+1 +0x1.c758a732377bcp+4 +-0x1.9f7bb37d32885p+5 +-0x1.239f28fcb0afp+5 +0x1.21c24452d1427p+4 +0x1.63aca54aadbbbp+4 +0x1.1981bb5c459ddp+3 +0x1.ae3274518c3f1p+4 +-0x1.acc7c26f9439ep+4 +0x1.354474b83682dp+5 +-0x1.01b9ab69e5c85p+4 +0x1.59db0e6e1cd7cp+4 +0x1.1a891301a0aa6p+6 +-0x1.5dab9a5277553p+2 +-0x1.7abbe453f1cc6p+2 +-0x1.6061f794a31fp+3 +-0x1.7e72ee759e153p+4 +-0x1.90f2864b2d9cap+4 +0x1.c2059f0e9165p+4 +0x1.d47af0a008b86p+4 +0x1.adbf8cdf8ec5ep+5 +0x1.0a174c4d8f009p+6 +-0x1.4bf35ff2fa10dp+4 +-0x1.0d0d08f037d69p+4 +-0x1.190849747ae36p+5 +-0x1.dc5e8a1378193p+4 +0x1.c3e5cadc255c8p+7 +-0x1.0b7cf38938f01p+3 +-0x1.53bf26bf39cf9p+4 +0x1.6021132cc5fa9p+5 +0x1.1f2cca10e8847p+5 +0x1.82373ef9b2af3p+3 +0x1.13fdff19abe06p+3 +-0x1.00880cef5602cp+6 +-0x1.75a7e3cde7d6bp+4 +0x1.7dbef6e963782p+5 +0x1.2e956304ede21p+5 +-0x1.0a1952a608b0cp+5 +0x1.d5409c022e31cp+4 +-0x1.093fe4d472b8p+4 +0x1.1e6686880eep+6 +0x1.88cca811e5a52p+5 +-0x1.0cbcf4504f1cp+5 +-0x1.813d0e71aca86p+2 +-0x1.30606fb5012c9p+0 +-0x1.4b5341e2b8ecep+5 +0x1.6032528ee7911p+4 +-0x1.c601e68d6fd3fp+5 +-0x1.cd608a18ee988p+3 +-0x1.fa09ccf1d5531p+4 +-0x1.797292dcd8a68p+5 +-0x1.c8608dabe244p+6 +-0x1.57cd527e36623p+3 +0x1.b71ae5a6df80dp+5 +-0x1.96ec47cf27c83p+4 +0x1.0e009129436bcp+1 +-0x1.042ca5f3e63cap+5 +0x1.8a318ce0844e6p+3 +-0x1.6a9bda33a34a4p+3 +0x1.c52faf93d6272p+3 +-0x1.376f82b84a51cp+5 +0x1.0698fad96b508p+4 +-0x1.1f6c54d65f837p+4 +-0x1.8094b4312165bp+5 +0x1.4bf1619b9688ep+3 +0x1.f19582b5141a9p+5 +-0x1.1f0c82108dddcp+6 +0x1.6d0a9de3d1192p+3 +-0x1.b4f5eb46c1c0dp+5 +0x1.94ea497a6da1ap+0 +-0x1.dd3e7ccde95fdp+4 +0x1.00c3274ec2061p+4 +-0x1.06b80839acdc7p+2 +0x1.5e68c21fc3c47p+5 +0x1.b57a617c24c7p+4 +0x1.dbb777ecd2fe8p+3 +0x1.f8599d5912f5fp+4 +0x1.a8ce99637fdep+3 +-0x1.1178cc6c41045p+5 +-0x1.16b2621fde5e9p+4 +0x1.4cb3193c14242p+2 +-0x1.2b698b53d3ed1p+4 +-0x1.a2954c5adfc13p+4 +-0x1.9ead7fd515e8dp+2 +-0x1.7f25d213409b4p+4 +-0x1.3ecb54cf217f1p+3 +-0x1.42bd8c75ca1a1p+4 +-0x1.e64af07dc6ef7p+5 +-0x1.8df505efdde4bp-1 +-0x1.7fa6f784cf1bp+3 +0x1.f192dba76a318p+4 +0x1.a23234b4f8c78p+5 +0x1.529f9e235ca8dp+1 +-0x1.25c2424ba38d7p+5 +-0x1.264d33dfac652p+5 +-0x1.ab5a0d648b3f9p+4 +0x1.27c7c89efc754p+2 +0x1.be840d57a7d3dp+3 +0x1.abfd0ae117d33p+4 +0x1.73307b0afc1cp+1 +0x1.888d6614cdd3p+2 +-0x1.c614b9eecb9fap+5 +0x1.910e203d9f24cp+2 +0x1.cc4adc85133a8p+4 +-0x1.072822fff319p+5 +0x1.6f27040372408p+5 +0x1.1ee3a2633dbf7p+6 +0x1.58aa4a8771889p+2 +0x1.d120be1750f82p-1 +-0x1.1fe197e3ff7acp+5 +-0x1.52b1ef6bf3261p+5 +-0x1.ae76580a3fa2dp+3 +-0x1.f114f06135a6ap+5 +0x1.2db693dc79d04p+4 +0x1.c017579cc447ep+2 +0x1.ce679d188f988p+3 +-0x1.97d9cac324f57p+5 +-0x1.3aa6e59b8e4f2p+3 +0x1.ab8b839860442p-1 +0x1.ecfa597f3119cp+3 +0x1.4d2300d306d07p+5 +-0x1.229a22421288bp+5 +-0x1.15d245de0d24fp+5 +-0x1.14ca80f6c7f21p+0 +-0x1.d280147f90d51p+5 +0x1.97ed012468bebp+3 +0x1.2295da95d38bp+5 +0x1.03ef25597dbdbp+4 +0x1.a8e6fe8e0c2f1p+3 +0x1.56473a51376adp+0 +-0x1.f6ca0bd88e38fp+2 +-0x1.45c57fd1010d9p+2 +-0x1.c3de1d196e1b6p+0 +0x1.e727d990df347p+3 +0x1.abe66fcda83c4p+3 +-0x1.8fa34697d969bp+5 +-0x1.70b3456c05701p+3 +-0x1.1d62c028cb85ep+6 +0x1.0ff66d6fdb39dp+1 +-0x1.2baea608eee34p+3 +0x1.c74a0bff306b8p+3 +0x1.5ab7632a6f26ap+5 +-0x1.8b71affd301adp+3 +0x1.e5599a8b8cd1ep+1 +-0x1.3103c2031d1bbp+5 +0x1.28195507f9c4dp+5 +-0x1.194772a85dabep-1 +-0x1.19ee5c5ffb12fp+1 +-0x1.15c3131754788p-1 +-0x1.c518dcf18236bp+4 +-0x1.73992aff0a5d1p+2 +0x1.a6465a06344abp+5 +0x1.6618c32434ccbp-3 +0x1.01d2e8a3a500ap+5 +0x1.4919b4e276d87p+4 +-0x1.87c7208ec9bc6p+2 +0x1.373c293695fabp-7 +0x1.8e16c29571d0ap+4 +0x1.e0c19c809e47fp+3 +0x1.6efdb5caff4a6p+3 +0x1.77a86c33e5e95p+5 +-0x1.9a52b339c19cfp+3 +0x1.2decd2cd9416p+5 +0x1.efa199ef062efp+2 +-0x1.f7faebc197eaep+1 +-0x1.125dbd788c9cap+4 +-0x1.aa25da601877cp+3 +-0x1.0509b5b07db71p+5 +-0x1.0e841e3337126p+6 +0x1.14f309eb6b769p-2 +0x1.8371f68deafc4p+5 +-0x1.a6997c8b3e796p+4 +0x1.d0be99890c6e9p+1 +0x1.7a186fbd1e357p+4 +0x1.5c3bcf78d4d02p+5 +0x1.a8caecb3e7fadp+5 +0x1.4fabaf7e6189cp+2 +0x1.52e960044f204p+5 +0x1.6ef878c1f2b46p+3 +0x1.e6a8c18b02bdap+4 +-0x1.153cd769f58b7p+4 +0x1.7465e23891068p+5 +0x1.19c6a1a74d3e4p+4 +-0x1.64fceca91c715p+6 +0x1.72168e15129acp+3 +-0x1.fad951936d185p+3 +-0x1.d3401a99664afp+3 +0x1.1d3854a4dd63cp+4 +0x1.5c0a66217aeedp+5 +-0x1.8183e6ca03bf9p+2 +0x1.e1e5edcac9c11p+2 +-0x1.2c76664058a25p+6 +0x1.31e48e976aa5bp+6 +-0x1.5b84d88d6d8cap+4 +0x1.ac7e36ab5270ep+4 +0x1.171c6cc2580eep+4 +0x1.b3819456344ccp-3 +-0x1.9c0b5679318b7p+4 +-0x1.16cd889ab0c83p+4 +-0x1.5a04d871e7321p+5 +-0x1.0cc51d8fdc638p+6 +-0x1.d5ed576faf2d7p+4 +-0x1.056de1685c7f9p+5 +-0x1.e09561f6f07afp+3 +0x1.0f01966df0ce1p+4 +0x1.7fa3f5c1e2d0fp+4 +0x1.fac5aff615326p+3 +-0x1.f77ae55a39fdcp+5 +-0x1.6f44f4289804fp+3 +-0x1.9d4e517275c6cp+5 +0x1.64cf6f944b6fap+6 +-0x1.58acb6a23ccabp+3 +-0x1.870639b088223p+4 +0x1.b943566f0562bp+4 +0x1.8637e6afd9338p+4 +-0x1.440ac7df7534ap+4 +0x1.7ca38d182c4edp+1 +-0x1.bf9b0d31fd77p+4 +0x1.657f4c07274eap+2 +-0x1.8f9cb6ef8f5d9p+5 +0x1.1399d879737eap+5 +0x1.a28951ff14a4ap+3 +-0x1.23308d3996291p+5 +-0x1.4c282aeb3391dp+2 +-0x1.d9f85505d3084p+4 +0x1.bf6c8f95b92bap+5 +-0x1.87bd20aebe54ap+3 +-0x1.c4f51e60949edp+4 +0x1.472382401a8f2p+4 +0x1.924999011c9c8p+5 +0x1.23e2c30e9b519p+4 +-0x1.a2d4ddafd8bc6p+1 +-0x1.03af799e9b82fp+6 +-0x1.57e603fe4b41bp+3 +0x1.489f051554ca5p+5 +0x1.a3378da301d3dp+4 +0x1.127a2038f4704p+5 +-0x1.0412abc005f4ap+5 +-0x1.c1fab58e51be8p+2 +-0x1.534a358901675p+5 +-0x1.227ee94d806fbp+4 +-0x1.60bafada87854p+5 +-0x1.6c1b4ca75bc6dp+4 +-0x1.e55c2f64efc93p+4 +0x1.0136a1b3a2aeap+1 +-0x1.0ffdf80d90d07p+4 +-0x1.c65760470e8d6p+4 +-0x1.b2896d2a008dap+0 +0x1.574f6ae904203p+2 +0x1.324236a74d2b6p+5 +-0x1.a324414161549p+3 +0x1.9a3899e8b4ba4p+5 +-0x1.1171c9f576983p+5 +0x1.0f7b1d54df251p+4 +-0x1.6c053dd207a6fp+4 +-0x1.9b99b65989247p+3 +0x1.b2a6d71e32934p+5 +0x1.1f2bd5bca0b78p+3 +-0x1.f0cccc8b49969p+4 +-0x1.1732ff38c200cp+4 +-0x1.6b2755c442ff5p+4 +-0x1.187853da32e74p+5 +0x1.a799190ccccfep+3 +0x1.857357305ebd7p+4 +-0x1.0cfed51a5447p+0 +-0x1.4de6ec08a741ep+4 +0x1.51a0623691ca1p+4 +0x1.150623e621affp+2 +-0x1.5cfe06a01edd3p+5 +0x1.79170cd5592fbp+2 +0x1.03e7ab6aad67ep+5 +-0x1.1891985c0eb8ep+4 +0x1.b4c6bd3a6edd3p+2 +-0x1.9184c834df616p+4 +-0x1.896958966a197p+4 +0x1.5be3839f90121p+6 +-0x1.0a5d4e106277bp+5 +0x1.9a280716597f5p+1 +-0x1.52f6fb77a081ep+4 +0x1.3c8b1ee2b173ap+3 +0x1.2ea3366ede3adp+2 +0x1.e53f1280cde7ap+5 +0x1.957874fc6208ep+5 +-0x1.2e50c6467220dp+4 +0x1.f60821784192p+3 +0x1.b8e3e55ae80e2p+4 +0x1.288f642c27b4ap+5 +0x1.3ab579f457f48p+4 +0x1.00560e5c012c4p+5 +-0x1.018fda0958f47p+3 +-0x1.1663e5438ceecp+0 +-0x1.b38c79ed08931p+3 +-0x1.56593bb8e2b3ap+3 +-0x1.658a994e639bfp+5 +-0x1.a483e03472605p-3 +-0x1.72fcdc678ef45p+5 +-0x1.d97293881bea4p+3 +-0x1.c49a1d675d476p+3 +-0x1.168763fc4681ap+8 +-0x1.2f65397f9102fp+5 +-0x1.e1be1e7df4fc2p+3 +-0x1.6f8874375d431p+3 +-0x1.5c5791aaf5478p+6 +0x1.082ca583a3b4ap+1 +-0x1.a2bbbe7dac89cp+3 +-0x1.56d82280ca20ap+4 +-0x1.0dbeb9ef97955p+4 +-0x1.b94eb5428765bp+4 +-0x1.a9bf86e4ac70dp+2 +-0x1.0855827c83f4cp+3 +0x1.022d027737673p+2 +0x1.3063e7a806101p+6 +0x1.eab3b18ac0494p+5 +0x1.e5f194cc1e1a8p+4 +0x1.a84a0d1b19efcp+5 +0x1.e69e9354c1529p+2 +0x1.545416ffbb03bp+4 +-0x1.b5e40f88452abp+4 +-0x1.68c7d14330b2ap+2 +0x1.7ffc77ca165dcp+1 +0x1.a668c8ebd61b4p+5 +0x1.0b28f10ea5b09p+7 +0x1.4335046c074d7p+5 +0x1.685124b5d8a51p+6 +0x1.4745e3eac7353p+4 +-0x1.69574690ea7c3p+3 +-0x1.c3d85c17853dbp+5 +0x1.2ca545525be9ap+5 +-0x1.5e28ce7affeb4p+3 +-0x1.92bfba1bac60bp+4 +0x1.97f2a53c69f16p+3 +0x1.282c0d8843656p+4 +0x1.2e83ef4ac8dd2p-2 +-0x1.e1a4876dd3166p+1 +-0x1.95bdb29008dc8p+2 +0x1.6600fe4a53856p+5 +0x1.2e1d9bf5b3951p+1 +-0x1.70e9ea952a19dp+2 +-0x1.d20f199dd9577p+4 +-0x1.c22c62447cc81p+3 +0x1.5ede8b7bf60dbp+3 +-0x1.ddccc5653648fp+3 +-0x1.37b3b1cce6cd7p+4 +0x1.293dcc95484d4p+4 +0x1.a0908aa30e4b1p+4 +-0x1.19e1718e6114cp+4 +-0x1.15879faff760cp+5 +0x1.04d7bd103c7bcp+5 +0x1.a9bfcf61ab5aap+2 +0x1.7ffbcf941d617p+4 +-0x1.60433564bde97p+3 +0x1.3facbec098158p+3 +0x1.0ac26b5b6b26ap+2 +-0x1.2f2bf3e135d94p+5 +0x1.1aba33d31f5eep-3 +0x1.44e9cf1156e06p+5 +-0x1.e43e30a92a587p+5 +-0x1.28e91fbfa691ap+4 +-0x1.7353a3cf17f5cp+4 +-0x1.10a858f300482p+5 +0x1.32f94c36ff37p+0 +0x1.f9f83415242ddp+1 +0x1.9757166028a0bp+3 +0x1.1d7c012c6d9acp+5 +-0x1.57fc1dddf5d8ap+1 +-0x1.5d11d00438ecep+4 +-0x1.2747d944042adp+3 +0x1.7f675e4cdfdafp+5 +-0x1.25e7be689bf3bp+6 +0x1.2ab5068d0da45p+4 +-0x1.b5d0f4e5854c2p+2 +-0x1.6c1508a245409p+2 +-0x1.cee6ebe8cfb3dp+3 +0x1.07e3d5abaf2c2p+6 +-0x1.c45815dd1e558p+5 +-0x1.c266d6b6fc581p+0 +0x1.ab0d770f9960dp+3 +0x1.b383e5d3bf694p+4 +0x1.5da5ec4458468p+4 +-0x1.ae05752dce3bep+4 +0x1.4f48d390d74f4p+4 +-0x1.880168a9d8bf5p+2 +-0x1.87add861f8988p+5 +-0x1.14db9a7dcab57p+4 +0x1.47c0301aa6b84p+3 +-0x1.2b02155d9aee3p+5 +-0x1.7bfb0c81ab8cdp+0 +-0x1.0c23e578a36c6p+5 +-0x1.157749f322387p+4 +-0x1.7ac4335775a1cp+2 +0x1.c550fc3c78769p+5 +0x1.83d7cdfe37293p+5 +0x1.0175d3d989f64p+6 +-0x1.2212fa987b93ep+2 +0x1.217f3df9fc083p+5 +-0x1.cd855b8fe86fdp+3 +0x1.ccea5a54d87efp+3 +0x1.558402d1b1d97p+4 +-0x1.8ab1c2c68d04fp+5 +-0x1.8098471a13c85p+2 +-0x1.157cd3b0982bfp+6 +0x1.305104b60c029p+6 +0x1.eff682c003408p+4 +-0x1.5afb1632fb37ap+5 +0x1.1e33bf0ab3d29p+5 +-0x1.576037cee8fd4p+3 +0x1.2a89ddee85669p+3 +-0x1.1674f3ba7da18p+5 +-0x1.2284f100bccdcp-1 +-0x1.cf1dd973f1609p+3 +0x1.b3a7904f392eep+4 +0x1.46833328fbc48p+3 +0x1.190e33f3fa595p+4 +0x1.2509eb20bfd81p+2 +0x1.7a11f69b6a7d4p+4 +-0x1.ce345c782f5b6p-1 +-0x1.203b3b982e85ap+5 +-0x1.ecf57b2b85cf5p+3 +0x1.963b6e19ba199p+4 +-0x1.e1bdc5dcc038bp+4 +0x1.4d96d7ad0daffp+5 +-0x1.b92d7f9c9dbcep+3 +0x1.e2caa293e9eecp+4 +0x1.f8baf1c0ea3dep+1 +-0x1.02dc134bc493p+6 +-0x1.1a7d9c48165b2p+2 +0x1.2b4c24d12b1f7p+6 +0x1.5e37a9908f7a9p+4 +-0x1.3885394c7f9bbp+7 +-0x1.19840a3a45406p+5 +0x1.1959dfefb58f7p+4 +0x1.52bed32f75b94p+5 +0x1.0a997afa9b274p+3 +0x1.eee9334cdd0ddp+3 +0x1.203d41ad61271p+2 +0x1.90b58e66122bdp+5 +-0x1.370579624a655p+4 +-0x1.b2a805a509c18p+5 +0x1.e67ccdb8eadfcp+5 +-0x1.3c67a45675499p+5 +-0x1.bfe3aa0e71bb2p+4 +0x1.35cebbc94eab7p+5 +0x1.0422cc7ae80c9p+5 +-0x1.60be748cc1763p+4 +0x1.035ceb7539913p+4 +0x1.7f99fcedf4bb1p+3 +-0x1.6f9c5ee90d57fp+5 +-0x1.845438659ae53p+5 +-0x1.127e6dca38c33p+3 +0x1.4cfddd6b8cbe6p+5 +-0x1.1d4bd6ad50359p+5 +0x1.6a88e84e144c1p+4 +0x1.33cbbda49d9c4p+2 +-0x1.3b15ef7442557p+2 +0x1.727ec527b99fp-3 +-0x1.9f3da8d41e438p-2 +-0x1.80a2820b8f653p+4 +0x1.af6cb5b48874ep+7 +-0x1.1f50c3eb06578p+4 +0x1.d420b1a766c3fp+2 +-0x1.061b135bfbabp+0 +0x1.7df5acaa32cddp+4 +0x1.6eb4e78ecc57cp+2 +-0x1.1194fe9aa3be8p+5 +0x1.13a325cf7b8cep+4 +0x1.e7069ccf67267p+5 +-0x1.89a242daa144dp+4 +-0x1.10750199c5d77p+5 +-0x1.fb0a9458e1e58p+4 +-0x1.f37b9d7b69b5fp+5 +-0x1.55c000fc49842p+5 +0x1.12ed7980f7439p+3 +0x1.cd24b3b1ef227p+3 +0x1.17088f192f0f9p+5 +0x1.90a1fc58a5b9bp+4 +0x1.88f71a896832fp+3 +-0x1.0e428a379b193p+1 +-0x1.9a536e9c8e83ap+3 +-0x1.f8c907f8f58dap+4 +0x1.40c9a200f618p-1 +0x1.bb0f583139801p+5 +0x1.4f096c4aaccfep+5 +-0x1.8639ac259ec7p+2 +-0x1.ddc002a62d79ap-2 +0x1.15ea75f9bba9bp+5 +-0x1.a4314722e80c4p+5 +0x1.3085c6708f055p+6 +-0x1.3a122c32d2387p+4 +-0x1.8466c7f39e1a8p+4 +-0x1.07a3a25046ff7p+4 +-0x1.64906f355b5f5p+5 +-0x1.b6cfc87ad211ap+3 +0x1.a9f23e8a04957p+4 +0x1.8f8861cd0df53p+4 +-0x1.0520d99bed6ddp+4 +-0x1.fd38e376c26b9p+4 +0x1.03ecf05ceca89p+6 +-0x1.a17681ee75826p+5 +-0x1.69f156a76e613p+6 +-0x1.8824d10bf8adfp+5 +0x1.100b8d5562582p+2 +-0x1.83039f5c89f39p+5 +-0x1.32ae3bd745592p+2 +0x1.20cb3b1fd30d4p+5 +0x1.b455d2d933468p+3 +0x1.321f6a0b81c7cp+4 +-0x1.d72368b9f962cp+5 +-0x1.359f1c33643f6p+7 +-0x1.e802ac8385caap+4 +-0x1.283a262642c57p+3 +-0x1.4683fc0789bb8p+2 +-0x1.0979236fd2b26p+5 +0x1.6fae44dc0134ap+1 +-0x1.66857c081da8dp-2 +-0x1.1808d0a3ed1b8p+5 +-0x1.88bbc40edea65p+4 +-0x1.22e88378bebeap+2 +0x1.ce560cf6fded2p-1 +0x1.fe493528bc8f6p+3 +-0x1.e70f7ac0dd117p+4 +-0x1.a225717175c68p+5 +0x1.93bb64437011dp+4 +-0x1.26ee7d4949696p+5 +-0x1.86e89fac76f85p+5 +0x1.324cac38058e4p+5 +0x1.1e2ab2a20dec6p+4 +-0x1.23a5753b9b995p+4 +-0x1.24f1448e6220bp+4 +-0x1.4b31f7fd15c83p+2 +0x1.16c554c0c7c7bp+4 diff --git a/sysdeps/x86_64/fpu/libmvec-coshf-inputs b/sysdeps/x86_64/fpu/libmvec-coshf-inputs new file mode 100644 index 0000000000..29d54961e1 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-coshf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-89, 89), mean = 0, standard deviation = 16 +-0x1.110038p+2 +-0x1.1f03acp+3 +-0x1.88539ap+4 +-0x1.410132p+3 +-0x1.3b7fb8p+2 +0x1.029deep+4 +0x1.77fde2p+3 +0x1.16a53ep+5 +0x1.35a336p+3 +-0x1.f85d78p+2 +-0x1.75bd8cp+4 +-0x1.360248p+4 +0x1.1cb9fap+5 +-0x1.cc0c94p+1 +-0x1.b06432p+3 +0x1.e5f318p+4 +-0x1.2bbc6p+2 +-0x1.b20d6p-4 +0x1.1ee5aap+3 +0x1.0d39dap+4 +-0x1.f35ecap+2 +-0x1.90e89ap+3 +-0x1.8718b2p+1 +0x1.e1a884p+3 +-0x1.bb8414p+2 +0x1.66748ep+4 +-0x1.03ac94p+4 +-0x1.2777cp+2 +0x1.1d20fap+4 +-0x1.0d6598p+4 +0x1.948e12p+1 +0x1.a2f914p+3 +0x1.8dfc3cp+1 +-0x1.66dc8cp+1 +0x1.729198p+1 +0x1.0d76b4p+0 +-0x1.8ba0cp+3 +-0x1.657578p+2 +-0x1.420738p+2 +0x1.a3c674p-2 +-0x1.3c18ep+0 +0x1.e26402p+3 +-0x1.16b4ecp+4 +0x1.919dfep+2 +0x1.51a8f6p-2 +-0x1.5da7ep+1 +-0x1.7ed13cp+1 +0x1.7c78e8p+3 +-0x1.371df6p+4 +-0x1.47b6c4p+2 +0x1.c0eb16p+3 +-0x1.04144p+4 +0x1.747d82p+3 +-0x1.0e3c3ap+5 +-0x1.9223e2p+3 +0x1.2c285ap+2 +-0x1.e100ap+3 +0x1.a994cp+3 +0x1.5642c6p+4 +0x1.0e8c4p-2 +0x1.54118cp+0 +-0x1.7e95d8p-2 +0x1.d779ep-1 +-0x1.6d0abp+4 +0x1.384bbcp-1 +0x1.cb814cp+3 +0x1.ef5984p+1 +0x1.4511a4p+1 +0x1.c3236cp+1 +-0x1.b5663ap-1 +0x1.f9775cp+3 +-0x1.fbe004p+3 +0x1.ec4068p+0 +0x1.0af7c2p+3 +-0x1.18e6b8p+3 +0x1.2fc06ap+2 +-0x1.0df60cp+3 +-0x1.270062p+5 +-0x1.f9beaap+0 +-0x1.a8a18cp+0 +0x1.8ef12p+4 +0x1.8035aep+0 +0x1.6e5336p+3 +-0x1.202ed6p+4 +-0x1.958d6ep+2 +-0x1.179054p+0 +-0x1.ae79ecp+2 +-0x1.08e936p+2 +0x1.fa1d12p+3 +0x1.e0e75p+3 +0x1.b8b9f4p+3 +0x1.39e7ap+2 +-0x1.37f81ap+3 +-0x1.d1b82p+0 +-0x1.8d8c76p+4 +0x1.c753b4p+4 +0x1.59d5bp+1 +-0x1.ea04b4p+0 +0x1.29c338p-1 +-0x1.c2ee5ep+3 +0x1.cee3cap+4 +-0x1.b5e1a6p+3 +-0x1.42abb8p+3 +0x1.1d8892p+4 +0x1.80ec7cp+2 +0x1.d3166p-4 +0x1.9c79dap+3 +-0x1.253082p+0 +-0x1.a40112p+2 +-0x1.77943p+3 +0x1.77052ap+2 +0x1.aa7ee8p+4 +-0x1.f6ee5cp-2 +0x1.a39a2ap+3 +0x1.3221b8p+3 +0x1.5ff5bcp+3 +-0x1.4613aap+0 +-0x1.6991a4p+4 +-0x1.1071cap+4 +-0x1.055f3ap+4 +0x1.520ed8p+3 +-0x1.6e1544p+4 +0x1.e819p+4 +-0x1.8b8cb4p+3 +-0x1.a9f64ap+3 +0x1.88e06cp+2 +0x1.750ec6p+3 +-0x1.0dd8acp+3 +-0x1.99309ep+2 +-0x1.08b1bcp+2 +0x1.53f12cp+0 +0x1.0a5b3ep+2 +0x1.273d5cp+5 +-0x1.27eeacp+4 +0x1.398226p+3 +0x1.56fe6p+4 +-0x1.f11f36p+4 +0x1.9aca96p+2 +-0x1.8f8d42p+3 +-0x1.f49e6ep+1 +-0x1.7a129ep-4 +-0x1.1ae76cp+3 +0x1.087a5ap+0 +0x1.6aff86p+3 +-0x1.62fa8ap+2 +0x1.b66d4cp+2 +0x1.b32cf8p+2 +-0x1.62840ap+3 +-0x1.ac60dap+3 +-0x1.fbdc48p+1 +0x1.ce8d8ap+2 +-0x1.f0575ep+2 +0x1.248082p+4 +-0x1.4b02ccp+0 +-0x1.f980a2p+3 +-0x1.d7c148p+3 +-0x1.19379ep+0 +0x1.0acdccp+5 +-0x1.ab9498p+2 +0x1.0e6daep+3 +-0x1.45599cp+4 +-0x1.a1d652p+4 +0x1.0a9a08p+3 +-0x1.380656p+3 +-0x1.4723eap+4 +0x1.82ba88p+4 +-0x1.be10fep+1 +0x1.6e9ab6p-6 +0x1.ac8ebap+4 +0x1.72f43ap+1 +0x1.647a3p+1 +-0x1.6a098ep+1 +-0x1.535b6p-1 +0x1.9b2178p+2 +-0x1.39e10ep-3 +-0x1.d28fecp+2 +0x1.0c23ap-2 +-0x1.4314fcp+1 +-0x1.3d2ddcp+3 +-0x1.91560cp+1 +-0x1.2064bep+5 +-0x1.8f0d5ap+3 +0x1.81850ap+5 +-0x1.f7d0d6p+2 +-0x1.f23fd4p+3 +-0x1.75a606p-1 +-0x1.d253dcp+3 +-0x1.532846p+3 +0x1.ce3576p+3 +-0x1.8652cep+2 +-0x1.9b8efp+4 +0x1.7d9c66p+4 +0x1.b96c3ep+4 +-0x1.f953fcp+3 +-0x1.11ee22p+1 +-0x1.a1e7cp+2 +0x1.46cfc2p+4 +-0x1.ae2452p+2 +0x1.6993ap+4 +0x1.13306cp+2 +0x1.61510cp-1 +-0x1.1a2036p+5 +-0x1.64ad7ap+3 +0x1.bc0558p+0 +0x1.3c093ep+0 +0x1.4f8ea8p+3 +-0x1.55af0ap+5 +0x1.5af1d2p+2 +-0x1.0de628p+3 +0x1.99ce9ep+4 +-0x1.f3ce28p+3 +-0x1.2dcbccp+4 +0x1.1adafep+3 +0x1.853c9ap+1 +-0x1.00b1dap-1 +-0x1.12d9eap+4 +-0x1.c05a7cp+4 +-0x1.df87d8p+4 +0x1.3e98c6p+3 +0x1.560246p+4 +-0x1.c6b774p+3 +-0x1.1bed26p-3 +0x1.efefd8p+3 +0x1.c1a132p+0 +0x1.30ea3ap+4 +-0x1.a74dd4p+3 +0x1.79ab52p-2 +0x1.d28bdp+3 +-0x1.dd0ae6p+4 +0x1.086058p+4 +-0x1.3d802ap+2 +-0x1.11859p+3 +0x1.2aa162p+2 +-0x1.51a2fep+4 +0x1.6d4ca2p+4 +-0x1.086472p+3 +0x1.73c0d4p+1 +-0x1.460bb8p+4 +-0x1.96b5c2p+3 +0x1.002088p+3 +-0x1.079c68p+4 +-0x1.a490fep+0 +0x1.3a317p+1 +0x1.b3009ap+1 +-0x1.8be63p+4 +0x1.c70c48p+1 +0x1.6ec3p+3 +-0x1.d42bdap-1 +0x1.542a48p+3 +-0x1.68aadep+3 +0x1.0719ecp+3 +0x1.5a5bfp+3 +-0x1.b6a5c8p+2 +0x1.539262p+2 +0x1.65e234p+3 +0x1.81eea2p+3 +-0x1.e09ae8p+2 +0x1.88cff6p+2 +-0x1.eaf19p+4 +0x1.b0dc52p+2 +-0x1.949d08p+1 +0x1.2054bep+4 +-0x1.1c5a7p+4 +0x1.26681p+4 +0x1.450c66p-1 +0x1.ede04p+3 +0x1.5dd9cep+4 +-0x1.ee86a4p+2 +0x1.430682p+3 +-0x1.b239cep+2 +-0x1.b155c4p+4 +0x1.110594p+3 +-0x1.940484p+3 +-0x1.fc518p+1 +0x1.2ab818p+2 +-0x1.bb57eep-4 +0x1.2c5faap+2 +-0x1.105b2ap+2 +0x1.ad21b6p+4 +0x1.f59118p+3 +0x1.942c72p+2 +-0x1.73fc06p+2 +0x1.19a064p+4 +0x1.f4409ap+1 +-0x1.6ea822p+4 +0x1.05326p+1 +-0x1.30227ap+2 +0x1.69b302p+0 +-0x1.a95e1cp+3 +0x1.2ff44cp+3 +0x1.8803b4p+3 +0x1.e33526p+3 +-0x1.a47f8p+1 +-0x1.a15cdap+1 +-0x1.ad8b0ep+4 +-0x1.9c52c8p+4 +0x1.1e855ap+1 +0x1.bb99aep+2 +-0x1.1dae22p+4 +-0x1.9efa1cp+4 +0x1.7f4124p+4 +0x1.a0ae02p+2 +0x1.6c8868p+3 +0x1.2e1f7p+4 +0x1.1a07e2p+4 +0x1.50e958p+4 +-0x1.099808p+3 +0x1.62d0a6p+4 +-0x1.641802p+0 +-0x1.a1d7bcp+5 +0x1.b265b6p+3 +0x1.a5562ap+4 +-0x1.af841cp+1 +-0x1.6538b6p+4 +-0x1.29feb6p+3 +0x1.6071bcp+5 +0x1.3a75b2p+5 +0x1.501b28p+3 +0x1.cab884p+2 +-0x1.7e440ep+1 +-0x1.94992p+4 +-0x1.4bf214p+3 +-0x1.f4aaa8p+3 +-0x1.c904a4p+3 +-0x1.85137ap+2 +-0x1.3253d2p+3 +-0x1.7e5a94p+3 +-0x1.ba8b24p+2 +-0x1.e32c5cp+4 +-0x1.f7a818p+2 +0x1.d79048p+1 +-0x1.e1ee3cp+3 +0x1.8a59e6p+3 +0x1.72b31ap+2 +-0x1.f0a79p+2 +-0x1.ec9f64p+2 +-0x1.ef4d44p+3 +-0x1.45030cp+2 +-0x1.3de03p+4 +-0x1.ae4ee8p+2 +-0x1.2a2442p+4 +0x1.1e09c8p-4 +-0x1.8647a8p+3 +0x1.0b13ecp+2 +0x1.5b2206p+3 +-0x1.c752f2p+1 +0x1.3d151p+3 +0x1.17da3p+3 +-0x1.266a0ap+3 +0x1.8f8a46p+1 +-0x1.347da4p+2 +-0x1.39b5p+0 +0x1.b9a576p+3 +-0x1.721816p+3 +0x1.4139fep+4 +0x1.0b6028p+3 +-0x1.9cf32p+2 +0x1.4e858p+4 +0x1.b07b4ep+1 +0x1.11702p+1 +-0x1.08a3dp+3 +0x1.6f6f4p+0 +0x1.a9ca3ap+3 +-0x1.5506bcp+2 +0x1.7d3bacp+1 +0x1.ba237ep+2 +-0x1.9d3fecp+3 +0x1.04414ep+3 +-0x1.1ab066p+3 +0x1.da5968p+1 +-0x1.8bb0dep+1 +-0x1.bcfc0cp+0 +0x1.010d86p+2 +-0x1.7ff508p+2 +-0x1.087a8p+0 +0x1.3ee03ep+4 +0x1.44bf16p+2 +-0x1.dc7bfep+1 +0x1.4b2044p+2 +0x1.84fe36p+1 +0x1.cd7622p+4 +0x1.1b1d3cp+4 +-0x1.9fcae6p+4 +-0x1.0a3b58p+3 +-0x1.2abc8ap+4 +0x1.8c4d68p+1 +0x1.0a5afep+4 +0x1.4fd2ccp+1 +-0x1.11c6cep+3 +0x1.8d885ep+4 +0x1.59ea52p+4 +0x1.0ec88cp-1 +-0x1.8a5d84p+4 +0x1.1a283ap+0 +0x1.829e76p+3 +-0x1.9d40e2p-1 +-0x1.013626p+4 +-0x1.d6aa46p+3 +0x1.1ae55cp+2 +-0x1.6d2bcp+2 +-0x1.2f894ap+3 +-0x1.8cccaap+5 +0x1.a1847ap+2 +0x1.61b9fap+4 +-0x1.593af2p+2 +-0x1.6fcb36p+3 +-0x1.c8bb9cp+4 +0x1.55402ep-2 +-0x1.7758f8p+3 +-0x1.129ed6p+3 +0x1.47b15cp+2 +0x1.c37c38p+0 +-0x1.55e59cp+3 +0x1.15ab24p+2 +-0x1.5efb3p+4 +-0x1.c82246p+4 +-0x1.1ec106p+3 +-0x1.632d52p+4 +-0x1.3b380ep+1 +-0x1.d06a62p+4 +-0x1.648c7ep+5 +-0x1.e0c74ap+2 +0x1.3b45c2p+4 +0x1.9ac134p+4 +0x1.821b66p+2 +0x1.49d4a4p+0 +-0x1.9536fep+1 +-0x1.e45f7p+3 +0x1.f42e02p-1 +-0x1.1447c8p+2 +-0x1.3814cap+3 +-0x1.2a15c8p+1 +-0x1.db96f4p+3 +0x1.b7e8d8p+3 +0x1.31f092p+3 +-0x1.23d39ap+4 +0x1.8eb37cp+1 +-0x1.d6e588p+3 +-0x1.51e8dp+2 +-0x1.076dp+4 +-0x1.5ce54p+2 +-0x1.03dbfcp+3 +0x1.02c32cp+4 +0x1.2900dep+3 +-0x1.0e4a12p+2 +-0x1.5d3804p+4 +0x1.7b1186p+4 +0x1.ff5246p+1 +0x1.0e03a4p+5 +-0x1.76a414p+3 +-0x1.1fffa4p+0 +0x1.9caea4p+2 +-0x1.793d42p+0 +0x1.5b0824p+1 +0x1.254968p+1 +0x1.eb12bp+4 +0x1.fe8536p+1 +0x1.b1e56ap+4 +0x1.345306p+1 +0x1.307c96p+4 +0x1.4d5cbap+3 +-0x1.b1937cp+1 +0x1.a68d06p+2 +0x1.63840ep-2 +0x1.55b3e6p-1 +-0x1.1aa44ep+3 +-0x1.b0bd84p+3 +-0x1.f054c2p-1 +-0x1.81014cp+4 +-0x1.94effap+1 +0x1.d0a074p+1 +0x1.41625cp-5 +-0x1.40f226p+3 +0x1.68f226p+2 +-0x1.17690ep+4 +-0x1.75fa5ep+3 +0x1.295642p+1 +0x1.988104p+2 +0x1.2b01b2p+4 +-0x1.0f4d72p+0 +-0x1.4b462p+3 +0x1.9e7c32p+4 +-0x1.a6f89ep+3 +0x1.f2082cp+0 +-0x1.dd839ap+3 +0x1.7fca08p+3 +-0x1.c3c488p+3 +-0x1.6e8538p+4 +0x1.d8ed1cp+0 +-0x1.ebd99ep+2 +0x1.fd966p+3 +-0x1.206c2p+4 +0x1.aee0d6p+4 +-0x1.35d52ep+1 +0x1.13223ap+1 +0x1.743898p+2 +-0x1.4bae88p+3 +-0x1.b15ab2p+3 +-0x1.9ce3b2p+4 +0x1.cef452p+4 +-0x1.f17318p+4 +-0x1.e58d0cp-2 +0x1.808becp+3 +0x1.07f0bp+4 +0x1.325fd4p+3 +-0x1.9faafap+0 +0x1.6104f8p+5 +-0x1.7807e4p+4 +0x1.297574p+2 +0x1.3b4588p+3 +0x1.c568a6p+3 +0x1.6caddep+5 +-0x1.69894ep+2 +-0x1.373078p+1 +0x1.135deep+3 +0x1.e1285ap+1 +0x1.4b80b4p+4 +0x1.2811c4p+3 +-0x1.2e4194p+2 +-0x1.ab8ce8p+1 +0x1.9d7e14p+4 +0x1.3737cep+4 +-0x1.63ffeep+3 +0x1.8eb144p-1 +-0x1.d9b722p+1 +0x1.022adcp+0 +0x1.9790e4p+0 +0x1.18ec28p+0 +-0x1.6afe7p+5 +0x1.147d5cp+3 +-0x1.81f8cep+3 +0x1.0f3818p+3 +-0x1.c6ff78p+3 +-0x1.66360cp+3 +-0x1.6791dcp+4 +-0x1.77c6ep+2 +0x1.45d5f6p+4 +0x1.268336p+4 +0x1.3a13ap+3 +-0x1.780cfp+2 +0x1.6128b2p+3 +-0x1.439a56p+4 +0x1.50b1dp+3 +-0x1.823d74p+3 +0x1.0ae6ecp+3 +-0x1.51968p+2 +0x1.c6691ap+2 +0x1.e0a29p+4 +0x1.8cdcd4p-2 +0x1.ec9936p+3 +0x1.5317a2p+2 +0x1.51d70cp+1 +-0x1.50ba0ap+3 +0x1.2df202p+1 +-0x1.9996fap+3 +-0x1.61d00ep+4 +-0x1.3a3a26p+3 +0x1.2f54b2p+2 +-0x1.b4951cp+2 +0x1.220f6p+3 +0x1.09e96p+3 +-0x1.b1165ap+3 +-0x1.be5766p+4 +-0x1.411e54p+0 +0x1.32640ap+4 +-0x1.9d3da6p+1 +-0x1.26eaa4p+3 +-0x1.9657b2p+2 +0x1.25d18p+3 +0x1.faee42p+4 +0x1.57c286p-3 +0x1.9ed352p+2 +0x1.c24bc2p+3 +-0x1.c46c08p+3 +0x1.058fa8p+4 +0x1.074894p+3 +-0x1.2cb5d2p+4 +-0x1.7b022cp+4 +0x1.d971cep+3 +-0x1.8ec86ap+0 +-0x1.f72738p+1 +0x1.219fdep+2 +-0x1.565374p+5 +-0x1.5ca45ep-4 +-0x1.3c9b4ap+2 +0x1.0adc7p+4 +0x1.c5a68p+1 +0x1.581378p+1 +0x1.d9d092p+3 +0x1.7d3d04p+2 +-0x1.479fcep+4 +0x1.ef3f7ap+2 +0x1.52dc56p+3 +0x1.152d96p+3 +-0x1.b93628p+3 +0x1.6f1702p+2 +-0x1.d76088p+4 +0x1.396904p+5 +-0x1.bb8d38p+2 +-0x1.bea7cap+1 +-0x1.56dbccp+2 +0x1.8d2dfap-2 +0x1.9e0406p-1 +0x1.f80584p+2 +-0x1.54278cp+4 +0x1.37b24cp+2 +0x1.f77b1ap-2 +-0x1.7c43b4p-1 +0x1.10f4e2p+2 +-0x1.84c3d4p+2 +0x1.6536d4p+3 +-0x1.45c85ep+4 +0x1.8d0b58p+2 +-0x1.7bfe86p+4 +-0x1.028574p+4 +-0x1.266d42p-2 +-0x1.6f1e52p+4 +-0x1.b57398p+4 +-0x1.069008p+4 +0x1.951438p+4 +0x1.54640ep+3 +0x1.a2e70ep+0 +-0x1.4584eap+1 +0x1.598412p+3 +-0x1.3508e2p+4 +-0x1.df8c74p+4 +-0x1.d401bcp+3 +-0x1.20ff5ep+2 +0x1.ade08ep+2 +0x1.fb9154p+0 +0x1.a816fp+3 +-0x1.90a1d2p-7 +-0x1.6b755ap+3 +-0x1.54b09ap+3 +-0x1.53687ep+4 +0x1.90e46ap+4 +0x1.1c64acp+1 +-0x1.1cd93cp+2 +-0x1.d6676ep+2 +-0x1.b3376p+3 +-0x1.397f52p+2 +0x1.204f1ep+4 +-0x1.9d15f8p+4 +0x1.86b446p+2 +-0x1.3a978cp+4 +-0x1.299fc8p+4 +-0x1.a744b8p-1 +-0x1.bb2884p+2 +-0x1.23832p-1 +0x1.aabbf2p+3 +-0x1.a112b6p+3 +0x1.3d09dcp+4 +0x1.2cb5e2p+4 +0x1.3cd7acp+2 +-0x1.f1399p+3 +0x1.88f07ep+4 +0x1.93179ep+0 +0x1.2bfc96p+5 +0x1.954fb4p-1 +0x1.335b32p+4 +-0x1.e24d82p+3 +-0x1.ebc294p+4 +0x1.4d8134p+3 +-0x1.e10c4p+2 +-0x1.62805p+3 +0x1.0f558ep+4 +-0x1.407afcp+4 +-0x1.c12b48p+2 +-0x1.7ef92ap+0 +-0x1.41cc22p+2 +-0x1.b4dc08p+3 +-0x1.b8c92ep+3 +-0x1.a4756cp+2 +-0x1.d7ea62p+4 +0x1.a45014p+0 +-0x1.3949p+0 +-0x1.a047f6p+0 +0x1.b57efp+3 +0x1.6e593ep+3 +-0x1.b3b2e6p+3 +0x1.20b848p+1 +-0x1.a7a9a2p+4 +-0x1.3edfeap+1 +0x1.04df46p+4 +-0x1.85c872p+1 +0x1.987aa6p+4 +-0x1.8d8ff4p+0 +-0x1.7bbe5p+2 +0x1.09b6ep+3 +0x1.6540eep+3 +0x1.db5eb4p+0 +0x1.a75b24p+3 +-0x1.6139c4p+0 +-0x1.4f44bp+1 +-0x1.c87cf8p+4 +-0x1.625e9p+4 +-0x1.b994fap+3 +-0x1.d21a74p+4 +0x1.fb8fbcp+4 +0x1.4e0292p+3 +0x1.7bec5ap+3 +-0x1.22ade6p+4 +0x1.3ff0fcp+3 +0x1.acf446p+1 +-0x1.081e4cp+3 +-0x1.af18d2p+0 +-0x1.816382p+2 +-0x1.dbf7e6p+4 +-0x1.109eap+4 +0x1.2f89c6p+2 +-0x1.0525cep+1 +-0x1.1527b6p+2 +0x1.b3de52p+3 +-0x1.730858p+2 +0x1.1b44d8p-1 +-0x1.6d8996p+4 +0x1.34fc5ap+3 +-0x1.8704c8p+4 +0x1.740644p+4 +-0x1.4e2aacp+3 +0x1.97bcacp-1 +0x1.624156p+4 +0x1.50d6fep+3 +0x1.471f7p+2 +0x1.016aep+1 +-0x1.6baefcp+3 +-0x1.21c30ap+3 +0x1.62072ap-2 +-0x1.39b198p+3 +0x1.7f04c2p+2 +-0x1.168386p+4 +-0x1.c9fbccp+4 +0x1.1635f4p+3 +0x1.3ddefp-1 +-0x1.1ee2cep-1 +-0x1.6899a6p+3 +0x1.dc1aa4p+1 +-0x1.b601c4p+1 +0x1.a84624p+2 +-0x1.33c518p+3 +0x1.a67986p+3 +0x1.0a3882p+4 +0x1.06a6ap+2 +0x1.6bf6eap+2 +-0x1.84d9fp+4 +-0x1.6cf124p+1 +0x1.dcbcep+4 +0x1.3536fp+4 +0x1.cdd5ap+2 +-0x1.bfefecp+3 +-0x1.618704p+3 +-0x1.17cefcp+2 +0x1.67adb2p+4 +0x1.3a3954p+3 +-0x1.d038d4p-1 +0x1.36d7a8p+2 +0x1.e318b2p+0 +-0x1.3e982cp+4 +0x1.471aa2p+4 +-0x1.178b0ep+4 +-0x1.b5c338p+3 +-0x1.a52046p+3 +-0x1.d018ccp-1 +0x1.0becd4p+1 +0x1.e26ee4p+4 +0x1.1156cep+2 +0x1.a0a6aap+4 +-0x1.267fe2p+3 +-0x1.1988fap+2 +0x1.0b474ep+3 +-0x1.8fe198p+2 +-0x1.5fdfdap+4 +-0x1.943708p-2 +0x1.8d0838p+2 +0x1.8b693ap+4 +0x1.fd35a4p+4 +0x1.20e762p+0 +0x1.1338d4p+5 +-0x1.ea5206p+3 +-0x1.cd9f28p+2 +-0x1.1da77p+5 +-0x1.123ce4p+4 +-0x1.07274p+3 +0x1.c65318p-1 +-0x1.39b1fp+3 +-0x1.153f22p+5 +0x1.8dd608p+4 +0x1.c91194p+2 +-0x1.06ef9ep+1 +-0x1.f7e71ep-1 +-0x1.2bcc98p+2 +-0x1.d372aap+2 +-0x1.263fecp+4 +-0x1.d0ae2ap+3 +0x1.bf14b6p-1 +0x1.d08ea4p+0 +-0x1.d899f6p+4 +-0x1.c8a996p+3 +-0x1.5587dcp+5 +-0x1.c510eep+3 +-0x1.18b784p+4 +0x1.71cc02p+3 +-0x1.64f178p+3 +0x1.23e878p+3 +-0x1.aec4fap+1 +0x1.30e846p+4 +-0x1.f9dee6p-2 +-0x1.24ba82p+1 +-0x1.9fe796p+2 +0x1.af099ep+4 +-0x1.43231ap+2 +0x1.15808p+4 +-0x1.dd8294p+3 +-0x1.29bfc2p-1 +0x1.5fafe6p+3 +-0x1.22b358p+3 +0x1.6651c6p-3 +0x1.e17a66p+3 +0x1.d3c68cp+2 +-0x1.56483ep+0 +0x1.f538f4p+1 +-0x1.7fb88ep+4 +0x1.74596ap+1 +0x1.90a7c4p+4 +-0x1.74067ap+1 +0x1.3902e8p+4 +0x1.359ad8p+2 +-0x1.14bb78p+5 +-0x1.d2bp+3 +0x1.f9f7f8p+2 +0x1.f4b9e2p+0 +0x1.18af72p+4 +0x1.2336b2p+5 +-0x1.aa7a9ep+3 +0x1.23d8f2p+4 +0x1.066028p+3 +-0x1.2ab22p+1 +0x1.0787d6p+4 +-0x1.9b00fep+0 +0x1.fe98dep+2 +0x1.5ce4dap+4 +0x1.54b8p+2 +0x1.7631f2p+3 +-0x1.56d6cep+4 +0x1.e93e02p+4 +-0x1.508c64p+3 +-0x1.526f5ep-2 +-0x1.c205f2p+4 +-0x1.4665ecp+5 +-0x1.95aab2p+2 +-0x1.0cb91ep+4 +0x1.517e3p+2 +-0x1.bf61d2p+3 +-0x1.457ed6p+4 +-0x1.37c8c2p+3 +-0x1.002cb2p+4 +-0x1.07c27ap+3 +0x1.274168p+3 +0x1.38f41ep+4 +-0x1.81ce3ap+3 +-0x1.d73dd2p-4 +0x1.1be246p+4 +0x1.2488c6p+4 +0x1.231018p+3 +0x1.23500ep+2 +0x1.19c6bep+2 +-0x1.5e77f6p+5 +-0x1.a6520ep+2 +-0x1.fad8dcp+1 +-0x1.520906p+2 +-0x1.77399ap+2 +0x1.14293cp+3 +0x1.50f4ap+3 +0x1.365732p+4 +-0x1.3469c8p-3 +0x1.b1cb36p+2 +0x1.0c8066p+2 +0x1.53f73p+3 +-0x1.ba6bf4p+4 +-0x1.142e22p+0 +0x1.240138p+2 +0x1.2b6fa4p-2 +-0x1.5a932ep+2 +0x1.ba4fb4p+3 +-0x1.223d3p+5 +-0x1.27b8aep+1 +-0x1.a8e546p+0 +0x1.01d11p+3 +-0x1.93f7d2p-2 +0x1.7fcddep+3 +0x1.9a1d8ep+4 +0x1.036464p+4 +0x1.b0e7p+1 +0x1.02db3p+5 +0x1.6b8aap+3 +0x1.2fa006p+4 +-0x1.d82328p+3 +-0x1.9d410ap+4 +-0x1.de77eap-1 +-0x1.21fbd8p+2 +-0x1.cb4adcp+0 +-0x1.3f3ebcp+4 +0x1.2cd10cp+4 +-0x1.6f6f24p-1 +0x1.ed8106p+1 +-0x1.895068p+3 +0x1.00c424p+4 +-0x1.6b352ep+1 +-0x1.08fb74p+4 +0x1.26b1b2p+4 +0x1.5f5b98p+2 +0x1.5767d4p+4 +0x1.276b56p+4 +0x1.2bc056p+4 +0x1.054068p+4 +0x1.e8fb5ep+0 +-0x1.7950f2p+2 +0x1.61c78ep+4 +-0x1.3da23ap+4 +0x1.b309d2p+4 +0x1.b3d51ap+0 +0x1.c7101cp+2 +-0x1.17cc8p+5 +0x1.5e9e68p+2 +-0x1.7b88bap+4 +-0x1.bc3d1p+2 +0x1.fe1772p+4 +-0x1.454e04p+0 +-0x1.203ea8p-1 +0x1.0b63p+3 +0x1.0a3696p+2 +0x1.b69cbep-1 +0x1.e4a2ap+2 +-0x1.fc1de8p+0 +0x1.9c5f0cp+3 +-0x1.c662e4p+1 +0x1.cb775ap+2 +-0x1.61d9a4p+2 +-0x1.1450cep+4 +-0x1.e77354p+3 +-0x1.a191c6p+1 +-0x1.3b096ap+4 +-0x1.573978p+0 +0x1.974ac4p-1 +-0x1.19e942p+4 +-0x1.60de18p+2 +-0x1.787726p+2 +-0x1.fea152p-1 +-0x1.c22308p+1 +0x1.288e8p+2 +-0x1.5b0a62p+0 +-0x1.e322c8p+2 +-0x1.11322ep+3 +-0x1.34b88ap+4 +0x1.52f128p+3 +0x1.119c1p+4 +-0x1.69e2d2p-3 +0x1.1feb9ap+4 +0x1.61fedap+2 +-0x1.8f798ap+4 +-0x1.dfbf18p-3 +0x1.969822p+2 +-0x1.4b524ep+1 +-0x1.321ac4p-2 +-0x1.6ebfaep+4 +0x1.e1d78cp+4 +-0x1.1208eep+3 +0x1.50da0ap+3 +0x1.095648p+4 +0x1.d7c7b6p+4 +-0x1.d0964cp+3 +0x1.2e6518p+3 +-0x1.c0bdc4p+3 +0x1.1695dp+2 +0x1.0454b4p+3 +0x1.4ccceap+2 +-0x1.1db5fap+0 +-0x1.786a46p+4 +0x1.990da6p+3 +-0x1.dac65cp-1 +0x1.4f6fe8p+3 +-0x1.d20a7ap+3 +-0x1.99dd6p+2 +0x1.e5340cp+3 +0x1.a5b96ap+4 +-0x1.928d3cp+2 +0x1.2e3152p+2 +0x1.513136p+3 +0x1.0222cap+3 +-0x1.45b538p+1 +-0x1.ec6732p+1 +0x1.0523dep+3 +-0x1.3a3f7cp+4 +0x1.5ebaf6p+4 +0x1.224768p+4 +-0x1.1e90c4p+5 +-0x1.fedbaap+3 +-0x1.02282p+5 +-0x1.06399p+3 +0x1.ab809ap+2 +-0x1.e2fa34p+4 +-0x1.000ccp+2 +-0x1.16afe8p+4 +0x1.5d829ap+3 +-0x1.582e24p+4 +-0x1.65ffe8p+2 +-0x1.07b006p+4 +-0x1.8a79aap+4 +-0x1.362ff8p+4 +0x1.5a2a56p+3 +-0x1.ad62d6p+2 +0x1.43efdap+0 +-0x1.121deap+2 +-0x1.68e8ecp+2 +-0x1.4737a8p+3 +0x1.41eb8ep+2 +0x1.d3725p+1 +-0x1.d01bfap+3 +-0x1.d040bp+3 +-0x1.1a8154p+4 +-0x1.23d4f4p+5 +0x1.83048p+2 +0x1.8733f8p+4 +0x1.bc26f6p+3 +0x1.86383ep+1 +-0x1.c049b6p-2 +-0x1.fec492p+2 +0x1.7f7968p+4 +-0x1.1dd896p+3 +-0x1.a9ae64p+3 +-0x1.8077dep+4 +-0x1.1e7b08p+5 +0x1.235396p+3 +-0x1.c87d1p+0 +-0x1.d320dap+2 +0x1.03b144p+3 +0x1.7a3848p+2 +0x1.242e1ep+4 +0x1.b7936ap+2 +-0x1.4f848cp+3 +-0x1.0e20dcp+4 +-0x1.c14bcp+4 +-0x1.efd63p+0 +0x1.a4476p+4 +0x1.d225c2p+1 +0x1.21c166p+2 +0x1.235af8p+3 +-0x1.1b58bap+3 +-0x1.58b5e6p+2 +0x1.dc72e4p+4 +-0x1.de7f64p+3 +0x1.76a74ep+1 +-0x1.b2a272p+2 +-0x1.d78d2ap+2 +-0x1.d3a276p+3 +0x1.5d8ba8p+0 +0x1.2127e4p+2 +-0x1.22ebdcp+4 +0x1.78e76p+2 +-0x1.991118p+3 +0x1.0855c4p+4 +-0x1.36a24ap+3 +-0x1.2510e8p+4 +-0x1.0d06dep+2 +-0x1.cade28p+1 +0x1.afd89cp+1 +-0x1.29809ep+3 +0x1.aaf702p+4 +0x1.9dcb1p+0 +0x1.5f3cc8p+3 +0x1.4ba3a6p+4 +-0x1.6d9b24p+0 +0x1.a3ea74p+3 +0x1.207bc6p+1 +-0x1.fe6d08p+3 +0x1.1a6974p+3 +0x1.d70e4ap+3 +0x1.6f4598p+4 +-0x1.0c62a6p+2 +0x1.d820cap+4 +-0x1.71efdcp+3 +-0x1.30841ap+3 +0x1.70f534p+2 +-0x1.4f45fap+1 +0x1.d6ae62p+4 +0x1.f196bcp+3 +-0x1.41d18ep+5 +-0x1.762a84p+4 +0x1.d63c0ep+3 +0x1.f22036p+4 +-0x1.f1afc8p+3 +-0x1.2c7664p-1 +0x1.a217aap+4 +-0x1.07766ep+2 +0x1.7d3ed6p+3 +-0x1.e87ddap+3 +-0x1.9ed7a2p+3 +-0x1.5be994p+4 +-0x1.9df17ep+1 +-0x1.4d8beap+4 +-0x1.57acp+2 +-0x1.cd544cp+2 +-0x1.297dfap+4 +-0x1.72ed2p+3 +0x1.351bfep+1 +-0x1.7a6164p+3 +0x1.524c22p+3 +-0x1.6e8b3cp-1 +0x1.1f939p+3 +0x1.21e258p+2 +0x1.7f5a82p+3 +-0x1.0326ep+3 +0x1.3dbaa2p+2 +0x1.c7e528p+1 +0x1.5e1d8ep-3 +-0x1.d7ebf6p+3 +0x1.9097b6p+3 +0x1.37bfb2p-1 +-0x1.fd2e5p+0 +0x1.34111cp+4 +-0x1.320bb8p+3 +0x1.c3d3cep+1 +0x1.d68baep-2 +0x1.d5fbdap+3 +0x1.774752p+4 +-0x1.a3adc4p+4 +-0x1.c7e54ap+2 +-0x1.1872bap+2 +-0x1.e39d88p+3 +0x1.b7553p+4 +-0x1.db9718p+1 +-0x1.7e4a4ap+2 +-0x1.ca0c48p+2 +-0x1.140942p+2 +-0x1.b89a4ep+4 +-0x1.047d92p+0 +-0x1.1fca22p+4 +0x1.2519e4p+1 +0x1.0ea7cp+4 +0x1.c6c844p+3 +0x1.603424p+4 +-0x1.a5ffd2p+2 +0x1.a39c7p+1 +0x1.125b5cp+4 +0x1.90738cp+2 +0x1.d921bp+4 +-0x1.b15416p+4 +0x1.44313ap+4 +0x1.f07062p+4 +-0x1.46944p+2 +0x1.dbaea8p+1 +-0x1.6c8e2p+4 +0x1.597e7cp+4 +0x1.36efb8p+2 +-0x1.7b4e54p+1 +-0x1.47ffa4p+4 +0x1.8bc7b4p+2 +0x1.260286p+3 +0x1.686e96p+4 +0x1.710bd6p+4 +0x1.55e84p+4 +-0x1.43ffa8p+2 +-0x1.69b8c8p+3 +0x1.c0c0d8p+4 +0x1.eac24ap+3 +0x1.e064cp+4 +-0x1.c5a6f6p+4 +0x1.7d090ap+5 +-0x1.51054cp+1 +0x1.e95248p+1 +0x1.064c9p+5 +0x1.0e768ap+4 +0x1.fcd304p+3 +-0x1.ee4138p-1 +-0x1.6fa7bcp+4 +0x1.1131d4p+1 +0x1.84b6fp+4 +0x1.82d034p+5 +0x1.307076p+3 +0x1.d6dd86p+2 +0x1.b0c424p+2 +0x1.6ecb46p+0 +0x1.5472dp+2 +-0x1.2c76e4p+0 +-0x1.d8f29ap+4 +-0x1.de8bb6p+3 +-0x1.e2eebp-1 +0x1.88639ap+2 +0x1.004798p+4 +0x1.11537p+1 +-0x1.58cef2p+1 +-0x1.dc8958p+3 +0x1.dc3e84p+2 +-0x1.fc0366p+2 +0x1.aa6136p+4 +-0x1.99a04cp+3 +0x1.b0839ep+4 +0x1.d13378p+3 +0x1.2ea186p+2 +-0x1.443c98p+3 +-0x1.eeb87ep+3 +0x1.38c446p+4 +-0x1.710f7cp+4 +-0x1.07b1ap+4 +-0x1.c75e14p+3 +-0x1.3ddf74p+2 +0x1.27093p+4 +-0x1.0833d4p+2 +-0x1.2cb6bap+0 +0x1.6bd3ep+4 +-0x1.17db0ap+4 +-0x1.fc4a6ap+0 +0x1.87f732p+2 +0x1.40fc56p+2 +-0x1.cc7f4ep+3 +-0x1.792ec6p+2 +-0x1.44a492p+5 +-0x1.3827d4p+4 +-0x1.41cca4p+5 +0x1.613802p+2 +0x1.d9b438p+3 +-0x1.b7982ep+0 +-0x1.dd1504p+1 +0x1.dfc3ccp+3 +0x1.1f3afep+1 +-0x1.0cc97cp+3 +-0x1.201c3ep+3 +0x1.df82bp+3 +0x1.395d76p+1 +-0x1.0b866ep+5 +-0x1.738d3p+4 +-0x1.0eeadep+4 +0x1.40cdccp+3 +-0x1.3c73dap+4 +-0x1.74ae48p+1 +0x1.d8275ap+3 +0x1.f22d48p+2 +0x1.1723e8p+5 +0x1.8f429p+2 +0x1.550ea2p+4 +-0x1.b1783p-2 +-0x1.061f08p+4 +-0x1.7ae9bap+1 +-0x1.1541c8p+0 +-0x1.ed3336p+1 +-0x1.a2b8ep+2 +0x1.46e11ep+0 +-0x1.e01f1cp+2 +0x1.c5b57p-3 +-0x1.39bbdap+1 +-0x1.a0c208p+4 +0x1.268d4cp+4 +0x1.8e2fbcp+3 +-0x1.6b14c4p+3 +0x1.8dc764p+3 +0x1.8779e6p+2 +-0x1.176c96p+3 +-0x1.25a544p+4 +-0x1.81eb7ap+3 +0x1.7b7cdap+2 +0x1.11e368p+1 +0x1.8ec7bp+1 +0x1.35e798p-1 +-0x1.b39648p+1 +0x1.827ddap+2 +-0x1.14a3cep+4 +-0x1.cb9414p+1 +-0x1.75eb8p+4 +0x1.24954cp+3 +0x1.f902dcp+2 +0x1.640cf2p+1 +-0x1.2f225p+4 +-0x1.02d94cp+4 +-0x1.9b7db8p+3 +0x1.68651ep+4 +0x1.f4797p+3 +-0x1.d1393ep+3 +0x1.c5dc9p+4 +0x1.bb6f32p+1 +-0x1.cd8996p+3 +-0x1.c73194p+3 +0x1.987076p+2 +-0x1.a68fcp+3 +-0x1.15e00cp+0 +-0x1.339fbep+4 +-0x1.413902p+2 +0x1.ce6222p+3 +0x1.970f02p+4 +0x1.8abadap+3 +-0x1.2c58f8p+2 +0x1.06a996p+4 +-0x1.98533ep+4 +-0x1.fe3dd4p+4 +-0x1.6021c8p+3 +-0x1.575738p+0 +-0x1.cfee4ap+2 +0x1.11638ep+2 +-0x1.fb4ad6p+2 +-0x1.0708c8p+2 +-0x1.00d2dap+2 +0x1.7fbfd8p+4 +0x1.5a65d8p+4 +-0x1.0b1734p+1 +-0x1.4915bcp-1 +0x1.6beb9cp+3 +0x1.57a912p+2 +-0x1.12d05p+1 +0x1.89ea2ap+2 +-0x1.5632cep+2 +-0x1.d4c06cp+3 +-0x1.4f1954p+2 +0x1.3db73p+3 +-0x1.d8db14p+2 +0x1.98df14p+3 +0x1.14ed3ap+2 +0x1.152fd8p+2 +-0x1.eb0c42p+1 +0x1.c34eeap+3 +0x1.f84a2p+4 +0x1.43f32p+3 +0x1.38668cp+4 +-0x1.0fcddap+3 +-0x1.9f96a6p+1 +0x1.e85928p+2 +-0x1.361cep+5 +-0x1.8c83cep+4 +0x1.1c76acp-1 +0x1.5b1636p+3 +0x1.5c5494p+3 +0x1.969e8ap-1 +0x1.2440fap+5 +0x1.31fb48p+4 +0x1.2d1b84p+2 +-0x1.225302p+3 +-0x1.342994p+4 +-0x1.71951ep+2 +0x1.29b1a2p+4 +-0x1.cff758p+4 +0x1.2a3a82p+4 +0x1.f4252ap+0 +0x1.c8b542p+3 +0x1.83bb48p+1 +-0x1.4c22ep+0 +-0x1.0fdb2ep+5 +-0x1.35116p+4 +-0x1.b63122p+2 +0x1.a740bp+2 +0x1.094508p+3 +-0x1.3d0b14p+2 +-0x1.808f84p+4 +-0x1.b7e28ap+2 +-0x1.3c6e26p+4 +0x1.e87adep+3 +0x1.3902b2p+1 +-0x1.76edd4p+0 +-0x1.cc1838p-1 +-0x1.8b4aap+2 +-0x1.4a916p+3 +-0x1.c4d7e2p-2 +-0x1.9fb55ep+3 +0x1.0cca48p+3 +0x1.2bccaap+4 +0x1.0dc2f2p+2 +0x1.9a8406p+4 +0x1.a607cap+4 +-0x1.44bb7ep+4 +0x1.f3e262p+3 +-0x1.15187p+4 +-0x1.5946e6p+4 +-0x1.d8f4f8p+2 +-0x1.bc8404p+3 +0x1.c53ab4p-1 +0x1.191f9ap+4 +0x1.acbcecp+3 +-0x1.4c2d72p+3 +-0x1.02ea12p+4 +0x1.20889ep+2 +0x1.8c2f3p+4 +0x1.10b322p+0 +-0x1.71e27ap+4 +-0x1.2743a2p+3 +0x1.4c16c2p+2 +-0x1.035d74p-1 +-0x1.596772p+2 +-0x1.044af2p+4 +0x1.57275ap+3 +0x1.0b9a4cp+5 +0x1.c2c14ap+2 +-0x1.18b6fp+3 +0x1.aa7be8p+1 +0x1.0e7168p+4 +-0x1.b5a3dcp+1 +-0x1.c72a6ap+2 +-0x1.cb8108p+0 +-0x1.47dbd4p+4 +-0x1.df37b2p+3 +-0x1.430244p+4 +0x1.f6648p+4 +0x1.d75654p+3 +0x1.19a41ap+3 +-0x1.ac1622p+2 +-0x1.901e2p+3 +0x1.091688p+3 +-0x1.4d340ep-2 +-0x1.6e9738p+3 +0x1.66dc78p+4 +-0x1.76e404p+1 +-0x1.a8aa78p-3 +-0x1.aee52cp+4 +0x1.234e8ap+1 +0x1.367622p+1 +-0x1.78192p+0 +0x1.2401c8p+4 +0x1.4296cep+3 +0x1.b9051ep+4 +0x1.6b220ep+3 +-0x1.a36448p+0 +0x1.aed15ep+4 +0x1.144ca4p+5 +0x1.67aa5p+4 +-0x1.48a92p+4 +0x1.9a61f2p+1 +-0x1.131b2cp+4 +0x1.eaf848p+2 +-0x1.cc9e02p+2 +-0x1.a0321ap+3 +0x1.616dbp+3 +0x1.2ed1fcp+2 +0x1.5cebfcp-3 +-0x1.9f96e8p+2 +-0x1.0ef2a6p+4 +-0x1.6462b4p+1 +-0x1.d53832p+3 +0x1.b8dd7p+2 +0x1.4874bap+2 +-0x1.ec97bap+4 +-0x1.53ef34p+3 +-0x1.07fbaap+4 +-0x1.d5c394p+2 +-0x1.448fe4p+5 +0x1.094c28p+3 +0x1.31663ep+4 +-0x1.cf8768p+3 +0x1.3509dp+1 +0x1.8dabe2p+2 +0x1.89563ep+2 +0x1.41e1ccp+2 +-0x1.bb2d1cp+3 +0x1.1c840ep+4 +0x1.bc5d9p+4 +0x1.36b89cp+3 +0x1.0924e6p+0 +-0x1.88f8a4p+4 +0x1.033bdcp+4 +0x1.710218p+3 +-0x1.3d096ap-2 +0x1.3473c8p+4 +-0x1.e31a32p+3 +0x1.efcb56p+3 +0x1.a506aep+1 +-0x1.711fe8p-1 +-0x1.144e54p+4 +-0x1.821f6ap+2 +-0x1.facc3ep+0 +-0x1.8d14p+5 +-0x1.69e3aep+2 +0x1.4818c4p+3 +-0x1.40af88p+4 +0x1.74a9b4p+4 +-0x1.03bd38p+4 +0x1.6e1a9p+0 +0x1.702f9ep+3 +-0x1.7bd9e6p+4 +-0x1.a28782p+3 +-0x1.6a13d2p+3 +0x1.bf6546p+1 +0x1.0073b4p+0 +-0x1.deccb4p+3 +0x1.b97cd6p+4 +-0x1.e8595ap+4 +-0x1.e8608ap+3 +0x1.29b278p+2 +0x1.0139p-5 +0x1.0c8efep+0 +0x1.8abba2p+3 +-0x1.701154p+2 +0x1.11c3p+3 +-0x1.fcebaap+3 +0x1.b7819ap+1 +0x1.c4abcep+3 +0x1.da5bc2p-1 +-0x1.625d3p+2 +-0x1.4d1642p+5 +-0x1.6e78e8p+4 +0x1.ff57b4p+1 +-0x1.732f8p+4 +0x1.c60c8ap+4 +-0x1.6c0f72p-2 +0x1.6c6fccp+3 +-0x1.8770acp+4 +0x1.2e1f4p+3 +-0x1.8a5f1p-1 +-0x1.137b36p+0 +0x1.08318ep+3 +0x1.55dadp+3 +0x1.c697cap+3 +-0x1.7e14c4p+2 +0x1.c05afap+3 +0x1.de4a2p+1 +0x1.d456c4p+1 +0x1.8f5974p+3 +0x1.9e9302p+4 +0x1.27f39ap+4 +-0x1.1bbf7cp+3 +-0x1.be890cp+0 +0x1.a553d6p+3 +0x1.43939ep+3 +-0x1.4045e4p+4 +-0x1.35a0f6p+4 +-0x1.3422aap+3 +0x1.fa67b6p+4 +-0x1.3cc6fcp+4 +-0x1.78fa12p+3 +0x1.78175cp+2 +0x1.07b032p+5 +-0x1.39bc1cp+3 +0x1.7e1ecap+4 +-0x1.a8cdaap+3 +0x1.f5b0cap+3 +-0x1.e7061ap+3 +-0x1.323af2p+2 +0x1.8d033ap+3 +-0x1.a1a074p+3 +0x1.50cc42p+0 +-0x1.f56e5ep+3 +0x1.3859dap+3 +0x1.73203cp+3 +-0x1.8adde6p+3 +-0x1.d557aep+0 +0x1.36e46ep+1 +-0x1.35822ep+1 +0x1.27b778p-1 +-0x1.3d6d94p+3 +-0x1.11e906p+3 +-0x1.deaedep+4 +-0x1.6c2686p+2 +-0x1.751cb6p+2 +0x1.7e5a44p+3 +-0x1.a1a944p+3 +-0x1.631e76p+3 +-0x1.4974eap+1 +-0x1.610c3ap-1 +0x1.64f79cp+2 +0x1.ef4876p+2 +0x1.3bf078p+5 +0x1.1b3054p-1 +-0x1.0d3a5p+2 +0x1.017ee4p+5 +-0x1.208ccp+4 +-0x1.5f084ep+4 +-0x1.2bc952p+0 +0x1.79882cp+3 +0x1.f213b8p+3 +-0x1.a1dee8p-2 +0x1.398bap+2 +0x1.19695ep+4 +0x1.efefbap+1 +0x1.e030b8p+3 +0x1.b164eap+1 +0x1.adaf62p+4 +0x1.e9a2d2p+3 +-0x1.17544ap+4 +0x1.3276eap+0 +0x1.6d2016p+1 +-0x1.bd270ap+0 +0x1.51916p+1 +-0x1.8aadeap+2 +0x1.e4a268p+3 +-0x1.2988d8p+3 +-0x1.35c038p+3 +-0x1.3a1554p-5 +-0x1.2596bap+4 +0x1.5d799cp-2 +-0x1.d574c6p+0 +0x1.9e272ep+4 +-0x1.baca84p+3 +0x1.9f22e2p+2 +-0x1.c073cap+1 +0x1.1633b2p+3 +0x1.63fdep+2 +0x1.3bf4p+1 +-0x1.242928p+2 +0x1.b44f6p+3 +0x1.35ef8ep+3 +0x1.1f6824p+1 +0x1.01263ep+1 +0x1.43f43cp+4 +-0x1.272e42p+1 +0x1.cde266p+4 +-0x1.2759fcp+4 +0x1.53c2ap+3 +-0x1.3b002ap+3 +-0x1.a9d384p+3 +-0x1.c0ffa4p+4 +0x1.28be5ap+4 +0x1.dee24p+1 +0x1.00a382p+4 +-0x1.089956p+4 +0x1.0af8e2p+1 +0x1.1d9202p+1 +0x1.b4eabap+4 +-0x1.50679p+5 +-0x1.b0207ap+2 +0x1.15067ep+3 +0x1.33b2fep+4 +0x1.229d8ep+3 +-0x1.14bb16p+4 +0x1.06aa7ap+3 +0x1.b45904p+2 +0x1.715c2cp+4 +0x1.668408p+3 +0x1.f24d72p+1 +0x1.dbf50cp+4 +-0x1.938fbap+4 +-0x1.bbfd72p+0 +0x1.333e5ep+4 +0x1.05222ep+0 +0x1.8c6cd2p+4 +0x1.8f1b76p+2 +-0x1.02c5f6p+2 +-0x1.1713aap+1 +-0x1.a29ad4p+4 +-0x1.b6d618p+2 +-0x1.70b116p+1 +-0x1.d84738p+2 +-0x1.a232cp+0 +-0x1.3d48acp+0 +0x1.523a7ep+4 +0x1.e70aeep+2 +-0x1.5a1c98p+3 +-0x1.ed119p+3 +-0x1.792fd2p+1 +0x1.488072p+3 +-0x1.e435bep+2 +-0x1.e5248cp+3 +0x1.2ea91cp+3 +0x1.075236p+4 +-0x1.9fd766p-1 +0x1.d27774p+1 +0x1.a0de76p+4 +-0x1.779e1ap+3 +-0x1.9a63b2p+3 +0x1.4551cp+3 +-0x1.2bf0fp+0 +-0x1.ae0f78p+2 +0x1.ae5e88p+4 +0x1.34f0d2p+2 +0x1.69e272p+2 +0x1.2da5a4p+5 +0x1.a9cf96p+3 +-0x1.45019ep+0 +-0x1.554226p+0 +0x1.ce6a22p+3 +0x1.e60fc4p+1 +-0x1.ba4f24p+3 +0x1.bef6acp+2 +-0x1.f08f32p+1 +-0x1.827efp+2 +-0x1.814518p+3 +0x1.929f7cp+2 +-0x1.2e62cap+1 +-0x1.0b1e92p+4 +0x1.8b1da8p+2 +0x1.41a8c4p+3 +-0x1.c2ed34p+3 +0x1.23ff52p+4 +-0x1.797516p+3 +-0x1.8f914ep-1 +0x1.31814p+2 +-0x1.19f828p+1 +0x1.4f28e4p+4 +0x1.9f7bep+1 +-0x1.49859ap+1 +0x1.f24a98p+3 +-0x1.3785cp+3 +-0x1.28ddfp+4 +0x1.af2e4cp+3 +-0x1.bb9c34p+3 +-0x1.237384p+4 +0x1.216e94p+3 +-0x1.404f78p+1 +-0x1.d5f764p+3 +-0x1.6a54a4p+1 +-0x1.ea251ep+1 +0x1.e4d75cp+2 +-0x1.51d778p+4 +0x1.f0ffbep+1 +0x1.07cd9ap+2 +0x1.7291e8p+3 +-0x1.102f36p+3 +0x1.16fa72p+3 +-0x1.68cf94p+3 +0x1.bda476p+4 +-0x1.80b8e6p+4 +-0x1.044f2cp+4 +0x1.b76b66p+0 +-0x1.05859ap+4 +-0x1.51373ep-2 +0x1.0ccfep+1 +0x1.217ce6p+4 +0x1.5f8346p+2 +-0x1.4855b8p+4 +-0x1.c67156p+0 +0x1.f2919ep-3 +0x1.2a6246p+3 +0x1.caa2ecp+1 +-0x1.682f24p+3 +-0x1.d0d90ep+4 +0x1.904d8p+3 +-0x1.d9bc36p+3 +0x1.b609dp+3 +-0x1.9a9a14p+3 +0x1.2063c2p+1 +-0x1.ada57ep+3 +0x1.8fce24p+2 +0x1.ac55ep+3 +-0x1.0c3b9p+2 +0x1.a5e5b4p+2 +-0x1.0565e8p+3 +0x1.6da238p+1 +0x1.4975fcp+5 +-0x1.ff2f3cp+4 +0x1.bef44ap+4 +-0x1.8801d6p+0 +-0x1.cbb29ep+2 +0x1.09dc7p+3 +0x1.2eb9c4p+4 +0x1.619a86p-6 +-0x1.6ef242p+4 +-0x1.29526ap+0 +0x1.218a9p+4 +0x1.065246p+2 +-0x1.4bc35ap+4 +-0x1.503f56p+3 +-0x1.de0226p+3 +-0x1.7c16f2p+4 +0x1.be4304p+4 +0x1.a2e2c6p+4 +0x1.5f5178p+3 +-0x1.80f52p+3 +0x1.be8832p+4 +0x1.1e1ad8p+4 +0x1.88af12p+3 +0x1.56d51p+3 +0x1.2e8bcap+3 +0x1.7c2a16p+2 +-0x1.c3f246p+2 +0x1.4b1852p+4 +0x1.11083cp+4 +-0x1.7e2af4p+3 +-0x1.7da2eap+1 +0x1.506ffcp+1 +0x1.7ab5eap+1 +0x1.b77cacp+0 +0x1.7b3b4ep+4 +0x1.bbddc2p+3 +0x1.c509a2p+4 +0x1.183ab4p+2 +-0x1.2b1b38p+4 +0x1.826b8p+4 +0x1.88115p+3 +-0x1.242f7ap+2 +-0x1.4b33fap+1 +-0x1.3ff7b2p+4 +0x1.e5c146p+3 +-0x1.0452ccp-2 +0x1.c8557p+0 +-0x1.2fe8f8p+3 +0x1.4b188cp+3 +-0x1.02805ap+2 +0x1.81a3dp+4 +0x1.61605p+1 +-0x1.88b9b4p+2 +0x1.adbdep+3 +0x1.ef8b78p+1 +0x1.6f0586p+3 +0x1.d51d52p+1 +0x1.e0380ap+2 +-0x1.72ba7p+4 +0x1.ba9f12p-2 +-0x1.4730bap+5 +0x1.d2be6cp+2 +0x1.4dea36p+0 +-0x1.13802ep+4 +-0x1.1f41e4p+1 +-0x1.29929cp+2 +0x1.d3f8e6p+1 +-0x1.60ca4cp-1 +0x1.0ad204p+1 +-0x1.e96f94p+1 +-0x1.21e5d8p+3 +0x1.9867c6p+2 +-0x1.fea528p-4 +-0x1.93dc6ap+2 +-0x1.680cd2p+5 +0x1.21f1f2p+3 +-0x1.060a6ep+5 +-0x1.1ff164p+4 +0x1.4d1bf4p+1 +-0x1.0ccf4p+5 +0x1.12b196p+4 +-0x1.220a6p+2 +-0x1.5ef9ecp+2 +0x1.71cdb6p+3 +0x1.1b40f2p+4 +0x1.dae342p+1 +0x1.ceb356p+4 +0x1.028d0ap+3 +-0x1.0e4394p+1 +0x1.2a2bep+1 +0x1.d86p+1 +-0x1.e6a31ap+3 +-0x1.513df4p-1 +0x1.1e75dap+0 +-0x1.0d4c2p+4 +0x1.5dca4p+0 +-0x1.d37956p+3 +-0x1.a04d48p+0 +-0x1.04014cp+1 +0x1.658adp+2 +-0x1.0ff5d6p-2 +-0x1.cb30ccp-1 +-0x1.26c032p+4 +0x1.f0b8dp+0 +0x1.502734p+3 +0x1.687e12p+2 +-0x1.82955ep+1 +-0x1.f0a28ep+3 +-0x1.934f9p+2 +0x1.9f3cp+2 +0x1.104162p+3 +0x1.250e94p+5 +0x1.cbb8b2p+3 +-0x1.04dcf8p+3 +-0x1.39dd92p+2 +-0x1.69653ap+3 +-0x1.9e5b08p+4 +0x1.cf9e7ep+0 +-0x1.f509a8p+3 +0x1.e6fb88p+2 +-0x1.015c68p+4 +-0x1.4ef5c8p+4 +-0x1.d76b72p+4 +0x1.c56e2cp+4 +0x1.2fd78cp+3 +-0x1.53571ep+2 +0x1.1fc02cp+4 +0x1.b3d1aep-4 +0x1.7e911cp-1 +-0x1.deccf2p+3 +-0x1.f4a962p-2 +-0x1.a1bcc4p+2 +0x1.3e4dd6p+4 +0x1.32e094p+2 +0x1.b25072p+3 +-0x1.e1b734p+4 +0x1.36b69cp+4 +0x1.24780ep+4 +0x1.525898p-1 +-0x1.3612bcp+4 +-0x1.e53778p+1 +0x1.17896cp+4 +0x1.339628p+1 +-0x1.53c8cap+3 +0x1.ea6f96p+3 +0x1.b4e004p+2 +-0x1.e2af58p+4 +0x1.0533a6p+4 +0x1.f3a2bp+2 +0x1.a8aec6p+4 +-0x1.70f68p+3 +0x1.51f402p+3 +0x1.db0648p+0 +0x1.4e1964p+1 +0x1.a93094p+2 +-0x1.1026fep+3 +0x1.2b118p+0 +-0x1.1663b2p+2 +0x1.64f32ap+2 +0x1.76f538p+4 +-0x1.229edap-1 +-0x1.9d5422p+1 +0x1.663992p+2 +0x1.827424p+1 +0x1.56ef8ap+3 +-0x1.48c9fcp-7 +0x1.2c9096p+2 +0x1.f11c2ap+1 +-0x1.d30d84p+3 +0x1.7c24bp+3 +-0x1.a8496ap+3 +-0x1.8d426p+2 +0x1.2fee8ep+3 +0x1.2784b4p+3 +-0x1.fa3b2p+1 +0x1.5f32acp+2 +-0x1.d1bb1p+3 +-0x1.b9e65cp+1 +-0x1.50f468p+3 +-0x1.6dbe7p+1 +0x1.a46e98p+4 +0x1.4cde12p+4 +-0x1.e842a6p+3 +0x1.a07a38p+2 +0x1.021d6cp+4 +-0x1.07a6aap+2 +0x1.684072p+5 +0x1.5a13a4p+2 +0x1.e2f996p-1 +-0x1.5ffafep+2 +0x1.b56388p+1 +0x1.7d238p+0 +-0x1.61af1cp+3 +0x1.cfd7a6p-7 +0x1.24984ap+4 +-0x1.89074p+4 +-0x1.ab4148p+4 +-0x1.dfbe18p+0 +0x1.9308cp+1 +0x1.c58a08p+4 +0x1.b362b4p+2 +0x1.57be1p+0 +0x1.48fdc6p-2 +-0x1.020ca6p+5 +0x1.83ec8ap+3 +0x1.b2c478p+3 +-0x1.113a0ap+3 +-0x1.d382c8p+3 +0x1.7880f4p+2 +0x1.971a04p+4 +0x1.0fb78p+3 +-0x1.9719cap+1 +0x1.ea1f6ep+0 +0x1.32beaep+4 +-0x1.cf59e6p+3 +0x1.1b29dp+4 +-0x1.3a8dc8p+4 +-0x1.9329f8p+3 +-0x1.da33fap+1 +-0x1.6ef64cp+2 +0x1.a17302p-2 +-0x1.52cf36p+0 +0x1.081ab8p+2 +-0x1.a3029ep+4 +0x1.0dd4a2p+5 +0x1.bf8486p-3 +-0x1.365096p+1 +0x1.f8c28p+2 +0x1.2e34b2p+4 +0x1.76e0ccp+4 +0x1.7fc06cp+4 +-0x1.1fc044p+4 +-0x1.0ae6fcp+4 +-0x1.2c6562p+3 +-0x1.cc02a4p+3 +0x1.eed6e2p+4 +-0x1.95d15ap+4 +-0x1.c9bdbap+4 +-0x1.ddffdep+3 +0x1.059c14p+4 +-0x1.cd3fc2p+3 +0x1.6e093cp+3 +-0x1.4d1a16p+4 +0x1.fbe58cp+2 +0x1.bc4616p+2 +0x1.8efeaep+0 +-0x1.edf52cp+3 +-0x1.c75fdep+4 +-0x1.360ca4p+4 +-0x1.8316aap+2 +-0x1.d60076p-2 +0x1.21a4e2p+5 +0x1.dcda46p+3 +-0x1.59eddp-2 +0x1.4b4d1ap+1 +0x1.33462p+4 +-0x1.29ca76p+3 +-0x1.be1556p+3 +0x1.ea0cp+2 +-0x1.ce3404p+2 +0x1.1842aep+3 +-0x1.e1bb82p+3 +0x1.ea0ff4p-1 +0x1.923c72p+0 +-0x1.4884c2p+4 +0x1.152026p+5 +0x1.d299f4p+3 +0x1.0386c8p+5 +0x1.00ec54p+1 +-0x1.0a6d14p+3 +0x1.0269a4p+3 +0x1.563868p+3 +-0x1.b712cap+1 +0x1.1f2cd4p+1 +0x1.ed4bep+0 +-0x1.a29e18p-1 +-0x1.069dcp+4 +-0x1.050c8ap+3 +0x1.90271cp+4 +0x1.17cf9ap+3 +-0x1.917cap+2 +0x1.15f86p+5 +0x1.b87e36p+4 +0x1.7ae312p+2 +-0x1.c5c72cp+0 +-0x1.eb5c14p+2 +0x1.2db7cep+5 +0x1.917df8p+4 +0x1.0032d2p+4 +-0x1.c04d52p+1 +-0x1.658aacp+4 +-0x1.def7a4p+3 +0x1.0b94f2p+4 +-0x1.e29c2ep+4 +-0x1.3a92f6p+3 +-0x1.018406p+2 +-0x1.a1bb46p+3 +-0x1.cd19acp+2 +-0x1.48b60ep+2 +-0x1.bd3504p+1 +-0x1.c46618p+4 +0x1.bf977ep+1 +0x1.0e687cp+4 +-0x1.a5f17p+1 +-0x1.f0471p+3 +-0x1.49c53ap+3 +0x1.99798ep+1 +0x1.68d392p-1 +0x1.91aab6p+3 +-0x1.28062ap+4 +0x1.57518ap+1 +-0x1.2aefep+4 +-0x1.53a44ep+4 +0x1.234f74p+4 +0x1.970ccap-2 +0x1.539ccep+2 +0x1.1d375ep+5 +-0x1.0e1a0cp-2 +0x1.6b2458p+3 +0x1.8c942ep-1 +-0x1.67befp+3 +0x1.ba7dp+1 +0x1.6f2d8ap+2 +-0x1.4e682ep+3 +-0x1.866034p+0 +-0x1.a8b234p+3 +-0x1.5b18fp+4 +-0x1.43970cp+3 +0x1.2cbe72p-1 +-0x1.26b7cp+4 +0x1.194518p+2 +-0x1.d7ef26p+3 +0x1.6bd3bep+3 +0x1.2d60d6p+4 +0x1.4e2a48p+2 +-0x1.9bc726p+3 +0x1.6521f8p+4 +0x1.3246dcp+2 +-0x1.80003p+2 +-0x1.1678p+4 +-0x1.14856p+5 +0x1.54ed1cp+4 +-0x1.2eefa8p+2 +0x1.97c2d4p+2 +-0x1.142d7cp+4 +-0x1.796aaap+0 +0x1.2e135ap-4 +0x1.546bc4p+5 +-0x1.998eb2p+2 +0x1.25fa9p+3 +0x1.fc34f6p+3 +-0x1.6999cap+4 +0x1.52bfeep+2 +0x1.564f16p+3 +-0x1.aeebaap+2 +0x1.99268ap-1 +-0x1.ee66bp+2 +-0x1.1c6a18p+3 +0x1.435e7ep+0 +0x1.76cc2ep+5 +-0x1.83fc52p+2 +0x1.24474ap+2 +0x1.03605cp+3 +0x1.add1eap+0 +-0x1.12d562p+4 +-0x1.b48c3p+2 +0x1.6b3ae4p-2 +0x1.173f84p+5 +-0x1.e74044p+3 +0x1.67d708p+4 +0x1.46b33p+0 +-0x1.95dc2p-1 +-0x1.fb3326p+1 +-0x1.d185f6p+3 +0x1.7f29d6p+4 +0x1.404b72p+3 +-0x1.d55568p+3 +-0x1.6dfd1cp+4 +-0x1.ec906ep+3 +-0x1.685456p+3 +-0x1.fe44a2p+0 +-0x1.19b30ap-2 +-0x1.762efap+1 +0x1.d80ad8p+4 +-0x1.486074p-2 +0x1.0a8cf2p+4 +-0x1.216b44p+5 +-0x1.5c978cp-2 +0x1.823b3p+4 +0x1.1e684p+3 +-0x1.2f5176p+4 +-0x1.c4b98p+4 +0x1.4b06dcp+3 +0x1.9ac9d8p+4 +-0x1.74566p+2 +-0x1.6a96ep+4 +-0x1.b56508p+4 +0x1.03ba24p+3 +-0x1.00f62cp+4 +-0x1.290906p+4 +0x1.200272p-1 +0x1.02cdd8p+4 +-0x1.c1df0ap+2 +0x1.62082cp+5 +-0x1.38363p+5 +0x1.05e18cp+4 +0x1.b4f518p+3 +0x1.5d5d26p+3 +-0x1.1bd404p+4 +0x1.1ed7d2p+4 +-0x1.74f8e2p+1 +0x1.5e7eeap+2 +0x1.86cc4ap+4 +0x1.0faedep+4 +0x1.ff5698p+4 +-0x1.94f97ap+2 +0x1.e3ca74p+2 +-0x1.4e0fbcp+3 +0x1.4f04d2p+4 +0x1.118368p+4 +0x1.1cf136p+3 +0x1.c262bcp+3 +0x1.0486b6p+1 +0x1.c7e2aep+4 +0x1.0ea45cp+4 +0x1.70b79cp+3 +-0x1.809facp+4 +0x1.073ac8p+5 +-0x1.00e0b4p+5 +0x1.18653cp+3 +-0x1.2914dcp+3 +0x1.2aca2p+0 +0x1.a48fbp+0 +-0x1.b7f86cp+3 +0x1.cf689cp+2 +-0x1.4df39p+3 +0x1.3d9148p+3 +0x1.04d87p+1 +0x1.183f9p+4 +0x1.131824p+3 +-0x1.cae47cp+4 +-0x1.72a1c2p+3 +-0x1.3d1ec8p-3 +-0x1.051fbcp+4 +-0x1.dd8fcap+1 +0x1.ac2c58p+4 +0x1.cf0ef6p+1 +0x1.2a15bcp+4 +-0x1.6458bap+2 +0x1.3dfbap+4 +0x1.acce48p+2 +-0x1.4a6c2ap+3 +0x1.0d65ep+4 +-0x1.ef75c4p+4 +0x1.6bb41ap-2 +-0x1.1aa7e2p+4 +-0x1.d7ae6cp+1 +-0x1.dabe96p+2 +-0x1.42dc8p-1 +-0x1.e3ffp+3 +-0x1.567bdp+4 +0x1.45e4cap+3 +-0x1.490a68p+4 +-0x1.0f8e2p+4 +0x1.6b87dep+0 +-0x1.948dp+2 +0x1.215098p+5 +0x1.91ff1p+3 +-0x1.c1d4f4p+2 +-0x1.b26978p+3 +0x1.9b8ef8p+2 +0x1.4fc9ccp+3 +0x1.8dac1ep+1 +0x1.249b54p+4 +-0x1.360a5cp+4 +0x1.6a3caep+4 +0x1.08101ep+5 +-0x1.ecf65cp+1 +0x1.62cadap+1 +-0x1.06112ep+3 +0x1.991d78p+3 +0x1.606aep+4 +-0x1.070714p+1 +-0x1.562a98p+0 +-0x1.dc5e96p+3 +-0x1.83bc2ep+2 +0x1.5f291cp-2 +0x1.1045fp+0 +0x1.0c56dp+4 +-0x1.21070ap+2 +0x1.beeb62p-3 +0x1.990464p+3 +0x1.06002cp-1 +-0x1.f13c1ep+0 +-0x1.180a16p+2 +-0x1.8f8b4ep+4 +-0x1.1649f2p+4 +-0x1.97f9eap+2 +-0x1.4fe618p+3 +-0x1.e21264p+0 +0x1.10b602p+1 +0x1.99f81cp+0 +0x1.f010c6p+3 +-0x1.18296ep+1 +-0x1.3d588cp+1 +-0x1.6d5964p+4 +-0x1.9dca2ap+2 +0x1.257a96p+4 +0x1.387e48p+1 +-0x1.ead32cp+4 +-0x1.47b2dp+4 +-0x1.319552p+4 +0x1.03d558p+4 +0x1.c00ae2p+4 +-0x1.8fab24p+0 +0x1.3549ccp+4 +0x1.007aa6p+3 +0x1.457e7ap+3 +0x1.18726cp+3 +0x1.13ddb4p+2 +-0x1.03641ep+3 +0x1.4c7becp+4 +-0x1.a59092p+2 +0x1.2641cap+3 +0x1.156662p+5 +-0x1.e0f6fcp+4 +0x1.05feecp+5 +0x1.df907ep+4 +-0x1.54405ap+3 +0x1.705f56p+3 +-0x1.85a352p+2 +0x1.d1237p+2 +0x1.6718eep+3 +-0x1.57e652p+4 +-0x1.79544ep+2 +-0x1.16d64p+4 +-0x1.1ac906p+4 +-0x1.e85af4p+3 +0x1.bb11c6p+1 +0x1.7f800ep+3 +0x1.3d5614p+4 +-0x1.cb8fc6p+2 +-0x1.38784cp+4 +-0x1.4ab4fap+1 +0x1.e26664p+3 +0x1.3dd5b8p+3 +-0x1.ffa216p+1 +0x1.476134p+2 +0x1.e5787cp+2 +-0x1.f9e446p+2 +-0x1.93e5d2p+2 +0x1.4357fap+3 +-0x1.4f73ep+2 +0x1.9d7f48p+4 +-0x1.f46b4cp+0 +0x1.4cc132p+1 +0x1.3e01aep+4 +-0x1.b8cd7cp+2 +0x1.17734cp+1 +-0x1.4d84b6p+5 +-0x1.5e3c2cp+1 +0x1.39600cp+4 +-0x1.d9fed2p+3 +0x1.cf3dfp+3 +0x1.97d41ap+4 +0x1.ee4f3ep+3 +0x1.7d9d76p+0 +-0x1.89719cp+0 +0x1.7a6966p+0 +0x1.323646p+4 +0x1.f37bcep-1 +-0x1.f26d5ep+3 +-0x1.32b2dp+3 +0x1.c7fba6p-2 +-0x1.016d02p-1 +-0x1.29eb78p+2 +-0x1.0abdfp+3 +-0x1.83caeep+4 +-0x1.e77142p+4 +-0x1.698fap+2 +-0x1.0b184ep+0 +-0x1.2f8bb2p+5 +-0x1.b2a8bap+3 +0x1.900b1ep+4 +-0x1.f1c7ecp+2 +0x1.810202p+2 +0x1.2c9fc4p+1 +-0x1.f03356p+4 +-0x1.9fd06ep+4 +0x1.9d463ep+4 +-0x1.3acaaap+4 +-0x1.6968e6p+4 +-0x1.b4160ap-2 +-0x1.6b96b2p+3 +-0x1.50589ap+1 +-0x1.307092p+4 +-0x1.2f7d76p+4 +0x1.b05bd4p-2 +0x1.40ed04p+3 +0x1.228e5ep+4 +-0x1.112b6p+0 +-0x1.be5892p+3 +-0x1.c6a59ap+4 +0x1.a56efp+2 +0x1.918a52p+1 +0x1.2d04aep+2 +0x1.1aa9f2p+2 +0x1.0eb2acp+4 +-0x1.a38a2cp+4 +0x1.c2fa24p+2 +0x1.a778fap+3 +-0x1.171818p+3 +-0x1.38933ep+5 +0x1.8107eap+4 +0x1.96ff2cp+3 +0x1.188cd6p+1 +-0x1.5b8de2p-6 +-0x1.2bfef2p+3 +-0x1.076554p+3 +-0x1.4afc24p+3 +0x1.1aa984p+4 +-0x1.85ce3p+4 +0x1.6355f4p+0 +-0x1.bf4e26p+3 +0x1.b00866p+2 +-0x1.f99842p+2 +-0x1.d6bc48p+2 +0x1.6ef53ap+0 +-0x1.bdb7c6p+4 +0x1.5259b4p+3 +-0x1.8852bp+4 +0x1.56e862p+1 +0x1.daed1ep+2 +0x1.2c7a8ap+3 +0x1.9331fp+4 +-0x1.557626p+3 +-0x1.146f9ep+4 +-0x1.28a022p+3 +-0x1.a2228ep+4 +0x1.0b5b48p+4 +0x1.d73f7ep+2 +-0x1.47b2eap+2 +-0x1.5018e8p+2 +-0x1.72153ep+4 +0x1.a8f7b2p+4 +-0x1.26c92cp+0 +-0x1.3ca7f8p+5 +0x1.44b744p+1 +-0x1.5a8bbap+4 +0x1.84ab42p+2 +0x1.d44e1cp+4 +0x1.dc0de4p+4 +0x1.87509p-1 +0x1.c4356p+1 +-0x1.933796p+2 +-0x1.3dc2bep+4 +-0x1.06ed8ep+3 +0x1.4d3d7p-1 +-0x1.dd5742p+2 +0x1.14c61cp+0 +-0x1.d54bacp+3 +-0x1.2ce968p+4 +-0x1.41ab3ep+3 +0x1.44f836p-5 +0x1.516194p+3 +-0x1.a7bbf8p+3 +-0x1.217622p+5 +-0x1.9fdd64p+3 +0x1.42b618p-5 +0x1.ad52dep+2 +-0x1.a0565ep+4 +-0x1.64508ap+3 +0x1.0ac864p-1 +-0x1.7d311cp+3 +-0x1.5ddfbap+4 +0x1.c135fap+0 +0x1.01478ap+0 +-0x1.3333aap+4 +-0x1.4496a2p+4 +-0x1.711ea6p+4 +-0x1.755ecp-6 +0x1.1ac204p-4 +-0x1.d88bd4p+1 +0x1.6dce5p+3 +-0x1.16dc0cp+5 +-0x1.27c77cp+0 +-0x1.906e9ep+1 +0x1.18e9b8p-2 +-0x1.2e8c2cp+4 +-0x1.42c532p+3 +-0x1.2c24bap+3 +-0x1.ac2c6ep+2 +-0x1.d221a6p+4 +0x1.d71f28p+2 +-0x1.630a7ap+0 +0x1.5cb6bcp+4 +-0x1.4d706ep+3 +-0x1.81db16p+4 +0x1.1d45ecp+3 +-0x1.bbd304p+3 +0x1.692926p+3 +0x1.a623aep+0 +-0x1.080956p+2 +-0x1.8c6be4p+4 +-0x1.b92f88p+0 +-0x1.4ef9f2p+4 +0x1.67160ap+4 +-0x1.011edp-1 +-0x1.1247dep+4 +-0x1.ed5af4p+4 +0x1.d43b42p+4 +0x1.2248fep+4 +0x1.36f16p-2 +-0x1.62a91ap+4 +0x1.c5cf3p+3 +-0x1.df6c8cp+3 +-0x1.f943acp+1 +0x1.51a9cap+3 +-0x1.9108fap+3 +0x1.fe4862p+2 +-0x1.04fffp+2 +-0x1.d641c8p-2 +-0x1.f9d3d6p+1 +-0x1.ee6296p+1 +-0x1.94a686p+2 +0x1.a7c516p+3 +0x1.20a85p+1 +0x1.86dca4p+1 +0x1.38018cp+3 +-0x1.ba118p+4 +0x1.fc074ap+2 +0x1.0ea0d8p+4 +-0x1.0efba6p+2 +-0x1.17c456p+3 +-0x1.596f72p+1 +-0x1.392248p+4 +0x1.5122ep+4 +0x1.f0ef8p+1 +0x1.249d34p+1 +-0x1.f4b12ep+3 +-0x1.c8731ap+3 +0x1.31dd68p+4 +-0x1.a303a4p-3 +0x1.4e86c8p+4 +0x1.1a56eep+4 +-0x1.7238cep+4 +0x1.83510cp+3 +0x1.32953ap+2 +-0x1.e298a4p+1 +0x1.cc7238p+0 +-0x1.094404p+2 +0x1.11645ap+2 +0x1.fbafb2p+2 +-0x1.93b42cp+1 +-0x1.e337p+4 +0x1.04b988p+3 +0x1.a4e32ep+4 +-0x1.6e6b6cp+2 +-0x1.10709cp+4 +-0x1.48d7f6p+4 +-0x1.cc1444p+4 +0x1.87c2ep+2 +0x1.cb2c2p+3 +-0x1.c6295ep+4 +-0x1.218ee2p+3 +-0x1.28c278p+2 +-0x1.b520c2p+0 +-0x1.9e64f8p+4 +0x1.99936ap+4 +-0x1.5862d6p+5 +-0x1.b02166p+2 +-0x1.99318p-1 +-0x1.e066f6p+2 +-0x1.620d2p+2 +-0x1.2d339cp+3 +-0x1.8d62fap+4 +-0x1.00e28ap+5 +-0x1.228056p+3 +0x1.650becp+3 +0x1.add9cep+3 +0x1.9234p+4 +0x1.67b7ep+3 +0x1.25eda2p+4 +-0x1.5a3b46p+0 +-0x1.5c45bcp+1 +0x1.627c98p+0 +0x1.6a81eep+4 +0x1.8da70ap+1 +-0x1.26483ap+1 +0x1.0e92bp-1 +-0x1.ae35d6p+4 +-0x1.d0244cp+1 +-0x1.d76602p+3 +-0x1.5802e8p+4 +0x1.5ea6b8p+5 +-0x1.2cbb8p+4 +-0x1.219d9cp+3 +-0x1.86f4a4p+3 +0x1.be4ac6p+3 +-0x1.9f4dc6p+3 +-0x1.0ce498p+1 +-0x1.2710cap+4 +0x1.d7f332p+2 +0x1.ea8f9ap+2 +0x1.bbbb08p+3 +-0x1.da4784p+3 +-0x1.fac162p-2 +0x1.9fcc2p+4 +-0x1.59a33p+4 +-0x1.9f049cp+0 +0x1.4b15aap+3 +-0x1.2b1f28p+5 +-0x1.a43ecap+4 +-0x1.05965cp+4 +0x1.6fa45ep+4 +-0x1.e90b1ap+3 +-0x1.a6fa42p+3 +-0x1.454526p+3 +0x1.078a8cp+5 +-0x1.fe4f1ep+3 +0x1.032e9ep+3 +0x1.5afe8ap+2 +-0x1.54094cp+3 +0x1.8124ccp+3 +0x1.80e338p+0 +-0x1.45ae58p-1 +-0x1.44c552p+3 +0x1.9542f4p+2 +0x1.943224p+4 +0x1.9edd1ap+2 +-0x1.61b202p+4 +0x1.cabf4cp+2 +-0x1.e190cep+1 +0x1.15f088p+4 +0x1.600cf4p+4 +0x1.277e06p+3 +0x1.036adcp+4 +-0x1.069f94p+1 +-0x1.1d4d02p+4 +-0x1.7b7f4p+3 +-0x1.20c724p+5 +-0x1.584b22p+4 +-0x1.06c72p+0 +-0x1.0c2c58p+2 +0x1.12548cp+4 +0x1.28c146p+3 +-0x1.4304dp+4 +-0x1.92769p+2 +0x1.888d26p+3 +-0x1.199f22p+1 +0x1.bfd58cp+1 +-0x1.806cep+4 +0x1.feb86p-3 +-0x1.7db2d8p+2 +-0x1.07b6fp-2 +0x1.1771p+3 +0x1.b17e6ap+1 +0x1.29cdap+4 +-0x1.2727a4p+2 +0x1.cdd90ep+0 +0x1.dd3dbp+3 +-0x1.610c08p+0 +-0x1.8777d2p+1 +0x1.3683c8p+1 +0x1.18abeep+3 +-0x1.6a2fb6p+3 +0x1.9c994p+2 +-0x1.dd0cd2p+3 +-0x1.89bb84p+4 +-0x1.450daep+3 +0x1.1db3aap+3 +-0x1.5253d6p+4 +-0x1.773fccp+5 +-0x1.44725ep+1 +-0x1.85e306p+3 +-0x1.248a4cp+4 +0x1.07cac4p+5 +0x1.606b66p+3 +-0x1.d48072p+2 +0x1.80ae08p+5 +-0x1.339a5ep+0 +0x1.b603ap-1 +-0x1.f1d072p+3 +0x1.582ecp+2 +-0x1.22fa58p+4 +0x1.103bcep+5 +0x1.b3b696p+3 +0x1.26d7b6p-1 +0x1.76144cp+3 +-0x1.52d194p-2 +-0x1.4fbc6ep+3 +0x1.c7934ep+4 +-0x1.e43558p+4 +-0x1.3214ecp+3 +-0x1.c1d878p+3 +0x1.ff5b86p+0 +0x1.0b2b7p+4 +0x1.335c9cp+4 +-0x1.953d56p+1 +0x1.8d2b92p+1 +0x1.bae886p+4 +0x1.167fep+2 +0x1.62c6c8p-2 +0x1.8e2d5ap+4 +0x1.8bd952p+4 +0x1.0c35b2p+2 +-0x1.07462ep+4 +-0x1.99f5aep+1 +-0x1.7b042p+0 +-0x1.6584ep+2 +0x1.1dfed4p+1 +-0x1.ba50d2p+2 +0x1.e29c9cp+3 +0x1.92f14ep+2 +-0x1.39170ep+2 +-0x1.8693dp+3 +0x1.2dbb1cp+4 +-0x1.5db2b8p-1 +0x1.90605ap+4 +0x1.86236cp+1 +-0x1.1fb894p+3 +0x1.9b7ccap+4 +-0x1.1a63dcp+5 +-0x1.738128p+3 +0x1.355976p+3 +-0x1.6d0ef2p+4 +0x1.2fc69cp+4 +-0x1.3de742p+4 +-0x1.72451p+4 +-0x1.9e1fc2p-3 +-0x1.d52816p+3 +-0x1.0f426ap+5 +-0x1.75a2d2p+2 +0x1.cb7f68p+1 +0x1.611aacp+1 +-0x1.dfdceap+3 +-0x1.271f4cp+3 +-0x1.de4e4p+2 +0x1.84feeep+4 +-0x1.4bf83p+2 +-0x1.70a0cep+4 +-0x1.82e932p+3 +0x1.88e0dp+2 +-0x1.7edcd2p+4 +0x1.7ba93ep+4 +-0x1.1cc26cp+4 +-0x1.3d9122p-1 +0x1.c9e902p+2 +0x1.1e397p+4 +0x1.2d37a4p+5 +-0x1.7bdd62p+0 +-0x1.02b03ap+5 +0x1.c7e04p+4 +-0x1.8a174ap-6 +-0x1.86dd5ep+4 +-0x1.574f2cp+1 +0x1.0b6f22p+3 +-0x1.a5b24ep+5 +0x1.8f9b32p+3 +0x1.3f1eeep+4 +-0x1.79bb44p-2 +0x1.405dfp+4 +0x1.7810fep+4 +0x1.59039ep+4 +-0x1.533b7ep+3 +-0x1.847b9cp+4 +0x1.90b914p+4 +0x1.0f6932p+4 +-0x1.7e3a5ap+3 +0x1.0a82d2p+4 +0x1.7dae4ap+1 +0x1.fa8bb4p+2 +0x1.2ae8p+0 +-0x1.a4ebb4p+3 +0x1.334a7cp+3 +0x1.8ca71ap+4 +0x1.482d3p+1 +-0x1.30929ep+3 +-0x1.80e35ep+3 +0x1.03de5p+5 +0x1.d4c766p-9 +0x1.138c14p+5 +0x1.7f977ep+2 +-0x1.0d82ep+2 +0x1.8771f6p+2 +-0x1.a59fc8p+3 +-0x1.5acebep+5 +0x1.943dbep+3 +-0x1.6b5f68p+2 +-0x1.116522p+3 +0x1.a468ecp-1 +-0x1.4413d6p+0 +0x1.b61754p+3 +-0x1.3d3638p+5 +0x1.307aap+3 +-0x1.f0e568p+2 +-0x1.2c4794p+3 +-0x1.b2cdd8p+3 +0x1.a5a8cep+3 +0x1.012dd6p+3 +-0x1.3159ccp+0 +0x1.9b817ap+1 +0x1.da1ff4p+0 +-0x1.a4ad3p+3 +0x1.e40b96p+0 +-0x1.6330bep+4 +0x1.af60ep+3 +-0x1.3cc692p+4 +0x1.138622p+2 +-0x1.0584f8p+2 +0x1.1d6246p+3 +0x1.d5e8c4p+3 +-0x1.e79712p+3 +0x1.ad9732p+3 +0x1.9697c6p+3 +-0x1.e3f9c8p-2 +-0x1.d27978p+2 +-0x1.dea8dp+1 +0x1.4ec636p+4 +-0x1.5f8228p+3 +-0x1.e8ac1ap+1 +0x1.1d467ap+2 +-0x1.9bd878p-1 +0x1.1f0e94p+4 +-0x1.8da4c4p+3 +-0x1.1bd46ap+5 +-0x1.9cbb36p+2 +0x1.764c24p+3 +-0x1.80412ap+4 +0x1.50b8fep+3 +-0x1.7585d6p+0 +-0x1.3927dap-2 +-0x1.fc76eap+3 +0x1.8404e6p+1 +-0x1.62dd12p+0 +0x1.85ad44p+2 +-0x1.161838p-3 +0x1.c4570ap-1 +-0x1.817e4ap+3 +-0x1.41fe3cp+3 +-0x1.87ea26p+3 +0x1.49d826p+2 +0x1.94c504p+0 +-0x1.936702p-2 +-0x1.5e0854p+4 +0x1.7526e4p+3 +0x1.3c73d4p+3 +-0x1.44c8d8p+3 +0x1.aa17b6p+4 +-0x1.abbbf4p+2 +-0x1.935e2cp+3 +0x1.fbf998p+4 +-0x1.460f66p+3 +0x1.99d664p+2 +-0x1.9ad506p+4 +0x1.65a63p-1 +-0x1.e49f1ap+0 +0x1.5c25b8p+2 +0x1.75acf6p+4 +-0x1.030ebcp+3 +0x1.638e1ep+4 +0x1.7a132ap+2 +-0x1.6ad65cp+2 +-0x1.8b3d6cp+2 +-0x1.42b04p+2 +-0x1.7c9dfep+3 +-0x1.4cfbf8p+3 +-0x1.2efc82p+5 +0x1.b9edfap+4 +0x1.8148d4p+2 +0x1.68ff7cp+4 +0x1.f863aep+2 +-0x1.276972p+2 +-0x1.b80c5ep+3 +-0x1.1d73eep+2 +0x1.1d386ep+5 +-0x1.15e4f4p+3 +-0x1.5f5f7cp+3 +-0x1.263846p+3 +-0x1.e62d7ep+3 +-0x1.776808p+2 +0x1.06a988p+4 +0x1.e77978p+3 +-0x1.35eb76p+4 +0x1.1e632p+0 +-0x1.c2e0b8p+2 +-0x1.06ccd2p-2 +0x1.d50ffp+0 +0x1.007b54p+3 +-0x1.d7f8bap+1 +0x1.1e4004p+3 +0x1.cf7be2p+1 +-0x1.edec2ap+3 +0x1.2787eep+3 +-0x1.f6d6fap+0 +0x1.c54666p+4 +0x1.c92824p+3 +0x1.d6832p-1 +-0x1.075f56p+3 +-0x1.23fce4p+2 +-0x1.17b1ccp+4 +-0x1.5bafd2p+4 +-0x1.257704p+3 +0x1.a2fd4p+2 +-0x1.21a3c2p+2 +0x1.8d04fep+0 +-0x1.25b508p+1 +0x1.74be2ap+4 +0x1.883dap+4 +-0x1.cbf06p-2 +-0x1.b69ba8p+1 +0x1.448e36p+3 +0x1.911eaep+3 +0x1.f58ab6p+2 +0x1.6b1ecep+4 +-0x1.91bbfcp+3 +0x1.e99e7ap+4 +-0x1.6bf22ep-1 +-0x1.815594p+3 +0x1.0538fp-1 +-0x1.d823ecp+3 +0x1.a7811ep+3 +-0x1.37a606p+4 +-0x1.14bb9ep+2 +0x1.2298d6p+1 +0x1.5d9d62p+3 +0x1.985deep+3 +-0x1.0b836ap+3 +-0x1.e1af8p+4 +-0x1.a0a29p+3 +0x1.5ed4c6p+4 +-0x1.4f572p+3 +0x1.88016ap+4 +0x1.ce82e8p+3 +0x1.7868e8p+4 +-0x1.825968p+3 +-0x1.2dfec2p+2 +0x1.86b9d4p+3 +0x1.b2fe34p+4 +-0x1.b9a9d6p+0 +0x1.048f2ep-2 +-0x1.cdb44cp+3 +-0x1.40301ep+0 +-0x1.6cb2e2p+2 +-0x1.625ccep+3 +-0x1.bdaf8ap+4 +-0x1.4987d8p+3 +0x1.59c57p+3 +-0x1.77e1d6p+2 +-0x1.6b0ae4p+2 +-0x1.542d84p+4 +0x1.489b3ap+3 +-0x1.05f498p+2 +0x1.4d6616p-1 +0x1.46ab06p+2 +-0x1.d95bf2p+3 +0x1.491ba6p+4 +-0x1.47e024p+4 +0x1.2c4402p+5 +0x1.736228p+4 +0x1.aed0eep+3 +0x1.f01eb8p+4 +0x1.e8ceaap-1 +-0x1.6b7314p+4 +-0x1.9d3b5p+3 +-0x1.e9019cp+0 +0x1.0f9026p+2 +-0x1.031e04p+4 +-0x1.077e4ap+4 +-0x1.f5758p+4 +0x1.697cdcp+1 +-0x1.65d80cp+2 +-0x1.2d790cp+3 +-0x1.72e49ap+3 +-0x1.3e616p+3 +-0x1.1609e4p+4 +-0x1.b57362p+1 +-0x1.8fcda6p+1 +0x1.6bf0a4p+3 +0x1.ad48c2p+2 +-0x1.890358p+4 +-0x1.cdc0fep+0 +-0x1.3a5574p+3 +-0x1.510c06p-2 +-0x1.b916e8p+4 +-0x1.ec6558p-3 +0x1.9c3bfep+4 +-0x1.f96ce8p+4 +-0x1.f7c0e6p+1 +0x1.8c6922p-2 +-0x1.6ff716p+3 +0x1.ce4976p+1 +0x1.305d32p-6 +-0x1.2015fep+5 +-0x1.8da66ap+0 +-0x1.159efep+4 +-0x1.1a5f28p+3 +-0x1.af5ae2p+3 +-0x1.6c16p+2 +-0x1.079bbep+3 +-0x1.6a98d4p+3 +0x1.09ea74p+3 +0x1.ecfe0cp+2 +0x1.f8472cp+2 +0x1.a4ef6p+2 +-0x1.8123ap+3 +0x1.5387fcp+3 +-0x1.80dc1cp+3 +0x1.50ab5cp+2 +0x1.1f9c8ap+1 +-0x1.524fd4p+1 +0x1.44580cp+3 +0x1.bcf5e6p+3 +-0x1.ec2f52p+3 +-0x1.d881cep+0 +0x1.5588c6p+4 +0x1.db561p+1 +-0x1.228f88p-1 +-0x1.4fea72p+0 +0x1.59f8cap-1 +0x1.cbdcf4p+0 +0x1.3317a4p-1 +0x1.f92abcp+3 +-0x1.a8b95ep+2 +-0x1.83ff64p+3 +0x1.de453ep+1 +-0x1.70b986p+3 +0x1.da1c68p+4 +0x1.21b5b4p+4 +0x1.d2127ap+4 +0x1.83719cp+3 +-0x1.a4349cp+3 +0x1.b878b8p+4 +0x1.6a370ep+2 +-0x1.118e54p+4 +-0x1.3df8b6p+2 +0x1.8a5014p+4 +0x1.aa0bf6p-2 +0x1.8bdbe2p+0 +0x1.9a65a4p+3 +-0x1.7f251p+2 +-0x1.3b1f2p+3 +-0x1.345fb2p+2 +-0x1.75771ep+2 +-0x1.6e1628p+2 +-0x1.ec1426p+1 +0x1.c4f346p+4 +-0x1.4b57ep+3 +0x1.ffb67p+3 +-0x1.01df0ep+3 +-0x1.15df94p+4 +-0x1.a170f6p+3 +-0x1.d992ep+1 +-0x1.2baf74p+3 +0x1.a85186p+2 +0x1.abcea8p+2 +0x1.ab7cbap+4 +0x1.42e69ap+1 +-0x1.9d0814p+4 +-0x1.0b9938p+3 +-0x1.c7fbacp-2 +-0x1.b699fp-2 +0x1.bb03a4p+2 +0x1.2fb4aep+3 +0x1.03cfa4p+5 +-0x1.abf1b8p+0 +0x1.613976p+5 +0x1.dd2618p+3 +0x1.275076p+2 +-0x1.84c576p-3 +0x1.7042a2p+1 +0x1.c82e92p+2 +-0x1.a57daap+2 +0x1.66a4dep+4 +0x1.c6a39ap-1 +0x1.29cfbcp+4 +0x1.89c30ap+2 +-0x1.762f1ep+3 +0x1.bfb29p+4 +0x1.8229ecp+0 +0x1.fab966p+1 +0x1.88906p+4 +-0x1.db54dcp+3 +-0x1.21161ap+2 +0x1.6df6d2p+4 +0x1.0259a8p+2 +0x1.7c3ad6p+4 +0x1.6422f8p+0 +0x1.9b092p+1 +-0x1.bdff2ep+2 +-0x1.70ed12p+3 +-0x1.25d4fap+5 +0x1.5d7ffp+4 +0x1.9a3d98p+4 +-0x1.1a1a5ap+1 +0x1.a72812p-1 +-0x1.eba0cp+4 +0x1.a5e5f6p+2 +-0x1.7288ap+3 +-0x1.8935cap+3 +-0x1.2a829cp+4 +-0x1.48ebdcp+3 +0x1.5419fcp+4 +-0x1.50327ep+3 +0x1.5e3d5cp+3 +0x1.0d9ddap+5 +0x1.82002ep-3 +-0x1.81246ap+2 +0x1.1ded02p+4 +-0x1.f34346p+1 +0x1.61f206p+4 +0x1.39cca6p+2 +-0x1.8a8c7ap+0 +-0x1.e29c88p+2 +0x1.361954p+2 +0x1.17da7cp+3 +0x1.18ca1p-1 +-0x1.6b7288p+3 +0x1.56ccbep-2 +0x1.73c642p+0 +0x1.87c68cp+3 +0x1.d69c54p+3 +-0x1.726e54p+3 +0x1.4db076p+3 +-0x1.43661cp+5 +-0x1.0a6bcap+4 +-0x1.27821p+4 +0x1.ca9d5cp-1 +0x1.290ac4p+0 +0x1.f61ebap+4 +-0x1.1584dp+3 +0x1.0b8bf2p+4 +-0x1.51999p+3 +-0x1.6ac7f2p+0 +0x1.e7b494p+2 +0x1.0c4822p-2 +-0x1.165632p-1 +0x1.f02bc2p+1 +0x1.35c696p+3 +0x1.da738ap+0 +0x1.8e1484p+3 +-0x1.23fb1ep+4 +-0x1.917d26p-1 +0x1.a732cep+5 +-0x1.d52748p+4 +-0x1.6140d2p+4 +0x1.d8ab7ap+3 +0x1.69a984p+1 +-0x1.b9934ap+1 +-0x1.b8475p+3 +0x1.48c178p+3 +-0x1.445f82p+4 +-0x1.4122d8p+4 +-0x1.f0fc9ap+2 +-0x1.15642cp+4 +-0x1.276fb2p+2 +0x1.1ec51cp+2 +0x1.3d61d4p+3 +0x1.f9cd82p+3 +0x1.cef99ep+4 +-0x1.bd5bbap+3 +0x1.416068p+4 +0x1.15025ap+4 +-0x1.934af2p+4 +0x1.e2761ep+4 +0x1.c5012ep+3 +-0x1.779788p+3 +-0x1.1d26ccp+3 +-0x1.eb283p+1 +0x1.d2b948p-1 +-0x1.c88262p+3 +0x1.fd0406p+4 +-0x1.3ac284p+4 +0x1.ba5eeep+2 +0x1.69e162p+2 +-0x1.6d72c6p+3 +0x1.bbf7fap+3 +0x1.82e236p-4 +0x1.2d967p+3 +0x1.215beap+3 +-0x1.799718p+4 +0x1.0cf9c4p+4 +0x1.2b76bcp+3 +0x1.e87f02p+2 +-0x1.66b792p+4 +0x1.380f5cp-4 +0x1.365818p+2 +-0x1.67eaeep+2 +-0x1.09e25ap+5 +-0x1.2241b2p+3 +-0x1.6e04ep+3 +-0x1.5e00f2p+4 +0x1.5d2654p+1 +0x1.d0ade4p+3 +0x1.78507ep+2 +0x1.5fdd7p+2 +-0x1.a40adcp+3 +-0x1.9a4966p+2 +-0x1.008704p+1 +-0x1.9050f6p+2 +0x1.9010a2p+3 +0x1.113376p+3 +0x1.4a4de4p+3 +-0x1.51fccep+3 +0x1.62829p+4 +0x1.2550b6p+3 +0x1.901b08p+0 +0x1.ab8c84p+4 +0x1.50fd88p+3 +-0x1.53d688p-1 +0x1.204096p+2 +-0x1.779b54p+4 +0x1.f772aap+0 +-0x1.20ab36p+3 +-0x1.049708p+4 +-0x1.29b568p+3 +-0x1.d35c08p+1 +-0x1.aca8dep+4 +0x1.50a42p+3 +0x1.dbbcc6p+3 +0x1.2c63ap+3 +0x1.ff5282p+0 +-0x1.27ad28p-5 +-0x1.63b808p+5 +0x1.f0119ap+2 +-0x1.43fe26p+3 +-0x1.0cfe3p+4 +-0x1.61f8fep+3 +0x1.ce5dcp+3 +-0x1.2d1dcap+1 +0x1.ffa1bcp+3 +-0x1.c8012ap+3 +-0x1.1e7d7ap+4 +-0x1.2f748cp+3 +0x1.3e88e2p-1 +0x1.8f8bcp+4 +-0x1.1cff74p+5 +0x1.33c24p+3 +-0x1.f3fd38p+3 +0x1.546046p+4 +-0x1.13ae64p+3 +0x1.c8a558p+3 +0x1.a6e46p+1 +0x1.07ed1ap+5 +-0x1.bf337ap-2 +-0x1.5e7ca8p+3 +-0x1.e68c3ap+4 +0x1.d7c9f4p+1 +0x1.ee68d4p+1 +-0x1.52875ep+4 +-0x1.d91c36p+4 +0x1.2b72dcp+5 +0x1.d0c78ap+2 +0x1.97c69p+4 +0x1.67d404p+4 +-0x1.b4cdb4p+0 +-0x1.ed7486p+2 +0x1.5adacep+4 +0x1.7fdec6p+3 +0x1.9f462ep+1 +-0x1.fdf4e4p+1 +-0x1.b7c4b8p+3 +0x1.0e3b08p+3 +-0x1.5d2e08p+4 +0x1.0cc27ep+2 +-0x1.37e812p+2 +-0x1.5a43d4p+3 +-0x1.314f14p+2 +0x1.064054p+4 +0x1.0d2922p+2 +-0x1.a6260cp+4 +0x1.c090bep+2 +0x1.8c59ccp+4 +-0x1.797c7ep+4 +-0x1.495fp+2 +-0x1.144478p+4 +-0x1.7ace46p+1 +0x1.5e5746p+0 +0x1.99a996p+3 +-0x1.64f4d4p+2 +0x1.5b2ceap+1 +-0x1.afae6cp-1 +0x1.1a4cb4p+5 +0x1.76212ep+1 +0x1.1e35aap+2 +-0x1.2d2b34p+2 +-0x1.74477ap+2 +-0x1.da68dap+3 +-0x1.c28a74p+4 +-0x1.cf021p+4 +-0x1.7275fap+2 +-0x1.83d0b8p+3 +0x1.22e358p+1 +0x1.1d1dbcp+3 +0x1.b4bc74p+3 +0x1.686b4cp+4 +0x1.fbb52ap+4 +-0x1.cc7f9cp+2 +0x1.b6b478p+3 +0x1.0ebfbap+3 +-0x1.e6ace2p+0 +-0x1.d10448p+3 +-0x1.e195p-3 +-0x1.70f296p+5 +0x1.f83b5cp+3 +0x1.281cb6p+4 +-0x1.ff1218p+1 +0x1.3b7244p+3 +0x1.7faa66p+3 +-0x1.a4da56p+4 +0x1.372832p+2 +-0x1.ae3964p+3 +-0x1.ddcde6p+1 +-0x1.0670b4p+1 +0x1.fb5fecp+1 +0x1.a307fcp+2 +-0x1.404de2p+4 +0x1.144152p+4 +-0x1.f5874p+1 +-0x1.c07b0ep+1 +0x1.404e72p+2 +0x1.870ep+4 +-0x1.e37d0ep+3 +-0x1.4b5ae6p+3 +0x1.702676p+4 +-0x1.373dc4p+0 +-0x1.18feeep+4 +-0x1.372954p+4 +-0x1.63ed3cp+4 +0x1.ecf126p+1 +-0x1.1064e6p+5 +-0x1.a27bdep+3 +-0x1.37ed4cp+1 +0x1.024736p+3 +-0x1.c116e6p+0 +-0x1.36aa08p+0 +-0x1.7caf6ep+1 +0x1.52875p+2 +0x1.708586p+2 +0x1.b8151ap+3 +0x1.960ca4p+0 +-0x1.9247d4p+4 +-0x1.0e3756p+1 +-0x1.0ed32p+4 +0x1.618874p+3 +-0x1.2f50bap+0 +0x1.375f6ep+1 +-0x1.385562p+1 +0x1.d85a86p+3 +-0x1.a2fc3p-4 +0x1.5f9874p+3 +0x1.b10edp+3 +0x1.22a604p+3 +-0x1.611f38p+3 +-0x1.0d5822p+2 +-0x1.78931ep+2 +0x1.42a0ccp+4 +0x1.0cdd8ep+3 +0x1.583e82p+3 +-0x1.8dddfep-1 +-0x1.279f4ap+1 +-0x1.1c8f3ap+1 +0x1.f827ap+3 +0x1.7eb058p+4 +0x1.a0f708p+3 +0x1.10a96p+2 +0x1.05827p+3 +0x1.8a113cp+4 +-0x1.3089f2p+5 +0x1.4d41a4p+2 +0x1.b14674p+3 +-0x1.d7c6f6p+2 +0x1.66b6bp+3 +-0x1.7d4c86p+2 +0x1.fcdc6cp+1 +-0x1.9741acp+3 +-0x1.bad27cp+0 +0x1.b1a5e6p+3 +0x1.b3389ap+3 +0x1.3db378p+2 +-0x1.93fbc2p+2 +0x1.61b404p+3 +-0x1.859fc8p-1 +0x1.045958p+2 +-0x1.bc3e98p+4 +0x1.aaa84p+2 +-0x1.a8e664p-1 +0x1.9efa88p+3 +-0x1.234ae4p+4 +-0x1.0721d8p+1 +-0x1.220a96p+2 +0x1.be0bbp+3 +0x1.45caa8p+3 +0x1.525a58p+2 +-0x1.2a1b7cp+5 +0x1.435954p+4 +0x1.567fa2p+3 +0x1.633746p+1 +0x1.d38e3p+4 +-0x1.5c056ep+1 +-0x1.343e0cp-3 +-0x1.0461c2p+3 +-0x1.c31b2cp+3 +0x1.8ed034p+4 +-0x1.51e652p+2 +0x1.e92acap+3 +-0x1.31b566p+5 +0x1.1cc31cp+1 +0x1.653508p+4 +-0x1.0ca9fap+4 +0x1.c8542cp-2 +0x1.d864d2p+1 +0x1.7ab962p+4 +-0x1.422954p+2 +0x1.0473c8p+0 +-0x1.4ec552p+2 +-0x1.489c9cp+0 +-0x1.8605a8p+3 +0x1.0b9704p+1 +0x1.af4e5ep+4 +-0x1.704884p+3 +0x1.0d834ep+4 +0x1.1a3fd4p+3 +-0x1.c9acb4p+4 +0x1.2cd38p+2 +-0x1.13feecp+4 +-0x1.44a39ep+4 +-0x1.43dc5p+2 +-0x1.95c022p+3 +-0x1.e9d0bcp+3 +0x1.3af314p+1 +0x1.2cf2ccp+4 +-0x1.5b046ap+4 +0x1.c4399ep+3 +-0x1.a99eb6p+4 +-0x1.9d96a4p+1 +-0x1.8c4bdcp+4 +-0x1.96e438p+4 +-0x1.3793p+0 +0x1.78aaccp+3 +0x1.ffaddep+3 +0x1.16e606p+4 +0x1.13f31ap+1 +-0x1.b1a47p+3 +-0x1.d63586p+3 +-0x1.387aa4p+4 +-0x1.c0650ep+1 +0x1.37444ep+2 +0x1.1735bp+5 +0x1.0a2c56p-1 +0x1.684edap+2 +-0x1.1faa74p+3 +0x1.35badcp+3 +0x1.fe7408p+4 +-0x1.74d38p+0 +-0x1.2d1e06p+4 +-0x1.8035cep+0 +-0x1.36a9eap+4 +-0x1.9b108p+1 +-0x1.85e022p-2 +-0x1.5f96ep+5 +0x1.4b81b4p+4 +-0x1.27f868p+4 +-0x1.e34f4p+3 +0x1.3ff198p+2 +-0x1.acfc1p+2 +0x1.563f3ep+3 +-0x1.32c9dcp+5 +-0x1.dcfce6p-2 +0x1.a9cb82p+2 +0x1.66683ep+4 +-0x1.dcf29ep+4 +0x1.6d86eap+3 +0x1.41b464p+4 +-0x1.6b4318p+4 +0x1.0e5ad8p+3 +0x1.82de4ap+2 +0x1.12126ap+5 +-0x1.588a6p+4 +-0x1.56bb14p+2 +-0x1.c2d0fep+4 +0x1.c91e8cp-3 +-0x1.f9b58ep+0 +-0x1.01b178p+2 +0x1.30f176p+2 +0x1.96488ap+2 +0x1.9ee15p+0 +0x1.2b7cd8p+3 +0x1.335e7p+4 +0x1.32db26p+3 +0x1.49e462p+3 +0x1.809e28p+4 +0x1.b281cap+2 +-0x1.ef3af6p+3 +-0x1.92b6e6p+4 +0x1.13f234p+0 +-0x1.981004p+0 +-0x1.96ce7ep+3 +0x1.c37f9ap+2 +-0x1.96930cp+3 +0x1.a434fcp+2 +-0x1.7b13e4p+3 +0x1.b66e3ap+1 +-0x1.3157d8p+4 +0x1.027d88p+2 +-0x1.acd3e4p+4 +-0x1.49902p-2 +-0x1.23d8ap+4 +-0x1.3e11a8p+2 +0x1.2ae06cp+4 +0x1.8236fcp-2 +0x1.90815ep+4 +-0x1.a8db4p+1 +-0x1.297586p+4 +-0x1.952cb4p+4 +-0x1.a20518p+3 +-0x1.cf28a6p+3 +0x1.931bfp+3 +0x1.68038p+0 +-0x1.9ce85ep+2 +-0x1.4292c2p+4 +-0x1.2b7d1cp+3 +-0x1.8d139p+3 +0x1.e9278cp+3 +0x1.942544p+4 +-0x1.1df8cep+4 +-0x1.31cep+0 +0x1.a7065ep+4 +0x1.b70b1cp+4 +0x1.930bc4p+3 +-0x1.2f167ep+4 +-0x1.5f5572p+3 +-0x1.01fae4p+1 +0x1.b78b4p+3 +0x1.d7a04ep+3 +0x1.f2be0ap+1 +0x1.4a4c52p+3 +0x1.0b3c1ap+1 +-0x1.8c5f16p+3 +0x1.3b31b4p+4 +-0x1.61f20ep+4 +-0x1.b3557p+4 +-0x1.3da99ep+3 +0x1.f9e9b2p+4 +-0x1.e29a44p+3 +-0x1.cb80f8p+2 +0x1.8cd1c4p-3 +-0x1.5e774ap+2 +-0x1.b078ap+3 +0x1.7df532p+4 +-0x1.20e83ap+4 +-0x1.2ece3cp+3 +-0x1.b8dcfap+0 +-0x1.a820eap+3 +0x1.7b9754p+3 +0x1.a9690cp-1 +0x1.cbdebp+0 +-0x1.6a6fdep+0 +-0x1.cfc8ecp+2 +0x1.fea056p+2 +0x1.19aee6p+5 +0x1.cb4172p+0 +0x1.a2bc9ep+1 +-0x1.153a5p+4 +-0x1.e32cd2p+3 +0x1.cd1044p+0 +0x1.0fb76cp+2 +0x1.4bfd4ap+4 +0x1.806536p+3 +0x1.9579f6p+3 +0x1.3649p+2 +0x1.a0c47ap-4 +-0x1.09803p+3 +0x1.84fb0ep+3 +-0x1.855462p+4 +0x1.159624p+5 +-0x1.8df534p+2 +0x1.8cd25p+2 +-0x1.e7ad74p+4 +0x1.e6229ep-1 +0x1.bccca2p+2 +-0x1.8e288ep+3 +0x1.c2aa6p+1 +0x1.ff0a0cp+3 +-0x1.ddb1ecp+2 +-0x1.3e5476p+4 +0x1.858158p+4 +0x1.d178dcp+3 +0x1.9197fp+3 +0x1.f12d86p+3 +0x1.0ee4fap+4 +-0x1.0bec12p+4 +-0x1.c3b202p+2 +-0x1.40665ap+4 +0x1.5ca698p+3 +0x1.0886c6p+4 +-0x1.6ce43ep+4 +0x1.0d0446p+4 +-0x1.3cdd42p+4 +-0x1.98ab96p+1 +0x1.67118cp+2 +-0x1.6381dp+2 +0x1.a6ecb4p+3 +-0x1.9515b6p+4 +-0x1.3a8022p+3 +0x1.46c216p+4 +0x1.e89f14p+2 +-0x1.0b75a8p+0 +0x1.4109f4p+4 +-0x1.313a9p+2 +-0x1.3993acp+4 +-0x1.61350cp+4 +-0x1.180f7cp+1 +0x1.77981ep+1 +-0x1.f701b8p+1 +0x1.ab815cp+4 +-0x1.cf59eap+3 +0x1.8ee6dcp+2 +0x1.8ec04cp+3 +0x1.bbf638p+3 +-0x1.a3fa38p+2 +-0x1.1af036p+2 +0x1.22f5cep+3 +-0x1.46a49ap+4 +-0x1.5d4fdcp+4 +-0x1.f72d2ap+3 +-0x1.8bcbb2p-5 +0x1.b6ac6ap+2 +-0x1.76022p+2 +-0x1.317764p+4 +0x1.1f9cb2p+4 +0x1.9e1294p+4 +-0x1.e7d7d2p+3 +-0x1.096e72p+4 +0x1.a6ffb6p-2 +0x1.e6a5d2p-4 +-0x1.69a5bp+0 +0x1.4573p+2 +-0x1.9f7bb4p+4 +-0x1.239f28p+4 +0x1.21c244p+3 +0x1.63aca6p+3 +0x1.1981bcp+2 +0x1.ae3274p+3 +-0x1.acc7c2p+3 +0x1.354474p+4 +-0x1.01b9acp+3 +0x1.59db0ep+3 +0x1.1a8914p+5 +-0x1.5dab9ap+1 +-0x1.7abbe4p+1 +-0x1.1fa8f8p+2 +-0x1.7e72eep+3 +-0x1.90f286p+3 +0x1.c205ap+3 +0x1.d47afp+3 +0x1.adbf8cp+4 +0x1.9a8a4ep+3 +-0x1.4bf36p+3 +-0x1.0d0d08p+3 +-0x1.19084ap+4 +-0x1.dc5e8ap+3 +0x1.d78666p+4 +-0x1.a288ecp+1 +-0x1.53bf26p+3 +0x1.602114p+4 +0x1.1f2ccap+4 +0x1.82373ep+2 +0x1.13fep+2 +-0x1.164c02p+3 +-0x1.75a7e4p+3 +0x1.7dbef6p+4 +0x1.2e9564p+4 +-0x1.0a1952p+4 +0x1.d5409cp+3 +-0x1.093fe4p+3 +0x1.1e6686p+5 +0x1.f4978p+2 +-0x1.0cbcf4p+4 +-0x1.813d0ep+1 +-0x1.30607p-1 +-0x1.4b5342p+4 +0x1.603252p+3 +-0x1.c601e6p+4 +-0x1.cd608ap+2 +-0x1.fa09ccp+3 +-0x1.797292p+4 +-0x1.b4f4fap+3 +-0x1.57cd52p+2 +0x1.b71ae6p+4 +-0x1.96ec48p+3 +0x1.0e0092p+0 +-0x1.042ca6p+4 +0x1.8a318cp+2 +-0x1.6a9bdap+2 +0x1.c52fbp+2 +-0x1.376f82p+4 +0x1.0698fap+3 +-0x1.1f6c54p+3 +-0x1.8094b4p+4 +0x1.4bf162p+2 +0x1.f19582p+4 +-0x1.1f0c82p+5 +0x1.6d0a9ep+2 +-0x1.b4f5ecp+4 +0x1.94ea4ap-1 +-0x1.dd3e7cp+3 +0x1.00c328p+3 +-0x1.06b808p+1 +0x1.5e68c2p+4 +0x1.b57a62p+3 +0x1.dbb778p+2 +0x1.f8599ep+3 +0x1.a8ce9ap+2 +-0x1.1178ccp+4 +-0x1.16b262p+3 +0x1.4cb31ap+1 +-0x1.2b698cp+3 +-0x1.b2dec8p+2 +-0x1.9ead8p+1 +-0x1.7f25d2p+3 +-0x1.3ecb54p+2 +-0x1.42bd8cp+3 +-0x1.e64afp+4 +-0x1.8df506p-2 +-0x1.7fa6f8p+2 +0x1.f192dcp+3 +0x1.a23234p+4 +0x1.529f9ep+0 +-0x1.25c242p+4 +-0x1.264d34p+4 +-0x1.ab5a0ep+3 +0x1.27c7c8p+1 +0x1.be840ep+2 +0x1.abfd0ap+3 +0x1.73307cp+0 +0x1.8b75c8p+1 +-0x1.c614bap+4 +0x1.910e2p+1 +0x1.cc4adcp+3 +-0x1.072822p+4 +0x1.6f2704p+4 +0x1.1ee3a2p+5 +0x1.3e3134p+1 +0x1.d120bep-2 +-0x1.1fe198p+4 +-0x1.52b1fp+4 +-0x1.ae7658p+2 +-0x1.f114fp+4 +0x1.2db694p+3 +0x1.c01758p+1 +0x1.c6b936p+1 +-0x1.97d9cap+4 +-0x1.3aa6e6p+2 +0x1.9cae42p-1 +0x1.fd162ap+1 +0x1.4d23p+4 +-0x1.229a22p+4 +-0x1.15d246p+4 +-0x1.14ca8p-1 +-0x1.d28014p+4 +0x1.97ed02p+2 +0x1.2295dap+4 +0x1.03ef26p+3 +0x1.a8e6fep+2 +0x1.2c635cp+0 +-0x1.f6ca0cp+1 +-0x1.45c58p+1 +-0x1.c3de1ep-1 +0x1.e727dap+2 +0x1.abe67p+2 +-0x1.8fa346p+4 +-0x1.70b346p+2 +-0x1.1d62cp+5 +0x1.4f5d3cp+0 +-0x1.2baea6p+2 +0x1.c74a0cp+2 +0x1.5ab764p+4 +-0x1.8b71bp+2 +0x1.e5599ap+0 +-0x1.379358p+3 +0x1.281956p+4 +-0x1.074e08p-2 +-0x1.82f2a4p+0 +-0x1.15c314p-2 +-0x1.c518dcp+3 +-0x1.73992ap+1 +0x1.a6465ap+4 +0x1.6618c4p-4 +0x1.01d2e8p+4 +0x1.4919b4p+3 +-0x1.87c72p+1 +0x1.361b6ap-8 +0x1.8e16c2p+3 +0x1.e0c19cp+2 +0x1.6efdb6p+2 +0x1.77a86cp+4 +-0x1.9a52b4p+2 +0x1.2decd2p+4 +0x1.efa19ap+1 +-0x1.f7faecp+0 +-0x1.125dbep+3 +-0x1.aa25dap+2 +-0x1.0509b6p+4 +-0x1.0e841ep+5 +0x1.14f30ap-3 +0x1.8371f6p+4 +-0x1.a6997cp+3 +0x1.d0be9ap+0 +0x1.7a187p+3 +0x1.5c3bdp+4 +0x1.a8caecp+4 +0x1.4fabbp+1 +0x1.52e96p+4 +0x1.6ef878p+2 +0x1.e6a8c2p+3 +-0x1.153cd8p+3 +0x1.7465e2p+4 +0x1.19c6a2p+3 +-0x1.df655ap+3 +0x1.72168ep+2 +-0x1.fad952p+2 +-0x1.d3401ap+2 +0x1.1d3854p+3 +0x1.5c0a66p+4 +-0x1.8183e6p+1 +0x1.e1e5eep+1 +-0x1.2c7666p+5 +0x1.31e48ep+5 +-0x1.5b84d8p+3 +0x1.ac7e36p+3 +0x1.171c6cp+3 +0x1.b38194p-4 +-0x1.9c0b56p+3 +-0x1.16cd88p+3 +-0x1.5a04d8p+4 +-0x1.0cc51ep+5 +-0x1.d5ed58p+3 +-0x1.056de2p+4 +-0x1.e09562p+2 +0x1.0f0196p+3 +0x1.7fa3f6p+3 +0x1.fac5bp+2 +-0x1.f77ae6p+4 +-0x1.6f44f4p+2 +-0x1.9d4e52p+4 +0x1.94417p+3 +-0x1.58acb6p+2 +-0x1.87063ap+3 +0x1.b94356p+3 +0x1.8637e6p+3 +-0x1.440ac8p+3 +0x1.105cfep+0 +-0x1.bf9b0ep+3 +0x1.657f4cp+1 +-0x1.8f9cb6p+4 +0x1.1399d8p+4 +0x1.a28952p+2 +-0x1.23308ep+4 +-0x1.4c282ap+1 +-0x1.d9f856p+3 +0x1.bf6c9p+4 +-0x1.87bd2p+2 +-0x1.9292dcp+2 +0x1.472382p+3 +0x1.92499ap+4 +0x1.23e2c4p+3 +-0x1.1f5d28p+0 +-0x1.03af7ap+5 +-0x1.57e604p+2 +0x1.489f06p+4 +0x1.a3378ep+3 +0x1.127a2p+4 +-0x1.0412acp+4 +-0x1.c1fab6p+1 +-0x1.534a36p+4 +-0x1.227eeap+3 +-0x1.60bafap+4 +-0x1.6c1b4cp+3 +-0x1.e55c3p+3 +0x1.0136a2p+0 +-0x1.0ffdf8p+3 +-0x1.c6576p+3 +-0x1.b2896ep-1 +0x1.574f6ap+1 +0x1.324236p+4 +-0x1.a32442p+2 +0x1.9a389ap+4 +-0x1.1171cap+4 +0x1.0f7b1ep+3 +-0x1.6c053ep+3 +-0x1.9b99b6p+2 +0x1.b2a6d8p+4 +0x1.1f2bd6p+2 +-0x1.f0ccccp+3 +-0x1.1733p+3 +-0x1.6b2756p+3 +-0x1.187854p+4 +0x1.a7991ap+2 +0x1.857358p+3 +-0x1.0cfed6p-1 +-0x1.4de6ecp+3 +0x1.51a062p+3 +0x1.150624p+1 +-0x1.5cfe06p+4 +0x1.79170cp+1 +0x1.03e7acp+4 +-0x1.189198p+3 +0x1.b4c6bep+1 +-0x1.9184c8p+3 +-0x1.896958p+3 +0x1.5be384p+5 +-0x1.0a5d4ep+4 +0x1.9a2808p+0 +-0x1.52f6fcp+3 +0x1.3c8b1ep+2 +0x1.2ea336p+1 +0x1.e53f12p+4 +0x1.957874p+4 +-0x1.2e50c6p+3 +0x1.f60822p+2 +0x1.b8e3e6p+3 +0x1.288f64p+4 +0x1.3ab57ap+3 +0x1.00560ep+4 +-0x1.018fdap+2 +-0x1.1663e6p-1 +-0x1.b38c7ap+2 +-0x1.56593cp+2 +-0x1.658a9ap+4 +-0x1.025216p-3 +-0x1.72fcdcp+4 +-0x1.d97294p+2 +-0x1.c49a1ep+2 +-0x1.e36a8p+4 +-0x1.2f653ap+4 +-0x1.e1be1ep+2 +-0x1.6f8874p+2 +-0x1.016da2p+4 +0x1.082ca6p+0 +-0x1.a2bbbep+2 +-0x1.56d822p+3 +-0x1.0dbebap+3 +-0x1.b94eb6p+3 +-0x1.a9bf86p+1 +-0x1.085582p+2 +0x1.022d02p+1 +0x1.3063e8p+5 +0x1.eab3b2p+4 +0x1.e5f194p+3 +0x1.5ef1a2p+3 +0x1.e69e94p+1 +0x1.545416p+3 +-0x1.b5e41p+3 +-0x1.68c7d2p+1 +0x1.7ffc78p+0 +0x1.a668c8p+4 +0x1.0b28f2p+6 +0x1.433504p+4 +0x1.685124p+5 +0x1.4745e4p+3 +-0x1.695746p+2 +-0x1.c3d85cp+4 +0x1.2ca546p+4 +-0x1.5e28cep+2 +-0x1.92bfbap+3 +0x1.97f2a6p+2 +0x1.282c0ep+3 +0x1.2e83fp-3 +-0x1.e1a488p+0 +-0x1.95bdb2p+1 +0x1.6600fep+4 +0x1.2e1d9cp+0 +-0x1.70e9eap+1 +-0x1.d20f1ap+3 +-0x1.c22c62p+2 +0x1.5ede8cp+2 +-0x1.ddccc6p+2 +-0x1.37b3b2p+3 +0x1.293dccp+3 +0x1.a0908ap+3 +-0x1.19e172p+3 +-0x1.1587ap+4 +0x1.04d7bep+4 +0x1.a9bfdp+1 +0x1.7ffbdp+3 +-0x1.604336p+2 +0x1.06267ap+1 +0x1.0ac26cp+1 +-0x1.2f2bf4p+4 +0x1.6ae676p-4 +0x1.44e9dp+4 +-0x1.e43e3p+4 +-0x1.28e92p+3 +-0x1.7353a4p+3 +-0x1.10a858p+4 +0x1.32f94cp-1 +0x1.f9f834p+0 +0x1.975716p+2 +0x1.1d7c02p+4 +-0x1.6dec8ap+0 +-0x1.5d11dp+3 +-0x1.2747dap+2 +0x1.7f675ep+4 +-0x1.25e7bep+5 +0x1.2ab506p+3 +-0x1.b5d0f4p+1 +-0x1.6c1508p+1 +-0x1.cee6ecp+2 +0x1.07e3d6p+5 +-0x1.c45816p+4 +-0x1.4d33cep+0 +0x1.ab0d78p+2 +0x1.b383e6p+3 +0x1.5da5ecp+3 +-0x1.ae0576p+3 +0x1.4f48d4p+3 +-0x1.880168p+1 +-0x1.87add8p+4 +-0x1.14db9ap+3 +0x1.47c03p+2 +-0x1.2b0216p+4 +-0x1.7bfb0cp-1 +-0x1.0c23e6p+4 +-0x1.15774ap+3 +-0x1.7ac434p+1 +0x1.c550fcp+4 +0x1.83d7cep+4 +0x1.0175d4p+5 +-0x1.2212fap+1 +0x1.217f3ep+4 +-0x1.cd855cp+2 +0x1.ccea5ap+2 +0x1.558402p+3 +-0x1.8ab1c2p+4 +-0x1.809848p+1 +-0x1.526644p+3 +0x1.305104p+5 +0x1.eff682p+3 +-0x1.5afb16p+4 +0x1.1e33cp+4 +-0x1.e25cf6p+1 +0x1.2a89dep+2 +-0x1.1674f4p+4 +-0x1.2284f2p-2 +-0x1.cf1ddap+2 +0x1.b3a79p+3 +0x1.468334p+2 +0x1.190e34p+3 +0x1.2509ecp+1 +0x1.7a11f6p+3 +-0x1.ce345cp-2 +-0x1.203b3cp+4 +-0x1.0c93c6p+2 +0x1.963b6ep+3 +-0x1.e1bdc6p+3 +0x1.4d96d8p+4 +-0x1.b92d8p+2 +0x1.e2caa2p+3 +0x1.f8baf2p+0 +-0x1.02dc14p+5 +-0x1.24534cp+1 +0x1.a87ed4p+3 +0x1.5e37aap+3 +-0x1.3cadc2p+4 +-0x1.19840ap+4 +0x1.1959ep+3 +0x1.52bed4p+4 +0x1.dbfbaap+1 +0x1.eee934p+2 +0x1.203d42p+1 +0x1.90b58ep+4 +-0x1.37057ap+3 +-0x1.b2a806p+4 +0x1.e67ccep+4 +-0x1.3c67a4p+4 +-0x1.bfe3aap+3 +0x1.35cebcp+4 +0x1.0422ccp+4 +-0x1.60be74p+3 +0x1.035cecp+3 +0x1.7f99fcp+2 +-0x1.6f9c5ep+4 +-0x1.845438p+4 +-0x1.127e6ep+2 +0x1.4cfddep+4 +-0x1.1d4bd6p+4 +0x1.6a88e8p+3 +0x1.9d6a58p+0 +-0x1.3b15fp+1 +0x1.35beeap-3 +-0x1.55bb66p-2 +-0x1.80a282p+3 +0x1.c414d4p+4 +-0x1.1f50c4p+3 +0x1.d420b2p+1 +-0x1.fd9dd8p-1 +0x1.7df5acp+3 +0x1.6eb4e8p+1 +-0x1.1194fep+4 +0x1.13a326p+3 +0x1.e7069cp+4 +-0x1.89a242p+3 +-0x1.107502p+4 +-0x1.fb0a94p+3 +-0x1.f37b9ep+4 +-0x1.55cp+4 +0x1.12ed7ap+2 +0x1.cd24b4p+2 +0x1.17089p+4 +0x1.90a1fcp+3 +0x1.88f71ap+2 +-0x1.0e428ap+0 +-0x1.9a536ep+2 +-0x1.f8c908p+3 +0x1.40c9a2p-2 +0x1.bb0f58p+4 +0x1.4f096cp+4 +-0x1.8639acp+1 +-0x1.ddc002p-3 +0x1.15ea76p+4 +-0x1.a43148p+4 +0x1.3085c6p+5 +-0x1.3a122cp+3 +-0x1.8466c8p+3 +-0x1.07a3a2p+3 +-0x1.64907p+4 +-0x1.b6cfc8p+2 +0x1.a9f23ep+3 +0x1.8f8862p+3 +-0x1.0520dap+3 +-0x1.fd38e4p+3 +0x1.23a194p+3 +-0x1.a17682p+4 +-0x1.ebb218p+3 +-0x1.8824d2p+4 +0x1.100b8ep+1 +-0x1.8303ap+4 +-0x1.32ae3cp+1 +0x1.20cb3cp+4 +0x1.b455d2p+2 +0x1.321f6ap+3 +-0x1.d72368p+4 +-0x1.2e6a72p+4 +-0x1.e802acp+3 +-0x1.283a26p+2 +-0x1.4683fcp+1 +-0x1.097924p+4 +0x1.6fae44p+0 +-0x1.66857cp-3 +-0x1.1808dp+4 +-0x1.88bbc4p+3 +-0x1.22e884p+1 +0x1.ce560cp-2 +0x1.fe4936p+2 +-0x1.e70f7ap+3 +-0x1.a22572p+4 +0x1.93bb64p+3 +-0x1.26ee7ep+4 +-0x1.86e8ap+4 +0x1.324cacp+4 +0x1.1e2ab2p+3 +-0x1.23a576p+3 +-0x1.24f144p+3 +-0x1.4b31f8p+1 +0x1.16c554p+3 From patchwork Wed Nov 24 19:37:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48106 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DDBEC3857C76 for ; Wed, 24 Nov 2021 20:32:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DDBEC3857C76 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785970; bh=Ji2IqP1IVu50lJYd4rKZLqLTzQVs6XvHY3kHNqYbizo=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=T3Jya3UVtoXo/zzB0CMBfXM9jgly0Qmg764NC4WPwjXUMyDtRkgXHAuQu4UynoEal avk4YUzHOnnN9/ozkk5aZx3ApnDLGecAF/pzUKFCP3RNCFl9mgn3gDgUOolY5bFzjv tpnu/zL3E5eDBh/zBzpgGiTlNRWWSog1qu8Uyo8k= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id A01613858031 for ; Wed, 24 Nov 2021 19:38:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A01613858031 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="298763435" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="298763435" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="607313109" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga004.jf.intel.com with ESMTP; 24 Nov 2021 11:38:11 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7X6021555; Wed, 24 Nov 2021 11:38:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 19/42] x86-64: Add vector erf/erff implementation to libmvec Date: Wed, 24 Nov 2021 11:37:44 -0800 Message-Id: <20211124193807.2093208-20-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized erf/erff containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector erf/erff with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_erf2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_erf2_core.c | 27 + .../fpu/multiarch/svml_d_erf2_core_sse4.S | 5608 +++++++++++++++++ .../fpu/multiarch/svml_d_erf4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_erf4_core.c | 27 + .../fpu/multiarch/svml_d_erf4_core_avx2.S | 5107 +++++++++++++++ .../fpu/multiarch/svml_d_erf8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_erf8_core.c | 27 + .../fpu/multiarch/svml_d_erf8_core_avx512.S | 4087 ++++++++++++ .../fpu/multiarch/svml_s_erff16_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_s_erff16_core.c | 28 + .../fpu/multiarch/svml_s_erff16_core_avx512.S | 2199 +++++++ .../fpu/multiarch/svml_s_erff4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_erff4_core.c | 28 + .../fpu/multiarch/svml_s_erff4_core_sse4.S | 3439 ++++++++++ .../fpu/multiarch/svml_s_erff8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_erff8_core.c | 28 + .../fpu/multiarch/svml_s_erff8_core_avx2.S | 3062 +++++++++ sysdeps/x86_64/fpu/svml_d_erf2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_erf4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_erf4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_erf8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_erff16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_erff4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_erff8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_erff8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-erf-avx.c | 1 + .../x86_64/fpu/test-double-libmvec-erf-avx2.c | 1 + .../fpu/test-double-libmvec-erf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-erf.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-erff-avx.c | 1 + .../x86_64/fpu/test-float-libmvec-erff-avx2.c | 1 + .../fpu/test-float-libmvec-erff-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-erff.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 24070 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_erf2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_erf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_erf4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_erf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_erff16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_erff4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_erff8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_erff8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-erf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-erf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-erf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-erf.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-erff-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-erff-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-erff-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-erff.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index f028b18620..25ba2824a2 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -197,4 +197,15 @@ #define __DECL_SIMD_coshf32x #define __DECL_SIMD_coshf64x #define __DECL_SIMD_coshf128x + +#define __DECL_SIMD_erf +#define __DECL_SIMD_erff +#define __DECL_SIMD_erfl +#define __DECL_SIMD_erff16 +#define __DECL_SIMD_erff32 +#define __DECL_SIMD_erff64 +#define __DECL_SIMD_erff128 +#define __DECL_SIMD_erff32x +#define __DECL_SIMD_erff64x +#define __DECL_SIMD_erff128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index bc5a81b365..3901457082 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -228,7 +228,7 @@ __MATHCALL (yn,, (int, _Mdouble_)); #if defined __USE_XOPEN || defined __USE_ISOC99 /* Error and gamma functions. */ -__MATHCALL (erf,, (_Mdouble_)); +__MATHCALL_VEC (erf,, (_Mdouble_)); __MATHCALL (erfc,, (_Mdouble_)); __MATHCALL (lgamma,, (_Mdouble_)); #endif diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 4b5753146e..a3bccae8ad 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -54,6 +54,7 @@ GLIBC_2.35 _ZGVbN2v_atan F GLIBC_2.35 _ZGVbN2v_atanh F GLIBC_2.35 _ZGVbN2v_cbrt F GLIBC_2.35 _ZGVbN2v_cosh F +GLIBC_2.35 _ZGVbN2v_erf F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F @@ -63,6 +64,7 @@ GLIBC_2.35 _ZGVbN4v_atanf F GLIBC_2.35 _ZGVbN4v_atanhf F GLIBC_2.35 _ZGVbN4v_cbrtf F GLIBC_2.35 _ZGVbN4v_coshf F +GLIBC_2.35 _ZGVbN4v_erff F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F @@ -72,6 +74,7 @@ GLIBC_2.35 _ZGVcN4v_atan F GLIBC_2.35 _ZGVcN4v_atanh F GLIBC_2.35 _ZGVcN4v_cbrt F GLIBC_2.35 _ZGVcN4v_cosh F +GLIBC_2.35 _ZGVcN4v_erf F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F @@ -81,6 +84,7 @@ GLIBC_2.35 _ZGVcN8v_atanf F GLIBC_2.35 _ZGVcN8v_atanhf F GLIBC_2.35 _ZGVcN8v_cbrtf F GLIBC_2.35 _ZGVcN8v_coshf F +GLIBC_2.35 _ZGVcN8v_erff F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F @@ -90,6 +94,7 @@ GLIBC_2.35 _ZGVdN4v_atan F GLIBC_2.35 _ZGVdN4v_atanh F GLIBC_2.35 _ZGVdN4v_cbrt F GLIBC_2.35 _ZGVdN4v_cosh F +GLIBC_2.35 _ZGVdN4v_erf F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F @@ -99,6 +104,7 @@ GLIBC_2.35 _ZGVdN8v_atanf F GLIBC_2.35 _ZGVdN8v_atanhf F GLIBC_2.35 _ZGVdN8v_cbrtf F GLIBC_2.35 _ZGVdN8v_coshf F +GLIBC_2.35 _ZGVdN8v_erff F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F @@ -108,6 +114,7 @@ GLIBC_2.35 _ZGVeN16v_atanf F GLIBC_2.35 _ZGVeN16v_atanhf F GLIBC_2.35 _ZGVeN16v_cbrtf F GLIBC_2.35 _ZGVeN16v_coshf F +GLIBC_2.35 _ZGVeN16v_erff F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F @@ -117,4 +124,5 @@ GLIBC_2.35 _ZGVeN8v_atan F GLIBC_2.35 _ZGVeN8v_atanh F GLIBC_2.35 _ZGVeN8v_cbrt F GLIBC_2.35 _ZGVeN8v_cosh F +GLIBC_2.35 _ZGVeN8v_erf F GLIBC_2.35 _ZGVeN8vv_atan2 F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index a8465a23a7..b65f5af463 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -94,6 +94,10 @@ # define __DECL_SIMD_cosh __DECL_SIMD_x86_64 # undef __DECL_SIMD_coshf # define __DECL_SIMD_coshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erf +# define __DECL_SIMD_erf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erff +# define __DECL_SIMD_erff __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 29750a07e6..b46ad59255 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -32,6 +32,7 @@ libmvec-funcs = \ cbrt \ cos \ cosh \ + erf \ exp \ log \ pow \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 82b5723aca..4532c6c764 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -22,6 +22,7 @@ libmvec { _ZGVbN2v_atanh; _ZGVcN4v_atanh; _ZGVdN4v_atanh; _ZGVeN8v_atanh; _ZGVbN2v_cbrt; _ZGVcN4v_cbrt; _ZGVdN4v_cbrt; _ZGVeN8v_cbrt; _ZGVbN2v_cosh; _ZGVcN4v_cosh; _ZGVdN4v_cosh; _ZGVeN8v_cosh; + _ZGVbN2v_erf; _ZGVcN4v_erf; _ZGVdN4v_erf; _ZGVeN8v_erf; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; @@ -31,6 +32,7 @@ libmvec { _ZGVbN4v_atanhf; _ZGVcN8v_atanhf; _ZGVdN8v_atanhf; _ZGVeN16v_atanhf; _ZGVbN4v_cbrtf; _ZGVcN8v_cbrtf; _ZGVdN8v_cbrtf; _ZGVeN16v_cbrtf; _ZGVbN4v_coshf; _ZGVcN8v_coshf; _ZGVdN8v_coshf; _ZGVeN16v_coshf; + _ZGVbN4v_erff; _ZGVcN8v_erff; _ZGVdN8v_erff; _ZGVeN16v_erff; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index d9296ac12e..0d9520f9c5 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1315,6 +1315,26 @@ float: 1 float128: 2 ldouble: 1 +Function: "erf_vlen16": +float: 1 + +Function: "erf_vlen2": +double: 1 + +Function: "erf_vlen4": +double: 1 +float: 2 + +Function: "erf_vlen4_avx2": +double: 1 + +Function: "erf_vlen8": +double: 1 +float: 2 + +Function: "erf_vlen8_avx2": +float: 2 + Function: "erfc": double: 5 float: 3 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core-sse2.S new file mode 100644 index 0000000000..2b5735ebb3 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized erf, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_erf _ZGVbN2v_erf_sse2 +#include "../svml_d_erf2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core.c new file mode 100644 index 0000000000..74757be88f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized erf, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_erf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_erf, __GI__ZGVbN2v_erf, __redirect__ZGVbN2v_erf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core_sse4.S new file mode 100644 index 0000000000..6c5a835a24 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core_sse4.S @@ -0,0 +1,5608 @@ +/* Function erf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Basic formula is + * erf(x) ~ erf(x0) + + * + exp(-x0*x0)*D*(1+c0+T*P1(T)+D^2*P3(T)+D^4*P5(T)+D^6*p7+D^8*p9) + * where D=x-x0, T=x0*D + * x0 is x rounded to a specified number of fractional bits (in this case 7), + * except that x0=0 for |x|<3.5/128.0 (using x0=0 for first 4 table entries) + * + * Data table packs both erf(x0)_high and a few bits of erf(x0)_low in one + * entry (in place of redundant exponent bits) + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_erf_sse4) +/* + * vector gather: erf(x0), + * second value is exp(-x0*x0) + */ + lea __svml_derf_data_internal(%rip), %rcx + movups %xmm14, -24(%rsp) + cfi_offset(31, -32) + movups 12288+__svml_derf_data_internal(%rip), %xmm14 + andps %xmm0, %xmm14 + +/* + * erf(x) rounds to 1.0 for x>_MaxThreshold (5.9921875) + * can compute all results in the main path + */ + movaps %xmm14, %xmm4 + +/* save sign */ + pxor %xmm14, %xmm0 + minpd 12352+__svml_derf_data_internal(%rip), %xmm4 + movups 12416+__svml_derf_data_internal(%rip), %xmm6 + movaps %xmm6, %xmm7 + addpd %xmm4, %xmm7 + movaps %xmm7, %xmm3 + psllq $4, %xmm7 + subpd %xmm6, %xmm3 + movd %xmm7, %eax + movups 12480+__svml_derf_data_internal(%rip), %xmm5 + cmpltpd %xmm4, %xmm5 + subpd %xmm3, %xmm4 + mulpd %xmm4, %xmm3 + movups %xmm15, -40(%rsp) + andps %xmm4, %xmm5 + cfi_offset(32, -48) + +/* + * _LA_ polynomial computation + * Start polynomial evaluation + */ + movups 12672+__svml_derf_data_internal(%rip), %xmm15 + mulpd %xmm3, %xmm15 + +/* D2 = Diff^2 */ + mulpd %xmm5, %xmm5 + addpd 12736+__svml_derf_data_internal(%rip), %xmm15 + +/* NaN fixup */ + minpd %xmm14, %xmm4 + mulpd %xmm3, %xmm15 + movups 12800+__svml_derf_data_internal(%rip), %xmm6 + +/* T^2 */ + movaps %xmm3, %xmm14 + mulpd %xmm3, %xmm6 + addpd 13056+__svml_derf_data_internal(%rip), %xmm15 + addpd 12864+__svml_derf_data_internal(%rip), %xmm6 + mulpd %xmm3, %xmm14 + mulpd %xmm3, %xmm6 + mulpd %xmm3, %xmm15 + addpd 13120+__svml_derf_data_internal(%rip), %xmm6 + addpd 13184+__svml_derf_data_internal(%rip), %xmm15 + mulpd %xmm3, %xmm6 + +/* P1 = T^2*P1 - T */ + mulpd %xmm15, %xmm14 + pshufd $2, %xmm7, %xmm1 + +/* Sign | Diff */ + pxor %xmm0, %xmm4 + movups 12928+__svml_derf_data_internal(%rip), %xmm7 + mulpd %xmm3, %xmm7 + movd %xmm1, %edx + movups -40(%rsp), %xmm15 + cfi_restore(32) + addpd 12992+__svml_derf_data_internal(%rip), %xmm7 + subpd %xmm3, %xmm14 + mulpd %xmm5, %xmm7 + addpd 13248+__svml_derf_data_internal(%rip), %xmm7 + addpd %xmm6, %xmm7 + movslq %eax, %rax + +/* P1 + P3*D2 */ + mulpd %xmm7, %xmm5 + movslq %edx, %rdx + movups (%rcx,%rax), %xmm2 + movaps %xmm2, %xmm1 + addpd %xmm5, %xmm14 + unpckhpd (%rcx,%rdx), %xmm2 + +/* exp_h(x0) * Diff */ + mulpd %xmm4, %xmm2 + +/* + * branch-free + * low part of result: exp_h(x0) * Diff*(1+P1) + */ + mulpd %xmm2, %xmm14 + addpd %xmm14, %xmm2 + movhpd (%rcx,%rdx), %xmm1 + +/* Sign | _Erf_H */ + pxor %xmm0, %xmm1 + +/* Final result */ + addpd %xmm2, %xmm1 + movups -24(%rsp), %xmm14 + cfi_restore(31) + +/* Fix erf(-0) = -0 */ + orps %xmm1, %xmm0 + ret + +END(_ZGVbN2v_erf_sse4) + + .align 16,0x90 + +__svml_derf_cout_rare_internal: + + cfi_startproc + + movq %rdi, %r8 + lea 64+_imldErfHATab(%rip), %rdx + movb 7(%r8), %cl + movb %cl, %al + andb $-128, %al + shrb $7, %al + movzbl %al, %edi + movzwl 6(%r8), %eax + andl $32752, %eax + shrl $4, %eax + movq (%rdx,%rdi,8), %rdx + cmpl $2047, %eax + je .LBL_2_13 + cmpl $2046, %eax + jne .LBL_2_4 + +.LBL_2_3: + movq %rdx, (%rsi) + jmp .LBL_2_11 + +.LBL_2_4: + movsd (%r8), %xmm6 + andb $127, %cl + movsd %xmm6, -8(%rsp) + movb %cl, -1(%rsp) + movsd -8(%rsp), %xmm0 + ucomisd 48+_imldErfHATab(%rip), %xmm0 + jp .LBL_2_5 + je .LBL_2_12 + +.LBL_2_5: + testl %eax, %eax + jne .LBL_2_7 + comisd 88+_imldErfHATab(%rip), %xmm0 + jb .LBL_2_8 + +.LBL_2_7: + movsd 24+_imldErfHATab(%rip), %xmm0 + mulsd %xmm0, %xmm6 + movsd 40+_imldErfHATab(%rip), %xmm1 + mulsd %xmm6, %xmm1 + movsd %xmm1, -24(%rsp) + movsd -24(%rsp), %xmm2 + movsd 8+_imldErfHATab(%rip), %xmm12 + subsd %xmm6, %xmm2 + movsd %xmm2, -16(%rsp) + movsd -24(%rsp), %xmm4 + movsd -16(%rsp), %xmm3 + movsd 8+_imldErfHATab(%rip), %xmm9 + subsd %xmm3, %xmm4 + movsd %xmm4, -24(%rsp) + movsd -24(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -16(%rsp) + movsd 16+_imldErfHATab(%rip), %xmm6 + movsd -24(%rsp), %xmm7 + movaps %xmm6, %xmm10 + movsd -16(%rsp), %xmm8 + mulsd %xmm7, %xmm12 + mulsd %xmm8, %xmm10 + mulsd %xmm6, %xmm7 + mulsd %xmm8, %xmm9 + addsd %xmm7, %xmm10 + addsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -24(%rsp), %xmm11 + addsd %xmm11, %xmm12 + mulsd 32+_imldErfHATab(%rip), %xmm12 + movsd %xmm12, (%rsi) + jmp .LBL_2_11 + +.LBL_2_8: + comisd 80+_imldErfHATab(%rip), %xmm0 + jb .LBL_2_10 + movsd 24+_imldErfHATab(%rip), %xmm0 + mulsd %xmm0, %xmm6 + movsd 40+_imldErfHATab(%rip), %xmm1 + mulsd %xmm6, %xmm1 + movsd %xmm1, -24(%rsp) + movsd -24(%rsp), %xmm2 + movsd 8+_imldErfHATab(%rip), %xmm0 + subsd %xmm6, %xmm2 + movsd %xmm2, -16(%rsp) + movsd -24(%rsp), %xmm4 + movsd -16(%rsp), %xmm3 + movsd 8+_imldErfHATab(%rip), %xmm9 + subsd %xmm3, %xmm4 + movsd %xmm4, -24(%rsp) + movsd -24(%rsp), %xmm5 + movsd 40+_imldErfHATab(%rip), %xmm11 + subsd %xmm5, %xmm6 + movsd %xmm6, -16(%rsp) + movsd 16+_imldErfHATab(%rip), %xmm6 + movsd -24(%rsp), %xmm7 + movaps %xmm6, %xmm10 + movsd -16(%rsp), %xmm8 + mulsd %xmm7, %xmm0 + mulsd %xmm8, %xmm10 + mulsd %xmm6, %xmm7 + mulsd %xmm8, %xmm9 + mulsd %xmm0, %xmm11 + addsd %xmm7, %xmm10 + addsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -24(%rsp), %xmm1 + movsd %xmm11, -24(%rsp) + movsd -24(%rsp), %xmm12 + subsd %xmm0, %xmm12 + movsd %xmm12, -16(%rsp) + movsd -24(%rsp), %xmm14 + movsd -16(%rsp), %xmm13 + subsd %xmm13, %xmm14 + movsd %xmm14, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm0 + movsd %xmm0, -16(%rsp) + movsd -24(%rsp), %xmm12 + movsd -16(%rsp), %xmm11 + mulsd 32+_imldErfHATab(%rip), %xmm12 + addsd %xmm11, %xmm1 + mulsd 32+_imldErfHATab(%rip), %xmm1 + movsd %xmm12, -24(%rsp) + movsd %xmm1, -16(%rsp) + movsd -24(%rsp), %xmm3 + movsd -16(%rsp), %xmm2 + addsd %xmm2, %xmm3 + movsd %xmm3, (%rsi) + jmp .LBL_2_11 + +.LBL_2_10: + movsd _imldErfHATab(%rip), %xmm0 + mulsd %xmm0, %xmm6 + movsd %xmm6, (%rsi) + +.LBL_2_11: + xorl %eax, %eax + ret + +.LBL_2_12: + lea 48+_imldErfHATab(%rip), %rax + movq (%rax,%rdi,8), %rdx + movq %rdx, (%rsi) + jmp .LBL_2_11 + +.LBL_2_13: + testl $1048575, 4(%r8) + jne .LBL_2_16 + cmpl $0, (%r8) + je .LBL_2_3 + +.LBL_2_16: + movsd (%r8), %xmm0 + addsd %xmm0, %xmm0 + movsd %xmm0, (%rsi) + jmp .LBL_2_11 + + cfi_endproc + + .type __svml_derf_cout_rare_internal,@function + .size __svml_derf_cout_rare_internal,.-__svml_derf_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_derf_data_internal: + .long 0 + .long 0 + .long 1346542445 + .long 1072827863 + .long 1038816064 + .long 1065487807 + .long 427149405 + .long 1072827791 + .long 138352544 + .long 1066536311 + .long 2077512391 + .long 1072827574 + .long 217416924 + .long 1067127678 + .long 2343319233 + .long 1072827213 + .long 1172120888 + .long 1067584598 + .long 1792097487 + .long 1072826708 + .long 1002214694 + .long 1067880029 + .long 1217900872 + .long 1072826059 + .long 4011022149 + .long 1068175279 + .long 1640824915 + .long 1072825266 + .long 2008889377 + .long 1068470314 + .long 11417604 + .long 1072824330 + .long 2162755160 + .long 1068632020 + .long 2094822099 + .long 1072823250 + .long 3900605843 + .long 1068779267 + .long 995044552 + .long 1072822028 + .long 2716351325 + .long 1068926353 + .long 2923726463 + .long 1072820663 + .long 3951725859 + .long 1069073259 + .long 1429174619 + .long 1072819157 + .long 344622906 + .long 1069219969 + .long 3164864724 + .long 1072817509 + .long 2121311411 + .long 1069366463 + .long 2118204713 + .long 1072815721 + .long 2663955280 + .long 1069512725 + .long 1083806794 + .long 1072813793 + .long 6252005 + .long 1069603129 + .long 3071858204 + .long 1072811725 + .long 2740730761 + .long 1069676001 + .long 2716363190 + .long 1072809519 + .long 368405780 + .long 1069748732 + .long 3453061548 + .long 1072807175 + .long 3270920537 + .long 1069821311 + .long 337483221 + .long 1072804695 + .long 589420486 + .long 1069893732 + .long 1517584741 + .long 1072802078 + .long 3187124383 + .long 1069965984 + .long 2461623467 + .long 1072799326 + .long 712400798 + .long 1070038061 + .long 3135584772 + .long 1072796440 + .long 266066941 + .long 1070109953 + .long 3705654820 + .long 1072793421 + .long 644014413 + .long 1070181652 + .long 240577552 + .long 1072790271 + .long 939402534 + .long 1070253150 + .long 1888734604 + .long 1072786989 + .long 554739272 + .long 1070324439 + .long 810473775 + .long 1072783578 + .long 3508744759 + .long 1070395510 + .long 2239870849 + .long 1072780038 + .long 1268186934 + .long 1070466357 + .long 3006777612 + .long 1072776371 + .long 2824159458 + .long 1070536970 + .long 123537259 + .long 1072772579 + .long 2319306557 + .long 1070601719 + .long 3666566110 + .long 1072768661 + .long 1770174792 + .long 1070636781 + .long 2413196824 + .long 1072764621 + .long 515431986 + .long 1070671715 + .long 2492870238 + .long 1072760459 + .long 3794982409 + .long 1070706516 + .long 1613725249 + .long 1072756177 + .long 4163230114 + .long 1070741182 + .long 1943804817 + .long 1072751776 + .long 2969010815 + .long 1070775709 + .long 1517338984 + .long 1072747258 + .long 1770633177 + .long 1070810093 + .long 2820813657 + .long 1072742624 + .long 2340732634 + .long 1070844330 + .long 4199089955 + .long 1072737876 + .long 2376033378 + .long 1070878417 + .long 4146348395 + .long 1072733016 + .long 4091885358 + .long 1070912350 + .long 1301992007 + .long 1072728046 + .long 1341835662 + .long 1070946127 + .long 3036413564 + .long 1072722966 + .long 1096806975 + .long 1070979743 + .long 3971924632 + .long 1072717779 + .long 1974469745 + .long 1071013195 + .long 3158326576 + .long 1072712487 + .long 2833250162 + .long 1071046480 + .long 4068552111 + .long 1072707091 + .long 2776266431 + .long 1071079595 + .long 1709348165 + .long 1072701594 + .long 1155126244 + .long 1071112537 + .long 4091643817 + .long 1072695996 + .long 1868551104 + .long 1071145302 + .long 27554567 + .long 1072687355 + .long 480989547 + .long 1071177888 + .long 4013208754 + .long 1072675771 + .long 1405858118 + .long 1071210291 + .long 2463469560 + .long 1072664000 + .long 728899385 + .long 1071242509 + .long 3673248531 + .long 1072652044 + .long 3391132564 + .long 1071274538 + .long 3245080601 + .long 1072639908 + .long 1716951687 + .long 1071306377 + .long 1259566555 + .long 1072627596 + .long 1186716264 + .long 1071338022 + .long 2265889960 + .long 1072615111 + .long 3259520440 + .long 1071369470 + .long 2387383118 + .long 1072602458 + .long 1080714748 + .long 1071400720 + .long 2196854969 + .long 1072589641 + .long 959081773 + .long 1071431768 + .long 2412015218 + .long 1072576664 + .long 894188496 + .long 1071462612 + .long 3885838402 + .long 1072563531 + .long 3463326280 + .long 1071493249 + .long 3301940522 + .long 1072550247 + .long 2938496088 + .long 1071523678 + .long 1754844591 + .long 1072536816 + .long 2468013648 + .long 1071553896 + .long 445338472 + .long 1072523242 + .long 1193192369 + .long 1071583901 + .long 670801289 + .long 1072509529 + .long 2839711645 + .long 1071613690 + .long 3815538169 + .long 1072495681 + .long 2833997776 + .long 1071643262 + .long 2751195712 + .long 1072481704 + .long 2742112668 + .long 1071658643 + .long 3301970792 + .long 1072467601 + .long 1253231335 + .long 1071673209 + .long 2760175517 + .long 1072453377 + .long 1545137618 + .long 1071687663 + .long 2761576465 + .long 1072439036 + .long 4064802502 + .long 1071702004 + .long 685940062 + .long 1072424583 + .long 816685333 + .long 1071716233 + .long 2532463670 + .long 1072410021 + .long 1132731221 + .long 1071730347 + .long 1435524088 + .long 1072395356 + .long 1607720272 + .long 1071744346 + .long 3425128494 + .long 1072380591 + .long 3279184281 + .long 1071758229 + .long 1647826366 + .long 1072365732 + .long 3037447390 + .long 1071771996 + .long 2127303697 + .long 1072350782 + .long 2215464304 + .long 1071785646 + .long 2280417801 + .long 1072335746 + .long 2293685631 + .long 1071799178 + .long 3793057312 + .long 1072320628 + .long 604852941 + .long 1071812592 + .long 4021258398 + .long 1072305433 + .long 3218593473 + .long 1071825886 + .long 277321282 + .long 1072290166 + .long 3466207732 + .long 1071839061 + .long 2705965375 + .long 1072274829 + .long 3415062139 + .long 1071852116 + .long 4210920931 + .long 1072259428 + .long 983176269 + .long 1071865051 + .long 1921243050 + .long 1072243968 + .long 2823547761 + .long 1071877864 + .long 1477876472 + .long 1072228452 + .long 2848673694 + .long 1071890556 + .long 4140476189 + .long 1072212884 + .long 3704680757 + .long 1071903126 + .long 2484292510 + .long 1072197270 + .long 3885653926 + .long 1071915574 + .long 1866994493 + .long 1072181613 + .long 2027772262 + .long 1071927900 + .long 3240926857 + .long 1072165917 + .long 1203383746 + .long 1071940103 + .long 3145379609 + .long 1072150187 + .long 330118419 + .long 1071952183 + .long 2288940035 + .long 1072134427 + .long 2759812044 + .long 1071964139 + .long 1247094627 + .long 1072118641 + .long 3392535852 + .long 1071975972 + .long 454954036 + .long 1072102833 + .long 1560373839 + .long 1071987682 + .long 200137461 + .long 1072087007 + .long 1026243227 + .long 1071999268 + .long 615820036 + .long 1072071167 + .long 1392726659 + .long 1072010730 + .long 1673946580 + .long 1072055317 + .long 2395753923 + .long 1072022068 + .long 3178614907 + .long 1072039461 + .long 3903265363 + .long 1072033282 + .long 464664423 + .long 1072023604 + .long 1618858333 + .long 1072044373 + .long 1571276620 + .long 1072007748 + .long 4260221847 + .long 1072055339 + .long 1466080688 + .long 1071991898 + .long 3492884098 + .long 1072066182 + .long 3514079945 + .long 1071976057 + .long 3993456657 + .long 1072076901 + .long 2292055455 + .long 1071960230 + .long 1973227103 + .long 1072087497 + .long 762892997 + .long 1071944420 + .long 2356414747 + .long 1072097969 + .long 1680293156 + .long 1071928630 + .long 1598646874 + .long 1072108318 + .long 3288637392 + .long 1071912864 + .long 570166456 + .long 1072118544 + .long 3612978933 + .long 1071897126 + .long 259132527 + .long 1072128647 + .long 454258010 + .long 1071881420 + .long 1769851247 + .long 1072138627 + .long 4269611837 + .long 1071865747 + .long 2026004535 + .long 1072148485 + .long 3808238226 + .long 1071850113 + .long 2358747003 + .long 1072158221 + .long 466930684 + .long 1071834521 + .long 4209868920 + .long 1072167835 + .long 3991103291 + .long 1071818972 + .long 539961339 + .long 1072177329 + .long 2406207743 + .long 1071803472 + .long 1596290573 + .long 1072186701 + .long 668823419 + .long 1071788023 + .long 551103050 + .long 1072195953 + .long 3483369050 + .long 1071772627 + .long 3564413664 + .long 1072205084 + .long 2413978135 + .long 1071757289 + .long 4012194871 + .long 1072214096 + .long 1651276306 + .long 1071742011 + .long 3959183150 + .long 1072222989 + .long 829681671 + .long 1071726796 + .long 1271925764 + .long 1072231764 + .long 3614704403 + .long 1071711646 + .long 2501611462 + .long 1072240420 + .long 520637331 + .long 1071696566 + .long 1407144504 + .long 1072248959 + .long 3268048090 + .long 1071681556 + .long 427874865 + .long 1072257381 + .long 1832052951 + .long 1071666621 + .long 2091542065 + .long 1072265686 + .long 3095161192 + .long 1071651762 + .long 422205205 + .long 1072273876 + .long 1561666736 + .long 1071629294 + .long 2412931770 + .long 1072281950 + .long 2443607338 + .long 1071599898 + .long 2253835330 + .long 1072289910 + .long 3767899416 + .long 1071570670 + .long 2804744118 + .long 1072297756 + .long 4205206053 + .long 1071541615 + .long 2708123311 + .long 1072305489 + .long 1868283784 + .long 1071512738 + .long 681859986 + .long 1072313110 + .long 2900434531 + .long 1071484042 + .long 4107010292 + .long 1072320618 + .long 4294514068 + .long 1071455532 + .long 3255804563 + .long 1072328016 + .long 2482100151 + .long 1071427213 + .long 1354224973 + .long 1072335304 + .long 1923011912 + .long 1071399088 + .long 1694909286 + .long 1072342482 + .long 2220339163 + .long 1071371161 + .long 3339989603 + .long 1072349551 + .long 2415682179 + .long 1071343436 + .long 1118900120 + .long 1072356513 + .long 989760182 + .long 1071315917 + .long 2806057099 + .long 1072363367 + .long 158317606 + .long 1071288607 + .long 3348870180 + .long 1072370115 + .long 1578420540 + .long 1071261509 + .long 2045432220 + .long 1072376758 + .long 2055072070 + .long 1071234627 + .long 2542346734 + .long 1072383296 + .long 2133042299 + .long 1071207964 + .long 4242628757 + .long 1072389730 + .long 1804103059 + .long 1071181523 + .long 2303549486 + .long 1072396062 + .long 509530065 + .long 1071155307 + .long 519393155 + .long 1072402292 + .long 1437865959 + .long 1071129318 + .long 2729388920 + .long 1072408420 + .long 2938068361 + .long 1071103559 + .long 4225655329 + .long 1072414448 + .long 2817839853 + .long 1071078033 + .long 341027652 + .long 1072420378 + .long 2642231032 + .long 1071052742 + .long 3626834524 + .long 1072426208 + .long 3442574974 + .long 1071027688 + .long 901148195 + .long 1072431942 + .long 1425680479 + .long 1071002874 + .long 491364740 + .long 1072437579 + .long 863146005 + .long 1070978301 + .long 2167390653 + .long 1072443120 + .long 1211113923 + .long 1070953971 + .long 1434586468 + .long 1072448567 + .long 1410130595 + .long 1070929886 + .long 2416664529 + .long 1072453920 + .long 4185235532 + .long 1070906047 + .long 673836130 + .long 1072459181 + .long 3166402837 + .long 1070882457 + .long 380718319 + .long 1072464350 + .long 73967522 + .long 1070859117 + .long 1439491741 + .long 1072469428 + .long 429421420 + .long 1070836027 + .long 3772950565 + .long 1072474416 + .long 676472817 + .long 1070813189 + .long 3027641485 + .long 1072479316 + .long 1072100387 + .long 1070790604 + .long 3456896295 + .long 1072484128 + .long 1397920641 + .long 1070768273 + .long 739118475 + .long 1072488854 + .long 966697529 + .long 1070746197 + .long 3450801209 + .long 1072493493 + .long 2923986376 + .long 1070724376 + .long 2999964233 + .long 1072498048 + .long 1370067789 + .long 1070702812 + .long 3689159840 + .long 1072502519 + .long 2841771284 + .long 1070681504 + .long 1238898896 + .long 1072506908 + .long 549802159 + .long 1070660454 + .long 4260777949 + .long 1072511214 + .long 155811627 + .long 1070639661 + .long 4191027417 + .long 1072515440 + .long 2599921926 + .long 1070619125 + .long 1058663746 + .long 1072519587 + .long 4108240803 + .long 1070598847 + .long 3483867367 + .long 1072523654 + .long 990911579 + .long 1070561560 + .long 2906586881 + .long 1072527644 + .long 114935845 + .long 1070522036 + .long 3649748481 + .long 1072531557 + .long 4208768690 + .long 1070483026 + .long 1442888585 + .long 1072535395 + .long 2526808836 + .long 1070444532 + .long 600523232 + .long 1072539158 + .long 743445360 + .long 1070406552 + .long 1135777805 + .long 1072542847 + .long 3789340407 + .long 1070369084 + .long 3053917615 + .long 1072546463 + .long 2982814329 + .long 1070332129 + .long 2055975837 + .long 1072550008 + .long 1816057167 + .long 1070295685 + .long 2422282765 + .long 1072553482 + .long 3086740885 + .long 1070259750 + .long 4126223656 + .long 1072556886 + .long 324691238 + .long 1070224324 + .long 2832930958 + .long 1072560222 + .long 3578376465 + .long 1070189403 + .long 2782911091 + .long 1072563490 + .long 776951344 + .long 1070154988 + .long 3905900216 + .long 1072566691 + .long 696731218 + .long 1070121075 + .long 1819654744 + .long 1072569827 + .long 2913260122 + .long 1070087662 + .long 713676646 + .long 1072572898 + .long 2113142428 + .long 1070054748 + .long 463167950 + .long 1072575905 + .long 995821495 + .long 1070022330 + .long 922887372 + .long 1072578849 + .long 1700521760 + .long 1069990405 + .long 1926072615 + .long 1072581731 + .long 1528145825 + .long 1069958971 + .long 3283395580 + .long 1072584552 + .long 1548049162 + .long 1069928025 + .long 486983136 + .long 1072587314 + .long 2319876962 + .long 1069897564 + .long 1889307149 + .long 1072590016 + .long 3910320901 + .long 1069867585 + .long 2932434228 + .long 1072592660 + .long 1614850098 + .long 1069838086 + .long 3326980969 + .long 1072595247 + .long 3154209172 + .long 1069809062 + .long 2756265128 + .long 1072597778 + .long 2921163421 + .long 1069780511 + .long 875456323 + .long 1072600254 + .long 3471794055 + .long 1069752429 + .long 1605726087 + .long 1072602675 + .long 2656954908 + .long 1069724813 + .long 248560569 + .long 1072605043 + .long 2228455793 + .long 1069697659 + .long 664875946 + .long 1072607358 + .long 3560224787 + .long 1069670963 + .long 2389394126 + .long 1072609621 + .long 3369342261 + .long 1069644722 + .long 629951466 + .long 1072611834 + .long 2321839820 + .long 1069618932 + .long 3446707524 + .long 1072613996 + .long 753451907 + .long 1069593589 + .long 1686744094 + .long 1072616110 + .long 2980148458 + .long 1069568688 + .long 3343203939 + .long 1072618175 + .long 267339392 + .long 1069540934 + .long 3489949996 + .long 1072620193 + .long 483064631 + .long 1069492880 + .long 1460894432 + .long 1072622165 + .long 649602217 + .long 1069445687 + .long 849487740 + .long 1072624091 + .long 2890701232 + .long 1069399346 + .long 918302122 + .long 1072625972 + .long 261234300 + .long 1069353850 + .long 893545254 + .long 1072627809 + .long 2545983092 + .long 1069309188 + .long 4259602150 + .long 1072629602 + .long 1928478288 + .long 1069265353 + .long 1578768264 + .long 1072631354 + .long 3083934340 + .long 1069222335 + .long 555650133 + .long 1072633064 + .long 1732151351 + .long 1069180126 + .long 267018061 + .long 1072634733 + .long 1844687288 + .long 1069138716 + .long 4046390903 + .long 1072636361 + .long 2786814309 + .long 1069098096 + .long 2303875791 + .long 1072637951 + .long 3638890659 + .long 1069058257 + .long 2590673673 + .long 1072639502 + .long 3222303380 + .long 1069019190 + .long 3829035115 + .long 1072641015 + .long 124941498 + .long 1068980886 + .long 607011814 + .long 1072642492 + .long 1316127179 + .long 1068943334 + .long 358134174 + .long 1072643932 + .long 696292715 + .long 1068906526 + .long 1886406929 + .long 1072645336 + .long 595841400 + .long 1068870452 + .long 3956099039 + .long 1072646705 + .long 3208742923 + .long 1068835102 + .long 996654455 + .long 1072648041 + .long 2025629493 + .long 1068800468 + .long 282461591 + .long 1072649343 + .long 3331159491 + .long 1068766539 + .long 457938895 + .long 1072650612 + .long 456233562 + .long 1068733307 + .long 127412743 + .long 1072651849 + .long 3864275015 + .long 1068700760 + .long 2150048793 + .long 1072653054 + .long 2517520227 + .long 1068668891 + .long 754934402 + .long 1072654229 + .long 2552204883 + .long 1068637689 + .long 3015919169 + .long 1072655373 + .long 1528723567 + .long 1068607145 + .long 3081834457 + .long 1072656488 + .long 1335976541 + .long 1068577249 + .long 3651371907 + .long 1072657574 + .long 3915328100 + .long 1068547991 + .long 3088241816 + .long 1072658632 + .long 2689078049 + .long 1068519363 + .long 4011185713 + .long 1072659662 + .long 3811402329 + .long 1068483765 + .long 409169671 + .long 1072660666 + .long 3249658772 + .long 1068428968 + .long 3411299989 + .long 1072661642 + .long 4058137866 + .long 1068375372 + .long 2632245636 + .long 1072662593 + .long 2585699919 + .long 1068322959 + .long 532120432 + .long 1072663519 + .long 4081392135 + .long 1068271709 + .long 3826707455 + .long 1072664419 + .long 1250224180 + .long 1068221605 + .long 2012796269 + .long 1072665296 + .long 52563989 + .long 1068172627 + .long 1728109198 + .long 1072666149 + .long 2552846462 + .long 1068124756 + .long 981699159 + .long 1072666979 + .long 2652176382 + .long 1068077975 + .long 2039066381 + .long 1072667786 + .long 3294767379 + .long 1068032265 + .long 2832451379 + .long 1072668571 + .long 3608617230 + .long 1067987608 + .long 1256042053 + .long 1072669335 + .long 3225068209 + .long 1067943986 + .long 3756159862 + .long 1072670077 + .long 2302425099 + .long 1067901381 + .long 3856686221 + .long 1072670799 + .long 1548607803 + .long 1067859775 + .long 3634172681 + .long 1072671501 + .long 2242848736 + .long 1067819150 + .long 833223107 + .long 1072672184 + .long 1961478441 + .long 1067779489 + .long 1751689540 + .long 1072672847 + .long 3187679808 + .long 1067740774 + .long 4061106433 + .long 1072673491 + .long 445484238 + .long 1067702989 + .long 1101970377 + .long 1072674118 + .long 1792596734 + .long 1067666115 + .long 3358897570 + .long 1072674726 + .long 3067683861 + .long 1067630136 + .long 4101214576 + .long 1072675317 + .long 791483465 + .long 1067595036 + .long 858131621 + .long 1072675892 + .long 772076534 + .long 1067560797 + .long 4009021290 + .long 1072676449 + .long 939498435 + .long 1067527403 + .long 2424031124 + .long 1072676991 + .long 4244278389 + .long 1067494837 + .long 2119146704 + .long 1072677517 + .long 1490379385 + .long 1067463085 + .long 486751354 + .long 1072678028 + .long 2823928994 + .long 1067413890 + .long 3475864463 + .long 1072678523 + .long 1239644147 + .long 1067353540 + .long 4117679416 + .long 1072679004 + .long 1583294687 + .long 1067294720 + .long 4000779385 + .long 1072679471 + .long 183503499 + .long 1067237400 + .long 386619275 + .long 1072679925 + .long 3539777017 + .long 1067181548 + .long 3389782899 + .long 1072680364 + .long 2569008951 + .long 1067127136 + .long 1618636412 + .long 1072680791 + .long 2685116163 + .long 1067074133 + .long 830429231 + .long 1072681205 + .long 2337656347 + .long 1067022510 + .long 2456855919 + .long 1072681606 + .long 1613838398 + .long 1066972238 + .long 3604457349 + .long 1072681995 + .long 2249252296 + .long 1066923288 + .long 1349991605 + .long 1072682373 + .long 3342318405 + .long 1066875632 + .long 1330774330 + .long 1072682739 + .long 1362423571 + .long 1066829243 + .long 565217133 + .long 1072683094 + .long 3041711418 + .long 1066784092 + .long 338138595 + .long 1072683438 + .long 3905919518 + .long 1066740153 + .long 1906207337 + .long 1072683771 + .long 1163773073 + .long 1066697400 + .long 2203386035 + .long 1072684094 + .long 2300262366 + .long 1066655805 + .long 2431278016 + .long 1072684407 + .long 3604033067 + .long 1066615343 + .long 3764572361 + .long 1072684710 + .long 3053431638 + .long 1066575989 + .long 3056489171 + .long 1072685004 + .long 316598267 + .long 1066537718 + .long 1429126614 + .long 1072685289 + .long 1045509085 + .long 1066500504 + .long 4273873027 + .long 1072685564 + .long 3989163593 + .long 1066464323 + .long 4071949264 + .long 1072685831 + .long 990720597 + .long 1066429153 + .long 1869655883 + .long 1072686090 + .long 1212065788 + .long 1066388145 + .long 2983815532 + .long 1072686340 + .long 363369668 + .long 1066321702 + .long 4117279489 + .long 1072686582 + .long 1763689544 + .long 1066257139 + .long 1949269238 + .long 1072686817 + .long 2478908466 + .long 1066194412 + .long 1725716385 + .long 1072687044 + .long 2888078907 + .long 1066133477 + .long 79796966 + .long 1072687264 + .long 2372613493 + .long 1066074291 + .long 2212202096 + .long 1072687476 + .long 3593940430 + .long 1066016811 + .long 416700746 + .long 1072687682 + .long 3884847023 + .long 1065960996 + .long 4145307718 + .long 1072687880 + .long 3819341470 + .long 1065906805 + .long 1353972341 + .long 1072688073 + .long 2896320203 + .long 1065854198 + .long 1452643118 + .long 1072688259 + .long 3811934768 + .long 1065803135 + .long 945918203 + .long 1072688439 + .long 3845878455 + .long 1065753578 + .long 613300468 + .long 1072688613 + .long 3426419565 + .long 1065705489 + .long 1214612974 + .long 1072688781 + .long 1809465164 + .long 1065658831 + .long 3490378522 + .long 1072688943 + .long 1346545806 + .long 1065613567 + .long 3867228532 + .long 1072689100 + .long 3161905125 + .long 1065569661 + .long 3048210366 + .long 1072689252 + .long 2828680980 + .long 1065527079 + .long 1718189174 + .long 1072689399 + .long 3224098489 + .long 1065485786 + .long 544213361 + .long 1072689541 + .long 1614052134 + .long 1065445749 + .long 175876290 + .long 1072689678 + .long 2506733613 + .long 1065406934 + .long 1245674115 + .long 1072689810 + .long 440778734 + .long 1065369310 + .long 74392377 + .long 1072689938 + .long 2854914290 + .long 1065312472 + .long 1556357759 + .long 1072690061 + .long 2885144677 + .long 1065241796 + .long 1979914676 + .long 1072690180 + .long 2850023781 + .long 1065173315 + .long 1912668770 + .long 1072690295 + .long 1599866748 + .long 1065106970 + .long 1906856997 + .long 1072690406 + .long 3477767080 + .long 1065042702 + .long 2499680735 + .long 1072690513 + .long 1069144869 + .long 1064980456 + .long 4213634550 + .long 1072690616 + .long 900163108 + .long 1064920175 + .long 3261863288 + .long 1072690716 + .long 1890778166 + .long 1064861805 + .long 138416642 + .long 1072690813 + .long 3871912933 + .long 1064805293 + .long 3913531953 + .long 1072690905 + .long 3217154659 + .long 1064750588 + .long 2169174156 + .long 1072690995 + .long 1358854176 + .long 1064697639 + .long 3949015241 + .long 1072691081 + .long 418893404 + .long 1064646396 + .long 1104030541 + .long 1072691165 + .long 3134058972 + .long 1064596810 + .long 2652534488 + .long 1072691245 + .long 4191186495 + .long 1064548835 + .long 420735059 + .long 1072691323 + .long 3036910975 + .long 1064502425 + .long 3402760357 + .long 1072691397 + .long 3802347199 + .long 1064457534 + .long 3401203862 + .long 1072691469 + .long 2342760329 + .long 1064414119 + .long 797207216 + .long 1072691539 + .long 3341957742 + .long 1064372136 + .long 255767335 + .long 1072691606 + .long 3056948772 + .long 1064331544 + .long 2136071610 + .long 1072691670 + .long 4254871605 + .long 1064279964 + .long 2491763111 + .long 1072691732 + .long 2411097017 + .long 1064204100 + .long 1661135790 + .long 1072691792 + .long 1761415536 + .long 1064130778 + .long 4267390501 + .long 1072691849 + .long 3209400075 + .long 1064059922 + .long 2039017291 + .long 1072691905 + .long 2939049396 + .long 1063991459 + .long 3874813376 + .long 1072691958 + .long 855986431 + .long 1063925317 + .long 1484387166 + .long 1072692010 + .long 439408485 + .long 1063861425 + .long 3748134511 + .long 1072692059 + .long 4870352 + .long 1063799715 + .long 2357733727 + .long 1072692107 + .long 1147781519 + .long 1063740120 + .long 1881145616 + .long 1072692153 + .long 7952899 + .long 1063682576 + .long 2582968793 + .long 1072692197 + .long 9969043 + .long 1063627019 + .long 424659812 + .long 1072692240 + .long 3129779709 + .long 1063573387 + .long 4244618108 + .long 1072692280 + .long 1162410711 + .long 1063521622 + .long 1398659061 + .long 1072692320 + .long 1350592543 + .long 1063471664 + .long 709894103 + .long 1072692358 + .long 475017707 + .long 1063423457 + .long 2404162538 + .long 1072692394 + .long 1895560955 + .long 1063376945 + .long 2405197521 + .long 1072692429 + .long 2529068952 + .long 1063332075 + .long 924755159 + .long 1072692463 + .long 1303374431 + .long 1063288795 + .long 2462804903 + .long 1072692495 + .long 2340583905 + .long 1063238043 + .long 2922813959 + .long 1072692526 + .long 765339184 + .long 1063157539 + .long 2496831451 + .long 1072692556 + .long 1905645544 + .long 1063079917 + .long 1370699398 + .long 1072692585 + .long 4160263103 + .long 1063005084 + .long 4019194350 + .long 1072692612 + .long 45342386 + .long 1062932951 + .long 2026328650 + .long 1072692639 + .long 1710715325 + .long 1062863427 + .long 4150288103 + .long 1072692664 + .long 2034959285 + .long 1062796428 + .long 1963856416 + .long 1072692689 + .long 148304367 + .long 1062731871 + .long 4214312639 + .long 1072692712 + .long 1189117402 + .long 1062669674 + .long 2463848165 + .long 1072692735 + .long 3178906437 + .long 1062609759 + .long 1154489547 + .long 1072692757 + .long 1080654215 + .long 1062552051 + .long 428377468 + .long 1072692778 + .long 3745546411 + .long 1062496474 + .long 422878663 + .long 1072692798 + .long 3618581269 + .long 1062442958 + .long 1270727063 + .long 1072692817 + .long 2282300494 + .long 1062391433 + .long 3100161527 + .long 1072692835 + .long 1644348923 + .long 1062341831 + .long 1740092897 + .long 1072692853 + .long 3718552903 + .long 1062294086 + .long 1605136939 + .long 1072692870 + .long 1819661463 + .long 1062248136 + .long 2810840233 + .long 1072692886 + .long 3652931310 + .long 1062200348 + .long 1173804762 + .long 1072692902 + .long 997716742 + .long 1062115258 + .long 1096711236 + .long 1072692917 + .long 611465250 + .long 1062033397 + .long 2683535545 + .long 1072692931 + .long 1268352122 + .long 1061954653 + .long 1739664066 + .long 1072692945 + .long 3774361106 + .long 1061878917 + .long 2656907874 + .long 1072692958 + .long 1990048797 + .long 1061806085 + .long 1233742957 + .long 1072692971 + .long 3925276832 + .long 1061736053 + .long 1855285919 + .long 1072692983 + .long 1301510391 + .long 1061668724 + .long 313528501 + .long 1072692995 + .long 3545772009 + .long 1061604000 + .long 987307714 + .long 1072693006 + .long 3072231739 + .long 1061541790 + .long 3957502177 + .long 1072693016 + .long 700415168 + .long 1061482004 + .long 712160398 + .long 1072693027 + .long 1015674294 + .long 1061424554 + .long 4211364825 + .long 1072693036 + .long 3441679162 + .long 1061369356 + .long 1642682013 + .long 1072693046 + .long 1909782298 + .long 1061316330 + .long 1665890809 + .long 1072693055 + .long 1715136991 + .long 1061265396 + .long 53329472 + .long 1072693064 + .long 2019904798 + .long 1061216478 + .long 1164815244 + .long 1072693072 + .long 4133034056 + .long 1061169502 + .long 767855920 + .long 1072693080 + .long 938778593 + .long 1061089885 + .long 3217597497 + .long 1072693087 + .long 45480017 + .long 1061003281 + .long 4277031209 + .long 1072693094 + .long 316452781 + .long 1060920148 + .long 4001969454 + .long 1072693101 + .long 2721989136 + .long 1060840357 + .long 2446150390 + .long 1072693108 + .long 1032835521 + .long 1060763785 + .long 3956275029 + .long 1072693114 + .long 2753065605 + .long 1060690310 + .long 4287173117 + .long 1072693120 + .long 2820848798 + .long 1060619817 + .long 3486770775 + .long 1072693126 + .long 271267104 + .long 1060552194 + .long 1601187023 + .long 1072693132 + .long 2026441674 + .long 1060487331 + .long 2969762984 + .long 1072693137 + .long 927900277 + .long 1060425125 + .long 3340220053 + .long 1072693142 + .long 1025459971 + .long 1060365474 + .long 2753620020 + .long 1072693147 + .long 4223106765 + .long 1060308280 + .long 1249454257 + .long 1072693152 + .long 1231370686 + .long 1060253451 + .long 3160665754 + .long 1072693156 + .long 1185758032 + .long 1060200894 + .long 4228800307 + .long 1072693160 + .long 1146814719 + .long 1060150522 + .long 193992533 + .long 1072693165 + .long 1416679249 + .long 1060094165 + .long 3974884891 + .long 1072693168 + .long 3168049461 + .long 1060001659 + .long 2719002994 + .long 1072693172 + .long 1524549056 + .long 1059913034 + .long 752475327 + .long 1072693176 + .long 1702683749 + .long 1059828137 + .long 2400209350 + .long 1072693179 + .long 2214749525 + .long 1059746822 + .long 3396000745 + .long 1072693182 + .long 2714889529 + .long 1059668948 + .long 3767477749 + .long 1072693185 + .long 3275007653 + .long 1059594379 + .long 3541174945 + .long 1072693188 + .long 3680105052 + .long 1059522984 + .long 2742573010 + .long 1072693191 + .long 2742671543 + .long 1059454637 + .long 1396137187 + .long 1072693194 + .long 1930731778 + .long 1059389216 + .long 3820321791 + .long 1072693196 + .long 424277854 + .long 1059326604 + .long 1447737015 + .long 1072693199 + .long 3074559673 + .long 1059266687 + .long 2889954809 + .long 1072693201 + .long 2611163775 + .long 1059209358 + .long 3872771463 + .long 1072693203 + .long 521028298 + .long 1059154512 + .long 121142023 + .long 1072693206 + .long 2174524969 + .long 1059102047 + .long 244113626 + .long 1072693208 + .long 2461272610 + .long 1059041975 + .long 4260019406 + .long 1072693209 + .long 1131027093 + .long 1058945999 + .long 3596507856 + .long 1072693211 + .long 2009173253 + .long 1058854226 + .long 2565407666 + .long 1072693213 + .long 1615100380 + .long 1058766484 + .long 1182885939 + .long 1072693215 + .long 3221825245 + .long 1058682606 + .long 3759409239 + .long 1072693216 + .long 3000825785 + .long 1058602433 + .long 1719899946 + .long 1072693218 + .long 1965540345 + .long 1058525811 + .long 3668531992 + .long 1072693219 + .long 763189321 + .long 1058452592 + .long 1029016297 + .long 1072693221 + .long 3084060488 + .long 1058382633 + .long 2404362103 + .long 1072693222 + .long 1917799745 + .long 1058315799 + .long 3512128068 + .long 1072693223 + .long 195668558 + .long 1058251958 + .long 69345537 + .long 1072693225 + .long 1393620869 + .long 1058190983 + .long 677441054 + .long 1072693226 + .long 160341434 + .long 1058132754 + .long 1052452475 + .long 1072693227 + .long 3034396383 + .long 1058077153 + .long 1204917335 + .long 1072693228 + .long 1940473490 + .long 1058024070 + .long 1144924039 + .long 1072693229 + .long 2791683145 + .long 1057933609 + .long 882129685 + .long 1072693230 + .long 1284377069 + .long 1057836875 + .long 425777245 + .long 1072693231 + .long 3138430378 + .long 1057744555 + .long 4079679407 + .long 1072693231 + .long 3254443766 + .long 1057656460 + .long 3262365346 + .long 1072693232 + .long 3585789915 + .long 1057572407 + .long 2276899854 + .long 1072693233 + .long 3340902607 + .long 1057492221 + .long 1131028956 + .long 1072693234 + .long 2109898645 + .long 1057415734 + .long 4127128746 + .long 1072693234 + .long 3029561298 + .long 1057342784 + .long 2682349923 + .long 1072693235 + .long 3100733692 + .long 1057273217 + .long 1098434770 + .long 1072693236 + .long 721863346 + .long 1057206885 + .long 3676827974 + .long 1072693236 + .long 3257818550 + .long 1057143644 + .long 1833786974 + .long 1072693237 + .long 283247917 + .long 1057083360 + .long 4165164796 + .long 1072693237 + .long 1283760382 + .long 1057025900 + .long 2086683008 + .long 1072693238 + .long 375021366 + .long 1056971140 + .long 4193680981 + .long 1072693238 + .long 2365640311 + .long 1056873310 + .long 1901387990 + .long 1072693239 + .long 1902930970 + .long 1056773877 + .long 3804671650 + .long 1072693239 + .long 903220739 + .long 1056679152 + .long 1318309237 + .long 1072693240 + .long 2063855685 + .long 1056588923 + .long 3036735356 + .long 1072693240 + .long 3397372173 + .long 1056502988 + .long 374312518 + .long 1072693241 + .long 1034711862 + .long 1056421154 + .long 1925078105 + .long 1072693241 + .long 670870767 + .long 1056343234 + .long 3397981554 + .long 1072693241 + .long 3291650888 + .long 1056269050 + .long 501794178 + .long 1072693242 + .long 3834664178 + .long 1056198433 + .long 1830018675 + .long 1072693242 + .long 2783069783 + .long 1056131220 + .long 3091092664 + .long 1072693242 + .long 625790851 + .long 1056067255 + .long 4288264900 + .long 1072693242 + .long 952568083 + .long 1056006388 + .long 1129667423 + .long 1072693243 + .long 707602500 + .long 1055948477 + .long 2208191219 + .long 1072693243 + .long 3920299786 + .long 1055870738 + .long 3231688653 + .long 1072693243 + .long 187138140 + .long 1055765933 + .long 4202848619 + .long 1072693243 + .long 4197216078 + .long 1055666254 + .long 829267664 + .long 1072693244 + .long 3910421342 + .long 1055571465 + .long 1703324662 + .long 1072693244 + .long 2296866372 + .long 1055481337 + .long 2532382302 + .long 1072693244 + .long 2605637707 + .long 1055395651 + .long 3318661313 + .long 1072693244 + .long 2292620388 + .long 1055314199 + .long 4064278012 + .long 1072693244 + .long 4195044292 + .long 1055236781 + .long 476281643 + .long 1072693245 + .long 2000853903 + .long 1055163208 + .long 1146528013 + .long 1072693245 + .long 140279194 + .long 1055093297 + .long 1781879969 + .long 1072693245 + .long 3672993662 + .long 1055026873 + .long 2384080674 + .long 1072693245 + .long 3938617616 + .long 1054963772 + .long 2954790214 + .long 1072693245 + .long 2918251757 + .long 1054903835 + .long 3495589354 + .long 1072693245 + .long 2286364164 + .long 1054826365 + .long 4007983120 + .long 1072693245 + .long 1376975757 + .long 1054718251 + .long 198436946 + .long 1072693246 + .long 3549789914 + .long 1054615596 + .long 658249143 + .long 1072693246 + .long 3134081244 + .long 1054518138 + .long 1093750278 + .long 1072693246 + .long 3217770792 + .long 1054425625 + .long 1506175371 + .long 1072693246 + .long 544573006 + .long 1054337818 + .long 1896699486 + .long 1072693246 + .long 563778522 + .long 1054254487 + .long 2266440493 + .long 1072693246 + .long 2499998483 + .long 1054175414 + .long 2616461708 + .long 1072693246 + .long 1684473986 + .long 1054100392 + .long 2947774421 + .long 1072693246 + .long 555072738 + .long 1054029222 + .long 3261340318 + .long 1072693246 + .long 2552316963 + .long 1053961714 + .long 3558073783 + .long 1072693246 + .long 1793581277 + .long 1053897689 + .long 3838844118 + .long 1072693246 + .long 2882522604 + .long 1053836974 + .long 4104477652 + .long 1072693246 + .long 4263347778 + .long 1053739932 + .long 60792463 + .long 1072693247 + .long 2125306315 + .long 1053630777 + .long 298469494 + .long 1072693247 + .long 1283904372 + .long 1053527305 + .long 523250625 + .long 1072693247 + .long 4039517916 + .long 1053429232 + .long 735809613 + .long 1072693247 + .long 1769278009 + .long 1053336290 + .long 936786486 + .long 1072693247 + .long 2403362003 + .long 1053248220 + .long 1126789145 + .long 1072693247 + .long 2174681212 + .long 1053164778 + .long 1306394904 + .long 1072693247 + .long 422102777 + .long 1053085731 + .long 1476151957 + .long 1072693247 + .long 1608658464 + .long 1053010856 + .long 1636580774 + .long 1072693247 + .long 255934547 + .long 1052939943 + .long 1788175440 + .long 1072693247 + .long 330542066 + .long 1052872790 + .long 1931404929 + .long 1072693247 + .long 359609029 + .long 1052809206 + .long 2066714326 + .long 1072693247 + .long 212821653 + .long 1052727714 + .long 2194525979 + .long 1072693247 + .long 1771024860 + .long 1052613747 + .long 2315240618 + .long 1072693247 + .long 3323366318 + .long 1052505878 + .long 2429238401 + .long 1072693247 + .long 3333784466 + .long 1052403794 + .long 2536879931 + .long 1072693247 + .long 1884899977 + .long 1052307197 + .long 2638507212 + .long 1072693247 + .long 1901768341 + .long 1052215803 + .long 2734444565 + .long 1072693247 + .long 1919585796 + .long 1052129343 + .long 2824999505 + .long 1072693247 + .long 1864802922 + .long 1052047561 + .long 2910463570 + .long 1072693247 + .long 369621280 + .long 1051970214 + .long 2991113117 + .long 1072693247 + .long 794742200 + .long 1051897070 + .long 3067210077 + .long 1072693247 + .long 185746157 + .long 1051827910 + .long 3139002674 + .long 1072693247 + .long 4108134519 + .long 1051762524 + .long 3206726114 + .long 1072693247 + .long 1569140952 + .long 1051679705 + .long 3270603235 + .long 1072693247 + .long 3808394293 + .long 1051562865 + .long 3330845135 + .long 1072693247 + .long 3847034202 + .long 1051452445 + .long 3387651756 + .long 1072693247 + .long 3767465203 + .long 1051348105 + .long 3441212456 + .long 1072693247 + .long 2207887660 + .long 1051249523 + .long 3491706543 + .long 1072693247 + .long 3687336940 + .long 1051156392 + .long 3539303784 + .long 1072693247 + .long 2322652348 + .long 1051068423 + .long 3584164895 + .long 1072693247 + .long 60084372 + .long 1050985340 + .long 3626442002 + .long 1072693247 + .long 3580394494 + .long 1050906880 + .long 3666279081 + .long 1072693247 + .long 4166097879 + .long 1050832797 + .long 3703812375 + .long 1072693247 + .long 654319384 + .long 1050762856 + .long 3739170797 + .long 1072693247 + .long 1044918721 + .long 1050696832 + .long 3772476305 + .long 1072693247 + .long 1221590325 + .long 1050595877 + .long 3803844261 + .long 1072693247 + .long 1858992497 + .long 1050478253 + .long 3833383776 + .long 1072693247 + .long 2222963862 + .long 1050367260 + .long 3861198036 + .long 1072693247 + .long 4044534932 + .long 1050262537 + .long 3887384606 + .long 1072693247 + .long 4037682077 + .long 1050163743 + .long 3912035731 + .long 1072693247 + .long 2751298525 + .long 1050070554 + .long 3935238607 + .long 1072693247 + .long 726747225 + .long 1049982663 + .long 3957075654 + .long 1072693247 + .long 3427405224 + .long 1049899778 + .long 3977624762 + .long 1072693247 + .long 572377531 + .long 1049821626 + .long 3996959532 + .long 1072693247 + .long 1471006056 + .long 1049747944 + .long 4015149506 + .long 1072693247 + .long 1796687607 + .long 1049678486 + .long 4032260375 + .long 1072693247 + .long 4103915186 + .long 1049601460 + .long 4048354194 + .long 1072693247 + .long 817191958 + .long 1049478062 + .long 4063489565 + .long 1072693247 + .long 1436794216 + .long 1049361781 + .long 4077721832 + .long 1072693247 + .long 2657182346 + .long 1049252221 + .long 4091103247 + .long 1072693247 + .long 2406257951 + .long 1049149007 + .long 4103683142 + .long 1072693247 + .long 3738473273 + .long 1049051783 + .long 4115508082 + .long 1072693247 + .long 1777519924 + .long 1048960214 + .long 4126622017 + .long 1072693247 + .long 942680177 + .long 1048873981 + .long 4137066424 + .long 1072693247 + .long 2319192650 + .long 1048792783 + .long 4146880438 + .long 1072693247 + .long 4112632783 + .long 1048716336 + .long 4156100982 + .long 1072693247 + .long 2293150261 + .long 1048644372 + .long 4164762887 + .long 1072693247 + .long 10642342 + .long 1048576636 + .long 4172899006 + .long 1072693247 + .long 5176375 + .long 1048449774 + .long 4180540322 + .long 1072693247 + .long 2922557803 + .long 1048329796 + .long 4187716050 + .long 1072693247 + .long 2705392296 + .long 1048216910 + .long 4194453736 + .long 1072693247 + .long 359265373 + .long 1048110710 + .long 4200779348 + .long 1072693247 + .long 2889113445 + .long 1048010811 + .long 4206717364 + .long 1072693247 + .long 1020973057 + .long 1047916853 + .long 4212290853 + .long 1072693247 + .long 3016231241 + .long 1047828492 + .long 4217521554 + .long 1072693247 + .long 11971917 + .long 1047745407 + .long 4222429951 + .long 1072693247 + .long 314571880 + .long 1047667291 + .long 4227035341 + .long 1072693247 + .long 3786258409 + .long 1047593856 + .long 4231355901 + .long 1072693247 + .long 131461034 + .long 1047522241 + .long 4235408754 + .long 1072693247 + .long 2699979079 + .long 1047392498 + .long 4239210022 + .long 1072693247 + .long 411815652 + .long 1047270578 + .long 4242774887 + .long 1072693247 + .long 1157099645 + .long 1047156022 + .long 4246117644 + .long 1072693247 + .long 3456465376 + .long 1047048399 + .long 4249251749 + .long 1072693247 + .long 3319603447 + .long 1046947303 + .long 4252189866 + .long 1072693247 + .long 1417286464 + .long 1046852350 + .long 4254943915 + .long 1072693247 + .long 1961438867 + .long 1046763177 + .long 4257525114 + .long 1072693247 + .long 3278475384 + .long 1046679443 + .long 4259944014 + .long 1072693247 + .long 1536658680 + .long 1046600827 + .long 4262210544 + .long 1072693247 + .long 3319082773 + .long 1046527024 + .long 4264334043 + .long 1072693247 + .long 3864661119 + .long 1046436651 + .long 4266323294 + .long 1072693247 + .long 2380952407 + .long 1046306618 + .long 4268186557 + .long 1072693247 + .long 1526944091 + .long 1046184593 + .long 4269931598 + .long 1072693247 + .long 2121831560 + .long 1046070097 + .long 4271565719 + .long 1072693247 + .long 3741717358 + .long 1045962679 + .long 4273095783 + .long 1072693247 + .long 2372148486 + .long 1045861915 + .long 4274528242 + .long 1072693247 + .long 1301376174 + .long 1045767404 + .long 4275869159 + .long 1072693247 + .long 876419281 + .long 1045678769 + .long 4277124229 + .long 1072693247 + .long 1464367617 + .long 1045595655 + .long 4278298806 + .long 1072693247 + .long 2422592759 + .long 1045517728 + .long 4279397918 + .long 1072693247 + .long 1357171196 + .long 1045444674 + .long 4280426288 + .long 1072693247 + .long 194145400 + .long 1045322121 + .long 4281388351 + .long 1072693247 + .long 380152291 + .long 1045193761 + .long 4282288274 + .long 1072693247 + .long 1583684278 + .long 1045073472 + .long 4283129967 + .long 1072693247 + .long 2165635186 + .long 1044960761 + .long 4283917101 + .long 1072693247 + .long 1516692231 + .long 1044855164 + .long 4284653124 + .long 1072693247 + .long 1455793348 + .long 1044756244 + .long 4285341270 + .long 1072693247 + .long 3729863063 + .long 1044663590 + .long 4285984575 + .long 1072693247 + .long 3593934135 + .long 1044576817 + .long 4286585887 + .long 1072693247 + .long 926645059 + .long 1044495562 + .long 4287147879 + .long 1072693247 + .long 3092460447 + .long 1044419482 + .long 4287673059 + .long 1072693247 + .long 410724451 + .long 1044314821 + .long 4288163777 + .long 1072693247 + .long 1647694055 + .long 1044181480 + .long 4288622239 + .long 1072693247 + .long 2719124395 + .long 1044056680 + .long 4289050512 + .long 1072693247 + .long 1706837060 + .long 1043939889 + .long 4289450537 + .long 1072693247 + .long 1950214717 + .long 1043830606 + .long 4289824130 + .long 1072693247 + .long 3939307600 + .long 1043728361 + .long 4290172996 + .long 1072693247 + .long 1960757033 + .long 1043632714 + .long 4290498730 + .long 1072693247 + .long 2651595104 + .long 1043543249 + .long 4290802831 + .long 1072693247 + .long 1012882634 + .long 1043459578 + .long 4291086700 + .long 1072693247 + .long 4055189249 + .long 1043381334 + .long 4291351650 + .long 1072693247 + .long 2246068185 + .long 1043283233 + .long 4291598913 + .long 1072693247 + .long 2274647687 + .long 1043146443 + .long 4291829641 + .long 1072693247 + .long 2890637209 + .long 1043018575 + .long 4292044913 + .long 1072693247 + .long 4153511196 + .long 1042899062 + .long 4292245741 + .long 1072693247 + .long 1929129059 + .long 1042787373 + .long 4292433070 + .long 1072693247 + .long 357577118 + .long 1042683008 + .long 4292607786 + .long 1072693247 + .long 3367143719 + .long 1042585498 + .long 4292770720 + .long 1072693247 + .long 2385315144 + .long 1042494406 + .long 4292922646 + .long 1072693247 + .long 3169025495 + .long 1042409319 + .long 4293064292 + .long 1072693247 + .long 1533871520 + .long 1042329852 + .long 4293196336 + .long 1072693247 + .long 599006589 + .long 1042226741 + .long 4293319415 + .long 1072693247 + .long 1711861758 + .long 1042088158 + .long 4293434124 + .long 1072693247 + .long 3081973787 + .long 1041958776 + .long 4293541018 + .long 1072693247 + .long 1321268943 + .long 1041838000 + .long 4293640617 + .long 1072693247 + .long 3969874170 + .long 1041725270 + .long 4293733409 + .long 1072693247 + .long 2452445702 + .long 1041620065 + .long 4293819848 + .long 1072693247 + .long 1452932973 + .long 1041521894 + .long 4293900359 + .long 1072693247 + .long 1595251056 + .long 1041430298 + .long 4293975339 + .long 1072693247 + .long 4117849423 + .long 1041344847 + .long 4294045161 + .long 1072693247 + .long 3152677356 + .long 1041265140 + .long 4294110170 + .long 1072693247 + .long 4175288180 + .long 1041145631 + .long 4294170691 + .long 1072693247 + .long 597820103 + .long 1041006978 + .long 4294227027 + .long 1072693247 + .long 3535028301 + .long 1040877691 + .long 4294279462 + .long 1072693247 + .long 918940523 + .long 1040757155 + .long 4294328259 + .long 1072693247 + .long 857999498 + .long 1040644790 + .long 4294373665 + .long 1072693247 + .long 3808560570 + .long 1040540055 + .long 4294415910 + .long 1072693247 + .long 1160780690 + .long 1040442446 + .long 4294455211 + .long 1072693247 + .long 201215039 + .long 1040351488 + .long 4294491767 + .long 1072693247 + .long 2402111668 + .long 1040266738 + .long 4294525766 + .long 1072693247 + .long 3723319669 + .long 1040187783 + .long 4294557384 + .long 1072693247 + .long 3725520897 + .long 1040041081 + .long 4294586783 + .long 1072693247 + .long 3671313057 + .long 1039904079 + .long 4294614115 + .long 1072693247 + .long 1053981368 + .long 1039776493 + .long 4294639524 + .long 1072693247 + .long 3460466107 + .long 1039657689 + .long 4294663141 + .long 1072693247 + .long 3035482254 + .long 1039547078 + .long 4294685090 + .long 1072693247 + .long 3802544396 + .long 1039444107 + .long 4294705486 + .long 1072693247 + .long 2441474464 + .long 1039348261 + .long 4294724438 + .long 1072693247 + .long 4084805700 + .long 1039259057 + .long 4294742044 + .long 1072693247 + .long 79094155 + .long 1039176047 + .long 4294758399 + .long 1072693247 + .long 31353126 + .long 1039058801 + .long 4294773590 + .long 1072693247 + .long 4063319008 + .long 1038915083 + .long 4294787697 + .long 1072693247 + .long 264658679 + .long 1038781394 + .long 4294800797 + .long 1072693247 + .long 1173126429 + .long 1038657047 + .long 4294812960 + .long 1072693247 + .long 242573921 + .long 1038541405 + .long 4294824252 + .long 1072693247 + .long 2098620107 + .long 1038433871 + .long 4294834733 + .long 1072693247 + .long 2055068430 + .long 1038333890 + .long 4294844461 + .long 1072693247 + .long 741519124 + .long 1038240943 + .long 4294853489 + .long 1072693247 + .long 2256555279 + .long 1038154545 + .long 4294861866 + .long 1072693247 + .long 196354007 + .long 1038058252 + .long 4294869638 + .long 1072693247 + .long 445761606 + .long 1037909007 + .long 4294876848 + .long 1072693247 + .long 3476364679 + .long 1037770330 + .long 4294883536 + .long 1072693247 + .long 3529100902 + .long 1037641490 + .long 4294889738 + .long 1072693247 + .long 1621116022 + .long 1037521804 + .long 4294895490 + .long 1072693247 + .long 78936185 + .long 1037410635 + .long 4294900823 + .long 1072693247 + .long 2269474636 + .long 1037307389 + .long 4294905767 + .long 1072693247 + .long 292731349 + .long 1037211515 + .long 4294910351 + .long 1072693247 + .long 2122912913 + .long 1037122496 + .long 4294914599 + .long 1072693247 + .long 3023046673 + .long 1037038043 + .long 4294918536 + .long 1072693247 + .long 254831576 + .long 1036884616 + .long 4294922185 + .long 1072693247 + .long 571168224 + .long 1036742213 + .long 4294925565 + .long 1072693247 + .long 871548122 + .long 1036610059 + .long 4294928697 + .long 1072693247 + .long 3924370604 + .long 1036487431 + .long 4294931598 + .long 1072693247 + .long 2976320978 + .long 1036373658 + .long 4294934285 + .long 1072693247 + .long 1728080816 + .long 1036268113 + .long 4294936773 + .long 1072693247 + .long 892927807 + .long 1036170213 + .long 4294939078 + .long 1072693247 + .long 2817804388 + .long 1036079415 + .long 4294941211 + .long 1072693247 + .long 4045759389 + .long 1035995215 + .long 4294943186 + .long 1072693247 + .long 3073449671 + .long 1035841200 + .long 4294945014 + .long 1072693247 + .long 3519286355 + .long 1035696439 + .long 4294946706 + .long 1072693247 + .long 794405638 + .long 1035562248 + .long 4294948272 + .long 1072693247 + .long 2678131373 + .long 1035437869 + .long 4294949720 + .long 1072693247 + .long 3816540112 + .long 1035322600 + .long 4294951061 + .long 1072693247 + .long 234134080 + .long 1035215788 + .long 4294952301 + .long 1072693247 + .long 587911812 + .long 1035116823 + .long 4294953448 + .long 1072693247 + .long 4031748504 + .long 1035025140 + .long 4294954509 + .long 1072693247 + .long 925164896 + .long 1034935920 + .long 4294955489 + .long 1072693247 + .long 3358488129 + .long 1034778608 + .long 4294956396 + .long 1072693247 + .long 638703581 + .long 1034632928 + .long 4294957235 + .long 1072693247 + .long 807654845 + .long 1034498035 + .long 4294958010 + .long 1072693247 + .long 2657744191 + .long 1034373146 + .long 4294958726 + .long 1072693247 + .long 3663858009 + .long 1034257534 + .long 4294959389 + .long 1072693247 + .long 533492925 + .long 1034150524 + .long 4294960000 + .long 1072693247 + .long 3770229724 + .long 1034051486 + .long 4294960566 + .long 1072693247 + .long 1751462400 + .long 1033959840 + .long 4294961088 + .long 1072693247 + .long 1904247472 + .long 1033854151 + .long 4294961570 + .long 1072693247 + .long 1030368421 + .long 1033697253 + .long 4294962016 + .long 1072693247 + .long 4079129458 + .long 1033552117 + .long 4294962427 + .long 1072693247 + .long 1682458602 + .long 1033417880 + .long 4294962807 + .long 1072693247 + .long 3167377884 + .long 1033293737 + .long 4294963158 + .long 1072693247 + .long 491770573 + .long 1033178945 + .long 4294963482 + .long 1072693247 + .long 2200416094 + .long 1033072811 + .long 4294963781 + .long 1072693247 + .long 4169952110 + .long 1032974695 + .long 4294964057 + .long 1072693247 + .long 140330391 + .long 1032884004 + .long 4294964311 + .long 1072693247 + .long 3783382554 + .long 1032753008 + .long 4294964546 + .long 1072693247 + .long 551761884 + .long 1032598092 + .long 4294964763 + .long 1072693247 + .long 359970126 + .long 1032454950 + .long 4294964963 + .long 1072693247 + .long 1021270101 + .long 1032322704 + .long 4294965147 + .long 1072693247 + .long 1490695248 + .long 1032200540 + .long 4294965317 + .long 1072693247 + .long 3568738246 + .long 1032087703 + .long 4294965474 + .long 1072693247 + .long 2104695675 + .long 1031983495 + .long 4294965619 + .long 1072693247 + .long 2259752215 + .long 1031887267 + .long 4294965752 + .long 1072693247 + .long 2928907214 + .long 1031798055 + .long 4294965875 + .long 1072693247 + .long 825285899 + .long 1031634009 + .long 4294965988 + .long 1072693247 + .long 130522063 + .long 1031482582 + .long 4294966092 + .long 1072693247 + .long 3544208977 + .long 1031342820 + .long 4294966189 + .long 1072693247 + .long 3709295074 + .long 1031213842 + .long 4294966277 + .long 1072693247 + .long 4124611741 + .long 1031094830 + .long 4294966359 + .long 1072693247 + .long 2968308055 + .long 1030985028 + .long 4294966434 + .long 1072693247 + .long 4148065245 + .long 1030883735 + .long 4294966503 + .long 1072693247 + .long 3937194615 + .long 1030790304 + .long 4294966567 + .long 1072693247 + .long 693670124 + .long 1030658064 + .long 4294966626 + .long 1072693247 + .long 3047836189 + .long 1030499141 + .long 4294966680 + .long 1072693247 + .long 1761244566 + .long 1030352608 + .long 4294966730 + .long 1072693247 + .long 966529192 + .long 1030217515 + .long 4294966776 + .long 1072693247 + .long 2050080133 + .long 1030092984 + .long 4294966818 + .long 1072693247 + .long 2531893977 + .long 1029978204 + .long 4294966857 + .long 1072693247 + .long 871320764 + .long 1029872425 + .long 4294966892 + .long 1072693247 + .long 2788659082 + .long 1029774952 + .long 4294966925 + .long 1072693247 + .long 2156308587 + .long 1029668659 + .long 4294966955 + .long 1072693247 + .long 3654157322 + .long 1029503191 + .long 4294966983 + .long 1072693247 + .long 622519429 + .long 1029350775 + .long 4294967009 + .long 1072693247 + .long 1939798879 + .long 1029210397 + .long 4294967032 + .long 1072693247 + .long 3844698302 + .long 1029081123 + .long 4294967054 + .long 1072693247 + .long 3868101452 + .long 1028962090 + .long 4294967074 + .long 1072693247 + .long 3689445052 + .long 1028852500 + .long 4294967092 + .long 1072693247 + .long 788030992 + .long 1028751617 + .long 4294967109 + .long 1072693247 + .long 3128526661 + .long 1028658759 + .long 4294967124 + .long 1072693247 + .long 393221749 + .long 1028493545 + .long 4294967138 + .long 1072693247 + .long 3899460746 + .long 1028336263 + .long 4294967151 + .long 1072693247 + .long 3409408659 + .long 1028191549 + .long 4294967163 + .long 1072693247 + .long 622192947 + .long 1028058415 + .long 4294967174 + .long 1072693247 + .long 2664726297 + .long 1027935948 + .long 4294967184 + .long 1072693247 + .long 1558673822 + .long 1027823309 + .long 4294967194 + .long 1072693247 + .long 2777131896 + .long 1027719721 + .long 4294967202 + .long 1072693247 + .long 3972527094 + .long 1027624469 + .long 4294967210 + .long 1072693247 + .long 2120900631 + .long 1027469308 + .long 4294967217 + .long 1072693247 + .long 137556752 + .long 1027308292 + .long 4294967224 + .long 1072693247 + .long 569601398 + .long 1027160288 + .long 4294967230 + .long 1072693247 + .long 280212019 + .long 1027024262 + .long 4294967235 + .long 1072693247 + .long 4236421385 + .long 1026899259 + .long 4294967240 + .long 1072693247 + .long 3132998397 + .long 1026784402 + .long 4294967245 + .long 1072693247 + .long 269619050 + .long 1026678880 + .long 4294967249 + .long 1072693247 + .long 1633775828 + .long 1026581945 + .long 4294967253 + .long 1072693247 + .long 2528343355 + .long 1026429917 + .long 4294967257 + .long 1072693247 + .long 843477906 + .long 1026266381 + .long 4294967260 + .long 1072693247 + .long 640833957 + .long 1026116210 + .long 4294967263 + .long 1072693247 + .long 1040411868 + .long 1025978329 + .long 4294967266 + .long 1072693247 + .long 1466509739 + .long 1025851748 + .long 4294967268 + .long 1072693247 + .long 3307339414 + .long 1025735555 + .long 4294967271 + .long 1072693247 + .long 857222806 + .long 1025628912 + .long 4294967273 + .long 1072693247 + .long 33935978 + .long 1025531045 + .long 4294967275 + .long 1072693247 + .long 592853498 + .long 1025375158 + .long 4294967277 + .long 1072693247 + .long 3801380895 + .long 1025210375 + .long 4294967278 + .long 1072693247 + .long 3715147572 + .long 1025059210 + .long 4294967280 + .long 1072693247 + .long 4190633910 + .long 1024920554 + .long 4294967281 + .long 1072693247 + .long 3597701666 + .long 1024793388 + .long 4294967283 + .long 1072693247 + .long 3481239551 + .long 1024676774 + .long 4294967284 + .long 1072693247 + .long 2361296039 + .long 1024569850 + .long 4294967285 + .long 1072693247 + .long 265722145 + .long 1024471823 + .long 4294967286 + .long 1072693247 + .long 1895395227 + .long 1024305174 + .long 4294967287 + .long 1072693247 + .long 1800210858 + .long 1024140449 + .long 4294967287 + .long 1072693247 + .long 3069172694 + .long 1023989486 + .long 4294967288 + .long 1072693247 + .long 2893236102 + .long 1023851153 + .long 4294967289 + .long 1072693247 + .long 1719077557 + .long 1023724409 + .long 4294967289 + .long 1072693247 + .long 1914505601 + .long 1023608297 + .long 4294967290 + .long 1072693247 + .long 301987594 + .long 1023501939 + .long 4294967291 + .long 1072693247 + .long 282470485 + .long 1023398878 + .long 4294967291 + .long 1072693247 + .long 3168046348 + .long 1023220463 + .long 4294967291 + .long 1072693247 + .long 1009101993 + .long 1023057097 + .long 4294967292 + .long 1072693247 + .long 3997083445 + .long 1022907527 + .long 4294967292 + .long 1072693247 + .long 2336955916 + .long 1022770607 + .long 4294967293 + .long 1072693247 + .long 3868880033 + .long 1022645281 + .long 4294967293 + .long 1072693247 + .long 1476581786 + .long 1022530583 + .long 4294967293 + .long 1072693247 + .long 3208709775 + .long 1022425623 + .long 4294967293 + .long 1072693247 + .long 716057529 + .long 1022297576 + .long 4294967294 + .long 1072693247 + .long 28479576 + .long 1022121857 + .long 4294967294 + .long 1072693247 + .long 3319607164 + .long 1021961117 + .long 4294967294 + .long 1072693247 + .long 2804464626 + .long 1021814099 + .long 4294967294 + .long 1072693247 + .long 148574980 + .long 1021679648 + .long 4294967294 + .long 1072693247 + .long 69395739 + .long 1021556704 + .long 4294967294 + .long 1072693247 + .long 2564419134 + .long 1021444296 + .long 4294967295 + .long 1072693247 + .long 2125879894 + .long 1021341535 + .long 4294967295 + .long 1072693247 + .long 344595749 + .long 1021182185 + .long 4294967295 + .long 1072693247 + .long 872566418 + .long 1021010487 + .long 4294967295 + .long 1072693247 + .long 25762808 + .long 1020853582 + .long 4294967295 + .long 1072693247 + .long 3343322505 + .long 1020710212 + .long 4294967295 + .long 1072693247 + .long 68521175 + .long 1020579228 + .long 4294967295 + .long 1072693247 + .long 3210511172 + .long 1020459572 + .long 4294967295 + .long 1072693247 + .long 2432640097 + .long 1020350280 + .long 4294967295 + .long 1072693247 + .long 2650426869 + .long 1020236484 + .long 4294967295 + .long 1072693247 + .long 2803544287 + .long 1020054190 + .long 4294967295 + .long 1072693247 + .long 2667581847 + .long 1019887746 + .long 0 + .long 1072693248 + .long 995748204 + .long 1019735793 + .long 0 + .long 1072693248 + .long 438643701 + .long 1019597086 + .long 0 + .long 1072693248 + .long 809181847 + .long 1019470486 + .long 0 + .long 1072693248 + .long 10437582 + .long 1019354951 + .long 0 + .long 1072693248 + .long 2354988354 + .long 1019249526 + .long 0 + .long 1072693248 + .long 3627099743 + .long 1019090807 + .long 0 + .long 1072693248 + .long 184652213 + .long 1018915313 + .long 0 + .long 1072693248 + .long 2690341715 + .long 1018755235 + .long 0 + .long 1072693248 + .long 1010878695 + .long 1018609239 + .long 0 + .long 1072693248 + .long 3130597339 + .long 1018476101 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1075312640 + .long 0 + .long 1075312640 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1119879168 + .long 0 + .long 1119879168 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 804257792 + .long 0 + .long 804257792 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3220176896 + .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 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 0 + .long 4294967295 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_derf_data_internal,@object + .size __svml_derf_data_internal,14976 + .align 32 + +_imldErfHATab: + .long 1346542445 + .long 1072827863 + .long 1342177280 + .long 1072827863 + .long 1147899556 + .long 1041278683 + .long 0 + .long 1282408448 + .long 0 + .long 862978048 + .long 33554432 + .long 1101004800 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .long 0 + .long 256 + .long 1222277045 + .long 929276 + .type _imldErfHATab,@object + .size _imldErfHATab,96 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core-sse.S new file mode 100644 index 0000000000..704785738f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized erf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_erf _ZGVdN4v_erf_sse_wrapper +#include "../svml_d_erf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core.c new file mode 100644 index 0000000000..0647917209 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized erf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_erf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_erf, __GI__ZGVdN4v_erf, __redirect__ZGVdN4v_erf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core_avx2.S new file mode 100644 index 0000000000..2422ffe3fe --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core_avx2.S @@ -0,0 +1,5107 @@ +/* Function erf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Basic formula is + * erf(x) ~ erf(x0) + + * + exp(-x0*x0)*D*(1+c0+T*P1(T)+D^2*P3(T)+D^4*P5(T)+D^6*p7+D^8*p9) + * where D=x-x0, T=x0*D + * x0 is x rounded to a specified number of fractional bits (in this case 7), + * except that x0=0 for |x|<3.5/128.0 (using x0=0 for first 4 table entries) + * + * Data table packs both erf(x0)_high and a few bits of erf(x0)_low in one + * entry (in place of redundant exponent bits) + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_erf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + +/* + * vector gather: erf(x0), + * second value is exp(-x0*x0) + */ + lea __svml_derf_data_internal(%rip), %rax + vmovupd 12416+__svml_derf_data_internal(%rip), %ymm1 + vmovups %ymm14, -32(%rsp) + vmovups %ymm15, -64(%rsp) + vandpd 12288+__svml_derf_data_internal(%rip), %ymm0, %ymm4 + +/* + * erf(x) rounds to 1.0 for x>_MaxThreshold (5.9921875) + * can compute all results in the main path + */ + vminpd 12352+__svml_derf_data_internal(%rip), %ymm4, %ymm5 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vaddpd %ymm1, %ymm5, %ymm14 + vcmpgt_oqpd 12480+__svml_derf_data_internal(%rip), %ymm5, %ymm6 + vsubpd %ymm1, %ymm14, %ymm3 + +/* save sign */ + vxorpd %ymm0, %ymm4, %ymm2 + vpsllq $4, %ymm14, %ymm0 + vsubpd %ymm3, %ymm5, %ymm7 + vandps 13440+__svml_derf_data_internal(%rip), %ymm0, %ymm5 + vmulpd %ymm7, %ymm3, %ymm1 + vandpd %ymm6, %ymm7, %ymm6 + +/* NaN fixup */ + vminpd %ymm4, %ymm7, %ymm7 + +/* T^2 */ + vmulpd %ymm1, %ymm1, %ymm4 + vextractf128 $1, %ymm5, %xmm3 + vmovd %xmm5, %edx + vmovd %xmm3, %r8d + movslq %edx, %rdx + vpextrd $2, %xmm5, %ecx + movslq %r8d, %r8 + vpextrd $2, %xmm3, %r9d + movslq %ecx, %rcx + movslq %r9d, %r9 + vmovupd (%rax,%rdx), %xmm14 + vmovupd (%rax,%r8), %xmm15 + vmovhpd (%rax,%rcx), %xmm14, %xmm0 + vunpckhpd (%rax,%rcx), %xmm14, %xmm14 + vmovhpd (%rax,%r9), %xmm15, %xmm5 + vunpckhpd (%rax,%r9), %xmm15, %xmm15 + vinsertf128 $1, %xmm5, %ymm0, %ymm3 + vinsertf128 $1, %xmm15, %ymm14, %ymm0 + +/* D2 = Diff^2 */ + vmulpd %ymm6, %ymm6, %ymm14 + +/* + * _LA_ polynomial computation + * Start polynomial evaluation + */ + vmovupd 12672+__svml_derf_data_internal(%rip), %ymm6 + vmovupd 12928+__svml_derf_data_internal(%rip), %ymm15 + vfmadd213pd 12736+__svml_derf_data_internal(%rip), %ymm1, %ymm6 + vfmadd213pd 12992+__svml_derf_data_internal(%rip), %ymm1, %ymm15 + vfmadd213pd 13056+__svml_derf_data_internal(%rip), %ymm1, %ymm6 + vfmadd213pd 13248+__svml_derf_data_internal(%rip), %ymm14, %ymm15 + vfmadd213pd 13184+__svml_derf_data_internal(%rip), %ymm1, %ymm6 + +/* Sign | Diff */ + vxorpd %ymm2, %ymm7, %ymm5 + vmovupd 12800+__svml_derf_data_internal(%rip), %ymm7 + +/* P1 = T^2*P1 - T */ + vfmsub213pd %ymm1, %ymm4, %ymm6 + vfmadd213pd 12864+__svml_derf_data_internal(%rip), %ymm1, %ymm7 + vfmadd213pd 13120+__svml_derf_data_internal(%rip), %ymm1, %ymm7 + vfmadd213pd %ymm15, %ymm1, %ymm7 + +/* exp_h(x0) * Diff */ + vmulpd %ymm5, %ymm0, %ymm1 + vmovups -64(%rsp), %ymm15 + cfi_restore(98) + +/* P1 + P3*D2 */ + vfmadd213pd %ymm6, %ymm14, %ymm7 + vmovups -32(%rsp), %ymm14 + cfi_restore(97) + +/* + * branch-free + * low part of result: exp_h(x0) * Diff*(1+P1) + */ + vfmadd213pd %ymm1, %ymm1, %ymm7 + +/* Sign | _Erf_H */ + vxorpd %ymm2, %ymm3, %ymm3 + +/* Final result */ + vaddpd %ymm7, %ymm3, %ymm4 + +/* Fix erf(-0) = -0 */ + vorpd %ymm2, %ymm4, %ymm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + +END(_ZGVdN4v_erf_avx2) + + .align 16,0x90 + +__svml_derf_cout_rare_internal: + + cfi_startproc + + movq %rdi, %r8 + lea 64+_imldErfHATab(%rip), %rdx + movb 7(%r8), %cl + movb %cl, %al + andb $-128, %al + shrb $7, %al + movzbl %al, %edi + movzwl 6(%r8), %eax + andl $32752, %eax + shrl $4, %eax + movq (%rdx,%rdi,8), %rdx + cmpl $2047, %eax + je .LBL_2_13 + cmpl $2046, %eax + jne .LBL_2_4 + +.LBL_2_3: + movq %rdx, (%rsi) + jmp .LBL_2_11 + +.LBL_2_4: + movsd (%r8), %xmm6 + andb $127, %cl + movsd %xmm6, -8(%rsp) + movb %cl, -1(%rsp) + movsd -8(%rsp), %xmm0 + ucomisd 48+_imldErfHATab(%rip), %xmm0 + jp .LBL_2_5 + je .LBL_2_12 + +.LBL_2_5: + testl %eax, %eax + jne .LBL_2_7 + comisd 88+_imldErfHATab(%rip), %xmm0 + jb .LBL_2_8 + +.LBL_2_7: + movsd 24+_imldErfHATab(%rip), %xmm0 + mulsd %xmm0, %xmm6 + movsd 40+_imldErfHATab(%rip), %xmm1 + mulsd %xmm6, %xmm1 + movsd %xmm1, -24(%rsp) + movsd -24(%rsp), %xmm2 + movsd 8+_imldErfHATab(%rip), %xmm12 + subsd %xmm6, %xmm2 + movsd %xmm2, -16(%rsp) + movsd -24(%rsp), %xmm4 + movsd -16(%rsp), %xmm3 + movsd 8+_imldErfHATab(%rip), %xmm9 + subsd %xmm3, %xmm4 + movsd %xmm4, -24(%rsp) + movsd -24(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -16(%rsp) + movsd 16+_imldErfHATab(%rip), %xmm6 + movsd -24(%rsp), %xmm7 + movaps %xmm6, %xmm10 + movsd -16(%rsp), %xmm8 + mulsd %xmm7, %xmm12 + mulsd %xmm8, %xmm10 + mulsd %xmm6, %xmm7 + mulsd %xmm8, %xmm9 + addsd %xmm7, %xmm10 + addsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -24(%rsp), %xmm11 + addsd %xmm11, %xmm12 + mulsd 32+_imldErfHATab(%rip), %xmm12 + movsd %xmm12, (%rsi) + jmp .LBL_2_11 + +.LBL_2_8: + comisd 80+_imldErfHATab(%rip), %xmm0 + jb .LBL_2_10 + movsd 24+_imldErfHATab(%rip), %xmm0 + mulsd %xmm0, %xmm6 + movsd 40+_imldErfHATab(%rip), %xmm1 + mulsd %xmm6, %xmm1 + movsd %xmm1, -24(%rsp) + movsd -24(%rsp), %xmm2 + movsd 8+_imldErfHATab(%rip), %xmm0 + subsd %xmm6, %xmm2 + movsd %xmm2, -16(%rsp) + movsd -24(%rsp), %xmm4 + movsd -16(%rsp), %xmm3 + movsd 8+_imldErfHATab(%rip), %xmm9 + subsd %xmm3, %xmm4 + movsd %xmm4, -24(%rsp) + movsd -24(%rsp), %xmm5 + movsd 40+_imldErfHATab(%rip), %xmm11 + subsd %xmm5, %xmm6 + movsd %xmm6, -16(%rsp) + movsd 16+_imldErfHATab(%rip), %xmm6 + movsd -24(%rsp), %xmm7 + movaps %xmm6, %xmm10 + movsd -16(%rsp), %xmm8 + mulsd %xmm7, %xmm0 + mulsd %xmm8, %xmm10 + mulsd %xmm6, %xmm7 + mulsd %xmm8, %xmm9 + mulsd %xmm0, %xmm11 + addsd %xmm7, %xmm10 + addsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -24(%rsp), %xmm1 + movsd %xmm11, -24(%rsp) + movsd -24(%rsp), %xmm12 + subsd %xmm0, %xmm12 + movsd %xmm12, -16(%rsp) + movsd -24(%rsp), %xmm14 + movsd -16(%rsp), %xmm13 + subsd %xmm13, %xmm14 + movsd %xmm14, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm0 + movsd %xmm0, -16(%rsp) + movsd -24(%rsp), %xmm12 + movsd -16(%rsp), %xmm11 + mulsd 32+_imldErfHATab(%rip), %xmm12 + addsd %xmm11, %xmm1 + mulsd 32+_imldErfHATab(%rip), %xmm1 + movsd %xmm12, -24(%rsp) + movsd %xmm1, -16(%rsp) + movsd -24(%rsp), %xmm3 + movsd -16(%rsp), %xmm2 + addsd %xmm2, %xmm3 + movsd %xmm3, (%rsi) + jmp .LBL_2_11 + +.LBL_2_10: + movsd _imldErfHATab(%rip), %xmm0 + mulsd %xmm0, %xmm6 + movsd %xmm6, (%rsi) + +.LBL_2_11: + xorl %eax, %eax + ret + +.LBL_2_12: + lea 48+_imldErfHATab(%rip), %rax + movq (%rax,%rdi,8), %rdx + movq %rdx, (%rsi) + jmp .LBL_2_11 + +.LBL_2_13: + testl $1048575, 4(%r8) + jne .LBL_2_16 + cmpl $0, (%r8) + je .LBL_2_3 + +.LBL_2_16: + movsd (%r8), %xmm0 + addsd %xmm0, %xmm0 + movsd %xmm0, (%rsi) + jmp .LBL_2_11 + + cfi_endproc + + .type __svml_derf_cout_rare_internal,@function + .size __svml_derf_cout_rare_internal,.-__svml_derf_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_derf_data_internal: + .long 0 + .long 0 + .long 1346542445 + .long 1072827863 + .long 1038816064 + .long 1065487807 + .long 427149405 + .long 1072827791 + .long 138352544 + .long 1066536311 + .long 2077512391 + .long 1072827574 + .long 217416924 + .long 1067127678 + .long 2343319233 + .long 1072827213 + .long 1172120888 + .long 1067584598 + .long 1792097487 + .long 1072826708 + .long 1002214694 + .long 1067880029 + .long 1217900872 + .long 1072826059 + .long 4011022149 + .long 1068175279 + .long 1640824915 + .long 1072825266 + .long 2008889377 + .long 1068470314 + .long 11417604 + .long 1072824330 + .long 2162755160 + .long 1068632020 + .long 2094822099 + .long 1072823250 + .long 3900605843 + .long 1068779267 + .long 995044552 + .long 1072822028 + .long 2716351325 + .long 1068926353 + .long 2923726463 + .long 1072820663 + .long 3951725859 + .long 1069073259 + .long 1429174619 + .long 1072819157 + .long 344622906 + .long 1069219969 + .long 3164864724 + .long 1072817509 + .long 2121311411 + .long 1069366463 + .long 2118204713 + .long 1072815721 + .long 2663955280 + .long 1069512725 + .long 1083806794 + .long 1072813793 + .long 6252005 + .long 1069603129 + .long 3071858204 + .long 1072811725 + .long 2740730761 + .long 1069676001 + .long 2716363190 + .long 1072809519 + .long 368405780 + .long 1069748732 + .long 3453061548 + .long 1072807175 + .long 3270920537 + .long 1069821311 + .long 337483221 + .long 1072804695 + .long 589420486 + .long 1069893732 + .long 1517584741 + .long 1072802078 + .long 3187124383 + .long 1069965984 + .long 2461623467 + .long 1072799326 + .long 712400798 + .long 1070038061 + .long 3135584772 + .long 1072796440 + .long 266066941 + .long 1070109953 + .long 3705654820 + .long 1072793421 + .long 644014413 + .long 1070181652 + .long 240577552 + .long 1072790271 + .long 939402534 + .long 1070253150 + .long 1888734604 + .long 1072786989 + .long 554739272 + .long 1070324439 + .long 810473775 + .long 1072783578 + .long 3508744759 + .long 1070395510 + .long 2239870849 + .long 1072780038 + .long 1268186934 + .long 1070466357 + .long 3006777612 + .long 1072776371 + .long 2824159458 + .long 1070536970 + .long 123537259 + .long 1072772579 + .long 2319306557 + .long 1070601719 + .long 3666566110 + .long 1072768661 + .long 1770174792 + .long 1070636781 + .long 2413196824 + .long 1072764621 + .long 515431986 + .long 1070671715 + .long 2492870238 + .long 1072760459 + .long 3794982409 + .long 1070706516 + .long 1613725249 + .long 1072756177 + .long 4163230114 + .long 1070741182 + .long 1943804817 + .long 1072751776 + .long 2969010815 + .long 1070775709 + .long 1517338984 + .long 1072747258 + .long 1770633177 + .long 1070810093 + .long 2820813657 + .long 1072742624 + .long 2340732634 + .long 1070844330 + .long 4199089955 + .long 1072737876 + .long 2376033378 + .long 1070878417 + .long 4146348395 + .long 1072733016 + .long 4091885358 + .long 1070912350 + .long 1301992007 + .long 1072728046 + .long 1341835662 + .long 1070946127 + .long 3036413564 + .long 1072722966 + .long 1096806975 + .long 1070979743 + .long 3971924632 + .long 1072717779 + .long 1974469745 + .long 1071013195 + .long 3158326576 + .long 1072712487 + .long 2833250162 + .long 1071046480 + .long 4068552111 + .long 1072707091 + .long 2776266431 + .long 1071079595 + .long 1709348165 + .long 1072701594 + .long 1155126244 + .long 1071112537 + .long 4091643817 + .long 1072695996 + .long 1868551104 + .long 1071145302 + .long 27554567 + .long 1072687355 + .long 480989547 + .long 1071177888 + .long 4013208754 + .long 1072675771 + .long 1405858118 + .long 1071210291 + .long 2463469560 + .long 1072664000 + .long 728899385 + .long 1071242509 + .long 3673248531 + .long 1072652044 + .long 3391132564 + .long 1071274538 + .long 3245080601 + .long 1072639908 + .long 1716951687 + .long 1071306377 + .long 1259566555 + .long 1072627596 + .long 1186716264 + .long 1071338022 + .long 2265889960 + .long 1072615111 + .long 3259520440 + .long 1071369470 + .long 2387383118 + .long 1072602458 + .long 1080714748 + .long 1071400720 + .long 2196854969 + .long 1072589641 + .long 959081773 + .long 1071431768 + .long 2412015218 + .long 1072576664 + .long 894188496 + .long 1071462612 + .long 3885838402 + .long 1072563531 + .long 3463326280 + .long 1071493249 + .long 3301940522 + .long 1072550247 + .long 2938496088 + .long 1071523678 + .long 1754844591 + .long 1072536816 + .long 2468013648 + .long 1071553896 + .long 445338472 + .long 1072523242 + .long 1193192369 + .long 1071583901 + .long 670801289 + .long 1072509529 + .long 2839711645 + .long 1071613690 + .long 3815538169 + .long 1072495681 + .long 2833997776 + .long 1071643262 + .long 2751195712 + .long 1072481704 + .long 2742112668 + .long 1071658643 + .long 3301970792 + .long 1072467601 + .long 1253231335 + .long 1071673209 + .long 2760175517 + .long 1072453377 + .long 1545137618 + .long 1071687663 + .long 2761576465 + .long 1072439036 + .long 4064802502 + .long 1071702004 + .long 685940062 + .long 1072424583 + .long 816685333 + .long 1071716233 + .long 2532463670 + .long 1072410021 + .long 1132731221 + .long 1071730347 + .long 1435524088 + .long 1072395356 + .long 1607720272 + .long 1071744346 + .long 3425128494 + .long 1072380591 + .long 3279184281 + .long 1071758229 + .long 1647826366 + .long 1072365732 + .long 3037447390 + .long 1071771996 + .long 2127303697 + .long 1072350782 + .long 2215464304 + .long 1071785646 + .long 2280417801 + .long 1072335746 + .long 2293685631 + .long 1071799178 + .long 3793057312 + .long 1072320628 + .long 604852941 + .long 1071812592 + .long 4021258398 + .long 1072305433 + .long 3218593473 + .long 1071825886 + .long 277321282 + .long 1072290166 + .long 3466207732 + .long 1071839061 + .long 2705965375 + .long 1072274829 + .long 3415062139 + .long 1071852116 + .long 4210920931 + .long 1072259428 + .long 983176269 + .long 1071865051 + .long 1921243050 + .long 1072243968 + .long 2823547761 + .long 1071877864 + .long 1477876472 + .long 1072228452 + .long 2848673694 + .long 1071890556 + .long 4140476189 + .long 1072212884 + .long 3704680757 + .long 1071903126 + .long 2484292510 + .long 1072197270 + .long 3885653926 + .long 1071915574 + .long 1866994493 + .long 1072181613 + .long 2027772262 + .long 1071927900 + .long 3240926857 + .long 1072165917 + .long 1203383746 + .long 1071940103 + .long 3145379609 + .long 1072150187 + .long 330118419 + .long 1071952183 + .long 2288940035 + .long 1072134427 + .long 2759812044 + .long 1071964139 + .long 1247094627 + .long 1072118641 + .long 3392535852 + .long 1071975972 + .long 454954036 + .long 1072102833 + .long 1560373839 + .long 1071987682 + .long 200137461 + .long 1072087007 + .long 1026243227 + .long 1071999268 + .long 615820036 + .long 1072071167 + .long 1392726659 + .long 1072010730 + .long 1673946580 + .long 1072055317 + .long 2395753923 + .long 1072022068 + .long 3178614907 + .long 1072039461 + .long 3903265363 + .long 1072033282 + .long 464664423 + .long 1072023604 + .long 1618858333 + .long 1072044373 + .long 1571276620 + .long 1072007748 + .long 4260221847 + .long 1072055339 + .long 1466080688 + .long 1071991898 + .long 3492884098 + .long 1072066182 + .long 3514079945 + .long 1071976057 + .long 3993456657 + .long 1072076901 + .long 2292055455 + .long 1071960230 + .long 1973227103 + .long 1072087497 + .long 762892997 + .long 1071944420 + .long 2356414747 + .long 1072097969 + .long 1680293156 + .long 1071928630 + .long 1598646874 + .long 1072108318 + .long 3288637392 + .long 1071912864 + .long 570166456 + .long 1072118544 + .long 3612978933 + .long 1071897126 + .long 259132527 + .long 1072128647 + .long 454258010 + .long 1071881420 + .long 1769851247 + .long 1072138627 + .long 4269611837 + .long 1071865747 + .long 2026004535 + .long 1072148485 + .long 3808238226 + .long 1071850113 + .long 2358747003 + .long 1072158221 + .long 466930684 + .long 1071834521 + .long 4209868920 + .long 1072167835 + .long 3991103291 + .long 1071818972 + .long 539961339 + .long 1072177329 + .long 2406207743 + .long 1071803472 + .long 1596290573 + .long 1072186701 + .long 668823419 + .long 1071788023 + .long 551103050 + .long 1072195953 + .long 3483369050 + .long 1071772627 + .long 3564413664 + .long 1072205084 + .long 2413978135 + .long 1071757289 + .long 4012194871 + .long 1072214096 + .long 1651276306 + .long 1071742011 + .long 3959183150 + .long 1072222989 + .long 829681671 + .long 1071726796 + .long 1271925764 + .long 1072231764 + .long 3614704403 + .long 1071711646 + .long 2501611462 + .long 1072240420 + .long 520637331 + .long 1071696566 + .long 1407144504 + .long 1072248959 + .long 3268048090 + .long 1071681556 + .long 427874865 + .long 1072257381 + .long 1832052951 + .long 1071666621 + .long 2091542065 + .long 1072265686 + .long 3095161192 + .long 1071651762 + .long 422205205 + .long 1072273876 + .long 1561666736 + .long 1071629294 + .long 2412931770 + .long 1072281950 + .long 2443607338 + .long 1071599898 + .long 2253835330 + .long 1072289910 + .long 3767899416 + .long 1071570670 + .long 2804744118 + .long 1072297756 + .long 4205206053 + .long 1071541615 + .long 2708123311 + .long 1072305489 + .long 1868283784 + .long 1071512738 + .long 681859986 + .long 1072313110 + .long 2900434531 + .long 1071484042 + .long 4107010292 + .long 1072320618 + .long 4294514068 + .long 1071455532 + .long 3255804563 + .long 1072328016 + .long 2482100151 + .long 1071427213 + .long 1354224973 + .long 1072335304 + .long 1923011912 + .long 1071399088 + .long 1694909286 + .long 1072342482 + .long 2220339163 + .long 1071371161 + .long 3339989603 + .long 1072349551 + .long 2415682179 + .long 1071343436 + .long 1118900120 + .long 1072356513 + .long 989760182 + .long 1071315917 + .long 2806057099 + .long 1072363367 + .long 158317606 + .long 1071288607 + .long 3348870180 + .long 1072370115 + .long 1578420540 + .long 1071261509 + .long 2045432220 + .long 1072376758 + .long 2055072070 + .long 1071234627 + .long 2542346734 + .long 1072383296 + .long 2133042299 + .long 1071207964 + .long 4242628757 + .long 1072389730 + .long 1804103059 + .long 1071181523 + .long 2303549486 + .long 1072396062 + .long 509530065 + .long 1071155307 + .long 519393155 + .long 1072402292 + .long 1437865959 + .long 1071129318 + .long 2729388920 + .long 1072408420 + .long 2938068361 + .long 1071103559 + .long 4225655329 + .long 1072414448 + .long 2817839853 + .long 1071078033 + .long 341027652 + .long 1072420378 + .long 2642231032 + .long 1071052742 + .long 3626834524 + .long 1072426208 + .long 3442574974 + .long 1071027688 + .long 901148195 + .long 1072431942 + .long 1425680479 + .long 1071002874 + .long 491364740 + .long 1072437579 + .long 863146005 + .long 1070978301 + .long 2167390653 + .long 1072443120 + .long 1211113923 + .long 1070953971 + .long 1434586468 + .long 1072448567 + .long 1410130595 + .long 1070929886 + .long 2416664529 + .long 1072453920 + .long 4185235532 + .long 1070906047 + .long 673836130 + .long 1072459181 + .long 3166402837 + .long 1070882457 + .long 380718319 + .long 1072464350 + .long 73967522 + .long 1070859117 + .long 1439491741 + .long 1072469428 + .long 429421420 + .long 1070836027 + .long 3772950565 + .long 1072474416 + .long 676472817 + .long 1070813189 + .long 3027641485 + .long 1072479316 + .long 1072100387 + .long 1070790604 + .long 3456896295 + .long 1072484128 + .long 1397920641 + .long 1070768273 + .long 739118475 + .long 1072488854 + .long 966697529 + .long 1070746197 + .long 3450801209 + .long 1072493493 + .long 2923986376 + .long 1070724376 + .long 2999964233 + .long 1072498048 + .long 1370067789 + .long 1070702812 + .long 3689159840 + .long 1072502519 + .long 2841771284 + .long 1070681504 + .long 1238898896 + .long 1072506908 + .long 549802159 + .long 1070660454 + .long 4260777949 + .long 1072511214 + .long 155811627 + .long 1070639661 + .long 4191027417 + .long 1072515440 + .long 2599921926 + .long 1070619125 + .long 1058663746 + .long 1072519587 + .long 4108240803 + .long 1070598847 + .long 3483867367 + .long 1072523654 + .long 990911579 + .long 1070561560 + .long 2906586881 + .long 1072527644 + .long 114935845 + .long 1070522036 + .long 3649748481 + .long 1072531557 + .long 4208768690 + .long 1070483026 + .long 1442888585 + .long 1072535395 + .long 2526808836 + .long 1070444532 + .long 600523232 + .long 1072539158 + .long 743445360 + .long 1070406552 + .long 1135777805 + .long 1072542847 + .long 3789340407 + .long 1070369084 + .long 3053917615 + .long 1072546463 + .long 2982814329 + .long 1070332129 + .long 2055975837 + .long 1072550008 + .long 1816057167 + .long 1070295685 + .long 2422282765 + .long 1072553482 + .long 3086740885 + .long 1070259750 + .long 4126223656 + .long 1072556886 + .long 324691238 + .long 1070224324 + .long 2832930958 + .long 1072560222 + .long 3578376465 + .long 1070189403 + .long 2782911091 + .long 1072563490 + .long 776951344 + .long 1070154988 + .long 3905900216 + .long 1072566691 + .long 696731218 + .long 1070121075 + .long 1819654744 + .long 1072569827 + .long 2913260122 + .long 1070087662 + .long 713676646 + .long 1072572898 + .long 2113142428 + .long 1070054748 + .long 463167950 + .long 1072575905 + .long 995821495 + .long 1070022330 + .long 922887372 + .long 1072578849 + .long 1700521760 + .long 1069990405 + .long 1926072615 + .long 1072581731 + .long 1528145825 + .long 1069958971 + .long 3283395580 + .long 1072584552 + .long 1548049162 + .long 1069928025 + .long 486983136 + .long 1072587314 + .long 2319876962 + .long 1069897564 + .long 1889307149 + .long 1072590016 + .long 3910320901 + .long 1069867585 + .long 2932434228 + .long 1072592660 + .long 1614850098 + .long 1069838086 + .long 3326980969 + .long 1072595247 + .long 3154209172 + .long 1069809062 + .long 2756265128 + .long 1072597778 + .long 2921163421 + .long 1069780511 + .long 875456323 + .long 1072600254 + .long 3471794055 + .long 1069752429 + .long 1605726087 + .long 1072602675 + .long 2656954908 + .long 1069724813 + .long 248560569 + .long 1072605043 + .long 2228455793 + .long 1069697659 + .long 664875946 + .long 1072607358 + .long 3560224787 + .long 1069670963 + .long 2389394126 + .long 1072609621 + .long 3369342261 + .long 1069644722 + .long 629951466 + .long 1072611834 + .long 2321839820 + .long 1069618932 + .long 3446707524 + .long 1072613996 + .long 753451907 + .long 1069593589 + .long 1686744094 + .long 1072616110 + .long 2980148458 + .long 1069568688 + .long 3343203939 + .long 1072618175 + .long 267339392 + .long 1069540934 + .long 3489949996 + .long 1072620193 + .long 483064631 + .long 1069492880 + .long 1460894432 + .long 1072622165 + .long 649602217 + .long 1069445687 + .long 849487740 + .long 1072624091 + .long 2890701232 + .long 1069399346 + .long 918302122 + .long 1072625972 + .long 261234300 + .long 1069353850 + .long 893545254 + .long 1072627809 + .long 2545983092 + .long 1069309188 + .long 4259602150 + .long 1072629602 + .long 1928478288 + .long 1069265353 + .long 1578768264 + .long 1072631354 + .long 3083934340 + .long 1069222335 + .long 555650133 + .long 1072633064 + .long 1732151351 + .long 1069180126 + .long 267018061 + .long 1072634733 + .long 1844687288 + .long 1069138716 + .long 4046390903 + .long 1072636361 + .long 2786814309 + .long 1069098096 + .long 2303875791 + .long 1072637951 + .long 3638890659 + .long 1069058257 + .long 2590673673 + .long 1072639502 + .long 3222303380 + .long 1069019190 + .long 3829035115 + .long 1072641015 + .long 124941498 + .long 1068980886 + .long 607011814 + .long 1072642492 + .long 1316127179 + .long 1068943334 + .long 358134174 + .long 1072643932 + .long 696292715 + .long 1068906526 + .long 1886406929 + .long 1072645336 + .long 595841400 + .long 1068870452 + .long 3956099039 + .long 1072646705 + .long 3208742923 + .long 1068835102 + .long 996654455 + .long 1072648041 + .long 2025629493 + .long 1068800468 + .long 282461591 + .long 1072649343 + .long 3331159491 + .long 1068766539 + .long 457938895 + .long 1072650612 + .long 456233562 + .long 1068733307 + .long 127412743 + .long 1072651849 + .long 3864275015 + .long 1068700760 + .long 2150048793 + .long 1072653054 + .long 2517520227 + .long 1068668891 + .long 754934402 + .long 1072654229 + .long 2552204883 + .long 1068637689 + .long 3015919169 + .long 1072655373 + .long 1528723567 + .long 1068607145 + .long 3081834457 + .long 1072656488 + .long 1335976541 + .long 1068577249 + .long 3651371907 + .long 1072657574 + .long 3915328100 + .long 1068547991 + .long 3088241816 + .long 1072658632 + .long 2689078049 + .long 1068519363 + .long 4011185713 + .long 1072659662 + .long 3811402329 + .long 1068483765 + .long 409169671 + .long 1072660666 + .long 3249658772 + .long 1068428968 + .long 3411299989 + .long 1072661642 + .long 4058137866 + .long 1068375372 + .long 2632245636 + .long 1072662593 + .long 2585699919 + .long 1068322959 + .long 532120432 + .long 1072663519 + .long 4081392135 + .long 1068271709 + .long 3826707455 + .long 1072664419 + .long 1250224180 + .long 1068221605 + .long 2012796269 + .long 1072665296 + .long 52563989 + .long 1068172627 + .long 1728109198 + .long 1072666149 + .long 2552846462 + .long 1068124756 + .long 981699159 + .long 1072666979 + .long 2652176382 + .long 1068077975 + .long 2039066381 + .long 1072667786 + .long 3294767379 + .long 1068032265 + .long 2832451379 + .long 1072668571 + .long 3608617230 + .long 1067987608 + .long 1256042053 + .long 1072669335 + .long 3225068209 + .long 1067943986 + .long 3756159862 + .long 1072670077 + .long 2302425099 + .long 1067901381 + .long 3856686221 + .long 1072670799 + .long 1548607803 + .long 1067859775 + .long 3634172681 + .long 1072671501 + .long 2242848736 + .long 1067819150 + .long 833223107 + .long 1072672184 + .long 1961478441 + .long 1067779489 + .long 1751689540 + .long 1072672847 + .long 3187679808 + .long 1067740774 + .long 4061106433 + .long 1072673491 + .long 445484238 + .long 1067702989 + .long 1101970377 + .long 1072674118 + .long 1792596734 + .long 1067666115 + .long 3358897570 + .long 1072674726 + .long 3067683861 + .long 1067630136 + .long 4101214576 + .long 1072675317 + .long 791483465 + .long 1067595036 + .long 858131621 + .long 1072675892 + .long 772076534 + .long 1067560797 + .long 4009021290 + .long 1072676449 + .long 939498435 + .long 1067527403 + .long 2424031124 + .long 1072676991 + .long 4244278389 + .long 1067494837 + .long 2119146704 + .long 1072677517 + .long 1490379385 + .long 1067463085 + .long 486751354 + .long 1072678028 + .long 2823928994 + .long 1067413890 + .long 3475864463 + .long 1072678523 + .long 1239644147 + .long 1067353540 + .long 4117679416 + .long 1072679004 + .long 1583294687 + .long 1067294720 + .long 4000779385 + .long 1072679471 + .long 183503499 + .long 1067237400 + .long 386619275 + .long 1072679925 + .long 3539777017 + .long 1067181548 + .long 3389782899 + .long 1072680364 + .long 2569008951 + .long 1067127136 + .long 1618636412 + .long 1072680791 + .long 2685116163 + .long 1067074133 + .long 830429231 + .long 1072681205 + .long 2337656347 + .long 1067022510 + .long 2456855919 + .long 1072681606 + .long 1613838398 + .long 1066972238 + .long 3604457349 + .long 1072681995 + .long 2249252296 + .long 1066923288 + .long 1349991605 + .long 1072682373 + .long 3342318405 + .long 1066875632 + .long 1330774330 + .long 1072682739 + .long 1362423571 + .long 1066829243 + .long 565217133 + .long 1072683094 + .long 3041711418 + .long 1066784092 + .long 338138595 + .long 1072683438 + .long 3905919518 + .long 1066740153 + .long 1906207337 + .long 1072683771 + .long 1163773073 + .long 1066697400 + .long 2203386035 + .long 1072684094 + .long 2300262366 + .long 1066655805 + .long 2431278016 + .long 1072684407 + .long 3604033067 + .long 1066615343 + .long 3764572361 + .long 1072684710 + .long 3053431638 + .long 1066575989 + .long 3056489171 + .long 1072685004 + .long 316598267 + .long 1066537718 + .long 1429126614 + .long 1072685289 + .long 1045509085 + .long 1066500504 + .long 4273873027 + .long 1072685564 + .long 3989163593 + .long 1066464323 + .long 4071949264 + .long 1072685831 + .long 990720597 + .long 1066429153 + .long 1869655883 + .long 1072686090 + .long 1212065788 + .long 1066388145 + .long 2983815532 + .long 1072686340 + .long 363369668 + .long 1066321702 + .long 4117279489 + .long 1072686582 + .long 1763689544 + .long 1066257139 + .long 1949269238 + .long 1072686817 + .long 2478908466 + .long 1066194412 + .long 1725716385 + .long 1072687044 + .long 2888078907 + .long 1066133477 + .long 79796966 + .long 1072687264 + .long 2372613493 + .long 1066074291 + .long 2212202096 + .long 1072687476 + .long 3593940430 + .long 1066016811 + .long 416700746 + .long 1072687682 + .long 3884847023 + .long 1065960996 + .long 4145307718 + .long 1072687880 + .long 3819341470 + .long 1065906805 + .long 1353972341 + .long 1072688073 + .long 2896320203 + .long 1065854198 + .long 1452643118 + .long 1072688259 + .long 3811934768 + .long 1065803135 + .long 945918203 + .long 1072688439 + .long 3845878455 + .long 1065753578 + .long 613300468 + .long 1072688613 + .long 3426419565 + .long 1065705489 + .long 1214612974 + .long 1072688781 + .long 1809465164 + .long 1065658831 + .long 3490378522 + .long 1072688943 + .long 1346545806 + .long 1065613567 + .long 3867228532 + .long 1072689100 + .long 3161905125 + .long 1065569661 + .long 3048210366 + .long 1072689252 + .long 2828680980 + .long 1065527079 + .long 1718189174 + .long 1072689399 + .long 3224098489 + .long 1065485786 + .long 544213361 + .long 1072689541 + .long 1614052134 + .long 1065445749 + .long 175876290 + .long 1072689678 + .long 2506733613 + .long 1065406934 + .long 1245674115 + .long 1072689810 + .long 440778734 + .long 1065369310 + .long 74392377 + .long 1072689938 + .long 2854914290 + .long 1065312472 + .long 1556357759 + .long 1072690061 + .long 2885144677 + .long 1065241796 + .long 1979914676 + .long 1072690180 + .long 2850023781 + .long 1065173315 + .long 1912668770 + .long 1072690295 + .long 1599866748 + .long 1065106970 + .long 1906856997 + .long 1072690406 + .long 3477767080 + .long 1065042702 + .long 2499680735 + .long 1072690513 + .long 1069144869 + .long 1064980456 + .long 4213634550 + .long 1072690616 + .long 900163108 + .long 1064920175 + .long 3261863288 + .long 1072690716 + .long 1890778166 + .long 1064861805 + .long 138416642 + .long 1072690813 + .long 3871912933 + .long 1064805293 + .long 3913531953 + .long 1072690905 + .long 3217154659 + .long 1064750588 + .long 2169174156 + .long 1072690995 + .long 1358854176 + .long 1064697639 + .long 3949015241 + .long 1072691081 + .long 418893404 + .long 1064646396 + .long 1104030541 + .long 1072691165 + .long 3134058972 + .long 1064596810 + .long 2652534488 + .long 1072691245 + .long 4191186495 + .long 1064548835 + .long 420735059 + .long 1072691323 + .long 3036910975 + .long 1064502425 + .long 3402760357 + .long 1072691397 + .long 3802347199 + .long 1064457534 + .long 3401203862 + .long 1072691469 + .long 2342760329 + .long 1064414119 + .long 797207216 + .long 1072691539 + .long 3341957742 + .long 1064372136 + .long 255767335 + .long 1072691606 + .long 3056948772 + .long 1064331544 + .long 2136071610 + .long 1072691670 + .long 4254871605 + .long 1064279964 + .long 2491763111 + .long 1072691732 + .long 2411097017 + .long 1064204100 + .long 1661135790 + .long 1072691792 + .long 1761415536 + .long 1064130778 + .long 4267390501 + .long 1072691849 + .long 3209400075 + .long 1064059922 + .long 2039017291 + .long 1072691905 + .long 2939049396 + .long 1063991459 + .long 3874813376 + .long 1072691958 + .long 855986431 + .long 1063925317 + .long 1484387166 + .long 1072692010 + .long 439408485 + .long 1063861425 + .long 3748134511 + .long 1072692059 + .long 4870352 + .long 1063799715 + .long 2357733727 + .long 1072692107 + .long 1147781519 + .long 1063740120 + .long 1881145616 + .long 1072692153 + .long 7952899 + .long 1063682576 + .long 2582968793 + .long 1072692197 + .long 9969043 + .long 1063627019 + .long 424659812 + .long 1072692240 + .long 3129779709 + .long 1063573387 + .long 4244618108 + .long 1072692280 + .long 1162410711 + .long 1063521622 + .long 1398659061 + .long 1072692320 + .long 1350592543 + .long 1063471664 + .long 709894103 + .long 1072692358 + .long 475017707 + .long 1063423457 + .long 2404162538 + .long 1072692394 + .long 1895560955 + .long 1063376945 + .long 2405197521 + .long 1072692429 + .long 2529068952 + .long 1063332075 + .long 924755159 + .long 1072692463 + .long 1303374431 + .long 1063288795 + .long 2462804903 + .long 1072692495 + .long 2340583905 + .long 1063238043 + .long 2922813959 + .long 1072692526 + .long 765339184 + .long 1063157539 + .long 2496831451 + .long 1072692556 + .long 1905645544 + .long 1063079917 + .long 1370699398 + .long 1072692585 + .long 4160263103 + .long 1063005084 + .long 4019194350 + .long 1072692612 + .long 45342386 + .long 1062932951 + .long 2026328650 + .long 1072692639 + .long 1710715325 + .long 1062863427 + .long 4150288103 + .long 1072692664 + .long 2034959285 + .long 1062796428 + .long 1963856416 + .long 1072692689 + .long 148304367 + .long 1062731871 + .long 4214312639 + .long 1072692712 + .long 1189117402 + .long 1062669674 + .long 2463848165 + .long 1072692735 + .long 3178906437 + .long 1062609759 + .long 1154489547 + .long 1072692757 + .long 1080654215 + .long 1062552051 + .long 428377468 + .long 1072692778 + .long 3745546411 + .long 1062496474 + .long 422878663 + .long 1072692798 + .long 3618581269 + .long 1062442958 + .long 1270727063 + .long 1072692817 + .long 2282300494 + .long 1062391433 + .long 3100161527 + .long 1072692835 + .long 1644348923 + .long 1062341831 + .long 1740092897 + .long 1072692853 + .long 3718552903 + .long 1062294086 + .long 1605136939 + .long 1072692870 + .long 1819661463 + .long 1062248136 + .long 2810840233 + .long 1072692886 + .long 3652931310 + .long 1062200348 + .long 1173804762 + .long 1072692902 + .long 997716742 + .long 1062115258 + .long 1096711236 + .long 1072692917 + .long 611465250 + .long 1062033397 + .long 2683535545 + .long 1072692931 + .long 1268352122 + .long 1061954653 + .long 1739664066 + .long 1072692945 + .long 3774361106 + .long 1061878917 + .long 2656907874 + .long 1072692958 + .long 1990048797 + .long 1061806085 + .long 1233742957 + .long 1072692971 + .long 3925276832 + .long 1061736053 + .long 1855285919 + .long 1072692983 + .long 1301510391 + .long 1061668724 + .long 313528501 + .long 1072692995 + .long 3545772009 + .long 1061604000 + .long 987307714 + .long 1072693006 + .long 3072231739 + .long 1061541790 + .long 3957502177 + .long 1072693016 + .long 700415168 + .long 1061482004 + .long 712160398 + .long 1072693027 + .long 1015674294 + .long 1061424554 + .long 4211364825 + .long 1072693036 + .long 3441679162 + .long 1061369356 + .long 1642682013 + .long 1072693046 + .long 1909782298 + .long 1061316330 + .long 1665890809 + .long 1072693055 + .long 1715136991 + .long 1061265396 + .long 53329472 + .long 1072693064 + .long 2019904798 + .long 1061216478 + .long 1164815244 + .long 1072693072 + .long 4133034056 + .long 1061169502 + .long 767855920 + .long 1072693080 + .long 938778593 + .long 1061089885 + .long 3217597497 + .long 1072693087 + .long 45480017 + .long 1061003281 + .long 4277031209 + .long 1072693094 + .long 316452781 + .long 1060920148 + .long 4001969454 + .long 1072693101 + .long 2721989136 + .long 1060840357 + .long 2446150390 + .long 1072693108 + .long 1032835521 + .long 1060763785 + .long 3956275029 + .long 1072693114 + .long 2753065605 + .long 1060690310 + .long 4287173117 + .long 1072693120 + .long 2820848798 + .long 1060619817 + .long 3486770775 + .long 1072693126 + .long 271267104 + .long 1060552194 + .long 1601187023 + .long 1072693132 + .long 2026441674 + .long 1060487331 + .long 2969762984 + .long 1072693137 + .long 927900277 + .long 1060425125 + .long 3340220053 + .long 1072693142 + .long 1025459971 + .long 1060365474 + .long 2753620020 + .long 1072693147 + .long 4223106765 + .long 1060308280 + .long 1249454257 + .long 1072693152 + .long 1231370686 + .long 1060253451 + .long 3160665754 + .long 1072693156 + .long 1185758032 + .long 1060200894 + .long 4228800307 + .long 1072693160 + .long 1146814719 + .long 1060150522 + .long 193992533 + .long 1072693165 + .long 1416679249 + .long 1060094165 + .long 3974884891 + .long 1072693168 + .long 3168049461 + .long 1060001659 + .long 2719002994 + .long 1072693172 + .long 1524549056 + .long 1059913034 + .long 752475327 + .long 1072693176 + .long 1702683749 + .long 1059828137 + .long 2400209350 + .long 1072693179 + .long 2214749525 + .long 1059746822 + .long 3396000745 + .long 1072693182 + .long 2714889529 + .long 1059668948 + .long 3767477749 + .long 1072693185 + .long 3275007653 + .long 1059594379 + .long 3541174945 + .long 1072693188 + .long 3680105052 + .long 1059522984 + .long 2742573010 + .long 1072693191 + .long 2742671543 + .long 1059454637 + .long 1396137187 + .long 1072693194 + .long 1930731778 + .long 1059389216 + .long 3820321791 + .long 1072693196 + .long 424277854 + .long 1059326604 + .long 1447737015 + .long 1072693199 + .long 3074559673 + .long 1059266687 + .long 2889954809 + .long 1072693201 + .long 2611163775 + .long 1059209358 + .long 3872771463 + .long 1072693203 + .long 521028298 + .long 1059154512 + .long 121142023 + .long 1072693206 + .long 2174524969 + .long 1059102047 + .long 244113626 + .long 1072693208 + .long 2461272610 + .long 1059041975 + .long 4260019406 + .long 1072693209 + .long 1131027093 + .long 1058945999 + .long 3596507856 + .long 1072693211 + .long 2009173253 + .long 1058854226 + .long 2565407666 + .long 1072693213 + .long 1615100380 + .long 1058766484 + .long 1182885939 + .long 1072693215 + .long 3221825245 + .long 1058682606 + .long 3759409239 + .long 1072693216 + .long 3000825785 + .long 1058602433 + .long 1719899946 + .long 1072693218 + .long 1965540345 + .long 1058525811 + .long 3668531992 + .long 1072693219 + .long 763189321 + .long 1058452592 + .long 1029016297 + .long 1072693221 + .long 3084060488 + .long 1058382633 + .long 2404362103 + .long 1072693222 + .long 1917799745 + .long 1058315799 + .long 3512128068 + .long 1072693223 + .long 195668558 + .long 1058251958 + .long 69345537 + .long 1072693225 + .long 1393620869 + .long 1058190983 + .long 677441054 + .long 1072693226 + .long 160341434 + .long 1058132754 + .long 1052452475 + .long 1072693227 + .long 3034396383 + .long 1058077153 + .long 1204917335 + .long 1072693228 + .long 1940473490 + .long 1058024070 + .long 1144924039 + .long 1072693229 + .long 2791683145 + .long 1057933609 + .long 882129685 + .long 1072693230 + .long 1284377069 + .long 1057836875 + .long 425777245 + .long 1072693231 + .long 3138430378 + .long 1057744555 + .long 4079679407 + .long 1072693231 + .long 3254443766 + .long 1057656460 + .long 3262365346 + .long 1072693232 + .long 3585789915 + .long 1057572407 + .long 2276899854 + .long 1072693233 + .long 3340902607 + .long 1057492221 + .long 1131028956 + .long 1072693234 + .long 2109898645 + .long 1057415734 + .long 4127128746 + .long 1072693234 + .long 3029561298 + .long 1057342784 + .long 2682349923 + .long 1072693235 + .long 3100733692 + .long 1057273217 + .long 1098434770 + .long 1072693236 + .long 721863346 + .long 1057206885 + .long 3676827974 + .long 1072693236 + .long 3257818550 + .long 1057143644 + .long 1833786974 + .long 1072693237 + .long 283247917 + .long 1057083360 + .long 4165164796 + .long 1072693237 + .long 1283760382 + .long 1057025900 + .long 2086683008 + .long 1072693238 + .long 375021366 + .long 1056971140 + .long 4193680981 + .long 1072693238 + .long 2365640311 + .long 1056873310 + .long 1901387990 + .long 1072693239 + .long 1902930970 + .long 1056773877 + .long 3804671650 + .long 1072693239 + .long 903220739 + .long 1056679152 + .long 1318309237 + .long 1072693240 + .long 2063855685 + .long 1056588923 + .long 3036735356 + .long 1072693240 + .long 3397372173 + .long 1056502988 + .long 374312518 + .long 1072693241 + .long 1034711862 + .long 1056421154 + .long 1925078105 + .long 1072693241 + .long 670870767 + .long 1056343234 + .long 3397981554 + .long 1072693241 + .long 3291650888 + .long 1056269050 + .long 501794178 + .long 1072693242 + .long 3834664178 + .long 1056198433 + .long 1830018675 + .long 1072693242 + .long 2783069783 + .long 1056131220 + .long 3091092664 + .long 1072693242 + .long 625790851 + .long 1056067255 + .long 4288264900 + .long 1072693242 + .long 952568083 + .long 1056006388 + .long 1129667423 + .long 1072693243 + .long 707602500 + .long 1055948477 + .long 2208191219 + .long 1072693243 + .long 3920299786 + .long 1055870738 + .long 3231688653 + .long 1072693243 + .long 187138140 + .long 1055765933 + .long 4202848619 + .long 1072693243 + .long 4197216078 + .long 1055666254 + .long 829267664 + .long 1072693244 + .long 3910421342 + .long 1055571465 + .long 1703324662 + .long 1072693244 + .long 2296866372 + .long 1055481337 + .long 2532382302 + .long 1072693244 + .long 2605637707 + .long 1055395651 + .long 3318661313 + .long 1072693244 + .long 2292620388 + .long 1055314199 + .long 4064278012 + .long 1072693244 + .long 4195044292 + .long 1055236781 + .long 476281643 + .long 1072693245 + .long 2000853903 + .long 1055163208 + .long 1146528013 + .long 1072693245 + .long 140279194 + .long 1055093297 + .long 1781879969 + .long 1072693245 + .long 3672993662 + .long 1055026873 + .long 2384080674 + .long 1072693245 + .long 3938617616 + .long 1054963772 + .long 2954790214 + .long 1072693245 + .long 2918251757 + .long 1054903835 + .long 3495589354 + .long 1072693245 + .long 2286364164 + .long 1054826365 + .long 4007983120 + .long 1072693245 + .long 1376975757 + .long 1054718251 + .long 198436946 + .long 1072693246 + .long 3549789914 + .long 1054615596 + .long 658249143 + .long 1072693246 + .long 3134081244 + .long 1054518138 + .long 1093750278 + .long 1072693246 + .long 3217770792 + .long 1054425625 + .long 1506175371 + .long 1072693246 + .long 544573006 + .long 1054337818 + .long 1896699486 + .long 1072693246 + .long 563778522 + .long 1054254487 + .long 2266440493 + .long 1072693246 + .long 2499998483 + .long 1054175414 + .long 2616461708 + .long 1072693246 + .long 1684473986 + .long 1054100392 + .long 2947774421 + .long 1072693246 + .long 555072738 + .long 1054029222 + .long 3261340318 + .long 1072693246 + .long 2552316963 + .long 1053961714 + .long 3558073783 + .long 1072693246 + .long 1793581277 + .long 1053897689 + .long 3838844118 + .long 1072693246 + .long 2882522604 + .long 1053836974 + .long 4104477652 + .long 1072693246 + .long 4263347778 + .long 1053739932 + .long 60792463 + .long 1072693247 + .long 2125306315 + .long 1053630777 + .long 298469494 + .long 1072693247 + .long 1283904372 + .long 1053527305 + .long 523250625 + .long 1072693247 + .long 4039517916 + .long 1053429232 + .long 735809613 + .long 1072693247 + .long 1769278009 + .long 1053336290 + .long 936786486 + .long 1072693247 + .long 2403362003 + .long 1053248220 + .long 1126789145 + .long 1072693247 + .long 2174681212 + .long 1053164778 + .long 1306394904 + .long 1072693247 + .long 422102777 + .long 1053085731 + .long 1476151957 + .long 1072693247 + .long 1608658464 + .long 1053010856 + .long 1636580774 + .long 1072693247 + .long 255934547 + .long 1052939943 + .long 1788175440 + .long 1072693247 + .long 330542066 + .long 1052872790 + .long 1931404929 + .long 1072693247 + .long 359609029 + .long 1052809206 + .long 2066714326 + .long 1072693247 + .long 212821653 + .long 1052727714 + .long 2194525979 + .long 1072693247 + .long 1771024860 + .long 1052613747 + .long 2315240618 + .long 1072693247 + .long 3323366318 + .long 1052505878 + .long 2429238401 + .long 1072693247 + .long 3333784466 + .long 1052403794 + .long 2536879931 + .long 1072693247 + .long 1884899977 + .long 1052307197 + .long 2638507212 + .long 1072693247 + .long 1901768341 + .long 1052215803 + .long 2734444565 + .long 1072693247 + .long 1919585796 + .long 1052129343 + .long 2824999505 + .long 1072693247 + .long 1864802922 + .long 1052047561 + .long 2910463570 + .long 1072693247 + .long 369621280 + .long 1051970214 + .long 2991113117 + .long 1072693247 + .long 794742200 + .long 1051897070 + .long 3067210077 + .long 1072693247 + .long 185746157 + .long 1051827910 + .long 3139002674 + .long 1072693247 + .long 4108134519 + .long 1051762524 + .long 3206726114 + .long 1072693247 + .long 1569140952 + .long 1051679705 + .long 3270603235 + .long 1072693247 + .long 3808394293 + .long 1051562865 + .long 3330845135 + .long 1072693247 + .long 3847034202 + .long 1051452445 + .long 3387651756 + .long 1072693247 + .long 3767465203 + .long 1051348105 + .long 3441212456 + .long 1072693247 + .long 2207887660 + .long 1051249523 + .long 3491706543 + .long 1072693247 + .long 3687336940 + .long 1051156392 + .long 3539303784 + .long 1072693247 + .long 2322652348 + .long 1051068423 + .long 3584164895 + .long 1072693247 + .long 60084372 + .long 1050985340 + .long 3626442002 + .long 1072693247 + .long 3580394494 + .long 1050906880 + .long 3666279081 + .long 1072693247 + .long 4166097879 + .long 1050832797 + .long 3703812375 + .long 1072693247 + .long 654319384 + .long 1050762856 + .long 3739170797 + .long 1072693247 + .long 1044918721 + .long 1050696832 + .long 3772476305 + .long 1072693247 + .long 1221590325 + .long 1050595877 + .long 3803844261 + .long 1072693247 + .long 1858992497 + .long 1050478253 + .long 3833383776 + .long 1072693247 + .long 2222963862 + .long 1050367260 + .long 3861198036 + .long 1072693247 + .long 4044534932 + .long 1050262537 + .long 3887384606 + .long 1072693247 + .long 4037682077 + .long 1050163743 + .long 3912035731 + .long 1072693247 + .long 2751298525 + .long 1050070554 + .long 3935238607 + .long 1072693247 + .long 726747225 + .long 1049982663 + .long 3957075654 + .long 1072693247 + .long 3427405224 + .long 1049899778 + .long 3977624762 + .long 1072693247 + .long 572377531 + .long 1049821626 + .long 3996959532 + .long 1072693247 + .long 1471006056 + .long 1049747944 + .long 4015149506 + .long 1072693247 + .long 1796687607 + .long 1049678486 + .long 4032260375 + .long 1072693247 + .long 4103915186 + .long 1049601460 + .long 4048354194 + .long 1072693247 + .long 817191958 + .long 1049478062 + .long 4063489565 + .long 1072693247 + .long 1436794216 + .long 1049361781 + .long 4077721832 + .long 1072693247 + .long 2657182346 + .long 1049252221 + .long 4091103247 + .long 1072693247 + .long 2406257951 + .long 1049149007 + .long 4103683142 + .long 1072693247 + .long 3738473273 + .long 1049051783 + .long 4115508082 + .long 1072693247 + .long 1777519924 + .long 1048960214 + .long 4126622017 + .long 1072693247 + .long 942680177 + .long 1048873981 + .long 4137066424 + .long 1072693247 + .long 2319192650 + .long 1048792783 + .long 4146880438 + .long 1072693247 + .long 4112632783 + .long 1048716336 + .long 4156100982 + .long 1072693247 + .long 2293150261 + .long 1048644372 + .long 4164762887 + .long 1072693247 + .long 10642342 + .long 1048576636 + .long 4172899006 + .long 1072693247 + .long 5176375 + .long 1048449774 + .long 4180540322 + .long 1072693247 + .long 2922557803 + .long 1048329796 + .long 4187716050 + .long 1072693247 + .long 2705392296 + .long 1048216910 + .long 4194453736 + .long 1072693247 + .long 359265373 + .long 1048110710 + .long 4200779348 + .long 1072693247 + .long 2889113445 + .long 1048010811 + .long 4206717364 + .long 1072693247 + .long 1020973057 + .long 1047916853 + .long 4212290853 + .long 1072693247 + .long 3016231241 + .long 1047828492 + .long 4217521554 + .long 1072693247 + .long 11971917 + .long 1047745407 + .long 4222429951 + .long 1072693247 + .long 314571880 + .long 1047667291 + .long 4227035341 + .long 1072693247 + .long 3786258409 + .long 1047593856 + .long 4231355901 + .long 1072693247 + .long 131461034 + .long 1047522241 + .long 4235408754 + .long 1072693247 + .long 2699979079 + .long 1047392498 + .long 4239210022 + .long 1072693247 + .long 411815652 + .long 1047270578 + .long 4242774887 + .long 1072693247 + .long 1157099645 + .long 1047156022 + .long 4246117644 + .long 1072693247 + .long 3456465376 + .long 1047048399 + .long 4249251749 + .long 1072693247 + .long 3319603447 + .long 1046947303 + .long 4252189866 + .long 1072693247 + .long 1417286464 + .long 1046852350 + .long 4254943915 + .long 1072693247 + .long 1961438867 + .long 1046763177 + .long 4257525114 + .long 1072693247 + .long 3278475384 + .long 1046679443 + .long 4259944014 + .long 1072693247 + .long 1536658680 + .long 1046600827 + .long 4262210544 + .long 1072693247 + .long 3319082773 + .long 1046527024 + .long 4264334043 + .long 1072693247 + .long 3864661119 + .long 1046436651 + .long 4266323294 + .long 1072693247 + .long 2380952407 + .long 1046306618 + .long 4268186557 + .long 1072693247 + .long 1526944091 + .long 1046184593 + .long 4269931598 + .long 1072693247 + .long 2121831560 + .long 1046070097 + .long 4271565719 + .long 1072693247 + .long 3741717358 + .long 1045962679 + .long 4273095783 + .long 1072693247 + .long 2372148486 + .long 1045861915 + .long 4274528242 + .long 1072693247 + .long 1301376174 + .long 1045767404 + .long 4275869159 + .long 1072693247 + .long 876419281 + .long 1045678769 + .long 4277124229 + .long 1072693247 + .long 1464367617 + .long 1045595655 + .long 4278298806 + .long 1072693247 + .long 2422592759 + .long 1045517728 + .long 4279397918 + .long 1072693247 + .long 1357171196 + .long 1045444674 + .long 4280426288 + .long 1072693247 + .long 194145400 + .long 1045322121 + .long 4281388351 + .long 1072693247 + .long 380152291 + .long 1045193761 + .long 4282288274 + .long 1072693247 + .long 1583684278 + .long 1045073472 + .long 4283129967 + .long 1072693247 + .long 2165635186 + .long 1044960761 + .long 4283917101 + .long 1072693247 + .long 1516692231 + .long 1044855164 + .long 4284653124 + .long 1072693247 + .long 1455793348 + .long 1044756244 + .long 4285341270 + .long 1072693247 + .long 3729863063 + .long 1044663590 + .long 4285984575 + .long 1072693247 + .long 3593934135 + .long 1044576817 + .long 4286585887 + .long 1072693247 + .long 926645059 + .long 1044495562 + .long 4287147879 + .long 1072693247 + .long 3092460447 + .long 1044419482 + .long 4287673059 + .long 1072693247 + .long 410724451 + .long 1044314821 + .long 4288163777 + .long 1072693247 + .long 1647694055 + .long 1044181480 + .long 4288622239 + .long 1072693247 + .long 2719124395 + .long 1044056680 + .long 4289050512 + .long 1072693247 + .long 1706837060 + .long 1043939889 + .long 4289450537 + .long 1072693247 + .long 1950214717 + .long 1043830606 + .long 4289824130 + .long 1072693247 + .long 3939307600 + .long 1043728361 + .long 4290172996 + .long 1072693247 + .long 1960757033 + .long 1043632714 + .long 4290498730 + .long 1072693247 + .long 2651595104 + .long 1043543249 + .long 4290802831 + .long 1072693247 + .long 1012882634 + .long 1043459578 + .long 4291086700 + .long 1072693247 + .long 4055189249 + .long 1043381334 + .long 4291351650 + .long 1072693247 + .long 2246068185 + .long 1043283233 + .long 4291598913 + .long 1072693247 + .long 2274647687 + .long 1043146443 + .long 4291829641 + .long 1072693247 + .long 2890637209 + .long 1043018575 + .long 4292044913 + .long 1072693247 + .long 4153511196 + .long 1042899062 + .long 4292245741 + .long 1072693247 + .long 1929129059 + .long 1042787373 + .long 4292433070 + .long 1072693247 + .long 357577118 + .long 1042683008 + .long 4292607786 + .long 1072693247 + .long 3367143719 + .long 1042585498 + .long 4292770720 + .long 1072693247 + .long 2385315144 + .long 1042494406 + .long 4292922646 + .long 1072693247 + .long 3169025495 + .long 1042409319 + .long 4293064292 + .long 1072693247 + .long 1533871520 + .long 1042329852 + .long 4293196336 + .long 1072693247 + .long 599006589 + .long 1042226741 + .long 4293319415 + .long 1072693247 + .long 1711861758 + .long 1042088158 + .long 4293434124 + .long 1072693247 + .long 3081973787 + .long 1041958776 + .long 4293541018 + .long 1072693247 + .long 1321268943 + .long 1041838000 + .long 4293640617 + .long 1072693247 + .long 3969874170 + .long 1041725270 + .long 4293733409 + .long 1072693247 + .long 2452445702 + .long 1041620065 + .long 4293819848 + .long 1072693247 + .long 1452932973 + .long 1041521894 + .long 4293900359 + .long 1072693247 + .long 1595251056 + .long 1041430298 + .long 4293975339 + .long 1072693247 + .long 4117849423 + .long 1041344847 + .long 4294045161 + .long 1072693247 + .long 3152677356 + .long 1041265140 + .long 4294110170 + .long 1072693247 + .long 4175288180 + .long 1041145631 + .long 4294170691 + .long 1072693247 + .long 597820103 + .long 1041006978 + .long 4294227027 + .long 1072693247 + .long 3535028301 + .long 1040877691 + .long 4294279462 + .long 1072693247 + .long 918940523 + .long 1040757155 + .long 4294328259 + .long 1072693247 + .long 857999498 + .long 1040644790 + .long 4294373665 + .long 1072693247 + .long 3808560570 + .long 1040540055 + .long 4294415910 + .long 1072693247 + .long 1160780690 + .long 1040442446 + .long 4294455211 + .long 1072693247 + .long 201215039 + .long 1040351488 + .long 4294491767 + .long 1072693247 + .long 2402111668 + .long 1040266738 + .long 4294525766 + .long 1072693247 + .long 3723319669 + .long 1040187783 + .long 4294557384 + .long 1072693247 + .long 3725520897 + .long 1040041081 + .long 4294586783 + .long 1072693247 + .long 3671313057 + .long 1039904079 + .long 4294614115 + .long 1072693247 + .long 1053981368 + .long 1039776493 + .long 4294639524 + .long 1072693247 + .long 3460466107 + .long 1039657689 + .long 4294663141 + .long 1072693247 + .long 3035482254 + .long 1039547078 + .long 4294685090 + .long 1072693247 + .long 3802544396 + .long 1039444107 + .long 4294705486 + .long 1072693247 + .long 2441474464 + .long 1039348261 + .long 4294724438 + .long 1072693247 + .long 4084805700 + .long 1039259057 + .long 4294742044 + .long 1072693247 + .long 79094155 + .long 1039176047 + .long 4294758399 + .long 1072693247 + .long 31353126 + .long 1039058801 + .long 4294773590 + .long 1072693247 + .long 4063319008 + .long 1038915083 + .long 4294787697 + .long 1072693247 + .long 264658679 + .long 1038781394 + .long 4294800797 + .long 1072693247 + .long 1173126429 + .long 1038657047 + .long 4294812960 + .long 1072693247 + .long 242573921 + .long 1038541405 + .long 4294824252 + .long 1072693247 + .long 2098620107 + .long 1038433871 + .long 4294834733 + .long 1072693247 + .long 2055068430 + .long 1038333890 + .long 4294844461 + .long 1072693247 + .long 741519124 + .long 1038240943 + .long 4294853489 + .long 1072693247 + .long 2256555279 + .long 1038154545 + .long 4294861866 + .long 1072693247 + .long 196354007 + .long 1038058252 + .long 4294869638 + .long 1072693247 + .long 445761606 + .long 1037909007 + .long 4294876848 + .long 1072693247 + .long 3476364679 + .long 1037770330 + .long 4294883536 + .long 1072693247 + .long 3529100902 + .long 1037641490 + .long 4294889738 + .long 1072693247 + .long 1621116022 + .long 1037521804 + .long 4294895490 + .long 1072693247 + .long 78936185 + .long 1037410635 + .long 4294900823 + .long 1072693247 + .long 2269474636 + .long 1037307389 + .long 4294905767 + .long 1072693247 + .long 292731349 + .long 1037211515 + .long 4294910351 + .long 1072693247 + .long 2122912913 + .long 1037122496 + .long 4294914599 + .long 1072693247 + .long 3023046673 + .long 1037038043 + .long 4294918536 + .long 1072693247 + .long 254831576 + .long 1036884616 + .long 4294922185 + .long 1072693247 + .long 571168224 + .long 1036742213 + .long 4294925565 + .long 1072693247 + .long 871548122 + .long 1036610059 + .long 4294928697 + .long 1072693247 + .long 3924370604 + .long 1036487431 + .long 4294931598 + .long 1072693247 + .long 2976320978 + .long 1036373658 + .long 4294934285 + .long 1072693247 + .long 1728080816 + .long 1036268113 + .long 4294936773 + .long 1072693247 + .long 892927807 + .long 1036170213 + .long 4294939078 + .long 1072693247 + .long 2817804388 + .long 1036079415 + .long 4294941211 + .long 1072693247 + .long 4045759389 + .long 1035995215 + .long 4294943186 + .long 1072693247 + .long 3073449671 + .long 1035841200 + .long 4294945014 + .long 1072693247 + .long 3519286355 + .long 1035696439 + .long 4294946706 + .long 1072693247 + .long 794405638 + .long 1035562248 + .long 4294948272 + .long 1072693247 + .long 2678131373 + .long 1035437869 + .long 4294949720 + .long 1072693247 + .long 3816540112 + .long 1035322600 + .long 4294951061 + .long 1072693247 + .long 234134080 + .long 1035215788 + .long 4294952301 + .long 1072693247 + .long 587911812 + .long 1035116823 + .long 4294953448 + .long 1072693247 + .long 4031748504 + .long 1035025140 + .long 4294954509 + .long 1072693247 + .long 925164896 + .long 1034935920 + .long 4294955489 + .long 1072693247 + .long 3358488129 + .long 1034778608 + .long 4294956396 + .long 1072693247 + .long 638703581 + .long 1034632928 + .long 4294957235 + .long 1072693247 + .long 807654845 + .long 1034498035 + .long 4294958010 + .long 1072693247 + .long 2657744191 + .long 1034373146 + .long 4294958726 + .long 1072693247 + .long 3663858009 + .long 1034257534 + .long 4294959389 + .long 1072693247 + .long 533492925 + .long 1034150524 + .long 4294960000 + .long 1072693247 + .long 3770229724 + .long 1034051486 + .long 4294960566 + .long 1072693247 + .long 1751462400 + .long 1033959840 + .long 4294961088 + .long 1072693247 + .long 1904247472 + .long 1033854151 + .long 4294961570 + .long 1072693247 + .long 1030368421 + .long 1033697253 + .long 4294962016 + .long 1072693247 + .long 4079129458 + .long 1033552117 + .long 4294962427 + .long 1072693247 + .long 1682458602 + .long 1033417880 + .long 4294962807 + .long 1072693247 + .long 3167377884 + .long 1033293737 + .long 4294963158 + .long 1072693247 + .long 491770573 + .long 1033178945 + .long 4294963482 + .long 1072693247 + .long 2200416094 + .long 1033072811 + .long 4294963781 + .long 1072693247 + .long 4169952110 + .long 1032974695 + .long 4294964057 + .long 1072693247 + .long 140330391 + .long 1032884004 + .long 4294964311 + .long 1072693247 + .long 3783382554 + .long 1032753008 + .long 4294964546 + .long 1072693247 + .long 551761884 + .long 1032598092 + .long 4294964763 + .long 1072693247 + .long 359970126 + .long 1032454950 + .long 4294964963 + .long 1072693247 + .long 1021270101 + .long 1032322704 + .long 4294965147 + .long 1072693247 + .long 1490695248 + .long 1032200540 + .long 4294965317 + .long 1072693247 + .long 3568738246 + .long 1032087703 + .long 4294965474 + .long 1072693247 + .long 2104695675 + .long 1031983495 + .long 4294965619 + .long 1072693247 + .long 2259752215 + .long 1031887267 + .long 4294965752 + .long 1072693247 + .long 2928907214 + .long 1031798055 + .long 4294965875 + .long 1072693247 + .long 825285899 + .long 1031634009 + .long 4294965988 + .long 1072693247 + .long 130522063 + .long 1031482582 + .long 4294966092 + .long 1072693247 + .long 3544208977 + .long 1031342820 + .long 4294966189 + .long 1072693247 + .long 3709295074 + .long 1031213842 + .long 4294966277 + .long 1072693247 + .long 4124611741 + .long 1031094830 + .long 4294966359 + .long 1072693247 + .long 2968308055 + .long 1030985028 + .long 4294966434 + .long 1072693247 + .long 4148065245 + .long 1030883735 + .long 4294966503 + .long 1072693247 + .long 3937194615 + .long 1030790304 + .long 4294966567 + .long 1072693247 + .long 693670124 + .long 1030658064 + .long 4294966626 + .long 1072693247 + .long 3047836189 + .long 1030499141 + .long 4294966680 + .long 1072693247 + .long 1761244566 + .long 1030352608 + .long 4294966730 + .long 1072693247 + .long 966529192 + .long 1030217515 + .long 4294966776 + .long 1072693247 + .long 2050080133 + .long 1030092984 + .long 4294966818 + .long 1072693247 + .long 2531893977 + .long 1029978204 + .long 4294966857 + .long 1072693247 + .long 871320764 + .long 1029872425 + .long 4294966892 + .long 1072693247 + .long 2788659082 + .long 1029774952 + .long 4294966925 + .long 1072693247 + .long 2156308587 + .long 1029668659 + .long 4294966955 + .long 1072693247 + .long 3654157322 + .long 1029503191 + .long 4294966983 + .long 1072693247 + .long 622519429 + .long 1029350775 + .long 4294967009 + .long 1072693247 + .long 1939798879 + .long 1029210397 + .long 4294967032 + .long 1072693247 + .long 3844698302 + .long 1029081123 + .long 4294967054 + .long 1072693247 + .long 3868101452 + .long 1028962090 + .long 4294967074 + .long 1072693247 + .long 3689445052 + .long 1028852500 + .long 4294967092 + .long 1072693247 + .long 788030992 + .long 1028751617 + .long 4294967109 + .long 1072693247 + .long 3128526661 + .long 1028658759 + .long 4294967124 + .long 1072693247 + .long 393221749 + .long 1028493545 + .long 4294967138 + .long 1072693247 + .long 3899460746 + .long 1028336263 + .long 4294967151 + .long 1072693247 + .long 3409408659 + .long 1028191549 + .long 4294967163 + .long 1072693247 + .long 622192947 + .long 1028058415 + .long 4294967174 + .long 1072693247 + .long 2664726297 + .long 1027935948 + .long 4294967184 + .long 1072693247 + .long 1558673822 + .long 1027823309 + .long 4294967194 + .long 1072693247 + .long 2777131896 + .long 1027719721 + .long 4294967202 + .long 1072693247 + .long 3972527094 + .long 1027624469 + .long 4294967210 + .long 1072693247 + .long 2120900631 + .long 1027469308 + .long 4294967217 + .long 1072693247 + .long 137556752 + .long 1027308292 + .long 4294967224 + .long 1072693247 + .long 569601398 + .long 1027160288 + .long 4294967230 + .long 1072693247 + .long 280212019 + .long 1027024262 + .long 4294967235 + .long 1072693247 + .long 4236421385 + .long 1026899259 + .long 4294967240 + .long 1072693247 + .long 3132998397 + .long 1026784402 + .long 4294967245 + .long 1072693247 + .long 269619050 + .long 1026678880 + .long 4294967249 + .long 1072693247 + .long 1633775828 + .long 1026581945 + .long 4294967253 + .long 1072693247 + .long 2528343355 + .long 1026429917 + .long 4294967257 + .long 1072693247 + .long 843477906 + .long 1026266381 + .long 4294967260 + .long 1072693247 + .long 640833957 + .long 1026116210 + .long 4294967263 + .long 1072693247 + .long 1040411868 + .long 1025978329 + .long 4294967266 + .long 1072693247 + .long 1466509739 + .long 1025851748 + .long 4294967268 + .long 1072693247 + .long 3307339414 + .long 1025735555 + .long 4294967271 + .long 1072693247 + .long 857222806 + .long 1025628912 + .long 4294967273 + .long 1072693247 + .long 33935978 + .long 1025531045 + .long 4294967275 + .long 1072693247 + .long 592853498 + .long 1025375158 + .long 4294967277 + .long 1072693247 + .long 3801380895 + .long 1025210375 + .long 4294967278 + .long 1072693247 + .long 3715147572 + .long 1025059210 + .long 4294967280 + .long 1072693247 + .long 4190633910 + .long 1024920554 + .long 4294967281 + .long 1072693247 + .long 3597701666 + .long 1024793388 + .long 4294967283 + .long 1072693247 + .long 3481239551 + .long 1024676774 + .long 4294967284 + .long 1072693247 + .long 2361296039 + .long 1024569850 + .long 4294967285 + .long 1072693247 + .long 265722145 + .long 1024471823 + .long 4294967286 + .long 1072693247 + .long 1895395227 + .long 1024305174 + .long 4294967287 + .long 1072693247 + .long 1800210858 + .long 1024140449 + .long 4294967287 + .long 1072693247 + .long 3069172694 + .long 1023989486 + .long 4294967288 + .long 1072693247 + .long 2893236102 + .long 1023851153 + .long 4294967289 + .long 1072693247 + .long 1719077557 + .long 1023724409 + .long 4294967289 + .long 1072693247 + .long 1914505601 + .long 1023608297 + .long 4294967290 + .long 1072693247 + .long 301987594 + .long 1023501939 + .long 4294967291 + .long 1072693247 + .long 282470485 + .long 1023398878 + .long 4294967291 + .long 1072693247 + .long 3168046348 + .long 1023220463 + .long 4294967291 + .long 1072693247 + .long 1009101993 + .long 1023057097 + .long 4294967292 + .long 1072693247 + .long 3997083445 + .long 1022907527 + .long 4294967292 + .long 1072693247 + .long 2336955916 + .long 1022770607 + .long 4294967293 + .long 1072693247 + .long 3868880033 + .long 1022645281 + .long 4294967293 + .long 1072693247 + .long 1476581786 + .long 1022530583 + .long 4294967293 + .long 1072693247 + .long 3208709775 + .long 1022425623 + .long 4294967293 + .long 1072693247 + .long 716057529 + .long 1022297576 + .long 4294967294 + .long 1072693247 + .long 28479576 + .long 1022121857 + .long 4294967294 + .long 1072693247 + .long 3319607164 + .long 1021961117 + .long 4294967294 + .long 1072693247 + .long 2804464626 + .long 1021814099 + .long 4294967294 + .long 1072693247 + .long 148574980 + .long 1021679648 + .long 4294967294 + .long 1072693247 + .long 69395739 + .long 1021556704 + .long 4294967294 + .long 1072693247 + .long 2564419134 + .long 1021444296 + .long 4294967295 + .long 1072693247 + .long 2125879894 + .long 1021341535 + .long 4294967295 + .long 1072693247 + .long 344595749 + .long 1021182185 + .long 4294967295 + .long 1072693247 + .long 872566418 + .long 1021010487 + .long 4294967295 + .long 1072693247 + .long 25762808 + .long 1020853582 + .long 4294967295 + .long 1072693247 + .long 3343322505 + .long 1020710212 + .long 4294967295 + .long 1072693247 + .long 68521175 + .long 1020579228 + .long 4294967295 + .long 1072693247 + .long 3210511172 + .long 1020459572 + .long 4294967295 + .long 1072693247 + .long 2432640097 + .long 1020350280 + .long 4294967295 + .long 1072693247 + .long 2650426869 + .long 1020236484 + .long 4294967295 + .long 1072693247 + .long 2803544287 + .long 1020054190 + .long 4294967295 + .long 1072693247 + .long 2667581847 + .long 1019887746 + .long 0 + .long 1072693248 + .long 995748204 + .long 1019735793 + .long 0 + .long 1072693248 + .long 438643701 + .long 1019597086 + .long 0 + .long 1072693248 + .long 809181847 + .long 1019470486 + .long 0 + .long 1072693248 + .long 10437582 + .long 1019354951 + .long 0 + .long 1072693248 + .long 2354988354 + .long 1019249526 + .long 0 + .long 1072693248 + .long 3627099743 + .long 1019090807 + .long 0 + .long 1072693248 + .long 184652213 + .long 1018915313 + .long 0 + .long 1072693248 + .long 2690341715 + .long 1018755235 + .long 0 + .long 1072693248 + .long 1010878695 + .long 1018609239 + .long 0 + .long 1072693248 + .long 3130597339 + .long 1018476101 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1075312640 + .long 0 + .long 1075312640 + .long 0 + .long 1075312640 + .long 0 + .long 1075312640 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 804257792 + .long 0 + .long 804257792 + .long 0 + .long 804257792 + .long 0 + .long 804257792 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3220176896 + .long 0 + .long 3220176896 + .long 0 + .long 3220176896 + .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 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 0 + .long 4294967295 + .long 0 + .long 4294967295 + .long 0 + .long 4294967295 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_derf_data_internal,@object + .size __svml_derf_data_internal,14976 + .align 32 + +_imldErfHATab: + .long 1346542445 + .long 1072827863 + .long 1342177280 + .long 1072827863 + .long 1147899556 + .long 1041278683 + .long 0 + .long 1282408448 + .long 0 + .long 862978048 + .long 33554432 + .long 1101004800 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .long 0 + .long 256 + .long 1222277045 + .long 929276 + .type _imldErfHATab,@object + .size _imldErfHATab,96 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core-avx2.S new file mode 100644 index 0000000000..3456142289 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized erf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_erf _ZGVeN8v_erf_avx2_wrapper +#include "../svml_d_erf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core.c new file mode 100644 index 0000000000..78e4a852c6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized erf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_erf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_erf, __GI__ZGVeN8v_erf, __redirect__ZGVeN8v_erf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core_avx512.S new file mode 100644 index 0000000000..9e4936b48a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core_avx512.S @@ -0,0 +1,4087 @@ +/* Function erf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Basic formula is + * erf(x) ~ erf(x0) + + * + exp(-x0*x0)*D*(1+c0+T*P1(T)+D^2*P3(T)+D^4*P5(T)+D^6*p7+D^8*p9) + * where D=x-x0, T=x0*D + * x0 is x rounded to a specified number of fractional bits (in this case 7), + * except that x0=0 for |x|<3.5/128.0 (using x0=0 for first 4 table entries) + * + * Data table packs both erf(x0)_high and a few bits of erf(x0)_low in one + * entry (in place of redundant exponent bits) + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_erf_skx) +/* + * vector gather: erf(x0), + * second value is exp(-x0*x0) + */ + lea __svml_derf_data_internal(%rip), %rax + +/* + * erf(x) rounds to 1.0 for x>_MaxThreshold (5.9921875) + * can compute all results in the main path + */ + vmovups 12352+__svml_derf_data_internal(%rip), %zmm9 + vmovups 12416+__svml_derf_data_internal(%rip), %zmm11 + vmovups 12480+__svml_derf_data_internal(%rip), %zmm10 + vandpd 12288+__svml_derf_data_internal(%rip), %zmm0, %zmm7 + vpbroadcastq .FLT_20(%rip), %zmm14 + kxnorw %k0, %k0, %k3 + kxnorw %k0, %k0, %k2 + vminpd {sae}, %zmm9, %zmm7, %zmm12 + +/* save sign */ + vxorpd %zmm0, %zmm7, %zmm8 + vaddpd {rn-sae}, %zmm11, %zmm12, %zmm15 + vcmppd $26, {sae}, %zmm10, %zmm12, %k1 + +/* + * _LA_ polynomial computation + * Start polynomial evaluation + */ + vmovups 12672+__svml_derf_data_internal(%rip), %zmm10 + vpsllq $4, %zmm15, %zmm3 + vsubpd {rn-sae}, %zmm11, %zmm15, %zmm13 + vmovups 12800+__svml_derf_data_internal(%rip), %zmm11 + vmovups 13248+__svml_derf_data_internal(%rip), %zmm15 + vsubpd {rn-sae}, %zmm13, %zmm12, %zmm1 + vmulpd {rn-sae}, %zmm1, %zmm13, %zmm6 + +/* NaN fixup */ + vminpd {sae}, %zmm7, %zmm1, %zmm7 + vmovups 13056+__svml_derf_data_internal(%rip), %zmm13 + vpandq 13440+__svml_derf_data_internal(%rip), %zmm3, %zmm2 + vpmovqd %zmm2, %ymm0 + vmovups 12736+__svml_derf_data_internal(%rip), %zmm2 + vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm2 + vfmadd213pd {rn-sae}, %zmm13, %zmm6, %zmm2 + vpxord %zmm4, %zmm4, %zmm4 + vgatherdpd 8(%rax,%ymm0), %zmm4{%k3} + vpxord %zmm5, %zmm5, %zmm5 + vgatherdpd (%rax,%ymm0), %zmm5{%k2} + vmovups 12864+__svml_derf_data_internal(%rip), %zmm0 + +/* Sign | _Erf_H */ + vxorpd %zmm8, %zmm5, %zmm5 + vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm0 + vpandnq %zmm12, %zmm12, %zmm14{%k1} + vandpd %zmm14, %zmm1, %zmm9 + +/* Sign | Diff */ + vxorpd %zmm8, %zmm7, %zmm1 + vmovups 12928+__svml_derf_data_internal(%rip), %zmm12 + vmovups 12992+__svml_derf_data_internal(%rip), %zmm7 + vmovups 13120+__svml_derf_data_internal(%rip), %zmm14 + +/* D2 = Diff^2 */ + vmulpd {rn-sae}, %zmm9, %zmm9, %zmm3 + +/* T^2 */ + vmulpd {rn-sae}, %zmm6, %zmm6, %zmm9 + +/* exp_h(x0) * Diff */ + vmulpd {rn-sae}, %zmm1, %zmm4, %zmm4 + vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm7 + vmovups 13184+__svml_derf_data_internal(%rip), %zmm12 + vfmadd213pd {rn-sae}, %zmm14, %zmm6, %zmm0 + vfmadd213pd {rn-sae}, %zmm15, %zmm3, %zmm7 + vfmadd213pd {rn-sae}, %zmm12, %zmm6, %zmm2 + vfmadd213pd {rn-sae}, %zmm7, %zmm6, %zmm0 + +/* P1 = T^2*P1 - T */ + vfmsub213pd {rn-sae}, %zmm6, %zmm9, %zmm2 + +/* P1 + P3*D2 */ + vfmadd213pd {rn-sae}, %zmm2, %zmm3, %zmm0 + +/* + * branch-free + * low part of result: exp_h(x0) * Diff*(1+P1) + */ + vfmadd213pd {rn-sae}, %zmm4, %zmm4, %zmm0 + +/* Final result */ + vaddpd {rn-sae}, %zmm5, %zmm0, %zmm6 + +/* Fix erf(-0) = -0 */ + vorpd %zmm8, %zmm6, %zmm0 + ret + +END(_ZGVeN8v_erf_skx) + + .align 16,0x90 + +__svml_derf_cout_rare_internal: + + cfi_startproc + + movq %rdi, %r8 + lea 64+_imldErfHATab(%rip), %rdx + movb 7(%r8), %cl + movb %cl, %al + andb $-128, %al + shrb $7, %al + movzbl %al, %edi + movzwl 6(%r8), %eax + andl $32752, %eax + shrl $4, %eax + movq (%rdx,%rdi,8), %rdx + cmpl $2047, %eax + je .LBL_2_13 + cmpl $2046, %eax + jne .LBL_2_4 + +.LBL_2_3: + movq %rdx, (%rsi) + jmp .LBL_2_11 + +.LBL_2_4: + movsd (%r8), %xmm6 + andb $127, %cl + movsd %xmm6, -8(%rsp) + movb %cl, -1(%rsp) + movsd -8(%rsp), %xmm0 + ucomisd 48+_imldErfHATab(%rip), %xmm0 + jp .LBL_2_5 + je .LBL_2_12 + +.LBL_2_5: + testl %eax, %eax + jne .LBL_2_7 + comisd 88+_imldErfHATab(%rip), %xmm0 + jb .LBL_2_8 + +.LBL_2_7: + movsd 24+_imldErfHATab(%rip), %xmm0 + mulsd %xmm0, %xmm6 + movsd 40+_imldErfHATab(%rip), %xmm1 + mulsd %xmm6, %xmm1 + movsd %xmm1, -24(%rsp) + movsd -24(%rsp), %xmm2 + movsd 8+_imldErfHATab(%rip), %xmm12 + subsd %xmm6, %xmm2 + movsd %xmm2, -16(%rsp) + movsd -24(%rsp), %xmm4 + movsd -16(%rsp), %xmm3 + movsd 8+_imldErfHATab(%rip), %xmm9 + subsd %xmm3, %xmm4 + movsd %xmm4, -24(%rsp) + movsd -24(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -16(%rsp) + movsd 16+_imldErfHATab(%rip), %xmm6 + movsd -24(%rsp), %xmm7 + movaps %xmm6, %xmm10 + movsd -16(%rsp), %xmm8 + mulsd %xmm7, %xmm12 + mulsd %xmm8, %xmm10 + mulsd %xmm6, %xmm7 + mulsd %xmm8, %xmm9 + addsd %xmm7, %xmm10 + addsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -24(%rsp), %xmm11 + addsd %xmm11, %xmm12 + mulsd 32+_imldErfHATab(%rip), %xmm12 + movsd %xmm12, (%rsi) + jmp .LBL_2_11 + +.LBL_2_8: + comisd 80+_imldErfHATab(%rip), %xmm0 + jb .LBL_2_10 + movsd 24+_imldErfHATab(%rip), %xmm0 + mulsd %xmm0, %xmm6 + movsd 40+_imldErfHATab(%rip), %xmm1 + mulsd %xmm6, %xmm1 + movsd %xmm1, -24(%rsp) + movsd -24(%rsp), %xmm2 + movsd 8+_imldErfHATab(%rip), %xmm0 + subsd %xmm6, %xmm2 + movsd %xmm2, -16(%rsp) + movsd -24(%rsp), %xmm4 + movsd -16(%rsp), %xmm3 + movsd 8+_imldErfHATab(%rip), %xmm9 + subsd %xmm3, %xmm4 + movsd %xmm4, -24(%rsp) + movsd -24(%rsp), %xmm5 + movsd 40+_imldErfHATab(%rip), %xmm11 + subsd %xmm5, %xmm6 + movsd %xmm6, -16(%rsp) + movsd 16+_imldErfHATab(%rip), %xmm6 + movsd -24(%rsp), %xmm7 + movaps %xmm6, %xmm10 + movsd -16(%rsp), %xmm8 + mulsd %xmm7, %xmm0 + mulsd %xmm8, %xmm10 + mulsd %xmm6, %xmm7 + mulsd %xmm8, %xmm9 + mulsd %xmm0, %xmm11 + addsd %xmm7, %xmm10 + addsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -24(%rsp), %xmm1 + movsd %xmm11, -24(%rsp) + movsd -24(%rsp), %xmm12 + subsd %xmm0, %xmm12 + movsd %xmm12, -16(%rsp) + movsd -24(%rsp), %xmm14 + movsd -16(%rsp), %xmm13 + subsd %xmm13, %xmm14 + movsd %xmm14, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm0 + movsd %xmm0, -16(%rsp) + movsd -24(%rsp), %xmm12 + movsd -16(%rsp), %xmm11 + mulsd 32+_imldErfHATab(%rip), %xmm12 + addsd %xmm11, %xmm1 + mulsd 32+_imldErfHATab(%rip), %xmm1 + movsd %xmm12, -24(%rsp) + movsd %xmm1, -16(%rsp) + movsd -24(%rsp), %xmm3 + movsd -16(%rsp), %xmm2 + addsd %xmm2, %xmm3 + movsd %xmm3, (%rsi) + jmp .LBL_2_11 + +.LBL_2_10: + movsd _imldErfHATab(%rip), %xmm0 + mulsd %xmm0, %xmm6 + movsd %xmm6, (%rsi) + +.LBL_2_11: + xorl %eax, %eax + ret + +.LBL_2_12: + lea 48+_imldErfHATab(%rip), %rax + movq (%rax,%rdi,8), %rdx + movq %rdx, (%rsi) + jmp .LBL_2_11 + +.LBL_2_13: + testl $1048575, 4(%r8) + jne .LBL_2_16 + cmpl $0, (%r8) + je .LBL_2_3 + +.LBL_2_16: + movsd (%r8), %xmm0 + addsd %xmm0, %xmm0 + movsd %xmm0, (%rsi) + jmp .LBL_2_11 + + cfi_endproc + + .type __svml_derf_cout_rare_internal,@function + .size __svml_derf_cout_rare_internal,.-__svml_derf_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_derf_data_internal: + .long 0 + .long 0 + .long 1346542445 + .long 1072827863 + .long 1038816064 + .long 1065487807 + .long 427149405 + .long 1072827791 + .long 138352544 + .long 1066536311 + .long 2077512391 + .long 1072827574 + .long 217416924 + .long 1067127678 + .long 2343319233 + .long 1072827213 + .long 1172120888 + .long 1067584598 + .long 1792097487 + .long 1072826708 + .long 1002214694 + .long 1067880029 + .long 1217900872 + .long 1072826059 + .long 4011022149 + .long 1068175279 + .long 1640824915 + .long 1072825266 + .long 2008889377 + .long 1068470314 + .long 11417604 + .long 1072824330 + .long 2162755160 + .long 1068632020 + .long 2094822099 + .long 1072823250 + .long 3900605843 + .long 1068779267 + .long 995044552 + .long 1072822028 + .long 2716351325 + .long 1068926353 + .long 2923726463 + .long 1072820663 + .long 3951725859 + .long 1069073259 + .long 1429174619 + .long 1072819157 + .long 344622906 + .long 1069219969 + .long 3164864724 + .long 1072817509 + .long 2121311411 + .long 1069366463 + .long 2118204713 + .long 1072815721 + .long 2663955280 + .long 1069512725 + .long 1083806794 + .long 1072813793 + .long 6252005 + .long 1069603129 + .long 3071858204 + .long 1072811725 + .long 2740730761 + .long 1069676001 + .long 2716363190 + .long 1072809519 + .long 368405780 + .long 1069748732 + .long 3453061548 + .long 1072807175 + .long 3270920537 + .long 1069821311 + .long 337483221 + .long 1072804695 + .long 589420486 + .long 1069893732 + .long 1517584741 + .long 1072802078 + .long 3187124383 + .long 1069965984 + .long 2461623467 + .long 1072799326 + .long 712400798 + .long 1070038061 + .long 3135584772 + .long 1072796440 + .long 266066941 + .long 1070109953 + .long 3705654820 + .long 1072793421 + .long 644014413 + .long 1070181652 + .long 240577552 + .long 1072790271 + .long 939402534 + .long 1070253150 + .long 1888734604 + .long 1072786989 + .long 554739272 + .long 1070324439 + .long 810473775 + .long 1072783578 + .long 3508744759 + .long 1070395510 + .long 2239870849 + .long 1072780038 + .long 1268186934 + .long 1070466357 + .long 3006777612 + .long 1072776371 + .long 2824159458 + .long 1070536970 + .long 123537259 + .long 1072772579 + .long 2319306557 + .long 1070601719 + .long 3666566110 + .long 1072768661 + .long 1770174792 + .long 1070636781 + .long 2413196824 + .long 1072764621 + .long 515431986 + .long 1070671715 + .long 2492870238 + .long 1072760459 + .long 3794982409 + .long 1070706516 + .long 1613725249 + .long 1072756177 + .long 4163230114 + .long 1070741182 + .long 1943804817 + .long 1072751776 + .long 2969010815 + .long 1070775709 + .long 1517338984 + .long 1072747258 + .long 1770633177 + .long 1070810093 + .long 2820813657 + .long 1072742624 + .long 2340732634 + .long 1070844330 + .long 4199089955 + .long 1072737876 + .long 2376033378 + .long 1070878417 + .long 4146348395 + .long 1072733016 + .long 4091885358 + .long 1070912350 + .long 1301992007 + .long 1072728046 + .long 1341835662 + .long 1070946127 + .long 3036413564 + .long 1072722966 + .long 1096806975 + .long 1070979743 + .long 3971924632 + .long 1072717779 + .long 1974469745 + .long 1071013195 + .long 3158326576 + .long 1072712487 + .long 2833250162 + .long 1071046480 + .long 4068552111 + .long 1072707091 + .long 2776266431 + .long 1071079595 + .long 1709348165 + .long 1072701594 + .long 1155126244 + .long 1071112537 + .long 4091643817 + .long 1072695996 + .long 1868551104 + .long 1071145302 + .long 27554567 + .long 1072687355 + .long 480989547 + .long 1071177888 + .long 4013208754 + .long 1072675771 + .long 1405858118 + .long 1071210291 + .long 2463469560 + .long 1072664000 + .long 728899385 + .long 1071242509 + .long 3673248531 + .long 1072652044 + .long 3391132564 + .long 1071274538 + .long 3245080601 + .long 1072639908 + .long 1716951687 + .long 1071306377 + .long 1259566555 + .long 1072627596 + .long 1186716264 + .long 1071338022 + .long 2265889960 + .long 1072615111 + .long 3259520440 + .long 1071369470 + .long 2387383118 + .long 1072602458 + .long 1080714748 + .long 1071400720 + .long 2196854969 + .long 1072589641 + .long 959081773 + .long 1071431768 + .long 2412015218 + .long 1072576664 + .long 894188496 + .long 1071462612 + .long 3885838402 + .long 1072563531 + .long 3463326280 + .long 1071493249 + .long 3301940522 + .long 1072550247 + .long 2938496088 + .long 1071523678 + .long 1754844591 + .long 1072536816 + .long 2468013648 + .long 1071553896 + .long 445338472 + .long 1072523242 + .long 1193192369 + .long 1071583901 + .long 670801289 + .long 1072509529 + .long 2839711645 + .long 1071613690 + .long 3815538169 + .long 1072495681 + .long 2833997776 + .long 1071643262 + .long 2751195712 + .long 1072481704 + .long 2742112668 + .long 1071658643 + .long 3301970792 + .long 1072467601 + .long 1253231335 + .long 1071673209 + .long 2760175517 + .long 1072453377 + .long 1545137618 + .long 1071687663 + .long 2761576465 + .long 1072439036 + .long 4064802502 + .long 1071702004 + .long 685940062 + .long 1072424583 + .long 816685333 + .long 1071716233 + .long 2532463670 + .long 1072410021 + .long 1132731221 + .long 1071730347 + .long 1435524088 + .long 1072395356 + .long 1607720272 + .long 1071744346 + .long 3425128494 + .long 1072380591 + .long 3279184281 + .long 1071758229 + .long 1647826366 + .long 1072365732 + .long 3037447390 + .long 1071771996 + .long 2127303697 + .long 1072350782 + .long 2215464304 + .long 1071785646 + .long 2280417801 + .long 1072335746 + .long 2293685631 + .long 1071799178 + .long 3793057312 + .long 1072320628 + .long 604852941 + .long 1071812592 + .long 4021258398 + .long 1072305433 + .long 3218593473 + .long 1071825886 + .long 277321282 + .long 1072290166 + .long 3466207732 + .long 1071839061 + .long 2705965375 + .long 1072274829 + .long 3415062139 + .long 1071852116 + .long 4210920931 + .long 1072259428 + .long 983176269 + .long 1071865051 + .long 1921243050 + .long 1072243968 + .long 2823547761 + .long 1071877864 + .long 1477876472 + .long 1072228452 + .long 2848673694 + .long 1071890556 + .long 4140476189 + .long 1072212884 + .long 3704680757 + .long 1071903126 + .long 2484292510 + .long 1072197270 + .long 3885653926 + .long 1071915574 + .long 1866994493 + .long 1072181613 + .long 2027772262 + .long 1071927900 + .long 3240926857 + .long 1072165917 + .long 1203383746 + .long 1071940103 + .long 3145379609 + .long 1072150187 + .long 330118419 + .long 1071952183 + .long 2288940035 + .long 1072134427 + .long 2759812044 + .long 1071964139 + .long 1247094627 + .long 1072118641 + .long 3392535852 + .long 1071975972 + .long 454954036 + .long 1072102833 + .long 1560373839 + .long 1071987682 + .long 200137461 + .long 1072087007 + .long 1026243227 + .long 1071999268 + .long 615820036 + .long 1072071167 + .long 1392726659 + .long 1072010730 + .long 1673946580 + .long 1072055317 + .long 2395753923 + .long 1072022068 + .long 3178614907 + .long 1072039461 + .long 3903265363 + .long 1072033282 + .long 464664423 + .long 1072023604 + .long 1618858333 + .long 1072044373 + .long 1571276620 + .long 1072007748 + .long 4260221847 + .long 1072055339 + .long 1466080688 + .long 1071991898 + .long 3492884098 + .long 1072066182 + .long 3514079945 + .long 1071976057 + .long 3993456657 + .long 1072076901 + .long 2292055455 + .long 1071960230 + .long 1973227103 + .long 1072087497 + .long 762892997 + .long 1071944420 + .long 2356414747 + .long 1072097969 + .long 1680293156 + .long 1071928630 + .long 1598646874 + .long 1072108318 + .long 3288637392 + .long 1071912864 + .long 570166456 + .long 1072118544 + .long 3612978933 + .long 1071897126 + .long 259132527 + .long 1072128647 + .long 454258010 + .long 1071881420 + .long 1769851247 + .long 1072138627 + .long 4269611837 + .long 1071865747 + .long 2026004535 + .long 1072148485 + .long 3808238226 + .long 1071850113 + .long 2358747003 + .long 1072158221 + .long 466930684 + .long 1071834521 + .long 4209868920 + .long 1072167835 + .long 3991103291 + .long 1071818972 + .long 539961339 + .long 1072177329 + .long 2406207743 + .long 1071803472 + .long 1596290573 + .long 1072186701 + .long 668823419 + .long 1071788023 + .long 551103050 + .long 1072195953 + .long 3483369050 + .long 1071772627 + .long 3564413664 + .long 1072205084 + .long 2413978135 + .long 1071757289 + .long 4012194871 + .long 1072214096 + .long 1651276306 + .long 1071742011 + .long 3959183150 + .long 1072222989 + .long 829681671 + .long 1071726796 + .long 1271925764 + .long 1072231764 + .long 3614704403 + .long 1071711646 + .long 2501611462 + .long 1072240420 + .long 520637331 + .long 1071696566 + .long 1407144504 + .long 1072248959 + .long 3268048090 + .long 1071681556 + .long 427874865 + .long 1072257381 + .long 1832052951 + .long 1071666621 + .long 2091542065 + .long 1072265686 + .long 3095161192 + .long 1071651762 + .long 422205205 + .long 1072273876 + .long 1561666736 + .long 1071629294 + .long 2412931770 + .long 1072281950 + .long 2443607338 + .long 1071599898 + .long 2253835330 + .long 1072289910 + .long 3767899416 + .long 1071570670 + .long 2804744118 + .long 1072297756 + .long 4205206053 + .long 1071541615 + .long 2708123311 + .long 1072305489 + .long 1868283784 + .long 1071512738 + .long 681859986 + .long 1072313110 + .long 2900434531 + .long 1071484042 + .long 4107010292 + .long 1072320618 + .long 4294514068 + .long 1071455532 + .long 3255804563 + .long 1072328016 + .long 2482100151 + .long 1071427213 + .long 1354224973 + .long 1072335304 + .long 1923011912 + .long 1071399088 + .long 1694909286 + .long 1072342482 + .long 2220339163 + .long 1071371161 + .long 3339989603 + .long 1072349551 + .long 2415682179 + .long 1071343436 + .long 1118900120 + .long 1072356513 + .long 989760182 + .long 1071315917 + .long 2806057099 + .long 1072363367 + .long 158317606 + .long 1071288607 + .long 3348870180 + .long 1072370115 + .long 1578420540 + .long 1071261509 + .long 2045432220 + .long 1072376758 + .long 2055072070 + .long 1071234627 + .long 2542346734 + .long 1072383296 + .long 2133042299 + .long 1071207964 + .long 4242628757 + .long 1072389730 + .long 1804103059 + .long 1071181523 + .long 2303549486 + .long 1072396062 + .long 509530065 + .long 1071155307 + .long 519393155 + .long 1072402292 + .long 1437865959 + .long 1071129318 + .long 2729388920 + .long 1072408420 + .long 2938068361 + .long 1071103559 + .long 4225655329 + .long 1072414448 + .long 2817839853 + .long 1071078033 + .long 341027652 + .long 1072420378 + .long 2642231032 + .long 1071052742 + .long 3626834524 + .long 1072426208 + .long 3442574974 + .long 1071027688 + .long 901148195 + .long 1072431942 + .long 1425680479 + .long 1071002874 + .long 491364740 + .long 1072437579 + .long 863146005 + .long 1070978301 + .long 2167390653 + .long 1072443120 + .long 1211113923 + .long 1070953971 + .long 1434586468 + .long 1072448567 + .long 1410130595 + .long 1070929886 + .long 2416664529 + .long 1072453920 + .long 4185235532 + .long 1070906047 + .long 673836130 + .long 1072459181 + .long 3166402837 + .long 1070882457 + .long 380718319 + .long 1072464350 + .long 73967522 + .long 1070859117 + .long 1439491741 + .long 1072469428 + .long 429421420 + .long 1070836027 + .long 3772950565 + .long 1072474416 + .long 676472817 + .long 1070813189 + .long 3027641485 + .long 1072479316 + .long 1072100387 + .long 1070790604 + .long 3456896295 + .long 1072484128 + .long 1397920641 + .long 1070768273 + .long 739118475 + .long 1072488854 + .long 966697529 + .long 1070746197 + .long 3450801209 + .long 1072493493 + .long 2923986376 + .long 1070724376 + .long 2999964233 + .long 1072498048 + .long 1370067789 + .long 1070702812 + .long 3689159840 + .long 1072502519 + .long 2841771284 + .long 1070681504 + .long 1238898896 + .long 1072506908 + .long 549802159 + .long 1070660454 + .long 4260777949 + .long 1072511214 + .long 155811627 + .long 1070639661 + .long 4191027417 + .long 1072515440 + .long 2599921926 + .long 1070619125 + .long 1058663746 + .long 1072519587 + .long 4108240803 + .long 1070598847 + .long 3483867367 + .long 1072523654 + .long 990911579 + .long 1070561560 + .long 2906586881 + .long 1072527644 + .long 114935845 + .long 1070522036 + .long 3649748481 + .long 1072531557 + .long 4208768690 + .long 1070483026 + .long 1442888585 + .long 1072535395 + .long 2526808836 + .long 1070444532 + .long 600523232 + .long 1072539158 + .long 743445360 + .long 1070406552 + .long 1135777805 + .long 1072542847 + .long 3789340407 + .long 1070369084 + .long 3053917615 + .long 1072546463 + .long 2982814329 + .long 1070332129 + .long 2055975837 + .long 1072550008 + .long 1816057167 + .long 1070295685 + .long 2422282765 + .long 1072553482 + .long 3086740885 + .long 1070259750 + .long 4126223656 + .long 1072556886 + .long 324691238 + .long 1070224324 + .long 2832930958 + .long 1072560222 + .long 3578376465 + .long 1070189403 + .long 2782911091 + .long 1072563490 + .long 776951344 + .long 1070154988 + .long 3905900216 + .long 1072566691 + .long 696731218 + .long 1070121075 + .long 1819654744 + .long 1072569827 + .long 2913260122 + .long 1070087662 + .long 713676646 + .long 1072572898 + .long 2113142428 + .long 1070054748 + .long 463167950 + .long 1072575905 + .long 995821495 + .long 1070022330 + .long 922887372 + .long 1072578849 + .long 1700521760 + .long 1069990405 + .long 1926072615 + .long 1072581731 + .long 1528145825 + .long 1069958971 + .long 3283395580 + .long 1072584552 + .long 1548049162 + .long 1069928025 + .long 486983136 + .long 1072587314 + .long 2319876962 + .long 1069897564 + .long 1889307149 + .long 1072590016 + .long 3910320901 + .long 1069867585 + .long 2932434228 + .long 1072592660 + .long 1614850098 + .long 1069838086 + .long 3326980969 + .long 1072595247 + .long 3154209172 + .long 1069809062 + .long 2756265128 + .long 1072597778 + .long 2921163421 + .long 1069780511 + .long 875456323 + .long 1072600254 + .long 3471794055 + .long 1069752429 + .long 1605726087 + .long 1072602675 + .long 2656954908 + .long 1069724813 + .long 248560569 + .long 1072605043 + .long 2228455793 + .long 1069697659 + .long 664875946 + .long 1072607358 + .long 3560224787 + .long 1069670963 + .long 2389394126 + .long 1072609621 + .long 3369342261 + .long 1069644722 + .long 629951466 + .long 1072611834 + .long 2321839820 + .long 1069618932 + .long 3446707524 + .long 1072613996 + .long 753451907 + .long 1069593589 + .long 1686744094 + .long 1072616110 + .long 2980148458 + .long 1069568688 + .long 3343203939 + .long 1072618175 + .long 267339392 + .long 1069540934 + .long 3489949996 + .long 1072620193 + .long 483064631 + .long 1069492880 + .long 1460894432 + .long 1072622165 + .long 649602217 + .long 1069445687 + .long 849487740 + .long 1072624091 + .long 2890701232 + .long 1069399346 + .long 918302122 + .long 1072625972 + .long 261234300 + .long 1069353850 + .long 893545254 + .long 1072627809 + .long 2545983092 + .long 1069309188 + .long 4259602150 + .long 1072629602 + .long 1928478288 + .long 1069265353 + .long 1578768264 + .long 1072631354 + .long 3083934340 + .long 1069222335 + .long 555650133 + .long 1072633064 + .long 1732151351 + .long 1069180126 + .long 267018061 + .long 1072634733 + .long 1844687288 + .long 1069138716 + .long 4046390903 + .long 1072636361 + .long 2786814309 + .long 1069098096 + .long 2303875791 + .long 1072637951 + .long 3638890659 + .long 1069058257 + .long 2590673673 + .long 1072639502 + .long 3222303380 + .long 1069019190 + .long 3829035115 + .long 1072641015 + .long 124941498 + .long 1068980886 + .long 607011814 + .long 1072642492 + .long 1316127179 + .long 1068943334 + .long 358134174 + .long 1072643932 + .long 696292715 + .long 1068906526 + .long 1886406929 + .long 1072645336 + .long 595841400 + .long 1068870452 + .long 3956099039 + .long 1072646705 + .long 3208742923 + .long 1068835102 + .long 996654455 + .long 1072648041 + .long 2025629493 + .long 1068800468 + .long 282461591 + .long 1072649343 + .long 3331159491 + .long 1068766539 + .long 457938895 + .long 1072650612 + .long 456233562 + .long 1068733307 + .long 127412743 + .long 1072651849 + .long 3864275015 + .long 1068700760 + .long 2150048793 + .long 1072653054 + .long 2517520227 + .long 1068668891 + .long 754934402 + .long 1072654229 + .long 2552204883 + .long 1068637689 + .long 3015919169 + .long 1072655373 + .long 1528723567 + .long 1068607145 + .long 3081834457 + .long 1072656488 + .long 1335976541 + .long 1068577249 + .long 3651371907 + .long 1072657574 + .long 3915328100 + .long 1068547991 + .long 3088241816 + .long 1072658632 + .long 2689078049 + .long 1068519363 + .long 4011185713 + .long 1072659662 + .long 3811402329 + .long 1068483765 + .long 409169671 + .long 1072660666 + .long 3249658772 + .long 1068428968 + .long 3411299989 + .long 1072661642 + .long 4058137866 + .long 1068375372 + .long 2632245636 + .long 1072662593 + .long 2585699919 + .long 1068322959 + .long 532120432 + .long 1072663519 + .long 4081392135 + .long 1068271709 + .long 3826707455 + .long 1072664419 + .long 1250224180 + .long 1068221605 + .long 2012796269 + .long 1072665296 + .long 52563989 + .long 1068172627 + .long 1728109198 + .long 1072666149 + .long 2552846462 + .long 1068124756 + .long 981699159 + .long 1072666979 + .long 2652176382 + .long 1068077975 + .long 2039066381 + .long 1072667786 + .long 3294767379 + .long 1068032265 + .long 2832451379 + .long 1072668571 + .long 3608617230 + .long 1067987608 + .long 1256042053 + .long 1072669335 + .long 3225068209 + .long 1067943986 + .long 3756159862 + .long 1072670077 + .long 2302425099 + .long 1067901381 + .long 3856686221 + .long 1072670799 + .long 1548607803 + .long 1067859775 + .long 3634172681 + .long 1072671501 + .long 2242848736 + .long 1067819150 + .long 833223107 + .long 1072672184 + .long 1961478441 + .long 1067779489 + .long 1751689540 + .long 1072672847 + .long 3187679808 + .long 1067740774 + .long 4061106433 + .long 1072673491 + .long 445484238 + .long 1067702989 + .long 1101970377 + .long 1072674118 + .long 1792596734 + .long 1067666115 + .long 3358897570 + .long 1072674726 + .long 3067683861 + .long 1067630136 + .long 4101214576 + .long 1072675317 + .long 791483465 + .long 1067595036 + .long 858131621 + .long 1072675892 + .long 772076534 + .long 1067560797 + .long 4009021290 + .long 1072676449 + .long 939498435 + .long 1067527403 + .long 2424031124 + .long 1072676991 + .long 4244278389 + .long 1067494837 + .long 2119146704 + .long 1072677517 + .long 1490379385 + .long 1067463085 + .long 486751354 + .long 1072678028 + .long 2823928994 + .long 1067413890 + .long 3475864463 + .long 1072678523 + .long 1239644147 + .long 1067353540 + .long 4117679416 + .long 1072679004 + .long 1583294687 + .long 1067294720 + .long 4000779385 + .long 1072679471 + .long 183503499 + .long 1067237400 + .long 386619275 + .long 1072679925 + .long 3539777017 + .long 1067181548 + .long 3389782899 + .long 1072680364 + .long 2569008951 + .long 1067127136 + .long 1618636412 + .long 1072680791 + .long 2685116163 + .long 1067074133 + .long 830429231 + .long 1072681205 + .long 2337656347 + .long 1067022510 + .long 2456855919 + .long 1072681606 + .long 1613838398 + .long 1066972238 + .long 3604457349 + .long 1072681995 + .long 2249252296 + .long 1066923288 + .long 1349991605 + .long 1072682373 + .long 3342318405 + .long 1066875632 + .long 1330774330 + .long 1072682739 + .long 1362423571 + .long 1066829243 + .long 565217133 + .long 1072683094 + .long 3041711418 + .long 1066784092 + .long 338138595 + .long 1072683438 + .long 3905919518 + .long 1066740153 + .long 1906207337 + .long 1072683771 + .long 1163773073 + .long 1066697400 + .long 2203386035 + .long 1072684094 + .long 2300262366 + .long 1066655805 + .long 2431278016 + .long 1072684407 + .long 3604033067 + .long 1066615343 + .long 3764572361 + .long 1072684710 + .long 3053431638 + .long 1066575989 + .long 3056489171 + .long 1072685004 + .long 316598267 + .long 1066537718 + .long 1429126614 + .long 1072685289 + .long 1045509085 + .long 1066500504 + .long 4273873027 + .long 1072685564 + .long 3989163593 + .long 1066464323 + .long 4071949264 + .long 1072685831 + .long 990720597 + .long 1066429153 + .long 1869655883 + .long 1072686090 + .long 1212065788 + .long 1066388145 + .long 2983815532 + .long 1072686340 + .long 363369668 + .long 1066321702 + .long 4117279489 + .long 1072686582 + .long 1763689544 + .long 1066257139 + .long 1949269238 + .long 1072686817 + .long 2478908466 + .long 1066194412 + .long 1725716385 + .long 1072687044 + .long 2888078907 + .long 1066133477 + .long 79796966 + .long 1072687264 + .long 2372613493 + .long 1066074291 + .long 2212202096 + .long 1072687476 + .long 3593940430 + .long 1066016811 + .long 416700746 + .long 1072687682 + .long 3884847023 + .long 1065960996 + .long 4145307718 + .long 1072687880 + .long 3819341470 + .long 1065906805 + .long 1353972341 + .long 1072688073 + .long 2896320203 + .long 1065854198 + .long 1452643118 + .long 1072688259 + .long 3811934768 + .long 1065803135 + .long 945918203 + .long 1072688439 + .long 3845878455 + .long 1065753578 + .long 613300468 + .long 1072688613 + .long 3426419565 + .long 1065705489 + .long 1214612974 + .long 1072688781 + .long 1809465164 + .long 1065658831 + .long 3490378522 + .long 1072688943 + .long 1346545806 + .long 1065613567 + .long 3867228532 + .long 1072689100 + .long 3161905125 + .long 1065569661 + .long 3048210366 + .long 1072689252 + .long 2828680980 + .long 1065527079 + .long 1718189174 + .long 1072689399 + .long 3224098489 + .long 1065485786 + .long 544213361 + .long 1072689541 + .long 1614052134 + .long 1065445749 + .long 175876290 + .long 1072689678 + .long 2506733613 + .long 1065406934 + .long 1245674115 + .long 1072689810 + .long 440778734 + .long 1065369310 + .long 74392377 + .long 1072689938 + .long 2854914290 + .long 1065312472 + .long 1556357759 + .long 1072690061 + .long 2885144677 + .long 1065241796 + .long 1979914676 + .long 1072690180 + .long 2850023781 + .long 1065173315 + .long 1912668770 + .long 1072690295 + .long 1599866748 + .long 1065106970 + .long 1906856997 + .long 1072690406 + .long 3477767080 + .long 1065042702 + .long 2499680735 + .long 1072690513 + .long 1069144869 + .long 1064980456 + .long 4213634550 + .long 1072690616 + .long 900163108 + .long 1064920175 + .long 3261863288 + .long 1072690716 + .long 1890778166 + .long 1064861805 + .long 138416642 + .long 1072690813 + .long 3871912933 + .long 1064805293 + .long 3913531953 + .long 1072690905 + .long 3217154659 + .long 1064750588 + .long 2169174156 + .long 1072690995 + .long 1358854176 + .long 1064697639 + .long 3949015241 + .long 1072691081 + .long 418893404 + .long 1064646396 + .long 1104030541 + .long 1072691165 + .long 3134058972 + .long 1064596810 + .long 2652534488 + .long 1072691245 + .long 4191186495 + .long 1064548835 + .long 420735059 + .long 1072691323 + .long 3036910975 + .long 1064502425 + .long 3402760357 + .long 1072691397 + .long 3802347199 + .long 1064457534 + .long 3401203862 + .long 1072691469 + .long 2342760329 + .long 1064414119 + .long 797207216 + .long 1072691539 + .long 3341957742 + .long 1064372136 + .long 255767335 + .long 1072691606 + .long 3056948772 + .long 1064331544 + .long 2136071610 + .long 1072691670 + .long 4254871605 + .long 1064279964 + .long 2491763111 + .long 1072691732 + .long 2411097017 + .long 1064204100 + .long 1661135790 + .long 1072691792 + .long 1761415536 + .long 1064130778 + .long 4267390501 + .long 1072691849 + .long 3209400075 + .long 1064059922 + .long 2039017291 + .long 1072691905 + .long 2939049396 + .long 1063991459 + .long 3874813376 + .long 1072691958 + .long 855986431 + .long 1063925317 + .long 1484387166 + .long 1072692010 + .long 439408485 + .long 1063861425 + .long 3748134511 + .long 1072692059 + .long 4870352 + .long 1063799715 + .long 2357733727 + .long 1072692107 + .long 1147781519 + .long 1063740120 + .long 1881145616 + .long 1072692153 + .long 7952899 + .long 1063682576 + .long 2582968793 + .long 1072692197 + .long 9969043 + .long 1063627019 + .long 424659812 + .long 1072692240 + .long 3129779709 + .long 1063573387 + .long 4244618108 + .long 1072692280 + .long 1162410711 + .long 1063521622 + .long 1398659061 + .long 1072692320 + .long 1350592543 + .long 1063471664 + .long 709894103 + .long 1072692358 + .long 475017707 + .long 1063423457 + .long 2404162538 + .long 1072692394 + .long 1895560955 + .long 1063376945 + .long 2405197521 + .long 1072692429 + .long 2529068952 + .long 1063332075 + .long 924755159 + .long 1072692463 + .long 1303374431 + .long 1063288795 + .long 2462804903 + .long 1072692495 + .long 2340583905 + .long 1063238043 + .long 2922813959 + .long 1072692526 + .long 765339184 + .long 1063157539 + .long 2496831451 + .long 1072692556 + .long 1905645544 + .long 1063079917 + .long 1370699398 + .long 1072692585 + .long 4160263103 + .long 1063005084 + .long 4019194350 + .long 1072692612 + .long 45342386 + .long 1062932951 + .long 2026328650 + .long 1072692639 + .long 1710715325 + .long 1062863427 + .long 4150288103 + .long 1072692664 + .long 2034959285 + .long 1062796428 + .long 1963856416 + .long 1072692689 + .long 148304367 + .long 1062731871 + .long 4214312639 + .long 1072692712 + .long 1189117402 + .long 1062669674 + .long 2463848165 + .long 1072692735 + .long 3178906437 + .long 1062609759 + .long 1154489547 + .long 1072692757 + .long 1080654215 + .long 1062552051 + .long 428377468 + .long 1072692778 + .long 3745546411 + .long 1062496474 + .long 422878663 + .long 1072692798 + .long 3618581269 + .long 1062442958 + .long 1270727063 + .long 1072692817 + .long 2282300494 + .long 1062391433 + .long 3100161527 + .long 1072692835 + .long 1644348923 + .long 1062341831 + .long 1740092897 + .long 1072692853 + .long 3718552903 + .long 1062294086 + .long 1605136939 + .long 1072692870 + .long 1819661463 + .long 1062248136 + .long 2810840233 + .long 1072692886 + .long 3652931310 + .long 1062200348 + .long 1173804762 + .long 1072692902 + .long 997716742 + .long 1062115258 + .long 1096711236 + .long 1072692917 + .long 611465250 + .long 1062033397 + .long 2683535545 + .long 1072692931 + .long 1268352122 + .long 1061954653 + .long 1739664066 + .long 1072692945 + .long 3774361106 + .long 1061878917 + .long 2656907874 + .long 1072692958 + .long 1990048797 + .long 1061806085 + .long 1233742957 + .long 1072692971 + .long 3925276832 + .long 1061736053 + .long 1855285919 + .long 1072692983 + .long 1301510391 + .long 1061668724 + .long 313528501 + .long 1072692995 + .long 3545772009 + .long 1061604000 + .long 987307714 + .long 1072693006 + .long 3072231739 + .long 1061541790 + .long 3957502177 + .long 1072693016 + .long 700415168 + .long 1061482004 + .long 712160398 + .long 1072693027 + .long 1015674294 + .long 1061424554 + .long 4211364825 + .long 1072693036 + .long 3441679162 + .long 1061369356 + .long 1642682013 + .long 1072693046 + .long 1909782298 + .long 1061316330 + .long 1665890809 + .long 1072693055 + .long 1715136991 + .long 1061265396 + .long 53329472 + .long 1072693064 + .long 2019904798 + .long 1061216478 + .long 1164815244 + .long 1072693072 + .long 4133034056 + .long 1061169502 + .long 767855920 + .long 1072693080 + .long 938778593 + .long 1061089885 + .long 3217597497 + .long 1072693087 + .long 45480017 + .long 1061003281 + .long 4277031209 + .long 1072693094 + .long 316452781 + .long 1060920148 + .long 4001969454 + .long 1072693101 + .long 2721989136 + .long 1060840357 + .long 2446150390 + .long 1072693108 + .long 1032835521 + .long 1060763785 + .long 3956275029 + .long 1072693114 + .long 2753065605 + .long 1060690310 + .long 4287173117 + .long 1072693120 + .long 2820848798 + .long 1060619817 + .long 3486770775 + .long 1072693126 + .long 271267104 + .long 1060552194 + .long 1601187023 + .long 1072693132 + .long 2026441674 + .long 1060487331 + .long 2969762984 + .long 1072693137 + .long 927900277 + .long 1060425125 + .long 3340220053 + .long 1072693142 + .long 1025459971 + .long 1060365474 + .long 2753620020 + .long 1072693147 + .long 4223106765 + .long 1060308280 + .long 1249454257 + .long 1072693152 + .long 1231370686 + .long 1060253451 + .long 3160665754 + .long 1072693156 + .long 1185758032 + .long 1060200894 + .long 4228800307 + .long 1072693160 + .long 1146814719 + .long 1060150522 + .long 193992533 + .long 1072693165 + .long 1416679249 + .long 1060094165 + .long 3974884891 + .long 1072693168 + .long 3168049461 + .long 1060001659 + .long 2719002994 + .long 1072693172 + .long 1524549056 + .long 1059913034 + .long 752475327 + .long 1072693176 + .long 1702683749 + .long 1059828137 + .long 2400209350 + .long 1072693179 + .long 2214749525 + .long 1059746822 + .long 3396000745 + .long 1072693182 + .long 2714889529 + .long 1059668948 + .long 3767477749 + .long 1072693185 + .long 3275007653 + .long 1059594379 + .long 3541174945 + .long 1072693188 + .long 3680105052 + .long 1059522984 + .long 2742573010 + .long 1072693191 + .long 2742671543 + .long 1059454637 + .long 1396137187 + .long 1072693194 + .long 1930731778 + .long 1059389216 + .long 3820321791 + .long 1072693196 + .long 424277854 + .long 1059326604 + .long 1447737015 + .long 1072693199 + .long 3074559673 + .long 1059266687 + .long 2889954809 + .long 1072693201 + .long 2611163775 + .long 1059209358 + .long 3872771463 + .long 1072693203 + .long 521028298 + .long 1059154512 + .long 121142023 + .long 1072693206 + .long 2174524969 + .long 1059102047 + .long 244113626 + .long 1072693208 + .long 2461272610 + .long 1059041975 + .long 4260019406 + .long 1072693209 + .long 1131027093 + .long 1058945999 + .long 3596507856 + .long 1072693211 + .long 2009173253 + .long 1058854226 + .long 2565407666 + .long 1072693213 + .long 1615100380 + .long 1058766484 + .long 1182885939 + .long 1072693215 + .long 3221825245 + .long 1058682606 + .long 3759409239 + .long 1072693216 + .long 3000825785 + .long 1058602433 + .long 1719899946 + .long 1072693218 + .long 1965540345 + .long 1058525811 + .long 3668531992 + .long 1072693219 + .long 763189321 + .long 1058452592 + .long 1029016297 + .long 1072693221 + .long 3084060488 + .long 1058382633 + .long 2404362103 + .long 1072693222 + .long 1917799745 + .long 1058315799 + .long 3512128068 + .long 1072693223 + .long 195668558 + .long 1058251958 + .long 69345537 + .long 1072693225 + .long 1393620869 + .long 1058190983 + .long 677441054 + .long 1072693226 + .long 160341434 + .long 1058132754 + .long 1052452475 + .long 1072693227 + .long 3034396383 + .long 1058077153 + .long 1204917335 + .long 1072693228 + .long 1940473490 + .long 1058024070 + .long 1144924039 + .long 1072693229 + .long 2791683145 + .long 1057933609 + .long 882129685 + .long 1072693230 + .long 1284377069 + .long 1057836875 + .long 425777245 + .long 1072693231 + .long 3138430378 + .long 1057744555 + .long 4079679407 + .long 1072693231 + .long 3254443766 + .long 1057656460 + .long 3262365346 + .long 1072693232 + .long 3585789915 + .long 1057572407 + .long 2276899854 + .long 1072693233 + .long 3340902607 + .long 1057492221 + .long 1131028956 + .long 1072693234 + .long 2109898645 + .long 1057415734 + .long 4127128746 + .long 1072693234 + .long 3029561298 + .long 1057342784 + .long 2682349923 + .long 1072693235 + .long 3100733692 + .long 1057273217 + .long 1098434770 + .long 1072693236 + .long 721863346 + .long 1057206885 + .long 3676827974 + .long 1072693236 + .long 3257818550 + .long 1057143644 + .long 1833786974 + .long 1072693237 + .long 283247917 + .long 1057083360 + .long 4165164796 + .long 1072693237 + .long 1283760382 + .long 1057025900 + .long 2086683008 + .long 1072693238 + .long 375021366 + .long 1056971140 + .long 4193680981 + .long 1072693238 + .long 2365640311 + .long 1056873310 + .long 1901387990 + .long 1072693239 + .long 1902930970 + .long 1056773877 + .long 3804671650 + .long 1072693239 + .long 903220739 + .long 1056679152 + .long 1318309237 + .long 1072693240 + .long 2063855685 + .long 1056588923 + .long 3036735356 + .long 1072693240 + .long 3397372173 + .long 1056502988 + .long 374312518 + .long 1072693241 + .long 1034711862 + .long 1056421154 + .long 1925078105 + .long 1072693241 + .long 670870767 + .long 1056343234 + .long 3397981554 + .long 1072693241 + .long 3291650888 + .long 1056269050 + .long 501794178 + .long 1072693242 + .long 3834664178 + .long 1056198433 + .long 1830018675 + .long 1072693242 + .long 2783069783 + .long 1056131220 + .long 3091092664 + .long 1072693242 + .long 625790851 + .long 1056067255 + .long 4288264900 + .long 1072693242 + .long 952568083 + .long 1056006388 + .long 1129667423 + .long 1072693243 + .long 707602500 + .long 1055948477 + .long 2208191219 + .long 1072693243 + .long 3920299786 + .long 1055870738 + .long 3231688653 + .long 1072693243 + .long 187138140 + .long 1055765933 + .long 4202848619 + .long 1072693243 + .long 4197216078 + .long 1055666254 + .long 829267664 + .long 1072693244 + .long 3910421342 + .long 1055571465 + .long 1703324662 + .long 1072693244 + .long 2296866372 + .long 1055481337 + .long 2532382302 + .long 1072693244 + .long 2605637707 + .long 1055395651 + .long 3318661313 + .long 1072693244 + .long 2292620388 + .long 1055314199 + .long 4064278012 + .long 1072693244 + .long 4195044292 + .long 1055236781 + .long 476281643 + .long 1072693245 + .long 2000853903 + .long 1055163208 + .long 1146528013 + .long 1072693245 + .long 140279194 + .long 1055093297 + .long 1781879969 + .long 1072693245 + .long 3672993662 + .long 1055026873 + .long 2384080674 + .long 1072693245 + .long 3938617616 + .long 1054963772 + .long 2954790214 + .long 1072693245 + .long 2918251757 + .long 1054903835 + .long 3495589354 + .long 1072693245 + .long 2286364164 + .long 1054826365 + .long 4007983120 + .long 1072693245 + .long 1376975757 + .long 1054718251 + .long 198436946 + .long 1072693246 + .long 3549789914 + .long 1054615596 + .long 658249143 + .long 1072693246 + .long 3134081244 + .long 1054518138 + .long 1093750278 + .long 1072693246 + .long 3217770792 + .long 1054425625 + .long 1506175371 + .long 1072693246 + .long 544573006 + .long 1054337818 + .long 1896699486 + .long 1072693246 + .long 563778522 + .long 1054254487 + .long 2266440493 + .long 1072693246 + .long 2499998483 + .long 1054175414 + .long 2616461708 + .long 1072693246 + .long 1684473986 + .long 1054100392 + .long 2947774421 + .long 1072693246 + .long 555072738 + .long 1054029222 + .long 3261340318 + .long 1072693246 + .long 2552316963 + .long 1053961714 + .long 3558073783 + .long 1072693246 + .long 1793581277 + .long 1053897689 + .long 3838844118 + .long 1072693246 + .long 2882522604 + .long 1053836974 + .long 4104477652 + .long 1072693246 + .long 4263347778 + .long 1053739932 + .long 60792463 + .long 1072693247 + .long 2125306315 + .long 1053630777 + .long 298469494 + .long 1072693247 + .long 1283904372 + .long 1053527305 + .long 523250625 + .long 1072693247 + .long 4039517916 + .long 1053429232 + .long 735809613 + .long 1072693247 + .long 1769278009 + .long 1053336290 + .long 936786486 + .long 1072693247 + .long 2403362003 + .long 1053248220 + .long 1126789145 + .long 1072693247 + .long 2174681212 + .long 1053164778 + .long 1306394904 + .long 1072693247 + .long 422102777 + .long 1053085731 + .long 1476151957 + .long 1072693247 + .long 1608658464 + .long 1053010856 + .long 1636580774 + .long 1072693247 + .long 255934547 + .long 1052939943 + .long 1788175440 + .long 1072693247 + .long 330542066 + .long 1052872790 + .long 1931404929 + .long 1072693247 + .long 359609029 + .long 1052809206 + .long 2066714326 + .long 1072693247 + .long 212821653 + .long 1052727714 + .long 2194525979 + .long 1072693247 + .long 1771024860 + .long 1052613747 + .long 2315240618 + .long 1072693247 + .long 3323366318 + .long 1052505878 + .long 2429238401 + .long 1072693247 + .long 3333784466 + .long 1052403794 + .long 2536879931 + .long 1072693247 + .long 1884899977 + .long 1052307197 + .long 2638507212 + .long 1072693247 + .long 1901768341 + .long 1052215803 + .long 2734444565 + .long 1072693247 + .long 1919585796 + .long 1052129343 + .long 2824999505 + .long 1072693247 + .long 1864802922 + .long 1052047561 + .long 2910463570 + .long 1072693247 + .long 369621280 + .long 1051970214 + .long 2991113117 + .long 1072693247 + .long 794742200 + .long 1051897070 + .long 3067210077 + .long 1072693247 + .long 185746157 + .long 1051827910 + .long 3139002674 + .long 1072693247 + .long 4108134519 + .long 1051762524 + .long 3206726114 + .long 1072693247 + .long 1569140952 + .long 1051679705 + .long 3270603235 + .long 1072693247 + .long 3808394293 + .long 1051562865 + .long 3330845135 + .long 1072693247 + .long 3847034202 + .long 1051452445 + .long 3387651756 + .long 1072693247 + .long 3767465203 + .long 1051348105 + .long 3441212456 + .long 1072693247 + .long 2207887660 + .long 1051249523 + .long 3491706543 + .long 1072693247 + .long 3687336940 + .long 1051156392 + .long 3539303784 + .long 1072693247 + .long 2322652348 + .long 1051068423 + .long 3584164895 + .long 1072693247 + .long 60084372 + .long 1050985340 + .long 3626442002 + .long 1072693247 + .long 3580394494 + .long 1050906880 + .long 3666279081 + .long 1072693247 + .long 4166097879 + .long 1050832797 + .long 3703812375 + .long 1072693247 + .long 654319384 + .long 1050762856 + .long 3739170797 + .long 1072693247 + .long 1044918721 + .long 1050696832 + .long 3772476305 + .long 1072693247 + .long 1221590325 + .long 1050595877 + .long 3803844261 + .long 1072693247 + .long 1858992497 + .long 1050478253 + .long 3833383776 + .long 1072693247 + .long 2222963862 + .long 1050367260 + .long 3861198036 + .long 1072693247 + .long 4044534932 + .long 1050262537 + .long 3887384606 + .long 1072693247 + .long 4037682077 + .long 1050163743 + .long 3912035731 + .long 1072693247 + .long 2751298525 + .long 1050070554 + .long 3935238607 + .long 1072693247 + .long 726747225 + .long 1049982663 + .long 3957075654 + .long 1072693247 + .long 3427405224 + .long 1049899778 + .long 3977624762 + .long 1072693247 + .long 572377531 + .long 1049821626 + .long 3996959532 + .long 1072693247 + .long 1471006056 + .long 1049747944 + .long 4015149506 + .long 1072693247 + .long 1796687607 + .long 1049678486 + .long 4032260375 + .long 1072693247 + .long 4103915186 + .long 1049601460 + .long 4048354194 + .long 1072693247 + .long 817191958 + .long 1049478062 + .long 4063489565 + .long 1072693247 + .long 1436794216 + .long 1049361781 + .long 4077721832 + .long 1072693247 + .long 2657182346 + .long 1049252221 + .long 4091103247 + .long 1072693247 + .long 2406257951 + .long 1049149007 + .long 4103683142 + .long 1072693247 + .long 3738473273 + .long 1049051783 + .long 4115508082 + .long 1072693247 + .long 1777519924 + .long 1048960214 + .long 4126622017 + .long 1072693247 + .long 942680177 + .long 1048873981 + .long 4137066424 + .long 1072693247 + .long 2319192650 + .long 1048792783 + .long 4146880438 + .long 1072693247 + .long 4112632783 + .long 1048716336 + .long 4156100982 + .long 1072693247 + .long 2293150261 + .long 1048644372 + .long 4164762887 + .long 1072693247 + .long 10642342 + .long 1048576636 + .long 4172899006 + .long 1072693247 + .long 5176375 + .long 1048449774 + .long 4180540322 + .long 1072693247 + .long 2922557803 + .long 1048329796 + .long 4187716050 + .long 1072693247 + .long 2705392296 + .long 1048216910 + .long 4194453736 + .long 1072693247 + .long 359265373 + .long 1048110710 + .long 4200779348 + .long 1072693247 + .long 2889113445 + .long 1048010811 + .long 4206717364 + .long 1072693247 + .long 1020973057 + .long 1047916853 + .long 4212290853 + .long 1072693247 + .long 3016231241 + .long 1047828492 + .long 4217521554 + .long 1072693247 + .long 11971917 + .long 1047745407 + .long 4222429951 + .long 1072693247 + .long 314571880 + .long 1047667291 + .long 4227035341 + .long 1072693247 + .long 3786258409 + .long 1047593856 + .long 4231355901 + .long 1072693247 + .long 131461034 + .long 1047522241 + .long 4235408754 + .long 1072693247 + .long 2699979079 + .long 1047392498 + .long 4239210022 + .long 1072693247 + .long 411815652 + .long 1047270578 + .long 4242774887 + .long 1072693247 + .long 1157099645 + .long 1047156022 + .long 4246117644 + .long 1072693247 + .long 3456465376 + .long 1047048399 + .long 4249251749 + .long 1072693247 + .long 3319603447 + .long 1046947303 + .long 4252189866 + .long 1072693247 + .long 1417286464 + .long 1046852350 + .long 4254943915 + .long 1072693247 + .long 1961438867 + .long 1046763177 + .long 4257525114 + .long 1072693247 + .long 3278475384 + .long 1046679443 + .long 4259944014 + .long 1072693247 + .long 1536658680 + .long 1046600827 + .long 4262210544 + .long 1072693247 + .long 3319082773 + .long 1046527024 + .long 4264334043 + .long 1072693247 + .long 3864661119 + .long 1046436651 + .long 4266323294 + .long 1072693247 + .long 2380952407 + .long 1046306618 + .long 4268186557 + .long 1072693247 + .long 1526944091 + .long 1046184593 + .long 4269931598 + .long 1072693247 + .long 2121831560 + .long 1046070097 + .long 4271565719 + .long 1072693247 + .long 3741717358 + .long 1045962679 + .long 4273095783 + .long 1072693247 + .long 2372148486 + .long 1045861915 + .long 4274528242 + .long 1072693247 + .long 1301376174 + .long 1045767404 + .long 4275869159 + .long 1072693247 + .long 876419281 + .long 1045678769 + .long 4277124229 + .long 1072693247 + .long 1464367617 + .long 1045595655 + .long 4278298806 + .long 1072693247 + .long 2422592759 + .long 1045517728 + .long 4279397918 + .long 1072693247 + .long 1357171196 + .long 1045444674 + .long 4280426288 + .long 1072693247 + .long 194145400 + .long 1045322121 + .long 4281388351 + .long 1072693247 + .long 380152291 + .long 1045193761 + .long 4282288274 + .long 1072693247 + .long 1583684278 + .long 1045073472 + .long 4283129967 + .long 1072693247 + .long 2165635186 + .long 1044960761 + .long 4283917101 + .long 1072693247 + .long 1516692231 + .long 1044855164 + .long 4284653124 + .long 1072693247 + .long 1455793348 + .long 1044756244 + .long 4285341270 + .long 1072693247 + .long 3729863063 + .long 1044663590 + .long 4285984575 + .long 1072693247 + .long 3593934135 + .long 1044576817 + .long 4286585887 + .long 1072693247 + .long 926645059 + .long 1044495562 + .long 4287147879 + .long 1072693247 + .long 3092460447 + .long 1044419482 + .long 4287673059 + .long 1072693247 + .long 410724451 + .long 1044314821 + .long 4288163777 + .long 1072693247 + .long 1647694055 + .long 1044181480 + .long 4288622239 + .long 1072693247 + .long 2719124395 + .long 1044056680 + .long 4289050512 + .long 1072693247 + .long 1706837060 + .long 1043939889 + .long 4289450537 + .long 1072693247 + .long 1950214717 + .long 1043830606 + .long 4289824130 + .long 1072693247 + .long 3939307600 + .long 1043728361 + .long 4290172996 + .long 1072693247 + .long 1960757033 + .long 1043632714 + .long 4290498730 + .long 1072693247 + .long 2651595104 + .long 1043543249 + .long 4290802831 + .long 1072693247 + .long 1012882634 + .long 1043459578 + .long 4291086700 + .long 1072693247 + .long 4055189249 + .long 1043381334 + .long 4291351650 + .long 1072693247 + .long 2246068185 + .long 1043283233 + .long 4291598913 + .long 1072693247 + .long 2274647687 + .long 1043146443 + .long 4291829641 + .long 1072693247 + .long 2890637209 + .long 1043018575 + .long 4292044913 + .long 1072693247 + .long 4153511196 + .long 1042899062 + .long 4292245741 + .long 1072693247 + .long 1929129059 + .long 1042787373 + .long 4292433070 + .long 1072693247 + .long 357577118 + .long 1042683008 + .long 4292607786 + .long 1072693247 + .long 3367143719 + .long 1042585498 + .long 4292770720 + .long 1072693247 + .long 2385315144 + .long 1042494406 + .long 4292922646 + .long 1072693247 + .long 3169025495 + .long 1042409319 + .long 4293064292 + .long 1072693247 + .long 1533871520 + .long 1042329852 + .long 4293196336 + .long 1072693247 + .long 599006589 + .long 1042226741 + .long 4293319415 + .long 1072693247 + .long 1711861758 + .long 1042088158 + .long 4293434124 + .long 1072693247 + .long 3081973787 + .long 1041958776 + .long 4293541018 + .long 1072693247 + .long 1321268943 + .long 1041838000 + .long 4293640617 + .long 1072693247 + .long 3969874170 + .long 1041725270 + .long 4293733409 + .long 1072693247 + .long 2452445702 + .long 1041620065 + .long 4293819848 + .long 1072693247 + .long 1452932973 + .long 1041521894 + .long 4293900359 + .long 1072693247 + .long 1595251056 + .long 1041430298 + .long 4293975339 + .long 1072693247 + .long 4117849423 + .long 1041344847 + .long 4294045161 + .long 1072693247 + .long 3152677356 + .long 1041265140 + .long 4294110170 + .long 1072693247 + .long 4175288180 + .long 1041145631 + .long 4294170691 + .long 1072693247 + .long 597820103 + .long 1041006978 + .long 4294227027 + .long 1072693247 + .long 3535028301 + .long 1040877691 + .long 4294279462 + .long 1072693247 + .long 918940523 + .long 1040757155 + .long 4294328259 + .long 1072693247 + .long 857999498 + .long 1040644790 + .long 4294373665 + .long 1072693247 + .long 3808560570 + .long 1040540055 + .long 4294415910 + .long 1072693247 + .long 1160780690 + .long 1040442446 + .long 4294455211 + .long 1072693247 + .long 201215039 + .long 1040351488 + .long 4294491767 + .long 1072693247 + .long 2402111668 + .long 1040266738 + .long 4294525766 + .long 1072693247 + .long 3723319669 + .long 1040187783 + .long 4294557384 + .long 1072693247 + .long 3725520897 + .long 1040041081 + .long 4294586783 + .long 1072693247 + .long 3671313057 + .long 1039904079 + .long 4294614115 + .long 1072693247 + .long 1053981368 + .long 1039776493 + .long 4294639524 + .long 1072693247 + .long 3460466107 + .long 1039657689 + .long 4294663141 + .long 1072693247 + .long 3035482254 + .long 1039547078 + .long 4294685090 + .long 1072693247 + .long 3802544396 + .long 1039444107 + .long 4294705486 + .long 1072693247 + .long 2441474464 + .long 1039348261 + .long 4294724438 + .long 1072693247 + .long 4084805700 + .long 1039259057 + .long 4294742044 + .long 1072693247 + .long 79094155 + .long 1039176047 + .long 4294758399 + .long 1072693247 + .long 31353126 + .long 1039058801 + .long 4294773590 + .long 1072693247 + .long 4063319008 + .long 1038915083 + .long 4294787697 + .long 1072693247 + .long 264658679 + .long 1038781394 + .long 4294800797 + .long 1072693247 + .long 1173126429 + .long 1038657047 + .long 4294812960 + .long 1072693247 + .long 242573921 + .long 1038541405 + .long 4294824252 + .long 1072693247 + .long 2098620107 + .long 1038433871 + .long 4294834733 + .long 1072693247 + .long 2055068430 + .long 1038333890 + .long 4294844461 + .long 1072693247 + .long 741519124 + .long 1038240943 + .long 4294853489 + .long 1072693247 + .long 2256555279 + .long 1038154545 + .long 4294861866 + .long 1072693247 + .long 196354007 + .long 1038058252 + .long 4294869638 + .long 1072693247 + .long 445761606 + .long 1037909007 + .long 4294876848 + .long 1072693247 + .long 3476364679 + .long 1037770330 + .long 4294883536 + .long 1072693247 + .long 3529100902 + .long 1037641490 + .long 4294889738 + .long 1072693247 + .long 1621116022 + .long 1037521804 + .long 4294895490 + .long 1072693247 + .long 78936185 + .long 1037410635 + .long 4294900823 + .long 1072693247 + .long 2269474636 + .long 1037307389 + .long 4294905767 + .long 1072693247 + .long 292731349 + .long 1037211515 + .long 4294910351 + .long 1072693247 + .long 2122912913 + .long 1037122496 + .long 4294914599 + .long 1072693247 + .long 3023046673 + .long 1037038043 + .long 4294918536 + .long 1072693247 + .long 254831576 + .long 1036884616 + .long 4294922185 + .long 1072693247 + .long 571168224 + .long 1036742213 + .long 4294925565 + .long 1072693247 + .long 871548122 + .long 1036610059 + .long 4294928697 + .long 1072693247 + .long 3924370604 + .long 1036487431 + .long 4294931598 + .long 1072693247 + .long 2976320978 + .long 1036373658 + .long 4294934285 + .long 1072693247 + .long 1728080816 + .long 1036268113 + .long 4294936773 + .long 1072693247 + .long 892927807 + .long 1036170213 + .long 4294939078 + .long 1072693247 + .long 2817804388 + .long 1036079415 + .long 4294941211 + .long 1072693247 + .long 4045759389 + .long 1035995215 + .long 4294943186 + .long 1072693247 + .long 3073449671 + .long 1035841200 + .long 4294945014 + .long 1072693247 + .long 3519286355 + .long 1035696439 + .long 4294946706 + .long 1072693247 + .long 794405638 + .long 1035562248 + .long 4294948272 + .long 1072693247 + .long 2678131373 + .long 1035437869 + .long 4294949720 + .long 1072693247 + .long 3816540112 + .long 1035322600 + .long 4294951061 + .long 1072693247 + .long 234134080 + .long 1035215788 + .long 4294952301 + .long 1072693247 + .long 587911812 + .long 1035116823 + .long 4294953448 + .long 1072693247 + .long 4031748504 + .long 1035025140 + .long 4294954509 + .long 1072693247 + .long 925164896 + .long 1034935920 + .long 4294955489 + .long 1072693247 + .long 3358488129 + .long 1034778608 + .long 4294956396 + .long 1072693247 + .long 638703581 + .long 1034632928 + .long 4294957235 + .long 1072693247 + .long 807654845 + .long 1034498035 + .long 4294958010 + .long 1072693247 + .long 2657744191 + .long 1034373146 + .long 4294958726 + .long 1072693247 + .long 3663858009 + .long 1034257534 + .long 4294959389 + .long 1072693247 + .long 533492925 + .long 1034150524 + .long 4294960000 + .long 1072693247 + .long 3770229724 + .long 1034051486 + .long 4294960566 + .long 1072693247 + .long 1751462400 + .long 1033959840 + .long 4294961088 + .long 1072693247 + .long 1904247472 + .long 1033854151 + .long 4294961570 + .long 1072693247 + .long 1030368421 + .long 1033697253 + .long 4294962016 + .long 1072693247 + .long 4079129458 + .long 1033552117 + .long 4294962427 + .long 1072693247 + .long 1682458602 + .long 1033417880 + .long 4294962807 + .long 1072693247 + .long 3167377884 + .long 1033293737 + .long 4294963158 + .long 1072693247 + .long 491770573 + .long 1033178945 + .long 4294963482 + .long 1072693247 + .long 2200416094 + .long 1033072811 + .long 4294963781 + .long 1072693247 + .long 4169952110 + .long 1032974695 + .long 4294964057 + .long 1072693247 + .long 140330391 + .long 1032884004 + .long 4294964311 + .long 1072693247 + .long 3783382554 + .long 1032753008 + .long 4294964546 + .long 1072693247 + .long 551761884 + .long 1032598092 + .long 4294964763 + .long 1072693247 + .long 359970126 + .long 1032454950 + .long 4294964963 + .long 1072693247 + .long 1021270101 + .long 1032322704 + .long 4294965147 + .long 1072693247 + .long 1490695248 + .long 1032200540 + .long 4294965317 + .long 1072693247 + .long 3568738246 + .long 1032087703 + .long 4294965474 + .long 1072693247 + .long 2104695675 + .long 1031983495 + .long 4294965619 + .long 1072693247 + .long 2259752215 + .long 1031887267 + .long 4294965752 + .long 1072693247 + .long 2928907214 + .long 1031798055 + .long 4294965875 + .long 1072693247 + .long 825285899 + .long 1031634009 + .long 4294965988 + .long 1072693247 + .long 130522063 + .long 1031482582 + .long 4294966092 + .long 1072693247 + .long 3544208977 + .long 1031342820 + .long 4294966189 + .long 1072693247 + .long 3709295074 + .long 1031213842 + .long 4294966277 + .long 1072693247 + .long 4124611741 + .long 1031094830 + .long 4294966359 + .long 1072693247 + .long 2968308055 + .long 1030985028 + .long 4294966434 + .long 1072693247 + .long 4148065245 + .long 1030883735 + .long 4294966503 + .long 1072693247 + .long 3937194615 + .long 1030790304 + .long 4294966567 + .long 1072693247 + .long 693670124 + .long 1030658064 + .long 4294966626 + .long 1072693247 + .long 3047836189 + .long 1030499141 + .long 4294966680 + .long 1072693247 + .long 1761244566 + .long 1030352608 + .long 4294966730 + .long 1072693247 + .long 966529192 + .long 1030217515 + .long 4294966776 + .long 1072693247 + .long 2050080133 + .long 1030092984 + .long 4294966818 + .long 1072693247 + .long 2531893977 + .long 1029978204 + .long 4294966857 + .long 1072693247 + .long 871320764 + .long 1029872425 + .long 4294966892 + .long 1072693247 + .long 2788659082 + .long 1029774952 + .long 4294966925 + .long 1072693247 + .long 2156308587 + .long 1029668659 + .long 4294966955 + .long 1072693247 + .long 3654157322 + .long 1029503191 + .long 4294966983 + .long 1072693247 + .long 622519429 + .long 1029350775 + .long 4294967009 + .long 1072693247 + .long 1939798879 + .long 1029210397 + .long 4294967032 + .long 1072693247 + .long 3844698302 + .long 1029081123 + .long 4294967054 + .long 1072693247 + .long 3868101452 + .long 1028962090 + .long 4294967074 + .long 1072693247 + .long 3689445052 + .long 1028852500 + .long 4294967092 + .long 1072693247 + .long 788030992 + .long 1028751617 + .long 4294967109 + .long 1072693247 + .long 3128526661 + .long 1028658759 + .long 4294967124 + .long 1072693247 + .long 393221749 + .long 1028493545 + .long 4294967138 + .long 1072693247 + .long 3899460746 + .long 1028336263 + .long 4294967151 + .long 1072693247 + .long 3409408659 + .long 1028191549 + .long 4294967163 + .long 1072693247 + .long 622192947 + .long 1028058415 + .long 4294967174 + .long 1072693247 + .long 2664726297 + .long 1027935948 + .long 4294967184 + .long 1072693247 + .long 1558673822 + .long 1027823309 + .long 4294967194 + .long 1072693247 + .long 2777131896 + .long 1027719721 + .long 4294967202 + .long 1072693247 + .long 3972527094 + .long 1027624469 + .long 4294967210 + .long 1072693247 + .long 2120900631 + .long 1027469308 + .long 4294967217 + .long 1072693247 + .long 137556752 + .long 1027308292 + .long 4294967224 + .long 1072693247 + .long 569601398 + .long 1027160288 + .long 4294967230 + .long 1072693247 + .long 280212019 + .long 1027024262 + .long 4294967235 + .long 1072693247 + .long 4236421385 + .long 1026899259 + .long 4294967240 + .long 1072693247 + .long 3132998397 + .long 1026784402 + .long 4294967245 + .long 1072693247 + .long 269619050 + .long 1026678880 + .long 4294967249 + .long 1072693247 + .long 1633775828 + .long 1026581945 + .long 4294967253 + .long 1072693247 + .long 2528343355 + .long 1026429917 + .long 4294967257 + .long 1072693247 + .long 843477906 + .long 1026266381 + .long 4294967260 + .long 1072693247 + .long 640833957 + .long 1026116210 + .long 4294967263 + .long 1072693247 + .long 1040411868 + .long 1025978329 + .long 4294967266 + .long 1072693247 + .long 1466509739 + .long 1025851748 + .long 4294967268 + .long 1072693247 + .long 3307339414 + .long 1025735555 + .long 4294967271 + .long 1072693247 + .long 857222806 + .long 1025628912 + .long 4294967273 + .long 1072693247 + .long 33935978 + .long 1025531045 + .long 4294967275 + .long 1072693247 + .long 592853498 + .long 1025375158 + .long 4294967277 + .long 1072693247 + .long 3801380895 + .long 1025210375 + .long 4294967278 + .long 1072693247 + .long 3715147572 + .long 1025059210 + .long 4294967280 + .long 1072693247 + .long 4190633910 + .long 1024920554 + .long 4294967281 + .long 1072693247 + .long 3597701666 + .long 1024793388 + .long 4294967283 + .long 1072693247 + .long 3481239551 + .long 1024676774 + .long 4294967284 + .long 1072693247 + .long 2361296039 + .long 1024569850 + .long 4294967285 + .long 1072693247 + .long 265722145 + .long 1024471823 + .long 4294967286 + .long 1072693247 + .long 1895395227 + .long 1024305174 + .long 4294967287 + .long 1072693247 + .long 1800210858 + .long 1024140449 + .long 4294967287 + .long 1072693247 + .long 3069172694 + .long 1023989486 + .long 4294967288 + .long 1072693247 + .long 2893236102 + .long 1023851153 + .long 4294967289 + .long 1072693247 + .long 1719077557 + .long 1023724409 + .long 4294967289 + .long 1072693247 + .long 1914505601 + .long 1023608297 + .long 4294967290 + .long 1072693247 + .long 301987594 + .long 1023501939 + .long 4294967291 + .long 1072693247 + .long 282470485 + .long 1023398878 + .long 4294967291 + .long 1072693247 + .long 3168046348 + .long 1023220463 + .long 4294967291 + .long 1072693247 + .long 1009101993 + .long 1023057097 + .long 4294967292 + .long 1072693247 + .long 3997083445 + .long 1022907527 + .long 4294967292 + .long 1072693247 + .long 2336955916 + .long 1022770607 + .long 4294967293 + .long 1072693247 + .long 3868880033 + .long 1022645281 + .long 4294967293 + .long 1072693247 + .long 1476581786 + .long 1022530583 + .long 4294967293 + .long 1072693247 + .long 3208709775 + .long 1022425623 + .long 4294967293 + .long 1072693247 + .long 716057529 + .long 1022297576 + .long 4294967294 + .long 1072693247 + .long 28479576 + .long 1022121857 + .long 4294967294 + .long 1072693247 + .long 3319607164 + .long 1021961117 + .long 4294967294 + .long 1072693247 + .long 2804464626 + .long 1021814099 + .long 4294967294 + .long 1072693247 + .long 148574980 + .long 1021679648 + .long 4294967294 + .long 1072693247 + .long 69395739 + .long 1021556704 + .long 4294967294 + .long 1072693247 + .long 2564419134 + .long 1021444296 + .long 4294967295 + .long 1072693247 + .long 2125879894 + .long 1021341535 + .long 4294967295 + .long 1072693247 + .long 344595749 + .long 1021182185 + .long 4294967295 + .long 1072693247 + .long 872566418 + .long 1021010487 + .long 4294967295 + .long 1072693247 + .long 25762808 + .long 1020853582 + .long 4294967295 + .long 1072693247 + .long 3343322505 + .long 1020710212 + .long 4294967295 + .long 1072693247 + .long 68521175 + .long 1020579228 + .long 4294967295 + .long 1072693247 + .long 3210511172 + .long 1020459572 + .long 4294967295 + .long 1072693247 + .long 2432640097 + .long 1020350280 + .long 4294967295 + .long 1072693247 + .long 2650426869 + .long 1020236484 + .long 4294967295 + .long 1072693247 + .long 2803544287 + .long 1020054190 + .long 4294967295 + .long 1072693247 + .long 2667581847 + .long 1019887746 + .long 0 + .long 1072693248 + .long 995748204 + .long 1019735793 + .long 0 + .long 1072693248 + .long 438643701 + .long 1019597086 + .long 0 + .long 1072693248 + .long 809181847 + .long 1019470486 + .long 0 + .long 1072693248 + .long 10437582 + .long 1019354951 + .long 0 + .long 1072693248 + .long 2354988354 + .long 1019249526 + .long 0 + .long 1072693248 + .long 3627099743 + .long 1019090807 + .long 0 + .long 1072693248 + .long 184652213 + .long 1018915313 + .long 0 + .long 1072693248 + .long 2690341715 + .long 1018755235 + .long 0 + .long 1072693248 + .long 1010878695 + .long 1018609239 + .long 0 + .long 1072693248 + .long 3130597339 + .long 1018476101 + .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 1075312640 + .long 0 + .long 1075312640 + .long 0 + .long 1075312640 + .long 0 + .long 1075312640 + .long 0 + .long 1075312640 + .long 0 + .long 1075312640 + .long 0 + .long 1075312640 + .long 0 + .long 1075312640 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 804257792 + .long 0 + .long 804257792 + .long 0 + .long 804257792 + .long 0 + .long 804257792 + .long 0 + .long 804257792 + .long 0 + .long 804257792 + .long 0 + .long 804257792 + .long 0 + .long 804257792 + .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 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 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .long 2958810789 + .long 3215376749 + .long 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .long 899900337 + .long 1069617426 + .long 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .long 477227863 + .long 1070363082 + .long 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .long 736288168 + .long 3218708892 + .long 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .long 6991 + .long 3217380696 + .long 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .long 736293154 + .long 1069128094 + .long 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .long 1431652342 + .long 3218429269 + .long 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .long 4294956237 + .long 1071644671 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .long 1431653132 + .long 1071994197 + .long 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .long 1431655765 + .long 3218429269 + .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 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 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .long 3149651110 + .long 1071994199 + .long 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .long 2147488809 + .long 3220176897 + .long 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .long 22118 + .long 1071644676 + .long 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .long 2290691940 + .long 3218429276 + .long 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .long 3748619702 + .long 1076933868 + .long 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .long 1332865885 + .long 1072827863 + .long 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .long 4175280127 + .long 3218608755 + .long 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .long 1654303500 + .long 1069343463 + .long 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .long 2550143969 + .long 3214639717 + .long 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .long 1811974982 + .long 1064657815 + .long 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .long 2000717462 + .long 3209426147 + .long 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .long 3946397046 + .long 1059020016 + .long 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .long 2418528937 + .long 3203304934 + .long 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .long 1917951611 + .long 1052370084 + .long 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .long 15579687 + .long 3196251740 + .long 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .long 3028475240 + .long 1044872454 + .long 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .long 4080210287 + .long 3188206558 + .long 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .long 2207563104 + .long 1036259756 + .long 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .long 3335582481 + .long 3178889284 + .long 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .long 965701323 + .long 1026106865 + .long 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .long 125167645 + .long 3167813598 + .long 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .long 374732026 + .long 1013747294 + .long 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .long 385891618 + .long 3153485771 + .type __svml_derf_data_internal,@object + .size __svml_derf_data_internal,14976 + .align 32 + +_imldErfHATab: + .long 1346542445 + .long 1072827863 + .long 1342177280 + .long 1072827863 + .long 1147899556 + .long 1041278683 + .long 0 + .long 1282408448 + .long 0 + .long 862978048 + .long 33554432 + .long 1101004800 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .long 0 + .long 256 + .long 1222277045 + .long 929276 + .type _imldErfHATab,@object + .size _imldErfHATab,96 + .align 8 + +.FLT_20: + .long 0xffffffff,0xffffffff + .type .FLT_20,@object + .size .FLT_20,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core-avx2.S new file mode 100644 index 0000000000..852a247f83 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized erff. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_erff _ZGVeN16v_erff_avx2_wrapper +#include "../svml_s_erff16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core.c new file mode 100644 index 0000000000..5714eaf023 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized erff, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_erff +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_erff, __GI__ZGVeN16v_erff, + __redirect__ZGVeN16v_erff) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core_avx512.S new file mode 100644 index 0000000000..20f1b8ff97 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core_avx512.S @@ -0,0 +1,2199 @@ +/* Function erff vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * erf(x) is computed as higher precision simple polynomial + * with no lookup table: + * + * R = P0 + x^2*(P1 + x^2*(P2 + .... x^2*P12)); + * erf(x) = R * R * x; + * + * Special cases: + * + * erf(0) = 0 + * erf(+INF) = +1 + * erf(-INF) = -1 + * erf(QNaN) = QNaN + * erf(SNaN) = QNaN + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_erff_skx) + vmovaps %zmm0, %zmm8 + vmulps {rn-sae}, %zmm8, %zmm8, %zmm11 + vmovups 7680+__svml_serf_data_internal(%rip), %zmm15 + vmovups 7744+__svml_serf_data_internal(%rip), %zmm10 + vmovups 7616+__svml_serf_data_internal(%rip), %zmm9 + vmovups 7552+__svml_serf_data_internal(%rip), %zmm7 + vmovups 7488+__svml_serf_data_internal(%rip), %zmm0 + vmovups 7424+__svml_serf_data_internal(%rip), %zmm1 + vmovups 7360+__svml_serf_data_internal(%rip), %zmm2 + vmovups 7296+__svml_serf_data_internal(%rip), %zmm3 + vmovups 7232+__svml_serf_data_internal(%rip), %zmm4 + vmovups 7168+__svml_serf_data_internal(%rip), %zmm5 + vmovups 7104+__svml_serf_data_internal(%rip), %zmm6 + vextractf32x8 $1, %zmm8, %ymm13 + vcvtps2pd {sae}, %ymm8, %zmm12 + vcvtps2pd {sae}, %ymm13, %zmm14 + vmulpd {rn-sae}, %zmm12, %zmm12, %zmm12 + vmulpd {rn-sae}, %zmm14, %zmm14, %zmm13 + +/* R = P0 + x^2*(P1 + x^2*(P2 + .... x^2*P12)); */ + vmovaps %zmm15, %zmm14 + vfmadd231pd {rn-sae}, %zmm12, %zmm10, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm10, %zmm15 + vmovups 7040+__svml_serf_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm9, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm15, %zmm9 + vfmadd213pd {rn-sae}, %zmm7, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm9, %zmm7 + vfmadd213pd {rn-sae}, %zmm0, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm7, %zmm0 + vmovups 6912+__svml_serf_data_internal(%rip), %zmm7 + vfmadd213pd {rn-sae}, %zmm1, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm0, %zmm1 + vmovups 6976+__svml_serf_data_internal(%rip), %zmm0 + vcmpps $22, {sae}, %zmm11, %zmm7, %k1 + vfmadd213pd {rn-sae}, %zmm2, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm1, %zmm2 + vfmadd213pd {rn-sae}, %zmm3, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm2, %zmm3 + vfmadd213pd {rn-sae}, %zmm4, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm3, %zmm4 + vfmadd213pd {rn-sae}, %zmm5, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm4, %zmm5 + vfmadd213pd {rn-sae}, %zmm6, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm5, %zmm6 + vmovups 6080+__svml_serf_data_internal(%rip), %zmm5 + vfmadd213pd {rn-sae}, %zmm10, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm6, %zmm10 + vandnps %zmm8, %zmm5, %zmm6 + vfmadd213pd {rn-sae}, %zmm0, %zmm14, %zmm12 + vfmadd213pd {rn-sae}, %zmm0, %zmm10, %zmm13 + vorps 6144+__svml_serf_data_internal(%rip), %zmm6, %zmm0 + vmulpd {rn-sae}, %zmm12, %zmm12, %zmm1 + vmulpd {rn-sae}, %zmm13, %zmm13, %zmm3 + vcvtpd2ps {rn-sae}, %zmm1, %ymm2 + vcvtpd2ps {rn-sae}, %zmm3, %ymm4 + vinsertf32x8 $1, %ymm4, %zmm2, %zmm9 + +/* erf(x) = R * R * x; */ + vmulps {rn-sae}, %zmm8, %zmm9, %zmm0{%k1} + ret + +END(_ZGVeN16v_erff_skx) + + .section .rodata, "a" + .align 64 + +__svml_serf_data_internal: + .long 0 + .long 1066430139 + .long 1007709690 + .long 1066429561 + .long 1016097720 + .long 1066427828 + .long 1020828656 + .long 1066424940 + .long 1024484018 + .long 1066420899 + .long 1026847466 + .long 1066415706 + .long 1029209471 + .long 1066409363 + .long 1031569748 + .long 1066401872 + .long 1032863396 + .long 1066393236 + .long 1034041375 + .long 1066383458 + .long 1035218061 + .long 1066372541 + .long 1036393311 + .long 1066360491 + .long 1037566985 + .long 1066347310 + .long 1038738940 + .long 1066333004 + .long 1039909037 + .long 1066317578 + .long 1040632264 + .long 1066301038 + .long 1041215245 + .long 1066283389 + .long 1041797089 + .long 1066264638 + .long 1042377726 + .long 1066244793 + .long 1042957089 + .long 1066223859 + .long 1043535110 + .long 1066201845 + .long 1044111721 + .long 1066178758 + .long 1044686856 + .long 1066154607 + .long 1045260449 + .long 1066129400 + .long 1045832434 + .long 1066103148 + .long 1046402745 + .long 1066075858 + .long 1046971319 + .long 1066047540 + .long 1047538090 + .long 1066018206 + .long 1048102997 + .long 1065987864 + .long 1048620988 + .long 1065956527 + .long 1048901483 + .long 1065924204 + .long 1049180953 + .long 1065890909 + .long 1049459367 + .long 1065856651 + .long 1049736696 + .long 1065821444 + .long 1050012910 + .long 1065785299 + .long 1050287979 + .long 1065748229 + .long 1050561876 + .long 1065710248 + .long 1050834572 + .long 1065671368 + .long 1051106040 + .long 1065631602 + .long 1051376250 + .long 1065590966 + .long 1051645178 + .long 1065549471 + .long 1051912796 + .long 1065507134 + .long 1052179077 + .long 1065463968 + .long 1052443997 + .long 1065419987 + .long 1052707530 + .long 1065375208 + .long 1052969651 + .long 1065306072 + .long 1053230337 + .long 1065213407 + .long 1053489563 + .long 1065119237 + .long 1053747305 + .long 1065023591 + .long 1054003542 + .long 1064926502 + .long 1054258251 + .long 1064828002 + .long 1054511410 + .long 1064728124 + .long 1054762998 + .long 1064626900 + .long 1055012994 + .long 1064524364 + .long 1055261378 + .long 1064420548 + .long 1055508130 + .long 1064315487 + .long 1055753230 + .long 1064209214 + .long 1055996661 + .long 1064101763 + .long 1056238405 + .long 1063993169 + .long 1056478442 + .long 1063883465 + .long 1056716757 + .long 1063772687 + .long 1056953333 + .long 1063660869 + .long 1057076381 + .long 1063548046 + .long 1057192906 + .long 1063434253 + .long 1057308539 + .long 1063319525 + .long 1057423272 + .long 1063203897 + .long 1057537098 + .long 1063087405 + .long 1057650010 + .long 1062970083 + .long 1057762003 + .long 1062851966 + .long 1057873070 + .long 1062733091 + .long 1057983206 + .long 1062613492 + .long 1058092404 + .long 1062493204 + .long 1058200660 + .long 1062372263 + .long 1058307969 + .long 1062250703 + .long 1058414326 + .long 1062128561 + .long 1058519726 + .long 1062005869 + .long 1058624166 + .long 1061882664 + .long 1058727642 + .long 1061758980 + .long 1058830149 + .long 1061634851 + .long 1058931685 + .long 1061510312 + .long 1059032247 + .long 1061385397 + .long 1059131831 + .long 1061260139 + .long 1059230436 + .long 1061134574 + .long 1059328058 + .long 1061008734 + .long 1059424697 + .long 1060882652 + .long 1059520349 + .long 1060756362 + .long 1059615014 + .long 1060629897 + .long 1059708691 + .long 1060503288 + .long 1059801378 + .long 1060376569 + .long 1059893075 + .long 1060249771 + .long 1059983780 + .long 1060122926 + .long 1060073495 + .long 1059996065 + .long 1060162219 + .long 1059869219 + .long 1060249952 + .long 1059742419 + .long 1060336695 + .long 1059615695 + .long 1060422447 + .long 1059489076 + .long 1060507212 + .long 1059362593 + .long 1060590988 + .long 1059236275 + .long 1060673779 + .long 1059110150 + .long 1060755585 + .long 1058984247 + .long 1060836408 + .long 1058858593 + .long 1060916251 + .long 1058733216 + .long 1060995116 + .long 1058608143 + .long 1061073004 + .long 1058483401 + .long 1061149920 + .long 1058359015 + .long 1061225865 + .long 1058235012 + .long 1061300843 + .long 1058111417 + .long 1061374857 + .long 1057988254 + .long 1061447911 + .long 1057865548 + .long 1061520007 + .long 1057743323 + .long 1061591151 + .long 1057621602 + .long 1061661346 + .long 1057500407 + .long 1061730597 + .long 1057379761 + .long 1061798907 + .long 1057259686 + .long 1061866281 + .long 1057140203 + .long 1061932724 + .long 1057021334 + .long 1061998241 + .long 1056841587 + .long 1062062836 + .long 1056606421 + .long 1062126516 + .long 1056372599 + .long 1062189285 + .long 1056140160 + .long 1062251149 + .long 1055909139 + .long 1062312113 + .long 1055679573 + .long 1062372184 + .long 1055451496 + .long 1062431366 + .long 1055224941 + .long 1062489667 + .long 1054999940 + .long 1062547091 + .long 1054776524 + .long 1062603646 + .long 1054554724 + .long 1062659338 + .long 1054334570 + .long 1062714173 + .long 1054116088 + .long 1062768158 + .long 1053899307 + .long 1062821300 + .long 1053684252 + .long 1062873605 + .long 1053470948 + .long 1062925080 + .long 1053259419 + .long 1062975732 + .long 1053049689 + .long 1063025569 + .long 1052841779 + .long 1063074597 + .long 1052635709 + .long 1063122824 + .long 1052431501 + .long 1063170257 + .long 1052229173 + .long 1063216903 + .long 1052028742 + .long 1063262770 + .long 1051830227 + .long 1063307865 + .long 1051633642 + .long 1063352196 + .long 1051439002 + .long 1063395771 + .long 1051246323 + .long 1063438597 + .long 1051055616 + .long 1063480681 + .long 1050866894 + .long 1063522033 + .long 1050680168 + .long 1063562659 + .long 1050495449 + .long 1063602567 + .long 1050312745 + .long 1063641766 + .long 1050132066 + .long 1063680262 + .long 1049953419 + .long 1063718065 + .long 1049776810 + .long 1063755182 + .long 1049602245 + .long 1063791622 + .long 1049429731 + .long 1063827391 + .long 1049259269 + .long 1063862498 + .long 1049090865 + .long 1063896952 + .long 1048924520 + .long 1063930760 + .long 1048760237 + .long 1063963930 + .long 1048598016 + .long 1063996470 + .long 1048299714 + .long 1064028389 + .long 1047983520 + .long 1064059695 + .long 1047671448 + .long 1064090395 + .long 1047363493 + .long 1064120497 + .long 1047059649 + .long 1064150010 + .long 1046759911 + .long 1064178942 + .long 1046464270 + .long 1064207300 + .long 1046172715 + .long 1064235093 + .long 1045885238 + .long 1064262328 + .long 1045601825 + .long 1064289013 + .long 1045322463 + .long 1064315157 + .long 1045047137 + .long 1064340767 + .long 1044775833 + .long 1064365851 + .long 1044508533 + .long 1064390417 + .long 1044245220 + .long 1064414473 + .long 1043985874 + .long 1064438026 + .long 1043730475 + .long 1064461084 + .long 1043479003 + .long 1064483654 + .long 1043231435 + .long 1064505745 + .long 1042987748 + .long 1064527364 + .long 1042747919 + .long 1064548517 + .long 1042511923 + .long 1064569214 + .long 1042279734 + .long 1064589461 + .long 1042051325 + .long 1064609266 + .long 1041826670 + .long 1064628635 + .long 1041605741 + .long 1064647576 + .long 1041388508 + .long 1064666097 + .long 1041174943 + .long 1064684204 + .long 1040965014 + .long 1064701905 + .long 1040758692 + .long 1064719206 + .long 1040555945 + .long 1064736115 + .long 1040356742 + .long 1064752638 + .long 1040134704 + .long 1064768783 + .long 1039750273 + .long 1064784555 + .long 1039372729 + .long 1064799962 + .long 1039002005 + .long 1064815010 + .long 1038638032 + .long 1064829706 + .long 1038280741 + .long 1064844056 + .long 1037930060 + .long 1064858067 + .long 1037585918 + .long 1064871745 + .long 1037248243 + .long 1064885096 + .long 1036916963 + .long 1064898128 + .long 1036592005 + .long 1064910844 + .long 1036273295 + .long 1064923253 + .long 1035960758 + .long 1064935359 + .long 1035654320 + .long 1064947169 + .long 1035353906 + .long 1064958689 + .long 1035059441 + .long 1064969924 + .long 1034770849 + .long 1064980879 + .long 1034488054 + .long 1064991562 + .long 1034210980 + .long 1065001977 + .long 1033939550 + .long 1065012129 + .long 1033673689 + .long 1065022024 + .long 1033413319 + .long 1065031668 + .long 1033158365 + .long 1065041065 + .long 1032908749 + .long 1065050222 + .long 1032664395 + .long 1065059142 + .long 1032425226 + .long 1065067831 + .long 1032191167 + .long 1065076294 + .long 1031962141 + .long 1065084535 + .long 1031677359 + .long 1065092561 + .long 1031238982 + .long 1065100374 + .long 1030810216 + .long 1065107981 + .long 1030390909 + .long 1065115385 + .long 1029980912 + .long 1065122591 + .long 1029580074 + .long 1065129604 + .long 1029188248 + .long 1065136427 + .long 1028805285 + .long 1065143066 + .long 1028431037 + .long 1065149524 + .long 1028065358 + .long 1065155805 + .long 1027708103 + .long 1065161914 + .long 1027359126 + .long 1065167855 + .long 1027018284 + .long 1065173631 + .long 1026685435 + .long 1065179247 + .long 1026360436 + .long 1065184706 + .long 1026043148 + .long 1065190011 + .long 1025733430 + .long 1065195168 + .long 1025431145 + .long 1065200178 + .long 1025136155 + .long 1065205046 + .long 1024848326 + .long 1065209776 + .long 1024567521 + .long 1065214370 + .long 1024293609 + .long 1065218831 + .long 1024026458 + .long 1065223165 + .long 1023765936 + .long 1065227372 + .long 1023511915 + .long 1065231457 + .long 1023118357 + .long 1065235422 + .long 1022635554 + .long 1065239272 + .long 1022164995 + .long 1065243007 + .long 1021706432 + .long 1065246633 + .long 1021259623 + .long 1065250150 + .long 1020824325 + .long 1065253563 + .long 1020400301 + .long 1065256874 + .long 1019987316 + .long 1065260085 + .long 1019585139 + .long 1065263199 + .long 1019193540 + .long 1065266219 + .long 1018812294 + .long 1065269146 + .long 1018441179 + .long 1065271985 + .long 1018079974 + .long 1065274737 + .long 1017728463 + .long 1065277404 + .long 1017386434 + .long 1065279988 + .long 1017053676 + .long 1065282493 + .long 1016729983 + .long 1065284919 + .long 1016415150 + .long 1065287270 + .long 1016108977 + .long 1065289547 + .long 1015811266 + .long 1065291752 + .long 1015521823 + .long 1065293888 + .long 1015240458 + .long 1065295955 + .long 1014912394 + .long 1065297958 + .long 1014380849 + .long 1065299896 + .long 1013864347 + .long 1065301772 + .long 1013362533 + .long 1065303587 + .long 1012875053 + .long 1065305344 + .long 1012401564 + .long 1065307044 + .long 1011941727 + .long 1065308689 + .long 1011495207 + .long 1065310280 + .long 1011061679 + .long 1065311819 + .long 1010640821 + .long 1065313307 + .long 1010232319 + .long 1065314746 + .long 1009835863 + .long 1065316137 + .long 1009451150 + .long 1065317482 + .long 1009077883 + .long 1065318783 + .long 1008715771 + .long 1065320039 + .long 1008364526 + .long 1065321254 + .long 1008023869 + .long 1065322427 + .long 1007693526 + .long 1065323561 + .long 1007373227 + .long 1065324656 + .long 1007062709 + .long 1065325714 + .long 1006761713 + .long 1065326736 + .long 1006307013 + .long 1065327723 + .long 1005741605 + .long 1065328676 + .long 1005193757 + .long 1065329596 + .long 1004662995 + .long 1065330484 + .long 1004148854 + .long 1065331341 + .long 1003650882 + .long 1065332168 + .long 1003168634 + .long 1065332966 + .long 1002701676 + .long 1065333736 + .long 1002249583 + .long 1065334479 + .long 1001811942 + .long 1065335196 + .long 1001388347 + .long 1065335887 + .long 1000978401 + .long 1065336554 + .long 1000581718 + .long 1065337197 + .long 1000197920 + .long 1065337817 + .long 999826638 + .long 1065338414 + .long 999467511 + .long 1065338990 + .long 999120188 + .long 1065339545 + .long 998784326 + .long 1065340080 + .long 998459590 + .long 1065340596 + .long 998046952 + .long 1065341093 + .long 997440036 + .long 1065341571 + .long 996853459 + .long 1065342032 + .long 996286614 + .long 1065342476 + .long 995738909 + .long 1065342903 + .long 995209770 + .long 1065343315 + .long 994698633 + .long 1065343711 + .long 994204952 + .long 1065344092 + .long 993728194 + .long 1065344460 + .long 993267840 + .long 1065344813 + .long 992823384 + .long 1065345153 + .long 992394334 + .long 1065345480 + .long 991980210 + .long 1065345795 + .long 991580547 + .long 1065346097 + .long 991194889 + .long 1065346388 + .long 990822796 + .long 1065346668 + .long 990463837 + .long 1065346938 + .long 990117594 + .long 1065347197 + .long 989711580 + .long 1065347445 + .long 989067545 + .long 1065347685 + .long 988446572 + .long 1065347915 + .long 987847912 + .long 1065348135 + .long 987270840 + .long 1065348348 + .long 986714651 + .long 1065348552 + .long 986178660 + .long 1065348748 + .long 985662200 + .long 1065348936 + .long 985164626 + .long 1065349117 + .long 984685310 + .long 1065349290 + .long 984223642 + .long 1065349457 + .long 983779031 + .long 1065349617 + .long 983350903 + .long 1065349770 + .long 982938700 + .long 1065349918 + .long 982541883 + .long 1065350059 + .long 982159927 + .long 1065350195 + .long 981792323 + .long 1065350325 + .long 981410023 + .long 1065350450 + .long 980729298 + .long 1065350570 + .long 980074409 + .long 1065350685 + .long 979444458 + .long 1065350795 + .long 978838575 + .long 1065350901 + .long 978255916 + .long 1065351002 + .long 977695663 + .long 1065351099 + .long 977157026 + .long 1065351193 + .long 976639239 + .long 1065351282 + .long 976141558 + .long 1065351367 + .long 975663265 + .long 1065351449 + .long 975203666 + .long 1065351528 + .long 974762086 + .long 1065351603 + .long 974337876 + .long 1065351675 + .long 973930403 + .long 1065351744 + .long 973539060 + .long 1065351810 + .long 973163256 + .long 1065351873 + .long 972526314 + .long 1065351934 + .long 971833480 + .long 1065351992 + .long 971168417 + .long 1065352047 + .long 970530093 + .long 1065352101 + .long 969917514 + .long 1065352151 + .long 969329717 + .long 1065352200 + .long 968765773 + .long 1065352246 + .long 968224785 + .long 1065352291 + .long 967705884 + .long 1065352334 + .long 967208234 + .long 1065352374 + .long 966731026 + .long 1065352413 + .long 966273480 + .long 1065352450 + .long 965834842 + .long 1065352486 + .long 965414386 + .long 1065352520 + .long 965011410 + .long 1065352552 + .long 964560555 + .long 1065352583 + .long 963820510 + .long 1065352613 + .long 963111507 + .long 1065352641 + .long 962432331 + .long 1065352668 + .long 961781812 + .long 1065352694 + .long 961158821 + .long 1065352719 + .long 960562270 + .long 1065352743 + .long 959991111 + .long 1065352765 + .long 959444333 + .long 1065352787 + .long 958920964 + .long 1065352807 + .long 958420065 + .long 1065352827 + .long 957940734 + .long 1065352845 + .long 957482101 + .long 1065352863 + .long 957043329 + .long 1065352880 + .long 956623612 + .long 1065352896 + .long 956143037 + .long 1065352912 + .long 955375226 + .long 1065352927 + .long 954641044 + .long 1065352941 + .long 953939107 + .long 1065352954 + .long 953268086 + .long 1065352967 + .long 952626702 + .long 1065352979 + .long 952013724 + .long 1065352991 + .long 951427969 + .long 1065353002 + .long 950868302 + .long 1065353012 + .long 950333628 + .long 1065353023 + .long 949822896 + .long 1065353032 + .long 949335099 + .long 1065353041 + .long 948869264 + .long 1065353050 + .long 948424462 + .long 1065353058 + .long 947999796 + .long 1065353066 + .long 947276109 + .long 1065353074 + .long 946502234 + .long 1065353081 + .long 945763678 + .long 1065353088 + .long 945058918 + .long 1065353094 + .long 944386495 + .long 1065353100 + .long 943745006 + .long 1065353106 + .long 943133108 + .long 1065353112 + .long 942549510 + .long 1065353117 + .long 941992974 + .long 1065353122 + .long 941462313 + .long 1065353127 + .long 940956390 + .long 1065353131 + .long 940474113 + .long 1065353136 + .long 940014434 + .long 1065353140 + .long 939576353 + .long 1065353144 + .long 938793716 + .long 1065353148 + .long 937998252 + .long 1065353151 + .long 937240450 + .long 1065353154 + .long 936518620 + .long 1065353158 + .long 935831142 + .long 1065353161 + .long 935176466 + .long 1065353164 + .long 934553105 + .long 1065353166 + .long 933959638 + .long 1065353169 + .long 933394703 + .long 1065353171 + .long 932856997 + .long 1065353174 + .long 932345273 + .long 1065353176 + .long 931858338 + .long 1065353178 + .long 931395049 + .long 1065353180 + .long 930773143 + .long 1065353182 + .long 929934696 + .long 1065353184 + .long 929137272 + .long 1065353186 + .long 928378959 + .long 1065353187 + .long 927657932 + .long 1065353189 + .long 926972445 + .long 1065353190 + .long 926320828 + .long 1065353192 + .long 925701488 + .long 1065353193 + .long 925112900 + .long 1065353194 + .long 924553608 + .long 1065353195 + .long 924022223 + .long 1065353196 + .long 923517415 + .long 1065353198 + .long 923037917 + .long 1065353199 + .long 922418156 + .long 1065353199 + .long 921553243 + .long 1065353200 + .long 920732007 + .long 1065353201 + .long 919952342 + .long 1065353202 + .long 919212238 + .long 1065353203 + .long 918509777 + .long 1065353204 + .long 917843129 + .long 1065353204 + .long 917210549 + .long 1065353205 + .long 916610371 + .long 1065353205 + .long 916041009 + .long 1065353206 + .long 915500949 + .long 1065353207 + .long 914988747 + .long 1065353207 + .long 914503029 + .long 1065353208 + .long 913726696 + .long 1065353208 + .long 912853452 + .long 1065353209 + .long 912025674 + .long 1065353209 + .long 911241096 + .long 1065353209 + .long 910497555 + .long 1065353210 + .long 909792996 + .long 1065353210 + .long 909125460 + .long 1065353210 + .long 908493081 + .long 1065353211 + .long 907894083 + .long 1065353211 + .long 907326776 + .long 1065353211 + .long 906789553 + .long 1065353212 + .long 906280881 + .long 1065353212 + .long 905628944 + .long 1065353212 + .long 904717211 + .long 1065353212 + .long 903854262 + .long 1065353213 + .long 903037590 + .long 1065353213 + .long 902264812 + .long 1065353213 + .long 901533660 + .long 1065353213 + .long 900841980 + .long 1065353213 + .long 900187723 + .long 1065353213 + .long 899568945 + .long 1065353214 + .long 898983793 + .long 1065353214 + .long 898430512 + .long 1065353214 + .long 897907432 + .long 1065353214 + .long 897244875 + .long 1065353214 + .long 896310159 + .long 1065353214 + .long 895426799 + .long 1065353214 + .long 894592079 + .long 1065353214 + .long 893803420 + .long 1065353215 + .long 893058375 + .long 1065353215 + .long 892354620 + .long 1065353215 + .long 891689952 + .long 1065353215 + .long 891062279 + .long 1065353215 + .long 890469616 + .long 1065353215 + .long 889910081 + .long 1065353215 + .long 889381890 + .long 1065353215 + .long 888574250 + .long 1065353215 + .long 887633259 + .long 1065353215 + .long 886745316 + .long 1065353215 + .long 885907536 + .long 1065353215 + .long 885117184 + .long 1065353215 + .long 884371669 + .long 1065353215 + .long 883668537 + .long 1065353215 + .long 883005462 + .long 1065353215 + .long 882380241 + .long 1065353215 + .long 881790787 + .long 1065353215 + .long 881235123 + .long 1065353216 + .long 880618920 + .long 1065353216 + .long 879631730 + .long 0 + .long 1007709690 + .long 1016097720 + .long 1020828656 + .long 1024484018 + .long 1026847466 + .long 1029209471 + .long 1031569748 + .long 1032863396 + .long 1034041375 + .long 1035218061 + .long 1036393311 + .long 1037566985 + .long 1038738940 + .long 1039909037 + .long 1040632264 + .long 1041215245 + .long 1041797089 + .long 1042377726 + .long 1042957089 + .long 1043535110 + .long 1044111721 + .long 1044686856 + .long 1045260449 + .long 1045832434 + .long 1046402745 + .long 1046971319 + .long 1047538090 + .long 1048102997 + .long 1048620988 + .long 1048901483 + .long 1049180953 + .long 1049459367 + .long 1049736696 + .long 1050012910 + .long 1050287979 + .long 1050561876 + .long 1050834572 + .long 1051106040 + .long 1051376250 + .long 1051645178 + .long 1051912796 + .long 1052179077 + .long 1052443997 + .long 1052707530 + .long 1052969651 + .long 1053230337 + .long 1053489563 + .long 1053747305 + .long 1054003542 + .long 1054258251 + .long 1054511410 + .long 1054762998 + .long 1055012994 + .long 1055261378 + .long 1055508130 + .long 1055753230 + .long 1055996661 + .long 1056238405 + .long 1056478442 + .long 1056716757 + .long 1056953333 + .long 1057076381 + .long 1057192906 + .long 1057308539 + .long 1057423272 + .long 1057537098 + .long 1057650010 + .long 1057762003 + .long 1057873070 + .long 1057983206 + .long 1058092404 + .long 1058200660 + .long 1058307969 + .long 1058414326 + .long 1058519726 + .long 1058624166 + .long 1058727642 + .long 1058830149 + .long 1058931685 + .long 1059032247 + .long 1059131831 + .long 1059230436 + .long 1059328058 + .long 1059424697 + .long 1059520349 + .long 1059615014 + .long 1059708691 + .long 1059801378 + .long 1059893075 + .long 1059983780 + .long 1060073495 + .long 1060162219 + .long 1060249952 + .long 1060336695 + .long 1060422447 + .long 1060507212 + .long 1060590988 + .long 1060673779 + .long 1060755585 + .long 1060836408 + .long 1060916251 + .long 1060995116 + .long 1061073004 + .long 1061149920 + .long 1061225865 + .long 1061300843 + .long 1061374857 + .long 1061447911 + .long 1061520007 + .long 1061591151 + .long 1061661346 + .long 1061730597 + .long 1061798907 + .long 1061866281 + .long 1061932724 + .long 1061998241 + .long 1062062836 + .long 1062126516 + .long 1062189285 + .long 1062251149 + .long 1062312113 + .long 1062372184 + .long 1062431366 + .long 1062489667 + .long 1062547091 + .long 1062603646 + .long 1062659338 + .long 1062714173 + .long 1062768158 + .long 1062821300 + .long 1062873605 + .long 1062925080 + .long 1062975732 + .long 1063025569 + .long 1063074597 + .long 1063122824 + .long 1063170257 + .long 1063216903 + .long 1063262770 + .long 1063307865 + .long 1063352196 + .long 1063395771 + .long 1063438597 + .long 1063480681 + .long 1063522033 + .long 1063562659 + .long 1063602567 + .long 1063641766 + .long 1063680262 + .long 1063718065 + .long 1063755182 + .long 1063791622 + .long 1063827391 + .long 1063862498 + .long 1063896952 + .long 1063930760 + .long 1063963930 + .long 1063996470 + .long 1064028389 + .long 1064059695 + .long 1064090395 + .long 1064120497 + .long 1064150010 + .long 1064178942 + .long 1064207300 + .long 1064235093 + .long 1064262328 + .long 1064289013 + .long 1064315157 + .long 1064340767 + .long 1064365851 + .long 1064390417 + .long 1064414473 + .long 1064438026 + .long 1064461084 + .long 1064483654 + .long 1064505745 + .long 1064527364 + .long 1064548517 + .long 1064569214 + .long 1064589461 + .long 1064609266 + .long 1064628635 + .long 1064647576 + .long 1064666097 + .long 1064684204 + .long 1064701905 + .long 1064719206 + .long 1064736115 + .long 1064752638 + .long 1064768783 + .long 1064784555 + .long 1064799962 + .long 1064815010 + .long 1064829706 + .long 1064844056 + .long 1064858067 + .long 1064871745 + .long 1064885096 + .long 1064898128 + .long 1064910844 + .long 1064923253 + .long 1064935359 + .long 1064947169 + .long 1064958689 + .long 1064969924 + .long 1064980879 + .long 1064991562 + .long 1065001977 + .long 1065012129 + .long 1065022024 + .long 1065031668 + .long 1065041065 + .long 1065050222 + .long 1065059142 + .long 1065067831 + .long 1065076294 + .long 1065084535 + .long 1065092561 + .long 1065100374 + .long 1065107981 + .long 1065115385 + .long 1065122591 + .long 1065129604 + .long 1065136427 + .long 1065143066 + .long 1065149524 + .long 1065155805 + .long 1065161914 + .long 1065167855 + .long 1065173631 + .long 1065179247 + .long 1065184706 + .long 1065190011 + .long 1065195168 + .long 1065200178 + .long 1065205046 + .long 1065209776 + .long 1065214370 + .long 1065218831 + .long 1065223165 + .long 1065227372 + .long 1065231457 + .long 1065235422 + .long 1065239272 + .long 1065243007 + .long 1065246633 + .long 1065250150 + .long 1065253563 + .long 1065256874 + .long 1065260085 + .long 1065263199 + .long 1065266219 + .long 1065269146 + .long 1065271985 + .long 1065274737 + .long 1065277404 + .long 1065279988 + .long 1065282493 + .long 1065284919 + .long 1065287270 + .long 1065289547 + .long 1065291752 + .long 1065293888 + .long 1065295955 + .long 1065297958 + .long 1065299896 + .long 1065301772 + .long 1065303587 + .long 1065305344 + .long 1065307044 + .long 1065308689 + .long 1065310280 + .long 1065311819 + .long 1065313307 + .long 1065314746 + .long 1065316137 + .long 1065317482 + .long 1065318783 + .long 1065320039 + .long 1065321254 + .long 1065322427 + .long 1065323561 + .long 1065324656 + .long 1065325714 + .long 1065326736 + .long 1065327723 + .long 1065328676 + .long 1065329596 + .long 1065330484 + .long 1065331341 + .long 1065332168 + .long 1065332966 + .long 1065333736 + .long 1065334479 + .long 1065335196 + .long 1065335887 + .long 1065336554 + .long 1065337197 + .long 1065337817 + .long 1065338414 + .long 1065338990 + .long 1065339545 + .long 1065340080 + .long 1065340596 + .long 1065341093 + .long 1065341571 + .long 1065342032 + .long 1065342476 + .long 1065342903 + .long 1065343315 + .long 1065343711 + .long 1065344092 + .long 1065344460 + .long 1065344813 + .long 1065345153 + .long 1065345480 + .long 1065345795 + .long 1065346097 + .long 1065346388 + .long 1065346668 + .long 1065346938 + .long 1065347197 + .long 1065347445 + .long 1065347685 + .long 1065347915 + .long 1065348135 + .long 1065348348 + .long 1065348552 + .long 1065348748 + .long 1065348936 + .long 1065349117 + .long 1065349290 + .long 1065349457 + .long 1065349617 + .long 1065349770 + .long 1065349918 + .long 1065350059 + .long 1065350195 + .long 1065350325 + .long 1065350450 + .long 1065350570 + .long 1065350685 + .long 1065350795 + .long 1065350901 + .long 1065351002 + .long 1065351099 + .long 1065351193 + .long 1065351282 + .long 1065351367 + .long 1065351449 + .long 1065351528 + .long 1065351603 + .long 1065351675 + .long 1065351744 + .long 1065351810 + .long 1065351873 + .long 1065351934 + .long 1065351992 + .long 1065352047 + .long 1065352101 + .long 1065352151 + .long 1065352200 + .long 1065352246 + .long 1065352291 + .long 1065352334 + .long 1065352374 + .long 1065352413 + .long 1065352450 + .long 1065352486 + .long 1065352520 + .long 1065352552 + .long 1065352583 + .long 1065352613 + .long 1065352641 + .long 1065352668 + .long 1065352694 + .long 1065352719 + .long 1065352743 + .long 1065352765 + .long 1065352787 + .long 1065352807 + .long 1065352827 + .long 1065352845 + .long 1065352863 + .long 1065352880 + .long 1065352896 + .long 1065352912 + .long 1065352927 + .long 1065352941 + .long 1065352954 + .long 1065352967 + .long 1065352979 + .long 1065352991 + .long 1065353002 + .long 1065353012 + .long 1065353023 + .long 1065353032 + .long 1065353041 + .long 1065353050 + .long 1065353058 + .long 1065353066 + .long 1065353074 + .long 1065353081 + .long 1065353088 + .long 1065353094 + .long 1065353100 + .long 1065353106 + .long 1065353112 + .long 1065353117 + .long 1065353122 + .long 1065353127 + .long 1065353131 + .long 1065353136 + .long 1065353140 + .long 1065353144 + .long 1065353148 + .long 1065353151 + .long 1065353154 + .long 1065353158 + .long 1065353161 + .long 1065353164 + .long 1065353166 + .long 1065353169 + .long 1065353171 + .long 1065353174 + .long 1065353176 + .long 1065353178 + .long 1065353180 + .long 1065353182 + .long 1065353184 + .long 1065353186 + .long 1065353187 + .long 1065353189 + .long 1065353190 + .long 1065353192 + .long 1065353193 + .long 1065353194 + .long 1065353195 + .long 1065353196 + .long 1065353198 + .long 1065353199 + .long 1065353199 + .long 1065353200 + .long 1065353201 + .long 1065353202 + .long 1065353203 + .long 1065353204 + .long 1065353204 + .long 1065353205 + .long 1065353205 + .long 1065353206 + .long 1065353207 + .long 1065353207 + .long 1065353208 + .long 1065353208 + .long 1065353209 + .long 1065353209 + .long 1065353209 + .long 1065353210 + .long 1065353210 + .long 1065353210 + .long 1065353211 + .long 1065353211 + .long 1065353211 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 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 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 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .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 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .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 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .long 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .long 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .long 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .long 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .long 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .long 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .long 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .long 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .long 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .long 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .long 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .long 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .type __svml_serf_data_internal,@object + .size __svml_serf_data_internal,8256 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core-sse2.S new file mode 100644 index 0000000000..651fd267a5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized erff, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_erff _ZGVbN4v_erff_sse2 +#include "../svml_s_erff4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core.c new file mode 100644 index 0000000000..02286a68c6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized erff, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_erff +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_erff, __GI__ZGVbN4v_erff, + __redirect__ZGVbN4v_erff) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core_sse4.S new file mode 100644 index 0000000000..664cb259af --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core_sse4.S @@ -0,0 +1,3439 @@ +/* Function erff vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Basic formula is + * erf(x) ~ erf(x0) + + * + exp(-x0*x0)*D*(1+c0+T*P1(T)+D^2*P3(T)+D^4*p5) + * where D=x-x0, T=x0*D + * x0 is x rounded to a specified number of fractional bits (in this case 8), + * except that x0=0 for |x|<3.5/256.0 (using x0=0 for first 4 table entries) + * + * Data table packs both erf(x0)_high and a few bits of erf(x0)_low in one + * entry (in place of redundant exponent bits) + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_erff_sse4) + lea -1006632960+__svml_serf_data_internal(%rip), %rax + movups 6080+__svml_serf_data_internal(%rip), %xmm4 + andps %xmm0, %xmm4 + +/* + * erf(x) rounds to 1.0 for x>_MaxThreshold (3.9375) + * can compute all results in the main path + */ + movaps %xmm4, %xmm5 + +/* save sign */ + pxor %xmm4, %xmm0 + minps 6336+__svml_serf_data_internal(%rip), %xmm5 + +/* + * vector gather: + * erf(x0), exp(-x0*x0)*2.0/sqrt(pi) + */ + movups 6464+__svml_serf_data_internal(%rip), %xmm3 + movaps %xmm3, %xmm6 + movups %xmm15, -24(%rsp) + addps %xmm5, %xmm6 + cfi_offset(32, -32) + movaps %xmm6, %xmm15 + pslld $3, %xmm6 + movups 6592+__svml_serf_data_internal(%rip), %xmm7 + subps %xmm3, %xmm15 + cmpltps %xmm5, %xmm7 + movd %xmm6, %edx + subps %xmm15, %xmm5 + andps %xmm5, %xmm7 + +/* D2 = Diff^2 */ + mulps %xmm7, %xmm7 + mulps %xmm5, %xmm15 + +/* NaN fixup */ + minps %xmm4, %xmm5 + +/* + * Start polynomial evaluation + * P1 + */ + mulps 6784+__svml_serf_data_internal(%rip), %xmm7 + pshufd $1, %xmm6, %xmm1 + subps %xmm15, %xmm7 + movd %xmm1, %ecx + pshufd $2, %xmm6, %xmm1 + pshufd $3, %xmm6, %xmm6 + movd %xmm1, %r8d + movd %xmm6, %r9d + movups -24(%rsp), %xmm15 + cfi_restore(32) + +/* + * branch-free + * (exp_h(x0) * Diff) * (poly + 1.0) + */ + mulps %xmm5, %xmm7 + movslq %edx, %rdx + addps %xmm7, %xmm5 + movslq %ecx, %rcx + movslq %r8d, %r8 + movslq %r9d, %r9 + movq (%rax,%rdx), %xmm3 + movq (%rax,%rcx), %xmm2 + movq (%rax,%r8), %xmm1 + movq (%rax,%r9), %xmm6 + unpcklps %xmm2, %xmm3 + unpcklps %xmm6, %xmm1 + movaps %xmm3, %xmm2 + shufps $238, %xmm1, %xmm3 + +/* Final result */ + mulps %xmm5, %xmm3 + movlhps %xmm1, %xmm2 + addps %xmm3, %xmm2 + +/* set sign */ + orps %xmm2, %xmm0 + ret + +END(_ZGVbN4v_erff_sse4) + + .section .rodata, "a" + .align 64 + +__svml_serf_data_internal: + .long 0 + .long 1066430139 + .long 1007709690 + .long 1066429561 + .long 1016097720 + .long 1066427828 + .long 1020828656 + .long 1066424940 + .long 1024484018 + .long 1066420899 + .long 1026847466 + .long 1066415706 + .long 1029209471 + .long 1066409363 + .long 1031569748 + .long 1066401872 + .long 1032863396 + .long 1066393236 + .long 1034041375 + .long 1066383458 + .long 1035218061 + .long 1066372541 + .long 1036393311 + .long 1066360491 + .long 1037566985 + .long 1066347310 + .long 1038738940 + .long 1066333004 + .long 1039909037 + .long 1066317578 + .long 1040632264 + .long 1066301038 + .long 1041215245 + .long 1066283389 + .long 1041797089 + .long 1066264638 + .long 1042377726 + .long 1066244793 + .long 1042957089 + .long 1066223859 + .long 1043535110 + .long 1066201845 + .long 1044111721 + .long 1066178758 + .long 1044686856 + .long 1066154607 + .long 1045260449 + .long 1066129400 + .long 1045832434 + .long 1066103148 + .long 1046402745 + .long 1066075858 + .long 1046971319 + .long 1066047540 + .long 1047538090 + .long 1066018206 + .long 1048102997 + .long 1065987864 + .long 1048620988 + .long 1065956527 + .long 1048901483 + .long 1065924204 + .long 1049180953 + .long 1065890909 + .long 1049459367 + .long 1065856651 + .long 1049736696 + .long 1065821444 + .long 1050012910 + .long 1065785299 + .long 1050287979 + .long 1065748229 + .long 1050561876 + .long 1065710248 + .long 1050834572 + .long 1065671368 + .long 1051106040 + .long 1065631602 + .long 1051376250 + .long 1065590966 + .long 1051645178 + .long 1065549471 + .long 1051912796 + .long 1065507134 + .long 1052179077 + .long 1065463968 + .long 1052443997 + .long 1065419987 + .long 1052707530 + .long 1065375208 + .long 1052969651 + .long 1065306072 + .long 1053230337 + .long 1065213407 + .long 1053489563 + .long 1065119237 + .long 1053747305 + .long 1065023591 + .long 1054003542 + .long 1064926502 + .long 1054258251 + .long 1064828002 + .long 1054511410 + .long 1064728124 + .long 1054762998 + .long 1064626900 + .long 1055012994 + .long 1064524364 + .long 1055261378 + .long 1064420548 + .long 1055508130 + .long 1064315487 + .long 1055753230 + .long 1064209214 + .long 1055996661 + .long 1064101763 + .long 1056238405 + .long 1063993169 + .long 1056478442 + .long 1063883465 + .long 1056716757 + .long 1063772687 + .long 1056953333 + .long 1063660869 + .long 1057076381 + .long 1063548046 + .long 1057192906 + .long 1063434253 + .long 1057308539 + .long 1063319525 + .long 1057423272 + .long 1063203897 + .long 1057537098 + .long 1063087405 + .long 1057650010 + .long 1062970083 + .long 1057762003 + .long 1062851966 + .long 1057873070 + .long 1062733091 + .long 1057983206 + .long 1062613492 + .long 1058092404 + .long 1062493204 + .long 1058200660 + .long 1062372263 + .long 1058307969 + .long 1062250703 + .long 1058414326 + .long 1062128561 + .long 1058519726 + .long 1062005869 + .long 1058624166 + .long 1061882664 + .long 1058727642 + .long 1061758980 + .long 1058830149 + .long 1061634851 + .long 1058931685 + .long 1061510312 + .long 1059032247 + .long 1061385397 + .long 1059131831 + .long 1061260139 + .long 1059230436 + .long 1061134574 + .long 1059328058 + .long 1061008734 + .long 1059424697 + .long 1060882652 + .long 1059520349 + .long 1060756362 + .long 1059615014 + .long 1060629897 + .long 1059708691 + .long 1060503288 + .long 1059801378 + .long 1060376569 + .long 1059893075 + .long 1060249771 + .long 1059983780 + .long 1060122926 + .long 1060073495 + .long 1059996065 + .long 1060162219 + .long 1059869219 + .long 1060249952 + .long 1059742419 + .long 1060336695 + .long 1059615695 + .long 1060422447 + .long 1059489076 + .long 1060507212 + .long 1059362593 + .long 1060590988 + .long 1059236275 + .long 1060673779 + .long 1059110150 + .long 1060755585 + .long 1058984247 + .long 1060836408 + .long 1058858593 + .long 1060916251 + .long 1058733216 + .long 1060995116 + .long 1058608143 + .long 1061073004 + .long 1058483401 + .long 1061149920 + .long 1058359015 + .long 1061225865 + .long 1058235012 + .long 1061300843 + .long 1058111417 + .long 1061374857 + .long 1057988254 + .long 1061447911 + .long 1057865548 + .long 1061520007 + .long 1057743323 + .long 1061591151 + .long 1057621602 + .long 1061661346 + .long 1057500407 + .long 1061730597 + .long 1057379761 + .long 1061798907 + .long 1057259686 + .long 1061866281 + .long 1057140203 + .long 1061932724 + .long 1057021334 + .long 1061998241 + .long 1056841587 + .long 1062062836 + .long 1056606421 + .long 1062126516 + .long 1056372599 + .long 1062189285 + .long 1056140160 + .long 1062251149 + .long 1055909139 + .long 1062312113 + .long 1055679573 + .long 1062372184 + .long 1055451496 + .long 1062431366 + .long 1055224941 + .long 1062489667 + .long 1054999940 + .long 1062547091 + .long 1054776524 + .long 1062603646 + .long 1054554724 + .long 1062659338 + .long 1054334570 + .long 1062714173 + .long 1054116088 + .long 1062768158 + .long 1053899307 + .long 1062821300 + .long 1053684252 + .long 1062873605 + .long 1053470948 + .long 1062925080 + .long 1053259419 + .long 1062975732 + .long 1053049689 + .long 1063025569 + .long 1052841779 + .long 1063074597 + .long 1052635709 + .long 1063122824 + .long 1052431501 + .long 1063170257 + .long 1052229173 + .long 1063216903 + .long 1052028742 + .long 1063262770 + .long 1051830227 + .long 1063307865 + .long 1051633642 + .long 1063352196 + .long 1051439002 + .long 1063395771 + .long 1051246323 + .long 1063438597 + .long 1051055616 + .long 1063480681 + .long 1050866894 + .long 1063522033 + .long 1050680168 + .long 1063562659 + .long 1050495449 + .long 1063602567 + .long 1050312745 + .long 1063641766 + .long 1050132066 + .long 1063680262 + .long 1049953419 + .long 1063718065 + .long 1049776810 + .long 1063755182 + .long 1049602245 + .long 1063791622 + .long 1049429731 + .long 1063827391 + .long 1049259269 + .long 1063862498 + .long 1049090865 + .long 1063896952 + .long 1048924520 + .long 1063930760 + .long 1048760237 + .long 1063963930 + .long 1048598016 + .long 1063996470 + .long 1048299714 + .long 1064028389 + .long 1047983520 + .long 1064059695 + .long 1047671448 + .long 1064090395 + .long 1047363493 + .long 1064120497 + .long 1047059649 + .long 1064150010 + .long 1046759911 + .long 1064178942 + .long 1046464270 + .long 1064207300 + .long 1046172715 + .long 1064235093 + .long 1045885238 + .long 1064262328 + .long 1045601825 + .long 1064289013 + .long 1045322463 + .long 1064315157 + .long 1045047137 + .long 1064340767 + .long 1044775833 + .long 1064365851 + .long 1044508533 + .long 1064390417 + .long 1044245220 + .long 1064414473 + .long 1043985874 + .long 1064438026 + .long 1043730475 + .long 1064461084 + .long 1043479003 + .long 1064483654 + .long 1043231435 + .long 1064505745 + .long 1042987748 + .long 1064527364 + .long 1042747919 + .long 1064548517 + .long 1042511923 + .long 1064569214 + .long 1042279734 + .long 1064589461 + .long 1042051325 + .long 1064609266 + .long 1041826670 + .long 1064628635 + .long 1041605741 + .long 1064647576 + .long 1041388508 + .long 1064666097 + .long 1041174943 + .long 1064684204 + .long 1040965014 + .long 1064701905 + .long 1040758692 + .long 1064719206 + .long 1040555945 + .long 1064736115 + .long 1040356742 + .long 1064752638 + .long 1040134704 + .long 1064768783 + .long 1039750273 + .long 1064784555 + .long 1039372729 + .long 1064799962 + .long 1039002005 + .long 1064815010 + .long 1038638032 + .long 1064829706 + .long 1038280741 + .long 1064844056 + .long 1037930060 + .long 1064858067 + .long 1037585918 + .long 1064871745 + .long 1037248243 + .long 1064885096 + .long 1036916963 + .long 1064898128 + .long 1036592005 + .long 1064910844 + .long 1036273295 + .long 1064923253 + .long 1035960758 + .long 1064935359 + .long 1035654320 + .long 1064947169 + .long 1035353906 + .long 1064958689 + .long 1035059441 + .long 1064969924 + .long 1034770849 + .long 1064980879 + .long 1034488054 + .long 1064991562 + .long 1034210980 + .long 1065001977 + .long 1033939550 + .long 1065012129 + .long 1033673689 + .long 1065022024 + .long 1033413319 + .long 1065031668 + .long 1033158365 + .long 1065041065 + .long 1032908749 + .long 1065050222 + .long 1032664395 + .long 1065059142 + .long 1032425226 + .long 1065067831 + .long 1032191167 + .long 1065076294 + .long 1031962141 + .long 1065084535 + .long 1031677359 + .long 1065092561 + .long 1031238982 + .long 1065100374 + .long 1030810216 + .long 1065107981 + .long 1030390909 + .long 1065115385 + .long 1029980912 + .long 1065122591 + .long 1029580074 + .long 1065129604 + .long 1029188248 + .long 1065136427 + .long 1028805285 + .long 1065143066 + .long 1028431037 + .long 1065149524 + .long 1028065358 + .long 1065155805 + .long 1027708103 + .long 1065161914 + .long 1027359126 + .long 1065167855 + .long 1027018284 + .long 1065173631 + .long 1026685435 + .long 1065179247 + .long 1026360436 + .long 1065184706 + .long 1026043148 + .long 1065190011 + .long 1025733430 + .long 1065195168 + .long 1025431145 + .long 1065200178 + .long 1025136155 + .long 1065205046 + .long 1024848326 + .long 1065209776 + .long 1024567521 + .long 1065214370 + .long 1024293609 + .long 1065218831 + .long 1024026458 + .long 1065223165 + .long 1023765936 + .long 1065227372 + .long 1023511915 + .long 1065231457 + .long 1023118357 + .long 1065235422 + .long 1022635554 + .long 1065239272 + .long 1022164995 + .long 1065243007 + .long 1021706432 + .long 1065246633 + .long 1021259623 + .long 1065250150 + .long 1020824325 + .long 1065253563 + .long 1020400301 + .long 1065256874 + .long 1019987316 + .long 1065260085 + .long 1019585139 + .long 1065263199 + .long 1019193540 + .long 1065266219 + .long 1018812294 + .long 1065269146 + .long 1018441179 + .long 1065271985 + .long 1018079974 + .long 1065274737 + .long 1017728463 + .long 1065277404 + .long 1017386434 + .long 1065279988 + .long 1017053676 + .long 1065282493 + .long 1016729983 + .long 1065284919 + .long 1016415150 + .long 1065287270 + .long 1016108977 + .long 1065289547 + .long 1015811266 + .long 1065291752 + .long 1015521823 + .long 1065293888 + .long 1015240458 + .long 1065295955 + .long 1014912394 + .long 1065297958 + .long 1014380849 + .long 1065299896 + .long 1013864347 + .long 1065301772 + .long 1013362533 + .long 1065303587 + .long 1012875053 + .long 1065305344 + .long 1012401564 + .long 1065307044 + .long 1011941727 + .long 1065308689 + .long 1011495207 + .long 1065310280 + .long 1011061679 + .long 1065311819 + .long 1010640821 + .long 1065313307 + .long 1010232319 + .long 1065314746 + .long 1009835863 + .long 1065316137 + .long 1009451150 + .long 1065317482 + .long 1009077883 + .long 1065318783 + .long 1008715771 + .long 1065320039 + .long 1008364526 + .long 1065321254 + .long 1008023869 + .long 1065322427 + .long 1007693526 + .long 1065323561 + .long 1007373227 + .long 1065324656 + .long 1007062709 + .long 1065325714 + .long 1006761713 + .long 1065326736 + .long 1006307013 + .long 1065327723 + .long 1005741605 + .long 1065328676 + .long 1005193757 + .long 1065329596 + .long 1004662995 + .long 1065330484 + .long 1004148854 + .long 1065331341 + .long 1003650882 + .long 1065332168 + .long 1003168634 + .long 1065332966 + .long 1002701676 + .long 1065333736 + .long 1002249583 + .long 1065334479 + .long 1001811942 + .long 1065335196 + .long 1001388347 + .long 1065335887 + .long 1000978401 + .long 1065336554 + .long 1000581718 + .long 1065337197 + .long 1000197920 + .long 1065337817 + .long 999826638 + .long 1065338414 + .long 999467511 + .long 1065338990 + .long 999120188 + .long 1065339545 + .long 998784326 + .long 1065340080 + .long 998459590 + .long 1065340596 + .long 998046952 + .long 1065341093 + .long 997440036 + .long 1065341571 + .long 996853459 + .long 1065342032 + .long 996286614 + .long 1065342476 + .long 995738909 + .long 1065342903 + .long 995209770 + .long 1065343315 + .long 994698633 + .long 1065343711 + .long 994204952 + .long 1065344092 + .long 993728194 + .long 1065344460 + .long 993267840 + .long 1065344813 + .long 992823384 + .long 1065345153 + .long 992394334 + .long 1065345480 + .long 991980210 + .long 1065345795 + .long 991580547 + .long 1065346097 + .long 991194889 + .long 1065346388 + .long 990822796 + .long 1065346668 + .long 990463837 + .long 1065346938 + .long 990117594 + .long 1065347197 + .long 989711580 + .long 1065347445 + .long 989067545 + .long 1065347685 + .long 988446572 + .long 1065347915 + .long 987847912 + .long 1065348135 + .long 987270840 + .long 1065348348 + .long 986714651 + .long 1065348552 + .long 986178660 + .long 1065348748 + .long 985662200 + .long 1065348936 + .long 985164626 + .long 1065349117 + .long 984685310 + .long 1065349290 + .long 984223642 + .long 1065349457 + .long 983779031 + .long 1065349617 + .long 983350903 + .long 1065349770 + .long 982938700 + .long 1065349918 + .long 982541883 + .long 1065350059 + .long 982159927 + .long 1065350195 + .long 981792323 + .long 1065350325 + .long 981410023 + .long 1065350450 + .long 980729298 + .long 1065350570 + .long 980074409 + .long 1065350685 + .long 979444458 + .long 1065350795 + .long 978838575 + .long 1065350901 + .long 978255916 + .long 1065351002 + .long 977695663 + .long 1065351099 + .long 977157026 + .long 1065351193 + .long 976639239 + .long 1065351282 + .long 976141558 + .long 1065351367 + .long 975663265 + .long 1065351449 + .long 975203666 + .long 1065351528 + .long 974762086 + .long 1065351603 + .long 974337876 + .long 1065351675 + .long 973930403 + .long 1065351744 + .long 973539060 + .long 1065351810 + .long 973163256 + .long 1065351873 + .long 972526314 + .long 1065351934 + .long 971833480 + .long 1065351992 + .long 971168417 + .long 1065352047 + .long 970530093 + .long 1065352101 + .long 969917514 + .long 1065352151 + .long 969329717 + .long 1065352200 + .long 968765773 + .long 1065352246 + .long 968224785 + .long 1065352291 + .long 967705884 + .long 1065352334 + .long 967208234 + .long 1065352374 + .long 966731026 + .long 1065352413 + .long 966273480 + .long 1065352450 + .long 965834842 + .long 1065352486 + .long 965414386 + .long 1065352520 + .long 965011410 + .long 1065352552 + .long 964560555 + .long 1065352583 + .long 963820510 + .long 1065352613 + .long 963111507 + .long 1065352641 + .long 962432331 + .long 1065352668 + .long 961781812 + .long 1065352694 + .long 961158821 + .long 1065352719 + .long 960562270 + .long 1065352743 + .long 959991111 + .long 1065352765 + .long 959444333 + .long 1065352787 + .long 958920964 + .long 1065352807 + .long 958420065 + .long 1065352827 + .long 957940734 + .long 1065352845 + .long 957482101 + .long 1065352863 + .long 957043329 + .long 1065352880 + .long 956623612 + .long 1065352896 + .long 956143037 + .long 1065352912 + .long 955375226 + .long 1065352927 + .long 954641044 + .long 1065352941 + .long 953939107 + .long 1065352954 + .long 953268086 + .long 1065352967 + .long 952626702 + .long 1065352979 + .long 952013724 + .long 1065352991 + .long 951427969 + .long 1065353002 + .long 950868302 + .long 1065353012 + .long 950333628 + .long 1065353023 + .long 949822896 + .long 1065353032 + .long 949335099 + .long 1065353041 + .long 948869264 + .long 1065353050 + .long 948424462 + .long 1065353058 + .long 947999796 + .long 1065353066 + .long 947276109 + .long 1065353074 + .long 946502234 + .long 1065353081 + .long 945763678 + .long 1065353088 + .long 945058918 + .long 1065353094 + .long 944386495 + .long 1065353100 + .long 943745006 + .long 1065353106 + .long 943133108 + .long 1065353112 + .long 942549510 + .long 1065353117 + .long 941992974 + .long 1065353122 + .long 941462313 + .long 1065353127 + .long 940956390 + .long 1065353131 + .long 940474113 + .long 1065353136 + .long 940014434 + .long 1065353140 + .long 939576353 + .long 1065353144 + .long 938793716 + .long 1065353148 + .long 937998252 + .long 1065353151 + .long 937240450 + .long 1065353154 + .long 936518620 + .long 1065353158 + .long 935831142 + .long 1065353161 + .long 935176466 + .long 1065353164 + .long 934553105 + .long 1065353166 + .long 933959638 + .long 1065353169 + .long 933394703 + .long 1065353171 + .long 932856997 + .long 1065353174 + .long 932345273 + .long 1065353176 + .long 931858338 + .long 1065353178 + .long 931395049 + .long 1065353180 + .long 930773143 + .long 1065353182 + .long 929934696 + .long 1065353184 + .long 929137272 + .long 1065353186 + .long 928378959 + .long 1065353187 + .long 927657932 + .long 1065353189 + .long 926972445 + .long 1065353190 + .long 926320828 + .long 1065353192 + .long 925701488 + .long 1065353193 + .long 925112900 + .long 1065353194 + .long 924553608 + .long 1065353195 + .long 924022223 + .long 1065353196 + .long 923517415 + .long 1065353198 + .long 923037917 + .long 1065353199 + .long 922418156 + .long 1065353199 + .long 921553243 + .long 1065353200 + .long 920732007 + .long 1065353201 + .long 919952342 + .long 1065353202 + .long 919212238 + .long 1065353203 + .long 918509777 + .long 1065353204 + .long 917843129 + .long 1065353204 + .long 917210549 + .long 1065353205 + .long 916610371 + .long 1065353205 + .long 916041009 + .long 1065353206 + .long 915500949 + .long 1065353207 + .long 914988747 + .long 1065353207 + .long 914503029 + .long 1065353208 + .long 913726696 + .long 1065353208 + .long 912853452 + .long 1065353209 + .long 912025674 + .long 1065353209 + .long 911241096 + .long 1065353209 + .long 910497555 + .long 1065353210 + .long 909792996 + .long 1065353210 + .long 909125460 + .long 1065353210 + .long 908493081 + .long 1065353211 + .long 907894083 + .long 1065353211 + .long 907326776 + .long 1065353211 + .long 906789553 + .long 1065353212 + .long 906280881 + .long 1065353212 + .long 905628944 + .long 1065353212 + .long 904717211 + .long 1065353212 + .long 903854262 + .long 1065353213 + .long 903037590 + .long 1065353213 + .long 902264812 + .long 1065353213 + .long 901533660 + .long 1065353213 + .long 900841980 + .long 1065353213 + .long 900187723 + .long 1065353213 + .long 899568945 + .long 1065353214 + .long 898983793 + .long 1065353214 + .long 898430512 + .long 1065353214 + .long 897907432 + .long 1065353214 + .long 897244875 + .long 1065353214 + .long 896310159 + .long 1065353214 + .long 895426799 + .long 1065353214 + .long 894592079 + .long 1065353214 + .long 893803420 + .long 1065353215 + .long 893058375 + .long 1065353215 + .long 892354620 + .long 1065353215 + .long 891689952 + .long 1065353215 + .long 891062279 + .long 1065353215 + .long 890469616 + .long 1065353215 + .long 889910081 + .long 1065353215 + .long 889381890 + .long 1065353215 + .long 888574250 + .long 1065353215 + .long 887633259 + .long 1065353215 + .long 886745316 + .long 1065353215 + .long 885907536 + .long 1065353215 + .long 885117184 + .long 1065353215 + .long 884371669 + .long 1065353215 + .long 883668537 + .long 1065353215 + .long 883005462 + .long 1065353215 + .long 882380241 + .long 1065353215 + .long 881790787 + .long 1065353215 + .long 881235123 + .long 1065353216 + .long 880618920 + .long 1065353216 + .long 879631730 + .long 0 + .long 1007709690 + .long 1016097720 + .long 1020828656 + .long 1024484018 + .long 1026847466 + .long 1029209471 + .long 1031569748 + .long 1032863396 + .long 1034041375 + .long 1035218061 + .long 1036393311 + .long 1037566985 + .long 1038738940 + .long 1039909037 + .long 1040632264 + .long 1041215245 + .long 1041797089 + .long 1042377726 + .long 1042957089 + .long 1043535110 + .long 1044111721 + .long 1044686856 + .long 1045260449 + .long 1045832434 + .long 1046402745 + .long 1046971319 + .long 1047538090 + .long 1048102997 + .long 1048620988 + .long 1048901483 + .long 1049180953 + .long 1049459367 + .long 1049736696 + .long 1050012910 + .long 1050287979 + .long 1050561876 + .long 1050834572 + .long 1051106040 + .long 1051376250 + .long 1051645178 + .long 1051912796 + .long 1052179077 + .long 1052443997 + .long 1052707530 + .long 1052969651 + .long 1053230337 + .long 1053489563 + .long 1053747305 + .long 1054003542 + .long 1054258251 + .long 1054511410 + .long 1054762998 + .long 1055012994 + .long 1055261378 + .long 1055508130 + .long 1055753230 + .long 1055996661 + .long 1056238405 + .long 1056478442 + .long 1056716757 + .long 1056953333 + .long 1057076381 + .long 1057192906 + .long 1057308539 + .long 1057423272 + .long 1057537098 + .long 1057650010 + .long 1057762003 + .long 1057873070 + .long 1057983206 + .long 1058092404 + .long 1058200660 + .long 1058307969 + .long 1058414326 + .long 1058519726 + .long 1058624166 + .long 1058727642 + .long 1058830149 + .long 1058931685 + .long 1059032247 + .long 1059131831 + .long 1059230436 + .long 1059328058 + .long 1059424697 + .long 1059520349 + .long 1059615014 + .long 1059708691 + .long 1059801378 + .long 1059893075 + .long 1059983780 + .long 1060073495 + .long 1060162219 + .long 1060249952 + .long 1060336695 + .long 1060422447 + .long 1060507212 + .long 1060590988 + .long 1060673779 + .long 1060755585 + .long 1060836408 + .long 1060916251 + .long 1060995116 + .long 1061073004 + .long 1061149920 + .long 1061225865 + .long 1061300843 + .long 1061374857 + .long 1061447911 + .long 1061520007 + .long 1061591151 + .long 1061661346 + .long 1061730597 + .long 1061798907 + .long 1061866281 + .long 1061932724 + .long 1061998241 + .long 1062062836 + .long 1062126516 + .long 1062189285 + .long 1062251149 + .long 1062312113 + .long 1062372184 + .long 1062431366 + .long 1062489667 + .long 1062547091 + .long 1062603646 + .long 1062659338 + .long 1062714173 + .long 1062768158 + .long 1062821300 + .long 1062873605 + .long 1062925080 + .long 1062975732 + .long 1063025569 + .long 1063074597 + .long 1063122824 + .long 1063170257 + .long 1063216903 + .long 1063262770 + .long 1063307865 + .long 1063352196 + .long 1063395771 + .long 1063438597 + .long 1063480681 + .long 1063522033 + .long 1063562659 + .long 1063602567 + .long 1063641766 + .long 1063680262 + .long 1063718065 + .long 1063755182 + .long 1063791622 + .long 1063827391 + .long 1063862498 + .long 1063896952 + .long 1063930760 + .long 1063963930 + .long 1063996470 + .long 1064028389 + .long 1064059695 + .long 1064090395 + .long 1064120497 + .long 1064150010 + .long 1064178942 + .long 1064207300 + .long 1064235093 + .long 1064262328 + .long 1064289013 + .long 1064315157 + .long 1064340767 + .long 1064365851 + .long 1064390417 + .long 1064414473 + .long 1064438026 + .long 1064461084 + .long 1064483654 + .long 1064505745 + .long 1064527364 + .long 1064548517 + .long 1064569214 + .long 1064589461 + .long 1064609266 + .long 1064628635 + .long 1064647576 + .long 1064666097 + .long 1064684204 + .long 1064701905 + .long 1064719206 + .long 1064736115 + .long 1064752638 + .long 1064768783 + .long 1064784555 + .long 1064799962 + .long 1064815010 + .long 1064829706 + .long 1064844056 + .long 1064858067 + .long 1064871745 + .long 1064885096 + .long 1064898128 + .long 1064910844 + .long 1064923253 + .long 1064935359 + .long 1064947169 + .long 1064958689 + .long 1064969924 + .long 1064980879 + .long 1064991562 + .long 1065001977 + .long 1065012129 + .long 1065022024 + .long 1065031668 + .long 1065041065 + .long 1065050222 + .long 1065059142 + .long 1065067831 + .long 1065076294 + .long 1065084535 + .long 1065092561 + .long 1065100374 + .long 1065107981 + .long 1065115385 + .long 1065122591 + .long 1065129604 + .long 1065136427 + .long 1065143066 + .long 1065149524 + .long 1065155805 + .long 1065161914 + .long 1065167855 + .long 1065173631 + .long 1065179247 + .long 1065184706 + .long 1065190011 + .long 1065195168 + .long 1065200178 + .long 1065205046 + .long 1065209776 + .long 1065214370 + .long 1065218831 + .long 1065223165 + .long 1065227372 + .long 1065231457 + .long 1065235422 + .long 1065239272 + .long 1065243007 + .long 1065246633 + .long 1065250150 + .long 1065253563 + .long 1065256874 + .long 1065260085 + .long 1065263199 + .long 1065266219 + .long 1065269146 + .long 1065271985 + .long 1065274737 + .long 1065277404 + .long 1065279988 + .long 1065282493 + .long 1065284919 + .long 1065287270 + .long 1065289547 + .long 1065291752 + .long 1065293888 + .long 1065295955 + .long 1065297958 + .long 1065299896 + .long 1065301772 + .long 1065303587 + .long 1065305344 + .long 1065307044 + .long 1065308689 + .long 1065310280 + .long 1065311819 + .long 1065313307 + .long 1065314746 + .long 1065316137 + .long 1065317482 + .long 1065318783 + .long 1065320039 + .long 1065321254 + .long 1065322427 + .long 1065323561 + .long 1065324656 + .long 1065325714 + .long 1065326736 + .long 1065327723 + .long 1065328676 + .long 1065329596 + .long 1065330484 + .long 1065331341 + .long 1065332168 + .long 1065332966 + .long 1065333736 + .long 1065334479 + .long 1065335196 + .long 1065335887 + .long 1065336554 + .long 1065337197 + .long 1065337817 + .long 1065338414 + .long 1065338990 + .long 1065339545 + .long 1065340080 + .long 1065340596 + .long 1065341093 + .long 1065341571 + .long 1065342032 + .long 1065342476 + .long 1065342903 + .long 1065343315 + .long 1065343711 + .long 1065344092 + .long 1065344460 + .long 1065344813 + .long 1065345153 + .long 1065345480 + .long 1065345795 + .long 1065346097 + .long 1065346388 + .long 1065346668 + .long 1065346938 + .long 1065347197 + .long 1065347445 + .long 1065347685 + .long 1065347915 + .long 1065348135 + .long 1065348348 + .long 1065348552 + .long 1065348748 + .long 1065348936 + .long 1065349117 + .long 1065349290 + .long 1065349457 + .long 1065349617 + .long 1065349770 + .long 1065349918 + .long 1065350059 + .long 1065350195 + .long 1065350325 + .long 1065350450 + .long 1065350570 + .long 1065350685 + .long 1065350795 + .long 1065350901 + .long 1065351002 + .long 1065351099 + .long 1065351193 + .long 1065351282 + .long 1065351367 + .long 1065351449 + .long 1065351528 + .long 1065351603 + .long 1065351675 + .long 1065351744 + .long 1065351810 + .long 1065351873 + .long 1065351934 + .long 1065351992 + .long 1065352047 + .long 1065352101 + .long 1065352151 + .long 1065352200 + .long 1065352246 + .long 1065352291 + .long 1065352334 + .long 1065352374 + .long 1065352413 + .long 1065352450 + .long 1065352486 + .long 1065352520 + .long 1065352552 + .long 1065352583 + .long 1065352613 + .long 1065352641 + .long 1065352668 + .long 1065352694 + .long 1065352719 + .long 1065352743 + .long 1065352765 + .long 1065352787 + .long 1065352807 + .long 1065352827 + .long 1065352845 + .long 1065352863 + .long 1065352880 + .long 1065352896 + .long 1065352912 + .long 1065352927 + .long 1065352941 + .long 1065352954 + .long 1065352967 + .long 1065352979 + .long 1065352991 + .long 1065353002 + .long 1065353012 + .long 1065353023 + .long 1065353032 + .long 1065353041 + .long 1065353050 + .long 1065353058 + .long 1065353066 + .long 1065353074 + .long 1065353081 + .long 1065353088 + .long 1065353094 + .long 1065353100 + .long 1065353106 + .long 1065353112 + .long 1065353117 + .long 1065353122 + .long 1065353127 + .long 1065353131 + .long 1065353136 + .long 1065353140 + .long 1065353144 + .long 1065353148 + .long 1065353151 + .long 1065353154 + .long 1065353158 + .long 1065353161 + .long 1065353164 + .long 1065353166 + .long 1065353169 + .long 1065353171 + .long 1065353174 + .long 1065353176 + .long 1065353178 + .long 1065353180 + .long 1065353182 + .long 1065353184 + .long 1065353186 + .long 1065353187 + .long 1065353189 + .long 1065353190 + .long 1065353192 + .long 1065353193 + .long 1065353194 + .long 1065353195 + .long 1065353196 + .long 1065353198 + .long 1065353199 + .long 1065353199 + .long 1065353200 + .long 1065353201 + .long 1065353202 + .long 1065353203 + .long 1065353204 + .long 1065353204 + .long 1065353205 + .long 1065353205 + .long 1065353206 + .long 1065353207 + .long 1065353207 + .long 1065353208 + .long 1065353208 + .long 1065353209 + .long 1065353209 + .long 1065353209 + .long 1065353210 + .long 1065353210 + .long 1065353210 + .long 1065353211 + .long 1065353211 + .long 1065353211 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_serf_data_internal,@object + .size __svml_serf_data_internal,8256 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core-sse.S new file mode 100644 index 0000000000..4b939f8c55 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized erff, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_erff _ZGVdN8v_erff_sse_wrapper +#include "../svml_s_erff8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core.c new file mode 100644 index 0000000000..50f5901db1 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized erff, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_erff +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_erff, __GI__ZGVdN8v_erff, + __redirect__ZGVdN8v_erff) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core_avx2.S new file mode 100644 index 0000000000..6fe38713b0 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core_avx2.S @@ -0,0 +1,3062 @@ +/* Function erff vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Basic formula is + * erf(x) ~ erf(x0) + + * + exp(-x0*x0)*D*(1+c0+T*P1(T)+D^2*P3(T)+D^4*p5) + * where D=x-x0, T=x0*D + * x0 is x rounded to a specified number of fractional bits (in this case 8), + * except that x0=0 for |x|<3.5/256.0 (using x0=0 for first 4 table entries) + * + * Data table packs both erf(x0)_high and a few bits of erf(x0)_low in one + * entry (in place of redundant exponent bits) + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_erff_avx2) + 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 -1006632960+__svml_serf_data_internal(%rip), %rax + +/* + * vector gather: + * erf(x0), exp(-x0*x0)*2.0/sqrt(pi) + */ + vmovups 6464+__svml_serf_data_internal(%rip), %ymm3 + vmovups %ymm11, 128(%rsp) + vmovups %ymm13, 64(%rsp) + vmovups %ymm14, 32(%rsp) + vmovups %ymm15, (%rsp) + vmovups %ymm12, 96(%rsp) + vandps 6080+__svml_serf_data_internal(%rip), %ymm0, %ymm2 + +/* + * erf(x) rounds to 1.0 for x>_MaxThreshold (3.9375) + * can compute all results in the main path + */ + vminps 6336+__svml_serf_data_internal(%rip), %ymm2, %ymm4 + vaddps %ymm3, %ymm4, %ymm7 + vcmpgt_oqps 6592+__svml_serf_data_internal(%rip), %ymm4, %ymm1 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + vpslld $3, %ymm7, %ymm11 + vsubps %ymm3, %ymm7, %ymm3 + vsubps %ymm3, %ymm4, %ymm5 + vandps %ymm1, %ymm5, %ymm4 + +/* NaN fixup */ + vminps %ymm2, %ymm5, %ymm5 + +/* save sign */ + vxorps %ymm0, %ymm2, %ymm6 + +/* D2 = Diff^2 */ + vmulps %ymm4, %ymm4, %ymm2 + +/* + * Start polynomial evaluation + * P1 + */ + vfmsub231ps 6784+__svml_serf_data_internal(%rip), %ymm5, %ymm3 + +/* + * branch-free + * (exp_h(x0) * Diff) * (poly + 1.0) + */ + vfmadd213ps %ymm5, %ymm2, %ymm3 + vmovd %xmm11, %edx + vextractf128 $1, %ymm11, %xmm13 + vpextrd $1, %xmm11, %ecx + movslq %edx, %rdx + movslq %ecx, %rcx + vmovd %xmm13, %r10d + vmovq (%rax,%rdx), %xmm14 + vpextrd $2, %xmm11, %r8d + vpextrd $3, %xmm11, %r9d + vmovq (%rax,%rcx), %xmm0 + vpextrd $1, %xmm13, %r11d + vpextrd $2, %xmm13, %edx + vpextrd $3, %xmm13, %ecx + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r10d, %r10 + movslq %r11d, %r11 + movslq %edx, %rdx + movslq %ecx, %rcx + vmovq (%rax,%r8), %xmm15 + vmovq (%rax,%r9), %xmm1 + vmovq (%rax,%r10), %xmm7 + vmovq (%rax,%r11), %xmm11 + vmovq (%rax,%rdx), %xmm12 + vmovq (%rax,%rcx), %xmm13 + vunpcklps %xmm15, %xmm14, %xmm15 + vunpcklps %xmm1, %xmm0, %xmm14 + vunpcklps %xmm12, %xmm7, %xmm0 + vunpcklps %xmm13, %xmm11, %xmm1 + vmovups 128(%rsp), %ymm11 + cfi_restore(94) + vmovups 64(%rsp), %ymm13 + cfi_restore(96) + vinsertf128 $1, %xmm0, %ymm15, %ymm7 + vinsertf128 $1, %xmm1, %ymm14, %ymm12 + vunpcklps %ymm12, %ymm7, %ymm0 + vunpckhps %ymm12, %ymm7, %ymm7 + vmovups 96(%rsp), %ymm12 + cfi_restore(95) + vmovups 32(%rsp), %ymm14 + cfi_restore(97) + vmovups (%rsp), %ymm15 + cfi_restore(98) + +/* Final result */ + vfmadd213ps %ymm0, %ymm7, %ymm3 + +/* set sign */ + vorps %ymm6, %ymm3, %ymm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + +END(_ZGVdN8v_erff_avx2) + + .section .rodata, "a" + .align 64 + +__svml_serf_data_internal: + .long 0 + .long 1066430139 + .long 1007709690 + .long 1066429561 + .long 1016097720 + .long 1066427828 + .long 1020828656 + .long 1066424940 + .long 1024484018 + .long 1066420899 + .long 1026847466 + .long 1066415706 + .long 1029209471 + .long 1066409363 + .long 1031569748 + .long 1066401872 + .long 1032863396 + .long 1066393236 + .long 1034041375 + .long 1066383458 + .long 1035218061 + .long 1066372541 + .long 1036393311 + .long 1066360491 + .long 1037566985 + .long 1066347310 + .long 1038738940 + .long 1066333004 + .long 1039909037 + .long 1066317578 + .long 1040632264 + .long 1066301038 + .long 1041215245 + .long 1066283389 + .long 1041797089 + .long 1066264638 + .long 1042377726 + .long 1066244793 + .long 1042957089 + .long 1066223859 + .long 1043535110 + .long 1066201845 + .long 1044111721 + .long 1066178758 + .long 1044686856 + .long 1066154607 + .long 1045260449 + .long 1066129400 + .long 1045832434 + .long 1066103148 + .long 1046402745 + .long 1066075858 + .long 1046971319 + .long 1066047540 + .long 1047538090 + .long 1066018206 + .long 1048102997 + .long 1065987864 + .long 1048620988 + .long 1065956527 + .long 1048901483 + .long 1065924204 + .long 1049180953 + .long 1065890909 + .long 1049459367 + .long 1065856651 + .long 1049736696 + .long 1065821444 + .long 1050012910 + .long 1065785299 + .long 1050287979 + .long 1065748229 + .long 1050561876 + .long 1065710248 + .long 1050834572 + .long 1065671368 + .long 1051106040 + .long 1065631602 + .long 1051376250 + .long 1065590966 + .long 1051645178 + .long 1065549471 + .long 1051912796 + .long 1065507134 + .long 1052179077 + .long 1065463968 + .long 1052443997 + .long 1065419987 + .long 1052707530 + .long 1065375208 + .long 1052969651 + .long 1065306072 + .long 1053230337 + .long 1065213407 + .long 1053489563 + .long 1065119237 + .long 1053747305 + .long 1065023591 + .long 1054003542 + .long 1064926502 + .long 1054258251 + .long 1064828002 + .long 1054511410 + .long 1064728124 + .long 1054762998 + .long 1064626900 + .long 1055012994 + .long 1064524364 + .long 1055261378 + .long 1064420548 + .long 1055508130 + .long 1064315487 + .long 1055753230 + .long 1064209214 + .long 1055996661 + .long 1064101763 + .long 1056238405 + .long 1063993169 + .long 1056478442 + .long 1063883465 + .long 1056716757 + .long 1063772687 + .long 1056953333 + .long 1063660869 + .long 1057076381 + .long 1063548046 + .long 1057192906 + .long 1063434253 + .long 1057308539 + .long 1063319525 + .long 1057423272 + .long 1063203897 + .long 1057537098 + .long 1063087405 + .long 1057650010 + .long 1062970083 + .long 1057762003 + .long 1062851966 + .long 1057873070 + .long 1062733091 + .long 1057983206 + .long 1062613492 + .long 1058092404 + .long 1062493204 + .long 1058200660 + .long 1062372263 + .long 1058307969 + .long 1062250703 + .long 1058414326 + .long 1062128561 + .long 1058519726 + .long 1062005869 + .long 1058624166 + .long 1061882664 + .long 1058727642 + .long 1061758980 + .long 1058830149 + .long 1061634851 + .long 1058931685 + .long 1061510312 + .long 1059032247 + .long 1061385397 + .long 1059131831 + .long 1061260139 + .long 1059230436 + .long 1061134574 + .long 1059328058 + .long 1061008734 + .long 1059424697 + .long 1060882652 + .long 1059520349 + .long 1060756362 + .long 1059615014 + .long 1060629897 + .long 1059708691 + .long 1060503288 + .long 1059801378 + .long 1060376569 + .long 1059893075 + .long 1060249771 + .long 1059983780 + .long 1060122926 + .long 1060073495 + .long 1059996065 + .long 1060162219 + .long 1059869219 + .long 1060249952 + .long 1059742419 + .long 1060336695 + .long 1059615695 + .long 1060422447 + .long 1059489076 + .long 1060507212 + .long 1059362593 + .long 1060590988 + .long 1059236275 + .long 1060673779 + .long 1059110150 + .long 1060755585 + .long 1058984247 + .long 1060836408 + .long 1058858593 + .long 1060916251 + .long 1058733216 + .long 1060995116 + .long 1058608143 + .long 1061073004 + .long 1058483401 + .long 1061149920 + .long 1058359015 + .long 1061225865 + .long 1058235012 + .long 1061300843 + .long 1058111417 + .long 1061374857 + .long 1057988254 + .long 1061447911 + .long 1057865548 + .long 1061520007 + .long 1057743323 + .long 1061591151 + .long 1057621602 + .long 1061661346 + .long 1057500407 + .long 1061730597 + .long 1057379761 + .long 1061798907 + .long 1057259686 + .long 1061866281 + .long 1057140203 + .long 1061932724 + .long 1057021334 + .long 1061998241 + .long 1056841587 + .long 1062062836 + .long 1056606421 + .long 1062126516 + .long 1056372599 + .long 1062189285 + .long 1056140160 + .long 1062251149 + .long 1055909139 + .long 1062312113 + .long 1055679573 + .long 1062372184 + .long 1055451496 + .long 1062431366 + .long 1055224941 + .long 1062489667 + .long 1054999940 + .long 1062547091 + .long 1054776524 + .long 1062603646 + .long 1054554724 + .long 1062659338 + .long 1054334570 + .long 1062714173 + .long 1054116088 + .long 1062768158 + .long 1053899307 + .long 1062821300 + .long 1053684252 + .long 1062873605 + .long 1053470948 + .long 1062925080 + .long 1053259419 + .long 1062975732 + .long 1053049689 + .long 1063025569 + .long 1052841779 + .long 1063074597 + .long 1052635709 + .long 1063122824 + .long 1052431501 + .long 1063170257 + .long 1052229173 + .long 1063216903 + .long 1052028742 + .long 1063262770 + .long 1051830227 + .long 1063307865 + .long 1051633642 + .long 1063352196 + .long 1051439002 + .long 1063395771 + .long 1051246323 + .long 1063438597 + .long 1051055616 + .long 1063480681 + .long 1050866894 + .long 1063522033 + .long 1050680168 + .long 1063562659 + .long 1050495449 + .long 1063602567 + .long 1050312745 + .long 1063641766 + .long 1050132066 + .long 1063680262 + .long 1049953419 + .long 1063718065 + .long 1049776810 + .long 1063755182 + .long 1049602245 + .long 1063791622 + .long 1049429731 + .long 1063827391 + .long 1049259269 + .long 1063862498 + .long 1049090865 + .long 1063896952 + .long 1048924520 + .long 1063930760 + .long 1048760237 + .long 1063963930 + .long 1048598016 + .long 1063996470 + .long 1048299714 + .long 1064028389 + .long 1047983520 + .long 1064059695 + .long 1047671448 + .long 1064090395 + .long 1047363493 + .long 1064120497 + .long 1047059649 + .long 1064150010 + .long 1046759911 + .long 1064178942 + .long 1046464270 + .long 1064207300 + .long 1046172715 + .long 1064235093 + .long 1045885238 + .long 1064262328 + .long 1045601825 + .long 1064289013 + .long 1045322463 + .long 1064315157 + .long 1045047137 + .long 1064340767 + .long 1044775833 + .long 1064365851 + .long 1044508533 + .long 1064390417 + .long 1044245220 + .long 1064414473 + .long 1043985874 + .long 1064438026 + .long 1043730475 + .long 1064461084 + .long 1043479003 + .long 1064483654 + .long 1043231435 + .long 1064505745 + .long 1042987748 + .long 1064527364 + .long 1042747919 + .long 1064548517 + .long 1042511923 + .long 1064569214 + .long 1042279734 + .long 1064589461 + .long 1042051325 + .long 1064609266 + .long 1041826670 + .long 1064628635 + .long 1041605741 + .long 1064647576 + .long 1041388508 + .long 1064666097 + .long 1041174943 + .long 1064684204 + .long 1040965014 + .long 1064701905 + .long 1040758692 + .long 1064719206 + .long 1040555945 + .long 1064736115 + .long 1040356742 + .long 1064752638 + .long 1040134704 + .long 1064768783 + .long 1039750273 + .long 1064784555 + .long 1039372729 + .long 1064799962 + .long 1039002005 + .long 1064815010 + .long 1038638032 + .long 1064829706 + .long 1038280741 + .long 1064844056 + .long 1037930060 + .long 1064858067 + .long 1037585918 + .long 1064871745 + .long 1037248243 + .long 1064885096 + .long 1036916963 + .long 1064898128 + .long 1036592005 + .long 1064910844 + .long 1036273295 + .long 1064923253 + .long 1035960758 + .long 1064935359 + .long 1035654320 + .long 1064947169 + .long 1035353906 + .long 1064958689 + .long 1035059441 + .long 1064969924 + .long 1034770849 + .long 1064980879 + .long 1034488054 + .long 1064991562 + .long 1034210980 + .long 1065001977 + .long 1033939550 + .long 1065012129 + .long 1033673689 + .long 1065022024 + .long 1033413319 + .long 1065031668 + .long 1033158365 + .long 1065041065 + .long 1032908749 + .long 1065050222 + .long 1032664395 + .long 1065059142 + .long 1032425226 + .long 1065067831 + .long 1032191167 + .long 1065076294 + .long 1031962141 + .long 1065084535 + .long 1031677359 + .long 1065092561 + .long 1031238982 + .long 1065100374 + .long 1030810216 + .long 1065107981 + .long 1030390909 + .long 1065115385 + .long 1029980912 + .long 1065122591 + .long 1029580074 + .long 1065129604 + .long 1029188248 + .long 1065136427 + .long 1028805285 + .long 1065143066 + .long 1028431037 + .long 1065149524 + .long 1028065358 + .long 1065155805 + .long 1027708103 + .long 1065161914 + .long 1027359126 + .long 1065167855 + .long 1027018284 + .long 1065173631 + .long 1026685435 + .long 1065179247 + .long 1026360436 + .long 1065184706 + .long 1026043148 + .long 1065190011 + .long 1025733430 + .long 1065195168 + .long 1025431145 + .long 1065200178 + .long 1025136155 + .long 1065205046 + .long 1024848326 + .long 1065209776 + .long 1024567521 + .long 1065214370 + .long 1024293609 + .long 1065218831 + .long 1024026458 + .long 1065223165 + .long 1023765936 + .long 1065227372 + .long 1023511915 + .long 1065231457 + .long 1023118357 + .long 1065235422 + .long 1022635554 + .long 1065239272 + .long 1022164995 + .long 1065243007 + .long 1021706432 + .long 1065246633 + .long 1021259623 + .long 1065250150 + .long 1020824325 + .long 1065253563 + .long 1020400301 + .long 1065256874 + .long 1019987316 + .long 1065260085 + .long 1019585139 + .long 1065263199 + .long 1019193540 + .long 1065266219 + .long 1018812294 + .long 1065269146 + .long 1018441179 + .long 1065271985 + .long 1018079974 + .long 1065274737 + .long 1017728463 + .long 1065277404 + .long 1017386434 + .long 1065279988 + .long 1017053676 + .long 1065282493 + .long 1016729983 + .long 1065284919 + .long 1016415150 + .long 1065287270 + .long 1016108977 + .long 1065289547 + .long 1015811266 + .long 1065291752 + .long 1015521823 + .long 1065293888 + .long 1015240458 + .long 1065295955 + .long 1014912394 + .long 1065297958 + .long 1014380849 + .long 1065299896 + .long 1013864347 + .long 1065301772 + .long 1013362533 + .long 1065303587 + .long 1012875053 + .long 1065305344 + .long 1012401564 + .long 1065307044 + .long 1011941727 + .long 1065308689 + .long 1011495207 + .long 1065310280 + .long 1011061679 + .long 1065311819 + .long 1010640821 + .long 1065313307 + .long 1010232319 + .long 1065314746 + .long 1009835863 + .long 1065316137 + .long 1009451150 + .long 1065317482 + .long 1009077883 + .long 1065318783 + .long 1008715771 + .long 1065320039 + .long 1008364526 + .long 1065321254 + .long 1008023869 + .long 1065322427 + .long 1007693526 + .long 1065323561 + .long 1007373227 + .long 1065324656 + .long 1007062709 + .long 1065325714 + .long 1006761713 + .long 1065326736 + .long 1006307013 + .long 1065327723 + .long 1005741605 + .long 1065328676 + .long 1005193757 + .long 1065329596 + .long 1004662995 + .long 1065330484 + .long 1004148854 + .long 1065331341 + .long 1003650882 + .long 1065332168 + .long 1003168634 + .long 1065332966 + .long 1002701676 + .long 1065333736 + .long 1002249583 + .long 1065334479 + .long 1001811942 + .long 1065335196 + .long 1001388347 + .long 1065335887 + .long 1000978401 + .long 1065336554 + .long 1000581718 + .long 1065337197 + .long 1000197920 + .long 1065337817 + .long 999826638 + .long 1065338414 + .long 999467511 + .long 1065338990 + .long 999120188 + .long 1065339545 + .long 998784326 + .long 1065340080 + .long 998459590 + .long 1065340596 + .long 998046952 + .long 1065341093 + .long 997440036 + .long 1065341571 + .long 996853459 + .long 1065342032 + .long 996286614 + .long 1065342476 + .long 995738909 + .long 1065342903 + .long 995209770 + .long 1065343315 + .long 994698633 + .long 1065343711 + .long 994204952 + .long 1065344092 + .long 993728194 + .long 1065344460 + .long 993267840 + .long 1065344813 + .long 992823384 + .long 1065345153 + .long 992394334 + .long 1065345480 + .long 991980210 + .long 1065345795 + .long 991580547 + .long 1065346097 + .long 991194889 + .long 1065346388 + .long 990822796 + .long 1065346668 + .long 990463837 + .long 1065346938 + .long 990117594 + .long 1065347197 + .long 989711580 + .long 1065347445 + .long 989067545 + .long 1065347685 + .long 988446572 + .long 1065347915 + .long 987847912 + .long 1065348135 + .long 987270840 + .long 1065348348 + .long 986714651 + .long 1065348552 + .long 986178660 + .long 1065348748 + .long 985662200 + .long 1065348936 + .long 985164626 + .long 1065349117 + .long 984685310 + .long 1065349290 + .long 984223642 + .long 1065349457 + .long 983779031 + .long 1065349617 + .long 983350903 + .long 1065349770 + .long 982938700 + .long 1065349918 + .long 982541883 + .long 1065350059 + .long 982159927 + .long 1065350195 + .long 981792323 + .long 1065350325 + .long 981410023 + .long 1065350450 + .long 980729298 + .long 1065350570 + .long 980074409 + .long 1065350685 + .long 979444458 + .long 1065350795 + .long 978838575 + .long 1065350901 + .long 978255916 + .long 1065351002 + .long 977695663 + .long 1065351099 + .long 977157026 + .long 1065351193 + .long 976639239 + .long 1065351282 + .long 976141558 + .long 1065351367 + .long 975663265 + .long 1065351449 + .long 975203666 + .long 1065351528 + .long 974762086 + .long 1065351603 + .long 974337876 + .long 1065351675 + .long 973930403 + .long 1065351744 + .long 973539060 + .long 1065351810 + .long 973163256 + .long 1065351873 + .long 972526314 + .long 1065351934 + .long 971833480 + .long 1065351992 + .long 971168417 + .long 1065352047 + .long 970530093 + .long 1065352101 + .long 969917514 + .long 1065352151 + .long 969329717 + .long 1065352200 + .long 968765773 + .long 1065352246 + .long 968224785 + .long 1065352291 + .long 967705884 + .long 1065352334 + .long 967208234 + .long 1065352374 + .long 966731026 + .long 1065352413 + .long 966273480 + .long 1065352450 + .long 965834842 + .long 1065352486 + .long 965414386 + .long 1065352520 + .long 965011410 + .long 1065352552 + .long 964560555 + .long 1065352583 + .long 963820510 + .long 1065352613 + .long 963111507 + .long 1065352641 + .long 962432331 + .long 1065352668 + .long 961781812 + .long 1065352694 + .long 961158821 + .long 1065352719 + .long 960562270 + .long 1065352743 + .long 959991111 + .long 1065352765 + .long 959444333 + .long 1065352787 + .long 958920964 + .long 1065352807 + .long 958420065 + .long 1065352827 + .long 957940734 + .long 1065352845 + .long 957482101 + .long 1065352863 + .long 957043329 + .long 1065352880 + .long 956623612 + .long 1065352896 + .long 956143037 + .long 1065352912 + .long 955375226 + .long 1065352927 + .long 954641044 + .long 1065352941 + .long 953939107 + .long 1065352954 + .long 953268086 + .long 1065352967 + .long 952626702 + .long 1065352979 + .long 952013724 + .long 1065352991 + .long 951427969 + .long 1065353002 + .long 950868302 + .long 1065353012 + .long 950333628 + .long 1065353023 + .long 949822896 + .long 1065353032 + .long 949335099 + .long 1065353041 + .long 948869264 + .long 1065353050 + .long 948424462 + .long 1065353058 + .long 947999796 + .long 1065353066 + .long 947276109 + .long 1065353074 + .long 946502234 + .long 1065353081 + .long 945763678 + .long 1065353088 + .long 945058918 + .long 1065353094 + .long 944386495 + .long 1065353100 + .long 943745006 + .long 1065353106 + .long 943133108 + .long 1065353112 + .long 942549510 + .long 1065353117 + .long 941992974 + .long 1065353122 + .long 941462313 + .long 1065353127 + .long 940956390 + .long 1065353131 + .long 940474113 + .long 1065353136 + .long 940014434 + .long 1065353140 + .long 939576353 + .long 1065353144 + .long 938793716 + .long 1065353148 + .long 937998252 + .long 1065353151 + .long 937240450 + .long 1065353154 + .long 936518620 + .long 1065353158 + .long 935831142 + .long 1065353161 + .long 935176466 + .long 1065353164 + .long 934553105 + .long 1065353166 + .long 933959638 + .long 1065353169 + .long 933394703 + .long 1065353171 + .long 932856997 + .long 1065353174 + .long 932345273 + .long 1065353176 + .long 931858338 + .long 1065353178 + .long 931395049 + .long 1065353180 + .long 930773143 + .long 1065353182 + .long 929934696 + .long 1065353184 + .long 929137272 + .long 1065353186 + .long 928378959 + .long 1065353187 + .long 927657932 + .long 1065353189 + .long 926972445 + .long 1065353190 + .long 926320828 + .long 1065353192 + .long 925701488 + .long 1065353193 + .long 925112900 + .long 1065353194 + .long 924553608 + .long 1065353195 + .long 924022223 + .long 1065353196 + .long 923517415 + .long 1065353198 + .long 923037917 + .long 1065353199 + .long 922418156 + .long 1065353199 + .long 921553243 + .long 1065353200 + .long 920732007 + .long 1065353201 + .long 919952342 + .long 1065353202 + .long 919212238 + .long 1065353203 + .long 918509777 + .long 1065353204 + .long 917843129 + .long 1065353204 + .long 917210549 + .long 1065353205 + .long 916610371 + .long 1065353205 + .long 916041009 + .long 1065353206 + .long 915500949 + .long 1065353207 + .long 914988747 + .long 1065353207 + .long 914503029 + .long 1065353208 + .long 913726696 + .long 1065353208 + .long 912853452 + .long 1065353209 + .long 912025674 + .long 1065353209 + .long 911241096 + .long 1065353209 + .long 910497555 + .long 1065353210 + .long 909792996 + .long 1065353210 + .long 909125460 + .long 1065353210 + .long 908493081 + .long 1065353211 + .long 907894083 + .long 1065353211 + .long 907326776 + .long 1065353211 + .long 906789553 + .long 1065353212 + .long 906280881 + .long 1065353212 + .long 905628944 + .long 1065353212 + .long 904717211 + .long 1065353212 + .long 903854262 + .long 1065353213 + .long 903037590 + .long 1065353213 + .long 902264812 + .long 1065353213 + .long 901533660 + .long 1065353213 + .long 900841980 + .long 1065353213 + .long 900187723 + .long 1065353213 + .long 899568945 + .long 1065353214 + .long 898983793 + .long 1065353214 + .long 898430512 + .long 1065353214 + .long 897907432 + .long 1065353214 + .long 897244875 + .long 1065353214 + .long 896310159 + .long 1065353214 + .long 895426799 + .long 1065353214 + .long 894592079 + .long 1065353214 + .long 893803420 + .long 1065353215 + .long 893058375 + .long 1065353215 + .long 892354620 + .long 1065353215 + .long 891689952 + .long 1065353215 + .long 891062279 + .long 1065353215 + .long 890469616 + .long 1065353215 + .long 889910081 + .long 1065353215 + .long 889381890 + .long 1065353215 + .long 888574250 + .long 1065353215 + .long 887633259 + .long 1065353215 + .long 886745316 + .long 1065353215 + .long 885907536 + .long 1065353215 + .long 885117184 + .long 1065353215 + .long 884371669 + .long 1065353215 + .long 883668537 + .long 1065353215 + .long 883005462 + .long 1065353215 + .long 882380241 + .long 1065353215 + .long 881790787 + .long 1065353215 + .long 881235123 + .long 1065353216 + .long 880618920 + .long 1065353216 + .long 879631730 + .long 0 + .long 1007709690 + .long 1016097720 + .long 1020828656 + .long 1024484018 + .long 1026847466 + .long 1029209471 + .long 1031569748 + .long 1032863396 + .long 1034041375 + .long 1035218061 + .long 1036393311 + .long 1037566985 + .long 1038738940 + .long 1039909037 + .long 1040632264 + .long 1041215245 + .long 1041797089 + .long 1042377726 + .long 1042957089 + .long 1043535110 + .long 1044111721 + .long 1044686856 + .long 1045260449 + .long 1045832434 + .long 1046402745 + .long 1046971319 + .long 1047538090 + .long 1048102997 + .long 1048620988 + .long 1048901483 + .long 1049180953 + .long 1049459367 + .long 1049736696 + .long 1050012910 + .long 1050287979 + .long 1050561876 + .long 1050834572 + .long 1051106040 + .long 1051376250 + .long 1051645178 + .long 1051912796 + .long 1052179077 + .long 1052443997 + .long 1052707530 + .long 1052969651 + .long 1053230337 + .long 1053489563 + .long 1053747305 + .long 1054003542 + .long 1054258251 + .long 1054511410 + .long 1054762998 + .long 1055012994 + .long 1055261378 + .long 1055508130 + .long 1055753230 + .long 1055996661 + .long 1056238405 + .long 1056478442 + .long 1056716757 + .long 1056953333 + .long 1057076381 + .long 1057192906 + .long 1057308539 + .long 1057423272 + .long 1057537098 + .long 1057650010 + .long 1057762003 + .long 1057873070 + .long 1057983206 + .long 1058092404 + .long 1058200660 + .long 1058307969 + .long 1058414326 + .long 1058519726 + .long 1058624166 + .long 1058727642 + .long 1058830149 + .long 1058931685 + .long 1059032247 + .long 1059131831 + .long 1059230436 + .long 1059328058 + .long 1059424697 + .long 1059520349 + .long 1059615014 + .long 1059708691 + .long 1059801378 + .long 1059893075 + .long 1059983780 + .long 1060073495 + .long 1060162219 + .long 1060249952 + .long 1060336695 + .long 1060422447 + .long 1060507212 + .long 1060590988 + .long 1060673779 + .long 1060755585 + .long 1060836408 + .long 1060916251 + .long 1060995116 + .long 1061073004 + .long 1061149920 + .long 1061225865 + .long 1061300843 + .long 1061374857 + .long 1061447911 + .long 1061520007 + .long 1061591151 + .long 1061661346 + .long 1061730597 + .long 1061798907 + .long 1061866281 + .long 1061932724 + .long 1061998241 + .long 1062062836 + .long 1062126516 + .long 1062189285 + .long 1062251149 + .long 1062312113 + .long 1062372184 + .long 1062431366 + .long 1062489667 + .long 1062547091 + .long 1062603646 + .long 1062659338 + .long 1062714173 + .long 1062768158 + .long 1062821300 + .long 1062873605 + .long 1062925080 + .long 1062975732 + .long 1063025569 + .long 1063074597 + .long 1063122824 + .long 1063170257 + .long 1063216903 + .long 1063262770 + .long 1063307865 + .long 1063352196 + .long 1063395771 + .long 1063438597 + .long 1063480681 + .long 1063522033 + .long 1063562659 + .long 1063602567 + .long 1063641766 + .long 1063680262 + .long 1063718065 + .long 1063755182 + .long 1063791622 + .long 1063827391 + .long 1063862498 + .long 1063896952 + .long 1063930760 + .long 1063963930 + .long 1063996470 + .long 1064028389 + .long 1064059695 + .long 1064090395 + .long 1064120497 + .long 1064150010 + .long 1064178942 + .long 1064207300 + .long 1064235093 + .long 1064262328 + .long 1064289013 + .long 1064315157 + .long 1064340767 + .long 1064365851 + .long 1064390417 + .long 1064414473 + .long 1064438026 + .long 1064461084 + .long 1064483654 + .long 1064505745 + .long 1064527364 + .long 1064548517 + .long 1064569214 + .long 1064589461 + .long 1064609266 + .long 1064628635 + .long 1064647576 + .long 1064666097 + .long 1064684204 + .long 1064701905 + .long 1064719206 + .long 1064736115 + .long 1064752638 + .long 1064768783 + .long 1064784555 + .long 1064799962 + .long 1064815010 + .long 1064829706 + .long 1064844056 + .long 1064858067 + .long 1064871745 + .long 1064885096 + .long 1064898128 + .long 1064910844 + .long 1064923253 + .long 1064935359 + .long 1064947169 + .long 1064958689 + .long 1064969924 + .long 1064980879 + .long 1064991562 + .long 1065001977 + .long 1065012129 + .long 1065022024 + .long 1065031668 + .long 1065041065 + .long 1065050222 + .long 1065059142 + .long 1065067831 + .long 1065076294 + .long 1065084535 + .long 1065092561 + .long 1065100374 + .long 1065107981 + .long 1065115385 + .long 1065122591 + .long 1065129604 + .long 1065136427 + .long 1065143066 + .long 1065149524 + .long 1065155805 + .long 1065161914 + .long 1065167855 + .long 1065173631 + .long 1065179247 + .long 1065184706 + .long 1065190011 + .long 1065195168 + .long 1065200178 + .long 1065205046 + .long 1065209776 + .long 1065214370 + .long 1065218831 + .long 1065223165 + .long 1065227372 + .long 1065231457 + .long 1065235422 + .long 1065239272 + .long 1065243007 + .long 1065246633 + .long 1065250150 + .long 1065253563 + .long 1065256874 + .long 1065260085 + .long 1065263199 + .long 1065266219 + .long 1065269146 + .long 1065271985 + .long 1065274737 + .long 1065277404 + .long 1065279988 + .long 1065282493 + .long 1065284919 + .long 1065287270 + .long 1065289547 + .long 1065291752 + .long 1065293888 + .long 1065295955 + .long 1065297958 + .long 1065299896 + .long 1065301772 + .long 1065303587 + .long 1065305344 + .long 1065307044 + .long 1065308689 + .long 1065310280 + .long 1065311819 + .long 1065313307 + .long 1065314746 + .long 1065316137 + .long 1065317482 + .long 1065318783 + .long 1065320039 + .long 1065321254 + .long 1065322427 + .long 1065323561 + .long 1065324656 + .long 1065325714 + .long 1065326736 + .long 1065327723 + .long 1065328676 + .long 1065329596 + .long 1065330484 + .long 1065331341 + .long 1065332168 + .long 1065332966 + .long 1065333736 + .long 1065334479 + .long 1065335196 + .long 1065335887 + .long 1065336554 + .long 1065337197 + .long 1065337817 + .long 1065338414 + .long 1065338990 + .long 1065339545 + .long 1065340080 + .long 1065340596 + .long 1065341093 + .long 1065341571 + .long 1065342032 + .long 1065342476 + .long 1065342903 + .long 1065343315 + .long 1065343711 + .long 1065344092 + .long 1065344460 + .long 1065344813 + .long 1065345153 + .long 1065345480 + .long 1065345795 + .long 1065346097 + .long 1065346388 + .long 1065346668 + .long 1065346938 + .long 1065347197 + .long 1065347445 + .long 1065347685 + .long 1065347915 + .long 1065348135 + .long 1065348348 + .long 1065348552 + .long 1065348748 + .long 1065348936 + .long 1065349117 + .long 1065349290 + .long 1065349457 + .long 1065349617 + .long 1065349770 + .long 1065349918 + .long 1065350059 + .long 1065350195 + .long 1065350325 + .long 1065350450 + .long 1065350570 + .long 1065350685 + .long 1065350795 + .long 1065350901 + .long 1065351002 + .long 1065351099 + .long 1065351193 + .long 1065351282 + .long 1065351367 + .long 1065351449 + .long 1065351528 + .long 1065351603 + .long 1065351675 + .long 1065351744 + .long 1065351810 + .long 1065351873 + .long 1065351934 + .long 1065351992 + .long 1065352047 + .long 1065352101 + .long 1065352151 + .long 1065352200 + .long 1065352246 + .long 1065352291 + .long 1065352334 + .long 1065352374 + .long 1065352413 + .long 1065352450 + .long 1065352486 + .long 1065352520 + .long 1065352552 + .long 1065352583 + .long 1065352613 + .long 1065352641 + .long 1065352668 + .long 1065352694 + .long 1065352719 + .long 1065352743 + .long 1065352765 + .long 1065352787 + .long 1065352807 + .long 1065352827 + .long 1065352845 + .long 1065352863 + .long 1065352880 + .long 1065352896 + .long 1065352912 + .long 1065352927 + .long 1065352941 + .long 1065352954 + .long 1065352967 + .long 1065352979 + .long 1065352991 + .long 1065353002 + .long 1065353012 + .long 1065353023 + .long 1065353032 + .long 1065353041 + .long 1065353050 + .long 1065353058 + .long 1065353066 + .long 1065353074 + .long 1065353081 + .long 1065353088 + .long 1065353094 + .long 1065353100 + .long 1065353106 + .long 1065353112 + .long 1065353117 + .long 1065353122 + .long 1065353127 + .long 1065353131 + .long 1065353136 + .long 1065353140 + .long 1065353144 + .long 1065353148 + .long 1065353151 + .long 1065353154 + .long 1065353158 + .long 1065353161 + .long 1065353164 + .long 1065353166 + .long 1065353169 + .long 1065353171 + .long 1065353174 + .long 1065353176 + .long 1065353178 + .long 1065353180 + .long 1065353182 + .long 1065353184 + .long 1065353186 + .long 1065353187 + .long 1065353189 + .long 1065353190 + .long 1065353192 + .long 1065353193 + .long 1065353194 + .long 1065353195 + .long 1065353196 + .long 1065353198 + .long 1065353199 + .long 1065353199 + .long 1065353200 + .long 1065353201 + .long 1065353202 + .long 1065353203 + .long 1065353204 + .long 1065353204 + .long 1065353205 + .long 1065353205 + .long 1065353206 + .long 1065353207 + .long 1065353207 + .long 1065353208 + .long 1065353208 + .long 1065353209 + .long 1065353209 + .long 1065353209 + .long 1065353210 + .long 1065353210 + .long 1065353210 + .long 1065353211 + .long 1065353211 + .long 1065353211 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353213 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353214 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353215 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .long 8191 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .long 1081835520 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .long 1066430139 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .long 1199570944 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .long 1021313024 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .long 796917760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .long 1059760819 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .long 3212836869 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .long 3198855902 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .long 3212836874 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .long 1096125530 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .long 3644045571 + .long 1072758523 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .long 270426983 + .long 3217467720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .long 3462409323 + .long 1067688756 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .long 3926688220 + .long 3212415753 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .long 1245766546 + .long 1061645814 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .long 3109064414 + .long 3205124630 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .long 2512971936 + .long 1051031883 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .long 3028677391 + .long 1049933504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .long 3783197987 + .long 3194323052 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .long 74505031 + .long 1042748772 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .long 1406668547 + .long 3185429286 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .long 3345142763 + .long 1032186591 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .long 678555889 + .long 3172755082 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .long 1087852134 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .long 1065874727 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .long 3191107981 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .long 1024942079 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .long 3148844381 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .long 972031746 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .long 3079608568 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_serf_data_internal,@object + .size __svml_serf_data_internal,8256 diff --git a/sysdeps/x86_64/fpu/svml_d_erf2_core.S b/sysdeps/x86_64/fpu/svml_d_erf2_core.S new file mode 100644 index 0000000000..6ef30af2bd --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_erf2_core.S @@ -0,0 +1,29 @@ +/* Function erf vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_erf) +WRAPPER_IMPL_SSE2 erf +END (_ZGVbN2v_erf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_erf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_erf4_core.S b/sysdeps/x86_64/fpu/svml_d_erf4_core.S new file mode 100644 index 0000000000..2ca8dfe92e --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_erf4_core.S @@ -0,0 +1,29 @@ +/* Function erf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_erf) +WRAPPER_IMPL_AVX _ZGVbN2v_erf +END (_ZGVdN4v_erf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_erf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_erf4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_erf4_core_avx.S new file mode 100644 index 0000000000..264ff09459 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_erf4_core_avx.S @@ -0,0 +1,25 @@ +/* Function erf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_erf) +WRAPPER_IMPL_AVX _ZGVbN2v_erf +END (_ZGVcN4v_erf) diff --git a/sysdeps/x86_64/fpu/svml_d_erf8_core.S b/sysdeps/x86_64/fpu/svml_d_erf8_core.S new file mode 100644 index 0000000000..de8c2a48bb --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_erf8_core.S @@ -0,0 +1,25 @@ +/* Function erf vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_erf) +WRAPPER_IMPL_AVX512 _ZGVdN4v_erf +END (_ZGVeN8v_erf) diff --git a/sysdeps/x86_64/fpu/svml_s_erff16_core.S b/sysdeps/x86_64/fpu/svml_s_erff16_core.S new file mode 100644 index 0000000000..2c5037a0ec --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_erff16_core.S @@ -0,0 +1,25 @@ +/* Function erff vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_erff) +WRAPPER_IMPL_AVX512 _ZGVdN8v_erff +END (_ZGVeN16v_erff) diff --git a/sysdeps/x86_64/fpu/svml_s_erff4_core.S b/sysdeps/x86_64/fpu/svml_s_erff4_core.S new file mode 100644 index 0000000000..0f58bb7aaf --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_erff4_core.S @@ -0,0 +1,29 @@ +/* Function erff vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_erff) +WRAPPER_IMPL_SSE2 erff +END (_ZGVbN4v_erff) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_erff) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_erff8_core.S b/sysdeps/x86_64/fpu/svml_s_erff8_core.S new file mode 100644 index 0000000000..a9f287c420 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_erff8_core.S @@ -0,0 +1,29 @@ +/* Function erff vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_erff) +WRAPPER_IMPL_AVX _ZGVbN4v_erff +END (_ZGVdN8v_erff) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_erff) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_erff8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_erff8_core_avx.S new file mode 100644 index 0000000000..ca5a8048e8 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_erff8_core_avx.S @@ -0,0 +1,25 @@ +/* Function erff vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_erff) +WRAPPER_IMPL_AVX _ZGVbN4v_erff +END (_ZGVcN8v_erff) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-erf-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-erf-avx.c new file mode 100644 index 0000000000..a2eceefc9b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-erf-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-erf.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-erf-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-erf-avx2.c new file mode 100644 index 0000000000..a2eceefc9b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-erf-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-erf.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-erf-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-erf-avx512f.c new file mode 100644 index 0000000000..a2eceefc9b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-erf-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-erf.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-erf.c b/sysdeps/x86_64/fpu/test-double-libmvec-erf.c new file mode 100644 index 0000000000..c1ded24b1d --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-erf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC erf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 03fcb80d95..cc04bd4515 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -36,6 +36,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVbN2vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVbN2v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVbN2v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVbN2v_cosh) +VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVbN2v_erf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 03e1d9eeda..25c2c67d01 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -39,6 +39,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVdN4vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVdN4v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVdN4v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVdN4v_cosh) +VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVdN4v_erf) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index ed0f71570a..34ee56dc3d 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -36,6 +36,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVcN4vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVcN4v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVcN4v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVcN4v_cosh) +VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVcN4v_erf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index 3cb0f61667..16890dd28e 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -36,6 +36,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2), _ZGVeN8vv_atan2) VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVeN8v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVeN8v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVeN8v_cosh) +VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVeN8v_erf) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-erff-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-erff-avx.c new file mode 100644 index 0000000000..8cdf4dc069 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-erff-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-erff.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-erff-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-erff-avx2.c new file mode 100644 index 0000000000..8cdf4dc069 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-erff-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-erff.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-erff-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-erff-avx512f.c new file mode 100644 index 0000000000..8cdf4dc069 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-erff-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-erff.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-erff.c b/sysdeps/x86_64/fpu/test-float-libmvec-erff.c new file mode 100644 index 0000000000..ba83826ab9 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-erff.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC erff +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index c0ac6809e8..94653998c5 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -36,6 +36,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVeN16vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVeN16v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVeN16v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVeN16v_coshf) +VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVeN16v_erff) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 5fb185e6fe..ebd49667d6 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -36,6 +36,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVbN4vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVbN4v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVbN4v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVbN4v_coshf) +VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVbN4v_erff) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 7ab40a72d0..7419674f5c 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -39,6 +39,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVdN8vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVdN8v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVdN8v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVdN8v_coshf) +VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVdN8v_erff) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index efd661db69..8a77b15c6e 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -36,6 +36,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f), _ZGVcN8vv_atan2f) VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVcN8v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVcN8v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVcN8v_coshf) +VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVcN8v_erff) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48100 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F0A753858430 for ; Wed, 24 Nov 2021 20:22:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F0A753858430 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785350; bh=vV4LxWy1i9Og5Vh2lzQjmogHHxK0Col61wGUadmHo/o=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=Il7xvJyy3TCIW51vs57p6MX/AxmjIeVouA/3dXR46xs3iS+HJMq4g8Ry+xaFMBo1T FbifI49wG88O2029RwIFbQrpUSlJGfxIRgZOZdqfER3JSOB7N3rrjj2s0UE/ycMHMy hMv5kFEBAnQNbPTeopZjq7LIzxWeiJbj2OkpcPm0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id B60E33857832 for ; Wed, 24 Nov 2021 19:38:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B60E33857832 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="222581825" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="222581825" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="510002841" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga008.jf.intel.com with ESMTP; 24 Nov 2021 11:38:11 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7X7021555; Wed, 24 Nov 2021 11:38:11 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 20/42] x86-64: Add vector erf/erff to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:45 -0800 Message-Id: <20211124193807.2093208-21-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector erf/erff and input files to libmvec microbenchmark. libmvec-erf-inputs: 90% Normal random distribution range: (-6.0, 6.0) mean: 0.0 sigma: 1.0 10% uniform random distribution in range (-5.9, 5.9) libmvec-erff-inputs: 90% Normal random distribution range: (-4.0f, 4.0f) mean: 0.0f sigma: 1.0f 10% uniform random distribution in range (-3.9f, 3.9f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-erf-inputs | 4100 ++++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-erff-inputs | 4100 ++++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-erf-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-erff-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index b46ad59255..020c63ee31 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -50,6 +50,7 @@ libmvec-bench-funcs = \ atanh \ cbrt \ cosh \ + erf \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-erf-inputs b/sysdeps/x86_64/fpu/libmvec-erf-inputs new file mode 100644 index 0000000000..8ebf37a916 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-erf-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-6, 6), mean = 0, standard deviation = 1 +-0x1.11003707ad71cp-2 +-0x1.1f03ac14205d9p-1 +-0x1.88539918864c9p+0 +-0x1.4101316c89f72p-1 +-0x1.3b7fb80733407p-2 +0x1.029dee7ae42b8p+0 +0x1.77fde1eeb3fa9p-1 +0x1.16a53d1f1be7ep+1 +0x1.35a33590dab6ep-1 +-0x1.f85d770c98ac8p-2 +-0x1.75bd8b3896dd6p+0 +-0x1.360247570184fp+0 +0x1.1cb9fa09ed944p+1 +-0x1.cc0c949f502bdp-3 +-0x1.b06432c2571b1p-1 +0x1.e5f318e3e5fffp+0 +-0x1.2bbc5f516e8d5p-2 +-0x1.b20d60c7a530ap-8 +0x1.1ee5aa3496dfdp-1 +0x1.0d39d9919d41cp+0 +-0x1.f35ec91641a28p-2 +-0x1.90e89ab44af72p-1 +-0x1.8718b197051b2p-3 +0x1.e1a883407183ap-1 +-0x1.bb84130e0b6c2p-2 +0x1.66748e4448814p+0 +-0x1.03ac940894e0bp+0 +-0x1.2777c019ddd62p-2 +0x1.1d20fa6e1de58p+0 +-0x1.0d65971f91a47p+0 +0x1.948e128f1e25cp-3 +0x1.a2f9146265a94p-1 +0x1.8dfc3c4334d3fp-3 +-0x1.bafad3f5d9cf8p-1 +0x1.7291977c39bfbp-3 +0x1.0d76b4a8e6ffap-4 +-0x1.8ba0bf00ef4fbp-1 +-0x1.657578a29b5d8p-2 +-0x1.42073771c3e34p-2 +0x1.8688ba9ddb115p-2 +-0x1.3c18dfcd0f52cp-4 +0x1.e264029c179bdp-1 +-0x1.16b4eb16e4697p+0 +0x1.919dfef854b24p-2 +0x1.51a8f5058cf09p-6 +-0x1.cae511128102fp-1 +-0x1.7ed13b350af89p-3 +0x1.7c78e8308fd75p-1 +-0x1.371df5ae1bae6p+0 +-0x1.47b6c3841cc34p-2 +0x1.c0eb159b7735cp-1 +-0x1.041440688e7dcp+0 +0x1.747d826d6612p-1 +-0x1.0e3c3a9af5cbdp+1 +-0x1.9223e1cf1b888p-1 +0x1.2c285914810dep-2 +-0x1.e1009fc24adffp-1 +0x1.a994c08eb3571p-1 +0x1.5642c58ee1935p+0 +0x1.adff0bc4778edp-3 +0x1.8827db1033eb9p-1 +-0x1.7e95d7fb26218p-6 +0x1.7b79307d8a2fep-2 +-0x1.6d0ab05da8ddap+0 +0x1.103a6c7728d5fp-1 +0x1.cb814b7ce6be9p-1 +0x1.ef5984a81ededp-3 +0x1.4511a4ee5b844p-3 +0x1.c3236baf357dbp-3 +-0x1.b5663a8cd3b9ep-5 +0x1.f9775cb63303ap-1 +-0x1.fbe0031478fdap-1 +0x1.ec4068e7020c7p-4 +0x1.0af7c1486d593p-1 +-0x1.18e6b70f08559p-1 +0x1.2fc06a93c1a14p-2 +-0x1.0df60b2d5d5dcp-1 +-0x1.47cb85286ad49p+2 +-0x1.f9bea93247eaap-4 +-0x1.a8a18bac42c3ep-4 +0x1.90aff4a1567edp+1 +0x1.8035aed7e3caap-4 +0x1.6e5336703809cp-1 +-0x1.202ed659e43b3p+0 +-0x1.958d6ede80a6p-2 +-0x1.0252f07a731ddp-1 +-0x1.ae79eb0610afep-2 +-0x1.08e9352d53acdp-2 +0x1.fa1d1125c944ep-1 +0x1.e0e74fafb7d1cp-1 +0x1.42f5899f42e31p+1 +0x1.c1848146e7d0dp+0 +-0x1.37f81a887c07fp-1 +-0x1.d1b8204e578e7p-4 +-0x1.8d8c75ac1faf6p+0 +0x1.c753b324bdc81p+0 +0x1.59d5b085ab03ap-3 +-0x1.ea04b4cf878fbp-4 +0x1.29c33813f534dp-5 +-0x1.c2ee5e411a0abp-1 +0x1.cee3ca87f3fb9p+0 +-0x1.b5e1a68fd908dp-1 +-0x1.42abb872d6d69p-1 +0x1.1d88916f49ef1p+0 +0x1.80ec7c336cd4bp-2 +0x1.b4378660816adp-4 +0x1.9c79d91cd3abbp-1 +-0x1.253082fbb949cp-4 +-0x1.a401128cbd47p-2 +-0x1.7794302387928p-1 +0x1.77052a301b523p-2 +0x1.aa7ee75ee0531p+0 +-0x1.f6ee5bdcf7b24p-6 +0x1.a39a2af50b0c7p-1 +0x1.3221b7312157fp-1 +0x1.5ff5bc5f5da2dp-1 +-0x1.4613a9aa74a1ep-4 +-0x1.6991a4013ce91p+0 +-0x1.1071c932aaf75p+0 +-0x1.055f3a8317374p+0 +0x1.520ed8dc30dfcp-1 +-0x1.6e15432b01ce6p+0 +0x1.e818fff13878bp+0 +-0x1.8b8cb3370be2bp-1 +-0x1.a9f6495b21f7ep-1 +0x1.88e06bd995039p-2 +0x1.750ec69bb3a04p-1 +-0x1.0dd8abfb7163fp-1 +-0x1.99309e84c1aa3p-2 +-0x1.08b1bb04fcb2fp-2 +0x1.20080e45ee5ebp-2 +0x1.0a5b3dcd01fc6p-2 +0x1.273d5ce7af555p+1 +-0x1.27eeab5a7ec7ap+0 +0x1.398225abd6819p-1 +0x1.56fe5fc6fa3c2p+0 +-0x1.f11f36ce3507dp+0 +0x1.9aca951469d7ap-2 +-0x1.8f8d41cd02deep-1 +-0x1.f49e6ed2ea59dp-3 +-0x1.7a129db836d66p-8 +-0x1.1ae76b7d889bbp-1 +0x1.087a59865458p-4 +0x1.6aff85979d2e4p-1 +-0x1.62fa8a2d852ep-2 +0x1.b66d4b202c901p-2 +0x1.b32cf8b59341dp-2 +-0x1.00da8be5de21ap+1 +-0x1.ac60d9bcb0c1ep-1 +-0x1.fbdc48a31f484p-3 +0x1.ce8d89c689577p-2 +-0x1.f0575d582a6f9p-2 +0x1.2480822366da6p+0 +-0x1.4b02cb0e67facp-4 +-0x1.f980a13147b0ap-1 +-0x1.d7c147ac37bbcp-1 +-0x1.19379d25cb96ap-4 +0x1.fc42362e1dd76p+1 +-0x1.ab949852b3ebfp-2 +0x1.0e6dad20e631fp-1 +-0x1.45599ccb9a8f2p+0 +-0x1.a1d652eced84ep+0 +0x1.0a9a084bf0496p-1 +-0x1.3806551d9b8a6p-1 +-0x1.4723e9533861ap+0 +0x1.82ba877ba1442p+0 +-0x1.be10fd54c1c05p-3 +0x1.6e9ab6991ff9p-10 +0x1.ac8eba94cd894p+0 +0x1.72f43a9f6a1c5p-3 +0x1.647a30feef7b1p-3 +-0x1.6a098d3db5971p-3 +-0x1.535b60bc394fap-5 +0x1.9b21776d6a934p-2 +-0x1.146d50f4082b9p-3 +-0x1.d28fec264c5bbp-2 +0x1.60f8f2f1e865dp-3 +-0x1.4314fbc60688dp-3 +-0x1.3d2ddbf4fb65cp-1 +-0x1.91560bb9916ap-3 +-0x1.2064bd3b1efedp+1 +-0x1.8f0d5ae1f2d1dp-1 +0x1.81850a482ba67p+1 +-0x1.f7d0d6b631c12p-2 +-0x1.f23fd47cfedccp-1 +-0x1.75a6060cb3691p-5 +-0x1.d253dcef76f97p-1 +-0x1.5328460a56bcfp-1 +0x1.ce3576497d7cp-1 +-0x1.8652cde59b041p-2 +-0x1.9b8ef067e895dp+0 +0x1.7d9c66e44ec47p+0 +0x1.b96c3d206dae9p+0 +-0x1.f953fc1959504p-1 +-0x1.6613ff771691ap+0 +-0x1.a1e7bf001c68dp-2 +0x1.46cfc16fd39dep+0 +-0x1.ae24518735eeap-2 +0x1.69939f4e7cd55p+0 +0x1.13306c72f0a09p-2 +0x1.61510c88f5508p-5 +-0x1.1a20364d51f6p+1 +-0x1.64ad7976812dfp-1 +0x1.bc0558fc677f4p-4 +0x1.3c093d67ef0f5p-4 +0x1.4f8ea8f2b2961p-1 +-0x1.55af0900913c4p+1 +0x1.5af1d2d65fffcp-2 +-0x1.0de627c082eb5p-1 +0x1.99ce9e0daa1e9p+0 +-0x1.f3ce28bc65e34p-1 +-0x1.2dcbcb1edbdd6p+0 +0x1.1adafdd6788cap-1 +0x1.853c9a6a80e5fp-3 +-0x1.00b1d997f5fbep-5 +-0x1.12d9e9bd6279ap+0 +-0x1.c05a7b8c13756p+0 +-0x1.df87d85868a0dp+0 +0x1.3e98c5ca53054p-1 +0x1.560246edba008p+0 +-0x1.c6b77410468a2p-1 +-0x1.4de1e09857563p-4 +0x1.efefd701da649p-1 +0x1.c1a1321b7ef1p-4 +0x1.30ea39a7cf938p+0 +-0x1.a74dd3dc1e9a2p-1 +0x1.79ab521c3abfcp-6 +0x1.d28bd03ad897cp-1 +-0x1.dd0ae5433da8p+0 +0x1.0860581cad894p+0 +-0x1.3d8029781c0b5p-2 +-0x1.1185907f2891p-1 +0x1.2aa161a477366p-2 +-0x1.51a2fdf6d801dp+0 +0x1.6d4ca2cbce87bp+0 +-0x1.08647180c4641p-1 +0x1.73c0d4d983607p-3 +-0x1.460bb7d2967e5p+0 +-0x1.96b5c19d31dd8p-1 +0x1.002087be4803p-1 +-0x1.079c675e5f576p+0 +-0x1.a490fe5d517cap-4 +0x1.3a316fc183cdbp-3 +0x1.b3009a6de004ep-3 +-0x1.8be62fc82b254p+0 +0x1.c70c47d64b2e1p-3 +0x1.6ec300c6e0d84p-1 +-0x1.d42bdaaa529ccp-5 +0x1.542a484cbbdap-1 +-0x1.68aade01022e5p-1 +0x1.0719ec34bd9f8p-1 +0x1.5a5bef7e71b7fp-1 +-0x1.7fdae87e3603dp+0 +0x1.bc57097eb994ap-1 +0x1.65e234d9d723p-1 +0x1.81eea275987dcp-1 +-0x1.e09ae78c0f3d3p-2 +0x1.88cff5ac2b027p-2 +-0x1.0aa89c52e3f5fp+2 +0x1.b0dc5207eb04ap-2 +-0x1.949d08f8c29a8p-3 +0x1.2054be5894c16p+0 +-0x1.1c5a705a6144ep+0 +0x1.76a73f5359f3cp+1 +0x1.4becddab02106p-2 +0x1.ede0402a06984p-1 +0x1.5dd9cecee44dp+0 +-0x1.ee86a38dcfb8bp-2 +0x1.430681c5d5435p-1 +-0x1.b239cdf03ac1ep-2 +-0x1.b155c322a615bp+0 +0x1.11059304523ccp-1 +-0x1.940484004736ap-1 +-0x1.748c208c2f2eep+0 +0x1.2ab817598e9cep-2 +-0x1.bb57ee381a94fp-8 +0x1.2c5fa973bc423p-2 +-0x1.105b2a041f858p-2 +0x1.ad21b525cafe7p+0 +0x1.f591180c51366p-1 +0x1.942c7148cde5ap-2 +-0x1.73fc05810249p-2 +0x1.19a063e9246a8p+0 +0x1.f440990cb9501p-3 +-0x1.6ea822c81ebefp+0 +0x1.05325f085e4dap-3 +-0x1.30227ac82dd9p-2 +0x1.69b3016747ba7p-4 +-0x1.a95e1be905656p-1 +0x1.2ff44c322ad99p-1 +0x1.8803b3b61b6ffp-1 +0x1.e33526ca99p-1 +-0x1.581600c51b8fp+0 +-0x1.a15cdae0069dp-3 +-0x1.ad8b0ddd507a6p+0 +-0x1.9c52c8fe232b1p+0 +0x1.1e8559bb5e4ccp-3 +0x1.bb99adabb7695p-2 +-0x1.1dae22a6fbcabp+0 +-0x1.9efa1bdb52cb6p+0 +0x1.7f4123362bf2fp+0 +0x1.a0ae02a90565bp-2 +0x1.6c88688bf3d0ep-1 +0x1.be01a8cc63b1ep+1 +0x1.1a07e1bd84d91p+0 +0x1.50e957f68cb51p+0 +-0x1.4cdfd40db2e34p+1 +0x1.62d0a629641b7p+0 +-0x1.641801bf2bda6p-4 +-0x1.a1d7bc21eb45cp+1 +0x1.27bbe44763d21p+1 +0x1.a556292c47ef2p+0 +-0x1.af841b378367ap-3 +-0x1.6538b64ad0d9fp+0 +-0x1.29feb61cdd084p-1 +0x1.6071bbed6bd28p+1 +0x1.3a75b1d968b3bp+1 +0x1.501b2864bb0aap-1 +0x1.cab884c6bd488p-2 +-0x1.4f6b59e4e29dbp-1 +-0x1.94991fb9ce0efp+0 +-0x1.4bf2146d428fbp-1 +-0x1.f4aaa87f6871dp-1 +-0x1.c904a4b94b4dep-1 +-0x1.851379734f5a1p-2 +-0x1.3253d2afe1b8dp-1 +-0x1.7e5a943926cb6p-1 +-0x1.ba8b241fbebep-2 +-0x1.e32c5b539ed49p+0 +-0x1.f7a818b66c2fbp-2 +0x1.d79048fa51f8ap-3 +-0x1.e1ee3cfd1f65ap-1 +0x1.8a59e5bc58019p-1 +0x1.72b319253eee7p-2 +-0x1.f0a78fd5454d7p-2 +-0x1.ec9f639a8510ep-2 +-0x1.ef4d44582ca63p-1 +-0x1.45030ba429744p-2 +-0x1.3de02f6079c35p+0 +-0x1.ae4ee802d4d44p-2 +-0x1.2a2442b03a96dp+0 +0x1.1e09c7cc868aep-8 +-0x1.36afdca65d6bep+1 +0x1.0b13ec95f71a5p-2 +0x1.5b22063d3f771p-1 +-0x1.c752f2d48be01p-3 +0x1.3d1510a4f8cdbp-1 +0x1.17da3098fa41dp-1 +-0x1.266a093459c2ap-1 +0x1.a9678f459a77fp+0 +-0x1.347da4da856a7p-2 +-0x1.39b4ff032f74p-4 +0x1.b9a57659a198ep-1 +-0x1.7218160918b0bp-1 +0x1.4139fe4f6d7e2p+0 +0x1.0b6028c217fb9p-1 +-0x1.9cf3201eb31ep-2 +0x1.4e85803ece1acp+0 +0x1.b07b4e5172c39p-3 +0x1.11701ffaaed4bp-3 +-0x1.0a879fde035d6p+1 +0x1.7a669443d9e09p-1 +0x1.a9ca39d6dd6d5p-1 +-0x1.5506bc6b3344fp-2 +0x1.7d3bab08c2e5dp-3 +0x1.ba237ef743cb1p-2 +-0x1.9d3fecf588cedp-1 +0x1.04414d215c2dcp-1 +-0x1.1ab065eb10c66p-1 +0x1.acb6e28524c34p+0 +-0x1.9d87f0a785c57p+0 +-0x1.bcfc0ccd8bdb9p-4 +0x1.010d86d3def47p-2 +-0x1.7ff50886aa934p-2 +-0x1.b2ab7548129b2p-1 +0x1.3ee03ef5f88e9p+0 +0x1.44bf15b0634b7p-2 +-0x1.dc7bfeb3d79c5p-3 +0x1.4b2044275cd4dp-2 +0x1.84fe3569cb2f3p-3 +0x1.cd76216869e9bp+0 +0x1.1b1d3cf683a9ep+0 +-0x1.9fcae5205cd46p+0 +-0x1.0a3b58f299bfdp-1 +-0x1.2abc89a0eb39fp+0 +0x1.8c4d6835e5972p-3 +0x1.0a5afe3c4ccc7p+0 +0x1.4fd2cc063a564p-3 +-0x1.fc9b88f0ca98dp+0 +0x1.8d885d6947ae1p+0 +0x1.59ea516d1f26bp+0 +0x1.0ec88cec00338p-5 +-0x1.8a5d8487762f6p+0 +0x1.1a283a53f8328p-4 +0x1.829e7668f5048p-1 +-0x1.7eca9b1911d1ap-2 +-0x1.0136269e8d655p+0 +-0x1.d6aa45de9e968p-1 +0x1.1ae55c1f50a91p-2 +-0x1.6d2bbf6ac4bffp-2 +-0x1.2f894a496ef82p-1 +-0x1.8cccaafc6228bp+1 +0x1.a1847ab53654dp-2 +0x1.61b9f91dd1568p+0 +-0x1.593af265b0f1cp-2 +-0x1.6fcb3685e1188p-1 +-0x1.19c26435896aep+2 +0x1.55402eb22877fp-6 +-0x1.7758f8ef73ce5p-1 +-0x1.129ed6c9fec09p-1 +0x1.47b15b059fa22p-2 +0x1.c37c3800e473fp-4 +-0x1.55e59b46e00fep-1 +0x1.15ab24a33c4afp-2 +-0x1.5efb2f2360924p+0 +-0x1.c822455705f7dp+0 +-0x1.1ec1052baec55p-1 +-0x1.632d52993655fp+0 +-0x1.3b380e44110fbp-3 +-0x1.d06a61edd63b8p+0 +-0x1.648c7d2c9f39ap+1 +-0x1.e0c74983a6277p-2 +0x1.3b45c176c2365p+0 +0x1.9ac13402948f9p+0 +0x1.821b65b56e9d4p-2 +0x1.49d4a47602299p-4 +-0x1.9536fd2b229e5p-3 +-0x1.e45f70770ffa6p-1 +0x1.f42e02754d539p-5 +-0x1.1447c8f7f0803p-2 +-0x1.3814c90a3de51p-1 +-0x1.598a1c891c838p+0 +-0x1.db96f4672c59fp-1 +0x1.b7e8d8652d20bp-1 +0x1.31f092f938cp-1 +-0x1.23d399672214ap+0 +0x1.32ef2a872c334p+0 +-0x1.d6e5873aa87e8p-1 +-0x1.51e8d044a5eadp-2 +-0x1.076d0067d9a9bp+0 +-0x1.5ce540d167649p-2 +-0x1.03dbfbee1785p-1 +0x1.02c32cb8776d7p+0 +0x1.2900de5c7341p-1 +-0x1.7297316b9260cp+0 +-0x1.5d38049159df2p+0 +0x1.7b1185942c1a5p+0 +0x1.ff5246459affp-3 +0x1.0e03a3dd96788p+1 +-0x1.76a414c910fb2p-1 +-0x1.1fffa49b7f639p-4 +0x1.9caea3b989545p-2 +-0x1.793d42826ff15p-4 +0x1.5b08238bd7a18p-3 +0x1.254967c3d947fp-3 +0x1.eb12af95bfb63p+0 +0x1.fe853624e7d83p-3 +0x1.b1e56a27778f2p+0 +0x1.3453058a4da38p-3 +0x1.307c967bfffc2p+0 +0x1.4d5cb9f362b26p-1 +-0x1.b1937baaf010bp-3 +0x1.1c58ae95ce58bp+1 +0x1.d38b68bdbf801p-3 +0x1.55b3e6055d0e1p-5 +-0x1.1aa44da042bb6p-1 +-0x1.b0bd843ab6a4ap-1 +-0x1.f054c11c6fd4cp-5 +-0x1.81014cc2078b6p+0 +-0x1.589222342761fp+0 +0x1.d0a0747739ef9p-3 +0x1.41625bb6bb69ep-9 +-0x1.40f225f19d807p-1 +0x1.68f2251556c42p-2 +-0x1.17690d37416e8p+0 +-0x1.75fa5ee082b6fp-1 +0x1.29564149663f6p-3 +0x1.9881037ac5d0cp-2 +0x1.2b01b141897c8p+0 +-0x1.0f4d726519f07p-4 +-0x1.4b4620ac0010dp-1 +0x1.9e7c31f8f8785p+0 +-0x1.a6f89ee0f795ap-1 +0x1.f2082c30db1c8p-4 +-0x1.dd839901b27bdp-1 +0x1.7fca07d73884p-1 +-0x1.c3c48700662c3p-1 +-0x1.6e853770c0f9fp+0 +0x1.d8ed1c9463b1dp-4 +-0x1.ebd99dffbb2c1p-2 +0x1.fd966020d3d82p-1 +-0x1.206c1fca20dc4p+0 +0x1.aee0d6765bc5cp+0 +-0x1.35d52e2cf8086p-3 +0x1.13223a47687d9p-3 +0x1.7438981f5be52p-2 +-0x1.4bae87899db27p-1 +-0x1.b15ab21feb71ep-1 +-0x1.9ce3b1e40fdefp+0 +0x1.cef4514e6d594p+0 +-0x1.f17318cfda767p+0 +-0x1.e58d0c56c3a7p-6 +0x1.808beb30314dp-1 +0x1.07f0af7446b52p+0 +0x1.325fd32406536p-1 +-0x1.9faafa9806c7bp-4 +0x1.6104f835ab8edp+1 +-0x1.7807e45e473f1p+0 +0x1.29757328895cp-2 +0x1.3b45876742c98p-1 +0x1.c568a632a54f1p-1 +0x1.6caddd90a8a2cp+1 +-0x1.69894d1536713p-2 +-0x1.3730781c9eddep-3 +0x1.135deea0c29fbp-1 +0x1.e1285a2b60964p-3 +0x1.4b80b406c31bdp+0 +0x1.2811c39f9b89bp-1 +-0x1.2ecb56be6818ap+0 +-0x1.ab8ce8c5036fdp-3 +0x1.9d7e1448756f9p+0 +0x1.3737cdf250b8ep+0 +-0x1.63ffee2f4c37p-1 +0x1.03d60e4997e01p-2 +-0x1.d9b722403f2d4p-3 +0x1.022adb9727ec4p-4 +0x1.1d9dc5a8e1235p+0 +0x1.18ec27d3a07d7p-4 +-0x1.6afe70ecfae1dp+1 +0x1.147d5c8097cefp-1 +-0x1.81f8ceac9872dp-1 +0x1.0f381836f6e7bp-1 +-0x1.c6ff784a5846dp-1 +-0x1.66360c4d84d4cp-1 +-0x1.6791dbb850ac8p+0 +-0x1.77c6dfc75633p-2 +0x1.45d5f669fcff2p+0 +0x1.268335c952d5ap+0 +0x1.3a13a0ae983f5p-1 +-0x1.780cef3cd015cp-2 +0x1.6128b1ee4e238p-1 +-0x1.439a5589fc96bp+0 +0x1.50b1d01bf2cabp-1 +-0x1.65ff335baf911p+1 +0x1.0ae6ec582d27ap-1 +-0x1.519680b429656p-2 +0x1.2896f28964649p+0 +0x1.e0a28f7e72504p+0 +0x1.8cdcd3ddd9b87p-6 +0x1.ec9935e7e72f1p-1 +0x1.5317a281a6589p-2 +0x1.51d70c69c8e4ep-3 +-0x1.50ba0ab89871p-1 +0x1.57ab05e481698p+0 +-0x1.9996f9d095cd3p-1 +-0x1.61d00d92a98ecp+0 +-0x1.3a3a257258ee5p-1 +0x1.2f54b253c0a1bp-2 +-0x1.b4951c9daf538p-2 +0x1.220f603d1e01cp-1 +0x1.09e96024014f6p-1 +-0x1.b1165a43c5c1dp-1 +-0x1.be5766bd4f161p+0 +-0x1.411e5393f3221p-4 +0x1.32640aef4dbcap+0 +-0x1.9d3da53790e56p-3 +-0x1.26eaa37b73589p-1 +-0x1.9657b29aaf014p-2 +0x1.25d18013304f9p-1 +0x1.faee42d2eee09p+0 +0x1.6fb0439a1c654p-5 +0x1.9ed35146ebdc7p-2 +0x1.c24bc2a87317cp-1 +-0x1.c46c0709ade28p-1 +0x1.058fa84fdc5dfp+0 +0x1.074894afb4a68p-1 +-0x1.2cb5d178181a3p+0 +-0x1.7b022bc97bd87p+0 +0x1.d971cebec3dc3p-1 +-0x1.8ec86add9aeefp-4 +-0x1.f727374002d1dp-3 +0x1.219fdd9159794p-2 +-0x1.565374db0612ap+1 +-0x1.c424360c5ff66p-6 +-0x1.3c9b49b6645b9p-2 +0x1.0adc702525844p+0 +0x1.c5a67f1896e7ep-3 +0x1.2feb96a14d0ebp+0 +0x1.d9d092687d0a3p-1 +0x1.7d3d03a0cd29cp-2 +-0x1.479fcda3b1abcp+0 +0x1.ef3f79cf31cabp-2 +0x1.52dc5518c03d1p-1 +0x1.152d96988dfcbp-1 +-0x1.b9362861efb2ap-1 +0x1.6f1701555f85fp-2 +-0x1.d76088168cba7p+0 +0x1.396904801c693p+1 +-0x1.bb8d37e3d13d9p-2 +-0x1.bea7caef13c6bp-3 +-0x1.56dbccaa97ab9p-2 +0x1.cb2728da3831ap-3 +0x1.9e04061eea66ap-5 +0x1.f80584e5fb2d6p-2 +-0x1.54278b1afdca9p+0 +0x1.37b24baea382dp-2 +0x1.f77b1902c4964p-6 +-0x1.7c43b4e9e93cfp-5 +0x1.10f4e21b1dc18p-2 +-0x1.84c3d380eaf0ap-2 +0x1.6536d3822a5dbp-1 +-0x1.45c85e7112072p+0 +0x1.8d0b5806d37d9p-2 +-0x1.7bfe86e43f6cdp+0 +-0x1.028573702b054p+0 +-0x1.266d423e3032ep-6 +-0x1.6f1e52b43bbcdp+0 +-0x1.b57398f2ff9cep+0 +-0x1.0690070a17c8ep+0 +0x1.951438faf762ep+0 +0x1.54640df149ecfp-1 +0x1.a2e70e2d6b389p-4 +-0x1.4584eadb7a2a5p-3 +0x1.5984124891c5bp-1 +-0x1.3508e20bd00a4p+0 +-0x1.df8c737910911p+0 +-0x1.d401bbbe0de6ep-1 +-0x1.20ff5eb91df8cp-2 +0x1.ade08e2d79c6cp-2 +0x1.fb915453b8d6fp-4 +0x1.a816ef340651dp-1 +-0x1.90a1d1046f146p-11 +-0x1.6b755acce6fb3p-1 +-0x1.54b099489d729p-1 +-0x1.53687ec531316p+0 +0x1.f6ed65a70d12fp+1 +0x1.1c64ac0e63ab9p-3 +-0x1.1cd93b9a183f3p-2 +-0x1.d6676ec0e83b7p-2 +-0x1.b3375faa14daap-1 +-0x1.397f5269a8f46p-2 +0x1.204f1d080a29bp+0 +-0x1.9d15f86e29d32p+0 +0x1.86b445c1fa227p-2 +-0x1.3a978b6d21bb1p+0 +-0x1.299fc79ecbcfdp+0 +-0x1.a744b7e636d36p-5 +-0x1.bb28842c58849p-2 +-0x1.ffcc333e9f629p-2 +0x1.aabbf22ae2a88p-1 +-0x1.a112b6d648e72p-1 +0x1.3d09dc3e9e33bp+0 +0x1.2cb5e1779cea5p+0 +0x1.3cd7ac6fa38dap-2 +-0x1.f13990cfe5ec2p-1 +0x1.88f07d5373ae8p+0 +0x1.93179dd8aa89ep-4 +0x1.2bfc9601f50c2p+1 +0x1.0427c213e9ccep-2 +0x1.335b322f8a7a2p+0 +-0x1.e24d81973b02ep-1 +-0x1.ebc2947a9ce5bp+0 +0x1.4d8134ffd3891p-1 +-0x1.e10c40e71879bp-2 +-0x1.628050434b9fep-1 +0x1.c840c7cbbe841p+1 +-0x1.407afbb6de59ep+0 +-0x1.c12b48dd63634p-2 +-0x1.7ef92af52d4d5p-4 +-0x1.41cc220fce214p-2 +-0x1.b4dc079689f4bp-1 +-0x1.b8c92d69cd9ep-1 +-0x1.a4756c48b704p-2 +-0x1.d7ea61d1085d1p+0 +0x1.a45014fadb068p-4 +-0x1.394900efd90a5p-4 +-0x1.29070608bd537p+0 +0x1.b57ef080526a1p-1 +0x1.6e593e63048dp-1 +-0x1.b3b2e53f25ff4p-1 +0x1.20b8481ed33p-3 +-0x1.a7a9a263d55abp+0 +-0x1.3edfe9034a518p-3 +0x1.04df46fe1a96p+0 +-0x1.85c872b5fe48p-3 +0x1.987aa68c4a40ap+0 +-0x1.8d8ff4c07967ap-4 +-0x1.7bbe501495417p-2 +0x1.09b6e0c740d5cp-1 +0x1.6540ed66aa851p-1 +0x1.0cefd56306312p+0 +0x1.63f818f6f06dep+1 +-0x1.6139c482ada5ep-4 +-0x1.4f44b083f6f77p-3 +-0x1.c87cf7e5f2df5p+0 +-0x1.625e9063076bdp+0 +-0x1.b994f9420b41ap-1 +-0x1.d21a73ec72312p+0 +0x1.fb8fbc9a2fe6p+0 +0x1.4e0291e40703ap-1 +0x1.7bec591bcb9f1p-1 +-0x1.22ade5fd6560fp+0 +0x1.3ff0fb4eb11fdp-1 +0x1.acf4457026889p-3 +-0x1.081e4b193da3p-1 +-0x1.af18d2905362dp-4 +-0x1.816382b888e2ap-2 +-0x1.dbf7e57684b5fp+0 +-0x1.109ea0bc3171ep+0 +0x1.2f89c59c1e284p-2 +-0x1.0525cef5eb77ap-3 +-0x1.1527b5894fa4cp-2 +0x1.b3de51b661796p-1 +-0x1.730858021dd8bp-2 +0x1.2a48390096e9fp-2 +-0x1.6d89969971facp+0 +0x1.34fc598a78651p-1 +-0x1.8704c7920740fp+0 +0x1.95320eeea95e2p+1 +-0x1.4e2aac11bfdf6p-1 +0x1.7f9810ab7f7c4p-1 +0x1.6241568dfe5dcp+0 +0x1.50d6fdd8353a1p-1 +0x1.471f703d627b9p-2 +0x1.016adf54be7b1p-3 +-0x1.6baefbf516dc7p-1 +-0x1.21c30a32cda9ap-1 +0x1.62072a0760112p-6 +-0x1.39b197eda3b67p-1 +0x1.7f04c21a59f65p-2 +-0x1.168386ca9dda1p+0 +-0x1.c9fbcc3111dd1p+0 +0x1.1635f32442b4bp-1 +0x1.3ddeeff0904dp-5 +-0x1.1ee2ce778752ep-5 +-0x1.6899a578aa20fp-1 +0x1.dc1aa30ec4db2p-3 +-0x1.b601c472fde84p-3 +0x1.a8462321fb8p-2 +-0x1.33c518cb111f3p-1 +0x1.a6798664f5c9p-1 +0x1.0a3882fdb4c69p+0 +0x1.06a6a0c714e72p-2 +0x1.6bf6e92c72fdap-2 +-0x1.84d9f0dad55b6p+0 +-0x1.6cf1230fc64fap-3 +0x1.dcbcdf914d19bp+0 +0x1.3536efe9827d5p+0 +0x1.cdd5a0cabf976p-2 +-0x1.bfefec036a01p-1 +-0x1.618704dd2237ep-1 +-0x1.17cefc37ce9e6p-2 +0x1.67adb2356ca23p+0 +0x1.3a39542a3d08dp-1 +-0x1.d038d39843b5cp-5 +0x1.36d7a84eb8a79p-2 +0x1.e318b27ed0599p-4 +-0x1.3e982c6df06fp+0 +0x1.471aa1ad93735p+0 +-0x1.178b0d8b0e41bp+0 +-0x1.b5c3386698386p-1 +-0x1.a52045d0cb3b4p-1 +-0x1.d018cc3de79a2p-5 +0x1.10090ea988226p-1 +0x1.e26ee3996bd8ep+0 +0x1.1156ce1170e2ep-2 +0x1.a0a6aa2e7bd22p+0 +-0x1.267fe26a632a4p-1 +-0x1.1988fafc41493p-2 +0x1.0b474ede969c2p-1 +-0x1.8fe1987a07791p-2 +-0x1.5fdfda703863ap+0 +-0x1.9437084d0518ep-6 +0x1.8d0837e936cfdp-2 +0x1.8b69391996a2ap+0 +0x1.fd35a316fc2eep+0 +0x1.20e7616eca6e2p-4 +0x1.1338d3fa2926dp+1 +-0x1.ea5206d0e59ddp-1 +-0x1.cd9f2866a138p-2 +-0x1.1da76fac5b14ep+1 +-0x1.123ce38c400a3p+0 +-0x1.07273f5501a1ep-1 +0x1.bba78901518ecp-1 +-0x1.39b1efce626c6p-1 +-0x1.153f21880d3b8p+1 +0x1.8dd607ab18a3ep+0 +0x1.c9119430f7652p-2 +-0x1.06ef9d5040c57p-3 +-0x1.f7e71e8eb08dfp-5 +-0x1.2bcc972227b6p-2 +-0x1.6b471a3687b68p+0 +-0x1.263feb687a572p+0 +-0x1.d0ae290be2126p-1 +0x1.bf14b6eaddd81p-5 +0x1.d08ea372372fcp-4 +-0x1.d899f538399cep+0 +-0x1.c8a9969e9fae7p-1 +-0x1.5587db2a38d7p+1 +-0x1.c510ed03a0fe3p-1 +-0x1.18b784fb0ed45p+0 +0x1.71cc014d2e991p-1 +-0x1.64f178d84bd9ap-1 +0x1.23e878698dbd8p-1 +-0x1.aec4fa9e8ba9cp-3 +0x1.30e845b965931p+0 +-0x1.f9dee68a8a975p-6 +-0x1.24ba81f47f9a1p-3 +-0x1.9fe796266bcc3p-2 +0x1.af099e5373c01p+0 +-0x1.43231ad599d27p-2 +0x1.1580806ff282bp+0 +-0x1.dd82938144e22p-1 +-0x1.29bfc266ae7abp-5 +0x1.5fafe5b5edad1p-1 +-0x1.22b3574e65c91p-1 +0x1.6651c618cf3f4p-7 +0x1.e17a669700255p-1 +0x1.d3c68b80f60d5p-2 +-0x1.56483d0667741p-4 +0x1.f538f451b9fdp-3 +-0x1.7fb88e136c291p+0 +0x1.7459694066d8cp-3 +0x1.90a7c3293e66dp+0 +-0x1.74067a2d8c534p-3 +0x1.3902e701e5a2fp+0 +0x1.359ad7f5f0d46p-2 +-0x1.14bb77ddc0726p+1 +-0x1.d2b000335796p-1 +0x1.f9f7f852b5e01p-2 +0x1.f4b9e2ad91dap-4 +0x1.18af71f8a9b28p+0 +0x1.2336b1cb0fafbp+1 +-0x1.aa7a9d484c47cp-1 +0x1.23d8f222d52a2p+0 +0x1.06602864ed3cbp-1 +-0x1.9092c084ba1ecp-1 +0x1.0787d6a0e9bcdp+0 +-0x1.9b00fe119f6bbp-4 +0x1.fe98dd197274bp-2 +0x1.5ce4da1b33f67p+0 +0x1.54b8001746585p-2 +0x1.7631f2c31f401p-1 +-0x1.56d6cef83e5a1p+0 +0x1.e93e0296d3f9cp+0 +-0x1.508c63cbc95e1p-1 +-0x1.09894e8bc1eebp-3 +-0x1.c205f2e58cca8p+0 +-0x1.4665ebc7cd0c7p+1 +-0x1.95aab1bd6c38bp-2 +-0x1.0cb91d1523407p+0 +0x1.517e2f1d103eep-2 +-0x1.bf61d1396f8d7p-1 +-0x1.457ed59185adbp+0 +-0x1.37c8c2e9eda75p-1 +-0x1.002cb202563ddp+0 +-0x1.07c27a4b98428p-1 +0x1.274167b3edc11p-1 +0x1.38f41e03ca394p+0 +-0x1.81ce3adcc24efp-1 +-0x1.d73dd14402c5dp-8 +0x1.1be2452685e43p+0 +0x1.146fab2534057p+1 +0x1.2310181f92686p-1 +0x1.23500e746171fp-2 +0x1.19c6bdd0879c7p-2 +-0x1.5e77f6e1a6136p+1 +-0x1.a6520e7760427p-2 +-0x1.fad8dc512ef64p-3 +-0x1.520906b4ca0edp-2 +-0x1.77399951d85bcp-2 +0x1.14293c930bd93p-1 +0x1.50f49f30f41a3p-1 +0x1.365732ee9462cp+0 +-0x1.3469c823bafdbp-7 +0x1.b1cb35b097958p-2 +0x1.0c8065025cd4ap-2 +0x1.53f72f16765c3p-1 +-0x1.ba6bf36ca2f71p+0 +-0x1.142e216b09fb8p-4 +0x1.240137694a3c1p-2 +0x1.9e8b83d72d241p-3 +-0x1.5a932d908486ap-2 +0x1.ba4fb40fa34a4p-1 +-0x1.223d30ff2a1a5p+1 +-0x1.27b8add6a6886p-3 +-0x1.a8e54543a5198p-4 +0x1.01d10f40bbe4dp-1 +-0x1.93f7d1ea9858ap-6 +0x1.7fcdddaeac474p-1 +0x1.9a1d8d576de6fp+0 +0x1.036463aaa8b1fp+0 +0x1.b0e6ff5eda3cdp-3 +0x1.02db2f7f0de33p+1 +0x1.6b8a9f549c9b6p-1 +0x1.2fa00597e9e36p+0 +-0x1.d82327772da7cp-1 +-0x1.9d410aaf06663p+0 +-0x1.de77e9c0a780cp-5 +-0x1.9b4be70da435cp+0 +-0x1.cb4adcc5751bcp-4 +-0x1.3f3ebcce0aec2p+0 +0x1.2cd10b49175d9p+0 +-0x1.6f6f2351ad838p-5 +0x1.ed8106947686cp-3 +-0x1.89506742e5d8p-1 +0x1.00c424a42565p+0 +-0x1.6b352e885e7c3p-3 +-0x1.08fb74dc0ab89p+0 +0x1.26b1b1abb522ap+0 +0x1.5f5b97eb4da63p-2 +0x1.5767d36361b7ap+0 +0x1.276b5609db7f6p+0 +0x1.2bc056d863c86p+0 +0x1.054068516fafdp+0 +0x1.e8fb5d99a1a68p-4 +-0x1.7950f176344c2p-2 +0x1.61c78ee7f9271p+0 +-0x1.3da239be38048p+0 +0x1.b309d11338a01p+0 +0x1.b3d519e1bf1d4p-4 +0x1.c7101bf613de6p-2 +-0x1.17cc8034ddd1ap+1 +0x1.5e9e67ea45c7ep-2 +-0x1.7b88b9484a232p+0 +-0x1.bc3d10fd50bc6p-2 +0x1.fe17716a6268cp+0 +-0x1.454e049d56536p-4 +-0x1.203ea7655130ap-5 +0x1.0b62ff735d823p-1 +0x1.0a3696500908p-2 +0x1.b69cbdbd83417p-5 +0x1.e4a2a0310a0dp-2 +-0x1.fc1de8ce9ccbbp-4 +0x1.9c5f0ca6d5bcdp-1 +-0x1.c662e4a9e2b4fp-3 +0x1.cb7759ff98897p-2 +-0x1.61d9a3955f9e8p-2 +-0x1.1450cd02b8002p+0 +-0x1.e773533e402e8p-1 +-0x1.a191c553590d6p-3 +-0x1.3b0969f3dad3bp+0 +-0x1.5739785aa9cb6p-4 +0x1.974ac42aa19f3p-5 +-0x1.19e94204b2e05p+0 +-0x1.60de180df5b3ap-2 +-0x1.7877256bbd104p-2 +-0x1.fea15116b212bp-5 +-0x1.c22308bd575ddp-3 +0x1.288e7f47d1b81p-2 +-0x1.cfd4f7a2e0defp-1 +-0x1.e322c79333de6p-2 +-0x1.11322e6dd5efp-1 +-0x1.34b88999f1bfdp+0 +0x1.52f1279623616p-1 +0x1.119c0fbd1adb5p+0 +-0x1.69e2d1e8fa137p-7 +0x1.1feb9ad409c2ep+0 +0x1.61feda8a1b167p-2 +-0x1.8f798a89cb563p+0 +-0x1.bdf6f75a1678p-3 +0x1.969822a48f2bfp-2 +-0x1.4b524db6de106p-3 +-0x1.321ac45903b65p-6 +-0x1.6ebfad34f3528p+0 +0x1.e1d78c350aacfp+0 +-0x1.1208ee7041017p-1 +0x1.50da0aca712e9p-1 +0x1.095648628df8p+0 +0x1.d7c7b5dcd6724p+0 +-0x1.d0964bde55c72p-1 +0x1.2e651714ec24dp-1 +-0x1.c0bdc3f5eb2e8p-1 +0x1.1695d07763352p-2 +0x1.0454b477b93dbp-1 +0x1.4ccce934eb87fp-2 +-0x1.1db5faa1216e6p-4 +-0x1.786a46d1d8691p+0 +0x1.990da5661a543p-1 +-0x1.bcac380cf601bp-2 +0x1.4f6fe74404b98p-1 +-0x1.d20a797212608p-1 +-0x1.99dd5f0dc1be9p-2 +0x1.e5340b83aa563p-1 +0x1.a5b969d782f2p+0 +-0x1.928d3bcbf4518p-2 +0x1.2e315198a9783p-2 +0x1.513135f05f2bbp-1 +0x1.0222ca2b4f081p-1 +-0x1.1f5dda3a73983p+0 +-0x1.ec6731814760cp-3 +0x1.0523de79fd4ecp-1 +-0x1.3a3f7be689a0bp+0 +0x1.5ebaf64b450f1p+0 +0x1.224768673ab86p+0 +-0x1.1e90c4dbc07dep+1 +-0x1.fedbaa128aafap-1 +-0x1.022820fe4bbf4p+1 +-0x1.244716056252dp+1 +0x1.0dc376953d923p+1 +-0x1.e2fa33afd4d83p+0 +-0x1.000cc0f07a4a9p-2 +-0x1.16afe7cf93e2fp+0 +0x1.5d8299296a8cp-1 +-0x1.582e240c71aaep+0 +-0x1.65ffe7961a37p-2 +-0x1.07b00502bdde1p+0 +-0x1.8a79a9cce700bp+0 +-0x1.362ff8c8539bcp+0 +0x1.5a2a55bb21dddp-1 +-0x1.ad62d5415a7f6p-2 +0x1.43efd93e082dcp-4 +-0x1.121de9c0dc664p-2 +-0x1.68e8ebc40287cp-2 +-0x1.4737a7b0ff72fp-1 +0x1.2477337c1a858p+0 +0x1.d3724fc717215p-3 +-0x1.d01bf904aa6b9p-1 +-0x1.d040af28a58fcp-1 +-0x1.c50b42823fb3cp+1 +-0x1.23d4f32e81314p+1 +0x1.0fb65722910c8p+1 +0x1.8733f7daea068p+0 +0x1.bc26f58537a4dp-1 +0x1.92d7356d91525p+0 +-0x1.c049b5b81bf84p-6 +-0x1.fec4921b7b307p-2 +0x1.7f7968f52df6bp+0 +-0x1.1dd896290ba68p-1 +-0x1.a9ae636ac6ad5p-1 +-0x1.8077dd65339dep+0 +-0x1.1e7b08199fe76p+1 +0x1.235395438149fp-1 +-0x1.c87d10a63d169p-4 +-0x1.d320da5d9ee0ap-2 +0x1.03b143c0b2672p-1 +0x1.7a38475a7c219p-2 +0x1.242e1d397e6bdp+0 +0x1.b7936a31add3p-2 +-0x1.4f848b363cbf1p-1 +-0x1.0e20dc0f9d118p+0 +-0x1.c14bc04ee403cp+0 +-0x1.f9ba8f1036e64p-1 +0x1.a4475fe31d5f4p+0 +0x1.d225c2f94ab9dp-3 +0x1.21c16635ce30cp-2 +0x1.235af779a7eecp-1 +-0x1.1b58b94905d77p-1 +-0x1.58b5e5e5e17d8p-2 +0x1.dc72e34ae62ecp+0 +-0x1.de7f639b3d658p-1 +0x1.76a74d5003af5p-3 +-0x1.b2a27178698ffp-2 +-0x1.d78d2ad9958eep-2 +-0x1.d3a2753254aedp-1 +0x1.5d8ba75afc39p-4 +0x1.8ac19fc15673cp+0 +-0x1.22ebdca8bfeabp+0 +0x1.78e75f962beb2p-2 +-0x1.9911172a835e6p-1 +0x1.0855c3159b79p+0 +-0x1.36a249f6713e1p-1 +-0x1.2510e79baa8e8p+0 +-0x1.0d06dd5d881f2p-2 +-0x1.9bf8b32ef2ed5p-1 +0x1.afd89ba2db15fp-3 +-0x1.29809ec5a8b95p-1 +0x1.aaf702a408688p+0 +0x1.9dcb10f0825a1p-4 +0x1.5f3cc882f0ce7p-1 +0x1.4ba3a5ffa79fcp+0 +-0x1.6d9b24ac25c87p-4 +0x1.a3ea737ecd838p-1 +0x1.207bc67429ddfp-3 +-0x1.fe6d08f681db5p-1 +0x1.1a69746b81fc4p-1 +0x1.d70e4ab377134p-1 +0x1.6f4597dae2bbbp+0 +-0x1.0c62a62513245p-2 +0x1.d820c9530305ap+0 +-0x1.71efdc4a4f75p-1 +-0x1.30841919dfc79p-1 +0x1.70f5336e17d7dp-2 +-0x1.49c82d58c9ddbp+0 +0x1.d6ae61baacdc4p+0 +0x1.f196bbf5215ffp-1 +-0x1.41d18d0f022ffp+1 +-0x1.762a83fb3a7fbp+0 +0x1.d63c0d6692ca9p-1 +0x1.f220354c3cc18p+0 +-0x1.f1afc8040b129p-1 +-0x1.d5816c32e1359p-2 +0x1.a217aac4eab47p+0 +-0x1.481d3bcf92f3dp-1 +0x1.7d3ed50ce274ap-1 +-0x1.e87dd9747919bp-1 +-0x1.9ed7a29a9c834p-1 +-0x1.5be9942ff4d2p+0 +-0x1.9df17d86201f9p-3 +-0x1.4d8be99e8188dp+0 +-0x1.c19b70027ef41p+0 +-0x1.cd544b866b613p-2 +-0x1.297df97e7a9ecp+0 +-0x1.72ed200511deap-1 +0x1.351bfe4f9af6ep-3 +-0x1.7a6163d228fb8p-1 +0x1.524c21b4055d1p-1 +-0x1.f560d3af3ba67p-2 +0x1.1f938f466b00fp-1 +0x1.21e2580529246p-2 +0x1.7f5a81506ac11p-1 +-0x1.0326e0867440ap-1 +0x1.3dbaa26960115p-2 +0x1.c7e527bc02a67p-3 +0x1.5e1d8eaca6c95p-7 +-0x1.d7ebf650cc9b9p-1 +0x1.9097b662a59eep-1 +0x1.49d947784ac01p-3 +-0x1.fd2e4f7bf87bfp-4 +0x1.34111b41a0232p+0 +-0x1.320bb7ec305bbp-1 +0x1.c3d3ce6fb26cdp-3 +0x1.d68badce5fad4p-6 +0x1.d5fbd9a4099ap-1 +0x1.7747520a8506ap+0 +-0x1.a3adc4d8243f9p+0 +-0x1.c7e54a561edfcp-2 +-0x1.1872b908a3c89p-2 +-0x1.e39d87f265b94p-1 +0x1.b75530da2cbeep+0 +-0x1.db9717453752p-3 +-0x1.7e4a49aa11db4p-2 +-0x1.ca0c47971a2e3p-2 +-0x1.140941e8f4e9ep-2 +-0x1.b89a4d30de0b1p+0 +-0x1.047d929ca12b4p-4 +-0x1.1fca22d9e3d3fp+0 +0x1.a93c74fbb82d7p-1 +0x1.0ea7bf950d4bep+0 +0x1.c6c843e32c486p-1 +0x1.60342384077cbp+0 +-0x1.a5ffd2292d3b4p-2 +0x1.54b2f462a2912p+0 +0x1.125b5c34f3271p+0 +0x1.90738b259e457p-2 +0x1.d921afd783667p+0 +-0x1.b154157bf17a5p+0 +0x1.4431396d43267p+0 +0x1.f07062f70ded8p+0 +-0x1.469440b3191fep-2 +0x1.24dea0656c6ccp-1 +-0x1.6c8e20d320275p+0 +0x1.597e7bc43487p+0 +0x1.23fafbe5e2a02p+0 +-0x1.7b4e545a4fef2p-3 +-0x1.47ffa36f14afap+0 +0x1.6cabfa3ed9d02p+0 +0x1.260285817baf3p-1 +0x1.686e95f29c34dp+0 +0x1.710bd5d2c5ee7p+0 +0x1.55e840d9b9166p+0 +-0x1.43ffa8e88d158p-2 +-0x1.69b8c86092a1fp-1 +0x1.c0c0d7045be57p+0 +0x1.eac24ae0b33dcp-1 +0x1.e064bf381862bp+0 +-0x1.c5a6f5ae0f81ep+0 +0x1.7d090a3ef9149p+1 +-0x1.51054c3cebb78p-3 +0x1.5d9244239d5c3p-1 +0x1.064c8f50de85ap+1 +0x1.0e768a936696ep+0 +0x1.fcd304df17d13p-1 +-0x1.454b439f6922fp-1 +-0x1.6fa7bbb482b52p+0 +0x1.1131d402eeaa7p-3 +0x1.84b6ef7476f9dp+0 +0x1.82d034b577949p+1 +0x1.3070756303b56p-1 +0x1.d6dd86c0ff286p-2 +0x1.b0c4237bd40dep-2 +0x1.6ecb46f059fb6p-4 +0x1.5472d0ca8751bp-2 +-0x1.2c76e4e00044bp-4 +-0x1.d8f29a525c17bp+0 +-0x1.46bfce6a0078p+1 +-0x1.1cf3387e6b3bap-1 +0x1.88639a9d97768p-2 +0x1.0047971d6e2a7p+0 +0x1.115370a703986p-3 +-0x1.16a6876819489p-1 +-0x1.dc8958f7b3acbp-1 +0x1.dc3e846d83038p-2 +-0x1.42a46b820cd0bp+1 +0x1.aa61367a61e3dp+0 +-0x1.99a04cdfd0df1p-1 +0x1.b0839e4189b87p+0 +0x1.d13377c3aa005p-1 +0x1.f855ce774eb44p+0 +-0x1.443c98b0560cbp-1 +-0x1.eeb87ebb65fa6p-1 +0x1.38c446b779cd2p+0 +-0x1.710f7cbaa56ebp+0 +-0x1.07b1a0825c188p+0 +-0x1.c75e1451c74e3p-1 +-0x1.3ddf731fb1842p-2 +0x1.27092f8aa5296p+0 +-0x1.0833d382ec7cdp-2 +-0x1.2cb6b94f88bdap-4 +0x1.6bd3df33085e1p+0 +-0x1.17db097560542p+0 +-0x1.fc4a6a3e62f6cp-4 +0x1.ad85aa60e237ap-1 +0x1.40fc5612ba1c1p-2 +-0x1.cc7f4e662776ap-1 +-0x1.792ec52d353ep-2 +-0x1.44a492f5ff5d6p+1 +-0x1.3827d3f76703bp+0 +-0x1.41cca35a5f8bcp+1 +0x1.155039e0d6d0ap+0 +0x1.d9b4370fc2651p-1 +-0x1.207fa0b5a4a18p+0 +-0x1.dd150317c60b9p-3 +0x1.dfc3cb1d20efp-1 +0x1.1f3afe7426708p-3 +-0x1.0cc97c80d87ddp-1 +-0x1.201c3df5ee694p-1 +0x1.df82b0e4c13fdp-1 +0x1.395d76dbb0bf2p-3 +-0x1.0b866d3ed57bcp+1 +-0x1.738d300f0c4d4p+0 +-0x1.0eeade15c772fp+0 +0x1.40cdcce2fc373p-1 +-0x1.3c73da13f2cc1p+0 +-0x1.74ae489a85dacp-3 +0x1.d82759a5a7c6fp-1 +0x1.3bbc0da8a5bddp+1 +0x1.1723e809d8be9p+1 +0x1.8f42905a6af4p-2 +0x1.550ea22983af2p+0 +-0x1.b17830927004cp-6 +-0x1.061f0850a474bp+0 +-0x1.7ae9b9ac3ce2fp-3 +-0x1.1541c8e599a71p-4 +-0x1.ed3335edb3fd8p-3 +-0x1.a2b8e06527b38p-2 +0x1.04c8b9141a6a9p+0 +-0x1.e01f1bfe66fc3p-2 +0x1.774a3838f756fp-3 +-0x1.39bbd90a02bf2p-3 +-0x1.a0c207726808fp+0 +0x1.268d4ca64e482p+0 +0x1.8e2fbc3125b5ep-1 +-0x1.6b14c3fe2796cp-1 +0x1.8dc764d61a0ccp-1 +0x1.8779e69e57682p-2 +-0x1.176c96d183422p-1 +-0x1.25a54306d73b7p+0 +-0x1.81eb79a888b49p-1 +0x1.025db5f0190a8p+1 +0x1.11e367b41be23p-3 +0x1.8ec7b0a28eee7p-3 +0x1.8e4abed5de219p-3 +-0x1.8dc7f772ae4ffp+0 +0x1.827dd95ed480ap-2 +-0x1.14a3ce94c49d2p+0 +-0x1.3abddb37fea2cp+0 +-0x1.75eb80c0dbf7bp+0 +0x1.24954c7f5ee18p-1 +0x1.f902db3318d55p-2 +0x1.640cf26bfbb62p-3 +-0x1.2f224f92f6885p+0 +-0x1.02d94b4d9016dp+0 +-0x1.9b7db7392324dp-1 +0x1.68651ebb454f2p+0 +0x1.f4796f30027fbp-1 +-0x1.d1393d75f4511p-1 +0x1.c5dc8fd3603a6p+0 +0x1.bb6f3211e908cp-3 +-0x1.cd8996d89a7e6p-1 +-0x1.c73193f75f0c3p-1 +0x1.987076bd1eeaep-2 +-0x1.a68fc08dfec19p-1 +-0x1.b212e9a0ce4a3p-2 +-0x1.339fbe43d34c6p+0 +-0x1.413901f5193e6p-2 +0x1.ce62222b3805cp-1 +0x1.970f028113879p+0 +0x1.8abad91d0108fp-1 +-0x1.2c58f7a4e021bp-2 +0x1.06a996941e707p+0 +-0x1.0d37af514e2ecp+2 +-0x1.fe3dd3b21c701p+0 +-0x1.6021c857420fcp-1 +-0x1.575737013d5d6p-4 +-0x1.cfee4949fe65bp-2 +0x1.11638da253de3p-2 +-0x1.fb4ad68db196fp-2 +-0x1.4ed25605f1bd1p+0 +-0x1.00d2d9006315dp-2 +0x1.7fbfd8baa1d71p+0 +0x1.5a65d861f8c53p+0 +-0x1.0b890070c9055p+0 +-0x1.4915bbf40d86fp-5 +0x1.6beb9b08962b9p-1 +0x1.57a911eb1ad5fp-2 +-0x1.12d0505a7c635p-3 +0x1.89ea2ae702fcp-2 +-0x1.5632cdad9c323p-2 +-0x1.d4c06be24be8cp-1 +-0x1.4f1954f19cfa9p-2 +0x1.3db72f9579379p-1 +-0x1.d8db14a91be06p-2 +0x1.98df14da2cd37p-1 +0x1.14ed3aaba1e13p-2 +0x1.152fd86c0f4d9p-2 +-0x1.eb0c41597dcfdp-3 +0x1.c34ee9c0b662p-1 +0x1.f84a204697033p+0 +0x1.43f320e296de6p-1 +0x1.38668c7e85186p+0 +-0x1.0fcdda4fc16b8p-1 +-0x1.9f96a6f3cef22p-3 +0x1.e85928dbfb41ap-2 +-0x1.361cdf5362f57p+1 +-0x1.8c83ce414b22fp+0 +0x1.1c76ac621150bp-5 +0x1.5b16355b23c86p-1 +0x1.5c549458b4ea9p-1 +0x1.969e895e32515p-5 +0x1.2440fa8897061p+1 +0x1.31fb48ccd28e9p+0 +0x1.2d1b84d2bb28ap-2 +-0x1.225302fa6c87ep-1 +-0x1.342994f685e83p+0 +-0x1.71951e6049268p-2 +0x1.29b1a102edbd7p+0 +-0x1.cff757eb27dffp+0 +0x1.2a3a816ba5faap+0 +0x1.f42529712cc99p-4 +0x1.c8b54130361efp-1 +0x1.83bb476615988p-3 +-0x1.a7a10c74fc23fp-1 +-0x1.0fdb2e462211cp+1 +-0x1.35115f1147a95p+0 +-0x1.b6312122192f4p-2 +0x1.a740b09c4e06fp-2 +0x1.09450797d14ccp-1 +-0x1.eb58facd6741bp+0 +-0x1.808f836249d14p+0 +-0x1.b7e28934b005fp-2 +-0x1.3c6e2582182cdp+0 +0x1.e87adde1019eep-1 +0x1.3902b2ba290bap-3 +-0x1.76edd365a8352p-4 +-0x1.30d08a61b7e72p-1 +-0x1.8b4aa06b5acdep-2 +-0x1.4a9160586351bp-1 +-0x1.5153d48fcc85dp-2 +-0x1.9fb55e7c25027p-1 +0x1.0cca47e013bebp-1 +0x1.97beedc7aef69p+1 +0x1.0dc2f1273843ap-2 +0x1.9a8405cf46916p+0 +0x1.a607c945b5ac9p+0 +-0x1.44bb7d10967a3p+0 +0x1.f3e262d7d2025p-1 +-0x1.1518701db4cacp+0 +-0x1.5946e5076ca65p+0 +-0x1.d8f4f72e75f3bp-2 +-0x1.bc8404e8eea26p-1 +0x1.c53ab41121f9bp-5 +0x1.191f9a7809804p+0 +0x1.acbceb1ee93cep-1 +-0x1.4c2d729be6727p-1 +-0x1.02ea11fc8cd65p+0 +0x1.20889d795ca8cp-2 +0x1.8c2f30e6de49cp+0 +0x1.10b322fb9951bp-4 +-0x1.b6a1f83966bf8p+1 +-0x1.2743a11ce3daap-1 +0x1.4c16c24675605p-2 +-0x1.035d74bcbe027p-5 +-0x1.5967711870325p-2 +-0x1.044af2319224cp+0 +0x1.572759d0c031p-1 +0x1.0b9a4cb849af3p+1 +0x1.c2c14901ebb99p-2 +-0x1.18b6f0db87a4bp-1 +0x1.aa7be7a00f4afp-3 +0x1.0e7168cd2a5b9p+0 +-0x1.b5a3dcd4bbb18p-3 +-0x1.c72a6a042e50ap-2 +-0x1.cb81070961543p-4 +-0x1.47dbd3cd97892p+0 +-0x1.df37b2105266ap-1 +-0x1.430243a5f0f96p+0 +0x1.f6647fbd4cb5fp+0 +0x1.d75654d29b386p-1 +0x1.19a419c0aa2c8p-1 +-0x1.ac16228b22c89p-2 +-0x1.901e201c5cac3p-1 +0x1.091687705c0fep-1 +-0x1.d74797011fd6bp-3 +-0x1.6e97388085eb2p-1 +0x1.66dc784199b8bp+0 +-0x1.9924cab3b4091p+0 +-0x1.a8aa7773154bcp-7 +-0x1.aee52b26e299fp+0 +0x1.a274e04e88823p-2 +0x1.0603841a997cfp+0 +-0x1.7819202c89d5dp-4 +0x1.2401c8899a63p+0 +0x1.4296ce4e36ddp-1 +0x1.b9051ee5173f3p+0 +0x1.6b220e627c763p-1 +-0x1.ca8be39a815e8p-1 +0x1.aed15d501a24fp+0 +0x1.144ca30cf11f4p+1 +0x1.67aa4ff5ab2b6p+0 +-0x1.48a91f20bffc6p+0 +0x1.9a61f20256742p-3 +-0x1.131b2bd2445cap+0 +0x1.eaf8483e99704p-2 +-0x1.184e70d7909f2p+1 +-0x1.a0321a75a5356p-1 +0x1.616db09e2fa48p-1 +0x1.2ed1fbbf59e47p-2 +0x1.11666938527d5p-3 +-0x1.9f96e8dcc513fp-2 +-0x1.0ef2a558260a4p+0 +-0x1.6462b400a9578p-3 +-0x1.d53832d3bed9dp-1 +0x1.b8dd7040d692fp-2 +0x1.4874b97365b26p-2 +-0x1.ec97ba98fa1b1p+0 +-0x1.53ef33d7c4a76p-1 +-0x1.07fba90718481p+0 +-0x1.d5c393bd7c10ep-2 +-0x1.448fe47264738p+1 +0x1.094c28d7301dp-1 +0x1.31663ecbd3645p+0 +-0x1.cf8768a66ee09p-1 +0x1.3509d066274a2p-3 +0x1.8dabe1a2eca3ap-2 +0x1.89563e1a7abc4p-2 +0x1.41e1ccabff7ap-2 +-0x1.bb2d1c4e64f42p-1 +0x1.1c840e2a493d7p+0 +0x1.bc5d90d6ec0a3p+0 +0x1.36b89c616fe2fp-1 +0x1.93b93c14502dfp-1 +-0x1.88f8a32b99b0dp+0 +0x1.033bdbbad7697p+0 +0x1.7102185faf9b6p-1 +-0x1.3d096a9d70e32p-6 +0x1.3473c7e0d3656p+0 +-0x1.e31a31f195de4p-1 +0x1.efcb56603790dp-1 +0x1.a506ae382d772p-3 +-0x1.711fe7fe834fp-5 +-0x1.144e54b43e567p+0 +-0x1.821f6af7bfa5cp-2 +-0x1.facc3d8bb364ap-4 +-0x1.8d13ffd78004p+1 +-0x1.69e3ad3c29a73p-2 +0x1.4818c4a85a7a4p-1 +-0x1.40af87bbf289bp+0 +0x1.74a9b37329c64p+0 +-0x1.03bd38674857bp+0 +0x1.6e1a90fa22563p-4 +0x1.702f9efb00858p-1 +-0x1.b3914222f7934p+1 +-0x1.a287826e25cc7p-1 +-0x1.6a13d125c1d2dp-1 +0x1.bf6545614f2aap-3 +0x1.0073b49702568p-4 +-0x1.deccb44d69f3dp-1 +0x1.b97cd53a84b79p+0 +-0x1.e859599a8541bp+0 +-0x1.e8608a26fd75ap-1 +0x1.29b278175bf62p-2 +0x1.8772fe0f34511p-8 +0x1.0c8efd730f12p-4 +0x1.8abba277c6feep-1 +-0x1.70115381b7af9p-2 +0x1.11c3004c61d25p-1 +-0x1.fcebaafb4ecb6p-1 +0x1.b7819a2b6aba5p-3 +0x1.c4abced09ea7ep-1 +0x1.9f6b2094202cap-2 +-0x1.625d30f6bd861p-2 +-0x1.4d16412bc07b6p+1 +-0x1.6e78e8541f34cp+0 +0x1.ff57b4477173ap-3 +-0x1.732f7fbf78345p+0 +0x1.c60c8a18ca74bp+0 +-0x1.6c0f712692246p-6 +0x1.6c6fccae9544p-1 +-0x1.8770ac5c7c4d7p+0 +0x1.2e1f3fb86e2e1p-1 +-0x1.8a5f0fb797007p-5 +-0x1.137b351e7d8bep-4 +0x1.08318d16847cp-1 +0x1.55dacfe7d2f16p-1 +0x1.c697ca1ea3a28p-1 +-0x1.7e14c4e8c5dd1p-2 +0x1.c05af990ced74p-1 +0x1.52a8412a0a6cdp-1 +0x1.d456c46c32ff5p-3 +0x1.8f5974602f8c2p-1 +0x1.9e93011006be8p+0 +0x1.27f39a9c172a7p+0 +-0x1.1bbf7b8216c44p-1 +-0x1.be890b1a75765p-4 +0x1.a553d59400777p-1 +0x1.43939e5464cfdp-1 +-0x1.4045e41a2f778p+0 +-0x1.35a0f5e4ccdc2p+0 +-0x1.3422aac46b8f2p-1 +0x1.fa67b5b462e41p+0 +-0x1.3cc6fc0ab709dp+0 +-0x1.17df7dd35c238p+1 +0x1.78175b45bbf5cp-2 +0x1.07b0322010eb3p+1 +-0x1.39bc1cac5674ap-1 +0x1.7e1ecab2b8611p+0 +-0x1.a8cdaa343f1c3p-1 +0x1.f5b0caff27af8p-1 +-0x1.e7061a420527ep-1 +-0x1.323af1ffac813p-2 +0x1.8d033a8dd7ddap-1 +-0x1.a1a07454f8a1dp-1 +0x1.50cc41f57d39ap-4 +-0x1.f56e5e9fada02p-1 +0x1.3859d96750defp-1 +0x1.73203bf383085p-1 +-0x1.8adde5f8f1df4p-1 +-0x1.d557ae14c19b7p-4 +0x1.36e46dc9e2dddp-3 +-0x1.47a2be8b50ee2p+0 +0x1.27b77812c8d7bp-5 +-0x1.3d6d9449f0b2cp-1 +-0x1.11e906c2545bep-1 +-0x1.deaedd8052d44p+0 +-0x1.6c268666b780dp-2 +-0x1.751cb5efc0125p-2 +0x1.7e5a447cbe912p-1 +-0x1.a1a94467137d8p-1 +-0x1.631e76fac0a58p-1 +-0x1.4974ea8a5b944p-3 +-0x1.610c39847f6dep-5 +0x1.64f79be504d66p-2 +0x1.ef4876bb9373dp-2 +0x1.3bf07758ac0edp+1 +0x1.1b3054b54d8d9p-5 +-0x1.0d3a4f35633c5p-2 +0x1.017ee3b6d9aebp+1 +-0x1.208cbf8e3dbeep+0 +-0x1.5f084df226306p+0 +-0x1.2bc95225cf2a6p-4 +0x1.79882b08dd3ccp-1 +0x1.f213b8342646bp-1 +-0x1.a1dee7da2bf6cp-6 +0x1.398ba033f91a6p-2 +0x1.424bea9413cd5p+1 +0x1.20fdbe1060928p+0 +0x1.afc32bedae1eep+1 +0x1.b164e917a32f8p-3 +0x1.adaf625ba3cfcp+0 +0x1.e9a2d143c4b25p-1 +-0x1.17544ad4ba83cp+0 +0x1.3276ea83d9999p-4 +0x1.086c91753860ap+0 +-0x1.3c60475722139p-1 +0x1.be4bedfdbb23ap-1 +-0x1.78146a90c6bcbp+0 +0x1.e4a268fcc1f87p-1 +-0x1.2988d714911b8p-1 +-0x1.35c038462ef2ep-1 +-0x1.f6543ca84085cp-6 +-0x1.2596ba0f8da32p+0 +0x1.20be0acae3e26p-2 +-0x1.d574c505bd404p-4 +0x1.9e272df83331ep+0 +-0x1.baca8328beadep-1 +0x1.9f22e23bc0f6p-2 +-0x1.c073ca76d48a1p-3 +0x1.1633b247d7e01p-1 +0x1.63fde035cd946p-2 +0x1.3bf3ffdc65e09p-3 +-0x1.2429280322e3bp-2 +0x1.b44f60e7247e4p-1 +0x1.35ef8ef818f27p-1 +0x1.c38d6f4ae9ab3p-1 +0x1.01263efdae1d3p-3 +0x1.43f43b811264p+0 +-0x1.272e41a83f19cp-3 +0x1.cde265bc071c3p+0 +-0x1.2759fba345ef1p+0 +0x1.53c29fe09b2b4p-1 +-0x1.3b002ac772cc3p-1 +-0x1.a9d384a6c2d99p-1 +-0x1.c0ffa46344c7bp+0 +0x1.28be59a2b8973p+0 +0x1.dee23f044c63p-3 +0x1.00a382f66b2b1p+0 +-0x1.089955f5cde6ep+0 +0x1.3f00a6fa5e172p-2 +0x1.1d920135cafdp-3 +0x1.b4eab91fa7e9dp+0 +-0x1.50679095977ep+1 +-0x1.b02079606e48ep-2 +0x1.15067d4ddd5d2p-1 +0x1.33b2fd363a87ep+0 +0x1.229d8dbb97519p-1 +-0x1.14bb16ed08341p+0 +0x1.06aa7a7c56016p-1 +0x1.b45903726b769p-2 +0x1.715c2c71815e3p+0 +0x1.66840832724dep-1 +0x1.f24d72fa4a60bp-3 +0x1.dbf50b585b223p+0 +-0x1.938fba520654p+0 +-0x1.bbfd71f367dccp-4 +0x1.333e5ed1263a1p+0 +0x1.05222e2d2d4aep-4 +0x1.8c6cd202ba974p+0 +0x1.8f1b75ace3b7bp-2 +-0x1.02c5f5cf16d5p-2 +-0x1.1713aaf722843p-3 +-0x1.a29ad45c3a3dap+0 +-0x1.b6d618e039128p-2 +-0x1.70b115246867bp-3 +-0x1.d84737c689ddp-2 +-0x1.a232c0b047aebp-4 +-0x1.1a25e3621a897p-2 +0x1.523a7ebfe78e3p+0 +0x1.e70aedebd4b1fp-2 +-0x1.5a1c975911dbfp-1 +-0x1.ed119034e6a4bp-1 +-0x1.792fd2b9e456dp-3 +0x1.4880715dad285p-1 +-0x1.e435be704689ep-2 +-0x1.e5248c755c768p-1 +0x1.2ea91c7e4606fp-1 +0x1.0752368183a77p+0 +-0x1.9fd765276e4a2p-5 +0x1.d27774b0a46bcp-3 +0x1.a0de76d18538p+0 +-0x1.779e199954091p-1 +-0x1.9a63b29ced1acp-1 +0x1.4551c071e3612p-1 +-0x1.2bf0f08f79f3bp-4 +-0x1.ae0f77c31c75dp-2 +0x1.9a8a16eaa9324p+1 +0x1.34f0d2a12cd84p-2 +0x1.69e271f1f8fa2p-2 +0x1.2da5a48c9a9e1p+1 +0x1.a9cf96e2ed939p-1 +-0x1.45019d2ee0fb3p-4 +-0x1.56fcc6d875239p-1 +0x1.ce6a228515532p-1 +0x1.e60fc4f8bc76ap-3 +-0x1.ba4f23e166ab6p-1 +0x1.bef6acf8e5265p-2 +-0x1.f08f31b874a0cp-3 +-0x1.827eef84b9c14p-2 +-0x1.81451763c7fcbp-1 +0x1.929f7c4873464p-2 +-0x1.2e62ca652df96p-3 +-0x1.0b1e914266a6ap+0 +0x1.8b1da759fca95p-2 +0x1.41a8c338299f7p-1 +-0x1.c2ed3436ec8e9p-1 +0x1.23ff52f35c879p+0 +-0x1.79751538755f8p-1 +-0x1.2c8a77b4bd22p-1 +0x1.31813f5a8b34fp-2 +-0x1.19f82859faf39p-3 +0x1.4f28e4c463c9cp+0 +0x1.9f7be005ac4a4p-3 +-0x1.3599e0522e1a2p+0 +0x1.f24a97c1672e6p-1 +-0x1.3785bff77fa86p-1 +-0x1.28ddef8a7188ap+0 +0x1.af2e4bf2e0527p-1 +-0x1.bb9c349cb3eb1p-1 +-0x1.23738446973ccp+0 +0x1.216e94fde3782p-1 +-0x1.404f78dfdac49p-3 +-0x1.d5f7630733621p-1 +-0x1.6a54a38f0c78cp-3 +-0x1.ea251e3191e44p-3 +0x1.e4d75b70f7768p-2 +-0x1.51d77741c59aep+0 +0x1.f0ffbede3629fp-3 +0x1.07cd9aa1e8cc4p-2 +0x1.7291e70882dcp-1 +-0x1.1001776d62e9cp+0 +0x1.16fa723f3f61bp-1 +-0x1.68cf93cb7cd7fp-1 +0x1.bda4753e9d1aap+0 +-0x1.e91f078a79711p+1 +-0x1.044f2c1e7031fp+0 +0x1.31674f31ea568p-2 +-0x1.0585998124d7p+0 +-0x1.51373e1abd6eep-6 +0x1.0ccfdf512b482p-3 +0x1.217ce5fc6541ep+0 +0x1.5f834695e1c6bp-2 +-0x1.4855b8dac7c66p+0 +-0x1.c67155ef87709p-4 +0x1.2d0f882f36614p-4 +0x1.2a624540c149fp-1 +0x1.caa2ebc95573cp-3 +-0x1.682f24da6017ap-1 +-0x1.d0d90ecc89c53p+0 +0x1.904d8057eaef1p-1 +-0x1.d9bc35e72d545p-1 +0x1.b609cf1eb7875p-1 +-0x1.9a9a14ba31b5fp-1 +0x1.1b3bc358e3916p+0 +-0x1.ada57e0eb119bp-1 +0x1.8fce241b1e336p-2 +0x1.ac55e0fbe0d38p-1 +-0x1.0c3b900555af8p-2 +0x1.a5e5b3473e91fp-2 +-0x1.0565e7ab26f9ap-1 +0x1.6da23867e6d97p-3 +0x1.47a3d07d9a9ffp+2 +-0x1.ff2f3bcf1d076p+0 +0x1.bef44a8e2b591p+0 +-0x1.8801d5721b75fp-4 +-0x1.cbb29dedb7859p-2 +0x1.09dc7087753f5p-1 +0x1.7794ac9a8251fp+1 +0x1.69ed47bbd6fe1p-8 +-0x1.6ef24221dc489p+0 +-0x1.6f162d0eafd15p-1 +0x1.218a906174475p+0 +0x1.0652460d91c3dp-2 +-0x1.4bc35a7f6918bp+0 +-0x1.503f55f551c6ep-1 +-0x1.de0226626a4c3p-1 +-0x1.7c16f2a2e310fp+0 +0x1.be43032895252p+0 +0x1.a2e2c52f41be9p+0 +0x1.5f5178957b39fp-1 +-0x1.80f520a4221aap-1 +0x1.be8831b22588dp+0 +0x1.1e1ad8eda7dd8p+0 +0x1.88af12d33e396p-1 +0x1.56d510daccc47p-1 +0x1.2e8bca4275bb5p-1 +0x1.7c2a16c2964e7p-2 +-0x1.c3f2462543705p-2 +0x1.82ef477dc7539p+1 +0x1.11083b729cf36p+0 +-0x1.7e2af39315da9p-1 +-0x1.7da2eaba0ec41p-3 +0x1.506ffb7425729p-3 +0x1.7ab5ea8242debp-3 +0x1.b77cabf14db6bp-4 +0x1.7b3b4e2f05ddep+0 +0x1.bbddc223d8ed4p-1 +0x1.c509a23d73b8dp+0 +0x1.b03db0c570e71p-1 +-0x1.4702e3201b977p+1 +0x1.826b805093a09p+0 +0x1.88114f0451dddp-1 +-0x1.242f7a3e92be2p-2 +-0x1.4b33f9eba0d61p-3 +-0x1.3ff7b15d65457p+0 +0x1.e5c145a39e135p-1 +-0x1.0452cb23c2ea2p-6 +0x1.738418f0d2ab6p-1 +-0x1.2fe8f78eba3bcp-1 +0x1.4b188c8b58e1cp-1 +-0x1.0280595397c7p-2 +0x1.81a3d0dc3fce3p+0 +0x1.61604f72cc50fp-3 +-0x1.88b9b48e6e12bp-2 +0x1.adbde0c853d1dp-1 +0x1.ef8b77b92c76ep-3 +0x1.6f05862b7c708p-1 +0x1.3e366c5557ffbp+0 +0x1.e038095394ea6p-2 +-0x1.72ba700c37f07p+0 +0x1.a9f7fa6cf9988p-2 +-0x1.4730babdc0c14p+1 +0x1.d2be6bebeedf4p-2 +0x1.dc1ffddd6eb5cp-1 +-0x1.13802dfe62ed5p+0 +-0x1.1f41e33160aaep-3 +-0x1.29929c9c92042p-2 +0x1.d3f8e5ae13d6ap-3 +-0x1.65e72a6561bd9p-2 +0x1.0ad203c10df6ep-3 +-0x1.e96f930781a01p-3 +-0x1.21e5d8eb57dd9p-1 +0x1.c6c4f2654edf4p+0 +-0x1.fea527443ca72p-8 +-0x1.93dc6ac05f8f3p-2 +-0x1.680cd1fdc064fp+1 +0x1.21f1f1626f20ep-1 +-0x1.060a6d09b6f49p+1 +-0x1.1ff16387bdfa4p+0 +0x1.9850697079afdp-1 +-0x1.0ccf3fbb8bc2p+1 +0x1.12b19649c70c7p+0 +-0x1.220a5ffef9135p-2 +-0x1.5ef9eb9552a3bp-2 +0x1.71cdb61a203c4p-1 +0x1.1b40f1a2fcebap+0 +0x1.dae3426c41647p-3 +0x1.ceb35659a8204p+0 +0x1.028d091c63623p-1 +-0x1.0e43930a7e9cfp-3 +0x1.07471fa6830a3p+0 +0x1.d86000d9a7707p-3 +-0x1.e6a3193c6903bp-1 +-0x1.f169830a40354p-2 +0x1.1e75da86fb093p-4 +-0x1.0d4c1fec2fa9p+0 +0x1.1cf5e57aed4ep+0 +-0x1.d37956b1a6bd5p-1 +-0x1.a04d485c3b9e7p-4 +-0x1.04014c571b3e5p-3 +0x1.658acf683261ap-2 +-0x1.0ff5d61e9b253p-6 +-0x1.223558a29979fp-2 +-0x1.26c032f90fc1ep+0 +0x1.3d70f86d4866p+0 +0x1.5027343852a7ep-1 +0x1.687e11cabc067p-2 +-0x1.82955d1c9805ep-3 +-0x1.f0a28e0a0bfc3p-1 +-0x1.934f90e95a09cp-2 +0x1.9f3bffdb167d8p-2 +0x1.104161c484cbcp-1 +0x1.250e9485f986cp+1 +0x1.cbb8b279f75cfp-1 +-0x1.041cd196c8952p+1 +-0x1.39dd9137af427p-2 +-0x1.69653a2a1374bp-1 +-0x1.9e5b08d76b728p+0 +0x1.cf9e7d04b54bep-4 +-0x1.f509a8312f736p-1 +0x1.e6fb88bdc053ep-2 +-0x1.319cc6956b9ecp+1 +-0x1.9edd9bdea0a1fp+1 +-0x1.d76b71224c9b6p+0 +0x1.c56e2c269a7f6p+0 +0x1.2fd78ccfebdf2p-1 +-0x1.53571df7a806p-2 +0x1.1fc02cf8c4886p+0 +0x1.36a6328ce3062p-4 +0x1.96c06e4d84dcdp-2 +-0x1.deccf2895ba49p-1 +-0x1.46ea0e82891b3p-2 +-0x1.1ff6d6ae07a52p+0 +0x1.3e4dd68a3b267p+0 +0x1.32e09414cfe9ep-2 +0x1.b25072bb38547p-1 +-0x1.e1b733cabc1a8p+0 +0x1.36b69bef0cbcap+0 +0x1.24780e586bcd3p+0 +0x1.290dcd90893a4p-1 +-0x1.3612bb1dc64eap+0 +-0x1.e537779e7d117p-3 +0x1.17896c66b683bp+0 +0x1.31dbedd378d3ep+0 +-0x1.53c8ca3e29b1ep-1 +0x1.ea6f95ee5dcb6p-1 +0x1.b4e0038a61d51p-2 +-0x1.e2af578213281p+0 +0x1.0533a560b45f6p+0 +0x1.c96768b0eaa24p+0 +0x1.a8aec58be087p+0 +-0x1.70f68000c51eap-1 +0x1.51f401ec7fbdp-1 +0x1.db06473f40fedp-4 +0x1.4e1963fd716bbp-3 +0x1.a93094e125a22p-2 +-0x1.1026fefab4092p-1 +0x1.2b11802d5672cp-4 +-0x1.1663b10191896p-2 +0x1.64f32aa7f17c9p-2 +0x1.76f537ad53e83p+0 +-0x1.229ed99baeca3p-5 +-0x1.9d54224e8c116p-3 +0x1.66399235e31adp-2 +0x1.8274241590838p-3 +0x1.56ef89e9426dcp-1 +-0x1.48c9fc90c511ep-11 +0x1.2c9095d7682e6p-2 +0x1.f11c2ae636f68p-3 +-0x1.d30d83164bea4p-1 +0x1.7c24af02ca1bp-1 +-0x1.a8496a3e739d3p-1 +-0x1.8d426075714abp-2 +0x1.2fee8d8fad0ccp-1 +0x1.2784b3c87544ap-1 +-0x1.fa3b208cc16eap-3 +0x1.5f32ab56a81c4p-2 +-0x1.d1bb10de8809bp-1 +-0x1.b9e65c992b6c7p-3 +-0x1.5f9603c148ee4p+1 +-0x1.6dbe7021dcdc3p-3 +0x1.a46e973a3e99p+0 +0x1.4cde1121818fep+0 +-0x1.e842a6195ef26p-1 +0x1.a07a37e8d4c71p-2 +0x1.021d6b583a26cp+0 +-0x1.07a6aa47f6bfcp-2 +0x1.684072264d247p+1 +0x1.5a13a33f9ca56p-2 +0x1.e2f9968e2736fp-5 +-0x1.5ffafde92027ep-2 +0x1.b56387a27cf5dp-3 +0x1.7d238029ceef2p-4 +-0x1.61af1bcd2f05ep-1 +0x1.789c9104bc3bep-7 +0x1.2498498f33eaap+0 +-0x1.8907402f60d53p+0 +-0x1.ab41475fcd6bap+0 +-0x1.dfbe17f38637ep-4 +0x1.9308bf9a54849p-3 +0x1.c58a07e377dc5p+0 +0x1.b362b3185f4d7p-2 +0x1.57be103ebaf0cp-4 +0x1.8e2387206daecp-4 +-0x1.020ca5691cce5p+1 +0x1.83ec89bb2ce2fp-1 +0x1.b2c4774b4357bp-1 +-0x1.113a09f81fc81p-1 +-0x1.d382c87c16dfap-1 +0x1.7880f4f8ccd14p-2 +0x1.971a035ffe8adp+0 +0x1.0fb77f47421eep-1 +-0x1.9719c92834c47p-3 +0x1.ea1f6d15e40f3p-4 +0x1.32beae2003fcp+0 +-0x1.cf59e5c75346p-1 +0x1.1b29cf0432334p+0 +-0x1.3a8dc761fad7ep+0 +-0x1.9329f7e1e1bb3p-1 +-0x1.da33f91ffa374p-3 +-0x1.6ef64ba5996c6p-2 +0x1.d23d2ca17c049p-3 +-0x1.52cf3636ba4c8p-4 +0x1.081ab8e481571p-2 +-0x1.a3029d2789b85p+0 +0x1.0dd4a1f66412bp+1 +0x1.a1a5ff9b8b824p-3 +-0x1.365096745d39dp-3 +0x1.f8c280e4e1c84p-2 +0x1.2e34b13041e0ap+0 +0x1.76e0cc85b8289p+0 +0x1.7fc06c4f16dcap+0 +-0x1.1fc0438960659p+0 +-0x1.0ae6fc59bc6d7p+0 +-0x1.2c6562b353152p-1 +-0x1.cc02a394dc81p-1 +0x1.eed6e25dc319dp+0 +-0x1.95d15aed7e55p+0 +-0x1.c9bdba2cce334p+0 +-0x1.9be42a05ec3a1p+1 +0x1.059c1493b1ef6p+0 +-0x1.cd3fc1071d3c8p-1 +0x1.6e093b3f895bfp-1 +-0x1.4d1a150d70ee8p+0 +0x1.fbe58bc9bd9d5p-2 +0x1.bc4616bd7691p-2 +0x1.8efeadf3c5833p-4 +-0x1.edf52b2c77c85p-1 +-0x1.c75fde6084728p+0 +-0x1.360ca3a0dd42cp+0 +-0x1.8316aa3769e3dp-2 +-0x1.d60075694fd86p-6 +0x1.3bf7eebc460bbp+2 +0x1.dcda45212aec6p-1 +-0x1.59edd0fd7a02bp-6 +0x1.4b4d1a28acebep-3 +0x1.334620ecc9621p+0 +-0x1.29ca766a4883p-1 +-0x1.be15557ae10cbp-1 +0x1.ea0c0064d5ceap-2 +-0x1.ce34047bc919dp-2 +0x1.3ed48b4b5246bp+0 +-0x1.e1bb82cad4ff9p-1 +0x1.ea0ff46f317d1p-5 +0x1.923c71788ea04p-4 +-0x1.4884c29964546p+0 +0x1.152025ce81301p+1 +0x1.d299f4143fefap-1 +0x1.0386c797fbc4ap+1 +0x1.00ec53614e27ep-3 +-0x1.0a6d141458b05p-1 +0x1.0269a3cd98e66p-1 +0x1.5638675db228ep-1 +-0x1.b712ca3109ea6p-3 +0x1.1f2cd3235346cp-3 +0x1.ed4bdf659996fp-4 +-0x1.a29e188bf5bfbp-5 +-0x1.069dc0fb9574p+0 +-0x1.050c8a2ff07b7p-1 +0x1.90271c76cfadbp+0 +0x1.17cf9a8c3dc4dp-1 +-0x1.917ca02a22d06p-2 +0x1.15f860722717bp+1 +0x1.b87e35ebfa349p+0 +0x1.7ae3124b25f2bp-2 +-0x1.c5c72c93c2d11p-4 +-0x1.eb5c14492754fp-2 +0x1.2db7ce4a43852p+1 +0x1.917df786a7411p+0 +0x1.0032d2617d198p+0 +-0x1.c04d5276f8e8cp-3 +-0x1.658aab185625p+0 +-0x1.def7a427fdb86p-1 +0x1.2e50e8e9936p+1 +-0x1.e29c2e02b1802p+0 +-0x1.3a92f53a6713p-1 +-0x1.01840542c33e8p-2 +-0x1.a1bb461853681p-1 +-0x1.cd19ac4ad8ac9p-2 +-0x1.48b60d36a500bp-2 +-0x1.bd350368ccd79p-3 +-0x1.c46617fb1ff35p+0 +0x1.bf977d521a53fp-3 +0x1.be7835e336134p+1 +-0x1.a5f1702bdb0aap-3 +-0x1.f0470fd55eb31p-1 +-0x1.49c53a8ddc39cp-1 +0x1.99798da1c025ap-3 +0x1.30f6d6afca31dp-2 +0x1.91aab55bb0eaep-1 +-0x1.28062a01ab905p+0 +0x1.daf0068a4648p-2 +-0x1.2aefe0be622c3p+0 +-0x1.53a44ea11ap+0 +0x1.1725a8e5f4b7ap+1 +0x1.fbb308f9742d6p-3 +0x1.539cceded3db2p-2 +0x1.1d375d18b4865p+1 +-0x1.3d261391e8c02p-3 +0x1.6b24572e08393p-1 +0x1.5a5f7c3094de9p-1 +-0x1.67bef0d5e2905p-1 +0x1.ba7cff5a21287p-3 +0x1.6f2d89e4377d4p-2 +-0x1.4e682d49ff477p-1 +-0x1.866033fc47c63p-4 +-0x1.a8b234d4fa494p-1 +-0x1.5b18f0c015f78p+0 +-0x1.43970bfb824aep-1 +0x1.2cbe71f97c90ap-5 +-0x1.26b7c0e9a8849p+0 +0x1.194518d91bc4p-2 +-0x1.d7ef251bbc71p-1 +0x1.6bd3bdec63b04p-1 +0x1.2d60d5a27c4b2p+0 +0x1.4e2a48b2d5123p-2 +-0x1.9bc7256c883d5p-1 +0x1.6521f84acf6cbp+0 +0x1.3246dc983ab88p-2 +-0x1.80002fd67a625p-2 +-0x1.1678006ca7655p+0 +-0x1.14855f287d8edp+1 +0x1.54ed1bd62c549p+0 +-0x1.2eefa74a088a6p-2 +0x1.97c2d37b17f69p-2 +-0x1.142d7cf3fdc0ap+0 +-0x1.796aa9a04aae8p-4 +0x1.b0d9d603620fap-5 +0x1.546bc41c08f8cp+1 +-0x1.998eb2a1f58bep-2 +0x1.25fa8f9db5a5fp-1 +0x1.fc34f5a415d0ap-1 +-0x1.6999cad5dcb1bp+0 +0x1.52bfed0c2067p-2 +0x1.564f1508ad28ep-1 +-0x1.aeeba98923fcap-2 +0x1.99268aa57399dp-5 +-0x1.ee66af8dc006cp-2 +-0x1.1c6a1739b26b2p-1 +0x1.435e7e1a9bc3cp-4 +0x1.76cc2e8e9e5dfp+1 +-0x1.83fc524693dbep-2 +0x1.5bbb9646c2e28p+0 +0x1.03605b7977cc8p-1 +0x1.add1e9f1c6cddp-4 +-0x1.12d5618c6b4c6p+0 +-0x1.b48c30fac1824p-2 +0x1.6b3ae30fd52dfp-6 +0x1.173f8478e2863p+1 +-0x1.72733225abeb5p+1 +0x1.67d70704a4339p+0 +0x1.46b330f251836p-4 +-0x1.95dc20f6b81b1p-5 +-0x1.fb3325a724a99p-3 +-0x1.d185f66c21c09p-1 +0x1.7f29d578ddf1bp+0 +0x1.404b71c973ecbp-1 +-0x1.d555687577d14p-1 +-0x1.6dfd1cb7643p+0 +-0x1.ec906dcd35ddcp-1 +-0x1.685455d1c3832p-1 +-0x1.fe44a15cfc5f7p-4 +-0x1.71fad0efa0e39p-3 +-0x1.762ef989151c9p-3 +0x1.d80ad8139227ap+0 +-0x1.486074c9ef04cp-6 +0x1.0a8cf1332cb4fp+0 +-0x1.216b43a7112cdp+1 +-0x1.5c978b95cc4e3p-6 +0x1.823b307638c3bp+0 +0x1.179ff06edd64dp+0 +-0x1.2f51752f28a43p+0 +-0x1.c4b97f5f00b34p+0 +0x1.4b06db80057f5p-1 +0x1.9ac9d7097f697p+0 +-0x1.ba7776be4bcd7p+0 +-0x1.6a96dfd282c3ep+0 +-0x1.b565071fb2b58p+0 +0x1.03ba242e75589p-1 +-0x1.00f62c2282f9ep+0 +-0x1.29090666ab3e2p+0 +0x1.200271d15e08ap-5 +0x1.02cdd703c372ep+0 +-0x1.c1df0a6cc8eb4p-2 +0x1.62082cc20f3afp+1 +-0x1.38362f1b1b34fp+1 +0x1.05e18b0cb3a7cp+0 +0x1.b4f5170011cf4p-1 +0x1.5d5d25d6e1df5p-1 +-0x1.1bd403a1d726p+0 +0x1.1ed7d1ed1fb16p+0 +-0x1.795bfa12c1311p+0 +0x1.cdc30f560d1c4p-1 +0x1.86cc4a0a87f44p+0 +0x1.0faede2b4bb8bp+0 +0x1.ff5697c3be761p+0 +-0x1.94f979bc376afp-2 +0x1.e3ca74f9d7f9dp-2 +-0x1.4e0fbca0be32bp-1 +0x1.4f04d297066c7p+0 +0x1.11836795d306bp+0 +0x1.1cf13582f1318p-1 +0x1.c262bccdc508p-1 +0x1.50c49f0d98ce4p+0 +0x1.c7e2aea850175p+0 +0x1.0ea45c7f10e7dp+0 +0x1.70b79bca29c7ep-1 +-0x1.809fab2fa7544p+0 +0x1.073ac8101b9adp+1 +-0x1.00e0b405485b1p+1 +0x1.18653b53eb512p-1 +-0x1.2914dceb8e09dp-1 +0x1.f453e1b52de9bp-1 +0x1.a48fb0c386415p-4 +-0x1.b7f86beff7bbep-1 +0x1.cf689bb62eae4p-2 +-0x1.4df38f690748cp-1 +0x1.3d914834a02dcp-1 +0x1.04d87064f45a9p-3 +0x1.183f8f2241ed6p+0 +0x1.1318240ca5d33p-1 +-0x1.cae47b30d2f23p+0 +-0x1.72a1c2a89d6c9p-1 +-0x1.3d1ec7587c2b8p-7 +-0x1.051fbbde41a39p+0 +-0x1.dd8fcaa8a58f8p-3 +0x1.ac2c57087b80bp+0 +0x1.cf0ef531e025dp-3 +0x1.2a15bb92fdf38p+0 +-0x1.6458baf70503ap-2 +0x1.3dfba059f2546p+0 +0x1.acce48f4e536cp-2 +-0x1.4a6c29779e9acp-1 +0x1.0d65e0dca8388p+0 +-0x1.ef75c3b7f15afp+0 +0x1.332d6d86a557cp-2 +-0x1.1aa7e17a289fap+0 +-0x1.d7ae6b7c6814fp-3 +-0x1.dabe9688f81fp-2 +-0x1.42dc805d7da19p-5 +-0x1.e3ff006448c3bp-1 +-0x1.567bcfb46e58ep+0 +0x1.45e4c94adae2p-1 +-0x1.490a684bbfe4ap+0 +-0x1.0f8e1feffa9fdp+0 +0x1.6b87dd6e069a6p-4 +-0x1.948d00f9cf08dp-2 +0x1.2150989caa1b7p+1 +0x1.91ff10e829bb3p-1 +-0x1.2bc5ebf628effp+1 +-0x1.b2697742ba1dap-1 +0x1.9b8ef73ad9ad6p-2 +0x1.4fc9cbea1c7c2p-1 +0x1.679f60b6ff6d8p+0 +0x1.249b54f133818p+0 +-0x1.360a5bac22358p+0 +0x1.6a3caeb79e627p+0 +0x1.08101ea1959cep+1 +-0x1.ecf65cc6cfa57p-3 +0x1.62cada4da3588p-3 +-0x1.06112ee96ed42p-1 +0x1.991d772a8d2fbp-1 +0x1.606adf984b0bdp+0 +-0x1.070713afa5105p-3 +-0x1.562a988502c92p-4 +-0x1.dc5e96eedc33ap-1 +-0x1.83bc2de9bd012p-2 +0x1.5f291c644a389p-6 +0x1.ff718aed3ff87p-1 +0x1.0c56cfcad138ep+0 +-0x1.9a20261a7f3cap+0 +0x1.5dd325e38f125p-4 +0x1.9904636bc6218p-1 +0x1.06002bd0dec72p-5 +-0x1.f13c1e5b57d07p-4 +-0x1.180a16bcb1dccp-2 +-0x1.8f8b4d1447b8bp+0 +-0x1.1649f29698c38p+0 +-0x1.97f9eaf9bcfep-2 +-0x1.4fe6172b8e328p-1 +-0x1.3fb359b89de78p+0 +0x1.10b6023dd5a51p-3 +0x1.46d6eaa05b11fp-2 +0x1.f010c517a2d28p-1 +-0x1.18296d17dc06ep-3 +-0x1.3d588b118722dp-3 +-0x1.6d596346c5777p+0 +-0x1.9dca2a23691c5p-2 +0x1.257a95aa902dep+0 +0x1.b9943a666e534p-2 +-0x1.ead32b1ba9fffp+0 +-0x1.47b2d0411b1e5p+0 +-0x1.3195524628d3p+0 +0x1.03d558dacfc7cp+0 +0x1.c00ae24a0a399p+0 +-0x1.8fab24503bdedp-4 +0x1.3549cb20d72cap+0 +0x1.007aa5b57512dp-1 +0x1.457e7acdf9e75p-1 +0x1.18726b7878b02p-1 +0x1.13ddb372b541fp-2 +-0x1.03641de444419p-1 +0x1.4c7beb9dd3e1ep+0 +-0x1.a59091efe7995p-2 +0x1.2641c9b9a248p-1 +0x1.15666195054f1p+1 +-0x1.e0f6fb09b47b1p+0 +0x1.05feeba056108p+1 +0x1.13e9aee1aa471p+2 +-0x1.544059260e467p-1 +0x1.705f558db1f7dp-1 +-0x1.169843c5c922cp+0 +0x1.d1236f695756dp-2 +0x1.6718ed72e9789p-1 +-0x1.57e652ed6513bp+0 +-0x1.79544ea4f842p-2 +-0x1.16d6405fdef62p+0 +-0x1.1ac905b09b513p+0 +-0x1.e85af446ce44cp-1 +0x1.bb11c58573c6p-3 +0x1.7f800df187fbap-1 +0x1.3d5614880365fp+0 +-0x1.cb8fc5ca8d21ap-2 +-0x1.38784b4457b53p+0 +-0x1.4ab4fa9fbd1afp-3 +0x1.8532a57029d5ep+1 +0x1.3dd5b7bc8c944p-1 +-0x1.ffa2151287b0fp-3 +0x1.4761347fdc14fp-2 +0x1.e5787b1dd88eap-2 +-0x1.f9e446149f343p-2 +-0x1.93e5d1509b1fbp-2 +0x1.4357f95694abbp-1 +-0x1.4f73dff8a219dp-2 +0x1.9d7f484a92c38p+0 +-0x1.f46b4b3c263a2p-4 +0x1.4cc1316881981p-3 +0x1.3e01ae737cb7p+0 +-0x1.b8cd7cf1ff021p-2 +0x1.17734bf216319p-3 +-0x1.4d84b67ffcaabp+1 +-0x1.5e3c2bb47e757p-3 +0x1.39600c851451cp+0 +-0x1.d9fed2305c888p-1 +0x1.cf3df0c2e5eaap-1 +0x1.97d41a0ca3461p+0 +0x1.ee4f3d641d617p-1 +0x1.83f5e925554e7p-2 +-0x1.89719b5383a4ap-4 +0x1.7a6966035bf8dp-4 +0x1.32364619b25fep+0 +0x1.11ca578615e42p-1 +-0x1.f26d5d11faa41p-1 +-0x1.32b2cf9dadaf6p-1 +0x1.c7fba542bced9p-6 +-0x1.016d02f024be3p-5 +-0x1.29eb778b5f1f5p-2 +-0x1.0abdf0f18390bp-1 +-0x1.83caee50aa938p+0 +-0x1.e77141958bf48p+0 +-0x1.76c61975e5db2p+0 +-0x1.0b184e359fcfap-4 +-0x1.2f8bb10b82134p+1 +-0x1.b2a8baa6b075dp-1 +0x1.900b1dc896c01p+0 +-0x1.f1c7eb783bc87p-2 +0x1.810201bffae51p-2 +0x1.2c9fc4c95da0cp-3 +-0x1.f03356cbf0643p+0 +-0x1.9fd06ec2498b4p+0 +0x1.9d463e02f1ad9p+0 +-0x1.3acaa99735b4ep+0 +-0x1.6968e52153f5ep+0 +-0x1.b41609afe417ep-6 +-0x1.6b96b28f9427dp-1 +-0x1.50589a38cb2f7p-3 +-0x1.9737074f32c1p+1 +-0x1.2f7d754e1ce8bp+0 +0x1.b05bd3c996b4cp-6 +0x1.40ed048dfc93fp-1 +0x1.228e5dee46cbp+0 +-0x1.112b60b800599p-4 +-0x1.be5892c5db7bbp-1 +-0x1.c6a599688170dp+0 +0x1.a56ef0739cf8ap-2 +0x1.918a5295319fap-3 +0x1.2d04ad130d76bp-2 +0x1.1aa9f2c2a40b8p-2 +0x1.0eb2ac3d285f2p+0 +-0x1.a38a2c4ecdca1p+0 +0x1.c2fa24fe1f397p-2 +0x1.3e9bc7af1c8fp+1 +-0x1.171817b49bc5dp-1 +-0x1.38933e07c19e5p+1 +0x1.8107ea37b5a8p+0 +0x1.96ff2b9f8b568p-1 +0x1.188cd6a241b6p-3 +-0x1.08ee680891e88p-6 +-0x1.2bfef29b4173bp-1 +-0x1.076554cde63e2p-1 +-0x1.4afc23f1f6081p-1 +0x1.1aa983503c1cbp+0 +-0x1.85ce2f3e1f7f1p+0 +0x1.575983653bd56p-1 +-0x1.bf4e26dbf2605p-1 +0x1.b008665f6334ep-2 +-0x1.099ad0d299a8ap+1 +-0x1.055115a807c0dp+1 +0x1.6ef53a8f473a9p-4 +-0x1.bdb7c6cdff693p+0 +0x1.5259b3681b3c2p-1 +-0x1.8852afebce82cp+0 +0x1.1df34f9627961p+0 +0x1.daed1d8af823dp-2 +0x1.2c7a89ce4e75dp-1 +0x1.9331efbee1ac6p+0 +-0x1.55762693b425ep-1 +-0x1.146f9ddba649cp+0 +-0x1.28a0220b89b76p-1 +-0x1.a2228dc88396bp+0 +0x1.0b5b471e53949p+0 +0x1.d73f7ef842bb1p-2 +-0x1.3cd3f0d4dae53p-1 +-0x1.5018e76a96f7dp-2 +-0x1.72153e48a85c2p+0 +0x1.a8f7b18aef778p+0 +-0x1.26c92b28c68c4p-4 +-0x1.3ca7f79f0ebf7p+1 +0x1.40d59666b64d7p+0 +-0x1.5a8bb9550d5abp+0 +0x1.84ab41a2b7058p-2 +0x1.d44e1b40c1c02p+0 +0x1.dc0de4ed72d9cp+0 +0x1.8750902435eacp-5 +0x1.c435604f3676ep-3 +-0x1.20b221037672p+1 +-0x1.3dc2bed23761fp+0 +-0x1.06ed8dfceda2dp-1 +0x1.4d3d6f9bc72f3p-5 +-0x1.dd5742db3a0ffp-2 +0x1.76eda676ae1c3p-1 +-0x1.d54bacf73842dp-1 +-0x1.2ce968f482fb6p+0 +-0x1.41ab3d37b935p-1 +0x1.44f8368412ce3p-9 +0x1.5161949935c9dp-1 +-0x1.a7bbf8b575ebap-1 +-0x1.217621dece826p+1 +-0x1.9fdd64aeaf543p-1 +0x1.42b617e0c497cp-9 +0x1.ad52dd1410743p-2 +-0x1.a0565df383012p+0 +-0x1.64508925d269dp-1 +0x1.ad5667cddbbb1p-3 +-0x1.7d311b3642bf1p-1 +-0x1.5ddfba14e4874p+0 +0x1.c135f98268459p-4 +0x1.014789d4d5b91p-4 +-0x1.3333aa531c637p+0 +-0x1.4496a147c57bep+0 +-0x1.711ea5c8459cfp+0 +-0x1.755ebf41299fep-10 +0x1.1ac203cb9a283p-8 +-0x1.d88bd3db0c512p-3 +0x1.6dce50ae40243p-1 +-0x1.16dc0ba1a1b9cp+1 +-0x1.27c77b5832043p-4 +-0x1.906e9ee874a68p-3 +0x1.18e9b7af28258p-6 +-0x1.2e8c2cc1bde9ep+0 +-0x1.4c641af7b809dp+1 +-0x1.2c24ba980caccp-1 +-0x1.ac2c6d05084c6p-2 +-0x1.d221a59706b64p+0 +0x1.d71f27a76ca22p-2 +-0x1.630a7a3c19d39p-4 +0x1.5cb6bb7f70728p+0 +-0x1.4d706e630a0a9p-1 +-0x1.81db16b8bbe4bp+0 +0x1.1d45ebf7ed30fp-1 +-0x1.bbd30311345ebp-1 +0x1.692925c1296e1p-1 +0x1.a623ad0818d59p-4 +-0x1.080955c97a89fp-2 +-0x1.8c6be3f7c945dp+0 +-0x1.b92f87fae57d7p-4 +-0x1.4ef9f21574415p+0 +0x1.67160ab935358p+0 +-0x1.3111d96a16cbcp-2 +-0x1.1247dde581545p+0 +-0x1.00735cd66ed1p+2 +0x1.d43b42181b948p+0 +0x1.2248fd038ed27p+0 +0x1.36f160e4d900bp-6 +-0x1.62a91991c2c58p+0 +0x1.c5cf2fd192635p-1 +-0x1.df6c8c4890602p-1 +-0x1.f943ab203a248p-3 +0x1.51a9cae8a92e7p-1 +-0x1.9108faadd1115p-1 +0x1.fe48626444ba7p-2 +-0x1.04ffeff608392p-2 +-0x1.d641c76db1ed5p-6 +-0x1.f9d3d67006a29p-3 +-0x1.ee62951aa7adap-3 +-0x1.94a685436df4fp-2 +0x1.a7c51685d902ap-1 +0x1.aa85743ee97ebp-1 +0x1.86dca3bd4a44dp-3 +0x1.38018c0f0dd66p-1 +-0x1.ba117f24df0d6p+0 +0x1.fc074a6f6f58fp-2 +0x1.0ea0d742122b1p+0 +-0x1.0efba5c1fc1c3p-2 +-0x1.17c456c750bdep-1 +-0x1.596f727d34937p-3 +-0x1.392248d1593e7p+0 +0x1.5122e040be88dp+0 +0x1.f0ef80ba50badp-3 +0x1.00a041b3dffc8p+0 +-0x1.f4b12dad2c6bap-1 +-0x1.c8731904ec173p-1 +0x1.31dd6880cacc1p+0 +-0x1.a303a38f85806p-7 +0x1.4e86c85a84015p+0 +0x1.1a56ee1a74cf5p+0 +-0x1.7238cdb89a0ecp+0 +0x1.83510cc9c4ca6p-1 +0x1.3295391e3ccc8p-2 +-0x1.e298a4b310a7dp-3 +0x1.cc723844fe461p-4 +-0x1.0944042fcdae5p-2 +0x1.11645985610c2p-2 +0x1.fbafb2c408d9bp-2 +-0x1.599da3bdcda81p+0 +-0x1.e33700bf04184p+0 +0x1.04b9886745e6cp-1 +0x1.a4e32dd308aaep+0 +-0x1.6e6b6cf96e783p-2 +-0x1.10709c498307fp+0 +-0x1.48d7f5441c754p+0 +-0x1.cc1443515a649p+0 +0x1.87c2e092a68f2p-2 +0x1.cb2c20b529bd2p-1 +-0x1.c6295d9c09c8fp+0 +-0x1.218ee2ad1f934p-1 +-0x1.2756a45e460eep+0 +-0x1.1cc8541ef7abp+0 +-0x1.9e64f73c00f78p+0 +0x1.9993699c101f6p+0 +-0x1.5862d69ff8b63p+1 +-0x1.b02166526d156p-2 +-0x1.99317ff87b5fdp-5 +-0x1.e066f612bc266p-2 +-0x1.620d20414e49cp-2 +-0x1.2d339cd08c6c2p-1 +-0x1.8d62f9a0a665p+0 +-0x1.00e289dfb31b2p+1 +-0x1.228055a6a4263p-1 +0x1.650beb9e3d905p-1 +0x1.add9cd3d9ab09p-1 +0x1.9233fff8d7297p+0 +0x1.67b7df39fb785p-1 +0x1.25eda2ab51b3cp+0 +-0x1.5a3b453f1c202p-4 +-0x1.5c45bc7aaa9f8p-3 +0x1.627c976c3806p-4 +0x1.6a81ed75eb061p+0 +0x1.8da70950ee823p-3 +-0x1.26483a4938c57p-3 +0x1.fee456a22bbd3p-2 +-0x1.ae35d513ca5f7p+0 +-0x1.d0244cd27dcb5p-3 +-0x1.d76601980934ep-1 +-0x1.5802e7afdce4bp+0 +0x1.5ea6b8ea7aeaap+1 +-0x1.2cbb80231a5bdp+0 +-0x1.219d9c5476f19p-1 +-0x1.86f4a461f7183p-1 +0x1.be4ac582a64adp-1 +-0x1.9f4dc59eee9a1p-1 +-0x1.0ce498d843fcap-3 +-0x1.2710c9e168fc7p+0 +0x1.d7f33124db819p-2 +0x1.ea8f9a6ce2108p-2 +0x1.bbbb082dd7912p-1 +-0x1.da4783a22c493p-1 +-0x1.2671fb7f1a81ap-2 +0x1.9fcc20ac806ap+0 +-0x1.59a32f3adc7d6p+0 +-0x1.9f049ccdf0f36p-4 +0x1.4b15aa442cf6ap-1 +-0x1.2b1f28a5f0c56p+1 +-0x1.a43ecae5118d3p+0 +-0x1.05965bac75f9ep+0 +0x1.6fa45ec356479p+0 +-0x1.e90b1aed4219bp-1 +-0x1.a6fa422911babp-1 +-0x1.45452675327bap-1 +0x1.078a8c92bb3f6p+1 +-0x1.fe4f1ddb08991p-1 +0x1.032e9e1ab8d8ap-1 +0x1.5afe8ae2ed933p-2 +-0x1.54094b3d1d351p-1 +0x1.8124ccdc8b1dep-1 +0x1.80e3387dbf33ep-4 +-0x1.45ae5838cae14p-5 +-0x1.44c5524e9199fp-1 +0x1.9542f3a4aad91p-2 +0x1.9432234e9523cp+0 +0x1.9edd1a45088a7p-2 +-0x1.61b20106e07e7p+0 +0x1.cabf4bc48e766p-2 +-0x1.e190cef90b975p-3 +0x1.15f088c9dee53p+0 +0x1.600cf449c655bp+0 +0x1.277e065bba117p-1 +0x1.036adc016984p+0 +-0x1.069f9332656bp-3 +-0x1.1d4d017e0bb04p+0 +-0x1.7b7f405695c51p-1 +-0x1.20c723a0775f8p+1 +-0x1.584b227ece41fp+0 +-0x1.06c720075dfbcp-4 +-0x1.0c2c58b30e777p-2 +0x1.773b4305a61cdp+1 +0x1.28c14532ff71dp-1 +-0x1.4304cfb4ee3fap+0 +-0x1.92768f948ca29p-2 +0x1.888d25b454406p-1 +-0x1.57b36e1f605fp+0 +0x1.bfd58c915e16p-3 +-0x1.806ce03cc8937p+0 +0x1.5348ba2539499p-3 +-0x1.7db2d7d5d67cap-2 +-0x1.07b6f0960e7e5p-6 +0x1.1770ffb2d5a9fp-1 +0x1.b17e69ae8c5c7p-3 +0x1.29cda0ba82a5fp+0 +-0x1.2727a4d20f7acp-2 +0x1.cdd90e580cb64p-4 +0x1.dd3db00a3ab54p-1 +-0x1.090694c65beb9p+0 +-0x1.8777d294a4417p-3 +0x1.3683c7f7a18d9p-3 +0x1.18abee9edaa09p-1 +-0x1.6a2fb5cdd4f1cp-1 +0x1.9c9940c028163p-2 +-0x1.dd0cd1cbf4055p-1 +-0x1.89bb8306ab329p+0 +-0x1.450dad2d8f94dp-1 +0x1.1db3aa5b159edp-1 +-0x1.5253d572bc726p+0 +-0x1.773fcb321e9cbp+1 +-0x1.44725d7ff6097p-3 +-0x1.85e30556f955ep-1 +-0x1.248a4c31090aep+0 +0x1.07cac3c199f5dp+1 +0x1.606b66d295891p-1 +-0x1.d480710e94e67p-2 +0x1.80ae080c769c4p+1 +-0x1.a1ab470379267p-1 +0x1.f1e1fa3375398p-2 +-0x1.f1d0712d40a5fp-1 +0x1.582ebfb1db49ep-2 +-0x1.22fa577c0d992p+0 +0x1.2b38498ad6c8ep+2 +0x1.b3b695c6d9312p-1 +0x1.26d7b544813f8p-5 +0x1.76144c7f3e9c9p-1 +-0x1.6daec87259afp-3 +-0x1.4fbc6dd06a89dp-1 +0x1.c7934d638dcfbp+0 +-0x1.e43557f49d971p+0 +-0x1.3214ec5bce878p-1 +-0x1.93cbe9a721b0ep+1 +0x1.ff5b86f5f418dp-4 +0x1.0b2b6fd4700bfp+0 +0x1.335c9b4b704a1p+0 +-0x1.953d5601ce38ap-3 +0x1.8d2b9230bb05ap-3 +0x1.bae885e362688p+0 +0x1.167fdf81407f1p-2 +0x1.3088cdfd3ac57p-2 +0x1.8e2d59aae1a1fp+0 +0x1.8bd951caf5e93p+0 +0x1.0c35b1c4aa6d2p-2 +-0x1.07462d8006abfp+0 +-0x1.a421ad0649796p-1 +-0x1.7b041fd969e89p-4 +-0x1.6584df2c6a83p-2 +0x1.1dfed4759bebfp-3 +-0x1.ba50d2f6110b5p-2 +0x1.e29c9b31d6da9p-1 +0x1.92f14e8f3825dp-2 +-0x1.39170d6424af2p-2 +-0x1.8693d0848429p-1 +0x1.2dbb1cf932fbcp+0 +-0x1.5db2b85add1fap-5 +0x1.088458b34f674p+2 +0x1.7ad339f2f38d3p-1 +-0x1.1fb8948aada04p-1 +0x1.9b7cc9e5a6543p+0 +-0x1.1a63dc7e4365bp+1 +-0x1.1e8b6e7b9940bp+1 +0x1.355975dde6432p-1 +-0x1.6d0ef1ac850cap+0 +0x1.2fc69baef4bc7p+0 +-0x1.3de7429d92309p+0 +-0x1.724510ec1c591p+0 +-0x1.9e1fc2e664119p-7 +-0x1.d52816671f386p-1 +-0x1.0f42693ff74a3p+1 +-0x1.75a2d194c5a85p-2 +0x1.cb7f68e18e1e2p-3 +0x1.f95f87c5dec9ep-1 +-0x1.558a13a617898p+1 +-0x1.271f4b5fe7d3fp-1 +-0x1.de4e40a256dd8p-2 +0x1.84feedc5af2bbp+0 +-0x1.4bf82fb3ead1ep-2 +-0x1.70a0cd62c573ep+0 +-0x1.82e93235056fdp-1 +0x1.63a00e8c6124bp+0 +-0x1.7edcd2ce0a612p+0 +0x1.7ba93d78b8892p+0 +-0x1.1cc26bc13a5d9p+0 +-0x1.7dbbe7617dc3fp-2 +0x1.c9e901ebf5e59p-2 +0x1.1e397077089e2p+0 +0x1.2d37a44f20273p+1 +-0x1.7bdd6101a46aap-4 +-0x1.02b03a4e72829p+1 +0x1.c7e03f970cac9p+0 +-0x1.7deb80c33c973p-6 +-0x1.86dd5d300bbb8p+0 +-0x1.7a3ebc042ac04p-1 +0x1.0b6f2199f585dp-1 +-0x1.a5b24e12c12d4p+1 +0x1.8f9b31e7901fep-1 +0x1.3f1eed0029f6bp+0 +-0x1.79bb443b4eadep-6 +0x1.405df0d73ed41p+0 +0x1.7810fe8736698p+0 +0x1.59039de6db6f5p+0 +-0x1.533b7d6f0b6d9p-1 +-0x1.847b9b9724aecp+0 +0x1.90b913592293p+0 +0x1.0f69311ef4321p+0 +-0x1.7e3a5ab032d3fp-1 +0x1.0a82d107c99e6p+0 +0x1.7dae4a58dc425p-3 +0x1.fa8bb34544995p-2 +0x1.2ae800ff7859ep-4 +-0x1.a4ebb42664509p-1 +0x1.334a7b3b9079p-1 +0x1.8ca71903ee2c6p+0 +0x1.482d30411e283p-3 +-0x1.30929e5c373afp-1 +-0x1.80e35ef1ddd1cp-1 +0x1.03de4f29aff05p+1 +0x1.d4c766c560fe2p-13 +0x1.138c14bbb535fp+1 +0x1.7f977d5fbb75ep-2 +-0x1.0d82df5123a9p-2 +0x1.8771f6a03a6c8p-2 +-0x1.a59fc737d5559p-1 +-0x1.5acebe13f11f2p+1 +0x1.943dbd4ff2cdbp-1 +-0x1.6b5f6879ec61fp-2 +-0x1.116521d4a3d8cp-1 +0x1.a468ebf0357cbp-5 +-0x1.4413d5ee9f75cp-4 +0x1.b61754ae0c6dbp-1 +-0x1.3d363813cc4bfp+1 +0x1.307a9ff77cb2ep-1 +-0x1.f0e5671c3f121p-2 +-0x1.2c479457e9901p-1 +-0x1.b2cdd85777a17p-1 +0x1.a5a8cea93441cp-1 +0x1.012dd5417ebabp-1 +-0x1.498eb3f0bf3b5p-1 +0x1.9b817a66f1ep-3 +0x1.d8ca5b2cc83e3p-1 +-0x1.a4ad2f1d303ebp-1 +0x1.e40b96b32e14cp-4 +-0x1.6330bd8e98ee5p+0 +0x1.af60dfb24d146p-1 +-0x1.3cc6919e04d7fp+0 +0x1.138621dd3ee7bp-2 +-0x1.0584f7f7702bcp-2 +0x1.1d624564810eep-1 +0x1.d5e8c33252f5bp-1 +-0x1.e79711bed5f0dp-1 +0x1.ad973178b1426p-1 +0x1.9697c6ba07269p-1 +-0x1.e3f9c8732e0b1p-6 +-0x1.2313c7c0f12d1p+0 +-0x1.dea8cfcd209e8p-3 +0x1.4ec636bf19b65p+0 +-0x1.5f8228514bf1p-1 +-0x1.e8ac199e70757p-3 +0x1.1d46793e9bc24p-2 +-0x1.9bd877905a45dp-5 +0x1.1f0e932aa1f75p+0 +-0x1.8da4c38735d1dp-1 +-0x1.1bd46912e03d1p+1 +-0x1.9cbb3581dd141p-2 +0x1.764c244b1fbd4p-1 +-0x1.804129f83c132p+0 +0x1.50b8fdace7555p-1 +-0x1.2b2423ea8e68ap-2 +-0x1.3927d950b678cp-6 +-0x1.fc76e9cb416dcp-1 +0x1.8404e50aa6706p-3 +-0x1.62dd116f737cap-4 +0x1.85ad4467fad4bp-2 +-0x1.4829ea2a011ddp-5 +0x1.454407b7b7436p-1 +-0x1.817e4aca94532p-1 +-0x1.41fe3c74f27bep-1 +-0x1.87ea268053578p-1 +0x1.49d825e0468efp-2 +0x1.94c503adb4006p-4 +-0x1.936702f764919p-6 +-0x1.5e0853f89b32cp+0 +0x1.7526e455cfdbbp-1 +0x1.3c73d327cd48bp-1 +-0x1.44c8d837b29a1p-1 +0x1.aa17b59627509p+0 +-0x1.abbbf47e732f2p-2 +-0x1.935e2bc1cbeep-1 +0x1.fbf9979b2d0f4p+0 +-0x1.460f65c411d4dp-1 +0x1.99d664784b077p-2 +-0x1.9ad50578ec066p+0 +0x1.65a630bae65f1p-5 +-0x1.4761ae057867p-1 +0x1.5c25b7a3b86c2p-2 +0x1.75acf69793aaap+0 +-0x1.030ebc93315eap-1 +0x1.638e1deadeb17p+0 +0x1.7a1329148d092p-2 +-0x1.6ad65c0b2c245p-2 +-0x1.8b3d6bf9c738p-2 +-0x1.42b03fb911a6dp-2 +-0x1.7c9dfd892282cp-1 +-0x1.4cfbf80963feep-1 +-0x1.2efc81228d25bp+1 +0x1.b9edf9e537835p+0 +0x1.e9b59c411035bp+0 +0x1.68ff7b5b723c9p+0 +0x1.f863ad7b8b45fp-2 +-0x1.276971410e109p-2 +-0x1.b80c5e6a003fep-1 +-0x1.1d73ed291042cp-2 +0x1.1d386d2fd05fcp+1 +-0x1.15e4f32e4a988p-1 +-0x1.5f5f7c2005e5cp-1 +-0x1.b65886bde724fp+0 +-0x1.e62d7e4f2ca86p-1 +-0x1.c97e7a882473p-1 +0x1.06a988b531ee4p+0 +0x1.e77977b8a24f8p-1 +-0x1.35eb76ff60099p+0 +0x1.f16c058419fcep-2 +-0x1.c2e0b70da69f8p-2 +-0x1.c2e981a028fadp-3 +0x1.d50fef3819d9ap-4 +0x1.007b53c1185c4p-1 +-0x1.d7f8b998ae332p-3 +0x1.1e4003db8fb25p-1 +0x1.cf7be185bcb6ep-3 +-0x1.edec2941d3352p-1 +0x1.2787ee2e37515p-1 +-0x1.cc1f60297488bp-1 +0x1.c54666f50359fp+0 +0x1.c928236f8eccap-1 +0x1.17e182e55004cp-2 +-0x1.38320426966bfp+1 +-0x1.23fce40339614p-2 +-0x1.17b1cc8a06676p+0 +-0x1.5bafd28e8555ep+0 +-0x1.257704869c35p-1 +0x1.a2fd4088af239p-2 +-0x1.21a3c269b219p-2 +0x1.8d04fd46b222fp-4 +-0x1.674db72d67337p-1 +0x1.74be2914f06f8p+0 +0x1.883d9f31cac0dp+0 +-0x1.cbf05f27a32e7p-6 +-0x1.b69ba86752555p-3 +0x1.2e6c550b652ecp+1 +0x1.911ead184ce73p-1 +0x1.f58ab54620487p-2 +0x1.6b1ecd10a0655p+0 +-0x1.91bbfc4618d2dp-1 +0x1.e99e7a237977bp+0 +-0x1.3c7abe936e8c6p-1 +-0x1.8155945219cddp-1 +0x1.0538f059db14fp-5 +-0x1.d823ec71c5517p-1 +0x1.a7811eceac387p-1 +-0x1.37a6059e2e06ep+0 +-0x1.14bb9e44957f4p-2 +0x1.2298d6092512cp-3 +0x1.5d9d619500a72p-1 +0x1.985deed076b0ap-1 +-0x1.0b836aa598b3bp-1 +-0x1.e1af80d40b7a2p+0 +-0x1.a0a2902844a56p-1 +0x1.5ed4c68b9a0e2p+0 +-0x1.4f571fde7a502p-1 +0x1.880169a8f90b9p+0 +0x1.ce82e7c8cc62ep-1 +0x1.7868e81af2fbbp+0 +-0x1.8259681e6bf3bp-1 +-0x1.2dfec1f21f17dp-2 +0x1.86b9d349f1f7ap-1 +0x1.b2fe346f299f7p+0 +-0x1.b9a9d62c39d7ap-4 +0x1.048f2e5a2ee22p-6 +-0x1.cdb44cb109cbfp-1 +-0x1.40301ef2451e8p-4 +-0x1.6cb2e1d010d6cp-2 +-0x1.625cce8b1d24ep-1 +-0x1.bdaf8a4fb4176p+0 +-0x1.4987d79247be9p-1 +0x1.59c56f347cb8fp-1 +-0x1.77e1d67d5cf93p-2 +-0x1.6b0ae4ccc749p-2 +-0x1.542d83c758a2dp+0 +0x1.489b39a9be0c3p-1 +-0x1.0f8eb13c017afp+0 +0x1.1e19852fd3afp-2 +0x1.46ab056e23ee6p-2 +-0x1.d95bf17c22d4ep-1 +0x1.491ba51228373p+0 +-0x1.47e0249221c91p+0 +0x1.2c4401fc369b3p+1 +0x1.736228688cd9fp+0 +0x1.aed0eef6bca7ap-1 +0x1.f01eb78f1c947p+0 +0x1.e8ceaaf1d61f4p-5 +-0x1.6b73148d129f2p+0 +-0x1.9d3b50c5fccaep-1 +-0x1.307199d581bfep-2 +0x1.0f902581cdeecp-2 +-0x1.031e03229c7dap+0 +-0x1.077e4afd485ecp+0 +-0x1.f5757f88443d5p+0 +0x1.697cdcedd386p-3 +-0x1.65d80c954f8dfp-2 +-0x1.2d790bf71cdf5p-1 +-0x1.72e499d922a73p-1 +-0x1.3e615f76b8d66p-1 +-0x1.1609e466783a9p+0 +-0x1.b5736133f5178p-3 +-0x1.8fcda61ef5422p-3 +0x1.6bf0a413b4227p-1 +0x1.ad48c26abc31bp-2 +-0x1.89035760cc5d4p+0 +-0x1.cdc0fec1e70a2p-4 +-0x1.3a55749d25773p-1 +-0x1.e90699ae80818p-3 +-0x1.b916e76fe9e14p+0 +-0x1.ec6557bc89b42p-7 +0x1.ddb0a96717855p+1 +-0x1.f96ce82f9a23ap+0 +-0x1.f7c0e59ea98cbp-3 +0x1.8c0b4333e757bp-2 +-0x1.6ff71534123ddp-1 +0x1.63c99aae1f926p+0 +0x1.e9c515481ac6p-7 +-0x1.2015fdadbe2dap+1 +-0x1.8da669ffe6478p-4 +-0x1.159efd82250bp+0 +-0x1.1a5f287427336p-1 +-0x1.af5ae1b53176dp-1 +-0x1.6c15ffe994f45p-2 +-0x1.079bbda12c0ddp-1 +-0x1.6a98d3e71972dp-1 +0x1.09ea738050476p-1 +0x1.ecfe0b6ad313p-2 +0x1.f8472c0d8233fp-2 +0x1.a4ef60e8d4b68p-2 +-0x1.81239f23394e7p-1 +0x1.5387fc6c4af86p-1 +-0x1.80dc1ca4a928bp-1 +0x1.50ab5ca3ea361p-2 +0x1.26c3199b6b969p-1 +-0x1.524fd49a02b4dp-3 +0x1.44580cdfe28b4p-1 +0x1.bcf5e5773b864p-1 +-0x1.ec2f51ca5af3bp-1 +-0x1.d881ce2ed8b85p-4 +0x1.5588c6aa8d88dp+0 +0x1.7493a11ae92f3p+0 +-0x1.228f88018b8a6p-5 +-0x1.4fea718f01536p-4 +0x1.59f8ca7f88282p-5 +0x1.cbdcf49250f0dp-4 +0x1.2fadeb1a0a155p-1 +0x1.f92abc9df294fp-1 +-0x1.a8b95ed78f2f1p-2 +-0x1.83ff63ccd829dp-1 +0x1.de453ec5656f7p-3 +-0x1.70b985d772324p-1 +0x1.da1c68b1e52a8p+0 +0x1.21b5b351f7031p+0 +0x1.d21279e0fc85ap+0 +0x1.83719c6502f7bp-1 +-0x1.a4349c6c28813p-1 +0x1.b878b8dea066dp+0 +0x1.6a370d48dd1c2p-2 +-0x1.118e53475e617p+0 +-0x1.3df8b525efb55p-2 +0x1.8a50137aad3a1p+0 +0x1.9f5efea2b8949p-2 +0x1.8bdbe25c8524p-4 +0x1.9a65a34f42815p-1 +-0x1.7f250f8677549p-2 +-0x1.3b1f20fce5035p-1 +-0x1.345fb24859892p-2 +-0x1.75771df423c34p-2 +-0x1.911e4adad7fafp+0 +-0x1.ec1425f94a20ep-3 +0x1.c4f345511c799p+0 +-0x1.4b57df27e2e16p-1 +0x1.ffb66f39f050ep-1 +-0x1.01df0e2e1370ap-1 +-0x1.15df9373eb255p+0 +-0x1.a170f6275370cp-1 +-0x1.d992df955bd78p-3 +-0x1.2baf74b4af21dp-1 +0x1.a851867b7bec4p-2 +0x1.abcea7391c221p-2 +0x1.ab7cbadc985d2p+0 +0x1.42e6993b29453p-3 +-0x1.9d0814a6f5355p+0 +-0x1.0b9937ed5dfdbp-1 +-0x1.6b8dbb68acfe8p-4 +-0x1.b699f07b3e6afp-6 +0x1.bb03a45c278c5p-2 +0x1.2fb4ae9f919aep-1 +0x1.03cfa4f8455d4p+1 +-0x1.abf1b8deb489bp-4 +0x1.6139768ab5a8ap+1 +0x1.dd26183cd036p-1 +0x1.2750767d3e886p-2 +-0x1.84c575669a912p-7 +0x1.7042a2d1aca1fp-3 +0x1.c82e9181f6fd2p-2 +-0x1.a57da927cfc94p-2 +0x1.66a4dea06db8ep+0 +0x1.c6a3991cf0e3bp-5 +0x1.29cfbc67c29e1p+0 +0x1.89c30998f7df7p-2 +-0x1.762f1d6d9e00ap-1 +0x1.bfb28f77e3cdap+0 +0x1.8229eba6897e4p-4 +0x1.fab965093334ep-3 +0x1.88906093f6f04p+0 +-0x1.db54dc9532723p-1 +-0x1.21161a538052dp-2 +0x1.6df6d1ac551fcp+0 +0x1.0259a7aea2fccp-2 +0x1.7c3ad6be59623p+0 +0x1.6422f775e1093p-4 +0x1.9b091f364ac5fp-3 +-0x1.ac1dc32b93a3dp-1 +-0x1.70ed1242b15ccp-1 +-0x1.25d4f9e7e27a2p+1 +0x1.5d7ff0337fb2ap+0 +0x1.9a3d97b4c6118p+0 +-0x1.ff1aa5da543bap-1 +0x1.a7281131d4703p-5 +-0x1.eba0bf59937c5p+0 +0x1.a5e5f6b6ddd88p-2 +-0x1.7288a0a98efa4p-1 +-0x1.8935c9fdc3c05p-1 +-0x1.2a829bbcb2cbap+0 +-0x1.48ebdcb83f7e7p-1 +0x1.5419fc820b9a9p+0 +-0x1.50327d1d01e1cp-1 +0x1.5e3d5ca372cd8p-1 +0x1.0d9ddaeda3c4cp+1 +0x1.82002edebb429p-7 +-0x1.812469be3e86dp-2 +0x1.1ded0123d4cc8p+0 +-0x1.f34346b7b219ap-3 +0x1.61f2055687765p+0 +0x1.39cca64743a75p-2 +-0x1.8a8c7a3787394p-4 +-0x1.e29c8718a1038p-2 +0x1.361953a7a22f5p-2 +0x1.17da7b2ab71d9p-1 +0x1.18ca0f33001p-5 +-0x1.6b72879fb1d94p-1 +0x1.56ccbdbc476dbp-6 +0x1.73c6412270476p-4 +0x1.87c68be809854p-1 +0x1.d69c54d0ae8efp-1 +-0x1.726e5386cbf5ep-1 +0x1.4db07670f6b3ap-1 +-0x1.43661ca814c54p+1 +-0x1.0a6bca180b2cbp+0 +-0x1.27820f879c184p+0 +0x1.ca9d5c5bfe4f2p-5 +0x1.290ac30cdc193p-4 +0x1.f61eb949b18d3p+0 +-0x1.1584d05d0a96ap-1 +0x1.0b8bf2229fe88p+0 +-0x1.51998f4724bcfp-1 +-0x1.e423049782947p-1 +0x1.e7b494d60d128p-2 +0x1.0c48212f9d7d5p-6 +-0x1.165632366a642p-5 +0x1.f02bc2261e6p-3 +0x1.35c695c54324cp-1 +0x1.da738a1ef263ap-4 +0x1.8e148329ce957p-1 +-0x1.23fb1e71b470dp+0 +-0x1.917d253d56628p-5 +0x1.a732ce8745798p+1 +-0x1.d5274779de14fp+0 +-0x1.6140d1bcfa57ap+0 +0x1.d8ab79716e0f7p-1 +0x1.69a984068e617p-3 +-0x1.b993494c289a7p-3 +-0x1.b84750ff20e86p-1 +0x1.48c177c8aca89p-1 +-0x1.445f818422a59p+0 +-0x1.4122d8dea6a43p+0 +-0x1.f0fc999efb4aap-2 +-0x1.15642cc3c862ap+0 +-0x1.276fb26de60e9p-2 +0x1.1ec51bc9a97bap-2 +0x1.3d61d3a09b77fp-1 +0x1.f9cd816fd14fep-1 +0x1.cef99ebfe42b3p+0 +-0x1.bd5bba461b12cp-1 +0x1.416067dd0409fp+0 +0x1.1502592e972a1p+0 +-0x1.934af108629a1p+0 +0x1.e2761e34d6f1p+0 +0x1.c5012d584de9fp-1 +-0x1.77978719926fep-1 +-0x1.1d26cb45855bcp-1 +-0x1.eb282fdc323b2p-3 +0x1.52afae14db662p-2 +-0x1.c882616c0724ep-1 +0x1.fd0406443607fp+0 +-0x1.3ac283c5bcf6fp+0 +0x1.ba5eed72a9ddp-2 +0x1.69e161b1c4069p-2 +-0x1.6d72c573c240ap-1 +0x1.bbf7f991509bp-1 +0x1.82e235c879fcap-8 +0x1.2d96702365145p-1 +0x1.215bea1d8d972p-1 +-0x1.7997172e853bfp+0 +0x1.068b73372dfccp+1 +0x1.2b76bc19872a5p-1 +0x1.e87f010895ff8p-2 +-0x1.66b791a63137ap+0 +0x1.380f5b2505ad7p-8 +0x1.365817673d7f7p-2 +-0x1.67eaed7f37d86p-2 +-0x1.09e25af5d71aep+1 +-0x1.2241b2dd69a7p-1 +-0x1.6e04df20ee7f6p-1 +-0x1.ccf2130beb5a8p+1 +0x1.09d20376a99dap-1 +0x1.d0ade40208be6p-1 +0x1.78507db603478p-2 +0x1.5fdd6ff3a3c16p-2 +-0x1.a40adcf265112p-1 +-0x1.9a4965d24107ap-2 +-0x1.0087030c13e29p-3 +-0x1.9050f6f41c4ddp-2 +0x1.9010a2e637bc7p-1 +0x1.113376a83e2c6p-1 +0x1.4a4de4a4f3f5p-1 +-0x1.51fcce431742p-1 +0x1.6282901a8acecp+0 +0x1.23e98aa78fdb5p+1 +0x1.901b0800bc9dfp-4 +0x1.ab8c84d120068p+0 +0x1.b718fd15121bap+0 +-0x1.da5b2139183c6p-2 +0x1.204095599060ep-2 +-0x1.779b54f02edc9p+0 +0x1.e8f9f2f3a2714p-1 +-0x1.20ab35abb8787p-1 +-0x1.04970708d0fe5p+0 +-0x1.29b567146b4e8p-1 +-0x1.d35c076e911bp-3 +-0x1.aca8dd766452ap+0 +0x1.50a41f3b44575p-1 +0x1.dbbcc5a5d0df9p-1 +0x1.2c63a0d55602bp-1 +0x1.ff52828b187e8p-4 +-0x1.27ad28fb498b1p-9 +-0x1.63b807193b23dp+1 +0x1.f0119929f101fp-2 +-0x1.43fe26caa94e4p-1 +-0x1.0cfe307425a53p+0 +-0x1.61f8fd45862b2p-1 +0x1.ce5dc065eb64dp-1 +-0x1.259498e967c88p+0 +0x1.ffa1bcc97ea3ep-1 +-0x1.c801293111172p-1 +-0x1.1e7d796eeaec5p+0 +-0x1.2f748cfbc86e7p-1 +0x1.3e88e2104eb8fp-5 +0x1.8f8bc03ea8a77p+0 +-0x1.1cff7307d5862p+1 +0x1.33c240e05d236p-1 +-0x1.f3fd37550fb15p-1 +0x1.5460460453fe5p+0 +-0x1.13ae63d5081bdp-1 +0x1.c8a557e518029p-1 +0x1.a6e45f4e9a6b6p-3 +0x1.07ed1a2a897adp+1 +-0x1.506a3eae5524cp-3 +-0x1.5e7ca85f0362cp-1 +-0x1.e68c399dd7828p+0 +0x1.d7c9f445e5a24p-3 +0x1.ee68d40735504p-3 +-0x1.52875d7fd4576p+0 +-0x1.d91c369f9388bp+0 +0x1.2b72db14cc6f6p+1 +0x1.d0c789fca360bp-2 +0x1.97c690165469dp+0 +0x1.67d404afb5792p+0 +-0x1.b4cdb39547973p-4 +-0x1.ed74867a6604dp-2 +0x1.5adacd4f6b1d7p+0 +0x1.7fdec551fc6dp-1 +0x1.9f462dff9efa5p-3 +-0x1.fdf4e38d3f18dp-3 +-0x1.b7c4b7dbb18a8p-1 +0x1.0e3b079e53d7bp-1 +-0x1.5d2e083cdb2ap+0 +0x1.0cc27d64a7d43p-2 +-0x1.37e81213f4e0fp-2 +-0x1.5a43d413f83bap-1 +-0x1.314f136d93effp-2 +0x1.064053ce7a0afp+0 +0x1.0d29210c02d7bp-2 +-0x1.a6260c58046edp+0 +0x1.c090bdd3a536fp-2 +0x1.8c59cb4a3224p+0 +-0x1.797c7dad0012fp+0 +-0x1.495eff731233cp-2 +-0x1.6be96aab931d8p+1 +-0x1.7ace45bdacdf7p-3 +0x1.5e57461216e1bp-4 +0x1.99a99694f9534p-1 +-0x1.64f4d39d571f8p-2 +0x1.5b2ce91d1aef2p-3 +-0x1.afae6b5b46062p-5 +0x1.1479c5777cd36p+2 +0x1.76212d58b40c7p-3 +0x1.1e35a985b8e18p-2 +-0x1.2d2b34d13b5f9p-2 +-0x1.74477a02ec0bdp-2 +-0x1.da68da140e825p-1 +-0x1.c28a73a3106bep+0 +-0x1.cf020fc31ed3fp+0 +-0x1.7275f98572478p-2 +-0x1.83d0b79f6303cp-1 +0x1.22e357de490cfp-3 +0x1.1d1dbc833ad22p-1 +0x1.b4bc73f74859ap-1 +0x1.686b4b854b64cp+0 +0x1.fbb52a400d89cp+0 +-0x1.cc7f9c85bde7ep-2 +0x1.b6b477f201c6ep-1 +0x1.0ebfba0a114c5p-1 +-0x1.e6ace16a7299cp-4 +-0x1.d104471f5d95dp-1 +-0x1.e19500ec9b6cep-7 +-0x1.70f295be4a514p+1 +0x1.f83b5b8adb452p-1 +0x1.281cb65ca320ap+0 +-0x1.ff1218cd72c29p-3 +0x1.3b72435a84809p-1 +0x1.7faa65769570ep-1 +-0x1.a4da56f324ec8p+0 +0x1.372832227ffc9p-2 +-0x1.ae39635528ddp-1 +-0x1.ddcde5b4fb11bp-3 +-0x1.0670b45312f0dp-3 +0x1.fb5febc89cd42p-3 +0x1.a307fce6d123p-2 +-0x1.404de256223b2p+0 +0x1.144152cb79ec1p+0 +-0x1.f58740badc67p-3 +-0x1.c07b0dabdd81fp-3 +0x1.404e7275ef5fep-2 +0x1.870e0080594c6p+0 +-0x1.e37d0e1e669ep-1 +-0x1.4b5ae5988b046p-1 +0x1.70267658dba4cp+0 +-0x1.7a7aa866184a1p-2 +-0x1.18feedff8e9e1p+0 +-0x1.37295400e0b66p+0 +-0x1.63ed3cee44c3p+0 +0x1.ecf1262c6256fp-3 +-0x1.1064e5d40fbaap+1 +-0x1.a27bde8e83542p-1 +-0x1.37ed4bf644953p-3 +0x1.0247350b588fp-1 +-0x1.09dd6dd365836p+0 +-0x1.36aa071aeee3ap-4 +-0x1.7caf6d8ba4423p-3 +0x1.52874ff294ab8p-2 +0x1.708585ed461c7p-2 +0x1.b81519abfe448p-1 +0x1.960ca3aca2da9p-4 +-0x1.9247d4bed09dfp+0 +-0x1.1b38eef8322bap-2 +-0x1.0ed320667957ep+0 +0x1.618874e4163c5p-1 +-0x1.a302494cc971bp-3 +0x1.375f6da901a1bp-3 +-0x1.385561329fbd9p-3 +0x1.d85a863473592p-1 +-0x1.8dfcc7a19fa06p-4 +0x1.5f9874c3e9c04p-1 +0x1.b10ecf4a5ae09p-1 +0x1.22a60403cf9edp-1 +-0x1.611f37f57d103p-1 +-0x1.0d5821620c591p-2 +-0x1.78931e76da172p-2 +0x1.42a0cb1723dd8p+0 +0x1.0cdd8dffcc714p-1 +0x1.583e81ad1f894p-1 +-0x1.8dddfe6b1db1ep-5 +-0x1.279f4aba250b2p-3 +-0x1.1c8f3a3197523p-3 +0x1.f8279ff8d44e8p-1 +0x1.7eb0586f1e212p+0 +0x1.a0f7088408588p-1 +0x1.10a960acbb03ep-2 +0x1.058270b943164p-1 +0x1.8a113c5edea79p+0 +-0x1.3089f26b16c03p+1 +0x1.4d41a44153273p-2 +0x1.b1467355d45e8p-1 +-0x1.d7c6f58419c5cp-2 +0x1.66b6af034f9ddp-1 +-0x1.7d4c8535032bep-2 +0x1.fcdc6cacad5ecp-3 +-0x1.9741ac11fd8p-1 +-0x1.d36ffdd1421ddp-3 +0x1.b1a5e683d04cbp-1 +0x1.b3389a7d7531ep-1 +0x1.3db3786b871ffp-2 +-0x1.93fbc2d3d6065p-2 +0x1.61b4044ca5525p-1 +-0x1.859fc80ce8dd2p-5 +0x1.2554e3266dfd4p+0 +-0x1.bc3e98be64526p+0 +0x1.aaa83f1f88352p-2 +-0x1.a8e66443f670cp-5 +0x1.9efa872648f64p-1 +-0x1.234ae4a25b79dp+0 +-0x1.0721d88335cc7p-3 +-0x1.220a9569b1afbp-2 +0x1.be0bafa87bc98p-1 +0x1.45caa702677e9p-1 +0x1.525a58f38f698p-2 +-0x1.2a1b7c49eb37ep+1 +0x1.ed03613ab2d9ap+1 +0x1.567fa18ac29e7p-1 +0x1.7ecaeab8cbb91p-1 +0x1.d38e3004c61a4p+0 +-0x1.0258edf801a3fp+0 +-0x1.343e0be99de54p-7 +-0x1.0461c2da75ca5p-1 +-0x1.c31b2ce23198ap-1 +0x1.8ed03412d6defp+0 +-0x1.63b9deed010d8p+0 +0x1.e92aca60286a3p-1 +-0x1.31b566d1b2051p+1 +0x1.1cc31c406d884p-3 +0x1.653507d0fae44p+0 +-0x1.0ca9fa4e5ea14p+0 +0x1.129462de1af61p-2 +0x1.4abc60556d266p+0 +0x1.7ab9618aa7b9ap+0 +-0x1.4229532e11028p-2 +0x1.0473c74a65923p-4 +-0x1.4ec5527bb6b1p-2 +-0x1.489c9c3257ffbp-4 +-0x1.8605a7ea9f68ep-1 +0x1.0b9704fd80065p-3 +0x1.af4e5e8e21aabp+0 +-0x1.7048849aad75dp-1 +0x1.0d834d061d13ep+0 +0x1.1a3fd319de2d8p-1 +-0x1.c9acb3cf84b5ap+0 +0x1.2cd3804cfa77bp-2 +-0x1.13feec13f7a1ep+0 +-0x1.44a39e2790977p+0 +-0x1.43dc50a87bef6p-2 +-0x1.95c0223f3e118p-1 +-0x1.e9d0bba5162abp-1 +0x1.9301d511e78c1p-2 +0x1.2cf2cb1c57f41p+0 +-0x1.5b04698bbb1a7p+0 +0x1.c4399e14bbcffp-1 +-0x1.a99eb5ebf5264p+0 +-0x1.a6000d9eee0c7p+0 +-0x1.8c4bdb52630b4p+0 +-0x1.96e438636db92p+0 +-0x1.3793009205cb6p-4 +0x1.78aacc3ecdfddp-1 +0x1.ffaddddffd222p-1 +0x1.16e60604c9814p+0 +0x1.13f31a840b543p-3 +-0x1.b1a470df782ffp-1 +-0x1.d6358578aeaadp-1 +-0x1.387aa415ad2e3p+0 +-0x1.83870844e524dp-1 +0x1.37444d56dfa27p-2 +0x1.1735afb03ea2fp+1 +0x1.01f3aac128032p-3 +0x1.684ed9d43ce98p-2 +-0x1.1faa73c539267p-1 +0x1.35badc4b94a55p-1 +0x1.fe74074beb41ap+0 +-0x1.128efadfd55e5p+0 +-0x1.2d1e06641d4b5p+0 +-0x1.8035cd3e7742cp-4 +-0x1.36a9e91df62c3p+0 +-0x1.9b107f419c584p-3 +-0x1.85e021f095f01p-6 +-0x1.5f96df191eb35p+1 +0x1.4b81b4301ff9bp+0 +-0x1.27f867c4a1876p+0 +-0x1.e34f3f8de9e93p-1 +0x1.3ff1982a8c1a3p-2 +-0x1.acfc0f7d4df3bp-2 +0x1.563f3d6f14e47p-1 +-0x1.32c9dc7c84217p+1 +-0x1.89e31cfb71654p-2 +0x1.a9cb811e2636fp-2 +0x1.66683e6e79191p+0 +-0x1.dcf29ecba2ec9p+0 +0x1.18a91dc757d1cp+1 +0x1.41b4643a6e992p+0 +-0x1.6b431877fb402p+0 +0x1.0e5ad74b26404p-1 +0x1.82de4a767021p-2 +0x1.12126a1ca8613p+1 +-0x1.588a5f65fe3b4p+0 +-0x1.56bb13e4c4ae6p-2 +-0x1.c2d0fd0923fbfp+0 +0x1.c91e8b10a5533p-7 +-0x1.f9b58d1ae36e4p-4 +-0x1.01b17727843d9p-2 +0x1.30f175c55fc16p-2 +0x1.96488992e5355p-2 +0x1.9ee1502eccb25p-4 +0x1.2b7cd87d8575fp-1 +0x1.335e7097d77cbp+0 +0x1.32db26973797p-1 +0x1.49e461c1e1bdap-1 +0x1.809e28859e0a5p+0 +0x1.b281c98df2671p-2 +-0x1.ef3af6c6c31b3p-1 +-0x1.92b6e58d80c3fp+0 +0x1.d4835b65ced48p-1 +-0x1.981004f6214f3p-4 +-0x1.96ce7df738056p-1 +0x1.c37f9aa20fd13p-2 +-0x1.96930ce3c46fap-1 +0x1.a434fcf038beep-2 +-0x1.7b13e32ea485bp-1 +0x1.b66e3aa220ca7p-3 +-0x1.3157d8e3da2f8p+0 +0x1.027d8759c3f59p-2 +-0x1.acd3e4897fdap+0 +-0x1.c350826649b6dp-3 +-0x1.23d8a034ba3eep+0 +-0x1.3e11a7c15725fp-2 +0x1.2ae06cdf11218p+0 +0x1.8236fc55fa007p-6 +0x1.90815eba85c32p+0 +-0x1.a8db406cfc925p-3 +-0x1.29758696f7f4fp+0 +-0x1.952cb3e54afadp+0 +-0x1.a20518c61bc01p-1 +-0x1.cf28a5bfdbacap-1 +0x1.931bf09323ebcp-1 +0x1.f89f56add218ap-2 +-0x1.9ce85d13df788p-2 +-0x1.4292c1163e569p+0 +-0x1.2b7d1b77746cep-1 +-0x1.8d138f089cb57p-1 +0x1.e9278c18affb3p-1 +0x1.9425430667adcp+0 +-0x1.1df8cd3a20e3dp+0 +-0x1.31ce008c00358p-4 +0x1.a7065ef00e1ffp+0 +0x1.b70b1c1c89729p+0 +0x1.930bc47bb8188p-1 +-0x1.2f167de5cdea1p+0 +-0x1.5f557210f0787p-1 +-0x1.01fae373eadffp-3 +0x1.b78b3f6d22097p-1 +0x1.d7a04db2ea56p-1 +0x1.f2be0a10bd434p-3 +0x1.4a4c52737001ap-1 +0x1.0b3c195c20e8bp-3 +-0x1.8c5f16b22855ep-1 +0x1.3b31b372759b7p+0 +-0x1.61f20e1994293p+0 +-0x1.b3556f80c18aap+0 +-0x1.3da99efc32593p-1 +0x1.f9e9b1a9d8d76p+0 +-0x1.e29a437562d99p-1 +-0x1.cb80f8f1873e2p-2 +0x1.d2e7e86f12082p-4 +-0x1.5e774a8943ae7p-2 +-0x1.b0789f1a65acap-1 +0x1.7df532f52cc1dp+0 +-0x1.20e83ae34ed46p+0 +-0x1.2ece3c3ec6664p-1 +-0x1.b8dcfa5fbf818p-4 +-0x1.a820ea389ac6fp-1 +0x1.7b9753412f6e2p-1 +0x1.0be081f0e1e67p-1 +0x1.a7411648d101ap-1 +-0x1.6a6fdd9b90682p-4 +-0x1.cfc8ec787bd4dp-2 +0x1.3ae58f4246f86p+0 +0x1.19aee6c68791dp+1 +0x1.cb41729f3e736p-4 +0x1.a2bc9dcd1e467p-3 +-0x1.153a4fd79110dp+0 +-0x1.e32cd1de75aeep-1 +0x1.cd10432db446ep-4 +0x1.0fb76c74ad7bcp-2 +0x1.4bfd49768d6c7p+0 +0x1.8065368a8c428p-1 +0x1.9579f6463b22bp-1 +0x1.3648ffafc92c3p-2 +0x1.a0c47a5fc93c6p-8 +-0x1.098030e3bdc44p-1 +0x1.84fb0df3d135ep-1 +-0x1.8554623efc182p+0 +0x1.15962483804c5p+1 +-0x1.8df533f543abap-2 +0x1.8cd24f4465bf6p-2 +-0x1.e7ad745390a86p+0 +0x1.e6229de2d08d2p-5 +0x1.bccca2f589181p-2 +-0x1.8e288e1a61ee3p-1 +0x1.c2aa6042cc4f2p-3 +0x1.ff0a0b216808dp-1 +-0x1.ddb1ebaddda37p-2 +-0x1.3e547677d2c41p+0 +0x1.858157703b673p+0 +0x1.d178dc87fb39p-1 +0x1.9197f0d053534p-1 +0x1.f12d869443df1p-1 +0x1.0ee4fa91d23b3p+0 +-0x1.0bec1161ae20bp+0 +-0x1.c3b201bd982f3p-2 +-0x1.40665a584411bp+0 +0x1.5ca6980e53b25p-1 +0x1.0886c51b9980ap+0 +-0x1.6ce43df954b1ap+0 +0x1.0d0445a428c4ap+0 +-0x1.3cdd410cf295fp+0 +-0x1.98ab951adfc1ep-3 +0x1.67118b280f43fp-2 +-0x1.6381cfc1a7fd9p-2 +0x1.a6ecb3aef92c3p-1 +-0x1.9515b6440ae85p+0 +-0x1.3a802180d8c38p-1 +0x1.46c216f166babp+0 +0x1.e89f14de3abdcp-2 +-0x1.0b75a703206b5p-4 +0x1.4109f34eca6cfp+0 +-0x1.a50c03a36fff2p+0 +-0x1.3d512380f7bc8p+1 +-0x1.61350b7c3dbbp+0 +-0x1.4bef893304159p-1 +0x1.77981e69716c6p-3 +-0x1.f701b74210786p-3 +0x1.ab815c885035fp+0 +-0x1.cf59e95b10a65p-1 +0x1.8ee6dc793727fp-2 +0x1.8ec04b88e9299p-1 +0x1.bbf63740f394ap-1 +-0x1.a3fa37a2e2b1p-2 +-0x1.1af036b14ba26p-2 +0x1.22f5cd1fca077p-1 +-0x1.46a4997b4856dp+0 +-0x1.5d4fdb54e2ed8p+0 +-0x1.f72d2a7eda91fp-1 +-0x1.8bcbb1ddb6962p-9 +0x1.b6ac6902470d7p-2 +-0x1.760220b9f6df6p-2 +-0x1.317764115a924p+0 +0x1.1f9cb1ce1cce5p+0 +0x1.9e1293e476df5p+0 +-0x1.e7d7d12a5dd4fp-1 +-0x1.827b99d9a825fp+1 +0x1.a6ffb58cb5985p-6 +0x1.e6a5d11bab93fp-8 +-0x1.69a5af5d507a9p-4 +0x1.0742d23234f19p+0 +-0x1.9f7bb37d32885p+0 +-0x1.239f28fcb0afp+0 +0x1.21c24452d1427p-1 +0x1.63aca54aadbbbp-1 +0x1.1981bb5c459ddp-2 +0x1.ae3274518c3f1p-1 +-0x1.acc7c26f9439ep-1 +0x1.354474b83682dp+0 +-0x1.01b9ab69e5c85p-1 +0x1.59db0e6e1cd7cp-1 +0x1.1a891301a0aa6p+1 +-0x1.5dab9a5277553p-3 +-0x1.7abbe453f1cc6p-3 +-0x1.f4e5a61534f3ap+0 +-0x1.7e72ee759e153p-1 +-0x1.90f2864b2d9cap-1 +0x1.c2059f0e9165p-1 +0x1.d47af0a008b86p-1 +0x1.adbf8cdf8ec5ep+0 +0x1.6479ca16dca2ep+1 +-0x1.4bf35ff2fa10dp-1 +-0x1.0d0d08f037d69p-1 +-0x1.190849747ae36p+0 +-0x1.dc5e8a1378193p-1 +0x1.1ccaca4197f52p+2 +-0x1.5e4ac306bd5dap+0 +-0x1.53bf26bf39cf9p-1 +0x1.6021132cc5fa9p+0 +0x1.1f2cca10e8847p+0 +0x1.82373ef9b2af3p-2 +0x1.13fdff19abe06p-2 +-0x1.5c89a8597aa57p+0 +-0x1.75a7e3cde7d6bp-1 +0x1.7dbef6e963782p+0 +0x1.2e956304ede21p+0 +-0x1.0a1952a608b0cp+0 +0x1.d5409c022e31cp-1 +-0x1.093fe4d472b8p-1 +0x1.1e6686880eep+1 +0x1.6c025d5de4f27p+0 +-0x1.0cbcf4504f1cp+0 +-0x1.813d0e71aca86p-3 +-0x1.30606fb5012c9p-5 +-0x1.4b5341e2b8ecep+0 +0x1.6032528ee7911p-1 +-0x1.c601e68d6fd3fp+0 +-0x1.cd608a18ee988p-2 +-0x1.fa09ccf1d5531p-1 +-0x1.797292dcd8a68p+0 +-0x1.e755871d80d0bp+0 +-0x1.57cd527e36623p-2 +0x1.b71ae5a6df80dp+0 +-0x1.96ec47cf27c83p-1 +0x1.0e009129436bcp-4 +-0x1.042ca5f3e63cap+0 +0x1.8a318ce0844e6p-2 +-0x1.6a9bda33a34a4p-2 +0x1.c52faf93d6272p-2 +-0x1.376f82b84a51cp+0 +0x1.0698fad96b508p-1 +-0x1.1f6c54d65f837p-1 +-0x1.8094b4312165bp+0 +0x1.4bf1619b9688ep-2 +0x1.f19582b5141a9p+0 +-0x1.1f0c82108dddcp+1 +0x1.6d0a9de3d1192p-2 +-0x1.b4f5eb46c1c0dp+0 +0x1.94ea497a6da1ap-5 +-0x1.dd3e7ccde95fdp-1 +0x1.00c3274ec2061p-1 +-0x1.06b80839acdc7p-3 +0x1.5e68c21fc3c47p+0 +0x1.b57a617c24c7p-1 +0x1.dbb777ecd2fe8p-2 +0x1.f8599d5912f5fp-1 +0x1.a8ce99637fdep-2 +-0x1.1178cc6c41045p+0 +-0x1.16b2621fde5e9p-1 +0x1.4cb3193c14242p-3 +-0x1.2b698b53d3ed1p-1 +-0x1.f1c38372b72c9p+0 +-0x1.9ead7fd515e8dp-3 +-0x1.7f25d213409b4p-1 +-0x1.3ecb54cf217f1p-2 +-0x1.42bd8c75ca1a1p-1 +-0x1.e64af07dc6ef7p+0 +-0x1.8df505efdde4bp-6 +-0x1.7fa6f784cf1bp-2 +0x1.f192dba76a318p-1 +0x1.a23234b4f8c78p+0 +0x1.529f9e235ca8dp-4 +-0x1.25c2424ba38d7p+0 +-0x1.264d33dfac652p+0 +-0x1.ab5a0d648b3f9p-1 +0x1.27c7c89efc754p-3 +0x1.be840d57a7d3dp-2 +0x1.abfd0ae117d33p-1 +0x1.73307b0afc1cp-4 +0x1.a2850e823e2bbp+0 +-0x1.c614b9eecb9fap+0 +0x1.910e203d9f24cp-3 +0x1.cc4adc85133a8p-1 +-0x1.072822fff319p+0 +0x1.6f27040372408p+0 +0x1.1ee3a2633dbf7p+1 +0x1.3689ccc515addp+0 +0x1.d120be1750f82p-6 +-0x1.1fe197e3ff7acp+0 +-0x1.52b1ef6bf3261p+0 +-0x1.ae76580a3fa2dp-2 +-0x1.f114f06135a6ap+0 +0x1.2db693dc79d04p-1 +0x1.c017579cc447ep-3 +0x1.ee9f049ef789ap-1 +-0x1.97d9cac324f57p+0 +-0x1.3aa6e59b8e4f2p-2 +0x1.8f5900b397095p-1 +0x1.21bbe14222678p+0 +0x1.4d2300d306d07p+0 +-0x1.229a22421288bp+0 +-0x1.15d245de0d24fp+0 +-0x1.14ca80f6c7f21p-5 +-0x1.d280147f90d51p+0 +0x1.97ed012468bebp-2 +0x1.2295da95d38bp+0 +0x1.03ef25597dbdbp-1 +0x1.a8e6fe8e0c2f1p-2 +0x1.0a1c3cc49bb6fp+0 +-0x1.f6ca0bd88e38fp-3 +-0x1.45c57fd1010d9p-3 +-0x1.c3de1d196e1b6p-5 +0x1.e727d990df347p-2 +0x1.abe66fcda83c4p-2 +-0x1.8fa34697d969bp+0 +-0x1.70b3456c05701p-2 +-0x1.1d62c028cb85ep+1 +0x1.ac2cbd32ca206p-1 +-0x1.2baea608eee34p-2 +0x1.c74a0bff306b8p-2 +0x1.5ab7632a6f26ap+0 +-0x1.8b71affd301adp-2 +0x1.e5599a8b8cd1ep-4 +-0x1.5f172236c1eeep+1 +0x1.28195507f9c4dp+0 +-0x1.044dbd190da3ep-3 +-0x1.10d37e4d5102dp+0 +-0x1.15c3131754788p-6 +-0x1.c518dcf18236bp-1 +-0x1.73992aff0a5d1p-3 +0x1.a6465a06344abp+0 +0x1.6618c32434ccbp-8 +0x1.01d2e8a3a500ap+0 +0x1.4919b4e276d87p-1 +-0x1.87c7208ec9bc6p-3 +0x1.44da5e7fbc7f6p-9 +0x1.8e16c29571d0ap-1 +0x1.e0c19c809e47fp-2 +0x1.6efdb5caff4a6p-2 +0x1.77a86c33e5e95p+0 +-0x1.9a52b339c19cfp-2 +0x1.2decd2cd9416p+0 +0x1.efa199ef062efp-3 +-0x1.f7faebc197eaep-4 +-0x1.125dbd788c9cap-1 +-0x1.aa25da601877cp-2 +-0x1.0509b5b07db71p+0 +-0x1.0e841e3337126p+1 +0x1.14f309eb6b769p-7 +0x1.8371f68deafc4p+0 +-0x1.a6997c8b3e796p-1 +0x1.d0be99890c6e9p-4 +0x1.7a186fbd1e357p-1 +0x1.5c3bcf78d4d02p+0 +0x1.a8caecb3e7fadp+0 +0x1.4fabaf7e6189cp-3 +0x1.52e960044f204p+0 +0x1.6ef878c1f2b46p-2 +0x1.e6a8c18b02bdap-1 +-0x1.153cd769f58b7p-1 +0x1.7465e23891068p+0 +0x1.19c6a1a74d3e4p-1 +-0x1.6df2363bb36c5p+1 +0x1.72168e15129acp-2 +-0x1.fad951936d185p-2 +-0x1.d3401a99664afp-2 +0x1.1d3854a4dd63cp-1 +0x1.5c0a66217aeedp+0 +-0x1.8183e6ca03bf9p-3 +0x1.e1e5edcac9c11p-3 +-0x1.2c76664058a25p+1 +0x1.31e48e976aa5bp+1 +-0x1.5b84d88d6d8cap-1 +0x1.ac7e36ab5270ep-1 +0x1.171c6cc2580eep-1 +0x1.b3819456344ccp-8 +-0x1.9c0b5679318b7p-1 +-0x1.16cd889ab0c83p-1 +-0x1.5a04d871e7321p+0 +-0x1.0cc51d8fdc638p+1 +-0x1.d5ed576faf2d7p-1 +-0x1.056de1685c7f9p+0 +-0x1.e09561f6f07afp-2 +0x1.0f01966df0ce1p-1 +0x1.7fa3f5c1e2d0fp-1 +0x1.fac5aff615326p-2 +-0x1.f77ae55a39fdcp+0 +-0x1.6f44f4289804fp-2 +-0x1.9d4e517275c6cp+0 +0x1.078cd9e5f8ddep+1 +-0x1.58acb6a23ccabp-2 +-0x1.870639b088223p-1 +0x1.b943566f0562bp-1 +0x1.8637e6afd9338p-1 +-0x1.440ac7df7534ap-1 +0x1.a3a9f4c75bdfdp-2 +-0x1.bf9b0d31fd77p-1 +0x1.657f4c07274eap-3 +-0x1.8f9cb6ef8f5d9p+0 +0x1.1399d879737eap+0 +0x1.a28951ff14a4ap-2 +-0x1.23308d3996291p+0 +-0x1.4c282aeb3391dp-3 +-0x1.d9f85505d3084p-1 +0x1.bf6c8f95b92bap+0 +-0x1.87bd20aebe54ap-2 +-0x1.8ea667525c9c1p+0 +0x1.472382401a8f2p-1 +0x1.924999011c9c8p+0 +0x1.23e2c30e9b519p-1 +-0x1.a9d8f520ecb08p-2 +-0x1.03af799e9b82fp+1 +-0x1.57e603fe4b41bp-2 +0x1.489f051554ca5p+0 +0x1.a3378da301d3dp-1 +0x1.127a2038f4704p+0 +-0x1.0412abc005f4ap+0 +-0x1.c1fab58e51be8p-3 +-0x1.534a358901675p+0 +-0x1.227ee94d806fbp-1 +-0x1.60bafada87854p+0 +-0x1.6c1b4ca75bc6dp-1 +-0x1.e55c2f64efc93p-1 +0x1.0136a1b3a2aeap-4 +-0x1.0ffdf80d90d07p-1 +-0x1.c65760470e8d6p-1 +-0x1.b2896d2a008dap-5 +0x1.574f6ae904203p-3 +0x1.324236a74d2b6p+0 +-0x1.a324414161549p-2 +0x1.9a3899e8b4ba4p+0 +-0x1.1171c9f576983p+0 +0x1.0f7b1d54df251p-1 +-0x1.6c053dd207a6fp-1 +-0x1.9b99b65989247p-2 +0x1.b2a6d71e32934p+0 +0x1.1f2bd5bca0b78p-2 +-0x1.f0cccc8b49969p-1 +-0x1.1732ff38c200cp-1 +-0x1.6b2755c442ff5p-1 +-0x1.187853da32e74p+0 +0x1.a799190ccccfep-2 +0x1.857357305ebd7p-1 +-0x1.0cfed51a5447p-5 +-0x1.4de6ec08a741ep-1 +0x1.51a0623691ca1p-1 +0x1.150623e621affp-3 +-0x1.5cfe06a01edd3p+0 +0x1.79170cd5592fbp-3 +0x1.03e7ab6aad67ep+0 +-0x1.1891985c0eb8ep-1 +0x1.b4c6bd3a6edd3p-3 +-0x1.9184c834df616p-1 +-0x1.896958966a197p-1 +0x1.5be3839f90121p+1 +-0x1.0a5d4e106277bp+0 +0x1.9a280716597f5p-4 +-0x1.52f6fb77a081ep-1 +0x1.3c8b1ee2b173ap-2 +0x1.2ea3366ede3adp-3 +0x1.e53f1280cde7ap+0 +0x1.957874fc6208ep+0 +-0x1.2e50c6467220dp-1 +0x1.f60821784192p-2 +0x1.b8e3e55ae80e2p-1 +0x1.288f642c27b4ap+0 +0x1.3ab579f457f48p-1 +0x1.00560e5c012c4p+0 +-0x1.018fda0958f47p-2 +-0x1.1663e5438ceecp-5 +-0x1.b38c79ed08931p-2 +-0x1.56593bb8e2b3ap-2 +-0x1.658a994e639bfp+0 +-0x1.48af16b4857b7p-4 +-0x1.72fcdc678ef45p+0 +-0x1.d97293881bea4p-2 +-0x1.c49a1d675d476p-2 +-0x1.ec228dbfa9c8dp+1 +-0x1.2f65397f9102fp+0 +-0x1.e1be1e7df4fc2p-2 +-0x1.6f8874375d431p-2 +-0x1.ad975b46c6bcp+1 +0x1.082ca583a3b4ap-4 +-0x1.a2bbbe7dac89cp-2 +-0x1.56d82280ca20ap-1 +-0x1.0dbeb9ef97955p-1 +-0x1.b94eb5428765bp-1 +-0x1.a9bf86e4ac70dp-3 +-0x1.0855827c83f4cp-2 +0x1.022d027737673p-3 +0x1.3063e7a806101p+1 +0x1.eab3b18ac0494p+0 +0x1.e5f194cc1e1a8p-1 +0x1.45194cbee3395p+1 +0x1.e69e9354c1529p-3 +0x1.545416ffbb03bp-1 +-0x1.b5e40f88452abp-1 +-0x1.68c7d14330b2ap-3 +0x1.7ffc77ca165dcp-4 +0x1.a668c8ebd61b4p+0 +0x1.0b28f10ea5b09p+2 +0x1.4335046c074d7p+0 +0x1.685124b5d8a51p+1 +0x1.4745e3eac7353p-1 +-0x1.69574690ea7c3p-2 +-0x1.c3d85c17853dbp+0 +0x1.2ca545525be9ap+0 +-0x1.5e28ce7affeb4p-2 +-0x1.92bfba1bac60bp-1 +0x1.97f2a53c69f16p-2 +0x1.282c0d8843656p-1 +0x1.2e83ef4ac8dd2p-7 +-0x1.e1a4876dd3166p-4 +-0x1.95bdb29008dc8p-3 +0x1.6600fe4a53856p+0 +0x1.2e1d9bf5b3951p-4 +-0x1.70e9ea952a19dp-3 +-0x1.d20f199dd9577p-1 +-0x1.c22c62447cc81p-2 +0x1.5ede8b7bf60dbp-2 +-0x1.ddccc5653648fp-2 +-0x1.37b3b1cce6cd7p-1 +0x1.293dcc95484d4p-1 +0x1.a0908aa30e4b1p-1 +-0x1.19e1718e6114cp-1 +-0x1.15879faff760cp+0 +0x1.04d7bd103c7bcp+0 +0x1.a9bfcf61ab5aap-3 +0x1.7ffbcf941d617p-1 +-0x1.60433564bde97p-2 +0x1.e1d42f2da16e7p-2 +0x1.0ac26b5b6b26ap-3 +-0x1.2f2bf3e135d94p+0 +0x1.e0e59439a31dep-5 +0x1.44e9cf1156e06p+0 +-0x1.e43e30a92a587p+0 +-0x1.28e91fbfa691ap-1 +-0x1.7353a3cf17f5cp-1 +-0x1.10a858f300482p+0 +0x1.32f94c36ff37p-5 +0x1.f9f83415242ddp-4 +0x1.9757166028a0bp-2 +0x1.1d7c012c6d9acp+0 +-0x1.975594c1d679bp-1 +-0x1.5d11d00438ecep-1 +-0x1.2747d944042adp-2 +0x1.7f675e4cdfdafp+0 +-0x1.25e7be689bf3bp+1 +0x1.2ab5068d0da45p-1 +-0x1.b5d0f4e5854c2p-3 +-0x1.6c1508a245409p-3 +-0x1.cee6ebe8cfb3dp-2 +0x1.07e3d5abaf2c2p+1 +-0x1.c45815dd1e558p+0 +-0x1.f7cbd3b21212fp-1 +0x1.ab0d770f9960dp-2 +0x1.b383e5d3bf694p-1 +0x1.5da5ec4458468p-1 +-0x1.ae05752dce3bep-1 +0x1.4f48d390d74f4p-1 +-0x1.880168a9d8bf5p-3 +-0x1.87add861f8988p+0 +-0x1.14db9a7dcab57p-1 +0x1.47c0301aa6b84p-2 +-0x1.2b02155d9aee3p+0 +-0x1.7bfb0c81ab8cdp-5 +-0x1.0c23e578a36c6p+0 +-0x1.157749f322387p-1 +-0x1.7ac4335775a1cp-3 +0x1.c550fc3c78769p+0 +0x1.83d7cdfe37293p+0 +0x1.0175d3d989f64p+1 +-0x1.2212fa987b93ep-3 +0x1.217f3df9fc083p+0 +-0x1.cd855b8fe86fdp-2 +0x1.ccea5a54d87efp-2 +0x1.558402d1b1d97p-1 +-0x1.8ab1c2c68d04fp+0 +-0x1.8098471a13c85p-3 +-0x1.d86dcb965888bp+0 +0x1.305104b60c029p+1 +0x1.eff682c003408p-1 +-0x1.5afb1632fb37ap+0 +0x1.1e33bf0ab3d29p+0 +-0x1.6d4579a586735p+0 +0x1.2a89ddee85669p-2 +-0x1.1674f3ba7da18p+0 +-0x1.2284f100bccdcp-6 +-0x1.cf1dd973f1609p-2 +0x1.b3a7904f392eep-1 +0x1.46833328fbc48p-2 +0x1.190e33f3fa595p-1 +0x1.2509eb20bfd81p-3 +0x1.7a11f69b6a7d4p-1 +-0x1.ce345c782f5b6p-6 +-0x1.203b3b982e85ap+0 +-0x1.41551d419e138p+0 +0x1.963b6e19ba199p-1 +-0x1.e1bdc5dcc038bp-1 +0x1.4d96d7ad0daffp+0 +-0x1.b92d7f9c9dbcep-2 +0x1.e2caa293e9eecp-1 +0x1.f8baf1c0ea3dep-4 +-0x1.02dc134bc493p+1 +-0x1.3d2cd8f979961p+0 +0x1.54e4e04f09211p+1 +0x1.5e37a9908f7a9p-1 +-0x1.744628496bd37p+1 +-0x1.19840a3a45406p+0 +0x1.1959dfefb58f7p-1 +0x1.52bed32f75b94p+0 +0x1.c245e12ce3ee5p+0 +0x1.eee9334cdd0ddp-2 +0x1.203d41ad61271p-3 +0x1.90b58e66122bdp+0 +-0x1.370579624a655p-1 +-0x1.b2a805a509c18p+0 +0x1.e67ccdb8eadfcp+0 +-0x1.3c67a45675499p+0 +-0x1.bfe3aa0e71bb2p-1 +0x1.35cebbc94eab7p+0 +0x1.0422cc7ae80c9p+0 +-0x1.60be748cc1763p-1 +0x1.035ceb7539913p-1 +0x1.7f99fcedf4bb1p-2 +-0x1.6f9c5ee90d57fp+0 +-0x1.845438659ae53p+0 +-0x1.127e6dca38c33p-2 +0x1.4cfddd6b8cbe6p+0 +-0x1.1d4bd6ad50359p+0 +0x1.6a88e84e144c1p-1 +0x1.2c4b816227c2fp-1 +-0x1.3b15ef7442557p-3 +0x1.064ffd48a84ep-3 +-0x1.1d33de6c589e4p-2 +-0x1.80a2820b8f653p-1 +0x1.1220e342470e6p+2 +-0x1.1f50c3eb06578p-1 +0x1.d420b1a766c3fp-3 +-0x1.f06f414c20f8bp-1 +0x1.7df5acaa32cddp-1 +0x1.6eb4e78ecc57cp-3 +-0x1.1194fe9aa3be8p+0 +0x1.13a325cf7b8cep-1 +0x1.e7069ccf67267p+0 +-0x1.89a242daa144dp-1 +-0x1.10750199c5d77p+0 +-0x1.fb0a9458e1e58p-1 +-0x1.f37b9d7b69b5fp+0 +-0x1.55c000fc49842p+0 +0x1.12ed7980f7439p-2 +0x1.cd24b3b1ef227p-2 +0x1.17088f192f0f9p+0 +0x1.90a1fc58a5b9bp-1 +0x1.88f71a896832fp-2 +-0x1.0e428a379b193p-4 +-0x1.9a536e9c8e83ap-2 +-0x1.f8c907f8f58dap-1 +0x1.40c9a200f618p-6 +0x1.bb0f583139801p+0 +0x1.4f096c4aaccfep+0 +-0x1.8639ac259ec7p-3 +-0x1.ddc002a62d79ap-7 +0x1.15ea75f9bba9bp+0 +-0x1.a4314722e80c4p+0 +0x1.3085c6708f055p+1 +-0x1.3a122c32d2387p-1 +-0x1.8466c7f39e1a8p-1 +-0x1.07a3a25046ff7p-1 +-0x1.64906f355b5f5p+0 +-0x1.b6cfc87ad211ap-2 +0x1.a9f23e8a04957p-1 +0x1.8f8861cd0df53p-1 +-0x1.0520d99bed6ddp-1 +-0x1.fd38e376c26b9p-1 +0x1.78d3aaf2e9dabp+0 +-0x1.a17681ee75826p+0 +-0x1.7b614a7d3619cp+1 +-0x1.8824d10bf8adfp+0 +0x1.100b8d5562582p-3 +-0x1.83039f5c89f39p+0 +-0x1.32ae3bd745592p-3 +0x1.20cb3b1fd30d4p+0 +0x1.b455d2d933468p-2 +0x1.321f6a0b81c7cp-1 +-0x1.d72368b9f962cp+0 +-0x1.5794abf7715p+1 +-0x1.e802ac8385caap-1 +-0x1.283a262642c57p-2 +-0x1.4683fc0789bb8p-3 +-0x1.0979236fd2b26p+0 +0x1.6fae44dc0134ap-4 +-0x1.66857c081da8dp-7 +-0x1.1808d0a3ed1b8p+0 +-0x1.88bbc40edea65p-1 +-0x1.22e88378bebeap-3 +0x1.ce560cf6fded2p-6 +0x1.fe493528bc8f6p-2 +-0x1.e70f7ac0dd117p-1 +-0x1.a225717175c68p+0 +0x1.93bb64437011dp-1 +-0x1.26ee7d4949696p+0 +-0x1.86e89fac76f85p+0 +0x1.324cac38058e4p+0 +0x1.1e2ab2a20dec6p-1 +-0x1.23a5753b9b995p-1 +-0x1.24f1448e6220bp-1 +-0x1.4b31f7fd15c83p-3 +0x1.16c554c0c7c7bp-1 diff --git a/sysdeps/x86_64/fpu/libmvec-erff-inputs b/sysdeps/x86_64/fpu/libmvec-erff-inputs new file mode 100644 index 0000000000..3f6f2b4c5a --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-erff-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-4, 4), mean = 0, standard deviation = 1 +-0x1.110038p-2 +-0x1.1f03acp-1 +-0x1.88539ap+0 +-0x1.410132p-1 +-0x1.3b7fb8p-2 +0x1.029deep+0 +0x1.77fde2p-1 +0x1.16a53ep+1 +0x1.35a336p-1 +-0x1.f85d78p-2 +-0x1.75bd8cp+0 +-0x1.360248p+0 +0x1.1cb9fap+1 +-0x1.cc0c94p-3 +-0x1.b06432p-1 +0x1.e5f318p+0 +-0x1.2bbc6p-2 +-0x1.b20d6p-8 +0x1.1ee5aap-1 +0x1.0d39dap+0 +-0x1.f35ecap-2 +-0x1.90e89ap-1 +-0x1.8718b2p-3 +0x1.e1a884p-1 +-0x1.bb8414p-2 +0x1.66748ep+0 +-0x1.03ac94p+0 +-0x1.2777cp-2 +0x1.1d20fap+0 +-0x1.0d6598p+0 +0x1.948e12p-3 +0x1.a2f914p-1 +0x1.8dfc3cp-3 +-0x1.60c178p-1 +0x1.729198p-3 +0x1.0d76b4p-4 +-0x1.8ba0cp-1 +-0x1.657578p-2 +-0x1.420738p-2 +0x1.811c1cp-2 +-0x1.3c18ep-4 +0x1.e26402p-1 +-0x1.16b4ecp+0 +0x1.919dfep-2 +0x1.51a8f6p-6 +-0x1.71cb16p-1 +-0x1.7ed13cp-3 +0x1.7c78e8p-1 +-0x1.371df6p+0 +-0x1.47b6c4p-2 +0x1.c0eb16p-1 +-0x1.04144p+0 +0x1.747d82p-1 +-0x1.0e3c3ap+1 +-0x1.9223e2p-1 +0x1.2c285ap-2 +-0x1.e100ap-1 +0x1.a994cp-1 +0x1.5642c6p+0 +0x1.9b45f2p-3 +0x1.607aecp-1 +-0x1.7e95d8p-6 +0x1.3e217p-2 +-0x1.6d0abp+0 +0x1.09153p-1 +0x1.cb814cp-1 +0x1.ef5984p-3 +0x1.4511a4p-3 +0x1.c3236cp-3 +-0x1.b5663ap-5 +0x1.f9775cp-1 +-0x1.fbe004p-1 +0x1.ec4068p-4 +0x1.0af7c2p-1 +-0x1.18e6b8p-1 +0x1.2fc06ap-2 +-0x1.0df60cp-1 +-0x1.bf42c8p+1 +-0x1.f9beaap-4 +-0x1.a8a18cp-4 +0x1.0c0fap+1 +0x1.8035aep-4 +0x1.6e5336p-1 +-0x1.202ed6p+0 +-0x1.958d6ep-2 +-0x1.bcdf02p-2 +-0x1.ae79ecp-2 +-0x1.08e936p-2 +0x1.fa1d12p-1 +0x1.e0e75p-1 +0x1.d0f072p+0 +0x1.706896p+0 +-0x1.37f81ap-1 +-0x1.d1b82p-4 +-0x1.8d8c76p+0 +0x1.c753b4p+0 +0x1.59d5bp-3 +-0x1.ea04b4p-4 +0x1.29c338p-5 +-0x1.c2ee5ep-1 +0x1.cee3cap+0 +-0x1.b5e1a6p-1 +-0x1.42abb8p-1 +0x1.1d8892p+0 +0x1.80ec7cp-2 +0x1.ae7a24p-4 +0x1.9c79dap-1 +-0x1.253082p-4 +-0x1.a40112p-2 +-0x1.77943p-1 +0x1.77052ap-2 +0x1.aa7ee8p+0 +-0x1.f6ee5cp-6 +0x1.a39a2ap-1 +0x1.3221b8p-1 +0x1.5ff5bcp-1 +-0x1.4613aap-4 +-0x1.6991a4p+0 +-0x1.1071cap+0 +-0x1.055f3ap+0 +0x1.520ed8p-1 +-0x1.6e1544p+0 +0x1.e819p+0 +-0x1.8b8cb4p-1 +-0x1.a9f64ap-1 +0x1.88e06cp-2 +0x1.750ec6p-1 +-0x1.0dd8acp-1 +-0x1.99309ep-2 +-0x1.08b1bcp-2 +0x1.aa7c0ep-3 +0x1.0a5b3ep-2 +0x1.273d5cp+1 +-0x1.27eeacp+0 +0x1.398226p-1 +0x1.56fe6p+0 +-0x1.f11f36p+0 +0x1.9aca96p-2 +-0x1.8f8d42p-1 +-0x1.f49e6ep-3 +-0x1.7a129ep-8 +-0x1.1ae76cp-1 +0x1.087a5ap-4 +0x1.6aff86p-1 +-0x1.62fa8ap-2 +0x1.b66d4cp-2 +0x1.b32cf8p-2 +-0x1.70f5dep+0 +-0x1.ac60dap-1 +-0x1.fbdc48p-3 +0x1.ce8d8ap-2 +-0x1.f0575ep-2 +0x1.248082p+0 +-0x1.4b02ccp-4 +-0x1.f980a2p-1 +-0x1.d7c148p-1 +-0x1.19379ep-4 +0x1.508d16p+1 +-0x1.ab9498p-2 +0x1.0e6daep-1 +-0x1.45599cp+0 +-0x1.a1d652p+0 +0x1.0a9a08p-1 +-0x1.380656p-1 +-0x1.4723eap+0 +0x1.82ba88p+0 +-0x1.be10fep-3 +0x1.6e9ab6p-10 +0x1.ac8ebap+0 +0x1.72f43ap-3 +0x1.647a3p-3 +-0x1.6a098ep-3 +-0x1.535b6p-5 +0x1.9b2178p-2 +-0x1.0db4dp-3 +-0x1.d28fecp-2 +0x1.45806cp-3 +-0x1.4314fcp-3 +-0x1.3d2ddcp-1 +-0x1.91560cp-3 +-0x1.2064bep+1 +-0x1.8f0d5ap-1 +0x1.81850ap+1 +-0x1.f7d0d6p-2 +-0x1.f23fd4p-1 +-0x1.75a606p-5 +-0x1.d253dcp-1 +-0x1.532846p-1 +0x1.ce3576p-1 +-0x1.8652cep-2 +-0x1.9b8efp+0 +0x1.7d9c66p+0 +0x1.b96c3ep+0 +-0x1.f953fcp-1 +-0x1.49c318p+0 +-0x1.a1e7cp-2 +0x1.46cfc2p+0 +-0x1.ae2452p-2 +0x1.6993ap+0 +0x1.13306cp-2 +0x1.61510cp-5 +-0x1.1a2036p+1 +-0x1.64ad7ap-1 +0x1.bc0558p-4 +0x1.3c093ep-4 +0x1.4f8ea8p-1 +-0x1.55af0ap+1 +0x1.5af1d2p-2 +-0x1.0de628p-1 +0x1.99ce9ep+0 +-0x1.f3ce28p-1 +-0x1.2dcbccp+0 +0x1.1adafep-1 +0x1.853c9ap-3 +-0x1.00b1dap-5 +-0x1.12d9eap+0 +-0x1.c05a7cp+0 +-0x1.df87d8p+0 +0x1.3e98c6p-1 +0x1.560246p+0 +-0x1.c6b774p-1 +-0x1.2d3deap-4 +0x1.efefd8p-1 +0x1.c1a132p-4 +0x1.30ea3ap+0 +-0x1.a74dd4p-1 +0x1.79ab52p-6 +0x1.d28bdp-1 +-0x1.dd0ae6p+0 +0x1.086058p+0 +-0x1.3d802ap-2 +-0x1.11859p-1 +0x1.2aa162p-2 +-0x1.51a2fep+0 +0x1.6d4ca2p+0 +-0x1.086472p-1 +0x1.73c0d4p-3 +-0x1.460bb8p+0 +-0x1.96b5c2p-1 +0x1.002088p-1 +-0x1.079c68p+0 +-0x1.a490fep-4 +0x1.3a317p-3 +0x1.b3009ap-3 +-0x1.8be63p+0 +0x1.c70c48p-3 +0x1.6ec3p-1 +-0x1.d42bdap-5 +0x1.542a48p-1 +-0x1.68aadep-1 +0x1.0719ecp-1 +0x1.5a5bfp-1 +-0x1.1df78ep+0 +0x1.38e51ep-1 +0x1.65e234p-1 +0x1.81eea2p-1 +-0x1.e09ae8p-2 +0x1.88cff6p-2 +-0x1.6a4098p+1 +0x1.b0dc52p-2 +-0x1.949d08p-3 +0x1.2054bep+0 +-0x1.1c5a7p+0 +0x1.066722p+1 +0x1.236638p-2 +0x1.ede04p-1 +0x1.5dd9cep+0 +-0x1.ee86a4p-2 +0x1.430682p-1 +-0x1.b239cep-2 +-0x1.b155c4p+0 +0x1.110594p-1 +-0x1.940484p-1 +-0x1.32b572p+0 +0x1.2ab818p-2 +-0x1.bb57eep-8 +0x1.2c5faap-2 +-0x1.105b2ap-2 +0x1.ad21b6p+0 +0x1.f59118p-1 +0x1.942c72p-2 +-0x1.73fc06p-2 +0x1.19a064p+0 +0x1.f4409ap-3 +-0x1.6ea822p+0 +0x1.05326p-3 +-0x1.30227ap-2 +0x1.69b302p-4 +-0x1.a95e1cp-1 +0x1.2ff44cp-1 +0x1.8803b4p-1 +0x1.e33526p-1 +-0x1.21639cp+0 +-0x1.a15cdap-3 +-0x1.ad8b0ep+0 +-0x1.9c52c8p+0 +0x1.1e855ap-3 +0x1.bb99aep-2 +-0x1.1dae22p+0 +-0x1.9efa1cp+0 +0x1.7f4124p+0 +0x1.a0ae02p-2 +0x1.6c8868p-1 +0x1.417de2p+1 +0x1.1a07e2p+0 +0x1.50e958p+0 +-0x1.09dbbp+1 +0x1.62d0a6p+0 +-0x1.641802p-4 +-0x1.a1d7bcp+1 +0x1.a3b7e4p+0 +0x1.a5562ap+0 +-0x1.af841cp-3 +-0x1.6538b6p+0 +-0x1.29feb6p-1 +0x1.6071bcp+1 +0x1.3a75b2p+1 +0x1.501b28p-1 +0x1.cab884p-2 +-0x1.f406eep-2 +-0x1.94992p+0 +-0x1.4bf214p-1 +-0x1.f4aaa8p-1 +-0x1.c904a4p-1 +-0x1.85137ap-2 +-0x1.3253d2p-1 +-0x1.7e5a94p-1 +-0x1.ba8b24p-2 +-0x1.e32c5cp+0 +-0x1.f7a818p-2 +0x1.d79048p-3 +-0x1.e1ee3cp-1 +0x1.8a59e6p-1 +0x1.72b31ap-2 +-0x1.f0a79p-2 +-0x1.ec9f64p-2 +-0x1.ef4d44p-1 +-0x1.45030cp-2 +-0x1.3de03p+0 +-0x1.ae4ee8p-2 +-0x1.2a2442p+0 +0x1.1e09c8p-8 +-0x1.c68168p+0 +0x1.0b13ecp-2 +0x1.5b2206p-1 +-0x1.c752f2p-3 +0x1.3d151p-1 +0x1.17da3p-1 +-0x1.266a0ap-1 +0x1.78803ep+0 +-0x1.347da4p-2 +-0x1.39b5p-4 +0x1.b9a576p-1 +-0x1.721816p-1 +0x1.4139fep+0 +0x1.0b6028p-1 +-0x1.9cf32p-2 +0x1.4e858p+0 +0x1.b07b4ep-3 +0x1.11702p-3 +-0x1.981532p+0 +0x1.4cbefep-1 +0x1.a9ca3ap-1 +-0x1.5506bcp-2 +0x1.7d3bacp-3 +0x1.ba237ep-2 +-0x1.9d3fecp-1 +0x1.04414ep-1 +-0x1.1ab066p-1 +0x1.6f930ap+0 +-0x1.6cac96p+0 +-0x1.bcfc0cp-4 +0x1.010d86p-2 +-0x1.7ff508p-2 +-0x1.a27326p-1 +0x1.3ee03ep+0 +0x1.44bf16p-2 +-0x1.dc7bfep-3 +0x1.4b2044p-2 +0x1.84fe36p-3 +0x1.cd7622p+0 +0x1.1b1d3cp+0 +-0x1.9fcae6p+0 +-0x1.0a3b58p-1 +-0x1.2abc8ap+0 +0x1.8c4d68p-3 +0x1.0a5afep+0 +0x1.4fd2ccp-3 +-0x1.7f4f36p+0 +0x1.8d885ep+0 +0x1.59ea52p+0 +0x1.0ec88cp-5 +-0x1.8a5d84p+0 +0x1.1a283ap-4 +0x1.829e76p-1 +-0x1.49c464p-2 +-0x1.013626p+0 +-0x1.d6aa46p-1 +0x1.1ae55cp-2 +-0x1.6d2bcp-2 +-0x1.2f894ap-1 +-0x1.8cccaap+1 +0x1.a1847ap-2 +0x1.61b9fap+0 +-0x1.593af2p-2 +-0x1.6fcb36p-1 +-0x1.8852ep+1 +0x1.55402ep-6 +-0x1.7758f8p-1 +-0x1.129ed6p-1 +0x1.47b15cp-2 +0x1.c37c38p-4 +-0x1.55e59cp-1 +0x1.15ab24p-2 +-0x1.5efb3p+0 +-0x1.c82246p+0 +-0x1.1ec106p-1 +-0x1.632d52p+0 +-0x1.3b380ep-3 +-0x1.d06a62p+0 +-0x1.648c7ep+1 +-0x1.e0c74ap-2 +0x1.3b45c2p+0 +0x1.9ac134p+0 +0x1.821b66p-2 +0x1.49d4a4p-4 +-0x1.9536fep-3 +-0x1.e45f7p-1 +0x1.f42e02p-5 +-0x1.1447c8p-2 +-0x1.3814cap-1 +-0x1.36e4eep+0 +-0x1.db96f4p-1 +0x1.b7e8d8p-1 +0x1.31f092p-1 +-0x1.23d39ap+0 +0x1.fe37fp-1 +-0x1.d6e588p-1 +-0x1.51e8dp-2 +-0x1.076dp+0 +-0x1.5ce54p-2 +-0x1.03dbfcp-1 +0x1.02c32cp+0 +0x1.2900dep-1 +-0x1.2d2ce6p+0 +-0x1.5d3804p+0 +0x1.7b1186p+0 +0x1.ff5246p-3 +0x1.0e03a4p+1 +-0x1.76a414p-1 +-0x1.1fffa4p-4 +0x1.9caea4p-2 +-0x1.793d42p-4 +0x1.5b0824p-3 +0x1.254968p-3 +0x1.eb12bp+0 +0x1.fe8536p-3 +0x1.b1e56ap+0 +0x1.345306p-3 +0x1.307c96p+0 +0x1.4d5cbap-1 +-0x1.b1937cp-3 +0x1.cc82dep+0 +0x1.af13acp-3 +0x1.55b3e6p-5 +-0x1.1aa44ep-1 +-0x1.b0bd84p-1 +-0x1.f054c2p-5 +-0x1.81014cp+0 +-0x1.240046p+0 +0x1.d0a074p-3 +0x1.41625cp-9 +-0x1.40f226p-1 +0x1.68f226p-2 +-0x1.17690ep+0 +-0x1.75fa5ep-1 +0x1.295642p-3 +0x1.988104p-2 +0x1.2b01b2p+0 +-0x1.0f4d72p-4 +-0x1.4b462p-1 +0x1.9e7c32p+0 +-0x1.a6f89ep-1 +0x1.f2082cp-4 +-0x1.dd839ap-1 +0x1.7fca08p-1 +-0x1.c3c488p-1 +-0x1.6e8538p+0 +0x1.d8ed1cp-4 +-0x1.ebd99ep-2 +0x1.fd966p-1 +-0x1.206c2p+0 +0x1.aee0d6p+0 +-0x1.35d52ep-3 +0x1.13223ap-3 +0x1.743898p-2 +-0x1.4bae88p-1 +-0x1.b15ab2p-1 +-0x1.9ce3b2p+0 +0x1.cef452p+0 +-0x1.f17318p+0 +-0x1.e58d0cp-6 +0x1.808becp-1 +0x1.07f0bp+0 +0x1.325fd4p-1 +-0x1.9faafap-4 +0x1.6104f8p+1 +-0x1.7807e4p+0 +0x1.297574p-2 +0x1.3b4588p-1 +0x1.c568a6p-1 +0x1.6caddep+1 +-0x1.69894ep-2 +-0x1.373078p-3 +0x1.135deep-1 +0x1.e1285ap-3 +0x1.4b80b4p+0 +0x1.2811c4p-1 +-0x1.cf20dp-1 +-0x1.ab8ce8p-3 +0x1.9d7e14p+0 +0x1.3737cep+0 +-0x1.63ffeep-1 +0x1.a236a8p-3 +-0x1.d9b722p-3 +0x1.022adcp-4 +0x1.0a9b4ep+0 +0x1.18ec28p-4 +-0x1.6afe7p+1 +0x1.147d5cp-1 +-0x1.81f8cep-1 +0x1.0f3818p-1 +-0x1.c6ff78p-1 +-0x1.66360cp-1 +-0x1.6791dcp+0 +-0x1.77c6ep-2 +0x1.45d5f6p+0 +0x1.268336p+0 +0x1.3a13ap-1 +-0x1.780cfp-2 +0x1.6128b2p-1 +-0x1.439a56p+0 +0x1.50b1dp-1 +-0x1.0db0a6p+1 +0x1.0ae6ecp-1 +-0x1.51968p-2 +0x1.a18278p-1 +0x1.e0a29p+0 +0x1.8cdcd4p-6 +0x1.ec9936p-1 +0x1.5317a2p-2 +0x1.51d70cp-3 +-0x1.50ba0ap-1 +0x1.341dccp+0 +-0x1.9996fap-1 +-0x1.61d00ep+0 +-0x1.3a3a26p-1 +0x1.2f54b2p-2 +-0x1.b4951cp-2 +0x1.220f6p-1 +0x1.09e96p-1 +-0x1.b1165ap-1 +-0x1.be5766p+0 +-0x1.411e54p-4 +0x1.32640ap+0 +-0x1.9d3da6p-3 +-0x1.26eaa4p-1 +-0x1.9657b2p-2 +0x1.25d18p-1 +0x1.faee42p+0 +0x1.1cc8a2p-5 +0x1.9ed352p-2 +0x1.c24bc2p-1 +-0x1.c46c08p-1 +0x1.058fa8p+0 +0x1.074894p-1 +-0x1.2cb5d2p+0 +-0x1.7b022cp+0 +0x1.d971cep-1 +-0x1.8ec86ap-4 +-0x1.f72738p-3 +0x1.219fdep-2 +-0x1.565374p+1 +-0x1.6b82bep-6 +-0x1.3c9b4ap-2 +0x1.0adc7p+0 +0x1.c5a68p-3 +0x1.036bfep+0 +0x1.d9d092p-1 +0x1.7d3d04p-2 +-0x1.479fcep+0 +0x1.ef3f7ap-2 +0x1.52dc56p-1 +0x1.152d96p-1 +-0x1.b93628p-1 +0x1.6f1702p-2 +-0x1.d76088p+0 +0x1.396904p+1 +-0x1.bb8d38p-2 +-0x1.bea7cap-3 +-0x1.56dbccp-2 +0x1.9ce5dp-3 +0x1.9e0406p-5 +0x1.f80584p-2 +-0x1.54278cp+0 +0x1.37b24cp-2 +0x1.f77b1ap-6 +-0x1.7c43b4p-5 +0x1.10f4e2p-2 +-0x1.84c3d4p-2 +0x1.6536d4p-1 +-0x1.45c85ep+0 +0x1.8d0b58p-2 +-0x1.7bfe86p+0 +-0x1.028574p+0 +-0x1.266d42p-6 +-0x1.6f1e52p+0 +-0x1.b57398p+0 +-0x1.069008p+0 +0x1.951438p+0 +0x1.54640ep-1 +0x1.a2e70ep-4 +-0x1.4584eap-3 +0x1.598412p-1 +-0x1.3508e2p+0 +-0x1.df8c74p+0 +-0x1.d401bcp-1 +-0x1.20ff5ep-2 +0x1.ade08ep-2 +0x1.fb9154p-4 +0x1.a816fp-1 +-0x1.90a1d2p-11 +-0x1.6b755ap-1 +-0x1.54b09ap-1 +-0x1.53687ep+0 +0x1.5f4562p+1 +0x1.1c64acp-3 +-0x1.1cd93cp-2 +-0x1.d6676ep-2 +-0x1.b3376p-1 +-0x1.397f52p-2 +0x1.204f1ep+0 +-0x1.9d15f8p+0 +0x1.86b446p-2 +-0x1.3a978cp+0 +-0x1.299fc8p+0 +-0x1.a744b8p-5 +-0x1.bb2884p-2 +-0x1.f30a9p-2 +0x1.aabbf2p-1 +-0x1.a112b6p-1 +0x1.3d09dcp+0 +0x1.2cb5e2p+0 +0x1.3cd7acp-2 +-0x1.f1399p-1 +0x1.88f07ep+0 +0x1.93179ep-4 +0x1.2bfc96p+1 +0x1.a17e38p-3 +0x1.335b32p+0 +-0x1.e24d82p-1 +-0x1.ebc294p+0 +0x1.4d8134p-1 +-0x1.e10c4p-2 +-0x1.62805p-1 +0x1.514716p+1 +-0x1.407afcp+0 +-0x1.c12b48p-2 +-0x1.7ef92ap-4 +-0x1.41cc22p-2 +-0x1.b4dc08p-1 +-0x1.b8c92ep-1 +-0x1.a4756cp-2 +-0x1.d7ea62p+0 +0x1.a45014p-4 +-0x1.3949p-4 +-0x1.163a4ap+0 +0x1.b57efp-1 +0x1.6e593ep-1 +-0x1.b3b2e6p-1 +0x1.20b848p-3 +-0x1.a7a9a2p+0 +-0x1.3edfeap-3 +0x1.04df46p+0 +-0x1.85c872p-3 +0x1.987aa6p+0 +-0x1.8d8ff4p-4 +-0x1.7bbe5p-2 +0x1.09b6ep-1 +0x1.6540eep-1 +0x1.e1ae5ep-1 +0x1.072608p+1 +-0x1.6139c4p-4 +-0x1.4f44bp-3 +-0x1.c87cf8p+0 +-0x1.625e9p+0 +-0x1.b994fap-1 +-0x1.d21a74p+0 +0x1.fb8fbcp+0 +0x1.4e0292p-1 +0x1.7bec5ap-1 +-0x1.22ade6p+0 +0x1.3ff0fcp-1 +0x1.acf446p-3 +-0x1.081e4cp-1 +-0x1.af18d2p-4 +-0x1.816382p-2 +-0x1.dbf7e6p+0 +-0x1.109eap+0 +0x1.2f89c6p-2 +-0x1.0525cep-3 +-0x1.1527b6p-2 +0x1.b3de52p-1 +-0x1.730858p-2 +0x1.076d14p-2 +-0x1.6d8996p+0 +0x1.34fc5ap-1 +-0x1.8704c8p+0 +0x1.135dc8p+1 +-0x1.4e2aacp-1 +0x1.7b15dp-1 +0x1.624156p+0 +0x1.50d6fep-1 +0x1.471f7p-2 +0x1.016aep-3 +-0x1.6baefcp-1 +-0x1.21c30ap-1 +0x1.62072ap-6 +-0x1.39b198p-1 +0x1.7f04c2p-2 +-0x1.168386p+0 +-0x1.c9fbccp+0 +0x1.1635f4p-1 +0x1.3ddefp-5 +-0x1.1ee2cep-5 +-0x1.6899a6p-1 +0x1.dc1aa4p-3 +-0x1.b601c4p-3 +0x1.a84624p-2 +-0x1.33c518p-1 +0x1.a67986p-1 +0x1.0a3882p+0 +0x1.06a6ap-2 +0x1.6bf6eap-2 +-0x1.84d9fp+0 +-0x1.6cf124p-3 +0x1.dcbcep+0 +0x1.3536fp+0 +0x1.cdd5ap-2 +-0x1.bfefecp-1 +-0x1.618704p-1 +-0x1.17cefcp-2 +0x1.67adb2p+0 +0x1.3a3954p-1 +-0x1.d038d4p-5 +0x1.36d7a8p-2 +0x1.e318b2p-4 +-0x1.3e982cp+0 +0x1.471aa2p+0 +-0x1.178b0ep+0 +-0x1.b5c338p-1 +-0x1.a52046p-1 +-0x1.d018ccp-5 +0x1.a12acap-2 +0x1.e26ee4p+0 +0x1.1156cep-2 +0x1.a0a6aap+0 +-0x1.267fe2p-1 +-0x1.1988fap-2 +0x1.0b474ep-1 +-0x1.8fe198p-2 +-0x1.5fdfdap+0 +-0x1.943708p-6 +0x1.8d0838p-2 +0x1.8b693ap+0 +0x1.fd35a4p+0 +0x1.20e762p-4 +0x1.1338d4p+1 +-0x1.ea5206p-1 +-0x1.cd9f28p-2 +-0x1.1da77p+1 +-0x1.123ce4p+0 +-0x1.07274p-1 +0x1.b99ddep-1 +-0x1.39b1fp-1 +-0x1.153f22p+1 +0x1.8dd608p+0 +0x1.c91194p-2 +-0x1.06ef9ep-3 +-0x1.f7e71ep-5 +-0x1.2bcc98p-2 +-0x1.087c5cp+0 +-0x1.263fecp+0 +-0x1.d0ae2ap-1 +0x1.bf14b6p-5 +0x1.d08ea4p-4 +-0x1.d899f6p+0 +-0x1.c8a996p-1 +-0x1.5587dcp+1 +-0x1.c510eep-1 +-0x1.18b784p+0 +0x1.71cc02p-1 +-0x1.64f178p-1 +0x1.23e878p-1 +-0x1.aec4fap-3 +0x1.30e846p+0 +-0x1.f9dee6p-6 +-0x1.24ba82p-3 +-0x1.9fe796p-2 +0x1.af099ep+0 +-0x1.43231ap-2 +0x1.15808p+0 +-0x1.dd8294p-1 +-0x1.29bfc2p-5 +0x1.5fafe6p-1 +-0x1.22b358p-1 +0x1.6651c6p-7 +0x1.e17a66p-1 +0x1.d3c68cp-2 +-0x1.56483ep-4 +0x1.f538f4p-3 +-0x1.7fb88ep+0 +0x1.74596ap-3 +0x1.90a7c4p+0 +-0x1.74067ap-3 +0x1.3902e8p+0 +0x1.359ad8p-2 +-0x1.14bb78p+1 +-0x1.d2bp-1 +0x1.f9f7f8p-2 +0x1.f4b9e2p-4 +0x1.18af72p+0 +0x1.2336b2p+1 +-0x1.aa7a9ep-1 +0x1.23d8f2p+0 +0x1.066028p-1 +-0x1.442632p-1 +0x1.0787d6p+0 +-0x1.9b00fep-4 +0x1.fe98dep-2 +0x1.5ce4dap+0 +0x1.54b8p-2 +0x1.7631f2p-1 +-0x1.56d6cep+0 +0x1.e93e02p+0 +-0x1.508c64p-1 +-0x1.bb07aep-4 +-0x1.c205f2p+0 +-0x1.4665ecp+1 +-0x1.95aab2p-2 +-0x1.0cb91ep+0 +0x1.517e3p-2 +-0x1.bf61d2p-1 +-0x1.457ed6p+0 +-0x1.37c8c2p-1 +-0x1.002cb2p+0 +-0x1.07c27ap-1 +0x1.274168p-1 +0x1.38f41ep+0 +-0x1.81ce3ap-1 +-0x1.d73dd2p-8 +0x1.1be246p+0 +0x1.6d87ep+0 +0x1.231018p-1 +0x1.23500ep-2 +0x1.19c6bep-2 +-0x1.5e77f6p+1 +-0x1.a6520ep-2 +-0x1.fad8dcp-3 +-0x1.520906p-2 +-0x1.77399ap-2 +0x1.14293cp-1 +0x1.50f4ap-1 +0x1.365732p+0 +-0x1.3469c8p-7 +0x1.b1cb36p-2 +0x1.0c8066p-2 +0x1.53f73p-1 +-0x1.ba6bf4p+0 +-0x1.142e22p-4 +0x1.240138p-2 +0x1.82084cp-3 +-0x1.5a932ep-2 +0x1.ba4fb4p-1 +-0x1.223d3p+1 +-0x1.27b8aep-3 +-0x1.a8e546p-4 +0x1.01d11p-1 +-0x1.93f7d2p-6 +0x1.7fcddep-1 +0x1.9a1d8ep+0 +0x1.036464p+0 +0x1.b0e7p-3 +0x1.02db3p+1 +0x1.6b8aap-1 +0x1.2fa006p+0 +-0x1.d82328p-1 +-0x1.9d410ap+0 +-0x1.de77eap-5 +-0x1.507538p+0 +-0x1.cb4adcp-4 +-0x1.3f3ebcp+0 +0x1.2cd10cp+0 +-0x1.6f6f24p-5 +0x1.ed8106p-3 +-0x1.895068p-1 +0x1.00c424p+0 +-0x1.6b352ep-3 +-0x1.08fb74p+0 +0x1.26b1b2p+0 +0x1.5f5b98p-2 +0x1.5767d4p+0 +0x1.276b56p+0 +0x1.2bc056p+0 +0x1.054068p+0 +0x1.e8fb5ep-4 +-0x1.7950f2p-2 +0x1.61c78ep+0 +-0x1.3da23ap+0 +0x1.b309d2p+0 +0x1.b3d51ap-4 +0x1.c7101cp-2 +-0x1.17cc8p+1 +0x1.5e9e68p-2 +-0x1.7b88bap+0 +-0x1.bc3d1p-2 +0x1.fe1772p+0 +-0x1.454e04p-4 +-0x1.203ea8p-5 +0x1.0b63p-1 +0x1.0a3696p-2 +0x1.b69cbep-5 +0x1.e4a2ap-2 +-0x1.fc1de8p-4 +0x1.9c5f0cp-1 +-0x1.c662e4p-3 +0x1.cb775ap-2 +-0x1.61d9a4p-2 +-0x1.1450cep+0 +-0x1.e77354p-1 +-0x1.a191c6p-3 +-0x1.3b096ap+0 +-0x1.573978p-4 +0x1.974ac4p-5 +-0x1.19e942p+0 +-0x1.60de18p-2 +-0x1.787726p-2 +-0x1.fea152p-5 +-0x1.c22308p-3 +0x1.288e8p-2 +-0x1.acfe86p-1 +-0x1.e322c8p-2 +-0x1.11322ep-1 +-0x1.34b88ap+0 +0x1.52f128p-1 +0x1.119c1p+0 +-0x1.69e2d2p-7 +0x1.1feb9ap+0 +0x1.61fedap-2 +-0x1.8f798ap+0 +-0x1.b7b382p-3 +0x1.969822p-2 +-0x1.4b524ep-3 +-0x1.321ac4p-6 +-0x1.6ebfaep+0 +0x1.e1d78cp+0 +-0x1.1208eep-1 +0x1.50da0ap-1 +0x1.095648p+0 +0x1.d7c7b6p+0 +-0x1.d0964cp-1 +0x1.2e6518p-1 +-0x1.c0bdc4p-1 +0x1.1695dp-2 +0x1.0454b4p-1 +0x1.4ccceap-2 +-0x1.1db5fap-4 +-0x1.786a46p+0 +0x1.990da6p-1 +-0x1.7fe62p-2 +0x1.4f6fe8p-1 +-0x1.d20a7ap-1 +-0x1.99dd6p-2 +0x1.e5340cp-1 +0x1.a5b96ap+0 +-0x1.928d3cp-2 +0x1.2e3152p-2 +0x1.513136p-1 +0x1.0222cap-1 +-0x1.ea799ap-1 +-0x1.ec6732p-3 +0x1.0523dep-1 +-0x1.3a3f7cp+0 +0x1.5ebaf6p+0 +0x1.224768p+0 +-0x1.1e90c4p+1 +-0x1.fedbaap-1 +-0x1.02282p+1 +-0x1.c8618ap+0 +0x1.af7c5cp+0 +-0x1.e2fa34p+0 +-0x1.000ccp-2 +-0x1.16afe8p+0 +0x1.5d829ap-1 +-0x1.582e24p+0 +-0x1.65ffe8p-2 +-0x1.07b006p+0 +-0x1.8a79aap+0 +-0x1.362ff8p+0 +0x1.5a2a56p-1 +-0x1.ad62d6p-2 +0x1.43efdap-4 +-0x1.121deap-2 +-0x1.68e8ecp-2 +-0x1.4737a8p-1 +0x1.b6f0e2p-1 +0x1.d3725p-3 +-0x1.d01bfap-1 +-0x1.d040bp-1 +-0x1.4bd81ap+1 +-0x1.23d4f4p+1 +0x1.bbad92p+0 +0x1.8733f8p+0 +0x1.bc26f6p-1 +0x1.626752p+0 +-0x1.c049b6p-6 +-0x1.fec492p-2 +0x1.7f7968p+0 +-0x1.1dd896p-1 +-0x1.a9ae64p-1 +-0x1.8077dep+0 +-0x1.1e7b08p+1 +0x1.235396p-1 +-0x1.c87d1p-4 +-0x1.d320dap-2 +0x1.03b144p-1 +0x1.7a3848p-2 +0x1.242e1ep+0 +0x1.b7936ap-2 +-0x1.4f848cp-1 +-0x1.0e20dcp+0 +-0x1.c14bcp+0 +-0x1.bbe18p-1 +0x1.a4476p+0 +0x1.d225c2p-3 +0x1.21c166p-2 +0x1.235af8p-1 +-0x1.1b58bap-1 +-0x1.58b5e6p-2 +0x1.dc72e4p+0 +-0x1.de7f64p-1 +0x1.76a74ep-3 +-0x1.b2a272p-2 +-0x1.d78d2ap-2 +-0x1.d3a276p-1 +0x1.5d8ba8p-4 +0x1.408c24p+0 +-0x1.22ebdcp+0 +0x1.78e76p-2 +-0x1.991118p-1 +0x1.0855c4p+0 +-0x1.36a24ap-1 +-0x1.2510e8p+0 +-0x1.0d06dep-2 +-0x1.3470c4p-1 +0x1.afd89cp-3 +-0x1.29809ep-1 +0x1.aaf702p+0 +0x1.9dcb1p-4 +0x1.5f3cc8p-1 +0x1.4ba3a6p+0 +-0x1.6d9b24p-4 +0x1.a3ea74p-1 +0x1.207bc6p-3 +-0x1.fe6d08p-1 +0x1.1a6974p-1 +0x1.d70e4ap-1 +0x1.6f4598p+0 +-0x1.0c62a6p-2 +0x1.d820cap+0 +-0x1.71efdcp-1 +-0x1.30841ap-1 +0x1.70f534p-2 +-0x1.1f6ccap+0 +0x1.d6ae62p+0 +0x1.f196bcp-1 +-0x1.41d18ep+1 +-0x1.762a84p+0 +0x1.d63c0ep-1 +0x1.f22036p+0 +-0x1.f1afc8p-1 +-0x1.bf96ap-2 +0x1.a217aap+0 +-0x1.c9b258p-2 +0x1.7d3ed6p-1 +-0x1.e87ddap-1 +-0x1.9ed7a2p-1 +-0x1.5be994p+0 +-0x1.9df17ep-3 +-0x1.4d8beap+0 +-0x1.6a15e6p+0 +-0x1.cd544cp-2 +-0x1.297dfap+0 +-0x1.72ed2p-1 +0x1.351bfep-3 +-0x1.7a6164p-1 +0x1.524c22p-1 +-0x1.d1ce48p-2 +0x1.1f939p-1 +0x1.21e258p-2 +0x1.7f5a82p-1 +-0x1.0326ep-1 +0x1.3dbaa2p-2 +0x1.c7e528p-3 +0x1.5e1d8ep-7 +-0x1.d7ebf6p-1 +0x1.9097b6p-1 +0x1.fde0dep-4 +-0x1.fd2e5p-4 +0x1.34111cp+0 +-0x1.320bb8p-1 +0x1.c3d3cep-3 +0x1.d68baep-6 +0x1.d5fbdap-1 +0x1.774752p+0 +-0x1.a3adc4p+0 +-0x1.c7e54ap-2 +-0x1.1872bap-2 +-0x1.e39d88p-1 +0x1.b7553p+0 +-0x1.db9718p-3 +-0x1.7e4a4ap-2 +-0x1.ca0c48p-2 +-0x1.140942p-2 +-0x1.b89a4ep+0 +-0x1.047d92p-4 +-0x1.1fca22p+0 +0x1.5d63dp-1 +0x1.0ea7cp+0 +0x1.c6c844p-1 +0x1.603424p+0 +-0x1.a5ffd2p-2 +0x1.1e1beap+0 +0x1.125b5cp+0 +0x1.90738cp-2 +0x1.d921bp+0 +-0x1.b15416p+0 +0x1.44313ap+0 +0x1.f07062p+0 +-0x1.46944p-2 +0x1.97a33cp-2 +-0x1.6c8e2p+0 +0x1.597e7cp+0 +0x1.b90712p-1 +-0x1.7b4e54p-3 +-0x1.47ffa4p+0 +0x1.12673cp+0 +0x1.260286p-1 +0x1.686e96p+0 +0x1.710bd6p+0 +0x1.55e84p+0 +-0x1.43ffa8p-2 +-0x1.69b8c8p-1 +0x1.c0c0d8p+0 +0x1.eac24ap-1 +0x1.e064cp+0 +-0x1.c5a6f6p+0 +0x1.7d090ap+1 +-0x1.51054cp-3 +0x1.f4c788p-2 +0x1.064c9p+1 +0x1.0e768ap+0 +0x1.fcd304p-1 +-0x1.2bf954p-1 +-0x1.6fa7bcp+0 +0x1.1131d4p-3 +0x1.84b6fp+0 +0x1.82d034p+1 +0x1.307076p-1 +0x1.d6dd86p-2 +0x1.b0c424p-2 +0x1.6ecb46p-4 +0x1.5472dp-2 +-0x1.2c76e4p-4 +-0x1.d8f29ap+0 +-0x1.d00032p+0 +-0x1.0144a6p-1 +0x1.88639ap-2 +0x1.004798p+0 +0x1.11537p-3 +-0x1.98d444p-2 +-0x1.dc8958p-1 +0x1.dc3e84p-2 +-0x1.025aeep+1 +0x1.aa6136p+0 +-0x1.99a04cp-1 +0x1.b0839ep+0 +0x1.d13378p-1 +0x1.a9a824p+0 +-0x1.443c98p-1 +-0x1.eeb87ep-1 +0x1.38c446p+0 +-0x1.710f7cp+0 +-0x1.07b1ap+0 +-0x1.c75e14p-1 +-0x1.3ddf74p-2 +0x1.27093p+0 +-0x1.0833d4p-2 +-0x1.2cb6bap-4 +0x1.6bd3ep+0 +-0x1.17db0ap+0 +-0x1.fc4a6ap-4 +0x1.243e3p-1 +0x1.40fc56p-2 +-0x1.cc7f4ep-1 +-0x1.792ec6p-2 +-0x1.44a492p+1 +-0x1.3827d4p+0 +-0x1.41cca4p+1 +0x1.949866p-1 +0x1.d9b438p-1 +-0x1.09e56cp+0 +-0x1.dd1504p-3 +0x1.dfc3ccp-1 +0x1.1f3afep-3 +-0x1.0cc97cp-1 +-0x1.201c3ep-1 +0x1.df82bp-1 +0x1.395d76p-3 +-0x1.0b866ep+1 +-0x1.738d3p+0 +-0x1.0eeadep+0 +0x1.40cdccp-1 +-0x1.3c73dap+0 +-0x1.74ae48p-3 +0x1.d8275ap-1 +0x1.f9716ep+0 +0x1.1723e8p+1 +0x1.8f429p-2 +0x1.550ea2p+0 +-0x1.b1783p-6 +-0x1.061f08p+0 +-0x1.7ae9bap-3 +-0x1.1541c8p-4 +-0x1.ed3336p-3 +-0x1.a2b8ep-2 +0x1.f33ca6p-1 +-0x1.e01f1cp-2 +0x1.69bed6p-3 +-0x1.39bbdap-3 +-0x1.a0c208p+0 +0x1.268d4cp+0 +0x1.8e2fbcp-1 +-0x1.6b14c4p-1 +0x1.8dc764p-1 +0x1.8779e6p-2 +-0x1.176c96p-1 +-0x1.25a544p+0 +-0x1.81eb7ap-1 +0x1.a361cep+0 +0x1.11e368p-3 +0x1.8ec7bp-3 +0x1.3fa85p-3 +-0x1.55bcdap+0 +0x1.827ddap-2 +-0x1.14a3cep+0 +-0x1.ff796ep-1 +-0x1.75eb8p+0 +0x1.24954cp-1 +0x1.f902dcp-2 +0x1.640cf2p-3 +-0x1.2f225p+0 +-0x1.02d94cp+0 +-0x1.9b7db8p-1 +0x1.68651ep+0 +0x1.f4797p-1 +-0x1.d1393ep-1 +0x1.c5dc9p+0 +0x1.bb6f32p-3 +-0x1.cd8996p-1 +-0x1.c73194p-1 +0x1.987076p-2 +-0x1.a68fcp-1 +-0x1.69cb72p-2 +-0x1.339fbep+0 +-0x1.413902p-2 +0x1.ce6222p-1 +0x1.970f02p+0 +0x1.8abadap-1 +-0x1.2c58f8p-2 +0x1.06a996p+0 +-0x1.7bb87ap+1 +-0x1.fe3dd4p+0 +-0x1.6021c8p-1 +-0x1.575738p-4 +-0x1.cfee4ap-2 +0x1.11638ep-2 +-0x1.fb4ad6p-2 +-0x1.0c37eap+0 +-0x1.00d2dap-2 +0x1.7fbfd8p+0 +0x1.5a65d8p+0 +-0x1.d3fdcp-1 +-0x1.4915bcp-5 +0x1.6beb9cp-1 +0x1.57a912p-2 +-0x1.12d05p-3 +0x1.89ea2ap-2 +-0x1.5632cep-2 +-0x1.d4c06cp-1 +-0x1.4f1954p-2 +0x1.3db73p-1 +-0x1.d8db14p-2 +0x1.98df14p-1 +0x1.14ed3ap-2 +0x1.152fd8p-2 +-0x1.eb0c42p-3 +0x1.c34eeap-1 +0x1.f84a2p+0 +0x1.43f32p-1 +0x1.38668cp+0 +-0x1.0fcddap-1 +-0x1.9f96a6p-3 +0x1.e85928p-2 +-0x1.361cep+1 +-0x1.8c83cep+0 +0x1.1c76acp-5 +0x1.5b1636p-1 +0x1.5c5494p-1 +0x1.969e8ap-5 +0x1.2440fap+1 +0x1.31fb48p+0 +0x1.2d1b84p-2 +-0x1.225302p-1 +-0x1.342994p+0 +-0x1.71951ep-2 +0x1.29b1a2p+0 +-0x1.cff758p+0 +0x1.2a3a82p+0 +0x1.f4252ap-4 +0x1.c8b542p-1 +0x1.83bb48p-3 +-0x1.844706p-1 +-0x1.0fdb2ep+1 +-0x1.35116p+0 +-0x1.b63122p-2 +0x1.a740bp-2 +0x1.094508p-1 +-0x1.98e72ap+0 +-0x1.808f84p+0 +-0x1.b7e28ap-2 +-0x1.3c6e26p+0 +0x1.e87adep-1 +0x1.3902b2p-3 +-0x1.76edd4p-4 +-0x1.1972a6p-1 +-0x1.8b4aap-2 +-0x1.4a916p-1 +-0x1.3e9f68p-2 +-0x1.9fb55ep-1 +0x1.0cca48p-1 +0x1.214854p+1 +0x1.0dc2f2p-2 +0x1.9a8406p+0 +0x1.a607cap+0 +-0x1.44bb7ep+0 +0x1.f3e262p-1 +-0x1.15187p+0 +-0x1.5946e6p+0 +-0x1.d8f4f8p-2 +-0x1.bc8404p-1 +0x1.c53ab4p-5 +0x1.191f9ap+0 +0x1.acbcecp-1 +-0x1.4c2d72p-1 +-0x1.02ea12p+0 +0x1.20889ep-2 +0x1.8c2f3p+0 +0x1.10b322p-4 +-0x1.2f0ad2p+1 +-0x1.2743a2p-1 +0x1.4c16c2p-2 +-0x1.035d74p-5 +-0x1.596772p-2 +-0x1.044af2p+0 +0x1.57275ap-1 +0x1.0b9a4cp+1 +0x1.c2c14ap-2 +-0x1.18b6fp-1 +0x1.aa7be8p-3 +0x1.0e7168p+0 +-0x1.b5a3dcp-3 +-0x1.c72a6ap-2 +-0x1.cb8108p-4 +-0x1.47dbd4p+0 +-0x1.df37b2p-1 +-0x1.430244p+0 +0x1.f6648p+0 +0x1.d75654p-1 +0x1.19a41ap-1 +-0x1.ac1622p-2 +-0x1.901e2p-1 +0x1.091688p-1 +-0x1.b8b082p-3 +-0x1.6e9738p-1 +0x1.66dc78p+0 +-0x1.6bd8bap+0 +-0x1.a8aa78p-7 +-0x1.aee52cp+0 +0x1.2c0abep-2 +0x1.bb5f1p-1 +-0x1.78192p-4 +0x1.2401c8p+0 +0x1.4296cep-1 +0x1.b9051ep+0 +0x1.6b220ep-1 +-0x1.97ec88p-1 +0x1.aed15ep+0 +0x1.144ca4p+1 +0x1.67aa5p+0 +-0x1.48a92p+0 +0x1.9a61f2p-3 +-0x1.131b2cp+0 +0x1.eaf848p-2 +-0x1.bd35c6p+0 +-0x1.a0321ap-1 +0x1.616dbp-1 +0x1.2ed1fcp-2 +0x1.04c86p-3 +-0x1.9f96e8p-2 +-0x1.0ef2a6p+0 +-0x1.6462b4p-3 +-0x1.d53832p-1 +0x1.b8dd7p-2 +0x1.4874bap-2 +-0x1.ec97bap+0 +-0x1.53ef34p-1 +-0x1.07fbaap+0 +-0x1.d5c394p-2 +-0x1.448fe4p+1 +0x1.094c28p-1 +0x1.31663ep+0 +-0x1.cf8768p-1 +0x1.3509dp-3 +0x1.8dabe2p-2 +0x1.89563ep-2 +0x1.41e1ccp-2 +-0x1.bb2d1cp-1 +0x1.1c840ep+0 +0x1.bc5d9p+0 +0x1.36b89cp-1 +0x1.7ef376p-1 +-0x1.88f8a4p+0 +0x1.033bdcp+0 +0x1.710218p-1 +-0x1.3d096ap-6 +0x1.3473c8p+0 +-0x1.e31a32p-1 +0x1.efcb56p-1 +0x1.a506aep-3 +-0x1.711fe8p-5 +-0x1.144e54p+0 +-0x1.821f6ap-2 +-0x1.facc3ep-4 +-0x1.8d14p+1 +-0x1.69e3aep-2 +0x1.4818c4p-1 +-0x1.40af88p+0 +0x1.74a9b4p+0 +-0x1.03bd38p+0 +0x1.6e1a9p-4 +0x1.702f9ep-1 +-0x1.2af8e2p+1 +-0x1.a28782p-1 +-0x1.6a13d2p-1 +0x1.bf6546p-3 +0x1.0073b4p-4 +-0x1.deccb4p-1 +0x1.b97cd6p+0 +-0x1.e8595ap+0 +-0x1.e8608ap-1 +0x1.29b278p-2 +0x1.1bd538p-8 +0x1.0c8efep-4 +0x1.8abba2p-1 +-0x1.701154p-2 +0x1.11c3p-1 +-0x1.fcebaap-1 +0x1.b7819ap-3 +0x1.c4abcep-1 +0x1.620198p-2 +-0x1.625d3p-2 +-0x1.4d1642p+1 +-0x1.6e78e8p+0 +0x1.ff57b4p-3 +-0x1.732f8p+0 +0x1.c60c8ap+0 +-0x1.6c0f72p-6 +0x1.6c6fccp-1 +-0x1.8770acp+0 +0x1.2e1f4p-1 +-0x1.8a5f1p-5 +-0x1.137b36p-4 +0x1.08318ep-1 +0x1.55dadp-1 +0x1.c697cap-1 +-0x1.7e14c4p-2 +0x1.c05afap-1 +0x1.e44ea6p-2 +0x1.d456c4p-3 +0x1.8f5974p-1 +0x1.9e9302p+0 +0x1.27f39ap+0 +-0x1.1bbf7cp-1 +-0x1.be890cp-4 +0x1.a553d6p-1 +0x1.43939ep-1 +-0x1.4045e4p+0 +-0x1.35a0f6p+0 +-0x1.3422aap-1 +0x1.fa67b6p+0 +-0x1.3cc6fcp+0 +-0x1.93ee6ep+0 +0x1.78175cp-2 +0x1.07b032p+1 +-0x1.39bc1cp-1 +0x1.7e1ecap+0 +-0x1.a8cdaap-1 +0x1.f5b0cap-1 +-0x1.e7061ap-1 +-0x1.323af2p-2 +0x1.8d033ap-1 +-0x1.a1a074p-1 +0x1.50cc42p-4 +-0x1.f56e5ep-1 +0x1.3859dap-1 +0x1.73203cp-1 +-0x1.8adde6p-1 +-0x1.d557aep-4 +0x1.36e46ep-3 +-0x1.21a532p+0 +0x1.27b778p-5 +-0x1.3d6d94p-1 +-0x1.11e906p-1 +-0x1.deaedep+0 +-0x1.6c2686p-2 +-0x1.751cb6p-2 +0x1.7e5a44p-1 +-0x1.a1a944p-1 +-0x1.631e76p-1 +-0x1.4974eap-3 +-0x1.610c3ap-5 +0x1.64f79cp-2 +0x1.ef4876p-2 +0x1.3bf078p+1 +0x1.1b3054p-5 +-0x1.0d3a5p-2 +0x1.017ee4p+1 +-0x1.208ccp+0 +-0x1.5f084ep+0 +-0x1.2bc952p-4 +0x1.79882cp-1 +0x1.f213b8p-1 +-0x1.a1dee8p-6 +0x1.398bap-2 +0x1.ba57b2p+0 +0x1.c72a08p-1 +0x1.435a1p+1 +0x1.b164eap-3 +0x1.adaf62p+0 +0x1.e9a2d2p-1 +-0x1.17544ap+0 +0x1.3276eap-4 +0x1.b26196p-1 +-0x1.02eafep-1 +0x1.68274p-1 +-0x1.1cd5aap+0 +0x1.e4a268p-1 +-0x1.2988d8p-1 +-0x1.35c038p-1 +-0x1.e10a52p-6 +-0x1.2596bap+0 +0x1.16428cp-2 +-0x1.d574c6p-4 +0x1.9e272ep+0 +-0x1.baca84p-1 +0x1.9f22e2p-2 +-0x1.c073cap-3 +0x1.1633b2p-1 +0x1.63fdep-2 +0x1.3bf4p-3 +-0x1.242928p-2 +0x1.b44f6p-1 +0x1.35ef8ep-1 +0x1.78c848p-1 +0x1.01263ep-3 +0x1.43f43cp+0 +-0x1.272e42p-3 +0x1.cde266p+0 +-0x1.2759fcp+0 +0x1.53c2ap-1 +-0x1.3b002ap-1 +-0x1.a9d384p-1 +-0x1.c0ffa4p+0 +0x1.28be5ap+0 +0x1.dee24p-3 +0x1.00a382p+0 +-0x1.089956p+0 +0x1.b96ebap-3 +0x1.1d9202p-3 +0x1.b4eabap+0 +-0x1.50679p+1 +-0x1.b0207ap-2 +0x1.15067ep-1 +0x1.33b2fep+0 +0x1.229d8ep-1 +-0x1.14bb16p+0 +0x1.06aa7ap-1 +0x1.b45904p-2 +0x1.715c2cp+0 +0x1.668408p-1 +0x1.f24d72p-3 +0x1.dbf50cp+0 +-0x1.938fbap+0 +-0x1.bbfd72p-4 +0x1.333e5ep+0 +0x1.05222ep-4 +0x1.8c6cd2p+0 +0x1.8f1b76p-2 +-0x1.02c5f6p-2 +-0x1.1713aap-3 +-0x1.a29ad4p+0 +-0x1.b6d618p-2 +-0x1.70b116p-3 +-0x1.d84738p-2 +-0x1.a232cp-4 +-0x1.a5b416p-3 +0x1.523a7ep+0 +0x1.e70aeep-2 +-0x1.5a1c98p-1 +-0x1.ed119p-1 +-0x1.792fd2p-3 +0x1.488072p-1 +-0x1.e435bep-2 +-0x1.e5248cp-1 +0x1.2ea91cp-1 +0x1.075236p+0 +-0x1.9fd766p-5 +0x1.d27774p-3 +0x1.a0de76p+0 +-0x1.779e1ap-1 +-0x1.9a63b2p-1 +0x1.4551cp-1 +-0x1.2bf0fp-4 +-0x1.ae0f78p-2 +0x1.0fec7ep+1 +0x1.34f0d2p-2 +0x1.69e272p-2 +0x1.2da5a4p+1 +0x1.a9cf96p-1 +-0x1.45019ep-4 +-0x1.2c2f96p-1 +0x1.ce6a22p-1 +0x1.e60fc4p-3 +-0x1.ba4f24p-1 +0x1.bef6acp-2 +-0x1.f08f32p-3 +-0x1.827efp-2 +-0x1.814518p-1 +0x1.929f7cp-2 +-0x1.2e62cap-3 +-0x1.0b1e92p+0 +0x1.8b1da8p-2 +0x1.41a8c4p-1 +-0x1.c2ed34p-1 +0x1.23ff52p+0 +-0x1.797516p-1 +-0x1.1c68dp-1 +0x1.31814p-2 +-0x1.19f828p-3 +0x1.4f28e4p+0 +0x1.9f7bep-3 +-0x1.0b7352p+0 +0x1.f24a98p-1 +-0x1.3785cp-1 +-0x1.28ddfp+0 +0x1.af2e4cp-1 +-0x1.bb9c34p-1 +-0x1.237384p+0 +0x1.216e94p-1 +-0x1.404f78p-3 +-0x1.d5f764p-1 +-0x1.6a54a4p-3 +-0x1.ea251ep-3 +0x1.e4d75cp-2 +-0x1.51d778p+0 +0x1.f0ffbep-3 +0x1.07cd9ap-2 +0x1.7291e8p-1 +-0x1.6b9766p-1 +0x1.16fa72p-1 +-0x1.68cf94p-1 +0x1.bda476p+0 +-0x1.568302p+1 +-0x1.044f2cp+0 +0x1.b32e7ap-3 +-0x1.05859ap+0 +-0x1.51373ep-6 +0x1.0ccfep-3 +0x1.217ce6p+0 +0x1.5f8346p-2 +-0x1.4855b8p+0 +-0x1.c67156p-4 +0x1.dd7502p-5 +0x1.2a6246p-1 +0x1.caa2ecp-3 +-0x1.682f24p-1 +-0x1.d0d90ep+0 +0x1.904d8p-1 +-0x1.d9bc36p-1 +0x1.b609dp-1 +-0x1.9a9a14p-1 +0x1.ed9074p-1 +-0x1.ada57ep-1 +0x1.8fce24p-2 +0x1.ac55ep-1 +-0x1.0c3b9p-2 +0x1.a5e5b4p-2 +-0x1.0565e8p-1 +0x1.6da238p-3 +0x1.b58b28p+1 +-0x1.ff2f3cp+0 +0x1.bef44ap+0 +-0x1.8801d6p-4 +-0x1.cbb29ep-2 +0x1.09dc7p-1 +0x1.05c2fep+1 +0x1.15f0ccp-8 +-0x1.6ef242p+0 +-0x1.4e5702p-1 +0x1.218a9p+0 +0x1.065246p-2 +-0x1.4bc35ap+0 +-0x1.503f56p-1 +-0x1.de0226p-1 +-0x1.7c16f2p+0 +0x1.be4304p+0 +0x1.a2e2c6p+0 +0x1.5f5178p-1 +-0x1.80f52p-1 +0x1.be8832p+0 +0x1.1e1ad8p+0 +0x1.88af12p-1 +0x1.56d51p-1 +0x1.2e8bcap-1 +0x1.7c2a16p-2 +-0x1.c3f246p-2 +0x1.0a91b4p+1 +0x1.11083cp+0 +-0x1.7e2af4p-1 +-0x1.7da2eap-3 +0x1.506ffcp-3 +0x1.7ab5eap-3 +0x1.b77cacp-4 +0x1.7b3b4ep+0 +0x1.bbddc2p-1 +0x1.c509a2p+0 +0x1.3a3a86p-1 +-0x1.bccadcp+0 +0x1.826b8p+0 +0x1.88115p-1 +-0x1.242f7ap-2 +-0x1.4b33fap-3 +-0x1.3ff7b2p+0 +0x1.e5c146p-1 +-0x1.0452ccp-6 +0x1.3826b6p-1 +-0x1.2fe8f8p-1 +0x1.4b188cp-1 +-0x1.02805ap-2 +0x1.81a3dp+0 +0x1.61605p-3 +-0x1.88b9b4p-2 +0x1.adbdep-1 +0x1.ef8b78p-3 +0x1.6f0586p-1 +0x1.02141ep+0 +0x1.e0380ap-2 +-0x1.72ba7p+0 +0x1.a6d0e6p-2 +-0x1.4730bap+1 +0x1.d2be6cp-2 +0x1.bdeb46p-1 +-0x1.13802ep+0 +-0x1.1f41e4p-3 +-0x1.29929cp-2 +0x1.d3f8e6p-3 +-0x1.39ce9cp-2 +0x1.0ad204p-3 +-0x1.e96f94p-3 +-0x1.21e5d8p-1 +0x1.62fc7p+0 +-0x1.fea528p-8 +-0x1.93dc6ap-2 +-0x1.680cd2p+1 +0x1.21f1f2p-1 +-0x1.060a6ep+1 +-0x1.1ff164p+0 +0x1.44b56cp-1 +-0x1.0ccf4p+1 +0x1.12b196p+0 +-0x1.220a6p-2 +-0x1.5ef9ecp-2 +0x1.71cdb6p-1 +0x1.1b40f2p+0 +0x1.dae342p-3 +0x1.ceb356p+0 +0x1.028d0ap-1 +-0x1.0e4394p-3 +0x1.c16dbep-1 +0x1.d86p-3 +-0x1.e6a31ap-1 +-0x1.d4eb08p-2 +0x1.1e75dap-4 +-0x1.0d4c2p+0 +0x1.11ddfep+0 +-0x1.d37956p-1 +-0x1.a04d48p-4 +-0x1.04014cp-3 +0x1.658adp-2 +-0x1.0ff5d6p-6 +-0x1.d05392p-3 +-0x1.26c032p+0 +0x1.2311b4p+0 +0x1.502734p-1 +0x1.687e12p-2 +-0x1.82955ep-3 +-0x1.f0a28ep-1 +-0x1.934f9p-2 +0x1.9f3cp-2 +0x1.104162p-1 +0x1.250e94p+1 +0x1.cbb8b2p-1 +-0x1.8d7ca4p+0 +-0x1.39dd92p-2 +-0x1.69653ap-1 +-0x1.9e5b08p+0 +0x1.cf9e7ep-4 +-0x1.f509a8p-1 +0x1.e6fb88p-2 +-0x1.a664fap+0 +-0x1.210bc6p+1 +-0x1.d76b72p+0 +0x1.c56e2cp+0 +0x1.2fd78cp-1 +-0x1.53571ep-2 +0x1.1fc02cp+0 +0x1.22edeep-4 +0x1.67e496p-2 +-0x1.deccf2p-1 +-0x1.2d01a8p-2 +-0x1.99ae3ap-1 +0x1.3e4dd6p+0 +0x1.32e094p-2 +0x1.b25072p-1 +-0x1.e1b734p+0 +0x1.36b69cp+0 +0x1.24780ep+0 +0x1.21a874p-1 +-0x1.3612bcp+0 +-0x1.e53778p-3 +0x1.17896cp+0 +0x1.0b2326p+0 +-0x1.53c8cap-1 +0x1.ea6f96p-1 +0x1.b4e004p-2 +-0x1.e2af58p+0 +0x1.0533a6p+0 +0x1.57c052p+0 +0x1.a8aec6p+0 +-0x1.70f68p-1 +0x1.51f402p-1 +0x1.db0648p-4 +0x1.4e1964p-3 +0x1.a93094p-2 +-0x1.1026fep-1 +0x1.2b118p-4 +-0x1.1663b2p-2 +0x1.64f32ap-2 +0x1.76f538p+0 +-0x1.229edap-5 +-0x1.9d5422p-3 +0x1.663992p-2 +0x1.827424p-3 +0x1.56ef8ap-1 +-0x1.48c9fcp-11 +0x1.2c9096p-2 +0x1.f11c2ap-3 +-0x1.d30d84p-1 +0x1.7c24bp-1 +-0x1.a8496ap-1 +-0x1.8d426p-2 +0x1.2fee8ep-1 +0x1.2784b4p-1 +-0x1.fa3b2p-3 +0x1.5f32acp-2 +-0x1.d1bb1p-1 +-0x1.b9e65cp-3 +-0x1.0f01eep+1 +-0x1.6dbe7p-3 +0x1.a46e98p+0 +0x1.4cde12p+0 +-0x1.e842a6p-1 +0x1.a07a38p-2 +0x1.021d6cp+0 +-0x1.07a6aap-2 +0x1.684072p+1 +0x1.5a13a4p-2 +0x1.e2f996p-5 +-0x1.5ffafep-2 +0x1.b56388p-3 +0x1.7d238p-4 +-0x1.61af1cp-1 +0x1.69b732p-7 +0x1.24984ap+0 +-0x1.89074p+0 +-0x1.ab4148p+0 +-0x1.dfbe18p-4 +0x1.9308cp-3 +0x1.c58a08p+0 +0x1.b362b4p-2 +0x1.57be1p-4 +0x1.3bd53ap-4 +-0x1.020ca6p+1 +0x1.83ec8ap-1 +0x1.b2c478p-1 +-0x1.113a0ap-1 +-0x1.d382c8p-1 +0x1.7880f4p-2 +0x1.971a04p+0 +0x1.0fb78p-1 +-0x1.9719cap-3 +0x1.ea1f6ep-4 +0x1.32beaep+0 +-0x1.cf59e6p-1 +0x1.1b29dp+0 +-0x1.3a8dc8p+0 +-0x1.9329f8p-1 +-0x1.da33fap-3 +-0x1.6ef64cp-2 +0x1.a07afep-3 +-0x1.52cf36p-4 +0x1.081ab8p-2 +-0x1.a3029ep+0 +0x1.0dd4a2p+1 +0x1.9c18ep-3 +-0x1.365096p-3 +0x1.f8c28p-2 +0x1.2e34b2p+0 +0x1.76e0ccp+0 +0x1.7fc06cp+0 +-0x1.1fc044p+0 +-0x1.0ae6fcp+0 +-0x1.2c6562p-1 +-0x1.cc02a4p-1 +0x1.eed6e2p+0 +-0x1.95d15ap+0 +-0x1.c9bdbap+0 +-0x1.31f03cp+1 +0x1.059c14p+0 +-0x1.cd3fc2p-1 +0x1.6e093cp-1 +-0x1.4d1a16p+0 +0x1.fbe58cp-2 +0x1.bc4616p-2 +0x1.8efeaep-4 +-0x1.edf52cp-1 +-0x1.c75fdep+0 +-0x1.360ca4p+0 +-0x1.8316aap-2 +-0x1.d60076p-6 +0x1.ad96b4p+1 +0x1.dcda46p-1 +-0x1.59eddp-6 +0x1.4b4d1ap-3 +0x1.33462p+0 +-0x1.29ca76p-1 +-0x1.be1556p-1 +0x1.ea0cp-2 +-0x1.ce3404p-2 +0x1.b50434p-1 +-0x1.e1bb82p-1 +0x1.ea0ff4p-5 +0x1.923c72p-4 +-0x1.4884c2p+0 +0x1.152026p+1 +0x1.d299f4p-1 +0x1.0386c8p+1 +0x1.00ec54p-3 +-0x1.0a6d14p-1 +0x1.0269a4p-1 +0x1.563868p-1 +-0x1.b712cap-3 +0x1.1f2cd4p-3 +0x1.ed4bep-4 +-0x1.a29e18p-5 +-0x1.069dcp+0 +-0x1.050c8ap-1 +0x1.90271cp+0 +0x1.17cf9ap-1 +-0x1.917cap-2 +0x1.15f86p+1 +0x1.b87e36p+0 +0x1.7ae312p-2 +-0x1.c5c72cp-4 +-0x1.eb5c14p-2 +0x1.2db7cep+1 +0x1.917df8p+0 +0x1.0032d2p+0 +-0x1.c04d52p-3 +-0x1.658aacp+0 +-0x1.def7a4p-1 +0x1.9dd3eap+0 +-0x1.e29c2ep+0 +-0x1.3a92f6p-1 +-0x1.018406p-2 +-0x1.a1bb46p-1 +-0x1.cd19acp-2 +-0x1.48b60ep-2 +-0x1.bd3504p-3 +-0x1.c46618p+0 +0x1.bf977ep-3 +0x1.48e154p+1 +-0x1.a5f17p-3 +-0x1.f0471p-1 +-0x1.49c53ap-1 +0x1.99798ep-3 +0x1.02193p-2 +0x1.91aab6p-1 +-0x1.28062ap+0 +0x1.521066p-2 +-0x1.2aefep+0 +-0x1.53a44ep+0 +0x1.721d42p+0 +0x1.cf5228p-3 +0x1.539ccep-2 +0x1.1d375ep+1 +-0x1.1e0f98p-3 +0x1.6b2458p-1 +0x1.5168bp-1 +-0x1.67befp-1 +0x1.ba7dp-3 +0x1.6f2d8ap-2 +-0x1.4e682ep-1 +-0x1.866034p-4 +-0x1.a8b234p-1 +-0x1.5b18fp+0 +-0x1.43970cp-1 +0x1.2cbe72p-5 +-0x1.26b7cp+0 +0x1.194518p-2 +-0x1.d7ef26p-1 +0x1.6bd3bep-1 +0x1.2d60d6p+0 +0x1.4e2a48p-2 +-0x1.9bc726p-1 +0x1.6521f8p+0 +0x1.3246dcp-2 +-0x1.80003p-2 +-0x1.1678p+0 +-0x1.14856p+1 +0x1.54ed1cp+0 +-0x1.2eefa8p-2 +0x1.97c2d4p-2 +-0x1.142d7cp+0 +-0x1.796aaap-4 +0x1.95c6ecp-5 +0x1.546bc4p+1 +-0x1.998eb2p-2 +0x1.25fa9p-1 +0x1.fc34f6p-1 +-0x1.6999cap+0 +0x1.52bfeep-2 +0x1.564f16p-1 +-0x1.aeebaap-2 +0x1.99268ap-5 +-0x1.ee66bp-2 +-0x1.1c6a18p-1 +0x1.435e7ep-4 +0x1.76cc2ep+1 +-0x1.83fc52p-2 +0x1.12f022p+0 +0x1.03605cp-1 +0x1.add1eap-4 +-0x1.12d562p+0 +-0x1.b48c3p-2 +0x1.6b3ae4p-6 +0x1.173f84p+1 +-0x1.0c904cp+1 +0x1.67d708p+0 +0x1.46b33p-4 +-0x1.95dc2p-5 +-0x1.fb3326p-3 +-0x1.d185f6p-1 +0x1.7f29d6p+0 +0x1.404b72p-1 +-0x1.d55568p-1 +-0x1.6dfd1cp+0 +-0x1.ec906ep-1 +-0x1.685456p-1 +-0x1.fe44a2p-4 +-0x1.5508fp-3 +-0x1.762efap-3 +0x1.d80ad8p+0 +-0x1.486074p-6 +0x1.0a8cf2p+0 +-0x1.216b44p+1 +-0x1.5c978cp-6 +0x1.823b3p+0 +0x1.741788p-1 +-0x1.2f5176p+0 +-0x1.c4b98p+0 +0x1.4b06dcp-1 +0x1.9ac9d8p+0 +-0x1.5dc2eep+0 +-0x1.6a96ep+0 +-0x1.b56508p+0 +0x1.03ba24p-1 +-0x1.00f62cp+0 +-0x1.290906p+0 +0x1.200272p-5 +0x1.02cdd8p+0 +-0x1.c1df0ap-2 +0x1.62082cp+1 +-0x1.38363p+1 +0x1.05e18cp+0 +0x1.b4f518p-1 +0x1.5d5d26p-1 +-0x1.1bd404p+0 +0x1.1ed7d2p+0 +-0x1.4ab18ep+0 +0x1.45977p-1 +0x1.86cc4ap+0 +0x1.0faedep+0 +0x1.ff5698p+0 +-0x1.94f97ap-2 +0x1.e3ca74p-2 +-0x1.4e0fbcp-1 +0x1.4f04d2p+0 +0x1.118368p+0 +0x1.1cf136p-1 +0x1.c262bcp-1 +0x1.35774p+0 +0x1.c7e2aep+0 +0x1.0ea45cp+0 +0x1.70b79cp-1 +-0x1.809facp+0 +0x1.073ac8p+1 +-0x1.00e0b4p+1 +0x1.18653cp-1 +-0x1.2914dcp-1 +0x1.e367c2p-1 +0x1.a48fbp-4 +-0x1.b7f86cp-1 +0x1.cf689cp-2 +-0x1.4df39p-1 +0x1.3d9148p-1 +0x1.04d87p-3 +0x1.183f9p+0 +0x1.131824p-1 +-0x1.cae47cp+0 +-0x1.72a1c2p-1 +-0x1.3d1ec8p-7 +-0x1.051fbcp+0 +-0x1.dd8fcap-3 +0x1.ac2c58p+0 +0x1.cf0ef6p-3 +0x1.2a15bcp+0 +-0x1.6458bap-2 +0x1.3dfbap+0 +0x1.acce48p-2 +-0x1.4a6c2ap-1 +0x1.0d65ep+0 +-0x1.ef75c4p+0 +0x1.294a02p-2 +-0x1.1aa7e2p+0 +-0x1.d7ae6cp-3 +-0x1.dabe96p-2 +-0x1.42dc8p-5 +-0x1.e3ffp-1 +-0x1.567bdp+0 +0x1.45e4cap-1 +-0x1.490a68p+0 +-0x1.0f8e2p+0 +0x1.6b87dep-4 +-0x1.948dp-2 +0x1.215098p+1 +0x1.91ff1p-1 +-0x1.e494c4p+0 +-0x1.b26978p-1 +0x1.9b8ef8p-2 +0x1.4fc9ccp-1 +0x1.345edap+0 +0x1.249b54p+0 +-0x1.360a5cp+0 +0x1.6a3caep+0 +0x1.08101ep+1 +-0x1.ecf65cp-3 +0x1.62cadap-3 +-0x1.06112ep-1 +0x1.991d78p-1 +0x1.606aep+0 +-0x1.070714p-3 +-0x1.562a98p-4 +-0x1.dc5e96p-1 +-0x1.83bc2ep-2 +0x1.5f291cp-6 +0x1.f94486p-1 +0x1.0c56dp+0 +-0x1.4f8788p+0 +0x1.23b238p-4 +0x1.990464p-1 +0x1.06002cp-5 +-0x1.f13c1ep-4 +-0x1.180a16p-2 +-0x1.8f8b4ep+0 +-0x1.1649f2p+0 +-0x1.97f9eap-2 +-0x1.4fe618p-1 +-0x1.274042p+0 +0x1.10b602p-3 +0x1.de455ap-3 +0x1.f010c6p-1 +-0x1.18296ep-3 +-0x1.3d588cp-3 +-0x1.6d5964p+0 +-0x1.9dca2ap-2 +0x1.257a96p+0 +0x1.3b9d9ap-2 +-0x1.ead32cp+0 +-0x1.47b2dp+0 +-0x1.319552p+0 +0x1.03d558p+0 +0x1.c00ae2p+0 +-0x1.8fab24p-4 +0x1.3549ccp+0 +0x1.007aa6p-1 +0x1.457e7ap-1 +0x1.18726cp-1 +0x1.13ddb4p-2 +-0x1.03641ep-1 +0x1.4c7becp+0 +-0x1.a59092p-2 +0x1.2641cap-1 +0x1.156662p+1 +-0x1.e0f6fcp+0 +0x1.05feecp+1 +0x1.7b06f8p+1 +-0x1.54405ap-1 +0x1.705f56p-1 +-0x1.8f2aeap-1 +0x1.d1237p-2 +0x1.6718eep-1 +-0x1.57e652p+0 +-0x1.79544ep-2 +-0x1.16d64p+0 +-0x1.1ac906p+0 +-0x1.e85af4p-1 +0x1.bb11c6p-3 +0x1.7f800ep-1 +0x1.3d5614p+0 +-0x1.cb8fc6p-2 +-0x1.38784cp+0 +-0x1.4ab4fap-3 +0x1.1d6b52p+1 +0x1.3dd5b8p-1 +-0x1.ffa216p-3 +0x1.476134p-2 +0x1.e5787cp-2 +-0x1.f9e446p-2 +-0x1.93e5d2p-2 +0x1.4357fap-1 +-0x1.4f73ep-2 +0x1.9d7f48p+0 +-0x1.f46b4cp-4 +0x1.4cc132p-3 +0x1.3e01aep+0 +-0x1.b8cd7cp-2 +0x1.17734cp-3 +-0x1.4d84b6p+1 +-0x1.5e3c2cp-3 +0x1.39600cp+0 +-0x1.d9fed2p-1 +0x1.cf3dfp-1 +0x1.97d41ap+0 +0x1.ee4f3ep-1 +0x1.298adap-2 +-0x1.89719cp-4 +0x1.7a6966p-4 +0x1.323646p+0 +0x1.e761cap-2 +-0x1.f26d5ep-1 +-0x1.32b2dp-1 +0x1.c7fba6p-6 +-0x1.016d02p-5 +-0x1.29eb78p-2 +-0x1.0abdfp-1 +-0x1.83caeep+0 +-0x1.e77142p+0 +-0x1.2082dcp+0 +-0x1.0b184ep-4 +-0x1.2f8bb2p+1 +-0x1.b2a8bap-1 +0x1.900b1ep+0 +-0x1.f1c7ecp-2 +0x1.810202p-2 +0x1.2c9fc4p-3 +-0x1.f03356p+0 +-0x1.9fd06ep+0 +0x1.9d463ep+0 +-0x1.3acaaap+0 +-0x1.6968e6p+0 +-0x1.b4160ap-6 +-0x1.6b96b2p-1 +-0x1.50589ap-3 +-0x1.1ff994p+1 +-0x1.2f7d76p+0 +0x1.b05bd4p-6 +0x1.40ed04p-1 +0x1.228e5ep+0 +-0x1.112b6p-4 +-0x1.be5892p-1 +-0x1.c6a59ap+0 +0x1.a56efp-2 +0x1.918a52p-3 +0x1.2d04aep-2 +0x1.1aa9f2p-2 +0x1.0eb2acp+0 +-0x1.a38a2cp+0 +0x1.c2fa24p-2 +0x1.cd0676p+0 +-0x1.171818p-1 +-0x1.38933ep+1 +0x1.8107eap+0 +0x1.96ff2cp-1 +0x1.188cd6p-3 +-0x1.f6b878p-7 +-0x1.2bfef2p-1 +-0x1.076554p-1 +-0x1.4afc24p-1 +0x1.1aa984p+0 +-0x1.85ce3p+0 +0x1.2a3854p-1 +-0x1.bf4e26p-1 +0x1.b00866p-2 +-0x1.9a0346p+0 +-0x1.97ba22p+0 +0x1.6ef53ap-4 +-0x1.bdb7c6p+0 +0x1.5259b4p-1 +-0x1.8852bp+0 +0x1.e2c12ep-1 +0x1.daed1ep-2 +0x1.2c7a8ap-1 +0x1.9331fp+0 +-0x1.557626p-1 +-0x1.146f9ep+0 +-0x1.28a022p-1 +-0x1.a2228ep+0 +0x1.0b5b48p+0 +0x1.d73f7ep-2 +-0x1.a4ccep-2 +-0x1.5018e8p-2 +-0x1.72153ep+0 +0x1.a8f7b2p+0 +-0x1.26c92cp-4 +-0x1.3ca7f8p+1 +0x1.17deacp+0 +-0x1.5a8bbap+0 +0x1.84ab42p-2 +0x1.d44e1cp+0 +0x1.dc0de4p+0 +0x1.87509p-5 +0x1.c4356p-3 +-0x1.d934b4p+0 +-0x1.3dc2bep+0 +-0x1.06ed8ep-1 +0x1.4d3d7p-5 +-0x1.dd5742p-2 +0x1.5bac46p-1 +-0x1.d54bacp-1 +-0x1.2ce968p+0 +-0x1.41ab3ep-1 +0x1.44f836p-9 +0x1.516194p-1 +-0x1.a7bbf8p-1 +-0x1.217622p+1 +-0x1.9fdd64p-1 +0x1.42b618p-9 +0x1.ad52dep-2 +-0x1.a0565ep+0 +-0x1.64508ap-1 +0x1.67ea94p-3 +-0x1.7d311cp-1 +-0x1.5ddfbap+0 +0x1.c135fap-4 +0x1.01478ap-4 +-0x1.3333aap+0 +-0x1.4496a2p+0 +-0x1.711ea6p+0 +-0x1.755ecp-10 +0x1.1ac204p-8 +-0x1.d88bd4p-3 +0x1.6dce5p-1 +-0x1.16dc0cp+1 +-0x1.27c77cp-4 +-0x1.906e9ep-3 +0x1.18e9b8p-6 +-0x1.2e8c2cp+0 +-0x1.ff1f18p+0 +-0x1.2c24bap-1 +-0x1.ac2c6ep-2 +-0x1.d221a6p+0 +0x1.d71f28p-2 +-0x1.630a7ap-4 +0x1.5cb6bcp+0 +-0x1.4d706ep-1 +-0x1.81db16p+0 +0x1.1d45ecp-1 +-0x1.bbd304p-1 +0x1.692926p-1 +0x1.a623aep-4 +-0x1.080956p-2 +-0x1.8c6be4p+0 +-0x1.b92f88p-4 +-0x1.4ef9f2p+0 +0x1.67160ap+0 +-0x1.13b8dcp-2 +-0x1.1247dep+0 +-0x1.596ebcp+1 +0x1.d43b42p+0 +0x1.2248fep+0 +0x1.36f16p-6 +-0x1.62a91ap+0 +0x1.c5cf3p-1 +-0x1.df6c8cp-1 +-0x1.f943acp-3 +0x1.51a9cap-1 +-0x1.9108fap-1 +0x1.fe4862p-2 +-0x1.04fffp-2 +-0x1.d641c8p-6 +-0x1.f9d3d6p-3 +-0x1.ee6296p-3 +-0x1.94a686p-2 +0x1.a7c516p-1 +0x1.5fb0a2p-1 +0x1.86dca4p-3 +0x1.38018cp-1 +-0x1.ba118p+0 +0x1.fc074ap-2 +0x1.0ea0d8p+0 +-0x1.0efba6p-2 +-0x1.17c456p-1 +-0x1.596f72p-3 +-0x1.392248p+0 +0x1.5122ep+0 +0x1.f0ef8p-3 +0x1.b57fcp-1 +-0x1.f4b12ep-1 +-0x1.c8731ap-1 +0x1.31dd68p+0 +-0x1.a303a4p-7 +0x1.4e86c8p+0 +0x1.1a56eep+0 +-0x1.7238cep+0 +0x1.83510cp-1 +0x1.32953ap-2 +-0x1.e298a4p-3 +0x1.cc7238p-4 +-0x1.094404p-2 +0x1.11645ap-2 +0x1.fbafb2p-2 +-0x1.253b5p+0 +-0x1.e337p+0 +0x1.04b988p-1 +0x1.a4e32ep+0 +-0x1.6e6b6cp-2 +-0x1.10709cp+0 +-0x1.48d7f6p+0 +-0x1.cc1444p+0 +0x1.87c2ep-2 +0x1.cb2c2p-1 +-0x1.c6295ep+0 +-0x1.218ee2p-1 +-0x1.c32624p-1 +-0x1.061936p+0 +-0x1.9e64f8p+0 +0x1.99936ap+0 +-0x1.5862d6p+1 +-0x1.b02166p-2 +-0x1.99318p-5 +-0x1.e066f6p-2 +-0x1.620d2p-2 +-0x1.2d339cp-1 +-0x1.8d62fap+0 +-0x1.00e28ap+1 +-0x1.228056p-1 +0x1.650becp-1 +0x1.add9cep-1 +0x1.9234p+0 +0x1.67b7ep-1 +0x1.25eda2p+0 +-0x1.5a3b46p-4 +-0x1.5c45bcp-3 +0x1.627c98p-4 +0x1.6a81eep+0 +0x1.8da70ap-3 +-0x1.26483ap-3 +0x1.f93adep-2 +-0x1.ae35d6p+0 +-0x1.d0244cp-3 +-0x1.d76602p-1 +-0x1.5802e8p+0 +0x1.5ea6b8p+1 +-0x1.2cbb8p+0 +-0x1.219d9cp-1 +-0x1.86f4a4p-1 +0x1.be4ac6p-1 +-0x1.9f4dc6p-1 +-0x1.0ce498p-3 +-0x1.2710cap+0 +0x1.d7f332p-2 +0x1.ea8f9ap-2 +0x1.bbbb08p-1 +-0x1.da4784p-1 +-0x1.090ce8p-2 +0x1.9fcc2p+0 +-0x1.59a33p+0 +-0x1.9f049cp-4 +0x1.4b15aap-1 +-0x1.2b1f28p+1 +-0x1.a43ecap+0 +-0x1.05965cp+0 +0x1.6fa45ep+0 +-0x1.e90b1ap-1 +-0x1.a6fa42p-1 +-0x1.454526p-1 +0x1.078a8cp+1 +-0x1.fe4f1ep-1 +0x1.032e9ep-1 +0x1.5afe8ap-2 +-0x1.54094cp-1 +0x1.8124ccp-1 +0x1.80e338p-4 +-0x1.45ae58p-5 +-0x1.44c552p-1 +0x1.9542f4p-2 +0x1.943224p+0 +0x1.9edd1ap-2 +-0x1.61b202p+0 +0x1.cabf4cp-2 +-0x1.e190cep-3 +0x1.15f088p+0 +0x1.600cf4p+0 +0x1.277e06p-1 +0x1.036adcp+0 +-0x1.069f94p-3 +-0x1.1d4d02p+0 +-0x1.7b7f4p-1 +-0x1.20c724p+1 +-0x1.584b22p+0 +-0x1.06c72p-4 +-0x1.0c2c58p-2 +0x1.0a81fcp+1 +0x1.28c146p-1 +-0x1.4304dp+0 +-0x1.92769p-2 +0x1.888d26p-1 +-0x1.3856d8p+0 +0x1.bfd58cp-3 +-0x1.806cep+0 +0x1.397106p-3 +-0x1.7db2d8p-2 +-0x1.07b6fp-6 +0x1.1771p-1 +0x1.b17e6ap-3 +0x1.29cdap+0 +-0x1.2727a4p-2 +0x1.cdd90ep-4 +0x1.dd3dbp-1 +-0x1.f568bep-1 +-0x1.8777d2p-3 +0x1.3683c8p-3 +0x1.18abeep-1 +-0x1.6a2fb6p-1 +0x1.9c994p-2 +-0x1.dd0cd2p-1 +-0x1.89bb84p+0 +-0x1.450daep-1 +0x1.1db3aap-1 +-0x1.5253d6p+0 +-0x1.773fccp+1 +-0x1.44725ep-3 +-0x1.85e306p-1 +-0x1.248a4cp+0 +0x1.07cac4p+1 +0x1.606b66p-1 +-0x1.d48072p-2 +0x1.80ae08p+1 +-0x1.837b8ep-1 +0x1.be439ap-2 +-0x1.f1d072p-1 +0x1.582ecp-2 +-0x1.22fa58p+0 +0x1.97693ep+1 +0x1.b3b696p-1 +0x1.26d7b6p-5 +0x1.76144cp-1 +-0x1.447f3p-3 +-0x1.4fbc6ep-1 +0x1.c7934ep+0 +-0x1.e43558p+0 +-0x1.3214ecp-1 +-0x1.2e4f2p+1 +0x1.ff5b86p-4 +0x1.0b2b7p+0 +0x1.335c9cp+0 +-0x1.953d56p-3 +0x1.8d2b92p-3 +0x1.bae886p+0 +0x1.167fep-2 +0x1.27a874p-2 +0x1.8e2d5ap+0 +0x1.8bd952p+0 +0x1.0c35b2p-2 +-0x1.07462ep+0 +-0x1.42b768p-1 +-0x1.7b042p-4 +-0x1.6584ep-2 +0x1.1dfed4p-3 +-0x1.ba50d2p-2 +0x1.e29c9cp-1 +0x1.92f14ep-2 +-0x1.39170ep-2 +-0x1.8693dp-1 +0x1.2dbb1cp+0 +-0x1.5db2b8p-5 +0x1.753d0ep+1 +0x1.1ff696p-1 +-0x1.1fb894p-1 +0x1.9b7ccap+0 +-0x1.1a63dcp+1 +-0x1.a0a162p+0 +0x1.355976p-1 +-0x1.6d0ef2p+0 +0x1.2fc69cp+0 +-0x1.3de742p+0 +-0x1.72451p+0 +-0x1.9e1fc2p-7 +-0x1.d52816p-1 +-0x1.0f426ap+1 +-0x1.75a2d2p-2 +0x1.cb7f68p-3 +0x1.9e243cp-1 +-0x1.e8eb92p+0 +-0x1.271f4cp-1 +-0x1.de4e4p-2 +0x1.84feeep+0 +-0x1.4bf83p-2 +-0x1.70a0cep+0 +-0x1.82e932p-1 +0x1.0aad4ap+0 +-0x1.7edcd2p+0 +0x1.7ba93ep+0 +-0x1.1cc26cp+0 +-0x1.59e246p-2 +0x1.c9e902p-2 +0x1.1e397p+0 +0x1.2d37a4p+1 +-0x1.7bdd62p-4 +-0x1.02b03ap+1 +0x1.c7e04p+0 +-0x1.7b9b28p-6 +-0x1.86dd5ep+0 +-0x1.26a54ap-1 +0x1.0b6f22p-1 +-0x1.a5b24ep+1 +0x1.8f9b32p-1 +0x1.3f1eeep+0 +-0x1.79bb44p-6 +0x1.405dfp+0 +0x1.7810fep+0 +0x1.59039ep+0 +-0x1.533b7ep-1 +-0x1.847b9cp+0 +0x1.90b914p+0 +0x1.0f6932p+0 +-0x1.7e3a5ap-1 +0x1.0a82d2p+0 +0x1.7dae4ap-3 +0x1.fa8bb4p-2 +0x1.2ae8p-4 +-0x1.a4ebb4p-1 +0x1.334a7cp-1 +0x1.8ca71ap+0 +0x1.482d3p-3 +-0x1.30929ep-1 +-0x1.80e35ep-1 +0x1.03de5p+1 +0x1.d4c766p-13 +0x1.138c14p+1 +0x1.7f977ep-2 +-0x1.0d82ep-2 +0x1.8771f6p-2 +-0x1.a59fc8p-1 +-0x1.5acebep+1 +0x1.943dbep-1 +-0x1.6b5f68p-2 +-0x1.116522p-1 +0x1.a468ecp-5 +-0x1.4413d6p-4 +0x1.b61754p-1 +-0x1.3d3638p+1 +0x1.307aap-1 +-0x1.f0e568p-2 +-0x1.2c4794p-1 +-0x1.b2cdd8p-1 +0x1.a5a8cep-1 +0x1.012dd6p-1 +-0x1.247088p-1 +0x1.9b817ap-3 +0x1.9d2906p-1 +-0x1.a4ad3p-1 +0x1.e40b96p-4 +-0x1.6330bep+0 +0x1.af60ep-1 +-0x1.3cc692p+0 +0x1.138622p-2 +-0x1.0584f8p-2 +0x1.1d6246p-1 +0x1.d5e8c4p-1 +-0x1.e79712p-1 +0x1.ad9732p-1 +0x1.9697c6p-1 +-0x1.e3f9c8p-6 +-0x1.96324ep-1 +-0x1.dea8dp-3 +0x1.4ec636p+0 +-0x1.5f8228p-1 +-0x1.e8ac1ap-3 +0x1.1d467ap-2 +-0x1.9bd878p-5 +0x1.1f0e94p+0 +-0x1.8da4c4p-1 +-0x1.1bd46ap+1 +-0x1.9cbb36p-2 +0x1.764c24p-1 +-0x1.80412ap+0 +0x1.50b8fep-1 +-0x1.b62014p-3 +-0x1.3927dap-6 +-0x1.fc76eap-1 +0x1.8404e6p-3 +-0x1.62dd12p-4 +0x1.85ad44p-2 +-0x1.030e14p-5 +0x1.3122dap-1 +-0x1.817e4ap-1 +-0x1.41fe3cp-1 +-0x1.87ea26p-1 +0x1.49d826p-2 +0x1.94c504p-4 +-0x1.936702p-6 +-0x1.5e0854p+0 +0x1.7526e4p-1 +0x1.3c73d4p-1 +-0x1.44c8d8p-1 +0x1.aa17b6p+0 +-0x1.abbbf4p-2 +-0x1.935e2cp-1 +0x1.fbf998p+0 +-0x1.460f66p-1 +0x1.99d664p-2 +-0x1.9ad506p+0 +0x1.65a63p-5 +-0x1.094da4p-1 +0x1.5c25b8p-2 +0x1.75acf6p+0 +-0x1.030ebcp-1 +0x1.638e1ep+0 +0x1.7a132ap-2 +-0x1.6ad65cp-2 +-0x1.8b3d6cp-2 +-0x1.42b04p-2 +-0x1.7c9dfep-1 +-0x1.4cfbf8p-1 +-0x1.2efc82p+1 +0x1.b9edfap+0 +0x1.882ed8p+0 +0x1.68ff7cp+0 +0x1.f863aep-2 +-0x1.276972p-2 +-0x1.b80c5ep-1 +-0x1.1d73eep-2 +0x1.1d386ep+1 +-0x1.15e4f4p-1 +-0x1.5f5f7cp-1 +-0x1.3c883ep+0 +-0x1.e62d7ep-1 +-0x1.3dbf84p-1 +0x1.06a988p+0 +0x1.e77978p-1 +-0x1.35eb76p+0 +0x1.a7332p-2 +-0x1.c2e0b8p-2 +-0x1.b5b8aep-3 +0x1.d50ffp-4 +0x1.007b54p-1 +-0x1.d7f8bap-3 +0x1.1e4004p-1 +0x1.cf7be2p-3 +-0x1.edec2ap-1 +0x1.2787eep-1 +-0x1.8b733ap-1 +0x1.c54666p+0 +0x1.c92824p-1 +0x1.ba93d4p-3 +-0x1.ed546p+0 +-0x1.23fce4p-2 +-0x1.17b1ccp+0 +-0x1.5bafd2p+0 +-0x1.257704p-1 +0x1.a2fd4p-2 +-0x1.21a3c2p-2 +0x1.8d04fep-4 +-0x1.1d9faep-1 +0x1.74be2ap+0 +0x1.883dap+0 +-0x1.cbf06p-6 +-0x1.b69ba8p-3 +0x1.c81e2ap+0 +0x1.911eaep-1 +0x1.f58ab6p-2 +0x1.6b1ecep+0 +-0x1.91bbfcp-1 +0x1.e99e7ap+0 +-0x1.3406eep-1 +-0x1.815594p-1 +0x1.0538fp-5 +-0x1.d823ecp-1 +0x1.a7811ep-1 +-0x1.37a606p+0 +-0x1.14bb9ep-2 +0x1.2298d6p-3 +0x1.5d9d62p-1 +0x1.985deep-1 +-0x1.0b836ap-1 +-0x1.e1af8p+0 +-0x1.a0a29p-1 +0x1.5ed4c6p+0 +-0x1.4f572p-1 +0x1.88016ap+0 +0x1.ce82e8p-1 +0x1.7868e8p+0 +-0x1.825968p-1 +-0x1.2dfec2p-2 +0x1.86b9d4p-1 +0x1.b2fe34p+0 +-0x1.b9a9d6p-4 +0x1.048f2ep-6 +-0x1.cdb44cp-1 +-0x1.40301ep-4 +-0x1.6cb2e2p-2 +-0x1.625ccep-1 +-0x1.bdaf8ap+0 +-0x1.4987d8p-1 +0x1.59c57p-1 +-0x1.77e1d6p-2 +-0x1.6b0ae4p-2 +-0x1.542d84p+0 +0x1.489b3ap-1 +-0x1.a21d04p-1 +0x1.e5b1bp-3 +0x1.46ab06p-2 +-0x1.d95bf2p-1 +0x1.491ba6p+0 +-0x1.47e024p+0 +0x1.2c4402p+1 +0x1.736228p+0 +0x1.aed0eep-1 +0x1.f01eb8p+0 +0x1.e8ceaap-5 +-0x1.6b7314p+0 +-0x1.9d3b5p-1 +-0x1.a8a988p-3 +0x1.0f9026p-2 +-0x1.031e04p+0 +-0x1.077e4ap+0 +-0x1.f5758p+0 +0x1.697cdcp-3 +-0x1.65d80cp-2 +-0x1.2d790cp-1 +-0x1.72e49ap-1 +-0x1.3e616p-1 +-0x1.1609e4p+0 +-0x1.b57362p-3 +-0x1.8fcda6p-3 +0x1.6bf0a4p-1 +0x1.ad48c2p-2 +-0x1.890358p+0 +-0x1.cdc0fep-4 +-0x1.3a5574p-1 +-0x1.cb8c32p-3 +-0x1.b916e8p+0 +-0x1.ec6558p-7 +0x1.488d7cp+1 +-0x1.f96ce8p+0 +-0x1.f7c0e6p-3 +0x1.8bf916p-2 +-0x1.6ff716p-1 +0x1.27b2b8p+0 +0x1.d591b6p-7 +-0x1.2015fep+1 +-0x1.8da66ap-4 +-0x1.159efep+0 +-0x1.1a5f28p-1 +-0x1.af5ae2p-1 +-0x1.6c16p-2 +-0x1.079bbep-1 +-0x1.6a98d4p-1 +0x1.09ea74p-1 +0x1.ecfe0cp-2 +0x1.f8472cp-2 +0x1.a4ef6p-2 +-0x1.8123ap-1 +0x1.5387fcp-1 +-0x1.80dc1cp-1 +0x1.50ab5cp-2 +0x1.c4d62ep-2 +-0x1.524fd4p-3 +0x1.44580cp-1 +0x1.bcf5e6p-1 +-0x1.ec2f52p-1 +-0x1.d881cep-4 +0x1.5588c6p+0 +0x1.36bfeep+0 +-0x1.228f88p-5 +-0x1.4fea72p-4 +0x1.59f8cap-5 +0x1.cbdcf4p-4 +0x1.2f05ccp-1 +0x1.f92abcp-1 +-0x1.a8b95ep-2 +-0x1.83ff64p-1 +0x1.de453ep-3 +-0x1.70b986p-1 +0x1.da1c68p+0 +0x1.21b5b4p+0 +0x1.d2127ap+0 +0x1.83719cp-1 +-0x1.a4349cp-1 +0x1.b878b8p+0 +0x1.6a370ep-2 +-0x1.118e54p+0 +-0x1.3df8b6p-2 +0x1.8a5014p+0 +0x1.9d558ep-2 +0x1.8bdbe2p-4 +0x1.9a65a4p-1 +-0x1.7f251p-2 +-0x1.3b1f2p-1 +-0x1.345fb2p-2 +-0x1.75771ep-2 +-0x1.38211ap+0 +-0x1.ec1426p-3 +0x1.c4f346p+0 +-0x1.4b57ep-1 +0x1.ffb67p-1 +-0x1.01df0ep-1 +-0x1.15df94p+0 +-0x1.a170f6p-1 +-0x1.d992ep-3 +-0x1.2baf74p-1 +0x1.a85186p-2 +0x1.abcea8p-2 +0x1.ab7cbap+0 +0x1.42e69ap-3 +-0x1.9d0814p+0 +-0x1.0b9938p-1 +-0x1.0a0086p-4 +-0x1.b699fp-6 +0x1.bb03a4p-2 +0x1.2fb4aep-1 +0x1.03cfa4p+1 +-0x1.abf1b8p-4 +0x1.613976p+1 +0x1.dd2618p-1 +0x1.275076p-2 +-0x1.84c576p-7 +0x1.7042a2p-3 +0x1.c82e92p-2 +-0x1.a57daap-2 +0x1.66a4dep+0 +0x1.c6a39ap-5 +0x1.29cfbcp+0 +0x1.89c30ap-2 +-0x1.762f1ep-1 +0x1.bfb29p+0 +0x1.8229ecp-4 +0x1.fab966p-3 +0x1.88906p+0 +-0x1.db54dcp-1 +-0x1.21161ap-2 +0x1.6df6d2p+0 +0x1.0259a8p-2 +0x1.7c3ad6p+0 +0x1.6422f8p-4 +0x1.9b092p-3 +-0x1.1be8e4p-1 +-0x1.70ed12p-1 +-0x1.25d4fap+1 +0x1.5d7ffp+0 +0x1.9a3d98p+0 +-0x1.b669p-1 +0x1.a72812p-5 +-0x1.eba0cp+0 +0x1.a5e5f6p-2 +-0x1.7288ap-1 +-0x1.8935cap-1 +-0x1.2a829cp+0 +-0x1.48ebdcp-1 +0x1.5419fcp+0 +-0x1.50327ep-1 +0x1.5e3d5cp-1 +0x1.0d9ddap+1 +0x1.82002ep-7 +-0x1.81246ap-2 +0x1.1ded02p+0 +-0x1.f34346p-3 +0x1.61f206p+0 +0x1.39cca6p-2 +-0x1.8a8c7ap-4 +-0x1.e29c88p-2 +0x1.361954p-2 +0x1.17da7cp-1 +0x1.18ca1p-5 +-0x1.6b7288p-1 +0x1.56ccbep-6 +0x1.73c642p-4 +0x1.87c68cp-1 +0x1.d69c54p-1 +-0x1.726e54p-1 +0x1.4db076p-1 +-0x1.43661cp+1 +-0x1.0a6bcap+0 +-0x1.27821p+0 +0x1.ca9d5cp-5 +0x1.290ac4p-4 +0x1.f61ebap+0 +-0x1.1584dp-1 +0x1.0b8bf2p+0 +-0x1.51999p-1 +-0x1.bfa492p-1 +0x1.e7b494p-2 +0x1.0c4822p-6 +-0x1.165632p-5 +0x1.f02bc2p-3 +0x1.35c696p-1 +0x1.da738ap-4 +0x1.8e1484p-1 +-0x1.23fb1ep+0 +-0x1.917d26p-5 +0x1.a732cep+1 +-0x1.d52748p+0 +-0x1.6140d2p+0 +0x1.d8ab7ap-1 +0x1.69a984p-3 +-0x1.b9934ap-3 +-0x1.b8475p-1 +0x1.48c178p-1 +-0x1.445f82p+0 +-0x1.4122d8p+0 +-0x1.f0fc9ap-2 +-0x1.15642cp+0 +-0x1.276fb2p-2 +0x1.1ec51cp-2 +0x1.3d61d4p-1 +0x1.f9cd82p-1 +0x1.cef99ep+0 +-0x1.bd5bbap-1 +0x1.416068p+0 +0x1.15025ap+0 +-0x1.934af2p+0 +0x1.e2761ep+0 +0x1.c5012ep-1 +-0x1.779788p-1 +-0x1.1d26ccp-1 +-0x1.eb283p-3 +0x1.164be8p-2 +-0x1.c88262p-1 +0x1.fd0406p+0 +-0x1.3ac284p+0 +0x1.ba5eeep-2 +0x1.69e162p-2 +-0x1.6d72c6p-1 +0x1.bbf7fap-1 +0x1.82e236p-8 +0x1.2d967p-1 +0x1.215beap-1 +-0x1.799718p+0 +0x1.5d5916p+0 +0x1.2b76bcp-1 +0x1.e87f02p-2 +-0x1.66b792p+0 +0x1.380f5cp-8 +0x1.365818p-2 +-0x1.67eaeep-2 +-0x1.09e25ap+1 +-0x1.2241b2p-1 +-0x1.6e04ep-1 +-0x1.44fe34p+1 +0x1.81864cp-2 +0x1.d0ade4p-1 +0x1.78507ep-2 +0x1.5fdd7p-2 +-0x1.a40adcp-1 +-0x1.9a4966p-2 +-0x1.008704p-3 +-0x1.9050f6p-2 +0x1.9010a2p-1 +0x1.113376p-1 +0x1.4a4de4p-1 +-0x1.51fccep-1 +0x1.62829p+0 +0x1.bdea72p+0 +0x1.901b08p-4 +0x1.ab8c84p+0 +0x1.34f322p+0 +-0x1.ba6ebcp-2 +0x1.204096p-2 +-0x1.779b54p+0 +0x1.a9212p-1 +-0x1.20ab36p-1 +-0x1.049708p+0 +-0x1.29b568p-1 +-0x1.d35c08p-3 +-0x1.aca8dep+0 +0x1.50a42p-1 +0x1.dbbcc6p-1 +0x1.2c63ap-1 +0x1.ff5282p-4 +-0x1.27ad28p-9 +-0x1.63b808p+1 +0x1.f0119ap-2 +-0x1.43fe26p-1 +-0x1.0cfe3p+0 +-0x1.61f8fep-1 +0x1.ce5dcp-1 +-0x1.fedf28p-1 +0x1.ffa1bcp-1 +-0x1.c8012ap-1 +-0x1.1e7d7ap+0 +-0x1.2f748cp-1 +0x1.3e88e2p-5 +0x1.8f8bcp+0 +-0x1.1cff74p+1 +0x1.33c24p-1 +-0x1.f3fd38p-1 +0x1.546046p+0 +-0x1.13ae64p-1 +0x1.c8a558p-1 +0x1.a6e46p-3 +0x1.07ed1ap+1 +-0x1.165d6p-3 +-0x1.5e7ca8p-1 +-0x1.e68c3ap+0 +0x1.d7c9f4p-3 +0x1.ee68d4p-3 +-0x1.52875ep+0 +-0x1.d91c36p+0 +0x1.2b72dcp+1 +0x1.d0c78ap-2 +0x1.97c69p+0 +0x1.67d404p+0 +-0x1.b4cdb4p-4 +-0x1.ed7486p-2 +0x1.5adacep+0 +0x1.7fdec6p-1 +0x1.9f462ep-3 +-0x1.fdf4e4p-3 +-0x1.b7c4b8p-1 +0x1.0e3b08p-1 +-0x1.5d2e08p+0 +0x1.0cc27ep-2 +-0x1.37e812p-2 +-0x1.5a43d4p-1 +-0x1.314f14p-2 +0x1.064054p+0 +0x1.0d2922p-2 +-0x1.a6260cp+0 +0x1.c090bep-2 +0x1.8c59ccp+0 +-0x1.797c7ep+0 +-0x1.495fp-2 +-0x1.0096bcp+1 +-0x1.7ace46p-3 +0x1.5e5746p-4 +0x1.99a996p-1 +-0x1.64f4d4p-2 +0x1.5b2ceap-3 +-0x1.afae6cp-5 +0x1.701fb6p+1 +0x1.76212ep-3 +0x1.1e35aap-2 +-0x1.2d2b34p-2 +-0x1.74477ap-2 +-0x1.da68dap-1 +-0x1.c28a74p+0 +-0x1.cf021p+0 +-0x1.7275fap-2 +-0x1.83d0b8p-1 +0x1.22e358p-3 +0x1.1d1dbcp-1 +0x1.b4bc74p-1 +0x1.686b4cp+0 +0x1.fbb52ap+0 +-0x1.cc7f9cp-2 +0x1.b6b478p-1 +0x1.0ebfbap-1 +-0x1.e6ace2p-4 +-0x1.d10448p-1 +-0x1.e195p-7 +-0x1.70f296p+1 +0x1.f83b5cp-1 +0x1.281cb6p+0 +-0x1.ff1218p-3 +0x1.3b7244p-1 +0x1.7faa66p-1 +-0x1.a4da56p+0 +0x1.372832p-2 +-0x1.ae3964p-1 +-0x1.ddcde6p-3 +-0x1.0670b4p-3 +0x1.fb5fecp-3 +0x1.a307fcp-2 +-0x1.404de2p+0 +0x1.144152p+0 +-0x1.f5874p-3 +-0x1.c07b0ep-3 +0x1.404e72p-2 +0x1.870ep+0 +-0x1.e37d0ep-1 +-0x1.4b5ae6p-1 +0x1.702676p+0 +-0x1.2c84a2p-2 +-0x1.18feeep+0 +-0x1.372954p+0 +-0x1.63ed3cp+0 +0x1.ecf126p-3 +-0x1.1064e6p+1 +-0x1.a27bdep-1 +-0x1.37ed4cp-3 +0x1.024736p-1 +-0x1.e06244p-1 +-0x1.36aa08p-4 +-0x1.7caf6ep-3 +0x1.52875p-2 +0x1.708586p-2 +0x1.b8151ap-1 +0x1.960ca4p-4 +-0x1.9247d4p+0 +-0x1.7e18c2p-3 +-0x1.0ed32p+0 +0x1.618874p-1 +-0x1.2a2c24p-3 +0x1.375f6ep-3 +-0x1.385562p-3 +0x1.d85a86p-1 +-0x1.8a0b14p-4 +0x1.5f9874p-1 +0x1.b10edp-1 +0x1.22a604p-1 +-0x1.611f38p-1 +-0x1.0d5822p-2 +-0x1.78931ep-2 +0x1.42a0ccp+0 +0x1.0cdd8ep-1 +0x1.583e82p-1 +-0x1.8dddfep-5 +-0x1.279f4ap-3 +-0x1.1c8f3ap-3 +0x1.f827ap-1 +0x1.7eb058p+0 +0x1.a0f708p-1 +0x1.10a96p-2 +0x1.05827p-1 +0x1.8a113cp+0 +-0x1.3089f2p+1 +0x1.4d41a4p-2 +0x1.b14674p-1 +-0x1.d7c6f6p-2 +0x1.66b6bp-1 +-0x1.7d4c86p-2 +0x1.fcdc6cp-3 +-0x1.9741acp-1 +-0x1.3bbe86p-3 +0x1.b1a5e6p-1 +0x1.b3389ap-1 +0x1.3db378p-2 +-0x1.93fbc2p-2 +0x1.61b404p-1 +-0x1.859fc8p-5 +0x1.cafbe8p-1 +-0x1.bc3e98p+0 +0x1.aaa84p-2 +-0x1.a8e664p-5 +0x1.9efa88p-1 +-0x1.234ae4p+0 +-0x1.0721d8p-3 +-0x1.220a96p-2 +0x1.be0bbp-1 +0x1.45caa8p-1 +0x1.525a58p-2 +-0x1.2a1b7cp+1 +0x1.659b26p+1 +0x1.567fa2p-1 +0x1.28e96ep-1 +0x1.d38e3p+0 +-0x1.aa6fbep-1 +-0x1.343e0cp-7 +-0x1.0461c2p-1 +-0x1.c31b2cp-1 +0x1.8ed034p+0 +-0x1.12ac16p+0 +0x1.e92acap-1 +-0x1.31b566p+1 +0x1.1cc31cp-3 +0x1.653508p+0 +-0x1.0ca9fap+0 +0x1.f1b208p-3 +0x1.0de25p+0 +0x1.7ab962p+0 +-0x1.422954p-2 +0x1.0473c8p-4 +-0x1.4ec552p-2 +-0x1.489c9cp-4 +-0x1.8605a8p-1 +0x1.0b9704p-3 +0x1.af4e5ep+0 +-0x1.704884p-1 +0x1.0d834ep+0 +0x1.1a3fd4p-1 +-0x1.c9acb4p+0 +0x1.2cd38p-2 +-0x1.13feecp+0 +-0x1.44a39ep+0 +-0x1.43dc5p-2 +-0x1.95c022p-1 +-0x1.e9d0bcp-1 +0x1.1a9006p-2 +0x1.2cf2ccp+0 +-0x1.5b046ap+0 +0x1.c4399ep-1 +-0x1.a99eb6p+0 +-0x1.726b5p+0 +-0x1.8c4bdcp+0 +-0x1.96e438p+0 +-0x1.3793p-4 +0x1.78aaccp-1 +0x1.ffaddep-1 +0x1.16e606p+0 +0x1.13f31ap-3 +-0x1.b1a47p-1 +-0x1.d63586p-1 +-0x1.387aa4p+0 +-0x1.2001dp-1 +0x1.37444ep-2 +0x1.1735bp+1 +0x1.8803eap-4 +0x1.684edap-2 +-0x1.1faa74p-1 +0x1.35badcp-1 +0x1.fe7408p+0 +-0x1.02c268p+0 +-0x1.2d1e06p+0 +-0x1.8035cep-4 +-0x1.36a9eap+0 +-0x1.9b108p-3 +-0x1.85e022p-6 +-0x1.5f96ep+1 +0x1.4b81b4p+0 +-0x1.27f868p+0 +-0x1.e34f4p-1 +0x1.3ff198p-2 +-0x1.acfc1p-2 +0x1.563f3ep-1 +-0x1.32c9dcp+1 +-0x1.7b8c76p-2 +0x1.a9cb82p-2 +0x1.66683ep+0 +-0x1.dcf29ep+0 +0x1.97b7a6p+0 +0x1.41b464p+0 +-0x1.6b4318p+0 +0x1.0e5ad8p-1 +0x1.82de4ap-2 +0x1.12126ap+1 +-0x1.588a6p+0 +-0x1.56bb14p-2 +-0x1.c2d0fep+0 +0x1.c91e8cp-7 +-0x1.f9b58ep-4 +-0x1.01b178p-2 +0x1.30f176p-2 +0x1.96488ap-2 +0x1.9ee15p-4 +0x1.2b7cd8p-1 +0x1.335e7p+0 +0x1.32db26p-1 +0x1.49e462p-1 +0x1.809e28p+0 +0x1.b281cap-2 +-0x1.ef3af6p-1 +-0x1.92b6e6p+0 +0x1.c5e1aep-1 +-0x1.981004p-4 +-0x1.96ce7ep-1 +0x1.c37f9ap-2 +-0x1.96930cp-1 +0x1.a434fcp-2 +-0x1.7b13e4p-1 +0x1.b66e3ap-3 +-0x1.3157d8p+0 +0x1.027d88p-2 +-0x1.acd3e4p+0 +-0x1.a36346p-3 +-0x1.23d8ap+0 +-0x1.3e11a8p-2 +0x1.2ae06cp+0 +0x1.8236fcp-6 +0x1.90815ep+0 +-0x1.a8db4p-3 +-0x1.297586p+0 +-0x1.952cb4p+0 +-0x1.a20518p-1 +-0x1.cf28a6p-1 +0x1.931bfp-1 +0x1.9bdbb6p-2 +-0x1.9ce85ep-2 +-0x1.4292c2p+0 +-0x1.2b7d1cp-1 +-0x1.8d139p-1 +0x1.e9278cp-1 +0x1.942544p+0 +-0x1.1df8cep+0 +-0x1.31cep-4 +0x1.a7065ep+0 +0x1.b70b1cp+0 +0x1.930bc4p-1 +-0x1.2f167ep+0 +-0x1.5f5572p-1 +-0x1.01fae4p-3 +0x1.b78b4p-1 +0x1.d7a04ep-1 +0x1.f2be0ap-3 +0x1.4a4c52p-1 +0x1.0b3c1ap-3 +-0x1.8c5f16p-1 +0x1.3b31b4p+0 +-0x1.61f20ep+0 +-0x1.b3557p+0 +-0x1.3da99ep-1 +0x1.f9e9b2p+0 +-0x1.e29a44p-1 +-0x1.cb80f8p-2 +0x1.a54ec6p-4 +-0x1.5e774ap-2 +-0x1.b078ap-1 +0x1.7df532p+0 +-0x1.20e83ap+0 +-0x1.2ece3cp-1 +-0x1.b8dcfap-4 +-0x1.a820eap-1 +0x1.7b9754p-1 +0x1.e9d6f8p-2 +0x1.6c2c5ep-1 +-0x1.6a6fdep-4 +-0x1.cfc8ecp-2 +0x1.b66f56p-1 +0x1.19aee6p+1 +0x1.cb4172p-4 +0x1.a2bc9ep-3 +-0x1.153a5p+0 +-0x1.e32cd2p-1 +0x1.cd1044p-4 +0x1.0fb76cp-2 +0x1.4bfd4ap+0 +0x1.806536p-1 +0x1.9579f6p-1 +0x1.3649p-2 +0x1.a0c47ap-8 +-0x1.09803p-1 +0x1.84fb0ep-1 +-0x1.855462p+0 +0x1.159624p+1 +-0x1.8df534p-2 +0x1.8cd25p-2 +-0x1.e7ad74p+0 +0x1.e6229ep-5 +0x1.bccca2p-2 +-0x1.8e288ep-1 +0x1.c2aa6p-3 +0x1.ff0a0cp-1 +-0x1.ddb1ecp-2 +-0x1.3e5476p+0 +0x1.858158p+0 +0x1.d178dcp-1 +0x1.9197fp-1 +0x1.f12d86p-1 +0x1.0ee4fap+0 +-0x1.0bec12p+0 +-0x1.c3b202p-2 +-0x1.40665ap+0 +0x1.5ca698p-1 +0x1.0886c6p+0 +-0x1.6ce43ep+0 +0x1.0d0446p+0 +-0x1.3cdd42p+0 +-0x1.98ab96p-3 +0x1.67118cp-2 +-0x1.6381dp-2 +0x1.a6ecb4p-1 +-0x1.9515b6p+0 +-0x1.3a8022p-1 +0x1.46c216p+0 +0x1.e89f14p-2 +-0x1.0b75a8p-4 +0x1.4109f4p+0 +-0x1.569578p+0 +-0x1.a93044p+0 +-0x1.61350cp+0 +-0x1.064156p-1 +0x1.77981ep-3 +-0x1.f701b8p-3 +0x1.ab815cp+0 +-0x1.cf59eap-1 +0x1.8ee6dcp-2 +0x1.8ec04cp-1 +0x1.bbf638p-1 +-0x1.a3fa38p-2 +-0x1.1af036p-2 +0x1.22f5cep-1 +-0x1.46a49ap+0 +-0x1.5d4fdcp+0 +-0x1.f72d2ap-1 +-0x1.8bcbb2p-9 +0x1.b6ac6ap-2 +-0x1.76022p-2 +-0x1.317764p+0 +0x1.1f9cb2p+0 +0x1.9e1294p+0 +-0x1.e7d7d2p-1 +-0x1.15d7fap+1 +0x1.a6ffb6p-6 +0x1.e6a5d2p-8 +-0x1.69a5bp-4 +0x1.82529cp-1 +-0x1.9f7bb4p+0 +-0x1.239f28p+0 +0x1.21c244p-1 +0x1.63aca6p-1 +0x1.1981bcp-2 +0x1.ae3274p-1 +-0x1.acc7c2p-1 +0x1.354474p+0 +-0x1.01b9acp-1 +0x1.59db0ep-1 +0x1.1a8914p+1 +-0x1.5dab9ap-3 +-0x1.7abbe4p-3 +-0x1.aa5d7p+0 +-0x1.7e72eep-1 +-0x1.90f286p-1 +0x1.c205ap-1 +0x1.d47afp-1 +0x1.adbf8cp+0 +0x1.092b84p+1 +-0x1.4bf36p-1 +-0x1.0d0d08p-1 +-0x1.19084ap+0 +-0x1.dc5e8ap-1 +0x1.8aec8ap+1 +-0x1.27e61p+0 +-0x1.53bf26p-1 +0x1.602114p+0 +0x1.1f2ccap+0 +0x1.82373ep-2 +0x1.13fep-2 +-0x1.e6b6e8p-1 +-0x1.75a7e4p-1 +0x1.7dbef6p+0 +0x1.2e9564p+0 +-0x1.0a1952p+0 +0x1.d5409cp-1 +-0x1.093fe4p-1 +0x1.1e6686p+1 +0x1.05a072p+0 +-0x1.0cbcf4p+0 +-0x1.813d0ep-3 +-0x1.30607p-5 +-0x1.4b5342p+0 +0x1.603252p-1 +-0x1.c601e6p+0 +-0x1.cd608ap-2 +-0x1.fa09ccp-1 +-0x1.797292p+0 +-0x1.4cb60ap+0 +-0x1.57cd52p-2 +0x1.b71ae6p+0 +-0x1.96ec48p-1 +0x1.0e0092p-4 +-0x1.042ca6p+0 +0x1.8a318cp-2 +-0x1.6a9bdap-2 +0x1.c52fbp-2 +-0x1.376f82p+0 +0x1.0698fap-1 +-0x1.1f6c54p-1 +-0x1.8094b4p+0 +0x1.4bf162p-2 +0x1.f19582p+0 +-0x1.1f0c82p+1 +0x1.6d0a9ep-2 +-0x1.b4f5ecp+0 +0x1.94ea4ap-5 +-0x1.dd3e7cp-1 +0x1.00c328p-1 +-0x1.06b808p-3 +0x1.5e68c2p+0 +0x1.b57a62p-1 +0x1.dbb778p-2 +0x1.f8599ep-1 +0x1.a8ce9ap-2 +-0x1.1178ccp+0 +-0x1.16b262p-1 +0x1.4cb31ap-3 +-0x1.2b698cp-1 +-0x1.86a036p+0 +-0x1.9ead8p-3 +-0x1.7f25d2p-1 +-0x1.3ecb54p-2 +-0x1.42bd8cp-1 +-0x1.e64afp+0 +-0x1.8df506p-6 +-0x1.7fa6f8p-2 +0x1.f192dcp-1 +0x1.a23234p+0 +0x1.529f9ep-4 +-0x1.25c242p+0 +-0x1.264d34p+0 +-0x1.ab5a0ep-1 +0x1.27c7c8p-3 +0x1.be840ep-2 +0x1.abfd0ap-1 +0x1.73307cp-4 +0x1.71f94p+0 +-0x1.c614bap+0 +0x1.910e2p-3 +0x1.cc4adcp-1 +-0x1.072822p+0 +0x1.6f2704p+0 +0x1.1ee3a2p+1 +0x1.0e3e16p+0 +0x1.d120bep-6 +-0x1.1fe198p+0 +-0x1.52b1fp+0 +-0x1.ae7658p-2 +-0x1.f114fp+0 +0x1.2db694p-1 +0x1.c01758p-3 +0x1.80587cp-1 +-0x1.97d9cap+0 +-0x1.3aa6e6p-2 +0x1.8cd0aep-1 +0x1.c64094p-1 +0x1.4d23p+0 +-0x1.229a22p+0 +-0x1.15d246p+0 +-0x1.14ca8p-5 +-0x1.d28014p+0 +0x1.97ed02p-2 +0x1.2295dap+0 +0x1.03ef26p-1 +0x1.a8e6fep-2 +0x1.03efeap+0 +-0x1.f6ca0cp-3 +-0x1.45c58p-3 +-0x1.c3de1ep-5 +0x1.e727dap-2 +0x1.abe67p-2 +-0x1.8fa346p+0 +-0x1.70b346p-2 +-0x1.1d62cp+1 +0x1.888518p-1 +-0x1.2baea6p-2 +0x1.c74a0cp-2 +0x1.5ab764p+0 +-0x1.8b71bp-2 +0x1.e5599ap-4 +-0x1.12afd4p+1 +0x1.281956p+0 +-0x1.c62f5ep-4 +-0x1.fdf008p-1 +-0x1.15c314p-6 +-0x1.c518dcp-1 +-0x1.73992ap-3 +0x1.a6465ap+0 +0x1.6618c4p-8 +0x1.01d2e8p+0 +0x1.4919b4p-1 +-0x1.87c72p-3 +0x1.1e9a96p-9 +0x1.8e16c2p-1 +0x1.e0c19cp-2 +0x1.6efdb6p-2 +0x1.77a86cp+0 +-0x1.9a52b4p-2 +0x1.2decd2p+0 +0x1.efa19ap-3 +-0x1.f7faecp-4 +-0x1.125dbep-1 +-0x1.aa25dap-2 +-0x1.0509b6p+0 +-0x1.0e841ep+1 +0x1.14f30ap-7 +0x1.8371f6p+0 +-0x1.a6997cp-1 +0x1.d0be9ap-4 +0x1.7a187p-1 +0x1.5c3bdp+0 +0x1.a8caecp+0 +0x1.4fabbp-3 +0x1.52e96p+0 +0x1.6ef878p-2 +0x1.e6a8c2p-1 +-0x1.153cd8p-1 +0x1.7465e2p+0 +0x1.19c6a2p-1 +-0x1.098156p+1 +0x1.72168ep-2 +-0x1.fad952p-2 +-0x1.d3401ap-2 +0x1.1d3854p-1 +0x1.5c0a66p+0 +-0x1.8183e6p-3 +0x1.e1e5eep-3 +-0x1.2c7666p+1 +0x1.31e48ep+1 +-0x1.5b84d8p-1 +0x1.ac7e36p-1 +0x1.171c6cp-1 +0x1.b38194p-8 +-0x1.9c0b56p-1 +-0x1.16cd88p-1 +-0x1.5a04d8p+0 +-0x1.0cc51ep+1 +-0x1.d5ed58p-1 +-0x1.056de2p+0 +-0x1.e09562p-2 +0x1.0f0196p-1 +0x1.7fa3f6p-1 +0x1.fac5bp-2 +-0x1.f77ae6p+0 +-0x1.6f44f4p-2 +-0x1.9d4e52p+0 +0x1.72eacep+0 +-0x1.58acb6p-2 +-0x1.87063ap-1 +0x1.b94356p-1 +0x1.8637e6p-1 +-0x1.440ac8p-1 +0x1.5cdafcp-2 +-0x1.bf9b0ep-1 +0x1.657f4cp-3 +-0x1.8f9cb6p+0 +0x1.1399d8p+0 +0x1.a28952p-2 +-0x1.23308ep+0 +-0x1.4c282ap-3 +-0x1.d9f856p-1 +0x1.bf6c9p+0 +-0x1.87bd2p-2 +-0x1.30301p+0 +0x1.472382p-1 +0x1.92499ap+0 +0x1.23e2c4p-1 +-0x1.5f5518p-2 +-0x1.03af7ap+1 +-0x1.57e604p-2 +0x1.489f06p+0 +0x1.a3378ep-1 +0x1.127a2p+0 +-0x1.0412acp+0 +-0x1.c1fab6p-3 +-0x1.534a36p+0 +-0x1.227eeap-1 +-0x1.60bafap+0 +-0x1.6c1b4cp-1 +-0x1.e55c3p-1 +0x1.0136a2p-4 +-0x1.0ffdf8p-1 +-0x1.c6576p-1 +-0x1.b2896ep-5 +0x1.574f6ap-3 +0x1.324236p+0 +-0x1.a32442p-2 +0x1.9a389ap+0 +-0x1.1171cap+0 +0x1.0f7b1ep-1 +-0x1.6c053ep-1 +-0x1.9b99b6p-2 +0x1.b2a6d8p+0 +0x1.1f2bd6p-2 +-0x1.f0ccccp-1 +-0x1.1733p-1 +-0x1.6b2756p-1 +-0x1.187854p+0 +0x1.a7991ap-2 +0x1.857358p-1 +-0x1.0cfed6p-5 +-0x1.4de6ecp-1 +0x1.51a062p-1 +0x1.150624p-3 +-0x1.5cfe06p+0 +0x1.79170cp-3 +0x1.03e7acp+0 +-0x1.189198p-1 +0x1.b4c6bep-3 +-0x1.9184c8p-1 +-0x1.896958p-1 +0x1.5be384p+1 +-0x1.0a5d4ep+0 +0x1.9a2808p-4 +-0x1.52f6fcp-1 +0x1.3c8b1ep-2 +0x1.2ea336p-3 +0x1.e53f12p+0 +0x1.957874p+0 +-0x1.2e50c6p-1 +0x1.f60822p-2 +0x1.b8e3e6p-1 +0x1.288f64p+0 +0x1.3ab57ap-1 +0x1.00560ep+0 +-0x1.018fdap-2 +-0x1.1663e6p-5 +-0x1.b38c7ap-2 +-0x1.56593cp-2 +-0x1.658a9ap+0 +-0x1.2d1d44p-4 +-0x1.72fcdcp+0 +-0x1.d97294p-2 +-0x1.c49a1ep-2 +-0x1.4a1a4p+1 +-0x1.2f653ap+0 +-0x1.e1be1ep-2 +-0x1.6f8874p-2 +-0x1.3d19dap+1 +0x1.082ca6p-4 +-0x1.a2bbbep-2 +-0x1.56d822p-1 +-0x1.0dbebap-1 +-0x1.b94eb6p-1 +-0x1.a9bf86p-3 +-0x1.085582p-2 +0x1.022d02p-3 +0x1.3063e8p+1 +0x1.eab3b2p+0 +0x1.e5f194p-1 +0x1.e9c2aep+0 +0x1.e69e94p-3 +0x1.545416p-1 +-0x1.b5e41p-1 +-0x1.68c7d2p-3 +0x1.7ffc78p-4 +0x1.a668c8p+0 +0x1.6540a4p-4 +0x1.74d162p-3 +0x1.098f56p-1 +0x1.682dc8p-1 +0x1.292126p-1 +0x1.433194p-3 +-0x1.911912p-4 +0x1.1cebeap+0 +-0x1.3577a8p-4 +-0x1.aeedc4p-3 +-0x1.4f59f8p-1 +0x1.75db94p-1 +-0x1.614d92p-3 +0x1.176f34p-2 +0x1.dfd2ep-2 +0x1.ec2148p-1 +0x1.3a1504p-1 +-0x1.5b8e2cp-1 +-0x1.bdcd3p-1 +-0x1.079a1p-1 +0x1.5007a8p-1 +-0x1.695ee2p+0 +-0x1.4629c6p-1 +-0x1.25b9c4p+0 +-0x1.a2364ap-3 +0x1.662adep+0 +0x1.2fe906p-1 +-0x1.6cdc42p-1 +0x1.17885ep-1 +0x1.c3d22ap+0 +-0x1.24e36ep-2 +-0x1.78e50ap+0 +0x1.6ae5f2p-1 +0x1.121bfp-1 +0x1.9158f6p-2 +0x1.9374cp-1 +-0x1.8b177ap-8 +0x1.021cfep+1 +-0x1.7c4e7cp-1 +0x1.095cf2p+0 +-0x1.086504p+1 +-0x1.8cffacp-3 +0x1.54625cp-3 +-0x1.d84022p-1 +-0x1.61a5dcp-2 +0x1.8a6d0ap-1 +0x1.79d6d2p-2 +0x1.09f8ccp+0 +0x1.3b767cp-3 +-0x1.dc80bcp+0 +-0x1.cde65ap-1 +0x1.357554p-1 +0x1.26ddap-1 +-0x1.1260aep+1 +-0x1.b1d27ap-2 +-0x1.20f7p+0 +0x1.f964acp-2 +-0x1.927feap-3 +-0x1.0b397cp-2 +-0x1.c8ed4cp-3 +0x1.d35ac2p-2 +-0x1.608e46p-1 +0x1.1a0036p-1 +-0x1.1224a6p-1 +0x1.9050bcp-2 +0x1.b6e1f8p-3 +0x1.3f56p+0 +0x1.3e6e62p-1 +0x1.2f31fap+0 +0x1.87e088p-1 +0x1.1895dep-2 +-0x1.1df2a6p+0 +0x1.1b9684p-1 +-0x1.b79118p-1 +-0x1.dfa32ap+0 +-0x1.d4b07cp-1 +0x1.a71abap-1 +-0x1.2369a8p-2 +0x1.3524dep+0 +-0x1.b8f2d4p-1 +-0x1.d10b3p-1 +0x1.1ecb4ap-5 +0x1.808544p-1 +-0x1.d37b3p+0 +-0x1.352e0ep-1 +-0x1.1d7ac2p+0 +-0x1.4125a6p-4 +0x1.271f98p-5 +-0x1.7e755p-9 +-0x1.0d9c24p-1 +0x1.c59b92p+0 +0x1.2c1c06p+0 +0x1.d21d8ep-2 +-0x1.a232dep-1 +-0x1.1fa3fep-5 +0x1.543b1ap-1 +-0x1.0dabccp-1 +-0x1.807586p-2 +0x1.d01544p-2 +0x1.f0d5c6p+0 +0x1.8f4b6ap-1 +-0x1.ef0b4cp-1 +-0x1.1ecf2ep+1 +-0x1.473dp+1 +-0x1.3f8678p+1 +-0x1.469abep-1 +-0x1.70816ap+0 +-0x1.271272p-2 +0x1.64958ep-2 +-0x1.94b7eap-3 +-0x1.7c7736p-1 +-0x1.86a542p-1 +0x1.b316bep+0 +0x1.c828a2p-2 +0x1.7bc37cp+0 +0x1.80993cp+0 +0x1.0e8a34p+0 +0x1.4af5e8p-1 +0x1.8b6c82p+0 +0x1.d109aep-3 +-0x1.f6216ep-2 +-0x1.b5de66p+0 +0x1.c970b6p-4 +0x1.9a2caep-2 +0x1.469f66p+0 +0x1.7628a8p+0 +-0x1.32851p-2 +0x1.b28a3ep+0 +0x1.04b23cp-4 +-0x1.546ad2p-1 +0x1.367246p+1 +0x1.3ba57ep-2 +0x1.a8306cp+0 +0x1.2a192ap+1 +-0x1.9ffe5p-1 +-0x1.b1c27ap+0 +-0x1.18113p-1 +0x1.14f0e4p-2 +0x1.11d6dcp-2 +-0x1.76dc0ep-1 +-0x1.7e4decp-2 +0x1.25d792p-2 +0x1.efb1a4p-1 +-0x1.db30c6p+0 +-0x1.ba82f6p-2 +-0x1.ea55d8p-3 +0x1.292118p-1 +0x1.5e311cp-1 +0x1.0f41c6p+0 +-0x1.1eede2p-4 +-0x1.5e43bp+0 +-0x1.6948fp-3 +-0x1.075ee2p+0 +0x1.7be62ep-2 +-0x1.4faa3ep-2 +0x1.25723ap-2 +0x1.079306p+0 +-0x1.a30d46p+0 +-0x1.13d4e6p+1 +0x1.e18d8p-1 +0x1.108fbap-1 +-0x1.4fcec2p-6 +-0x1.080d9ap-1 +0x1.fc551cp-1 +0x1.9bb61cp-4 +-0x1.4168cp-2 +0x1.c799e8p-1 +-0x1.0c4a5ap-2 +0x1.ebf3ccp-1 +-0x1.be1b56p-1 +-0x1.88a11ap-1 +-0x1.8ecffcp-1 +-0x1.524e1cp+0 +0x1.ec3ca2p-1 +0x1.06093ep+1 +0x1.6df60cp+0 +-0x1.227e8p+1 +0x1.1c87fap-3 +-0x1.8cedbcp-2 +-0x1.8ff552p-1 +-0x1.a6ffeep+0 +-0x1.1df598p-4 +-0x1.0ef094p+0 +-0x1.6e70f8p-1 +0x1.d72386p+0 +-0x1.eb4042p-2 +0x1.0ef25p+0 +-0x1.f11da8p-3 +0x1.cb7c72p-1 +0x1.63b18ep-2 +-0x1.9f6c02p-1 +-0x1.8ab8bcp-5 +0x1.7b590ep-4 +-0x1.9d55fcp+0 +-0x1.4de19ep-1 +-0x1.76cf7cp-1 +-0x1.02dd9ap+0 +0x1.c424eep-2 +0x1.3a85ap+0 +-0x1.443a22p-1 +0x1.03bd5p+0 +0x1.db0eeep-3 +0x1.45a18ap-2 +-0x1.dd757ap-2 +-0x1.6a49b6p-1 +-0x1.52389ep+0 +0x1.c05fe4p-2 +-0x1.0ce958p-2 +-0x1.9a04fp-5 From patchwork Wed Nov 24 19:37:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48093 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 61BE53858430 for ; Wed, 24 Nov 2021 20:11:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 61BE53858430 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637784704; bh=KVEOG6F2o1Xoj53fjop/n4DACGZDczS5KYznhtvg4ps=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=eI9n8k4hxZ++c0Mx6Kc9QZWGtkE8KNBpPV3vtnrlITb1ds40jBdEPf3D+AUlvSsSm 0/SpR/UcrND9tb9vJon62cp7ddiy9rO/yvpGTegewL9+RqO7N9l8D5vBg9AKHhqrej gckU0qkmJwWAI7uFsFPW7Y61BllswAWjsuyMP9Iw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 05F9B3857C7E for ; Wed, 24 Nov 2021 19:38:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 05F9B3857C7E X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="216066713" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="216066713" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="497796775" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga007.jf.intel.com with ESMTP; 24 Nov 2021 11:38:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7X8021555; Wed, 24 Nov 2021 11:38:11 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 21/42] x86-64: Add vector erfc/erfcf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:46 -0800 Message-Id: <20211124193807.2093208-22-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized erfc/erfcf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector erfc/erfcf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_erfc2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_erfc2_core.c | 27 + .../fpu/multiarch/svml_d_erfc2_core_sse4.S | 17617 ++++++++++++++++ .../fpu/multiarch/svml_d_erfc4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_erfc4_core.c | 27 + .../fpu/multiarch/svml_d_erfc4_core_avx2.S | 17265 +++++++++++++++ .../fpu/multiarch/svml_d_erfc8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_erfc8_core.c | 27 + .../fpu/multiarch/svml_d_erfc8_core_avx512.S | 16576 +++++++++++++++ .../fpu/multiarch/svml_s_erfcf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_erfcf16_core.c | 28 + .../multiarch/svml_s_erfcf16_core_avx512.S | 3347 +++ .../fpu/multiarch/svml_s_erfcf4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_erfcf4_core.c | 28 + .../fpu/multiarch/svml_s_erfcf4_core_sse4.S | 3894 ++++ .../fpu/multiarch/svml_s_erfcf8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_erfcf8_core.c | 28 + .../fpu/multiarch/svml_s_erfcf8_core_avx2.S | 3728 ++++ sysdeps/x86_64/fpu/svml_d_erfc2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_erfc4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_erfc4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_erfc8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_erfcf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_erfcf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_erfcf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_erfcf8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-erfc-avx.c | 1 + .../fpu/test-double-libmvec-erfc-avx2.c | 1 + .../fpu/test-double-libmvec-erfc-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-erfc.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-erfcf-avx.c | 1 + .../fpu/test-float-libmvec-erfcf-avx2.c | 1 + .../fpu/test-float-libmvec-erfcf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-erfcf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 62995 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_erfc2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_erfc4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_erfc4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_erfc8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_erfcf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_erfcf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_erfcf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_erfcf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-erfc.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-erfcf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 25ba2824a2..f7e3b27b0a 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -208,4 +208,15 @@ #define __DECL_SIMD_erff32x #define __DECL_SIMD_erff64x #define __DECL_SIMD_erff128x + +#define __DECL_SIMD_erfc +#define __DECL_SIMD_erfcf +#define __DECL_SIMD_erfcl +#define __DECL_SIMD_erfcf16 +#define __DECL_SIMD_erfcf32 +#define __DECL_SIMD_erfcf64 +#define __DECL_SIMD_erfcf128 +#define __DECL_SIMD_erfcf32x +#define __DECL_SIMD_erfcf64x +#define __DECL_SIMD_erfcf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 3901457082..48bd8fcda8 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -229,7 +229,7 @@ __MATHCALL (yn,, (int, _Mdouble_)); #if defined __USE_XOPEN || defined __USE_ISOC99 /* Error and gamma functions. */ __MATHCALL_VEC (erf,, (_Mdouble_)); -__MATHCALL (erfc,, (_Mdouble_)); +__MATHCALL_VEC (erfc,, (_Mdouble_)); __MATHCALL (lgamma,, (_Mdouble_)); #endif diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index a3bccae8ad..8c17e38ce6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -55,6 +55,7 @@ GLIBC_2.35 _ZGVbN2v_atanh F GLIBC_2.35 _ZGVbN2v_cbrt F GLIBC_2.35 _ZGVbN2v_cosh F GLIBC_2.35 _ZGVbN2v_erf F +GLIBC_2.35 _ZGVbN2v_erfc F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F @@ -64,6 +65,7 @@ GLIBC_2.35 _ZGVbN4v_atanf F GLIBC_2.35 _ZGVbN4v_atanhf F GLIBC_2.35 _ZGVbN4v_cbrtf F GLIBC_2.35 _ZGVbN4v_coshf F +GLIBC_2.35 _ZGVbN4v_erfcf F GLIBC_2.35 _ZGVbN4v_erff F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVcN4v_acos F @@ -75,6 +77,7 @@ GLIBC_2.35 _ZGVcN4v_atanh F GLIBC_2.35 _ZGVcN4v_cbrt F GLIBC_2.35 _ZGVcN4v_cosh F GLIBC_2.35 _ZGVcN4v_erf F +GLIBC_2.35 _ZGVcN4v_erfc F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F @@ -84,6 +87,7 @@ GLIBC_2.35 _ZGVcN8v_atanf F GLIBC_2.35 _ZGVcN8v_atanhf F GLIBC_2.35 _ZGVcN8v_cbrtf F GLIBC_2.35 _ZGVcN8v_coshf F +GLIBC_2.35 _ZGVcN8v_erfcf F GLIBC_2.35 _ZGVcN8v_erff F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVdN4v_acos F @@ -95,6 +99,7 @@ GLIBC_2.35 _ZGVdN4v_atanh F GLIBC_2.35 _ZGVdN4v_cbrt F GLIBC_2.35 _ZGVdN4v_cosh F GLIBC_2.35 _ZGVdN4v_erf F +GLIBC_2.35 _ZGVdN4v_erfc F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F @@ -104,6 +109,7 @@ GLIBC_2.35 _ZGVdN8v_atanf F GLIBC_2.35 _ZGVdN8v_atanhf F GLIBC_2.35 _ZGVdN8v_cbrtf F GLIBC_2.35 _ZGVdN8v_coshf F +GLIBC_2.35 _ZGVdN8v_erfcf F GLIBC_2.35 _ZGVdN8v_erff F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVeN16v_acosf F @@ -114,6 +120,7 @@ GLIBC_2.35 _ZGVeN16v_atanf F GLIBC_2.35 _ZGVeN16v_atanhf F GLIBC_2.35 _ZGVeN16v_cbrtf F GLIBC_2.35 _ZGVeN16v_coshf F +GLIBC_2.35 _ZGVeN16v_erfcf F GLIBC_2.35 _ZGVeN16v_erff F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN8v_acos F @@ -125,4 +132,5 @@ GLIBC_2.35 _ZGVeN8v_atanh F GLIBC_2.35 _ZGVeN8v_cbrt F GLIBC_2.35 _ZGVeN8v_cosh F GLIBC_2.35 _ZGVeN8v_erf F +GLIBC_2.35 _ZGVeN8v_erfc F GLIBC_2.35 _ZGVeN8vv_atan2 F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index b65f5af463..be16a37989 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -98,6 +98,10 @@ # define __DECL_SIMD_erf __DECL_SIMD_x86_64 # undef __DECL_SIMD_erff # define __DECL_SIMD_erff __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfc +# define __DECL_SIMD_erfc __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfcf +# define __DECL_SIMD_erfcf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 020c63ee31..53f9e47b5e 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -33,6 +33,7 @@ libmvec-funcs = \ cos \ cosh \ erf \ + erfc \ exp \ log \ pow \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 4532c6c764..40b801b714 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -23,6 +23,7 @@ libmvec { _ZGVbN2v_cbrt; _ZGVcN4v_cbrt; _ZGVdN4v_cbrt; _ZGVeN8v_cbrt; _ZGVbN2v_cosh; _ZGVcN4v_cosh; _ZGVdN4v_cosh; _ZGVeN8v_cosh; _ZGVbN2v_erf; _ZGVcN4v_erf; _ZGVdN4v_erf; _ZGVeN8v_erf; + _ZGVbN2v_erfc; _ZGVcN4v_erfc; _ZGVdN4v_erfc; _ZGVeN8v_erfc; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; @@ -32,6 +33,7 @@ libmvec { _ZGVbN4v_atanhf; _ZGVcN8v_atanhf; _ZGVdN8v_atanhf; _ZGVeN16v_atanhf; _ZGVbN4v_cbrtf; _ZGVcN8v_cbrtf; _ZGVdN8v_cbrtf; _ZGVeN16v_cbrtf; _ZGVbN4v_coshf; _ZGVcN8v_coshf; _ZGVdN8v_coshf; _ZGVeN16v_coshf; + _ZGVbN4v_erfcf; _ZGVcN8v_erfcf; _ZGVdN8v_erfcf; _ZGVeN16v_erfcf; _ZGVbN4v_erff; _ZGVcN8v_erff; _ZGVdN8v_erff; _ZGVeN16v_erff; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 0d9520f9c5..f1b9921920 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1359,6 +1359,26 @@ float: 6 float128: 5 ldouble: 5 +Function: "erfc_vlen16": +float: 1 + +Function: "erfc_vlen2": +double: 1 + +Function: "erfc_vlen4": +double: 1 +float: 1 + +Function: "erfc_vlen4_avx2": +double: 1 + +Function: "erfc_vlen8": +double: 1 +float: 1 + +Function: "erfc_vlen8_avx2": +float: 1 + Function: "exp": double: 1 float: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core-sse2.S new file mode 100644 index 0000000000..31aea74264 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized erfc, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_erfc _ZGVbN2v_erfc_sse2 +#include "../svml_d_erfc2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core.c new file mode 100644 index 0000000000..b457c5bc75 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized erfc, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_erfc +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_erfc, __GI__ZGVbN2v_erfc, __redirect__ZGVbN2v_erfc) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core_sse4.S new file mode 100644 index 0000000000..5741c0e08e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core_sse4.S @@ -0,0 +1,17617 @@ +/* Function erfc vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Approximation formula: + * erfc(x)~erfc(x0)-2/sqrt(pi)*exp(-x0^2)*D*[1+(x0*D)*p1(x0*D)+D^2*p3(x0*D)+D^4*p5(x0*D)+D^6*p7(x0*D)] + * D = x - x0 + * erfc(x0) and 2/sqrt(pi)*exp(-x0^2)/(2*x0) are tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_erfc_sse4) + 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 + +/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea __svml_derfc_data_internal(%rip), %rcx + movups 55808+__svml_derfc_data_internal(%rip), %xmm3 + andps %xmm0, %xmm3 + movups %xmm8, 112(%rsp) + +/* + * erfc(27.25) underflows to 0 + * can compute all results in the main path + */ + minpd 55872+__svml_derfc_data_internal(%rip), %xmm3 + movups 55936+__svml_derfc_data_internal(%rip), %xmm5 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movups 57472+__svml_derfc_data_internal(%rip), %xmm8 + andps %xmm0, %xmm5 + movaps %xmm8, %xmm2 + orps %xmm5, %xmm2 + subpd %xmm8, %xmm2 + movups 56128+__svml_derfc_data_internal(%rip), %xmm8 + movups %xmm14, 160(%rsp) + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movaps %xmm8, %xmm14 + addpd %xmm3, %xmm14 + movups 56064+__svml_derfc_data_internal(%rip), %xmm4 + movaps %xmm14, %xmm1 + maxpd %xmm4, %xmm3 + subpd %xmm8, %xmm1 + subpd %xmm1, %xmm3 + mulpd %xmm3, %xmm1 + +/* 2^(-128) with sign of input */ + orps %xmm5, %xmm4 + psllq $4, %xmm14 + +/* Start polynomial evaluation */ + movups 56192+__svml_derfc_data_internal(%rip), %xmm5 + mulpd %xmm1, %xmm5 + movd %xmm14, %eax + movups 56320+__svml_derfc_data_internal(%rip), %xmm6 + movups 56448+__svml_derfc_data_internal(%rip), %xmm7 + addpd 56256+__svml_derfc_data_internal(%rip), %xmm5 + mulpd %xmm1, %xmm6 + mulpd %xmm1, %xmm5 + addpd 56384+__svml_derfc_data_internal(%rip), %xmm6 + addpd 56576+__svml_derfc_data_internal(%rip), %xmm5 + mulpd %xmm1, %xmm7 + mulpd %xmm1, %xmm6 + mulpd %xmm1, %xmm5 + addpd 56640+__svml_derfc_data_internal(%rip), %xmm6 + addpd 56768+__svml_derfc_data_internal(%rip), %xmm5 + addpd 56512+__svml_derfc_data_internal(%rip), %xmm7 + mulpd %xmm1, %xmm6 + mulpd %xmm1, %xmm5 + mulpd %xmm1, %xmm7 + addpd 56832+__svml_derfc_data_internal(%rip), %xmm6 + addpd 56960+__svml_derfc_data_internal(%rip), %xmm5 + addpd 56704+__svml_derfc_data_internal(%rip), %xmm7 + mulpd %xmm1, %xmm6 + mulpd %xmm1, %xmm5 + mulpd %xmm1, %xmm7 + addpd 57024+__svml_derfc_data_internal(%rip), %xmm6 + addpd 57088+__svml_derfc_data_internal(%rip), %xmm5 + addpd 56896+__svml_derfc_data_internal(%rip), %xmm7 + mulpd %xmm1, %xmm6 + mulpd %xmm1, %xmm5 + addpd 57152+__svml_derfc_data_internal(%rip), %xmm6 + addpd 57280+__svml_derfc_data_internal(%rip), %xmm5 + mulpd %xmm1, %xmm6 + mulpd %xmm1, %xmm5 + movups %xmm15, 144(%rsp) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + pshufd $2, %xmm14, %xmm15 + movd %xmm15, %edx + addpd 57344+__svml_derfc_data_internal(%rip), %xmm5 + movslq %eax, %rax + movslq %edx, %rdx + movups (%rcx,%rax), %xmm8 + movups (%rcx,%rdx), %xmm14 + movaps %xmm8, %xmm15 + unpcklpd %xmm14, %xmm15 + unpckhpd %xmm14, %xmm8 + +/* Diff^2 */ + movaps %xmm3, %xmm14 + mulpd %xmm3, %xmm14 + +/* EXP_X0H *= Diff */ + mulpd %xmm3, %xmm8 + +/* P5 = P5 + D2*P07 */ + mulpd %xmm14, %xmm7 + addpd 57216+__svml_derfc_data_internal(%rip), %xmm7 + addpd %xmm6, %xmm7 + +/* T^2 */ + movaps %xmm1, %xmm6 + mulpd %xmm1, %xmm6 + mulpd %xmm7, %xmm14 + mulpd %xmm5, %xmm6 + subpd %xmm1, %xmm14 + addpd %xmm6, %xmm14 + +/* EXP_x0H*Diff*(1+P1) */ + mulpd %xmm8, %xmm14 + addpd %xmm14, %xmm8 + +/* erfc(|_VARG1|) = erfc_h(x0) - P1 */ + subpd %xmm8, %xmm15 + +/* Special arguments (for flags only) */ + movaps %xmm0, %xmm1 + cmpltpd 57408+__svml_derfc_data_internal(%rip), %xmm1 + addpd %xmm15, %xmm2 + +/* combine and get argument value range mask */ + movmskpd %xmm1, %edx + mulpd %xmm2, %xmm4 + notl %edx + andl $3, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 112(%rsp), %xmm8 + cfi_restore(25) + movaps %xmm4, %xmm0 + movups 160(%rsp), %xmm14 + cfi_restore(31) + movups 144(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm0, 128(%rsp) + movups %xmm4, 192(%rsp) + je .LBL_1_2 + xorl %eax, %eax + movups %xmm9, 64(%rsp) + movups %xmm10, 48(%rsp) + movups %xmm11, 32(%rsp) + movups %xmm12, 16(%rsp) + movups %xmm13, (%rsp) + movq %rsi, 88(%rsp) + movq %rdi, 80(%rsp) + movq %r12, 104(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 96(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 64(%rsp), %xmm9 + cfi_restore(26) + movups 48(%rsp), %xmm10 + cfi_restore(27) + movups 32(%rsp), %xmm11 + cfi_restore(28) + movups 16(%rsp), %xmm12 + cfi_restore(29) + movups (%rsp), %xmm13 + cfi_restore(30) + movq 88(%rsp), %rsi + cfi_restore(4) + movq 80(%rsp), %rdi + cfi_restore(5) + movq 104(%rsp), %r12 + cfi_restore(12) + movq 96(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm4 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 128(%rsp,%r12,8), %rdi + lea 192(%rsp,%r12,8), %rsi + call __svml_derfc_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_erfc_sse4) + + .align 16,0x90 + +__svml_derfc_cout_rare_internal: + + cfi_startproc + + movq %rdi, %r8 + xorl %eax, %eax + movq %rsi, %r9 + xorl %edi, %edi + movzwl 6(%r8), %edx + andl $32752, %edx + shrl $4, %edx + cmpl $2047, %edx + je .LBL_2_20 + cmpl $953, %edx + jl .LBL_2_17 + movsd (%r8), %xmm1 + movb 7(%r8), %dl + comisd 4856+__derfc_la__imldErfcTab(%rip), %xmm1 + jbe .LBL_2_16 + movsd 4832+__derfc_la__imldErfcTab(%rip), %xmm0 + comisd %xmm1, %xmm0 + jbe .LBL_2_15 + movsd %xmm1, -48(%rsp) + andb $127, %dl + movb %dl, -41(%rsp) + lea __derfc_la__imldErfcTab(%rip), %rcx + movsd -48(%rsp), %xmm10 + movsd 4808+__derfc_la__imldErfcTab(%rip), %xmm2 + movaps %xmm10, %xmm5 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm13 + addsd %xmm10, %xmm2 + mulsd %xmm2, %xmm2 + mulsd %xmm2, %xmm2 + movsd %xmm2, -16(%rsp) + movzwl -10(%rsp), %esi + andl $32752, %esi + shrl $4, %esi + addl $-1023, %esi + imull $23, %esi, %edx + movsd (%rcx,%rdx,8), %xmm3 + lea 22(%rdx), %r10d + addsd %xmm10, %xmm3 + movsd %xmm3, -40(%rsp) + lea 21(%rdx), %r11d + movsd -40(%rsp), %xmm4 + subsd %xmm4, %xmm5 + movsd %xmm5, -32(%rsp) + movsd -40(%rsp), %xmm7 + movsd -32(%rsp), %xmm6 + movsd (%rcx,%r10,8), %xmm5 + lea 20(%rdx), %r10d + addsd %xmm6, %xmm7 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm6 + movsd %xmm7, -24(%rsp) + movsd -32(%rsp), %xmm8 + addsd (%rcx,%rdx,8), %xmm8 + movsd %xmm8, -32(%rsp) + movsd -24(%rsp), %xmm9 + subsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -32(%rsp), %xmm12 + movsd -24(%rsp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -24(%rsp) + movsd -40(%rsp), %xmm2 + mulsd %xmm2, %xmm5 + mulsd %xmm2, %xmm13 + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 19(%rdx), %r11d + movsd -24(%rsp), %xmm1 + movsd %xmm13, -40(%rsp) + movsd -40(%rsp), %xmm14 + addsd (%rcx,%r10,8), %xmm5 + subsd %xmm2, %xmm14 + mulsd %xmm2, %xmm5 + movsd %xmm14, -32(%rsp) + lea 18(%rdx), %r10d + movsd -40(%rsp), %xmm0 + movsd -32(%rsp), %xmm15 + addsd (%rcx,%r11,8), %xmm5 + subsd %xmm15, %xmm0 + mulsd %xmm2, %xmm5 + movsd %xmm0, -40(%rsp) + lea 17(%rdx), %r11d + movsd -40(%rsp), %xmm13 + addsd (%rcx,%r10,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 16(%rdx), %r10d + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 15(%rdx), %r11d + addsd (%rcx,%r10,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 14(%rdx), %r10d + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 13(%rdx), %r11d + addsd (%rcx,%r10,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 11(%rdx), %r10d + movsd (%rcx,%r10,8), %xmm4 + lea 9(%rdx), %r10d + movaps %xmm4, %xmm3 + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + subsd %xmm13, %xmm2 + movsd %xmm2, -32(%rsp) + lea 12(%rdx), %r11d + movsd -40(%rsp), %xmm0 + addsd %xmm5, %xmm3 + movsd -32(%rsp), %xmm14 + movsd %xmm3, -40(%rsp) + addsd %xmm14, %xmm1 + movsd -40(%rsp), %xmm15 + subsd %xmm15, %xmm4 + addsd %xmm4, %xmm5 + movaps %xmm0, %xmm4 + movsd %xmm5, -32(%rsp) + movsd -40(%rsp), %xmm11 + mulsd %xmm11, %xmm6 + movsd -32(%rsp), %xmm12 + movsd %xmm6, -40(%rsp) + movsd -40(%rsp), %xmm7 + subsd %xmm11, %xmm7 + addsd (%rcx,%r11,8), %xmm12 + movsd %xmm7, -32(%rsp) + lea 10(%rdx), %r11d + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm8 + movsd (%rcx,%r10,8), %xmm7 + lea 7(%rdx), %r10d + subsd %xmm8, %xmm9 + movsd %xmm9, -40(%rsp) + movsd -40(%rsp), %xmm10 + subsd %xmm10, %xmm11 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm10 + movsd %xmm11, -32(%rsp) + movsd -40(%rsp), %xmm2 + movsd -32(%rsp), %xmm3 + movaps %xmm2, %xmm8 + mulsd %xmm1, %xmm2 + addsd %xmm12, %xmm3 + mulsd %xmm0, %xmm8 + mulsd %xmm3, %xmm4 + mulsd %xmm1, %xmm3 + movaps %xmm8, %xmm5 + addsd %xmm2, %xmm3 + addsd %xmm7, %xmm5 + addsd %xmm3, %xmm4 + movsd %xmm4, -40(%rsp) + movsd -40(%rsp), %xmm9 + movsd %xmm5, -40(%rsp) + movaps %xmm0, %xmm5 + movsd -40(%rsp), %xmm6 + subsd %xmm6, %xmm7 + addsd %xmm7, %xmm8 + movsd %xmm8, -32(%rsp) + movsd -40(%rsp), %xmm15 + mulsd %xmm15, %xmm10 + movsd -32(%rsp), %xmm2 + movsd %xmm10, -40(%rsp) + addsd %xmm9, %xmm2 + movsd -40(%rsp), %xmm11 + movaps %xmm0, %xmm9 + movsd (%rcx,%r10,8), %xmm8 + lea 5(%rdx), %r10d + subsd %xmm15, %xmm11 + addsd (%rcx,%r11,8), %xmm2 + movsd %xmm11, -32(%rsp) + lea 8(%rdx), %r11d + movsd -40(%rsp), %xmm13 + movsd -32(%rsp), %xmm12 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm11 + subsd %xmm12, %xmm13 + movsd %xmm13, -40(%rsp) + movsd -40(%rsp), %xmm14 + subsd %xmm14, %xmm15 + movsd %xmm15, -32(%rsp) + movsd -40(%rsp), %xmm3 + movsd -32(%rsp), %xmm4 + mulsd %xmm3, %xmm9 + addsd %xmm2, %xmm4 + mulsd %xmm1, %xmm3 + mulsd %xmm4, %xmm5 + mulsd %xmm1, %xmm4 + movaps %xmm9, %xmm6 + addsd %xmm3, %xmm4 + addsd %xmm8, %xmm6 + addsd %xmm4, %xmm5 + movsd %xmm5, -40(%rsp) + movsd -40(%rsp), %xmm10 + movsd %xmm6, -40(%rsp) + movaps %xmm0, %xmm6 + movsd -40(%rsp), %xmm7 + subsd %xmm7, %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -32(%rsp) + movsd -40(%rsp), %xmm2 + mulsd %xmm2, %xmm11 + movsd -32(%rsp), %xmm3 + movsd %xmm11, -40(%rsp) + addsd %xmm10, %xmm3 + movsd -40(%rsp), %xmm12 + movaps %xmm0, %xmm10 + movsd (%rcx,%r10,8), %xmm9 + lea 3(%rdx), %r10d + subsd %xmm2, %xmm12 + addsd (%rcx,%r11,8), %xmm3 + movsd %xmm12, -32(%rsp) + lea 6(%rdx), %r11d + movsd -40(%rsp), %xmm14 + movsd -32(%rsp), %xmm13 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm12 + subsd %xmm13, %xmm14 + movsd %xmm14, -40(%rsp) + movsd -40(%rsp), %xmm15 + subsd %xmm15, %xmm2 + movsd %xmm2, -32(%rsp) + movsd -40(%rsp), %xmm4 + movsd -32(%rsp), %xmm5 + mulsd %xmm4, %xmm10 + addsd %xmm3, %xmm5 + mulsd %xmm1, %xmm4 + mulsd %xmm5, %xmm6 + mulsd %xmm1, %xmm5 + movaps %xmm10, %xmm7 + addsd %xmm4, %xmm5 + addsd %xmm9, %xmm7 + addsd %xmm5, %xmm6 + movsd %xmm6, -40(%rsp) + movaps %xmm0, %xmm6 + movsd -40(%rsp), %xmm11 + movsd %xmm7, -40(%rsp) + movsd -40(%rsp), %xmm8 + subsd %xmm8, %xmm9 + addsd %xmm9, %xmm10 + movsd (%rcx,%r10,8), %xmm9 + movsd %xmm10, -32(%rsp) + movaps %xmm0, %xmm10 + movsd -40(%rsp), %xmm2 + lea 1(%rdx), %r10d + mulsd %xmm2, %xmm12 + movsd -32(%rsp), %xmm3 + movsd %xmm12, -40(%rsp) + addsd %xmm11, %xmm3 + movsd -40(%rsp), %xmm13 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm12 + subsd %xmm2, %xmm13 + addsd (%rcx,%r11,8), %xmm3 + movsd %xmm13, -32(%rsp) + lea 4(%rdx), %r11d + movsd -40(%rsp), %xmm11 + addl $2, %edx + movsd -32(%rsp), %xmm14 + subsd %xmm14, %xmm11 + movsd %xmm11, -40(%rsp) + movsd -40(%rsp), %xmm15 + subsd %xmm15, %xmm2 + movsd %xmm2, -32(%rsp) + movsd -40(%rsp), %xmm4 + movsd -32(%rsp), %xmm5 + mulsd %xmm4, %xmm10 + addsd %xmm3, %xmm5 + mulsd %xmm1, %xmm4 + mulsd %xmm5, %xmm6 + mulsd %xmm1, %xmm5 + movaps %xmm10, %xmm7 + addsd %xmm4, %xmm5 + addsd %xmm9, %xmm7 + addsd %xmm5, %xmm6 + movsd %xmm6, -40(%rsp) + movaps %xmm0, %xmm6 + movsd -40(%rsp), %xmm11 + movsd %xmm7, -40(%rsp) + movsd -40(%rsp), %xmm8 + subsd %xmm8, %xmm9 + addsd %xmm9, %xmm10 + movsd %xmm10, -32(%rsp) + movsd -40(%rsp), %xmm3 + mulsd %xmm3, %xmm12 + movsd -32(%rsp), %xmm4 + movsd %xmm12, -40(%rsp) + addsd %xmm11, %xmm4 + movsd -40(%rsp), %xmm11 + subsd %xmm3, %xmm11 + addsd (%rcx,%r11,8), %xmm4 + movsd %xmm11, -32(%rsp) + movsd -40(%rsp), %xmm2 + movsd -32(%rsp), %xmm13 + subsd %xmm13, %xmm2 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm14 + subsd %xmm14, %xmm3 + movsd %xmm3, -32(%rsp) + movsd -40(%rsp), %xmm15 + movsd -32(%rsp), %xmm5 + mulsd %xmm15, %xmm6 + addsd %xmm4, %xmm5 + mulsd %xmm5, %xmm0 + mulsd %xmm1, %xmm5 + mulsd %xmm15, %xmm1 + addsd %xmm1, %xmm5 + movaps %xmm6, %xmm1 + addsd %xmm5, %xmm0 + movsd %xmm0, -40(%rsp) + movsd (%rcx,%r10,8), %xmm0 + movsd -40(%rsp), %xmm2 + addsd %xmm0, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm1 + subsd %xmm1, %xmm0 + addsd %xmm0, %xmm6 + movsd %xmm6, -32(%rsp) + movsd -40(%rsp), %xmm1 + movsd -32(%rsp), %xmm4 + movaps %xmm1, %xmm3 + addsd %xmm2, %xmm4 + addsd (%rcx,%rdx,8), %xmm4 + addsd %xmm4, %xmm3 + movsd %xmm3, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm0, %xmm1 + addsd %xmm1, %xmm4 + movsd %xmm4, -32(%rsp) + movsd -40(%rsp), %xmm0 + movsd -32(%rsp), %xmm7 + cmpl $6, %esi + jae .LBL_2_7 + movsd 4808+__derfc_la__imldErfcTab(%rip), %xmm1 + movsd %xmm1, -48(%rsp) + jmp .LBL_2_8 + +.LBL_2_7: + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm8 + mulsd %xmm0, %xmm8 + movsd %xmm8, -40(%rsp) + movsd -40(%rsp), %xmm9 + subsd %xmm0, %xmm9 + movsd %xmm9, -32(%rsp) + movsd -40(%rsp), %xmm11 + movsd -32(%rsp), %xmm10 + movsd 4816+__derfc_la__imldErfcTab(%rip), %xmm9 + subsd %xmm10, %xmm11 + movsd %xmm11, -40(%rsp) + movsd -40(%rsp), %xmm12 + movsd 4760+__derfc_la__imldErfcTab(%rip), %xmm10 + subsd %xmm12, %xmm0 + movsd %xmm0, -32(%rsp) + movsd (%r8), %xmm14 + mulsd 4784+__derfc_la__imldErfcTab(%rip), %xmm14 + movsd -40(%rsp), %xmm6 + movsd -32(%rsp), %xmm13 + movsd %xmm14, -40(%rsp) + addsd %xmm13, %xmm7 + movsd -40(%rsp), %xmm15 + movsd 4744+__derfc_la__imldErfcTab(%rip), %xmm11 + subsd (%r8), %xmm15 + movsd %xmm15, -32(%rsp) + movsd -40(%rsp), %xmm1 + movsd -32(%rsp), %xmm0 + subsd %xmm0, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm3 + movsd (%r8), %xmm2 + subsd %xmm3, %xmm2 + movsd %xmm2, -32(%rsp) + movsd -40(%rsp), %xmm5 + movsd -32(%rsp), %xmm8 + movaps %xmm8, %xmm4 + mulsd %xmm5, %xmm4 + mulsd %xmm5, %xmm5 + mulsd %xmm8, %xmm8 + mulsd %xmm9, %xmm5 + addsd %xmm4, %xmm8 + mulsd %xmm5, %xmm10 + addsd %xmm4, %xmm8 + addsd 4776+__derfc_la__imldErfcTab(%rip), %xmm10 + movsd %xmm8, -40(%rsp) + movsd -40(%rsp), %xmm4 + movsd %xmm10, -56(%rsp) + movsd -56(%rsp), %xmm3 + mulsd %xmm9, %xmm4 + subsd 4776+__derfc_la__imldErfcTab(%rip), %xmm3 + mulsd %xmm3, %xmm11 + xorps .FLT_190(%rip), %xmm3 + subsd %xmm11, %xmm5 + mulsd 4752+__derfc_la__imldErfcTab(%rip), %xmm3 + movaps %xmm5, %xmm12 + movaps %xmm5, %xmm14 + movl -56(%rsp), %edi + movl %edi, %esi + andl $63, %esi + addsd %xmm3, %xmm12 + movsd %xmm12, -40(%rsp) + lea 466(%rsi,%rsi), %r10d + movsd -40(%rsp), %xmm13 + lea 465(%rsi,%rsi), %edx + shrl $6, %edi + subsd %xmm13, %xmm14 + movsd %xmm14, -32(%rsp) + addl $1023, %edi + movsd -40(%rsp), %xmm0 + movl %edi, %r11d + movsd -32(%rsp), %xmm15 + andl $2047, %r11d + shll $4, %r11d + addsd %xmm15, %xmm0 + movsd %xmm0, -24(%rsp) + movsd -32(%rsp), %xmm1 + addsd %xmm1, %xmm3 + movsd %xmm3, -32(%rsp) + movsd -24(%rsp), %xmm2 + subsd %xmm2, %xmm5 + movsd %xmm5, -24(%rsp) + movsd -32(%rsp), %xmm0 + movsd -24(%rsp), %xmm5 + addsd %xmm5, %xmm0 + movsd %xmm0, -24(%rsp) + movsd -40(%rsp), %xmm11 + movaps %xmm11, %xmm1 + movaps %xmm11, %xmm8 + movsd -24(%rsp), %xmm3 + addsd %xmm4, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm2 + movsd 3712+__derfc_la__imldErfcTab(%rip), %xmm0 + subsd %xmm2, %xmm8 + movsd %xmm8, -32(%rsp) + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm5 + addsd %xmm5, %xmm9 + movsd %xmm9, -24(%rsp) + movsd -32(%rsp), %xmm10 + addsd %xmm10, %xmm4 + movsd %xmm4, -32(%rsp) + movsd -24(%rsp), %xmm4 + subsd %xmm4, %xmm11 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm4 + movsd %xmm11, -24(%rsp) + movsd -32(%rsp), %xmm13 + movsd -24(%rsp), %xmm12 + addsd %xmm12, %xmm13 + movsd %xmm13, -24(%rsp) + movsd -40(%rsp), %xmm1 + mulsd %xmm1, %xmm0 + movaps %xmm1, %xmm14 + movsd -24(%rsp), %xmm2 + addsd 3704+__derfc_la__imldErfcTab(%rip), %xmm0 + addsd %xmm2, %xmm3 + mulsd %xmm1, %xmm0 + movsd (%rcx,%rdx,8), %xmm2 + addsd 3696+__derfc_la__imldErfcTab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 3688+__derfc_la__imldErfcTab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 3680+__derfc_la__imldErfcTab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + mulsd %xmm1, %xmm0 + addsd %xmm0, %xmm14 + movsd %xmm14, -32(%rsp) + movsd -32(%rsp), %xmm15 + subsd %xmm15, %xmm0 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm15 + addsd %xmm0, %xmm1 + movsd %xmm1, -24(%rsp) + movsd -32(%rsp), %xmm11 + mulsd %xmm11, %xmm4 + movsd -24(%rsp), %xmm0 + movsd %xmm4, -40(%rsp) + movsd -40(%rsp), %xmm5 + subsd %xmm11, %xmm5 + movsd %xmm5, -32(%rsp) + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm8 + subsd %xmm8, %xmm9 + movsd %xmm9, -40(%rsp) + movsd -40(%rsp), %xmm10 + subsd %xmm10, %xmm11 + movaps %xmm2, %xmm10 + movsd %xmm11, -32(%rsp) + movsd -40(%rsp), %xmm13 + movsd -32(%rsp), %xmm12 + mulsd %xmm13, %xmm10 + addsd %xmm3, %xmm12 + movsd (%rcx,%r10,8), %xmm3 + movaps %xmm10, %xmm4 + movaps %xmm3, %xmm1 + addsd %xmm12, %xmm0 + mulsd %xmm3, %xmm13 + mulsd %xmm0, %xmm1 + mulsd %xmm2, %xmm0 + addsd %xmm10, %xmm2 + addsd %xmm0, %xmm1 + addsd %xmm13, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm1 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm0, %xmm4 + movsd %xmm4, -32(%rsp) + movsd -40(%rsp), %xmm5 + movsd -32(%rsp), %xmm3 + addsd %xmm3, %xmm5 + movsd %xmm5, -24(%rsp) + movsd -32(%rsp), %xmm8 + addsd (%rcx,%rdx,8), %xmm8 + movsd %xmm8, -32(%rsp) + movsd -24(%rsp), %xmm9 + subsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -32(%rsp), %xmm12 + movsd -24(%rsp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -24(%rsp) + movsd -40(%rsp), %xmm3 + mulsd %xmm3, %xmm15 + movsd -24(%rsp), %xmm14 + movsd %xmm15, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm3, %xmm0 + addsd (%rcx,%r10,8), %xmm14 + movsd %xmm0, -32(%rsp) + addsd %xmm14, %xmm1 + movsd -40(%rsp), %xmm2 + movsd -32(%rsp), %xmm14 + movq 4792+__derfc_la__imldErfcTab(%rip), %rcx + subsd %xmm14, %xmm2 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm15 + movq %rcx, -48(%rsp) + subsd %xmm15, %xmm3 + movsd %xmm3, -32(%rsp) + movsd -40(%rsp), %xmm0 + movsd -32(%rsp), %xmm4 + shrq $48, %rcx + addsd %xmm1, %xmm4 + movaps %xmm0, %xmm1 + andl $-32753, %ecx + mulsd %xmm7, %xmm1 + orl %r11d, %ecx + mulsd %xmm4, %xmm7 + mulsd %xmm6, %xmm4 + mulsd %xmm6, %xmm0 + addsd %xmm4, %xmm7 + movw %cx, -42(%rsp) + addsd %xmm7, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm7 + +.LBL_2_8: + movb 7(%r8), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_19 + movsd (%r8), %xmm2 + movsd 4848+__derfc_la__imldErfcTab(%rip), %xmm1 + comisd %xmm2, %xmm1 + jbe .LBL_2_11 + addsd %xmm0, %xmm7 + mulsd -48(%rsp), %xmm7 + jmp .LBL_2_14 + +.LBL_2_11: + movq 4792+__derfc_la__imldErfcTab(%rip), %rdx + addl $200, %edi + movq %rdx, -48(%rsp) + andl $2047, %edi + shrq $48, %rdx + shll $4, %edi + andl $-32753, %edx + orl %edi, %edx + movw %dx, -42(%rsp) + movsd -48(%rsp), %xmm1 + mulsd %xmm1, %xmm0 + comisd 4840+__derfc_la__imldErfcTab(%rip), %xmm2 + mulsd %xmm1, %xmm7 + jbe .LBL_2_13 + addsd %xmm0, %xmm7 + mulsd 4768+__derfc_la__imldErfcTab(%rip), %xmm7 + movaps %xmm7, %xmm0 + mulsd %xmm7, %xmm0 + movsd %xmm0, -40(%rsp) + movsd -40(%rsp), %xmm1 + addsd %xmm1, %xmm7 + jmp .LBL_2_14 + +.LBL_2_13: + movaps %xmm7, %xmm1 + addsd %xmm0, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm2 + subsd %xmm2, %xmm0 + addsd %xmm0, %xmm7 + movsd %xmm7, -32(%rsp) + movsd -40(%rsp), %xmm6 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm7 + mulsd %xmm6, %xmm7 + movsd -32(%rsp), %xmm10 + movsd %xmm7, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm6, %xmm0 + movsd %xmm0, -32(%rsp) + movsd -40(%rsp), %xmm4 + movsd -32(%rsp), %xmm3 + subsd %xmm3, %xmm4 + movsd %xmm4, -40(%rsp) + movsd -40(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -32(%rsp) + movsd -40(%rsp), %xmm8 + movsd -32(%rsp), %xmm9 + mulsd 4768+__derfc_la__imldErfcTab(%rip), %xmm8 + addsd %xmm9, %xmm10 + mulsd 4768+__derfc_la__imldErfcTab(%rip), %xmm10 + movsd %xmm8, -40(%rsp) + movsd %xmm10, -32(%rsp) + movsd -40(%rsp), %xmm7 + movsd -32(%rsp), %xmm11 + addsd %xmm11, %xmm7 + +.LBL_2_14: + movsd %xmm7, (%r9) + ret + +.LBL_2_15: + movsd 4800+__derfc_la__imldErfcTab(%rip), %xmm0 + movl $4, %eax + movaps %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + movsd %xmm1, (%r9) + ret + +.LBL_2_16: + movsd 4800+__derfc_la__imldErfcTab(%rip), %xmm0 + movsd 4824+__derfc_la__imldErfcTab(%rip), %xmm1 + subsd %xmm0, %xmm1 + movsd %xmm1, (%r9) + ret + +.LBL_2_17: + movsd 4808+__derfc_la__imldErfcTab(%rip), %xmm0 + addsd (%r8), %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_19: + movsd -48(%rsp), %xmm1 + mulsd %xmm1, %xmm0 + mulsd %xmm1, %xmm7 + movsd 4824+__derfc_la__imldErfcTab(%rip), %xmm4 + xorps .FLT_190(%rip), %xmm0 + movaps %xmm4, %xmm2 + xorps .FLT_190(%rip), %xmm7 + addsd %xmm0, %xmm2 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm3 + subsd %xmm3, %xmm4 + addsd %xmm4, %xmm0 + movsd %xmm0, -32(%rsp) + movsd -40(%rsp), %xmm11 + movaps %xmm11, %xmm0 + movaps %xmm11, %xmm6 + movsd -32(%rsp), %xmm14 + addsd %xmm7, %xmm0 + movsd %xmm0, -40(%rsp) + movsd -40(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -32(%rsp) + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -24(%rsp) + movsd -32(%rsp), %xmm10 + addsd %xmm10, %xmm7 + movsd %xmm7, -32(%rsp) + movsd -24(%rsp), %xmm7 + subsd %xmm7, %xmm11 + movsd %xmm11, -24(%rsp) + movsd -32(%rsp), %xmm13 + movsd -24(%rsp), %xmm12 + addsd %xmm12, %xmm13 + movsd %xmm13, -24(%rsp) + movsd -40(%rsp), %xmm7 + movsd -24(%rsp), %xmm15 + addsd %xmm14, %xmm15 + addsd %xmm15, %xmm7 + jmp .LBL_2_14 + +.LBL_2_20: + testl $1048575, 4(%r8) + jne .LBL_2_22 + cmpl $0, (%r8) + je .LBL_2_23 + +.LBL_2_22: + movsd (%r8), %xmm0 + mulsd %xmm0, %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_23: + movb 7(%r8), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_25 + movq 4792+__derfc_la__imldErfcTab(%rip), %rdx + movq %rdx, (%r9) + ret + +.LBL_2_25: + movq 4824+__derfc_la__imldErfcTab(%rip), %rdx + movq %rdx, (%r9) + ret + + cfi_endproc + + .type __svml_derfc_cout_rare_internal,@function + .size __svml_derfc_cout_rare_internal,.-__svml_derfc_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_derfc_data_internal: + .long 0 + .long 1206910976 + .long 1346542445 + .long 1207045591 + .long 50877363 + .long 1206892489 + .long 427149405 + .long 1207045519 + .long 1203636035 + .long 1206874004 + .long 2077512391 + .long 1207045302 + .long 261641177 + .long 1206855524 + .long 2343319233 + .long 1207044941 + .long 2611097005 + .long 1206837050 + .long 1792097487 + .long 1207044436 + .long 742667950 + .long 1206818586 + .long 1217900872 + .long 1207043787 + .long 17746572 + .long 1206800133 + .long 1640824915 + .long 1207042994 + .long 1485057150 + .long 1206781693 + .long 11417604 + .long 1207042058 + .long 1877139253 + .long 1206763269 + .long 2094822099 + .long 1207040978 + .long 2196778830 + .long 1206744863 + .long 995044552 + .long 1207039756 + .long 3418552468 + .long 1206726477 + .long 2923726463 + .long 1207038391 + .long 2190388828 + .long 1206708114 + .long 1429174619 + .long 1207036885 + .long 3715018521 + .long 1206689775 + .long 3164864724 + .long 1207035237 + .long 271706986 + .long 1206671464 + .long 2118204713 + .long 1207033449 + .long 1277618326 + .long 1206653181 + .long 1083806794 + .long 1207031521 + .long 3219662471 + .long 1206634929 + .long 3071858204 + .long 1207029453 + .long 2536042782 + .long 1206616711 + .long 2716363190 + .long 1207027247 + .long 4202865851 + .long 1206598528 + .long 3453061548 + .long 1207024903 + .long 256011690 + .long 1206580384 + .long 337483221 + .long 1207022423 + .long 4147612174 + .long 1206562278 + .long 1517584741 + .long 1207019806 + .long 3498186200 + .long 1206544215 + .long 2461623467 + .long 1207017054 + .long 3043125272 + .long 1206526196 + .long 3135584772 + .long 1207014168 + .long 3154708737 + .long 1206508223 + .long 3705654820 + .long 1207011149 + .long 4133963693 + .long 1206490298 + .long 240577552 + .long 1207007999 + .long 1912633014 + .long 1206472424 + .long 1888734604 + .long 1207004717 + .long 935057006 + .long 1206454602 + .long 810473775 + .long 1207001306 + .long 1270297458 + .long 1206436834 + .long 2239870849 + .long 1206997766 + .long 2904178738 + .long 1206419122 + .long 3006777612 + .long 1206994099 + .long 1441443784 + .long 1206401469 + .long 123537259 + .long 1206990307 + .long 987830370 + .long 1206383876 + .long 3666566110 + .long 1206986389 + .long 1262396252 + .long 1206366345 + .long 2413196824 + .long 1206982349 + .long 1889767655 + .long 1206348878 + .long 2492870238 + .long 1206978187 + .long 2397476092 + .long 1206331477 + .long 1613725249 + .long 1206973905 + .long 2213352239 + .long 1206314144 + .long 1943804817 + .long 1206969504 + .long 662978241 + .long 1206296881 + .long 1517338984 + .long 1206964986 + .long 1262167059 + .long 1206279689 + .long 2820813657 + .long 1206960352 + .long 3124600979 + .long 1206262570 + .long 4199089955 + .long 1206955604 + .long 959466959 + .long 1206245527 + .long 4146348395 + .long 1206950744 + .long 2249024617 + .long 1206228560 + .long 1301992007 + .long 1206945774 + .long 1476565817 + .long 1206211672 + .long 3036413564 + .long 1206940694 + .long 1599080161 + .long 1206194864 + .long 3971924632 + .long 1206935507 + .long 1160248775 + .long 1206178138 + .long 3158326576 + .long 1206930215 + .long 2878342215 + .long 1206161495 + .long 4068552111 + .long 1206924819 + .long 759350432 + .long 1206144938 + .long 1709348165 + .long 1206919322 + .long 1569920526 + .long 1206128467 + .long 4091643817 + .long 1206913724 + .long 3360691744 + .long 1206112084 + .long 27554567 + .long 1206905083 + .long 4054472522 + .long 1206095791 + .long 4013208754 + .long 1206893499 + .long 1444554589 + .long 1206079590 + .long 2463469560 + .long 1206881728 + .long 1783033956 + .long 1206063481 + .long 3673248531 + .long 1206869772 + .long 2599401014 + .long 1206047466 + .long 3245080601 + .long 1206857636 + .long 1289007805 + .long 1206031547 + .long 1259566555 + .long 1206845324 + .long 3701609164 + .long 1206015724 + .long 2265889960 + .long 1206832839 + .long 2665207076 + .long 1206000000 + .long 2387383118 + .long 1206820186 + .long 3754609922 + .long 1205984375 + .long 2196854969 + .long 1206807369 + .long 3815426410 + .long 1205968851 + .long 2412015218 + .long 1206794392 + .long 3847873048 + .long 1205953429 + .long 3885838402 + .long 1206781259 + .long 415820508 + .long 1205938111 + .long 3301940522 + .long 1206767975 + .long 2825719252 + .long 1205922896 + .long 1754844591 + .long 1206754544 + .long 3060960472 + .long 1205907787 + .long 445338472 + .long 1206740970 + .long 1550887464 + .long 1205892785 + .long 670801289 + .long 1206727257 + .long 2875111473 + .long 1205877890 + .long 3815538169 + .long 1206713409 + .long 2877968408 + .long 1205863104 + .long 2751195712 + .long 1206699432 + .long 3105709255 + .long 1205834456 + .long 3301970792 + .long 1206685329 + .long 1788504625 + .long 1205805325 + .long 2760175517 + .long 1206671105 + .long 1204692060 + .long 1205776417 + .long 2761576465 + .long 1206656764 + .long 460329589 + .long 1205747734 + .long 685940062 + .long 1206642311 + .long 2661596630 + .long 1205719277 + .long 2532463670 + .long 1206627749 + .long 2029504855 + .long 1205691049 + .long 1435524088 + .long 1206613084 + .long 1079526751 + .long 1205663051 + .long 3425128494 + .long 1206598319 + .long 2031566030 + .long 1205635284 + .long 1647826366 + .long 1206583460 + .long 2515039812 + .long 1205607750 + .long 2127303697 + .long 1206568510 + .long 4159005984 + .long 1205580450 + .long 2280417801 + .long 1206553474 + .long 4002563329 + .long 1205553386 + .long 3793057312 + .long 1206538356 + .long 3085261414 + .long 1205526559 + .long 4021258398 + .long 1206523161 + .long 2152747646 + .long 1205499970 + .long 277321282 + .long 1206507894 + .long 1657519127 + .long 1205473620 + .long 2705965375 + .long 1206492557 + .long 1759810314 + .long 1205447510 + .long 4210920931 + .long 1206477156 + .long 2328614758 + .long 1205421641 + .long 1921243050 + .long 1206461696 + .long 2942839070 + .long 1205396014 + .long 1477876472 + .long 1206446180 + .long 2892587204 + .long 1205370630 + .long 4140476189 + .long 1206430612 + .long 1180573078 + .long 1205345490 + .long 2484292510 + .long 1206414998 + .long 818626740 + .long 1205320594 + .long 1866994493 + .long 1206399341 + .long 239422773 + .long 1205295943 + .long 3240926857 + .long 1206383645 + .long 1888199804 + .long 1205271537 + .long 3145379609 + .long 1206367915 + .long 3634730458 + .long 1205247377 + .long 2288940035 + .long 1206352155 + .long 3070310503 + .long 1205223464 + .long 1247094627 + .long 1206336369 + .long 1804862889 + .long 1205199798 + .long 454954036 + .long 1206320561 + .long 1174219619 + .long 1205176379 + .long 200137461 + .long 1206304735 + .long 2242480842 + .long 1205153207 + .long 615820036 + .long 1206288895 + .long 1509513978 + .long 1205130283 + .long 1673946580 + .long 1206273045 + .long 3798426746 + .long 1205107606 + .long 3178614907 + .long 1206257189 + .long 783403865 + .long 1205085178 + .long 464664423 + .long 1206241332 + .long 1057250629 + .long 1205062997 + .long 1571276620 + .long 1206225476 + .long 69490897 + .long 1205041064 + .long 1466080688 + .long 1206209626 + .long 1604166397 + .long 1205019378 + .long 3514079945 + .long 1206193785 + .long 603021279 + .long 1204997940 + .long 2292055455 + .long 1206177958 + .long 348513089 + .long 1204976749 + .long 762892997 + .long 1206162148 + .long 3877105099 + .long 1204955804 + .long 1680293156 + .long 1206146358 + .long 1097673547 + .long 1204935107 + .long 3288637392 + .long 1206130592 + .long 3154634384 + .long 1204914655 + .long 3612978933 + .long 1206114854 + .long 3776702241 + .long 1204894449 + .long 454258010 + .long 1206099148 + .long 755264802 + .long 1204874489 + .long 4269611837 + .long 1206083475 + .long 242958227 + .long 1204854773 + .long 3808238226 + .long 1206067841 + .long 3872440587 + .long 1204835300 + .long 466930684 + .long 1206052249 + .long 170196752 + .long 1204816072 + .long 3991103291 + .long 1206036700 + .long 2135121939 + .long 1204780347 + .long 2406207743 + .long 1206021200 + .long 2204772300 + .long 1204742858 + .long 668823419 + .long 1206005751 + .long 2090555098 + .long 1204705851 + .long 3483369050 + .long 1205990355 + .long 2922214527 + .long 1204669324 + .long 2413978135 + .long 1205975017 + .long 1131089702 + .long 1204633276 + .long 1651276306 + .long 1205959739 + .long 1343136585 + .long 1204597704 + .long 829681671 + .long 1205944524 + .long 3502231534 + .long 1204562606 + .long 3614704403 + .long 1205929374 + .long 2878456041 + .long 1204527981 + .long 520637331 + .long 1205914294 + .long 2961356576 + .long 1204493826 + .long 3268048090 + .long 1205899284 + .long 2583467835 + .long 1204460139 + .long 1832052951 + .long 1205884349 + .long 223766334 + .long 1204426918 + .long 3095161192 + .long 1205869490 + .long 2606146478 + .long 1204394159 + .long 1561666736 + .long 1205847022 + .long 3233174809 + .long 1204361861 + .long 2443607338 + .long 1205817626 + .long 3869560569 + .long 1204330021 + .long 3767899416 + .long 1205788398 + .long 1665925415 + .long 1204298637 + .long 4205206053 + .long 1205759343 + .long 2052408644 + .long 1204267705 + .long 1868283784 + .long 1205730466 + .long 1567527352 + .long 1204237223 + .long 2900434531 + .long 1205701770 + .long 751828015 + .long 1204207188 + .long 4294514068 + .long 1205673260 + .long 4156650932 + .long 1204177596 + .long 2482100151 + .long 1205644941 + .long 3173034702 + .long 1204148446 + .long 1923011912 + .long 1205616816 + .long 1810297448 + .long 1204119734 + .long 2220339163 + .long 1205588889 + .long 3819910772 + .long 1204091456 + .long 2415682179 + .long 1205561164 + .long 4114334111 + .long 1204063610 + .long 989760182 + .long 1205533645 + .long 1660673493 + .long 1204036193 + .long 158317606 + .long 1205506335 + .long 3784388464 + .long 1204009200 + .long 1578420540 + .long 1205479237 + .long 408205713 + .long 1203982630 + .long 2055072070 + .long 1205452355 + .long 2715514954 + .long 1203956477 + .long 2133042299 + .long 1205425692 + .long 209354155 + .long 1203930740 + .long 1804103059 + .long 1205399251 + .long 3670703943 + .long 1203905413 + .long 509530065 + .long 1205373035 + .long 2217394674 + .long 1203880495 + .long 1437865959 + .long 1205347046 + .long 1967346208 + .long 1203855981 + .long 2938068361 + .long 1205321287 + .long 277247869 + .long 1203831868 + .long 2817839853 + .long 1205295761 + .long 2930856690 + .long 1203808151 + .long 2642231032 + .long 1205270470 + .long 2672531088 + .long 1203784828 + .long 3442574974 + .long 1205245416 + .long 1380749029 + .long 1203758542 + .long 1425680479 + .long 1205220602 + .long 364049377 + .long 1203713447 + .long 863146005 + .long 1205196029 + .long 4135711256 + .long 1203669115 + .long 1211113923 + .long 1205171699 + .long 1408210142 + .long 1203625541 + .long 1410130595 + .long 1205147614 + .long 2141520247 + .long 1203582715 + .long 4185235532 + .long 1205123775 + .long 3199245553 + .long 1203540630 + .long 3166402837 + .long 1205100185 + .long 1249220745 + .long 1203499279 + .long 73967522 + .long 1205076845 + .long 1368967964 + .long 1203458653 + .long 429421420 + .long 1205053755 + .long 4176133851 + .long 1203418744 + .long 676472817 + .long 1205030917 + .long 1548671894 + .long 1203379546 + .long 1072100387 + .long 1205008332 + .long 2409600712 + .long 1203341049 + .long 1397920641 + .long 1204986001 + .long 2676986790 + .long 1203303246 + .long 966697529 + .long 1204963925 + .long 2458361401 + .long 1203266129 + .long 2923986376 + .long 1204942104 + .long 1770089909 + .long 1203229690 + .long 1370067789 + .long 1204920540 + .long 551492353 + .long 1203193921 + .long 2841771284 + .long 1204899232 + .long 2973710723 + .long 1203158813 + .long 549802159 + .long 1204878182 + .long 273514778 + .long 1203124360 + .long 155811627 + .long 1204857389 + .long 831519033 + .long 1203090552 + .long 2599921926 + .long 1204836853 + .long 120624626 + .long 1203057382 + .long 4108240803 + .long 1204816575 + .long 2193832135 + .long 1203024841 + .long 990911579 + .long 1204779288 + .long 2517108728 + .long 1202992922 + .long 114935845 + .long 1204739764 + .long 866783228 + .long 1202961617 + .long 4208768690 + .long 1204700754 + .long 1341793209 + .long 1202930917 + .long 2526808836 + .long 1204662260 + .long 3785748732 + .long 1202900814 + .long 743445360 + .long 1204624280 + .long 3798679449 + .long 1202871301 + .long 3789340407 + .long 1204586812 + .long 1338462853 + .long 1202842370 + .long 2982814329 + .long 1204549857 + .long 732062489 + .long 1202814012 + .long 1816057167 + .long 1204513413 + .long 2096574356 + .long 1202786219 + .long 3086740885 + .long 1204477478 + .long 1349949120 + .long 1202758984 + .long 324691238 + .long 1204442052 + .long 3106356116 + .long 1202732298 + .long 3578376465 + .long 1204407131 + .long 2718062803 + .long 1202695637 + .long 776951344 + .long 1204372716 + .long 1930105980 + .long 1202644417 + .long 696731218 + .long 1204338803 + .long 950295171 + .long 1202594249 + .long 2913260122 + .long 1204305390 + .long 1466075545 + .long 1202545117 + .long 2113142428 + .long 1204272476 + .long 1179247391 + .long 1202497006 + .long 995821495 + .long 1204240058 + .long 2413671232 + .long 1202449900 + .long 1700521760 + .long 1204208133 + .long 3542576522 + .long 1202403784 + .long 1528145825 + .long 1204176699 + .long 3300245566 + .long 1202358643 + .long 1548049162 + .long 1204145753 + .long 798204423 + .long 1202314462 + .long 2319876962 + .long 1204115292 + .long 4130823980 + .long 1202271224 + .long 3910320901 + .long 1204085313 + .long 325692601 + .long 1202228917 + .long 1614850098 + .long 1204055814 + .long 2602879339 + .long 1202187523 + .long 3154209172 + .long 1204026790 + .long 3144398209 + .long 1202147029 + .long 2921163421 + .long 1203998239 + .long 3172568008 + .long 1202107420 + .long 3471794055 + .long 1203970157 + .long 78186389 + .long 1202068682 + .long 2656954908 + .long 1203942541 + .long 317998187 + .long 1202030799 + .long 2228455793 + .long 1203915387 + .long 2246886747 + .long 1201993757 + .long 3560224787 + .long 1203888691 + .long 424399652 + .long 1201957543 + .long 3369342261 + .long 1203862450 + .long 2805678425 + .long 1201922141 + .long 2321839820 + .long 1203836660 + .long 687254462 + .long 1201887539 + .long 753451907 + .long 1203811317 + .long 3076865566 + .long 1201853721 + .long 2980148458 + .long 1203786416 + .long 2343311830 + .long 1201820675 + .long 267339392 + .long 1203758662 + .long 4290342208 + .long 1201788386 + .long 483064631 + .long 1203710608 + .long 2395492869 + .long 1201756842 + .long 649602217 + .long 1203663415 + .long 3588065350 + .long 1201726028 + .long 2890701232 + .long 1203617074 + .long 2487035226 + .long 1201695932 + .long 261234300 + .long 1203571578 + .long 1471322937 + .long 1201664985 + .long 2545983092 + .long 1203526916 + .long 1131684659 + .long 1201607584 + .long 1928478288 + .long 1203483081 + .long 1019023119 + .long 1201551540 + .long 3083934340 + .long 1203440063 + .long 3694032235 + .long 1201496827 + .long 1732151351 + .long 1203397854 + .long 45356648 + .long 1201443422 + .long 1844687288 + .long 1203356444 + .long 3659477281 + .long 1201391297 + .long 2786814309 + .long 1203315824 + .long 3585386022 + .long 1201340430 + .long 3638890659 + .long 1203275985 + .long 2997788379 + .long 1201290796 + .long 3222303380 + .long 1203236918 + .long 2024927897 + .long 1201242371 + .long 124941498 + .long 1203198614 + .long 2050458447 + .long 1201195131 + .long 1316127179 + .long 1203161062 + .long 1424608307 + .long 1201149053 + .long 696292715 + .long 1203124254 + .long 4059487722 + .long 1201104113 + .long 595841400 + .long 1203088180 + .long 2253849626 + .long 1201060290 + .long 3208742923 + .long 1203052830 + .long 2466795813 + .long 1201017560 + .long 2025629493 + .long 1203018196 + .long 3846130990 + .long 1200975901 + .long 3331159491 + .long 1202984267 + .long 2525824555 + .long 1200935292 + .long 456233562 + .long 1202951035 + .long 217759517 + .long 1200895711 + .long 3864275015 + .long 1202918488 + .long 4212882670 + .long 1200857135 + .long 2517520227 + .long 1202886619 + .long 1611902917 + .long 1200819546 + .long 2552204883 + .long 1202855417 + .long 2274834387 + .long 1200782921 + .long 1528723567 + .long 1202824873 + .long 165545170 + .long 1200747241 + .long 1335976541 + .long 1202794977 + .long 3415183250 + .long 1200712484 + .long 3915328100 + .long 1202765719 + .long 4255476983 + .long 1200678632 + .long 2689078049 + .long 1202737091 + .long 491076056 + .long 1200645666 + .long 3811402329 + .long 1202701493 + .long 3877912124 + .long 1200607609 + .long 3249658772 + .long 1202646696 + .long 720132827 + .long 1200545101 + .long 4058137866 + .long 1202593100 + .long 3334971130 + .long 1200484248 + .long 2585699919 + .long 1202540687 + .long 304030744 + .long 1200425016 + .long 4081392135 + .long 1202489437 + .long 4198826078 + .long 1200367366 + .long 1250224180 + .long 1202439333 + .long 30057652 + .long 1200311266 + .long 52563989 + .long 1202390355 + .long 1070161017 + .long 1200256678 + .long 2552846462 + .long 1202342484 + .long 1595763285 + .long 1200203569 + .long 2652176382 + .long 1202295703 + .long 2643737761 + .long 1200151905 + .long 3294767379 + .long 1202249993 + .long 3406705443 + .long 1200101653 + .long 3608617230 + .long 1202205336 + .long 1217687217 + .long 1200052781 + .long 3225068209 + .long 1202161714 + .long 123937378 + .long 1200005256 + .long 2302425099 + .long 1202119109 + .long 2280185010 + .long 1199959046 + .long 1548607803 + .long 1202077503 + .long 3636149723 + .long 1199914121 + .long 2242848736 + .long 1202036878 + .long 2508296020 + .long 1199870451 + .long 1961478441 + .long 1201997217 + .long 3855986450 + .long 1199828005 + .long 3187679808 + .long 1201958502 + .long 2082193349 + .long 1199786755 + .long 445484238 + .long 1201920717 + .long 2488339928 + .long 1199746671 + .long 1792596734 + .long 1201883843 + .long 4073887589 + .long 1199707725 + .long 3067683861 + .long 1201847864 + .long 3810239464 + .long 1199669890 + .long 791483465 + .long 1201812764 + .long 914151082 + .long 1199633139 + .long 772076534 + .long 1201778525 + .long 1120675183 + .long 1199597444 + .long 939498435 + .long 1201745131 + .long 3256628770 + .long 1199554615 + .long 4244278389 + .long 1201712565 + .long 3627128881 + .long 1199487296 + .long 1490379385 + .long 1201680813 + .long 2120336144 + .long 1199421937 + .long 2823928994 + .long 1201631618 + .long 1765947554 + .long 1199358488 + .long 1239644147 + .long 1201571268 + .long 1218012185 + .long 1199296901 + .long 1583294687 + .long 1201512448 + .long 3296314225 + .long 1199237128 + .long 183503499 + .long 1201455128 + .long 2052340391 + .long 1199179124 + .long 3539777017 + .long 1201399276 + .long 4194453158 + .long 1199122842 + .long 2569008951 + .long 1201344864 + .long 3267936730 + .long 1199068239 + .long 2685116163 + .long 1201291861 + .long 1079240889 + .long 1199015271 + .long 2337656347 + .long 1201240238 + .long 3350022228 + .long 1198963894 + .long 1613838398 + .long 1201189966 + .long 2485927252 + .long 1198914068 + .long 2249252296 + .long 1201141016 + .long 3294733735 + .long 1198865751 + .long 3342318405 + .long 1201093360 + .long 1459577642 + .long 1198818904 + .long 1362423571 + .long 1201046971 + .long 666651046 + .long 1198773487 + .long 3041711418 + .long 1201001820 + .long 3962900071 + .long 1198729461 + .long 3905919518 + .long 1200957881 + .long 818596788 + .long 1198686791 + .long 1163773073 + .long 1200915128 + .long 1434429043 + .long 1198645438 + .long 2300262366 + .long 1200873533 + .long 2329026599 + .long 1198605367 + .long 3604033067 + .long 1200833071 + .long 3466042262 + .long 1198566543 + .long 3053431638 + .long 1200793717 + .long 3906377289 + .long 1198528932 + .long 316598267 + .long 1200755446 + .long 3510774357 + .long 1198462634 + .long 1045509085 + .long 1200718232 + .long 1105165605 + .long 1198392065 + .long 3989163593 + .long 1200682051 + .long 1258041369 + .long 1198323725 + .long 990720597 + .long 1200646881 + .long 2404431008 + .long 1198257552 + .long 1212065788 + .long 1200605873 + .long 647402463 + .long 1198193486 + .long 363369668 + .long 1200539430 + .long 2538405566 + .long 1198131466 + .long 1763689544 + .long 1200474867 + .long 3498248820 + .long 1198071435 + .long 2478908466 + .long 1200412140 + .long 598237051 + .long 1198013337 + .long 2888078907 + .long 1200351205 + .long 1046813088 + .long 1197957115 + .long 2372613493 + .long 1200292019 + .long 611946541 + .long 1197902716 + .long 3593940430 + .long 1200234539 + .long 698791439 + .long 1197850087 + .long 3884847023 + .long 1200178724 + .long 3953113699 + .long 1197799176 + .long 3819341470 + .long 1200124533 + .long 1275431627 + .long 1197749935 + .long 2896320203 + .long 1200071926 + .long 1785516500 + .long 1197702313 + .long 3811934768 + .long 1200020863 + .long 2658075811 + .long 1197656263 + .long 3845878455 + .long 1199971306 + .long 1908870261 + .long 1197611739 + .long 3426419565 + .long 1199923217 + .long 2591691137 + .long 1197568695 + .long 1809465164 + .long 1199876559 + .long 4111263313 + .long 1197527087 + .long 1346545806 + .long 1199831295 + .long 2126941198 + .long 1197486873 + .long 3161905125 + .long 1199787389 + .long 2684388225 + .long 1197422228 + .long 2828680980 + .long 1199744807 + .long 755438789 + .long 1197347123 + .long 3224098489 + .long 1199703514 + .long 535633520 + .long 1197274559 + .long 1614052134 + .long 1199663477 + .long 145652768 + .long 1197204459 + .long 2506733613 + .long 1199624662 + .long 2164980194 + .long 1197136747 + .long 440778734 + .long 1199587038 + .long 565808634 + .long 1197071351 + .long 2854914290 + .long 1199530200 + .long 2008744273 + .long 1197008198 + .long 2885144677 + .long 1199459524 + .long 4190934916 + .long 1196947219 + .long 2850023781 + .long 1199391043 + .long 4261100768 + .long 1196888347 + .long 1599866748 + .long 1199324698 + .long 2941760987 + .long 1196831516 + .long 3477767080 + .long 1199260430 + .long 63717712 + .long 1196776662 + .long 1069144869 + .long 1199198184 + .long 2987660479 + .long 1196723721 + .long 900163108 + .long 1199137903 + .long 668274663 + .long 1196672635 + .long 1890778166 + .long 1199079533 + .long 2145123221 + .long 1196623343 + .long 3871912933 + .long 1199023021 + .long 2021367351 + .long 1196575789 + .long 3217154659 + .long 1198968316 + .long 1779361725 + .long 1196529917 + .long 1358854176 + .long 1198915367 + .long 1033792901 + .long 1196485673 + .long 418893404 + .long 1198864124 + .long 1672046224 + .long 1196443004 + .long 3134058972 + .long 1198814538 + .long 2518982689 + .long 1196378503 + .long 4191186495 + .long 1198766563 + .long 2958996638 + .long 1196299163 + .long 3036910975 + .long 1198720153 + .long 3086838896 + .long 1196222676 + .long 3802347199 + .long 1198675262 + .long 385722554 + .long 1196148949 + .long 2342760329 + .long 1198631847 + .long 3998563877 + .long 1196077889 + .long 3341957742 + .long 1198589864 + .long 87254148 + .long 1196009411 + .long 3056948772 + .long 1198549272 + .long 3095992768 + .long 1195943426 + .long 4254871605 + .long 1198497692 + .long 3940115181 + .long 1195879853 + .long 2411097017 + .long 1198421828 + .long 4098968059 + .long 1195818611 + .long 1761415536 + .long 1198348506 + .long 2468833901 + .long 1195759622 + .long 3209400075 + .long 1198277650 + .long 3695367177 + .long 1195702809 + .long 2939049396 + .long 1198209187 + .long 740884341 + .long 1195648100 + .long 855986431 + .long 1198143045 + .long 405964292 + .long 1195595422 + .long 439408485 + .long 1198079153 + .long 1611023357 + .long 1195544706 + .long 4870352 + .long 1198017443 + .long 3747250910 + .long 1195495885 + .long 1147781519 + .long 1197957848 + .long 2147205098 + .long 1195448895 + .long 7952899 + .long 1197900304 + .long 739809950 + .long 1195403672 + .long 9969043 + .long 1197844747 + .long 2175065132 + .long 1195343669 + .long 3129779709 + .long 1197791115 + .long 35922275 + .long 1195259928 + .long 1162410711 + .long 1197739350 + .long 289430317 + .long 1195179365 + .long 1350592543 + .long 1197689392 + .long 2130790703 + .long 1195101869 + .long 475017707 + .long 1197641185 + .long 2602609822 + .long 1195027333 + .long 1895560955 + .long 1197594673 + .long 482965402 + .long 1194955653 + .long 2529068952 + .long 1197549803 + .long 182011559 + .long 1194886727 + .long 1303374431 + .long 1197506523 + .long 2762132438 + .long 1194820457 + .long 2340583905 + .long 1197455771 + .long 1261422786 + .long 1194756750 + .long 765339184 + .long 1197375267 + .long 1795238570 + .long 1194695513 + .long 1905645544 + .long 1197297645 + .long 1716245212 + .long 1194636658 + .long 4160263103 + .long 1197222812 + .long 2142276893 + .long 1194580099 + .long 45342386 + .long 1197150679 + .long 3312299510 + .long 1194525753 + .long 1710715325 + .long 1197081155 + .long 4245212051 + .long 1194473540 + .long 2034959285 + .long 1197014156 + .long 2406415709 + .long 1194423383 + .long 148304367 + .long 1196949599 + .long 1971980395 + .long 1194375206 + .long 1189117402 + .long 1196887402 + .long 625531275 + .long 1194328937 + .long 3178906437 + .long 1196827487 + .long 4264776086 + .long 1194240946 + .long 1080654215 + .long 1196769779 + .long 2007514154 + .long 1194155623 + .long 3745546411 + .long 1196714202 + .long 3055785332 + .long 1194073708 + .long 3618581269 + .long 1196660686 + .long 602312935 + .long 1193995076 + .long 2282300494 + .long 1196609161 + .long 1956681550 + .long 1193919603 + .long 1644348923 + .long 1196559559 + .long 2225203411 + .long 1193847172 + .long 3718552903 + .long 1196511814 + .long 954027975 + .long 1193777669 + .long 1819661463 + .long 1196465864 + .long 1605727392 + .long 1193710983 + .long 3652931310 + .long 1196418076 + .long 2459066821 + .long 1193647008 + .long 997716742 + .long 1196332986 + .long 406570096 + .long 1193585642 + .long 611465250 + .long 1196251125 + .long 3354687429 + .long 1193526784 + .long 1268352122 + .long 1196172381 + .long 3981698935 + .long 1193470340 + .long 3774361106 + .long 1196096645 + .long 752474260 + .long 1193416218 + .long 1990048797 + .long 1196023813 + .long 1765353679 + .long 1193364327 + .long 3925276832 + .long 1195953781 + .long 2840991520 + .long 1193314582 + .long 1301510391 + .long 1195886452 + .long 4259927893 + .long 1193254313 + .long 3545772009 + .long 1195821728 + .long 3693588763 + .long 1193162916 + .long 3072231739 + .long 1195759518 + .long 2850284336 + .long 1193075331 + .long 700415168 + .long 1195699732 + .long 2842573630 + .long 1192991409 + .long 1015674294 + .long 1195642282 + .long 1971639083 + .long 1192911007 + .long 3441679162 + .long 1195587084 + .long 3576452809 + .long 1192833986 + .long 1909782298 + .long 1195534058 + .long 2428555655 + .long 1192760214 + .long 1715136991 + .long 1195483124 + .long 1211628099 + .long 1192689562 + .long 2019904798 + .long 1195434206 + .long 1250853282 + .long 1192621906 + .long 4133034056 + .long 1195387230 + .long 1851389544 + .long 1192557127 + .long 938778593 + .long 1195307613 + .long 3950568275 + .long 1192495110 + .long 45480017 + .long 1195221009 + .long 903535184 + .long 1192435746 + .long 316452781 + .long 1195137876 + .long 3646566965 + .long 1192378926 + .long 2721989136 + .long 1195058085 + .long 1453411830 + .long 1192324550 + .long 1032835521 + .long 1194981513 + .long 18175644 + .long 1192272518 + .long 2753065605 + .long 1194908038 + .long 3145779265 + .long 1192214557 + .long 2820848798 + .long 1194837545 + .long 107628912 + .long 1192119307 + .long 271267104 + .long 1194769922 + .long 4107029421 + .long 1192028195 + .long 2026441674 + .long 1194705059 + .long 1087761611 + .long 1191941055 + .long 927900277 + .long 1194642853 + .long 307944566 + .long 1191857722 + .long 1025459971 + .long 1194583202 + .long 3321034596 + .long 1191778039 + .long 4223106765 + .long 1194526008 + .long 3050560266 + .long 1191701857 + .long 1231370686 + .long 1194471179 + .long 72976587 + .long 1191629031 + .long 1185758032 + .long 1194418622 + .long 1748196108 + .long 1191559420 + .long 1146814719 + .long 1194368250 + .long 4197104189 + .long 1191492891 + .long 1416679249 + .long 1194311893 + .long 75049976 + .long 1191429317 + .long 3168049461 + .long 1194219387 + .long 3550708412 + .long 1191368571 + .long 1524549056 + .long 1194130762 + .long 2295341385 + .long 1191310537 + .long 1702683749 + .long 1194045865 + .long 3985535338 + .long 1191255099 + .long 2214749525 + .long 1193964550 + .long 1225120464 + .long 1191202149 + .long 2714889529 + .long 1193886676 + .long 1829070661 + .long 1191120824 + .long 3275007653 + .long 1193812107 + .long 4205814399 + .long 1191024246 + .long 3680105052 + .long 1193740712 + .long 3558283643 + .long 1190932035 + .long 2742671543 + .long 1193672365 + .long 1368291099 + .long 1190844004 + .long 1930731778 + .long 1193606944 + .long 1107333850 + .long 1190759973 + .long 424277854 + .long 1193544332 + .long 2762251023 + .long 1190679770 + .long 3074559673 + .long 1193484415 + .long 1694712362 + .long 1190603231 + .long 2611163775 + .long 1193427086 + .long 423384109 + .long 1190530197 + .long 521028298 + .long 1193372240 + .long 3262935470 + .long 1190460515 + .long 2174524969 + .long 1193319775 + .long 2408777002 + .long 1190394041 + .long 2461272610 + .long 1193259703 + .long 2711150200 + .long 1190330634 + .long 1131027093 + .long 1193163727 + .long 3533190736 + .long 1190270160 + .long 2009173253 + .long 1193071954 + .long 2116497812 + .long 1190212491 + .long 1615100380 + .long 1192984212 + .long 1273385131 + .long 1190157503 + .long 3221825245 + .long 1192900334 + .long 4155053738 + .long 1190076395 + .long 3000825785 + .long 1192820161 + .long 1758878006 + .long 1189976444 + .long 1965540345 + .long 1192743539 + .long 2766645519 + .long 1189881174 + .long 763189321 + .long 1192670320 + .long 1964420580 + .long 1189790378 + .long 3084060488 + .long 1192600361 + .long 1485372834 + .long 1189703856 + .long 1917799745 + .long 1192533527 + .long 767302183 + .long 1189621417 + .long 195668558 + .long 1192469686 + .long 3741266063 + .long 1189542877 + .long 1393620869 + .long 1192408711 + .long 300056427 + .long 1189468063 + .long 160341434 + .long 1192350482 + .long 3649364408 + .long 1189396804 + .long 3034396383 + .long 1192294881 + .long 1806209700 + .long 1189328942 + .long 1940473490 + .long 1192241798 + .long 3631796850 + .long 1189264321 + .long 2791683145 + .long 1192151337 + .long 3303712376 + .long 1189202795 + .long 1284377069 + .long 1192054603 + .long 665026035 + .long 1189144223 + .long 3138430378 + .long 1191962283 + .long 139530854 + .long 1189088469 + .long 3254443766 + .long 1191874188 + .long 2193410757 + .long 1188985624 + .long 3585789915 + .long 1191790135 + .long 2279902137 + .long 1188884626 + .long 3340902607 + .long 1191709949 + .long 3158874884 + .long 1188788523 + .long 2109898645 + .long 1191633462 + .long 111907920 + .long 1188697090 + .long 3029561298 + .long 1191560512 + .long 758714779 + .long 1188610109 + .long 3100733692 + .long 1191490945 + .long 1851518241 + .long 1188527374 + .long 721863346 + .long 1191424613 + .long 494080266 + .long 1188448688 + .long 3257818550 + .long 1191361372 + .long 1128508114 + .long 1188373861 + .long 283247917 + .long 1191301088 + .long 1107855303 + .long 1188302713 + .long 1283760382 + .long 1191243628 + .long 2097105541 + .long 1188235071 + .long 375021366 + .long 1191188868 + .long 55906062 + .long 1188170771 + .long 2365640311 + .long 1191091038 + .long 1045754894 + .long 1188109654 + .long 1902930970 + .long 1190991605 + .long 2730220550 + .long 1188051570 + .long 903220739 + .long 1190896880 + .long 3391824117 + .long 1187956144 + .long 2063855685 + .long 1190806651 + .long 1645250570 + .long 1187851260 + .long 3397372173 + .long 1190720716 + .long 3337124928 + .long 1187751617 + .long 1034711862 + .long 1190638882 + .long 2392623567 + .long 1187656966 + .long 670870767 + .long 1190560962 + .long 2855811992 + .long 1187567067 + .long 3291650888 + .long 1190486778 + .long 3925245147 + .long 1187481692 + .long 3834664178 + .long 1190416161 + .long 2251621597 + .long 1187400624 + .long 2783069783 + .long 1190348948 + .long 2904614083 + .long 1187323654 + .long 625790851 + .long 1190284983 + .long 351319354 + .long 1187250585 + .long 952568083 + .long 1190224116 + .long 2458009216 + .long 1187181226 + .long 707602500 + .long 1190166205 + .long 3023227275 + .long 1187115398 + .long 3920299786 + .long 1190088466 + .long 1623889056 + .long 1187052929 + .long 187138140 + .long 1189983661 + .long 2052401444 + .long 1186993654 + .long 4197216078 + .long 1189883982 + .long 159585894 + .long 1186886803 + .long 3910421342 + .long 1189789193 + .long 2689391899 + .long 1186780106 + .long 2296866372 + .long 1189699065 + .long 1292865093 + .long 1186678903 + .long 2605637707 + .long 1189613379 + .long 4193803455 + .long 1186582921 + .long 2292620388 + .long 1189531927 + .long 1344496405 + .long 1186491904 + .long 4195044292 + .long 1189454509 + .long 648372691 + .long 1186405604 + .long 2000853903 + .long 1189380936 + .long 4154001065 + .long 1186323786 + .long 140279194 + .long 1189311025 + .long 1526017247 + .long 1186246229 + .long 3672993662 + .long 1189244601 + .long 2264105494 + .long 1186172718 + .long 3938617616 + .long 1189181500 + .long 3587237553 + .long 1186103051 + .long 2918251757 + .long 1189121563 + .long 1353891759 + .long 1186037036 + .long 2286364164 + .long 1189044093 + .long 1065238633 + .long 1185974488 + .long 1376975757 + .long 1188935979 + .long 2061560822 + .long 1185891009 + .long 3549789914 + .long 1188833324 + .long 2760845449 + .long 1185778750 + .long 3134081244 + .long 1188735866 + .long 530537277 + .long 1185672427 + .long 3217770792 + .long 1188643353 + .long 1733113451 + .long 1185571737 + .long 544573006 + .long 1188555546 + .long 2585319511 + .long 1185476394 + .long 563778522 + .long 1188472215 + .long 3442371581 + .long 1185386125 + .long 2499998483 + .long 1188393142 + .long 1732588126 + .long 1185300671 + .long 1684473986 + .long 1188318120 + .long 2192143396 + .long 1185219784 + .long 555072738 + .long 1188246950 + .long 1445437161 + .long 1185143230 + .long 2552316963 + .long 1188179442 + .long 2760998619 + .long 1185070785 + .long 1793581277 + .long 1188115417 + .long 848895324 + .long 1185002238 + .long 2882522604 + .long 1188054702 + .long 1119834196 + .long 1184937386 + .long 4263347778 + .long 1187957660 + .long 774695134 + .long 1184861196 + .long 2125306315 + .long 1187848505 + .long 4046999064 + .long 1184745142 + .long 1283904372 + .long 1187745033 + .long 2279487483 + .long 1184635386 + .long 4039517916 + .long 1187646960 + .long 4132486823 + .long 1184531597 + .long 1769278009 + .long 1187554018 + .long 3108170364 + .long 1184433464 + .long 2403362003 + .long 1187465948 + .long 4242912216 + .long 1184340689 + .long 2174681212 + .long 1187382506 + .long 3706766119 + .long 1184252991 + .long 422102777 + .long 1187303459 + .long 2908081209 + .long 1184170102 + .long 1608658464 + .long 1187228584 + .long 1262557489 + .long 1184091768 + .long 255934547 + .long 1187157671 + .long 1980592775 + .long 1184017747 + .long 330542066 + .long 1187090518 + .long 802491272 + .long 1183947811 + .long 359609029 + .long 1187026934 + .long 625767904 + .long 1183881742 + .long 212821653 + .long 1186945442 + .long 959428932 + .long 1183796364 + .long 1771024860 + .long 1186831475 + .long 3583758374 + .long 1183678478 + .long 3323366318 + .long 1186723606 + .long 3753730331 + .long 1183567152 + .long 3333784466 + .long 1186621522 + .long 825237823 + .long 1183462034 + .long 1884899977 + .long 1186524925 + .long 3439782939 + .long 1183362788 + .long 1901768341 + .long 1186433531 + .long 4206366388 + .long 1183269099 + .long 1919585796 + .long 1186347071 + .long 1807556903 + .long 1183180667 + .long 1864802922 + .long 1186265289 + .long 1802395274 + .long 1183097206 + .long 369621280 + .long 1186187942 + .long 413550172 + .long 1183018447 + .long 794742200 + .long 1186114798 + .long 2831089956 + .long 1182944133 + .long 185746157 + .long 1186045638 + .long 3011478645 + .long 1182874023 + .long 4108134519 + .long 1185980252 + .long 2274544279 + .long 1182807887 + .long 1569140952 + .long 1185897433 + .long 240075334 + .long 1182697287 + .long 3808394293 + .long 1185780593 + .long 414659095 + .long 1182579627 + .long 3847034202 + .long 1185670173 + .long 2855208574 + .long 1182468676 + .long 3767465203 + .long 1185565833 + .long 3960422599 + .long 1182364065 + .long 2207887660 + .long 1185467251 + .long 2830795555 + .long 1182265444 + .long 3687336940 + .long 1185374120 + .long 1276516494 + .long 1182172481 + .long 2322652348 + .long 1185286151 + .long 4032875808 + .long 1182084861 + .long 60084372 + .long 1185203068 + .long 1993835701 + .long 1182002289 + .long 3580394494 + .long 1185124608 + .long 2879202050 + .long 1181924482 + .long 4166097879 + .long 1185050525 + .long 1952530496 + .long 1181851175 + .long 654319384 + .long 1184980584 + .long 155636437 + .long 1181782116 + .long 1044918721 + .long 1184914560 + .long 1864553902 + .long 1181688980 + .long 1221590325 + .long 1184813605 + .long 1531556702 + .long 1181566449 + .long 1858992497 + .long 1184695981 + .long 2681229713 + .long 1181451060 + .long 2222963862 + .long 1184584988 + .long 742600436 + .long 1181342411 + .long 4044534932 + .long 1184480265 + .long 3788241131 + .long 1181240119 + .long 4037682077 + .long 1184381471 + .long 1836365516 + .long 1181143826 + .long 2751298525 + .long 1184288282 + .long 823495679 + .long 1181053190 + .long 726747225 + .long 1184200391 + .long 976974817 + .long 1180967889 + .long 3427405224 + .long 1184117506 + .long 1180580245 + .long 1180887619 + .long 572377531 + .long 1184039354 + .long 3552803549 + .long 1180812092 + .long 1471006056 + .long 1183965672 + .long 1047773877 + .long 1180741038 + .long 1796687607 + .long 1183896214 + .long 3512431543 + .long 1180651821 + .long 4103915186 + .long 1183819188 + .long 3700696711 + .long 1180526088 + .long 817191958 + .long 1183695790 + .long 3306321633 + .long 1180407843 + .long 1436794216 + .long 1183579509 + .long 798219638 + .long 1180296654 + .long 2657182346 + .long 1183469949 + .long 3780864915 + .long 1180192111 + .long 2406257951 + .long 1183366735 + .long 1953220459 + .long 1180093831 + .long 3738473273 + .long 1183269511 + .long 483533296 + .long 1180001449 + .long 1777519924 + .long 1183177942 + .long 2116839037 + .long 1179914621 + .long 942680177 + .long 1183091709 + .long 2426322617 + .long 1179833024 + .long 2319192650 + .long 1183010511 + .long 2490757881 + .long 1179756352 + .long 4112632783 + .long 1182934064 + .long 331167207 + .long 1179684317 + .long 2293150261 + .long 1182862100 + .long 3794606312 + .long 1179585291 + .long 10642342 + .long 1182794364 + .long 106597492 + .long 1179458165 + .long 5176375 + .long 1182667502 + .long 2017706439 + .long 1179338769 + .long 2922557803 + .long 1182547524 + .long 3098312590 + .long 1179226648 + .long 2705392296 + .long 1182434638 + .long 1611707565 + .long 1179121372 + .long 359265373 + .long 1182328438 + .long 2925582418 + .long 1179022534 + .long 2889113445 + .long 1182228539 + .long 775722638 + .long 1178929753 + .long 1020973057 + .long 1182134581 + .long 1789898952 + .long 1178842667 + .long 3016231241 + .long 1182046220 + .long 3061909295 + .long 1178760937 + .long 11971917 + .long 1181963135 + .long 70206555 + .long 1178684244 + .long 314571880 + .long 1181885019 + .long 3452019676 + .long 1178612284 + .long 3786258409 + .long 1181811584 + .long 389782096 + .long 1178490128 + .long 131461034 + .long 1181739969 + .long 1933280941 + .long 1178363476 + .long 2699979079 + .long 1181610226 + .long 3545561476 + .long 1178244686 + .long 411815652 + .long 1181488306 + .long 3327242340 + .long 1178133284 + .long 1157099645 + .long 1181373750 + .long 2636036737 + .long 1178028823 + .long 3456465376 + .long 1181266127 + .long 3641118101 + .long 1177930882 + .long 3319603447 + .long 1181165031 + .long 2949286685 + .long 1177839066 + .long 1417286464 + .long 1181070078 + .long 2758669454 + .long 1177753002 + .long 1961438867 + .long 1180980905 + .long 867089359 + .long 1177672340 + .long 3278475384 + .long 1180897171 + .long 2467520448 + .long 1177596749 + .long 1536658680 + .long 1180818555 + .long 54281420 + .long 1177500993 + .long 3319082773 + .long 1180744752 + .long 1382599979 + .long 1177368274 + .long 3864661119 + .long 1180654379 + .long 531749116 + .long 1177243946 + .long 2380952407 + .long 1180524346 + .long 801438741 + .long 1177127492 + .long 1526944091 + .long 1180402321 + .long 482793272 + .long 1177018427 + .long 2121831560 + .long 1180287825 + .long 2382433162 + .long 1176916294 + .long 3741717358 + .long 1180180407 + .long 2298486148 + .long 1176820665 + .long 2372148486 + .long 1180079643 + .long 3670337717 + .long 1176731136 + .long 1301376174 + .long 1179985132 + .long 2545879962 + .long 1176647329 + .long 876419281 + .long 1179896497 + .long 2975243646 + .long 1176568887 + .long 1464367617 + .long 1179813383 + .long 1068970556 + .long 1176488681 + .long 2422592759 + .long 1179735456 + .long 1065447314 + .long 1176351292 + .long 1357171196 + .long 1179662402 + .long 36443348 + .long 1176222746 + .long 194145400 + .long 1179539849 + .long 277541600 + .long 1176102488 + .long 380152291 + .long 1179411489 + .long 3191931911 + .long 1175989997 + .long 1583684278 + .long 1179291200 + .long 716578025 + .long 1175884786 + .long 2165635186 + .long 1179178489 + .long 1597399547 + .long 1175786394 + .long 1516692231 + .long 1179072892 + .long 2292298793 + .long 1175694391 + .long 1455793348 + .long 1178973972 + .long 1260833614 + .long 1175608373 + .long 3729863063 + .long 1178881318 + .long 781854479 + .long 1175527960 + .long 3593934135 + .long 1178794545 + .long 1142478096 + .long 1175451896 + .long 926645059 + .long 1178713290 + .long 715936744 + .long 1175311398 + .long 3092460447 + .long 1178637210 + .long 1321299109 + .long 1175180103 + .long 410724451 + .long 1178532549 + .long 3490196338 + .long 1175057423 + .long 1647694055 + .long 1178399208 + .long 1489257357 + .long 1174942808 + .long 2719124395 + .long 1178274408 + .long 3916138161 + .long 1174835739 + .long 1706837060 + .long 1178157617 + .long 3308714279 + .long 1174735733 + .long 1950214717 + .long 1178048334 + .long 2110514297 + .long 1174642335 + .long 3939307600 + .long 1177946089 + .long 473688087 + .long 1174555119 + .long 1960757033 + .long 1177850442 + .long 1706251155 + .long 1174473685 + .long 2651595104 + .long 1177760977 + .long 1955087026 + .long 1174390200 + .long 1012882634 + .long 1177677306 + .long 413369922 + .long 1174248266 + .long 4055189249 + .long 1177599062 + .long 3731706443 + .long 1174115790 + .long 2246068185 + .long 1177500961 + .long 2006983205 + .long 1173992159 + .long 2274647687 + .long 1177364171 + .long 2472447546 + .long 1173876795 + .long 2890637209 + .long 1177236303 + .long 2005028622 + .long 1173769159 + .long 4153511196 + .long 1177116790 + .long 3197815683 + .long 1173668745 + .long 1929129059 + .long 1177005101 + .long 947775372 + .long 1173575081 + .long 357577118 + .long 1176900736 + .long 3949709160 + .long 1173487722 + .long 3367143719 + .long 1176803226 + .long 870490998 + .long 1173406256 + .long 2385315144 + .long 1176712134 + .long 45440291 + .long 1173304042 + .long 3169025495 + .long 1176627047 + .long 1551306586 + .long 1173162396 + .long 1533871520 + .long 1176547580 + .long 3806958645 + .long 1173030351 + .long 599006589 + .long 1176444469 + .long 3497279433 + .long 1172907272 + .long 1711861758 + .long 1176305886 + .long 1827774364 + .long 1172792564 + .long 3081973787 + .long 1176176504 + .long 2036488705 + .long 1172685670 + .long 1321268943 + .long 1176055728 + .long 3286450343 + .long 1172586070 + .long 3969874170 + .long 1175942998 + .long 3783692801 + .long 1172493278 + .long 2452445702 + .long 1175837793 + .long 198374548 + .long 1172406840 + .long 1452932973 + .long 1175739622 + .long 533423249 + .long 1172326329 + .long 1595251056 + .long 1175648026 + .long 2030330049 + .long 1172194729 + .long 4117849423 + .long 1175562575 + .long 4272727904 + .long 1172055086 + .long 3152677356 + .long 1175482868 + .long 3089904078 + .long 1171925068 + .long 4175288180 + .long 1175363359 + .long 515373043 + .long 1171804026 + .long 597820103 + .long 1175224706 + .long 1395054556 + .long 1171691353 + .long 3535028301 + .long 1175095419 + .long 1649711857 + .long 1171586484 + .long 918940523 + .long 1174974883 + .long 3038000808 + .long 1171488890 + .long 857999498 + .long 1174862518 + .long 2836431768 + .long 1171398078 + .long 3808560570 + .long 1174757783 + .long 1344394901 + .long 1171313587 + .long 1160780690 + .long 1174660174 + .long 2810694683 + .long 1171210580 + .long 201215039 + .long 1174569216 + .long 4109673103 + .long 1171064355 + .long 2402111668 + .long 1174484466 + .long 2586191376 + .long 1170928358 + .long 3723319669 + .long 1174405511 + .long 3014296227 + .long 1170801888 + .long 3725520897 + .long 1174258809 + .long 663724814 + .long 1170684293 + .long 3671313057 + .long 1174121807 + .long 2561640409 + .long 1170574962 + .long 1053981368 + .long 1173994221 + .long 2340316358 + .long 1170473328 + .long 3460466107 + .long 1173875417 + .long 3108942861 + .long 1170378860 + .long 3035482254 + .long 1173764806 + .long 2402145891 + .long 1170291064 + .long 3802544396 + .long 1173661835 + .long 2874092153 + .long 1170208141 + .long 2441474464 + .long 1173565989 + .long 4258279491 + .long 1170056530 + .long 4084805700 + .long 1173476785 + .long 833974710 + .long 1169915679 + .long 79094155 + .long 1173393775 + .long 3255926329 + .long 1169784838 + .long 31353126 + .long 1173276529 + .long 4030403675 + .long 1169663312 + .long 4063319008 + .long 1173132811 + .long 1714182497 + .long 1169550452 + .long 264658679 + .long 1172999122 + .long 276967466 + .long 1169445652 + .long 1173126429 + .long 1172874775 + .long 748587968 + .long 1169348348 + .long 242573921 + .long 1172759133 + .long 2275859517 + .long 1169258015 + .long 2098620107 + .long 1172651599 + .long 3947546789 + .long 1169174164 + .long 2055068430 + .long 1172551618 + .long 1792997418 + .long 1169030441 + .long 741519124 + .long 1172458671 + .long 806491627 + .long 1168885997 + .long 2256555279 + .long 1172372273 + .long 4247523093 + .long 1168751966 + .long 196354007 + .long 1172275980 + .long 766694565 + .long 1168627615 + .long 445761606 + .long 1172126735 + .long 4113121030 + .long 1168512256 + .long 3476364679 + .long 1171988058 + .long 4031640534 + .long 1168405254 + .long 3529100902 + .long 1171859218 + .long 4029823784 + .long 1168306015 + .long 1621116022 + .long 1171739532 + .long 4218720589 + .long 1168213987 + .long 78936185 + .long 1171628363 + .long 2183506278 + .long 1168128657 + .long 2269474636 + .long 1171525117 + .long 2183914720 + .long 1167985429 + .long 292731349 + .long 1171429243 + .long 2734387574 + .long 1167838758 + .long 2122912913 + .long 1171340224 + .long 3292906438 + .long 1167702811 + .long 3023046673 + .long 1171255771 + .long 781869437 + .long 1167576820 + .long 254831576 + .long 1171102344 + .long 503990627 + .long 1167460069 + .long 571168224 + .long 1170959941 + .long 243539321 + .long 1167351894 + .long 871548122 + .long 1170827787 + .long 1201933016 + .long 1167251677 + .long 3924370604 + .long 1170705159 + .long 2748594495 + .long 1167158844 + .long 2976320978 + .long 1170591386 + .long 2396890235 + .long 1167072862 + .long 1728080816 + .long 1170485841 + .long 1888516121 + .long 1166921382 + .long 892927807 + .long 1170387941 + .long 3964174701 + .long 1166773915 + .long 2817804388 + .long 1170297143 + .long 2854001717 + .long 1166637381 + .long 4045759389 + .long 1170212943 + .long 2766606459 + .long 1166510984 + .long 3073449671 + .long 1170058928 + .long 2090363746 + .long 1166393986 + .long 3519286355 + .long 1169914167 + .long 2204217598 + .long 1166285701 + .long 794405638 + .long 1169779976 + .long 263295257 + .long 1166185493 + .long 2678131373 + .long 1169655597 + .long 242428636 + .long 1166092770 + .long 3816540112 + .long 1169540328 + .long 2727400502 + .long 1165997455 + .long 234134080 + .long 1169433516 + .long 696359878 + .long 1165838738 + .long 587911812 + .long 1169334551 + .long 1973385017 + .long 1165691930 + .long 4031748504 + .long 1169242868 + .long 1812419718 + .long 1165556155 + .long 925164896 + .long 1169153648 + .long 1148410923 + .long 1165430599 + .long 3358488129 + .long 1168996336 + .long 259979490 + .long 1165314507 + .long 638703581 + .long 1168850656 + .long 2350003425 + .long 1165207178 + .long 807654845 + .long 1168715763 + .long 1184795532 + .long 1165107964 + .long 2657744191 + .long 1168590874 + .long 4247843293 + .long 1165016261 + .long 3663858009 + .long 1168475262 + .long 2271316347 + .long 1164895090 + .long 533492925 + .long 1168368252 + .long 3353590471 + .long 1164738464 + .long 3770229724 + .long 1168269214 + .long 3943901780 + .long 1164593750 + .long 1751462400 + .long 1168177568 + .long 1396091040 + .long 1164460059 + .long 1904247472 + .long 1168071879 + .long 2384681153 + .long 1164336565 + .long 1030368421 + .long 1167914981 + .long 2817162449 + .long 1164222505 + .long 4079129458 + .long 1167769845 + .long 3516273009 + .long 1164117171 + .long 1682458602 + .long 1167635608 + .long 1446042707 + .long 1164019908 + .long 3167377884 + .long 1167511465 + .long 3636013109 + .long 1163930107 + .long 491770573 + .long 1167396673 + .long 2884841244 + .long 1163775055 + .long 2200416094 + .long 1167290539 + .long 3409136254 + .long 1163622014 + .long 4169952110 + .long 1167192423 + .long 1812984479 + .long 1163480768 + .long 140330391 + .long 1167101732 + .long 2119697363 + .long 1163350423 + .long 3783382554 + .long 1166970736 + .long 1344616485 + .long 1163230153 + .long 551761884 + .long 1166815820 + .long 3088492671 + .long 1163119192 + .long 359970126 + .long 1166672678 + .long 2547146878 + .long 1163016833 + .long 1021270101 + .long 1166540432 + .long 2963710319 + .long 1162922420 + .long 1490695248 + .long 1166418268 + .long 2300390323 + .long 1162799911 + .long 3568738246 + .long 1166305431 + .long 4236544102 + .long 1162639323 + .long 2104695675 + .long 1166201223 + .long 917369211 + .long 1162491257 + .long 2259752215 + .long 1166104995 + .long 2811831636 + .long 1162354751 + .long 2928907214 + .long 1166015783 + .long 4117432924 + .long 1162228919 + .long 825285899 + .long 1165851737 + .long 2816910846 + .long 1162112941 + .long 130522063 + .long 1165700310 + .long 915429227 + .long 1162006058 + .long 3544208977 + .long 1165560548 + .long 1921050319 + .long 1161907568 + .long 3709295074 + .long 1165431570 + .long 2329064090 + .long 1161811440 + .long 4124611741 + .long 1165312558 + .long 2138511543 + .long 1161644245 + .long 2968308055 + .long 1165202756 + .long 3769488760 + .long 1161490236 + .long 4148065245 + .long 1165101463 + .long 16333256 + .long 1161348392 + .long 3937194615 + .long 1165008032 + .long 509067163 + .long 1161217766 + .long 693670124 + .long 1164875792 + .long 2394703017 + .long 1161097486 + .long 3047836189 + .long 1164716869 + .long 1507273307 + .long 1160986747 + .long 1761244566 + .long 1164570336 + .long 945340577 + .long 1160884804 + .long 966529192 + .long 1164435243 + .long 4049739763 + .long 1160790969 + .long 2050080133 + .long 1164310712 + .long 515468101 + .long 1160635588 + .long 2531893977 + .long 1164195932 + .long 3419787591 + .long 1160476645 + .long 871320764 + .long 1164090153 + .long 3324771089 + .long 1160330399 + .long 2788659082 + .long 1163992680 + .long 1284414463 + .long 1160195852 + .long 2156308587 + .long 1163886387 + .long 2952466863 + .long 1160072082 + .long 3654157322 + .long 1163720919 + .long 2064974210 + .long 1159958241 + .long 622519429 + .long 1163568503 + .long 150408716 + .long 1159853545 + .long 1939798879 + .long 1163428125 + .long 2201727872 + .long 1159757270 + .long 3844698302 + .long 1163298851 + .long 2137703612 + .long 1159612446 + .long 3868101452 + .long 1163179818 + .long 3987559769 + .long 1159449688 + .long 3689445052 + .long 1163070228 + .long 2560021890 + .long 1159300078 + .long 788030992 + .long 1162969345 + .long 1198933031 + .long 1159162570 + .long 3128526661 + .long 1162876487 + .long 2016853309 + .long 1159036200 + .long 393221749 + .long 1162711273 + .long 415274913 + .long 1158920081 + .long 3899460746 + .long 1162553991 + .long 3111287209 + .long 1158813393 + .long 3409408659 + .long 1162409277 + .long 801128485 + .long 1158715384 + .long 622192947 + .long 1162276143 + .long 1096177360 + .long 1158574235 + .long 2664726297 + .long 1162153676 + .long 3602994436 + .long 1158408867 + .long 1558673822 + .long 1162041037 + .long 3652729191 + .long 1158257006 + .long 2777131896 + .long 1161937449 + .long 735672667 + .long 1158117566 + .long 3972527094 + .long 1161842197 + .long 2599987266 + .long 1157989545 + .long 2120900631 + .long 1161687036 + .long 852226013 + .long 1157872024 + .long 137556752 + .long 1161526020 + .long 288162918 + .long 1157764154 + .long 569601398 + .long 1161378016 + .long 3005657641 + .long 1157665154 + .long 280212019 + .long 1161241990 + .long 1669291445 + .long 1157520711 + .long 4236421385 + .long 1161116987 + .long 3426449111 + .long 1157353999 + .long 3132998397 + .long 1161002130 + .long 3665072071 + .long 1157201053 + .long 269619050 + .long 1160896608 + .long 132717265 + .long 1157060754 + .long 1633775828 + .long 1160799673 + .long 1772781531 + .long 1156932070 + .long 2528343355 + .long 1160647645 + .long 2729222087 + .long 1156814055 + .long 843477906 + .long 1160484109 + .long 1642908825 + .long 1156705838 + .long 640833957 + .long 1160333938 + .long 1637412975 + .long 1156606617 + .long 1040411868 + .long 1160196057 + .long 3134353470 + .long 1156451983 + .long 1466509739 + .long 1160069476 + .long 3996322537 + .long 1156285224 + .long 3307339414 + .long 1159953283 + .long 20608624 + .long 1156132385 + .long 857222806 + .long 1159846640 + .long 1217476331 + .long 1155992319 + .long 33935978 + .long 1159748773 + .long 3347032904 + .long 1155863975 + .long 592853498 + .long 1159592886 + .long 3456875375 + .long 1155746387 + .long 3801380895 + .long 1159428103 + .long 722075083 + .long 1155638667 + .long 3715147572 + .long 1159276938 + .long 3871546971 + .long 1155539997 + .long 4190633910 + .long 1159138282 + .long 4149445212 + .long 1155368508 + .long 3597701666 + .long 1159011116 + .long 114339337 + .long 1155203001 + .long 3481239551 + .long 1158894502 + .long 2660573378 + .long 1155051455 + .long 2361296039 + .long 1158787578 + .long 3345530574 + .long 1154912711 + .long 265722145 + .long 1158689551 + .long 2649988318 + .long 1154785703 + .long 1895395227 + .long 1158522902 + .long 2835386513 + .long 1154669452 + .long 1800210858 + .long 1158358177 + .long 3409464906 + .long 1154563060 + .long 3069172694 + .long 1158207214 + .long 2289376692 + .long 1154449231 + .long 2893236102 + .long 1158068881 + .long 1808716882 + .long 1154271074 + .long 1719077557 + .long 1157942137 + .long 1191976028 + .long 1154108086 + .long 1914505601 + .long 1157826025 + .long 3263238226 + .long 1153958993 + .long 301987594 + .long 1157719667 + .long 3595524598 + .long 1153822628 + .long 282470485 + .long 1157616606 + .long 926865216 + .long 1153697920 + .long 3168046348 + .long 1157438191 + .long 1936197486 + .long 1153583885 + .long 1009101993 + .long 1157274825 + .long 2967036144 + .long 1153479623 + .long 3997083445 + .long 1157125255 + .long 48557448 + .long 1153335018 + .long 2336955916 + .long 1156988335 + .long 2153363094 + .long 1153160768 + .long 3868880033 + .long 1156863009 + .long 3655926593 + .long 1153001510 + .long 1476581786 + .long 1156748311 + .long 4195538198 + .long 1152855972 + .long 3208709775 + .long 1156643351 + .long 760742910 + .long 1152722989 + .long 716057529 + .long 1156515304 + .long 1595662436 + .long 1152601491 + .long 28479576 + .long 1156339585 + .long 207016151 + .long 1152490501 + .long 3319607164 + .long 1156178845 + .long 3718020302 + .long 1152389121 + .long 2804464626 + .long 1156031827 + .long 3056921786 + .long 1152208041 + .long 148574980 + .long 1155897376 + .long 1551945529 + .long 1152038940 + .long 69395739 + .long 1155774432 + .long 3413407730 + .long 1151884538 + .long 2564419134 + .long 1155662024 + .long 1653751481 + .long 1151743576 + .long 2125879894 + .long 1155559263 + .long 397794359 + .long 1151614899 + .long 344595749 + .long 1155399913 + .long 2516863959 + .long 1151497450 + .long 872566418 + .long 1155228215 + .long 390569063 + .long 1151390264 + .long 25762808 + .long 1155071310 + .long 3512280464 + .long 1151248461 + .long 3343322505 + .long 1154927940 + .long 437420606 + .long 1151069979 + .long 68521175 + .long 1154796956 + .long 3755631788 + .long 1150907150 + .long 3210511172 + .long 1154677300 + .long 998156837 + .long 1150758622 + .long 2432640097 + .long 1154568008 + .long 3963236487 + .long 1150623153 + .long 2650426869 + .long 1154454212 + .long 2635429612 + .long 1150499612 + .long 2803544287 + .long 1154271918 + .long 4171250378 + .long 1150386961 + .long 2667581847 + .long 1154105474 + .long 4100104170 + .long 1150280636 + .long 995748204 + .long 1153953521 + .long 3664138596 + .long 1150093375 + .long 438643701 + .long 1153814814 + .long 411244680 + .long 1149922685 + .long 809181847 + .long 1153688214 + .long 1711529755 + .long 1149767117 + .long 10437582 + .long 1153572679 + .long 760965710 + .long 1149625350 + .long 2354988354 + .long 1153467254 + .long 4101777240 + .long 1149496174 + .long 3627099743 + .long 1153308535 + .long 2820428868 + .long 1149378487 + .long 184652213 + .long 1153133041 + .long 3073693323 + .long 1149271279 + .long 2690341715 + .long 1152972963 + .long 3675892862 + .long 1149107963 + .long 1010878695 + .long 1152826967 + .long 4212274240 + .long 1148930097 + .long 3130597339 + .long 1152693829 + .long 1434263734 + .long 1148768129 + .long 2425713311 + .long 1152572433 + .long 267077461 + .long 1148620655 + .long 4199375582 + .long 1152461756 + .long 2026112565 + .long 1148486394 + .long 3352626361 + .long 1152336707 + .long 2309260539 + .long 1148364178 + .long 4263382667 + .long 1152152788 + .long 1292625344 + .long 1148252940 + .long 3971959542 + .long 1151985172 + .long 683969871 + .long 1148112692 + .long 1685406220 + .long 1151832433 + .long 3656156313 + .long 1147928454 + .long 1164117258 + .long 1151693267 + .long 2280959508 + .long 1147760827 + .long 128059352 + .long 1151566484 + .long 1438096262 + .long 1147608331 + .long 608890202 + .long 1151450996 + .long 1560506301 + .long 1147469617 + .long 1282744529 + .long 1151345810 + .long 1782392176 + .long 1147343455 + .long 3126230825 + .long 1151163590 + .long 2928154098 + .long 1147228723 + .long 23579818 + .long 1150989142 + .long 2808105085 + .long 1147106654 + .long 3718750563 + .long 1150830313 + .long 3181032870 + .long 1146916955 + .long 2108894173 + .long 1150685725 + .long 2690161486 + .long 1146744506 + .long 2125293716 + .long 1150554116 + .long 3774094217 + .long 1146587757 + .long 2429410936 + .long 1150434336 + .long 2031038305 + .long 1146445297 + .long 4238344640 + .long 1150325335 + .long 3294864335 + .long 1146315838 + .long 3966203779 + .long 1150164441 + .long 2218088845 + .long 1146198209 + .long 1511203355 + .long 1149983979 + .long 2879344148 + .long 1146089115 + .long 299769911 + .long 1149819818 + .long 246815083 + .long 1145894958 + .long 177880806 + .long 1149670504 + .long 1881778457 + .long 1145718606 + .long 993491176 + .long 1149534711 + .long 1695802046 + .long 1145558447 + .long 2106577044 + .long 1149411230 + .long 3789092221 + .long 1145413011 + .long 1689628931 + .long 1149298959 + .long 2045012378 + .long 1145280962 + .long 3833288905 + .long 1149154489 + .long 3150604421 + .long 1145161081 + .long 794877296 + .long 1148968934 + .long 2439012653 + .long 1145052261 + .long 3854849903 + .long 1148800285 + .long 451045696 + .long 1144861995 + .long 1790512188 + .long 1148647023 + .long 623648845 + .long 1144682728 + .long 1353915434 + .long 1148507760 + .long 2163425550 + .long 1144520060 + .long 2148061065 + .long 1148381233 + .long 751132038 + .long 1144372473 + .long 1671518363 + .long 1148266292 + .long 1991314855 + .long 1144238584 + .long 184209634 + .long 1148133058 + .long 3138593953 + .long 1144117137 + .long 222976555 + .long 1147943418 + .long 934006504 + .long 1144006990 + .long 3212706465 + .long 1147771206 + .long 3053075475 + .long 1143817789 + .long 2991254427 + .long 1147614841 + .long 4093934171 + .long 1143636645 + .long 1435154319 + .long 1147472882 + .long 2959073424 + .long 1143472415 + .long 1790943722 + .long 1147344017 + .long 3738143320 + .long 1143323537 + .long 2416375099 + .long 1147227053 + .long 3459629523 + .long 1143188593 + .long 2528492334 + .long 1147099665 + .long 1452629081 + .long 1143066294 + .long 2059568 + .long 1146907022 + .long 718239573 + .long 1142955468 + .long 1957753159 + .long 1146732234 + .long 1762771320 + .long 1142762262 + .long 2091566809 + .long 1146573667 + .long 3316716354 + .long 1142580313 + .long 2474998524 + .long 1146429833 + .long 2899083357 + .long 1142415494 + .long 4053598014 + .long 1146299379 + .long 2935310259 + .long 1142266210 + .long 2145098900 + .long 1146181076 + .long 140840670 + .long 1142131014 + .long 3070436298 + .long 1146054041 + .long 1294487364 + .long 1142008590 + .long 2763733926 + .long 1145859528 + .long 2394653337 + .long 1141896228 + .long 2208575977 + .long 1145683197 + .long 3638884899 + .long 1141695533 + .long 2310778069 + .long 1145523368 + .long 2705328535 + .long 1141513866 + .long 1042726976 + .long 1145378515 + .long 70625276 + .long 1141349443 + .long 2817479519 + .long 1145247250 + .long 1857262153 + .long 1141200644 + .long 3076269193 + .long 1145128314 + .long 2069475863 + .long 1141066002 + .long 2627031232 + .long 1144996133 + .long 771707140 + .long 1140944185 + .long 2628360750 + .long 1144800918 + .long 3701030703 + .long 1140817280 + .long 729212710 + .long 1144624104 + .long 1238049099 + .long 1140617921 + .long 2887460256 + .long 1144463975 + .long 3259812090 + .long 1140437616 + .long 1655630712 + .long 1144318976 + .long 3749406275 + .long 1140274565 + .long 413272091 + .long 1144187693 + .long 2567976574 + .long 1140127135 + .long 185717153 + .long 1144068843 + .long 3086396387 + .long 1139993845 + .long 197070945 + .long 1143926108 + .long 3025838645 + .long 1139873354 + .long 565507056 + .long 1143731371 + .long 3161398026 + .long 1139726781 + .long 760043921 + .long 1143555142 + .long 1697887131 + .long 1139529929 + .long 3730110113 + .long 1143395681 + .long 2228585998 + .long 1139352044 + .long 1921011656 + .long 1143251412 + .long 605343418 + .long 1139191319 + .long 3797928772 + .long 1143120902 + .long 3059859084 + .long 1139046115 + .long 1714281117 + .long 1143002855 + .long 958722228 + .long 1138914951 + .long 1735451181 + .long 1142844346 + .long 3375509337 + .long 1138796482 + .long 2998543058 + .long 1142651258 + .long 415556477 + .long 1138625453 + .long 957414861 + .long 1142476673 + .long 2696826148 + .long 1138432235 + .long 2296081930 + .long 1142318836 + .long 2229389997 + .long 1138257784 + .long 2003829855 + .long 1142176159 + .long 1297687336 + .long 1138100296 + .long 3954963692 + .long 1142047201 + .long 3998394613 + .long 1137958138 + .long 216442272 + .long 1141930659 + .long 2886287143 + .long 1137829835 + .long 1772244079 + .long 1141751433 + .long 2110295769 + .long 1137714050 + .long 307812232 + .long 1141561136 + .long 2576847299 + .long 1137514189 + .long 1090166077 + .long 1141389222 + .long 3725035696 + .long 1137325670 + .long 898458102 + .long 1141233935 + .long 2171466216 + .long 1137155607 + .long 796649920 + .long 1141093684 + .long 2233617680 + .long 1137002211 + .long 3973141203 + .long 1140967028 + .long 1212061563 + .long 1136863866 + .long 2543891761 + .long 1140852665 + .long 1237871693 + .long 1136739110 + .long 8021042 + .long 1140648140 + .long 3770505270 + .long 1136596860 + .long 197966905 + .long 1140461724 + .long 1723610862 + .long 1136394033 + .long 613497914 + .long 1140293462 + .long 158726960 + .long 1136211196 + .long 492649247 + .long 1140141605 + .long 3147455188 + .long 1136046398 + .long 2014037209 + .long 1140004570 + .long 2819408244 + .long 1135897879 + .long 2983416416 + .long 1139880926 + .long 973768816 + .long 1135764047 + .long 186952952 + .long 1139736646 + .long 3614653622 + .long 1135643463 + .long 64324857 + .long 1139535401 + .long 1231755280 + .long 1135461854 + .long 2814905894 + .long 1139353888 + .long 1530699735 + .long 1135266145 + .long 1397081971 + .long 1139190194 + .long 2740348574 + .long 1135089875 + .long 649709615 + .long 1139042587 + .long 2871973651 + .long 1134931133 + .long 2517694161 + .long 1138909502 + .long 4249620448 + .long 1134788193 + .long 2598308842 + .long 1138789526 + .long 1030871825 + .long 1134659499 + .long 3304430565 + .long 1138609226 + .long 3931001516 + .long 1134528055 + .long 2845934216 + .long 1138414288 + .long 3607736473 + .long 1134319487 + .long 2815202489 + .long 1138238616 + .long 3324058056 + .long 1134131773 + .long 770607618 + .long 1138080326 + .long 935034058 + .long 1133962849 + .long 227018400 + .long 1137937715 + .long 4138313486 + .long 1133810851 + .long 103231596 + .long 1137809246 + .long 2075631266 + .long 1133674102 + .long 4002361480 + .long 1137682101 + .long 845707049 + .long 1133551086 + .long 587775376 + .long 1137473673 + .long 3807613825 + .long 1133370218 + .long 3329498291 + .long 1137285982 + .long 4221874859 + .long 1133171193 + .long 1074663644 + .long 1137116988 + .long 3837861027 + .long 1132992221 + .long 188384470 + .long 1136964846 + .long 3588565148 + .long 1132831301 + .long 2250949169 + .long 1136827892 + .long 2793855663 + .long 1132686630 + .long 2497760175 + .long 1136704626 + .long 2092682908 + .long 1132556583 + .long 3638527552 + .long 1136531003 + .long 3025928422 + .long 1132417312 + .long 3169393043 + .long 1136331361 + .long 3003976624 + .long 1132207220 + .long 16328176 + .long 1136151739 + .long 3855549220 + .long 1132018434 + .long 484887411 + .long 1135990148 + .long 1140003212 + .long 1131848815 + .long 3565542663 + .long 1135844796 + .long 2537273243 + .long 1131696434 + .long 993566984 + .long 1135714069 + .long 2300430123 + .long 1131559557 + .long 362792049 + .long 1135585209 + .long 3125177422 + .long 1131436621 + .long 1117663738 + .long 1135373795 + .long 1680899524 + .long 1131238937 + .long 4205611547 + .long 1135183721 + .long 4046927848 + .long 1131040672 + .long 695708912 + .long 1135012856 + .long 1667944894 + .long 1130862667 + .long 3365905834 + .long 1134859275 + .long 684406586 + .long 1130702870 + .long 901574820 + .long 1134721249 + .long 951870093 + .long 1130559436 + .long 2293692653 + .long 1134597216 + .long 2935548661 + .long 1130430705 + .long 1924786676 + .long 1134412313 + .long 3462835422 + .long 1130265442 + .long 3484263706 + .long 1134212072 + .long 3476181268 + .long 1130058136 + .long 1064475687 + .long 1134032200 + .long 3664148399 + .long 1129872149 + .long 3803301594 + .long 1133870643 + .long 3806759301 + .long 1129705309 + .long 2161679909 + .long 1133725556 + .long 139634312 + .long 1129555664 + .long 1415749554 + .long 1133595275 + .long 2974765999 + .long 1129421456 + .long 2691945760 + .long 1133445951 + .long 2688619723 + .long 1129285867 + .long 1523322176 + .long 1133235934 + .long 918059319 + .long 1129070058 + .long 701542529 + .long 1133047419 + .long 326084401 + .long 1128876584 + .long 2075878962 + .long 1132878225 + .long 3378921377 + .long 1128703154 + .long 3080509544 + .long 1132726391 + .long 2489025618 + .long 1128547712 + .long 2031579976 + .long 1132590153 + .long 4054490883 + .long 1128408408 + .long 4030038368 + .long 1132467923 + .long 2377683608 + .long 1128283583 + .long 1611467688 + .long 1132254472 + .long 2522233334 + .long 1128075714 + .long 2007111172 + .long 1132057774 + .long 1572162123 + .long 1127875334 + .long 1318398424 + .long 1131881367 + .long 20810995 + .long 1127695846 + .long 1156938005 + .long 1131723177 + .long 3951374592 + .long 1127535090 + .long 2608242403 + .long 1131581340 + .long 2085574367 + .long 1127391131 + .long 1802410473 + .long 1131454182 + .long 2715796973 + .long 1127262228 + .long 1771700082 + .long 1131266891 + .long 1675857833 + .long 1127074443 + .long 2605501015 + .long 1131062564 + .long 2453862588 + .long 1126867820 + .long 134813882 + .long 1130879451 + .long 4201397273 + .long 1126682875 + .long 2391361007 + .long 1130715368 + .long 1738398063 + .long 1126517355 + .long 1692999782 + .long 1130568357 + .long 3876745943 + .long 1126369236 + .long 2848159293 + .long 1130436657 + .long 330371969 + .long 1126236707 + .long 1707220927 + .long 1130272450 + .long 2383670733 + .long 1126065655 + .long 3247666430 + .long 1130061138 + .long 3834104127 + .long 1125853529 + .long 2284137823 + .long 1129871905 + .long 3479353080 + .long 1125663798 + .long 3431770873 + .long 1129702464 + .long 3330228067 + .long 1125494118 + .long 429064670 + .long 1129550765 + .long 1237718763 + .long 1125342389 + .long 2690937090 + .long 1129414965 + .long 3912378906 + .long 1125206727 + .long 2565517419 + .long 1129270477 + .long 2926944965 + .long 1125048847 + .long 4280764609 + .long 1129052909 + .long 2285664242 + .long 1124832027 + .long 2117899576 + .long 1128858218 + .long 2384284646 + .long 1124638239 + .long 1100114414 + .long 1128684019 + .long 1079044255 + .long 1124465058 + .long 2490550860 + .long 1128528174 + .long 1187767679 + .long 1124310311 + .long 3059756537 + .long 1128388767 + .long 1125870666 + .long 1124172053 + .long 2011207108 + .long 1128260384 + .long 2711543652 + .long 1124023612 + .long 1971731957 + .long 1128037367 + .long 3717979360 + .long 1123802965 + .long 190152924 + .long 1127837947 + .long 634529117 + .long 1123605902 + .long 2279911327 + .long 1127659648 + .long 1589420432 + .long 1123429922 + .long 1743963826 + .long 1127500254 + .long 4011928493 + .long 1123272789 + .long 3694431565 + .long 1127357777 + .long 1825951196 + .long 1123132503 + .long 37372990 + .long 1127230439 + .long 902239192 + .long 1122989648 + .long 357996513 + .long 1127014087 + .long 3736365794 + .long 1122766091 + .long 471494204 + .long 1126810727 + .long 3174570430 + .long 1122566575 + .long 2938566757 + .long 1126629040 + .long 1631041877 + .long 1122388536 + .long 3862641636 + .long 1126466737 + .long 1428278857 + .long 1122229681 + .long 2705689559 + .long 1126321768 + .long 3122796486 + .long 1122087960 + .long 2814570586 + .long 1126192297 + .long 2911775264 + .long 1121946763 + .long 2905852510 + .long 1125982740 + .long 2500562767 + .long 1121721252 + .long 867019880 + .long 1125776281 + .long 1088252172 + .long 1121520139 + .long 3972810286 + .long 1125591961 + .long 84062841 + .long 1121340806 + .long 3689108380 + .long 1125427428 + .long 2866547101 + .long 1121180913 + .long 418349559 + .long 1125280576 + .long 346501975 + .long 1121038372 + .long 3895248558 + .long 1125149519 + .long 3837706926 + .long 1120894883 + .long 4289939603 + .long 1124943102 + .long 1835734022 + .long 1120668398 + .long 1806841202 + .long 1124734424 + .long 106141887 + .long 1120466564 + .long 2886562217 + .long 1124548261 + .long 2476206473 + .long 1120286719 + .long 3505743866 + .long 1124382205 + .long 3553036011 + .long 1120126488 + .long 1770162296 + .long 1124234103 + .long 630544163 + .long 1119983750 + .long 2826068942 + .long 1124102029 + .long 4141157953 + .long 1119834050 + .long 2850114029 + .long 1123895056 + .long 1341246883 + .long 1119607584 + .long 2065430038 + .long 1123685068 + .long 1872851222 + .long 1119405914 + .long 3592764375 + .long 1123497875 + .long 662406915 + .long 1119226348 + .long 2940520440 + .long 1123331024 + .long 1570171747 + .long 1119066482 + .long 3917597947 + .long 1123182322 + .long 306296939 + .long 1118924173 + .long 2692555170 + .long 1123049812 + .long 1515311757 + .long 1118764423 + .long 3020826096 + .long 1122838594 + .long 1942281842 + .long 1118538968 + .long 2758135905 + .long 1122628223 + .long 2313530469 + .long 1118338346 + .long 959962841 + .long 1122440828 + .long 624543593 + .long 1118159844 + .long 3110425290 + .long 1122273919 + .long 3763131039 + .long 1118001041 + .long 3131202331 + .long 1122125276 + .long 3450851597 + .long 1117859782 + .long 2871911974 + .long 1121992916 + .long 2007100743 + .long 1117686272 + .long 3101350956 + .long 1121773820 + .long 4149890743 + .long 1117462808 + .long 2081544678 + .long 1121563998 + .long 2982306159 + .long 1117264104 + .long 49044599 + .long 1121377230 + .long 4099038896 + .long 1117087437 + .long 3400982507 + .long 1121211002 + .long 3523525745 + .long 1116930383 + .long 3721086726 + .long 1121063075 + .long 201067636 + .long 1116790782 + .long 3127191497 + .long 1120931450 + .long 3588312849 + .long 1116599976 + .long 2706561044 + .long 1120700946 + .long 1469650381 + .long 1116379458 + .long 2302038473 + .long 1120492597 + .long 1466843194 + .long 1116183516 + .long 1389140244 + .long 1120307277 + .long 290290075 + .long 1116009433 + .long 3865310785 + .long 1120142460 + .long 3874185980 + .long 1115854788 + .long 3343859324 + .long 1119995897 + .long 4011478976 + .long 1115717429 + .long 4000817012 + .long 1119851996 + .long 171642260 + .long 1115506014 + .long 130842766 + .long 1119620288 + .long 4031412174 + .long 1115289355 + .long 3534099260 + .long 1119414316 + .long 177074159 + .long 1115096985 + .long 4150727396 + .long 1119231246 + .long 2663060654 + .long 1114926199 + .long 677761646 + .long 1119068552 + .long 549230713 + .long 1114774596 + .long 2252671776 + .long 1118923982 + .long 2381441019 + .long 1114640036 + .long 1105323286 + .long 1118760477 + .long 2808690215 + .long 1114404950 + .long 1703121876 + .long 1118532257 + .long 3203766828 + .long 1114193018 + .long 2069183567 + .long 1118329537 + .long 45211903 + .long 1114004982 + .long 2002014451 + .long 1118149490 + .long 2783856157 + .long 1113838166 + .long 940768256 + .long 1117989600 + .long 3133535813 + .long 1113690195 + .long 2631187174 + .long 1117847627 + .long 4268155202 + .long 1113530200 + .long 2370996671 + .long 1117661144 + .long 2034082850 + .long 1113297430 + .long 1068639438 + .long 1117437355 + .long 2913787982 + .long 1113091030 + .long 2672994462 + .long 1117238717 + .long 1678437236 + .long 1112908036 + .long 2485039408 + .long 1117062426 + .long 1098600669 + .long 1112745813 + .long 1727439070 + .long 1116905987 + .long 659512389 + .long 1112602021 + .long 2971022341 + .long 1116767181 + .long 806208697 + .long 1112410027 + .long 20781236 + .long 1116554634 + .long 1671730707 + .long 1112184161 + .long 2545082435 + .long 1116336159 + .long 3039002861 + .long 1111984030 + .long 2944237826 + .long 1116142382 + .long 2285456920 + .long 1111806724 + .long 2149612308 + .long 1115970532 + .long 4068908997 + .long 1111649658 + .long 2957083502 + .long 1115818146 + .long 1496666869 + .long 1111510540 + .long 2361171085 + .long 1115681210 + .long 659213027 + .long 1111284106 + .long 2834057963 + .long 1115441656 + .long 1154962059 + .long 1111065901 + .long 3991237976 + .long 1115229313 + .long 742279536 + .long 1110872700 + .long 2492162904 + .long 1115041114 + .long 2562815945 + .long 1110701658 + .long 156433707 + .long 1114874334 + .long 1720938218 + .long 1110550253 + .long 3568912018 + .long 1114726552 + .long 814000769 + .long 1110390509 + .long 1787543666 + .long 1114554957 + .long 3085688148 + .long 1110153322 + .long 3956019851 + .long 1114322984 + .long 1060898163 + .long 1109943443 + .long 808980830 + .long 1114117514 + .long 2668383887 + .long 1109757749 + .long 3919832875 + .long 1113935539 + .long 3414857356 + .long 1109593474 + .long 24442394 + .long 1113774395 + .long 4120766401 + .long 1109448165 + .long 3563050434 + .long 1113631712 + .long 1084972929 + .long 1109245890 + .long 976862601 + .long 1113423075 + .long 1485510095 + .long 1109018587 + .long 819353060 + .long 1113199437 + .long 3500347783 + .long 1108817600 + .long 4078300992 + .long 1113001494 + .long 2275315543 + .long 1108639905 + .long 2744002435 + .long 1112826317 + .long 2446204157 + .long 1108482821 + .long 799980411 + .long 1112671306 + .long 1070208850 + .long 1108343118 + .long 335072396 + .long 1112529176 + .long 2505637792 + .long 1108097695 + .long 393840638 + .long 1112286512 + .long 2356589298 + .long 1107880819 + .long 285668148 + .long 1112071862 + .long 440663793 + .long 1107689193 + .long 1441293126 + .long 1111882015 + .long 1084663825 + .long 1107519897 + .long 2064869659 + .long 1111714126 + .long 119946720 + .long 1107370348 + .long 417220747 + .long 1111565674 + .long 2683262261 + .long 1107180260 + .long 1516158303 + .long 1111378288 + .long 4220404801 + .long 1106946951 + .long 830924676 + .long 1111146235 + .long 3701561540 + .long 1106740931 + .long 2235571069 + .long 1110941122 + .long 3074757155 + .long 1106559030 + .long 4082743838 + .long 1110759844 + .long 2220088067 + .long 1106398444 + .long 1876449427 + .long 1110599652 + .long 3911816121 + .long 1106256692 + .long 3926525190 + .long 1110458109 + .long 1092713979 + .long 1106015484 + .long 4222970289 + .long 1110224138 + .long 926520626 + .long 1105794664 + .long 1585088324 + .long 1110003213 + .long 3239958806 + .long 1105599814 + .long 2010771184 + .long 1109808080 + .long 1997667540 + .long 1105427902 + .long 961103206 + .long 1109635750 + .long 3253156965 + .long 1105276245 + .long 3031370254 + .long 1109483576 + .long 2970981435 + .long 1105085844 + .long 2559708232 + .long 1109305029 + .long 3183031428 + .long 1104849882 + .long 2938482145 + .long 1109067802 + .long 1052329439 + .long 1104641799 + .long 2040849574 + .long 1108858400 + .long 3502017515 + .long 1104458322 + .long 445015277 + .long 1108673582 + .long 1170570442 + .long 1104296563 + .long 2099882470 + .long 1108510481 + .long 2321018990 + .long 1104153967 + .long 1334765365 + .long 1108366564 + .long 919550936 + .long 1103906033 + .long 3321758888 + .long 1108134347 + .long 4068019066 + .long 1103684493 + .long 3414327399 + .long 1107910322 + .long 677781025 + .long 1103489272 + .long 4023189545 + .long 1107712719 + .long 2116797212 + .long 1103317262 + .long 1454212341 + .long 1107538444 + .long 2147072810 + .long 1103165723 + .long 398375034 + .long 1107384761 + .long 2436518942 + .long 1102962518 + .long 1554804823 + .long 1107202251 + .long 462060487 + .long 1102727372 + .long 1508243439 + .long 1106963318 + .long 31640204 + .long 1102520286 + .long 1390964319 + .long 1106752695 + .long 194014002 + .long 1102337934 + .long 3457495598 + .long 1106567050 + .long 2586452310 + .long 1102177381 + .long 2709086624 + .long 1106403442 + .long 3256375675 + .long 1102018703 + .long 3344858523 + .long 1106259272 + .long 3668708253 + .long 1101769874 + .long 3445556640 + .long 1106016814 + .long 3276294038 + .long 1101550872 + .long 3991401134 + .long 1105793002 + .long 3042705393 + .long 1101358145 + .long 4056865850 + .long 1105595854 + .long 61555617 + .long 1101188562 + .long 2551083911 + .long 1105422215 + .long 3248074063 + .long 1101039360 + .long 1846795646 + .long 1105269300 + .long 1472434419 + .long 1100811416 + .long 353540760 + .long 1105070201 + .long 1345929365 + .long 1100580518 + .long 2530892669 + .long 1104833104 + .long 2284935894 + .long 1100377446 + .long 130516814 + .long 1104624383 + .long 1589478727 + .long 1100198869 + .long 772858390 + .long 1104440663 + .long 1900966035 + .long 1100041851 + .long 400926987 + .long 1104278970 + .long 2592853406 + .long 1099851389 + .long 3515284429 + .long 1104122832 + .long 1043872472 + .long 1099608691 + .long 753693360 + .long 1103872434 + .long 1992869878 + .long 1099395371 + .long 3923707548 + .long 1103652137 + .long 3788831841 + .long 1099207896 + .long 86767418 + .long 1103458349 + .long 1204183677 + .long 1099043156 + .long 3993536332 + .long 1103287898 + .long 66872776 + .long 1098889173 + .long 1230507331 + .long 1103137995 + .long 2436600716 + .long 1098634848 + .long 714625323 + .long 1102910403 + .long 1846904100 + .long 1098411446 + .long 4250558381 + .long 1102678603 + .long 3584705058 + .long 1098215230 + .long 2591528180 + .long 1102474821 + .long 1705602031 + .long 1098042914 + .long 3169042886 + .long 1102295691 + .long 2832253206 + .long 1097891604 + .long 1801917518 + .long 1102138251 + .long 3958240781 + .long 1097658441 + .long 3689877032 + .long 1101946406 + .long 3391696766 + .long 1097425193 + .long 3049582897 + .long 1101703252 + .long 1677112252 + .long 1097220455 + .long 688939585 + .long 1101489619 + .long 4029740200 + .long 1097040763 + .long 1201594820 + .long 1101301945 + .long 2281780473 + .long 1096883074 + .long 3644871435 + .long 1101137096 + .long 462090739 + .long 1096678924 + .long 596508721 + .long 1100979831 + .long 374460362 + .long 1096436138 + .long 2413289875 + .long 1100725548 + .long 2745667880 + .long 1096223157 + .long 4050259853 + .long 1100502274 + .long 2124074559 + .long 1096036346 + .long 4026415429 + .long 1100306252 + .long 785176086 + .long 1095872509 + .long 2194242293 + .long 1100134177 + .long 3829057961 + .long 1095695755 + .long 3662913788 + .long 1099983141 + .long 6154213 + .long 1095443812 + .long 1836124429 + .long 1099744955 + .long 3442167805 + .long 1095222932 + .long 3502862881 + .long 1099512322 + .long 2795231252 + .long 1095029311 + .long 2686967895 + .long 1099308209 + .long 1852739982 + .long 1094859605 + .long 2379346499 + .long 1099129141 + .long 4031629968 + .long 1094708412 + .long 3529903497 + .long 1098972064 + .long 1692195970 + .long 1094447762 + .long 947638496 + .long 1098760943 + .long 2143567542 + .long 1094219389 + .long 296410330 + .long 1098519303 + .long 2474294393 + .long 1094019321 + .long 3786184281 + .long 1098307416 + .long 3636592950 + .long 1093844071 + .long 3389146233 + .long 1098121643 + .long 1634402452 + .long 1093690580 + .long 2592050282 + .long 1097958785 + .long 1487743506 + .long 1093447556 + .long 2953484721 + .long 1097772994 + .long 4287882560 + .long 1093212154 + .long 1537613449 + .long 1097522768 + .long 2458104266 + .long 1093006055 + .long 190624382 + .long 1097303488 + .long 2983874393 + .long 1092825632 + .long 882060314 + .long 1097111350 + .long 3329798348 + .long 1092667706 + .long 3616269672 + .long 1096943015 + .long 323300782 + .long 1092442787 + .long 1087799841 + .long 1096780612 + .long 1399376011 + .long 1092200880 + .long 2813953676 + .long 1096522289 + .long 2131504469 + .long 1091989214 + .long 1847214818 + .long 1096296053 + .long 3247331473 + .long 1091804031 + .long 1994699812 + .long 1096097942 + .long 1649841686 + .long 1091642038 + .long 2573591394 + .long 1095924481 + .long 2632630216 + .long 1091433079 + .long 1686189053 + .long 1095772622 + .long 692441783 + .long 1091185245 + .long 484007912 + .long 1095517462 + .long 4165499210 + .long 1090968524 + .long 1745674181 + .long 1095284765 + .long 4061964950 + .long 1090779035 + .long 1249190365 + .long 1095081122 + .long 2926004374 + .long 1090613376 + .long 644454863 + .long 1094902927 + .long 612917076 + .long 1090418096 + .long 322063619 + .long 1094747019 + .long 1764017864 + .long 1090164962 + .long 3091097501 + .long 1094507910 + .long 1271452310 + .long 1089943743 + .long 1164183261 + .long 1094269303 + .long 2845995974 + .long 1089750438 + .long 2896268950 + .long 1094060615 + .long 3204432805 + .long 1089581546 + .long 2572418588 + .long 1093878118 + .long 3791512599 + .long 1089397540 + .long 3076895702 + .long 1093718544 + .long 1587304040 + .long 1089139782 + .long 2772173518 + .long 1093493295 + .long 9417835 + .long 1088914659 + .long 3594010359 + .long 1093249377 + .long 3442414467 + .long 1088718062 + .long 3440112991 + .long 1093036176 + .long 3522111233 + .long 1088546399 + .long 1059737520 + .long 1092849847 + .long 1806355671 + .long 1088371164 + .long 1498944405 + .long 1092687022 + .long 1674732152 + .long 1088109496 + .long 694768547 + .long 1092473317 + .long 4031952273 + .long 1087881097 + .long 2719706201 + .long 1092224735 + .long 1572736221 + .long 1087681763 + .long 2726072325 + .long 1092007591 + .long 2174247271 + .long 1087507815 + .long 2748643032 + .long 1091817932 + .long 1752691998 + .long 1087338767 + .long 374105342 + .long 1091652300 + .long 4201814451 + .long 1087073939 + .long 194787867 + .long 1091447720 + .long 3734120499 + .long 1086842924 + .long 2743237017 + .long 1091195162 + .long 2706006322 + .long 1086641429 + .long 328407533 + .long 1090974681 + .long 2432268136 + .long 1086465703 + .long 1031608550 + .long 1090782225 + .long 2328310806 + .long 1086300203 + .long 1627182842 + .long 1090614253 + .long 1110667808 + .long 1086032995 + .long 1586677284 + .long 1090416297 + .long 2143088428 + .long 1085800045 + .long 2002637577 + .long 1090160487 + .long 3430232497 + .long 1085596986 + .long 2727882820 + .long 1089937303 + .long 1191597860 + .long 1085420005 + .long 2827660057 + .long 1089742608 + .long 3293943575 + .long 1085255381 + .long 3738758065 + .long 1089572786 + .long 3216349492 + .long 1084986592 + .long 2602645614 + .long 1089378893 + .long 3850209855 + .long 1084752407 + .long 4024866937 + .long 1089120583 + .long 600789168 + .long 1084548397 + .long 2385236869 + .long 1088895357 + .long 1376340710 + .long 1084370694 + .long 1750036214 + .long 1088699001 + .long 2804989792 + .long 1084204267 + .long 3625159312 + .long 1088527835 + .long 1780939479 + .long 1083934712 + .long 4181588374 + .long 1088335406 + .long 1216346442 + .long 1083700003 + .long 4241161077 + .long 1088075372 + .long 2393435751 + .long 1083495660 + .long 1532798012 + .long 1087848782 + .long 775536408 + .long 1083317777 + .long 585891252 + .long 1087651358 + .long 3964006679 + .long 1083146883 + .long 851324912 + .long 1087479367 + .long 4193385453 + .long 1082877383 + .long 4214947902 + .long 1087285790 + .long 728240374 + .long 1082642866 + .long 3731379682 + .long 1087024823 + .long 2554889952 + .long 1082438814 + .long 3234938630 + .long 1086797559 + .long 224011849 + .long 1082261293 + .long 1371418612 + .long 1086599670 + .long 480998365 + .long 1082083310 + .long 4087257844 + .long 1086427379 + .long 1992874489 + .long 1081814686 + .long 583681743 + .long 1086230055 + .long 3593845159 + .long 1081581073 + .long 2643283993 + .long 1085968954 + .long 3749576702 + .long 1081377933 + .long 3993298988 + .long 1085741713 + .long 1071458057 + .long 1081201313 + .long 1654189370 + .long 1085543966 + .long 1601380362 + .long 1081013681 + .long 1107405591 + .long 1085371905 + .long 124804291 + .long 1080746747 + .long 3421738212 + .long 1085168264 + .long 752868452 + .long 1080514745 + .long 3308765037 + .long 1084907831 + .long 4154137425 + .long 1080313128 + .long 756246516 + .long 1084681311 + .long 582893452 + .long 1080137940 + .long 1225810351 + .long 1084484311 + .long 1920387376 + .long 1079938186 + .long 4000749402 + .long 1084313005 + .long 162516834 + .long 1079673739 + .long 784691897 + .long 1084100540 + .long 3882275571 + .long 1079444038 + .long 1607273450 + .long 1083841569 + .long 3235485814 + .long 1079244544 + .long 3776267582 + .long 1083616458 + .long 2546997760 + .long 1079071305 + .long 2184543794 + .long 1083420805 + .long 3640950650 + .long 1078857064 + .long 2131145458 + .long 1083250775 + .long 2091040063 + .long 1078595879 + .long 2368285214 + .long 1083027054 + .long 887882894 + .long 1078369151 + .long 1028430600 + .long 1082770327 + .long 1091365731 + .long 1078172358 + .long 3867464166 + .long 1082547303 + .long 280040432 + .long 1078001569 + .long 2417693552 + .long 1082353583 + .long 1333440383 + .long 1077770603 + .long 3323262261 + .long 1082185336 + .long 3409501376 + .long 1077513425 + .long 2528771426 + .long 1081948031 + .long 3597097013 + .long 1077290312 + .long 2346058576 + .long 1081694308 + .long 135653325 + .long 1077096776 + .long 1584763124 + .long 1081474030 + .long 919368609 + .long 1076928915 + .long 4116245666 + .long 1081282811 + .long 2527512303 + .long 1076679131 + .long 193164072 + .long 1081116840 + .long 132243017 + .long 1076426672 + .long 280180506 + .long 1080863742 + .long 3225936839 + .long 1076207785 + .long 3480617204 + .long 1080613756 + .long 769188436 + .long 1076018031 + .long 4034624571 + .long 1080396856 + .long 1019068871 + .long 1075853551 + .long 3143788733 + .long 1080208686 + .long 2902155955 + .long 1075583017 + .long 3522894756 + .long 1080045460 + .long 2904593745 + .long 1075335944 + .long 3554323885 + .long 1079774499 + .long 1419386925 + .long 1075121859 + .long 1231864750 + .long 1079528952 + .long 4184064491 + .long 1074936379 + .long 2447488876 + .long 1079316033 + .long 3457071937 + .long 1074761007 + .long 2430366532 + .long 1079131430 + .long 2388689735 + .long 1074482662 + .long 2287503713 + .long 1078958090 + .long 4177130617 + .long 1074241597 + .long 899959499 + .long 1078680657 + .long 1227140978 + .long 1074032846 + .long 3790646954 + .long 1078440207 + .long 1114999631 + .long 1073852098 + .long 3811452349 + .long 1078231837 + .long 3063409814 + .long 1073649408 + .long 2400919409 + .long 1078051289 + .long 2506684706 + .long 1073378494 + .long 2937076999 + .long 1077853606 + .long 4208701520 + .long 1073144008 + .long 4103185011 + .long 1077582599 + .long 1313010332 + .long 1072941078 + .long 2847939034 + .long 1077347864 + .long 2678827294 + .long 1072765477 + .long 920270619 + .long 1077144571 + .long 2351614710 + .long 1072533841 + .long 3078958784 + .long 1076968529 + .long 2584841054 + .long 1072270963 + .long 1719891259 + .long 1076744659 + .long 1822670350 + .long 1072043572 + .long 3254115937 + .long 1076480741 + .long 2350112668 + .long 1071846901 + .long 177558575 + .long 1076252287 + .long 1949677764 + .long 1071676821 + .long 1435888075 + .long 1076054554 + .long 3477976628 + .long 1071414837 + .long 985819278 + .long 1075883433 + .long 3939703665 + .long 1071160534 + .long 3601037010 + .long 1075631744 + .long 1877066418 + .long 1070940695 + .long 2227084204 + .long 1075375518 + .long 198803165 + .long 1070750672 + .long 3199787287 + .long 1075153857 + .long 3760946197 + .long 1070576785 + .long 357646722 + .long 1074962123 + .long 818405878 + .long 1070292941 + .long 2622182607 + .long 1074796294 + .long 1019318827 + .long 1070047683 + .long 1065060601 + .long 1074515379 + .long 1212097429 + .long 1069835792 + .long 1906811740 + .long 1074267382 + .long 589568904 + .long 1069652751 + .long 2826585863 + .long 1074052972 + .long 725964252 + .long 1069441782 + .long 3634844497 + .long 1073867623 + .long 2851703311 + .long 1069168700 + .long 2320992478 + .long 1073673009 + .long 2930993008 + .long 1068932886 + .long 554091730 + .long 1073396092 + .long 725065783 + .long 1068729279 + .long 357628778 + .long 1073156796 + .long 4120994388 + .long 1068553500 + .long 2722636258 + .long 1072950035 + .long 2894585062 + .long 1068304589 + .long 203269805 + .long 1072771409 + .long 3282857881 + .long 1068042663 + .long 824090352 + .long 1072540966 + .long 4195077263 + .long 1067816620 + .long 1820258408 + .long 1072274419 + .long 1006457760 + .long 1067621569 + .long 1813080486 + .long 1072044226 + .long 556593427 + .long 1067453280 + .long 1601803602 + .long 1071845453 + .long 2926461152 + .long 1067165830 + .long 3053468438 + .long 1071673832 + .long 673859665 + .long 1066915370 + .long 940146539 + .long 1071406675 + .long 3922402993 + .long 1066699353 + .long 3725117473 + .long 1071150896 + .long 3365250929 + .long 1066513067 + .long 572324026 + .long 1070930139 + .long 1278471661 + .long 1066303087 + .long 1957106858 + .long 1070739630 + .long 3680566807 + .long 1066026112 + .long 1493026476 + .long 1070554396 + .long 2595010826 + .long 1065787345 + .long 2292657928 + .long 1070270746 + .long 772889063 + .long 1065581540 + .long 2611186430 + .long 1070026053 + .long 3674362520 + .long 1065404167 + .long 347983329 + .long 1069814993 + .long 928504805 + .long 1065149422 + .long 2629569584 + .long 1069632964 + .long 3216199533 + .long 1064886022 + .long 138419420 + .long 1069404468 + .long 1795141573 + .long 1064659096 + .long 3969997117 + .long 1069133776 + .long 2673537097 + .long 1064463616 + .long 866550090 + .long 1068900406 + .long 1567314510 + .long 1064285852 + .long 721422537 + .long 1068699235 + .long 2094096671 + .long 1063995846 + .long 1304881903 + .long 1068525842 + .long 3964575649 + .long 1063746119 + .long 2371681858 + .long 1068253876 + .long 2022640159 + .long 1063531104 + .long 2462268746 + .long 1067996343 + .long 25823726 + .long 1063345998 + .long 301445847 + .long 1067774453 + .long 796105289 + .long 1063117255 + .long 2573539776 + .long 1067583295 + .long 3335939118 + .long 1062842973 + .long 1545161389 + .long 1067386901 + .long 3431914924 + .long 1062606931 + .long 18355429 + .long 1067103262 + .long 3559962747 + .long 1062403822 + .long 784603450 + .long 1066858998 + .long 1398702338 + .long 1062229073 + .long 2141073328 + .long 1066648669 + .long 3420094350 + .long 1061949995 + .long 2702176499 + .long 1066467583 + .long 2993634154 + .long 1061691376 + .long 3996809095 + .long 1066221595 + .long 1026361128 + .long 1061468949 + .long 1606148946 + .long 1065953230 + .long 199951780 + .long 1061277672 + .long 3336741006 + .long 1065722261 + .long 1725965446 + .long 1061067493 + .long 1014836455 + .long 1065523503 + .long 2536985697 + .long 1060784690 + .long 2935372754 + .long 1065351751 + .long 2008466743 + .long 1060541582 + .long 2740775054 + .long 1065057484 + .long 3982168358 + .long 1060332622 + .long 1020705938 + .long 1064804348 + .long 668537815 + .long 1060153037 + .long 1036688584 + .long 1064586620 + .long 3226724213 + .long 1059887093 + .long 3204557467 + .long 1064399370 + .long 2537253116 + .long 1059621900 + .long 9237192 + .long 1064172066 + .long 2128730302 + .long 1059394069 + .long 1675559132 + .long 1063895178 + .long 2391191686 + .long 1059198360 + .long 1487886995 + .long 1063657138 + .long 3062168369 + .long 1058998770 + .long 2727312836 + .long 1063452520 + .long 2844502355 + .long 1058710050 + .long 561521250 + .long 1063276654 + .long 1615260518 + .long 1058462128 + .long 4265220818 + .long 1062994970 + .long 3808626276 + .long 1058249264 + .long 1910769961 + .long 1062735234 + .long 3535160914 + .long 1058066524 + .long 510111814 + .long 1062512076 + .long 3526462797 + .long 1057806144 + .long 1272947135 + .long 1062320368 + .long 64586368 + .long 1057536886 + .long 2171539441 + .long 1062103909 + .long 282809207 + .long 1057305816 + .long 3362559227 + .long 1061821054 + .long 3734035482 + .long 1057107542 + .long 964703473 + .long 1061578153 + .long 1785752034 + .long 1056910256 + .long 210580293 + .long 1061369587 + .long 1859847393 + .long 1056618395 + .long 3205737460 + .long 1061190524 + .long 991232585 + .long 1056368051 + .long 400215000 + .long 1060914711 + .long 1378265051 + .long 1056153344 + .long 624694001 + .long 1060650838 + .long 422472125 + .long 1055969224 + .long 732814700 + .long 1060424376 + .long 184700884 + .long 1055706673 + .long 82117668 + .long 1060230045 + .long 341178737 + .long 1055435976 + .long 3204396423 + .long 1060016276 + .long 86602655 + .long 1055203927 + .long 57156315 + .long 1059730184 + .long 1344528830 + .long 1055005032 + .long 4171459327 + .long 1059484772 + .long 2489220987 + .long 1054801695 + .long 2619830600 + .long 1059274284 + .long 1364863812 + .long 1054509562 + .long 2075471815 + .long 1059093771 + .long 3035513672 + .long 1054259259 + .long 3172072720 + .long 1058816207 + .long 774888989 + .long 1054044824 + .long 2795043467 + .long 1058550783 + .long 2545027767 + .long 1053861138 + .long 3672062656 + .long 1058323241 + .long 1069016163 + .long 1053588745 + .long 2507613117 + .long 1058128199 + .long 106954761 + .long 1053319280 + .long 4118160134 + .long 1057908886 + .long 2071148562 + .long 1053088540 + .long 3274049128 + .long 1057622380 + .long 1504097826 + .long 1052890985 + .long 1205074058 + .long 1057376886 + .long 2335886464 + .long 1052673421 + .long 3128666935 + .long 1057166558 + .long 2974694783 + .long 1052383892 + .long 2455986770 + .long 1056986382 + .long 4090613532 + .long 1052136093 + .long 3506008771 + .long 1056699500 + .long 2593477673 + .long 1051924036 + .long 2679845102 + .long 1056435156 + .long 2652867038 + .long 1051742587 + .long 2936547419 + .long 1056208790 + .long 3722139095 + .long 1051452967 + .long 1937071815 + .long 1056014970 + .long 4071138000 + .long 1051187367 + .long 281855336 + .long 1055782042 + .long 4026582813 + .long 1050960187 + .long 58418475 + .long 1055497959 + .long 4239898754 + .long 1050765893 + .long 1880586525 + .long 1055254809 + .long 3166599183 + .long 1050526339 + .long 3309560683 + .long 1055046720 + .long 1372242815 + .long 1050242215 + .long 1098949801 + .long 1054868659 + .long 320314846 + .long 1049999309 + .long 1480871853 + .long 1054565165 + .long 3414900757 + .long 1049791666 + .long 3778886620 + .long 1054304499 + .long 1658502550 + .long 1049603805 + .long 1985450142 + .long 1054081530 + .long 2195452177 + .long 1049300457 + .long 371263915 + .long 1053890829 + .long 736946713 + .long 1049041243 + .long 3794434276 + .long 1053636611 + .long 2129280925 + .long 1048819768 + .long 2911553074 + .long 1053357716 + .long 4163443926 + .long 1048630561 + .long 3601516282 + .long 1053119270 + .long 3922439198 + .long 1048361883 + .long 3551125735 + .long 1052915432 + .long 1423074626 + .long 1048085806 + .long 566278539 + .long 1052712098 + .long 3103650856 + .long 1047850038 + .long 1653025731 + .long 1052414283 + .long 89985488 + .long 1047648720 + .long 3828200832 + .long 1052159786 + .long 2126375434 + .long 1047426251 + .long 2263717319 + .long 1051942334 + .long 1526941242 + .long 1047132787 + .long 4268229662 + .long 1051756556 + .long 571254441 + .long 1046882294 + .long 3421997627 + .long 1051473991 + .long 3635786287 + .long 1046668505 + .long 3475446781 + .long 1051202896 + .long 1586213824 + .long 1046486066 + .long 2695546121 + .long 1050971375 + .long 3242786031 + .long 1046181947 + .long 2632318429 + .long 1050773675 + .long 2032056883 + .long 1045916328 + .long 2529106959 + .long 1050536601 + .long 957132524 + .long 1045689741 + .long 3147584511 + .long 1050248391 + .long 4065698506 + .long 1045496473 + .long 3462344565 + .long 1050002374 + .long 144784160 + .long 1045233022 + .long 2860265986 + .long 1049792399 + .long 3762462124 + .long 1044951912 + .long 1082602800 + .long 1049601840 + .long 24148966 + .long 1044712229 + .long 3294945749 + .long 1049296035 + .long 3365386114 + .long 1044507890 + .long 188274458 + .long 1049035128 + .long 1110470638 + .long 1044285718 + .long 3669055968 + .long 1048812552 + .long 1728691669 + .long 1043988796 + .long 2895341355 + .long 1048622701 + .long 2733832444 + .long 1043735753 + .long 1139529843 + .long 1048345566 + .long 3583218421 + .long 1043520131 + .long 3965629786 + .long 1048069408 + .long 1987803048 + .long 1043336419 + .long 594343604 + .long 1047833940 + .long 3575686132 + .long 1043026706 + .long 2364830100 + .long 1047633189 + .long 3702231228 + .long 1042760081 + .long 1709502397 + .long 1047396694 + .long 1513151189 + .long 1042532997 + .long 723955360 + .long 1047104969 + .long 275375183 + .long 1042339613 + .long 1048166754 + .long 1046856348 + .long 3055178583 + .long 1042065351 + .long 2867678576 + .long 1046644488 + .long 2863378291 + .long 1041784963 + .long 73800117 + .long 1046449106 + .long 3095460318 + .long 1041546273 + .long 1863735641 + .long 1046141539 + .long 2209407776 + .long 1041343105 + .long 1626801313 + .long 1045879546 + .long 2796375947 + .long 1041104419 + .long 1654412224 + .long 1045656401 + .long 1810533568 + .long 1040810133 + .long 1760921420 + .long 1045466367 + .long 1986199598 + .long 1040559734 + .long 1489107984 + .long 1045178830 + .long 3507903350 + .long 1040346703 + .long 695456108 + .long 1044903287 + .long 3803877206 + .long 1040143581 + .long 1450503897 + .long 1044668716 + .long 1047104294 + .long 1039835311 + .long 3898922767 + .long 1044469049 + .long 1836915555 + .long 1039573141 + .long 3452138526 + .long 1044216533 + .long 1850834244 + .long 1039350205 + .long 3300200332 + .long 1043927307 + .long 155433612 + .long 1039160655 + .long 1893459278 + .long 1043681209 + .long 2416438279 + .long 1038860204 + .long 2345131655 + .long 1043471833 + .long 655740975 + .long 1038586246 + .long 2233243491 + .long 1043254324 + .long 1937958484 + .long 1038353399 + .long 1214496715 + .long 1042951331 + .long 709870736 + .long 1038155519 + .long 315937416 + .long 1042693645 + .long 3786312713 + .long 1037884509 + .long 4032052801 + .long 1042474517 + .long 1638503364 + .long 1037598791 + .long 3912551254 + .long 1042288202 + .long 3946536954 + .long 1037356067 + .long 1108762442 + .long 1041975068 + .long 3228475787 + .long 1037149894 + .long 1850199187 + .long 1041705777 + .long 3115208651 + .long 1036907914 + .long 1900259957 + .long 1041476894 + .long 3178011185 + .long 1036610512 + .long 3601457727 + .long 1041282379 + .long 1116713894 + .long 1036357987 + .long 2019199185 + .long 1040998218 + .long 3490939155 + .long 1036143592 + .long 163110902 + .long 1040717352 + .long 3244394505 + .long 1035930099 + .long 1983419685 + .long 1040478747 + .long 2352989314 + .long 1035621140 + .long 2027948076 + .long 1040276070 + .long 3593160161 + .long 1035358929 + .long 3667278182 + .long 1040020472 + .long 1237413608 + .long 1035136421 + .long 1788776124 + .long 1039728107 + .long 2226049380 + .long 1034947626 + .long 3782116261 + .long 1039479855 + .long 3237854159 + .long 1034630401 + .long 3928059158 + .long 1039269087 + .long 2563567733 + .long 1034358665 + .long 2613981636 + .long 1039041515 + .long 1914887475 + .long 1034128186 + .long 3806068620 + .long 1038737776 + .long 929391145 + .long 1033932724 + .long 2594567776 + .long 1038479994 + .long 4184711150 + .long 1033638021 + .long 1119648630 + .long 1038261242 + .long 3474759119 + .long 1033356963 + .long 1939641769 + .long 1038061026 + .long 1529494156 + .long 1033118694 + .long 2101490682 + .long 1037746090 + .long 233245116 + .long 1032916724 + .long 859180120 + .long 1037478936 + .long 2644400424 + .long 1032643727 + .long 4278463368 + .long 1037252341 + .long 3696690126 + .long 1032353594 + .long 2146825917 + .long 1037060173 + .long 1784326616 + .long 1032107752 + .long 73703255 + .long 1036752777 + .long 2385418051 + .long 1031899464 + .long 2670831976 + .long 1036476452 + .long 250840531 + .long 1031647248 + .long 1981749041 + .long 1036242195 + .long 451541801 + .long 1031348332 + .long 2695979644 + .long 1036043625 + .long 3892844867 + .long 1031095170 + .long 511961360 + .long 1035757566 + .long 2644426 + .long 1030880787 + .long 4280120015 + .long 1035472316 + .long 3771064856 + .long 1030648317 + .long 1573160013 + .long 1035230612 + .long 3150549002 + .long 1030340953 + .long 367750239 + .long 1035025830 + .long 2468113812 + .long 1030080764 + .long 2027452822 + .long 1034760190 + .long 3247571780 + .long 1029860536 + .long 1968300091 + .long 1034466305 + .long 338123715 + .long 1029646679 + .long 1454863160 + .long 1034217405 + .long 2802189797 + .long 1029331244 + .long 567260686 + .long 1034006630 + .long 884858248 + .long 1029064354 + .long 4229980104 + .long 1033760387 + .long 2562855793 + .long 1028838564 + .long 30614746 + .long 1033458199 + .long 1344331785 + .long 1028642083 + .long 2106523192 + .long 1033202391 + .long 1476351022 + .long 1028318998 + .long 538704847 + .long 1032985873 + .long 789726858 + .long 1028045768 + .long 67344372 + .long 1032757904 + .long 38817182 + .long 1027814728 + .long 1596575633 + .long 1032447785 + .long 131040432 + .long 1027619387 + .long 4213872347 + .long 1032185393 + .long 2944168450 + .long 1027304018 + .long 3593256783 + .long 1031963411 + .long 38618666 + .long 1027024844 + .long 2460539498 + .long 1031752493 + .long 1972432303 + .long 1026788892 + .long 3667681220 + .long 1031434860 + .long 1595814988 + .long 1026589496 + .long 2417051493 + .long 1031166243 + .long 3052212459 + .long 1026286121 + .long 3183595507 + .long 1030939105 + .long 3275485393 + .long 1026001429 + .long 2041939610 + .long 1030743923 + .long 2614927437 + .long 1025760932 + .long 571801759 + .long 1030419232 + .long 1586920675 + .long 1025557794 + .long 367925355 + .long 1030144780 + .long 1211347758 + .long 1025265137 + .long 1181761285 + .long 1029912822 + .long 2123985710 + .long 1024975385 + .long 955718971 + .long 1029716803 + .long 1991764463 + .long 1024730733 + .long 33560069 + .long 1029400718 + .long 2766099915 + .long 1024524186 + .long 4066494735 + .long 1029120853 + .long 2844029464 + .long 1024240910 + .long 163608264 + .long 1028884438 + .long 2225325311 + .long 1023946584 + .long 2372007245 + .long 1028684749 + .long 1897238919 + .long 1023698191 + .long 227068009 + .long 1028379151 + .long 2677487111 + .long 1023488588 + .long 1987805596 + .long 1028094327 + .long 4113166783 + .long 1023213303 + .long 3994070673 + .long 1027853839 + .long 2561043816 + .long 1022914914 + .long 3987049129 + .long 1027650811 + .long 1479042232 + .long 1022663215 + .long 734550339 + .long 1027354379 + .long 1459326848 + .long 1022450926 + .long 643236952 + .long 1027065076 + .long 1801264067 + .long 1022182197 + .long 880654138 + .long 1026820926 + .long 8547555 + .long 1021880279 + .long 1328795750 + .long 1026614907 + .long 947948281 + .long 1021625727 + .long 79912977 + .long 1026326267 + .long 564096622 + .long 1021411137 + .long 3835606021 + .long 1026032989 + .long 2496399847 + .long 1021147490 + .long 1850584198 + .long 1025785607 + .long 1889307521 + .long 1020842597 + .long 841981738 + .long 1025576963 + .long 478581110 + .long 1020585663 + .long 1231833403 + .long 1025294697 + .long 1036943228 + .long 1020369170 + .long 4261529471 + .long 1024997973 + .long 955211877 + .long 1020109103 + .long 1453373905 + .long 1024747807 + .long 3507293620 + .long 1019801806 + .long 1380070272 + .long 1024536918 + .long 2848526444 + .long 1019542973 + .long 3528672768 + .long 1024259571 + .long 1318010026 + .long 1019324987 + .long 286393117 + .long 1023959950 + .long 601957754 + .long 1019066976 + .long 2374157349 + .long 1023707463 + .long 3647692231 + .long 1018757861 + .long 1025615074 + .long 1023494723 + .long 2600447177 + .long 1018497624 + .long 2435816139 + .long 1023220812 + .long 3130361093 + .long 1018278562 + .long 3480145686 + .long 1022918856 + .long 3104472293 + .long 1018021071 + .long 836507968 + .long 1022664528 + .long 2166059604 + .long 1017710735 + .long 3435329435 + .long 1022450340 + .long 354251728 + .long 1017449597 + .long 1375913924 + .long 1022178362 + .long 3957119597 + .long 1017229883 + .long 2510530293 + .long 1021874650 + .long 1353439561 + .long 1016971374 + .long 1479384562 + .long 1021618968 + .long 1117210896 + .long 1016660419 + .long 2207338084 + .long 1021403746 + .long 3595246717 + .long 1016398887 + .long 1228469165 + .long 1021132185 + .long 1863134756 + .long 1016178951 + .long 3618343345 + .long 1020827305 + .long 1593456879 + .long 1015917890 + .long 1551664931 + .long 1020570766 + .long 818554246 + .long 1015606923 + .long 3379165224 + .long 1020354928 + .long 1042640705 + .long 1015345509 + .long 1826130738 + .long 1020082267 + .long 4064063037 + .long 1015125778 + .long 1621091539 + .long 1019776815 + .long 1682486703 + .long 1014860648 + .long 240150038 + .long 1019519920 + .long 3727864838 + .long 1014550275 + .long 143188723 + .long 1019303889 + .long 790799965 + .long 1014289489 + .long 2542415732 + .long 1019028616 + .long 588413497 + .long 1014070393 + .long 1689575436 + .long 1018723190 + .long 2792671236 + .long 1013799698 + .long 3056208300 + .long 1018466442 + .long 371323596 + .long 1013490524 + .long 2852159690 + .long 1018250641 + .long 3381178375 + .long 1013230870 + .long 1962846177 + .long 1017971262 + .long 1824492044 + .long 1013012833 + .long 1698970705 + .long 1017666460 + .long 3028927939 + .long 1012735112 + .long 4099940321 + .long 1017410362 + .long 1762396229 + .long 1012427732 + .long 4056511372 + .long 1017195213 + .long 14908137 + .long 1012169712 + .long 938952971 + .long 1016910256 + .long 2528275841 + .long 1011953151 + .long 3880280468 + .long 1016606672 + .long 3058306216 + .long 1011666982 + .long 2044019052 + .long 1016351724 + .long 2373660276 + .long 1011361982 + .long 3135727133 + .long 1016137645 + .long 225152199 + .long 1011106085 + .long 452119821 + .long 1015845670 + .long 1163258714 + .long 1010891411 + .long 4249348051 + .long 1015543892 + .long 2315171378 + .long 1010595420 + .long 2608843243 + .long 1015290585 + .long 2546526795 + .long 1010293372 + .long 344938492 + .long 1015077989 + .long 3142047356 + .long 1010040075 + .long 2906234993 + .long 1014777596 + .long 1586501027 + .long 1009827687 + .long 2790006338 + .long 1014478202 + .long 3012990026 + .long 1009520556 + .long 3258728209 + .long 1014227018 + .long 189552738 + .long 1009222016 + .long 3248905777 + .long 1014016307 + .long 2584211501 + .long 1008971782 + .long 4004901026 + .long 1013706147 + .long 1410689418 + .long 1008762065 + .long 68165466 + .long 1013409700 + .long 548910252 + .long 1008442539 + .long 3101481013 + .long 1013161109 + .long 3358267658 + .long 1008148040 + .long 2622791965 + .long 1012952676 + .long 253475263 + .long 1007901316 + .long 1034569821 + .long 1012631454 + .long 1442345681 + .long 1007694640 + .long 1797217383 + .long 1012338498 + .long 3320919141 + .long 1007361531 + .long 3671711579 + .long 1012092956 + .long 3647684057 + .long 1007071587 + .long 3754258988 + .long 1011887180 + .long 1315509194 + .long 1006828797 + .long 435316714 + .long 1011553663 + .long 3763444467 + .long 1006618072 + .long 1343743202 + .long 1011264725 + .long 431196773 + .long 1006277713 + .long 644693663 + .long 1011022670 + .long 658882017 + .long 1005992810 + .long 3036828008 + .long 1010812566 + .long 1013879423 + .long 1005754357 + .long 3254960231 + .long 1010472937 + .long 732312959 + .long 1005525227 + .long 364114922 + .long 1010188521 + .long 1914291876 + .long 1005191274 + .long 893250344 + .long 1009950370 + .long 302574489 + .long 1004911871 + .long 405626062 + .long 1009723279 + .long 1033995149 + .long 1004678135 + .long 2924566656 + .long 1009389455 + .long 998984549 + .long 1004429445 + .long 3214785467 + .long 1009110037 + .long 1256006080 + .long 1004102418 + .long 520918293 + .long 1008876187 + .long 4195881140 + .long 1003828942 + .long 1645230926 + .long 1008630881 + .long 4142236847 + .long 1003600277 + .long 4030010378 + .long 1008303406 + .long 1715780765 + .long 1003330976 + .long 2388560405 + .long 1008029437 + .long 2030345922 + .long 1003011356 + .long 1242623559 + .long 1007800259 + .long 3116364008 + .long 1002744205 + .long 2151502628 + .long 1007535609 + .long 52145394 + .long 1002520938 + .long 2039806163 + .long 1007214992 + .long 2071737364 + .long 1002230079 + .long 2297832268 + .long 1006946891 + .long 1375985655 + .long 1001918308 + .long 753214039 + .long 1006722732 + .long 363800178 + .long 1001657845 + .long 3101371093 + .long 1006437710 + .long 2715202506 + .long 1001440272 + .long 1391928156 + .long 1006124422 + .long 2334989461 + .long 1001127020 + .long 4174372081 + .long 1005862577 + .long 3422981822 + .long 1000823498 + .long 100350707 + .long 1005643757 + .long 686101477 + .long 1000570051 + .long 2126761942 + .long 1005337441 + .long 1665180946 + .long 1000358442 + .long 3315477314 + .long 1005031913 + .long 2844311213 + .long 1000022070 + .long 3705683901 + .long 1004776680 + .long 2635672858 + .long 999727156 + .long 2359685722 + .long 1004563489 + .long 3504007429 + .long 999481016 + .long 1015634823 + .long 1004235065 + .long 2858150846 + .long 999258291 + .long 2137762587 + .long 1003937689 + .long 3061487311 + .long 998915503 + .long 1488443063 + .long 1003689388 + .long 1589484739 + .long 998629512 + .long 1064828973 + .long 1003476945 + .long 512274466 + .long 998390936 + .long 488660656 + .long 1003130850 + .long 1785973029 + .long 998139524 + .long 3056590348 + .long 1002841975 + .long 792273441 + .long 997807594 + .long 608615156 + .long 1002600891 + .long 3141683054 + .long 997530796 + .long 3952431401 + .long 1002360773 + .long 3501562020 + .long 997300002 + .long 3637234427 + .long 1002025066 + .long 1463016393 + .long 997019404 + .long 1340710858 + .long 1001745000 + .long 268181451 + .long 996698615 + .long 15279650 + .long 1001511381 + .long 2850564408 + .long 996431238 + .long 2773876475 + .long 1001242979 + .long 3686799359 + .long 996208408 + .long 2359804966 + .long 1000917986 + .long 607517515 + .long 995898253 + .long 356567530 + .long 1000646991 + .long 3414733929 + .long 995588835 + .long 941685878 + .long 1000421049 + .long 3196577409 + .long 995331063 + .long 2352724485 + .long 1000123883 + .long 45721019 + .long 995116343 + .long 2732285461 + .long 999809878 + .long 2498269658 + .long 994776386 + .long 4080566165 + .long 999548173 + .long 1573418417 + .long 994478520 + .long 672937786 + .long 999330085 + .long 2432349626 + .long 994230492 + .long 3987502969 + .long 999003802 + .long 178865735 + .long 993997931 + .long 3507412356 + .long 998701008 + .long 1301680304 + .long 993654112 + .long 1354325422 + .long 998448771 + .long 2115298536 + .long 993367925 + .long 3282835643 + .long 998232997 + .long 1075025911 + .long 993129739 + .long 4196663680 + .long 997883048 + .long 3413566344 + .long 992861581 + .long 843520004 + .long 997591637 + .long 3453132818 + .long 992531727 + .long 2082923672 + .long 997349000 + .long 4115152178 + .long 992257298 + .long 3095722608 + .long 997098223 + .long 326280969 + .long 992029010 + .long 2669633427 + .long 996761924 + .long 2448422725 + .long 991725357 + .long 2159662237 + .long 996482016 + .long 2559948630 + .long 991409518 + .long 884616263 + .long 996249072 + .long 453104061 + .long 991146878 + .long 2132235194 + .long 995963271 + .long 1056032481 + .long 990928502 + .long 2326528573 + .long 995640722 + .long 3896143322 + .long 990589585 + .long 1939180791 + .long 995372390 + .long 2373804472 + .long 990287756 + .long 1389926077 + .long 995149189 + .long 2095232049 + .long 990036888 + .long 2515538542 + .long 994828478 + .long 2478108217 + .long 989801061 + .long 1556420888 + .long 994519723 + .long 3486874292 + .long 989454576 + .long 1142146280 + .long 994262992 + .long 1978383670 + .long 989166698 + .long 606390394 + .long 994049043 + .long 2983865158 + .long 988927542 + .long 2939512955 + .long 993694166 + .long 923076156 + .long 988650607 + .long 165760997 + .long 993399194 + .long 944718362 + .long 988320621 + .long 1552124838 + .long 993154043 + .long 3353375996 + .long 988046584 + .long 4257934158 + .long 992899176 + .long 1525400095 + .long 987819039 + .long 4075494167 + .long 992560639 + .long 1555495152 + .long 987501649 + .long 1900423578 + .long 992279386 + .long 3069103793 + .long 987187989 + .long 860670730 + .long 992045752 + .long 2678272534 + .long 986927638 + .long 329100681 + .long 991750501 + .long 1378707480 + .long 986711562 + .long 2155143368 + .long 991428183 + .long 3554901667 + .long 986354490 + .long 686294964 + .long 991160536 + .long 2145982135 + .long 986056931 + .long 1396697757 + .long 990938313 + .long 4035748397 + .long 985810064 + .long 2169037708 + .long 990603336 + .long 271321638 + .long 985549120 + .long 817743244 + .long 990297062 + .long 1201346615 + .long 985209408 + .long 2144482665 + .long 990042861 + .long 2698120951 + .long 984927673 + .long 599125070 + .long 989808069 + .long 3967608741 + .long 984694049 + .long 1564740896 + .long 989457979 + .long 489506655 + .long 984387826 + .long 2575179602 + .long 989167519 + .long 2370519897 + .long 984066651 + .long 3075238372 + .long 988926562 + .long 2065809110 + .long 983800420 + .long 3876677130 + .long 988646224 + .long 2698697501 + .long 983579760 + .long 3323391293 + .long 988314699 + .long 2714262449 + .long 983229499 + .long 1362487400 + .long 988039777 + .long 1035021400 + .long 982926443 + .long 1916156855 + .long 987811821 + .long 2094793757 + .long 982675353 + .long 2055393524 + .long 987487071 + .long 2393106092 + .long 982418977 + .long 998866449 + .long 987173741 + .long 3969867322 + .long 982074380 + .long 1922744909 + .long 986914034 + .long 2506432155 + .long 981788978 + .long 2998892024 + .long 986687584 + .long 347261991 + .long 981552631 + .long 1690677663 + .long 986330874 + .long 2413690975 + .long 981246725 + .long 1099880785 + .long 986035320 + .long 3693189010 + .long 980922677 + .long 1567780161 + .long 985790467 + .long 2571271079 + .long 980654425 + .long 3859186370 + .long 985513845 + .long 3730314294 + .long 980432388 + .long 4196265674 + .long 985177866 + .long 3547308744 + .long 980078695 + .long 1239353938 + .long 984899626 + .long 1123407033 + .long 979774566 + .long 2988355361 + .long 984669229 + .long 2051167882 + .long 979522925 + .long 1440942744 + .long 984344083 + .long 105986494 + .long 979259496 + .long 2110902156 + .long 984028250 + .long 1557216304 + .long 978915069 + .long 3765446217 + .long 983766821 + .long 2473903186 + .long 978630190 + .long 151059819 + .long 983536617 + .long 869034262 + .long 978394593 + .long 285177055 + .long 983178508 + .long 2512779077 + .long 978078143 + .long 2403208304 + .long 982882194 + .long 2873671049 + .long 977755990 + .long 374697932 + .long 982637043 + .long 3419990594 + .long 977489664 + .long 2224992001 + .long 982352777 + .long 3189216525 + .long 977266204 + .long 498231531 + .long 982017294 + .long 2944557452 + .long 976902300 + .long 3702526913 + .long 981739837 + .long 121067572 + .long 976601569 + .long 637342476 + .long 981510400 + .long 2622903681 + .long 976353073 + .long 2434778607 + .long 981174251 + .long 1794490751 + .long 976071276 + .long 2281091232 + .long 980860579 + .long 302674988 + .long 975732067 + .long 362974682 + .long 980601289 + .long 233845232 + .long 975451880 + .long 2527455271 + .long 980355396 + .long 3220861069 + .long 975220473 + .long 1190549452 + .long 980001172 + .long 2033736924 + .long 974883077 + .long 3031959884 + .long 979708467 + .long 4256553093 + .long 974567503 + .long 361352448 + .long 979466628 + .long 1936720772 + .long 974306967 + .long 2482147755 + .long 979163693 + .long 33973548 + .long 974056687 + .long 3888825776 + .long 978833632 + .long 694561999 + .long 973701648 + .long 4061123316 + .long 978561028 + .long 1957941390 + .long 973408636 + .long 1074848063 + .long 978335907 + .long 4046417038 + .long 973166844 + .long 924574978 + .long 977978632 + .long 3264649053 + .long 972856160 + .long 3926973315 + .long 977671688 + .long 3364773894 + .long 972526987 + .long 1003370320 + .long 977418302 + .long 2833336785 + .long 972255455 + .long 251086384 + .long 977145474 + .long 1498372551 + .long 972031498 + .long 2141831240 + .long 976800246 + .long 3202977140 + .long 971663653 + .long 990150277 + .long 976515360 + .long 3029951264 + .long 971359057 + .long 731089008 + .long 976280297 + .long 2368179288 + .long 971107921 + .long 732529087 + .long 975948479 + .long 2332764452 + .long 970820399 + .long 1362481471 + .long 975628530 + .long 2739241638 + .long 970479088 + .long 2897224622 + .long 975364633 + .long 2179305008 + .long 970197784 + .long 395324651 + .long 975118312 + .long 2153988357 + .long 969965965 + .long 591236627 + .long 974759381 + .long 3001603948 + .long 969617099 + .long 1987021701 + .long 974463440 + .long 2644855291 + .long 969302349 + .long 2244557973 + .long 974219465 + .long 916864639 + .long 969043063 + .long 165139525 + .long 973909608 + .long 276518869 + .long 968774762 + .long 3990080337 + .long 973578097 + .long 552598940 + .long 968422976 + .long 3279833141 + .long 973304899 + .long 1081454928 + .long 968133286 + .long 696051737 + .long 973079784 + .long 2434017124 + .long 967894760 + .long 3120641130 + .long 972710094 + .long 634480777 + .long 967561125 + .long 4226179833 + .long 972404509 + .long 517268684 + .long 967237822 + .long 1281067082 + .long 972152800 + .long 1761227011 + .long 966971717 + .long 2607481822 + .long 971861033 + .long 2624051824 + .long 966718364 + .long 2187645281 + .long 971519599 + .long 1855615375 + .long 966357944 + .long 294960735 + .long 971238464 + .long 3872708063 + .long 966061397 + .long 2757484849 + .long 971007006 + .long 501523777 + .long 965817435 + .long 1842856698 + .long 970651568 + .long 3482198253 + .long 965495016 + .long 616475432 + .long 970337913 + .long 3621476950 + .long 965164908 + .long 600490460 + .long 970079777 + .long 781292411 + .long 964893435 + .long 967686799 + .long 969801918 + .long 3077002492 + .long 964650496 + .long 3799086628 + .long 969452366 + .long 2176498416 + .long 964283432 + .long 1531848190 + .long 969164794 + .long 1526795031 + .long 963981677 + .long 738547815 + .long 968928240 + .long 2479877091 + .long 963733641 + .long 4083109352 + .long 968583129 + .long 2332708538 + .long 963418229 + .long 4263389877 + .long 968263116 + .long 1926908008 + .long 963083183 + .long 1435752048 + .long 967999974 + .long 505682123 + .long 962807884 + .long 3506442194 + .long 967731595 + .long 3255894848 + .long 962570641 + .long 650672913 + .long 967375875 + .long 1684060434 + .long 962199040 + .long 3986105406 + .long 967083477 + .long 1151499981 + .long 961893816 + .long 361088418 + .long 966843161 + .long 1553938820 + .long 961643143 + .long 4284810317 + .long 966504272 + .long 1111130284 + .long 961330402 + .long 3195258186 + .long 966179726 + .long 491595974 + .long 960992372 + .long 304210775 + .long 965913085 + .long 403770126 + .long 960714858 + .long 1188817635 + .long 965649591 + .long 499857809 + .long 960478492 + .long 4267083751 + .long 965289757 + .long 4124493950 + .long 960104540 + .long 2922153341 + .long 964994233 + .long 529233938 + .long 959797649 + .long 3581472874 + .long 964751554 + .long 3608946683 + .long 959545821 + .long 538155194 + .long 964414672 + .long 2488844302 + .long 959231368 + .long 1576989210 + .long 964087497 + .long 2644951025 + .long 958892361 + .long 1998681663 + .long 963818926 + .long 1574929094 + .long 958614283 + .long 2017643619 + .long 963555634 + .long 1180921534 + .long 958373958 + .long 2076837303 + .long 963193818 + .long 2754430238 + .long 957999886 + .long 1751525130 + .long 962896920 + .long 592412087 + .long 957693158 + .long 1468210885 + .long 962653322 + .long 3685746645 + .long 957441679 + .long 1578853619 + .long 962314192 + .long 3321692551 + .long 957121161 + .long 3633529452 + .long 961986340 + .long 2957015791 + .long 956783202 + .long 4215453794 + .long 961717444 + .long 3279621706 + .long 956506220 + .long 1025982394 + .long 961449668 + .long 2082874222 + .long 956257171 + .long 3993849966 + .long 961088034 + .long 3615044184 + .long 955885210 + .long 4276507964 + .long 960791540 + .long 3421859393 + .long 955580473 + .long 4027815507 + .long 960548482 + .long 2820597796 + .long 955330841 + .long 1072310897 + .long 960202893 + .long 3332804763 + .long 955000013 + .long 3417828075 + .long 959876328 + .long 2279675950 + .long 954665108 + .long 99678246 + .long 959608718 + .long 3806123428 + .long 954390863 + .long 466320272 + .long 959331850 + .long 3793285141 + .long 954128479 + .long 2240157201 + .long 958972561 + .long 4288855600 + .long 953760823 + .long 1436465249 + .long 958678242 + .long 4261984100 + .long 953459870 + .long 3374600055 + .long 958437173 + .long 858213069 + .long 953213549 + .long 71750759 + .long 958081027 + .long 1442919920 + .long 952868348 + .long 1430951825 + .long 957757690 + .long 2175566002 + .long 952538448 + .long 2718769201 + .long 957492951 + .long 1696930931 + .long 952268533 + .long 2583404221 + .long 957202547 + .long 963147336 + .long 951988438 + .long 3208314316 + .long 956847723 + .long 1854153588 + .long 951627204 + .long 4111780087 + .long 956557310 + .long 4007477170 + .long 951331760 + .long 3491113351 + .long 956319645 + .long 249557432 + .long 951090155 + .long 657089579 + .long 955949031 + .long 2438719310 + .long 950726768 + .long 1229996979 + .long 955630805 + .long 1325718181 + .long 950403737 + .long 1680288607 + .long 955370474 + .long 2642071856 + .long 950139667 + .long 1575881606 + .long 955062327 + .long 2791167757 + .long 949837791 + .long 3331377910 + .long 954714008 + .long 1590057940 + .long 949484984 + .long 2503747043 + .long 954429164 + .long 641645514 + .long 949196679 + .long 2680258862 + .long 954188352 + .long 1230815491 + .long 948960944 + .long 2150797635 + .long 953807515 + .long 1813703537 + .long 948576039 + .long 116181240 + .long 953496193 + .long 118816340 + .long 948261620 + .long 3302159546 + .long 953241727 + .long 3626447740 + .long 948004809 + .long 2446401520 + .long 952911938 + .long 683059647 + .long 947677454 + .long 860372539 + .long 952572051 + .long 3112022276 + .long 947334931 + .long 3912364621 + .long 952294339 + .long 380219932 + .long 947055270 + .long 187717024 + .long 952027909 + .long 1803476103 + .long 946789793 + .long 2186656987 + .long 951657244 + .long 3378513770 + .long 946417065 + .long 1643439369 + .long 951354497 + .long 3136370863 + .long 946112853 + .long 1416038410 + .long 951107253 + .long 3780631002 + .long 945864592 + .long 942707489 + .long 950752291 + .long 2782453257 + .long 945508482 + .long 3103472876 + .long 950422614 + .long 1450651629 + .long 945177928 + .long 727678422 + .long 950153477 + .long 3934725405 + .long 944908268 + .long 938280939 + .long 949857721 + .long 1254801265 + .long 944609650 + .long 1436668302 + .long 949499115 + .long 387274394 + .long 944250867 + .long 1037604191 + .long 949206468 + .long 1214354804 + .long 943958286 + .long 1288787065 + .long 948967677 + .long 1628681606 + .long 943719721 + .long 1364770879 + .long 948584430 + .long 2356480148 + .long 943332047 + .long 2232983874 + .long 948266570 + .long 2472607937 + .long 943014945 + .long 152561608 + .long 948007302 + .long 1041454594 + .long 942756481 + .long 656997263 + .long 947678997 + .long 1287289635 + .long 942421850 + .long 2873996919 + .long 947334132 + .long 1761222899 + .long 942078549 + .long 2512699313 + .long 947052940 + .long 1055948892 + .long 941798833 + .long 1028453750 + .long 946783258 + .long 2014422994 + .long 941520657 + .long 3627809013 + .long 946409506 + .long 886779056 + .long 941149401 + .long 643376798 + .long 946104873 + .long 856100138 + .long 940847018 + .long 2753388616 + .long 945856605 + .long 2373935397 + .long 940600761 + .long 1597124066 + .long 945493047 + .long 3754729340 + .long 940227803 + .long 1214339248 + .long 945163381 + .long 603698179 + .long 939901276 + .long 3277829535 + .long 944894811 + .long 3083515615 + .long 939635453 + .long 1309318461 + .long 944585109 + .long 1684164460 + .long 939314058 + .long 3059904757 + .long 944228746 + .long 780318106 + .long 938961845 + .long 3951658840 + .long 943938534 + .long 2130713283 + .long 938675217 + .long 3711490972 + .long 943686046 + .long 1239678668 + .long 938408462 + .long 306375632 + .long 943301250 + .long 1188400462 + .long 938028960 + .long 1385000617 + .long 942987997 + .long 1317429230 + .long 937720238 + .long 3767678044 + .long 942733017 + .long 50896662 + .long 937469126 + .long 2272398052 + .long 942381169 + .long 3916059781 + .long 937102851 + .long 3643870433 + .long 942043418 + .long 2850042265 + .long 936770697 + .long 2930373279 + .long 941768599 + .long 2740071541 + .long 936500624 + .long 1430872319 + .long 941468779 + .long 3098739608 + .long 936183744 + .long 3696620221 + .long 941105015 + .long 245751207 + .long 935826772 + .long 1830441434 + .long 940809139 + .long 2447204935 + .long 935536625 + .long 1113455497 + .long 940564348 + .long 148922838 + .long 935271856 + .long 4096713632 + .long 940172999 + .long 3364160105 + .long 934888631 + .long 2404060692 + .long 939854803 + .long 507991399 + .long 934577262 + .long 4242134422 + .long 939596116 + .long 762179248 + .long 934324305 + .long 2721220833 + .long 939247576 + .long 3091783637 + .long 933956439 + .long 1461709351 + .long 938905753 + .long 1612320917 + .long 933622661 + .long 2843883296 + .long 938627960 + .long 3824295598 + .long 933351598 + .long 4006585018 + .long 938328943 + .long 253449912 + .long 933030350 + .long 3081570155 + .long 937962143 + .long 841641910 + .long 932672943 + .long 1137164145 + .long 937664162 + .long 800676069 + .long 932382798 + .long 4162531434 + .long 937417290 + .long 4284248693 + .long 932110506 + .long 744142124 + .long 937024122 + .long 639046316 + .long 931728219 + .long 2861776732 + .long 936704836 + .long 1017369249 + .long 931417989 + .long 963853663 + .long 936445582 + .long 2991465257 + .long 931166265 + .long 2242471743 + .long 936091827 + .long 1898882364 + .long 930788591 + .long 2293861300 + .long 935750091 + .long 2128358063 + .long 930457250 + .long 2414900450 + .long 935472709 + .long 2990029837 + .long 930188495 + .long 2901502943 + .long 935165388 + .long 3559372231 + .long 929854151 + .long 1473889277 + .long 934800026 + .long 3544677756 + .long 929500651 + .long 458214092 + .long 934503576 + .long 2231747804 + .long 929214028 + .long 1621410906 + .long 934244923 + .long 2134344301 + .long 928924980 + .long 1572349864 + .long 933854731 + .long 2642626673 + .long 928548253 + .long 3830252202 + .long 933538250 + .long 1867753313 + .long 928242909 + .long 1969348719 + .long 933281588 + .long 2048625891 + .long 927995452 + .long 2776095957 + .long 932914286 + .long 3838849642 + .long 927600105 + .long 2402286919 + .long 932576794 + .long 1082046734 + .long 927275175 + .long 1773083206 + .long 932303192 + .long 1951612505 + .long 927011941 + .long 4130759933 + .long 931978760 + .long 1902244241 + .long 926656247 + .long 2294247149 + .long 931619258 + .long 2669148896 + .long 926310853 + .long 3364971459 + .long 931327919 + .long 2495468743 + .long 926031144 + .long 3366616656 + .long 931048210 + .long 3953386573 + .long 925716704 + .long 853467255 + .long 930665684 + .long 1465110303 + .long 925349962 + .long 2635189017 + .long 930355800 + .long 1097045723 + .long 925053073 + .long 2663561857 + .long 930104795 + .long 4279710019 + .long 924781491 + .long 306325375 + .long 929716102 + .long 2898746026 + .long 924392508 + .long 462239248 + .long 929386856 + .long 1453870000 + .long 924077730 + .long 2335736332 + .long 929120265 + .long 1094779956 + .long 923823032 + .long 4273299936 + .long 928770530 + .long 2966779664 + .long 923438488 + .long 4257971173 + .long 928421097 + .long 2721135583 + .long 923105109 + .long 3654170623 + .long 928138265 + .long 3550202435 + .long 922835459 + .long 1468742316 + .long 927828977 + .long 2671277970 + .long 922487886 + .long 3805210274 + .long 927458527 + .long 1661441041 + .long 922135195 + .long 200313425 + .long 927158795 + .long 2561048143 + .long 921850029 + .long 1037270842 + .long 926891434 + .long 1109347057 + .long 921540674 + .long 3014375310 + .long 926499136 + .long 3491915138 + .long 921167961 + .long 4207699703 + .long 926181842 + .long 1565300435 + .long 920866718 + .long 1795473554 + .long 925925244 + .long 1599796951 + .long 920596810 + .long 247541330 + .long 925542904 + .long 2793919848 + .long 920203372 + .long 1663534098 + .long 925207390 + .long 2167496111 + .long 919885494 + .long 3380219859 + .long 924936156 + .long 403597040 + .long 919628696 + .long 3132419559 + .long 924589797 + .long 3224822771 + .long 919241380 + .long 2009056199 + .long 924235408 + .long 2781895274 + .long 918906317 + .long 3317442327 + .long 923949020 + .long 1919086626 + .long 918635735 + .long 580268943 + .long 923639773 + .long 3037357760 + .long 918281927 + .long 2068700529 + .long 923265858 + .long 1708673082 + .long 917929138 + .long 4002488688 + .long 922963802 + .long 2602723734 + .long 917644345 + .long 3700422303 + .long 922692772 + .long 2260876562 + .long 917324943 + .long 1665675474 + .long 922298691 + .long 363728810 + .long 916953898 + .long 2392093762 + .long 921980461 + .long 2201759136 + .long 916654477 + .long 508019297 + .long 921723515 + .long 1499023603 + .long 916370346 + .long 2223020069 + .long 921333847 + .long 2382319208 + .long 915980528 + .long 1825915631 + .long 920998946 + .long 2290153133 + .long 915666074 + .long 2048929424 + .long 920728638 + .long 476225666 + .long 915412445 + .long 1253266701 + .long 920371256 + .long 21210885 + .long 915008952 + .long 2523680296 + .long 920019198 + .long 1458757316 + .long 914679072 + .long 1624958481 + .long 919735147 + .long 1989703136 + .long 914413098 + .long 4229282326 + .long 919410835 + .long 3707851909 + .long 914039080 + .long 836620892 + .long 919041150 + .long 3550570132 + .long 913693398 + .long 2533851209 + .long 918742985 + .long 4015579078 + .long 913414785 + .long 2313741668 + .long 918452493 + .long 3080474344 + .long 913070817 + .long 1561508439 + .long 918064724 + .long 296470695 + .long 912708974 + .long 2930342000 + .long 917752089 + .long 78880241 + .long 912417442 + .long 1862776494 + .long 917496124 + .long 1265086851 + .long 912104055 + .long 380196106 + .long 917089835 + .long 1375131373 + .long 911725710 + .long 4166464334 + .long 916762388 + .long 24006884 + .long 911420995 + .long 1319866357 + .long 916498518 + .long 2141132017 + .long 911138676 + .long 860897312 + .long 916116387 + .long 236239120 + .long 910743512 + .long 2115236967 + .long 915773805 + .long 146180043 + .long 910425367 + .long 1031177610 + .long 915497839 + .long 1072471748 + .long 910169261 + .long 1607367253 + .long 915144276 + .long 248260994 + .long 909762276 + .long 140609911 + .long 914786254 + .long 723993920 + .long 909430474 + .long 2010525364 + .long 914497955 + .long 1899461511 + .long 909163472 + .long 810131127 + .long 914173389 + .long 2392480779 + .long 908781891 + .long 771203852 + .long 913799642 + .long 2237999824 + .long 908436226 + .long 3254656095 + .long 913498791 + .long 4011600661 + .long 908158170 + .long 1028077654 + .long 913203603 + .long 1752606261 + .long 907802240 + .long 1853773866 + .long 912813870 + .long 1753490671 + .long 907442528 + .long 1217580654 + .long 912500267 + .long 1207174311 + .long 907153279 + .long 1322256542 + .long 912234787 + .long 1393128133 + .long 906823197 + .long 1486309651 + .long 911828832 + .long 2354574882 + .long 906449278 + .long 3252850416 + .long 911502295 + .long 2811759085 + .long 906148715 + .long 3405910431 + .long 911239672 + .long 678503536 + .long 905844630 + .long 3144505165 + .long 910844414 + .long 1270776285 + .long 905456370 + .long 2555338081 + .long 910504785 + .long 165591832 + .long 905144394 + .long 4205480305 + .long 910231732 + .long 983006844 + .long 904866400 + .long 3824032109 + .long 909860497 + .long 3940506193 + .long 904463691 + .long 503322708 + .long 909507640 + .long 1962709093 + .long 904140224 + .long 734003390 + .long 909224056 + .long 1509987043 + .long 903880437 + .long 3854186452 + .long 908876955 + .long 3880255947 + .long 903471126 + .long 3386727429 + .long 908510757 + .long 1001271645 + .long 903136113 + .long 2325916149 + .long 908216560 + .long 2188608617 + .long 902867151 + .long 4022528213 + .long 907893656 + .long 1370993790 + .long 902478554 + .long 2110527453 + .long 907514032 + .long 1191381672 + .long 902131963 + .long 3034498014 + .long 907209160 + .long 2921830999 + .long 901853808 + .long 2893217811 + .long 906910463 + .long 827890390 + .long 901485849 + .long 3590640771 + .long 906517353 + .long 1737372310 + .long 901127674 + .long 4203107811 + .long 906201767 + .long 2522875588 + .long 900840328 + .long 2905189334 + .long 905927233 + .long 4027525350 + .long 900492882 + .long 2169713377 + .long 905520607 + .long 2914175678 + .long 900123143 + .long 2794153011 + .long 905194290 + .long 3725010753 + .long 899826628 + .long 4032438844 + .long 904932453 + .long 3480445566 + .long 899499523 + .long 2717221125 + .long 904523675 + .long 3367003424 + .long 899118265 + .long 1306272356 + .long 904186634 + .long 1591078925 + .long 898812625 + .long 2318261527 + .long 903916291 + .long 1710420698 + .long 898505637 + .long 918588433 + .long 903526437 + .long 1812172828 + .long 898112933 + .long 619908269 + .long 903178702 + .long 2070012647 + .long 897798232 + .long 1065400748 + .long 902899884 + .long 596032115 + .long 897511087 + .long 2350401875 + .long 902528768 + .long 3130964735 + .long 897107037 + .long 1534942987 + .long 902170395 + .long 1974153161 + .long 896783363 + .long 718768260 + .long 901883153 + .long 3713195306 + .long 896515734 + .long 3023748922 + .long 901530543 + .long 3077591219 + .long 896100468 + .long 2108376912 + .long 901161613 + .long 3384321279 + .long 895767930 + .long 879913337 + .long 900866018 + .long 2948257547 + .long 895501672 + .long 105379254 + .long 900531635 + .long 3130809274 + .long 895093115 + .long 3668874543 + .long 900152254 + .long 2344863288 + .long 894751846 + .long 1693301842 + .long 899848398 + .long 2182882772 + .long 894478697 + .long 2740967568 + .long 899531913 + .long 3938611313 + .long 894084867 + .long 4024351473 + .long 899142216 + .long 3379356120 + .long 893735022 + .long 996958903 + .long 898830212 + .long 669107615 + .long 893455112 + .long 18747765 + .long 898531250 + .long 3114017415 + .long 893075614 + .long 3622556470 + .long 898131396 + .long 3982846185 + .long 892717371 + .long 114342809 + .long 897811378 + .long 1203147974 + .long 892430847 + .long 2024547485 + .long 897529514 + .long 1664423927 + .long 892065246 + .long 3179166681 + .long 897119691 + .long 620119924 + .long 891698807 + .long 1098933661 + .long 896791814 + .long 1037181518 + .long 891405834 + .long 3650337561 + .long 896526577 + .long 1861485363 + .long 891053654 + .long 1351962913 + .long 896106999 + .long 3334511898 + .long 890679242 + .long 4012272108 + .long 895771439 + .long 1841073258 + .long 890380005 + .long 4290189130 + .long 895503107 + .long 832803244 + .long 890040732 + .long 1039012571 + .long 895093218 + .long 3121683048 + .long 889658594 + .long 4225764782 + .long 894750174 + .long 2488892912 + .long 889353294 + .long 885105428 + .long 894475959 + .long 1336133999 + .long 889026375 + .long 2813468574 + .long 894078248 + .long 3726214539 + .long 888636780 + .long 2621065376 + .long 893727940 + .long 430989427 + .long 888325637 + .long 1773135169 + .long 893448020 + .long 1046970926 + .long 888010482 + .long 2661848816 + .long 893061992 + .long 1885377562 + .long 887613721 + .long 2908805291 + .long 892704659 + .long 1642436451 + .long 887296970 + .long 3870467369 + .long 892419230 + .long 3294540197 + .long 886992954 + .long 2602382296 + .long 892044354 + .long 1907781618 + .long 886589339 + .long 349974906 + .long 891680257 + .long 483887407 + .long 886267234 + .long 2854722307 + .long 891389531 + .long 1986869678 + .long 885973698 + .long 4105069697 + .long 891025241 + .long 150728244 + .long 885563561 + .long 523840461 + .long 890654660 + .long 2480039526 + .long 885236370 + .long 3008576795 + .long 890358865 + .long 839832309 + .long 884952623 + .long 1479629527 + .long 890004565 + .long 3809198552 + .long 884536315 + .long 3707004960 + .long 889627798 + .long 4107209089 + .long 884204324 + .long 1267598110 + .long 889327178 + .long 2471205168 + .long 883929643 + .long 987437808 + .long 888982239 + .long 2400700966 + .long 883507537 + .long 2097404888 + .long 888599606 + .long 2595485221 + .long 883171045 + .long 1298276960 + .long 888294417 + .long 3000160935 + .long 882902835 + .long 1239379557 + .long 887958182 + .long 3604023387 + .long 882477163 + .long 2757426509 + .long 887570019 + .long 1377004128 + .long 882136484 + .long 1763229218 + .long 887260533 + .long 127369589 + .long 881865036 + .long 3585762101 + .long 886932317 + .long 297189727 + .long 881445137 + .long 3251206785 + .long 886538978 + .long 2582026865 + .long 881100596 + .long 1714989854 + .long 886225480 + .long 2055212824 + .long 880826172 + .long 945723168 + .long 885904574 + .long 1928384307 + .long 880411404 + .long 1570329900 + .long 885506428 + .long 3754723139 + .long 880063341 + .long 1635594783 + .long 885189215 + .long 3962092285 + .long 879786213 + .long 898235925 + .long 884874885 + .long 1361189791 + .long 879375918 + .long 1683463706 + .long 884472317 + .long 3076152421 + .long 879024683 + .long 114338768 + .long 884151699 + .long 2512644944 + .long 878745132 + .long 1418463077 + .long 883843190 + .long 1739233247 + .long 878338636 + .long 1815793119 + .long 883436599 + .long 202626192 + .long 877984590 + .long 3336394150 + .long 883112895 + .long 793265286 + .long 877702904 + .long 852684626 + .long 882809435 + .long 282832335 + .long 877299522 + .long 4104311394 + .long 882399232 + .long 1303099501 + .long 876943033 + .long 130961368 + .long 882072774 + .long 285035606 + .long 876659508 + .long 3466761053 + .long 881773571 + .long 2024735521 + .long 876258544 + .long 2671330446 + .long 881360181 + .long 2520190109 + .long 875899990 + .long 1357069892 + .long 881031306 + .long 1344649773 + .long 875614927 + .long 3378850570 + .long 880735558 + .long 3348977997 + .long 875215678 + .long 1648607189 + .long 880319414 + .long 3389577553 + .long 874855443 + .long 1887598195 + .long 879988469 + .long 3599747395 + .long 874569148 + .long 2702554388 + .long 879695361 + .long 1161968437 + .long 874170906 + .long 3016158287 + .long 879276905 + .long 2969076618 + .long 873809379 + .long 2625627624 + .long 878944244 + .long 1960680808 + .long 873522163 + .long 3763639732 + .long 878652952 + .long 1921572883 + .long 873124214 + .long 2904970596 + .long 878232635 + .long 148986151 + .long 872761790 + .long 2354697410 + .long 877898617 + .long 4016176068 + .long 872473965 + .long 1154000274 + .long 877608312 + .long 456067935 + .long 872075597 + .long 654017044 + .long 877186590 + .long 2436306443 + .long 871712671 + .long 2369273604 + .long 876851578 + .long 91759236 + .long 871424555 + .long 3682705119 + .long 876561426 + .long 1585156713 + .long 871025054 + .long 3438136693 + .long 876138760 + .long 261662904 + .long 870662026 + .long 2408027594 + .long 875803122 + .long 1934119935 + .long 870373933 + .long 321143002 + .long 875512291 + .long 2937546672 + .long 869972592 + .long 694423726 + .long 875089145 + .long 1297626718 + .long 869609860 + .long 773075831 + .long 874753249 + .long 3992295289 + .long 869322107 + .long 3283908802 + .long 874460906 + .long 3389615853 + .long 868918224 + .long 2834900087 + .long 874037746 + .long 234696339 + .long 868556186 + .long 2929232615 + .long 873701962 + .long 440150105 + .long 868269089 + .long 740700262 + .long 873407283 + .long 2766585564 + .long 867861969 + .long 2511105834 + .long 872984574 + .long 4275241764 + .long 867501019 + .long 4223466008 + .long 872649271 + .long 2106781845 + .long 867214891 + .long 3843152446 + .long 872351436 + .long 1398418337 + .long 866803852 + .long 165147740 + .long 871929644 + .long 2678369791 + .long 866444383 + .long 2559904730 + .long 871595190 + .long 1777148068 + .long 866159533 + .long 3384688121 + .long 871293391 + .long 3828798167 + .long 865743903 + .long 3674571553 + .long 870872975 + .long 617771941 + .long 865386303 + .long 2377300315 + .long 870539736 + .long 3829621740 + .long 865103036 + .long 3600102154 + .long 870233178 + .long 911851132 + .long 864682161 + .long 2093778843 + .long 869814596 + .long 1392255857 + .long 864326809 + .long 1341440966 + .long 869482932 + .long 2249603641 + .long 864045427 + .long 4260146688 + .long 869170835 + .long 3316540851 + .long 863618666 + .long 3690038078 + .long 868754537 + .long 1418090363 + .long 863265937 + .long 2705418254 + .long 868424804 + .long 1512344703 + .long 862986734 + .long 4081096746 + .long 868106407 + .long 1891152572 + .long 862553468 + .long 839851668 + .long 867692837 + .long 2303510298 + .long 862203726 + .long 1802132724 + .long 867365384 + .long 1765088112 + .long 861924507 + .long 3981191118 + .long 867039945 + .long 924131489 + .long 861486619 + .long 3525247586 + .long 866629536 + .long 1356760074 + .long 861140220 + .long 2508333320 + .long 866304706 + .long 235574536 + .long 860851562 + .long 1601875163 + .long 865971507 + .long 4050409408 + .long 860418176 + .long 3997567393 + .long 865564683 + .long 3484080662 + .long 860075465 + .long 3556048906 + .long 865242809 + .long 1623048082 + .long 859776661 + .long 2872564014 + .long 864901155 + .long 56840237 + .long 859348204 + .long 1465109028 + .long 864498330 + .long 2945346767 + .long 859009513 + .long 1942080634 + .long 864179736 + .long 2468098205 + .long 858699887 + .long 3384167790 + .long 863828959 + .long 136008282 + .long 858276767 + .long 913361106 + .long 863430532 + .long 3694658190 + .long 857942417 + .long 557251702 + .long 863115532 + .long 3715381588 + .long 857621327 + .long 4006642264 + .long 862754993 + .long 2044598830 + .long 857203936 + .long 3246446273 + .long 862361349 + .long 1004740285 + .long 856874235 + .long 2862650512 + .long 862050245 + .long 196068828 + .long 856541074 + .long 632546294 + .long 861679337 + .long 1436144984 + .long 856129786 + .long 3938973508 + .long 861290846 + .long 1693192757 + .long 855805025 + .long 3210346292 + .long 860983928 + .long 95827491 + .long 855459222 + .long 3893364562 + .long 860602072 + .long 3134628955 + .long 855054393 + .long 208124267 + .long 860219091 + .long 1355117862 + .long 854734850 + .long 2881260942 + .long 859916635 + .long 1408161160 + .long 854375871 + .long 2961979317 + .long 859523288 + .long 2295571942 + .long 853977838 + .long 2421232363 + .long 859146152 + .long 215616526 + .long 853663774 + .long 308796710 + .long 858848423 + .long 2697053821 + .long 853291124 + .long 2303467270 + .long 858443075 + .long 4185677695 + .long 852900202 + .long 2504752175 + .long 858072104 + .long 1776805445 + .long 852591862 + .long 2741285894 + .long 857779349 + .long 938961097 + .long 852205087 + .long 2538666871 + .long 857361527 + .long 988319124 + .long 851821571 + .long 2444576424 + .long 856997022 + .long 2858553493 + .long 851519182 + .long 3517255771 + .long 856709475 + .long 2228647691 + .long 851117866 + .long 2743576279 + .long 856278741 + .long 135793350 + .long 850742029 + .long 4104316312 + .long 855920983 + .long 811959825 + .long 850445803 + .long 2271553348 + .long 855638863 + .long 2413779693 + .long 850029571 + .long 2723457525 + .long 855194816 + .long 1100651320 + .long 849661663 + .long 3322095530 + .long 854844067 + .long 734798841 + .long 849371793 + .long 3017918219 + .long 854545711 + .long 2097124636 + .long 848940312 + .long 980334191 + .long 854109853 + .long 2261780674 + .long 848580561 + .long 1181561639 + .long 853766354 + .long 2445978453 + .long 848296460 + .long 2057325382 + .long 853450489 + .long 185770139 + .long 847850200 + .long 1272264123 + .long 853023953 + .long 3496489030 + .long 847498811 + .long 2402976033 + .long 852687924 + .long 3232760491 + .long 847194912 + .long 1890793868 + .long 852354173 + .long 360613980 + .long 846759345 + .long 2007774413 + .long 851937219 + .long 214203082 + .long 846416502 + .long 864756452 + .long 851608860 + .long 1364724653 + .long 846092522 + .long 860957622 + .long 851256893 + .long 414291266 + .long 845667858 + .long 2847990878 + .long 850849754 + .long 3201619234 + .long 845333719 + .long 3805110726 + .long 850529242 + .long 3555119440 + .long 844989427 + .long 1541097182 + .long 850158778 + .long 3124505016 + .long 844575848 + .long 2758952695 + .long 849761661 + .long 2684463413 + .long 844250551 + .long 224090120 + .long 849449154 + .long 1745386371 + .long 843885766 + .long 4028181344 + .long 849059957 + .long 1429614975 + .long 843483425 + .long 2410713953 + .long 848673042 + .long 1168818287 + .long 843167083 + .long 2344194355 + .long 848368674 + .long 794354606 + .long 842781673 + .long 3605521232 + .long 847960559 + .long 2341643823 + .long 842390694 + .long 2344315756 + .long 847583998 + .long 3401084561 + .long 842083398 + .long 1224289029 + .long 847287884 + .long 3330282586 + .long 841677280 + .long 1378225408 + .long 846860710 + .long 3707089808 + .long 841297760 + .long 1211854479 + .long 846494629 + .long 2108755824 + .long 840999580 + .long 4038488407 + .long 846206861 + .long 3316809186 + .long 840572718 + .long 2123889623 + .long 845760533 + .long 1133718508 + .long 840204726 + .long 2689010255 + .long 845405032 + .long 2478367461 + .long 839915708 + .long 1111837414 + .long 845099113 + .long 1227903031 + .long 839468113 + .long 3664630730 + .long 844660150 + .long 3616237593 + .long 839111689 + .long 1003806379 + .long 844315304 + .long 3249247658 + .long 838802921 + .long 1123636763 + .long 843985175 + .long 2185972587 + .long 838363586 + .long 3540249900 + .long 843559680 + .long 2032962651 + .long 838018747 + .long 923779793 + .long 843225537 + .long 730269461 + .long 837684001 + .long 983672123 + .long 842871224 + .long 1365617809 + .long 837259256 + .long 1516456703 + .long 842459238 + .long 2188224421 + .long 836925991 + .long 3488716654 + .long 842135821 + .long 120553846 + .long 836565424 + .long 3382187658 + .long 841757401 + .long 3913800456 + .long 836155235 + .long 2230636855 + .long 841358934 + .long 2145937820 + .long 835833510 + .long 444254590 + .long 841046245 + .long 3402668831 + .long 835447328 + .long 1690639513 + .long 840643844 + .long 2081774108 + .long 835051633 + .long 801531688 + .long 840258876 + .long 4052052130 + .long 834741388 + .long 3150764977 + .long 839956890 + .long 1613760867 + .long 834329847 + .long 3959122148 + .long 839530682 + .long 4061428013 + .long 833948551 + .long 2947383294 + .long 839159165 + .long 318655930 + .long 833649707 + .long 2891884168 + .long 838867838 + .long 3502547121 + .long 833213104 + .long 1269855280 + .long 838418042 + .long 2858908965 + .long 832846088 + .long 2306789972 + .long 838059900 + .long 1485947219 + .long 832547737 + .long 48418559 + .long 837746106 + .long 4267704584 + .long 832097218 + .long 709346115 + .long 837306041 + .long 1170323759 + .long 831744335 + .long 863996347 + .long 836961173 + .long 3554411059 + .long 831415153 + .long 2075961517 + .long 836618235 + .long 1751615758 + .long 830982300 + .long 2702082660 + .long 836194791 + .long 2064609387 + .long 830643377 + .long 3760267143 + .long 835863070 + .long 2055240204 + .long 830283876 + .long 1418377927 + .long 835491401 + .long 4253098103 + .long 829868451 + .long 15560029 + .long 835084399 + .long 4126445773 + .long 829543294 + .long 1376155655 + .long 834765675 + .long 2293109881 + .long 829154028 + .long 1764652244 + .long 834365730 + .long 4186016447 + .long 828755768 + .long 2730502458 + .long 833974961 + .long 1056212727 + .long 828444161 + .long 3107915425 + .long 833669062 + .long 1934334454 + .long 828025723 + .long 2915946803 + .long 833241340 + .long 3478416137 + .long 827644338 + .long 3274402229 + .long 832866570 + .long 2902766972 + .long 827346043 + .long 2576595905 + .long 832573303 + .long 3589392091 + .long 826899064 + .long 180553026 + .long 832118341 + .long 511842304 + .long 826534241 + .long 1773576515 + .long 831759310 + .long 3229039543 + .long 826220118 + .long 1935866244 + .long 831436157 + .long 1865282909 + .long 825774146 + .long 1182653760 + .long 830996831 + .long 3018126552 + .long 825425547 + .long 1524283352 + .long 830653257 + .long 2323726111 + .long 825076878 + .long 903608870 + .long 830297006 + .long 712254123 + .long 824651052 + .long 4242845498 + .long 829876901 + .long 2500810509 + .long 824318322 + .long 346389043 + .long 829548481 + .long 1109842967 + .long 823936000 + .long 4071371983 + .long 829159915 + .long 924031092 + .long 823529856 + .long 2746070947 + .long 828758634 + .long 366224487 + .long 823212622 + .long 3582017357 + .long 828445043 + .long 1231954930 + .long 822797569 + .long 2807095542 + .long 828024981 + .long 728784484 + .long 822410623 + .long 2601954354 + .long 827642101 + .long 4149697289 + .long 822108494 + .long 2896279704 + .long 827343000 + .long 277151004 + .long 821661659 + .long 4121397427 + .long 826892286 + .long 867490327 + .long 821293408 + .long 1246721467 + .long 826527366 + .long 536956371 + .long 820976957 + .long 655633611 + .long 826206911 + .long 1503723945 + .long 820528331 + .long 1359900305 + .long 825761904 + .long 1260566155 + .long 820178257 + .long 1188978931 + .long 825414483 + .long 4148303001 + .long 819823805 + .long 539708740 + .long 825057251 + .long 2307140311 + .long 819397636 + .long 951311339 + .long 824633895 + .long 2132824082 + .long 819065207 + .long 2251799196 + .long 824303498 + .long 2787827571 + .long 818674006 + .long 3167076139 + .long 823910625 + .long 58851220 + .long 818269614 + .long 2115111452 + .long 823508310 + .long 991457379 + .long 817954287 + .long 2562242551 + .long 823194449 + .long 3579145066 + .long 817527599 + .long 1139984116 + .long 822767090 + .long 2413403022 + .long 817144292 + .long 2525663185 + .long 822385190 + .long 2621248554 + .long 816845516 + .long 3979198014 + .long 822087365 + .long 755545836 + .long 816384613 + .long 989585387 + .long 821626687 + .long 3409211865 + .long 816021690 + .long 4144777341 + .long 821264565 + .long 2557893386 + .long 815685687 + .long 940380939 + .long 820929530 + .long 3901404360 + .long 815245061 + .long 3766921911 + .long 820489446 + .long 2652376700 + .long 814901817 + .long 2024373495 + .long 820146457 + .long 3285814652 + .long 814525378 + .long 1924045832 + .long 819771914 + .long 1920314479 + .long 814108949 + .long 2987056941 + .long 819355387 + .long 3139054508 + .long 813784672 + .long 3305214824 + .long 819030876 + .long 2385568177 + .long 813369397 + .long 1502168259 + .long 818618314 + .long 143924105 + .long 812976268 + .long 4197792081 + .long 818224516 + .long 581569214 + .long 812670247 + .long 3378617232 + .long 817917826 + .long 1151391185 + .long 812217725 + .long 485583533 + .long 817468730 + .long 1707899729 + .long 811846999 + .long 1725070256 + .long 817096831 + .long 1452274607 + .long 811519223 + .long 1594036941 + .long 816773900 + .long 2282916147 + .long 811070330 + .long 277204945 + .long 816323149 + .long 1890561646 + .long 810721115 + .long 2766320140 + .long 815972317 + .long 437791929 + .long 810349707 + .long 3046204582 + .long 815606451 + .long 739082902 + .long 809927170 + .long 1947106854 + .long 815181546 + .long 3980972482 + .long 809598578 + .long 24947004 + .long 814850953 + .long 3738106502 + .long 809185481 + .long 3524656335 + .long 814443986 + .long 411865076 + .long 808788190 + .long 1095905485 + .long 814043886 + .long 819687931 + .long 808479344 + .long 238279161 + .long 813732706 + .long 4029546666 + .long 808026470 + .long 1802636791 + .long 813286451 + .long 758126421 + .long 807653326 + .long 4249353638 + .long 812910121 + .long 2895836426 + .long 807323195 + .long 2407472750 + .long 812588674 + .long 3029849279 + .long 806872585 + .long 3171925083 + .long 812133778 + .long 608585653 + .long 806522505 + .long 2333900715 + .long 811780197 + .long 3826816246 + .long 806146174 + .long 2069969403 + .long 811412975 + .long 3392948174 + .long 805723726 + .long 2437056090 + .long 810985890 + .long 1949937480 + .long 805395645 + .long 4287993941 + .long 810654047 + .long 2292179758 + .long 804975396 + .long 1948684791 + .long 810243231 + .long 550886149 + .long 804579785 + .long 1257554665 + .long 809842698 + .long 772831159 + .long 804272658 + .long 1937092784 + .long 809531600 + .long 3513304624 + .long 803810715 + .long 3487145785 + .long 809079322 + .long 245913756 + .long 803440643 + .long 3975897253 + .long 808704103 + .long 2944606216 + .long 803097679 + .long 2804791881 + .long 808373453 + .long 74207582 + .long 802651978 + .long 4012763259 + .long 807921118 + .long 1598779694 + .long 802306175 + .long 495439485 + .long 807570001 + .long 2189561977 + .long 801915186 + .long 1528704064 + .long 807191449 + .long 3312259003 + .long 801499019 + .long 2149584710 + .long 806768479 + .long 1525683029 + .long 801176250 + .long 609230206 + .long 806440276 + .long 2793603417 + .long 800739832 + .long 4019262160 + .long 806016331 + .long 1518583227 + .long 800351670 + .long 3100969046 + .long 805621255 + .long 2313625631 + .long 800037973 + .long 3794179134 + .long 805314808 + .long 2911566316 + .long 799571397 + .long 2821134737 + .long 804847907 + .long 3839097180 + .long 799209752 + .long 2302220943 + .long 804479291 + .long 2708488506 + .long 798844037 + .long 2176281811 + .long 804129155 + .long 1768996413 + .long 798409654 + .long 2544192612 + .long 803685974 + .long 2352631407 + .long 798073085 + .long 3255441301 + .long 803342424 + .long 398286421 + .long 797658338 + .long 886022604 + .long 802943065 + .long 1506214266 + .long 797254370 + .long 167267913 + .long 802530324 + .long 2633127876 + .long 796941482 + .long 807609405 + .long 802210488 + .long 2051214097 + .long 796480578 + .long 754330191 + .long 801764711 + .long 123739761 + .long 796105309 + .long 3733944852 + .long 801380741 + .long 750788556 + .long 795760327 + .long 1444272003 + .long 801054557 + .long 1852104137 + .long 795310458 + .long 4218013233 + .long 800593819 + .long 1283686496 + .long 794962231 + .long 3522276956 + .long 800237009 + .long 1420100526 + .long 794564820 + .long 735951774 + .long 799857948 + .long 1044466387 + .long 794147675 + .long 63408848 + .long 799430114 + .long 2300698199 + .long 793824896 + .long 3047245466 + .long 799098906 + .long 1484719466 + .long 793378302 + .long 2763884676 + .long 798670156 + .long 1272359061 + .long 792991925 + .long 4120848445 + .long 798273312 + .long 2232433113 + .long 792662671 + .long 724418023 + .long 797966083 + .long 3762249931 + .long 792200390 + .long 1216775348 + .long 797490828 + .long 1778952527 + .long 791842905 + .long 777773296 + .long 797123135 + .long 1551992822 + .long 791458105 + .long 2509583313 + .long 796759629 + .long 829343228 + .long 791030705 + .long 224316483 + .long 796319608 + .long 457692078 + .long 790700314 + .long 50154445 + .long 795979299 + .long 1342334993 + .long 790263585 + .long 4108504645 + .long 795563093 + .long 2860037630 + .long 789868867 + .long 3802284665 + .long 795156141 + .long 1806035261 + .long 789549977 + .long 4048716517 + .long 794841523 + .long 626254340 + .long 789078639 + .long 58587258 + .long 794376032 + .long 483470044 + .long 788714505 + .long 483138189 + .long 794000078 + .long 3682197369 + .long 788337300 + .long 1899819391 + .long 793647031 + .long 1225819768 + .long 787902801 + .long 2622171019 + .long 793198003 + .long 105996647 + .long 787567250 + .long 3262271376 + .long 792851068 + .long 2317293554 + .long 787135714 + .long 3011062300 + .long 792442638 + .long 1045821796 + .long 786735614 + .long 1147395537 + .long 792028574 + .long 1421767462 + .long 786421483 + .long 3130402011 + .long 791708770 + .long 3306914696 + .long 785944649 + .long 4262626465 + .long 791248719 + .long 3866662742 + .long 785576629 + .long 2391328063 + .long 790867316 + .long 390563220 + .long 785201830 + .long 3112376485 + .long 790519389 + .long 2675650458 + .long 784763550 + .long 2566209178 + .long 790064743 + .long 2715699342 + .long 784425410 + .long 1494066763 + .long 789713811 + .long 2390902331 + .long 783994275 + .long 3341938988 + .long 789308205 + .long 1040547994 + .long 783591875 + .long 821296353 + .long 788890189 + .long 2527052880 + .long 783276788 + .long 3879123133 + .long 788567648 + .long 2772189637 + .long 782798149 + .long 2238137291 + .long 788108464 + .long 4116703383 + .long 782429096 + .long 475952761 + .long 787724549 + .long 511166554 + .long 782051454 + .long 2925528577 + .long 787376283 + .long 972851174 + .long 781612802 + .long 3244505894 + .long 786919537 + .long 1008410844 + .long 781274705 + .long 1947627469 + .long 786567329 + .long 1091842438 + .long 780839168 + .long 3957620966 + .long 786159531 + .long 745656230 + .long 780437604 + .long 1833882231 + .long 785740815 + .long 3852556219 + .long 780115868 + .long 49165565 + .long 785418051 + .long 2575012639 + .long 779639156 + .long 3843714046 + .long 784955137 + .long 938459147 + .long 779271948 + .long 2888015842 + .long 784571706 + .long 154026947 + .long 778886281 + .long 445180428 + .long 784217652 + .long 3799538772 + .long 778450672 + .long 3839575033 + .long 783762373 + .long 2649712120 + .long 778115249 + .long 2906062233 + .long 783411640 + .long 3294218000 + .long 777670610 + .long 3856989232 + .long 782996685 + .long 2805816560 + .long 777272999 + .long 278566062 + .long 782580538 + .long 1195424083 + .long 776939077 + .long 1511969247 + .long 782260067 + .long 3029685852 + .long 776467978 + .long 1534554001 + .long 781788917 + .long 3188316278 + .long 776105448 + .long 521973231 + .long 781408955 + .long 3411139513 + .long 775706761 + .long 3011634592 + .long 781043795 + .long 2738165916 + .long 775277542 + .long 1560305501 + .long 780593518 + .long 2428714085 + .long 774947361 + .long 3684755528 + .long 780246976 + .long 175642284 + .long 774489131 + .long 3605074054 + .long 779820065 + .long 3114890562 + .long 774098497 + .long 922817596 + .long 779409695 + .long 1862141067 + .long 773747130 + .long 2032991598 + .long 779093982 + .long 1666857767 + .long 773285202 + .long 974048971 + .long 778610278 + .long 2131027737 + .long 772930076 + .long 3826268118 + .long 778236688 + .long 3521486771 + .long 772513672 + .long 1935432409 + .long 777855365 + .long 591906206 + .long 772094040 + .long 3185150466 + .long 777413505 + .long 2747417261 + .long 771771548 + .long 463840922 + .long 777073775 + .long 2305342373 + .long 771295546 + .long 3645312952 + .long 776630383 + .long 504189367 + .long 770914755 + .long 4058955796 + .long 776228864 + .long 1095975635 + .long 770541081 + .long 1644266730 + .long 775894288 + .long 4131246103 + .long 770091669 + .long 2448883131 + .long 775419975 + .long 289369798 + .long 769746504 + .long 3323992203 + .long 775055515 + .long 1529314279 + .long 769308086 + .long 2373263790 + .long 774653337 + .long 2905834238 + .long 768901018 + .long 1266508630 + .long 774223118 + .long 2981218421 + .long 768570769 + .long 148232960 + .long 773892661 + .long 692822624 + .long 768090933 + .long 3069595062 + .long 773428638 + .long 1404559281 + .long 767722624 + .long 706138572 + .long 773038843 + .long 4121489250 + .long 767322278 + .long 1885961403 + .long 772678579 + .long 3437749757 + .long 766888447 + .long 1750194683 + .long 772219015 + .long 1296596277 + .long 766555573 + .long 3381833718 + .long 771866233 + .long 509369713 + .long 766091330 + .long 1453081509 + .long 771438976 + .long 646794791 + .long 765699524 + .long 1333929320 + .long 771023356 + .long 2161330753 + .long 765337530 + .long 280576834 + .long 770704425 + .long 317465080 + .long 764876585 + .long 821535155 + .long 770216078 + .long 3675593064 + .long 764523121 + .long 2713200782 + .long 769840613 + .long 4074156341 + .long 764092318 + .long 3119145575 + .long 769450419 + .long 3517944508 + .long 763676786 + .long 4221128483 + .long 769008616 + .long 1692412527 + .long 763353200 + .long 1365297720 + .long 768669801 + .long 1640877371 + .long 762864938 + .long 409723529 + .long 768213787 + .long 2791347853 + .long 762490756 + .long 3763192736 + .long 767815400 + .long 2937360934 + .long 762093319 + .long 1019483888 + .long 767462354 + .long 1996487692 + .long 761653967 + .long 3579327077 + .long 766994152 + .long 1056685887 + .long 761317391 + .long 2868988995 + .long 766635311 + .long 4292408264 + .long 760852984 + .long 247164010 + .long 766211585 + .long 1344536138 + .long 760458077 + .long 324020919 + .long 765790168 + .long 1319283366 + .long 760093719 + .long 479259340 + .long 765467302 + .long 43018458 + .long 759630597 + .long 1152067405 + .long 764979461 + .long 2719868400 + .long 759276027 + .long 152165764 + .long 764600571 + .long 1699410009 + .long 758840176 + .long 1194981319 + .long 764208882 + .long 3040553604 + .long 758424664 + .long 3308417311 + .long 763764463 + .long 2512918915 + .long 758092877 + .long 1889053024 + .long 763424183 + .long 3024056662 + .long 757606186 + .long 81330783 + .long 762964014 + .long 1817857395 + .long 757233800 + .long 2732652633 + .long 762565175 + .long 3037897202 + .long 756825943 + .long 3352358880 + .long 762205061 + .long 744298310 + .long 756390085 + .long 3501791723 + .long 761737816 + .long 3520727427 + .long 756056714 + .long 2097270476 + .long 761380277 + .long 894512980 + .long 755580233 + .long 1583862346 + .long 760947262 + .long 1892928857 + .long 755190326 + .long 160050929 + .long 760528707 + .long 3472880150 + .long 754809703 + .long 2984483361 + .long 760199485 + .long 895492306 + .long 754353895 + .long 1051567626 + .long 759709741 + .long 2513884408 + .long 754005478 + .long 827945824 + .long 759335214 + .long 685878866 + .long 753552224 + .long 4167626827 + .long 758928642 + .long 2376492649 + .long 753145216 + .long 2782412302 + .long 758490736 + .long 3859448349 + .long 752790865 + .long 405863758 + .long 758155975 + .long 2298462119 + .long 752315646 + .long 2637942397 + .long 757679741 + .long 494144145 + .long 751952614 + .long 657577712 + .long 757288617 + .long 579294229 + .long 751521644 + .long 754227745 + .long 756907584 + .long 1044679064 + .long 751098080 + .long 2519096232 + .long 756450830 + .long 2171535627 + .long 750768838 + .long 2030044516 + .long 756101874 + .long 1970441713 + .long 750274891 + .long 3176302142 + .long 755647318 + .long 3056095668 + .long 749897782 + .long 153949862 + .long 755240108 + .long 3947684006 + .long 749487980 + .long 3368312490 + .long 754883512 + .long 1699980585 + .long 749048530 + .long 3648486550 + .long 754408554 + .long 1710621746 + .long 748713150 + .long 2300846945 + .long 754045912 + .long 1905488869 + .long 748231188 + .long 3208511752 + .long 753611975 + .long 871861721 + .long 747840651 + .long 844847238 + .long 753189311 + .long 4201565959 + .long 747450731 + .long 443380337 + .long 752855861 + .long 965042671 + .long 746996188 + .long 2993924185 + .long 752363480 + .long 146810850 + .long 746649501 + .long 2823109230 + .long 751987765 + .long 3460693896 + .long 746184107 + .long 1425516115 + .long 751573224 + .long 1144210929 + .long 745780896 + .long 1916322062 + .long 751135858 + .long 85418815 + .long 745409411 + .long 426441187 + .long 750802245 + .long 1062820214 + .long 744940688 + .long 719336583 + .long 750315190 + .long 2766644426 + .long 744583404 + .long 944585275 + .long 749927119 + .long 1814550842 + .long 744133237 + .long 510999425 + .long 749530591 + .long 3212065069 + .long 743718208 + .long 3758261302 + .long 749079393 + .long 2261041374 + .long 743363554 + .long 2602458640 + .long 748735440 + .long 949875475 + .long 742881683 + .long 2659939240 + .long 748263281 + .long 1173008025 + .long 742514601 + .long 3481651767 + .long 747863671 + .long 1520457856 + .long 742078188 + .long 44484639 + .long 747483624 + .long 3863688693 + .long 741652297 + .long 2801586137 + .long 747019578 + .long 589696158 + .long 741312728 + .long 1305514105 + .long 746666047 + .long 4059741029 + .long 740818848 + .long 865561467 + .long 746207375 + .long 594916178 + .long 740442849 + .long 1486199238 + .long 745797139 + .long 1157616309 + .long 740018600 + .long 1726213095 + .long 745431898 + .long 1945651075 + .long 739582895 + .long 3031007703 + .long 744956095 + .long 1628308872 + .long 739251306 + .long 2613858560 + .long 744593828 + .long 3604176904 + .long 738751888 + .long 631117324 + .long 744147118 + .long 245807999 + .long 738367928 + .long 205620170 + .long 743727259 + .long 2460624491 + .long 737954146 + .long 642912157 + .long 743375023 + .long 1925799500 + .long 737509759 + .long 836914299 + .long 742888654 + .long 597086264 + .long 737171769 + .long 2010905773 + .long 742518568 + .long 879541055 + .long 736680538 + .long 3378296873 + .long 742082189 + .long 2662862130 + .long 736289642 + .long 823504020 + .long 741653793 + .long 540940448 + .long 735884539 + .long 726943015 + .long 741312646 + .long 3197507015 + .long 735432677 + .long 2957819450 + .long 740816993 + .long 1670706837 + .long 735089212 + .long 2052360751 + .long 740440074 + .long 376229201 + .long 734604568 + .long 795760482 + .long 740012306 + .long 213120263 + .long 734207825 + .long 2379854758 + .long 739576532 + .long 2034955320 + .long 733809532 + .long 2388485681 + .long 739244459 + .long 589467117 + .long 733351471 + .long 4138985555 + .long 738740887 + .long 2423106648 + .long 733003505 + .long 2976622671 + .long 738358180 + .long 2827898816 + .long 732523788 + .long 1310565481 + .long 737937224 + .long 2939951968 + .long 732122337 + .long 2096034302 + .long 737495299 + .long 2087181592 + .long 731728927 + .long 264265783 + .long 737159566 + .long 100721585 + .long 731265996 + .long 1484125209 + .long 736660148 + .long 1883685758 + .long 730914545 + .long 371172191 + .long 736272750 + .long 195518274 + .long 730438052 + .long 2624975685 + .long 735856745 + .long 154914687 + .long 730033075 + .long 2422905208 + .long 735409950 + .long 1448585760 + .long 729642574 + .long 2708053162 + .long 735070724 + .long 2378513365 + .long 729176146 + .long 2254128358 + .long 734574626 + .long 2899674048 + .long 728822257 + .long 2561446732 + .long 734183676 + .long 2397233792 + .long 728347254 + .long 191710004 + .long 733770719 + .long 1619213051 + .long 727939965 + .long 3101535409 + .long 733320378 + .long 3292482576 + .long 727550374 + .long 92486460 + .long 732978670 + .long 989696226 + .long 727081856 + .long 3385588824 + .long 732484216 + .long 4075038288 + .long 726726597 + .long 3113730764 + .long 732090886 + .long 1093942633 + .long 726251338 + .long 1295406127 + .long 731679043 + .long 3552287998 + .long 725842971 + .long 3812423207 + .long 731226514 + .long 2428367384 + .long 725452283 + .long 3234208544 + .long 730883355 + .long 3930808478 + .long 724983098 + .long 2657035553 + .long 730388857 + .long 2658838132 + .long 724627552 + .long 2796752322 + .long 729994340 + .long 3532099444 + .long 724150291 + .long 1584171246 + .long 729581668 + .long 3922862459 + .long 723742092 + .long 86705445 + .long 729128329 + .long 1137953088 + .long 723348309 + .long 133430018 + .long 728784765 + .long 975579702 + .long 722879889 + .long 2702728333 + .long 728288532 + .long 4026775205 + .long 722525138 + .long 3591272062 + .long 727894032 + .long 3219552128 + .long 722044150 + .long 1220767910 + .long 727478596 + .long 2546815821 + .long 721637362 + .long 2448608543 + .long 727025830 + .long 31072853 + .long 721238514 + .long 21064035 + .long 726682911 + .long 1377610676 + .long 720772282 + .long 3493771865 + .long 726183270 + .long 3377218995 + .long 720419404 + .long 462209696 + .long 725789992 + .long 3382736359 + .long 719932996 + .long 454430402 + .long 725369881 + .long 3169639427 + .long 719528849 + .long 1437979180 + .long 724919068 + .long 2587875915 + .long 719123012 + .long 2434562345 + .long 724577836 + .long 214494628 + .long 718660373 + .long 443621567 + .long 724073146 + .long 4090070522 + .long 718310427 + .long 950372087 + .long 723682281 + .long 3059989388 + .long 717816956 + .long 385951123 + .long 723255628 + .long 400547140 + .long 717416657 + .long 3080094761 + .long 722808129 + .long 3408401832 + .long 717001970 + .long 3009892135 + .long 722469613 + .long 2298537916 + .long 716544294 + .long 1063193356 + .long 721958276 + .long 4095018013 + .long 716198314 + .long 3904362326 + .long 721570995 + .long 1778156135 + .long 715696200 + .long 411158697 + .long 721135992 + .long 3132572641 + .long 715300919 + .long 1726456944 + .long 720693139 + .long 3276858118 + .long 714875602 + .long 3378697254 + .long 720344972 + .long 704881224 + .long 714424216 + .long 138350113 + .long 719838821 + .long 1895205234 + .long 714083199 + .long 1863903792 + .long 719456263 + .long 1510710605 + .long 713570938 + .long 1077949523 + .long 719011175 + .long 99303130 + .long 713181803 + .long 2056100564 + .long 718574257 + .long 4021126732 + .long 712744167 + .long 1118513764 + .long 718213738 + .long 291699416 + .long 712300341 + .long 3785607727 + .long 717714979 + .long 1830773052 + .long 711947376 + .long 2930641980 + .long 717338240 + .long 1851259845 + .long 711441418 + .long 3978382282 + .long 716881423 + .long 893587005 + .long 711059500 + .long 212905963 + .long 716451677 + .long 633965387 + .long 710607967 + .long 86571253 + .long 716076962 + .long 538982087 + .long 710172903 + .long 3818172476 + .long 715586988 + .long 3229362893 + .long 709803285 + .long 3578730113 + .long 715217111 + .long 1565786773 + .long 709307922 + .long 357835653 + .long 714747025 + .long 2342262863 + .long 708934229 + .long 1602953484 + .long 714325621 + .long 1061019794 + .long 708467338 + .long 125555561 + .long 713934991 + .long 2395691858 + .long 708042163 + .long 1471912322 + .long 713455117 + .long 1795384696 + .long 707654274 + .long 2807421875 + .long 713093085 + .long 2549317390 + .long 707170761 + .long 305952814 + .long 712608302 + .long 744652791 + .long 706806231 + .long 2591170832 + .long 712196340 + .long 1026264492 + .long 706322651 + .long 4133449680 + .long 711788211 + .long 778298770 + .long 705908407 + .long 3489108212 + .long 711319663 + .long 2402614436 + .long 705500780 + .long 2039588480 + .long 710966392 + .long 3656515139 + .long 705030272 + .long 4114769399 + .long 710465609 + .long 3003061762 + .long 704675763 + .long 807808299 + .long 710064108 + .long 213908818 + .long 704174303 + .long 2829935519 + .long 709637045 + .long 1697740360 + .long 703771938 + .long 3785928621 + .long 709180951 + .long 3174363515 + .long 703343270 + .long 3532733867 + .long 708837185 + .long 1965028001 + .long 702886813 + .long 2107828708 + .long 708319330 + .long 856212485 + .long 702540281 + .long 15864085 + .long 707929217 + .long 120723934 + .long 702022712 + .long 836056555 + .long 707481941 + .long 4223967527 + .long 701633076 + .long 2609176779 + .long 707039325 + .long 2326132907 + .long 701182233 + .long 3321305714 + .long 706671804 + .long 1865434198 + .long 700740756 + .long 3369089835 + .long 706169866 + .long 15990328 + .long 700368285 + .long 1277205137 + .long 705791975 + .long 1214750633 + .long 699868312 + .long 2963031057 + .long 705323369 + .long 3469183956 + .long 699492153 + .long 3434245337 + .long 704895144 + .long 127249902 + .long 699018173 + .long 310124662 + .long 704502663 + .long 2311926610 + .long 698592485 + .long 3619582812 + .long 704017637 + .long 3549622389 + .long 698193050 + .long 2228436287 + .long 703652702 + .long 4152775116 + .long 697711547 + .long 4170570140 + .long 703161817 + .long 2050728834 + .long 697349506 + .long 876636512 + .long 702748780 + .long 798942400 + .long 696851602 + .long 440981460 + .long 702330325 + .long 1282729765 + .long 696442390 + .long 60752281 + .long 701863073 + .long 4043889105 + .long 696015169 + .long 508006982 + .long 701511725 + .long 2619446857 + .long 695552867 + .long 883131596 + .long 700997782 + .long 611518842 + .long 695205062 + .long 2950701346 + .long 700600608 + .long 1970492846 + .long 694683036 + .long 320140468 + .long 700155363 + .long 650778841 + .long 694290861 + .long 2081409967 + .long 699706606 + .long 2366450962 + .long 693835233 + .long 3326384857 + .long 699338552 + .long 2575544342 + .long 693392718 + .long 2683613570 + .long 698831761 + .long 4170447092 + .long 693012059 + .long 2147683702 + .long 698451008 + .long 2237312154 + .long 692512987 + .long 3819170707 + .long 697978349 + .long 3232652548 + .long 692138284 + .long 3886691232 + .long 697548671 + .long 3216998091 + .long 691653825 + .long 3570809325 + .long 697148904 + .long 3889170574 + .long 691231541 + .long 1903611303 + .long 696664252 + .long 4127953615 + .long 690817631 + .long 3057699859 + .long 696300354 + .long 1492344213 + .long 690341957 + .long 1197644985 + .long 695799852 + .long 2343547591 + .long 689985039 + .long 1043815695 + .long 695389697 + .long 3842632230 + .long 689471516 + .long 1998629170 + .long 694957808 + .long 544947300 + .long 689069767 + .long 327503577 + .long 694495742 + .long 4156980278 + .long 688622424 + .long 3261711197 + .long 694140717 + .long 3015131725 + .long 688170432 + .long 1420037596 + .long 693620424 + .long 1313215515 + .long 687797127 + .long 4054494950 + .long 693230099 + .long 2116343895 + .long 687288857 + .long 1647363164 + .long 692765892 + .long 4041899718 + .long 686907807 + .long 3204418079 + .long 692326703 + .long 1779051603 + .long 686427060 + .long 232425304 + .long 691934530 + .long 478914330 + .long 685998880 + .long 2125836381 + .long 691440601 + .long 1267287912 + .long 685587278 + .long 2020961131 + .long 691070282 + .long 2867790128 + .long 685106372 + .long 1330804549 + .long 690573761 + .long 51199600 + .long 684746058 + .long 2379303428 + .long 690157591 + .long 1025288193 + .long 684232128 + .long 4181073636 + .long 689728363 + .long 1695885927 + .long 683827741 + .long 692700766 + .long 689260895 + .long 2180285258 + .long 683378185 + .long 2445855244 + .long 688906824 + .long 1285014145 + .long 682924557 + .long 162034259 + .long 688381990 + .long 3507763603 + .long 682546798 + .long 361534587 + .long 687988836 + .long 2701969840 + .long 682038181 + .long 1327837794 + .long 687522864 + .long 3418354793 + .long 681657429 + .long 3735479151 + .long 687081787 + .long 98518950 + .long 681170466 + .long 2754986946 + .long 686685716 + .long 3736165028 + .long 680743871 + .long 1029853148 + .long 686191118 + .long 595081813 + .long 680323455 + .long 2534055270 + .long 685820840 + .long 2543053466 + .long 679845732 + .long 1639453041 + .long 685318633 + .long 3246977581 + .long 679488326 + .long 902178513 + .long 684903729 + .long 3684881820 + .long 678964687 + .long 4160211283 + .long 684466327 + .long 256169544 + .long 678564739 + .long 363881435 + .long 684001646 + .long 2897101255 + .long 678102585 + .long 2558960141 + .long 683636403 + .long 1675938906 + .long 677655248 + .long 1668173354 + .long 683116226 + .long 2975968737 + .long 677261462 + .long 1898874449 + .long 682727132 + .long 1190416588 + .long 676761366 + .long 1745533707 + .long 682249273 + .long 437394527 + .long 676387541 + .long 2979218981 + .long 681814030 + .long 610651923 + .long 675884757 + .long 3011708434 + .long 681402774 + .long 3677532781 + .long 675467148 + .long 3106973978 + .long 680916147 + .long 3144693185 + .long 675027252 + .long 3674810270 + .long 680552371 + .long 471449783 + .long 674560961 + .long 331134709 + .long 680035108 + .long 3452022098 + .long 674190867 + .long 1924912878 + .long 679628683 + .long 2869920106 + .long 673670471 + .long 3402568925 + .long 679172699 + .long 2481926454 + .long 673281804 + .long 1186621708 + .long 678718848 + .long 819476459 + .long 672797322 + .long 3179048269 + .long 678330889 + .long 244496272 + .long 672363875 + .long 3060753414 + .long 677824324 + .long 3448429854 + .long 671943315 + .long 620690573 + .long 677445968 + .long 1238814485 + .long 671460165 + .long 2708031844 + .long 676946715 + .long 3981056324 + .long 671099535 + .long 2980977021 + .long 676524723 + .long 1593585358 + .long 670572141 + .long 3103383052 + .long 676087781 + .long 4091677692 + .long 670170452 + .long 392286821 + .long 675617352 + .long 1361936558 + .long 669701411 + .long 4043711132 + .long 675249455 + .long 2236587142 + .long 669254207 + .long 586653381 + .long 674725285 + .long 3371880661 + .long 668849737 + .long 2461860532 + .long 674334113 + .long 1280132466 + .long 668352104 + .long 1593212803 + .long 673850093 + .long 3972457104 + .long 667980981 + .long 2241101875 + .long 673414554 + .long 858805406 + .long 667465572 + .long 2310545706 + .long 672993498 + .long 4048344282 + .long 667052901 + .long 1109719010 + .long 672508797 + .long 1407545896 + .long 666596175 + .long 2281315360 + .long 672147301 + .long 3516076405 + .long 666137529 + .long 3105374797 + .long 671618237 + .long 3337113565 + .long 665745624 + .long 1328215640 + .long 671216232 + .long 3376207450 + .long 665236130 + .long 263512481 + .long 670744404 + .long 2958414465 + .long 664856487 + .long 4008512978 + .long 670297567 + .long 3402426005 + .long 664350087 + .long 796487805 + .long 669888968 + .long 3068189069 + .long 663928663 + .long 3085651004 + .long 669392544 + .long 2491998497 + .long 663480911 + .long 532191192 + .long 669022623 + .long 3212565569 + .long 663013336 + .long 534453609 + .long 668502514 + .long 2348454437 + .long 662630251 + .long 195201593 + .long 668091842 + .long 733992225 + .long 662111725 + .long 2698352704 + .long 667628952 + .long 3063448299 + .long 661725681 + .long 3732247102 + .long 667173263 + .long 135887993 + .long 661225158 + .long 1533817337 + .long 666773472 + .long 3989262108 + .long 660797360 + .long 2136836184 + .long 666268079 + .long 1106726960 + .long 660355084 + .long 1143921256 + .long 665891796 + .long 4048585651 + .long 659881248 + .long 508379910 + .long 665377588 + .long 2365712837 + .long 659503082 + .long 3820778441 + .long 664960567 + .long 3139019265 + .long 658978510 + .long 972200576 + .long 664503206 + .long 19803223 + .long 658588300 + .long 2901642972 + .long 664041264 + .long 2160091160 + .long 658090414 + .long 1364578344 + .long 663646477 + .long 3266722688 + .long 657658737 + .long 2875504264 + .long 663135025 + .long 185922774 + .long 657218340 + .long 637007150 + .long 662754557 + .long 4246184246 + .long 656741023 + .long 4108553783 + .long 662243090 + .long 2787333285 + .long 656363787 + .long 1371661835 + .long 661822153 + .long 2899403036 + .long 655836264 + .long 3589359224 + .long 661366809 + .long 3647744414 + .long 655444193 + .long 767814869 + .long 660901326 + .long 1487583812 + .long 654945661 + .long 2479975765 + .long 660507649 + .long 1909944697 + .long 654512667 + .long 1765324902 + .long 659993157 + .long 2379812452 + .long 654070518 + .long 1721157484 + .long 659610754 + .long 2534966422 + .long 653592563 + .long 1021047458 + .long 659098822 + .long 3750937480 + .long 653212251 + .long 3242522816 + .long 658676467 + .long 3183187419 + .long 652684924 + .long 3237267682 + .long 658219596 + .long 951087427 + .long 652293334 + .long 3893745815 + .long 657753344 + .long 286739833 + .long 651790881 + .long 3294176976 + .long 657356865 + .long 165787574 + .long 651359156 + .long 2981565185 + .long 656842405 + .long 445027989 + .long 650911657 + .long 2513282771 + .long 656460353 + .long 2105461242 + .long 650435916 + .long 3673241161 + .long 655944755 + .long 3631835029 + .long 650048578 + .long 1877630597 + .long 655523510 + .long 202318521 + .long 649524591 + .long 2356659272 + .long 655061593 + .long 2777980999 + .long 649135812 + .long 710986650 + .long 654597361 + .long 239849913 + .long 648626235 + .long 1317123583 + .long 654194216 + .long 1047816385 + .long 648198342 + .long 1460613064 + .long 653682860 + .long 2558079865 + .long 647741989 + .long 938419336 + .long 653303438 + .long 102203654 + .long 647271277 + .long 3325778980 + .long 652781040 + .long 3014748797 + .long 646873087 + .long 1932659674 + .long 652363410 + .long 517080480 + .long 646355523 + .long 1155993311 + .long 651893019 + .long 2093894919 + .long 645971838 + .long 3613417731 + .long 651433557 + .long 3461187990 + .long 645452058 + .long 3076621781 + .long 651020002 + .long 1268124231 + .long 645030493 + .long 1491777798 + .long 650514767 + .long 2554439477 + .long 644561939 + .long 1245723213 + .long 650140207 + .long 1568783964 + .long 644098979 + .long 2599939653 + .long 649607996 + .long 2801553722 + .long 643686303 + .long 3808509544 + .long 649196422 + .long 975631682 + .long 643178132 + .long 4045918285 + .long 648714278 + .long 3264030468 + .long 642801732 + .long 4183388020 + .long 648262254 + .long 57053076 + .long 642268852 + .long 2915192275 + .long 647834728 + .long 367866110 + .long 641855997 + .long 2608628071 + .long 647338521 + .long 3699288913 + .long 641372107 + .long 3215309018 + .long 646970546 + .long 3032389986 + .long 640919487 + .long 675753213 + .long 646426104 + .long 2425910808 + .long 640488942 + .long 1369991801 + .long 646022921 + .long 1368672544 + .long 639992969 + .long 2702232506 + .long 645525951 + .long 2068165578 + .long 639620477 + .long 1429631588 + .long 645083900 + .long 4209191920 + .long 639077263 + .long 970683891 + .long 644639085 + .long 3669019934 + .long 638675350 + .long 1319129055 + .long 644154655 + .long 3702158756 + .long 638173254 + .long 709671280 + .long 643766603 + .long 3294818878 + .long 637733382 + .long 1555777194 + .long 643235991 + .long 890038266 + .long 637281890 + .long 3773593492 + .long 642843386 + .long 379566385 + .long 636800709 + .long 2295314137 + .long 642328773 + .long 2106475701 + .long 636404187 + .long 1623478074 + .long 641899056 + .long 3901921030 + .long 635878074 + .long 2825511140 + .long 641433930 + .long 3847253630 + .long 635489146 + .long 2128412771 + .long 640963822 + .long 4159964286 + .long 634966278 + .long 1927737134 + .long 640552459 + .long 831702021 + .long 634541345 + .long 622604063 + .long 640038415 + .long 4235310746 + .long 634066176 + .long 1714551103 + .long 639658394 + .long 3367634100 + .long 633602130 + .long 3648762153 + .long 639123616 + .long 609295367 + .long 633178685 + .long 601197161 + .long 638708384 + .long 3619254624 + .long 632672173 + .long 30980129 + .long 638220266 + .long 3719118504 + .long 632298055 + .long 1884792402 + .long 637766780 + .long 932823899 + .long 631752191 + .long 1347064805 + .long 637329260 + .long 2122752499 + .long 631344136 + .long 4169929077 + .long 636834239 + .long 817453044 + .long 630842949 + .long 1493940224 + .long 636451560 + .long 2307318184 + .long 630398096 + .long 807844906 + .long 635911465 + .long 1570900014 + .long 629945266 + .long 2843283305 + .long 635512624 + .long 542450302 + .long 629460534 + .long 137312586 + .long 634999207 + .long 2919905386 + .long 629060016 + .long 2175936404 + .long 634564368 + .long 2652894128 + .long 628532087 + .long 3296941024 + .long 634098267 + .long 1162043114 + .long 628142578 + .long 3948086690 + .long 633624413 + .long 3684171032 + .long 627613437 + .long 4043081285 + .long 633209503 + .long 212904138 + .long 627189528 + .long 2460054563 + .long 632693386 + .long 2323505250 + .long 626705310 + .long 3143514650 + .long 632312578 + .long 1383705124 + .long 626244187 + .long 3550661761 + .long 631771953 + .long 2835309571 + .long 625808478 + .long 1762229362 + .long 631357485 + .long 300368825 + .long 625307120 + .long 182991460 + .long 630860827 + .long 219124488 + .long 624923765 + .long 883843381 + .long 630409943 + .long 1903330314 + .long 624378926 + .long 4257695949 + .long 629960763 + .long 2213132757 + .long 623977382 + .long 43114094 + .long 629470505 + .long 2833486821 + .long 623460244 + .long 1512719472 + .long 629072571 + .long 2425659520 + .long 623024196 + .long 886657630 + .long 628539759 + .long 4168635816 + .long 622551752 + .long 2802394044 + .long 628147065 + .long 4120728047 + .long 622078466 + .long 2300145935 + .long 627618331 + .long 2969547295 + .long 621654171 + .long 459846366 + .long 627191866 + .long 1996068776 + .long 621140718 + .long 111647996 + .long 626706887 + .long 2791489356 + .long 620762628 + .long 3019321269 + .long 626243971 + .long 3574443216 + .long 620211507 + .long 4254822021 + .long 625806131 + .long 1284261146 + .long 619801630 + .long 80099130 + .long 625303897 + .long 1507762392 + .long 619291425 + .long 375220541 + .long 624916816 + .long 2014336713 + .long 618847304 + .long 118264426 + .long 624372188 + .long 1907220475 + .long 618381096 + .long 952559667 + .long 623971227 + .long 1095947488 + .long 617900106 + .long 2675175007 + .long 623449423 + .long 1320337924 + .long 617481183 + .long 3959264958 + .long 623014936 + .long 1487444754 + .long 616960517 + .long 799208302 + .long 622536217 + .long 1271616338 + .long 616577537 + .long 2099622886 + .long 622065631 + .long 980379171 + .long 616029047 + .long 851063685 + .long 621633218 + .long 2418239757 + .long 615614779 + .long 1609703076 + .long 621123783 + .long 1783187034 + .long 615106234 + .long 3832173538 + .long 620741113 + .long 3595466306 + .long 614658341 + .long 1380204662 + .long 620189892 + .long 3038445443 + .long 614192647 + .long 2031904041 + .long 619784523 + .long 1579539762 + .long 613708637 + .long 2449693671 + .long 619264486 + .long 2036251314 + .long 613288887 + .long 2604351751 + .long 618826188 + .long 800370696 + .long 612766102 + .long 429769239 + .long 618348124 + .long 2057756845 + .long 612381985 + .long 3190579240 + .long 617874453 + .long 158180275 + .long 611831196 + .long 3804717890 + .long 617441393 + .long 3442102415 + .long 611416610 + .long 2789758891 + .long 616929746 + .long 1374210545 + .long 610904403 + .long 788184657 + .long 616544917 + .long 848989131 + .long 610457151 + .long 1624541562 + .long 615992518 + .long 213155371 + .long 609986234 + .long 1788415192 + .long 615586730 + .long 2635350280 + .long 609503976 + .long 833481806 + .long 615063244 + .long 3518559574 + .long 609077224 + .long 1243584534 + .long 614625457 + .long 572663644 + .long 608557476 + .long 2214411969 + .long 614142424 + .long 3813719322 + .long 608176009 + .long 881561209 + .long 613670346 + .long 2879917208 + .long 607618058 + .long 3715520356 + .long 613230585 + .long 3436759349 + .long 607207237 + .long 4096502771 + .long 612721778 + .long 2845138726 + .long 606686153 + .long 3549957797 + .long 612328281 + .long 1051692765 + .long 606243935 + .long 3441132486 + .long 611780156 + .long 3286526517 + .long 605762211 + .long 19583667 + .long 611377951 + .long 2449375047 + .long 605286428 + .long 738389037 + .long 610845901 + .long 2355220820 + .long 604846705 + .long 2177026573 + .long 610412932 + .long 3713664449 + .long 604335059 + .long 1428388540 + .long 609919454 + .long 799931392 + .long 603940130 + .long 3006410928 + .long 609453597 + .long 1904016247 + .long 603390187 + .long 322034678 + .long 609001280 + .long 309333133 + .long 602987102 + .long 1396065014 + .long 608500282 + .long 1423165215 + .long 602452186 + .long 1701780091 + .long 608091864 + .long 3985906499 + .long 602019246 + .long 274416578 + .long 607553338 + .long 3177225808 + .long 601521448 + .long 372638832 + .long 607158610 + .long 845271440 + .long 601056671 + .long 58929354 + .long 606613133 + .long 2289767414 + .long 600598384 + .long 3932913258 + .long 606189147 + .long 256261533 + .long 600099671 + .long 667847074 + .long 605680052 + .long 2951073120 + .long 599683421 + .long 4292146681 + .long 605224863 + .long 2846978620 + .long 599148555 + .long 3496699735 + .long 604754497 + .long 1574367979 + .long 598756951 + .long 327312939 + .long 604266049 + .long 1834095719 + .long 598203647 + .long 466087045 + .long 603836890 + .long 2552242163 + .long 597783962 + .long 2675635100 + .long 603313006 + .long 1483525933 + .long 597265282 + .long 1671290922 + .long 602927667 + .long 4228703825 + .long 596815722 + .long 682872616 + .long 602366053 + .long 1155503071 + .long 596333810 + .long 1419971636 + .long 601954955 + .long 3828898584 + .long 595852484 + .long 2318435501 + .long 601425518 + .long 760976002 + .long 595409595 + .long 4275937144 + .long 600985135 + .long 3222713013 + .long 594894510 + .long 1021209289 + .long 600491746 + .long 1851521836 + .long 594493015 + .long 1918254118 + .long 600020223 + .long 1078053633 + .long 593942073 + .long 2612527422 + .long 599565093 + .long 19755515 + .long 593539240 + .long 1492962848 + .long 599060475 + .long 2134544862 + .long 592995455 + .long 599278206 + .long 598645932 + .long 1549833323 + .long 592564894 + .long 1886781683 + .long 598106159 + .long 641793351 + .long 592054951 + .long 3616580796 + .long 597711483 + .long 864347530 + .long 591594978 + .long 2990291188 + .long 597157553 + .long 2380354351 + .long 591120864 + .long 1439341440 + .long 596735692 + .long 2311496543 + .long 590629710 + .long 2011714458 + .long 596214946 + .long 3654465909 + .long 590193510 + .long 624820555 + .long 595764247 + .long 213042865 + .long 589669318 + .long 2604824518 + .long 595278636 + .long 264271579 + .long 589273216 + .long 1435922632 + .long 594797363 + .long 577499311 + .long 588714035 + .long 2444788344 + .long 594348933 + .long 2487909912 + .long 588305726 + .long 2133269325 + .long 593835263 + .long 4090976788 + .long 587764103 + .long 2195002997 + .long 593426157 + .long 233693111 + .long 587328861 + .long 3505244626 + .long 592878177 + .long 1920301957 + .long 586819774 + .long 2896692721 + .long 592478039 + .long 4066809917 + .long 586356046 + .long 446637372 + .long 591926344 + .long 1503200562 + .long 585881304 + .long 1730640733 + .long 591499792 + .long 1078677453 + .long 585387469 + .long 3530633090 + .long 590980007 + .long 716035750 + .long 584948959 + .long 926244727 + .long 590525521 + .long 1924623254 + .long 584423318 + .long 374847771 + .long 590039422 + .long 608240761 + .long 584023012 + .long 3423005991 + .long 589555407 + .long 2030287439 + .long 583463790 + .long 2825239630 + .long 589104847 + .long 431836806 + .long 583056000 + .long 962515630 + .long 588589639 + .long 2859818804 + .long 582509086 + .long 3859146362 + .long 588176552 + .long 4024231508 + .long 582075561 + .long 4017115732 + .long 587628407 + .long 3047877271 + .long 581559413 + .long 3705544194 + .long 587228686 + .long 2550276268 + .long 581098755 + .long 2932446548 + .long 586671911 + .long 2341460508 + .long 580614983 + .long 3281082683 + .long 586246948 + .long 3304923639 + .long 580125732 + .long 2014183061 + .long 585720353 + .long 1168065479 + .long 579676013 + .long 2288610694 + .long 585268775 + .long 3305174480 + .long 579156648 + .long 2001310844 + .long 584773941 + .long 121583998 + .long 578742725 + .long 737649969 + .long 584294316 + .long 1781436352 + .long 578191662 + .long 3936821168 + .long 583832888 + .long 3976184032 + .long 577790360 + .long 981478126 + .long 583323723 + .long 4017087834 + .long 577230935 + .long 72573960 + .long 582897414 + .long 3259223135 + .long 576805453 + .long 3035399169 + .long 582357152 + .long 3648970865 + .long 576274634 + .long 3819729350 + .long 581963709 + .long 771802890 + .long 575823735 + .long 4129123322 + .long 581394763 + .long 3556059631 + .long 575322927 + .long 4020270672 + .long 580977598 + .long 2280169647 + .long 574845325 + .long 2490916872 + .long 580436719 + .long 2319664875 + .long 574375986 + .long 958670739 + .long 579994618 + .long 934600306 + .long 573870347 + .long 1066296556 + .long 579483185 + .long 2087662521 + .long 573433985 + .long 4143709508 + .long 579014885 + .long 2500492911 + .long 572898924 + .long 2579170826 + .long 578534329 + .long 3481048318 + .long 572497101 + .long 1727659457 + .long 578038522 + .long 3292703187 + .long 571931183 + .long 228341597 + .long 577590324 + .long 2360434524 + .long 571519717 + .long 2926242466 + .long 577065649 + .long 2416273730 + .long 570967252 + .long 2672142667 + .long 576651342 + .long 2486934215 + .long 570532375 + .long 3077899362 + .long 576096391 + .long 1067800052 + .long 570007260 + .long 3700039262 + .long 575692892 + .long 3810195505 + .long 569547864 + .long 190178295 + .long 575130874 + .long 1781347356 + .long 569051337 + .long 4194586783 + .long 574704403 + .long 984203209 + .long 568566278 + .long 2842601716 + .long 574169223 + .long 3323101431 + .long 568099615 + .long 3989397331 + .long 573718694 + .long 360984093 + .long 567587709 + .long 3675235766 + .long 573211568 + .long 4118956171 + .long 567152227 + .long 3596431333 + .long 572735856 + .long 2177105575 + .long 566612251 + .long 66504881 + .long 572258039 + .long 1329597486 + .long 566209307 + .long 2286572252 + .long 571755981 + .long 4174181404 + .long 565639999 + .long 1870021391 + .long 571308764 + .long 3523776930 + .long 565226725 + .long 1761381480 + .long 570779161 + .long 883385332 + .long 564671049 + .long 440096907 + .long 570363876 + .long 2153309489 + .long 564235645 + .long 1194744831 + .long 569805489 + .long 48747204 + .long 563705494 + .long 3159879025 + .long 569400136 + .long 3056207012 + .long 563246999 + .long 824088161 + .long 568835058 + .long 354735153 + .long 562743429 + .long 486132132 + .long 568407988 + .long 1372969599 + .long 562260855 + .long 1206199769 + .long 567867961 + .long 3472794264 + .long 561784948 + .long 62317260 + .long 567418230 + .long 3896970086 + .long 561277278 + .long 2432704940 + .long 566904291 + .long 297680563 + .long 560830147 + .long 545064173 + .long 566430928 + .long 2669122822 + .long 560296336 + .long 3305416296 + .long 565944141 + .long 93609353 + .long 559879117 + .long 3671816202 + .long 565446147 + .long 84211558 + .long 559318094 + .long 471936019 + .long 564987604 + .long 1883339902 + .long 558911479 + .long 750788399 + .long 564463954 + .long 3905060432 + .long 558342615 + .long 406946795 + .long 564034770 + .long 3581902328 + .long 557915585 + .long 2073103377 + .long 563484411 + .long 775169617 + .long 557369966 + .long 645109219 + .long 563085521 + .long 2167217684 + .long 556921714 + .long 1873477207 + .long 562507583 + .long 2719911064 + .long 556400207 + .long 308387809 + .long 562088655 + .long 1820614609 + .long 555929909 + .long 3394184269 + .long 561533532 + .long 3428473075 + .long 555433401 + .long 3532718306 + .long 561093774 + .long 2590741393 + .long 554940213 + .long 973889310 + .long 560562321 + .long 3231423410 + .long 554469608 + .long 2543671221 + .long 560100923 + .long 4120215704 + .long 553952668 + .long 766657789 + .long 559594009 + .long 3990858925 + .long 553508886 + .long 2679937012 + .long 559110143 + .long 766795438 + .long 552967316 + .long 2782797469 + .long 558628655 + .long 3969266360 + .long 552551292 + .long 359465212 + .long 558121476 + .long 2479815231 + .long 551984194 + .long 87304349 + .long 557666318 + .long 2781744359 + .long 551573928 + .long 3979992471 + .long 557134960 + .long 4123582023 + .long 551003341 + .long 3747181506 + .long 556707051 + .long 772845509 + .long 550574052 + .long 3265670589 + .long 556150636 + .long 2033180992 + .long 550024794 + .long 1667394255 + .long 555748095 + .long 4266286986 + .long 549575817 + .long 3025000172 + .long 555168540 + .long 1969419127 + .long 549048586 + .long 213891632 + .long 554747325 + .long 2975412881 + .long 548579249 + .long 1062171605 + .long 554188708 + .long 1294437369 + .long 548074750 + .long 1719126263 + .long 553748167 + .long 1919580014 + .long 547584369 + .long 437409612 + .long 553211173 + .long 1204063109 + .long 547103316 + .long 2623875259 + .long 552750645 + .long 3780445420 + .long 546591197 + .long 243126139 + .long 552235967 + .long 1773855030 + .long 546134312 + .long 1889903212 + .long 551754781 + .long 4139190786 + .long 545599753 + .long 3552062158 + .long 551263119 + .long 1295362200 + .long 545167764 + .long 543771968 + .long 550760595 + .long 3890875202 + .long 544610054 + .long 3884281491 + .long 550292658 + .long 4199340706 + .long 544203694 + .long 1216766549 + .long 549768105 + .long 182497587 + .long 543622116 + .long 1734284709 + .long 549324609 + .long 1604026468 + .long 543202246 + .long 3387175892 + .long 548777328 + .long 3120756719 + .long 542635950 + .long 3915352533 + .long 548358993 + .long 2219036760 + .long 542198431 + .long 2916130914 + .long 547788280 + .long 941503010 + .long 541651570 + .long 713993593 + .long 547376252 + .long 483174177 + .long 541195882 + .long 173294799 + .long 546800974 + .long 2491361091 + .long 540668983 + .long 3729374292 + .long 546371618 + .long 3265379113 + .long 540194603 + .long 3868888102 + .long 545815419 + .long 2404211897 + .long 539688197 + .long 446329664 + .long 545368228 + .long 1669235247 + .long 539194600 + .long 528715918 + .long 544831627 + .long 2118079047 + .long 538709216 + .long 1487257719 + .long 544366085 + .long 776404937 + .long 538195874 + .long 1282835441 + .long 543849602 + .long 834675212 + .long 537732042 + .long 1826700102 + .long 543365194 + .long 2151255554 + .long 537198425 + .long 2760641777 + .long 542869349 + .long 3667888735 + .long 536756673 + .long 1950287534 + .long 542365557 + .long 3532358117 + .long 536202252 + .long 3827870169 + .long 541890870 + .long 4033210885 + .long 535783107 + .long 3249640654 + .long 541367174 + .long 2827149968 + .long 535207352 + .long 857718385 + .long 540914165 + .long 204673652 + .long 534792549 + .long 3424184087 + .long 540370044 + .long 2116005711 + .long 534213719 + .long 192442764 + .long 539939229 + .long 2262032220 + .long 533783269 + .long 480983744 + .long 539374164 + .long 3077007003 + .long 533221345 + .long 552463019 + .long 538966056 + .long 1155652716 + .long 532774877 + .long 1038832938 + .long 538379527 + .long 2422580409 + .long 532230221 + .long 2762107583 + .long 537957062 + .long 2540139562 + .long 531767364 + .long 2873022586 + .long 537386126 + .long 234144598 + .long 531240335 + .long 851978190 + .long 536947936 + .long 959857451 + .long 530760722 + .long 3241618469 + .long 536393952 + .long 4016137197 + .long 530251671 + .long 641746280 + .long 535939673 + .long 1158797355 + .long 529754939 + .long 2929694603 + .long 535402993 + .long 2700852188 + .long 529264215 + .long 1525333438 + .long 534932264 + .long 747188860 + .long 528750003 + .long 1717775474 + .long 534413235 + .long 799625790 + .long 528277947 + .long 327675497 + .long 533925699 + .long 2945196677 + .long 527745899 + .long 2455571493 + .long 533424661 + .long 1032430757 + .long 527292845 + .long 4038940168 + .long 532919964 + .long 3569975073 + .long 526742612 + .long 2267376501 + .long 532437253 + .long 4156544978 + .long 526308885 + .long 3906173863 + .long 531915047 + .long 3806519963 + .long 525740124 + .long 955088646 + .long 531450990 + .long 225653902 + .long 525326043 + .long 1077525843 + .long 530910932 + .long 1518490359 + .long 524738416 + .long 830220830 + .long 530465848 + .long 3557546761 + .long 524316143 + .long 2195489810 + .long 529907600 + .long 4049459981 + .long 523737465 + .long 2271012400 + .long 529481801 + .long 847753142 + .long 523301506 + .long 2119830787 + .long 528905033 + .long 2385816620 + .long 522737250 + .long 3945328623 + .long 528490562 + .long 2824483751 + .long 522287379 + .long 1025612371 + .long 527903210 + .long 1171317542 + .long 521737745 + .long 478993390 + .long 527475303 + .long 4050503433 + .long 521273745 + .long 42496558 + .long 526902108 + .long 1494777678 + .long 520738923 + .long 2722912501 + .long 526460544 + .long 2121175141 + .long 520260585 + .long 1205835362 + .long 525901702 + .long 876052091 + .long 519740756 + .long 2184851820 + .long 525446269 + .long 1956192963 + .long 519247877 + .long 3130299594 + .long 524901966 + .long 1860986579 + .long 518743213 + .long 2090340358 + .long 524432458 + .long 2925107436 + .long 518235599 + .long 996620061 + .long 523902873 + .long 3456093698 + .long 517746262 + .long 200001429 + .long 523419091 + .long 3166760506 + .long 517223728 + .long 3736940656 + .long 522904391 + .long 1173268029 + .long 516749870 + .long 1705107024 + .long 522406145 + .long 3923102657 + .long 516212239 + .long 3994824735 + .long 521906490 + .long 4274930769 + .long 515753999 + .long 2072185257 + .long 521393598 + .long 1002792163 + .long 515201107 + .long 3939630350 + .long 520909136 + .long 1500524434 + .long 514758614 + .long 4261525466 + .long 520381425 + .long 2029541891 + .long 514190303 + .long 2446420451 + .long 519912294 + .long 4123712883 + .long 513763673 + .long 1600400128 + .long 519369602 + .long 755952266 + .long 513179800 + .long 3771339643 + .long 518915926 + .long 3713384391 + .long 512761400 + .long 3620669216 + .long 518358100 + .long 2932279824 + .long 512169567 + .long 478146326 + .long 517919995 + .long 1868169824 + .long 511740025 + .long 1781762437 + .long 517346893 + .long 651046716 + .long 511159575 + .long 3630609920 + .long 516924458 + .long 2035527349 + .long 510718808 + .long 3928222930 + .long 516335950 + .long 2541743873 + .long 510149790 + .long 4290911501 + .long 515914333 + .long 4135746717 + .long 509697726 + .long 42975951 + .long 515325243 + .long 3851529334 + .long 509140180 + .long 1867370737 + .long 514892609 + .long 460958008 + .long 508676757 + .long 1030310754 + .long 514314738 + .long 3786069382 + .long 508130711 + .long 399587929 + .long 513871017 + .long 1564219554 + .long 507655874 + .long 204736770 + .long 513304404 + .long 1390956615 + .long 507121348 + .long 2470420727 + .long 512849533 + .long 2029916431 + .long 506635053 + .long 3514566047 + .long 512294206 + .long 38331373 + .long 506112054 + .long 3213378625 + .long 511828134 + .long 2089464452 + .long 505614268 + .long 3946080721 + .long 511284111 + .long 3338636486 + .long 505102791 + .long 3325865067 + .long 510806795 + .long 3477778940 + .long 504593492 + .long 3187356225 + .long 510274083 + .long 2477247698 + .long 504093523 + .long 618134939 + .long 509785491 + .long 1005142412 + .long 503572699 + .long 3242129194 + .long 509264085 + .long 2220305228 + .long 503084210 + .long 3047479426 + .long 508764194 + .long 4203966732 + .long 502551859 + .long 2353192715 + .long 508254080 + .long 3984995916 + .long 502074812 + .long 3107895392 + .long 507742879 + .long 3150820635 + .long 501530946 + .long 3824941553 + .long 507244029 + .long 1808431824 + .long 501065290 + .long 3769312013 + .long 506721518 + .long 3017450811 + .long 500509930 + .long 3384960724 + .long 506233894 + .long 4099541654 + .long 500055601 + .long 1476813861 + .long 505700084 + .long 2796381842 + .long 499488782 + .long 2328873266 + .long 505223635 + .long 3864022258 + .long 499045705 + .long 3518951934 + .long 504678547 + .long 4100038552 + .long 498467472 + .long 3498294158 + .long 504213211 + .long 480969019 + .long 498035560 + .long 2455372318 + .long 503656880 + .long 2788309766 + .long 497445971 + .long 2976257199 + .long 503202582 + .long 8045539 + .long 497025073 + .long 2092645433 + .long 502635053 + .long 2078780918 + .long 496424248 + .long 3269329508 + .long 502191706 + .long 1330371896 + .long 495995398 + .long 518579993 + .long 501613037 + .long 4189447995 + .long 495402272 + .long 731131457 + .long 501180542 + .long 1532914755 + .long 494965534 + .long 3208993496 + .long 500590801 + .long 1988199791 + .long 494380014 + .long 3061143611 + .long 500169046 + .long 1784882792 + .long 493935459 + .long 1781921891 + .long 499568317 + .long 713256479 + .long 493357442 + .long 4079290520 + .long 499139676 + .long 2979966951 + .long 492905151 + .long 3104706 + .long 498545554 + .long 1044472979 + .long 492334525 + .long 2230043321 + .long 498109246 + .long 1620778697 + .long 491874589 + .long 1142824481 + .long 497522481 + .long 3654404461 + .long 491311232 + .long 2822654721 + .long 497078586 + .long 2886404970 + .long 490843750 + .long 3928134283 + .long 496499068 + .long 878722914 + .long 490287534 + .long 4020169665 + .long 496047675 + .long 3637954583 + .long 489812613 + .long 2794870098 + .long 495475286 + .long 2749926565 + .long 489263398 + .long 4078516341 + .long 495016492 + .long 1196168526 + .long 488781157 + .long 1028719396 + .long 494451104 + .long 2904339737 + .long 488238795 + .long 1528930591 + .long 493985016 + .long 2120772317 + .long 487749359 + .long 2434918903 + .long 493426491 + .long 325777278 + .long 487213695 + .long 3952515897 + .long 492953224 + .long 926267295 + .long 486717199 + .long 3010706529 + .long 492401418 + .long 3910668301 + .long 486188066 + .long 2396755347 + .long 491921097 + .long 1748060866 + .long 485684655 + .long 4094631857 + .long 491375855 + .long 2673993172 + .long 485161881 + .long 1627764568 + .long 490888613 + .long 1354002939 + .long 484651707 + .long 4042302183 + .long 490349773 + .long 379491867 + .long 484135110 + .long 3138534517 + .long 489855751 + .long 2220243131 + .long 483618334 + .long 2787537171 + .long 489323143 + .long 2924194407 + .long 483107723 + .long 1042160455 + .long 488822492 + .long 4131233107 + .long 482584516 + .long 2108285128 + .long 488295936 + .long 1426139857 + .long 482079694 + .long 3734405326 + .long 487788814 + .long 73105916 + .long 481550235 + .long 1596513481 + .long 487268124 + .long 2554081150 + .long 481050994 + .long 4015626840 + .long 486754699 + .long 2189662638 + .long 480515469 + .long 3216181302 + .long 486239679 + .long 3019149655 + .long 480021597 + .long 750720322 + .long 485720128 + .long 3311112978 + .long 479480201 + .long 2973659746 + .long 485210575 + .long 2716951534 + .long 478991477 + .long 3347036114 + .long 484685080 + .long 2904018737 + .long 478444413 + .long 4059540593 + .long 484180785 + .long 684718244 + .long 477960609 + .long 1869838612 + .long 483649539 + .long 2952594857 + .long 477408087 + .long 4216397100 + .long 483150284 + .long 3937488379 + .long 476928967 + .long 1578993934 + .long 482613486 + .long 3835581749 + .long 476371206 + .long 281380308 + .long 482119048 + .long 1937898813 + .long 475896530 + .long 1627246380 + .long 481576904 + .long 198141223 + .long 475333755 + .long 1312935370 + .long 481087051 + .long 1188099164 + .long 474863274 + .long 3818881409 + .long 480539776 + .long 2588044054 + .long 474295716 + .long 3056228853 + .long 480054271 + .long 3978924537 + .long 473829177 + .long 4183596390 + .long 479502087 + .long 3251248939 + .long 473257076 + .long 1055944777 + .long 479020687 + .long 15076740 + .long 472794221 + .long 1724790849 + .long 478463822 + .long 2050484523 + .long 472217821 + .long 3761008495 + .long 477986276 + .long 980383090 + .long 471758384 + .long 2866927116 + .long 477424965 + .long 2312034373 + .long 471177937 + .long 2670851553 + .long 476951020 + .long 2078341320 + .long 470721649 + .long 126628446 + .long 476385504 + .long 2370062226 + .long 470137412 + .long 2601743095 + .long 475914899 + .long 3691292635 + .long 469683999 + .long 2316447731 + .long 475345424 + .long 4282869978 + .long 469096234 + .long 403375800 + .long 474877896 + .long 2963298634 + .long 468645419 + .long 316731867 + .long 474304715 + .long 1065963037 + .long 468054394 + .long 2319387273 + .long 473839993 + .long 2550786954 + .long 467605894 + .long 1559132177 + .long 473263364 + .long 2571071607 + .long 467011880 + .long 2681805997 + .long 472801176 + .long 2180690006 + .long 466565411 + .long 77362999 + .long 472221362 + .long 1226514280 + .long 465968685 + .long 1248268847 + .long 471761431 + .long 3080351071 + .long 465523958 + .long 2383906831 + .long 471178698 + .long 2192619100 + .long 464924800 + .long 3346908713 + .long 470720744 + .long 3803907036 + .long 464481525 + .long 1798125170 + .long 470135365 + .long 1967779515 + .long 463880219 + .long 2828425539 + .long 469679105 + .long 339639984 + .long 463438104 + .long 9693417 + .long 469091355 + .long 1344217659 + .long 462834936 + .long 3659471034 + .long 468636503 + .long 3382836177 + .long 462393685 + .long 2862616817 + .long 468046660 + .long 1173607322 + .long 461788946 + .long 2847535056 + .long 467592930 + .long 4054360268 + .long 461348264 + .long 3244462034 + .long 467001276 + .long 2417187328 + .long 460742245 + .long 3416455505 + .long 466548378 + .long 4028795565 + .long 460301836 + .long 2620177535 + .long 465955198 + .long 1890260299 + .long 459694831 + .long 1597669206 + .long 465502842 + .long 2697752267 + .long 459254398 + .long 2490825572 + .long 464908422 + .long 880811534 + .long 458646702 + .long 4071519587 + .long 464456316 + .long 1497721484 + .long 458205948 + .long 136798453 + .long 463860946 + .long 872346448 + .long 457597857 + .long 2243967809 + .long 463408799 + .long 3927526386 + .long 457156485 + .long 1530290817 + .long 462812767 + .long 3550754946 + .long 456548296 + .long 2342796501 + .long 462360288 + .long 2665376278 + .long 456106012 + .long 4172293587 + .long 461763885 + .long 2210277417 + .long 455498022 + .long 3959016397 + .long 461310783 + .long 1030157147 + .long 455054531 + .long 1393659562 + .long 460714302 + .long 3213291947 + .long 454447036 + .long 47864442 + .long 460260287 + .long 67528096 + .long 454002046 + .long 3825252527 + .long 459664017 + .long 194562736 + .long 453395343 + .long 2684357242 + .long 459208800 + .long 2800530107 + .long 452948562 + .long 727784562 + .long 458613035 + .long 4089253246 + .long 452342945 + .long 84168019 + .long 458156329 + .long 1285119858 + .long 451894088 + .long 2915315101 + .long 457561357 + .long 135810390 + .long 451289851 + .long 3803717572 + .long 457102877 + .long 2305406196 + .long 450838631 + .long 4063743821 + .long 456508989 + .long 3652572945 + .long 450236064 + .long 1436037479 + .long 456048454 + .long 1514529455 + .long 449782202 + .long 2138343601 + .long 455455937 + .long 4134903549 + .long 449181594 + .long 3781169290 + .long 454993066 + .long 510767191 + .long 448724812 + .long 3631083286 + .long 454402206 + .long 3831505964 + .long 448126449 + .long 1807758590 + .long 453936725 + .long 2424708211 + .long 447666473 + .long 2018001648 + .long 453347805 + .long 476337342 + .long 447070639 + .long 909869841 + .long 452879441 + .long 3197762137 + .long 446607200 + .long 3451306558 + .long 452292741 + .long 75758966 + .long 446014173 + .long 3610351944 + .long 451821226 + .long 27284118 + .long 445547009 + .long 902214610 + .long 451237025 + .long 3916679371 + .long 444957062 + .long 840691427 + .long 450762096 + .long 4093898977 + .long 444485914 + .long 4129008523 + .long 450180665 + .long 4155786694 + .long 443899320 + .long 1862563288 + .long 449702064 + .long 1736977177 + .long 443423936 + .long 916586263 + .long 449123675 + .long 875158845 + .long 442840960 + .long 4047312982 + .long 448641147 + .long 1517782031 + .long 442361092 + .long 4206679294 + .long 448066064 + .long 1949959088 + .long 441781994 + .long 1298138877 + .long 447579364 + .long 3962133185 + .long 441297402 + .long 435528617 + .long 447007848 + .long 1433687779 + .long 440722438 + .long 1050763615 + .long 446516732 + .long 1357404790 + .long 440232889 + .long 942889975 + .long 445949038 + .long 885960643 + .long 439662307 + .long 2608549237 + .long 445453271 + .long 3309558139 + .long 439167573 + .long 3179272586 + .long 444889649 + .long 628851502 + .long 438601617 + .long 1237193661 + .long 444389003 + .long 2161558164 + .long 438101479 + .long 3445787372 + .long 443829697 + .long 3881973273 + .long 437540384 + .long 839797879 + .long 443323949 + .long 2827945983 + .long 437034630 + .long 1037538179 + .long 442769198 + .long 3712043870 + .long 436478627 + .long 853251644 + .long 442258132 + .long 1082193446 + .long 435967052 + .long 2380984769 + .long 441708167 + .long 42109685 + .long 435416364 + .long 316321489 + .long 441191576 + .long 491915038 + .long 434898770 + .long 3690951728 + .long 440646622 + .long 3771298562 + .long 434353611 + .long 1930304500 + .long 440124305 + .long 3578205978 + .long 433829810 + .long 3687415761 + .long 439584581 + .long 2235853675 + .long 433290390 + .long 3228097313 + .long 439056345 + .long 2969701438 + .long 432760201 + .long 3422935503 + .long 438522062 + .long 1976128444 + .long 432226719 + .long 622251061 + .long 437987723 + .long 2616928872 + .long 431689970 + .long 1811205449 + .long 437459084 + .long 2781223343 + .long 431162618 + .long 2037824448 + .long 436918464 + .long 348284108 + .long 430619146 + .long 4037157941 + .long 436395665 + .long 1796084772 + .long 430098108 + .long 886183490 + .long 435848597 + .long 487918660 + .long 429547757 + .long 4194467779 + .long 435331826 + .long 1921835809 + .long 429033209 + .long 1574856126 + .long 434778149 + .long 701774251 + .long 428475833 + .long 2280565076 + .long 434267587 + .long 3035074915 + .long 427967942 + .long 2064959187 + .long 433707149 + .long 317212610 + .long 427403404 + .long 4010113327 + .long 433202967 + .long 1796515696 + .long 426902329 + .long 2196472361 + .long 432635626 + .long 52271192 + .long 426330500 + .long 3447516028 + .long 432137988 + .long 49531636 + .long 425836391 + .long 3422415476 + .long 431563609 + .long 1745271979 + .long 425257151 + .long 4293586673 + .long 431072670 + .long 334325754 + .long 424770149 + .long 4247684854 + .long 430491128 + .long 3790596534 + .long 424183388 + .long 2517525345 + .long 430007035 + .long 1403173910 + .long 423703625 + .long 4258229852 + .long 429418213 + .long 871327476 + .long 423109243 + .long 3349192873 + .long 428941103 + .long 2327211671 + .long 422636841 + .long 3856434806 + .long 428344894 + .long 874406098 + .long 422034745 + .long 3912743233 + .long 427874896 + .long 2310384696 + .long 421569819 + .long 3998425883 + .long 427271201 + .long 3154458831 + .long 420959925 + .long 1631682226 + .long 426808436 + .long 506036551 + .long 420502581 + .long 1639070103 + .long 426197165 + .long 2571506734 + .long 419884815 + .long 2636061136 + .long 425741743 + .long 131590857 + .long 419435148 + .long 2360217394 + .long 425122815 + .long 2123368345 + .long 418809445 + .long 107531667 + .long 424674840 + .long 3698826492 + .long 418353259 + .long 2938237131 + .long 424048182 + .long 4108636988 + .long 417733845 + .long 4039275195 + .long 423590789 + .long 2893379127 + .long 417266320 + .long 3981058062 + .long 422973296 + .long 1295691695 + .long 416658047 + .long 1799245620 + .long 422504843 + .long 809368571 + .long 416179121 + .long 1095743658 + .long 421898188 + .long 2458071445 + .long 415582079 + .long 3152629639 + .long 421418602 + .long 2880996644 + .long 415091703 + .long 1831853591 + .long 420822886 + .long 2082457760 + .long 414505972 + .long 3375611757 + .long 420332109 + .long 3813221416 + .long 414004109 + .long 3976661321 + .long 419747420 + .long 1623971680 + .long 413429755 + .long 222515280 + .long 419245406 + .long 161894751 + .long 412916381 + .long 3922251253 + .long 418671820 + .long 704894105 + .long 412353457 + .long 2205898558 + .long 418158532 + .long 2925813699 + .long 411828557 + .long 745269613 + .long 417596115 + .long 1206932886 + .long 411277106 + .long 2528034227 + .long 417071529 + .long 2906655622 + .long 410740679 + .long 294773265 + .long 416520332 + .long 2782612403 + .long 410200730 + .long 268798842 + .long 415984437 + .long 506502267 + .long 409652786 + .long 2108747555 + .long 415444499 + .long 2671060727 + .long 409124357 + .long 111092231 + .long 414897294 + .long 1179204803 + .long 408564915 + .long 3519434075 + .long 414368644 + .long 4113495186 + .long 408048013 + .long 3489230693 + .long 413810138 + .long 2305837020 + .long 407477104 + .long 3767963252 + .long 413292794 + .long 3303928739 + .long 406971725 + .long 4045703249 + .long 412723008 + .long 1559394247 + .long 406389390 + .long 3833649452 + .long 412216975 + .long 2119990474 + .long 405895518 + .long 281624545 + .long 411635941 + .long 989263513 + .long 405301808 + .long 1978234054 + .long 411141213 + .long 3684399904 + .long 404819416 + .long 3926423569 + .long 410548970 + .long 2530769806 + .long 404214392 + .long 2185191413 + .long 410065532 + .long 3642169242 + .long 403743444 + .long 1077414544 + .long 409462133 + .long 3529948250 + .long 403127176 + .long 1134565222 + .long 408989957 + .long 2923469607 + .long 402667625 + .long 3548466521 + .long 408375461 + .long 873635608 + .long 402040193 + .long 958141692 + .long 407914511 + .long 2380128801 + .long 401579355 + .long 1449417702 + .long 407288989 + .long 3724984240 + .long 400953472 + .long 1060892090 + .long 406830946 + .long 2060268791 + .long 400477037 + .long 1679979762 + .long 406202747 + .long 3324839389 + .long 399867045 + .long 3605744095 + .long 405729281 + .long 2853346502 + .long 399375154 + .long 2014373632 + .long 405116766 + .long 2938189705 + .long 398780940 + .long 2232445718 + .long 404628007 + .long 3948535372 + .long 398273746 + .long 3855954834 + .long 404031075 + .long 571451293 + .long 397695185 + .long 3997793792 + .long 403527163 + .long 1328669080 + .long 397172852 + .long 3532276603 + .long 402945703 + .long 1769888605 + .long 396609805 + .long 117139507 + .long 402426790 + .long 542212897 + .long 396072507 + .long 785235588 + .long 401860677 + .long 2365473167 + .long 395524826 + .long 193707104 + .long 401326923 + .long 3726803886 + .long 394972745 + .long 2981353042 + .long 400776021 + .long 1304518436 + .long 394440272 + .long 2044657899 + .long 400227598 + .long 948810575 + .long 393873601 + .long 3567196460 + .long 399691761 + .long 605169024 + .long 393356165 + .long 202857553 + .long 399128850 + .long 218268034 + .long 392775104 + .long 3489213753 + .long 398607920 + .long 1034387390 + .long 392272526 + .long 3029254570 + .long 398030709 + .long 1689466565 + .long 391677283 + .long 2563287204 + .long 397524520 + .long 2094040642 + .long 391189375 + .long 2600913452 + .long 396933207 + .long 1946043246 + .long 390580166 + .long 3743389614 + .long 396441581 + .long 2020750266 + .long 390106731 + .long 453478293 + .long 395836372 + .long 2600223858 + .long 389483778 + .long 224241404 + .long 395359124 + .long 2094066699 + .long 389024611 + .long 3278227262 + .long 394740229 + .long 1730781785 + .long 388388143 + .long 1212176215 + .long 394277165 + .long 440289986 + .long 387912943 + .long 1458075427 + .long 393644805 + .long 2518810659 + .long 387293282 + .long 3749064933 + .long 393175444 + .long 3415481171 + .long 386799468 + .long 3456378279 + .long 392550121 + .long 425922765 + .long 386199216 + .long 1092703806 + .long 392062198 + .long 4277745370 + .long 385687130 + .long 1503849114 + .long 391456200 + .long 453761503 + .long 385105962 + .long 1833791429 + .long 390950043 + .long 631386339 + .long 384575954 + .long 1726901441 + .long 390363060 + .long 59566222 + .long 384013537 + .long 2685943042 + .long 389839006 + .long 961658282 + .long 383465960 + .long 2752588376 + .long 389270719 + .long 2151517544 + .long 382921955 + .long 2706655627 + .long 388729111 + .long 3326307572 + .long 382357168 + .long 98807236 + .long 388179194 + .long 2328481889 + .long 381831230 + .long 3442519839 + .long 387620379 + .long 4131389714 + .long 381249596 + .long 3464096023 + .long 387088497 + .long 1902935064 + .long 380741373 + .long 504713419 + .long 386512830 + .long 2630439749 + .long 380143259 + .long 2491716602 + .long 385998643 + .long 3756546937 + .long 379652393 + .long 933373881 + .long 385406479 + .long 1145790782 + .long 379038169 + .long 1266292521 + .long 384909642 + .long 3912470507 + .long 378564299 + .long 1925174067 + .long 384301341 + .long 1010818900 + .long 377934336 + .long 1283084181 + .long 383821503 + .long 596607075 + .long 377466836 + .long 3937356731 + .long 383197428 + .long 2821816074 + .long 376831768 + .long 1608532073 + .long 382734234 + .long 3037958193 + .long 376342802 + .long 2332449651 + .long 382094751 + .long 2408317383 + .long 375730472 + .long 2397654593 + .long 381614019 + .long 2557939275 + .long 375220570 + .long 512120078 + .long 380993317 + .long 3995478800 + .long 374630451 + .long 2456329504 + .long 380491572 + .long 114614293 + .long 374100144 + .long 1589275847 + .long 379893131 + .long 3312628691 + .long 373531708 + .long 1966729927 + .long 379370894 + .long 2040206870 + .long 372981524 + .long 72029277 + .long 378794198 + .long 776306839 + .long 372434243 + .long 417809006 + .long 378251989 + .long 3289085169 + .long 371864710 + .long 3623078601 + .long 377696518 + .long 1796902327 + .long 371338053 + .long 2918093283 + .long 377134857 + .long 761688673 + .long 370749699 + .long 3288920559 + .long 376600093 + .long 4207691436 + .long 370243135 + .long 3437608319 + .long 376019498 + .long 2342977085 + .long 369636483 + .long 3866848942 + .long 375504920 + .long 2879868540 + .long 369149485 + .long 2420364926 + .long 374905908 + .long 1588980901 + .long 368525055 + .long 2739411497 + .long 374410996 + .long 2932481858 + .long 368057095 + .long 2931179438 + .long 373794080 + .long 3959187389 + .long 367415403 + .long 3074514019 + .long 373318315 + .long 1467918282 + .long 366930315 + .long 2515077535 + .long 372684006 + .long 1513976558 + .long 366307516 + .long 2520993857 + .long 372209262 + .long 2827211306 + .long 365799099 + .long 2242535527 + .long 371575675 + .long 3449765443 + .long 365201377 + .long 229374307 + .long 371077406 + .long 4030107585 + .long 364670345 + .long 2874247126 + .long 370469074 + .long 2211302595 + .long 364096971 + .long 1239422762 + .long 369947986 + .long 840366190 + .long 363544029 + .long 1028822652 + .long 369364189 + .long 4028711686 + .long 362994278 + .long 207636622 + .long 368820981 + .long 4250478068 + .long 362420121 + .long 2531844762 + .long 368261002 + .long 3618837079 + .long 361893279 + .long 2318347883 + .long 367696365 + .long 2491775545 + .long 361298594 + .long 1405281421 + .long 367159496 + .long 1833836259 + .long 360793952 + .long 2464788893 + .long 366574112 + .long 349633767 + .long 360179415 + .long 1805332254 + .long 366059650 + .long 1831269244 + .long 359696273 + .long 3082197830 + .long 365454192 + .long 2638068963 + .long 359062549 + .long 1303053763 + .long 364961443 + .long 1888756545 + .long 358587444 + .long 1911726058 + .long 364336574 + .long 1961659335 + .long 357947962 + .long 4226025985 + .long 363864851 + .long 3747536647 + .long 357447105 + .long 1233082573 + .long 363221224 + .long 828038150 + .long 356835616 + .long 1270801490 + .long 362732408 + .long 499547327 + .long 356309909 + .long 4204596276 + .long 362108106 + .long 3685024638 + .long 355725471 + .long 2263119564 + .long 361594116 + .long 208289706 + .long 355175798 + .long 2604176066 + .long 360997185 + .long 355902013 + .long 354617489 + .long 1571658720 + .long 360458903 + .long 2831155402 + .long 354044714 + .long 3214416859 + .long 359888421 + .long 1001156103 + .long 353511626 + .long 2092639694 + .long 359326713 + .long 1060879276 + .long 352916599 + .long 2656242605 + .long 358781775 + .long 2346460494 + .long 352407840 + .long 3140357496 + .long 358197489 + .long 2620891755 + .long 351791390 + .long 864200800 + .long 357677206 + .long 1139994072 + .long 351306088 + .long 1272299290 + .long 357071173 + .long 998738015 + .long 350669026 + .long 1662699579 + .long 356574671 + .long 2302133496 + .long 350188265 + .long 3978417974 + .long 355947703 + .long 1990495904 + .long 349549442 + .long 442183120 + .long 355474128 + .long 1648631435 + .long 349041201 + .long 398634752 + .long 354827020 + .long 2975863533 + .long 348432574 + .long 3768021229 + .long 354332376 + .long 486875883 + .long 347897932 + .long 736504491 + .long 353709059 + .long 2232348394 + .long 347318357 + .long 2322467066 + .long 353187567 + .long 3268018708 + .long 346758364 + .long 2634041373 + .long 352593757 + .long 3927971950 + .long 346206724 + .long 3257994585 + .long 352046473 + .long 2514707150 + .long 345622405 + .long 470872302 + .long 351481051 + .long 1611901678 + .long 345097610 + .long 568930306 + .long 350909004 + .long 1224567807 + .long 344489960 + .long 3227159577 + .long 350370874 + .long 331959221 + .long 343990947 + .long 2250543232 + .long 349775066 + .long 874240467 + .long 343360934 + .long 780057110 + .long 349263163 + .long 69121375 + .long 342886668 + .long 1142967647 + .long 348644568 + .long 2268018375 + .long 342235232 + .long 3187181140 + .long 348157850 + .long 1236402983 + .long 341733636 + .long 1570569667 + .long 347517416 + .long 2050805026 + .long 341112760 + .long 970610165 + .long 347031087 + .long 4289331829 + .long 340582788 + .long 2991953537 + .long 346393517 + .long 2064992333 + .long 339993423 + .long 3835464351 + .long 345878239 + .long 2834904129 + .long 339436308 + .long 789753324 + .long 345272779 + .long 1486374416 + .long 338877127 + .long 4237562651 + .long 344729795 + .long 1795254523 + .long 338294062 + .long 4199966768 + .long 344155107 + .long 1803895842 + .long 337763778 + .long 1913603615 + .long 343585624 + .long 1236370561 + .long 337155918 + .long 2661257846 + .long 343040411 + .long 3168560722 + .long 336653283 + .long 3747541370 + .long 342445594 + .long 1544858000 + .long 336021745 + .long 843355073 + .long 341928598 + .long 701727663 + .long 335545551 + .long 3212904903 + .long 341309577 + .long 4252571316 + .long 334891413 + .long 2095636171 + .long 340819576 + .long 181107243 + .long 334385235 + .long 2708120800 + .long 340177444 + .long 4214802816 + .long 333764795 + .long 891481710 + .long 339687888 + .long 1863002590 + .long 333228849 + .long 1475935954 + .long 339049068 + .long 3207614907 + .long 332641764 + .long 951962484 + .long 338529047 + .long 3019254994 + .long 332077447 + .long 647215757 + .long 337924323 + .long 1995597590 + .long 331522195 + .long 1307132931 + .long 337375253 + .long 2784109590 + .long 330930854 + .long 3935098394 + .long 336803084 + .long 935907665 + .long 330405965 + .long 489622420 + .long 336226332 + .long 3672874055 + .long 329788897 + .long 1095558523 + .long 335685231 + .long 529859671 + .long 329292953 + .long 3793524113 + .long 335082111 + .long 3735652122 + .long 328651407 + .long 2874939353 + .long 334570641 + .long 3846762629 + .long 328161792 + .long 2594228670 + .long 333942423 + .long 1524643224 + .long 327518218 + .long 2891599860 + .long 333459197 + .long 1830584859 + .long 326996509 + .long 841053976 + .long 332807101 + .long 992163451 + .long 326389166 + .long 3488900988 + .long 332302973 + .long 2489415457 + .long 325836963 + .long 2825237155 + .long 331675981 + .long 3436657835 + .long 325264091 + .long 2015957083 + .long 331140550 + .long 4123958411 + .long 324682931 + .long 880032773 + .long 330548905 + .long 3678845232 + .long 324142838 + .long 2949966793 + .long 329983733 + .long 774011448 + .long 323534196 + .long 1669772503 + .long 329425715 + .long 3355255702 + .long 323025254 + .long 2707219994 + .long 328832304 + .long 4228305774 + .long 322390542 + .long 875819559 + .long 328306259 + .long 1058802249 + .long 321909549 + .long 1725500861 + .long 327686049 + .long 1526668256 + .long 321251764 + .long 771027883 + .long 327190387 + .long 1440448964 + .long 320736746 + .long 685169409 + .long 326544759 + .long 2576883052 + .long 320117657 + .long 3931256307 + .long 326048770 + .long 4211444510 + .long 319570409 + .long 943825043 + .long 325408230 + .long 1796204117 + .long 318988025 + .long 3078500894 + .long 324879071 + .long 2929791 + .long 318410265 + .long 598122658 + .long 324276264 + .long 4105023641 + .long 317862675 + .long 3713099277 + .long 323715687 + .long 4053342124 + .long 317256043 + .long 3356168766 + .long 323148667 + .long 3607219520 + .long 316741422 + .long 8385943 + .long 322558350 + .long 546691080 + .long 316107487 + .long 1569386958 + .long 322025253 + .long 860208356 + .long 315624085 + .long 1602866975 + .long 321406796 + .long 2825627555 + .long 314964342 + .long 2146945184 + .long 320905838 + .long 1512638989 + .long 314448175 + .long 3694443718 + .long 320260772 + .long 1851223288 + .long 313826366 + .long 1734172065 + .long 319764812 + .long 3513124527 + .long 313276696 + .long 4292046831 + .long 319120032 + .long 483102926 + .long 312693322 + .long 3451475318 + .long 318589505 + .long 205455539 + .long 312112030 + .long 4205268708 + .long 317984337 + .long 441034304 + .long 311564981 + .long 3738205159 + .long 317421168 + .long 842935179 + .long 310953857 + .long 2661954576 + .long 316853456 + .long 2082540419 + .long 310441122 + .long 191682699 + .long 316259480 + .long 1023232792 + .long 309801871 + .long 1443656792 + .long 315727165 + .long 3938167691 + .long 309313145 + .long 2030154461 + .long 315104128 + .long 3715645745 + .long 308655775 + .long 364014527 + .long 314605248 + .long 2221126625 + .long 308130669 + .long 3957555902 + .long 313954813 + .long 1553430262 + .long 307515285 + .long 2549547892 + .long 313450768 + .long 541059372 + .long 306955923 + .long 2893226174 + .long 312811246 + .long 2002181412 + .long 306380124 + .long 2553687033 + .long 312271769 + .long 3328160459 + .long 305788524 + .long 1738637298 + .long 311673147 + .long 921404674 + .long 305250028 + .long 1821651048 + .long 311100311 + .long 4041041389 + .long 304628106 + .long 187612271 + .long 310540247 + .long 3309758413 + .long 304124741 + .long 3123473258 + .long 309936020 + .long 1274902091 + .long 303474316 + .long 2651100243 + .long 309412286 + .long 2091366167 + .long 302969576 + .long 1344477234 + .long 308778538 + .long 1911254553 + .long 302326813 + .long 352942948 + .long 308289017 + .long 4237029098 + .long 301785368 + .long 3896993776 + .long 307627518 + .long 2727336008 + .long 301185272 + .long 1233965820 + .long 307107630 + .long 3668024467 + .long 300609369 + .long 3816128113 + .long 306482630 + .long 2012574928 + .long 300049381 + .long 543989814 + .long 305927014 + .long 2452741724 + .long 299441146 + .long 36761402 + .long 305343556 + .long 2544835316 + .long 298918840 + .long 3928334870 + .long 304754400 + .long 3629786995 + .long 298280284 + .long 434868103 + .long 304209989 + .long 3277144393 + .long 297791142 + .long 735890319 + .long 303589368 + .long 665096612 + .long 297126388 + .long 3345452543 + .long 303081637 + .long 967835438 + .long 296598343 + .long 1154568510 + .long 302431511 + .long 1221884323 + .long 295979077 + .long 1027443567 + .long 301926556 + .long 1141739083 + .long 295414598 + .long 4220242335 + .long 301280442 + .long 3647891822 + .long 294837989 + .long 2972216333 + .long 300737636 + .long 179140444 + .long 294239407 + .long 140442075 + .long 300135793 + .long 3497721983 + .long 293702779 + .long 4276020636 + .long 299557540 + .long 2099687014 + .long 293072291 + .long 2646489349 + .long 298997207 + .long 33373082 + .long 292573117 + .long 846827046 + .long 298385780 + .long 2711187823 + .long 291912795 + .long 4008058152 + .long 297864348 + .long 1125808704 + .long 291393245 + .long 2739885995 + .long 297221887 + .long 3807832798 + .long 290760484 + .long 1788472360 + .long 296726781 + .long 2298680525 + .long 290202825 + .long 1174423899 + .long 296065418 + .long 1592748605 + .long 289614945 + .long 1788014666 + .long 295530643 + .long 3356705021 + .long 289021699 + .long 4255981332 + .long 294915947 + .long 873339961 + .long 288475783 + .long 2225985729 + .long 294344114 + .long 3207307935 + .long 287849324 + .long 3974693742 + .long 293773072 + .long 3498013316 + .long 287342623 + .long 2259587784 + .long 293166637 + .long 4290976658 + .long 286685183 + .long 3337149527 + .long 292636408 + .long 2213271901 + .long 286168974 + .long 1851363003 + .long 291997682 + .long 4124917910 + .long 285528786 + .long 560601066 + .long 291505590 + .long 237986845 + .long 284973143 + .long 1945873158 + .long 290836745 + .long 4067610106 + .long 284379667 + .long 2407737944 + .long 290304987 + .long 3316441310 + .long 283787287 + .long 383757411 + .long 289683348 + .long 953137458 + .long 283237385 + .long 519332437 + .long 289113260 + .long 1679064961 + .long 282610800 + .long 742221624 + .long 288537036 + .long 257844265 + .long 282101520 + .long 1573086074 + .long 287931244 + .long 2269104533 + .long 281443104 + .long 4045568760 + .long 287397378 + .long 2828508576 + .long 280924983 + .long 733249718 + .long 286758347 + .long 1732603576 + .long 280283654 + .long 533243710 + .long 286263968 + .long 751492636 + .long 279725162 + .long 2457656012 + .long 285594006 + .long 2462407785 + .long 279131933 + .long 293908249 + .long 285060162 + .long 1695364450 + .long 278535921 + .long 2184942539 + .long 284437690 + .long 2984201462 + .long 277987453 + .long 1622545857 + .long 283864623 + .long 3955382588 + .long 277356589 + .long 2485197737 + .long 283288895 + .long 1345834619 + .long 276849753 + .long 3774707117 + .long 282679379 + .long 2328269116 + .long 276186533 + .long 3551722450 + .long 282147145 + .long 1556386510 + .long 275661305 + .long 1055046300 + .long 281503777 + .long 2498081107 + .long 275025153 + .long 504978042 + .long 281005615 + .long 905153602 + .long 274459033 + .long 1999379204 + .long 280337197 + .long 1247619184 + .long 273871885 + .long 1558294877 + .long 279796224 + .long 2806790149 + .long 273267850 + .long 955821656 + .long 279179057 + .long 1220029206 + .long 272726196 + .long 652462241 + .long 278598374 + .long 3699351654 + .long 272087026 + .long 1388515372 + .long 278028806 + .long 105210774 + .long 271587585 + .long 4292462997 + .long 277411308 + .long 2490658546 + .long 270915873 + .long 714581134 + .long 276885926 + .long 2997737018 + .long 270378550 + .long 168678396 + .long 276234317 + .long 350409269 + .long 269753743 + .long 2205526037 + .long 275724368 + .long 383728174 + .long 269175438 + .long 4104412605 + .long 275066727 + .long 786460319 + .long 268600026 + .long 2279249664 + .long 274513793 + .long 4041746960 + .long 267983812 + .long 4201504027 + .long 273907910 + .long 1416847643 + .long 267454150 + .long 1155392763 + .long 273315198 + .long 1943249372 + .long 266802890 + .long 4049930300 + .long 272757272 + .long 2120646630 + .long 266292851 + .long 1974057484 + .long 272127769 + .long 3163030352 + .long 265631933 + .long 1793983883 + .long 271614256 + .long 1340103187 + .long 265077879 + .long 326495793 + .long 270950743 + .long 1483145903 + .long 264470251 + .long 3384178624 + .long 270424067 + .long 513069763 + .long 263875557 + .long 3533636991 + .long 269783401 + .long 3821821156 + .long 263317194 + .long 375127469 + .long 269214020 + .long 774948588 + .long 262684997 + .long 3076091270 + .long 268625072 + .long 3224568612 + .long 262172156 + .long 351806358 + .long 268016264 + .long 3638282913 + .long 261505367 + .long 3252136545 + .long 267475124 + .long 3279049336 + .long 260973711 + .long 3853369566 + .long 266829935 + .long 2216268360 + .long 260335890 + .long 1666423492 + .long 266327629 + .long 1734069409 + .long 259760943 + .long 1443666147 + .long 265654226 + .long 3053244528 + .long 259175836 + .long 3223029848 + .long 265106361 + .long 663590769 + .long 258561012 + .long 3887989150 + .long 264488377 + .long 1243187075 + .long 258024525 + .long 1639283666 + .long 263898530 + .long 3340882771 + .long 257372986 + .long 4142310309 + .long 263331681 + .long 2334955832 + .long 256861519 + .long 860616723 + .long 262703166 + .long 1598961801 + .long 256195997 + .long 4289429876 + .long 262183475 + .long 2472445703 + .long 255638707 + .long 2104076426 + .long 261519363 + .long 3630053367 + .long 255029231 + .long 74767693 + .long 260990858 + .long 1206204297 + .long 254429809 + .long 1250738791 + .long 260346276 + .long 2351903043 + .long 253871932 + .long 156482232 + .long 259773350 + .long 4142523563 + .long 253233789 + .long 4117666020 + .long 259183114 + .long 286726945 + .long 252723393 + .long 1676845100 + .long 258569349 + .long 879244557 + .long 252049685 + .long 3757465672 + .long 258029142 + .long 1478997745 + .long 251507670 + .long 719679831 + .long 257377850 + .long 2746267323 + .long 250876596 + .long 2743390321 + .long 256866226 + .long 3526540658 + .long 250290347 + .long 3813343918 + .long 256197914 + .long 4127070378 + .long 249713687 + .long 4199731742 + .long 255639588 + .long 2963029352 + .long 249086861 + .long 1683728130 + .long 255028670 + .long 476785732 + .long 248560181 + .long 1394306693 + .long 254427485 + .long 3724685680 + .long 247896150 + .long 4008420085 + .long 253869303 + .long 1462004732 + .long 247366769 + .long 61625688 + .long 253228807 + .long 373432641 + .long 246717229 + .long 2000001808 + .long 252719059 + .long 3728039301 + .long 246141700 + .long 196627238 + .long 252042523 + .long 804689884 + .long 245549180 + .long 1048046765 + .long 251496228 + .long 1458719334 + .long 244931396 + .long 993432210 + .long 250867675 + .long 2786008452 + .long 244391153 + .long 3222947377 + .long 250276685 + .long 407537272 + .long 243734697 + .long 2581322502 + .long 249703373 + .long 3189759561 + .long 243215088 + .long 3228239923 + .long 249071462 + .long 2031608793 + .long 242550528 + .long 222461305 + .long 248548792 + .long 1595213611 + .long 241983081 + .long 3948199774 + .long 247879433 + .long 1410205890 + .long 241377894 + .long 1991477966 + .long 247342392 + .long 717980171 + .long 240766721 + .long 2734072913 + .long 246699555 + .long 3662752582 + .long 240215871 + .long 1299198579 + .long 246116199 + .long 1395178790 + .long 239564752 + .long 2805380273 + .long 245530860 + .long 1656284541 + .long 239051885 + .long 82029935 + .long 244905176 + .long 2344762908 + .long 238376012 + .long 170847452 + .long 244372453 + .long 2984020658 + .long 237813864 + .long 1983702315 + .long 243708103 + .long 3104200464 + .long 237199426 + .long 3696965479 + .long 243177374 + .long 2877381452 + .long 236592315 + .long 1702714838 + .long 242523853 + .long 4268840524 + .long 236034000 + .long 337495829 + .long 241945433 + .long 1003165801 + .long 235385887 + .long 1518517027 + .long 241351382 + .long 1321893894 + .long 234876610 + .long 3783968447 + .long 240729453 + .long 2271377001 + .long 234193331 + .long 3604999414 + .long 240189725 + .long 3433799730 + .long 233633606 + .long 838008356 + .long 239528126 + .long 3093619116 + .long 233013496 + .long 3362036394 + .long 239000657 + .long 3425665386 + .long 232407826 + .long 1131620880 + .long 238340239 + .long 1016507599 + .long 231845320 + .long 3983864269 + .long 237763969 + .long 1384233971 + .long 231197827 + .long 2727534395 + .long 237164675 + .long 1865125951 + .long 230687822 + .long 1077630756 + .long 236543966 + .long 1733037954 + .long 230002278 + .long 2523426999 + .long 236000404 + .long 1364025661 + .long 229442057 + .long 480596147 + .long 235339247 + .long 4098448109 + .long 228819954 + .long 3949450093 + .long 234811927 + .long 1594057686 + .long 228213079 + .long 2780357258 + .long 234148522 + .long 705474193 + .long 227649729 + .long 3206536664 + .long 233571580 + .long 150129851 + .long 227000461 + .long 3710529720 + .long 232970604 + .long 3317237252 + .long 226488710 + .long 2768905863 + .long 232348555 + .long 186403974 + .long 225802795 + .long 1020727779 + .long 231804400 + .long 4186632878 + .long 225239166 + .long 972364943 + .long 231141369 + .long 3320522507 + .long 224618787 + .long 2522906548 + .long 230611085 + .long 1217861567 + .long 224008081 + .long 1146887521 + .long 229948657 + .long 3268837539 + .long 223447250 + .long 1203001544 + .long 229368231 + .long 315089493 + .long 222793843 + .long 3726031498 + .long 228769165 + .long 2515846164 + .long 222276073 + .long 3693339671 + .long 228143241 + .long 4048144309 + .long 221594973 + .long 886499685 + .long 227601743 + .long 243352312 + .long 221025089 + .long 1967797029 + .long 226934556 + .long 2780140791 + .long 220410117 + .long 2982519979 + .long 226398247 + .long 1142821299 + .long 219793023 + .long 2266592663 + .long 225740742 + .long 3135719790 + .long 219238030 + .long 598157159 + .long 225154083 + .long 3315054452 + .long 218578192 + .long 251346586 + .long 224560486 + .long 2580019687 + .long 218051339 + .long 1660656734 + .long 223928221 + .long 2009602671 + .long 217379055 + .long 2013172870 + .long 223392582 + .long 3680448101 + .long 216800174 + .long 3137723934 + .long 222719031 + .long 2293078116 + .long 216194199 + .long 1131138533 + .long 222173744 + .long 987580679 + .long 215568273 + .long 2428851175 + .long 221525020 + .long 742439463 + .long 215022333 + .long 4291153995 + .long 220929488 + .long 2572304849 + .long 214353887 + .long 2792715369 + .long 220344820 + .long 751395790 + .long 213815046 + .long 2467223009 + .long 219703861 + .long 3220232494 + .long 213155420 + .long 594495907 + .long 219177181 + .long 1273291149 + .long 212564963 + .long 1557209815 + .long 218495170 + .long 1505310183 + .long 211971413 + .long 2821627703 + .long 217938108 + .long 1794752605 + .long 211334365 + .long 352923681 + .long 217301869 + .long 3485962584 + .long 210800532 + .long 742696539 + .long 216694982 + .long 235733148 + .long 210121452 + .long 517366394 + .long 216122545 + .long 4075032228 + .long 209567925 + .long 3425623922 + .long 215470689 + .long 2162846091 + .long 208924580 + .long 1867666160 + .long 214953737 + .long 610134501 + .long 208320165 + .long 118983967 + .long 214263489 + .long 3728773735 + .long 207742252 + .long 3908045835 + .long 213692061 + .long 3490203689 + .long 207091984 + .long 1145819795 + .long 213071790 + .long 314392945 + .long 206573104 + .long 4271751656 + .long 212451260 + .long 1811709173 + .long 205881542 + .long 1007038937 + .long 211894144 + .long 2516464821 + .long 205310885 + .long 278737865 + .long 211229378 + .long 1036995227 + .long 204687160 + .long 2860351683 + .long 210694684 + .long 2019544351 + .long 204066642 + .long 3151723087 + .long 210024630 + .long 2051777715 + .long 203507311 + .long 3482099907 + .long 209436491 + .long 1880929895 + .long 202841947 + .long 1107144331 + .long 208835396 + .long 4113796999 + .long 202306046 + .long 2782187507 + .long 208199168 + .long 4230901964 + .long 201634927 + .long 324654650 + .long 207660198 + .long 3865564645 + .long 201044979 + .long 3013336404 + .long 206980723 + .long 2025334671 + .long 200443882 + .long 3440165364 + .long 206425914 + .long 880420963 + .long 199805384 + .long 1863068324 + .long 205779346 + .long 1725201808 + .long 199267265 + .long 2496275681 + .long 205172427 + .long 1474738210 + .long 198585177 + .long 3150482796 + .long 204593391 + .long 3317220719 + .long 198026483 + .long 1098158732 + .long 203939669 + .long 2048589230 + .long 197382469 + .long 1251229864 + .long 203418987 + .long 1711255077 + .long 196771382 + .long 3774797738 + .long 202725626 + .long 2545455379 + .long 196195546 + .long 2114221587 + .long 202148656 + .long 3001837404 + .long 195537478 + .long 6183300 + .long 201528474 + .long 135156576 + .long 195010574 + .long 694371655 + .long 200901011 + .long 768267426 + .long 194322681 + .long 1385778830 + .long 200346554 + .long 1714589610 + .long 193739414 + .long 764657913 + .long 199673821 + .long 2513335222 + .long 193125095 + .long 1567457389 + .long 199127293 + .long 1674789839 + .long 192491353 + .long 3757973415 + .long 198465065 + .long 1133663422 + .long 191943007 + .long 2509870768 + .long 197864238 + .long 1791150439 + .long 191264084 + .long 1692389335 + .long 197272915 + .long 4280512258 + .long 190708897 + .long 943848650 + .long 196623466 + .long 1435700475 + .long 190055521 + .long 2549074333 + .long 196095713 + .long 1820959894 + .long 189446276 + .long 2346450942 + .long 195402748 + .long 1799974782 + .long 188863778 + .long 3379769408 + .long 194828788 + .long 3710643665 + .long 188206206 + .long 64184554 + .long 194200071 + .long 559094545 + .long 187679200 + .long 3830973525 + .long 193574054 + .long 3533372027 + .long 186986399 + .long 3727766878 + .long 193013612 + .long 419030960 + .long 186401680 + .long 229060077 + .long 192341066 + .long 2747247866 + .long 185784788 + .long 3546192002 + .long 191794050 + .long 2104193289 + .long 185148540 + .long 439215752 + .long 191127612 + .long 3581175346 + .long 184599508 + .long 2771506517 + .long 190525039 + .long 1496741733 + .long 183917277 + .long 1092035591 + .long 189931698 + .long 2197939951 + .long 183356958 + .long 2927777097 + .long 189279528 + .long 2360965773 + .long 182705633 + .long 507466780 + .long 188751525 + .long 3434132212 + .long 182090545 + .long 2385635145 + .long 188055101 + .long 2564651682 + .long 181511575 + .long 3917794913 + .long 187475836 + .long 2038560995 + .long 180847674 + .long 1662541554 + .long 186849580 + .long 4093633635 + .long 180311472 + .long 443789735 + .long 186217617 + .long 3864375547 + .long 179625887 + .long 1469215734 + .long 185661003 + .long 3463172077 + .long 179031656 + .long 464327642 + .long 184982078 + .long 3788368420 + .long 178422975 + .long 1505826087 + .long 184425832 + .long 2597057661 + .long 177777090 + .long 1511447715 + .long 183766850 + .long 192055595 + .long 177236951 + .long 932229602 + .long 183154787 + .long 3248784503 + .long 176545109 + .long 1136206495 + .long 182569802 + .long 2977151474 + .long 175971286 + .long 3327278139 + .long 181908060 + .long 1159722142 + .long 175333320 + .long 3698336555 + .long 181374386 + .long 573764936 + .long 174705009 + .long 3228467089 + .long 180683083 + .long 1949949141 + .long 174139572 + .long 2746812012 + .long 180090475 + .long 736141494 + .long 173462845 + .long 499734747 + .long 179477548 + .long 387134431 + .long 172908834 + .long 3614112015 + .long 178832553 + .long 2634860161 + .long 172242210 + .long 2805234955 + .long 178289381 + .long 460646957 + .long 171630903 + .long 970969289 + .long 177597845 + .long 655896577 + .long 171040788 + .long 3344539356 + .long 177024105 + .long 1143406828 + .long 170378633 + .long 1101629971 + .long 176383859 + .long 3789010148 + .long 169843689 + .long 1445292126 + .long 175755052 + .long 2532013424 + .long 169149244 + .long 3957894927 + .long 175188362 + .long 1329004457 + .long 168554241 + .long 1552244971 + .long 174510693 + .long 2615188283 + .long 167940247 + .long 1737085116 + .long 173955094 + .long 2825767996 + .long 167292011 + .long 2427795126 + .long 173288350 + .long 955983127 + .long 166749414 + .long 3862954673 + .long 172675047 + .long 2239597278 + .long 166054020 + .long 3777683054 + .long 172085625 + .long 2930881305 + .long 165474494 + .long 3943650763 + .long 171421185 + .long 2500984781 + .long 164837602 + .long 2651071393 + .long 170882858 + .long 598933403 + .long 164202522 + .long 368111638 + .long 170190638 + .long 2563045445 + .long 163640375 + .long 4121479599 + .long 169592034 + .long 1673362824 + .long 162956142 + .long 3631606904 + .long 168980837 + .long 4190318554 + .long 162391142 + .long 1256293901 + .long 168328885 + .long 2285275071 + .long 161732511 + .long 2366652105 + .long 167789491 + .long 2231416995 + .long 161109716 + .long 3596499815 + .long 167090343 + .long 670676453 + .long 160529091 + .long 518561201 + .long 166505517 + .long 4064394133 + .long 159855224 + .long 184343027 + .long 165873673 + .long 2181840701 + .long 159303681 + .long 511439523 + .long 165233364 + .long 358984510 + .long 158624644 + .long 3314939071 + .long 164676429 + .long 2232154676 + .long 158013162 + .long 3091100850 + .long 163987100 + .long 1152119020 + .long 157415278 + .long 2751453101 + .long 163415013 + .long 3621588129 + .long 156750898 + .long 3774677189 + .long 162763816 + .long 3959469698 + .long 156211627 + .long 3940528393 + .long 162134210 + .long 2033790283 + .long 155513685 + .long 154040129 + .long 161560919 + .long 2666402024 + .long 154912449 + .long 1791444217 + .long 160880557 + .long 1792824079 + .long 154298669 + .long 3821245378 + .long 160320065 + .long 2906768183 + .long 153642815 + .long 828792094 + .long 159650970 + .long 1726407750 + .long 153103312 + .long 2910624009 + .long 159031035 + .long 3824245187 + .long 152399340 + .long 1285820000 + .long 158442705 + .long 3218520765 + .long 151807194 + .long 922820039 + .long 157770383 + .long 3980052426 + .long 151179015 + .long 2867106372 + .long 157220243 + .long 3676010488 + .long 150530652 + .long 1701924227 + .long 156534853 + .long 98188203 + .long 149979167 + .long 1202429230 + .long 155923475 + .long 2691841212 + .long 149281339 + .long 4103588477 + .long 155321552 + .long 2980038289 + .long 148697047 + .long 2722798563 + .long 154656272 + .long 2091112305 + .long 148056091 + .long 1100847033 + .long 154115151 + .long 844744152 + .long 147414118 + .long 1807105821 + .long 153415210 + .long 1761494331 + .long 146852101 + .long 2765590726 + .long 152811198 + .long 4130802211 + .long 146159438 + .long 804141595 + .long 152197248 + .long 619112307 + .long 145581696 + .long 3411072592 + .long 151537949 + .long 1819584914 + .long 144929695 + .long 2345623067 + .long 150999688 + .long 659039120 + .long 144292954 + .long 1725536292 + .long 150291812 + .long 2264625774 + .long 143721950 + .long 2168347176 + .long 149693911 + .long 2991782319 + .long 143033427 + .long 267592637 + .long 149069602 + .long 1086293359 + .long 142460870 + .long 1798718589 + .long 148415172 + .long 2732064845 + .long 141799655 + .long 2022911390 + .long 147868497 + .long 2575907818 + .long 141166941 + .long 81583865 + .long 147164461 + .long 617630238 + .long 140588575 + .long 3097896152 + .long 146571360 + .long 1158927451 + .long 139903129 + .long 1311777013 + .long 145938453 + .long 2686879495 + .long 139334346 + .long 1713198687 + .long 145287735 + .long 631639285 + .long 138665831 + .long 1026114153 + .long 144734208 + .long 353896969 + .long 138035903 + .long 1839310320 + .long 144032991 + .long 3894935750 + .long 137451863 + .long 108450414 + .long 143443338 + .long 1674746381 + .long 136768404 + .long 2976259824 + .long 142803670 + .long 2820284440 + .long 136201951 + .long 3629240797 + .long 142155473 + .long 911221048 + .long 135528114 + .long 2487359058 + .long 141596717 + .long 2063786022 + .long 134899705 + .long 3105573419 + .long 140897274 + .long 53305477 + .long 134311735 + .long 592724981 + .long 140309683 + .long 551966461 + .long 133629153 + .long 82845147 + .long 139665155 + .long 612320349 + .long 133063564 + .long 2412831170 + .long 139018265 + .long 4052518220 + .long 132386431 + .long 2861543015 + .long 138455950 + .long 60583993 + .long 131758262 + .long 3758521132 + .long 137757219 + .long 1893680257 + .long 131168137 + .long 797564262 + .long 137170286 + .long 1853175244 + .long 130485316 + .long 2550314170 + .long 136522840 + .long 499148610 + .long 129919117 + .long 3840130402 + .long 135876032 + .long 1778365271 + .long 129240747 + .long 1081724693 + .long 135311862 + .long 2403936347 + .long 128611533 + .long 481411632 + .long 134612775 + .long 3141003024 + .long 128021051 + .long 1564356836 + .long 134025089 + .long 66431906 + .long 127336877 + .long 1018280362 + .long 133376696 + .long 3711217333 + .long 126768598 + .long 3889204834 + .long 132728743 + .long 937813394 + .long 126091060 + .long 1510315410 + .long 132164437 + .long 1053079387 + .long 125459529 + .long 3026116892 + .long 131463928 + .long 1190308037 + .long 124870490 + .long 3513164679 + .long 130874087 + .long 2709540261 + .long 124183859 + .long 3243469103 + .long 130226725 + .long 449276747 + .long 123612053 + .long 3711588442 + .long 129576412 + .long 2058308131 + .long 122937406 + .long 2033455285 + .long 129013691 + .long 1336072769 + .long 122302306 + .long 620069156 + .long 128310709 + .long 592687842 + .long 121716497 + .long 3065163985 + .long 127717329 + .long 2944636332 + .long 121026330 + .long 3786152533 + .long 127072967 + .long 1390868694 + .long 120449578 + .long 109737031 + .long 126419100 + .long 1283844989 + .long 119779858 + .long 1637472787 + .long 125859670 + .long 1036813044 + .long 119139969 + .long 3054383277 + .long 125153184 + .long 1593301454 + .long 118559147 + .long 2181543052 + .long 124554915 + .long 1021679778 + .long 117864397 + .long 2956152467 + .long 123915495 + .long 1213745631 + .long 117281326 + .long 3079832347 + .long 123256910 + .long 2864273411 + .long 116618522 + .long 1719191513 + .long 122702449 + .long 783487711 + .long 115972668 + .long 1873937895 + .long 121991462 + .long 3847158933 + .long 115398545 + .long 1820997326 + .long 121386996 + .long 1628184367 + .long 114698205 + .long 2057730126 + .long 120754415 + .long 3121167837 + .long 114107499 + .long 3194078287 + .long 120089993 + .long 3640407525 + .long 113453539 + .long 1193470200 + .long 119542132 + .long 2932543377 + .long 112800596 + .long 2087718361 + .long 118825686 + .long 3940915700 + .long 112234825 + .long 729408998 + .long 118213772 + .long 176805543 + .long 111527938 + .long 803928007 + .long 117589865 + .long 1497384312 + .long 110928349 + .long 636615452 + .long 116918539 + .long 1210503641 + .long 110285081 + .long 1067673638 + .long 116365763 + .long 3447439749 + .long 109623988 + .long 4287052013 + .long 115656035 + .long 4042922012 + .long 109068146 + .long 4063489675 + .long 115035487 + .long 1178130386 + .long 108353812 + .long 1340349167 + .long 114422012 + .long 276195705 + .long 107744170 + .long 1606230887 + .long 113742775 + .long 196890419 + .long 107113347 + .long 4004137362 + .long 113179305 + .long 2801332084 + .long 106443115 + .long 1791246287 + .long 112482722 + .long 3589190400 + .long 105891208 + .long 3462946558 + .long 111852430 + .long 222492771 + .long 105176076 + .long 1883853505 + .long 111251051 + .long 2930182010 + .long 104555296 + .long 3815164565 + .long 110562965 + .long 3954009221 + .long 103938562 + .long 3891967838 + .long 109987584 + .long 1851360347 + .long 103258281 + .long 1648595565 + .long 109305986 + .long 612719781 + .long 102692886 + .long 1910091384 + .long 108664925 + .long 2867682928 + .long 101995004 + .long 1671708042 + .long 108077201 + .long 232239923 + .long 101362099 + .long 1448433188 + .long 107379405 + .long 565509955 + .long 100760977 + .long 2276593346 + .long 106790996 + .long 211746584 + .long 100069819 + .long 1047983914 + .long 106126094 + .long 3969301701 + .long 99489867 + .long 2143549675 + .long 105473329 + .long 3437228503 + .long 98810896 + .long 291505042 + .long 104900702 + .long 3455597174 + .long 98164976 + .long 1330620322 + .long 104192415 + .long 3542433397 + .long 97580856 + .long 2341543106 + .long 103589971 + .long 1798812806 + .long 96878085 + .long 1049586798 + .long 102943334 + .long 2950300946 + .long 96282630 + .long 1983571200 + .long 102278028 + .long 1376227899 + .long 95624070 + .long 254879262 + .long 101721811 + .long 3203486567 + .long 94964353 + .long 3420790813 + .long 101002339 + .long 1493547741 + .long 94398484 + .long 65199441 + .long 100384969 + .long 2177320475 + .long 93683456 + .long 2125728910 + .long 99758012 + .long 3219882433 + .long 93071674 + .long 1297952362 + .long 99079430 + .long 3977536549 + .long 92434857 + .long 438149418 + .long 98515456 + .long 364892307 + .long 91760672 + .long 1854409600 + .long 97809540 + .long 3522475541 + .long 91202194 + .long 26376419 + .long 97176470 + .long 1067973372 + .long 90486322 + .long 3325551671 + .long 96570448 + .long 2180435784 + .long 89857517 + .long 3877911312 + .long 95877959 + .long 2951818531 + .long 89243602 + .long 1257360845 + .long 95295486 + .long 2295306251 + .long 88554386 + .long 2630910396 + .long 94614391 + .long 1662372089 + .long 87975946 + .long 544439371 + .long 93964971 + .long 1772382723 + .long 87287081 + .long 1112052001 + .long 93380972 + .long 2839365407 + .long 86640686 + .long 1792211469 + .long 92674053 + .long 2506541746 + .long 86050653 + .long 1202694127 + .long 92072418 + .long 1869590935 + .long 85345958 + .long 2505565379 + .long 91417275 + .long 4163049384 + .long 84746992 + .long 210828546 + .long 90750978 + .long 2212445703 + .long 84086136 + .long 1096269292 + .long 90189917 + .long 2279274675 + .long 83421713 + .long 2795290094 + .long 89468152 + .long 494173186 + .long 82856361 + .long 2764997772 + .long 88846835 + .long 4281818755 + .long 82135849 + .long 2483540904 + .long 88218577 + .long 3417278829 + .long 81515943 + .long 544125929 + .long 87534999 + .long 3737605338 + .long 80883888 + .long 94314468 + .long 86963430 + .long 2476214848 + .long 80201126 + .long 2433934939 + .long 86260699 + .long 528982474 + .long 79630370 + .long 3232942101 + .long 85619320 + .long 3231179704 + .long 78924518 + .long 446389104 + .long 85018681 + .long 0 + .long 0 + .long 0 + .long 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1077624320 + .long 0 + .long 1077624320 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 938475520 + .long 0 + .long 938475520 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1119879168 + .long 0 + .long 1119879168 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1206910976 + .long 0 + .long 1206910976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 0 + .long 4294967295 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_derfc_data_internal,@object + .size __svml_derfc_data_internal,57600 + .space 256, 0x00 + .align 32 + +__derfc_la__imldErfcTab: + .long 0 + .long 3217031168 + .long 2536042781 + .long 1072398983 + .long 1399772821 + .long 1016356498 + .long 2716363190 + .long 3220293167 + .long 2515012741 + .long 3163350672 + .long 2716363190 + .long 1069663791 + .long 2240747611 + .long 1012721291 + .long 3687592758 + .long 1071052114 + .long 803907102 + .long 1011174242 + .long 3448634865 + .long 3216086729 + .long 750050903 + .long 3160740647 + .long 601957364 + .long 3216681894 + .long 1555639211 + .long 3160184931 + .long 1774552010 + .long 1066874090 + .long 3884532135 + .long 1066963544 + .long 3233761315 + .long 3212244609 + .long 1379327181 + .long 3211950387 + .long 242623580 + .long 1062350129 + .long 2275269623 + .long 1061641073 + .long 254615366 + .long 3207068314 + .long 2447494219 + .long 3206114823 + .long 604424981 + .long 1056656877 + .long 50341065 + .long 1055592081 + .long 0 + .long 3218341888 + .long 1599080160 + .long 1071977136 + .long 688395245 + .long 1016124311 + .long 3971924631 + .long 3220201427 + .long 3564228032 + .long 3164632085 + .long 3891163965 + .long 1070888904 + .long 3480798202 + .long 1014571560 + .long 1621928818 + .long 1070698875 + .long 4020082186 + .long 1015153452 + .long 685042962 + .long 3217236647 + .long 3489060295 + .long 3157926645 + .long 2848795668 + .long 3216002128 + .long 3762448119 + .long 3161313806 + .long 1324211555 + .long 1067961974 + .long 1476477459 + .long 1065781932 + .long 2515812913 + .long 3213241000 + .long 3304760842 + .long 3210133507 + .long 716797578 + .long 1063287120 + .long 2283992921 + .long 1058905221 + .long 2268754290 + .long 3207879309 + .long 1012519479 + .long 3199289324 + .long 944669356 + .long 1057318598 + .long 1931303816 + .long 3198859641 + .long 0 + .long 3219390464 + .long 1180573078 + .long 1071127762 + .long 4113175178 + .long 1014965748 + .long 2484292509 + .long 3219680918 + .long 959898156 + .long 3163955503 + .long 957881989 + .long 1071548988 + .long 442195505 + .long 1012747532 + .long 35029730 + .long 1068269829 + .long 976783580 + .long 1012161104 + .long 2319046290 + .long 3217462844 + .long 10747389 + .long 3161497233 + .long 3758081287 + .long 1067192898 + .long 1126055042 + .long 1009745370 + .long 1760060230 + .long 1067789094 + .long 3251266701 + .long 3213655257 + .long 2806967453 + .long 3212534516 + .long 1864685761 + .long 1064158132 + .long 3738348856 + .long 1061687624 + .long 790737257 + .long 3209050005 + .long 1943644508 + .long 3204796481 + .long 2914584687 + .long 1058674792 + .long 2574038108 + .long 3201168805 + .long 1252008665 + .long 3203024355 + .long 0 + .long 3220439040 + .long 866709712 + .long 1068743889 + .long 2877058776 + .long 1013060082 + .long 4210332368 + .long 3217966674 + .long 1459199107 + .long 3162249891 + .long 3688727889 + .long 1070787571 + .long 2792291460 + .long 1012143918 + .long 855534605 + .long 3217387984 + .long 759913640 + .long 3160800900 + .long 2131284961 + .long 1064909442 + .long 2597396527 + .long 1009180630 + .long 989201780 + .long 1067984906 + .long 3318708226 + .long 1008612878 + .long 699280746 + .long 3214266544 + .long 993015799 + .long 3211642955 + .long 1559561232 + .long 1064778208 + .long 680189340 + .long 3209609158 + .long 3200850606 + .long 3209524422 + .long 1492278808 + .long 1059590695 + .long 4108347350 + .long 3205935421 + .long 2186414716 + .long 3206817307 + .long 2803204773 + .long 3204791034 + .long 1021304598 + .long 3200312812 + .long 0 + .long 3220701184 + .long 2395493008 + .long 1067539114 + .long 2347713276 + .long 1010696759 + .long 649597580 + .long 3216929335 + .long 3715599898 + .long 3160841752 + .long 1561014649 + .long 1069995433 + .long 3047088181 + .long 1014230941 + .long 735510274 + .long 3217146528 + .long 1352249772 + .long 3161795800 + .long 1629994682 + .long 1067898281 + .long 867814168 + .long 1012540688 + .long 3242132826 + .long 1066299959 + .long 1473115860 + .long 1010684527 + .long 1350993397 + .long 3214133819 + .long 212467593 + .long 1064529314 + .long 1581296174 + .long 1063476333 + .long 1019617056 + .long 3210475870 + .long 326531339 + .long 1058667915 + .long 2560102974 + .long 1060207995 + .long 1059830545 + .long 3205421344 + .long 73331091 + .long 1053435953 + .long 3519680827 + .long 1056963274 + .long 287235298 + .long 1054771565 + .long 0 + .long 3220701184 + .long 2395492868 + .long 1067539114 + .long 3682704431 + .long 1012674156 + .long 649602216 + .long 3216929335 + .long 3411089016 + .long 3161142609 + .long 1560943486 + .long 1069995433 + .long 373233254 + .long 1014373936 + .long 736848572 + .long 3217146528 + .long 1866442275 + .long 3160326248 + .long 1560943474 + .long 1067898281 + .long 3576330307 + .long 1009307384 + .long 649623715 + .long 1066299959 + .long 725533065 + .long 1006865126 + .long 1925526991 + .long 3214133821 + .long 2782059224 + .long 1064529267 + .long 3902564706 + .long 1063475940 + .long 2706862450 + .long 3210478464 + .long 1817950372 + .long 1058560819 + .long 1279984267 + .long 1060154640 + .long 1456324877 + .long 3205782300 + .long 3219859931 + .long 3203609651 + .long 1354896425 + .long 1055916872 + .long 153053737 + .long 3200605489 + .long 0 + .long 3221487616 + .long 4088869944 + .long 1070267315 + .long 2176293176 + .long 1014815941 + .long 2130816332 + .long 3216181357 + .long 1120272801 + .long 3161227146 + .long 2812844367 + .long 1067026776 + .long 3953643227 + .long 1009444623 + .long 1988706352 + .long 3212862240 + .long 4268394231 + .long 3153580175 + .long 1288160248 + .long 1063531968 + .long 2922427679 + .long 1007764987 + .long 2977979581 + .long 3209169358 + .long 3750808263 + .long 3146919566 + .long 985562119 + .long 1059825827 + .long 2519169024 + .long 3205422455 + .long 68429100 + .long 1055964010 + .long 3577866702 + .long 3201415637 + .long 2564607388 + .long 1051841939 + .long 2939200104 + .long 3197398630 + .long 4218579581 + .long 1046628386 + .long 1377164546 + .long 3194351246 + .long 2324734477 + .long 3191977485 + .long 1839603542 + .long 3190921089 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 2802853043 + .long 1014611496 + .long 1293201774 + .long 3215709870 + .long 754100791 + .long 3160212203 + .long 446218444 + .long 1066419198 + .long 4119686598 + .long 1006799142 + .long 464017249 + .long 3211942150 + .long 960597079 + .long 3156358882 + .long 785622302 + .long 1062472140 + .long 3339954945 + .long 1004756287 + .long 2636124640 + .long 3207937516 + .long 2995891561 + .long 3151978990 + .long 742584182 + .long 1058400057 + .long 2101069570 + .long 3203793489 + .long 2181624698 + .long 1054184935 + .long 880779555 + .long 3199513061 + .long 3229614298 + .long 1049846396 + .long 2776250631 + .long 3195146822 + .long 1726624674 + .long 1045262260 + .long 2932756839 + .long 3191068730 + .long 968482455 + .long 3185858272 + .long 839487434 + .long 3187678475 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 3971839787 + .long 1014611494 + .long 1293201774 + .long 3215709870 + .long 1164040504 + .long 3160193437 + .long 446218443 + .long 1066419198 + .long 752423430 + .long 1011527589 + .long 464016831 + .long 3211942150 + .long 1037460728 + .long 3156747894 + .long 785625671 + .long 1062472140 + .long 2777520670 + .long 1006268542 + .long 2633474472 + .long 3207937516 + .long 224500896 + .long 3152886542 + .long 768707698 + .long 1058400057 + .long 3292721506 + .long 3203793488 + .long 578140564 + .long 1054184941 + .long 2030948072 + .long 3199512840 + .long 703221627 + .long 1049847594 + .long 3302679767 + .long 3195127268 + .long 1902201635 + .long 1045392042 + .long 4048348141 + .long 3190392845 + .long 436255103 + .long 1040232916 + .long 2856127569 + .long 3184071776 + .long 0 + .long 3222536192 + .long 2660514860 + .long 1069307683 + .long 3910050887 + .long 1010798723 + .long 1232972210 + .long 3214268483 + .long 3319476861 + .long 3158923505 + .long 728349866 + .long 1064340728 + .long 2957516014 + .long 1008704767 + .long 2614894425 + .long 3209210817 + .long 3908389506 + .long 3152259798 + .long 2191212410 + .long 1059199474 + .long 2431020086 + .long 1004176268 + .long 3218723210 + .long 3204065928 + .long 3000611168 + .long 3148331645 + .long 3635880648 + .long 1053991881 + .long 536114836 + .long 3198825982 + .long 772319782 + .long 1048710562 + .long 455323837 + .long 3193559883 + .long 2867783196 + .long 1042956501 + .long 2591697711 + .long 3189077475 + .long 3707131585 + .long 3186333629 + .long 1191412344 + .long 3185702904 + .long 26961465 + .long 3183118419 + .long 3399174677 + .long 3180390946 + .long 0 + .long 3222798336 + .long 2223626006 + .long 1069006900 + .long 1459366060 + .long 1012973801 + .long 1839010552 + .long 3213809654 + .long 2068820260 + .long 3157960411 + .long 1249919926 + .long 1063503734 + .long 962503917 + .long 1008341811 + .long 2100991944 + .long 3208188010 + .long 3825857555 + .long 3152436704 + .long 2359368913 + .long 1057973453 + .long 743880428 + .long 1000696453 + .long 1096261871 + .long 3202576593 + .long 3975107283 + .long 3146343950 + .long 3079668469 + .long 1052233933 + .long 1037052812 + .long 3196903291 + .long 3759245614 + .long 1046563275 + .long 3200735738 + .long 3191134566 + .long 4161299971 + .long 1040588242 + .long 2934206128 + .long 3185832303 + .long 3971101203 + .long 3181383944 + .long 353687358 + .long 3181806266 + .long 3047695518 + .long 3179072314 + .long 3851119497 + .long 3176415447 + .long 0 + .long 3222798336 + .long 2223626017 + .long 1069006900 + .long 1388676355 + .long 1012705760 + .long 1839008253 + .long 3213809654 + .long 815236617 + .long 3157985840 + .long 1250030689 + .long 1063503734 + .long 1288166708 + .long 1008687857 + .long 2094505532 + .long 3208188010 + .long 311037013 + .long 3150622756 + .long 2617751546 + .long 1057973453 + .long 2536920761 + .long 1001852867 + .long 1679260317 + .long 3202576592 + .long 3392965897 + .long 3146533070 + .long 1054244789 + .long 1052233952 + .long 3966408696 + .long 3196902988 + .long 1854848819 + .long 1046565172 + .long 3813743082 + .long 3191116219 + .long 395181184 + .long 1040724488 + .long 2456810233 + .long 3185324136 + .long 4089464644 + .long 1034959658 + .long 3698050549 + .long 3179421276 + .long 1112347086 + .long 1028770902 + .long 218099662 + .long 3172341328 + .long 0 + .long 3223584768 + .long 525966855 + .long 1068285571 + .long 2606587153 + .long 1012297682 + .long 2443413391 + .long 3212232028 + .long 691043050 + .long 3155505245 + .long 1829248673 + .long 1061286877 + .long 797308607 + .long 1005505923 + .long 2897861001 + .long 3205246152 + .long 3729653017 + .long 3149452125 + .long 3517114205 + .long 1054211729 + .long 2096268314 + .long 998380425 + .long 733746641 + .long 3198235249 + .long 2776288247 + .long 3140382828 + .long 312049674 + .long 1047087440 + .long 1779010374 + .long 3191506224 + .long 3398525311 + .long 3186731689 + .long 3932053403 + .long 3187022627 + .long 2526572080 + .long 3184920569 + .long 1052531014 + .long 3182813288 + .long 1237705257 + .long 3180144704 + .long 1818683855 + .long 3176978132 + .long 2771211543 + .long 3173092235 + .long 1784201120 + .long 3168173250 + .long 0 + .long 3223846912 + .long 3317774106 + .long 1067973958 + .long 2923167300 + .long 1012645752 + .long 3241173892 + .long 3211773047 + .long 39491139 + .long 3153850211 + .long 285395131 + .long 1060435582 + .long 2541426776 + .long 1004641207 + .long 1226100891 + .long 3204158226 + .long 1495613600 + .long 3148514544 + .long 3870275689 + .long 1052905917 + .long 965710820 + .long 997239553 + .long 3492316846 + .long 3196564768 + .long 2517483548 + .long 3141228873 + .long 1374076994 + .long 1045282573 + .long 372497316 + .long 3189277616 + .long 3813845480 + .long 3182889951 + .long 3900585526 + .long 3184107613 + .long 1960133516 + .long 3181724363 + .long 148017317 + .long 3179453676 + .long 3471465381 + .long 3176493740 + .long 65590178 + .long 3173153987 + .long 3138884841 + .long 3169027321 + .long 2557226666 + .long 3163936824 + .long 0 + .long 3223846912 + .long 3319825997 + .long 1067973958 + .long 153387004 + .long 1010340046 + .long 3027068505 + .long 3211773047 + .long 2440895001 + .long 3155514079 + .long 1195164920 + .long 1060435583 + .long 1739223825 + .long 1004641495 + .long 3681176633 + .long 3204158189 + .long 2468586085 + .long 3147540309 + .long 2873291842 + .long 1052906296 + .long 1357898154 + .long 997866283 + .long 449207067 + .long 3196558994 + .long 1843054170 + .long 3140743497 + .long 1688975421 + .long 1045349298 + .long 2606145257 + .long 3188979869 + .long 2843228885 + .long 1037686975 + .long 3218505005 + .long 3181423668 + .long 2000171025 + .long 1030058339 + .long 2480760959 + .long 3173744926 + .long 1915328357 + .long 1022453358 + .long 619623839 + .long 3166207341 + .long 3877388623 + .long 1013774410 + .long 1403207699 + .long 3159661468 + .long 0 + .long 3223846912 + .long 3319825996 + .long 1067973958 + .long 2025830981 + .long 1009198696 + .long 3027068262 + .long 3211773047 + .long 462574407 + .long 3155728809 + .long 1195152753 + .long 1060435583 + .long 2026642833 + .long 1004181720 + .long 3680441114 + .long 3204158189 + .long 1280116659 + .long 3145464714 + .long 2858263562 + .long 1052906296 + .long 3653419668 + .long 997536747 + .long 8491235 + .long 3196558994 + .long 2006410862 + .long 3136580289 + .long 669193667 + .long 1045349296 + .long 261358851 + .long 3188979851 + .long 3798337047 + .long 1037686738 + .long 3252853818 + .long 3181422499 + .long 2986380320 + .long 1030049333 + .long 2271475836 + .long 3173690708 + .long 4121652893 + .long 1022324142 + .long 1033391529 + .long 3165650219 + .long 472144880 + .long 1013451034 + .long 2996742642 + .long 3155370561 + .long 0 + .long 3224633344 + .long 2310440956 + .long 1067243964 + .long 1910839802 + .long 1011085066 + .long 3231655782 + .long 3210151400 + .long 67697416 + .long 3153290263 + .long 747798972 + .long 1058167193 + .long 3842674820 + .long 1003388992 + .long 2960203073 + .long 3201119999 + .long 2643975567 + .long 3141186059 + .long 3514791177 + .long 1049049654 + .long 3133960405 + .long 992966366 + .long 2900718461 + .long 3192025852 + .long 1762535317 + .long 3135281108 + .long 3933388189 + .long 1040002967 + .long 1623401109 + .long 3182930946 + .long 2243580782 + .long 1030713860 + .long 3113530625 + .long 3174647587 + .long 4278270359 + .long 3170305068 + .long 4152511010 + .long 3168223581 + .long 1448809675 + .long 3164741414 + .long 2046900051 + .long 3160999662 + .long 4134264961 + .long 3156441479 + .long 2742521525 + .long 3151079039 + .long 0 + .long 3224895488 + .long 2295541704 + .long 1066929438 + .long 3837869256 + .long 1002512271 + .long 2403525199 + .long 3209691558 + .long 3057254264 + .long 3148362150 + .long 1273180940 + .long 1057311076 + .long 307148135 + .long 998879167 + .long 4108180605 + .long 3200010451 + .long 867507169 + .long 3142323423 + .long 2406587489 + .long 1047709282 + .long 3600962313 + .long 990271568 + .long 641070000 + .long 3190352150 + .long 942137886 + .long 3134450917 + .long 471088535 + .long 1038120451 + .long 3784803533 + .long 3180746340 + .long 2056014570 + .long 1028171004 + .long 975828111 + .long 3172001834 + .long 3879370210 + .long 3167393385 + .long 2803950026 + .long 3164997994 + .long 606260247 + .long 3161246249 + .long 1881144158 + .long 3157299567 + .long 670638336 + .long 3152383224 + .long 2138776162 + .long 3146794828 + .long 0 + .long 3224895488 + .long 2295580191 + .long 1066929438 + .long 3681200523 + .long 1011869447 + .long 2400932937 + .long 3209691558 + .long 1282261590 + .long 3150983028 + .long 1435460813 + .long 1057311076 + .long 338806164 + .long 1001507127 + .long 2137816334 + .long 3200010450 + .long 2795067653 + .long 3143594954 + .long 4261873090 + .long 1047709301 + .long 3264144757 + .long 991156440 + .long 2173718924 + .long 3190351771 + .long 3810711629 + .long 3134733275 + .long 2446322575 + .long 1038123240 + .long 2077064354 + .long 3180714664 + .long 504970137 + .long 1028450869 + .long 3765139549 + .long 3171097786 + .long 2079001974 + .long 1018773136 + .long 875759584 + .long 3161499808 + .long 4108525622 + .long 1009120883 + .long 4049318739 + .long 3151810362 + .long 3770858801 + .long 999517212 + .long 2722340464 + .long 3142460163 + .long 0 + .long 3224895488 + .long 2295580191 + .long 1066929438 + .long 2149023882 + .long 1011305144 + .long 2400932909 + .long 3209691558 + .long 1064137805 + .long 3152033653 + .long 1435458098 + .long 1057311076 + .long 4263810451 + .long 999199239 + .long 2137652297 + .long 3200010450 + .long 1479816286 + .long 3143273258 + .long 4258425849 + .long 1047709301 + .long 3605385096 + .long 992985426 + .long 2066788283 + .long 3190351771 + .long 3199248296 + .long 3132428041 + .long 1179383574 + .long 1038123240 + .long 140008546 + .long 3180714659 + .long 2930072161 + .long 1028450789 + .long 1129148062 + .long 3171097328 + .long 3175174977 + .long 1018768936 + .long 382350984 + .long 3161484641 + .long 3891461581 + .long 1009036439 + .long 1514607567 + .long 3151457650 + .long 292029317 + .long 998546931 + .long 906505364 + .long 3139710697 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 939524096 + .long 1072704666 + .long 2209988083 + .long 1046076929 + .long 3489660928 + .long 1072716208 + .long 2715237930 + .long 1044950059 + .long 402653184 + .long 1072727877 + .long 36755401 + .long 1042114290 + .long 1744830464 + .long 1072739672 + .long 1032479461 + .long 1045685796 + .long 805306368 + .long 1072751596 + .long 269498903 + .long 1044815501 + .long 3489660928 + .long 1072763649 + .long 2766913307 + .long 1039293264 + .long 2818572288 + .long 1072775834 + .long 2127365126 + .long 1046127799 + .long 939524096 + .long 1072788152 + .long 3950214642 + .long 1045558597 + .long 3892314112 + .long 1072800603 + .long 2850403528 + .long 1045134939 + .long 805306368 + .long 1072813191 + .long 2810207104 + .long 1043762074 + .long 2281701376 + .long 1072825915 + .long 2397289153 + .long 1041802037 + .long 1744830464 + .long 1072838778 + .long 3785033707 + .long 1046074760 + .long 1610612736 + .long 1072851781 + .long 1955981725 + .long 1045924339 + .long 4026531840 + .long 1072864925 + .long 2226165573 + .long 1045725051 + .long 2684354560 + .long 1072878213 + .long 754984053 + .long 1046188044 + .long 134217728 + .long 1072891646 + .long 2842642093 + .long 1044483512 + .long 2952790016 + .long 1072905224 + .long 4200916017 + .long 1044586679 + .long 805306368 + .long 1072918951 + .long 714887508 + .long 1046276775 + .long 805306368 + .long 1072932827 + .long 3685248805 + .long 1045665407 + .long 1207959552 + .long 1072946854 + .long 2295779401 + .long 1045448912 + .long 536870912 + .long 1072961034 + .long 2676240988 + .long 1044345570 + .long 1610612736 + .long 1072975368 + .long 1086643152 + .long 1041785419 + .long 2952790016 + .long 1072989858 + .long 1078920847 + .long 1045890291 + .long 3489660928 + .long 1073004506 + .long 2624917087 + .long 1045747880 + .long 1879048192 + .long 1073019314 + .long 2595540835 + .long 1046115506 + .long 1342177280 + .long 1073034283 + .long 125577743 + .long 1046115646 + .long 805306368 + .long 1073049415 + .long 1771811520 + .long 1046140063 + .long 3623878656 + .long 1073064711 + .long 2774738112 + .long 1045766480 + .long 268435456 + .long 1073080175 + .long 565866387 + .long 1045869701 + .long 2952790016 + .long 1073095806 + .long 1492679939 + .long 1041050306 + .long 2147483648 + .long 1073111608 + .long 612974287 + .long 1044556049 + .long 1610612736 + .long 1073127582 + .long 843197631 + .long 1046084847 + .long 939524096 + .long 1073143730 + .long 3150480267 + .long 1045533800 + .long 3892314112 + .long 1073160053 + .long 2074373662 + .long 1043172334 + .long 1342177280 + .long 1073176555 + .long 587053675 + .long 1046022559 + .long 1879048192 + .long 1073193236 + .long 918464641 + .long 1045387276 + .long 805306368 + .long 1073210099 + .long 2285990923 + .long 1046166841 + .long 2550136832 + .long 1073227145 + .long 682424459 + .long 1043647713 + .long 2550136832 + .long 1073244377 + .long 1678188781 + .long 1045046423 + .long 1073741824 + .long 1073261797 + .long 3671932459 + .long 1044468998 + .long 2550136832 + .long 1073279406 + .long 1656324724 + .long 1043421043 + .long 2952790016 + .long 1073297207 + .long 2659845000 + .long 1042921660 + .long 2550136832 + .long 1073315202 + .long 1043233352 + .long 1046444345 + .long 2147483648 + .long 1073333393 + .long 2162418230 + .long 1044717444 + .long 2013265920 + .long 1073351782 + .long 630511316 + .long 1045098283 + .long 2952790016 + .long 1073370371 + .long 3831108133 + .long 1044508970 + .long 1342177280 + .long 1073389163 + .long 4245662865 + .long 1045817334 + .long 2550136832 + .long 1073408159 + .long 3588780877 + .long 1043705146 + .long 3087007744 + .long 1073427362 + .long 3182425146 + .long 1041483134 + .long 4026531840 + .long 1073446774 + .long 928333188 + .long 1044896498 + .long 2415919104 + .long 1073466398 + .long 2300504125 + .long 1041428596 + .long 3623878656 + .long 1073486235 + .long 1887994668 + .long 1045828938 + .long 671088640 + .long 1073506289 + .long 757630176 + .long 1046044485 + .long 3623878656 + .long 1073526560 + .long 2756972335 + .long 1045675585 + .long 1207959552 + .long 1073547053 + .long 3697834264 + .long 1044397131 + .long 3623878656 + .long 1073567768 + .long 479684631 + .long 1045687954 + .long 0 + .long 1073588710 + .long 730095629 + .long 1045354900 + .long 805306368 + .long 1073609879 + .long 4123739734 + .long 1045159130 + .long 3758096384 + .long 1073631278 + .long 3634164812 + .long 1046359295 + .long 2684354560 + .long 1073652911 + .long 3425467293 + .long 1044718726 + .long 3892314112 + .long 1073674779 + .long 2648473416 + .long 1046054248 + .long 1476395008 + .long 1073696886 + .long 54164518 + .long 1045131818 + .long 2147483648 + .long 1073719233 + .long 2196310654 + .long 1043982605 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1697350398 + .long 1079448903 + .long 0 + .long 862978048 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 0 + .long 0 + .long 1 + .long 1048576 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .long 0 + .long 1073741824 + .long 1105497085 + .long 1077623260 + .long 261899793 + .long 1077588746 + .long 4235085970 + .long 1077578514 + .long 2406803786 + .long 3222762575 + .type __derfc_la__imldErfcTab,@object + .size __derfc_la__imldErfcTab,4864 + .align 16 + +.FLT_190: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_190,@object + .size .FLT_190,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core-sse.S new file mode 100644 index 0000000000..844c05e45a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized erfc, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_erfc _ZGVdN4v_erfc_sse_wrapper +#include "../svml_d_erfc4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core.c new file mode 100644 index 0000000000..7c9c1d81d0 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized erfc, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_erfc +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_erfc, __GI__ZGVdN4v_erfc, __redirect__ZGVdN4v_erfc) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core_avx2.S new file mode 100644 index 0000000000..238bbf3b39 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core_avx2.S @@ -0,0 +1,17265 @@ +/* Function erfc vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Approximation formula: + * erfc(x)~erfc(x0)-2/sqrt(pi)*exp(-x0^2)*D*[1+(x0*D)*p1(x0*D)+D^2*p3(x0*D)+D^4*p5(x0*D)+D^6*p7(x0*D)] + * D = x - x0 + * erfc(x0) and 2/sqrt(pi)*exp(-x0^2)/(2*x0) are tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_erfc_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea __svml_derfc_data_internal(%rip), %rax + vmovups %ymm12, 224(%rsp) + vmovupd 56128+__svml_derfc_data_internal(%rip), %ymm1 + vmovups %ymm13, 256(%rsp) + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + vmovupd 56064+__svml_derfc_data_internal(%rip), %ymm13 + vmovups %ymm15, 320(%rsp) + vmovupd 56000+__svml_derfc_data_internal(%rip), %ymm7 + vmovups %ymm10, 160(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm8, 32(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovapd %ymm0, %ymm12 + vandpd 55808+__svml_derfc_data_internal(%rip), %ymm12, %ymm6 + +/* + * erfc(27.25) underflows to 0 + * can compute all results in the main path + */ + vminpd 55872+__svml_derfc_data_internal(%rip), %ymm6, %ymm2 + +/* Start polynomial evaluation */ + vmovupd 56192+__svml_derfc_data_internal(%rip), %ymm6 + vaddpd %ymm1, %ymm2, %ymm15 + vmaxpd %ymm13, %ymm2, %ymm4 + vsubpd %ymm1, %ymm15, %ymm3 + vpsllq $4, %ymm15, %ymm0 + vsubpd %ymm3, %ymm4, %ymm10 + vandpd 55936+__svml_derfc_data_internal(%rip), %ymm12, %ymm14 + vorpd %ymm14, %ymm7, %ymm5 + +/* 2.0 if x<0, 0.0 otherwise */ + vsubpd %ymm5, %ymm7, %ymm11 + vmulpd %ymm10, %ymm3, %ymm9 + vmovupd 56320+__svml_derfc_data_internal(%rip), %ymm7 + vmovupd 56448+__svml_derfc_data_internal(%rip), %ymm5 + +/* Diff^2 */ + vmulpd %ymm10, %ymm10, %ymm15 + vfmadd213pd 56256+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd 56384+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 + vfmadd213pd 56512+__svml_derfc_data_internal(%rip), %ymm9, %ymm5 + vfmadd213pd 56576+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd 56640+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 + vfmadd213pd 56704+__svml_derfc_data_internal(%rip), %ymm9, %ymm5 + vfmadd213pd 56768+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd 56832+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 + vfmadd213pd 56896+__svml_derfc_data_internal(%rip), %ymm9, %ymm5 + vfmadd213pd 56960+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd 57024+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 + +/* P5 = P5 + D2*P07 */ + vfmadd213pd 57216+__svml_derfc_data_internal(%rip), %ymm15, %ymm5 + vfmadd213pd 57088+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd 57152+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 + vfmadd213pd 57280+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd %ymm5, %ymm9, %ymm7 + +/* T^2 */ + vmulpd %ymm9, %ymm9, %ymm5 + vfmadd213pd 57344+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmsub213pd %ymm9, %ymm15, %ymm7 + vandps 57536+__svml_derfc_data_internal(%rip), %ymm0, %ymm2 + +/* 2^(-128) with sign of input */ + vorpd %ymm14, %ymm13, %ymm8 + vfmadd213pd %ymm7, %ymm5, %ymm6 + +/* Special arguments (for flags only) */ + vcmplt_oqpd 57408+__svml_derfc_data_internal(%rip), %ymm12, %ymm7 + vextractf128 $1, %ymm2, %xmm1 + vmovd %xmm2, %edx + vmovd %xmm1, %r8d + vpextrd $2, %xmm2, %ecx + vpextrd $2, %xmm1, %r9d + movslq %edx, %rdx + movslq %ecx, %rcx + movslq %r8d, %r8 + movslq %r9d, %r9 + vmovupd (%rax,%rdx), %xmm4 + vmovupd (%rax,%rcx), %xmm3 + vmovupd (%rax,%r8), %xmm2 + vmovupd (%rax,%r9), %xmm1 + vunpcklpd %xmm3, %xmm4, %xmm13 + vunpckhpd %xmm3, %xmm4, %xmm3 + vunpckhpd %xmm1, %xmm2, %xmm4 + vunpcklpd %xmm1, %xmm2, %xmm14 + +/* combine and get argument value range mask */ + vmovmskpd %ymm7, %edx + notl %edx + vinsertf128 $1, %xmm4, %ymm3, %ymm1 + +/* EXP_X0H *= Diff */ + vmulpd %ymm10, %ymm1, %ymm9 + +/* EXP_x0H*Diff*(1+P1) */ + vfmadd213pd %ymm9, %ymm9, %ymm6 + vinsertf128 $1, %xmm14, %ymm13, %ymm0 + +/* erfc(|_VARG1|) = erfc_h(x0) - P1 */ + vsubpd %ymm6, %ymm0, %ymm0 + vfmadd213pd %ymm11, %ymm8, %ymm0 + andl $15, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm12, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_derfc_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_erfc_avx2) + + .align 16,0x90 + +__svml_derfc_cout_rare_internal: + + cfi_startproc + + movq %rdi, %r8 + xorl %eax, %eax + movq %rsi, %r9 + xorl %edi, %edi + movzwl 6(%r8), %edx + andl $32752, %edx + shrl $4, %edx + cmpl $2047, %edx + je .LBL_2_20 + cmpl $953, %edx + jl .LBL_2_17 + movsd (%r8), %xmm1 + movb 7(%r8), %dl + comisd 4856+__derfc_la__imldErfcTab(%rip), %xmm1 + jbe .LBL_2_16 + movsd 4832+__derfc_la__imldErfcTab(%rip), %xmm0 + comisd %xmm1, %xmm0 + jbe .LBL_2_15 + movsd %xmm1, -48(%rsp) + andb $127, %dl + movb %dl, -41(%rsp) + lea __derfc_la__imldErfcTab(%rip), %rcx + movsd -48(%rsp), %xmm10 + movsd 4808+__derfc_la__imldErfcTab(%rip), %xmm2 + movaps %xmm10, %xmm5 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm13 + addsd %xmm10, %xmm2 + mulsd %xmm2, %xmm2 + mulsd %xmm2, %xmm2 + movsd %xmm2, -16(%rsp) + movzwl -10(%rsp), %esi + andl $32752, %esi + shrl $4, %esi + addl $-1023, %esi + imull $23, %esi, %edx + movsd (%rcx,%rdx,8), %xmm3 + lea 22(%rdx), %r10d + addsd %xmm10, %xmm3 + movsd %xmm3, -40(%rsp) + lea 21(%rdx), %r11d + movsd -40(%rsp), %xmm4 + subsd %xmm4, %xmm5 + movsd %xmm5, -32(%rsp) + movsd -40(%rsp), %xmm7 + movsd -32(%rsp), %xmm6 + movsd (%rcx,%r10,8), %xmm5 + lea 20(%rdx), %r10d + addsd %xmm6, %xmm7 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm6 + movsd %xmm7, -24(%rsp) + movsd -32(%rsp), %xmm8 + addsd (%rcx,%rdx,8), %xmm8 + movsd %xmm8, -32(%rsp) + movsd -24(%rsp), %xmm9 + subsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -32(%rsp), %xmm12 + movsd -24(%rsp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -24(%rsp) + movsd -40(%rsp), %xmm2 + mulsd %xmm2, %xmm5 + mulsd %xmm2, %xmm13 + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 19(%rdx), %r11d + movsd -24(%rsp), %xmm1 + movsd %xmm13, -40(%rsp) + movsd -40(%rsp), %xmm14 + addsd (%rcx,%r10,8), %xmm5 + subsd %xmm2, %xmm14 + mulsd %xmm2, %xmm5 + movsd %xmm14, -32(%rsp) + lea 18(%rdx), %r10d + movsd -40(%rsp), %xmm0 + movsd -32(%rsp), %xmm15 + addsd (%rcx,%r11,8), %xmm5 + subsd %xmm15, %xmm0 + mulsd %xmm2, %xmm5 + movsd %xmm0, -40(%rsp) + lea 17(%rdx), %r11d + movsd -40(%rsp), %xmm13 + addsd (%rcx,%r10,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 16(%rdx), %r10d + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 15(%rdx), %r11d + addsd (%rcx,%r10,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 14(%rdx), %r10d + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 13(%rdx), %r11d + addsd (%rcx,%r10,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 11(%rdx), %r10d + movsd (%rcx,%r10,8), %xmm4 + lea 9(%rdx), %r10d + movaps %xmm4, %xmm3 + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + subsd %xmm13, %xmm2 + movsd %xmm2, -32(%rsp) + lea 12(%rdx), %r11d + movsd -40(%rsp), %xmm0 + addsd %xmm5, %xmm3 + movsd -32(%rsp), %xmm14 + movsd %xmm3, -40(%rsp) + addsd %xmm14, %xmm1 + movsd -40(%rsp), %xmm15 + subsd %xmm15, %xmm4 + addsd %xmm4, %xmm5 + movaps %xmm0, %xmm4 + movsd %xmm5, -32(%rsp) + movsd -40(%rsp), %xmm11 + mulsd %xmm11, %xmm6 + movsd -32(%rsp), %xmm12 + movsd %xmm6, -40(%rsp) + movsd -40(%rsp), %xmm7 + subsd %xmm11, %xmm7 + addsd (%rcx,%r11,8), %xmm12 + movsd %xmm7, -32(%rsp) + lea 10(%rdx), %r11d + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm8 + movsd (%rcx,%r10,8), %xmm7 + lea 7(%rdx), %r10d + subsd %xmm8, %xmm9 + movsd %xmm9, -40(%rsp) + movsd -40(%rsp), %xmm10 + subsd %xmm10, %xmm11 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm10 + movsd %xmm11, -32(%rsp) + movsd -40(%rsp), %xmm2 + movsd -32(%rsp), %xmm3 + movaps %xmm2, %xmm8 + mulsd %xmm1, %xmm2 + addsd %xmm12, %xmm3 + mulsd %xmm0, %xmm8 + mulsd %xmm3, %xmm4 + mulsd %xmm1, %xmm3 + movaps %xmm8, %xmm5 + addsd %xmm2, %xmm3 + addsd %xmm7, %xmm5 + addsd %xmm3, %xmm4 + movsd %xmm4, -40(%rsp) + movsd -40(%rsp), %xmm9 + movsd %xmm5, -40(%rsp) + movaps %xmm0, %xmm5 + movsd -40(%rsp), %xmm6 + subsd %xmm6, %xmm7 + addsd %xmm7, %xmm8 + movsd %xmm8, -32(%rsp) + movsd -40(%rsp), %xmm15 + mulsd %xmm15, %xmm10 + movsd -32(%rsp), %xmm2 + movsd %xmm10, -40(%rsp) + addsd %xmm9, %xmm2 + movsd -40(%rsp), %xmm11 + movaps %xmm0, %xmm9 + movsd (%rcx,%r10,8), %xmm8 + lea 5(%rdx), %r10d + subsd %xmm15, %xmm11 + addsd (%rcx,%r11,8), %xmm2 + movsd %xmm11, -32(%rsp) + lea 8(%rdx), %r11d + movsd -40(%rsp), %xmm13 + movsd -32(%rsp), %xmm12 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm11 + subsd %xmm12, %xmm13 + movsd %xmm13, -40(%rsp) + movsd -40(%rsp), %xmm14 + subsd %xmm14, %xmm15 + movsd %xmm15, -32(%rsp) + movsd -40(%rsp), %xmm3 + movsd -32(%rsp), %xmm4 + mulsd %xmm3, %xmm9 + addsd %xmm2, %xmm4 + mulsd %xmm1, %xmm3 + mulsd %xmm4, %xmm5 + mulsd %xmm1, %xmm4 + movaps %xmm9, %xmm6 + addsd %xmm3, %xmm4 + addsd %xmm8, %xmm6 + addsd %xmm4, %xmm5 + movsd %xmm5, -40(%rsp) + movsd -40(%rsp), %xmm10 + movsd %xmm6, -40(%rsp) + movaps %xmm0, %xmm6 + movsd -40(%rsp), %xmm7 + subsd %xmm7, %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -32(%rsp) + movsd -40(%rsp), %xmm2 + mulsd %xmm2, %xmm11 + movsd -32(%rsp), %xmm3 + movsd %xmm11, -40(%rsp) + addsd %xmm10, %xmm3 + movsd -40(%rsp), %xmm12 + movaps %xmm0, %xmm10 + movsd (%rcx,%r10,8), %xmm9 + lea 3(%rdx), %r10d + subsd %xmm2, %xmm12 + addsd (%rcx,%r11,8), %xmm3 + movsd %xmm12, -32(%rsp) + lea 6(%rdx), %r11d + movsd -40(%rsp), %xmm14 + movsd -32(%rsp), %xmm13 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm12 + subsd %xmm13, %xmm14 + movsd %xmm14, -40(%rsp) + movsd -40(%rsp), %xmm15 + subsd %xmm15, %xmm2 + movsd %xmm2, -32(%rsp) + movsd -40(%rsp), %xmm4 + movsd -32(%rsp), %xmm5 + mulsd %xmm4, %xmm10 + addsd %xmm3, %xmm5 + mulsd %xmm1, %xmm4 + mulsd %xmm5, %xmm6 + mulsd %xmm1, %xmm5 + movaps %xmm10, %xmm7 + addsd %xmm4, %xmm5 + addsd %xmm9, %xmm7 + addsd %xmm5, %xmm6 + movsd %xmm6, -40(%rsp) + movaps %xmm0, %xmm6 + movsd -40(%rsp), %xmm11 + movsd %xmm7, -40(%rsp) + movsd -40(%rsp), %xmm8 + subsd %xmm8, %xmm9 + addsd %xmm9, %xmm10 + movsd (%rcx,%r10,8), %xmm9 + movsd %xmm10, -32(%rsp) + movaps %xmm0, %xmm10 + movsd -40(%rsp), %xmm2 + lea 1(%rdx), %r10d + mulsd %xmm2, %xmm12 + movsd -32(%rsp), %xmm3 + movsd %xmm12, -40(%rsp) + addsd %xmm11, %xmm3 + movsd -40(%rsp), %xmm13 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm12 + subsd %xmm2, %xmm13 + addsd (%rcx,%r11,8), %xmm3 + movsd %xmm13, -32(%rsp) + lea 4(%rdx), %r11d + movsd -40(%rsp), %xmm11 + addl $2, %edx + movsd -32(%rsp), %xmm14 + subsd %xmm14, %xmm11 + movsd %xmm11, -40(%rsp) + movsd -40(%rsp), %xmm15 + subsd %xmm15, %xmm2 + movsd %xmm2, -32(%rsp) + movsd -40(%rsp), %xmm4 + movsd -32(%rsp), %xmm5 + mulsd %xmm4, %xmm10 + addsd %xmm3, %xmm5 + mulsd %xmm1, %xmm4 + mulsd %xmm5, %xmm6 + mulsd %xmm1, %xmm5 + movaps %xmm10, %xmm7 + addsd %xmm4, %xmm5 + addsd %xmm9, %xmm7 + addsd %xmm5, %xmm6 + movsd %xmm6, -40(%rsp) + movaps %xmm0, %xmm6 + movsd -40(%rsp), %xmm11 + movsd %xmm7, -40(%rsp) + movsd -40(%rsp), %xmm8 + subsd %xmm8, %xmm9 + addsd %xmm9, %xmm10 + movsd %xmm10, -32(%rsp) + movsd -40(%rsp), %xmm3 + mulsd %xmm3, %xmm12 + movsd -32(%rsp), %xmm4 + movsd %xmm12, -40(%rsp) + addsd %xmm11, %xmm4 + movsd -40(%rsp), %xmm11 + subsd %xmm3, %xmm11 + addsd (%rcx,%r11,8), %xmm4 + movsd %xmm11, -32(%rsp) + movsd -40(%rsp), %xmm2 + movsd -32(%rsp), %xmm13 + subsd %xmm13, %xmm2 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm14 + subsd %xmm14, %xmm3 + movsd %xmm3, -32(%rsp) + movsd -40(%rsp), %xmm15 + movsd -32(%rsp), %xmm5 + mulsd %xmm15, %xmm6 + addsd %xmm4, %xmm5 + mulsd %xmm5, %xmm0 + mulsd %xmm1, %xmm5 + mulsd %xmm15, %xmm1 + addsd %xmm1, %xmm5 + movaps %xmm6, %xmm1 + addsd %xmm5, %xmm0 + movsd %xmm0, -40(%rsp) + movsd (%rcx,%r10,8), %xmm0 + movsd -40(%rsp), %xmm2 + addsd %xmm0, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm1 + subsd %xmm1, %xmm0 + addsd %xmm0, %xmm6 + movsd %xmm6, -32(%rsp) + movsd -40(%rsp), %xmm1 + movsd -32(%rsp), %xmm4 + movaps %xmm1, %xmm3 + addsd %xmm2, %xmm4 + addsd (%rcx,%rdx,8), %xmm4 + addsd %xmm4, %xmm3 + movsd %xmm3, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm0, %xmm1 + addsd %xmm1, %xmm4 + movsd %xmm4, -32(%rsp) + movsd -40(%rsp), %xmm0 + movsd -32(%rsp), %xmm7 + cmpl $6, %esi + jae .LBL_2_7 + movsd 4808+__derfc_la__imldErfcTab(%rip), %xmm1 + movsd %xmm1, -48(%rsp) + jmp .LBL_2_8 + +.LBL_2_7: + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm8 + mulsd %xmm0, %xmm8 + movsd %xmm8, -40(%rsp) + movsd -40(%rsp), %xmm9 + subsd %xmm0, %xmm9 + movsd %xmm9, -32(%rsp) + movsd -40(%rsp), %xmm11 + movsd -32(%rsp), %xmm10 + movsd 4816+__derfc_la__imldErfcTab(%rip), %xmm9 + subsd %xmm10, %xmm11 + movsd %xmm11, -40(%rsp) + movsd -40(%rsp), %xmm12 + movsd 4760+__derfc_la__imldErfcTab(%rip), %xmm10 + subsd %xmm12, %xmm0 + movsd %xmm0, -32(%rsp) + movsd (%r8), %xmm14 + mulsd 4784+__derfc_la__imldErfcTab(%rip), %xmm14 + movsd -40(%rsp), %xmm6 + movsd -32(%rsp), %xmm13 + movsd %xmm14, -40(%rsp) + addsd %xmm13, %xmm7 + movsd -40(%rsp), %xmm15 + movsd 4744+__derfc_la__imldErfcTab(%rip), %xmm11 + subsd (%r8), %xmm15 + movsd %xmm15, -32(%rsp) + movsd -40(%rsp), %xmm1 + movsd -32(%rsp), %xmm0 + subsd %xmm0, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm3 + movsd (%r8), %xmm2 + subsd %xmm3, %xmm2 + movsd %xmm2, -32(%rsp) + movsd -40(%rsp), %xmm5 + movsd -32(%rsp), %xmm8 + movaps %xmm8, %xmm4 + mulsd %xmm5, %xmm4 + mulsd %xmm5, %xmm5 + mulsd %xmm8, %xmm8 + mulsd %xmm9, %xmm5 + addsd %xmm4, %xmm8 + mulsd %xmm5, %xmm10 + addsd %xmm4, %xmm8 + addsd 4776+__derfc_la__imldErfcTab(%rip), %xmm10 + movsd %xmm8, -40(%rsp) + movsd -40(%rsp), %xmm4 + movsd %xmm10, -56(%rsp) + movsd -56(%rsp), %xmm3 + mulsd %xmm9, %xmm4 + subsd 4776+__derfc_la__imldErfcTab(%rip), %xmm3 + mulsd %xmm3, %xmm11 + xorps .FLT_191(%rip), %xmm3 + subsd %xmm11, %xmm5 + mulsd 4752+__derfc_la__imldErfcTab(%rip), %xmm3 + movaps %xmm5, %xmm12 + movaps %xmm5, %xmm14 + movl -56(%rsp), %edi + movl %edi, %esi + andl $63, %esi + addsd %xmm3, %xmm12 + movsd %xmm12, -40(%rsp) + lea 466(%rsi,%rsi), %r10d + movsd -40(%rsp), %xmm13 + lea 465(%rsi,%rsi), %edx + shrl $6, %edi + subsd %xmm13, %xmm14 + movsd %xmm14, -32(%rsp) + addl $1023, %edi + movsd -40(%rsp), %xmm0 + movl %edi, %r11d + movsd -32(%rsp), %xmm15 + andl $2047, %r11d + shll $4, %r11d + addsd %xmm15, %xmm0 + movsd %xmm0, -24(%rsp) + movsd -32(%rsp), %xmm1 + addsd %xmm1, %xmm3 + movsd %xmm3, -32(%rsp) + movsd -24(%rsp), %xmm2 + subsd %xmm2, %xmm5 + movsd %xmm5, -24(%rsp) + movsd -32(%rsp), %xmm0 + movsd -24(%rsp), %xmm5 + addsd %xmm5, %xmm0 + movsd %xmm0, -24(%rsp) + movsd -40(%rsp), %xmm11 + movaps %xmm11, %xmm1 + movaps %xmm11, %xmm8 + movsd -24(%rsp), %xmm3 + addsd %xmm4, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm2 + movsd 3712+__derfc_la__imldErfcTab(%rip), %xmm0 + subsd %xmm2, %xmm8 + movsd %xmm8, -32(%rsp) + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm5 + addsd %xmm5, %xmm9 + movsd %xmm9, -24(%rsp) + movsd -32(%rsp), %xmm10 + addsd %xmm10, %xmm4 + movsd %xmm4, -32(%rsp) + movsd -24(%rsp), %xmm4 + subsd %xmm4, %xmm11 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm4 + movsd %xmm11, -24(%rsp) + movsd -32(%rsp), %xmm13 + movsd -24(%rsp), %xmm12 + addsd %xmm12, %xmm13 + movsd %xmm13, -24(%rsp) + movsd -40(%rsp), %xmm1 + mulsd %xmm1, %xmm0 + movaps %xmm1, %xmm14 + movsd -24(%rsp), %xmm2 + addsd 3704+__derfc_la__imldErfcTab(%rip), %xmm0 + addsd %xmm2, %xmm3 + mulsd %xmm1, %xmm0 + movsd (%rcx,%rdx,8), %xmm2 + addsd 3696+__derfc_la__imldErfcTab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 3688+__derfc_la__imldErfcTab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 3680+__derfc_la__imldErfcTab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + mulsd %xmm1, %xmm0 + addsd %xmm0, %xmm14 + movsd %xmm14, -32(%rsp) + movsd -32(%rsp), %xmm15 + subsd %xmm15, %xmm0 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm15 + addsd %xmm0, %xmm1 + movsd %xmm1, -24(%rsp) + movsd -32(%rsp), %xmm11 + mulsd %xmm11, %xmm4 + movsd -24(%rsp), %xmm0 + movsd %xmm4, -40(%rsp) + movsd -40(%rsp), %xmm5 + subsd %xmm11, %xmm5 + movsd %xmm5, -32(%rsp) + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm8 + subsd %xmm8, %xmm9 + movsd %xmm9, -40(%rsp) + movsd -40(%rsp), %xmm10 + subsd %xmm10, %xmm11 + movaps %xmm2, %xmm10 + movsd %xmm11, -32(%rsp) + movsd -40(%rsp), %xmm13 + movsd -32(%rsp), %xmm12 + mulsd %xmm13, %xmm10 + addsd %xmm3, %xmm12 + movsd (%rcx,%r10,8), %xmm3 + movaps %xmm10, %xmm4 + movaps %xmm3, %xmm1 + addsd %xmm12, %xmm0 + mulsd %xmm3, %xmm13 + mulsd %xmm0, %xmm1 + mulsd %xmm2, %xmm0 + addsd %xmm10, %xmm2 + addsd %xmm0, %xmm1 + addsd %xmm13, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm1 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm0, %xmm4 + movsd %xmm4, -32(%rsp) + movsd -40(%rsp), %xmm5 + movsd -32(%rsp), %xmm3 + addsd %xmm3, %xmm5 + movsd %xmm5, -24(%rsp) + movsd -32(%rsp), %xmm8 + addsd (%rcx,%rdx,8), %xmm8 + movsd %xmm8, -32(%rsp) + movsd -24(%rsp), %xmm9 + subsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -32(%rsp), %xmm12 + movsd -24(%rsp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -24(%rsp) + movsd -40(%rsp), %xmm3 + mulsd %xmm3, %xmm15 + movsd -24(%rsp), %xmm14 + movsd %xmm15, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm3, %xmm0 + addsd (%rcx,%r10,8), %xmm14 + movsd %xmm0, -32(%rsp) + addsd %xmm14, %xmm1 + movsd -40(%rsp), %xmm2 + movsd -32(%rsp), %xmm14 + movq 4792+__derfc_la__imldErfcTab(%rip), %rcx + subsd %xmm14, %xmm2 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm15 + movq %rcx, -48(%rsp) + subsd %xmm15, %xmm3 + movsd %xmm3, -32(%rsp) + movsd -40(%rsp), %xmm0 + movsd -32(%rsp), %xmm4 + shrq $48, %rcx + addsd %xmm1, %xmm4 + movaps %xmm0, %xmm1 + andl $-32753, %ecx + mulsd %xmm7, %xmm1 + orl %r11d, %ecx + mulsd %xmm4, %xmm7 + mulsd %xmm6, %xmm4 + mulsd %xmm6, %xmm0 + addsd %xmm4, %xmm7 + movw %cx, -42(%rsp) + addsd %xmm7, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm7 + +.LBL_2_8: + movb 7(%r8), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_19 + movsd (%r8), %xmm2 + movsd 4848+__derfc_la__imldErfcTab(%rip), %xmm1 + comisd %xmm2, %xmm1 + jbe .LBL_2_11 + addsd %xmm0, %xmm7 + mulsd -48(%rsp), %xmm7 + jmp .LBL_2_14 + +.LBL_2_11: + movq 4792+__derfc_la__imldErfcTab(%rip), %rdx + addl $200, %edi + movq %rdx, -48(%rsp) + andl $2047, %edi + shrq $48, %rdx + shll $4, %edi + andl $-32753, %edx + orl %edi, %edx + movw %dx, -42(%rsp) + movsd -48(%rsp), %xmm1 + mulsd %xmm1, %xmm0 + comisd 4840+__derfc_la__imldErfcTab(%rip), %xmm2 + mulsd %xmm1, %xmm7 + jbe .LBL_2_13 + addsd %xmm0, %xmm7 + mulsd 4768+__derfc_la__imldErfcTab(%rip), %xmm7 + movaps %xmm7, %xmm0 + mulsd %xmm7, %xmm0 + movsd %xmm0, -40(%rsp) + movsd -40(%rsp), %xmm1 + addsd %xmm1, %xmm7 + jmp .LBL_2_14 + +.LBL_2_13: + movaps %xmm7, %xmm1 + addsd %xmm0, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm2 + subsd %xmm2, %xmm0 + addsd %xmm0, %xmm7 + movsd %xmm7, -32(%rsp) + movsd -40(%rsp), %xmm6 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm7 + mulsd %xmm6, %xmm7 + movsd -32(%rsp), %xmm10 + movsd %xmm7, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm6, %xmm0 + movsd %xmm0, -32(%rsp) + movsd -40(%rsp), %xmm4 + movsd -32(%rsp), %xmm3 + subsd %xmm3, %xmm4 + movsd %xmm4, -40(%rsp) + movsd -40(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -32(%rsp) + movsd -40(%rsp), %xmm8 + movsd -32(%rsp), %xmm9 + mulsd 4768+__derfc_la__imldErfcTab(%rip), %xmm8 + addsd %xmm9, %xmm10 + mulsd 4768+__derfc_la__imldErfcTab(%rip), %xmm10 + movsd %xmm8, -40(%rsp) + movsd %xmm10, -32(%rsp) + movsd -40(%rsp), %xmm7 + movsd -32(%rsp), %xmm11 + addsd %xmm11, %xmm7 + +.LBL_2_14: + movsd %xmm7, (%r9) + ret + +.LBL_2_15: + movsd 4800+__derfc_la__imldErfcTab(%rip), %xmm0 + movl $4, %eax + movaps %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + movsd %xmm1, (%r9) + ret + +.LBL_2_16: + movsd 4800+__derfc_la__imldErfcTab(%rip), %xmm0 + movsd 4824+__derfc_la__imldErfcTab(%rip), %xmm1 + subsd %xmm0, %xmm1 + movsd %xmm1, (%r9) + ret + +.LBL_2_17: + movsd 4808+__derfc_la__imldErfcTab(%rip), %xmm0 + addsd (%r8), %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_19: + movsd -48(%rsp), %xmm1 + mulsd %xmm1, %xmm0 + mulsd %xmm1, %xmm7 + movsd 4824+__derfc_la__imldErfcTab(%rip), %xmm4 + xorps .FLT_191(%rip), %xmm0 + movaps %xmm4, %xmm2 + xorps .FLT_191(%rip), %xmm7 + addsd %xmm0, %xmm2 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm3 + subsd %xmm3, %xmm4 + addsd %xmm4, %xmm0 + movsd %xmm0, -32(%rsp) + movsd -40(%rsp), %xmm11 + movaps %xmm11, %xmm0 + movaps %xmm11, %xmm6 + movsd -32(%rsp), %xmm14 + addsd %xmm7, %xmm0 + movsd %xmm0, -40(%rsp) + movsd -40(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -32(%rsp) + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -24(%rsp) + movsd -32(%rsp), %xmm10 + addsd %xmm10, %xmm7 + movsd %xmm7, -32(%rsp) + movsd -24(%rsp), %xmm7 + subsd %xmm7, %xmm11 + movsd %xmm11, -24(%rsp) + movsd -32(%rsp), %xmm13 + movsd -24(%rsp), %xmm12 + addsd %xmm12, %xmm13 + movsd %xmm13, -24(%rsp) + movsd -40(%rsp), %xmm7 + movsd -24(%rsp), %xmm15 + addsd %xmm14, %xmm15 + addsd %xmm15, %xmm7 + jmp .LBL_2_14 + +.LBL_2_20: + testl $1048575, 4(%r8) + jne .LBL_2_22 + cmpl $0, (%r8) + je .LBL_2_23 + +.LBL_2_22: + movsd (%r8), %xmm0 + mulsd %xmm0, %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_23: + movb 7(%r8), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_25 + movq 4792+__derfc_la__imldErfcTab(%rip), %rdx + movq %rdx, (%r9) + ret + +.LBL_2_25: + movq 4824+__derfc_la__imldErfcTab(%rip), %rdx + movq %rdx, (%r9) + ret + + cfi_endproc + + .type __svml_derfc_cout_rare_internal,@function + .size __svml_derfc_cout_rare_internal,.-__svml_derfc_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_derfc_data_internal: + .long 0 + .long 1206910976 + .long 1346542445 + .long 1207045591 + .long 50877363 + .long 1206892489 + .long 427149405 + .long 1207045519 + .long 1203636035 + .long 1206874004 + .long 2077512391 + .long 1207045302 + .long 261641177 + .long 1206855524 + .long 2343319233 + .long 1207044941 + .long 2611097005 + .long 1206837050 + .long 1792097487 + .long 1207044436 + .long 742667950 + .long 1206818586 + .long 1217900872 + .long 1207043787 + .long 17746572 + .long 1206800133 + .long 1640824915 + .long 1207042994 + .long 1485057150 + .long 1206781693 + .long 11417604 + .long 1207042058 + .long 1877139253 + .long 1206763269 + .long 2094822099 + .long 1207040978 + .long 2196778830 + .long 1206744863 + .long 995044552 + .long 1207039756 + .long 3418552468 + .long 1206726477 + .long 2923726463 + .long 1207038391 + .long 2190388828 + .long 1206708114 + .long 1429174619 + .long 1207036885 + .long 3715018521 + .long 1206689775 + .long 3164864724 + .long 1207035237 + .long 271706986 + .long 1206671464 + .long 2118204713 + .long 1207033449 + .long 1277618326 + .long 1206653181 + .long 1083806794 + .long 1207031521 + .long 3219662471 + .long 1206634929 + .long 3071858204 + .long 1207029453 + .long 2536042782 + .long 1206616711 + .long 2716363190 + .long 1207027247 + .long 4202865851 + .long 1206598528 + .long 3453061548 + .long 1207024903 + .long 256011690 + .long 1206580384 + .long 337483221 + .long 1207022423 + .long 4147612174 + .long 1206562278 + .long 1517584741 + .long 1207019806 + .long 3498186200 + .long 1206544215 + .long 2461623467 + .long 1207017054 + .long 3043125272 + .long 1206526196 + .long 3135584772 + .long 1207014168 + .long 3154708737 + .long 1206508223 + .long 3705654820 + .long 1207011149 + .long 4133963693 + .long 1206490298 + .long 240577552 + .long 1207007999 + .long 1912633014 + .long 1206472424 + .long 1888734604 + .long 1207004717 + .long 935057006 + .long 1206454602 + .long 810473775 + .long 1207001306 + .long 1270297458 + .long 1206436834 + .long 2239870849 + .long 1206997766 + .long 2904178738 + .long 1206419122 + .long 3006777612 + .long 1206994099 + .long 1441443784 + .long 1206401469 + .long 123537259 + .long 1206990307 + .long 987830370 + .long 1206383876 + .long 3666566110 + .long 1206986389 + .long 1262396252 + .long 1206366345 + .long 2413196824 + .long 1206982349 + .long 1889767655 + .long 1206348878 + .long 2492870238 + .long 1206978187 + .long 2397476092 + .long 1206331477 + .long 1613725249 + .long 1206973905 + .long 2213352239 + .long 1206314144 + .long 1943804817 + .long 1206969504 + .long 662978241 + .long 1206296881 + .long 1517338984 + .long 1206964986 + .long 1262167059 + .long 1206279689 + .long 2820813657 + .long 1206960352 + .long 3124600979 + .long 1206262570 + .long 4199089955 + .long 1206955604 + .long 959466959 + .long 1206245527 + .long 4146348395 + .long 1206950744 + .long 2249024617 + .long 1206228560 + .long 1301992007 + .long 1206945774 + .long 1476565817 + .long 1206211672 + .long 3036413564 + .long 1206940694 + .long 1599080161 + .long 1206194864 + .long 3971924632 + .long 1206935507 + .long 1160248775 + .long 1206178138 + .long 3158326576 + .long 1206930215 + .long 2878342215 + .long 1206161495 + .long 4068552111 + .long 1206924819 + .long 759350432 + .long 1206144938 + .long 1709348165 + .long 1206919322 + .long 1569920526 + .long 1206128467 + .long 4091643817 + .long 1206913724 + .long 3360691744 + .long 1206112084 + .long 27554567 + .long 1206905083 + .long 4054472522 + .long 1206095791 + .long 4013208754 + .long 1206893499 + .long 1444554589 + .long 1206079590 + .long 2463469560 + .long 1206881728 + .long 1783033956 + .long 1206063481 + .long 3673248531 + .long 1206869772 + .long 2599401014 + .long 1206047466 + .long 3245080601 + .long 1206857636 + .long 1289007805 + .long 1206031547 + .long 1259566555 + .long 1206845324 + .long 3701609164 + .long 1206015724 + .long 2265889960 + .long 1206832839 + .long 2665207076 + .long 1206000000 + .long 2387383118 + .long 1206820186 + .long 3754609922 + .long 1205984375 + .long 2196854969 + .long 1206807369 + .long 3815426410 + .long 1205968851 + .long 2412015218 + .long 1206794392 + .long 3847873048 + .long 1205953429 + .long 3885838402 + .long 1206781259 + .long 415820508 + .long 1205938111 + .long 3301940522 + .long 1206767975 + .long 2825719252 + .long 1205922896 + .long 1754844591 + .long 1206754544 + .long 3060960472 + .long 1205907787 + .long 445338472 + .long 1206740970 + .long 1550887464 + .long 1205892785 + .long 670801289 + .long 1206727257 + .long 2875111473 + .long 1205877890 + .long 3815538169 + .long 1206713409 + .long 2877968408 + .long 1205863104 + .long 2751195712 + .long 1206699432 + .long 3105709255 + .long 1205834456 + .long 3301970792 + .long 1206685329 + .long 1788504625 + .long 1205805325 + .long 2760175517 + .long 1206671105 + .long 1204692060 + .long 1205776417 + .long 2761576465 + .long 1206656764 + .long 460329589 + .long 1205747734 + .long 685940062 + .long 1206642311 + .long 2661596630 + .long 1205719277 + .long 2532463670 + .long 1206627749 + .long 2029504855 + .long 1205691049 + .long 1435524088 + .long 1206613084 + .long 1079526751 + .long 1205663051 + .long 3425128494 + .long 1206598319 + .long 2031566030 + .long 1205635284 + .long 1647826366 + .long 1206583460 + .long 2515039812 + .long 1205607750 + .long 2127303697 + .long 1206568510 + .long 4159005984 + .long 1205580450 + .long 2280417801 + .long 1206553474 + .long 4002563329 + .long 1205553386 + .long 3793057312 + .long 1206538356 + .long 3085261414 + .long 1205526559 + .long 4021258398 + .long 1206523161 + .long 2152747646 + .long 1205499970 + .long 277321282 + .long 1206507894 + .long 1657519127 + .long 1205473620 + .long 2705965375 + .long 1206492557 + .long 1759810314 + .long 1205447510 + .long 4210920931 + .long 1206477156 + .long 2328614758 + .long 1205421641 + .long 1921243050 + .long 1206461696 + .long 2942839070 + .long 1205396014 + .long 1477876472 + .long 1206446180 + .long 2892587204 + .long 1205370630 + .long 4140476189 + .long 1206430612 + .long 1180573078 + .long 1205345490 + .long 2484292510 + .long 1206414998 + .long 818626740 + .long 1205320594 + .long 1866994493 + .long 1206399341 + .long 239422773 + .long 1205295943 + .long 3240926857 + .long 1206383645 + .long 1888199804 + .long 1205271537 + .long 3145379609 + .long 1206367915 + .long 3634730458 + .long 1205247377 + .long 2288940035 + .long 1206352155 + .long 3070310503 + .long 1205223464 + .long 1247094627 + .long 1206336369 + .long 1804862889 + .long 1205199798 + .long 454954036 + .long 1206320561 + .long 1174219619 + .long 1205176379 + .long 200137461 + .long 1206304735 + .long 2242480842 + .long 1205153207 + .long 615820036 + .long 1206288895 + .long 1509513978 + .long 1205130283 + .long 1673946580 + .long 1206273045 + .long 3798426746 + .long 1205107606 + .long 3178614907 + .long 1206257189 + .long 783403865 + .long 1205085178 + .long 464664423 + .long 1206241332 + .long 1057250629 + .long 1205062997 + .long 1571276620 + .long 1206225476 + .long 69490897 + .long 1205041064 + .long 1466080688 + .long 1206209626 + .long 1604166397 + .long 1205019378 + .long 3514079945 + .long 1206193785 + .long 603021279 + .long 1204997940 + .long 2292055455 + .long 1206177958 + .long 348513089 + .long 1204976749 + .long 762892997 + .long 1206162148 + .long 3877105099 + .long 1204955804 + .long 1680293156 + .long 1206146358 + .long 1097673547 + .long 1204935107 + .long 3288637392 + .long 1206130592 + .long 3154634384 + .long 1204914655 + .long 3612978933 + .long 1206114854 + .long 3776702241 + .long 1204894449 + .long 454258010 + .long 1206099148 + .long 755264802 + .long 1204874489 + .long 4269611837 + .long 1206083475 + .long 242958227 + .long 1204854773 + .long 3808238226 + .long 1206067841 + .long 3872440587 + .long 1204835300 + .long 466930684 + .long 1206052249 + .long 170196752 + .long 1204816072 + .long 3991103291 + .long 1206036700 + .long 2135121939 + .long 1204780347 + .long 2406207743 + .long 1206021200 + .long 2204772300 + .long 1204742858 + .long 668823419 + .long 1206005751 + .long 2090555098 + .long 1204705851 + .long 3483369050 + .long 1205990355 + .long 2922214527 + .long 1204669324 + .long 2413978135 + .long 1205975017 + .long 1131089702 + .long 1204633276 + .long 1651276306 + .long 1205959739 + .long 1343136585 + .long 1204597704 + .long 829681671 + .long 1205944524 + .long 3502231534 + .long 1204562606 + .long 3614704403 + .long 1205929374 + .long 2878456041 + .long 1204527981 + .long 520637331 + .long 1205914294 + .long 2961356576 + .long 1204493826 + .long 3268048090 + .long 1205899284 + .long 2583467835 + .long 1204460139 + .long 1832052951 + .long 1205884349 + .long 223766334 + .long 1204426918 + .long 3095161192 + .long 1205869490 + .long 2606146478 + .long 1204394159 + .long 1561666736 + .long 1205847022 + .long 3233174809 + .long 1204361861 + .long 2443607338 + .long 1205817626 + .long 3869560569 + .long 1204330021 + .long 3767899416 + .long 1205788398 + .long 1665925415 + .long 1204298637 + .long 4205206053 + .long 1205759343 + .long 2052408644 + .long 1204267705 + .long 1868283784 + .long 1205730466 + .long 1567527352 + .long 1204237223 + .long 2900434531 + .long 1205701770 + .long 751828015 + .long 1204207188 + .long 4294514068 + .long 1205673260 + .long 4156650932 + .long 1204177596 + .long 2482100151 + .long 1205644941 + .long 3173034702 + .long 1204148446 + .long 1923011912 + .long 1205616816 + .long 1810297448 + .long 1204119734 + .long 2220339163 + .long 1205588889 + .long 3819910772 + .long 1204091456 + .long 2415682179 + .long 1205561164 + .long 4114334111 + .long 1204063610 + .long 989760182 + .long 1205533645 + .long 1660673493 + .long 1204036193 + .long 158317606 + .long 1205506335 + .long 3784388464 + .long 1204009200 + .long 1578420540 + .long 1205479237 + .long 408205713 + .long 1203982630 + .long 2055072070 + .long 1205452355 + .long 2715514954 + .long 1203956477 + .long 2133042299 + .long 1205425692 + .long 209354155 + .long 1203930740 + .long 1804103059 + .long 1205399251 + .long 3670703943 + .long 1203905413 + .long 509530065 + .long 1205373035 + .long 2217394674 + .long 1203880495 + .long 1437865959 + .long 1205347046 + .long 1967346208 + .long 1203855981 + .long 2938068361 + .long 1205321287 + .long 277247869 + .long 1203831868 + .long 2817839853 + .long 1205295761 + .long 2930856690 + .long 1203808151 + .long 2642231032 + .long 1205270470 + .long 2672531088 + .long 1203784828 + .long 3442574974 + .long 1205245416 + .long 1380749029 + .long 1203758542 + .long 1425680479 + .long 1205220602 + .long 364049377 + .long 1203713447 + .long 863146005 + .long 1205196029 + .long 4135711256 + .long 1203669115 + .long 1211113923 + .long 1205171699 + .long 1408210142 + .long 1203625541 + .long 1410130595 + .long 1205147614 + .long 2141520247 + .long 1203582715 + .long 4185235532 + .long 1205123775 + .long 3199245553 + .long 1203540630 + .long 3166402837 + .long 1205100185 + .long 1249220745 + .long 1203499279 + .long 73967522 + .long 1205076845 + .long 1368967964 + .long 1203458653 + .long 429421420 + .long 1205053755 + .long 4176133851 + .long 1203418744 + .long 676472817 + .long 1205030917 + .long 1548671894 + .long 1203379546 + .long 1072100387 + .long 1205008332 + .long 2409600712 + .long 1203341049 + .long 1397920641 + .long 1204986001 + .long 2676986790 + .long 1203303246 + .long 966697529 + .long 1204963925 + .long 2458361401 + .long 1203266129 + .long 2923986376 + .long 1204942104 + .long 1770089909 + .long 1203229690 + .long 1370067789 + .long 1204920540 + .long 551492353 + .long 1203193921 + .long 2841771284 + .long 1204899232 + .long 2973710723 + .long 1203158813 + .long 549802159 + .long 1204878182 + .long 273514778 + .long 1203124360 + .long 155811627 + .long 1204857389 + .long 831519033 + .long 1203090552 + .long 2599921926 + .long 1204836853 + .long 120624626 + .long 1203057382 + .long 4108240803 + .long 1204816575 + .long 2193832135 + .long 1203024841 + .long 990911579 + .long 1204779288 + .long 2517108728 + .long 1202992922 + .long 114935845 + .long 1204739764 + .long 866783228 + .long 1202961617 + .long 4208768690 + .long 1204700754 + .long 1341793209 + .long 1202930917 + .long 2526808836 + .long 1204662260 + .long 3785748732 + .long 1202900814 + .long 743445360 + .long 1204624280 + .long 3798679449 + .long 1202871301 + .long 3789340407 + .long 1204586812 + .long 1338462853 + .long 1202842370 + .long 2982814329 + .long 1204549857 + .long 732062489 + .long 1202814012 + .long 1816057167 + .long 1204513413 + .long 2096574356 + .long 1202786219 + .long 3086740885 + .long 1204477478 + .long 1349949120 + .long 1202758984 + .long 324691238 + .long 1204442052 + .long 3106356116 + .long 1202732298 + .long 3578376465 + .long 1204407131 + .long 2718062803 + .long 1202695637 + .long 776951344 + .long 1204372716 + .long 1930105980 + .long 1202644417 + .long 696731218 + .long 1204338803 + .long 950295171 + .long 1202594249 + .long 2913260122 + .long 1204305390 + .long 1466075545 + .long 1202545117 + .long 2113142428 + .long 1204272476 + .long 1179247391 + .long 1202497006 + .long 995821495 + .long 1204240058 + .long 2413671232 + .long 1202449900 + .long 1700521760 + .long 1204208133 + .long 3542576522 + .long 1202403784 + .long 1528145825 + .long 1204176699 + .long 3300245566 + .long 1202358643 + .long 1548049162 + .long 1204145753 + .long 798204423 + .long 1202314462 + .long 2319876962 + .long 1204115292 + .long 4130823980 + .long 1202271224 + .long 3910320901 + .long 1204085313 + .long 325692601 + .long 1202228917 + .long 1614850098 + .long 1204055814 + .long 2602879339 + .long 1202187523 + .long 3154209172 + .long 1204026790 + .long 3144398209 + .long 1202147029 + .long 2921163421 + .long 1203998239 + .long 3172568008 + .long 1202107420 + .long 3471794055 + .long 1203970157 + .long 78186389 + .long 1202068682 + .long 2656954908 + .long 1203942541 + .long 317998187 + .long 1202030799 + .long 2228455793 + .long 1203915387 + .long 2246886747 + .long 1201993757 + .long 3560224787 + .long 1203888691 + .long 424399652 + .long 1201957543 + .long 3369342261 + .long 1203862450 + .long 2805678425 + .long 1201922141 + .long 2321839820 + .long 1203836660 + .long 687254462 + .long 1201887539 + .long 753451907 + .long 1203811317 + .long 3076865566 + .long 1201853721 + .long 2980148458 + .long 1203786416 + .long 2343311830 + .long 1201820675 + .long 267339392 + .long 1203758662 + .long 4290342208 + .long 1201788386 + .long 483064631 + .long 1203710608 + .long 2395492869 + .long 1201756842 + .long 649602217 + .long 1203663415 + .long 3588065350 + .long 1201726028 + .long 2890701232 + .long 1203617074 + .long 2487035226 + .long 1201695932 + .long 261234300 + .long 1203571578 + .long 1471322937 + .long 1201664985 + .long 2545983092 + .long 1203526916 + .long 1131684659 + .long 1201607584 + .long 1928478288 + .long 1203483081 + .long 1019023119 + .long 1201551540 + .long 3083934340 + .long 1203440063 + .long 3694032235 + .long 1201496827 + .long 1732151351 + .long 1203397854 + .long 45356648 + .long 1201443422 + .long 1844687288 + .long 1203356444 + .long 3659477281 + .long 1201391297 + .long 2786814309 + .long 1203315824 + .long 3585386022 + .long 1201340430 + .long 3638890659 + .long 1203275985 + .long 2997788379 + .long 1201290796 + .long 3222303380 + .long 1203236918 + .long 2024927897 + .long 1201242371 + .long 124941498 + .long 1203198614 + .long 2050458447 + .long 1201195131 + .long 1316127179 + .long 1203161062 + .long 1424608307 + .long 1201149053 + .long 696292715 + .long 1203124254 + .long 4059487722 + .long 1201104113 + .long 595841400 + .long 1203088180 + .long 2253849626 + .long 1201060290 + .long 3208742923 + .long 1203052830 + .long 2466795813 + .long 1201017560 + .long 2025629493 + .long 1203018196 + .long 3846130990 + .long 1200975901 + .long 3331159491 + .long 1202984267 + .long 2525824555 + .long 1200935292 + .long 456233562 + .long 1202951035 + .long 217759517 + .long 1200895711 + .long 3864275015 + .long 1202918488 + .long 4212882670 + .long 1200857135 + .long 2517520227 + .long 1202886619 + .long 1611902917 + .long 1200819546 + .long 2552204883 + .long 1202855417 + .long 2274834387 + .long 1200782921 + .long 1528723567 + .long 1202824873 + .long 165545170 + .long 1200747241 + .long 1335976541 + .long 1202794977 + .long 3415183250 + .long 1200712484 + .long 3915328100 + .long 1202765719 + .long 4255476983 + .long 1200678632 + .long 2689078049 + .long 1202737091 + .long 491076056 + .long 1200645666 + .long 3811402329 + .long 1202701493 + .long 3877912124 + .long 1200607609 + .long 3249658772 + .long 1202646696 + .long 720132827 + .long 1200545101 + .long 4058137866 + .long 1202593100 + .long 3334971130 + .long 1200484248 + .long 2585699919 + .long 1202540687 + .long 304030744 + .long 1200425016 + .long 4081392135 + .long 1202489437 + .long 4198826078 + .long 1200367366 + .long 1250224180 + .long 1202439333 + .long 30057652 + .long 1200311266 + .long 52563989 + .long 1202390355 + .long 1070161017 + .long 1200256678 + .long 2552846462 + .long 1202342484 + .long 1595763285 + .long 1200203569 + .long 2652176382 + .long 1202295703 + .long 2643737761 + .long 1200151905 + .long 3294767379 + .long 1202249993 + .long 3406705443 + .long 1200101653 + .long 3608617230 + .long 1202205336 + .long 1217687217 + .long 1200052781 + .long 3225068209 + .long 1202161714 + .long 123937378 + .long 1200005256 + .long 2302425099 + .long 1202119109 + .long 2280185010 + .long 1199959046 + .long 1548607803 + .long 1202077503 + .long 3636149723 + .long 1199914121 + .long 2242848736 + .long 1202036878 + .long 2508296020 + .long 1199870451 + .long 1961478441 + .long 1201997217 + .long 3855986450 + .long 1199828005 + .long 3187679808 + .long 1201958502 + .long 2082193349 + .long 1199786755 + .long 445484238 + .long 1201920717 + .long 2488339928 + .long 1199746671 + .long 1792596734 + .long 1201883843 + .long 4073887589 + .long 1199707725 + .long 3067683861 + .long 1201847864 + .long 3810239464 + .long 1199669890 + .long 791483465 + .long 1201812764 + .long 914151082 + .long 1199633139 + .long 772076534 + .long 1201778525 + .long 1120675183 + .long 1199597444 + .long 939498435 + .long 1201745131 + .long 3256628770 + .long 1199554615 + .long 4244278389 + .long 1201712565 + .long 3627128881 + .long 1199487296 + .long 1490379385 + .long 1201680813 + .long 2120336144 + .long 1199421937 + .long 2823928994 + .long 1201631618 + .long 1765947554 + .long 1199358488 + .long 1239644147 + .long 1201571268 + .long 1218012185 + .long 1199296901 + .long 1583294687 + .long 1201512448 + .long 3296314225 + .long 1199237128 + .long 183503499 + .long 1201455128 + .long 2052340391 + .long 1199179124 + .long 3539777017 + .long 1201399276 + .long 4194453158 + .long 1199122842 + .long 2569008951 + .long 1201344864 + .long 3267936730 + .long 1199068239 + .long 2685116163 + .long 1201291861 + .long 1079240889 + .long 1199015271 + .long 2337656347 + .long 1201240238 + .long 3350022228 + .long 1198963894 + .long 1613838398 + .long 1201189966 + .long 2485927252 + .long 1198914068 + .long 2249252296 + .long 1201141016 + .long 3294733735 + .long 1198865751 + .long 3342318405 + .long 1201093360 + .long 1459577642 + .long 1198818904 + .long 1362423571 + .long 1201046971 + .long 666651046 + .long 1198773487 + .long 3041711418 + .long 1201001820 + .long 3962900071 + .long 1198729461 + .long 3905919518 + .long 1200957881 + .long 818596788 + .long 1198686791 + .long 1163773073 + .long 1200915128 + .long 1434429043 + .long 1198645438 + .long 2300262366 + .long 1200873533 + .long 2329026599 + .long 1198605367 + .long 3604033067 + .long 1200833071 + .long 3466042262 + .long 1198566543 + .long 3053431638 + .long 1200793717 + .long 3906377289 + .long 1198528932 + .long 316598267 + .long 1200755446 + .long 3510774357 + .long 1198462634 + .long 1045509085 + .long 1200718232 + .long 1105165605 + .long 1198392065 + .long 3989163593 + .long 1200682051 + .long 1258041369 + .long 1198323725 + .long 990720597 + .long 1200646881 + .long 2404431008 + .long 1198257552 + .long 1212065788 + .long 1200605873 + .long 647402463 + .long 1198193486 + .long 363369668 + .long 1200539430 + .long 2538405566 + .long 1198131466 + .long 1763689544 + .long 1200474867 + .long 3498248820 + .long 1198071435 + .long 2478908466 + .long 1200412140 + .long 598237051 + .long 1198013337 + .long 2888078907 + .long 1200351205 + .long 1046813088 + .long 1197957115 + .long 2372613493 + .long 1200292019 + .long 611946541 + .long 1197902716 + .long 3593940430 + .long 1200234539 + .long 698791439 + .long 1197850087 + .long 3884847023 + .long 1200178724 + .long 3953113699 + .long 1197799176 + .long 3819341470 + .long 1200124533 + .long 1275431627 + .long 1197749935 + .long 2896320203 + .long 1200071926 + .long 1785516500 + .long 1197702313 + .long 3811934768 + .long 1200020863 + .long 2658075811 + .long 1197656263 + .long 3845878455 + .long 1199971306 + .long 1908870261 + .long 1197611739 + .long 3426419565 + .long 1199923217 + .long 2591691137 + .long 1197568695 + .long 1809465164 + .long 1199876559 + .long 4111263313 + .long 1197527087 + .long 1346545806 + .long 1199831295 + .long 2126941198 + .long 1197486873 + .long 3161905125 + .long 1199787389 + .long 2684388225 + .long 1197422228 + .long 2828680980 + .long 1199744807 + .long 755438789 + .long 1197347123 + .long 3224098489 + .long 1199703514 + .long 535633520 + .long 1197274559 + .long 1614052134 + .long 1199663477 + .long 145652768 + .long 1197204459 + .long 2506733613 + .long 1199624662 + .long 2164980194 + .long 1197136747 + .long 440778734 + .long 1199587038 + .long 565808634 + .long 1197071351 + .long 2854914290 + .long 1199530200 + .long 2008744273 + .long 1197008198 + .long 2885144677 + .long 1199459524 + .long 4190934916 + .long 1196947219 + .long 2850023781 + .long 1199391043 + .long 4261100768 + .long 1196888347 + .long 1599866748 + .long 1199324698 + .long 2941760987 + .long 1196831516 + .long 3477767080 + .long 1199260430 + .long 63717712 + .long 1196776662 + .long 1069144869 + .long 1199198184 + .long 2987660479 + .long 1196723721 + .long 900163108 + .long 1199137903 + .long 668274663 + .long 1196672635 + .long 1890778166 + .long 1199079533 + .long 2145123221 + .long 1196623343 + .long 3871912933 + .long 1199023021 + .long 2021367351 + .long 1196575789 + .long 3217154659 + .long 1198968316 + .long 1779361725 + .long 1196529917 + .long 1358854176 + .long 1198915367 + .long 1033792901 + .long 1196485673 + .long 418893404 + .long 1198864124 + .long 1672046224 + .long 1196443004 + .long 3134058972 + .long 1198814538 + .long 2518982689 + .long 1196378503 + .long 4191186495 + .long 1198766563 + .long 2958996638 + .long 1196299163 + .long 3036910975 + .long 1198720153 + .long 3086838896 + .long 1196222676 + .long 3802347199 + .long 1198675262 + .long 385722554 + .long 1196148949 + .long 2342760329 + .long 1198631847 + .long 3998563877 + .long 1196077889 + .long 3341957742 + .long 1198589864 + .long 87254148 + .long 1196009411 + .long 3056948772 + .long 1198549272 + .long 3095992768 + .long 1195943426 + .long 4254871605 + .long 1198497692 + .long 3940115181 + .long 1195879853 + .long 2411097017 + .long 1198421828 + .long 4098968059 + .long 1195818611 + .long 1761415536 + .long 1198348506 + .long 2468833901 + .long 1195759622 + .long 3209400075 + .long 1198277650 + .long 3695367177 + .long 1195702809 + .long 2939049396 + .long 1198209187 + .long 740884341 + .long 1195648100 + .long 855986431 + .long 1198143045 + .long 405964292 + .long 1195595422 + .long 439408485 + .long 1198079153 + .long 1611023357 + .long 1195544706 + .long 4870352 + .long 1198017443 + .long 3747250910 + .long 1195495885 + .long 1147781519 + .long 1197957848 + .long 2147205098 + .long 1195448895 + .long 7952899 + .long 1197900304 + .long 739809950 + .long 1195403672 + .long 9969043 + .long 1197844747 + .long 2175065132 + .long 1195343669 + .long 3129779709 + .long 1197791115 + .long 35922275 + .long 1195259928 + .long 1162410711 + .long 1197739350 + .long 289430317 + .long 1195179365 + .long 1350592543 + .long 1197689392 + .long 2130790703 + .long 1195101869 + .long 475017707 + .long 1197641185 + .long 2602609822 + .long 1195027333 + .long 1895560955 + .long 1197594673 + .long 482965402 + .long 1194955653 + .long 2529068952 + .long 1197549803 + .long 182011559 + .long 1194886727 + .long 1303374431 + .long 1197506523 + .long 2762132438 + .long 1194820457 + .long 2340583905 + .long 1197455771 + .long 1261422786 + .long 1194756750 + .long 765339184 + .long 1197375267 + .long 1795238570 + .long 1194695513 + .long 1905645544 + .long 1197297645 + .long 1716245212 + .long 1194636658 + .long 4160263103 + .long 1197222812 + .long 2142276893 + .long 1194580099 + .long 45342386 + .long 1197150679 + .long 3312299510 + .long 1194525753 + .long 1710715325 + .long 1197081155 + .long 4245212051 + .long 1194473540 + .long 2034959285 + .long 1197014156 + .long 2406415709 + .long 1194423383 + .long 148304367 + .long 1196949599 + .long 1971980395 + .long 1194375206 + .long 1189117402 + .long 1196887402 + .long 625531275 + .long 1194328937 + .long 3178906437 + .long 1196827487 + .long 4264776086 + .long 1194240946 + .long 1080654215 + .long 1196769779 + .long 2007514154 + .long 1194155623 + .long 3745546411 + .long 1196714202 + .long 3055785332 + .long 1194073708 + .long 3618581269 + .long 1196660686 + .long 602312935 + .long 1193995076 + .long 2282300494 + .long 1196609161 + .long 1956681550 + .long 1193919603 + .long 1644348923 + .long 1196559559 + .long 2225203411 + .long 1193847172 + .long 3718552903 + .long 1196511814 + .long 954027975 + .long 1193777669 + .long 1819661463 + .long 1196465864 + .long 1605727392 + .long 1193710983 + .long 3652931310 + .long 1196418076 + .long 2459066821 + .long 1193647008 + .long 997716742 + .long 1196332986 + .long 406570096 + .long 1193585642 + .long 611465250 + .long 1196251125 + .long 3354687429 + .long 1193526784 + .long 1268352122 + .long 1196172381 + .long 3981698935 + .long 1193470340 + .long 3774361106 + .long 1196096645 + .long 752474260 + .long 1193416218 + .long 1990048797 + .long 1196023813 + .long 1765353679 + .long 1193364327 + .long 3925276832 + .long 1195953781 + .long 2840991520 + .long 1193314582 + .long 1301510391 + .long 1195886452 + .long 4259927893 + .long 1193254313 + .long 3545772009 + .long 1195821728 + .long 3693588763 + .long 1193162916 + .long 3072231739 + .long 1195759518 + .long 2850284336 + .long 1193075331 + .long 700415168 + .long 1195699732 + .long 2842573630 + .long 1192991409 + .long 1015674294 + .long 1195642282 + .long 1971639083 + .long 1192911007 + .long 3441679162 + .long 1195587084 + .long 3576452809 + .long 1192833986 + .long 1909782298 + .long 1195534058 + .long 2428555655 + .long 1192760214 + .long 1715136991 + .long 1195483124 + .long 1211628099 + .long 1192689562 + .long 2019904798 + .long 1195434206 + .long 1250853282 + .long 1192621906 + .long 4133034056 + .long 1195387230 + .long 1851389544 + .long 1192557127 + .long 938778593 + .long 1195307613 + .long 3950568275 + .long 1192495110 + .long 45480017 + .long 1195221009 + .long 903535184 + .long 1192435746 + .long 316452781 + .long 1195137876 + .long 3646566965 + .long 1192378926 + .long 2721989136 + .long 1195058085 + .long 1453411830 + .long 1192324550 + .long 1032835521 + .long 1194981513 + .long 18175644 + .long 1192272518 + .long 2753065605 + .long 1194908038 + .long 3145779265 + .long 1192214557 + .long 2820848798 + .long 1194837545 + .long 107628912 + .long 1192119307 + .long 271267104 + .long 1194769922 + .long 4107029421 + .long 1192028195 + .long 2026441674 + .long 1194705059 + .long 1087761611 + .long 1191941055 + .long 927900277 + .long 1194642853 + .long 307944566 + .long 1191857722 + .long 1025459971 + .long 1194583202 + .long 3321034596 + .long 1191778039 + .long 4223106765 + .long 1194526008 + .long 3050560266 + .long 1191701857 + .long 1231370686 + .long 1194471179 + .long 72976587 + .long 1191629031 + .long 1185758032 + .long 1194418622 + .long 1748196108 + .long 1191559420 + .long 1146814719 + .long 1194368250 + .long 4197104189 + .long 1191492891 + .long 1416679249 + .long 1194311893 + .long 75049976 + .long 1191429317 + .long 3168049461 + .long 1194219387 + .long 3550708412 + .long 1191368571 + .long 1524549056 + .long 1194130762 + .long 2295341385 + .long 1191310537 + .long 1702683749 + .long 1194045865 + .long 3985535338 + .long 1191255099 + .long 2214749525 + .long 1193964550 + .long 1225120464 + .long 1191202149 + .long 2714889529 + .long 1193886676 + .long 1829070661 + .long 1191120824 + .long 3275007653 + .long 1193812107 + .long 4205814399 + .long 1191024246 + .long 3680105052 + .long 1193740712 + .long 3558283643 + .long 1190932035 + .long 2742671543 + .long 1193672365 + .long 1368291099 + .long 1190844004 + .long 1930731778 + .long 1193606944 + .long 1107333850 + .long 1190759973 + .long 424277854 + .long 1193544332 + .long 2762251023 + .long 1190679770 + .long 3074559673 + .long 1193484415 + .long 1694712362 + .long 1190603231 + .long 2611163775 + .long 1193427086 + .long 423384109 + .long 1190530197 + .long 521028298 + .long 1193372240 + .long 3262935470 + .long 1190460515 + .long 2174524969 + .long 1193319775 + .long 2408777002 + .long 1190394041 + .long 2461272610 + .long 1193259703 + .long 2711150200 + .long 1190330634 + .long 1131027093 + .long 1193163727 + .long 3533190736 + .long 1190270160 + .long 2009173253 + .long 1193071954 + .long 2116497812 + .long 1190212491 + .long 1615100380 + .long 1192984212 + .long 1273385131 + .long 1190157503 + .long 3221825245 + .long 1192900334 + .long 4155053738 + .long 1190076395 + .long 3000825785 + .long 1192820161 + .long 1758878006 + .long 1189976444 + .long 1965540345 + .long 1192743539 + .long 2766645519 + .long 1189881174 + .long 763189321 + .long 1192670320 + .long 1964420580 + .long 1189790378 + .long 3084060488 + .long 1192600361 + .long 1485372834 + .long 1189703856 + .long 1917799745 + .long 1192533527 + .long 767302183 + .long 1189621417 + .long 195668558 + .long 1192469686 + .long 3741266063 + .long 1189542877 + .long 1393620869 + .long 1192408711 + .long 300056427 + .long 1189468063 + .long 160341434 + .long 1192350482 + .long 3649364408 + .long 1189396804 + .long 3034396383 + .long 1192294881 + .long 1806209700 + .long 1189328942 + .long 1940473490 + .long 1192241798 + .long 3631796850 + .long 1189264321 + .long 2791683145 + .long 1192151337 + .long 3303712376 + .long 1189202795 + .long 1284377069 + .long 1192054603 + .long 665026035 + .long 1189144223 + .long 3138430378 + .long 1191962283 + .long 139530854 + .long 1189088469 + .long 3254443766 + .long 1191874188 + .long 2193410757 + .long 1188985624 + .long 3585789915 + .long 1191790135 + .long 2279902137 + .long 1188884626 + .long 3340902607 + .long 1191709949 + .long 3158874884 + .long 1188788523 + .long 2109898645 + .long 1191633462 + .long 111907920 + .long 1188697090 + .long 3029561298 + .long 1191560512 + .long 758714779 + .long 1188610109 + .long 3100733692 + .long 1191490945 + .long 1851518241 + .long 1188527374 + .long 721863346 + .long 1191424613 + .long 494080266 + .long 1188448688 + .long 3257818550 + .long 1191361372 + .long 1128508114 + .long 1188373861 + .long 283247917 + .long 1191301088 + .long 1107855303 + .long 1188302713 + .long 1283760382 + .long 1191243628 + .long 2097105541 + .long 1188235071 + .long 375021366 + .long 1191188868 + .long 55906062 + .long 1188170771 + .long 2365640311 + .long 1191091038 + .long 1045754894 + .long 1188109654 + .long 1902930970 + .long 1190991605 + .long 2730220550 + .long 1188051570 + .long 903220739 + .long 1190896880 + .long 3391824117 + .long 1187956144 + .long 2063855685 + .long 1190806651 + .long 1645250570 + .long 1187851260 + .long 3397372173 + .long 1190720716 + .long 3337124928 + .long 1187751617 + .long 1034711862 + .long 1190638882 + .long 2392623567 + .long 1187656966 + .long 670870767 + .long 1190560962 + .long 2855811992 + .long 1187567067 + .long 3291650888 + .long 1190486778 + .long 3925245147 + .long 1187481692 + .long 3834664178 + .long 1190416161 + .long 2251621597 + .long 1187400624 + .long 2783069783 + .long 1190348948 + .long 2904614083 + .long 1187323654 + .long 625790851 + .long 1190284983 + .long 351319354 + .long 1187250585 + .long 952568083 + .long 1190224116 + .long 2458009216 + .long 1187181226 + .long 707602500 + .long 1190166205 + .long 3023227275 + .long 1187115398 + .long 3920299786 + .long 1190088466 + .long 1623889056 + .long 1187052929 + .long 187138140 + .long 1189983661 + .long 2052401444 + .long 1186993654 + .long 4197216078 + .long 1189883982 + .long 159585894 + .long 1186886803 + .long 3910421342 + .long 1189789193 + .long 2689391899 + .long 1186780106 + .long 2296866372 + .long 1189699065 + .long 1292865093 + .long 1186678903 + .long 2605637707 + .long 1189613379 + .long 4193803455 + .long 1186582921 + .long 2292620388 + .long 1189531927 + .long 1344496405 + .long 1186491904 + .long 4195044292 + .long 1189454509 + .long 648372691 + .long 1186405604 + .long 2000853903 + .long 1189380936 + .long 4154001065 + .long 1186323786 + .long 140279194 + .long 1189311025 + .long 1526017247 + .long 1186246229 + .long 3672993662 + .long 1189244601 + .long 2264105494 + .long 1186172718 + .long 3938617616 + .long 1189181500 + .long 3587237553 + .long 1186103051 + .long 2918251757 + .long 1189121563 + .long 1353891759 + .long 1186037036 + .long 2286364164 + .long 1189044093 + .long 1065238633 + .long 1185974488 + .long 1376975757 + .long 1188935979 + .long 2061560822 + .long 1185891009 + .long 3549789914 + .long 1188833324 + .long 2760845449 + .long 1185778750 + .long 3134081244 + .long 1188735866 + .long 530537277 + .long 1185672427 + .long 3217770792 + .long 1188643353 + .long 1733113451 + .long 1185571737 + .long 544573006 + .long 1188555546 + .long 2585319511 + .long 1185476394 + .long 563778522 + .long 1188472215 + .long 3442371581 + .long 1185386125 + .long 2499998483 + .long 1188393142 + .long 1732588126 + .long 1185300671 + .long 1684473986 + .long 1188318120 + .long 2192143396 + .long 1185219784 + .long 555072738 + .long 1188246950 + .long 1445437161 + .long 1185143230 + .long 2552316963 + .long 1188179442 + .long 2760998619 + .long 1185070785 + .long 1793581277 + .long 1188115417 + .long 848895324 + .long 1185002238 + .long 2882522604 + .long 1188054702 + .long 1119834196 + .long 1184937386 + .long 4263347778 + .long 1187957660 + .long 774695134 + .long 1184861196 + .long 2125306315 + .long 1187848505 + .long 4046999064 + .long 1184745142 + .long 1283904372 + .long 1187745033 + .long 2279487483 + .long 1184635386 + .long 4039517916 + .long 1187646960 + .long 4132486823 + .long 1184531597 + .long 1769278009 + .long 1187554018 + .long 3108170364 + .long 1184433464 + .long 2403362003 + .long 1187465948 + .long 4242912216 + .long 1184340689 + .long 2174681212 + .long 1187382506 + .long 3706766119 + .long 1184252991 + .long 422102777 + .long 1187303459 + .long 2908081209 + .long 1184170102 + .long 1608658464 + .long 1187228584 + .long 1262557489 + .long 1184091768 + .long 255934547 + .long 1187157671 + .long 1980592775 + .long 1184017747 + .long 330542066 + .long 1187090518 + .long 802491272 + .long 1183947811 + .long 359609029 + .long 1187026934 + .long 625767904 + .long 1183881742 + .long 212821653 + .long 1186945442 + .long 959428932 + .long 1183796364 + .long 1771024860 + .long 1186831475 + .long 3583758374 + .long 1183678478 + .long 3323366318 + .long 1186723606 + .long 3753730331 + .long 1183567152 + .long 3333784466 + .long 1186621522 + .long 825237823 + .long 1183462034 + .long 1884899977 + .long 1186524925 + .long 3439782939 + .long 1183362788 + .long 1901768341 + .long 1186433531 + .long 4206366388 + .long 1183269099 + .long 1919585796 + .long 1186347071 + .long 1807556903 + .long 1183180667 + .long 1864802922 + .long 1186265289 + .long 1802395274 + .long 1183097206 + .long 369621280 + .long 1186187942 + .long 413550172 + .long 1183018447 + .long 794742200 + .long 1186114798 + .long 2831089956 + .long 1182944133 + .long 185746157 + .long 1186045638 + .long 3011478645 + .long 1182874023 + .long 4108134519 + .long 1185980252 + .long 2274544279 + .long 1182807887 + .long 1569140952 + .long 1185897433 + .long 240075334 + .long 1182697287 + .long 3808394293 + .long 1185780593 + .long 414659095 + .long 1182579627 + .long 3847034202 + .long 1185670173 + .long 2855208574 + .long 1182468676 + .long 3767465203 + .long 1185565833 + .long 3960422599 + .long 1182364065 + .long 2207887660 + .long 1185467251 + .long 2830795555 + .long 1182265444 + .long 3687336940 + .long 1185374120 + .long 1276516494 + .long 1182172481 + .long 2322652348 + .long 1185286151 + .long 4032875808 + .long 1182084861 + .long 60084372 + .long 1185203068 + .long 1993835701 + .long 1182002289 + .long 3580394494 + .long 1185124608 + .long 2879202050 + .long 1181924482 + .long 4166097879 + .long 1185050525 + .long 1952530496 + .long 1181851175 + .long 654319384 + .long 1184980584 + .long 155636437 + .long 1181782116 + .long 1044918721 + .long 1184914560 + .long 1864553902 + .long 1181688980 + .long 1221590325 + .long 1184813605 + .long 1531556702 + .long 1181566449 + .long 1858992497 + .long 1184695981 + .long 2681229713 + .long 1181451060 + .long 2222963862 + .long 1184584988 + .long 742600436 + .long 1181342411 + .long 4044534932 + .long 1184480265 + .long 3788241131 + .long 1181240119 + .long 4037682077 + .long 1184381471 + .long 1836365516 + .long 1181143826 + .long 2751298525 + .long 1184288282 + .long 823495679 + .long 1181053190 + .long 726747225 + .long 1184200391 + .long 976974817 + .long 1180967889 + .long 3427405224 + .long 1184117506 + .long 1180580245 + .long 1180887619 + .long 572377531 + .long 1184039354 + .long 3552803549 + .long 1180812092 + .long 1471006056 + .long 1183965672 + .long 1047773877 + .long 1180741038 + .long 1796687607 + .long 1183896214 + .long 3512431543 + .long 1180651821 + .long 4103915186 + .long 1183819188 + .long 3700696711 + .long 1180526088 + .long 817191958 + .long 1183695790 + .long 3306321633 + .long 1180407843 + .long 1436794216 + .long 1183579509 + .long 798219638 + .long 1180296654 + .long 2657182346 + .long 1183469949 + .long 3780864915 + .long 1180192111 + .long 2406257951 + .long 1183366735 + .long 1953220459 + .long 1180093831 + .long 3738473273 + .long 1183269511 + .long 483533296 + .long 1180001449 + .long 1777519924 + .long 1183177942 + .long 2116839037 + .long 1179914621 + .long 942680177 + .long 1183091709 + .long 2426322617 + .long 1179833024 + .long 2319192650 + .long 1183010511 + .long 2490757881 + .long 1179756352 + .long 4112632783 + .long 1182934064 + .long 331167207 + .long 1179684317 + .long 2293150261 + .long 1182862100 + .long 3794606312 + .long 1179585291 + .long 10642342 + .long 1182794364 + .long 106597492 + .long 1179458165 + .long 5176375 + .long 1182667502 + .long 2017706439 + .long 1179338769 + .long 2922557803 + .long 1182547524 + .long 3098312590 + .long 1179226648 + .long 2705392296 + .long 1182434638 + .long 1611707565 + .long 1179121372 + .long 359265373 + .long 1182328438 + .long 2925582418 + .long 1179022534 + .long 2889113445 + .long 1182228539 + .long 775722638 + .long 1178929753 + .long 1020973057 + .long 1182134581 + .long 1789898952 + .long 1178842667 + .long 3016231241 + .long 1182046220 + .long 3061909295 + .long 1178760937 + .long 11971917 + .long 1181963135 + .long 70206555 + .long 1178684244 + .long 314571880 + .long 1181885019 + .long 3452019676 + .long 1178612284 + .long 3786258409 + .long 1181811584 + .long 389782096 + .long 1178490128 + .long 131461034 + .long 1181739969 + .long 1933280941 + .long 1178363476 + .long 2699979079 + .long 1181610226 + .long 3545561476 + .long 1178244686 + .long 411815652 + .long 1181488306 + .long 3327242340 + .long 1178133284 + .long 1157099645 + .long 1181373750 + .long 2636036737 + .long 1178028823 + .long 3456465376 + .long 1181266127 + .long 3641118101 + .long 1177930882 + .long 3319603447 + .long 1181165031 + .long 2949286685 + .long 1177839066 + .long 1417286464 + .long 1181070078 + .long 2758669454 + .long 1177753002 + .long 1961438867 + .long 1180980905 + .long 867089359 + .long 1177672340 + .long 3278475384 + .long 1180897171 + .long 2467520448 + .long 1177596749 + .long 1536658680 + .long 1180818555 + .long 54281420 + .long 1177500993 + .long 3319082773 + .long 1180744752 + .long 1382599979 + .long 1177368274 + .long 3864661119 + .long 1180654379 + .long 531749116 + .long 1177243946 + .long 2380952407 + .long 1180524346 + .long 801438741 + .long 1177127492 + .long 1526944091 + .long 1180402321 + .long 482793272 + .long 1177018427 + .long 2121831560 + .long 1180287825 + .long 2382433162 + .long 1176916294 + .long 3741717358 + .long 1180180407 + .long 2298486148 + .long 1176820665 + .long 2372148486 + .long 1180079643 + .long 3670337717 + .long 1176731136 + .long 1301376174 + .long 1179985132 + .long 2545879962 + .long 1176647329 + .long 876419281 + .long 1179896497 + .long 2975243646 + .long 1176568887 + .long 1464367617 + .long 1179813383 + .long 1068970556 + .long 1176488681 + .long 2422592759 + .long 1179735456 + .long 1065447314 + .long 1176351292 + .long 1357171196 + .long 1179662402 + .long 36443348 + .long 1176222746 + .long 194145400 + .long 1179539849 + .long 277541600 + .long 1176102488 + .long 380152291 + .long 1179411489 + .long 3191931911 + .long 1175989997 + .long 1583684278 + .long 1179291200 + .long 716578025 + .long 1175884786 + .long 2165635186 + .long 1179178489 + .long 1597399547 + .long 1175786394 + .long 1516692231 + .long 1179072892 + .long 2292298793 + .long 1175694391 + .long 1455793348 + .long 1178973972 + .long 1260833614 + .long 1175608373 + .long 3729863063 + .long 1178881318 + .long 781854479 + .long 1175527960 + .long 3593934135 + .long 1178794545 + .long 1142478096 + .long 1175451896 + .long 926645059 + .long 1178713290 + .long 715936744 + .long 1175311398 + .long 3092460447 + .long 1178637210 + .long 1321299109 + .long 1175180103 + .long 410724451 + .long 1178532549 + .long 3490196338 + .long 1175057423 + .long 1647694055 + .long 1178399208 + .long 1489257357 + .long 1174942808 + .long 2719124395 + .long 1178274408 + .long 3916138161 + .long 1174835739 + .long 1706837060 + .long 1178157617 + .long 3308714279 + .long 1174735733 + .long 1950214717 + .long 1178048334 + .long 2110514297 + .long 1174642335 + .long 3939307600 + .long 1177946089 + .long 473688087 + .long 1174555119 + .long 1960757033 + .long 1177850442 + .long 1706251155 + .long 1174473685 + .long 2651595104 + .long 1177760977 + .long 1955087026 + .long 1174390200 + .long 1012882634 + .long 1177677306 + .long 413369922 + .long 1174248266 + .long 4055189249 + .long 1177599062 + .long 3731706443 + .long 1174115790 + .long 2246068185 + .long 1177500961 + .long 2006983205 + .long 1173992159 + .long 2274647687 + .long 1177364171 + .long 2472447546 + .long 1173876795 + .long 2890637209 + .long 1177236303 + .long 2005028622 + .long 1173769159 + .long 4153511196 + .long 1177116790 + .long 3197815683 + .long 1173668745 + .long 1929129059 + .long 1177005101 + .long 947775372 + .long 1173575081 + .long 357577118 + .long 1176900736 + .long 3949709160 + .long 1173487722 + .long 3367143719 + .long 1176803226 + .long 870490998 + .long 1173406256 + .long 2385315144 + .long 1176712134 + .long 45440291 + .long 1173304042 + .long 3169025495 + .long 1176627047 + .long 1551306586 + .long 1173162396 + .long 1533871520 + .long 1176547580 + .long 3806958645 + .long 1173030351 + .long 599006589 + .long 1176444469 + .long 3497279433 + .long 1172907272 + .long 1711861758 + .long 1176305886 + .long 1827774364 + .long 1172792564 + .long 3081973787 + .long 1176176504 + .long 2036488705 + .long 1172685670 + .long 1321268943 + .long 1176055728 + .long 3286450343 + .long 1172586070 + .long 3969874170 + .long 1175942998 + .long 3783692801 + .long 1172493278 + .long 2452445702 + .long 1175837793 + .long 198374548 + .long 1172406840 + .long 1452932973 + .long 1175739622 + .long 533423249 + .long 1172326329 + .long 1595251056 + .long 1175648026 + .long 2030330049 + .long 1172194729 + .long 4117849423 + .long 1175562575 + .long 4272727904 + .long 1172055086 + .long 3152677356 + .long 1175482868 + .long 3089904078 + .long 1171925068 + .long 4175288180 + .long 1175363359 + .long 515373043 + .long 1171804026 + .long 597820103 + .long 1175224706 + .long 1395054556 + .long 1171691353 + .long 3535028301 + .long 1175095419 + .long 1649711857 + .long 1171586484 + .long 918940523 + .long 1174974883 + .long 3038000808 + .long 1171488890 + .long 857999498 + .long 1174862518 + .long 2836431768 + .long 1171398078 + .long 3808560570 + .long 1174757783 + .long 1344394901 + .long 1171313587 + .long 1160780690 + .long 1174660174 + .long 2810694683 + .long 1171210580 + .long 201215039 + .long 1174569216 + .long 4109673103 + .long 1171064355 + .long 2402111668 + .long 1174484466 + .long 2586191376 + .long 1170928358 + .long 3723319669 + .long 1174405511 + .long 3014296227 + .long 1170801888 + .long 3725520897 + .long 1174258809 + .long 663724814 + .long 1170684293 + .long 3671313057 + .long 1174121807 + .long 2561640409 + .long 1170574962 + .long 1053981368 + .long 1173994221 + .long 2340316358 + .long 1170473328 + .long 3460466107 + .long 1173875417 + .long 3108942861 + .long 1170378860 + .long 3035482254 + .long 1173764806 + .long 2402145891 + .long 1170291064 + .long 3802544396 + .long 1173661835 + .long 2874092153 + .long 1170208141 + .long 2441474464 + .long 1173565989 + .long 4258279491 + .long 1170056530 + .long 4084805700 + .long 1173476785 + .long 833974710 + .long 1169915679 + .long 79094155 + .long 1173393775 + .long 3255926329 + .long 1169784838 + .long 31353126 + .long 1173276529 + .long 4030403675 + .long 1169663312 + .long 4063319008 + .long 1173132811 + .long 1714182497 + .long 1169550452 + .long 264658679 + .long 1172999122 + .long 276967466 + .long 1169445652 + .long 1173126429 + .long 1172874775 + .long 748587968 + .long 1169348348 + .long 242573921 + .long 1172759133 + .long 2275859517 + .long 1169258015 + .long 2098620107 + .long 1172651599 + .long 3947546789 + .long 1169174164 + .long 2055068430 + .long 1172551618 + .long 1792997418 + .long 1169030441 + .long 741519124 + .long 1172458671 + .long 806491627 + .long 1168885997 + .long 2256555279 + .long 1172372273 + .long 4247523093 + .long 1168751966 + .long 196354007 + .long 1172275980 + .long 766694565 + .long 1168627615 + .long 445761606 + .long 1172126735 + .long 4113121030 + .long 1168512256 + .long 3476364679 + .long 1171988058 + .long 4031640534 + .long 1168405254 + .long 3529100902 + .long 1171859218 + .long 4029823784 + .long 1168306015 + .long 1621116022 + .long 1171739532 + .long 4218720589 + .long 1168213987 + .long 78936185 + .long 1171628363 + .long 2183506278 + .long 1168128657 + .long 2269474636 + .long 1171525117 + .long 2183914720 + .long 1167985429 + .long 292731349 + .long 1171429243 + .long 2734387574 + .long 1167838758 + .long 2122912913 + .long 1171340224 + .long 3292906438 + .long 1167702811 + .long 3023046673 + .long 1171255771 + .long 781869437 + .long 1167576820 + .long 254831576 + .long 1171102344 + .long 503990627 + .long 1167460069 + .long 571168224 + .long 1170959941 + .long 243539321 + .long 1167351894 + .long 871548122 + .long 1170827787 + .long 1201933016 + .long 1167251677 + .long 3924370604 + .long 1170705159 + .long 2748594495 + .long 1167158844 + .long 2976320978 + .long 1170591386 + .long 2396890235 + .long 1167072862 + .long 1728080816 + .long 1170485841 + .long 1888516121 + .long 1166921382 + .long 892927807 + .long 1170387941 + .long 3964174701 + .long 1166773915 + .long 2817804388 + .long 1170297143 + .long 2854001717 + .long 1166637381 + .long 4045759389 + .long 1170212943 + .long 2766606459 + .long 1166510984 + .long 3073449671 + .long 1170058928 + .long 2090363746 + .long 1166393986 + .long 3519286355 + .long 1169914167 + .long 2204217598 + .long 1166285701 + .long 794405638 + .long 1169779976 + .long 263295257 + .long 1166185493 + .long 2678131373 + .long 1169655597 + .long 242428636 + .long 1166092770 + .long 3816540112 + .long 1169540328 + .long 2727400502 + .long 1165997455 + .long 234134080 + .long 1169433516 + .long 696359878 + .long 1165838738 + .long 587911812 + .long 1169334551 + .long 1973385017 + .long 1165691930 + .long 4031748504 + .long 1169242868 + .long 1812419718 + .long 1165556155 + .long 925164896 + .long 1169153648 + .long 1148410923 + .long 1165430599 + .long 3358488129 + .long 1168996336 + .long 259979490 + .long 1165314507 + .long 638703581 + .long 1168850656 + .long 2350003425 + .long 1165207178 + .long 807654845 + .long 1168715763 + .long 1184795532 + .long 1165107964 + .long 2657744191 + .long 1168590874 + .long 4247843293 + .long 1165016261 + .long 3663858009 + .long 1168475262 + .long 2271316347 + .long 1164895090 + .long 533492925 + .long 1168368252 + .long 3353590471 + .long 1164738464 + .long 3770229724 + .long 1168269214 + .long 3943901780 + .long 1164593750 + .long 1751462400 + .long 1168177568 + .long 1396091040 + .long 1164460059 + .long 1904247472 + .long 1168071879 + .long 2384681153 + .long 1164336565 + .long 1030368421 + .long 1167914981 + .long 2817162449 + .long 1164222505 + .long 4079129458 + .long 1167769845 + .long 3516273009 + .long 1164117171 + .long 1682458602 + .long 1167635608 + .long 1446042707 + .long 1164019908 + .long 3167377884 + .long 1167511465 + .long 3636013109 + .long 1163930107 + .long 491770573 + .long 1167396673 + .long 2884841244 + .long 1163775055 + .long 2200416094 + .long 1167290539 + .long 3409136254 + .long 1163622014 + .long 4169952110 + .long 1167192423 + .long 1812984479 + .long 1163480768 + .long 140330391 + .long 1167101732 + .long 2119697363 + .long 1163350423 + .long 3783382554 + .long 1166970736 + .long 1344616485 + .long 1163230153 + .long 551761884 + .long 1166815820 + .long 3088492671 + .long 1163119192 + .long 359970126 + .long 1166672678 + .long 2547146878 + .long 1163016833 + .long 1021270101 + .long 1166540432 + .long 2963710319 + .long 1162922420 + .long 1490695248 + .long 1166418268 + .long 2300390323 + .long 1162799911 + .long 3568738246 + .long 1166305431 + .long 4236544102 + .long 1162639323 + .long 2104695675 + .long 1166201223 + .long 917369211 + .long 1162491257 + .long 2259752215 + .long 1166104995 + .long 2811831636 + .long 1162354751 + .long 2928907214 + .long 1166015783 + .long 4117432924 + .long 1162228919 + .long 825285899 + .long 1165851737 + .long 2816910846 + .long 1162112941 + .long 130522063 + .long 1165700310 + .long 915429227 + .long 1162006058 + .long 3544208977 + .long 1165560548 + .long 1921050319 + .long 1161907568 + .long 3709295074 + .long 1165431570 + .long 2329064090 + .long 1161811440 + .long 4124611741 + .long 1165312558 + .long 2138511543 + .long 1161644245 + .long 2968308055 + .long 1165202756 + .long 3769488760 + .long 1161490236 + .long 4148065245 + .long 1165101463 + .long 16333256 + .long 1161348392 + .long 3937194615 + .long 1165008032 + .long 509067163 + .long 1161217766 + .long 693670124 + .long 1164875792 + .long 2394703017 + .long 1161097486 + .long 3047836189 + .long 1164716869 + .long 1507273307 + .long 1160986747 + .long 1761244566 + .long 1164570336 + .long 945340577 + .long 1160884804 + .long 966529192 + .long 1164435243 + .long 4049739763 + .long 1160790969 + .long 2050080133 + .long 1164310712 + .long 515468101 + .long 1160635588 + .long 2531893977 + .long 1164195932 + .long 3419787591 + .long 1160476645 + .long 871320764 + .long 1164090153 + .long 3324771089 + .long 1160330399 + .long 2788659082 + .long 1163992680 + .long 1284414463 + .long 1160195852 + .long 2156308587 + .long 1163886387 + .long 2952466863 + .long 1160072082 + .long 3654157322 + .long 1163720919 + .long 2064974210 + .long 1159958241 + .long 622519429 + .long 1163568503 + .long 150408716 + .long 1159853545 + .long 1939798879 + .long 1163428125 + .long 2201727872 + .long 1159757270 + .long 3844698302 + .long 1163298851 + .long 2137703612 + .long 1159612446 + .long 3868101452 + .long 1163179818 + .long 3987559769 + .long 1159449688 + .long 3689445052 + .long 1163070228 + .long 2560021890 + .long 1159300078 + .long 788030992 + .long 1162969345 + .long 1198933031 + .long 1159162570 + .long 3128526661 + .long 1162876487 + .long 2016853309 + .long 1159036200 + .long 393221749 + .long 1162711273 + .long 415274913 + .long 1158920081 + .long 3899460746 + .long 1162553991 + .long 3111287209 + .long 1158813393 + .long 3409408659 + .long 1162409277 + .long 801128485 + .long 1158715384 + .long 622192947 + .long 1162276143 + .long 1096177360 + .long 1158574235 + .long 2664726297 + .long 1162153676 + .long 3602994436 + .long 1158408867 + .long 1558673822 + .long 1162041037 + .long 3652729191 + .long 1158257006 + .long 2777131896 + .long 1161937449 + .long 735672667 + .long 1158117566 + .long 3972527094 + .long 1161842197 + .long 2599987266 + .long 1157989545 + .long 2120900631 + .long 1161687036 + .long 852226013 + .long 1157872024 + .long 137556752 + .long 1161526020 + .long 288162918 + .long 1157764154 + .long 569601398 + .long 1161378016 + .long 3005657641 + .long 1157665154 + .long 280212019 + .long 1161241990 + .long 1669291445 + .long 1157520711 + .long 4236421385 + .long 1161116987 + .long 3426449111 + .long 1157353999 + .long 3132998397 + .long 1161002130 + .long 3665072071 + .long 1157201053 + .long 269619050 + .long 1160896608 + .long 132717265 + .long 1157060754 + .long 1633775828 + .long 1160799673 + .long 1772781531 + .long 1156932070 + .long 2528343355 + .long 1160647645 + .long 2729222087 + .long 1156814055 + .long 843477906 + .long 1160484109 + .long 1642908825 + .long 1156705838 + .long 640833957 + .long 1160333938 + .long 1637412975 + .long 1156606617 + .long 1040411868 + .long 1160196057 + .long 3134353470 + .long 1156451983 + .long 1466509739 + .long 1160069476 + .long 3996322537 + .long 1156285224 + .long 3307339414 + .long 1159953283 + .long 20608624 + .long 1156132385 + .long 857222806 + .long 1159846640 + .long 1217476331 + .long 1155992319 + .long 33935978 + .long 1159748773 + .long 3347032904 + .long 1155863975 + .long 592853498 + .long 1159592886 + .long 3456875375 + .long 1155746387 + .long 3801380895 + .long 1159428103 + .long 722075083 + .long 1155638667 + .long 3715147572 + .long 1159276938 + .long 3871546971 + .long 1155539997 + .long 4190633910 + .long 1159138282 + .long 4149445212 + .long 1155368508 + .long 3597701666 + .long 1159011116 + .long 114339337 + .long 1155203001 + .long 3481239551 + .long 1158894502 + .long 2660573378 + .long 1155051455 + .long 2361296039 + .long 1158787578 + .long 3345530574 + .long 1154912711 + .long 265722145 + .long 1158689551 + .long 2649988318 + .long 1154785703 + .long 1895395227 + .long 1158522902 + .long 2835386513 + .long 1154669452 + .long 1800210858 + .long 1158358177 + .long 3409464906 + .long 1154563060 + .long 3069172694 + .long 1158207214 + .long 2289376692 + .long 1154449231 + .long 2893236102 + .long 1158068881 + .long 1808716882 + .long 1154271074 + .long 1719077557 + .long 1157942137 + .long 1191976028 + .long 1154108086 + .long 1914505601 + .long 1157826025 + .long 3263238226 + .long 1153958993 + .long 301987594 + .long 1157719667 + .long 3595524598 + .long 1153822628 + .long 282470485 + .long 1157616606 + .long 926865216 + .long 1153697920 + .long 3168046348 + .long 1157438191 + .long 1936197486 + .long 1153583885 + .long 1009101993 + .long 1157274825 + .long 2967036144 + .long 1153479623 + .long 3997083445 + .long 1157125255 + .long 48557448 + .long 1153335018 + .long 2336955916 + .long 1156988335 + .long 2153363094 + .long 1153160768 + .long 3868880033 + .long 1156863009 + .long 3655926593 + .long 1153001510 + .long 1476581786 + .long 1156748311 + .long 4195538198 + .long 1152855972 + .long 3208709775 + .long 1156643351 + .long 760742910 + .long 1152722989 + .long 716057529 + .long 1156515304 + .long 1595662436 + .long 1152601491 + .long 28479576 + .long 1156339585 + .long 207016151 + .long 1152490501 + .long 3319607164 + .long 1156178845 + .long 3718020302 + .long 1152389121 + .long 2804464626 + .long 1156031827 + .long 3056921786 + .long 1152208041 + .long 148574980 + .long 1155897376 + .long 1551945529 + .long 1152038940 + .long 69395739 + .long 1155774432 + .long 3413407730 + .long 1151884538 + .long 2564419134 + .long 1155662024 + .long 1653751481 + .long 1151743576 + .long 2125879894 + .long 1155559263 + .long 397794359 + .long 1151614899 + .long 344595749 + .long 1155399913 + .long 2516863959 + .long 1151497450 + .long 872566418 + .long 1155228215 + .long 390569063 + .long 1151390264 + .long 25762808 + .long 1155071310 + .long 3512280464 + .long 1151248461 + .long 3343322505 + .long 1154927940 + .long 437420606 + .long 1151069979 + .long 68521175 + .long 1154796956 + .long 3755631788 + .long 1150907150 + .long 3210511172 + .long 1154677300 + .long 998156837 + .long 1150758622 + .long 2432640097 + .long 1154568008 + .long 3963236487 + .long 1150623153 + .long 2650426869 + .long 1154454212 + .long 2635429612 + .long 1150499612 + .long 2803544287 + .long 1154271918 + .long 4171250378 + .long 1150386961 + .long 2667581847 + .long 1154105474 + .long 4100104170 + .long 1150280636 + .long 995748204 + .long 1153953521 + .long 3664138596 + .long 1150093375 + .long 438643701 + .long 1153814814 + .long 411244680 + .long 1149922685 + .long 809181847 + .long 1153688214 + .long 1711529755 + .long 1149767117 + .long 10437582 + .long 1153572679 + .long 760965710 + .long 1149625350 + .long 2354988354 + .long 1153467254 + .long 4101777240 + .long 1149496174 + .long 3627099743 + .long 1153308535 + .long 2820428868 + .long 1149378487 + .long 184652213 + .long 1153133041 + .long 3073693323 + .long 1149271279 + .long 2690341715 + .long 1152972963 + .long 3675892862 + .long 1149107963 + .long 1010878695 + .long 1152826967 + .long 4212274240 + .long 1148930097 + .long 3130597339 + .long 1152693829 + .long 1434263734 + .long 1148768129 + .long 2425713311 + .long 1152572433 + .long 267077461 + .long 1148620655 + .long 4199375582 + .long 1152461756 + .long 2026112565 + .long 1148486394 + .long 3352626361 + .long 1152336707 + .long 2309260539 + .long 1148364178 + .long 4263382667 + .long 1152152788 + .long 1292625344 + .long 1148252940 + .long 3971959542 + .long 1151985172 + .long 683969871 + .long 1148112692 + .long 1685406220 + .long 1151832433 + .long 3656156313 + .long 1147928454 + .long 1164117258 + .long 1151693267 + .long 2280959508 + .long 1147760827 + .long 128059352 + .long 1151566484 + .long 1438096262 + .long 1147608331 + .long 608890202 + .long 1151450996 + .long 1560506301 + .long 1147469617 + .long 1282744529 + .long 1151345810 + .long 1782392176 + .long 1147343455 + .long 3126230825 + .long 1151163590 + .long 2928154098 + .long 1147228723 + .long 23579818 + .long 1150989142 + .long 2808105085 + .long 1147106654 + .long 3718750563 + .long 1150830313 + .long 3181032870 + .long 1146916955 + .long 2108894173 + .long 1150685725 + .long 2690161486 + .long 1146744506 + .long 2125293716 + .long 1150554116 + .long 3774094217 + .long 1146587757 + .long 2429410936 + .long 1150434336 + .long 2031038305 + .long 1146445297 + .long 4238344640 + .long 1150325335 + .long 3294864335 + .long 1146315838 + .long 3966203779 + .long 1150164441 + .long 2218088845 + .long 1146198209 + .long 1511203355 + .long 1149983979 + .long 2879344148 + .long 1146089115 + .long 299769911 + .long 1149819818 + .long 246815083 + .long 1145894958 + .long 177880806 + .long 1149670504 + .long 1881778457 + .long 1145718606 + .long 993491176 + .long 1149534711 + .long 1695802046 + .long 1145558447 + .long 2106577044 + .long 1149411230 + .long 3789092221 + .long 1145413011 + .long 1689628931 + .long 1149298959 + .long 2045012378 + .long 1145280962 + .long 3833288905 + .long 1149154489 + .long 3150604421 + .long 1145161081 + .long 794877296 + .long 1148968934 + .long 2439012653 + .long 1145052261 + .long 3854849903 + .long 1148800285 + .long 451045696 + .long 1144861995 + .long 1790512188 + .long 1148647023 + .long 623648845 + .long 1144682728 + .long 1353915434 + .long 1148507760 + .long 2163425550 + .long 1144520060 + .long 2148061065 + .long 1148381233 + .long 751132038 + .long 1144372473 + .long 1671518363 + .long 1148266292 + .long 1991314855 + .long 1144238584 + .long 184209634 + .long 1148133058 + .long 3138593953 + .long 1144117137 + .long 222976555 + .long 1147943418 + .long 934006504 + .long 1144006990 + .long 3212706465 + .long 1147771206 + .long 3053075475 + .long 1143817789 + .long 2991254427 + .long 1147614841 + .long 4093934171 + .long 1143636645 + .long 1435154319 + .long 1147472882 + .long 2959073424 + .long 1143472415 + .long 1790943722 + .long 1147344017 + .long 3738143320 + .long 1143323537 + .long 2416375099 + .long 1147227053 + .long 3459629523 + .long 1143188593 + .long 2528492334 + .long 1147099665 + .long 1452629081 + .long 1143066294 + .long 2059568 + .long 1146907022 + .long 718239573 + .long 1142955468 + .long 1957753159 + .long 1146732234 + .long 1762771320 + .long 1142762262 + .long 2091566809 + .long 1146573667 + .long 3316716354 + .long 1142580313 + .long 2474998524 + .long 1146429833 + .long 2899083357 + .long 1142415494 + .long 4053598014 + .long 1146299379 + .long 2935310259 + .long 1142266210 + .long 2145098900 + .long 1146181076 + .long 140840670 + .long 1142131014 + .long 3070436298 + .long 1146054041 + .long 1294487364 + .long 1142008590 + .long 2763733926 + .long 1145859528 + .long 2394653337 + .long 1141896228 + .long 2208575977 + .long 1145683197 + .long 3638884899 + .long 1141695533 + .long 2310778069 + .long 1145523368 + .long 2705328535 + .long 1141513866 + .long 1042726976 + .long 1145378515 + .long 70625276 + .long 1141349443 + .long 2817479519 + .long 1145247250 + .long 1857262153 + .long 1141200644 + .long 3076269193 + .long 1145128314 + .long 2069475863 + .long 1141066002 + .long 2627031232 + .long 1144996133 + .long 771707140 + .long 1140944185 + .long 2628360750 + .long 1144800918 + .long 3701030703 + .long 1140817280 + .long 729212710 + .long 1144624104 + .long 1238049099 + .long 1140617921 + .long 2887460256 + .long 1144463975 + .long 3259812090 + .long 1140437616 + .long 1655630712 + .long 1144318976 + .long 3749406275 + .long 1140274565 + .long 413272091 + .long 1144187693 + .long 2567976574 + .long 1140127135 + .long 185717153 + .long 1144068843 + .long 3086396387 + .long 1139993845 + .long 197070945 + .long 1143926108 + .long 3025838645 + .long 1139873354 + .long 565507056 + .long 1143731371 + .long 3161398026 + .long 1139726781 + .long 760043921 + .long 1143555142 + .long 1697887131 + .long 1139529929 + .long 3730110113 + .long 1143395681 + .long 2228585998 + .long 1139352044 + .long 1921011656 + .long 1143251412 + .long 605343418 + .long 1139191319 + .long 3797928772 + .long 1143120902 + .long 3059859084 + .long 1139046115 + .long 1714281117 + .long 1143002855 + .long 958722228 + .long 1138914951 + .long 1735451181 + .long 1142844346 + .long 3375509337 + .long 1138796482 + .long 2998543058 + .long 1142651258 + .long 415556477 + .long 1138625453 + .long 957414861 + .long 1142476673 + .long 2696826148 + .long 1138432235 + .long 2296081930 + .long 1142318836 + .long 2229389997 + .long 1138257784 + .long 2003829855 + .long 1142176159 + .long 1297687336 + .long 1138100296 + .long 3954963692 + .long 1142047201 + .long 3998394613 + .long 1137958138 + .long 216442272 + .long 1141930659 + .long 2886287143 + .long 1137829835 + .long 1772244079 + .long 1141751433 + .long 2110295769 + .long 1137714050 + .long 307812232 + .long 1141561136 + .long 2576847299 + .long 1137514189 + .long 1090166077 + .long 1141389222 + .long 3725035696 + .long 1137325670 + .long 898458102 + .long 1141233935 + .long 2171466216 + .long 1137155607 + .long 796649920 + .long 1141093684 + .long 2233617680 + .long 1137002211 + .long 3973141203 + .long 1140967028 + .long 1212061563 + .long 1136863866 + .long 2543891761 + .long 1140852665 + .long 1237871693 + .long 1136739110 + .long 8021042 + .long 1140648140 + .long 3770505270 + .long 1136596860 + .long 197966905 + .long 1140461724 + .long 1723610862 + .long 1136394033 + .long 613497914 + .long 1140293462 + .long 158726960 + .long 1136211196 + .long 492649247 + .long 1140141605 + .long 3147455188 + .long 1136046398 + .long 2014037209 + .long 1140004570 + .long 2819408244 + .long 1135897879 + .long 2983416416 + .long 1139880926 + .long 973768816 + .long 1135764047 + .long 186952952 + .long 1139736646 + .long 3614653622 + .long 1135643463 + .long 64324857 + .long 1139535401 + .long 1231755280 + .long 1135461854 + .long 2814905894 + .long 1139353888 + .long 1530699735 + .long 1135266145 + .long 1397081971 + .long 1139190194 + .long 2740348574 + .long 1135089875 + .long 649709615 + .long 1139042587 + .long 2871973651 + .long 1134931133 + .long 2517694161 + .long 1138909502 + .long 4249620448 + .long 1134788193 + .long 2598308842 + .long 1138789526 + .long 1030871825 + .long 1134659499 + .long 3304430565 + .long 1138609226 + .long 3931001516 + .long 1134528055 + .long 2845934216 + .long 1138414288 + .long 3607736473 + .long 1134319487 + .long 2815202489 + .long 1138238616 + .long 3324058056 + .long 1134131773 + .long 770607618 + .long 1138080326 + .long 935034058 + .long 1133962849 + .long 227018400 + .long 1137937715 + .long 4138313486 + .long 1133810851 + .long 103231596 + .long 1137809246 + .long 2075631266 + .long 1133674102 + .long 4002361480 + .long 1137682101 + .long 845707049 + .long 1133551086 + .long 587775376 + .long 1137473673 + .long 3807613825 + .long 1133370218 + .long 3329498291 + .long 1137285982 + .long 4221874859 + .long 1133171193 + .long 1074663644 + .long 1137116988 + .long 3837861027 + .long 1132992221 + .long 188384470 + .long 1136964846 + .long 3588565148 + .long 1132831301 + .long 2250949169 + .long 1136827892 + .long 2793855663 + .long 1132686630 + .long 2497760175 + .long 1136704626 + .long 2092682908 + .long 1132556583 + .long 3638527552 + .long 1136531003 + .long 3025928422 + .long 1132417312 + .long 3169393043 + .long 1136331361 + .long 3003976624 + .long 1132207220 + .long 16328176 + .long 1136151739 + .long 3855549220 + .long 1132018434 + .long 484887411 + .long 1135990148 + .long 1140003212 + .long 1131848815 + .long 3565542663 + .long 1135844796 + .long 2537273243 + .long 1131696434 + .long 993566984 + .long 1135714069 + .long 2300430123 + .long 1131559557 + .long 362792049 + .long 1135585209 + .long 3125177422 + .long 1131436621 + .long 1117663738 + .long 1135373795 + .long 1680899524 + .long 1131238937 + .long 4205611547 + .long 1135183721 + .long 4046927848 + .long 1131040672 + .long 695708912 + .long 1135012856 + .long 1667944894 + .long 1130862667 + .long 3365905834 + .long 1134859275 + .long 684406586 + .long 1130702870 + .long 901574820 + .long 1134721249 + .long 951870093 + .long 1130559436 + .long 2293692653 + .long 1134597216 + .long 2935548661 + .long 1130430705 + .long 1924786676 + .long 1134412313 + .long 3462835422 + .long 1130265442 + .long 3484263706 + .long 1134212072 + .long 3476181268 + .long 1130058136 + .long 1064475687 + .long 1134032200 + .long 3664148399 + .long 1129872149 + .long 3803301594 + .long 1133870643 + .long 3806759301 + .long 1129705309 + .long 2161679909 + .long 1133725556 + .long 139634312 + .long 1129555664 + .long 1415749554 + .long 1133595275 + .long 2974765999 + .long 1129421456 + .long 2691945760 + .long 1133445951 + .long 2688619723 + .long 1129285867 + .long 1523322176 + .long 1133235934 + .long 918059319 + .long 1129070058 + .long 701542529 + .long 1133047419 + .long 326084401 + .long 1128876584 + .long 2075878962 + .long 1132878225 + .long 3378921377 + .long 1128703154 + .long 3080509544 + .long 1132726391 + .long 2489025618 + .long 1128547712 + .long 2031579976 + .long 1132590153 + .long 4054490883 + .long 1128408408 + .long 4030038368 + .long 1132467923 + .long 2377683608 + .long 1128283583 + .long 1611467688 + .long 1132254472 + .long 2522233334 + .long 1128075714 + .long 2007111172 + .long 1132057774 + .long 1572162123 + .long 1127875334 + .long 1318398424 + .long 1131881367 + .long 20810995 + .long 1127695846 + .long 1156938005 + .long 1131723177 + .long 3951374592 + .long 1127535090 + .long 2608242403 + .long 1131581340 + .long 2085574367 + .long 1127391131 + .long 1802410473 + .long 1131454182 + .long 2715796973 + .long 1127262228 + .long 1771700082 + .long 1131266891 + .long 1675857833 + .long 1127074443 + .long 2605501015 + .long 1131062564 + .long 2453862588 + .long 1126867820 + .long 134813882 + .long 1130879451 + .long 4201397273 + .long 1126682875 + .long 2391361007 + .long 1130715368 + .long 1738398063 + .long 1126517355 + .long 1692999782 + .long 1130568357 + .long 3876745943 + .long 1126369236 + .long 2848159293 + .long 1130436657 + .long 330371969 + .long 1126236707 + .long 1707220927 + .long 1130272450 + .long 2383670733 + .long 1126065655 + .long 3247666430 + .long 1130061138 + .long 3834104127 + .long 1125853529 + .long 2284137823 + .long 1129871905 + .long 3479353080 + .long 1125663798 + .long 3431770873 + .long 1129702464 + .long 3330228067 + .long 1125494118 + .long 429064670 + .long 1129550765 + .long 1237718763 + .long 1125342389 + .long 2690937090 + .long 1129414965 + .long 3912378906 + .long 1125206727 + .long 2565517419 + .long 1129270477 + .long 2926944965 + .long 1125048847 + .long 4280764609 + .long 1129052909 + .long 2285664242 + .long 1124832027 + .long 2117899576 + .long 1128858218 + .long 2384284646 + .long 1124638239 + .long 1100114414 + .long 1128684019 + .long 1079044255 + .long 1124465058 + .long 2490550860 + .long 1128528174 + .long 1187767679 + .long 1124310311 + .long 3059756537 + .long 1128388767 + .long 1125870666 + .long 1124172053 + .long 2011207108 + .long 1128260384 + .long 2711543652 + .long 1124023612 + .long 1971731957 + .long 1128037367 + .long 3717979360 + .long 1123802965 + .long 190152924 + .long 1127837947 + .long 634529117 + .long 1123605902 + .long 2279911327 + .long 1127659648 + .long 1589420432 + .long 1123429922 + .long 1743963826 + .long 1127500254 + .long 4011928493 + .long 1123272789 + .long 3694431565 + .long 1127357777 + .long 1825951196 + .long 1123132503 + .long 37372990 + .long 1127230439 + .long 902239192 + .long 1122989648 + .long 357996513 + .long 1127014087 + .long 3736365794 + .long 1122766091 + .long 471494204 + .long 1126810727 + .long 3174570430 + .long 1122566575 + .long 2938566757 + .long 1126629040 + .long 1631041877 + .long 1122388536 + .long 3862641636 + .long 1126466737 + .long 1428278857 + .long 1122229681 + .long 2705689559 + .long 1126321768 + .long 3122796486 + .long 1122087960 + .long 2814570586 + .long 1126192297 + .long 2911775264 + .long 1121946763 + .long 2905852510 + .long 1125982740 + .long 2500562767 + .long 1121721252 + .long 867019880 + .long 1125776281 + .long 1088252172 + .long 1121520139 + .long 3972810286 + .long 1125591961 + .long 84062841 + .long 1121340806 + .long 3689108380 + .long 1125427428 + .long 2866547101 + .long 1121180913 + .long 418349559 + .long 1125280576 + .long 346501975 + .long 1121038372 + .long 3895248558 + .long 1125149519 + .long 3837706926 + .long 1120894883 + .long 4289939603 + .long 1124943102 + .long 1835734022 + .long 1120668398 + .long 1806841202 + .long 1124734424 + .long 106141887 + .long 1120466564 + .long 2886562217 + .long 1124548261 + .long 2476206473 + .long 1120286719 + .long 3505743866 + .long 1124382205 + .long 3553036011 + .long 1120126488 + .long 1770162296 + .long 1124234103 + .long 630544163 + .long 1119983750 + .long 2826068942 + .long 1124102029 + .long 4141157953 + .long 1119834050 + .long 2850114029 + .long 1123895056 + .long 1341246883 + .long 1119607584 + .long 2065430038 + .long 1123685068 + .long 1872851222 + .long 1119405914 + .long 3592764375 + .long 1123497875 + .long 662406915 + .long 1119226348 + .long 2940520440 + .long 1123331024 + .long 1570171747 + .long 1119066482 + .long 3917597947 + .long 1123182322 + .long 306296939 + .long 1118924173 + .long 2692555170 + .long 1123049812 + .long 1515311757 + .long 1118764423 + .long 3020826096 + .long 1122838594 + .long 1942281842 + .long 1118538968 + .long 2758135905 + .long 1122628223 + .long 2313530469 + .long 1118338346 + .long 959962841 + .long 1122440828 + .long 624543593 + .long 1118159844 + .long 3110425290 + .long 1122273919 + .long 3763131039 + .long 1118001041 + .long 3131202331 + .long 1122125276 + .long 3450851597 + .long 1117859782 + .long 2871911974 + .long 1121992916 + .long 2007100743 + .long 1117686272 + .long 3101350956 + .long 1121773820 + .long 4149890743 + .long 1117462808 + .long 2081544678 + .long 1121563998 + .long 2982306159 + .long 1117264104 + .long 49044599 + .long 1121377230 + .long 4099038896 + .long 1117087437 + .long 3400982507 + .long 1121211002 + .long 3523525745 + .long 1116930383 + .long 3721086726 + .long 1121063075 + .long 201067636 + .long 1116790782 + .long 3127191497 + .long 1120931450 + .long 3588312849 + .long 1116599976 + .long 2706561044 + .long 1120700946 + .long 1469650381 + .long 1116379458 + .long 2302038473 + .long 1120492597 + .long 1466843194 + .long 1116183516 + .long 1389140244 + .long 1120307277 + .long 290290075 + .long 1116009433 + .long 3865310785 + .long 1120142460 + .long 3874185980 + .long 1115854788 + .long 3343859324 + .long 1119995897 + .long 4011478976 + .long 1115717429 + .long 4000817012 + .long 1119851996 + .long 171642260 + .long 1115506014 + .long 130842766 + .long 1119620288 + .long 4031412174 + .long 1115289355 + .long 3534099260 + .long 1119414316 + .long 177074159 + .long 1115096985 + .long 4150727396 + .long 1119231246 + .long 2663060654 + .long 1114926199 + .long 677761646 + .long 1119068552 + .long 549230713 + .long 1114774596 + .long 2252671776 + .long 1118923982 + .long 2381441019 + .long 1114640036 + .long 1105323286 + .long 1118760477 + .long 2808690215 + .long 1114404950 + .long 1703121876 + .long 1118532257 + .long 3203766828 + .long 1114193018 + .long 2069183567 + .long 1118329537 + .long 45211903 + .long 1114004982 + .long 2002014451 + .long 1118149490 + .long 2783856157 + .long 1113838166 + .long 940768256 + .long 1117989600 + .long 3133535813 + .long 1113690195 + .long 2631187174 + .long 1117847627 + .long 4268155202 + .long 1113530200 + .long 2370996671 + .long 1117661144 + .long 2034082850 + .long 1113297430 + .long 1068639438 + .long 1117437355 + .long 2913787982 + .long 1113091030 + .long 2672994462 + .long 1117238717 + .long 1678437236 + .long 1112908036 + .long 2485039408 + .long 1117062426 + .long 1098600669 + .long 1112745813 + .long 1727439070 + .long 1116905987 + .long 659512389 + .long 1112602021 + .long 2971022341 + .long 1116767181 + .long 806208697 + .long 1112410027 + .long 20781236 + .long 1116554634 + .long 1671730707 + .long 1112184161 + .long 2545082435 + .long 1116336159 + .long 3039002861 + .long 1111984030 + .long 2944237826 + .long 1116142382 + .long 2285456920 + .long 1111806724 + .long 2149612308 + .long 1115970532 + .long 4068908997 + .long 1111649658 + .long 2957083502 + .long 1115818146 + .long 1496666869 + .long 1111510540 + .long 2361171085 + .long 1115681210 + .long 659213027 + .long 1111284106 + .long 2834057963 + .long 1115441656 + .long 1154962059 + .long 1111065901 + .long 3991237976 + .long 1115229313 + .long 742279536 + .long 1110872700 + .long 2492162904 + .long 1115041114 + .long 2562815945 + .long 1110701658 + .long 156433707 + .long 1114874334 + .long 1720938218 + .long 1110550253 + .long 3568912018 + .long 1114726552 + .long 814000769 + .long 1110390509 + .long 1787543666 + .long 1114554957 + .long 3085688148 + .long 1110153322 + .long 3956019851 + .long 1114322984 + .long 1060898163 + .long 1109943443 + .long 808980830 + .long 1114117514 + .long 2668383887 + .long 1109757749 + .long 3919832875 + .long 1113935539 + .long 3414857356 + .long 1109593474 + .long 24442394 + .long 1113774395 + .long 4120766401 + .long 1109448165 + .long 3563050434 + .long 1113631712 + .long 1084972929 + .long 1109245890 + .long 976862601 + .long 1113423075 + .long 1485510095 + .long 1109018587 + .long 819353060 + .long 1113199437 + .long 3500347783 + .long 1108817600 + .long 4078300992 + .long 1113001494 + .long 2275315543 + .long 1108639905 + .long 2744002435 + .long 1112826317 + .long 2446204157 + .long 1108482821 + .long 799980411 + .long 1112671306 + .long 1070208850 + .long 1108343118 + .long 335072396 + .long 1112529176 + .long 2505637792 + .long 1108097695 + .long 393840638 + .long 1112286512 + .long 2356589298 + .long 1107880819 + .long 285668148 + .long 1112071862 + .long 440663793 + .long 1107689193 + .long 1441293126 + .long 1111882015 + .long 1084663825 + .long 1107519897 + .long 2064869659 + .long 1111714126 + .long 119946720 + .long 1107370348 + .long 417220747 + .long 1111565674 + .long 2683262261 + .long 1107180260 + .long 1516158303 + .long 1111378288 + .long 4220404801 + .long 1106946951 + .long 830924676 + .long 1111146235 + .long 3701561540 + .long 1106740931 + .long 2235571069 + .long 1110941122 + .long 3074757155 + .long 1106559030 + .long 4082743838 + .long 1110759844 + .long 2220088067 + .long 1106398444 + .long 1876449427 + .long 1110599652 + .long 3911816121 + .long 1106256692 + .long 3926525190 + .long 1110458109 + .long 1092713979 + .long 1106015484 + .long 4222970289 + .long 1110224138 + .long 926520626 + .long 1105794664 + .long 1585088324 + .long 1110003213 + .long 3239958806 + .long 1105599814 + .long 2010771184 + .long 1109808080 + .long 1997667540 + .long 1105427902 + .long 961103206 + .long 1109635750 + .long 3253156965 + .long 1105276245 + .long 3031370254 + .long 1109483576 + .long 2970981435 + .long 1105085844 + .long 2559708232 + .long 1109305029 + .long 3183031428 + .long 1104849882 + .long 2938482145 + .long 1109067802 + .long 1052329439 + .long 1104641799 + .long 2040849574 + .long 1108858400 + .long 3502017515 + .long 1104458322 + .long 445015277 + .long 1108673582 + .long 1170570442 + .long 1104296563 + .long 2099882470 + .long 1108510481 + .long 2321018990 + .long 1104153967 + .long 1334765365 + .long 1108366564 + .long 919550936 + .long 1103906033 + .long 3321758888 + .long 1108134347 + .long 4068019066 + .long 1103684493 + .long 3414327399 + .long 1107910322 + .long 677781025 + .long 1103489272 + .long 4023189545 + .long 1107712719 + .long 2116797212 + .long 1103317262 + .long 1454212341 + .long 1107538444 + .long 2147072810 + .long 1103165723 + .long 398375034 + .long 1107384761 + .long 2436518942 + .long 1102962518 + .long 1554804823 + .long 1107202251 + .long 462060487 + .long 1102727372 + .long 1508243439 + .long 1106963318 + .long 31640204 + .long 1102520286 + .long 1390964319 + .long 1106752695 + .long 194014002 + .long 1102337934 + .long 3457495598 + .long 1106567050 + .long 2586452310 + .long 1102177381 + .long 2709086624 + .long 1106403442 + .long 3256375675 + .long 1102018703 + .long 3344858523 + .long 1106259272 + .long 3668708253 + .long 1101769874 + .long 3445556640 + .long 1106016814 + .long 3276294038 + .long 1101550872 + .long 3991401134 + .long 1105793002 + .long 3042705393 + .long 1101358145 + .long 4056865850 + .long 1105595854 + .long 61555617 + .long 1101188562 + .long 2551083911 + .long 1105422215 + .long 3248074063 + .long 1101039360 + .long 1846795646 + .long 1105269300 + .long 1472434419 + .long 1100811416 + .long 353540760 + .long 1105070201 + .long 1345929365 + .long 1100580518 + .long 2530892669 + .long 1104833104 + .long 2284935894 + .long 1100377446 + .long 130516814 + .long 1104624383 + .long 1589478727 + .long 1100198869 + .long 772858390 + .long 1104440663 + .long 1900966035 + .long 1100041851 + .long 400926987 + .long 1104278970 + .long 2592853406 + .long 1099851389 + .long 3515284429 + .long 1104122832 + .long 1043872472 + .long 1099608691 + .long 753693360 + .long 1103872434 + .long 1992869878 + .long 1099395371 + .long 3923707548 + .long 1103652137 + .long 3788831841 + .long 1099207896 + .long 86767418 + .long 1103458349 + .long 1204183677 + .long 1099043156 + .long 3993536332 + .long 1103287898 + .long 66872776 + .long 1098889173 + .long 1230507331 + .long 1103137995 + .long 2436600716 + .long 1098634848 + .long 714625323 + .long 1102910403 + .long 1846904100 + .long 1098411446 + .long 4250558381 + .long 1102678603 + .long 3584705058 + .long 1098215230 + .long 2591528180 + .long 1102474821 + .long 1705602031 + .long 1098042914 + .long 3169042886 + .long 1102295691 + .long 2832253206 + .long 1097891604 + .long 1801917518 + .long 1102138251 + .long 3958240781 + .long 1097658441 + .long 3689877032 + .long 1101946406 + .long 3391696766 + .long 1097425193 + .long 3049582897 + .long 1101703252 + .long 1677112252 + .long 1097220455 + .long 688939585 + .long 1101489619 + .long 4029740200 + .long 1097040763 + .long 1201594820 + .long 1101301945 + .long 2281780473 + .long 1096883074 + .long 3644871435 + .long 1101137096 + .long 462090739 + .long 1096678924 + .long 596508721 + .long 1100979831 + .long 374460362 + .long 1096436138 + .long 2413289875 + .long 1100725548 + .long 2745667880 + .long 1096223157 + .long 4050259853 + .long 1100502274 + .long 2124074559 + .long 1096036346 + .long 4026415429 + .long 1100306252 + .long 785176086 + .long 1095872509 + .long 2194242293 + .long 1100134177 + .long 3829057961 + .long 1095695755 + .long 3662913788 + .long 1099983141 + .long 6154213 + .long 1095443812 + .long 1836124429 + .long 1099744955 + .long 3442167805 + .long 1095222932 + .long 3502862881 + .long 1099512322 + .long 2795231252 + .long 1095029311 + .long 2686967895 + .long 1099308209 + .long 1852739982 + .long 1094859605 + .long 2379346499 + .long 1099129141 + .long 4031629968 + .long 1094708412 + .long 3529903497 + .long 1098972064 + .long 1692195970 + .long 1094447762 + .long 947638496 + .long 1098760943 + .long 2143567542 + .long 1094219389 + .long 296410330 + .long 1098519303 + .long 2474294393 + .long 1094019321 + .long 3786184281 + .long 1098307416 + .long 3636592950 + .long 1093844071 + .long 3389146233 + .long 1098121643 + .long 1634402452 + .long 1093690580 + .long 2592050282 + .long 1097958785 + .long 1487743506 + .long 1093447556 + .long 2953484721 + .long 1097772994 + .long 4287882560 + .long 1093212154 + .long 1537613449 + .long 1097522768 + .long 2458104266 + .long 1093006055 + .long 190624382 + .long 1097303488 + .long 2983874393 + .long 1092825632 + .long 882060314 + .long 1097111350 + .long 3329798348 + .long 1092667706 + .long 3616269672 + .long 1096943015 + .long 323300782 + .long 1092442787 + .long 1087799841 + .long 1096780612 + .long 1399376011 + .long 1092200880 + .long 2813953676 + .long 1096522289 + .long 2131504469 + .long 1091989214 + .long 1847214818 + .long 1096296053 + .long 3247331473 + .long 1091804031 + .long 1994699812 + .long 1096097942 + .long 1649841686 + .long 1091642038 + .long 2573591394 + .long 1095924481 + .long 2632630216 + .long 1091433079 + .long 1686189053 + .long 1095772622 + .long 692441783 + .long 1091185245 + .long 484007912 + .long 1095517462 + .long 4165499210 + .long 1090968524 + .long 1745674181 + .long 1095284765 + .long 4061964950 + .long 1090779035 + .long 1249190365 + .long 1095081122 + .long 2926004374 + .long 1090613376 + .long 644454863 + .long 1094902927 + .long 612917076 + .long 1090418096 + .long 322063619 + .long 1094747019 + .long 1764017864 + .long 1090164962 + .long 3091097501 + .long 1094507910 + .long 1271452310 + .long 1089943743 + .long 1164183261 + .long 1094269303 + .long 2845995974 + .long 1089750438 + .long 2896268950 + .long 1094060615 + .long 3204432805 + .long 1089581546 + .long 2572418588 + .long 1093878118 + .long 3791512599 + .long 1089397540 + .long 3076895702 + .long 1093718544 + .long 1587304040 + .long 1089139782 + .long 2772173518 + .long 1093493295 + .long 9417835 + .long 1088914659 + .long 3594010359 + .long 1093249377 + .long 3442414467 + .long 1088718062 + .long 3440112991 + .long 1093036176 + .long 3522111233 + .long 1088546399 + .long 1059737520 + .long 1092849847 + .long 1806355671 + .long 1088371164 + .long 1498944405 + .long 1092687022 + .long 1674732152 + .long 1088109496 + .long 694768547 + .long 1092473317 + .long 4031952273 + .long 1087881097 + .long 2719706201 + .long 1092224735 + .long 1572736221 + .long 1087681763 + .long 2726072325 + .long 1092007591 + .long 2174247271 + .long 1087507815 + .long 2748643032 + .long 1091817932 + .long 1752691998 + .long 1087338767 + .long 374105342 + .long 1091652300 + .long 4201814451 + .long 1087073939 + .long 194787867 + .long 1091447720 + .long 3734120499 + .long 1086842924 + .long 2743237017 + .long 1091195162 + .long 2706006322 + .long 1086641429 + .long 328407533 + .long 1090974681 + .long 2432268136 + .long 1086465703 + .long 1031608550 + .long 1090782225 + .long 2328310806 + .long 1086300203 + .long 1627182842 + .long 1090614253 + .long 1110667808 + .long 1086032995 + .long 1586677284 + .long 1090416297 + .long 2143088428 + .long 1085800045 + .long 2002637577 + .long 1090160487 + .long 3430232497 + .long 1085596986 + .long 2727882820 + .long 1089937303 + .long 1191597860 + .long 1085420005 + .long 2827660057 + .long 1089742608 + .long 3293943575 + .long 1085255381 + .long 3738758065 + .long 1089572786 + .long 3216349492 + .long 1084986592 + .long 2602645614 + .long 1089378893 + .long 3850209855 + .long 1084752407 + .long 4024866937 + .long 1089120583 + .long 600789168 + .long 1084548397 + .long 2385236869 + .long 1088895357 + .long 1376340710 + .long 1084370694 + .long 1750036214 + .long 1088699001 + .long 2804989792 + .long 1084204267 + .long 3625159312 + .long 1088527835 + .long 1780939479 + .long 1083934712 + .long 4181588374 + .long 1088335406 + .long 1216346442 + .long 1083700003 + .long 4241161077 + .long 1088075372 + .long 2393435751 + .long 1083495660 + .long 1532798012 + .long 1087848782 + .long 775536408 + .long 1083317777 + .long 585891252 + .long 1087651358 + .long 3964006679 + .long 1083146883 + .long 851324912 + .long 1087479367 + .long 4193385453 + .long 1082877383 + .long 4214947902 + .long 1087285790 + .long 728240374 + .long 1082642866 + .long 3731379682 + .long 1087024823 + .long 2554889952 + .long 1082438814 + .long 3234938630 + .long 1086797559 + .long 224011849 + .long 1082261293 + .long 1371418612 + .long 1086599670 + .long 480998365 + .long 1082083310 + .long 4087257844 + .long 1086427379 + .long 1992874489 + .long 1081814686 + .long 583681743 + .long 1086230055 + .long 3593845159 + .long 1081581073 + .long 2643283993 + .long 1085968954 + .long 3749576702 + .long 1081377933 + .long 3993298988 + .long 1085741713 + .long 1071458057 + .long 1081201313 + .long 1654189370 + .long 1085543966 + .long 1601380362 + .long 1081013681 + .long 1107405591 + .long 1085371905 + .long 124804291 + .long 1080746747 + .long 3421738212 + .long 1085168264 + .long 752868452 + .long 1080514745 + .long 3308765037 + .long 1084907831 + .long 4154137425 + .long 1080313128 + .long 756246516 + .long 1084681311 + .long 582893452 + .long 1080137940 + .long 1225810351 + .long 1084484311 + .long 1920387376 + .long 1079938186 + .long 4000749402 + .long 1084313005 + .long 162516834 + .long 1079673739 + .long 784691897 + .long 1084100540 + .long 3882275571 + .long 1079444038 + .long 1607273450 + .long 1083841569 + .long 3235485814 + .long 1079244544 + .long 3776267582 + .long 1083616458 + .long 2546997760 + .long 1079071305 + .long 2184543794 + .long 1083420805 + .long 3640950650 + .long 1078857064 + .long 2131145458 + .long 1083250775 + .long 2091040063 + .long 1078595879 + .long 2368285214 + .long 1083027054 + .long 887882894 + .long 1078369151 + .long 1028430600 + .long 1082770327 + .long 1091365731 + .long 1078172358 + .long 3867464166 + .long 1082547303 + .long 280040432 + .long 1078001569 + .long 2417693552 + .long 1082353583 + .long 1333440383 + .long 1077770603 + .long 3323262261 + .long 1082185336 + .long 3409501376 + .long 1077513425 + .long 2528771426 + .long 1081948031 + .long 3597097013 + .long 1077290312 + .long 2346058576 + .long 1081694308 + .long 135653325 + .long 1077096776 + .long 1584763124 + .long 1081474030 + .long 919368609 + .long 1076928915 + .long 4116245666 + .long 1081282811 + .long 2527512303 + .long 1076679131 + .long 193164072 + .long 1081116840 + .long 132243017 + .long 1076426672 + .long 280180506 + .long 1080863742 + .long 3225936839 + .long 1076207785 + .long 3480617204 + .long 1080613756 + .long 769188436 + .long 1076018031 + .long 4034624571 + .long 1080396856 + .long 1019068871 + .long 1075853551 + .long 3143788733 + .long 1080208686 + .long 2902155955 + .long 1075583017 + .long 3522894756 + .long 1080045460 + .long 2904593745 + .long 1075335944 + .long 3554323885 + .long 1079774499 + .long 1419386925 + .long 1075121859 + .long 1231864750 + .long 1079528952 + .long 4184064491 + .long 1074936379 + .long 2447488876 + .long 1079316033 + .long 3457071937 + .long 1074761007 + .long 2430366532 + .long 1079131430 + .long 2388689735 + .long 1074482662 + .long 2287503713 + .long 1078958090 + .long 4177130617 + .long 1074241597 + .long 899959499 + .long 1078680657 + .long 1227140978 + .long 1074032846 + .long 3790646954 + .long 1078440207 + .long 1114999631 + .long 1073852098 + .long 3811452349 + .long 1078231837 + .long 3063409814 + .long 1073649408 + .long 2400919409 + .long 1078051289 + .long 2506684706 + .long 1073378494 + .long 2937076999 + .long 1077853606 + .long 4208701520 + .long 1073144008 + .long 4103185011 + .long 1077582599 + .long 1313010332 + .long 1072941078 + .long 2847939034 + .long 1077347864 + .long 2678827294 + .long 1072765477 + .long 920270619 + .long 1077144571 + .long 2351614710 + .long 1072533841 + .long 3078958784 + .long 1076968529 + .long 2584841054 + .long 1072270963 + .long 1719891259 + .long 1076744659 + .long 1822670350 + .long 1072043572 + .long 3254115937 + .long 1076480741 + .long 2350112668 + .long 1071846901 + .long 177558575 + .long 1076252287 + .long 1949677764 + .long 1071676821 + .long 1435888075 + .long 1076054554 + .long 3477976628 + .long 1071414837 + .long 985819278 + .long 1075883433 + .long 3939703665 + .long 1071160534 + .long 3601037010 + .long 1075631744 + .long 1877066418 + .long 1070940695 + .long 2227084204 + .long 1075375518 + .long 198803165 + .long 1070750672 + .long 3199787287 + .long 1075153857 + .long 3760946197 + .long 1070576785 + .long 357646722 + .long 1074962123 + .long 818405878 + .long 1070292941 + .long 2622182607 + .long 1074796294 + .long 1019318827 + .long 1070047683 + .long 1065060601 + .long 1074515379 + .long 1212097429 + .long 1069835792 + .long 1906811740 + .long 1074267382 + .long 589568904 + .long 1069652751 + .long 2826585863 + .long 1074052972 + .long 725964252 + .long 1069441782 + .long 3634844497 + .long 1073867623 + .long 2851703311 + .long 1069168700 + .long 2320992478 + .long 1073673009 + .long 2930993008 + .long 1068932886 + .long 554091730 + .long 1073396092 + .long 725065783 + .long 1068729279 + .long 357628778 + .long 1073156796 + .long 4120994388 + .long 1068553500 + .long 2722636258 + .long 1072950035 + .long 2894585062 + .long 1068304589 + .long 203269805 + .long 1072771409 + .long 3282857881 + .long 1068042663 + .long 824090352 + .long 1072540966 + .long 4195077263 + .long 1067816620 + .long 1820258408 + .long 1072274419 + .long 1006457760 + .long 1067621569 + .long 1813080486 + .long 1072044226 + .long 556593427 + .long 1067453280 + .long 1601803602 + .long 1071845453 + .long 2926461152 + .long 1067165830 + .long 3053468438 + .long 1071673832 + .long 673859665 + .long 1066915370 + .long 940146539 + .long 1071406675 + .long 3922402993 + .long 1066699353 + .long 3725117473 + .long 1071150896 + .long 3365250929 + .long 1066513067 + .long 572324026 + .long 1070930139 + .long 1278471661 + .long 1066303087 + .long 1957106858 + .long 1070739630 + .long 3680566807 + .long 1066026112 + .long 1493026476 + .long 1070554396 + .long 2595010826 + .long 1065787345 + .long 2292657928 + .long 1070270746 + .long 772889063 + .long 1065581540 + .long 2611186430 + .long 1070026053 + .long 3674362520 + .long 1065404167 + .long 347983329 + .long 1069814993 + .long 928504805 + .long 1065149422 + .long 2629569584 + .long 1069632964 + .long 3216199533 + .long 1064886022 + .long 138419420 + .long 1069404468 + .long 1795141573 + .long 1064659096 + .long 3969997117 + .long 1069133776 + .long 2673537097 + .long 1064463616 + .long 866550090 + .long 1068900406 + .long 1567314510 + .long 1064285852 + .long 721422537 + .long 1068699235 + .long 2094096671 + .long 1063995846 + .long 1304881903 + .long 1068525842 + .long 3964575649 + .long 1063746119 + .long 2371681858 + .long 1068253876 + .long 2022640159 + .long 1063531104 + .long 2462268746 + .long 1067996343 + .long 25823726 + .long 1063345998 + .long 301445847 + .long 1067774453 + .long 796105289 + .long 1063117255 + .long 2573539776 + .long 1067583295 + .long 3335939118 + .long 1062842973 + .long 1545161389 + .long 1067386901 + .long 3431914924 + .long 1062606931 + .long 18355429 + .long 1067103262 + .long 3559962747 + .long 1062403822 + .long 784603450 + .long 1066858998 + .long 1398702338 + .long 1062229073 + .long 2141073328 + .long 1066648669 + .long 3420094350 + .long 1061949995 + .long 2702176499 + .long 1066467583 + .long 2993634154 + .long 1061691376 + .long 3996809095 + .long 1066221595 + .long 1026361128 + .long 1061468949 + .long 1606148946 + .long 1065953230 + .long 199951780 + .long 1061277672 + .long 3336741006 + .long 1065722261 + .long 1725965446 + .long 1061067493 + .long 1014836455 + .long 1065523503 + .long 2536985697 + .long 1060784690 + .long 2935372754 + .long 1065351751 + .long 2008466743 + .long 1060541582 + .long 2740775054 + .long 1065057484 + .long 3982168358 + .long 1060332622 + .long 1020705938 + .long 1064804348 + .long 668537815 + .long 1060153037 + .long 1036688584 + .long 1064586620 + .long 3226724213 + .long 1059887093 + .long 3204557467 + .long 1064399370 + .long 2537253116 + .long 1059621900 + .long 9237192 + .long 1064172066 + .long 2128730302 + .long 1059394069 + .long 1675559132 + .long 1063895178 + .long 2391191686 + .long 1059198360 + .long 1487886995 + .long 1063657138 + .long 3062168369 + .long 1058998770 + .long 2727312836 + .long 1063452520 + .long 2844502355 + .long 1058710050 + .long 561521250 + .long 1063276654 + .long 1615260518 + .long 1058462128 + .long 4265220818 + .long 1062994970 + .long 3808626276 + .long 1058249264 + .long 1910769961 + .long 1062735234 + .long 3535160914 + .long 1058066524 + .long 510111814 + .long 1062512076 + .long 3526462797 + .long 1057806144 + .long 1272947135 + .long 1062320368 + .long 64586368 + .long 1057536886 + .long 2171539441 + .long 1062103909 + .long 282809207 + .long 1057305816 + .long 3362559227 + .long 1061821054 + .long 3734035482 + .long 1057107542 + .long 964703473 + .long 1061578153 + .long 1785752034 + .long 1056910256 + .long 210580293 + .long 1061369587 + .long 1859847393 + .long 1056618395 + .long 3205737460 + .long 1061190524 + .long 991232585 + .long 1056368051 + .long 400215000 + .long 1060914711 + .long 1378265051 + .long 1056153344 + .long 624694001 + .long 1060650838 + .long 422472125 + .long 1055969224 + .long 732814700 + .long 1060424376 + .long 184700884 + .long 1055706673 + .long 82117668 + .long 1060230045 + .long 341178737 + .long 1055435976 + .long 3204396423 + .long 1060016276 + .long 86602655 + .long 1055203927 + .long 57156315 + .long 1059730184 + .long 1344528830 + .long 1055005032 + .long 4171459327 + .long 1059484772 + .long 2489220987 + .long 1054801695 + .long 2619830600 + .long 1059274284 + .long 1364863812 + .long 1054509562 + .long 2075471815 + .long 1059093771 + .long 3035513672 + .long 1054259259 + .long 3172072720 + .long 1058816207 + .long 774888989 + .long 1054044824 + .long 2795043467 + .long 1058550783 + .long 2545027767 + .long 1053861138 + .long 3672062656 + .long 1058323241 + .long 1069016163 + .long 1053588745 + .long 2507613117 + .long 1058128199 + .long 106954761 + .long 1053319280 + .long 4118160134 + .long 1057908886 + .long 2071148562 + .long 1053088540 + .long 3274049128 + .long 1057622380 + .long 1504097826 + .long 1052890985 + .long 1205074058 + .long 1057376886 + .long 2335886464 + .long 1052673421 + .long 3128666935 + .long 1057166558 + .long 2974694783 + .long 1052383892 + .long 2455986770 + .long 1056986382 + .long 4090613532 + .long 1052136093 + .long 3506008771 + .long 1056699500 + .long 2593477673 + .long 1051924036 + .long 2679845102 + .long 1056435156 + .long 2652867038 + .long 1051742587 + .long 2936547419 + .long 1056208790 + .long 3722139095 + .long 1051452967 + .long 1937071815 + .long 1056014970 + .long 4071138000 + .long 1051187367 + .long 281855336 + .long 1055782042 + .long 4026582813 + .long 1050960187 + .long 58418475 + .long 1055497959 + .long 4239898754 + .long 1050765893 + .long 1880586525 + .long 1055254809 + .long 3166599183 + .long 1050526339 + .long 3309560683 + .long 1055046720 + .long 1372242815 + .long 1050242215 + .long 1098949801 + .long 1054868659 + .long 320314846 + .long 1049999309 + .long 1480871853 + .long 1054565165 + .long 3414900757 + .long 1049791666 + .long 3778886620 + .long 1054304499 + .long 1658502550 + .long 1049603805 + .long 1985450142 + .long 1054081530 + .long 2195452177 + .long 1049300457 + .long 371263915 + .long 1053890829 + .long 736946713 + .long 1049041243 + .long 3794434276 + .long 1053636611 + .long 2129280925 + .long 1048819768 + .long 2911553074 + .long 1053357716 + .long 4163443926 + .long 1048630561 + .long 3601516282 + .long 1053119270 + .long 3922439198 + .long 1048361883 + .long 3551125735 + .long 1052915432 + .long 1423074626 + .long 1048085806 + .long 566278539 + .long 1052712098 + .long 3103650856 + .long 1047850038 + .long 1653025731 + .long 1052414283 + .long 89985488 + .long 1047648720 + .long 3828200832 + .long 1052159786 + .long 2126375434 + .long 1047426251 + .long 2263717319 + .long 1051942334 + .long 1526941242 + .long 1047132787 + .long 4268229662 + .long 1051756556 + .long 571254441 + .long 1046882294 + .long 3421997627 + .long 1051473991 + .long 3635786287 + .long 1046668505 + .long 3475446781 + .long 1051202896 + .long 1586213824 + .long 1046486066 + .long 2695546121 + .long 1050971375 + .long 3242786031 + .long 1046181947 + .long 2632318429 + .long 1050773675 + .long 2032056883 + .long 1045916328 + .long 2529106959 + .long 1050536601 + .long 957132524 + .long 1045689741 + .long 3147584511 + .long 1050248391 + .long 4065698506 + .long 1045496473 + .long 3462344565 + .long 1050002374 + .long 144784160 + .long 1045233022 + .long 2860265986 + .long 1049792399 + .long 3762462124 + .long 1044951912 + .long 1082602800 + .long 1049601840 + .long 24148966 + .long 1044712229 + .long 3294945749 + .long 1049296035 + .long 3365386114 + .long 1044507890 + .long 188274458 + .long 1049035128 + .long 1110470638 + .long 1044285718 + .long 3669055968 + .long 1048812552 + .long 1728691669 + .long 1043988796 + .long 2895341355 + .long 1048622701 + .long 2733832444 + .long 1043735753 + .long 1139529843 + .long 1048345566 + .long 3583218421 + .long 1043520131 + .long 3965629786 + .long 1048069408 + .long 1987803048 + .long 1043336419 + .long 594343604 + .long 1047833940 + .long 3575686132 + .long 1043026706 + .long 2364830100 + .long 1047633189 + .long 3702231228 + .long 1042760081 + .long 1709502397 + .long 1047396694 + .long 1513151189 + .long 1042532997 + .long 723955360 + .long 1047104969 + .long 275375183 + .long 1042339613 + .long 1048166754 + .long 1046856348 + .long 3055178583 + .long 1042065351 + .long 2867678576 + .long 1046644488 + .long 2863378291 + .long 1041784963 + .long 73800117 + .long 1046449106 + .long 3095460318 + .long 1041546273 + .long 1863735641 + .long 1046141539 + .long 2209407776 + .long 1041343105 + .long 1626801313 + .long 1045879546 + .long 2796375947 + .long 1041104419 + .long 1654412224 + .long 1045656401 + .long 1810533568 + .long 1040810133 + .long 1760921420 + .long 1045466367 + .long 1986199598 + .long 1040559734 + .long 1489107984 + .long 1045178830 + .long 3507903350 + .long 1040346703 + .long 695456108 + .long 1044903287 + .long 3803877206 + .long 1040143581 + .long 1450503897 + .long 1044668716 + .long 1047104294 + .long 1039835311 + .long 3898922767 + .long 1044469049 + .long 1836915555 + .long 1039573141 + .long 3452138526 + .long 1044216533 + .long 1850834244 + .long 1039350205 + .long 3300200332 + .long 1043927307 + .long 155433612 + .long 1039160655 + .long 1893459278 + .long 1043681209 + .long 2416438279 + .long 1038860204 + .long 2345131655 + .long 1043471833 + .long 655740975 + .long 1038586246 + .long 2233243491 + .long 1043254324 + .long 1937958484 + .long 1038353399 + .long 1214496715 + .long 1042951331 + .long 709870736 + .long 1038155519 + .long 315937416 + .long 1042693645 + .long 3786312713 + .long 1037884509 + .long 4032052801 + .long 1042474517 + .long 1638503364 + .long 1037598791 + .long 3912551254 + .long 1042288202 + .long 3946536954 + .long 1037356067 + .long 1108762442 + .long 1041975068 + .long 3228475787 + .long 1037149894 + .long 1850199187 + .long 1041705777 + .long 3115208651 + .long 1036907914 + .long 1900259957 + .long 1041476894 + .long 3178011185 + .long 1036610512 + .long 3601457727 + .long 1041282379 + .long 1116713894 + .long 1036357987 + .long 2019199185 + .long 1040998218 + .long 3490939155 + .long 1036143592 + .long 163110902 + .long 1040717352 + .long 3244394505 + .long 1035930099 + .long 1983419685 + .long 1040478747 + .long 2352989314 + .long 1035621140 + .long 2027948076 + .long 1040276070 + .long 3593160161 + .long 1035358929 + .long 3667278182 + .long 1040020472 + .long 1237413608 + .long 1035136421 + .long 1788776124 + .long 1039728107 + .long 2226049380 + .long 1034947626 + .long 3782116261 + .long 1039479855 + .long 3237854159 + .long 1034630401 + .long 3928059158 + .long 1039269087 + .long 2563567733 + .long 1034358665 + .long 2613981636 + .long 1039041515 + .long 1914887475 + .long 1034128186 + .long 3806068620 + .long 1038737776 + .long 929391145 + .long 1033932724 + .long 2594567776 + .long 1038479994 + .long 4184711150 + .long 1033638021 + .long 1119648630 + .long 1038261242 + .long 3474759119 + .long 1033356963 + .long 1939641769 + .long 1038061026 + .long 1529494156 + .long 1033118694 + .long 2101490682 + .long 1037746090 + .long 233245116 + .long 1032916724 + .long 859180120 + .long 1037478936 + .long 2644400424 + .long 1032643727 + .long 4278463368 + .long 1037252341 + .long 3696690126 + .long 1032353594 + .long 2146825917 + .long 1037060173 + .long 1784326616 + .long 1032107752 + .long 73703255 + .long 1036752777 + .long 2385418051 + .long 1031899464 + .long 2670831976 + .long 1036476452 + .long 250840531 + .long 1031647248 + .long 1981749041 + .long 1036242195 + .long 451541801 + .long 1031348332 + .long 2695979644 + .long 1036043625 + .long 3892844867 + .long 1031095170 + .long 511961360 + .long 1035757566 + .long 2644426 + .long 1030880787 + .long 4280120015 + .long 1035472316 + .long 3771064856 + .long 1030648317 + .long 1573160013 + .long 1035230612 + .long 3150549002 + .long 1030340953 + .long 367750239 + .long 1035025830 + .long 2468113812 + .long 1030080764 + .long 2027452822 + .long 1034760190 + .long 3247571780 + .long 1029860536 + .long 1968300091 + .long 1034466305 + .long 338123715 + .long 1029646679 + .long 1454863160 + .long 1034217405 + .long 2802189797 + .long 1029331244 + .long 567260686 + .long 1034006630 + .long 884858248 + .long 1029064354 + .long 4229980104 + .long 1033760387 + .long 2562855793 + .long 1028838564 + .long 30614746 + .long 1033458199 + .long 1344331785 + .long 1028642083 + .long 2106523192 + .long 1033202391 + .long 1476351022 + .long 1028318998 + .long 538704847 + .long 1032985873 + .long 789726858 + .long 1028045768 + .long 67344372 + .long 1032757904 + .long 38817182 + .long 1027814728 + .long 1596575633 + .long 1032447785 + .long 131040432 + .long 1027619387 + .long 4213872347 + .long 1032185393 + .long 2944168450 + .long 1027304018 + .long 3593256783 + .long 1031963411 + .long 38618666 + .long 1027024844 + .long 2460539498 + .long 1031752493 + .long 1972432303 + .long 1026788892 + .long 3667681220 + .long 1031434860 + .long 1595814988 + .long 1026589496 + .long 2417051493 + .long 1031166243 + .long 3052212459 + .long 1026286121 + .long 3183595507 + .long 1030939105 + .long 3275485393 + .long 1026001429 + .long 2041939610 + .long 1030743923 + .long 2614927437 + .long 1025760932 + .long 571801759 + .long 1030419232 + .long 1586920675 + .long 1025557794 + .long 367925355 + .long 1030144780 + .long 1211347758 + .long 1025265137 + .long 1181761285 + .long 1029912822 + .long 2123985710 + .long 1024975385 + .long 955718971 + .long 1029716803 + .long 1991764463 + .long 1024730733 + .long 33560069 + .long 1029400718 + .long 2766099915 + .long 1024524186 + .long 4066494735 + .long 1029120853 + .long 2844029464 + .long 1024240910 + .long 163608264 + .long 1028884438 + .long 2225325311 + .long 1023946584 + .long 2372007245 + .long 1028684749 + .long 1897238919 + .long 1023698191 + .long 227068009 + .long 1028379151 + .long 2677487111 + .long 1023488588 + .long 1987805596 + .long 1028094327 + .long 4113166783 + .long 1023213303 + .long 3994070673 + .long 1027853839 + .long 2561043816 + .long 1022914914 + .long 3987049129 + .long 1027650811 + .long 1479042232 + .long 1022663215 + .long 734550339 + .long 1027354379 + .long 1459326848 + .long 1022450926 + .long 643236952 + .long 1027065076 + .long 1801264067 + .long 1022182197 + .long 880654138 + .long 1026820926 + .long 8547555 + .long 1021880279 + .long 1328795750 + .long 1026614907 + .long 947948281 + .long 1021625727 + .long 79912977 + .long 1026326267 + .long 564096622 + .long 1021411137 + .long 3835606021 + .long 1026032989 + .long 2496399847 + .long 1021147490 + .long 1850584198 + .long 1025785607 + .long 1889307521 + .long 1020842597 + .long 841981738 + .long 1025576963 + .long 478581110 + .long 1020585663 + .long 1231833403 + .long 1025294697 + .long 1036943228 + .long 1020369170 + .long 4261529471 + .long 1024997973 + .long 955211877 + .long 1020109103 + .long 1453373905 + .long 1024747807 + .long 3507293620 + .long 1019801806 + .long 1380070272 + .long 1024536918 + .long 2848526444 + .long 1019542973 + .long 3528672768 + .long 1024259571 + .long 1318010026 + .long 1019324987 + .long 286393117 + .long 1023959950 + .long 601957754 + .long 1019066976 + .long 2374157349 + .long 1023707463 + .long 3647692231 + .long 1018757861 + .long 1025615074 + .long 1023494723 + .long 2600447177 + .long 1018497624 + .long 2435816139 + .long 1023220812 + .long 3130361093 + .long 1018278562 + .long 3480145686 + .long 1022918856 + .long 3104472293 + .long 1018021071 + .long 836507968 + .long 1022664528 + .long 2166059604 + .long 1017710735 + .long 3435329435 + .long 1022450340 + .long 354251728 + .long 1017449597 + .long 1375913924 + .long 1022178362 + .long 3957119597 + .long 1017229883 + .long 2510530293 + .long 1021874650 + .long 1353439561 + .long 1016971374 + .long 1479384562 + .long 1021618968 + .long 1117210896 + .long 1016660419 + .long 2207338084 + .long 1021403746 + .long 3595246717 + .long 1016398887 + .long 1228469165 + .long 1021132185 + .long 1863134756 + .long 1016178951 + .long 3618343345 + .long 1020827305 + .long 1593456879 + .long 1015917890 + .long 1551664931 + .long 1020570766 + .long 818554246 + .long 1015606923 + .long 3379165224 + .long 1020354928 + .long 1042640705 + .long 1015345509 + .long 1826130738 + .long 1020082267 + .long 4064063037 + .long 1015125778 + .long 1621091539 + .long 1019776815 + .long 1682486703 + .long 1014860648 + .long 240150038 + .long 1019519920 + .long 3727864838 + .long 1014550275 + .long 143188723 + .long 1019303889 + .long 790799965 + .long 1014289489 + .long 2542415732 + .long 1019028616 + .long 588413497 + .long 1014070393 + .long 1689575436 + .long 1018723190 + .long 2792671236 + .long 1013799698 + .long 3056208300 + .long 1018466442 + .long 371323596 + .long 1013490524 + .long 2852159690 + .long 1018250641 + .long 3381178375 + .long 1013230870 + .long 1962846177 + .long 1017971262 + .long 1824492044 + .long 1013012833 + .long 1698970705 + .long 1017666460 + .long 3028927939 + .long 1012735112 + .long 4099940321 + .long 1017410362 + .long 1762396229 + .long 1012427732 + .long 4056511372 + .long 1017195213 + .long 14908137 + .long 1012169712 + .long 938952971 + .long 1016910256 + .long 2528275841 + .long 1011953151 + .long 3880280468 + .long 1016606672 + .long 3058306216 + .long 1011666982 + .long 2044019052 + .long 1016351724 + .long 2373660276 + .long 1011361982 + .long 3135727133 + .long 1016137645 + .long 225152199 + .long 1011106085 + .long 452119821 + .long 1015845670 + .long 1163258714 + .long 1010891411 + .long 4249348051 + .long 1015543892 + .long 2315171378 + .long 1010595420 + .long 2608843243 + .long 1015290585 + .long 2546526795 + .long 1010293372 + .long 344938492 + .long 1015077989 + .long 3142047356 + .long 1010040075 + .long 2906234993 + .long 1014777596 + .long 1586501027 + .long 1009827687 + .long 2790006338 + .long 1014478202 + .long 3012990026 + .long 1009520556 + .long 3258728209 + .long 1014227018 + .long 189552738 + .long 1009222016 + .long 3248905777 + .long 1014016307 + .long 2584211501 + .long 1008971782 + .long 4004901026 + .long 1013706147 + .long 1410689418 + .long 1008762065 + .long 68165466 + .long 1013409700 + .long 548910252 + .long 1008442539 + .long 3101481013 + .long 1013161109 + .long 3358267658 + .long 1008148040 + .long 2622791965 + .long 1012952676 + .long 253475263 + .long 1007901316 + .long 1034569821 + .long 1012631454 + .long 1442345681 + .long 1007694640 + .long 1797217383 + .long 1012338498 + .long 3320919141 + .long 1007361531 + .long 3671711579 + .long 1012092956 + .long 3647684057 + .long 1007071587 + .long 3754258988 + .long 1011887180 + .long 1315509194 + .long 1006828797 + .long 435316714 + .long 1011553663 + .long 3763444467 + .long 1006618072 + .long 1343743202 + .long 1011264725 + .long 431196773 + .long 1006277713 + .long 644693663 + .long 1011022670 + .long 658882017 + .long 1005992810 + .long 3036828008 + .long 1010812566 + .long 1013879423 + .long 1005754357 + .long 3254960231 + .long 1010472937 + .long 732312959 + .long 1005525227 + .long 364114922 + .long 1010188521 + .long 1914291876 + .long 1005191274 + .long 893250344 + .long 1009950370 + .long 302574489 + .long 1004911871 + .long 405626062 + .long 1009723279 + .long 1033995149 + .long 1004678135 + .long 2924566656 + .long 1009389455 + .long 998984549 + .long 1004429445 + .long 3214785467 + .long 1009110037 + .long 1256006080 + .long 1004102418 + .long 520918293 + .long 1008876187 + .long 4195881140 + .long 1003828942 + .long 1645230926 + .long 1008630881 + .long 4142236847 + .long 1003600277 + .long 4030010378 + .long 1008303406 + .long 1715780765 + .long 1003330976 + .long 2388560405 + .long 1008029437 + .long 2030345922 + .long 1003011356 + .long 1242623559 + .long 1007800259 + .long 3116364008 + .long 1002744205 + .long 2151502628 + .long 1007535609 + .long 52145394 + .long 1002520938 + .long 2039806163 + .long 1007214992 + .long 2071737364 + .long 1002230079 + .long 2297832268 + .long 1006946891 + .long 1375985655 + .long 1001918308 + .long 753214039 + .long 1006722732 + .long 363800178 + .long 1001657845 + .long 3101371093 + .long 1006437710 + .long 2715202506 + .long 1001440272 + .long 1391928156 + .long 1006124422 + .long 2334989461 + .long 1001127020 + .long 4174372081 + .long 1005862577 + .long 3422981822 + .long 1000823498 + .long 100350707 + .long 1005643757 + .long 686101477 + .long 1000570051 + .long 2126761942 + .long 1005337441 + .long 1665180946 + .long 1000358442 + .long 3315477314 + .long 1005031913 + .long 2844311213 + .long 1000022070 + .long 3705683901 + .long 1004776680 + .long 2635672858 + .long 999727156 + .long 2359685722 + .long 1004563489 + .long 3504007429 + .long 999481016 + .long 1015634823 + .long 1004235065 + .long 2858150846 + .long 999258291 + .long 2137762587 + .long 1003937689 + .long 3061487311 + .long 998915503 + .long 1488443063 + .long 1003689388 + .long 1589484739 + .long 998629512 + .long 1064828973 + .long 1003476945 + .long 512274466 + .long 998390936 + .long 488660656 + .long 1003130850 + .long 1785973029 + .long 998139524 + .long 3056590348 + .long 1002841975 + .long 792273441 + .long 997807594 + .long 608615156 + .long 1002600891 + .long 3141683054 + .long 997530796 + .long 3952431401 + .long 1002360773 + .long 3501562020 + .long 997300002 + .long 3637234427 + .long 1002025066 + .long 1463016393 + .long 997019404 + .long 1340710858 + .long 1001745000 + .long 268181451 + .long 996698615 + .long 15279650 + .long 1001511381 + .long 2850564408 + .long 996431238 + .long 2773876475 + .long 1001242979 + .long 3686799359 + .long 996208408 + .long 2359804966 + .long 1000917986 + .long 607517515 + .long 995898253 + .long 356567530 + .long 1000646991 + .long 3414733929 + .long 995588835 + .long 941685878 + .long 1000421049 + .long 3196577409 + .long 995331063 + .long 2352724485 + .long 1000123883 + .long 45721019 + .long 995116343 + .long 2732285461 + .long 999809878 + .long 2498269658 + .long 994776386 + .long 4080566165 + .long 999548173 + .long 1573418417 + .long 994478520 + .long 672937786 + .long 999330085 + .long 2432349626 + .long 994230492 + .long 3987502969 + .long 999003802 + .long 178865735 + .long 993997931 + .long 3507412356 + .long 998701008 + .long 1301680304 + .long 993654112 + .long 1354325422 + .long 998448771 + .long 2115298536 + .long 993367925 + .long 3282835643 + .long 998232997 + .long 1075025911 + .long 993129739 + .long 4196663680 + .long 997883048 + .long 3413566344 + .long 992861581 + .long 843520004 + .long 997591637 + .long 3453132818 + .long 992531727 + .long 2082923672 + .long 997349000 + .long 4115152178 + .long 992257298 + .long 3095722608 + .long 997098223 + .long 326280969 + .long 992029010 + .long 2669633427 + .long 996761924 + .long 2448422725 + .long 991725357 + .long 2159662237 + .long 996482016 + .long 2559948630 + .long 991409518 + .long 884616263 + .long 996249072 + .long 453104061 + .long 991146878 + .long 2132235194 + .long 995963271 + .long 1056032481 + .long 990928502 + .long 2326528573 + .long 995640722 + .long 3896143322 + .long 990589585 + .long 1939180791 + .long 995372390 + .long 2373804472 + .long 990287756 + .long 1389926077 + .long 995149189 + .long 2095232049 + .long 990036888 + .long 2515538542 + .long 994828478 + .long 2478108217 + .long 989801061 + .long 1556420888 + .long 994519723 + .long 3486874292 + .long 989454576 + .long 1142146280 + .long 994262992 + .long 1978383670 + .long 989166698 + .long 606390394 + .long 994049043 + .long 2983865158 + .long 988927542 + .long 2939512955 + .long 993694166 + .long 923076156 + .long 988650607 + .long 165760997 + .long 993399194 + .long 944718362 + .long 988320621 + .long 1552124838 + .long 993154043 + .long 3353375996 + .long 988046584 + .long 4257934158 + .long 992899176 + .long 1525400095 + .long 987819039 + .long 4075494167 + .long 992560639 + .long 1555495152 + .long 987501649 + .long 1900423578 + .long 992279386 + .long 3069103793 + .long 987187989 + .long 860670730 + .long 992045752 + .long 2678272534 + .long 986927638 + .long 329100681 + .long 991750501 + .long 1378707480 + .long 986711562 + .long 2155143368 + .long 991428183 + .long 3554901667 + .long 986354490 + .long 686294964 + .long 991160536 + .long 2145982135 + .long 986056931 + .long 1396697757 + .long 990938313 + .long 4035748397 + .long 985810064 + .long 2169037708 + .long 990603336 + .long 271321638 + .long 985549120 + .long 817743244 + .long 990297062 + .long 1201346615 + .long 985209408 + .long 2144482665 + .long 990042861 + .long 2698120951 + .long 984927673 + .long 599125070 + .long 989808069 + .long 3967608741 + .long 984694049 + .long 1564740896 + .long 989457979 + .long 489506655 + .long 984387826 + .long 2575179602 + .long 989167519 + .long 2370519897 + .long 984066651 + .long 3075238372 + .long 988926562 + .long 2065809110 + .long 983800420 + .long 3876677130 + .long 988646224 + .long 2698697501 + .long 983579760 + .long 3323391293 + .long 988314699 + .long 2714262449 + .long 983229499 + .long 1362487400 + .long 988039777 + .long 1035021400 + .long 982926443 + .long 1916156855 + .long 987811821 + .long 2094793757 + .long 982675353 + .long 2055393524 + .long 987487071 + .long 2393106092 + .long 982418977 + .long 998866449 + .long 987173741 + .long 3969867322 + .long 982074380 + .long 1922744909 + .long 986914034 + .long 2506432155 + .long 981788978 + .long 2998892024 + .long 986687584 + .long 347261991 + .long 981552631 + .long 1690677663 + .long 986330874 + .long 2413690975 + .long 981246725 + .long 1099880785 + .long 986035320 + .long 3693189010 + .long 980922677 + .long 1567780161 + .long 985790467 + .long 2571271079 + .long 980654425 + .long 3859186370 + .long 985513845 + .long 3730314294 + .long 980432388 + .long 4196265674 + .long 985177866 + .long 3547308744 + .long 980078695 + .long 1239353938 + .long 984899626 + .long 1123407033 + .long 979774566 + .long 2988355361 + .long 984669229 + .long 2051167882 + .long 979522925 + .long 1440942744 + .long 984344083 + .long 105986494 + .long 979259496 + .long 2110902156 + .long 984028250 + .long 1557216304 + .long 978915069 + .long 3765446217 + .long 983766821 + .long 2473903186 + .long 978630190 + .long 151059819 + .long 983536617 + .long 869034262 + .long 978394593 + .long 285177055 + .long 983178508 + .long 2512779077 + .long 978078143 + .long 2403208304 + .long 982882194 + .long 2873671049 + .long 977755990 + .long 374697932 + .long 982637043 + .long 3419990594 + .long 977489664 + .long 2224992001 + .long 982352777 + .long 3189216525 + .long 977266204 + .long 498231531 + .long 982017294 + .long 2944557452 + .long 976902300 + .long 3702526913 + .long 981739837 + .long 121067572 + .long 976601569 + .long 637342476 + .long 981510400 + .long 2622903681 + .long 976353073 + .long 2434778607 + .long 981174251 + .long 1794490751 + .long 976071276 + .long 2281091232 + .long 980860579 + .long 302674988 + .long 975732067 + .long 362974682 + .long 980601289 + .long 233845232 + .long 975451880 + .long 2527455271 + .long 980355396 + .long 3220861069 + .long 975220473 + .long 1190549452 + .long 980001172 + .long 2033736924 + .long 974883077 + .long 3031959884 + .long 979708467 + .long 4256553093 + .long 974567503 + .long 361352448 + .long 979466628 + .long 1936720772 + .long 974306967 + .long 2482147755 + .long 979163693 + .long 33973548 + .long 974056687 + .long 3888825776 + .long 978833632 + .long 694561999 + .long 973701648 + .long 4061123316 + .long 978561028 + .long 1957941390 + .long 973408636 + .long 1074848063 + .long 978335907 + .long 4046417038 + .long 973166844 + .long 924574978 + .long 977978632 + .long 3264649053 + .long 972856160 + .long 3926973315 + .long 977671688 + .long 3364773894 + .long 972526987 + .long 1003370320 + .long 977418302 + .long 2833336785 + .long 972255455 + .long 251086384 + .long 977145474 + .long 1498372551 + .long 972031498 + .long 2141831240 + .long 976800246 + .long 3202977140 + .long 971663653 + .long 990150277 + .long 976515360 + .long 3029951264 + .long 971359057 + .long 731089008 + .long 976280297 + .long 2368179288 + .long 971107921 + .long 732529087 + .long 975948479 + .long 2332764452 + .long 970820399 + .long 1362481471 + .long 975628530 + .long 2739241638 + .long 970479088 + .long 2897224622 + .long 975364633 + .long 2179305008 + .long 970197784 + .long 395324651 + .long 975118312 + .long 2153988357 + .long 969965965 + .long 591236627 + .long 974759381 + .long 3001603948 + .long 969617099 + .long 1987021701 + .long 974463440 + .long 2644855291 + .long 969302349 + .long 2244557973 + .long 974219465 + .long 916864639 + .long 969043063 + .long 165139525 + .long 973909608 + .long 276518869 + .long 968774762 + .long 3990080337 + .long 973578097 + .long 552598940 + .long 968422976 + .long 3279833141 + .long 973304899 + .long 1081454928 + .long 968133286 + .long 696051737 + .long 973079784 + .long 2434017124 + .long 967894760 + .long 3120641130 + .long 972710094 + .long 634480777 + .long 967561125 + .long 4226179833 + .long 972404509 + .long 517268684 + .long 967237822 + .long 1281067082 + .long 972152800 + .long 1761227011 + .long 966971717 + .long 2607481822 + .long 971861033 + .long 2624051824 + .long 966718364 + .long 2187645281 + .long 971519599 + .long 1855615375 + .long 966357944 + .long 294960735 + .long 971238464 + .long 3872708063 + .long 966061397 + .long 2757484849 + .long 971007006 + .long 501523777 + .long 965817435 + .long 1842856698 + .long 970651568 + .long 3482198253 + .long 965495016 + .long 616475432 + .long 970337913 + .long 3621476950 + .long 965164908 + .long 600490460 + .long 970079777 + .long 781292411 + .long 964893435 + .long 967686799 + .long 969801918 + .long 3077002492 + .long 964650496 + .long 3799086628 + .long 969452366 + .long 2176498416 + .long 964283432 + .long 1531848190 + .long 969164794 + .long 1526795031 + .long 963981677 + .long 738547815 + .long 968928240 + .long 2479877091 + .long 963733641 + .long 4083109352 + .long 968583129 + .long 2332708538 + .long 963418229 + .long 4263389877 + .long 968263116 + .long 1926908008 + .long 963083183 + .long 1435752048 + .long 967999974 + .long 505682123 + .long 962807884 + .long 3506442194 + .long 967731595 + .long 3255894848 + .long 962570641 + .long 650672913 + .long 967375875 + .long 1684060434 + .long 962199040 + .long 3986105406 + .long 967083477 + .long 1151499981 + .long 961893816 + .long 361088418 + .long 966843161 + .long 1553938820 + .long 961643143 + .long 4284810317 + .long 966504272 + .long 1111130284 + .long 961330402 + .long 3195258186 + .long 966179726 + .long 491595974 + .long 960992372 + .long 304210775 + .long 965913085 + .long 403770126 + .long 960714858 + .long 1188817635 + .long 965649591 + .long 499857809 + .long 960478492 + .long 4267083751 + .long 965289757 + .long 4124493950 + .long 960104540 + .long 2922153341 + .long 964994233 + .long 529233938 + .long 959797649 + .long 3581472874 + .long 964751554 + .long 3608946683 + .long 959545821 + .long 538155194 + .long 964414672 + .long 2488844302 + .long 959231368 + .long 1576989210 + .long 964087497 + .long 2644951025 + .long 958892361 + .long 1998681663 + .long 963818926 + .long 1574929094 + .long 958614283 + .long 2017643619 + .long 963555634 + .long 1180921534 + .long 958373958 + .long 2076837303 + .long 963193818 + .long 2754430238 + .long 957999886 + .long 1751525130 + .long 962896920 + .long 592412087 + .long 957693158 + .long 1468210885 + .long 962653322 + .long 3685746645 + .long 957441679 + .long 1578853619 + .long 962314192 + .long 3321692551 + .long 957121161 + .long 3633529452 + .long 961986340 + .long 2957015791 + .long 956783202 + .long 4215453794 + .long 961717444 + .long 3279621706 + .long 956506220 + .long 1025982394 + .long 961449668 + .long 2082874222 + .long 956257171 + .long 3993849966 + .long 961088034 + .long 3615044184 + .long 955885210 + .long 4276507964 + .long 960791540 + .long 3421859393 + .long 955580473 + .long 4027815507 + .long 960548482 + .long 2820597796 + .long 955330841 + .long 1072310897 + .long 960202893 + .long 3332804763 + .long 955000013 + .long 3417828075 + .long 959876328 + .long 2279675950 + .long 954665108 + .long 99678246 + .long 959608718 + .long 3806123428 + .long 954390863 + .long 466320272 + .long 959331850 + .long 3793285141 + .long 954128479 + .long 2240157201 + .long 958972561 + .long 4288855600 + .long 953760823 + .long 1436465249 + .long 958678242 + .long 4261984100 + .long 953459870 + .long 3374600055 + .long 958437173 + .long 858213069 + .long 953213549 + .long 71750759 + .long 958081027 + .long 1442919920 + .long 952868348 + .long 1430951825 + .long 957757690 + .long 2175566002 + .long 952538448 + .long 2718769201 + .long 957492951 + .long 1696930931 + .long 952268533 + .long 2583404221 + .long 957202547 + .long 963147336 + .long 951988438 + .long 3208314316 + .long 956847723 + .long 1854153588 + .long 951627204 + .long 4111780087 + .long 956557310 + .long 4007477170 + .long 951331760 + .long 3491113351 + .long 956319645 + .long 249557432 + .long 951090155 + .long 657089579 + .long 955949031 + .long 2438719310 + .long 950726768 + .long 1229996979 + .long 955630805 + .long 1325718181 + .long 950403737 + .long 1680288607 + .long 955370474 + .long 2642071856 + .long 950139667 + .long 1575881606 + .long 955062327 + .long 2791167757 + .long 949837791 + .long 3331377910 + .long 954714008 + .long 1590057940 + .long 949484984 + .long 2503747043 + .long 954429164 + .long 641645514 + .long 949196679 + .long 2680258862 + .long 954188352 + .long 1230815491 + .long 948960944 + .long 2150797635 + .long 953807515 + .long 1813703537 + .long 948576039 + .long 116181240 + .long 953496193 + .long 118816340 + .long 948261620 + .long 3302159546 + .long 953241727 + .long 3626447740 + .long 948004809 + .long 2446401520 + .long 952911938 + .long 683059647 + .long 947677454 + .long 860372539 + .long 952572051 + .long 3112022276 + .long 947334931 + .long 3912364621 + .long 952294339 + .long 380219932 + .long 947055270 + .long 187717024 + .long 952027909 + .long 1803476103 + .long 946789793 + .long 2186656987 + .long 951657244 + .long 3378513770 + .long 946417065 + .long 1643439369 + .long 951354497 + .long 3136370863 + .long 946112853 + .long 1416038410 + .long 951107253 + .long 3780631002 + .long 945864592 + .long 942707489 + .long 950752291 + .long 2782453257 + .long 945508482 + .long 3103472876 + .long 950422614 + .long 1450651629 + .long 945177928 + .long 727678422 + .long 950153477 + .long 3934725405 + .long 944908268 + .long 938280939 + .long 949857721 + .long 1254801265 + .long 944609650 + .long 1436668302 + .long 949499115 + .long 387274394 + .long 944250867 + .long 1037604191 + .long 949206468 + .long 1214354804 + .long 943958286 + .long 1288787065 + .long 948967677 + .long 1628681606 + .long 943719721 + .long 1364770879 + .long 948584430 + .long 2356480148 + .long 943332047 + .long 2232983874 + .long 948266570 + .long 2472607937 + .long 943014945 + .long 152561608 + .long 948007302 + .long 1041454594 + .long 942756481 + .long 656997263 + .long 947678997 + .long 1287289635 + .long 942421850 + .long 2873996919 + .long 947334132 + .long 1761222899 + .long 942078549 + .long 2512699313 + .long 947052940 + .long 1055948892 + .long 941798833 + .long 1028453750 + .long 946783258 + .long 2014422994 + .long 941520657 + .long 3627809013 + .long 946409506 + .long 886779056 + .long 941149401 + .long 643376798 + .long 946104873 + .long 856100138 + .long 940847018 + .long 2753388616 + .long 945856605 + .long 2373935397 + .long 940600761 + .long 1597124066 + .long 945493047 + .long 3754729340 + .long 940227803 + .long 1214339248 + .long 945163381 + .long 603698179 + .long 939901276 + .long 3277829535 + .long 944894811 + .long 3083515615 + .long 939635453 + .long 1309318461 + .long 944585109 + .long 1684164460 + .long 939314058 + .long 3059904757 + .long 944228746 + .long 780318106 + .long 938961845 + .long 3951658840 + .long 943938534 + .long 2130713283 + .long 938675217 + .long 3711490972 + .long 943686046 + .long 1239678668 + .long 938408462 + .long 306375632 + .long 943301250 + .long 1188400462 + .long 938028960 + .long 1385000617 + .long 942987997 + .long 1317429230 + .long 937720238 + .long 3767678044 + .long 942733017 + .long 50896662 + .long 937469126 + .long 2272398052 + .long 942381169 + .long 3916059781 + .long 937102851 + .long 3643870433 + .long 942043418 + .long 2850042265 + .long 936770697 + .long 2930373279 + .long 941768599 + .long 2740071541 + .long 936500624 + .long 1430872319 + .long 941468779 + .long 3098739608 + .long 936183744 + .long 3696620221 + .long 941105015 + .long 245751207 + .long 935826772 + .long 1830441434 + .long 940809139 + .long 2447204935 + .long 935536625 + .long 1113455497 + .long 940564348 + .long 148922838 + .long 935271856 + .long 4096713632 + .long 940172999 + .long 3364160105 + .long 934888631 + .long 2404060692 + .long 939854803 + .long 507991399 + .long 934577262 + .long 4242134422 + .long 939596116 + .long 762179248 + .long 934324305 + .long 2721220833 + .long 939247576 + .long 3091783637 + .long 933956439 + .long 1461709351 + .long 938905753 + .long 1612320917 + .long 933622661 + .long 2843883296 + .long 938627960 + .long 3824295598 + .long 933351598 + .long 4006585018 + .long 938328943 + .long 253449912 + .long 933030350 + .long 3081570155 + .long 937962143 + .long 841641910 + .long 932672943 + .long 1137164145 + .long 937664162 + .long 800676069 + .long 932382798 + .long 4162531434 + .long 937417290 + .long 4284248693 + .long 932110506 + .long 744142124 + .long 937024122 + .long 639046316 + .long 931728219 + .long 2861776732 + .long 936704836 + .long 1017369249 + .long 931417989 + .long 963853663 + .long 936445582 + .long 2991465257 + .long 931166265 + .long 2242471743 + .long 936091827 + .long 1898882364 + .long 930788591 + .long 2293861300 + .long 935750091 + .long 2128358063 + .long 930457250 + .long 2414900450 + .long 935472709 + .long 2990029837 + .long 930188495 + .long 2901502943 + .long 935165388 + .long 3559372231 + .long 929854151 + .long 1473889277 + .long 934800026 + .long 3544677756 + .long 929500651 + .long 458214092 + .long 934503576 + .long 2231747804 + .long 929214028 + .long 1621410906 + .long 934244923 + .long 2134344301 + .long 928924980 + .long 1572349864 + .long 933854731 + .long 2642626673 + .long 928548253 + .long 3830252202 + .long 933538250 + .long 1867753313 + .long 928242909 + .long 1969348719 + .long 933281588 + .long 2048625891 + .long 927995452 + .long 2776095957 + .long 932914286 + .long 3838849642 + .long 927600105 + .long 2402286919 + .long 932576794 + .long 1082046734 + .long 927275175 + .long 1773083206 + .long 932303192 + .long 1951612505 + .long 927011941 + .long 4130759933 + .long 931978760 + .long 1902244241 + .long 926656247 + .long 2294247149 + .long 931619258 + .long 2669148896 + .long 926310853 + .long 3364971459 + .long 931327919 + .long 2495468743 + .long 926031144 + .long 3366616656 + .long 931048210 + .long 3953386573 + .long 925716704 + .long 853467255 + .long 930665684 + .long 1465110303 + .long 925349962 + .long 2635189017 + .long 930355800 + .long 1097045723 + .long 925053073 + .long 2663561857 + .long 930104795 + .long 4279710019 + .long 924781491 + .long 306325375 + .long 929716102 + .long 2898746026 + .long 924392508 + .long 462239248 + .long 929386856 + .long 1453870000 + .long 924077730 + .long 2335736332 + .long 929120265 + .long 1094779956 + .long 923823032 + .long 4273299936 + .long 928770530 + .long 2966779664 + .long 923438488 + .long 4257971173 + .long 928421097 + .long 2721135583 + .long 923105109 + .long 3654170623 + .long 928138265 + .long 3550202435 + .long 922835459 + .long 1468742316 + .long 927828977 + .long 2671277970 + .long 922487886 + .long 3805210274 + .long 927458527 + .long 1661441041 + .long 922135195 + .long 200313425 + .long 927158795 + .long 2561048143 + .long 921850029 + .long 1037270842 + .long 926891434 + .long 1109347057 + .long 921540674 + .long 3014375310 + .long 926499136 + .long 3491915138 + .long 921167961 + .long 4207699703 + .long 926181842 + .long 1565300435 + .long 920866718 + .long 1795473554 + .long 925925244 + .long 1599796951 + .long 920596810 + .long 247541330 + .long 925542904 + .long 2793919848 + .long 920203372 + .long 1663534098 + .long 925207390 + .long 2167496111 + .long 919885494 + .long 3380219859 + .long 924936156 + .long 403597040 + .long 919628696 + .long 3132419559 + .long 924589797 + .long 3224822771 + .long 919241380 + .long 2009056199 + .long 924235408 + .long 2781895274 + .long 918906317 + .long 3317442327 + .long 923949020 + .long 1919086626 + .long 918635735 + .long 580268943 + .long 923639773 + .long 3037357760 + .long 918281927 + .long 2068700529 + .long 923265858 + .long 1708673082 + .long 917929138 + .long 4002488688 + .long 922963802 + .long 2602723734 + .long 917644345 + .long 3700422303 + .long 922692772 + .long 2260876562 + .long 917324943 + .long 1665675474 + .long 922298691 + .long 363728810 + .long 916953898 + .long 2392093762 + .long 921980461 + .long 2201759136 + .long 916654477 + .long 508019297 + .long 921723515 + .long 1499023603 + .long 916370346 + .long 2223020069 + .long 921333847 + .long 2382319208 + .long 915980528 + .long 1825915631 + .long 920998946 + .long 2290153133 + .long 915666074 + .long 2048929424 + .long 920728638 + .long 476225666 + .long 915412445 + .long 1253266701 + .long 920371256 + .long 21210885 + .long 915008952 + .long 2523680296 + .long 920019198 + .long 1458757316 + .long 914679072 + .long 1624958481 + .long 919735147 + .long 1989703136 + .long 914413098 + .long 4229282326 + .long 919410835 + .long 3707851909 + .long 914039080 + .long 836620892 + .long 919041150 + .long 3550570132 + .long 913693398 + .long 2533851209 + .long 918742985 + .long 4015579078 + .long 913414785 + .long 2313741668 + .long 918452493 + .long 3080474344 + .long 913070817 + .long 1561508439 + .long 918064724 + .long 296470695 + .long 912708974 + .long 2930342000 + .long 917752089 + .long 78880241 + .long 912417442 + .long 1862776494 + .long 917496124 + .long 1265086851 + .long 912104055 + .long 380196106 + .long 917089835 + .long 1375131373 + .long 911725710 + .long 4166464334 + .long 916762388 + .long 24006884 + .long 911420995 + .long 1319866357 + .long 916498518 + .long 2141132017 + .long 911138676 + .long 860897312 + .long 916116387 + .long 236239120 + .long 910743512 + .long 2115236967 + .long 915773805 + .long 146180043 + .long 910425367 + .long 1031177610 + .long 915497839 + .long 1072471748 + .long 910169261 + .long 1607367253 + .long 915144276 + .long 248260994 + .long 909762276 + .long 140609911 + .long 914786254 + .long 723993920 + .long 909430474 + .long 2010525364 + .long 914497955 + .long 1899461511 + .long 909163472 + .long 810131127 + .long 914173389 + .long 2392480779 + .long 908781891 + .long 771203852 + .long 913799642 + .long 2237999824 + .long 908436226 + .long 3254656095 + .long 913498791 + .long 4011600661 + .long 908158170 + .long 1028077654 + .long 913203603 + .long 1752606261 + .long 907802240 + .long 1853773866 + .long 912813870 + .long 1753490671 + .long 907442528 + .long 1217580654 + .long 912500267 + .long 1207174311 + .long 907153279 + .long 1322256542 + .long 912234787 + .long 1393128133 + .long 906823197 + .long 1486309651 + .long 911828832 + .long 2354574882 + .long 906449278 + .long 3252850416 + .long 911502295 + .long 2811759085 + .long 906148715 + .long 3405910431 + .long 911239672 + .long 678503536 + .long 905844630 + .long 3144505165 + .long 910844414 + .long 1270776285 + .long 905456370 + .long 2555338081 + .long 910504785 + .long 165591832 + .long 905144394 + .long 4205480305 + .long 910231732 + .long 983006844 + .long 904866400 + .long 3824032109 + .long 909860497 + .long 3940506193 + .long 904463691 + .long 503322708 + .long 909507640 + .long 1962709093 + .long 904140224 + .long 734003390 + .long 909224056 + .long 1509987043 + .long 903880437 + .long 3854186452 + .long 908876955 + .long 3880255947 + .long 903471126 + .long 3386727429 + .long 908510757 + .long 1001271645 + .long 903136113 + .long 2325916149 + .long 908216560 + .long 2188608617 + .long 902867151 + .long 4022528213 + .long 907893656 + .long 1370993790 + .long 902478554 + .long 2110527453 + .long 907514032 + .long 1191381672 + .long 902131963 + .long 3034498014 + .long 907209160 + .long 2921830999 + .long 901853808 + .long 2893217811 + .long 906910463 + .long 827890390 + .long 901485849 + .long 3590640771 + .long 906517353 + .long 1737372310 + .long 901127674 + .long 4203107811 + .long 906201767 + .long 2522875588 + .long 900840328 + .long 2905189334 + .long 905927233 + .long 4027525350 + .long 900492882 + .long 2169713377 + .long 905520607 + .long 2914175678 + .long 900123143 + .long 2794153011 + .long 905194290 + .long 3725010753 + .long 899826628 + .long 4032438844 + .long 904932453 + .long 3480445566 + .long 899499523 + .long 2717221125 + .long 904523675 + .long 3367003424 + .long 899118265 + .long 1306272356 + .long 904186634 + .long 1591078925 + .long 898812625 + .long 2318261527 + .long 903916291 + .long 1710420698 + .long 898505637 + .long 918588433 + .long 903526437 + .long 1812172828 + .long 898112933 + .long 619908269 + .long 903178702 + .long 2070012647 + .long 897798232 + .long 1065400748 + .long 902899884 + .long 596032115 + .long 897511087 + .long 2350401875 + .long 902528768 + .long 3130964735 + .long 897107037 + .long 1534942987 + .long 902170395 + .long 1974153161 + .long 896783363 + .long 718768260 + .long 901883153 + .long 3713195306 + .long 896515734 + .long 3023748922 + .long 901530543 + .long 3077591219 + .long 896100468 + .long 2108376912 + .long 901161613 + .long 3384321279 + .long 895767930 + .long 879913337 + .long 900866018 + .long 2948257547 + .long 895501672 + .long 105379254 + .long 900531635 + .long 3130809274 + .long 895093115 + .long 3668874543 + .long 900152254 + .long 2344863288 + .long 894751846 + .long 1693301842 + .long 899848398 + .long 2182882772 + .long 894478697 + .long 2740967568 + .long 899531913 + .long 3938611313 + .long 894084867 + .long 4024351473 + .long 899142216 + .long 3379356120 + .long 893735022 + .long 996958903 + .long 898830212 + .long 669107615 + .long 893455112 + .long 18747765 + .long 898531250 + .long 3114017415 + .long 893075614 + .long 3622556470 + .long 898131396 + .long 3982846185 + .long 892717371 + .long 114342809 + .long 897811378 + .long 1203147974 + .long 892430847 + .long 2024547485 + .long 897529514 + .long 1664423927 + .long 892065246 + .long 3179166681 + .long 897119691 + .long 620119924 + .long 891698807 + .long 1098933661 + .long 896791814 + .long 1037181518 + .long 891405834 + .long 3650337561 + .long 896526577 + .long 1861485363 + .long 891053654 + .long 1351962913 + .long 896106999 + .long 3334511898 + .long 890679242 + .long 4012272108 + .long 895771439 + .long 1841073258 + .long 890380005 + .long 4290189130 + .long 895503107 + .long 832803244 + .long 890040732 + .long 1039012571 + .long 895093218 + .long 3121683048 + .long 889658594 + .long 4225764782 + .long 894750174 + .long 2488892912 + .long 889353294 + .long 885105428 + .long 894475959 + .long 1336133999 + .long 889026375 + .long 2813468574 + .long 894078248 + .long 3726214539 + .long 888636780 + .long 2621065376 + .long 893727940 + .long 430989427 + .long 888325637 + .long 1773135169 + .long 893448020 + .long 1046970926 + .long 888010482 + .long 2661848816 + .long 893061992 + .long 1885377562 + .long 887613721 + .long 2908805291 + .long 892704659 + .long 1642436451 + .long 887296970 + .long 3870467369 + .long 892419230 + .long 3294540197 + .long 886992954 + .long 2602382296 + .long 892044354 + .long 1907781618 + .long 886589339 + .long 349974906 + .long 891680257 + .long 483887407 + .long 886267234 + .long 2854722307 + .long 891389531 + .long 1986869678 + .long 885973698 + .long 4105069697 + .long 891025241 + .long 150728244 + .long 885563561 + .long 523840461 + .long 890654660 + .long 2480039526 + .long 885236370 + .long 3008576795 + .long 890358865 + .long 839832309 + .long 884952623 + .long 1479629527 + .long 890004565 + .long 3809198552 + .long 884536315 + .long 3707004960 + .long 889627798 + .long 4107209089 + .long 884204324 + .long 1267598110 + .long 889327178 + .long 2471205168 + .long 883929643 + .long 987437808 + .long 888982239 + .long 2400700966 + .long 883507537 + .long 2097404888 + .long 888599606 + .long 2595485221 + .long 883171045 + .long 1298276960 + .long 888294417 + .long 3000160935 + .long 882902835 + .long 1239379557 + .long 887958182 + .long 3604023387 + .long 882477163 + .long 2757426509 + .long 887570019 + .long 1377004128 + .long 882136484 + .long 1763229218 + .long 887260533 + .long 127369589 + .long 881865036 + .long 3585762101 + .long 886932317 + .long 297189727 + .long 881445137 + .long 3251206785 + .long 886538978 + .long 2582026865 + .long 881100596 + .long 1714989854 + .long 886225480 + .long 2055212824 + .long 880826172 + .long 945723168 + .long 885904574 + .long 1928384307 + .long 880411404 + .long 1570329900 + .long 885506428 + .long 3754723139 + .long 880063341 + .long 1635594783 + .long 885189215 + .long 3962092285 + .long 879786213 + .long 898235925 + .long 884874885 + .long 1361189791 + .long 879375918 + .long 1683463706 + .long 884472317 + .long 3076152421 + .long 879024683 + .long 114338768 + .long 884151699 + .long 2512644944 + .long 878745132 + .long 1418463077 + .long 883843190 + .long 1739233247 + .long 878338636 + .long 1815793119 + .long 883436599 + .long 202626192 + .long 877984590 + .long 3336394150 + .long 883112895 + .long 793265286 + .long 877702904 + .long 852684626 + .long 882809435 + .long 282832335 + .long 877299522 + .long 4104311394 + .long 882399232 + .long 1303099501 + .long 876943033 + .long 130961368 + .long 882072774 + .long 285035606 + .long 876659508 + .long 3466761053 + .long 881773571 + .long 2024735521 + .long 876258544 + .long 2671330446 + .long 881360181 + .long 2520190109 + .long 875899990 + .long 1357069892 + .long 881031306 + .long 1344649773 + .long 875614927 + .long 3378850570 + .long 880735558 + .long 3348977997 + .long 875215678 + .long 1648607189 + .long 880319414 + .long 3389577553 + .long 874855443 + .long 1887598195 + .long 879988469 + .long 3599747395 + .long 874569148 + .long 2702554388 + .long 879695361 + .long 1161968437 + .long 874170906 + .long 3016158287 + .long 879276905 + .long 2969076618 + .long 873809379 + .long 2625627624 + .long 878944244 + .long 1960680808 + .long 873522163 + .long 3763639732 + .long 878652952 + .long 1921572883 + .long 873124214 + .long 2904970596 + .long 878232635 + .long 148986151 + .long 872761790 + .long 2354697410 + .long 877898617 + .long 4016176068 + .long 872473965 + .long 1154000274 + .long 877608312 + .long 456067935 + .long 872075597 + .long 654017044 + .long 877186590 + .long 2436306443 + .long 871712671 + .long 2369273604 + .long 876851578 + .long 91759236 + .long 871424555 + .long 3682705119 + .long 876561426 + .long 1585156713 + .long 871025054 + .long 3438136693 + .long 876138760 + .long 261662904 + .long 870662026 + .long 2408027594 + .long 875803122 + .long 1934119935 + .long 870373933 + .long 321143002 + .long 875512291 + .long 2937546672 + .long 869972592 + .long 694423726 + .long 875089145 + .long 1297626718 + .long 869609860 + .long 773075831 + .long 874753249 + .long 3992295289 + .long 869322107 + .long 3283908802 + .long 874460906 + .long 3389615853 + .long 868918224 + .long 2834900087 + .long 874037746 + .long 234696339 + .long 868556186 + .long 2929232615 + .long 873701962 + .long 440150105 + .long 868269089 + .long 740700262 + .long 873407283 + .long 2766585564 + .long 867861969 + .long 2511105834 + .long 872984574 + .long 4275241764 + .long 867501019 + .long 4223466008 + .long 872649271 + .long 2106781845 + .long 867214891 + .long 3843152446 + .long 872351436 + .long 1398418337 + .long 866803852 + .long 165147740 + .long 871929644 + .long 2678369791 + .long 866444383 + .long 2559904730 + .long 871595190 + .long 1777148068 + .long 866159533 + .long 3384688121 + .long 871293391 + .long 3828798167 + .long 865743903 + .long 3674571553 + .long 870872975 + .long 617771941 + .long 865386303 + .long 2377300315 + .long 870539736 + .long 3829621740 + .long 865103036 + .long 3600102154 + .long 870233178 + .long 911851132 + .long 864682161 + .long 2093778843 + .long 869814596 + .long 1392255857 + .long 864326809 + .long 1341440966 + .long 869482932 + .long 2249603641 + .long 864045427 + .long 4260146688 + .long 869170835 + .long 3316540851 + .long 863618666 + .long 3690038078 + .long 868754537 + .long 1418090363 + .long 863265937 + .long 2705418254 + .long 868424804 + .long 1512344703 + .long 862986734 + .long 4081096746 + .long 868106407 + .long 1891152572 + .long 862553468 + .long 839851668 + .long 867692837 + .long 2303510298 + .long 862203726 + .long 1802132724 + .long 867365384 + .long 1765088112 + .long 861924507 + .long 3981191118 + .long 867039945 + .long 924131489 + .long 861486619 + .long 3525247586 + .long 866629536 + .long 1356760074 + .long 861140220 + .long 2508333320 + .long 866304706 + .long 235574536 + .long 860851562 + .long 1601875163 + .long 865971507 + .long 4050409408 + .long 860418176 + .long 3997567393 + .long 865564683 + .long 3484080662 + .long 860075465 + .long 3556048906 + .long 865242809 + .long 1623048082 + .long 859776661 + .long 2872564014 + .long 864901155 + .long 56840237 + .long 859348204 + .long 1465109028 + .long 864498330 + .long 2945346767 + .long 859009513 + .long 1942080634 + .long 864179736 + .long 2468098205 + .long 858699887 + .long 3384167790 + .long 863828959 + .long 136008282 + .long 858276767 + .long 913361106 + .long 863430532 + .long 3694658190 + .long 857942417 + .long 557251702 + .long 863115532 + .long 3715381588 + .long 857621327 + .long 4006642264 + .long 862754993 + .long 2044598830 + .long 857203936 + .long 3246446273 + .long 862361349 + .long 1004740285 + .long 856874235 + .long 2862650512 + .long 862050245 + .long 196068828 + .long 856541074 + .long 632546294 + .long 861679337 + .long 1436144984 + .long 856129786 + .long 3938973508 + .long 861290846 + .long 1693192757 + .long 855805025 + .long 3210346292 + .long 860983928 + .long 95827491 + .long 855459222 + .long 3893364562 + .long 860602072 + .long 3134628955 + .long 855054393 + .long 208124267 + .long 860219091 + .long 1355117862 + .long 854734850 + .long 2881260942 + .long 859916635 + .long 1408161160 + .long 854375871 + .long 2961979317 + .long 859523288 + .long 2295571942 + .long 853977838 + .long 2421232363 + .long 859146152 + .long 215616526 + .long 853663774 + .long 308796710 + .long 858848423 + .long 2697053821 + .long 853291124 + .long 2303467270 + .long 858443075 + .long 4185677695 + .long 852900202 + .long 2504752175 + .long 858072104 + .long 1776805445 + .long 852591862 + .long 2741285894 + .long 857779349 + .long 938961097 + .long 852205087 + .long 2538666871 + .long 857361527 + .long 988319124 + .long 851821571 + .long 2444576424 + .long 856997022 + .long 2858553493 + .long 851519182 + .long 3517255771 + .long 856709475 + .long 2228647691 + .long 851117866 + .long 2743576279 + .long 856278741 + .long 135793350 + .long 850742029 + .long 4104316312 + .long 855920983 + .long 811959825 + .long 850445803 + .long 2271553348 + .long 855638863 + .long 2413779693 + .long 850029571 + .long 2723457525 + .long 855194816 + .long 1100651320 + .long 849661663 + .long 3322095530 + .long 854844067 + .long 734798841 + .long 849371793 + .long 3017918219 + .long 854545711 + .long 2097124636 + .long 848940312 + .long 980334191 + .long 854109853 + .long 2261780674 + .long 848580561 + .long 1181561639 + .long 853766354 + .long 2445978453 + .long 848296460 + .long 2057325382 + .long 853450489 + .long 185770139 + .long 847850200 + .long 1272264123 + .long 853023953 + .long 3496489030 + .long 847498811 + .long 2402976033 + .long 852687924 + .long 3232760491 + .long 847194912 + .long 1890793868 + .long 852354173 + .long 360613980 + .long 846759345 + .long 2007774413 + .long 851937219 + .long 214203082 + .long 846416502 + .long 864756452 + .long 851608860 + .long 1364724653 + .long 846092522 + .long 860957622 + .long 851256893 + .long 414291266 + .long 845667858 + .long 2847990878 + .long 850849754 + .long 3201619234 + .long 845333719 + .long 3805110726 + .long 850529242 + .long 3555119440 + .long 844989427 + .long 1541097182 + .long 850158778 + .long 3124505016 + .long 844575848 + .long 2758952695 + .long 849761661 + .long 2684463413 + .long 844250551 + .long 224090120 + .long 849449154 + .long 1745386371 + .long 843885766 + .long 4028181344 + .long 849059957 + .long 1429614975 + .long 843483425 + .long 2410713953 + .long 848673042 + .long 1168818287 + .long 843167083 + .long 2344194355 + .long 848368674 + .long 794354606 + .long 842781673 + .long 3605521232 + .long 847960559 + .long 2341643823 + .long 842390694 + .long 2344315756 + .long 847583998 + .long 3401084561 + .long 842083398 + .long 1224289029 + .long 847287884 + .long 3330282586 + .long 841677280 + .long 1378225408 + .long 846860710 + .long 3707089808 + .long 841297760 + .long 1211854479 + .long 846494629 + .long 2108755824 + .long 840999580 + .long 4038488407 + .long 846206861 + .long 3316809186 + .long 840572718 + .long 2123889623 + .long 845760533 + .long 1133718508 + .long 840204726 + .long 2689010255 + .long 845405032 + .long 2478367461 + .long 839915708 + .long 1111837414 + .long 845099113 + .long 1227903031 + .long 839468113 + .long 3664630730 + .long 844660150 + .long 3616237593 + .long 839111689 + .long 1003806379 + .long 844315304 + .long 3249247658 + .long 838802921 + .long 1123636763 + .long 843985175 + .long 2185972587 + .long 838363586 + .long 3540249900 + .long 843559680 + .long 2032962651 + .long 838018747 + .long 923779793 + .long 843225537 + .long 730269461 + .long 837684001 + .long 983672123 + .long 842871224 + .long 1365617809 + .long 837259256 + .long 1516456703 + .long 842459238 + .long 2188224421 + .long 836925991 + .long 3488716654 + .long 842135821 + .long 120553846 + .long 836565424 + .long 3382187658 + .long 841757401 + .long 3913800456 + .long 836155235 + .long 2230636855 + .long 841358934 + .long 2145937820 + .long 835833510 + .long 444254590 + .long 841046245 + .long 3402668831 + .long 835447328 + .long 1690639513 + .long 840643844 + .long 2081774108 + .long 835051633 + .long 801531688 + .long 840258876 + .long 4052052130 + .long 834741388 + .long 3150764977 + .long 839956890 + .long 1613760867 + .long 834329847 + .long 3959122148 + .long 839530682 + .long 4061428013 + .long 833948551 + .long 2947383294 + .long 839159165 + .long 318655930 + .long 833649707 + .long 2891884168 + .long 838867838 + .long 3502547121 + .long 833213104 + .long 1269855280 + .long 838418042 + .long 2858908965 + .long 832846088 + .long 2306789972 + .long 838059900 + .long 1485947219 + .long 832547737 + .long 48418559 + .long 837746106 + .long 4267704584 + .long 832097218 + .long 709346115 + .long 837306041 + .long 1170323759 + .long 831744335 + .long 863996347 + .long 836961173 + .long 3554411059 + .long 831415153 + .long 2075961517 + .long 836618235 + .long 1751615758 + .long 830982300 + .long 2702082660 + .long 836194791 + .long 2064609387 + .long 830643377 + .long 3760267143 + .long 835863070 + .long 2055240204 + .long 830283876 + .long 1418377927 + .long 835491401 + .long 4253098103 + .long 829868451 + .long 15560029 + .long 835084399 + .long 4126445773 + .long 829543294 + .long 1376155655 + .long 834765675 + .long 2293109881 + .long 829154028 + .long 1764652244 + .long 834365730 + .long 4186016447 + .long 828755768 + .long 2730502458 + .long 833974961 + .long 1056212727 + .long 828444161 + .long 3107915425 + .long 833669062 + .long 1934334454 + .long 828025723 + .long 2915946803 + .long 833241340 + .long 3478416137 + .long 827644338 + .long 3274402229 + .long 832866570 + .long 2902766972 + .long 827346043 + .long 2576595905 + .long 832573303 + .long 3589392091 + .long 826899064 + .long 180553026 + .long 832118341 + .long 511842304 + .long 826534241 + .long 1773576515 + .long 831759310 + .long 3229039543 + .long 826220118 + .long 1935866244 + .long 831436157 + .long 1865282909 + .long 825774146 + .long 1182653760 + .long 830996831 + .long 3018126552 + .long 825425547 + .long 1524283352 + .long 830653257 + .long 2323726111 + .long 825076878 + .long 903608870 + .long 830297006 + .long 712254123 + .long 824651052 + .long 4242845498 + .long 829876901 + .long 2500810509 + .long 824318322 + .long 346389043 + .long 829548481 + .long 1109842967 + .long 823936000 + .long 4071371983 + .long 829159915 + .long 924031092 + .long 823529856 + .long 2746070947 + .long 828758634 + .long 366224487 + .long 823212622 + .long 3582017357 + .long 828445043 + .long 1231954930 + .long 822797569 + .long 2807095542 + .long 828024981 + .long 728784484 + .long 822410623 + .long 2601954354 + .long 827642101 + .long 4149697289 + .long 822108494 + .long 2896279704 + .long 827343000 + .long 277151004 + .long 821661659 + .long 4121397427 + .long 826892286 + .long 867490327 + .long 821293408 + .long 1246721467 + .long 826527366 + .long 536956371 + .long 820976957 + .long 655633611 + .long 826206911 + .long 1503723945 + .long 820528331 + .long 1359900305 + .long 825761904 + .long 1260566155 + .long 820178257 + .long 1188978931 + .long 825414483 + .long 4148303001 + .long 819823805 + .long 539708740 + .long 825057251 + .long 2307140311 + .long 819397636 + .long 951311339 + .long 824633895 + .long 2132824082 + .long 819065207 + .long 2251799196 + .long 824303498 + .long 2787827571 + .long 818674006 + .long 3167076139 + .long 823910625 + .long 58851220 + .long 818269614 + .long 2115111452 + .long 823508310 + .long 991457379 + .long 817954287 + .long 2562242551 + .long 823194449 + .long 3579145066 + .long 817527599 + .long 1139984116 + .long 822767090 + .long 2413403022 + .long 817144292 + .long 2525663185 + .long 822385190 + .long 2621248554 + .long 816845516 + .long 3979198014 + .long 822087365 + .long 755545836 + .long 816384613 + .long 989585387 + .long 821626687 + .long 3409211865 + .long 816021690 + .long 4144777341 + .long 821264565 + .long 2557893386 + .long 815685687 + .long 940380939 + .long 820929530 + .long 3901404360 + .long 815245061 + .long 3766921911 + .long 820489446 + .long 2652376700 + .long 814901817 + .long 2024373495 + .long 820146457 + .long 3285814652 + .long 814525378 + .long 1924045832 + .long 819771914 + .long 1920314479 + .long 814108949 + .long 2987056941 + .long 819355387 + .long 3139054508 + .long 813784672 + .long 3305214824 + .long 819030876 + .long 2385568177 + .long 813369397 + .long 1502168259 + .long 818618314 + .long 143924105 + .long 812976268 + .long 4197792081 + .long 818224516 + .long 581569214 + .long 812670247 + .long 3378617232 + .long 817917826 + .long 1151391185 + .long 812217725 + .long 485583533 + .long 817468730 + .long 1707899729 + .long 811846999 + .long 1725070256 + .long 817096831 + .long 1452274607 + .long 811519223 + .long 1594036941 + .long 816773900 + .long 2282916147 + .long 811070330 + .long 277204945 + .long 816323149 + .long 1890561646 + .long 810721115 + .long 2766320140 + .long 815972317 + .long 437791929 + .long 810349707 + .long 3046204582 + .long 815606451 + .long 739082902 + .long 809927170 + .long 1947106854 + .long 815181546 + .long 3980972482 + .long 809598578 + .long 24947004 + .long 814850953 + .long 3738106502 + .long 809185481 + .long 3524656335 + .long 814443986 + .long 411865076 + .long 808788190 + .long 1095905485 + .long 814043886 + .long 819687931 + .long 808479344 + .long 238279161 + .long 813732706 + .long 4029546666 + .long 808026470 + .long 1802636791 + .long 813286451 + .long 758126421 + .long 807653326 + .long 4249353638 + .long 812910121 + .long 2895836426 + .long 807323195 + .long 2407472750 + .long 812588674 + .long 3029849279 + .long 806872585 + .long 3171925083 + .long 812133778 + .long 608585653 + .long 806522505 + .long 2333900715 + .long 811780197 + .long 3826816246 + .long 806146174 + .long 2069969403 + .long 811412975 + .long 3392948174 + .long 805723726 + .long 2437056090 + .long 810985890 + .long 1949937480 + .long 805395645 + .long 4287993941 + .long 810654047 + .long 2292179758 + .long 804975396 + .long 1948684791 + .long 810243231 + .long 550886149 + .long 804579785 + .long 1257554665 + .long 809842698 + .long 772831159 + .long 804272658 + .long 1937092784 + .long 809531600 + .long 3513304624 + .long 803810715 + .long 3487145785 + .long 809079322 + .long 245913756 + .long 803440643 + .long 3975897253 + .long 808704103 + .long 2944606216 + .long 803097679 + .long 2804791881 + .long 808373453 + .long 74207582 + .long 802651978 + .long 4012763259 + .long 807921118 + .long 1598779694 + .long 802306175 + .long 495439485 + .long 807570001 + .long 2189561977 + .long 801915186 + .long 1528704064 + .long 807191449 + .long 3312259003 + .long 801499019 + .long 2149584710 + .long 806768479 + .long 1525683029 + .long 801176250 + .long 609230206 + .long 806440276 + .long 2793603417 + .long 800739832 + .long 4019262160 + .long 806016331 + .long 1518583227 + .long 800351670 + .long 3100969046 + .long 805621255 + .long 2313625631 + .long 800037973 + .long 3794179134 + .long 805314808 + .long 2911566316 + .long 799571397 + .long 2821134737 + .long 804847907 + .long 3839097180 + .long 799209752 + .long 2302220943 + .long 804479291 + .long 2708488506 + .long 798844037 + .long 2176281811 + .long 804129155 + .long 1768996413 + .long 798409654 + .long 2544192612 + .long 803685974 + .long 2352631407 + .long 798073085 + .long 3255441301 + .long 803342424 + .long 398286421 + .long 797658338 + .long 886022604 + .long 802943065 + .long 1506214266 + .long 797254370 + .long 167267913 + .long 802530324 + .long 2633127876 + .long 796941482 + .long 807609405 + .long 802210488 + .long 2051214097 + .long 796480578 + .long 754330191 + .long 801764711 + .long 123739761 + .long 796105309 + .long 3733944852 + .long 801380741 + .long 750788556 + .long 795760327 + .long 1444272003 + .long 801054557 + .long 1852104137 + .long 795310458 + .long 4218013233 + .long 800593819 + .long 1283686496 + .long 794962231 + .long 3522276956 + .long 800237009 + .long 1420100526 + .long 794564820 + .long 735951774 + .long 799857948 + .long 1044466387 + .long 794147675 + .long 63408848 + .long 799430114 + .long 2300698199 + .long 793824896 + .long 3047245466 + .long 799098906 + .long 1484719466 + .long 793378302 + .long 2763884676 + .long 798670156 + .long 1272359061 + .long 792991925 + .long 4120848445 + .long 798273312 + .long 2232433113 + .long 792662671 + .long 724418023 + .long 797966083 + .long 3762249931 + .long 792200390 + .long 1216775348 + .long 797490828 + .long 1778952527 + .long 791842905 + .long 777773296 + .long 797123135 + .long 1551992822 + .long 791458105 + .long 2509583313 + .long 796759629 + .long 829343228 + .long 791030705 + .long 224316483 + .long 796319608 + .long 457692078 + .long 790700314 + .long 50154445 + .long 795979299 + .long 1342334993 + .long 790263585 + .long 4108504645 + .long 795563093 + .long 2860037630 + .long 789868867 + .long 3802284665 + .long 795156141 + .long 1806035261 + .long 789549977 + .long 4048716517 + .long 794841523 + .long 626254340 + .long 789078639 + .long 58587258 + .long 794376032 + .long 483470044 + .long 788714505 + .long 483138189 + .long 794000078 + .long 3682197369 + .long 788337300 + .long 1899819391 + .long 793647031 + .long 1225819768 + .long 787902801 + .long 2622171019 + .long 793198003 + .long 105996647 + .long 787567250 + .long 3262271376 + .long 792851068 + .long 2317293554 + .long 787135714 + .long 3011062300 + .long 792442638 + .long 1045821796 + .long 786735614 + .long 1147395537 + .long 792028574 + .long 1421767462 + .long 786421483 + .long 3130402011 + .long 791708770 + .long 3306914696 + .long 785944649 + .long 4262626465 + .long 791248719 + .long 3866662742 + .long 785576629 + .long 2391328063 + .long 790867316 + .long 390563220 + .long 785201830 + .long 3112376485 + .long 790519389 + .long 2675650458 + .long 784763550 + .long 2566209178 + .long 790064743 + .long 2715699342 + .long 784425410 + .long 1494066763 + .long 789713811 + .long 2390902331 + .long 783994275 + .long 3341938988 + .long 789308205 + .long 1040547994 + .long 783591875 + .long 821296353 + .long 788890189 + .long 2527052880 + .long 783276788 + .long 3879123133 + .long 788567648 + .long 2772189637 + .long 782798149 + .long 2238137291 + .long 788108464 + .long 4116703383 + .long 782429096 + .long 475952761 + .long 787724549 + .long 511166554 + .long 782051454 + .long 2925528577 + .long 787376283 + .long 972851174 + .long 781612802 + .long 3244505894 + .long 786919537 + .long 1008410844 + .long 781274705 + .long 1947627469 + .long 786567329 + .long 1091842438 + .long 780839168 + .long 3957620966 + .long 786159531 + .long 745656230 + .long 780437604 + .long 1833882231 + .long 785740815 + .long 3852556219 + .long 780115868 + .long 49165565 + .long 785418051 + .long 2575012639 + .long 779639156 + .long 3843714046 + .long 784955137 + .long 938459147 + .long 779271948 + .long 2888015842 + .long 784571706 + .long 154026947 + .long 778886281 + .long 445180428 + .long 784217652 + .long 3799538772 + .long 778450672 + .long 3839575033 + .long 783762373 + .long 2649712120 + .long 778115249 + .long 2906062233 + .long 783411640 + .long 3294218000 + .long 777670610 + .long 3856989232 + .long 782996685 + .long 2805816560 + .long 777272999 + .long 278566062 + .long 782580538 + .long 1195424083 + .long 776939077 + .long 1511969247 + .long 782260067 + .long 3029685852 + .long 776467978 + .long 1534554001 + .long 781788917 + .long 3188316278 + .long 776105448 + .long 521973231 + .long 781408955 + .long 3411139513 + .long 775706761 + .long 3011634592 + .long 781043795 + .long 2738165916 + .long 775277542 + .long 1560305501 + .long 780593518 + .long 2428714085 + .long 774947361 + .long 3684755528 + .long 780246976 + .long 175642284 + .long 774489131 + .long 3605074054 + .long 779820065 + .long 3114890562 + .long 774098497 + .long 922817596 + .long 779409695 + .long 1862141067 + .long 773747130 + .long 2032991598 + .long 779093982 + .long 1666857767 + .long 773285202 + .long 974048971 + .long 778610278 + .long 2131027737 + .long 772930076 + .long 3826268118 + .long 778236688 + .long 3521486771 + .long 772513672 + .long 1935432409 + .long 777855365 + .long 591906206 + .long 772094040 + .long 3185150466 + .long 777413505 + .long 2747417261 + .long 771771548 + .long 463840922 + .long 777073775 + .long 2305342373 + .long 771295546 + .long 3645312952 + .long 776630383 + .long 504189367 + .long 770914755 + .long 4058955796 + .long 776228864 + .long 1095975635 + .long 770541081 + .long 1644266730 + .long 775894288 + .long 4131246103 + .long 770091669 + .long 2448883131 + .long 775419975 + .long 289369798 + .long 769746504 + .long 3323992203 + .long 775055515 + .long 1529314279 + .long 769308086 + .long 2373263790 + .long 774653337 + .long 2905834238 + .long 768901018 + .long 1266508630 + .long 774223118 + .long 2981218421 + .long 768570769 + .long 148232960 + .long 773892661 + .long 692822624 + .long 768090933 + .long 3069595062 + .long 773428638 + .long 1404559281 + .long 767722624 + .long 706138572 + .long 773038843 + .long 4121489250 + .long 767322278 + .long 1885961403 + .long 772678579 + .long 3437749757 + .long 766888447 + .long 1750194683 + .long 772219015 + .long 1296596277 + .long 766555573 + .long 3381833718 + .long 771866233 + .long 509369713 + .long 766091330 + .long 1453081509 + .long 771438976 + .long 646794791 + .long 765699524 + .long 1333929320 + .long 771023356 + .long 2161330753 + .long 765337530 + .long 280576834 + .long 770704425 + .long 317465080 + .long 764876585 + .long 821535155 + .long 770216078 + .long 3675593064 + .long 764523121 + .long 2713200782 + .long 769840613 + .long 4074156341 + .long 764092318 + .long 3119145575 + .long 769450419 + .long 3517944508 + .long 763676786 + .long 4221128483 + .long 769008616 + .long 1692412527 + .long 763353200 + .long 1365297720 + .long 768669801 + .long 1640877371 + .long 762864938 + .long 409723529 + .long 768213787 + .long 2791347853 + .long 762490756 + .long 3763192736 + .long 767815400 + .long 2937360934 + .long 762093319 + .long 1019483888 + .long 767462354 + .long 1996487692 + .long 761653967 + .long 3579327077 + .long 766994152 + .long 1056685887 + .long 761317391 + .long 2868988995 + .long 766635311 + .long 4292408264 + .long 760852984 + .long 247164010 + .long 766211585 + .long 1344536138 + .long 760458077 + .long 324020919 + .long 765790168 + .long 1319283366 + .long 760093719 + .long 479259340 + .long 765467302 + .long 43018458 + .long 759630597 + .long 1152067405 + .long 764979461 + .long 2719868400 + .long 759276027 + .long 152165764 + .long 764600571 + .long 1699410009 + .long 758840176 + .long 1194981319 + .long 764208882 + .long 3040553604 + .long 758424664 + .long 3308417311 + .long 763764463 + .long 2512918915 + .long 758092877 + .long 1889053024 + .long 763424183 + .long 3024056662 + .long 757606186 + .long 81330783 + .long 762964014 + .long 1817857395 + .long 757233800 + .long 2732652633 + .long 762565175 + .long 3037897202 + .long 756825943 + .long 3352358880 + .long 762205061 + .long 744298310 + .long 756390085 + .long 3501791723 + .long 761737816 + .long 3520727427 + .long 756056714 + .long 2097270476 + .long 761380277 + .long 894512980 + .long 755580233 + .long 1583862346 + .long 760947262 + .long 1892928857 + .long 755190326 + .long 160050929 + .long 760528707 + .long 3472880150 + .long 754809703 + .long 2984483361 + .long 760199485 + .long 895492306 + .long 754353895 + .long 1051567626 + .long 759709741 + .long 2513884408 + .long 754005478 + .long 827945824 + .long 759335214 + .long 685878866 + .long 753552224 + .long 4167626827 + .long 758928642 + .long 2376492649 + .long 753145216 + .long 2782412302 + .long 758490736 + .long 3859448349 + .long 752790865 + .long 405863758 + .long 758155975 + .long 2298462119 + .long 752315646 + .long 2637942397 + .long 757679741 + .long 494144145 + .long 751952614 + .long 657577712 + .long 757288617 + .long 579294229 + .long 751521644 + .long 754227745 + .long 756907584 + .long 1044679064 + .long 751098080 + .long 2519096232 + .long 756450830 + .long 2171535627 + .long 750768838 + .long 2030044516 + .long 756101874 + .long 1970441713 + .long 750274891 + .long 3176302142 + .long 755647318 + .long 3056095668 + .long 749897782 + .long 153949862 + .long 755240108 + .long 3947684006 + .long 749487980 + .long 3368312490 + .long 754883512 + .long 1699980585 + .long 749048530 + .long 3648486550 + .long 754408554 + .long 1710621746 + .long 748713150 + .long 2300846945 + .long 754045912 + .long 1905488869 + .long 748231188 + .long 3208511752 + .long 753611975 + .long 871861721 + .long 747840651 + .long 844847238 + .long 753189311 + .long 4201565959 + .long 747450731 + .long 443380337 + .long 752855861 + .long 965042671 + .long 746996188 + .long 2993924185 + .long 752363480 + .long 146810850 + .long 746649501 + .long 2823109230 + .long 751987765 + .long 3460693896 + .long 746184107 + .long 1425516115 + .long 751573224 + .long 1144210929 + .long 745780896 + .long 1916322062 + .long 751135858 + .long 85418815 + .long 745409411 + .long 426441187 + .long 750802245 + .long 1062820214 + .long 744940688 + .long 719336583 + .long 750315190 + .long 2766644426 + .long 744583404 + .long 944585275 + .long 749927119 + .long 1814550842 + .long 744133237 + .long 510999425 + .long 749530591 + .long 3212065069 + .long 743718208 + .long 3758261302 + .long 749079393 + .long 2261041374 + .long 743363554 + .long 2602458640 + .long 748735440 + .long 949875475 + .long 742881683 + .long 2659939240 + .long 748263281 + .long 1173008025 + .long 742514601 + .long 3481651767 + .long 747863671 + .long 1520457856 + .long 742078188 + .long 44484639 + .long 747483624 + .long 3863688693 + .long 741652297 + .long 2801586137 + .long 747019578 + .long 589696158 + .long 741312728 + .long 1305514105 + .long 746666047 + .long 4059741029 + .long 740818848 + .long 865561467 + .long 746207375 + .long 594916178 + .long 740442849 + .long 1486199238 + .long 745797139 + .long 1157616309 + .long 740018600 + .long 1726213095 + .long 745431898 + .long 1945651075 + .long 739582895 + .long 3031007703 + .long 744956095 + .long 1628308872 + .long 739251306 + .long 2613858560 + .long 744593828 + .long 3604176904 + .long 738751888 + .long 631117324 + .long 744147118 + .long 245807999 + .long 738367928 + .long 205620170 + .long 743727259 + .long 2460624491 + .long 737954146 + .long 642912157 + .long 743375023 + .long 1925799500 + .long 737509759 + .long 836914299 + .long 742888654 + .long 597086264 + .long 737171769 + .long 2010905773 + .long 742518568 + .long 879541055 + .long 736680538 + .long 3378296873 + .long 742082189 + .long 2662862130 + .long 736289642 + .long 823504020 + .long 741653793 + .long 540940448 + .long 735884539 + .long 726943015 + .long 741312646 + .long 3197507015 + .long 735432677 + .long 2957819450 + .long 740816993 + .long 1670706837 + .long 735089212 + .long 2052360751 + .long 740440074 + .long 376229201 + .long 734604568 + .long 795760482 + .long 740012306 + .long 213120263 + .long 734207825 + .long 2379854758 + .long 739576532 + .long 2034955320 + .long 733809532 + .long 2388485681 + .long 739244459 + .long 589467117 + .long 733351471 + .long 4138985555 + .long 738740887 + .long 2423106648 + .long 733003505 + .long 2976622671 + .long 738358180 + .long 2827898816 + .long 732523788 + .long 1310565481 + .long 737937224 + .long 2939951968 + .long 732122337 + .long 2096034302 + .long 737495299 + .long 2087181592 + .long 731728927 + .long 264265783 + .long 737159566 + .long 100721585 + .long 731265996 + .long 1484125209 + .long 736660148 + .long 1883685758 + .long 730914545 + .long 371172191 + .long 736272750 + .long 195518274 + .long 730438052 + .long 2624975685 + .long 735856745 + .long 154914687 + .long 730033075 + .long 2422905208 + .long 735409950 + .long 1448585760 + .long 729642574 + .long 2708053162 + .long 735070724 + .long 2378513365 + .long 729176146 + .long 2254128358 + .long 734574626 + .long 2899674048 + .long 728822257 + .long 2561446732 + .long 734183676 + .long 2397233792 + .long 728347254 + .long 191710004 + .long 733770719 + .long 1619213051 + .long 727939965 + .long 3101535409 + .long 733320378 + .long 3292482576 + .long 727550374 + .long 92486460 + .long 732978670 + .long 989696226 + .long 727081856 + .long 3385588824 + .long 732484216 + .long 4075038288 + .long 726726597 + .long 3113730764 + .long 732090886 + .long 1093942633 + .long 726251338 + .long 1295406127 + .long 731679043 + .long 3552287998 + .long 725842971 + .long 3812423207 + .long 731226514 + .long 2428367384 + .long 725452283 + .long 3234208544 + .long 730883355 + .long 3930808478 + .long 724983098 + .long 2657035553 + .long 730388857 + .long 2658838132 + .long 724627552 + .long 2796752322 + .long 729994340 + .long 3532099444 + .long 724150291 + .long 1584171246 + .long 729581668 + .long 3922862459 + .long 723742092 + .long 86705445 + .long 729128329 + .long 1137953088 + .long 723348309 + .long 133430018 + .long 728784765 + .long 975579702 + .long 722879889 + .long 2702728333 + .long 728288532 + .long 4026775205 + .long 722525138 + .long 3591272062 + .long 727894032 + .long 3219552128 + .long 722044150 + .long 1220767910 + .long 727478596 + .long 2546815821 + .long 721637362 + .long 2448608543 + .long 727025830 + .long 31072853 + .long 721238514 + .long 21064035 + .long 726682911 + .long 1377610676 + .long 720772282 + .long 3493771865 + .long 726183270 + .long 3377218995 + .long 720419404 + .long 462209696 + .long 725789992 + .long 3382736359 + .long 719932996 + .long 454430402 + .long 725369881 + .long 3169639427 + .long 719528849 + .long 1437979180 + .long 724919068 + .long 2587875915 + .long 719123012 + .long 2434562345 + .long 724577836 + .long 214494628 + .long 718660373 + .long 443621567 + .long 724073146 + .long 4090070522 + .long 718310427 + .long 950372087 + .long 723682281 + .long 3059989388 + .long 717816956 + .long 385951123 + .long 723255628 + .long 400547140 + .long 717416657 + .long 3080094761 + .long 722808129 + .long 3408401832 + .long 717001970 + .long 3009892135 + .long 722469613 + .long 2298537916 + .long 716544294 + .long 1063193356 + .long 721958276 + .long 4095018013 + .long 716198314 + .long 3904362326 + .long 721570995 + .long 1778156135 + .long 715696200 + .long 411158697 + .long 721135992 + .long 3132572641 + .long 715300919 + .long 1726456944 + .long 720693139 + .long 3276858118 + .long 714875602 + .long 3378697254 + .long 720344972 + .long 704881224 + .long 714424216 + .long 138350113 + .long 719838821 + .long 1895205234 + .long 714083199 + .long 1863903792 + .long 719456263 + .long 1510710605 + .long 713570938 + .long 1077949523 + .long 719011175 + .long 99303130 + .long 713181803 + .long 2056100564 + .long 718574257 + .long 4021126732 + .long 712744167 + .long 1118513764 + .long 718213738 + .long 291699416 + .long 712300341 + .long 3785607727 + .long 717714979 + .long 1830773052 + .long 711947376 + .long 2930641980 + .long 717338240 + .long 1851259845 + .long 711441418 + .long 3978382282 + .long 716881423 + .long 893587005 + .long 711059500 + .long 212905963 + .long 716451677 + .long 633965387 + .long 710607967 + .long 86571253 + .long 716076962 + .long 538982087 + .long 710172903 + .long 3818172476 + .long 715586988 + .long 3229362893 + .long 709803285 + .long 3578730113 + .long 715217111 + .long 1565786773 + .long 709307922 + .long 357835653 + .long 714747025 + .long 2342262863 + .long 708934229 + .long 1602953484 + .long 714325621 + .long 1061019794 + .long 708467338 + .long 125555561 + .long 713934991 + .long 2395691858 + .long 708042163 + .long 1471912322 + .long 713455117 + .long 1795384696 + .long 707654274 + .long 2807421875 + .long 713093085 + .long 2549317390 + .long 707170761 + .long 305952814 + .long 712608302 + .long 744652791 + .long 706806231 + .long 2591170832 + .long 712196340 + .long 1026264492 + .long 706322651 + .long 4133449680 + .long 711788211 + .long 778298770 + .long 705908407 + .long 3489108212 + .long 711319663 + .long 2402614436 + .long 705500780 + .long 2039588480 + .long 710966392 + .long 3656515139 + .long 705030272 + .long 4114769399 + .long 710465609 + .long 3003061762 + .long 704675763 + .long 807808299 + .long 710064108 + .long 213908818 + .long 704174303 + .long 2829935519 + .long 709637045 + .long 1697740360 + .long 703771938 + .long 3785928621 + .long 709180951 + .long 3174363515 + .long 703343270 + .long 3532733867 + .long 708837185 + .long 1965028001 + .long 702886813 + .long 2107828708 + .long 708319330 + .long 856212485 + .long 702540281 + .long 15864085 + .long 707929217 + .long 120723934 + .long 702022712 + .long 836056555 + .long 707481941 + .long 4223967527 + .long 701633076 + .long 2609176779 + .long 707039325 + .long 2326132907 + .long 701182233 + .long 3321305714 + .long 706671804 + .long 1865434198 + .long 700740756 + .long 3369089835 + .long 706169866 + .long 15990328 + .long 700368285 + .long 1277205137 + .long 705791975 + .long 1214750633 + .long 699868312 + .long 2963031057 + .long 705323369 + .long 3469183956 + .long 699492153 + .long 3434245337 + .long 704895144 + .long 127249902 + .long 699018173 + .long 310124662 + .long 704502663 + .long 2311926610 + .long 698592485 + .long 3619582812 + .long 704017637 + .long 3549622389 + .long 698193050 + .long 2228436287 + .long 703652702 + .long 4152775116 + .long 697711547 + .long 4170570140 + .long 703161817 + .long 2050728834 + .long 697349506 + .long 876636512 + .long 702748780 + .long 798942400 + .long 696851602 + .long 440981460 + .long 702330325 + .long 1282729765 + .long 696442390 + .long 60752281 + .long 701863073 + .long 4043889105 + .long 696015169 + .long 508006982 + .long 701511725 + .long 2619446857 + .long 695552867 + .long 883131596 + .long 700997782 + .long 611518842 + .long 695205062 + .long 2950701346 + .long 700600608 + .long 1970492846 + .long 694683036 + .long 320140468 + .long 700155363 + .long 650778841 + .long 694290861 + .long 2081409967 + .long 699706606 + .long 2366450962 + .long 693835233 + .long 3326384857 + .long 699338552 + .long 2575544342 + .long 693392718 + .long 2683613570 + .long 698831761 + .long 4170447092 + .long 693012059 + .long 2147683702 + .long 698451008 + .long 2237312154 + .long 692512987 + .long 3819170707 + .long 697978349 + .long 3232652548 + .long 692138284 + .long 3886691232 + .long 697548671 + .long 3216998091 + .long 691653825 + .long 3570809325 + .long 697148904 + .long 3889170574 + .long 691231541 + .long 1903611303 + .long 696664252 + .long 4127953615 + .long 690817631 + .long 3057699859 + .long 696300354 + .long 1492344213 + .long 690341957 + .long 1197644985 + .long 695799852 + .long 2343547591 + .long 689985039 + .long 1043815695 + .long 695389697 + .long 3842632230 + .long 689471516 + .long 1998629170 + .long 694957808 + .long 544947300 + .long 689069767 + .long 327503577 + .long 694495742 + .long 4156980278 + .long 688622424 + .long 3261711197 + .long 694140717 + .long 3015131725 + .long 688170432 + .long 1420037596 + .long 693620424 + .long 1313215515 + .long 687797127 + .long 4054494950 + .long 693230099 + .long 2116343895 + .long 687288857 + .long 1647363164 + .long 692765892 + .long 4041899718 + .long 686907807 + .long 3204418079 + .long 692326703 + .long 1779051603 + .long 686427060 + .long 232425304 + .long 691934530 + .long 478914330 + .long 685998880 + .long 2125836381 + .long 691440601 + .long 1267287912 + .long 685587278 + .long 2020961131 + .long 691070282 + .long 2867790128 + .long 685106372 + .long 1330804549 + .long 690573761 + .long 51199600 + .long 684746058 + .long 2379303428 + .long 690157591 + .long 1025288193 + .long 684232128 + .long 4181073636 + .long 689728363 + .long 1695885927 + .long 683827741 + .long 692700766 + .long 689260895 + .long 2180285258 + .long 683378185 + .long 2445855244 + .long 688906824 + .long 1285014145 + .long 682924557 + .long 162034259 + .long 688381990 + .long 3507763603 + .long 682546798 + .long 361534587 + .long 687988836 + .long 2701969840 + .long 682038181 + .long 1327837794 + .long 687522864 + .long 3418354793 + .long 681657429 + .long 3735479151 + .long 687081787 + .long 98518950 + .long 681170466 + .long 2754986946 + .long 686685716 + .long 3736165028 + .long 680743871 + .long 1029853148 + .long 686191118 + .long 595081813 + .long 680323455 + .long 2534055270 + .long 685820840 + .long 2543053466 + .long 679845732 + .long 1639453041 + .long 685318633 + .long 3246977581 + .long 679488326 + .long 902178513 + .long 684903729 + .long 3684881820 + .long 678964687 + .long 4160211283 + .long 684466327 + .long 256169544 + .long 678564739 + .long 363881435 + .long 684001646 + .long 2897101255 + .long 678102585 + .long 2558960141 + .long 683636403 + .long 1675938906 + .long 677655248 + .long 1668173354 + .long 683116226 + .long 2975968737 + .long 677261462 + .long 1898874449 + .long 682727132 + .long 1190416588 + .long 676761366 + .long 1745533707 + .long 682249273 + .long 437394527 + .long 676387541 + .long 2979218981 + .long 681814030 + .long 610651923 + .long 675884757 + .long 3011708434 + .long 681402774 + .long 3677532781 + .long 675467148 + .long 3106973978 + .long 680916147 + .long 3144693185 + .long 675027252 + .long 3674810270 + .long 680552371 + .long 471449783 + .long 674560961 + .long 331134709 + .long 680035108 + .long 3452022098 + .long 674190867 + .long 1924912878 + .long 679628683 + .long 2869920106 + .long 673670471 + .long 3402568925 + .long 679172699 + .long 2481926454 + .long 673281804 + .long 1186621708 + .long 678718848 + .long 819476459 + .long 672797322 + .long 3179048269 + .long 678330889 + .long 244496272 + .long 672363875 + .long 3060753414 + .long 677824324 + .long 3448429854 + .long 671943315 + .long 620690573 + .long 677445968 + .long 1238814485 + .long 671460165 + .long 2708031844 + .long 676946715 + .long 3981056324 + .long 671099535 + .long 2980977021 + .long 676524723 + .long 1593585358 + .long 670572141 + .long 3103383052 + .long 676087781 + .long 4091677692 + .long 670170452 + .long 392286821 + .long 675617352 + .long 1361936558 + .long 669701411 + .long 4043711132 + .long 675249455 + .long 2236587142 + .long 669254207 + .long 586653381 + .long 674725285 + .long 3371880661 + .long 668849737 + .long 2461860532 + .long 674334113 + .long 1280132466 + .long 668352104 + .long 1593212803 + .long 673850093 + .long 3972457104 + .long 667980981 + .long 2241101875 + .long 673414554 + .long 858805406 + .long 667465572 + .long 2310545706 + .long 672993498 + .long 4048344282 + .long 667052901 + .long 1109719010 + .long 672508797 + .long 1407545896 + .long 666596175 + .long 2281315360 + .long 672147301 + .long 3516076405 + .long 666137529 + .long 3105374797 + .long 671618237 + .long 3337113565 + .long 665745624 + .long 1328215640 + .long 671216232 + .long 3376207450 + .long 665236130 + .long 263512481 + .long 670744404 + .long 2958414465 + .long 664856487 + .long 4008512978 + .long 670297567 + .long 3402426005 + .long 664350087 + .long 796487805 + .long 669888968 + .long 3068189069 + .long 663928663 + .long 3085651004 + .long 669392544 + .long 2491998497 + .long 663480911 + .long 532191192 + .long 669022623 + .long 3212565569 + .long 663013336 + .long 534453609 + .long 668502514 + .long 2348454437 + .long 662630251 + .long 195201593 + .long 668091842 + .long 733992225 + .long 662111725 + .long 2698352704 + .long 667628952 + .long 3063448299 + .long 661725681 + .long 3732247102 + .long 667173263 + .long 135887993 + .long 661225158 + .long 1533817337 + .long 666773472 + .long 3989262108 + .long 660797360 + .long 2136836184 + .long 666268079 + .long 1106726960 + .long 660355084 + .long 1143921256 + .long 665891796 + .long 4048585651 + .long 659881248 + .long 508379910 + .long 665377588 + .long 2365712837 + .long 659503082 + .long 3820778441 + .long 664960567 + .long 3139019265 + .long 658978510 + .long 972200576 + .long 664503206 + .long 19803223 + .long 658588300 + .long 2901642972 + .long 664041264 + .long 2160091160 + .long 658090414 + .long 1364578344 + .long 663646477 + .long 3266722688 + .long 657658737 + .long 2875504264 + .long 663135025 + .long 185922774 + .long 657218340 + .long 637007150 + .long 662754557 + .long 4246184246 + .long 656741023 + .long 4108553783 + .long 662243090 + .long 2787333285 + .long 656363787 + .long 1371661835 + .long 661822153 + .long 2899403036 + .long 655836264 + .long 3589359224 + .long 661366809 + .long 3647744414 + .long 655444193 + .long 767814869 + .long 660901326 + .long 1487583812 + .long 654945661 + .long 2479975765 + .long 660507649 + .long 1909944697 + .long 654512667 + .long 1765324902 + .long 659993157 + .long 2379812452 + .long 654070518 + .long 1721157484 + .long 659610754 + .long 2534966422 + .long 653592563 + .long 1021047458 + .long 659098822 + .long 3750937480 + .long 653212251 + .long 3242522816 + .long 658676467 + .long 3183187419 + .long 652684924 + .long 3237267682 + .long 658219596 + .long 951087427 + .long 652293334 + .long 3893745815 + .long 657753344 + .long 286739833 + .long 651790881 + .long 3294176976 + .long 657356865 + .long 165787574 + .long 651359156 + .long 2981565185 + .long 656842405 + .long 445027989 + .long 650911657 + .long 2513282771 + .long 656460353 + .long 2105461242 + .long 650435916 + .long 3673241161 + .long 655944755 + .long 3631835029 + .long 650048578 + .long 1877630597 + .long 655523510 + .long 202318521 + .long 649524591 + .long 2356659272 + .long 655061593 + .long 2777980999 + .long 649135812 + .long 710986650 + .long 654597361 + .long 239849913 + .long 648626235 + .long 1317123583 + .long 654194216 + .long 1047816385 + .long 648198342 + .long 1460613064 + .long 653682860 + .long 2558079865 + .long 647741989 + .long 938419336 + .long 653303438 + .long 102203654 + .long 647271277 + .long 3325778980 + .long 652781040 + .long 3014748797 + .long 646873087 + .long 1932659674 + .long 652363410 + .long 517080480 + .long 646355523 + .long 1155993311 + .long 651893019 + .long 2093894919 + .long 645971838 + .long 3613417731 + .long 651433557 + .long 3461187990 + .long 645452058 + .long 3076621781 + .long 651020002 + .long 1268124231 + .long 645030493 + .long 1491777798 + .long 650514767 + .long 2554439477 + .long 644561939 + .long 1245723213 + .long 650140207 + .long 1568783964 + .long 644098979 + .long 2599939653 + .long 649607996 + .long 2801553722 + .long 643686303 + .long 3808509544 + .long 649196422 + .long 975631682 + .long 643178132 + .long 4045918285 + .long 648714278 + .long 3264030468 + .long 642801732 + .long 4183388020 + .long 648262254 + .long 57053076 + .long 642268852 + .long 2915192275 + .long 647834728 + .long 367866110 + .long 641855997 + .long 2608628071 + .long 647338521 + .long 3699288913 + .long 641372107 + .long 3215309018 + .long 646970546 + .long 3032389986 + .long 640919487 + .long 675753213 + .long 646426104 + .long 2425910808 + .long 640488942 + .long 1369991801 + .long 646022921 + .long 1368672544 + .long 639992969 + .long 2702232506 + .long 645525951 + .long 2068165578 + .long 639620477 + .long 1429631588 + .long 645083900 + .long 4209191920 + .long 639077263 + .long 970683891 + .long 644639085 + .long 3669019934 + .long 638675350 + .long 1319129055 + .long 644154655 + .long 3702158756 + .long 638173254 + .long 709671280 + .long 643766603 + .long 3294818878 + .long 637733382 + .long 1555777194 + .long 643235991 + .long 890038266 + .long 637281890 + .long 3773593492 + .long 642843386 + .long 379566385 + .long 636800709 + .long 2295314137 + .long 642328773 + .long 2106475701 + .long 636404187 + .long 1623478074 + .long 641899056 + .long 3901921030 + .long 635878074 + .long 2825511140 + .long 641433930 + .long 3847253630 + .long 635489146 + .long 2128412771 + .long 640963822 + .long 4159964286 + .long 634966278 + .long 1927737134 + .long 640552459 + .long 831702021 + .long 634541345 + .long 622604063 + .long 640038415 + .long 4235310746 + .long 634066176 + .long 1714551103 + .long 639658394 + .long 3367634100 + .long 633602130 + .long 3648762153 + .long 639123616 + .long 609295367 + .long 633178685 + .long 601197161 + .long 638708384 + .long 3619254624 + .long 632672173 + .long 30980129 + .long 638220266 + .long 3719118504 + .long 632298055 + .long 1884792402 + .long 637766780 + .long 932823899 + .long 631752191 + .long 1347064805 + .long 637329260 + .long 2122752499 + .long 631344136 + .long 4169929077 + .long 636834239 + .long 817453044 + .long 630842949 + .long 1493940224 + .long 636451560 + .long 2307318184 + .long 630398096 + .long 807844906 + .long 635911465 + .long 1570900014 + .long 629945266 + .long 2843283305 + .long 635512624 + .long 542450302 + .long 629460534 + .long 137312586 + .long 634999207 + .long 2919905386 + .long 629060016 + .long 2175936404 + .long 634564368 + .long 2652894128 + .long 628532087 + .long 3296941024 + .long 634098267 + .long 1162043114 + .long 628142578 + .long 3948086690 + .long 633624413 + .long 3684171032 + .long 627613437 + .long 4043081285 + .long 633209503 + .long 212904138 + .long 627189528 + .long 2460054563 + .long 632693386 + .long 2323505250 + .long 626705310 + .long 3143514650 + .long 632312578 + .long 1383705124 + .long 626244187 + .long 3550661761 + .long 631771953 + .long 2835309571 + .long 625808478 + .long 1762229362 + .long 631357485 + .long 300368825 + .long 625307120 + .long 182991460 + .long 630860827 + .long 219124488 + .long 624923765 + .long 883843381 + .long 630409943 + .long 1903330314 + .long 624378926 + .long 4257695949 + .long 629960763 + .long 2213132757 + .long 623977382 + .long 43114094 + .long 629470505 + .long 2833486821 + .long 623460244 + .long 1512719472 + .long 629072571 + .long 2425659520 + .long 623024196 + .long 886657630 + .long 628539759 + .long 4168635816 + .long 622551752 + .long 2802394044 + .long 628147065 + .long 4120728047 + .long 622078466 + .long 2300145935 + .long 627618331 + .long 2969547295 + .long 621654171 + .long 459846366 + .long 627191866 + .long 1996068776 + .long 621140718 + .long 111647996 + .long 626706887 + .long 2791489356 + .long 620762628 + .long 3019321269 + .long 626243971 + .long 3574443216 + .long 620211507 + .long 4254822021 + .long 625806131 + .long 1284261146 + .long 619801630 + .long 80099130 + .long 625303897 + .long 1507762392 + .long 619291425 + .long 375220541 + .long 624916816 + .long 2014336713 + .long 618847304 + .long 118264426 + .long 624372188 + .long 1907220475 + .long 618381096 + .long 952559667 + .long 623971227 + .long 1095947488 + .long 617900106 + .long 2675175007 + .long 623449423 + .long 1320337924 + .long 617481183 + .long 3959264958 + .long 623014936 + .long 1487444754 + .long 616960517 + .long 799208302 + .long 622536217 + .long 1271616338 + .long 616577537 + .long 2099622886 + .long 622065631 + .long 980379171 + .long 616029047 + .long 851063685 + .long 621633218 + .long 2418239757 + .long 615614779 + .long 1609703076 + .long 621123783 + .long 1783187034 + .long 615106234 + .long 3832173538 + .long 620741113 + .long 3595466306 + .long 614658341 + .long 1380204662 + .long 620189892 + .long 3038445443 + .long 614192647 + .long 2031904041 + .long 619784523 + .long 1579539762 + .long 613708637 + .long 2449693671 + .long 619264486 + .long 2036251314 + .long 613288887 + .long 2604351751 + .long 618826188 + .long 800370696 + .long 612766102 + .long 429769239 + .long 618348124 + .long 2057756845 + .long 612381985 + .long 3190579240 + .long 617874453 + .long 158180275 + .long 611831196 + .long 3804717890 + .long 617441393 + .long 3442102415 + .long 611416610 + .long 2789758891 + .long 616929746 + .long 1374210545 + .long 610904403 + .long 788184657 + .long 616544917 + .long 848989131 + .long 610457151 + .long 1624541562 + .long 615992518 + .long 213155371 + .long 609986234 + .long 1788415192 + .long 615586730 + .long 2635350280 + .long 609503976 + .long 833481806 + .long 615063244 + .long 3518559574 + .long 609077224 + .long 1243584534 + .long 614625457 + .long 572663644 + .long 608557476 + .long 2214411969 + .long 614142424 + .long 3813719322 + .long 608176009 + .long 881561209 + .long 613670346 + .long 2879917208 + .long 607618058 + .long 3715520356 + .long 613230585 + .long 3436759349 + .long 607207237 + .long 4096502771 + .long 612721778 + .long 2845138726 + .long 606686153 + .long 3549957797 + .long 612328281 + .long 1051692765 + .long 606243935 + .long 3441132486 + .long 611780156 + .long 3286526517 + .long 605762211 + .long 19583667 + .long 611377951 + .long 2449375047 + .long 605286428 + .long 738389037 + .long 610845901 + .long 2355220820 + .long 604846705 + .long 2177026573 + .long 610412932 + .long 3713664449 + .long 604335059 + .long 1428388540 + .long 609919454 + .long 799931392 + .long 603940130 + .long 3006410928 + .long 609453597 + .long 1904016247 + .long 603390187 + .long 322034678 + .long 609001280 + .long 309333133 + .long 602987102 + .long 1396065014 + .long 608500282 + .long 1423165215 + .long 602452186 + .long 1701780091 + .long 608091864 + .long 3985906499 + .long 602019246 + .long 274416578 + .long 607553338 + .long 3177225808 + .long 601521448 + .long 372638832 + .long 607158610 + .long 845271440 + .long 601056671 + .long 58929354 + .long 606613133 + .long 2289767414 + .long 600598384 + .long 3932913258 + .long 606189147 + .long 256261533 + .long 600099671 + .long 667847074 + .long 605680052 + .long 2951073120 + .long 599683421 + .long 4292146681 + .long 605224863 + .long 2846978620 + .long 599148555 + .long 3496699735 + .long 604754497 + .long 1574367979 + .long 598756951 + .long 327312939 + .long 604266049 + .long 1834095719 + .long 598203647 + .long 466087045 + .long 603836890 + .long 2552242163 + .long 597783962 + .long 2675635100 + .long 603313006 + .long 1483525933 + .long 597265282 + .long 1671290922 + .long 602927667 + .long 4228703825 + .long 596815722 + .long 682872616 + .long 602366053 + .long 1155503071 + .long 596333810 + .long 1419971636 + .long 601954955 + .long 3828898584 + .long 595852484 + .long 2318435501 + .long 601425518 + .long 760976002 + .long 595409595 + .long 4275937144 + .long 600985135 + .long 3222713013 + .long 594894510 + .long 1021209289 + .long 600491746 + .long 1851521836 + .long 594493015 + .long 1918254118 + .long 600020223 + .long 1078053633 + .long 593942073 + .long 2612527422 + .long 599565093 + .long 19755515 + .long 593539240 + .long 1492962848 + .long 599060475 + .long 2134544862 + .long 592995455 + .long 599278206 + .long 598645932 + .long 1549833323 + .long 592564894 + .long 1886781683 + .long 598106159 + .long 641793351 + .long 592054951 + .long 3616580796 + .long 597711483 + .long 864347530 + .long 591594978 + .long 2990291188 + .long 597157553 + .long 2380354351 + .long 591120864 + .long 1439341440 + .long 596735692 + .long 2311496543 + .long 590629710 + .long 2011714458 + .long 596214946 + .long 3654465909 + .long 590193510 + .long 624820555 + .long 595764247 + .long 213042865 + .long 589669318 + .long 2604824518 + .long 595278636 + .long 264271579 + .long 589273216 + .long 1435922632 + .long 594797363 + .long 577499311 + .long 588714035 + .long 2444788344 + .long 594348933 + .long 2487909912 + .long 588305726 + .long 2133269325 + .long 593835263 + .long 4090976788 + .long 587764103 + .long 2195002997 + .long 593426157 + .long 233693111 + .long 587328861 + .long 3505244626 + .long 592878177 + .long 1920301957 + .long 586819774 + .long 2896692721 + .long 592478039 + .long 4066809917 + .long 586356046 + .long 446637372 + .long 591926344 + .long 1503200562 + .long 585881304 + .long 1730640733 + .long 591499792 + .long 1078677453 + .long 585387469 + .long 3530633090 + .long 590980007 + .long 716035750 + .long 584948959 + .long 926244727 + .long 590525521 + .long 1924623254 + .long 584423318 + .long 374847771 + .long 590039422 + .long 608240761 + .long 584023012 + .long 3423005991 + .long 589555407 + .long 2030287439 + .long 583463790 + .long 2825239630 + .long 589104847 + .long 431836806 + .long 583056000 + .long 962515630 + .long 588589639 + .long 2859818804 + .long 582509086 + .long 3859146362 + .long 588176552 + .long 4024231508 + .long 582075561 + .long 4017115732 + .long 587628407 + .long 3047877271 + .long 581559413 + .long 3705544194 + .long 587228686 + .long 2550276268 + .long 581098755 + .long 2932446548 + .long 586671911 + .long 2341460508 + .long 580614983 + .long 3281082683 + .long 586246948 + .long 3304923639 + .long 580125732 + .long 2014183061 + .long 585720353 + .long 1168065479 + .long 579676013 + .long 2288610694 + .long 585268775 + .long 3305174480 + .long 579156648 + .long 2001310844 + .long 584773941 + .long 121583998 + .long 578742725 + .long 737649969 + .long 584294316 + .long 1781436352 + .long 578191662 + .long 3936821168 + .long 583832888 + .long 3976184032 + .long 577790360 + .long 981478126 + .long 583323723 + .long 4017087834 + .long 577230935 + .long 72573960 + .long 582897414 + .long 3259223135 + .long 576805453 + .long 3035399169 + .long 582357152 + .long 3648970865 + .long 576274634 + .long 3819729350 + .long 581963709 + .long 771802890 + .long 575823735 + .long 4129123322 + .long 581394763 + .long 3556059631 + .long 575322927 + .long 4020270672 + .long 580977598 + .long 2280169647 + .long 574845325 + .long 2490916872 + .long 580436719 + .long 2319664875 + .long 574375986 + .long 958670739 + .long 579994618 + .long 934600306 + .long 573870347 + .long 1066296556 + .long 579483185 + .long 2087662521 + .long 573433985 + .long 4143709508 + .long 579014885 + .long 2500492911 + .long 572898924 + .long 2579170826 + .long 578534329 + .long 3481048318 + .long 572497101 + .long 1727659457 + .long 578038522 + .long 3292703187 + .long 571931183 + .long 228341597 + .long 577590324 + .long 2360434524 + .long 571519717 + .long 2926242466 + .long 577065649 + .long 2416273730 + .long 570967252 + .long 2672142667 + .long 576651342 + .long 2486934215 + .long 570532375 + .long 3077899362 + .long 576096391 + .long 1067800052 + .long 570007260 + .long 3700039262 + .long 575692892 + .long 3810195505 + .long 569547864 + .long 190178295 + .long 575130874 + .long 1781347356 + .long 569051337 + .long 4194586783 + .long 574704403 + .long 984203209 + .long 568566278 + .long 2842601716 + .long 574169223 + .long 3323101431 + .long 568099615 + .long 3989397331 + .long 573718694 + .long 360984093 + .long 567587709 + .long 3675235766 + .long 573211568 + .long 4118956171 + .long 567152227 + .long 3596431333 + .long 572735856 + .long 2177105575 + .long 566612251 + .long 66504881 + .long 572258039 + .long 1329597486 + .long 566209307 + .long 2286572252 + .long 571755981 + .long 4174181404 + .long 565639999 + .long 1870021391 + .long 571308764 + .long 3523776930 + .long 565226725 + .long 1761381480 + .long 570779161 + .long 883385332 + .long 564671049 + .long 440096907 + .long 570363876 + .long 2153309489 + .long 564235645 + .long 1194744831 + .long 569805489 + .long 48747204 + .long 563705494 + .long 3159879025 + .long 569400136 + .long 3056207012 + .long 563246999 + .long 824088161 + .long 568835058 + .long 354735153 + .long 562743429 + .long 486132132 + .long 568407988 + .long 1372969599 + .long 562260855 + .long 1206199769 + .long 567867961 + .long 3472794264 + .long 561784948 + .long 62317260 + .long 567418230 + .long 3896970086 + .long 561277278 + .long 2432704940 + .long 566904291 + .long 297680563 + .long 560830147 + .long 545064173 + .long 566430928 + .long 2669122822 + .long 560296336 + .long 3305416296 + .long 565944141 + .long 93609353 + .long 559879117 + .long 3671816202 + .long 565446147 + .long 84211558 + .long 559318094 + .long 471936019 + .long 564987604 + .long 1883339902 + .long 558911479 + .long 750788399 + .long 564463954 + .long 3905060432 + .long 558342615 + .long 406946795 + .long 564034770 + .long 3581902328 + .long 557915585 + .long 2073103377 + .long 563484411 + .long 775169617 + .long 557369966 + .long 645109219 + .long 563085521 + .long 2167217684 + .long 556921714 + .long 1873477207 + .long 562507583 + .long 2719911064 + .long 556400207 + .long 308387809 + .long 562088655 + .long 1820614609 + .long 555929909 + .long 3394184269 + .long 561533532 + .long 3428473075 + .long 555433401 + .long 3532718306 + .long 561093774 + .long 2590741393 + .long 554940213 + .long 973889310 + .long 560562321 + .long 3231423410 + .long 554469608 + .long 2543671221 + .long 560100923 + .long 4120215704 + .long 553952668 + .long 766657789 + .long 559594009 + .long 3990858925 + .long 553508886 + .long 2679937012 + .long 559110143 + .long 766795438 + .long 552967316 + .long 2782797469 + .long 558628655 + .long 3969266360 + .long 552551292 + .long 359465212 + .long 558121476 + .long 2479815231 + .long 551984194 + .long 87304349 + .long 557666318 + .long 2781744359 + .long 551573928 + .long 3979992471 + .long 557134960 + .long 4123582023 + .long 551003341 + .long 3747181506 + .long 556707051 + .long 772845509 + .long 550574052 + .long 3265670589 + .long 556150636 + .long 2033180992 + .long 550024794 + .long 1667394255 + .long 555748095 + .long 4266286986 + .long 549575817 + .long 3025000172 + .long 555168540 + .long 1969419127 + .long 549048586 + .long 213891632 + .long 554747325 + .long 2975412881 + .long 548579249 + .long 1062171605 + .long 554188708 + .long 1294437369 + .long 548074750 + .long 1719126263 + .long 553748167 + .long 1919580014 + .long 547584369 + .long 437409612 + .long 553211173 + .long 1204063109 + .long 547103316 + .long 2623875259 + .long 552750645 + .long 3780445420 + .long 546591197 + .long 243126139 + .long 552235967 + .long 1773855030 + .long 546134312 + .long 1889903212 + .long 551754781 + .long 4139190786 + .long 545599753 + .long 3552062158 + .long 551263119 + .long 1295362200 + .long 545167764 + .long 543771968 + .long 550760595 + .long 3890875202 + .long 544610054 + .long 3884281491 + .long 550292658 + .long 4199340706 + .long 544203694 + .long 1216766549 + .long 549768105 + .long 182497587 + .long 543622116 + .long 1734284709 + .long 549324609 + .long 1604026468 + .long 543202246 + .long 3387175892 + .long 548777328 + .long 3120756719 + .long 542635950 + .long 3915352533 + .long 548358993 + .long 2219036760 + .long 542198431 + .long 2916130914 + .long 547788280 + .long 941503010 + .long 541651570 + .long 713993593 + .long 547376252 + .long 483174177 + .long 541195882 + .long 173294799 + .long 546800974 + .long 2491361091 + .long 540668983 + .long 3729374292 + .long 546371618 + .long 3265379113 + .long 540194603 + .long 3868888102 + .long 545815419 + .long 2404211897 + .long 539688197 + .long 446329664 + .long 545368228 + .long 1669235247 + .long 539194600 + .long 528715918 + .long 544831627 + .long 2118079047 + .long 538709216 + .long 1487257719 + .long 544366085 + .long 776404937 + .long 538195874 + .long 1282835441 + .long 543849602 + .long 834675212 + .long 537732042 + .long 1826700102 + .long 543365194 + .long 2151255554 + .long 537198425 + .long 2760641777 + .long 542869349 + .long 3667888735 + .long 536756673 + .long 1950287534 + .long 542365557 + .long 3532358117 + .long 536202252 + .long 3827870169 + .long 541890870 + .long 4033210885 + .long 535783107 + .long 3249640654 + .long 541367174 + .long 2827149968 + .long 535207352 + .long 857718385 + .long 540914165 + .long 204673652 + .long 534792549 + .long 3424184087 + .long 540370044 + .long 2116005711 + .long 534213719 + .long 192442764 + .long 539939229 + .long 2262032220 + .long 533783269 + .long 480983744 + .long 539374164 + .long 3077007003 + .long 533221345 + .long 552463019 + .long 538966056 + .long 1155652716 + .long 532774877 + .long 1038832938 + .long 538379527 + .long 2422580409 + .long 532230221 + .long 2762107583 + .long 537957062 + .long 2540139562 + .long 531767364 + .long 2873022586 + .long 537386126 + .long 234144598 + .long 531240335 + .long 851978190 + .long 536947936 + .long 959857451 + .long 530760722 + .long 3241618469 + .long 536393952 + .long 4016137197 + .long 530251671 + .long 641746280 + .long 535939673 + .long 1158797355 + .long 529754939 + .long 2929694603 + .long 535402993 + .long 2700852188 + .long 529264215 + .long 1525333438 + .long 534932264 + .long 747188860 + .long 528750003 + .long 1717775474 + .long 534413235 + .long 799625790 + .long 528277947 + .long 327675497 + .long 533925699 + .long 2945196677 + .long 527745899 + .long 2455571493 + .long 533424661 + .long 1032430757 + .long 527292845 + .long 4038940168 + .long 532919964 + .long 3569975073 + .long 526742612 + .long 2267376501 + .long 532437253 + .long 4156544978 + .long 526308885 + .long 3906173863 + .long 531915047 + .long 3806519963 + .long 525740124 + .long 955088646 + .long 531450990 + .long 225653902 + .long 525326043 + .long 1077525843 + .long 530910932 + .long 1518490359 + .long 524738416 + .long 830220830 + .long 530465848 + .long 3557546761 + .long 524316143 + .long 2195489810 + .long 529907600 + .long 4049459981 + .long 523737465 + .long 2271012400 + .long 529481801 + .long 847753142 + .long 523301506 + .long 2119830787 + .long 528905033 + .long 2385816620 + .long 522737250 + .long 3945328623 + .long 528490562 + .long 2824483751 + .long 522287379 + .long 1025612371 + .long 527903210 + .long 1171317542 + .long 521737745 + .long 478993390 + .long 527475303 + .long 4050503433 + .long 521273745 + .long 42496558 + .long 526902108 + .long 1494777678 + .long 520738923 + .long 2722912501 + .long 526460544 + .long 2121175141 + .long 520260585 + .long 1205835362 + .long 525901702 + .long 876052091 + .long 519740756 + .long 2184851820 + .long 525446269 + .long 1956192963 + .long 519247877 + .long 3130299594 + .long 524901966 + .long 1860986579 + .long 518743213 + .long 2090340358 + .long 524432458 + .long 2925107436 + .long 518235599 + .long 996620061 + .long 523902873 + .long 3456093698 + .long 517746262 + .long 200001429 + .long 523419091 + .long 3166760506 + .long 517223728 + .long 3736940656 + .long 522904391 + .long 1173268029 + .long 516749870 + .long 1705107024 + .long 522406145 + .long 3923102657 + .long 516212239 + .long 3994824735 + .long 521906490 + .long 4274930769 + .long 515753999 + .long 2072185257 + .long 521393598 + .long 1002792163 + .long 515201107 + .long 3939630350 + .long 520909136 + .long 1500524434 + .long 514758614 + .long 4261525466 + .long 520381425 + .long 2029541891 + .long 514190303 + .long 2446420451 + .long 519912294 + .long 4123712883 + .long 513763673 + .long 1600400128 + .long 519369602 + .long 755952266 + .long 513179800 + .long 3771339643 + .long 518915926 + .long 3713384391 + .long 512761400 + .long 3620669216 + .long 518358100 + .long 2932279824 + .long 512169567 + .long 478146326 + .long 517919995 + .long 1868169824 + .long 511740025 + .long 1781762437 + .long 517346893 + .long 651046716 + .long 511159575 + .long 3630609920 + .long 516924458 + .long 2035527349 + .long 510718808 + .long 3928222930 + .long 516335950 + .long 2541743873 + .long 510149790 + .long 4290911501 + .long 515914333 + .long 4135746717 + .long 509697726 + .long 42975951 + .long 515325243 + .long 3851529334 + .long 509140180 + .long 1867370737 + .long 514892609 + .long 460958008 + .long 508676757 + .long 1030310754 + .long 514314738 + .long 3786069382 + .long 508130711 + .long 399587929 + .long 513871017 + .long 1564219554 + .long 507655874 + .long 204736770 + .long 513304404 + .long 1390956615 + .long 507121348 + .long 2470420727 + .long 512849533 + .long 2029916431 + .long 506635053 + .long 3514566047 + .long 512294206 + .long 38331373 + .long 506112054 + .long 3213378625 + .long 511828134 + .long 2089464452 + .long 505614268 + .long 3946080721 + .long 511284111 + .long 3338636486 + .long 505102791 + .long 3325865067 + .long 510806795 + .long 3477778940 + .long 504593492 + .long 3187356225 + .long 510274083 + .long 2477247698 + .long 504093523 + .long 618134939 + .long 509785491 + .long 1005142412 + .long 503572699 + .long 3242129194 + .long 509264085 + .long 2220305228 + .long 503084210 + .long 3047479426 + .long 508764194 + .long 4203966732 + .long 502551859 + .long 2353192715 + .long 508254080 + .long 3984995916 + .long 502074812 + .long 3107895392 + .long 507742879 + .long 3150820635 + .long 501530946 + .long 3824941553 + .long 507244029 + .long 1808431824 + .long 501065290 + .long 3769312013 + .long 506721518 + .long 3017450811 + .long 500509930 + .long 3384960724 + .long 506233894 + .long 4099541654 + .long 500055601 + .long 1476813861 + .long 505700084 + .long 2796381842 + .long 499488782 + .long 2328873266 + .long 505223635 + .long 3864022258 + .long 499045705 + .long 3518951934 + .long 504678547 + .long 4100038552 + .long 498467472 + .long 3498294158 + .long 504213211 + .long 480969019 + .long 498035560 + .long 2455372318 + .long 503656880 + .long 2788309766 + .long 497445971 + .long 2976257199 + .long 503202582 + .long 8045539 + .long 497025073 + .long 2092645433 + .long 502635053 + .long 2078780918 + .long 496424248 + .long 3269329508 + .long 502191706 + .long 1330371896 + .long 495995398 + .long 518579993 + .long 501613037 + .long 4189447995 + .long 495402272 + .long 731131457 + .long 501180542 + .long 1532914755 + .long 494965534 + .long 3208993496 + .long 500590801 + .long 1988199791 + .long 494380014 + .long 3061143611 + .long 500169046 + .long 1784882792 + .long 493935459 + .long 1781921891 + .long 499568317 + .long 713256479 + .long 493357442 + .long 4079290520 + .long 499139676 + .long 2979966951 + .long 492905151 + .long 3104706 + .long 498545554 + .long 1044472979 + .long 492334525 + .long 2230043321 + .long 498109246 + .long 1620778697 + .long 491874589 + .long 1142824481 + .long 497522481 + .long 3654404461 + .long 491311232 + .long 2822654721 + .long 497078586 + .long 2886404970 + .long 490843750 + .long 3928134283 + .long 496499068 + .long 878722914 + .long 490287534 + .long 4020169665 + .long 496047675 + .long 3637954583 + .long 489812613 + .long 2794870098 + .long 495475286 + .long 2749926565 + .long 489263398 + .long 4078516341 + .long 495016492 + .long 1196168526 + .long 488781157 + .long 1028719396 + .long 494451104 + .long 2904339737 + .long 488238795 + .long 1528930591 + .long 493985016 + .long 2120772317 + .long 487749359 + .long 2434918903 + .long 493426491 + .long 325777278 + .long 487213695 + .long 3952515897 + .long 492953224 + .long 926267295 + .long 486717199 + .long 3010706529 + .long 492401418 + .long 3910668301 + .long 486188066 + .long 2396755347 + .long 491921097 + .long 1748060866 + .long 485684655 + .long 4094631857 + .long 491375855 + .long 2673993172 + .long 485161881 + .long 1627764568 + .long 490888613 + .long 1354002939 + .long 484651707 + .long 4042302183 + .long 490349773 + .long 379491867 + .long 484135110 + .long 3138534517 + .long 489855751 + .long 2220243131 + .long 483618334 + .long 2787537171 + .long 489323143 + .long 2924194407 + .long 483107723 + .long 1042160455 + .long 488822492 + .long 4131233107 + .long 482584516 + .long 2108285128 + .long 488295936 + .long 1426139857 + .long 482079694 + .long 3734405326 + .long 487788814 + .long 73105916 + .long 481550235 + .long 1596513481 + .long 487268124 + .long 2554081150 + .long 481050994 + .long 4015626840 + .long 486754699 + .long 2189662638 + .long 480515469 + .long 3216181302 + .long 486239679 + .long 3019149655 + .long 480021597 + .long 750720322 + .long 485720128 + .long 3311112978 + .long 479480201 + .long 2973659746 + .long 485210575 + .long 2716951534 + .long 478991477 + .long 3347036114 + .long 484685080 + .long 2904018737 + .long 478444413 + .long 4059540593 + .long 484180785 + .long 684718244 + .long 477960609 + .long 1869838612 + .long 483649539 + .long 2952594857 + .long 477408087 + .long 4216397100 + .long 483150284 + .long 3937488379 + .long 476928967 + .long 1578993934 + .long 482613486 + .long 3835581749 + .long 476371206 + .long 281380308 + .long 482119048 + .long 1937898813 + .long 475896530 + .long 1627246380 + .long 481576904 + .long 198141223 + .long 475333755 + .long 1312935370 + .long 481087051 + .long 1188099164 + .long 474863274 + .long 3818881409 + .long 480539776 + .long 2588044054 + .long 474295716 + .long 3056228853 + .long 480054271 + .long 3978924537 + .long 473829177 + .long 4183596390 + .long 479502087 + .long 3251248939 + .long 473257076 + .long 1055944777 + .long 479020687 + .long 15076740 + .long 472794221 + .long 1724790849 + .long 478463822 + .long 2050484523 + .long 472217821 + .long 3761008495 + .long 477986276 + .long 980383090 + .long 471758384 + .long 2866927116 + .long 477424965 + .long 2312034373 + .long 471177937 + .long 2670851553 + .long 476951020 + .long 2078341320 + .long 470721649 + .long 126628446 + .long 476385504 + .long 2370062226 + .long 470137412 + .long 2601743095 + .long 475914899 + .long 3691292635 + .long 469683999 + .long 2316447731 + .long 475345424 + .long 4282869978 + .long 469096234 + .long 403375800 + .long 474877896 + .long 2963298634 + .long 468645419 + .long 316731867 + .long 474304715 + .long 1065963037 + .long 468054394 + .long 2319387273 + .long 473839993 + .long 2550786954 + .long 467605894 + .long 1559132177 + .long 473263364 + .long 2571071607 + .long 467011880 + .long 2681805997 + .long 472801176 + .long 2180690006 + .long 466565411 + .long 77362999 + .long 472221362 + .long 1226514280 + .long 465968685 + .long 1248268847 + .long 471761431 + .long 3080351071 + .long 465523958 + .long 2383906831 + .long 471178698 + .long 2192619100 + .long 464924800 + .long 3346908713 + .long 470720744 + .long 3803907036 + .long 464481525 + .long 1798125170 + .long 470135365 + .long 1967779515 + .long 463880219 + .long 2828425539 + .long 469679105 + .long 339639984 + .long 463438104 + .long 9693417 + .long 469091355 + .long 1344217659 + .long 462834936 + .long 3659471034 + .long 468636503 + .long 3382836177 + .long 462393685 + .long 2862616817 + .long 468046660 + .long 1173607322 + .long 461788946 + .long 2847535056 + .long 467592930 + .long 4054360268 + .long 461348264 + .long 3244462034 + .long 467001276 + .long 2417187328 + .long 460742245 + .long 3416455505 + .long 466548378 + .long 4028795565 + .long 460301836 + .long 2620177535 + .long 465955198 + .long 1890260299 + .long 459694831 + .long 1597669206 + .long 465502842 + .long 2697752267 + .long 459254398 + .long 2490825572 + .long 464908422 + .long 880811534 + .long 458646702 + .long 4071519587 + .long 464456316 + .long 1497721484 + .long 458205948 + .long 136798453 + .long 463860946 + .long 872346448 + .long 457597857 + .long 2243967809 + .long 463408799 + .long 3927526386 + .long 457156485 + .long 1530290817 + .long 462812767 + .long 3550754946 + .long 456548296 + .long 2342796501 + .long 462360288 + .long 2665376278 + .long 456106012 + .long 4172293587 + .long 461763885 + .long 2210277417 + .long 455498022 + .long 3959016397 + .long 461310783 + .long 1030157147 + .long 455054531 + .long 1393659562 + .long 460714302 + .long 3213291947 + .long 454447036 + .long 47864442 + .long 460260287 + .long 67528096 + .long 454002046 + .long 3825252527 + .long 459664017 + .long 194562736 + .long 453395343 + .long 2684357242 + .long 459208800 + .long 2800530107 + .long 452948562 + .long 727784562 + .long 458613035 + .long 4089253246 + .long 452342945 + .long 84168019 + .long 458156329 + .long 1285119858 + .long 451894088 + .long 2915315101 + .long 457561357 + .long 135810390 + .long 451289851 + .long 3803717572 + .long 457102877 + .long 2305406196 + .long 450838631 + .long 4063743821 + .long 456508989 + .long 3652572945 + .long 450236064 + .long 1436037479 + .long 456048454 + .long 1514529455 + .long 449782202 + .long 2138343601 + .long 455455937 + .long 4134903549 + .long 449181594 + .long 3781169290 + .long 454993066 + .long 510767191 + .long 448724812 + .long 3631083286 + .long 454402206 + .long 3831505964 + .long 448126449 + .long 1807758590 + .long 453936725 + .long 2424708211 + .long 447666473 + .long 2018001648 + .long 453347805 + .long 476337342 + .long 447070639 + .long 909869841 + .long 452879441 + .long 3197762137 + .long 446607200 + .long 3451306558 + .long 452292741 + .long 75758966 + .long 446014173 + .long 3610351944 + .long 451821226 + .long 27284118 + .long 445547009 + .long 902214610 + .long 451237025 + .long 3916679371 + .long 444957062 + .long 840691427 + .long 450762096 + .long 4093898977 + .long 444485914 + .long 4129008523 + .long 450180665 + .long 4155786694 + .long 443899320 + .long 1862563288 + .long 449702064 + .long 1736977177 + .long 443423936 + .long 916586263 + .long 449123675 + .long 875158845 + .long 442840960 + .long 4047312982 + .long 448641147 + .long 1517782031 + .long 442361092 + .long 4206679294 + .long 448066064 + .long 1949959088 + .long 441781994 + .long 1298138877 + .long 447579364 + .long 3962133185 + .long 441297402 + .long 435528617 + .long 447007848 + .long 1433687779 + .long 440722438 + .long 1050763615 + .long 446516732 + .long 1357404790 + .long 440232889 + .long 942889975 + .long 445949038 + .long 885960643 + .long 439662307 + .long 2608549237 + .long 445453271 + .long 3309558139 + .long 439167573 + .long 3179272586 + .long 444889649 + .long 628851502 + .long 438601617 + .long 1237193661 + .long 444389003 + .long 2161558164 + .long 438101479 + .long 3445787372 + .long 443829697 + .long 3881973273 + .long 437540384 + .long 839797879 + .long 443323949 + .long 2827945983 + .long 437034630 + .long 1037538179 + .long 442769198 + .long 3712043870 + .long 436478627 + .long 853251644 + .long 442258132 + .long 1082193446 + .long 435967052 + .long 2380984769 + .long 441708167 + .long 42109685 + .long 435416364 + .long 316321489 + .long 441191576 + .long 491915038 + .long 434898770 + .long 3690951728 + .long 440646622 + .long 3771298562 + .long 434353611 + .long 1930304500 + .long 440124305 + .long 3578205978 + .long 433829810 + .long 3687415761 + .long 439584581 + .long 2235853675 + .long 433290390 + .long 3228097313 + .long 439056345 + .long 2969701438 + .long 432760201 + .long 3422935503 + .long 438522062 + .long 1976128444 + .long 432226719 + .long 622251061 + .long 437987723 + .long 2616928872 + .long 431689970 + .long 1811205449 + .long 437459084 + .long 2781223343 + .long 431162618 + .long 2037824448 + .long 436918464 + .long 348284108 + .long 430619146 + .long 4037157941 + .long 436395665 + .long 1796084772 + .long 430098108 + .long 886183490 + .long 435848597 + .long 487918660 + .long 429547757 + .long 4194467779 + .long 435331826 + .long 1921835809 + .long 429033209 + .long 1574856126 + .long 434778149 + .long 701774251 + .long 428475833 + .long 2280565076 + .long 434267587 + .long 3035074915 + .long 427967942 + .long 2064959187 + .long 433707149 + .long 317212610 + .long 427403404 + .long 4010113327 + .long 433202967 + .long 1796515696 + .long 426902329 + .long 2196472361 + .long 432635626 + .long 52271192 + .long 426330500 + .long 3447516028 + .long 432137988 + .long 49531636 + .long 425836391 + .long 3422415476 + .long 431563609 + .long 1745271979 + .long 425257151 + .long 4293586673 + .long 431072670 + .long 334325754 + .long 424770149 + .long 4247684854 + .long 430491128 + .long 3790596534 + .long 424183388 + .long 2517525345 + .long 430007035 + .long 1403173910 + .long 423703625 + .long 4258229852 + .long 429418213 + .long 871327476 + .long 423109243 + .long 3349192873 + .long 428941103 + .long 2327211671 + .long 422636841 + .long 3856434806 + .long 428344894 + .long 874406098 + .long 422034745 + .long 3912743233 + .long 427874896 + .long 2310384696 + .long 421569819 + .long 3998425883 + .long 427271201 + .long 3154458831 + .long 420959925 + .long 1631682226 + .long 426808436 + .long 506036551 + .long 420502581 + .long 1639070103 + .long 426197165 + .long 2571506734 + .long 419884815 + .long 2636061136 + .long 425741743 + .long 131590857 + .long 419435148 + .long 2360217394 + .long 425122815 + .long 2123368345 + .long 418809445 + .long 107531667 + .long 424674840 + .long 3698826492 + .long 418353259 + .long 2938237131 + .long 424048182 + .long 4108636988 + .long 417733845 + .long 4039275195 + .long 423590789 + .long 2893379127 + .long 417266320 + .long 3981058062 + .long 422973296 + .long 1295691695 + .long 416658047 + .long 1799245620 + .long 422504843 + .long 809368571 + .long 416179121 + .long 1095743658 + .long 421898188 + .long 2458071445 + .long 415582079 + .long 3152629639 + .long 421418602 + .long 2880996644 + .long 415091703 + .long 1831853591 + .long 420822886 + .long 2082457760 + .long 414505972 + .long 3375611757 + .long 420332109 + .long 3813221416 + .long 414004109 + .long 3976661321 + .long 419747420 + .long 1623971680 + .long 413429755 + .long 222515280 + .long 419245406 + .long 161894751 + .long 412916381 + .long 3922251253 + .long 418671820 + .long 704894105 + .long 412353457 + .long 2205898558 + .long 418158532 + .long 2925813699 + .long 411828557 + .long 745269613 + .long 417596115 + .long 1206932886 + .long 411277106 + .long 2528034227 + .long 417071529 + .long 2906655622 + .long 410740679 + .long 294773265 + .long 416520332 + .long 2782612403 + .long 410200730 + .long 268798842 + .long 415984437 + .long 506502267 + .long 409652786 + .long 2108747555 + .long 415444499 + .long 2671060727 + .long 409124357 + .long 111092231 + .long 414897294 + .long 1179204803 + .long 408564915 + .long 3519434075 + .long 414368644 + .long 4113495186 + .long 408048013 + .long 3489230693 + .long 413810138 + .long 2305837020 + .long 407477104 + .long 3767963252 + .long 413292794 + .long 3303928739 + .long 406971725 + .long 4045703249 + .long 412723008 + .long 1559394247 + .long 406389390 + .long 3833649452 + .long 412216975 + .long 2119990474 + .long 405895518 + .long 281624545 + .long 411635941 + .long 989263513 + .long 405301808 + .long 1978234054 + .long 411141213 + .long 3684399904 + .long 404819416 + .long 3926423569 + .long 410548970 + .long 2530769806 + .long 404214392 + .long 2185191413 + .long 410065532 + .long 3642169242 + .long 403743444 + .long 1077414544 + .long 409462133 + .long 3529948250 + .long 403127176 + .long 1134565222 + .long 408989957 + .long 2923469607 + .long 402667625 + .long 3548466521 + .long 408375461 + .long 873635608 + .long 402040193 + .long 958141692 + .long 407914511 + .long 2380128801 + .long 401579355 + .long 1449417702 + .long 407288989 + .long 3724984240 + .long 400953472 + .long 1060892090 + .long 406830946 + .long 2060268791 + .long 400477037 + .long 1679979762 + .long 406202747 + .long 3324839389 + .long 399867045 + .long 3605744095 + .long 405729281 + .long 2853346502 + .long 399375154 + .long 2014373632 + .long 405116766 + .long 2938189705 + .long 398780940 + .long 2232445718 + .long 404628007 + .long 3948535372 + .long 398273746 + .long 3855954834 + .long 404031075 + .long 571451293 + .long 397695185 + .long 3997793792 + .long 403527163 + .long 1328669080 + .long 397172852 + .long 3532276603 + .long 402945703 + .long 1769888605 + .long 396609805 + .long 117139507 + .long 402426790 + .long 542212897 + .long 396072507 + .long 785235588 + .long 401860677 + .long 2365473167 + .long 395524826 + .long 193707104 + .long 401326923 + .long 3726803886 + .long 394972745 + .long 2981353042 + .long 400776021 + .long 1304518436 + .long 394440272 + .long 2044657899 + .long 400227598 + .long 948810575 + .long 393873601 + .long 3567196460 + .long 399691761 + .long 605169024 + .long 393356165 + .long 202857553 + .long 399128850 + .long 218268034 + .long 392775104 + .long 3489213753 + .long 398607920 + .long 1034387390 + .long 392272526 + .long 3029254570 + .long 398030709 + .long 1689466565 + .long 391677283 + .long 2563287204 + .long 397524520 + .long 2094040642 + .long 391189375 + .long 2600913452 + .long 396933207 + .long 1946043246 + .long 390580166 + .long 3743389614 + .long 396441581 + .long 2020750266 + .long 390106731 + .long 453478293 + .long 395836372 + .long 2600223858 + .long 389483778 + .long 224241404 + .long 395359124 + .long 2094066699 + .long 389024611 + .long 3278227262 + .long 394740229 + .long 1730781785 + .long 388388143 + .long 1212176215 + .long 394277165 + .long 440289986 + .long 387912943 + .long 1458075427 + .long 393644805 + .long 2518810659 + .long 387293282 + .long 3749064933 + .long 393175444 + .long 3415481171 + .long 386799468 + .long 3456378279 + .long 392550121 + .long 425922765 + .long 386199216 + .long 1092703806 + .long 392062198 + .long 4277745370 + .long 385687130 + .long 1503849114 + .long 391456200 + .long 453761503 + .long 385105962 + .long 1833791429 + .long 390950043 + .long 631386339 + .long 384575954 + .long 1726901441 + .long 390363060 + .long 59566222 + .long 384013537 + .long 2685943042 + .long 389839006 + .long 961658282 + .long 383465960 + .long 2752588376 + .long 389270719 + .long 2151517544 + .long 382921955 + .long 2706655627 + .long 388729111 + .long 3326307572 + .long 382357168 + .long 98807236 + .long 388179194 + .long 2328481889 + .long 381831230 + .long 3442519839 + .long 387620379 + .long 4131389714 + .long 381249596 + .long 3464096023 + .long 387088497 + .long 1902935064 + .long 380741373 + .long 504713419 + .long 386512830 + .long 2630439749 + .long 380143259 + .long 2491716602 + .long 385998643 + .long 3756546937 + .long 379652393 + .long 933373881 + .long 385406479 + .long 1145790782 + .long 379038169 + .long 1266292521 + .long 384909642 + .long 3912470507 + .long 378564299 + .long 1925174067 + .long 384301341 + .long 1010818900 + .long 377934336 + .long 1283084181 + .long 383821503 + .long 596607075 + .long 377466836 + .long 3937356731 + .long 383197428 + .long 2821816074 + .long 376831768 + .long 1608532073 + .long 382734234 + .long 3037958193 + .long 376342802 + .long 2332449651 + .long 382094751 + .long 2408317383 + .long 375730472 + .long 2397654593 + .long 381614019 + .long 2557939275 + .long 375220570 + .long 512120078 + .long 380993317 + .long 3995478800 + .long 374630451 + .long 2456329504 + .long 380491572 + .long 114614293 + .long 374100144 + .long 1589275847 + .long 379893131 + .long 3312628691 + .long 373531708 + .long 1966729927 + .long 379370894 + .long 2040206870 + .long 372981524 + .long 72029277 + .long 378794198 + .long 776306839 + .long 372434243 + .long 417809006 + .long 378251989 + .long 3289085169 + .long 371864710 + .long 3623078601 + .long 377696518 + .long 1796902327 + .long 371338053 + .long 2918093283 + .long 377134857 + .long 761688673 + .long 370749699 + .long 3288920559 + .long 376600093 + .long 4207691436 + .long 370243135 + .long 3437608319 + .long 376019498 + .long 2342977085 + .long 369636483 + .long 3866848942 + .long 375504920 + .long 2879868540 + .long 369149485 + .long 2420364926 + .long 374905908 + .long 1588980901 + .long 368525055 + .long 2739411497 + .long 374410996 + .long 2932481858 + .long 368057095 + .long 2931179438 + .long 373794080 + .long 3959187389 + .long 367415403 + .long 3074514019 + .long 373318315 + .long 1467918282 + .long 366930315 + .long 2515077535 + .long 372684006 + .long 1513976558 + .long 366307516 + .long 2520993857 + .long 372209262 + .long 2827211306 + .long 365799099 + .long 2242535527 + .long 371575675 + .long 3449765443 + .long 365201377 + .long 229374307 + .long 371077406 + .long 4030107585 + .long 364670345 + .long 2874247126 + .long 370469074 + .long 2211302595 + .long 364096971 + .long 1239422762 + .long 369947986 + .long 840366190 + .long 363544029 + .long 1028822652 + .long 369364189 + .long 4028711686 + .long 362994278 + .long 207636622 + .long 368820981 + .long 4250478068 + .long 362420121 + .long 2531844762 + .long 368261002 + .long 3618837079 + .long 361893279 + .long 2318347883 + .long 367696365 + .long 2491775545 + .long 361298594 + .long 1405281421 + .long 367159496 + .long 1833836259 + .long 360793952 + .long 2464788893 + .long 366574112 + .long 349633767 + .long 360179415 + .long 1805332254 + .long 366059650 + .long 1831269244 + .long 359696273 + .long 3082197830 + .long 365454192 + .long 2638068963 + .long 359062549 + .long 1303053763 + .long 364961443 + .long 1888756545 + .long 358587444 + .long 1911726058 + .long 364336574 + .long 1961659335 + .long 357947962 + .long 4226025985 + .long 363864851 + .long 3747536647 + .long 357447105 + .long 1233082573 + .long 363221224 + .long 828038150 + .long 356835616 + .long 1270801490 + .long 362732408 + .long 499547327 + .long 356309909 + .long 4204596276 + .long 362108106 + .long 3685024638 + .long 355725471 + .long 2263119564 + .long 361594116 + .long 208289706 + .long 355175798 + .long 2604176066 + .long 360997185 + .long 355902013 + .long 354617489 + .long 1571658720 + .long 360458903 + .long 2831155402 + .long 354044714 + .long 3214416859 + .long 359888421 + .long 1001156103 + .long 353511626 + .long 2092639694 + .long 359326713 + .long 1060879276 + .long 352916599 + .long 2656242605 + .long 358781775 + .long 2346460494 + .long 352407840 + .long 3140357496 + .long 358197489 + .long 2620891755 + .long 351791390 + .long 864200800 + .long 357677206 + .long 1139994072 + .long 351306088 + .long 1272299290 + .long 357071173 + .long 998738015 + .long 350669026 + .long 1662699579 + .long 356574671 + .long 2302133496 + .long 350188265 + .long 3978417974 + .long 355947703 + .long 1990495904 + .long 349549442 + .long 442183120 + .long 355474128 + .long 1648631435 + .long 349041201 + .long 398634752 + .long 354827020 + .long 2975863533 + .long 348432574 + .long 3768021229 + .long 354332376 + .long 486875883 + .long 347897932 + .long 736504491 + .long 353709059 + .long 2232348394 + .long 347318357 + .long 2322467066 + .long 353187567 + .long 3268018708 + .long 346758364 + .long 2634041373 + .long 352593757 + .long 3927971950 + .long 346206724 + .long 3257994585 + .long 352046473 + .long 2514707150 + .long 345622405 + .long 470872302 + .long 351481051 + .long 1611901678 + .long 345097610 + .long 568930306 + .long 350909004 + .long 1224567807 + .long 344489960 + .long 3227159577 + .long 350370874 + .long 331959221 + .long 343990947 + .long 2250543232 + .long 349775066 + .long 874240467 + .long 343360934 + .long 780057110 + .long 349263163 + .long 69121375 + .long 342886668 + .long 1142967647 + .long 348644568 + .long 2268018375 + .long 342235232 + .long 3187181140 + .long 348157850 + .long 1236402983 + .long 341733636 + .long 1570569667 + .long 347517416 + .long 2050805026 + .long 341112760 + .long 970610165 + .long 347031087 + .long 4289331829 + .long 340582788 + .long 2991953537 + .long 346393517 + .long 2064992333 + .long 339993423 + .long 3835464351 + .long 345878239 + .long 2834904129 + .long 339436308 + .long 789753324 + .long 345272779 + .long 1486374416 + .long 338877127 + .long 4237562651 + .long 344729795 + .long 1795254523 + .long 338294062 + .long 4199966768 + .long 344155107 + .long 1803895842 + .long 337763778 + .long 1913603615 + .long 343585624 + .long 1236370561 + .long 337155918 + .long 2661257846 + .long 343040411 + .long 3168560722 + .long 336653283 + .long 3747541370 + .long 342445594 + .long 1544858000 + .long 336021745 + .long 843355073 + .long 341928598 + .long 701727663 + .long 335545551 + .long 3212904903 + .long 341309577 + .long 4252571316 + .long 334891413 + .long 2095636171 + .long 340819576 + .long 181107243 + .long 334385235 + .long 2708120800 + .long 340177444 + .long 4214802816 + .long 333764795 + .long 891481710 + .long 339687888 + .long 1863002590 + .long 333228849 + .long 1475935954 + .long 339049068 + .long 3207614907 + .long 332641764 + .long 951962484 + .long 338529047 + .long 3019254994 + .long 332077447 + .long 647215757 + .long 337924323 + .long 1995597590 + .long 331522195 + .long 1307132931 + .long 337375253 + .long 2784109590 + .long 330930854 + .long 3935098394 + .long 336803084 + .long 935907665 + .long 330405965 + .long 489622420 + .long 336226332 + .long 3672874055 + .long 329788897 + .long 1095558523 + .long 335685231 + .long 529859671 + .long 329292953 + .long 3793524113 + .long 335082111 + .long 3735652122 + .long 328651407 + .long 2874939353 + .long 334570641 + .long 3846762629 + .long 328161792 + .long 2594228670 + .long 333942423 + .long 1524643224 + .long 327518218 + .long 2891599860 + .long 333459197 + .long 1830584859 + .long 326996509 + .long 841053976 + .long 332807101 + .long 992163451 + .long 326389166 + .long 3488900988 + .long 332302973 + .long 2489415457 + .long 325836963 + .long 2825237155 + .long 331675981 + .long 3436657835 + .long 325264091 + .long 2015957083 + .long 331140550 + .long 4123958411 + .long 324682931 + .long 880032773 + .long 330548905 + .long 3678845232 + .long 324142838 + .long 2949966793 + .long 329983733 + .long 774011448 + .long 323534196 + .long 1669772503 + .long 329425715 + .long 3355255702 + .long 323025254 + .long 2707219994 + .long 328832304 + .long 4228305774 + .long 322390542 + .long 875819559 + .long 328306259 + .long 1058802249 + .long 321909549 + .long 1725500861 + .long 327686049 + .long 1526668256 + .long 321251764 + .long 771027883 + .long 327190387 + .long 1440448964 + .long 320736746 + .long 685169409 + .long 326544759 + .long 2576883052 + .long 320117657 + .long 3931256307 + .long 326048770 + .long 4211444510 + .long 319570409 + .long 943825043 + .long 325408230 + .long 1796204117 + .long 318988025 + .long 3078500894 + .long 324879071 + .long 2929791 + .long 318410265 + .long 598122658 + .long 324276264 + .long 4105023641 + .long 317862675 + .long 3713099277 + .long 323715687 + .long 4053342124 + .long 317256043 + .long 3356168766 + .long 323148667 + .long 3607219520 + .long 316741422 + .long 8385943 + .long 322558350 + .long 546691080 + .long 316107487 + .long 1569386958 + .long 322025253 + .long 860208356 + .long 315624085 + .long 1602866975 + .long 321406796 + .long 2825627555 + .long 314964342 + .long 2146945184 + .long 320905838 + .long 1512638989 + .long 314448175 + .long 3694443718 + .long 320260772 + .long 1851223288 + .long 313826366 + .long 1734172065 + .long 319764812 + .long 3513124527 + .long 313276696 + .long 4292046831 + .long 319120032 + .long 483102926 + .long 312693322 + .long 3451475318 + .long 318589505 + .long 205455539 + .long 312112030 + .long 4205268708 + .long 317984337 + .long 441034304 + .long 311564981 + .long 3738205159 + .long 317421168 + .long 842935179 + .long 310953857 + .long 2661954576 + .long 316853456 + .long 2082540419 + .long 310441122 + .long 191682699 + .long 316259480 + .long 1023232792 + .long 309801871 + .long 1443656792 + .long 315727165 + .long 3938167691 + .long 309313145 + .long 2030154461 + .long 315104128 + .long 3715645745 + .long 308655775 + .long 364014527 + .long 314605248 + .long 2221126625 + .long 308130669 + .long 3957555902 + .long 313954813 + .long 1553430262 + .long 307515285 + .long 2549547892 + .long 313450768 + .long 541059372 + .long 306955923 + .long 2893226174 + .long 312811246 + .long 2002181412 + .long 306380124 + .long 2553687033 + .long 312271769 + .long 3328160459 + .long 305788524 + .long 1738637298 + .long 311673147 + .long 921404674 + .long 305250028 + .long 1821651048 + .long 311100311 + .long 4041041389 + .long 304628106 + .long 187612271 + .long 310540247 + .long 3309758413 + .long 304124741 + .long 3123473258 + .long 309936020 + .long 1274902091 + .long 303474316 + .long 2651100243 + .long 309412286 + .long 2091366167 + .long 302969576 + .long 1344477234 + .long 308778538 + .long 1911254553 + .long 302326813 + .long 352942948 + .long 308289017 + .long 4237029098 + .long 301785368 + .long 3896993776 + .long 307627518 + .long 2727336008 + .long 301185272 + .long 1233965820 + .long 307107630 + .long 3668024467 + .long 300609369 + .long 3816128113 + .long 306482630 + .long 2012574928 + .long 300049381 + .long 543989814 + .long 305927014 + .long 2452741724 + .long 299441146 + .long 36761402 + .long 305343556 + .long 2544835316 + .long 298918840 + .long 3928334870 + .long 304754400 + .long 3629786995 + .long 298280284 + .long 434868103 + .long 304209989 + .long 3277144393 + .long 297791142 + .long 735890319 + .long 303589368 + .long 665096612 + .long 297126388 + .long 3345452543 + .long 303081637 + .long 967835438 + .long 296598343 + .long 1154568510 + .long 302431511 + .long 1221884323 + .long 295979077 + .long 1027443567 + .long 301926556 + .long 1141739083 + .long 295414598 + .long 4220242335 + .long 301280442 + .long 3647891822 + .long 294837989 + .long 2972216333 + .long 300737636 + .long 179140444 + .long 294239407 + .long 140442075 + .long 300135793 + .long 3497721983 + .long 293702779 + .long 4276020636 + .long 299557540 + .long 2099687014 + .long 293072291 + .long 2646489349 + .long 298997207 + .long 33373082 + .long 292573117 + .long 846827046 + .long 298385780 + .long 2711187823 + .long 291912795 + .long 4008058152 + .long 297864348 + .long 1125808704 + .long 291393245 + .long 2739885995 + .long 297221887 + .long 3807832798 + .long 290760484 + .long 1788472360 + .long 296726781 + .long 2298680525 + .long 290202825 + .long 1174423899 + .long 296065418 + .long 1592748605 + .long 289614945 + .long 1788014666 + .long 295530643 + .long 3356705021 + .long 289021699 + .long 4255981332 + .long 294915947 + .long 873339961 + .long 288475783 + .long 2225985729 + .long 294344114 + .long 3207307935 + .long 287849324 + .long 3974693742 + .long 293773072 + .long 3498013316 + .long 287342623 + .long 2259587784 + .long 293166637 + .long 4290976658 + .long 286685183 + .long 3337149527 + .long 292636408 + .long 2213271901 + .long 286168974 + .long 1851363003 + .long 291997682 + .long 4124917910 + .long 285528786 + .long 560601066 + .long 291505590 + .long 237986845 + .long 284973143 + .long 1945873158 + .long 290836745 + .long 4067610106 + .long 284379667 + .long 2407737944 + .long 290304987 + .long 3316441310 + .long 283787287 + .long 383757411 + .long 289683348 + .long 953137458 + .long 283237385 + .long 519332437 + .long 289113260 + .long 1679064961 + .long 282610800 + .long 742221624 + .long 288537036 + .long 257844265 + .long 282101520 + .long 1573086074 + .long 287931244 + .long 2269104533 + .long 281443104 + .long 4045568760 + .long 287397378 + .long 2828508576 + .long 280924983 + .long 733249718 + .long 286758347 + .long 1732603576 + .long 280283654 + .long 533243710 + .long 286263968 + .long 751492636 + .long 279725162 + .long 2457656012 + .long 285594006 + .long 2462407785 + .long 279131933 + .long 293908249 + .long 285060162 + .long 1695364450 + .long 278535921 + .long 2184942539 + .long 284437690 + .long 2984201462 + .long 277987453 + .long 1622545857 + .long 283864623 + .long 3955382588 + .long 277356589 + .long 2485197737 + .long 283288895 + .long 1345834619 + .long 276849753 + .long 3774707117 + .long 282679379 + .long 2328269116 + .long 276186533 + .long 3551722450 + .long 282147145 + .long 1556386510 + .long 275661305 + .long 1055046300 + .long 281503777 + .long 2498081107 + .long 275025153 + .long 504978042 + .long 281005615 + .long 905153602 + .long 274459033 + .long 1999379204 + .long 280337197 + .long 1247619184 + .long 273871885 + .long 1558294877 + .long 279796224 + .long 2806790149 + .long 273267850 + .long 955821656 + .long 279179057 + .long 1220029206 + .long 272726196 + .long 652462241 + .long 278598374 + .long 3699351654 + .long 272087026 + .long 1388515372 + .long 278028806 + .long 105210774 + .long 271587585 + .long 4292462997 + .long 277411308 + .long 2490658546 + .long 270915873 + .long 714581134 + .long 276885926 + .long 2997737018 + .long 270378550 + .long 168678396 + .long 276234317 + .long 350409269 + .long 269753743 + .long 2205526037 + .long 275724368 + .long 383728174 + .long 269175438 + .long 4104412605 + .long 275066727 + .long 786460319 + .long 268600026 + .long 2279249664 + .long 274513793 + .long 4041746960 + .long 267983812 + .long 4201504027 + .long 273907910 + .long 1416847643 + .long 267454150 + .long 1155392763 + .long 273315198 + .long 1943249372 + .long 266802890 + .long 4049930300 + .long 272757272 + .long 2120646630 + .long 266292851 + .long 1974057484 + .long 272127769 + .long 3163030352 + .long 265631933 + .long 1793983883 + .long 271614256 + .long 1340103187 + .long 265077879 + .long 326495793 + .long 270950743 + .long 1483145903 + .long 264470251 + .long 3384178624 + .long 270424067 + .long 513069763 + .long 263875557 + .long 3533636991 + .long 269783401 + .long 3821821156 + .long 263317194 + .long 375127469 + .long 269214020 + .long 774948588 + .long 262684997 + .long 3076091270 + .long 268625072 + .long 3224568612 + .long 262172156 + .long 351806358 + .long 268016264 + .long 3638282913 + .long 261505367 + .long 3252136545 + .long 267475124 + .long 3279049336 + .long 260973711 + .long 3853369566 + .long 266829935 + .long 2216268360 + .long 260335890 + .long 1666423492 + .long 266327629 + .long 1734069409 + .long 259760943 + .long 1443666147 + .long 265654226 + .long 3053244528 + .long 259175836 + .long 3223029848 + .long 265106361 + .long 663590769 + .long 258561012 + .long 3887989150 + .long 264488377 + .long 1243187075 + .long 258024525 + .long 1639283666 + .long 263898530 + .long 3340882771 + .long 257372986 + .long 4142310309 + .long 263331681 + .long 2334955832 + .long 256861519 + .long 860616723 + .long 262703166 + .long 1598961801 + .long 256195997 + .long 4289429876 + .long 262183475 + .long 2472445703 + .long 255638707 + .long 2104076426 + .long 261519363 + .long 3630053367 + .long 255029231 + .long 74767693 + .long 260990858 + .long 1206204297 + .long 254429809 + .long 1250738791 + .long 260346276 + .long 2351903043 + .long 253871932 + .long 156482232 + .long 259773350 + .long 4142523563 + .long 253233789 + .long 4117666020 + .long 259183114 + .long 286726945 + .long 252723393 + .long 1676845100 + .long 258569349 + .long 879244557 + .long 252049685 + .long 3757465672 + .long 258029142 + .long 1478997745 + .long 251507670 + .long 719679831 + .long 257377850 + .long 2746267323 + .long 250876596 + .long 2743390321 + .long 256866226 + .long 3526540658 + .long 250290347 + .long 3813343918 + .long 256197914 + .long 4127070378 + .long 249713687 + .long 4199731742 + .long 255639588 + .long 2963029352 + .long 249086861 + .long 1683728130 + .long 255028670 + .long 476785732 + .long 248560181 + .long 1394306693 + .long 254427485 + .long 3724685680 + .long 247896150 + .long 4008420085 + .long 253869303 + .long 1462004732 + .long 247366769 + .long 61625688 + .long 253228807 + .long 373432641 + .long 246717229 + .long 2000001808 + .long 252719059 + .long 3728039301 + .long 246141700 + .long 196627238 + .long 252042523 + .long 804689884 + .long 245549180 + .long 1048046765 + .long 251496228 + .long 1458719334 + .long 244931396 + .long 993432210 + .long 250867675 + .long 2786008452 + .long 244391153 + .long 3222947377 + .long 250276685 + .long 407537272 + .long 243734697 + .long 2581322502 + .long 249703373 + .long 3189759561 + .long 243215088 + .long 3228239923 + .long 249071462 + .long 2031608793 + .long 242550528 + .long 222461305 + .long 248548792 + .long 1595213611 + .long 241983081 + .long 3948199774 + .long 247879433 + .long 1410205890 + .long 241377894 + .long 1991477966 + .long 247342392 + .long 717980171 + .long 240766721 + .long 2734072913 + .long 246699555 + .long 3662752582 + .long 240215871 + .long 1299198579 + .long 246116199 + .long 1395178790 + .long 239564752 + .long 2805380273 + .long 245530860 + .long 1656284541 + .long 239051885 + .long 82029935 + .long 244905176 + .long 2344762908 + .long 238376012 + .long 170847452 + .long 244372453 + .long 2984020658 + .long 237813864 + .long 1983702315 + .long 243708103 + .long 3104200464 + .long 237199426 + .long 3696965479 + .long 243177374 + .long 2877381452 + .long 236592315 + .long 1702714838 + .long 242523853 + .long 4268840524 + .long 236034000 + .long 337495829 + .long 241945433 + .long 1003165801 + .long 235385887 + .long 1518517027 + .long 241351382 + .long 1321893894 + .long 234876610 + .long 3783968447 + .long 240729453 + .long 2271377001 + .long 234193331 + .long 3604999414 + .long 240189725 + .long 3433799730 + .long 233633606 + .long 838008356 + .long 239528126 + .long 3093619116 + .long 233013496 + .long 3362036394 + .long 239000657 + .long 3425665386 + .long 232407826 + .long 1131620880 + .long 238340239 + .long 1016507599 + .long 231845320 + .long 3983864269 + .long 237763969 + .long 1384233971 + .long 231197827 + .long 2727534395 + .long 237164675 + .long 1865125951 + .long 230687822 + .long 1077630756 + .long 236543966 + .long 1733037954 + .long 230002278 + .long 2523426999 + .long 236000404 + .long 1364025661 + .long 229442057 + .long 480596147 + .long 235339247 + .long 4098448109 + .long 228819954 + .long 3949450093 + .long 234811927 + .long 1594057686 + .long 228213079 + .long 2780357258 + .long 234148522 + .long 705474193 + .long 227649729 + .long 3206536664 + .long 233571580 + .long 150129851 + .long 227000461 + .long 3710529720 + .long 232970604 + .long 3317237252 + .long 226488710 + .long 2768905863 + .long 232348555 + .long 186403974 + .long 225802795 + .long 1020727779 + .long 231804400 + .long 4186632878 + .long 225239166 + .long 972364943 + .long 231141369 + .long 3320522507 + .long 224618787 + .long 2522906548 + .long 230611085 + .long 1217861567 + .long 224008081 + .long 1146887521 + .long 229948657 + .long 3268837539 + .long 223447250 + .long 1203001544 + .long 229368231 + .long 315089493 + .long 222793843 + .long 3726031498 + .long 228769165 + .long 2515846164 + .long 222276073 + .long 3693339671 + .long 228143241 + .long 4048144309 + .long 221594973 + .long 886499685 + .long 227601743 + .long 243352312 + .long 221025089 + .long 1967797029 + .long 226934556 + .long 2780140791 + .long 220410117 + .long 2982519979 + .long 226398247 + .long 1142821299 + .long 219793023 + .long 2266592663 + .long 225740742 + .long 3135719790 + .long 219238030 + .long 598157159 + .long 225154083 + .long 3315054452 + .long 218578192 + .long 251346586 + .long 224560486 + .long 2580019687 + .long 218051339 + .long 1660656734 + .long 223928221 + .long 2009602671 + .long 217379055 + .long 2013172870 + .long 223392582 + .long 3680448101 + .long 216800174 + .long 3137723934 + .long 222719031 + .long 2293078116 + .long 216194199 + .long 1131138533 + .long 222173744 + .long 987580679 + .long 215568273 + .long 2428851175 + .long 221525020 + .long 742439463 + .long 215022333 + .long 4291153995 + .long 220929488 + .long 2572304849 + .long 214353887 + .long 2792715369 + .long 220344820 + .long 751395790 + .long 213815046 + .long 2467223009 + .long 219703861 + .long 3220232494 + .long 213155420 + .long 594495907 + .long 219177181 + .long 1273291149 + .long 212564963 + .long 1557209815 + .long 218495170 + .long 1505310183 + .long 211971413 + .long 2821627703 + .long 217938108 + .long 1794752605 + .long 211334365 + .long 352923681 + .long 217301869 + .long 3485962584 + .long 210800532 + .long 742696539 + .long 216694982 + .long 235733148 + .long 210121452 + .long 517366394 + .long 216122545 + .long 4075032228 + .long 209567925 + .long 3425623922 + .long 215470689 + .long 2162846091 + .long 208924580 + .long 1867666160 + .long 214953737 + .long 610134501 + .long 208320165 + .long 118983967 + .long 214263489 + .long 3728773735 + .long 207742252 + .long 3908045835 + .long 213692061 + .long 3490203689 + .long 207091984 + .long 1145819795 + .long 213071790 + .long 314392945 + .long 206573104 + .long 4271751656 + .long 212451260 + .long 1811709173 + .long 205881542 + .long 1007038937 + .long 211894144 + .long 2516464821 + .long 205310885 + .long 278737865 + .long 211229378 + .long 1036995227 + .long 204687160 + .long 2860351683 + .long 210694684 + .long 2019544351 + .long 204066642 + .long 3151723087 + .long 210024630 + .long 2051777715 + .long 203507311 + .long 3482099907 + .long 209436491 + .long 1880929895 + .long 202841947 + .long 1107144331 + .long 208835396 + .long 4113796999 + .long 202306046 + .long 2782187507 + .long 208199168 + .long 4230901964 + .long 201634927 + .long 324654650 + .long 207660198 + .long 3865564645 + .long 201044979 + .long 3013336404 + .long 206980723 + .long 2025334671 + .long 200443882 + .long 3440165364 + .long 206425914 + .long 880420963 + .long 199805384 + .long 1863068324 + .long 205779346 + .long 1725201808 + .long 199267265 + .long 2496275681 + .long 205172427 + .long 1474738210 + .long 198585177 + .long 3150482796 + .long 204593391 + .long 3317220719 + .long 198026483 + .long 1098158732 + .long 203939669 + .long 2048589230 + .long 197382469 + .long 1251229864 + .long 203418987 + .long 1711255077 + .long 196771382 + .long 3774797738 + .long 202725626 + .long 2545455379 + .long 196195546 + .long 2114221587 + .long 202148656 + .long 3001837404 + .long 195537478 + .long 6183300 + .long 201528474 + .long 135156576 + .long 195010574 + .long 694371655 + .long 200901011 + .long 768267426 + .long 194322681 + .long 1385778830 + .long 200346554 + .long 1714589610 + .long 193739414 + .long 764657913 + .long 199673821 + .long 2513335222 + .long 193125095 + .long 1567457389 + .long 199127293 + .long 1674789839 + .long 192491353 + .long 3757973415 + .long 198465065 + .long 1133663422 + .long 191943007 + .long 2509870768 + .long 197864238 + .long 1791150439 + .long 191264084 + .long 1692389335 + .long 197272915 + .long 4280512258 + .long 190708897 + .long 943848650 + .long 196623466 + .long 1435700475 + .long 190055521 + .long 2549074333 + .long 196095713 + .long 1820959894 + .long 189446276 + .long 2346450942 + .long 195402748 + .long 1799974782 + .long 188863778 + .long 3379769408 + .long 194828788 + .long 3710643665 + .long 188206206 + .long 64184554 + .long 194200071 + .long 559094545 + .long 187679200 + .long 3830973525 + .long 193574054 + .long 3533372027 + .long 186986399 + .long 3727766878 + .long 193013612 + .long 419030960 + .long 186401680 + .long 229060077 + .long 192341066 + .long 2747247866 + .long 185784788 + .long 3546192002 + .long 191794050 + .long 2104193289 + .long 185148540 + .long 439215752 + .long 191127612 + .long 3581175346 + .long 184599508 + .long 2771506517 + .long 190525039 + .long 1496741733 + .long 183917277 + .long 1092035591 + .long 189931698 + .long 2197939951 + .long 183356958 + .long 2927777097 + .long 189279528 + .long 2360965773 + .long 182705633 + .long 507466780 + .long 188751525 + .long 3434132212 + .long 182090545 + .long 2385635145 + .long 188055101 + .long 2564651682 + .long 181511575 + .long 3917794913 + .long 187475836 + .long 2038560995 + .long 180847674 + .long 1662541554 + .long 186849580 + .long 4093633635 + .long 180311472 + .long 443789735 + .long 186217617 + .long 3864375547 + .long 179625887 + .long 1469215734 + .long 185661003 + .long 3463172077 + .long 179031656 + .long 464327642 + .long 184982078 + .long 3788368420 + .long 178422975 + .long 1505826087 + .long 184425832 + .long 2597057661 + .long 177777090 + .long 1511447715 + .long 183766850 + .long 192055595 + .long 177236951 + .long 932229602 + .long 183154787 + .long 3248784503 + .long 176545109 + .long 1136206495 + .long 182569802 + .long 2977151474 + .long 175971286 + .long 3327278139 + .long 181908060 + .long 1159722142 + .long 175333320 + .long 3698336555 + .long 181374386 + .long 573764936 + .long 174705009 + .long 3228467089 + .long 180683083 + .long 1949949141 + .long 174139572 + .long 2746812012 + .long 180090475 + .long 736141494 + .long 173462845 + .long 499734747 + .long 179477548 + .long 387134431 + .long 172908834 + .long 3614112015 + .long 178832553 + .long 2634860161 + .long 172242210 + .long 2805234955 + .long 178289381 + .long 460646957 + .long 171630903 + .long 970969289 + .long 177597845 + .long 655896577 + .long 171040788 + .long 3344539356 + .long 177024105 + .long 1143406828 + .long 170378633 + .long 1101629971 + .long 176383859 + .long 3789010148 + .long 169843689 + .long 1445292126 + .long 175755052 + .long 2532013424 + .long 169149244 + .long 3957894927 + .long 175188362 + .long 1329004457 + .long 168554241 + .long 1552244971 + .long 174510693 + .long 2615188283 + .long 167940247 + .long 1737085116 + .long 173955094 + .long 2825767996 + .long 167292011 + .long 2427795126 + .long 173288350 + .long 955983127 + .long 166749414 + .long 3862954673 + .long 172675047 + .long 2239597278 + .long 166054020 + .long 3777683054 + .long 172085625 + .long 2930881305 + .long 165474494 + .long 3943650763 + .long 171421185 + .long 2500984781 + .long 164837602 + .long 2651071393 + .long 170882858 + .long 598933403 + .long 164202522 + .long 368111638 + .long 170190638 + .long 2563045445 + .long 163640375 + .long 4121479599 + .long 169592034 + .long 1673362824 + .long 162956142 + .long 3631606904 + .long 168980837 + .long 4190318554 + .long 162391142 + .long 1256293901 + .long 168328885 + .long 2285275071 + .long 161732511 + .long 2366652105 + .long 167789491 + .long 2231416995 + .long 161109716 + .long 3596499815 + .long 167090343 + .long 670676453 + .long 160529091 + .long 518561201 + .long 166505517 + .long 4064394133 + .long 159855224 + .long 184343027 + .long 165873673 + .long 2181840701 + .long 159303681 + .long 511439523 + .long 165233364 + .long 358984510 + .long 158624644 + .long 3314939071 + .long 164676429 + .long 2232154676 + .long 158013162 + .long 3091100850 + .long 163987100 + .long 1152119020 + .long 157415278 + .long 2751453101 + .long 163415013 + .long 3621588129 + .long 156750898 + .long 3774677189 + .long 162763816 + .long 3959469698 + .long 156211627 + .long 3940528393 + .long 162134210 + .long 2033790283 + .long 155513685 + .long 154040129 + .long 161560919 + .long 2666402024 + .long 154912449 + .long 1791444217 + .long 160880557 + .long 1792824079 + .long 154298669 + .long 3821245378 + .long 160320065 + .long 2906768183 + .long 153642815 + .long 828792094 + .long 159650970 + .long 1726407750 + .long 153103312 + .long 2910624009 + .long 159031035 + .long 3824245187 + .long 152399340 + .long 1285820000 + .long 158442705 + .long 3218520765 + .long 151807194 + .long 922820039 + .long 157770383 + .long 3980052426 + .long 151179015 + .long 2867106372 + .long 157220243 + .long 3676010488 + .long 150530652 + .long 1701924227 + .long 156534853 + .long 98188203 + .long 149979167 + .long 1202429230 + .long 155923475 + .long 2691841212 + .long 149281339 + .long 4103588477 + .long 155321552 + .long 2980038289 + .long 148697047 + .long 2722798563 + .long 154656272 + .long 2091112305 + .long 148056091 + .long 1100847033 + .long 154115151 + .long 844744152 + .long 147414118 + .long 1807105821 + .long 153415210 + .long 1761494331 + .long 146852101 + .long 2765590726 + .long 152811198 + .long 4130802211 + .long 146159438 + .long 804141595 + .long 152197248 + .long 619112307 + .long 145581696 + .long 3411072592 + .long 151537949 + .long 1819584914 + .long 144929695 + .long 2345623067 + .long 150999688 + .long 659039120 + .long 144292954 + .long 1725536292 + .long 150291812 + .long 2264625774 + .long 143721950 + .long 2168347176 + .long 149693911 + .long 2991782319 + .long 143033427 + .long 267592637 + .long 149069602 + .long 1086293359 + .long 142460870 + .long 1798718589 + .long 148415172 + .long 2732064845 + .long 141799655 + .long 2022911390 + .long 147868497 + .long 2575907818 + .long 141166941 + .long 81583865 + .long 147164461 + .long 617630238 + .long 140588575 + .long 3097896152 + .long 146571360 + .long 1158927451 + .long 139903129 + .long 1311777013 + .long 145938453 + .long 2686879495 + .long 139334346 + .long 1713198687 + .long 145287735 + .long 631639285 + .long 138665831 + .long 1026114153 + .long 144734208 + .long 353896969 + .long 138035903 + .long 1839310320 + .long 144032991 + .long 3894935750 + .long 137451863 + .long 108450414 + .long 143443338 + .long 1674746381 + .long 136768404 + .long 2976259824 + .long 142803670 + .long 2820284440 + .long 136201951 + .long 3629240797 + .long 142155473 + .long 911221048 + .long 135528114 + .long 2487359058 + .long 141596717 + .long 2063786022 + .long 134899705 + .long 3105573419 + .long 140897274 + .long 53305477 + .long 134311735 + .long 592724981 + .long 140309683 + .long 551966461 + .long 133629153 + .long 82845147 + .long 139665155 + .long 612320349 + .long 133063564 + .long 2412831170 + .long 139018265 + .long 4052518220 + .long 132386431 + .long 2861543015 + .long 138455950 + .long 60583993 + .long 131758262 + .long 3758521132 + .long 137757219 + .long 1893680257 + .long 131168137 + .long 797564262 + .long 137170286 + .long 1853175244 + .long 130485316 + .long 2550314170 + .long 136522840 + .long 499148610 + .long 129919117 + .long 3840130402 + .long 135876032 + .long 1778365271 + .long 129240747 + .long 1081724693 + .long 135311862 + .long 2403936347 + .long 128611533 + .long 481411632 + .long 134612775 + .long 3141003024 + .long 128021051 + .long 1564356836 + .long 134025089 + .long 66431906 + .long 127336877 + .long 1018280362 + .long 133376696 + .long 3711217333 + .long 126768598 + .long 3889204834 + .long 132728743 + .long 937813394 + .long 126091060 + .long 1510315410 + .long 132164437 + .long 1053079387 + .long 125459529 + .long 3026116892 + .long 131463928 + .long 1190308037 + .long 124870490 + .long 3513164679 + .long 130874087 + .long 2709540261 + .long 124183859 + .long 3243469103 + .long 130226725 + .long 449276747 + .long 123612053 + .long 3711588442 + .long 129576412 + .long 2058308131 + .long 122937406 + .long 2033455285 + .long 129013691 + .long 1336072769 + .long 122302306 + .long 620069156 + .long 128310709 + .long 592687842 + .long 121716497 + .long 3065163985 + .long 127717329 + .long 2944636332 + .long 121026330 + .long 3786152533 + .long 127072967 + .long 1390868694 + .long 120449578 + .long 109737031 + .long 126419100 + .long 1283844989 + .long 119779858 + .long 1637472787 + .long 125859670 + .long 1036813044 + .long 119139969 + .long 3054383277 + .long 125153184 + .long 1593301454 + .long 118559147 + .long 2181543052 + .long 124554915 + .long 1021679778 + .long 117864397 + .long 2956152467 + .long 123915495 + .long 1213745631 + .long 117281326 + .long 3079832347 + .long 123256910 + .long 2864273411 + .long 116618522 + .long 1719191513 + .long 122702449 + .long 783487711 + .long 115972668 + .long 1873937895 + .long 121991462 + .long 3847158933 + .long 115398545 + .long 1820997326 + .long 121386996 + .long 1628184367 + .long 114698205 + .long 2057730126 + .long 120754415 + .long 3121167837 + .long 114107499 + .long 3194078287 + .long 120089993 + .long 3640407525 + .long 113453539 + .long 1193470200 + .long 119542132 + .long 2932543377 + .long 112800596 + .long 2087718361 + .long 118825686 + .long 3940915700 + .long 112234825 + .long 729408998 + .long 118213772 + .long 176805543 + .long 111527938 + .long 803928007 + .long 117589865 + .long 1497384312 + .long 110928349 + .long 636615452 + .long 116918539 + .long 1210503641 + .long 110285081 + .long 1067673638 + .long 116365763 + .long 3447439749 + .long 109623988 + .long 4287052013 + .long 115656035 + .long 4042922012 + .long 109068146 + .long 4063489675 + .long 115035487 + .long 1178130386 + .long 108353812 + .long 1340349167 + .long 114422012 + .long 276195705 + .long 107744170 + .long 1606230887 + .long 113742775 + .long 196890419 + .long 107113347 + .long 4004137362 + .long 113179305 + .long 2801332084 + .long 106443115 + .long 1791246287 + .long 112482722 + .long 3589190400 + .long 105891208 + .long 3462946558 + .long 111852430 + .long 222492771 + .long 105176076 + .long 1883853505 + .long 111251051 + .long 2930182010 + .long 104555296 + .long 3815164565 + .long 110562965 + .long 3954009221 + .long 103938562 + .long 3891967838 + .long 109987584 + .long 1851360347 + .long 103258281 + .long 1648595565 + .long 109305986 + .long 612719781 + .long 102692886 + .long 1910091384 + .long 108664925 + .long 2867682928 + .long 101995004 + .long 1671708042 + .long 108077201 + .long 232239923 + .long 101362099 + .long 1448433188 + .long 107379405 + .long 565509955 + .long 100760977 + .long 2276593346 + .long 106790996 + .long 211746584 + .long 100069819 + .long 1047983914 + .long 106126094 + .long 3969301701 + .long 99489867 + .long 2143549675 + .long 105473329 + .long 3437228503 + .long 98810896 + .long 291505042 + .long 104900702 + .long 3455597174 + .long 98164976 + .long 1330620322 + .long 104192415 + .long 3542433397 + .long 97580856 + .long 2341543106 + .long 103589971 + .long 1798812806 + .long 96878085 + .long 1049586798 + .long 102943334 + .long 2950300946 + .long 96282630 + .long 1983571200 + .long 102278028 + .long 1376227899 + .long 95624070 + .long 254879262 + .long 101721811 + .long 3203486567 + .long 94964353 + .long 3420790813 + .long 101002339 + .long 1493547741 + .long 94398484 + .long 65199441 + .long 100384969 + .long 2177320475 + .long 93683456 + .long 2125728910 + .long 99758012 + .long 3219882433 + .long 93071674 + .long 1297952362 + .long 99079430 + .long 3977536549 + .long 92434857 + .long 438149418 + .long 98515456 + .long 364892307 + .long 91760672 + .long 1854409600 + .long 97809540 + .long 3522475541 + .long 91202194 + .long 26376419 + .long 97176470 + .long 1067973372 + .long 90486322 + .long 3325551671 + .long 96570448 + .long 2180435784 + .long 89857517 + .long 3877911312 + .long 95877959 + .long 2951818531 + .long 89243602 + .long 1257360845 + .long 95295486 + .long 2295306251 + .long 88554386 + .long 2630910396 + .long 94614391 + .long 1662372089 + .long 87975946 + .long 544439371 + .long 93964971 + .long 1772382723 + .long 87287081 + .long 1112052001 + .long 93380972 + .long 2839365407 + .long 86640686 + .long 1792211469 + .long 92674053 + .long 2506541746 + .long 86050653 + .long 1202694127 + .long 92072418 + .long 1869590935 + .long 85345958 + .long 2505565379 + .long 91417275 + .long 4163049384 + .long 84746992 + .long 210828546 + .long 90750978 + .long 2212445703 + .long 84086136 + .long 1096269292 + .long 90189917 + .long 2279274675 + .long 83421713 + .long 2795290094 + .long 89468152 + .long 494173186 + .long 82856361 + .long 2764997772 + .long 88846835 + .long 4281818755 + .long 82135849 + .long 2483540904 + .long 88218577 + .long 3417278829 + .long 81515943 + .long 544125929 + .long 87534999 + .long 3737605338 + .long 80883888 + .long 94314468 + .long 86963430 + .long 2476214848 + .long 80201126 + .long 2433934939 + .long 86260699 + .long 528982474 + .long 79630370 + .long 3232942101 + .long 85619320 + .long 3231179704 + .long 78924518 + .long 446389104 + .long 85018681 + .long 0 + .long 0 + .long 0 + .long 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1077624320 + .long 0 + .long 1077624320 + .long 0 + .long 1077624320 + .long 0 + .long 1077624320 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 938475520 + .long 0 + .long 938475520 + .long 0 + .long 938475520 + .long 0 + .long 938475520 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1206910976 + .long 0 + .long 1206910976 + .long 0 + .long 1206910976 + .long 0 + .long 1206910976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 0 + .long 4294967295 + .long 0 + .long 4294967295 + .long 0 + .long 4294967295 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_derfc_data_internal,@object + .size __svml_derfc_data_internal,57600 + .space 256, 0x00 + .align 32 + +__derfc_la__imldErfcTab: + .long 0 + .long 3217031168 + .long 2536042781 + .long 1072398983 + .long 1399772821 + .long 1016356498 + .long 2716363190 + .long 3220293167 + .long 2515012741 + .long 3163350672 + .long 2716363190 + .long 1069663791 + .long 2240747611 + .long 1012721291 + .long 3687592758 + .long 1071052114 + .long 803907102 + .long 1011174242 + .long 3448634865 + .long 3216086729 + .long 750050903 + .long 3160740647 + .long 601957364 + .long 3216681894 + .long 1555639211 + .long 3160184931 + .long 1774552010 + .long 1066874090 + .long 3884532135 + .long 1066963544 + .long 3233761315 + .long 3212244609 + .long 1379327181 + .long 3211950387 + .long 242623580 + .long 1062350129 + .long 2275269623 + .long 1061641073 + .long 254615366 + .long 3207068314 + .long 2447494219 + .long 3206114823 + .long 604424981 + .long 1056656877 + .long 50341065 + .long 1055592081 + .long 0 + .long 3218341888 + .long 1599080160 + .long 1071977136 + .long 688395245 + .long 1016124311 + .long 3971924631 + .long 3220201427 + .long 3564228032 + .long 3164632085 + .long 3891163965 + .long 1070888904 + .long 3480798202 + .long 1014571560 + .long 1621928818 + .long 1070698875 + .long 4020082186 + .long 1015153452 + .long 685042962 + .long 3217236647 + .long 3489060295 + .long 3157926645 + .long 2848795668 + .long 3216002128 + .long 3762448119 + .long 3161313806 + .long 1324211555 + .long 1067961974 + .long 1476477459 + .long 1065781932 + .long 2515812913 + .long 3213241000 + .long 3304760842 + .long 3210133507 + .long 716797578 + .long 1063287120 + .long 2283992921 + .long 1058905221 + .long 2268754290 + .long 3207879309 + .long 1012519479 + .long 3199289324 + .long 944669356 + .long 1057318598 + .long 1931303816 + .long 3198859641 + .long 0 + .long 3219390464 + .long 1180573078 + .long 1071127762 + .long 4113175178 + .long 1014965748 + .long 2484292509 + .long 3219680918 + .long 959898156 + .long 3163955503 + .long 957881989 + .long 1071548988 + .long 442195505 + .long 1012747532 + .long 35029730 + .long 1068269829 + .long 976783580 + .long 1012161104 + .long 2319046290 + .long 3217462844 + .long 10747389 + .long 3161497233 + .long 3758081287 + .long 1067192898 + .long 1126055042 + .long 1009745370 + .long 1760060230 + .long 1067789094 + .long 3251266701 + .long 3213655257 + .long 2806967453 + .long 3212534516 + .long 1864685761 + .long 1064158132 + .long 3738348856 + .long 1061687624 + .long 790737257 + .long 3209050005 + .long 1943644508 + .long 3204796481 + .long 2914584687 + .long 1058674792 + .long 2574038108 + .long 3201168805 + .long 1252008665 + .long 3203024355 + .long 0 + .long 3220439040 + .long 866709712 + .long 1068743889 + .long 2877058776 + .long 1013060082 + .long 4210332368 + .long 3217966674 + .long 1459199107 + .long 3162249891 + .long 3688727889 + .long 1070787571 + .long 2792291460 + .long 1012143918 + .long 855534605 + .long 3217387984 + .long 759913640 + .long 3160800900 + .long 2131284961 + .long 1064909442 + .long 2597396527 + .long 1009180630 + .long 989201780 + .long 1067984906 + .long 3318708226 + .long 1008612878 + .long 699280746 + .long 3214266544 + .long 993015799 + .long 3211642955 + .long 1559561232 + .long 1064778208 + .long 680189340 + .long 3209609158 + .long 3200850606 + .long 3209524422 + .long 1492278808 + .long 1059590695 + .long 4108347350 + .long 3205935421 + .long 2186414716 + .long 3206817307 + .long 2803204773 + .long 3204791034 + .long 1021304598 + .long 3200312812 + .long 0 + .long 3220701184 + .long 2395493008 + .long 1067539114 + .long 2347713276 + .long 1010696759 + .long 649597580 + .long 3216929335 + .long 3715599898 + .long 3160841752 + .long 1561014649 + .long 1069995433 + .long 3047088181 + .long 1014230941 + .long 735510274 + .long 3217146528 + .long 1352249772 + .long 3161795800 + .long 1629994682 + .long 1067898281 + .long 867814168 + .long 1012540688 + .long 3242132826 + .long 1066299959 + .long 1473115860 + .long 1010684527 + .long 1350993397 + .long 3214133819 + .long 212467593 + .long 1064529314 + .long 1581296174 + .long 1063476333 + .long 1019617056 + .long 3210475870 + .long 326531339 + .long 1058667915 + .long 2560102974 + .long 1060207995 + .long 1059830545 + .long 3205421344 + .long 73331091 + .long 1053435953 + .long 3519680827 + .long 1056963274 + .long 287235298 + .long 1054771565 + .long 0 + .long 3220701184 + .long 2395492868 + .long 1067539114 + .long 3682704431 + .long 1012674156 + .long 649602216 + .long 3216929335 + .long 3411089016 + .long 3161142609 + .long 1560943486 + .long 1069995433 + .long 373233254 + .long 1014373936 + .long 736848572 + .long 3217146528 + .long 1866442275 + .long 3160326248 + .long 1560943474 + .long 1067898281 + .long 3576330307 + .long 1009307384 + .long 649623715 + .long 1066299959 + .long 725533065 + .long 1006865126 + .long 1925526991 + .long 3214133821 + .long 2782059224 + .long 1064529267 + .long 3902564706 + .long 1063475940 + .long 2706862450 + .long 3210478464 + .long 1817950372 + .long 1058560819 + .long 1279984267 + .long 1060154640 + .long 1456324877 + .long 3205782300 + .long 3219859931 + .long 3203609651 + .long 1354896425 + .long 1055916872 + .long 153053737 + .long 3200605489 + .long 0 + .long 3221487616 + .long 4088869944 + .long 1070267315 + .long 2176293176 + .long 1014815941 + .long 2130816332 + .long 3216181357 + .long 1120272801 + .long 3161227146 + .long 2812844367 + .long 1067026776 + .long 3953643227 + .long 1009444623 + .long 1988706352 + .long 3212862240 + .long 4268394231 + .long 3153580175 + .long 1288160248 + .long 1063531968 + .long 2922427679 + .long 1007764987 + .long 2977979581 + .long 3209169358 + .long 3750808263 + .long 3146919566 + .long 985562119 + .long 1059825827 + .long 2519169024 + .long 3205422455 + .long 68429100 + .long 1055964010 + .long 3577866702 + .long 3201415637 + .long 2564607388 + .long 1051841939 + .long 2939200104 + .long 3197398630 + .long 4218579581 + .long 1046628386 + .long 1377164546 + .long 3194351246 + .long 2324734477 + .long 3191977485 + .long 1839603542 + .long 3190921089 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 2802853043 + .long 1014611496 + .long 1293201774 + .long 3215709870 + .long 754100791 + .long 3160212203 + .long 446218444 + .long 1066419198 + .long 4119686598 + .long 1006799142 + .long 464017249 + .long 3211942150 + .long 960597079 + .long 3156358882 + .long 785622302 + .long 1062472140 + .long 3339954945 + .long 1004756287 + .long 2636124640 + .long 3207937516 + .long 2995891561 + .long 3151978990 + .long 742584182 + .long 1058400057 + .long 2101069570 + .long 3203793489 + .long 2181624698 + .long 1054184935 + .long 880779555 + .long 3199513061 + .long 3229614298 + .long 1049846396 + .long 2776250631 + .long 3195146822 + .long 1726624674 + .long 1045262260 + .long 2932756839 + .long 3191068730 + .long 968482455 + .long 3185858272 + .long 839487434 + .long 3187678475 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 3971839787 + .long 1014611494 + .long 1293201774 + .long 3215709870 + .long 1164040504 + .long 3160193437 + .long 446218443 + .long 1066419198 + .long 752423430 + .long 1011527589 + .long 464016831 + .long 3211942150 + .long 1037460728 + .long 3156747894 + .long 785625671 + .long 1062472140 + .long 2777520670 + .long 1006268542 + .long 2633474472 + .long 3207937516 + .long 224500896 + .long 3152886542 + .long 768707698 + .long 1058400057 + .long 3292721506 + .long 3203793488 + .long 578140564 + .long 1054184941 + .long 2030948072 + .long 3199512840 + .long 703221627 + .long 1049847594 + .long 3302679767 + .long 3195127268 + .long 1902201635 + .long 1045392042 + .long 4048348141 + .long 3190392845 + .long 436255103 + .long 1040232916 + .long 2856127569 + .long 3184071776 + .long 0 + .long 3222536192 + .long 2660514860 + .long 1069307683 + .long 3910050887 + .long 1010798723 + .long 1232972210 + .long 3214268483 + .long 3319476861 + .long 3158923505 + .long 728349866 + .long 1064340728 + .long 2957516014 + .long 1008704767 + .long 2614894425 + .long 3209210817 + .long 3908389506 + .long 3152259798 + .long 2191212410 + .long 1059199474 + .long 2431020086 + .long 1004176268 + .long 3218723210 + .long 3204065928 + .long 3000611168 + .long 3148331645 + .long 3635880648 + .long 1053991881 + .long 536114836 + .long 3198825982 + .long 772319782 + .long 1048710562 + .long 455323837 + .long 3193559883 + .long 2867783196 + .long 1042956501 + .long 2591697711 + .long 3189077475 + .long 3707131585 + .long 3186333629 + .long 1191412344 + .long 3185702904 + .long 26961465 + .long 3183118419 + .long 3399174677 + .long 3180390946 + .long 0 + .long 3222798336 + .long 2223626006 + .long 1069006900 + .long 1459366060 + .long 1012973801 + .long 1839010552 + .long 3213809654 + .long 2068820260 + .long 3157960411 + .long 1249919926 + .long 1063503734 + .long 962503917 + .long 1008341811 + .long 2100991944 + .long 3208188010 + .long 3825857555 + .long 3152436704 + .long 2359368913 + .long 1057973453 + .long 743880428 + .long 1000696453 + .long 1096261871 + .long 3202576593 + .long 3975107283 + .long 3146343950 + .long 3079668469 + .long 1052233933 + .long 1037052812 + .long 3196903291 + .long 3759245614 + .long 1046563275 + .long 3200735738 + .long 3191134566 + .long 4161299971 + .long 1040588242 + .long 2934206128 + .long 3185832303 + .long 3971101203 + .long 3181383944 + .long 353687358 + .long 3181806266 + .long 3047695518 + .long 3179072314 + .long 3851119497 + .long 3176415447 + .long 0 + .long 3222798336 + .long 2223626017 + .long 1069006900 + .long 1388676355 + .long 1012705760 + .long 1839008253 + .long 3213809654 + .long 815236617 + .long 3157985840 + .long 1250030689 + .long 1063503734 + .long 1288166708 + .long 1008687857 + .long 2094505532 + .long 3208188010 + .long 311037013 + .long 3150622756 + .long 2617751546 + .long 1057973453 + .long 2536920761 + .long 1001852867 + .long 1679260317 + .long 3202576592 + .long 3392965897 + .long 3146533070 + .long 1054244789 + .long 1052233952 + .long 3966408696 + .long 3196902988 + .long 1854848819 + .long 1046565172 + .long 3813743082 + .long 3191116219 + .long 395181184 + .long 1040724488 + .long 2456810233 + .long 3185324136 + .long 4089464644 + .long 1034959658 + .long 3698050549 + .long 3179421276 + .long 1112347086 + .long 1028770902 + .long 218099662 + .long 3172341328 + .long 0 + .long 3223584768 + .long 525966855 + .long 1068285571 + .long 2606587153 + .long 1012297682 + .long 2443413391 + .long 3212232028 + .long 691043050 + .long 3155505245 + .long 1829248673 + .long 1061286877 + .long 797308607 + .long 1005505923 + .long 2897861001 + .long 3205246152 + .long 3729653017 + .long 3149452125 + .long 3517114205 + .long 1054211729 + .long 2096268314 + .long 998380425 + .long 733746641 + .long 3198235249 + .long 2776288247 + .long 3140382828 + .long 312049674 + .long 1047087440 + .long 1779010374 + .long 3191506224 + .long 3398525311 + .long 3186731689 + .long 3932053403 + .long 3187022627 + .long 2526572080 + .long 3184920569 + .long 1052531014 + .long 3182813288 + .long 1237705257 + .long 3180144704 + .long 1818683855 + .long 3176978132 + .long 2771211543 + .long 3173092235 + .long 1784201120 + .long 3168173250 + .long 0 + .long 3223846912 + .long 3317774106 + .long 1067973958 + .long 2923167300 + .long 1012645752 + .long 3241173892 + .long 3211773047 + .long 39491139 + .long 3153850211 + .long 285395131 + .long 1060435582 + .long 2541426776 + .long 1004641207 + .long 1226100891 + .long 3204158226 + .long 1495613600 + .long 3148514544 + .long 3870275689 + .long 1052905917 + .long 965710820 + .long 997239553 + .long 3492316846 + .long 3196564768 + .long 2517483548 + .long 3141228873 + .long 1374076994 + .long 1045282573 + .long 372497316 + .long 3189277616 + .long 3813845480 + .long 3182889951 + .long 3900585526 + .long 3184107613 + .long 1960133516 + .long 3181724363 + .long 148017317 + .long 3179453676 + .long 3471465381 + .long 3176493740 + .long 65590178 + .long 3173153987 + .long 3138884841 + .long 3169027321 + .long 2557226666 + .long 3163936824 + .long 0 + .long 3223846912 + .long 3319825997 + .long 1067973958 + .long 153387004 + .long 1010340046 + .long 3027068505 + .long 3211773047 + .long 2440895001 + .long 3155514079 + .long 1195164920 + .long 1060435583 + .long 1739223825 + .long 1004641495 + .long 3681176633 + .long 3204158189 + .long 2468586085 + .long 3147540309 + .long 2873291842 + .long 1052906296 + .long 1357898154 + .long 997866283 + .long 449207067 + .long 3196558994 + .long 1843054170 + .long 3140743497 + .long 1688975421 + .long 1045349298 + .long 2606145257 + .long 3188979869 + .long 2843228885 + .long 1037686975 + .long 3218505005 + .long 3181423668 + .long 2000171025 + .long 1030058339 + .long 2480760959 + .long 3173744926 + .long 1915328357 + .long 1022453358 + .long 619623839 + .long 3166207341 + .long 3877388623 + .long 1013774410 + .long 1403207699 + .long 3159661468 + .long 0 + .long 3223846912 + .long 3319825996 + .long 1067973958 + .long 2025830981 + .long 1009198696 + .long 3027068262 + .long 3211773047 + .long 462574407 + .long 3155728809 + .long 1195152753 + .long 1060435583 + .long 2026642833 + .long 1004181720 + .long 3680441114 + .long 3204158189 + .long 1280116659 + .long 3145464714 + .long 2858263562 + .long 1052906296 + .long 3653419668 + .long 997536747 + .long 8491235 + .long 3196558994 + .long 2006410862 + .long 3136580289 + .long 669193667 + .long 1045349296 + .long 261358851 + .long 3188979851 + .long 3798337047 + .long 1037686738 + .long 3252853818 + .long 3181422499 + .long 2986380320 + .long 1030049333 + .long 2271475836 + .long 3173690708 + .long 4121652893 + .long 1022324142 + .long 1033391529 + .long 3165650219 + .long 472144880 + .long 1013451034 + .long 2996742642 + .long 3155370561 + .long 0 + .long 3224633344 + .long 2310440956 + .long 1067243964 + .long 1910839802 + .long 1011085066 + .long 3231655782 + .long 3210151400 + .long 67697416 + .long 3153290263 + .long 747798972 + .long 1058167193 + .long 3842674820 + .long 1003388992 + .long 2960203073 + .long 3201119999 + .long 2643975567 + .long 3141186059 + .long 3514791177 + .long 1049049654 + .long 3133960405 + .long 992966366 + .long 2900718461 + .long 3192025852 + .long 1762535317 + .long 3135281108 + .long 3933388189 + .long 1040002967 + .long 1623401109 + .long 3182930946 + .long 2243580782 + .long 1030713860 + .long 3113530625 + .long 3174647587 + .long 4278270359 + .long 3170305068 + .long 4152511010 + .long 3168223581 + .long 1448809675 + .long 3164741414 + .long 2046900051 + .long 3160999662 + .long 4134264961 + .long 3156441479 + .long 2742521525 + .long 3151079039 + .long 0 + .long 3224895488 + .long 2295541704 + .long 1066929438 + .long 3837869256 + .long 1002512271 + .long 2403525199 + .long 3209691558 + .long 3057254264 + .long 3148362150 + .long 1273180940 + .long 1057311076 + .long 307148135 + .long 998879167 + .long 4108180605 + .long 3200010451 + .long 867507169 + .long 3142323423 + .long 2406587489 + .long 1047709282 + .long 3600962313 + .long 990271568 + .long 641070000 + .long 3190352150 + .long 942137886 + .long 3134450917 + .long 471088535 + .long 1038120451 + .long 3784803533 + .long 3180746340 + .long 2056014570 + .long 1028171004 + .long 975828111 + .long 3172001834 + .long 3879370210 + .long 3167393385 + .long 2803950026 + .long 3164997994 + .long 606260247 + .long 3161246249 + .long 1881144158 + .long 3157299567 + .long 670638336 + .long 3152383224 + .long 2138776162 + .long 3146794828 + .long 0 + .long 3224895488 + .long 2295580191 + .long 1066929438 + .long 3681200523 + .long 1011869447 + .long 2400932937 + .long 3209691558 + .long 1282261590 + .long 3150983028 + .long 1435460813 + .long 1057311076 + .long 338806164 + .long 1001507127 + .long 2137816334 + .long 3200010450 + .long 2795067653 + .long 3143594954 + .long 4261873090 + .long 1047709301 + .long 3264144757 + .long 991156440 + .long 2173718924 + .long 3190351771 + .long 3810711629 + .long 3134733275 + .long 2446322575 + .long 1038123240 + .long 2077064354 + .long 3180714664 + .long 504970137 + .long 1028450869 + .long 3765139549 + .long 3171097786 + .long 2079001974 + .long 1018773136 + .long 875759584 + .long 3161499808 + .long 4108525622 + .long 1009120883 + .long 4049318739 + .long 3151810362 + .long 3770858801 + .long 999517212 + .long 2722340464 + .long 3142460163 + .long 0 + .long 3224895488 + .long 2295580191 + .long 1066929438 + .long 2149023882 + .long 1011305144 + .long 2400932909 + .long 3209691558 + .long 1064137805 + .long 3152033653 + .long 1435458098 + .long 1057311076 + .long 4263810451 + .long 999199239 + .long 2137652297 + .long 3200010450 + .long 1479816286 + .long 3143273258 + .long 4258425849 + .long 1047709301 + .long 3605385096 + .long 992985426 + .long 2066788283 + .long 3190351771 + .long 3199248296 + .long 3132428041 + .long 1179383574 + .long 1038123240 + .long 140008546 + .long 3180714659 + .long 2930072161 + .long 1028450789 + .long 1129148062 + .long 3171097328 + .long 3175174977 + .long 1018768936 + .long 382350984 + .long 3161484641 + .long 3891461581 + .long 1009036439 + .long 1514607567 + .long 3151457650 + .long 292029317 + .long 998546931 + .long 906505364 + .long 3139710697 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 939524096 + .long 1072704666 + .long 2209988083 + .long 1046076929 + .long 3489660928 + .long 1072716208 + .long 2715237930 + .long 1044950059 + .long 402653184 + .long 1072727877 + .long 36755401 + .long 1042114290 + .long 1744830464 + .long 1072739672 + .long 1032479461 + .long 1045685796 + .long 805306368 + .long 1072751596 + .long 269498903 + .long 1044815501 + .long 3489660928 + .long 1072763649 + .long 2766913307 + .long 1039293264 + .long 2818572288 + .long 1072775834 + .long 2127365126 + .long 1046127799 + .long 939524096 + .long 1072788152 + .long 3950214642 + .long 1045558597 + .long 3892314112 + .long 1072800603 + .long 2850403528 + .long 1045134939 + .long 805306368 + .long 1072813191 + .long 2810207104 + .long 1043762074 + .long 2281701376 + .long 1072825915 + .long 2397289153 + .long 1041802037 + .long 1744830464 + .long 1072838778 + .long 3785033707 + .long 1046074760 + .long 1610612736 + .long 1072851781 + .long 1955981725 + .long 1045924339 + .long 4026531840 + .long 1072864925 + .long 2226165573 + .long 1045725051 + .long 2684354560 + .long 1072878213 + .long 754984053 + .long 1046188044 + .long 134217728 + .long 1072891646 + .long 2842642093 + .long 1044483512 + .long 2952790016 + .long 1072905224 + .long 4200916017 + .long 1044586679 + .long 805306368 + .long 1072918951 + .long 714887508 + .long 1046276775 + .long 805306368 + .long 1072932827 + .long 3685248805 + .long 1045665407 + .long 1207959552 + .long 1072946854 + .long 2295779401 + .long 1045448912 + .long 536870912 + .long 1072961034 + .long 2676240988 + .long 1044345570 + .long 1610612736 + .long 1072975368 + .long 1086643152 + .long 1041785419 + .long 2952790016 + .long 1072989858 + .long 1078920847 + .long 1045890291 + .long 3489660928 + .long 1073004506 + .long 2624917087 + .long 1045747880 + .long 1879048192 + .long 1073019314 + .long 2595540835 + .long 1046115506 + .long 1342177280 + .long 1073034283 + .long 125577743 + .long 1046115646 + .long 805306368 + .long 1073049415 + .long 1771811520 + .long 1046140063 + .long 3623878656 + .long 1073064711 + .long 2774738112 + .long 1045766480 + .long 268435456 + .long 1073080175 + .long 565866387 + .long 1045869701 + .long 2952790016 + .long 1073095806 + .long 1492679939 + .long 1041050306 + .long 2147483648 + .long 1073111608 + .long 612974287 + .long 1044556049 + .long 1610612736 + .long 1073127582 + .long 843197631 + .long 1046084847 + .long 939524096 + .long 1073143730 + .long 3150480267 + .long 1045533800 + .long 3892314112 + .long 1073160053 + .long 2074373662 + .long 1043172334 + .long 1342177280 + .long 1073176555 + .long 587053675 + .long 1046022559 + .long 1879048192 + .long 1073193236 + .long 918464641 + .long 1045387276 + .long 805306368 + .long 1073210099 + .long 2285990923 + .long 1046166841 + .long 2550136832 + .long 1073227145 + .long 682424459 + .long 1043647713 + .long 2550136832 + .long 1073244377 + .long 1678188781 + .long 1045046423 + .long 1073741824 + .long 1073261797 + .long 3671932459 + .long 1044468998 + .long 2550136832 + .long 1073279406 + .long 1656324724 + .long 1043421043 + .long 2952790016 + .long 1073297207 + .long 2659845000 + .long 1042921660 + .long 2550136832 + .long 1073315202 + .long 1043233352 + .long 1046444345 + .long 2147483648 + .long 1073333393 + .long 2162418230 + .long 1044717444 + .long 2013265920 + .long 1073351782 + .long 630511316 + .long 1045098283 + .long 2952790016 + .long 1073370371 + .long 3831108133 + .long 1044508970 + .long 1342177280 + .long 1073389163 + .long 4245662865 + .long 1045817334 + .long 2550136832 + .long 1073408159 + .long 3588780877 + .long 1043705146 + .long 3087007744 + .long 1073427362 + .long 3182425146 + .long 1041483134 + .long 4026531840 + .long 1073446774 + .long 928333188 + .long 1044896498 + .long 2415919104 + .long 1073466398 + .long 2300504125 + .long 1041428596 + .long 3623878656 + .long 1073486235 + .long 1887994668 + .long 1045828938 + .long 671088640 + .long 1073506289 + .long 757630176 + .long 1046044485 + .long 3623878656 + .long 1073526560 + .long 2756972335 + .long 1045675585 + .long 1207959552 + .long 1073547053 + .long 3697834264 + .long 1044397131 + .long 3623878656 + .long 1073567768 + .long 479684631 + .long 1045687954 + .long 0 + .long 1073588710 + .long 730095629 + .long 1045354900 + .long 805306368 + .long 1073609879 + .long 4123739734 + .long 1045159130 + .long 3758096384 + .long 1073631278 + .long 3634164812 + .long 1046359295 + .long 2684354560 + .long 1073652911 + .long 3425467293 + .long 1044718726 + .long 3892314112 + .long 1073674779 + .long 2648473416 + .long 1046054248 + .long 1476395008 + .long 1073696886 + .long 54164518 + .long 1045131818 + .long 2147483648 + .long 1073719233 + .long 2196310654 + .long 1043982605 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1697350398 + .long 1079448903 + .long 0 + .long 862978048 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 0 + .long 0 + .long 1 + .long 1048576 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .long 0 + .long 1073741824 + .long 1105497085 + .long 1077623260 + .long 261899793 + .long 1077588746 + .long 4235085970 + .long 1077578514 + .long 2406803786 + .long 3222762575 + .type __derfc_la__imldErfcTab,@object + .size __derfc_la__imldErfcTab,4864 + .align 16 + +.FLT_191: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_191,@object + .size .FLT_191,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core-avx2.S new file mode 100644 index 0000000000..a21d4bc1ca --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized erfc, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_erfc _ZGVeN8v_erfc_avx2_wrapper +#include "../svml_d_erfc8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core.c new file mode 100644 index 0000000000..214fb5ced2 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized erfc, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_erfc +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_erfc, __GI__ZGVeN8v_erfc, __redirect__ZGVeN8v_erfc) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core_avx512.S new file mode 100644 index 0000000000..175ec7a0cc --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core_avx512.S @@ -0,0 +1,16576 @@ +/* Function erfc vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Approximation formula: + * erfc(x)~erfc(x0)-2/sqrt(pi)*exp(-x0^2)*D*[1+(x0*D)*p1(x0*D)+D^2*p3(x0*D)+D^4*p5(x0*D)+D^6*p7(x0*D)] + * D = x - x0 + * erfc(x0) and 2/sqrt(pi)*exp(-x0^2)/(2*x0) are tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_erfc_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + +/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea __svml_derfc_data_internal(%rip), %rax + +/* + * erfc(27.25) underflows to 0 + * can compute all results in the main path + */ + vmovups 55872+__svml_derfc_data_internal(%rip), %zmm13 + vmovups 56128+__svml_derfc_data_internal(%rip), %zmm7 + vmovups 56000+__svml_derfc_data_internal(%rip), %zmm14 + kxnorw %k0, %k0, %k2 + kxnorw %k0, %k0, %k1 + vmovaps %zmm0, %zmm11 + vandpd 55808+__svml_derfc_data_internal(%rip), %zmm11, %zmm12 + vandpd 55936+__svml_derfc_data_internal(%rip), %zmm11, %zmm3 + vmovups 56064+__svml_derfc_data_internal(%rip), %zmm0 + vminpd {sae}, %zmm13, %zmm12, %zmm6 + +/* Start polynomial evaluation */ + vmovups 56192+__svml_derfc_data_internal(%rip), %zmm12 + vmovups 56320+__svml_derfc_data_internal(%rip), %zmm13 + vaddpd {rn-sae}, %zmm7, %zmm6, %zmm1 + vorpd %zmm3, %zmm14, %zmm15 + vmaxpd {sae}, %zmm0, %zmm6, %zmm2 + vmovups 56256+__svml_derfc_data_internal(%rip), %zmm6 + vpsllq $4, %zmm1, %zmm4 + vsubpd {rn-sae}, %zmm7, %zmm1, %zmm5 + +/* 2.0 if x<0, 0.0 otherwise */ + vsubpd {rn-sae}, %zmm15, %zmm14, %zmm10 + +/* 2^(-128) with sign of input */ + vorpd %zmm3, %zmm0, %zmm7 + vsubpd {rn-sae}, %zmm5, %zmm2, %zmm9 + vmovups 56576+__svml_derfc_data_internal(%rip), %zmm15 + vmovups 56512+__svml_derfc_data_internal(%rip), %zmm3 + vmovups 56448+__svml_derfc_data_internal(%rip), %zmm14 + vmovups 56768+__svml_derfc_data_internal(%rip), %zmm0 + vmovups 56704+__svml_derfc_data_internal(%rip), %zmm1 + vmovups 56640+__svml_derfc_data_internal(%rip), %zmm2 + vmulpd {rn-sae}, %zmm9, %zmm5, %zmm8 + vmovups 56384+__svml_derfc_data_internal(%rip), %zmm5 + vfmadd231pd {rn-sae}, %zmm8, %zmm12, %zmm6 + vfmadd231pd {rn-sae}, %zmm8, %zmm14, %zmm3 + vfmadd231pd {rn-sae}, %zmm8, %zmm13, %zmm5 + vmovups 56832+__svml_derfc_data_internal(%rip), %zmm12 + vmovups 56896+__svml_derfc_data_internal(%rip), %zmm13 + vfmadd213pd {rn-sae}, %zmm15, %zmm8, %zmm6 + vfmadd213pd {rn-sae}, %zmm1, %zmm8, %zmm3 + vfmadd213pd {rn-sae}, %zmm2, %zmm8, %zmm5 + vmovups 57152+__svml_derfc_data_internal(%rip), %zmm14 + +/* P5 = P5 + D2*P07 */ + vmovups 57216+__svml_derfc_data_internal(%rip), %zmm15 + vfmadd213pd {rn-sae}, %zmm0, %zmm8, %zmm6 + vfmadd213pd {rn-sae}, %zmm13, %zmm8, %zmm3 + vfmadd213pd {rn-sae}, %zmm12, %zmm8, %zmm5 + vmovups 57024+__svml_derfc_data_internal(%rip), %zmm12 + vmovups 57088+__svml_derfc_data_internal(%rip), %zmm13 + vfmadd213pd {rn-sae}, %zmm12, %zmm8, %zmm5 + vfmadd213pd {rn-sae}, %zmm14, %zmm8, %zmm5 + vpandq 57536+__svml_derfc_data_internal(%rip), %zmm4, %zmm4 + vpmovqd %zmm4, %ymm0 + vmovups 56960+__svml_derfc_data_internal(%rip), %zmm4 + vfmadd213pd {rn-sae}, %zmm4, %zmm8, %zmm6 + +/* T^2 */ + vmulpd {rn-sae}, %zmm8, %zmm8, %zmm4 + vfmadd213pd {rn-sae}, %zmm13, %zmm8, %zmm6 + vpxord %zmm1, %zmm1, %zmm1 + vgatherdpd 8(%rax,%ymm0), %zmm1{%k2} + vpxord %zmm2, %zmm2, %zmm2 + vgatherdpd (%rax,%ymm0), %zmm2{%k1} + +/* Diff^2 */ + vmulpd {rn-sae}, %zmm9, %zmm9, %zmm0 + vfmadd231pd {rn-sae}, %zmm0, %zmm3, %zmm15 + vmovups 57280+__svml_derfc_data_internal(%rip), %zmm3 + vfmadd213pd {rn-sae}, %zmm15, %zmm8, %zmm5 + vfmadd213pd {rn-sae}, %zmm3, %zmm8, %zmm6 + vmovups 57344+__svml_derfc_data_internal(%rip), %zmm3 + vfmsub213pd {rn-sae}, %zmm8, %zmm0, %zmm5 + vfmadd213pd {rn-sae}, %zmm3, %zmm8, %zmm6 + +/* EXP_X0H *= Diff */ + vmulpd {rn-sae}, %zmm9, %zmm1, %zmm8 + +/* Special arguments (for flags only) */ + vmovups 57408+__svml_derfc_data_internal(%rip), %zmm9 + vfmadd213pd {rn-sae}, %zmm5, %zmm4, %zmm6 + vcmppd $21, {sae}, %zmm9, %zmm11, %k0 + +/* EXP_x0H*Diff*(1+P1) */ + vfmadd213pd {rn-sae}, %zmm8, %zmm8, %zmm6 + kmovw %k0, %edx + +/* erfc(|_VARG1|) = erfc_h(x0) - P1 */ + vsubpd {rn-sae}, %zmm6, %zmm2, %zmm0 + vfmadd213pd {rn-sae}, %zmm10, %zmm7, %zmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + vmovups %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 $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_derfc_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN8v_erfc_skx) + + .align 16,0x90 + +__svml_derfc_cout_rare_internal: + + cfi_startproc + + movq %rdi, %r8 + xorl %eax, %eax + movq %rsi, %r9 + xorl %edi, %edi + movzwl 6(%r8), %edx + andl $32752, %edx + shrl $4, %edx + cmpl $2047, %edx + je .LBL_2_20 + cmpl $953, %edx + jl .LBL_2_17 + movsd (%r8), %xmm1 + movb 7(%r8), %dl + comisd 4856+__derfc_la__imldErfcTab(%rip), %xmm1 + jbe .LBL_2_16 + movsd 4832+__derfc_la__imldErfcTab(%rip), %xmm0 + comisd %xmm1, %xmm0 + jbe .LBL_2_15 + movsd %xmm1, -48(%rsp) + andb $127, %dl + movb %dl, -41(%rsp) + lea __derfc_la__imldErfcTab(%rip), %rcx + movsd -48(%rsp), %xmm10 + movsd 4808+__derfc_la__imldErfcTab(%rip), %xmm2 + movaps %xmm10, %xmm5 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm13 + addsd %xmm10, %xmm2 + mulsd %xmm2, %xmm2 + mulsd %xmm2, %xmm2 + movsd %xmm2, -16(%rsp) + movzwl -10(%rsp), %esi + andl $32752, %esi + shrl $4, %esi + addl $-1023, %esi + imull $23, %esi, %edx + movsd (%rcx,%rdx,8), %xmm3 + lea 22(%rdx), %r10d + addsd %xmm10, %xmm3 + movsd %xmm3, -40(%rsp) + lea 21(%rdx), %r11d + movsd -40(%rsp), %xmm4 + subsd %xmm4, %xmm5 + movsd %xmm5, -32(%rsp) + movsd -40(%rsp), %xmm7 + movsd -32(%rsp), %xmm6 + movsd (%rcx,%r10,8), %xmm5 + lea 20(%rdx), %r10d + addsd %xmm6, %xmm7 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm6 + movsd %xmm7, -24(%rsp) + movsd -32(%rsp), %xmm8 + addsd (%rcx,%rdx,8), %xmm8 + movsd %xmm8, -32(%rsp) + movsd -24(%rsp), %xmm9 + subsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -32(%rsp), %xmm12 + movsd -24(%rsp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -24(%rsp) + movsd -40(%rsp), %xmm2 + mulsd %xmm2, %xmm5 + mulsd %xmm2, %xmm13 + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 19(%rdx), %r11d + movsd -24(%rsp), %xmm1 + movsd %xmm13, -40(%rsp) + movsd -40(%rsp), %xmm14 + addsd (%rcx,%r10,8), %xmm5 + subsd %xmm2, %xmm14 + mulsd %xmm2, %xmm5 + movsd %xmm14, -32(%rsp) + lea 18(%rdx), %r10d + movsd -40(%rsp), %xmm0 + movsd -32(%rsp), %xmm15 + addsd (%rcx,%r11,8), %xmm5 + subsd %xmm15, %xmm0 + mulsd %xmm2, %xmm5 + movsd %xmm0, -40(%rsp) + lea 17(%rdx), %r11d + movsd -40(%rsp), %xmm13 + addsd (%rcx,%r10,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 16(%rdx), %r10d + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 15(%rdx), %r11d + addsd (%rcx,%r10,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 14(%rdx), %r10d + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 13(%rdx), %r11d + addsd (%rcx,%r10,8), %xmm5 + mulsd %xmm2, %xmm5 + lea 11(%rdx), %r10d + movsd (%rcx,%r10,8), %xmm4 + lea 9(%rdx), %r10d + movaps %xmm4, %xmm3 + addsd (%rcx,%r11,8), %xmm5 + mulsd %xmm2, %xmm5 + subsd %xmm13, %xmm2 + movsd %xmm2, -32(%rsp) + lea 12(%rdx), %r11d + movsd -40(%rsp), %xmm0 + addsd %xmm5, %xmm3 + movsd -32(%rsp), %xmm14 + movsd %xmm3, -40(%rsp) + addsd %xmm14, %xmm1 + movsd -40(%rsp), %xmm15 + subsd %xmm15, %xmm4 + addsd %xmm4, %xmm5 + movaps %xmm0, %xmm4 + movsd %xmm5, -32(%rsp) + movsd -40(%rsp), %xmm11 + mulsd %xmm11, %xmm6 + movsd -32(%rsp), %xmm12 + movsd %xmm6, -40(%rsp) + movsd -40(%rsp), %xmm7 + subsd %xmm11, %xmm7 + addsd (%rcx,%r11,8), %xmm12 + movsd %xmm7, -32(%rsp) + lea 10(%rdx), %r11d + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm8 + movsd (%rcx,%r10,8), %xmm7 + lea 7(%rdx), %r10d + subsd %xmm8, %xmm9 + movsd %xmm9, -40(%rsp) + movsd -40(%rsp), %xmm10 + subsd %xmm10, %xmm11 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm10 + movsd %xmm11, -32(%rsp) + movsd -40(%rsp), %xmm2 + movsd -32(%rsp), %xmm3 + movaps %xmm2, %xmm8 + mulsd %xmm1, %xmm2 + addsd %xmm12, %xmm3 + mulsd %xmm0, %xmm8 + mulsd %xmm3, %xmm4 + mulsd %xmm1, %xmm3 + movaps %xmm8, %xmm5 + addsd %xmm2, %xmm3 + addsd %xmm7, %xmm5 + addsd %xmm3, %xmm4 + movsd %xmm4, -40(%rsp) + movsd -40(%rsp), %xmm9 + movsd %xmm5, -40(%rsp) + movaps %xmm0, %xmm5 + movsd -40(%rsp), %xmm6 + subsd %xmm6, %xmm7 + addsd %xmm7, %xmm8 + movsd %xmm8, -32(%rsp) + movsd -40(%rsp), %xmm15 + mulsd %xmm15, %xmm10 + movsd -32(%rsp), %xmm2 + movsd %xmm10, -40(%rsp) + addsd %xmm9, %xmm2 + movsd -40(%rsp), %xmm11 + movaps %xmm0, %xmm9 + movsd (%rcx,%r10,8), %xmm8 + lea 5(%rdx), %r10d + subsd %xmm15, %xmm11 + addsd (%rcx,%r11,8), %xmm2 + movsd %xmm11, -32(%rsp) + lea 8(%rdx), %r11d + movsd -40(%rsp), %xmm13 + movsd -32(%rsp), %xmm12 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm11 + subsd %xmm12, %xmm13 + movsd %xmm13, -40(%rsp) + movsd -40(%rsp), %xmm14 + subsd %xmm14, %xmm15 + movsd %xmm15, -32(%rsp) + movsd -40(%rsp), %xmm3 + movsd -32(%rsp), %xmm4 + mulsd %xmm3, %xmm9 + addsd %xmm2, %xmm4 + mulsd %xmm1, %xmm3 + mulsd %xmm4, %xmm5 + mulsd %xmm1, %xmm4 + movaps %xmm9, %xmm6 + addsd %xmm3, %xmm4 + addsd %xmm8, %xmm6 + addsd %xmm4, %xmm5 + movsd %xmm5, -40(%rsp) + movsd -40(%rsp), %xmm10 + movsd %xmm6, -40(%rsp) + movaps %xmm0, %xmm6 + movsd -40(%rsp), %xmm7 + subsd %xmm7, %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -32(%rsp) + movsd -40(%rsp), %xmm2 + mulsd %xmm2, %xmm11 + movsd -32(%rsp), %xmm3 + movsd %xmm11, -40(%rsp) + addsd %xmm10, %xmm3 + movsd -40(%rsp), %xmm12 + movaps %xmm0, %xmm10 + movsd (%rcx,%r10,8), %xmm9 + lea 3(%rdx), %r10d + subsd %xmm2, %xmm12 + addsd (%rcx,%r11,8), %xmm3 + movsd %xmm12, -32(%rsp) + lea 6(%rdx), %r11d + movsd -40(%rsp), %xmm14 + movsd -32(%rsp), %xmm13 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm12 + subsd %xmm13, %xmm14 + movsd %xmm14, -40(%rsp) + movsd -40(%rsp), %xmm15 + subsd %xmm15, %xmm2 + movsd %xmm2, -32(%rsp) + movsd -40(%rsp), %xmm4 + movsd -32(%rsp), %xmm5 + mulsd %xmm4, %xmm10 + addsd %xmm3, %xmm5 + mulsd %xmm1, %xmm4 + mulsd %xmm5, %xmm6 + mulsd %xmm1, %xmm5 + movaps %xmm10, %xmm7 + addsd %xmm4, %xmm5 + addsd %xmm9, %xmm7 + addsd %xmm5, %xmm6 + movsd %xmm6, -40(%rsp) + movaps %xmm0, %xmm6 + movsd -40(%rsp), %xmm11 + movsd %xmm7, -40(%rsp) + movsd -40(%rsp), %xmm8 + subsd %xmm8, %xmm9 + addsd %xmm9, %xmm10 + movsd (%rcx,%r10,8), %xmm9 + movsd %xmm10, -32(%rsp) + movaps %xmm0, %xmm10 + movsd -40(%rsp), %xmm2 + lea 1(%rdx), %r10d + mulsd %xmm2, %xmm12 + movsd -32(%rsp), %xmm3 + movsd %xmm12, -40(%rsp) + addsd %xmm11, %xmm3 + movsd -40(%rsp), %xmm13 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm12 + subsd %xmm2, %xmm13 + addsd (%rcx,%r11,8), %xmm3 + movsd %xmm13, -32(%rsp) + lea 4(%rdx), %r11d + movsd -40(%rsp), %xmm11 + addl $2, %edx + movsd -32(%rsp), %xmm14 + subsd %xmm14, %xmm11 + movsd %xmm11, -40(%rsp) + movsd -40(%rsp), %xmm15 + subsd %xmm15, %xmm2 + movsd %xmm2, -32(%rsp) + movsd -40(%rsp), %xmm4 + movsd -32(%rsp), %xmm5 + mulsd %xmm4, %xmm10 + addsd %xmm3, %xmm5 + mulsd %xmm1, %xmm4 + mulsd %xmm5, %xmm6 + mulsd %xmm1, %xmm5 + movaps %xmm10, %xmm7 + addsd %xmm4, %xmm5 + addsd %xmm9, %xmm7 + addsd %xmm5, %xmm6 + movsd %xmm6, -40(%rsp) + movaps %xmm0, %xmm6 + movsd -40(%rsp), %xmm11 + movsd %xmm7, -40(%rsp) + movsd -40(%rsp), %xmm8 + subsd %xmm8, %xmm9 + addsd %xmm9, %xmm10 + movsd %xmm10, -32(%rsp) + movsd -40(%rsp), %xmm3 + mulsd %xmm3, %xmm12 + movsd -32(%rsp), %xmm4 + movsd %xmm12, -40(%rsp) + addsd %xmm11, %xmm4 + movsd -40(%rsp), %xmm11 + subsd %xmm3, %xmm11 + addsd (%rcx,%r11,8), %xmm4 + movsd %xmm11, -32(%rsp) + movsd -40(%rsp), %xmm2 + movsd -32(%rsp), %xmm13 + subsd %xmm13, %xmm2 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm14 + subsd %xmm14, %xmm3 + movsd %xmm3, -32(%rsp) + movsd -40(%rsp), %xmm15 + movsd -32(%rsp), %xmm5 + mulsd %xmm15, %xmm6 + addsd %xmm4, %xmm5 + mulsd %xmm5, %xmm0 + mulsd %xmm1, %xmm5 + mulsd %xmm15, %xmm1 + addsd %xmm1, %xmm5 + movaps %xmm6, %xmm1 + addsd %xmm5, %xmm0 + movsd %xmm0, -40(%rsp) + movsd (%rcx,%r10,8), %xmm0 + movsd -40(%rsp), %xmm2 + addsd %xmm0, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm1 + subsd %xmm1, %xmm0 + addsd %xmm0, %xmm6 + movsd %xmm6, -32(%rsp) + movsd -40(%rsp), %xmm1 + movsd -32(%rsp), %xmm4 + movaps %xmm1, %xmm3 + addsd %xmm2, %xmm4 + addsd (%rcx,%rdx,8), %xmm4 + addsd %xmm4, %xmm3 + movsd %xmm3, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm0, %xmm1 + addsd %xmm1, %xmm4 + movsd %xmm4, -32(%rsp) + movsd -40(%rsp), %xmm0 + movsd -32(%rsp), %xmm7 + cmpl $6, %esi + jae .LBL_2_7 + movsd 4808+__derfc_la__imldErfcTab(%rip), %xmm1 + movsd %xmm1, -48(%rsp) + jmp .LBL_2_8 + +.LBL_2_7: + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm8 + mulsd %xmm0, %xmm8 + movsd %xmm8, -40(%rsp) + movsd -40(%rsp), %xmm9 + subsd %xmm0, %xmm9 + movsd %xmm9, -32(%rsp) + movsd -40(%rsp), %xmm11 + movsd -32(%rsp), %xmm10 + movsd 4816+__derfc_la__imldErfcTab(%rip), %xmm9 + subsd %xmm10, %xmm11 + movsd %xmm11, -40(%rsp) + movsd -40(%rsp), %xmm12 + movsd 4760+__derfc_la__imldErfcTab(%rip), %xmm10 + subsd %xmm12, %xmm0 + movsd %xmm0, -32(%rsp) + movsd (%r8), %xmm14 + mulsd 4784+__derfc_la__imldErfcTab(%rip), %xmm14 + movsd -40(%rsp), %xmm6 + movsd -32(%rsp), %xmm13 + movsd %xmm14, -40(%rsp) + addsd %xmm13, %xmm7 + movsd -40(%rsp), %xmm15 + movsd 4744+__derfc_la__imldErfcTab(%rip), %xmm11 + subsd (%r8), %xmm15 + movsd %xmm15, -32(%rsp) + movsd -40(%rsp), %xmm1 + movsd -32(%rsp), %xmm0 + subsd %xmm0, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm3 + movsd (%r8), %xmm2 + subsd %xmm3, %xmm2 + movsd %xmm2, -32(%rsp) + movsd -40(%rsp), %xmm5 + movsd -32(%rsp), %xmm8 + movaps %xmm8, %xmm4 + mulsd %xmm5, %xmm4 + mulsd %xmm5, %xmm5 + mulsd %xmm8, %xmm8 + mulsd %xmm9, %xmm5 + addsd %xmm4, %xmm8 + mulsd %xmm5, %xmm10 + addsd %xmm4, %xmm8 + addsd 4776+__derfc_la__imldErfcTab(%rip), %xmm10 + movsd %xmm8, -40(%rsp) + movsd -40(%rsp), %xmm4 + movsd %xmm10, -56(%rsp) + movsd -56(%rsp), %xmm3 + mulsd %xmm9, %xmm4 + subsd 4776+__derfc_la__imldErfcTab(%rip), %xmm3 + mulsd %xmm3, %xmm11 + xorps .FLT_191(%rip), %xmm3 + subsd %xmm11, %xmm5 + mulsd 4752+__derfc_la__imldErfcTab(%rip), %xmm3 + movaps %xmm5, %xmm12 + movaps %xmm5, %xmm14 + movl -56(%rsp), %edi + movl %edi, %esi + andl $63, %esi + addsd %xmm3, %xmm12 + movsd %xmm12, -40(%rsp) + lea 466(%rsi,%rsi), %r10d + movsd -40(%rsp), %xmm13 + lea 465(%rsi,%rsi), %edx + shrl $6, %edi + subsd %xmm13, %xmm14 + movsd %xmm14, -32(%rsp) + addl $1023, %edi + movsd -40(%rsp), %xmm0 + movl %edi, %r11d + movsd -32(%rsp), %xmm15 + andl $2047, %r11d + shll $4, %r11d + addsd %xmm15, %xmm0 + movsd %xmm0, -24(%rsp) + movsd -32(%rsp), %xmm1 + addsd %xmm1, %xmm3 + movsd %xmm3, -32(%rsp) + movsd -24(%rsp), %xmm2 + subsd %xmm2, %xmm5 + movsd %xmm5, -24(%rsp) + movsd -32(%rsp), %xmm0 + movsd -24(%rsp), %xmm5 + addsd %xmm5, %xmm0 + movsd %xmm0, -24(%rsp) + movsd -40(%rsp), %xmm11 + movaps %xmm11, %xmm1 + movaps %xmm11, %xmm8 + movsd -24(%rsp), %xmm3 + addsd %xmm4, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm2 + movsd 3712+__derfc_la__imldErfcTab(%rip), %xmm0 + subsd %xmm2, %xmm8 + movsd %xmm8, -32(%rsp) + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm5 + addsd %xmm5, %xmm9 + movsd %xmm9, -24(%rsp) + movsd -32(%rsp), %xmm10 + addsd %xmm10, %xmm4 + movsd %xmm4, -32(%rsp) + movsd -24(%rsp), %xmm4 + subsd %xmm4, %xmm11 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm4 + movsd %xmm11, -24(%rsp) + movsd -32(%rsp), %xmm13 + movsd -24(%rsp), %xmm12 + addsd %xmm12, %xmm13 + movsd %xmm13, -24(%rsp) + movsd -40(%rsp), %xmm1 + mulsd %xmm1, %xmm0 + movaps %xmm1, %xmm14 + movsd -24(%rsp), %xmm2 + addsd 3704+__derfc_la__imldErfcTab(%rip), %xmm0 + addsd %xmm2, %xmm3 + mulsd %xmm1, %xmm0 + movsd (%rcx,%rdx,8), %xmm2 + addsd 3696+__derfc_la__imldErfcTab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 3688+__derfc_la__imldErfcTab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 3680+__derfc_la__imldErfcTab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + mulsd %xmm1, %xmm0 + addsd %xmm0, %xmm14 + movsd %xmm14, -32(%rsp) + movsd -32(%rsp), %xmm15 + subsd %xmm15, %xmm0 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm15 + addsd %xmm0, %xmm1 + movsd %xmm1, -24(%rsp) + movsd -32(%rsp), %xmm11 + mulsd %xmm11, %xmm4 + movsd -24(%rsp), %xmm0 + movsd %xmm4, -40(%rsp) + movsd -40(%rsp), %xmm5 + subsd %xmm11, %xmm5 + movsd %xmm5, -32(%rsp) + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm8 + subsd %xmm8, %xmm9 + movsd %xmm9, -40(%rsp) + movsd -40(%rsp), %xmm10 + subsd %xmm10, %xmm11 + movaps %xmm2, %xmm10 + movsd %xmm11, -32(%rsp) + movsd -40(%rsp), %xmm13 + movsd -32(%rsp), %xmm12 + mulsd %xmm13, %xmm10 + addsd %xmm3, %xmm12 + movsd (%rcx,%r10,8), %xmm3 + movaps %xmm10, %xmm4 + movaps %xmm3, %xmm1 + addsd %xmm12, %xmm0 + mulsd %xmm3, %xmm13 + mulsd %xmm0, %xmm1 + mulsd %xmm2, %xmm0 + addsd %xmm10, %xmm2 + addsd %xmm0, %xmm1 + addsd %xmm13, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm1 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm0, %xmm4 + movsd %xmm4, -32(%rsp) + movsd -40(%rsp), %xmm5 + movsd -32(%rsp), %xmm3 + addsd %xmm3, %xmm5 + movsd %xmm5, -24(%rsp) + movsd -32(%rsp), %xmm8 + addsd (%rcx,%rdx,8), %xmm8 + movsd %xmm8, -32(%rsp) + movsd -24(%rsp), %xmm9 + subsd %xmm9, %xmm10 + movsd %xmm10, -24(%rsp) + movsd -32(%rsp), %xmm12 + movsd -24(%rsp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -24(%rsp) + movsd -40(%rsp), %xmm3 + mulsd %xmm3, %xmm15 + movsd -24(%rsp), %xmm14 + movsd %xmm15, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm3, %xmm0 + addsd (%rcx,%r10,8), %xmm14 + movsd %xmm0, -32(%rsp) + addsd %xmm14, %xmm1 + movsd -40(%rsp), %xmm2 + movsd -32(%rsp), %xmm14 + movq 4792+__derfc_la__imldErfcTab(%rip), %rcx + subsd %xmm14, %xmm2 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm15 + movq %rcx, -48(%rsp) + subsd %xmm15, %xmm3 + movsd %xmm3, -32(%rsp) + movsd -40(%rsp), %xmm0 + movsd -32(%rsp), %xmm4 + shrq $48, %rcx + addsd %xmm1, %xmm4 + movaps %xmm0, %xmm1 + andl $-32753, %ecx + mulsd %xmm7, %xmm1 + orl %r11d, %ecx + mulsd %xmm4, %xmm7 + mulsd %xmm6, %xmm4 + mulsd %xmm6, %xmm0 + addsd %xmm4, %xmm7 + movw %cx, -42(%rsp) + addsd %xmm7, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm7 + +.LBL_2_8: + movb 7(%r8), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_19 + movsd (%r8), %xmm2 + movsd 4848+__derfc_la__imldErfcTab(%rip), %xmm1 + comisd %xmm2, %xmm1 + jbe .LBL_2_11 + addsd %xmm0, %xmm7 + mulsd -48(%rsp), %xmm7 + jmp .LBL_2_14 + +.LBL_2_11: + movq 4792+__derfc_la__imldErfcTab(%rip), %rdx + addl $200, %edi + movq %rdx, -48(%rsp) + andl $2047, %edi + shrq $48, %rdx + shll $4, %edi + andl $-32753, %edx + orl %edi, %edx + movw %dx, -42(%rsp) + movsd -48(%rsp), %xmm1 + mulsd %xmm1, %xmm0 + comisd 4840+__derfc_la__imldErfcTab(%rip), %xmm2 + mulsd %xmm1, %xmm7 + jbe .LBL_2_13 + addsd %xmm0, %xmm7 + mulsd 4768+__derfc_la__imldErfcTab(%rip), %xmm7 + movaps %xmm7, %xmm0 + mulsd %xmm7, %xmm0 + movsd %xmm0, -40(%rsp) + movsd -40(%rsp), %xmm1 + addsd %xmm1, %xmm7 + jmp .LBL_2_14 + +.LBL_2_13: + movaps %xmm7, %xmm1 + addsd %xmm0, %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm2 + subsd %xmm2, %xmm0 + addsd %xmm0, %xmm7 + movsd %xmm7, -32(%rsp) + movsd -40(%rsp), %xmm6 + movsd 4784+__derfc_la__imldErfcTab(%rip), %xmm7 + mulsd %xmm6, %xmm7 + movsd -32(%rsp), %xmm10 + movsd %xmm7, -40(%rsp) + movsd -40(%rsp), %xmm0 + subsd %xmm6, %xmm0 + movsd %xmm0, -32(%rsp) + movsd -40(%rsp), %xmm4 + movsd -32(%rsp), %xmm3 + subsd %xmm3, %xmm4 + movsd %xmm4, -40(%rsp) + movsd -40(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -32(%rsp) + movsd -40(%rsp), %xmm8 + movsd -32(%rsp), %xmm9 + mulsd 4768+__derfc_la__imldErfcTab(%rip), %xmm8 + addsd %xmm9, %xmm10 + mulsd 4768+__derfc_la__imldErfcTab(%rip), %xmm10 + movsd %xmm8, -40(%rsp) + movsd %xmm10, -32(%rsp) + movsd -40(%rsp), %xmm7 + movsd -32(%rsp), %xmm11 + addsd %xmm11, %xmm7 + +.LBL_2_14: + movsd %xmm7, (%r9) + ret + +.LBL_2_15: + movsd 4800+__derfc_la__imldErfcTab(%rip), %xmm0 + movl $4, %eax + movaps %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + movsd %xmm1, (%r9) + ret + +.LBL_2_16: + movsd 4800+__derfc_la__imldErfcTab(%rip), %xmm0 + movsd 4824+__derfc_la__imldErfcTab(%rip), %xmm1 + subsd %xmm0, %xmm1 + movsd %xmm1, (%r9) + ret + +.LBL_2_17: + movsd 4808+__derfc_la__imldErfcTab(%rip), %xmm0 + addsd (%r8), %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_19: + movsd -48(%rsp), %xmm1 + mulsd %xmm1, %xmm0 + mulsd %xmm1, %xmm7 + movsd 4824+__derfc_la__imldErfcTab(%rip), %xmm4 + xorps .FLT_191(%rip), %xmm0 + movaps %xmm4, %xmm2 + xorps .FLT_191(%rip), %xmm7 + addsd %xmm0, %xmm2 + movsd %xmm2, -40(%rsp) + movsd -40(%rsp), %xmm3 + subsd %xmm3, %xmm4 + addsd %xmm4, %xmm0 + movsd %xmm0, -32(%rsp) + movsd -40(%rsp), %xmm11 + movaps %xmm11, %xmm0 + movaps %xmm11, %xmm6 + movsd -32(%rsp), %xmm14 + addsd %xmm7, %xmm0 + movsd %xmm0, -40(%rsp) + movsd -40(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -32(%rsp) + movsd -40(%rsp), %xmm9 + movsd -32(%rsp), %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -24(%rsp) + movsd -32(%rsp), %xmm10 + addsd %xmm10, %xmm7 + movsd %xmm7, -32(%rsp) + movsd -24(%rsp), %xmm7 + subsd %xmm7, %xmm11 + movsd %xmm11, -24(%rsp) + movsd -32(%rsp), %xmm13 + movsd -24(%rsp), %xmm12 + addsd %xmm12, %xmm13 + movsd %xmm13, -24(%rsp) + movsd -40(%rsp), %xmm7 + movsd -24(%rsp), %xmm15 + addsd %xmm14, %xmm15 + addsd %xmm15, %xmm7 + jmp .LBL_2_14 + +.LBL_2_20: + testl $1048575, 4(%r8) + jne .LBL_2_22 + cmpl $0, (%r8) + je .LBL_2_23 + +.LBL_2_22: + movsd (%r8), %xmm0 + mulsd %xmm0, %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_23: + movb 7(%r8), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_25 + movq 4792+__derfc_la__imldErfcTab(%rip), %rdx + movq %rdx, (%r9) + ret + +.LBL_2_25: + movq 4824+__derfc_la__imldErfcTab(%rip), %rdx + movq %rdx, (%r9) + ret + + cfi_endproc + + .type __svml_derfc_cout_rare_internal,@function + .size __svml_derfc_cout_rare_internal,.-__svml_derfc_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_derfc_data_internal: + .long 0 + .long 1206910976 + .long 1346542445 + .long 1207045591 + .long 50877363 + .long 1206892489 + .long 427149405 + .long 1207045519 + .long 1203636035 + .long 1206874004 + .long 2077512391 + .long 1207045302 + .long 261641177 + .long 1206855524 + .long 2343319233 + .long 1207044941 + .long 2611097005 + .long 1206837050 + .long 1792097487 + .long 1207044436 + .long 742667950 + .long 1206818586 + .long 1217900872 + .long 1207043787 + .long 17746572 + .long 1206800133 + .long 1640824915 + .long 1207042994 + .long 1485057150 + .long 1206781693 + .long 11417604 + .long 1207042058 + .long 1877139253 + .long 1206763269 + .long 2094822099 + .long 1207040978 + .long 2196778830 + .long 1206744863 + .long 995044552 + .long 1207039756 + .long 3418552468 + .long 1206726477 + .long 2923726463 + .long 1207038391 + .long 2190388828 + .long 1206708114 + .long 1429174619 + .long 1207036885 + .long 3715018521 + .long 1206689775 + .long 3164864724 + .long 1207035237 + .long 271706986 + .long 1206671464 + .long 2118204713 + .long 1207033449 + .long 1277618326 + .long 1206653181 + .long 1083806794 + .long 1207031521 + .long 3219662471 + .long 1206634929 + .long 3071858204 + .long 1207029453 + .long 2536042782 + .long 1206616711 + .long 2716363190 + .long 1207027247 + .long 4202865851 + .long 1206598528 + .long 3453061548 + .long 1207024903 + .long 256011690 + .long 1206580384 + .long 337483221 + .long 1207022423 + .long 4147612174 + .long 1206562278 + .long 1517584741 + .long 1207019806 + .long 3498186200 + .long 1206544215 + .long 2461623467 + .long 1207017054 + .long 3043125272 + .long 1206526196 + .long 3135584772 + .long 1207014168 + .long 3154708737 + .long 1206508223 + .long 3705654820 + .long 1207011149 + .long 4133963693 + .long 1206490298 + .long 240577552 + .long 1207007999 + .long 1912633014 + .long 1206472424 + .long 1888734604 + .long 1207004717 + .long 935057006 + .long 1206454602 + .long 810473775 + .long 1207001306 + .long 1270297458 + .long 1206436834 + .long 2239870849 + .long 1206997766 + .long 2904178738 + .long 1206419122 + .long 3006777612 + .long 1206994099 + .long 1441443784 + .long 1206401469 + .long 123537259 + .long 1206990307 + .long 987830370 + .long 1206383876 + .long 3666566110 + .long 1206986389 + .long 1262396252 + .long 1206366345 + .long 2413196824 + .long 1206982349 + .long 1889767655 + .long 1206348878 + .long 2492870238 + .long 1206978187 + .long 2397476092 + .long 1206331477 + .long 1613725249 + .long 1206973905 + .long 2213352239 + .long 1206314144 + .long 1943804817 + .long 1206969504 + .long 662978241 + .long 1206296881 + .long 1517338984 + .long 1206964986 + .long 1262167059 + .long 1206279689 + .long 2820813657 + .long 1206960352 + .long 3124600979 + .long 1206262570 + .long 4199089955 + .long 1206955604 + .long 959466959 + .long 1206245527 + .long 4146348395 + .long 1206950744 + .long 2249024617 + .long 1206228560 + .long 1301992007 + .long 1206945774 + .long 1476565817 + .long 1206211672 + .long 3036413564 + .long 1206940694 + .long 1599080161 + .long 1206194864 + .long 3971924632 + .long 1206935507 + .long 1160248775 + .long 1206178138 + .long 3158326576 + .long 1206930215 + .long 2878342215 + .long 1206161495 + .long 4068552111 + .long 1206924819 + .long 759350432 + .long 1206144938 + .long 1709348165 + .long 1206919322 + .long 1569920526 + .long 1206128467 + .long 4091643817 + .long 1206913724 + .long 3360691744 + .long 1206112084 + .long 27554567 + .long 1206905083 + .long 4054472522 + .long 1206095791 + .long 4013208754 + .long 1206893499 + .long 1444554589 + .long 1206079590 + .long 2463469560 + .long 1206881728 + .long 1783033956 + .long 1206063481 + .long 3673248531 + .long 1206869772 + .long 2599401014 + .long 1206047466 + .long 3245080601 + .long 1206857636 + .long 1289007805 + .long 1206031547 + .long 1259566555 + .long 1206845324 + .long 3701609164 + .long 1206015724 + .long 2265889960 + .long 1206832839 + .long 2665207076 + .long 1206000000 + .long 2387383118 + .long 1206820186 + .long 3754609922 + .long 1205984375 + .long 2196854969 + .long 1206807369 + .long 3815426410 + .long 1205968851 + .long 2412015218 + .long 1206794392 + .long 3847873048 + .long 1205953429 + .long 3885838402 + .long 1206781259 + .long 415820508 + .long 1205938111 + .long 3301940522 + .long 1206767975 + .long 2825719252 + .long 1205922896 + .long 1754844591 + .long 1206754544 + .long 3060960472 + .long 1205907787 + .long 445338472 + .long 1206740970 + .long 1550887464 + .long 1205892785 + .long 670801289 + .long 1206727257 + .long 2875111473 + .long 1205877890 + .long 3815538169 + .long 1206713409 + .long 2877968408 + .long 1205863104 + .long 2751195712 + .long 1206699432 + .long 3105709255 + .long 1205834456 + .long 3301970792 + .long 1206685329 + .long 1788504625 + .long 1205805325 + .long 2760175517 + .long 1206671105 + .long 1204692060 + .long 1205776417 + .long 2761576465 + .long 1206656764 + .long 460329589 + .long 1205747734 + .long 685940062 + .long 1206642311 + .long 2661596630 + .long 1205719277 + .long 2532463670 + .long 1206627749 + .long 2029504855 + .long 1205691049 + .long 1435524088 + .long 1206613084 + .long 1079526751 + .long 1205663051 + .long 3425128494 + .long 1206598319 + .long 2031566030 + .long 1205635284 + .long 1647826366 + .long 1206583460 + .long 2515039812 + .long 1205607750 + .long 2127303697 + .long 1206568510 + .long 4159005984 + .long 1205580450 + .long 2280417801 + .long 1206553474 + .long 4002563329 + .long 1205553386 + .long 3793057312 + .long 1206538356 + .long 3085261414 + .long 1205526559 + .long 4021258398 + .long 1206523161 + .long 2152747646 + .long 1205499970 + .long 277321282 + .long 1206507894 + .long 1657519127 + .long 1205473620 + .long 2705965375 + .long 1206492557 + .long 1759810314 + .long 1205447510 + .long 4210920931 + .long 1206477156 + .long 2328614758 + .long 1205421641 + .long 1921243050 + .long 1206461696 + .long 2942839070 + .long 1205396014 + .long 1477876472 + .long 1206446180 + .long 2892587204 + .long 1205370630 + .long 4140476189 + .long 1206430612 + .long 1180573078 + .long 1205345490 + .long 2484292510 + .long 1206414998 + .long 818626740 + .long 1205320594 + .long 1866994493 + .long 1206399341 + .long 239422773 + .long 1205295943 + .long 3240926857 + .long 1206383645 + .long 1888199804 + .long 1205271537 + .long 3145379609 + .long 1206367915 + .long 3634730458 + .long 1205247377 + .long 2288940035 + .long 1206352155 + .long 3070310503 + .long 1205223464 + .long 1247094627 + .long 1206336369 + .long 1804862889 + .long 1205199798 + .long 454954036 + .long 1206320561 + .long 1174219619 + .long 1205176379 + .long 200137461 + .long 1206304735 + .long 2242480842 + .long 1205153207 + .long 615820036 + .long 1206288895 + .long 1509513978 + .long 1205130283 + .long 1673946580 + .long 1206273045 + .long 3798426746 + .long 1205107606 + .long 3178614907 + .long 1206257189 + .long 783403865 + .long 1205085178 + .long 464664423 + .long 1206241332 + .long 1057250629 + .long 1205062997 + .long 1571276620 + .long 1206225476 + .long 69490897 + .long 1205041064 + .long 1466080688 + .long 1206209626 + .long 1604166397 + .long 1205019378 + .long 3514079945 + .long 1206193785 + .long 603021279 + .long 1204997940 + .long 2292055455 + .long 1206177958 + .long 348513089 + .long 1204976749 + .long 762892997 + .long 1206162148 + .long 3877105099 + .long 1204955804 + .long 1680293156 + .long 1206146358 + .long 1097673547 + .long 1204935107 + .long 3288637392 + .long 1206130592 + .long 3154634384 + .long 1204914655 + .long 3612978933 + .long 1206114854 + .long 3776702241 + .long 1204894449 + .long 454258010 + .long 1206099148 + .long 755264802 + .long 1204874489 + .long 4269611837 + .long 1206083475 + .long 242958227 + .long 1204854773 + .long 3808238226 + .long 1206067841 + .long 3872440587 + .long 1204835300 + .long 466930684 + .long 1206052249 + .long 170196752 + .long 1204816072 + .long 3991103291 + .long 1206036700 + .long 2135121939 + .long 1204780347 + .long 2406207743 + .long 1206021200 + .long 2204772300 + .long 1204742858 + .long 668823419 + .long 1206005751 + .long 2090555098 + .long 1204705851 + .long 3483369050 + .long 1205990355 + .long 2922214527 + .long 1204669324 + .long 2413978135 + .long 1205975017 + .long 1131089702 + .long 1204633276 + .long 1651276306 + .long 1205959739 + .long 1343136585 + .long 1204597704 + .long 829681671 + .long 1205944524 + .long 3502231534 + .long 1204562606 + .long 3614704403 + .long 1205929374 + .long 2878456041 + .long 1204527981 + .long 520637331 + .long 1205914294 + .long 2961356576 + .long 1204493826 + .long 3268048090 + .long 1205899284 + .long 2583467835 + .long 1204460139 + .long 1832052951 + .long 1205884349 + .long 223766334 + .long 1204426918 + .long 3095161192 + .long 1205869490 + .long 2606146478 + .long 1204394159 + .long 1561666736 + .long 1205847022 + .long 3233174809 + .long 1204361861 + .long 2443607338 + .long 1205817626 + .long 3869560569 + .long 1204330021 + .long 3767899416 + .long 1205788398 + .long 1665925415 + .long 1204298637 + .long 4205206053 + .long 1205759343 + .long 2052408644 + .long 1204267705 + .long 1868283784 + .long 1205730466 + .long 1567527352 + .long 1204237223 + .long 2900434531 + .long 1205701770 + .long 751828015 + .long 1204207188 + .long 4294514068 + .long 1205673260 + .long 4156650932 + .long 1204177596 + .long 2482100151 + .long 1205644941 + .long 3173034702 + .long 1204148446 + .long 1923011912 + .long 1205616816 + .long 1810297448 + .long 1204119734 + .long 2220339163 + .long 1205588889 + .long 3819910772 + .long 1204091456 + .long 2415682179 + .long 1205561164 + .long 4114334111 + .long 1204063610 + .long 989760182 + .long 1205533645 + .long 1660673493 + .long 1204036193 + .long 158317606 + .long 1205506335 + .long 3784388464 + .long 1204009200 + .long 1578420540 + .long 1205479237 + .long 408205713 + .long 1203982630 + .long 2055072070 + .long 1205452355 + .long 2715514954 + .long 1203956477 + .long 2133042299 + .long 1205425692 + .long 209354155 + .long 1203930740 + .long 1804103059 + .long 1205399251 + .long 3670703943 + .long 1203905413 + .long 509530065 + .long 1205373035 + .long 2217394674 + .long 1203880495 + .long 1437865959 + .long 1205347046 + .long 1967346208 + .long 1203855981 + .long 2938068361 + .long 1205321287 + .long 277247869 + .long 1203831868 + .long 2817839853 + .long 1205295761 + .long 2930856690 + .long 1203808151 + .long 2642231032 + .long 1205270470 + .long 2672531088 + .long 1203784828 + .long 3442574974 + .long 1205245416 + .long 1380749029 + .long 1203758542 + .long 1425680479 + .long 1205220602 + .long 364049377 + .long 1203713447 + .long 863146005 + .long 1205196029 + .long 4135711256 + .long 1203669115 + .long 1211113923 + .long 1205171699 + .long 1408210142 + .long 1203625541 + .long 1410130595 + .long 1205147614 + .long 2141520247 + .long 1203582715 + .long 4185235532 + .long 1205123775 + .long 3199245553 + .long 1203540630 + .long 3166402837 + .long 1205100185 + .long 1249220745 + .long 1203499279 + .long 73967522 + .long 1205076845 + .long 1368967964 + .long 1203458653 + .long 429421420 + .long 1205053755 + .long 4176133851 + .long 1203418744 + .long 676472817 + .long 1205030917 + .long 1548671894 + .long 1203379546 + .long 1072100387 + .long 1205008332 + .long 2409600712 + .long 1203341049 + .long 1397920641 + .long 1204986001 + .long 2676986790 + .long 1203303246 + .long 966697529 + .long 1204963925 + .long 2458361401 + .long 1203266129 + .long 2923986376 + .long 1204942104 + .long 1770089909 + .long 1203229690 + .long 1370067789 + .long 1204920540 + .long 551492353 + .long 1203193921 + .long 2841771284 + .long 1204899232 + .long 2973710723 + .long 1203158813 + .long 549802159 + .long 1204878182 + .long 273514778 + .long 1203124360 + .long 155811627 + .long 1204857389 + .long 831519033 + .long 1203090552 + .long 2599921926 + .long 1204836853 + .long 120624626 + .long 1203057382 + .long 4108240803 + .long 1204816575 + .long 2193832135 + .long 1203024841 + .long 990911579 + .long 1204779288 + .long 2517108728 + .long 1202992922 + .long 114935845 + .long 1204739764 + .long 866783228 + .long 1202961617 + .long 4208768690 + .long 1204700754 + .long 1341793209 + .long 1202930917 + .long 2526808836 + .long 1204662260 + .long 3785748732 + .long 1202900814 + .long 743445360 + .long 1204624280 + .long 3798679449 + .long 1202871301 + .long 3789340407 + .long 1204586812 + .long 1338462853 + .long 1202842370 + .long 2982814329 + .long 1204549857 + .long 732062489 + .long 1202814012 + .long 1816057167 + .long 1204513413 + .long 2096574356 + .long 1202786219 + .long 3086740885 + .long 1204477478 + .long 1349949120 + .long 1202758984 + .long 324691238 + .long 1204442052 + .long 3106356116 + .long 1202732298 + .long 3578376465 + .long 1204407131 + .long 2718062803 + .long 1202695637 + .long 776951344 + .long 1204372716 + .long 1930105980 + .long 1202644417 + .long 696731218 + .long 1204338803 + .long 950295171 + .long 1202594249 + .long 2913260122 + .long 1204305390 + .long 1466075545 + .long 1202545117 + .long 2113142428 + .long 1204272476 + .long 1179247391 + .long 1202497006 + .long 995821495 + .long 1204240058 + .long 2413671232 + .long 1202449900 + .long 1700521760 + .long 1204208133 + .long 3542576522 + .long 1202403784 + .long 1528145825 + .long 1204176699 + .long 3300245566 + .long 1202358643 + .long 1548049162 + .long 1204145753 + .long 798204423 + .long 1202314462 + .long 2319876962 + .long 1204115292 + .long 4130823980 + .long 1202271224 + .long 3910320901 + .long 1204085313 + .long 325692601 + .long 1202228917 + .long 1614850098 + .long 1204055814 + .long 2602879339 + .long 1202187523 + .long 3154209172 + .long 1204026790 + .long 3144398209 + .long 1202147029 + .long 2921163421 + .long 1203998239 + .long 3172568008 + .long 1202107420 + .long 3471794055 + .long 1203970157 + .long 78186389 + .long 1202068682 + .long 2656954908 + .long 1203942541 + .long 317998187 + .long 1202030799 + .long 2228455793 + .long 1203915387 + .long 2246886747 + .long 1201993757 + .long 3560224787 + .long 1203888691 + .long 424399652 + .long 1201957543 + .long 3369342261 + .long 1203862450 + .long 2805678425 + .long 1201922141 + .long 2321839820 + .long 1203836660 + .long 687254462 + .long 1201887539 + .long 753451907 + .long 1203811317 + .long 3076865566 + .long 1201853721 + .long 2980148458 + .long 1203786416 + .long 2343311830 + .long 1201820675 + .long 267339392 + .long 1203758662 + .long 4290342208 + .long 1201788386 + .long 483064631 + .long 1203710608 + .long 2395492869 + .long 1201756842 + .long 649602217 + .long 1203663415 + .long 3588065350 + .long 1201726028 + .long 2890701232 + .long 1203617074 + .long 2487035226 + .long 1201695932 + .long 261234300 + .long 1203571578 + .long 1471322937 + .long 1201664985 + .long 2545983092 + .long 1203526916 + .long 1131684659 + .long 1201607584 + .long 1928478288 + .long 1203483081 + .long 1019023119 + .long 1201551540 + .long 3083934340 + .long 1203440063 + .long 3694032235 + .long 1201496827 + .long 1732151351 + .long 1203397854 + .long 45356648 + .long 1201443422 + .long 1844687288 + .long 1203356444 + .long 3659477281 + .long 1201391297 + .long 2786814309 + .long 1203315824 + .long 3585386022 + .long 1201340430 + .long 3638890659 + .long 1203275985 + .long 2997788379 + .long 1201290796 + .long 3222303380 + .long 1203236918 + .long 2024927897 + .long 1201242371 + .long 124941498 + .long 1203198614 + .long 2050458447 + .long 1201195131 + .long 1316127179 + .long 1203161062 + .long 1424608307 + .long 1201149053 + .long 696292715 + .long 1203124254 + .long 4059487722 + .long 1201104113 + .long 595841400 + .long 1203088180 + .long 2253849626 + .long 1201060290 + .long 3208742923 + .long 1203052830 + .long 2466795813 + .long 1201017560 + .long 2025629493 + .long 1203018196 + .long 3846130990 + .long 1200975901 + .long 3331159491 + .long 1202984267 + .long 2525824555 + .long 1200935292 + .long 456233562 + .long 1202951035 + .long 217759517 + .long 1200895711 + .long 3864275015 + .long 1202918488 + .long 4212882670 + .long 1200857135 + .long 2517520227 + .long 1202886619 + .long 1611902917 + .long 1200819546 + .long 2552204883 + .long 1202855417 + .long 2274834387 + .long 1200782921 + .long 1528723567 + .long 1202824873 + .long 165545170 + .long 1200747241 + .long 1335976541 + .long 1202794977 + .long 3415183250 + .long 1200712484 + .long 3915328100 + .long 1202765719 + .long 4255476983 + .long 1200678632 + .long 2689078049 + .long 1202737091 + .long 491076056 + .long 1200645666 + .long 3811402329 + .long 1202701493 + .long 3877912124 + .long 1200607609 + .long 3249658772 + .long 1202646696 + .long 720132827 + .long 1200545101 + .long 4058137866 + .long 1202593100 + .long 3334971130 + .long 1200484248 + .long 2585699919 + .long 1202540687 + .long 304030744 + .long 1200425016 + .long 4081392135 + .long 1202489437 + .long 4198826078 + .long 1200367366 + .long 1250224180 + .long 1202439333 + .long 30057652 + .long 1200311266 + .long 52563989 + .long 1202390355 + .long 1070161017 + .long 1200256678 + .long 2552846462 + .long 1202342484 + .long 1595763285 + .long 1200203569 + .long 2652176382 + .long 1202295703 + .long 2643737761 + .long 1200151905 + .long 3294767379 + .long 1202249993 + .long 3406705443 + .long 1200101653 + .long 3608617230 + .long 1202205336 + .long 1217687217 + .long 1200052781 + .long 3225068209 + .long 1202161714 + .long 123937378 + .long 1200005256 + .long 2302425099 + .long 1202119109 + .long 2280185010 + .long 1199959046 + .long 1548607803 + .long 1202077503 + .long 3636149723 + .long 1199914121 + .long 2242848736 + .long 1202036878 + .long 2508296020 + .long 1199870451 + .long 1961478441 + .long 1201997217 + .long 3855986450 + .long 1199828005 + .long 3187679808 + .long 1201958502 + .long 2082193349 + .long 1199786755 + .long 445484238 + .long 1201920717 + .long 2488339928 + .long 1199746671 + .long 1792596734 + .long 1201883843 + .long 4073887589 + .long 1199707725 + .long 3067683861 + .long 1201847864 + .long 3810239464 + .long 1199669890 + .long 791483465 + .long 1201812764 + .long 914151082 + .long 1199633139 + .long 772076534 + .long 1201778525 + .long 1120675183 + .long 1199597444 + .long 939498435 + .long 1201745131 + .long 3256628770 + .long 1199554615 + .long 4244278389 + .long 1201712565 + .long 3627128881 + .long 1199487296 + .long 1490379385 + .long 1201680813 + .long 2120336144 + .long 1199421937 + .long 2823928994 + .long 1201631618 + .long 1765947554 + .long 1199358488 + .long 1239644147 + .long 1201571268 + .long 1218012185 + .long 1199296901 + .long 1583294687 + .long 1201512448 + .long 3296314225 + .long 1199237128 + .long 183503499 + .long 1201455128 + .long 2052340391 + .long 1199179124 + .long 3539777017 + .long 1201399276 + .long 4194453158 + .long 1199122842 + .long 2569008951 + .long 1201344864 + .long 3267936730 + .long 1199068239 + .long 2685116163 + .long 1201291861 + .long 1079240889 + .long 1199015271 + .long 2337656347 + .long 1201240238 + .long 3350022228 + .long 1198963894 + .long 1613838398 + .long 1201189966 + .long 2485927252 + .long 1198914068 + .long 2249252296 + .long 1201141016 + .long 3294733735 + .long 1198865751 + .long 3342318405 + .long 1201093360 + .long 1459577642 + .long 1198818904 + .long 1362423571 + .long 1201046971 + .long 666651046 + .long 1198773487 + .long 3041711418 + .long 1201001820 + .long 3962900071 + .long 1198729461 + .long 3905919518 + .long 1200957881 + .long 818596788 + .long 1198686791 + .long 1163773073 + .long 1200915128 + .long 1434429043 + .long 1198645438 + .long 2300262366 + .long 1200873533 + .long 2329026599 + .long 1198605367 + .long 3604033067 + .long 1200833071 + .long 3466042262 + .long 1198566543 + .long 3053431638 + .long 1200793717 + .long 3906377289 + .long 1198528932 + .long 316598267 + .long 1200755446 + .long 3510774357 + .long 1198462634 + .long 1045509085 + .long 1200718232 + .long 1105165605 + .long 1198392065 + .long 3989163593 + .long 1200682051 + .long 1258041369 + .long 1198323725 + .long 990720597 + .long 1200646881 + .long 2404431008 + .long 1198257552 + .long 1212065788 + .long 1200605873 + .long 647402463 + .long 1198193486 + .long 363369668 + .long 1200539430 + .long 2538405566 + .long 1198131466 + .long 1763689544 + .long 1200474867 + .long 3498248820 + .long 1198071435 + .long 2478908466 + .long 1200412140 + .long 598237051 + .long 1198013337 + .long 2888078907 + .long 1200351205 + .long 1046813088 + .long 1197957115 + .long 2372613493 + .long 1200292019 + .long 611946541 + .long 1197902716 + .long 3593940430 + .long 1200234539 + .long 698791439 + .long 1197850087 + .long 3884847023 + .long 1200178724 + .long 3953113699 + .long 1197799176 + .long 3819341470 + .long 1200124533 + .long 1275431627 + .long 1197749935 + .long 2896320203 + .long 1200071926 + .long 1785516500 + .long 1197702313 + .long 3811934768 + .long 1200020863 + .long 2658075811 + .long 1197656263 + .long 3845878455 + .long 1199971306 + .long 1908870261 + .long 1197611739 + .long 3426419565 + .long 1199923217 + .long 2591691137 + .long 1197568695 + .long 1809465164 + .long 1199876559 + .long 4111263313 + .long 1197527087 + .long 1346545806 + .long 1199831295 + .long 2126941198 + .long 1197486873 + .long 3161905125 + .long 1199787389 + .long 2684388225 + .long 1197422228 + .long 2828680980 + .long 1199744807 + .long 755438789 + .long 1197347123 + .long 3224098489 + .long 1199703514 + .long 535633520 + .long 1197274559 + .long 1614052134 + .long 1199663477 + .long 145652768 + .long 1197204459 + .long 2506733613 + .long 1199624662 + .long 2164980194 + .long 1197136747 + .long 440778734 + .long 1199587038 + .long 565808634 + .long 1197071351 + .long 2854914290 + .long 1199530200 + .long 2008744273 + .long 1197008198 + .long 2885144677 + .long 1199459524 + .long 4190934916 + .long 1196947219 + .long 2850023781 + .long 1199391043 + .long 4261100768 + .long 1196888347 + .long 1599866748 + .long 1199324698 + .long 2941760987 + .long 1196831516 + .long 3477767080 + .long 1199260430 + .long 63717712 + .long 1196776662 + .long 1069144869 + .long 1199198184 + .long 2987660479 + .long 1196723721 + .long 900163108 + .long 1199137903 + .long 668274663 + .long 1196672635 + .long 1890778166 + .long 1199079533 + .long 2145123221 + .long 1196623343 + .long 3871912933 + .long 1199023021 + .long 2021367351 + .long 1196575789 + .long 3217154659 + .long 1198968316 + .long 1779361725 + .long 1196529917 + .long 1358854176 + .long 1198915367 + .long 1033792901 + .long 1196485673 + .long 418893404 + .long 1198864124 + .long 1672046224 + .long 1196443004 + .long 3134058972 + .long 1198814538 + .long 2518982689 + .long 1196378503 + .long 4191186495 + .long 1198766563 + .long 2958996638 + .long 1196299163 + .long 3036910975 + .long 1198720153 + .long 3086838896 + .long 1196222676 + .long 3802347199 + .long 1198675262 + .long 385722554 + .long 1196148949 + .long 2342760329 + .long 1198631847 + .long 3998563877 + .long 1196077889 + .long 3341957742 + .long 1198589864 + .long 87254148 + .long 1196009411 + .long 3056948772 + .long 1198549272 + .long 3095992768 + .long 1195943426 + .long 4254871605 + .long 1198497692 + .long 3940115181 + .long 1195879853 + .long 2411097017 + .long 1198421828 + .long 4098968059 + .long 1195818611 + .long 1761415536 + .long 1198348506 + .long 2468833901 + .long 1195759622 + .long 3209400075 + .long 1198277650 + .long 3695367177 + .long 1195702809 + .long 2939049396 + .long 1198209187 + .long 740884341 + .long 1195648100 + .long 855986431 + .long 1198143045 + .long 405964292 + .long 1195595422 + .long 439408485 + .long 1198079153 + .long 1611023357 + .long 1195544706 + .long 4870352 + .long 1198017443 + .long 3747250910 + .long 1195495885 + .long 1147781519 + .long 1197957848 + .long 2147205098 + .long 1195448895 + .long 7952899 + .long 1197900304 + .long 739809950 + .long 1195403672 + .long 9969043 + .long 1197844747 + .long 2175065132 + .long 1195343669 + .long 3129779709 + .long 1197791115 + .long 35922275 + .long 1195259928 + .long 1162410711 + .long 1197739350 + .long 289430317 + .long 1195179365 + .long 1350592543 + .long 1197689392 + .long 2130790703 + .long 1195101869 + .long 475017707 + .long 1197641185 + .long 2602609822 + .long 1195027333 + .long 1895560955 + .long 1197594673 + .long 482965402 + .long 1194955653 + .long 2529068952 + .long 1197549803 + .long 182011559 + .long 1194886727 + .long 1303374431 + .long 1197506523 + .long 2762132438 + .long 1194820457 + .long 2340583905 + .long 1197455771 + .long 1261422786 + .long 1194756750 + .long 765339184 + .long 1197375267 + .long 1795238570 + .long 1194695513 + .long 1905645544 + .long 1197297645 + .long 1716245212 + .long 1194636658 + .long 4160263103 + .long 1197222812 + .long 2142276893 + .long 1194580099 + .long 45342386 + .long 1197150679 + .long 3312299510 + .long 1194525753 + .long 1710715325 + .long 1197081155 + .long 4245212051 + .long 1194473540 + .long 2034959285 + .long 1197014156 + .long 2406415709 + .long 1194423383 + .long 148304367 + .long 1196949599 + .long 1971980395 + .long 1194375206 + .long 1189117402 + .long 1196887402 + .long 625531275 + .long 1194328937 + .long 3178906437 + .long 1196827487 + .long 4264776086 + .long 1194240946 + .long 1080654215 + .long 1196769779 + .long 2007514154 + .long 1194155623 + .long 3745546411 + .long 1196714202 + .long 3055785332 + .long 1194073708 + .long 3618581269 + .long 1196660686 + .long 602312935 + .long 1193995076 + .long 2282300494 + .long 1196609161 + .long 1956681550 + .long 1193919603 + .long 1644348923 + .long 1196559559 + .long 2225203411 + .long 1193847172 + .long 3718552903 + .long 1196511814 + .long 954027975 + .long 1193777669 + .long 1819661463 + .long 1196465864 + .long 1605727392 + .long 1193710983 + .long 3652931310 + .long 1196418076 + .long 2459066821 + .long 1193647008 + .long 997716742 + .long 1196332986 + .long 406570096 + .long 1193585642 + .long 611465250 + .long 1196251125 + .long 3354687429 + .long 1193526784 + .long 1268352122 + .long 1196172381 + .long 3981698935 + .long 1193470340 + .long 3774361106 + .long 1196096645 + .long 752474260 + .long 1193416218 + .long 1990048797 + .long 1196023813 + .long 1765353679 + .long 1193364327 + .long 3925276832 + .long 1195953781 + .long 2840991520 + .long 1193314582 + .long 1301510391 + .long 1195886452 + .long 4259927893 + .long 1193254313 + .long 3545772009 + .long 1195821728 + .long 3693588763 + .long 1193162916 + .long 3072231739 + .long 1195759518 + .long 2850284336 + .long 1193075331 + .long 700415168 + .long 1195699732 + .long 2842573630 + .long 1192991409 + .long 1015674294 + .long 1195642282 + .long 1971639083 + .long 1192911007 + .long 3441679162 + .long 1195587084 + .long 3576452809 + .long 1192833986 + .long 1909782298 + .long 1195534058 + .long 2428555655 + .long 1192760214 + .long 1715136991 + .long 1195483124 + .long 1211628099 + .long 1192689562 + .long 2019904798 + .long 1195434206 + .long 1250853282 + .long 1192621906 + .long 4133034056 + .long 1195387230 + .long 1851389544 + .long 1192557127 + .long 938778593 + .long 1195307613 + .long 3950568275 + .long 1192495110 + .long 45480017 + .long 1195221009 + .long 903535184 + .long 1192435746 + .long 316452781 + .long 1195137876 + .long 3646566965 + .long 1192378926 + .long 2721989136 + .long 1195058085 + .long 1453411830 + .long 1192324550 + .long 1032835521 + .long 1194981513 + .long 18175644 + .long 1192272518 + .long 2753065605 + .long 1194908038 + .long 3145779265 + .long 1192214557 + .long 2820848798 + .long 1194837545 + .long 107628912 + .long 1192119307 + .long 271267104 + .long 1194769922 + .long 4107029421 + .long 1192028195 + .long 2026441674 + .long 1194705059 + .long 1087761611 + .long 1191941055 + .long 927900277 + .long 1194642853 + .long 307944566 + .long 1191857722 + .long 1025459971 + .long 1194583202 + .long 3321034596 + .long 1191778039 + .long 4223106765 + .long 1194526008 + .long 3050560266 + .long 1191701857 + .long 1231370686 + .long 1194471179 + .long 72976587 + .long 1191629031 + .long 1185758032 + .long 1194418622 + .long 1748196108 + .long 1191559420 + .long 1146814719 + .long 1194368250 + .long 4197104189 + .long 1191492891 + .long 1416679249 + .long 1194311893 + .long 75049976 + .long 1191429317 + .long 3168049461 + .long 1194219387 + .long 3550708412 + .long 1191368571 + .long 1524549056 + .long 1194130762 + .long 2295341385 + .long 1191310537 + .long 1702683749 + .long 1194045865 + .long 3985535338 + .long 1191255099 + .long 2214749525 + .long 1193964550 + .long 1225120464 + .long 1191202149 + .long 2714889529 + .long 1193886676 + .long 1829070661 + .long 1191120824 + .long 3275007653 + .long 1193812107 + .long 4205814399 + .long 1191024246 + .long 3680105052 + .long 1193740712 + .long 3558283643 + .long 1190932035 + .long 2742671543 + .long 1193672365 + .long 1368291099 + .long 1190844004 + .long 1930731778 + .long 1193606944 + .long 1107333850 + .long 1190759973 + .long 424277854 + .long 1193544332 + .long 2762251023 + .long 1190679770 + .long 3074559673 + .long 1193484415 + .long 1694712362 + .long 1190603231 + .long 2611163775 + .long 1193427086 + .long 423384109 + .long 1190530197 + .long 521028298 + .long 1193372240 + .long 3262935470 + .long 1190460515 + .long 2174524969 + .long 1193319775 + .long 2408777002 + .long 1190394041 + .long 2461272610 + .long 1193259703 + .long 2711150200 + .long 1190330634 + .long 1131027093 + .long 1193163727 + .long 3533190736 + .long 1190270160 + .long 2009173253 + .long 1193071954 + .long 2116497812 + .long 1190212491 + .long 1615100380 + .long 1192984212 + .long 1273385131 + .long 1190157503 + .long 3221825245 + .long 1192900334 + .long 4155053738 + .long 1190076395 + .long 3000825785 + .long 1192820161 + .long 1758878006 + .long 1189976444 + .long 1965540345 + .long 1192743539 + .long 2766645519 + .long 1189881174 + .long 763189321 + .long 1192670320 + .long 1964420580 + .long 1189790378 + .long 3084060488 + .long 1192600361 + .long 1485372834 + .long 1189703856 + .long 1917799745 + .long 1192533527 + .long 767302183 + .long 1189621417 + .long 195668558 + .long 1192469686 + .long 3741266063 + .long 1189542877 + .long 1393620869 + .long 1192408711 + .long 300056427 + .long 1189468063 + .long 160341434 + .long 1192350482 + .long 3649364408 + .long 1189396804 + .long 3034396383 + .long 1192294881 + .long 1806209700 + .long 1189328942 + .long 1940473490 + .long 1192241798 + .long 3631796850 + .long 1189264321 + .long 2791683145 + .long 1192151337 + .long 3303712376 + .long 1189202795 + .long 1284377069 + .long 1192054603 + .long 665026035 + .long 1189144223 + .long 3138430378 + .long 1191962283 + .long 139530854 + .long 1189088469 + .long 3254443766 + .long 1191874188 + .long 2193410757 + .long 1188985624 + .long 3585789915 + .long 1191790135 + .long 2279902137 + .long 1188884626 + .long 3340902607 + .long 1191709949 + .long 3158874884 + .long 1188788523 + .long 2109898645 + .long 1191633462 + .long 111907920 + .long 1188697090 + .long 3029561298 + .long 1191560512 + .long 758714779 + .long 1188610109 + .long 3100733692 + .long 1191490945 + .long 1851518241 + .long 1188527374 + .long 721863346 + .long 1191424613 + .long 494080266 + .long 1188448688 + .long 3257818550 + .long 1191361372 + .long 1128508114 + .long 1188373861 + .long 283247917 + .long 1191301088 + .long 1107855303 + .long 1188302713 + .long 1283760382 + .long 1191243628 + .long 2097105541 + .long 1188235071 + .long 375021366 + .long 1191188868 + .long 55906062 + .long 1188170771 + .long 2365640311 + .long 1191091038 + .long 1045754894 + .long 1188109654 + .long 1902930970 + .long 1190991605 + .long 2730220550 + .long 1188051570 + .long 903220739 + .long 1190896880 + .long 3391824117 + .long 1187956144 + .long 2063855685 + .long 1190806651 + .long 1645250570 + .long 1187851260 + .long 3397372173 + .long 1190720716 + .long 3337124928 + .long 1187751617 + .long 1034711862 + .long 1190638882 + .long 2392623567 + .long 1187656966 + .long 670870767 + .long 1190560962 + .long 2855811992 + .long 1187567067 + .long 3291650888 + .long 1190486778 + .long 3925245147 + .long 1187481692 + .long 3834664178 + .long 1190416161 + .long 2251621597 + .long 1187400624 + .long 2783069783 + .long 1190348948 + .long 2904614083 + .long 1187323654 + .long 625790851 + .long 1190284983 + .long 351319354 + .long 1187250585 + .long 952568083 + .long 1190224116 + .long 2458009216 + .long 1187181226 + .long 707602500 + .long 1190166205 + .long 3023227275 + .long 1187115398 + .long 3920299786 + .long 1190088466 + .long 1623889056 + .long 1187052929 + .long 187138140 + .long 1189983661 + .long 2052401444 + .long 1186993654 + .long 4197216078 + .long 1189883982 + .long 159585894 + .long 1186886803 + .long 3910421342 + .long 1189789193 + .long 2689391899 + .long 1186780106 + .long 2296866372 + .long 1189699065 + .long 1292865093 + .long 1186678903 + .long 2605637707 + .long 1189613379 + .long 4193803455 + .long 1186582921 + .long 2292620388 + .long 1189531927 + .long 1344496405 + .long 1186491904 + .long 4195044292 + .long 1189454509 + .long 648372691 + .long 1186405604 + .long 2000853903 + .long 1189380936 + .long 4154001065 + .long 1186323786 + .long 140279194 + .long 1189311025 + .long 1526017247 + .long 1186246229 + .long 3672993662 + .long 1189244601 + .long 2264105494 + .long 1186172718 + .long 3938617616 + .long 1189181500 + .long 3587237553 + .long 1186103051 + .long 2918251757 + .long 1189121563 + .long 1353891759 + .long 1186037036 + .long 2286364164 + .long 1189044093 + .long 1065238633 + .long 1185974488 + .long 1376975757 + .long 1188935979 + .long 2061560822 + .long 1185891009 + .long 3549789914 + .long 1188833324 + .long 2760845449 + .long 1185778750 + .long 3134081244 + .long 1188735866 + .long 530537277 + .long 1185672427 + .long 3217770792 + .long 1188643353 + .long 1733113451 + .long 1185571737 + .long 544573006 + .long 1188555546 + .long 2585319511 + .long 1185476394 + .long 563778522 + .long 1188472215 + .long 3442371581 + .long 1185386125 + .long 2499998483 + .long 1188393142 + .long 1732588126 + .long 1185300671 + .long 1684473986 + .long 1188318120 + .long 2192143396 + .long 1185219784 + .long 555072738 + .long 1188246950 + .long 1445437161 + .long 1185143230 + .long 2552316963 + .long 1188179442 + .long 2760998619 + .long 1185070785 + .long 1793581277 + .long 1188115417 + .long 848895324 + .long 1185002238 + .long 2882522604 + .long 1188054702 + .long 1119834196 + .long 1184937386 + .long 4263347778 + .long 1187957660 + .long 774695134 + .long 1184861196 + .long 2125306315 + .long 1187848505 + .long 4046999064 + .long 1184745142 + .long 1283904372 + .long 1187745033 + .long 2279487483 + .long 1184635386 + .long 4039517916 + .long 1187646960 + .long 4132486823 + .long 1184531597 + .long 1769278009 + .long 1187554018 + .long 3108170364 + .long 1184433464 + .long 2403362003 + .long 1187465948 + .long 4242912216 + .long 1184340689 + .long 2174681212 + .long 1187382506 + .long 3706766119 + .long 1184252991 + .long 422102777 + .long 1187303459 + .long 2908081209 + .long 1184170102 + .long 1608658464 + .long 1187228584 + .long 1262557489 + .long 1184091768 + .long 255934547 + .long 1187157671 + .long 1980592775 + .long 1184017747 + .long 330542066 + .long 1187090518 + .long 802491272 + .long 1183947811 + .long 359609029 + .long 1187026934 + .long 625767904 + .long 1183881742 + .long 212821653 + .long 1186945442 + .long 959428932 + .long 1183796364 + .long 1771024860 + .long 1186831475 + .long 3583758374 + .long 1183678478 + .long 3323366318 + .long 1186723606 + .long 3753730331 + .long 1183567152 + .long 3333784466 + .long 1186621522 + .long 825237823 + .long 1183462034 + .long 1884899977 + .long 1186524925 + .long 3439782939 + .long 1183362788 + .long 1901768341 + .long 1186433531 + .long 4206366388 + .long 1183269099 + .long 1919585796 + .long 1186347071 + .long 1807556903 + .long 1183180667 + .long 1864802922 + .long 1186265289 + .long 1802395274 + .long 1183097206 + .long 369621280 + .long 1186187942 + .long 413550172 + .long 1183018447 + .long 794742200 + .long 1186114798 + .long 2831089956 + .long 1182944133 + .long 185746157 + .long 1186045638 + .long 3011478645 + .long 1182874023 + .long 4108134519 + .long 1185980252 + .long 2274544279 + .long 1182807887 + .long 1569140952 + .long 1185897433 + .long 240075334 + .long 1182697287 + .long 3808394293 + .long 1185780593 + .long 414659095 + .long 1182579627 + .long 3847034202 + .long 1185670173 + .long 2855208574 + .long 1182468676 + .long 3767465203 + .long 1185565833 + .long 3960422599 + .long 1182364065 + .long 2207887660 + .long 1185467251 + .long 2830795555 + .long 1182265444 + .long 3687336940 + .long 1185374120 + .long 1276516494 + .long 1182172481 + .long 2322652348 + .long 1185286151 + .long 4032875808 + .long 1182084861 + .long 60084372 + .long 1185203068 + .long 1993835701 + .long 1182002289 + .long 3580394494 + .long 1185124608 + .long 2879202050 + .long 1181924482 + .long 4166097879 + .long 1185050525 + .long 1952530496 + .long 1181851175 + .long 654319384 + .long 1184980584 + .long 155636437 + .long 1181782116 + .long 1044918721 + .long 1184914560 + .long 1864553902 + .long 1181688980 + .long 1221590325 + .long 1184813605 + .long 1531556702 + .long 1181566449 + .long 1858992497 + .long 1184695981 + .long 2681229713 + .long 1181451060 + .long 2222963862 + .long 1184584988 + .long 742600436 + .long 1181342411 + .long 4044534932 + .long 1184480265 + .long 3788241131 + .long 1181240119 + .long 4037682077 + .long 1184381471 + .long 1836365516 + .long 1181143826 + .long 2751298525 + .long 1184288282 + .long 823495679 + .long 1181053190 + .long 726747225 + .long 1184200391 + .long 976974817 + .long 1180967889 + .long 3427405224 + .long 1184117506 + .long 1180580245 + .long 1180887619 + .long 572377531 + .long 1184039354 + .long 3552803549 + .long 1180812092 + .long 1471006056 + .long 1183965672 + .long 1047773877 + .long 1180741038 + .long 1796687607 + .long 1183896214 + .long 3512431543 + .long 1180651821 + .long 4103915186 + .long 1183819188 + .long 3700696711 + .long 1180526088 + .long 817191958 + .long 1183695790 + .long 3306321633 + .long 1180407843 + .long 1436794216 + .long 1183579509 + .long 798219638 + .long 1180296654 + .long 2657182346 + .long 1183469949 + .long 3780864915 + .long 1180192111 + .long 2406257951 + .long 1183366735 + .long 1953220459 + .long 1180093831 + .long 3738473273 + .long 1183269511 + .long 483533296 + .long 1180001449 + .long 1777519924 + .long 1183177942 + .long 2116839037 + .long 1179914621 + .long 942680177 + .long 1183091709 + .long 2426322617 + .long 1179833024 + .long 2319192650 + .long 1183010511 + .long 2490757881 + .long 1179756352 + .long 4112632783 + .long 1182934064 + .long 331167207 + .long 1179684317 + .long 2293150261 + .long 1182862100 + .long 3794606312 + .long 1179585291 + .long 10642342 + .long 1182794364 + .long 106597492 + .long 1179458165 + .long 5176375 + .long 1182667502 + .long 2017706439 + .long 1179338769 + .long 2922557803 + .long 1182547524 + .long 3098312590 + .long 1179226648 + .long 2705392296 + .long 1182434638 + .long 1611707565 + .long 1179121372 + .long 359265373 + .long 1182328438 + .long 2925582418 + .long 1179022534 + .long 2889113445 + .long 1182228539 + .long 775722638 + .long 1178929753 + .long 1020973057 + .long 1182134581 + .long 1789898952 + .long 1178842667 + .long 3016231241 + .long 1182046220 + .long 3061909295 + .long 1178760937 + .long 11971917 + .long 1181963135 + .long 70206555 + .long 1178684244 + .long 314571880 + .long 1181885019 + .long 3452019676 + .long 1178612284 + .long 3786258409 + .long 1181811584 + .long 389782096 + .long 1178490128 + .long 131461034 + .long 1181739969 + .long 1933280941 + .long 1178363476 + .long 2699979079 + .long 1181610226 + .long 3545561476 + .long 1178244686 + .long 411815652 + .long 1181488306 + .long 3327242340 + .long 1178133284 + .long 1157099645 + .long 1181373750 + .long 2636036737 + .long 1178028823 + .long 3456465376 + .long 1181266127 + .long 3641118101 + .long 1177930882 + .long 3319603447 + .long 1181165031 + .long 2949286685 + .long 1177839066 + .long 1417286464 + .long 1181070078 + .long 2758669454 + .long 1177753002 + .long 1961438867 + .long 1180980905 + .long 867089359 + .long 1177672340 + .long 3278475384 + .long 1180897171 + .long 2467520448 + .long 1177596749 + .long 1536658680 + .long 1180818555 + .long 54281420 + .long 1177500993 + .long 3319082773 + .long 1180744752 + .long 1382599979 + .long 1177368274 + .long 3864661119 + .long 1180654379 + .long 531749116 + .long 1177243946 + .long 2380952407 + .long 1180524346 + .long 801438741 + .long 1177127492 + .long 1526944091 + .long 1180402321 + .long 482793272 + .long 1177018427 + .long 2121831560 + .long 1180287825 + .long 2382433162 + .long 1176916294 + .long 3741717358 + .long 1180180407 + .long 2298486148 + .long 1176820665 + .long 2372148486 + .long 1180079643 + .long 3670337717 + .long 1176731136 + .long 1301376174 + .long 1179985132 + .long 2545879962 + .long 1176647329 + .long 876419281 + .long 1179896497 + .long 2975243646 + .long 1176568887 + .long 1464367617 + .long 1179813383 + .long 1068970556 + .long 1176488681 + .long 2422592759 + .long 1179735456 + .long 1065447314 + .long 1176351292 + .long 1357171196 + .long 1179662402 + .long 36443348 + .long 1176222746 + .long 194145400 + .long 1179539849 + .long 277541600 + .long 1176102488 + .long 380152291 + .long 1179411489 + .long 3191931911 + .long 1175989997 + .long 1583684278 + .long 1179291200 + .long 716578025 + .long 1175884786 + .long 2165635186 + .long 1179178489 + .long 1597399547 + .long 1175786394 + .long 1516692231 + .long 1179072892 + .long 2292298793 + .long 1175694391 + .long 1455793348 + .long 1178973972 + .long 1260833614 + .long 1175608373 + .long 3729863063 + .long 1178881318 + .long 781854479 + .long 1175527960 + .long 3593934135 + .long 1178794545 + .long 1142478096 + .long 1175451896 + .long 926645059 + .long 1178713290 + .long 715936744 + .long 1175311398 + .long 3092460447 + .long 1178637210 + .long 1321299109 + .long 1175180103 + .long 410724451 + .long 1178532549 + .long 3490196338 + .long 1175057423 + .long 1647694055 + .long 1178399208 + .long 1489257357 + .long 1174942808 + .long 2719124395 + .long 1178274408 + .long 3916138161 + .long 1174835739 + .long 1706837060 + .long 1178157617 + .long 3308714279 + .long 1174735733 + .long 1950214717 + .long 1178048334 + .long 2110514297 + .long 1174642335 + .long 3939307600 + .long 1177946089 + .long 473688087 + .long 1174555119 + .long 1960757033 + .long 1177850442 + .long 1706251155 + .long 1174473685 + .long 2651595104 + .long 1177760977 + .long 1955087026 + .long 1174390200 + .long 1012882634 + .long 1177677306 + .long 413369922 + .long 1174248266 + .long 4055189249 + .long 1177599062 + .long 3731706443 + .long 1174115790 + .long 2246068185 + .long 1177500961 + .long 2006983205 + .long 1173992159 + .long 2274647687 + .long 1177364171 + .long 2472447546 + .long 1173876795 + .long 2890637209 + .long 1177236303 + .long 2005028622 + .long 1173769159 + .long 4153511196 + .long 1177116790 + .long 3197815683 + .long 1173668745 + .long 1929129059 + .long 1177005101 + .long 947775372 + .long 1173575081 + .long 357577118 + .long 1176900736 + .long 3949709160 + .long 1173487722 + .long 3367143719 + .long 1176803226 + .long 870490998 + .long 1173406256 + .long 2385315144 + .long 1176712134 + .long 45440291 + .long 1173304042 + .long 3169025495 + .long 1176627047 + .long 1551306586 + .long 1173162396 + .long 1533871520 + .long 1176547580 + .long 3806958645 + .long 1173030351 + .long 599006589 + .long 1176444469 + .long 3497279433 + .long 1172907272 + .long 1711861758 + .long 1176305886 + .long 1827774364 + .long 1172792564 + .long 3081973787 + .long 1176176504 + .long 2036488705 + .long 1172685670 + .long 1321268943 + .long 1176055728 + .long 3286450343 + .long 1172586070 + .long 3969874170 + .long 1175942998 + .long 3783692801 + .long 1172493278 + .long 2452445702 + .long 1175837793 + .long 198374548 + .long 1172406840 + .long 1452932973 + .long 1175739622 + .long 533423249 + .long 1172326329 + .long 1595251056 + .long 1175648026 + .long 2030330049 + .long 1172194729 + .long 4117849423 + .long 1175562575 + .long 4272727904 + .long 1172055086 + .long 3152677356 + .long 1175482868 + .long 3089904078 + .long 1171925068 + .long 4175288180 + .long 1175363359 + .long 515373043 + .long 1171804026 + .long 597820103 + .long 1175224706 + .long 1395054556 + .long 1171691353 + .long 3535028301 + .long 1175095419 + .long 1649711857 + .long 1171586484 + .long 918940523 + .long 1174974883 + .long 3038000808 + .long 1171488890 + .long 857999498 + .long 1174862518 + .long 2836431768 + .long 1171398078 + .long 3808560570 + .long 1174757783 + .long 1344394901 + .long 1171313587 + .long 1160780690 + .long 1174660174 + .long 2810694683 + .long 1171210580 + .long 201215039 + .long 1174569216 + .long 4109673103 + .long 1171064355 + .long 2402111668 + .long 1174484466 + .long 2586191376 + .long 1170928358 + .long 3723319669 + .long 1174405511 + .long 3014296227 + .long 1170801888 + .long 3725520897 + .long 1174258809 + .long 663724814 + .long 1170684293 + .long 3671313057 + .long 1174121807 + .long 2561640409 + .long 1170574962 + .long 1053981368 + .long 1173994221 + .long 2340316358 + .long 1170473328 + .long 3460466107 + .long 1173875417 + .long 3108942861 + .long 1170378860 + .long 3035482254 + .long 1173764806 + .long 2402145891 + .long 1170291064 + .long 3802544396 + .long 1173661835 + .long 2874092153 + .long 1170208141 + .long 2441474464 + .long 1173565989 + .long 4258279491 + .long 1170056530 + .long 4084805700 + .long 1173476785 + .long 833974710 + .long 1169915679 + .long 79094155 + .long 1173393775 + .long 3255926329 + .long 1169784838 + .long 31353126 + .long 1173276529 + .long 4030403675 + .long 1169663312 + .long 4063319008 + .long 1173132811 + .long 1714182497 + .long 1169550452 + .long 264658679 + .long 1172999122 + .long 276967466 + .long 1169445652 + .long 1173126429 + .long 1172874775 + .long 748587968 + .long 1169348348 + .long 242573921 + .long 1172759133 + .long 2275859517 + .long 1169258015 + .long 2098620107 + .long 1172651599 + .long 3947546789 + .long 1169174164 + .long 2055068430 + .long 1172551618 + .long 1792997418 + .long 1169030441 + .long 741519124 + .long 1172458671 + .long 806491627 + .long 1168885997 + .long 2256555279 + .long 1172372273 + .long 4247523093 + .long 1168751966 + .long 196354007 + .long 1172275980 + .long 766694565 + .long 1168627615 + .long 445761606 + .long 1172126735 + .long 4113121030 + .long 1168512256 + .long 3476364679 + .long 1171988058 + .long 4031640534 + .long 1168405254 + .long 3529100902 + .long 1171859218 + .long 4029823784 + .long 1168306015 + .long 1621116022 + .long 1171739532 + .long 4218720589 + .long 1168213987 + .long 78936185 + .long 1171628363 + .long 2183506278 + .long 1168128657 + .long 2269474636 + .long 1171525117 + .long 2183914720 + .long 1167985429 + .long 292731349 + .long 1171429243 + .long 2734387574 + .long 1167838758 + .long 2122912913 + .long 1171340224 + .long 3292906438 + .long 1167702811 + .long 3023046673 + .long 1171255771 + .long 781869437 + .long 1167576820 + .long 254831576 + .long 1171102344 + .long 503990627 + .long 1167460069 + .long 571168224 + .long 1170959941 + .long 243539321 + .long 1167351894 + .long 871548122 + .long 1170827787 + .long 1201933016 + .long 1167251677 + .long 3924370604 + .long 1170705159 + .long 2748594495 + .long 1167158844 + .long 2976320978 + .long 1170591386 + .long 2396890235 + .long 1167072862 + .long 1728080816 + .long 1170485841 + .long 1888516121 + .long 1166921382 + .long 892927807 + .long 1170387941 + .long 3964174701 + .long 1166773915 + .long 2817804388 + .long 1170297143 + .long 2854001717 + .long 1166637381 + .long 4045759389 + .long 1170212943 + .long 2766606459 + .long 1166510984 + .long 3073449671 + .long 1170058928 + .long 2090363746 + .long 1166393986 + .long 3519286355 + .long 1169914167 + .long 2204217598 + .long 1166285701 + .long 794405638 + .long 1169779976 + .long 263295257 + .long 1166185493 + .long 2678131373 + .long 1169655597 + .long 242428636 + .long 1166092770 + .long 3816540112 + .long 1169540328 + .long 2727400502 + .long 1165997455 + .long 234134080 + .long 1169433516 + .long 696359878 + .long 1165838738 + .long 587911812 + .long 1169334551 + .long 1973385017 + .long 1165691930 + .long 4031748504 + .long 1169242868 + .long 1812419718 + .long 1165556155 + .long 925164896 + .long 1169153648 + .long 1148410923 + .long 1165430599 + .long 3358488129 + .long 1168996336 + .long 259979490 + .long 1165314507 + .long 638703581 + .long 1168850656 + .long 2350003425 + .long 1165207178 + .long 807654845 + .long 1168715763 + .long 1184795532 + .long 1165107964 + .long 2657744191 + .long 1168590874 + .long 4247843293 + .long 1165016261 + .long 3663858009 + .long 1168475262 + .long 2271316347 + .long 1164895090 + .long 533492925 + .long 1168368252 + .long 3353590471 + .long 1164738464 + .long 3770229724 + .long 1168269214 + .long 3943901780 + .long 1164593750 + .long 1751462400 + .long 1168177568 + .long 1396091040 + .long 1164460059 + .long 1904247472 + .long 1168071879 + .long 2384681153 + .long 1164336565 + .long 1030368421 + .long 1167914981 + .long 2817162449 + .long 1164222505 + .long 4079129458 + .long 1167769845 + .long 3516273009 + .long 1164117171 + .long 1682458602 + .long 1167635608 + .long 1446042707 + .long 1164019908 + .long 3167377884 + .long 1167511465 + .long 3636013109 + .long 1163930107 + .long 491770573 + .long 1167396673 + .long 2884841244 + .long 1163775055 + .long 2200416094 + .long 1167290539 + .long 3409136254 + .long 1163622014 + .long 4169952110 + .long 1167192423 + .long 1812984479 + .long 1163480768 + .long 140330391 + .long 1167101732 + .long 2119697363 + .long 1163350423 + .long 3783382554 + .long 1166970736 + .long 1344616485 + .long 1163230153 + .long 551761884 + .long 1166815820 + .long 3088492671 + .long 1163119192 + .long 359970126 + .long 1166672678 + .long 2547146878 + .long 1163016833 + .long 1021270101 + .long 1166540432 + .long 2963710319 + .long 1162922420 + .long 1490695248 + .long 1166418268 + .long 2300390323 + .long 1162799911 + .long 3568738246 + .long 1166305431 + .long 4236544102 + .long 1162639323 + .long 2104695675 + .long 1166201223 + .long 917369211 + .long 1162491257 + .long 2259752215 + .long 1166104995 + .long 2811831636 + .long 1162354751 + .long 2928907214 + .long 1166015783 + .long 4117432924 + .long 1162228919 + .long 825285899 + .long 1165851737 + .long 2816910846 + .long 1162112941 + .long 130522063 + .long 1165700310 + .long 915429227 + .long 1162006058 + .long 3544208977 + .long 1165560548 + .long 1921050319 + .long 1161907568 + .long 3709295074 + .long 1165431570 + .long 2329064090 + .long 1161811440 + .long 4124611741 + .long 1165312558 + .long 2138511543 + .long 1161644245 + .long 2968308055 + .long 1165202756 + .long 3769488760 + .long 1161490236 + .long 4148065245 + .long 1165101463 + .long 16333256 + .long 1161348392 + .long 3937194615 + .long 1165008032 + .long 509067163 + .long 1161217766 + .long 693670124 + .long 1164875792 + .long 2394703017 + .long 1161097486 + .long 3047836189 + .long 1164716869 + .long 1507273307 + .long 1160986747 + .long 1761244566 + .long 1164570336 + .long 945340577 + .long 1160884804 + .long 966529192 + .long 1164435243 + .long 4049739763 + .long 1160790969 + .long 2050080133 + .long 1164310712 + .long 515468101 + .long 1160635588 + .long 2531893977 + .long 1164195932 + .long 3419787591 + .long 1160476645 + .long 871320764 + .long 1164090153 + .long 3324771089 + .long 1160330399 + .long 2788659082 + .long 1163992680 + .long 1284414463 + .long 1160195852 + .long 2156308587 + .long 1163886387 + .long 2952466863 + .long 1160072082 + .long 3654157322 + .long 1163720919 + .long 2064974210 + .long 1159958241 + .long 622519429 + .long 1163568503 + .long 150408716 + .long 1159853545 + .long 1939798879 + .long 1163428125 + .long 2201727872 + .long 1159757270 + .long 3844698302 + .long 1163298851 + .long 2137703612 + .long 1159612446 + .long 3868101452 + .long 1163179818 + .long 3987559769 + .long 1159449688 + .long 3689445052 + .long 1163070228 + .long 2560021890 + .long 1159300078 + .long 788030992 + .long 1162969345 + .long 1198933031 + .long 1159162570 + .long 3128526661 + .long 1162876487 + .long 2016853309 + .long 1159036200 + .long 393221749 + .long 1162711273 + .long 415274913 + .long 1158920081 + .long 3899460746 + .long 1162553991 + .long 3111287209 + .long 1158813393 + .long 3409408659 + .long 1162409277 + .long 801128485 + .long 1158715384 + .long 622192947 + .long 1162276143 + .long 1096177360 + .long 1158574235 + .long 2664726297 + .long 1162153676 + .long 3602994436 + .long 1158408867 + .long 1558673822 + .long 1162041037 + .long 3652729191 + .long 1158257006 + .long 2777131896 + .long 1161937449 + .long 735672667 + .long 1158117566 + .long 3972527094 + .long 1161842197 + .long 2599987266 + .long 1157989545 + .long 2120900631 + .long 1161687036 + .long 852226013 + .long 1157872024 + .long 137556752 + .long 1161526020 + .long 288162918 + .long 1157764154 + .long 569601398 + .long 1161378016 + .long 3005657641 + .long 1157665154 + .long 280212019 + .long 1161241990 + .long 1669291445 + .long 1157520711 + .long 4236421385 + .long 1161116987 + .long 3426449111 + .long 1157353999 + .long 3132998397 + .long 1161002130 + .long 3665072071 + .long 1157201053 + .long 269619050 + .long 1160896608 + .long 132717265 + .long 1157060754 + .long 1633775828 + .long 1160799673 + .long 1772781531 + .long 1156932070 + .long 2528343355 + .long 1160647645 + .long 2729222087 + .long 1156814055 + .long 843477906 + .long 1160484109 + .long 1642908825 + .long 1156705838 + .long 640833957 + .long 1160333938 + .long 1637412975 + .long 1156606617 + .long 1040411868 + .long 1160196057 + .long 3134353470 + .long 1156451983 + .long 1466509739 + .long 1160069476 + .long 3996322537 + .long 1156285224 + .long 3307339414 + .long 1159953283 + .long 20608624 + .long 1156132385 + .long 857222806 + .long 1159846640 + .long 1217476331 + .long 1155992319 + .long 33935978 + .long 1159748773 + .long 3347032904 + .long 1155863975 + .long 592853498 + .long 1159592886 + .long 3456875375 + .long 1155746387 + .long 3801380895 + .long 1159428103 + .long 722075083 + .long 1155638667 + .long 3715147572 + .long 1159276938 + .long 3871546971 + .long 1155539997 + .long 4190633910 + .long 1159138282 + .long 4149445212 + .long 1155368508 + .long 3597701666 + .long 1159011116 + .long 114339337 + .long 1155203001 + .long 3481239551 + .long 1158894502 + .long 2660573378 + .long 1155051455 + .long 2361296039 + .long 1158787578 + .long 3345530574 + .long 1154912711 + .long 265722145 + .long 1158689551 + .long 2649988318 + .long 1154785703 + .long 1895395227 + .long 1158522902 + .long 2835386513 + .long 1154669452 + .long 1800210858 + .long 1158358177 + .long 3409464906 + .long 1154563060 + .long 3069172694 + .long 1158207214 + .long 2289376692 + .long 1154449231 + .long 2893236102 + .long 1158068881 + .long 1808716882 + .long 1154271074 + .long 1719077557 + .long 1157942137 + .long 1191976028 + .long 1154108086 + .long 1914505601 + .long 1157826025 + .long 3263238226 + .long 1153958993 + .long 301987594 + .long 1157719667 + .long 3595524598 + .long 1153822628 + .long 282470485 + .long 1157616606 + .long 926865216 + .long 1153697920 + .long 3168046348 + .long 1157438191 + .long 1936197486 + .long 1153583885 + .long 1009101993 + .long 1157274825 + .long 2967036144 + .long 1153479623 + .long 3997083445 + .long 1157125255 + .long 48557448 + .long 1153335018 + .long 2336955916 + .long 1156988335 + .long 2153363094 + .long 1153160768 + .long 3868880033 + .long 1156863009 + .long 3655926593 + .long 1153001510 + .long 1476581786 + .long 1156748311 + .long 4195538198 + .long 1152855972 + .long 3208709775 + .long 1156643351 + .long 760742910 + .long 1152722989 + .long 716057529 + .long 1156515304 + .long 1595662436 + .long 1152601491 + .long 28479576 + .long 1156339585 + .long 207016151 + .long 1152490501 + .long 3319607164 + .long 1156178845 + .long 3718020302 + .long 1152389121 + .long 2804464626 + .long 1156031827 + .long 3056921786 + .long 1152208041 + .long 148574980 + .long 1155897376 + .long 1551945529 + .long 1152038940 + .long 69395739 + .long 1155774432 + .long 3413407730 + .long 1151884538 + .long 2564419134 + .long 1155662024 + .long 1653751481 + .long 1151743576 + .long 2125879894 + .long 1155559263 + .long 397794359 + .long 1151614899 + .long 344595749 + .long 1155399913 + .long 2516863959 + .long 1151497450 + .long 872566418 + .long 1155228215 + .long 390569063 + .long 1151390264 + .long 25762808 + .long 1155071310 + .long 3512280464 + .long 1151248461 + .long 3343322505 + .long 1154927940 + .long 437420606 + .long 1151069979 + .long 68521175 + .long 1154796956 + .long 3755631788 + .long 1150907150 + .long 3210511172 + .long 1154677300 + .long 998156837 + .long 1150758622 + .long 2432640097 + .long 1154568008 + .long 3963236487 + .long 1150623153 + .long 2650426869 + .long 1154454212 + .long 2635429612 + .long 1150499612 + .long 2803544287 + .long 1154271918 + .long 4171250378 + .long 1150386961 + .long 2667581847 + .long 1154105474 + .long 4100104170 + .long 1150280636 + .long 995748204 + .long 1153953521 + .long 3664138596 + .long 1150093375 + .long 438643701 + .long 1153814814 + .long 411244680 + .long 1149922685 + .long 809181847 + .long 1153688214 + .long 1711529755 + .long 1149767117 + .long 10437582 + .long 1153572679 + .long 760965710 + .long 1149625350 + .long 2354988354 + .long 1153467254 + .long 4101777240 + .long 1149496174 + .long 3627099743 + .long 1153308535 + .long 2820428868 + .long 1149378487 + .long 184652213 + .long 1153133041 + .long 3073693323 + .long 1149271279 + .long 2690341715 + .long 1152972963 + .long 3675892862 + .long 1149107963 + .long 1010878695 + .long 1152826967 + .long 4212274240 + .long 1148930097 + .long 3130597339 + .long 1152693829 + .long 1434263734 + .long 1148768129 + .long 2425713311 + .long 1152572433 + .long 267077461 + .long 1148620655 + .long 4199375582 + .long 1152461756 + .long 2026112565 + .long 1148486394 + .long 3352626361 + .long 1152336707 + .long 2309260539 + .long 1148364178 + .long 4263382667 + .long 1152152788 + .long 1292625344 + .long 1148252940 + .long 3971959542 + .long 1151985172 + .long 683969871 + .long 1148112692 + .long 1685406220 + .long 1151832433 + .long 3656156313 + .long 1147928454 + .long 1164117258 + .long 1151693267 + .long 2280959508 + .long 1147760827 + .long 128059352 + .long 1151566484 + .long 1438096262 + .long 1147608331 + .long 608890202 + .long 1151450996 + .long 1560506301 + .long 1147469617 + .long 1282744529 + .long 1151345810 + .long 1782392176 + .long 1147343455 + .long 3126230825 + .long 1151163590 + .long 2928154098 + .long 1147228723 + .long 23579818 + .long 1150989142 + .long 2808105085 + .long 1147106654 + .long 3718750563 + .long 1150830313 + .long 3181032870 + .long 1146916955 + .long 2108894173 + .long 1150685725 + .long 2690161486 + .long 1146744506 + .long 2125293716 + .long 1150554116 + .long 3774094217 + .long 1146587757 + .long 2429410936 + .long 1150434336 + .long 2031038305 + .long 1146445297 + .long 4238344640 + .long 1150325335 + .long 3294864335 + .long 1146315838 + .long 3966203779 + .long 1150164441 + .long 2218088845 + .long 1146198209 + .long 1511203355 + .long 1149983979 + .long 2879344148 + .long 1146089115 + .long 299769911 + .long 1149819818 + .long 246815083 + .long 1145894958 + .long 177880806 + .long 1149670504 + .long 1881778457 + .long 1145718606 + .long 993491176 + .long 1149534711 + .long 1695802046 + .long 1145558447 + .long 2106577044 + .long 1149411230 + .long 3789092221 + .long 1145413011 + .long 1689628931 + .long 1149298959 + .long 2045012378 + .long 1145280962 + .long 3833288905 + .long 1149154489 + .long 3150604421 + .long 1145161081 + .long 794877296 + .long 1148968934 + .long 2439012653 + .long 1145052261 + .long 3854849903 + .long 1148800285 + .long 451045696 + .long 1144861995 + .long 1790512188 + .long 1148647023 + .long 623648845 + .long 1144682728 + .long 1353915434 + .long 1148507760 + .long 2163425550 + .long 1144520060 + .long 2148061065 + .long 1148381233 + .long 751132038 + .long 1144372473 + .long 1671518363 + .long 1148266292 + .long 1991314855 + .long 1144238584 + .long 184209634 + .long 1148133058 + .long 3138593953 + .long 1144117137 + .long 222976555 + .long 1147943418 + .long 934006504 + .long 1144006990 + .long 3212706465 + .long 1147771206 + .long 3053075475 + .long 1143817789 + .long 2991254427 + .long 1147614841 + .long 4093934171 + .long 1143636645 + .long 1435154319 + .long 1147472882 + .long 2959073424 + .long 1143472415 + .long 1790943722 + .long 1147344017 + .long 3738143320 + .long 1143323537 + .long 2416375099 + .long 1147227053 + .long 3459629523 + .long 1143188593 + .long 2528492334 + .long 1147099665 + .long 1452629081 + .long 1143066294 + .long 2059568 + .long 1146907022 + .long 718239573 + .long 1142955468 + .long 1957753159 + .long 1146732234 + .long 1762771320 + .long 1142762262 + .long 2091566809 + .long 1146573667 + .long 3316716354 + .long 1142580313 + .long 2474998524 + .long 1146429833 + .long 2899083357 + .long 1142415494 + .long 4053598014 + .long 1146299379 + .long 2935310259 + .long 1142266210 + .long 2145098900 + .long 1146181076 + .long 140840670 + .long 1142131014 + .long 3070436298 + .long 1146054041 + .long 1294487364 + .long 1142008590 + .long 2763733926 + .long 1145859528 + .long 2394653337 + .long 1141896228 + .long 2208575977 + .long 1145683197 + .long 3638884899 + .long 1141695533 + .long 2310778069 + .long 1145523368 + .long 2705328535 + .long 1141513866 + .long 1042726976 + .long 1145378515 + .long 70625276 + .long 1141349443 + .long 2817479519 + .long 1145247250 + .long 1857262153 + .long 1141200644 + .long 3076269193 + .long 1145128314 + .long 2069475863 + .long 1141066002 + .long 2627031232 + .long 1144996133 + .long 771707140 + .long 1140944185 + .long 2628360750 + .long 1144800918 + .long 3701030703 + .long 1140817280 + .long 729212710 + .long 1144624104 + .long 1238049099 + .long 1140617921 + .long 2887460256 + .long 1144463975 + .long 3259812090 + .long 1140437616 + .long 1655630712 + .long 1144318976 + .long 3749406275 + .long 1140274565 + .long 413272091 + .long 1144187693 + .long 2567976574 + .long 1140127135 + .long 185717153 + .long 1144068843 + .long 3086396387 + .long 1139993845 + .long 197070945 + .long 1143926108 + .long 3025838645 + .long 1139873354 + .long 565507056 + .long 1143731371 + .long 3161398026 + .long 1139726781 + .long 760043921 + .long 1143555142 + .long 1697887131 + .long 1139529929 + .long 3730110113 + .long 1143395681 + .long 2228585998 + .long 1139352044 + .long 1921011656 + .long 1143251412 + .long 605343418 + .long 1139191319 + .long 3797928772 + .long 1143120902 + .long 3059859084 + .long 1139046115 + .long 1714281117 + .long 1143002855 + .long 958722228 + .long 1138914951 + .long 1735451181 + .long 1142844346 + .long 3375509337 + .long 1138796482 + .long 2998543058 + .long 1142651258 + .long 415556477 + .long 1138625453 + .long 957414861 + .long 1142476673 + .long 2696826148 + .long 1138432235 + .long 2296081930 + .long 1142318836 + .long 2229389997 + .long 1138257784 + .long 2003829855 + .long 1142176159 + .long 1297687336 + .long 1138100296 + .long 3954963692 + .long 1142047201 + .long 3998394613 + .long 1137958138 + .long 216442272 + .long 1141930659 + .long 2886287143 + .long 1137829835 + .long 1772244079 + .long 1141751433 + .long 2110295769 + .long 1137714050 + .long 307812232 + .long 1141561136 + .long 2576847299 + .long 1137514189 + .long 1090166077 + .long 1141389222 + .long 3725035696 + .long 1137325670 + .long 898458102 + .long 1141233935 + .long 2171466216 + .long 1137155607 + .long 796649920 + .long 1141093684 + .long 2233617680 + .long 1137002211 + .long 3973141203 + .long 1140967028 + .long 1212061563 + .long 1136863866 + .long 2543891761 + .long 1140852665 + .long 1237871693 + .long 1136739110 + .long 8021042 + .long 1140648140 + .long 3770505270 + .long 1136596860 + .long 197966905 + .long 1140461724 + .long 1723610862 + .long 1136394033 + .long 613497914 + .long 1140293462 + .long 158726960 + .long 1136211196 + .long 492649247 + .long 1140141605 + .long 3147455188 + .long 1136046398 + .long 2014037209 + .long 1140004570 + .long 2819408244 + .long 1135897879 + .long 2983416416 + .long 1139880926 + .long 973768816 + .long 1135764047 + .long 186952952 + .long 1139736646 + .long 3614653622 + .long 1135643463 + .long 64324857 + .long 1139535401 + .long 1231755280 + .long 1135461854 + .long 2814905894 + .long 1139353888 + .long 1530699735 + .long 1135266145 + .long 1397081971 + .long 1139190194 + .long 2740348574 + .long 1135089875 + .long 649709615 + .long 1139042587 + .long 2871973651 + .long 1134931133 + .long 2517694161 + .long 1138909502 + .long 4249620448 + .long 1134788193 + .long 2598308842 + .long 1138789526 + .long 1030871825 + .long 1134659499 + .long 3304430565 + .long 1138609226 + .long 3931001516 + .long 1134528055 + .long 2845934216 + .long 1138414288 + .long 3607736473 + .long 1134319487 + .long 2815202489 + .long 1138238616 + .long 3324058056 + .long 1134131773 + .long 770607618 + .long 1138080326 + .long 935034058 + .long 1133962849 + .long 227018400 + .long 1137937715 + .long 4138313486 + .long 1133810851 + .long 103231596 + .long 1137809246 + .long 2075631266 + .long 1133674102 + .long 4002361480 + .long 1137682101 + .long 845707049 + .long 1133551086 + .long 587775376 + .long 1137473673 + .long 3807613825 + .long 1133370218 + .long 3329498291 + .long 1137285982 + .long 4221874859 + .long 1133171193 + .long 1074663644 + .long 1137116988 + .long 3837861027 + .long 1132992221 + .long 188384470 + .long 1136964846 + .long 3588565148 + .long 1132831301 + .long 2250949169 + .long 1136827892 + .long 2793855663 + .long 1132686630 + .long 2497760175 + .long 1136704626 + .long 2092682908 + .long 1132556583 + .long 3638527552 + .long 1136531003 + .long 3025928422 + .long 1132417312 + .long 3169393043 + .long 1136331361 + .long 3003976624 + .long 1132207220 + .long 16328176 + .long 1136151739 + .long 3855549220 + .long 1132018434 + .long 484887411 + .long 1135990148 + .long 1140003212 + .long 1131848815 + .long 3565542663 + .long 1135844796 + .long 2537273243 + .long 1131696434 + .long 993566984 + .long 1135714069 + .long 2300430123 + .long 1131559557 + .long 362792049 + .long 1135585209 + .long 3125177422 + .long 1131436621 + .long 1117663738 + .long 1135373795 + .long 1680899524 + .long 1131238937 + .long 4205611547 + .long 1135183721 + .long 4046927848 + .long 1131040672 + .long 695708912 + .long 1135012856 + .long 1667944894 + .long 1130862667 + .long 3365905834 + .long 1134859275 + .long 684406586 + .long 1130702870 + .long 901574820 + .long 1134721249 + .long 951870093 + .long 1130559436 + .long 2293692653 + .long 1134597216 + .long 2935548661 + .long 1130430705 + .long 1924786676 + .long 1134412313 + .long 3462835422 + .long 1130265442 + .long 3484263706 + .long 1134212072 + .long 3476181268 + .long 1130058136 + .long 1064475687 + .long 1134032200 + .long 3664148399 + .long 1129872149 + .long 3803301594 + .long 1133870643 + .long 3806759301 + .long 1129705309 + .long 2161679909 + .long 1133725556 + .long 139634312 + .long 1129555664 + .long 1415749554 + .long 1133595275 + .long 2974765999 + .long 1129421456 + .long 2691945760 + .long 1133445951 + .long 2688619723 + .long 1129285867 + .long 1523322176 + .long 1133235934 + .long 918059319 + .long 1129070058 + .long 701542529 + .long 1133047419 + .long 326084401 + .long 1128876584 + .long 2075878962 + .long 1132878225 + .long 3378921377 + .long 1128703154 + .long 3080509544 + .long 1132726391 + .long 2489025618 + .long 1128547712 + .long 2031579976 + .long 1132590153 + .long 4054490883 + .long 1128408408 + .long 4030038368 + .long 1132467923 + .long 2377683608 + .long 1128283583 + .long 1611467688 + .long 1132254472 + .long 2522233334 + .long 1128075714 + .long 2007111172 + .long 1132057774 + .long 1572162123 + .long 1127875334 + .long 1318398424 + .long 1131881367 + .long 20810995 + .long 1127695846 + .long 1156938005 + .long 1131723177 + .long 3951374592 + .long 1127535090 + .long 2608242403 + .long 1131581340 + .long 2085574367 + .long 1127391131 + .long 1802410473 + .long 1131454182 + .long 2715796973 + .long 1127262228 + .long 1771700082 + .long 1131266891 + .long 1675857833 + .long 1127074443 + .long 2605501015 + .long 1131062564 + .long 2453862588 + .long 1126867820 + .long 134813882 + .long 1130879451 + .long 4201397273 + .long 1126682875 + .long 2391361007 + .long 1130715368 + .long 1738398063 + .long 1126517355 + .long 1692999782 + .long 1130568357 + .long 3876745943 + .long 1126369236 + .long 2848159293 + .long 1130436657 + .long 330371969 + .long 1126236707 + .long 1707220927 + .long 1130272450 + .long 2383670733 + .long 1126065655 + .long 3247666430 + .long 1130061138 + .long 3834104127 + .long 1125853529 + .long 2284137823 + .long 1129871905 + .long 3479353080 + .long 1125663798 + .long 3431770873 + .long 1129702464 + .long 3330228067 + .long 1125494118 + .long 429064670 + .long 1129550765 + .long 1237718763 + .long 1125342389 + .long 2690937090 + .long 1129414965 + .long 3912378906 + .long 1125206727 + .long 2565517419 + .long 1129270477 + .long 2926944965 + .long 1125048847 + .long 4280764609 + .long 1129052909 + .long 2285664242 + .long 1124832027 + .long 2117899576 + .long 1128858218 + .long 2384284646 + .long 1124638239 + .long 1100114414 + .long 1128684019 + .long 1079044255 + .long 1124465058 + .long 2490550860 + .long 1128528174 + .long 1187767679 + .long 1124310311 + .long 3059756537 + .long 1128388767 + .long 1125870666 + .long 1124172053 + .long 2011207108 + .long 1128260384 + .long 2711543652 + .long 1124023612 + .long 1971731957 + .long 1128037367 + .long 3717979360 + .long 1123802965 + .long 190152924 + .long 1127837947 + .long 634529117 + .long 1123605902 + .long 2279911327 + .long 1127659648 + .long 1589420432 + .long 1123429922 + .long 1743963826 + .long 1127500254 + .long 4011928493 + .long 1123272789 + .long 3694431565 + .long 1127357777 + .long 1825951196 + .long 1123132503 + .long 37372990 + .long 1127230439 + .long 902239192 + .long 1122989648 + .long 357996513 + .long 1127014087 + .long 3736365794 + .long 1122766091 + .long 471494204 + .long 1126810727 + .long 3174570430 + .long 1122566575 + .long 2938566757 + .long 1126629040 + .long 1631041877 + .long 1122388536 + .long 3862641636 + .long 1126466737 + .long 1428278857 + .long 1122229681 + .long 2705689559 + .long 1126321768 + .long 3122796486 + .long 1122087960 + .long 2814570586 + .long 1126192297 + .long 2911775264 + .long 1121946763 + .long 2905852510 + .long 1125982740 + .long 2500562767 + .long 1121721252 + .long 867019880 + .long 1125776281 + .long 1088252172 + .long 1121520139 + .long 3972810286 + .long 1125591961 + .long 84062841 + .long 1121340806 + .long 3689108380 + .long 1125427428 + .long 2866547101 + .long 1121180913 + .long 418349559 + .long 1125280576 + .long 346501975 + .long 1121038372 + .long 3895248558 + .long 1125149519 + .long 3837706926 + .long 1120894883 + .long 4289939603 + .long 1124943102 + .long 1835734022 + .long 1120668398 + .long 1806841202 + .long 1124734424 + .long 106141887 + .long 1120466564 + .long 2886562217 + .long 1124548261 + .long 2476206473 + .long 1120286719 + .long 3505743866 + .long 1124382205 + .long 3553036011 + .long 1120126488 + .long 1770162296 + .long 1124234103 + .long 630544163 + .long 1119983750 + .long 2826068942 + .long 1124102029 + .long 4141157953 + .long 1119834050 + .long 2850114029 + .long 1123895056 + .long 1341246883 + .long 1119607584 + .long 2065430038 + .long 1123685068 + .long 1872851222 + .long 1119405914 + .long 3592764375 + .long 1123497875 + .long 662406915 + .long 1119226348 + .long 2940520440 + .long 1123331024 + .long 1570171747 + .long 1119066482 + .long 3917597947 + .long 1123182322 + .long 306296939 + .long 1118924173 + .long 2692555170 + .long 1123049812 + .long 1515311757 + .long 1118764423 + .long 3020826096 + .long 1122838594 + .long 1942281842 + .long 1118538968 + .long 2758135905 + .long 1122628223 + .long 2313530469 + .long 1118338346 + .long 959962841 + .long 1122440828 + .long 624543593 + .long 1118159844 + .long 3110425290 + .long 1122273919 + .long 3763131039 + .long 1118001041 + .long 3131202331 + .long 1122125276 + .long 3450851597 + .long 1117859782 + .long 2871911974 + .long 1121992916 + .long 2007100743 + .long 1117686272 + .long 3101350956 + .long 1121773820 + .long 4149890743 + .long 1117462808 + .long 2081544678 + .long 1121563998 + .long 2982306159 + .long 1117264104 + .long 49044599 + .long 1121377230 + .long 4099038896 + .long 1117087437 + .long 3400982507 + .long 1121211002 + .long 3523525745 + .long 1116930383 + .long 3721086726 + .long 1121063075 + .long 201067636 + .long 1116790782 + .long 3127191497 + .long 1120931450 + .long 3588312849 + .long 1116599976 + .long 2706561044 + .long 1120700946 + .long 1469650381 + .long 1116379458 + .long 2302038473 + .long 1120492597 + .long 1466843194 + .long 1116183516 + .long 1389140244 + .long 1120307277 + .long 290290075 + .long 1116009433 + .long 3865310785 + .long 1120142460 + .long 3874185980 + .long 1115854788 + .long 3343859324 + .long 1119995897 + .long 4011478976 + .long 1115717429 + .long 4000817012 + .long 1119851996 + .long 171642260 + .long 1115506014 + .long 130842766 + .long 1119620288 + .long 4031412174 + .long 1115289355 + .long 3534099260 + .long 1119414316 + .long 177074159 + .long 1115096985 + .long 4150727396 + .long 1119231246 + .long 2663060654 + .long 1114926199 + .long 677761646 + .long 1119068552 + .long 549230713 + .long 1114774596 + .long 2252671776 + .long 1118923982 + .long 2381441019 + .long 1114640036 + .long 1105323286 + .long 1118760477 + .long 2808690215 + .long 1114404950 + .long 1703121876 + .long 1118532257 + .long 3203766828 + .long 1114193018 + .long 2069183567 + .long 1118329537 + .long 45211903 + .long 1114004982 + .long 2002014451 + .long 1118149490 + .long 2783856157 + .long 1113838166 + .long 940768256 + .long 1117989600 + .long 3133535813 + .long 1113690195 + .long 2631187174 + .long 1117847627 + .long 4268155202 + .long 1113530200 + .long 2370996671 + .long 1117661144 + .long 2034082850 + .long 1113297430 + .long 1068639438 + .long 1117437355 + .long 2913787982 + .long 1113091030 + .long 2672994462 + .long 1117238717 + .long 1678437236 + .long 1112908036 + .long 2485039408 + .long 1117062426 + .long 1098600669 + .long 1112745813 + .long 1727439070 + .long 1116905987 + .long 659512389 + .long 1112602021 + .long 2971022341 + .long 1116767181 + .long 806208697 + .long 1112410027 + .long 20781236 + .long 1116554634 + .long 1671730707 + .long 1112184161 + .long 2545082435 + .long 1116336159 + .long 3039002861 + .long 1111984030 + .long 2944237826 + .long 1116142382 + .long 2285456920 + .long 1111806724 + .long 2149612308 + .long 1115970532 + .long 4068908997 + .long 1111649658 + .long 2957083502 + .long 1115818146 + .long 1496666869 + .long 1111510540 + .long 2361171085 + .long 1115681210 + .long 659213027 + .long 1111284106 + .long 2834057963 + .long 1115441656 + .long 1154962059 + .long 1111065901 + .long 3991237976 + .long 1115229313 + .long 742279536 + .long 1110872700 + .long 2492162904 + .long 1115041114 + .long 2562815945 + .long 1110701658 + .long 156433707 + .long 1114874334 + .long 1720938218 + .long 1110550253 + .long 3568912018 + .long 1114726552 + .long 814000769 + .long 1110390509 + .long 1787543666 + .long 1114554957 + .long 3085688148 + .long 1110153322 + .long 3956019851 + .long 1114322984 + .long 1060898163 + .long 1109943443 + .long 808980830 + .long 1114117514 + .long 2668383887 + .long 1109757749 + .long 3919832875 + .long 1113935539 + .long 3414857356 + .long 1109593474 + .long 24442394 + .long 1113774395 + .long 4120766401 + .long 1109448165 + .long 3563050434 + .long 1113631712 + .long 1084972929 + .long 1109245890 + .long 976862601 + .long 1113423075 + .long 1485510095 + .long 1109018587 + .long 819353060 + .long 1113199437 + .long 3500347783 + .long 1108817600 + .long 4078300992 + .long 1113001494 + .long 2275315543 + .long 1108639905 + .long 2744002435 + .long 1112826317 + .long 2446204157 + .long 1108482821 + .long 799980411 + .long 1112671306 + .long 1070208850 + .long 1108343118 + .long 335072396 + .long 1112529176 + .long 2505637792 + .long 1108097695 + .long 393840638 + .long 1112286512 + .long 2356589298 + .long 1107880819 + .long 285668148 + .long 1112071862 + .long 440663793 + .long 1107689193 + .long 1441293126 + .long 1111882015 + .long 1084663825 + .long 1107519897 + .long 2064869659 + .long 1111714126 + .long 119946720 + .long 1107370348 + .long 417220747 + .long 1111565674 + .long 2683262261 + .long 1107180260 + .long 1516158303 + .long 1111378288 + .long 4220404801 + .long 1106946951 + .long 830924676 + .long 1111146235 + .long 3701561540 + .long 1106740931 + .long 2235571069 + .long 1110941122 + .long 3074757155 + .long 1106559030 + .long 4082743838 + .long 1110759844 + .long 2220088067 + .long 1106398444 + .long 1876449427 + .long 1110599652 + .long 3911816121 + .long 1106256692 + .long 3926525190 + .long 1110458109 + .long 1092713979 + .long 1106015484 + .long 4222970289 + .long 1110224138 + .long 926520626 + .long 1105794664 + .long 1585088324 + .long 1110003213 + .long 3239958806 + .long 1105599814 + .long 2010771184 + .long 1109808080 + .long 1997667540 + .long 1105427902 + .long 961103206 + .long 1109635750 + .long 3253156965 + .long 1105276245 + .long 3031370254 + .long 1109483576 + .long 2970981435 + .long 1105085844 + .long 2559708232 + .long 1109305029 + .long 3183031428 + .long 1104849882 + .long 2938482145 + .long 1109067802 + .long 1052329439 + .long 1104641799 + .long 2040849574 + .long 1108858400 + .long 3502017515 + .long 1104458322 + .long 445015277 + .long 1108673582 + .long 1170570442 + .long 1104296563 + .long 2099882470 + .long 1108510481 + .long 2321018990 + .long 1104153967 + .long 1334765365 + .long 1108366564 + .long 919550936 + .long 1103906033 + .long 3321758888 + .long 1108134347 + .long 4068019066 + .long 1103684493 + .long 3414327399 + .long 1107910322 + .long 677781025 + .long 1103489272 + .long 4023189545 + .long 1107712719 + .long 2116797212 + .long 1103317262 + .long 1454212341 + .long 1107538444 + .long 2147072810 + .long 1103165723 + .long 398375034 + .long 1107384761 + .long 2436518942 + .long 1102962518 + .long 1554804823 + .long 1107202251 + .long 462060487 + .long 1102727372 + .long 1508243439 + .long 1106963318 + .long 31640204 + .long 1102520286 + .long 1390964319 + .long 1106752695 + .long 194014002 + .long 1102337934 + .long 3457495598 + .long 1106567050 + .long 2586452310 + .long 1102177381 + .long 2709086624 + .long 1106403442 + .long 3256375675 + .long 1102018703 + .long 3344858523 + .long 1106259272 + .long 3668708253 + .long 1101769874 + .long 3445556640 + .long 1106016814 + .long 3276294038 + .long 1101550872 + .long 3991401134 + .long 1105793002 + .long 3042705393 + .long 1101358145 + .long 4056865850 + .long 1105595854 + .long 61555617 + .long 1101188562 + .long 2551083911 + .long 1105422215 + .long 3248074063 + .long 1101039360 + .long 1846795646 + .long 1105269300 + .long 1472434419 + .long 1100811416 + .long 353540760 + .long 1105070201 + .long 1345929365 + .long 1100580518 + .long 2530892669 + .long 1104833104 + .long 2284935894 + .long 1100377446 + .long 130516814 + .long 1104624383 + .long 1589478727 + .long 1100198869 + .long 772858390 + .long 1104440663 + .long 1900966035 + .long 1100041851 + .long 400926987 + .long 1104278970 + .long 2592853406 + .long 1099851389 + .long 3515284429 + .long 1104122832 + .long 1043872472 + .long 1099608691 + .long 753693360 + .long 1103872434 + .long 1992869878 + .long 1099395371 + .long 3923707548 + .long 1103652137 + .long 3788831841 + .long 1099207896 + .long 86767418 + .long 1103458349 + .long 1204183677 + .long 1099043156 + .long 3993536332 + .long 1103287898 + .long 66872776 + .long 1098889173 + .long 1230507331 + .long 1103137995 + .long 2436600716 + .long 1098634848 + .long 714625323 + .long 1102910403 + .long 1846904100 + .long 1098411446 + .long 4250558381 + .long 1102678603 + .long 3584705058 + .long 1098215230 + .long 2591528180 + .long 1102474821 + .long 1705602031 + .long 1098042914 + .long 3169042886 + .long 1102295691 + .long 2832253206 + .long 1097891604 + .long 1801917518 + .long 1102138251 + .long 3958240781 + .long 1097658441 + .long 3689877032 + .long 1101946406 + .long 3391696766 + .long 1097425193 + .long 3049582897 + .long 1101703252 + .long 1677112252 + .long 1097220455 + .long 688939585 + .long 1101489619 + .long 4029740200 + .long 1097040763 + .long 1201594820 + .long 1101301945 + .long 2281780473 + .long 1096883074 + .long 3644871435 + .long 1101137096 + .long 462090739 + .long 1096678924 + .long 596508721 + .long 1100979831 + .long 374460362 + .long 1096436138 + .long 2413289875 + .long 1100725548 + .long 2745667880 + .long 1096223157 + .long 4050259853 + .long 1100502274 + .long 2124074559 + .long 1096036346 + .long 4026415429 + .long 1100306252 + .long 785176086 + .long 1095872509 + .long 2194242293 + .long 1100134177 + .long 3829057961 + .long 1095695755 + .long 3662913788 + .long 1099983141 + .long 6154213 + .long 1095443812 + .long 1836124429 + .long 1099744955 + .long 3442167805 + .long 1095222932 + .long 3502862881 + .long 1099512322 + .long 2795231252 + .long 1095029311 + .long 2686967895 + .long 1099308209 + .long 1852739982 + .long 1094859605 + .long 2379346499 + .long 1099129141 + .long 4031629968 + .long 1094708412 + .long 3529903497 + .long 1098972064 + .long 1692195970 + .long 1094447762 + .long 947638496 + .long 1098760943 + .long 2143567542 + .long 1094219389 + .long 296410330 + .long 1098519303 + .long 2474294393 + .long 1094019321 + .long 3786184281 + .long 1098307416 + .long 3636592950 + .long 1093844071 + .long 3389146233 + .long 1098121643 + .long 1634402452 + .long 1093690580 + .long 2592050282 + .long 1097958785 + .long 1487743506 + .long 1093447556 + .long 2953484721 + .long 1097772994 + .long 4287882560 + .long 1093212154 + .long 1537613449 + .long 1097522768 + .long 2458104266 + .long 1093006055 + .long 190624382 + .long 1097303488 + .long 2983874393 + .long 1092825632 + .long 882060314 + .long 1097111350 + .long 3329798348 + .long 1092667706 + .long 3616269672 + .long 1096943015 + .long 323300782 + .long 1092442787 + .long 1087799841 + .long 1096780612 + .long 1399376011 + .long 1092200880 + .long 2813953676 + .long 1096522289 + .long 2131504469 + .long 1091989214 + .long 1847214818 + .long 1096296053 + .long 3247331473 + .long 1091804031 + .long 1994699812 + .long 1096097942 + .long 1649841686 + .long 1091642038 + .long 2573591394 + .long 1095924481 + .long 2632630216 + .long 1091433079 + .long 1686189053 + .long 1095772622 + .long 692441783 + .long 1091185245 + .long 484007912 + .long 1095517462 + .long 4165499210 + .long 1090968524 + .long 1745674181 + .long 1095284765 + .long 4061964950 + .long 1090779035 + .long 1249190365 + .long 1095081122 + .long 2926004374 + .long 1090613376 + .long 644454863 + .long 1094902927 + .long 612917076 + .long 1090418096 + .long 322063619 + .long 1094747019 + .long 1764017864 + .long 1090164962 + .long 3091097501 + .long 1094507910 + .long 1271452310 + .long 1089943743 + .long 1164183261 + .long 1094269303 + .long 2845995974 + .long 1089750438 + .long 2896268950 + .long 1094060615 + .long 3204432805 + .long 1089581546 + .long 2572418588 + .long 1093878118 + .long 3791512599 + .long 1089397540 + .long 3076895702 + .long 1093718544 + .long 1587304040 + .long 1089139782 + .long 2772173518 + .long 1093493295 + .long 9417835 + .long 1088914659 + .long 3594010359 + .long 1093249377 + .long 3442414467 + .long 1088718062 + .long 3440112991 + .long 1093036176 + .long 3522111233 + .long 1088546399 + .long 1059737520 + .long 1092849847 + .long 1806355671 + .long 1088371164 + .long 1498944405 + .long 1092687022 + .long 1674732152 + .long 1088109496 + .long 694768547 + .long 1092473317 + .long 4031952273 + .long 1087881097 + .long 2719706201 + .long 1092224735 + .long 1572736221 + .long 1087681763 + .long 2726072325 + .long 1092007591 + .long 2174247271 + .long 1087507815 + .long 2748643032 + .long 1091817932 + .long 1752691998 + .long 1087338767 + .long 374105342 + .long 1091652300 + .long 4201814451 + .long 1087073939 + .long 194787867 + .long 1091447720 + .long 3734120499 + .long 1086842924 + .long 2743237017 + .long 1091195162 + .long 2706006322 + .long 1086641429 + .long 328407533 + .long 1090974681 + .long 2432268136 + .long 1086465703 + .long 1031608550 + .long 1090782225 + .long 2328310806 + .long 1086300203 + .long 1627182842 + .long 1090614253 + .long 1110667808 + .long 1086032995 + .long 1586677284 + .long 1090416297 + .long 2143088428 + .long 1085800045 + .long 2002637577 + .long 1090160487 + .long 3430232497 + .long 1085596986 + .long 2727882820 + .long 1089937303 + .long 1191597860 + .long 1085420005 + .long 2827660057 + .long 1089742608 + .long 3293943575 + .long 1085255381 + .long 3738758065 + .long 1089572786 + .long 3216349492 + .long 1084986592 + .long 2602645614 + .long 1089378893 + .long 3850209855 + .long 1084752407 + .long 4024866937 + .long 1089120583 + .long 600789168 + .long 1084548397 + .long 2385236869 + .long 1088895357 + .long 1376340710 + .long 1084370694 + .long 1750036214 + .long 1088699001 + .long 2804989792 + .long 1084204267 + .long 3625159312 + .long 1088527835 + .long 1780939479 + .long 1083934712 + .long 4181588374 + .long 1088335406 + .long 1216346442 + .long 1083700003 + .long 4241161077 + .long 1088075372 + .long 2393435751 + .long 1083495660 + .long 1532798012 + .long 1087848782 + .long 775536408 + .long 1083317777 + .long 585891252 + .long 1087651358 + .long 3964006679 + .long 1083146883 + .long 851324912 + .long 1087479367 + .long 4193385453 + .long 1082877383 + .long 4214947902 + .long 1087285790 + .long 728240374 + .long 1082642866 + .long 3731379682 + .long 1087024823 + .long 2554889952 + .long 1082438814 + .long 3234938630 + .long 1086797559 + .long 224011849 + .long 1082261293 + .long 1371418612 + .long 1086599670 + .long 480998365 + .long 1082083310 + .long 4087257844 + .long 1086427379 + .long 1992874489 + .long 1081814686 + .long 583681743 + .long 1086230055 + .long 3593845159 + .long 1081581073 + .long 2643283993 + .long 1085968954 + .long 3749576702 + .long 1081377933 + .long 3993298988 + .long 1085741713 + .long 1071458057 + .long 1081201313 + .long 1654189370 + .long 1085543966 + .long 1601380362 + .long 1081013681 + .long 1107405591 + .long 1085371905 + .long 124804291 + .long 1080746747 + .long 3421738212 + .long 1085168264 + .long 752868452 + .long 1080514745 + .long 3308765037 + .long 1084907831 + .long 4154137425 + .long 1080313128 + .long 756246516 + .long 1084681311 + .long 582893452 + .long 1080137940 + .long 1225810351 + .long 1084484311 + .long 1920387376 + .long 1079938186 + .long 4000749402 + .long 1084313005 + .long 162516834 + .long 1079673739 + .long 784691897 + .long 1084100540 + .long 3882275571 + .long 1079444038 + .long 1607273450 + .long 1083841569 + .long 3235485814 + .long 1079244544 + .long 3776267582 + .long 1083616458 + .long 2546997760 + .long 1079071305 + .long 2184543794 + .long 1083420805 + .long 3640950650 + .long 1078857064 + .long 2131145458 + .long 1083250775 + .long 2091040063 + .long 1078595879 + .long 2368285214 + .long 1083027054 + .long 887882894 + .long 1078369151 + .long 1028430600 + .long 1082770327 + .long 1091365731 + .long 1078172358 + .long 3867464166 + .long 1082547303 + .long 280040432 + .long 1078001569 + .long 2417693552 + .long 1082353583 + .long 1333440383 + .long 1077770603 + .long 3323262261 + .long 1082185336 + .long 3409501376 + .long 1077513425 + .long 2528771426 + .long 1081948031 + .long 3597097013 + .long 1077290312 + .long 2346058576 + .long 1081694308 + .long 135653325 + .long 1077096776 + .long 1584763124 + .long 1081474030 + .long 919368609 + .long 1076928915 + .long 4116245666 + .long 1081282811 + .long 2527512303 + .long 1076679131 + .long 193164072 + .long 1081116840 + .long 132243017 + .long 1076426672 + .long 280180506 + .long 1080863742 + .long 3225936839 + .long 1076207785 + .long 3480617204 + .long 1080613756 + .long 769188436 + .long 1076018031 + .long 4034624571 + .long 1080396856 + .long 1019068871 + .long 1075853551 + .long 3143788733 + .long 1080208686 + .long 2902155955 + .long 1075583017 + .long 3522894756 + .long 1080045460 + .long 2904593745 + .long 1075335944 + .long 3554323885 + .long 1079774499 + .long 1419386925 + .long 1075121859 + .long 1231864750 + .long 1079528952 + .long 4184064491 + .long 1074936379 + .long 2447488876 + .long 1079316033 + .long 3457071937 + .long 1074761007 + .long 2430366532 + .long 1079131430 + .long 2388689735 + .long 1074482662 + .long 2287503713 + .long 1078958090 + .long 4177130617 + .long 1074241597 + .long 899959499 + .long 1078680657 + .long 1227140978 + .long 1074032846 + .long 3790646954 + .long 1078440207 + .long 1114999631 + .long 1073852098 + .long 3811452349 + .long 1078231837 + .long 3063409814 + .long 1073649408 + .long 2400919409 + .long 1078051289 + .long 2506684706 + .long 1073378494 + .long 2937076999 + .long 1077853606 + .long 4208701520 + .long 1073144008 + .long 4103185011 + .long 1077582599 + .long 1313010332 + .long 1072941078 + .long 2847939034 + .long 1077347864 + .long 2678827294 + .long 1072765477 + .long 920270619 + .long 1077144571 + .long 2351614710 + .long 1072533841 + .long 3078958784 + .long 1076968529 + .long 2584841054 + .long 1072270963 + .long 1719891259 + .long 1076744659 + .long 1822670350 + .long 1072043572 + .long 3254115937 + .long 1076480741 + .long 2350112668 + .long 1071846901 + .long 177558575 + .long 1076252287 + .long 1949677764 + .long 1071676821 + .long 1435888075 + .long 1076054554 + .long 3477976628 + .long 1071414837 + .long 985819278 + .long 1075883433 + .long 3939703665 + .long 1071160534 + .long 3601037010 + .long 1075631744 + .long 1877066418 + .long 1070940695 + .long 2227084204 + .long 1075375518 + .long 198803165 + .long 1070750672 + .long 3199787287 + .long 1075153857 + .long 3760946197 + .long 1070576785 + .long 357646722 + .long 1074962123 + .long 818405878 + .long 1070292941 + .long 2622182607 + .long 1074796294 + .long 1019318827 + .long 1070047683 + .long 1065060601 + .long 1074515379 + .long 1212097429 + .long 1069835792 + .long 1906811740 + .long 1074267382 + .long 589568904 + .long 1069652751 + .long 2826585863 + .long 1074052972 + .long 725964252 + .long 1069441782 + .long 3634844497 + .long 1073867623 + .long 2851703311 + .long 1069168700 + .long 2320992478 + .long 1073673009 + .long 2930993008 + .long 1068932886 + .long 554091730 + .long 1073396092 + .long 725065783 + .long 1068729279 + .long 357628778 + .long 1073156796 + .long 4120994388 + .long 1068553500 + .long 2722636258 + .long 1072950035 + .long 2894585062 + .long 1068304589 + .long 203269805 + .long 1072771409 + .long 3282857881 + .long 1068042663 + .long 824090352 + .long 1072540966 + .long 4195077263 + .long 1067816620 + .long 1820258408 + .long 1072274419 + .long 1006457760 + .long 1067621569 + .long 1813080486 + .long 1072044226 + .long 556593427 + .long 1067453280 + .long 1601803602 + .long 1071845453 + .long 2926461152 + .long 1067165830 + .long 3053468438 + .long 1071673832 + .long 673859665 + .long 1066915370 + .long 940146539 + .long 1071406675 + .long 3922402993 + .long 1066699353 + .long 3725117473 + .long 1071150896 + .long 3365250929 + .long 1066513067 + .long 572324026 + .long 1070930139 + .long 1278471661 + .long 1066303087 + .long 1957106858 + .long 1070739630 + .long 3680566807 + .long 1066026112 + .long 1493026476 + .long 1070554396 + .long 2595010826 + .long 1065787345 + .long 2292657928 + .long 1070270746 + .long 772889063 + .long 1065581540 + .long 2611186430 + .long 1070026053 + .long 3674362520 + .long 1065404167 + .long 347983329 + .long 1069814993 + .long 928504805 + .long 1065149422 + .long 2629569584 + .long 1069632964 + .long 3216199533 + .long 1064886022 + .long 138419420 + .long 1069404468 + .long 1795141573 + .long 1064659096 + .long 3969997117 + .long 1069133776 + .long 2673537097 + .long 1064463616 + .long 866550090 + .long 1068900406 + .long 1567314510 + .long 1064285852 + .long 721422537 + .long 1068699235 + .long 2094096671 + .long 1063995846 + .long 1304881903 + .long 1068525842 + .long 3964575649 + .long 1063746119 + .long 2371681858 + .long 1068253876 + .long 2022640159 + .long 1063531104 + .long 2462268746 + .long 1067996343 + .long 25823726 + .long 1063345998 + .long 301445847 + .long 1067774453 + .long 796105289 + .long 1063117255 + .long 2573539776 + .long 1067583295 + .long 3335939118 + .long 1062842973 + .long 1545161389 + .long 1067386901 + .long 3431914924 + .long 1062606931 + .long 18355429 + .long 1067103262 + .long 3559962747 + .long 1062403822 + .long 784603450 + .long 1066858998 + .long 1398702338 + .long 1062229073 + .long 2141073328 + .long 1066648669 + .long 3420094350 + .long 1061949995 + .long 2702176499 + .long 1066467583 + .long 2993634154 + .long 1061691376 + .long 3996809095 + .long 1066221595 + .long 1026361128 + .long 1061468949 + .long 1606148946 + .long 1065953230 + .long 199951780 + .long 1061277672 + .long 3336741006 + .long 1065722261 + .long 1725965446 + .long 1061067493 + .long 1014836455 + .long 1065523503 + .long 2536985697 + .long 1060784690 + .long 2935372754 + .long 1065351751 + .long 2008466743 + .long 1060541582 + .long 2740775054 + .long 1065057484 + .long 3982168358 + .long 1060332622 + .long 1020705938 + .long 1064804348 + .long 668537815 + .long 1060153037 + .long 1036688584 + .long 1064586620 + .long 3226724213 + .long 1059887093 + .long 3204557467 + .long 1064399370 + .long 2537253116 + .long 1059621900 + .long 9237192 + .long 1064172066 + .long 2128730302 + .long 1059394069 + .long 1675559132 + .long 1063895178 + .long 2391191686 + .long 1059198360 + .long 1487886995 + .long 1063657138 + .long 3062168369 + .long 1058998770 + .long 2727312836 + .long 1063452520 + .long 2844502355 + .long 1058710050 + .long 561521250 + .long 1063276654 + .long 1615260518 + .long 1058462128 + .long 4265220818 + .long 1062994970 + .long 3808626276 + .long 1058249264 + .long 1910769961 + .long 1062735234 + .long 3535160914 + .long 1058066524 + .long 510111814 + .long 1062512076 + .long 3526462797 + .long 1057806144 + .long 1272947135 + .long 1062320368 + .long 64586368 + .long 1057536886 + .long 2171539441 + .long 1062103909 + .long 282809207 + .long 1057305816 + .long 3362559227 + .long 1061821054 + .long 3734035482 + .long 1057107542 + .long 964703473 + .long 1061578153 + .long 1785752034 + .long 1056910256 + .long 210580293 + .long 1061369587 + .long 1859847393 + .long 1056618395 + .long 3205737460 + .long 1061190524 + .long 991232585 + .long 1056368051 + .long 400215000 + .long 1060914711 + .long 1378265051 + .long 1056153344 + .long 624694001 + .long 1060650838 + .long 422472125 + .long 1055969224 + .long 732814700 + .long 1060424376 + .long 184700884 + .long 1055706673 + .long 82117668 + .long 1060230045 + .long 341178737 + .long 1055435976 + .long 3204396423 + .long 1060016276 + .long 86602655 + .long 1055203927 + .long 57156315 + .long 1059730184 + .long 1344528830 + .long 1055005032 + .long 4171459327 + .long 1059484772 + .long 2489220987 + .long 1054801695 + .long 2619830600 + .long 1059274284 + .long 1364863812 + .long 1054509562 + .long 2075471815 + .long 1059093771 + .long 3035513672 + .long 1054259259 + .long 3172072720 + .long 1058816207 + .long 774888989 + .long 1054044824 + .long 2795043467 + .long 1058550783 + .long 2545027767 + .long 1053861138 + .long 3672062656 + .long 1058323241 + .long 1069016163 + .long 1053588745 + .long 2507613117 + .long 1058128199 + .long 106954761 + .long 1053319280 + .long 4118160134 + .long 1057908886 + .long 2071148562 + .long 1053088540 + .long 3274049128 + .long 1057622380 + .long 1504097826 + .long 1052890985 + .long 1205074058 + .long 1057376886 + .long 2335886464 + .long 1052673421 + .long 3128666935 + .long 1057166558 + .long 2974694783 + .long 1052383892 + .long 2455986770 + .long 1056986382 + .long 4090613532 + .long 1052136093 + .long 3506008771 + .long 1056699500 + .long 2593477673 + .long 1051924036 + .long 2679845102 + .long 1056435156 + .long 2652867038 + .long 1051742587 + .long 2936547419 + .long 1056208790 + .long 3722139095 + .long 1051452967 + .long 1937071815 + .long 1056014970 + .long 4071138000 + .long 1051187367 + .long 281855336 + .long 1055782042 + .long 4026582813 + .long 1050960187 + .long 58418475 + .long 1055497959 + .long 4239898754 + .long 1050765893 + .long 1880586525 + .long 1055254809 + .long 3166599183 + .long 1050526339 + .long 3309560683 + .long 1055046720 + .long 1372242815 + .long 1050242215 + .long 1098949801 + .long 1054868659 + .long 320314846 + .long 1049999309 + .long 1480871853 + .long 1054565165 + .long 3414900757 + .long 1049791666 + .long 3778886620 + .long 1054304499 + .long 1658502550 + .long 1049603805 + .long 1985450142 + .long 1054081530 + .long 2195452177 + .long 1049300457 + .long 371263915 + .long 1053890829 + .long 736946713 + .long 1049041243 + .long 3794434276 + .long 1053636611 + .long 2129280925 + .long 1048819768 + .long 2911553074 + .long 1053357716 + .long 4163443926 + .long 1048630561 + .long 3601516282 + .long 1053119270 + .long 3922439198 + .long 1048361883 + .long 3551125735 + .long 1052915432 + .long 1423074626 + .long 1048085806 + .long 566278539 + .long 1052712098 + .long 3103650856 + .long 1047850038 + .long 1653025731 + .long 1052414283 + .long 89985488 + .long 1047648720 + .long 3828200832 + .long 1052159786 + .long 2126375434 + .long 1047426251 + .long 2263717319 + .long 1051942334 + .long 1526941242 + .long 1047132787 + .long 4268229662 + .long 1051756556 + .long 571254441 + .long 1046882294 + .long 3421997627 + .long 1051473991 + .long 3635786287 + .long 1046668505 + .long 3475446781 + .long 1051202896 + .long 1586213824 + .long 1046486066 + .long 2695546121 + .long 1050971375 + .long 3242786031 + .long 1046181947 + .long 2632318429 + .long 1050773675 + .long 2032056883 + .long 1045916328 + .long 2529106959 + .long 1050536601 + .long 957132524 + .long 1045689741 + .long 3147584511 + .long 1050248391 + .long 4065698506 + .long 1045496473 + .long 3462344565 + .long 1050002374 + .long 144784160 + .long 1045233022 + .long 2860265986 + .long 1049792399 + .long 3762462124 + .long 1044951912 + .long 1082602800 + .long 1049601840 + .long 24148966 + .long 1044712229 + .long 3294945749 + .long 1049296035 + .long 3365386114 + .long 1044507890 + .long 188274458 + .long 1049035128 + .long 1110470638 + .long 1044285718 + .long 3669055968 + .long 1048812552 + .long 1728691669 + .long 1043988796 + .long 2895341355 + .long 1048622701 + .long 2733832444 + .long 1043735753 + .long 1139529843 + .long 1048345566 + .long 3583218421 + .long 1043520131 + .long 3965629786 + .long 1048069408 + .long 1987803048 + .long 1043336419 + .long 594343604 + .long 1047833940 + .long 3575686132 + .long 1043026706 + .long 2364830100 + .long 1047633189 + .long 3702231228 + .long 1042760081 + .long 1709502397 + .long 1047396694 + .long 1513151189 + .long 1042532997 + .long 723955360 + .long 1047104969 + .long 275375183 + .long 1042339613 + .long 1048166754 + .long 1046856348 + .long 3055178583 + .long 1042065351 + .long 2867678576 + .long 1046644488 + .long 2863378291 + .long 1041784963 + .long 73800117 + .long 1046449106 + .long 3095460318 + .long 1041546273 + .long 1863735641 + .long 1046141539 + .long 2209407776 + .long 1041343105 + .long 1626801313 + .long 1045879546 + .long 2796375947 + .long 1041104419 + .long 1654412224 + .long 1045656401 + .long 1810533568 + .long 1040810133 + .long 1760921420 + .long 1045466367 + .long 1986199598 + .long 1040559734 + .long 1489107984 + .long 1045178830 + .long 3507903350 + .long 1040346703 + .long 695456108 + .long 1044903287 + .long 3803877206 + .long 1040143581 + .long 1450503897 + .long 1044668716 + .long 1047104294 + .long 1039835311 + .long 3898922767 + .long 1044469049 + .long 1836915555 + .long 1039573141 + .long 3452138526 + .long 1044216533 + .long 1850834244 + .long 1039350205 + .long 3300200332 + .long 1043927307 + .long 155433612 + .long 1039160655 + .long 1893459278 + .long 1043681209 + .long 2416438279 + .long 1038860204 + .long 2345131655 + .long 1043471833 + .long 655740975 + .long 1038586246 + .long 2233243491 + .long 1043254324 + .long 1937958484 + .long 1038353399 + .long 1214496715 + .long 1042951331 + .long 709870736 + .long 1038155519 + .long 315937416 + .long 1042693645 + .long 3786312713 + .long 1037884509 + .long 4032052801 + .long 1042474517 + .long 1638503364 + .long 1037598791 + .long 3912551254 + .long 1042288202 + .long 3946536954 + .long 1037356067 + .long 1108762442 + .long 1041975068 + .long 3228475787 + .long 1037149894 + .long 1850199187 + .long 1041705777 + .long 3115208651 + .long 1036907914 + .long 1900259957 + .long 1041476894 + .long 3178011185 + .long 1036610512 + .long 3601457727 + .long 1041282379 + .long 1116713894 + .long 1036357987 + .long 2019199185 + .long 1040998218 + .long 3490939155 + .long 1036143592 + .long 163110902 + .long 1040717352 + .long 3244394505 + .long 1035930099 + .long 1983419685 + .long 1040478747 + .long 2352989314 + .long 1035621140 + .long 2027948076 + .long 1040276070 + .long 3593160161 + .long 1035358929 + .long 3667278182 + .long 1040020472 + .long 1237413608 + .long 1035136421 + .long 1788776124 + .long 1039728107 + .long 2226049380 + .long 1034947626 + .long 3782116261 + .long 1039479855 + .long 3237854159 + .long 1034630401 + .long 3928059158 + .long 1039269087 + .long 2563567733 + .long 1034358665 + .long 2613981636 + .long 1039041515 + .long 1914887475 + .long 1034128186 + .long 3806068620 + .long 1038737776 + .long 929391145 + .long 1033932724 + .long 2594567776 + .long 1038479994 + .long 4184711150 + .long 1033638021 + .long 1119648630 + .long 1038261242 + .long 3474759119 + .long 1033356963 + .long 1939641769 + .long 1038061026 + .long 1529494156 + .long 1033118694 + .long 2101490682 + .long 1037746090 + .long 233245116 + .long 1032916724 + .long 859180120 + .long 1037478936 + .long 2644400424 + .long 1032643727 + .long 4278463368 + .long 1037252341 + .long 3696690126 + .long 1032353594 + .long 2146825917 + .long 1037060173 + .long 1784326616 + .long 1032107752 + .long 73703255 + .long 1036752777 + .long 2385418051 + .long 1031899464 + .long 2670831976 + .long 1036476452 + .long 250840531 + .long 1031647248 + .long 1981749041 + .long 1036242195 + .long 451541801 + .long 1031348332 + .long 2695979644 + .long 1036043625 + .long 3892844867 + .long 1031095170 + .long 511961360 + .long 1035757566 + .long 2644426 + .long 1030880787 + .long 4280120015 + .long 1035472316 + .long 3771064856 + .long 1030648317 + .long 1573160013 + .long 1035230612 + .long 3150549002 + .long 1030340953 + .long 367750239 + .long 1035025830 + .long 2468113812 + .long 1030080764 + .long 2027452822 + .long 1034760190 + .long 3247571780 + .long 1029860536 + .long 1968300091 + .long 1034466305 + .long 338123715 + .long 1029646679 + .long 1454863160 + .long 1034217405 + .long 2802189797 + .long 1029331244 + .long 567260686 + .long 1034006630 + .long 884858248 + .long 1029064354 + .long 4229980104 + .long 1033760387 + .long 2562855793 + .long 1028838564 + .long 30614746 + .long 1033458199 + .long 1344331785 + .long 1028642083 + .long 2106523192 + .long 1033202391 + .long 1476351022 + .long 1028318998 + .long 538704847 + .long 1032985873 + .long 789726858 + .long 1028045768 + .long 67344372 + .long 1032757904 + .long 38817182 + .long 1027814728 + .long 1596575633 + .long 1032447785 + .long 131040432 + .long 1027619387 + .long 4213872347 + .long 1032185393 + .long 2944168450 + .long 1027304018 + .long 3593256783 + .long 1031963411 + .long 38618666 + .long 1027024844 + .long 2460539498 + .long 1031752493 + .long 1972432303 + .long 1026788892 + .long 3667681220 + .long 1031434860 + .long 1595814988 + .long 1026589496 + .long 2417051493 + .long 1031166243 + .long 3052212459 + .long 1026286121 + .long 3183595507 + .long 1030939105 + .long 3275485393 + .long 1026001429 + .long 2041939610 + .long 1030743923 + .long 2614927437 + .long 1025760932 + .long 571801759 + .long 1030419232 + .long 1586920675 + .long 1025557794 + .long 367925355 + .long 1030144780 + .long 1211347758 + .long 1025265137 + .long 1181761285 + .long 1029912822 + .long 2123985710 + .long 1024975385 + .long 955718971 + .long 1029716803 + .long 1991764463 + .long 1024730733 + .long 33560069 + .long 1029400718 + .long 2766099915 + .long 1024524186 + .long 4066494735 + .long 1029120853 + .long 2844029464 + .long 1024240910 + .long 163608264 + .long 1028884438 + .long 2225325311 + .long 1023946584 + .long 2372007245 + .long 1028684749 + .long 1897238919 + .long 1023698191 + .long 227068009 + .long 1028379151 + .long 2677487111 + .long 1023488588 + .long 1987805596 + .long 1028094327 + .long 4113166783 + .long 1023213303 + .long 3994070673 + .long 1027853839 + .long 2561043816 + .long 1022914914 + .long 3987049129 + .long 1027650811 + .long 1479042232 + .long 1022663215 + .long 734550339 + .long 1027354379 + .long 1459326848 + .long 1022450926 + .long 643236952 + .long 1027065076 + .long 1801264067 + .long 1022182197 + .long 880654138 + .long 1026820926 + .long 8547555 + .long 1021880279 + .long 1328795750 + .long 1026614907 + .long 947948281 + .long 1021625727 + .long 79912977 + .long 1026326267 + .long 564096622 + .long 1021411137 + .long 3835606021 + .long 1026032989 + .long 2496399847 + .long 1021147490 + .long 1850584198 + .long 1025785607 + .long 1889307521 + .long 1020842597 + .long 841981738 + .long 1025576963 + .long 478581110 + .long 1020585663 + .long 1231833403 + .long 1025294697 + .long 1036943228 + .long 1020369170 + .long 4261529471 + .long 1024997973 + .long 955211877 + .long 1020109103 + .long 1453373905 + .long 1024747807 + .long 3507293620 + .long 1019801806 + .long 1380070272 + .long 1024536918 + .long 2848526444 + .long 1019542973 + .long 3528672768 + .long 1024259571 + .long 1318010026 + .long 1019324987 + .long 286393117 + .long 1023959950 + .long 601957754 + .long 1019066976 + .long 2374157349 + .long 1023707463 + .long 3647692231 + .long 1018757861 + .long 1025615074 + .long 1023494723 + .long 2600447177 + .long 1018497624 + .long 2435816139 + .long 1023220812 + .long 3130361093 + .long 1018278562 + .long 3480145686 + .long 1022918856 + .long 3104472293 + .long 1018021071 + .long 836507968 + .long 1022664528 + .long 2166059604 + .long 1017710735 + .long 3435329435 + .long 1022450340 + .long 354251728 + .long 1017449597 + .long 1375913924 + .long 1022178362 + .long 3957119597 + .long 1017229883 + .long 2510530293 + .long 1021874650 + .long 1353439561 + .long 1016971374 + .long 1479384562 + .long 1021618968 + .long 1117210896 + .long 1016660419 + .long 2207338084 + .long 1021403746 + .long 3595246717 + .long 1016398887 + .long 1228469165 + .long 1021132185 + .long 1863134756 + .long 1016178951 + .long 3618343345 + .long 1020827305 + .long 1593456879 + .long 1015917890 + .long 1551664931 + .long 1020570766 + .long 818554246 + .long 1015606923 + .long 3379165224 + .long 1020354928 + .long 1042640705 + .long 1015345509 + .long 1826130738 + .long 1020082267 + .long 4064063037 + .long 1015125778 + .long 1621091539 + .long 1019776815 + .long 1682486703 + .long 1014860648 + .long 240150038 + .long 1019519920 + .long 3727864838 + .long 1014550275 + .long 143188723 + .long 1019303889 + .long 790799965 + .long 1014289489 + .long 2542415732 + .long 1019028616 + .long 588413497 + .long 1014070393 + .long 1689575436 + .long 1018723190 + .long 2792671236 + .long 1013799698 + .long 3056208300 + .long 1018466442 + .long 371323596 + .long 1013490524 + .long 2852159690 + .long 1018250641 + .long 3381178375 + .long 1013230870 + .long 1962846177 + .long 1017971262 + .long 1824492044 + .long 1013012833 + .long 1698970705 + .long 1017666460 + .long 3028927939 + .long 1012735112 + .long 4099940321 + .long 1017410362 + .long 1762396229 + .long 1012427732 + .long 4056511372 + .long 1017195213 + .long 14908137 + .long 1012169712 + .long 938952971 + .long 1016910256 + .long 2528275841 + .long 1011953151 + .long 3880280468 + .long 1016606672 + .long 3058306216 + .long 1011666982 + .long 2044019052 + .long 1016351724 + .long 2373660276 + .long 1011361982 + .long 3135727133 + .long 1016137645 + .long 225152199 + .long 1011106085 + .long 452119821 + .long 1015845670 + .long 1163258714 + .long 1010891411 + .long 4249348051 + .long 1015543892 + .long 2315171378 + .long 1010595420 + .long 2608843243 + .long 1015290585 + .long 2546526795 + .long 1010293372 + .long 344938492 + .long 1015077989 + .long 3142047356 + .long 1010040075 + .long 2906234993 + .long 1014777596 + .long 1586501027 + .long 1009827687 + .long 2790006338 + .long 1014478202 + .long 3012990026 + .long 1009520556 + .long 3258728209 + .long 1014227018 + .long 189552738 + .long 1009222016 + .long 3248905777 + .long 1014016307 + .long 2584211501 + .long 1008971782 + .long 4004901026 + .long 1013706147 + .long 1410689418 + .long 1008762065 + .long 68165466 + .long 1013409700 + .long 548910252 + .long 1008442539 + .long 3101481013 + .long 1013161109 + .long 3358267658 + .long 1008148040 + .long 2622791965 + .long 1012952676 + .long 253475263 + .long 1007901316 + .long 1034569821 + .long 1012631454 + .long 1442345681 + .long 1007694640 + .long 1797217383 + .long 1012338498 + .long 3320919141 + .long 1007361531 + .long 3671711579 + .long 1012092956 + .long 3647684057 + .long 1007071587 + .long 3754258988 + .long 1011887180 + .long 1315509194 + .long 1006828797 + .long 435316714 + .long 1011553663 + .long 3763444467 + .long 1006618072 + .long 1343743202 + .long 1011264725 + .long 431196773 + .long 1006277713 + .long 644693663 + .long 1011022670 + .long 658882017 + .long 1005992810 + .long 3036828008 + .long 1010812566 + .long 1013879423 + .long 1005754357 + .long 3254960231 + .long 1010472937 + .long 732312959 + .long 1005525227 + .long 364114922 + .long 1010188521 + .long 1914291876 + .long 1005191274 + .long 893250344 + .long 1009950370 + .long 302574489 + .long 1004911871 + .long 405626062 + .long 1009723279 + .long 1033995149 + .long 1004678135 + .long 2924566656 + .long 1009389455 + .long 998984549 + .long 1004429445 + .long 3214785467 + .long 1009110037 + .long 1256006080 + .long 1004102418 + .long 520918293 + .long 1008876187 + .long 4195881140 + .long 1003828942 + .long 1645230926 + .long 1008630881 + .long 4142236847 + .long 1003600277 + .long 4030010378 + .long 1008303406 + .long 1715780765 + .long 1003330976 + .long 2388560405 + .long 1008029437 + .long 2030345922 + .long 1003011356 + .long 1242623559 + .long 1007800259 + .long 3116364008 + .long 1002744205 + .long 2151502628 + .long 1007535609 + .long 52145394 + .long 1002520938 + .long 2039806163 + .long 1007214992 + .long 2071737364 + .long 1002230079 + .long 2297832268 + .long 1006946891 + .long 1375985655 + .long 1001918308 + .long 753214039 + .long 1006722732 + .long 363800178 + .long 1001657845 + .long 3101371093 + .long 1006437710 + .long 2715202506 + .long 1001440272 + .long 1391928156 + .long 1006124422 + .long 2334989461 + .long 1001127020 + .long 4174372081 + .long 1005862577 + .long 3422981822 + .long 1000823498 + .long 100350707 + .long 1005643757 + .long 686101477 + .long 1000570051 + .long 2126761942 + .long 1005337441 + .long 1665180946 + .long 1000358442 + .long 3315477314 + .long 1005031913 + .long 2844311213 + .long 1000022070 + .long 3705683901 + .long 1004776680 + .long 2635672858 + .long 999727156 + .long 2359685722 + .long 1004563489 + .long 3504007429 + .long 999481016 + .long 1015634823 + .long 1004235065 + .long 2858150846 + .long 999258291 + .long 2137762587 + .long 1003937689 + .long 3061487311 + .long 998915503 + .long 1488443063 + .long 1003689388 + .long 1589484739 + .long 998629512 + .long 1064828973 + .long 1003476945 + .long 512274466 + .long 998390936 + .long 488660656 + .long 1003130850 + .long 1785973029 + .long 998139524 + .long 3056590348 + .long 1002841975 + .long 792273441 + .long 997807594 + .long 608615156 + .long 1002600891 + .long 3141683054 + .long 997530796 + .long 3952431401 + .long 1002360773 + .long 3501562020 + .long 997300002 + .long 3637234427 + .long 1002025066 + .long 1463016393 + .long 997019404 + .long 1340710858 + .long 1001745000 + .long 268181451 + .long 996698615 + .long 15279650 + .long 1001511381 + .long 2850564408 + .long 996431238 + .long 2773876475 + .long 1001242979 + .long 3686799359 + .long 996208408 + .long 2359804966 + .long 1000917986 + .long 607517515 + .long 995898253 + .long 356567530 + .long 1000646991 + .long 3414733929 + .long 995588835 + .long 941685878 + .long 1000421049 + .long 3196577409 + .long 995331063 + .long 2352724485 + .long 1000123883 + .long 45721019 + .long 995116343 + .long 2732285461 + .long 999809878 + .long 2498269658 + .long 994776386 + .long 4080566165 + .long 999548173 + .long 1573418417 + .long 994478520 + .long 672937786 + .long 999330085 + .long 2432349626 + .long 994230492 + .long 3987502969 + .long 999003802 + .long 178865735 + .long 993997931 + .long 3507412356 + .long 998701008 + .long 1301680304 + .long 993654112 + .long 1354325422 + .long 998448771 + .long 2115298536 + .long 993367925 + .long 3282835643 + .long 998232997 + .long 1075025911 + .long 993129739 + .long 4196663680 + .long 997883048 + .long 3413566344 + .long 992861581 + .long 843520004 + .long 997591637 + .long 3453132818 + .long 992531727 + .long 2082923672 + .long 997349000 + .long 4115152178 + .long 992257298 + .long 3095722608 + .long 997098223 + .long 326280969 + .long 992029010 + .long 2669633427 + .long 996761924 + .long 2448422725 + .long 991725357 + .long 2159662237 + .long 996482016 + .long 2559948630 + .long 991409518 + .long 884616263 + .long 996249072 + .long 453104061 + .long 991146878 + .long 2132235194 + .long 995963271 + .long 1056032481 + .long 990928502 + .long 2326528573 + .long 995640722 + .long 3896143322 + .long 990589585 + .long 1939180791 + .long 995372390 + .long 2373804472 + .long 990287756 + .long 1389926077 + .long 995149189 + .long 2095232049 + .long 990036888 + .long 2515538542 + .long 994828478 + .long 2478108217 + .long 989801061 + .long 1556420888 + .long 994519723 + .long 3486874292 + .long 989454576 + .long 1142146280 + .long 994262992 + .long 1978383670 + .long 989166698 + .long 606390394 + .long 994049043 + .long 2983865158 + .long 988927542 + .long 2939512955 + .long 993694166 + .long 923076156 + .long 988650607 + .long 165760997 + .long 993399194 + .long 944718362 + .long 988320621 + .long 1552124838 + .long 993154043 + .long 3353375996 + .long 988046584 + .long 4257934158 + .long 992899176 + .long 1525400095 + .long 987819039 + .long 4075494167 + .long 992560639 + .long 1555495152 + .long 987501649 + .long 1900423578 + .long 992279386 + .long 3069103793 + .long 987187989 + .long 860670730 + .long 992045752 + .long 2678272534 + .long 986927638 + .long 329100681 + .long 991750501 + .long 1378707480 + .long 986711562 + .long 2155143368 + .long 991428183 + .long 3554901667 + .long 986354490 + .long 686294964 + .long 991160536 + .long 2145982135 + .long 986056931 + .long 1396697757 + .long 990938313 + .long 4035748397 + .long 985810064 + .long 2169037708 + .long 990603336 + .long 271321638 + .long 985549120 + .long 817743244 + .long 990297062 + .long 1201346615 + .long 985209408 + .long 2144482665 + .long 990042861 + .long 2698120951 + .long 984927673 + .long 599125070 + .long 989808069 + .long 3967608741 + .long 984694049 + .long 1564740896 + .long 989457979 + .long 489506655 + .long 984387826 + .long 2575179602 + .long 989167519 + .long 2370519897 + .long 984066651 + .long 3075238372 + .long 988926562 + .long 2065809110 + .long 983800420 + .long 3876677130 + .long 988646224 + .long 2698697501 + .long 983579760 + .long 3323391293 + .long 988314699 + .long 2714262449 + .long 983229499 + .long 1362487400 + .long 988039777 + .long 1035021400 + .long 982926443 + .long 1916156855 + .long 987811821 + .long 2094793757 + .long 982675353 + .long 2055393524 + .long 987487071 + .long 2393106092 + .long 982418977 + .long 998866449 + .long 987173741 + .long 3969867322 + .long 982074380 + .long 1922744909 + .long 986914034 + .long 2506432155 + .long 981788978 + .long 2998892024 + .long 986687584 + .long 347261991 + .long 981552631 + .long 1690677663 + .long 986330874 + .long 2413690975 + .long 981246725 + .long 1099880785 + .long 986035320 + .long 3693189010 + .long 980922677 + .long 1567780161 + .long 985790467 + .long 2571271079 + .long 980654425 + .long 3859186370 + .long 985513845 + .long 3730314294 + .long 980432388 + .long 4196265674 + .long 985177866 + .long 3547308744 + .long 980078695 + .long 1239353938 + .long 984899626 + .long 1123407033 + .long 979774566 + .long 2988355361 + .long 984669229 + .long 2051167882 + .long 979522925 + .long 1440942744 + .long 984344083 + .long 105986494 + .long 979259496 + .long 2110902156 + .long 984028250 + .long 1557216304 + .long 978915069 + .long 3765446217 + .long 983766821 + .long 2473903186 + .long 978630190 + .long 151059819 + .long 983536617 + .long 869034262 + .long 978394593 + .long 285177055 + .long 983178508 + .long 2512779077 + .long 978078143 + .long 2403208304 + .long 982882194 + .long 2873671049 + .long 977755990 + .long 374697932 + .long 982637043 + .long 3419990594 + .long 977489664 + .long 2224992001 + .long 982352777 + .long 3189216525 + .long 977266204 + .long 498231531 + .long 982017294 + .long 2944557452 + .long 976902300 + .long 3702526913 + .long 981739837 + .long 121067572 + .long 976601569 + .long 637342476 + .long 981510400 + .long 2622903681 + .long 976353073 + .long 2434778607 + .long 981174251 + .long 1794490751 + .long 976071276 + .long 2281091232 + .long 980860579 + .long 302674988 + .long 975732067 + .long 362974682 + .long 980601289 + .long 233845232 + .long 975451880 + .long 2527455271 + .long 980355396 + .long 3220861069 + .long 975220473 + .long 1190549452 + .long 980001172 + .long 2033736924 + .long 974883077 + .long 3031959884 + .long 979708467 + .long 4256553093 + .long 974567503 + .long 361352448 + .long 979466628 + .long 1936720772 + .long 974306967 + .long 2482147755 + .long 979163693 + .long 33973548 + .long 974056687 + .long 3888825776 + .long 978833632 + .long 694561999 + .long 973701648 + .long 4061123316 + .long 978561028 + .long 1957941390 + .long 973408636 + .long 1074848063 + .long 978335907 + .long 4046417038 + .long 973166844 + .long 924574978 + .long 977978632 + .long 3264649053 + .long 972856160 + .long 3926973315 + .long 977671688 + .long 3364773894 + .long 972526987 + .long 1003370320 + .long 977418302 + .long 2833336785 + .long 972255455 + .long 251086384 + .long 977145474 + .long 1498372551 + .long 972031498 + .long 2141831240 + .long 976800246 + .long 3202977140 + .long 971663653 + .long 990150277 + .long 976515360 + .long 3029951264 + .long 971359057 + .long 731089008 + .long 976280297 + .long 2368179288 + .long 971107921 + .long 732529087 + .long 975948479 + .long 2332764452 + .long 970820399 + .long 1362481471 + .long 975628530 + .long 2739241638 + .long 970479088 + .long 2897224622 + .long 975364633 + .long 2179305008 + .long 970197784 + .long 395324651 + .long 975118312 + .long 2153988357 + .long 969965965 + .long 591236627 + .long 974759381 + .long 3001603948 + .long 969617099 + .long 1987021701 + .long 974463440 + .long 2644855291 + .long 969302349 + .long 2244557973 + .long 974219465 + .long 916864639 + .long 969043063 + .long 165139525 + .long 973909608 + .long 276518869 + .long 968774762 + .long 3990080337 + .long 973578097 + .long 552598940 + .long 968422976 + .long 3279833141 + .long 973304899 + .long 1081454928 + .long 968133286 + .long 696051737 + .long 973079784 + .long 2434017124 + .long 967894760 + .long 3120641130 + .long 972710094 + .long 634480777 + .long 967561125 + .long 4226179833 + .long 972404509 + .long 517268684 + .long 967237822 + .long 1281067082 + .long 972152800 + .long 1761227011 + .long 966971717 + .long 2607481822 + .long 971861033 + .long 2624051824 + .long 966718364 + .long 2187645281 + .long 971519599 + .long 1855615375 + .long 966357944 + .long 294960735 + .long 971238464 + .long 3872708063 + .long 966061397 + .long 2757484849 + .long 971007006 + .long 501523777 + .long 965817435 + .long 1842856698 + .long 970651568 + .long 3482198253 + .long 965495016 + .long 616475432 + .long 970337913 + .long 3621476950 + .long 965164908 + .long 600490460 + .long 970079777 + .long 781292411 + .long 964893435 + .long 967686799 + .long 969801918 + .long 3077002492 + .long 964650496 + .long 3799086628 + .long 969452366 + .long 2176498416 + .long 964283432 + .long 1531848190 + .long 969164794 + .long 1526795031 + .long 963981677 + .long 738547815 + .long 968928240 + .long 2479877091 + .long 963733641 + .long 4083109352 + .long 968583129 + .long 2332708538 + .long 963418229 + .long 4263389877 + .long 968263116 + .long 1926908008 + .long 963083183 + .long 1435752048 + .long 967999974 + .long 505682123 + .long 962807884 + .long 3506442194 + .long 967731595 + .long 3255894848 + .long 962570641 + .long 650672913 + .long 967375875 + .long 1684060434 + .long 962199040 + .long 3986105406 + .long 967083477 + .long 1151499981 + .long 961893816 + .long 361088418 + .long 966843161 + .long 1553938820 + .long 961643143 + .long 4284810317 + .long 966504272 + .long 1111130284 + .long 961330402 + .long 3195258186 + .long 966179726 + .long 491595974 + .long 960992372 + .long 304210775 + .long 965913085 + .long 403770126 + .long 960714858 + .long 1188817635 + .long 965649591 + .long 499857809 + .long 960478492 + .long 4267083751 + .long 965289757 + .long 4124493950 + .long 960104540 + .long 2922153341 + .long 964994233 + .long 529233938 + .long 959797649 + .long 3581472874 + .long 964751554 + .long 3608946683 + .long 959545821 + .long 538155194 + .long 964414672 + .long 2488844302 + .long 959231368 + .long 1576989210 + .long 964087497 + .long 2644951025 + .long 958892361 + .long 1998681663 + .long 963818926 + .long 1574929094 + .long 958614283 + .long 2017643619 + .long 963555634 + .long 1180921534 + .long 958373958 + .long 2076837303 + .long 963193818 + .long 2754430238 + .long 957999886 + .long 1751525130 + .long 962896920 + .long 592412087 + .long 957693158 + .long 1468210885 + .long 962653322 + .long 3685746645 + .long 957441679 + .long 1578853619 + .long 962314192 + .long 3321692551 + .long 957121161 + .long 3633529452 + .long 961986340 + .long 2957015791 + .long 956783202 + .long 4215453794 + .long 961717444 + .long 3279621706 + .long 956506220 + .long 1025982394 + .long 961449668 + .long 2082874222 + .long 956257171 + .long 3993849966 + .long 961088034 + .long 3615044184 + .long 955885210 + .long 4276507964 + .long 960791540 + .long 3421859393 + .long 955580473 + .long 4027815507 + .long 960548482 + .long 2820597796 + .long 955330841 + .long 1072310897 + .long 960202893 + .long 3332804763 + .long 955000013 + .long 3417828075 + .long 959876328 + .long 2279675950 + .long 954665108 + .long 99678246 + .long 959608718 + .long 3806123428 + .long 954390863 + .long 466320272 + .long 959331850 + .long 3793285141 + .long 954128479 + .long 2240157201 + .long 958972561 + .long 4288855600 + .long 953760823 + .long 1436465249 + .long 958678242 + .long 4261984100 + .long 953459870 + .long 3374600055 + .long 958437173 + .long 858213069 + .long 953213549 + .long 71750759 + .long 958081027 + .long 1442919920 + .long 952868348 + .long 1430951825 + .long 957757690 + .long 2175566002 + .long 952538448 + .long 2718769201 + .long 957492951 + .long 1696930931 + .long 952268533 + .long 2583404221 + .long 957202547 + .long 963147336 + .long 951988438 + .long 3208314316 + .long 956847723 + .long 1854153588 + .long 951627204 + .long 4111780087 + .long 956557310 + .long 4007477170 + .long 951331760 + .long 3491113351 + .long 956319645 + .long 249557432 + .long 951090155 + .long 657089579 + .long 955949031 + .long 2438719310 + .long 950726768 + .long 1229996979 + .long 955630805 + .long 1325718181 + .long 950403737 + .long 1680288607 + .long 955370474 + .long 2642071856 + .long 950139667 + .long 1575881606 + .long 955062327 + .long 2791167757 + .long 949837791 + .long 3331377910 + .long 954714008 + .long 1590057940 + .long 949484984 + .long 2503747043 + .long 954429164 + .long 641645514 + .long 949196679 + .long 2680258862 + .long 954188352 + .long 1230815491 + .long 948960944 + .long 2150797635 + .long 953807515 + .long 1813703537 + .long 948576039 + .long 116181240 + .long 953496193 + .long 118816340 + .long 948261620 + .long 3302159546 + .long 953241727 + .long 3626447740 + .long 948004809 + .long 2446401520 + .long 952911938 + .long 683059647 + .long 947677454 + .long 860372539 + .long 952572051 + .long 3112022276 + .long 947334931 + .long 3912364621 + .long 952294339 + .long 380219932 + .long 947055270 + .long 187717024 + .long 952027909 + .long 1803476103 + .long 946789793 + .long 2186656987 + .long 951657244 + .long 3378513770 + .long 946417065 + .long 1643439369 + .long 951354497 + .long 3136370863 + .long 946112853 + .long 1416038410 + .long 951107253 + .long 3780631002 + .long 945864592 + .long 942707489 + .long 950752291 + .long 2782453257 + .long 945508482 + .long 3103472876 + .long 950422614 + .long 1450651629 + .long 945177928 + .long 727678422 + .long 950153477 + .long 3934725405 + .long 944908268 + .long 938280939 + .long 949857721 + .long 1254801265 + .long 944609650 + .long 1436668302 + .long 949499115 + .long 387274394 + .long 944250867 + .long 1037604191 + .long 949206468 + .long 1214354804 + .long 943958286 + .long 1288787065 + .long 948967677 + .long 1628681606 + .long 943719721 + .long 1364770879 + .long 948584430 + .long 2356480148 + .long 943332047 + .long 2232983874 + .long 948266570 + .long 2472607937 + .long 943014945 + .long 152561608 + .long 948007302 + .long 1041454594 + .long 942756481 + .long 656997263 + .long 947678997 + .long 1287289635 + .long 942421850 + .long 2873996919 + .long 947334132 + .long 1761222899 + .long 942078549 + .long 2512699313 + .long 947052940 + .long 1055948892 + .long 941798833 + .long 1028453750 + .long 946783258 + .long 2014422994 + .long 941520657 + .long 3627809013 + .long 946409506 + .long 886779056 + .long 941149401 + .long 643376798 + .long 946104873 + .long 856100138 + .long 940847018 + .long 2753388616 + .long 945856605 + .long 2373935397 + .long 940600761 + .long 1597124066 + .long 945493047 + .long 3754729340 + .long 940227803 + .long 1214339248 + .long 945163381 + .long 603698179 + .long 939901276 + .long 3277829535 + .long 944894811 + .long 3083515615 + .long 939635453 + .long 1309318461 + .long 944585109 + .long 1684164460 + .long 939314058 + .long 3059904757 + .long 944228746 + .long 780318106 + .long 938961845 + .long 3951658840 + .long 943938534 + .long 2130713283 + .long 938675217 + .long 3711490972 + .long 943686046 + .long 1239678668 + .long 938408462 + .long 306375632 + .long 943301250 + .long 1188400462 + .long 938028960 + .long 1385000617 + .long 942987997 + .long 1317429230 + .long 937720238 + .long 3767678044 + .long 942733017 + .long 50896662 + .long 937469126 + .long 2272398052 + .long 942381169 + .long 3916059781 + .long 937102851 + .long 3643870433 + .long 942043418 + .long 2850042265 + .long 936770697 + .long 2930373279 + .long 941768599 + .long 2740071541 + .long 936500624 + .long 1430872319 + .long 941468779 + .long 3098739608 + .long 936183744 + .long 3696620221 + .long 941105015 + .long 245751207 + .long 935826772 + .long 1830441434 + .long 940809139 + .long 2447204935 + .long 935536625 + .long 1113455497 + .long 940564348 + .long 148922838 + .long 935271856 + .long 4096713632 + .long 940172999 + .long 3364160105 + .long 934888631 + .long 2404060692 + .long 939854803 + .long 507991399 + .long 934577262 + .long 4242134422 + .long 939596116 + .long 762179248 + .long 934324305 + .long 2721220833 + .long 939247576 + .long 3091783637 + .long 933956439 + .long 1461709351 + .long 938905753 + .long 1612320917 + .long 933622661 + .long 2843883296 + .long 938627960 + .long 3824295598 + .long 933351598 + .long 4006585018 + .long 938328943 + .long 253449912 + .long 933030350 + .long 3081570155 + .long 937962143 + .long 841641910 + .long 932672943 + .long 1137164145 + .long 937664162 + .long 800676069 + .long 932382798 + .long 4162531434 + .long 937417290 + .long 4284248693 + .long 932110506 + .long 744142124 + .long 937024122 + .long 639046316 + .long 931728219 + .long 2861776732 + .long 936704836 + .long 1017369249 + .long 931417989 + .long 963853663 + .long 936445582 + .long 2991465257 + .long 931166265 + .long 2242471743 + .long 936091827 + .long 1898882364 + .long 930788591 + .long 2293861300 + .long 935750091 + .long 2128358063 + .long 930457250 + .long 2414900450 + .long 935472709 + .long 2990029837 + .long 930188495 + .long 2901502943 + .long 935165388 + .long 3559372231 + .long 929854151 + .long 1473889277 + .long 934800026 + .long 3544677756 + .long 929500651 + .long 458214092 + .long 934503576 + .long 2231747804 + .long 929214028 + .long 1621410906 + .long 934244923 + .long 2134344301 + .long 928924980 + .long 1572349864 + .long 933854731 + .long 2642626673 + .long 928548253 + .long 3830252202 + .long 933538250 + .long 1867753313 + .long 928242909 + .long 1969348719 + .long 933281588 + .long 2048625891 + .long 927995452 + .long 2776095957 + .long 932914286 + .long 3838849642 + .long 927600105 + .long 2402286919 + .long 932576794 + .long 1082046734 + .long 927275175 + .long 1773083206 + .long 932303192 + .long 1951612505 + .long 927011941 + .long 4130759933 + .long 931978760 + .long 1902244241 + .long 926656247 + .long 2294247149 + .long 931619258 + .long 2669148896 + .long 926310853 + .long 3364971459 + .long 931327919 + .long 2495468743 + .long 926031144 + .long 3366616656 + .long 931048210 + .long 3953386573 + .long 925716704 + .long 853467255 + .long 930665684 + .long 1465110303 + .long 925349962 + .long 2635189017 + .long 930355800 + .long 1097045723 + .long 925053073 + .long 2663561857 + .long 930104795 + .long 4279710019 + .long 924781491 + .long 306325375 + .long 929716102 + .long 2898746026 + .long 924392508 + .long 462239248 + .long 929386856 + .long 1453870000 + .long 924077730 + .long 2335736332 + .long 929120265 + .long 1094779956 + .long 923823032 + .long 4273299936 + .long 928770530 + .long 2966779664 + .long 923438488 + .long 4257971173 + .long 928421097 + .long 2721135583 + .long 923105109 + .long 3654170623 + .long 928138265 + .long 3550202435 + .long 922835459 + .long 1468742316 + .long 927828977 + .long 2671277970 + .long 922487886 + .long 3805210274 + .long 927458527 + .long 1661441041 + .long 922135195 + .long 200313425 + .long 927158795 + .long 2561048143 + .long 921850029 + .long 1037270842 + .long 926891434 + .long 1109347057 + .long 921540674 + .long 3014375310 + .long 926499136 + .long 3491915138 + .long 921167961 + .long 4207699703 + .long 926181842 + .long 1565300435 + .long 920866718 + .long 1795473554 + .long 925925244 + .long 1599796951 + .long 920596810 + .long 247541330 + .long 925542904 + .long 2793919848 + .long 920203372 + .long 1663534098 + .long 925207390 + .long 2167496111 + .long 919885494 + .long 3380219859 + .long 924936156 + .long 403597040 + .long 919628696 + .long 3132419559 + .long 924589797 + .long 3224822771 + .long 919241380 + .long 2009056199 + .long 924235408 + .long 2781895274 + .long 918906317 + .long 3317442327 + .long 923949020 + .long 1919086626 + .long 918635735 + .long 580268943 + .long 923639773 + .long 3037357760 + .long 918281927 + .long 2068700529 + .long 923265858 + .long 1708673082 + .long 917929138 + .long 4002488688 + .long 922963802 + .long 2602723734 + .long 917644345 + .long 3700422303 + .long 922692772 + .long 2260876562 + .long 917324943 + .long 1665675474 + .long 922298691 + .long 363728810 + .long 916953898 + .long 2392093762 + .long 921980461 + .long 2201759136 + .long 916654477 + .long 508019297 + .long 921723515 + .long 1499023603 + .long 916370346 + .long 2223020069 + .long 921333847 + .long 2382319208 + .long 915980528 + .long 1825915631 + .long 920998946 + .long 2290153133 + .long 915666074 + .long 2048929424 + .long 920728638 + .long 476225666 + .long 915412445 + .long 1253266701 + .long 920371256 + .long 21210885 + .long 915008952 + .long 2523680296 + .long 920019198 + .long 1458757316 + .long 914679072 + .long 1624958481 + .long 919735147 + .long 1989703136 + .long 914413098 + .long 4229282326 + .long 919410835 + .long 3707851909 + .long 914039080 + .long 836620892 + .long 919041150 + .long 3550570132 + .long 913693398 + .long 2533851209 + .long 918742985 + .long 4015579078 + .long 913414785 + .long 2313741668 + .long 918452493 + .long 3080474344 + .long 913070817 + .long 1561508439 + .long 918064724 + .long 296470695 + .long 912708974 + .long 2930342000 + .long 917752089 + .long 78880241 + .long 912417442 + .long 1862776494 + .long 917496124 + .long 1265086851 + .long 912104055 + .long 380196106 + .long 917089835 + .long 1375131373 + .long 911725710 + .long 4166464334 + .long 916762388 + .long 24006884 + .long 911420995 + .long 1319866357 + .long 916498518 + .long 2141132017 + .long 911138676 + .long 860897312 + .long 916116387 + .long 236239120 + .long 910743512 + .long 2115236967 + .long 915773805 + .long 146180043 + .long 910425367 + .long 1031177610 + .long 915497839 + .long 1072471748 + .long 910169261 + .long 1607367253 + .long 915144276 + .long 248260994 + .long 909762276 + .long 140609911 + .long 914786254 + .long 723993920 + .long 909430474 + .long 2010525364 + .long 914497955 + .long 1899461511 + .long 909163472 + .long 810131127 + .long 914173389 + .long 2392480779 + .long 908781891 + .long 771203852 + .long 913799642 + .long 2237999824 + .long 908436226 + .long 3254656095 + .long 913498791 + .long 4011600661 + .long 908158170 + .long 1028077654 + .long 913203603 + .long 1752606261 + .long 907802240 + .long 1853773866 + .long 912813870 + .long 1753490671 + .long 907442528 + .long 1217580654 + .long 912500267 + .long 1207174311 + .long 907153279 + .long 1322256542 + .long 912234787 + .long 1393128133 + .long 906823197 + .long 1486309651 + .long 911828832 + .long 2354574882 + .long 906449278 + .long 3252850416 + .long 911502295 + .long 2811759085 + .long 906148715 + .long 3405910431 + .long 911239672 + .long 678503536 + .long 905844630 + .long 3144505165 + .long 910844414 + .long 1270776285 + .long 905456370 + .long 2555338081 + .long 910504785 + .long 165591832 + .long 905144394 + .long 4205480305 + .long 910231732 + .long 983006844 + .long 904866400 + .long 3824032109 + .long 909860497 + .long 3940506193 + .long 904463691 + .long 503322708 + .long 909507640 + .long 1962709093 + .long 904140224 + .long 734003390 + .long 909224056 + .long 1509987043 + .long 903880437 + .long 3854186452 + .long 908876955 + .long 3880255947 + .long 903471126 + .long 3386727429 + .long 908510757 + .long 1001271645 + .long 903136113 + .long 2325916149 + .long 908216560 + .long 2188608617 + .long 902867151 + .long 4022528213 + .long 907893656 + .long 1370993790 + .long 902478554 + .long 2110527453 + .long 907514032 + .long 1191381672 + .long 902131963 + .long 3034498014 + .long 907209160 + .long 2921830999 + .long 901853808 + .long 2893217811 + .long 906910463 + .long 827890390 + .long 901485849 + .long 3590640771 + .long 906517353 + .long 1737372310 + .long 901127674 + .long 4203107811 + .long 906201767 + .long 2522875588 + .long 900840328 + .long 2905189334 + .long 905927233 + .long 4027525350 + .long 900492882 + .long 2169713377 + .long 905520607 + .long 2914175678 + .long 900123143 + .long 2794153011 + .long 905194290 + .long 3725010753 + .long 899826628 + .long 4032438844 + .long 904932453 + .long 3480445566 + .long 899499523 + .long 2717221125 + .long 904523675 + .long 3367003424 + .long 899118265 + .long 1306272356 + .long 904186634 + .long 1591078925 + .long 898812625 + .long 2318261527 + .long 903916291 + .long 1710420698 + .long 898505637 + .long 918588433 + .long 903526437 + .long 1812172828 + .long 898112933 + .long 619908269 + .long 903178702 + .long 2070012647 + .long 897798232 + .long 1065400748 + .long 902899884 + .long 596032115 + .long 897511087 + .long 2350401875 + .long 902528768 + .long 3130964735 + .long 897107037 + .long 1534942987 + .long 902170395 + .long 1974153161 + .long 896783363 + .long 718768260 + .long 901883153 + .long 3713195306 + .long 896515734 + .long 3023748922 + .long 901530543 + .long 3077591219 + .long 896100468 + .long 2108376912 + .long 901161613 + .long 3384321279 + .long 895767930 + .long 879913337 + .long 900866018 + .long 2948257547 + .long 895501672 + .long 105379254 + .long 900531635 + .long 3130809274 + .long 895093115 + .long 3668874543 + .long 900152254 + .long 2344863288 + .long 894751846 + .long 1693301842 + .long 899848398 + .long 2182882772 + .long 894478697 + .long 2740967568 + .long 899531913 + .long 3938611313 + .long 894084867 + .long 4024351473 + .long 899142216 + .long 3379356120 + .long 893735022 + .long 996958903 + .long 898830212 + .long 669107615 + .long 893455112 + .long 18747765 + .long 898531250 + .long 3114017415 + .long 893075614 + .long 3622556470 + .long 898131396 + .long 3982846185 + .long 892717371 + .long 114342809 + .long 897811378 + .long 1203147974 + .long 892430847 + .long 2024547485 + .long 897529514 + .long 1664423927 + .long 892065246 + .long 3179166681 + .long 897119691 + .long 620119924 + .long 891698807 + .long 1098933661 + .long 896791814 + .long 1037181518 + .long 891405834 + .long 3650337561 + .long 896526577 + .long 1861485363 + .long 891053654 + .long 1351962913 + .long 896106999 + .long 3334511898 + .long 890679242 + .long 4012272108 + .long 895771439 + .long 1841073258 + .long 890380005 + .long 4290189130 + .long 895503107 + .long 832803244 + .long 890040732 + .long 1039012571 + .long 895093218 + .long 3121683048 + .long 889658594 + .long 4225764782 + .long 894750174 + .long 2488892912 + .long 889353294 + .long 885105428 + .long 894475959 + .long 1336133999 + .long 889026375 + .long 2813468574 + .long 894078248 + .long 3726214539 + .long 888636780 + .long 2621065376 + .long 893727940 + .long 430989427 + .long 888325637 + .long 1773135169 + .long 893448020 + .long 1046970926 + .long 888010482 + .long 2661848816 + .long 893061992 + .long 1885377562 + .long 887613721 + .long 2908805291 + .long 892704659 + .long 1642436451 + .long 887296970 + .long 3870467369 + .long 892419230 + .long 3294540197 + .long 886992954 + .long 2602382296 + .long 892044354 + .long 1907781618 + .long 886589339 + .long 349974906 + .long 891680257 + .long 483887407 + .long 886267234 + .long 2854722307 + .long 891389531 + .long 1986869678 + .long 885973698 + .long 4105069697 + .long 891025241 + .long 150728244 + .long 885563561 + .long 523840461 + .long 890654660 + .long 2480039526 + .long 885236370 + .long 3008576795 + .long 890358865 + .long 839832309 + .long 884952623 + .long 1479629527 + .long 890004565 + .long 3809198552 + .long 884536315 + .long 3707004960 + .long 889627798 + .long 4107209089 + .long 884204324 + .long 1267598110 + .long 889327178 + .long 2471205168 + .long 883929643 + .long 987437808 + .long 888982239 + .long 2400700966 + .long 883507537 + .long 2097404888 + .long 888599606 + .long 2595485221 + .long 883171045 + .long 1298276960 + .long 888294417 + .long 3000160935 + .long 882902835 + .long 1239379557 + .long 887958182 + .long 3604023387 + .long 882477163 + .long 2757426509 + .long 887570019 + .long 1377004128 + .long 882136484 + .long 1763229218 + .long 887260533 + .long 127369589 + .long 881865036 + .long 3585762101 + .long 886932317 + .long 297189727 + .long 881445137 + .long 3251206785 + .long 886538978 + .long 2582026865 + .long 881100596 + .long 1714989854 + .long 886225480 + .long 2055212824 + .long 880826172 + .long 945723168 + .long 885904574 + .long 1928384307 + .long 880411404 + .long 1570329900 + .long 885506428 + .long 3754723139 + .long 880063341 + .long 1635594783 + .long 885189215 + .long 3962092285 + .long 879786213 + .long 898235925 + .long 884874885 + .long 1361189791 + .long 879375918 + .long 1683463706 + .long 884472317 + .long 3076152421 + .long 879024683 + .long 114338768 + .long 884151699 + .long 2512644944 + .long 878745132 + .long 1418463077 + .long 883843190 + .long 1739233247 + .long 878338636 + .long 1815793119 + .long 883436599 + .long 202626192 + .long 877984590 + .long 3336394150 + .long 883112895 + .long 793265286 + .long 877702904 + .long 852684626 + .long 882809435 + .long 282832335 + .long 877299522 + .long 4104311394 + .long 882399232 + .long 1303099501 + .long 876943033 + .long 130961368 + .long 882072774 + .long 285035606 + .long 876659508 + .long 3466761053 + .long 881773571 + .long 2024735521 + .long 876258544 + .long 2671330446 + .long 881360181 + .long 2520190109 + .long 875899990 + .long 1357069892 + .long 881031306 + .long 1344649773 + .long 875614927 + .long 3378850570 + .long 880735558 + .long 3348977997 + .long 875215678 + .long 1648607189 + .long 880319414 + .long 3389577553 + .long 874855443 + .long 1887598195 + .long 879988469 + .long 3599747395 + .long 874569148 + .long 2702554388 + .long 879695361 + .long 1161968437 + .long 874170906 + .long 3016158287 + .long 879276905 + .long 2969076618 + .long 873809379 + .long 2625627624 + .long 878944244 + .long 1960680808 + .long 873522163 + .long 3763639732 + .long 878652952 + .long 1921572883 + .long 873124214 + .long 2904970596 + .long 878232635 + .long 148986151 + .long 872761790 + .long 2354697410 + .long 877898617 + .long 4016176068 + .long 872473965 + .long 1154000274 + .long 877608312 + .long 456067935 + .long 872075597 + .long 654017044 + .long 877186590 + .long 2436306443 + .long 871712671 + .long 2369273604 + .long 876851578 + .long 91759236 + .long 871424555 + .long 3682705119 + .long 876561426 + .long 1585156713 + .long 871025054 + .long 3438136693 + .long 876138760 + .long 261662904 + .long 870662026 + .long 2408027594 + .long 875803122 + .long 1934119935 + .long 870373933 + .long 321143002 + .long 875512291 + .long 2937546672 + .long 869972592 + .long 694423726 + .long 875089145 + .long 1297626718 + .long 869609860 + .long 773075831 + .long 874753249 + .long 3992295289 + .long 869322107 + .long 3283908802 + .long 874460906 + .long 3389615853 + .long 868918224 + .long 2834900087 + .long 874037746 + .long 234696339 + .long 868556186 + .long 2929232615 + .long 873701962 + .long 440150105 + .long 868269089 + .long 740700262 + .long 873407283 + .long 2766585564 + .long 867861969 + .long 2511105834 + .long 872984574 + .long 4275241764 + .long 867501019 + .long 4223466008 + .long 872649271 + .long 2106781845 + .long 867214891 + .long 3843152446 + .long 872351436 + .long 1398418337 + .long 866803852 + .long 165147740 + .long 871929644 + .long 2678369791 + .long 866444383 + .long 2559904730 + .long 871595190 + .long 1777148068 + .long 866159533 + .long 3384688121 + .long 871293391 + .long 3828798167 + .long 865743903 + .long 3674571553 + .long 870872975 + .long 617771941 + .long 865386303 + .long 2377300315 + .long 870539736 + .long 3829621740 + .long 865103036 + .long 3600102154 + .long 870233178 + .long 911851132 + .long 864682161 + .long 2093778843 + .long 869814596 + .long 1392255857 + .long 864326809 + .long 1341440966 + .long 869482932 + .long 2249603641 + .long 864045427 + .long 4260146688 + .long 869170835 + .long 3316540851 + .long 863618666 + .long 3690038078 + .long 868754537 + .long 1418090363 + .long 863265937 + .long 2705418254 + .long 868424804 + .long 1512344703 + .long 862986734 + .long 4081096746 + .long 868106407 + .long 1891152572 + .long 862553468 + .long 839851668 + .long 867692837 + .long 2303510298 + .long 862203726 + .long 1802132724 + .long 867365384 + .long 1765088112 + .long 861924507 + .long 3981191118 + .long 867039945 + .long 924131489 + .long 861486619 + .long 3525247586 + .long 866629536 + .long 1356760074 + .long 861140220 + .long 2508333320 + .long 866304706 + .long 235574536 + .long 860851562 + .long 1601875163 + .long 865971507 + .long 4050409408 + .long 860418176 + .long 3997567393 + .long 865564683 + .long 3484080662 + .long 860075465 + .long 3556048906 + .long 865242809 + .long 1623048082 + .long 859776661 + .long 2872564014 + .long 864901155 + .long 56840237 + .long 859348204 + .long 1465109028 + .long 864498330 + .long 2945346767 + .long 859009513 + .long 1942080634 + .long 864179736 + .long 2468098205 + .long 858699887 + .long 3384167790 + .long 863828959 + .long 136008282 + .long 858276767 + .long 913361106 + .long 863430532 + .long 3694658190 + .long 857942417 + .long 557251702 + .long 863115532 + .long 3715381588 + .long 857621327 + .long 4006642264 + .long 862754993 + .long 2044598830 + .long 857203936 + .long 3246446273 + .long 862361349 + .long 1004740285 + .long 856874235 + .long 2862650512 + .long 862050245 + .long 196068828 + .long 856541074 + .long 632546294 + .long 861679337 + .long 1436144984 + .long 856129786 + .long 3938973508 + .long 861290846 + .long 1693192757 + .long 855805025 + .long 3210346292 + .long 860983928 + .long 95827491 + .long 855459222 + .long 3893364562 + .long 860602072 + .long 3134628955 + .long 855054393 + .long 208124267 + .long 860219091 + .long 1355117862 + .long 854734850 + .long 2881260942 + .long 859916635 + .long 1408161160 + .long 854375871 + .long 2961979317 + .long 859523288 + .long 2295571942 + .long 853977838 + .long 2421232363 + .long 859146152 + .long 215616526 + .long 853663774 + .long 308796710 + .long 858848423 + .long 2697053821 + .long 853291124 + .long 2303467270 + .long 858443075 + .long 4185677695 + .long 852900202 + .long 2504752175 + .long 858072104 + .long 1776805445 + .long 852591862 + .long 2741285894 + .long 857779349 + .long 938961097 + .long 852205087 + .long 2538666871 + .long 857361527 + .long 988319124 + .long 851821571 + .long 2444576424 + .long 856997022 + .long 2858553493 + .long 851519182 + .long 3517255771 + .long 856709475 + .long 2228647691 + .long 851117866 + .long 2743576279 + .long 856278741 + .long 135793350 + .long 850742029 + .long 4104316312 + .long 855920983 + .long 811959825 + .long 850445803 + .long 2271553348 + .long 855638863 + .long 2413779693 + .long 850029571 + .long 2723457525 + .long 855194816 + .long 1100651320 + .long 849661663 + .long 3322095530 + .long 854844067 + .long 734798841 + .long 849371793 + .long 3017918219 + .long 854545711 + .long 2097124636 + .long 848940312 + .long 980334191 + .long 854109853 + .long 2261780674 + .long 848580561 + .long 1181561639 + .long 853766354 + .long 2445978453 + .long 848296460 + .long 2057325382 + .long 853450489 + .long 185770139 + .long 847850200 + .long 1272264123 + .long 853023953 + .long 3496489030 + .long 847498811 + .long 2402976033 + .long 852687924 + .long 3232760491 + .long 847194912 + .long 1890793868 + .long 852354173 + .long 360613980 + .long 846759345 + .long 2007774413 + .long 851937219 + .long 214203082 + .long 846416502 + .long 864756452 + .long 851608860 + .long 1364724653 + .long 846092522 + .long 860957622 + .long 851256893 + .long 414291266 + .long 845667858 + .long 2847990878 + .long 850849754 + .long 3201619234 + .long 845333719 + .long 3805110726 + .long 850529242 + .long 3555119440 + .long 844989427 + .long 1541097182 + .long 850158778 + .long 3124505016 + .long 844575848 + .long 2758952695 + .long 849761661 + .long 2684463413 + .long 844250551 + .long 224090120 + .long 849449154 + .long 1745386371 + .long 843885766 + .long 4028181344 + .long 849059957 + .long 1429614975 + .long 843483425 + .long 2410713953 + .long 848673042 + .long 1168818287 + .long 843167083 + .long 2344194355 + .long 848368674 + .long 794354606 + .long 842781673 + .long 3605521232 + .long 847960559 + .long 2341643823 + .long 842390694 + .long 2344315756 + .long 847583998 + .long 3401084561 + .long 842083398 + .long 1224289029 + .long 847287884 + .long 3330282586 + .long 841677280 + .long 1378225408 + .long 846860710 + .long 3707089808 + .long 841297760 + .long 1211854479 + .long 846494629 + .long 2108755824 + .long 840999580 + .long 4038488407 + .long 846206861 + .long 3316809186 + .long 840572718 + .long 2123889623 + .long 845760533 + .long 1133718508 + .long 840204726 + .long 2689010255 + .long 845405032 + .long 2478367461 + .long 839915708 + .long 1111837414 + .long 845099113 + .long 1227903031 + .long 839468113 + .long 3664630730 + .long 844660150 + .long 3616237593 + .long 839111689 + .long 1003806379 + .long 844315304 + .long 3249247658 + .long 838802921 + .long 1123636763 + .long 843985175 + .long 2185972587 + .long 838363586 + .long 3540249900 + .long 843559680 + .long 2032962651 + .long 838018747 + .long 923779793 + .long 843225537 + .long 730269461 + .long 837684001 + .long 983672123 + .long 842871224 + .long 1365617809 + .long 837259256 + .long 1516456703 + .long 842459238 + .long 2188224421 + .long 836925991 + .long 3488716654 + .long 842135821 + .long 120553846 + .long 836565424 + .long 3382187658 + .long 841757401 + .long 3913800456 + .long 836155235 + .long 2230636855 + .long 841358934 + .long 2145937820 + .long 835833510 + .long 444254590 + .long 841046245 + .long 3402668831 + .long 835447328 + .long 1690639513 + .long 840643844 + .long 2081774108 + .long 835051633 + .long 801531688 + .long 840258876 + .long 4052052130 + .long 834741388 + .long 3150764977 + .long 839956890 + .long 1613760867 + .long 834329847 + .long 3959122148 + .long 839530682 + .long 4061428013 + .long 833948551 + .long 2947383294 + .long 839159165 + .long 318655930 + .long 833649707 + .long 2891884168 + .long 838867838 + .long 3502547121 + .long 833213104 + .long 1269855280 + .long 838418042 + .long 2858908965 + .long 832846088 + .long 2306789972 + .long 838059900 + .long 1485947219 + .long 832547737 + .long 48418559 + .long 837746106 + .long 4267704584 + .long 832097218 + .long 709346115 + .long 837306041 + .long 1170323759 + .long 831744335 + .long 863996347 + .long 836961173 + .long 3554411059 + .long 831415153 + .long 2075961517 + .long 836618235 + .long 1751615758 + .long 830982300 + .long 2702082660 + .long 836194791 + .long 2064609387 + .long 830643377 + .long 3760267143 + .long 835863070 + .long 2055240204 + .long 830283876 + .long 1418377927 + .long 835491401 + .long 4253098103 + .long 829868451 + .long 15560029 + .long 835084399 + .long 4126445773 + .long 829543294 + .long 1376155655 + .long 834765675 + .long 2293109881 + .long 829154028 + .long 1764652244 + .long 834365730 + .long 4186016447 + .long 828755768 + .long 2730502458 + .long 833974961 + .long 1056212727 + .long 828444161 + .long 3107915425 + .long 833669062 + .long 1934334454 + .long 828025723 + .long 2915946803 + .long 833241340 + .long 3478416137 + .long 827644338 + .long 3274402229 + .long 832866570 + .long 2902766972 + .long 827346043 + .long 2576595905 + .long 832573303 + .long 3589392091 + .long 826899064 + .long 180553026 + .long 832118341 + .long 511842304 + .long 826534241 + .long 1773576515 + .long 831759310 + .long 3229039543 + .long 826220118 + .long 1935866244 + .long 831436157 + .long 1865282909 + .long 825774146 + .long 1182653760 + .long 830996831 + .long 3018126552 + .long 825425547 + .long 1524283352 + .long 830653257 + .long 2323726111 + .long 825076878 + .long 903608870 + .long 830297006 + .long 712254123 + .long 824651052 + .long 4242845498 + .long 829876901 + .long 2500810509 + .long 824318322 + .long 346389043 + .long 829548481 + .long 1109842967 + .long 823936000 + .long 4071371983 + .long 829159915 + .long 924031092 + .long 823529856 + .long 2746070947 + .long 828758634 + .long 366224487 + .long 823212622 + .long 3582017357 + .long 828445043 + .long 1231954930 + .long 822797569 + .long 2807095542 + .long 828024981 + .long 728784484 + .long 822410623 + .long 2601954354 + .long 827642101 + .long 4149697289 + .long 822108494 + .long 2896279704 + .long 827343000 + .long 277151004 + .long 821661659 + .long 4121397427 + .long 826892286 + .long 867490327 + .long 821293408 + .long 1246721467 + .long 826527366 + .long 536956371 + .long 820976957 + .long 655633611 + .long 826206911 + .long 1503723945 + .long 820528331 + .long 1359900305 + .long 825761904 + .long 1260566155 + .long 820178257 + .long 1188978931 + .long 825414483 + .long 4148303001 + .long 819823805 + .long 539708740 + .long 825057251 + .long 2307140311 + .long 819397636 + .long 951311339 + .long 824633895 + .long 2132824082 + .long 819065207 + .long 2251799196 + .long 824303498 + .long 2787827571 + .long 818674006 + .long 3167076139 + .long 823910625 + .long 58851220 + .long 818269614 + .long 2115111452 + .long 823508310 + .long 991457379 + .long 817954287 + .long 2562242551 + .long 823194449 + .long 3579145066 + .long 817527599 + .long 1139984116 + .long 822767090 + .long 2413403022 + .long 817144292 + .long 2525663185 + .long 822385190 + .long 2621248554 + .long 816845516 + .long 3979198014 + .long 822087365 + .long 755545836 + .long 816384613 + .long 989585387 + .long 821626687 + .long 3409211865 + .long 816021690 + .long 4144777341 + .long 821264565 + .long 2557893386 + .long 815685687 + .long 940380939 + .long 820929530 + .long 3901404360 + .long 815245061 + .long 3766921911 + .long 820489446 + .long 2652376700 + .long 814901817 + .long 2024373495 + .long 820146457 + .long 3285814652 + .long 814525378 + .long 1924045832 + .long 819771914 + .long 1920314479 + .long 814108949 + .long 2987056941 + .long 819355387 + .long 3139054508 + .long 813784672 + .long 3305214824 + .long 819030876 + .long 2385568177 + .long 813369397 + .long 1502168259 + .long 818618314 + .long 143924105 + .long 812976268 + .long 4197792081 + .long 818224516 + .long 581569214 + .long 812670247 + .long 3378617232 + .long 817917826 + .long 1151391185 + .long 812217725 + .long 485583533 + .long 817468730 + .long 1707899729 + .long 811846999 + .long 1725070256 + .long 817096831 + .long 1452274607 + .long 811519223 + .long 1594036941 + .long 816773900 + .long 2282916147 + .long 811070330 + .long 277204945 + .long 816323149 + .long 1890561646 + .long 810721115 + .long 2766320140 + .long 815972317 + .long 437791929 + .long 810349707 + .long 3046204582 + .long 815606451 + .long 739082902 + .long 809927170 + .long 1947106854 + .long 815181546 + .long 3980972482 + .long 809598578 + .long 24947004 + .long 814850953 + .long 3738106502 + .long 809185481 + .long 3524656335 + .long 814443986 + .long 411865076 + .long 808788190 + .long 1095905485 + .long 814043886 + .long 819687931 + .long 808479344 + .long 238279161 + .long 813732706 + .long 4029546666 + .long 808026470 + .long 1802636791 + .long 813286451 + .long 758126421 + .long 807653326 + .long 4249353638 + .long 812910121 + .long 2895836426 + .long 807323195 + .long 2407472750 + .long 812588674 + .long 3029849279 + .long 806872585 + .long 3171925083 + .long 812133778 + .long 608585653 + .long 806522505 + .long 2333900715 + .long 811780197 + .long 3826816246 + .long 806146174 + .long 2069969403 + .long 811412975 + .long 3392948174 + .long 805723726 + .long 2437056090 + .long 810985890 + .long 1949937480 + .long 805395645 + .long 4287993941 + .long 810654047 + .long 2292179758 + .long 804975396 + .long 1948684791 + .long 810243231 + .long 550886149 + .long 804579785 + .long 1257554665 + .long 809842698 + .long 772831159 + .long 804272658 + .long 1937092784 + .long 809531600 + .long 3513304624 + .long 803810715 + .long 3487145785 + .long 809079322 + .long 245913756 + .long 803440643 + .long 3975897253 + .long 808704103 + .long 2944606216 + .long 803097679 + .long 2804791881 + .long 808373453 + .long 74207582 + .long 802651978 + .long 4012763259 + .long 807921118 + .long 1598779694 + .long 802306175 + .long 495439485 + .long 807570001 + .long 2189561977 + .long 801915186 + .long 1528704064 + .long 807191449 + .long 3312259003 + .long 801499019 + .long 2149584710 + .long 806768479 + .long 1525683029 + .long 801176250 + .long 609230206 + .long 806440276 + .long 2793603417 + .long 800739832 + .long 4019262160 + .long 806016331 + .long 1518583227 + .long 800351670 + .long 3100969046 + .long 805621255 + .long 2313625631 + .long 800037973 + .long 3794179134 + .long 805314808 + .long 2911566316 + .long 799571397 + .long 2821134737 + .long 804847907 + .long 3839097180 + .long 799209752 + .long 2302220943 + .long 804479291 + .long 2708488506 + .long 798844037 + .long 2176281811 + .long 804129155 + .long 1768996413 + .long 798409654 + .long 2544192612 + .long 803685974 + .long 2352631407 + .long 798073085 + .long 3255441301 + .long 803342424 + .long 398286421 + .long 797658338 + .long 886022604 + .long 802943065 + .long 1506214266 + .long 797254370 + .long 167267913 + .long 802530324 + .long 2633127876 + .long 796941482 + .long 807609405 + .long 802210488 + .long 2051214097 + .long 796480578 + .long 754330191 + .long 801764711 + .long 123739761 + .long 796105309 + .long 3733944852 + .long 801380741 + .long 750788556 + .long 795760327 + .long 1444272003 + .long 801054557 + .long 1852104137 + .long 795310458 + .long 4218013233 + .long 800593819 + .long 1283686496 + .long 794962231 + .long 3522276956 + .long 800237009 + .long 1420100526 + .long 794564820 + .long 735951774 + .long 799857948 + .long 1044466387 + .long 794147675 + .long 63408848 + .long 799430114 + .long 2300698199 + .long 793824896 + .long 3047245466 + .long 799098906 + .long 1484719466 + .long 793378302 + .long 2763884676 + .long 798670156 + .long 1272359061 + .long 792991925 + .long 4120848445 + .long 798273312 + .long 2232433113 + .long 792662671 + .long 724418023 + .long 797966083 + .long 3762249931 + .long 792200390 + .long 1216775348 + .long 797490828 + .long 1778952527 + .long 791842905 + .long 777773296 + .long 797123135 + .long 1551992822 + .long 791458105 + .long 2509583313 + .long 796759629 + .long 829343228 + .long 791030705 + .long 224316483 + .long 796319608 + .long 457692078 + .long 790700314 + .long 50154445 + .long 795979299 + .long 1342334993 + .long 790263585 + .long 4108504645 + .long 795563093 + .long 2860037630 + .long 789868867 + .long 3802284665 + .long 795156141 + .long 1806035261 + .long 789549977 + .long 4048716517 + .long 794841523 + .long 626254340 + .long 789078639 + .long 58587258 + .long 794376032 + .long 483470044 + .long 788714505 + .long 483138189 + .long 794000078 + .long 3682197369 + .long 788337300 + .long 1899819391 + .long 793647031 + .long 1225819768 + .long 787902801 + .long 2622171019 + .long 793198003 + .long 105996647 + .long 787567250 + .long 3262271376 + .long 792851068 + .long 2317293554 + .long 787135714 + .long 3011062300 + .long 792442638 + .long 1045821796 + .long 786735614 + .long 1147395537 + .long 792028574 + .long 1421767462 + .long 786421483 + .long 3130402011 + .long 791708770 + .long 3306914696 + .long 785944649 + .long 4262626465 + .long 791248719 + .long 3866662742 + .long 785576629 + .long 2391328063 + .long 790867316 + .long 390563220 + .long 785201830 + .long 3112376485 + .long 790519389 + .long 2675650458 + .long 784763550 + .long 2566209178 + .long 790064743 + .long 2715699342 + .long 784425410 + .long 1494066763 + .long 789713811 + .long 2390902331 + .long 783994275 + .long 3341938988 + .long 789308205 + .long 1040547994 + .long 783591875 + .long 821296353 + .long 788890189 + .long 2527052880 + .long 783276788 + .long 3879123133 + .long 788567648 + .long 2772189637 + .long 782798149 + .long 2238137291 + .long 788108464 + .long 4116703383 + .long 782429096 + .long 475952761 + .long 787724549 + .long 511166554 + .long 782051454 + .long 2925528577 + .long 787376283 + .long 972851174 + .long 781612802 + .long 3244505894 + .long 786919537 + .long 1008410844 + .long 781274705 + .long 1947627469 + .long 786567329 + .long 1091842438 + .long 780839168 + .long 3957620966 + .long 786159531 + .long 745656230 + .long 780437604 + .long 1833882231 + .long 785740815 + .long 3852556219 + .long 780115868 + .long 49165565 + .long 785418051 + .long 2575012639 + .long 779639156 + .long 3843714046 + .long 784955137 + .long 938459147 + .long 779271948 + .long 2888015842 + .long 784571706 + .long 154026947 + .long 778886281 + .long 445180428 + .long 784217652 + .long 3799538772 + .long 778450672 + .long 3839575033 + .long 783762373 + .long 2649712120 + .long 778115249 + .long 2906062233 + .long 783411640 + .long 3294218000 + .long 777670610 + .long 3856989232 + .long 782996685 + .long 2805816560 + .long 777272999 + .long 278566062 + .long 782580538 + .long 1195424083 + .long 776939077 + .long 1511969247 + .long 782260067 + .long 3029685852 + .long 776467978 + .long 1534554001 + .long 781788917 + .long 3188316278 + .long 776105448 + .long 521973231 + .long 781408955 + .long 3411139513 + .long 775706761 + .long 3011634592 + .long 781043795 + .long 2738165916 + .long 775277542 + .long 1560305501 + .long 780593518 + .long 2428714085 + .long 774947361 + .long 3684755528 + .long 780246976 + .long 175642284 + .long 774489131 + .long 3605074054 + .long 779820065 + .long 3114890562 + .long 774098497 + .long 922817596 + .long 779409695 + .long 1862141067 + .long 773747130 + .long 2032991598 + .long 779093982 + .long 1666857767 + .long 773285202 + .long 974048971 + .long 778610278 + .long 2131027737 + .long 772930076 + .long 3826268118 + .long 778236688 + .long 3521486771 + .long 772513672 + .long 1935432409 + .long 777855365 + .long 591906206 + .long 772094040 + .long 3185150466 + .long 777413505 + .long 2747417261 + .long 771771548 + .long 463840922 + .long 777073775 + .long 2305342373 + .long 771295546 + .long 3645312952 + .long 776630383 + .long 504189367 + .long 770914755 + .long 4058955796 + .long 776228864 + .long 1095975635 + .long 770541081 + .long 1644266730 + .long 775894288 + .long 4131246103 + .long 770091669 + .long 2448883131 + .long 775419975 + .long 289369798 + .long 769746504 + .long 3323992203 + .long 775055515 + .long 1529314279 + .long 769308086 + .long 2373263790 + .long 774653337 + .long 2905834238 + .long 768901018 + .long 1266508630 + .long 774223118 + .long 2981218421 + .long 768570769 + .long 148232960 + .long 773892661 + .long 692822624 + .long 768090933 + .long 3069595062 + .long 773428638 + .long 1404559281 + .long 767722624 + .long 706138572 + .long 773038843 + .long 4121489250 + .long 767322278 + .long 1885961403 + .long 772678579 + .long 3437749757 + .long 766888447 + .long 1750194683 + .long 772219015 + .long 1296596277 + .long 766555573 + .long 3381833718 + .long 771866233 + .long 509369713 + .long 766091330 + .long 1453081509 + .long 771438976 + .long 646794791 + .long 765699524 + .long 1333929320 + .long 771023356 + .long 2161330753 + .long 765337530 + .long 280576834 + .long 770704425 + .long 317465080 + .long 764876585 + .long 821535155 + .long 770216078 + .long 3675593064 + .long 764523121 + .long 2713200782 + .long 769840613 + .long 4074156341 + .long 764092318 + .long 3119145575 + .long 769450419 + .long 3517944508 + .long 763676786 + .long 4221128483 + .long 769008616 + .long 1692412527 + .long 763353200 + .long 1365297720 + .long 768669801 + .long 1640877371 + .long 762864938 + .long 409723529 + .long 768213787 + .long 2791347853 + .long 762490756 + .long 3763192736 + .long 767815400 + .long 2937360934 + .long 762093319 + .long 1019483888 + .long 767462354 + .long 1996487692 + .long 761653967 + .long 3579327077 + .long 766994152 + .long 1056685887 + .long 761317391 + .long 2868988995 + .long 766635311 + .long 4292408264 + .long 760852984 + .long 247164010 + .long 766211585 + .long 1344536138 + .long 760458077 + .long 324020919 + .long 765790168 + .long 1319283366 + .long 760093719 + .long 479259340 + .long 765467302 + .long 43018458 + .long 759630597 + .long 1152067405 + .long 764979461 + .long 2719868400 + .long 759276027 + .long 152165764 + .long 764600571 + .long 1699410009 + .long 758840176 + .long 1194981319 + .long 764208882 + .long 3040553604 + .long 758424664 + .long 3308417311 + .long 763764463 + .long 2512918915 + .long 758092877 + .long 1889053024 + .long 763424183 + .long 3024056662 + .long 757606186 + .long 81330783 + .long 762964014 + .long 1817857395 + .long 757233800 + .long 2732652633 + .long 762565175 + .long 3037897202 + .long 756825943 + .long 3352358880 + .long 762205061 + .long 744298310 + .long 756390085 + .long 3501791723 + .long 761737816 + .long 3520727427 + .long 756056714 + .long 2097270476 + .long 761380277 + .long 894512980 + .long 755580233 + .long 1583862346 + .long 760947262 + .long 1892928857 + .long 755190326 + .long 160050929 + .long 760528707 + .long 3472880150 + .long 754809703 + .long 2984483361 + .long 760199485 + .long 895492306 + .long 754353895 + .long 1051567626 + .long 759709741 + .long 2513884408 + .long 754005478 + .long 827945824 + .long 759335214 + .long 685878866 + .long 753552224 + .long 4167626827 + .long 758928642 + .long 2376492649 + .long 753145216 + .long 2782412302 + .long 758490736 + .long 3859448349 + .long 752790865 + .long 405863758 + .long 758155975 + .long 2298462119 + .long 752315646 + .long 2637942397 + .long 757679741 + .long 494144145 + .long 751952614 + .long 657577712 + .long 757288617 + .long 579294229 + .long 751521644 + .long 754227745 + .long 756907584 + .long 1044679064 + .long 751098080 + .long 2519096232 + .long 756450830 + .long 2171535627 + .long 750768838 + .long 2030044516 + .long 756101874 + .long 1970441713 + .long 750274891 + .long 3176302142 + .long 755647318 + .long 3056095668 + .long 749897782 + .long 153949862 + .long 755240108 + .long 3947684006 + .long 749487980 + .long 3368312490 + .long 754883512 + .long 1699980585 + .long 749048530 + .long 3648486550 + .long 754408554 + .long 1710621746 + .long 748713150 + .long 2300846945 + .long 754045912 + .long 1905488869 + .long 748231188 + .long 3208511752 + .long 753611975 + .long 871861721 + .long 747840651 + .long 844847238 + .long 753189311 + .long 4201565959 + .long 747450731 + .long 443380337 + .long 752855861 + .long 965042671 + .long 746996188 + .long 2993924185 + .long 752363480 + .long 146810850 + .long 746649501 + .long 2823109230 + .long 751987765 + .long 3460693896 + .long 746184107 + .long 1425516115 + .long 751573224 + .long 1144210929 + .long 745780896 + .long 1916322062 + .long 751135858 + .long 85418815 + .long 745409411 + .long 426441187 + .long 750802245 + .long 1062820214 + .long 744940688 + .long 719336583 + .long 750315190 + .long 2766644426 + .long 744583404 + .long 944585275 + .long 749927119 + .long 1814550842 + .long 744133237 + .long 510999425 + .long 749530591 + .long 3212065069 + .long 743718208 + .long 3758261302 + .long 749079393 + .long 2261041374 + .long 743363554 + .long 2602458640 + .long 748735440 + .long 949875475 + .long 742881683 + .long 2659939240 + .long 748263281 + .long 1173008025 + .long 742514601 + .long 3481651767 + .long 747863671 + .long 1520457856 + .long 742078188 + .long 44484639 + .long 747483624 + .long 3863688693 + .long 741652297 + .long 2801586137 + .long 747019578 + .long 589696158 + .long 741312728 + .long 1305514105 + .long 746666047 + .long 4059741029 + .long 740818848 + .long 865561467 + .long 746207375 + .long 594916178 + .long 740442849 + .long 1486199238 + .long 745797139 + .long 1157616309 + .long 740018600 + .long 1726213095 + .long 745431898 + .long 1945651075 + .long 739582895 + .long 3031007703 + .long 744956095 + .long 1628308872 + .long 739251306 + .long 2613858560 + .long 744593828 + .long 3604176904 + .long 738751888 + .long 631117324 + .long 744147118 + .long 245807999 + .long 738367928 + .long 205620170 + .long 743727259 + .long 2460624491 + .long 737954146 + .long 642912157 + .long 743375023 + .long 1925799500 + .long 737509759 + .long 836914299 + .long 742888654 + .long 597086264 + .long 737171769 + .long 2010905773 + .long 742518568 + .long 879541055 + .long 736680538 + .long 3378296873 + .long 742082189 + .long 2662862130 + .long 736289642 + .long 823504020 + .long 741653793 + .long 540940448 + .long 735884539 + .long 726943015 + .long 741312646 + .long 3197507015 + .long 735432677 + .long 2957819450 + .long 740816993 + .long 1670706837 + .long 735089212 + .long 2052360751 + .long 740440074 + .long 376229201 + .long 734604568 + .long 795760482 + .long 740012306 + .long 213120263 + .long 734207825 + .long 2379854758 + .long 739576532 + .long 2034955320 + .long 733809532 + .long 2388485681 + .long 739244459 + .long 589467117 + .long 733351471 + .long 4138985555 + .long 738740887 + .long 2423106648 + .long 733003505 + .long 2976622671 + .long 738358180 + .long 2827898816 + .long 732523788 + .long 1310565481 + .long 737937224 + .long 2939951968 + .long 732122337 + .long 2096034302 + .long 737495299 + .long 2087181592 + .long 731728927 + .long 264265783 + .long 737159566 + .long 100721585 + .long 731265996 + .long 1484125209 + .long 736660148 + .long 1883685758 + .long 730914545 + .long 371172191 + .long 736272750 + .long 195518274 + .long 730438052 + .long 2624975685 + .long 735856745 + .long 154914687 + .long 730033075 + .long 2422905208 + .long 735409950 + .long 1448585760 + .long 729642574 + .long 2708053162 + .long 735070724 + .long 2378513365 + .long 729176146 + .long 2254128358 + .long 734574626 + .long 2899674048 + .long 728822257 + .long 2561446732 + .long 734183676 + .long 2397233792 + .long 728347254 + .long 191710004 + .long 733770719 + .long 1619213051 + .long 727939965 + .long 3101535409 + .long 733320378 + .long 3292482576 + .long 727550374 + .long 92486460 + .long 732978670 + .long 989696226 + .long 727081856 + .long 3385588824 + .long 732484216 + .long 4075038288 + .long 726726597 + .long 3113730764 + .long 732090886 + .long 1093942633 + .long 726251338 + .long 1295406127 + .long 731679043 + .long 3552287998 + .long 725842971 + .long 3812423207 + .long 731226514 + .long 2428367384 + .long 725452283 + .long 3234208544 + .long 730883355 + .long 3930808478 + .long 724983098 + .long 2657035553 + .long 730388857 + .long 2658838132 + .long 724627552 + .long 2796752322 + .long 729994340 + .long 3532099444 + .long 724150291 + .long 1584171246 + .long 729581668 + .long 3922862459 + .long 723742092 + .long 86705445 + .long 729128329 + .long 1137953088 + .long 723348309 + .long 133430018 + .long 728784765 + .long 975579702 + .long 722879889 + .long 2702728333 + .long 728288532 + .long 4026775205 + .long 722525138 + .long 3591272062 + .long 727894032 + .long 3219552128 + .long 722044150 + .long 1220767910 + .long 727478596 + .long 2546815821 + .long 721637362 + .long 2448608543 + .long 727025830 + .long 31072853 + .long 721238514 + .long 21064035 + .long 726682911 + .long 1377610676 + .long 720772282 + .long 3493771865 + .long 726183270 + .long 3377218995 + .long 720419404 + .long 462209696 + .long 725789992 + .long 3382736359 + .long 719932996 + .long 454430402 + .long 725369881 + .long 3169639427 + .long 719528849 + .long 1437979180 + .long 724919068 + .long 2587875915 + .long 719123012 + .long 2434562345 + .long 724577836 + .long 214494628 + .long 718660373 + .long 443621567 + .long 724073146 + .long 4090070522 + .long 718310427 + .long 950372087 + .long 723682281 + .long 3059989388 + .long 717816956 + .long 385951123 + .long 723255628 + .long 400547140 + .long 717416657 + .long 3080094761 + .long 722808129 + .long 3408401832 + .long 717001970 + .long 3009892135 + .long 722469613 + .long 2298537916 + .long 716544294 + .long 1063193356 + .long 721958276 + .long 4095018013 + .long 716198314 + .long 3904362326 + .long 721570995 + .long 1778156135 + .long 715696200 + .long 411158697 + .long 721135992 + .long 3132572641 + .long 715300919 + .long 1726456944 + .long 720693139 + .long 3276858118 + .long 714875602 + .long 3378697254 + .long 720344972 + .long 704881224 + .long 714424216 + .long 138350113 + .long 719838821 + .long 1895205234 + .long 714083199 + .long 1863903792 + .long 719456263 + .long 1510710605 + .long 713570938 + .long 1077949523 + .long 719011175 + .long 99303130 + .long 713181803 + .long 2056100564 + .long 718574257 + .long 4021126732 + .long 712744167 + .long 1118513764 + .long 718213738 + .long 291699416 + .long 712300341 + .long 3785607727 + .long 717714979 + .long 1830773052 + .long 711947376 + .long 2930641980 + .long 717338240 + .long 1851259845 + .long 711441418 + .long 3978382282 + .long 716881423 + .long 893587005 + .long 711059500 + .long 212905963 + .long 716451677 + .long 633965387 + .long 710607967 + .long 86571253 + .long 716076962 + .long 538982087 + .long 710172903 + .long 3818172476 + .long 715586988 + .long 3229362893 + .long 709803285 + .long 3578730113 + .long 715217111 + .long 1565786773 + .long 709307922 + .long 357835653 + .long 714747025 + .long 2342262863 + .long 708934229 + .long 1602953484 + .long 714325621 + .long 1061019794 + .long 708467338 + .long 125555561 + .long 713934991 + .long 2395691858 + .long 708042163 + .long 1471912322 + .long 713455117 + .long 1795384696 + .long 707654274 + .long 2807421875 + .long 713093085 + .long 2549317390 + .long 707170761 + .long 305952814 + .long 712608302 + .long 744652791 + .long 706806231 + .long 2591170832 + .long 712196340 + .long 1026264492 + .long 706322651 + .long 4133449680 + .long 711788211 + .long 778298770 + .long 705908407 + .long 3489108212 + .long 711319663 + .long 2402614436 + .long 705500780 + .long 2039588480 + .long 710966392 + .long 3656515139 + .long 705030272 + .long 4114769399 + .long 710465609 + .long 3003061762 + .long 704675763 + .long 807808299 + .long 710064108 + .long 213908818 + .long 704174303 + .long 2829935519 + .long 709637045 + .long 1697740360 + .long 703771938 + .long 3785928621 + .long 709180951 + .long 3174363515 + .long 703343270 + .long 3532733867 + .long 708837185 + .long 1965028001 + .long 702886813 + .long 2107828708 + .long 708319330 + .long 856212485 + .long 702540281 + .long 15864085 + .long 707929217 + .long 120723934 + .long 702022712 + .long 836056555 + .long 707481941 + .long 4223967527 + .long 701633076 + .long 2609176779 + .long 707039325 + .long 2326132907 + .long 701182233 + .long 3321305714 + .long 706671804 + .long 1865434198 + .long 700740756 + .long 3369089835 + .long 706169866 + .long 15990328 + .long 700368285 + .long 1277205137 + .long 705791975 + .long 1214750633 + .long 699868312 + .long 2963031057 + .long 705323369 + .long 3469183956 + .long 699492153 + .long 3434245337 + .long 704895144 + .long 127249902 + .long 699018173 + .long 310124662 + .long 704502663 + .long 2311926610 + .long 698592485 + .long 3619582812 + .long 704017637 + .long 3549622389 + .long 698193050 + .long 2228436287 + .long 703652702 + .long 4152775116 + .long 697711547 + .long 4170570140 + .long 703161817 + .long 2050728834 + .long 697349506 + .long 876636512 + .long 702748780 + .long 798942400 + .long 696851602 + .long 440981460 + .long 702330325 + .long 1282729765 + .long 696442390 + .long 60752281 + .long 701863073 + .long 4043889105 + .long 696015169 + .long 508006982 + .long 701511725 + .long 2619446857 + .long 695552867 + .long 883131596 + .long 700997782 + .long 611518842 + .long 695205062 + .long 2950701346 + .long 700600608 + .long 1970492846 + .long 694683036 + .long 320140468 + .long 700155363 + .long 650778841 + .long 694290861 + .long 2081409967 + .long 699706606 + .long 2366450962 + .long 693835233 + .long 3326384857 + .long 699338552 + .long 2575544342 + .long 693392718 + .long 2683613570 + .long 698831761 + .long 4170447092 + .long 693012059 + .long 2147683702 + .long 698451008 + .long 2237312154 + .long 692512987 + .long 3819170707 + .long 697978349 + .long 3232652548 + .long 692138284 + .long 3886691232 + .long 697548671 + .long 3216998091 + .long 691653825 + .long 3570809325 + .long 697148904 + .long 3889170574 + .long 691231541 + .long 1903611303 + .long 696664252 + .long 4127953615 + .long 690817631 + .long 3057699859 + .long 696300354 + .long 1492344213 + .long 690341957 + .long 1197644985 + .long 695799852 + .long 2343547591 + .long 689985039 + .long 1043815695 + .long 695389697 + .long 3842632230 + .long 689471516 + .long 1998629170 + .long 694957808 + .long 544947300 + .long 689069767 + .long 327503577 + .long 694495742 + .long 4156980278 + .long 688622424 + .long 3261711197 + .long 694140717 + .long 3015131725 + .long 688170432 + .long 1420037596 + .long 693620424 + .long 1313215515 + .long 687797127 + .long 4054494950 + .long 693230099 + .long 2116343895 + .long 687288857 + .long 1647363164 + .long 692765892 + .long 4041899718 + .long 686907807 + .long 3204418079 + .long 692326703 + .long 1779051603 + .long 686427060 + .long 232425304 + .long 691934530 + .long 478914330 + .long 685998880 + .long 2125836381 + .long 691440601 + .long 1267287912 + .long 685587278 + .long 2020961131 + .long 691070282 + .long 2867790128 + .long 685106372 + .long 1330804549 + .long 690573761 + .long 51199600 + .long 684746058 + .long 2379303428 + .long 690157591 + .long 1025288193 + .long 684232128 + .long 4181073636 + .long 689728363 + .long 1695885927 + .long 683827741 + .long 692700766 + .long 689260895 + .long 2180285258 + .long 683378185 + .long 2445855244 + .long 688906824 + .long 1285014145 + .long 682924557 + .long 162034259 + .long 688381990 + .long 3507763603 + .long 682546798 + .long 361534587 + .long 687988836 + .long 2701969840 + .long 682038181 + .long 1327837794 + .long 687522864 + .long 3418354793 + .long 681657429 + .long 3735479151 + .long 687081787 + .long 98518950 + .long 681170466 + .long 2754986946 + .long 686685716 + .long 3736165028 + .long 680743871 + .long 1029853148 + .long 686191118 + .long 595081813 + .long 680323455 + .long 2534055270 + .long 685820840 + .long 2543053466 + .long 679845732 + .long 1639453041 + .long 685318633 + .long 3246977581 + .long 679488326 + .long 902178513 + .long 684903729 + .long 3684881820 + .long 678964687 + .long 4160211283 + .long 684466327 + .long 256169544 + .long 678564739 + .long 363881435 + .long 684001646 + .long 2897101255 + .long 678102585 + .long 2558960141 + .long 683636403 + .long 1675938906 + .long 677655248 + .long 1668173354 + .long 683116226 + .long 2975968737 + .long 677261462 + .long 1898874449 + .long 682727132 + .long 1190416588 + .long 676761366 + .long 1745533707 + .long 682249273 + .long 437394527 + .long 676387541 + .long 2979218981 + .long 681814030 + .long 610651923 + .long 675884757 + .long 3011708434 + .long 681402774 + .long 3677532781 + .long 675467148 + .long 3106973978 + .long 680916147 + .long 3144693185 + .long 675027252 + .long 3674810270 + .long 680552371 + .long 471449783 + .long 674560961 + .long 331134709 + .long 680035108 + .long 3452022098 + .long 674190867 + .long 1924912878 + .long 679628683 + .long 2869920106 + .long 673670471 + .long 3402568925 + .long 679172699 + .long 2481926454 + .long 673281804 + .long 1186621708 + .long 678718848 + .long 819476459 + .long 672797322 + .long 3179048269 + .long 678330889 + .long 244496272 + .long 672363875 + .long 3060753414 + .long 677824324 + .long 3448429854 + .long 671943315 + .long 620690573 + .long 677445968 + .long 1238814485 + .long 671460165 + .long 2708031844 + .long 676946715 + .long 3981056324 + .long 671099535 + .long 2980977021 + .long 676524723 + .long 1593585358 + .long 670572141 + .long 3103383052 + .long 676087781 + .long 4091677692 + .long 670170452 + .long 392286821 + .long 675617352 + .long 1361936558 + .long 669701411 + .long 4043711132 + .long 675249455 + .long 2236587142 + .long 669254207 + .long 586653381 + .long 674725285 + .long 3371880661 + .long 668849737 + .long 2461860532 + .long 674334113 + .long 1280132466 + .long 668352104 + .long 1593212803 + .long 673850093 + .long 3972457104 + .long 667980981 + .long 2241101875 + .long 673414554 + .long 858805406 + .long 667465572 + .long 2310545706 + .long 672993498 + .long 4048344282 + .long 667052901 + .long 1109719010 + .long 672508797 + .long 1407545896 + .long 666596175 + .long 2281315360 + .long 672147301 + .long 3516076405 + .long 666137529 + .long 3105374797 + .long 671618237 + .long 3337113565 + .long 665745624 + .long 1328215640 + .long 671216232 + .long 3376207450 + .long 665236130 + .long 263512481 + .long 670744404 + .long 2958414465 + .long 664856487 + .long 4008512978 + .long 670297567 + .long 3402426005 + .long 664350087 + .long 796487805 + .long 669888968 + .long 3068189069 + .long 663928663 + .long 3085651004 + .long 669392544 + .long 2491998497 + .long 663480911 + .long 532191192 + .long 669022623 + .long 3212565569 + .long 663013336 + .long 534453609 + .long 668502514 + .long 2348454437 + .long 662630251 + .long 195201593 + .long 668091842 + .long 733992225 + .long 662111725 + .long 2698352704 + .long 667628952 + .long 3063448299 + .long 661725681 + .long 3732247102 + .long 667173263 + .long 135887993 + .long 661225158 + .long 1533817337 + .long 666773472 + .long 3989262108 + .long 660797360 + .long 2136836184 + .long 666268079 + .long 1106726960 + .long 660355084 + .long 1143921256 + .long 665891796 + .long 4048585651 + .long 659881248 + .long 508379910 + .long 665377588 + .long 2365712837 + .long 659503082 + .long 3820778441 + .long 664960567 + .long 3139019265 + .long 658978510 + .long 972200576 + .long 664503206 + .long 19803223 + .long 658588300 + .long 2901642972 + .long 664041264 + .long 2160091160 + .long 658090414 + .long 1364578344 + .long 663646477 + .long 3266722688 + .long 657658737 + .long 2875504264 + .long 663135025 + .long 185922774 + .long 657218340 + .long 637007150 + .long 662754557 + .long 4246184246 + .long 656741023 + .long 4108553783 + .long 662243090 + .long 2787333285 + .long 656363787 + .long 1371661835 + .long 661822153 + .long 2899403036 + .long 655836264 + .long 3589359224 + .long 661366809 + .long 3647744414 + .long 655444193 + .long 767814869 + .long 660901326 + .long 1487583812 + .long 654945661 + .long 2479975765 + .long 660507649 + .long 1909944697 + .long 654512667 + .long 1765324902 + .long 659993157 + .long 2379812452 + .long 654070518 + .long 1721157484 + .long 659610754 + .long 2534966422 + .long 653592563 + .long 1021047458 + .long 659098822 + .long 3750937480 + .long 653212251 + .long 3242522816 + .long 658676467 + .long 3183187419 + .long 652684924 + .long 3237267682 + .long 658219596 + .long 951087427 + .long 652293334 + .long 3893745815 + .long 657753344 + .long 286739833 + .long 651790881 + .long 3294176976 + .long 657356865 + .long 165787574 + .long 651359156 + .long 2981565185 + .long 656842405 + .long 445027989 + .long 650911657 + .long 2513282771 + .long 656460353 + .long 2105461242 + .long 650435916 + .long 3673241161 + .long 655944755 + .long 3631835029 + .long 650048578 + .long 1877630597 + .long 655523510 + .long 202318521 + .long 649524591 + .long 2356659272 + .long 655061593 + .long 2777980999 + .long 649135812 + .long 710986650 + .long 654597361 + .long 239849913 + .long 648626235 + .long 1317123583 + .long 654194216 + .long 1047816385 + .long 648198342 + .long 1460613064 + .long 653682860 + .long 2558079865 + .long 647741989 + .long 938419336 + .long 653303438 + .long 102203654 + .long 647271277 + .long 3325778980 + .long 652781040 + .long 3014748797 + .long 646873087 + .long 1932659674 + .long 652363410 + .long 517080480 + .long 646355523 + .long 1155993311 + .long 651893019 + .long 2093894919 + .long 645971838 + .long 3613417731 + .long 651433557 + .long 3461187990 + .long 645452058 + .long 3076621781 + .long 651020002 + .long 1268124231 + .long 645030493 + .long 1491777798 + .long 650514767 + .long 2554439477 + .long 644561939 + .long 1245723213 + .long 650140207 + .long 1568783964 + .long 644098979 + .long 2599939653 + .long 649607996 + .long 2801553722 + .long 643686303 + .long 3808509544 + .long 649196422 + .long 975631682 + .long 643178132 + .long 4045918285 + .long 648714278 + .long 3264030468 + .long 642801732 + .long 4183388020 + .long 648262254 + .long 57053076 + .long 642268852 + .long 2915192275 + .long 647834728 + .long 367866110 + .long 641855997 + .long 2608628071 + .long 647338521 + .long 3699288913 + .long 641372107 + .long 3215309018 + .long 646970546 + .long 3032389986 + .long 640919487 + .long 675753213 + .long 646426104 + .long 2425910808 + .long 640488942 + .long 1369991801 + .long 646022921 + .long 1368672544 + .long 639992969 + .long 2702232506 + .long 645525951 + .long 2068165578 + .long 639620477 + .long 1429631588 + .long 645083900 + .long 4209191920 + .long 639077263 + .long 970683891 + .long 644639085 + .long 3669019934 + .long 638675350 + .long 1319129055 + .long 644154655 + .long 3702158756 + .long 638173254 + .long 709671280 + .long 643766603 + .long 3294818878 + .long 637733382 + .long 1555777194 + .long 643235991 + .long 890038266 + .long 637281890 + .long 3773593492 + .long 642843386 + .long 379566385 + .long 636800709 + .long 2295314137 + .long 642328773 + .long 2106475701 + .long 636404187 + .long 1623478074 + .long 641899056 + .long 3901921030 + .long 635878074 + .long 2825511140 + .long 641433930 + .long 3847253630 + .long 635489146 + .long 2128412771 + .long 640963822 + .long 4159964286 + .long 634966278 + .long 1927737134 + .long 640552459 + .long 831702021 + .long 634541345 + .long 622604063 + .long 640038415 + .long 4235310746 + .long 634066176 + .long 1714551103 + .long 639658394 + .long 3367634100 + .long 633602130 + .long 3648762153 + .long 639123616 + .long 609295367 + .long 633178685 + .long 601197161 + .long 638708384 + .long 3619254624 + .long 632672173 + .long 30980129 + .long 638220266 + .long 3719118504 + .long 632298055 + .long 1884792402 + .long 637766780 + .long 932823899 + .long 631752191 + .long 1347064805 + .long 637329260 + .long 2122752499 + .long 631344136 + .long 4169929077 + .long 636834239 + .long 817453044 + .long 630842949 + .long 1493940224 + .long 636451560 + .long 2307318184 + .long 630398096 + .long 807844906 + .long 635911465 + .long 1570900014 + .long 629945266 + .long 2843283305 + .long 635512624 + .long 542450302 + .long 629460534 + .long 137312586 + .long 634999207 + .long 2919905386 + .long 629060016 + .long 2175936404 + .long 634564368 + .long 2652894128 + .long 628532087 + .long 3296941024 + .long 634098267 + .long 1162043114 + .long 628142578 + .long 3948086690 + .long 633624413 + .long 3684171032 + .long 627613437 + .long 4043081285 + .long 633209503 + .long 212904138 + .long 627189528 + .long 2460054563 + .long 632693386 + .long 2323505250 + .long 626705310 + .long 3143514650 + .long 632312578 + .long 1383705124 + .long 626244187 + .long 3550661761 + .long 631771953 + .long 2835309571 + .long 625808478 + .long 1762229362 + .long 631357485 + .long 300368825 + .long 625307120 + .long 182991460 + .long 630860827 + .long 219124488 + .long 624923765 + .long 883843381 + .long 630409943 + .long 1903330314 + .long 624378926 + .long 4257695949 + .long 629960763 + .long 2213132757 + .long 623977382 + .long 43114094 + .long 629470505 + .long 2833486821 + .long 623460244 + .long 1512719472 + .long 629072571 + .long 2425659520 + .long 623024196 + .long 886657630 + .long 628539759 + .long 4168635816 + .long 622551752 + .long 2802394044 + .long 628147065 + .long 4120728047 + .long 622078466 + .long 2300145935 + .long 627618331 + .long 2969547295 + .long 621654171 + .long 459846366 + .long 627191866 + .long 1996068776 + .long 621140718 + .long 111647996 + .long 626706887 + .long 2791489356 + .long 620762628 + .long 3019321269 + .long 626243971 + .long 3574443216 + .long 620211507 + .long 4254822021 + .long 625806131 + .long 1284261146 + .long 619801630 + .long 80099130 + .long 625303897 + .long 1507762392 + .long 619291425 + .long 375220541 + .long 624916816 + .long 2014336713 + .long 618847304 + .long 118264426 + .long 624372188 + .long 1907220475 + .long 618381096 + .long 952559667 + .long 623971227 + .long 1095947488 + .long 617900106 + .long 2675175007 + .long 623449423 + .long 1320337924 + .long 617481183 + .long 3959264958 + .long 623014936 + .long 1487444754 + .long 616960517 + .long 799208302 + .long 622536217 + .long 1271616338 + .long 616577537 + .long 2099622886 + .long 622065631 + .long 980379171 + .long 616029047 + .long 851063685 + .long 621633218 + .long 2418239757 + .long 615614779 + .long 1609703076 + .long 621123783 + .long 1783187034 + .long 615106234 + .long 3832173538 + .long 620741113 + .long 3595466306 + .long 614658341 + .long 1380204662 + .long 620189892 + .long 3038445443 + .long 614192647 + .long 2031904041 + .long 619784523 + .long 1579539762 + .long 613708637 + .long 2449693671 + .long 619264486 + .long 2036251314 + .long 613288887 + .long 2604351751 + .long 618826188 + .long 800370696 + .long 612766102 + .long 429769239 + .long 618348124 + .long 2057756845 + .long 612381985 + .long 3190579240 + .long 617874453 + .long 158180275 + .long 611831196 + .long 3804717890 + .long 617441393 + .long 3442102415 + .long 611416610 + .long 2789758891 + .long 616929746 + .long 1374210545 + .long 610904403 + .long 788184657 + .long 616544917 + .long 848989131 + .long 610457151 + .long 1624541562 + .long 615992518 + .long 213155371 + .long 609986234 + .long 1788415192 + .long 615586730 + .long 2635350280 + .long 609503976 + .long 833481806 + .long 615063244 + .long 3518559574 + .long 609077224 + .long 1243584534 + .long 614625457 + .long 572663644 + .long 608557476 + .long 2214411969 + .long 614142424 + .long 3813719322 + .long 608176009 + .long 881561209 + .long 613670346 + .long 2879917208 + .long 607618058 + .long 3715520356 + .long 613230585 + .long 3436759349 + .long 607207237 + .long 4096502771 + .long 612721778 + .long 2845138726 + .long 606686153 + .long 3549957797 + .long 612328281 + .long 1051692765 + .long 606243935 + .long 3441132486 + .long 611780156 + .long 3286526517 + .long 605762211 + .long 19583667 + .long 611377951 + .long 2449375047 + .long 605286428 + .long 738389037 + .long 610845901 + .long 2355220820 + .long 604846705 + .long 2177026573 + .long 610412932 + .long 3713664449 + .long 604335059 + .long 1428388540 + .long 609919454 + .long 799931392 + .long 603940130 + .long 3006410928 + .long 609453597 + .long 1904016247 + .long 603390187 + .long 322034678 + .long 609001280 + .long 309333133 + .long 602987102 + .long 1396065014 + .long 608500282 + .long 1423165215 + .long 602452186 + .long 1701780091 + .long 608091864 + .long 3985906499 + .long 602019246 + .long 274416578 + .long 607553338 + .long 3177225808 + .long 601521448 + .long 372638832 + .long 607158610 + .long 845271440 + .long 601056671 + .long 58929354 + .long 606613133 + .long 2289767414 + .long 600598384 + .long 3932913258 + .long 606189147 + .long 256261533 + .long 600099671 + .long 667847074 + .long 605680052 + .long 2951073120 + .long 599683421 + .long 4292146681 + .long 605224863 + .long 2846978620 + .long 599148555 + .long 3496699735 + .long 604754497 + .long 1574367979 + .long 598756951 + .long 327312939 + .long 604266049 + .long 1834095719 + .long 598203647 + .long 466087045 + .long 603836890 + .long 2552242163 + .long 597783962 + .long 2675635100 + .long 603313006 + .long 1483525933 + .long 597265282 + .long 1671290922 + .long 602927667 + .long 4228703825 + .long 596815722 + .long 682872616 + .long 602366053 + .long 1155503071 + .long 596333810 + .long 1419971636 + .long 601954955 + .long 3828898584 + .long 595852484 + .long 2318435501 + .long 601425518 + .long 760976002 + .long 595409595 + .long 4275937144 + .long 600985135 + .long 3222713013 + .long 594894510 + .long 1021209289 + .long 600491746 + .long 1851521836 + .long 594493015 + .long 1918254118 + .long 600020223 + .long 1078053633 + .long 593942073 + .long 2612527422 + .long 599565093 + .long 19755515 + .long 593539240 + .long 1492962848 + .long 599060475 + .long 2134544862 + .long 592995455 + .long 599278206 + .long 598645932 + .long 1549833323 + .long 592564894 + .long 1886781683 + .long 598106159 + .long 641793351 + .long 592054951 + .long 3616580796 + .long 597711483 + .long 864347530 + .long 591594978 + .long 2990291188 + .long 597157553 + .long 2380354351 + .long 591120864 + .long 1439341440 + .long 596735692 + .long 2311496543 + .long 590629710 + .long 2011714458 + .long 596214946 + .long 3654465909 + .long 590193510 + .long 624820555 + .long 595764247 + .long 213042865 + .long 589669318 + .long 2604824518 + .long 595278636 + .long 264271579 + .long 589273216 + .long 1435922632 + .long 594797363 + .long 577499311 + .long 588714035 + .long 2444788344 + .long 594348933 + .long 2487909912 + .long 588305726 + .long 2133269325 + .long 593835263 + .long 4090976788 + .long 587764103 + .long 2195002997 + .long 593426157 + .long 233693111 + .long 587328861 + .long 3505244626 + .long 592878177 + .long 1920301957 + .long 586819774 + .long 2896692721 + .long 592478039 + .long 4066809917 + .long 586356046 + .long 446637372 + .long 591926344 + .long 1503200562 + .long 585881304 + .long 1730640733 + .long 591499792 + .long 1078677453 + .long 585387469 + .long 3530633090 + .long 590980007 + .long 716035750 + .long 584948959 + .long 926244727 + .long 590525521 + .long 1924623254 + .long 584423318 + .long 374847771 + .long 590039422 + .long 608240761 + .long 584023012 + .long 3423005991 + .long 589555407 + .long 2030287439 + .long 583463790 + .long 2825239630 + .long 589104847 + .long 431836806 + .long 583056000 + .long 962515630 + .long 588589639 + .long 2859818804 + .long 582509086 + .long 3859146362 + .long 588176552 + .long 4024231508 + .long 582075561 + .long 4017115732 + .long 587628407 + .long 3047877271 + .long 581559413 + .long 3705544194 + .long 587228686 + .long 2550276268 + .long 581098755 + .long 2932446548 + .long 586671911 + .long 2341460508 + .long 580614983 + .long 3281082683 + .long 586246948 + .long 3304923639 + .long 580125732 + .long 2014183061 + .long 585720353 + .long 1168065479 + .long 579676013 + .long 2288610694 + .long 585268775 + .long 3305174480 + .long 579156648 + .long 2001310844 + .long 584773941 + .long 121583998 + .long 578742725 + .long 737649969 + .long 584294316 + .long 1781436352 + .long 578191662 + .long 3936821168 + .long 583832888 + .long 3976184032 + .long 577790360 + .long 981478126 + .long 583323723 + .long 4017087834 + .long 577230935 + .long 72573960 + .long 582897414 + .long 3259223135 + .long 576805453 + .long 3035399169 + .long 582357152 + .long 3648970865 + .long 576274634 + .long 3819729350 + .long 581963709 + .long 771802890 + .long 575823735 + .long 4129123322 + .long 581394763 + .long 3556059631 + .long 575322927 + .long 4020270672 + .long 580977598 + .long 2280169647 + .long 574845325 + .long 2490916872 + .long 580436719 + .long 2319664875 + .long 574375986 + .long 958670739 + .long 579994618 + .long 934600306 + .long 573870347 + .long 1066296556 + .long 579483185 + .long 2087662521 + .long 573433985 + .long 4143709508 + .long 579014885 + .long 2500492911 + .long 572898924 + .long 2579170826 + .long 578534329 + .long 3481048318 + .long 572497101 + .long 1727659457 + .long 578038522 + .long 3292703187 + .long 571931183 + .long 228341597 + .long 577590324 + .long 2360434524 + .long 571519717 + .long 2926242466 + .long 577065649 + .long 2416273730 + .long 570967252 + .long 2672142667 + .long 576651342 + .long 2486934215 + .long 570532375 + .long 3077899362 + .long 576096391 + .long 1067800052 + .long 570007260 + .long 3700039262 + .long 575692892 + .long 3810195505 + .long 569547864 + .long 190178295 + .long 575130874 + .long 1781347356 + .long 569051337 + .long 4194586783 + .long 574704403 + .long 984203209 + .long 568566278 + .long 2842601716 + .long 574169223 + .long 3323101431 + .long 568099615 + .long 3989397331 + .long 573718694 + .long 360984093 + .long 567587709 + .long 3675235766 + .long 573211568 + .long 4118956171 + .long 567152227 + .long 3596431333 + .long 572735856 + .long 2177105575 + .long 566612251 + .long 66504881 + .long 572258039 + .long 1329597486 + .long 566209307 + .long 2286572252 + .long 571755981 + .long 4174181404 + .long 565639999 + .long 1870021391 + .long 571308764 + .long 3523776930 + .long 565226725 + .long 1761381480 + .long 570779161 + .long 883385332 + .long 564671049 + .long 440096907 + .long 570363876 + .long 2153309489 + .long 564235645 + .long 1194744831 + .long 569805489 + .long 48747204 + .long 563705494 + .long 3159879025 + .long 569400136 + .long 3056207012 + .long 563246999 + .long 824088161 + .long 568835058 + .long 354735153 + .long 562743429 + .long 486132132 + .long 568407988 + .long 1372969599 + .long 562260855 + .long 1206199769 + .long 567867961 + .long 3472794264 + .long 561784948 + .long 62317260 + .long 567418230 + .long 3896970086 + .long 561277278 + .long 2432704940 + .long 566904291 + .long 297680563 + .long 560830147 + .long 545064173 + .long 566430928 + .long 2669122822 + .long 560296336 + .long 3305416296 + .long 565944141 + .long 93609353 + .long 559879117 + .long 3671816202 + .long 565446147 + .long 84211558 + .long 559318094 + .long 471936019 + .long 564987604 + .long 1883339902 + .long 558911479 + .long 750788399 + .long 564463954 + .long 3905060432 + .long 558342615 + .long 406946795 + .long 564034770 + .long 3581902328 + .long 557915585 + .long 2073103377 + .long 563484411 + .long 775169617 + .long 557369966 + .long 645109219 + .long 563085521 + .long 2167217684 + .long 556921714 + .long 1873477207 + .long 562507583 + .long 2719911064 + .long 556400207 + .long 308387809 + .long 562088655 + .long 1820614609 + .long 555929909 + .long 3394184269 + .long 561533532 + .long 3428473075 + .long 555433401 + .long 3532718306 + .long 561093774 + .long 2590741393 + .long 554940213 + .long 973889310 + .long 560562321 + .long 3231423410 + .long 554469608 + .long 2543671221 + .long 560100923 + .long 4120215704 + .long 553952668 + .long 766657789 + .long 559594009 + .long 3990858925 + .long 553508886 + .long 2679937012 + .long 559110143 + .long 766795438 + .long 552967316 + .long 2782797469 + .long 558628655 + .long 3969266360 + .long 552551292 + .long 359465212 + .long 558121476 + .long 2479815231 + .long 551984194 + .long 87304349 + .long 557666318 + .long 2781744359 + .long 551573928 + .long 3979992471 + .long 557134960 + .long 4123582023 + .long 551003341 + .long 3747181506 + .long 556707051 + .long 772845509 + .long 550574052 + .long 3265670589 + .long 556150636 + .long 2033180992 + .long 550024794 + .long 1667394255 + .long 555748095 + .long 4266286986 + .long 549575817 + .long 3025000172 + .long 555168540 + .long 1969419127 + .long 549048586 + .long 213891632 + .long 554747325 + .long 2975412881 + .long 548579249 + .long 1062171605 + .long 554188708 + .long 1294437369 + .long 548074750 + .long 1719126263 + .long 553748167 + .long 1919580014 + .long 547584369 + .long 437409612 + .long 553211173 + .long 1204063109 + .long 547103316 + .long 2623875259 + .long 552750645 + .long 3780445420 + .long 546591197 + .long 243126139 + .long 552235967 + .long 1773855030 + .long 546134312 + .long 1889903212 + .long 551754781 + .long 4139190786 + .long 545599753 + .long 3552062158 + .long 551263119 + .long 1295362200 + .long 545167764 + .long 543771968 + .long 550760595 + .long 3890875202 + .long 544610054 + .long 3884281491 + .long 550292658 + .long 4199340706 + .long 544203694 + .long 1216766549 + .long 549768105 + .long 182497587 + .long 543622116 + .long 1734284709 + .long 549324609 + .long 1604026468 + .long 543202246 + .long 3387175892 + .long 548777328 + .long 3120756719 + .long 542635950 + .long 3915352533 + .long 548358993 + .long 2219036760 + .long 542198431 + .long 2916130914 + .long 547788280 + .long 941503010 + .long 541651570 + .long 713993593 + .long 547376252 + .long 483174177 + .long 541195882 + .long 173294799 + .long 546800974 + .long 2491361091 + .long 540668983 + .long 3729374292 + .long 546371618 + .long 3265379113 + .long 540194603 + .long 3868888102 + .long 545815419 + .long 2404211897 + .long 539688197 + .long 446329664 + .long 545368228 + .long 1669235247 + .long 539194600 + .long 528715918 + .long 544831627 + .long 2118079047 + .long 538709216 + .long 1487257719 + .long 544366085 + .long 776404937 + .long 538195874 + .long 1282835441 + .long 543849602 + .long 834675212 + .long 537732042 + .long 1826700102 + .long 543365194 + .long 2151255554 + .long 537198425 + .long 2760641777 + .long 542869349 + .long 3667888735 + .long 536756673 + .long 1950287534 + .long 542365557 + .long 3532358117 + .long 536202252 + .long 3827870169 + .long 541890870 + .long 4033210885 + .long 535783107 + .long 3249640654 + .long 541367174 + .long 2827149968 + .long 535207352 + .long 857718385 + .long 540914165 + .long 204673652 + .long 534792549 + .long 3424184087 + .long 540370044 + .long 2116005711 + .long 534213719 + .long 192442764 + .long 539939229 + .long 2262032220 + .long 533783269 + .long 480983744 + .long 539374164 + .long 3077007003 + .long 533221345 + .long 552463019 + .long 538966056 + .long 1155652716 + .long 532774877 + .long 1038832938 + .long 538379527 + .long 2422580409 + .long 532230221 + .long 2762107583 + .long 537957062 + .long 2540139562 + .long 531767364 + .long 2873022586 + .long 537386126 + .long 234144598 + .long 531240335 + .long 851978190 + .long 536947936 + .long 959857451 + .long 530760722 + .long 3241618469 + .long 536393952 + .long 4016137197 + .long 530251671 + .long 641746280 + .long 535939673 + .long 1158797355 + .long 529754939 + .long 2929694603 + .long 535402993 + .long 2700852188 + .long 529264215 + .long 1525333438 + .long 534932264 + .long 747188860 + .long 528750003 + .long 1717775474 + .long 534413235 + .long 799625790 + .long 528277947 + .long 327675497 + .long 533925699 + .long 2945196677 + .long 527745899 + .long 2455571493 + .long 533424661 + .long 1032430757 + .long 527292845 + .long 4038940168 + .long 532919964 + .long 3569975073 + .long 526742612 + .long 2267376501 + .long 532437253 + .long 4156544978 + .long 526308885 + .long 3906173863 + .long 531915047 + .long 3806519963 + .long 525740124 + .long 955088646 + .long 531450990 + .long 225653902 + .long 525326043 + .long 1077525843 + .long 530910932 + .long 1518490359 + .long 524738416 + .long 830220830 + .long 530465848 + .long 3557546761 + .long 524316143 + .long 2195489810 + .long 529907600 + .long 4049459981 + .long 523737465 + .long 2271012400 + .long 529481801 + .long 847753142 + .long 523301506 + .long 2119830787 + .long 528905033 + .long 2385816620 + .long 522737250 + .long 3945328623 + .long 528490562 + .long 2824483751 + .long 522287379 + .long 1025612371 + .long 527903210 + .long 1171317542 + .long 521737745 + .long 478993390 + .long 527475303 + .long 4050503433 + .long 521273745 + .long 42496558 + .long 526902108 + .long 1494777678 + .long 520738923 + .long 2722912501 + .long 526460544 + .long 2121175141 + .long 520260585 + .long 1205835362 + .long 525901702 + .long 876052091 + .long 519740756 + .long 2184851820 + .long 525446269 + .long 1956192963 + .long 519247877 + .long 3130299594 + .long 524901966 + .long 1860986579 + .long 518743213 + .long 2090340358 + .long 524432458 + .long 2925107436 + .long 518235599 + .long 996620061 + .long 523902873 + .long 3456093698 + .long 517746262 + .long 200001429 + .long 523419091 + .long 3166760506 + .long 517223728 + .long 3736940656 + .long 522904391 + .long 1173268029 + .long 516749870 + .long 1705107024 + .long 522406145 + .long 3923102657 + .long 516212239 + .long 3994824735 + .long 521906490 + .long 4274930769 + .long 515753999 + .long 2072185257 + .long 521393598 + .long 1002792163 + .long 515201107 + .long 3939630350 + .long 520909136 + .long 1500524434 + .long 514758614 + .long 4261525466 + .long 520381425 + .long 2029541891 + .long 514190303 + .long 2446420451 + .long 519912294 + .long 4123712883 + .long 513763673 + .long 1600400128 + .long 519369602 + .long 755952266 + .long 513179800 + .long 3771339643 + .long 518915926 + .long 3713384391 + .long 512761400 + .long 3620669216 + .long 518358100 + .long 2932279824 + .long 512169567 + .long 478146326 + .long 517919995 + .long 1868169824 + .long 511740025 + .long 1781762437 + .long 517346893 + .long 651046716 + .long 511159575 + .long 3630609920 + .long 516924458 + .long 2035527349 + .long 510718808 + .long 3928222930 + .long 516335950 + .long 2541743873 + .long 510149790 + .long 4290911501 + .long 515914333 + .long 4135746717 + .long 509697726 + .long 42975951 + .long 515325243 + .long 3851529334 + .long 509140180 + .long 1867370737 + .long 514892609 + .long 460958008 + .long 508676757 + .long 1030310754 + .long 514314738 + .long 3786069382 + .long 508130711 + .long 399587929 + .long 513871017 + .long 1564219554 + .long 507655874 + .long 204736770 + .long 513304404 + .long 1390956615 + .long 507121348 + .long 2470420727 + .long 512849533 + .long 2029916431 + .long 506635053 + .long 3514566047 + .long 512294206 + .long 38331373 + .long 506112054 + .long 3213378625 + .long 511828134 + .long 2089464452 + .long 505614268 + .long 3946080721 + .long 511284111 + .long 3338636486 + .long 505102791 + .long 3325865067 + .long 510806795 + .long 3477778940 + .long 504593492 + .long 3187356225 + .long 510274083 + .long 2477247698 + .long 504093523 + .long 618134939 + .long 509785491 + .long 1005142412 + .long 503572699 + .long 3242129194 + .long 509264085 + .long 2220305228 + .long 503084210 + .long 3047479426 + .long 508764194 + .long 4203966732 + .long 502551859 + .long 2353192715 + .long 508254080 + .long 3984995916 + .long 502074812 + .long 3107895392 + .long 507742879 + .long 3150820635 + .long 501530946 + .long 3824941553 + .long 507244029 + .long 1808431824 + .long 501065290 + .long 3769312013 + .long 506721518 + .long 3017450811 + .long 500509930 + .long 3384960724 + .long 506233894 + .long 4099541654 + .long 500055601 + .long 1476813861 + .long 505700084 + .long 2796381842 + .long 499488782 + .long 2328873266 + .long 505223635 + .long 3864022258 + .long 499045705 + .long 3518951934 + .long 504678547 + .long 4100038552 + .long 498467472 + .long 3498294158 + .long 504213211 + .long 480969019 + .long 498035560 + .long 2455372318 + .long 503656880 + .long 2788309766 + .long 497445971 + .long 2976257199 + .long 503202582 + .long 8045539 + .long 497025073 + .long 2092645433 + .long 502635053 + .long 2078780918 + .long 496424248 + .long 3269329508 + .long 502191706 + .long 1330371896 + .long 495995398 + .long 518579993 + .long 501613037 + .long 4189447995 + .long 495402272 + .long 731131457 + .long 501180542 + .long 1532914755 + .long 494965534 + .long 3208993496 + .long 500590801 + .long 1988199791 + .long 494380014 + .long 3061143611 + .long 500169046 + .long 1784882792 + .long 493935459 + .long 1781921891 + .long 499568317 + .long 713256479 + .long 493357442 + .long 4079290520 + .long 499139676 + .long 2979966951 + .long 492905151 + .long 3104706 + .long 498545554 + .long 1044472979 + .long 492334525 + .long 2230043321 + .long 498109246 + .long 1620778697 + .long 491874589 + .long 1142824481 + .long 497522481 + .long 3654404461 + .long 491311232 + .long 2822654721 + .long 497078586 + .long 2886404970 + .long 490843750 + .long 3928134283 + .long 496499068 + .long 878722914 + .long 490287534 + .long 4020169665 + .long 496047675 + .long 3637954583 + .long 489812613 + .long 2794870098 + .long 495475286 + .long 2749926565 + .long 489263398 + .long 4078516341 + .long 495016492 + .long 1196168526 + .long 488781157 + .long 1028719396 + .long 494451104 + .long 2904339737 + .long 488238795 + .long 1528930591 + .long 493985016 + .long 2120772317 + .long 487749359 + .long 2434918903 + .long 493426491 + .long 325777278 + .long 487213695 + .long 3952515897 + .long 492953224 + .long 926267295 + .long 486717199 + .long 3010706529 + .long 492401418 + .long 3910668301 + .long 486188066 + .long 2396755347 + .long 491921097 + .long 1748060866 + .long 485684655 + .long 4094631857 + .long 491375855 + .long 2673993172 + .long 485161881 + .long 1627764568 + .long 490888613 + .long 1354002939 + .long 484651707 + .long 4042302183 + .long 490349773 + .long 379491867 + .long 484135110 + .long 3138534517 + .long 489855751 + .long 2220243131 + .long 483618334 + .long 2787537171 + .long 489323143 + .long 2924194407 + .long 483107723 + .long 1042160455 + .long 488822492 + .long 4131233107 + .long 482584516 + .long 2108285128 + .long 488295936 + .long 1426139857 + .long 482079694 + .long 3734405326 + .long 487788814 + .long 73105916 + .long 481550235 + .long 1596513481 + .long 487268124 + .long 2554081150 + .long 481050994 + .long 4015626840 + .long 486754699 + .long 2189662638 + .long 480515469 + .long 3216181302 + .long 486239679 + .long 3019149655 + .long 480021597 + .long 750720322 + .long 485720128 + .long 3311112978 + .long 479480201 + .long 2973659746 + .long 485210575 + .long 2716951534 + .long 478991477 + .long 3347036114 + .long 484685080 + .long 2904018737 + .long 478444413 + .long 4059540593 + .long 484180785 + .long 684718244 + .long 477960609 + .long 1869838612 + .long 483649539 + .long 2952594857 + .long 477408087 + .long 4216397100 + .long 483150284 + .long 3937488379 + .long 476928967 + .long 1578993934 + .long 482613486 + .long 3835581749 + .long 476371206 + .long 281380308 + .long 482119048 + .long 1937898813 + .long 475896530 + .long 1627246380 + .long 481576904 + .long 198141223 + .long 475333755 + .long 1312935370 + .long 481087051 + .long 1188099164 + .long 474863274 + .long 3818881409 + .long 480539776 + .long 2588044054 + .long 474295716 + .long 3056228853 + .long 480054271 + .long 3978924537 + .long 473829177 + .long 4183596390 + .long 479502087 + .long 3251248939 + .long 473257076 + .long 1055944777 + .long 479020687 + .long 15076740 + .long 472794221 + .long 1724790849 + .long 478463822 + .long 2050484523 + .long 472217821 + .long 3761008495 + .long 477986276 + .long 980383090 + .long 471758384 + .long 2866927116 + .long 477424965 + .long 2312034373 + .long 471177937 + .long 2670851553 + .long 476951020 + .long 2078341320 + .long 470721649 + .long 126628446 + .long 476385504 + .long 2370062226 + .long 470137412 + .long 2601743095 + .long 475914899 + .long 3691292635 + .long 469683999 + .long 2316447731 + .long 475345424 + .long 4282869978 + .long 469096234 + .long 403375800 + .long 474877896 + .long 2963298634 + .long 468645419 + .long 316731867 + .long 474304715 + .long 1065963037 + .long 468054394 + .long 2319387273 + .long 473839993 + .long 2550786954 + .long 467605894 + .long 1559132177 + .long 473263364 + .long 2571071607 + .long 467011880 + .long 2681805997 + .long 472801176 + .long 2180690006 + .long 466565411 + .long 77362999 + .long 472221362 + .long 1226514280 + .long 465968685 + .long 1248268847 + .long 471761431 + .long 3080351071 + .long 465523958 + .long 2383906831 + .long 471178698 + .long 2192619100 + .long 464924800 + .long 3346908713 + .long 470720744 + .long 3803907036 + .long 464481525 + .long 1798125170 + .long 470135365 + .long 1967779515 + .long 463880219 + .long 2828425539 + .long 469679105 + .long 339639984 + .long 463438104 + .long 9693417 + .long 469091355 + .long 1344217659 + .long 462834936 + .long 3659471034 + .long 468636503 + .long 3382836177 + .long 462393685 + .long 2862616817 + .long 468046660 + .long 1173607322 + .long 461788946 + .long 2847535056 + .long 467592930 + .long 4054360268 + .long 461348264 + .long 3244462034 + .long 467001276 + .long 2417187328 + .long 460742245 + .long 3416455505 + .long 466548378 + .long 4028795565 + .long 460301836 + .long 2620177535 + .long 465955198 + .long 1890260299 + .long 459694831 + .long 1597669206 + .long 465502842 + .long 2697752267 + .long 459254398 + .long 2490825572 + .long 464908422 + .long 880811534 + .long 458646702 + .long 4071519587 + .long 464456316 + .long 1497721484 + .long 458205948 + .long 136798453 + .long 463860946 + .long 872346448 + .long 457597857 + .long 2243967809 + .long 463408799 + .long 3927526386 + .long 457156485 + .long 1530290817 + .long 462812767 + .long 3550754946 + .long 456548296 + .long 2342796501 + .long 462360288 + .long 2665376278 + .long 456106012 + .long 4172293587 + .long 461763885 + .long 2210277417 + .long 455498022 + .long 3959016397 + .long 461310783 + .long 1030157147 + .long 455054531 + .long 1393659562 + .long 460714302 + .long 3213291947 + .long 454447036 + .long 47864442 + .long 460260287 + .long 67528096 + .long 454002046 + .long 3825252527 + .long 459664017 + .long 194562736 + .long 453395343 + .long 2684357242 + .long 459208800 + .long 2800530107 + .long 452948562 + .long 727784562 + .long 458613035 + .long 4089253246 + .long 452342945 + .long 84168019 + .long 458156329 + .long 1285119858 + .long 451894088 + .long 2915315101 + .long 457561357 + .long 135810390 + .long 451289851 + .long 3803717572 + .long 457102877 + .long 2305406196 + .long 450838631 + .long 4063743821 + .long 456508989 + .long 3652572945 + .long 450236064 + .long 1436037479 + .long 456048454 + .long 1514529455 + .long 449782202 + .long 2138343601 + .long 455455937 + .long 4134903549 + .long 449181594 + .long 3781169290 + .long 454993066 + .long 510767191 + .long 448724812 + .long 3631083286 + .long 454402206 + .long 3831505964 + .long 448126449 + .long 1807758590 + .long 453936725 + .long 2424708211 + .long 447666473 + .long 2018001648 + .long 453347805 + .long 476337342 + .long 447070639 + .long 909869841 + .long 452879441 + .long 3197762137 + .long 446607200 + .long 3451306558 + .long 452292741 + .long 75758966 + .long 446014173 + .long 3610351944 + .long 451821226 + .long 27284118 + .long 445547009 + .long 902214610 + .long 451237025 + .long 3916679371 + .long 444957062 + .long 840691427 + .long 450762096 + .long 4093898977 + .long 444485914 + .long 4129008523 + .long 450180665 + .long 4155786694 + .long 443899320 + .long 1862563288 + .long 449702064 + .long 1736977177 + .long 443423936 + .long 916586263 + .long 449123675 + .long 875158845 + .long 442840960 + .long 4047312982 + .long 448641147 + .long 1517782031 + .long 442361092 + .long 4206679294 + .long 448066064 + .long 1949959088 + .long 441781994 + .long 1298138877 + .long 447579364 + .long 3962133185 + .long 441297402 + .long 435528617 + .long 447007848 + .long 1433687779 + .long 440722438 + .long 1050763615 + .long 446516732 + .long 1357404790 + .long 440232889 + .long 942889975 + .long 445949038 + .long 885960643 + .long 439662307 + .long 2608549237 + .long 445453271 + .long 3309558139 + .long 439167573 + .long 3179272586 + .long 444889649 + .long 628851502 + .long 438601617 + .long 1237193661 + .long 444389003 + .long 2161558164 + .long 438101479 + .long 3445787372 + .long 443829697 + .long 3881973273 + .long 437540384 + .long 839797879 + .long 443323949 + .long 2827945983 + .long 437034630 + .long 1037538179 + .long 442769198 + .long 3712043870 + .long 436478627 + .long 853251644 + .long 442258132 + .long 1082193446 + .long 435967052 + .long 2380984769 + .long 441708167 + .long 42109685 + .long 435416364 + .long 316321489 + .long 441191576 + .long 491915038 + .long 434898770 + .long 3690951728 + .long 440646622 + .long 3771298562 + .long 434353611 + .long 1930304500 + .long 440124305 + .long 3578205978 + .long 433829810 + .long 3687415761 + .long 439584581 + .long 2235853675 + .long 433290390 + .long 3228097313 + .long 439056345 + .long 2969701438 + .long 432760201 + .long 3422935503 + .long 438522062 + .long 1976128444 + .long 432226719 + .long 622251061 + .long 437987723 + .long 2616928872 + .long 431689970 + .long 1811205449 + .long 437459084 + .long 2781223343 + .long 431162618 + .long 2037824448 + .long 436918464 + .long 348284108 + .long 430619146 + .long 4037157941 + .long 436395665 + .long 1796084772 + .long 430098108 + .long 886183490 + .long 435848597 + .long 487918660 + .long 429547757 + .long 4194467779 + .long 435331826 + .long 1921835809 + .long 429033209 + .long 1574856126 + .long 434778149 + .long 701774251 + .long 428475833 + .long 2280565076 + .long 434267587 + .long 3035074915 + .long 427967942 + .long 2064959187 + .long 433707149 + .long 317212610 + .long 427403404 + .long 4010113327 + .long 433202967 + .long 1796515696 + .long 426902329 + .long 2196472361 + .long 432635626 + .long 52271192 + .long 426330500 + .long 3447516028 + .long 432137988 + .long 49531636 + .long 425836391 + .long 3422415476 + .long 431563609 + .long 1745271979 + .long 425257151 + .long 4293586673 + .long 431072670 + .long 334325754 + .long 424770149 + .long 4247684854 + .long 430491128 + .long 3790596534 + .long 424183388 + .long 2517525345 + .long 430007035 + .long 1403173910 + .long 423703625 + .long 4258229852 + .long 429418213 + .long 871327476 + .long 423109243 + .long 3349192873 + .long 428941103 + .long 2327211671 + .long 422636841 + .long 3856434806 + .long 428344894 + .long 874406098 + .long 422034745 + .long 3912743233 + .long 427874896 + .long 2310384696 + .long 421569819 + .long 3998425883 + .long 427271201 + .long 3154458831 + .long 420959925 + .long 1631682226 + .long 426808436 + .long 506036551 + .long 420502581 + .long 1639070103 + .long 426197165 + .long 2571506734 + .long 419884815 + .long 2636061136 + .long 425741743 + .long 131590857 + .long 419435148 + .long 2360217394 + .long 425122815 + .long 2123368345 + .long 418809445 + .long 107531667 + .long 424674840 + .long 3698826492 + .long 418353259 + .long 2938237131 + .long 424048182 + .long 4108636988 + .long 417733845 + .long 4039275195 + .long 423590789 + .long 2893379127 + .long 417266320 + .long 3981058062 + .long 422973296 + .long 1295691695 + .long 416658047 + .long 1799245620 + .long 422504843 + .long 809368571 + .long 416179121 + .long 1095743658 + .long 421898188 + .long 2458071445 + .long 415582079 + .long 3152629639 + .long 421418602 + .long 2880996644 + .long 415091703 + .long 1831853591 + .long 420822886 + .long 2082457760 + .long 414505972 + .long 3375611757 + .long 420332109 + .long 3813221416 + .long 414004109 + .long 3976661321 + .long 419747420 + .long 1623971680 + .long 413429755 + .long 222515280 + .long 419245406 + .long 161894751 + .long 412916381 + .long 3922251253 + .long 418671820 + .long 704894105 + .long 412353457 + .long 2205898558 + .long 418158532 + .long 2925813699 + .long 411828557 + .long 745269613 + .long 417596115 + .long 1206932886 + .long 411277106 + .long 2528034227 + .long 417071529 + .long 2906655622 + .long 410740679 + .long 294773265 + .long 416520332 + .long 2782612403 + .long 410200730 + .long 268798842 + .long 415984437 + .long 506502267 + .long 409652786 + .long 2108747555 + .long 415444499 + .long 2671060727 + .long 409124357 + .long 111092231 + .long 414897294 + .long 1179204803 + .long 408564915 + .long 3519434075 + .long 414368644 + .long 4113495186 + .long 408048013 + .long 3489230693 + .long 413810138 + .long 2305837020 + .long 407477104 + .long 3767963252 + .long 413292794 + .long 3303928739 + .long 406971725 + .long 4045703249 + .long 412723008 + .long 1559394247 + .long 406389390 + .long 3833649452 + .long 412216975 + .long 2119990474 + .long 405895518 + .long 281624545 + .long 411635941 + .long 989263513 + .long 405301808 + .long 1978234054 + .long 411141213 + .long 3684399904 + .long 404819416 + .long 3926423569 + .long 410548970 + .long 2530769806 + .long 404214392 + .long 2185191413 + .long 410065532 + .long 3642169242 + .long 403743444 + .long 1077414544 + .long 409462133 + .long 3529948250 + .long 403127176 + .long 1134565222 + .long 408989957 + .long 2923469607 + .long 402667625 + .long 3548466521 + .long 408375461 + .long 873635608 + .long 402040193 + .long 958141692 + .long 407914511 + .long 2380128801 + .long 401579355 + .long 1449417702 + .long 407288989 + .long 3724984240 + .long 400953472 + .long 1060892090 + .long 406830946 + .long 2060268791 + .long 400477037 + .long 1679979762 + .long 406202747 + .long 3324839389 + .long 399867045 + .long 3605744095 + .long 405729281 + .long 2853346502 + .long 399375154 + .long 2014373632 + .long 405116766 + .long 2938189705 + .long 398780940 + .long 2232445718 + .long 404628007 + .long 3948535372 + .long 398273746 + .long 3855954834 + .long 404031075 + .long 571451293 + .long 397695185 + .long 3997793792 + .long 403527163 + .long 1328669080 + .long 397172852 + .long 3532276603 + .long 402945703 + .long 1769888605 + .long 396609805 + .long 117139507 + .long 402426790 + .long 542212897 + .long 396072507 + .long 785235588 + .long 401860677 + .long 2365473167 + .long 395524826 + .long 193707104 + .long 401326923 + .long 3726803886 + .long 394972745 + .long 2981353042 + .long 400776021 + .long 1304518436 + .long 394440272 + .long 2044657899 + .long 400227598 + .long 948810575 + .long 393873601 + .long 3567196460 + .long 399691761 + .long 605169024 + .long 393356165 + .long 202857553 + .long 399128850 + .long 218268034 + .long 392775104 + .long 3489213753 + .long 398607920 + .long 1034387390 + .long 392272526 + .long 3029254570 + .long 398030709 + .long 1689466565 + .long 391677283 + .long 2563287204 + .long 397524520 + .long 2094040642 + .long 391189375 + .long 2600913452 + .long 396933207 + .long 1946043246 + .long 390580166 + .long 3743389614 + .long 396441581 + .long 2020750266 + .long 390106731 + .long 453478293 + .long 395836372 + .long 2600223858 + .long 389483778 + .long 224241404 + .long 395359124 + .long 2094066699 + .long 389024611 + .long 3278227262 + .long 394740229 + .long 1730781785 + .long 388388143 + .long 1212176215 + .long 394277165 + .long 440289986 + .long 387912943 + .long 1458075427 + .long 393644805 + .long 2518810659 + .long 387293282 + .long 3749064933 + .long 393175444 + .long 3415481171 + .long 386799468 + .long 3456378279 + .long 392550121 + .long 425922765 + .long 386199216 + .long 1092703806 + .long 392062198 + .long 4277745370 + .long 385687130 + .long 1503849114 + .long 391456200 + .long 453761503 + .long 385105962 + .long 1833791429 + .long 390950043 + .long 631386339 + .long 384575954 + .long 1726901441 + .long 390363060 + .long 59566222 + .long 384013537 + .long 2685943042 + .long 389839006 + .long 961658282 + .long 383465960 + .long 2752588376 + .long 389270719 + .long 2151517544 + .long 382921955 + .long 2706655627 + .long 388729111 + .long 3326307572 + .long 382357168 + .long 98807236 + .long 388179194 + .long 2328481889 + .long 381831230 + .long 3442519839 + .long 387620379 + .long 4131389714 + .long 381249596 + .long 3464096023 + .long 387088497 + .long 1902935064 + .long 380741373 + .long 504713419 + .long 386512830 + .long 2630439749 + .long 380143259 + .long 2491716602 + .long 385998643 + .long 3756546937 + .long 379652393 + .long 933373881 + .long 385406479 + .long 1145790782 + .long 379038169 + .long 1266292521 + .long 384909642 + .long 3912470507 + .long 378564299 + .long 1925174067 + .long 384301341 + .long 1010818900 + .long 377934336 + .long 1283084181 + .long 383821503 + .long 596607075 + .long 377466836 + .long 3937356731 + .long 383197428 + .long 2821816074 + .long 376831768 + .long 1608532073 + .long 382734234 + .long 3037958193 + .long 376342802 + .long 2332449651 + .long 382094751 + .long 2408317383 + .long 375730472 + .long 2397654593 + .long 381614019 + .long 2557939275 + .long 375220570 + .long 512120078 + .long 380993317 + .long 3995478800 + .long 374630451 + .long 2456329504 + .long 380491572 + .long 114614293 + .long 374100144 + .long 1589275847 + .long 379893131 + .long 3312628691 + .long 373531708 + .long 1966729927 + .long 379370894 + .long 2040206870 + .long 372981524 + .long 72029277 + .long 378794198 + .long 776306839 + .long 372434243 + .long 417809006 + .long 378251989 + .long 3289085169 + .long 371864710 + .long 3623078601 + .long 377696518 + .long 1796902327 + .long 371338053 + .long 2918093283 + .long 377134857 + .long 761688673 + .long 370749699 + .long 3288920559 + .long 376600093 + .long 4207691436 + .long 370243135 + .long 3437608319 + .long 376019498 + .long 2342977085 + .long 369636483 + .long 3866848942 + .long 375504920 + .long 2879868540 + .long 369149485 + .long 2420364926 + .long 374905908 + .long 1588980901 + .long 368525055 + .long 2739411497 + .long 374410996 + .long 2932481858 + .long 368057095 + .long 2931179438 + .long 373794080 + .long 3959187389 + .long 367415403 + .long 3074514019 + .long 373318315 + .long 1467918282 + .long 366930315 + .long 2515077535 + .long 372684006 + .long 1513976558 + .long 366307516 + .long 2520993857 + .long 372209262 + .long 2827211306 + .long 365799099 + .long 2242535527 + .long 371575675 + .long 3449765443 + .long 365201377 + .long 229374307 + .long 371077406 + .long 4030107585 + .long 364670345 + .long 2874247126 + .long 370469074 + .long 2211302595 + .long 364096971 + .long 1239422762 + .long 369947986 + .long 840366190 + .long 363544029 + .long 1028822652 + .long 369364189 + .long 4028711686 + .long 362994278 + .long 207636622 + .long 368820981 + .long 4250478068 + .long 362420121 + .long 2531844762 + .long 368261002 + .long 3618837079 + .long 361893279 + .long 2318347883 + .long 367696365 + .long 2491775545 + .long 361298594 + .long 1405281421 + .long 367159496 + .long 1833836259 + .long 360793952 + .long 2464788893 + .long 366574112 + .long 349633767 + .long 360179415 + .long 1805332254 + .long 366059650 + .long 1831269244 + .long 359696273 + .long 3082197830 + .long 365454192 + .long 2638068963 + .long 359062549 + .long 1303053763 + .long 364961443 + .long 1888756545 + .long 358587444 + .long 1911726058 + .long 364336574 + .long 1961659335 + .long 357947962 + .long 4226025985 + .long 363864851 + .long 3747536647 + .long 357447105 + .long 1233082573 + .long 363221224 + .long 828038150 + .long 356835616 + .long 1270801490 + .long 362732408 + .long 499547327 + .long 356309909 + .long 4204596276 + .long 362108106 + .long 3685024638 + .long 355725471 + .long 2263119564 + .long 361594116 + .long 208289706 + .long 355175798 + .long 2604176066 + .long 360997185 + .long 355902013 + .long 354617489 + .long 1571658720 + .long 360458903 + .long 2831155402 + .long 354044714 + .long 3214416859 + .long 359888421 + .long 1001156103 + .long 353511626 + .long 2092639694 + .long 359326713 + .long 1060879276 + .long 352916599 + .long 2656242605 + .long 358781775 + .long 2346460494 + .long 352407840 + .long 3140357496 + .long 358197489 + .long 2620891755 + .long 351791390 + .long 864200800 + .long 357677206 + .long 1139994072 + .long 351306088 + .long 1272299290 + .long 357071173 + .long 998738015 + .long 350669026 + .long 1662699579 + .long 356574671 + .long 2302133496 + .long 350188265 + .long 3978417974 + .long 355947703 + .long 1990495904 + .long 349549442 + .long 442183120 + .long 355474128 + .long 1648631435 + .long 349041201 + .long 398634752 + .long 354827020 + .long 2975863533 + .long 348432574 + .long 3768021229 + .long 354332376 + .long 486875883 + .long 347897932 + .long 736504491 + .long 353709059 + .long 2232348394 + .long 347318357 + .long 2322467066 + .long 353187567 + .long 3268018708 + .long 346758364 + .long 2634041373 + .long 352593757 + .long 3927971950 + .long 346206724 + .long 3257994585 + .long 352046473 + .long 2514707150 + .long 345622405 + .long 470872302 + .long 351481051 + .long 1611901678 + .long 345097610 + .long 568930306 + .long 350909004 + .long 1224567807 + .long 344489960 + .long 3227159577 + .long 350370874 + .long 331959221 + .long 343990947 + .long 2250543232 + .long 349775066 + .long 874240467 + .long 343360934 + .long 780057110 + .long 349263163 + .long 69121375 + .long 342886668 + .long 1142967647 + .long 348644568 + .long 2268018375 + .long 342235232 + .long 3187181140 + .long 348157850 + .long 1236402983 + .long 341733636 + .long 1570569667 + .long 347517416 + .long 2050805026 + .long 341112760 + .long 970610165 + .long 347031087 + .long 4289331829 + .long 340582788 + .long 2991953537 + .long 346393517 + .long 2064992333 + .long 339993423 + .long 3835464351 + .long 345878239 + .long 2834904129 + .long 339436308 + .long 789753324 + .long 345272779 + .long 1486374416 + .long 338877127 + .long 4237562651 + .long 344729795 + .long 1795254523 + .long 338294062 + .long 4199966768 + .long 344155107 + .long 1803895842 + .long 337763778 + .long 1913603615 + .long 343585624 + .long 1236370561 + .long 337155918 + .long 2661257846 + .long 343040411 + .long 3168560722 + .long 336653283 + .long 3747541370 + .long 342445594 + .long 1544858000 + .long 336021745 + .long 843355073 + .long 341928598 + .long 701727663 + .long 335545551 + .long 3212904903 + .long 341309577 + .long 4252571316 + .long 334891413 + .long 2095636171 + .long 340819576 + .long 181107243 + .long 334385235 + .long 2708120800 + .long 340177444 + .long 4214802816 + .long 333764795 + .long 891481710 + .long 339687888 + .long 1863002590 + .long 333228849 + .long 1475935954 + .long 339049068 + .long 3207614907 + .long 332641764 + .long 951962484 + .long 338529047 + .long 3019254994 + .long 332077447 + .long 647215757 + .long 337924323 + .long 1995597590 + .long 331522195 + .long 1307132931 + .long 337375253 + .long 2784109590 + .long 330930854 + .long 3935098394 + .long 336803084 + .long 935907665 + .long 330405965 + .long 489622420 + .long 336226332 + .long 3672874055 + .long 329788897 + .long 1095558523 + .long 335685231 + .long 529859671 + .long 329292953 + .long 3793524113 + .long 335082111 + .long 3735652122 + .long 328651407 + .long 2874939353 + .long 334570641 + .long 3846762629 + .long 328161792 + .long 2594228670 + .long 333942423 + .long 1524643224 + .long 327518218 + .long 2891599860 + .long 333459197 + .long 1830584859 + .long 326996509 + .long 841053976 + .long 332807101 + .long 992163451 + .long 326389166 + .long 3488900988 + .long 332302973 + .long 2489415457 + .long 325836963 + .long 2825237155 + .long 331675981 + .long 3436657835 + .long 325264091 + .long 2015957083 + .long 331140550 + .long 4123958411 + .long 324682931 + .long 880032773 + .long 330548905 + .long 3678845232 + .long 324142838 + .long 2949966793 + .long 329983733 + .long 774011448 + .long 323534196 + .long 1669772503 + .long 329425715 + .long 3355255702 + .long 323025254 + .long 2707219994 + .long 328832304 + .long 4228305774 + .long 322390542 + .long 875819559 + .long 328306259 + .long 1058802249 + .long 321909549 + .long 1725500861 + .long 327686049 + .long 1526668256 + .long 321251764 + .long 771027883 + .long 327190387 + .long 1440448964 + .long 320736746 + .long 685169409 + .long 326544759 + .long 2576883052 + .long 320117657 + .long 3931256307 + .long 326048770 + .long 4211444510 + .long 319570409 + .long 943825043 + .long 325408230 + .long 1796204117 + .long 318988025 + .long 3078500894 + .long 324879071 + .long 2929791 + .long 318410265 + .long 598122658 + .long 324276264 + .long 4105023641 + .long 317862675 + .long 3713099277 + .long 323715687 + .long 4053342124 + .long 317256043 + .long 3356168766 + .long 323148667 + .long 3607219520 + .long 316741422 + .long 8385943 + .long 322558350 + .long 546691080 + .long 316107487 + .long 1569386958 + .long 322025253 + .long 860208356 + .long 315624085 + .long 1602866975 + .long 321406796 + .long 2825627555 + .long 314964342 + .long 2146945184 + .long 320905838 + .long 1512638989 + .long 314448175 + .long 3694443718 + .long 320260772 + .long 1851223288 + .long 313826366 + .long 1734172065 + .long 319764812 + .long 3513124527 + .long 313276696 + .long 4292046831 + .long 319120032 + .long 483102926 + .long 312693322 + .long 3451475318 + .long 318589505 + .long 205455539 + .long 312112030 + .long 4205268708 + .long 317984337 + .long 441034304 + .long 311564981 + .long 3738205159 + .long 317421168 + .long 842935179 + .long 310953857 + .long 2661954576 + .long 316853456 + .long 2082540419 + .long 310441122 + .long 191682699 + .long 316259480 + .long 1023232792 + .long 309801871 + .long 1443656792 + .long 315727165 + .long 3938167691 + .long 309313145 + .long 2030154461 + .long 315104128 + .long 3715645745 + .long 308655775 + .long 364014527 + .long 314605248 + .long 2221126625 + .long 308130669 + .long 3957555902 + .long 313954813 + .long 1553430262 + .long 307515285 + .long 2549547892 + .long 313450768 + .long 541059372 + .long 306955923 + .long 2893226174 + .long 312811246 + .long 2002181412 + .long 306380124 + .long 2553687033 + .long 312271769 + .long 3328160459 + .long 305788524 + .long 1738637298 + .long 311673147 + .long 921404674 + .long 305250028 + .long 1821651048 + .long 311100311 + .long 4041041389 + .long 304628106 + .long 187612271 + .long 310540247 + .long 3309758413 + .long 304124741 + .long 3123473258 + .long 309936020 + .long 1274902091 + .long 303474316 + .long 2651100243 + .long 309412286 + .long 2091366167 + .long 302969576 + .long 1344477234 + .long 308778538 + .long 1911254553 + .long 302326813 + .long 352942948 + .long 308289017 + .long 4237029098 + .long 301785368 + .long 3896993776 + .long 307627518 + .long 2727336008 + .long 301185272 + .long 1233965820 + .long 307107630 + .long 3668024467 + .long 300609369 + .long 3816128113 + .long 306482630 + .long 2012574928 + .long 300049381 + .long 543989814 + .long 305927014 + .long 2452741724 + .long 299441146 + .long 36761402 + .long 305343556 + .long 2544835316 + .long 298918840 + .long 3928334870 + .long 304754400 + .long 3629786995 + .long 298280284 + .long 434868103 + .long 304209989 + .long 3277144393 + .long 297791142 + .long 735890319 + .long 303589368 + .long 665096612 + .long 297126388 + .long 3345452543 + .long 303081637 + .long 967835438 + .long 296598343 + .long 1154568510 + .long 302431511 + .long 1221884323 + .long 295979077 + .long 1027443567 + .long 301926556 + .long 1141739083 + .long 295414598 + .long 4220242335 + .long 301280442 + .long 3647891822 + .long 294837989 + .long 2972216333 + .long 300737636 + .long 179140444 + .long 294239407 + .long 140442075 + .long 300135793 + .long 3497721983 + .long 293702779 + .long 4276020636 + .long 299557540 + .long 2099687014 + .long 293072291 + .long 2646489349 + .long 298997207 + .long 33373082 + .long 292573117 + .long 846827046 + .long 298385780 + .long 2711187823 + .long 291912795 + .long 4008058152 + .long 297864348 + .long 1125808704 + .long 291393245 + .long 2739885995 + .long 297221887 + .long 3807832798 + .long 290760484 + .long 1788472360 + .long 296726781 + .long 2298680525 + .long 290202825 + .long 1174423899 + .long 296065418 + .long 1592748605 + .long 289614945 + .long 1788014666 + .long 295530643 + .long 3356705021 + .long 289021699 + .long 4255981332 + .long 294915947 + .long 873339961 + .long 288475783 + .long 2225985729 + .long 294344114 + .long 3207307935 + .long 287849324 + .long 3974693742 + .long 293773072 + .long 3498013316 + .long 287342623 + .long 2259587784 + .long 293166637 + .long 4290976658 + .long 286685183 + .long 3337149527 + .long 292636408 + .long 2213271901 + .long 286168974 + .long 1851363003 + .long 291997682 + .long 4124917910 + .long 285528786 + .long 560601066 + .long 291505590 + .long 237986845 + .long 284973143 + .long 1945873158 + .long 290836745 + .long 4067610106 + .long 284379667 + .long 2407737944 + .long 290304987 + .long 3316441310 + .long 283787287 + .long 383757411 + .long 289683348 + .long 953137458 + .long 283237385 + .long 519332437 + .long 289113260 + .long 1679064961 + .long 282610800 + .long 742221624 + .long 288537036 + .long 257844265 + .long 282101520 + .long 1573086074 + .long 287931244 + .long 2269104533 + .long 281443104 + .long 4045568760 + .long 287397378 + .long 2828508576 + .long 280924983 + .long 733249718 + .long 286758347 + .long 1732603576 + .long 280283654 + .long 533243710 + .long 286263968 + .long 751492636 + .long 279725162 + .long 2457656012 + .long 285594006 + .long 2462407785 + .long 279131933 + .long 293908249 + .long 285060162 + .long 1695364450 + .long 278535921 + .long 2184942539 + .long 284437690 + .long 2984201462 + .long 277987453 + .long 1622545857 + .long 283864623 + .long 3955382588 + .long 277356589 + .long 2485197737 + .long 283288895 + .long 1345834619 + .long 276849753 + .long 3774707117 + .long 282679379 + .long 2328269116 + .long 276186533 + .long 3551722450 + .long 282147145 + .long 1556386510 + .long 275661305 + .long 1055046300 + .long 281503777 + .long 2498081107 + .long 275025153 + .long 504978042 + .long 281005615 + .long 905153602 + .long 274459033 + .long 1999379204 + .long 280337197 + .long 1247619184 + .long 273871885 + .long 1558294877 + .long 279796224 + .long 2806790149 + .long 273267850 + .long 955821656 + .long 279179057 + .long 1220029206 + .long 272726196 + .long 652462241 + .long 278598374 + .long 3699351654 + .long 272087026 + .long 1388515372 + .long 278028806 + .long 105210774 + .long 271587585 + .long 4292462997 + .long 277411308 + .long 2490658546 + .long 270915873 + .long 714581134 + .long 276885926 + .long 2997737018 + .long 270378550 + .long 168678396 + .long 276234317 + .long 350409269 + .long 269753743 + .long 2205526037 + .long 275724368 + .long 383728174 + .long 269175438 + .long 4104412605 + .long 275066727 + .long 786460319 + .long 268600026 + .long 2279249664 + .long 274513793 + .long 4041746960 + .long 267983812 + .long 4201504027 + .long 273907910 + .long 1416847643 + .long 267454150 + .long 1155392763 + .long 273315198 + .long 1943249372 + .long 266802890 + .long 4049930300 + .long 272757272 + .long 2120646630 + .long 266292851 + .long 1974057484 + .long 272127769 + .long 3163030352 + .long 265631933 + .long 1793983883 + .long 271614256 + .long 1340103187 + .long 265077879 + .long 326495793 + .long 270950743 + .long 1483145903 + .long 264470251 + .long 3384178624 + .long 270424067 + .long 513069763 + .long 263875557 + .long 3533636991 + .long 269783401 + .long 3821821156 + .long 263317194 + .long 375127469 + .long 269214020 + .long 774948588 + .long 262684997 + .long 3076091270 + .long 268625072 + .long 3224568612 + .long 262172156 + .long 351806358 + .long 268016264 + .long 3638282913 + .long 261505367 + .long 3252136545 + .long 267475124 + .long 3279049336 + .long 260973711 + .long 3853369566 + .long 266829935 + .long 2216268360 + .long 260335890 + .long 1666423492 + .long 266327629 + .long 1734069409 + .long 259760943 + .long 1443666147 + .long 265654226 + .long 3053244528 + .long 259175836 + .long 3223029848 + .long 265106361 + .long 663590769 + .long 258561012 + .long 3887989150 + .long 264488377 + .long 1243187075 + .long 258024525 + .long 1639283666 + .long 263898530 + .long 3340882771 + .long 257372986 + .long 4142310309 + .long 263331681 + .long 2334955832 + .long 256861519 + .long 860616723 + .long 262703166 + .long 1598961801 + .long 256195997 + .long 4289429876 + .long 262183475 + .long 2472445703 + .long 255638707 + .long 2104076426 + .long 261519363 + .long 3630053367 + .long 255029231 + .long 74767693 + .long 260990858 + .long 1206204297 + .long 254429809 + .long 1250738791 + .long 260346276 + .long 2351903043 + .long 253871932 + .long 156482232 + .long 259773350 + .long 4142523563 + .long 253233789 + .long 4117666020 + .long 259183114 + .long 286726945 + .long 252723393 + .long 1676845100 + .long 258569349 + .long 879244557 + .long 252049685 + .long 3757465672 + .long 258029142 + .long 1478997745 + .long 251507670 + .long 719679831 + .long 257377850 + .long 2746267323 + .long 250876596 + .long 2743390321 + .long 256866226 + .long 3526540658 + .long 250290347 + .long 3813343918 + .long 256197914 + .long 4127070378 + .long 249713687 + .long 4199731742 + .long 255639588 + .long 2963029352 + .long 249086861 + .long 1683728130 + .long 255028670 + .long 476785732 + .long 248560181 + .long 1394306693 + .long 254427485 + .long 3724685680 + .long 247896150 + .long 4008420085 + .long 253869303 + .long 1462004732 + .long 247366769 + .long 61625688 + .long 253228807 + .long 373432641 + .long 246717229 + .long 2000001808 + .long 252719059 + .long 3728039301 + .long 246141700 + .long 196627238 + .long 252042523 + .long 804689884 + .long 245549180 + .long 1048046765 + .long 251496228 + .long 1458719334 + .long 244931396 + .long 993432210 + .long 250867675 + .long 2786008452 + .long 244391153 + .long 3222947377 + .long 250276685 + .long 407537272 + .long 243734697 + .long 2581322502 + .long 249703373 + .long 3189759561 + .long 243215088 + .long 3228239923 + .long 249071462 + .long 2031608793 + .long 242550528 + .long 222461305 + .long 248548792 + .long 1595213611 + .long 241983081 + .long 3948199774 + .long 247879433 + .long 1410205890 + .long 241377894 + .long 1991477966 + .long 247342392 + .long 717980171 + .long 240766721 + .long 2734072913 + .long 246699555 + .long 3662752582 + .long 240215871 + .long 1299198579 + .long 246116199 + .long 1395178790 + .long 239564752 + .long 2805380273 + .long 245530860 + .long 1656284541 + .long 239051885 + .long 82029935 + .long 244905176 + .long 2344762908 + .long 238376012 + .long 170847452 + .long 244372453 + .long 2984020658 + .long 237813864 + .long 1983702315 + .long 243708103 + .long 3104200464 + .long 237199426 + .long 3696965479 + .long 243177374 + .long 2877381452 + .long 236592315 + .long 1702714838 + .long 242523853 + .long 4268840524 + .long 236034000 + .long 337495829 + .long 241945433 + .long 1003165801 + .long 235385887 + .long 1518517027 + .long 241351382 + .long 1321893894 + .long 234876610 + .long 3783968447 + .long 240729453 + .long 2271377001 + .long 234193331 + .long 3604999414 + .long 240189725 + .long 3433799730 + .long 233633606 + .long 838008356 + .long 239528126 + .long 3093619116 + .long 233013496 + .long 3362036394 + .long 239000657 + .long 3425665386 + .long 232407826 + .long 1131620880 + .long 238340239 + .long 1016507599 + .long 231845320 + .long 3983864269 + .long 237763969 + .long 1384233971 + .long 231197827 + .long 2727534395 + .long 237164675 + .long 1865125951 + .long 230687822 + .long 1077630756 + .long 236543966 + .long 1733037954 + .long 230002278 + .long 2523426999 + .long 236000404 + .long 1364025661 + .long 229442057 + .long 480596147 + .long 235339247 + .long 4098448109 + .long 228819954 + .long 3949450093 + .long 234811927 + .long 1594057686 + .long 228213079 + .long 2780357258 + .long 234148522 + .long 705474193 + .long 227649729 + .long 3206536664 + .long 233571580 + .long 150129851 + .long 227000461 + .long 3710529720 + .long 232970604 + .long 3317237252 + .long 226488710 + .long 2768905863 + .long 232348555 + .long 186403974 + .long 225802795 + .long 1020727779 + .long 231804400 + .long 4186632878 + .long 225239166 + .long 972364943 + .long 231141369 + .long 3320522507 + .long 224618787 + .long 2522906548 + .long 230611085 + .long 1217861567 + .long 224008081 + .long 1146887521 + .long 229948657 + .long 3268837539 + .long 223447250 + .long 1203001544 + .long 229368231 + .long 315089493 + .long 222793843 + .long 3726031498 + .long 228769165 + .long 2515846164 + .long 222276073 + .long 3693339671 + .long 228143241 + .long 4048144309 + .long 221594973 + .long 886499685 + .long 227601743 + .long 243352312 + .long 221025089 + .long 1967797029 + .long 226934556 + .long 2780140791 + .long 220410117 + .long 2982519979 + .long 226398247 + .long 1142821299 + .long 219793023 + .long 2266592663 + .long 225740742 + .long 3135719790 + .long 219238030 + .long 598157159 + .long 225154083 + .long 3315054452 + .long 218578192 + .long 251346586 + .long 224560486 + .long 2580019687 + .long 218051339 + .long 1660656734 + .long 223928221 + .long 2009602671 + .long 217379055 + .long 2013172870 + .long 223392582 + .long 3680448101 + .long 216800174 + .long 3137723934 + .long 222719031 + .long 2293078116 + .long 216194199 + .long 1131138533 + .long 222173744 + .long 987580679 + .long 215568273 + .long 2428851175 + .long 221525020 + .long 742439463 + .long 215022333 + .long 4291153995 + .long 220929488 + .long 2572304849 + .long 214353887 + .long 2792715369 + .long 220344820 + .long 751395790 + .long 213815046 + .long 2467223009 + .long 219703861 + .long 3220232494 + .long 213155420 + .long 594495907 + .long 219177181 + .long 1273291149 + .long 212564963 + .long 1557209815 + .long 218495170 + .long 1505310183 + .long 211971413 + .long 2821627703 + .long 217938108 + .long 1794752605 + .long 211334365 + .long 352923681 + .long 217301869 + .long 3485962584 + .long 210800532 + .long 742696539 + .long 216694982 + .long 235733148 + .long 210121452 + .long 517366394 + .long 216122545 + .long 4075032228 + .long 209567925 + .long 3425623922 + .long 215470689 + .long 2162846091 + .long 208924580 + .long 1867666160 + .long 214953737 + .long 610134501 + .long 208320165 + .long 118983967 + .long 214263489 + .long 3728773735 + .long 207742252 + .long 3908045835 + .long 213692061 + .long 3490203689 + .long 207091984 + .long 1145819795 + .long 213071790 + .long 314392945 + .long 206573104 + .long 4271751656 + .long 212451260 + .long 1811709173 + .long 205881542 + .long 1007038937 + .long 211894144 + .long 2516464821 + .long 205310885 + .long 278737865 + .long 211229378 + .long 1036995227 + .long 204687160 + .long 2860351683 + .long 210694684 + .long 2019544351 + .long 204066642 + .long 3151723087 + .long 210024630 + .long 2051777715 + .long 203507311 + .long 3482099907 + .long 209436491 + .long 1880929895 + .long 202841947 + .long 1107144331 + .long 208835396 + .long 4113796999 + .long 202306046 + .long 2782187507 + .long 208199168 + .long 4230901964 + .long 201634927 + .long 324654650 + .long 207660198 + .long 3865564645 + .long 201044979 + .long 3013336404 + .long 206980723 + .long 2025334671 + .long 200443882 + .long 3440165364 + .long 206425914 + .long 880420963 + .long 199805384 + .long 1863068324 + .long 205779346 + .long 1725201808 + .long 199267265 + .long 2496275681 + .long 205172427 + .long 1474738210 + .long 198585177 + .long 3150482796 + .long 204593391 + .long 3317220719 + .long 198026483 + .long 1098158732 + .long 203939669 + .long 2048589230 + .long 197382469 + .long 1251229864 + .long 203418987 + .long 1711255077 + .long 196771382 + .long 3774797738 + .long 202725626 + .long 2545455379 + .long 196195546 + .long 2114221587 + .long 202148656 + .long 3001837404 + .long 195537478 + .long 6183300 + .long 201528474 + .long 135156576 + .long 195010574 + .long 694371655 + .long 200901011 + .long 768267426 + .long 194322681 + .long 1385778830 + .long 200346554 + .long 1714589610 + .long 193739414 + .long 764657913 + .long 199673821 + .long 2513335222 + .long 193125095 + .long 1567457389 + .long 199127293 + .long 1674789839 + .long 192491353 + .long 3757973415 + .long 198465065 + .long 1133663422 + .long 191943007 + .long 2509870768 + .long 197864238 + .long 1791150439 + .long 191264084 + .long 1692389335 + .long 197272915 + .long 4280512258 + .long 190708897 + .long 943848650 + .long 196623466 + .long 1435700475 + .long 190055521 + .long 2549074333 + .long 196095713 + .long 1820959894 + .long 189446276 + .long 2346450942 + .long 195402748 + .long 1799974782 + .long 188863778 + .long 3379769408 + .long 194828788 + .long 3710643665 + .long 188206206 + .long 64184554 + .long 194200071 + .long 559094545 + .long 187679200 + .long 3830973525 + .long 193574054 + .long 3533372027 + .long 186986399 + .long 3727766878 + .long 193013612 + .long 419030960 + .long 186401680 + .long 229060077 + .long 192341066 + .long 2747247866 + .long 185784788 + .long 3546192002 + .long 191794050 + .long 2104193289 + .long 185148540 + .long 439215752 + .long 191127612 + .long 3581175346 + .long 184599508 + .long 2771506517 + .long 190525039 + .long 1496741733 + .long 183917277 + .long 1092035591 + .long 189931698 + .long 2197939951 + .long 183356958 + .long 2927777097 + .long 189279528 + .long 2360965773 + .long 182705633 + .long 507466780 + .long 188751525 + .long 3434132212 + .long 182090545 + .long 2385635145 + .long 188055101 + .long 2564651682 + .long 181511575 + .long 3917794913 + .long 187475836 + .long 2038560995 + .long 180847674 + .long 1662541554 + .long 186849580 + .long 4093633635 + .long 180311472 + .long 443789735 + .long 186217617 + .long 3864375547 + .long 179625887 + .long 1469215734 + .long 185661003 + .long 3463172077 + .long 179031656 + .long 464327642 + .long 184982078 + .long 3788368420 + .long 178422975 + .long 1505826087 + .long 184425832 + .long 2597057661 + .long 177777090 + .long 1511447715 + .long 183766850 + .long 192055595 + .long 177236951 + .long 932229602 + .long 183154787 + .long 3248784503 + .long 176545109 + .long 1136206495 + .long 182569802 + .long 2977151474 + .long 175971286 + .long 3327278139 + .long 181908060 + .long 1159722142 + .long 175333320 + .long 3698336555 + .long 181374386 + .long 573764936 + .long 174705009 + .long 3228467089 + .long 180683083 + .long 1949949141 + .long 174139572 + .long 2746812012 + .long 180090475 + .long 736141494 + .long 173462845 + .long 499734747 + .long 179477548 + .long 387134431 + .long 172908834 + .long 3614112015 + .long 178832553 + .long 2634860161 + .long 172242210 + .long 2805234955 + .long 178289381 + .long 460646957 + .long 171630903 + .long 970969289 + .long 177597845 + .long 655896577 + .long 171040788 + .long 3344539356 + .long 177024105 + .long 1143406828 + .long 170378633 + .long 1101629971 + .long 176383859 + .long 3789010148 + .long 169843689 + .long 1445292126 + .long 175755052 + .long 2532013424 + .long 169149244 + .long 3957894927 + .long 175188362 + .long 1329004457 + .long 168554241 + .long 1552244971 + .long 174510693 + .long 2615188283 + .long 167940247 + .long 1737085116 + .long 173955094 + .long 2825767996 + .long 167292011 + .long 2427795126 + .long 173288350 + .long 955983127 + .long 166749414 + .long 3862954673 + .long 172675047 + .long 2239597278 + .long 166054020 + .long 3777683054 + .long 172085625 + .long 2930881305 + .long 165474494 + .long 3943650763 + .long 171421185 + .long 2500984781 + .long 164837602 + .long 2651071393 + .long 170882858 + .long 598933403 + .long 164202522 + .long 368111638 + .long 170190638 + .long 2563045445 + .long 163640375 + .long 4121479599 + .long 169592034 + .long 1673362824 + .long 162956142 + .long 3631606904 + .long 168980837 + .long 4190318554 + .long 162391142 + .long 1256293901 + .long 168328885 + .long 2285275071 + .long 161732511 + .long 2366652105 + .long 167789491 + .long 2231416995 + .long 161109716 + .long 3596499815 + .long 167090343 + .long 670676453 + .long 160529091 + .long 518561201 + .long 166505517 + .long 4064394133 + .long 159855224 + .long 184343027 + .long 165873673 + .long 2181840701 + .long 159303681 + .long 511439523 + .long 165233364 + .long 358984510 + .long 158624644 + .long 3314939071 + .long 164676429 + .long 2232154676 + .long 158013162 + .long 3091100850 + .long 163987100 + .long 1152119020 + .long 157415278 + .long 2751453101 + .long 163415013 + .long 3621588129 + .long 156750898 + .long 3774677189 + .long 162763816 + .long 3959469698 + .long 156211627 + .long 3940528393 + .long 162134210 + .long 2033790283 + .long 155513685 + .long 154040129 + .long 161560919 + .long 2666402024 + .long 154912449 + .long 1791444217 + .long 160880557 + .long 1792824079 + .long 154298669 + .long 3821245378 + .long 160320065 + .long 2906768183 + .long 153642815 + .long 828792094 + .long 159650970 + .long 1726407750 + .long 153103312 + .long 2910624009 + .long 159031035 + .long 3824245187 + .long 152399340 + .long 1285820000 + .long 158442705 + .long 3218520765 + .long 151807194 + .long 922820039 + .long 157770383 + .long 3980052426 + .long 151179015 + .long 2867106372 + .long 157220243 + .long 3676010488 + .long 150530652 + .long 1701924227 + .long 156534853 + .long 98188203 + .long 149979167 + .long 1202429230 + .long 155923475 + .long 2691841212 + .long 149281339 + .long 4103588477 + .long 155321552 + .long 2980038289 + .long 148697047 + .long 2722798563 + .long 154656272 + .long 2091112305 + .long 148056091 + .long 1100847033 + .long 154115151 + .long 844744152 + .long 147414118 + .long 1807105821 + .long 153415210 + .long 1761494331 + .long 146852101 + .long 2765590726 + .long 152811198 + .long 4130802211 + .long 146159438 + .long 804141595 + .long 152197248 + .long 619112307 + .long 145581696 + .long 3411072592 + .long 151537949 + .long 1819584914 + .long 144929695 + .long 2345623067 + .long 150999688 + .long 659039120 + .long 144292954 + .long 1725536292 + .long 150291812 + .long 2264625774 + .long 143721950 + .long 2168347176 + .long 149693911 + .long 2991782319 + .long 143033427 + .long 267592637 + .long 149069602 + .long 1086293359 + .long 142460870 + .long 1798718589 + .long 148415172 + .long 2732064845 + .long 141799655 + .long 2022911390 + .long 147868497 + .long 2575907818 + .long 141166941 + .long 81583865 + .long 147164461 + .long 617630238 + .long 140588575 + .long 3097896152 + .long 146571360 + .long 1158927451 + .long 139903129 + .long 1311777013 + .long 145938453 + .long 2686879495 + .long 139334346 + .long 1713198687 + .long 145287735 + .long 631639285 + .long 138665831 + .long 1026114153 + .long 144734208 + .long 353896969 + .long 138035903 + .long 1839310320 + .long 144032991 + .long 3894935750 + .long 137451863 + .long 108450414 + .long 143443338 + .long 1674746381 + .long 136768404 + .long 2976259824 + .long 142803670 + .long 2820284440 + .long 136201951 + .long 3629240797 + .long 142155473 + .long 911221048 + .long 135528114 + .long 2487359058 + .long 141596717 + .long 2063786022 + .long 134899705 + .long 3105573419 + .long 140897274 + .long 53305477 + .long 134311735 + .long 592724981 + .long 140309683 + .long 551966461 + .long 133629153 + .long 82845147 + .long 139665155 + .long 612320349 + .long 133063564 + .long 2412831170 + .long 139018265 + .long 4052518220 + .long 132386431 + .long 2861543015 + .long 138455950 + .long 60583993 + .long 131758262 + .long 3758521132 + .long 137757219 + .long 1893680257 + .long 131168137 + .long 797564262 + .long 137170286 + .long 1853175244 + .long 130485316 + .long 2550314170 + .long 136522840 + .long 499148610 + .long 129919117 + .long 3840130402 + .long 135876032 + .long 1778365271 + .long 129240747 + .long 1081724693 + .long 135311862 + .long 2403936347 + .long 128611533 + .long 481411632 + .long 134612775 + .long 3141003024 + .long 128021051 + .long 1564356836 + .long 134025089 + .long 66431906 + .long 127336877 + .long 1018280362 + .long 133376696 + .long 3711217333 + .long 126768598 + .long 3889204834 + .long 132728743 + .long 937813394 + .long 126091060 + .long 1510315410 + .long 132164437 + .long 1053079387 + .long 125459529 + .long 3026116892 + .long 131463928 + .long 1190308037 + .long 124870490 + .long 3513164679 + .long 130874087 + .long 2709540261 + .long 124183859 + .long 3243469103 + .long 130226725 + .long 449276747 + .long 123612053 + .long 3711588442 + .long 129576412 + .long 2058308131 + .long 122937406 + .long 2033455285 + .long 129013691 + .long 1336072769 + .long 122302306 + .long 620069156 + .long 128310709 + .long 592687842 + .long 121716497 + .long 3065163985 + .long 127717329 + .long 2944636332 + .long 121026330 + .long 3786152533 + .long 127072967 + .long 1390868694 + .long 120449578 + .long 109737031 + .long 126419100 + .long 1283844989 + .long 119779858 + .long 1637472787 + .long 125859670 + .long 1036813044 + .long 119139969 + .long 3054383277 + .long 125153184 + .long 1593301454 + .long 118559147 + .long 2181543052 + .long 124554915 + .long 1021679778 + .long 117864397 + .long 2956152467 + .long 123915495 + .long 1213745631 + .long 117281326 + .long 3079832347 + .long 123256910 + .long 2864273411 + .long 116618522 + .long 1719191513 + .long 122702449 + .long 783487711 + .long 115972668 + .long 1873937895 + .long 121991462 + .long 3847158933 + .long 115398545 + .long 1820997326 + .long 121386996 + .long 1628184367 + .long 114698205 + .long 2057730126 + .long 120754415 + .long 3121167837 + .long 114107499 + .long 3194078287 + .long 120089993 + .long 3640407525 + .long 113453539 + .long 1193470200 + .long 119542132 + .long 2932543377 + .long 112800596 + .long 2087718361 + .long 118825686 + .long 3940915700 + .long 112234825 + .long 729408998 + .long 118213772 + .long 176805543 + .long 111527938 + .long 803928007 + .long 117589865 + .long 1497384312 + .long 110928349 + .long 636615452 + .long 116918539 + .long 1210503641 + .long 110285081 + .long 1067673638 + .long 116365763 + .long 3447439749 + .long 109623988 + .long 4287052013 + .long 115656035 + .long 4042922012 + .long 109068146 + .long 4063489675 + .long 115035487 + .long 1178130386 + .long 108353812 + .long 1340349167 + .long 114422012 + .long 276195705 + .long 107744170 + .long 1606230887 + .long 113742775 + .long 196890419 + .long 107113347 + .long 4004137362 + .long 113179305 + .long 2801332084 + .long 106443115 + .long 1791246287 + .long 112482722 + .long 3589190400 + .long 105891208 + .long 3462946558 + .long 111852430 + .long 222492771 + .long 105176076 + .long 1883853505 + .long 111251051 + .long 2930182010 + .long 104555296 + .long 3815164565 + .long 110562965 + .long 3954009221 + .long 103938562 + .long 3891967838 + .long 109987584 + .long 1851360347 + .long 103258281 + .long 1648595565 + .long 109305986 + .long 612719781 + .long 102692886 + .long 1910091384 + .long 108664925 + .long 2867682928 + .long 101995004 + .long 1671708042 + .long 108077201 + .long 232239923 + .long 101362099 + .long 1448433188 + .long 107379405 + .long 565509955 + .long 100760977 + .long 2276593346 + .long 106790996 + .long 211746584 + .long 100069819 + .long 1047983914 + .long 106126094 + .long 3969301701 + .long 99489867 + .long 2143549675 + .long 105473329 + .long 3437228503 + .long 98810896 + .long 291505042 + .long 104900702 + .long 3455597174 + .long 98164976 + .long 1330620322 + .long 104192415 + .long 3542433397 + .long 97580856 + .long 2341543106 + .long 103589971 + .long 1798812806 + .long 96878085 + .long 1049586798 + .long 102943334 + .long 2950300946 + .long 96282630 + .long 1983571200 + .long 102278028 + .long 1376227899 + .long 95624070 + .long 254879262 + .long 101721811 + .long 3203486567 + .long 94964353 + .long 3420790813 + .long 101002339 + .long 1493547741 + .long 94398484 + .long 65199441 + .long 100384969 + .long 2177320475 + .long 93683456 + .long 2125728910 + .long 99758012 + .long 3219882433 + .long 93071674 + .long 1297952362 + .long 99079430 + .long 3977536549 + .long 92434857 + .long 438149418 + .long 98515456 + .long 364892307 + .long 91760672 + .long 1854409600 + .long 97809540 + .long 3522475541 + .long 91202194 + .long 26376419 + .long 97176470 + .long 1067973372 + .long 90486322 + .long 3325551671 + .long 96570448 + .long 2180435784 + .long 89857517 + .long 3877911312 + .long 95877959 + .long 2951818531 + .long 89243602 + .long 1257360845 + .long 95295486 + .long 2295306251 + .long 88554386 + .long 2630910396 + .long 94614391 + .long 1662372089 + .long 87975946 + .long 544439371 + .long 93964971 + .long 1772382723 + .long 87287081 + .long 1112052001 + .long 93380972 + .long 2839365407 + .long 86640686 + .long 1792211469 + .long 92674053 + .long 2506541746 + .long 86050653 + .long 1202694127 + .long 92072418 + .long 1869590935 + .long 85345958 + .long 2505565379 + .long 91417275 + .long 4163049384 + .long 84746992 + .long 210828546 + .long 90750978 + .long 2212445703 + .long 84086136 + .long 1096269292 + .long 90189917 + .long 2279274675 + .long 83421713 + .long 2795290094 + .long 89468152 + .long 494173186 + .long 82856361 + .long 2764997772 + .long 88846835 + .long 4281818755 + .long 82135849 + .long 2483540904 + .long 88218577 + .long 3417278829 + .long 81515943 + .long 544125929 + .long 87534999 + .long 3737605338 + .long 80883888 + .long 94314468 + .long 86963430 + .long 2476214848 + .long 80201126 + .long 2433934939 + .long 86260699 + .long 528982474 + .long 79630370 + .long 3232942101 + .long 85619320 + .long 3231179704 + .long 78924518 + .long 446389104 + .long 85018681 + .long 0 + .long 0 + .long 0 + .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 1077624320 + .long 0 + .long 1077624320 + .long 0 + .long 1077624320 + .long 0 + .long 1077624320 + .long 0 + .long 1077624320 + .long 0 + .long 1077624320 + .long 0 + .long 1077624320 + .long 0 + .long 1077624320 + .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 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 938475520 + .long 0 + .long 938475520 + .long 0 + .long 938475520 + .long 0 + .long 938475520 + .long 0 + .long 938475520 + .long 0 + .long 938475520 + .long 0 + .long 938475520 + .long 0 + .long 938475520 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 0 + .long 1119879168 + .long 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .long 2584004191 + .long 3206709960 + .long 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .long 3133165168 + .long 1061626720 + .long 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .long 2257586758 + .long 3213115871 + .long 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .long 4059996812 + .long 1067521963 + .long 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .long 1733010882 + .long 3216335923 + .long 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .long 3859045599 + .long 1069700840 + .long 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .long 1327711767 + .long 3211395487 + .long 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .long 314341868 + .long 3216531844 + .long 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .long 614462631 + .long 3217380686 + .long 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .long 1525600863 + .long 1066008991 + .long 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .long 3074105526 + .long 1070363076 + .long 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .long 2634492378 + .long 1069128079 + .long 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .long 382755872 + .long 3215376748 + .long 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .long 2582894648 + .long 3218708889 + .long 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .long 286961794 + .long 1069617425 + .long 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .long 3643184 + .long 1071644672 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .long 1431653085 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .long 1431655562 + .long 3218429269 + .long 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .long 1431655631 + .long 1071994197 + .long 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .long 1105497085 + .long 1077623260 + .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 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 + .type __svml_derfc_data_internal,@object + .size __svml_derfc_data_internal,57600 + .space 256, 0x00 + .align 32 + +__derfc_la__imldErfcTab: + .long 0 + .long 3217031168 + .long 2536042781 + .long 1072398983 + .long 1399772821 + .long 1016356498 + .long 2716363190 + .long 3220293167 + .long 2515012741 + .long 3163350672 + .long 2716363190 + .long 1069663791 + .long 2240747611 + .long 1012721291 + .long 3687592758 + .long 1071052114 + .long 803907102 + .long 1011174242 + .long 3448634865 + .long 3216086729 + .long 750050903 + .long 3160740647 + .long 601957364 + .long 3216681894 + .long 1555639211 + .long 3160184931 + .long 1774552010 + .long 1066874090 + .long 3884532135 + .long 1066963544 + .long 3233761315 + .long 3212244609 + .long 1379327181 + .long 3211950387 + .long 242623580 + .long 1062350129 + .long 2275269623 + .long 1061641073 + .long 254615366 + .long 3207068314 + .long 2447494219 + .long 3206114823 + .long 604424981 + .long 1056656877 + .long 50341065 + .long 1055592081 + .long 0 + .long 3218341888 + .long 1599080160 + .long 1071977136 + .long 688395245 + .long 1016124311 + .long 3971924631 + .long 3220201427 + .long 3564228032 + .long 3164632085 + .long 3891163965 + .long 1070888904 + .long 3480798202 + .long 1014571560 + .long 1621928818 + .long 1070698875 + .long 4020082186 + .long 1015153452 + .long 685042962 + .long 3217236647 + .long 3489060295 + .long 3157926645 + .long 2848795668 + .long 3216002128 + .long 3762448119 + .long 3161313806 + .long 1324211555 + .long 1067961974 + .long 1476477459 + .long 1065781932 + .long 2515812913 + .long 3213241000 + .long 3304760842 + .long 3210133507 + .long 716797578 + .long 1063287120 + .long 2283992921 + .long 1058905221 + .long 2268754290 + .long 3207879309 + .long 1012519479 + .long 3199289324 + .long 944669356 + .long 1057318598 + .long 1931303816 + .long 3198859641 + .long 0 + .long 3219390464 + .long 1180573078 + .long 1071127762 + .long 4113175178 + .long 1014965748 + .long 2484292509 + .long 3219680918 + .long 959898156 + .long 3163955503 + .long 957881989 + .long 1071548988 + .long 442195505 + .long 1012747532 + .long 35029730 + .long 1068269829 + .long 976783580 + .long 1012161104 + .long 2319046290 + .long 3217462844 + .long 10747389 + .long 3161497233 + .long 3758081287 + .long 1067192898 + .long 1126055042 + .long 1009745370 + .long 1760060230 + .long 1067789094 + .long 3251266701 + .long 3213655257 + .long 2806967453 + .long 3212534516 + .long 1864685761 + .long 1064158132 + .long 3738348856 + .long 1061687624 + .long 790737257 + .long 3209050005 + .long 1943644508 + .long 3204796481 + .long 2914584687 + .long 1058674792 + .long 2574038108 + .long 3201168805 + .long 1252008665 + .long 3203024355 + .long 0 + .long 3220439040 + .long 866709712 + .long 1068743889 + .long 2877058776 + .long 1013060082 + .long 4210332368 + .long 3217966674 + .long 1459199107 + .long 3162249891 + .long 3688727889 + .long 1070787571 + .long 2792291460 + .long 1012143918 + .long 855534605 + .long 3217387984 + .long 759913640 + .long 3160800900 + .long 2131284961 + .long 1064909442 + .long 2597396527 + .long 1009180630 + .long 989201780 + .long 1067984906 + .long 3318708226 + .long 1008612878 + .long 699280746 + .long 3214266544 + .long 993015799 + .long 3211642955 + .long 1559561232 + .long 1064778208 + .long 680189340 + .long 3209609158 + .long 3200850606 + .long 3209524422 + .long 1492278808 + .long 1059590695 + .long 4108347350 + .long 3205935421 + .long 2186414716 + .long 3206817307 + .long 2803204773 + .long 3204791034 + .long 1021304598 + .long 3200312812 + .long 0 + .long 3220701184 + .long 2395493008 + .long 1067539114 + .long 2347713276 + .long 1010696759 + .long 649597580 + .long 3216929335 + .long 3715599898 + .long 3160841752 + .long 1561014649 + .long 1069995433 + .long 3047088181 + .long 1014230941 + .long 735510274 + .long 3217146528 + .long 1352249772 + .long 3161795800 + .long 1629994682 + .long 1067898281 + .long 867814168 + .long 1012540688 + .long 3242132826 + .long 1066299959 + .long 1473115860 + .long 1010684527 + .long 1350993397 + .long 3214133819 + .long 212467593 + .long 1064529314 + .long 1581296174 + .long 1063476333 + .long 1019617056 + .long 3210475870 + .long 326531339 + .long 1058667915 + .long 2560102974 + .long 1060207995 + .long 1059830545 + .long 3205421344 + .long 73331091 + .long 1053435953 + .long 3519680827 + .long 1056963274 + .long 287235298 + .long 1054771565 + .long 0 + .long 3220701184 + .long 2395492868 + .long 1067539114 + .long 3682704431 + .long 1012674156 + .long 649602216 + .long 3216929335 + .long 3411089016 + .long 3161142609 + .long 1560943486 + .long 1069995433 + .long 373233254 + .long 1014373936 + .long 736848572 + .long 3217146528 + .long 1866442275 + .long 3160326248 + .long 1560943474 + .long 1067898281 + .long 3576330307 + .long 1009307384 + .long 649623715 + .long 1066299959 + .long 725533065 + .long 1006865126 + .long 1925526991 + .long 3214133821 + .long 2782059224 + .long 1064529267 + .long 3902564706 + .long 1063475940 + .long 2706862450 + .long 3210478464 + .long 1817950372 + .long 1058560819 + .long 1279984267 + .long 1060154640 + .long 1456324877 + .long 3205782300 + .long 3219859931 + .long 3203609651 + .long 1354896425 + .long 1055916872 + .long 153053737 + .long 3200605489 + .long 0 + .long 3221487616 + .long 4088869944 + .long 1070267315 + .long 2176293176 + .long 1014815941 + .long 2130816332 + .long 3216181357 + .long 1120272801 + .long 3161227146 + .long 2812844367 + .long 1067026776 + .long 3953643227 + .long 1009444623 + .long 1988706352 + .long 3212862240 + .long 4268394231 + .long 3153580175 + .long 1288160248 + .long 1063531968 + .long 2922427679 + .long 1007764987 + .long 2977979581 + .long 3209169358 + .long 3750808263 + .long 3146919566 + .long 985562119 + .long 1059825827 + .long 2519169024 + .long 3205422455 + .long 68429100 + .long 1055964010 + .long 3577866702 + .long 3201415637 + .long 2564607388 + .long 1051841939 + .long 2939200104 + .long 3197398630 + .long 4218579581 + .long 1046628386 + .long 1377164546 + .long 3194351246 + .long 2324734477 + .long 3191977485 + .long 1839603542 + .long 3190921089 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 2802853043 + .long 1014611496 + .long 1293201774 + .long 3215709870 + .long 754100791 + .long 3160212203 + .long 446218444 + .long 1066419198 + .long 4119686598 + .long 1006799142 + .long 464017249 + .long 3211942150 + .long 960597079 + .long 3156358882 + .long 785622302 + .long 1062472140 + .long 3339954945 + .long 1004756287 + .long 2636124640 + .long 3207937516 + .long 2995891561 + .long 3151978990 + .long 742584182 + .long 1058400057 + .long 2101069570 + .long 3203793489 + .long 2181624698 + .long 1054184935 + .long 880779555 + .long 3199513061 + .long 3229614298 + .long 1049846396 + .long 2776250631 + .long 3195146822 + .long 1726624674 + .long 1045262260 + .long 2932756839 + .long 3191068730 + .long 968482455 + .long 3185858272 + .long 839487434 + .long 3187678475 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 3971839787 + .long 1014611494 + .long 1293201774 + .long 3215709870 + .long 1164040504 + .long 3160193437 + .long 446218443 + .long 1066419198 + .long 752423430 + .long 1011527589 + .long 464016831 + .long 3211942150 + .long 1037460728 + .long 3156747894 + .long 785625671 + .long 1062472140 + .long 2777520670 + .long 1006268542 + .long 2633474472 + .long 3207937516 + .long 224500896 + .long 3152886542 + .long 768707698 + .long 1058400057 + .long 3292721506 + .long 3203793488 + .long 578140564 + .long 1054184941 + .long 2030948072 + .long 3199512840 + .long 703221627 + .long 1049847594 + .long 3302679767 + .long 3195127268 + .long 1902201635 + .long 1045392042 + .long 4048348141 + .long 3190392845 + .long 436255103 + .long 1040232916 + .long 2856127569 + .long 3184071776 + .long 0 + .long 3222536192 + .long 2660514860 + .long 1069307683 + .long 3910050887 + .long 1010798723 + .long 1232972210 + .long 3214268483 + .long 3319476861 + .long 3158923505 + .long 728349866 + .long 1064340728 + .long 2957516014 + .long 1008704767 + .long 2614894425 + .long 3209210817 + .long 3908389506 + .long 3152259798 + .long 2191212410 + .long 1059199474 + .long 2431020086 + .long 1004176268 + .long 3218723210 + .long 3204065928 + .long 3000611168 + .long 3148331645 + .long 3635880648 + .long 1053991881 + .long 536114836 + .long 3198825982 + .long 772319782 + .long 1048710562 + .long 455323837 + .long 3193559883 + .long 2867783196 + .long 1042956501 + .long 2591697711 + .long 3189077475 + .long 3707131585 + .long 3186333629 + .long 1191412344 + .long 3185702904 + .long 26961465 + .long 3183118419 + .long 3399174677 + .long 3180390946 + .long 0 + .long 3222798336 + .long 2223626006 + .long 1069006900 + .long 1459366060 + .long 1012973801 + .long 1839010552 + .long 3213809654 + .long 2068820260 + .long 3157960411 + .long 1249919926 + .long 1063503734 + .long 962503917 + .long 1008341811 + .long 2100991944 + .long 3208188010 + .long 3825857555 + .long 3152436704 + .long 2359368913 + .long 1057973453 + .long 743880428 + .long 1000696453 + .long 1096261871 + .long 3202576593 + .long 3975107283 + .long 3146343950 + .long 3079668469 + .long 1052233933 + .long 1037052812 + .long 3196903291 + .long 3759245614 + .long 1046563275 + .long 3200735738 + .long 3191134566 + .long 4161299971 + .long 1040588242 + .long 2934206128 + .long 3185832303 + .long 3971101203 + .long 3181383944 + .long 353687358 + .long 3181806266 + .long 3047695518 + .long 3179072314 + .long 3851119497 + .long 3176415447 + .long 0 + .long 3222798336 + .long 2223626017 + .long 1069006900 + .long 1388676355 + .long 1012705760 + .long 1839008253 + .long 3213809654 + .long 815236617 + .long 3157985840 + .long 1250030689 + .long 1063503734 + .long 1288166708 + .long 1008687857 + .long 2094505532 + .long 3208188010 + .long 311037013 + .long 3150622756 + .long 2617751546 + .long 1057973453 + .long 2536920761 + .long 1001852867 + .long 1679260317 + .long 3202576592 + .long 3392965897 + .long 3146533070 + .long 1054244789 + .long 1052233952 + .long 3966408696 + .long 3196902988 + .long 1854848819 + .long 1046565172 + .long 3813743082 + .long 3191116219 + .long 395181184 + .long 1040724488 + .long 2456810233 + .long 3185324136 + .long 4089464644 + .long 1034959658 + .long 3698050549 + .long 3179421276 + .long 1112347086 + .long 1028770902 + .long 218099662 + .long 3172341328 + .long 0 + .long 3223584768 + .long 525966855 + .long 1068285571 + .long 2606587153 + .long 1012297682 + .long 2443413391 + .long 3212232028 + .long 691043050 + .long 3155505245 + .long 1829248673 + .long 1061286877 + .long 797308607 + .long 1005505923 + .long 2897861001 + .long 3205246152 + .long 3729653017 + .long 3149452125 + .long 3517114205 + .long 1054211729 + .long 2096268314 + .long 998380425 + .long 733746641 + .long 3198235249 + .long 2776288247 + .long 3140382828 + .long 312049674 + .long 1047087440 + .long 1779010374 + .long 3191506224 + .long 3398525311 + .long 3186731689 + .long 3932053403 + .long 3187022627 + .long 2526572080 + .long 3184920569 + .long 1052531014 + .long 3182813288 + .long 1237705257 + .long 3180144704 + .long 1818683855 + .long 3176978132 + .long 2771211543 + .long 3173092235 + .long 1784201120 + .long 3168173250 + .long 0 + .long 3223846912 + .long 3317774106 + .long 1067973958 + .long 2923167300 + .long 1012645752 + .long 3241173892 + .long 3211773047 + .long 39491139 + .long 3153850211 + .long 285395131 + .long 1060435582 + .long 2541426776 + .long 1004641207 + .long 1226100891 + .long 3204158226 + .long 1495613600 + .long 3148514544 + .long 3870275689 + .long 1052905917 + .long 965710820 + .long 997239553 + .long 3492316846 + .long 3196564768 + .long 2517483548 + .long 3141228873 + .long 1374076994 + .long 1045282573 + .long 372497316 + .long 3189277616 + .long 3813845480 + .long 3182889951 + .long 3900585526 + .long 3184107613 + .long 1960133516 + .long 3181724363 + .long 148017317 + .long 3179453676 + .long 3471465381 + .long 3176493740 + .long 65590178 + .long 3173153987 + .long 3138884841 + .long 3169027321 + .long 2557226666 + .long 3163936824 + .long 0 + .long 3223846912 + .long 3319825997 + .long 1067973958 + .long 153387004 + .long 1010340046 + .long 3027068505 + .long 3211773047 + .long 2440895001 + .long 3155514079 + .long 1195164920 + .long 1060435583 + .long 1739223825 + .long 1004641495 + .long 3681176633 + .long 3204158189 + .long 2468586085 + .long 3147540309 + .long 2873291842 + .long 1052906296 + .long 1357898154 + .long 997866283 + .long 449207067 + .long 3196558994 + .long 1843054170 + .long 3140743497 + .long 1688975421 + .long 1045349298 + .long 2606145257 + .long 3188979869 + .long 2843228885 + .long 1037686975 + .long 3218505005 + .long 3181423668 + .long 2000171025 + .long 1030058339 + .long 2480760959 + .long 3173744926 + .long 1915328357 + .long 1022453358 + .long 619623839 + .long 3166207341 + .long 3877388623 + .long 1013774410 + .long 1403207699 + .long 3159661468 + .long 0 + .long 3223846912 + .long 3319825996 + .long 1067973958 + .long 2025830981 + .long 1009198696 + .long 3027068262 + .long 3211773047 + .long 462574407 + .long 3155728809 + .long 1195152753 + .long 1060435583 + .long 2026642833 + .long 1004181720 + .long 3680441114 + .long 3204158189 + .long 1280116659 + .long 3145464714 + .long 2858263562 + .long 1052906296 + .long 3653419668 + .long 997536747 + .long 8491235 + .long 3196558994 + .long 2006410862 + .long 3136580289 + .long 669193667 + .long 1045349296 + .long 261358851 + .long 3188979851 + .long 3798337047 + .long 1037686738 + .long 3252853818 + .long 3181422499 + .long 2986380320 + .long 1030049333 + .long 2271475836 + .long 3173690708 + .long 4121652893 + .long 1022324142 + .long 1033391529 + .long 3165650219 + .long 472144880 + .long 1013451034 + .long 2996742642 + .long 3155370561 + .long 0 + .long 3224633344 + .long 2310440956 + .long 1067243964 + .long 1910839802 + .long 1011085066 + .long 3231655782 + .long 3210151400 + .long 67697416 + .long 3153290263 + .long 747798972 + .long 1058167193 + .long 3842674820 + .long 1003388992 + .long 2960203073 + .long 3201119999 + .long 2643975567 + .long 3141186059 + .long 3514791177 + .long 1049049654 + .long 3133960405 + .long 992966366 + .long 2900718461 + .long 3192025852 + .long 1762535317 + .long 3135281108 + .long 3933388189 + .long 1040002967 + .long 1623401109 + .long 3182930946 + .long 2243580782 + .long 1030713860 + .long 3113530625 + .long 3174647587 + .long 4278270359 + .long 3170305068 + .long 4152511010 + .long 3168223581 + .long 1448809675 + .long 3164741414 + .long 2046900051 + .long 3160999662 + .long 4134264961 + .long 3156441479 + .long 2742521525 + .long 3151079039 + .long 0 + .long 3224895488 + .long 2295541704 + .long 1066929438 + .long 3837869256 + .long 1002512271 + .long 2403525199 + .long 3209691558 + .long 3057254264 + .long 3148362150 + .long 1273180940 + .long 1057311076 + .long 307148135 + .long 998879167 + .long 4108180605 + .long 3200010451 + .long 867507169 + .long 3142323423 + .long 2406587489 + .long 1047709282 + .long 3600962313 + .long 990271568 + .long 641070000 + .long 3190352150 + .long 942137886 + .long 3134450917 + .long 471088535 + .long 1038120451 + .long 3784803533 + .long 3180746340 + .long 2056014570 + .long 1028171004 + .long 975828111 + .long 3172001834 + .long 3879370210 + .long 3167393385 + .long 2803950026 + .long 3164997994 + .long 606260247 + .long 3161246249 + .long 1881144158 + .long 3157299567 + .long 670638336 + .long 3152383224 + .long 2138776162 + .long 3146794828 + .long 0 + .long 3224895488 + .long 2295580191 + .long 1066929438 + .long 3681200523 + .long 1011869447 + .long 2400932937 + .long 3209691558 + .long 1282261590 + .long 3150983028 + .long 1435460813 + .long 1057311076 + .long 338806164 + .long 1001507127 + .long 2137816334 + .long 3200010450 + .long 2795067653 + .long 3143594954 + .long 4261873090 + .long 1047709301 + .long 3264144757 + .long 991156440 + .long 2173718924 + .long 3190351771 + .long 3810711629 + .long 3134733275 + .long 2446322575 + .long 1038123240 + .long 2077064354 + .long 3180714664 + .long 504970137 + .long 1028450869 + .long 3765139549 + .long 3171097786 + .long 2079001974 + .long 1018773136 + .long 875759584 + .long 3161499808 + .long 4108525622 + .long 1009120883 + .long 4049318739 + .long 3151810362 + .long 3770858801 + .long 999517212 + .long 2722340464 + .long 3142460163 + .long 0 + .long 3224895488 + .long 2295580191 + .long 1066929438 + .long 2149023882 + .long 1011305144 + .long 2400932909 + .long 3209691558 + .long 1064137805 + .long 3152033653 + .long 1435458098 + .long 1057311076 + .long 4263810451 + .long 999199239 + .long 2137652297 + .long 3200010450 + .long 1479816286 + .long 3143273258 + .long 4258425849 + .long 1047709301 + .long 3605385096 + .long 992985426 + .long 2066788283 + .long 3190351771 + .long 3199248296 + .long 3132428041 + .long 1179383574 + .long 1038123240 + .long 140008546 + .long 3180714659 + .long 2930072161 + .long 1028450789 + .long 1129148062 + .long 3171097328 + .long 3175174977 + .long 1018768936 + .long 382350984 + .long 3161484641 + .long 3891461581 + .long 1009036439 + .long 1514607567 + .long 3151457650 + .long 292029317 + .long 998546931 + .long 906505364 + .long 3139710697 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 939524096 + .long 1072704666 + .long 2209988083 + .long 1046076929 + .long 3489660928 + .long 1072716208 + .long 2715237930 + .long 1044950059 + .long 402653184 + .long 1072727877 + .long 36755401 + .long 1042114290 + .long 1744830464 + .long 1072739672 + .long 1032479461 + .long 1045685796 + .long 805306368 + .long 1072751596 + .long 269498903 + .long 1044815501 + .long 3489660928 + .long 1072763649 + .long 2766913307 + .long 1039293264 + .long 2818572288 + .long 1072775834 + .long 2127365126 + .long 1046127799 + .long 939524096 + .long 1072788152 + .long 3950214642 + .long 1045558597 + .long 3892314112 + .long 1072800603 + .long 2850403528 + .long 1045134939 + .long 805306368 + .long 1072813191 + .long 2810207104 + .long 1043762074 + .long 2281701376 + .long 1072825915 + .long 2397289153 + .long 1041802037 + .long 1744830464 + .long 1072838778 + .long 3785033707 + .long 1046074760 + .long 1610612736 + .long 1072851781 + .long 1955981725 + .long 1045924339 + .long 4026531840 + .long 1072864925 + .long 2226165573 + .long 1045725051 + .long 2684354560 + .long 1072878213 + .long 754984053 + .long 1046188044 + .long 134217728 + .long 1072891646 + .long 2842642093 + .long 1044483512 + .long 2952790016 + .long 1072905224 + .long 4200916017 + .long 1044586679 + .long 805306368 + .long 1072918951 + .long 714887508 + .long 1046276775 + .long 805306368 + .long 1072932827 + .long 3685248805 + .long 1045665407 + .long 1207959552 + .long 1072946854 + .long 2295779401 + .long 1045448912 + .long 536870912 + .long 1072961034 + .long 2676240988 + .long 1044345570 + .long 1610612736 + .long 1072975368 + .long 1086643152 + .long 1041785419 + .long 2952790016 + .long 1072989858 + .long 1078920847 + .long 1045890291 + .long 3489660928 + .long 1073004506 + .long 2624917087 + .long 1045747880 + .long 1879048192 + .long 1073019314 + .long 2595540835 + .long 1046115506 + .long 1342177280 + .long 1073034283 + .long 125577743 + .long 1046115646 + .long 805306368 + .long 1073049415 + .long 1771811520 + .long 1046140063 + .long 3623878656 + .long 1073064711 + .long 2774738112 + .long 1045766480 + .long 268435456 + .long 1073080175 + .long 565866387 + .long 1045869701 + .long 2952790016 + .long 1073095806 + .long 1492679939 + .long 1041050306 + .long 2147483648 + .long 1073111608 + .long 612974287 + .long 1044556049 + .long 1610612736 + .long 1073127582 + .long 843197631 + .long 1046084847 + .long 939524096 + .long 1073143730 + .long 3150480267 + .long 1045533800 + .long 3892314112 + .long 1073160053 + .long 2074373662 + .long 1043172334 + .long 1342177280 + .long 1073176555 + .long 587053675 + .long 1046022559 + .long 1879048192 + .long 1073193236 + .long 918464641 + .long 1045387276 + .long 805306368 + .long 1073210099 + .long 2285990923 + .long 1046166841 + .long 2550136832 + .long 1073227145 + .long 682424459 + .long 1043647713 + .long 2550136832 + .long 1073244377 + .long 1678188781 + .long 1045046423 + .long 1073741824 + .long 1073261797 + .long 3671932459 + .long 1044468998 + .long 2550136832 + .long 1073279406 + .long 1656324724 + .long 1043421043 + .long 2952790016 + .long 1073297207 + .long 2659845000 + .long 1042921660 + .long 2550136832 + .long 1073315202 + .long 1043233352 + .long 1046444345 + .long 2147483648 + .long 1073333393 + .long 2162418230 + .long 1044717444 + .long 2013265920 + .long 1073351782 + .long 630511316 + .long 1045098283 + .long 2952790016 + .long 1073370371 + .long 3831108133 + .long 1044508970 + .long 1342177280 + .long 1073389163 + .long 4245662865 + .long 1045817334 + .long 2550136832 + .long 1073408159 + .long 3588780877 + .long 1043705146 + .long 3087007744 + .long 1073427362 + .long 3182425146 + .long 1041483134 + .long 4026531840 + .long 1073446774 + .long 928333188 + .long 1044896498 + .long 2415919104 + .long 1073466398 + .long 2300504125 + .long 1041428596 + .long 3623878656 + .long 1073486235 + .long 1887994668 + .long 1045828938 + .long 671088640 + .long 1073506289 + .long 757630176 + .long 1046044485 + .long 3623878656 + .long 1073526560 + .long 2756972335 + .long 1045675585 + .long 1207959552 + .long 1073547053 + .long 3697834264 + .long 1044397131 + .long 3623878656 + .long 1073567768 + .long 479684631 + .long 1045687954 + .long 0 + .long 1073588710 + .long 730095629 + .long 1045354900 + .long 805306368 + .long 1073609879 + .long 4123739734 + .long 1045159130 + .long 3758096384 + .long 1073631278 + .long 3634164812 + .long 1046359295 + .long 2684354560 + .long 1073652911 + .long 3425467293 + .long 1044718726 + .long 3892314112 + .long 1073674779 + .long 2648473416 + .long 1046054248 + .long 1476395008 + .long 1073696886 + .long 54164518 + .long 1045131818 + .long 2147483648 + .long 1073719233 + .long 2196310654 + .long 1043982605 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1697350398 + .long 1079448903 + .long 0 + .long 862978048 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 0 + .long 0 + .long 1 + .long 1048576 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .long 0 + .long 1073741824 + .long 1105497085 + .long 1077623260 + .long 261899793 + .long 1077588746 + .long 4235085970 + .long 1077578514 + .long 2406803786 + .long 3222762575 + .type __derfc_la__imldErfcTab,@object + .size __derfc_la__imldErfcTab,4864 + .align 16 + +.FLT_191: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_191,@object + .size .FLT_191,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core-avx2.S new file mode 100644 index 0000000000..1671e3a6cd --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized erfcf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_erfcf _ZGVeN16v_erfcf_avx2_wrapper +#include "../svml_s_erfcf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core.c new file mode 100644 index 0000000000..daecfb6486 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized erfcf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_erfcf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_erfcf, __GI__ZGVeN16v_erfcf, + __redirect__ZGVeN16v_erfcf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core_avx512.S new file mode 100644 index 0000000000..bb08eb1baf --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core_avx512.S @@ -0,0 +1,3347 @@ +/* Function erfcf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Approximation formula: + * erfc(x) ~ erfc(x0) - 2/sqrt(pi)*exp(-x0^2)*D * [ 1 + (x0*D)*p1(x0*D) + D^2 * p3(x0*D) ] + * D = x - x0 + * erfc(x0) and 2/sqrt(pi)*exp(-x0^2)/(2*x0) are tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_erfcf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + +/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea -1073741820+__svml_serfc_data_internal(%rip), %rax + +/* + * erfc(10.125) underflows to 0 + * can compute all results in the main path + */ + vmovups 5248+__svml_serfc_data_internal(%rip), %zmm7 + vmovups 5504+__svml_serfc_data_internal(%rip), %zmm15 + vmovups 5440+__svml_serfc_data_internal(%rip), %zmm11 + vmovups 5376+__svml_serfc_data_internal(%rip), %zmm8 + kxnorw %k0, %k0, %k2 + kxnorw %k0, %k0, %k1 + vmovaps %zmm0, %zmm5 + vandps 5184+__svml_serfc_data_internal(%rip), %zmm5, %zmm6 + vandps 5312+__svml_serfc_data_internal(%rip), %zmm5, %zmm1 + vminps {sae}, %zmm7, %zmm6, %zmm10 + vmovups 5696+__svml_serfc_data_internal(%rip), %zmm6 + vorps %zmm1, %zmm8, %zmm9 + vaddps {rn-sae}, %zmm11, %zmm10, %zmm14 + +/* 2^(-64) with sign of input */ + vorps %zmm1, %zmm15, %zmm2 + +/* 2.0 if x<0, 0.0 otherwise */ + vsubps {rn-sae}, %zmm9, %zmm8, %zmm4 + vsubps {rn-sae}, %zmm11, %zmm14, %zmm13 + vmaxps {sae}, %zmm15, %zmm10, %zmm12 + vmovups 5760+__svml_serfc_data_internal(%rip), %zmm10 + +/* Start polynomial evaluation */ + vmovups 5568+__svml_serfc_data_internal(%rip), %zmm15 + vmovups 5632+__svml_serfc_data_internal(%rip), %zmm1 + vmovups 5824+__svml_serfc_data_internal(%rip), %zmm8 + vmovups 5888+__svml_serfc_data_internal(%rip), %zmm9 + vpslld $3, %zmm14, %zmm7 + vsubps {rn-sae}, %zmm13, %zmm12, %zmm0 + vmulps {rn-sae}, %zmm0, %zmm13, %zmm3 + +/* Diff^2 */ + vmulps {rn-sae}, %zmm0, %zmm0, %zmm11 + vfmadd231ps {rn-sae}, %zmm3, %zmm6, %zmm10 + vfmadd231ps {rn-sae}, %zmm3, %zmm15, %zmm1 + +/* P3*D2 */ + vmulps {rn-sae}, %zmm11, %zmm10, %zmm12 + vfmadd213ps {rn-sae}, %zmm8, %zmm3, %zmm1 + vfmadd213ps {rn-sae}, %zmm9, %zmm3, %zmm1 + +/* P1 = P1*T + P3*D2 */ + vfmadd213ps {rn-sae}, %zmm12, %zmm3, %zmm1 + +/* Special arguments (for flags only) */ + vmovups 5952+__svml_serfc_data_internal(%rip), %zmm3 + vcmpps $21, {sae}, %zmm3, %zmm5, %k0 + kmovw %k0, %edx + vpxord %zmm13, %zmm13, %zmm13 + vgatherdps (%rax,%zmm7), %zmm13{%k2} + +/* EXP_X0H * (1+P1) */ + vfmadd213ps {rn-sae}, %zmm13, %zmm13, %zmm1 + vpxord %zmm14, %zmm14, %zmm14 + vgatherdps -4(%rax,%zmm7), %zmm14{%k1} + +/* erfc_high(x0) - Diff * (2/sqrt(pi)*exp(-x0^2))*(1+P1) */ + vfnmadd213ps {rn-sae}, %zmm14, %zmm1, %zmm0 + vfmadd213ps {rn-sae}, %zmm4, %zmm2, %zmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + vmovups %zmm5, 64(%rsp) + vmovups %zmm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + kmovw %k4, 24(%rsp) + kmovw %k5, 16(%rsp) + kmovw %k6, 8(%rsp) + kmovw %k7, (%rsp) + movq %rsi, 40(%rsp) + movq %rdi, 32(%rsp) + movq %r12, 56(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 48(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $16, %r12d + jl .LBL_1_7 + kmovw 24(%rsp), %k4 + cfi_restore(122) + kmovw 16(%rsp), %k5 + cfi_restore(123) + kmovw 8(%rsp), %k6 + cfi_restore(124) + kmovw (%rsp), %k7 + cfi_restore(125) + vmovups 128(%rsp), %zmm0 + movq 40(%rsp), %rsi + cfi_restore(4) + movq 32(%rsp), %rdi + cfi_restore(5) + movq 56(%rsp), %r12 + cfi_restore(12) + movq 48(%rsp), %r13 + cfi_restore(13) + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_serfc_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN16v_erfcf_skx) + + .align 16,0x90 + +__svml_serfc_cout_rare_internal: + + cfi_startproc + + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + movq %rsi, %r8 + movzwl 2(%rdi), %edx + xorl %eax, %eax + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_16 + pxor %xmm1, %xmm1 + cvtss2sd (%rdi), %xmm1 + movsd %xmm1, -8(%rbp) + movzwl -2(%rbp), %edx + andl $32752, %edx + cmpl $15248, %edx + jl .LBL_2_13 + comisd 3728+_vmlsErfcHATab(%rip), %xmm1 + jbe .LBL_2_12 + movsd 3720+_vmlsErfcHATab(%rip), %xmm0 + comisd %xmm1, %xmm0 + jbe .LBL_2_11 + andb $127, -1(%rbp) + lea _vmlsErfcHATab(%rip), %rsi + movsd -8(%rbp), %xmm3 + movsd 3696+_vmlsErfcHATab(%rip), %xmm2 + movaps %xmm3, %xmm4 + movaps %xmm3, %xmm7 + movaps %xmm3, %xmm12 + movsd 3672+_vmlsErfcHATab(%rip), %xmm15 + addsd %xmm2, %xmm4 + mulsd %xmm4, %xmm4 + mulsd %xmm4, %xmm4 + movsd %xmm4, -40(%rbp) + movzwl -34(%rbp), %ecx + andl $32752, %ecx + shrl $4, %ecx + addl $-1023, %ecx + imull $23, %ecx, %edx + movsd (%rsi,%rdx,8), %xmm5 + lea 22(%rdx), %r9d + addsd %xmm3, %xmm5 + movsd %xmm5, -32(%rbp) + lea 21(%rdx), %r10d + movsd -32(%rbp), %xmm6 + lea 20(%rdx), %r11d + subsd %xmm6, %xmm7 + movsd %xmm7, -24(%rbp) + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -16(%rbp) + movsd -24(%rbp), %xmm10 + addsd (%rsi,%rdx,8), %xmm10 + movsd %xmm10, -24(%rbp) + movsd -16(%rbp), %xmm11 + subsd %xmm11, %xmm12 + movsd (%rsi,%r9,8), %xmm11 + movsd %xmm12, -16(%rbp) + lea 19(%rdx), %r9d + movsd -24(%rbp), %xmm14 + movsd -16(%rbp), %xmm13 + movsd 3672+_vmlsErfcHATab(%rip), %xmm12 + addsd %xmm13, %xmm14 + movsd %xmm14, -16(%rbp) + movsd -32(%rbp), %xmm6 + mulsd %xmm6, %xmm11 + mulsd %xmm6, %xmm15 + addsd (%rsi,%r10,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 18(%rdx), %r10d + movsd -16(%rbp), %xmm1 + movsd %xmm15, -32(%rbp) + movsd -32(%rbp), %xmm0 + addsd (%rsi,%r11,8), %xmm11 + subsd %xmm6, %xmm0 + mulsd %xmm6, %xmm11 + movsd %xmm0, -24(%rbp) + lea 16(%rdx), %r11d + movsd -32(%rbp), %xmm4 + movsd -24(%rbp), %xmm15 + addsd (%rsi,%r9,8), %xmm11 + subsd %xmm15, %xmm4 + mulsd %xmm6, %xmm11 + movsd %xmm4, -32(%rbp) + lea 17(%rdx), %r9d + movsd -32(%rbp), %xmm5 + addsd (%rsi,%r10,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 14(%rdx), %r10d + addsd (%rsi,%r9,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 15(%rdx), %r9d + addsd (%rsi,%r11,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 11(%rdx), %r11d + movsd (%rsi,%r11,8), %xmm10 + lea 7(%rdx), %r11d + movaps %xmm10, %xmm8 + addsd (%rsi,%r9,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 13(%rdx), %r9d + addsd (%rsi,%r10,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 9(%rdx), %r10d + addsd (%rsi,%r9,8), %xmm11 + mulsd %xmm6, %xmm11 + subsd %xmm5, %xmm6 + movsd %xmm6, -24(%rbp) + lea 12(%rdx), %r9d + movsd -32(%rbp), %xmm0 + addsd %xmm11, %xmm8 + movsd -24(%rbp), %xmm7 + movsd %xmm8, -32(%rbp) + movaps %xmm0, %xmm8 + movsd -32(%rbp), %xmm9 + addsd %xmm7, %xmm1 + subsd %xmm9, %xmm10 + addsd %xmm10, %xmm11 + movsd %xmm11, -24(%rbp) + movsd -32(%rbp), %xmm4 + mulsd %xmm4, %xmm12 + movsd -24(%rbp), %xmm5 + movsd %xmm12, -32(%rbp) + movsd -32(%rbp), %xmm13 + movsd (%rsi,%r10,8), %xmm11 + lea 5(%rdx), %r10d + subsd %xmm4, %xmm13 + addsd (%rsi,%r9,8), %xmm5 + movsd %xmm13, -24(%rbp) + lea 10(%rdx), %r9d + movsd -32(%rbp), %xmm12 + movsd -24(%rbp), %xmm14 + subsd %xmm14, %xmm12 + movsd %xmm12, -32(%rbp) + movaps %xmm0, %xmm12 + movsd -32(%rbp), %xmm13 + subsd %xmm13, %xmm4 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm7 + movaps %xmm6, %xmm15 + mulsd %xmm1, %xmm6 + addsd %xmm5, %xmm7 + mulsd %xmm0, %xmm15 + mulsd %xmm7, %xmm8 + mulsd %xmm1, %xmm7 + movaps %xmm15, %xmm9 + addsd %xmm6, %xmm7 + addsd %xmm11, %xmm9 + addsd %xmm7, %xmm8 + movsd %xmm8, -32(%rbp) + movsd -32(%rbp), %xmm14 + movsd %xmm9, -32(%rbp) + movsd -32(%rbp), %xmm10 + movsd 3672+_vmlsErfcHATab(%rip), %xmm4 + subsd %xmm10, %xmm11 + addsd %xmm11, %xmm15 + movsd %xmm15, -24(%rbp) + movsd -32(%rbp), %xmm8 + mulsd %xmm8, %xmm4 + movsd -24(%rbp), %xmm9 + movsd %xmm4, -32(%rbp) + movaps %xmm0, %xmm4 + movsd -32(%rbp), %xmm5 + addsd %xmm14, %xmm9 + subsd %xmm8, %xmm5 + addsd (%rsi,%r9,8), %xmm9 + movsd %xmm5, -24(%rbp) + lea 8(%rdx), %r9d + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm14 + subsd %xmm14, %xmm6 + movsd %xmm6, -32(%rbp) + movsd -32(%rbp), %xmm7 + movsd 3672+_vmlsErfcHATab(%rip), %xmm6 + subsd %xmm7, %xmm8 + movsd %xmm8, -24(%rbp) + movsd -32(%rbp), %xmm10 + movsd -24(%rbp), %xmm11 + mulsd %xmm10, %xmm4 + addsd %xmm9, %xmm11 + mulsd %xmm1, %xmm10 + mulsd %xmm11, %xmm12 + mulsd %xmm1, %xmm11 + movaps %xmm4, %xmm13 + addsd %xmm10, %xmm11 + movsd (%rsi,%r11,8), %xmm10 + lea 3(%rdx), %r11d + addsd %xmm11, %xmm12 + addsd %xmm10, %xmm13 + movsd %xmm12, -32(%rbp) + movsd -32(%rbp), %xmm5 + movsd %xmm13, -32(%rbp) + movsd -32(%rbp), %xmm15 + subsd %xmm15, %xmm10 + addsd %xmm10, %xmm4 + movsd 3672+_vmlsErfcHATab(%rip), %xmm10 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm12 + mulsd %xmm12, %xmm6 + movsd -24(%rbp), %xmm14 + movsd %xmm6, -32(%rbp) + movaps %xmm0, %xmm6 + movsd -32(%rbp), %xmm7 + addsd %xmm5, %xmm14 + subsd %xmm12, %xmm7 + addsd (%rsi,%r9,8), %xmm14 + movsd %xmm7, -24(%rbp) + lea 6(%rdx), %r9d + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm8 + subsd %xmm8, %xmm9 + movsd (%rsi,%r10,8), %xmm8 + movsd %xmm9, -32(%rbp) + movaps %xmm0, %xmm9 + movsd -32(%rbp), %xmm11 + lea 1(%rdx), %r10d + subsd %xmm11, %xmm12 + movsd %xmm12, -24(%rbp) + movsd -32(%rbp), %xmm4 + movsd -24(%rbp), %xmm5 + mulsd %xmm4, %xmm9 + addsd %xmm14, %xmm5 + mulsd %xmm1, %xmm4 + mulsd %xmm5, %xmm6 + mulsd %xmm1, %xmm5 + movaps %xmm9, %xmm7 + movaps %xmm0, %xmm14 + addsd %xmm4, %xmm5 + addsd %xmm8, %xmm7 + addsd %xmm5, %xmm6 + movsd %xmm6, -32(%rbp) + movsd -32(%rbp), %xmm15 + movsd %xmm7, -32(%rbp) + movsd -32(%rbp), %xmm13 + subsd %xmm13, %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -24(%rbp) + movaps %xmm0, %xmm9 + movsd -32(%rbp), %xmm5 + mulsd %xmm5, %xmm10 + movsd -24(%rbp), %xmm6 + movsd %xmm10, -32(%rbp) + addsd %xmm15, %xmm6 + movsd -32(%rbp), %xmm11 + subsd %xmm5, %xmm11 + addsd (%rsi,%r9,8), %xmm6 + movsd %xmm11, -24(%rbp) + lea 4(%rdx), %r9d + movsd -32(%rbp), %xmm12 + addl $2, %edx + movsd -24(%rbp), %xmm15 + movsd (%rsi,%r11,8), %xmm11 + subsd %xmm15, %xmm12 + movsd %xmm12, -32(%rbp) + movaps %xmm0, %xmm12 + movsd -32(%rbp), %xmm4 + movsd 3672+_vmlsErfcHATab(%rip), %xmm15 + subsd %xmm4, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm7 + movsd -24(%rbp), %xmm8 + mulsd %xmm7, %xmm14 + addsd %xmm6, %xmm8 + mulsd %xmm1, %xmm7 + mulsd %xmm8, %xmm9 + mulsd %xmm1, %xmm8 + movaps %xmm14, %xmm10 + addsd %xmm7, %xmm8 + addsd %xmm11, %xmm10 + addsd %xmm8, %xmm9 + movsd %xmm9, -32(%rbp) + movsd -32(%rbp), %xmm4 + movsd %xmm10, -32(%rbp) + movsd -32(%rbp), %xmm13 + subsd %xmm13, %xmm11 + addsd %xmm11, %xmm14 + movsd %xmm14, -24(%rbp) + movsd -32(%rbp), %xmm8 + mulsd %xmm8, %xmm15 + movsd -24(%rbp), %xmm9 + movsd %xmm15, -32(%rbp) + addsd %xmm4, %xmm9 + movsd -32(%rbp), %xmm4 + subsd %xmm8, %xmm4 + addsd (%rsi,%r9,8), %xmm9 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -32(%rbp) + movsd -32(%rbp), %xmm7 + subsd %xmm7, %xmm8 + movsd %xmm8, -24(%rbp) + movsd -32(%rbp), %xmm10 + movsd -24(%rbp), %xmm11 + mulsd %xmm10, %xmm12 + addsd %xmm9, %xmm11 + mulsd %xmm11, %xmm0 + mulsd %xmm1, %xmm11 + mulsd %xmm10, %xmm1 + addsd %xmm1, %xmm11 + movaps %xmm12, %xmm1 + addsd %xmm11, %xmm0 + movsd %xmm0, -32(%rbp) + movsd (%rsi,%r10,8), %xmm0 + movsd -32(%rbp), %xmm4 + addsd %xmm0, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm1 + subsd %xmm1, %xmm0 + addsd %xmm0, %xmm12 + movsd %xmm12, -24(%rbp) + movsd -32(%rbp), %xmm1 + movsd -24(%rbp), %xmm6 + movaps %xmm1, %xmm5 + addsd %xmm4, %xmm6 + addsd (%rsi,%rdx,8), %xmm6 + addsd %xmm6, %xmm5 + movsd %xmm5, -32(%rbp) + movsd -32(%rbp), %xmm0 + subsd %xmm0, %xmm1 + addsd %xmm1, %xmm6 + movsd %xmm6, -24(%rbp) + movsd -32(%rbp), %xmm5 + movsd -24(%rbp), %xmm7 + cmpl $6, %ecx + jae .LBL_2_7 + movsd %xmm2, -40(%rbp) + jmp .LBL_2_8 + +.LBL_2_7: + movsd 3672+_vmlsErfcHATab(%rip), %xmm8 + movaps %xmm3, %xmm14 + mulsd %xmm5, %xmm8 + mulsd 3672+_vmlsErfcHATab(%rip), %xmm14 + movsd %xmm8, -32(%rbp) + movsd -32(%rbp), %xmm9 + movsd 3704+_vmlsErfcHATab(%rip), %xmm8 + subsd %xmm5, %xmm9 + movsd %xmm9, -24(%rbp) + movsd -32(%rbp), %xmm11 + movsd -24(%rbp), %xmm10 + movsd 3656+_vmlsErfcHATab(%rip), %xmm9 + subsd %xmm10, %xmm11 + movsd %xmm11, -32(%rbp) + movsd -32(%rbp), %xmm12 + movsd 3640+_vmlsErfcHATab(%rip), %xmm10 + subsd %xmm12, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm13 + movsd %xmm14, -32(%rbp) + addsd %xmm13, %xmm7 + movsd -32(%rbp), %xmm15 + subsd -8(%rbp), %xmm15 + movsd %xmm15, -24(%rbp) + movsd -32(%rbp), %xmm1 + movsd -24(%rbp), %xmm0 + subsd %xmm0, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm2 + subsd %xmm2, %xmm3 + movsd %xmm3, -24(%rbp) + movsd -32(%rbp), %xmm5 + movsd -24(%rbp), %xmm4 + movaps %xmm4, %xmm3 + mulsd %xmm5, %xmm3 + mulsd %xmm5, %xmm5 + mulsd %xmm4, %xmm4 + mulsd %xmm8, %xmm5 + addsd %xmm3, %xmm4 + mulsd %xmm5, %xmm9 + addsd %xmm3, %xmm4 + addsd 3664+_vmlsErfcHATab(%rip), %xmm9 + movsd %xmm4, -32(%rbp) + movsd -32(%rbp), %xmm4 + movsd %xmm9, -48(%rbp) + movsd -48(%rbp), %xmm1 + mulsd %xmm8, %xmm4 + subsd 3664+_vmlsErfcHATab(%rip), %xmm1 + mulsd %xmm1, %xmm10 + xorps .FLT_166(%rip), %xmm1 + subsd %xmm10, %xmm5 + mulsd 3648+_vmlsErfcHATab(%rip), %xmm1 + movaps %xmm5, %xmm11 + movaps %xmm5, %xmm13 + movl -48(%rbp), %edx + movl %edx, %r9d + andl $63, %r9d + addsd %xmm1, %xmm11 + movsd %xmm11, -32(%rbp) + lea 328(%r9,%r9), %r10d + movsd -32(%rbp), %xmm12 + lea 327(%r9,%r9), %ecx + shrl $6, %edx + subsd %xmm12, %xmm13 + movsd %xmm13, -24(%rbp) + addl $1023, %edx + movsd -32(%rbp), %xmm0 + andl $2047, %edx + movsd -24(%rbp), %xmm14 + shll $4, %edx + addsd %xmm14, %xmm0 + movsd %xmm0, -16(%rbp) + movsd -24(%rbp), %xmm15 + addsd %xmm15, %xmm1 + movsd %xmm1, -24(%rbp) + movsd -16(%rbp), %xmm0 + subsd %xmm0, %xmm5 + movsd %xmm5, -16(%rbp) + movsd -24(%rbp), %xmm0 + movsd -16(%rbp), %xmm5 + addsd %xmm5, %xmm0 + movsd %xmm0, -16(%rbp) + movsd -32(%rbp), %xmm11 + movaps %xmm11, %xmm1 + movaps %xmm11, %xmm8 + movsd -16(%rbp), %xmm3 + addsd %xmm4, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm2 + movsd 2608+_vmlsErfcHATab(%rip), %xmm0 + subsd %xmm2, %xmm8 + movsd %xmm8, -24(%rbp) + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm5 + addsd %xmm5, %xmm9 + movsd %xmm9, -16(%rbp) + movsd -24(%rbp), %xmm10 + addsd %xmm10, %xmm4 + movsd %xmm4, -24(%rbp) + movsd -16(%rbp), %xmm4 + subsd %xmm4, %xmm11 + movsd 3672+_vmlsErfcHATab(%rip), %xmm4 + movsd %xmm11, -16(%rbp) + movsd -24(%rbp), %xmm13 + movsd -16(%rbp), %xmm12 + addsd %xmm12, %xmm13 + movsd %xmm13, -16(%rbp) + movsd -32(%rbp), %xmm1 + mulsd %xmm1, %xmm0 + movaps %xmm1, %xmm14 + movsd -16(%rbp), %xmm2 + addsd 2600+_vmlsErfcHATab(%rip), %xmm0 + addsd %xmm2, %xmm3 + mulsd %xmm1, %xmm0 + movsd (%rsi,%rcx,8), %xmm2 + addsd 2592+_vmlsErfcHATab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 2584+_vmlsErfcHATab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 2576+_vmlsErfcHATab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + mulsd %xmm1, %xmm0 + addsd %xmm0, %xmm14 + movsd %xmm14, -24(%rbp) + movsd -24(%rbp), %xmm15 + subsd %xmm15, %xmm0 + movsd 3672+_vmlsErfcHATab(%rip), %xmm15 + addsd %xmm0, %xmm1 + movsd %xmm1, -16(%rbp) + movsd -24(%rbp), %xmm11 + mulsd %xmm11, %xmm4 + movsd -16(%rbp), %xmm1 + movsd %xmm4, -32(%rbp) + movsd -32(%rbp), %xmm5 + subsd %xmm11, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm8 + subsd %xmm8, %xmm9 + movsd %xmm9, -32(%rbp) + movsd -32(%rbp), %xmm10 + subsd %xmm10, %xmm11 + movaps %xmm2, %xmm10 + movsd %xmm11, -24(%rbp) + movsd -32(%rbp), %xmm13 + movsd -24(%rbp), %xmm12 + mulsd %xmm13, %xmm10 + addsd %xmm3, %xmm12 + movsd (%rsi,%r10,8), %xmm3 + movaps %xmm10, %xmm4 + movaps %xmm3, %xmm0 + addsd %xmm12, %xmm1 + mulsd %xmm3, %xmm13 + mulsd %xmm1, %xmm0 + mulsd %xmm2, %xmm1 + addsd %xmm10, %xmm2 + addsd %xmm1, %xmm0 + addsd %xmm13, %xmm0 + movsd %xmm0, -32(%rbp) + movsd -32(%rbp), %xmm0 + movsd %xmm2, -32(%rbp) + movsd -32(%rbp), %xmm1 + subsd %xmm1, %xmm4 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm5 + movsd -24(%rbp), %xmm3 + addsd %xmm3, %xmm5 + movsd %xmm5, -16(%rbp) + movsd -24(%rbp), %xmm8 + addsd (%rsi,%rcx,8), %xmm8 + movsd %xmm8, -24(%rbp) + movsd -16(%rbp), %xmm9 + subsd %xmm9, %xmm10 + movsd %xmm10, -16(%rbp) + movsd -24(%rbp), %xmm12 + movsd -16(%rbp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -16(%rbp) + movsd -32(%rbp), %xmm3 + movsd -16(%rbp), %xmm14 + mulsd %xmm3, %xmm15 + addsd (%rsi,%r10,8), %xmm14 + movsd %xmm15, -32(%rbp) + addsd %xmm14, %xmm0 + movsd -32(%rbp), %xmm14 + movq 3680+_vmlsErfcHATab(%rip), %rsi + subsd %xmm3, %xmm14 + movsd %xmm14, -24(%rbp) + movsd -32(%rbp), %xmm1 + movsd -24(%rbp), %xmm15 + movq %rsi, -40(%rbp) + subsd %xmm15, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm2 + shrq $48, %rsi + subsd %xmm2, %xmm3 + movsd %xmm3, -24(%rbp) + andl $-32753, %esi + movsd -32(%rbp), %xmm5 + orl %edx, %esi + movsd -24(%rbp), %xmm4 + movw %si, -34(%rbp) + addsd %xmm0, %xmm4 + movaps %xmm5, %xmm0 + mulsd %xmm7, %xmm0 + mulsd %xmm4, %xmm7 + mulsd %xmm6, %xmm4 + mulsd %xmm6, %xmm5 + addsd %xmm4, %xmm7 + movsd -40(%rbp), %xmm2 + addsd %xmm7, %xmm0 + movsd %xmm0, -32(%rbp) + movsd -32(%rbp), %xmm7 + +.LBL_2_8: + movb 3(%rdi), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_15 + addsd %xmm5, %xmm7 + mulsd %xmm2, %xmm7 + +.LBL_2_10: + cvtsd2ss %xmm7, %xmm7 + movss %xmm7, (%r8) + jmp .LBL_2_14 + +.LBL_2_11: + movsd 3688+_vmlsErfcHATab(%rip), %xmm0 + movl $4, %eax + movaps %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + cvtsd2ss %xmm1, %xmm1 + movss %xmm1, (%r8) + jmp .LBL_2_14 + +.LBL_2_12: + movsd 3688+_vmlsErfcHATab(%rip), %xmm0 + movsd 3712+_vmlsErfcHATab(%rip), %xmm1 + subsd %xmm0, %xmm1 + cvtsd2ss %xmm1, %xmm1 + movss %xmm1, (%r8) + jmp .LBL_2_14 + +.LBL_2_13: + movsd 3696+_vmlsErfcHATab(%rip), %xmm0 + addsd %xmm1, %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + +.LBL_2_14: + movq %rbp, %rsp + popq %rbp + cfi_restore(6) + ret + cfi_offset(6, -16) + +.LBL_2_15: + mulsd %xmm2, %xmm5 + mulsd %xmm2, %xmm7 + movsd 3712+_vmlsErfcHATab(%rip), %xmm2 + xorps .FLT_166(%rip), %xmm5 + movaps %xmm2, %xmm0 + xorps .FLT_166(%rip), %xmm7 + addsd %xmm5, %xmm0 + movsd %xmm0, -32(%rbp) + movsd -32(%rbp), %xmm1 + subsd %xmm1, %xmm2 + addsd %xmm2, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm10 + movaps %xmm10, %xmm3 + movaps %xmm10, %xmm5 + movsd -24(%rbp), %xmm13 + addsd %xmm7, %xmm3 + movsd %xmm3, -32(%rbp) + movsd -32(%rbp), %xmm4 + subsd %xmm4, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm8 + movsd -24(%rbp), %xmm6 + addsd %xmm6, %xmm8 + movsd %xmm8, -16(%rbp) + movsd -24(%rbp), %xmm9 + addsd %xmm9, %xmm7 + movsd %xmm7, -24(%rbp) + movsd -16(%rbp), %xmm7 + subsd %xmm7, %xmm10 + movsd %xmm10, -16(%rbp) + movsd -24(%rbp), %xmm12 + movsd -16(%rbp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -16(%rbp) + movsd -32(%rbp), %xmm7 + movsd -16(%rbp), %xmm14 + addsd %xmm13, %xmm14 + addsd %xmm14, %xmm7 + jmp .LBL_2_10 + +.LBL_2_16: + testl $8388607, (%rdi) + je .LBL_2_18 + movss (%rdi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_14 + +.LBL_2_18: + movb 3(%rdi), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_20 + movsd 3680+_vmlsErfcHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_14 + +.LBL_2_20: + movsd 3712+_vmlsErfcHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_14 + + cfi_endproc + + .type __svml_serfc_cout_rare_internal,@function + .size __svml_serfc_cout_rare_internal,.-__svml_serfc_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_serfc_data_internal: + .long 1468006400 + .long 1469083323 + .long 1467710626 + .long 1469081012 + .long 1467414997 + .long 1469074083 + .long 1467119656 + .long 1469062547 + .long 1466824747 + .long 1469046420 + .long 1466530414 + .long 1469025725 + .long 1466236799 + .long 1469000494 + .long 1465944042 + .long 1468970762 + .long 1465652285 + .long 1468936573 + .long 1465361664 + .long 1468897977 + .long 1465072319 + .long 1468855029 + .long 1464784382 + .long 1468807791 + .long 1464497988 + .long 1468756332 + .long 1464213266 + .long 1468700724 + .long 1463930347 + .long 1468641048 + .long 1463649354 + .long 1468577388 + .long 1463370412 + .long 1468509835 + .long 1463093641 + .long 1468438483 + .long 1462819158 + .long 1468363432 + .long 1462547076 + .long 1468284786 + .long 1462277507 + .long 1468202655 + .long 1462010557 + .long 1468117152 + .long 1461746331 + .long 1468028392 + .long 1461484928 + .long 1467866591 + .long 1461226443 + .long 1467676775 + .long 1460970970 + .long 1467481186 + .long 1460718597 + .long 1467280084 + .long 1460469407 + .long 1467073732 + .long 1460223481 + .long 1466862398 + .long 1459980894 + .long 1466646353 + .long 1459741717 + .long 1466425871 + .long 1459394246 + .long 1466201230 + .long 1458929930 + .long 1465972709 + .long 1458472813 + .long 1465740589 + .long 1458023002 + .long 1465505150 + .long 1457580597 + .long 1465266676 + .long 1457145687 + .long 1465025447 + .long 1456718356 + .long 1464781745 + .long 1456298675 + .long 1464535848 + .long 1455886709 + .long 1464288035 + .long 1455482514 + .long 1464038581 + .long 1455086136 + .long 1463787758 + .long 1454697615 + .long 1463535836 + .long 1454316979 + .long 1463283081 + .long 1453944252 + .long 1463029753 + .long 1453579447 + .long 1462776110 + .long 1453222570 + .long 1462522403 + .long 1452873619 + .long 1462268879 + .long 1452532585 + .long 1462015777 + .long 1452199450 + .long 1461763334 + .long 1451874191 + .long 1461511777 + .long 1451556776 + .long 1461261327 + .long 1451247168 + .long 1461012199 + .long 1450661460 + .long 1460764601 + .long 1450073189 + .long 1460518732 + .long 1449500227 + .long 1460274786 + .long 1448942445 + .long 1460032945 + .long 1448399709 + .long 1459793387 + .long 1447871869 + .long 1459494771 + .long 1447358767 + .long 1459025783 + .long 1446860236 + .long 1458562323 + .long 1446376097 + .long 1458104680 + .long 1445906166 + .long 1457653124 + .long 1445450247 + .long 1457207908 + .long 1445008139 + .long 1456769272 + .long 1444579633 + .long 1456337436 + .long 1444164512 + .long 1455912603 + .long 1443762556 + .long 1455494963 + .long 1443373537 + .long 1455084685 + .long 1442997221 + .long 1454681926 + .long 1442426169 + .long 1454286826 + .long 1441722923 + .long 1453899507 + .long 1441043638 + .long 1453520078 + .long 1440387819 + .long 1453148633 + .long 1439754963 + .long 1452785250 + .long 1439144565 + .long 1452429994 + .long 1438556115 + .long 1452082915 + .long 1437989102 + .long 1451744049 + .long 1437443010 + .long 1451413421 + .long 1436917324 + .long 1450952898 + .long 1436411530 + .long 1450324632 + .long 1435925111 + .long 1449712833 + .long 1435457554 + .long 1449117454 + .long 1435008348 + .long 1448538422 + .long 1434576982 + .long 1447975647 + .long 1433873932 + .long 1447429017 + .long 1433079531 + .long 1446898404 + .long 1432317796 + .long 1446383659 + .long 1431587742 + .long 1445884619 + .long 1430888392 + .long 1445401103 + .long 1430218781 + .long 1444932918 + .long 1429577958 + .long 1444479854 + .long 1428964985 + .long 1444041692 + .long 1428378937 + .long 1443618198 + .long 1427818905 + .long 1443209129 + .long 1427283996 + .long 1442787888 + .long 1426773332 + .long 1442025913 + .long 1426286053 + .long 1441291216 + .long 1425579266 + .long 1440583244 + .long 1424693215 + .long 1439901427 + .long 1423848975 + .long 1439245189 + .long 1423044966 + .long 1438613942 + .long 1422279644 + .long 1438007090 + .long 1421551504 + .long 1437424033 + .long 1420859077 + .long 1436864164 + .long 1420200933 + .long 1436326873 + .long 1419575680 + .long 1435811549 + .long 1418981964 + .long 1435317579 + .long 1418418470 + .long 1434844351 + .long 1417883921 + .long 1434330543 + .long 1417079401 + .long 1433463400 + .long 1416118721 + .long 1432634096 + .long 1415208720 + .long 1431841432 + .long 1414347147 + .long 1431084221 + .long 1413531822 + .long 1430361287 + .long 1412760640 + .long 1429671468 + .long 1412031567 + .long 1429013620 + .long 1411342639 + .long 1428386614 + .long 1410691965 + .long 1427789339 + .long 1410077719 + .long 1427220705 + .long 1409498146 + .long 1426679642 + .long 1408616967 + .long 1426165099 + .long 1407586499 + .long 1425288738 + .long 1406615622 + .long 1424359616 + .long 1405701336 + .long 1423477509 + .long 1404840762 + .long 1422640500 + .long 1404031141 + .long 1421846724 + .long 1403269827 + .long 1421094363 + .long 1402554287 + .long 1420381647 + .long 1401882099 + .long 1419706860 + .long 1401250942 + .long 1419068334 + .long 1400419671 + .long 1418464450 + .long 1399308394 + .long 1417893642 + .long 1398266481 + .long 1417034033 + .long 1397290079 + .long 1416015717 + .long 1396375514 + .long 1415054748 + .long 1395519289 + .long 1414148391 + .long 1394718074 + .long 1413294005 + .long 1393968701 + .long 1412489047 + .long 1393268157 + .long 1411731067 + .long 1392613580 + .long 1411017710 + .long 1391495577 + .long 1410346710 + .long 1390354264 + .long 1409715893 + .long 1389289401 + .long 1408960197 + .long 1388296352 + .long 1407846941 + .long 1387370725 + .long 1406802038 + .long 1386508366 + .long 1405821818 + .long 1385705340 + .long 1404902767 + .long 1384957931 + .long 1404041531 + .long 1384262627 + .long 1403234902 + .long 1383111902 + .long 1402479822 + .long 1381910185 + .long 1401773372 + .long 1380793880 + .long 1401112774 + .long 1379757423 + .long 1400093220 + .long 1378795573 + .long 1398939798 + .long 1377903393 + .long 1397862954 + .long 1377076243 + .long 1396858136 + .long 1376309756 + .long 1395921024 + .long 1375467948 + .long 1395047518 + .long 1374153513 + .long 1394233731 + .long 1372937261 + .long 1393475980 + .long 1371812408 + .long 1392770778 + .long 1370772594 + .long 1391720729 + .long 1369811859 + .long 1390501096 + .long 1368924622 + .long 1389367835 + .long 1368105660 + .long 1388315384 + .long 1367350089 + .long 1387338494 + .long 1365963580 + .long 1386432215 + .long 1364679201 + .long 1385591884 + .long 1363495972 + .long 1384813111 + .long 1362406459 + .long 1384063207 + .long 1361403729 + .long 1382727593 + .long 1360481319 + .long 1381491759 + .long 1359633211 + .long 1380348847 + .long 1358753104 + .long 1379292423 + .long 1357321245 + .long 1378316449 + .long 1356006652 + .long 1377415270 + .long 1354800309 + .long 1376583587 + .long 1353693842 + .long 1375816440 + .long 1352679479 + .long 1374486664 + .long 1351750007 + .long 1373183277 + .long 1350898736 + .long 1371982901 + .long 1349673048 + .long 1370877969 + .long 1348247034 + .long 1369861418 + .long 1346942910 + .long 1368926664 + .long 1345750840 + .long 1368067570 + .long 1344661728 + .long 1367213739 + .long 1343667167 + .long 1365764691 + .long 1342759391 + .long 1364434996 + .long 1341685187 + .long 1363215454 + .long 1340174879 + .long 1362097517 + .long 1338798378 + .long 1361073249 + .long 1337544443 + .long 1360135285 + .long 1336402718 + .long 1359276796 + .long 1335363669 + .long 1358028410 + .long 1334418524 + .long 1356592291 + .long 1333329760 + .long 1355279886 + .long 1331767989 + .long 1354081153 + .long 1330349443 + .long 1352986812 + .long 1329061615 + .long 1351988283 + .long 1327893031 + .long 1351077646 + .long 1326833167 + .long 1349929293 + .long 1325872377 + .long 1348416862 + .long 1324603588 + .long 1347039679 + .long 1323026782 + .long 1345786292 + .long 1321599465 + .long 1344646158 + .long 1320308097 + .long 1343609574 + .long 1319140298 + .long 1342667618 + .long 1318084760 + .long 1341446900 + .long 1317131157 + .long 1339893634 + .long 1315528675 + .long 1338484326 + .long 1313974324 + .long 1337206289 + .long 1312572135 + .long 1336047887 + .long 1311307829 + .long 1334998457 + .long 1310168405 + .long 1334048233 + .long 1309142027 + .long 1332587880 + .long 1307813016 + .long 1331032143 + .long 1306149818 + .long 1329625629 + .long 1304653827 + .long 1328354672 + .long 1303308888 + .long 1327206792 + .long 1302100340 + .long 1326170599 + .long 1301014883 + .long 1325071340 + .long 1299846668 + .long 1323385191 + .long 1298098009 + .long 1321865422 + .long 1296529749 + .long 1320496313 + .long 1295123963 + .long 1319263555 + .long 1293864435 + .long 1318154133 + .long 1292736498 + .long 1317156213 + .long 1291608161 + .long 1315506636 + .long 1289801684 + .long 1313894280 + .long 1288186310 + .long 1312446180 + .long 1286742527 + .long 1311146265 + .long 1285452738 + .long 1309979960 + .long 1284301081 + .long 1308934065 + .long 1283089506 + .long 1307370395 + .long 1281255815 + .long 1305690774 + .long 1279620902 + .long 1304186844 + .long 1278163931 + .long 1302840907 + .long 1276866169 + .long 1301636977 + .long 1275710782 + .long 1300560616 + .long 1274296888 + .long 1298963343 + .long 1272468005 + .long 1297245263 + .long 1270842149 + .long 1295711559 + .long 1269397488 + .long 1294343136 + .long 1268114453 + .long 1293122800 + .long 1266975520 + .long 1292035074 + .long 1265250187 + .long 1290286443 + .long 1263457881 + .long 1288560720 + .long 1261869203 + .long 1287024853 + .long 1260461706 + .long 1285658646 + .long 1259215335 + .long 1284443971 + .long 1257933167 + .long 1283272104 + .long 1255981342 + .long 1281354667 + .long 1254255487 + .long 1279652476 + .long 1252730185 + .long 1278142131 + .long 1251382789 + .long 1276802684 + .long 1250193129 + .long 1275615396 + .long 1248383912 + .long 1274058608 + .long 1246531782 + .long 1272195701 + .long 1244898869 + .long 1270546909 + .long 1243459931 + .long 1269088358 + .long 1242192544 + .long 1267798745 + .long 1240639617 + .long 1266638344 + .long 1238676087 + .long 1264625041 + .long 1236949181 + .long 1262847614 + .long 1235431125 + .long 1261279219 + .long 1234097314 + .long 1259895966 + .long 1232726536 + .long 1258676614 + .long 1230670161 + .long 1256913364 + .long 1228866009 + .long 1255021196 + .long 1227283916 + .long 1253355740 + .long 1225897229 + .long 1251890570 + .long 1224628042 + .long 1250602245 + .long 1222500560 + .long 1249037384 + .long 1220638574 + .long 1247048195 + .long 1219009747 + .long 1245301731 + .long 1217585578 + .long 1243769143 + .long 1216333762 + .long 1242424914 + .long 1214159418 + .long 1240978985 + .long 1212261059 + .long 1238913861 + .long 1210604462 + .long 1237105268 + .long 1209159545 + .long 1235522132 + .long 1207840196 + .long 1234137042 + .long 1205644919 + .long 1232726284 + .long 1203732957 + .long 1230609021 + .long 1202068558 + .long 1228759404 + .long 1200620375 + .long 1227144406 + .long 1199150928 + .long 1225734974 + .long 1196961407 + .long 1224274345 + .long 1195059107 + .long 1222130630 + .long 1193407158 + .long 1220262583 + .long 1191973312 + .long 1218635571 + .long 1190276428 + .long 1217219200 + .long 1188119142 + .long 1215625472 + .long 1186249419 + .long 1213481951 + .long 1184629718 + .long 1211618738 + .long 1183227291 + .long 1209999986 + .long 1181233440 + .long 1208594324 + .long 1179133702 + .long 1206789071 + .long 1177318293 + .long 1204672362 + .long 1175749478 + .long 1202837046 + .long 1174383725 + .long 1201246509 + .long 1172044026 + .long 1199868792 + .long 1170025096 + .long 1197781088 + .long 1168283809 + .long 1195716794 + .long 1166782716 + .long 1193931388 + .long 1164962123 + .long 1192387961 + .long 1162734328 + .long 1190926432 + .long 1160816648 + .long 1188623062 + .long 1159166720 + .long 1186634851 + .long 1157747852 + .long 1184919532 + .long 1155428661 + .long 1183440388 + .long 1153333153 + .long 1181537344 + .long 1151533744 + .long 1179340890 + .long 1149989349 + .long 1177449686 + .long 1148089652 + .long 1175822122 + .long 1145817645 + .long 1174422144 + .long 1143870484 + .long 1172031935 + .long 1142202536 + .long 1169963373 + .long 1140698237 + .long 1168186720 + .long 1138254036 + .long 1166661544 + .long 1136163386 + .long 1164689286 + .long 1134376020 + .long 1162444698 + .long 1132848688 + .long 1160520695 + .long 1130626310 + .long 1158872311 + .long 1128399067 + .long 1157293628 + .long 1126498637 + .long 1154877360 + .long 1124877859 + .long 1152810318 + .long 1122919037 + .long 1151042908 + .long 1120564739 + .long 1149532448 + .long 1118559819 + .long 1147245153 + .long 1116853261 + .long 1145042050 + .long 1115117884 + .long 1143162047 + .long 1112648650 + .long 1141558556 + .long 1110549952 + .long 1139532490 + .long 1108767058 + .long 1137202983 + .long 1107210116 + .long 1135219064 + .long 1104640487 + .long 1133530304 + .long 1102460721 + .long 1131724929 + .long 1100612571 + .long 1129281283 + .long 1099046352 + .long 1127204292 + .long 1096531758 + .long 1125439818 + .long 1094285410 + .long 1123809692 + .long 1092384524 + .long 1121266617 + .long 1090776756 + .long 1119109407 + .long 1088316103 + .long 1117280423 + .long 1086019154 + .long 1115730494 + .long 1084079241 + .long 1113150527 + .long 1082441665 + .long 1110927737 + .long 1079989535 + .long 1109046891 + .long 1077659121 + .long 1107456175 + .long 1075694786 + .long 1104926752 + .long 1074039830 + .long 1102654513 + .long 1071550590 + .long 1100735638 + .long 1069204624 + .long 1099115979 + .long 1067231037 + .long 1096591466 + .long 1065571531 + .long 1094287050 + .long 1063000391 + .long 1092344862 + .long 1060657146 + .long 1090708776 + .long 1058689694 + .long 1088143423 + .long 1057038575 + .long 1085824856 + .long 1054342600 + .long 1083874614 + .long 1052020286 + .long 1082235000 + .long 1050074213 + .long 1079584011 + .long 1048312444 + .long 1077269645 + .long 1045583282 + .long 1075326796 + .long 1043299623 + .long 1073651441 + .long 1041389676 + .long 1070917194 + .long 1039398736 + .long 1068625276 + .long 1036730679 + .long 1066705083 + .long 1034502505 + .long 1064841025 + .long 1032642600 + .long 1062149358 + .long 1030382926 + .long 1059897600 + .long 1027794902 + .long 1058014789 + .long 1025637785 + .long 1055917897 + .long 1023840705 + .long 1053289072 + .long 1021278425 + .long 1051094240 + .long 1018787570 + .long 1049262661 + .long 1016715493 + .long 1046893941 + .long 1014963688 + .long 1044346762 + .long 1012100073 + .long 1042224306 + .long 1009721393 + .long 1040456628 + .long 1007746493 + .long 1037782920 + .long 1005582303 + .long 1035334330 + .long 1002863627 + .long 1033298061 + .long 1000609748 + .long 1031412254 + .long 998742114 + .long 1028599975 + .long 996146231 + .long 1026264730 + .long 993585243 + .long 1024326561 + .long 991466235 + .long 1022027318 + .long 989571829 + .long 1019361103 + .long 986674645 + .long 1017151524 + .long 984280972 + .long 1015321280 + .long 982304268 + .long 1012590427 + .long 979878256 + .long 1010082624 + .long 977186171 + .long 1008008436 + .long 974966292 + .long 1005954511 + .long 973136685 + .long 1003120879 + .long 970180417 + .long 1000780675 + .long 967698377 + .long 998848931 + .long 965655694 + .long 996265936 + .long 963260910 + .long 993637326 + .long 960497918 + .long 991470731 + .long 958227342 + .long 989515917 + .long 956362337 + .long 986576468 + .long 953361102 + .long 984157261 + .long 950848277 + .long 982167204 + .long 948787314 + .long 979594821 + .long 946282863 + .long 976905540 + .long 943514136 + .long 974696597 + .long 941246612 + .long 972687661 + .long 939256839 + .long 969711425 + .long 936219526 + .long 967270403 + .long 933735677 + .long 965269336 + .long 931705430 + .long 962569561 + .long 928958027 + .long 959884047 + .long 926249145 + .long 957685815 + .long 924038202 + .long 955473363 + .long 921722217 + .long 952531978 + .long 918780868 + .long 950127868 + .long 916383703 + .long 948163864 + .long 914430996 + .long 945207681 + .long 911323959 + .long 942590074 + .long 908736284 + .long 940454823 + .long 906631474 + .long 937903712 + .long 903870859 + .long 935066289 + .long 901089782 + .long 932755156 + .long 898830970 + .long 930611760 + .long 896413426 + .long 927549701 + .long 893437597 + .long 925059289 + .long 891024144 + .long 923034805 + .long 888943039 + .long 920032901 + .long 885772782 + .long 917361201 + .long 883205408 + .long 915192560 + .long 881127282 + .long 912507977 + .long 878088144 + .long 909654498 + .long 875369007 + .long 907341732 + .long 873171260 + .long 904966623 + .long 870376358 + .long 901932504 + .long 867509114 + .long 899476967 + .long 865195052 + .long 897400265 + .long 862630091 + .long 894188368 + .long 859619931 + .long 891592798 + .long 857194082 + .long 889496324 + .long 854842134 + .long 886415174 + .long 851695791 + .long 883683743 + .long 849163904 + .long 881480795 + .long 847005533 + .long 878606067 + .long 843731265 + .long 875744396 + .long 841100293 + .long 873439820 + .long 838987260 + .long 870754371 + .long 835721267 + .long 867769530 + .long 832999319 + .long 865369317 + .long 830816421 + .long 862853723 + .long 827661157 + .long 859754200 + .long 824857435 + .long 857265451 + .long 822612249 + .long 854898195 + .long 819546831 + .long 851693836 + .long 816671542 + .long 849124713 + .long 814372415 + .long 846882413 + .long 811374812 + .long 843584340 + .long 808439058 + .long 840943989 + .long 806095018 + .long 838801668 + .long 803142319 + .long 835422168 + .long 800157971 + .long 832720627 + .long 797778619 + .long 830562104 + .long 794847327 + .long 827204409 + .long 791826883 + .long 824452495 + .long 789422278 + .long 822256973 + .long 786488613 + .long 818928842 + .long 783445040 + .long 816138023 + .long 781025569 + .long 813914751 + .long 778065779 + .long 810593987 + .long 775012349 + .long 807776239 + .long 772588593 + .long 805534829 + .long 769579266 + .long 802199140 + .long 766529377 + .long 799366789 + .long 764111977 + .long 797117093 + .long 761030340 + .long 793744381 + .long 757997345 + .long 790909950 + .long 755596854 + .long 788661925 + .long 752421064 + .long 785230580 + .long 749418096 + .long 782406614 + .long 747044848 + .long 780170198 + .long 743754259 + .long 776659372 + .long 740794057 + .long 773858279 + .long 738458031 + .long 771534567 + .long 735033440 + .long 768033127 + .long 732128189 + .long 765267009 + .long 729838884 + .long 762802410 + .long 726262742 + .long 759354892 + .long 723423925 + .long 756635394 + .long 720960200 + .long 754007748 + .long 717446837 + .long 750628333 + .long 714685098 + .long 747966491 + .long 711998810 + .long 745155664 + .long 708590838 + .long 741857653 + .long 705915864 + .long 739263766 + .long 702991441 + .long 736251845 + .long 699700193 + .long 733047509 + .long 697120619 + .long 730531015 + .long 693945174 + .long 727302471 + .long 690780589 + .long 724202911 + .long 688303920 + .long 721772295 + .long 684867291 + .long 718314090 + .long 681837836 + .long 715329133 + .long 679463538 + .long 712952001 + .long 675765148 + .long 709293489 + .long 672877770 + .long 706431604 + .long 670160677 + .long 703744899 + .long 666646047 + .long 700247572 + .long 663906148 + .long 697515811 + .long 660842466 + .long 694511704 + .long 657517110 + .long 691183236 + .long 654928558 + .long 688587206 + .long 651517654 + .long 685261013 + .long 648385175 + .long 682107249 + .long 645950332 + .long 679651106 + .long 642194544 + .long 676001174 + .long 639256692 + .long 673026147 + .long 636418741 + .long 670336603 + .long 632880880 + .long 666740155 + .long 630137645 + .long 663946133 + .long 626877591 + .long 660853110 + .long 623583758 + .long 657485432 + .long 621033478 + .long 654872995 + .long 617362739 + .long 651383429 + .long 614309547 + .long 648243897 + .long 611529709 + .long 645701255 + .long 607881564 + .long 641935695 + .long 605063842 + .long 639021783 + .long 601797381 + .long 636001817 + .long 598440439 + .long 632517165 + .long 595851429 + .long 629824603 + .long 592120142 + .long 626344614 + .long 589044704 + .long 623134154 + .long 586149985 + .long 620557241 + .long 582503853 + .long 616736792 + .long 579698665 + .long 613792012 + .long 576269088 + .long 610678235 + .long 572953085 + .long 607184269 + .long 570385896 + .long 604495111 + .long 566473708 + .long 600873017 + .long 563471167 + .long 597691742 + .long 560299043 + .long 594902550 + .long 556767037 + .long 591146496 + .long 554060246 + .long 588262719 + .long 550325635 + .long 584896909 + .long 547150846 + .long 581502132 + .long 544183229 + .long 578899571 + .long 540466792 + .long 574996715 + .long 537625605 + .long 571942009 + .long 534038291 + .long 568781878 + .long 530722101 + .long 565203517 + .long 527898919 + .long 562466950 + .long 524035864 + .long 558713615 + .long 521089791 + .long 555517370 + .long 517594563 + .long 552505129 + .long 514172699 + .long 548779325 + .long 511428731 + .long 545936993 + .long 507461991 + .long 542279893 + .long 504444221 + .long 538976394 + .long 500982554 + .long 536048971 + .long 497494486 + .long 532217021 + .long 494761646 + .long 529300887 + .long 490737855 + .long 525683263 + .long 487684147 + .long 522310603 + .long 484196291 + .long 519401848 + .long 480683876 + .long 515508851 + .long 477893663 + .long 512553530 + .long 473861521 + .long 508917183 + .long 470808936 + .long 505515955 + .long 467236084 + .long 502559033 + .long 463742063 + .long 498652303 + .long 460828043 + .long 495693834 + .long 456836553 + .long 491981246 + .long 453822113 + .long 488593082 + .long 450108504 + .long 485522913 + .long 446674950 + .long 481650263 + .long 443575111 + .long 478724796 + .long 439671802 + .long 474881210 + .long 436731145 + .long 471547261 + .long 432825998 + .long 468302845 + .long 429492800 + .long 464510835 + .long 426151645 + .long 461653312 + .long 422380878 + .long 457628646 + .long 419547002 + .long 454388086 + .long 415406149 + .long 450914591 + .long 412209632 + .long 447246861 + .long 408579892 + .long 444383316 + .long 404981362 + .long 440240255 + .long 401913862 + .long 437128908 + .long 397870664 + .long 433379392 + .long 394842413 + .long 429875162 + .long 390886301 + .long 426675867 + .long 387493804 + .long 422736888 + .long 384037294 + .long 419786058 + .long 380244155 + .long 415722740 + .long 377332879 + .long 412415577 + .long 373100058 + .long 408841626 + .long 369940601 + .long 405142373 + .long 366068197 + .long 402102668 + .long 362552825 + .long 397972961 + .long 359155309 + .long 394889864 + .long 355251560 + .long 390913947 + .long 352344833 + .long 387482219 + .long 348041553 + .long 383971994 + .long 344823134 + .long 380159705 + .long 340927495 + .long 377153763 + .long 337370913 + .long 372927021 + .long 333913970 + .long 369782309 + .long 329991363 + .long 365788807 + .long 327005411 + .long 362312473 + .long 322687551 + .long 358749604 + .long 319486576 + .long 354914217 + .long 315462382 + .long 351813803 + .long 311949175 + .long 347590577 + .long 308318558 + .long 344459261 + .long 304470186 + .long 340344435 + .long 301258539 + .long 336906618 + .long 297051252 + .long 333178469 + .long 293942889 + .long 329411554 + .long 289693797 + .long 326095120 + .long 286305476 + .long 321975699 + .long 282398997 + .long 318931825 + .long 278712711 + .long 314600468 + .long 275167751 + .long 311281538 + .long 271165121 + .long 307287030 + .long 268000643 + .long 303675288 + .long 263663002 + .long 300036281 + .long 260472385 + .long 296113601 + .long 256206401 + .long 292848806 + .long 252758851 + .long 288596776 + .long 248795091 + .long 285468764 + .long 245077185 + .long 281124861 + .long 241428554 + .long 277744189 + .long 237426916 + .long 273697638 + .long 234105964 + .long 270051062 + .long 229807344 + .long 266314599 + .long 226659293 + .long 262388917 + .long 222217536 + .long 258974929 + .long 218845744 + .long 254757068 + .long 214656315 + .long 251667866 + .long 211051926 + .long 247154591 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .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 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .type __svml_serfc_data_internal,@object + .size __svml_serfc_data_internal,6080 + .align 32 + +_vmlsErfcHATab: + .long 0 + .long 3217031168 + .long 2536042781 + .long 1072398983 + .long 1399772821 + .long 1016356498 + .long 2716363190 + .long 3220293167 + .long 2515012741 + .long 3163350672 + .long 2716363190 + .long 1069663791 + .long 2240747611 + .long 1012721291 + .long 3687592758 + .long 1071052114 + .long 803907102 + .long 1011174242 + .long 3448634865 + .long 3216086729 + .long 750050903 + .long 3160740647 + .long 601957364 + .long 3216681894 + .long 1555639211 + .long 3160184931 + .long 1774552010 + .long 1066874090 + .long 3884532135 + .long 1066963544 + .long 3233761315 + .long 3212244609 + .long 1379327181 + .long 3211950387 + .long 242623580 + .long 1062350129 + .long 2275269623 + .long 1061641073 + .long 254615366 + .long 3207068314 + .long 2447494219 + .long 3206114823 + .long 604424981 + .long 1056656877 + .long 50341065 + .long 1055592081 + .long 0 + .long 3218341888 + .long 1599080160 + .long 1071977136 + .long 688395245 + .long 1016124311 + .long 3971924631 + .long 3220201427 + .long 3564228032 + .long 3164632085 + .long 3891163965 + .long 1070888904 + .long 3480798202 + .long 1014571560 + .long 1621928818 + .long 1070698875 + .long 4020082186 + .long 1015153452 + .long 685042962 + .long 3217236647 + .long 3489060295 + .long 3157926645 + .long 2848795668 + .long 3216002128 + .long 3762448119 + .long 3161313806 + .long 1324211555 + .long 1067961974 + .long 1476477459 + .long 1065781932 + .long 2515812913 + .long 3213241000 + .long 3304760842 + .long 3210133507 + .long 716797578 + .long 1063287120 + .long 2283992921 + .long 1058905221 + .long 2268754290 + .long 3207879309 + .long 1012519479 + .long 3199289324 + .long 944669356 + .long 1057318598 + .long 1931303816 + .long 3198859641 + .long 0 + .long 3219390464 + .long 1180573078 + .long 1071127762 + .long 4113175178 + .long 1014965748 + .long 2484292509 + .long 3219680918 + .long 959898156 + .long 3163955503 + .long 957881989 + .long 1071548988 + .long 442195505 + .long 1012747532 + .long 35029730 + .long 1068269829 + .long 976783580 + .long 1012161104 + .long 2319046290 + .long 3217462844 + .long 10747389 + .long 3161497233 + .long 3758081287 + .long 1067192898 + .long 1126055042 + .long 1009745370 + .long 1760060230 + .long 1067789094 + .long 3251266701 + .long 3213655257 + .long 2806967453 + .long 3212534516 + .long 1864685761 + .long 1064158132 + .long 3738348856 + .long 1061687624 + .long 790737257 + .long 3209050005 + .long 1943644508 + .long 3204796481 + .long 2914584687 + .long 1058674792 + .long 2574038108 + .long 3201168805 + .long 1252008665 + .long 3203024355 + .long 0 + .long 3220439040 + .long 866709712 + .long 1068743889 + .long 2877058776 + .long 1013060082 + .long 4210332368 + .long 3217966674 + .long 1459199107 + .long 3162249891 + .long 3688727889 + .long 1070787571 + .long 2792291460 + .long 1012143918 + .long 855534605 + .long 3217387984 + .long 759913640 + .long 3160800900 + .long 2131284961 + .long 1064909442 + .long 2597396527 + .long 1009180630 + .long 989201780 + .long 1067984906 + .long 3318708226 + .long 1008612878 + .long 699280746 + .long 3214266544 + .long 993015799 + .long 3211642955 + .long 1559561232 + .long 1064778208 + .long 680189340 + .long 3209609158 + .long 3200850606 + .long 3209524422 + .long 1492278808 + .long 1059590695 + .long 4108347350 + .long 3205935421 + .long 2186414716 + .long 3206817307 + .long 2803204773 + .long 3204791034 + .long 1021304598 + .long 3200312812 + .long 0 + .long 3220701184 + .long 2395493008 + .long 1067539114 + .long 2347713276 + .long 1010696759 + .long 649597580 + .long 3216929335 + .long 3715599898 + .long 3160841752 + .long 1561014649 + .long 1069995433 + .long 3047088181 + .long 1014230941 + .long 735510274 + .long 3217146528 + .long 1352249772 + .long 3161795800 + .long 1629994682 + .long 1067898281 + .long 867814168 + .long 1012540688 + .long 3242132826 + .long 1066299959 + .long 1473115860 + .long 1010684527 + .long 1350993397 + .long 3214133819 + .long 212467593 + .long 1064529314 + .long 1581296174 + .long 1063476333 + .long 1019617056 + .long 3210475870 + .long 326531339 + .long 1058667915 + .long 2560102974 + .long 1060207995 + .long 1059830545 + .long 3205421344 + .long 73331091 + .long 1053435953 + .long 3519680827 + .long 1056963274 + .long 287235298 + .long 1054771565 + .long 0 + .long 3220701184 + .long 2395492868 + .long 1067539114 + .long 3682704431 + .long 1012674156 + .long 649602216 + .long 3216929335 + .long 3411089016 + .long 3161142609 + .long 1560943486 + .long 1069995433 + .long 373233254 + .long 1014373936 + .long 736848572 + .long 3217146528 + .long 1866442275 + .long 3160326248 + .long 1560943474 + .long 1067898281 + .long 3576330307 + .long 1009307384 + .long 649623715 + .long 1066299959 + .long 725533065 + .long 1006865126 + .long 1925526991 + .long 3214133821 + .long 2782059224 + .long 1064529267 + .long 3902564706 + .long 1063475940 + .long 2706862450 + .long 3210478464 + .long 1817950372 + .long 1058560819 + .long 1279984267 + .long 1060154640 + .long 1456324877 + .long 3205782300 + .long 3219859931 + .long 3203609651 + .long 1354896425 + .long 1055916872 + .long 153053737 + .long 3200605489 + .long 0 + .long 3221487616 + .long 4088869944 + .long 1070267315 + .long 2176293176 + .long 1014815941 + .long 2130816332 + .long 3216181357 + .long 1120272801 + .long 3161227146 + .long 2812844367 + .long 1067026776 + .long 3953643227 + .long 1009444623 + .long 1988706352 + .long 3212862240 + .long 4268394231 + .long 3153580175 + .long 1288160248 + .long 1063531968 + .long 2922427679 + .long 1007764987 + .long 2977979581 + .long 3209169358 + .long 3750808263 + .long 3146919566 + .long 985562119 + .long 1059825827 + .long 2519169024 + .long 3205422455 + .long 68429100 + .long 1055964010 + .long 3577866702 + .long 3201415637 + .long 2564607388 + .long 1051841939 + .long 2939200104 + .long 3197398630 + .long 4218579581 + .long 1046628386 + .long 1377164546 + .long 3194351246 + .long 2324734477 + .long 3191977485 + .long 1839603542 + .long 3190921089 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 2802853043 + .long 1014611496 + .long 1293201774 + .long 3215709870 + .long 754100791 + .long 3160212203 + .long 446218444 + .long 1066419198 + .long 4119686598 + .long 1006799142 + .long 464017249 + .long 3211942150 + .long 960597079 + .long 3156358882 + .long 785622302 + .long 1062472140 + .long 3339954945 + .long 1004756287 + .long 2636124640 + .long 3207937516 + .long 2995891561 + .long 3151978990 + .long 742584182 + .long 1058400057 + .long 2101069570 + .long 3203793489 + .long 2181624698 + .long 1054184935 + .long 880779555 + .long 3199513061 + .long 3229614298 + .long 1049846396 + .long 2776250631 + .long 3195146822 + .long 1726624674 + .long 1045262260 + .long 2932756839 + .long 3191068730 + .long 968482455 + .long 3185858272 + .long 839487434 + .long 3187678475 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 3971839787 + .long 1014611494 + .long 1293201774 + .long 3215709870 + .long 1164040504 + .long 3160193437 + .long 446218443 + .long 1066419198 + .long 752423430 + .long 1011527589 + .long 464016831 + .long 3211942150 + .long 1037460728 + .long 3156747894 + .long 785625671 + .long 1062472140 + .long 2777520670 + .long 1006268542 + .long 2633474472 + .long 3207937516 + .long 224500896 + .long 3152886542 + .long 768707698 + .long 1058400057 + .long 3292721506 + .long 3203793488 + .long 578140564 + .long 1054184941 + .long 2030948072 + .long 3199512840 + .long 703221627 + .long 1049847594 + .long 3302679767 + .long 3195127268 + .long 1902201635 + .long 1045392042 + .long 4048348141 + .long 3190392845 + .long 436255103 + .long 1040232916 + .long 2856127569 + .long 3184071776 + .long 0 + .long 3222536192 + .long 2660514860 + .long 1069307683 + .long 3910050887 + .long 1010798723 + .long 1232972210 + .long 3214268483 + .long 3319476861 + .long 3158923505 + .long 728349866 + .long 1064340728 + .long 2957516014 + .long 1008704767 + .long 2614894425 + .long 3209210817 + .long 3908389506 + .long 3152259798 + .long 2191212410 + .long 1059199474 + .long 2431020086 + .long 1004176268 + .long 3218723210 + .long 3204065928 + .long 3000611168 + .long 3148331645 + .long 3635880648 + .long 1053991881 + .long 536114836 + .long 3198825982 + .long 772319782 + .long 1048710562 + .long 455323837 + .long 3193559883 + .long 2867783196 + .long 1042956501 + .long 2591697711 + .long 3189077475 + .long 3707131585 + .long 3186333629 + .long 1191412344 + .long 3185702904 + .long 26961465 + .long 3183118419 + .long 3399174677 + .long 3180390946 + .long 0 + .long 3222798336 + .long 2223626006 + .long 1069006900 + .long 1459366060 + .long 1012973801 + .long 1839010552 + .long 3213809654 + .long 2068820260 + .long 3157960411 + .long 1249919926 + .long 1063503734 + .long 962503917 + .long 1008341811 + .long 2100991944 + .long 3208188010 + .long 3825857555 + .long 3152436704 + .long 2359368913 + .long 1057973453 + .long 743880428 + .long 1000696453 + .long 1096261871 + .long 3202576593 + .long 3975107283 + .long 3146343950 + .long 3079668469 + .long 1052233933 + .long 1037052812 + .long 3196903291 + .long 3759245614 + .long 1046563275 + .long 3200735738 + .long 3191134566 + .long 4161299971 + .long 1040588242 + .long 2934206128 + .long 3185832303 + .long 3971101203 + .long 3181383944 + .long 353687358 + .long 3181806266 + .long 3047695518 + .long 3179072314 + .long 3851119497 + .long 3176415447 + .long 0 + .long 3222798336 + .long 2223626017 + .long 1069006900 + .long 1388676355 + .long 1012705760 + .long 1839008253 + .long 3213809654 + .long 815236617 + .long 3157985840 + .long 1250030689 + .long 1063503734 + .long 1288166708 + .long 1008687857 + .long 2094505532 + .long 3208188010 + .long 311037013 + .long 3150622756 + .long 2617751546 + .long 1057973453 + .long 2536920761 + .long 1001852867 + .long 1679260317 + .long 3202576592 + .long 3392965897 + .long 3146533070 + .long 1054244789 + .long 1052233952 + .long 3966408696 + .long 3196902988 + .long 1854848819 + .long 1046565172 + .long 3813743082 + .long 3191116219 + .long 395181184 + .long 1040724488 + .long 2456810233 + .long 3185324136 + .long 4089464644 + .long 1034959658 + .long 3698050549 + .long 3179421276 + .long 1112347086 + .long 1028770902 + .long 218099662 + .long 3172341328 + .long 0 + .long 3223584768 + .long 525966855 + .long 1068285571 + .long 2606587153 + .long 1012297682 + .long 2443413391 + .long 3212232028 + .long 691043050 + .long 3155505245 + .long 1829248673 + .long 1061286877 + .long 797308607 + .long 1005505923 + .long 2897861001 + .long 3205246152 + .long 3729653017 + .long 3149452125 + .long 3517114205 + .long 1054211729 + .long 2096268314 + .long 998380425 + .long 733746641 + .long 3198235249 + .long 2776288247 + .long 3140382828 + .long 312049674 + .long 1047087440 + .long 1779010374 + .long 3191506224 + .long 3398525311 + .long 3186731689 + .long 3932053403 + .long 3187022627 + .long 2526572080 + .long 3184920569 + .long 1052531014 + .long 3182813288 + .long 1237705257 + .long 3180144704 + .long 1818683855 + .long 3176978132 + .long 2771211543 + .long 3173092235 + .long 1784201120 + .long 3168173250 + .long 0 + .long 3223846912 + .long 3317774106 + .long 1067973958 + .long 2923167300 + .long 1012645752 + .long 3241173892 + .long 3211773047 + .long 39491139 + .long 3153850211 + .long 285395131 + .long 1060435582 + .long 2541426776 + .long 1004641207 + .long 1226100891 + .long 3204158226 + .long 1495613600 + .long 3148514544 + .long 3870275689 + .long 1052905917 + .long 965710820 + .long 997239553 + .long 3492316846 + .long 3196564768 + .long 2517483548 + .long 3141228873 + .long 1374076994 + .long 1045282573 + .long 372497316 + .long 3189277616 + .long 3813845480 + .long 3182889951 + .long 3900585526 + .long 3184107613 + .long 1960133516 + .long 3181724363 + .long 148017317 + .long 3179453676 + .long 3471465381 + .long 3176493740 + .long 65590178 + .long 3173153987 + .long 3138884841 + .long 3169027321 + .long 2557226666 + .long 3163936824 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 939524096 + .long 1072704666 + .long 2209988083 + .long 1046076929 + .long 3489660928 + .long 1072716208 + .long 2715237930 + .long 1044950059 + .long 402653184 + .long 1072727877 + .long 36755401 + .long 1042114290 + .long 1744830464 + .long 1072739672 + .long 1032479461 + .long 1045685796 + .long 805306368 + .long 1072751596 + .long 269498903 + .long 1044815501 + .long 3489660928 + .long 1072763649 + .long 2766913307 + .long 1039293264 + .long 2818572288 + .long 1072775834 + .long 2127365126 + .long 1046127799 + .long 939524096 + .long 1072788152 + .long 3950214642 + .long 1045558597 + .long 3892314112 + .long 1072800603 + .long 2850403528 + .long 1045134939 + .long 805306368 + .long 1072813191 + .long 2810207104 + .long 1043762074 + .long 2281701376 + .long 1072825915 + .long 2397289153 + .long 1041802037 + .long 1744830464 + .long 1072838778 + .long 3785033707 + .long 1046074760 + .long 1610612736 + .long 1072851781 + .long 1955981725 + .long 1045924339 + .long 4026531840 + .long 1072864925 + .long 2226165573 + .long 1045725051 + .long 2684354560 + .long 1072878213 + .long 754984053 + .long 1046188044 + .long 134217728 + .long 1072891646 + .long 2842642093 + .long 1044483512 + .long 2952790016 + .long 1072905224 + .long 4200916017 + .long 1044586679 + .long 805306368 + .long 1072918951 + .long 714887508 + .long 1046276775 + .long 805306368 + .long 1072932827 + .long 3685248805 + .long 1045665407 + .long 1207959552 + .long 1072946854 + .long 2295779401 + .long 1045448912 + .long 536870912 + .long 1072961034 + .long 2676240988 + .long 1044345570 + .long 1610612736 + .long 1072975368 + .long 1086643152 + .long 1041785419 + .long 2952790016 + .long 1072989858 + .long 1078920847 + .long 1045890291 + .long 3489660928 + .long 1073004506 + .long 2624917087 + .long 1045747880 + .long 1879048192 + .long 1073019314 + .long 2595540835 + .long 1046115506 + .long 1342177280 + .long 1073034283 + .long 125577743 + .long 1046115646 + .long 805306368 + .long 1073049415 + .long 1771811520 + .long 1046140063 + .long 3623878656 + .long 1073064711 + .long 2774738112 + .long 1045766480 + .long 268435456 + .long 1073080175 + .long 565866387 + .long 1045869701 + .long 2952790016 + .long 1073095806 + .long 1492679939 + .long 1041050306 + .long 2147483648 + .long 1073111608 + .long 612974287 + .long 1044556049 + .long 1610612736 + .long 1073127582 + .long 843197631 + .long 1046084847 + .long 939524096 + .long 1073143730 + .long 3150480267 + .long 1045533800 + .long 3892314112 + .long 1073160053 + .long 2074373662 + .long 1043172334 + .long 1342177280 + .long 1073176555 + .long 587053675 + .long 1046022559 + .long 1879048192 + .long 1073193236 + .long 918464641 + .long 1045387276 + .long 805306368 + .long 1073210099 + .long 2285990923 + .long 1046166841 + .long 2550136832 + .long 1073227145 + .long 682424459 + .long 1043647713 + .long 2550136832 + .long 1073244377 + .long 1678188781 + .long 1045046423 + .long 1073741824 + .long 1073261797 + .long 3671932459 + .long 1044468998 + .long 2550136832 + .long 1073279406 + .long 1656324724 + .long 1043421043 + .long 2952790016 + .long 1073297207 + .long 2659845000 + .long 1042921660 + .long 2550136832 + .long 1073315202 + .long 1043233352 + .long 1046444345 + .long 2147483648 + .long 1073333393 + .long 2162418230 + .long 1044717444 + .long 2013265920 + .long 1073351782 + .long 630511316 + .long 1045098283 + .long 2952790016 + .long 1073370371 + .long 3831108133 + .long 1044508970 + .long 1342177280 + .long 1073389163 + .long 4245662865 + .long 1045817334 + .long 2550136832 + .long 1073408159 + .long 3588780877 + .long 1043705146 + .long 3087007744 + .long 1073427362 + .long 3182425146 + .long 1041483134 + .long 4026531840 + .long 1073446774 + .long 928333188 + .long 1044896498 + .long 2415919104 + .long 1073466398 + .long 2300504125 + .long 1041428596 + .long 3623878656 + .long 1073486235 + .long 1887994668 + .long 1045828938 + .long 671088640 + .long 1073506289 + .long 757630176 + .long 1046044485 + .long 3623878656 + .long 1073526560 + .long 2756972335 + .long 1045675585 + .long 1207959552 + .long 1073547053 + .long 3697834264 + .long 1044397131 + .long 3623878656 + .long 1073567768 + .long 479684631 + .long 1045687954 + .long 0 + .long 1073588710 + .long 730095629 + .long 1045354900 + .long 805306368 + .long 1073609879 + .long 4123739734 + .long 1045159130 + .long 3758096384 + .long 1073631278 + .long 3634164812 + .long 1046359295 + .long 2684354560 + .long 1073652911 + .long 3425467293 + .long 1044718726 + .long 3892314112 + .long 1073674779 + .long 2648473416 + .long 1046054248 + .long 1476395008 + .long 1073696886 + .long 54164518 + .long 1045131818 + .long 2147483648 + .long 1073719233 + .long 2196310654 + .long 1043982605 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1697350398 + .long 1079448903 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 0 + .long 0 + .long 1 + .long 1048576 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .long 0 + .long 1073741824 + .long 1879950331 + .long 1076108223 + .long 1524673704 + .long 3222186233 + .type _vmlsErfcHATab,@object + .size _vmlsErfcHATab,3736 + .space 872, 0x00 + .align 16 + +.FLT_166: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_166,@object + .size .FLT_166,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core-sse2.S new file mode 100644 index 0000000000..afbbebdc89 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized erfcf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_erfcf _ZGVbN4v_erfcf_sse2 +#include "../svml_s_erfcf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core.c new file mode 100644 index 0000000000..7077e29d3a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized erfcf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_erfcf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_erfcf, __GI__ZGVbN4v_erfcf, + __redirect__ZGVbN4v_erfcf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core_sse4.S new file mode 100644 index 0000000000..538b9ed442 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core_sse4.S @@ -0,0 +1,3894 @@ +/* Function erfcf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Approximation formula: + * erfc(x) ~ erfc(x0) - 2/sqrt(pi)*exp(-x0^2)*D * [ 1 + (x0*D)*p1(x0*D) + D^2 * p3(x0*D) ] + * D = x - x0 + * erfc(x0) and 2/sqrt(pi)*exp(-x0^2)/(2*x0) are tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_erfcf_sse4) + 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 + +/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea -1073741824+__svml_serfc_data_internal(%rip), %rax + movups 5184+__svml_serfc_data_internal(%rip), %xmm2 + andps %xmm0, %xmm2 + +/* + * erfc(10.125) underflows to 0 + * can compute all results in the main path + */ + minps 5248+__svml_serfc_data_internal(%rip), %xmm2 + movups 5440+__svml_serfc_data_internal(%rip), %xmm7 + movups %xmm14, 144(%rsp) + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + movaps %xmm7, %xmm14 + movups 5312+__svml_serfc_data_internal(%rip), %xmm5 + addps %xmm2, %xmm14 + andps %xmm0, %xmm5 + movaps %xmm14, %xmm3 + movups 6016+__svml_serfc_data_internal(%rip), %xmm4 + movaps %xmm5, %xmm1 + orps %xmm4, %xmm1 + pslld $3, %xmm14 + movups %xmm15, 112(%rsp) + subps %xmm4, %xmm1 + subps %xmm7, %xmm3 + movd %xmm14, %edx + movups 5504+__svml_serfc_data_internal(%rip), %xmm4 + maxps %xmm4, %xmm2 + +/* 2^(-64) with sign of input */ + orps %xmm5, %xmm4 + subps %xmm3, %xmm2 + mulps %xmm2, %xmm3 + +/* Start polynomial evaluation */ + movups 5568+__svml_serfc_data_internal(%rip), %xmm5 + mulps %xmm3, %xmm5 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + pshufd $1, %xmm14, %xmm15 + addps 5632+__svml_serfc_data_internal(%rip), %xmm5 + movd %xmm15, %ecx + movups 5696+__svml_serfc_data_internal(%rip), %xmm6 + mulps %xmm3, %xmm5 + mulps %xmm3, %xmm6 + addps 5824+__svml_serfc_data_internal(%rip), %xmm5 + addps 5760+__svml_serfc_data_internal(%rip), %xmm6 + mulps %xmm3, %xmm5 + movslq %edx, %rdx + addps 5888+__svml_serfc_data_internal(%rip), %xmm5 + movslq %ecx, %rcx + movq (%rax,%rdx), %xmm7 + movups %xmm13, 160(%rsp) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + pshufd $2, %xmm14, %xmm13 + movq (%rax,%rcx), %xmm15 + unpcklps %xmm15, %xmm7 + +/* Diff^2 */ + movaps %xmm2, %xmm15 + mulps %xmm2, %xmm15 + +/* P1 = P1*T + P3*D2 */ + mulps %xmm5, %xmm3 + movd %xmm13, %r8d + +/* P3*D2 */ + mulps %xmm15, %xmm6 + pshufd $3, %xmm14, %xmm14 + addps %xmm3, %xmm6 + movd %xmm14, %r9d + +/* Special arguments (for flags only) */ + movaps %xmm0, %xmm3 + movslq %r8d, %r8 + movslq %r9d, %r9 + cmpltps 5952+__svml_serfc_data_internal(%rip), %xmm3 + movq (%rax,%r8), %xmm13 + movq (%rax,%r9), %xmm14 + unpcklps %xmm14, %xmm13 + movaps %xmm7, %xmm14 + shufps $238, %xmm13, %xmm7 + +/* EXP_X0H * (1+P1) */ + mulps %xmm7, %xmm6 + +/* combine and get argument value range mask */ + movmskps %xmm3, %edx + movlhps %xmm13, %xmm14 + addps %xmm6, %xmm7 + +/* erfc_high(x0) - Diff * (2/sqrt(pi)*exp(-x0^2))*(1+P1) */ + mulps %xmm7, %xmm2 + notl %edx + subps %xmm2, %xmm14 + addps %xmm14, %xmm1 + mulps %xmm1, %xmm4 + andl $15, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 160(%rsp), %xmm13 + cfi_restore(30) + movaps %xmm4, %xmm0 + movups 144(%rsp), %xmm14 + cfi_restore(31) + movups 112(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm0, 128(%rsp) + movups %xmm4, 192(%rsp) + je .LBL_1_2 + xorl %eax, %eax + movups %xmm8, 64(%rsp) + movups %xmm9, 48(%rsp) + movups %xmm10, 32(%rsp) + movups %xmm11, 16(%rsp) + movups %xmm12, (%rsp) + movq %rsi, 88(%rsp) + movq %rdi, 80(%rsp) + movq %r12, 104(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 96(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 64(%rsp), %xmm8 + cfi_restore(25) + movups 48(%rsp), %xmm9 + cfi_restore(26) + movups 32(%rsp), %xmm10 + cfi_restore(27) + movups 16(%rsp), %xmm11 + cfi_restore(28) + movups (%rsp), %xmm12 + cfi_restore(29) + movq 88(%rsp), %rsi + cfi_restore(4) + movq 80(%rsp), %rdi + cfi_restore(5) + movq 104(%rsp), %r12 + cfi_restore(12) + movq 96(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm4 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 128(%rsp,%r12,4), %rdi + lea 192(%rsp,%r12,4), %rsi + call __svml_serfc_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_erfcf_sse4) + + .align 16,0x90 + +__svml_serfc_cout_rare_internal: + + cfi_startproc + + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + movq %rsi, %r8 + movzwl 2(%rdi), %edx + xorl %eax, %eax + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_16 + pxor %xmm1, %xmm1 + cvtss2sd (%rdi), %xmm1 + movsd %xmm1, -8(%rbp) + movzwl -2(%rbp), %edx + andl $32752, %edx + cmpl $15248, %edx + jl .LBL_2_13 + comisd 3728+_vmlsErfcHATab(%rip), %xmm1 + jbe .LBL_2_12 + movsd 3720+_vmlsErfcHATab(%rip), %xmm0 + comisd %xmm1, %xmm0 + jbe .LBL_2_11 + andb $127, -1(%rbp) + lea _vmlsErfcHATab(%rip), %rsi + movsd -8(%rbp), %xmm3 + movsd 3696+_vmlsErfcHATab(%rip), %xmm2 + movaps %xmm3, %xmm4 + movaps %xmm3, %xmm7 + movaps %xmm3, %xmm12 + movsd 3672+_vmlsErfcHATab(%rip), %xmm15 + addsd %xmm2, %xmm4 + mulsd %xmm4, %xmm4 + mulsd %xmm4, %xmm4 + movsd %xmm4, -40(%rbp) + movzwl -34(%rbp), %ecx + andl $32752, %ecx + shrl $4, %ecx + addl $-1023, %ecx + imull $23, %ecx, %edx + movsd (%rsi,%rdx,8), %xmm5 + lea 22(%rdx), %r9d + addsd %xmm3, %xmm5 + movsd %xmm5, -32(%rbp) + lea 21(%rdx), %r10d + movsd -32(%rbp), %xmm6 + lea 20(%rdx), %r11d + subsd %xmm6, %xmm7 + movsd %xmm7, -24(%rbp) + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -16(%rbp) + movsd -24(%rbp), %xmm10 + addsd (%rsi,%rdx,8), %xmm10 + movsd %xmm10, -24(%rbp) + movsd -16(%rbp), %xmm11 + subsd %xmm11, %xmm12 + movsd (%rsi,%r9,8), %xmm11 + movsd %xmm12, -16(%rbp) + lea 19(%rdx), %r9d + movsd -24(%rbp), %xmm14 + movsd -16(%rbp), %xmm13 + movsd 3672+_vmlsErfcHATab(%rip), %xmm12 + addsd %xmm13, %xmm14 + movsd %xmm14, -16(%rbp) + movsd -32(%rbp), %xmm6 + mulsd %xmm6, %xmm11 + mulsd %xmm6, %xmm15 + addsd (%rsi,%r10,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 18(%rdx), %r10d + movsd -16(%rbp), %xmm1 + movsd %xmm15, -32(%rbp) + movsd -32(%rbp), %xmm0 + addsd (%rsi,%r11,8), %xmm11 + subsd %xmm6, %xmm0 + mulsd %xmm6, %xmm11 + movsd %xmm0, -24(%rbp) + lea 16(%rdx), %r11d + movsd -32(%rbp), %xmm4 + movsd -24(%rbp), %xmm15 + addsd (%rsi,%r9,8), %xmm11 + subsd %xmm15, %xmm4 + mulsd %xmm6, %xmm11 + movsd %xmm4, -32(%rbp) + lea 17(%rdx), %r9d + movsd -32(%rbp), %xmm5 + addsd (%rsi,%r10,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 14(%rdx), %r10d + addsd (%rsi,%r9,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 15(%rdx), %r9d + addsd (%rsi,%r11,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 11(%rdx), %r11d + movsd (%rsi,%r11,8), %xmm10 + lea 7(%rdx), %r11d + movaps %xmm10, %xmm8 + addsd (%rsi,%r9,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 13(%rdx), %r9d + addsd (%rsi,%r10,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 9(%rdx), %r10d + addsd (%rsi,%r9,8), %xmm11 + mulsd %xmm6, %xmm11 + subsd %xmm5, %xmm6 + movsd %xmm6, -24(%rbp) + lea 12(%rdx), %r9d + movsd -32(%rbp), %xmm0 + addsd %xmm11, %xmm8 + movsd -24(%rbp), %xmm7 + movsd %xmm8, -32(%rbp) + movaps %xmm0, %xmm8 + movsd -32(%rbp), %xmm9 + addsd %xmm7, %xmm1 + subsd %xmm9, %xmm10 + addsd %xmm10, %xmm11 + movsd %xmm11, -24(%rbp) + movsd -32(%rbp), %xmm4 + mulsd %xmm4, %xmm12 + movsd -24(%rbp), %xmm5 + movsd %xmm12, -32(%rbp) + movsd -32(%rbp), %xmm13 + movsd (%rsi,%r10,8), %xmm11 + lea 5(%rdx), %r10d + subsd %xmm4, %xmm13 + addsd (%rsi,%r9,8), %xmm5 + movsd %xmm13, -24(%rbp) + lea 10(%rdx), %r9d + movsd -32(%rbp), %xmm12 + movsd -24(%rbp), %xmm14 + subsd %xmm14, %xmm12 + movsd %xmm12, -32(%rbp) + movaps %xmm0, %xmm12 + movsd -32(%rbp), %xmm13 + subsd %xmm13, %xmm4 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm7 + movaps %xmm6, %xmm15 + mulsd %xmm1, %xmm6 + addsd %xmm5, %xmm7 + mulsd %xmm0, %xmm15 + mulsd %xmm7, %xmm8 + mulsd %xmm1, %xmm7 + movaps %xmm15, %xmm9 + addsd %xmm6, %xmm7 + addsd %xmm11, %xmm9 + addsd %xmm7, %xmm8 + movsd %xmm8, -32(%rbp) + movsd -32(%rbp), %xmm14 + movsd %xmm9, -32(%rbp) + movsd -32(%rbp), %xmm10 + movsd 3672+_vmlsErfcHATab(%rip), %xmm4 + subsd %xmm10, %xmm11 + addsd %xmm11, %xmm15 + movsd %xmm15, -24(%rbp) + movsd -32(%rbp), %xmm8 + mulsd %xmm8, %xmm4 + movsd -24(%rbp), %xmm9 + movsd %xmm4, -32(%rbp) + movaps %xmm0, %xmm4 + movsd -32(%rbp), %xmm5 + addsd %xmm14, %xmm9 + subsd %xmm8, %xmm5 + addsd (%rsi,%r9,8), %xmm9 + movsd %xmm5, -24(%rbp) + lea 8(%rdx), %r9d + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm14 + subsd %xmm14, %xmm6 + movsd %xmm6, -32(%rbp) + movsd -32(%rbp), %xmm7 + movsd 3672+_vmlsErfcHATab(%rip), %xmm6 + subsd %xmm7, %xmm8 + movsd %xmm8, -24(%rbp) + movsd -32(%rbp), %xmm10 + movsd -24(%rbp), %xmm11 + mulsd %xmm10, %xmm4 + addsd %xmm9, %xmm11 + mulsd %xmm1, %xmm10 + mulsd %xmm11, %xmm12 + mulsd %xmm1, %xmm11 + movaps %xmm4, %xmm13 + addsd %xmm10, %xmm11 + movsd (%rsi,%r11,8), %xmm10 + lea 3(%rdx), %r11d + addsd %xmm11, %xmm12 + addsd %xmm10, %xmm13 + movsd %xmm12, -32(%rbp) + movsd -32(%rbp), %xmm5 + movsd %xmm13, -32(%rbp) + movsd -32(%rbp), %xmm15 + subsd %xmm15, %xmm10 + addsd %xmm10, %xmm4 + movsd 3672+_vmlsErfcHATab(%rip), %xmm10 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm12 + mulsd %xmm12, %xmm6 + movsd -24(%rbp), %xmm14 + movsd %xmm6, -32(%rbp) + movaps %xmm0, %xmm6 + movsd -32(%rbp), %xmm7 + addsd %xmm5, %xmm14 + subsd %xmm12, %xmm7 + addsd (%rsi,%r9,8), %xmm14 + movsd %xmm7, -24(%rbp) + lea 6(%rdx), %r9d + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm8 + subsd %xmm8, %xmm9 + movsd (%rsi,%r10,8), %xmm8 + movsd %xmm9, -32(%rbp) + movaps %xmm0, %xmm9 + movsd -32(%rbp), %xmm11 + lea 1(%rdx), %r10d + subsd %xmm11, %xmm12 + movsd %xmm12, -24(%rbp) + movsd -32(%rbp), %xmm4 + movsd -24(%rbp), %xmm5 + mulsd %xmm4, %xmm9 + addsd %xmm14, %xmm5 + mulsd %xmm1, %xmm4 + mulsd %xmm5, %xmm6 + mulsd %xmm1, %xmm5 + movaps %xmm9, %xmm7 + movaps %xmm0, %xmm14 + addsd %xmm4, %xmm5 + addsd %xmm8, %xmm7 + addsd %xmm5, %xmm6 + movsd %xmm6, -32(%rbp) + movsd -32(%rbp), %xmm15 + movsd %xmm7, -32(%rbp) + movsd -32(%rbp), %xmm13 + subsd %xmm13, %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -24(%rbp) + movaps %xmm0, %xmm9 + movsd -32(%rbp), %xmm5 + mulsd %xmm5, %xmm10 + movsd -24(%rbp), %xmm6 + movsd %xmm10, -32(%rbp) + addsd %xmm15, %xmm6 + movsd -32(%rbp), %xmm11 + subsd %xmm5, %xmm11 + addsd (%rsi,%r9,8), %xmm6 + movsd %xmm11, -24(%rbp) + lea 4(%rdx), %r9d + movsd -32(%rbp), %xmm12 + addl $2, %edx + movsd -24(%rbp), %xmm15 + movsd (%rsi,%r11,8), %xmm11 + subsd %xmm15, %xmm12 + movsd %xmm12, -32(%rbp) + movaps %xmm0, %xmm12 + movsd -32(%rbp), %xmm4 + movsd 3672+_vmlsErfcHATab(%rip), %xmm15 + subsd %xmm4, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm7 + movsd -24(%rbp), %xmm8 + mulsd %xmm7, %xmm14 + addsd %xmm6, %xmm8 + mulsd %xmm1, %xmm7 + mulsd %xmm8, %xmm9 + mulsd %xmm1, %xmm8 + movaps %xmm14, %xmm10 + addsd %xmm7, %xmm8 + addsd %xmm11, %xmm10 + addsd %xmm8, %xmm9 + movsd %xmm9, -32(%rbp) + movsd -32(%rbp), %xmm4 + movsd %xmm10, -32(%rbp) + movsd -32(%rbp), %xmm13 + subsd %xmm13, %xmm11 + addsd %xmm11, %xmm14 + movsd %xmm14, -24(%rbp) + movsd -32(%rbp), %xmm8 + mulsd %xmm8, %xmm15 + movsd -24(%rbp), %xmm9 + movsd %xmm15, -32(%rbp) + addsd %xmm4, %xmm9 + movsd -32(%rbp), %xmm4 + subsd %xmm8, %xmm4 + addsd (%rsi,%r9,8), %xmm9 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -32(%rbp) + movsd -32(%rbp), %xmm7 + subsd %xmm7, %xmm8 + movsd %xmm8, -24(%rbp) + movsd -32(%rbp), %xmm10 + movsd -24(%rbp), %xmm11 + mulsd %xmm10, %xmm12 + addsd %xmm9, %xmm11 + mulsd %xmm11, %xmm0 + mulsd %xmm1, %xmm11 + mulsd %xmm10, %xmm1 + addsd %xmm1, %xmm11 + movaps %xmm12, %xmm1 + addsd %xmm11, %xmm0 + movsd %xmm0, -32(%rbp) + movsd (%rsi,%r10,8), %xmm0 + movsd -32(%rbp), %xmm4 + addsd %xmm0, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm1 + subsd %xmm1, %xmm0 + addsd %xmm0, %xmm12 + movsd %xmm12, -24(%rbp) + movsd -32(%rbp), %xmm1 + movsd -24(%rbp), %xmm6 + movaps %xmm1, %xmm5 + addsd %xmm4, %xmm6 + addsd (%rsi,%rdx,8), %xmm6 + addsd %xmm6, %xmm5 + movsd %xmm5, -32(%rbp) + movsd -32(%rbp), %xmm0 + subsd %xmm0, %xmm1 + addsd %xmm1, %xmm6 + movsd %xmm6, -24(%rbp) + movsd -32(%rbp), %xmm5 + movsd -24(%rbp), %xmm7 + cmpl $6, %ecx + jae .LBL_2_7 + movsd %xmm2, -40(%rbp) + jmp .LBL_2_8 + +.LBL_2_7: + movsd 3672+_vmlsErfcHATab(%rip), %xmm8 + movaps %xmm3, %xmm14 + mulsd %xmm5, %xmm8 + mulsd 3672+_vmlsErfcHATab(%rip), %xmm14 + movsd %xmm8, -32(%rbp) + movsd -32(%rbp), %xmm9 + movsd 3704+_vmlsErfcHATab(%rip), %xmm8 + subsd %xmm5, %xmm9 + movsd %xmm9, -24(%rbp) + movsd -32(%rbp), %xmm11 + movsd -24(%rbp), %xmm10 + movsd 3656+_vmlsErfcHATab(%rip), %xmm9 + subsd %xmm10, %xmm11 + movsd %xmm11, -32(%rbp) + movsd -32(%rbp), %xmm12 + movsd 3640+_vmlsErfcHATab(%rip), %xmm10 + subsd %xmm12, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm13 + movsd %xmm14, -32(%rbp) + addsd %xmm13, %xmm7 + movsd -32(%rbp), %xmm15 + subsd -8(%rbp), %xmm15 + movsd %xmm15, -24(%rbp) + movsd -32(%rbp), %xmm1 + movsd -24(%rbp), %xmm0 + subsd %xmm0, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm2 + subsd %xmm2, %xmm3 + movsd %xmm3, -24(%rbp) + movsd -32(%rbp), %xmm5 + movsd -24(%rbp), %xmm4 + movaps %xmm4, %xmm3 + mulsd %xmm5, %xmm3 + mulsd %xmm5, %xmm5 + mulsd %xmm4, %xmm4 + mulsd %xmm8, %xmm5 + addsd %xmm3, %xmm4 + mulsd %xmm5, %xmm9 + addsd %xmm3, %xmm4 + addsd 3664+_vmlsErfcHATab(%rip), %xmm9 + movsd %xmm4, -32(%rbp) + movsd -32(%rbp), %xmm4 + movsd %xmm9, -48(%rbp) + movsd -48(%rbp), %xmm1 + mulsd %xmm8, %xmm4 + subsd 3664+_vmlsErfcHATab(%rip), %xmm1 + mulsd %xmm1, %xmm10 + xorps .FLT_165(%rip), %xmm1 + subsd %xmm10, %xmm5 + mulsd 3648+_vmlsErfcHATab(%rip), %xmm1 + movaps %xmm5, %xmm11 + movaps %xmm5, %xmm13 + movl -48(%rbp), %edx + movl %edx, %r9d + andl $63, %r9d + addsd %xmm1, %xmm11 + movsd %xmm11, -32(%rbp) + lea 328(%r9,%r9), %r10d + movsd -32(%rbp), %xmm12 + lea 327(%r9,%r9), %ecx + shrl $6, %edx + subsd %xmm12, %xmm13 + movsd %xmm13, -24(%rbp) + addl $1023, %edx + movsd -32(%rbp), %xmm0 + andl $2047, %edx + movsd -24(%rbp), %xmm14 + shll $4, %edx + addsd %xmm14, %xmm0 + movsd %xmm0, -16(%rbp) + movsd -24(%rbp), %xmm15 + addsd %xmm15, %xmm1 + movsd %xmm1, -24(%rbp) + movsd -16(%rbp), %xmm0 + subsd %xmm0, %xmm5 + movsd %xmm5, -16(%rbp) + movsd -24(%rbp), %xmm0 + movsd -16(%rbp), %xmm5 + addsd %xmm5, %xmm0 + movsd %xmm0, -16(%rbp) + movsd -32(%rbp), %xmm11 + movaps %xmm11, %xmm1 + movaps %xmm11, %xmm8 + movsd -16(%rbp), %xmm3 + addsd %xmm4, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm2 + movsd 2608+_vmlsErfcHATab(%rip), %xmm0 + subsd %xmm2, %xmm8 + movsd %xmm8, -24(%rbp) + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm5 + addsd %xmm5, %xmm9 + movsd %xmm9, -16(%rbp) + movsd -24(%rbp), %xmm10 + addsd %xmm10, %xmm4 + movsd %xmm4, -24(%rbp) + movsd -16(%rbp), %xmm4 + subsd %xmm4, %xmm11 + movsd 3672+_vmlsErfcHATab(%rip), %xmm4 + movsd %xmm11, -16(%rbp) + movsd -24(%rbp), %xmm13 + movsd -16(%rbp), %xmm12 + addsd %xmm12, %xmm13 + movsd %xmm13, -16(%rbp) + movsd -32(%rbp), %xmm1 + mulsd %xmm1, %xmm0 + movaps %xmm1, %xmm14 + movsd -16(%rbp), %xmm2 + addsd 2600+_vmlsErfcHATab(%rip), %xmm0 + addsd %xmm2, %xmm3 + mulsd %xmm1, %xmm0 + movsd (%rsi,%rcx,8), %xmm2 + addsd 2592+_vmlsErfcHATab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 2584+_vmlsErfcHATab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 2576+_vmlsErfcHATab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + mulsd %xmm1, %xmm0 + addsd %xmm0, %xmm14 + movsd %xmm14, -24(%rbp) + movsd -24(%rbp), %xmm15 + subsd %xmm15, %xmm0 + movsd 3672+_vmlsErfcHATab(%rip), %xmm15 + addsd %xmm0, %xmm1 + movsd %xmm1, -16(%rbp) + movsd -24(%rbp), %xmm11 + mulsd %xmm11, %xmm4 + movsd -16(%rbp), %xmm1 + movsd %xmm4, -32(%rbp) + movsd -32(%rbp), %xmm5 + subsd %xmm11, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm8 + subsd %xmm8, %xmm9 + movsd %xmm9, -32(%rbp) + movsd -32(%rbp), %xmm10 + subsd %xmm10, %xmm11 + movaps %xmm2, %xmm10 + movsd %xmm11, -24(%rbp) + movsd -32(%rbp), %xmm13 + movsd -24(%rbp), %xmm12 + mulsd %xmm13, %xmm10 + addsd %xmm3, %xmm12 + movsd (%rsi,%r10,8), %xmm3 + movaps %xmm10, %xmm4 + movaps %xmm3, %xmm0 + addsd %xmm12, %xmm1 + mulsd %xmm3, %xmm13 + mulsd %xmm1, %xmm0 + mulsd %xmm2, %xmm1 + addsd %xmm10, %xmm2 + addsd %xmm1, %xmm0 + addsd %xmm13, %xmm0 + movsd %xmm0, -32(%rbp) + movsd -32(%rbp), %xmm0 + movsd %xmm2, -32(%rbp) + movsd -32(%rbp), %xmm1 + subsd %xmm1, %xmm4 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm5 + movsd -24(%rbp), %xmm3 + addsd %xmm3, %xmm5 + movsd %xmm5, -16(%rbp) + movsd -24(%rbp), %xmm8 + addsd (%rsi,%rcx,8), %xmm8 + movsd %xmm8, -24(%rbp) + movsd -16(%rbp), %xmm9 + subsd %xmm9, %xmm10 + movsd %xmm10, -16(%rbp) + movsd -24(%rbp), %xmm12 + movsd -16(%rbp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -16(%rbp) + movsd -32(%rbp), %xmm3 + movsd -16(%rbp), %xmm14 + mulsd %xmm3, %xmm15 + addsd (%rsi,%r10,8), %xmm14 + movsd %xmm15, -32(%rbp) + addsd %xmm14, %xmm0 + movsd -32(%rbp), %xmm14 + movq 3680+_vmlsErfcHATab(%rip), %rsi + subsd %xmm3, %xmm14 + movsd %xmm14, -24(%rbp) + movsd -32(%rbp), %xmm1 + movsd -24(%rbp), %xmm15 + movq %rsi, -40(%rbp) + subsd %xmm15, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm2 + shrq $48, %rsi + subsd %xmm2, %xmm3 + movsd %xmm3, -24(%rbp) + andl $-32753, %esi + movsd -32(%rbp), %xmm5 + orl %edx, %esi + movsd -24(%rbp), %xmm4 + movw %si, -34(%rbp) + addsd %xmm0, %xmm4 + movaps %xmm5, %xmm0 + mulsd %xmm7, %xmm0 + mulsd %xmm4, %xmm7 + mulsd %xmm6, %xmm4 + mulsd %xmm6, %xmm5 + addsd %xmm4, %xmm7 + movsd -40(%rbp), %xmm2 + addsd %xmm7, %xmm0 + movsd %xmm0, -32(%rbp) + movsd -32(%rbp), %xmm7 + +.LBL_2_8: + movb 3(%rdi), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_15 + addsd %xmm5, %xmm7 + mulsd %xmm2, %xmm7 + +.LBL_2_10: + cvtsd2ss %xmm7, %xmm7 + movss %xmm7, (%r8) + jmp .LBL_2_14 + +.LBL_2_11: + movsd 3688+_vmlsErfcHATab(%rip), %xmm0 + movl $4, %eax + movaps %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + cvtsd2ss %xmm1, %xmm1 + movss %xmm1, (%r8) + jmp .LBL_2_14 + +.LBL_2_12: + movsd 3688+_vmlsErfcHATab(%rip), %xmm0 + movsd 3712+_vmlsErfcHATab(%rip), %xmm1 + subsd %xmm0, %xmm1 + cvtsd2ss %xmm1, %xmm1 + movss %xmm1, (%r8) + jmp .LBL_2_14 + +.LBL_2_13: + movsd 3696+_vmlsErfcHATab(%rip), %xmm0 + addsd %xmm1, %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + +.LBL_2_14: + movq %rbp, %rsp + popq %rbp + cfi_restore(6) + ret + cfi_offset(6, -16) + +.LBL_2_15: + mulsd %xmm2, %xmm5 + mulsd %xmm2, %xmm7 + movsd 3712+_vmlsErfcHATab(%rip), %xmm2 + xorps .FLT_165(%rip), %xmm5 + movaps %xmm2, %xmm0 + xorps .FLT_165(%rip), %xmm7 + addsd %xmm5, %xmm0 + movsd %xmm0, -32(%rbp) + movsd -32(%rbp), %xmm1 + subsd %xmm1, %xmm2 + addsd %xmm2, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm10 + movaps %xmm10, %xmm3 + movaps %xmm10, %xmm5 + movsd -24(%rbp), %xmm13 + addsd %xmm7, %xmm3 + movsd %xmm3, -32(%rbp) + movsd -32(%rbp), %xmm4 + subsd %xmm4, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm8 + movsd -24(%rbp), %xmm6 + addsd %xmm6, %xmm8 + movsd %xmm8, -16(%rbp) + movsd -24(%rbp), %xmm9 + addsd %xmm9, %xmm7 + movsd %xmm7, -24(%rbp) + movsd -16(%rbp), %xmm7 + subsd %xmm7, %xmm10 + movsd %xmm10, -16(%rbp) + movsd -24(%rbp), %xmm12 + movsd -16(%rbp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -16(%rbp) + movsd -32(%rbp), %xmm7 + movsd -16(%rbp), %xmm14 + addsd %xmm13, %xmm14 + addsd %xmm14, %xmm7 + jmp .LBL_2_10 + +.LBL_2_16: + testl $8388607, (%rdi) + je .LBL_2_18 + movss (%rdi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_14 + +.LBL_2_18: + movb 3(%rdi), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_20 + movsd 3680+_vmlsErfcHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_14 + +.LBL_2_20: + movsd 3712+_vmlsErfcHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_14 + + cfi_endproc + + .type __svml_serfc_cout_rare_internal,@function + .size __svml_serfc_cout_rare_internal,.-__svml_serfc_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_serfc_data_internal: + .long 1468006400 + .long 1469083323 + .long 1467710626 + .long 1469081012 + .long 1467414997 + .long 1469074083 + .long 1467119656 + .long 1469062547 + .long 1466824747 + .long 1469046420 + .long 1466530414 + .long 1469025725 + .long 1466236799 + .long 1469000494 + .long 1465944042 + .long 1468970762 + .long 1465652285 + .long 1468936573 + .long 1465361664 + .long 1468897977 + .long 1465072319 + .long 1468855029 + .long 1464784382 + .long 1468807791 + .long 1464497988 + .long 1468756332 + .long 1464213266 + .long 1468700724 + .long 1463930347 + .long 1468641048 + .long 1463649354 + .long 1468577388 + .long 1463370412 + .long 1468509835 + .long 1463093641 + .long 1468438483 + .long 1462819158 + .long 1468363432 + .long 1462547076 + .long 1468284786 + .long 1462277507 + .long 1468202655 + .long 1462010557 + .long 1468117152 + .long 1461746331 + .long 1468028392 + .long 1461484928 + .long 1467866591 + .long 1461226443 + .long 1467676775 + .long 1460970970 + .long 1467481186 + .long 1460718597 + .long 1467280084 + .long 1460469407 + .long 1467073732 + .long 1460223481 + .long 1466862398 + .long 1459980894 + .long 1466646353 + .long 1459741717 + .long 1466425871 + .long 1459394246 + .long 1466201230 + .long 1458929930 + .long 1465972709 + .long 1458472813 + .long 1465740589 + .long 1458023002 + .long 1465505150 + .long 1457580597 + .long 1465266676 + .long 1457145687 + .long 1465025447 + .long 1456718356 + .long 1464781745 + .long 1456298675 + .long 1464535848 + .long 1455886709 + .long 1464288035 + .long 1455482514 + .long 1464038581 + .long 1455086136 + .long 1463787758 + .long 1454697615 + .long 1463535836 + .long 1454316979 + .long 1463283081 + .long 1453944252 + .long 1463029753 + .long 1453579447 + .long 1462776110 + .long 1453222570 + .long 1462522403 + .long 1452873619 + .long 1462268879 + .long 1452532585 + .long 1462015777 + .long 1452199450 + .long 1461763334 + .long 1451874191 + .long 1461511777 + .long 1451556776 + .long 1461261327 + .long 1451247168 + .long 1461012199 + .long 1450661460 + .long 1460764601 + .long 1450073189 + .long 1460518732 + .long 1449500227 + .long 1460274786 + .long 1448942445 + .long 1460032945 + .long 1448399709 + .long 1459793387 + .long 1447871869 + .long 1459494771 + .long 1447358767 + .long 1459025783 + .long 1446860236 + .long 1458562323 + .long 1446376097 + .long 1458104680 + .long 1445906166 + .long 1457653124 + .long 1445450247 + .long 1457207908 + .long 1445008139 + .long 1456769272 + .long 1444579633 + .long 1456337436 + .long 1444164512 + .long 1455912603 + .long 1443762556 + .long 1455494963 + .long 1443373537 + .long 1455084685 + .long 1442997221 + .long 1454681926 + .long 1442426169 + .long 1454286826 + .long 1441722923 + .long 1453899507 + .long 1441043638 + .long 1453520078 + .long 1440387819 + .long 1453148633 + .long 1439754963 + .long 1452785250 + .long 1439144565 + .long 1452429994 + .long 1438556115 + .long 1452082915 + .long 1437989102 + .long 1451744049 + .long 1437443010 + .long 1451413421 + .long 1436917324 + .long 1450952898 + .long 1436411530 + .long 1450324632 + .long 1435925111 + .long 1449712833 + .long 1435457554 + .long 1449117454 + .long 1435008348 + .long 1448538422 + .long 1434576982 + .long 1447975647 + .long 1433873932 + .long 1447429017 + .long 1433079531 + .long 1446898404 + .long 1432317796 + .long 1446383659 + .long 1431587742 + .long 1445884619 + .long 1430888392 + .long 1445401103 + .long 1430218781 + .long 1444932918 + .long 1429577958 + .long 1444479854 + .long 1428964985 + .long 1444041692 + .long 1428378937 + .long 1443618198 + .long 1427818905 + .long 1443209129 + .long 1427283996 + .long 1442787888 + .long 1426773332 + .long 1442025913 + .long 1426286053 + .long 1441291216 + .long 1425579266 + .long 1440583244 + .long 1424693215 + .long 1439901427 + .long 1423848975 + .long 1439245189 + .long 1423044966 + .long 1438613942 + .long 1422279644 + .long 1438007090 + .long 1421551504 + .long 1437424033 + .long 1420859077 + .long 1436864164 + .long 1420200933 + .long 1436326873 + .long 1419575680 + .long 1435811549 + .long 1418981964 + .long 1435317579 + .long 1418418470 + .long 1434844351 + .long 1417883921 + .long 1434330543 + .long 1417079401 + .long 1433463400 + .long 1416118721 + .long 1432634096 + .long 1415208720 + .long 1431841432 + .long 1414347147 + .long 1431084221 + .long 1413531822 + .long 1430361287 + .long 1412760640 + .long 1429671468 + .long 1412031567 + .long 1429013620 + .long 1411342639 + .long 1428386614 + .long 1410691965 + .long 1427789339 + .long 1410077719 + .long 1427220705 + .long 1409498146 + .long 1426679642 + .long 1408616967 + .long 1426165099 + .long 1407586499 + .long 1425288738 + .long 1406615622 + .long 1424359616 + .long 1405701336 + .long 1423477509 + .long 1404840762 + .long 1422640500 + .long 1404031141 + .long 1421846724 + .long 1403269827 + .long 1421094363 + .long 1402554287 + .long 1420381647 + .long 1401882099 + .long 1419706860 + .long 1401250942 + .long 1419068334 + .long 1400419671 + .long 1418464450 + .long 1399308394 + .long 1417893642 + .long 1398266481 + .long 1417034033 + .long 1397290079 + .long 1416015717 + .long 1396375514 + .long 1415054748 + .long 1395519289 + .long 1414148391 + .long 1394718074 + .long 1413294005 + .long 1393968701 + .long 1412489047 + .long 1393268157 + .long 1411731067 + .long 1392613580 + .long 1411017710 + .long 1391495577 + .long 1410346710 + .long 1390354264 + .long 1409715893 + .long 1389289401 + .long 1408960197 + .long 1388296352 + .long 1407846941 + .long 1387370725 + .long 1406802038 + .long 1386508366 + .long 1405821818 + .long 1385705340 + .long 1404902767 + .long 1384957931 + .long 1404041531 + .long 1384262627 + .long 1403234902 + .long 1383111902 + .long 1402479822 + .long 1381910185 + .long 1401773372 + .long 1380793880 + .long 1401112774 + .long 1379757423 + .long 1400093220 + .long 1378795573 + .long 1398939798 + .long 1377903393 + .long 1397862954 + .long 1377076243 + .long 1396858136 + .long 1376309756 + .long 1395921024 + .long 1375467948 + .long 1395047518 + .long 1374153513 + .long 1394233731 + .long 1372937261 + .long 1393475980 + .long 1371812408 + .long 1392770778 + .long 1370772594 + .long 1391720729 + .long 1369811859 + .long 1390501096 + .long 1368924622 + .long 1389367835 + .long 1368105660 + .long 1388315384 + .long 1367350089 + .long 1387338494 + .long 1365963580 + .long 1386432215 + .long 1364679201 + .long 1385591884 + .long 1363495972 + .long 1384813111 + .long 1362406459 + .long 1384063207 + .long 1361403729 + .long 1382727593 + .long 1360481319 + .long 1381491759 + .long 1359633211 + .long 1380348847 + .long 1358753104 + .long 1379292423 + .long 1357321245 + .long 1378316449 + .long 1356006652 + .long 1377415270 + .long 1354800309 + .long 1376583587 + .long 1353693842 + .long 1375816440 + .long 1352679479 + .long 1374486664 + .long 1351750007 + .long 1373183277 + .long 1350898736 + .long 1371982901 + .long 1349673048 + .long 1370877969 + .long 1348247034 + .long 1369861418 + .long 1346942910 + .long 1368926664 + .long 1345750840 + .long 1368067570 + .long 1344661728 + .long 1367213739 + .long 1343667167 + .long 1365764691 + .long 1342759391 + .long 1364434996 + .long 1341685187 + .long 1363215454 + .long 1340174879 + .long 1362097517 + .long 1338798378 + .long 1361073249 + .long 1337544443 + .long 1360135285 + .long 1336402718 + .long 1359276796 + .long 1335363669 + .long 1358028410 + .long 1334418524 + .long 1356592291 + .long 1333329760 + .long 1355279886 + .long 1331767989 + .long 1354081153 + .long 1330349443 + .long 1352986812 + .long 1329061615 + .long 1351988283 + .long 1327893031 + .long 1351077646 + .long 1326833167 + .long 1349929293 + .long 1325872377 + .long 1348416862 + .long 1324603588 + .long 1347039679 + .long 1323026782 + .long 1345786292 + .long 1321599465 + .long 1344646158 + .long 1320308097 + .long 1343609574 + .long 1319140298 + .long 1342667618 + .long 1318084760 + .long 1341446900 + .long 1317131157 + .long 1339893634 + .long 1315528675 + .long 1338484326 + .long 1313974324 + .long 1337206289 + .long 1312572135 + .long 1336047887 + .long 1311307829 + .long 1334998457 + .long 1310168405 + .long 1334048233 + .long 1309142027 + .long 1332587880 + .long 1307813016 + .long 1331032143 + .long 1306149818 + .long 1329625629 + .long 1304653827 + .long 1328354672 + .long 1303308888 + .long 1327206792 + .long 1302100340 + .long 1326170599 + .long 1301014883 + .long 1325071340 + .long 1299846668 + .long 1323385191 + .long 1298098009 + .long 1321865422 + .long 1296529749 + .long 1320496313 + .long 1295123963 + .long 1319263555 + .long 1293864435 + .long 1318154133 + .long 1292736498 + .long 1317156213 + .long 1291608161 + .long 1315506636 + .long 1289801684 + .long 1313894280 + .long 1288186310 + .long 1312446180 + .long 1286742527 + .long 1311146265 + .long 1285452738 + .long 1309979960 + .long 1284301081 + .long 1308934065 + .long 1283089506 + .long 1307370395 + .long 1281255815 + .long 1305690774 + .long 1279620902 + .long 1304186844 + .long 1278163931 + .long 1302840907 + .long 1276866169 + .long 1301636977 + .long 1275710782 + .long 1300560616 + .long 1274296888 + .long 1298963343 + .long 1272468005 + .long 1297245263 + .long 1270842149 + .long 1295711559 + .long 1269397488 + .long 1294343136 + .long 1268114453 + .long 1293122800 + .long 1266975520 + .long 1292035074 + .long 1265250187 + .long 1290286443 + .long 1263457881 + .long 1288560720 + .long 1261869203 + .long 1287024853 + .long 1260461706 + .long 1285658646 + .long 1259215335 + .long 1284443971 + .long 1257933167 + .long 1283272104 + .long 1255981342 + .long 1281354667 + .long 1254255487 + .long 1279652476 + .long 1252730185 + .long 1278142131 + .long 1251382789 + .long 1276802684 + .long 1250193129 + .long 1275615396 + .long 1248383912 + .long 1274058608 + .long 1246531782 + .long 1272195701 + .long 1244898869 + .long 1270546909 + .long 1243459931 + .long 1269088358 + .long 1242192544 + .long 1267798745 + .long 1240639617 + .long 1266638344 + .long 1238676087 + .long 1264625041 + .long 1236949181 + .long 1262847614 + .long 1235431125 + .long 1261279219 + .long 1234097314 + .long 1259895966 + .long 1232726536 + .long 1258676614 + .long 1230670161 + .long 1256913364 + .long 1228866009 + .long 1255021196 + .long 1227283916 + .long 1253355740 + .long 1225897229 + .long 1251890570 + .long 1224628042 + .long 1250602245 + .long 1222500560 + .long 1249037384 + .long 1220638574 + .long 1247048195 + .long 1219009747 + .long 1245301731 + .long 1217585578 + .long 1243769143 + .long 1216333762 + .long 1242424914 + .long 1214159418 + .long 1240978985 + .long 1212261059 + .long 1238913861 + .long 1210604462 + .long 1237105268 + .long 1209159545 + .long 1235522132 + .long 1207840196 + .long 1234137042 + .long 1205644919 + .long 1232726284 + .long 1203732957 + .long 1230609021 + .long 1202068558 + .long 1228759404 + .long 1200620375 + .long 1227144406 + .long 1199150928 + .long 1225734974 + .long 1196961407 + .long 1224274345 + .long 1195059107 + .long 1222130630 + .long 1193407158 + .long 1220262583 + .long 1191973312 + .long 1218635571 + .long 1190276428 + .long 1217219200 + .long 1188119142 + .long 1215625472 + .long 1186249419 + .long 1213481951 + .long 1184629718 + .long 1211618738 + .long 1183227291 + .long 1209999986 + .long 1181233440 + .long 1208594324 + .long 1179133702 + .long 1206789071 + .long 1177318293 + .long 1204672362 + .long 1175749478 + .long 1202837046 + .long 1174383725 + .long 1201246509 + .long 1172044026 + .long 1199868792 + .long 1170025096 + .long 1197781088 + .long 1168283809 + .long 1195716794 + .long 1166782716 + .long 1193931388 + .long 1164962123 + .long 1192387961 + .long 1162734328 + .long 1190926432 + .long 1160816648 + .long 1188623062 + .long 1159166720 + .long 1186634851 + .long 1157747852 + .long 1184919532 + .long 1155428661 + .long 1183440388 + .long 1153333153 + .long 1181537344 + .long 1151533744 + .long 1179340890 + .long 1149989349 + .long 1177449686 + .long 1148089652 + .long 1175822122 + .long 1145817645 + .long 1174422144 + .long 1143870484 + .long 1172031935 + .long 1142202536 + .long 1169963373 + .long 1140698237 + .long 1168186720 + .long 1138254036 + .long 1166661544 + .long 1136163386 + .long 1164689286 + .long 1134376020 + .long 1162444698 + .long 1132848688 + .long 1160520695 + .long 1130626310 + .long 1158872311 + .long 1128399067 + .long 1157293628 + .long 1126498637 + .long 1154877360 + .long 1124877859 + .long 1152810318 + .long 1122919037 + .long 1151042908 + .long 1120564739 + .long 1149532448 + .long 1118559819 + .long 1147245153 + .long 1116853261 + .long 1145042050 + .long 1115117884 + .long 1143162047 + .long 1112648650 + .long 1141558556 + .long 1110549952 + .long 1139532490 + .long 1108767058 + .long 1137202983 + .long 1107210116 + .long 1135219064 + .long 1104640487 + .long 1133530304 + .long 1102460721 + .long 1131724929 + .long 1100612571 + .long 1129281283 + .long 1099046352 + .long 1127204292 + .long 1096531758 + .long 1125439818 + .long 1094285410 + .long 1123809692 + .long 1092384524 + .long 1121266617 + .long 1090776756 + .long 1119109407 + .long 1088316103 + .long 1117280423 + .long 1086019154 + .long 1115730494 + .long 1084079241 + .long 1113150527 + .long 1082441665 + .long 1110927737 + .long 1079989535 + .long 1109046891 + .long 1077659121 + .long 1107456175 + .long 1075694786 + .long 1104926752 + .long 1074039830 + .long 1102654513 + .long 1071550590 + .long 1100735638 + .long 1069204624 + .long 1099115979 + .long 1067231037 + .long 1096591466 + .long 1065571531 + .long 1094287050 + .long 1063000391 + .long 1092344862 + .long 1060657146 + .long 1090708776 + .long 1058689694 + .long 1088143423 + .long 1057038575 + .long 1085824856 + .long 1054342600 + .long 1083874614 + .long 1052020286 + .long 1082235000 + .long 1050074213 + .long 1079584011 + .long 1048312444 + .long 1077269645 + .long 1045583282 + .long 1075326796 + .long 1043299623 + .long 1073651441 + .long 1041389676 + .long 1070917194 + .long 1039398736 + .long 1068625276 + .long 1036730679 + .long 1066705083 + .long 1034502505 + .long 1064841025 + .long 1032642600 + .long 1062149358 + .long 1030382926 + .long 1059897600 + .long 1027794902 + .long 1058014789 + .long 1025637785 + .long 1055917897 + .long 1023840705 + .long 1053289072 + .long 1021278425 + .long 1051094240 + .long 1018787570 + .long 1049262661 + .long 1016715493 + .long 1046893941 + .long 1014963688 + .long 1044346762 + .long 1012100073 + .long 1042224306 + .long 1009721393 + .long 1040456628 + .long 1007746493 + .long 1037782920 + .long 1005582303 + .long 1035334330 + .long 1002863627 + .long 1033298061 + .long 1000609748 + .long 1031412254 + .long 998742114 + .long 1028599975 + .long 996146231 + .long 1026264730 + .long 993585243 + .long 1024326561 + .long 991466235 + .long 1022027318 + .long 989571829 + .long 1019361103 + .long 986674645 + .long 1017151524 + .long 984280972 + .long 1015321280 + .long 982304268 + .long 1012590427 + .long 979878256 + .long 1010082624 + .long 977186171 + .long 1008008436 + .long 974966292 + .long 1005954511 + .long 973136685 + .long 1003120879 + .long 970180417 + .long 1000780675 + .long 967698377 + .long 998848931 + .long 965655694 + .long 996265936 + .long 963260910 + .long 993637326 + .long 960497918 + .long 991470731 + .long 958227342 + .long 989515917 + .long 956362337 + .long 986576468 + .long 953361102 + .long 984157261 + .long 950848277 + .long 982167204 + .long 948787314 + .long 979594821 + .long 946282863 + .long 976905540 + .long 943514136 + .long 974696597 + .long 941246612 + .long 972687661 + .long 939256839 + .long 969711425 + .long 936219526 + .long 967270403 + .long 933735677 + .long 965269336 + .long 931705430 + .long 962569561 + .long 928958027 + .long 959884047 + .long 926249145 + .long 957685815 + .long 924038202 + .long 955473363 + .long 921722217 + .long 952531978 + .long 918780868 + .long 950127868 + .long 916383703 + .long 948163864 + .long 914430996 + .long 945207681 + .long 911323959 + .long 942590074 + .long 908736284 + .long 940454823 + .long 906631474 + .long 937903712 + .long 903870859 + .long 935066289 + .long 901089782 + .long 932755156 + .long 898830970 + .long 930611760 + .long 896413426 + .long 927549701 + .long 893437597 + .long 925059289 + .long 891024144 + .long 923034805 + .long 888943039 + .long 920032901 + .long 885772782 + .long 917361201 + .long 883205408 + .long 915192560 + .long 881127282 + .long 912507977 + .long 878088144 + .long 909654498 + .long 875369007 + .long 907341732 + .long 873171260 + .long 904966623 + .long 870376358 + .long 901932504 + .long 867509114 + .long 899476967 + .long 865195052 + .long 897400265 + .long 862630091 + .long 894188368 + .long 859619931 + .long 891592798 + .long 857194082 + .long 889496324 + .long 854842134 + .long 886415174 + .long 851695791 + .long 883683743 + .long 849163904 + .long 881480795 + .long 847005533 + .long 878606067 + .long 843731265 + .long 875744396 + .long 841100293 + .long 873439820 + .long 838987260 + .long 870754371 + .long 835721267 + .long 867769530 + .long 832999319 + .long 865369317 + .long 830816421 + .long 862853723 + .long 827661157 + .long 859754200 + .long 824857435 + .long 857265451 + .long 822612249 + .long 854898195 + .long 819546831 + .long 851693836 + .long 816671542 + .long 849124713 + .long 814372415 + .long 846882413 + .long 811374812 + .long 843584340 + .long 808439058 + .long 840943989 + .long 806095018 + .long 838801668 + .long 803142319 + .long 835422168 + .long 800157971 + .long 832720627 + .long 797778619 + .long 830562104 + .long 794847327 + .long 827204409 + .long 791826883 + .long 824452495 + .long 789422278 + .long 822256973 + .long 786488613 + .long 818928842 + .long 783445040 + .long 816138023 + .long 781025569 + .long 813914751 + .long 778065779 + .long 810593987 + .long 775012349 + .long 807776239 + .long 772588593 + .long 805534829 + .long 769579266 + .long 802199140 + .long 766529377 + .long 799366789 + .long 764111977 + .long 797117093 + .long 761030340 + .long 793744381 + .long 757997345 + .long 790909950 + .long 755596854 + .long 788661925 + .long 752421064 + .long 785230580 + .long 749418096 + .long 782406614 + .long 747044848 + .long 780170198 + .long 743754259 + .long 776659372 + .long 740794057 + .long 773858279 + .long 738458031 + .long 771534567 + .long 735033440 + .long 768033127 + .long 732128189 + .long 765267009 + .long 729838884 + .long 762802410 + .long 726262742 + .long 759354892 + .long 723423925 + .long 756635394 + .long 720960200 + .long 754007748 + .long 717446837 + .long 750628333 + .long 714685098 + .long 747966491 + .long 711998810 + .long 745155664 + .long 708590838 + .long 741857653 + .long 705915864 + .long 739263766 + .long 702991441 + .long 736251845 + .long 699700193 + .long 733047509 + .long 697120619 + .long 730531015 + .long 693945174 + .long 727302471 + .long 690780589 + .long 724202911 + .long 688303920 + .long 721772295 + .long 684867291 + .long 718314090 + .long 681837836 + .long 715329133 + .long 679463538 + .long 712952001 + .long 675765148 + .long 709293489 + .long 672877770 + .long 706431604 + .long 670160677 + .long 703744899 + .long 666646047 + .long 700247572 + .long 663906148 + .long 697515811 + .long 660842466 + .long 694511704 + .long 657517110 + .long 691183236 + .long 654928558 + .long 688587206 + .long 651517654 + .long 685261013 + .long 648385175 + .long 682107249 + .long 645950332 + .long 679651106 + .long 642194544 + .long 676001174 + .long 639256692 + .long 673026147 + .long 636418741 + .long 670336603 + .long 632880880 + .long 666740155 + .long 630137645 + .long 663946133 + .long 626877591 + .long 660853110 + .long 623583758 + .long 657485432 + .long 621033478 + .long 654872995 + .long 617362739 + .long 651383429 + .long 614309547 + .long 648243897 + .long 611529709 + .long 645701255 + .long 607881564 + .long 641935695 + .long 605063842 + .long 639021783 + .long 601797381 + .long 636001817 + .long 598440439 + .long 632517165 + .long 595851429 + .long 629824603 + .long 592120142 + .long 626344614 + .long 589044704 + .long 623134154 + .long 586149985 + .long 620557241 + .long 582503853 + .long 616736792 + .long 579698665 + .long 613792012 + .long 576269088 + .long 610678235 + .long 572953085 + .long 607184269 + .long 570385896 + .long 604495111 + .long 566473708 + .long 600873017 + .long 563471167 + .long 597691742 + .long 560299043 + .long 594902550 + .long 556767037 + .long 591146496 + .long 554060246 + .long 588262719 + .long 550325635 + .long 584896909 + .long 547150846 + .long 581502132 + .long 544183229 + .long 578899571 + .long 540466792 + .long 574996715 + .long 537625605 + .long 571942009 + .long 534038291 + .long 568781878 + .long 530722101 + .long 565203517 + .long 527898919 + .long 562466950 + .long 524035864 + .long 558713615 + .long 521089791 + .long 555517370 + .long 517594563 + .long 552505129 + .long 514172699 + .long 548779325 + .long 511428731 + .long 545936993 + .long 507461991 + .long 542279893 + .long 504444221 + .long 538976394 + .long 500982554 + .long 536048971 + .long 497494486 + .long 532217021 + .long 494761646 + .long 529300887 + .long 490737855 + .long 525683263 + .long 487684147 + .long 522310603 + .long 484196291 + .long 519401848 + .long 480683876 + .long 515508851 + .long 477893663 + .long 512553530 + .long 473861521 + .long 508917183 + .long 470808936 + .long 505515955 + .long 467236084 + .long 502559033 + .long 463742063 + .long 498652303 + .long 460828043 + .long 495693834 + .long 456836553 + .long 491981246 + .long 453822113 + .long 488593082 + .long 450108504 + .long 485522913 + .long 446674950 + .long 481650263 + .long 443575111 + .long 478724796 + .long 439671802 + .long 474881210 + .long 436731145 + .long 471547261 + .long 432825998 + .long 468302845 + .long 429492800 + .long 464510835 + .long 426151645 + .long 461653312 + .long 422380878 + .long 457628646 + .long 419547002 + .long 454388086 + .long 415406149 + .long 450914591 + .long 412209632 + .long 447246861 + .long 408579892 + .long 444383316 + .long 404981362 + .long 440240255 + .long 401913862 + .long 437128908 + .long 397870664 + .long 433379392 + .long 394842413 + .long 429875162 + .long 390886301 + .long 426675867 + .long 387493804 + .long 422736888 + .long 384037294 + .long 419786058 + .long 380244155 + .long 415722740 + .long 377332879 + .long 412415577 + .long 373100058 + .long 408841626 + .long 369940601 + .long 405142373 + .long 366068197 + .long 402102668 + .long 362552825 + .long 397972961 + .long 359155309 + .long 394889864 + .long 355251560 + .long 390913947 + .long 352344833 + .long 387482219 + .long 348041553 + .long 383971994 + .long 344823134 + .long 380159705 + .long 340927495 + .long 377153763 + .long 337370913 + .long 372927021 + .long 333913970 + .long 369782309 + .long 329991363 + .long 365788807 + .long 327005411 + .long 362312473 + .long 322687551 + .long 358749604 + .long 319486576 + .long 354914217 + .long 315462382 + .long 351813803 + .long 311949175 + .long 347590577 + .long 308318558 + .long 344459261 + .long 304470186 + .long 340344435 + .long 301258539 + .long 336906618 + .long 297051252 + .long 333178469 + .long 293942889 + .long 329411554 + .long 289693797 + .long 326095120 + .long 286305476 + .long 321975699 + .long 282398997 + .long 318931825 + .long 278712711 + .long 314600468 + .long 275167751 + .long 311281538 + .long 271165121 + .long 307287030 + .long 268000643 + .long 303675288 + .long 263663002 + .long 300036281 + .long 260472385 + .long 296113601 + .long 256206401 + .long 292848806 + .long 252758851 + .long 288596776 + .long 248795091 + .long 285468764 + .long 245077185 + .long 281124861 + .long 241428554 + .long 277744189 + .long 237426916 + .long 273697638 + .long 234105964 + .long 270051062 + .long 229807344 + .long 266314599 + .long 226659293 + .long 262388917 + .long 222217536 + .long 258974929 + .long 218845744 + .long 254757068 + .long 214656315 + .long 251667866 + .long 211051926 + .long 247154591 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_serfc_data_internal,@object + .size __svml_serfc_data_internal,6080 + .align 32 + +_vmlsErfcHATab: + .long 0 + .long 3217031168 + .long 2536042781 + .long 1072398983 + .long 1399772821 + .long 1016356498 + .long 2716363190 + .long 3220293167 + .long 2515012741 + .long 3163350672 + .long 2716363190 + .long 1069663791 + .long 2240747611 + .long 1012721291 + .long 3687592758 + .long 1071052114 + .long 803907102 + .long 1011174242 + .long 3448634865 + .long 3216086729 + .long 750050903 + .long 3160740647 + .long 601957364 + .long 3216681894 + .long 1555639211 + .long 3160184931 + .long 1774552010 + .long 1066874090 + .long 3884532135 + .long 1066963544 + .long 3233761315 + .long 3212244609 + .long 1379327181 + .long 3211950387 + .long 242623580 + .long 1062350129 + .long 2275269623 + .long 1061641073 + .long 254615366 + .long 3207068314 + .long 2447494219 + .long 3206114823 + .long 604424981 + .long 1056656877 + .long 50341065 + .long 1055592081 + .long 0 + .long 3218341888 + .long 1599080160 + .long 1071977136 + .long 688395245 + .long 1016124311 + .long 3971924631 + .long 3220201427 + .long 3564228032 + .long 3164632085 + .long 3891163965 + .long 1070888904 + .long 3480798202 + .long 1014571560 + .long 1621928818 + .long 1070698875 + .long 4020082186 + .long 1015153452 + .long 685042962 + .long 3217236647 + .long 3489060295 + .long 3157926645 + .long 2848795668 + .long 3216002128 + .long 3762448119 + .long 3161313806 + .long 1324211555 + .long 1067961974 + .long 1476477459 + .long 1065781932 + .long 2515812913 + .long 3213241000 + .long 3304760842 + .long 3210133507 + .long 716797578 + .long 1063287120 + .long 2283992921 + .long 1058905221 + .long 2268754290 + .long 3207879309 + .long 1012519479 + .long 3199289324 + .long 944669356 + .long 1057318598 + .long 1931303816 + .long 3198859641 + .long 0 + .long 3219390464 + .long 1180573078 + .long 1071127762 + .long 4113175178 + .long 1014965748 + .long 2484292509 + .long 3219680918 + .long 959898156 + .long 3163955503 + .long 957881989 + .long 1071548988 + .long 442195505 + .long 1012747532 + .long 35029730 + .long 1068269829 + .long 976783580 + .long 1012161104 + .long 2319046290 + .long 3217462844 + .long 10747389 + .long 3161497233 + .long 3758081287 + .long 1067192898 + .long 1126055042 + .long 1009745370 + .long 1760060230 + .long 1067789094 + .long 3251266701 + .long 3213655257 + .long 2806967453 + .long 3212534516 + .long 1864685761 + .long 1064158132 + .long 3738348856 + .long 1061687624 + .long 790737257 + .long 3209050005 + .long 1943644508 + .long 3204796481 + .long 2914584687 + .long 1058674792 + .long 2574038108 + .long 3201168805 + .long 1252008665 + .long 3203024355 + .long 0 + .long 3220439040 + .long 866709712 + .long 1068743889 + .long 2877058776 + .long 1013060082 + .long 4210332368 + .long 3217966674 + .long 1459199107 + .long 3162249891 + .long 3688727889 + .long 1070787571 + .long 2792291460 + .long 1012143918 + .long 855534605 + .long 3217387984 + .long 759913640 + .long 3160800900 + .long 2131284961 + .long 1064909442 + .long 2597396527 + .long 1009180630 + .long 989201780 + .long 1067984906 + .long 3318708226 + .long 1008612878 + .long 699280746 + .long 3214266544 + .long 993015799 + .long 3211642955 + .long 1559561232 + .long 1064778208 + .long 680189340 + .long 3209609158 + .long 3200850606 + .long 3209524422 + .long 1492278808 + .long 1059590695 + .long 4108347350 + .long 3205935421 + .long 2186414716 + .long 3206817307 + .long 2803204773 + .long 3204791034 + .long 1021304598 + .long 3200312812 + .long 0 + .long 3220701184 + .long 2395493008 + .long 1067539114 + .long 2347713276 + .long 1010696759 + .long 649597580 + .long 3216929335 + .long 3715599898 + .long 3160841752 + .long 1561014649 + .long 1069995433 + .long 3047088181 + .long 1014230941 + .long 735510274 + .long 3217146528 + .long 1352249772 + .long 3161795800 + .long 1629994682 + .long 1067898281 + .long 867814168 + .long 1012540688 + .long 3242132826 + .long 1066299959 + .long 1473115860 + .long 1010684527 + .long 1350993397 + .long 3214133819 + .long 212467593 + .long 1064529314 + .long 1581296174 + .long 1063476333 + .long 1019617056 + .long 3210475870 + .long 326531339 + .long 1058667915 + .long 2560102974 + .long 1060207995 + .long 1059830545 + .long 3205421344 + .long 73331091 + .long 1053435953 + .long 3519680827 + .long 1056963274 + .long 287235298 + .long 1054771565 + .long 0 + .long 3220701184 + .long 2395492868 + .long 1067539114 + .long 3682704431 + .long 1012674156 + .long 649602216 + .long 3216929335 + .long 3411089016 + .long 3161142609 + .long 1560943486 + .long 1069995433 + .long 373233254 + .long 1014373936 + .long 736848572 + .long 3217146528 + .long 1866442275 + .long 3160326248 + .long 1560943474 + .long 1067898281 + .long 3576330307 + .long 1009307384 + .long 649623715 + .long 1066299959 + .long 725533065 + .long 1006865126 + .long 1925526991 + .long 3214133821 + .long 2782059224 + .long 1064529267 + .long 3902564706 + .long 1063475940 + .long 2706862450 + .long 3210478464 + .long 1817950372 + .long 1058560819 + .long 1279984267 + .long 1060154640 + .long 1456324877 + .long 3205782300 + .long 3219859931 + .long 3203609651 + .long 1354896425 + .long 1055916872 + .long 153053737 + .long 3200605489 + .long 0 + .long 3221487616 + .long 4088869944 + .long 1070267315 + .long 2176293176 + .long 1014815941 + .long 2130816332 + .long 3216181357 + .long 1120272801 + .long 3161227146 + .long 2812844367 + .long 1067026776 + .long 3953643227 + .long 1009444623 + .long 1988706352 + .long 3212862240 + .long 4268394231 + .long 3153580175 + .long 1288160248 + .long 1063531968 + .long 2922427679 + .long 1007764987 + .long 2977979581 + .long 3209169358 + .long 3750808263 + .long 3146919566 + .long 985562119 + .long 1059825827 + .long 2519169024 + .long 3205422455 + .long 68429100 + .long 1055964010 + .long 3577866702 + .long 3201415637 + .long 2564607388 + .long 1051841939 + .long 2939200104 + .long 3197398630 + .long 4218579581 + .long 1046628386 + .long 1377164546 + .long 3194351246 + .long 2324734477 + .long 3191977485 + .long 1839603542 + .long 3190921089 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 2802853043 + .long 1014611496 + .long 1293201774 + .long 3215709870 + .long 754100791 + .long 3160212203 + .long 446218444 + .long 1066419198 + .long 4119686598 + .long 1006799142 + .long 464017249 + .long 3211942150 + .long 960597079 + .long 3156358882 + .long 785622302 + .long 1062472140 + .long 3339954945 + .long 1004756287 + .long 2636124640 + .long 3207937516 + .long 2995891561 + .long 3151978990 + .long 742584182 + .long 1058400057 + .long 2101069570 + .long 3203793489 + .long 2181624698 + .long 1054184935 + .long 880779555 + .long 3199513061 + .long 3229614298 + .long 1049846396 + .long 2776250631 + .long 3195146822 + .long 1726624674 + .long 1045262260 + .long 2932756839 + .long 3191068730 + .long 968482455 + .long 3185858272 + .long 839487434 + .long 3187678475 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 3971839787 + .long 1014611494 + .long 1293201774 + .long 3215709870 + .long 1164040504 + .long 3160193437 + .long 446218443 + .long 1066419198 + .long 752423430 + .long 1011527589 + .long 464016831 + .long 3211942150 + .long 1037460728 + .long 3156747894 + .long 785625671 + .long 1062472140 + .long 2777520670 + .long 1006268542 + .long 2633474472 + .long 3207937516 + .long 224500896 + .long 3152886542 + .long 768707698 + .long 1058400057 + .long 3292721506 + .long 3203793488 + .long 578140564 + .long 1054184941 + .long 2030948072 + .long 3199512840 + .long 703221627 + .long 1049847594 + .long 3302679767 + .long 3195127268 + .long 1902201635 + .long 1045392042 + .long 4048348141 + .long 3190392845 + .long 436255103 + .long 1040232916 + .long 2856127569 + .long 3184071776 + .long 0 + .long 3222536192 + .long 2660514860 + .long 1069307683 + .long 3910050887 + .long 1010798723 + .long 1232972210 + .long 3214268483 + .long 3319476861 + .long 3158923505 + .long 728349866 + .long 1064340728 + .long 2957516014 + .long 1008704767 + .long 2614894425 + .long 3209210817 + .long 3908389506 + .long 3152259798 + .long 2191212410 + .long 1059199474 + .long 2431020086 + .long 1004176268 + .long 3218723210 + .long 3204065928 + .long 3000611168 + .long 3148331645 + .long 3635880648 + .long 1053991881 + .long 536114836 + .long 3198825982 + .long 772319782 + .long 1048710562 + .long 455323837 + .long 3193559883 + .long 2867783196 + .long 1042956501 + .long 2591697711 + .long 3189077475 + .long 3707131585 + .long 3186333629 + .long 1191412344 + .long 3185702904 + .long 26961465 + .long 3183118419 + .long 3399174677 + .long 3180390946 + .long 0 + .long 3222798336 + .long 2223626006 + .long 1069006900 + .long 1459366060 + .long 1012973801 + .long 1839010552 + .long 3213809654 + .long 2068820260 + .long 3157960411 + .long 1249919926 + .long 1063503734 + .long 962503917 + .long 1008341811 + .long 2100991944 + .long 3208188010 + .long 3825857555 + .long 3152436704 + .long 2359368913 + .long 1057973453 + .long 743880428 + .long 1000696453 + .long 1096261871 + .long 3202576593 + .long 3975107283 + .long 3146343950 + .long 3079668469 + .long 1052233933 + .long 1037052812 + .long 3196903291 + .long 3759245614 + .long 1046563275 + .long 3200735738 + .long 3191134566 + .long 4161299971 + .long 1040588242 + .long 2934206128 + .long 3185832303 + .long 3971101203 + .long 3181383944 + .long 353687358 + .long 3181806266 + .long 3047695518 + .long 3179072314 + .long 3851119497 + .long 3176415447 + .long 0 + .long 3222798336 + .long 2223626017 + .long 1069006900 + .long 1388676355 + .long 1012705760 + .long 1839008253 + .long 3213809654 + .long 815236617 + .long 3157985840 + .long 1250030689 + .long 1063503734 + .long 1288166708 + .long 1008687857 + .long 2094505532 + .long 3208188010 + .long 311037013 + .long 3150622756 + .long 2617751546 + .long 1057973453 + .long 2536920761 + .long 1001852867 + .long 1679260317 + .long 3202576592 + .long 3392965897 + .long 3146533070 + .long 1054244789 + .long 1052233952 + .long 3966408696 + .long 3196902988 + .long 1854848819 + .long 1046565172 + .long 3813743082 + .long 3191116219 + .long 395181184 + .long 1040724488 + .long 2456810233 + .long 3185324136 + .long 4089464644 + .long 1034959658 + .long 3698050549 + .long 3179421276 + .long 1112347086 + .long 1028770902 + .long 218099662 + .long 3172341328 + .long 0 + .long 3223584768 + .long 525966855 + .long 1068285571 + .long 2606587153 + .long 1012297682 + .long 2443413391 + .long 3212232028 + .long 691043050 + .long 3155505245 + .long 1829248673 + .long 1061286877 + .long 797308607 + .long 1005505923 + .long 2897861001 + .long 3205246152 + .long 3729653017 + .long 3149452125 + .long 3517114205 + .long 1054211729 + .long 2096268314 + .long 998380425 + .long 733746641 + .long 3198235249 + .long 2776288247 + .long 3140382828 + .long 312049674 + .long 1047087440 + .long 1779010374 + .long 3191506224 + .long 3398525311 + .long 3186731689 + .long 3932053403 + .long 3187022627 + .long 2526572080 + .long 3184920569 + .long 1052531014 + .long 3182813288 + .long 1237705257 + .long 3180144704 + .long 1818683855 + .long 3176978132 + .long 2771211543 + .long 3173092235 + .long 1784201120 + .long 3168173250 + .long 0 + .long 3223846912 + .long 3317774106 + .long 1067973958 + .long 2923167300 + .long 1012645752 + .long 3241173892 + .long 3211773047 + .long 39491139 + .long 3153850211 + .long 285395131 + .long 1060435582 + .long 2541426776 + .long 1004641207 + .long 1226100891 + .long 3204158226 + .long 1495613600 + .long 3148514544 + .long 3870275689 + .long 1052905917 + .long 965710820 + .long 997239553 + .long 3492316846 + .long 3196564768 + .long 2517483548 + .long 3141228873 + .long 1374076994 + .long 1045282573 + .long 372497316 + .long 3189277616 + .long 3813845480 + .long 3182889951 + .long 3900585526 + .long 3184107613 + .long 1960133516 + .long 3181724363 + .long 148017317 + .long 3179453676 + .long 3471465381 + .long 3176493740 + .long 65590178 + .long 3173153987 + .long 3138884841 + .long 3169027321 + .long 2557226666 + .long 3163936824 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 939524096 + .long 1072704666 + .long 2209988083 + .long 1046076929 + .long 3489660928 + .long 1072716208 + .long 2715237930 + .long 1044950059 + .long 402653184 + .long 1072727877 + .long 36755401 + .long 1042114290 + .long 1744830464 + .long 1072739672 + .long 1032479461 + .long 1045685796 + .long 805306368 + .long 1072751596 + .long 269498903 + .long 1044815501 + .long 3489660928 + .long 1072763649 + .long 2766913307 + .long 1039293264 + .long 2818572288 + .long 1072775834 + .long 2127365126 + .long 1046127799 + .long 939524096 + .long 1072788152 + .long 3950214642 + .long 1045558597 + .long 3892314112 + .long 1072800603 + .long 2850403528 + .long 1045134939 + .long 805306368 + .long 1072813191 + .long 2810207104 + .long 1043762074 + .long 2281701376 + .long 1072825915 + .long 2397289153 + .long 1041802037 + .long 1744830464 + .long 1072838778 + .long 3785033707 + .long 1046074760 + .long 1610612736 + .long 1072851781 + .long 1955981725 + .long 1045924339 + .long 4026531840 + .long 1072864925 + .long 2226165573 + .long 1045725051 + .long 2684354560 + .long 1072878213 + .long 754984053 + .long 1046188044 + .long 134217728 + .long 1072891646 + .long 2842642093 + .long 1044483512 + .long 2952790016 + .long 1072905224 + .long 4200916017 + .long 1044586679 + .long 805306368 + .long 1072918951 + .long 714887508 + .long 1046276775 + .long 805306368 + .long 1072932827 + .long 3685248805 + .long 1045665407 + .long 1207959552 + .long 1072946854 + .long 2295779401 + .long 1045448912 + .long 536870912 + .long 1072961034 + .long 2676240988 + .long 1044345570 + .long 1610612736 + .long 1072975368 + .long 1086643152 + .long 1041785419 + .long 2952790016 + .long 1072989858 + .long 1078920847 + .long 1045890291 + .long 3489660928 + .long 1073004506 + .long 2624917087 + .long 1045747880 + .long 1879048192 + .long 1073019314 + .long 2595540835 + .long 1046115506 + .long 1342177280 + .long 1073034283 + .long 125577743 + .long 1046115646 + .long 805306368 + .long 1073049415 + .long 1771811520 + .long 1046140063 + .long 3623878656 + .long 1073064711 + .long 2774738112 + .long 1045766480 + .long 268435456 + .long 1073080175 + .long 565866387 + .long 1045869701 + .long 2952790016 + .long 1073095806 + .long 1492679939 + .long 1041050306 + .long 2147483648 + .long 1073111608 + .long 612974287 + .long 1044556049 + .long 1610612736 + .long 1073127582 + .long 843197631 + .long 1046084847 + .long 939524096 + .long 1073143730 + .long 3150480267 + .long 1045533800 + .long 3892314112 + .long 1073160053 + .long 2074373662 + .long 1043172334 + .long 1342177280 + .long 1073176555 + .long 587053675 + .long 1046022559 + .long 1879048192 + .long 1073193236 + .long 918464641 + .long 1045387276 + .long 805306368 + .long 1073210099 + .long 2285990923 + .long 1046166841 + .long 2550136832 + .long 1073227145 + .long 682424459 + .long 1043647713 + .long 2550136832 + .long 1073244377 + .long 1678188781 + .long 1045046423 + .long 1073741824 + .long 1073261797 + .long 3671932459 + .long 1044468998 + .long 2550136832 + .long 1073279406 + .long 1656324724 + .long 1043421043 + .long 2952790016 + .long 1073297207 + .long 2659845000 + .long 1042921660 + .long 2550136832 + .long 1073315202 + .long 1043233352 + .long 1046444345 + .long 2147483648 + .long 1073333393 + .long 2162418230 + .long 1044717444 + .long 2013265920 + .long 1073351782 + .long 630511316 + .long 1045098283 + .long 2952790016 + .long 1073370371 + .long 3831108133 + .long 1044508970 + .long 1342177280 + .long 1073389163 + .long 4245662865 + .long 1045817334 + .long 2550136832 + .long 1073408159 + .long 3588780877 + .long 1043705146 + .long 3087007744 + .long 1073427362 + .long 3182425146 + .long 1041483134 + .long 4026531840 + .long 1073446774 + .long 928333188 + .long 1044896498 + .long 2415919104 + .long 1073466398 + .long 2300504125 + .long 1041428596 + .long 3623878656 + .long 1073486235 + .long 1887994668 + .long 1045828938 + .long 671088640 + .long 1073506289 + .long 757630176 + .long 1046044485 + .long 3623878656 + .long 1073526560 + .long 2756972335 + .long 1045675585 + .long 1207959552 + .long 1073547053 + .long 3697834264 + .long 1044397131 + .long 3623878656 + .long 1073567768 + .long 479684631 + .long 1045687954 + .long 0 + .long 1073588710 + .long 730095629 + .long 1045354900 + .long 805306368 + .long 1073609879 + .long 4123739734 + .long 1045159130 + .long 3758096384 + .long 1073631278 + .long 3634164812 + .long 1046359295 + .long 2684354560 + .long 1073652911 + .long 3425467293 + .long 1044718726 + .long 3892314112 + .long 1073674779 + .long 2648473416 + .long 1046054248 + .long 1476395008 + .long 1073696886 + .long 54164518 + .long 1045131818 + .long 2147483648 + .long 1073719233 + .long 2196310654 + .long 1043982605 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1697350398 + .long 1079448903 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 0 + .long 0 + .long 1 + .long 1048576 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .long 0 + .long 1073741824 + .long 1879950331 + .long 1076108223 + .long 1524673704 + .long 3222186233 + .type _vmlsErfcHATab,@object + .size _vmlsErfcHATab,3736 + .space 872, 0x00 + .align 16 + +.FLT_165: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_165,@object + .size .FLT_165,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core-sse.S new file mode 100644 index 0000000000..45c4019705 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized erfcf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_erfcf _ZGVdN8v_erfcf_sse_wrapper +#include "../svml_s_erfcf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core.c new file mode 100644 index 0000000000..d7d49bb2fc --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized erfcf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_erfcf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_erfcf, __GI__ZGVdN8v_erfcf, + __redirect__ZGVdN8v_erfcf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core_avx2.S new file mode 100644 index 0000000000..f7cde8e590 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core_avx2.S @@ -0,0 +1,3728 @@ +/* Function erfcf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Approximation formula: + * erfc(x) ~ erfc(x0) - 2/sqrt(pi)*exp(-x0^2)*D * [ 1 + (x0*D)*p1(x0*D) + D^2 * p3(x0*D) ] + * D = x - x0 + * erfc(x0) and 2/sqrt(pi)*exp(-x0^2)/(2*x0) are tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_erfcf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea -1073741824+__svml_serfc_data_internal(%rip), %rax + vmovaps %ymm0, %ymm6 + vmovups 5376+__svml_serfc_data_internal(%rip), %ymm0 + vmovups 5440+__svml_serfc_data_internal(%rip), %ymm1 + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + vmovups 5504+__svml_serfc_data_internal(%rip), %ymm11 + vmovups %ymm8, 32(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm9, 96(%rsp) + vandps 5184+__svml_serfc_data_internal(%rip), %ymm6, %ymm5 + +/* + * erfc(10.125) underflows to 0 + * can compute all results in the main path + */ + vminps 5248+__svml_serfc_data_internal(%rip), %ymm5, %ymm4 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vandps 5312+__svml_serfc_data_internal(%rip), %ymm6, %ymm12 + vorps %ymm12, %ymm0, %ymm3 + +/* 2.0 if x<0, 0.0 otherwise */ + vsubps %ymm3, %ymm0, %ymm5 + vaddps %ymm1, %ymm4, %ymm3 + vmaxps %ymm11, %ymm4, %ymm2 + vsubps %ymm1, %ymm3, %ymm7 + vpslld $3, %ymm3, %ymm8 + +/* Start polynomial evaluation */ + vmovups 5568+__svml_serfc_data_internal(%rip), %ymm3 + vsubps %ymm7, %ymm2, %ymm0 + vmovups 5696+__svml_serfc_data_internal(%rip), %ymm2 + vmulps %ymm0, %ymm7, %ymm1 + vfmadd213ps 5632+__svml_serfc_data_internal(%rip), %ymm1, %ymm3 + vfmadd213ps 5760+__svml_serfc_data_internal(%rip), %ymm1, %ymm2 + vfmadd213ps 5824+__svml_serfc_data_internal(%rip), %ymm1, %ymm3 + +/* 2^(-64) with sign of input */ + vorps %ymm12, %ymm11, %ymm4 + vfmadd213ps 5888+__svml_serfc_data_internal(%rip), %ymm1, %ymm3 + vpextrd $1, %xmm8, %ecx + vpextrd $3, %xmm8, %r9d + movslq %ecx, %rcx + movslq %r9d, %r9 + vmovd %xmm8, %edx + vextractf128 $1, %ymm8, %xmm10 + vmovq (%rax,%rcx), %xmm11 + vmovq (%rax,%r9), %xmm15 + vunpcklps %xmm15, %xmm11, %xmm11 + +/* Diff^2 */ + vmulps %ymm0, %ymm0, %ymm15 + vmovd %xmm10, %r10d + +/* P3*D2 */ + vmulps %ymm15, %ymm2, %ymm2 + movslq %edx, %rdx + vpextrd $2, %xmm8, %r8d + vpextrd $1, %xmm10, %r11d + vpextrd $3, %xmm10, %ecx + vmovq (%rax,%rdx), %xmm13 + vpextrd $2, %xmm10, %edx + movslq %r8d, %r8 + movslq %r10d, %r10 + movslq %r11d, %r11 + movslq %edx, %rdx + movslq %ecx, %rcx + vmovq (%rax,%r8), %xmm14 + +/* P1 = P1*T + P3*D2 */ + vfmadd213ps %ymm2, %ymm1, %ymm3 + vmovq (%rax,%r10), %xmm7 + vmovq (%rax,%r11), %xmm8 + vmovq (%rax,%rdx), %xmm9 + vmovq (%rax,%rcx), %xmm10 + vunpcklps %xmm14, %xmm13, %xmm12 + vunpcklps %xmm9, %xmm7, %xmm7 + vunpcklps %xmm10, %xmm8, %xmm9 + +/* Special arguments (for flags only) */ + vcmplt_oqps 5952+__svml_serfc_data_internal(%rip), %ymm6, %ymm1 + +/* combine and get argument value range mask */ + vmovmskps %ymm1, %edx + notl %edx + movzbl %dl, %edx + vinsertf128 $1, %xmm7, %ymm12, %ymm13 + vinsertf128 $1, %xmm9, %ymm11, %ymm14 + vunpcklps %ymm14, %ymm13, %ymm7 + vunpckhps %ymm14, %ymm13, %ymm13 + +/* EXP_X0H * (1+P1) */ + vfmadd213ps %ymm13, %ymm13, %ymm3 + +/* erfc_high(x0) - Diff * (2/sqrt(pi)*exp(-x0^2))*(1+P1) */ + vfnmadd213ps %ymm7, %ymm3, %ymm0 + vfmadd213ps %ymm5, %ymm4, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm6, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_serfc_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_erfcf_avx2) + + .align 16,0x90 + +__svml_serfc_cout_rare_internal: + + cfi_startproc + + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + movq %rsi, %r8 + movzwl 2(%rdi), %edx + xorl %eax, %eax + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_16 + pxor %xmm1, %xmm1 + cvtss2sd (%rdi), %xmm1 + movsd %xmm1, -8(%rbp) + movzwl -2(%rbp), %edx + andl $32752, %edx + cmpl $15248, %edx + jl .LBL_2_13 + comisd 3728+_vmlsErfcHATab(%rip), %xmm1 + jbe .LBL_2_12 + movsd 3720+_vmlsErfcHATab(%rip), %xmm0 + comisd %xmm1, %xmm0 + jbe .LBL_2_11 + andb $127, -1(%rbp) + lea _vmlsErfcHATab(%rip), %rsi + movsd -8(%rbp), %xmm3 + movsd 3696+_vmlsErfcHATab(%rip), %xmm2 + movaps %xmm3, %xmm4 + movaps %xmm3, %xmm7 + movaps %xmm3, %xmm12 + movsd 3672+_vmlsErfcHATab(%rip), %xmm15 + addsd %xmm2, %xmm4 + mulsd %xmm4, %xmm4 + mulsd %xmm4, %xmm4 + movsd %xmm4, -40(%rbp) + movzwl -34(%rbp), %ecx + andl $32752, %ecx + shrl $4, %ecx + addl $-1023, %ecx + imull $23, %ecx, %edx + movsd (%rsi,%rdx,8), %xmm5 + lea 22(%rdx), %r9d + addsd %xmm3, %xmm5 + movsd %xmm5, -32(%rbp) + lea 21(%rdx), %r10d + movsd -32(%rbp), %xmm6 + lea 20(%rdx), %r11d + subsd %xmm6, %xmm7 + movsd %xmm7, -24(%rbp) + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -16(%rbp) + movsd -24(%rbp), %xmm10 + addsd (%rsi,%rdx,8), %xmm10 + movsd %xmm10, -24(%rbp) + movsd -16(%rbp), %xmm11 + subsd %xmm11, %xmm12 + movsd (%rsi,%r9,8), %xmm11 + movsd %xmm12, -16(%rbp) + lea 19(%rdx), %r9d + movsd -24(%rbp), %xmm14 + movsd -16(%rbp), %xmm13 + movsd 3672+_vmlsErfcHATab(%rip), %xmm12 + addsd %xmm13, %xmm14 + movsd %xmm14, -16(%rbp) + movsd -32(%rbp), %xmm6 + mulsd %xmm6, %xmm11 + mulsd %xmm6, %xmm15 + addsd (%rsi,%r10,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 18(%rdx), %r10d + movsd -16(%rbp), %xmm1 + movsd %xmm15, -32(%rbp) + movsd -32(%rbp), %xmm0 + addsd (%rsi,%r11,8), %xmm11 + subsd %xmm6, %xmm0 + mulsd %xmm6, %xmm11 + movsd %xmm0, -24(%rbp) + lea 16(%rdx), %r11d + movsd -32(%rbp), %xmm4 + movsd -24(%rbp), %xmm15 + addsd (%rsi,%r9,8), %xmm11 + subsd %xmm15, %xmm4 + mulsd %xmm6, %xmm11 + movsd %xmm4, -32(%rbp) + lea 17(%rdx), %r9d + movsd -32(%rbp), %xmm5 + addsd (%rsi,%r10,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 14(%rdx), %r10d + addsd (%rsi,%r9,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 15(%rdx), %r9d + addsd (%rsi,%r11,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 11(%rdx), %r11d + movsd (%rsi,%r11,8), %xmm10 + lea 7(%rdx), %r11d + movaps %xmm10, %xmm8 + addsd (%rsi,%r9,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 13(%rdx), %r9d + addsd (%rsi,%r10,8), %xmm11 + mulsd %xmm6, %xmm11 + lea 9(%rdx), %r10d + addsd (%rsi,%r9,8), %xmm11 + mulsd %xmm6, %xmm11 + subsd %xmm5, %xmm6 + movsd %xmm6, -24(%rbp) + lea 12(%rdx), %r9d + movsd -32(%rbp), %xmm0 + addsd %xmm11, %xmm8 + movsd -24(%rbp), %xmm7 + movsd %xmm8, -32(%rbp) + movaps %xmm0, %xmm8 + movsd -32(%rbp), %xmm9 + addsd %xmm7, %xmm1 + subsd %xmm9, %xmm10 + addsd %xmm10, %xmm11 + movsd %xmm11, -24(%rbp) + movsd -32(%rbp), %xmm4 + mulsd %xmm4, %xmm12 + movsd -24(%rbp), %xmm5 + movsd %xmm12, -32(%rbp) + movsd -32(%rbp), %xmm13 + movsd (%rsi,%r10,8), %xmm11 + lea 5(%rdx), %r10d + subsd %xmm4, %xmm13 + addsd (%rsi,%r9,8), %xmm5 + movsd %xmm13, -24(%rbp) + lea 10(%rdx), %r9d + movsd -32(%rbp), %xmm12 + movsd -24(%rbp), %xmm14 + subsd %xmm14, %xmm12 + movsd %xmm12, -32(%rbp) + movaps %xmm0, %xmm12 + movsd -32(%rbp), %xmm13 + subsd %xmm13, %xmm4 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm7 + movaps %xmm6, %xmm15 + mulsd %xmm1, %xmm6 + addsd %xmm5, %xmm7 + mulsd %xmm0, %xmm15 + mulsd %xmm7, %xmm8 + mulsd %xmm1, %xmm7 + movaps %xmm15, %xmm9 + addsd %xmm6, %xmm7 + addsd %xmm11, %xmm9 + addsd %xmm7, %xmm8 + movsd %xmm8, -32(%rbp) + movsd -32(%rbp), %xmm14 + movsd %xmm9, -32(%rbp) + movsd -32(%rbp), %xmm10 + movsd 3672+_vmlsErfcHATab(%rip), %xmm4 + subsd %xmm10, %xmm11 + addsd %xmm11, %xmm15 + movsd %xmm15, -24(%rbp) + movsd -32(%rbp), %xmm8 + mulsd %xmm8, %xmm4 + movsd -24(%rbp), %xmm9 + movsd %xmm4, -32(%rbp) + movaps %xmm0, %xmm4 + movsd -32(%rbp), %xmm5 + addsd %xmm14, %xmm9 + subsd %xmm8, %xmm5 + addsd (%rsi,%r9,8), %xmm9 + movsd %xmm5, -24(%rbp) + lea 8(%rdx), %r9d + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm14 + subsd %xmm14, %xmm6 + movsd %xmm6, -32(%rbp) + movsd -32(%rbp), %xmm7 + movsd 3672+_vmlsErfcHATab(%rip), %xmm6 + subsd %xmm7, %xmm8 + movsd %xmm8, -24(%rbp) + movsd -32(%rbp), %xmm10 + movsd -24(%rbp), %xmm11 + mulsd %xmm10, %xmm4 + addsd %xmm9, %xmm11 + mulsd %xmm1, %xmm10 + mulsd %xmm11, %xmm12 + mulsd %xmm1, %xmm11 + movaps %xmm4, %xmm13 + addsd %xmm10, %xmm11 + movsd (%rsi,%r11,8), %xmm10 + lea 3(%rdx), %r11d + addsd %xmm11, %xmm12 + addsd %xmm10, %xmm13 + movsd %xmm12, -32(%rbp) + movsd -32(%rbp), %xmm5 + movsd %xmm13, -32(%rbp) + movsd -32(%rbp), %xmm15 + subsd %xmm15, %xmm10 + addsd %xmm10, %xmm4 + movsd 3672+_vmlsErfcHATab(%rip), %xmm10 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm12 + mulsd %xmm12, %xmm6 + movsd -24(%rbp), %xmm14 + movsd %xmm6, -32(%rbp) + movaps %xmm0, %xmm6 + movsd -32(%rbp), %xmm7 + addsd %xmm5, %xmm14 + subsd %xmm12, %xmm7 + addsd (%rsi,%r9,8), %xmm14 + movsd %xmm7, -24(%rbp) + lea 6(%rdx), %r9d + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm8 + subsd %xmm8, %xmm9 + movsd (%rsi,%r10,8), %xmm8 + movsd %xmm9, -32(%rbp) + movaps %xmm0, %xmm9 + movsd -32(%rbp), %xmm11 + lea 1(%rdx), %r10d + subsd %xmm11, %xmm12 + movsd %xmm12, -24(%rbp) + movsd -32(%rbp), %xmm4 + movsd -24(%rbp), %xmm5 + mulsd %xmm4, %xmm9 + addsd %xmm14, %xmm5 + mulsd %xmm1, %xmm4 + mulsd %xmm5, %xmm6 + mulsd %xmm1, %xmm5 + movaps %xmm9, %xmm7 + movaps %xmm0, %xmm14 + addsd %xmm4, %xmm5 + addsd %xmm8, %xmm7 + addsd %xmm5, %xmm6 + movsd %xmm6, -32(%rbp) + movsd -32(%rbp), %xmm15 + movsd %xmm7, -32(%rbp) + movsd -32(%rbp), %xmm13 + subsd %xmm13, %xmm8 + addsd %xmm8, %xmm9 + movsd %xmm9, -24(%rbp) + movaps %xmm0, %xmm9 + movsd -32(%rbp), %xmm5 + mulsd %xmm5, %xmm10 + movsd -24(%rbp), %xmm6 + movsd %xmm10, -32(%rbp) + addsd %xmm15, %xmm6 + movsd -32(%rbp), %xmm11 + subsd %xmm5, %xmm11 + addsd (%rsi,%r9,8), %xmm6 + movsd %xmm11, -24(%rbp) + lea 4(%rdx), %r9d + movsd -32(%rbp), %xmm12 + addl $2, %edx + movsd -24(%rbp), %xmm15 + movsd (%rsi,%r11,8), %xmm11 + subsd %xmm15, %xmm12 + movsd %xmm12, -32(%rbp) + movaps %xmm0, %xmm12 + movsd -32(%rbp), %xmm4 + movsd 3672+_vmlsErfcHATab(%rip), %xmm15 + subsd %xmm4, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm7 + movsd -24(%rbp), %xmm8 + mulsd %xmm7, %xmm14 + addsd %xmm6, %xmm8 + mulsd %xmm1, %xmm7 + mulsd %xmm8, %xmm9 + mulsd %xmm1, %xmm8 + movaps %xmm14, %xmm10 + addsd %xmm7, %xmm8 + addsd %xmm11, %xmm10 + addsd %xmm8, %xmm9 + movsd %xmm9, -32(%rbp) + movsd -32(%rbp), %xmm4 + movsd %xmm10, -32(%rbp) + movsd -32(%rbp), %xmm13 + subsd %xmm13, %xmm11 + addsd %xmm11, %xmm14 + movsd %xmm14, -24(%rbp) + movsd -32(%rbp), %xmm8 + mulsd %xmm8, %xmm15 + movsd -24(%rbp), %xmm9 + movsd %xmm15, -32(%rbp) + addsd %xmm4, %xmm9 + movsd -32(%rbp), %xmm4 + subsd %xmm8, %xmm4 + addsd (%rsi,%r9,8), %xmm9 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -32(%rbp) + movsd -32(%rbp), %xmm7 + subsd %xmm7, %xmm8 + movsd %xmm8, -24(%rbp) + movsd -32(%rbp), %xmm10 + movsd -24(%rbp), %xmm11 + mulsd %xmm10, %xmm12 + addsd %xmm9, %xmm11 + mulsd %xmm11, %xmm0 + mulsd %xmm1, %xmm11 + mulsd %xmm10, %xmm1 + addsd %xmm1, %xmm11 + movaps %xmm12, %xmm1 + addsd %xmm11, %xmm0 + movsd %xmm0, -32(%rbp) + movsd (%rsi,%r10,8), %xmm0 + movsd -32(%rbp), %xmm4 + addsd %xmm0, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm1 + subsd %xmm1, %xmm0 + addsd %xmm0, %xmm12 + movsd %xmm12, -24(%rbp) + movsd -32(%rbp), %xmm1 + movsd -24(%rbp), %xmm6 + movaps %xmm1, %xmm5 + addsd %xmm4, %xmm6 + addsd (%rsi,%rdx,8), %xmm6 + addsd %xmm6, %xmm5 + movsd %xmm5, -32(%rbp) + movsd -32(%rbp), %xmm0 + subsd %xmm0, %xmm1 + addsd %xmm1, %xmm6 + movsd %xmm6, -24(%rbp) + movsd -32(%rbp), %xmm5 + movsd -24(%rbp), %xmm7 + cmpl $6, %ecx + jae .LBL_2_7 + movsd %xmm2, -40(%rbp) + jmp .LBL_2_8 + +.LBL_2_7: + movsd 3672+_vmlsErfcHATab(%rip), %xmm8 + movaps %xmm3, %xmm14 + mulsd %xmm5, %xmm8 + mulsd 3672+_vmlsErfcHATab(%rip), %xmm14 + movsd %xmm8, -32(%rbp) + movsd -32(%rbp), %xmm9 + movsd 3704+_vmlsErfcHATab(%rip), %xmm8 + subsd %xmm5, %xmm9 + movsd %xmm9, -24(%rbp) + movsd -32(%rbp), %xmm11 + movsd -24(%rbp), %xmm10 + movsd 3656+_vmlsErfcHATab(%rip), %xmm9 + subsd %xmm10, %xmm11 + movsd %xmm11, -32(%rbp) + movsd -32(%rbp), %xmm12 + movsd 3640+_vmlsErfcHATab(%rip), %xmm10 + subsd %xmm12, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm6 + movsd -24(%rbp), %xmm13 + movsd %xmm14, -32(%rbp) + addsd %xmm13, %xmm7 + movsd -32(%rbp), %xmm15 + subsd -8(%rbp), %xmm15 + movsd %xmm15, -24(%rbp) + movsd -32(%rbp), %xmm1 + movsd -24(%rbp), %xmm0 + subsd %xmm0, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm2 + subsd %xmm2, %xmm3 + movsd %xmm3, -24(%rbp) + movsd -32(%rbp), %xmm5 + movsd -24(%rbp), %xmm4 + movaps %xmm4, %xmm3 + mulsd %xmm5, %xmm3 + mulsd %xmm5, %xmm5 + mulsd %xmm4, %xmm4 + mulsd %xmm8, %xmm5 + addsd %xmm3, %xmm4 + mulsd %xmm5, %xmm9 + addsd %xmm3, %xmm4 + addsd 3664+_vmlsErfcHATab(%rip), %xmm9 + movsd %xmm4, -32(%rbp) + movsd -32(%rbp), %xmm4 + movsd %xmm9, -48(%rbp) + movsd -48(%rbp), %xmm1 + mulsd %xmm8, %xmm4 + subsd 3664+_vmlsErfcHATab(%rip), %xmm1 + mulsd %xmm1, %xmm10 + xorps .FLT_165(%rip), %xmm1 + subsd %xmm10, %xmm5 + mulsd 3648+_vmlsErfcHATab(%rip), %xmm1 + movaps %xmm5, %xmm11 + movaps %xmm5, %xmm13 + movl -48(%rbp), %edx + movl %edx, %r9d + andl $63, %r9d + addsd %xmm1, %xmm11 + movsd %xmm11, -32(%rbp) + lea 328(%r9,%r9), %r10d + movsd -32(%rbp), %xmm12 + lea 327(%r9,%r9), %ecx + shrl $6, %edx + subsd %xmm12, %xmm13 + movsd %xmm13, -24(%rbp) + addl $1023, %edx + movsd -32(%rbp), %xmm0 + andl $2047, %edx + movsd -24(%rbp), %xmm14 + shll $4, %edx + addsd %xmm14, %xmm0 + movsd %xmm0, -16(%rbp) + movsd -24(%rbp), %xmm15 + addsd %xmm15, %xmm1 + movsd %xmm1, -24(%rbp) + movsd -16(%rbp), %xmm0 + subsd %xmm0, %xmm5 + movsd %xmm5, -16(%rbp) + movsd -24(%rbp), %xmm0 + movsd -16(%rbp), %xmm5 + addsd %xmm5, %xmm0 + movsd %xmm0, -16(%rbp) + movsd -32(%rbp), %xmm11 + movaps %xmm11, %xmm1 + movaps %xmm11, %xmm8 + movsd -16(%rbp), %xmm3 + addsd %xmm4, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm2 + movsd 2608+_vmlsErfcHATab(%rip), %xmm0 + subsd %xmm2, %xmm8 + movsd %xmm8, -24(%rbp) + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm5 + addsd %xmm5, %xmm9 + movsd %xmm9, -16(%rbp) + movsd -24(%rbp), %xmm10 + addsd %xmm10, %xmm4 + movsd %xmm4, -24(%rbp) + movsd -16(%rbp), %xmm4 + subsd %xmm4, %xmm11 + movsd 3672+_vmlsErfcHATab(%rip), %xmm4 + movsd %xmm11, -16(%rbp) + movsd -24(%rbp), %xmm13 + movsd -16(%rbp), %xmm12 + addsd %xmm12, %xmm13 + movsd %xmm13, -16(%rbp) + movsd -32(%rbp), %xmm1 + mulsd %xmm1, %xmm0 + movaps %xmm1, %xmm14 + movsd -16(%rbp), %xmm2 + addsd 2600+_vmlsErfcHATab(%rip), %xmm0 + addsd %xmm2, %xmm3 + mulsd %xmm1, %xmm0 + movsd (%rsi,%rcx,8), %xmm2 + addsd 2592+_vmlsErfcHATab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 2584+_vmlsErfcHATab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + addsd 2576+_vmlsErfcHATab(%rip), %xmm0 + mulsd %xmm1, %xmm0 + mulsd %xmm1, %xmm0 + addsd %xmm0, %xmm14 + movsd %xmm14, -24(%rbp) + movsd -24(%rbp), %xmm15 + subsd %xmm15, %xmm0 + movsd 3672+_vmlsErfcHATab(%rip), %xmm15 + addsd %xmm0, %xmm1 + movsd %xmm1, -16(%rbp) + movsd -24(%rbp), %xmm11 + mulsd %xmm11, %xmm4 + movsd -16(%rbp), %xmm1 + movsd %xmm4, -32(%rbp) + movsd -32(%rbp), %xmm5 + subsd %xmm11, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm9 + movsd -24(%rbp), %xmm8 + subsd %xmm8, %xmm9 + movsd %xmm9, -32(%rbp) + movsd -32(%rbp), %xmm10 + subsd %xmm10, %xmm11 + movaps %xmm2, %xmm10 + movsd %xmm11, -24(%rbp) + movsd -32(%rbp), %xmm13 + movsd -24(%rbp), %xmm12 + mulsd %xmm13, %xmm10 + addsd %xmm3, %xmm12 + movsd (%rsi,%r10,8), %xmm3 + movaps %xmm10, %xmm4 + movaps %xmm3, %xmm0 + addsd %xmm12, %xmm1 + mulsd %xmm3, %xmm13 + mulsd %xmm1, %xmm0 + mulsd %xmm2, %xmm1 + addsd %xmm10, %xmm2 + addsd %xmm1, %xmm0 + addsd %xmm13, %xmm0 + movsd %xmm0, -32(%rbp) + movsd -32(%rbp), %xmm0 + movsd %xmm2, -32(%rbp) + movsd -32(%rbp), %xmm1 + subsd %xmm1, %xmm4 + movsd %xmm4, -24(%rbp) + movsd -32(%rbp), %xmm5 + movsd -24(%rbp), %xmm3 + addsd %xmm3, %xmm5 + movsd %xmm5, -16(%rbp) + movsd -24(%rbp), %xmm8 + addsd (%rsi,%rcx,8), %xmm8 + movsd %xmm8, -24(%rbp) + movsd -16(%rbp), %xmm9 + subsd %xmm9, %xmm10 + movsd %xmm10, -16(%rbp) + movsd -24(%rbp), %xmm12 + movsd -16(%rbp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -16(%rbp) + movsd -32(%rbp), %xmm3 + movsd -16(%rbp), %xmm14 + mulsd %xmm3, %xmm15 + addsd (%rsi,%r10,8), %xmm14 + movsd %xmm15, -32(%rbp) + addsd %xmm14, %xmm0 + movsd -32(%rbp), %xmm14 + movq 3680+_vmlsErfcHATab(%rip), %rsi + subsd %xmm3, %xmm14 + movsd %xmm14, -24(%rbp) + movsd -32(%rbp), %xmm1 + movsd -24(%rbp), %xmm15 + movq %rsi, -40(%rbp) + subsd %xmm15, %xmm1 + movsd %xmm1, -32(%rbp) + movsd -32(%rbp), %xmm2 + shrq $48, %rsi + subsd %xmm2, %xmm3 + movsd %xmm3, -24(%rbp) + andl $-32753, %esi + movsd -32(%rbp), %xmm5 + orl %edx, %esi + movsd -24(%rbp), %xmm4 + movw %si, -34(%rbp) + addsd %xmm0, %xmm4 + movaps %xmm5, %xmm0 + mulsd %xmm7, %xmm0 + mulsd %xmm4, %xmm7 + mulsd %xmm6, %xmm4 + mulsd %xmm6, %xmm5 + addsd %xmm4, %xmm7 + movsd -40(%rbp), %xmm2 + addsd %xmm7, %xmm0 + movsd %xmm0, -32(%rbp) + movsd -32(%rbp), %xmm7 + +.LBL_2_8: + movb 3(%rdi), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_15 + addsd %xmm5, %xmm7 + mulsd %xmm2, %xmm7 + +.LBL_2_10: + cvtsd2ss %xmm7, %xmm7 + movss %xmm7, (%r8) + jmp .LBL_2_14 + +.LBL_2_11: + movsd 3688+_vmlsErfcHATab(%rip), %xmm0 + movl $4, %eax + movaps %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + cvtsd2ss %xmm1, %xmm1 + movss %xmm1, (%r8) + jmp .LBL_2_14 + +.LBL_2_12: + movsd 3688+_vmlsErfcHATab(%rip), %xmm0 + movsd 3712+_vmlsErfcHATab(%rip), %xmm1 + subsd %xmm0, %xmm1 + cvtsd2ss %xmm1, %xmm1 + movss %xmm1, (%r8) + jmp .LBL_2_14 + +.LBL_2_13: + movsd 3696+_vmlsErfcHATab(%rip), %xmm0 + addsd %xmm1, %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + +.LBL_2_14: + movq %rbp, %rsp + popq %rbp + cfi_restore(6) + ret + cfi_offset(6, -16) + +.LBL_2_15: + mulsd %xmm2, %xmm5 + mulsd %xmm2, %xmm7 + movsd 3712+_vmlsErfcHATab(%rip), %xmm2 + xorps .FLT_165(%rip), %xmm5 + movaps %xmm2, %xmm0 + xorps .FLT_165(%rip), %xmm7 + addsd %xmm5, %xmm0 + movsd %xmm0, -32(%rbp) + movsd -32(%rbp), %xmm1 + subsd %xmm1, %xmm2 + addsd %xmm2, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm10 + movaps %xmm10, %xmm3 + movaps %xmm10, %xmm5 + movsd -24(%rbp), %xmm13 + addsd %xmm7, %xmm3 + movsd %xmm3, -32(%rbp) + movsd -32(%rbp), %xmm4 + subsd %xmm4, %xmm5 + movsd %xmm5, -24(%rbp) + movsd -32(%rbp), %xmm8 + movsd -24(%rbp), %xmm6 + addsd %xmm6, %xmm8 + movsd %xmm8, -16(%rbp) + movsd -24(%rbp), %xmm9 + addsd %xmm9, %xmm7 + movsd %xmm7, -24(%rbp) + movsd -16(%rbp), %xmm7 + subsd %xmm7, %xmm10 + movsd %xmm10, -16(%rbp) + movsd -24(%rbp), %xmm12 + movsd -16(%rbp), %xmm11 + addsd %xmm11, %xmm12 + movsd %xmm12, -16(%rbp) + movsd -32(%rbp), %xmm7 + movsd -16(%rbp), %xmm14 + addsd %xmm13, %xmm14 + addsd %xmm14, %xmm7 + jmp .LBL_2_10 + +.LBL_2_16: + testl $8388607, (%rdi) + je .LBL_2_18 + movss (%rdi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_14 + +.LBL_2_18: + movb 3(%rdi), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_20 + movsd 3680+_vmlsErfcHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_14 + +.LBL_2_20: + movsd 3712+_vmlsErfcHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_14 + + cfi_endproc + + .type __svml_serfc_cout_rare_internal,@function + .size __svml_serfc_cout_rare_internal,.-__svml_serfc_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_serfc_data_internal: + .long 1468006400 + .long 1469083323 + .long 1467710626 + .long 1469081012 + .long 1467414997 + .long 1469074083 + .long 1467119656 + .long 1469062547 + .long 1466824747 + .long 1469046420 + .long 1466530414 + .long 1469025725 + .long 1466236799 + .long 1469000494 + .long 1465944042 + .long 1468970762 + .long 1465652285 + .long 1468936573 + .long 1465361664 + .long 1468897977 + .long 1465072319 + .long 1468855029 + .long 1464784382 + .long 1468807791 + .long 1464497988 + .long 1468756332 + .long 1464213266 + .long 1468700724 + .long 1463930347 + .long 1468641048 + .long 1463649354 + .long 1468577388 + .long 1463370412 + .long 1468509835 + .long 1463093641 + .long 1468438483 + .long 1462819158 + .long 1468363432 + .long 1462547076 + .long 1468284786 + .long 1462277507 + .long 1468202655 + .long 1462010557 + .long 1468117152 + .long 1461746331 + .long 1468028392 + .long 1461484928 + .long 1467866591 + .long 1461226443 + .long 1467676775 + .long 1460970970 + .long 1467481186 + .long 1460718597 + .long 1467280084 + .long 1460469407 + .long 1467073732 + .long 1460223481 + .long 1466862398 + .long 1459980894 + .long 1466646353 + .long 1459741717 + .long 1466425871 + .long 1459394246 + .long 1466201230 + .long 1458929930 + .long 1465972709 + .long 1458472813 + .long 1465740589 + .long 1458023002 + .long 1465505150 + .long 1457580597 + .long 1465266676 + .long 1457145687 + .long 1465025447 + .long 1456718356 + .long 1464781745 + .long 1456298675 + .long 1464535848 + .long 1455886709 + .long 1464288035 + .long 1455482514 + .long 1464038581 + .long 1455086136 + .long 1463787758 + .long 1454697615 + .long 1463535836 + .long 1454316979 + .long 1463283081 + .long 1453944252 + .long 1463029753 + .long 1453579447 + .long 1462776110 + .long 1453222570 + .long 1462522403 + .long 1452873619 + .long 1462268879 + .long 1452532585 + .long 1462015777 + .long 1452199450 + .long 1461763334 + .long 1451874191 + .long 1461511777 + .long 1451556776 + .long 1461261327 + .long 1451247168 + .long 1461012199 + .long 1450661460 + .long 1460764601 + .long 1450073189 + .long 1460518732 + .long 1449500227 + .long 1460274786 + .long 1448942445 + .long 1460032945 + .long 1448399709 + .long 1459793387 + .long 1447871869 + .long 1459494771 + .long 1447358767 + .long 1459025783 + .long 1446860236 + .long 1458562323 + .long 1446376097 + .long 1458104680 + .long 1445906166 + .long 1457653124 + .long 1445450247 + .long 1457207908 + .long 1445008139 + .long 1456769272 + .long 1444579633 + .long 1456337436 + .long 1444164512 + .long 1455912603 + .long 1443762556 + .long 1455494963 + .long 1443373537 + .long 1455084685 + .long 1442997221 + .long 1454681926 + .long 1442426169 + .long 1454286826 + .long 1441722923 + .long 1453899507 + .long 1441043638 + .long 1453520078 + .long 1440387819 + .long 1453148633 + .long 1439754963 + .long 1452785250 + .long 1439144565 + .long 1452429994 + .long 1438556115 + .long 1452082915 + .long 1437989102 + .long 1451744049 + .long 1437443010 + .long 1451413421 + .long 1436917324 + .long 1450952898 + .long 1436411530 + .long 1450324632 + .long 1435925111 + .long 1449712833 + .long 1435457554 + .long 1449117454 + .long 1435008348 + .long 1448538422 + .long 1434576982 + .long 1447975647 + .long 1433873932 + .long 1447429017 + .long 1433079531 + .long 1446898404 + .long 1432317796 + .long 1446383659 + .long 1431587742 + .long 1445884619 + .long 1430888392 + .long 1445401103 + .long 1430218781 + .long 1444932918 + .long 1429577958 + .long 1444479854 + .long 1428964985 + .long 1444041692 + .long 1428378937 + .long 1443618198 + .long 1427818905 + .long 1443209129 + .long 1427283996 + .long 1442787888 + .long 1426773332 + .long 1442025913 + .long 1426286053 + .long 1441291216 + .long 1425579266 + .long 1440583244 + .long 1424693215 + .long 1439901427 + .long 1423848975 + .long 1439245189 + .long 1423044966 + .long 1438613942 + .long 1422279644 + .long 1438007090 + .long 1421551504 + .long 1437424033 + .long 1420859077 + .long 1436864164 + .long 1420200933 + .long 1436326873 + .long 1419575680 + .long 1435811549 + .long 1418981964 + .long 1435317579 + .long 1418418470 + .long 1434844351 + .long 1417883921 + .long 1434330543 + .long 1417079401 + .long 1433463400 + .long 1416118721 + .long 1432634096 + .long 1415208720 + .long 1431841432 + .long 1414347147 + .long 1431084221 + .long 1413531822 + .long 1430361287 + .long 1412760640 + .long 1429671468 + .long 1412031567 + .long 1429013620 + .long 1411342639 + .long 1428386614 + .long 1410691965 + .long 1427789339 + .long 1410077719 + .long 1427220705 + .long 1409498146 + .long 1426679642 + .long 1408616967 + .long 1426165099 + .long 1407586499 + .long 1425288738 + .long 1406615622 + .long 1424359616 + .long 1405701336 + .long 1423477509 + .long 1404840762 + .long 1422640500 + .long 1404031141 + .long 1421846724 + .long 1403269827 + .long 1421094363 + .long 1402554287 + .long 1420381647 + .long 1401882099 + .long 1419706860 + .long 1401250942 + .long 1419068334 + .long 1400419671 + .long 1418464450 + .long 1399308394 + .long 1417893642 + .long 1398266481 + .long 1417034033 + .long 1397290079 + .long 1416015717 + .long 1396375514 + .long 1415054748 + .long 1395519289 + .long 1414148391 + .long 1394718074 + .long 1413294005 + .long 1393968701 + .long 1412489047 + .long 1393268157 + .long 1411731067 + .long 1392613580 + .long 1411017710 + .long 1391495577 + .long 1410346710 + .long 1390354264 + .long 1409715893 + .long 1389289401 + .long 1408960197 + .long 1388296352 + .long 1407846941 + .long 1387370725 + .long 1406802038 + .long 1386508366 + .long 1405821818 + .long 1385705340 + .long 1404902767 + .long 1384957931 + .long 1404041531 + .long 1384262627 + .long 1403234902 + .long 1383111902 + .long 1402479822 + .long 1381910185 + .long 1401773372 + .long 1380793880 + .long 1401112774 + .long 1379757423 + .long 1400093220 + .long 1378795573 + .long 1398939798 + .long 1377903393 + .long 1397862954 + .long 1377076243 + .long 1396858136 + .long 1376309756 + .long 1395921024 + .long 1375467948 + .long 1395047518 + .long 1374153513 + .long 1394233731 + .long 1372937261 + .long 1393475980 + .long 1371812408 + .long 1392770778 + .long 1370772594 + .long 1391720729 + .long 1369811859 + .long 1390501096 + .long 1368924622 + .long 1389367835 + .long 1368105660 + .long 1388315384 + .long 1367350089 + .long 1387338494 + .long 1365963580 + .long 1386432215 + .long 1364679201 + .long 1385591884 + .long 1363495972 + .long 1384813111 + .long 1362406459 + .long 1384063207 + .long 1361403729 + .long 1382727593 + .long 1360481319 + .long 1381491759 + .long 1359633211 + .long 1380348847 + .long 1358753104 + .long 1379292423 + .long 1357321245 + .long 1378316449 + .long 1356006652 + .long 1377415270 + .long 1354800309 + .long 1376583587 + .long 1353693842 + .long 1375816440 + .long 1352679479 + .long 1374486664 + .long 1351750007 + .long 1373183277 + .long 1350898736 + .long 1371982901 + .long 1349673048 + .long 1370877969 + .long 1348247034 + .long 1369861418 + .long 1346942910 + .long 1368926664 + .long 1345750840 + .long 1368067570 + .long 1344661728 + .long 1367213739 + .long 1343667167 + .long 1365764691 + .long 1342759391 + .long 1364434996 + .long 1341685187 + .long 1363215454 + .long 1340174879 + .long 1362097517 + .long 1338798378 + .long 1361073249 + .long 1337544443 + .long 1360135285 + .long 1336402718 + .long 1359276796 + .long 1335363669 + .long 1358028410 + .long 1334418524 + .long 1356592291 + .long 1333329760 + .long 1355279886 + .long 1331767989 + .long 1354081153 + .long 1330349443 + .long 1352986812 + .long 1329061615 + .long 1351988283 + .long 1327893031 + .long 1351077646 + .long 1326833167 + .long 1349929293 + .long 1325872377 + .long 1348416862 + .long 1324603588 + .long 1347039679 + .long 1323026782 + .long 1345786292 + .long 1321599465 + .long 1344646158 + .long 1320308097 + .long 1343609574 + .long 1319140298 + .long 1342667618 + .long 1318084760 + .long 1341446900 + .long 1317131157 + .long 1339893634 + .long 1315528675 + .long 1338484326 + .long 1313974324 + .long 1337206289 + .long 1312572135 + .long 1336047887 + .long 1311307829 + .long 1334998457 + .long 1310168405 + .long 1334048233 + .long 1309142027 + .long 1332587880 + .long 1307813016 + .long 1331032143 + .long 1306149818 + .long 1329625629 + .long 1304653827 + .long 1328354672 + .long 1303308888 + .long 1327206792 + .long 1302100340 + .long 1326170599 + .long 1301014883 + .long 1325071340 + .long 1299846668 + .long 1323385191 + .long 1298098009 + .long 1321865422 + .long 1296529749 + .long 1320496313 + .long 1295123963 + .long 1319263555 + .long 1293864435 + .long 1318154133 + .long 1292736498 + .long 1317156213 + .long 1291608161 + .long 1315506636 + .long 1289801684 + .long 1313894280 + .long 1288186310 + .long 1312446180 + .long 1286742527 + .long 1311146265 + .long 1285452738 + .long 1309979960 + .long 1284301081 + .long 1308934065 + .long 1283089506 + .long 1307370395 + .long 1281255815 + .long 1305690774 + .long 1279620902 + .long 1304186844 + .long 1278163931 + .long 1302840907 + .long 1276866169 + .long 1301636977 + .long 1275710782 + .long 1300560616 + .long 1274296888 + .long 1298963343 + .long 1272468005 + .long 1297245263 + .long 1270842149 + .long 1295711559 + .long 1269397488 + .long 1294343136 + .long 1268114453 + .long 1293122800 + .long 1266975520 + .long 1292035074 + .long 1265250187 + .long 1290286443 + .long 1263457881 + .long 1288560720 + .long 1261869203 + .long 1287024853 + .long 1260461706 + .long 1285658646 + .long 1259215335 + .long 1284443971 + .long 1257933167 + .long 1283272104 + .long 1255981342 + .long 1281354667 + .long 1254255487 + .long 1279652476 + .long 1252730185 + .long 1278142131 + .long 1251382789 + .long 1276802684 + .long 1250193129 + .long 1275615396 + .long 1248383912 + .long 1274058608 + .long 1246531782 + .long 1272195701 + .long 1244898869 + .long 1270546909 + .long 1243459931 + .long 1269088358 + .long 1242192544 + .long 1267798745 + .long 1240639617 + .long 1266638344 + .long 1238676087 + .long 1264625041 + .long 1236949181 + .long 1262847614 + .long 1235431125 + .long 1261279219 + .long 1234097314 + .long 1259895966 + .long 1232726536 + .long 1258676614 + .long 1230670161 + .long 1256913364 + .long 1228866009 + .long 1255021196 + .long 1227283916 + .long 1253355740 + .long 1225897229 + .long 1251890570 + .long 1224628042 + .long 1250602245 + .long 1222500560 + .long 1249037384 + .long 1220638574 + .long 1247048195 + .long 1219009747 + .long 1245301731 + .long 1217585578 + .long 1243769143 + .long 1216333762 + .long 1242424914 + .long 1214159418 + .long 1240978985 + .long 1212261059 + .long 1238913861 + .long 1210604462 + .long 1237105268 + .long 1209159545 + .long 1235522132 + .long 1207840196 + .long 1234137042 + .long 1205644919 + .long 1232726284 + .long 1203732957 + .long 1230609021 + .long 1202068558 + .long 1228759404 + .long 1200620375 + .long 1227144406 + .long 1199150928 + .long 1225734974 + .long 1196961407 + .long 1224274345 + .long 1195059107 + .long 1222130630 + .long 1193407158 + .long 1220262583 + .long 1191973312 + .long 1218635571 + .long 1190276428 + .long 1217219200 + .long 1188119142 + .long 1215625472 + .long 1186249419 + .long 1213481951 + .long 1184629718 + .long 1211618738 + .long 1183227291 + .long 1209999986 + .long 1181233440 + .long 1208594324 + .long 1179133702 + .long 1206789071 + .long 1177318293 + .long 1204672362 + .long 1175749478 + .long 1202837046 + .long 1174383725 + .long 1201246509 + .long 1172044026 + .long 1199868792 + .long 1170025096 + .long 1197781088 + .long 1168283809 + .long 1195716794 + .long 1166782716 + .long 1193931388 + .long 1164962123 + .long 1192387961 + .long 1162734328 + .long 1190926432 + .long 1160816648 + .long 1188623062 + .long 1159166720 + .long 1186634851 + .long 1157747852 + .long 1184919532 + .long 1155428661 + .long 1183440388 + .long 1153333153 + .long 1181537344 + .long 1151533744 + .long 1179340890 + .long 1149989349 + .long 1177449686 + .long 1148089652 + .long 1175822122 + .long 1145817645 + .long 1174422144 + .long 1143870484 + .long 1172031935 + .long 1142202536 + .long 1169963373 + .long 1140698237 + .long 1168186720 + .long 1138254036 + .long 1166661544 + .long 1136163386 + .long 1164689286 + .long 1134376020 + .long 1162444698 + .long 1132848688 + .long 1160520695 + .long 1130626310 + .long 1158872311 + .long 1128399067 + .long 1157293628 + .long 1126498637 + .long 1154877360 + .long 1124877859 + .long 1152810318 + .long 1122919037 + .long 1151042908 + .long 1120564739 + .long 1149532448 + .long 1118559819 + .long 1147245153 + .long 1116853261 + .long 1145042050 + .long 1115117884 + .long 1143162047 + .long 1112648650 + .long 1141558556 + .long 1110549952 + .long 1139532490 + .long 1108767058 + .long 1137202983 + .long 1107210116 + .long 1135219064 + .long 1104640487 + .long 1133530304 + .long 1102460721 + .long 1131724929 + .long 1100612571 + .long 1129281283 + .long 1099046352 + .long 1127204292 + .long 1096531758 + .long 1125439818 + .long 1094285410 + .long 1123809692 + .long 1092384524 + .long 1121266617 + .long 1090776756 + .long 1119109407 + .long 1088316103 + .long 1117280423 + .long 1086019154 + .long 1115730494 + .long 1084079241 + .long 1113150527 + .long 1082441665 + .long 1110927737 + .long 1079989535 + .long 1109046891 + .long 1077659121 + .long 1107456175 + .long 1075694786 + .long 1104926752 + .long 1074039830 + .long 1102654513 + .long 1071550590 + .long 1100735638 + .long 1069204624 + .long 1099115979 + .long 1067231037 + .long 1096591466 + .long 1065571531 + .long 1094287050 + .long 1063000391 + .long 1092344862 + .long 1060657146 + .long 1090708776 + .long 1058689694 + .long 1088143423 + .long 1057038575 + .long 1085824856 + .long 1054342600 + .long 1083874614 + .long 1052020286 + .long 1082235000 + .long 1050074213 + .long 1079584011 + .long 1048312444 + .long 1077269645 + .long 1045583282 + .long 1075326796 + .long 1043299623 + .long 1073651441 + .long 1041389676 + .long 1070917194 + .long 1039398736 + .long 1068625276 + .long 1036730679 + .long 1066705083 + .long 1034502505 + .long 1064841025 + .long 1032642600 + .long 1062149358 + .long 1030382926 + .long 1059897600 + .long 1027794902 + .long 1058014789 + .long 1025637785 + .long 1055917897 + .long 1023840705 + .long 1053289072 + .long 1021278425 + .long 1051094240 + .long 1018787570 + .long 1049262661 + .long 1016715493 + .long 1046893941 + .long 1014963688 + .long 1044346762 + .long 1012100073 + .long 1042224306 + .long 1009721393 + .long 1040456628 + .long 1007746493 + .long 1037782920 + .long 1005582303 + .long 1035334330 + .long 1002863627 + .long 1033298061 + .long 1000609748 + .long 1031412254 + .long 998742114 + .long 1028599975 + .long 996146231 + .long 1026264730 + .long 993585243 + .long 1024326561 + .long 991466235 + .long 1022027318 + .long 989571829 + .long 1019361103 + .long 986674645 + .long 1017151524 + .long 984280972 + .long 1015321280 + .long 982304268 + .long 1012590427 + .long 979878256 + .long 1010082624 + .long 977186171 + .long 1008008436 + .long 974966292 + .long 1005954511 + .long 973136685 + .long 1003120879 + .long 970180417 + .long 1000780675 + .long 967698377 + .long 998848931 + .long 965655694 + .long 996265936 + .long 963260910 + .long 993637326 + .long 960497918 + .long 991470731 + .long 958227342 + .long 989515917 + .long 956362337 + .long 986576468 + .long 953361102 + .long 984157261 + .long 950848277 + .long 982167204 + .long 948787314 + .long 979594821 + .long 946282863 + .long 976905540 + .long 943514136 + .long 974696597 + .long 941246612 + .long 972687661 + .long 939256839 + .long 969711425 + .long 936219526 + .long 967270403 + .long 933735677 + .long 965269336 + .long 931705430 + .long 962569561 + .long 928958027 + .long 959884047 + .long 926249145 + .long 957685815 + .long 924038202 + .long 955473363 + .long 921722217 + .long 952531978 + .long 918780868 + .long 950127868 + .long 916383703 + .long 948163864 + .long 914430996 + .long 945207681 + .long 911323959 + .long 942590074 + .long 908736284 + .long 940454823 + .long 906631474 + .long 937903712 + .long 903870859 + .long 935066289 + .long 901089782 + .long 932755156 + .long 898830970 + .long 930611760 + .long 896413426 + .long 927549701 + .long 893437597 + .long 925059289 + .long 891024144 + .long 923034805 + .long 888943039 + .long 920032901 + .long 885772782 + .long 917361201 + .long 883205408 + .long 915192560 + .long 881127282 + .long 912507977 + .long 878088144 + .long 909654498 + .long 875369007 + .long 907341732 + .long 873171260 + .long 904966623 + .long 870376358 + .long 901932504 + .long 867509114 + .long 899476967 + .long 865195052 + .long 897400265 + .long 862630091 + .long 894188368 + .long 859619931 + .long 891592798 + .long 857194082 + .long 889496324 + .long 854842134 + .long 886415174 + .long 851695791 + .long 883683743 + .long 849163904 + .long 881480795 + .long 847005533 + .long 878606067 + .long 843731265 + .long 875744396 + .long 841100293 + .long 873439820 + .long 838987260 + .long 870754371 + .long 835721267 + .long 867769530 + .long 832999319 + .long 865369317 + .long 830816421 + .long 862853723 + .long 827661157 + .long 859754200 + .long 824857435 + .long 857265451 + .long 822612249 + .long 854898195 + .long 819546831 + .long 851693836 + .long 816671542 + .long 849124713 + .long 814372415 + .long 846882413 + .long 811374812 + .long 843584340 + .long 808439058 + .long 840943989 + .long 806095018 + .long 838801668 + .long 803142319 + .long 835422168 + .long 800157971 + .long 832720627 + .long 797778619 + .long 830562104 + .long 794847327 + .long 827204409 + .long 791826883 + .long 824452495 + .long 789422278 + .long 822256973 + .long 786488613 + .long 818928842 + .long 783445040 + .long 816138023 + .long 781025569 + .long 813914751 + .long 778065779 + .long 810593987 + .long 775012349 + .long 807776239 + .long 772588593 + .long 805534829 + .long 769579266 + .long 802199140 + .long 766529377 + .long 799366789 + .long 764111977 + .long 797117093 + .long 761030340 + .long 793744381 + .long 757997345 + .long 790909950 + .long 755596854 + .long 788661925 + .long 752421064 + .long 785230580 + .long 749418096 + .long 782406614 + .long 747044848 + .long 780170198 + .long 743754259 + .long 776659372 + .long 740794057 + .long 773858279 + .long 738458031 + .long 771534567 + .long 735033440 + .long 768033127 + .long 732128189 + .long 765267009 + .long 729838884 + .long 762802410 + .long 726262742 + .long 759354892 + .long 723423925 + .long 756635394 + .long 720960200 + .long 754007748 + .long 717446837 + .long 750628333 + .long 714685098 + .long 747966491 + .long 711998810 + .long 745155664 + .long 708590838 + .long 741857653 + .long 705915864 + .long 739263766 + .long 702991441 + .long 736251845 + .long 699700193 + .long 733047509 + .long 697120619 + .long 730531015 + .long 693945174 + .long 727302471 + .long 690780589 + .long 724202911 + .long 688303920 + .long 721772295 + .long 684867291 + .long 718314090 + .long 681837836 + .long 715329133 + .long 679463538 + .long 712952001 + .long 675765148 + .long 709293489 + .long 672877770 + .long 706431604 + .long 670160677 + .long 703744899 + .long 666646047 + .long 700247572 + .long 663906148 + .long 697515811 + .long 660842466 + .long 694511704 + .long 657517110 + .long 691183236 + .long 654928558 + .long 688587206 + .long 651517654 + .long 685261013 + .long 648385175 + .long 682107249 + .long 645950332 + .long 679651106 + .long 642194544 + .long 676001174 + .long 639256692 + .long 673026147 + .long 636418741 + .long 670336603 + .long 632880880 + .long 666740155 + .long 630137645 + .long 663946133 + .long 626877591 + .long 660853110 + .long 623583758 + .long 657485432 + .long 621033478 + .long 654872995 + .long 617362739 + .long 651383429 + .long 614309547 + .long 648243897 + .long 611529709 + .long 645701255 + .long 607881564 + .long 641935695 + .long 605063842 + .long 639021783 + .long 601797381 + .long 636001817 + .long 598440439 + .long 632517165 + .long 595851429 + .long 629824603 + .long 592120142 + .long 626344614 + .long 589044704 + .long 623134154 + .long 586149985 + .long 620557241 + .long 582503853 + .long 616736792 + .long 579698665 + .long 613792012 + .long 576269088 + .long 610678235 + .long 572953085 + .long 607184269 + .long 570385896 + .long 604495111 + .long 566473708 + .long 600873017 + .long 563471167 + .long 597691742 + .long 560299043 + .long 594902550 + .long 556767037 + .long 591146496 + .long 554060246 + .long 588262719 + .long 550325635 + .long 584896909 + .long 547150846 + .long 581502132 + .long 544183229 + .long 578899571 + .long 540466792 + .long 574996715 + .long 537625605 + .long 571942009 + .long 534038291 + .long 568781878 + .long 530722101 + .long 565203517 + .long 527898919 + .long 562466950 + .long 524035864 + .long 558713615 + .long 521089791 + .long 555517370 + .long 517594563 + .long 552505129 + .long 514172699 + .long 548779325 + .long 511428731 + .long 545936993 + .long 507461991 + .long 542279893 + .long 504444221 + .long 538976394 + .long 500982554 + .long 536048971 + .long 497494486 + .long 532217021 + .long 494761646 + .long 529300887 + .long 490737855 + .long 525683263 + .long 487684147 + .long 522310603 + .long 484196291 + .long 519401848 + .long 480683876 + .long 515508851 + .long 477893663 + .long 512553530 + .long 473861521 + .long 508917183 + .long 470808936 + .long 505515955 + .long 467236084 + .long 502559033 + .long 463742063 + .long 498652303 + .long 460828043 + .long 495693834 + .long 456836553 + .long 491981246 + .long 453822113 + .long 488593082 + .long 450108504 + .long 485522913 + .long 446674950 + .long 481650263 + .long 443575111 + .long 478724796 + .long 439671802 + .long 474881210 + .long 436731145 + .long 471547261 + .long 432825998 + .long 468302845 + .long 429492800 + .long 464510835 + .long 426151645 + .long 461653312 + .long 422380878 + .long 457628646 + .long 419547002 + .long 454388086 + .long 415406149 + .long 450914591 + .long 412209632 + .long 447246861 + .long 408579892 + .long 444383316 + .long 404981362 + .long 440240255 + .long 401913862 + .long 437128908 + .long 397870664 + .long 433379392 + .long 394842413 + .long 429875162 + .long 390886301 + .long 426675867 + .long 387493804 + .long 422736888 + .long 384037294 + .long 419786058 + .long 380244155 + .long 415722740 + .long 377332879 + .long 412415577 + .long 373100058 + .long 408841626 + .long 369940601 + .long 405142373 + .long 366068197 + .long 402102668 + .long 362552825 + .long 397972961 + .long 359155309 + .long 394889864 + .long 355251560 + .long 390913947 + .long 352344833 + .long 387482219 + .long 348041553 + .long 383971994 + .long 344823134 + .long 380159705 + .long 340927495 + .long 377153763 + .long 337370913 + .long 372927021 + .long 333913970 + .long 369782309 + .long 329991363 + .long 365788807 + .long 327005411 + .long 362312473 + .long 322687551 + .long 358749604 + .long 319486576 + .long 354914217 + .long 315462382 + .long 351813803 + .long 311949175 + .long 347590577 + .long 308318558 + .long 344459261 + .long 304470186 + .long 340344435 + .long 301258539 + .long 336906618 + .long 297051252 + .long 333178469 + .long 293942889 + .long 329411554 + .long 289693797 + .long 326095120 + .long 286305476 + .long 321975699 + .long 282398997 + .long 318931825 + .long 278712711 + .long 314600468 + .long 275167751 + .long 311281538 + .long 271165121 + .long 307287030 + .long 268000643 + .long 303675288 + .long 263663002 + .long 300036281 + .long 260472385 + .long 296113601 + .long 256206401 + .long 292848806 + .long 252758851 + .long 288596776 + .long 248795091 + .long 285468764 + .long 245077185 + .long 281124861 + .long 241428554 + .long 277744189 + .long 237426916 + .long 273697638 + .long 234105964 + .long 270051062 + .long 229807344 + .long 266314599 + .long 226659293 + .long 262388917 + .long 222217536 + .long 258974929 + .long 218845744 + .long 254757068 + .long 214656315 + .long 251667866 + .long 211051926 + .long 247154591 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .long 1092681728 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .long 1207959552 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .long 662700032 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .long 1040754634 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .long 3198865186 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .long 1056987958 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .long 3198897883 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .long 1059760806 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .long 3212836860 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .long 1092673019 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .long 1468006400 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_serfc_data_internal,@object + .size __svml_serfc_data_internal,6080 + .align 32 + +_vmlsErfcHATab: + .long 0 + .long 3217031168 + .long 2536042781 + .long 1072398983 + .long 1399772821 + .long 1016356498 + .long 2716363190 + .long 3220293167 + .long 2515012741 + .long 3163350672 + .long 2716363190 + .long 1069663791 + .long 2240747611 + .long 1012721291 + .long 3687592758 + .long 1071052114 + .long 803907102 + .long 1011174242 + .long 3448634865 + .long 3216086729 + .long 750050903 + .long 3160740647 + .long 601957364 + .long 3216681894 + .long 1555639211 + .long 3160184931 + .long 1774552010 + .long 1066874090 + .long 3884532135 + .long 1066963544 + .long 3233761315 + .long 3212244609 + .long 1379327181 + .long 3211950387 + .long 242623580 + .long 1062350129 + .long 2275269623 + .long 1061641073 + .long 254615366 + .long 3207068314 + .long 2447494219 + .long 3206114823 + .long 604424981 + .long 1056656877 + .long 50341065 + .long 1055592081 + .long 0 + .long 3218341888 + .long 1599080160 + .long 1071977136 + .long 688395245 + .long 1016124311 + .long 3971924631 + .long 3220201427 + .long 3564228032 + .long 3164632085 + .long 3891163965 + .long 1070888904 + .long 3480798202 + .long 1014571560 + .long 1621928818 + .long 1070698875 + .long 4020082186 + .long 1015153452 + .long 685042962 + .long 3217236647 + .long 3489060295 + .long 3157926645 + .long 2848795668 + .long 3216002128 + .long 3762448119 + .long 3161313806 + .long 1324211555 + .long 1067961974 + .long 1476477459 + .long 1065781932 + .long 2515812913 + .long 3213241000 + .long 3304760842 + .long 3210133507 + .long 716797578 + .long 1063287120 + .long 2283992921 + .long 1058905221 + .long 2268754290 + .long 3207879309 + .long 1012519479 + .long 3199289324 + .long 944669356 + .long 1057318598 + .long 1931303816 + .long 3198859641 + .long 0 + .long 3219390464 + .long 1180573078 + .long 1071127762 + .long 4113175178 + .long 1014965748 + .long 2484292509 + .long 3219680918 + .long 959898156 + .long 3163955503 + .long 957881989 + .long 1071548988 + .long 442195505 + .long 1012747532 + .long 35029730 + .long 1068269829 + .long 976783580 + .long 1012161104 + .long 2319046290 + .long 3217462844 + .long 10747389 + .long 3161497233 + .long 3758081287 + .long 1067192898 + .long 1126055042 + .long 1009745370 + .long 1760060230 + .long 1067789094 + .long 3251266701 + .long 3213655257 + .long 2806967453 + .long 3212534516 + .long 1864685761 + .long 1064158132 + .long 3738348856 + .long 1061687624 + .long 790737257 + .long 3209050005 + .long 1943644508 + .long 3204796481 + .long 2914584687 + .long 1058674792 + .long 2574038108 + .long 3201168805 + .long 1252008665 + .long 3203024355 + .long 0 + .long 3220439040 + .long 866709712 + .long 1068743889 + .long 2877058776 + .long 1013060082 + .long 4210332368 + .long 3217966674 + .long 1459199107 + .long 3162249891 + .long 3688727889 + .long 1070787571 + .long 2792291460 + .long 1012143918 + .long 855534605 + .long 3217387984 + .long 759913640 + .long 3160800900 + .long 2131284961 + .long 1064909442 + .long 2597396527 + .long 1009180630 + .long 989201780 + .long 1067984906 + .long 3318708226 + .long 1008612878 + .long 699280746 + .long 3214266544 + .long 993015799 + .long 3211642955 + .long 1559561232 + .long 1064778208 + .long 680189340 + .long 3209609158 + .long 3200850606 + .long 3209524422 + .long 1492278808 + .long 1059590695 + .long 4108347350 + .long 3205935421 + .long 2186414716 + .long 3206817307 + .long 2803204773 + .long 3204791034 + .long 1021304598 + .long 3200312812 + .long 0 + .long 3220701184 + .long 2395493008 + .long 1067539114 + .long 2347713276 + .long 1010696759 + .long 649597580 + .long 3216929335 + .long 3715599898 + .long 3160841752 + .long 1561014649 + .long 1069995433 + .long 3047088181 + .long 1014230941 + .long 735510274 + .long 3217146528 + .long 1352249772 + .long 3161795800 + .long 1629994682 + .long 1067898281 + .long 867814168 + .long 1012540688 + .long 3242132826 + .long 1066299959 + .long 1473115860 + .long 1010684527 + .long 1350993397 + .long 3214133819 + .long 212467593 + .long 1064529314 + .long 1581296174 + .long 1063476333 + .long 1019617056 + .long 3210475870 + .long 326531339 + .long 1058667915 + .long 2560102974 + .long 1060207995 + .long 1059830545 + .long 3205421344 + .long 73331091 + .long 1053435953 + .long 3519680827 + .long 1056963274 + .long 287235298 + .long 1054771565 + .long 0 + .long 3220701184 + .long 2395492868 + .long 1067539114 + .long 3682704431 + .long 1012674156 + .long 649602216 + .long 3216929335 + .long 3411089016 + .long 3161142609 + .long 1560943486 + .long 1069995433 + .long 373233254 + .long 1014373936 + .long 736848572 + .long 3217146528 + .long 1866442275 + .long 3160326248 + .long 1560943474 + .long 1067898281 + .long 3576330307 + .long 1009307384 + .long 649623715 + .long 1066299959 + .long 725533065 + .long 1006865126 + .long 1925526991 + .long 3214133821 + .long 2782059224 + .long 1064529267 + .long 3902564706 + .long 1063475940 + .long 2706862450 + .long 3210478464 + .long 1817950372 + .long 1058560819 + .long 1279984267 + .long 1060154640 + .long 1456324877 + .long 3205782300 + .long 3219859931 + .long 3203609651 + .long 1354896425 + .long 1055916872 + .long 153053737 + .long 3200605489 + .long 0 + .long 3221487616 + .long 4088869944 + .long 1070267315 + .long 2176293176 + .long 1014815941 + .long 2130816332 + .long 3216181357 + .long 1120272801 + .long 3161227146 + .long 2812844367 + .long 1067026776 + .long 3953643227 + .long 1009444623 + .long 1988706352 + .long 3212862240 + .long 4268394231 + .long 3153580175 + .long 1288160248 + .long 1063531968 + .long 2922427679 + .long 1007764987 + .long 2977979581 + .long 3209169358 + .long 3750808263 + .long 3146919566 + .long 985562119 + .long 1059825827 + .long 2519169024 + .long 3205422455 + .long 68429100 + .long 1055964010 + .long 3577866702 + .long 3201415637 + .long 2564607388 + .long 1051841939 + .long 2939200104 + .long 3197398630 + .long 4218579581 + .long 1046628386 + .long 1377164546 + .long 3194351246 + .long 2324734477 + .long 3191977485 + .long 1839603542 + .long 3190921089 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 2802853043 + .long 1014611496 + .long 1293201774 + .long 3215709870 + .long 754100791 + .long 3160212203 + .long 446218444 + .long 1066419198 + .long 4119686598 + .long 1006799142 + .long 464017249 + .long 3211942150 + .long 960597079 + .long 3156358882 + .long 785622302 + .long 1062472140 + .long 3339954945 + .long 1004756287 + .long 2636124640 + .long 3207937516 + .long 2995891561 + .long 3151978990 + .long 742584182 + .long 1058400057 + .long 2101069570 + .long 3203793489 + .long 2181624698 + .long 1054184935 + .long 880779555 + .long 3199513061 + .long 3229614298 + .long 1049846396 + .long 2776250631 + .long 3195146822 + .long 1726624674 + .long 1045262260 + .long 2932756839 + .long 3191068730 + .long 968482455 + .long 3185858272 + .long 839487434 + .long 3187678475 + .long 0 + .long 3221749760 + .long 2099420460 + .long 1070000514 + .long 3971839787 + .long 1014611494 + .long 1293201774 + .long 3215709870 + .long 1164040504 + .long 3160193437 + .long 446218443 + .long 1066419198 + .long 752423430 + .long 1011527589 + .long 464016831 + .long 3211942150 + .long 1037460728 + .long 3156747894 + .long 785625671 + .long 1062472140 + .long 2777520670 + .long 1006268542 + .long 2633474472 + .long 3207937516 + .long 224500896 + .long 3152886542 + .long 768707698 + .long 1058400057 + .long 3292721506 + .long 3203793488 + .long 578140564 + .long 1054184941 + .long 2030948072 + .long 3199512840 + .long 703221627 + .long 1049847594 + .long 3302679767 + .long 3195127268 + .long 1902201635 + .long 1045392042 + .long 4048348141 + .long 3190392845 + .long 436255103 + .long 1040232916 + .long 2856127569 + .long 3184071776 + .long 0 + .long 3222536192 + .long 2660514860 + .long 1069307683 + .long 3910050887 + .long 1010798723 + .long 1232972210 + .long 3214268483 + .long 3319476861 + .long 3158923505 + .long 728349866 + .long 1064340728 + .long 2957516014 + .long 1008704767 + .long 2614894425 + .long 3209210817 + .long 3908389506 + .long 3152259798 + .long 2191212410 + .long 1059199474 + .long 2431020086 + .long 1004176268 + .long 3218723210 + .long 3204065928 + .long 3000611168 + .long 3148331645 + .long 3635880648 + .long 1053991881 + .long 536114836 + .long 3198825982 + .long 772319782 + .long 1048710562 + .long 455323837 + .long 3193559883 + .long 2867783196 + .long 1042956501 + .long 2591697711 + .long 3189077475 + .long 3707131585 + .long 3186333629 + .long 1191412344 + .long 3185702904 + .long 26961465 + .long 3183118419 + .long 3399174677 + .long 3180390946 + .long 0 + .long 3222798336 + .long 2223626006 + .long 1069006900 + .long 1459366060 + .long 1012973801 + .long 1839010552 + .long 3213809654 + .long 2068820260 + .long 3157960411 + .long 1249919926 + .long 1063503734 + .long 962503917 + .long 1008341811 + .long 2100991944 + .long 3208188010 + .long 3825857555 + .long 3152436704 + .long 2359368913 + .long 1057973453 + .long 743880428 + .long 1000696453 + .long 1096261871 + .long 3202576593 + .long 3975107283 + .long 3146343950 + .long 3079668469 + .long 1052233933 + .long 1037052812 + .long 3196903291 + .long 3759245614 + .long 1046563275 + .long 3200735738 + .long 3191134566 + .long 4161299971 + .long 1040588242 + .long 2934206128 + .long 3185832303 + .long 3971101203 + .long 3181383944 + .long 353687358 + .long 3181806266 + .long 3047695518 + .long 3179072314 + .long 3851119497 + .long 3176415447 + .long 0 + .long 3222798336 + .long 2223626017 + .long 1069006900 + .long 1388676355 + .long 1012705760 + .long 1839008253 + .long 3213809654 + .long 815236617 + .long 3157985840 + .long 1250030689 + .long 1063503734 + .long 1288166708 + .long 1008687857 + .long 2094505532 + .long 3208188010 + .long 311037013 + .long 3150622756 + .long 2617751546 + .long 1057973453 + .long 2536920761 + .long 1001852867 + .long 1679260317 + .long 3202576592 + .long 3392965897 + .long 3146533070 + .long 1054244789 + .long 1052233952 + .long 3966408696 + .long 3196902988 + .long 1854848819 + .long 1046565172 + .long 3813743082 + .long 3191116219 + .long 395181184 + .long 1040724488 + .long 2456810233 + .long 3185324136 + .long 4089464644 + .long 1034959658 + .long 3698050549 + .long 3179421276 + .long 1112347086 + .long 1028770902 + .long 218099662 + .long 3172341328 + .long 0 + .long 3223584768 + .long 525966855 + .long 1068285571 + .long 2606587153 + .long 1012297682 + .long 2443413391 + .long 3212232028 + .long 691043050 + .long 3155505245 + .long 1829248673 + .long 1061286877 + .long 797308607 + .long 1005505923 + .long 2897861001 + .long 3205246152 + .long 3729653017 + .long 3149452125 + .long 3517114205 + .long 1054211729 + .long 2096268314 + .long 998380425 + .long 733746641 + .long 3198235249 + .long 2776288247 + .long 3140382828 + .long 312049674 + .long 1047087440 + .long 1779010374 + .long 3191506224 + .long 3398525311 + .long 3186731689 + .long 3932053403 + .long 3187022627 + .long 2526572080 + .long 3184920569 + .long 1052531014 + .long 3182813288 + .long 1237705257 + .long 3180144704 + .long 1818683855 + .long 3176978132 + .long 2771211543 + .long 3173092235 + .long 1784201120 + .long 3168173250 + .long 0 + .long 3223846912 + .long 3317774106 + .long 1067973958 + .long 2923167300 + .long 1012645752 + .long 3241173892 + .long 3211773047 + .long 39491139 + .long 3153850211 + .long 285395131 + .long 1060435582 + .long 2541426776 + .long 1004641207 + .long 1226100891 + .long 3204158226 + .long 1495613600 + .long 3148514544 + .long 3870275689 + .long 1052905917 + .long 965710820 + .long 997239553 + .long 3492316846 + .long 3196564768 + .long 2517483548 + .long 3141228873 + .long 1374076994 + .long 1045282573 + .long 372497316 + .long 3189277616 + .long 3813845480 + .long 3182889951 + .long 3900585526 + .long 3184107613 + .long 1960133516 + .long 3181724363 + .long 148017317 + .long 3179453676 + .long 3471465381 + .long 3176493740 + .long 65590178 + .long 3173153987 + .long 3138884841 + .long 3169027321 + .long 2557226666 + .long 3163936824 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 939524096 + .long 1072704666 + .long 2209988083 + .long 1046076929 + .long 3489660928 + .long 1072716208 + .long 2715237930 + .long 1044950059 + .long 402653184 + .long 1072727877 + .long 36755401 + .long 1042114290 + .long 1744830464 + .long 1072739672 + .long 1032479461 + .long 1045685796 + .long 805306368 + .long 1072751596 + .long 269498903 + .long 1044815501 + .long 3489660928 + .long 1072763649 + .long 2766913307 + .long 1039293264 + .long 2818572288 + .long 1072775834 + .long 2127365126 + .long 1046127799 + .long 939524096 + .long 1072788152 + .long 3950214642 + .long 1045558597 + .long 3892314112 + .long 1072800603 + .long 2850403528 + .long 1045134939 + .long 805306368 + .long 1072813191 + .long 2810207104 + .long 1043762074 + .long 2281701376 + .long 1072825915 + .long 2397289153 + .long 1041802037 + .long 1744830464 + .long 1072838778 + .long 3785033707 + .long 1046074760 + .long 1610612736 + .long 1072851781 + .long 1955981725 + .long 1045924339 + .long 4026531840 + .long 1072864925 + .long 2226165573 + .long 1045725051 + .long 2684354560 + .long 1072878213 + .long 754984053 + .long 1046188044 + .long 134217728 + .long 1072891646 + .long 2842642093 + .long 1044483512 + .long 2952790016 + .long 1072905224 + .long 4200916017 + .long 1044586679 + .long 805306368 + .long 1072918951 + .long 714887508 + .long 1046276775 + .long 805306368 + .long 1072932827 + .long 3685248805 + .long 1045665407 + .long 1207959552 + .long 1072946854 + .long 2295779401 + .long 1045448912 + .long 536870912 + .long 1072961034 + .long 2676240988 + .long 1044345570 + .long 1610612736 + .long 1072975368 + .long 1086643152 + .long 1041785419 + .long 2952790016 + .long 1072989858 + .long 1078920847 + .long 1045890291 + .long 3489660928 + .long 1073004506 + .long 2624917087 + .long 1045747880 + .long 1879048192 + .long 1073019314 + .long 2595540835 + .long 1046115506 + .long 1342177280 + .long 1073034283 + .long 125577743 + .long 1046115646 + .long 805306368 + .long 1073049415 + .long 1771811520 + .long 1046140063 + .long 3623878656 + .long 1073064711 + .long 2774738112 + .long 1045766480 + .long 268435456 + .long 1073080175 + .long 565866387 + .long 1045869701 + .long 2952790016 + .long 1073095806 + .long 1492679939 + .long 1041050306 + .long 2147483648 + .long 1073111608 + .long 612974287 + .long 1044556049 + .long 1610612736 + .long 1073127582 + .long 843197631 + .long 1046084847 + .long 939524096 + .long 1073143730 + .long 3150480267 + .long 1045533800 + .long 3892314112 + .long 1073160053 + .long 2074373662 + .long 1043172334 + .long 1342177280 + .long 1073176555 + .long 587053675 + .long 1046022559 + .long 1879048192 + .long 1073193236 + .long 918464641 + .long 1045387276 + .long 805306368 + .long 1073210099 + .long 2285990923 + .long 1046166841 + .long 2550136832 + .long 1073227145 + .long 682424459 + .long 1043647713 + .long 2550136832 + .long 1073244377 + .long 1678188781 + .long 1045046423 + .long 1073741824 + .long 1073261797 + .long 3671932459 + .long 1044468998 + .long 2550136832 + .long 1073279406 + .long 1656324724 + .long 1043421043 + .long 2952790016 + .long 1073297207 + .long 2659845000 + .long 1042921660 + .long 2550136832 + .long 1073315202 + .long 1043233352 + .long 1046444345 + .long 2147483648 + .long 1073333393 + .long 2162418230 + .long 1044717444 + .long 2013265920 + .long 1073351782 + .long 630511316 + .long 1045098283 + .long 2952790016 + .long 1073370371 + .long 3831108133 + .long 1044508970 + .long 1342177280 + .long 1073389163 + .long 4245662865 + .long 1045817334 + .long 2550136832 + .long 1073408159 + .long 3588780877 + .long 1043705146 + .long 3087007744 + .long 1073427362 + .long 3182425146 + .long 1041483134 + .long 4026531840 + .long 1073446774 + .long 928333188 + .long 1044896498 + .long 2415919104 + .long 1073466398 + .long 2300504125 + .long 1041428596 + .long 3623878656 + .long 1073486235 + .long 1887994668 + .long 1045828938 + .long 671088640 + .long 1073506289 + .long 757630176 + .long 1046044485 + .long 3623878656 + .long 1073526560 + .long 2756972335 + .long 1045675585 + .long 1207959552 + .long 1073547053 + .long 3697834264 + .long 1044397131 + .long 3623878656 + .long 1073567768 + .long 479684631 + .long 1045687954 + .long 0 + .long 1073588710 + .long 730095629 + .long 1045354900 + .long 805306368 + .long 1073609879 + .long 4123739734 + .long 1045159130 + .long 3758096384 + .long 1073631278 + .long 3634164812 + .long 1046359295 + .long 2684354560 + .long 1073652911 + .long 3425467293 + .long 1044718726 + .long 3892314112 + .long 1073674779 + .long 2648473416 + .long 1046054248 + .long 1476395008 + .long 1073696886 + .long 54164518 + .long 1045131818 + .long 2147483648 + .long 1073719233 + .long 2196310654 + .long 1043982605 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1697350398 + .long 1079448903 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 0 + .long 0 + .long 1 + .long 1048576 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .long 0 + .long 1073741824 + .long 1879950331 + .long 1076108223 + .long 1524673704 + .long 3222186233 + .type _vmlsErfcHATab,@object + .size _vmlsErfcHATab,3736 + .space 872, 0x00 + .align 16 + +.FLT_165: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_165,@object + .size .FLT_165,16 diff --git a/sysdeps/x86_64/fpu/svml_d_erfc2_core.S b/sysdeps/x86_64/fpu/svml_d_erfc2_core.S new file mode 100644 index 0000000000..f75b2b3971 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_erfc2_core.S @@ -0,0 +1,29 @@ +/* Function erfc vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_erfc) +WRAPPER_IMPL_SSE2 erfc +END (_ZGVbN2v_erfc) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_erfc) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_erfc4_core.S b/sysdeps/x86_64/fpu/svml_d_erfc4_core.S new file mode 100644 index 0000000000..636849ac47 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_erfc4_core.S @@ -0,0 +1,29 @@ +/* Function erfc vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_erfc) +WRAPPER_IMPL_AVX _ZGVbN2v_erfc +END (_ZGVdN4v_erfc) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_erfc) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_erfc4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_erfc4_core_avx.S new file mode 100644 index 0000000000..af93607d13 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_erfc4_core_avx.S @@ -0,0 +1,25 @@ +/* Function erfc vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_erfc) +WRAPPER_IMPL_AVX _ZGVbN2v_erfc +END (_ZGVcN4v_erfc) diff --git a/sysdeps/x86_64/fpu/svml_d_erfc8_core.S b/sysdeps/x86_64/fpu/svml_d_erfc8_core.S new file mode 100644 index 0000000000..d5f64d2a22 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_erfc8_core.S @@ -0,0 +1,25 @@ +/* Function erfc vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_erfc) +WRAPPER_IMPL_AVX512 _ZGVdN4v_erfc +END (_ZGVeN8v_erfc) diff --git a/sysdeps/x86_64/fpu/svml_s_erfcf16_core.S b/sysdeps/x86_64/fpu/svml_s_erfcf16_core.S new file mode 100644 index 0000000000..6063b4fb71 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_erfcf16_core.S @@ -0,0 +1,25 @@ +/* Function erfcf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_erfcf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_erfcf +END (_ZGVeN16v_erfcf) diff --git a/sysdeps/x86_64/fpu/svml_s_erfcf4_core.S b/sysdeps/x86_64/fpu/svml_s_erfcf4_core.S new file mode 100644 index 0000000000..58cd5f7747 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_erfcf4_core.S @@ -0,0 +1,29 @@ +/* Function erfcf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_erfcf) +WRAPPER_IMPL_SSE2 erfcf +END (_ZGVbN4v_erfcf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_erfcf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_erfcf8_core.S b/sysdeps/x86_64/fpu/svml_s_erfcf8_core.S new file mode 100644 index 0000000000..c7085ab796 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_erfcf8_core.S @@ -0,0 +1,29 @@ +/* Function erfcf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_erfcf) +WRAPPER_IMPL_AVX _ZGVbN4v_erfcf +END (_ZGVdN8v_erfcf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_erfcf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_erfcf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_erfcf8_core_avx.S new file mode 100644 index 0000000000..31e99e59e9 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_erfcf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function erfcf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_erfcf) +WRAPPER_IMPL_AVX _ZGVbN4v_erfcf +END (_ZGVcN8v_erfcf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx.c new file mode 100644 index 0000000000..2664cebb9f --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-erfc.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx2.c new file mode 100644 index 0000000000..2664cebb9f --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-erfc.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx512f.c new file mode 100644 index 0000000000..2664cebb9f --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-erfc-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-erfc.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-erfc.c b/sysdeps/x86_64/fpu/test-double-libmvec-erfc.c new file mode 100644 index 0000000000..7cdd1f8612 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-erfc.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC erfc +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index cc04bd4515..fdacdd1728 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -37,6 +37,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVbN2v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVbN2v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVbN2v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVbN2v_erf) +VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVbN2v_erfc) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 25c2c67d01..c2c12533f2 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -40,6 +40,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVdN4v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVdN4v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVdN4v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVdN4v_erf) +VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVdN4v_erfc) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 34ee56dc3d..acecf23719 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -37,6 +37,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVcN4v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVcN4v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVcN4v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVcN4v_erf) +VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVcN4v_erfc) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index 16890dd28e..c7ef3e8356 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -37,6 +37,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanh), _ZGVeN8v_atanh) VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVeN8v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVeN8v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVeN8v_erf) +VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVeN8v_erfc) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx.c new file mode 100644 index 0000000000..d518588d4f --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-erfcf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx2.c new file mode 100644 index 0000000000..d518588d4f --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-erfcf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx512f.c new file mode 100644 index 0000000000..d518588d4f --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-erfcf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-erfcf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-erfcf.c b/sysdeps/x86_64/fpu/test-float-libmvec-erfcf.c new file mode 100644 index 0000000000..d24b26759e --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-erfcf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC erfcf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 94653998c5..379206fe0e 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -37,6 +37,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVeN16v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVeN16v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVeN16v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVeN16v_erff) +VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVeN16v_erfcf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index ebd49667d6..aa756f97f5 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -37,6 +37,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVbN4v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVbN4v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVbN4v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVbN4v_erff) +VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVbN4v_erfcf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 7419674f5c..68eec1f1ed 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -40,6 +40,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVdN8v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVdN8v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVdN8v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVdN8v_erff) +VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVdN8v_erfcf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 8a77b15c6e..a4759d6156 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -37,6 +37,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (atanhf), _ZGVcN8v_atanhf) VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVcN8v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVcN8v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVcN8v_erff) +VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVcN8v_erfcf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48101 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id ED8913857C7A for ; Wed, 24 Nov 2021 20:23:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ED8913857C7A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785402; bh=8/6u207lCAXtk1u+6JzMKyxEfV05gYyPGvsGX2gAqnE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=D4ZZ9CIBeWfU5g2Mura2m8i/aa9T2Os3bMTALxHJt+nMHYHp2YCEL1mUKsZs6E/jn m7HlDvX6g7lArnK99w74zu1qFql04+X/QjRjwnXLicYD08FDgPekeuy5wBtAvMje/Z 4LuCSAnUOCCemL+s9BzbdzI0AJPsxApqVEa6hy4s= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 92E023857007 for ; Wed, 24 Nov 2021 19:38:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 92E023857007 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235177335" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235177335" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="457145030" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga003.jf.intel.com with ESMTP; 24 Nov 2021 11:38:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7X9021555; Wed, 24 Nov 2021 11:38:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 22/42] x86-64: Add vector erfc/erfcf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:47 -0800 Message-Id: <20211124193807.2093208-23-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector erfc/erfcf and input files to libmvec microbenchmark. libmvec-erfc-inputs: 90% Normal random distribution range: (-6.0, 6.0) mean: 0.0 sigma: 1.0 10% uniform random distribution in range (-5.9, 5.9) libmvec-erfcf-inputs: 90% Normal random distribution range: (-4.0f, 4.0f) mean: 0.0f sigma: 1.0f 10% uniform random distribution in range (-3.9f, 3.9f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-erfc-inputs | 4100 +++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-erfcf-inputs | 4100 +++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-erfc-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-erfcf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 53f9e47b5e..a8138c8e6b 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -52,6 +52,7 @@ libmvec-bench-funcs = \ cbrt \ cosh \ erf \ + erfc \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-erfc-inputs b/sysdeps/x86_64/fpu/libmvec-erfc-inputs new file mode 100644 index 0000000000..8ebf37a916 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-erfc-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-6, 6), mean = 0, standard deviation = 1 +-0x1.11003707ad71cp-2 +-0x1.1f03ac14205d9p-1 +-0x1.88539918864c9p+0 +-0x1.4101316c89f72p-1 +-0x1.3b7fb80733407p-2 +0x1.029dee7ae42b8p+0 +0x1.77fde1eeb3fa9p-1 +0x1.16a53d1f1be7ep+1 +0x1.35a33590dab6ep-1 +-0x1.f85d770c98ac8p-2 +-0x1.75bd8b3896dd6p+0 +-0x1.360247570184fp+0 +0x1.1cb9fa09ed944p+1 +-0x1.cc0c949f502bdp-3 +-0x1.b06432c2571b1p-1 +0x1.e5f318e3e5fffp+0 +-0x1.2bbc5f516e8d5p-2 +-0x1.b20d60c7a530ap-8 +0x1.1ee5aa3496dfdp-1 +0x1.0d39d9919d41cp+0 +-0x1.f35ec91641a28p-2 +-0x1.90e89ab44af72p-1 +-0x1.8718b197051b2p-3 +0x1.e1a883407183ap-1 +-0x1.bb84130e0b6c2p-2 +0x1.66748e4448814p+0 +-0x1.03ac940894e0bp+0 +-0x1.2777c019ddd62p-2 +0x1.1d20fa6e1de58p+0 +-0x1.0d65971f91a47p+0 +0x1.948e128f1e25cp-3 +0x1.a2f9146265a94p-1 +0x1.8dfc3c4334d3fp-3 +-0x1.bafad3f5d9cf8p-1 +0x1.7291977c39bfbp-3 +0x1.0d76b4a8e6ffap-4 +-0x1.8ba0bf00ef4fbp-1 +-0x1.657578a29b5d8p-2 +-0x1.42073771c3e34p-2 +0x1.8688ba9ddb115p-2 +-0x1.3c18dfcd0f52cp-4 +0x1.e264029c179bdp-1 +-0x1.16b4eb16e4697p+0 +0x1.919dfef854b24p-2 +0x1.51a8f5058cf09p-6 +-0x1.cae511128102fp-1 +-0x1.7ed13b350af89p-3 +0x1.7c78e8308fd75p-1 +-0x1.371df5ae1bae6p+0 +-0x1.47b6c3841cc34p-2 +0x1.c0eb159b7735cp-1 +-0x1.041440688e7dcp+0 +0x1.747d826d6612p-1 +-0x1.0e3c3a9af5cbdp+1 +-0x1.9223e1cf1b888p-1 +0x1.2c285914810dep-2 +-0x1.e1009fc24adffp-1 +0x1.a994c08eb3571p-1 +0x1.5642c58ee1935p+0 +0x1.adff0bc4778edp-3 +0x1.8827db1033eb9p-1 +-0x1.7e95d7fb26218p-6 +0x1.7b79307d8a2fep-2 +-0x1.6d0ab05da8ddap+0 +0x1.103a6c7728d5fp-1 +0x1.cb814b7ce6be9p-1 +0x1.ef5984a81ededp-3 +0x1.4511a4ee5b844p-3 +0x1.c3236baf357dbp-3 +-0x1.b5663a8cd3b9ep-5 +0x1.f9775cb63303ap-1 +-0x1.fbe0031478fdap-1 +0x1.ec4068e7020c7p-4 +0x1.0af7c1486d593p-1 +-0x1.18e6b70f08559p-1 +0x1.2fc06a93c1a14p-2 +-0x1.0df60b2d5d5dcp-1 +-0x1.47cb85286ad49p+2 +-0x1.f9bea93247eaap-4 +-0x1.a8a18bac42c3ep-4 +0x1.90aff4a1567edp+1 +0x1.8035aed7e3caap-4 +0x1.6e5336703809cp-1 +-0x1.202ed659e43b3p+0 +-0x1.958d6ede80a6p-2 +-0x1.0252f07a731ddp-1 +-0x1.ae79eb0610afep-2 +-0x1.08e9352d53acdp-2 +0x1.fa1d1125c944ep-1 +0x1.e0e74fafb7d1cp-1 +0x1.42f5899f42e31p+1 +0x1.c1848146e7d0dp+0 +-0x1.37f81a887c07fp-1 +-0x1.d1b8204e578e7p-4 +-0x1.8d8c75ac1faf6p+0 +0x1.c753b324bdc81p+0 +0x1.59d5b085ab03ap-3 +-0x1.ea04b4cf878fbp-4 +0x1.29c33813f534dp-5 +-0x1.c2ee5e411a0abp-1 +0x1.cee3ca87f3fb9p+0 +-0x1.b5e1a68fd908dp-1 +-0x1.42abb872d6d69p-1 +0x1.1d88916f49ef1p+0 +0x1.80ec7c336cd4bp-2 +0x1.b4378660816adp-4 +0x1.9c79d91cd3abbp-1 +-0x1.253082fbb949cp-4 +-0x1.a401128cbd47p-2 +-0x1.7794302387928p-1 +0x1.77052a301b523p-2 +0x1.aa7ee75ee0531p+0 +-0x1.f6ee5bdcf7b24p-6 +0x1.a39a2af50b0c7p-1 +0x1.3221b7312157fp-1 +0x1.5ff5bc5f5da2dp-1 +-0x1.4613a9aa74a1ep-4 +-0x1.6991a4013ce91p+0 +-0x1.1071c932aaf75p+0 +-0x1.055f3a8317374p+0 +0x1.520ed8dc30dfcp-1 +-0x1.6e15432b01ce6p+0 +0x1.e818fff13878bp+0 +-0x1.8b8cb3370be2bp-1 +-0x1.a9f6495b21f7ep-1 +0x1.88e06bd995039p-2 +0x1.750ec69bb3a04p-1 +-0x1.0dd8abfb7163fp-1 +-0x1.99309e84c1aa3p-2 +-0x1.08b1bb04fcb2fp-2 +0x1.20080e45ee5ebp-2 +0x1.0a5b3dcd01fc6p-2 +0x1.273d5ce7af555p+1 +-0x1.27eeab5a7ec7ap+0 +0x1.398225abd6819p-1 +0x1.56fe5fc6fa3c2p+0 +-0x1.f11f36ce3507dp+0 +0x1.9aca951469d7ap-2 +-0x1.8f8d41cd02deep-1 +-0x1.f49e6ed2ea59dp-3 +-0x1.7a129db836d66p-8 +-0x1.1ae76b7d889bbp-1 +0x1.087a59865458p-4 +0x1.6aff85979d2e4p-1 +-0x1.62fa8a2d852ep-2 +0x1.b66d4b202c901p-2 +0x1.b32cf8b59341dp-2 +-0x1.00da8be5de21ap+1 +-0x1.ac60d9bcb0c1ep-1 +-0x1.fbdc48a31f484p-3 +0x1.ce8d89c689577p-2 +-0x1.f0575d582a6f9p-2 +0x1.2480822366da6p+0 +-0x1.4b02cb0e67facp-4 +-0x1.f980a13147b0ap-1 +-0x1.d7c147ac37bbcp-1 +-0x1.19379d25cb96ap-4 +0x1.fc42362e1dd76p+1 +-0x1.ab949852b3ebfp-2 +0x1.0e6dad20e631fp-1 +-0x1.45599ccb9a8f2p+0 +-0x1.a1d652eced84ep+0 +0x1.0a9a084bf0496p-1 +-0x1.3806551d9b8a6p-1 +-0x1.4723e9533861ap+0 +0x1.82ba877ba1442p+0 +-0x1.be10fd54c1c05p-3 +0x1.6e9ab6991ff9p-10 +0x1.ac8eba94cd894p+0 +0x1.72f43a9f6a1c5p-3 +0x1.647a30feef7b1p-3 +-0x1.6a098d3db5971p-3 +-0x1.535b60bc394fap-5 +0x1.9b21776d6a934p-2 +-0x1.146d50f4082b9p-3 +-0x1.d28fec264c5bbp-2 +0x1.60f8f2f1e865dp-3 +-0x1.4314fbc60688dp-3 +-0x1.3d2ddbf4fb65cp-1 +-0x1.91560bb9916ap-3 +-0x1.2064bd3b1efedp+1 +-0x1.8f0d5ae1f2d1dp-1 +0x1.81850a482ba67p+1 +-0x1.f7d0d6b631c12p-2 +-0x1.f23fd47cfedccp-1 +-0x1.75a6060cb3691p-5 +-0x1.d253dcef76f97p-1 +-0x1.5328460a56bcfp-1 +0x1.ce3576497d7cp-1 +-0x1.8652cde59b041p-2 +-0x1.9b8ef067e895dp+0 +0x1.7d9c66e44ec47p+0 +0x1.b96c3d206dae9p+0 +-0x1.f953fc1959504p-1 +-0x1.6613ff771691ap+0 +-0x1.a1e7bf001c68dp-2 +0x1.46cfc16fd39dep+0 +-0x1.ae24518735eeap-2 +0x1.69939f4e7cd55p+0 +0x1.13306c72f0a09p-2 +0x1.61510c88f5508p-5 +-0x1.1a20364d51f6p+1 +-0x1.64ad7976812dfp-1 +0x1.bc0558fc677f4p-4 +0x1.3c093d67ef0f5p-4 +0x1.4f8ea8f2b2961p-1 +-0x1.55af0900913c4p+1 +0x1.5af1d2d65fffcp-2 +-0x1.0de627c082eb5p-1 +0x1.99ce9e0daa1e9p+0 +-0x1.f3ce28bc65e34p-1 +-0x1.2dcbcb1edbdd6p+0 +0x1.1adafdd6788cap-1 +0x1.853c9a6a80e5fp-3 +-0x1.00b1d997f5fbep-5 +-0x1.12d9e9bd6279ap+0 +-0x1.c05a7b8c13756p+0 +-0x1.df87d85868a0dp+0 +0x1.3e98c5ca53054p-1 +0x1.560246edba008p+0 +-0x1.c6b77410468a2p-1 +-0x1.4de1e09857563p-4 +0x1.efefd701da649p-1 +0x1.c1a1321b7ef1p-4 +0x1.30ea39a7cf938p+0 +-0x1.a74dd3dc1e9a2p-1 +0x1.79ab521c3abfcp-6 +0x1.d28bd03ad897cp-1 +-0x1.dd0ae5433da8p+0 +0x1.0860581cad894p+0 +-0x1.3d8029781c0b5p-2 +-0x1.1185907f2891p-1 +0x1.2aa161a477366p-2 +-0x1.51a2fdf6d801dp+0 +0x1.6d4ca2cbce87bp+0 +-0x1.08647180c4641p-1 +0x1.73c0d4d983607p-3 +-0x1.460bb7d2967e5p+0 +-0x1.96b5c19d31dd8p-1 +0x1.002087be4803p-1 +-0x1.079c675e5f576p+0 +-0x1.a490fe5d517cap-4 +0x1.3a316fc183cdbp-3 +0x1.b3009a6de004ep-3 +-0x1.8be62fc82b254p+0 +0x1.c70c47d64b2e1p-3 +0x1.6ec300c6e0d84p-1 +-0x1.d42bdaaa529ccp-5 +0x1.542a484cbbdap-1 +-0x1.68aade01022e5p-1 +0x1.0719ec34bd9f8p-1 +0x1.5a5bef7e71b7fp-1 +-0x1.7fdae87e3603dp+0 +0x1.bc57097eb994ap-1 +0x1.65e234d9d723p-1 +0x1.81eea275987dcp-1 +-0x1.e09ae78c0f3d3p-2 +0x1.88cff5ac2b027p-2 +-0x1.0aa89c52e3f5fp+2 +0x1.b0dc5207eb04ap-2 +-0x1.949d08f8c29a8p-3 +0x1.2054be5894c16p+0 +-0x1.1c5a705a6144ep+0 +0x1.76a73f5359f3cp+1 +0x1.4becddab02106p-2 +0x1.ede0402a06984p-1 +0x1.5dd9cecee44dp+0 +-0x1.ee86a38dcfb8bp-2 +0x1.430681c5d5435p-1 +-0x1.b239cdf03ac1ep-2 +-0x1.b155c322a615bp+0 +0x1.11059304523ccp-1 +-0x1.940484004736ap-1 +-0x1.748c208c2f2eep+0 +0x1.2ab817598e9cep-2 +-0x1.bb57ee381a94fp-8 +0x1.2c5fa973bc423p-2 +-0x1.105b2a041f858p-2 +0x1.ad21b525cafe7p+0 +0x1.f591180c51366p-1 +0x1.942c7148cde5ap-2 +-0x1.73fc05810249p-2 +0x1.19a063e9246a8p+0 +0x1.f440990cb9501p-3 +-0x1.6ea822c81ebefp+0 +0x1.05325f085e4dap-3 +-0x1.30227ac82dd9p-2 +0x1.69b3016747ba7p-4 +-0x1.a95e1be905656p-1 +0x1.2ff44c322ad99p-1 +0x1.8803b3b61b6ffp-1 +0x1.e33526ca99p-1 +-0x1.581600c51b8fp+0 +-0x1.a15cdae0069dp-3 +-0x1.ad8b0ddd507a6p+0 +-0x1.9c52c8fe232b1p+0 +0x1.1e8559bb5e4ccp-3 +0x1.bb99adabb7695p-2 +-0x1.1dae22a6fbcabp+0 +-0x1.9efa1bdb52cb6p+0 +0x1.7f4123362bf2fp+0 +0x1.a0ae02a90565bp-2 +0x1.6c88688bf3d0ep-1 +0x1.be01a8cc63b1ep+1 +0x1.1a07e1bd84d91p+0 +0x1.50e957f68cb51p+0 +-0x1.4cdfd40db2e34p+1 +0x1.62d0a629641b7p+0 +-0x1.641801bf2bda6p-4 +-0x1.a1d7bc21eb45cp+1 +0x1.27bbe44763d21p+1 +0x1.a556292c47ef2p+0 +-0x1.af841b378367ap-3 +-0x1.6538b64ad0d9fp+0 +-0x1.29feb61cdd084p-1 +0x1.6071bbed6bd28p+1 +0x1.3a75b1d968b3bp+1 +0x1.501b2864bb0aap-1 +0x1.cab884c6bd488p-2 +-0x1.4f6b59e4e29dbp-1 +-0x1.94991fb9ce0efp+0 +-0x1.4bf2146d428fbp-1 +-0x1.f4aaa87f6871dp-1 +-0x1.c904a4b94b4dep-1 +-0x1.851379734f5a1p-2 +-0x1.3253d2afe1b8dp-1 +-0x1.7e5a943926cb6p-1 +-0x1.ba8b241fbebep-2 +-0x1.e32c5b539ed49p+0 +-0x1.f7a818b66c2fbp-2 +0x1.d79048fa51f8ap-3 +-0x1.e1ee3cfd1f65ap-1 +0x1.8a59e5bc58019p-1 +0x1.72b319253eee7p-2 +-0x1.f0a78fd5454d7p-2 +-0x1.ec9f639a8510ep-2 +-0x1.ef4d44582ca63p-1 +-0x1.45030ba429744p-2 +-0x1.3de02f6079c35p+0 +-0x1.ae4ee802d4d44p-2 +-0x1.2a2442b03a96dp+0 +0x1.1e09c7cc868aep-8 +-0x1.36afdca65d6bep+1 +0x1.0b13ec95f71a5p-2 +0x1.5b22063d3f771p-1 +-0x1.c752f2d48be01p-3 +0x1.3d1510a4f8cdbp-1 +0x1.17da3098fa41dp-1 +-0x1.266a093459c2ap-1 +0x1.a9678f459a77fp+0 +-0x1.347da4da856a7p-2 +-0x1.39b4ff032f74p-4 +0x1.b9a57659a198ep-1 +-0x1.7218160918b0bp-1 +0x1.4139fe4f6d7e2p+0 +0x1.0b6028c217fb9p-1 +-0x1.9cf3201eb31ep-2 +0x1.4e85803ece1acp+0 +0x1.b07b4e5172c39p-3 +0x1.11701ffaaed4bp-3 +-0x1.0a879fde035d6p+1 +0x1.7a669443d9e09p-1 +0x1.a9ca39d6dd6d5p-1 +-0x1.5506bc6b3344fp-2 +0x1.7d3bab08c2e5dp-3 +0x1.ba237ef743cb1p-2 +-0x1.9d3fecf588cedp-1 +0x1.04414d215c2dcp-1 +-0x1.1ab065eb10c66p-1 +0x1.acb6e28524c34p+0 +-0x1.9d87f0a785c57p+0 +-0x1.bcfc0ccd8bdb9p-4 +0x1.010d86d3def47p-2 +-0x1.7ff50886aa934p-2 +-0x1.b2ab7548129b2p-1 +0x1.3ee03ef5f88e9p+0 +0x1.44bf15b0634b7p-2 +-0x1.dc7bfeb3d79c5p-3 +0x1.4b2044275cd4dp-2 +0x1.84fe3569cb2f3p-3 +0x1.cd76216869e9bp+0 +0x1.1b1d3cf683a9ep+0 +-0x1.9fcae5205cd46p+0 +-0x1.0a3b58f299bfdp-1 +-0x1.2abc89a0eb39fp+0 +0x1.8c4d6835e5972p-3 +0x1.0a5afe3c4ccc7p+0 +0x1.4fd2cc063a564p-3 +-0x1.fc9b88f0ca98dp+0 +0x1.8d885d6947ae1p+0 +0x1.59ea516d1f26bp+0 +0x1.0ec88cec00338p-5 +-0x1.8a5d8487762f6p+0 +0x1.1a283a53f8328p-4 +0x1.829e7668f5048p-1 +-0x1.7eca9b1911d1ap-2 +-0x1.0136269e8d655p+0 +-0x1.d6aa45de9e968p-1 +0x1.1ae55c1f50a91p-2 +-0x1.6d2bbf6ac4bffp-2 +-0x1.2f894a496ef82p-1 +-0x1.8cccaafc6228bp+1 +0x1.a1847ab53654dp-2 +0x1.61b9f91dd1568p+0 +-0x1.593af265b0f1cp-2 +-0x1.6fcb3685e1188p-1 +-0x1.19c26435896aep+2 +0x1.55402eb22877fp-6 +-0x1.7758f8ef73ce5p-1 +-0x1.129ed6c9fec09p-1 +0x1.47b15b059fa22p-2 +0x1.c37c3800e473fp-4 +-0x1.55e59b46e00fep-1 +0x1.15ab24a33c4afp-2 +-0x1.5efb2f2360924p+0 +-0x1.c822455705f7dp+0 +-0x1.1ec1052baec55p-1 +-0x1.632d52993655fp+0 +-0x1.3b380e44110fbp-3 +-0x1.d06a61edd63b8p+0 +-0x1.648c7d2c9f39ap+1 +-0x1.e0c74983a6277p-2 +0x1.3b45c176c2365p+0 +0x1.9ac13402948f9p+0 +0x1.821b65b56e9d4p-2 +0x1.49d4a47602299p-4 +-0x1.9536fd2b229e5p-3 +-0x1.e45f70770ffa6p-1 +0x1.f42e02754d539p-5 +-0x1.1447c8f7f0803p-2 +-0x1.3814c90a3de51p-1 +-0x1.598a1c891c838p+0 +-0x1.db96f4672c59fp-1 +0x1.b7e8d8652d20bp-1 +0x1.31f092f938cp-1 +-0x1.23d399672214ap+0 +0x1.32ef2a872c334p+0 +-0x1.d6e5873aa87e8p-1 +-0x1.51e8d044a5eadp-2 +-0x1.076d0067d9a9bp+0 +-0x1.5ce540d167649p-2 +-0x1.03dbfbee1785p-1 +0x1.02c32cb8776d7p+0 +0x1.2900de5c7341p-1 +-0x1.7297316b9260cp+0 +-0x1.5d38049159df2p+0 +0x1.7b1185942c1a5p+0 +0x1.ff5246459affp-3 +0x1.0e03a3dd96788p+1 +-0x1.76a414c910fb2p-1 +-0x1.1fffa49b7f639p-4 +0x1.9caea3b989545p-2 +-0x1.793d42826ff15p-4 +0x1.5b08238bd7a18p-3 +0x1.254967c3d947fp-3 +0x1.eb12af95bfb63p+0 +0x1.fe853624e7d83p-3 +0x1.b1e56a27778f2p+0 +0x1.3453058a4da38p-3 +0x1.307c967bfffc2p+0 +0x1.4d5cb9f362b26p-1 +-0x1.b1937baaf010bp-3 +0x1.1c58ae95ce58bp+1 +0x1.d38b68bdbf801p-3 +0x1.55b3e6055d0e1p-5 +-0x1.1aa44da042bb6p-1 +-0x1.b0bd843ab6a4ap-1 +-0x1.f054c11c6fd4cp-5 +-0x1.81014cc2078b6p+0 +-0x1.589222342761fp+0 +0x1.d0a0747739ef9p-3 +0x1.41625bb6bb69ep-9 +-0x1.40f225f19d807p-1 +0x1.68f2251556c42p-2 +-0x1.17690d37416e8p+0 +-0x1.75fa5ee082b6fp-1 +0x1.29564149663f6p-3 +0x1.9881037ac5d0cp-2 +0x1.2b01b141897c8p+0 +-0x1.0f4d726519f07p-4 +-0x1.4b4620ac0010dp-1 +0x1.9e7c31f8f8785p+0 +-0x1.a6f89ee0f795ap-1 +0x1.f2082c30db1c8p-4 +-0x1.dd839901b27bdp-1 +0x1.7fca07d73884p-1 +-0x1.c3c48700662c3p-1 +-0x1.6e853770c0f9fp+0 +0x1.d8ed1c9463b1dp-4 +-0x1.ebd99dffbb2c1p-2 +0x1.fd966020d3d82p-1 +-0x1.206c1fca20dc4p+0 +0x1.aee0d6765bc5cp+0 +-0x1.35d52e2cf8086p-3 +0x1.13223a47687d9p-3 +0x1.7438981f5be52p-2 +-0x1.4bae87899db27p-1 +-0x1.b15ab21feb71ep-1 +-0x1.9ce3b1e40fdefp+0 +0x1.cef4514e6d594p+0 +-0x1.f17318cfda767p+0 +-0x1.e58d0c56c3a7p-6 +0x1.808beb30314dp-1 +0x1.07f0af7446b52p+0 +0x1.325fd32406536p-1 +-0x1.9faafa9806c7bp-4 +0x1.6104f835ab8edp+1 +-0x1.7807e45e473f1p+0 +0x1.29757328895cp-2 +0x1.3b45876742c98p-1 +0x1.c568a632a54f1p-1 +0x1.6caddd90a8a2cp+1 +-0x1.69894d1536713p-2 +-0x1.3730781c9eddep-3 +0x1.135deea0c29fbp-1 +0x1.e1285a2b60964p-3 +0x1.4b80b406c31bdp+0 +0x1.2811c39f9b89bp-1 +-0x1.2ecb56be6818ap+0 +-0x1.ab8ce8c5036fdp-3 +0x1.9d7e1448756f9p+0 +0x1.3737cdf250b8ep+0 +-0x1.63ffee2f4c37p-1 +0x1.03d60e4997e01p-2 +-0x1.d9b722403f2d4p-3 +0x1.022adb9727ec4p-4 +0x1.1d9dc5a8e1235p+0 +0x1.18ec27d3a07d7p-4 +-0x1.6afe70ecfae1dp+1 +0x1.147d5c8097cefp-1 +-0x1.81f8ceac9872dp-1 +0x1.0f381836f6e7bp-1 +-0x1.c6ff784a5846dp-1 +-0x1.66360c4d84d4cp-1 +-0x1.6791dbb850ac8p+0 +-0x1.77c6dfc75633p-2 +0x1.45d5f669fcff2p+0 +0x1.268335c952d5ap+0 +0x1.3a13a0ae983f5p-1 +-0x1.780cef3cd015cp-2 +0x1.6128b1ee4e238p-1 +-0x1.439a5589fc96bp+0 +0x1.50b1d01bf2cabp-1 +-0x1.65ff335baf911p+1 +0x1.0ae6ec582d27ap-1 +-0x1.519680b429656p-2 +0x1.2896f28964649p+0 +0x1.e0a28f7e72504p+0 +0x1.8cdcd3ddd9b87p-6 +0x1.ec9935e7e72f1p-1 +0x1.5317a281a6589p-2 +0x1.51d70c69c8e4ep-3 +-0x1.50ba0ab89871p-1 +0x1.57ab05e481698p+0 +-0x1.9996f9d095cd3p-1 +-0x1.61d00d92a98ecp+0 +-0x1.3a3a257258ee5p-1 +0x1.2f54b253c0a1bp-2 +-0x1.b4951c9daf538p-2 +0x1.220f603d1e01cp-1 +0x1.09e96024014f6p-1 +-0x1.b1165a43c5c1dp-1 +-0x1.be5766bd4f161p+0 +-0x1.411e5393f3221p-4 +0x1.32640aef4dbcap+0 +-0x1.9d3da53790e56p-3 +-0x1.26eaa37b73589p-1 +-0x1.9657b29aaf014p-2 +0x1.25d18013304f9p-1 +0x1.faee42d2eee09p+0 +0x1.6fb0439a1c654p-5 +0x1.9ed35146ebdc7p-2 +0x1.c24bc2a87317cp-1 +-0x1.c46c0709ade28p-1 +0x1.058fa84fdc5dfp+0 +0x1.074894afb4a68p-1 +-0x1.2cb5d178181a3p+0 +-0x1.7b022bc97bd87p+0 +0x1.d971cebec3dc3p-1 +-0x1.8ec86add9aeefp-4 +-0x1.f727374002d1dp-3 +0x1.219fdd9159794p-2 +-0x1.565374db0612ap+1 +-0x1.c424360c5ff66p-6 +-0x1.3c9b49b6645b9p-2 +0x1.0adc702525844p+0 +0x1.c5a67f1896e7ep-3 +0x1.2feb96a14d0ebp+0 +0x1.d9d092687d0a3p-1 +0x1.7d3d03a0cd29cp-2 +-0x1.479fcda3b1abcp+0 +0x1.ef3f79cf31cabp-2 +0x1.52dc5518c03d1p-1 +0x1.152d96988dfcbp-1 +-0x1.b9362861efb2ap-1 +0x1.6f1701555f85fp-2 +-0x1.d76088168cba7p+0 +0x1.396904801c693p+1 +-0x1.bb8d37e3d13d9p-2 +-0x1.bea7caef13c6bp-3 +-0x1.56dbccaa97ab9p-2 +0x1.cb2728da3831ap-3 +0x1.9e04061eea66ap-5 +0x1.f80584e5fb2d6p-2 +-0x1.54278b1afdca9p+0 +0x1.37b24baea382dp-2 +0x1.f77b1902c4964p-6 +-0x1.7c43b4e9e93cfp-5 +0x1.10f4e21b1dc18p-2 +-0x1.84c3d380eaf0ap-2 +0x1.6536d3822a5dbp-1 +-0x1.45c85e7112072p+0 +0x1.8d0b5806d37d9p-2 +-0x1.7bfe86e43f6cdp+0 +-0x1.028573702b054p+0 +-0x1.266d423e3032ep-6 +-0x1.6f1e52b43bbcdp+0 +-0x1.b57398f2ff9cep+0 +-0x1.0690070a17c8ep+0 +0x1.951438faf762ep+0 +0x1.54640df149ecfp-1 +0x1.a2e70e2d6b389p-4 +-0x1.4584eadb7a2a5p-3 +0x1.5984124891c5bp-1 +-0x1.3508e20bd00a4p+0 +-0x1.df8c737910911p+0 +-0x1.d401bbbe0de6ep-1 +-0x1.20ff5eb91df8cp-2 +0x1.ade08e2d79c6cp-2 +0x1.fb915453b8d6fp-4 +0x1.a816ef340651dp-1 +-0x1.90a1d1046f146p-11 +-0x1.6b755acce6fb3p-1 +-0x1.54b099489d729p-1 +-0x1.53687ec531316p+0 +0x1.f6ed65a70d12fp+1 +0x1.1c64ac0e63ab9p-3 +-0x1.1cd93b9a183f3p-2 +-0x1.d6676ec0e83b7p-2 +-0x1.b3375faa14daap-1 +-0x1.397f5269a8f46p-2 +0x1.204f1d080a29bp+0 +-0x1.9d15f86e29d32p+0 +0x1.86b445c1fa227p-2 +-0x1.3a978b6d21bb1p+0 +-0x1.299fc79ecbcfdp+0 +-0x1.a744b7e636d36p-5 +-0x1.bb28842c58849p-2 +-0x1.ffcc333e9f629p-2 +0x1.aabbf22ae2a88p-1 +-0x1.a112b6d648e72p-1 +0x1.3d09dc3e9e33bp+0 +0x1.2cb5e1779cea5p+0 +0x1.3cd7ac6fa38dap-2 +-0x1.f13990cfe5ec2p-1 +0x1.88f07d5373ae8p+0 +0x1.93179dd8aa89ep-4 +0x1.2bfc9601f50c2p+1 +0x1.0427c213e9ccep-2 +0x1.335b322f8a7a2p+0 +-0x1.e24d81973b02ep-1 +-0x1.ebc2947a9ce5bp+0 +0x1.4d8134ffd3891p-1 +-0x1.e10c40e71879bp-2 +-0x1.628050434b9fep-1 +0x1.c840c7cbbe841p+1 +-0x1.407afbb6de59ep+0 +-0x1.c12b48dd63634p-2 +-0x1.7ef92af52d4d5p-4 +-0x1.41cc220fce214p-2 +-0x1.b4dc079689f4bp-1 +-0x1.b8c92d69cd9ep-1 +-0x1.a4756c48b704p-2 +-0x1.d7ea61d1085d1p+0 +0x1.a45014fadb068p-4 +-0x1.394900efd90a5p-4 +-0x1.29070608bd537p+0 +0x1.b57ef080526a1p-1 +0x1.6e593e63048dp-1 +-0x1.b3b2e53f25ff4p-1 +0x1.20b8481ed33p-3 +-0x1.a7a9a263d55abp+0 +-0x1.3edfe9034a518p-3 +0x1.04df46fe1a96p+0 +-0x1.85c872b5fe48p-3 +0x1.987aa68c4a40ap+0 +-0x1.8d8ff4c07967ap-4 +-0x1.7bbe501495417p-2 +0x1.09b6e0c740d5cp-1 +0x1.6540ed66aa851p-1 +0x1.0cefd56306312p+0 +0x1.63f818f6f06dep+1 +-0x1.6139c482ada5ep-4 +-0x1.4f44b083f6f77p-3 +-0x1.c87cf7e5f2df5p+0 +-0x1.625e9063076bdp+0 +-0x1.b994f9420b41ap-1 +-0x1.d21a73ec72312p+0 +0x1.fb8fbc9a2fe6p+0 +0x1.4e0291e40703ap-1 +0x1.7bec591bcb9f1p-1 +-0x1.22ade5fd6560fp+0 +0x1.3ff0fb4eb11fdp-1 +0x1.acf4457026889p-3 +-0x1.081e4b193da3p-1 +-0x1.af18d2905362dp-4 +-0x1.816382b888e2ap-2 +-0x1.dbf7e57684b5fp+0 +-0x1.109ea0bc3171ep+0 +0x1.2f89c59c1e284p-2 +-0x1.0525cef5eb77ap-3 +-0x1.1527b5894fa4cp-2 +0x1.b3de51b661796p-1 +-0x1.730858021dd8bp-2 +0x1.2a48390096e9fp-2 +-0x1.6d89969971facp+0 +0x1.34fc598a78651p-1 +-0x1.8704c7920740fp+0 +0x1.95320eeea95e2p+1 +-0x1.4e2aac11bfdf6p-1 +0x1.7f9810ab7f7c4p-1 +0x1.6241568dfe5dcp+0 +0x1.50d6fdd8353a1p-1 +0x1.471f703d627b9p-2 +0x1.016adf54be7b1p-3 +-0x1.6baefbf516dc7p-1 +-0x1.21c30a32cda9ap-1 +0x1.62072a0760112p-6 +-0x1.39b197eda3b67p-1 +0x1.7f04c21a59f65p-2 +-0x1.168386ca9dda1p+0 +-0x1.c9fbcc3111dd1p+0 +0x1.1635f32442b4bp-1 +0x1.3ddeeff0904dp-5 +-0x1.1ee2ce778752ep-5 +-0x1.6899a578aa20fp-1 +0x1.dc1aa30ec4db2p-3 +-0x1.b601c472fde84p-3 +0x1.a8462321fb8p-2 +-0x1.33c518cb111f3p-1 +0x1.a6798664f5c9p-1 +0x1.0a3882fdb4c69p+0 +0x1.06a6a0c714e72p-2 +0x1.6bf6e92c72fdap-2 +-0x1.84d9f0dad55b6p+0 +-0x1.6cf1230fc64fap-3 +0x1.dcbcdf914d19bp+0 +0x1.3536efe9827d5p+0 +0x1.cdd5a0cabf976p-2 +-0x1.bfefec036a01p-1 +-0x1.618704dd2237ep-1 +-0x1.17cefc37ce9e6p-2 +0x1.67adb2356ca23p+0 +0x1.3a39542a3d08dp-1 +-0x1.d038d39843b5cp-5 +0x1.36d7a84eb8a79p-2 +0x1.e318b27ed0599p-4 +-0x1.3e982c6df06fp+0 +0x1.471aa1ad93735p+0 +-0x1.178b0d8b0e41bp+0 +-0x1.b5c3386698386p-1 +-0x1.a52045d0cb3b4p-1 +-0x1.d018cc3de79a2p-5 +0x1.10090ea988226p-1 +0x1.e26ee3996bd8ep+0 +0x1.1156ce1170e2ep-2 +0x1.a0a6aa2e7bd22p+0 +-0x1.267fe26a632a4p-1 +-0x1.1988fafc41493p-2 +0x1.0b474ede969c2p-1 +-0x1.8fe1987a07791p-2 +-0x1.5fdfda703863ap+0 +-0x1.9437084d0518ep-6 +0x1.8d0837e936cfdp-2 +0x1.8b69391996a2ap+0 +0x1.fd35a316fc2eep+0 +0x1.20e7616eca6e2p-4 +0x1.1338d3fa2926dp+1 +-0x1.ea5206d0e59ddp-1 +-0x1.cd9f2866a138p-2 +-0x1.1da76fac5b14ep+1 +-0x1.123ce38c400a3p+0 +-0x1.07273f5501a1ep-1 +0x1.bba78901518ecp-1 +-0x1.39b1efce626c6p-1 +-0x1.153f21880d3b8p+1 +0x1.8dd607ab18a3ep+0 +0x1.c9119430f7652p-2 +-0x1.06ef9d5040c57p-3 +-0x1.f7e71e8eb08dfp-5 +-0x1.2bcc972227b6p-2 +-0x1.6b471a3687b68p+0 +-0x1.263feb687a572p+0 +-0x1.d0ae290be2126p-1 +0x1.bf14b6eaddd81p-5 +0x1.d08ea372372fcp-4 +-0x1.d899f538399cep+0 +-0x1.c8a9969e9fae7p-1 +-0x1.5587db2a38d7p+1 +-0x1.c510ed03a0fe3p-1 +-0x1.18b784fb0ed45p+0 +0x1.71cc014d2e991p-1 +-0x1.64f178d84bd9ap-1 +0x1.23e878698dbd8p-1 +-0x1.aec4fa9e8ba9cp-3 +0x1.30e845b965931p+0 +-0x1.f9dee68a8a975p-6 +-0x1.24ba81f47f9a1p-3 +-0x1.9fe796266bcc3p-2 +0x1.af099e5373c01p+0 +-0x1.43231ad599d27p-2 +0x1.1580806ff282bp+0 +-0x1.dd82938144e22p-1 +-0x1.29bfc266ae7abp-5 +0x1.5fafe5b5edad1p-1 +-0x1.22b3574e65c91p-1 +0x1.6651c618cf3f4p-7 +0x1.e17a669700255p-1 +0x1.d3c68b80f60d5p-2 +-0x1.56483d0667741p-4 +0x1.f538f451b9fdp-3 +-0x1.7fb88e136c291p+0 +0x1.7459694066d8cp-3 +0x1.90a7c3293e66dp+0 +-0x1.74067a2d8c534p-3 +0x1.3902e701e5a2fp+0 +0x1.359ad7f5f0d46p-2 +-0x1.14bb77ddc0726p+1 +-0x1.d2b000335796p-1 +0x1.f9f7f852b5e01p-2 +0x1.f4b9e2ad91dap-4 +0x1.18af71f8a9b28p+0 +0x1.2336b1cb0fafbp+1 +-0x1.aa7a9d484c47cp-1 +0x1.23d8f222d52a2p+0 +0x1.06602864ed3cbp-1 +-0x1.9092c084ba1ecp-1 +0x1.0787d6a0e9bcdp+0 +-0x1.9b00fe119f6bbp-4 +0x1.fe98dd197274bp-2 +0x1.5ce4da1b33f67p+0 +0x1.54b8001746585p-2 +0x1.7631f2c31f401p-1 +-0x1.56d6cef83e5a1p+0 +0x1.e93e0296d3f9cp+0 +-0x1.508c63cbc95e1p-1 +-0x1.09894e8bc1eebp-3 +-0x1.c205f2e58cca8p+0 +-0x1.4665ebc7cd0c7p+1 +-0x1.95aab1bd6c38bp-2 +-0x1.0cb91d1523407p+0 +0x1.517e2f1d103eep-2 +-0x1.bf61d1396f8d7p-1 +-0x1.457ed59185adbp+0 +-0x1.37c8c2e9eda75p-1 +-0x1.002cb202563ddp+0 +-0x1.07c27a4b98428p-1 +0x1.274167b3edc11p-1 +0x1.38f41e03ca394p+0 +-0x1.81ce3adcc24efp-1 +-0x1.d73dd14402c5dp-8 +0x1.1be2452685e43p+0 +0x1.146fab2534057p+1 +0x1.2310181f92686p-1 +0x1.23500e746171fp-2 +0x1.19c6bdd0879c7p-2 +-0x1.5e77f6e1a6136p+1 +-0x1.a6520e7760427p-2 +-0x1.fad8dc512ef64p-3 +-0x1.520906b4ca0edp-2 +-0x1.77399951d85bcp-2 +0x1.14293c930bd93p-1 +0x1.50f49f30f41a3p-1 +0x1.365732ee9462cp+0 +-0x1.3469c823bafdbp-7 +0x1.b1cb35b097958p-2 +0x1.0c8065025cd4ap-2 +0x1.53f72f16765c3p-1 +-0x1.ba6bf36ca2f71p+0 +-0x1.142e216b09fb8p-4 +0x1.240137694a3c1p-2 +0x1.9e8b83d72d241p-3 +-0x1.5a932d908486ap-2 +0x1.ba4fb40fa34a4p-1 +-0x1.223d30ff2a1a5p+1 +-0x1.27b8add6a6886p-3 +-0x1.a8e54543a5198p-4 +0x1.01d10f40bbe4dp-1 +-0x1.93f7d1ea9858ap-6 +0x1.7fcdddaeac474p-1 +0x1.9a1d8d576de6fp+0 +0x1.036463aaa8b1fp+0 +0x1.b0e6ff5eda3cdp-3 +0x1.02db2f7f0de33p+1 +0x1.6b8a9f549c9b6p-1 +0x1.2fa00597e9e36p+0 +-0x1.d82327772da7cp-1 +-0x1.9d410aaf06663p+0 +-0x1.de77e9c0a780cp-5 +-0x1.9b4be70da435cp+0 +-0x1.cb4adcc5751bcp-4 +-0x1.3f3ebcce0aec2p+0 +0x1.2cd10b49175d9p+0 +-0x1.6f6f2351ad838p-5 +0x1.ed8106947686cp-3 +-0x1.89506742e5d8p-1 +0x1.00c424a42565p+0 +-0x1.6b352e885e7c3p-3 +-0x1.08fb74dc0ab89p+0 +0x1.26b1b1abb522ap+0 +0x1.5f5b97eb4da63p-2 +0x1.5767d36361b7ap+0 +0x1.276b5609db7f6p+0 +0x1.2bc056d863c86p+0 +0x1.054068516fafdp+0 +0x1.e8fb5d99a1a68p-4 +-0x1.7950f176344c2p-2 +0x1.61c78ee7f9271p+0 +-0x1.3da239be38048p+0 +0x1.b309d11338a01p+0 +0x1.b3d519e1bf1d4p-4 +0x1.c7101bf613de6p-2 +-0x1.17cc8034ddd1ap+1 +0x1.5e9e67ea45c7ep-2 +-0x1.7b88b9484a232p+0 +-0x1.bc3d10fd50bc6p-2 +0x1.fe17716a6268cp+0 +-0x1.454e049d56536p-4 +-0x1.203ea7655130ap-5 +0x1.0b62ff735d823p-1 +0x1.0a3696500908p-2 +0x1.b69cbdbd83417p-5 +0x1.e4a2a0310a0dp-2 +-0x1.fc1de8ce9ccbbp-4 +0x1.9c5f0ca6d5bcdp-1 +-0x1.c662e4a9e2b4fp-3 +0x1.cb7759ff98897p-2 +-0x1.61d9a3955f9e8p-2 +-0x1.1450cd02b8002p+0 +-0x1.e773533e402e8p-1 +-0x1.a191c553590d6p-3 +-0x1.3b0969f3dad3bp+0 +-0x1.5739785aa9cb6p-4 +0x1.974ac42aa19f3p-5 +-0x1.19e94204b2e05p+0 +-0x1.60de180df5b3ap-2 +-0x1.7877256bbd104p-2 +-0x1.fea15116b212bp-5 +-0x1.c22308bd575ddp-3 +0x1.288e7f47d1b81p-2 +-0x1.cfd4f7a2e0defp-1 +-0x1.e322c79333de6p-2 +-0x1.11322e6dd5efp-1 +-0x1.34b88999f1bfdp+0 +0x1.52f1279623616p-1 +0x1.119c0fbd1adb5p+0 +-0x1.69e2d1e8fa137p-7 +0x1.1feb9ad409c2ep+0 +0x1.61feda8a1b167p-2 +-0x1.8f798a89cb563p+0 +-0x1.bdf6f75a1678p-3 +0x1.969822a48f2bfp-2 +-0x1.4b524db6de106p-3 +-0x1.321ac45903b65p-6 +-0x1.6ebfad34f3528p+0 +0x1.e1d78c350aacfp+0 +-0x1.1208ee7041017p-1 +0x1.50da0aca712e9p-1 +0x1.095648628df8p+0 +0x1.d7c7b5dcd6724p+0 +-0x1.d0964bde55c72p-1 +0x1.2e651714ec24dp-1 +-0x1.c0bdc3f5eb2e8p-1 +0x1.1695d07763352p-2 +0x1.0454b477b93dbp-1 +0x1.4ccce934eb87fp-2 +-0x1.1db5faa1216e6p-4 +-0x1.786a46d1d8691p+0 +0x1.990da5661a543p-1 +-0x1.bcac380cf601bp-2 +0x1.4f6fe74404b98p-1 +-0x1.d20a797212608p-1 +-0x1.99dd5f0dc1be9p-2 +0x1.e5340b83aa563p-1 +0x1.a5b969d782f2p+0 +-0x1.928d3bcbf4518p-2 +0x1.2e315198a9783p-2 +0x1.513135f05f2bbp-1 +0x1.0222ca2b4f081p-1 +-0x1.1f5dda3a73983p+0 +-0x1.ec6731814760cp-3 +0x1.0523de79fd4ecp-1 +-0x1.3a3f7be689a0bp+0 +0x1.5ebaf64b450f1p+0 +0x1.224768673ab86p+0 +-0x1.1e90c4dbc07dep+1 +-0x1.fedbaa128aafap-1 +-0x1.022820fe4bbf4p+1 +-0x1.244716056252dp+1 +0x1.0dc376953d923p+1 +-0x1.e2fa33afd4d83p+0 +-0x1.000cc0f07a4a9p-2 +-0x1.16afe7cf93e2fp+0 +0x1.5d8299296a8cp-1 +-0x1.582e240c71aaep+0 +-0x1.65ffe7961a37p-2 +-0x1.07b00502bdde1p+0 +-0x1.8a79a9cce700bp+0 +-0x1.362ff8c8539bcp+0 +0x1.5a2a55bb21dddp-1 +-0x1.ad62d5415a7f6p-2 +0x1.43efd93e082dcp-4 +-0x1.121de9c0dc664p-2 +-0x1.68e8ebc40287cp-2 +-0x1.4737a7b0ff72fp-1 +0x1.2477337c1a858p+0 +0x1.d3724fc717215p-3 +-0x1.d01bf904aa6b9p-1 +-0x1.d040af28a58fcp-1 +-0x1.c50b42823fb3cp+1 +-0x1.23d4f32e81314p+1 +0x1.0fb65722910c8p+1 +0x1.8733f7daea068p+0 +0x1.bc26f58537a4dp-1 +0x1.92d7356d91525p+0 +-0x1.c049b5b81bf84p-6 +-0x1.fec4921b7b307p-2 +0x1.7f7968f52df6bp+0 +-0x1.1dd896290ba68p-1 +-0x1.a9ae636ac6ad5p-1 +-0x1.8077dd65339dep+0 +-0x1.1e7b08199fe76p+1 +0x1.235395438149fp-1 +-0x1.c87d10a63d169p-4 +-0x1.d320da5d9ee0ap-2 +0x1.03b143c0b2672p-1 +0x1.7a38475a7c219p-2 +0x1.242e1d397e6bdp+0 +0x1.b7936a31add3p-2 +-0x1.4f848b363cbf1p-1 +-0x1.0e20dc0f9d118p+0 +-0x1.c14bc04ee403cp+0 +-0x1.f9ba8f1036e64p-1 +0x1.a4475fe31d5f4p+0 +0x1.d225c2f94ab9dp-3 +0x1.21c16635ce30cp-2 +0x1.235af779a7eecp-1 +-0x1.1b58b94905d77p-1 +-0x1.58b5e5e5e17d8p-2 +0x1.dc72e34ae62ecp+0 +-0x1.de7f639b3d658p-1 +0x1.76a74d5003af5p-3 +-0x1.b2a27178698ffp-2 +-0x1.d78d2ad9958eep-2 +-0x1.d3a2753254aedp-1 +0x1.5d8ba75afc39p-4 +0x1.8ac19fc15673cp+0 +-0x1.22ebdca8bfeabp+0 +0x1.78e75f962beb2p-2 +-0x1.9911172a835e6p-1 +0x1.0855c3159b79p+0 +-0x1.36a249f6713e1p-1 +-0x1.2510e79baa8e8p+0 +-0x1.0d06dd5d881f2p-2 +-0x1.9bf8b32ef2ed5p-1 +0x1.afd89ba2db15fp-3 +-0x1.29809ec5a8b95p-1 +0x1.aaf702a408688p+0 +0x1.9dcb10f0825a1p-4 +0x1.5f3cc882f0ce7p-1 +0x1.4ba3a5ffa79fcp+0 +-0x1.6d9b24ac25c87p-4 +0x1.a3ea737ecd838p-1 +0x1.207bc67429ddfp-3 +-0x1.fe6d08f681db5p-1 +0x1.1a69746b81fc4p-1 +0x1.d70e4ab377134p-1 +0x1.6f4597dae2bbbp+0 +-0x1.0c62a62513245p-2 +0x1.d820c9530305ap+0 +-0x1.71efdc4a4f75p-1 +-0x1.30841919dfc79p-1 +0x1.70f5336e17d7dp-2 +-0x1.49c82d58c9ddbp+0 +0x1.d6ae61baacdc4p+0 +0x1.f196bbf5215ffp-1 +-0x1.41d18d0f022ffp+1 +-0x1.762a83fb3a7fbp+0 +0x1.d63c0d6692ca9p-1 +0x1.f220354c3cc18p+0 +-0x1.f1afc8040b129p-1 +-0x1.d5816c32e1359p-2 +0x1.a217aac4eab47p+0 +-0x1.481d3bcf92f3dp-1 +0x1.7d3ed50ce274ap-1 +-0x1.e87dd9747919bp-1 +-0x1.9ed7a29a9c834p-1 +-0x1.5be9942ff4d2p+0 +-0x1.9df17d86201f9p-3 +-0x1.4d8be99e8188dp+0 +-0x1.c19b70027ef41p+0 +-0x1.cd544b866b613p-2 +-0x1.297df97e7a9ecp+0 +-0x1.72ed200511deap-1 +0x1.351bfe4f9af6ep-3 +-0x1.7a6163d228fb8p-1 +0x1.524c21b4055d1p-1 +-0x1.f560d3af3ba67p-2 +0x1.1f938f466b00fp-1 +0x1.21e2580529246p-2 +0x1.7f5a81506ac11p-1 +-0x1.0326e0867440ap-1 +0x1.3dbaa26960115p-2 +0x1.c7e527bc02a67p-3 +0x1.5e1d8eaca6c95p-7 +-0x1.d7ebf650cc9b9p-1 +0x1.9097b662a59eep-1 +0x1.49d947784ac01p-3 +-0x1.fd2e4f7bf87bfp-4 +0x1.34111b41a0232p+0 +-0x1.320bb7ec305bbp-1 +0x1.c3d3ce6fb26cdp-3 +0x1.d68badce5fad4p-6 +0x1.d5fbd9a4099ap-1 +0x1.7747520a8506ap+0 +-0x1.a3adc4d8243f9p+0 +-0x1.c7e54a561edfcp-2 +-0x1.1872b908a3c89p-2 +-0x1.e39d87f265b94p-1 +0x1.b75530da2cbeep+0 +-0x1.db9717453752p-3 +-0x1.7e4a49aa11db4p-2 +-0x1.ca0c47971a2e3p-2 +-0x1.140941e8f4e9ep-2 +-0x1.b89a4d30de0b1p+0 +-0x1.047d929ca12b4p-4 +-0x1.1fca22d9e3d3fp+0 +0x1.a93c74fbb82d7p-1 +0x1.0ea7bf950d4bep+0 +0x1.c6c843e32c486p-1 +0x1.60342384077cbp+0 +-0x1.a5ffd2292d3b4p-2 +0x1.54b2f462a2912p+0 +0x1.125b5c34f3271p+0 +0x1.90738b259e457p-2 +0x1.d921afd783667p+0 +-0x1.b154157bf17a5p+0 +0x1.4431396d43267p+0 +0x1.f07062f70ded8p+0 +-0x1.469440b3191fep-2 +0x1.24dea0656c6ccp-1 +-0x1.6c8e20d320275p+0 +0x1.597e7bc43487p+0 +0x1.23fafbe5e2a02p+0 +-0x1.7b4e545a4fef2p-3 +-0x1.47ffa36f14afap+0 +0x1.6cabfa3ed9d02p+0 +0x1.260285817baf3p-1 +0x1.686e95f29c34dp+0 +0x1.710bd5d2c5ee7p+0 +0x1.55e840d9b9166p+0 +-0x1.43ffa8e88d158p-2 +-0x1.69b8c86092a1fp-1 +0x1.c0c0d7045be57p+0 +0x1.eac24ae0b33dcp-1 +0x1.e064bf381862bp+0 +-0x1.c5a6f5ae0f81ep+0 +0x1.7d090a3ef9149p+1 +-0x1.51054c3cebb78p-3 +0x1.5d9244239d5c3p-1 +0x1.064c8f50de85ap+1 +0x1.0e768a936696ep+0 +0x1.fcd304df17d13p-1 +-0x1.454b439f6922fp-1 +-0x1.6fa7bbb482b52p+0 +0x1.1131d402eeaa7p-3 +0x1.84b6ef7476f9dp+0 +0x1.82d034b577949p+1 +0x1.3070756303b56p-1 +0x1.d6dd86c0ff286p-2 +0x1.b0c4237bd40dep-2 +0x1.6ecb46f059fb6p-4 +0x1.5472d0ca8751bp-2 +-0x1.2c76e4e00044bp-4 +-0x1.d8f29a525c17bp+0 +-0x1.46bfce6a0078p+1 +-0x1.1cf3387e6b3bap-1 +0x1.88639a9d97768p-2 +0x1.0047971d6e2a7p+0 +0x1.115370a703986p-3 +-0x1.16a6876819489p-1 +-0x1.dc8958f7b3acbp-1 +0x1.dc3e846d83038p-2 +-0x1.42a46b820cd0bp+1 +0x1.aa61367a61e3dp+0 +-0x1.99a04cdfd0df1p-1 +0x1.b0839e4189b87p+0 +0x1.d13377c3aa005p-1 +0x1.f855ce774eb44p+0 +-0x1.443c98b0560cbp-1 +-0x1.eeb87ebb65fa6p-1 +0x1.38c446b779cd2p+0 +-0x1.710f7cbaa56ebp+0 +-0x1.07b1a0825c188p+0 +-0x1.c75e1451c74e3p-1 +-0x1.3ddf731fb1842p-2 +0x1.27092f8aa5296p+0 +-0x1.0833d382ec7cdp-2 +-0x1.2cb6b94f88bdap-4 +0x1.6bd3df33085e1p+0 +-0x1.17db097560542p+0 +-0x1.fc4a6a3e62f6cp-4 +0x1.ad85aa60e237ap-1 +0x1.40fc5612ba1c1p-2 +-0x1.cc7f4e662776ap-1 +-0x1.792ec52d353ep-2 +-0x1.44a492f5ff5d6p+1 +-0x1.3827d3f76703bp+0 +-0x1.41cca35a5f8bcp+1 +0x1.155039e0d6d0ap+0 +0x1.d9b4370fc2651p-1 +-0x1.207fa0b5a4a18p+0 +-0x1.dd150317c60b9p-3 +0x1.dfc3cb1d20efp-1 +0x1.1f3afe7426708p-3 +-0x1.0cc97c80d87ddp-1 +-0x1.201c3df5ee694p-1 +0x1.df82b0e4c13fdp-1 +0x1.395d76dbb0bf2p-3 +-0x1.0b866d3ed57bcp+1 +-0x1.738d300f0c4d4p+0 +-0x1.0eeade15c772fp+0 +0x1.40cdcce2fc373p-1 +-0x1.3c73da13f2cc1p+0 +-0x1.74ae489a85dacp-3 +0x1.d82759a5a7c6fp-1 +0x1.3bbc0da8a5bddp+1 +0x1.1723e809d8be9p+1 +0x1.8f42905a6af4p-2 +0x1.550ea22983af2p+0 +-0x1.b17830927004cp-6 +-0x1.061f0850a474bp+0 +-0x1.7ae9b9ac3ce2fp-3 +-0x1.1541c8e599a71p-4 +-0x1.ed3335edb3fd8p-3 +-0x1.a2b8e06527b38p-2 +0x1.04c8b9141a6a9p+0 +-0x1.e01f1bfe66fc3p-2 +0x1.774a3838f756fp-3 +-0x1.39bbd90a02bf2p-3 +-0x1.a0c207726808fp+0 +0x1.268d4ca64e482p+0 +0x1.8e2fbc3125b5ep-1 +-0x1.6b14c3fe2796cp-1 +0x1.8dc764d61a0ccp-1 +0x1.8779e69e57682p-2 +-0x1.176c96d183422p-1 +-0x1.25a54306d73b7p+0 +-0x1.81eb79a888b49p-1 +0x1.025db5f0190a8p+1 +0x1.11e367b41be23p-3 +0x1.8ec7b0a28eee7p-3 +0x1.8e4abed5de219p-3 +-0x1.8dc7f772ae4ffp+0 +0x1.827dd95ed480ap-2 +-0x1.14a3ce94c49d2p+0 +-0x1.3abddb37fea2cp+0 +-0x1.75eb80c0dbf7bp+0 +0x1.24954c7f5ee18p-1 +0x1.f902db3318d55p-2 +0x1.640cf26bfbb62p-3 +-0x1.2f224f92f6885p+0 +-0x1.02d94b4d9016dp+0 +-0x1.9b7db7392324dp-1 +0x1.68651ebb454f2p+0 +0x1.f4796f30027fbp-1 +-0x1.d1393d75f4511p-1 +0x1.c5dc8fd3603a6p+0 +0x1.bb6f3211e908cp-3 +-0x1.cd8996d89a7e6p-1 +-0x1.c73193f75f0c3p-1 +0x1.987076bd1eeaep-2 +-0x1.a68fc08dfec19p-1 +-0x1.b212e9a0ce4a3p-2 +-0x1.339fbe43d34c6p+0 +-0x1.413901f5193e6p-2 +0x1.ce62222b3805cp-1 +0x1.970f028113879p+0 +0x1.8abad91d0108fp-1 +-0x1.2c58f7a4e021bp-2 +0x1.06a996941e707p+0 +-0x1.0d37af514e2ecp+2 +-0x1.fe3dd3b21c701p+0 +-0x1.6021c857420fcp-1 +-0x1.575737013d5d6p-4 +-0x1.cfee4949fe65bp-2 +0x1.11638da253de3p-2 +-0x1.fb4ad68db196fp-2 +-0x1.4ed25605f1bd1p+0 +-0x1.00d2d9006315dp-2 +0x1.7fbfd8baa1d71p+0 +0x1.5a65d861f8c53p+0 +-0x1.0b890070c9055p+0 +-0x1.4915bbf40d86fp-5 +0x1.6beb9b08962b9p-1 +0x1.57a911eb1ad5fp-2 +-0x1.12d0505a7c635p-3 +0x1.89ea2ae702fcp-2 +-0x1.5632cdad9c323p-2 +-0x1.d4c06be24be8cp-1 +-0x1.4f1954f19cfa9p-2 +0x1.3db72f9579379p-1 +-0x1.d8db14a91be06p-2 +0x1.98df14da2cd37p-1 +0x1.14ed3aaba1e13p-2 +0x1.152fd86c0f4d9p-2 +-0x1.eb0c41597dcfdp-3 +0x1.c34ee9c0b662p-1 +0x1.f84a204697033p+0 +0x1.43f320e296de6p-1 +0x1.38668c7e85186p+0 +-0x1.0fcdda4fc16b8p-1 +-0x1.9f96a6f3cef22p-3 +0x1.e85928dbfb41ap-2 +-0x1.361cdf5362f57p+1 +-0x1.8c83ce414b22fp+0 +0x1.1c76ac621150bp-5 +0x1.5b16355b23c86p-1 +0x1.5c549458b4ea9p-1 +0x1.969e895e32515p-5 +0x1.2440fa8897061p+1 +0x1.31fb48ccd28e9p+0 +0x1.2d1b84d2bb28ap-2 +-0x1.225302fa6c87ep-1 +-0x1.342994f685e83p+0 +-0x1.71951e6049268p-2 +0x1.29b1a102edbd7p+0 +-0x1.cff757eb27dffp+0 +0x1.2a3a816ba5faap+0 +0x1.f42529712cc99p-4 +0x1.c8b54130361efp-1 +0x1.83bb476615988p-3 +-0x1.a7a10c74fc23fp-1 +-0x1.0fdb2e462211cp+1 +-0x1.35115f1147a95p+0 +-0x1.b6312122192f4p-2 +0x1.a740b09c4e06fp-2 +0x1.09450797d14ccp-1 +-0x1.eb58facd6741bp+0 +-0x1.808f836249d14p+0 +-0x1.b7e28934b005fp-2 +-0x1.3c6e2582182cdp+0 +0x1.e87adde1019eep-1 +0x1.3902b2ba290bap-3 +-0x1.76edd365a8352p-4 +-0x1.30d08a61b7e72p-1 +-0x1.8b4aa06b5acdep-2 +-0x1.4a9160586351bp-1 +-0x1.5153d48fcc85dp-2 +-0x1.9fb55e7c25027p-1 +0x1.0cca47e013bebp-1 +0x1.97beedc7aef69p+1 +0x1.0dc2f1273843ap-2 +0x1.9a8405cf46916p+0 +0x1.a607c945b5ac9p+0 +-0x1.44bb7d10967a3p+0 +0x1.f3e262d7d2025p-1 +-0x1.1518701db4cacp+0 +-0x1.5946e5076ca65p+0 +-0x1.d8f4f72e75f3bp-2 +-0x1.bc8404e8eea26p-1 +0x1.c53ab41121f9bp-5 +0x1.191f9a7809804p+0 +0x1.acbceb1ee93cep-1 +-0x1.4c2d729be6727p-1 +-0x1.02ea11fc8cd65p+0 +0x1.20889d795ca8cp-2 +0x1.8c2f30e6de49cp+0 +0x1.10b322fb9951bp-4 +-0x1.b6a1f83966bf8p+1 +-0x1.2743a11ce3daap-1 +0x1.4c16c24675605p-2 +-0x1.035d74bcbe027p-5 +-0x1.5967711870325p-2 +-0x1.044af2319224cp+0 +0x1.572759d0c031p-1 +0x1.0b9a4cb849af3p+1 +0x1.c2c14901ebb99p-2 +-0x1.18b6f0db87a4bp-1 +0x1.aa7be7a00f4afp-3 +0x1.0e7168cd2a5b9p+0 +-0x1.b5a3dcd4bbb18p-3 +-0x1.c72a6a042e50ap-2 +-0x1.cb81070961543p-4 +-0x1.47dbd3cd97892p+0 +-0x1.df37b2105266ap-1 +-0x1.430243a5f0f96p+0 +0x1.f6647fbd4cb5fp+0 +0x1.d75654d29b386p-1 +0x1.19a419c0aa2c8p-1 +-0x1.ac16228b22c89p-2 +-0x1.901e201c5cac3p-1 +0x1.091687705c0fep-1 +-0x1.d74797011fd6bp-3 +-0x1.6e97388085eb2p-1 +0x1.66dc784199b8bp+0 +-0x1.9924cab3b4091p+0 +-0x1.a8aa7773154bcp-7 +-0x1.aee52b26e299fp+0 +0x1.a274e04e88823p-2 +0x1.0603841a997cfp+0 +-0x1.7819202c89d5dp-4 +0x1.2401c8899a63p+0 +0x1.4296ce4e36ddp-1 +0x1.b9051ee5173f3p+0 +0x1.6b220e627c763p-1 +-0x1.ca8be39a815e8p-1 +0x1.aed15d501a24fp+0 +0x1.144ca30cf11f4p+1 +0x1.67aa4ff5ab2b6p+0 +-0x1.48a91f20bffc6p+0 +0x1.9a61f20256742p-3 +-0x1.131b2bd2445cap+0 +0x1.eaf8483e99704p-2 +-0x1.184e70d7909f2p+1 +-0x1.a0321a75a5356p-1 +0x1.616db09e2fa48p-1 +0x1.2ed1fbbf59e47p-2 +0x1.11666938527d5p-3 +-0x1.9f96e8dcc513fp-2 +-0x1.0ef2a558260a4p+0 +-0x1.6462b400a9578p-3 +-0x1.d53832d3bed9dp-1 +0x1.b8dd7040d692fp-2 +0x1.4874b97365b26p-2 +-0x1.ec97ba98fa1b1p+0 +-0x1.53ef33d7c4a76p-1 +-0x1.07fba90718481p+0 +-0x1.d5c393bd7c10ep-2 +-0x1.448fe47264738p+1 +0x1.094c28d7301dp-1 +0x1.31663ecbd3645p+0 +-0x1.cf8768a66ee09p-1 +0x1.3509d066274a2p-3 +0x1.8dabe1a2eca3ap-2 +0x1.89563e1a7abc4p-2 +0x1.41e1ccabff7ap-2 +-0x1.bb2d1c4e64f42p-1 +0x1.1c840e2a493d7p+0 +0x1.bc5d90d6ec0a3p+0 +0x1.36b89c616fe2fp-1 +0x1.93b93c14502dfp-1 +-0x1.88f8a32b99b0dp+0 +0x1.033bdbbad7697p+0 +0x1.7102185faf9b6p-1 +-0x1.3d096a9d70e32p-6 +0x1.3473c7e0d3656p+0 +-0x1.e31a31f195de4p-1 +0x1.efcb56603790dp-1 +0x1.a506ae382d772p-3 +-0x1.711fe7fe834fp-5 +-0x1.144e54b43e567p+0 +-0x1.821f6af7bfa5cp-2 +-0x1.facc3d8bb364ap-4 +-0x1.8d13ffd78004p+1 +-0x1.69e3ad3c29a73p-2 +0x1.4818c4a85a7a4p-1 +-0x1.40af87bbf289bp+0 +0x1.74a9b37329c64p+0 +-0x1.03bd38674857bp+0 +0x1.6e1a90fa22563p-4 +0x1.702f9efb00858p-1 +-0x1.b3914222f7934p+1 +-0x1.a287826e25cc7p-1 +-0x1.6a13d125c1d2dp-1 +0x1.bf6545614f2aap-3 +0x1.0073b49702568p-4 +-0x1.deccb44d69f3dp-1 +0x1.b97cd53a84b79p+0 +-0x1.e859599a8541bp+0 +-0x1.e8608a26fd75ap-1 +0x1.29b278175bf62p-2 +0x1.8772fe0f34511p-8 +0x1.0c8efd730f12p-4 +0x1.8abba277c6feep-1 +-0x1.70115381b7af9p-2 +0x1.11c3004c61d25p-1 +-0x1.fcebaafb4ecb6p-1 +0x1.b7819a2b6aba5p-3 +0x1.c4abced09ea7ep-1 +0x1.9f6b2094202cap-2 +-0x1.625d30f6bd861p-2 +-0x1.4d16412bc07b6p+1 +-0x1.6e78e8541f34cp+0 +0x1.ff57b4477173ap-3 +-0x1.732f7fbf78345p+0 +0x1.c60c8a18ca74bp+0 +-0x1.6c0f712692246p-6 +0x1.6c6fccae9544p-1 +-0x1.8770ac5c7c4d7p+0 +0x1.2e1f3fb86e2e1p-1 +-0x1.8a5f0fb797007p-5 +-0x1.137b351e7d8bep-4 +0x1.08318d16847cp-1 +0x1.55dacfe7d2f16p-1 +0x1.c697ca1ea3a28p-1 +-0x1.7e14c4e8c5dd1p-2 +0x1.c05af990ced74p-1 +0x1.52a8412a0a6cdp-1 +0x1.d456c46c32ff5p-3 +0x1.8f5974602f8c2p-1 +0x1.9e93011006be8p+0 +0x1.27f39a9c172a7p+0 +-0x1.1bbf7b8216c44p-1 +-0x1.be890b1a75765p-4 +0x1.a553d59400777p-1 +0x1.43939e5464cfdp-1 +-0x1.4045e41a2f778p+0 +-0x1.35a0f5e4ccdc2p+0 +-0x1.3422aac46b8f2p-1 +0x1.fa67b5b462e41p+0 +-0x1.3cc6fc0ab709dp+0 +-0x1.17df7dd35c238p+1 +0x1.78175b45bbf5cp-2 +0x1.07b0322010eb3p+1 +-0x1.39bc1cac5674ap-1 +0x1.7e1ecab2b8611p+0 +-0x1.a8cdaa343f1c3p-1 +0x1.f5b0caff27af8p-1 +-0x1.e7061a420527ep-1 +-0x1.323af1ffac813p-2 +0x1.8d033a8dd7ddap-1 +-0x1.a1a07454f8a1dp-1 +0x1.50cc41f57d39ap-4 +-0x1.f56e5e9fada02p-1 +0x1.3859d96750defp-1 +0x1.73203bf383085p-1 +-0x1.8adde5f8f1df4p-1 +-0x1.d557ae14c19b7p-4 +0x1.36e46dc9e2dddp-3 +-0x1.47a2be8b50ee2p+0 +0x1.27b77812c8d7bp-5 +-0x1.3d6d9449f0b2cp-1 +-0x1.11e906c2545bep-1 +-0x1.deaedd8052d44p+0 +-0x1.6c268666b780dp-2 +-0x1.751cb5efc0125p-2 +0x1.7e5a447cbe912p-1 +-0x1.a1a94467137d8p-1 +-0x1.631e76fac0a58p-1 +-0x1.4974ea8a5b944p-3 +-0x1.610c39847f6dep-5 +0x1.64f79be504d66p-2 +0x1.ef4876bb9373dp-2 +0x1.3bf07758ac0edp+1 +0x1.1b3054b54d8d9p-5 +-0x1.0d3a4f35633c5p-2 +0x1.017ee3b6d9aebp+1 +-0x1.208cbf8e3dbeep+0 +-0x1.5f084df226306p+0 +-0x1.2bc95225cf2a6p-4 +0x1.79882b08dd3ccp-1 +0x1.f213b8342646bp-1 +-0x1.a1dee7da2bf6cp-6 +0x1.398ba033f91a6p-2 +0x1.424bea9413cd5p+1 +0x1.20fdbe1060928p+0 +0x1.afc32bedae1eep+1 +0x1.b164e917a32f8p-3 +0x1.adaf625ba3cfcp+0 +0x1.e9a2d143c4b25p-1 +-0x1.17544ad4ba83cp+0 +0x1.3276ea83d9999p-4 +0x1.086c91753860ap+0 +-0x1.3c60475722139p-1 +0x1.be4bedfdbb23ap-1 +-0x1.78146a90c6bcbp+0 +0x1.e4a268fcc1f87p-1 +-0x1.2988d714911b8p-1 +-0x1.35c038462ef2ep-1 +-0x1.f6543ca84085cp-6 +-0x1.2596ba0f8da32p+0 +0x1.20be0acae3e26p-2 +-0x1.d574c505bd404p-4 +0x1.9e272df83331ep+0 +-0x1.baca8328beadep-1 +0x1.9f22e23bc0f6p-2 +-0x1.c073ca76d48a1p-3 +0x1.1633b247d7e01p-1 +0x1.63fde035cd946p-2 +0x1.3bf3ffdc65e09p-3 +-0x1.2429280322e3bp-2 +0x1.b44f60e7247e4p-1 +0x1.35ef8ef818f27p-1 +0x1.c38d6f4ae9ab3p-1 +0x1.01263efdae1d3p-3 +0x1.43f43b811264p+0 +-0x1.272e41a83f19cp-3 +0x1.cde265bc071c3p+0 +-0x1.2759fba345ef1p+0 +0x1.53c29fe09b2b4p-1 +-0x1.3b002ac772cc3p-1 +-0x1.a9d384a6c2d99p-1 +-0x1.c0ffa46344c7bp+0 +0x1.28be59a2b8973p+0 +0x1.dee23f044c63p-3 +0x1.00a382f66b2b1p+0 +-0x1.089955f5cde6ep+0 +0x1.3f00a6fa5e172p-2 +0x1.1d920135cafdp-3 +0x1.b4eab91fa7e9dp+0 +-0x1.50679095977ep+1 +-0x1.b02079606e48ep-2 +0x1.15067d4ddd5d2p-1 +0x1.33b2fd363a87ep+0 +0x1.229d8dbb97519p-1 +-0x1.14bb16ed08341p+0 +0x1.06aa7a7c56016p-1 +0x1.b45903726b769p-2 +0x1.715c2c71815e3p+0 +0x1.66840832724dep-1 +0x1.f24d72fa4a60bp-3 +0x1.dbf50b585b223p+0 +-0x1.938fba520654p+0 +-0x1.bbfd71f367dccp-4 +0x1.333e5ed1263a1p+0 +0x1.05222e2d2d4aep-4 +0x1.8c6cd202ba974p+0 +0x1.8f1b75ace3b7bp-2 +-0x1.02c5f5cf16d5p-2 +-0x1.1713aaf722843p-3 +-0x1.a29ad45c3a3dap+0 +-0x1.b6d618e039128p-2 +-0x1.70b115246867bp-3 +-0x1.d84737c689ddp-2 +-0x1.a232c0b047aebp-4 +-0x1.1a25e3621a897p-2 +0x1.523a7ebfe78e3p+0 +0x1.e70aedebd4b1fp-2 +-0x1.5a1c975911dbfp-1 +-0x1.ed119034e6a4bp-1 +-0x1.792fd2b9e456dp-3 +0x1.4880715dad285p-1 +-0x1.e435be704689ep-2 +-0x1.e5248c755c768p-1 +0x1.2ea91c7e4606fp-1 +0x1.0752368183a77p+0 +-0x1.9fd765276e4a2p-5 +0x1.d27774b0a46bcp-3 +0x1.a0de76d18538p+0 +-0x1.779e199954091p-1 +-0x1.9a63b29ced1acp-1 +0x1.4551c071e3612p-1 +-0x1.2bf0f08f79f3bp-4 +-0x1.ae0f77c31c75dp-2 +0x1.9a8a16eaa9324p+1 +0x1.34f0d2a12cd84p-2 +0x1.69e271f1f8fa2p-2 +0x1.2da5a48c9a9e1p+1 +0x1.a9cf96e2ed939p-1 +-0x1.45019d2ee0fb3p-4 +-0x1.56fcc6d875239p-1 +0x1.ce6a228515532p-1 +0x1.e60fc4f8bc76ap-3 +-0x1.ba4f23e166ab6p-1 +0x1.bef6acf8e5265p-2 +-0x1.f08f31b874a0cp-3 +-0x1.827eef84b9c14p-2 +-0x1.81451763c7fcbp-1 +0x1.929f7c4873464p-2 +-0x1.2e62ca652df96p-3 +-0x1.0b1e914266a6ap+0 +0x1.8b1da759fca95p-2 +0x1.41a8c338299f7p-1 +-0x1.c2ed3436ec8e9p-1 +0x1.23ff52f35c879p+0 +-0x1.79751538755f8p-1 +-0x1.2c8a77b4bd22p-1 +0x1.31813f5a8b34fp-2 +-0x1.19f82859faf39p-3 +0x1.4f28e4c463c9cp+0 +0x1.9f7be005ac4a4p-3 +-0x1.3599e0522e1a2p+0 +0x1.f24a97c1672e6p-1 +-0x1.3785bff77fa86p-1 +-0x1.28ddef8a7188ap+0 +0x1.af2e4bf2e0527p-1 +-0x1.bb9c349cb3eb1p-1 +-0x1.23738446973ccp+0 +0x1.216e94fde3782p-1 +-0x1.404f78dfdac49p-3 +-0x1.d5f7630733621p-1 +-0x1.6a54a38f0c78cp-3 +-0x1.ea251e3191e44p-3 +0x1.e4d75b70f7768p-2 +-0x1.51d77741c59aep+0 +0x1.f0ffbede3629fp-3 +0x1.07cd9aa1e8cc4p-2 +0x1.7291e70882dcp-1 +-0x1.1001776d62e9cp+0 +0x1.16fa723f3f61bp-1 +-0x1.68cf93cb7cd7fp-1 +0x1.bda4753e9d1aap+0 +-0x1.e91f078a79711p+1 +-0x1.044f2c1e7031fp+0 +0x1.31674f31ea568p-2 +-0x1.0585998124d7p+0 +-0x1.51373e1abd6eep-6 +0x1.0ccfdf512b482p-3 +0x1.217ce5fc6541ep+0 +0x1.5f834695e1c6bp-2 +-0x1.4855b8dac7c66p+0 +-0x1.c67155ef87709p-4 +0x1.2d0f882f36614p-4 +0x1.2a624540c149fp-1 +0x1.caa2ebc95573cp-3 +-0x1.682f24da6017ap-1 +-0x1.d0d90ecc89c53p+0 +0x1.904d8057eaef1p-1 +-0x1.d9bc35e72d545p-1 +0x1.b609cf1eb7875p-1 +-0x1.9a9a14ba31b5fp-1 +0x1.1b3bc358e3916p+0 +-0x1.ada57e0eb119bp-1 +0x1.8fce241b1e336p-2 +0x1.ac55e0fbe0d38p-1 +-0x1.0c3b900555af8p-2 +0x1.a5e5b3473e91fp-2 +-0x1.0565e7ab26f9ap-1 +0x1.6da23867e6d97p-3 +0x1.47a3d07d9a9ffp+2 +-0x1.ff2f3bcf1d076p+0 +0x1.bef44a8e2b591p+0 +-0x1.8801d5721b75fp-4 +-0x1.cbb29dedb7859p-2 +0x1.09dc7087753f5p-1 +0x1.7794ac9a8251fp+1 +0x1.69ed47bbd6fe1p-8 +-0x1.6ef24221dc489p+0 +-0x1.6f162d0eafd15p-1 +0x1.218a906174475p+0 +0x1.0652460d91c3dp-2 +-0x1.4bc35a7f6918bp+0 +-0x1.503f55f551c6ep-1 +-0x1.de0226626a4c3p-1 +-0x1.7c16f2a2e310fp+0 +0x1.be43032895252p+0 +0x1.a2e2c52f41be9p+0 +0x1.5f5178957b39fp-1 +-0x1.80f520a4221aap-1 +0x1.be8831b22588dp+0 +0x1.1e1ad8eda7dd8p+0 +0x1.88af12d33e396p-1 +0x1.56d510daccc47p-1 +0x1.2e8bca4275bb5p-1 +0x1.7c2a16c2964e7p-2 +-0x1.c3f2462543705p-2 +0x1.82ef477dc7539p+1 +0x1.11083b729cf36p+0 +-0x1.7e2af39315da9p-1 +-0x1.7da2eaba0ec41p-3 +0x1.506ffb7425729p-3 +0x1.7ab5ea8242debp-3 +0x1.b77cabf14db6bp-4 +0x1.7b3b4e2f05ddep+0 +0x1.bbddc223d8ed4p-1 +0x1.c509a23d73b8dp+0 +0x1.b03db0c570e71p-1 +-0x1.4702e3201b977p+1 +0x1.826b805093a09p+0 +0x1.88114f0451dddp-1 +-0x1.242f7a3e92be2p-2 +-0x1.4b33f9eba0d61p-3 +-0x1.3ff7b15d65457p+0 +0x1.e5c145a39e135p-1 +-0x1.0452cb23c2ea2p-6 +0x1.738418f0d2ab6p-1 +-0x1.2fe8f78eba3bcp-1 +0x1.4b188c8b58e1cp-1 +-0x1.0280595397c7p-2 +0x1.81a3d0dc3fce3p+0 +0x1.61604f72cc50fp-3 +-0x1.88b9b48e6e12bp-2 +0x1.adbde0c853d1dp-1 +0x1.ef8b77b92c76ep-3 +0x1.6f05862b7c708p-1 +0x1.3e366c5557ffbp+0 +0x1.e038095394ea6p-2 +-0x1.72ba700c37f07p+0 +0x1.a9f7fa6cf9988p-2 +-0x1.4730babdc0c14p+1 +0x1.d2be6bebeedf4p-2 +0x1.dc1ffddd6eb5cp-1 +-0x1.13802dfe62ed5p+0 +-0x1.1f41e33160aaep-3 +-0x1.29929c9c92042p-2 +0x1.d3f8e5ae13d6ap-3 +-0x1.65e72a6561bd9p-2 +0x1.0ad203c10df6ep-3 +-0x1.e96f930781a01p-3 +-0x1.21e5d8eb57dd9p-1 +0x1.c6c4f2654edf4p+0 +-0x1.fea527443ca72p-8 +-0x1.93dc6ac05f8f3p-2 +-0x1.680cd1fdc064fp+1 +0x1.21f1f1626f20ep-1 +-0x1.060a6d09b6f49p+1 +-0x1.1ff16387bdfa4p+0 +0x1.9850697079afdp-1 +-0x1.0ccf3fbb8bc2p+1 +0x1.12b19649c70c7p+0 +-0x1.220a5ffef9135p-2 +-0x1.5ef9eb9552a3bp-2 +0x1.71cdb61a203c4p-1 +0x1.1b40f1a2fcebap+0 +0x1.dae3426c41647p-3 +0x1.ceb35659a8204p+0 +0x1.028d091c63623p-1 +-0x1.0e43930a7e9cfp-3 +0x1.07471fa6830a3p+0 +0x1.d86000d9a7707p-3 +-0x1.e6a3193c6903bp-1 +-0x1.f169830a40354p-2 +0x1.1e75da86fb093p-4 +-0x1.0d4c1fec2fa9p+0 +0x1.1cf5e57aed4ep+0 +-0x1.d37956b1a6bd5p-1 +-0x1.a04d485c3b9e7p-4 +-0x1.04014c571b3e5p-3 +0x1.658acf683261ap-2 +-0x1.0ff5d61e9b253p-6 +-0x1.223558a29979fp-2 +-0x1.26c032f90fc1ep+0 +0x1.3d70f86d4866p+0 +0x1.5027343852a7ep-1 +0x1.687e11cabc067p-2 +-0x1.82955d1c9805ep-3 +-0x1.f0a28e0a0bfc3p-1 +-0x1.934f90e95a09cp-2 +0x1.9f3bffdb167d8p-2 +0x1.104161c484cbcp-1 +0x1.250e9485f986cp+1 +0x1.cbb8b279f75cfp-1 +-0x1.041cd196c8952p+1 +-0x1.39dd9137af427p-2 +-0x1.69653a2a1374bp-1 +-0x1.9e5b08d76b728p+0 +0x1.cf9e7d04b54bep-4 +-0x1.f509a8312f736p-1 +0x1.e6fb88bdc053ep-2 +-0x1.319cc6956b9ecp+1 +-0x1.9edd9bdea0a1fp+1 +-0x1.d76b71224c9b6p+0 +0x1.c56e2c269a7f6p+0 +0x1.2fd78ccfebdf2p-1 +-0x1.53571df7a806p-2 +0x1.1fc02cf8c4886p+0 +0x1.36a6328ce3062p-4 +0x1.96c06e4d84dcdp-2 +-0x1.deccf2895ba49p-1 +-0x1.46ea0e82891b3p-2 +-0x1.1ff6d6ae07a52p+0 +0x1.3e4dd68a3b267p+0 +0x1.32e09414cfe9ep-2 +0x1.b25072bb38547p-1 +-0x1.e1b733cabc1a8p+0 +0x1.36b69bef0cbcap+0 +0x1.24780e586bcd3p+0 +0x1.290dcd90893a4p-1 +-0x1.3612bb1dc64eap+0 +-0x1.e537779e7d117p-3 +0x1.17896c66b683bp+0 +0x1.31dbedd378d3ep+0 +-0x1.53c8ca3e29b1ep-1 +0x1.ea6f95ee5dcb6p-1 +0x1.b4e0038a61d51p-2 +-0x1.e2af578213281p+0 +0x1.0533a560b45f6p+0 +0x1.c96768b0eaa24p+0 +0x1.a8aec58be087p+0 +-0x1.70f68000c51eap-1 +0x1.51f401ec7fbdp-1 +0x1.db06473f40fedp-4 +0x1.4e1963fd716bbp-3 +0x1.a93094e125a22p-2 +-0x1.1026fefab4092p-1 +0x1.2b11802d5672cp-4 +-0x1.1663b10191896p-2 +0x1.64f32aa7f17c9p-2 +0x1.76f537ad53e83p+0 +-0x1.229ed99baeca3p-5 +-0x1.9d54224e8c116p-3 +0x1.66399235e31adp-2 +0x1.8274241590838p-3 +0x1.56ef89e9426dcp-1 +-0x1.48c9fc90c511ep-11 +0x1.2c9095d7682e6p-2 +0x1.f11c2ae636f68p-3 +-0x1.d30d83164bea4p-1 +0x1.7c24af02ca1bp-1 +-0x1.a8496a3e739d3p-1 +-0x1.8d426075714abp-2 +0x1.2fee8d8fad0ccp-1 +0x1.2784b3c87544ap-1 +-0x1.fa3b208cc16eap-3 +0x1.5f32ab56a81c4p-2 +-0x1.d1bb10de8809bp-1 +-0x1.b9e65c992b6c7p-3 +-0x1.5f9603c148ee4p+1 +-0x1.6dbe7021dcdc3p-3 +0x1.a46e973a3e99p+0 +0x1.4cde1121818fep+0 +-0x1.e842a6195ef26p-1 +0x1.a07a37e8d4c71p-2 +0x1.021d6b583a26cp+0 +-0x1.07a6aa47f6bfcp-2 +0x1.684072264d247p+1 +0x1.5a13a33f9ca56p-2 +0x1.e2f9968e2736fp-5 +-0x1.5ffafde92027ep-2 +0x1.b56387a27cf5dp-3 +0x1.7d238029ceef2p-4 +-0x1.61af1bcd2f05ep-1 +0x1.789c9104bc3bep-7 +0x1.2498498f33eaap+0 +-0x1.8907402f60d53p+0 +-0x1.ab41475fcd6bap+0 +-0x1.dfbe17f38637ep-4 +0x1.9308bf9a54849p-3 +0x1.c58a07e377dc5p+0 +0x1.b362b3185f4d7p-2 +0x1.57be103ebaf0cp-4 +0x1.8e2387206daecp-4 +-0x1.020ca5691cce5p+1 +0x1.83ec89bb2ce2fp-1 +0x1.b2c4774b4357bp-1 +-0x1.113a09f81fc81p-1 +-0x1.d382c87c16dfap-1 +0x1.7880f4f8ccd14p-2 +0x1.971a035ffe8adp+0 +0x1.0fb77f47421eep-1 +-0x1.9719c92834c47p-3 +0x1.ea1f6d15e40f3p-4 +0x1.32beae2003fcp+0 +-0x1.cf59e5c75346p-1 +0x1.1b29cf0432334p+0 +-0x1.3a8dc761fad7ep+0 +-0x1.9329f7e1e1bb3p-1 +-0x1.da33f91ffa374p-3 +-0x1.6ef64ba5996c6p-2 +0x1.d23d2ca17c049p-3 +-0x1.52cf3636ba4c8p-4 +0x1.081ab8e481571p-2 +-0x1.a3029d2789b85p+0 +0x1.0dd4a1f66412bp+1 +0x1.a1a5ff9b8b824p-3 +-0x1.365096745d39dp-3 +0x1.f8c280e4e1c84p-2 +0x1.2e34b13041e0ap+0 +0x1.76e0cc85b8289p+0 +0x1.7fc06c4f16dcap+0 +-0x1.1fc0438960659p+0 +-0x1.0ae6fc59bc6d7p+0 +-0x1.2c6562b353152p-1 +-0x1.cc02a394dc81p-1 +0x1.eed6e25dc319dp+0 +-0x1.95d15aed7e55p+0 +-0x1.c9bdba2cce334p+0 +-0x1.9be42a05ec3a1p+1 +0x1.059c1493b1ef6p+0 +-0x1.cd3fc1071d3c8p-1 +0x1.6e093b3f895bfp-1 +-0x1.4d1a150d70ee8p+0 +0x1.fbe58bc9bd9d5p-2 +0x1.bc4616bd7691p-2 +0x1.8efeadf3c5833p-4 +-0x1.edf52b2c77c85p-1 +-0x1.c75fde6084728p+0 +-0x1.360ca3a0dd42cp+0 +-0x1.8316aa3769e3dp-2 +-0x1.d60075694fd86p-6 +0x1.3bf7eebc460bbp+2 +0x1.dcda45212aec6p-1 +-0x1.59edd0fd7a02bp-6 +0x1.4b4d1a28acebep-3 +0x1.334620ecc9621p+0 +-0x1.29ca766a4883p-1 +-0x1.be15557ae10cbp-1 +0x1.ea0c0064d5ceap-2 +-0x1.ce34047bc919dp-2 +0x1.3ed48b4b5246bp+0 +-0x1.e1bb82cad4ff9p-1 +0x1.ea0ff46f317d1p-5 +0x1.923c71788ea04p-4 +-0x1.4884c29964546p+0 +0x1.152025ce81301p+1 +0x1.d299f4143fefap-1 +0x1.0386c797fbc4ap+1 +0x1.00ec53614e27ep-3 +-0x1.0a6d141458b05p-1 +0x1.0269a3cd98e66p-1 +0x1.5638675db228ep-1 +-0x1.b712ca3109ea6p-3 +0x1.1f2cd3235346cp-3 +0x1.ed4bdf659996fp-4 +-0x1.a29e188bf5bfbp-5 +-0x1.069dc0fb9574p+0 +-0x1.050c8a2ff07b7p-1 +0x1.90271c76cfadbp+0 +0x1.17cf9a8c3dc4dp-1 +-0x1.917ca02a22d06p-2 +0x1.15f860722717bp+1 +0x1.b87e35ebfa349p+0 +0x1.7ae3124b25f2bp-2 +-0x1.c5c72c93c2d11p-4 +-0x1.eb5c14492754fp-2 +0x1.2db7ce4a43852p+1 +0x1.917df786a7411p+0 +0x1.0032d2617d198p+0 +-0x1.c04d5276f8e8cp-3 +-0x1.658aab185625p+0 +-0x1.def7a427fdb86p-1 +0x1.2e50e8e9936p+1 +-0x1.e29c2e02b1802p+0 +-0x1.3a92f53a6713p-1 +-0x1.01840542c33e8p-2 +-0x1.a1bb461853681p-1 +-0x1.cd19ac4ad8ac9p-2 +-0x1.48b60d36a500bp-2 +-0x1.bd350368ccd79p-3 +-0x1.c46617fb1ff35p+0 +0x1.bf977d521a53fp-3 +0x1.be7835e336134p+1 +-0x1.a5f1702bdb0aap-3 +-0x1.f0470fd55eb31p-1 +-0x1.49c53a8ddc39cp-1 +0x1.99798da1c025ap-3 +0x1.30f6d6afca31dp-2 +0x1.91aab55bb0eaep-1 +-0x1.28062a01ab905p+0 +0x1.daf0068a4648p-2 +-0x1.2aefe0be622c3p+0 +-0x1.53a44ea11ap+0 +0x1.1725a8e5f4b7ap+1 +0x1.fbb308f9742d6p-3 +0x1.539cceded3db2p-2 +0x1.1d375d18b4865p+1 +-0x1.3d261391e8c02p-3 +0x1.6b24572e08393p-1 +0x1.5a5f7c3094de9p-1 +-0x1.67bef0d5e2905p-1 +0x1.ba7cff5a21287p-3 +0x1.6f2d89e4377d4p-2 +-0x1.4e682d49ff477p-1 +-0x1.866033fc47c63p-4 +-0x1.a8b234d4fa494p-1 +-0x1.5b18f0c015f78p+0 +-0x1.43970bfb824aep-1 +0x1.2cbe71f97c90ap-5 +-0x1.26b7c0e9a8849p+0 +0x1.194518d91bc4p-2 +-0x1.d7ef251bbc71p-1 +0x1.6bd3bdec63b04p-1 +0x1.2d60d5a27c4b2p+0 +0x1.4e2a48b2d5123p-2 +-0x1.9bc7256c883d5p-1 +0x1.6521f84acf6cbp+0 +0x1.3246dc983ab88p-2 +-0x1.80002fd67a625p-2 +-0x1.1678006ca7655p+0 +-0x1.14855f287d8edp+1 +0x1.54ed1bd62c549p+0 +-0x1.2eefa74a088a6p-2 +0x1.97c2d37b17f69p-2 +-0x1.142d7cf3fdc0ap+0 +-0x1.796aa9a04aae8p-4 +0x1.b0d9d603620fap-5 +0x1.546bc41c08f8cp+1 +-0x1.998eb2a1f58bep-2 +0x1.25fa8f9db5a5fp-1 +0x1.fc34f5a415d0ap-1 +-0x1.6999cad5dcb1bp+0 +0x1.52bfed0c2067p-2 +0x1.564f1508ad28ep-1 +-0x1.aeeba98923fcap-2 +0x1.99268aa57399dp-5 +-0x1.ee66af8dc006cp-2 +-0x1.1c6a1739b26b2p-1 +0x1.435e7e1a9bc3cp-4 +0x1.76cc2e8e9e5dfp+1 +-0x1.83fc524693dbep-2 +0x1.5bbb9646c2e28p+0 +0x1.03605b7977cc8p-1 +0x1.add1e9f1c6cddp-4 +-0x1.12d5618c6b4c6p+0 +-0x1.b48c30fac1824p-2 +0x1.6b3ae30fd52dfp-6 +0x1.173f8478e2863p+1 +-0x1.72733225abeb5p+1 +0x1.67d70704a4339p+0 +0x1.46b330f251836p-4 +-0x1.95dc20f6b81b1p-5 +-0x1.fb3325a724a99p-3 +-0x1.d185f66c21c09p-1 +0x1.7f29d578ddf1bp+0 +0x1.404b71c973ecbp-1 +-0x1.d555687577d14p-1 +-0x1.6dfd1cb7643p+0 +-0x1.ec906dcd35ddcp-1 +-0x1.685455d1c3832p-1 +-0x1.fe44a15cfc5f7p-4 +-0x1.71fad0efa0e39p-3 +-0x1.762ef989151c9p-3 +0x1.d80ad8139227ap+0 +-0x1.486074c9ef04cp-6 +0x1.0a8cf1332cb4fp+0 +-0x1.216b43a7112cdp+1 +-0x1.5c978b95cc4e3p-6 +0x1.823b307638c3bp+0 +0x1.179ff06edd64dp+0 +-0x1.2f51752f28a43p+0 +-0x1.c4b97f5f00b34p+0 +0x1.4b06db80057f5p-1 +0x1.9ac9d7097f697p+0 +-0x1.ba7776be4bcd7p+0 +-0x1.6a96dfd282c3ep+0 +-0x1.b565071fb2b58p+0 +0x1.03ba242e75589p-1 +-0x1.00f62c2282f9ep+0 +-0x1.29090666ab3e2p+0 +0x1.200271d15e08ap-5 +0x1.02cdd703c372ep+0 +-0x1.c1df0a6cc8eb4p-2 +0x1.62082cc20f3afp+1 +-0x1.38362f1b1b34fp+1 +0x1.05e18b0cb3a7cp+0 +0x1.b4f5170011cf4p-1 +0x1.5d5d25d6e1df5p-1 +-0x1.1bd403a1d726p+0 +0x1.1ed7d1ed1fb16p+0 +-0x1.795bfa12c1311p+0 +0x1.cdc30f560d1c4p-1 +0x1.86cc4a0a87f44p+0 +0x1.0faede2b4bb8bp+0 +0x1.ff5697c3be761p+0 +-0x1.94f979bc376afp-2 +0x1.e3ca74f9d7f9dp-2 +-0x1.4e0fbca0be32bp-1 +0x1.4f04d297066c7p+0 +0x1.11836795d306bp+0 +0x1.1cf13582f1318p-1 +0x1.c262bccdc508p-1 +0x1.50c49f0d98ce4p+0 +0x1.c7e2aea850175p+0 +0x1.0ea45c7f10e7dp+0 +0x1.70b79bca29c7ep-1 +-0x1.809fab2fa7544p+0 +0x1.073ac8101b9adp+1 +-0x1.00e0b405485b1p+1 +0x1.18653b53eb512p-1 +-0x1.2914dceb8e09dp-1 +0x1.f453e1b52de9bp-1 +0x1.a48fb0c386415p-4 +-0x1.b7f86beff7bbep-1 +0x1.cf689bb62eae4p-2 +-0x1.4df38f690748cp-1 +0x1.3d914834a02dcp-1 +0x1.04d87064f45a9p-3 +0x1.183f8f2241ed6p+0 +0x1.1318240ca5d33p-1 +-0x1.cae47b30d2f23p+0 +-0x1.72a1c2a89d6c9p-1 +-0x1.3d1ec7587c2b8p-7 +-0x1.051fbbde41a39p+0 +-0x1.dd8fcaa8a58f8p-3 +0x1.ac2c57087b80bp+0 +0x1.cf0ef531e025dp-3 +0x1.2a15bb92fdf38p+0 +-0x1.6458baf70503ap-2 +0x1.3dfba059f2546p+0 +0x1.acce48f4e536cp-2 +-0x1.4a6c29779e9acp-1 +0x1.0d65e0dca8388p+0 +-0x1.ef75c3b7f15afp+0 +0x1.332d6d86a557cp-2 +-0x1.1aa7e17a289fap+0 +-0x1.d7ae6b7c6814fp-3 +-0x1.dabe9688f81fp-2 +-0x1.42dc805d7da19p-5 +-0x1.e3ff006448c3bp-1 +-0x1.567bcfb46e58ep+0 +0x1.45e4c94adae2p-1 +-0x1.490a684bbfe4ap+0 +-0x1.0f8e1feffa9fdp+0 +0x1.6b87dd6e069a6p-4 +-0x1.948d00f9cf08dp-2 +0x1.2150989caa1b7p+1 +0x1.91ff10e829bb3p-1 +-0x1.2bc5ebf628effp+1 +-0x1.b2697742ba1dap-1 +0x1.9b8ef73ad9ad6p-2 +0x1.4fc9cbea1c7c2p-1 +0x1.679f60b6ff6d8p+0 +0x1.249b54f133818p+0 +-0x1.360a5bac22358p+0 +0x1.6a3caeb79e627p+0 +0x1.08101ea1959cep+1 +-0x1.ecf65cc6cfa57p-3 +0x1.62cada4da3588p-3 +-0x1.06112ee96ed42p-1 +0x1.991d772a8d2fbp-1 +0x1.606adf984b0bdp+0 +-0x1.070713afa5105p-3 +-0x1.562a988502c92p-4 +-0x1.dc5e96eedc33ap-1 +-0x1.83bc2de9bd012p-2 +0x1.5f291c644a389p-6 +0x1.ff718aed3ff87p-1 +0x1.0c56cfcad138ep+0 +-0x1.9a20261a7f3cap+0 +0x1.5dd325e38f125p-4 +0x1.9904636bc6218p-1 +0x1.06002bd0dec72p-5 +-0x1.f13c1e5b57d07p-4 +-0x1.180a16bcb1dccp-2 +-0x1.8f8b4d1447b8bp+0 +-0x1.1649f29698c38p+0 +-0x1.97f9eaf9bcfep-2 +-0x1.4fe6172b8e328p-1 +-0x1.3fb359b89de78p+0 +0x1.10b6023dd5a51p-3 +0x1.46d6eaa05b11fp-2 +0x1.f010c517a2d28p-1 +-0x1.18296d17dc06ep-3 +-0x1.3d588b118722dp-3 +-0x1.6d596346c5777p+0 +-0x1.9dca2a23691c5p-2 +0x1.257a95aa902dep+0 +0x1.b9943a666e534p-2 +-0x1.ead32b1ba9fffp+0 +-0x1.47b2d0411b1e5p+0 +-0x1.3195524628d3p+0 +0x1.03d558dacfc7cp+0 +0x1.c00ae24a0a399p+0 +-0x1.8fab24503bdedp-4 +0x1.3549cb20d72cap+0 +0x1.007aa5b57512dp-1 +0x1.457e7acdf9e75p-1 +0x1.18726b7878b02p-1 +0x1.13ddb372b541fp-2 +-0x1.03641de444419p-1 +0x1.4c7beb9dd3e1ep+0 +-0x1.a59091efe7995p-2 +0x1.2641c9b9a248p-1 +0x1.15666195054f1p+1 +-0x1.e0f6fb09b47b1p+0 +0x1.05feeba056108p+1 +0x1.13e9aee1aa471p+2 +-0x1.544059260e467p-1 +0x1.705f558db1f7dp-1 +-0x1.169843c5c922cp+0 +0x1.d1236f695756dp-2 +0x1.6718ed72e9789p-1 +-0x1.57e652ed6513bp+0 +-0x1.79544ea4f842p-2 +-0x1.16d6405fdef62p+0 +-0x1.1ac905b09b513p+0 +-0x1.e85af446ce44cp-1 +0x1.bb11c58573c6p-3 +0x1.7f800df187fbap-1 +0x1.3d5614880365fp+0 +-0x1.cb8fc5ca8d21ap-2 +-0x1.38784b4457b53p+0 +-0x1.4ab4fa9fbd1afp-3 +0x1.8532a57029d5ep+1 +0x1.3dd5b7bc8c944p-1 +-0x1.ffa2151287b0fp-3 +0x1.4761347fdc14fp-2 +0x1.e5787b1dd88eap-2 +-0x1.f9e446149f343p-2 +-0x1.93e5d1509b1fbp-2 +0x1.4357f95694abbp-1 +-0x1.4f73dff8a219dp-2 +0x1.9d7f484a92c38p+0 +-0x1.f46b4b3c263a2p-4 +0x1.4cc1316881981p-3 +0x1.3e01ae737cb7p+0 +-0x1.b8cd7cf1ff021p-2 +0x1.17734bf216319p-3 +-0x1.4d84b67ffcaabp+1 +-0x1.5e3c2bb47e757p-3 +0x1.39600c851451cp+0 +-0x1.d9fed2305c888p-1 +0x1.cf3df0c2e5eaap-1 +0x1.97d41a0ca3461p+0 +0x1.ee4f3d641d617p-1 +0x1.83f5e925554e7p-2 +-0x1.89719b5383a4ap-4 +0x1.7a6966035bf8dp-4 +0x1.32364619b25fep+0 +0x1.11ca578615e42p-1 +-0x1.f26d5d11faa41p-1 +-0x1.32b2cf9dadaf6p-1 +0x1.c7fba542bced9p-6 +-0x1.016d02f024be3p-5 +-0x1.29eb778b5f1f5p-2 +-0x1.0abdf0f18390bp-1 +-0x1.83caee50aa938p+0 +-0x1.e77141958bf48p+0 +-0x1.76c61975e5db2p+0 +-0x1.0b184e359fcfap-4 +-0x1.2f8bb10b82134p+1 +-0x1.b2a8baa6b075dp-1 +0x1.900b1dc896c01p+0 +-0x1.f1c7eb783bc87p-2 +0x1.810201bffae51p-2 +0x1.2c9fc4c95da0cp-3 +-0x1.f03356cbf0643p+0 +-0x1.9fd06ec2498b4p+0 +0x1.9d463e02f1ad9p+0 +-0x1.3acaa99735b4ep+0 +-0x1.6968e52153f5ep+0 +-0x1.b41609afe417ep-6 +-0x1.6b96b28f9427dp-1 +-0x1.50589a38cb2f7p-3 +-0x1.9737074f32c1p+1 +-0x1.2f7d754e1ce8bp+0 +0x1.b05bd3c996b4cp-6 +0x1.40ed048dfc93fp-1 +0x1.228e5dee46cbp+0 +-0x1.112b60b800599p-4 +-0x1.be5892c5db7bbp-1 +-0x1.c6a599688170dp+0 +0x1.a56ef0739cf8ap-2 +0x1.918a5295319fap-3 +0x1.2d04ad130d76bp-2 +0x1.1aa9f2c2a40b8p-2 +0x1.0eb2ac3d285f2p+0 +-0x1.a38a2c4ecdca1p+0 +0x1.c2fa24fe1f397p-2 +0x1.3e9bc7af1c8fp+1 +-0x1.171817b49bc5dp-1 +-0x1.38933e07c19e5p+1 +0x1.8107ea37b5a8p+0 +0x1.96ff2b9f8b568p-1 +0x1.188cd6a241b6p-3 +-0x1.08ee680891e88p-6 +-0x1.2bfef29b4173bp-1 +-0x1.076554cde63e2p-1 +-0x1.4afc23f1f6081p-1 +0x1.1aa983503c1cbp+0 +-0x1.85ce2f3e1f7f1p+0 +0x1.575983653bd56p-1 +-0x1.bf4e26dbf2605p-1 +0x1.b008665f6334ep-2 +-0x1.099ad0d299a8ap+1 +-0x1.055115a807c0dp+1 +0x1.6ef53a8f473a9p-4 +-0x1.bdb7c6cdff693p+0 +0x1.5259b3681b3c2p-1 +-0x1.8852afebce82cp+0 +0x1.1df34f9627961p+0 +0x1.daed1d8af823dp-2 +0x1.2c7a89ce4e75dp-1 +0x1.9331efbee1ac6p+0 +-0x1.55762693b425ep-1 +-0x1.146f9ddba649cp+0 +-0x1.28a0220b89b76p-1 +-0x1.a2228dc88396bp+0 +0x1.0b5b471e53949p+0 +0x1.d73f7ef842bb1p-2 +-0x1.3cd3f0d4dae53p-1 +-0x1.5018e76a96f7dp-2 +-0x1.72153e48a85c2p+0 +0x1.a8f7b18aef778p+0 +-0x1.26c92b28c68c4p-4 +-0x1.3ca7f79f0ebf7p+1 +0x1.40d59666b64d7p+0 +-0x1.5a8bb9550d5abp+0 +0x1.84ab41a2b7058p-2 +0x1.d44e1b40c1c02p+0 +0x1.dc0de4ed72d9cp+0 +0x1.8750902435eacp-5 +0x1.c435604f3676ep-3 +-0x1.20b221037672p+1 +-0x1.3dc2bed23761fp+0 +-0x1.06ed8dfceda2dp-1 +0x1.4d3d6f9bc72f3p-5 +-0x1.dd5742db3a0ffp-2 +0x1.76eda676ae1c3p-1 +-0x1.d54bacf73842dp-1 +-0x1.2ce968f482fb6p+0 +-0x1.41ab3d37b935p-1 +0x1.44f8368412ce3p-9 +0x1.5161949935c9dp-1 +-0x1.a7bbf8b575ebap-1 +-0x1.217621dece826p+1 +-0x1.9fdd64aeaf543p-1 +0x1.42b617e0c497cp-9 +0x1.ad52dd1410743p-2 +-0x1.a0565df383012p+0 +-0x1.64508925d269dp-1 +0x1.ad5667cddbbb1p-3 +-0x1.7d311b3642bf1p-1 +-0x1.5ddfba14e4874p+0 +0x1.c135f98268459p-4 +0x1.014789d4d5b91p-4 +-0x1.3333aa531c637p+0 +-0x1.4496a147c57bep+0 +-0x1.711ea5c8459cfp+0 +-0x1.755ebf41299fep-10 +0x1.1ac203cb9a283p-8 +-0x1.d88bd3db0c512p-3 +0x1.6dce50ae40243p-1 +-0x1.16dc0ba1a1b9cp+1 +-0x1.27c77b5832043p-4 +-0x1.906e9ee874a68p-3 +0x1.18e9b7af28258p-6 +-0x1.2e8c2cc1bde9ep+0 +-0x1.4c641af7b809dp+1 +-0x1.2c24ba980caccp-1 +-0x1.ac2c6d05084c6p-2 +-0x1.d221a59706b64p+0 +0x1.d71f27a76ca22p-2 +-0x1.630a7a3c19d39p-4 +0x1.5cb6bb7f70728p+0 +-0x1.4d706e630a0a9p-1 +-0x1.81db16b8bbe4bp+0 +0x1.1d45ebf7ed30fp-1 +-0x1.bbd30311345ebp-1 +0x1.692925c1296e1p-1 +0x1.a623ad0818d59p-4 +-0x1.080955c97a89fp-2 +-0x1.8c6be3f7c945dp+0 +-0x1.b92f87fae57d7p-4 +-0x1.4ef9f21574415p+0 +0x1.67160ab935358p+0 +-0x1.3111d96a16cbcp-2 +-0x1.1247dde581545p+0 +-0x1.00735cd66ed1p+2 +0x1.d43b42181b948p+0 +0x1.2248fd038ed27p+0 +0x1.36f160e4d900bp-6 +-0x1.62a91991c2c58p+0 +0x1.c5cf2fd192635p-1 +-0x1.df6c8c4890602p-1 +-0x1.f943ab203a248p-3 +0x1.51a9cae8a92e7p-1 +-0x1.9108faadd1115p-1 +0x1.fe48626444ba7p-2 +-0x1.04ffeff608392p-2 +-0x1.d641c76db1ed5p-6 +-0x1.f9d3d67006a29p-3 +-0x1.ee62951aa7adap-3 +-0x1.94a685436df4fp-2 +0x1.a7c51685d902ap-1 +0x1.aa85743ee97ebp-1 +0x1.86dca3bd4a44dp-3 +0x1.38018c0f0dd66p-1 +-0x1.ba117f24df0d6p+0 +0x1.fc074a6f6f58fp-2 +0x1.0ea0d742122b1p+0 +-0x1.0efba5c1fc1c3p-2 +-0x1.17c456c750bdep-1 +-0x1.596f727d34937p-3 +-0x1.392248d1593e7p+0 +0x1.5122e040be88dp+0 +0x1.f0ef80ba50badp-3 +0x1.00a041b3dffc8p+0 +-0x1.f4b12dad2c6bap-1 +-0x1.c8731904ec173p-1 +0x1.31dd6880cacc1p+0 +-0x1.a303a38f85806p-7 +0x1.4e86c85a84015p+0 +0x1.1a56ee1a74cf5p+0 +-0x1.7238cdb89a0ecp+0 +0x1.83510cc9c4ca6p-1 +0x1.3295391e3ccc8p-2 +-0x1.e298a4b310a7dp-3 +0x1.cc723844fe461p-4 +-0x1.0944042fcdae5p-2 +0x1.11645985610c2p-2 +0x1.fbafb2c408d9bp-2 +-0x1.599da3bdcda81p+0 +-0x1.e33700bf04184p+0 +0x1.04b9886745e6cp-1 +0x1.a4e32dd308aaep+0 +-0x1.6e6b6cf96e783p-2 +-0x1.10709c498307fp+0 +-0x1.48d7f5441c754p+0 +-0x1.cc1443515a649p+0 +0x1.87c2e092a68f2p-2 +0x1.cb2c20b529bd2p-1 +-0x1.c6295d9c09c8fp+0 +-0x1.218ee2ad1f934p-1 +-0x1.2756a45e460eep+0 +-0x1.1cc8541ef7abp+0 +-0x1.9e64f73c00f78p+0 +0x1.9993699c101f6p+0 +-0x1.5862d69ff8b63p+1 +-0x1.b02166526d156p-2 +-0x1.99317ff87b5fdp-5 +-0x1.e066f612bc266p-2 +-0x1.620d20414e49cp-2 +-0x1.2d339cd08c6c2p-1 +-0x1.8d62f9a0a665p+0 +-0x1.00e289dfb31b2p+1 +-0x1.228055a6a4263p-1 +0x1.650beb9e3d905p-1 +0x1.add9cd3d9ab09p-1 +0x1.9233fff8d7297p+0 +0x1.67b7df39fb785p-1 +0x1.25eda2ab51b3cp+0 +-0x1.5a3b453f1c202p-4 +-0x1.5c45bc7aaa9f8p-3 +0x1.627c976c3806p-4 +0x1.6a81ed75eb061p+0 +0x1.8da70950ee823p-3 +-0x1.26483a4938c57p-3 +0x1.fee456a22bbd3p-2 +-0x1.ae35d513ca5f7p+0 +-0x1.d0244cd27dcb5p-3 +-0x1.d76601980934ep-1 +-0x1.5802e7afdce4bp+0 +0x1.5ea6b8ea7aeaap+1 +-0x1.2cbb80231a5bdp+0 +-0x1.219d9c5476f19p-1 +-0x1.86f4a461f7183p-1 +0x1.be4ac582a64adp-1 +-0x1.9f4dc59eee9a1p-1 +-0x1.0ce498d843fcap-3 +-0x1.2710c9e168fc7p+0 +0x1.d7f33124db819p-2 +0x1.ea8f9a6ce2108p-2 +0x1.bbbb082dd7912p-1 +-0x1.da4783a22c493p-1 +-0x1.2671fb7f1a81ap-2 +0x1.9fcc20ac806ap+0 +-0x1.59a32f3adc7d6p+0 +-0x1.9f049ccdf0f36p-4 +0x1.4b15aa442cf6ap-1 +-0x1.2b1f28a5f0c56p+1 +-0x1.a43ecae5118d3p+0 +-0x1.05965bac75f9ep+0 +0x1.6fa45ec356479p+0 +-0x1.e90b1aed4219bp-1 +-0x1.a6fa422911babp-1 +-0x1.45452675327bap-1 +0x1.078a8c92bb3f6p+1 +-0x1.fe4f1ddb08991p-1 +0x1.032e9e1ab8d8ap-1 +0x1.5afe8ae2ed933p-2 +-0x1.54094b3d1d351p-1 +0x1.8124ccdc8b1dep-1 +0x1.80e3387dbf33ep-4 +-0x1.45ae5838cae14p-5 +-0x1.44c5524e9199fp-1 +0x1.9542f3a4aad91p-2 +0x1.9432234e9523cp+0 +0x1.9edd1a45088a7p-2 +-0x1.61b20106e07e7p+0 +0x1.cabf4bc48e766p-2 +-0x1.e190cef90b975p-3 +0x1.15f088c9dee53p+0 +0x1.600cf449c655bp+0 +0x1.277e065bba117p-1 +0x1.036adc016984p+0 +-0x1.069f9332656bp-3 +-0x1.1d4d017e0bb04p+0 +-0x1.7b7f405695c51p-1 +-0x1.20c723a0775f8p+1 +-0x1.584b227ece41fp+0 +-0x1.06c720075dfbcp-4 +-0x1.0c2c58b30e777p-2 +0x1.773b4305a61cdp+1 +0x1.28c14532ff71dp-1 +-0x1.4304cfb4ee3fap+0 +-0x1.92768f948ca29p-2 +0x1.888d25b454406p-1 +-0x1.57b36e1f605fp+0 +0x1.bfd58c915e16p-3 +-0x1.806ce03cc8937p+0 +0x1.5348ba2539499p-3 +-0x1.7db2d7d5d67cap-2 +-0x1.07b6f0960e7e5p-6 +0x1.1770ffb2d5a9fp-1 +0x1.b17e69ae8c5c7p-3 +0x1.29cda0ba82a5fp+0 +-0x1.2727a4d20f7acp-2 +0x1.cdd90e580cb64p-4 +0x1.dd3db00a3ab54p-1 +-0x1.090694c65beb9p+0 +-0x1.8777d294a4417p-3 +0x1.3683c7f7a18d9p-3 +0x1.18abee9edaa09p-1 +-0x1.6a2fb5cdd4f1cp-1 +0x1.9c9940c028163p-2 +-0x1.dd0cd1cbf4055p-1 +-0x1.89bb8306ab329p+0 +-0x1.450dad2d8f94dp-1 +0x1.1db3aa5b159edp-1 +-0x1.5253d572bc726p+0 +-0x1.773fcb321e9cbp+1 +-0x1.44725d7ff6097p-3 +-0x1.85e30556f955ep-1 +-0x1.248a4c31090aep+0 +0x1.07cac3c199f5dp+1 +0x1.606b66d295891p-1 +-0x1.d480710e94e67p-2 +0x1.80ae080c769c4p+1 +-0x1.a1ab470379267p-1 +0x1.f1e1fa3375398p-2 +-0x1.f1d0712d40a5fp-1 +0x1.582ebfb1db49ep-2 +-0x1.22fa577c0d992p+0 +0x1.2b38498ad6c8ep+2 +0x1.b3b695c6d9312p-1 +0x1.26d7b544813f8p-5 +0x1.76144c7f3e9c9p-1 +-0x1.6daec87259afp-3 +-0x1.4fbc6dd06a89dp-1 +0x1.c7934d638dcfbp+0 +-0x1.e43557f49d971p+0 +-0x1.3214ec5bce878p-1 +-0x1.93cbe9a721b0ep+1 +0x1.ff5b86f5f418dp-4 +0x1.0b2b6fd4700bfp+0 +0x1.335c9b4b704a1p+0 +-0x1.953d5601ce38ap-3 +0x1.8d2b9230bb05ap-3 +0x1.bae885e362688p+0 +0x1.167fdf81407f1p-2 +0x1.3088cdfd3ac57p-2 +0x1.8e2d59aae1a1fp+0 +0x1.8bd951caf5e93p+0 +0x1.0c35b1c4aa6d2p-2 +-0x1.07462d8006abfp+0 +-0x1.a421ad0649796p-1 +-0x1.7b041fd969e89p-4 +-0x1.6584df2c6a83p-2 +0x1.1dfed4759bebfp-3 +-0x1.ba50d2f6110b5p-2 +0x1.e29c9b31d6da9p-1 +0x1.92f14e8f3825dp-2 +-0x1.39170d6424af2p-2 +-0x1.8693d0848429p-1 +0x1.2dbb1cf932fbcp+0 +-0x1.5db2b85add1fap-5 +0x1.088458b34f674p+2 +0x1.7ad339f2f38d3p-1 +-0x1.1fb8948aada04p-1 +0x1.9b7cc9e5a6543p+0 +-0x1.1a63dc7e4365bp+1 +-0x1.1e8b6e7b9940bp+1 +0x1.355975dde6432p-1 +-0x1.6d0ef1ac850cap+0 +0x1.2fc69baef4bc7p+0 +-0x1.3de7429d92309p+0 +-0x1.724510ec1c591p+0 +-0x1.9e1fc2e664119p-7 +-0x1.d52816671f386p-1 +-0x1.0f42693ff74a3p+1 +-0x1.75a2d194c5a85p-2 +0x1.cb7f68e18e1e2p-3 +0x1.f95f87c5dec9ep-1 +-0x1.558a13a617898p+1 +-0x1.271f4b5fe7d3fp-1 +-0x1.de4e40a256dd8p-2 +0x1.84feedc5af2bbp+0 +-0x1.4bf82fb3ead1ep-2 +-0x1.70a0cd62c573ep+0 +-0x1.82e93235056fdp-1 +0x1.63a00e8c6124bp+0 +-0x1.7edcd2ce0a612p+0 +0x1.7ba93d78b8892p+0 +-0x1.1cc26bc13a5d9p+0 +-0x1.7dbbe7617dc3fp-2 +0x1.c9e901ebf5e59p-2 +0x1.1e397077089e2p+0 +0x1.2d37a44f20273p+1 +-0x1.7bdd6101a46aap-4 +-0x1.02b03a4e72829p+1 +0x1.c7e03f970cac9p+0 +-0x1.7deb80c33c973p-6 +-0x1.86dd5d300bbb8p+0 +-0x1.7a3ebc042ac04p-1 +0x1.0b6f2199f585dp-1 +-0x1.a5b24e12c12d4p+1 +0x1.8f9b31e7901fep-1 +0x1.3f1eed0029f6bp+0 +-0x1.79bb443b4eadep-6 +0x1.405df0d73ed41p+0 +0x1.7810fe8736698p+0 +0x1.59039de6db6f5p+0 +-0x1.533b7d6f0b6d9p-1 +-0x1.847b9b9724aecp+0 +0x1.90b913592293p+0 +0x1.0f69311ef4321p+0 +-0x1.7e3a5ab032d3fp-1 +0x1.0a82d107c99e6p+0 +0x1.7dae4a58dc425p-3 +0x1.fa8bb34544995p-2 +0x1.2ae800ff7859ep-4 +-0x1.a4ebb42664509p-1 +0x1.334a7b3b9079p-1 +0x1.8ca71903ee2c6p+0 +0x1.482d30411e283p-3 +-0x1.30929e5c373afp-1 +-0x1.80e35ef1ddd1cp-1 +0x1.03de4f29aff05p+1 +0x1.d4c766c560fe2p-13 +0x1.138c14bbb535fp+1 +0x1.7f977d5fbb75ep-2 +-0x1.0d82df5123a9p-2 +0x1.8771f6a03a6c8p-2 +-0x1.a59fc737d5559p-1 +-0x1.5acebe13f11f2p+1 +0x1.943dbd4ff2cdbp-1 +-0x1.6b5f6879ec61fp-2 +-0x1.116521d4a3d8cp-1 +0x1.a468ebf0357cbp-5 +-0x1.4413d5ee9f75cp-4 +0x1.b61754ae0c6dbp-1 +-0x1.3d363813cc4bfp+1 +0x1.307a9ff77cb2ep-1 +-0x1.f0e5671c3f121p-2 +-0x1.2c479457e9901p-1 +-0x1.b2cdd85777a17p-1 +0x1.a5a8cea93441cp-1 +0x1.012dd5417ebabp-1 +-0x1.498eb3f0bf3b5p-1 +0x1.9b817a66f1ep-3 +0x1.d8ca5b2cc83e3p-1 +-0x1.a4ad2f1d303ebp-1 +0x1.e40b96b32e14cp-4 +-0x1.6330bd8e98ee5p+0 +0x1.af60dfb24d146p-1 +-0x1.3cc6919e04d7fp+0 +0x1.138621dd3ee7bp-2 +-0x1.0584f7f7702bcp-2 +0x1.1d624564810eep-1 +0x1.d5e8c33252f5bp-1 +-0x1.e79711bed5f0dp-1 +0x1.ad973178b1426p-1 +0x1.9697c6ba07269p-1 +-0x1.e3f9c8732e0b1p-6 +-0x1.2313c7c0f12d1p+0 +-0x1.dea8cfcd209e8p-3 +0x1.4ec636bf19b65p+0 +-0x1.5f8228514bf1p-1 +-0x1.e8ac199e70757p-3 +0x1.1d46793e9bc24p-2 +-0x1.9bd877905a45dp-5 +0x1.1f0e932aa1f75p+0 +-0x1.8da4c38735d1dp-1 +-0x1.1bd46912e03d1p+1 +-0x1.9cbb3581dd141p-2 +0x1.764c244b1fbd4p-1 +-0x1.804129f83c132p+0 +0x1.50b8fdace7555p-1 +-0x1.2b2423ea8e68ap-2 +-0x1.3927d950b678cp-6 +-0x1.fc76e9cb416dcp-1 +0x1.8404e50aa6706p-3 +-0x1.62dd116f737cap-4 +0x1.85ad4467fad4bp-2 +-0x1.4829ea2a011ddp-5 +0x1.454407b7b7436p-1 +-0x1.817e4aca94532p-1 +-0x1.41fe3c74f27bep-1 +-0x1.87ea268053578p-1 +0x1.49d825e0468efp-2 +0x1.94c503adb4006p-4 +-0x1.936702f764919p-6 +-0x1.5e0853f89b32cp+0 +0x1.7526e455cfdbbp-1 +0x1.3c73d327cd48bp-1 +-0x1.44c8d837b29a1p-1 +0x1.aa17b59627509p+0 +-0x1.abbbf47e732f2p-2 +-0x1.935e2bc1cbeep-1 +0x1.fbf9979b2d0f4p+0 +-0x1.460f65c411d4dp-1 +0x1.99d664784b077p-2 +-0x1.9ad50578ec066p+0 +0x1.65a630bae65f1p-5 +-0x1.4761ae057867p-1 +0x1.5c25b7a3b86c2p-2 +0x1.75acf69793aaap+0 +-0x1.030ebc93315eap-1 +0x1.638e1deadeb17p+0 +0x1.7a1329148d092p-2 +-0x1.6ad65c0b2c245p-2 +-0x1.8b3d6bf9c738p-2 +-0x1.42b03fb911a6dp-2 +-0x1.7c9dfd892282cp-1 +-0x1.4cfbf80963feep-1 +-0x1.2efc81228d25bp+1 +0x1.b9edf9e537835p+0 +0x1.e9b59c411035bp+0 +0x1.68ff7b5b723c9p+0 +0x1.f863ad7b8b45fp-2 +-0x1.276971410e109p-2 +-0x1.b80c5e6a003fep-1 +-0x1.1d73ed291042cp-2 +0x1.1d386d2fd05fcp+1 +-0x1.15e4f32e4a988p-1 +-0x1.5f5f7c2005e5cp-1 +-0x1.b65886bde724fp+0 +-0x1.e62d7e4f2ca86p-1 +-0x1.c97e7a882473p-1 +0x1.06a988b531ee4p+0 +0x1.e77977b8a24f8p-1 +-0x1.35eb76ff60099p+0 +0x1.f16c058419fcep-2 +-0x1.c2e0b70da69f8p-2 +-0x1.c2e981a028fadp-3 +0x1.d50fef3819d9ap-4 +0x1.007b53c1185c4p-1 +-0x1.d7f8b998ae332p-3 +0x1.1e4003db8fb25p-1 +0x1.cf7be185bcb6ep-3 +-0x1.edec2941d3352p-1 +0x1.2787ee2e37515p-1 +-0x1.cc1f60297488bp-1 +0x1.c54666f50359fp+0 +0x1.c928236f8eccap-1 +0x1.17e182e55004cp-2 +-0x1.38320426966bfp+1 +-0x1.23fce40339614p-2 +-0x1.17b1cc8a06676p+0 +-0x1.5bafd28e8555ep+0 +-0x1.257704869c35p-1 +0x1.a2fd4088af239p-2 +-0x1.21a3c269b219p-2 +0x1.8d04fd46b222fp-4 +-0x1.674db72d67337p-1 +0x1.74be2914f06f8p+0 +0x1.883d9f31cac0dp+0 +-0x1.cbf05f27a32e7p-6 +-0x1.b69ba86752555p-3 +0x1.2e6c550b652ecp+1 +0x1.911ead184ce73p-1 +0x1.f58ab54620487p-2 +0x1.6b1ecd10a0655p+0 +-0x1.91bbfc4618d2dp-1 +0x1.e99e7a237977bp+0 +-0x1.3c7abe936e8c6p-1 +-0x1.8155945219cddp-1 +0x1.0538f059db14fp-5 +-0x1.d823ec71c5517p-1 +0x1.a7811eceac387p-1 +-0x1.37a6059e2e06ep+0 +-0x1.14bb9e44957f4p-2 +0x1.2298d6092512cp-3 +0x1.5d9d619500a72p-1 +0x1.985deed076b0ap-1 +-0x1.0b836aa598b3bp-1 +-0x1.e1af80d40b7a2p+0 +-0x1.a0a2902844a56p-1 +0x1.5ed4c68b9a0e2p+0 +-0x1.4f571fde7a502p-1 +0x1.880169a8f90b9p+0 +0x1.ce82e7c8cc62ep-1 +0x1.7868e81af2fbbp+0 +-0x1.8259681e6bf3bp-1 +-0x1.2dfec1f21f17dp-2 +0x1.86b9d349f1f7ap-1 +0x1.b2fe346f299f7p+0 +-0x1.b9a9d62c39d7ap-4 +0x1.048f2e5a2ee22p-6 +-0x1.cdb44cb109cbfp-1 +-0x1.40301ef2451e8p-4 +-0x1.6cb2e1d010d6cp-2 +-0x1.625cce8b1d24ep-1 +-0x1.bdaf8a4fb4176p+0 +-0x1.4987d79247be9p-1 +0x1.59c56f347cb8fp-1 +-0x1.77e1d67d5cf93p-2 +-0x1.6b0ae4ccc749p-2 +-0x1.542d83c758a2dp+0 +0x1.489b39a9be0c3p-1 +-0x1.0f8eb13c017afp+0 +0x1.1e19852fd3afp-2 +0x1.46ab056e23ee6p-2 +-0x1.d95bf17c22d4ep-1 +0x1.491ba51228373p+0 +-0x1.47e0249221c91p+0 +0x1.2c4401fc369b3p+1 +0x1.736228688cd9fp+0 +0x1.aed0eef6bca7ap-1 +0x1.f01eb78f1c947p+0 +0x1.e8ceaaf1d61f4p-5 +-0x1.6b73148d129f2p+0 +-0x1.9d3b50c5fccaep-1 +-0x1.307199d581bfep-2 +0x1.0f902581cdeecp-2 +-0x1.031e03229c7dap+0 +-0x1.077e4afd485ecp+0 +-0x1.f5757f88443d5p+0 +0x1.697cdcedd386p-3 +-0x1.65d80c954f8dfp-2 +-0x1.2d790bf71cdf5p-1 +-0x1.72e499d922a73p-1 +-0x1.3e615f76b8d66p-1 +-0x1.1609e466783a9p+0 +-0x1.b5736133f5178p-3 +-0x1.8fcda61ef5422p-3 +0x1.6bf0a413b4227p-1 +0x1.ad48c26abc31bp-2 +-0x1.89035760cc5d4p+0 +-0x1.cdc0fec1e70a2p-4 +-0x1.3a55749d25773p-1 +-0x1.e90699ae80818p-3 +-0x1.b916e76fe9e14p+0 +-0x1.ec6557bc89b42p-7 +0x1.ddb0a96717855p+1 +-0x1.f96ce82f9a23ap+0 +-0x1.f7c0e59ea98cbp-3 +0x1.8c0b4333e757bp-2 +-0x1.6ff71534123ddp-1 +0x1.63c99aae1f926p+0 +0x1.e9c515481ac6p-7 +-0x1.2015fdadbe2dap+1 +-0x1.8da669ffe6478p-4 +-0x1.159efd82250bp+0 +-0x1.1a5f287427336p-1 +-0x1.af5ae1b53176dp-1 +-0x1.6c15ffe994f45p-2 +-0x1.079bbda12c0ddp-1 +-0x1.6a98d3e71972dp-1 +0x1.09ea738050476p-1 +0x1.ecfe0b6ad313p-2 +0x1.f8472c0d8233fp-2 +0x1.a4ef60e8d4b68p-2 +-0x1.81239f23394e7p-1 +0x1.5387fc6c4af86p-1 +-0x1.80dc1ca4a928bp-1 +0x1.50ab5ca3ea361p-2 +0x1.26c3199b6b969p-1 +-0x1.524fd49a02b4dp-3 +0x1.44580cdfe28b4p-1 +0x1.bcf5e5773b864p-1 +-0x1.ec2f51ca5af3bp-1 +-0x1.d881ce2ed8b85p-4 +0x1.5588c6aa8d88dp+0 +0x1.7493a11ae92f3p+0 +-0x1.228f88018b8a6p-5 +-0x1.4fea718f01536p-4 +0x1.59f8ca7f88282p-5 +0x1.cbdcf49250f0dp-4 +0x1.2fadeb1a0a155p-1 +0x1.f92abc9df294fp-1 +-0x1.a8b95ed78f2f1p-2 +-0x1.83ff63ccd829dp-1 +0x1.de453ec5656f7p-3 +-0x1.70b985d772324p-1 +0x1.da1c68b1e52a8p+0 +0x1.21b5b351f7031p+0 +0x1.d21279e0fc85ap+0 +0x1.83719c6502f7bp-1 +-0x1.a4349c6c28813p-1 +0x1.b878b8dea066dp+0 +0x1.6a370d48dd1c2p-2 +-0x1.118e53475e617p+0 +-0x1.3df8b525efb55p-2 +0x1.8a50137aad3a1p+0 +0x1.9f5efea2b8949p-2 +0x1.8bdbe25c8524p-4 +0x1.9a65a34f42815p-1 +-0x1.7f250f8677549p-2 +-0x1.3b1f20fce5035p-1 +-0x1.345fb24859892p-2 +-0x1.75771df423c34p-2 +-0x1.911e4adad7fafp+0 +-0x1.ec1425f94a20ep-3 +0x1.c4f345511c799p+0 +-0x1.4b57df27e2e16p-1 +0x1.ffb66f39f050ep-1 +-0x1.01df0e2e1370ap-1 +-0x1.15df9373eb255p+0 +-0x1.a170f6275370cp-1 +-0x1.d992df955bd78p-3 +-0x1.2baf74b4af21dp-1 +0x1.a851867b7bec4p-2 +0x1.abcea7391c221p-2 +0x1.ab7cbadc985d2p+0 +0x1.42e6993b29453p-3 +-0x1.9d0814a6f5355p+0 +-0x1.0b9937ed5dfdbp-1 +-0x1.6b8dbb68acfe8p-4 +-0x1.b699f07b3e6afp-6 +0x1.bb03a45c278c5p-2 +0x1.2fb4ae9f919aep-1 +0x1.03cfa4f8455d4p+1 +-0x1.abf1b8deb489bp-4 +0x1.6139768ab5a8ap+1 +0x1.dd26183cd036p-1 +0x1.2750767d3e886p-2 +-0x1.84c575669a912p-7 +0x1.7042a2d1aca1fp-3 +0x1.c82e9181f6fd2p-2 +-0x1.a57da927cfc94p-2 +0x1.66a4dea06db8ep+0 +0x1.c6a3991cf0e3bp-5 +0x1.29cfbc67c29e1p+0 +0x1.89c30998f7df7p-2 +-0x1.762f1d6d9e00ap-1 +0x1.bfb28f77e3cdap+0 +0x1.8229eba6897e4p-4 +0x1.fab965093334ep-3 +0x1.88906093f6f04p+0 +-0x1.db54dc9532723p-1 +-0x1.21161a538052dp-2 +0x1.6df6d1ac551fcp+0 +0x1.0259a7aea2fccp-2 +0x1.7c3ad6be59623p+0 +0x1.6422f775e1093p-4 +0x1.9b091f364ac5fp-3 +-0x1.ac1dc32b93a3dp-1 +-0x1.70ed1242b15ccp-1 +-0x1.25d4f9e7e27a2p+1 +0x1.5d7ff0337fb2ap+0 +0x1.9a3d97b4c6118p+0 +-0x1.ff1aa5da543bap-1 +0x1.a7281131d4703p-5 +-0x1.eba0bf59937c5p+0 +0x1.a5e5f6b6ddd88p-2 +-0x1.7288a0a98efa4p-1 +-0x1.8935c9fdc3c05p-1 +-0x1.2a829bbcb2cbap+0 +-0x1.48ebdcb83f7e7p-1 +0x1.5419fc820b9a9p+0 +-0x1.50327d1d01e1cp-1 +0x1.5e3d5ca372cd8p-1 +0x1.0d9ddaeda3c4cp+1 +0x1.82002edebb429p-7 +-0x1.812469be3e86dp-2 +0x1.1ded0123d4cc8p+0 +-0x1.f34346b7b219ap-3 +0x1.61f2055687765p+0 +0x1.39cca64743a75p-2 +-0x1.8a8c7a3787394p-4 +-0x1.e29c8718a1038p-2 +0x1.361953a7a22f5p-2 +0x1.17da7b2ab71d9p-1 +0x1.18ca0f33001p-5 +-0x1.6b72879fb1d94p-1 +0x1.56ccbdbc476dbp-6 +0x1.73c6412270476p-4 +0x1.87c68be809854p-1 +0x1.d69c54d0ae8efp-1 +-0x1.726e5386cbf5ep-1 +0x1.4db07670f6b3ap-1 +-0x1.43661ca814c54p+1 +-0x1.0a6bca180b2cbp+0 +-0x1.27820f879c184p+0 +0x1.ca9d5c5bfe4f2p-5 +0x1.290ac30cdc193p-4 +0x1.f61eb949b18d3p+0 +-0x1.1584d05d0a96ap-1 +0x1.0b8bf2229fe88p+0 +-0x1.51998f4724bcfp-1 +-0x1.e423049782947p-1 +0x1.e7b494d60d128p-2 +0x1.0c48212f9d7d5p-6 +-0x1.165632366a642p-5 +0x1.f02bc2261e6p-3 +0x1.35c695c54324cp-1 +0x1.da738a1ef263ap-4 +0x1.8e148329ce957p-1 +-0x1.23fb1e71b470dp+0 +-0x1.917d253d56628p-5 +0x1.a732ce8745798p+1 +-0x1.d5274779de14fp+0 +-0x1.6140d1bcfa57ap+0 +0x1.d8ab79716e0f7p-1 +0x1.69a984068e617p-3 +-0x1.b993494c289a7p-3 +-0x1.b84750ff20e86p-1 +0x1.48c177c8aca89p-1 +-0x1.445f818422a59p+0 +-0x1.4122d8dea6a43p+0 +-0x1.f0fc999efb4aap-2 +-0x1.15642cc3c862ap+0 +-0x1.276fb26de60e9p-2 +0x1.1ec51bc9a97bap-2 +0x1.3d61d3a09b77fp-1 +0x1.f9cd816fd14fep-1 +0x1.cef99ebfe42b3p+0 +-0x1.bd5bba461b12cp-1 +0x1.416067dd0409fp+0 +0x1.1502592e972a1p+0 +-0x1.934af108629a1p+0 +0x1.e2761e34d6f1p+0 +0x1.c5012d584de9fp-1 +-0x1.77978719926fep-1 +-0x1.1d26cb45855bcp-1 +-0x1.eb282fdc323b2p-3 +0x1.52afae14db662p-2 +-0x1.c882616c0724ep-1 +0x1.fd0406443607fp+0 +-0x1.3ac283c5bcf6fp+0 +0x1.ba5eed72a9ddp-2 +0x1.69e161b1c4069p-2 +-0x1.6d72c573c240ap-1 +0x1.bbf7f991509bp-1 +0x1.82e235c879fcap-8 +0x1.2d96702365145p-1 +0x1.215bea1d8d972p-1 +-0x1.7997172e853bfp+0 +0x1.068b73372dfccp+1 +0x1.2b76bc19872a5p-1 +0x1.e87f010895ff8p-2 +-0x1.66b791a63137ap+0 +0x1.380f5b2505ad7p-8 +0x1.365817673d7f7p-2 +-0x1.67eaed7f37d86p-2 +-0x1.09e25af5d71aep+1 +-0x1.2241b2dd69a7p-1 +-0x1.6e04df20ee7f6p-1 +-0x1.ccf2130beb5a8p+1 +0x1.09d20376a99dap-1 +0x1.d0ade40208be6p-1 +0x1.78507db603478p-2 +0x1.5fdd6ff3a3c16p-2 +-0x1.a40adcf265112p-1 +-0x1.9a4965d24107ap-2 +-0x1.0087030c13e29p-3 +-0x1.9050f6f41c4ddp-2 +0x1.9010a2e637bc7p-1 +0x1.113376a83e2c6p-1 +0x1.4a4de4a4f3f5p-1 +-0x1.51fcce431742p-1 +0x1.6282901a8acecp+0 +0x1.23e98aa78fdb5p+1 +0x1.901b0800bc9dfp-4 +0x1.ab8c84d120068p+0 +0x1.b718fd15121bap+0 +-0x1.da5b2139183c6p-2 +0x1.204095599060ep-2 +-0x1.779b54f02edc9p+0 +0x1.e8f9f2f3a2714p-1 +-0x1.20ab35abb8787p-1 +-0x1.04970708d0fe5p+0 +-0x1.29b567146b4e8p-1 +-0x1.d35c076e911bp-3 +-0x1.aca8dd766452ap+0 +0x1.50a41f3b44575p-1 +0x1.dbbcc5a5d0df9p-1 +0x1.2c63a0d55602bp-1 +0x1.ff52828b187e8p-4 +-0x1.27ad28fb498b1p-9 +-0x1.63b807193b23dp+1 +0x1.f0119929f101fp-2 +-0x1.43fe26caa94e4p-1 +-0x1.0cfe307425a53p+0 +-0x1.61f8fd45862b2p-1 +0x1.ce5dc065eb64dp-1 +-0x1.259498e967c88p+0 +0x1.ffa1bcc97ea3ep-1 +-0x1.c801293111172p-1 +-0x1.1e7d796eeaec5p+0 +-0x1.2f748cfbc86e7p-1 +0x1.3e88e2104eb8fp-5 +0x1.8f8bc03ea8a77p+0 +-0x1.1cff7307d5862p+1 +0x1.33c240e05d236p-1 +-0x1.f3fd37550fb15p-1 +0x1.5460460453fe5p+0 +-0x1.13ae63d5081bdp-1 +0x1.c8a557e518029p-1 +0x1.a6e45f4e9a6b6p-3 +0x1.07ed1a2a897adp+1 +-0x1.506a3eae5524cp-3 +-0x1.5e7ca85f0362cp-1 +-0x1.e68c399dd7828p+0 +0x1.d7c9f445e5a24p-3 +0x1.ee68d40735504p-3 +-0x1.52875d7fd4576p+0 +-0x1.d91c369f9388bp+0 +0x1.2b72db14cc6f6p+1 +0x1.d0c789fca360bp-2 +0x1.97c690165469dp+0 +0x1.67d404afb5792p+0 +-0x1.b4cdb39547973p-4 +-0x1.ed74867a6604dp-2 +0x1.5adacd4f6b1d7p+0 +0x1.7fdec551fc6dp-1 +0x1.9f462dff9efa5p-3 +-0x1.fdf4e38d3f18dp-3 +-0x1.b7c4b7dbb18a8p-1 +0x1.0e3b079e53d7bp-1 +-0x1.5d2e083cdb2ap+0 +0x1.0cc27d64a7d43p-2 +-0x1.37e81213f4e0fp-2 +-0x1.5a43d413f83bap-1 +-0x1.314f136d93effp-2 +0x1.064053ce7a0afp+0 +0x1.0d29210c02d7bp-2 +-0x1.a6260c58046edp+0 +0x1.c090bdd3a536fp-2 +0x1.8c59cb4a3224p+0 +-0x1.797c7dad0012fp+0 +-0x1.495eff731233cp-2 +-0x1.6be96aab931d8p+1 +-0x1.7ace45bdacdf7p-3 +0x1.5e57461216e1bp-4 +0x1.99a99694f9534p-1 +-0x1.64f4d39d571f8p-2 +0x1.5b2ce91d1aef2p-3 +-0x1.afae6b5b46062p-5 +0x1.1479c5777cd36p+2 +0x1.76212d58b40c7p-3 +0x1.1e35a985b8e18p-2 +-0x1.2d2b34d13b5f9p-2 +-0x1.74477a02ec0bdp-2 +-0x1.da68da140e825p-1 +-0x1.c28a73a3106bep+0 +-0x1.cf020fc31ed3fp+0 +-0x1.7275f98572478p-2 +-0x1.83d0b79f6303cp-1 +0x1.22e357de490cfp-3 +0x1.1d1dbc833ad22p-1 +0x1.b4bc73f74859ap-1 +0x1.686b4b854b64cp+0 +0x1.fbb52a400d89cp+0 +-0x1.cc7f9c85bde7ep-2 +0x1.b6b477f201c6ep-1 +0x1.0ebfba0a114c5p-1 +-0x1.e6ace16a7299cp-4 +-0x1.d104471f5d95dp-1 +-0x1.e19500ec9b6cep-7 +-0x1.70f295be4a514p+1 +0x1.f83b5b8adb452p-1 +0x1.281cb65ca320ap+0 +-0x1.ff1218cd72c29p-3 +0x1.3b72435a84809p-1 +0x1.7faa65769570ep-1 +-0x1.a4da56f324ec8p+0 +0x1.372832227ffc9p-2 +-0x1.ae39635528ddp-1 +-0x1.ddcde5b4fb11bp-3 +-0x1.0670b45312f0dp-3 +0x1.fb5febc89cd42p-3 +0x1.a307fce6d123p-2 +-0x1.404de256223b2p+0 +0x1.144152cb79ec1p+0 +-0x1.f58740badc67p-3 +-0x1.c07b0dabdd81fp-3 +0x1.404e7275ef5fep-2 +0x1.870e0080594c6p+0 +-0x1.e37d0e1e669ep-1 +-0x1.4b5ae5988b046p-1 +0x1.70267658dba4cp+0 +-0x1.7a7aa866184a1p-2 +-0x1.18feedff8e9e1p+0 +-0x1.37295400e0b66p+0 +-0x1.63ed3cee44c3p+0 +0x1.ecf1262c6256fp-3 +-0x1.1064e5d40fbaap+1 +-0x1.a27bde8e83542p-1 +-0x1.37ed4bf644953p-3 +0x1.0247350b588fp-1 +-0x1.09dd6dd365836p+0 +-0x1.36aa071aeee3ap-4 +-0x1.7caf6d8ba4423p-3 +0x1.52874ff294ab8p-2 +0x1.708585ed461c7p-2 +0x1.b81519abfe448p-1 +0x1.960ca3aca2da9p-4 +-0x1.9247d4bed09dfp+0 +-0x1.1b38eef8322bap-2 +-0x1.0ed320667957ep+0 +0x1.618874e4163c5p-1 +-0x1.a302494cc971bp-3 +0x1.375f6da901a1bp-3 +-0x1.385561329fbd9p-3 +0x1.d85a863473592p-1 +-0x1.8dfcc7a19fa06p-4 +0x1.5f9874c3e9c04p-1 +0x1.b10ecf4a5ae09p-1 +0x1.22a60403cf9edp-1 +-0x1.611f37f57d103p-1 +-0x1.0d5821620c591p-2 +-0x1.78931e76da172p-2 +0x1.42a0cb1723dd8p+0 +0x1.0cdd8dffcc714p-1 +0x1.583e81ad1f894p-1 +-0x1.8dddfe6b1db1ep-5 +-0x1.279f4aba250b2p-3 +-0x1.1c8f3a3197523p-3 +0x1.f8279ff8d44e8p-1 +0x1.7eb0586f1e212p+0 +0x1.a0f7088408588p-1 +0x1.10a960acbb03ep-2 +0x1.058270b943164p-1 +0x1.8a113c5edea79p+0 +-0x1.3089f26b16c03p+1 +0x1.4d41a44153273p-2 +0x1.b1467355d45e8p-1 +-0x1.d7c6f58419c5cp-2 +0x1.66b6af034f9ddp-1 +-0x1.7d4c8535032bep-2 +0x1.fcdc6cacad5ecp-3 +-0x1.9741ac11fd8p-1 +-0x1.d36ffdd1421ddp-3 +0x1.b1a5e683d04cbp-1 +0x1.b3389a7d7531ep-1 +0x1.3db3786b871ffp-2 +-0x1.93fbc2d3d6065p-2 +0x1.61b4044ca5525p-1 +-0x1.859fc80ce8dd2p-5 +0x1.2554e3266dfd4p+0 +-0x1.bc3e98be64526p+0 +0x1.aaa83f1f88352p-2 +-0x1.a8e66443f670cp-5 +0x1.9efa872648f64p-1 +-0x1.234ae4a25b79dp+0 +-0x1.0721d88335cc7p-3 +-0x1.220a9569b1afbp-2 +0x1.be0bafa87bc98p-1 +0x1.45caa702677e9p-1 +0x1.525a58f38f698p-2 +-0x1.2a1b7c49eb37ep+1 +0x1.ed03613ab2d9ap+1 +0x1.567fa18ac29e7p-1 +0x1.7ecaeab8cbb91p-1 +0x1.d38e3004c61a4p+0 +-0x1.0258edf801a3fp+0 +-0x1.343e0be99de54p-7 +-0x1.0461c2da75ca5p-1 +-0x1.c31b2ce23198ap-1 +0x1.8ed03412d6defp+0 +-0x1.63b9deed010d8p+0 +0x1.e92aca60286a3p-1 +-0x1.31b566d1b2051p+1 +0x1.1cc31c406d884p-3 +0x1.653507d0fae44p+0 +-0x1.0ca9fa4e5ea14p+0 +0x1.129462de1af61p-2 +0x1.4abc60556d266p+0 +0x1.7ab9618aa7b9ap+0 +-0x1.4229532e11028p-2 +0x1.0473c74a65923p-4 +-0x1.4ec5527bb6b1p-2 +-0x1.489c9c3257ffbp-4 +-0x1.8605a7ea9f68ep-1 +0x1.0b9704fd80065p-3 +0x1.af4e5e8e21aabp+0 +-0x1.7048849aad75dp-1 +0x1.0d834d061d13ep+0 +0x1.1a3fd319de2d8p-1 +-0x1.c9acb3cf84b5ap+0 +0x1.2cd3804cfa77bp-2 +-0x1.13feec13f7a1ep+0 +-0x1.44a39e2790977p+0 +-0x1.43dc50a87bef6p-2 +-0x1.95c0223f3e118p-1 +-0x1.e9d0bba5162abp-1 +0x1.9301d511e78c1p-2 +0x1.2cf2cb1c57f41p+0 +-0x1.5b04698bbb1a7p+0 +0x1.c4399e14bbcffp-1 +-0x1.a99eb5ebf5264p+0 +-0x1.a6000d9eee0c7p+0 +-0x1.8c4bdb52630b4p+0 +-0x1.96e438636db92p+0 +-0x1.3793009205cb6p-4 +0x1.78aacc3ecdfddp-1 +0x1.ffaddddffd222p-1 +0x1.16e60604c9814p+0 +0x1.13f31a840b543p-3 +-0x1.b1a470df782ffp-1 +-0x1.d6358578aeaadp-1 +-0x1.387aa415ad2e3p+0 +-0x1.83870844e524dp-1 +0x1.37444d56dfa27p-2 +0x1.1735afb03ea2fp+1 +0x1.01f3aac128032p-3 +0x1.684ed9d43ce98p-2 +-0x1.1faa73c539267p-1 +0x1.35badc4b94a55p-1 +0x1.fe74074beb41ap+0 +-0x1.128efadfd55e5p+0 +-0x1.2d1e06641d4b5p+0 +-0x1.8035cd3e7742cp-4 +-0x1.36a9e91df62c3p+0 +-0x1.9b107f419c584p-3 +-0x1.85e021f095f01p-6 +-0x1.5f96df191eb35p+1 +0x1.4b81b4301ff9bp+0 +-0x1.27f867c4a1876p+0 +-0x1.e34f3f8de9e93p-1 +0x1.3ff1982a8c1a3p-2 +-0x1.acfc0f7d4df3bp-2 +0x1.563f3d6f14e47p-1 +-0x1.32c9dc7c84217p+1 +-0x1.89e31cfb71654p-2 +0x1.a9cb811e2636fp-2 +0x1.66683e6e79191p+0 +-0x1.dcf29ecba2ec9p+0 +0x1.18a91dc757d1cp+1 +0x1.41b4643a6e992p+0 +-0x1.6b431877fb402p+0 +0x1.0e5ad74b26404p-1 +0x1.82de4a767021p-2 +0x1.12126a1ca8613p+1 +-0x1.588a5f65fe3b4p+0 +-0x1.56bb13e4c4ae6p-2 +-0x1.c2d0fd0923fbfp+0 +0x1.c91e8b10a5533p-7 +-0x1.f9b58d1ae36e4p-4 +-0x1.01b17727843d9p-2 +0x1.30f175c55fc16p-2 +0x1.96488992e5355p-2 +0x1.9ee1502eccb25p-4 +0x1.2b7cd87d8575fp-1 +0x1.335e7097d77cbp+0 +0x1.32db26973797p-1 +0x1.49e461c1e1bdap-1 +0x1.809e28859e0a5p+0 +0x1.b281c98df2671p-2 +-0x1.ef3af6c6c31b3p-1 +-0x1.92b6e58d80c3fp+0 +0x1.d4835b65ced48p-1 +-0x1.981004f6214f3p-4 +-0x1.96ce7df738056p-1 +0x1.c37f9aa20fd13p-2 +-0x1.96930ce3c46fap-1 +0x1.a434fcf038beep-2 +-0x1.7b13e32ea485bp-1 +0x1.b66e3aa220ca7p-3 +-0x1.3157d8e3da2f8p+0 +0x1.027d8759c3f59p-2 +-0x1.acd3e4897fdap+0 +-0x1.c350826649b6dp-3 +-0x1.23d8a034ba3eep+0 +-0x1.3e11a7c15725fp-2 +0x1.2ae06cdf11218p+0 +0x1.8236fc55fa007p-6 +0x1.90815eba85c32p+0 +-0x1.a8db406cfc925p-3 +-0x1.29758696f7f4fp+0 +-0x1.952cb3e54afadp+0 +-0x1.a20518c61bc01p-1 +-0x1.cf28a5bfdbacap-1 +0x1.931bf09323ebcp-1 +0x1.f89f56add218ap-2 +-0x1.9ce85d13df788p-2 +-0x1.4292c1163e569p+0 +-0x1.2b7d1b77746cep-1 +-0x1.8d138f089cb57p-1 +0x1.e9278c18affb3p-1 +0x1.9425430667adcp+0 +-0x1.1df8cd3a20e3dp+0 +-0x1.31ce008c00358p-4 +0x1.a7065ef00e1ffp+0 +0x1.b70b1c1c89729p+0 +0x1.930bc47bb8188p-1 +-0x1.2f167de5cdea1p+0 +-0x1.5f557210f0787p-1 +-0x1.01fae373eadffp-3 +0x1.b78b3f6d22097p-1 +0x1.d7a04db2ea56p-1 +0x1.f2be0a10bd434p-3 +0x1.4a4c52737001ap-1 +0x1.0b3c195c20e8bp-3 +-0x1.8c5f16b22855ep-1 +0x1.3b31b372759b7p+0 +-0x1.61f20e1994293p+0 +-0x1.b3556f80c18aap+0 +-0x1.3da99efc32593p-1 +0x1.f9e9b1a9d8d76p+0 +-0x1.e29a437562d99p-1 +-0x1.cb80f8f1873e2p-2 +0x1.d2e7e86f12082p-4 +-0x1.5e774a8943ae7p-2 +-0x1.b0789f1a65acap-1 +0x1.7df532f52cc1dp+0 +-0x1.20e83ae34ed46p+0 +-0x1.2ece3c3ec6664p-1 +-0x1.b8dcfa5fbf818p-4 +-0x1.a820ea389ac6fp-1 +0x1.7b9753412f6e2p-1 +0x1.0be081f0e1e67p-1 +0x1.a7411648d101ap-1 +-0x1.6a6fdd9b90682p-4 +-0x1.cfc8ec787bd4dp-2 +0x1.3ae58f4246f86p+0 +0x1.19aee6c68791dp+1 +0x1.cb41729f3e736p-4 +0x1.a2bc9dcd1e467p-3 +-0x1.153a4fd79110dp+0 +-0x1.e32cd1de75aeep-1 +0x1.cd10432db446ep-4 +0x1.0fb76c74ad7bcp-2 +0x1.4bfd49768d6c7p+0 +0x1.8065368a8c428p-1 +0x1.9579f6463b22bp-1 +0x1.3648ffafc92c3p-2 +0x1.a0c47a5fc93c6p-8 +-0x1.098030e3bdc44p-1 +0x1.84fb0df3d135ep-1 +-0x1.8554623efc182p+0 +0x1.15962483804c5p+1 +-0x1.8df533f543abap-2 +0x1.8cd24f4465bf6p-2 +-0x1.e7ad745390a86p+0 +0x1.e6229de2d08d2p-5 +0x1.bccca2f589181p-2 +-0x1.8e288e1a61ee3p-1 +0x1.c2aa6042cc4f2p-3 +0x1.ff0a0b216808dp-1 +-0x1.ddb1ebaddda37p-2 +-0x1.3e547677d2c41p+0 +0x1.858157703b673p+0 +0x1.d178dc87fb39p-1 +0x1.9197f0d053534p-1 +0x1.f12d869443df1p-1 +0x1.0ee4fa91d23b3p+0 +-0x1.0bec1161ae20bp+0 +-0x1.c3b201bd982f3p-2 +-0x1.40665a584411bp+0 +0x1.5ca6980e53b25p-1 +0x1.0886c51b9980ap+0 +-0x1.6ce43df954b1ap+0 +0x1.0d0445a428c4ap+0 +-0x1.3cdd410cf295fp+0 +-0x1.98ab951adfc1ep-3 +0x1.67118b280f43fp-2 +-0x1.6381cfc1a7fd9p-2 +0x1.a6ecb3aef92c3p-1 +-0x1.9515b6440ae85p+0 +-0x1.3a802180d8c38p-1 +0x1.46c216f166babp+0 +0x1.e89f14de3abdcp-2 +-0x1.0b75a703206b5p-4 +0x1.4109f34eca6cfp+0 +-0x1.a50c03a36fff2p+0 +-0x1.3d512380f7bc8p+1 +-0x1.61350b7c3dbbp+0 +-0x1.4bef893304159p-1 +0x1.77981e69716c6p-3 +-0x1.f701b74210786p-3 +0x1.ab815c885035fp+0 +-0x1.cf59e95b10a65p-1 +0x1.8ee6dc793727fp-2 +0x1.8ec04b88e9299p-1 +0x1.bbf63740f394ap-1 +-0x1.a3fa37a2e2b1p-2 +-0x1.1af036b14ba26p-2 +0x1.22f5cd1fca077p-1 +-0x1.46a4997b4856dp+0 +-0x1.5d4fdb54e2ed8p+0 +-0x1.f72d2a7eda91fp-1 +-0x1.8bcbb1ddb6962p-9 +0x1.b6ac6902470d7p-2 +-0x1.760220b9f6df6p-2 +-0x1.317764115a924p+0 +0x1.1f9cb1ce1cce5p+0 +0x1.9e1293e476df5p+0 +-0x1.e7d7d12a5dd4fp-1 +-0x1.827b99d9a825fp+1 +0x1.a6ffb58cb5985p-6 +0x1.e6a5d11bab93fp-8 +-0x1.69a5af5d507a9p-4 +0x1.0742d23234f19p+0 +-0x1.9f7bb37d32885p+0 +-0x1.239f28fcb0afp+0 +0x1.21c24452d1427p-1 +0x1.63aca54aadbbbp-1 +0x1.1981bb5c459ddp-2 +0x1.ae3274518c3f1p-1 +-0x1.acc7c26f9439ep-1 +0x1.354474b83682dp+0 +-0x1.01b9ab69e5c85p-1 +0x1.59db0e6e1cd7cp-1 +0x1.1a891301a0aa6p+1 +-0x1.5dab9a5277553p-3 +-0x1.7abbe453f1cc6p-3 +-0x1.f4e5a61534f3ap+0 +-0x1.7e72ee759e153p-1 +-0x1.90f2864b2d9cap-1 +0x1.c2059f0e9165p-1 +0x1.d47af0a008b86p-1 +0x1.adbf8cdf8ec5ep+0 +0x1.6479ca16dca2ep+1 +-0x1.4bf35ff2fa10dp-1 +-0x1.0d0d08f037d69p-1 +-0x1.190849747ae36p+0 +-0x1.dc5e8a1378193p-1 +0x1.1ccaca4197f52p+2 +-0x1.5e4ac306bd5dap+0 +-0x1.53bf26bf39cf9p-1 +0x1.6021132cc5fa9p+0 +0x1.1f2cca10e8847p+0 +0x1.82373ef9b2af3p-2 +0x1.13fdff19abe06p-2 +-0x1.5c89a8597aa57p+0 +-0x1.75a7e3cde7d6bp-1 +0x1.7dbef6e963782p+0 +0x1.2e956304ede21p+0 +-0x1.0a1952a608b0cp+0 +0x1.d5409c022e31cp-1 +-0x1.093fe4d472b8p-1 +0x1.1e6686880eep+1 +0x1.6c025d5de4f27p+0 +-0x1.0cbcf4504f1cp+0 +-0x1.813d0e71aca86p-3 +-0x1.30606fb5012c9p-5 +-0x1.4b5341e2b8ecep+0 +0x1.6032528ee7911p-1 +-0x1.c601e68d6fd3fp+0 +-0x1.cd608a18ee988p-2 +-0x1.fa09ccf1d5531p-1 +-0x1.797292dcd8a68p+0 +-0x1.e755871d80d0bp+0 +-0x1.57cd527e36623p-2 +0x1.b71ae5a6df80dp+0 +-0x1.96ec47cf27c83p-1 +0x1.0e009129436bcp-4 +-0x1.042ca5f3e63cap+0 +0x1.8a318ce0844e6p-2 +-0x1.6a9bda33a34a4p-2 +0x1.c52faf93d6272p-2 +-0x1.376f82b84a51cp+0 +0x1.0698fad96b508p-1 +-0x1.1f6c54d65f837p-1 +-0x1.8094b4312165bp+0 +0x1.4bf1619b9688ep-2 +0x1.f19582b5141a9p+0 +-0x1.1f0c82108dddcp+1 +0x1.6d0a9de3d1192p-2 +-0x1.b4f5eb46c1c0dp+0 +0x1.94ea497a6da1ap-5 +-0x1.dd3e7ccde95fdp-1 +0x1.00c3274ec2061p-1 +-0x1.06b80839acdc7p-3 +0x1.5e68c21fc3c47p+0 +0x1.b57a617c24c7p-1 +0x1.dbb777ecd2fe8p-2 +0x1.f8599d5912f5fp-1 +0x1.a8ce99637fdep-2 +-0x1.1178cc6c41045p+0 +-0x1.16b2621fde5e9p-1 +0x1.4cb3193c14242p-3 +-0x1.2b698b53d3ed1p-1 +-0x1.f1c38372b72c9p+0 +-0x1.9ead7fd515e8dp-3 +-0x1.7f25d213409b4p-1 +-0x1.3ecb54cf217f1p-2 +-0x1.42bd8c75ca1a1p-1 +-0x1.e64af07dc6ef7p+0 +-0x1.8df505efdde4bp-6 +-0x1.7fa6f784cf1bp-2 +0x1.f192dba76a318p-1 +0x1.a23234b4f8c78p+0 +0x1.529f9e235ca8dp-4 +-0x1.25c2424ba38d7p+0 +-0x1.264d33dfac652p+0 +-0x1.ab5a0d648b3f9p-1 +0x1.27c7c89efc754p-3 +0x1.be840d57a7d3dp-2 +0x1.abfd0ae117d33p-1 +0x1.73307b0afc1cp-4 +0x1.a2850e823e2bbp+0 +-0x1.c614b9eecb9fap+0 +0x1.910e203d9f24cp-3 +0x1.cc4adc85133a8p-1 +-0x1.072822fff319p+0 +0x1.6f27040372408p+0 +0x1.1ee3a2633dbf7p+1 +0x1.3689ccc515addp+0 +0x1.d120be1750f82p-6 +-0x1.1fe197e3ff7acp+0 +-0x1.52b1ef6bf3261p+0 +-0x1.ae76580a3fa2dp-2 +-0x1.f114f06135a6ap+0 +0x1.2db693dc79d04p-1 +0x1.c017579cc447ep-3 +0x1.ee9f049ef789ap-1 +-0x1.97d9cac324f57p+0 +-0x1.3aa6e59b8e4f2p-2 +0x1.8f5900b397095p-1 +0x1.21bbe14222678p+0 +0x1.4d2300d306d07p+0 +-0x1.229a22421288bp+0 +-0x1.15d245de0d24fp+0 +-0x1.14ca80f6c7f21p-5 +-0x1.d280147f90d51p+0 +0x1.97ed012468bebp-2 +0x1.2295da95d38bp+0 +0x1.03ef25597dbdbp-1 +0x1.a8e6fe8e0c2f1p-2 +0x1.0a1c3cc49bb6fp+0 +-0x1.f6ca0bd88e38fp-3 +-0x1.45c57fd1010d9p-3 +-0x1.c3de1d196e1b6p-5 +0x1.e727d990df347p-2 +0x1.abe66fcda83c4p-2 +-0x1.8fa34697d969bp+0 +-0x1.70b3456c05701p-2 +-0x1.1d62c028cb85ep+1 +0x1.ac2cbd32ca206p-1 +-0x1.2baea608eee34p-2 +0x1.c74a0bff306b8p-2 +0x1.5ab7632a6f26ap+0 +-0x1.8b71affd301adp-2 +0x1.e5599a8b8cd1ep-4 +-0x1.5f172236c1eeep+1 +0x1.28195507f9c4dp+0 +-0x1.044dbd190da3ep-3 +-0x1.10d37e4d5102dp+0 +-0x1.15c3131754788p-6 +-0x1.c518dcf18236bp-1 +-0x1.73992aff0a5d1p-3 +0x1.a6465a06344abp+0 +0x1.6618c32434ccbp-8 +0x1.01d2e8a3a500ap+0 +0x1.4919b4e276d87p-1 +-0x1.87c7208ec9bc6p-3 +0x1.44da5e7fbc7f6p-9 +0x1.8e16c29571d0ap-1 +0x1.e0c19c809e47fp-2 +0x1.6efdb5caff4a6p-2 +0x1.77a86c33e5e95p+0 +-0x1.9a52b339c19cfp-2 +0x1.2decd2cd9416p+0 +0x1.efa199ef062efp-3 +-0x1.f7faebc197eaep-4 +-0x1.125dbd788c9cap-1 +-0x1.aa25da601877cp-2 +-0x1.0509b5b07db71p+0 +-0x1.0e841e3337126p+1 +0x1.14f309eb6b769p-7 +0x1.8371f68deafc4p+0 +-0x1.a6997c8b3e796p-1 +0x1.d0be99890c6e9p-4 +0x1.7a186fbd1e357p-1 +0x1.5c3bcf78d4d02p+0 +0x1.a8caecb3e7fadp+0 +0x1.4fabaf7e6189cp-3 +0x1.52e960044f204p+0 +0x1.6ef878c1f2b46p-2 +0x1.e6a8c18b02bdap-1 +-0x1.153cd769f58b7p-1 +0x1.7465e23891068p+0 +0x1.19c6a1a74d3e4p-1 +-0x1.6df2363bb36c5p+1 +0x1.72168e15129acp-2 +-0x1.fad951936d185p-2 +-0x1.d3401a99664afp-2 +0x1.1d3854a4dd63cp-1 +0x1.5c0a66217aeedp+0 +-0x1.8183e6ca03bf9p-3 +0x1.e1e5edcac9c11p-3 +-0x1.2c76664058a25p+1 +0x1.31e48e976aa5bp+1 +-0x1.5b84d88d6d8cap-1 +0x1.ac7e36ab5270ep-1 +0x1.171c6cc2580eep-1 +0x1.b3819456344ccp-8 +-0x1.9c0b5679318b7p-1 +-0x1.16cd889ab0c83p-1 +-0x1.5a04d871e7321p+0 +-0x1.0cc51d8fdc638p+1 +-0x1.d5ed576faf2d7p-1 +-0x1.056de1685c7f9p+0 +-0x1.e09561f6f07afp-2 +0x1.0f01966df0ce1p-1 +0x1.7fa3f5c1e2d0fp-1 +0x1.fac5aff615326p-2 +-0x1.f77ae55a39fdcp+0 +-0x1.6f44f4289804fp-2 +-0x1.9d4e517275c6cp+0 +0x1.078cd9e5f8ddep+1 +-0x1.58acb6a23ccabp-2 +-0x1.870639b088223p-1 +0x1.b943566f0562bp-1 +0x1.8637e6afd9338p-1 +-0x1.440ac7df7534ap-1 +0x1.a3a9f4c75bdfdp-2 +-0x1.bf9b0d31fd77p-1 +0x1.657f4c07274eap-3 +-0x1.8f9cb6ef8f5d9p+0 +0x1.1399d879737eap+0 +0x1.a28951ff14a4ap-2 +-0x1.23308d3996291p+0 +-0x1.4c282aeb3391dp-3 +-0x1.d9f85505d3084p-1 +0x1.bf6c8f95b92bap+0 +-0x1.87bd20aebe54ap-2 +-0x1.8ea667525c9c1p+0 +0x1.472382401a8f2p-1 +0x1.924999011c9c8p+0 +0x1.23e2c30e9b519p-1 +-0x1.a9d8f520ecb08p-2 +-0x1.03af799e9b82fp+1 +-0x1.57e603fe4b41bp-2 +0x1.489f051554ca5p+0 +0x1.a3378da301d3dp-1 +0x1.127a2038f4704p+0 +-0x1.0412abc005f4ap+0 +-0x1.c1fab58e51be8p-3 +-0x1.534a358901675p+0 +-0x1.227ee94d806fbp-1 +-0x1.60bafada87854p+0 +-0x1.6c1b4ca75bc6dp-1 +-0x1.e55c2f64efc93p-1 +0x1.0136a1b3a2aeap-4 +-0x1.0ffdf80d90d07p-1 +-0x1.c65760470e8d6p-1 +-0x1.b2896d2a008dap-5 +0x1.574f6ae904203p-3 +0x1.324236a74d2b6p+0 +-0x1.a324414161549p-2 +0x1.9a3899e8b4ba4p+0 +-0x1.1171c9f576983p+0 +0x1.0f7b1d54df251p-1 +-0x1.6c053dd207a6fp-1 +-0x1.9b99b65989247p-2 +0x1.b2a6d71e32934p+0 +0x1.1f2bd5bca0b78p-2 +-0x1.f0cccc8b49969p-1 +-0x1.1732ff38c200cp-1 +-0x1.6b2755c442ff5p-1 +-0x1.187853da32e74p+0 +0x1.a799190ccccfep-2 +0x1.857357305ebd7p-1 +-0x1.0cfed51a5447p-5 +-0x1.4de6ec08a741ep-1 +0x1.51a0623691ca1p-1 +0x1.150623e621affp-3 +-0x1.5cfe06a01edd3p+0 +0x1.79170cd5592fbp-3 +0x1.03e7ab6aad67ep+0 +-0x1.1891985c0eb8ep-1 +0x1.b4c6bd3a6edd3p-3 +-0x1.9184c834df616p-1 +-0x1.896958966a197p-1 +0x1.5be3839f90121p+1 +-0x1.0a5d4e106277bp+0 +0x1.9a280716597f5p-4 +-0x1.52f6fb77a081ep-1 +0x1.3c8b1ee2b173ap-2 +0x1.2ea3366ede3adp-3 +0x1.e53f1280cde7ap+0 +0x1.957874fc6208ep+0 +-0x1.2e50c6467220dp-1 +0x1.f60821784192p-2 +0x1.b8e3e55ae80e2p-1 +0x1.288f642c27b4ap+0 +0x1.3ab579f457f48p-1 +0x1.00560e5c012c4p+0 +-0x1.018fda0958f47p-2 +-0x1.1663e5438ceecp-5 +-0x1.b38c79ed08931p-2 +-0x1.56593bb8e2b3ap-2 +-0x1.658a994e639bfp+0 +-0x1.48af16b4857b7p-4 +-0x1.72fcdc678ef45p+0 +-0x1.d97293881bea4p-2 +-0x1.c49a1d675d476p-2 +-0x1.ec228dbfa9c8dp+1 +-0x1.2f65397f9102fp+0 +-0x1.e1be1e7df4fc2p-2 +-0x1.6f8874375d431p-2 +-0x1.ad975b46c6bcp+1 +0x1.082ca583a3b4ap-4 +-0x1.a2bbbe7dac89cp-2 +-0x1.56d82280ca20ap-1 +-0x1.0dbeb9ef97955p-1 +-0x1.b94eb5428765bp-1 +-0x1.a9bf86e4ac70dp-3 +-0x1.0855827c83f4cp-2 +0x1.022d027737673p-3 +0x1.3063e7a806101p+1 +0x1.eab3b18ac0494p+0 +0x1.e5f194cc1e1a8p-1 +0x1.45194cbee3395p+1 +0x1.e69e9354c1529p-3 +0x1.545416ffbb03bp-1 +-0x1.b5e40f88452abp-1 +-0x1.68c7d14330b2ap-3 +0x1.7ffc77ca165dcp-4 +0x1.a668c8ebd61b4p+0 +0x1.0b28f10ea5b09p+2 +0x1.4335046c074d7p+0 +0x1.685124b5d8a51p+1 +0x1.4745e3eac7353p-1 +-0x1.69574690ea7c3p-2 +-0x1.c3d85c17853dbp+0 +0x1.2ca545525be9ap+0 +-0x1.5e28ce7affeb4p-2 +-0x1.92bfba1bac60bp-1 +0x1.97f2a53c69f16p-2 +0x1.282c0d8843656p-1 +0x1.2e83ef4ac8dd2p-7 +-0x1.e1a4876dd3166p-4 +-0x1.95bdb29008dc8p-3 +0x1.6600fe4a53856p+0 +0x1.2e1d9bf5b3951p-4 +-0x1.70e9ea952a19dp-3 +-0x1.d20f199dd9577p-1 +-0x1.c22c62447cc81p-2 +0x1.5ede8b7bf60dbp-2 +-0x1.ddccc5653648fp-2 +-0x1.37b3b1cce6cd7p-1 +0x1.293dcc95484d4p-1 +0x1.a0908aa30e4b1p-1 +-0x1.19e1718e6114cp-1 +-0x1.15879faff760cp+0 +0x1.04d7bd103c7bcp+0 +0x1.a9bfcf61ab5aap-3 +0x1.7ffbcf941d617p-1 +-0x1.60433564bde97p-2 +0x1.e1d42f2da16e7p-2 +0x1.0ac26b5b6b26ap-3 +-0x1.2f2bf3e135d94p+0 +0x1.e0e59439a31dep-5 +0x1.44e9cf1156e06p+0 +-0x1.e43e30a92a587p+0 +-0x1.28e91fbfa691ap-1 +-0x1.7353a3cf17f5cp-1 +-0x1.10a858f300482p+0 +0x1.32f94c36ff37p-5 +0x1.f9f83415242ddp-4 +0x1.9757166028a0bp-2 +0x1.1d7c012c6d9acp+0 +-0x1.975594c1d679bp-1 +-0x1.5d11d00438ecep-1 +-0x1.2747d944042adp-2 +0x1.7f675e4cdfdafp+0 +-0x1.25e7be689bf3bp+1 +0x1.2ab5068d0da45p-1 +-0x1.b5d0f4e5854c2p-3 +-0x1.6c1508a245409p-3 +-0x1.cee6ebe8cfb3dp-2 +0x1.07e3d5abaf2c2p+1 +-0x1.c45815dd1e558p+0 +-0x1.f7cbd3b21212fp-1 +0x1.ab0d770f9960dp-2 +0x1.b383e5d3bf694p-1 +0x1.5da5ec4458468p-1 +-0x1.ae05752dce3bep-1 +0x1.4f48d390d74f4p-1 +-0x1.880168a9d8bf5p-3 +-0x1.87add861f8988p+0 +-0x1.14db9a7dcab57p-1 +0x1.47c0301aa6b84p-2 +-0x1.2b02155d9aee3p+0 +-0x1.7bfb0c81ab8cdp-5 +-0x1.0c23e578a36c6p+0 +-0x1.157749f322387p-1 +-0x1.7ac4335775a1cp-3 +0x1.c550fc3c78769p+0 +0x1.83d7cdfe37293p+0 +0x1.0175d3d989f64p+1 +-0x1.2212fa987b93ep-3 +0x1.217f3df9fc083p+0 +-0x1.cd855b8fe86fdp-2 +0x1.ccea5a54d87efp-2 +0x1.558402d1b1d97p-1 +-0x1.8ab1c2c68d04fp+0 +-0x1.8098471a13c85p-3 +-0x1.d86dcb965888bp+0 +0x1.305104b60c029p+1 +0x1.eff682c003408p-1 +-0x1.5afb1632fb37ap+0 +0x1.1e33bf0ab3d29p+0 +-0x1.6d4579a586735p+0 +0x1.2a89ddee85669p-2 +-0x1.1674f3ba7da18p+0 +-0x1.2284f100bccdcp-6 +-0x1.cf1dd973f1609p-2 +0x1.b3a7904f392eep-1 +0x1.46833328fbc48p-2 +0x1.190e33f3fa595p-1 +0x1.2509eb20bfd81p-3 +0x1.7a11f69b6a7d4p-1 +-0x1.ce345c782f5b6p-6 +-0x1.203b3b982e85ap+0 +-0x1.41551d419e138p+0 +0x1.963b6e19ba199p-1 +-0x1.e1bdc5dcc038bp-1 +0x1.4d96d7ad0daffp+0 +-0x1.b92d7f9c9dbcep-2 +0x1.e2caa293e9eecp-1 +0x1.f8baf1c0ea3dep-4 +-0x1.02dc134bc493p+1 +-0x1.3d2cd8f979961p+0 +0x1.54e4e04f09211p+1 +0x1.5e37a9908f7a9p-1 +-0x1.744628496bd37p+1 +-0x1.19840a3a45406p+0 +0x1.1959dfefb58f7p-1 +0x1.52bed32f75b94p+0 +0x1.c245e12ce3ee5p+0 +0x1.eee9334cdd0ddp-2 +0x1.203d41ad61271p-3 +0x1.90b58e66122bdp+0 +-0x1.370579624a655p-1 +-0x1.b2a805a509c18p+0 +0x1.e67ccdb8eadfcp+0 +-0x1.3c67a45675499p+0 +-0x1.bfe3aa0e71bb2p-1 +0x1.35cebbc94eab7p+0 +0x1.0422cc7ae80c9p+0 +-0x1.60be748cc1763p-1 +0x1.035ceb7539913p-1 +0x1.7f99fcedf4bb1p-2 +-0x1.6f9c5ee90d57fp+0 +-0x1.845438659ae53p+0 +-0x1.127e6dca38c33p-2 +0x1.4cfddd6b8cbe6p+0 +-0x1.1d4bd6ad50359p+0 +0x1.6a88e84e144c1p-1 +0x1.2c4b816227c2fp-1 +-0x1.3b15ef7442557p-3 +0x1.064ffd48a84ep-3 +-0x1.1d33de6c589e4p-2 +-0x1.80a2820b8f653p-1 +0x1.1220e342470e6p+2 +-0x1.1f50c3eb06578p-1 +0x1.d420b1a766c3fp-3 +-0x1.f06f414c20f8bp-1 +0x1.7df5acaa32cddp-1 +0x1.6eb4e78ecc57cp-3 +-0x1.1194fe9aa3be8p+0 +0x1.13a325cf7b8cep-1 +0x1.e7069ccf67267p+0 +-0x1.89a242daa144dp-1 +-0x1.10750199c5d77p+0 +-0x1.fb0a9458e1e58p-1 +-0x1.f37b9d7b69b5fp+0 +-0x1.55c000fc49842p+0 +0x1.12ed7980f7439p-2 +0x1.cd24b3b1ef227p-2 +0x1.17088f192f0f9p+0 +0x1.90a1fc58a5b9bp-1 +0x1.88f71a896832fp-2 +-0x1.0e428a379b193p-4 +-0x1.9a536e9c8e83ap-2 +-0x1.f8c907f8f58dap-1 +0x1.40c9a200f618p-6 +0x1.bb0f583139801p+0 +0x1.4f096c4aaccfep+0 +-0x1.8639ac259ec7p-3 +-0x1.ddc002a62d79ap-7 +0x1.15ea75f9bba9bp+0 +-0x1.a4314722e80c4p+0 +0x1.3085c6708f055p+1 +-0x1.3a122c32d2387p-1 +-0x1.8466c7f39e1a8p-1 +-0x1.07a3a25046ff7p-1 +-0x1.64906f355b5f5p+0 +-0x1.b6cfc87ad211ap-2 +0x1.a9f23e8a04957p-1 +0x1.8f8861cd0df53p-1 +-0x1.0520d99bed6ddp-1 +-0x1.fd38e376c26b9p-1 +0x1.78d3aaf2e9dabp+0 +-0x1.a17681ee75826p+0 +-0x1.7b614a7d3619cp+1 +-0x1.8824d10bf8adfp+0 +0x1.100b8d5562582p-3 +-0x1.83039f5c89f39p+0 +-0x1.32ae3bd745592p-3 +0x1.20cb3b1fd30d4p+0 +0x1.b455d2d933468p-2 +0x1.321f6a0b81c7cp-1 +-0x1.d72368b9f962cp+0 +-0x1.5794abf7715p+1 +-0x1.e802ac8385caap-1 +-0x1.283a262642c57p-2 +-0x1.4683fc0789bb8p-3 +-0x1.0979236fd2b26p+0 +0x1.6fae44dc0134ap-4 +-0x1.66857c081da8dp-7 +-0x1.1808d0a3ed1b8p+0 +-0x1.88bbc40edea65p-1 +-0x1.22e88378bebeap-3 +0x1.ce560cf6fded2p-6 +0x1.fe493528bc8f6p-2 +-0x1.e70f7ac0dd117p-1 +-0x1.a225717175c68p+0 +0x1.93bb64437011dp-1 +-0x1.26ee7d4949696p+0 +-0x1.86e89fac76f85p+0 +0x1.324cac38058e4p+0 +0x1.1e2ab2a20dec6p-1 +-0x1.23a5753b9b995p-1 +-0x1.24f1448e6220bp-1 +-0x1.4b31f7fd15c83p-3 +0x1.16c554c0c7c7bp-1 diff --git a/sysdeps/x86_64/fpu/libmvec-erfcf-inputs b/sysdeps/x86_64/fpu/libmvec-erfcf-inputs new file mode 100644 index 0000000000..3f6f2b4c5a --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-erfcf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-4, 4), mean = 0, standard deviation = 1 +-0x1.110038p-2 +-0x1.1f03acp-1 +-0x1.88539ap+0 +-0x1.410132p-1 +-0x1.3b7fb8p-2 +0x1.029deep+0 +0x1.77fde2p-1 +0x1.16a53ep+1 +0x1.35a336p-1 +-0x1.f85d78p-2 +-0x1.75bd8cp+0 +-0x1.360248p+0 +0x1.1cb9fap+1 +-0x1.cc0c94p-3 +-0x1.b06432p-1 +0x1.e5f318p+0 +-0x1.2bbc6p-2 +-0x1.b20d6p-8 +0x1.1ee5aap-1 +0x1.0d39dap+0 +-0x1.f35ecap-2 +-0x1.90e89ap-1 +-0x1.8718b2p-3 +0x1.e1a884p-1 +-0x1.bb8414p-2 +0x1.66748ep+0 +-0x1.03ac94p+0 +-0x1.2777cp-2 +0x1.1d20fap+0 +-0x1.0d6598p+0 +0x1.948e12p-3 +0x1.a2f914p-1 +0x1.8dfc3cp-3 +-0x1.60c178p-1 +0x1.729198p-3 +0x1.0d76b4p-4 +-0x1.8ba0cp-1 +-0x1.657578p-2 +-0x1.420738p-2 +0x1.811c1cp-2 +-0x1.3c18ep-4 +0x1.e26402p-1 +-0x1.16b4ecp+0 +0x1.919dfep-2 +0x1.51a8f6p-6 +-0x1.71cb16p-1 +-0x1.7ed13cp-3 +0x1.7c78e8p-1 +-0x1.371df6p+0 +-0x1.47b6c4p-2 +0x1.c0eb16p-1 +-0x1.04144p+0 +0x1.747d82p-1 +-0x1.0e3c3ap+1 +-0x1.9223e2p-1 +0x1.2c285ap-2 +-0x1.e100ap-1 +0x1.a994cp-1 +0x1.5642c6p+0 +0x1.9b45f2p-3 +0x1.607aecp-1 +-0x1.7e95d8p-6 +0x1.3e217p-2 +-0x1.6d0abp+0 +0x1.09153p-1 +0x1.cb814cp-1 +0x1.ef5984p-3 +0x1.4511a4p-3 +0x1.c3236cp-3 +-0x1.b5663ap-5 +0x1.f9775cp-1 +-0x1.fbe004p-1 +0x1.ec4068p-4 +0x1.0af7c2p-1 +-0x1.18e6b8p-1 +0x1.2fc06ap-2 +-0x1.0df60cp-1 +-0x1.bf42c8p+1 +-0x1.f9beaap-4 +-0x1.a8a18cp-4 +0x1.0c0fap+1 +0x1.8035aep-4 +0x1.6e5336p-1 +-0x1.202ed6p+0 +-0x1.958d6ep-2 +-0x1.bcdf02p-2 +-0x1.ae79ecp-2 +-0x1.08e936p-2 +0x1.fa1d12p-1 +0x1.e0e75p-1 +0x1.d0f072p+0 +0x1.706896p+0 +-0x1.37f81ap-1 +-0x1.d1b82p-4 +-0x1.8d8c76p+0 +0x1.c753b4p+0 +0x1.59d5bp-3 +-0x1.ea04b4p-4 +0x1.29c338p-5 +-0x1.c2ee5ep-1 +0x1.cee3cap+0 +-0x1.b5e1a6p-1 +-0x1.42abb8p-1 +0x1.1d8892p+0 +0x1.80ec7cp-2 +0x1.ae7a24p-4 +0x1.9c79dap-1 +-0x1.253082p-4 +-0x1.a40112p-2 +-0x1.77943p-1 +0x1.77052ap-2 +0x1.aa7ee8p+0 +-0x1.f6ee5cp-6 +0x1.a39a2ap-1 +0x1.3221b8p-1 +0x1.5ff5bcp-1 +-0x1.4613aap-4 +-0x1.6991a4p+0 +-0x1.1071cap+0 +-0x1.055f3ap+0 +0x1.520ed8p-1 +-0x1.6e1544p+0 +0x1.e819p+0 +-0x1.8b8cb4p-1 +-0x1.a9f64ap-1 +0x1.88e06cp-2 +0x1.750ec6p-1 +-0x1.0dd8acp-1 +-0x1.99309ep-2 +-0x1.08b1bcp-2 +0x1.aa7c0ep-3 +0x1.0a5b3ep-2 +0x1.273d5cp+1 +-0x1.27eeacp+0 +0x1.398226p-1 +0x1.56fe6p+0 +-0x1.f11f36p+0 +0x1.9aca96p-2 +-0x1.8f8d42p-1 +-0x1.f49e6ep-3 +-0x1.7a129ep-8 +-0x1.1ae76cp-1 +0x1.087a5ap-4 +0x1.6aff86p-1 +-0x1.62fa8ap-2 +0x1.b66d4cp-2 +0x1.b32cf8p-2 +-0x1.70f5dep+0 +-0x1.ac60dap-1 +-0x1.fbdc48p-3 +0x1.ce8d8ap-2 +-0x1.f0575ep-2 +0x1.248082p+0 +-0x1.4b02ccp-4 +-0x1.f980a2p-1 +-0x1.d7c148p-1 +-0x1.19379ep-4 +0x1.508d16p+1 +-0x1.ab9498p-2 +0x1.0e6daep-1 +-0x1.45599cp+0 +-0x1.a1d652p+0 +0x1.0a9a08p-1 +-0x1.380656p-1 +-0x1.4723eap+0 +0x1.82ba88p+0 +-0x1.be10fep-3 +0x1.6e9ab6p-10 +0x1.ac8ebap+0 +0x1.72f43ap-3 +0x1.647a3p-3 +-0x1.6a098ep-3 +-0x1.535b6p-5 +0x1.9b2178p-2 +-0x1.0db4dp-3 +-0x1.d28fecp-2 +0x1.45806cp-3 +-0x1.4314fcp-3 +-0x1.3d2ddcp-1 +-0x1.91560cp-3 +-0x1.2064bep+1 +-0x1.8f0d5ap-1 +0x1.81850ap+1 +-0x1.f7d0d6p-2 +-0x1.f23fd4p-1 +-0x1.75a606p-5 +-0x1.d253dcp-1 +-0x1.532846p-1 +0x1.ce3576p-1 +-0x1.8652cep-2 +-0x1.9b8efp+0 +0x1.7d9c66p+0 +0x1.b96c3ep+0 +-0x1.f953fcp-1 +-0x1.49c318p+0 +-0x1.a1e7cp-2 +0x1.46cfc2p+0 +-0x1.ae2452p-2 +0x1.6993ap+0 +0x1.13306cp-2 +0x1.61510cp-5 +-0x1.1a2036p+1 +-0x1.64ad7ap-1 +0x1.bc0558p-4 +0x1.3c093ep-4 +0x1.4f8ea8p-1 +-0x1.55af0ap+1 +0x1.5af1d2p-2 +-0x1.0de628p-1 +0x1.99ce9ep+0 +-0x1.f3ce28p-1 +-0x1.2dcbccp+0 +0x1.1adafep-1 +0x1.853c9ap-3 +-0x1.00b1dap-5 +-0x1.12d9eap+0 +-0x1.c05a7cp+0 +-0x1.df87d8p+0 +0x1.3e98c6p-1 +0x1.560246p+0 +-0x1.c6b774p-1 +-0x1.2d3deap-4 +0x1.efefd8p-1 +0x1.c1a132p-4 +0x1.30ea3ap+0 +-0x1.a74dd4p-1 +0x1.79ab52p-6 +0x1.d28bdp-1 +-0x1.dd0ae6p+0 +0x1.086058p+0 +-0x1.3d802ap-2 +-0x1.11859p-1 +0x1.2aa162p-2 +-0x1.51a2fep+0 +0x1.6d4ca2p+0 +-0x1.086472p-1 +0x1.73c0d4p-3 +-0x1.460bb8p+0 +-0x1.96b5c2p-1 +0x1.002088p-1 +-0x1.079c68p+0 +-0x1.a490fep-4 +0x1.3a317p-3 +0x1.b3009ap-3 +-0x1.8be63p+0 +0x1.c70c48p-3 +0x1.6ec3p-1 +-0x1.d42bdap-5 +0x1.542a48p-1 +-0x1.68aadep-1 +0x1.0719ecp-1 +0x1.5a5bfp-1 +-0x1.1df78ep+0 +0x1.38e51ep-1 +0x1.65e234p-1 +0x1.81eea2p-1 +-0x1.e09ae8p-2 +0x1.88cff6p-2 +-0x1.6a4098p+1 +0x1.b0dc52p-2 +-0x1.949d08p-3 +0x1.2054bep+0 +-0x1.1c5a7p+0 +0x1.066722p+1 +0x1.236638p-2 +0x1.ede04p-1 +0x1.5dd9cep+0 +-0x1.ee86a4p-2 +0x1.430682p-1 +-0x1.b239cep-2 +-0x1.b155c4p+0 +0x1.110594p-1 +-0x1.940484p-1 +-0x1.32b572p+0 +0x1.2ab818p-2 +-0x1.bb57eep-8 +0x1.2c5faap-2 +-0x1.105b2ap-2 +0x1.ad21b6p+0 +0x1.f59118p-1 +0x1.942c72p-2 +-0x1.73fc06p-2 +0x1.19a064p+0 +0x1.f4409ap-3 +-0x1.6ea822p+0 +0x1.05326p-3 +-0x1.30227ap-2 +0x1.69b302p-4 +-0x1.a95e1cp-1 +0x1.2ff44cp-1 +0x1.8803b4p-1 +0x1.e33526p-1 +-0x1.21639cp+0 +-0x1.a15cdap-3 +-0x1.ad8b0ep+0 +-0x1.9c52c8p+0 +0x1.1e855ap-3 +0x1.bb99aep-2 +-0x1.1dae22p+0 +-0x1.9efa1cp+0 +0x1.7f4124p+0 +0x1.a0ae02p-2 +0x1.6c8868p-1 +0x1.417de2p+1 +0x1.1a07e2p+0 +0x1.50e958p+0 +-0x1.09dbbp+1 +0x1.62d0a6p+0 +-0x1.641802p-4 +-0x1.a1d7bcp+1 +0x1.a3b7e4p+0 +0x1.a5562ap+0 +-0x1.af841cp-3 +-0x1.6538b6p+0 +-0x1.29feb6p-1 +0x1.6071bcp+1 +0x1.3a75b2p+1 +0x1.501b28p-1 +0x1.cab884p-2 +-0x1.f406eep-2 +-0x1.94992p+0 +-0x1.4bf214p-1 +-0x1.f4aaa8p-1 +-0x1.c904a4p-1 +-0x1.85137ap-2 +-0x1.3253d2p-1 +-0x1.7e5a94p-1 +-0x1.ba8b24p-2 +-0x1.e32c5cp+0 +-0x1.f7a818p-2 +0x1.d79048p-3 +-0x1.e1ee3cp-1 +0x1.8a59e6p-1 +0x1.72b31ap-2 +-0x1.f0a79p-2 +-0x1.ec9f64p-2 +-0x1.ef4d44p-1 +-0x1.45030cp-2 +-0x1.3de03p+0 +-0x1.ae4ee8p-2 +-0x1.2a2442p+0 +0x1.1e09c8p-8 +-0x1.c68168p+0 +0x1.0b13ecp-2 +0x1.5b2206p-1 +-0x1.c752f2p-3 +0x1.3d151p-1 +0x1.17da3p-1 +-0x1.266a0ap-1 +0x1.78803ep+0 +-0x1.347da4p-2 +-0x1.39b5p-4 +0x1.b9a576p-1 +-0x1.721816p-1 +0x1.4139fep+0 +0x1.0b6028p-1 +-0x1.9cf32p-2 +0x1.4e858p+0 +0x1.b07b4ep-3 +0x1.11702p-3 +-0x1.981532p+0 +0x1.4cbefep-1 +0x1.a9ca3ap-1 +-0x1.5506bcp-2 +0x1.7d3bacp-3 +0x1.ba237ep-2 +-0x1.9d3fecp-1 +0x1.04414ep-1 +-0x1.1ab066p-1 +0x1.6f930ap+0 +-0x1.6cac96p+0 +-0x1.bcfc0cp-4 +0x1.010d86p-2 +-0x1.7ff508p-2 +-0x1.a27326p-1 +0x1.3ee03ep+0 +0x1.44bf16p-2 +-0x1.dc7bfep-3 +0x1.4b2044p-2 +0x1.84fe36p-3 +0x1.cd7622p+0 +0x1.1b1d3cp+0 +-0x1.9fcae6p+0 +-0x1.0a3b58p-1 +-0x1.2abc8ap+0 +0x1.8c4d68p-3 +0x1.0a5afep+0 +0x1.4fd2ccp-3 +-0x1.7f4f36p+0 +0x1.8d885ep+0 +0x1.59ea52p+0 +0x1.0ec88cp-5 +-0x1.8a5d84p+0 +0x1.1a283ap-4 +0x1.829e76p-1 +-0x1.49c464p-2 +-0x1.013626p+0 +-0x1.d6aa46p-1 +0x1.1ae55cp-2 +-0x1.6d2bcp-2 +-0x1.2f894ap-1 +-0x1.8cccaap+1 +0x1.a1847ap-2 +0x1.61b9fap+0 +-0x1.593af2p-2 +-0x1.6fcb36p-1 +-0x1.8852ep+1 +0x1.55402ep-6 +-0x1.7758f8p-1 +-0x1.129ed6p-1 +0x1.47b15cp-2 +0x1.c37c38p-4 +-0x1.55e59cp-1 +0x1.15ab24p-2 +-0x1.5efb3p+0 +-0x1.c82246p+0 +-0x1.1ec106p-1 +-0x1.632d52p+0 +-0x1.3b380ep-3 +-0x1.d06a62p+0 +-0x1.648c7ep+1 +-0x1.e0c74ap-2 +0x1.3b45c2p+0 +0x1.9ac134p+0 +0x1.821b66p-2 +0x1.49d4a4p-4 +-0x1.9536fep-3 +-0x1.e45f7p-1 +0x1.f42e02p-5 +-0x1.1447c8p-2 +-0x1.3814cap-1 +-0x1.36e4eep+0 +-0x1.db96f4p-1 +0x1.b7e8d8p-1 +0x1.31f092p-1 +-0x1.23d39ap+0 +0x1.fe37fp-1 +-0x1.d6e588p-1 +-0x1.51e8dp-2 +-0x1.076dp+0 +-0x1.5ce54p-2 +-0x1.03dbfcp-1 +0x1.02c32cp+0 +0x1.2900dep-1 +-0x1.2d2ce6p+0 +-0x1.5d3804p+0 +0x1.7b1186p+0 +0x1.ff5246p-3 +0x1.0e03a4p+1 +-0x1.76a414p-1 +-0x1.1fffa4p-4 +0x1.9caea4p-2 +-0x1.793d42p-4 +0x1.5b0824p-3 +0x1.254968p-3 +0x1.eb12bp+0 +0x1.fe8536p-3 +0x1.b1e56ap+0 +0x1.345306p-3 +0x1.307c96p+0 +0x1.4d5cbap-1 +-0x1.b1937cp-3 +0x1.cc82dep+0 +0x1.af13acp-3 +0x1.55b3e6p-5 +-0x1.1aa44ep-1 +-0x1.b0bd84p-1 +-0x1.f054c2p-5 +-0x1.81014cp+0 +-0x1.240046p+0 +0x1.d0a074p-3 +0x1.41625cp-9 +-0x1.40f226p-1 +0x1.68f226p-2 +-0x1.17690ep+0 +-0x1.75fa5ep-1 +0x1.295642p-3 +0x1.988104p-2 +0x1.2b01b2p+0 +-0x1.0f4d72p-4 +-0x1.4b462p-1 +0x1.9e7c32p+0 +-0x1.a6f89ep-1 +0x1.f2082cp-4 +-0x1.dd839ap-1 +0x1.7fca08p-1 +-0x1.c3c488p-1 +-0x1.6e8538p+0 +0x1.d8ed1cp-4 +-0x1.ebd99ep-2 +0x1.fd966p-1 +-0x1.206c2p+0 +0x1.aee0d6p+0 +-0x1.35d52ep-3 +0x1.13223ap-3 +0x1.743898p-2 +-0x1.4bae88p-1 +-0x1.b15ab2p-1 +-0x1.9ce3b2p+0 +0x1.cef452p+0 +-0x1.f17318p+0 +-0x1.e58d0cp-6 +0x1.808becp-1 +0x1.07f0bp+0 +0x1.325fd4p-1 +-0x1.9faafap-4 +0x1.6104f8p+1 +-0x1.7807e4p+0 +0x1.297574p-2 +0x1.3b4588p-1 +0x1.c568a6p-1 +0x1.6caddep+1 +-0x1.69894ep-2 +-0x1.373078p-3 +0x1.135deep-1 +0x1.e1285ap-3 +0x1.4b80b4p+0 +0x1.2811c4p-1 +-0x1.cf20dp-1 +-0x1.ab8ce8p-3 +0x1.9d7e14p+0 +0x1.3737cep+0 +-0x1.63ffeep-1 +0x1.a236a8p-3 +-0x1.d9b722p-3 +0x1.022adcp-4 +0x1.0a9b4ep+0 +0x1.18ec28p-4 +-0x1.6afe7p+1 +0x1.147d5cp-1 +-0x1.81f8cep-1 +0x1.0f3818p-1 +-0x1.c6ff78p-1 +-0x1.66360cp-1 +-0x1.6791dcp+0 +-0x1.77c6ep-2 +0x1.45d5f6p+0 +0x1.268336p+0 +0x1.3a13ap-1 +-0x1.780cfp-2 +0x1.6128b2p-1 +-0x1.439a56p+0 +0x1.50b1dp-1 +-0x1.0db0a6p+1 +0x1.0ae6ecp-1 +-0x1.51968p-2 +0x1.a18278p-1 +0x1.e0a29p+0 +0x1.8cdcd4p-6 +0x1.ec9936p-1 +0x1.5317a2p-2 +0x1.51d70cp-3 +-0x1.50ba0ap-1 +0x1.341dccp+0 +-0x1.9996fap-1 +-0x1.61d00ep+0 +-0x1.3a3a26p-1 +0x1.2f54b2p-2 +-0x1.b4951cp-2 +0x1.220f6p-1 +0x1.09e96p-1 +-0x1.b1165ap-1 +-0x1.be5766p+0 +-0x1.411e54p-4 +0x1.32640ap+0 +-0x1.9d3da6p-3 +-0x1.26eaa4p-1 +-0x1.9657b2p-2 +0x1.25d18p-1 +0x1.faee42p+0 +0x1.1cc8a2p-5 +0x1.9ed352p-2 +0x1.c24bc2p-1 +-0x1.c46c08p-1 +0x1.058fa8p+0 +0x1.074894p-1 +-0x1.2cb5d2p+0 +-0x1.7b022cp+0 +0x1.d971cep-1 +-0x1.8ec86ap-4 +-0x1.f72738p-3 +0x1.219fdep-2 +-0x1.565374p+1 +-0x1.6b82bep-6 +-0x1.3c9b4ap-2 +0x1.0adc7p+0 +0x1.c5a68p-3 +0x1.036bfep+0 +0x1.d9d092p-1 +0x1.7d3d04p-2 +-0x1.479fcep+0 +0x1.ef3f7ap-2 +0x1.52dc56p-1 +0x1.152d96p-1 +-0x1.b93628p-1 +0x1.6f1702p-2 +-0x1.d76088p+0 +0x1.396904p+1 +-0x1.bb8d38p-2 +-0x1.bea7cap-3 +-0x1.56dbccp-2 +0x1.9ce5dp-3 +0x1.9e0406p-5 +0x1.f80584p-2 +-0x1.54278cp+0 +0x1.37b24cp-2 +0x1.f77b1ap-6 +-0x1.7c43b4p-5 +0x1.10f4e2p-2 +-0x1.84c3d4p-2 +0x1.6536d4p-1 +-0x1.45c85ep+0 +0x1.8d0b58p-2 +-0x1.7bfe86p+0 +-0x1.028574p+0 +-0x1.266d42p-6 +-0x1.6f1e52p+0 +-0x1.b57398p+0 +-0x1.069008p+0 +0x1.951438p+0 +0x1.54640ep-1 +0x1.a2e70ep-4 +-0x1.4584eap-3 +0x1.598412p-1 +-0x1.3508e2p+0 +-0x1.df8c74p+0 +-0x1.d401bcp-1 +-0x1.20ff5ep-2 +0x1.ade08ep-2 +0x1.fb9154p-4 +0x1.a816fp-1 +-0x1.90a1d2p-11 +-0x1.6b755ap-1 +-0x1.54b09ap-1 +-0x1.53687ep+0 +0x1.5f4562p+1 +0x1.1c64acp-3 +-0x1.1cd93cp-2 +-0x1.d6676ep-2 +-0x1.b3376p-1 +-0x1.397f52p-2 +0x1.204f1ep+0 +-0x1.9d15f8p+0 +0x1.86b446p-2 +-0x1.3a978cp+0 +-0x1.299fc8p+0 +-0x1.a744b8p-5 +-0x1.bb2884p-2 +-0x1.f30a9p-2 +0x1.aabbf2p-1 +-0x1.a112b6p-1 +0x1.3d09dcp+0 +0x1.2cb5e2p+0 +0x1.3cd7acp-2 +-0x1.f1399p-1 +0x1.88f07ep+0 +0x1.93179ep-4 +0x1.2bfc96p+1 +0x1.a17e38p-3 +0x1.335b32p+0 +-0x1.e24d82p-1 +-0x1.ebc294p+0 +0x1.4d8134p-1 +-0x1.e10c4p-2 +-0x1.62805p-1 +0x1.514716p+1 +-0x1.407afcp+0 +-0x1.c12b48p-2 +-0x1.7ef92ap-4 +-0x1.41cc22p-2 +-0x1.b4dc08p-1 +-0x1.b8c92ep-1 +-0x1.a4756cp-2 +-0x1.d7ea62p+0 +0x1.a45014p-4 +-0x1.3949p-4 +-0x1.163a4ap+0 +0x1.b57efp-1 +0x1.6e593ep-1 +-0x1.b3b2e6p-1 +0x1.20b848p-3 +-0x1.a7a9a2p+0 +-0x1.3edfeap-3 +0x1.04df46p+0 +-0x1.85c872p-3 +0x1.987aa6p+0 +-0x1.8d8ff4p-4 +-0x1.7bbe5p-2 +0x1.09b6ep-1 +0x1.6540eep-1 +0x1.e1ae5ep-1 +0x1.072608p+1 +-0x1.6139c4p-4 +-0x1.4f44bp-3 +-0x1.c87cf8p+0 +-0x1.625e9p+0 +-0x1.b994fap-1 +-0x1.d21a74p+0 +0x1.fb8fbcp+0 +0x1.4e0292p-1 +0x1.7bec5ap-1 +-0x1.22ade6p+0 +0x1.3ff0fcp-1 +0x1.acf446p-3 +-0x1.081e4cp-1 +-0x1.af18d2p-4 +-0x1.816382p-2 +-0x1.dbf7e6p+0 +-0x1.109eap+0 +0x1.2f89c6p-2 +-0x1.0525cep-3 +-0x1.1527b6p-2 +0x1.b3de52p-1 +-0x1.730858p-2 +0x1.076d14p-2 +-0x1.6d8996p+0 +0x1.34fc5ap-1 +-0x1.8704c8p+0 +0x1.135dc8p+1 +-0x1.4e2aacp-1 +0x1.7b15dp-1 +0x1.624156p+0 +0x1.50d6fep-1 +0x1.471f7p-2 +0x1.016aep-3 +-0x1.6baefcp-1 +-0x1.21c30ap-1 +0x1.62072ap-6 +-0x1.39b198p-1 +0x1.7f04c2p-2 +-0x1.168386p+0 +-0x1.c9fbccp+0 +0x1.1635f4p-1 +0x1.3ddefp-5 +-0x1.1ee2cep-5 +-0x1.6899a6p-1 +0x1.dc1aa4p-3 +-0x1.b601c4p-3 +0x1.a84624p-2 +-0x1.33c518p-1 +0x1.a67986p-1 +0x1.0a3882p+0 +0x1.06a6ap-2 +0x1.6bf6eap-2 +-0x1.84d9fp+0 +-0x1.6cf124p-3 +0x1.dcbcep+0 +0x1.3536fp+0 +0x1.cdd5ap-2 +-0x1.bfefecp-1 +-0x1.618704p-1 +-0x1.17cefcp-2 +0x1.67adb2p+0 +0x1.3a3954p-1 +-0x1.d038d4p-5 +0x1.36d7a8p-2 +0x1.e318b2p-4 +-0x1.3e982cp+0 +0x1.471aa2p+0 +-0x1.178b0ep+0 +-0x1.b5c338p-1 +-0x1.a52046p-1 +-0x1.d018ccp-5 +0x1.a12acap-2 +0x1.e26ee4p+0 +0x1.1156cep-2 +0x1.a0a6aap+0 +-0x1.267fe2p-1 +-0x1.1988fap-2 +0x1.0b474ep-1 +-0x1.8fe198p-2 +-0x1.5fdfdap+0 +-0x1.943708p-6 +0x1.8d0838p-2 +0x1.8b693ap+0 +0x1.fd35a4p+0 +0x1.20e762p-4 +0x1.1338d4p+1 +-0x1.ea5206p-1 +-0x1.cd9f28p-2 +-0x1.1da77p+1 +-0x1.123ce4p+0 +-0x1.07274p-1 +0x1.b99ddep-1 +-0x1.39b1fp-1 +-0x1.153f22p+1 +0x1.8dd608p+0 +0x1.c91194p-2 +-0x1.06ef9ep-3 +-0x1.f7e71ep-5 +-0x1.2bcc98p-2 +-0x1.087c5cp+0 +-0x1.263fecp+0 +-0x1.d0ae2ap-1 +0x1.bf14b6p-5 +0x1.d08ea4p-4 +-0x1.d899f6p+0 +-0x1.c8a996p-1 +-0x1.5587dcp+1 +-0x1.c510eep-1 +-0x1.18b784p+0 +0x1.71cc02p-1 +-0x1.64f178p-1 +0x1.23e878p-1 +-0x1.aec4fap-3 +0x1.30e846p+0 +-0x1.f9dee6p-6 +-0x1.24ba82p-3 +-0x1.9fe796p-2 +0x1.af099ep+0 +-0x1.43231ap-2 +0x1.15808p+0 +-0x1.dd8294p-1 +-0x1.29bfc2p-5 +0x1.5fafe6p-1 +-0x1.22b358p-1 +0x1.6651c6p-7 +0x1.e17a66p-1 +0x1.d3c68cp-2 +-0x1.56483ep-4 +0x1.f538f4p-3 +-0x1.7fb88ep+0 +0x1.74596ap-3 +0x1.90a7c4p+0 +-0x1.74067ap-3 +0x1.3902e8p+0 +0x1.359ad8p-2 +-0x1.14bb78p+1 +-0x1.d2bp-1 +0x1.f9f7f8p-2 +0x1.f4b9e2p-4 +0x1.18af72p+0 +0x1.2336b2p+1 +-0x1.aa7a9ep-1 +0x1.23d8f2p+0 +0x1.066028p-1 +-0x1.442632p-1 +0x1.0787d6p+0 +-0x1.9b00fep-4 +0x1.fe98dep-2 +0x1.5ce4dap+0 +0x1.54b8p-2 +0x1.7631f2p-1 +-0x1.56d6cep+0 +0x1.e93e02p+0 +-0x1.508c64p-1 +-0x1.bb07aep-4 +-0x1.c205f2p+0 +-0x1.4665ecp+1 +-0x1.95aab2p-2 +-0x1.0cb91ep+0 +0x1.517e3p-2 +-0x1.bf61d2p-1 +-0x1.457ed6p+0 +-0x1.37c8c2p-1 +-0x1.002cb2p+0 +-0x1.07c27ap-1 +0x1.274168p-1 +0x1.38f41ep+0 +-0x1.81ce3ap-1 +-0x1.d73dd2p-8 +0x1.1be246p+0 +0x1.6d87ep+0 +0x1.231018p-1 +0x1.23500ep-2 +0x1.19c6bep-2 +-0x1.5e77f6p+1 +-0x1.a6520ep-2 +-0x1.fad8dcp-3 +-0x1.520906p-2 +-0x1.77399ap-2 +0x1.14293cp-1 +0x1.50f4ap-1 +0x1.365732p+0 +-0x1.3469c8p-7 +0x1.b1cb36p-2 +0x1.0c8066p-2 +0x1.53f73p-1 +-0x1.ba6bf4p+0 +-0x1.142e22p-4 +0x1.240138p-2 +0x1.82084cp-3 +-0x1.5a932ep-2 +0x1.ba4fb4p-1 +-0x1.223d3p+1 +-0x1.27b8aep-3 +-0x1.a8e546p-4 +0x1.01d11p-1 +-0x1.93f7d2p-6 +0x1.7fcddep-1 +0x1.9a1d8ep+0 +0x1.036464p+0 +0x1.b0e7p-3 +0x1.02db3p+1 +0x1.6b8aap-1 +0x1.2fa006p+0 +-0x1.d82328p-1 +-0x1.9d410ap+0 +-0x1.de77eap-5 +-0x1.507538p+0 +-0x1.cb4adcp-4 +-0x1.3f3ebcp+0 +0x1.2cd10cp+0 +-0x1.6f6f24p-5 +0x1.ed8106p-3 +-0x1.895068p-1 +0x1.00c424p+0 +-0x1.6b352ep-3 +-0x1.08fb74p+0 +0x1.26b1b2p+0 +0x1.5f5b98p-2 +0x1.5767d4p+0 +0x1.276b56p+0 +0x1.2bc056p+0 +0x1.054068p+0 +0x1.e8fb5ep-4 +-0x1.7950f2p-2 +0x1.61c78ep+0 +-0x1.3da23ap+0 +0x1.b309d2p+0 +0x1.b3d51ap-4 +0x1.c7101cp-2 +-0x1.17cc8p+1 +0x1.5e9e68p-2 +-0x1.7b88bap+0 +-0x1.bc3d1p-2 +0x1.fe1772p+0 +-0x1.454e04p-4 +-0x1.203ea8p-5 +0x1.0b63p-1 +0x1.0a3696p-2 +0x1.b69cbep-5 +0x1.e4a2ap-2 +-0x1.fc1de8p-4 +0x1.9c5f0cp-1 +-0x1.c662e4p-3 +0x1.cb775ap-2 +-0x1.61d9a4p-2 +-0x1.1450cep+0 +-0x1.e77354p-1 +-0x1.a191c6p-3 +-0x1.3b096ap+0 +-0x1.573978p-4 +0x1.974ac4p-5 +-0x1.19e942p+0 +-0x1.60de18p-2 +-0x1.787726p-2 +-0x1.fea152p-5 +-0x1.c22308p-3 +0x1.288e8p-2 +-0x1.acfe86p-1 +-0x1.e322c8p-2 +-0x1.11322ep-1 +-0x1.34b88ap+0 +0x1.52f128p-1 +0x1.119c1p+0 +-0x1.69e2d2p-7 +0x1.1feb9ap+0 +0x1.61fedap-2 +-0x1.8f798ap+0 +-0x1.b7b382p-3 +0x1.969822p-2 +-0x1.4b524ep-3 +-0x1.321ac4p-6 +-0x1.6ebfaep+0 +0x1.e1d78cp+0 +-0x1.1208eep-1 +0x1.50da0ap-1 +0x1.095648p+0 +0x1.d7c7b6p+0 +-0x1.d0964cp-1 +0x1.2e6518p-1 +-0x1.c0bdc4p-1 +0x1.1695dp-2 +0x1.0454b4p-1 +0x1.4ccceap-2 +-0x1.1db5fap-4 +-0x1.786a46p+0 +0x1.990da6p-1 +-0x1.7fe62p-2 +0x1.4f6fe8p-1 +-0x1.d20a7ap-1 +-0x1.99dd6p-2 +0x1.e5340cp-1 +0x1.a5b96ap+0 +-0x1.928d3cp-2 +0x1.2e3152p-2 +0x1.513136p-1 +0x1.0222cap-1 +-0x1.ea799ap-1 +-0x1.ec6732p-3 +0x1.0523dep-1 +-0x1.3a3f7cp+0 +0x1.5ebaf6p+0 +0x1.224768p+0 +-0x1.1e90c4p+1 +-0x1.fedbaap-1 +-0x1.02282p+1 +-0x1.c8618ap+0 +0x1.af7c5cp+0 +-0x1.e2fa34p+0 +-0x1.000ccp-2 +-0x1.16afe8p+0 +0x1.5d829ap-1 +-0x1.582e24p+0 +-0x1.65ffe8p-2 +-0x1.07b006p+0 +-0x1.8a79aap+0 +-0x1.362ff8p+0 +0x1.5a2a56p-1 +-0x1.ad62d6p-2 +0x1.43efdap-4 +-0x1.121deap-2 +-0x1.68e8ecp-2 +-0x1.4737a8p-1 +0x1.b6f0e2p-1 +0x1.d3725p-3 +-0x1.d01bfap-1 +-0x1.d040bp-1 +-0x1.4bd81ap+1 +-0x1.23d4f4p+1 +0x1.bbad92p+0 +0x1.8733f8p+0 +0x1.bc26f6p-1 +0x1.626752p+0 +-0x1.c049b6p-6 +-0x1.fec492p-2 +0x1.7f7968p+0 +-0x1.1dd896p-1 +-0x1.a9ae64p-1 +-0x1.8077dep+0 +-0x1.1e7b08p+1 +0x1.235396p-1 +-0x1.c87d1p-4 +-0x1.d320dap-2 +0x1.03b144p-1 +0x1.7a3848p-2 +0x1.242e1ep+0 +0x1.b7936ap-2 +-0x1.4f848cp-1 +-0x1.0e20dcp+0 +-0x1.c14bcp+0 +-0x1.bbe18p-1 +0x1.a4476p+0 +0x1.d225c2p-3 +0x1.21c166p-2 +0x1.235af8p-1 +-0x1.1b58bap-1 +-0x1.58b5e6p-2 +0x1.dc72e4p+0 +-0x1.de7f64p-1 +0x1.76a74ep-3 +-0x1.b2a272p-2 +-0x1.d78d2ap-2 +-0x1.d3a276p-1 +0x1.5d8ba8p-4 +0x1.408c24p+0 +-0x1.22ebdcp+0 +0x1.78e76p-2 +-0x1.991118p-1 +0x1.0855c4p+0 +-0x1.36a24ap-1 +-0x1.2510e8p+0 +-0x1.0d06dep-2 +-0x1.3470c4p-1 +0x1.afd89cp-3 +-0x1.29809ep-1 +0x1.aaf702p+0 +0x1.9dcb1p-4 +0x1.5f3cc8p-1 +0x1.4ba3a6p+0 +-0x1.6d9b24p-4 +0x1.a3ea74p-1 +0x1.207bc6p-3 +-0x1.fe6d08p-1 +0x1.1a6974p-1 +0x1.d70e4ap-1 +0x1.6f4598p+0 +-0x1.0c62a6p-2 +0x1.d820cap+0 +-0x1.71efdcp-1 +-0x1.30841ap-1 +0x1.70f534p-2 +-0x1.1f6ccap+0 +0x1.d6ae62p+0 +0x1.f196bcp-1 +-0x1.41d18ep+1 +-0x1.762a84p+0 +0x1.d63c0ep-1 +0x1.f22036p+0 +-0x1.f1afc8p-1 +-0x1.bf96ap-2 +0x1.a217aap+0 +-0x1.c9b258p-2 +0x1.7d3ed6p-1 +-0x1.e87ddap-1 +-0x1.9ed7a2p-1 +-0x1.5be994p+0 +-0x1.9df17ep-3 +-0x1.4d8beap+0 +-0x1.6a15e6p+0 +-0x1.cd544cp-2 +-0x1.297dfap+0 +-0x1.72ed2p-1 +0x1.351bfep-3 +-0x1.7a6164p-1 +0x1.524c22p-1 +-0x1.d1ce48p-2 +0x1.1f939p-1 +0x1.21e258p-2 +0x1.7f5a82p-1 +-0x1.0326ep-1 +0x1.3dbaa2p-2 +0x1.c7e528p-3 +0x1.5e1d8ep-7 +-0x1.d7ebf6p-1 +0x1.9097b6p-1 +0x1.fde0dep-4 +-0x1.fd2e5p-4 +0x1.34111cp+0 +-0x1.320bb8p-1 +0x1.c3d3cep-3 +0x1.d68baep-6 +0x1.d5fbdap-1 +0x1.774752p+0 +-0x1.a3adc4p+0 +-0x1.c7e54ap-2 +-0x1.1872bap-2 +-0x1.e39d88p-1 +0x1.b7553p+0 +-0x1.db9718p-3 +-0x1.7e4a4ap-2 +-0x1.ca0c48p-2 +-0x1.140942p-2 +-0x1.b89a4ep+0 +-0x1.047d92p-4 +-0x1.1fca22p+0 +0x1.5d63dp-1 +0x1.0ea7cp+0 +0x1.c6c844p-1 +0x1.603424p+0 +-0x1.a5ffd2p-2 +0x1.1e1beap+0 +0x1.125b5cp+0 +0x1.90738cp-2 +0x1.d921bp+0 +-0x1.b15416p+0 +0x1.44313ap+0 +0x1.f07062p+0 +-0x1.46944p-2 +0x1.97a33cp-2 +-0x1.6c8e2p+0 +0x1.597e7cp+0 +0x1.b90712p-1 +-0x1.7b4e54p-3 +-0x1.47ffa4p+0 +0x1.12673cp+0 +0x1.260286p-1 +0x1.686e96p+0 +0x1.710bd6p+0 +0x1.55e84p+0 +-0x1.43ffa8p-2 +-0x1.69b8c8p-1 +0x1.c0c0d8p+0 +0x1.eac24ap-1 +0x1.e064cp+0 +-0x1.c5a6f6p+0 +0x1.7d090ap+1 +-0x1.51054cp-3 +0x1.f4c788p-2 +0x1.064c9p+1 +0x1.0e768ap+0 +0x1.fcd304p-1 +-0x1.2bf954p-1 +-0x1.6fa7bcp+0 +0x1.1131d4p-3 +0x1.84b6fp+0 +0x1.82d034p+1 +0x1.307076p-1 +0x1.d6dd86p-2 +0x1.b0c424p-2 +0x1.6ecb46p-4 +0x1.5472dp-2 +-0x1.2c76e4p-4 +-0x1.d8f29ap+0 +-0x1.d00032p+0 +-0x1.0144a6p-1 +0x1.88639ap-2 +0x1.004798p+0 +0x1.11537p-3 +-0x1.98d444p-2 +-0x1.dc8958p-1 +0x1.dc3e84p-2 +-0x1.025aeep+1 +0x1.aa6136p+0 +-0x1.99a04cp-1 +0x1.b0839ep+0 +0x1.d13378p-1 +0x1.a9a824p+0 +-0x1.443c98p-1 +-0x1.eeb87ep-1 +0x1.38c446p+0 +-0x1.710f7cp+0 +-0x1.07b1ap+0 +-0x1.c75e14p-1 +-0x1.3ddf74p-2 +0x1.27093p+0 +-0x1.0833d4p-2 +-0x1.2cb6bap-4 +0x1.6bd3ep+0 +-0x1.17db0ap+0 +-0x1.fc4a6ap-4 +0x1.243e3p-1 +0x1.40fc56p-2 +-0x1.cc7f4ep-1 +-0x1.792ec6p-2 +-0x1.44a492p+1 +-0x1.3827d4p+0 +-0x1.41cca4p+1 +0x1.949866p-1 +0x1.d9b438p-1 +-0x1.09e56cp+0 +-0x1.dd1504p-3 +0x1.dfc3ccp-1 +0x1.1f3afep-3 +-0x1.0cc97cp-1 +-0x1.201c3ep-1 +0x1.df82bp-1 +0x1.395d76p-3 +-0x1.0b866ep+1 +-0x1.738d3p+0 +-0x1.0eeadep+0 +0x1.40cdccp-1 +-0x1.3c73dap+0 +-0x1.74ae48p-3 +0x1.d8275ap-1 +0x1.f9716ep+0 +0x1.1723e8p+1 +0x1.8f429p-2 +0x1.550ea2p+0 +-0x1.b1783p-6 +-0x1.061f08p+0 +-0x1.7ae9bap-3 +-0x1.1541c8p-4 +-0x1.ed3336p-3 +-0x1.a2b8ep-2 +0x1.f33ca6p-1 +-0x1.e01f1cp-2 +0x1.69bed6p-3 +-0x1.39bbdap-3 +-0x1.a0c208p+0 +0x1.268d4cp+0 +0x1.8e2fbcp-1 +-0x1.6b14c4p-1 +0x1.8dc764p-1 +0x1.8779e6p-2 +-0x1.176c96p-1 +-0x1.25a544p+0 +-0x1.81eb7ap-1 +0x1.a361cep+0 +0x1.11e368p-3 +0x1.8ec7bp-3 +0x1.3fa85p-3 +-0x1.55bcdap+0 +0x1.827ddap-2 +-0x1.14a3cep+0 +-0x1.ff796ep-1 +-0x1.75eb8p+0 +0x1.24954cp-1 +0x1.f902dcp-2 +0x1.640cf2p-3 +-0x1.2f225p+0 +-0x1.02d94cp+0 +-0x1.9b7db8p-1 +0x1.68651ep+0 +0x1.f4797p-1 +-0x1.d1393ep-1 +0x1.c5dc9p+0 +0x1.bb6f32p-3 +-0x1.cd8996p-1 +-0x1.c73194p-1 +0x1.987076p-2 +-0x1.a68fcp-1 +-0x1.69cb72p-2 +-0x1.339fbep+0 +-0x1.413902p-2 +0x1.ce6222p-1 +0x1.970f02p+0 +0x1.8abadap-1 +-0x1.2c58f8p-2 +0x1.06a996p+0 +-0x1.7bb87ap+1 +-0x1.fe3dd4p+0 +-0x1.6021c8p-1 +-0x1.575738p-4 +-0x1.cfee4ap-2 +0x1.11638ep-2 +-0x1.fb4ad6p-2 +-0x1.0c37eap+0 +-0x1.00d2dap-2 +0x1.7fbfd8p+0 +0x1.5a65d8p+0 +-0x1.d3fdcp-1 +-0x1.4915bcp-5 +0x1.6beb9cp-1 +0x1.57a912p-2 +-0x1.12d05p-3 +0x1.89ea2ap-2 +-0x1.5632cep-2 +-0x1.d4c06cp-1 +-0x1.4f1954p-2 +0x1.3db73p-1 +-0x1.d8db14p-2 +0x1.98df14p-1 +0x1.14ed3ap-2 +0x1.152fd8p-2 +-0x1.eb0c42p-3 +0x1.c34eeap-1 +0x1.f84a2p+0 +0x1.43f32p-1 +0x1.38668cp+0 +-0x1.0fcddap-1 +-0x1.9f96a6p-3 +0x1.e85928p-2 +-0x1.361cep+1 +-0x1.8c83cep+0 +0x1.1c76acp-5 +0x1.5b1636p-1 +0x1.5c5494p-1 +0x1.969e8ap-5 +0x1.2440fap+1 +0x1.31fb48p+0 +0x1.2d1b84p-2 +-0x1.225302p-1 +-0x1.342994p+0 +-0x1.71951ep-2 +0x1.29b1a2p+0 +-0x1.cff758p+0 +0x1.2a3a82p+0 +0x1.f4252ap-4 +0x1.c8b542p-1 +0x1.83bb48p-3 +-0x1.844706p-1 +-0x1.0fdb2ep+1 +-0x1.35116p+0 +-0x1.b63122p-2 +0x1.a740bp-2 +0x1.094508p-1 +-0x1.98e72ap+0 +-0x1.808f84p+0 +-0x1.b7e28ap-2 +-0x1.3c6e26p+0 +0x1.e87adep-1 +0x1.3902b2p-3 +-0x1.76edd4p-4 +-0x1.1972a6p-1 +-0x1.8b4aap-2 +-0x1.4a916p-1 +-0x1.3e9f68p-2 +-0x1.9fb55ep-1 +0x1.0cca48p-1 +0x1.214854p+1 +0x1.0dc2f2p-2 +0x1.9a8406p+0 +0x1.a607cap+0 +-0x1.44bb7ep+0 +0x1.f3e262p-1 +-0x1.15187p+0 +-0x1.5946e6p+0 +-0x1.d8f4f8p-2 +-0x1.bc8404p-1 +0x1.c53ab4p-5 +0x1.191f9ap+0 +0x1.acbcecp-1 +-0x1.4c2d72p-1 +-0x1.02ea12p+0 +0x1.20889ep-2 +0x1.8c2f3p+0 +0x1.10b322p-4 +-0x1.2f0ad2p+1 +-0x1.2743a2p-1 +0x1.4c16c2p-2 +-0x1.035d74p-5 +-0x1.596772p-2 +-0x1.044af2p+0 +0x1.57275ap-1 +0x1.0b9a4cp+1 +0x1.c2c14ap-2 +-0x1.18b6fp-1 +0x1.aa7be8p-3 +0x1.0e7168p+0 +-0x1.b5a3dcp-3 +-0x1.c72a6ap-2 +-0x1.cb8108p-4 +-0x1.47dbd4p+0 +-0x1.df37b2p-1 +-0x1.430244p+0 +0x1.f6648p+0 +0x1.d75654p-1 +0x1.19a41ap-1 +-0x1.ac1622p-2 +-0x1.901e2p-1 +0x1.091688p-1 +-0x1.b8b082p-3 +-0x1.6e9738p-1 +0x1.66dc78p+0 +-0x1.6bd8bap+0 +-0x1.a8aa78p-7 +-0x1.aee52cp+0 +0x1.2c0abep-2 +0x1.bb5f1p-1 +-0x1.78192p-4 +0x1.2401c8p+0 +0x1.4296cep-1 +0x1.b9051ep+0 +0x1.6b220ep-1 +-0x1.97ec88p-1 +0x1.aed15ep+0 +0x1.144ca4p+1 +0x1.67aa5p+0 +-0x1.48a92p+0 +0x1.9a61f2p-3 +-0x1.131b2cp+0 +0x1.eaf848p-2 +-0x1.bd35c6p+0 +-0x1.a0321ap-1 +0x1.616dbp-1 +0x1.2ed1fcp-2 +0x1.04c86p-3 +-0x1.9f96e8p-2 +-0x1.0ef2a6p+0 +-0x1.6462b4p-3 +-0x1.d53832p-1 +0x1.b8dd7p-2 +0x1.4874bap-2 +-0x1.ec97bap+0 +-0x1.53ef34p-1 +-0x1.07fbaap+0 +-0x1.d5c394p-2 +-0x1.448fe4p+1 +0x1.094c28p-1 +0x1.31663ep+0 +-0x1.cf8768p-1 +0x1.3509dp-3 +0x1.8dabe2p-2 +0x1.89563ep-2 +0x1.41e1ccp-2 +-0x1.bb2d1cp-1 +0x1.1c840ep+0 +0x1.bc5d9p+0 +0x1.36b89cp-1 +0x1.7ef376p-1 +-0x1.88f8a4p+0 +0x1.033bdcp+0 +0x1.710218p-1 +-0x1.3d096ap-6 +0x1.3473c8p+0 +-0x1.e31a32p-1 +0x1.efcb56p-1 +0x1.a506aep-3 +-0x1.711fe8p-5 +-0x1.144e54p+0 +-0x1.821f6ap-2 +-0x1.facc3ep-4 +-0x1.8d14p+1 +-0x1.69e3aep-2 +0x1.4818c4p-1 +-0x1.40af88p+0 +0x1.74a9b4p+0 +-0x1.03bd38p+0 +0x1.6e1a9p-4 +0x1.702f9ep-1 +-0x1.2af8e2p+1 +-0x1.a28782p-1 +-0x1.6a13d2p-1 +0x1.bf6546p-3 +0x1.0073b4p-4 +-0x1.deccb4p-1 +0x1.b97cd6p+0 +-0x1.e8595ap+0 +-0x1.e8608ap-1 +0x1.29b278p-2 +0x1.1bd538p-8 +0x1.0c8efep-4 +0x1.8abba2p-1 +-0x1.701154p-2 +0x1.11c3p-1 +-0x1.fcebaap-1 +0x1.b7819ap-3 +0x1.c4abcep-1 +0x1.620198p-2 +-0x1.625d3p-2 +-0x1.4d1642p+1 +-0x1.6e78e8p+0 +0x1.ff57b4p-3 +-0x1.732f8p+0 +0x1.c60c8ap+0 +-0x1.6c0f72p-6 +0x1.6c6fccp-1 +-0x1.8770acp+0 +0x1.2e1f4p-1 +-0x1.8a5f1p-5 +-0x1.137b36p-4 +0x1.08318ep-1 +0x1.55dadp-1 +0x1.c697cap-1 +-0x1.7e14c4p-2 +0x1.c05afap-1 +0x1.e44ea6p-2 +0x1.d456c4p-3 +0x1.8f5974p-1 +0x1.9e9302p+0 +0x1.27f39ap+0 +-0x1.1bbf7cp-1 +-0x1.be890cp-4 +0x1.a553d6p-1 +0x1.43939ep-1 +-0x1.4045e4p+0 +-0x1.35a0f6p+0 +-0x1.3422aap-1 +0x1.fa67b6p+0 +-0x1.3cc6fcp+0 +-0x1.93ee6ep+0 +0x1.78175cp-2 +0x1.07b032p+1 +-0x1.39bc1cp-1 +0x1.7e1ecap+0 +-0x1.a8cdaap-1 +0x1.f5b0cap-1 +-0x1.e7061ap-1 +-0x1.323af2p-2 +0x1.8d033ap-1 +-0x1.a1a074p-1 +0x1.50cc42p-4 +-0x1.f56e5ep-1 +0x1.3859dap-1 +0x1.73203cp-1 +-0x1.8adde6p-1 +-0x1.d557aep-4 +0x1.36e46ep-3 +-0x1.21a532p+0 +0x1.27b778p-5 +-0x1.3d6d94p-1 +-0x1.11e906p-1 +-0x1.deaedep+0 +-0x1.6c2686p-2 +-0x1.751cb6p-2 +0x1.7e5a44p-1 +-0x1.a1a944p-1 +-0x1.631e76p-1 +-0x1.4974eap-3 +-0x1.610c3ap-5 +0x1.64f79cp-2 +0x1.ef4876p-2 +0x1.3bf078p+1 +0x1.1b3054p-5 +-0x1.0d3a5p-2 +0x1.017ee4p+1 +-0x1.208ccp+0 +-0x1.5f084ep+0 +-0x1.2bc952p-4 +0x1.79882cp-1 +0x1.f213b8p-1 +-0x1.a1dee8p-6 +0x1.398bap-2 +0x1.ba57b2p+0 +0x1.c72a08p-1 +0x1.435a1p+1 +0x1.b164eap-3 +0x1.adaf62p+0 +0x1.e9a2d2p-1 +-0x1.17544ap+0 +0x1.3276eap-4 +0x1.b26196p-1 +-0x1.02eafep-1 +0x1.68274p-1 +-0x1.1cd5aap+0 +0x1.e4a268p-1 +-0x1.2988d8p-1 +-0x1.35c038p-1 +-0x1.e10a52p-6 +-0x1.2596bap+0 +0x1.16428cp-2 +-0x1.d574c6p-4 +0x1.9e272ep+0 +-0x1.baca84p-1 +0x1.9f22e2p-2 +-0x1.c073cap-3 +0x1.1633b2p-1 +0x1.63fdep-2 +0x1.3bf4p-3 +-0x1.242928p-2 +0x1.b44f6p-1 +0x1.35ef8ep-1 +0x1.78c848p-1 +0x1.01263ep-3 +0x1.43f43cp+0 +-0x1.272e42p-3 +0x1.cde266p+0 +-0x1.2759fcp+0 +0x1.53c2ap-1 +-0x1.3b002ap-1 +-0x1.a9d384p-1 +-0x1.c0ffa4p+0 +0x1.28be5ap+0 +0x1.dee24p-3 +0x1.00a382p+0 +-0x1.089956p+0 +0x1.b96ebap-3 +0x1.1d9202p-3 +0x1.b4eabap+0 +-0x1.50679p+1 +-0x1.b0207ap-2 +0x1.15067ep-1 +0x1.33b2fep+0 +0x1.229d8ep-1 +-0x1.14bb16p+0 +0x1.06aa7ap-1 +0x1.b45904p-2 +0x1.715c2cp+0 +0x1.668408p-1 +0x1.f24d72p-3 +0x1.dbf50cp+0 +-0x1.938fbap+0 +-0x1.bbfd72p-4 +0x1.333e5ep+0 +0x1.05222ep-4 +0x1.8c6cd2p+0 +0x1.8f1b76p-2 +-0x1.02c5f6p-2 +-0x1.1713aap-3 +-0x1.a29ad4p+0 +-0x1.b6d618p-2 +-0x1.70b116p-3 +-0x1.d84738p-2 +-0x1.a232cp-4 +-0x1.a5b416p-3 +0x1.523a7ep+0 +0x1.e70aeep-2 +-0x1.5a1c98p-1 +-0x1.ed119p-1 +-0x1.792fd2p-3 +0x1.488072p-1 +-0x1.e435bep-2 +-0x1.e5248cp-1 +0x1.2ea91cp-1 +0x1.075236p+0 +-0x1.9fd766p-5 +0x1.d27774p-3 +0x1.a0de76p+0 +-0x1.779e1ap-1 +-0x1.9a63b2p-1 +0x1.4551cp-1 +-0x1.2bf0fp-4 +-0x1.ae0f78p-2 +0x1.0fec7ep+1 +0x1.34f0d2p-2 +0x1.69e272p-2 +0x1.2da5a4p+1 +0x1.a9cf96p-1 +-0x1.45019ep-4 +-0x1.2c2f96p-1 +0x1.ce6a22p-1 +0x1.e60fc4p-3 +-0x1.ba4f24p-1 +0x1.bef6acp-2 +-0x1.f08f32p-3 +-0x1.827efp-2 +-0x1.814518p-1 +0x1.929f7cp-2 +-0x1.2e62cap-3 +-0x1.0b1e92p+0 +0x1.8b1da8p-2 +0x1.41a8c4p-1 +-0x1.c2ed34p-1 +0x1.23ff52p+0 +-0x1.797516p-1 +-0x1.1c68dp-1 +0x1.31814p-2 +-0x1.19f828p-3 +0x1.4f28e4p+0 +0x1.9f7bep-3 +-0x1.0b7352p+0 +0x1.f24a98p-1 +-0x1.3785cp-1 +-0x1.28ddfp+0 +0x1.af2e4cp-1 +-0x1.bb9c34p-1 +-0x1.237384p+0 +0x1.216e94p-1 +-0x1.404f78p-3 +-0x1.d5f764p-1 +-0x1.6a54a4p-3 +-0x1.ea251ep-3 +0x1.e4d75cp-2 +-0x1.51d778p+0 +0x1.f0ffbep-3 +0x1.07cd9ap-2 +0x1.7291e8p-1 +-0x1.6b9766p-1 +0x1.16fa72p-1 +-0x1.68cf94p-1 +0x1.bda476p+0 +-0x1.568302p+1 +-0x1.044f2cp+0 +0x1.b32e7ap-3 +-0x1.05859ap+0 +-0x1.51373ep-6 +0x1.0ccfep-3 +0x1.217ce6p+0 +0x1.5f8346p-2 +-0x1.4855b8p+0 +-0x1.c67156p-4 +0x1.dd7502p-5 +0x1.2a6246p-1 +0x1.caa2ecp-3 +-0x1.682f24p-1 +-0x1.d0d90ep+0 +0x1.904d8p-1 +-0x1.d9bc36p-1 +0x1.b609dp-1 +-0x1.9a9a14p-1 +0x1.ed9074p-1 +-0x1.ada57ep-1 +0x1.8fce24p-2 +0x1.ac55ep-1 +-0x1.0c3b9p-2 +0x1.a5e5b4p-2 +-0x1.0565e8p-1 +0x1.6da238p-3 +0x1.b58b28p+1 +-0x1.ff2f3cp+0 +0x1.bef44ap+0 +-0x1.8801d6p-4 +-0x1.cbb29ep-2 +0x1.09dc7p-1 +0x1.05c2fep+1 +0x1.15f0ccp-8 +-0x1.6ef242p+0 +-0x1.4e5702p-1 +0x1.218a9p+0 +0x1.065246p-2 +-0x1.4bc35ap+0 +-0x1.503f56p-1 +-0x1.de0226p-1 +-0x1.7c16f2p+0 +0x1.be4304p+0 +0x1.a2e2c6p+0 +0x1.5f5178p-1 +-0x1.80f52p-1 +0x1.be8832p+0 +0x1.1e1ad8p+0 +0x1.88af12p-1 +0x1.56d51p-1 +0x1.2e8bcap-1 +0x1.7c2a16p-2 +-0x1.c3f246p-2 +0x1.0a91b4p+1 +0x1.11083cp+0 +-0x1.7e2af4p-1 +-0x1.7da2eap-3 +0x1.506ffcp-3 +0x1.7ab5eap-3 +0x1.b77cacp-4 +0x1.7b3b4ep+0 +0x1.bbddc2p-1 +0x1.c509a2p+0 +0x1.3a3a86p-1 +-0x1.bccadcp+0 +0x1.826b8p+0 +0x1.88115p-1 +-0x1.242f7ap-2 +-0x1.4b33fap-3 +-0x1.3ff7b2p+0 +0x1.e5c146p-1 +-0x1.0452ccp-6 +0x1.3826b6p-1 +-0x1.2fe8f8p-1 +0x1.4b188cp-1 +-0x1.02805ap-2 +0x1.81a3dp+0 +0x1.61605p-3 +-0x1.88b9b4p-2 +0x1.adbdep-1 +0x1.ef8b78p-3 +0x1.6f0586p-1 +0x1.02141ep+0 +0x1.e0380ap-2 +-0x1.72ba7p+0 +0x1.a6d0e6p-2 +-0x1.4730bap+1 +0x1.d2be6cp-2 +0x1.bdeb46p-1 +-0x1.13802ep+0 +-0x1.1f41e4p-3 +-0x1.29929cp-2 +0x1.d3f8e6p-3 +-0x1.39ce9cp-2 +0x1.0ad204p-3 +-0x1.e96f94p-3 +-0x1.21e5d8p-1 +0x1.62fc7p+0 +-0x1.fea528p-8 +-0x1.93dc6ap-2 +-0x1.680cd2p+1 +0x1.21f1f2p-1 +-0x1.060a6ep+1 +-0x1.1ff164p+0 +0x1.44b56cp-1 +-0x1.0ccf4p+1 +0x1.12b196p+0 +-0x1.220a6p-2 +-0x1.5ef9ecp-2 +0x1.71cdb6p-1 +0x1.1b40f2p+0 +0x1.dae342p-3 +0x1.ceb356p+0 +0x1.028d0ap-1 +-0x1.0e4394p-3 +0x1.c16dbep-1 +0x1.d86p-3 +-0x1.e6a31ap-1 +-0x1.d4eb08p-2 +0x1.1e75dap-4 +-0x1.0d4c2p+0 +0x1.11ddfep+0 +-0x1.d37956p-1 +-0x1.a04d48p-4 +-0x1.04014cp-3 +0x1.658adp-2 +-0x1.0ff5d6p-6 +-0x1.d05392p-3 +-0x1.26c032p+0 +0x1.2311b4p+0 +0x1.502734p-1 +0x1.687e12p-2 +-0x1.82955ep-3 +-0x1.f0a28ep-1 +-0x1.934f9p-2 +0x1.9f3cp-2 +0x1.104162p-1 +0x1.250e94p+1 +0x1.cbb8b2p-1 +-0x1.8d7ca4p+0 +-0x1.39dd92p-2 +-0x1.69653ap-1 +-0x1.9e5b08p+0 +0x1.cf9e7ep-4 +-0x1.f509a8p-1 +0x1.e6fb88p-2 +-0x1.a664fap+0 +-0x1.210bc6p+1 +-0x1.d76b72p+0 +0x1.c56e2cp+0 +0x1.2fd78cp-1 +-0x1.53571ep-2 +0x1.1fc02cp+0 +0x1.22edeep-4 +0x1.67e496p-2 +-0x1.deccf2p-1 +-0x1.2d01a8p-2 +-0x1.99ae3ap-1 +0x1.3e4dd6p+0 +0x1.32e094p-2 +0x1.b25072p-1 +-0x1.e1b734p+0 +0x1.36b69cp+0 +0x1.24780ep+0 +0x1.21a874p-1 +-0x1.3612bcp+0 +-0x1.e53778p-3 +0x1.17896cp+0 +0x1.0b2326p+0 +-0x1.53c8cap-1 +0x1.ea6f96p-1 +0x1.b4e004p-2 +-0x1.e2af58p+0 +0x1.0533a6p+0 +0x1.57c052p+0 +0x1.a8aec6p+0 +-0x1.70f68p-1 +0x1.51f402p-1 +0x1.db0648p-4 +0x1.4e1964p-3 +0x1.a93094p-2 +-0x1.1026fep-1 +0x1.2b118p-4 +-0x1.1663b2p-2 +0x1.64f32ap-2 +0x1.76f538p+0 +-0x1.229edap-5 +-0x1.9d5422p-3 +0x1.663992p-2 +0x1.827424p-3 +0x1.56ef8ap-1 +-0x1.48c9fcp-11 +0x1.2c9096p-2 +0x1.f11c2ap-3 +-0x1.d30d84p-1 +0x1.7c24bp-1 +-0x1.a8496ap-1 +-0x1.8d426p-2 +0x1.2fee8ep-1 +0x1.2784b4p-1 +-0x1.fa3b2p-3 +0x1.5f32acp-2 +-0x1.d1bb1p-1 +-0x1.b9e65cp-3 +-0x1.0f01eep+1 +-0x1.6dbe7p-3 +0x1.a46e98p+0 +0x1.4cde12p+0 +-0x1.e842a6p-1 +0x1.a07a38p-2 +0x1.021d6cp+0 +-0x1.07a6aap-2 +0x1.684072p+1 +0x1.5a13a4p-2 +0x1.e2f996p-5 +-0x1.5ffafep-2 +0x1.b56388p-3 +0x1.7d238p-4 +-0x1.61af1cp-1 +0x1.69b732p-7 +0x1.24984ap+0 +-0x1.89074p+0 +-0x1.ab4148p+0 +-0x1.dfbe18p-4 +0x1.9308cp-3 +0x1.c58a08p+0 +0x1.b362b4p-2 +0x1.57be1p-4 +0x1.3bd53ap-4 +-0x1.020ca6p+1 +0x1.83ec8ap-1 +0x1.b2c478p-1 +-0x1.113a0ap-1 +-0x1.d382c8p-1 +0x1.7880f4p-2 +0x1.971a04p+0 +0x1.0fb78p-1 +-0x1.9719cap-3 +0x1.ea1f6ep-4 +0x1.32beaep+0 +-0x1.cf59e6p-1 +0x1.1b29dp+0 +-0x1.3a8dc8p+0 +-0x1.9329f8p-1 +-0x1.da33fap-3 +-0x1.6ef64cp-2 +0x1.a07afep-3 +-0x1.52cf36p-4 +0x1.081ab8p-2 +-0x1.a3029ep+0 +0x1.0dd4a2p+1 +0x1.9c18ep-3 +-0x1.365096p-3 +0x1.f8c28p-2 +0x1.2e34b2p+0 +0x1.76e0ccp+0 +0x1.7fc06cp+0 +-0x1.1fc044p+0 +-0x1.0ae6fcp+0 +-0x1.2c6562p-1 +-0x1.cc02a4p-1 +0x1.eed6e2p+0 +-0x1.95d15ap+0 +-0x1.c9bdbap+0 +-0x1.31f03cp+1 +0x1.059c14p+0 +-0x1.cd3fc2p-1 +0x1.6e093cp-1 +-0x1.4d1a16p+0 +0x1.fbe58cp-2 +0x1.bc4616p-2 +0x1.8efeaep-4 +-0x1.edf52cp-1 +-0x1.c75fdep+0 +-0x1.360ca4p+0 +-0x1.8316aap-2 +-0x1.d60076p-6 +0x1.ad96b4p+1 +0x1.dcda46p-1 +-0x1.59eddp-6 +0x1.4b4d1ap-3 +0x1.33462p+0 +-0x1.29ca76p-1 +-0x1.be1556p-1 +0x1.ea0cp-2 +-0x1.ce3404p-2 +0x1.b50434p-1 +-0x1.e1bb82p-1 +0x1.ea0ff4p-5 +0x1.923c72p-4 +-0x1.4884c2p+0 +0x1.152026p+1 +0x1.d299f4p-1 +0x1.0386c8p+1 +0x1.00ec54p-3 +-0x1.0a6d14p-1 +0x1.0269a4p-1 +0x1.563868p-1 +-0x1.b712cap-3 +0x1.1f2cd4p-3 +0x1.ed4bep-4 +-0x1.a29e18p-5 +-0x1.069dcp+0 +-0x1.050c8ap-1 +0x1.90271cp+0 +0x1.17cf9ap-1 +-0x1.917cap-2 +0x1.15f86p+1 +0x1.b87e36p+0 +0x1.7ae312p-2 +-0x1.c5c72cp-4 +-0x1.eb5c14p-2 +0x1.2db7cep+1 +0x1.917df8p+0 +0x1.0032d2p+0 +-0x1.c04d52p-3 +-0x1.658aacp+0 +-0x1.def7a4p-1 +0x1.9dd3eap+0 +-0x1.e29c2ep+0 +-0x1.3a92f6p-1 +-0x1.018406p-2 +-0x1.a1bb46p-1 +-0x1.cd19acp-2 +-0x1.48b60ep-2 +-0x1.bd3504p-3 +-0x1.c46618p+0 +0x1.bf977ep-3 +0x1.48e154p+1 +-0x1.a5f17p-3 +-0x1.f0471p-1 +-0x1.49c53ap-1 +0x1.99798ep-3 +0x1.02193p-2 +0x1.91aab6p-1 +-0x1.28062ap+0 +0x1.521066p-2 +-0x1.2aefep+0 +-0x1.53a44ep+0 +0x1.721d42p+0 +0x1.cf5228p-3 +0x1.539ccep-2 +0x1.1d375ep+1 +-0x1.1e0f98p-3 +0x1.6b2458p-1 +0x1.5168bp-1 +-0x1.67befp-1 +0x1.ba7dp-3 +0x1.6f2d8ap-2 +-0x1.4e682ep-1 +-0x1.866034p-4 +-0x1.a8b234p-1 +-0x1.5b18fp+0 +-0x1.43970cp-1 +0x1.2cbe72p-5 +-0x1.26b7cp+0 +0x1.194518p-2 +-0x1.d7ef26p-1 +0x1.6bd3bep-1 +0x1.2d60d6p+0 +0x1.4e2a48p-2 +-0x1.9bc726p-1 +0x1.6521f8p+0 +0x1.3246dcp-2 +-0x1.80003p-2 +-0x1.1678p+0 +-0x1.14856p+1 +0x1.54ed1cp+0 +-0x1.2eefa8p-2 +0x1.97c2d4p-2 +-0x1.142d7cp+0 +-0x1.796aaap-4 +0x1.95c6ecp-5 +0x1.546bc4p+1 +-0x1.998eb2p-2 +0x1.25fa9p-1 +0x1.fc34f6p-1 +-0x1.6999cap+0 +0x1.52bfeep-2 +0x1.564f16p-1 +-0x1.aeebaap-2 +0x1.99268ap-5 +-0x1.ee66bp-2 +-0x1.1c6a18p-1 +0x1.435e7ep-4 +0x1.76cc2ep+1 +-0x1.83fc52p-2 +0x1.12f022p+0 +0x1.03605cp-1 +0x1.add1eap-4 +-0x1.12d562p+0 +-0x1.b48c3p-2 +0x1.6b3ae4p-6 +0x1.173f84p+1 +-0x1.0c904cp+1 +0x1.67d708p+0 +0x1.46b33p-4 +-0x1.95dc2p-5 +-0x1.fb3326p-3 +-0x1.d185f6p-1 +0x1.7f29d6p+0 +0x1.404b72p-1 +-0x1.d55568p-1 +-0x1.6dfd1cp+0 +-0x1.ec906ep-1 +-0x1.685456p-1 +-0x1.fe44a2p-4 +-0x1.5508fp-3 +-0x1.762efap-3 +0x1.d80ad8p+0 +-0x1.486074p-6 +0x1.0a8cf2p+0 +-0x1.216b44p+1 +-0x1.5c978cp-6 +0x1.823b3p+0 +0x1.741788p-1 +-0x1.2f5176p+0 +-0x1.c4b98p+0 +0x1.4b06dcp-1 +0x1.9ac9d8p+0 +-0x1.5dc2eep+0 +-0x1.6a96ep+0 +-0x1.b56508p+0 +0x1.03ba24p-1 +-0x1.00f62cp+0 +-0x1.290906p+0 +0x1.200272p-5 +0x1.02cdd8p+0 +-0x1.c1df0ap-2 +0x1.62082cp+1 +-0x1.38363p+1 +0x1.05e18cp+0 +0x1.b4f518p-1 +0x1.5d5d26p-1 +-0x1.1bd404p+0 +0x1.1ed7d2p+0 +-0x1.4ab18ep+0 +0x1.45977p-1 +0x1.86cc4ap+0 +0x1.0faedep+0 +0x1.ff5698p+0 +-0x1.94f97ap-2 +0x1.e3ca74p-2 +-0x1.4e0fbcp-1 +0x1.4f04d2p+0 +0x1.118368p+0 +0x1.1cf136p-1 +0x1.c262bcp-1 +0x1.35774p+0 +0x1.c7e2aep+0 +0x1.0ea45cp+0 +0x1.70b79cp-1 +-0x1.809facp+0 +0x1.073ac8p+1 +-0x1.00e0b4p+1 +0x1.18653cp-1 +-0x1.2914dcp-1 +0x1.e367c2p-1 +0x1.a48fbp-4 +-0x1.b7f86cp-1 +0x1.cf689cp-2 +-0x1.4df39p-1 +0x1.3d9148p-1 +0x1.04d87p-3 +0x1.183f9p+0 +0x1.131824p-1 +-0x1.cae47cp+0 +-0x1.72a1c2p-1 +-0x1.3d1ec8p-7 +-0x1.051fbcp+0 +-0x1.dd8fcap-3 +0x1.ac2c58p+0 +0x1.cf0ef6p-3 +0x1.2a15bcp+0 +-0x1.6458bap-2 +0x1.3dfbap+0 +0x1.acce48p-2 +-0x1.4a6c2ap-1 +0x1.0d65ep+0 +-0x1.ef75c4p+0 +0x1.294a02p-2 +-0x1.1aa7e2p+0 +-0x1.d7ae6cp-3 +-0x1.dabe96p-2 +-0x1.42dc8p-5 +-0x1.e3ffp-1 +-0x1.567bdp+0 +0x1.45e4cap-1 +-0x1.490a68p+0 +-0x1.0f8e2p+0 +0x1.6b87dep-4 +-0x1.948dp-2 +0x1.215098p+1 +0x1.91ff1p-1 +-0x1.e494c4p+0 +-0x1.b26978p-1 +0x1.9b8ef8p-2 +0x1.4fc9ccp-1 +0x1.345edap+0 +0x1.249b54p+0 +-0x1.360a5cp+0 +0x1.6a3caep+0 +0x1.08101ep+1 +-0x1.ecf65cp-3 +0x1.62cadap-3 +-0x1.06112ep-1 +0x1.991d78p-1 +0x1.606aep+0 +-0x1.070714p-3 +-0x1.562a98p-4 +-0x1.dc5e96p-1 +-0x1.83bc2ep-2 +0x1.5f291cp-6 +0x1.f94486p-1 +0x1.0c56dp+0 +-0x1.4f8788p+0 +0x1.23b238p-4 +0x1.990464p-1 +0x1.06002cp-5 +-0x1.f13c1ep-4 +-0x1.180a16p-2 +-0x1.8f8b4ep+0 +-0x1.1649f2p+0 +-0x1.97f9eap-2 +-0x1.4fe618p-1 +-0x1.274042p+0 +0x1.10b602p-3 +0x1.de455ap-3 +0x1.f010c6p-1 +-0x1.18296ep-3 +-0x1.3d588cp-3 +-0x1.6d5964p+0 +-0x1.9dca2ap-2 +0x1.257a96p+0 +0x1.3b9d9ap-2 +-0x1.ead32cp+0 +-0x1.47b2dp+0 +-0x1.319552p+0 +0x1.03d558p+0 +0x1.c00ae2p+0 +-0x1.8fab24p-4 +0x1.3549ccp+0 +0x1.007aa6p-1 +0x1.457e7ap-1 +0x1.18726cp-1 +0x1.13ddb4p-2 +-0x1.03641ep-1 +0x1.4c7becp+0 +-0x1.a59092p-2 +0x1.2641cap-1 +0x1.156662p+1 +-0x1.e0f6fcp+0 +0x1.05feecp+1 +0x1.7b06f8p+1 +-0x1.54405ap-1 +0x1.705f56p-1 +-0x1.8f2aeap-1 +0x1.d1237p-2 +0x1.6718eep-1 +-0x1.57e652p+0 +-0x1.79544ep-2 +-0x1.16d64p+0 +-0x1.1ac906p+0 +-0x1.e85af4p-1 +0x1.bb11c6p-3 +0x1.7f800ep-1 +0x1.3d5614p+0 +-0x1.cb8fc6p-2 +-0x1.38784cp+0 +-0x1.4ab4fap-3 +0x1.1d6b52p+1 +0x1.3dd5b8p-1 +-0x1.ffa216p-3 +0x1.476134p-2 +0x1.e5787cp-2 +-0x1.f9e446p-2 +-0x1.93e5d2p-2 +0x1.4357fap-1 +-0x1.4f73ep-2 +0x1.9d7f48p+0 +-0x1.f46b4cp-4 +0x1.4cc132p-3 +0x1.3e01aep+0 +-0x1.b8cd7cp-2 +0x1.17734cp-3 +-0x1.4d84b6p+1 +-0x1.5e3c2cp-3 +0x1.39600cp+0 +-0x1.d9fed2p-1 +0x1.cf3dfp-1 +0x1.97d41ap+0 +0x1.ee4f3ep-1 +0x1.298adap-2 +-0x1.89719cp-4 +0x1.7a6966p-4 +0x1.323646p+0 +0x1.e761cap-2 +-0x1.f26d5ep-1 +-0x1.32b2dp-1 +0x1.c7fba6p-6 +-0x1.016d02p-5 +-0x1.29eb78p-2 +-0x1.0abdfp-1 +-0x1.83caeep+0 +-0x1.e77142p+0 +-0x1.2082dcp+0 +-0x1.0b184ep-4 +-0x1.2f8bb2p+1 +-0x1.b2a8bap-1 +0x1.900b1ep+0 +-0x1.f1c7ecp-2 +0x1.810202p-2 +0x1.2c9fc4p-3 +-0x1.f03356p+0 +-0x1.9fd06ep+0 +0x1.9d463ep+0 +-0x1.3acaaap+0 +-0x1.6968e6p+0 +-0x1.b4160ap-6 +-0x1.6b96b2p-1 +-0x1.50589ap-3 +-0x1.1ff994p+1 +-0x1.2f7d76p+0 +0x1.b05bd4p-6 +0x1.40ed04p-1 +0x1.228e5ep+0 +-0x1.112b6p-4 +-0x1.be5892p-1 +-0x1.c6a59ap+0 +0x1.a56efp-2 +0x1.918a52p-3 +0x1.2d04aep-2 +0x1.1aa9f2p-2 +0x1.0eb2acp+0 +-0x1.a38a2cp+0 +0x1.c2fa24p-2 +0x1.cd0676p+0 +-0x1.171818p-1 +-0x1.38933ep+1 +0x1.8107eap+0 +0x1.96ff2cp-1 +0x1.188cd6p-3 +-0x1.f6b878p-7 +-0x1.2bfef2p-1 +-0x1.076554p-1 +-0x1.4afc24p-1 +0x1.1aa984p+0 +-0x1.85ce3p+0 +0x1.2a3854p-1 +-0x1.bf4e26p-1 +0x1.b00866p-2 +-0x1.9a0346p+0 +-0x1.97ba22p+0 +0x1.6ef53ap-4 +-0x1.bdb7c6p+0 +0x1.5259b4p-1 +-0x1.8852bp+0 +0x1.e2c12ep-1 +0x1.daed1ep-2 +0x1.2c7a8ap-1 +0x1.9331fp+0 +-0x1.557626p-1 +-0x1.146f9ep+0 +-0x1.28a022p-1 +-0x1.a2228ep+0 +0x1.0b5b48p+0 +0x1.d73f7ep-2 +-0x1.a4ccep-2 +-0x1.5018e8p-2 +-0x1.72153ep+0 +0x1.a8f7b2p+0 +-0x1.26c92cp-4 +-0x1.3ca7f8p+1 +0x1.17deacp+0 +-0x1.5a8bbap+0 +0x1.84ab42p-2 +0x1.d44e1cp+0 +0x1.dc0de4p+0 +0x1.87509p-5 +0x1.c4356p-3 +-0x1.d934b4p+0 +-0x1.3dc2bep+0 +-0x1.06ed8ep-1 +0x1.4d3d7p-5 +-0x1.dd5742p-2 +0x1.5bac46p-1 +-0x1.d54bacp-1 +-0x1.2ce968p+0 +-0x1.41ab3ep-1 +0x1.44f836p-9 +0x1.516194p-1 +-0x1.a7bbf8p-1 +-0x1.217622p+1 +-0x1.9fdd64p-1 +0x1.42b618p-9 +0x1.ad52dep-2 +-0x1.a0565ep+0 +-0x1.64508ap-1 +0x1.67ea94p-3 +-0x1.7d311cp-1 +-0x1.5ddfbap+0 +0x1.c135fap-4 +0x1.01478ap-4 +-0x1.3333aap+0 +-0x1.4496a2p+0 +-0x1.711ea6p+0 +-0x1.755ecp-10 +0x1.1ac204p-8 +-0x1.d88bd4p-3 +0x1.6dce5p-1 +-0x1.16dc0cp+1 +-0x1.27c77cp-4 +-0x1.906e9ep-3 +0x1.18e9b8p-6 +-0x1.2e8c2cp+0 +-0x1.ff1f18p+0 +-0x1.2c24bap-1 +-0x1.ac2c6ep-2 +-0x1.d221a6p+0 +0x1.d71f28p-2 +-0x1.630a7ap-4 +0x1.5cb6bcp+0 +-0x1.4d706ep-1 +-0x1.81db16p+0 +0x1.1d45ecp-1 +-0x1.bbd304p-1 +0x1.692926p-1 +0x1.a623aep-4 +-0x1.080956p-2 +-0x1.8c6be4p+0 +-0x1.b92f88p-4 +-0x1.4ef9f2p+0 +0x1.67160ap+0 +-0x1.13b8dcp-2 +-0x1.1247dep+0 +-0x1.596ebcp+1 +0x1.d43b42p+0 +0x1.2248fep+0 +0x1.36f16p-6 +-0x1.62a91ap+0 +0x1.c5cf3p-1 +-0x1.df6c8cp-1 +-0x1.f943acp-3 +0x1.51a9cap-1 +-0x1.9108fap-1 +0x1.fe4862p-2 +-0x1.04fffp-2 +-0x1.d641c8p-6 +-0x1.f9d3d6p-3 +-0x1.ee6296p-3 +-0x1.94a686p-2 +0x1.a7c516p-1 +0x1.5fb0a2p-1 +0x1.86dca4p-3 +0x1.38018cp-1 +-0x1.ba118p+0 +0x1.fc074ap-2 +0x1.0ea0d8p+0 +-0x1.0efba6p-2 +-0x1.17c456p-1 +-0x1.596f72p-3 +-0x1.392248p+0 +0x1.5122ep+0 +0x1.f0ef8p-3 +0x1.b57fcp-1 +-0x1.f4b12ep-1 +-0x1.c8731ap-1 +0x1.31dd68p+0 +-0x1.a303a4p-7 +0x1.4e86c8p+0 +0x1.1a56eep+0 +-0x1.7238cep+0 +0x1.83510cp-1 +0x1.32953ap-2 +-0x1.e298a4p-3 +0x1.cc7238p-4 +-0x1.094404p-2 +0x1.11645ap-2 +0x1.fbafb2p-2 +-0x1.253b5p+0 +-0x1.e337p+0 +0x1.04b988p-1 +0x1.a4e32ep+0 +-0x1.6e6b6cp-2 +-0x1.10709cp+0 +-0x1.48d7f6p+0 +-0x1.cc1444p+0 +0x1.87c2ep-2 +0x1.cb2c2p-1 +-0x1.c6295ep+0 +-0x1.218ee2p-1 +-0x1.c32624p-1 +-0x1.061936p+0 +-0x1.9e64f8p+0 +0x1.99936ap+0 +-0x1.5862d6p+1 +-0x1.b02166p-2 +-0x1.99318p-5 +-0x1.e066f6p-2 +-0x1.620d2p-2 +-0x1.2d339cp-1 +-0x1.8d62fap+0 +-0x1.00e28ap+1 +-0x1.228056p-1 +0x1.650becp-1 +0x1.add9cep-1 +0x1.9234p+0 +0x1.67b7ep-1 +0x1.25eda2p+0 +-0x1.5a3b46p-4 +-0x1.5c45bcp-3 +0x1.627c98p-4 +0x1.6a81eep+0 +0x1.8da70ap-3 +-0x1.26483ap-3 +0x1.f93adep-2 +-0x1.ae35d6p+0 +-0x1.d0244cp-3 +-0x1.d76602p-1 +-0x1.5802e8p+0 +0x1.5ea6b8p+1 +-0x1.2cbb8p+0 +-0x1.219d9cp-1 +-0x1.86f4a4p-1 +0x1.be4ac6p-1 +-0x1.9f4dc6p-1 +-0x1.0ce498p-3 +-0x1.2710cap+0 +0x1.d7f332p-2 +0x1.ea8f9ap-2 +0x1.bbbb08p-1 +-0x1.da4784p-1 +-0x1.090ce8p-2 +0x1.9fcc2p+0 +-0x1.59a33p+0 +-0x1.9f049cp-4 +0x1.4b15aap-1 +-0x1.2b1f28p+1 +-0x1.a43ecap+0 +-0x1.05965cp+0 +0x1.6fa45ep+0 +-0x1.e90b1ap-1 +-0x1.a6fa42p-1 +-0x1.454526p-1 +0x1.078a8cp+1 +-0x1.fe4f1ep-1 +0x1.032e9ep-1 +0x1.5afe8ap-2 +-0x1.54094cp-1 +0x1.8124ccp-1 +0x1.80e338p-4 +-0x1.45ae58p-5 +-0x1.44c552p-1 +0x1.9542f4p-2 +0x1.943224p+0 +0x1.9edd1ap-2 +-0x1.61b202p+0 +0x1.cabf4cp-2 +-0x1.e190cep-3 +0x1.15f088p+0 +0x1.600cf4p+0 +0x1.277e06p-1 +0x1.036adcp+0 +-0x1.069f94p-3 +-0x1.1d4d02p+0 +-0x1.7b7f4p-1 +-0x1.20c724p+1 +-0x1.584b22p+0 +-0x1.06c72p-4 +-0x1.0c2c58p-2 +0x1.0a81fcp+1 +0x1.28c146p-1 +-0x1.4304dp+0 +-0x1.92769p-2 +0x1.888d26p-1 +-0x1.3856d8p+0 +0x1.bfd58cp-3 +-0x1.806cep+0 +0x1.397106p-3 +-0x1.7db2d8p-2 +-0x1.07b6fp-6 +0x1.1771p-1 +0x1.b17e6ap-3 +0x1.29cdap+0 +-0x1.2727a4p-2 +0x1.cdd90ep-4 +0x1.dd3dbp-1 +-0x1.f568bep-1 +-0x1.8777d2p-3 +0x1.3683c8p-3 +0x1.18abeep-1 +-0x1.6a2fb6p-1 +0x1.9c994p-2 +-0x1.dd0cd2p-1 +-0x1.89bb84p+0 +-0x1.450daep-1 +0x1.1db3aap-1 +-0x1.5253d6p+0 +-0x1.773fccp+1 +-0x1.44725ep-3 +-0x1.85e306p-1 +-0x1.248a4cp+0 +0x1.07cac4p+1 +0x1.606b66p-1 +-0x1.d48072p-2 +0x1.80ae08p+1 +-0x1.837b8ep-1 +0x1.be439ap-2 +-0x1.f1d072p-1 +0x1.582ecp-2 +-0x1.22fa58p+0 +0x1.97693ep+1 +0x1.b3b696p-1 +0x1.26d7b6p-5 +0x1.76144cp-1 +-0x1.447f3p-3 +-0x1.4fbc6ep-1 +0x1.c7934ep+0 +-0x1.e43558p+0 +-0x1.3214ecp-1 +-0x1.2e4f2p+1 +0x1.ff5b86p-4 +0x1.0b2b7p+0 +0x1.335c9cp+0 +-0x1.953d56p-3 +0x1.8d2b92p-3 +0x1.bae886p+0 +0x1.167fep-2 +0x1.27a874p-2 +0x1.8e2d5ap+0 +0x1.8bd952p+0 +0x1.0c35b2p-2 +-0x1.07462ep+0 +-0x1.42b768p-1 +-0x1.7b042p-4 +-0x1.6584ep-2 +0x1.1dfed4p-3 +-0x1.ba50d2p-2 +0x1.e29c9cp-1 +0x1.92f14ep-2 +-0x1.39170ep-2 +-0x1.8693dp-1 +0x1.2dbb1cp+0 +-0x1.5db2b8p-5 +0x1.753d0ep+1 +0x1.1ff696p-1 +-0x1.1fb894p-1 +0x1.9b7ccap+0 +-0x1.1a63dcp+1 +-0x1.a0a162p+0 +0x1.355976p-1 +-0x1.6d0ef2p+0 +0x1.2fc69cp+0 +-0x1.3de742p+0 +-0x1.72451p+0 +-0x1.9e1fc2p-7 +-0x1.d52816p-1 +-0x1.0f426ap+1 +-0x1.75a2d2p-2 +0x1.cb7f68p-3 +0x1.9e243cp-1 +-0x1.e8eb92p+0 +-0x1.271f4cp-1 +-0x1.de4e4p-2 +0x1.84feeep+0 +-0x1.4bf83p-2 +-0x1.70a0cep+0 +-0x1.82e932p-1 +0x1.0aad4ap+0 +-0x1.7edcd2p+0 +0x1.7ba93ep+0 +-0x1.1cc26cp+0 +-0x1.59e246p-2 +0x1.c9e902p-2 +0x1.1e397p+0 +0x1.2d37a4p+1 +-0x1.7bdd62p-4 +-0x1.02b03ap+1 +0x1.c7e04p+0 +-0x1.7b9b28p-6 +-0x1.86dd5ep+0 +-0x1.26a54ap-1 +0x1.0b6f22p-1 +-0x1.a5b24ep+1 +0x1.8f9b32p-1 +0x1.3f1eeep+0 +-0x1.79bb44p-6 +0x1.405dfp+0 +0x1.7810fep+0 +0x1.59039ep+0 +-0x1.533b7ep-1 +-0x1.847b9cp+0 +0x1.90b914p+0 +0x1.0f6932p+0 +-0x1.7e3a5ap-1 +0x1.0a82d2p+0 +0x1.7dae4ap-3 +0x1.fa8bb4p-2 +0x1.2ae8p-4 +-0x1.a4ebb4p-1 +0x1.334a7cp-1 +0x1.8ca71ap+0 +0x1.482d3p-3 +-0x1.30929ep-1 +-0x1.80e35ep-1 +0x1.03de5p+1 +0x1.d4c766p-13 +0x1.138c14p+1 +0x1.7f977ep-2 +-0x1.0d82ep-2 +0x1.8771f6p-2 +-0x1.a59fc8p-1 +-0x1.5acebep+1 +0x1.943dbep-1 +-0x1.6b5f68p-2 +-0x1.116522p-1 +0x1.a468ecp-5 +-0x1.4413d6p-4 +0x1.b61754p-1 +-0x1.3d3638p+1 +0x1.307aap-1 +-0x1.f0e568p-2 +-0x1.2c4794p-1 +-0x1.b2cdd8p-1 +0x1.a5a8cep-1 +0x1.012dd6p-1 +-0x1.247088p-1 +0x1.9b817ap-3 +0x1.9d2906p-1 +-0x1.a4ad3p-1 +0x1.e40b96p-4 +-0x1.6330bep+0 +0x1.af60ep-1 +-0x1.3cc692p+0 +0x1.138622p-2 +-0x1.0584f8p-2 +0x1.1d6246p-1 +0x1.d5e8c4p-1 +-0x1.e79712p-1 +0x1.ad9732p-1 +0x1.9697c6p-1 +-0x1.e3f9c8p-6 +-0x1.96324ep-1 +-0x1.dea8dp-3 +0x1.4ec636p+0 +-0x1.5f8228p-1 +-0x1.e8ac1ap-3 +0x1.1d467ap-2 +-0x1.9bd878p-5 +0x1.1f0e94p+0 +-0x1.8da4c4p-1 +-0x1.1bd46ap+1 +-0x1.9cbb36p-2 +0x1.764c24p-1 +-0x1.80412ap+0 +0x1.50b8fep-1 +-0x1.b62014p-3 +-0x1.3927dap-6 +-0x1.fc76eap-1 +0x1.8404e6p-3 +-0x1.62dd12p-4 +0x1.85ad44p-2 +-0x1.030e14p-5 +0x1.3122dap-1 +-0x1.817e4ap-1 +-0x1.41fe3cp-1 +-0x1.87ea26p-1 +0x1.49d826p-2 +0x1.94c504p-4 +-0x1.936702p-6 +-0x1.5e0854p+0 +0x1.7526e4p-1 +0x1.3c73d4p-1 +-0x1.44c8d8p-1 +0x1.aa17b6p+0 +-0x1.abbbf4p-2 +-0x1.935e2cp-1 +0x1.fbf998p+0 +-0x1.460f66p-1 +0x1.99d664p-2 +-0x1.9ad506p+0 +0x1.65a63p-5 +-0x1.094da4p-1 +0x1.5c25b8p-2 +0x1.75acf6p+0 +-0x1.030ebcp-1 +0x1.638e1ep+0 +0x1.7a132ap-2 +-0x1.6ad65cp-2 +-0x1.8b3d6cp-2 +-0x1.42b04p-2 +-0x1.7c9dfep-1 +-0x1.4cfbf8p-1 +-0x1.2efc82p+1 +0x1.b9edfap+0 +0x1.882ed8p+0 +0x1.68ff7cp+0 +0x1.f863aep-2 +-0x1.276972p-2 +-0x1.b80c5ep-1 +-0x1.1d73eep-2 +0x1.1d386ep+1 +-0x1.15e4f4p-1 +-0x1.5f5f7cp-1 +-0x1.3c883ep+0 +-0x1.e62d7ep-1 +-0x1.3dbf84p-1 +0x1.06a988p+0 +0x1.e77978p-1 +-0x1.35eb76p+0 +0x1.a7332p-2 +-0x1.c2e0b8p-2 +-0x1.b5b8aep-3 +0x1.d50ffp-4 +0x1.007b54p-1 +-0x1.d7f8bap-3 +0x1.1e4004p-1 +0x1.cf7be2p-3 +-0x1.edec2ap-1 +0x1.2787eep-1 +-0x1.8b733ap-1 +0x1.c54666p+0 +0x1.c92824p-1 +0x1.ba93d4p-3 +-0x1.ed546p+0 +-0x1.23fce4p-2 +-0x1.17b1ccp+0 +-0x1.5bafd2p+0 +-0x1.257704p-1 +0x1.a2fd4p-2 +-0x1.21a3c2p-2 +0x1.8d04fep-4 +-0x1.1d9faep-1 +0x1.74be2ap+0 +0x1.883dap+0 +-0x1.cbf06p-6 +-0x1.b69ba8p-3 +0x1.c81e2ap+0 +0x1.911eaep-1 +0x1.f58ab6p-2 +0x1.6b1ecep+0 +-0x1.91bbfcp-1 +0x1.e99e7ap+0 +-0x1.3406eep-1 +-0x1.815594p-1 +0x1.0538fp-5 +-0x1.d823ecp-1 +0x1.a7811ep-1 +-0x1.37a606p+0 +-0x1.14bb9ep-2 +0x1.2298d6p-3 +0x1.5d9d62p-1 +0x1.985deep-1 +-0x1.0b836ap-1 +-0x1.e1af8p+0 +-0x1.a0a29p-1 +0x1.5ed4c6p+0 +-0x1.4f572p-1 +0x1.88016ap+0 +0x1.ce82e8p-1 +0x1.7868e8p+0 +-0x1.825968p-1 +-0x1.2dfec2p-2 +0x1.86b9d4p-1 +0x1.b2fe34p+0 +-0x1.b9a9d6p-4 +0x1.048f2ep-6 +-0x1.cdb44cp-1 +-0x1.40301ep-4 +-0x1.6cb2e2p-2 +-0x1.625ccep-1 +-0x1.bdaf8ap+0 +-0x1.4987d8p-1 +0x1.59c57p-1 +-0x1.77e1d6p-2 +-0x1.6b0ae4p-2 +-0x1.542d84p+0 +0x1.489b3ap-1 +-0x1.a21d04p-1 +0x1.e5b1bp-3 +0x1.46ab06p-2 +-0x1.d95bf2p-1 +0x1.491ba6p+0 +-0x1.47e024p+0 +0x1.2c4402p+1 +0x1.736228p+0 +0x1.aed0eep-1 +0x1.f01eb8p+0 +0x1.e8ceaap-5 +-0x1.6b7314p+0 +-0x1.9d3b5p-1 +-0x1.a8a988p-3 +0x1.0f9026p-2 +-0x1.031e04p+0 +-0x1.077e4ap+0 +-0x1.f5758p+0 +0x1.697cdcp-3 +-0x1.65d80cp-2 +-0x1.2d790cp-1 +-0x1.72e49ap-1 +-0x1.3e616p-1 +-0x1.1609e4p+0 +-0x1.b57362p-3 +-0x1.8fcda6p-3 +0x1.6bf0a4p-1 +0x1.ad48c2p-2 +-0x1.890358p+0 +-0x1.cdc0fep-4 +-0x1.3a5574p-1 +-0x1.cb8c32p-3 +-0x1.b916e8p+0 +-0x1.ec6558p-7 +0x1.488d7cp+1 +-0x1.f96ce8p+0 +-0x1.f7c0e6p-3 +0x1.8bf916p-2 +-0x1.6ff716p-1 +0x1.27b2b8p+0 +0x1.d591b6p-7 +-0x1.2015fep+1 +-0x1.8da66ap-4 +-0x1.159efep+0 +-0x1.1a5f28p-1 +-0x1.af5ae2p-1 +-0x1.6c16p-2 +-0x1.079bbep-1 +-0x1.6a98d4p-1 +0x1.09ea74p-1 +0x1.ecfe0cp-2 +0x1.f8472cp-2 +0x1.a4ef6p-2 +-0x1.8123ap-1 +0x1.5387fcp-1 +-0x1.80dc1cp-1 +0x1.50ab5cp-2 +0x1.c4d62ep-2 +-0x1.524fd4p-3 +0x1.44580cp-1 +0x1.bcf5e6p-1 +-0x1.ec2f52p-1 +-0x1.d881cep-4 +0x1.5588c6p+0 +0x1.36bfeep+0 +-0x1.228f88p-5 +-0x1.4fea72p-4 +0x1.59f8cap-5 +0x1.cbdcf4p-4 +0x1.2f05ccp-1 +0x1.f92abcp-1 +-0x1.a8b95ep-2 +-0x1.83ff64p-1 +0x1.de453ep-3 +-0x1.70b986p-1 +0x1.da1c68p+0 +0x1.21b5b4p+0 +0x1.d2127ap+0 +0x1.83719cp-1 +-0x1.a4349cp-1 +0x1.b878b8p+0 +0x1.6a370ep-2 +-0x1.118e54p+0 +-0x1.3df8b6p-2 +0x1.8a5014p+0 +0x1.9d558ep-2 +0x1.8bdbe2p-4 +0x1.9a65a4p-1 +-0x1.7f251p-2 +-0x1.3b1f2p-1 +-0x1.345fb2p-2 +-0x1.75771ep-2 +-0x1.38211ap+0 +-0x1.ec1426p-3 +0x1.c4f346p+0 +-0x1.4b57ep-1 +0x1.ffb67p-1 +-0x1.01df0ep-1 +-0x1.15df94p+0 +-0x1.a170f6p-1 +-0x1.d992ep-3 +-0x1.2baf74p-1 +0x1.a85186p-2 +0x1.abcea8p-2 +0x1.ab7cbap+0 +0x1.42e69ap-3 +-0x1.9d0814p+0 +-0x1.0b9938p-1 +-0x1.0a0086p-4 +-0x1.b699fp-6 +0x1.bb03a4p-2 +0x1.2fb4aep-1 +0x1.03cfa4p+1 +-0x1.abf1b8p-4 +0x1.613976p+1 +0x1.dd2618p-1 +0x1.275076p-2 +-0x1.84c576p-7 +0x1.7042a2p-3 +0x1.c82e92p-2 +-0x1.a57daap-2 +0x1.66a4dep+0 +0x1.c6a39ap-5 +0x1.29cfbcp+0 +0x1.89c30ap-2 +-0x1.762f1ep-1 +0x1.bfb29p+0 +0x1.8229ecp-4 +0x1.fab966p-3 +0x1.88906p+0 +-0x1.db54dcp-1 +-0x1.21161ap-2 +0x1.6df6d2p+0 +0x1.0259a8p-2 +0x1.7c3ad6p+0 +0x1.6422f8p-4 +0x1.9b092p-3 +-0x1.1be8e4p-1 +-0x1.70ed12p-1 +-0x1.25d4fap+1 +0x1.5d7ffp+0 +0x1.9a3d98p+0 +-0x1.b669p-1 +0x1.a72812p-5 +-0x1.eba0cp+0 +0x1.a5e5f6p-2 +-0x1.7288ap-1 +-0x1.8935cap-1 +-0x1.2a829cp+0 +-0x1.48ebdcp-1 +0x1.5419fcp+0 +-0x1.50327ep-1 +0x1.5e3d5cp-1 +0x1.0d9ddap+1 +0x1.82002ep-7 +-0x1.81246ap-2 +0x1.1ded02p+0 +-0x1.f34346p-3 +0x1.61f206p+0 +0x1.39cca6p-2 +-0x1.8a8c7ap-4 +-0x1.e29c88p-2 +0x1.361954p-2 +0x1.17da7cp-1 +0x1.18ca1p-5 +-0x1.6b7288p-1 +0x1.56ccbep-6 +0x1.73c642p-4 +0x1.87c68cp-1 +0x1.d69c54p-1 +-0x1.726e54p-1 +0x1.4db076p-1 +-0x1.43661cp+1 +-0x1.0a6bcap+0 +-0x1.27821p+0 +0x1.ca9d5cp-5 +0x1.290ac4p-4 +0x1.f61ebap+0 +-0x1.1584dp-1 +0x1.0b8bf2p+0 +-0x1.51999p-1 +-0x1.bfa492p-1 +0x1.e7b494p-2 +0x1.0c4822p-6 +-0x1.165632p-5 +0x1.f02bc2p-3 +0x1.35c696p-1 +0x1.da738ap-4 +0x1.8e1484p-1 +-0x1.23fb1ep+0 +-0x1.917d26p-5 +0x1.a732cep+1 +-0x1.d52748p+0 +-0x1.6140d2p+0 +0x1.d8ab7ap-1 +0x1.69a984p-3 +-0x1.b9934ap-3 +-0x1.b8475p-1 +0x1.48c178p-1 +-0x1.445f82p+0 +-0x1.4122d8p+0 +-0x1.f0fc9ap-2 +-0x1.15642cp+0 +-0x1.276fb2p-2 +0x1.1ec51cp-2 +0x1.3d61d4p-1 +0x1.f9cd82p-1 +0x1.cef99ep+0 +-0x1.bd5bbap-1 +0x1.416068p+0 +0x1.15025ap+0 +-0x1.934af2p+0 +0x1.e2761ep+0 +0x1.c5012ep-1 +-0x1.779788p-1 +-0x1.1d26ccp-1 +-0x1.eb283p-3 +0x1.164be8p-2 +-0x1.c88262p-1 +0x1.fd0406p+0 +-0x1.3ac284p+0 +0x1.ba5eeep-2 +0x1.69e162p-2 +-0x1.6d72c6p-1 +0x1.bbf7fap-1 +0x1.82e236p-8 +0x1.2d967p-1 +0x1.215beap-1 +-0x1.799718p+0 +0x1.5d5916p+0 +0x1.2b76bcp-1 +0x1.e87f02p-2 +-0x1.66b792p+0 +0x1.380f5cp-8 +0x1.365818p-2 +-0x1.67eaeep-2 +-0x1.09e25ap+1 +-0x1.2241b2p-1 +-0x1.6e04ep-1 +-0x1.44fe34p+1 +0x1.81864cp-2 +0x1.d0ade4p-1 +0x1.78507ep-2 +0x1.5fdd7p-2 +-0x1.a40adcp-1 +-0x1.9a4966p-2 +-0x1.008704p-3 +-0x1.9050f6p-2 +0x1.9010a2p-1 +0x1.113376p-1 +0x1.4a4de4p-1 +-0x1.51fccep-1 +0x1.62829p+0 +0x1.bdea72p+0 +0x1.901b08p-4 +0x1.ab8c84p+0 +0x1.34f322p+0 +-0x1.ba6ebcp-2 +0x1.204096p-2 +-0x1.779b54p+0 +0x1.a9212p-1 +-0x1.20ab36p-1 +-0x1.049708p+0 +-0x1.29b568p-1 +-0x1.d35c08p-3 +-0x1.aca8dep+0 +0x1.50a42p-1 +0x1.dbbcc6p-1 +0x1.2c63ap-1 +0x1.ff5282p-4 +-0x1.27ad28p-9 +-0x1.63b808p+1 +0x1.f0119ap-2 +-0x1.43fe26p-1 +-0x1.0cfe3p+0 +-0x1.61f8fep-1 +0x1.ce5dcp-1 +-0x1.fedf28p-1 +0x1.ffa1bcp-1 +-0x1.c8012ap-1 +-0x1.1e7d7ap+0 +-0x1.2f748cp-1 +0x1.3e88e2p-5 +0x1.8f8bcp+0 +-0x1.1cff74p+1 +0x1.33c24p-1 +-0x1.f3fd38p-1 +0x1.546046p+0 +-0x1.13ae64p-1 +0x1.c8a558p-1 +0x1.a6e46p-3 +0x1.07ed1ap+1 +-0x1.165d6p-3 +-0x1.5e7ca8p-1 +-0x1.e68c3ap+0 +0x1.d7c9f4p-3 +0x1.ee68d4p-3 +-0x1.52875ep+0 +-0x1.d91c36p+0 +0x1.2b72dcp+1 +0x1.d0c78ap-2 +0x1.97c69p+0 +0x1.67d404p+0 +-0x1.b4cdb4p-4 +-0x1.ed7486p-2 +0x1.5adacep+0 +0x1.7fdec6p-1 +0x1.9f462ep-3 +-0x1.fdf4e4p-3 +-0x1.b7c4b8p-1 +0x1.0e3b08p-1 +-0x1.5d2e08p+0 +0x1.0cc27ep-2 +-0x1.37e812p-2 +-0x1.5a43d4p-1 +-0x1.314f14p-2 +0x1.064054p+0 +0x1.0d2922p-2 +-0x1.a6260cp+0 +0x1.c090bep-2 +0x1.8c59ccp+0 +-0x1.797c7ep+0 +-0x1.495fp-2 +-0x1.0096bcp+1 +-0x1.7ace46p-3 +0x1.5e5746p-4 +0x1.99a996p-1 +-0x1.64f4d4p-2 +0x1.5b2ceap-3 +-0x1.afae6cp-5 +0x1.701fb6p+1 +0x1.76212ep-3 +0x1.1e35aap-2 +-0x1.2d2b34p-2 +-0x1.74477ap-2 +-0x1.da68dap-1 +-0x1.c28a74p+0 +-0x1.cf021p+0 +-0x1.7275fap-2 +-0x1.83d0b8p-1 +0x1.22e358p-3 +0x1.1d1dbcp-1 +0x1.b4bc74p-1 +0x1.686b4cp+0 +0x1.fbb52ap+0 +-0x1.cc7f9cp-2 +0x1.b6b478p-1 +0x1.0ebfbap-1 +-0x1.e6ace2p-4 +-0x1.d10448p-1 +-0x1.e195p-7 +-0x1.70f296p+1 +0x1.f83b5cp-1 +0x1.281cb6p+0 +-0x1.ff1218p-3 +0x1.3b7244p-1 +0x1.7faa66p-1 +-0x1.a4da56p+0 +0x1.372832p-2 +-0x1.ae3964p-1 +-0x1.ddcde6p-3 +-0x1.0670b4p-3 +0x1.fb5fecp-3 +0x1.a307fcp-2 +-0x1.404de2p+0 +0x1.144152p+0 +-0x1.f5874p-3 +-0x1.c07b0ep-3 +0x1.404e72p-2 +0x1.870ep+0 +-0x1.e37d0ep-1 +-0x1.4b5ae6p-1 +0x1.702676p+0 +-0x1.2c84a2p-2 +-0x1.18feeep+0 +-0x1.372954p+0 +-0x1.63ed3cp+0 +0x1.ecf126p-3 +-0x1.1064e6p+1 +-0x1.a27bdep-1 +-0x1.37ed4cp-3 +0x1.024736p-1 +-0x1.e06244p-1 +-0x1.36aa08p-4 +-0x1.7caf6ep-3 +0x1.52875p-2 +0x1.708586p-2 +0x1.b8151ap-1 +0x1.960ca4p-4 +-0x1.9247d4p+0 +-0x1.7e18c2p-3 +-0x1.0ed32p+0 +0x1.618874p-1 +-0x1.2a2c24p-3 +0x1.375f6ep-3 +-0x1.385562p-3 +0x1.d85a86p-1 +-0x1.8a0b14p-4 +0x1.5f9874p-1 +0x1.b10edp-1 +0x1.22a604p-1 +-0x1.611f38p-1 +-0x1.0d5822p-2 +-0x1.78931ep-2 +0x1.42a0ccp+0 +0x1.0cdd8ep-1 +0x1.583e82p-1 +-0x1.8dddfep-5 +-0x1.279f4ap-3 +-0x1.1c8f3ap-3 +0x1.f827ap-1 +0x1.7eb058p+0 +0x1.a0f708p-1 +0x1.10a96p-2 +0x1.05827p-1 +0x1.8a113cp+0 +-0x1.3089f2p+1 +0x1.4d41a4p-2 +0x1.b14674p-1 +-0x1.d7c6f6p-2 +0x1.66b6bp-1 +-0x1.7d4c86p-2 +0x1.fcdc6cp-3 +-0x1.9741acp-1 +-0x1.3bbe86p-3 +0x1.b1a5e6p-1 +0x1.b3389ap-1 +0x1.3db378p-2 +-0x1.93fbc2p-2 +0x1.61b404p-1 +-0x1.859fc8p-5 +0x1.cafbe8p-1 +-0x1.bc3e98p+0 +0x1.aaa84p-2 +-0x1.a8e664p-5 +0x1.9efa88p-1 +-0x1.234ae4p+0 +-0x1.0721d8p-3 +-0x1.220a96p-2 +0x1.be0bbp-1 +0x1.45caa8p-1 +0x1.525a58p-2 +-0x1.2a1b7cp+1 +0x1.659b26p+1 +0x1.567fa2p-1 +0x1.28e96ep-1 +0x1.d38e3p+0 +-0x1.aa6fbep-1 +-0x1.343e0cp-7 +-0x1.0461c2p-1 +-0x1.c31b2cp-1 +0x1.8ed034p+0 +-0x1.12ac16p+0 +0x1.e92acap-1 +-0x1.31b566p+1 +0x1.1cc31cp-3 +0x1.653508p+0 +-0x1.0ca9fap+0 +0x1.f1b208p-3 +0x1.0de25p+0 +0x1.7ab962p+0 +-0x1.422954p-2 +0x1.0473c8p-4 +-0x1.4ec552p-2 +-0x1.489c9cp-4 +-0x1.8605a8p-1 +0x1.0b9704p-3 +0x1.af4e5ep+0 +-0x1.704884p-1 +0x1.0d834ep+0 +0x1.1a3fd4p-1 +-0x1.c9acb4p+0 +0x1.2cd38p-2 +-0x1.13feecp+0 +-0x1.44a39ep+0 +-0x1.43dc5p-2 +-0x1.95c022p-1 +-0x1.e9d0bcp-1 +0x1.1a9006p-2 +0x1.2cf2ccp+0 +-0x1.5b046ap+0 +0x1.c4399ep-1 +-0x1.a99eb6p+0 +-0x1.726b5p+0 +-0x1.8c4bdcp+0 +-0x1.96e438p+0 +-0x1.3793p-4 +0x1.78aaccp-1 +0x1.ffaddep-1 +0x1.16e606p+0 +0x1.13f31ap-3 +-0x1.b1a47p-1 +-0x1.d63586p-1 +-0x1.387aa4p+0 +-0x1.2001dp-1 +0x1.37444ep-2 +0x1.1735bp+1 +0x1.8803eap-4 +0x1.684edap-2 +-0x1.1faa74p-1 +0x1.35badcp-1 +0x1.fe7408p+0 +-0x1.02c268p+0 +-0x1.2d1e06p+0 +-0x1.8035cep-4 +-0x1.36a9eap+0 +-0x1.9b108p-3 +-0x1.85e022p-6 +-0x1.5f96ep+1 +0x1.4b81b4p+0 +-0x1.27f868p+0 +-0x1.e34f4p-1 +0x1.3ff198p-2 +-0x1.acfc1p-2 +0x1.563f3ep-1 +-0x1.32c9dcp+1 +-0x1.7b8c76p-2 +0x1.a9cb82p-2 +0x1.66683ep+0 +-0x1.dcf29ep+0 +0x1.97b7a6p+0 +0x1.41b464p+0 +-0x1.6b4318p+0 +0x1.0e5ad8p-1 +0x1.82de4ap-2 +0x1.12126ap+1 +-0x1.588a6p+0 +-0x1.56bb14p-2 +-0x1.c2d0fep+0 +0x1.c91e8cp-7 +-0x1.f9b58ep-4 +-0x1.01b178p-2 +0x1.30f176p-2 +0x1.96488ap-2 +0x1.9ee15p-4 +0x1.2b7cd8p-1 +0x1.335e7p+0 +0x1.32db26p-1 +0x1.49e462p-1 +0x1.809e28p+0 +0x1.b281cap-2 +-0x1.ef3af6p-1 +-0x1.92b6e6p+0 +0x1.c5e1aep-1 +-0x1.981004p-4 +-0x1.96ce7ep-1 +0x1.c37f9ap-2 +-0x1.96930cp-1 +0x1.a434fcp-2 +-0x1.7b13e4p-1 +0x1.b66e3ap-3 +-0x1.3157d8p+0 +0x1.027d88p-2 +-0x1.acd3e4p+0 +-0x1.a36346p-3 +-0x1.23d8ap+0 +-0x1.3e11a8p-2 +0x1.2ae06cp+0 +0x1.8236fcp-6 +0x1.90815ep+0 +-0x1.a8db4p-3 +-0x1.297586p+0 +-0x1.952cb4p+0 +-0x1.a20518p-1 +-0x1.cf28a6p-1 +0x1.931bfp-1 +0x1.9bdbb6p-2 +-0x1.9ce85ep-2 +-0x1.4292c2p+0 +-0x1.2b7d1cp-1 +-0x1.8d139p-1 +0x1.e9278cp-1 +0x1.942544p+0 +-0x1.1df8cep+0 +-0x1.31cep-4 +0x1.a7065ep+0 +0x1.b70b1cp+0 +0x1.930bc4p-1 +-0x1.2f167ep+0 +-0x1.5f5572p-1 +-0x1.01fae4p-3 +0x1.b78b4p-1 +0x1.d7a04ep-1 +0x1.f2be0ap-3 +0x1.4a4c52p-1 +0x1.0b3c1ap-3 +-0x1.8c5f16p-1 +0x1.3b31b4p+0 +-0x1.61f20ep+0 +-0x1.b3557p+0 +-0x1.3da99ep-1 +0x1.f9e9b2p+0 +-0x1.e29a44p-1 +-0x1.cb80f8p-2 +0x1.a54ec6p-4 +-0x1.5e774ap-2 +-0x1.b078ap-1 +0x1.7df532p+0 +-0x1.20e83ap+0 +-0x1.2ece3cp-1 +-0x1.b8dcfap-4 +-0x1.a820eap-1 +0x1.7b9754p-1 +0x1.e9d6f8p-2 +0x1.6c2c5ep-1 +-0x1.6a6fdep-4 +-0x1.cfc8ecp-2 +0x1.b66f56p-1 +0x1.19aee6p+1 +0x1.cb4172p-4 +0x1.a2bc9ep-3 +-0x1.153a5p+0 +-0x1.e32cd2p-1 +0x1.cd1044p-4 +0x1.0fb76cp-2 +0x1.4bfd4ap+0 +0x1.806536p-1 +0x1.9579f6p-1 +0x1.3649p-2 +0x1.a0c47ap-8 +-0x1.09803p-1 +0x1.84fb0ep-1 +-0x1.855462p+0 +0x1.159624p+1 +-0x1.8df534p-2 +0x1.8cd25p-2 +-0x1.e7ad74p+0 +0x1.e6229ep-5 +0x1.bccca2p-2 +-0x1.8e288ep-1 +0x1.c2aa6p-3 +0x1.ff0a0cp-1 +-0x1.ddb1ecp-2 +-0x1.3e5476p+0 +0x1.858158p+0 +0x1.d178dcp-1 +0x1.9197fp-1 +0x1.f12d86p-1 +0x1.0ee4fap+0 +-0x1.0bec12p+0 +-0x1.c3b202p-2 +-0x1.40665ap+0 +0x1.5ca698p-1 +0x1.0886c6p+0 +-0x1.6ce43ep+0 +0x1.0d0446p+0 +-0x1.3cdd42p+0 +-0x1.98ab96p-3 +0x1.67118cp-2 +-0x1.6381dp-2 +0x1.a6ecb4p-1 +-0x1.9515b6p+0 +-0x1.3a8022p-1 +0x1.46c216p+0 +0x1.e89f14p-2 +-0x1.0b75a8p-4 +0x1.4109f4p+0 +-0x1.569578p+0 +-0x1.a93044p+0 +-0x1.61350cp+0 +-0x1.064156p-1 +0x1.77981ep-3 +-0x1.f701b8p-3 +0x1.ab815cp+0 +-0x1.cf59eap-1 +0x1.8ee6dcp-2 +0x1.8ec04cp-1 +0x1.bbf638p-1 +-0x1.a3fa38p-2 +-0x1.1af036p-2 +0x1.22f5cep-1 +-0x1.46a49ap+0 +-0x1.5d4fdcp+0 +-0x1.f72d2ap-1 +-0x1.8bcbb2p-9 +0x1.b6ac6ap-2 +-0x1.76022p-2 +-0x1.317764p+0 +0x1.1f9cb2p+0 +0x1.9e1294p+0 +-0x1.e7d7d2p-1 +-0x1.15d7fap+1 +0x1.a6ffb6p-6 +0x1.e6a5d2p-8 +-0x1.69a5bp-4 +0x1.82529cp-1 +-0x1.9f7bb4p+0 +-0x1.239f28p+0 +0x1.21c244p-1 +0x1.63aca6p-1 +0x1.1981bcp-2 +0x1.ae3274p-1 +-0x1.acc7c2p-1 +0x1.354474p+0 +-0x1.01b9acp-1 +0x1.59db0ep-1 +0x1.1a8914p+1 +-0x1.5dab9ap-3 +-0x1.7abbe4p-3 +-0x1.aa5d7p+0 +-0x1.7e72eep-1 +-0x1.90f286p-1 +0x1.c205ap-1 +0x1.d47afp-1 +0x1.adbf8cp+0 +0x1.092b84p+1 +-0x1.4bf36p-1 +-0x1.0d0d08p-1 +-0x1.19084ap+0 +-0x1.dc5e8ap-1 +0x1.8aec8ap+1 +-0x1.27e61p+0 +-0x1.53bf26p-1 +0x1.602114p+0 +0x1.1f2ccap+0 +0x1.82373ep-2 +0x1.13fep-2 +-0x1.e6b6e8p-1 +-0x1.75a7e4p-1 +0x1.7dbef6p+0 +0x1.2e9564p+0 +-0x1.0a1952p+0 +0x1.d5409cp-1 +-0x1.093fe4p-1 +0x1.1e6686p+1 +0x1.05a072p+0 +-0x1.0cbcf4p+0 +-0x1.813d0ep-3 +-0x1.30607p-5 +-0x1.4b5342p+0 +0x1.603252p-1 +-0x1.c601e6p+0 +-0x1.cd608ap-2 +-0x1.fa09ccp-1 +-0x1.797292p+0 +-0x1.4cb60ap+0 +-0x1.57cd52p-2 +0x1.b71ae6p+0 +-0x1.96ec48p-1 +0x1.0e0092p-4 +-0x1.042ca6p+0 +0x1.8a318cp-2 +-0x1.6a9bdap-2 +0x1.c52fbp-2 +-0x1.376f82p+0 +0x1.0698fap-1 +-0x1.1f6c54p-1 +-0x1.8094b4p+0 +0x1.4bf162p-2 +0x1.f19582p+0 +-0x1.1f0c82p+1 +0x1.6d0a9ep-2 +-0x1.b4f5ecp+0 +0x1.94ea4ap-5 +-0x1.dd3e7cp-1 +0x1.00c328p-1 +-0x1.06b808p-3 +0x1.5e68c2p+0 +0x1.b57a62p-1 +0x1.dbb778p-2 +0x1.f8599ep-1 +0x1.a8ce9ap-2 +-0x1.1178ccp+0 +-0x1.16b262p-1 +0x1.4cb31ap-3 +-0x1.2b698cp-1 +-0x1.86a036p+0 +-0x1.9ead8p-3 +-0x1.7f25d2p-1 +-0x1.3ecb54p-2 +-0x1.42bd8cp-1 +-0x1.e64afp+0 +-0x1.8df506p-6 +-0x1.7fa6f8p-2 +0x1.f192dcp-1 +0x1.a23234p+0 +0x1.529f9ep-4 +-0x1.25c242p+0 +-0x1.264d34p+0 +-0x1.ab5a0ep-1 +0x1.27c7c8p-3 +0x1.be840ep-2 +0x1.abfd0ap-1 +0x1.73307cp-4 +0x1.71f94p+0 +-0x1.c614bap+0 +0x1.910e2p-3 +0x1.cc4adcp-1 +-0x1.072822p+0 +0x1.6f2704p+0 +0x1.1ee3a2p+1 +0x1.0e3e16p+0 +0x1.d120bep-6 +-0x1.1fe198p+0 +-0x1.52b1fp+0 +-0x1.ae7658p-2 +-0x1.f114fp+0 +0x1.2db694p-1 +0x1.c01758p-3 +0x1.80587cp-1 +-0x1.97d9cap+0 +-0x1.3aa6e6p-2 +0x1.8cd0aep-1 +0x1.c64094p-1 +0x1.4d23p+0 +-0x1.229a22p+0 +-0x1.15d246p+0 +-0x1.14ca8p-5 +-0x1.d28014p+0 +0x1.97ed02p-2 +0x1.2295dap+0 +0x1.03ef26p-1 +0x1.a8e6fep-2 +0x1.03efeap+0 +-0x1.f6ca0cp-3 +-0x1.45c58p-3 +-0x1.c3de1ep-5 +0x1.e727dap-2 +0x1.abe67p-2 +-0x1.8fa346p+0 +-0x1.70b346p-2 +-0x1.1d62cp+1 +0x1.888518p-1 +-0x1.2baea6p-2 +0x1.c74a0cp-2 +0x1.5ab764p+0 +-0x1.8b71bp-2 +0x1.e5599ap-4 +-0x1.12afd4p+1 +0x1.281956p+0 +-0x1.c62f5ep-4 +-0x1.fdf008p-1 +-0x1.15c314p-6 +-0x1.c518dcp-1 +-0x1.73992ap-3 +0x1.a6465ap+0 +0x1.6618c4p-8 +0x1.01d2e8p+0 +0x1.4919b4p-1 +-0x1.87c72p-3 +0x1.1e9a96p-9 +0x1.8e16c2p-1 +0x1.e0c19cp-2 +0x1.6efdb6p-2 +0x1.77a86cp+0 +-0x1.9a52b4p-2 +0x1.2decd2p+0 +0x1.efa19ap-3 +-0x1.f7faecp-4 +-0x1.125dbep-1 +-0x1.aa25dap-2 +-0x1.0509b6p+0 +-0x1.0e841ep+1 +0x1.14f30ap-7 +0x1.8371f6p+0 +-0x1.a6997cp-1 +0x1.d0be9ap-4 +0x1.7a187p-1 +0x1.5c3bdp+0 +0x1.a8caecp+0 +0x1.4fabbp-3 +0x1.52e96p+0 +0x1.6ef878p-2 +0x1.e6a8c2p-1 +-0x1.153cd8p-1 +0x1.7465e2p+0 +0x1.19c6a2p-1 +-0x1.098156p+1 +0x1.72168ep-2 +-0x1.fad952p-2 +-0x1.d3401ap-2 +0x1.1d3854p-1 +0x1.5c0a66p+0 +-0x1.8183e6p-3 +0x1.e1e5eep-3 +-0x1.2c7666p+1 +0x1.31e48ep+1 +-0x1.5b84d8p-1 +0x1.ac7e36p-1 +0x1.171c6cp-1 +0x1.b38194p-8 +-0x1.9c0b56p-1 +-0x1.16cd88p-1 +-0x1.5a04d8p+0 +-0x1.0cc51ep+1 +-0x1.d5ed58p-1 +-0x1.056de2p+0 +-0x1.e09562p-2 +0x1.0f0196p-1 +0x1.7fa3f6p-1 +0x1.fac5bp-2 +-0x1.f77ae6p+0 +-0x1.6f44f4p-2 +-0x1.9d4e52p+0 +0x1.72eacep+0 +-0x1.58acb6p-2 +-0x1.87063ap-1 +0x1.b94356p-1 +0x1.8637e6p-1 +-0x1.440ac8p-1 +0x1.5cdafcp-2 +-0x1.bf9b0ep-1 +0x1.657f4cp-3 +-0x1.8f9cb6p+0 +0x1.1399d8p+0 +0x1.a28952p-2 +-0x1.23308ep+0 +-0x1.4c282ap-3 +-0x1.d9f856p-1 +0x1.bf6c9p+0 +-0x1.87bd2p-2 +-0x1.30301p+0 +0x1.472382p-1 +0x1.92499ap+0 +0x1.23e2c4p-1 +-0x1.5f5518p-2 +-0x1.03af7ap+1 +-0x1.57e604p-2 +0x1.489f06p+0 +0x1.a3378ep-1 +0x1.127a2p+0 +-0x1.0412acp+0 +-0x1.c1fab6p-3 +-0x1.534a36p+0 +-0x1.227eeap-1 +-0x1.60bafap+0 +-0x1.6c1b4cp-1 +-0x1.e55c3p-1 +0x1.0136a2p-4 +-0x1.0ffdf8p-1 +-0x1.c6576p-1 +-0x1.b2896ep-5 +0x1.574f6ap-3 +0x1.324236p+0 +-0x1.a32442p-2 +0x1.9a389ap+0 +-0x1.1171cap+0 +0x1.0f7b1ep-1 +-0x1.6c053ep-1 +-0x1.9b99b6p-2 +0x1.b2a6d8p+0 +0x1.1f2bd6p-2 +-0x1.f0ccccp-1 +-0x1.1733p-1 +-0x1.6b2756p-1 +-0x1.187854p+0 +0x1.a7991ap-2 +0x1.857358p-1 +-0x1.0cfed6p-5 +-0x1.4de6ecp-1 +0x1.51a062p-1 +0x1.150624p-3 +-0x1.5cfe06p+0 +0x1.79170cp-3 +0x1.03e7acp+0 +-0x1.189198p-1 +0x1.b4c6bep-3 +-0x1.9184c8p-1 +-0x1.896958p-1 +0x1.5be384p+1 +-0x1.0a5d4ep+0 +0x1.9a2808p-4 +-0x1.52f6fcp-1 +0x1.3c8b1ep-2 +0x1.2ea336p-3 +0x1.e53f12p+0 +0x1.957874p+0 +-0x1.2e50c6p-1 +0x1.f60822p-2 +0x1.b8e3e6p-1 +0x1.288f64p+0 +0x1.3ab57ap-1 +0x1.00560ep+0 +-0x1.018fdap-2 +-0x1.1663e6p-5 +-0x1.b38c7ap-2 +-0x1.56593cp-2 +-0x1.658a9ap+0 +-0x1.2d1d44p-4 +-0x1.72fcdcp+0 +-0x1.d97294p-2 +-0x1.c49a1ep-2 +-0x1.4a1a4p+1 +-0x1.2f653ap+0 +-0x1.e1be1ep-2 +-0x1.6f8874p-2 +-0x1.3d19dap+1 +0x1.082ca6p-4 +-0x1.a2bbbep-2 +-0x1.56d822p-1 +-0x1.0dbebap-1 +-0x1.b94eb6p-1 +-0x1.a9bf86p-3 +-0x1.085582p-2 +0x1.022d02p-3 +0x1.3063e8p+1 +0x1.eab3b2p+0 +0x1.e5f194p-1 +0x1.e9c2aep+0 +0x1.e69e94p-3 +0x1.545416p-1 +-0x1.b5e41p-1 +-0x1.68c7d2p-3 +0x1.7ffc78p-4 +0x1.a668c8p+0 +0x1.6540a4p-4 +0x1.74d162p-3 +0x1.098f56p-1 +0x1.682dc8p-1 +0x1.292126p-1 +0x1.433194p-3 +-0x1.911912p-4 +0x1.1cebeap+0 +-0x1.3577a8p-4 +-0x1.aeedc4p-3 +-0x1.4f59f8p-1 +0x1.75db94p-1 +-0x1.614d92p-3 +0x1.176f34p-2 +0x1.dfd2ep-2 +0x1.ec2148p-1 +0x1.3a1504p-1 +-0x1.5b8e2cp-1 +-0x1.bdcd3p-1 +-0x1.079a1p-1 +0x1.5007a8p-1 +-0x1.695ee2p+0 +-0x1.4629c6p-1 +-0x1.25b9c4p+0 +-0x1.a2364ap-3 +0x1.662adep+0 +0x1.2fe906p-1 +-0x1.6cdc42p-1 +0x1.17885ep-1 +0x1.c3d22ap+0 +-0x1.24e36ep-2 +-0x1.78e50ap+0 +0x1.6ae5f2p-1 +0x1.121bfp-1 +0x1.9158f6p-2 +0x1.9374cp-1 +-0x1.8b177ap-8 +0x1.021cfep+1 +-0x1.7c4e7cp-1 +0x1.095cf2p+0 +-0x1.086504p+1 +-0x1.8cffacp-3 +0x1.54625cp-3 +-0x1.d84022p-1 +-0x1.61a5dcp-2 +0x1.8a6d0ap-1 +0x1.79d6d2p-2 +0x1.09f8ccp+0 +0x1.3b767cp-3 +-0x1.dc80bcp+0 +-0x1.cde65ap-1 +0x1.357554p-1 +0x1.26ddap-1 +-0x1.1260aep+1 +-0x1.b1d27ap-2 +-0x1.20f7p+0 +0x1.f964acp-2 +-0x1.927feap-3 +-0x1.0b397cp-2 +-0x1.c8ed4cp-3 +0x1.d35ac2p-2 +-0x1.608e46p-1 +0x1.1a0036p-1 +-0x1.1224a6p-1 +0x1.9050bcp-2 +0x1.b6e1f8p-3 +0x1.3f56p+0 +0x1.3e6e62p-1 +0x1.2f31fap+0 +0x1.87e088p-1 +0x1.1895dep-2 +-0x1.1df2a6p+0 +0x1.1b9684p-1 +-0x1.b79118p-1 +-0x1.dfa32ap+0 +-0x1.d4b07cp-1 +0x1.a71abap-1 +-0x1.2369a8p-2 +0x1.3524dep+0 +-0x1.b8f2d4p-1 +-0x1.d10b3p-1 +0x1.1ecb4ap-5 +0x1.808544p-1 +-0x1.d37b3p+0 +-0x1.352e0ep-1 +-0x1.1d7ac2p+0 +-0x1.4125a6p-4 +0x1.271f98p-5 +-0x1.7e755p-9 +-0x1.0d9c24p-1 +0x1.c59b92p+0 +0x1.2c1c06p+0 +0x1.d21d8ep-2 +-0x1.a232dep-1 +-0x1.1fa3fep-5 +0x1.543b1ap-1 +-0x1.0dabccp-1 +-0x1.807586p-2 +0x1.d01544p-2 +0x1.f0d5c6p+0 +0x1.8f4b6ap-1 +-0x1.ef0b4cp-1 +-0x1.1ecf2ep+1 +-0x1.473dp+1 +-0x1.3f8678p+1 +-0x1.469abep-1 +-0x1.70816ap+0 +-0x1.271272p-2 +0x1.64958ep-2 +-0x1.94b7eap-3 +-0x1.7c7736p-1 +-0x1.86a542p-1 +0x1.b316bep+0 +0x1.c828a2p-2 +0x1.7bc37cp+0 +0x1.80993cp+0 +0x1.0e8a34p+0 +0x1.4af5e8p-1 +0x1.8b6c82p+0 +0x1.d109aep-3 +-0x1.f6216ep-2 +-0x1.b5de66p+0 +0x1.c970b6p-4 +0x1.9a2caep-2 +0x1.469f66p+0 +0x1.7628a8p+0 +-0x1.32851p-2 +0x1.b28a3ep+0 +0x1.04b23cp-4 +-0x1.546ad2p-1 +0x1.367246p+1 +0x1.3ba57ep-2 +0x1.a8306cp+0 +0x1.2a192ap+1 +-0x1.9ffe5p-1 +-0x1.b1c27ap+0 +-0x1.18113p-1 +0x1.14f0e4p-2 +0x1.11d6dcp-2 +-0x1.76dc0ep-1 +-0x1.7e4decp-2 +0x1.25d792p-2 +0x1.efb1a4p-1 +-0x1.db30c6p+0 +-0x1.ba82f6p-2 +-0x1.ea55d8p-3 +0x1.292118p-1 +0x1.5e311cp-1 +0x1.0f41c6p+0 +-0x1.1eede2p-4 +-0x1.5e43bp+0 +-0x1.6948fp-3 +-0x1.075ee2p+0 +0x1.7be62ep-2 +-0x1.4faa3ep-2 +0x1.25723ap-2 +0x1.079306p+0 +-0x1.a30d46p+0 +-0x1.13d4e6p+1 +0x1.e18d8p-1 +0x1.108fbap-1 +-0x1.4fcec2p-6 +-0x1.080d9ap-1 +0x1.fc551cp-1 +0x1.9bb61cp-4 +-0x1.4168cp-2 +0x1.c799e8p-1 +-0x1.0c4a5ap-2 +0x1.ebf3ccp-1 +-0x1.be1b56p-1 +-0x1.88a11ap-1 +-0x1.8ecffcp-1 +-0x1.524e1cp+0 +0x1.ec3ca2p-1 +0x1.06093ep+1 +0x1.6df60cp+0 +-0x1.227e8p+1 +0x1.1c87fap-3 +-0x1.8cedbcp-2 +-0x1.8ff552p-1 +-0x1.a6ffeep+0 +-0x1.1df598p-4 +-0x1.0ef094p+0 +-0x1.6e70f8p-1 +0x1.d72386p+0 +-0x1.eb4042p-2 +0x1.0ef25p+0 +-0x1.f11da8p-3 +0x1.cb7c72p-1 +0x1.63b18ep-2 +-0x1.9f6c02p-1 +-0x1.8ab8bcp-5 +0x1.7b590ep-4 +-0x1.9d55fcp+0 +-0x1.4de19ep-1 +-0x1.76cf7cp-1 +-0x1.02dd9ap+0 +0x1.c424eep-2 +0x1.3a85ap+0 +-0x1.443a22p-1 +0x1.03bd5p+0 +0x1.db0eeep-3 +0x1.45a18ap-2 +-0x1.dd757ap-2 +-0x1.6a49b6p-1 +-0x1.52389ep+0 +0x1.c05fe4p-2 +-0x1.0ce958p-2 +-0x1.9a04fp-5 From patchwork Wed Nov 24 19:37:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48105 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E1DFC385781B for ; Wed, 24 Nov 2021 20:31:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E1DFC385781B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785861; bh=kcV1anU8ChITlCfshSDnYkbZPTykliqs6R3EcTnOJtE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=xZ7JAVmay+3hMrn9D6DDj3LqCgmaXJQvRIZpDMIOqWlyVbY/lfFeP5RGBhEk4xhDR eW809quPp329nGUhV0VNT57ydWCkR4aFvRWVl6n4r02paGWwl52rwu5y0juBuW76Vd Jc3/+TOHizrKqZyoO8FX8Jq6Dkntsd2grWPPsfoU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 04D003857814 for ; Wed, 24 Nov 2021 19:38:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 04D003857814 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235177336" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235177336" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="591701883" Received: from scymds02.sc.intel.com ([10.82.73.244]) by FMSMGA003.fm.intel.com with ESMTP; 24 Nov 2021 11:38:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XA021555; Wed, 24 Nov 2021 11:38:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 23/42] x86-64: Add vector exp10/exp10f implementation to libmvec Date: Wed, 24 Nov 2021 11:37:48 -0800 Message-Id: <20211124193807.2093208-24-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized exp10/exp10f containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector exp10/exp10f with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_exp102_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_exp102_core.c | 27 + .../fpu/multiarch/svml_d_exp102_core_sse4.S | 1664 +++++++++++++++++ .../fpu/multiarch/svml_d_exp104_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_exp104_core.c | 27 + .../fpu/multiarch/svml_d_exp104_core_avx2.S | 1503 +++++++++++++++ .../fpu/multiarch/svml_d_exp108_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_exp108_core.c | 27 + .../fpu/multiarch/svml_d_exp108_core_avx512.S | 987 ++++++++++ .../fpu/multiarch/svml_s_exp10f16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_exp10f16_core.c | 28 + .../multiarch/svml_s_exp10f16_core_avx512.S | 739 ++++++++ .../fpu/multiarch/svml_s_exp10f4_core-sse2.S | 20 + .../fpu/multiarch/svml_s_exp10f4_core.c | 28 + .../fpu/multiarch/svml_s_exp10f4_core_sse4.S | 1038 ++++++++++ .../fpu/multiarch/svml_s_exp10f8_core-sse.S | 20 + .../fpu/multiarch/svml_s_exp10f8_core.c | 28 + .../fpu/multiarch/svml_s_exp10f8_core_avx2.S | 923 +++++++++ sysdeps/x86_64/fpu/svml_d_exp102_core.S | 29 + sysdeps/x86_64/fpu/svml_d_exp104_core.S | 29 + sysdeps/x86_64/fpu/svml_d_exp104_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_exp108_core.S | 25 + sysdeps/x86_64/fpu/svml_s_exp10f16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_exp10f4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_exp10f8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_exp10f8_core_avx.S | 25 + .../fpu/test-double-libmvec-exp10-avx.c | 1 + .../fpu/test-double-libmvec-exp10-avx2.c | 1 + .../fpu/test-double-libmvec-exp10-avx512f.c | 1 + .../x86_64/fpu/test-double-libmvec-exp10.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../fpu/test-float-libmvec-exp10f-avx.c | 1 + .../fpu/test-float-libmvec-exp10f-avx2.c | 1 + .../fpu/test-float-libmvec-exp10f-avx512f.c | 1 + .../x86_64/fpu/test-float-libmvec-exp10f.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 7422 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_exp102_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_exp104_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_exp104_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_exp108_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_exp10f16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_exp10f4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_exp10f8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_exp10f8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-exp10.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-exp10f.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index f7e3b27b0a..ff85f5be62 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -219,4 +219,15 @@ #define __DECL_SIMD_erfcf32x #define __DECL_SIMD_erfcf64x #define __DECL_SIMD_erfcf128x + +#define __DECL_SIMD_exp10 +#define __DECL_SIMD_exp10f +#define __DECL_SIMD_exp10l +#define __DECL_SIMD_exp10f16 +#define __DECL_SIMD_exp10f32 +#define __DECL_SIMD_exp10f64 +#define __DECL_SIMD_exp10f128 +#define __DECL_SIMD_exp10f32x +#define __DECL_SIMD_exp10f64x +#define __DECL_SIMD_exp10f128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 48bd8fcda8..6fc9d6f156 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -111,7 +111,7 @@ __MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2)); #if __GLIBC_USE (IEC_60559_FUNCS_EXT_C2X) /* Compute exponent to base ten. */ -__MATHCALL (exp10,, (_Mdouble_ __x)); +__MATHCALL_VEC (exp10,, (_Mdouble_ __x)); #endif #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 8c17e38ce6..be309ddbf0 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -56,6 +56,7 @@ GLIBC_2.35 _ZGVbN2v_cbrt F GLIBC_2.35 _ZGVbN2v_cosh F GLIBC_2.35 _ZGVbN2v_erf F GLIBC_2.35 _ZGVbN2v_erfc F +GLIBC_2.35 _ZGVbN2v_exp10 F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F @@ -67,6 +68,7 @@ GLIBC_2.35 _ZGVbN4v_cbrtf F GLIBC_2.35 _ZGVbN4v_coshf F GLIBC_2.35 _ZGVbN4v_erfcf F GLIBC_2.35 _ZGVbN4v_erff F +GLIBC_2.35 _ZGVbN4v_exp10f F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F @@ -78,6 +80,7 @@ GLIBC_2.35 _ZGVcN4v_cbrt F GLIBC_2.35 _ZGVcN4v_cosh F GLIBC_2.35 _ZGVcN4v_erf F GLIBC_2.35 _ZGVcN4v_erfc F +GLIBC_2.35 _ZGVcN4v_exp10 F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F @@ -89,6 +92,7 @@ GLIBC_2.35 _ZGVcN8v_cbrtf F GLIBC_2.35 _ZGVcN8v_coshf F GLIBC_2.35 _ZGVcN8v_erfcf F GLIBC_2.35 _ZGVcN8v_erff F +GLIBC_2.35 _ZGVcN8v_exp10f F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F @@ -100,6 +104,7 @@ GLIBC_2.35 _ZGVdN4v_cbrt F GLIBC_2.35 _ZGVdN4v_cosh F GLIBC_2.35 _ZGVdN4v_erf F GLIBC_2.35 _ZGVdN4v_erfc F +GLIBC_2.35 _ZGVdN4v_exp10 F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F @@ -111,6 +116,7 @@ GLIBC_2.35 _ZGVdN8v_cbrtf F GLIBC_2.35 _ZGVdN8v_coshf F GLIBC_2.35 _ZGVdN8v_erfcf F GLIBC_2.35 _ZGVdN8v_erff F +GLIBC_2.35 _ZGVdN8v_exp10f F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F @@ -122,6 +128,7 @@ GLIBC_2.35 _ZGVeN16v_cbrtf F GLIBC_2.35 _ZGVeN16v_coshf F GLIBC_2.35 _ZGVeN16v_erfcf F GLIBC_2.35 _ZGVeN16v_erff F +GLIBC_2.35 _ZGVeN16v_exp10f F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F @@ -133,4 +140,5 @@ GLIBC_2.35 _ZGVeN8v_cbrt F GLIBC_2.35 _ZGVeN8v_cosh F GLIBC_2.35 _ZGVeN8v_erf F GLIBC_2.35 _ZGVeN8v_erfc F +GLIBC_2.35 _ZGVeN8v_exp10 F GLIBC_2.35 _ZGVeN8vv_atan2 F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index be16a37989..69d05d334d 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -102,6 +102,10 @@ # define __DECL_SIMD_erfc __DECL_SIMD_x86_64 # undef __DECL_SIMD_erfcf # define __DECL_SIMD_erfcf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10 +# define __DECL_SIMD_exp10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10f +# define __DECL_SIMD_exp10f __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index a8138c8e6b..95709ef402 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -35,6 +35,7 @@ libmvec-funcs = \ erf \ erfc \ exp \ + exp10 \ log \ pow \ sin \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 40b801b714..f891c07550 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -24,6 +24,7 @@ libmvec { _ZGVbN2v_cosh; _ZGVcN4v_cosh; _ZGVdN4v_cosh; _ZGVeN8v_cosh; _ZGVbN2v_erf; _ZGVcN4v_erf; _ZGVdN4v_erf; _ZGVeN8v_erf; _ZGVbN2v_erfc; _ZGVcN4v_erfc; _ZGVdN4v_erfc; _ZGVeN8v_erfc; + _ZGVbN2v_exp10; _ZGVcN4v_exp10; _ZGVdN4v_exp10; _ZGVeN8v_exp10; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; @@ -35,6 +36,7 @@ libmvec { _ZGVbN4v_coshf; _ZGVcN8v_coshf; _ZGVdN8v_coshf; _ZGVeN16v_coshf; _ZGVbN4v_erfcf; _ZGVcN8v_erfcf; _ZGVdN8v_erfcf; _ZGVeN16v_erfcf; _ZGVbN4v_erff; _ZGVcN8v_erff; _ZGVdN8v_erff; _ZGVeN16v_erff; + _ZGVbN4v_exp10f; _ZGVcN8v_exp10f; _ZGVdN8v_exp10f; _ZGVeN16v_exp10f; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index f1b9921920..4465c0af19 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1409,6 +1409,26 @@ float: 1 float128: 3 ldouble: 2 +Function: "exp10_vlen16": +float: 3 + +Function: "exp10_vlen2": +double: 1 + +Function: "exp10_vlen4": +double: 1 +float: 1 + +Function: "exp10_vlen4_avx2": +double: 1 + +Function: "exp10_vlen8": +double: 1 +float: 1 + +Function: "exp10_vlen8_avx2": +float: 1 + Function: "exp2": double: 1 float: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core-sse2.S new file mode 100644 index 0000000000..ab615c0323 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized exp10, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_exp10 _ZGVbN2v_exp10_sse2 +#include "../svml_d_exp102_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core.c new file mode 100644 index 0000000000..5c5625b278 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized exp10, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_exp10 +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_exp10, __GI__ZGVbN2v_exp10, __redirect__ZGVbN2v_exp10) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core_sse4.S new file mode 100644 index 0000000000..2ee6a13135 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core_sse4.S @@ -0,0 +1,1664 @@ +/* Function exp vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * exp10(x) = 2^x/log10(2) = 2^n * (1 + T[j]) * (1 + P(y)) + * where + * x = m*log10(2)/K + y, y in [-log10(2)/K..log10(2)/K] + * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * + * values of 2^j/K are tabulated + * + * P(y) is a minimax polynomial approximation of exp10(x)-1 + * on small interval [-log10(2)/K..log10(2)/K] + * + * Special cases: + * + * exp10(NaN) = NaN + * exp10(+INF) = +INF + * exp10(-INF) = 0 + * exp10(x) = 1 for subnormals + * For IEEE double + * if x > 3.39782712893383973096e+02 then exp10(x) overflow + * if x < -3.45133219101941108420e+02 then exp10(x) underflow + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_exp10_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm3 + +/* Load arument */ + movups 1024+__svml_dexp10_data_internal(%rip), %xmm1 + lea __svml_dexp10_data_internal(%rip), %r8 + mulpd %xmm3, %xmm1 + movups 1088+__svml_dexp10_data_internal(%rip), %xmm4 + addpd %xmm4, %xmm1 + movaps %xmm1, %xmm2 + subpd %xmm4, %xmm2 + movq 1728+__svml_dexp10_data_internal(%rip), %xmm5 + +/* Check for overflow\underflow */ + pshufd $221, %xmm3, %xmm7 + movq 1792+__svml_dexp10_data_internal(%rip), %xmm6 + pand %xmm5, %xmm7 + pcmpgtd %xmm6, %xmm7 + +/* R */ + movups 1152+__svml_dexp10_data_internal(%rip), %xmm6 + mulpd %xmm2, %xmm6 + movmskps %xmm7, %edx + movq 1664+__svml_dexp10_data_internal(%rip), %xmm0 + +/* Index and lookup */ + pshufd $136, %xmm1, %xmm4 + +/* 2^N */ + psllq $45, %xmm1 + pand %xmm0, %xmm4 + +/* iIndex*=sizeof(D); */ + pslld $3, %xmm4 + movd %xmm4, %eax + pshufd $1, %xmm4, %xmm5 + movups 1216+__svml_dexp10_data_internal(%rip), %xmm4 + mulpd %xmm2, %xmm4 + movd %xmm5, %ecx + movaps %xmm3, %xmm5 + +/* + * Polynomial + * poly(dN) = a1*dR+...+a5*dR^5 + */ + movups 1536+__svml_dexp10_data_internal(%rip), %xmm2 + subpd %xmm6, %xmm5 + subpd %xmm4, %xmm5 + mulpd %xmm5, %xmm2 + addpd 1472+__svml_dexp10_data_internal(%rip), %xmm2 + mulpd %xmm5, %xmm2 + addpd 1408+__svml_dexp10_data_internal(%rip), %xmm2 + mulpd %xmm5, %xmm2 + addpd 1344+__svml_dexp10_data_internal(%rip), %xmm2 + +/* a1+...+a5*dR^4 ! */ + mulpd %xmm5, %xmm2 + addpd 1280+__svml_dexp10_data_internal(%rip), %xmm2 + +/* a1*dR+...+a5*dR^5 */ + mulpd %xmm2, %xmm5 + movslq %eax, %rax + movslq %ecx, %rcx + +/* lM==EXP(2^N) */ + pand 1600+__svml_dexp10_data_internal(%rip), %xmm1 + movsd (%r8,%rax), %xmm0 + movhpd (%r8,%rcx), %xmm0 + +/* Tj*poly */ + mulpd %xmm0, %xmm5 + addpd %xmm5, %xmm0 + +/* quick 2^N */ + paddq %xmm1, %xmm0 + andl $3, %edx + +/* Finish */ + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm3, 192(%rsp) + movups %xmm0, 256(%rsp) + je .LBL_1_2 + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,8), %rdi + lea 256(%rsp,%r12,8), %rsi + call __svml_dexp10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_exp10_sse4) + + .align 16,0x90 + +__svml_dexp10_cout_rare_internal: + + cfi_startproc + + 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+__dexp10_la__imldExp10Tab(%rip), %xmm0 + comisd %xmm6, %xmm0 + jb .LBL_2_14 + comisd 1096+__dexp10_la__imldExp10Tab(%rip), %xmm6 + jb .LBL_2_13 + movsd 1024+__dexp10_la__imldExp10Tab(%rip), %xmm0 + movaps %xmm6, %xmm5 + mulsd %xmm6, %xmm0 + lea __dexp10_la__imldExp10Tab(%rip), %r10 + movsd %xmm0, -24(%rsp) + movsd -24(%rsp), %xmm1 + movq 1136+__dexp10_la__imldExp10Tab(%rip), %rdx + movq %rdx, -8(%rsp) + addsd 1032+__dexp10_la__imldExp10Tab(%rip), %xmm1 + movsd %xmm1, -16(%rsp) + movsd -16(%rsp), %xmm2 + movl -16(%rsp), %r8d + movl %r8d, %ecx + andl $63, %r8d + subsd 1032+__dexp10_la__imldExp10Tab(%rip), %xmm2 + movsd %xmm2, -24(%rsp) + lea 1(%r8,%r8), %r9d + movsd -24(%rsp), %xmm3 + lea (%r8,%r8), %edi + mulsd 1104+__dexp10_la__imldExp10Tab(%rip), %xmm3 + movsd -24(%rsp), %xmm4 + subsd %xmm3, %xmm5 + mulsd 1112+__dexp10_la__imldExp10Tab(%rip), %xmm4 + movsd 1072+__dexp10_la__imldExp10Tab(%rip), %xmm2 + subsd %xmm4, %xmm5 + mulsd %xmm5, %xmm2 + shrl $6, %ecx + addsd 1064+__dexp10_la__imldExp10Tab(%rip), %xmm2 + comisd 1088+__dexp10_la__imldExp10Tab(%rip), %xmm6 + mulsd %xmm5, %xmm2 + movsd (%r10,%rdi,8), %xmm0 + lea 1023(%rcx), %edx + addsd 1056+__dexp10_la__imldExp10Tab(%rip), %xmm2 + mulsd %xmm5, %xmm2 + addsd 1048+__dexp10_la__imldExp10Tab(%rip), %xmm2 + mulsd %xmm5, %xmm2 + addsd 1040+__dexp10_la__imldExp10Tab(%rip), %xmm2 + mulsd %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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%rip), %xmm11 + movsd %xmm11, -40(%rsp) + movsd -32(%rsp), %xmm12 + mulsd 1160+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%rip), %xmm0 + movl $4, %eax + mulsd %xmm0, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_14: + movsd 1128+__dexp10_la__imldExp10Tab(%rip), %xmm0 + movl $3, %eax + mulsd %xmm0, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_15: + movsd 1144+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%rip), %rdx + movq %rdx, (%rsi) + ret + + cfi_endproc + + .type __svml_dexp10_cout_rare_internal,@function + .size __svml_dexp10_cout_rare_internal,.-__svml_dexp10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dexp10_data_internal: + .long 0 + .long 1072693248 + .long 2851812149 + .long 1072698941 + .long 1048019041 + .long 1072704666 + .long 3899555717 + .long 1072710421 + .long 3541402996 + .long 1072716208 + .long 702412510 + .long 1072722027 + .long 410360776 + .long 1072727877 + .long 3402036099 + .long 1072733758 + .long 1828292879 + .long 1072739672 + .long 728909815 + .long 1072745618 + .long 852742562 + .long 1072751596 + .long 2952712987 + .long 1072757606 + .long 3490863953 + .long 1072763649 + .long 3228316108 + .long 1072769725 + .long 2930322912 + .long 1072775834 + .long 3366293073 + .long 1072781976 + .long 1014845819 + .long 1072788152 + .long 948735466 + .long 1072794361 + .long 3949972341 + .long 1072800603 + .long 2214878420 + .long 1072806880 + .long 828946858 + .long 1072813191 + .long 586995997 + .long 1072819536 + .long 2288159958 + .long 1072825915 + .long 2440944790 + .long 1072832329 + .long 1853186616 + .long 1072838778 + .long 1337108031 + .long 1072845262 + .long 1709341917 + .long 1072851781 + .long 3790955393 + .long 1072858335 + .long 4112506593 + .long 1072864925 + .long 3504003472 + .long 1072871551 + .long 2799960843 + .long 1072878213 + .long 2839424854 + .long 1072884911 + .long 171030293 + .long 1072891646 + .long 4232894513 + .long 1072898416 + .long 2992903935 + .long 1072905224 + .long 1603444721 + .long 1072912069 + .long 926591435 + .long 1072918951 + .long 1829099622 + .long 1072925870 + .long 887463927 + .long 1072932827 + .long 3272845541 + .long 1072939821 + .long 1276261410 + .long 1072946854 + .long 78413852 + .long 1072953925 + .long 569847338 + .long 1072961034 + .long 3645941911 + .long 1072968181 + .long 1617004845 + .long 1072975368 + .long 3978100823 + .long 1072982593 + .long 3049340112 + .long 1072989858 + .long 4040676318 + .long 1072997162 + .long 3577096743 + .long 1073004506 + .long 2583551245 + .long 1073011890 + .long 1990012071 + .long 1073019314 + .long 2731501122 + .long 1073026778 + .long 1453150082 + .long 1073034283 + .long 3395129871 + .long 1073041828 + .long 917841882 + .long 1073049415 + .long 3566716925 + .long 1073057042 + .long 3712504873 + .long 1073064711 + .long 2321106615 + .long 1073072422 + .long 363667784 + .long 1073080175 + .long 3111574537 + .long 1073087969 + .long 2956612997 + .long 1073095806 + .long 885834528 + .long 1073103686 + .long 2186617381 + .long 1073111608 + .long 3561793907 + .long 1073119573 + .long 1719614413 + .long 1073127582 + .long 1963711167 + .long 1073135634 + .long 1013258799 + .long 1073143730 + .long 4182873220 + .long 1073151869 + .long 3907805044 + .long 1073160053 + .long 1218806132 + .long 1073168282 + .long 1447192521 + .long 1073176555 + .long 1339972927 + .long 1073184873 + .long 1944781191 + .long 1073193236 + .long 19972402 + .long 1073201645 + .long 919555682 + .long 1073210099 + .long 1413356050 + .long 1073218599 + .long 2571947539 + .long 1073227145 + .long 1176749997 + .long 1073235738 + .long 2604962541 + .long 1073244377 + .long 3649726105 + .long 1073253063 + .long 1110089947 + .long 1073261797 + .long 380978316 + .long 1073270578 + .long 2568320822 + .long 1073279406 + .long 194117574 + .long 1073288283 + .long 2966275557 + .long 1073297207 + .long 3418903055 + .long 1073306180 + .long 2682146384 + .long 1073315202 + .long 1892288442 + .long 1073324273 + .long 2191782032 + .long 1073333393 + .long 434316067 + .long 1073342563 + .long 2069751141 + .long 1073351782 + .long 3964284211 + .long 1073361051 + .long 2990417245 + .long 1073370371 + .long 321958744 + .long 1073379742 + .long 1434058175 + .long 1073389163 + .long 3218338682 + .long 1073398635 + .long 2572866477 + .long 1073408159 + .long 697153126 + .long 1073417735 + .long 3092190715 + .long 1073427362 + .long 2380618042 + .long 1073437042 + .long 4076559943 + .long 1073446774 + .long 815859274 + .long 1073456560 + .long 2420883922 + .long 1073466398 + .long 1540824585 + .long 1073476290 + .long 3716502172 + .long 1073486235 + .long 1610600570 + .long 1073496235 + .long 777507147 + .long 1073506289 + .long 2483480501 + .long 1073516397 + .long 3706687593 + .long 1073526560 + .long 1432208378 + .long 1073536779 + .long 1242007932 + .long 1073547053 + .long 135105010 + .long 1073557383 + .long 3707479175 + .long 1073567768 + .long 382305176 + .long 1073578211 + .long 64696965 + .long 1073588710 + .long 4076975200 + .long 1073599265 + .long 863738719 + .long 1073609879 + .long 351641897 + .long 1073620550 + .long 3884662774 + .long 1073631278 + .long 4224142467 + .long 1073642065 + .long 2728693978 + .long 1073652911 + .long 764307441 + .long 1073663816 + .long 3999357479 + .long 1073674779 + .long 929806999 + .long 1073685803 + .long 1533953344 + .long 1073696886 + .long 2912730644 + .long 1073708029 + .long 2174652632 + .long 1073719233 + .long 730821105 + .long 1073730498 + .long 158966641 + .long 1081774927 + .long 158966641 + .long 1081774927 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1127776256 + .long 0 + .long 1127776256 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1352663040 + .long 1063470099 + .long 1352663040 + .long 1063470099 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2646727321 + .long 3171991585 + .long 2646727321 + .long 3171991585 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3149223190 + .long 1073900465 + .long 3149223190 + .long 1073900465 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3342657763 + .long 1074083108 + .long 3342657763 + .long 1074083108 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2446125707 + .long 1073760005 + .long 2446125707 + .long 1073760005 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1971641177 + .long 1072872822 + .long 1971641177 + .long 1072872822 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1056635732 + .long 1071727808 + .long 1056635732 + .long 1071727808 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4293918720 + .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 127 + .long 127 + .long 127 + .long 127 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1081293424 + .long 1081293424 + .long 1081293424 + .long 1081293424 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_dexp10_data_internal,@object + .size __svml_dexp10_data_internal,1856 + .align 32 + +__dexp10_la__imldExp10Tab: + .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 158966641 + .long 1080726351 + .long 0 + .long 1127743488 + .long 3149223189 + .long 1073900465 + .long 3342651914 + .long 1074083108 + .long 2447555600 + .long 1073760005 + .long 3091263679 + .long 1072872823 + .long 2277968517 + .long 1071727228 + .long 1352628734 + .long 1081295891 + .long 1190603329 + .long 3228777073 + .long 1189309266 + .long 3228842423 + .long 1352597504 + .long 1064518675 + .long 3296479949 + .long 1025408956 + .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 __dexp10_la__imldExp10Tab,@object + .size __dexp10_la__imldExp10Tab,1176 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core-sse.S new file mode 100644 index 0000000000..260c052143 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized exp10, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_exp10 _ZGVdN4v_exp10_sse_wrapper +#include "../svml_d_exp104_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core.c new file mode 100644 index 0000000000..e3e302be72 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized exp10, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_exp10 +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_exp10, __GI__ZGVdN4v_exp10, __redirect__ZGVdN4v_exp10) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core_avx2.S new file mode 100644 index 0000000000..8c4e582775 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core_avx2.S @@ -0,0 +1,1503 @@ +/* Function exp vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * exp10(x) = 2^x/log10(2) = 2^n * (1 + T[j]) * (1 + P(y)) + * where + * x = m*log10(2)/K + y, y in [-log10(2)/K..log10(2)/K] + * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * + * values of 2^j/K are tabulated + * + * P(y) is a minimax polynomial approximation of exp10(x)-1 + * on small interval [-log10(2)/K..log10(2)/K] + * + * Special cases: + * + * exp10(NaN) = NaN + * exp10(+INF) = +INF + * exp10(-INF) = 0 + * exp10(x) = 1 for subnormals + * For IEEE double + * if x > 3.39782712893383973096e+02 then exp10(x) overflow + * if x < -3.45133219101941108420e+02 then exp10(x) underflow + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_exp10_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea __svml_dexp10_data_internal(%rip), %rax + vmovapd %ymm0, %ymm2 + vmovupd 1088+__svml_dexp10_data_internal(%rip), %ymm3 + +/* Load arument */ + vmovupd 1024+__svml_dexp10_data_internal(%rip), %ymm0 + vmovups %ymm12, 224(%rsp) + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + +/* R */ + vmovupd 1152+__svml_dexp10_data_internal(%rip), %ymm12 + vmovups %ymm13, 256(%rsp) + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + +/* + * Polynomial + * poly(dN) = a1*dR+...+a5*dR^5 + */ + vmovupd 1536+__svml_dexp10_data_internal(%rip), %ymm13 + vfmadd213pd %ymm3, %ymm2, %ymm0 + vmovups %ymm8, 32(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm15, 320(%rsp) + vsubpd %ymm3, %ymm0, %ymm1 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vfnmadd213pd %ymm2, %ymm1, %ymm12 + +/* Check for overflow\underflow */ + vextractf128 $1, %ymm2, %xmm4 + vfnmadd132pd 1216+__svml_dexp10_data_internal(%rip), %ymm12, %ymm1 + vshufps $221, %xmm4, %xmm2, %xmm5 + vandps 1728+__svml_dexp10_data_internal(%rip), %xmm5, %xmm6 + vpcmpgtd 1792+__svml_dexp10_data_internal(%rip), %xmm6, %xmm7 + vmovmskps %xmm7, %edx + vfmadd213pd 1472+__svml_dexp10_data_internal(%rip), %ymm1, %ymm13 + vfmadd213pd 1408+__svml_dexp10_data_internal(%rip), %ymm1, %ymm13 + vfmadd213pd 1344+__svml_dexp10_data_internal(%rip), %ymm1, %ymm13 + +/* a1+...+a5*dR^4 ! */ + vfmadd213pd 1280+__svml_dexp10_data_internal(%rip), %ymm1, %ymm13 + +/* a1*dR+...+a5*dR^5 */ + vmulpd %ymm13, %ymm1, %ymm1 + +/* Index and lookup */ + vextractf128 $1, %ymm0, %xmm3 + +/* 2^N */ + vpsllq $45, %ymm0, %ymm11 + vshufps $136, %xmm3, %xmm0, %xmm4 + vandps 1664+__svml_dexp10_data_internal(%rip), %xmm4, %xmm5 + +/* iIndex*=sizeof(D); */ + vpslld $3, %xmm5, %xmm8 + vmovd %xmm8, %ecx + +/* lM==EXP(2^N) */ + vpand 1600+__svml_dexp10_data_internal(%rip), %ymm11, %ymm15 + vpextrd $2, %xmm8, %r9d + movslq %ecx, %rcx + vpextrd $1, %xmm8, %r8d + movslq %r9d, %r9 + vpextrd $3, %xmm8, %r10d + movslq %r8d, %r8 + movslq %r10d, %r10 + vmovsd (%rax,%rcx), %xmm6 + vmovsd (%rax,%r9), %xmm9 + vmovhpd (%rax,%r8), %xmm6, %xmm7 + vmovhpd (%rax,%r10), %xmm9, %xmm10 + vinsertf128 $1, %xmm10, %ymm7, %ymm14 + +/* Tj*poly */ + vfmadd213pd %ymm14, %ymm14, %ymm1 + +/* quick 2^N */ + vpaddq %ymm15, %ymm1, %ymm0 + +/* Finish */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm2, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dexp10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_exp10_avx2) + + .align 16,0x90 + +__svml_dexp10_cout_rare_internal: + + cfi_startproc + + 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+__dexp10_la__imldExp10Tab(%rip), %xmm0 + comisd %xmm6, %xmm0 + jb .LBL_2_14 + comisd 1096+__dexp10_la__imldExp10Tab(%rip), %xmm6 + jb .LBL_2_13 + movsd 1024+__dexp10_la__imldExp10Tab(%rip), %xmm0 + movaps %xmm6, %xmm5 + mulsd %xmm6, %xmm0 + lea __dexp10_la__imldExp10Tab(%rip), %r10 + movsd %xmm0, -24(%rsp) + movsd -24(%rsp), %xmm1 + movq 1136+__dexp10_la__imldExp10Tab(%rip), %rdx + movq %rdx, -8(%rsp) + addsd 1032+__dexp10_la__imldExp10Tab(%rip), %xmm1 + movsd %xmm1, -16(%rsp) + movsd -16(%rsp), %xmm2 + movl -16(%rsp), %r8d + movl %r8d, %ecx + andl $63, %r8d + subsd 1032+__dexp10_la__imldExp10Tab(%rip), %xmm2 + movsd %xmm2, -24(%rsp) + lea 1(%r8,%r8), %r9d + movsd -24(%rsp), %xmm3 + lea (%r8,%r8), %edi + mulsd 1104+__dexp10_la__imldExp10Tab(%rip), %xmm3 + movsd -24(%rsp), %xmm4 + subsd %xmm3, %xmm5 + mulsd 1112+__dexp10_la__imldExp10Tab(%rip), %xmm4 + movsd 1072+__dexp10_la__imldExp10Tab(%rip), %xmm2 + subsd %xmm4, %xmm5 + mulsd %xmm5, %xmm2 + shrl $6, %ecx + addsd 1064+__dexp10_la__imldExp10Tab(%rip), %xmm2 + comisd 1088+__dexp10_la__imldExp10Tab(%rip), %xmm6 + mulsd %xmm5, %xmm2 + movsd (%r10,%rdi,8), %xmm0 + lea 1023(%rcx), %edx + addsd 1056+__dexp10_la__imldExp10Tab(%rip), %xmm2 + mulsd %xmm5, %xmm2 + addsd 1048+__dexp10_la__imldExp10Tab(%rip), %xmm2 + mulsd %xmm5, %xmm2 + addsd 1040+__dexp10_la__imldExp10Tab(%rip), %xmm2 + mulsd %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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%rip), %xmm11 + movsd %xmm11, -40(%rsp) + movsd -32(%rsp), %xmm12 + mulsd 1160+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%rip), %xmm0 + movl $4, %eax + mulsd %xmm0, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_14: + movsd 1128+__dexp10_la__imldExp10Tab(%rip), %xmm0 + movl $3, %eax + mulsd %xmm0, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_15: + movsd 1144+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%rip), %rdx + movq %rdx, (%rsi) + ret + + cfi_endproc + + .type __svml_dexp10_cout_rare_internal,@function + .size __svml_dexp10_cout_rare_internal,.-__svml_dexp10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dexp10_data_internal: + .long 0 + .long 1072693248 + .long 2851812149 + .long 1072698941 + .long 1048019041 + .long 1072704666 + .long 3899555717 + .long 1072710421 + .long 3541402996 + .long 1072716208 + .long 702412510 + .long 1072722027 + .long 410360776 + .long 1072727877 + .long 3402036099 + .long 1072733758 + .long 1828292879 + .long 1072739672 + .long 728909815 + .long 1072745618 + .long 852742562 + .long 1072751596 + .long 2952712987 + .long 1072757606 + .long 3490863953 + .long 1072763649 + .long 3228316108 + .long 1072769725 + .long 2930322912 + .long 1072775834 + .long 3366293073 + .long 1072781976 + .long 1014845819 + .long 1072788152 + .long 948735466 + .long 1072794361 + .long 3949972341 + .long 1072800603 + .long 2214878420 + .long 1072806880 + .long 828946858 + .long 1072813191 + .long 586995997 + .long 1072819536 + .long 2288159958 + .long 1072825915 + .long 2440944790 + .long 1072832329 + .long 1853186616 + .long 1072838778 + .long 1337108031 + .long 1072845262 + .long 1709341917 + .long 1072851781 + .long 3790955393 + .long 1072858335 + .long 4112506593 + .long 1072864925 + .long 3504003472 + .long 1072871551 + .long 2799960843 + .long 1072878213 + .long 2839424854 + .long 1072884911 + .long 171030293 + .long 1072891646 + .long 4232894513 + .long 1072898416 + .long 2992903935 + .long 1072905224 + .long 1603444721 + .long 1072912069 + .long 926591435 + .long 1072918951 + .long 1829099622 + .long 1072925870 + .long 887463927 + .long 1072932827 + .long 3272845541 + .long 1072939821 + .long 1276261410 + .long 1072946854 + .long 78413852 + .long 1072953925 + .long 569847338 + .long 1072961034 + .long 3645941911 + .long 1072968181 + .long 1617004845 + .long 1072975368 + .long 3978100823 + .long 1072982593 + .long 3049340112 + .long 1072989858 + .long 4040676318 + .long 1072997162 + .long 3577096743 + .long 1073004506 + .long 2583551245 + .long 1073011890 + .long 1990012071 + .long 1073019314 + .long 2731501122 + .long 1073026778 + .long 1453150082 + .long 1073034283 + .long 3395129871 + .long 1073041828 + .long 917841882 + .long 1073049415 + .long 3566716925 + .long 1073057042 + .long 3712504873 + .long 1073064711 + .long 2321106615 + .long 1073072422 + .long 363667784 + .long 1073080175 + .long 3111574537 + .long 1073087969 + .long 2956612997 + .long 1073095806 + .long 885834528 + .long 1073103686 + .long 2186617381 + .long 1073111608 + .long 3561793907 + .long 1073119573 + .long 1719614413 + .long 1073127582 + .long 1963711167 + .long 1073135634 + .long 1013258799 + .long 1073143730 + .long 4182873220 + .long 1073151869 + .long 3907805044 + .long 1073160053 + .long 1218806132 + .long 1073168282 + .long 1447192521 + .long 1073176555 + .long 1339972927 + .long 1073184873 + .long 1944781191 + .long 1073193236 + .long 19972402 + .long 1073201645 + .long 919555682 + .long 1073210099 + .long 1413356050 + .long 1073218599 + .long 2571947539 + .long 1073227145 + .long 1176749997 + .long 1073235738 + .long 2604962541 + .long 1073244377 + .long 3649726105 + .long 1073253063 + .long 1110089947 + .long 1073261797 + .long 380978316 + .long 1073270578 + .long 2568320822 + .long 1073279406 + .long 194117574 + .long 1073288283 + .long 2966275557 + .long 1073297207 + .long 3418903055 + .long 1073306180 + .long 2682146384 + .long 1073315202 + .long 1892288442 + .long 1073324273 + .long 2191782032 + .long 1073333393 + .long 434316067 + .long 1073342563 + .long 2069751141 + .long 1073351782 + .long 3964284211 + .long 1073361051 + .long 2990417245 + .long 1073370371 + .long 321958744 + .long 1073379742 + .long 1434058175 + .long 1073389163 + .long 3218338682 + .long 1073398635 + .long 2572866477 + .long 1073408159 + .long 697153126 + .long 1073417735 + .long 3092190715 + .long 1073427362 + .long 2380618042 + .long 1073437042 + .long 4076559943 + .long 1073446774 + .long 815859274 + .long 1073456560 + .long 2420883922 + .long 1073466398 + .long 1540824585 + .long 1073476290 + .long 3716502172 + .long 1073486235 + .long 1610600570 + .long 1073496235 + .long 777507147 + .long 1073506289 + .long 2483480501 + .long 1073516397 + .long 3706687593 + .long 1073526560 + .long 1432208378 + .long 1073536779 + .long 1242007932 + .long 1073547053 + .long 135105010 + .long 1073557383 + .long 3707479175 + .long 1073567768 + .long 382305176 + .long 1073578211 + .long 64696965 + .long 1073588710 + .long 4076975200 + .long 1073599265 + .long 863738719 + .long 1073609879 + .long 351641897 + .long 1073620550 + .long 3884662774 + .long 1073631278 + .long 4224142467 + .long 1073642065 + .long 2728693978 + .long 1073652911 + .long 764307441 + .long 1073663816 + .long 3999357479 + .long 1073674779 + .long 929806999 + .long 1073685803 + .long 1533953344 + .long 1073696886 + .long 2912730644 + .long 1073708029 + .long 2174652632 + .long 1073719233 + .long 730821105 + .long 1073730498 + .long 158966641 + .long 1081774927 + .long 158966641 + .long 1081774927 + .long 158966641 + .long 1081774927 + .long 158966641 + .long 1081774927 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1127776256 + .long 0 + .long 1127776256 + .long 0 + .long 1127776256 + .long 0 + .long 1127776256 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1352663040 + .long 1063470099 + .long 1352663040 + .long 1063470099 + .long 1352663040 + .long 1063470099 + .long 1352663040 + .long 1063470099 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2646727321 + .long 3171991585 + .long 2646727321 + .long 3171991585 + .long 2646727321 + .long 3171991585 + .long 2646727321 + .long 3171991585 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3149223190 + .long 1073900465 + .long 3149223190 + .long 1073900465 + .long 3149223190 + .long 1073900465 + .long 3149223190 + .long 1073900465 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3342657763 + .long 1074083108 + .long 3342657763 + .long 1074083108 + .long 3342657763 + .long 1074083108 + .long 3342657763 + .long 1074083108 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2446125707 + .long 1073760005 + .long 2446125707 + .long 1073760005 + .long 2446125707 + .long 1073760005 + .long 2446125707 + .long 1073760005 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1971641177 + .long 1072872822 + .long 1971641177 + .long 1072872822 + .long 1971641177 + .long 1072872822 + .long 1971641177 + .long 1072872822 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1056635732 + .long 1071727808 + .long 1056635732 + .long 1071727808 + .long 1056635732 + .long 1071727808 + .long 1056635732 + .long 1071727808 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4293918720 + .long 0 + .long 4293918720 + .long 0 + .long 4293918720 + .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 + .long 127 + .long 127 + .long 127 + .long 127 + .long 127 + .long 127 + .long 127 + .long 127 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1081293424 + .long 1081293424 + .long 1081293424 + .long 1081293424 + .long 1081293424 + .long 1081293424 + .long 1081293424 + .long 1081293424 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_dexp10_data_internal,@object + .size __svml_dexp10_data_internal,1856 + .align 32 + +__dexp10_la__imldExp10Tab: + .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 158966641 + .long 1080726351 + .long 0 + .long 1127743488 + .long 3149223189 + .long 1073900465 + .long 3342651914 + .long 1074083108 + .long 2447555600 + .long 1073760005 + .long 3091263679 + .long 1072872823 + .long 2277968517 + .long 1071727228 + .long 1352628734 + .long 1081295891 + .long 1190603329 + .long 3228777073 + .long 1189309266 + .long 3228842423 + .long 1352597504 + .long 1064518675 + .long 3296479949 + .long 1025408956 + .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 __dexp10_la__imldExp10Tab,@object + .size __dexp10_la__imldExp10Tab,1176 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core-avx2.S new file mode 100644 index 0000000000..3aff9446d3 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized exp10, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_exp10 _ZGVeN8v_exp10_avx2_wrapper +#include "../svml_d_exp108_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core.c new file mode 100644 index 0000000000..d592663169 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized exp10, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_exp10 +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_exp10, __GI__ZGVeN8v_exp10, __redirect__ZGVeN8v_exp10) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core_avx512.S new file mode 100644 index 0000000000..5a693e3cdf --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core_avx512.S @@ -0,0 +1,987 @@ +/* Function exp vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * Typical exp10() 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 + * - SAE used to avoid spurious flag settings + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_exp10_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups 256+__svml_dexp10_data_internal_avx512(%rip), %zmm4 + vmovups 320+__svml_dexp10_data_internal_avx512(%rip), %zmm2 + vmovups 384+__svml_dexp10_data_internal_avx512(%rip), %zmm5 + vmovups 448+__svml_dexp10_data_internal_avx512(%rip), %zmm3 + +/* polynomial */ + vmovups 576+__svml_dexp10_data_internal_avx512(%rip), %zmm6 + vmovups 704+__svml_dexp10_data_internal_avx512(%rip), %zmm7 + vmovups 768+__svml_dexp10_data_internal_avx512(%rip), %zmm9 + vmovups 832+__svml_dexp10_data_internal_avx512(%rip), %zmm8 + vmovups 896+__svml_dexp10_data_internal_avx512(%rip), %zmm11 + vmovups 1024+__svml_dexp10_data_internal_avx512(%rip), %zmm14 + vmovaps %zmm0, %zmm1 + +/* 2^(52-4)*1.5 + x * log2(e) */ + vfmadd213pd {rz-sae}, %zmm2, %zmm1, %zmm4 + vandpd 960+__svml_dexp10_data_internal_avx512(%rip), %zmm1, %zmm13 + +/* Z0 ~ x*log2(e), rounded down to 4 fractional bits */ + vsubpd {rn-sae}, %zmm2, %zmm4, %zmm0 + +/* Table lookup: Th */ + vmovups __svml_dexp10_data_internal_avx512(%rip), %zmm2 + vcmppd $29, {sae}, %zmm14, %zmm13, %k0 + +/* R = x - Z0*log(2) */ + vfnmadd213pd {rn-sae}, %zmm1, %zmm0, %zmm5 + vpermt2pd 64+__svml_dexp10_data_internal_avx512(%rip), %zmm4, %zmm2 + kmovw %k0, %edx + vfnmadd231pd {rn-sae}, %zmm0, %zmm3, %zmm5 + vmovups 640+__svml_dexp10_data_internal_avx512(%rip), %zmm3 + +/* ensure |R|<2 even for special cases */ + vandpd 512+__svml_dexp10_data_internal_avx512(%rip), %zmm5, %zmm12 + vmulpd {rn-sae}, %zmm12, %zmm12, %zmm10 + vmulpd {rn-sae}, %zmm12, %zmm2, %zmm15 + vfmadd231pd {rn-sae}, %zmm12, %zmm6, %zmm3 + vfmadd231pd {rn-sae}, %zmm12, %zmm7, %zmm9 + vfmadd231pd {rn-sae}, %zmm12, %zmm8, %zmm11 + vfmadd213pd {rn-sae}, %zmm9, %zmm10, %zmm3 + vfmadd213pd {rn-sae}, %zmm11, %zmm10, %zmm3 + vfmadd213pd {rn-sae}, %zmm2, %zmm15, %zmm3 + vscalefpd {rn-sae}, %zmm0, %zmm3, %zmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + vmovups %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 $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_dexp10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN8v_exp10_skx) + + .align 16,0x90 + +__svml_dexp10_cout_rare_internal: + + cfi_startproc + + 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+__dexp10_la__imldExp10Tab(%rip), %xmm0 + comisd %xmm6, %xmm0 + jb .LBL_2_14 + comisd 1096+__dexp10_la__imldExp10Tab(%rip), %xmm6 + jb .LBL_2_13 + movsd 1024+__dexp10_la__imldExp10Tab(%rip), %xmm0 + movaps %xmm6, %xmm5 + mulsd %xmm6, %xmm0 + lea __dexp10_la__imldExp10Tab(%rip), %r10 + movsd %xmm0, -24(%rsp) + movsd -24(%rsp), %xmm1 + movq 1136+__dexp10_la__imldExp10Tab(%rip), %rdx + movq %rdx, -8(%rsp) + addsd 1032+__dexp10_la__imldExp10Tab(%rip), %xmm1 + movsd %xmm1, -16(%rsp) + movsd -16(%rsp), %xmm2 + movl -16(%rsp), %r8d + movl %r8d, %ecx + andl $63, %r8d + subsd 1032+__dexp10_la__imldExp10Tab(%rip), %xmm2 + movsd %xmm2, -24(%rsp) + lea 1(%r8,%r8), %r9d + movsd -24(%rsp), %xmm3 + lea (%r8,%r8), %edi + mulsd 1104+__dexp10_la__imldExp10Tab(%rip), %xmm3 + movsd -24(%rsp), %xmm4 + subsd %xmm3, %xmm5 + mulsd 1112+__dexp10_la__imldExp10Tab(%rip), %xmm4 + movsd 1072+__dexp10_la__imldExp10Tab(%rip), %xmm2 + subsd %xmm4, %xmm5 + mulsd %xmm5, %xmm2 + shrl $6, %ecx + addsd 1064+__dexp10_la__imldExp10Tab(%rip), %xmm2 + comisd 1088+__dexp10_la__imldExp10Tab(%rip), %xmm6 + mulsd %xmm5, %xmm2 + movsd (%r10,%rdi,8), %xmm0 + lea 1023(%rcx), %edx + addsd 1056+__dexp10_la__imldExp10Tab(%rip), %xmm2 + mulsd %xmm5, %xmm2 + addsd 1048+__dexp10_la__imldExp10Tab(%rip), %xmm2 + mulsd %xmm5, %xmm2 + addsd 1040+__dexp10_la__imldExp10Tab(%rip), %xmm2 + mulsd %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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%rip), %xmm11 + movsd %xmm11, -40(%rsp) + movsd -32(%rsp), %xmm12 + mulsd 1160+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%rip), %xmm0 + movl $4, %eax + mulsd %xmm0, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_14: + movsd 1128+__dexp10_la__imldExp10Tab(%rip), %xmm0 + movl $3, %eax + mulsd %xmm0, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_15: + movsd 1144+__dexp10_la__imldExp10Tab(%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+__dexp10_la__imldExp10Tab(%rip), %rdx + movq %rdx, (%rsi) + ret + + cfi_endproc + + .type __svml_dexp10_cout_rare_internal,@function + .size __svml_dexp10_cout_rare_internal,.-__svml_dexp10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dexp10_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 158966641 + .long 1074434895 + .long 158966641 + .long 1074434895 + .long 158966641 + .long 1074434895 + .long 158966641 + .long 1074434895 + .long 158966641 + .long 1074434895 + .long 158966641 + .long 1074434895 + .long 158966641 + .long 1074434895 + .long 158966641 + .long 1074434895 + .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 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 2845113633 + .long 3158957085 + .long 2845113633 + .long 3158957085 + .long 2845113633 + .long 3158957085 + .long 2845113633 + .long 3158957085 + .long 2845113633 + .long 3158957085 + .long 2845113633 + .long 3158957085 + .long 2845113633 + .long 3158957085 + .long 2845113633 + .long 3158957085 + .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 3635159072 + .long 1070273406 + .long 3635159072 + .long 1070273406 + .long 3635159072 + .long 1070273406 + .long 3635159072 + .long 1070273406 + .long 3635159072 + .long 1070273406 + .long 3635159072 + .long 1070273406 + .long 3635159072 + .long 1070273406 + .long 3635159072 + .long 1070273406 + .long 3796866084 + .long 1071727016 + .long 3796866084 + .long 1071727016 + .long 3796866084 + .long 1071727016 + .long 3796866084 + .long 1071727016 + .long 3796866084 + .long 1071727016 + .long 3796866084 + .long 1071727016 + .long 3796866084 + .long 1071727016 + .long 3796866084 + .long 1071727016 + .long 2693950621 + .long 1072872823 + .long 2693950621 + .long 1072872823 + .long 2693950621 + .long 1072872823 + .long 2693950621 + .long 1072872823 + .long 2693950621 + .long 1072872823 + .long 2693950621 + .long 1072872823 + .long 2693950621 + .long 1072872823 + .long 2693950621 + .long 1072872823 + .long 2424767688 + .long 1073760005 + .long 2424767688 + .long 1073760005 + .long 2424767688 + .long 1073760005 + .long 2424767688 + .long 1073760005 + .long 2424767688 + .long 1073760005 + .long 2424767688 + .long 1073760005 + .long 2424767688 + .long 1073760005 + .long 2424767688 + .long 1073760005 + .long 3342728741 + .long 1074083108 + .long 3342728741 + .long 1074083108 + .long 3342728741 + .long 1074083108 + .long 3342728741 + .long 1074083108 + .long 3342728741 + .long 1074083108 + .long 3342728741 + .long 1074083108 + .long 3342728741 + .long 1074083108 + .long 3342728741 + .long 1074083108 + .long 3149223106 + .long 1073900465 + .long 3149223106 + .long 1073900465 + .long 3149223106 + .long 1073900465 + .long 3149223106 + .long 1073900465 + .long 3149223106 + .long 1073900465 + .long 3149223106 + .long 1073900465 + .long 3149223106 + .long 1073900465 + .long 3149223106 + .long 1073900465 + .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 1190603329 + .long 1081293425 + .long 1190603329 + .long 1081293425 + .long 1190603329 + .long 1081293425 + .long 1190603329 + .long 1081293425 + .long 1190603329 + .long 1081293425 + .long 1190603329 + .long 1081293425 + .long 1190603329 + .long 1081293425 + .long 1190603329 + .long 1081293425 + .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_dexp10_data_internal_avx512,@object + .size __svml_dexp10_data_internal_avx512,1280 + .align 32 + +__dexp10_la__imldExp10Tab: + .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 158966641 + .long 1080726351 + .long 0 + .long 1127743488 + .long 3149223189 + .long 1073900465 + .long 3342651914 + .long 1074083108 + .long 2447555600 + .long 1073760005 + .long 3091263679 + .long 1072872823 + .long 2277968517 + .long 1071727228 + .long 1352628734 + .long 1081295891 + .long 1190603329 + .long 3228777073 + .long 1189309266 + .long 3228842423 + .long 1352597504 + .long 1064518675 + .long 3296479949 + .long 1025408956 + .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 __dexp10_la__imldExp10Tab,@object + .size __dexp10_la__imldExp10Tab,1176 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core-avx2.S new file mode 100644 index 0000000000..dda41c9c8f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized exp10f. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_exp10f _ZGVeN16v_exp10f_avx2_wrapper +#include "../svml_s_exp10f16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core.c new file mode 100644 index 0000000000..8176a5912b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized exp10f, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_exp10f +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_exp10f, __GI__ZGVeN16v_exp10f, + __redirect__ZGVeN16v_exp10f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core_avx512.S new file mode 100644 index 0000000000..9b544f49b5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core_avx512.S @@ -0,0 +1,739 @@ +/* Function expf16 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * Typical exp10() 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 + * - SAE used to avoid spurious flag settings + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_exp10f_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups 256+__svml_sexp10_data_internal_avx512(%rip), %zmm2 + vmovups 320+__svml_sexp10_data_internal_avx512(%rip), %zmm1 + vmovups 384+__svml_sexp10_data_internal_avx512(%rip), %zmm5 + vmovups 448+__svml_sexp10_data_internal_avx512(%rip), %zmm4 + +/* ensure |R|<2 even for special cases */ + vmovups 512+__svml_sexp10_data_internal_avx512(%rip), %zmm6 + vmovups 1152+__svml_sexp10_data_internal_avx512(%rip), %zmm9 + +/* 2^(52-4)*1.5 + x * log2(e) */ + vfmadd213ps {rz-sae}, %zmm1, %zmm0, %zmm2 + vmovups 1216+__svml_sexp10_data_internal_avx512(%rip), %zmm10 + vmovups __svml_sexp10_data_internal_avx512(%rip), %zmm8 + vmovups 128+__svml_sexp10_data_internal_avx512(%rip), %zmm15 + vmovups 640+__svml_sexp10_data_internal_avx512(%rip), %zmm13 + vpsrld $5, %zmm2, %zmm3 + +/* Z0 ~ x*log2(e), rounded down to 6 fractional bits */ + vsubps {rn-sae}, %zmm1, %zmm2, %zmm1 + vpermt2ps 64+__svml_sexp10_data_internal_avx512(%rip), %zmm2, %zmm8 + vpermt2ps 192+__svml_sexp10_data_internal_avx512(%rip), %zmm3, %zmm15 + vandps 576+__svml_sexp10_data_internal_avx512(%rip), %zmm0, %zmm12 + +/* R = x - Z0*log(2) */ + vfnmadd213ps {rn-sae}, %zmm0, %zmm1, %zmm5 + vcmpps $29, {sae}, %zmm13, %zmm12, %k0 + vfnmadd231ps {rn-sae}, %zmm1, %zmm4, %zmm5 + kmovw %k0, %edx + vrangeps $2, {sae}, %zmm6, %zmm5, %zmm11 + vfmadd231ps {rn-sae}, %zmm11, %zmm9, %zmm10 + vmulps {rn-sae}, %zmm11, %zmm10, %zmm14 + +/* x!=0? */ + vpxord %zmm7, %zmm7, %zmm7 + vcmpps $4, {sae}, %zmm7, %zmm0, %k1 + +/* Th*Tl */ + vmulps {rn-sae}, %zmm8, %zmm15, %zmm15{%k1} + vfmadd213ps {rn-sae}, %zmm15, %zmm14, %zmm15 + vscalefps {rn-sae}, %zmm1, %zmm15, %zmm1 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovaps %zmm1, %zmm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + vmovups %zmm0, 64(%rsp) + vmovups %zmm1, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + kmovw %k4, 24(%rsp) + kmovw %k5, 16(%rsp) + kmovw %k6, 8(%rsp) + kmovw %k7, (%rsp) + movq %rsi, 40(%rsp) + movq %rdi, 32(%rsp) + movq %r12, 56(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 48(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $16, %r12d + jl .LBL_1_7 + kmovw 24(%rsp), %k4 + cfi_restore(122) + kmovw 16(%rsp), %k5 + cfi_restore(123) + kmovw 8(%rsp), %k6 + cfi_restore(124) + kmovw (%rsp), %k7 + cfi_restore(125) + vmovups 128(%rsp), %zmm1 + movq 40(%rsp), %rsi + cfi_restore(4) + movq 32(%rsp), %rdi + cfi_restore(5) + movq 56(%rsp), %r12 + cfi_restore(12) + movq 48(%rsp), %r13 + cfi_restore(13) + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_sexp10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN16v_exp10f_skx) + + .align 16,0x90 + +__svml_sexp10_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_12 + movss (%rdi), %xmm8 + movss .FLT_55(%rip), %xmm0 + movl %eax, -12(%rsp) + comiss %xmm8, %xmm0 + jb .LBL_2_10 + comiss .FLT_56(%rip), %xmm8 + jb .LBL_2_9 + movss .FLT_58(%rip), %xmm0 + movaps %xmm8, %xmm6 + mulss %xmm8, %xmm0 + comiss .FLT_68(%rip), %xmm8 + movss %xmm0, -24(%rsp) + movss -24(%rsp), %xmm1 + movss .FLT_59(%rip), %xmm2 + movss .FLT_67(%rip), %xmm7 + addss %xmm2, %xmm1 + movss %xmm1, -20(%rsp) + movss -20(%rsp), %xmm3 + movswl -20(%rsp), %ecx + subss %xmm2, %xmm3 + movss %xmm3, -24(%rsp) + movss -24(%rsp), %xmm4 + mulss .FLT_60(%rip), %xmm4 + movss -24(%rsp), %xmm5 + subss %xmm4, %xmm6 + mulss .FLT_61(%rip), %xmm5 + subss %xmm5, %xmm6 + mulss %xmm6, %xmm7 + addss .FLT_66(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_65(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_64(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_63(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_62(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_72(%rip), %xmm7 + movss %xmm7, -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 .FLT_71(%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 .FLT_70(%rip), %xmm1 + movss %xmm1, -16(%rsp) + movl -16(%rsp), %edx + movl %edx, (%rsi) + ret + +.LBL_2_9: + movss .FLT_69(%rip), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, -16(%rsp) + movl -16(%rsp), %eax + movl %eax, (%rsi) + movl $4, %eax + ret + +.LBL_2_10: + movss .FLT_57(%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 + + cfi_endproc + + .type __svml_sexp10_cout_rare_internal,@function + .size __svml_sexp10_cout_rare_internal,.-__svml_sexp10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sexp10_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 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .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 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 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .long 2994079840 + .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 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .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 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 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 1079286392 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .long 865573431 + .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 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1076475866 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .long 1075010957 + .type __svml_sexp10_data_internal_avx512,@object + .size __svml_sexp10_data_internal_avx512,1280 + .align 4 + +.FLT_55: + .long 0x421a209b + .type .FLT_55,@object + .size .FLT_55,4 + .align 4 + +.FLT_56: + .long 0xc2349e35 + .type .FLT_56,@object + .size .FLT_56,4 + .align 4 + +.FLT_57: + .long 0x7f7fffff + .type .FLT_57,@object + .size .FLT_57,4 + .align 4 + +.FLT_58: + .long 0x40549a78 + .type .FLT_58,@object + .size .FLT_58,4 + .align 4 + +.FLT_59: + .long 0x4b400000 + .type .FLT_59,@object + .size .FLT_59,4 + .align 4 + +.FLT_60: + .long 0x3e9a2000 + .type .FLT_60,@object + .size .FLT_60,4 + .align 4 + +.FLT_61: + .long 0x369a84fc + .type .FLT_61,@object + .size .FLT_61,4 + .align 4 + +.FLT_62: + .long 0x40135d8e + .type .FLT_62,@object + .size .FLT_62,4 + .align 4 + +.FLT_63: + .long 0x4029a927 + .type .FLT_63,@object + .size .FLT_63,4 + .align 4 + +.FLT_64: + .long 0x400237ac + .type .FLT_64,@object + .size .FLT_64,4 + .align 4 + +.FLT_65: + .long 0x3f95eb27 + .type .FLT_65,@object + .size .FLT_65,4 + .align 4 + +.FLT_66: + .long 0x3f0ac64a + .type .FLT_66,@object + .size .FLT_66,4 + .align 4 + +.FLT_67: + .long 0x3e54fd23 + .type .FLT_67,@object + .size .FLT_67,4 + .align 4 + +.FLT_68: + .long 0xc217b819 + .type .FLT_68,@object + .size .FLT_68,4 + .align 4 + +.FLT_69: + .long 0x00000001 + .type .FLT_69,@object + .size .FLT_69,4 + .align 4 + +.FLT_70: + .long 0x21800000 + .type .FLT_70,@object + .size .FLT_70,4 + .align 4 + +.FLT_71: + .long 0x40000000 + .type .FLT_71,@object + .size .FLT_71,4 + .align 4 + +.FLT_72: + .long 0x3f800000 + .type .FLT_72,@object + .size .FLT_72,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core-sse2.S new file mode 100644 index 0000000000..460d01357d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized exp10f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_exp10f _ZGVbN4v_exp10f_sse2 +#include "../svml_s_exp10f4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core.c new file mode 100644 index 0000000000..7ce90a9bae --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized exp10f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_exp10f +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_exp10f, __GI__ZGVbN4v_exp10f, + __redirect__ZGVbN4v_exp10f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core_sse4.S new file mode 100644 index 0000000000..152bf2865d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core_sse4.S @@ -0,0 +1,1038 @@ +/* Function expf4 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * exp10(x) = 2^x/log10(2) = 2^n * (1 + T[j]) * (1 + P(y)) + * where + * x = m*log10(2)/K + y, y in [-log10(2)/K..log10(2)/K] + * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * + * values of 2^j/K are tabulated + * + * P(y) is a minimax polynomial approximation of exp10(x)-1 + * on small interval [-log10(2)/K..log10(2)/K] + * + * Special cases: + * + * exp10(NaN) = NaN + * exp10(+INF) = +INF + * exp10(-INF) = 0 + * exp10(x) = 1 for subnormals + * For IEEE float + * if x > 38.5318412780761720 then exp10f(x) overflow + * if x < -45.4555282592773440 then exp10f(x) underflow + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_exp10f_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm4 + +/* Load arument */ + movups 128+__svml_sexp10_data_internal(%rip), %xmm6 + lea __svml_sexp10_data_internal(%rip), %rax + mulps %xmm4, %xmm6 + movups 192+__svml_sexp10_data_internal(%rip), %xmm0 + movdqu 576+__svml_sexp10_data_internal(%rip), %xmm5 + addps %xmm0, %xmm6 + +/* Index and lookup */ + movdqa %xmm5, %xmm3 + movaps %xmm6, %xmm7 + pand %xmm6, %xmm3 + +/* remove index bits */ + pandn %xmm6, %xmm5 + +/* iIndex *= sizeof(S); */ + pslld $2, %xmm3 + +/* 2^N */ + pslld $18, %xmm5 + pshufd $1, %xmm3, %xmm2 + subps %xmm0, %xmm7 + movd %xmm3, %ecx + movd %xmm2, %r8d + pshufd $2, %xmm3, %xmm2 + pshufd $3, %xmm3, %xmm3 + movd %xmm2, %r9d + movd %xmm3, %r10d + +/* Check for overflow\underflow */ + movdqu 640+__svml_sexp10_data_internal(%rip), %xmm1 + pand %xmm4, %xmm1 + movslq %ecx, %rcx + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r10d, %r10 + pcmpgtd 704+__svml_sexp10_data_internal(%rip), %xmm1 + movmskps %xmm1, %edx + movd (%rax,%rcx), %xmm0 + movd (%rax,%r8), %xmm1 + punpckldq %xmm1, %xmm0 + movd (%rax,%r9), %xmm2 + movd (%rax,%r10), %xmm1 + punpckldq %xmm1, %xmm2 + +/* R */ + movaps %xmm4, %xmm1 + punpcklqdq %xmm2, %xmm0 + movups 256+__svml_sexp10_data_internal(%rip), %xmm2 + mulps %xmm7, %xmm2 + movups 320+__svml_sexp10_data_internal(%rip), %xmm3 + subps %xmm2, %xmm1 + mulps %xmm7, %xmm3 + +/* + * Polynomial + * exp10 = 2^N*(Tj+Tj*poly) + * poly(sN) = {1+later} a0+a1*sR + */ + movups 512+__svml_sexp10_data_internal(%rip), %xmm7 + subps %xmm3, %xmm1 + mulps %xmm1, %xmm7 + addps 448+__svml_sexp10_data_internal(%rip), %xmm7 + mulps %xmm7, %xmm1 + addps 384+__svml_sexp10_data_internal(%rip), %xmm1 + +/* Tj_l+Tj_h*poly */ + mulps %xmm0, %xmm1 + addps %xmm1, %xmm0 + +/* quick mul 2^N */ + paddd %xmm5, %xmm0 + +/* Finish */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm4, 192(%rsp) + movups %xmm0, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_sexp10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_exp10f_sse4) + + .align 16,0x90 + +__svml_sexp10_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_12 + movss (%rdi), %xmm8 + movss .FLT_57(%rip), %xmm0 + movl %eax, -12(%rsp) + comiss %xmm8, %xmm0 + jb .LBL_2_10 + comiss .FLT_58(%rip), %xmm8 + jb .LBL_2_9 + movss .FLT_60(%rip), %xmm0 + movaps %xmm8, %xmm6 + mulss %xmm8, %xmm0 + comiss .FLT_70(%rip), %xmm8 + movss %xmm0, -24(%rsp) + movss -24(%rsp), %xmm1 + movss .FLT_61(%rip), %xmm2 + movss .FLT_69(%rip), %xmm7 + addss %xmm2, %xmm1 + movss %xmm1, -20(%rsp) + movss -20(%rsp), %xmm3 + movswl -20(%rsp), %ecx + subss %xmm2, %xmm3 + movss %xmm3, -24(%rsp) + movss -24(%rsp), %xmm4 + mulss .FLT_62(%rip), %xmm4 + movss -24(%rsp), %xmm5 + subss %xmm4, %xmm6 + mulss .FLT_63(%rip), %xmm5 + subss %xmm5, %xmm6 + mulss %xmm6, %xmm7 + addss .FLT_68(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_67(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_66(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_65(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_64(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_74(%rip), %xmm7 + movss %xmm7, -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 .FLT_73(%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 .FLT_72(%rip), %xmm1 + movss %xmm1, -16(%rsp) + movl -16(%rsp), %edx + movl %edx, (%rsi) + ret + +.LBL_2_9: + movss .FLT_71(%rip), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, -16(%rsp) + movl -16(%rsp), %eax + movl %eax, (%rsi) + movl $4, %eax + ret + +.LBL_2_10: + movss .FLT_59(%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 + + cfi_endproc + + .type __svml_sexp10_cout_rare_internal,@function + .size __svml_sexp10_cout_rare_internal,.-__svml_sexp10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sexp10_data_internal: + .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 1121229432 + .long 1121229432 + .long 1121229432 + .long 1121229432 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1008345088 + .long 1008345088 + .long 1008345088 + .long 1008345088 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 874153212 + .long 874153212 + .long 874153212 + .long 874153212 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 804046952 + .long 804046952 + .long 804046952 + .long 804046952 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1075011099 + .long 1075011099 + .long 1075011099 + .long 1075011099 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1076472018 + .long 1076472018 + .long 1076472018 + .long 1076472018 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 31 + .long 31 + .long 31 + .long 31 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_sexp10_data_internal,@object + .size __svml_sexp10_data_internal,768 + .align 4 + +.FLT_57: + .long 0x421a209b + .type .FLT_57,@object + .size .FLT_57,4 + .align 4 + +.FLT_58: + .long 0xc2349e35 + .type .FLT_58,@object + .size .FLT_58,4 + .align 4 + +.FLT_59: + .long 0x7f7fffff + .type .FLT_59,@object + .size .FLT_59,4 + .align 4 + +.FLT_60: + .long 0x40549a78 + .type .FLT_60,@object + .size .FLT_60,4 + .align 4 + +.FLT_61: + .long 0x4b400000 + .type .FLT_61,@object + .size .FLT_61,4 + .align 4 + +.FLT_62: + .long 0x3e9a2000 + .type .FLT_62,@object + .size .FLT_62,4 + .align 4 + +.FLT_63: + .long 0x369a84fc + .type .FLT_63,@object + .size .FLT_63,4 + .align 4 + +.FLT_64: + .long 0x40135d8e + .type .FLT_64,@object + .size .FLT_64,4 + .align 4 + +.FLT_65: + .long 0x4029a927 + .type .FLT_65,@object + .size .FLT_65,4 + .align 4 + +.FLT_66: + .long 0x400237ac + .type .FLT_66,@object + .size .FLT_66,4 + .align 4 + +.FLT_67: + .long 0x3f95eb27 + .type .FLT_67,@object + .size .FLT_67,4 + .align 4 + +.FLT_68: + .long 0x3f0ac64a + .type .FLT_68,@object + .size .FLT_68,4 + .align 4 + +.FLT_69: + .long 0x3e54fd23 + .type .FLT_69,@object + .size .FLT_69,4 + .align 4 + +.FLT_70: + .long 0xc217b819 + .type .FLT_70,@object + .size .FLT_70,4 + .align 4 + +.FLT_71: + .long 0x00000001 + .type .FLT_71,@object + .size .FLT_71,4 + .align 4 + +.FLT_72: + .long 0x21800000 + .type .FLT_72,@object + .size .FLT_72,4 + .align 4 + +.FLT_73: + .long 0x40000000 + .type .FLT_73,@object + .size .FLT_73,4 + .align 4 + +.FLT_74: + .long 0x3f800000 + .type .FLT_74,@object + .size .FLT_74,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core-sse.S new file mode 100644 index 0000000000..3f3fe252da --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized exp10f, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_exp10f _ZGVdN8v_exp10f_sse_wrapper +#include "../svml_s_exp10f8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core.c new file mode 100644 index 0000000000..1f5ed5a59d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized exp10f, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_exp10f +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_exp10f, __GI__ZGVdN8v_exp10f, + __redirect__ZGVdN8v_exp10f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core_avx2.S new file mode 100644 index 0000000000..9bc9822c3d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core_avx2.S @@ -0,0 +1,923 @@ +/* Function expf8 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * exp10(x) = 2^x/log10(2) = 2^n * (1 + T[j]) * (1 + P(y)) + * where + * x = m*log10(2)/K + y, y in [-log10(2)/K..log10(2)/K] + * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * + * values of 2^j/K are tabulated + * + * P(y) is a minimax polynomial approximation of exp10(x)-1 + * on small interval [-log10(2)/K..log10(2)/K] + * + * Special cases: + * + * exp10(NaN) = NaN + * exp10(+INF) = +INF + * exp10(-INF) = 0 + * exp10(x) = 1 for subnormals + * For IEEE float + * if x > 38.5318412780761720 then exp10f(x) overflow + * if x < -45.4555282592773440 then exp10f(x) underflow + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_exp10f_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea __svml_sexp10_data_internal(%rip), %rax + vmovups 192+__svml_sexp10_data_internal(%rip), %ymm4 + +/* Load arument */ + vmovups 128+__svml_sexp10_data_internal(%rip), %ymm1 + vmovups 576+__svml_sexp10_data_internal(%rip), %ymm2 + vmovups %ymm9, 96(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + vmovaps %ymm0, %ymm3 + vfmadd213ps %ymm4, %ymm3, %ymm1 + +/* Check for overflow\underflow */ + vandps 640+__svml_sexp10_data_internal(%rip), %ymm3, %ymm5 + vpcmpgtd 704+__svml_sexp10_data_internal(%rip), %ymm5, %ymm6 + +/* Index and lookup */ + vandps %ymm2, %ymm1, %ymm7 + vmovmskps %ymm6, %edx + +/* iIndex *= sizeof(S); */ + vpslld $2, %ymm7, %ymm6 + vsubps %ymm4, %ymm1, %ymm0 + vmovd %xmm6, %ecx + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vextractf128 $1, %ymm6, %xmm14 + vpextrd $1, %xmm6, %r8d + movslq %ecx, %rcx + movslq %r8d, %r8 + vpextrd $2, %xmm6, %r9d + vpextrd $3, %xmm6, %r10d + vmovd (%rax,%rcx), %xmm4 + vmovd (%rax,%r8), %xmm5 + vpunpckldq %xmm5, %xmm4, %xmm9 + +/* R */ + vmovups 256+__svml_sexp10_data_internal(%rip), %ymm5 + vmovd %xmm14, %r11d + vfnmadd213ps %ymm3, %ymm0, %ymm5 + movslq %r9d, %r9 + movslq %r10d, %r10 + vfnmadd132ps 320+__svml_sexp10_data_internal(%rip), %ymm5, %ymm0 + vmovd (%rax,%r9), %xmm7 + vmovd (%rax,%r10), %xmm8 + vpunpckldq %xmm8, %xmm7, %xmm10 + +/* + * Polynomial + * exp10 = 2^N*(Tj+Tj*poly) + * poly(sN) = {1+later} a0+a1*sR + */ + vmovups 512+__svml_sexp10_data_internal(%rip), %ymm8 + vpunpcklqdq %xmm10, %xmm9, %xmm11 + vfmadd213ps 448+__svml_sexp10_data_internal(%rip), %ymm0, %ymm8 + vpextrd $1, %xmm14, %ecx + vpextrd $2, %xmm14, %r8d + vpextrd $3, %xmm14, %r9d + movslq %r11d, %r11 + movslq %ecx, %rcx + movslq %r8d, %r8 + movslq %r9d, %r9 + vfmadd213ps 384+__svml_sexp10_data_internal(%rip), %ymm0, %ymm8 + vmovd (%rax,%r11), %xmm12 + vmovd (%rax,%rcx), %xmm13 + vmovd (%rax,%r8), %xmm15 + vmovd (%rax,%r9), %xmm14 + vpunpckldq %xmm13, %xmm12, %xmm6 + vpunpckldq %xmm14, %xmm15, %xmm12 + +/* remove index bits */ + vpandn %ymm1, %ymm2, %ymm0 + vpunpcklqdq %xmm12, %xmm6, %xmm4 + +/* 2^N */ + vpslld $18, %ymm0, %ymm1 + vinsertf128 $1, %xmm4, %ymm11, %ymm7 + +/* Tj_l+Tj_h*poly */ + vfmadd213ps %ymm7, %ymm7, %ymm8 + +/* quick mul 2^N */ + vpaddd %ymm1, %ymm8, %ymm0 + +/* Finish */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm3, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_sexp10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_exp10f_avx2) + + .align 16,0x90 + +__svml_sexp10_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_12 + movss (%rdi), %xmm8 + movss .FLT_57(%rip), %xmm0 + movl %eax, -12(%rsp) + comiss %xmm8, %xmm0 + jb .LBL_2_10 + comiss .FLT_58(%rip), %xmm8 + jb .LBL_2_9 + movss .FLT_60(%rip), %xmm0 + movaps %xmm8, %xmm6 + mulss %xmm8, %xmm0 + comiss .FLT_70(%rip), %xmm8 + movss %xmm0, -24(%rsp) + movss -24(%rsp), %xmm1 + movss .FLT_61(%rip), %xmm2 + movss .FLT_69(%rip), %xmm7 + addss %xmm2, %xmm1 + movss %xmm1, -20(%rsp) + movss -20(%rsp), %xmm3 + movswl -20(%rsp), %ecx + subss %xmm2, %xmm3 + movss %xmm3, -24(%rsp) + movss -24(%rsp), %xmm4 + mulss .FLT_62(%rip), %xmm4 + movss -24(%rsp), %xmm5 + subss %xmm4, %xmm6 + mulss .FLT_63(%rip), %xmm5 + subss %xmm5, %xmm6 + mulss %xmm6, %xmm7 + addss .FLT_68(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_67(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_66(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_65(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_64(%rip), %xmm7 + mulss %xmm6, %xmm7 + addss .FLT_74(%rip), %xmm7 + movss %xmm7, -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 .FLT_73(%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 .FLT_72(%rip), %xmm1 + movss %xmm1, -16(%rsp) + movl -16(%rsp), %edx + movl %edx, (%rsi) + ret + +.LBL_2_9: + movss .FLT_71(%rip), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, -16(%rsp) + movl -16(%rsp), %eax + movl %eax, (%rsi) + movl $4, %eax + ret + +.LBL_2_10: + movss .FLT_59(%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 + + cfi_endproc + + .type __svml_sexp10_cout_rare_internal,@function + .size __svml_sexp10_cout_rare_internal,.-__svml_sexp10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sexp10_data_internal: + .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 1121229432 + .long 1121229432 + .long 1121229432 + .long 1121229432 + .long 1121229432 + .long 1121229432 + .long 1121229432 + .long 1121229432 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1008345088 + .long 1008345088 + .long 1008345088 + .long 1008345088 + .long 1008345088 + .long 1008345088 + .long 1008345088 + .long 1008345088 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 874153212 + .long 874153212 + .long 874153212 + .long 874153212 + .long 874153212 + .long 874153212 + .long 874153212 + .long 874153212 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 804046952 + .long 804046952 + .long 804046952 + .long 804046952 + .long 804046952 + .long 804046952 + .long 804046952 + .long 804046952 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1075011099 + .long 1075011099 + .long 1075011099 + .long 1075011099 + .long 1075011099 + .long 1075011099 + .long 1075011099 + .long 1075011099 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1076472018 + .long 1076472018 + .long 1076472018 + .long 1076472018 + .long 1076472018 + .long 1076472018 + .long 1076472018 + .long 1076472018 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .long 1108850712 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_sexp10_data_internal,@object + .size __svml_sexp10_data_internal,768 + .align 4 + +.FLT_57: + .long 0x421a209b + .type .FLT_57,@object + .size .FLT_57,4 + .align 4 + +.FLT_58: + .long 0xc2349e35 + .type .FLT_58,@object + .size .FLT_58,4 + .align 4 + +.FLT_59: + .long 0x7f7fffff + .type .FLT_59,@object + .size .FLT_59,4 + .align 4 + +.FLT_60: + .long 0x40549a78 + .type .FLT_60,@object + .size .FLT_60,4 + .align 4 + +.FLT_61: + .long 0x4b400000 + .type .FLT_61,@object + .size .FLT_61,4 + .align 4 + +.FLT_62: + .long 0x3e9a2000 + .type .FLT_62,@object + .size .FLT_62,4 + .align 4 + +.FLT_63: + .long 0x369a84fc + .type .FLT_63,@object + .size .FLT_63,4 + .align 4 + +.FLT_64: + .long 0x40135d8e + .type .FLT_64,@object + .size .FLT_64,4 + .align 4 + +.FLT_65: + .long 0x4029a927 + .type .FLT_65,@object + .size .FLT_65,4 + .align 4 + +.FLT_66: + .long 0x400237ac + .type .FLT_66,@object + .size .FLT_66,4 + .align 4 + +.FLT_67: + .long 0x3f95eb27 + .type .FLT_67,@object + .size .FLT_67,4 + .align 4 + +.FLT_68: + .long 0x3f0ac64a + .type .FLT_68,@object + .size .FLT_68,4 + .align 4 + +.FLT_69: + .long 0x3e54fd23 + .type .FLT_69,@object + .size .FLT_69,4 + .align 4 + +.FLT_70: + .long 0xc217b819 + .type .FLT_70,@object + .size .FLT_70,4 + .align 4 + +.FLT_71: + .long 0x00000001 + .type .FLT_71,@object + .size .FLT_71,4 + .align 4 + +.FLT_72: + .long 0x21800000 + .type .FLT_72,@object + .size .FLT_72,4 + .align 4 + +.FLT_73: + .long 0x40000000 + .type .FLT_73,@object + .size .FLT_73,4 + .align 4 + +.FLT_74: + .long 0x3f800000 + .type .FLT_74,@object + .size .FLT_74,4 diff --git a/sysdeps/x86_64/fpu/svml_d_exp102_core.S b/sysdeps/x86_64/fpu/svml_d_exp102_core.S new file mode 100644 index 0000000000..157fb3b7c0 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_exp102_core.S @@ -0,0 +1,29 @@ +/* Function exp10 vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_exp10) +WRAPPER_IMPL_SSE2 exp10 +END (_ZGVbN2v_exp10) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_exp10) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_exp104_core.S b/sysdeps/x86_64/fpu/svml_d_exp104_core.S new file mode 100644 index 0000000000..9b9d0a5d4b --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_exp104_core.S @@ -0,0 +1,29 @@ +/* Function exp10 vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_exp10) +WRAPPER_IMPL_AVX _ZGVbN2v_exp10 +END (_ZGVdN4v_exp10) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_exp10) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_exp104_core_avx.S b/sysdeps/x86_64/fpu/svml_d_exp104_core_avx.S new file mode 100644 index 0000000000..1ba1a819ed --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_exp104_core_avx.S @@ -0,0 +1,25 @@ +/* Function exp10 vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_exp10) +WRAPPER_IMPL_AVX _ZGVbN2v_exp10 +END (_ZGVcN4v_exp10) diff --git a/sysdeps/x86_64/fpu/svml_d_exp108_core.S b/sysdeps/x86_64/fpu/svml_d_exp108_core.S new file mode 100644 index 0000000000..a530dc12de --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_exp108_core.S @@ -0,0 +1,25 @@ +/* Function exp10 vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_exp10) +WRAPPER_IMPL_AVX512 _ZGVdN4v_exp10 +END (_ZGVeN8v_exp10) diff --git a/sysdeps/x86_64/fpu/svml_s_exp10f16_core.S b/sysdeps/x86_64/fpu/svml_s_exp10f16_core.S new file mode 100644 index 0000000000..e5043bc875 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_exp10f16_core.S @@ -0,0 +1,25 @@ +/* Function exp10f vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_exp10f) +WRAPPER_IMPL_AVX512 _ZGVdN8v_exp10f +END (_ZGVeN16v_exp10f) diff --git a/sysdeps/x86_64/fpu/svml_s_exp10f4_core.S b/sysdeps/x86_64/fpu/svml_s_exp10f4_core.S new file mode 100644 index 0000000000..75e6637a82 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_exp10f4_core.S @@ -0,0 +1,29 @@ +/* Function exp10f vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_exp10f) +WRAPPER_IMPL_SSE2 exp10f +END (_ZGVbN4v_exp10f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_exp10f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_exp10f8_core.S b/sysdeps/x86_64/fpu/svml_s_exp10f8_core.S new file mode 100644 index 0000000000..d481d2dee9 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_exp10f8_core.S @@ -0,0 +1,29 @@ +/* Function exp10f vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_exp10f) +WRAPPER_IMPL_AVX _ZGVbN4v_exp10f +END (_ZGVdN8v_exp10f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_exp10f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_exp10f8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_exp10f8_core_avx.S new file mode 100644 index 0000000000..65944bd4d2 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_exp10f8_core_avx.S @@ -0,0 +1,25 @@ +/* Function exp10f vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_exp10f) +WRAPPER_IMPL_AVX _ZGVbN4v_exp10f +END (_ZGVcN8v_exp10f) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx.c new file mode 100644 index 0000000000..7cdda9895b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-exp10.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx2.c new file mode 100644 index 0000000000..7cdda9895b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-exp10.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx512f.c new file mode 100644 index 0000000000..7cdda9895b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp10-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-exp10.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp10.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp10.c new file mode 100644 index 0000000000..b1461ed85e --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp10.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC exp10 +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index fdacdd1728..90eb5c3205 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -38,6 +38,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVbN2v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVbN2v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVbN2v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVbN2v_erfc) +VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVbN2v_exp10) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index c2c12533f2..5a960d003e 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -41,6 +41,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVdN4v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVdN4v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVdN4v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVdN4v_erfc) +VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVdN4v_exp10) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index acecf23719..37d9ce9cb7 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -38,6 +38,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVcN4v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVcN4v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVcN4v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVcN4v_erfc) +VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVcN4v_exp10) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index c7ef3e8356..d61ab42881 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -38,6 +38,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cbrt), _ZGVeN8v_cbrt) VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVeN8v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVeN8v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVeN8v_erfc) +VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVeN8v_exp10) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx.c new file mode 100644 index 0000000000..be3cdaa80d --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-exp10f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx2.c new file mode 100644 index 0000000000..be3cdaa80d --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-exp10f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx512f.c new file mode 100644 index 0000000000..be3cdaa80d --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-exp10f-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-exp10f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-exp10f.c b/sysdeps/x86_64/fpu/test-float-libmvec-exp10f.c new file mode 100644 index 0000000000..06f447eb8d --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-exp10f.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC exp10f +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 379206fe0e..1470b4d890 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -38,6 +38,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVeN16v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVeN16v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVeN16v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVeN16v_erfcf) +VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVeN16v_exp10f) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index aa756f97f5..7833482006 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -38,6 +38,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVbN4v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVbN4v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVbN4v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVbN4v_erfcf) +VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVbN4v_exp10f) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 68eec1f1ed..6719c1ae56 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -41,6 +41,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVdN8v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVdN8v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVdN8v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVdN8v_erfcf) +VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVdN8v_exp10f) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index a4759d6156..40b852aad6 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -38,6 +38,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cbrtf), _ZGVcN8v_cbrtf) VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVcN8v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVcN8v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVcN8v_erfcf) +VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVcN8v_exp10f) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48080 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D6815385800C for ; Wed, 24 Nov 2021 19:51:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D6815385800C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783498; bh=CsE3yovrwu+zDbksWyn2kF9o+MrmSgqj0OiXxhfGOoQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=qlRT/qXZEZw8vza592cTQ0x0xSKicnTHGBwuvIorkZYizaDvfhQsxCv5o5++tbXPv sj97Ik5vkwookTM74qHtfOUAIJ5d28twfGDnmLwtBJ5ZPYA0hbxG/1moAky1dzzdTs IMZPfWI907QrREddZh15YcDVnh6AEnpMiWCnXdLg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id 88ABD3857C51 for ; Wed, 24 Nov 2021 19:38:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 88ABD3857C51 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235599457" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235599457" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="509564580" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga007.fm.intel.com with ESMTP; 24 Nov 2021 11:38:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XB021555; Wed, 24 Nov 2021 11:38:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 24/42] x86-64: Add vector exp10/exp10f to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:49 -0800 Message-Id: <20211124193807.2093208-25-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector exp10/exp10f and input files to libmvec microbenchmark. libmvec-exp10-inputs: 90% Normal random distribution range: (-307.0, 308.0) mean: 0.0 sigma: 16.0 10% uniform random distribution in range (-250.0, 250.0) libmvec-exp10f-inputs: 90% Normal random distribution range: (-37.0f, 38.0f) mean: 0.0f sigma: 8.0f 10% uniform random distribution in range (-25.0f, 25.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-exp10-inputs | 4100 ++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-exp10f-inputs | 4100 ++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-exp10-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-exp10f-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 95709ef402..fe982c21a1 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -54,6 +54,7 @@ libmvec-bench-funcs = \ cosh \ erf \ erfc \ + exp10 \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-exp10-inputs b/sysdeps/x86_64/fpu/libmvec-exp10-inputs new file mode 100644 index 0000000000..ef5b25e196 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-exp10-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-3.1e+02, 3.1e+02), mean = 0, standard deviation = 16 +-0x1.11003707ad71cp+2 +-0x1.1f03ac14205d9p+3 +-0x1.88539918864c9p+4 +-0x1.4101316c89f72p+3 +-0x1.3b7fb80733407p+2 +0x1.029dee7ae42b8p+4 +0x1.77fde1eeb3fa9p+3 +0x1.16a53d1f1be7ep+5 +0x1.35a33590dab6ep+3 +-0x1.f85d770c98ac8p+2 +-0x1.75bd8b3896dd6p+4 +-0x1.360247570184fp+4 +0x1.1cb9fa09ed944p+5 +-0x1.cc0c949f502bdp+1 +-0x1.b06432c2571b1p+3 +0x1.e5f318e3e5fffp+4 +-0x1.2bbc5f516e8d5p+2 +-0x1.b20d60c7a530ap-4 +0x1.1ee5aa3496dfdp+3 +0x1.0d39d9919d41cp+4 +-0x1.f35ec91641a28p+2 +-0x1.90e89ab44af72p+3 +-0x1.8718b197051b2p+1 +0x1.e1a883407183ap+3 +-0x1.bb84130e0b6c2p+2 +0x1.66748e4448814p+4 +-0x1.03ac940894e0bp+4 +-0x1.2777c019ddd62p+2 +0x1.1d20fa6e1de58p+4 +-0x1.0d65971f91a47p+4 +0x1.948e128f1e25cp+1 +0x1.a2f9146265a94p+3 +0x1.8dfc3c4334d3fp+1 +-0x1.b2f1eef44995bp+2 +0x1.7291977c39bfbp+1 +0x1.0d76b4a8e6ffap+0 +-0x1.8ba0bf00ef4fbp+3 +-0x1.657578a29b5d8p+2 +-0x1.42073771c3e34p+2 +0x1.bb3bc1b68a58bp-2 +-0x1.3c18dfcd0f52cp+0 +0x1.e264029c179bdp+3 +-0x1.16b4eb16e4697p+4 +0x1.919dfef854b24p+2 +0x1.51a8f5058cf09p-2 +-0x1.94ac3a96fbd76p+2 +-0x1.7ed13b350af89p+1 +0x1.7c78e8308fd75p+3 +-0x1.371df5ae1bae6p+4 +-0x1.47b6c3841cc34p+2 +0x1.c0eb159b7735cp+3 +-0x1.041440688e7dcp+4 +0x1.747d826d6612p+3 +-0x1.0e3c3a9af5cbdp+5 +-0x1.9223e1cf1b888p+3 +0x1.2c285914810dep+2 +-0x1.e1009fc24adffp+3 +0x1.a994c08eb3571p+3 +0x1.5642c58ee1935p+4 +0x1.41ab9cbce38a2p-2 +0x1.016a04f1bfe6fp+1 +-0x1.7e95d7fb26218p-2 +0x1.d3e24e2025a3cp+0 +-0x1.6d0ab05da8ddap+4 +0x1.5a51a13c03585p-1 +0x1.cb814b7ce6be9p+3 +0x1.ef5984a81ededp+1 +0x1.4511a4ee5b844p+1 +0x1.c3236baf357dbp+1 +-0x1.b5663a8cd3b9ep-1 +0x1.f9775cb63303ap+3 +-0x1.fbe0031478fdap+3 +0x1.ec4068e7020c7p+0 +0x1.0af7c1486d593p+3 +-0x1.18e6b70f08559p+3 +0x1.2fc06a93c1a14p+2 +-0x1.0df60b2d5d5dcp+3 +-0x1.4624f16dfd0d8p+7 +-0x1.f9bea93247eaap+0 +-0x1.a8a18bac42c3ep+0 +0x1.dbee14e252b45p+6 +0x1.8035aed7e3caap+0 +0x1.6e5336703809cp+3 +-0x1.202ed659e43b3p+4 +-0x1.958d6ede80a6p+2 +-0x1.f41230fc93d7p+0 +-0x1.ae79eb0610afep+2 +-0x1.08e9352d53acdp+2 +0x1.fa1d1125c944ep+3 +0x1.e0e74fafb7d1cp+3 +0x1.8b8e79b64372bp+5 +0x1.54339f3b0744fp+3 +-0x1.37f81a887c07fp+3 +-0x1.d1b8204e578e7p+0 +-0x1.8d8c75ac1faf6p+4 +0x1.c753b324bdc81p+4 +0x1.59d5b085ab03ap+1 +-0x1.ea04b4cf878fbp+0 +0x1.29c33813f534dp-1 +-0x1.c2ee5e411a0abp+3 +0x1.cee3ca87f3fb9p+4 +-0x1.b5e1a68fd908dp+3 +-0x1.42abb872d6d69p+3 +0x1.1d88916f49ef1p+4 +0x1.80ec7c336cd4bp+2 +0x1.ebc52387f7361p-4 +0x1.9c79d91cd3abbp+3 +-0x1.253082fbb949cp+0 +-0x1.a401128cbd47p+2 +-0x1.7794302387928p+3 +0x1.77052a301b523p+2 +0x1.aa7ee75ee0531p+4 +-0x1.f6ee5bdcf7b24p-2 +0x1.a39a2af50b0c7p+3 +0x1.3221b7312157fp+3 +0x1.5ff5bc5f5da2dp+3 +-0x1.4613a9aa74a1ep+0 +-0x1.6991a4013ce91p+4 +-0x1.1071c932aaf75p+4 +-0x1.055f3a8317374p+4 +0x1.520ed8dc30dfcp+3 +-0x1.6e15432b01ce6p+4 +0x1.e818fff13878bp+4 +-0x1.8b8cb3370be2bp+3 +-0x1.a9f6495b21f7ep+3 +0x1.88e06bd995039p+2 +0x1.750ec69bb3a04p+3 +-0x1.0dd8abfb7163fp+3 +-0x1.99309e84c1aa3p+2 +-0x1.08b1bb04fcb2fp+2 +0x1.117fd499468f3p+2 +0x1.0a5b3dcd01fc6p+2 +0x1.273d5ce7af555p+5 +-0x1.27eeab5a7ec7ap+4 +0x1.398225abd6819p+3 +0x1.56fe5fc6fa3c2p+4 +-0x1.f11f36ce3507dp+4 +0x1.9aca951469d7ap+2 +-0x1.8f8d41cd02deep+3 +-0x1.f49e6ed2ea59dp+1 +-0x1.7a129db836d66p-4 +-0x1.1ae76b7d889bbp+3 +0x1.087a59865458p+0 +0x1.6aff85979d2e4p+3 +-0x1.62fa8a2d852ep+2 +0x1.b66d4b202c901p+2 +0x1.b32cf8b59341dp+2 +-0x1.40e9979553788p+5 +-0x1.ac60d9bcb0c1ep+3 +-0x1.fbdc48a31f484p+1 +0x1.ce8d89c689577p+2 +-0x1.f0575d582a6f9p+2 +0x1.2480822366da6p+4 +-0x1.4b02cb0e67facp+0 +-0x1.f980a13147b0ap+3 +-0x1.d7c147ac37bbcp+3 +-0x1.19379d25cb96ap+0 +0x1.4b432c820b7b9p+7 +-0x1.ab949852b3ebfp+2 +0x1.0e6dad20e631fp+3 +-0x1.45599ccb9a8f2p+4 +-0x1.a1d652eced84ep+4 +0x1.0a9a084bf0496p+3 +-0x1.3806551d9b8a6p+3 +-0x1.4723e9533861ap+4 +0x1.82ba877ba1442p+4 +-0x1.be10fd54c1c05p+1 +0x1.6e9ab6991ff9p-6 +0x1.ac8eba94cd894p+4 +0x1.72f43a9f6a1c5p+1 +0x1.647a30feef7b1p+1 +-0x1.6a098d3db5971p+1 +-0x1.535b60bc394fap-1 +0x1.9b21776d6a934p+2 +-0x1.5965f807f454p-3 +-0x1.d28fec264c5bbp+2 +0x1.6f6b2f7b7d327p-2 +-0x1.4314fbc60688dp+1 +-0x1.3d2ddbf4fb65cp+3 +-0x1.91560bb9916ap+1 +-0x1.2064bd3b1efedp+5 +-0x1.8f0d5ae1f2d1dp+3 +0x1.81850a482ba67p+5 +-0x1.f7d0d6b631c12p+2 +-0x1.f23fd47cfedccp+3 +-0x1.75a6060cb3691p-1 +-0x1.d253dcef76f97p+3 +-0x1.5328460a56bcfp+3 +0x1.ce3576497d7cp+3 +-0x1.8652cde59b041p+2 +-0x1.9b8ef067e895dp+4 +0x1.7d9c66e44ec47p+4 +0x1.b96c3d206dae9p+4 +-0x1.f953fc1959504p+3 +-0x1.7956f3ff9bc3ep+1 +-0x1.a1e7bf001c68dp+2 +0x1.46cfc16fd39dep+4 +-0x1.ae24518735eeap+2 +0x1.69939f4e7cd55p+4 +0x1.13306c72f0a09p+2 +0x1.61510c88f5508p-1 +-0x1.1a20364d51f6p+5 +-0x1.64ad7976812dfp+3 +0x1.bc0558fc677f4p+0 +0x1.3c093d67ef0f5p+0 +0x1.4f8ea8f2b2961p+3 +-0x1.55af0900913c4p+5 +0x1.5af1d2d65fffcp+2 +-0x1.0de627c082eb5p+3 +0x1.99ce9e0daa1e9p+4 +-0x1.f3ce28bc65e34p+3 +-0x1.2dcbcb1edbdd6p+4 +0x1.1adafdd6788cap+3 +0x1.853c9a6a80e5fp+1 +-0x1.00b1d997f5fbep-1 +-0x1.12d9e9bd6279ap+4 +-0x1.c05a7b8c13756p+4 +-0x1.df87d85868a0dp+4 +0x1.3e98c5ca53054p+3 +0x1.560246edba008p+4 +-0x1.c6b77410468a2p+3 +-0x1.a78c813bfa92ap-3 +0x1.efefd701da649p+3 +0x1.c1a1321b7ef1p+0 +0x1.30ea39a7cf938p+4 +-0x1.a74dd3dc1e9a2p+3 +0x1.79ab521c3abfcp-2 +0x1.d28bd03ad897cp+3 +-0x1.dd0ae5433da8p+4 +0x1.0860581cad894p+4 +-0x1.3d8029781c0b5p+2 +-0x1.1185907f2891p+3 +0x1.2aa161a477366p+2 +-0x1.51a2fdf6d801dp+4 +0x1.6d4ca2cbce87bp+4 +-0x1.08647180c4641p+3 +0x1.73c0d4d983607p+1 +-0x1.460bb7d2967e5p+4 +-0x1.96b5c19d31dd8p+3 +0x1.002087be4803p+3 +-0x1.079c675e5f576p+4 +-0x1.a490fe5d517cap+0 +0x1.3a316fc183cdbp+1 +0x1.b3009a6de004ep+1 +-0x1.8be62fc82b254p+4 +0x1.c70c47d64b2e1p+1 +0x1.6ec300c6e0d84p+3 +-0x1.d42bdaaa529ccp-1 +0x1.542a484cbbdap+3 +-0x1.68aade01022e5p+3 +0x1.0719ec34bd9f8p+3 +0x1.5a5bef7e71b7fp+3 +-0x1.58702678acbf3p+4 +0x1.4bed4c98d0134p+4 +0x1.65e234d9d723p+3 +0x1.81eea275987dcp+3 +-0x1.e09ae78c0f3d3p+2 +0x1.88cff5ac2b027p+2 +-0x1.140c7ade17891p+7 +0x1.b0dc5207eb04ap+2 +-0x1.949d08f8c29a8p+1 +0x1.2054be5894c16p+4 +-0x1.1c5a705a6144ep+4 +0x1.25e1a24429d72p+6 +0x1.0da2cc423a6ccp+0 +0x1.ede0402a06984p+3 +0x1.5dd9cecee44dp+4 +-0x1.ee86a38dcfb8bp+2 +0x1.430681c5d5435p+3 +-0x1.b239cdf03ac1ep+2 +-0x1.b155c322a615bp+4 +0x1.11059304523ccp+3 +-0x1.940484004736ap+3 +-0x1.0ea7ed643821cp+3 +0x1.2ab817598e9cep+2 +-0x1.bb57ee381a94fp-4 +0x1.2c5fa973bc423p+2 +-0x1.105b2a041f858p+2 +0x1.ad21b525cafe7p+4 +0x1.f591180c51366p+3 +0x1.942c7148cde5ap+2 +-0x1.73fc05810249p+2 +0x1.19a063e9246a8p+4 +0x1.f440990cb9501p+1 +-0x1.6ea822c81ebefp+4 +0x1.05325f085e4dap+1 +-0x1.30227ac82dd9p+2 +0x1.69b3016747ba7p+0 +-0x1.a95e1be905656p+3 +0x1.2ff44c322ad99p+3 +0x1.8803b3b61b6ffp+3 +0x1.e33526ca99p+3 +-0x1.9c2149cb78f8fp+2 +-0x1.a15cdae0069dp+1 +-0x1.ad8b0ddd507a6p+4 +-0x1.9c52c8fe232b1p+4 +0x1.1e8559bb5e4ccp+1 +0x1.bb99adabb7695p+2 +-0x1.1dae22a6fbcabp+4 +-0x1.9efa1bdb52cb6p+4 +0x1.7f4123362bf2fp+4 +0x1.a0ae02a90565bp+2 +0x1.6c88688bf3d0ep+3 +0x1.0dae80c4b5942p+6 +0x1.1a07e1bd84d91p+4 +0x1.50e957f68cb51p+4 +-0x1.3e3cc16905cdcp+4 +0x1.62d0a629641b7p+4 +-0x1.641801bf2bda6p+0 +-0x1.a1d7bc21eb45cp+5 +0x1.9c18c575c7541p+5 +0x1.a556292c47ef2p+4 +-0x1.af841b378367ap+1 +-0x1.6538b64ad0d9fp+4 +-0x1.29feb61cdd084p+3 +0x1.6071bbed6bd28p+5 +0x1.3a75b1d968b3bp+5 +0x1.501b2864bb0aap+3 +0x1.cab884c6bd488p+2 +-0x1.2b8e832a0c688p+3 +-0x1.94991fb9ce0efp+4 +-0x1.4bf2146d428fbp+3 +-0x1.f4aaa87f6871dp+3 +-0x1.c904a4b94b4dep+3 +-0x1.851379734f5a1p+2 +-0x1.3253d2afe1b8dp+3 +-0x1.7e5a943926cb6p+3 +-0x1.ba8b241fbebep+2 +-0x1.e32c5b539ed49p+4 +-0x1.f7a818b66c2fbp+2 +0x1.d79048fa51f8ap+1 +-0x1.e1ee3cfd1f65ap+3 +0x1.8a59e5bc58019p+3 +0x1.72b319253eee7p+2 +-0x1.f0a78fd5454d7p+2 +-0x1.ec9f639a8510ep+2 +-0x1.ef4d44582ca63p+3 +-0x1.45030ba429744p+2 +-0x1.3de02f6079c35p+4 +-0x1.ae4ee802d4d44p+2 +-0x1.2a2442b03a96dp+4 +0x1.1e09c7cc868aep-4 +-0x1.4919947f093fdp+5 +0x1.0b13ec95f71a5p+2 +0x1.5b22063d3f771p+3 +-0x1.c752f2d48be01p+1 +0x1.3d1510a4f8cdbp+3 +0x1.17da3098fa41dp+3 +-0x1.266a093459c2ap+3 +0x1.4128ffd591ed3p+2 +-0x1.347da4da856a7p+2 +-0x1.39b4ff032f74p+0 +0x1.b9a57659a198ep+3 +-0x1.7218160918b0bp+3 +0x1.4139fe4f6d7e2p+4 +0x1.0b6028c217fb9p+3 +-0x1.9cf3201eb31ep+2 +0x1.4e85803ece1acp+4 +0x1.b07b4e5172c39p+1 +0x1.11701ffaaed4bp+1 +-0x1.75dcd71ed9c03p+4 +0x1.2edb8e86086e3p+1 +0x1.a9ca39d6dd6d5p+3 +-0x1.5506bc6b3344fp+2 +0x1.7d3bab08c2e5dp+1 +0x1.ba237ef743cb1p+2 +-0x1.9d3fecf588cedp+3 +0x1.04414d215c2dcp+3 +-0x1.1ab065eb10c66p+3 +0x1.af611ae8a1d13p+2 +-0x1.428f327caf8e3p+2 +-0x1.bcfc0ccd8bdb9p+0 +0x1.010d86d3def47p+2 +-0x1.7ff50886aa934p+2 +-0x1.329eca4cf616cp+0 +0x1.3ee03ef5f88e9p+4 +0x1.44bf15b0634b7p+2 +-0x1.dc7bfeb3d79c5p+1 +0x1.4b2044275cd4dp+2 +0x1.84fe3569cb2f3p+1 +0x1.cd76216869e9bp+4 +0x1.1b1d3cf683a9ep+4 +-0x1.9fcae5205cd46p+4 +-0x1.0a3b58f299bfdp+3 +-0x1.2abc89a0eb39fp+4 +0x1.8c4d6835e5972p+1 +0x1.0a5afe3c4ccc7p+4 +0x1.4fd2cc063a564p+1 +-0x1.9b11276bb158dp+4 +0x1.8d885d6947ae1p+4 +0x1.59ea516d1f26bp+4 +0x1.0ec88cec00338p-1 +-0x1.8a5d8487762f6p+4 +0x1.1a283a53f8328p+0 +0x1.829e7668f5048p+3 +-0x1.70ecaee821901p+0 +-0x1.0136269e8d655p+4 +-0x1.d6aa45de9e968p+3 +0x1.1ae55c1f50a91p+2 +-0x1.6d2bbf6ac4bffp+2 +-0x1.2f894a496ef82p+3 +-0x1.8cccaafc6228bp+5 +0x1.a1847ab53654dp+2 +0x1.61b9f91dd1568p+4 +-0x1.593af265b0f1cp+2 +-0x1.6fcb3685e1188p+3 +-0x1.d2aa5e9146588p+6 +0x1.55402eb22877fp-2 +-0x1.7758f8ef73ce5p+3 +-0x1.129ed6c9fec09p+3 +0x1.47b15b059fa22p+2 +0x1.c37c3800e473fp+0 +-0x1.55e59b46e00fep+3 +0x1.15ab24a33c4afp+2 +-0x1.5efb2f2360924p+4 +-0x1.c822455705f7dp+4 +-0x1.1ec1052baec55p+3 +-0x1.632d52993655fp+4 +-0x1.3b380e44110fbp+1 +-0x1.d06a61edd63b8p+4 +-0x1.648c7d2c9f39ap+5 +-0x1.e0c74983a6277p+2 +0x1.3b45c176c2365p+4 +0x1.9ac13402948f9p+4 +0x1.821b65b56e9d4p+2 +0x1.49d4a47602299p+0 +-0x1.9536fd2b229e5p+1 +-0x1.e45f70770ffa6p+3 +0x1.f42e02754d539p-1 +-0x1.1447c8f7f0803p+2 +-0x1.3814c90a3de51p+3 +-0x1.c1801875ac728p+1 +-0x1.db96f4672c59fp+3 +0x1.b7e8d8652d20bp+3 +0x1.31f092f938cp+3 +-0x1.23d399672214ap+4 +0x1.99257f95e9351p+2 +-0x1.d6e5873aa87e8p+3 +-0x1.51e8d044a5eadp+2 +-0x1.076d0067d9a9bp+4 +-0x1.5ce540d167649p+2 +-0x1.03dbfbee1785p+3 +0x1.02c32cb8776d7p+4 +0x1.2900de5c7341p+3 +-0x1.2eaeed20fc5bp+3 +-0x1.5d38049159df2p+4 +0x1.7b1185942c1a5p+4 +0x1.ff5246459affp+1 +0x1.0e03a3dd96788p+5 +-0x1.76a414c910fb2p+3 +-0x1.1fffa49b7f639p+0 +0x1.9caea3b989545p+2 +-0x1.793d42826ff15p+0 +0x1.5b08238bd7a18p+1 +0x1.254967c3d947fp+1 +0x1.eb12af95bfb63p+4 +0x1.fe853624e7d83p+1 +0x1.b1e56a27778f2p+4 +0x1.3453058a4da38p+1 +0x1.307c967bfffc2p+4 +0x1.4d5cb9f362b26p+3 +-0x1.b1937baaf010bp+1 +0x1.dfdbe68935ed3p+3 +0x1.e77fb847d7abcp-2 +0x1.55b3e6055d0e1p-1 +-0x1.1aa44da042bb6p+3 +-0x1.b0bd843ab6a4ap+3 +-0x1.f054c11c6fd4cp-1 +-0x1.81014cc2078b6p+4 +-0x1.815bb9266b3e2p+2 +0x1.d0a0747739ef9p+1 +0x1.41625bb6bb69ep-5 +-0x1.40f225f19d807p+3 +0x1.68f2251556c42p+2 +-0x1.17690d37416e8p+4 +-0x1.75fa5ee082b6fp+3 +0x1.29564149663f6p+1 +0x1.9881037ac5d0cp+2 +0x1.2b01b141897c8p+4 +-0x1.0f4d726519f07p+0 +-0x1.4b4620ac0010dp+3 +0x1.9e7c31f8f8785p+4 +-0x1.a6f89ee0f795ap+3 +0x1.f2082c30db1c8p+0 +-0x1.dd839901b27bdp+3 +0x1.7fca07d73884p+3 +-0x1.c3c48700662c3p+3 +-0x1.6e853770c0f9fp+4 +0x1.d8ed1c9463b1dp+0 +-0x1.ebd99dffbb2c1p+2 +0x1.fd966020d3d82p+3 +-0x1.206c1fca20dc4p+4 +0x1.aee0d6765bc5cp+4 +-0x1.35d52e2cf8086p+1 +0x1.13223a47687d9p+1 +0x1.7438981f5be52p+2 +-0x1.4bae87899db27p+3 +-0x1.b15ab21feb71ep+3 +-0x1.9ce3b1e40fdefp+4 +0x1.cef4514e6d594p+4 +-0x1.f17318cfda767p+4 +-0x1.e58d0c56c3a7p-2 +0x1.808beb30314dp+3 +0x1.07f0af7446b52p+4 +0x1.325fd32406536p+3 +-0x1.9faafa9806c7bp+0 +0x1.6104f835ab8edp+5 +-0x1.7807e45e473f1p+4 +0x1.29757328895cp+2 +0x1.3b45876742c98p+3 +0x1.c568a632a54f1p+3 +0x1.6caddd90a8a2cp+5 +-0x1.69894d1536713p+2 +-0x1.3730781c9eddep+1 +0x1.135deea0c29fbp+3 +0x1.e1285a2b60964p+1 +0x1.4b80b406c31bdp+4 +0x1.2811c39f9b89bp+3 +-0x1.acb94be6091c9p+3 +-0x1.ab8ce8c5036fdp+1 +0x1.9d7e1448756f9p+4 +0x1.3737cdf250b8ep+4 +-0x1.63ffee2f4c37p+3 +0x1.cfd108619383ep+0 +-0x1.d9b722403f2d4p+1 +0x1.022adb9727ec4p+0 +0x1.0a5a83f019a67p+1 +0x1.18ec27d3a07d7p+0 +-0x1.6afe70ecfae1dp+5 +0x1.147d5c8097cefp+3 +-0x1.81f8ceac9872dp+3 +0x1.0f381836f6e7bp+3 +-0x1.c6ff784a5846dp+3 +-0x1.66360c4d84d4cp+3 +-0x1.6791dbb850ac8p+4 +-0x1.77c6dfc75633p+2 +0x1.45d5f669fcff2p+4 +0x1.268335c952d5ap+4 +0x1.3a13a0ae983f5p+3 +-0x1.780cef3cd015cp+2 +0x1.6128b1ee4e238p+3 +-0x1.439a5589fc96bp+4 +0x1.50b1d01bf2cabp+3 +-0x1.226f1a517e90dp+5 +0x1.0ae6ec582d27ap+3 +-0x1.519680b429656p+2 +0x1.bcfca3c2d0c4bp+4 +0x1.e0a28f7e72504p+4 +0x1.8cdcd3ddd9b87p-2 +0x1.ec9935e7e72f1p+3 +0x1.5317a281a6589p+2 +0x1.51d70c69c8e4ep+1 +-0x1.50ba0ab89871p+3 +0x1.cda3ad081b5cdp+1 +-0x1.9996f9d095cd3p+3 +-0x1.61d00d92a98ecp+4 +-0x1.3a3a257258ee5p+3 +0x1.2f54b253c0a1bp+2 +-0x1.b4951c9daf538p+2 +0x1.220f603d1e01cp+3 +0x1.09e96024014f6p+3 +-0x1.b1165a43c5c1dp+3 +-0x1.be5766bd4f161p+4 +-0x1.411e5393f3221p+0 +0x1.32640aef4dbcap+4 +-0x1.9d3da53790e56p+1 +-0x1.26eaa37b73589p+3 +-0x1.9657b29aaf014p+2 +0x1.25d18013304f9p+3 +0x1.faee42d2eee09p+4 +0x1.d01ea19c0040fp-2 +0x1.9ed35146ebdc7p+2 +0x1.c24bc2a87317cp+3 +-0x1.c46c0709ade28p+3 +0x1.058fa84fdc5dfp+4 +0x1.074894afb4a68p+3 +-0x1.2cb5d178181a3p+4 +-0x1.7b022bc97bd87p+4 +0x1.d971cebec3dc3p+3 +-0x1.8ec86add9aeefp+0 +-0x1.f727374002d1dp+1 +0x1.219fdd9159794p+2 +-0x1.565374db0612ap+5 +-0x1.97238ced12875p-3 +-0x1.3c9b49b6645b9p+2 +0x1.0adc702525844p+4 +0x1.c5a67f1896e7ep+1 +0x1.3e5c6e2ad4b1cp+2 +0x1.d9d092687d0a3p+3 +0x1.7d3d03a0cd29cp+2 +-0x1.479fcda3b1abcp+4 +0x1.ef3f79cf31cabp+2 +0x1.52dc5518c03d1p+3 +0x1.152d96988dfcbp+3 +-0x1.b9362861efb2ap+3 +0x1.6f1701555f85fp+2 +-0x1.d76088168cba7p+4 +0x1.396904801c693p+5 +-0x1.bb8d37e3d13d9p+2 +-0x1.bea7caef13c6bp+1 +-0x1.56dbccaa97ab9p+2 +0x1.2c151f67ac07dp-1 +0x1.9e04061eea66ap-1 +0x1.f80584e5fb2d6p+2 +-0x1.54278b1afdca9p+4 +0x1.37b24baea382dp+2 +0x1.f77b1902c4964p-2 +-0x1.7c43b4e9e93cfp-1 +0x1.10f4e21b1dc18p+2 +-0x1.84c3d380eaf0ap+2 +0x1.6536d3822a5dbp+3 +-0x1.45c85e7112072p+4 +0x1.8d0b5806d37d9p+2 +-0x1.7bfe86e43f6cdp+4 +-0x1.028573702b054p+4 +-0x1.266d423e3032ep-2 +-0x1.6f1e52b43bbcdp+4 +-0x1.b57398f2ff9cep+4 +-0x1.0690070a17c8ep+4 +0x1.951438faf762ep+4 +0x1.54640df149ecfp+3 +0x1.a2e70e2d6b389p+0 +-0x1.4584eadb7a2a5p+1 +0x1.5984124891c5bp+3 +-0x1.3508e20bd00a4p+4 +-0x1.df8c737910911p+4 +-0x1.d401bbbe0de6ep+3 +-0x1.20ff5eb91df8cp+2 +0x1.ade08e2d79c6cp+2 +0x1.fb915453b8d6fp+0 +0x1.a816ef340651dp+3 +-0x1.90a1d1046f146p-7 +-0x1.6b755acce6fb3p+3 +-0x1.54b099489d729p+3 +-0x1.53687ec531316p+4 +0x1.94818db47b55ep+6 +0x1.1c64ac0e63ab9p+1 +-0x1.1cd93b9a183f3p+2 +-0x1.d6676ec0e83b7p+2 +-0x1.b3375faa14daap+3 +-0x1.397f5269a8f46p+2 +0x1.204f1d080a29bp+4 +-0x1.9d15f86e29d32p+4 +0x1.86b445c1fa227p+2 +-0x1.3a978b6d21bb1p+4 +-0x1.299fc79ecbcfdp+4 +-0x1.a744b7e636d36p-1 +-0x1.bb28842c58849p+2 +-0x1.41919723ce51fp-1 +0x1.aabbf22ae2a88p+3 +-0x1.a112b6d648e72p+3 +0x1.3d09dc3e9e33bp+4 +0x1.2cb5e1779cea5p+4 +0x1.3cd7ac6fa38dap+2 +-0x1.f13990cfe5ec2p+3 +0x1.88f07d5373ae8p+4 +0x1.93179dd8aa89ep+0 +0x1.2bfc9601f50c2p+5 +0x1.dcf56c36b6f3p+0 +0x1.335b322f8a7a2p+4 +-0x1.e24d81973b02ep+3 +-0x1.ebc2947a9ce5bp+4 +0x1.4d8134ffd3891p+3 +-0x1.e10c40e71879bp+2 +-0x1.628050434b9fep+3 +0x1.b72807cf06eaep+5 +-0x1.407afbb6de59ep+4 +-0x1.c12b48dd63634p+2 +-0x1.7ef92af52d4d5p+0 +-0x1.41cc220fce214p+2 +-0x1.b4dc079689f4bp+3 +-0x1.b8c92d69cd9ep+3 +-0x1.a4756c48b704p+2 +-0x1.d7ea61d1085d1p+4 +0x1.a45014fadb068p+0 +-0x1.394900efd90a5p+0 +-0x1.0c61f3d85278dp+1 +0x1.b57ef080526a1p+3 +0x1.6e593e63048dp+3 +-0x1.b3b2e53f25ff4p+3 +0x1.20b8481ed33p+1 +-0x1.a7a9a263d55abp+4 +-0x1.3edfe9034a518p+1 +0x1.04df46fe1a96p+4 +-0x1.85c872b5fe48p+1 +0x1.987aa68c4a40ap+4 +-0x1.8d8ff4c07967ap+0 +-0x1.7bbe501495417p+2 +0x1.09b6e0c740d5cp+3 +0x1.6540ed66aa851p+3 +0x1.6d02c85b38946p+1 +0x1.5694d671533b2p+5 +-0x1.6139c482ada5ep+0 +-0x1.4f44b083f6f77p+1 +-0x1.c87cf7e5f2df5p+4 +-0x1.625e9063076bdp+4 +-0x1.b994f9420b41ap+3 +-0x1.d21a73ec72312p+4 +0x1.fb8fbc9a2fe6p+4 +0x1.4e0291e40703ap+3 +0x1.7bec591bcb9f1p+3 +-0x1.22ade5fd6560fp+4 +0x1.3ff0fb4eb11fdp+3 +0x1.acf4457026889p+1 +-0x1.081e4b193da3p+3 +-0x1.af18d2905362dp+0 +-0x1.816382b888e2ap+2 +-0x1.dbf7e57684b5fp+4 +-0x1.109ea0bc3171ep+4 +0x1.2f89c59c1e284p+2 +-0x1.0525cef5eb77ap+1 +-0x1.1527b5894fa4cp+2 +0x1.b3de51b661796p+3 +-0x1.730858021dd8bp+2 +0x1.cb36cc85a6d82p-1 +-0x1.6d89969971facp+4 +0x1.34fc598a78651p+3 +-0x1.8704c7920740fp+4 +0x1.a18a2c92fa9b9p+6 +-0x1.4e2aac11bfdf6p+3 +0x1.aaeacd7464125p-1 +0x1.6241568dfe5dcp+4 +0x1.50d6fdd8353a1p+3 +0x1.471f703d627b9p+2 +0x1.016adf54be7b1p+1 +-0x1.6baefbf516dc7p+3 +-0x1.21c30a32cda9ap+3 +0x1.62072a0760112p-2 +-0x1.39b197eda3b67p+3 +0x1.7f04c21a59f65p+2 +-0x1.168386ca9dda1p+4 +-0x1.c9fbcc3111dd1p+4 +0x1.1635f32442b4bp+3 +0x1.3ddeeff0904dp-1 +-0x1.1ee2ce778752ep-1 +-0x1.6899a578aa20fp+3 +0x1.dc1aa30ec4db2p+1 +-0x1.b601c472fde84p+1 +0x1.a8462321fb8p+2 +-0x1.33c518cb111f3p+3 +0x1.a6798664f5c9p+3 +0x1.0a3882fdb4c69p+4 +0x1.06a6a0c714e72p+2 +0x1.6bf6e92c72fdap+2 +-0x1.84d9f0dad55b6p+4 +-0x1.6cf1230fc64fap+1 +0x1.dcbcdf914d19bp+4 +0x1.3536efe9827d5p+4 +0x1.cdd5a0cabf976p+2 +-0x1.bfefec036a01p+3 +-0x1.618704dd2237ep+3 +-0x1.17cefc37ce9e6p+2 +0x1.67adb2356ca23p+4 +0x1.3a39542a3d08dp+3 +-0x1.d038d39843b5cp-1 +0x1.36d7a84eb8a79p+2 +0x1.e318b27ed0599p+0 +-0x1.3e982c6df06fp+4 +0x1.471aa1ad93735p+4 +-0x1.178b0d8b0e41bp+4 +-0x1.b5c3386698386p+3 +-0x1.a52045d0cb3b4p+3 +-0x1.d018cc3de79a2p-1 +0x1.78330b5bf15cap+2 +0x1.e26ee3996bd8ep+4 +0x1.1156ce1170e2ep+2 +0x1.a0a6aa2e7bd22p+4 +-0x1.267fe26a632a4p+3 +-0x1.1988fafc41493p+2 +0x1.0b474ede969c2p+3 +-0x1.8fe1987a07791p+2 +-0x1.5fdfda703863ap+4 +-0x1.9437084d0518ep-2 +0x1.8d0837e936cfdp+2 +0x1.8b69391996a2ap+4 +0x1.fd35a316fc2eep+4 +0x1.20e7616eca6e2p+0 +0x1.1338d3fa2926dp+5 +-0x1.ea5206d0e59ddp+3 +-0x1.cd9f2866a138p+2 +-0x1.1da76fac5b14ep+5 +-0x1.123ce38c400a3p+4 +-0x1.07273f5501a1ep+3 +0x1.ce8787e4a8578p-1 +-0x1.39b1efce626c6p+3 +-0x1.153f21880d3b8p+5 +0x1.8dd607ab18a3ep+4 +0x1.c9119430f7652p+2 +-0x1.06ef9d5040c57p+1 +-0x1.f7e71e8eb08dfp-1 +-0x1.2bcc972227b6p+2 +-0x1.915f802996936p+4 +-0x1.263feb687a572p+4 +-0x1.d0ae290be2126p+3 +0x1.bf14b6eaddd81p-1 +0x1.d08ea372372fcp+0 +-0x1.d899f538399cep+4 +-0x1.c8a9969e9fae7p+3 +-0x1.5587db2a38d7p+5 +-0x1.c510ed03a0fe3p+3 +-0x1.18b784fb0ed45p+4 +0x1.71cc014d2e991p+3 +-0x1.64f178d84bd9ap+3 +0x1.23e878698dbd8p+3 +-0x1.aec4fa9e8ba9cp+1 +0x1.30e845b965931p+4 +-0x1.f9dee68a8a975p-2 +-0x1.24ba81f47f9a1p+1 +-0x1.9fe796266bcc3p+2 +0x1.af099e5373c01p+4 +-0x1.43231ad599d27p+2 +0x1.1580806ff282bp+4 +-0x1.dd82938144e22p+3 +-0x1.29bfc266ae7abp-1 +0x1.5fafe5b5edad1p+3 +-0x1.22b3574e65c91p+3 +0x1.6651c618cf3f4p-3 +0x1.e17a669700255p+3 +0x1.d3c68b80f60d5p+2 +-0x1.56483d0667741p+0 +0x1.f538f451b9fdp+1 +-0x1.7fb88e136c291p+4 +0x1.7459694066d8cp+1 +0x1.90a7c3293e66dp+4 +-0x1.74067a2d8c534p+1 +0x1.3902e701e5a2fp+4 +0x1.359ad7f5f0d46p+2 +-0x1.14bb77ddc0726p+5 +-0x1.d2b000335796p+3 +0x1.f9f7f852b5e01p+2 +0x1.f4b9e2ad91dap+0 +0x1.18af71f8a9b28p+4 +0x1.2336b1cb0fafbp+5 +-0x1.aa7a9d484c47cp+3 +0x1.23d8f222d52a2p+4 +0x1.06602864ed3cbp+3 +-0x1.541de40a074a7p+2 +0x1.0787d6a0e9bcdp+4 +-0x1.9b00fe119f6bbp+0 +0x1.fe98dd197274bp+2 +0x1.5ce4da1b33f67p+4 +0x1.54b8001746585p+2 +0x1.7631f2c31f401p+3 +-0x1.56d6cef83e5a1p+4 +0x1.e93e0296d3f9cp+4 +-0x1.508c63cbc95e1p+3 +-0x1.565e2c1c61561p-1 +-0x1.c205f2e58cca8p+4 +-0x1.4665ebc7cd0c7p+5 +-0x1.95aab1bd6c38bp+2 +-0x1.0cb91d1523407p+4 +0x1.517e2f1d103eep+2 +-0x1.bf61d1396f8d7p+3 +-0x1.457ed59185adbp+4 +-0x1.37c8c2e9eda75p+3 +-0x1.002cb202563ddp+4 +-0x1.07c27a4b98428p+3 +0x1.274167b3edc11p+3 +0x1.38f41e03ca394p+4 +-0x1.81ce3adcc24efp+3 +-0x1.d73dd14402c5dp-4 +0x1.1be2452685e43p+4 +0x1.6d6290533dc75p+6 +0x1.2310181f92686p+3 +0x1.23500e746171fp+2 +0x1.19c6bdd0879c7p+2 +-0x1.5e77f6e1a6136p+5 +-0x1.a6520e7760427p+2 +-0x1.fad8dc512ef64p+1 +-0x1.520906b4ca0edp+2 +-0x1.77399951d85bcp+2 +0x1.14293c930bd93p+3 +0x1.50f49f30f41a3p+3 +0x1.365732ee9462cp+4 +-0x1.3469c823bafdbp-3 +0x1.b1cb35b097958p+2 +0x1.0c8065025cd4ap+2 +0x1.53f72f16765c3p+3 +-0x1.ba6bf36ca2f71p+4 +-0x1.142e216b09fb8p+0 +0x1.240137694a3c1p+2 +0x1.8b05cd3a3c2ep-2 +-0x1.5a932d908486ap+2 +0x1.ba4fb40fa34a4p+3 +-0x1.223d30ff2a1a5p+5 +-0x1.27b8add6a6886p+1 +-0x1.a8e54543a5198p+0 +0x1.01d10f40bbe4dp+3 +-0x1.93f7d1ea9858ap-2 +0x1.7fcdddaeac474p+3 +0x1.9a1d8d576de6fp+4 +0x1.036463aaa8b1fp+4 +0x1.b0e6ff5eda3cdp+1 +0x1.02db2f7f0de33p+5 +0x1.6b8a9f549c9b6p+3 +0x1.2fa00597e9e36p+4 +-0x1.d82327772da7cp+3 +-0x1.9d410aaf06663p+4 +-0x1.de77e9c0a780cp-1 +-0x1.3c8e5a1b7aa1bp+3 +-0x1.cb4adcc5751bcp+0 +-0x1.3f3ebcce0aec2p+4 +0x1.2cd10b49175d9p+4 +-0x1.6f6f2351ad838p-1 +0x1.ed8106947686cp+1 +-0x1.89506742e5d8p+3 +0x1.00c424a42565p+4 +-0x1.6b352e885e7c3p+1 +-0x1.08fb74dc0ab89p+4 +0x1.26b1b1abb522ap+4 +0x1.5f5b97eb4da63p+2 +0x1.5767d36361b7ap+4 +0x1.276b5609db7f6p+4 +0x1.2bc056d863c86p+4 +0x1.054068516fafdp+4 +0x1.e8fb5d99a1a68p+0 +-0x1.7950f176344c2p+2 +0x1.61c78ee7f9271p+4 +-0x1.3da239be38048p+4 +0x1.b309d11338a01p+4 +0x1.b3d519e1bf1d4p+0 +0x1.c7101bf613de6p+2 +-0x1.17cc8034ddd1ap+5 +0x1.5e9e67ea45c7ep+2 +-0x1.7b88b9484a232p+4 +-0x1.bc3d10fd50bc6p+2 +0x1.fe17716a6268cp+4 +-0x1.454e049d56536p+0 +-0x1.203ea7655130ap-1 +0x1.0b62ff735d823p+3 +0x1.0a3696500908p+2 +0x1.b69cbdbd83417p-1 +0x1.e4a2a0310a0dp+2 +-0x1.fc1de8ce9ccbbp+0 +0x1.9c5f0ca6d5bcdp+3 +-0x1.c662e4a9e2b4fp+1 +0x1.cb7759ff98897p+2 +-0x1.61d9a3955f9e8p+2 +-0x1.1450cd02b8002p+4 +-0x1.e773533e402e8p+3 +-0x1.a191c553590d6p+1 +-0x1.3b0969f3dad3bp+4 +-0x1.5739785aa9cb6p+0 +0x1.974ac42aa19f3p-1 +-0x1.19e94204b2e05p+4 +-0x1.60de180df5b3ap+2 +-0x1.7877256bbd104p+2 +-0x1.fea15116b212bp-1 +-0x1.c22308bd575ddp+1 +0x1.288e7f47d1b81p+2 +-0x1.d61f546ddbd25p+0 +-0x1.e322c79333de6p+2 +-0x1.11322e6dd5efp+3 +-0x1.34b88999f1bfdp+4 +0x1.52f1279623616p+3 +0x1.119c0fbd1adb5p+4 +-0x1.69e2d1e8fa137p-3 +0x1.1feb9ad409c2ep+4 +0x1.61feda8a1b167p+2 +-0x1.8f798a89cb563p+4 +-0x1.faddda9d8c1c8p-3 +0x1.969822a48f2bfp+2 +-0x1.4b524db6de106p+1 +-0x1.321ac45903b65p-2 +-0x1.6ebfad34f3528p+4 +0x1.e1d78c350aacfp+4 +-0x1.1208ee7041017p+3 +0x1.50da0aca712e9p+3 +0x1.095648628df8p+4 +0x1.d7c7b5dcd6724p+4 +-0x1.d0964bde55c72p+3 +0x1.2e651714ec24dp+3 +-0x1.c0bdc3f5eb2e8p+3 +0x1.1695d07763352p+2 +0x1.0454b477b93dbp+3 +0x1.4ccce934eb87fp+2 +-0x1.1db5faa1216e6p+0 +-0x1.786a46d1d8691p+4 +0x1.990da5661a543p+3 +-0x1.a454031193fafp+0 +0x1.4f6fe74404b98p+3 +-0x1.d20a797212608p+3 +-0x1.99dd5f0dc1be9p+2 +0x1.e5340b83aa563p+3 +0x1.a5b969d782f2p+4 +-0x1.928d3bcbf4518p+2 +0x1.2e315198a9783p+2 +0x1.513135f05f2bbp+3 +0x1.0222ca2b4f081p+3 +-0x1.2da02799d3bcbp+2 +-0x1.ec6731814760cp+1 +0x1.0523de79fd4ecp+3 +-0x1.3a3f7be689a0bp+4 +0x1.5ebaf64b450f1p+4 +0x1.224768673ab86p+4 +-0x1.1e90c4dbc07dep+5 +-0x1.fedbaa128aafap+3 +-0x1.022820fe4bbf4p+5 +-0x1.5737e092df9b3p+4 +0x1.fd919eef53a35p+3 +-0x1.e2fa33afd4d83p+4 +-0x1.000cc0f07a4a9p+2 +-0x1.16afe7cf93e2fp+4 +0x1.5d8299296a8cp+3 +-0x1.582e240c71aaep+4 +-0x1.65ffe7961a37p+2 +-0x1.07b00502bdde1p+4 +-0x1.8a79a9cce700bp+4 +-0x1.362ff8c8539bcp+4 +0x1.5a2a55bb21dddp+3 +-0x1.ad62d5415a7f6p+2 +0x1.43efd93e082dcp+0 +-0x1.121de9c0dc664p+2 +-0x1.68e8ebc40287cp+2 +-0x1.4737a7b0ff72fp+3 +0x1.eb7e05fc47f45p+3 +0x1.d3724fc717215p+1 +-0x1.d01bf904aa6b9p+3 +-0x1.d040af28a58fcp+3 +-0x1.d9dae188eb6d3p+5 +-0x1.23d4f32e81314p+5 +0x1.a9b27f467aee2p+3 +0x1.8733f7daea068p+4 +0x1.bc26f58537a4dp+3 +0x1.410d4cc313157p+2 +-0x1.c049b5b81bf84p-2 +-0x1.fec4921b7b307p+2 +0x1.7f7968f52df6bp+4 +-0x1.1dd896290ba68p+3 +-0x1.a9ae636ac6ad5p+3 +-0x1.8077dd65339dep+4 +-0x1.1e7b08199fe76p+5 +0x1.235395438149fp+3 +-0x1.c87d10a63d169p+0 +-0x1.d320da5d9ee0ap+2 +0x1.03b143c0b2672p+3 +0x1.7a38475a7c219p+2 +0x1.242e1d397e6bdp+4 +0x1.b7936a31add3p+2 +-0x1.4f848b363cbf1p+3 +-0x1.0e20dc0f9d118p+4 +-0x1.c14bc04ee403cp+4 +-0x1.9bace32aeb6aep+1 +0x1.a4475fe31d5f4p+4 +0x1.d225c2f94ab9dp+1 +0x1.21c16635ce30cp+2 +0x1.235af779a7eecp+3 +-0x1.1b58b94905d77p+3 +-0x1.58b5e5e5e17d8p+2 +0x1.dc72e34ae62ecp+4 +-0x1.de7f639b3d658p+3 +0x1.76a74d5003af5p+1 +-0x1.b2a27178698ffp+2 +-0x1.d78d2ad9958eep+2 +-0x1.d3a2753254aedp+3 +0x1.5d8ba75afc39p+0 +0x1.44dc983d27d9ep+3 +-0x1.22ebdca8bfeabp+4 +0x1.78e75f962beb2p+2 +-0x1.9911172a835e6p+3 +0x1.0855c3159b79p+4 +-0x1.36a249f6713e1p+3 +-0x1.2510e79baa8e8p+4 +-0x1.0d06dd5d881f2p+2 +-0x1.616de2f2a6616p+3 +0x1.afd89ba2db15fp+1 +-0x1.29809ec5a8b95p+3 +0x1.aaf702a408688p+4 +0x1.9dcb10f0825a1p+0 +0x1.5f3cc882f0ce7p+3 +0x1.4ba3a5ffa79fcp+4 +-0x1.6d9b24ac25c87p+0 +0x1.a3ea737ecd838p+3 +0x1.207bc67429ddfp+1 +-0x1.fe6d08f681db5p+3 +0x1.1a69746b81fc4p+3 +0x1.d70e4ab377134p+3 +0x1.6f4597dae2bbbp+4 +-0x1.0c62a62513245p+2 +0x1.d820c9530305ap+4 +-0x1.71efdc4a4f75p+3 +-0x1.30841919dfc79p+3 +0x1.70f5336e17d7dp+2 +-0x1.1e12ccf027079p+2 +0x1.d6ae61baacdc4p+4 +0x1.f196bbf5215ffp+3 +-0x1.41d18d0f022ffp+5 +-0x1.762a83fb3a7fbp+4 +0x1.d63c0d6692ca9p+3 +0x1.f220354c3cc18p+4 +-0x1.f1afc8040b129p+3 +-0x1.69d51ef704b03p-1 +0x1.a217aac4eab47p+4 +-0x1.0b4dbbca69278p+4 +0x1.7d3ed50ce274ap+3 +-0x1.e87dd9747919bp+3 +-0x1.9ed7a29a9c834p+3 +-0x1.5be9942ff4d2p+4 +-0x1.9df17d86201f9p+1 +-0x1.4d8be99e8188dp+4 +-0x1.8eb3d6e9875e3p+3 +-0x1.cd544b866b613p+2 +-0x1.297df97e7a9ecp+4 +-0x1.72ed200511deap+3 +0x1.351bfe4f9af6ep+1 +-0x1.7a6163d228fb8p+3 +0x1.524c21b4055d1p+3 +-0x1.e7f4dbe5b1189p-1 +0x1.1f938f466b00fp+3 +0x1.21e2580529246p+2 +0x1.7f5a81506ac11p+3 +-0x1.0326e0867440ap+3 +0x1.3dbaa26960115p+2 +0x1.c7e527bc02a67p+1 +0x1.5e1d8eaca6c95p-3 +-0x1.d7ebf650cc9b9p+3 +0x1.9097b662a59eep+3 +0x1.a85b23e33314p+0 +-0x1.fd2e4f7bf87bfp+0 +0x1.34111b41a0232p+4 +-0x1.320bb7ec305bbp+3 +0x1.c3d3ce6fb26cdp+1 +0x1.d68badce5fad4p-2 +0x1.d5fbd9a4099ap+3 +0x1.7747520a8506ap+4 +-0x1.a3adc4d8243f9p+4 +-0x1.c7e54a561edfcp+2 +-0x1.1872b908a3c89p+2 +-0x1.e39d87f265b94p+3 +0x1.b75530da2cbeep+4 +-0x1.db9717453752p+1 +-0x1.7e4a49aa11db4p+2 +-0x1.ca0c47971a2e3p+2 +-0x1.140941e8f4e9ep+2 +-0x1.b89a4d30de0b1p+4 +-0x1.047d929ca12b4p+0 +-0x1.1fca22d9e3d3fp+4 +0x1.3a8cefb93c272p+2 +0x1.0ea7bf950d4bep+4 +0x1.c6c843e32c486p+3 +0x1.60342384077cbp+4 +-0x1.a5ffd2292d3b4p+2 +0x1.9dad758c55147p+2 +0x1.125b5c34f3271p+4 +0x1.90738b259e457p+2 +0x1.d921afd783667p+4 +-0x1.b154157bf17a5p+4 +0x1.4431396d43267p+4 +0x1.f07062f70ded8p+4 +-0x1.469440b3191fep+2 +0x1.e6c052b4d7129p+3 +-0x1.6c8e20d320275p+4 +0x1.597e7bc43487p+4 +0x1.cf0d186d06183p+3 +-0x1.7b4e545a4fef2p+1 +-0x1.47ffa36f14afap+4 +0x1.2af058642c809p+4 +0x1.260285817baf3p+3 +0x1.686e95f29c34dp+4 +0x1.710bd5d2c5ee7p+4 +0x1.55e840d9b9166p+4 +-0x1.43ffa8e88d158p+2 +-0x1.69b8c86092a1fp+3 +0x1.c0c0d7045be57p+4 +0x1.eac24ae0b33dcp+3 +0x1.e064bf381862bp+4 +-0x1.c5a6f5ae0f81ep+4 +0x1.7d090a3ef9149p+5 +-0x1.51054c3cebb78p+1 +0x1.bfa84543599e4p+3 +0x1.064c8f50de85ap+5 +0x1.0e768a936696ep+4 +0x1.fcd304df17d13p+3 +-0x1.52a4630ff9f88p+0 +-0x1.6fa7bbb482b52p+4 +0x1.1131d402eeaa7p+1 +0x1.84b6ef7476f9dp+4 +0x1.82d034b577949p+5 +0x1.3070756303b56p+3 +0x1.d6dd86c0ff286p+2 +0x1.b0c4237bd40dep+2 +0x1.6ecb46f059fb6p+0 +0x1.5472d0ca8751bp+2 +-0x1.2c76e4e00044bp+0 +-0x1.d8f29a525c17bp+4 +-0x1.c4f97b8b74aacp+5 +-0x1.6741e96b6870cp+0 +0x1.88639a9d97768p+2 +0x1.0047971d6e2a7p+4 +0x1.115370a703986p+1 +-0x1.1f7ae69c516cap+3 +-0x1.dc8958f7b3acbp+3 +0x1.dc3e846d83038p+2 +-0x1.2d4ce261eaea4p+4 +0x1.aa61367a61e3dp+4 +-0x1.99a04cdfd0df1p+3 +0x1.b0839e4189b87p+4 +0x1.d13377c3aa005p+3 +0x1.24962de239d04p+3 +-0x1.443c98b0560cbp+3 +-0x1.eeb87ebb65fa6p+3 +0x1.38c446b779cd2p+4 +-0x1.710f7cbaa56ebp+4 +-0x1.07b1a0825c188p+4 +-0x1.c75e1451c74e3p+3 +-0x1.3ddf731fb1842p+2 +0x1.27092f8aa5296p+4 +-0x1.0833d382ec7cdp+2 +-0x1.2cb6b94f88bdap+0 +0x1.6bd3df33085e1p+4 +-0x1.17db097560542p+4 +-0x1.fc4a6a3e62f6cp+0 +0x1.b5e865f3d64d4p+4 +0x1.40fc5612ba1c1p+2 +-0x1.cc7f4e662776ap+3 +-0x1.792ec52d353ep+2 +-0x1.44a492f5ff5d6p+5 +-0x1.3827d3f76703bp+4 +-0x1.41cca35a5f8bcp+5 +0x1.2cf956242c4b1p+4 +0x1.d9b4370fc2651p+3 +-0x1.2dd6188c8119ap+1 +-0x1.dd150317c60b9p+1 +0x1.dfc3cb1d20efp+3 +0x1.1f3afe7426708p+1 +-0x1.0cc97c80d87ddp+3 +-0x1.201c3df5ee694p+3 +0x1.df82b0e4c13fdp+3 +0x1.395d76dbb0bf2p+1 +-0x1.0b866d3ed57bcp+5 +-0x1.738d300f0c4d4p+4 +-0x1.0eeade15c772fp+4 +0x1.40cdcce2fc373p+3 +-0x1.3c73da13f2cc1p+4 +-0x1.74ae489a85dacp+1 +0x1.d82759a5a7c6fp+3 +0x1.27ee8b99097b6p+4 +0x1.1723e809d8be9p+5 +0x1.8f42905a6af4p+2 +0x1.550ea22983af2p+4 +-0x1.b17830927004cp-2 +-0x1.061f0850a474bp+4 +-0x1.7ae9b9ac3ce2fp+1 +-0x1.1541c8e599a71p+0 +-0x1.ed3335edb3fd8p+1 +-0x1.a2b8e06527b38p+2 +0x1.83800cfe2131ep+0 +-0x1.e01f1bfe66fc3p+2 +0x1.05b445e104278p-2 +-0x1.39bbd90a02bf2p+1 +-0x1.a0c207726808fp+4 +0x1.268d4ca64e482p+4 +0x1.8e2fbc3125b5ep+3 +-0x1.6b14c3fe2796cp+3 +0x1.8dc764d61a0ccp+3 +0x1.8779e69e57682p+2 +-0x1.176c96d183422p+3 +-0x1.25a54306d73b7p+4 +-0x1.81eb79a888b49p+3 +0x1.ab2f11629897ep+3 +0x1.11e367b41be23p+1 +0x1.8ec7b0a28eee7p+1 +0x1.6c5efe2f90a24p+0 +-0x1.890cbf4940455p+2 +0x1.827dd95ed480ap+2 +-0x1.14a3ce94c49d2p+4 +-0x1.0186afeb2e44p+3 +-0x1.75eb80c0dbf7bp+4 +0x1.24954c7f5ee18p+3 +0x1.f902db3318d55p+2 +0x1.640cf26bfbb62p+1 +-0x1.2f224f92f6885p+4 +-0x1.02d94b4d9016dp+4 +-0x1.9b7db7392324dp+3 +0x1.68651ebb454f2p+4 +0x1.f4796f30027fbp+3 +-0x1.d1393d75f4511p+3 +0x1.c5dc8fd3603a6p+4 +0x1.bb6f3211e908cp+1 +-0x1.cd8996d89a7e6p+3 +-0x1.c73193f75f0c3p+3 +0x1.987076bd1eeaep+2 +-0x1.a68fc08dfec19p+3 +-0x1.1a104bc99c0e2p+1 +-0x1.339fbe43d34c6p+4 +-0x1.413901f5193e6p+2 +0x1.ce62222b3805cp+3 +0x1.970f028113879p+4 +0x1.8abad91d0108fp+3 +-0x1.2c58f7a4e021bp+2 +0x1.06a996941e707p+4 +-0x1.8cd3399ff041ep+6 +-0x1.fe3dd3b21c701p+4 +-0x1.6021c857420fcp+3 +-0x1.575737013d5d6p+0 +-0x1.cfee4949fe65bp+2 +0x1.11638da253de3p+2 +-0x1.fb4ad68db196fp+2 +-0x1.378242c417f2p+3 +-0x1.00d2d9006315dp+2 +0x1.7fbfd8baa1d71p+4 +0x1.5a65d861f8c53p+4 +-0x1.c1986de017994p+1 +-0x1.4915bbf40d86fp-1 +0x1.6beb9b08962b9p+3 +0x1.57a911eb1ad5fp+2 +-0x1.12d0505a7c635p+1 +0x1.89ea2ae702fcp+2 +-0x1.5632cdad9c323p+2 +-0x1.d4c06be24be8cp+3 +-0x1.4f1954f19cfa9p+2 +0x1.3db72f9579379p+3 +-0x1.d8db14a91be06p+2 +0x1.98df14da2cd37p+3 +0x1.14ed3aaba1e13p+2 +0x1.152fd86c0f4d9p+2 +-0x1.eb0c41597dcfdp+1 +0x1.c34ee9c0b662p+3 +0x1.f84a204697033p+4 +0x1.43f320e296de6p+3 +0x1.38668c7e85186p+4 +-0x1.0fcdda4fc16b8p+3 +-0x1.9f96a6f3cef22p+1 +0x1.e85928dbfb41ap+2 +-0x1.361cdf5362f57p+5 +-0x1.8c83ce414b22fp+4 +0x1.1c76ac621150bp-1 +0x1.5b16355b23c86p+3 +0x1.5c549458b4ea9p+3 +0x1.969e895e32515p-1 +0x1.2440fa8897061p+5 +0x1.31fb48ccd28e9p+4 +0x1.2d1b84d2bb28ap+2 +-0x1.225302fa6c87ep+3 +-0x1.342994f685e83p+4 +-0x1.71951e6049268p+2 +0x1.29b1a102edbd7p+4 +-0x1.cff757eb27dffp+4 +0x1.2a3a816ba5faap+4 +0x1.f42529712cc99p+0 +0x1.c8b54130361efp+3 +0x1.83bb476615988p+1 +-0x1.d20fb8dfb519dp+0 +-0x1.0fdb2e462211cp+5 +-0x1.35115f1147a95p+4 +-0x1.b6312122192f4p+2 +0x1.a740b09c4e06fp+2 +0x1.09450797d14ccp+3 +-0x1.43bfe9bcbcffcp+3 +-0x1.808f836249d14p+4 +-0x1.b7e28934b005fp+2 +-0x1.3c6e2582182cdp+4 +0x1.e87adde1019eep+3 +0x1.3902b2ba290bap+1 +-0x1.76edd365a8352p+0 +-0x1.39acf704116adp+0 +-0x1.8b4aa06b5acdep+2 +-0x1.4a9160586351bp+3 +-0x1.1aa46fbf5324ap-1 +-0x1.9fb55e7c25027p+3 +0x1.0cca47e013bebp+3 +0x1.1ca5f2d47469dp+6 +0x1.0dc2f1273843ap+2 +0x1.9a8405cf46916p+4 +0x1.a607c945b5ac9p+4 +-0x1.44bb7d10967a3p+4 +0x1.f3e262d7d2025p+3 +-0x1.1518701db4cacp+4 +-0x1.5946e5076ca65p+4 +-0x1.d8f4f72e75f3bp+2 +-0x1.bc8404e8eea26p+3 +0x1.c53ab41121f9bp-1 +0x1.191f9a7809804p+4 +0x1.acbceb1ee93cep+3 +-0x1.4c2d729be6727p+3 +-0x1.02ea11fc8cd65p+4 +0x1.20889d795ca8cp+2 +0x1.8c2f30e6de49cp+4 +0x1.10b322fb9951bp+0 +-0x1.8560db1d3fefep+6 +-0x1.2743a11ce3daap+3 +0x1.4c16c24675605p+2 +-0x1.035d74bcbe027p-1 +-0x1.5967711870325p+2 +-0x1.044af2319224cp+4 +0x1.572759d0c031p+3 +0x1.0b9a4cb849af3p+5 +0x1.c2c14901ebb99p+2 +-0x1.18b6f0db87a4bp+3 +0x1.aa7be7a00f4afp+1 +0x1.0e7168cd2a5b9p+4 +-0x1.b5a3dcd4bbb18p+1 +-0x1.c72a6a042e50ap+2 +-0x1.cb81070961543p+0 +-0x1.47dbd3cd97892p+4 +-0x1.df37b2105266ap+3 +-0x1.430243a5f0f96p+4 +0x1.f6647fbd4cb5fp+4 +0x1.d75654d29b386p+3 +0x1.19a419c0aa2c8p+3 +-0x1.ac16228b22c89p+2 +-0x1.901e201c5cac3p+3 +0x1.091687705c0fep+3 +-0x1.b08922d8ed2f2p-2 +-0x1.6e97388085eb2p+3 +0x1.66dc784199b8bp+4 +-0x1.27ca9374b0695p+2 +-0x1.a8aa7773154bcp-3 +-0x1.aee52b26e299fp+4 +0x1.096de05323e06p+3 +0x1.29498a23ee9ffp+2 +-0x1.7819202c89d5dp+0 +0x1.2401c8899a63p+4 +0x1.4296ce4e36ddp+3 +0x1.b9051ee5173f3p+4 +0x1.6b220e627c763p+3 +-0x1.4a72db4fcfe5cp+1 +0x1.aed15d501a24fp+4 +0x1.144ca30cf11f4p+5 +0x1.67aa4ff5ab2b6p+4 +-0x1.48a91f20bffc6p+4 +0x1.9a61f20256742p+1 +-0x1.131b2bd2445cap+4 +0x1.eaf8483e99704p+2 +-0x1.1a1f4af55cfa7p+4 +-0x1.a0321a75a5356p+3 +0x1.616db09e2fa48p+3 +0x1.2ed1fbbf59e47p+2 +0x1.a347ae4bc7784p-3 +-0x1.9f96e8dcc513fp+2 +-0x1.0ef2a558260a4p+4 +-0x1.6462b400a9578p+1 +-0x1.d53832d3bed9dp+3 +0x1.b8dd7040d692fp+2 +0x1.4874b97365b26p+2 +-0x1.ec97ba98fa1b1p+4 +-0x1.53ef33d7c4a76p+3 +-0x1.07fba90718481p+4 +-0x1.d5c393bd7c10ep+2 +-0x1.448fe47264738p+5 +0x1.094c28d7301dp+3 +0x1.31663ecbd3645p+4 +-0x1.cf8768a66ee09p+3 +0x1.3509d066274a2p+1 +0x1.8dabe1a2eca3ap+2 +0x1.89563e1a7abc4p+2 +0x1.41e1ccabff7ap+2 +-0x1.bb2d1c4e64f42p+3 +0x1.1c840e2a493d7p+4 +0x1.bc5d90d6ec0a3p+4 +0x1.36b89c616fe2fp+3 +0x1.4596f71e39436p+0 +-0x1.88f8a32b99b0dp+4 +0x1.033bdbbad7697p+4 +0x1.7102185faf9b6p+3 +-0x1.3d096a9d70e32p-2 +0x1.3473c7e0d3656p+4 +-0x1.e31a31f195de4p+3 +0x1.efcb56603790dp+3 +0x1.a506ae382d772p+1 +-0x1.711fe7fe834fp-1 +-0x1.144e54b43e567p+4 +-0x1.821f6af7bfa5cp+2 +-0x1.facc3d8bb364ap+0 +-0x1.8d13ffd78004p+5 +-0x1.69e3ad3c29a73p+2 +0x1.4818c4a85a7a4p+3 +-0x1.40af87bbf289bp+4 +0x1.74a9b37329c64p+4 +-0x1.03bd38674857bp+4 +0x1.6e1a90fa22563p+0 +0x1.702f9efb00858p+3 +-0x1.9a1e3149058ffp+6 +-0x1.a287826e25cc7p+3 +-0x1.6a13d125c1d2dp+3 +0x1.bf6545614f2aap+1 +0x1.0073b49702568p+0 +-0x1.deccb44d69f3dp+3 +0x1.b97cd53a84b79p+4 +-0x1.e859599a8541bp+4 +-0x1.e8608a26fd75ap+3 +0x1.29b278175bf62p+2 +0x1.c0ce9ba6d30f4p-4 +0x1.0c8efd730f12p+0 +0x1.8abba277c6feep+3 +-0x1.70115381b7af9p+2 +0x1.11c3004c61d25p+3 +-0x1.fcebaafb4ecb6p+3 +0x1.b7819a2b6aba5p+1 +0x1.c4abced09ea7ep+3 +0x1.b9c07083f4b12p+0 +-0x1.625d30f6bd861p+2 +-0x1.4d16412bc07b6p+5 +-0x1.6e78e8541f34cp+4 +0x1.ff57b4477173ap+1 +-0x1.732f7fbf78345p+4 +0x1.c60c8a18ca74bp+4 +-0x1.6c0f712692246p-2 +0x1.6c6fccae9544p+3 +-0x1.8770ac5c7c4d7p+4 +0x1.2e1f3fb86e2e1p+3 +-0x1.8a5f0fb797007p-1 +-0x1.137b351e7d8bep+0 +0x1.08318d16847cp+3 +0x1.55dacfe7d2f16p+3 +0x1.c697ca1ea3a28p+3 +-0x1.7e14c4e8c5dd1p+2 +0x1.c05af990ced74p+3 +0x1.b883443cfa3bp+3 +0x1.d456c46c32ff5p+1 +0x1.8f5974602f8c2p+3 +0x1.9e93011006be8p+4 +0x1.27f39a9c172a7p+4 +-0x1.1bbf7b8216c44p+3 +-0x1.be890b1a75765p+0 +0x1.a553d59400777p+3 +0x1.43939e5464cfdp+3 +-0x1.4045e41a2f778p+4 +-0x1.35a0f5e4ccdc2p+4 +-0x1.3422aac46b8f2p+3 +0x1.fa67b5b462e41p+4 +-0x1.3cc6fc0ab709dp+4 +-0x1.4f0814f4ecca6p+5 +0x1.78175b45bbf5cp+2 +0x1.07b0322010eb3p+5 +-0x1.39bc1cac5674ap+3 +0x1.7e1ecab2b8611p+4 +-0x1.a8cdaa343f1c3p+3 +0x1.f5b0caff27af8p+3 +-0x1.e7061a420527ep+3 +-0x1.323af1ffac813p+2 +0x1.8d033a8dd7ddap+3 +-0x1.a1a07454f8a1dp+3 +0x1.50cc41f57d39ap+0 +-0x1.f56e5e9fada02p+3 +0x1.3859d96750defp+3 +0x1.73203bf383085p+3 +-0x1.8adde5f8f1df4p+3 +-0x1.d557ae14c19b7p+0 +0x1.36e46dc9e2dddp+1 +-0x1.f3c34808a1169p+1 +0x1.27b77812c8d7bp-1 +-0x1.3d6d9449f0b2cp+3 +-0x1.11e906c2545bep+3 +-0x1.deaedd8052d44p+4 +-0x1.6c268666b780dp+2 +-0x1.751cb5efc0125p+2 +0x1.7e5a447cbe912p+3 +-0x1.a1a94467137d8p+3 +-0x1.631e76fac0a58p+3 +-0x1.4974ea8a5b944p+1 +-0x1.610c39847f6dep-1 +0x1.64f79be504d66p+2 +0x1.ef4876bb9373dp+2 +0x1.3bf07758ac0edp+5 +0x1.1b3054b54d8d9p-1 +-0x1.0d3a4f35633c5p+2 +0x1.017ee3b6d9aebp+5 +-0x1.208cbf8e3dbeep+4 +-0x1.5f084df226306p+4 +-0x1.2bc95225cf2a6p+0 +0x1.79882b08dd3ccp+3 +0x1.f213b8342646bp+3 +-0x1.a1dee7da2bf6cp-2 +0x1.398ba033f91a6p+2 +0x1.301cf5ed802dbp+6 +0x1.39d6defac7224p+3 +0x1.716f388070c41p+5 +0x1.b164e917a32f8p+1 +0x1.adaf625ba3cfcp+4 +0x1.e9a2d143c4b25p+3 +-0x1.17544ad4ba83cp+4 +0x1.3276ea83d9999p+0 +0x1.885669565595p+2 +-0x1.e5262ccd10aa1p+1 +0x1.848718769db68p+2 +-0x1.22a942989a93p+4 +0x1.e4a268fcc1f87p+3 +-0x1.2988d714911b8p+3 +-0x1.35c038462ef2ep+3 +-0x1.73ac55048db1p-5 +-0x1.2596ba0f8da32p+4 +0x1.938232f17ffb5p-2 +-0x1.d574c505bd404p+0 +0x1.9e272df83331ep+4 +-0x1.baca8328beadep+3 +0x1.9f22e23bc0f6p+2 +-0x1.c073ca76d48a1p+1 +0x1.1633b247d7e01p+3 +0x1.63fde035cd946p+2 +0x1.3bf3ffdc65e09p+1 +-0x1.2429280322e3bp+2 +0x1.b44f60e7247e4p+3 +0x1.35ef8ef818f27p+3 +0x1.227a709d1e6d5p+2 +0x1.01263efdae1d3p+1 +0x1.43f43b811264p+4 +-0x1.272e41a83f19cp+1 +0x1.cde265bc071c3p+4 +-0x1.2759fba345ef1p+4 +0x1.53c29fe09b2b4p+3 +-0x1.3b002ac772cc3p+3 +-0x1.a9d384a6c2d99p+3 +-0x1.c0ffa46344c7bp+4 +0x1.28be59a2b8973p+4 +0x1.dee23f044c63p+1 +0x1.00a382f66b2b1p+4 +-0x1.089955f5cde6ep+4 +0x1.177110c3ba3f9p+3 +0x1.1d920135cafdp+1 +0x1.b4eab91fa7e9dp+4 +-0x1.50679095977ep+5 +-0x1.b02079606e48ep+2 +0x1.15067d4ddd5d2p+3 +0x1.33b2fd363a87ep+4 +0x1.229d8dbb97519p+3 +-0x1.14bb16ed08341p+4 +0x1.06aa7a7c56016p+3 +0x1.b45903726b769p+2 +0x1.715c2c71815e3p+4 +0x1.66840832724dep+3 +0x1.f24d72fa4a60bp+1 +0x1.dbf50b585b223p+4 +-0x1.938fba520654p+4 +-0x1.bbfd71f367dccp+0 +0x1.333e5ed1263a1p+4 +0x1.05222e2d2d4aep+0 +0x1.8c6cd202ba974p+4 +0x1.8f1b75ace3b7bp+2 +-0x1.02c5f5cf16d5p+2 +-0x1.1713aaf722843p+1 +-0x1.a29ad45c3a3dap+4 +-0x1.b6d618e039128p+2 +-0x1.70b115246867bp+1 +-0x1.d84737c689ddp+2 +-0x1.a232c0b047aebp+0 +-0x1.ec49934edee56p+1 +0x1.523a7ebfe78e3p+4 +0x1.e70aedebd4b1fp+2 +-0x1.5a1c975911dbfp+3 +-0x1.ed119034e6a4bp+3 +-0x1.792fd2b9e456dp+1 +0x1.4880715dad285p+3 +-0x1.e435be704689ep+2 +-0x1.e5248c755c768p+3 +0x1.2ea91c7e4606fp+3 +0x1.0752368183a77p+4 +-0x1.9fd765276e4a2p-1 +0x1.d27774b0a46bcp+1 +0x1.a0de76d18538p+4 +-0x1.779e199954091p+3 +-0x1.9a63b29ced1acp+3 +0x1.4551c071e3612p+3 +-0x1.2bf0f08f79f3bp+0 +-0x1.ae0f77c31c75dp+2 +0x1.0adee963dff24p+7 +0x1.34f0d2a12cd84p+2 +0x1.69e271f1f8fa2p+2 +0x1.2da5a48c9a9e1p+5 +0x1.a9cf96e2ed939p+3 +-0x1.45019d2ee0fb3p+0 +-0x1.1e7d1b6662a83p+1 +0x1.ce6a228515532p+3 +0x1.e60fc4f8bc76ap+1 +-0x1.ba4f23e166ab6p+3 +0x1.bef6acf8e5265p+2 +-0x1.f08f31b874a0cp+1 +-0x1.827eef84b9c14p+2 +-0x1.81451763c7fcbp+3 +0x1.929f7c4873464p+2 +-0x1.2e62ca652df96p+1 +-0x1.0b1e914266a6ap+4 +0x1.8b1da759fca95p+2 +0x1.41a8c338299f7p+3 +-0x1.c2ed3436ec8e9p+3 +0x1.23ff52f35c879p+4 +-0x1.79751538755f8p+3 +-0x1.ef27218b9c90bp-1 +0x1.31813f5a8b34fp+2 +-0x1.19f82859faf39p+1 +0x1.4f28e4c463c9cp+4 +0x1.9f7be005ac4a4p+1 +-0x1.230af086c9602p+2 +0x1.f24a97c1672e6p+3 +-0x1.3785bff77fa86p+3 +-0x1.28ddef8a7188ap+4 +0x1.af2e4bf2e0527p+3 +-0x1.bb9c349cb3eb1p+3 +-0x1.23738446973ccp+4 +0x1.216e94fde3782p+3 +-0x1.404f78dfdac49p+1 +-0x1.d5f7630733621p+3 +-0x1.6a54a38f0c78cp+1 +-0x1.ea251e3191e44p+1 +0x1.e4d75b70f7768p+2 +-0x1.51d77741c59aep+4 +0x1.f0ffbede3629fp+1 +0x1.07cd9aa1e8cc4p+2 +0x1.7291e70882dcp+3 +-0x1.45f0f8ad37df4p+5 +0x1.16fa723f3f61bp+3 +-0x1.68cf93cb7cd7fp+3 +0x1.bda4753e9d1aap+4 +-0x1.804fa8f12a234p+6 +-0x1.044f2c1e7031fp+4 +0x1.9a6b6884e4863p+2 +-0x1.0585998124d7p+4 +-0x1.51373e1abd6eep-2 +0x1.0ccfdf512b482p+1 +0x1.217ce5fc6541ep+4 +0x1.5f834695e1c6bp+2 +-0x1.4855b8dac7c66p+4 +-0x1.c67155ef87709p+0 +0x1.332755d7fca97p-1 +0x1.2a624540c149fp+3 +0x1.caa2ebc95573cp+1 +-0x1.682f24da6017ap+3 +-0x1.d0d90ecc89c53p+4 +0x1.904d8057eaef1p+3 +-0x1.d9bc35e72d545p+3 +0x1.b609cf1eb7875p+3 +-0x1.9a9a14ba31b5fp+3 +0x1.ecb4a40275652p+1 +-0x1.ada57e0eb119bp+3 +0x1.8fce241b1e336p+2 +0x1.ac55e0fbe0d38p+3 +-0x1.0c3b900555af8p+2 +0x1.a5e5b3473e91fp+2 +-0x1.0565e7ab26f9ap+3 +0x1.6da23867e6d97p+1 +0x1.8bfbf8969babap+7 +-0x1.ff2f3bcf1d076p+4 +0x1.bef44a8e2b591p+4 +-0x1.8801d5721b75fp+0 +-0x1.cbb29dedb7859p+2 +0x1.09dc7087753f5p+3 +0x1.34052b306e164p+6 +0x1.ed813e59a23bfp-5 +-0x1.6ef24221dc489p+4 +-0x1.ab8e7ea2538bap+0 +0x1.218a906174475p+4 +0x1.0652460d91c3dp+2 +-0x1.4bc35a7f6918bp+4 +-0x1.503f55f551c6ep+3 +-0x1.de0226626a4c3p+3 +-0x1.7c16f2a2e310fp+4 +0x1.be43032895252p+4 +0x1.a2e2c52f41be9p+4 +0x1.5f5178957b39fp+3 +-0x1.80f520a4221aap+3 +0x1.be8831b22588dp+4 +0x1.1e1ad8eda7dd8p+4 +0x1.88af12d33e396p+3 +0x1.56d510daccc47p+3 +0x1.2e8bca4275bb5p+3 +0x1.7c2a16c2964e7p+2 +-0x1.c3f2462543705p+2 +0x1.6067414f612e5p+6 +0x1.11083b729cf36p+4 +-0x1.7e2af39315da9p+3 +-0x1.7da2eaba0ec41p+1 +0x1.506ffb7425729p+1 +0x1.7ab5ea8242debp+1 +0x1.b77cabf14db6bp+0 +0x1.7b3b4e2f05ddep+4 +0x1.bbddc223d8ed4p+3 +0x1.c509a23d73b8dp+4 +0x1.e404856b3290ap+3 +-0x1.4ebea7929d524p+6 +0x1.826b805093a09p+4 +0x1.88114f0451dddp+3 +-0x1.242f7a3e92be2p+2 +-0x1.4b33f9eba0d61p+1 +-0x1.3ff7b15d65457p+4 +0x1.e5c145a39e135p+3 +-0x1.0452cb23c2ea2p-2 +0x1.c0f7e50a92837p+1 +-0x1.2fe8f78eba3bcp+3 +0x1.4b188c8b58e1cp+3 +-0x1.0280595397c7p+2 +0x1.81a3d0dc3fce3p+4 +0x1.61604f72cc50fp+1 +-0x1.88b9b48e6e12bp+2 +0x1.adbde0c853d1dp+3 +0x1.ef8b77b92c76ep+1 +0x1.6f05862b7c708p+3 +0x1.08c56327c3c07p+3 +0x1.e038095394ea6p+2 +-0x1.72ba700c37f07p+4 +0x1.c7974bb63ecdcp-2 +-0x1.4730babdc0c14p+5 +0x1.d2be6bebeedf4p+2 +0x1.aed31fa12d292p+0 +-0x1.13802dfe62ed5p+4 +-0x1.1f41e33160aaep+1 +-0x1.29929c9c92042p+2 +0x1.d3f8e5ae13d6ap+1 +-0x1.2618516fffc75p+0 +0x1.0ad203c10df6ep+1 +-0x1.e96f930781a01p+1 +-0x1.21e5d8eb57dd9p+3 +0x1.0b7872ebefd2p+4 +-0x1.fea527443ca72p-4 +-0x1.93dc6ac05f8f3p+2 +-0x1.680cd1fdc064fp+5 +0x1.21f1f1626f20ep+3 +-0x1.060a6d09b6f49p+5 +-0x1.1ff16387bdfa4p+4 +0x1.95df90cb13b0ep+2 +-0x1.0ccf3fbb8bc2p+5 +0x1.12b19649c70c7p+4 +-0x1.220a5ffef9135p+2 +-0x1.5ef9eb9552a3bp+2 +0x1.71cdb61a203c4p+3 +0x1.1b40f1a2fcebap+4 +0x1.dae3426c41647p+1 +0x1.ceb35659a8204p+4 +0x1.028d091c63623p+3 +-0x1.0e43930a7e9cfp+1 +0x1.13f653da5a11p+2 +0x1.d86000d9a7707p+1 +-0x1.e6a3193c6903bp+3 +-0x1.a82c765e6b331p-1 +0x1.1e75da86fb093p+0 +-0x1.0d4c1fec2fa9p+4 +0x1.982dde9628309p+0 +-0x1.d37956b1a6bd5p+3 +-0x1.a04d485c3b9e7p+0 +-0x1.04014c571b3e5p+1 +0x1.658acf683261ap+2 +-0x1.0ff5d61e9b253p-2 +-0x1.1159edd18db7dp+1 +-0x1.26c032f90fc1ep+4 +0x1.5bf4c346a8c6fp+1 +0x1.5027343852a7ep+3 +0x1.687e11cabc067p+2 +-0x1.82955d1c9805ep+1 +-0x1.f0a28e0a0bfc3p+3 +-0x1.934f90e95a09cp+2 +0x1.9f3bffdb167d8p+2 +0x1.104161c484cbcp+3 +0x1.250e9485f986cp+5 +0x1.cbb8b279f75cfp+3 +-0x1.734ff4526c413p+4 +-0x1.39dd9137af427p+2 +-0x1.69653a2a1374bp+3 +-0x1.9e5b08d76b728p+4 +0x1.cf9e7d04b54bep+0 +-0x1.f509a8312f736p+3 +0x1.e6fb88bdc053ep+2 +-0x1.0ea54797bc92p+6 +-0x1.55417c451fb34p+6 +-0x1.d76b71224c9b6p+4 +0x1.c56e2c269a7f6p+4 +0x1.2fd78ccfebdf2p+3 +-0x1.53571df7a806p+2 +0x1.1fc02cf8c4886p+4 +0x1.193244de4ffd8p-3 +0x1.33d8e33096e76p+0 +-0x1.deccf2895ba49p+3 +-0x1.5914e7d3a013p-1 +-0x1.8895897e91057p+4 +0x1.3e4dd68a3b267p+4 +0x1.32e09414cfe9ep+2 +0x1.b25072bb38547p+3 +-0x1.e1b733cabc1a8p+4 +0x1.36b69bef0cbcap+4 +0x1.24780e586bcd3p+4 +0x1.7530df39ab5a1p-1 +-0x1.3612bb1dc64eap+4 +-0x1.e537779e7d117p+1 +0x1.17896c66b683bp+4 +0x1.044eb117d7818p+2 +-0x1.53c8ca3e29b1ep+3 +0x1.ea6f95ee5dcb6p+3 +0x1.b4e0038a61d51p+2 +-0x1.e2af578213281p+4 +0x1.0533a560b45f6p+4 +0x1.7b386626c644bp+4 +0x1.a8aec58be087p+4 +-0x1.70f68000c51eap+3 +0x1.51f401ec7fbdp+3 +0x1.db06473f40fedp+0 +0x1.4e1963fd716bbp+1 +0x1.a93094e125a22p+2 +-0x1.1026fefab4092p+3 +0x1.2b11802d5672cp+0 +-0x1.1663b10191896p+2 +0x1.64f32aa7f17c9p+2 +0x1.76f537ad53e83p+4 +-0x1.229ed99baeca3p-1 +-0x1.9d54224e8c116p+1 +0x1.66399235e31adp+2 +0x1.8274241590838p+1 +0x1.56ef89e9426dcp+3 +-0x1.48c9fc90c511ep-7 +0x1.2c9095d7682e6p+2 +0x1.f11c2ae636f68p+1 +-0x1.d30d83164bea4p+3 +0x1.7c24af02ca1bp+3 +-0x1.a8496a3e739d3p+3 +-0x1.8d426075714abp+2 +0x1.2fee8d8fad0ccp+3 +0x1.2784b3c87544ap+3 +-0x1.fa3b208cc16eap+1 +0x1.5f32ab56a81c4p+2 +-0x1.d1bb10de8809bp+3 +-0x1.b9e65c992b6c7p+1 +-0x1.cf810197c16a1p+4 +-0x1.6dbe7021dcdc3p+1 +0x1.a46e973a3e99p+4 +0x1.4cde1121818fep+4 +-0x1.e842a6195ef26p+3 +0x1.a07a37e8d4c71p+2 +0x1.021d6b583a26cp+4 +-0x1.07a6aa47f6bfcp+2 +0x1.684072264d247p+5 +0x1.5a13a33f9ca56p+2 +0x1.e2f9968e2736fp-1 +-0x1.5ffafde92027ep+2 +0x1.b56387a27cf5dp+1 +0x1.7d238029ceef2p+0 +-0x1.61af1bcd2f05ep+3 +0x1.0f51748743b1ep-6 +0x1.2498498f33eaap+4 +-0x1.8907402f60d53p+4 +-0x1.ab41475fcd6bap+4 +-0x1.dfbe17f38637ep+0 +0x1.9308bf9a54849p+1 +0x1.c58a07e377dc5p+4 +0x1.b362b3185f4d7p+2 +0x1.57be103ebaf0cp+0 +0x1.94bce49269bc3p-1 +-0x1.020ca5691cce5p+5 +0x1.83ec89bb2ce2fp+3 +0x1.b2c4774b4357bp+3 +-0x1.113a09f81fc81p+3 +-0x1.d382c87c16dfap+3 +0x1.7880f4f8ccd14p+2 +0x1.971a035ffe8adp+4 +0x1.0fb77f47421eep+3 +-0x1.9719c92834c47p+1 +0x1.ea1f6d15e40f3p+0 +0x1.32beae2003fcp+4 +-0x1.cf59e5c75346p+3 +0x1.1b29cf0432334p+4 +-0x1.3a8dc761fad7ep+4 +-0x1.9329f7e1e1bb3p+3 +-0x1.da33f91ffa374p+1 +-0x1.6ef64ba5996c6p+2 +0x1.43b06acc76e46p-1 +-0x1.52cf3636ba4c8p+0 +0x1.081ab8e481571p+2 +-0x1.a3029d2789b85p+4 +0x1.0dd4a1f66412bp+5 +0x1.d76a14869e7f2p-3 +-0x1.365096745d39dp+1 +0x1.f8c280e4e1c84p+2 +0x1.2e34b13041e0ap+4 +0x1.76e0cc85b8289p+4 +0x1.7fc06c4f16dcap+4 +-0x1.1fc0438960659p+4 +-0x1.0ae6fc59bc6d7p+4 +-0x1.2c6562b353152p+3 +-0x1.cc02a394dc81p+3 +0x1.eed6e25dc319dp+4 +-0x1.95d15aed7e55p+4 +-0x1.c9bdba2cce334p+4 +-0x1.7bb8e0390ed1p+5 +0x1.059c1493b1ef6p+4 +-0x1.cd3fc1071d3c8p+3 +0x1.6e093b3f895bfp+3 +-0x1.4d1a150d70ee8p+4 +0x1.fbe58bc9bd9d5p+2 +0x1.bc4616bd7691p+2 +0x1.8efeadf3c5833p+0 +-0x1.edf52b2c77c85p+3 +-0x1.c75fde6084728p+4 +-0x1.360ca3a0dd42cp+4 +-0x1.8316aa3769e3dp+2 +-0x1.d60075694fd86p-2 +0x1.44b1aea5f012bp+7 +0x1.dcda45212aec6p+3 +-0x1.59edd0fd7a02bp-2 +0x1.4b4d1a28acebep+1 +0x1.334620ecc9621p+4 +-0x1.29ca766a4883p+3 +-0x1.be15557ae10cbp+3 +0x1.ea0c0064d5ceap+2 +-0x1.ce34047bc919dp+2 +0x1.30678cc693546p+5 +-0x1.e1bb82cad4ff9p+3 +0x1.ea0ff46f317d1p-1 +0x1.923c71788ea04p+0 +-0x1.4884c29964546p+4 +0x1.152025ce81301p+5 +0x1.d299f4143fefap+3 +0x1.0386c797fbc4ap+5 +0x1.00ec53614e27ep+1 +-0x1.0a6d141458b05p+3 +0x1.0269a3cd98e66p+3 +0x1.5638675db228ep+3 +-0x1.b712ca3109ea6p+1 +0x1.1f2cd3235346cp+1 +0x1.ed4bdf659996fp+0 +-0x1.a29e188bf5bfbp-1 +-0x1.069dc0fb9574p+4 +-0x1.050c8a2ff07b7p+3 +0x1.90271c76cfadbp+4 +0x1.17cf9a8c3dc4dp+3 +-0x1.917ca02a22d06p+2 +0x1.15f860722717bp+5 +0x1.b87e35ebfa349p+4 +0x1.7ae3124b25f2bp+2 +-0x1.c5c72c93c2d11p+0 +-0x1.eb5c14492754fp+2 +0x1.2db7ce4a43852p+5 +0x1.917df786a7411p+4 +0x1.0032d2617d198p+4 +-0x1.c04d5276f8e8cp+1 +-0x1.658aab185625p+4 +-0x1.def7a427fdb86p+3 +0x1.24255dd6326d9p+6 +-0x1.e29c2e02b1802p+4 +-0x1.3a92f53a6713p+3 +-0x1.01840542c33e8p+2 +-0x1.a1bb461853681p+3 +-0x1.cd19ac4ad8ac9p+2 +-0x1.48b60d36a500bp+2 +-0x1.bd350368ccd79p+1 +-0x1.c46617fb1ff35p+4 +0x1.bf977d521a53fp+1 +0x1.bbb77eb52871fp+5 +-0x1.a5f1702bdb0aap+1 +-0x1.f0470fd55eb31p+3 +-0x1.49c53a8ddc39cp+3 +0x1.99798da1c025ap+1 +0x1.5922a36a4d17p+0 +0x1.91aab55bb0eaep+3 +-0x1.28062a01ab905p+4 +0x1.41d290947b575p+3 +-0x1.2aefe0be622c3p+4 +-0x1.53a44ea11ap+4 +0x1.680da9bc8745fp+6 +0x1.2270dd0fd3ddcp-1 +0x1.539cceded3db2p+2 +0x1.1d375d18b4865p+5 +-0x1.9361bf3db55c9p-2 +0x1.6b24572e08393p+3 +0x1.b7235d116871fp-1 +-0x1.67bef0d5e2905p+3 +0x1.ba7cff5a21287p+1 +0x1.6f2d89e4377d4p+2 +-0x1.4e682d49ff477p+3 +-0x1.866033fc47c63p+0 +-0x1.a8b234d4fa494p+3 +-0x1.5b18f0c015f78p+4 +-0x1.43970bfb824aep+3 +0x1.2cbe71f97c90ap-1 +-0x1.26b7c0e9a8849p+4 +0x1.194518d91bc4p+2 +-0x1.d7ef251bbc71p+3 +0x1.6bd3bdec63b04p+3 +0x1.2d60d5a27c4b2p+4 +0x1.4e2a48b2d5123p+2 +-0x1.9bc7256c883d5p+3 +0x1.6521f84acf6cbp+4 +0x1.3246dc983ab88p+2 +-0x1.80002fd67a625p+2 +-0x1.1678006ca7655p+4 +-0x1.14855f287d8edp+5 +0x1.54ed1bd62c549p+4 +-0x1.2eefa74a088a6p+2 +0x1.97c2d37b17f69p+2 +-0x1.142d7cf3fdc0ap+4 +-0x1.796aa9a04aae8p+0 +0x1.844d8c8624b5ep-4 +0x1.546bc41c08f8cp+5 +-0x1.998eb2a1f58bep+2 +0x1.25fa8f9db5a5fp+3 +0x1.fc34f5a415d0ap+3 +-0x1.6999cad5dcb1bp+4 +0x1.52bfed0c2067p+2 +0x1.564f1508ad28ep+3 +-0x1.aeeba98923fcap+2 +0x1.99268aa57399dp-1 +-0x1.ee66af8dc006cp+2 +-0x1.1c6a1739b26b2p+3 +0x1.435e7e1a9bc3cp+0 +0x1.76cc2e8e9e5dfp+5 +-0x1.83fc524693dbep+2 +0x1.6c378d0d612bcp+3 +0x1.03605b7977cc8p+3 +0x1.add1e9f1c6cddp+0 +-0x1.12d5618c6b4c6p+4 +-0x1.b48c30fac1824p+2 +0x1.6b3ae30fd52dfp-2 +0x1.173f8478e2863p+5 +-0x1.a958f7c94498bp+5 +0x1.67d70704a4339p+4 +0x1.46b330f251836p+0 +-0x1.95dc20f6b81b1p-1 +-0x1.fb3325a724a99p+1 +-0x1.d185f66c21c09p+3 +0x1.7f29d578ddf1bp+4 +0x1.404b71c973ecbp+3 +-0x1.d555687577d14p+3 +-0x1.6dfd1cb7643p+4 +-0x1.ec906dcd35ddcp+3 +-0x1.685455d1c3832p+3 +-0x1.fe44a15cfc5f7p+0 +-0x1.82a96f35f4bccp-2 +-0x1.762ef989151c9p+1 +0x1.d80ad8139227ap+4 +-0x1.486074c9ef04cp-2 +0x1.0a8cf1332cb4fp+4 +-0x1.216b43a7112cdp+5 +-0x1.5c978b95cc4e3p-2 +0x1.823b307638c3bp+4 +0x1.5d0c05751da09p+5 +-0x1.2f51752f28a43p+4 +-0x1.c4b97f5f00b34p+4 +0x1.4b06db80057f5p+3 +0x1.9ac9d7097f697p+4 +-0x1.d063203e64a5p+3 +-0x1.6a96dfd282c3ep+4 +-0x1.b565071fb2b58p+4 +0x1.03ba242e75589p+3 +-0x1.00f62c2282f9ep+4 +-0x1.29090666ab3e2p+4 +0x1.200271d15e08ap-1 +0x1.02cdd703c372ep+4 +-0x1.c1df0a6cc8eb4p+2 +0x1.62082cc20f3afp+5 +-0x1.38362f1b1b34fp+5 +0x1.05e18b0cb3a7cp+4 +0x1.b4f5170011cf4p+3 +0x1.5d5d25d6e1df5p+3 +-0x1.1bd403a1d726p+4 +0x1.1ed7d1ed1fb16p+4 +-0x1.378d0206978d9p+2 +0x1.54db1a0228a1cp+4 +0x1.86cc4a0a87f44p+4 +0x1.0faede2b4bb8bp+4 +0x1.ff5697c3be761p+4 +-0x1.94f979bc376afp+2 +0x1.e3ca74f9d7f9dp+2 +-0x1.4e0fbca0be32bp+3 +0x1.4f04d297066c7p+4 +0x1.11836795d306bp+4 +0x1.1cf13582f1318p+3 +0x1.c262bccdc508p+3 +0x1.69e9700a1f7aep+1 +0x1.c7e2aea850175p+4 +0x1.0ea45c7f10e7dp+4 +0x1.70b79bca29c7ep+3 +-0x1.809fab2fa7544p+4 +0x1.073ac8101b9adp+5 +-0x1.00e0b405485b1p+5 +0x1.18653b53eb512p+3 +-0x1.2914dceb8e09dp+3 +0x1.558e102a5bcaap+0 +0x1.a48fb0c386415p+0 +-0x1.b7f86beff7bbep+3 +0x1.cf689bb62eae4p+2 +-0x1.4df38f690748cp+3 +0x1.3d914834a02dcp+3 +0x1.04d87064f45a9p+1 +0x1.183f8f2241ed6p+4 +0x1.1318240ca5d33p+3 +-0x1.cae47b30d2f23p+4 +-0x1.72a1c2a89d6c9p+3 +-0x1.3d1ec7587c2b8p-3 +-0x1.051fbbde41a39p+4 +-0x1.dd8fcaa8a58f8p+1 +0x1.ac2c57087b80bp+4 +0x1.cf0ef531e025dp+1 +0x1.2a15bb92fdf38p+4 +-0x1.6458baf70503ap+2 +0x1.3dfba059f2546p+4 +0x1.acce48f4e536cp+2 +-0x1.4a6c29779e9acp+3 +0x1.0d65e0dca8388p+4 +-0x1.ef75c3b7f15afp+4 +0x1.9d0aaca0bcb23p-2 +-0x1.1aa7e17a289fap+4 +-0x1.d7ae6b7c6814fp+1 +-0x1.dabe9688f81fp+2 +-0x1.42dc805d7da19p-1 +-0x1.e3ff006448c3bp+3 +-0x1.567bcfb46e58ep+4 +0x1.45e4c94adae2p+3 +-0x1.490a684bbfe4ap+4 +-0x1.0f8e1feffa9fdp+4 +0x1.6b87dd6e069a6p+0 +-0x1.948d00f9cf08dp+2 +0x1.2150989caa1b7p+5 +0x1.91ff10e829bb3p+3 +-0x1.014c7a49df518p+4 +-0x1.b2697742ba1dap+3 +0x1.9b8ef73ad9ad6p+2 +0x1.4fc9cbea1c7c2p+3 +0x1.697d91d3855afp+2 +0x1.249b54f133818p+4 +-0x1.360a5bac22358p+4 +0x1.6a3caeb79e627p+4 +0x1.08101ea1959cep+5 +-0x1.ecf65cc6cfa57p+1 +0x1.62cada4da3588p+1 +-0x1.06112ee96ed42p+3 +0x1.991d772a8d2fbp+3 +0x1.606adf984b0bdp+4 +-0x1.070713afa5105p+1 +-0x1.562a988502c92p+0 +-0x1.dc5e96eedc33ap+3 +-0x1.83bc2de9bd012p+2 +0x1.5f291c644a389p-2 +0x1.1d710eec4858dp+0 +0x1.0c56cfcad138ep+4 +-0x1.3b679d3e55c8cp+3 +0x1.c4eb4c6c751bfp-2 +0x1.9904636bc6218p+3 +0x1.06002bd0dec72p-1 +-0x1.f13c1e5b57d07p+0 +-0x1.180a16bcb1dccp+2 +-0x1.8f8b4d1447b8bp+4 +-0x1.1649f29698c38p+4 +-0x1.97f9eaf9bcfep+2 +-0x1.4fe6172b8e328p+3 +-0x1.486812c812d0ap+1 +0x1.10b6023dd5a51p+1 +0x1.5952457bf158fp+2 +0x1.f010c517a2d28p+3 +-0x1.18296d17dc06ep+1 +-0x1.3d588b118722dp+1 +-0x1.6d596346c5777p+4 +-0x1.9dca2a23691c5p+2 +0x1.257a95aa902dep+4 +0x1.2046e888a57d5p+3 +-0x1.ead32b1ba9fffp+4 +-0x1.47b2d0411b1e5p+4 +-0x1.3195524628d3p+4 +0x1.03d558dacfc7cp+4 +0x1.c00ae24a0a399p+4 +-0x1.8fab24503bdedp+0 +0x1.3549cb20d72cap+4 +0x1.007aa5b57512dp+3 +0x1.457e7acdf9e75p+3 +0x1.18726b7878b02p+3 +0x1.13ddb372b541fp+2 +-0x1.03641de444419p+3 +0x1.4c7beb9dd3e1ep+4 +-0x1.a59091efe7995p+2 +0x1.2641c9b9a248p+3 +0x1.15666195054f1p+5 +-0x1.e0f6fb09b47b1p+4 +0x1.05feeba056108p+5 +0x1.0235ba2b04d61p+7 +-0x1.544059260e467p+3 +0x1.705f558db1f7dp+3 +-0x1.643b9f48c3eddp+4 +0x1.d1236f695756dp+2 +0x1.6718ed72e9789p+3 +-0x1.57e652ed6513bp+4 +-0x1.79544ea4f842p+2 +-0x1.16d6405fdef62p+4 +-0x1.1ac905b09b513p+4 +-0x1.e85af446ce44cp+3 +0x1.bb11c58573c6p+1 +0x1.7f800df187fbap+3 +0x1.3d5614880365fp+4 +-0x1.cb8fc5ca8d21ap+2 +-0x1.38784b4457b53p+4 +-0x1.4ab4fa9fbd1afp+1 +0x1.92b27a1402533p+5 +0x1.3dd5b7bc8c944p+3 +-0x1.ffa2151287b0fp+1 +0x1.4761347fdc14fp+2 +0x1.e5787b1dd88eap+2 +-0x1.f9e446149f343p+2 +-0x1.93e5d1509b1fbp+2 +0x1.4357f95694abbp+3 +-0x1.4f73dff8a219dp+2 +0x1.9d7f484a92c38p+4 +-0x1.f46b4b3c263a2p+0 +0x1.4cc1316881981p+1 +0x1.3e01ae737cb7p+4 +-0x1.b8cd7cf1ff021p+2 +0x1.17734bf216319p+1 +-0x1.4d84b67ffcaabp+5 +-0x1.5e3c2bb47e757p+1 +0x1.39600c851451cp+4 +-0x1.d9fed2305c888p+3 +0x1.cf3df0c2e5eaap+3 +0x1.97d41a0ca3461p+4 +0x1.ee4f3d641d617p+3 +0x1.0ba95a426e509p+2 +-0x1.89719b5383a4ap+0 +0x1.7a6966035bf8dp+0 +0x1.32364619b25fep+4 +0x1.88c301772c555p+0 +-0x1.f26d5d11faa41p+3 +-0x1.32b2cf9dadaf6p+3 +0x1.c7fba542bced9p-2 +-0x1.016d02f024be3p-1 +-0x1.29eb778b5f1f5p+2 +-0x1.0abdf0f18390bp+3 +-0x1.83caee50aa938p+4 +-0x1.e77141958bf48p+4 +-0x1.f3d5c76401ad9p+3 +-0x1.0b184e359fcfap+0 +-0x1.2f8bb10b82134p+5 +-0x1.b2a8baa6b075dp+3 +0x1.900b1dc896c01p+4 +-0x1.f1c7eb783bc87p+2 +0x1.810201bffae51p+2 +0x1.2c9fc4c95da0cp+1 +-0x1.f03356cbf0643p+4 +-0x1.9fd06ec2498b4p+4 +0x1.9d463e02f1ad9p+4 +-0x1.3acaa99735b4ep+4 +-0x1.6968e52153f5ep+4 +-0x1.b41609afe417ep-2 +-0x1.6b96b28f9427dp+3 +-0x1.50589a38cb2f7p+1 +-0x1.24b4379b74613p+6 +-0x1.2f7d754e1ce8bp+4 +0x1.b05bd3c996b4cp-2 +0x1.40ed048dfc93fp+3 +0x1.228e5dee46cbp+4 +-0x1.112b60b800599p+0 +-0x1.be5892c5db7bbp+3 +-0x1.c6a599688170dp+4 +0x1.a56ef0739cf8ap+2 +0x1.918a5295319fap+1 +0x1.2d04ad130d76bp+2 +0x1.1aa9f2c2a40b8p+2 +0x1.0eb2ac3d285f2p+4 +-0x1.a38a2c4ecdca1p+4 +0x1.c2fa24fe1f397p+2 +0x1.7498c49b953f3p+5 +-0x1.171817b49bc5dp+3 +-0x1.38933e07c19e5p+5 +0x1.8107ea37b5a8p+4 +0x1.96ff2b9f8b568p+3 +0x1.188cd6a241b6p+1 +-0x1.aa637ad72e3bap-6 +-0x1.2bfef29b4173bp+3 +-0x1.076554cde63e2p+3 +-0x1.4afc23f1f6081p+3 +0x1.1aa983503c1cbp+4 +-0x1.85ce2f3e1f7f1p+4 +0x1.33488893b9fb4p+1 +-0x1.bf4e26dbf2605p+3 +0x1.b008665f6334ep+2 +-0x1.59eefc9ceca67p+4 +-0x1.34f9e141db168p+4 +0x1.6ef53a8f473a9p+0 +-0x1.bdb7c6cdff693p+4 +0x1.5259b3681b3c2p+3 +-0x1.8852afebce82cp+4 +0x1.4b5527f56d509p+2 +0x1.daed1d8af823dp+2 +0x1.2c7a89ce4e75dp+3 +0x1.9331efbee1ac6p+4 +-0x1.55762693b425ep+3 +-0x1.146f9ddba649cp+4 +-0x1.28a0220b89b76p+3 +-0x1.a2228dc88396bp+4 +0x1.0b5b471e53949p+4 +0x1.d73f7ef842bb1p+2 +-0x1.9251a30a07705p+4 +-0x1.5018e76a96f7dp+2 +-0x1.72153e48a85c2p+4 +0x1.a8f7b18aef778p+4 +-0x1.26c92b28c68c4p+0 +-0x1.3ca7f79f0ebf7p+5 +0x1.142154182c4abp+2 +-0x1.5a8bb9550d5abp+4 +0x1.84ab41a2b7058p+2 +0x1.d44e1b40c1c02p+4 +0x1.dc0de4ed72d9cp+4 +0x1.8750902435eacp-1 +0x1.c435604f3676ep+1 +-0x1.b5025068fd879p+3 +-0x1.3dc2bed23761fp+4 +-0x1.06ed8dfceda2dp+3 +0x1.4d3d6f9bc72f3p-1 +-0x1.dd5742db3a0ffp+2 +0x1.7327b9fd044c4p+0 +-0x1.d54bacf73842dp+3 +-0x1.2ce968f482fb6p+4 +-0x1.41ab3d37b935p+3 +0x1.44f8368412ce3p-5 +0x1.5161949935c9dp+3 +-0x1.a7bbf8b575ebap+3 +-0x1.217621dece826p+5 +-0x1.9fdd64aeaf543p+3 +0x1.42b617e0c497cp-5 +0x1.ad52dd1410743p+2 +-0x1.a0565df383012p+4 +-0x1.64508925d269dp+3 +0x1.08cd0f433935cp+0 +-0x1.7d311b3642bf1p+3 +-0x1.5ddfba14e4874p+4 +0x1.c135f98268459p+0 +0x1.014789d4d5b91p+0 +-0x1.3333aa531c637p+4 +-0x1.4496a147c57bep+4 +-0x1.711ea5c8459cfp+4 +-0x1.755ebf41299fep-6 +0x1.1ac203cb9a283p-4 +-0x1.d88bd3db0c512p+1 +0x1.6dce50ae40243p+3 +-0x1.16dc0ba1a1b9cp+5 +-0x1.27c77b5832043p+0 +-0x1.906e9ee874a68p+1 +0x1.18e9b7af28258p-2 +-0x1.2e8c2cc1bde9ep+4 +-0x1.c067eb6509353p+4 +-0x1.2c24ba980caccp+3 +-0x1.ac2c6d05084c6p+2 +-0x1.d221a59706b64p+4 +0x1.d71f27a76ca22p+2 +-0x1.630a7a3c19d39p+0 +0x1.5cb6bb7f70728p+4 +-0x1.4d706e630a0a9p+3 +-0x1.81db16b8bbe4bp+4 +0x1.1d45ebf7ed30fp+3 +-0x1.bbd30311345ebp+3 +0x1.692925c1296e1p+3 +0x1.a623ad0818d59p+0 +-0x1.080955c97a89fp+2 +-0x1.8c6be3f7c945dp+4 +-0x1.b92f87fae57d7p+0 +-0x1.4ef9f21574415p+4 +0x1.67160ab935358p+4 +-0x1.7cfdfe261b3d2p-1 +-0x1.1247dde581545p+4 +-0x1.1ebc956eb7831p+7 +0x1.d43b42181b948p+4 +0x1.2248fd038ed27p+4 +0x1.36f160e4d900bp-2 +-0x1.62a91991c2c58p+4 +0x1.c5cf2fd192635p+3 +-0x1.df6c8c4890602p+3 +-0x1.f943ab203a248p+1 +0x1.51a9cae8a92e7p+3 +-0x1.9108faadd1115p+3 +0x1.fe48626444ba7p+2 +-0x1.04ffeff608392p+2 +-0x1.d641c76db1ed5p-2 +-0x1.f9d3d67006a29p+1 +-0x1.ee62951aa7adap+1 +-0x1.94a685436df4fp+2 +0x1.a7c51685d902ap+3 +0x1.318afa40290efp+2 +0x1.86dca3bd4a44dp+1 +0x1.38018c0f0dd66p+3 +-0x1.ba117f24df0d6p+4 +0x1.fc074a6f6f58fp+2 +0x1.0ea0d742122b1p+4 +-0x1.0efba5c1fc1c3p+2 +-0x1.17c456c750bdep+3 +-0x1.596f727d34937p+1 +-0x1.392248d1593e7p+4 +0x1.5122e040be88dp+4 +0x1.f0ef80ba50badp+1 +0x1.1034552c810f3p+2 +-0x1.f4b12dad2c6bap+3 +-0x1.c8731904ec173p+3 +0x1.31dd6880cacc1p+4 +-0x1.a303a38f85806p-3 +0x1.4e86c85a84015p+4 +0x1.1a56ee1a74cf5p+4 +-0x1.7238cdb89a0ecp+4 +0x1.83510cc9c4ca6p+3 +0x1.3295391e3ccc8p+2 +-0x1.e298a4b310a7dp+1 +0x1.cc723844fe461p+0 +-0x1.0944042fcdae5p+2 +0x1.11645985610c2p+2 +0x1.fbafb2c408d9bp+2 +-0x1.7e6df3f26a047p+2 +-0x1.e33700bf04184p+4 +0x1.04b9886745e6cp+3 +0x1.a4e32dd308aaep+4 +-0x1.6e6b6cf96e783p+2 +-0x1.10709c498307fp+4 +-0x1.48d7f5441c754p+4 +-0x1.cc1443515a649p+4 +0x1.87c2e092a68f2p+2 +0x1.cb2c20b529bd2p+3 +-0x1.c6295d9c09c8fp+4 +-0x1.218ee2ad1f934p+3 +-0x1.a704b04bfc524p+3 +-0x1.2dce521bc923fp+1 +-0x1.9e64f73c00f78p+4 +0x1.9993699c101f6p+4 +-0x1.5862d69ff8b63p+5 +-0x1.b02166526d156p+2 +-0x1.99317ff87b5fdp-1 +-0x1.e066f612bc266p+2 +-0x1.620d20414e49cp+2 +-0x1.2d339cd08c6c2p+3 +-0x1.8d62f9a0a665p+4 +-0x1.00e289dfb31b2p+5 +-0x1.228055a6a4263p+3 +0x1.650beb9e3d905p+3 +0x1.add9cd3d9ab09p+3 +0x1.9233fff8d7297p+4 +0x1.67b7df39fb785p+3 +0x1.25eda2ab51b3cp+4 +-0x1.5a3b453f1c202p+0 +-0x1.5c45bc7aaa9f8p+1 +0x1.627c976c3806p+0 +0x1.6a81ed75eb061p+4 +0x1.8da70950ee823p+1 +-0x1.26483a4938c57p+1 +0x1.1a8dc0e26b7eap-1 +-0x1.ae35d513ca5f7p+4 +-0x1.d0244cd27dcb5p+1 +-0x1.d76601980934ep+3 +-0x1.5802e7afdce4bp+4 +0x1.5ea6b8ea7aeaap+5 +-0x1.2cbb80231a5bdp+4 +-0x1.219d9c5476f19p+3 +-0x1.86f4a461f7183p+3 +0x1.be4ac582a64adp+3 +-0x1.9f4dc59eee9a1p+3 +-0x1.0ce498d843fcap+1 +-0x1.2710c9e168fc7p+4 +0x1.d7f33124db819p+2 +0x1.ea8f9a6ce2108p+2 +0x1.bbbb082dd7912p+3 +-0x1.da4783a22c493p+3 +-0x1.7d5e90dc2d851p-1 +0x1.9fcc20ac806ap+4 +-0x1.59a32f3adc7d6p+4 +-0x1.9f049ccdf0f36p+0 +0x1.4b15aa442cf6ap+3 +-0x1.2b1f28a5f0c56p+5 +-0x1.a43ecae5118d3p+4 +-0x1.05965bac75f9ep+4 +0x1.6fa45ec356479p+4 +-0x1.e90b1aed4219bp+3 +-0x1.a6fa422911babp+3 +-0x1.45452675327bap+3 +0x1.078a8c92bb3f6p+5 +-0x1.fe4f1ddb08991p+3 +0x1.032e9e1ab8d8ap+3 +0x1.5afe8ae2ed933p+2 +-0x1.54094b3d1d351p+3 +0x1.8124ccdc8b1dep+3 +0x1.80e3387dbf33ep+0 +-0x1.45ae5838cae14p-1 +-0x1.44c5524e9199fp+3 +0x1.9542f3a4aad91p+2 +0x1.9432234e9523cp+4 +0x1.9edd1a45088a7p+2 +-0x1.61b20106e07e7p+4 +0x1.cabf4bc48e766p+2 +-0x1.e190cef90b975p+1 +0x1.15f088c9dee53p+4 +0x1.600cf449c655bp+4 +0x1.277e065bba117p+3 +0x1.036adc016984p+4 +-0x1.069f9332656bp+1 +-0x1.1d4d017e0bb04p+4 +-0x1.7b7f405695c51p+3 +-0x1.20c723a0775f8p+5 +-0x1.584b227ece41fp+4 +-0x1.06c720075dfbcp+0 +-0x1.0c2c58b30e777p+2 +0x1.035ab7289594ep+6 +0x1.28c14532ff71dp+3 +-0x1.4304cfb4ee3fap+4 +-0x1.92768f948ca29p+2 +0x1.888d25b454406p+3 +-0x1.98865a76c6a35p+1 +0x1.bfd58c915e16p+1 +-0x1.806ce03cc8937p+4 +0x1.5b78b310d3227p-2 +-0x1.7db2d7d5d67cap+2 +-0x1.07b6f0960e7e5p-2 +0x1.1770ffb2d5a9fp+3 +0x1.b17e69ae8c5c7p+1 +0x1.29cda0ba82a5fp+4 +-0x1.2727a4d20f7acp+2 +0x1.cdd90e580cb64p+0 +0x1.dd3db00a3ab54p+3 +-0x1.b627a27b66728p+0 +-0x1.8777d294a4417p+1 +0x1.3683c7f7a18d9p+1 +0x1.18abee9edaa09p+3 +-0x1.6a2fb5cdd4f1cp+3 +0x1.9c9940c028163p+2 +-0x1.dd0cd1cbf4055p+3 +-0x1.89bb8306ab329p+4 +-0x1.450dad2d8f94dp+3 +0x1.1db3aa5b159edp+3 +-0x1.5253d572bc726p+4 +-0x1.773fcb321e9cbp+5 +-0x1.44725d7ff6097p+1 +-0x1.85e30556f955ep+3 +-0x1.248a4c31090aep+4 +0x1.07cac3c199f5dp+5 +0x1.606b66d295891p+3 +-0x1.d480710e94e67p+2 +0x1.80ae080c769c4p+5 +-0x1.9bc4efda123e7p+0 +0x1.4f2b2ac1e324bp+0 +-0x1.f1d0712d40a5fp+3 +0x1.582ebfb1db49ep+2 +-0x1.22fa577c0d992p+4 +0x1.2f738e9feb034p+7 +0x1.b3b695c6d9312p+3 +0x1.26d7b544813f8p-1 +0x1.76144c7f3e9c9p+3 +-0x1.0d94a5b6c3f81p-1 +-0x1.4fbc6dd06a89dp+3 +0x1.c7934d638dcfbp+4 +-0x1.e43557f49d971p+4 +-0x1.3214ec5bce878p+3 +-0x1.5a874a3bc6df8p+5 +0x1.ff5b86f5f418dp+0 +0x1.0b2b6fd4700bfp+4 +0x1.335c9b4b704a1p+4 +-0x1.953d5601ce38ap+1 +0x1.8d2b9230bb05ap+1 +0x1.bae885e362688p+4 +0x1.167fdf81407f1p+2 +0x1.8e03e2177b13bp-2 +0x1.8e2d59aae1a1fp+4 +0x1.8bd951caf5e93p+4 +0x1.0c35b1c4aa6d2p+2 +-0x1.07462d8006abfp+4 +-0x1.1dcfa8d294156p+3 +-0x1.7b041fd969e89p+0 +-0x1.6584df2c6a83p+2 +0x1.1dfed4759bebfp+1 +-0x1.ba50d2f6110b5p+2 +0x1.e29c9b31d6da9p+3 +0x1.92f14e8f3825dp+2 +-0x1.39170d6424af2p+2 +-0x1.8693d0848429p+3 +0x1.2dbb1cf932fbcp+4 +-0x1.5db2b85add1fap-1 +0x1.84806215483e8p+6 +0x1.1b449a3b8bc8bp+3 +-0x1.1fb8948aada04p+3 +0x1.9b7cc9e5a6543p+4 +-0x1.1a63dc7e4365bp+5 +-0x1.40cf3dbb12d57p+5 +0x1.355975dde6432p+3 +-0x1.6d0ef1ac850cap+4 +0x1.2fc69baef4bc7p+4 +-0x1.3de7429d92309p+4 +-0x1.724510ec1c591p+4 +-0x1.9e1fc2e664119p-3 +-0x1.d52816671f386p+3 +-0x1.0f42693ff74a3p+5 +-0x1.75a2d194c5a85p+2 +0x1.cb7f68e18e1e2p+1 +0x1.7ed807049d188p+2 +-0x1.b83cda0bcdfddp+5 +-0x1.271f4b5fe7d3fp+3 +-0x1.de4e40a256dd8p+2 +0x1.84feedc5af2bbp+4 +-0x1.4bf82fb3ead1ep+2 +-0x1.70a0cd62c573ep+4 +-0x1.82e93235056fdp+3 +0x1.2cbe31f5d1bf5p+4 +-0x1.7edcd2ce0a612p+4 +0x1.7ba93d78b8892p+4 +-0x1.1cc26bc13a5d9p+4 +-0x1.d1f623982087fp-1 +0x1.c9e901ebf5e59p+2 +0x1.1e397077089e2p+4 +0x1.2d37a44f20273p+5 +-0x1.7bdd6101a46aap+0 +-0x1.02b03a4e72829p+5 +0x1.c7e03f970cac9p+4 +-0x1.93832d6ec5e97p-6 +-0x1.86dd5d300bbb8p+4 +-0x1.c54978a30b944p+2 +0x1.0b6f2199f585dp+3 +-0x1.a5b24e12c12d4p+5 +0x1.8f9b31e7901fep+3 +0x1.3f1eed0029f6bp+4 +-0x1.79bb443b4eadep-2 +0x1.405df0d73ed41p+4 +0x1.7810fe8736698p+4 +0x1.59039de6db6f5p+4 +-0x1.533b7d6f0b6d9p+3 +-0x1.847b9b9724aecp+4 +0x1.90b913592293p+4 +0x1.0f69311ef4321p+4 +-0x1.7e3a5ab032d3fp+3 +0x1.0a82d107c99e6p+4 +0x1.7dae4a58dc425p+1 +0x1.fa8bb34544995p+2 +0x1.2ae800ff7859ep+0 +-0x1.a4ebb42664509p+3 +0x1.334a7b3b9079p+3 +0x1.8ca71903ee2c6p+4 +0x1.482d30411e283p+1 +-0x1.30929e5c373afp+3 +-0x1.80e35ef1ddd1cp+3 +0x1.03de4f29aff05p+5 +0x1.d4c766c560fe2p-9 +0x1.138c14bbb535fp+5 +0x1.7f977d5fbb75ep+2 +-0x1.0d82df5123a9p+2 +0x1.8771f6a03a6c8p+2 +-0x1.a59fc737d5559p+3 +-0x1.5acebe13f11f2p+5 +0x1.943dbd4ff2cdbp+3 +-0x1.6b5f6879ec61fp+2 +-0x1.116521d4a3d8cp+3 +0x1.a468ebf0357cbp-1 +-0x1.4413d5ee9f75cp+0 +0x1.b61754ae0c6dbp+3 +-0x1.3d363813cc4bfp+5 +0x1.307a9ff77cb2ep+3 +-0x1.f0e5671c3f121p+2 +-0x1.2c479457e9901p+3 +-0x1.b2cdd85777a17p+3 +0x1.a5a8cea93441cp+3 +0x1.012dd5417ebabp+3 +-0x1.e5e87dda331ecp+0 +0x1.9b817a66f1ep+1 +0x1.9065d13eaba6ep+1 +-0x1.a4ad2f1d303ebp+3 +0x1.e40b96b32e14cp+0 +-0x1.6330bd8e98ee5p+4 +0x1.af60dfb24d146p+3 +-0x1.3cc6919e04d7fp+4 +0x1.138621dd3ee7bp+2 +-0x1.0584f7f7702bcp+2 +0x1.1d624564810eep+3 +0x1.d5e8c33252f5bp+3 +-0x1.e79711bed5f0dp+3 +0x1.ad973178b1426p+3 +0x1.9697c6ba07269p+3 +-0x1.e3f9c8732e0b1p-2 +-0x1.d8889acd668f2p+4 +-0x1.dea8cfcd209e8p+1 +0x1.4ec636bf19b65p+4 +-0x1.5f8228514bf1p+3 +-0x1.e8ac199e70757p+1 +0x1.1d46793e9bc24p+2 +-0x1.9bd877905a45dp-1 +0x1.1f0e932aa1f75p+4 +-0x1.8da4c38735d1dp+3 +-0x1.1bd46912e03d1p+5 +-0x1.9cbb3581dd141p+2 +0x1.764c244b1fbd4p+3 +-0x1.804129f83c132p+4 +0x1.50b8fdace7555p+3 +-0x1.398bcda9fd309p+2 +-0x1.3927d950b678cp-2 +-0x1.fc76e9cb416dcp+3 +0x1.8404e50aa6706p+1 +-0x1.62dd116f737cap+0 +0x1.85ad4467fad4bp+2 +-0x1.5caeb127c0f72p-2 +0x1.21ef316dd0205p+0 +-0x1.817e4aca94532p+3 +-0x1.41fe3c74f27bep+3 +-0x1.87ea268053578p+3 +0x1.49d825e0468efp+2 +0x1.94c503adb4006p+0 +-0x1.936702f764919p-2 +-0x1.5e0853f89b32cp+4 +0x1.7526e455cfdbbp+3 +0x1.3c73d327cd48bp+3 +-0x1.44c8d837b29a1p+3 +0x1.aa17b59627509p+4 +-0x1.abbbf47e732f2p+2 +-0x1.935e2bc1cbeep+3 +0x1.fbf9979b2d0f4p+4 +-0x1.460f65c411d4dp+3 +0x1.99d664784b077p+2 +-0x1.9ad50578ec066p+4 +0x1.65a630bae65f1p-1 +-0x1.125f44521f86fp+2 +0x1.5c25b7a3b86c2p+2 +0x1.75acf69793aaap+4 +-0x1.030ebc93315eap+3 +0x1.638e1deadeb17p+4 +0x1.7a1329148d092p+2 +-0x1.6ad65c0b2c245p+2 +-0x1.8b3d6bf9c738p+2 +-0x1.42b03fb911a6dp+2 +-0x1.7c9dfd892282cp+3 +-0x1.4cfbf80963feep+3 +-0x1.2efc81228d25bp+5 +0x1.b9edf9e537835p+4 +0x1.c8cc6916fcb7p+3 +0x1.68ff7b5b723c9p+4 +0x1.f863ad7b8b45fp+2 +-0x1.276971410e109p+2 +-0x1.b80c5e6a003fep+3 +-0x1.1d73ed291042cp+2 +0x1.1d386d2fd05fcp+5 +-0x1.15e4f32e4a988p+3 +-0x1.5f5f7c2005e5cp+3 +-0x1.04d152c3ae263p+5 +-0x1.e62d7e4f2ca86p+3 +-0x1.83275be1d89b3p+4 +0x1.06a988b531ee4p+4 +0x1.e77977b8a24f8p+3 +-0x1.35eb76ff60099p+4 +0x1.0c639b897d524p+1 +-0x1.c2e0b70da69f8p+2 +-0x1.26f4530fa15f1p-2 +0x1.d50fef3819d9ap+0 +0x1.007b53c1185c4p+3 +-0x1.d7f8b998ae332p+1 +0x1.1e4003db8fb25p+3 +0x1.cf7be185bcb6ep+1 +-0x1.edec2941d3352p+3 +0x1.2787ee2e37515p+3 +-0x1.c50c17be51ccep+1 +0x1.c54666f50359fp+4 +0x1.c928236f8eccap+3 +0x1.252b05afa24aep+1 +-0x1.491a9a55fe77ep+4 +-0x1.23fce40339614p+2 +-0x1.17b1cc8a06676p+4 +-0x1.5bafd28e8555ep+4 +-0x1.257704869c35p+3 +0x1.a2fd4088af239p+2 +-0x1.21a3c269b219p+2 +0x1.8d04fd46b222fp+0 +-0x1.66661e69ecae9p+2 +0x1.74be2914f06f8p+4 +0x1.883d9f31cac0dp+4 +-0x1.cbf05f27a32e7p-2 +-0x1.b69ba86752555p+1 +0x1.e6276b54f3e12p+4 +0x1.911ead184ce73p+3 +0x1.f58ab54620487p+2 +0x1.6b1ecd10a0655p+4 +-0x1.91bbfc4618d2dp+3 +0x1.e99e7a237977bp+4 +-0x1.945664afde11ap-1 +-0x1.8155945219cddp+3 +0x1.0538f059db14fp-1 +-0x1.d823ec71c5517p+3 +0x1.a7811eceac387p+3 +-0x1.37a6059e2e06ep+4 +-0x1.14bb9e44957f4p+2 +0x1.2298d6092512cp+1 +0x1.5d9d619500a72p+3 +0x1.985deed076b0ap+3 +-0x1.0b836aa598b3bp+3 +-0x1.e1af80d40b7a2p+4 +-0x1.a0a2902844a56p+3 +0x1.5ed4c68b9a0e2p+4 +-0x1.4f571fde7a502p+3 +0x1.880169a8f90b9p+4 +0x1.ce82e7c8cc62ep+3 +0x1.7868e81af2fbbp+4 +-0x1.8259681e6bf3bp+3 +-0x1.2dfec1f21f17dp+2 +0x1.86b9d349f1f7ap+3 +0x1.b2fe346f299f7p+4 +-0x1.b9a9d62c39d7ap+0 +0x1.048f2e5a2ee22p-2 +-0x1.cdb44cb109cbfp+3 +-0x1.40301ef2451e8p+0 +-0x1.6cb2e1d010d6cp+2 +-0x1.625cce8b1d24ep+3 +-0x1.bdaf8a4fb4176p+4 +-0x1.4987d79247be9p+3 +0x1.59c56f347cb8fp+3 +-0x1.77e1d67d5cf93p+2 +-0x1.6b0ae4ccc749p+2 +-0x1.542d83c758a2dp+4 +0x1.489b39a9be0c3p+3 +-0x1.6a1b7f36050b9p+3 +0x1.3b451082e103ep+0 +0x1.46ab056e23ee6p+2 +-0x1.d95bf17c22d4ep+3 +0x1.491ba51228373p+4 +-0x1.47e0249221c91p+4 +0x1.2c4401fc369b3p+5 +0x1.736228688cd9fp+4 +0x1.aed0eef6bca7ap+3 +0x1.f01eb78f1c947p+4 +0x1.e8ceaaf1d61f4p-1 +-0x1.6b73148d129f2p+4 +-0x1.9d3b50c5fccaep+3 +-0x1.f035124e85c3ep+2 +0x1.0f902581cdeecp+2 +-0x1.031e03229c7dap+4 +-0x1.077e4afd485ecp+4 +-0x1.f5757f88443d5p+4 +0x1.697cdcedd386p+1 +-0x1.65d80c954f8dfp+2 +-0x1.2d790bf71cdf5p+3 +-0x1.72e499d922a73p+3 +-0x1.3e615f76b8d66p+3 +-0x1.1609e466783a9p+4 +-0x1.b5736133f5178p+1 +-0x1.8fcda61ef5422p+1 +0x1.6bf0a413b4227p+3 +0x1.ad48c26abc31bp+2 +-0x1.89035760cc5d4p+4 +-0x1.cdc0fec1e70a2p+0 +-0x1.3a55749d25773p+3 +-0x1.ad3475eabc551p-2 +-0x1.b916e76fe9e14p+4 +-0x1.ec6557bc89b42p-3 +0x1.b99366bd693b7p+6 +-0x1.f96ce82f9a23ap+4 +-0x1.f7c0e59ea98cbp+1 +0x1.8cafe2b80e674p-2 +-0x1.6ff71534123ddp+3 +0x1.da7ef78e5908p+2 +0x1.66846595aa0c1p-6 +-0x1.2015fdadbe2dap+5 +-0x1.8da669ffe6478p+0 +-0x1.159efd82250bp+4 +-0x1.1a5f287427336p+3 +-0x1.af5ae1b53176dp+3 +-0x1.6c15ffe994f45p+2 +-0x1.079bbda12c0ddp+3 +-0x1.6a98d3e71972dp+3 +0x1.09ea738050476p+3 +0x1.ecfe0b6ad313p+2 +0x1.f8472c0d8233fp+2 +0x1.a4ef60e8d4b68p+2 +-0x1.81239f23394e7p+3 +0x1.5387fc6c4af86p+3 +-0x1.80dc1ca4a928bp+3 +0x1.50ab5ca3ea361p+2 +0x1.910347dc22f0cp+2 +-0x1.524fd49a02b4dp+1 +0x1.44580cdfe28b4p+3 +0x1.bcf5e5773b864p+3 +-0x1.ec2f51ca5af3bp+3 +-0x1.d881ce2ed8b85p+0 +0x1.5588c6aa8d88dp+4 +0x1.e138c9f920a23p+2 +-0x1.228f88018b8a6p-1 +-0x1.4fea718f01536p+0 +0x1.59f8ca7f88282p-1 +0x1.cbdcf49250f0dp+0 +0x1.35b0208d1f179p-1 +0x1.f92abc9df294fp+3 +-0x1.a8b95ed78f2f1p+2 +-0x1.83ff63ccd829dp+3 +0x1.de453ec5656f7p+1 +-0x1.70b985d772324p+3 +0x1.da1c68b1e52a8p+4 +0x1.21b5b351f7031p+4 +0x1.d21279e0fc85ap+4 +0x1.83719c6502f7bp+3 +-0x1.a4349c6c28813p+3 +0x1.b878b8dea066dp+4 +0x1.6a370d48dd1c2p+2 +-0x1.118e53475e617p+4 +-0x1.3df8b525efb55p+2 +0x1.8a50137aad3a1p+4 +0x1.b244714b3b366p-2 +0x1.8bdbe25c8524p+0 +0x1.9a65a34f42815p+3 +-0x1.7f250f8677549p+2 +-0x1.3b1f20fce5035p+3 +-0x1.345fb24859892p+2 +-0x1.75771df423c34p+2 +-0x1.e5603a8bb0cbcp+3 +-0x1.ec1425f94a20ep+1 +0x1.c4f345511c799p+4 +-0x1.4b57df27e2e16p+3 +0x1.ffb66f39f050ep+3 +-0x1.01df0e2e1370ap+3 +-0x1.15df9373eb255p+4 +-0x1.a170f6275370cp+3 +-0x1.d992df955bd78p+1 +-0x1.2baf74b4af21dp+3 +0x1.a851867b7bec4p+2 +0x1.abcea7391c221p+2 +0x1.ab7cbadc985d2p+4 +0x1.42e6993b29453p+1 +-0x1.9d0814a6f5355p+4 +-0x1.0b9937ed5dfdbp+3 +-0x1.800e1e5da8efcp+0 +-0x1.b699f07b3e6afp-2 +0x1.bb03a45c278c5p+2 +0x1.2fb4ae9f919aep+3 +0x1.03cfa4f8455d4p+5 +-0x1.abf1b8deb489bp+0 +0x1.6139768ab5a8ap+5 +0x1.dd26183cd036p+3 +0x1.2750767d3e886p+2 +-0x1.84c575669a912p-3 +0x1.7042a2d1aca1fp+1 +0x1.c82e9181f6fd2p+2 +-0x1.a57da927cfc94p+2 +0x1.66a4dea06db8ep+4 +0x1.c6a3991cf0e3bp-1 +0x1.29cfbc67c29e1p+4 +0x1.89c30998f7df7p+2 +-0x1.762f1d6d9e00ap+3 +0x1.bfb28f77e3cdap+4 +0x1.8229eba6897e4p+0 +0x1.fab965093334ep+1 +0x1.88906093f6f04p+4 +-0x1.db54dc9532723p+3 +-0x1.21161a538052dp+2 +0x1.6df6d1ac551fcp+4 +0x1.0259a7aea2fccp+2 +0x1.7c3ad6be59623p+4 +0x1.6422f775e1093p+0 +0x1.9b091f364ac5fp+1 +-0x1.1342fbcc8a6cp+5 +-0x1.70ed1242b15ccp+3 +-0x1.25d4f9e7e27a2p+5 +0x1.5d7ff0337fb2ap+4 +0x1.9a3d97b4c6118p+4 +-0x1.001a4abcbd9ddp+2 +0x1.a7281131d4703p-1 +-0x1.eba0bf59937c5p+4 +0x1.a5e5f6b6ddd88p+2 +-0x1.7288a0a98efa4p+3 +-0x1.8935c9fdc3c05p+3 +-0x1.2a829bbcb2cbap+4 +-0x1.48ebdcb83f7e7p+3 +0x1.5419fc820b9a9p+4 +-0x1.50327d1d01e1cp+3 +0x1.5e3d5ca372cd8p+3 +0x1.0d9ddaeda3c4cp+5 +0x1.82002edebb429p-3 +-0x1.812469be3e86dp+2 +0x1.1ded0123d4cc8p+4 +-0x1.f34346b7b219ap+1 +0x1.61f2055687765p+4 +0x1.39cca64743a75p+2 +-0x1.8a8c7a3787394p+0 +-0x1.e29c8718a1038p+2 +0x1.361953a7a22f5p+2 +0x1.17da7b2ab71d9p+3 +0x1.18ca0f33001p-1 +-0x1.6b72879fb1d94p+3 +0x1.56ccbdbc476dbp-2 +0x1.73c6412270476p+0 +0x1.87c68be809854p+3 +0x1.d69c54d0ae8efp+3 +-0x1.726e5386cbf5ep+3 +0x1.4db07670f6b3ap+3 +-0x1.43661ca814c54p+5 +-0x1.0a6bca180b2cbp+4 +-0x1.27820f879c184p+4 +0x1.ca9d5c5bfe4f2p-1 +0x1.290ac30cdc193p+0 +0x1.f61eb949b18d3p+4 +-0x1.1584d05d0a96ap+3 +0x1.0b8bf2229fe88p+4 +-0x1.51998f4724bcfp+3 +-0x1.ec0167672c644p+0 +0x1.e7b494d60d128p+2 +0x1.0c48212f9d7d5p-2 +-0x1.165632366a642p-1 +0x1.f02bc2261e6p+1 +0x1.35c695c54324cp+3 +0x1.da738a1ef263ap+0 +0x1.8e148329ce957p+3 +-0x1.23fb1e71b470dp+4 +-0x1.917d253d56628p-1 +0x1.a732ce8745798p+5 +-0x1.d5274779de14fp+4 +-0x1.6140d1bcfa57ap+4 +0x1.d8ab79716e0f7p+3 +0x1.69a984068e617p+1 +-0x1.b993494c289a7p+1 +-0x1.b84750ff20e86p+3 +0x1.48c177c8aca89p+3 +-0x1.445f818422a59p+4 +-0x1.4122d8dea6a43p+4 +-0x1.f0fc999efb4aap+2 +-0x1.15642cc3c862ap+4 +-0x1.276fb26de60e9p+2 +0x1.1ec51bc9a97bap+2 +0x1.3d61d3a09b77fp+3 +0x1.f9cd816fd14fep+3 +0x1.cef99ebfe42b3p+4 +-0x1.bd5bba461b12cp+3 +0x1.416067dd0409fp+4 +0x1.1502592e972a1p+4 +-0x1.934af108629a1p+4 +0x1.e2761e34d6f1p+4 +0x1.c5012d584de9fp+3 +-0x1.77978719926fep+3 +-0x1.1d26cb45855bcp+3 +-0x1.eb282fdc323b2p+1 +0x1.f4be91a5f924cp+0 +-0x1.c882616c0724ep+3 +0x1.fd0406443607fp+4 +-0x1.3ac283c5bcf6fp+4 +0x1.ba5eed72a9ddp+2 +0x1.69e161b1c4069p+2 +-0x1.6d72c573c240ap+3 +0x1.bbf7f991509bp+3 +0x1.82e235c879fcap-4 +0x1.2d96702365145p+3 +0x1.215bea1d8d972p+3 +-0x1.7997172e853bfp+4 +0x1.47dc4cc1e225fp+6 +0x1.2b76bc19872a5p+3 +0x1.e87f010895ff8p+2 +-0x1.66b791a63137ap+4 +0x1.380f5b2505ad7p-4 +0x1.365817673d7f7p+2 +-0x1.67eaed7f37d86p+2 +-0x1.09e25af5d71aep+5 +-0x1.2241b2dd69a7p+3 +-0x1.6e04df20ee7f6p+3 +-0x1.547886d05e489p+6 +0x1.307982a343f1dp+3 +0x1.d0ade40208be6p+3 +0x1.78507db603478p+2 +0x1.5fdd6ff3a3c16p+2 +-0x1.a40adcf265112p+3 +-0x1.9a4965d24107ap+2 +-0x1.0087030c13e29p+1 +-0x1.9050f6f41c4ddp+2 +0x1.9010a2e637bc7p+3 +0x1.113376a83e2c6p+3 +0x1.4a4de4a4f3f5p+3 +-0x1.51fcce431742p+3 +0x1.6282901a8acecp+4 +0x1.a21b4dcd8c06ap+4 +0x1.901b0800bc9dfp+0 +0x1.ab8c84d120068p+4 +0x1.4a74d87cfb0f7p+5 +-0x1.bd8f11c5a3916p-1 +0x1.204095599060ep+2 +-0x1.779b54f02edc9p+4 +0x1.b1ae7b06455e1p+1 +-0x1.20ab35abb8787p+3 +-0x1.04970708d0fe5p+4 +-0x1.29b567146b4e8p+3 +-0x1.d35c076e911bp+1 +-0x1.aca8dd766452ap+4 +0x1.50a41f3b44575p+3 +0x1.dbbcc5a5d0df9p+3 +0x1.2c63a0d55602bp+3 +0x1.ff52828b187e8p+0 +-0x1.27ad28fb498b1p-5 +-0x1.63b807193b23dp+5 +0x1.f0119929f101fp+2 +-0x1.43fe26caa94e4p+3 +-0x1.0cfe307425a53p+4 +-0x1.61f8fd45862b2p+3 +0x1.ce5dc065eb64dp+3 +-0x1.02a4a800e1f13p+2 +0x1.ffa1bcc97ea3ep+3 +-0x1.c801293111172p+3 +-0x1.1e7d796eeaec5p+4 +-0x1.2f748cfbc86e7p+3 +0x1.3e88e2104eb8fp-1 +0x1.8f8bc03ea8a77p+4 +-0x1.1cff7307d5862p+5 +0x1.33c240e05d236p+3 +-0x1.f3fd37550fb15p+3 +0x1.5460460453fe5p+4 +-0x1.13ae63d5081bdp+3 +0x1.c8a557e518029p+3 +0x1.a6e45f4e9a6b6p+1 +0x1.07ed1a2a897adp+5 +-0x1.d2f70dab45f6dp-1 +-0x1.5e7ca85f0362cp+3 +-0x1.e68c399dd7828p+4 +0x1.d7c9f445e5a24p+1 +0x1.ee68d40735504p+1 +-0x1.52875d7fd4576p+4 +-0x1.d91c369f9388bp+4 +0x1.2b72db14cc6f6p+5 +0x1.d0c789fca360bp+2 +0x1.97c690165469dp+4 +0x1.67d404afb5792p+4 +-0x1.b4cdb39547973p+0 +-0x1.ed74867a6604dp+2 +0x1.5adacd4f6b1d7p+4 +0x1.7fdec551fc6dp+3 +0x1.9f462dff9efa5p+1 +-0x1.fdf4e38d3f18dp+1 +-0x1.b7c4b7dbb18a8p+3 +0x1.0e3b079e53d7bp+3 +-0x1.5d2e083cdb2ap+4 +0x1.0cc27d64a7d43p+2 +-0x1.37e81213f4e0fp+2 +-0x1.5a43d413f83bap+3 +-0x1.314f136d93effp+2 +0x1.064053ce7a0afp+4 +0x1.0d29210c02d7bp+2 +-0x1.a6260c58046edp+4 +0x1.c090bdd3a536fp+2 +0x1.8c59cb4a3224p+4 +-0x1.797c7dad0012fp+4 +-0x1.495eff731233cp+2 +-0x1.0cb38799b77acp+6 +-0x1.7ace45bdacdf7p+1 +0x1.5e57461216e1bp+0 +0x1.99a99694f9534p+3 +-0x1.64f4d39d571f8p+2 +0x1.5b2ce91d1aef2p+1 +-0x1.afae6b5b46062p-1 +0x1.573bc97d82fcp+7 +0x1.76212d58b40c7p+1 +0x1.1e35a985b8e18p+2 +-0x1.2d2b34d13b5f9p+2 +-0x1.74477a02ec0bdp+2 +-0x1.da68da140e825p+3 +-0x1.c28a73a3106bep+4 +-0x1.cf020fc31ed3fp+4 +-0x1.7275f98572478p+2 +-0x1.83d0b79f6303cp+3 +0x1.22e357de490cfp+1 +0x1.1d1dbc833ad22p+3 +0x1.b4bc73f74859ap+3 +0x1.686b4b854b64cp+4 +0x1.fbb52a400d89cp+4 +-0x1.cc7f9c85bde7ep+2 +0x1.b6b477f201c6ep+3 +0x1.0ebfba0a114c5p+3 +-0x1.e6ace16a7299cp+0 +-0x1.d104471f5d95dp+3 +-0x1.e19500ec9b6cep-3 +-0x1.70f295be4a514p+5 +0x1.f83b5b8adb452p+3 +0x1.281cb65ca320ap+4 +-0x1.ff1218cd72c29p+1 +0x1.3b72435a84809p+3 +0x1.7faa65769570ep+3 +-0x1.a4da56f324ec8p+4 +0x1.372832227ffc9p+2 +-0x1.ae39635528ddp+3 +-0x1.ddcde5b4fb11bp+1 +-0x1.0670b45312f0dp+1 +0x1.fb5febc89cd42p+1 +0x1.a307fce6d123p+2 +-0x1.404de256223b2p+4 +0x1.144152cb79ec1p+4 +-0x1.f58740badc67p+1 +-0x1.c07b0dabdd81fp+1 +0x1.404e7275ef5fep+2 +0x1.870e0080594c6p+4 +-0x1.e37d0e1e669ep+3 +-0x1.4b5ae5988b046p+3 +0x1.70267658dba4cp+4 +-0x1.7d8343e05d6a6p+1 +-0x1.18feedff8e9e1p+4 +-0x1.37295400e0b66p+4 +-0x1.63ed3cee44c3p+4 +0x1.ecf1262c6256fp+1 +-0x1.1064e5d40fbaap+5 +-0x1.a27bde8e83542p+3 +-0x1.37ed4bf644953p+1 +0x1.0247350b588fp+3 +-0x1.4d3eb2e98f1cbp+1 +-0x1.36aa071aeee3ap+0 +-0x1.7caf6d8ba4423p+1 +0x1.52874ff294ab8p+2 +0x1.708585ed461c7p+2 +0x1.b81519abfe448p+3 +0x1.960ca3aca2da9p+0 +-0x1.9247d4bed09dfp+4 +-0x1.382c9826bbf6p+3 +-0x1.0ed320667957ep+4 +0x1.618874e4163c5p+3 +-0x1.1ca00d11d7069p+2 +0x1.375f6da901a1bp+1 +-0x1.385561329fbd9p+1 +0x1.d85a863473592p+3 +-0x1.b386d8fd8d46p-4 +0x1.5f9874c3e9c04p+3 +0x1.b10ecf4a5ae09p+3 +0x1.22a60403cf9edp+3 +-0x1.611f37f57d103p+3 +-0x1.0d5821620c591p+2 +-0x1.78931e76da172p+2 +0x1.42a0cb1723dd8p+4 +0x1.0cdd8dffcc714p+3 +0x1.583e81ad1f894p+3 +-0x1.8dddfe6b1db1ep-1 +-0x1.279f4aba250b2p+1 +-0x1.1c8f3a3197523p+1 +0x1.f8279ff8d44e8p+3 +0x1.7eb0586f1e212p+4 +0x1.a0f7088408588p+3 +0x1.10a960acbb03ep+2 +0x1.058270b943164p+3 +0x1.8a113c5edea79p+4 +-0x1.3089f26b16c03p+5 +0x1.4d41a44153273p+2 +0x1.b1467355d45e8p+3 +-0x1.d7c6f58419c5cp+2 +0x1.66b6af034f9ddp+3 +-0x1.7d4c8535032bep+2 +0x1.fcdc6cacad5ecp+1 +-0x1.9741ac11fd8p+3 +-0x1.fcdbd12e714bdp+2 +0x1.b1a5e683d04cbp+3 +0x1.b3389a7d7531ep+3 +0x1.3db3786b871ffp+2 +-0x1.93fbc2d3d6065p+2 +0x1.61b4044ca5525p+3 +-0x1.859fc80ce8dd2p-1 +0x1.52021273c3819p+3 +-0x1.bc3e98be64526p+4 +0x1.aaa83f1f88352p+2 +-0x1.a8e66443f670cp-1 +0x1.9efa872648f64p+3 +-0x1.234ae4a25b79dp+4 +-0x1.0721d88335cc7p+1 +-0x1.220a9569b1afbp+2 +0x1.be0bafa87bc98p+3 +0x1.45caa702677e9p+3 +0x1.525a58f38f698p+2 +-0x1.2a1b7c49eb37ep+5 +0x1.19b102a7c389cp+6 +0x1.567fa18ac29e7p+3 +0x1.dce505997a69ep+2 +0x1.d38e3004c61a4p+4 +-0x1.6f0f17bc539edp+2 +-0x1.343e0be99de54p-3 +-0x1.0461c2da75ca5p+3 +-0x1.c31b2ce23198ap+3 +0x1.8ed03412d6defp+4 +-0x1.cdb25a6aa4c7bp+3 +0x1.e92aca60286a3p+3 +-0x1.31b566d1b2051p+5 +0x1.1cc31c406d884p+1 +0x1.653507d0fae44p+4 +-0x1.0ca9fa4e5ea14p+4 +0x1.4e7ec8a1e6a21p-1 +0x1.0458512034d7ap+3 +0x1.7ab9618aa7b9ap+4 +-0x1.4229532e11028p+2 +0x1.0473c74a65923p+0 +-0x1.4ec5527bb6b1p+2 +-0x1.489c9c3257ffbp+0 +-0x1.8605a7ea9f68ep+3 +0x1.0b9704fd80065p+1 +0x1.af4e5e8e21aabp+4 +-0x1.7048849aad75dp+3 +0x1.0d834d061d13ep+4 +0x1.1a3fd319de2d8p+3 +-0x1.c9acb3cf84b5ap+4 +0x1.2cd3804cfa77bp+2 +-0x1.13feec13f7a1ep+4 +-0x1.44a39e2790977p+4 +-0x1.43dc50a87bef6p+2 +-0x1.95c0223f3e118p+3 +-0x1.e9d0bba5162abp+3 +0x1.391672e0a4f18p+3 +0x1.2cf2cb1c57f41p+4 +-0x1.5b04698bbb1a7p+4 +0x1.c4399e14bbcffp+3 +-0x1.a99eb5ebf5264p+4 +-0x1.574a08072bb9fp+2 +-0x1.8c4bdb52630b4p+4 +-0x1.96e438636db92p+4 +-0x1.3793009205cb6p+0 +0x1.78aacc3ecdfddp+3 +0x1.ffaddddffd222p+3 +0x1.16e60604c9814p+4 +0x1.13f31a840b543p+1 +-0x1.b1a470df782ffp+3 +-0x1.d6358578aeaadp+3 +-0x1.387aa415ad2e3p+4 +-0x1.636904c557c1ep+3 +0x1.37444d56dfa27p+2 +0x1.1735afb03ea2fp+5 +0x1.83169bfc5c3b3p+0 +0x1.684ed9d43ce98p+2 +-0x1.1faa73c539267p+3 +0x1.35badc4b94a55p+3 +0x1.fe74074beb41ap+4 +-0x1.d56e8a95b3a19p+0 +-0x1.2d1e06641d4b5p+4 +-0x1.8035cd3e7742cp+0 +-0x1.36a9e91df62c3p+4 +-0x1.9b107f419c584p+1 +-0x1.85e021f095f01p-2 +-0x1.5f96df191eb35p+5 +0x1.4b81b4301ff9bp+4 +-0x1.27f867c4a1876p+4 +-0x1.e34f3f8de9e93p+3 +0x1.3ff1982a8c1a3p+2 +-0x1.acfc0f7d4df3bp+2 +0x1.563f3d6f14e47p+3 +-0x1.32c9dc7c84217p+5 +-0x1.137a66ca0ff6fp-1 +0x1.a9cb811e2636fp+2 +0x1.66683e6e79191p+4 +-0x1.dcf29ecba2ec9p+4 +0x1.3cb9cc89d659fp+5 +0x1.41b4643a6e992p+4 +-0x1.6b431877fb402p+4 +0x1.0e5ad74b26404p+3 +0x1.82de4a767021p+2 +0x1.12126a1ca8613p+5 +-0x1.588a5f65fe3b4p+4 +-0x1.56bb13e4c4ae6p+2 +-0x1.c2d0fd0923fbfp+4 +0x1.c91e8b10a5533p-3 +-0x1.f9b58d1ae36e4p+0 +-0x1.01b17727843d9p+2 +0x1.30f175c55fc16p+2 +0x1.96488992e5355p+2 +0x1.9ee1502eccb25p+0 +0x1.2b7cd87d8575fp+3 +0x1.335e7097d77cbp+4 +0x1.32db26973797p+3 +0x1.49e461c1e1bdap+3 +0x1.809e28859e0a5p+4 +0x1.b281c98df2671p+2 +-0x1.ef3af6c6c31b3p+3 +-0x1.92b6e58d80c3fp+4 +0x1.382c22a3f9864p+0 +-0x1.981004f6214f3p+0 +-0x1.96ce7df738056p+3 +0x1.c37f9aa20fd13p+2 +-0x1.96930ce3c46fap+3 +0x1.a434fcf038beep+2 +-0x1.7b13e32ea485bp+3 +0x1.b66e3aa220ca7p+1 +-0x1.3157d8e3da2f8p+4 +0x1.027d8759c3f59p+2 +-0x1.acd3e4897fdap+4 +-0x1.b6584c18fb388p-2 +-0x1.23d8a034ba3eep+4 +-0x1.3e11a7c15725fp+2 +0x1.2ae06cdf11218p+4 +0x1.8236fc55fa007p-2 +0x1.90815eba85c32p+4 +-0x1.a8db406cfc925p+1 +-0x1.29758696f7f4fp+4 +-0x1.952cb3e54afadp+4 +-0x1.a20518c61bc01p+3 +-0x1.cf28a5bfdbacap+3 +0x1.931bf09323ebcp+3 +0x1.8c8474a468791p+1 +-0x1.9ce85d13df788p+2 +-0x1.4292c1163e569p+4 +-0x1.2b7d1b77746cep+3 +-0x1.8d138f089cb57p+3 +0x1.e9278c18affb3p+3 +0x1.9425430667adcp+4 +-0x1.1df8cd3a20e3dp+4 +-0x1.31ce008c00358p+0 +0x1.a7065ef00e1ffp+4 +0x1.b70b1c1c89729p+4 +0x1.930bc47bb8188p+3 +-0x1.2f167de5cdea1p+4 +-0x1.5f557210f0787p+3 +-0x1.01fae373eadffp+1 +0x1.b78b3f6d22097p+3 +0x1.d7a04db2ea56p+3 +0x1.f2be0a10bd434p+1 +0x1.4a4c52737001ap+3 +0x1.0b3c195c20e8bp+1 +-0x1.8c5f16b22855ep+3 +0x1.3b31b372759b7p+4 +-0x1.61f20e1994293p+4 +-0x1.b3556f80c18aap+4 +-0x1.3da99efc32593p+3 +0x1.f9e9b1a9d8d76p+4 +-0x1.e29a437562d99p+3 +-0x1.cb80f8f1873e2p+2 +0x1.27d9e8ab153e9p-2 +-0x1.5e774a8943ae7p+2 +-0x1.b0789f1a65acap+3 +0x1.7df532f52cc1dp+4 +-0x1.20e83ae34ed46p+4 +-0x1.2ece3c3ec6664p+3 +-0x1.b8dcfa5fbf818p+0 +-0x1.a820ea389ac6fp+3 +0x1.7b9753412f6e2p+3 +0x1.2d56ef45fb8a4p+0 +0x1.9c86215094081p+1 +-0x1.6a6fdd9b90682p+0 +-0x1.cfc8ec787bd4dp+2 +0x1.04ef1377b7456p+5 +0x1.19aee6c68791dp+5 +0x1.cb41729f3e736p+0 +0x1.a2bc9dcd1e467p+1 +-0x1.153a4fd79110dp+4 +-0x1.e32cd1de75aeep+3 +0x1.cd10432db446ep+0 +0x1.0fb76c74ad7bcp+2 +0x1.4bfd49768d6c7p+4 +0x1.8065368a8c428p+3 +0x1.9579f6463b22bp+3 +0x1.3648ffafc92c3p+2 +0x1.a0c47a5fc93c6p-4 +-0x1.098030e3bdc44p+3 +0x1.84fb0df3d135ep+3 +-0x1.8554623efc182p+4 +0x1.15962483804c5p+5 +-0x1.8df533f543abap+2 +0x1.8cd24f4465bf6p+2 +-0x1.e7ad745390a86p+4 +0x1.e6229de2d08d2p-1 +0x1.bccca2f589181p+2 +-0x1.8e288e1a61ee3p+3 +0x1.c2aa6042cc4f2p+1 +0x1.ff0a0b216808dp+3 +-0x1.ddb1ebaddda37p+2 +-0x1.3e547677d2c41p+4 +0x1.858157703b673p+4 +0x1.d178dc87fb39p+3 +0x1.9197f0d053534p+3 +0x1.f12d869443df1p+3 +0x1.0ee4fa91d23b3p+4 +-0x1.0bec1161ae20bp+4 +-0x1.c3b201bd982f3p+2 +-0x1.40665a584411bp+4 +0x1.5ca6980e53b25p+3 +0x1.0886c51b9980ap+4 +-0x1.6ce43df954b1ap+4 +0x1.0d0445a428c4ap+4 +-0x1.3cdd410cf295fp+4 +-0x1.98ab951adfc1ep+1 +0x1.67118b280f43fp+2 +-0x1.6381cfc1a7fd9p+2 +0x1.a6ecb3aef92c3p+3 +-0x1.9515b6440ae85p+4 +-0x1.3a802180d8c38p+3 +0x1.46c216f166babp+4 +0x1.e89f14de3abdcp+2 +-0x1.0b75a703206b5p+0 +0x1.4109f34eca6cfp+4 +-0x1.543fcbd1a5d64p+3 +-0x1.73fc95b489301p+6 +-0x1.61350b7c3dbbp+4 +-0x1.5dfd615b793aap+2 +0x1.77981e69716c6p+1 +-0x1.f701b74210786p+1 +0x1.ab815c885035fp+4 +-0x1.cf59e95b10a65p+3 +0x1.8ee6dc793727fp+2 +0x1.8ec04b88e9299p+3 +0x1.bbf63740f394ap+3 +-0x1.a3fa37a2e2b1p+2 +-0x1.1af036b14ba26p+2 +0x1.22f5cd1fca077p+3 +-0x1.46a4997b4856dp+4 +-0x1.5d4fdb54e2ed8p+4 +-0x1.f72d2a7eda91fp+3 +-0x1.8bcbb1ddb6962p-5 +0x1.b6ac6902470d7p+2 +-0x1.760220b9f6df6p+2 +-0x1.317764115a924p+4 +0x1.1f9cb1ce1cce5p+4 +0x1.9e1293e476df5p+4 +-0x1.e7d7d12a5dd4fp+3 +-0x1.deccaa388bd41p+5 +0x1.a6ffb58cb5985p-2 +0x1.e6a5d11bab93fp-4 +-0x1.69a5af5d507a9p+0 +0x1.0f24351c5e5f7p+4 +-0x1.9f7bb37d32885p+4 +-0x1.239f28fcb0afp+4 +0x1.21c24452d1427p+3 +0x1.63aca54aadbbbp+3 +0x1.1981bb5c459ddp+2 +0x1.ae3274518c3f1p+3 +-0x1.acc7c26f9439ep+3 +0x1.354474b83682dp+4 +-0x1.01b9ab69e5c85p+3 +0x1.59db0e6e1cd7cp+3 +0x1.1a891301a0aa6p+5 +-0x1.5dab9a5277553p+1 +-0x1.7abbe453f1cc6p+1 +-0x1.0d11c06c805e3p+3 +-0x1.7e72ee759e153p+3 +-0x1.90f2864b2d9cap+3 +0x1.c2059f0e9165p+3 +0x1.d47af0a008b86p+3 +0x1.adbf8cdf8ec5ep+4 +0x1.4442cdc942e7cp+5 +-0x1.4bf35ff2fa10dp+3 +-0x1.0d0d08f037d69p+3 +-0x1.190849747ae36p+4 +-0x1.dc5e8a1378193p+3 +0x1.e9855dcd9dbbep+6 +-0x1.934bf8f3b49d6p+2 +-0x1.53bf26bf39cf9p+3 +0x1.6021132cc5fa9p+4 +0x1.1f2cca10e8847p+4 +0x1.82373ef9b2af3p+2 +0x1.13fdff19abe06p+2 +-0x1.192a1058cd73dp+5 +-0x1.75a7e3cde7d6bp+3 +0x1.7dbef6e963782p+4 +0x1.2e956304ede21p+4 +-0x1.0a1952a608b0cp+4 +0x1.d5409c022e31cp+3 +-0x1.093fe4d472b8p+3 +0x1.1e6686880eep+5 +0x1.c3e76083c5e73p+4 +-0x1.0cbcf4504f1cp+4 +-0x1.813d0e71aca86p+1 +-0x1.30606fb5012c9p-1 +-0x1.4b5341e2b8ecep+4 +0x1.6032528ee7911p+3 +-0x1.c601e68d6fd3fp+4 +-0x1.cd608a18ee988p+2 +-0x1.fa09ccf1d5531p+3 +-0x1.797292dcd8a68p+4 +-0x1.e1bd269e8f5bep+5 +-0x1.57cd527e36623p+2 +0x1.b71ae5a6df80dp+4 +-0x1.96ec47cf27c83p+3 +0x1.0e009129436bcp+0 +-0x1.042ca5f3e63cap+4 +0x1.8a318ce0844e6p+2 +-0x1.6a9bda33a34a4p+2 +0x1.c52faf93d6272p+2 +-0x1.376f82b84a51cp+4 +0x1.0698fad96b508p+3 +-0x1.1f6c54d65f837p+3 +-0x1.8094b4312165bp+4 +0x1.4bf1619b9688ep+2 +0x1.f19582b5141a9p+4 +-0x1.1f0c82108dddcp+5 +0x1.6d0a9de3d1192p+2 +-0x1.b4f5eb46c1c0dp+4 +0x1.94ea497a6da1ap-1 +-0x1.dd3e7ccde95fdp+3 +0x1.00c3274ec2061p+3 +-0x1.06b80839acdc7p+1 +0x1.5e68c21fc3c47p+4 +0x1.b57a617c24c7p+3 +0x1.dbb777ecd2fe8p+2 +0x1.f8599d5912f5fp+3 +0x1.a8ce99637fdep+2 +-0x1.1178cc6c41045p+4 +-0x1.16b2621fde5e9p+3 +0x1.4cb3193c14242p+1 +-0x1.2b698b53d3ed1p+3 +-0x1.16f479b0eeee2p+4 +-0x1.9ead7fd515e8dp+1 +-0x1.7f25d213409b4p+3 +-0x1.3ecb54cf217f1p+2 +-0x1.42bd8c75ca1a1p+3 +-0x1.e64af07dc6ef7p+4 +-0x1.8df505efdde4bp-2 +-0x1.7fa6f784cf1bp+2 +0x1.f192dba76a318p+3 +0x1.a23234b4f8c78p+4 +0x1.529f9e235ca8dp+0 +-0x1.25c2424ba38d7p+4 +-0x1.264d33dfac652p+4 +-0x1.ab5a0d648b3f9p+3 +0x1.27c7c89efc754p+1 +0x1.be840d57a7d3dp+2 +0x1.abfd0ae117d33p+3 +0x1.73307b0afc1cp+0 +0x1.3f5528e882bb2p+2 +-0x1.c614b9eecb9fap+4 +0x1.910e203d9f24cp+1 +0x1.cc4adc85133a8p+3 +-0x1.072822fff319p+4 +0x1.6f27040372408p+4 +0x1.1ee3a2633dbf7p+5 +0x1.111afa4031cb3p+2 +0x1.d120be1750f82p-2 +-0x1.1fe197e3ff7acp+4 +-0x1.52b1ef6bf3261p+4 +-0x1.ae76580a3fa2dp+2 +-0x1.f114f06135a6ap+4 +0x1.2db693dc79d04p+3 +0x1.c017579cc447ep+1 +0x1.2f1b137b02492p+3 +-0x1.97d9cac324f57p+4 +-0x1.3aa6e59b8e4f2p+2 +0x1.a703d1997b46p-1 +0x1.47f05e7e807afp+3 +0x1.4d2300d306d07p+4 +-0x1.229a22421288bp+4 +-0x1.15d245de0d24fp+4 +-0x1.14ca80f6c7f21p-1 +-0x1.d280147f90d51p+4 +0x1.97ed012468bebp+2 +0x1.2295da95d38bp+4 +0x1.03ef25597dbdbp+3 +0x1.a8e6fe8e0c2f1p+2 +0x1.4916813ae09e3p+0 +-0x1.f6ca0bd88e38fp+1 +-0x1.45c57fd1010d9p+1 +-0x1.c3de1d196e1b6p-1 +0x1.e727d990df347p+2 +0x1.abe66fcda83c4p+2 +-0x1.8fa34697d969bp+4 +-0x1.70b3456c05701p+2 +-0x1.1d62c028cb85ep+5 +0x1.d63c7c4d1ef6fp+0 +-0x1.2baea608eee34p+2 +0x1.c74a0bff306b8p+2 +0x1.5ab7632a6f26ap+4 +-0x1.8b71affd301adp+2 +0x1.e5599a8b8cd1ep+0 +-0x1.947a5fb6ec5b4p+4 +0x1.28195507f9c4dp+4 +-0x1.bfa03e73b6881p-2 +-0x1.f770d5ac124bp+0 +-0x1.15c3131754788p-2 +-0x1.c518dcf18236bp+3 +-0x1.73992aff0a5d1p+1 +0x1.a6465a06344abp+4 +0x1.6618c32434ccbp-4 +0x1.01d2e8a3a500ap+4 +0x1.4919b4e276d87p+3 +-0x1.87c7208ec9bc6p+1 +0x1.f8b0a54caac53p-8 +0x1.8e16c29571d0ap+3 +0x1.e0c19c809e47fp+2 +0x1.6efdb5caff4a6p+2 +0x1.77a86c33e5e95p+4 +-0x1.9a52b339c19cfp+2 +0x1.2decd2cd9416p+4 +0x1.efa199ef062efp+1 +-0x1.f7faebc197eaep+0 +-0x1.125dbd788c9cap+3 +-0x1.aa25da601877cp+2 +-0x1.0509b5b07db71p+4 +-0x1.0e841e3337126p+5 +0x1.14f309eb6b769p-3 +0x1.8371f68deafc4p+4 +-0x1.a6997c8b3e796p+3 +0x1.d0be99890c6e9p+0 +0x1.7a186fbd1e357p+3 +0x1.5c3bcf78d4d02p+4 +0x1.a8caecb3e7fadp+4 +0x1.4fabaf7e6189cp+1 +0x1.52e960044f204p+4 +0x1.6ef878c1f2b46p+2 +0x1.e6a8c18b02bdap+3 +-0x1.153cd769f58b7p+3 +0x1.7465e23891068p+4 +0x1.19c6a1a74d3e4p+3 +-0x1.a139a6260c80ap+5 +0x1.72168e15129acp+2 +-0x1.fad951936d185p+2 +-0x1.d3401a99664afp+2 +0x1.1d3854a4dd63cp+3 +0x1.5c0a66217aeedp+4 +-0x1.8183e6ca03bf9p+1 +0x1.e1e5edcac9c11p+1 +-0x1.2c76664058a25p+5 +0x1.31e48e976aa5bp+5 +-0x1.5b84d88d6d8cap+3 +0x1.ac7e36ab5270ep+3 +0x1.171c6cc2580eep+3 +0x1.b3819456344ccp-4 +-0x1.9c0b5679318b7p+3 +-0x1.16cd889ab0c83p+3 +-0x1.5a04d871e7321p+4 +-0x1.0cc51d8fdc638p+5 +-0x1.d5ed576faf2d7p+3 +-0x1.056de1685c7f9p+4 +-0x1.e09561f6f07afp+2 +0x1.0f01966df0ce1p+3 +0x1.7fa3f5c1e2d0fp+3 +0x1.fac5aff615326p+2 +-0x1.f77ae55a39fdcp+4 +-0x1.6f44f4289804fp+2 +-0x1.9d4e517275c6cp+4 +0x1.8c37366f2bc64p+5 +-0x1.58acb6a23ccabp+2 +-0x1.870639b088223p+3 +0x1.b943566f0562bp+3 +0x1.8637e6afd9338p+3 +-0x1.440ac7df7534ap+3 +0x1.1757578c8c07dp+1 +-0x1.bf9b0d31fd77p+3 +0x1.657f4c07274eap+1 +-0x1.8f9cb6ef8f5d9p+4 +0x1.1399d879737eap+4 +0x1.a28951ff14a4ap+2 +-0x1.23308d3996291p+4 +-0x1.4c282aeb3391dp+1 +-0x1.d9f85505d3084p+3 +0x1.bf6c8f95b92bap+4 +-0x1.87bd20aebe54ap+2 +-0x1.2001c70dc758fp+4 +0x1.472382401a8f2p+3 +0x1.924999011c9c8p+4 +0x1.23e2c30e9b519p+3 +-0x1.2f81f4a6abc47p+1 +-0x1.03af799e9b82fp+5 +-0x1.57e603fe4b41bp+2 +0x1.489f051554ca5p+4 +0x1.a3378da301d3dp+3 +0x1.127a2038f4704p+4 +-0x1.0412abc005f4ap+4 +-0x1.c1fab58e51be8p+1 +-0x1.534a358901675p+4 +-0x1.227ee94d806fbp+3 +-0x1.60bafada87854p+4 +-0x1.6c1b4ca75bc6dp+3 +-0x1.e55c2f64efc93p+3 +0x1.0136a1b3a2aeap+0 +-0x1.0ffdf80d90d07p+3 +-0x1.c65760470e8d6p+3 +-0x1.b2896d2a008dap-1 +0x1.574f6ae904203p+1 +0x1.324236a74d2b6p+4 +-0x1.a324414161549p+2 +0x1.9a3899e8b4ba4p+4 +-0x1.1171c9f576983p+4 +0x1.0f7b1d54df251p+3 +-0x1.6c053dd207a6fp+3 +-0x1.9b99b65989247p+2 +0x1.b2a6d71e32934p+4 +0x1.1f2bd5bca0b78p+2 +-0x1.f0cccc8b49969p+3 +-0x1.1732ff38c200cp+3 +-0x1.6b2755c442ff5p+3 +-0x1.187853da32e74p+4 +0x1.a799190ccccfep+2 +0x1.857357305ebd7p+3 +-0x1.0cfed51a5447p-1 +-0x1.4de6ec08a741ep+3 +0x1.51a0623691ca1p+3 +0x1.150623e621affp+1 +-0x1.5cfe06a01edd3p+4 +0x1.79170cd5592fbp+1 +0x1.03e7ab6aad67ep+4 +-0x1.1891985c0eb8ep+3 +0x1.b4c6bd3a6edd3p+1 +-0x1.9184c834df616p+3 +-0x1.896958966a197p+3 +0x1.5be3839f90121p+5 +-0x1.0a5d4e106277bp+4 +0x1.9a280716597f5p+0 +-0x1.52f6fb77a081ep+3 +0x1.3c8b1ee2b173ap+2 +0x1.2ea3366ede3adp+1 +0x1.e53f1280cde7ap+4 +0x1.957874fc6208ep+4 +-0x1.2e50c6467220dp+3 +0x1.f60821784192p+2 +0x1.b8e3e55ae80e2p+3 +0x1.288f642c27b4ap+4 +0x1.3ab579f457f48p+3 +0x1.00560e5c012c4p+4 +-0x1.018fda0958f47p+2 +-0x1.1663e5438ceecp-1 +-0x1.b38c79ed08931p+2 +-0x1.56593bb8e2b3ap+2 +-0x1.658a994e639bfp+4 +-0x1.6b2471f5015e9p-3 +-0x1.72fcdc678ef45p+4 +-0x1.d97293881bea4p+2 +-0x1.c49a1d675d476p+2 +-0x1.1d6f21541708ep+7 +-0x1.2f65397f9102fp+4 +-0x1.e1be1e7df4fc2p+2 +-0x1.6f8874375d431p+2 +-0x1.a30ac2ed5050cp+5 +0x1.082ca583a3b4ap+0 +-0x1.a2bbbe7dac89cp+2 +-0x1.56d82280ca20ap+3 +-0x1.0dbeb9ef97955p+3 +-0x1.b94eb5428765bp+3 +-0x1.a9bf86e4ac70dp+1 +-0x1.0855827c83f4cp+2 +0x1.022d027737673p+1 +0x1.3063e7a806101p+5 +0x1.eab3b18ac0494p+4 +0x1.e5f194cc1e1a8p+3 +0x1.08013642e5757p+5 +0x1.e69e9354c1529p+1 +0x1.545416ffbb03bp+3 +-0x1.b5e40f88452abp+3 +-0x1.68c7d14330b2ap+1 +0x1.7ffc77ca165dcp+0 +0x1.a668c8ebd61b4p+4 +0x1.0b28f10ea5b09p+6 +0x1.4335046c074d7p+4 +0x1.685124b5d8a51p+5 +0x1.4745e3eac7353p+3 +-0x1.69574690ea7c3p+2 +-0x1.c3d85c17853dbp+4 +0x1.2ca545525be9ap+4 +-0x1.5e28ce7affeb4p+2 +-0x1.92bfba1bac60bp+3 +0x1.97f2a53c69f16p+2 +0x1.282c0d8843656p+3 +0x1.2e83ef4ac8dd2p-3 +-0x1.e1a4876dd3166p+0 +-0x1.95bdb29008dc8p+1 +0x1.6600fe4a53856p+4 +0x1.2e1d9bf5b3951p+0 +-0x1.70e9ea952a19dp+1 +-0x1.d20f199dd9577p+3 +-0x1.c22c62447cc81p+2 +0x1.5ede8b7bf60dbp+2 +-0x1.ddccc5653648fp+2 +-0x1.37b3b1cce6cd7p+3 +0x1.293dcc95484d4p+3 +0x1.a0908aa30e4b1p+3 +-0x1.19e1718e6114cp+3 +-0x1.15879faff760cp+4 +0x1.04d7bd103c7bcp+4 +0x1.a9bfcf61ab5aap+1 +0x1.7ffbcf941d617p+3 +-0x1.60433564bde97p+2 +0x1.8ccb0858adb43p+2 +0x1.0ac26b5b6b26ap+1 +-0x1.2f2bf3e135d94p+4 +0x1.eec8e1e50d1b3p-4 +0x1.44e9cf1156e06p+4 +-0x1.e43e30a92a587p+4 +-0x1.28e91fbfa691ap+3 +-0x1.7353a3cf17f5cp+3 +-0x1.10a858f300482p+4 +0x1.32f94c36ff37p-1 +0x1.f9f83415242ddp+0 +0x1.9757166028a0bp+2 +0x1.1d7c012c6d9acp+4 +-0x1.1c72c4f0b2d0ap+1 +-0x1.5d11d00438ecep+3 +-0x1.2747d944042adp+2 +0x1.7f675e4cdfdafp+4 +-0x1.25e7be689bf3bp+5 +0x1.2ab5068d0da45p+3 +-0x1.b5d0f4e5854c2p+1 +-0x1.6c1508a245409p+1 +-0x1.cee6ebe8cfb3dp+2 +0x1.07e3d5abaf2c2p+5 +-0x1.c45815dd1e558p+4 +-0x1.9b563c6d334d6p+0 +0x1.ab0d770f9960dp+2 +0x1.b383e5d3bf694p+3 +0x1.5da5ec4458468p+3 +-0x1.ae05752dce3bep+3 +0x1.4f48d390d74f4p+3 +-0x1.880168a9d8bf5p+1 +-0x1.87add861f8988p+4 +-0x1.14db9a7dcab57p+3 +0x1.47c0301aa6b84p+2 +-0x1.2b02155d9aee3p+4 +-0x1.7bfb0c81ab8cdp-1 +-0x1.0c23e578a36c6p+4 +-0x1.157749f322387p+3 +-0x1.7ac4335775a1cp+1 +0x1.c550fc3c78769p+4 +0x1.83d7cdfe37293p+4 +0x1.0175d3d989f64p+5 +-0x1.2212fa987b93ep+1 +0x1.217f3df9fc083p+4 +-0x1.cd855b8fe86fdp+2 +0x1.ccea5a54d87efp+2 +0x1.558402d1b1d97p+3 +-0x1.8ab1c2c68d04fp+4 +-0x1.8098471a13c85p+1 +-0x1.3b095e474aa12p+5 +0x1.305104b60c029p+5 +0x1.eff682c003408p+3 +-0x1.5afb1632fb37ap+4 +0x1.1e33bf0ab3d29p+4 +-0x1.f52e71efb6ceep+2 +0x1.2a89ddee85669p+2 +-0x1.1674f3ba7da18p+4 +-0x1.2284f100bccdcp-2 +-0x1.cf1dd973f1609p+2 +0x1.b3a7904f392eep+3 +0x1.46833328fbc48p+2 +0x1.190e33f3fa595p+3 +0x1.2509eb20bfd81p+1 +0x1.7a11f69b6a7d4p+3 +-0x1.ce345c782f5b6p-2 +-0x1.203b3b982e85ap+4 +-0x1.4d4562001aa1ap+3 +0x1.963b6e19ba199p+3 +-0x1.e1bdc5dcc038bp+3 +0x1.4d96d7ad0daffp+4 +-0x1.b92d7f9c9dbcep+2 +0x1.e2caa293e9eecp+3 +0x1.f8baf1c0ea3dep+0 +-0x1.02dc134bc493p+5 +-0x1.cf541c3e538f6p+1 +0x1.6399e44a9fb6dp+5 +0x1.5e37a9908f7a9p+3 +-0x1.4f9128930e065p+6 +-0x1.19840a3a45406p+4 +0x1.1959dfefb58f7p+3 +0x1.52bed32f75b94p+4 +0x1.a23e93b661a4p+2 +0x1.eee9334cdd0ddp+2 +0x1.203d41ad61271p+1 +0x1.90b58e66122bdp+4 +-0x1.370579624a655p+3 +-0x1.b2a805a509c18p+4 +0x1.e67ccdb8eadfcp+4 +-0x1.3c67a45675499p+4 +-0x1.bfe3aa0e71bb2p+3 +0x1.35cebbc94eab7p+4 +0x1.0422cc7ae80c9p+4 +-0x1.60be748cc1763p+3 +0x1.035ceb7539913p+3 +0x1.7f99fcedf4bb1p+2 +-0x1.6f9c5ee90d57fp+4 +-0x1.845438659ae53p+4 +-0x1.127e6dca38c33p+2 +0x1.4cfddd6b8cbe6p+4 +-0x1.1d4bd6ad50359p+4 +0x1.6a88e84e144c1p+3 +0x1.bb397ab5513c4p+1 +-0x1.3b15ef7442557p+1 +0x1.5f0cde1703beep-3 +-0x1.8796597b51f1dp-2 +-0x1.80a2820b8f653p+3 +0x1.d3f1325db0ecep+6 +-0x1.1f50c3eb06578p+3 +0x1.d420b1a766c3fp+1 +-0x1.03e32552b03eep+0 +0x1.7df5acaa32cddp+3 +0x1.6eb4e78ecc57cp+1 +-0x1.1194fe9aa3be8p+4 +0x1.13a325cf7b8cep+3 +0x1.e7069ccf67267p+4 +-0x1.89a242daa144dp+3 +-0x1.10750199c5d77p+4 +-0x1.fb0a9458e1e58p+3 +-0x1.f37b9d7b69b5fp+4 +-0x1.55c000fc49842p+4 +0x1.12ed7980f7439p+2 +0x1.cd24b3b1ef227p+2 +0x1.17088f192f0f9p+4 +0x1.90a1fc58a5b9bp+3 +0x1.88f71a896832fp+2 +-0x1.0e428a379b193p+0 +-0x1.9a536e9c8e83ap+2 +-0x1.f8c907f8f58dap+3 +0x1.40c9a200f618p-2 +0x1.bb0f583139801p+4 +0x1.4f096c4aaccfep+4 +-0x1.8639ac259ec7p+1 +-0x1.ddc002a62d79ap-3 +0x1.15ea75f9bba9bp+4 +-0x1.a4314722e80c4p+4 +0x1.3085c6708f055p+5 +-0x1.3a122c32d2387p+3 +-0x1.8466c7f39e1a8p+3 +-0x1.07a3a25046ff7p+3 +-0x1.64906f355b5f5p+4 +-0x1.b6cfc87ad211ap+2 +0x1.a9f23e8a04957p+3 +0x1.8f8861cd0df53p+3 +-0x1.0520d99bed6ddp+3 +-0x1.fd38e376c26b9p+3 +0x1.1fc90fefe899ap+5 +-0x1.a17681ee75826p+4 +-0x1.a87d3eb4ab87bp+5 +-0x1.8824d10bf8adfp+4 +0x1.100b8d5562582p+1 +-0x1.83039f5c89f39p+4 +-0x1.32ae3bd745592p+1 +0x1.20cb3b1fd30d4p+4 +0x1.b455d2d933468p+2 +0x1.321f6a0b81c7cp+3 +-0x1.d72368b9f962cp+4 +-0x1.48cb9025aee02p+6 +-0x1.e802ac8385caap+3 +-0x1.283a262642c57p+2 +-0x1.4683fc0789bb8p+1 +-0x1.0979236fd2b26p+4 +0x1.6fae44dc0134ap+0 +-0x1.66857c081da8dp-3 +-0x1.1808d0a3ed1b8p+4 +-0x1.88bbc40edea65p+3 +-0x1.22e88378bebeap+1 +0x1.ce560cf6fded2p-2 +0x1.fe493528bc8f6p+2 +-0x1.e70f7ac0dd117p+3 +-0x1.a225717175c68p+4 +0x1.93bb64437011dp+3 +-0x1.26ee7d4949696p+4 +-0x1.86e89fac76f85p+4 +0x1.324cac38058e4p+4 +0x1.1e2ab2a20dec6p+3 +-0x1.23a5753b9b995p+3 +-0x1.24f1448e6220bp+3 +-0x1.4b31f7fd15c83p+1 +0x1.16c554c0c7c7bp+3 diff --git a/sysdeps/x86_64/fpu/libmvec-exp10f-inputs b/sysdeps/x86_64/fpu/libmvec-exp10f-inputs new file mode 100644 index 0000000000..dc4bdf2226 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-exp10f-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-37, 38), mean = 0, standard deviation = 8 +-0x1.110038p+1 +-0x1.1f03acp+2 +-0x1.88539ap+3 +-0x1.410132p+2 +-0x1.3b7fb8p+1 +0x1.029deep+3 +0x1.77fde2p+2 +0x1.16a53ep+4 +0x1.35a336p+2 +-0x1.f85d78p+1 +-0x1.75bd8cp+3 +-0x1.360248p+3 +0x1.1cb9fap+4 +-0x1.cc0c94p+0 +-0x1.b06432p+2 +0x1.e5f318p+3 +-0x1.2bbc6p+1 +-0x1.b20d6p-5 +0x1.1ee5aap+2 +0x1.0d39dap+3 +-0x1.f35ecap+1 +-0x1.90e89ap+2 +-0x1.8718b2p+0 +0x1.e1a884p+2 +-0x1.bb8414p+1 +0x1.66748ep+3 +-0x1.03ac94p+3 +-0x1.2777cp+1 +0x1.1d20fap+3 +-0x1.0d6598p+3 +0x1.948e12p+0 +0x1.a2f914p+2 +0x1.8dfc3cp+0 +-0x1.ea2b32p+0 +0x1.729198p+0 +0x1.0d76b4p-1 +-0x1.8ba0cp+2 +-0x1.657578p+1 +-0x1.420738p+1 +0x1.9a0f08p-2 +-0x1.3c18ep-1 +0x1.e26402p+2 +-0x1.16b4ecp+3 +0x1.919dfep+1 +0x1.51a8f6p-3 +-0x1.e72ecep+0 +-0x1.7ed13cp+0 +0x1.7c78e8p+2 +-0x1.371df6p+3 +-0x1.47b6c4p+1 +0x1.c0eb16p+2 +-0x1.04144p+3 +0x1.747d82p+2 +-0x1.0e3c3ap+4 +-0x1.9223e2p+2 +0x1.2c285ap+1 +-0x1.e100ap+2 +0x1.a994cp+2 +0x1.5642c6p+3 +0x1.f63a88p-3 +0x1.1c72c6p+0 +-0x1.7e95d8p-3 +0x1.5ef2dap-1 +-0x1.6d0abp+3 +0x1.2ab152p-1 +0x1.cb814cp+2 +0x1.ef5984p+0 +0x1.4511a4p+0 +0x1.c3236cp+0 +-0x1.b5663ap-2 +0x1.f9775cp+2 +-0x1.fbe004p+2 +0x1.ec4068p-1 +0x1.0af7c2p+2 +-0x1.18e6b8p+2 +0x1.2fc06ap+1 +-0x1.0df60cp+2 +-0x1.370564p+4 +-0x1.f9beaap-1 +-0x1.a8a18cp-1 +0x1.970b7cp+3 +0x1.8035aep-1 +0x1.6e5336p+2 +-0x1.202ed6p+3 +-0x1.958d6ep+1 +-0x1.b34124p-1 +-0x1.ae79ecp+1 +-0x1.08e936p+1 +0x1.fa1d12p+2 +0x1.e0e75p+2 +0x1.fc4ffap+2 +0x1.c1eb3ap+1 +-0x1.37f81ap+2 +-0x1.d1b82p-1 +-0x1.8d8c76p+3 +0x1.c753b4p+3 +0x1.59d5bp+0 +-0x1.ea04b4p-1 +0x1.29c338p-2 +-0x1.c2ee5ep+2 +0x1.cee3cap+3 +-0x1.b5e1a6p+2 +-0x1.42abb8p+2 +0x1.1d8892p+3 +0x1.80ec7cp+1 +0x1.c8d7bp-4 +0x1.9c79dap+2 +-0x1.253082p-1 +-0x1.a40112p+1 +-0x1.77943p+2 +0x1.77052ap+1 +0x1.aa7ee8p+3 +-0x1.f6ee5cp-3 +0x1.a39a2ap+2 +0x1.3221b8p+2 +0x1.5ff5bcp+2 +-0x1.4613aap-1 +-0x1.6991a4p+3 +-0x1.1071cap+3 +-0x1.055f3ap+3 +0x1.520ed8p+2 +-0x1.6e1544p+3 +0x1.e819p+3 +-0x1.8b8cb4p+2 +-0x1.a9f64ap+2 +0x1.88e06cp+1 +0x1.750ec6p+2 +-0x1.0dd8acp+2 +-0x1.99309ep+1 +-0x1.08b1bcp+1 +0x1.9afa6p-1 +0x1.0a5b3ep+1 +0x1.273d5cp+4 +-0x1.27eeacp+3 +0x1.398226p+2 +0x1.56fe6p+3 +-0x1.f11f36p+3 +0x1.9aca96p+1 +-0x1.8f8d42p+2 +-0x1.f49e6ep+0 +-0x1.7a129ep-5 +-0x1.1ae76cp+2 +0x1.087a5ap-1 +0x1.6aff86p+2 +-0x1.62fa8ap+1 +0x1.b66d4cp+1 +0x1.b32cf8p+1 +-0x1.97610ep+2 +-0x1.ac60dap+2 +-0x1.fbdc48p+0 +0x1.ce8d8ap+1 +-0x1.f0575ep+1 +0x1.248082p+3 +-0x1.4b02ccp-1 +-0x1.f980a2p+2 +-0x1.d7c148p+2 +-0x1.19379ep-1 +0x1.0b948cp+4 +-0x1.ab9498p+1 +0x1.0e6daep+2 +-0x1.45599cp+3 +-0x1.a1d652p+3 +0x1.0a9a08p+2 +-0x1.380656p+2 +-0x1.4723eap+3 +0x1.82ba88p+3 +-0x1.be10fep+0 +0x1.6e9ab6p-7 +0x1.ac8ebap+3 +0x1.72f43ap+0 +0x1.647a3p+0 +-0x1.6a098ep+0 +-0x1.535b6p-2 +0x1.9b2178p+1 +-0x1.2d34e4p-3 +-0x1.d28fecp+1 +0x1.d43ebep-3 +-0x1.4314fcp+0 +-0x1.3d2ddcp+2 +-0x1.91560cp+0 +-0x1.2064bep+4 +-0x1.8f0d5ap+2 +0x1.81850ap+4 +-0x1.f7d0d6p+1 +-0x1.f23fd4p+2 +-0x1.75a606p-2 +-0x1.d253dcp+2 +-0x1.532846p+2 +0x1.ce3576p+2 +-0x1.8652cep+1 +-0x1.9b8efp+3 +0x1.7d9c66p+3 +0x1.b96c3ep+3 +-0x1.f953fcp+2 +-0x1.dd45a8p+0 +-0x1.a1e7cp+1 +0x1.46cfc2p+3 +-0x1.ae2452p+1 +0x1.6993ap+3 +0x1.13306cp+1 +0x1.61510cp-2 +-0x1.1a2036p+4 +-0x1.64ad7ap+2 +0x1.bc0558p-1 +0x1.3c093ep-1 +0x1.4f8ea8p+2 +-0x1.55af0ap+4 +0x1.5af1d2p+1 +-0x1.0de628p+2 +0x1.99ce9ep+3 +-0x1.f3ce28p+2 +-0x1.2dcbccp+3 +0x1.1adafep+2 +0x1.853c9ap+0 +-0x1.00b1dap-2 +-0x1.12d9eap+3 +-0x1.c05a7cp+3 +-0x1.df87d8p+3 +0x1.3e98c6p+2 +0x1.560246p+3 +-0x1.c6b774p+2 +-0x1.de0012p-4 +0x1.efefd8p+2 +0x1.c1a132p-1 +0x1.30ea3ap+3 +-0x1.a74dd4p+2 +0x1.79ab52p-3 +0x1.d28bdp+2 +-0x1.dd0ae6p+3 +0x1.086058p+3 +-0x1.3d802ap+1 +-0x1.11859p+2 +0x1.2aa162p+1 +-0x1.51a2fep+3 +0x1.6d4ca2p+3 +-0x1.086472p+2 +0x1.73c0d4p+0 +-0x1.460bb8p+3 +-0x1.96b5c2p+2 +0x1.002088p+2 +-0x1.079c68p+3 +-0x1.a490fep-1 +0x1.3a317p+0 +0x1.b3009ap+0 +-0x1.8be63p+3 +0x1.c70c48p+0 +0x1.6ec3p+2 +-0x1.d42bdap-2 +0x1.542a48p+2 +-0x1.68aadep+2 +0x1.0719ecp+2 +0x1.5a5bfp+2 +-0x1.0bf1eap+2 +0x1.798258p+1 +0x1.65e234p+2 +0x1.81eea2p+2 +-0x1.e09ae8p+1 +0x1.88cff6p+1 +-0x1.00e8eep+4 +0x1.b0dc52p+1 +-0x1.949d08p+0 +0x1.2054bep+3 +-0x1.1c5a7p+3 +0x1.445a6cp+3 +0x1.055f52p-1 +0x1.ede04p+2 +0x1.5dd9cep+3 +-0x1.ee86a4p+1 +0x1.430682p+2 +-0x1.b239cep+1 +-0x1.b155c4p+3 +0x1.110594p+2 +-0x1.940484p+2 +-0x1.6f0d1cp+1 +0x1.2ab818p+1 +-0x1.bb57eep-5 +0x1.2c5faap+1 +-0x1.105b2ap+1 +0x1.ad21b6p+3 +0x1.f59118p+2 +0x1.942c72p+1 +-0x1.73fc06p+1 +0x1.19a064p+3 +0x1.f4409ap+0 +-0x1.6ea822p+3 +0x1.05326p+0 +-0x1.30227ap+1 +0x1.69b302p-1 +-0x1.a95e1cp+2 +0x1.2ff44cp+2 +0x1.8803b4p+2 +0x1.e33526p+2 +-0x1.3aaf8ep+1 +-0x1.a15cdap+0 +-0x1.ad8b0ep+3 +-0x1.9c52c8p+3 +0x1.1e855ap+0 +0x1.bb99aep+1 +-0x1.1dae22p+3 +-0x1.9efa1cp+3 +0x1.7f4124p+3 +0x1.a0ae02p+1 +0x1.6c8868p+2 +0x1.5d4636p+3 +0x1.1a07e2p+3 +0x1.50e958p+3 +-0x1.6c9188p+2 +0x1.62d0a6p+3 +-0x1.641802p-1 +-0x1.a1d7bcp+4 +0x1.e931b4p+2 +0x1.a5562ap+3 +-0x1.af841cp+0 +-0x1.6538b6p+3 +-0x1.29feb6p+2 +0x1.6071bcp+4 +0x1.3a75b2p+4 +0x1.501b28p+2 +0x1.cab884p+1 +-0x1.d36afp+0 +-0x1.94992p+3 +-0x1.4bf214p+2 +-0x1.f4aaa8p+2 +-0x1.c904a4p+2 +-0x1.85137ap+1 +-0x1.3253d2p+2 +-0x1.7e5a94p+2 +-0x1.ba8b24p+1 +-0x1.e32c5cp+3 +-0x1.f7a818p+1 +0x1.d79048p+0 +-0x1.e1ee3cp+2 +0x1.8a59e6p+2 +0x1.72b31ap+1 +-0x1.f0a79p+1 +-0x1.ec9f64p+1 +-0x1.ef4d44p+2 +-0x1.45030cp+1 +-0x1.3de03p+3 +-0x1.ae4ee8p+1 +-0x1.2a2442p+3 +0x1.1e09c8p-5 +-0x1.ce629ep+2 +0x1.0b13ecp+1 +0x1.5b2206p+2 +-0x1.c752f2p+0 +0x1.3d151p+2 +0x1.17da3p+2 +-0x1.266a0ap+2 +0x1.45a7dcp+1 +-0x1.347da4p+1 +-0x1.39b5p-1 +0x1.b9a576p+2 +-0x1.721816p+2 +0x1.4139fep+3 +0x1.0b6028p+2 +-0x1.9cf32p+1 +0x1.4e858p+3 +0x1.b07b4ep+0 +0x1.11702p+0 +-0x1.5262e6p+2 +0x1.2844aap+0 +0x1.a9ca3ap+2 +-0x1.5506bcp+1 +0x1.7d3bacp+0 +0x1.ba237ep+1 +-0x1.9d3fecp+2 +0x1.04414ep+2 +-0x1.1ab066p+2 +0x1.6e9de2p+1 +-0x1.40935ap+1 +-0x1.bcfc0cp-1 +0x1.010d86p+1 +-0x1.7ff508p+1 +-0x1.f0534cp-1 +0x1.3ee03ep+3 +0x1.44bf16p+1 +-0x1.dc7bfep+0 +0x1.4b2044p+1 +0x1.84fe36p+0 +0x1.cd7622p+3 +0x1.1b1d3cp+3 +-0x1.9fcae6p+3 +-0x1.0a3b58p+2 +-0x1.2abc8ap+3 +0x1.8c4d68p+0 +0x1.0a5afep+3 +0x1.4fd2ccp+0 +-0x1.5500cap+2 +0x1.8d885ep+3 +0x1.59ea52p+3 +0x1.0ec88cp-2 +-0x1.8a5d84p+3 +0x1.1a283ap-1 +0x1.829e76p+2 +-0x1.41f41cp-1 +-0x1.013626p+3 +-0x1.d6aa46p+2 +0x1.1ae55cp+1 +-0x1.6d2bcp+1 +-0x1.2f894ap+2 +-0x1.8cccaap+4 +0x1.a1847ap+1 +0x1.61b9fap+3 +-0x1.593af2p+1 +-0x1.6fcb36p+2 +-0x1.f22accp+3 +0x1.55402ep-3 +-0x1.7758f8p+2 +-0x1.129ed6p+2 +0x1.47b15cp+1 +0x1.c37c38p-1 +-0x1.55e59cp+2 +0x1.15ab24p+1 +-0x1.5efb3p+3 +-0x1.c82246p+3 +-0x1.1ec106p+2 +-0x1.632d52p+3 +-0x1.3b380ep+0 +-0x1.d06a62p+3 +-0x1.648c7ep+4 +-0x1.e0c74ap+1 +0x1.3b45c2p+3 +0x1.9ac134p+3 +0x1.821b66p+1 +0x1.49d4a4p-1 +-0x1.9536fep+0 +-0x1.e45f7p+2 +0x1.f42e02p-2 +-0x1.1447c8p+1 +-0x1.3814cap+2 +-0x1.f381e4p+0 +-0x1.db96f4p+2 +0x1.b7e8d8p+2 +0x1.31f092p+2 +-0x1.23d39ap+3 +0x1.24868ap+1 +-0x1.d6e588p+2 +-0x1.51e8dp+1 +-0x1.076dp+3 +-0x1.5ce54p+1 +-0x1.03dbfcp+2 +0x1.02c32cp+3 +0x1.2900dep+2 +-0x1.7dfadap+1 +-0x1.5d3804p+3 +0x1.7b1186p+3 +0x1.ff5246p+0 +0x1.0e03a4p+4 +-0x1.76a414p+2 +-0x1.1fffa4p-1 +0x1.9caea4p+1 +-0x1.793d42p-1 +0x1.5b0824p+0 +0x1.254968p+0 +0x1.eb12bp+3 +0x1.fe8536p+0 +0x1.b1e56ap+3 +0x1.345306p+0 +0x1.307c96p+3 +0x1.4d5cbap+2 +-0x1.b1937cp+0 +0x1.28c95ap+2 +0x1.365164p-2 +0x1.55b3e6p-2 +-0x1.1aa44ep+2 +-0x1.b0bd84p+2 +-0x1.f054c2p-2 +-0x1.81014cp+3 +-0x1.32e8eep+1 +0x1.d0a074p+0 +0x1.41625cp-6 +-0x1.40f226p+2 +0x1.68f226p+1 +-0x1.17690ep+3 +-0x1.75fa5ep+2 +0x1.295642p+0 +0x1.988104p+1 +0x1.2b01b2p+3 +-0x1.0f4d72p-1 +-0x1.4b462p+2 +0x1.9e7c32p+3 +-0x1.a6f89ep+2 +0x1.f2082cp-1 +-0x1.dd839ap+2 +0x1.7fca08p+2 +-0x1.c3c488p+2 +-0x1.6e8538p+3 +0x1.d8ed1cp-1 +-0x1.ebd99ep+1 +0x1.fd966p+2 +-0x1.206c2p+3 +0x1.aee0d6p+3 +-0x1.35d52ep+0 +0x1.13223ap+0 +0x1.743898p+1 +-0x1.4bae88p+2 +-0x1.b15ab2p+2 +-0x1.9ce3b2p+3 +0x1.cef452p+3 +-0x1.f17318p+3 +-0x1.e58d0cp-3 +0x1.808becp+2 +0x1.07f0bp+3 +0x1.325fd4p+2 +-0x1.9faafap-1 +0x1.6104f8p+4 +-0x1.7807e4p+3 +0x1.297574p+1 +0x1.3b4588p+2 +0x1.c568a6p+2 +0x1.6caddep+4 +-0x1.69894ep+1 +-0x1.373078p+0 +0x1.135deep+2 +0x1.e1285ap+0 +0x1.4b80b4p+3 +0x1.2811c4p+2 +-0x1.81d10ap+1 +-0x1.ab8ce8p+0 +0x1.9d7e14p+3 +0x1.3737cep+3 +-0x1.63ffeep+2 +0x1.1522bcp-1 +-0x1.d9b722p+0 +0x1.022adcp-1 +0x1.6b2c72p+0 +0x1.18ec28p-1 +-0x1.6afe7p+4 +0x1.147d5cp+2 +-0x1.81f8cep+2 +0x1.0f3818p+2 +-0x1.c6ff78p+2 +-0x1.66360cp+2 +-0x1.6791dcp+3 +-0x1.77c6ep+1 +0x1.45d5f6p+3 +0x1.268336p+3 +0x1.3a13ap+2 +-0x1.780cfp+1 +0x1.6128b2p+2 +-0x1.439a56p+3 +0x1.50b1dp+2 +-0x1.e0bf1ep+2 +0x1.0ae6ecp+2 +-0x1.51968p+1 +0x1.f8c884p+1 +0x1.e0a29p+3 +0x1.8cdcd4p-3 +0x1.ec9936p+2 +0x1.5317a2p+1 +0x1.51d70cp+0 +-0x1.50ba0ap+2 +0x1.f6fb7p+0 +-0x1.9996fap+2 +-0x1.61d00ep+3 +-0x1.3a3a26p+2 +0x1.2f54b2p+1 +-0x1.b4951cp+1 +0x1.220f6p+2 +0x1.09e96p+2 +-0x1.b1165ap+2 +-0x1.be5766p+3 +-0x1.411e54p-1 +0x1.32640ap+3 +-0x1.9d3da6p+0 +-0x1.26eaa4p+2 +-0x1.9657b2p+1 +0x1.25d18p+2 +0x1.faee42p+3 +0x1.c037ccp-4 +0x1.9ed352p+1 +0x1.c24bc2p+2 +-0x1.c46c08p+2 +0x1.058fa8p+3 +0x1.074894p+2 +-0x1.2cb5d2p+3 +-0x1.7b022cp+3 +0x1.d971cep+2 +-0x1.8ec86ap-1 +-0x1.f72738p+0 +0x1.219fdep+1 +-0x1.565374p+4 +-0x1.e3e544p-5 +-0x1.3c9b4ap+1 +0x1.0adc7p+3 +0x1.c5a68p+0 +0x1.07f582p+1 +0x1.d9d092p+2 +0x1.7d3d04p+1 +-0x1.479fcep+3 +0x1.ef3f7ap+1 +0x1.52dc56p+2 +0x1.152d96p+2 +-0x1.b93628p+2 +0x1.6f1702p+1 +-0x1.d76088p+3 +0x1.396904p+4 +-0x1.bb8d38p+1 +-0x1.bea7cap+0 +-0x1.56dbccp+1 +0x1.4c7c78p-2 +0x1.9e0406p-2 +0x1.f80584p+1 +-0x1.54278cp+3 +0x1.37b24cp+1 +0x1.f77b1ap-3 +-0x1.7c43b4p-2 +0x1.10f4e2p+1 +-0x1.84c3d4p+1 +0x1.6536d4p+2 +-0x1.45c85ep+3 +0x1.8d0b58p+1 +-0x1.7bfe86p+3 +-0x1.028574p+3 +-0x1.266d42p-3 +-0x1.6f1e52p+3 +-0x1.b57398p+3 +-0x1.069008p+3 +0x1.951438p+3 +0x1.54640ep+2 +0x1.a2e70ep-1 +-0x1.4584eap+0 +0x1.598412p+2 +-0x1.3508e2p+3 +-0x1.df8c74p+3 +-0x1.d401bcp+2 +-0x1.20ff5ep+1 +0x1.ade08ep+1 +0x1.fb9154p-1 +0x1.a816fp+2 +-0x1.90a1d2p-8 +-0x1.6b755ap+2 +-0x1.54b09ap+2 +-0x1.53687ep+3 +0x1.b7a0f2p+3 +0x1.1c64acp+0 +-0x1.1cd93cp+1 +-0x1.d6676ep+1 +-0x1.b3376p+2 +-0x1.397f52p+1 +0x1.204f1ep+3 +-0x1.9d15f8p+3 +0x1.86b446p+1 +-0x1.3a978cp+3 +-0x1.299fc8p+3 +-0x1.a744b8p-2 +-0x1.bb2884p+1 +-0x1.1772f4p-1 +0x1.aabbf2p+2 +-0x1.a112b6p+2 +0x1.3d09dcp+3 +0x1.2cb5e2p+3 +0x1.3cd7acp+1 +-0x1.f1399p+2 +0x1.88f07ep+3 +0x1.93179ep-1 +0x1.2bfc96p+4 +0x1.1858fcp-1 +0x1.335b32p+3 +-0x1.e24d82p+2 +-0x1.ebc294p+3 +0x1.4d8134p+2 +-0x1.e10c4p+1 +-0x1.62805p+2 +0x1.4735e2p+3 +-0x1.407afcp+3 +-0x1.c12b48p+1 +-0x1.7ef92ap-1 +-0x1.41cc22p+1 +-0x1.b4dc08p+2 +-0x1.b8c92ep+2 +-0x1.a4756cp+1 +-0x1.d7ea62p+3 +0x1.a45014p-1 +-0x1.3949p-1 +-0x1.751d1p+0 +0x1.b57efp+2 +0x1.6e593ep+2 +-0x1.b3b2e6p+2 +0x1.20b848p+0 +-0x1.a7a9a2p+3 +-0x1.3edfeap+0 +0x1.04df46p+3 +-0x1.85c872p+0 +0x1.987aa6p+3 +-0x1.8d8ff4p-1 +-0x1.7bbe5p+1 +0x1.09b6ep+2 +0x1.6540eep+2 +0x1.8b2e12p+0 +0x1.fe8d48p+2 +-0x1.6139c4p-1 +-0x1.4f44bp+0 +-0x1.c87cf8p+3 +-0x1.625e9p+3 +-0x1.b994fap+2 +-0x1.d21a74p+3 +0x1.fb8fbcp+3 +0x1.4e0292p+2 +0x1.7bec5ap+2 +-0x1.22ade6p+3 +0x1.3ff0fcp+2 +0x1.acf446p+0 +-0x1.081e4cp+2 +-0x1.af18d2p-1 +-0x1.816382p+1 +-0x1.dbf7e6p+3 +-0x1.109eap+3 +0x1.2f89c6p+1 +-0x1.0525cep+0 +-0x1.1527b6p+1 +0x1.b3de52p+2 +-0x1.730858p+1 +0x1.cc1d54p-2 +-0x1.6d8996p+3 +0x1.34fc5ap+2 +-0x1.8704c8p+3 +0x1.85b0dap+3 +-0x1.4e2aacp+2 +0x1.8fbe8cp-1 +0x1.624156p+3 +0x1.50d6fep+2 +0x1.471f7p+1 +0x1.016aep+0 +-0x1.6baefcp+2 +-0x1.21c30ap+2 +0x1.62072ap-3 +-0x1.39b198p+2 +0x1.7f04c2p+1 +-0x1.168386p+3 +-0x1.c9fbccp+3 +0x1.1635f4p+2 +0x1.3ddefp-2 +-0x1.1ee2cep-2 +-0x1.6899a6p+2 +0x1.dc1aa4p+0 +-0x1.b601c4p+0 +0x1.a84624p+1 +-0x1.33c518p+2 +0x1.a67986p+2 +0x1.0a3882p+3 +0x1.06a6ap+1 +0x1.6bf6eap+1 +-0x1.84d9fp+3 +-0x1.6cf124p+0 +0x1.dcbcep+3 +0x1.3536fp+3 +0x1.cdd5ap+1 +-0x1.bfefecp+2 +-0x1.618704p+2 +-0x1.17cefcp+1 +0x1.67adb2p+3 +0x1.3a3954p+2 +-0x1.d038d4p-2 +0x1.36d7a8p+1 +0x1.e318b2p-1 +-0x1.3e982cp+3 +0x1.471aa2p+3 +-0x1.178b0ep+3 +-0x1.b5c338p+2 +-0x1.a52046p+2 +-0x1.d018ccp-2 +0x1.577d3cp+0 +0x1.e26ee4p+3 +0x1.1156cep+1 +0x1.a0a6aap+3 +-0x1.267fe2p+2 +-0x1.1988fap+1 +0x1.0b474ep+2 +-0x1.8fe198p+1 +-0x1.5fdfdap+3 +-0x1.943708p-3 +0x1.8d0838p+1 +0x1.8b693ap+3 +0x1.fd35a4p+3 +0x1.20e762p-1 +0x1.1338d4p+4 +-0x1.ea5206p+2 +-0x1.cd9f28p+1 +-0x1.1da77p+4 +-0x1.123ce4p+3 +-0x1.07274p+2 +0x1.c2d602p-1 +-0x1.39b1fp+2 +-0x1.153f22p+4 +0x1.8dd608p+3 +0x1.c91194p+1 +-0x1.06ef9ep+0 +-0x1.f7e71ep-2 +-0x1.2bcc98p+1 +-0x1.12c118p+2 +-0x1.263fecp+3 +-0x1.d0ae2ap+2 +0x1.bf14b6p-2 +0x1.d08ea4p-1 +-0x1.d899f6p+3 +-0x1.c8a996p+2 +-0x1.5587dcp+4 +-0x1.c510eep+2 +-0x1.18b784p+3 +0x1.71cc02p+2 +-0x1.64f178p+2 +0x1.23e878p+2 +-0x1.aec4fap+0 +0x1.30e846p+3 +-0x1.f9dee6p-3 +-0x1.24ba82p+0 +-0x1.9fe796p+1 +0x1.af099ep+3 +-0x1.43231ap+1 +0x1.15808p+3 +-0x1.dd8294p+2 +-0x1.29bfc2p-2 +0x1.5fafe6p+2 +-0x1.22b358p+2 +0x1.6651c6p-4 +0x1.e17a66p+2 +0x1.d3c68cp+1 +-0x1.56483ep-1 +0x1.f538f4p+0 +-0x1.7fb88ep+3 +0x1.74596ap+0 +0x1.90a7c4p+3 +-0x1.74067ap+0 +0x1.3902e8p+3 +0x1.359ad8p+1 +-0x1.14bb78p+4 +-0x1.d2bp+2 +0x1.f9f7f8p+1 +0x1.f4b9e2p-1 +0x1.18af72p+3 +0x1.2336b2p+4 +-0x1.aa7a9ep+2 +0x1.23d8f2p+3 +0x1.066028p+2 +-0x1.a31ae4p+0 +0x1.0787d6p+3 +-0x1.9b00fep-1 +0x1.fe98dep+1 +0x1.5ce4dap+3 +0x1.54b8p+1 +0x1.7631f2p+2 +-0x1.56d6cep+3 +0x1.e93e02p+3 +-0x1.508c64p+2 +-0x1.f3afc8p-3 +-0x1.c205f2p+3 +-0x1.4665ecp+4 +-0x1.95aab2p+1 +-0x1.0cb91ep+3 +0x1.517e3p+1 +-0x1.bf61d2p+2 +-0x1.457ed6p+3 +-0x1.37c8c2p+2 +-0x1.002cb2p+3 +-0x1.07c27ap+2 +0x1.274168p+2 +0x1.38f41ep+3 +-0x1.81ce3ap+2 +-0x1.d73dd2p-5 +0x1.1be246p+3 +0x1.24a1bap+3 +0x1.231018p+2 +0x1.23500ep+1 +0x1.19c6bep+1 +-0x1.5e77f6p+4 +-0x1.a6520ep+1 +-0x1.fad8dcp+0 +-0x1.520906p+1 +-0x1.77399ap+1 +0x1.14293cp+2 +0x1.50f4ap+2 +0x1.365732p+3 +-0x1.3469c8p-4 +0x1.b1cb36p+1 +0x1.0c8066p+1 +0x1.53f73p+2 +-0x1.ba6bf4p+3 +-0x1.142e22p-1 +0x1.240138p+1 +0x1.09c2p-2 +-0x1.5a932ep+1 +0x1.ba4fb4p+2 +-0x1.223d3p+4 +-0x1.27b8aep+0 +-0x1.a8e546p-1 +0x1.01d11p+2 +-0x1.93f7d2p-3 +0x1.7fcddep+2 +0x1.9a1d8ep+3 +0x1.036464p+3 +0x1.b0e7p+0 +0x1.02db3p+4 +0x1.6b8aap+2 +0x1.2fa006p+3 +-0x1.d82328p+2 +-0x1.9d410ap+3 +-0x1.de77eap-2 +-0x1.9e576p+1 +-0x1.cb4adcp-1 +-0x1.3f3ebcp+3 +0x1.2cd10cp+3 +-0x1.6f6f24p-2 +0x1.ed8106p+0 +-0x1.895068p+2 +0x1.00c424p+3 +-0x1.6b352ep+0 +-0x1.08fb74p+3 +0x1.26b1b2p+3 +0x1.5f5b98p+1 +0x1.5767d4p+3 +0x1.276b56p+3 +0x1.2bc056p+3 +0x1.054068p+3 +0x1.e8fb5ep-1 +-0x1.7950f2p+1 +0x1.61c78ep+3 +-0x1.3da23ap+3 +0x1.b309d2p+3 +0x1.b3d51ap-1 +0x1.c7101cp+1 +-0x1.17cc8p+4 +0x1.5e9e68p+1 +-0x1.7b88bap+3 +-0x1.bc3d1p+1 +0x1.fe1772p+3 +-0x1.454e04p-1 +-0x1.203ea8p-2 +0x1.0b63p+2 +0x1.0a3696p+1 +0x1.b69cbep-2 +0x1.e4a2ap+1 +-0x1.fc1de8p-1 +0x1.9c5f0cp+2 +-0x1.c662e4p+0 +0x1.cb775ap+1 +-0x1.61d9a4p+1 +-0x1.1450cep+3 +-0x1.e77354p+2 +-0x1.a191c6p+0 +-0x1.3b096ap+3 +-0x1.573978p-1 +0x1.974ac4p-2 +-0x1.19e942p+3 +-0x1.60de18p+1 +-0x1.787726p+1 +-0x1.fea152p-2 +-0x1.c22308p+0 +0x1.288e8p+1 +-0x1.3082f8p+0 +-0x1.e322c8p+1 +-0x1.11322ep+2 +-0x1.34b88ap+3 +0x1.52f128p+2 +0x1.119c1p+3 +-0x1.69e2d2p-4 +0x1.1feb9ap+3 +0x1.61fedap+1 +-0x1.8f798ap+3 +-0x1.d484a4p-3 +0x1.969822p+1 +-0x1.4b524ep+0 +-0x1.321ac4p-3 +-0x1.6ebfaep+3 +0x1.e1d78cp+3 +-0x1.1208eep+2 +0x1.50da0ap+2 +0x1.095648p+3 +0x1.d7c7b6p+3 +-0x1.d0964cp+2 +0x1.2e6518p+2 +-0x1.c0bdc4p+2 +0x1.1695dp+1 +0x1.0454b4p+2 +0x1.4ccceap+1 +-0x1.1db5fap-1 +-0x1.786a46p+3 +0x1.990da6p+2 +-0x1.73369cp-1 +0x1.4f6fe8p+2 +-0x1.d20a7ap+2 +-0x1.99dd6p+1 +0x1.e5340cp+2 +0x1.a5b96ap+3 +-0x1.928d3cp+1 +0x1.2e3152p+1 +0x1.513136p+2 +0x1.0222cap+2 +-0x1.f38cd6p+0 +-0x1.ec6732p+0 +0x1.0523dep+2 +-0x1.3a3f7cp+3 +0x1.5ebaf6p+3 +0x1.224768p+3 +-0x1.1e90c4p+4 +-0x1.fedbaap+2 +-0x1.02282p+4 +-0x1.5a81eep+2 +0x1.261138p+2 +-0x1.e2fa34p+3 +-0x1.000ccp+1 +-0x1.16afe8p+3 +0x1.5d829ap+2 +-0x1.582e24p+3 +-0x1.65ffe8p+1 +-0x1.07b006p+3 +-0x1.8a79aap+3 +-0x1.362ff8p+3 +0x1.5a2a56p+2 +-0x1.ad62d6p+1 +0x1.43efdap-1 +-0x1.121deap+1 +-0x1.68e8ecp+1 +-0x1.4737a8p+2 +0x1.8e1854p+1 +0x1.d3725p+0 +-0x1.d01bfap+2 +-0x1.d040bp+2 +-0x1.4f7be2p+3 +-0x1.23d4f4p+4 +0x1.13979ep+2 +0x1.8733f8p+3 +0x1.bc26f6p+2 +0x1.3ae338p+1 +-0x1.c049b6p-3 +-0x1.fec492p+1 +0x1.7f7968p+3 +-0x1.1dd896p+2 +-0x1.a9ae64p+2 +-0x1.8077dep+3 +-0x1.1e7b08p+4 +0x1.235396p+2 +-0x1.c87d1p-1 +-0x1.d320dap+1 +0x1.03b144p+2 +0x1.7a3848p+1 +0x1.242e1ep+3 +0x1.b7936ap+1 +-0x1.4f848cp+2 +-0x1.0e20dcp+3 +-0x1.c14bcp+3 +-0x1.8e8d06p+0 +0x1.a4476p+3 +0x1.d225c2p+0 +0x1.21c166p+1 +0x1.235af8p+2 +-0x1.1b58bap+2 +-0x1.58b5e6p+1 +0x1.dc72e4p+3 +-0x1.de7f64p+2 +0x1.76a74ep+0 +-0x1.b2a272p+1 +-0x1.d78d2ap+1 +-0x1.d3a276p+2 +0x1.5d8ba8p-1 +0x1.98129cp+1 +-0x1.22ebdcp+3 +0x1.78e76p+1 +-0x1.991118p+2 +0x1.0855c4p+3 +-0x1.36a24ap+2 +-0x1.2510e8p+3 +-0x1.0d06dep+1 +-0x1.1aa2b2p+1 +0x1.afd89cp+0 +-0x1.29809ep+2 +0x1.aaf702p+3 +0x1.9dcb1p-1 +0x1.5f3cc8p+2 +0x1.4ba3a6p+3 +-0x1.6d9b24p-1 +0x1.a3ea74p+2 +0x1.207bc6p+0 +-0x1.fe6d08p+2 +0x1.1a6974p+2 +0x1.d70e4ap+2 +0x1.6f4598p+3 +-0x1.0c62a6p+1 +0x1.d820cap+3 +-0x1.71efdcp+2 +-0x1.30841ap+2 +0x1.70f534p+1 +-0x1.0a56ep+1 +0x1.d6ae62p+3 +0x1.f196bcp+2 +-0x1.41d18ep+4 +-0x1.762a84p+3 +0x1.d63c0ep+2 +0x1.f22036p+3 +-0x1.f1afc8p+2 +-0x1.15596ep-1 +0x1.a217aap+3 +-0x1.203c7ep+1 +0x1.7d3ed6p+2 +-0x1.e87ddap+2 +-0x1.9ed7a2p+2 +-0x1.5be994p+3 +-0x1.9df17ep+0 +-0x1.4d8beap+3 +-0x1.de59d8p+1 +-0x1.cd544cp+1 +-0x1.297dfap+3 +-0x1.72ed2p+2 +0x1.351bfep+0 +-0x1.7a6164p+2 +0x1.524c22p+2 +-0x1.440cd6p-1 +0x1.1f939p+2 +0x1.21e258p+1 +0x1.7f5a82p+2 +-0x1.0326ep+2 +0x1.3dbaa2p+1 +0x1.c7e528p+0 +0x1.5e1d8ep-4 +-0x1.d7ebf6p+2 +0x1.9097b6p+2 +0x1.950d08p-2 +-0x1.fd2e5p-1 +0x1.34111cp+3 +-0x1.320bb8p+2 +0x1.c3d3cep+0 +0x1.d68baep-3 +0x1.d5fbdap+2 +0x1.774752p+3 +-0x1.a3adc4p+3 +-0x1.c7e54ap+1 +-0x1.1872bap+1 +-0x1.e39d88p+2 +0x1.b7553p+3 +-0x1.db9718p+0 +-0x1.7e4a4ap+1 +-0x1.ca0c48p+1 +-0x1.140942p+1 +-0x1.b89a4ep+3 +-0x1.047d92p-1 +-0x1.1fca22p+3 +0x1.a5e1cp+0 +0x1.0ea7cp+3 +0x1.c6c844p+2 +0x1.603424p+3 +-0x1.a5ffd2p+1 +0x1.393b04p+1 +0x1.125b5cp+3 +0x1.90738cp+1 +0x1.d921bp+3 +-0x1.b15416p+3 +0x1.44313ap+3 +0x1.f07062p+3 +-0x1.46944p+1 +0x1.034064p+1 +-0x1.6c8e2p+3 +0x1.597e7cp+3 +0x1.84a826p+1 +-0x1.7b4e54p+0 +-0x1.47ffa4p+3 +0x1.ebacc6p+1 +0x1.260286p+2 +0x1.686e96p+3 +0x1.710bd6p+3 +0x1.55e84p+3 +-0x1.43ffa8p+1 +-0x1.69b8c8p+2 +0x1.c0c0d8p+3 +0x1.eac24ap+2 +0x1.e064cp+3 +-0x1.c5a6f6p+3 +0x1.7d090ap+4 +-0x1.51054cp+0 +0x1.17dd08p+1 +0x1.064c9p+4 +0x1.0e768ap+3 +0x1.fcd304p+2 +-0x1.af8b66p-1 +-0x1.6fa7bcp+3 +0x1.1131d4p+0 +0x1.84b6fp+3 +0x1.82d034p+4 +0x1.307076p+2 +0x1.d6dd86p+1 +0x1.b0c424p+1 +0x1.6ecb46p-1 +0x1.5472dp+1 +-0x1.2c76e4p-1 +-0x1.d8f29ap+3 +-0x1.0db684p+3 +-0x1.96fafp-1 +0x1.88639ap+1 +0x1.004798p+3 +0x1.11537p+0 +-0x1.9a82ecp+0 +-0x1.dc8958p+2 +0x1.dc3e84p+1 +-0x1.5e2e3p+2 +0x1.aa6136p+3 +-0x1.99a04cp+2 +0x1.b0839ep+3 +0x1.d13378p+2 +0x1.c7a0aap+1 +-0x1.443c98p+2 +-0x1.eeb87ep+2 +0x1.38c446p+3 +-0x1.710f7cp+3 +-0x1.07b1ap+3 +-0x1.c75e14p+2 +-0x1.3ddf74p+1 +0x1.27093p+3 +-0x1.0833d4p+1 +-0x1.2cb6bap-1 +0x1.6bd3ep+3 +-0x1.17db0ap+3 +-0x1.fc4a6ap-1 +0x1.9b63fcp+1 +0x1.40fc56p+1 +-0x1.cc7f4ep+2 +-0x1.792ec6p+1 +-0x1.44a492p+4 +-0x1.3827d4p+3 +-0x1.41cca4p+4 +0x1.a0998ep+1 +0x1.d9b438p+2 +-0x1.7f7748p+0 +-0x1.dd1504p+0 +0x1.dfc3ccp+2 +0x1.1f3afep+0 +-0x1.0cc97cp+2 +-0x1.201c3ep+2 +0x1.df82bp+2 +0x1.395d76p+0 +-0x1.0b866ep+4 +-0x1.738d3p+3 +-0x1.0eeadep+3 +0x1.40cdccp+2 +-0x1.3c73dap+3 +-0x1.74ae48p+0 +0x1.d8275ap+2 +0x1.572adap+2 +0x1.1723e8p+4 +0x1.8f429p+1 +0x1.550ea2p+3 +-0x1.b1783p-3 +-0x1.061f08p+3 +-0x1.7ae9bap+0 +-0x1.1541c8p-1 +-0x1.ed3336p+0 +-0x1.a2b8ep+1 +0x1.2fc91ep+0 +-0x1.e01f1cp+1 +0x1.aaa062p-3 +-0x1.39bbdap+0 +-0x1.a0c208p+3 +0x1.268d4cp+3 +0x1.8e2fbcp+2 +-0x1.6b14c4p+2 +0x1.8dc764p+2 +0x1.8779e6p+1 +-0x1.176c96p+2 +-0x1.25a544p+3 +-0x1.81eb7ap+2 +0x1.0b8d1ep+2 +0x1.11e368p+0 +0x1.8ec7bp+0 +0x1.acdf5ap-2 +-0x1.51ca8ep+1 +0x1.827ddap+1 +-0x1.14a3cep+3 +-0x1.44a31cp+1 +-0x1.75eb8p+3 +0x1.24954cp+2 +0x1.f902dcp+1 +0x1.640cf2p+0 +-0x1.2f225p+3 +-0x1.02d94cp+3 +-0x1.9b7db8p+2 +0x1.68651ep+3 +0x1.f4797p+2 +-0x1.d1393ep+2 +0x1.c5dc9p+3 +0x1.bb6f32p+0 +-0x1.cd8996p+2 +-0x1.c73194p+2 +0x1.987076p+1 +-0x1.a68fcp+2 +-0x1.99abb4p-1 +-0x1.339fbep+3 +-0x1.413902p+1 +0x1.ce6222p+2 +0x1.970f02p+3 +0x1.8abadap+2 +-0x1.2c58f8p+1 +0x1.06a996p+3 +-0x1.c7142p+3 +-0x1.fe3dd4p+3 +-0x1.6021c8p+2 +-0x1.575738p-1 +-0x1.cfee4ap+1 +0x1.11638ep+1 +-0x1.fb4ad6p+1 +-0x1.6ae074p+1 +-0x1.00d2dap+1 +0x1.7fbfd8p+3 +0x1.5a65d8p+3 +-0x1.aadc2ap+0 +-0x1.4915bcp-2 +0x1.6beb9cp+2 +0x1.57a912p+1 +-0x1.12d05p+0 +0x1.89ea2ap+1 +-0x1.5632cep+1 +-0x1.d4c06cp+2 +-0x1.4f1954p+1 +0x1.3db73p+2 +-0x1.d8db14p+1 +0x1.98df14p+2 +0x1.14ed3ap+1 +0x1.152fd8p+1 +-0x1.eb0c42p+0 +0x1.c34eeap+2 +0x1.f84a2p+3 +0x1.43f32p+2 +0x1.38668cp+3 +-0x1.0fcddap+2 +-0x1.9f96a6p+0 +0x1.e85928p+1 +-0x1.361cep+4 +-0x1.8c83cep+3 +0x1.1c76acp-2 +0x1.5b1636p+2 +0x1.5c5494p+2 +0x1.969e8ap-2 +0x1.2440fap+4 +0x1.31fb48p+3 +0x1.2d1b84p+1 +-0x1.225302p+2 +-0x1.342994p+3 +-0x1.71951ep+1 +0x1.29b1a2p+3 +-0x1.cff758p+3 +0x1.2a3a82p+3 +0x1.f4252ap-1 +0x1.c8b542p+2 +0x1.83bb48p+0 +-0x1.1f0be4p+0 +-0x1.0fdb2ep+4 +-0x1.35116p+3 +-0x1.b63122p+1 +0x1.a740bp+1 +0x1.094508p+2 +-0x1.d23732p+1 +-0x1.808f84p+3 +-0x1.b7e28ap+1 +-0x1.3c6e26p+3 +0x1.e87adep+2 +0x1.3902b2p+0 +-0x1.76edd4p-1 +-0x1.92941cp-1 +-0x1.8b4aap+1 +-0x1.4a916p+2 +-0x1.9b9734p-2 +-0x1.9fb55ep+2 +0x1.0cca48p+2 +0x1.517ec4p+3 +0x1.0dc2f2p+1 +0x1.9a8406p+3 +0x1.a607cap+3 +-0x1.44bb7ep+3 +0x1.f3e262p+2 +-0x1.15187p+3 +-0x1.5946e6p+3 +-0x1.d8f4f8p+1 +-0x1.bc8404p+2 +0x1.c53ab4p-2 +0x1.191f9ap+3 +0x1.acbcecp+2 +-0x1.4c2d72p+2 +-0x1.02ea12p+3 +0x1.20889ep+1 +0x1.8c2f3p+3 +0x1.10b322p-1 +-0x1.8e49ap+3 +-0x1.2743a2p+2 +0x1.4c16c2p+1 +-0x1.035d74p-2 +-0x1.596772p+1 +-0x1.044af2p+3 +0x1.57275ap+2 +0x1.0b9a4cp+4 +0x1.c2c14ap+1 +-0x1.18b6fp+2 +0x1.aa7be8p+0 +0x1.0e7168p+3 +-0x1.b5a3dcp+0 +-0x1.c72a6ap+1 +-0x1.cb8108p-1 +-0x1.47dbd4p+3 +-0x1.df37b2p+2 +-0x1.430244p+3 +0x1.f6648p+3 +0x1.d75654p+2 +0x1.19a41ap+2 +-0x1.ac1622p+1 +-0x1.901e2p+2 +0x1.091688p+2 +-0x1.29c9eap-2 +-0x1.6e9738p+2 +0x1.66dc78p+3 +-0x1.3405dcp+1 +-0x1.a8aa78p-4 +-0x1.aee52cp+3 +0x1.4dcd0ep+0 +0x1.d55adcp+0 +-0x1.78192p-1 +0x1.2401c8p+3 +0x1.4296cep+2 +0x1.b9051ep+3 +0x1.6b220ep+2 +-0x1.58ca56p+0 +0x1.aed15ep+3 +0x1.144ca4p+4 +0x1.67aa5p+3 +-0x1.48a92p+3 +0x1.9a61f2p+0 +-0x1.131b2cp+3 +0x1.eaf848p+1 +-0x1.3923fap+2 +-0x1.a0321ap+2 +0x1.616dbp+2 +0x1.2ed1fcp+1 +0x1.4261bap-3 +-0x1.9f96e8p+1 +-0x1.0ef2a6p+3 +-0x1.6462b4p+0 +-0x1.d53832p+2 +0x1.b8dd7p+1 +0x1.4874bap+1 +-0x1.ec97bap+3 +-0x1.53ef34p+2 +-0x1.07fbaap+3 +-0x1.d5c394p+1 +-0x1.448fe4p+4 +0x1.094c28p+2 +0x1.31663ep+3 +-0x1.cf8768p+2 +0x1.3509dp+0 +0x1.8dabe2p+1 +0x1.89563ep+1 +0x1.41e1ccp+1 +-0x1.bb2d1cp+2 +0x1.1c840ep+3 +0x1.bc5d9p+3 +0x1.36b89cp+2 +0x1.e566a2p-1 +-0x1.88f8a4p+3 +0x1.033bdcp+3 +0x1.710218p+2 +-0x1.3d096ap-3 +0x1.3473c8p+3 +-0x1.e31a32p+2 +0x1.efcb56p+2 +0x1.a506aep+0 +-0x1.711fe8p-2 +-0x1.144e54p+3 +-0x1.821f6ap+1 +-0x1.facc3ep-1 +-0x1.8d14p+4 +-0x1.69e3aep+1 +0x1.4818c4p+2 +-0x1.40af88p+3 +0x1.74a9b4p+3 +-0x1.03bd38p+3 +0x1.6e1a9p-1 +0x1.702f9ep+2 +-0x1.949602p+3 +-0x1.a28782p+2 +-0x1.6a13d2p+2 +0x1.bf6546p+0 +0x1.0073b4p-1 +-0x1.deccb4p+2 +0x1.b97cd6p+3 +-0x1.e8595ap+3 +-0x1.e8608ap+2 +0x1.29b278p+1 +0x1.2c5086p-6 +0x1.0c8efep-1 +0x1.8abba2p+2 +-0x1.701154p+1 +0x1.11c3p+2 +-0x1.fcebaap+2 +0x1.b7819ap+0 +0x1.c4abcep+2 +0x1.6ae4f4p-1 +-0x1.625d3p+1 +-0x1.4d1642p+4 +-0x1.6e78e8p+3 +0x1.ff57b4p+0 +-0x1.732f8p+3 +0x1.c60c8ap+3 +-0x1.6c0f72p-3 +0x1.6c6fccp+2 +-0x1.8770acp+3 +0x1.2e1f4p+2 +-0x1.8a5f1p-2 +-0x1.137b36p-1 +0x1.08318ep+2 +0x1.55dadp+2 +0x1.c697cap+2 +-0x1.7e14c4p+1 +0x1.c05afap+2 +0x1.10c38ep+1 +0x1.d456c4p+0 +0x1.8f5974p+2 +0x1.9e9302p+3 +0x1.27f39ap+3 +-0x1.1bbf7cp+2 +-0x1.be890cp-1 +0x1.a553d6p+2 +0x1.43939ep+2 +-0x1.4045e4p+3 +-0x1.35a0f6p+3 +-0x1.3422aap+2 +0x1.fa67b6p+3 +-0x1.3cc6fcp+3 +-0x1.b4a19p+2 +0x1.78175cp+1 +0x1.07b032p+4 +-0x1.39bc1cp+2 +0x1.7e1ecap+3 +-0x1.a8cdaap+2 +0x1.f5b0cap+2 +-0x1.e7061ap+2 +-0x1.323af2p+1 +0x1.8d033ap+2 +-0x1.a1a074p+2 +0x1.50cc42p-1 +-0x1.f56e5ep+2 +0x1.3859dap+2 +0x1.73203cp+2 +-0x1.8adde6p+2 +-0x1.d557aep-1 +0x1.36e46ep+0 +-0x1.f798a6p+0 +0x1.27b778p-2 +-0x1.3d6d94p+2 +-0x1.11e906p+2 +-0x1.deaedep+3 +-0x1.6c2686p+1 +-0x1.751cb6p+1 +0x1.7e5a44p+2 +-0x1.a1a944p+2 +-0x1.631e76p+2 +-0x1.4974eap+0 +-0x1.610c3ap-2 +0x1.64f79cp+1 +0x1.ef4876p+1 +0x1.3bf078p+4 +0x1.1b3054p-2 +-0x1.0d3a5p+1 +0x1.017ee4p+4 +-0x1.208ccp+3 +-0x1.5f084ep+3 +-0x1.2bc952p-1 +0x1.79882cp+2 +0x1.f213b8p+2 +-0x1.a1dee8p-3 +0x1.398bap+1 +0x1.2b9e3ap+3 +0x1.4c713ep+1 +0x1.27e9b8p+3 +0x1.b164eap+0 +0x1.adaf62p+3 +0x1.e9a2d2p+2 +-0x1.17544ap+3 +0x1.3276eap-1 +0x1.06a24p+1 +-0x1.3e403p+0 +0x1.d7766p+0 +-0x1.efad9ep+1 +0x1.e4a268p+2 +-0x1.2988d8p+2 +-0x1.35c038p+2 +-0x1.241db4p-5 +-0x1.2596bap+3 +0x1.487e36p-2 +-0x1.d574c6p-1 +0x1.9e272ep+3 +-0x1.baca84p+2 +0x1.9f22e2p+1 +-0x1.c073cap+0 +0x1.1633b2p+2 +0x1.63fdep+1 +0x1.3bf4p+0 +-0x1.242928p+1 +0x1.b44f6p+2 +0x1.35ef8ep+2 +0x1.a883ap+0 +0x1.01263ep+0 +0x1.43f43cp+3 +-0x1.272e42p+0 +0x1.cde266p+3 +-0x1.2759fcp+3 +0x1.53c2ap+2 +-0x1.3b002ap+2 +-0x1.a9d384p+2 +-0x1.c0ffa4p+3 +0x1.28be5ap+3 +0x1.dee24p+0 +0x1.00a382p+3 +-0x1.089956p+3 +0x1.202e38p+0 +0x1.1d9202p+0 +0x1.b4eabap+3 +-0x1.50679p+4 +-0x1.b0207ap+1 +0x1.15067ep+2 +0x1.33b2fep+3 +0x1.229d8ep+2 +-0x1.14bb16p+3 +0x1.06aa7ap+2 +0x1.b45904p+1 +0x1.715c2cp+3 +0x1.668408p+2 +0x1.f24d72p+0 +0x1.dbf50cp+3 +-0x1.938fbap+3 +-0x1.bbfd72p-1 +0x1.333e5ep+3 +0x1.05222ep-1 +0x1.8c6cd2p+3 +0x1.8f1b76p+1 +-0x1.02c5f6p+1 +-0x1.1713aap+0 +-0x1.a29ad4p+3 +-0x1.b6d618p+1 +-0x1.70b116p+0 +-0x1.d84738p+1 +-0x1.a232cp-1 +-0x1.85a58cp-1 +0x1.523a7ep+3 +0x1.e70aeep+1 +-0x1.5a1c98p+2 +-0x1.ed119p+2 +-0x1.792fd2p+0 +0x1.488072p+2 +-0x1.e435bep+1 +-0x1.e5248cp+2 +0x1.2ea91cp+2 +0x1.075236p+3 +-0x1.9fd766p-2 +0x1.d27774p+0 +0x1.a0de76p+3 +-0x1.779e1ap+2 +-0x1.9a63b2p+2 +0x1.4551cp+2 +-0x1.2bf0fp-1 +-0x1.ae0f78p+1 +0x1.afd4dcp+3 +0x1.34f0d2p+1 +0x1.69e272p+1 +0x1.2da5a4p+4 +0x1.a9cf96p+2 +-0x1.45019ep-1 +-0x1.10ff38p+0 +0x1.ce6a22p+2 +0x1.e60fc4p+0 +-0x1.ba4f24p+2 +0x1.bef6acp+1 +-0x1.f08f32p+0 +-0x1.827efp+1 +-0x1.814518p+2 +0x1.929f7cp+1 +-0x1.2e62cap+0 +-0x1.0b1e92p+3 +0x1.8b1da8p+1 +0x1.41a8c4p+2 +-0x1.c2ed34p+2 +0x1.23ff52p+3 +-0x1.797516p+2 +-0x1.6c4fcep-1 +0x1.31814p+1 +-0x1.19f828p+0 +0x1.4f28e4p+3 +0x1.9f7bep+0 +-0x1.01e82cp+1 +0x1.f24a98p+2 +-0x1.3785cp+2 +-0x1.28ddfp+3 +0x1.af2e4cp+2 +-0x1.bb9c34p+2 +-0x1.237384p+3 +0x1.216e94p+2 +-0x1.404f78p+0 +-0x1.d5f764p+2 +-0x1.6a54a4p+0 +-0x1.ea251ep+0 +0x1.e4d75cp+1 +-0x1.51d778p+3 +0x1.f0ffbep+0 +0x1.07cd9ap+1 +0x1.7291e8p+2 +-0x1.1542c4p+2 +0x1.16fa72p+2 +-0x1.68cf94p+2 +0x1.bda476p+3 +-0x1.a7b99ep+3 +-0x1.044f2cp+3 +0x1.f22e18p-1 +-0x1.05859ap+3 +-0x1.51373ep-3 +0x1.0ccfep+0 +0x1.217ce6p+3 +0x1.5f8346p+1 +-0x1.4855b8p+3 +-0x1.c67156p-1 +0x1.521736p-3 +0x1.2a6246p+2 +0x1.caa2ecp+0 +-0x1.682f24p+2 +-0x1.d0d90ep+3 +0x1.904d8p+2 +-0x1.d9bc36p+2 +0x1.b609dp+2 +-0x1.9a9a14p+2 +0x1.c9f6bp+0 +-0x1.ada57ep+2 +0x1.8fce24p+1 +0x1.ac55ep+2 +-0x1.0c3b9p+1 +0x1.a5e5b4p+1 +-0x1.0565e8p+2 +0x1.6da238p+0 +0x1.4f12f6p+4 +-0x1.ff2f3cp+3 +0x1.bef44ap+3 +-0x1.8801d6p-1 +-0x1.cbb29ep+1 +0x1.09dc7p+2 +0x1.4ac87p+3 +0x1.c6841p-7 +-0x1.6ef242p+3 +-0x1.fc85dep-1 +0x1.218a9p+3 +0x1.065246p+1 +-0x1.4bc35ap+3 +-0x1.503f56p+2 +-0x1.de0226p+2 +-0x1.7c16f2p+3 +0x1.be4304p+3 +0x1.a2e2c6p+3 +0x1.5f5178p+2 +-0x1.80f52p+2 +0x1.be8832p+3 +0x1.1e1ad8p+3 +0x1.88af12p+2 +0x1.56d51p+2 +0x1.2e8bcap+2 +0x1.7c2a16p+1 +-0x1.c3f246p+1 +0x1.62d52ap+3 +0x1.11083cp+3 +-0x1.7e2af4p+2 +-0x1.7da2eap+0 +0x1.506ffcp+0 +0x1.7ab5eap+0 +0x1.b77cacp-1 +0x1.7b3b4ep+3 +0x1.bbddc2p+2 +0x1.c509a2p+3 +0x1.489b68p+1 +-0x1.39b1e6p+3 +0x1.826b8p+3 +0x1.88115p+2 +-0x1.242f7ap+1 +-0x1.4b33fap+0 +-0x1.3ff7b2p+3 +0x1.e5c146p+2 +-0x1.0452ccp-3 +0x1.54f0f4p+0 +-0x1.2fe8f8p+2 +0x1.4b188cp+2 +-0x1.02805ap+1 +0x1.81a3dp+3 +0x1.61605p+0 +-0x1.88b9b4p+1 +0x1.adbdep+2 +0x1.ef8b78p+0 +0x1.6f0586p+2 +0x1.4a58a8p+1 +0x1.e0380ap+1 +-0x1.72ba7p+3 +0x1.b52668p-2 +-0x1.4730bap+4 +0x1.d2be6cp+1 +0x1.2b3592p+0 +-0x1.13802ep+3 +-0x1.1f41e4p+0 +-0x1.29929cp+1 +0x1.d3f8e6p+0 +-0x1.1b13ecp-1 +0x1.0ad204p+0 +-0x1.e96f94p+0 +-0x1.21e5d8p+2 +0x1.0dc04ep+2 +-0x1.fea528p-5 +-0x1.93dc6ap+1 +-0x1.680cd2p+4 +0x1.21f1f2p+2 +-0x1.060a6ep+4 +-0x1.1ff164p+3 +0x1.c5f56cp+0 +-0x1.0ccf4p+4 +0x1.12b196p+3 +-0x1.220a6p+1 +-0x1.5ef9ecp+1 +0x1.71cdb6p+2 +0x1.1b40f2p+3 +0x1.dae342p+0 +0x1.ceb356p+3 +0x1.028d0ap+2 +-0x1.0e4394p+0 +0x1.c96ec2p+0 +0x1.d86p+0 +-0x1.e6a31ap+2 +-0x1.318628p-1 +0x1.1e75dap-1 +-0x1.0d4c2p+3 +0x1.474a5ep+0 +-0x1.d37956p+2 +-0x1.a04d48p-1 +-0x1.04014cp+0 +0x1.658adp+1 +-0x1.0ff5d6p-3 +-0x1.3c05fcp-1 +-0x1.26c032p+3 +0x1.ad949cp+0 +0x1.502734p+2 +0x1.687e12p+1 +-0x1.82955ep+0 +-0x1.f0a28ep+2 +-0x1.934f9p+1 +0x1.9f3cp+1 +0x1.104162p+2 +0x1.250e94p+4 +0x1.cbb8b2p+2 +-0x1.4c7a3p+2 +-0x1.39dd92p+1 +-0x1.69653ap+2 +-0x1.9e5b08p+3 +0x1.cf9e7ep-1 +-0x1.f509a8p+2 +0x1.e6fb88p+1 +-0x1.153f08p+3 +-0x1.6dcd84p+3 +-0x1.d76b72p+3 +0x1.c56e2cp+3 +0x1.2fd78cp+2 +-0x1.53571ep+1 +0x1.1fc02cp+3 +0x1.867ed2p-4 +0x1.37ad48p-1 +-0x1.deccf2p+2 +-0x1.b404b4p-2 +-0x1.d85756p+1 +0x1.3e4dd6p+3 +0x1.32e094p+1 +0x1.b25072p+2 +-0x1.e1b734p+3 +0x1.36b69cp+3 +0x1.24780ep+3 +0x1.445c2ap-1 +-0x1.3612bcp+3 +-0x1.e53778p+0 +0x1.17896cp+3 +0x1.ea6b1p+0 +-0x1.53c8cap+2 +0x1.ea6f96p+2 +0x1.b4e004p+1 +-0x1.e2af58p+3 +0x1.0533a6p+3 +0x1.35b2bep+2 +0x1.a8aec6p+3 +-0x1.70f68p+2 +0x1.51f402p+2 +0x1.db0648p-1 +0x1.4e1964p+0 +0x1.a93094p+1 +-0x1.1026fep+2 +0x1.2b118p-1 +-0x1.1663b2p+1 +0x1.64f32ap+1 +0x1.76f538p+3 +-0x1.229edap-2 +-0x1.9d5422p+0 +0x1.663992p+1 +0x1.827424p+0 +0x1.56ef8ap+2 +-0x1.48c9fcp-8 +0x1.2c9096p+1 +0x1.f11c2ap+0 +-0x1.d30d84p+2 +0x1.7c24bp+2 +-0x1.a8496ap+2 +-0x1.8d426p+1 +0x1.2fee8ep+2 +0x1.2784b4p+2 +-0x1.fa3b2p+0 +0x1.5f32acp+1 +-0x1.d1bb1p+2 +-0x1.b9e65cp+0 +-0x1.b3d3b2p+2 +-0x1.6dbe7p+0 +0x1.a46e98p+3 +0x1.4cde12p+3 +-0x1.e842a6p+2 +0x1.a07a38p+1 +0x1.021d6cp+3 +-0x1.07a6aap+1 +0x1.684072p+4 +0x1.5a13a4p+1 +0x1.e2f996p-2 +-0x1.5ffafep+1 +0x1.b56388p+0 +0x1.7d238p-1 +-0x1.61af1cp+2 +0x1.b1891ep-7 +0x1.24984ap+3 +-0x1.89074p+3 +-0x1.ab4148p+3 +-0x1.dfbe18p-1 +0x1.9308cp+0 +0x1.c58a08p+3 +0x1.b362b4p+1 +0x1.57be1p-1 +0x1.be7d62p-3 +-0x1.020ca6p+4 +0x1.83ec8ap+2 +0x1.b2c478p+2 +-0x1.113a0ap+2 +-0x1.d382c8p+2 +0x1.7880f4p+1 +0x1.971a04p+3 +0x1.0fb78p+2 +-0x1.9719cap+0 +0x1.ea1f6ep-1 +0x1.32beaep+3 +-0x1.cf59e6p+2 +0x1.1b29dp+3 +-0x1.3a8dc8p+3 +-0x1.9329f8p+2 +-0x1.da33fap+0 +-0x1.6ef64cp+1 +0x1.5991fep-2 +-0x1.52cf36p-1 +0x1.081ab8p+1 +-0x1.a3029ep+3 +0x1.0dd4a2p+4 +0x1.b59a5p-3 +-0x1.365096p+0 +0x1.f8c28p+1 +0x1.2e34b2p+3 +0x1.76e0ccp+3 +0x1.7fc06cp+3 +-0x1.1fc044p+3 +-0x1.0ae6fcp+3 +-0x1.2c6562p+2 +-0x1.cc02a4p+2 +0x1.eed6e2p+3 +-0x1.95d15ap+3 +-0x1.c9bdbap+3 +-0x1.2286b8p+3 +0x1.059c14p+3 +-0x1.cd3fc2p+2 +0x1.6e093cp+2 +-0x1.4d1a16p+3 +0x1.fbe58cp+1 +0x1.bc4616p+1 +0x1.8efeaep-1 +-0x1.edf52cp+2 +-0x1.c75fdep+3 +-0x1.360ca4p+3 +-0x1.8316aap+1 +-0x1.d60076p-3 +0x1.2f8dccp+4 +0x1.dcda46p+2 +-0x1.59eddp-3 +0x1.4b4d1ap+0 +0x1.33462p+3 +-0x1.29ca76p+2 +-0x1.be1556p+2 +0x1.ea0cp+1 +-0x1.ce3404p+1 +0x1.29be4cp+2 +-0x1.e1bb82p+2 +0x1.ea0ff4p-2 +0x1.923c72p-1 +-0x1.4884c2p+3 +0x1.152026p+4 +0x1.d299f4p+2 +0x1.0386c8p+4 +0x1.00ec54p+0 +-0x1.0a6d14p+2 +0x1.0269a4p+2 +0x1.563868p+2 +-0x1.b712cap+0 +0x1.1f2cd4p+0 +0x1.ed4bep-1 +-0x1.a29e18p-2 +-0x1.069dcp+3 +-0x1.050c8ap+2 +0x1.90271cp+3 +0x1.17cf9ap+2 +-0x1.917cap+1 +0x1.15f86p+4 +0x1.b87e36p+3 +0x1.7ae312p+1 +-0x1.c5c72cp-1 +-0x1.eb5c14p+1 +0x1.2db7cep+4 +0x1.917df8p+3 +0x1.0032d2p+3 +-0x1.c04d52p+0 +-0x1.658aacp+3 +-0x1.def7a4p+2 +0x1.1ba39ap+3 +-0x1.e29c2ep+3 +-0x1.3a92f6p+2 +-0x1.018406p+1 +-0x1.a1bb46p+2 +-0x1.cd19acp+1 +-0x1.48b60ep+1 +-0x1.bd3504p+0 +-0x1.c46618p+3 +0x1.bf977ep+0 +0x1.442b1ap+3 +-0x1.a5f17p+0 +-0x1.f0471p+2 +-0x1.49c53ap+2 +0x1.99798ep+0 +0x1.10e0a4p-1 +0x1.91aab6p+2 +-0x1.28062ap+3 +0x1.849f54p+0 +-0x1.2aefep+3 +-0x1.53a44ep+3 +0x1.24baa6p+3 +0x1.5d3f82p-2 +0x1.539ccep+1 +0x1.1d375ep+4 +-0x1.c6813p-3 +0x1.6b2458p+2 +0x1.7b8b68p-1 +-0x1.67befp+2 +0x1.ba7dp+0 +0x1.6f2d8ap+1 +-0x1.4e682ep+2 +-0x1.866034p-1 +-0x1.a8b234p+2 +-0x1.5b18fp+3 +-0x1.43970cp+2 +0x1.2cbe72p-2 +-0x1.26b7cp+3 +0x1.194518p+1 +-0x1.d7ef26p+2 +0x1.6bd3bep+2 +0x1.2d60d6p+3 +0x1.4e2a48p+1 +-0x1.9bc726p+2 +0x1.6521f8p+3 +0x1.3246dcp+1 +-0x1.80003p+1 +-0x1.1678p+3 +-0x1.14856p+4 +0x1.54ed1cp+3 +-0x1.2eefa8p+1 +0x1.97c2d4p+1 +-0x1.142d7cp+3 +-0x1.796aaap-1 +0x1.0f1c94p-4 +0x1.546bc4p+4 +-0x1.998eb2p+1 +0x1.25fa9p+2 +0x1.fc34f6p+2 +-0x1.6999cap+3 +0x1.52bfeep+1 +0x1.564f16p+2 +-0x1.aeebaap+1 +0x1.99268ap-2 +-0x1.ee66bp+1 +-0x1.1c6a18p+2 +0x1.435e7ep-1 +0x1.76cc2ep+4 +-0x1.83fc52p+1 +0x1.8a7a8p+1 +0x1.03605cp+2 +0x1.add1eap-1 +-0x1.12d562p+3 +-0x1.b48c3p+1 +0x1.6b3ae4p-3 +0x1.173f84p+4 +-0x1.1c5cfap+3 +0x1.67d708p+3 +0x1.46b33p-1 +-0x1.95dc2p-2 +-0x1.fb3326p+0 +-0x1.d185f6p+2 +0x1.7f29d6p+3 +0x1.404b72p+2 +-0x1.d55568p+2 +-0x1.6dfd1cp+3 +-0x1.ec906ep+2 +-0x1.685456p+2 +-0x1.fe44a2p-1 +-0x1.eb8fdcp-3 +-0x1.762efap+0 +0x1.d80ad8p+3 +-0x1.486074p-3 +0x1.0a8cf2p+3 +-0x1.216b44p+4 +-0x1.5c978cp-3 +0x1.823b3p+3 +0x1.218d2ep+2 +-0x1.2f5176p+3 +-0x1.c4b98p+3 +0x1.4b06dcp+2 +0x1.9ac9d8p+3 +-0x1.f65788p+1 +-0x1.6a96ep+3 +-0x1.b56508p+3 +0x1.03ba24p+2 +-0x1.00f62cp+3 +-0x1.290906p+3 +0x1.200272p-2 +0x1.02cdd8p+3 +-0x1.c1df0ap+1 +0x1.62082cp+4 +-0x1.38363p+4 +0x1.05e18cp+3 +0x1.b4f518p+2 +0x1.5d5d26p+2 +-0x1.1bd404p+3 +0x1.1ed7d2p+3 +-0x1.2b02a8p+1 +0x1.86837p+1 +0x1.86cc4ap+3 +0x1.0faedep+3 +0x1.ff5698p+3 +-0x1.94f97ap+1 +0x1.e3ca74p+1 +-0x1.4e0fbcp+2 +0x1.4f04d2p+3 +0x1.118368p+3 +0x1.1cf136p+2 +0x1.c262bcp+2 +0x1.c4462cp+0 +0x1.c7e2aep+3 +0x1.0ea45cp+3 +0x1.70b79cp+2 +-0x1.809facp+3 +0x1.073ac8p+4 +-0x1.00e0b4p+4 +0x1.18653cp+2 +-0x1.2914dcp+2 +0x1.1a0ff8p+0 +0x1.a48fbp-1 +-0x1.b7f86cp+2 +0x1.cf689cp+1 +-0x1.4df39p+2 +0x1.3d9148p+2 +0x1.04d87p+0 +0x1.183f9p+3 +0x1.131824p+2 +-0x1.cae47cp+3 +-0x1.72a1c2p+2 +-0x1.3d1ec8p-4 +-0x1.051fbcp+3 +-0x1.dd8fcap+0 +0x1.ac2c58p+3 +0x1.cf0ef6p+0 +0x1.2a15bcp+3 +-0x1.6458bap+1 +0x1.3dfbap+3 +0x1.acce48p+1 +-0x1.4a6c2ap+2 +0x1.0d65ep+3 +-0x1.ef75c4p+3 +0x1.585048p-2 +-0x1.1aa7e2p+3 +-0x1.d7ae6cp+0 +-0x1.dabe96p+1 +-0x1.42dc8p-2 +-0x1.e3ffp+2 +-0x1.567bdp+3 +0x1.45e4cap+2 +-0x1.490a68p+3 +-0x1.0f8e2p+3 +0x1.6b87dep-1 +-0x1.948dp+1 +0x1.215098p+4 +0x1.91ff1p+2 +-0x1.3af3c2p+2 +-0x1.b26978p+2 +0x1.9b8ef8p+1 +0x1.4fc9ccp+2 +0x1.336984p+1 +0x1.249b54p+3 +-0x1.360a5cp+3 +0x1.6a3caep+3 +0x1.08101ep+4 +-0x1.ecf65cp+0 +0x1.62cadap+0 +-0x1.06112ep+2 +0x1.991d78p+2 +0x1.606aep+3 +-0x1.070714p+0 +-0x1.562a98p-1 +-0x1.dc5e96p+2 +-0x1.83bc2ep+1 +0x1.5f291cp-3 +0x1.0aca6ap+0 +0x1.0c56dp+3 +-0x1.9d0918p+1 +0x1.49ad48p-3 +0x1.990464p+2 +0x1.06002cp-2 +-0x1.f13c1ep-1 +-0x1.180a16p+1 +-0x1.8f8b4ep+3 +-0x1.1649f2p+3 +-0x1.97f9eap+1 +-0x1.4fe618p+2 +-0x1.a5f2b2p+0 +0x1.10b602p+0 +0x1.e5f17p-1 +0x1.f010c6p+2 +-0x1.18296ep+0 +-0x1.3d588cp+0 +-0x1.6d5964p+3 +-0x1.9dca2ap+1 +0x1.257a96p+3 +0x1.642d04p+0 +-0x1.ead32cp+3 +-0x1.47b2dp+3 +-0x1.319552p+3 +0x1.03d558p+3 +0x1.c00ae2p+3 +-0x1.8fab24p-1 +0x1.3549ccp+3 +0x1.007aa6p+2 +0x1.457e7ap+2 +0x1.18726cp+2 +0x1.13ddb4p+1 +-0x1.03641ep+2 +0x1.4c7becp+3 +-0x1.a59092p+1 +0x1.2641cap+2 +0x1.156662p+4 +-0x1.e0f6fcp+3 +0x1.05feecp+4 +0x1.ff5eaap+3 +-0x1.54405ap+2 +0x1.705f56p+2 +-0x1.bdd2e2p+1 +0x1.d1237p+1 +0x1.6718eep+2 +-0x1.57e652p+3 +-0x1.79544ep+1 +-0x1.16d64p+3 +-0x1.1ac906p+3 +-0x1.e85af4p+2 +0x1.bb11c6p+0 +0x1.7f800ep+2 +0x1.3d5614p+3 +-0x1.cb8fc6p+1 +-0x1.38784cp+3 +-0x1.4ab4fap+0 +0x1.1f01a2p+3 +0x1.3dd5b8p+2 +-0x1.ffa216p+0 +0x1.476134p+1 +0x1.e5787cp+1 +-0x1.f9e446p+1 +-0x1.93e5d2p+1 +0x1.4357fap+2 +-0x1.4f73ep+1 +0x1.9d7f48p+3 +-0x1.f46b4cp-1 +0x1.4cc132p+0 +0x1.3e01aep+3 +-0x1.b8cd7cp+1 +0x1.17734cp+0 +-0x1.4d84b6p+4 +-0x1.5e3c2cp+0 +0x1.39600cp+3 +-0x1.d9fed2p+2 +0x1.cf3dfp+2 +0x1.97d41ap+3 +0x1.ee4f3ep+2 +0x1.e971dap-1 +-0x1.89719cp-1 +0x1.7a6966p-1 +0x1.323646p+3 +0x1.9afe16p-1 +-0x1.f26d5ep+2 +-0x1.32b2dp+2 +0x1.c7fba6p-3 +-0x1.016d02p-2 +-0x1.29eb78p+1 +-0x1.0abdfp+2 +-0x1.83caeep+3 +-0x1.e77142p+3 +-0x1.d2a6bep+1 +-0x1.0b184ep-1 +-0x1.2f8bb2p+4 +-0x1.b2a8bap+2 +0x1.900b1ep+3 +-0x1.f1c7ecp+1 +0x1.810202p+1 +0x1.2c9fc4p+0 +-0x1.f03356p+3 +-0x1.9fd06ep+3 +0x1.9d463ep+3 +-0x1.3acaaap+3 +-0x1.6968e6p+3 +-0x1.b4160ap-3 +-0x1.6b96b2p+2 +-0x1.50589ap+0 +-0x1.54df2ap+3 +-0x1.2f7d76p+3 +0x1.b05bd4p-3 +0x1.40ed04p+2 +0x1.228e5ep+3 +-0x1.112b6p-1 +-0x1.be5892p+2 +-0x1.c6a59ap+3 +0x1.a56efp+1 +0x1.918a52p+0 +0x1.2d04aep+1 +0x1.1aa9f2p+1 +0x1.0eb2acp+3 +-0x1.a38a2cp+3 +0x1.c2fa24p+1 +0x1.ec9bc2p+2 +-0x1.171818p+2 +-0x1.38933ep+4 +0x1.8107eap+3 +0x1.96ff2cp+2 +0x1.188cd6p+0 +-0x1.3e4344p-6 +-0x1.2bfef2p+2 +-0x1.076554p+2 +-0x1.4afc24p+2 +0x1.1aa984p+3 +-0x1.85ce3p+3 +0x1.18a6e4p+0 +-0x1.bf4e26p+2 +0x1.b00866p+1 +-0x1.47b5aap+2 +-0x1.369f8ap+2 +0x1.6ef53ap-1 +-0x1.bdb7c6p+3 +0x1.5259b4p+2 +-0x1.8852bp+3 +0x1.0232c6p+1 +0x1.daed1ep+1 +0x1.2c7a8ap+2 +0x1.9331fp+3 +-0x1.557626p+2 +-0x1.146f9ep+3 +-0x1.28a022p+2 +-0x1.a2228ep+3 +0x1.0b5b48p+3 +0x1.d73f7ep+1 +-0x1.4a3f8cp+1 +-0x1.5018e8p+1 +-0x1.72153ep+3 +0x1.a8f7b2p+3 +-0x1.26c92cp-1 +-0x1.3ca7f8p+4 +0x1.025412p+1 +-0x1.5a8bbap+3 +0x1.84ab42p+1 +0x1.d44e1cp+3 +0x1.dc0de4p+3 +0x1.87509p-2 +0x1.c4356p+0 +-0x1.20f616p+2 +-0x1.3dc2bep+3 +-0x1.06ed8ep+2 +0x1.4d3d7p-2 +-0x1.dd5742p+1 +0x1.e7d5fep-1 +-0x1.d54bacp+2 +-0x1.2ce968p+3 +-0x1.41ab3ep+2 +0x1.44f836p-6 +0x1.516194p+2 +-0x1.a7bbf8p+2 +-0x1.217622p+4 +-0x1.9fdd64p+2 +0x1.42b618p-6 +0x1.ad52dep+1 +-0x1.a0565ep+3 +-0x1.64508ap+2 +0x1.8d2202p-2 +-0x1.7d311cp+2 +-0x1.5ddfbap+3 +0x1.c135fap-1 +0x1.01478ap-1 +-0x1.3333aap+3 +-0x1.4496a2p+3 +-0x1.711ea6p+3 +-0x1.755ecp-7 +0x1.1ac204p-5 +-0x1.d88bd4p+0 +0x1.6dce5p+2 +-0x1.16dc0cp+4 +-0x1.27c77cp-1 +-0x1.906e9ep+0 +0x1.18e9b8p-3 +-0x1.2e8c2cp+3 +-0x1.9fb4a6p+2 +-0x1.2c24bap+2 +-0x1.ac2c6ep+1 +-0x1.d221a6p+3 +0x1.d71f28p+1 +-0x1.630a7ap-1 +0x1.5cb6bcp+3 +-0x1.4d706ep+2 +-0x1.81db16p+3 +0x1.1d45ecp+2 +-0x1.bbd304p+2 +0x1.692926p+2 +0x1.a623aep-1 +-0x1.080956p+1 +-0x1.8c6be4p+3 +-0x1.b92f88p-1 +-0x1.4ef9f2p+3 +0x1.67160ap+3 +-0x1.b2203cp-2 +-0x1.1247dep+3 +-0x1.fd09cep+3 +0x1.d43b42p+3 +0x1.2248fep+3 +0x1.36f16p-3 +-0x1.62a91ap+3 +0x1.c5cf3p+2 +-0x1.df6c8cp+2 +-0x1.f943acp+0 +0x1.51a9cap+2 +-0x1.9108fap+2 +0x1.fe4862p+1 +-0x1.04fffp+1 +-0x1.d641c8p-3 +-0x1.f9d3d6p+0 +-0x1.ee6296p+0 +-0x1.94a686p+1 +0x1.a7c516p+2 +0x1.a1f55ep+0 +0x1.86dca4p+0 +0x1.38018cp+2 +-0x1.ba118p+3 +0x1.fc074ap+1 +0x1.0ea0d8p+3 +-0x1.0efba6p+1 +-0x1.17c456p+2 +-0x1.596f72p+0 +-0x1.392248p+3 +0x1.5122ep+3 +0x1.f0ef8p+0 +0x1.bfebe6p+0 +-0x1.f4b12ep+2 +-0x1.c8731ap+2 +0x1.31dd68p+3 +-0x1.a303a4p-4 +0x1.4e86c8p+3 +0x1.1a56eep+3 +-0x1.7238cep+3 +0x1.83510cp+2 +0x1.32953ap+1 +-0x1.e298a4p+0 +0x1.cc7238p-1 +-0x1.094404p+1 +0x1.11645ap+1 +0x1.fbafb2p+1 +-0x1.32942cp+1 +-0x1.e337p+3 +0x1.04b988p+2 +0x1.a4e32ep+3 +-0x1.6e6b6cp+1 +-0x1.10709cp+3 +-0x1.48d7f6p+3 +-0x1.cc1444p+3 +0x1.87c2ep+1 +0x1.cb2c2p+2 +-0x1.c6295ep+3 +-0x1.218ee2p+2 +-0x1.79fe36p+1 +-0x1.7c6872p+0 +-0x1.9e64f8p+3 +0x1.99936ap+3 +-0x1.5862d6p+4 +-0x1.b02166p+1 +-0x1.99318p-2 +-0x1.e066f6p+1 +-0x1.620d2p+1 +-0x1.2d339cp+2 +-0x1.8d62fap+3 +-0x1.00e28ap+4 +-0x1.228056p+2 +0x1.650becp+2 +0x1.add9cep+2 +0x1.9234p+3 +0x1.67b7ep+2 +0x1.25eda2p+3 +-0x1.5a3b46p-1 +-0x1.5c45bcp+0 +0x1.627c98p-1 +0x1.6a81eep+3 +0x1.8da70ap+0 +-0x1.26483ap+0 +0x1.09922ap-1 +-0x1.ae35d6p+3 +-0x1.d0244cp+0 +-0x1.d76602p+2 +-0x1.5802e8p+3 +0x1.5ea6b8p+4 +-0x1.2cbb8p+3 +-0x1.219d9cp+2 +-0x1.86f4a4p+2 +0x1.be4ac6p+2 +-0x1.9f4dc6p+2 +-0x1.0ce498p+0 +-0x1.2710cap+3 +0x1.d7f332p+1 +0x1.ea8f9ap+1 +0x1.bbbb08p+2 +-0x1.da4784p+2 +-0x1.a8eeb8p-2 +0x1.9fcc2p+3 +-0x1.59a33p+3 +-0x1.9f049cp-1 +0x1.4b15aap+2 +-0x1.2b1f28p+4 +-0x1.a43ecap+3 +-0x1.05965cp+3 +0x1.6fa45ep+3 +-0x1.e90b1ap+2 +-0x1.a6fa42p+2 +-0x1.454526p+2 +0x1.078a8cp+4 +-0x1.fe4f1ep+2 +0x1.032e9ep+2 +0x1.5afe8ap+1 +-0x1.54094cp+2 +0x1.8124ccp+2 +0x1.80e338p-1 +-0x1.45ae58p-2 +-0x1.44c552p+2 +0x1.9542f4p+1 +0x1.943224p+3 +0x1.9edd1ap+1 +-0x1.61b202p+3 +0x1.cabf4cp+1 +-0x1.e190cep+0 +0x1.15f088p+3 +0x1.600cf4p+3 +0x1.277e06p+2 +0x1.036adcp+3 +-0x1.069f94p+0 +-0x1.1d4d02p+3 +-0x1.7b7f4p+2 +-0x1.20c724p+4 +-0x1.584b22p+3 +-0x1.06c72p-1 +-0x1.0c2c58p+1 +0x1.3564ap+3 +0x1.28c146p+2 +-0x1.4304dp+3 +-0x1.92769p+1 +0x1.888d26p+2 +-0x1.dfdd72p+0 +0x1.bfd58cp+0 +-0x1.806cep+3 +0x1.bf46p-3 +-0x1.7db2d8p+1 +-0x1.07b6fp-3 +0x1.1771p+2 +0x1.b17e6ap+0 +0x1.29cdap+3 +-0x1.2727a4p+1 +0x1.cdd90ep-1 +0x1.dd3dbp+2 +-0x1.41b092p+0 +-0x1.8777d2p+0 +0x1.3683c8p+0 +0x1.18abeep+2 +-0x1.6a2fb6p+2 +0x1.9c994p+1 +-0x1.dd0cd2p+2 +-0x1.89bb84p+3 +-0x1.450daep+2 +0x1.1db3aap+2 +-0x1.5253d6p+3 +-0x1.773fccp+4 +-0x1.44725ep+0 +-0x1.85e306p+2 +-0x1.248a4cp+3 +0x1.07cac4p+4 +0x1.606b66p+2 +-0x1.d48072p+1 +0x1.80ae08p+4 +-0x1.0f4b2cp+0 +0x1.6caad8p-1 +-0x1.f1d072p+2 +0x1.582ecp+1 +-0x1.22fa58p+3 +0x1.1e013cp+4 +0x1.b3b696p+2 +0x1.26d7b6p-2 +0x1.76144cp+2 +-0x1.1561b4p-2 +-0x1.4fbc6ep+2 +0x1.c7934ep+3 +-0x1.e43558p+3 +-0x1.3214ecp+2 +-0x1.150fcep+3 +0x1.ff5b86p-1 +0x1.0b2b7p+3 +0x1.335c9cp+3 +-0x1.953d56p+0 +0x1.8d2b92p+0 +0x1.bae886p+3 +0x1.167fep+1 +0x1.51a208p-2 +0x1.8e2d5ap+3 +0x1.8bd952p+3 +0x1.0c35b2p+1 +-0x1.07462ep+3 +-0x1.079572p+1 +-0x1.7b042p-1 +-0x1.6584ep+1 +0x1.1dfed4p+0 +-0x1.ba50d2p+1 +0x1.e29c9cp+2 +0x1.92f14ep+1 +-0x1.39170ep+1 +-0x1.8693dp+2 +0x1.2dbb1cp+3 +-0x1.5db2b8p-2 +0x1.be8404p+3 +0x1.ecfab4p+0 +-0x1.1fb894p+2 +0x1.9b7ccap+3 +-0x1.1a63dcp+4 +-0x1.b3a794p+2 +0x1.355976p+2 +-0x1.6d0ef2p+3 +0x1.2fc69cp+3 +-0x1.3de742p+3 +-0x1.72451p+3 +-0x1.9e1fc2p-4 +-0x1.d52816p+2 +-0x1.0f426ap+4 +-0x1.75a2d2p+1 +0x1.cb7f68p+0 +0x1.fa0344p+0 +-0x1.121f4cp+3 +-0x1.271f4cp+2 +-0x1.de4e4p+1 +0x1.84feeep+3 +-0x1.4bf83p+1 +-0x1.70a0cep+3 +-0x1.82e932p+2 +0x1.e5442ep+1 +-0x1.7edcd2p+3 +0x1.7ba93ep+3 +-0x1.1cc26cp+3 +-0x1.0d3a88p-1 +0x1.c9e902p+1 +0x1.1e397p+3 +0x1.2d37a4p+4 +-0x1.7bdd62p-1 +-0x1.02b03ap+4 +0x1.c7e04p+3 +-0x1.8619f8p-6 +-0x1.86dd5ep+3 +-0x1.c3f384p+0 +0x1.0b6f22p+2 +-0x1.a5b24ep+4 +0x1.8f9b32p+2 +0x1.3f1eeep+3 +-0x1.79bb44p-3 +0x1.405dfp+3 +0x1.7810fep+3 +0x1.59039ep+3 +-0x1.533b7ep+2 +-0x1.847b9cp+3 +0x1.90b914p+3 +0x1.0f6932p+3 +-0x1.7e3a5ap+2 +0x1.0a82d2p+3 +0x1.7dae4ap+0 +0x1.fa8bb4p+1 +0x1.2ae8p-1 +-0x1.a4ebb4p+2 +0x1.334a7cp+2 +0x1.8ca71ap+3 +0x1.482d3p+0 +-0x1.30929ep+2 +-0x1.80e35ep+2 +0x1.03de5p+4 +0x1.d4c766p-10 +0x1.138c14p+4 +0x1.7f977ep+1 +-0x1.0d82ep+1 +0x1.8771f6p+1 +-0x1.a59fc8p+2 +-0x1.5acebep+4 +0x1.943dbep+2 +-0x1.6b5f68p+1 +-0x1.116522p+2 +0x1.a468ecp-2 +-0x1.4413d6p-1 +0x1.b61754p+2 +-0x1.3d3638p+4 +0x1.307aap+2 +-0x1.f0e568p+1 +-0x1.2c4794p+2 +-0x1.b2cdd8p+2 +0x1.a5a8cep+2 +0x1.012dd6p+2 +-0x1.f3f682p-1 +0x1.9b817ap+0 +0x1.7a51bp+0 +-0x1.a4ad3p+2 +0x1.e40b96p-1 +-0x1.6330bep+3 +0x1.af60ep+2 +-0x1.3cc692p+3 +0x1.138622p+1 +-0x1.0584f8p+1 +0x1.1d6246p+2 +0x1.d5e8c4p+2 +-0x1.e79712p+2 +0x1.ad9732p+2 +0x1.9697c6p+2 +-0x1.e3f9c8p-3 +-0x1.feaeb2p+1 +-0x1.dea8dp+0 +0x1.4ec636p+3 +-0x1.5f8228p+2 +-0x1.e8ac1ap+0 +0x1.1d467ap+1 +-0x1.9bd878p-2 +0x1.1f0e94p+3 +-0x1.8da4c4p+2 +-0x1.1bd46ap+4 +-0x1.9cbb36p+1 +0x1.764c24p+2 +-0x1.80412ap+3 +0x1.50b8fep+2 +-0x1.bb657ap-1 +-0x1.3927dap-3 +-0x1.fc76eap+2 +0x1.8404e6p+0 +-0x1.62dd12p-1 +0x1.85ad44p+1 +-0x1.76574cp-4 +0x1.9673fp-1 +-0x1.817e4ap+2 +-0x1.41fe3cp+2 +-0x1.87ea26p+2 +0x1.49d826p+1 +0x1.94c504p-1 +-0x1.936702p-3 +-0x1.5e0854p+3 +0x1.7526e4p+2 +0x1.3c73d4p+2 +-0x1.44c8d8p+2 +0x1.aa17b6p+3 +-0x1.abbbf4p+1 +-0x1.935e2cp+2 +0x1.fbf998p+3 +-0x1.460f66p+2 +0x1.99d664p+1 +-0x1.9ad506p+3 +0x1.65a63p-2 +-0x1.54cfap+0 +0x1.5c25b8p+1 +0x1.75acf6p+3 +-0x1.030ebcp+2 +0x1.638e1ep+3 +0x1.7a132ap+1 +-0x1.6ad65cp+1 +-0x1.8b3d6cp+1 +-0x1.42b04p+1 +-0x1.7c9dfep+2 +-0x1.4cfbf8p+2 +-0x1.2efc82p+4 +0x1.b9edfap+3 +0x1.09a334p+2 +0x1.68ff7cp+3 +0x1.f863aep+1 +-0x1.276972p+1 +-0x1.b80c5ep+2 +-0x1.1d73eep+1 +0x1.1d386ep+4 +-0x1.15e4f4p+2 +-0x1.5f5f7cp+2 +-0x1.5526fap+2 +-0x1.e62d7ep+2 +-0x1.97d38cp+1 +0x1.06a988p+3 +0x1.e77978p+2 +-0x1.35eb76p+3 +0x1.b4feecp-1 +-0x1.c2e0b8p+1 +-0x1.f41c4ap-3 +0x1.d50ffp-1 +0x1.007b54p+2 +-0x1.d7f8bap+0 +0x1.1e4004p+2 +0x1.cf7be2p+0 +-0x1.edec2ap+2 +0x1.2787eep+2 +-0x1.863314p+0 +0x1.c54666p+3 +0x1.c92824p+2 +0x1.3d837p-1 +-0x1.630adcp+2 +-0x1.23fce4p+1 +-0x1.17b1ccp+3 +-0x1.5bafd2p+3 +-0x1.257704p+2 +0x1.a2fd4p+1 +-0x1.21a3c2p+1 +0x1.8d04fep-1 +-0x1.900132p+0 +0x1.74be2ap+3 +0x1.883dap+3 +-0x1.cbf06p-3 +-0x1.b69ba8p+0 +0x1.94aa22p+2 +0x1.911eaep+2 +0x1.f58ab6p+1 +0x1.6b1ecep+3 +-0x1.91bbfcp+2 +0x1.e99e7ap+3 +-0x1.5bd168p-1 +-0x1.815594p+2 +0x1.0538fp-2 +-0x1.d823ecp+2 +0x1.a7811ep+2 +-0x1.37a606p+3 +-0x1.14bb9ep+1 +0x1.2298d6p+0 +0x1.5d9d62p+2 +0x1.985deep+2 +-0x1.0b836ap+2 +-0x1.e1af8p+3 +-0x1.a0a29p+2 +0x1.5ed4c6p+3 +-0x1.4f572p+2 +0x1.88016ap+3 +0x1.ce82e8p+2 +0x1.7868e8p+3 +-0x1.825968p+2 +-0x1.2dfec2p+1 +0x1.86b9d4p+2 +0x1.b2fe34p+3 +-0x1.b9a9d6p-1 +0x1.048f2ep-3 +-0x1.cdb44cp+2 +-0x1.40301ep-1 +-0x1.6cb2e2p+1 +-0x1.625ccep+2 +-0x1.bdaf8ap+3 +-0x1.4987d8p+2 +0x1.59c57p+2 +-0x1.77e1d6p+1 +-0x1.6b0ae4p+1 +-0x1.542d84p+3 +0x1.489b3ap+2 +-0x1.521b3ep+1 +0x1.fac358p-2 +0x1.46ab06p+1 +-0x1.d95bf2p+2 +0x1.491ba6p+3 +-0x1.47e024p+3 +0x1.2c4402p+4 +0x1.736228p+3 +0x1.aed0eep+2 +0x1.f01eb8p+3 +0x1.e8ceaap-2 +-0x1.6b7314p+3 +-0x1.9d3b5p+2 +-0x1.0b7a36p+0 +0x1.0f9026p+1 +-0x1.031e04p+3 +-0x1.077e4ap+3 +-0x1.f5758p+3 +0x1.697cdcp+0 +-0x1.65d80cp+1 +-0x1.2d790cp+2 +-0x1.72e49ap+2 +-0x1.3e616p+2 +-0x1.1609e4p+3 +-0x1.b57362p+0 +-0x1.8fcda6p+0 +0x1.6bf0a4p+2 +0x1.ad48c2p+1 +-0x1.890358p+3 +-0x1.cdc0fep-1 +-0x1.3a5574p+2 +-0x1.2fb996p-2 +-0x1.b916e8p+3 +-0x1.ec6558p-4 +0x1.b89364p+3 +-0x1.f96ce8p+3 +-0x1.f7c0e6p+0 +0x1.8c4aaep-2 +-0x1.6ff716p+2 +0x1.5325ecp+1 +0x1.1ba37p-6 +-0x1.2015fep+4 +-0x1.8da66ap-1 +-0x1.159efep+3 +-0x1.1a5f28p+2 +-0x1.af5ae2p+2 +-0x1.6c16p+1 +-0x1.079bbep+2 +-0x1.6a98d4p+2 +0x1.09ea74p+2 +0x1.ecfe0cp+1 +0x1.f8472cp+1 +0x1.a4ef6p+1 +-0x1.8123ap+2 +0x1.5387fcp+2 +-0x1.80dc1cp+2 +0x1.50ab5cp+1 +0x1.71d882p+0 +-0x1.524fd4p+0 +0x1.44580cp+2 +0x1.bcf5e6p+2 +-0x1.ec2f52p+2 +-0x1.d881cep-1 +0x1.5588c6p+3 +0x1.5ecb5ap+1 +-0x1.228f88p-2 +-0x1.4fea72p-1 +0x1.59f8cap-2 +0x1.cbdcf4p-1 +0x1.31fb3p-1 +0x1.f92abcp+2 +-0x1.a8b95ep+1 +-0x1.83ff64p+2 +0x1.de453ep+0 +-0x1.70b986p+2 +0x1.da1c68p+3 +0x1.21b5b4p+3 +0x1.d2127ap+3 +0x1.83719cp+2 +-0x1.a4349cp+2 +0x1.b878b8p+3 +0x1.6a370ep+1 +-0x1.118e54p+3 +-0x1.3df8b6p+1 +0x1.8a5014p+3 +0x1.a68deep-2 +0x1.8bdbe2p-1 +0x1.9a65a4p+2 +-0x1.7f251p+1 +-0x1.3b1f2p+2 +-0x1.345fb2p+1 +-0x1.75771ep+1 +-0x1.e112e6p+1 +-0x1.ec1426p+0 +0x1.c4f346p+3 +-0x1.4b57ep+2 +0x1.ffb67p+2 +-0x1.01df0ep+2 +-0x1.15df94p+3 +-0x1.a170f6p+2 +-0x1.d992ep+0 +-0x1.2baf74p+2 +0x1.a85186p+1 +0x1.abcea8p+1 +0x1.ab7cbap+3 +0x1.42e69ap+0 +-0x1.9d0814p+3 +-0x1.0b9938p+2 +-0x1.0e3fdap-2 +-0x1.b699fp-3 +0x1.bb03a4p+1 +0x1.2fb4aep+2 +0x1.03cfa4p+4 +-0x1.abf1b8p-1 +0x1.613976p+4 +0x1.dd2618p+2 +0x1.275076p+1 +-0x1.84c576p-4 +0x1.7042a2p+0 +0x1.c82e92p+1 +-0x1.a57daap+1 +0x1.66a4dep+3 +0x1.c6a39ap-2 +0x1.29cfbcp+3 +0x1.89c30ap+1 +-0x1.762f1ep+2 +0x1.bfb29p+3 +0x1.8229ecp-1 +0x1.fab966p+0 +0x1.88906p+3 +-0x1.db54dcp+2 +-0x1.21161ap+1 +0x1.6df6d2p+3 +0x1.0259a8p+1 +0x1.7c3ad6p+3 +0x1.6422f8p-1 +0x1.9b092p+0 +-0x1.c06bbep+1 +-0x1.70ed12p+2 +-0x1.25d4fap+4 +0x1.5d7ffp+3 +0x1.9a3d98p+3 +-0x1.b4645p+0 +0x1.a72812p-2 +-0x1.eba0cp+3 +0x1.a5e5f6p+1 +-0x1.7288ap+2 +-0x1.8935cap+2 +-0x1.2a829cp+3 +-0x1.48ebdcp+2 +0x1.5419fcp+3 +-0x1.50327ep+2 +0x1.5e3d5cp+2 +0x1.0d9ddap+4 +0x1.82002ep-4 +-0x1.81246ap+1 +0x1.1ded02p+3 +-0x1.f34346p+0 +0x1.61f206p+3 +0x1.39cca6p+1 +-0x1.8a8c7ap-1 +-0x1.e29c88p+1 +0x1.361954p+1 +0x1.17da7cp+2 +0x1.18ca1p-2 +-0x1.6b7288p+2 +0x1.56ccbep-3 +0x1.73c642p-1 +0x1.87c68cp+2 +0x1.d69c54p+2 +-0x1.726e54p+2 +0x1.4db076p+2 +-0x1.43661cp+4 +-0x1.0a6bcap+3 +-0x1.27821p+3 +0x1.ca9d5cp-2 +0x1.290ac4p-1 +0x1.f61ebap+3 +-0x1.1584dp+2 +0x1.0b8bf2p+3 +-0x1.51999p+2 +-0x1.3e2acp+0 +0x1.e7b494p+1 +0x1.0c4822p-3 +-0x1.165632p-2 +0x1.f02bc2p+0 +0x1.35c696p+2 +0x1.da738ap-1 +0x1.8e1484p+2 +-0x1.23fb1ep+3 +-0x1.917d26p-2 +0x1.a732cep+4 +-0x1.d52748p+3 +-0x1.6140d2p+3 +0x1.d8ab7ap+2 +0x1.69a984p+0 +-0x1.b9934ap+0 +-0x1.b8475p+2 +0x1.48c178p+2 +-0x1.445f82p+3 +-0x1.4122d8p+3 +-0x1.f0fc9ap+1 +-0x1.15642cp+3 +-0x1.276fb2p+1 +0x1.1ec51cp+1 +0x1.3d61d4p+2 +0x1.f9cd82p+2 +0x1.cef99ep+3 +-0x1.bd5bbap+2 +0x1.416068p+3 +0x1.15025ap+3 +-0x1.934af2p+3 +0x1.e2761ep+3 +0x1.c5012ep+2 +-0x1.779788p+2 +-0x1.1d26ccp+2 +-0x1.eb283p+0 +0x1.4fef02p-1 +-0x1.c88262p+2 +0x1.fd0406p+3 +-0x1.3ac284p+3 +0x1.ba5eeep+1 +0x1.69e162p+1 +-0x1.6d72c6p+2 +0x1.bbf7fap+2 +0x1.82e236p-5 +0x1.2d967p+2 +0x1.215beap+2 +-0x1.799718p+3 +0x1.0fe87p+3 +0x1.2b76bcp+2 +0x1.e87f02p+1 +-0x1.66b792p+3 +0x1.380f5cp-5 +0x1.365818p+1 +-0x1.67eaeep+1 +-0x1.09e25ap+4 +-0x1.2241b2p+2 +-0x1.6e04ep+2 +-0x1.85eb48p+3 +0x1.97b712p+0 +0x1.d0ade4p+2 +0x1.78507ep+1 +0x1.5fdd7p+1 +-0x1.a40adcp+2 +-0x1.9a4966p+1 +-0x1.008704p+0 +-0x1.9050f6p+1 +0x1.9010a2p+2 +0x1.113376p+2 +0x1.4a4de4p+2 +-0x1.51fccep+2 +0x1.62829p+3 +0x1.759b42p+2 +0x1.901b08p-1 +0x1.ab8c84p+3 +0x1.761ff2p+2 +-0x1.2e6b74p-1 +0x1.204096p+1 +-0x1.779b54p+3 +0x1.8e4c6ep+0 +-0x1.20ab36p+2 +-0x1.049708p+3 +-0x1.29b568p+2 +-0x1.d35c08p+0 +-0x1.aca8dep+3 +0x1.50a42p+2 +0x1.dbbcc6p+2 +0x1.2c63ap+2 +0x1.ff5282p-1 +-0x1.27ad28p-6 +-0x1.63b808p+4 +0x1.f0119ap+1 +-0x1.43fe26p+2 +-0x1.0cfe3p+3 +-0x1.61f8fep+2 +0x1.ce5dcp+2 +-0x1.dd0accp+0 +0x1.ffa1bcp+2 +-0x1.c8012ap+2 +-0x1.1e7d7ap+3 +-0x1.2f748cp+2 +0x1.3e88e2p-2 +0x1.8f8bcp+3 +-0x1.1cff74p+4 +0x1.33c24p+2 +-0x1.f3fd38p+2 +0x1.546046p+3 +-0x1.13ae64p+2 +0x1.c8a558p+2 +0x1.a6e46p+0 +0x1.07ed1ap+4 +-0x1.45a98ep-2 +-0x1.5e7ca8p+2 +-0x1.e68c3ap+3 +0x1.d7c9f4p+0 +0x1.ee68d4p+0 +-0x1.52875ep+3 +-0x1.d91c36p+3 +0x1.2b72dcp+4 +0x1.d0c78ap+1 +0x1.97c69p+3 +0x1.67d404p+3 +-0x1.b4cdb4p-1 +-0x1.ed7486p+1 +0x1.5adacep+3 +0x1.7fdec6p+2 +0x1.9f462ep+0 +-0x1.fdf4e4p+0 +-0x1.b7c4b8p+2 +0x1.0e3b08p+2 +-0x1.5d2e08p+3 +0x1.0cc27ep+1 +-0x1.37e812p+1 +-0x1.5a43d4p+2 +-0x1.314f14p+1 +0x1.064054p+3 +0x1.0d2922p+1 +-0x1.a6260cp+3 +0x1.c090bep+1 +0x1.8c59ccp+3 +-0x1.797c7ep+3 +-0x1.495fp+1 +-0x1.33cb58p+3 +-0x1.7ace46p+0 +0x1.5e5746p-1 +0x1.99a996p+2 +-0x1.64f4d4p+1 +0x1.5b2ceap+0 +-0x1.afae6cp-2 +0x1.1db00ep+4 +0x1.76212ep+0 +0x1.1e35aap+1 +-0x1.2d2b34p+1 +-0x1.74477ap+1 +-0x1.da68dap+2 +-0x1.c28a74p+3 +-0x1.cf021p+3 +-0x1.7275fap+1 +-0x1.83d0b8p+2 +0x1.22e358p+0 +0x1.1d1dbcp+2 +0x1.b4bc74p+2 +0x1.686b4cp+3 +0x1.fbb52ap+3 +-0x1.cc7f9cp+1 +0x1.b6b478p+2 +0x1.0ebfbap+2 +-0x1.e6ace2p-1 +-0x1.d10448p+2 +-0x1.e195p-4 +-0x1.70f296p+4 +0x1.f83b5cp+2 +0x1.281cb6p+3 +-0x1.ff1218p+0 +0x1.3b7244p+2 +0x1.7faa66p+2 +-0x1.a4da56p+3 +0x1.372832p+1 +-0x1.ae3964p+2 +-0x1.ddcde6p+0 +-0x1.0670b4p+0 +0x1.fb5fecp+0 +0x1.a307fcp+1 +-0x1.404de2p+3 +0x1.144152p+3 +-0x1.f5874p+0 +-0x1.c07b0ep+0 +0x1.404e72p+1 +0x1.870ep+3 +-0x1.e37d0ep+2 +-0x1.4b5ae6p+2 +0x1.702676p+3 +-0x1.a70fc8p-1 +-0x1.18feeep+3 +-0x1.372954p+3 +-0x1.63ed3cp+3 +0x1.ecf126p+0 +-0x1.1064e6p+4 +-0x1.a27bdep+2 +-0x1.37ed4cp+0 +0x1.024736p+2 +-0x1.7ade66p+0 +-0x1.36aa08p-1 +-0x1.7caf6ep+0 +0x1.52875p+1 +0x1.708586p+1 +0x1.b8151ap+2 +0x1.960ca4p-1 +-0x1.9247d4p+3 +-0x1.178b62p+0 +-0x1.0ed32p+3 +0x1.618874p+2 +-0x1.572f18p-1 +0x1.375f6ep+0 +-0x1.385562p+0 +0x1.d85a86p+2 +-0x1.9c0e54p-4 +0x1.5f9874p+2 +0x1.b10edp+2 +0x1.22a604p+2 +-0x1.611f38p+2 +-0x1.0d5822p+1 +-0x1.78931ep+1 +0x1.42a0ccp+3 +0x1.0cdd8ep+2 +0x1.583e82p+2 +-0x1.8dddfep-2 +-0x1.279f4ap+0 +-0x1.1c8f3ap+0 +0x1.f827ap+2 +0x1.7eb058p+3 +0x1.a0f708p+2 +0x1.10a96p+1 +0x1.05827p+2 +0x1.8a113cp+3 +-0x1.3089f2p+4 +0x1.4d41a4p+1 +0x1.b14674p+2 +-0x1.d7c6f6p+1 +0x1.66b6bp+2 +-0x1.7d4c86p+1 +0x1.fcdc6cp+0 +-0x1.9741acp+2 +-0x1.cb29d6p-1 +0x1.b1a5e6p+2 +0x1.b3389ap+2 +0x1.3db378p+1 +-0x1.93fbc2p+1 +0x1.61b404p+2 +-0x1.859fc8p-2 +0x1.593bccp+1 +-0x1.bc3e98p+3 +0x1.aaa84p+1 +-0x1.a8e664p-2 +0x1.9efa88p+2 +-0x1.234ae4p+3 +-0x1.0721d8p+0 +-0x1.220a96p+1 +0x1.be0bbp+2 +0x1.45caa8p+2 +0x1.525a58p+1 +-0x1.2a1b7cp+4 +0x1.79c016p+3 +0x1.567fa2p+2 +0x1.d04784p+0 +0x1.d38e3p+3 +-0x1.f8b17ep+0 +-0x1.343e0cp-4 +-0x1.0461c2p+2 +-0x1.c31b2cp+2 +0x1.8ed034p+3 +-0x1.b65042p+1 +0x1.e92acap+2 +-0x1.31b566p+4 +0x1.1cc31cp+0 +0x1.653508p+3 +-0x1.0ca9fap+3 +0x1.83030ep-2 +0x1.501618p+1 +0x1.7ab962p+3 +-0x1.422954p+1 +0x1.0473c8p-1 +-0x1.4ec552p+1 +-0x1.489c9cp-1 +-0x1.8605a8p+2 +0x1.0b9704p+0 +0x1.af4e5ep+3 +-0x1.704884p+2 +0x1.0d834ep+3 +0x1.1a3fd4p+2 +-0x1.c9acb4p+3 +0x1.2cd38p+1 +-0x1.13feecp+3 +-0x1.44a39ep+3 +-0x1.43dc5p+1 +-0x1.95c022p+2 +-0x1.e9d0bcp+2 +0x1.5b9b0ap+0 +0x1.2cf2ccp+3 +-0x1.5b046ap+3 +0x1.c4399ep+2 +-0x1.a99eb6p+3 +-0x1.4c7b3p+1 +-0x1.8c4bdcp+3 +-0x1.96e438p+3 +-0x1.3793p-1 +0x1.78aaccp+2 +0x1.ffaddep+2 +0x1.16e606p+3 +0x1.13f31ap+0 +-0x1.b1a47p+2 +-0x1.d63586p+2 +-0x1.387aa4p+3 +-0x1.10cb6cp+1 +0x1.37444ep+1 +0x1.1735bp+4 +0x1.501fd6p-2 +0x1.684edap+1 +-0x1.1faa74p+2 +0x1.35badcp+2 +0x1.fe7408p+3 +-0x1.519b28p+0 +-0x1.2d1e06p+3 +-0x1.8035cep-1 +-0x1.36a9eap+3 +-0x1.9b108p+0 +-0x1.85e022p-3 +-0x1.5f96ep+4 +0x1.4b81b4p+3 +-0x1.27f868p+3 +-0x1.e34f4p+2 +0x1.3ff198p+1 +-0x1.acfc1p+1 +0x1.563f3ep+2 +-0x1.32c9dcp+4 +-0x1.c045f2p-2 +0x1.a9cb82p+1 +0x1.66683ep+3 +-0x1.dcf29ep+3 +0x1.ac0416p+2 +0x1.41b464p+3 +-0x1.6b4318p+3 +0x1.0e5ad8p+2 +0x1.82de4ap+1 +0x1.12126ap+4 +-0x1.588a6p+3 +-0x1.56bb14p+1 +-0x1.c2d0fep+3 +0x1.c91e8cp-4 +-0x1.f9b58ep-1 +-0x1.01b178p+1 +0x1.30f176p+1 +0x1.96488ap+1 +0x1.9ee15p-1 +0x1.2b7cd8p+2 +0x1.335e7p+3 +0x1.32db26p+2 +0x1.49e462p+2 +0x1.809e28p+3 +0x1.b281cap+1 +-0x1.ef3af6p+2 +-0x1.92b6e6p+3 +0x1.05ab5ap+0 +-0x1.981004p-1 +-0x1.96ce7ep+2 +0x1.c37f9ap+1 +-0x1.96930cp+2 +0x1.a434fcp+1 +-0x1.7b13e4p+2 +0x1.b66e3ap+0 +-0x1.3157d8p+3 +0x1.027d88p+1 +-0x1.acd3e4p+3 +-0x1.23773p-2 +-0x1.23d8ap+3 +-0x1.3e11a8p+1 +0x1.2ae06cp+3 +0x1.8236fcp-3 +0x1.90815ep+3 +-0x1.a8db4p+0 +-0x1.297586p+3 +-0x1.952cb4p+3 +-0x1.a20518p+2 +-0x1.cf28a6p+2 +0x1.931bfp+2 +0x1.0037a2p+0 +-0x1.9ce85ep+1 +-0x1.4292c2p+3 +-0x1.2b7d1cp+2 +-0x1.8d139p+2 +0x1.e9278cp+2 +0x1.942544p+3 +-0x1.1df8cep+3 +-0x1.31cep-1 +0x1.a7065ep+3 +0x1.b70b1cp+3 +0x1.930bc4p+2 +-0x1.2f167ep+3 +-0x1.5f5572p+2 +-0x1.01fae4p+0 +0x1.b78b4p+2 +0x1.d7a04ep+2 +0x1.f2be0ap+0 +0x1.4a4c52p+2 +0x1.0b3c1ap+0 +-0x1.8c5f16p+2 +0x1.3b31b4p+3 +-0x1.61f20ep+3 +-0x1.b3557p+3 +-0x1.3da99ep+2 +0x1.f9e9b2p+3 +-0x1.e29a44p+2 +-0x1.cb80f8p+1 +0x1.4e178ap-3 +-0x1.5e774ap+1 +-0x1.b078ap+2 +0x1.7df532p+3 +-0x1.20e83ap+3 +-0x1.2ece3cp+2 +-0x1.b8dcfap-1 +-0x1.a820eap+2 +0x1.7b9754p+2 +0x1.6e25c4p-1 +0x1.658734p+0 +-0x1.6a6fdep-1 +-0x1.cfc8ecp+1 +0x1.167188p+2 +0x1.19aee6p+4 +0x1.cb4172p-1 +0x1.a2bc9ep+0 +-0x1.153a5p+3 +-0x1.e32cd2p+2 +0x1.cd1044p-1 +0x1.0fb76cp+1 +0x1.4bfd4ap+3 +0x1.806536p+2 +0x1.9579f6p+2 +0x1.3649p+1 +0x1.a0c47ap-5 +-0x1.09803p+2 +0x1.84fb0ep+2 +-0x1.855462p+3 +0x1.159624p+4 +-0x1.8df534p+1 +0x1.8cd25p+1 +-0x1.e7ad74p+3 +0x1.e6229ep-2 +0x1.bccca2p+1 +-0x1.8e288ep+2 +0x1.c2aa6p+0 +0x1.ff0a0cp+2 +-0x1.ddb1ecp+1 +-0x1.3e5476p+3 +0x1.858158p+3 +0x1.d178dcp+2 +0x1.9197fp+2 +0x1.f12d86p+2 +0x1.0ee4fap+3 +-0x1.0bec12p+3 +-0x1.c3b202p+1 +-0x1.40665ap+3 +0x1.5ca698p+2 +0x1.0886c6p+3 +-0x1.6ce43ep+3 +0x1.0d0446p+3 +-0x1.3cdd42p+3 +-0x1.98ab96p+0 +0x1.67118cp+1 +-0x1.6381dp+1 +0x1.a6ecb4p+2 +-0x1.9515b6p+3 +-0x1.3a8022p+2 +0x1.46c216p+3 +0x1.e89f14p+1 +-0x1.0b75a8p-1 +0x1.4109f4p+3 +-0x1.b03556p+1 +-0x1.40b96ap+3 +-0x1.61350cp+3 +-0x1.798614p+0 +0x1.77981ep+0 +-0x1.f701b8p+0 +0x1.ab815cp+3 +-0x1.cf59eap+2 +0x1.8ee6dcp+1 +0x1.8ec04cp+2 +0x1.bbf638p+2 +-0x1.a3fa38p+1 +-0x1.1af036p+1 +0x1.22f5cep+2 +-0x1.46a49ap+3 +-0x1.5d4fdcp+3 +-0x1.f72d2ap+2 +-0x1.8bcbb2p-6 +0x1.b6ac6ap+1 +-0x1.76022p+1 +-0x1.317764p+3 +0x1.1f9cb2p+3 +0x1.9e1294p+3 +-0x1.e7d7d2p+2 +-0x1.317d3ep+3 +0x1.a6ffb6p-3 +0x1.e6a5d2p-5 +-0x1.69a5bp-1 +0x1.8395d8p+1 +-0x1.9f7bb4p+3 +-0x1.239f28p+3 +0x1.21c244p+2 +0x1.63aca6p+2 +0x1.1981bcp+1 +0x1.ae3274p+2 +-0x1.acc7c2p+2 +0x1.354474p+3 +-0x1.01b9acp+2 +0x1.59db0ep+2 +0x1.1a8914p+4 +-0x1.5dab9ap+0 +-0x1.7abbe4p+0 +-0x1.b74c48p+1 +-0x1.7e72eep+2 +-0x1.90f286p+2 +0x1.c205ap+2 +0x1.d47afp+2 +0x1.adbf8cp+3 +0x1.f449c2p+2 +-0x1.4bf36p+2 +-0x1.0d0d08p+2 +-0x1.19084ap+3 +-0x1.dc5e8ap+2 +0x1.fec84cp+3 +-0x1.3b8432p+1 +-0x1.53bf26p+2 +0x1.602114p+3 +0x1.1f2ccap+3 +0x1.82373ep+1 +0x1.13fep+1 +-0x1.31051p+2 +-0x1.75a7e4p+2 +0x1.7dbef6p+3 +0x1.2e9564p+3 +-0x1.0a1952p+3 +0x1.d5409cp+2 +-0x1.093fe4p+2 +0x1.1e6686p+4 +0x1.1ff534p+2 +-0x1.0cbcf4p+3 +-0x1.813d0ep+0 +-0x1.30607p-2 +-0x1.4b5342p+3 +0x1.603252p+2 +-0x1.c601e6p+3 +-0x1.cd608ap+1 +-0x1.fa09ccp+2 +-0x1.797292p+3 +-0x1.cd3d4ap+2 +-0x1.57cd52p+1 +0x1.b71ae6p+3 +-0x1.96ec48p+2 +0x1.0e0092p-1 +-0x1.042ca6p+3 +0x1.8a318cp+1 +-0x1.6a9bdap+1 +0x1.c52fbp+1 +-0x1.376f82p+3 +0x1.0698fap+2 +-0x1.1f6c54p+2 +-0x1.8094b4p+3 +0x1.4bf162p+1 +0x1.f19582p+3 +-0x1.1f0c82p+4 +0x1.6d0a9ep+1 +-0x1.b4f5ecp+3 +0x1.94ea4ap-2 +-0x1.dd3e7cp+2 +0x1.00c328p+2 +-0x1.06b808p+0 +0x1.5e68c2p+3 +0x1.b57a62p+2 +0x1.dbb778p+1 +0x1.f8599ep+2 +0x1.a8ce9ap+1 +-0x1.1178ccp+3 +-0x1.16b262p+2 +0x1.4cb31ap+0 +-0x1.2b698cp+2 +-0x1.21cf22p+2 +-0x1.9ead8p+0 +-0x1.7f25d2p+2 +-0x1.3ecb54p+1 +-0x1.42bd8cp+2 +-0x1.e64afp+3 +-0x1.8df506p-3 +-0x1.7fa6f8p+1 +0x1.f192dcp+2 +0x1.a23234p+3 +0x1.529f9ep-1 +-0x1.25c242p+3 +-0x1.264d34p+3 +-0x1.ab5a0ep+2 +0x1.27c7c8p+0 +0x1.be840ep+1 +0x1.abfd0ap+2 +0x1.73307cp-1 +0x1.41b2b2p+1 +-0x1.c614bap+3 +0x1.910e2p+0 +0x1.cc4adcp+2 +-0x1.072822p+3 +0x1.6f2704p+3 +0x1.1ee3a2p+4 +0x1.f841eap+0 +0x1.d120bep-3 +-0x1.1fe198p+3 +-0x1.52b1fp+3 +-0x1.ae7658p+1 +-0x1.f114fp+3 +0x1.2db694p+2 +0x1.c01758p+0 +0x1.2a121ap+1 +-0x1.97d9cap+3 +-0x1.3aa6e6p+1 +0x1.984ee2p-1 +0x1.52a79cp+1 +0x1.4d23p+3 +-0x1.229a22p+3 +-0x1.15d246p+3 +-0x1.14ca8p-2 +-0x1.d28014p+3 +0x1.97ed02p+1 +0x1.2295dap+3 +0x1.03ef26p+2 +0x1.a8e6fep+1 +0x1.20cfe6p+0 +-0x1.f6ca0cp+0 +-0x1.45c58p+0 +-0x1.c3de1ep-2 +0x1.e727dap+1 +0x1.abe67p+1 +-0x1.8fa346p+3 +-0x1.70b346p+1 +-0x1.1d62cp+4 +0x1.21ee2ap+0 +-0x1.2baea6p+1 +0x1.c74a0cp+1 +0x1.5ab764p+3 +-0x1.8b71bp+1 +0x1.e5599ap-1 +-0x1.9d2da8p+2 +0x1.281956p+3 +-0x1.a30594p-3 +-0x1.597bep+0 +-0x1.15c314p-3 +-0x1.c518dcp+2 +-0x1.73992ap+0 +0x1.a6465ap+3 +0x1.6618c4p-5 +0x1.01d2e8p+3 +0x1.4919b4p+2 +-0x1.87c72p+0 +0x1.f6dc6ap-9 +0x1.8e16c2p+2 +0x1.e0c19cp+1 +0x1.6efdb6p+1 +0x1.77a86cp+3 +-0x1.9a52b4p+1 +0x1.2decd2p+3 +0x1.efa19ap+0 +-0x1.f7faecp-1 +-0x1.125dbep+2 +-0x1.aa25dap+1 +-0x1.0509b6p+3 +-0x1.0e841ep+4 +0x1.14f30ap-4 +0x1.8371f6p+3 +-0x1.a6997cp+2 +0x1.d0be9ap-1 +0x1.7a187p+2 +0x1.5c3bdp+3 +0x1.a8caecp+3 +0x1.4fabbp+0 +0x1.52e96p+3 +0x1.6ef878p+1 +0x1.e6a8c2p+2 +-0x1.153cd8p+2 +0x1.7465e2p+3 +0x1.19c6a2p+2 +-0x1.1824dap+3 +0x1.72168ep+1 +-0x1.fad952p+1 +-0x1.d3401ap+1 +0x1.1d3854p+2 +0x1.5c0a66p+3 +-0x1.8183e6p+0 +0x1.e1e5eep+0 +-0x1.2c7666p+4 +0x1.31e48ep+4 +-0x1.5b84d8p+2 +0x1.ac7e36p+2 +0x1.171c6cp+2 +0x1.b38194p-5 +-0x1.9c0b56p+2 +-0x1.16cd88p+2 +-0x1.5a04d8p+3 +-0x1.0cc51ep+4 +-0x1.d5ed58p+2 +-0x1.056de2p+3 +-0x1.e09562p+1 +0x1.0f0196p+2 +0x1.7fa3f6p+2 +0x1.fac5bp+1 +-0x1.f77ae6p+3 +-0x1.6f44f4p+1 +-0x1.9d4e52p+3 +0x1.c0e698p+2 +-0x1.58acb6p+1 +-0x1.87063ap+2 +0x1.b94356p+2 +0x1.8637e6p+2 +-0x1.440ac8p+2 +0x1.8fc2cap-1 +-0x1.bf9b0ep+2 +0x1.657f4cp+0 +-0x1.8f9cb6p+3 +0x1.1399d8p+3 +0x1.a28952p+1 +-0x1.23308ep+3 +-0x1.4c282ap+0 +-0x1.d9f856p+2 +0x1.bf6c9p+3 +-0x1.87bd2p+1 +-0x1.fff12ep+1 +0x1.472382p+2 +0x1.92499ap+3 +0x1.23e2c4p+2 +-0x1.a07a78p-1 +-0x1.03af7ap+4 +-0x1.57e604p+1 +0x1.489f06p+3 +0x1.a3378ep+2 +0x1.127a2p+3 +-0x1.0412acp+3 +-0x1.c1fab6p+0 +-0x1.534a36p+3 +-0x1.227eeap+2 +-0x1.60bafap+3 +-0x1.6c1b4cp+2 +-0x1.e55c3p+2 +0x1.0136a2p-1 +-0x1.0ffdf8p+2 +-0x1.c6576p+2 +-0x1.b2896ep-2 +0x1.574f6ap+0 +0x1.324236p+3 +-0x1.a32442p+1 +0x1.9a389ap+3 +-0x1.1171cap+3 +0x1.0f7b1ep+2 +-0x1.6c053ep+2 +-0x1.9b99b6p+1 +0x1.b2a6d8p+3 +0x1.1f2bd6p+1 +-0x1.f0ccccp+2 +-0x1.1733p+2 +-0x1.6b2756p+2 +-0x1.187854p+3 +0x1.a7991ap+1 +0x1.857358p+2 +-0x1.0cfed6p-2 +-0x1.4de6ecp+2 +0x1.51a062p+2 +0x1.150624p+0 +-0x1.5cfe06p+3 +0x1.79170cp+0 +0x1.03e7acp+3 +-0x1.189198p+2 +0x1.b4c6bep+0 +-0x1.9184c8p+2 +-0x1.896958p+2 +0x1.5be384p+4 +-0x1.0a5d4ep+3 +0x1.9a2808p-1 +-0x1.52f6fcp+2 +0x1.3c8b1ep+1 +0x1.2ea336p+0 +0x1.e53f12p+3 +0x1.957874p+3 +-0x1.2e50c6p+2 +0x1.f60822p+1 +0x1.b8e3e6p+2 +0x1.288f64p+3 +0x1.3ab57ap+2 +0x1.00560ep+3 +-0x1.018fdap+1 +-0x1.1663e6p-2 +-0x1.b38c7ap+1 +-0x1.56593cp+1 +-0x1.658a9ap+3 +-0x1.be2754p-4 +-0x1.72fcdcp+3 +-0x1.d97294p+1 +-0x1.c49a1ep+1 +-0x1.ef669ap+3 +-0x1.2f653ap+3 +-0x1.e1be1ep+1 +-0x1.6f8874p+1 +-0x1.35ad1cp+3 +0x1.082ca6p-1 +-0x1.a2bbbep+1 +-0x1.56d822p+2 +-0x1.0dbebap+2 +-0x1.b94eb6p+2 +-0x1.a9bf86p+0 +-0x1.085582p+1 +0x1.022d02p+0 +0x1.3063e8p+4 +0x1.eab3b2p+3 +0x1.e5f194p+2 +0x1.b4bbfep+2 +0x1.e69e94p+0 +0x1.545416p+2 +-0x1.b5e41p+2 +-0x1.68c7d2p+0 +0x1.7ffc78p-1 +0x1.a668c8p+3 +0x1.0b28f2p+5 +0x1.433504p+3 +0x1.685124p+4 +0x1.4745e4p+2 +-0x1.695746p+1 +-0x1.c3d85cp+3 +0x1.2ca546p+3 +-0x1.5e28cep+1 +-0x1.92bfbap+2 +0x1.97f2a6p+1 +0x1.282c0ep+2 +0x1.2e83fp-4 +-0x1.e1a488p-1 +-0x1.95bdb2p+0 +0x1.6600fep+3 +0x1.2e1d9cp-1 +-0x1.70e9eap+0 +-0x1.d20f1ap+2 +-0x1.c22c62p+1 +0x1.5ede8cp+1 +-0x1.ddccc6p+1 +-0x1.37b3b2p+2 +0x1.293dccp+2 +0x1.a0908ap+2 +-0x1.19e172p+2 +-0x1.1587ap+3 +0x1.04d7bep+3 +0x1.a9bfdp+0 +0x1.7ffbdp+2 +-0x1.604336p+1 +0x1.456432p+0 +0x1.0ac26cp+0 +-0x1.2f2bf4p+3 +0x1.3d8b98p-4 +0x1.44e9dp+3 +-0x1.e43e3p+3 +-0x1.28e92p+2 +-0x1.7353a4p+2 +-0x1.10a858p+3 +0x1.32f94cp-2 +0x1.f9f834p-1 +0x1.975716p+1 +0x1.1d7c02p+3 +-0x1.2e971cp+0 +-0x1.5d11dp+2 +-0x1.2747dap+1 +0x1.7f675ep+3 +-0x1.25e7bep+4 +0x1.2ab506p+2 +-0x1.b5d0f4p+0 +-0x1.6c1508p+0 +-0x1.cee6ecp+1 +0x1.07e3d6p+4 +-0x1.c45816p+3 +-0x1.304d78p+0 +0x1.ab0d78p+1 +0x1.b383e6p+2 +0x1.5da5ecp+2 +-0x1.ae0576p+2 +0x1.4f48d4p+2 +-0x1.880168p+0 +-0x1.87add8p+3 +-0x1.14db9ap+2 +0x1.47c03p+1 +-0x1.2b0216p+3 +-0x1.7bfb0cp-2 +-0x1.0c23e6p+3 +-0x1.15774ap+2 +-0x1.7ac434p+0 +0x1.c550fcp+3 +0x1.83d7cep+3 +0x1.0175d4p+4 +-0x1.2212fap+0 +0x1.217f3ep+3 +-0x1.cd855cp+1 +0x1.ccea5ap+1 +0x1.558402p+2 +-0x1.8ab1c2p+3 +-0x1.809848p+0 +-0x1.8030ep+2 +0x1.305104p+4 +0x1.eff682p+2 +-0x1.5afb16p+3 +0x1.1e33cp+3 +-0x1.600588p+1 +0x1.2a89dep+1 +-0x1.1674f4p+3 +-0x1.2284f2p-3 +-0x1.cf1ddap+1 +0x1.b3a79p+2 +0x1.468334p+1 +0x1.190e34p+2 +0x1.2509ecp+0 +0x1.7a11f6p+2 +-0x1.ce345cp-3 +-0x1.203b3cp+3 +-0x1.6b2666p+1 +0x1.963b6ep+2 +-0x1.e1bdc6p+2 +0x1.4d96d8p+3 +-0x1.b92d8p+1 +0x1.e2caa2p+2 +0x1.f8baf2p-1 +-0x1.02dc14p+4 +-0x1.df758p+0 +0x1.f859fp+2 +0x1.5e37aap+2 +-0x1.540834p+3 +-0x1.19840ap+3 +0x1.1959ep+2 +0x1.52bed4p+3 +0x1.755d26p+1 +0x1.eee934p+1 +0x1.203d42p+0 +0x1.90b58ep+3 +-0x1.37057ap+2 +-0x1.b2a806p+3 +0x1.e67ccep+3 +-0x1.3c67a4p+3 +-0x1.bfe3aap+2 +0x1.35cebcp+3 +0x1.0422ccp+3 +-0x1.60be74p+2 +0x1.035cecp+2 +0x1.7f99fcp+1 +-0x1.6f9c5ep+3 +-0x1.845438p+3 +-0x1.127e6ep+1 +0x1.4cfddep+3 +-0x1.1d4bd6p+3 +0x1.6a88e8p+2 +0x1.29a878p+0 +-0x1.3b15fp+0 +0x1.257d3ap-3 +-0x1.42440ap-2 +-0x1.80a282p+2 +0x1.ea58ecp+3 +-0x1.1f50c4p+2 +0x1.d420b2p+0 +-0x1.f94d9cp-1 +0x1.7df5acp+2 +0x1.6eb4e8p+0 +-0x1.1194fep+3 +0x1.13a326p+2 +0x1.e7069cp+3 +-0x1.89a242p+2 +-0x1.107502p+3 +-0x1.fb0a94p+2 +-0x1.f37b9ep+3 +-0x1.55cp+3 +0x1.12ed7ap+1 +0x1.cd24b4p+1 +0x1.17089p+3 +0x1.90a1fcp+2 +0x1.88f71ap+1 +-0x1.0e428ap-1 +-0x1.9a536ep+1 +-0x1.f8c908p+2 +0x1.40c9a2p-3 +0x1.bb0f58p+3 +0x1.4f096cp+3 +-0x1.8639acp+0 +-0x1.ddc002p-4 +0x1.15ea76p+3 +-0x1.a43148p+3 +0x1.3085c6p+4 +-0x1.3a122cp+2 +-0x1.8466c8p+2 +-0x1.07a3a2p+2 +-0x1.64907p+3 +-0x1.b6cfc8p+1 +0x1.a9f23ep+2 +0x1.8f8862p+2 +-0x1.0520dap+2 +-0x1.fd38e4p+2 +0x1.42e3acp+2 +-0x1.a17682p+3 +-0x1.20550ep+3 +-0x1.8824d2p+3 +0x1.100b8ep+0 +-0x1.8303ap+3 +-0x1.32ae3cp+0 +0x1.20cb3cp+3 +0x1.b455d2p+1 +0x1.321f6ap+2 +-0x1.d72368p+3 +-0x1.4124aap+3 +-0x1.e802acp+2 +-0x1.283a26p+1 +-0x1.4683fcp+0 +-0x1.097924p+3 +0x1.6fae44p-1 +-0x1.66857cp-4 +-0x1.1808dp+3 +-0x1.88bbc4p+2 +-0x1.22e884p+0 +0x1.ce560cp-3 +0x1.fe4936p+1 +-0x1.e70f7ap+2 +-0x1.a22572p+3 +0x1.93bb64p+2 +-0x1.26ee7ep+3 +-0x1.86e8ap+3 +0x1.324cacp+3 +0x1.1e2ab2p+2 +-0x1.23a576p+2 +-0x1.24f144p+2 +-0x1.4b31f8p+0 +0x1.16c554p+2 From patchwork Wed Nov 24 19:37:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48102 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8FC503857C66 for ; Wed, 24 Nov 2021 20:24:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8FC503857C66 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785482; bh=Eo2YMZvxwoEs5yWS5Cn2OaDJ+R8BYjit1Hq9/i/P3Zc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=Wrz71zLfwGtZlpJOmLe4L+9OuqAQ17V/nPgcGr2kEKPhgMsTi/AE/+ATdTrtPSsHp M9yQm5e867jL+GumLyrU+njGYqSZJ+kkFI73jTIqZZl9VyKgG5VdK/9F9/E9w4MICD 8vj7YQGDbmtJ7mqtAZSLBAq8Cmqd0XJpanWXe0yA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id 2B37D385800C for ; Wed, 24 Nov 2021 19:38:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2B37D385800C X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="222581830" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="222581830" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="510002848" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga008.jf.intel.com with ESMTP; 24 Nov 2021 11:38:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XC021555; Wed, 24 Nov 2021 11:38:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 25/42] x86-64: Add vector exp2/exp2f implementation to libmvec Date: Wed, 24 Nov 2021 11:37:50 -0800 Message-Id: <20211124193807.2093208-26-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized exp2/exp2f containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector exp2/exp2f with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_exp22_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_exp22_core.c | 27 + .../fpu/multiarch/svml_d_exp22_core_sse4.S | 1327 +++++++++++++++++ .../fpu/multiarch/svml_d_exp24_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_exp24_core.c | 27 + .../fpu/multiarch/svml_d_exp24_core_avx2.S | 1231 +++++++++++++++ .../fpu/multiarch/svml_d_exp28_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_exp28_core.c | 27 + .../fpu/multiarch/svml_d_exp28_core_avx512.S | 829 ++++++++++ .../fpu/multiarch/svml_s_exp2f16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_exp2f16_core.c | 28 + .../multiarch/svml_s_exp2f16_core_avx512.S | 511 +++++++ .../fpu/multiarch/svml_s_exp2f4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_exp2f4_core.c | 28 + .../fpu/multiarch/svml_s_exp2f4_core_sse4.S | 923 ++++++++++++ .../fpu/multiarch/svml_s_exp2f8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_exp2f8_core.c | 28 + .../fpu/multiarch/svml_s_exp2f8_core_avx2.S | 795 ++++++++++ sysdeps/x86_64/fpu/svml_d_exp22_core.S | 29 + sysdeps/x86_64/fpu/svml_d_exp24_core.S | 29 + sysdeps/x86_64/fpu/svml_d_exp24_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_exp28_core.S | 25 + sysdeps/x86_64/fpu/svml_s_exp2f16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_exp2f4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_exp2f8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_exp2f8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-exp2-avx.c | 1 + .../fpu/test-double-libmvec-exp2-avx2.c | 1 + .../fpu/test-double-libmvec-exp2-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-exp2.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-exp2f-avx.c | 1 + .../fpu/test-float-libmvec-exp2f-avx2.c | 1 + .../fpu/test-float-libmvec-exp2f-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-exp2f.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 6184 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_exp22_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_exp24_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_exp24_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_exp28_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_exp2f16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_exp2f4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_exp2f8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_exp2f8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-exp2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-exp2f.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index ff85f5be62..e40dbe2604 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -230,4 +230,15 @@ #define __DECL_SIMD_exp10f32x #define __DECL_SIMD_exp10f64x #define __DECL_SIMD_exp10f128x + +#define __DECL_SIMD_exp2 +#define __DECL_SIMD_exp2f +#define __DECL_SIMD_exp2l +#define __DECL_SIMD_exp2f16 +#define __DECL_SIMD_exp2f32 +#define __DECL_SIMD_exp2f64 +#define __DECL_SIMD_exp2f128 +#define __DECL_SIMD_exp2f32x +#define __DECL_SIMD_exp2f64x +#define __DECL_SIMD_exp2f128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 6fc9d6f156..19873c4d07 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -127,7 +127,7 @@ __MATHCALL (logb,, (_Mdouble_ __x)); #ifdef __USE_ISOC99 /* Compute base-2 exponential of X. */ -__MATHCALL (exp2,, (_Mdouble_ __x)); +__MATHCALL_VEC (exp2,, (_Mdouble_ __x)); /* Compute base-2 logarithm of X. */ __MATHCALL (log2,, (_Mdouble_ __x)); diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index be309ddbf0..85c2ebe3f3 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -57,6 +57,7 @@ GLIBC_2.35 _ZGVbN2v_cosh F GLIBC_2.35 _ZGVbN2v_erf F GLIBC_2.35 _ZGVbN2v_erfc F GLIBC_2.35 _ZGVbN2v_exp10 F +GLIBC_2.35 _ZGVbN2v_exp2 F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F @@ -69,6 +70,7 @@ GLIBC_2.35 _ZGVbN4v_coshf F GLIBC_2.35 _ZGVbN4v_erfcf F GLIBC_2.35 _ZGVbN4v_erff F GLIBC_2.35 _ZGVbN4v_exp10f F +GLIBC_2.35 _ZGVbN4v_exp2f F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F @@ -81,6 +83,7 @@ GLIBC_2.35 _ZGVcN4v_cosh F GLIBC_2.35 _ZGVcN4v_erf F GLIBC_2.35 _ZGVcN4v_erfc F GLIBC_2.35 _ZGVcN4v_exp10 F +GLIBC_2.35 _ZGVcN4v_exp2 F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F @@ -93,6 +96,7 @@ GLIBC_2.35 _ZGVcN8v_coshf F GLIBC_2.35 _ZGVcN8v_erfcf F GLIBC_2.35 _ZGVcN8v_erff F GLIBC_2.35 _ZGVcN8v_exp10f F +GLIBC_2.35 _ZGVcN8v_exp2f F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F @@ -105,6 +109,7 @@ GLIBC_2.35 _ZGVdN4v_cosh F GLIBC_2.35 _ZGVdN4v_erf F GLIBC_2.35 _ZGVdN4v_erfc F GLIBC_2.35 _ZGVdN4v_exp10 F +GLIBC_2.35 _ZGVdN4v_exp2 F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F @@ -117,6 +122,7 @@ GLIBC_2.35 _ZGVdN8v_coshf F GLIBC_2.35 _ZGVdN8v_erfcf F GLIBC_2.35 _ZGVdN8v_erff F GLIBC_2.35 _ZGVdN8v_exp10f F +GLIBC_2.35 _ZGVdN8v_exp2f F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F @@ -129,6 +135,7 @@ GLIBC_2.35 _ZGVeN16v_coshf F GLIBC_2.35 _ZGVeN16v_erfcf F GLIBC_2.35 _ZGVeN16v_erff F GLIBC_2.35 _ZGVeN16v_exp10f F +GLIBC_2.35 _ZGVeN16v_exp2f F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F @@ -141,4 +148,5 @@ GLIBC_2.35 _ZGVeN8v_cosh F GLIBC_2.35 _ZGVeN8v_erf F GLIBC_2.35 _ZGVeN8v_erfc F GLIBC_2.35 _ZGVeN8v_exp10 F +GLIBC_2.35 _ZGVeN8v_exp2 F GLIBC_2.35 _ZGVeN8vv_atan2 F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index 69d05d334d..fd1fde7a7a 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -106,6 +106,10 @@ # define __DECL_SIMD_exp10 __DECL_SIMD_x86_64 # undef __DECL_SIMD_exp10f # define __DECL_SIMD_exp10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2 +# define __DECL_SIMD_exp2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2f +# define __DECL_SIMD_exp2f __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index fe982c21a1..bcf2d5a0e9 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -36,6 +36,7 @@ libmvec-funcs = \ erfc \ exp \ exp10 \ + exp2 \ log \ pow \ sin \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index f891c07550..055ad29b2c 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -25,6 +25,7 @@ libmvec { _ZGVbN2v_erf; _ZGVcN4v_erf; _ZGVdN4v_erf; _ZGVeN8v_erf; _ZGVbN2v_erfc; _ZGVcN4v_erfc; _ZGVdN4v_erfc; _ZGVeN8v_erfc; _ZGVbN2v_exp10; _ZGVcN4v_exp10; _ZGVdN4v_exp10; _ZGVeN8v_exp10; + _ZGVbN2v_exp2; _ZGVcN4v_exp2; _ZGVdN4v_exp2; _ZGVeN8v_exp2; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; @@ -37,6 +38,7 @@ libmvec { _ZGVbN4v_erfcf; _ZGVcN8v_erfcf; _ZGVdN8v_erfcf; _ZGVeN16v_erfcf; _ZGVbN4v_erff; _ZGVcN8v_erff; _ZGVdN8v_erff; _ZGVeN16v_erff; _ZGVbN4v_exp10f; _ZGVcN8v_exp10f; _ZGVdN8v_exp10f; _ZGVeN16v_exp10f; + _ZGVbN4v_exp2f; _ZGVcN8v_exp2f; _ZGVdN8v_exp2f; _ZGVeN16v_exp2f; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 4465c0af19..0a0a2ab4fc 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1453,6 +1453,26 @@ float: 1 float128: 2 ldouble: 1 +Function: "exp2_vlen16": +float: 2 + +Function: "exp2_vlen2": +double: 1 + +Function: "exp2_vlen4": +double: 1 +float: 2 + +Function: "exp2_vlen4_avx2": +double: 1 + +Function: "exp2_vlen8": +double: 1 +float: 2 + +Function: "exp2_vlen8_avx2": +float: 2 + Function: "exp_downward": double: 1 float: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core-sse2.S new file mode 100644 index 0000000000..330260baaa --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized exp2, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_exp2 _ZGVbN2v_exp2_sse2 +#include "../svml_d_exp22_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core.c new file mode 100644 index 0000000000..e0cf198030 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized exp2, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_exp2 +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_exp2, __GI__ZGVbN2v_exp2, __redirect__ZGVbN2v_exp2) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core_sse4.S new file mode 100644 index 0000000000..0d820b07fe --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core_sse4.S @@ -0,0 +1,1327 @@ +/* Function exp vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * exp2(x) = 2^n * T[j] * (1 + P(y)) + * where + * x = m*(1/K) + y, y in [-1/K..1/K] + * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * + * values of 2^j/K are tabulated + * + * P(y) is a minimax polynomial approximation of exp2(x)-1 + * on small interval [-1/K..1/K] + * + * Special cases: + * + * exp2(NaN) = NaN + * exp2(+INF) = +INF + * exp2(-INF) = 0 + * exp2(x) = 1 for subnormals + * For IEEE double + * if x >= 1024.0 then exp2(x) overflows + * if x < -1076.0 then exp2(x) underflows + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_exp2_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm3 + movups 1024+__svml_dexp2_data_internal(%rip), %xmm5 + +/* out, basePtr, iIndex, iBaseOfs, iSize, iGran, iOfs */ + lea __svml_dexp2_data_internal(%rip), %r8 + +/* Load arument */ + movaps %xmm5, %xmm2 + addpd %xmm3, %xmm2 + movaps %xmm2, %xmm4 + subpd %xmm5, %xmm4 + movq 1408+__svml_dexp2_data_internal(%rip), %xmm6 + +/* Check for overflow\underflow */ + pshufd $221, %xmm3, %xmm0 + pand %xmm6, %xmm0 + +/* R */ + movaps %xmm3, %xmm6 + subpd %xmm4, %xmm6 + +/* + * Polynomial + * poly(dN) = a1*dR+...+a4*dR^4 + */ + movups 1280+__svml_dexp2_data_internal(%rip), %xmm4 + mulpd %xmm6, %xmm4 + addpd 1216+__svml_dexp2_data_internal(%rip), %xmm4 + mulpd %xmm6, %xmm4 + addpd 1152+__svml_dexp2_data_internal(%rip), %xmm4 + movdqu 1344+__svml_dexp2_data_internal(%rip), %xmm1 + +/* Index and lookup */ + movdqa %xmm1, %xmm5 + pandn %xmm2, %xmm1 + pand %xmm2, %xmm5 + +/* 2^N */ + psllq $45, %xmm1 + movd %xmm5, %eax + movq 1472+__svml_dexp2_data_internal(%rip), %xmm7 + pcmpgtd %xmm7, %xmm0 + pextrw $4, %xmm5, %ecx + +/* a1+...+a4*dR^3 ! */ + mulpd %xmm6, %xmm4 + movmskps %xmm0, %edx + addpd 1088+__svml_dexp2_data_internal(%rip), %xmm4 + shll $3, %eax + shll $3, %ecx + movq (%r8,%rax), %xmm0 + movhpd (%r8,%rcx), %xmm0 + +/* dR=dR*dT */ + mulpd %xmm0, %xmm6 + +/* + * Reconstruction + * exp2 = {2^N later}*(Tj+Tj*poly) + * dN = dT+dT*dR*(a1+...+a4*dR^3) + */ + mulpd %xmm6, %xmm4 + addpd %xmm4, %xmm0 + +/* quick 2^N */ + paddq %xmm1, %xmm0 + andl $3, %edx + +/* Finish */ + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm3, 192(%rsp) + movups %xmm0, 256(%rsp) + je .LBL_1_2 + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,8), %rdi + lea 256(%rsp,%r12,8), %rsi + call __svml_dexp2_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_exp2_sse4) + + .align 16,0x90 + +__svml_dexp2_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dexp2_cout_rare_internal,@function + .size __svml_dexp2_cout_rare_internal,.-__svml_dexp2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dexp2_data_internal: + .long 0 + .long 1072693248 + .long 2851812149 + .long 1072698941 + .long 1048019041 + .long 1072704666 + .long 3899555717 + .long 1072710421 + .long 3541402996 + .long 1072716208 + .long 702412510 + .long 1072722027 + .long 410360776 + .long 1072727877 + .long 3402036099 + .long 1072733758 + .long 1828292879 + .long 1072739672 + .long 728909815 + .long 1072745618 + .long 852742562 + .long 1072751596 + .long 2952712987 + .long 1072757606 + .long 3490863953 + .long 1072763649 + .long 3228316108 + .long 1072769725 + .long 2930322912 + .long 1072775834 + .long 3366293073 + .long 1072781976 + .long 1014845819 + .long 1072788152 + .long 948735466 + .long 1072794361 + .long 3949972341 + .long 1072800603 + .long 2214878420 + .long 1072806880 + .long 828946858 + .long 1072813191 + .long 586995997 + .long 1072819536 + .long 2288159958 + .long 1072825915 + .long 2440944790 + .long 1072832329 + .long 1853186616 + .long 1072838778 + .long 1337108031 + .long 1072845262 + .long 1709341917 + .long 1072851781 + .long 3790955393 + .long 1072858335 + .long 4112506593 + .long 1072864925 + .long 3504003472 + .long 1072871551 + .long 2799960843 + .long 1072878213 + .long 2839424854 + .long 1072884911 + .long 171030293 + .long 1072891646 + .long 4232894513 + .long 1072898416 + .long 2992903935 + .long 1072905224 + .long 1603444721 + .long 1072912069 + .long 926591435 + .long 1072918951 + .long 1829099622 + .long 1072925870 + .long 887463927 + .long 1072932827 + .long 3272845541 + .long 1072939821 + .long 1276261410 + .long 1072946854 + .long 78413852 + .long 1072953925 + .long 569847338 + .long 1072961034 + .long 3645941911 + .long 1072968181 + .long 1617004845 + .long 1072975368 + .long 3978100823 + .long 1072982593 + .long 3049340112 + .long 1072989858 + .long 4040676318 + .long 1072997162 + .long 3577096743 + .long 1073004506 + .long 2583551245 + .long 1073011890 + .long 1990012071 + .long 1073019314 + .long 2731501122 + .long 1073026778 + .long 1453150082 + .long 1073034283 + .long 3395129871 + .long 1073041828 + .long 917841882 + .long 1073049415 + .long 3566716925 + .long 1073057042 + .long 3712504873 + .long 1073064711 + .long 2321106615 + .long 1073072422 + .long 363667784 + .long 1073080175 + .long 3111574537 + .long 1073087969 + .long 2956612997 + .long 1073095806 + .long 885834528 + .long 1073103686 + .long 2186617381 + .long 1073111608 + .long 3561793907 + .long 1073119573 + .long 1719614413 + .long 1073127582 + .long 1963711167 + .long 1073135634 + .long 1013258799 + .long 1073143730 + .long 4182873220 + .long 1073151869 + .long 3907805044 + .long 1073160053 + .long 1218806132 + .long 1073168282 + .long 1447192521 + .long 1073176555 + .long 1339972927 + .long 1073184873 + .long 1944781191 + .long 1073193236 + .long 19972402 + .long 1073201645 + .long 919555682 + .long 1073210099 + .long 1413356050 + .long 1073218599 + .long 2571947539 + .long 1073227145 + .long 1176749997 + .long 1073235738 + .long 2604962541 + .long 1073244377 + .long 3649726105 + .long 1073253063 + .long 1110089947 + .long 1073261797 + .long 380978316 + .long 1073270578 + .long 2568320822 + .long 1073279406 + .long 194117574 + .long 1073288283 + .long 2966275557 + .long 1073297207 + .long 3418903055 + .long 1073306180 + .long 2682146384 + .long 1073315202 + .long 1892288442 + .long 1073324273 + .long 2191782032 + .long 1073333393 + .long 434316067 + .long 1073342563 + .long 2069751141 + .long 1073351782 + .long 3964284211 + .long 1073361051 + .long 2990417245 + .long 1073370371 + .long 321958744 + .long 1073379742 + .long 1434058175 + .long 1073389163 + .long 3218338682 + .long 1073398635 + .long 2572866477 + .long 1073408159 + .long 697153126 + .long 1073417735 + .long 3092190715 + .long 1073427362 + .long 2380618042 + .long 1073437042 + .long 4076559943 + .long 1073446774 + .long 815859274 + .long 1073456560 + .long 2420883922 + .long 1073466398 + .long 1540824585 + .long 1073476290 + .long 3716502172 + .long 1073486235 + .long 1610600570 + .long 1073496235 + .long 777507147 + .long 1073506289 + .long 2483480501 + .long 1073516397 + .long 3706687593 + .long 1073526560 + .long 1432208378 + .long 1073536779 + .long 1242007932 + .long 1073547053 + .long 135105010 + .long 1073557383 + .long 3707479175 + .long 1073567768 + .long 382305176 + .long 1073578211 + .long 64696965 + .long 1073588710 + .long 4076975200 + .long 1073599265 + .long 863738719 + .long 1073609879 + .long 351641897 + .long 1073620550 + .long 3884662774 + .long 1073631278 + .long 4224142467 + .long 1073642065 + .long 2728693978 + .long 1073652911 + .long 764307441 + .long 1073663816 + .long 3999357479 + .long 1073674779 + .long 929806999 + .long 1073685803 + .long 1533953344 + .long 1073696886 + .long 2912730644 + .long 1073708029 + .long 2174652632 + .long 1073719233 + .long 730821105 + .long 1073730498 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277810821 + .long 1072049730 + .long 4277810821 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4286761544 + .long 1070514109 + .long 4286761544 + .long 1070514109 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2978017349 + .long 1068264201 + .long 2978017349 + .long 1068264201 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1538336399 + .long 1065595563 + .long 1538336399 + .long 1065595563 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 127 + .long 0 + .long 127 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1083174911 + .long 1083174911 + .long 1083174911 + .long 1083174911 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_dexp2_data_internal,@object + .size __svml_dexp2_data_internal,1536 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core-sse.S new file mode 100644 index 0000000000..51c5de1100 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized exp2, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_exp2 _ZGVdN4v_exp2_sse_wrapper +#include "../svml_d_exp24_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core.c new file mode 100644 index 0000000000..bb979afde6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized exp2, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_exp2 +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_exp2, __GI__ZGVdN4v_exp2, __redirect__ZGVdN4v_exp2) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core_avx2.S new file mode 100644 index 0000000000..b1012c61ce --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core_avx2.S @@ -0,0 +1,1231 @@ +/* Function exp vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * exp2(x) = 2^n * T[j] * (1 + P(y)) + * where + * x = m*(1/K) + y, y in [-1/K..1/K] + * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * + * values of 2^j/K are tabulated + * + * P(y) is a minimax polynomial approximation of exp2(x)-1 + * on small interval [-1/K..1/K] + * + * Special cases: + * + * exp2(NaN) = NaN + * exp2(+INF) = +INF + * exp2(-INF) = 0 + * exp2(x) = 1 for subnormals + * For IEEE double + * if x >= 1024.0 then exp2(x) overflows + * if x < -1076.0 then exp2(x) underflows + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_exp2_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* out, basePtr, iIndex, iBaseOfs, iSize, iGran, iOfs */ + lea __svml_dexp2_data_internal(%rip), %rax + vmovupd 1024+__svml_dexp2_data_internal(%rip), %ymm4 + vmovupd 1344+__svml_dexp2_data_internal(%rip), %ymm3 + vmovups %ymm13, 256(%rsp) + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + +/* + * Polynomial + * poly(dN) = a1*dR+...+a4*dR^4 + */ + vmovupd 1280+__svml_dexp2_data_internal(%rip), %ymm13 + vmovups %ymm8, 32(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm14, 288(%rsp) + vmovapd %ymm0, %ymm1 + +/* Load arument */ + vaddpd %ymm4, %ymm1, %ymm2 + vsubpd %ymm4, %ymm2, %ymm0 + +/* Check for overflow\underflow */ + vextractf128 $1, %ymm1, %xmm5 + +/* R */ + vsubpd %ymm0, %ymm1, %ymm0 + vshufps $221, %xmm5, %xmm1, %xmm6 + +/* Index and lookup */ + vandps %ymm3, %ymm2, %ymm5 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vfmadd213pd 1216+__svml_dexp2_data_internal(%rip), %ymm0, %ymm13 + vandps 1408+__svml_dexp2_data_internal(%rip), %xmm6, %xmm7 + vpcmpgtd 1472+__svml_dexp2_data_internal(%rip), %xmm7, %xmm4 + vmovmskps %xmm4, %edx + vpandn %ymm2, %ymm3, %ymm2 + vfmadd213pd 1152+__svml_dexp2_data_internal(%rip), %ymm0, %ymm13 + +/* 2^N */ + vpsllq $45, %ymm2, %ymm3 + +/* a1+...+a4*dR^3 ! */ + vfmadd213pd 1088+__svml_dexp2_data_internal(%rip), %ymm0, %ymm13 + vextractf128 $1, %ymm5, %xmm8 + vmovd %xmm5, %ecx + vmovd %xmm8, %r9d + shll $3, %ecx + vpextrd $2, %xmm5, %r8d + shll $3, %r9d + vpextrd $2, %xmm8, %r10d + shll $3, %r8d + vmovq (%rax,%rcx), %xmm6 + shll $3, %r10d + vmovq (%rax,%r9), %xmm9 + vmovhpd (%rax,%r8), %xmm6, %xmm7 + vmovhpd (%rax,%r10), %xmm9, %xmm10 + vinsertf128 $1, %xmm10, %ymm7, %ymm12 + +/* dR=dR*dT */ + vmulpd %ymm0, %ymm12, %ymm11 + +/* + * Reconstruction + * exp2 = {2^N later}*(Tj+Tj*poly) + * dN = dT+dT*dR*(a1+...+a4*dR^3) + */ + vfmadd213pd %ymm12, %ymm11, %ymm13 + +/* quick 2^N */ + vpaddq %ymm3, %ymm13, %ymm0 + +/* Finish */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm1, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dexp2_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_exp2_avx2) + + .align 16,0x90 + +__svml_dexp2_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dexp2_cout_rare_internal,@function + .size __svml_dexp2_cout_rare_internal,.-__svml_dexp2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dexp2_data_internal: + .long 0 + .long 1072693248 + .long 2851812149 + .long 1072698941 + .long 1048019041 + .long 1072704666 + .long 3899555717 + .long 1072710421 + .long 3541402996 + .long 1072716208 + .long 702412510 + .long 1072722027 + .long 410360776 + .long 1072727877 + .long 3402036099 + .long 1072733758 + .long 1828292879 + .long 1072739672 + .long 728909815 + .long 1072745618 + .long 852742562 + .long 1072751596 + .long 2952712987 + .long 1072757606 + .long 3490863953 + .long 1072763649 + .long 3228316108 + .long 1072769725 + .long 2930322912 + .long 1072775834 + .long 3366293073 + .long 1072781976 + .long 1014845819 + .long 1072788152 + .long 948735466 + .long 1072794361 + .long 3949972341 + .long 1072800603 + .long 2214878420 + .long 1072806880 + .long 828946858 + .long 1072813191 + .long 586995997 + .long 1072819536 + .long 2288159958 + .long 1072825915 + .long 2440944790 + .long 1072832329 + .long 1853186616 + .long 1072838778 + .long 1337108031 + .long 1072845262 + .long 1709341917 + .long 1072851781 + .long 3790955393 + .long 1072858335 + .long 4112506593 + .long 1072864925 + .long 3504003472 + .long 1072871551 + .long 2799960843 + .long 1072878213 + .long 2839424854 + .long 1072884911 + .long 171030293 + .long 1072891646 + .long 4232894513 + .long 1072898416 + .long 2992903935 + .long 1072905224 + .long 1603444721 + .long 1072912069 + .long 926591435 + .long 1072918951 + .long 1829099622 + .long 1072925870 + .long 887463927 + .long 1072932827 + .long 3272845541 + .long 1072939821 + .long 1276261410 + .long 1072946854 + .long 78413852 + .long 1072953925 + .long 569847338 + .long 1072961034 + .long 3645941911 + .long 1072968181 + .long 1617004845 + .long 1072975368 + .long 3978100823 + .long 1072982593 + .long 3049340112 + .long 1072989858 + .long 4040676318 + .long 1072997162 + .long 3577096743 + .long 1073004506 + .long 2583551245 + .long 1073011890 + .long 1990012071 + .long 1073019314 + .long 2731501122 + .long 1073026778 + .long 1453150082 + .long 1073034283 + .long 3395129871 + .long 1073041828 + .long 917841882 + .long 1073049415 + .long 3566716925 + .long 1073057042 + .long 3712504873 + .long 1073064711 + .long 2321106615 + .long 1073072422 + .long 363667784 + .long 1073080175 + .long 3111574537 + .long 1073087969 + .long 2956612997 + .long 1073095806 + .long 885834528 + .long 1073103686 + .long 2186617381 + .long 1073111608 + .long 3561793907 + .long 1073119573 + .long 1719614413 + .long 1073127582 + .long 1963711167 + .long 1073135634 + .long 1013258799 + .long 1073143730 + .long 4182873220 + .long 1073151869 + .long 3907805044 + .long 1073160053 + .long 1218806132 + .long 1073168282 + .long 1447192521 + .long 1073176555 + .long 1339972927 + .long 1073184873 + .long 1944781191 + .long 1073193236 + .long 19972402 + .long 1073201645 + .long 919555682 + .long 1073210099 + .long 1413356050 + .long 1073218599 + .long 2571947539 + .long 1073227145 + .long 1176749997 + .long 1073235738 + .long 2604962541 + .long 1073244377 + .long 3649726105 + .long 1073253063 + .long 1110089947 + .long 1073261797 + .long 380978316 + .long 1073270578 + .long 2568320822 + .long 1073279406 + .long 194117574 + .long 1073288283 + .long 2966275557 + .long 1073297207 + .long 3418903055 + .long 1073306180 + .long 2682146384 + .long 1073315202 + .long 1892288442 + .long 1073324273 + .long 2191782032 + .long 1073333393 + .long 434316067 + .long 1073342563 + .long 2069751141 + .long 1073351782 + .long 3964284211 + .long 1073361051 + .long 2990417245 + .long 1073370371 + .long 321958744 + .long 1073379742 + .long 1434058175 + .long 1073389163 + .long 3218338682 + .long 1073398635 + .long 2572866477 + .long 1073408159 + .long 697153126 + .long 1073417735 + .long 3092190715 + .long 1073427362 + .long 2380618042 + .long 1073437042 + .long 4076559943 + .long 1073446774 + .long 815859274 + .long 1073456560 + .long 2420883922 + .long 1073466398 + .long 1540824585 + .long 1073476290 + .long 3716502172 + .long 1073486235 + .long 1610600570 + .long 1073496235 + .long 777507147 + .long 1073506289 + .long 2483480501 + .long 1073516397 + .long 3706687593 + .long 1073526560 + .long 1432208378 + .long 1073536779 + .long 1242007932 + .long 1073547053 + .long 135105010 + .long 1073557383 + .long 3707479175 + .long 1073567768 + .long 382305176 + .long 1073578211 + .long 64696965 + .long 1073588710 + .long 4076975200 + .long 1073599265 + .long 863738719 + .long 1073609879 + .long 351641897 + .long 1073620550 + .long 3884662774 + .long 1073631278 + .long 4224142467 + .long 1073642065 + .long 2728693978 + .long 1073652911 + .long 764307441 + .long 1073663816 + .long 3999357479 + .long 1073674779 + .long 929806999 + .long 1073685803 + .long 1533953344 + .long 1073696886 + .long 2912730644 + .long 1073708029 + .long 2174652632 + .long 1073719233 + .long 730821105 + .long 1073730498 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277810821 + .long 1072049730 + .long 4277810821 + .long 1072049730 + .long 4277810821 + .long 1072049730 + .long 4277810821 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4286761544 + .long 1070514109 + .long 4286761544 + .long 1070514109 + .long 4286761544 + .long 1070514109 + .long 4286761544 + .long 1070514109 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2978017349 + .long 1068264201 + .long 2978017349 + .long 1068264201 + .long 2978017349 + .long 1068264201 + .long 2978017349 + .long 1068264201 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1538336399 + .long 1065595563 + .long 1538336399 + .long 1065595563 + .long 1538336399 + .long 1065595563 + .long 1538336399 + .long 1065595563 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 127 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1083174911 + .long 1083174911 + .long 1083174911 + .long 1083174911 + .long 1083174911 + .long 1083174911 + .long 1083174911 + .long 1083174911 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_dexp2_data_internal,@object + .size __svml_dexp2_data_internal,1536 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core-avx2.S new file mode 100644 index 0000000000..c9c17f0aaa --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized exp2, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_exp2 _ZGVeN8v_exp2_avx2_wrapper +#include "../svml_d_exp28_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core.c new file mode 100644 index 0000000000..3be9e88e98 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized exp2, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_exp2 +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_exp2, __GI__ZGVeN8v_exp2, __redirect__ZGVeN8v_exp2) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core_avx512.S new file mode 100644 index 0000000000..5bb1a06ab7 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core_avx512.S @@ -0,0 +1,829 @@ +/* Function exp vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Double precision mantissa represented as: 1.b1b2b3 ... b52 + * Constant for double precision: S = 2^48 x 1.5 + * + * 2^X = 2^Xo x 2^{X-Xo} + * 2^X = 2^K x 2^fo x 2^{X-Xo} + * 2^X = 2^K x 2^fo x 2^r + * + * 2^K --> Manual scaling + * 2^fo --> Table lookup + * r --> 1 + poly (r = X - Xo) + * + * Xo = K + fo + * Xo = K + 0.x1x2x3x4 + * + * r = X - Xo + * = Vreduce(X, imm) + * = X - VRndScale(X, imm), where Xo = VRndScale(X, imm) + * + * Rnd(S + X) = S + Xo, where S is selected as S = 2^19 x 1.5 + * S + X = S + floor(X) + 0.x1x2x3x4 + * Rnd(S + X) = Rnd(2^48 x 1.5 + X) + * (Note: 2^exp x 1.b1b2b3 ... b52, 2^{exp-52} = 2^-4 for exp=48) + * + * exp2(x) = 2^K x 2^fo x (1 + poly(r)), where 2^r = 1 + poly(r) + * + * Scale back: + * dest = src1 x 2^floor(src2) + * + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_exp2_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups 384+__svml_dexp2_data_internal_avx512(%rip), %zmm14 + vmovups 448+__svml_dexp2_data_internal_avx512(%rip), %zmm6 + +/* + * Reduced argument + * where VREDUCE is available + */ + 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 + +/* + * + * HA + * Variables and constants + * Load constants and vector(s) + */ + 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: + 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 + +END(_ZGVeN8v_exp2_skx) + + .align 16,0x90 + +__svml_dexp2_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dexp2_cout_rare_internal,@function + .size __svml_dexp2_cout_rare_internal,.-__svml_dexp2_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core-avx2.S new file mode 100644 index 0000000000..4daa687852 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized exp2f. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_exp2f _ZGVeN16v_exp2f_avx2_wrapper +#include "../svml_s_exp2f16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core.c new file mode 100644 index 0000000000..e90d9d8684 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized exp2f, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_exp2f +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_exp2f, __GI__ZGVeN16v_exp2f, + __redirect__ZGVeN16v_exp2f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core_avx512.S new file mode 100644 index 0000000000..7848ebca87 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core_avx512.S @@ -0,0 +1,511 @@ +/* Function expf16 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Single precision mantissa represented as: 1.b1b2b3 ... b23 + * Constant for single precision: S = 2^19 x 1.5 + * + * 2^X = 2^Xo x 2^{X-Xo} + * 2^X = 2^K x 2^fo x 2^{X-Xo} + * 2^X = 2^K x 2^fo x 2^r + * + * 2^K --> Manual scaling + * 2^fo --> Table lookup + * r --> 1 + poly (r = X - Xo) + * + * Xo = K + fo + * Xo = K + 0.x1x2x3x4 + * + * r = X - Xo + * = Vreduce(X, imm) + * = X - VRndScale(X, imm), where Xo = VRndScale(X, imm) + * + * Rnd(S + X) = S + Xo, where S is selected as S = 2^19 x 1.5 + * S + X = S + floor(X) + 0.x1x2x3x4 + * Rnd(S + X) = Rnd(2^19 x 1.5 + X) + * (Note: 2^exp x 1.b1b2b3 ... b23, 2^{exp-23} = 2^-4 for exp=19) + * + * exp2(x) = 2^K x 2^fo x (1 + poly(r)), where 2^r = 1 + poly(r) + * + * Scale back: + * dest = src1 x 2^floor(src2) + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_exp2f_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups 256+__svml_sexp2_data_internal_avx512(%rip), %zmm3 + +/* + * Reduced argument + * where VREDUCE is available + */ + 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 + +/* + * + * HA + * Variables and constants + * Load constants and vector(s) + */ + 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: + 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 + +END(_ZGVeN16v_exp2f_skx) + + .align 16,0x90 + +__svml_sexp2_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_10 + movss (%rdi), %xmm7 + movss .FLT_43(%rip), %xmm0 + movl %eax, -12(%rsp) + comiss %xmm7, %xmm0 + jb .LBL_2_8 + comiss .FLT_44(%rip), %xmm7 + jb .LBL_2_7 + movaps %xmm7, %xmm0 + movaps %xmm7, %xmm5 + movss %xmm0, -24(%rsp) + movss -24(%rsp), %xmm1 + movss .FLT_46(%rip), %xmm2 + movss .FLT_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 .FLT_51(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_50(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_49(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_48(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_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 .FLT_54(%rip), %xmm1 + movss %xmm1, -16(%rsp) + movl -16(%rsp), %ecx + movl %ecx, (%rsi) + ret + +.LBL_2_6: + addl $-106, %edx + cmpltss .FLT_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 .FLT_55(%rip), %xmm1 + movss %xmm1, -16(%rsp) + movl -16(%rsp), %ecx + movl %ecx, (%rsi) + ret + +.LBL_2_7: + movss .FLT_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 .FLT_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 + + cfi_endproc + + .type __svml_sexp2_cout_rare_internal,@function + .size __svml_sexp2_cout_rare_internal,.-__svml_sexp2_cout_rare_internal + + .section .rodata, "a" + .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 + +.FLT_43: + .long 0x43000000 + .type .FLT_43,@object + .size .FLT_43,4 + .align 4 + +.FLT_44: + .long 0xc3160000 + .type .FLT_44,@object + .size .FLT_44,4 + .align 4 + +.FLT_45: + .long 0x7f7fffff + .type .FLT_45,@object + .size .FLT_45,4 + .align 4 + +.FLT_46: + .long 0x4b400000 + .type .FLT_46,@object + .size .FLT_46,4 + .align 4 + +.FLT_47: + .long 0x3f800001 + .type .FLT_47,@object + .size .FLT_47,4 + .align 4 + +.FLT_48: + .long 0x3f317219 + .type .FLT_48,@object + .size .FLT_48,4 + .align 4 + +.FLT_49: + .long 0x3e75fc83 + .type .FLT_49,@object + .size .FLT_49,4 + .align 4 + +.FLT_50: + .long 0x3d635716 + .type .FLT_50,@object + .size .FLT_50,4 + .align 4 + +.FLT_51: + .long 0x3c1e883d + .type .FLT_51,@object + .size .FLT_51,4 + .align 4 + +.FLT_52: + .long 0x3aafc483 + .type .FLT_52,@object + .size .FLT_52,4 + .align 4 + +.FLT_53: + .long 0x00000001 + .type .FLT_53,@object + .size .FLT_53,4 + .align 4 + +.FLT_54: + .long 0x7f000000 + .type .FLT_54,@object + .size .FLT_54,4 + .align 4 + +.FLT_55: + .long 0x34000000 + .type .FLT_55,@object + .size .FLT_55,4 + .align 4 + +.FLT_56: + .long 0xc2fc0000 + .type .FLT_56,@object + .size .FLT_56,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core-sse2.S new file mode 100644 index 0000000000..0b3fec834c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized exp2f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_exp2f _ZGVbN4v_exp2f_sse2 +#include "../svml_s_exp2f4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core.c new file mode 100644 index 0000000000..db47118d97 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized exp2f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_exp2f +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_exp2f, __GI__ZGVbN4v_exp2f, + __redirect__ZGVbN4v_exp2f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core_sse4.S new file mode 100644 index 0000000000..4c3e43be97 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core_sse4.S @@ -0,0 +1,923 @@ +/* Function expf4 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * exp2(x) = 2^n * T[j] * (1 + P(y)) + * where + * x = m*(1/K) + y, y in [-1/K..1/K] + * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * + * values of 2^j/K are tabulated + * + * P(y) is a minimax polynomial approximation of exp2(x)-1 + * on small interval [-1/K..1/K] + * + * Special cases: + * + * exp2(NaN) = NaN + * exp2(+INF) = +INF + * exp2(-INF) = 0 + * exp2(x) = 1 for subnormals + * For IEEE float + * if x >= 128.0 then exp2f(x) overflow + * if x < -151.0 then exp2f(x) underflow + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_exp2f_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + +/* Check for overflow\underflow */ + movups __svml_sexp2_data_internal(%rip), %xmm1 + +/* Implementation */ + movaps %xmm1, %xmm5 + +/* Polynomial */ + movups 448+__svml_sexp2_data_internal(%rip), %xmm4 + addps %xmm0, %xmm5 + movaps %xmm5, %xmm3 + +/* 2^N */ + pslld $23, %xmm5 + +/* Check for overflow\underflow */ + movdqu 512+__svml_sexp2_data_internal(%rip), %xmm2 + subps %xmm1, %xmm3 + +/* R */ + movaps %xmm0, %xmm1 + pand %xmm0, %xmm2 + pcmpgtd 576+__svml_sexp2_data_internal(%rip), %xmm2 + subps %xmm3, %xmm1 + movmskps %xmm2, %edx + mulps %xmm1, %xmm4 + addps 384+__svml_sexp2_data_internal(%rip), %xmm4 + mulps %xmm1, %xmm4 + addps 320+__svml_sexp2_data_internal(%rip), %xmm4 + mulps %xmm1, %xmm4 + addps 256+__svml_sexp2_data_internal(%rip), %xmm4 + mulps %xmm1, %xmm4 + addps 192+__svml_sexp2_data_internal(%rip), %xmm4 + mulps %xmm1, %xmm4 + addps 128+__svml_sexp2_data_internal(%rip), %xmm4 + mulps %xmm4, %xmm1 + addps 64+__svml_sexp2_data_internal(%rip), %xmm1 + +/* Reconstruction */ + paddd %xmm5, %xmm1 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movaps %xmm1, %xmm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm0, 192(%rsp) + movups %xmm1, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm1 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_sexp2_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_exp2f_sse4) + + .align 16,0x90 + +__svml_sexp2_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_10 + movss (%rdi), %xmm7 + movss .FLT_46(%rip), %xmm0 + movl %eax, -12(%rsp) + comiss %xmm7, %xmm0 + jb .LBL_2_8 + comiss .FLT_47(%rip), %xmm7 + jb .LBL_2_7 + movaps %xmm7, %xmm0 + movaps %xmm7, %xmm5 + movss %xmm0, -24(%rsp) + movss -24(%rsp), %xmm1 + movss .FLT_49(%rip), %xmm2 + movss .FLT_55(%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 .FLT_54(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_53(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_52(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_51(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_50(%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 .FLT_57(%rip), %xmm1 + movss %xmm1, -16(%rsp) + movl -16(%rsp), %ecx + movl %ecx, (%rsi) + ret + +.LBL_2_6: + addl $-106, %edx + cmpltss .FLT_59(%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 .FLT_58(%rip), %xmm1 + movss %xmm1, -16(%rsp) + movl -16(%rsp), %ecx + movl %ecx, (%rsi) + ret + +.LBL_2_7: + movss .FLT_56(%rip), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, -16(%rsp) + movl -16(%rsp), %eax + movl %eax, (%rsi) + movl $4, %eax + ret + +.LBL_2_8: + movss .FLT_48(%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 + + cfi_endproc + + .type __svml_sexp2_cout_rare_internal,@function + .size __svml_sexp2_cout_rare_internal,.-__svml_sexp2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sexp2_data_internal: + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1047920111 + .long 1047920111 + .long 1047920111 + .long 1047920111 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1029920719 + .long 1029920719 + .long 1029920719 + .long 1029920719 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1008571948 + .long 1008571948 + .long 1008571948 + .long 1008571948 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 984578641 + .long 984578641 + .long 984578641 + .long 984578641 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 958479500 + .long 958479500 + .long 958479500 + .long 958479500 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1123811328 + .long 1123811328 + .long 1123811328 + .long 1123811328 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_sexp2_data_internal,@object + .size __svml_sexp2_data_internal,640 + .align 4 + +.FLT_46: + .long 0x43000000 + .type .FLT_46,@object + .size .FLT_46,4 + .align 4 + +.FLT_47: + .long 0xc3160000 + .type .FLT_47,@object + .size .FLT_47,4 + .align 4 + +.FLT_48: + .long 0x7f7fffff + .type .FLT_48,@object + .size .FLT_48,4 + .align 4 + +.FLT_49: + .long 0x4b400000 + .type .FLT_49,@object + .size .FLT_49,4 + .align 4 + +.FLT_50: + .long 0x3f800001 + .type .FLT_50,@object + .size .FLT_50,4 + .align 4 + +.FLT_51: + .long 0x3f317219 + .type .FLT_51,@object + .size .FLT_51,4 + .align 4 + +.FLT_52: + .long 0x3e75fc83 + .type .FLT_52,@object + .size .FLT_52,4 + .align 4 + +.FLT_53: + .long 0x3d635716 + .type .FLT_53,@object + .size .FLT_53,4 + .align 4 + +.FLT_54: + .long 0x3c1e883d + .type .FLT_54,@object + .size .FLT_54,4 + .align 4 + +.FLT_55: + .long 0x3aafc483 + .type .FLT_55,@object + .size .FLT_55,4 + .align 4 + +.FLT_56: + .long 0x00000001 + .type .FLT_56,@object + .size .FLT_56,4 + .align 4 + +.FLT_57: + .long 0x7f000000 + .type .FLT_57,@object + .size .FLT_57,4 + .align 4 + +.FLT_58: + .long 0x34000000 + .type .FLT_58,@object + .size .FLT_58,4 + .align 4 + +.FLT_59: + .long 0xc2fc0000 + .type .FLT_59,@object + .size .FLT_59,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core-sse.S new file mode 100644 index 0000000000..4da2278ed8 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized exp2f, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_exp2f _ZGVdN8v_exp2f_sse_wrapper +#include "../svml_s_exp2f8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core.c new file mode 100644 index 0000000000..dc34671263 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized exp2f, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_exp2f +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_exp2f, __GI__ZGVdN8v_exp2f, + __redirect__ZGVdN8v_exp2f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core_avx2.S new file mode 100644 index 0000000000..d42dc0abc5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core_avx2.S @@ -0,0 +1,795 @@ +/* Function expf8 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * exp2(x) = 2^n * T[j] * (1 + P(y)) + * where + * x = m*(1/K) + y, y in [-1/K..1/K] + * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * + * values of 2^j/K are tabulated + * + * P(y) is a minimax polynomial approximation of exp2(x)-1 + * on small interval [-1/K..1/K] + * + * Special cases: + * + * exp2(NaN) = NaN + * exp2(+INF) = +INF + * exp2(-INF) = 0 + * exp2(x) = 1 for subnormals + * For IEEE float + * if x >= 128.0 then exp2f(x) overflow + * if x < -151.0 then exp2f(x) underflow + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_exp2f_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* Check for overflow\underflow */ + vmovups __svml_sexp2_data_internal(%rip), %ymm1 + vmovups %ymm8, 32(%rsp) + +/* Polynomial */ + vmovups 448+__svml_sexp2_data_internal(%rip), %ymm7 + vmovups %ymm15, 320(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm9, 96(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovaps %ymm0, %ymm8 + +/* Implementation */ + vaddps %ymm1, %ymm8, %ymm6 + vsubps %ymm1, %ymm6, %ymm4 + +/* 2^N */ + vpslld $23, %ymm6, %ymm0 + +/* R */ + vsubps %ymm4, %ymm8, %ymm5 + vfmadd213ps 384+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + vfmadd213ps 320+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + vfmadd213ps 256+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + vfmadd213ps 192+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + vfmadd213ps 128+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + vfmadd213ps 64+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + +/* Check for overflow\underflow */ + vandps 512+__svml_sexp2_data_internal(%rip), %ymm8, %ymm2 + vpcmpgtd 576+__svml_sexp2_data_internal(%rip), %ymm2, %ymm3 + vmovmskps %ymm3, %edx + +/* Reconstruction */ + vpaddd %ymm0, %ymm7, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm8, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_sexp2_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_exp2f_avx2) + + .align 16,0x90 + +__svml_sexp2_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_10 + movss (%rdi), %xmm7 + movss .FLT_46(%rip), %xmm0 + movl %eax, -12(%rsp) + comiss %xmm7, %xmm0 + jb .LBL_2_8 + comiss .FLT_47(%rip), %xmm7 + jb .LBL_2_7 + movaps %xmm7, %xmm0 + movaps %xmm7, %xmm5 + movss %xmm0, -24(%rsp) + movss -24(%rsp), %xmm1 + movss .FLT_49(%rip), %xmm2 + movss .FLT_55(%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 .FLT_54(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_53(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_52(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_51(%rip), %xmm6 + mulss %xmm5, %xmm6 + addss .FLT_50(%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 .FLT_57(%rip), %xmm1 + movss %xmm1, -16(%rsp) + movl -16(%rsp), %ecx + movl %ecx, (%rsi) + ret + +.LBL_2_6: + addl $-106, %edx + cmpltss .FLT_59(%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 .FLT_58(%rip), %xmm1 + movss %xmm1, -16(%rsp) + movl -16(%rsp), %ecx + movl %ecx, (%rsi) + ret + +.LBL_2_7: + movss .FLT_56(%rip), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, -16(%rsp) + movl -16(%rsp), %eax + movl %eax, (%rsi) + movl $4, %eax + ret + +.LBL_2_8: + movss .FLT_48(%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 + + cfi_endproc + + .type __svml_sexp2_cout_rare_internal,@function + .size __svml_sexp2_cout_rare_internal,.-__svml_sexp2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sexp2_data_internal: + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1047920111 + .long 1047920111 + .long 1047920111 + .long 1047920111 + .long 1047920111 + .long 1047920111 + .long 1047920111 + .long 1047920111 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1029920719 + .long 1029920719 + .long 1029920719 + .long 1029920719 + .long 1029920719 + .long 1029920719 + .long 1029920719 + .long 1029920719 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1008571948 + .long 1008571948 + .long 1008571948 + .long 1008571948 + .long 1008571948 + .long 1008571948 + .long 1008571948 + .long 1008571948 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 984578641 + .long 984578641 + .long 984578641 + .long 984578641 + .long 984578641 + .long 984578641 + .long 984578641 + .long 984578641 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 958479500 + .long 958479500 + .long 958479500 + .long 958479500 + .long 958479500 + .long 958479500 + .long 958479500 + .long 958479500 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1123811328 + .long 1123811328 + .long 1123811328 + .long 1123811328 + .long 1123811328 + .long 1123811328 + .long 1123811328 + .long 1123811328 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_sexp2_data_internal,@object + .size __svml_sexp2_data_internal,640 + .align 4 + +.FLT_46: + .long 0x43000000 + .type .FLT_46,@object + .size .FLT_46,4 + .align 4 + +.FLT_47: + .long 0xc3160000 + .type .FLT_47,@object + .size .FLT_47,4 + .align 4 + +.FLT_48: + .long 0x7f7fffff + .type .FLT_48,@object + .size .FLT_48,4 + .align 4 + +.FLT_49: + .long 0x4b400000 + .type .FLT_49,@object + .size .FLT_49,4 + .align 4 + +.FLT_50: + .long 0x3f800001 + .type .FLT_50,@object + .size .FLT_50,4 + .align 4 + +.FLT_51: + .long 0x3f317219 + .type .FLT_51,@object + .size .FLT_51,4 + .align 4 + +.FLT_52: + .long 0x3e75fc83 + .type .FLT_52,@object + .size .FLT_52,4 + .align 4 + +.FLT_53: + .long 0x3d635716 + .type .FLT_53,@object + .size .FLT_53,4 + .align 4 + +.FLT_54: + .long 0x3c1e883d + .type .FLT_54,@object + .size .FLT_54,4 + .align 4 + +.FLT_55: + .long 0x3aafc483 + .type .FLT_55,@object + .size .FLT_55,4 + .align 4 + +.FLT_56: + .long 0x00000001 + .type .FLT_56,@object + .size .FLT_56,4 + .align 4 + +.FLT_57: + .long 0x7f000000 + .type .FLT_57,@object + .size .FLT_57,4 + .align 4 + +.FLT_58: + .long 0x34000000 + .type .FLT_58,@object + .size .FLT_58,4 + .align 4 + +.FLT_59: + .long 0xc2fc0000 + .type .FLT_59,@object + .size .FLT_59,4 diff --git a/sysdeps/x86_64/fpu/svml_d_exp22_core.S b/sysdeps/x86_64/fpu/svml_d_exp22_core.S new file mode 100644 index 0000000000..f03080a977 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_exp22_core.S @@ -0,0 +1,29 @@ +/* Function exp2 vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_exp2) +WRAPPER_IMPL_SSE2 exp2 +END (_ZGVbN2v_exp2) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_exp2) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_exp24_core.S b/sysdeps/x86_64/fpu/svml_d_exp24_core.S new file mode 100644 index 0000000000..40475c7a94 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_exp24_core.S @@ -0,0 +1,29 @@ +/* Function exp2 vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_exp2) +WRAPPER_IMPL_AVX _ZGVbN2v_exp2 +END (_ZGVdN4v_exp2) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_exp2) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_exp24_core_avx.S b/sysdeps/x86_64/fpu/svml_d_exp24_core_avx.S new file mode 100644 index 0000000000..a7d22409df --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_exp24_core_avx.S @@ -0,0 +1,25 @@ +/* Function exp2 vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_exp2) +WRAPPER_IMPL_AVX _ZGVbN2v_exp2 +END (_ZGVcN4v_exp2) diff --git a/sysdeps/x86_64/fpu/svml_d_exp28_core.S b/sysdeps/x86_64/fpu/svml_d_exp28_core.S new file mode 100644 index 0000000000..f68aaed427 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_exp28_core.S @@ -0,0 +1,25 @@ +/* Function exp2 vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_exp2) +WRAPPER_IMPL_AVX512 _ZGVdN4v_exp2 +END (_ZGVeN8v_exp2) diff --git a/sysdeps/x86_64/fpu/svml_s_exp2f16_core.S b/sysdeps/x86_64/fpu/svml_s_exp2f16_core.S new file mode 100644 index 0000000000..8ba4e82272 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_exp2f16_core.S @@ -0,0 +1,25 @@ +/* Function exp2f vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_exp2f) +WRAPPER_IMPL_AVX512 _ZGVdN8v_exp2f +END (_ZGVeN16v_exp2f) diff --git a/sysdeps/x86_64/fpu/svml_s_exp2f4_core.S b/sysdeps/x86_64/fpu/svml_s_exp2f4_core.S new file mode 100644 index 0000000000..916f176dca --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_exp2f4_core.S @@ -0,0 +1,29 @@ +/* Function exp2f vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_exp2f) +WRAPPER_IMPL_SSE2 exp2f +END (_ZGVbN4v_exp2f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_exp2f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_exp2f8_core.S b/sysdeps/x86_64/fpu/svml_s_exp2f8_core.S new file mode 100644 index 0000000000..b8821b952b --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_exp2f8_core.S @@ -0,0 +1,29 @@ +/* Function exp2f vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_exp2f) +WRAPPER_IMPL_AVX _ZGVbN4v_exp2f +END (_ZGVdN8v_exp2f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_exp2f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_exp2f8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_exp2f8_core_avx.S new file mode 100644 index 0000000000..ddaaf3b59a --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_exp2f8_core_avx.S @@ -0,0 +1,25 @@ +/* Function exp2f vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_exp2f) +WRAPPER_IMPL_AVX _ZGVbN4v_exp2f +END (_ZGVcN8v_exp2f) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx.c new file mode 100644 index 0000000000..341ec99724 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-exp2.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx2.c new file mode 100644 index 0000000000..341ec99724 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-exp2.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx512f.c new file mode 100644 index 0000000000..341ec99724 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp2-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-exp2.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp2.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp2.c new file mode 100644 index 0000000000..b3b04f63e4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp2.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC exp2 +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 90eb5c3205..626d486baf 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -39,6 +39,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVbN2v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVbN2v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVbN2v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVbN2v_exp10) +VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVbN2v_exp2) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 5a960d003e..16b4160910 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVdN4v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVdN4v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVdN4v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVdN4v_exp10) +VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVdN4v_exp2) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 37d9ce9cb7..76e2acf8c9 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -39,6 +39,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVcN4v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVcN4v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVcN4v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVcN4v_exp10) +VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVcN4v_exp2) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index d61ab42881..ee71110aca 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -39,6 +39,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (cosh), _ZGVeN8v_cosh) VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVeN8v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVeN8v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVeN8v_exp10) +VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVeN8v_exp2) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx.c new file mode 100644 index 0000000000..0281d386fb --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-exp2f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx2.c new file mode 100644 index 0000000000..0281d386fb --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-exp2f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx512f.c new file mode 100644 index 0000000000..0281d386fb --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-exp2f-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-exp2f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-exp2f.c b/sysdeps/x86_64/fpu/test-float-libmvec-exp2f.c new file mode 100644 index 0000000000..bf57661bee --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-exp2f.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC exp2f +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 1470b4d890..b9a5abb780 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -39,6 +39,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVeN16v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVeN16v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVeN16v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVeN16v_exp10f) +VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVeN16v_exp2f) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 7833482006..f25757a975 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -39,6 +39,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVbN4v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVbN4v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVbN4v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVbN4v_exp10f) +VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVbN4v_exp2f) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 6719c1ae56..c589504eb3 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVdN8v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVdN8v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVdN8v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVdN8v_exp10f) +VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVdN8v_exp2f) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 40b852aad6..dc116f501d 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -39,6 +39,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (coshf), _ZGVcN8v_coshf) VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVcN8v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVcN8v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVcN8v_exp10f) +VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVcN8v_exp2f) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48108 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B6D9E3857C7A for ; Wed, 24 Nov 2021 20:35:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B6D9E3857C7A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637786143; bh=ViqEIejVtp+GZdaKBd3PL3J0xTV05rS6r4pX+IH7zpo=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=Eda1rYDQOp3WoJqfaJjGhKzIjs+/zH6fMH7ngviQJnDk3Y40QCGlf8opd3szw+FMT hZ3KQealcIMzMsQw8AyrRhhkWJFKd8EFhLx71R+cxxWeM93QuNTU2T/Ekr+br0cWx5 j3V54nCEFjsWNxABo96Odkuq1YoUvveeNRoZj9MI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 6B0AB3857C71 for ; Wed, 24 Nov 2021 19:38:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6B0AB3857C71 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235177337" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235177337" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="591701887" Received: from scymds02.sc.intel.com ([10.82.73.244]) by FMSMGA003.fm.intel.com with ESMTP; 24 Nov 2021 11:38:13 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XD021555; Wed, 24 Nov 2021 11:38:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 26/42] x86-64: Add vector exp2/exp2f to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:51 -0800 Message-Id: <20211124193807.2093208-27-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector exp2/exp2f and input files to libmvec microbenchmark. libmvec-exp2-inputs: 90% Normal random distribution range: (-1022.0, 1024.0) mean: 0.0 sigma: 16.0 10% uniform random distribution in range (-1000.0, 1000.0) libmvec-exp2f-inputs: 90% Normal random distribution range: (-126.0f, 128.0f) mean: 0.0f sigma: 8.0f 10% uniform random distribution in range (-100.0f, 100.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-exp2-inputs | 4100 +++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-exp2f-inputs | 4100 +++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-exp2-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-exp2f-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index bcf2d5a0e9..4dcd0c9d4c 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -56,6 +56,7 @@ libmvec-bench-funcs = \ erf \ erfc \ exp10 \ + exp2 \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-exp2-inputs b/sysdeps/x86_64/fpu/libmvec-exp2-inputs new file mode 100644 index 0000000000..15823996fa --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-exp2-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-1e+03, 1e+03), mean = 0, standard deviation = 16 +-0x1.11003707ad71cp+2 +-0x1.1f03ac14205d9p+3 +-0x1.88539918864c9p+4 +-0x1.4101316c89f72p+3 +-0x1.3b7fb80733407p+2 +0x1.029dee7ae42b8p+4 +0x1.77fde1eeb3fa9p+3 +0x1.16a53d1f1be7ep+5 +0x1.35a33590dab6ep+3 +-0x1.f85d770c98ac8p+2 +-0x1.75bd8b3896dd6p+4 +-0x1.360247570184fp+4 +0x1.1cb9fa09ed944p+5 +-0x1.cc0c949f502bdp+1 +-0x1.b06432c2571b1p+3 +0x1.e5f318e3e5fffp+4 +-0x1.2bbc5f516e8d5p+2 +-0x1.b20d60c7a530ap-4 +0x1.1ee5aa3496dfdp+3 +0x1.0d39d9919d41cp+4 +-0x1.f35ec91641a28p+2 +-0x1.90e89ab44af72p+3 +-0x1.8718b197051b2p+1 +0x1.e1a883407183ap+3 +-0x1.bb84130e0b6c2p+2 +0x1.66748e4448814p+4 +-0x1.03ac940894e0bp+4 +-0x1.2777c019ddd62p+2 +0x1.1d20fa6e1de58p+4 +-0x1.0d65971f91a47p+4 +0x1.948e128f1e25cp+1 +0x1.a2f9146265a94p+3 +0x1.8dfc3c4334d3fp+1 +-0x1.d2423b58befe4p+3 +0x1.7291977c39bfbp+1 +0x1.0d76b4a8e6ffap+0 +-0x1.8ba0bf00ef4fbp+3 +-0x1.657578a29b5d8p+2 +-0x1.42073771c3e34p+2 +0x1.d07cc93942dd6p-2 +-0x1.3c18dfcd0f52cp+0 +0x1.e264029c179bdp+3 +-0x1.16b4eb16e4697p+4 +0x1.919dfef854b24p+2 +0x1.51a8f5058cf09p-2 +-0x1.a0e648576f38p+3 +-0x1.7ed13b350af89p+1 +0x1.7c78e8308fd75p+3 +-0x1.371df5ae1bae6p+4 +-0x1.47b6c3841cc34p+2 +0x1.c0eb159b7735cp+3 +-0x1.041440688e7dcp+4 +0x1.747d826d6612p+3 +-0x1.0e3c3a9af5cbdp+5 +-0x1.9223e1cf1b888p+3 +0x1.2c285914810dep+2 +-0x1.e1009fc24adffp+3 +0x1.a994c08eb3571p+3 +0x1.5642c58ee1935p+4 +0x1.75627093f7afbp-2 +0x1.6feca48b8f959p+1 +-0x1.7e95d7fb26218p-2 +0x1.a638b6bcfe548p+1 +-0x1.6d0ab05da8ddap+4 +0x1.7a94e1f1d448fp-1 +0x1.cb814b7ce6be9p+3 +0x1.ef5984a81ededp+1 +0x1.4511a4ee5b844p+1 +0x1.c3236baf357dbp+1 +-0x1.b5663a8cd3b9ep-1 +0x1.f9775cb63303ap+3 +-0x1.fbe0031478fdap+3 +0x1.ec4068e7020c7p+0 +0x1.0af7c1486d593p+3 +-0x1.18e6b70f08559p+3 +0x1.2fc06a93c1a14p+2 +-0x1.0df60b2d5d5dcp+3 +-0x1.25699b5e29a54p+9 +-0x1.f9bea93247eaap+0 +-0x1.a8a18bac42c3ep+0 +0x1.c92b8aadf143p+8 +0x1.8035aed7e3caap+0 +0x1.6e5336703809cp+3 +-0x1.202ed659e43b3p+4 +-0x1.958d6ede80a6p+2 +-0x1.9c9b866ca2458p+1 +-0x1.ae79eb0610afep+2 +-0x1.08e9352d53acdp+2 +0x1.fa1d1125c944ep+3 +0x1.e0e74fafb7d1cp+3 +0x1.295ca37ef8281p+7 +0x1.4b33e5cb4d458p+4 +-0x1.37f81a887c07fp+3 +-0x1.d1b8204e578e7p+0 +-0x1.8d8c75ac1faf6p+4 +0x1.c753b324bdc81p+4 +0x1.59d5b085ab03ap+1 +-0x1.ea04b4cf878fbp+0 +0x1.29c33813f534dp-1 +-0x1.c2ee5e411a0abp+3 +0x1.cee3ca87f3fb9p+4 +-0x1.b5e1a68fd908dp+3 +-0x1.42abb872d6d69p+3 +0x1.1d88916f49ef1p+4 +0x1.80ec7c336cd4bp+2 +0x1.01096dab53456p-3 +0x1.9c79d91cd3abbp+3 +-0x1.253082fbb949cp+0 +-0x1.a401128cbd47p+2 +-0x1.7794302387928p+3 +0x1.77052a301b523p+2 +0x1.aa7ee75ee0531p+4 +-0x1.f6ee5bdcf7b24p-2 +0x1.a39a2af50b0c7p+3 +0x1.3221b7312157fp+3 +0x1.5ff5bc5f5da2dp+3 +-0x1.4613a9aa74a1ep+0 +-0x1.6991a4013ce91p+4 +-0x1.1071c932aaf75p+4 +-0x1.055f3a8317374p+4 +0x1.520ed8dc30dfcp+3 +-0x1.6e15432b01ce6p+4 +0x1.e818fff13878bp+4 +-0x1.8b8cb3370be2bp+3 +-0x1.a9f6495b21f7ep+3 +0x1.88e06bd995039p+2 +0x1.750ec69bb3a04p+3 +-0x1.0dd8abfb7163fp+3 +-0x1.99309e84c1aa3p+2 +-0x1.08b1bb04fcb2fp+2 +0x1.763f5c42e535fp+3 +0x1.0a5b3dcd01fc6p+2 +0x1.273d5ce7af555p+5 +-0x1.27eeab5a7ec7ap+4 +0x1.398225abd6819p+3 +0x1.56fe5fc6fa3c2p+4 +-0x1.f11f36ce3507dp+4 +0x1.9aca951469d7ap+2 +-0x1.8f8d41cd02deep+3 +-0x1.f49e6ed2ea59dp+1 +-0x1.7a129db836d66p-4 +-0x1.1ae76b7d889bbp+3 +0x1.087a59865458p+0 +0x1.6aff85979d2e4p+3 +-0x1.62fa8a2d852ep+2 +0x1.b66d4b202c901p+2 +0x1.b32cf8b59341dp+2 +-0x1.e60f73b81c999p+6 +-0x1.ac60d9bcb0c1ep+3 +-0x1.fbdc48a31f484p+1 +0x1.ce8d89c689577p+2 +-0x1.f0575d582a6f9p+2 +0x1.2480822366da6p+4 +-0x1.4b02cb0e67facp+0 +-0x1.f980a13147b0ap+3 +-0x1.d7c147ac37bbcp+3 +-0x1.19379d25cb96ap+0 +0x1.4957ca5078978p+9 +-0x1.ab949852b3ebfp+2 +0x1.0e6dad20e631fp+3 +-0x1.45599ccb9a8f2p+4 +-0x1.a1d652eced84ep+4 +0x1.0a9a084bf0496p+3 +-0x1.3806551d9b8a6p+3 +-0x1.4723e9533861ap+4 +0x1.82ba877ba1442p+4 +-0x1.be10fd54c1c05p+1 +0x1.6e9ab6991ff9p-6 +0x1.ac8eba94cd894p+4 +0x1.72f43a9f6a1c5p+1 +0x1.647a30feef7b1p+1 +-0x1.6a098d3db5971p+1 +-0x1.535b60bc394fap-1 +0x1.9b21776d6a934p+2 +-0x1.7712c3524774dp-3 +-0x1.d28fec264c5bbp+2 +0x1.e1f14824d866ap-2 +-0x1.4314fbc60688dp+1 +-0x1.3d2ddbf4fb65cp+3 +-0x1.91560bb9916ap+1 +-0x1.2064bd3b1efedp+5 +-0x1.8f0d5ae1f2d1dp+3 +0x1.81850a482ba67p+5 +-0x1.f7d0d6b631c12p+2 +-0x1.f23fd47cfedccp+3 +-0x1.75a6060cb3691p-1 +-0x1.d253dcef76f97p+3 +-0x1.5328460a56bcfp+3 +0x1.ce3576497d7cp+3 +-0x1.8652cde59b041p+2 +-0x1.9b8ef067e895dp+4 +0x1.7d9c66e44ec47p+4 +0x1.b96c3d206dae9p+4 +-0x1.f953fc1959504p+3 +-0x1.f135ded6c428ep+1 +-0x1.a1e7bf001c68dp+2 +0x1.46cfc16fd39dep+4 +-0x1.ae24518735eeap+2 +0x1.69939f4e7cd55p+4 +0x1.13306c72f0a09p+2 +0x1.61510c88f5508p-1 +-0x1.1a20364d51f6p+5 +-0x1.64ad7976812dfp+3 +0x1.bc0558fc677f4p+0 +0x1.3c093d67ef0f5p+0 +0x1.4f8ea8f2b2961p+3 +-0x1.55af0900913c4p+5 +0x1.5af1d2d65fffcp+2 +-0x1.0de627c082eb5p+3 +0x1.99ce9e0daa1e9p+4 +-0x1.f3ce28bc65e34p+3 +-0x1.2dcbcb1edbdd6p+4 +0x1.1adafdd6788cap+3 +0x1.853c9a6a80e5fp+1 +-0x1.00b1d997f5fbep-1 +-0x1.12d9e9bd6279ap+4 +-0x1.c05a7b8c13756p+4 +-0x1.df87d85868a0dp+4 +0x1.3e98c5ca53054p+3 +0x1.560246edba008p+4 +-0x1.c6b77410468a2p+3 +-0x1.2adfd4e073877p-2 +0x1.efefd701da649p+3 +0x1.c1a1321b7ef1p+0 +0x1.30ea39a7cf938p+4 +-0x1.a74dd3dc1e9a2p+3 +0x1.79ab521c3abfcp-2 +0x1.d28bd03ad897cp+3 +-0x1.dd0ae5433da8p+4 +0x1.0860581cad894p+4 +-0x1.3d8029781c0b5p+2 +-0x1.1185907f2891p+3 +0x1.2aa161a477366p+2 +-0x1.51a2fdf6d801dp+4 +0x1.6d4ca2cbce87bp+4 +-0x1.08647180c4641p+3 +0x1.73c0d4d983607p+1 +-0x1.460bb7d2967e5p+4 +-0x1.96b5c19d31dd8p+3 +0x1.002087be4803p+3 +-0x1.079c675e5f576p+4 +-0x1.a490fe5d517cap+0 +0x1.3a316fc183cdbp+1 +0x1.b3009a6de004ep+1 +-0x1.8be62fc82b254p+4 +0x1.c70c47d64b2e1p+1 +0x1.6ec300c6e0d84p+3 +-0x1.d42bdaaa529ccp-1 +0x1.542a484cbbdap+3 +-0x1.68aade01022e5p+3 +0x1.0719ec34bd9f8p+3 +0x1.5a5bef7e71b7fp+3 +-0x1.cd8d85a0d6f8bp+5 +0x1.0c90da8f599e4p+6 +0x1.65e234d9d723p+3 +0x1.81eea275987dcp+3 +-0x1.e09ae78c0f3d3p+2 +0x1.88cff5ac2b027p+2 +-0x1.f807fb90bbd08p+8 +0x1.b0dc5207eb04ap+2 +-0x1.949d08f8c29a8p+1 +0x1.2054be5894c16p+4 +-0x1.1c5a705a6144ep+4 +0x1.e43d64c360b1ep+7 +0x1.a1048ea4388a7p+0 +0x1.ede0402a06984p+3 +0x1.5dd9cecee44dp+4 +-0x1.ee86a38dcfb8bp+2 +0x1.430681c5d5435p+3 +-0x1.b239cdf03ac1ep+2 +-0x1.b155c322a615bp+4 +0x1.11059304523ccp+3 +-0x1.940484004736ap+3 +-0x1.038a7a00f864cp+4 +0x1.2ab817598e9cep+2 +-0x1.bb57ee381a94fp-4 +0x1.2c5fa973bc423p+2 +-0x1.105b2a041f858p+2 +0x1.ad21b525cafe7p+4 +0x1.f591180c51366p+3 +0x1.942c7148cde5ap+2 +-0x1.73fc05810249p+2 +0x1.19a063e9246a8p+4 +0x1.f440990cb9501p+1 +-0x1.6ea822c81ebefp+4 +0x1.05325f085e4dap+1 +-0x1.30227ac82dd9p+2 +0x1.69b3016747ba7p+0 +-0x1.a95e1be905656p+3 +0x1.2ff44c322ad99p+3 +0x1.8803b3b61b6ffp+3 +0x1.e33526ca99p+3 +-0x1.6ff0dcc1fdb1ap+3 +-0x1.a15cdae0069dp+1 +-0x1.ad8b0ddd507a6p+4 +-0x1.9c52c8fe232b1p+4 +0x1.1e8559bb5e4ccp+1 +0x1.bb99adabb7695p+2 +-0x1.1dae22a6fbcabp+4 +-0x1.9efa1bdb52cb6p+4 +0x1.7f4123362bf2fp+4 +0x1.a0ae02a90565bp+2 +0x1.6c88688bf3d0ep+3 +0x1.939110e017d55p+7 +0x1.1a07e1bd84d91p+4 +0x1.50e957f68cb51p+4 +-0x1.51cca92057939p+5 +0x1.62d0a629641b7p+4 +-0x1.641801bf2bda6p+0 +-0x1.a1d7bc21eb45cp+5 +0x1.44f21e1af96d9p+7 +0x1.a556292c47ef2p+4 +-0x1.af841b378367ap+1 +-0x1.6538b64ad0d9fp+4 +-0x1.29feb61cdd084p+3 +0x1.6071bbed6bd28p+5 +0x1.3a75b1d968b3bp+5 +0x1.501b2864bb0aap+3 +0x1.cab884c6bd488p+2 +-0x1.90b5a18083a02p+4 +-0x1.94991fb9ce0efp+4 +-0x1.4bf2146d428fbp+3 +-0x1.f4aaa87f6871dp+3 +-0x1.c904a4b94b4dep+3 +-0x1.851379734f5a1p+2 +-0x1.3253d2afe1b8dp+3 +-0x1.7e5a943926cb6p+3 +-0x1.ba8b241fbebep+2 +-0x1.e32c5b539ed49p+4 +-0x1.f7a818b66c2fbp+2 +0x1.d79048fa51f8ap+1 +-0x1.e1ee3cfd1f65ap+3 +0x1.8a59e5bc58019p+3 +0x1.72b319253eee7p+2 +-0x1.f0a78fd5454d7p+2 +-0x1.ec9f639a8510ep+2 +-0x1.ef4d44582ca63p+3 +-0x1.45030ba429744p+2 +-0x1.3de02f6079c35p+4 +-0x1.ae4ee802d4d44p+2 +-0x1.2a2442b03a96dp+4 +0x1.1e09c7cc868aep-4 +-0x1.d4ec79dc8a488p+6 +0x1.0b13ec95f71a5p+2 +0x1.5b22063d3f771p+3 +-0x1.c752f2d48be01p+1 +0x1.3d1510a4f8cdbp+3 +0x1.17da3098fa41dp+3 +-0x1.266a093459c2ap+3 +0x1.e36baab658f7bp+2 +-0x1.347da4da856a7p+2 +-0x1.39b4ff032f74p+0 +0x1.b9a57659a198ep+3 +-0x1.7218160918b0bp+3 +0x1.4139fe4f6d7e2p+4 +0x1.0b6028c217fb9p+3 +-0x1.9cf3201eb31ep+2 +0x1.4e85803ece1acp+4 +0x1.b07b4e5172c39p+1 +0x1.11701ffaaed4bp+1 +-0x1.c953c7a5404bap+5 +0x1.d1d4bddfa613ap+1 +0x1.a9ca39d6dd6d5p+3 +-0x1.5506bc6b3344fp+2 +0x1.7d3bab08c2e5dp+1 +0x1.ba237ef743cb1p+2 +-0x1.9d3fecf588cedp+3 +0x1.04414d215c2dcp+3 +-0x1.1ab065eb10c66p+3 +0x1.691400ffb7149p+3 +-0x1.eb6dd451f844p+2 +-0x1.bcfc0ccd8bdb9p+0 +0x1.010d86d3def47p+2 +-0x1.7ff50886aa934p+2 +-0x1.5c439da72b194p+0 +0x1.3ee03ef5f88e9p+4 +0x1.44bf15b0634b7p+2 +-0x1.dc7bfeb3d79c5p+1 +0x1.4b2044275cd4dp+2 +0x1.84fe3569cb2f3p+1 +0x1.cd76216869e9bp+4 +0x1.1b1d3cf683a9ep+4 +-0x1.9fcae5205cd46p+4 +-0x1.0a3b58f299bfdp+3 +-0x1.2abc89a0eb39fp+4 +0x1.8c4d6835e5972p+1 +0x1.0a5afe3c4ccc7p+4 +0x1.4fd2cc063a564p+1 +-0x1.08f70f09ad96p+6 +0x1.8d885d6947ae1p+4 +0x1.59ea516d1f26bp+4 +0x1.0ec88cec00338p-1 +-0x1.8a5d8487762f6p+4 +0x1.1a283a53f8328p+0 +0x1.829e7668f5048p+3 +-0x1.2fea9802c7feap+1 +-0x1.0136269e8d655p+4 +-0x1.d6aa45de9e968p+3 +0x1.1ae55c1f50a91p+2 +-0x1.6d2bbf6ac4bffp+2 +-0x1.2f894a496ef82p+3 +-0x1.8cccaafc6228bp+5 +0x1.a1847ab53654dp+2 +0x1.61b9f91dd1568p+4 +-0x1.593af265b0f1cp+2 +-0x1.6fcb3685e1188p+3 +-0x1.8843efbe767e9p+8 +0x1.55402eb22877fp-2 +-0x1.7758f8ef73ce5p+3 +-0x1.129ed6c9fec09p+3 +0x1.47b15b059fa22p+2 +0x1.c37c3800e473fp+0 +-0x1.55e59b46e00fep+3 +0x1.15ab24a33c4afp+2 +-0x1.5efb2f2360924p+4 +-0x1.c822455705f7dp+4 +-0x1.1ec1052baec55p+3 +-0x1.632d52993655fp+4 +-0x1.3b380e44110fbp+1 +-0x1.d06a61edd63b8p+4 +-0x1.648c7d2c9f39ap+5 +-0x1.e0c74983a6277p+2 +0x1.3b45c176c2365p+4 +0x1.9ac13402948f9p+4 +0x1.821b65b56e9d4p+2 +0x1.49d4a47602299p+0 +-0x1.9536fd2b229e5p+1 +-0x1.e45f70770ffa6p+3 +0x1.f42e02754d539p-1 +-0x1.1447c8f7f0803p+2 +-0x1.3814c90a3de51p+3 +-0x1.40270008fec01p+2 +-0x1.db96f4672c59fp+3 +0x1.b7e8d8652d20bp+3 +0x1.31f092f938cp+3 +-0x1.23d399672214ap+4 +0x1.7c07497eec991p+3 +-0x1.d6e5873aa87e8p+3 +-0x1.51e8d044a5eadp+2 +-0x1.076d0067d9a9bp+4 +-0x1.5ce540d167649p+2 +-0x1.03dbfbee1785p+3 +0x1.02c32cb8776d7p+4 +0x1.2900de5c7341p+3 +-0x1.2f1b473f9b62ep+4 +-0x1.5d38049159df2p+4 +0x1.7b1185942c1a5p+4 +0x1.ff5246459affp+1 +0x1.0e03a3dd96788p+5 +-0x1.76a414c910fb2p+3 +-0x1.1fffa49b7f639p+0 +0x1.9caea3b989545p+2 +-0x1.793d42826ff15p+0 +0x1.5b08238bd7a18p+1 +0x1.254967c3d947fp+1 +0x1.eb12af95bfb63p+4 +0x1.fe853624e7d83p+1 +0x1.b1e56a27778f2p+4 +0x1.3453058a4da38p+1 +0x1.307c967bfffc2p+4 +0x1.4d5cb9f362b26p+3 +-0x1.b1937baaf010bp+1 +0x1.e65ada32fd35p+4 +0x1.3fecbbb595cccp-1 +0x1.55b3e6055d0e1p-1 +-0x1.1aa44da042bb6p+3 +-0x1.b0bd843ab6a4ap+3 +-0x1.f054c11c6fd4cp-1 +-0x1.81014cc2078b6p+4 +-0x1.4f6b7bf8f8b23p+3 +0x1.d0a0747739ef9p+1 +0x1.41625bb6bb69ep-5 +-0x1.40f225f19d807p+3 +0x1.68f2251556c42p+2 +-0x1.17690d37416e8p+4 +-0x1.75fa5ee082b6fp+3 +0x1.29564149663f6p+1 +0x1.9881037ac5d0cp+2 +0x1.2b01b141897c8p+4 +-0x1.0f4d726519f07p+0 +-0x1.4b4620ac0010dp+3 +0x1.9e7c31f8f8785p+4 +-0x1.a6f89ee0f795ap+3 +0x1.f2082c30db1c8p+0 +-0x1.dd839901b27bdp+3 +0x1.7fca07d73884p+3 +-0x1.c3c48700662c3p+3 +-0x1.6e853770c0f9fp+4 +0x1.d8ed1c9463b1dp+0 +-0x1.ebd99dffbb2c1p+2 +0x1.fd966020d3d82p+3 +-0x1.206c1fca20dc4p+4 +0x1.aee0d6765bc5cp+4 +-0x1.35d52e2cf8086p+1 +0x1.13223a47687d9p+1 +0x1.7438981f5be52p+2 +-0x1.4bae87899db27p+3 +-0x1.b15ab21feb71ep+3 +-0x1.9ce3b1e40fdefp+4 +0x1.cef4514e6d594p+4 +-0x1.f17318cfda767p+4 +-0x1.e58d0c56c3a7p-2 +0x1.808beb30314dp+3 +0x1.07f0af7446b52p+4 +0x1.325fd32406536p+3 +-0x1.9faafa9806c7bp+0 +0x1.6104f835ab8edp+5 +-0x1.7807e45e473f1p+4 +0x1.29757328895cp+2 +0x1.3b45876742c98p+3 +0x1.c568a632a54f1p+3 +0x1.6caddd90a8a2cp+5 +-0x1.69894d1536713p+2 +-0x1.3730781c9eddep+1 +0x1.135deea0c29fbp+3 +0x1.e1285a2b60964p+1 +0x1.4b80b406c31bdp+4 +0x1.2811c39f9b89bp+3 +-0x1.0720a3b46f81bp+5 +-0x1.ab8ce8c5036fdp+1 +0x1.9d7e1448756f9p+4 +0x1.3737cdf250b8ep+4 +-0x1.63ffee2f4c37p+3 +0x1.dff667e51ac1p+1 +-0x1.d9b722403f2d4p+1 +0x1.022adb9727ec4p+0 +0x1.4f72ceacbd9c6p+1 +0x1.18ec27d3a07d7p+0 +-0x1.6afe70ecfae1dp+5 +0x1.147d5c8097cefp+3 +-0x1.81f8ceac9872dp+3 +0x1.0f381836f6e7bp+3 +-0x1.c6ff784a5846dp+3 +-0x1.66360c4d84d4cp+3 +-0x1.6791dbb850ac8p+4 +-0x1.77c6dfc75633p+2 +0x1.45d5f669fcff2p+4 +0x1.268335c952d5ap+4 +0x1.3a13a0ae983f5p+3 +-0x1.780cef3cd015cp+2 +0x1.6128b1ee4e238p+3 +-0x1.439a5589fc96bp+4 +0x1.50b1d01bf2cabp+3 +-0x1.76f02e5fe9a1bp+6 +0x1.0ae6ec582d27ap+3 +-0x1.519680b429656p+2 +0x1.689b6236a12d8p+6 +0x1.e0a28f7e72504p+4 +0x1.8cdcd3ddd9b87p-2 +0x1.ec9935e7e72f1p+3 +0x1.5317a281a6589p+2 +0x1.51d70c69c8e4ep+1 +-0x1.50ba0ab89871p+3 +0x1.4cb963ba350e4p+2 +-0x1.9996f9d095cd3p+3 +-0x1.61d00d92a98ecp+4 +-0x1.3a3a257258ee5p+3 +0x1.2f54b253c0a1bp+2 +-0x1.b4951c9daf538p+2 +0x1.220f603d1e01cp+3 +0x1.09e96024014f6p+3 +-0x1.b1165a43c5c1dp+3 +-0x1.be5766bd4f161p+4 +-0x1.411e5393f3221p+0 +0x1.32640aef4dbcap+4 +-0x1.9d3da53790e56p+1 +-0x1.26eaa37b73589p+3 +-0x1.9657b29aaf014p+2 +0x1.25d18013304f9p+3 +0x1.faee42d2eee09p+4 +0x1.10ffde01efea6p+0 +0x1.9ed35146ebdc7p+2 +0x1.c24bc2a87317cp+3 +-0x1.c46c0709ade28p+3 +0x1.058fa84fdc5dfp+4 +0x1.074894afb4a68p+3 +-0x1.2cb5d178181a3p+4 +-0x1.7b022bc97bd87p+4 +0x1.d971cebec3dc3p+3 +-0x1.8ec86add9aeefp+0 +-0x1.f727374002d1dp+1 +0x1.219fdd9159794p+2 +-0x1.565374db0612ap+5 +-0x1.a6b25a324325cp-2 +-0x1.3c9b49b6645b9p+2 +0x1.0adc702525844p+4 +0x1.c5a67f1896e7ep+1 +0x1.0e79617ede7a9p+3 +0x1.d9d092687d0a3p+3 +0x1.7d3d03a0cd29cp+2 +-0x1.479fcda3b1abcp+4 +0x1.ef3f79cf31cabp+2 +0x1.52dc5518c03d1p+3 +0x1.152d96988dfcbp+3 +-0x1.b9362861efb2ap+3 +0x1.6f1701555f85fp+2 +-0x1.d76088168cba7p+4 +0x1.396904801c693p+5 +-0x1.bb8d37e3d13d9p+2 +-0x1.bea7caef13c6bp+1 +-0x1.56dbccaa97ab9p+2 +0x1.ac3868bc27037p-1 +0x1.9e04061eea66ap-1 +0x1.f80584e5fb2d6p+2 +-0x1.54278b1afdca9p+4 +0x1.37b24baea382dp+2 +0x1.f77b1902c4964p-2 +-0x1.7c43b4e9e93cfp-1 +0x1.10f4e21b1dc18p+2 +-0x1.84c3d380eaf0ap+2 +0x1.6536d3822a5dbp+3 +-0x1.45c85e7112072p+4 +0x1.8d0b5806d37d9p+2 +-0x1.7bfe86e43f6cdp+4 +-0x1.028573702b054p+4 +-0x1.266d423e3032ep-2 +-0x1.6f1e52b43bbcdp+4 +-0x1.b57398f2ff9cep+4 +-0x1.0690070a17c8ep+4 +0x1.951438faf762ep+4 +0x1.54640df149ecfp+3 +0x1.a2e70e2d6b389p+0 +-0x1.4584eadb7a2a5p+1 +0x1.5984124891c5bp+3 +-0x1.3508e20bd00a4p+4 +-0x1.df8c737910911p+4 +-0x1.d401bbbe0de6ep+3 +-0x1.20ff5eb91df8cp+2 +0x1.ade08e2d79c6cp+2 +0x1.fb915453b8d6fp+0 +0x1.a816ef340651dp+3 +-0x1.90a1d1046f146p-7 +-0x1.6b755acce6fb3p+3 +-0x1.54b099489d729p+3 +-0x1.53687ec531316p+4 +0x1.505cf2e986cecp+8 +0x1.1c64ac0e63ab9p+1 +-0x1.1cd93b9a183f3p+2 +-0x1.d6676ec0e83b7p+2 +-0x1.b3375faa14daap+3 +-0x1.397f5269a8f46p+2 +0x1.204f1d080a29bp+4 +-0x1.9d15f86e29d32p+4 +0x1.86b445c1fa227p+2 +-0x1.3a978b6d21bb1p+4 +-0x1.299fc79ecbcfdp+4 +-0x1.a744b7e636d36p-1 +-0x1.bb28842c58849p+2 +-0x1.5dee453de2fcbp-1 +0x1.aabbf22ae2a88p+3 +-0x1.a112b6d648e72p+3 +0x1.3d09dc3e9e33bp+4 +0x1.2cb5e1779cea5p+4 +0x1.3cd7ac6fa38dap+2 +-0x1.f13990cfe5ec2p+3 +0x1.88f07d5373ae8p+4 +0x1.93179dd8aa89ep+0 +0x1.2bfc9601f50c2p+5 +0x1.f277092e5bf97p+1 +0x1.335b322f8a7a2p+4 +-0x1.e24d81973b02ep+3 +-0x1.ebc2947a9ce5bp+4 +0x1.4d8134ffd3891p+3 +-0x1.e10c40e71879bp+2 +-0x1.628050434b9fep+3 +0x1.2dfa1cdc254cdp+7 +-0x1.407afbb6de59ep+4 +-0x1.c12b48dd63634p+2 +-0x1.7ef92af52d4d5p+0 +-0x1.41cc220fce214p+2 +-0x1.b4dc079689f4bp+3 +-0x1.b8c92d69cd9ep+3 +-0x1.a4756c48b704p+2 +-0x1.d7ea61d1085d1p+4 +0x1.a45014fadb068p+0 +-0x1.394900efd90a5p+0 +-0x1.4e138f8dce34fp+1 +0x1.b57ef080526a1p+3 +0x1.6e593e63048dp+3 +-0x1.b3b2e53f25ff4p+3 +0x1.20b8481ed33p+1 +-0x1.a7a9a263d55abp+4 +-0x1.3edfe9034a518p+1 +0x1.04df46fe1a96p+4 +-0x1.85c872b5fe48p+1 +0x1.987aa68c4a40ap+4 +-0x1.8d8ff4c07967ap+0 +-0x1.7bbe501495417p+2 +0x1.09b6e0c740d5cp+3 +0x1.6540ed66aa851p+3 +0x1.0816a4a6726a7p+2 +0x1.d71d0cbaa7982p+6 +-0x1.6139c482ada5ep+0 +-0x1.4f44b083f6f77p+1 +-0x1.c87cf7e5f2df5p+4 +-0x1.625e9063076bdp+4 +-0x1.b994f9420b41ap+3 +-0x1.d21a73ec72312p+4 +0x1.fb8fbc9a2fe6p+4 +0x1.4e0291e40703ap+3 +0x1.7bec591bcb9f1p+3 +-0x1.22ade5fd6560fp+4 +0x1.3ff0fb4eb11fdp+3 +0x1.acf4457026889p+1 +-0x1.081e4b193da3p+3 +-0x1.af18d2905362dp+0 +-0x1.816382b888e2ap+2 +-0x1.dbf7e57684b5fp+4 +-0x1.109ea0bc3171ep+4 +0x1.2f89c59c1e284p+2 +-0x1.0525cef5eb77ap+1 +-0x1.1527b5894fa4cp+2 +0x1.b3de51b661796p+3 +-0x1.730858021dd8bp+2 +0x1.5c1b0b20b9babp+0 +-0x1.6d89969971facp+4 +0x1.34fc598a78651p+3 +-0x1.8704c7920740fp+4 +0x1.7c8a493db3d2dp+8 +-0x1.4e2aac11bfdf6p+3 +0x1.bc28ec0d1d635p-1 +0x1.6241568dfe5dcp+4 +0x1.50d6fdd8353a1p+3 +0x1.471f703d627b9p+2 +0x1.016adf54be7b1p+1 +-0x1.6baefbf516dc7p+3 +-0x1.21c30a32cda9ap+3 +0x1.62072a0760112p-2 +-0x1.39b197eda3b67p+3 +0x1.7f04c21a59f65p+2 +-0x1.168386ca9dda1p+4 +-0x1.c9fbcc3111dd1p+4 +0x1.1635f32442b4bp+3 +0x1.3ddeeff0904dp-1 +-0x1.1ee2ce778752ep-1 +-0x1.6899a578aa20fp+3 +0x1.dc1aa30ec4db2p+1 +-0x1.b601c472fde84p+1 +0x1.a8462321fb8p+2 +-0x1.33c518cb111f3p+3 +0x1.a6798664f5c9p+3 +0x1.0a3882fdb4c69p+4 +0x1.06a6a0c714e72p+2 +0x1.6bf6e92c72fdap+2 +-0x1.84d9f0dad55b6p+4 +-0x1.6cf1230fc64fap+1 +0x1.dcbcdf914d19bp+4 +0x1.3536efe9827d5p+4 +0x1.cdd5a0cabf976p+2 +-0x1.bfefec036a01p+3 +-0x1.618704dd2237ep+3 +-0x1.17cefc37ce9e6p+2 +0x1.67adb2356ca23p+4 +0x1.3a39542a3d08dp+3 +-0x1.d038d39843b5cp-1 +0x1.36d7a84eb8a79p+2 +0x1.e318b27ed0599p+0 +-0x1.3e982c6df06fp+4 +0x1.471aa1ad93735p+4 +-0x1.178b0d8b0e41bp+4 +-0x1.b5c3386698386p+3 +-0x1.a52045d0cb3b4p+3 +-0x1.d018cc3de79a2p-1 +0x1.c9c57dd36c7e6p+3 +0x1.e26ee3996bd8ep+4 +0x1.1156ce1170e2ep+2 +0x1.a0a6aa2e7bd22p+4 +-0x1.267fe26a632a4p+3 +-0x1.1988fafc41493p+2 +0x1.0b474ede969c2p+3 +-0x1.8fe1987a07791p+2 +-0x1.5fdfda703863ap+4 +-0x1.9437084d0518ep-2 +0x1.8d0837e936cfdp+2 +0x1.8b69391996a2ap+4 +0x1.fd35a316fc2eep+4 +0x1.20e7616eca6e2p+0 +0x1.1338d3fa2926dp+5 +-0x1.ea5206d0e59ddp+3 +-0x1.cd9f2866a138p+2 +-0x1.1da76fac5b14ep+5 +-0x1.123ce38c400a3p+4 +-0x1.07273f5501a1ep+3 +0x1.d5b7212f2d44fp-1 +-0x1.39b1efce626c6p+3 +-0x1.153f21880d3b8p+5 +0x1.8dd607ab18a3ep+4 +0x1.c9119430f7652p+2 +-0x1.06ef9d5040c57p+1 +-0x1.f7e71e8eb08dfp-1 +-0x1.2bcc972227b6p+2 +-0x1.22723e593e5b5p+6 +-0x1.263feb687a572p+4 +-0x1.d0ae290be2126p+3 +0x1.bf14b6eaddd81p-1 +0x1.d08ea372372fcp+0 +-0x1.d899f538399cep+4 +-0x1.c8a9969e9fae7p+3 +-0x1.5587db2a38d7p+5 +-0x1.c510ed03a0fe3p+3 +-0x1.18b784fb0ed45p+4 +0x1.71cc014d2e991p+3 +-0x1.64f178d84bd9ap+3 +0x1.23e878698dbd8p+3 +-0x1.aec4fa9e8ba9cp+1 +0x1.30e845b965931p+4 +-0x1.f9dee68a8a975p-2 +-0x1.24ba81f47f9a1p+1 +-0x1.9fe796266bcc3p+2 +0x1.af099e5373c01p+4 +-0x1.43231ad599d27p+2 +0x1.1580806ff282bp+4 +-0x1.dd82938144e22p+3 +-0x1.29bfc266ae7abp-1 +0x1.5fafe5b5edad1p+3 +-0x1.22b3574e65c91p+3 +0x1.6651c618cf3f4p-3 +0x1.e17a669700255p+3 +0x1.d3c68b80f60d5p+2 +-0x1.56483d0667741p+0 +0x1.f538f451b9fdp+1 +-0x1.7fb88e136c291p+4 +0x1.7459694066d8cp+1 +0x1.90a7c3293e66dp+4 +-0x1.74067a2d8c534p+1 +0x1.3902e701e5a2fp+4 +0x1.359ad7f5f0d46p+2 +-0x1.14bb77ddc0726p+5 +-0x1.d2b000335796p+3 +0x1.f9f7f852b5e01p+2 +0x1.f4b9e2ad91dap+0 +0x1.18af71f8a9b28p+4 +0x1.2336b1cb0fafbp+5 +-0x1.aa7a9d484c47cp+3 +0x1.23d8f222d52a2p+4 +0x1.06602864ed3cbp+3 +-0x1.598493fc87033p+3 +0x1.0787d6a0e9bcdp+4 +-0x1.9b00fe119f6bbp+0 +0x1.fe98dd197274bp+2 +0x1.5ce4da1b33f67p+4 +0x1.54b8001746585p+2 +0x1.7631f2c31f401p+3 +-0x1.56d6cef83e5a1p+4 +0x1.e93e0296d3f9cp+4 +-0x1.508c63cbc95e1p+3 +-0x1.3a1b7be00b7e9p+0 +-0x1.c205f2e58cca8p+4 +-0x1.4665ebc7cd0c7p+5 +-0x1.95aab1bd6c38bp+2 +-0x1.0cb91d1523407p+4 +0x1.517e2f1d103eep+2 +-0x1.bf61d1396f8d7p+3 +-0x1.457ed59185adbp+4 +-0x1.37c8c2e9eda75p+3 +-0x1.002cb202563ddp+4 +-0x1.07c27a4b98428p+3 +0x1.274167b3edc11p+3 +0x1.38f41e03ca394p+4 +-0x1.81ce3adcc24efp+3 +-0x1.d73dd14402c5dp-4 +0x1.1be2452685e43p+4 +0x1.6d243f10a94ccp+8 +0x1.2310181f92686p+3 +0x1.23500e746171fp+2 +0x1.19c6bdd0879c7p+2 +-0x1.5e77f6e1a6136p+5 +-0x1.a6520e7760427p+2 +-0x1.fad8dc512ef64p+1 +-0x1.520906b4ca0edp+2 +-0x1.77399951d85bcp+2 +0x1.14293c930bd93p+3 +0x1.50f49f30f41a3p+3 +0x1.365732ee9462cp+4 +-0x1.3469c823bafdbp-3 +0x1.b1cb35b097958p+2 +0x1.0c8065025cd4ap+2 +0x1.53f72f16765c3p+3 +-0x1.ba6bf36ca2f71p+4 +-0x1.142e216b09fb8p+0 +0x1.240137694a3c1p+2 +0x1.f57c3ae86bbacp-2 +-0x1.5a932d908486ap+2 +0x1.ba4fb40fa34a4p+3 +-0x1.223d30ff2a1a5p+5 +-0x1.27b8add6a6886p+1 +-0x1.a8e54543a5198p+0 +0x1.01d10f40bbe4dp+3 +-0x1.93f7d1ea9858ap-2 +0x1.7fcdddaeac474p+3 +0x1.9a1d8d576de6fp+4 +0x1.036463aaa8b1fp+4 +0x1.b0e6ff5eda3cdp+1 +0x1.02db2f7f0de33p+5 +0x1.6b8a9f549c9b6p+3 +0x1.2fa00597e9e36p+4 +-0x1.d82327772da7cp+3 +-0x1.9d410aaf06663p+4 +-0x1.de77e9c0a780cp-1 +-0x1.361b6016fb76cp+4 +-0x1.cb4adcc5751bcp+0 +-0x1.3f3ebcce0aec2p+4 +0x1.2cd10b49175d9p+4 +-0x1.6f6f2351ad838p-1 +0x1.ed8106947686cp+1 +-0x1.89506742e5d8p+3 +0x1.00c424a42565p+4 +-0x1.6b352e885e7c3p+1 +-0x1.08fb74dc0ab89p+4 +0x1.26b1b1abb522ap+4 +0x1.5f5b97eb4da63p+2 +0x1.5767d36361b7ap+4 +0x1.276b5609db7f6p+4 +0x1.2bc056d863c86p+4 +0x1.054068516fafdp+4 +0x1.e8fb5d99a1a68p+0 +-0x1.7950f176344c2p+2 +0x1.61c78ee7f9271p+4 +-0x1.3da239be38048p+4 +0x1.b309d11338a01p+4 +0x1.b3d519e1bf1d4p+0 +0x1.c7101bf613de6p+2 +-0x1.17cc8034ddd1ap+5 +0x1.5e9e67ea45c7ep+2 +-0x1.7b88b9484a232p+4 +-0x1.bc3d10fd50bc6p+2 +0x1.fe17716a6268cp+4 +-0x1.454e049d56536p+0 +-0x1.203ea7655130ap-1 +0x1.0b62ff735d823p+3 +0x1.0a3696500908p+2 +0x1.b69cbdbd83417p-1 +0x1.e4a2a0310a0dp+2 +-0x1.fc1de8ce9ccbbp+0 +0x1.9c5f0ca6d5bcdp+3 +-0x1.c662e4a9e2b4fp+1 +0x1.cb7759ff98897p+2 +-0x1.61d9a3955f9e8p+2 +-0x1.1450cd02b8002p+4 +-0x1.e773533e402e8p+3 +-0x1.a191c553590d6p+1 +-0x1.3b0969f3dad3bp+4 +-0x1.5739785aa9cb6p+0 +0x1.974ac42aa19f3p-1 +-0x1.19e94204b2e05p+4 +-0x1.60de180df5b3ap+2 +-0x1.7877256bbd104p+2 +-0x1.fea15116b212bp-1 +-0x1.c22308bd575ddp+1 +0x1.288e7f47d1b81p+2 +-0x1.314e0ac68d7b8p+1 +-0x1.e322c79333de6p+2 +-0x1.11322e6dd5efp+3 +-0x1.34b88999f1bfdp+4 +0x1.52f1279623616p+3 +0x1.119c0fbd1adb5p+4 +-0x1.69e2d1e8fa137p-3 +0x1.1feb9ad409c2ep+4 +0x1.61feda8a1b167p+2 +-0x1.8f798a89cb563p+4 +-0x1.09b9eb54810f9p-2 +0x1.969822a48f2bfp+2 +-0x1.4b524db6de106p+1 +-0x1.321ac45903b65p-2 +-0x1.6ebfad34f3528p+4 +0x1.e1d78c350aacfp+4 +-0x1.1208ee7041017p+3 +0x1.50da0aca712e9p+3 +0x1.095648628df8p+4 +0x1.d7c7b5dcd6724p+4 +-0x1.d0964bde55c72p+3 +0x1.2e651714ec24dp+3 +-0x1.c0bdc3f5eb2e8p+3 +0x1.1695d07763352p+2 +0x1.0454b477b93dbp+3 +0x1.4ccce934eb87fp+2 +-0x1.1db5faa1216e6p+0 +-0x1.786a46d1d8691p+4 +0x1.990da5661a543p+3 +-0x1.57c8ecbf7eb19p+1 +0x1.4f6fe74404b98p+3 +-0x1.d20a797212608p+3 +-0x1.99dd5f0dc1be9p+2 +0x1.e5340b83aa563p+3 +0x1.a5b969d782f2p+4 +-0x1.928d3bcbf4518p+2 +0x1.2e315198a9783p+2 +0x1.513135f05f2bbp+3 +0x1.0222ca2b4f081p+3 +-0x1.007244d95a5c7p+3 +-0x1.ec6731814760cp+1 +0x1.0523de79fd4ecp+3 +-0x1.3a3f7be689a0bp+4 +0x1.5ebaf64b450f1p+4 +0x1.224768673ab86p+4 +-0x1.1e90c4dbc07dep+5 +-0x1.fedbaa128aafap+3 +-0x1.022820fe4bbf4p+5 +-0x1.891e29dba221p+5 +0x1.0d3b5e4ee466bp+5 +-0x1.e2fa33afd4d83p+4 +-0x1.000cc0f07a4a9p+2 +-0x1.16afe7cf93e2fp+4 +0x1.5d8299296a8cp+3 +-0x1.582e240c71aaep+4 +-0x1.65ffe7961a37p+2 +-0x1.07b00502bdde1p+4 +-0x1.8a79a9cce700bp+4 +-0x1.362ff8c8539bcp+4 +0x1.5a2a55bb21dddp+3 +-0x1.ad62d5415a7f6p+2 +0x1.43efd93e082dcp+0 +-0x1.121de9c0dc664p+2 +-0x1.68e8ebc40287cp+2 +-0x1.4737a7b0ff72fp+3 +0x1.41652f4caff1cp+5 +0x1.d3724fc717215p+1 +-0x1.d01bf904aa6b9p+3 +-0x1.d040af28a58fcp+3 +-0x1.500318d90449dp+7 +-0x1.23d4f32e81314p+5 +0x1.a3c1dfeedf43ep+4 +0x1.8733f7daea068p+4 +0x1.bc26f58537a4dp+3 +0x1.ed0a61c7533dp+2 +-0x1.c049b5b81bf84p-2 +-0x1.fec4921b7b307p+2 +0x1.7f7968f52df6bp+4 +-0x1.1dd896290ba68p+3 +-0x1.a9ae636ac6ad5p+3 +-0x1.8077dd65339dep+4 +-0x1.1e7b08199fe76p+5 +0x1.235395438149fp+3 +-0x1.c87d10a63d169p+0 +-0x1.d320da5d9ee0ap+2 +0x1.03b143c0b2672p+3 +0x1.7a38475a7c219p+2 +0x1.242e1d397e6bdp+4 +0x1.b7936a31add3p+2 +-0x1.4f848b363cbf1p+3 +-0x1.0e20dc0f9d118p+4 +-0x1.c14bc04ee403cp+4 +-0x1.3e978180b8d28p+2 +0x1.a4475fe31d5f4p+4 +0x1.d225c2f94ab9dp+1 +0x1.21c16635ce30cp+2 +0x1.235af779a7eecp+3 +-0x1.1b58b94905d77p+3 +-0x1.58b5e5e5e17d8p+2 +0x1.dc72e34ae62ecp+4 +-0x1.de7f639b3d658p+3 +0x1.76a74d5003af5p+1 +-0x1.b2a27178698ffp+2 +-0x1.d78d2ad9958eep+2 +-0x1.d3a2753254aedp+3 +0x1.5d8ba75afc39p+0 +0x1.46399d4e1c2p+4 +-0x1.22ebdca8bfeabp+4 +0x1.78e75f962beb2p+2 +-0x1.9911172a835e6p+3 +0x1.0855c3159b79p+4 +-0x1.36a249f6713e1p+3 +-0x1.2510e79baa8e8p+4 +-0x1.0d06dd5d881f2p+2 +-0x1.d1cb53f040278p+4 +0x1.afd89ba2db15fp+1 +-0x1.29809ec5a8b95p+3 +0x1.aaf702a408688p+4 +0x1.9dcb10f0825a1p+0 +0x1.5f3cc882f0ce7p+3 +0x1.4ba3a5ffa79fcp+4 +-0x1.6d9b24ac25c87p+0 +0x1.a3ea737ecd838p+3 +0x1.207bc67429ddfp+1 +-0x1.fe6d08f681db5p+3 +0x1.1a69746b81fc4p+3 +0x1.d70e4ab377134p+3 +0x1.6f4597dae2bbbp+4 +-0x1.0c62a62513245p+2 +0x1.d820c9530305ap+4 +-0x1.71efdc4a4f75p+3 +-0x1.30841919dfc79p+3 +0x1.70f5336e17d7dp+2 +-0x1.c551edba0b491p+2 +0x1.d6ae61baacdc4p+4 +0x1.f196bbf5215ffp+3 +-0x1.41d18d0f022ffp+5 +-0x1.762a83fb3a7fbp+4 +0x1.d63c0d6692ca9p+3 +0x1.f220354c3cc18p+4 +-0x1.f1afc8040b129p+3 +-0x1.a8a70d1688f47p-1 +0x1.a217aac4eab47p+4 +-0x1.bea88d4c7db1cp+5 +0x1.7d3ed50ce274ap+3 +-0x1.e87dd9747919bp+3 +-0x1.9ed7a29a9c834p+3 +-0x1.5be9942ff4d2p+4 +-0x1.9df17d86201f9p+1 +-0x1.4d8be99e8188dp+4 +-0x1.9b992f0305aa5p+4 +-0x1.cd544b866b613p+2 +-0x1.297df97e7a9ecp+4 +-0x1.72ed200511deap+3 +0x1.351bfe4f9af6ep+1 +-0x1.7a6163d228fb8p+3 +0x1.524c21b4055d1p+3 +-0x1.3829367a9450fp+0 +0x1.1f938f466b00fp+3 +0x1.21e2580529246p+2 +0x1.7f5a81506ac11p+3 +-0x1.0326e0867440ap+3 +0x1.3dbaa26960115p+2 +0x1.c7e527bc02a67p+1 +0x1.5e1d8eaca6c95p-3 +-0x1.d7ebf650cc9b9p+3 +0x1.9097b662a59eep+3 +0x1.f6bf979349e42p+1 +-0x1.fd2e4f7bf87bfp+0 +0x1.34111b41a0232p+4 +-0x1.320bb7ec305bbp+3 +0x1.c3d3ce6fb26cdp+1 +0x1.d68badce5fad4p-2 +0x1.d5fbd9a4099ap+3 +0x1.7747520a8506ap+4 +-0x1.a3adc4d8243f9p+4 +-0x1.c7e54a561edfcp+2 +-0x1.1872b908a3c89p+2 +-0x1.e39d87f265b94p+3 +0x1.b75530da2cbeep+4 +-0x1.db9717453752p+1 +-0x1.7e4a49aa11db4p+2 +-0x1.ca0c47971a2e3p+2 +-0x1.140941e8f4e9ep+2 +-0x1.b89a4d30de0b1p+4 +-0x1.047d929ca12b4p+0 +-0x1.1fca22d9e3d3fp+4 +0x1.2fa67cf63b2cep+3 +0x1.0ea7bf950d4bep+4 +0x1.c6c843e32c486p+3 +0x1.60342384077cbp+4 +-0x1.a5ffd2292d3b4p+2 +0x1.7330f228b0e02p+3 +0x1.125b5c34f3271p+4 +0x1.90738b259e457p+2 +0x1.d921afd783667p+4 +-0x1.b154157bf17a5p+4 +0x1.4431396d43267p+4 +0x1.f07062f70ded8p+4 +-0x1.469440b3191fep+2 +0x1.99ac8a0555934p+5 +-0x1.6c8e20d320275p+4 +0x1.597e7bc43487p+4 +0x1.285fa3e2bf9c7p+5 +-0x1.7b4e545a4fef2p+1 +-0x1.47ffa36f14afap+4 +0x1.83676f1a8add7p+5 +0x1.260285817baf3p+3 +0x1.686e95f29c34dp+4 +0x1.710bd5d2c5ee7p+4 +0x1.55e840d9b9166p+4 +-0x1.43ffa8e88d158p+2 +-0x1.69b8c86092a1fp+3 +0x1.c0c0d7045be57p+4 +0x1.eac24ae0b33dcp+3 +0x1.e064bf381862bp+4 +-0x1.c5a6f5ae0f81ep+4 +0x1.7d090a3ef9149p+5 +-0x1.51054c3cebb78p+1 +0x1.561f6992fadd3p+5 +0x1.064c8f50de85ap+5 +0x1.0e768a936696ep+4 +0x1.fcd304df17d13p+3 +-0x1.bc3693a37f35ep+0 +-0x1.6fa7bbb482b52p+4 +0x1.1131d402eeaa7p+1 +0x1.84b6ef7476f9dp+4 +0x1.82d034b577949p+5 +0x1.3070756303b56p+3 +0x1.d6dd86c0ff286p+2 +0x1.b0c4237bd40dep+2 +0x1.6ecb46f059fb6p+0 +0x1.5472d0ca8751bp+2 +-0x1.2c76e4e00044bp+0 +-0x1.d8f29a525c17bp+4 +-0x1.647f7b6095f6p+7 +-0x1.f9dc9ba0cbd01p+0 +0x1.88639a9d97768p+2 +0x1.0047971d6e2a7p+4 +0x1.115370a703986p+1 +-0x1.95a4597e3a089p+4 +-0x1.dc8958f7b3acbp+3 +0x1.dc3e846d83038p+2 +-0x1.3d0e569abcca9p+5 +0x1.aa61367a61e3dp+4 +-0x1.99a04cdfd0df1p+3 +0x1.b0839e4189b87p+4 +0x1.d13377c3aa005p+3 +0x1.02294ba9f42b2p+4 +-0x1.443c98b0560cbp+3 +-0x1.eeb87ebb65fa6p+3 +0x1.38c446b779cd2p+4 +-0x1.710f7cbaa56ebp+4 +-0x1.07b1a0825c188p+4 +-0x1.c75e1451c74e3p+3 +-0x1.3ddf731fb1842p+2 +0x1.27092f8aa5296p+4 +-0x1.0833d382ec7cdp+2 +-0x1.2cb6b94f88bdap+0 +0x1.6bd3df33085e1p+4 +-0x1.17db097560542p+4 +-0x1.fc4a6a3e62f6cp+0 +0x1.8d87b0ae2607ap+6 +0x1.40fc5612ba1c1p+2 +-0x1.cc7f4e662776ap+3 +-0x1.792ec52d353ep+2 +-0x1.44a492f5ff5d6p+5 +-0x1.3827d3f76703bp+4 +-0x1.41cca35a5f8bcp+5 +0x1.b0b8aca3171b4p+5 +0x1.d9b4370fc2651p+3 +-0x1.8ca9dce4cbe9ep+1 +-0x1.dd150317c60b9p+1 +0x1.dfc3cb1d20efp+3 +0x1.1f3afe7426708p+1 +-0x1.0cc97c80d87ddp+3 +-0x1.201c3df5ee694p+3 +0x1.df82b0e4c13fdp+3 +0x1.395d76dbb0bf2p+1 +-0x1.0b866d3ed57bcp+5 +-0x1.738d300f0c4d4p+4 +-0x1.0eeade15c772fp+4 +0x1.40cdcce2fc373p+3 +-0x1.3c73da13f2cc1p+4 +-0x1.74ae489a85dacp+1 +0x1.d82759a5a7c6fp+3 +0x1.37d447ce7c9c2p+5 +0x1.1723e809d8be9p+5 +0x1.8f42905a6af4p+2 +0x1.550ea22983af2p+4 +-0x1.b17830927004cp-2 +-0x1.061f0850a474bp+4 +-0x1.7ae9b9ac3ce2fp+1 +-0x1.1541c8e599a71p+0 +-0x1.ed3335edb3fd8p+1 +-0x1.a2b8e06527b38p+2 +0x1.c0a7ada2985a6p+0 +-0x1.e01f1bfe66fc3p+2 +0x1.27fc16e8e881ap-2 +-0x1.39bbd90a02bf2p+1 +-0x1.a0c207726808fp+4 +0x1.268d4ca64e482p+4 +0x1.8e2fbc3125b5ep+3 +-0x1.6b14c3fe2796cp+3 +0x1.8dc764d61a0ccp+3 +0x1.8779e69e57682p+2 +-0x1.176c96d183422p+3 +-0x1.25a54306d73b7p+4 +-0x1.81eb79a888b49p+3 +0x1.adb36f59d5e19p+4 +0x1.11e367b41be23p+1 +0x1.8ec7b0a28eee7p+1 +0x1.7c844710a2743p+1 +-0x1.46caa07b703ffp+3 +0x1.827dd95ed480ap+2 +-0x1.14a3ce94c49d2p+4 +-0x1.020e5edd1515cp+4 +-0x1.75eb80c0dbf7bp+4 +0x1.24954c7f5ee18p+3 +0x1.f902db3318d55p+2 +0x1.640cf26bfbb62p+1 +-0x1.2f224f92f6885p+4 +-0x1.02d94b4d9016dp+4 +-0x1.9b7db7392324dp+3 +0x1.68651ebb454f2p+4 +0x1.f4796f30027fbp+3 +-0x1.d1393d75f4511p+3 +0x1.c5dc8fd3603a6p+4 +0x1.bb6f3211e908cp+1 +-0x1.cd8996d89a7e6p+3 +-0x1.c73193f75f0c3p+3 +0x1.987076bd1eeaep+2 +-0x1.a68fc08dfec19p+3 +-0x1.038a9eead5037p+2 +-0x1.339fbe43d34c6p+4 +-0x1.413901f5193e6p+2 +0x1.ce62222b3805cp+3 +0x1.970f028113879p+4 +0x1.8abad91d0108fp+3 +-0x1.2c58f7a4e021bp+2 +0x1.06a996941e707p+4 +-0x1.3f79eaf2ee762p+8 +-0x1.fe3dd3b21c701p+4 +-0x1.6021c857420fcp+3 +-0x1.575737013d5d6p+0 +-0x1.cfee4949fe65bp+2 +0x1.11638da253de3p+2 +-0x1.fb4ad68db196fp+2 +-0x1.475885a7251a2p+4 +-0x1.00d2d9006315dp+2 +0x1.7fbfd8baa1d71p+4 +0x1.5a65d861f8c53p+4 +-0x1.600b8a2956df7p+2 +-0x1.4915bbf40d86fp-1 +0x1.6beb9b08962b9p+3 +0x1.57a911eb1ad5fp+2 +-0x1.12d0505a7c635p+1 +0x1.89ea2ae702fcp+2 +-0x1.5632cdad9c323p+2 +-0x1.d4c06be24be8cp+3 +-0x1.4f1954f19cfa9p+2 +0x1.3db72f9579379p+3 +-0x1.d8db14a91be06p+2 +0x1.98df14da2cd37p+3 +0x1.14ed3aaba1e13p+2 +0x1.152fd86c0f4d9p+2 +-0x1.eb0c41597dcfdp+1 +0x1.c34ee9c0b662p+3 +0x1.f84a204697033p+4 +0x1.43f320e296de6p+3 +0x1.38668c7e85186p+4 +-0x1.0fcdda4fc16b8p+3 +-0x1.9f96a6f3cef22p+1 +0x1.e85928dbfb41ap+2 +-0x1.361cdf5362f57p+5 +-0x1.8c83ce414b22fp+4 +0x1.1c76ac621150bp-1 +0x1.5b16355b23c86p+3 +0x1.5c549458b4ea9p+3 +0x1.969e895e32515p-1 +0x1.2440fa8897061p+5 +0x1.31fb48ccd28e9p+4 +0x1.2d1b84d2bb28ap+2 +-0x1.225302fa6c87ep+3 +-0x1.342994f685e83p+4 +-0x1.71951e6049268p+2 +0x1.29b1a102edbd7p+4 +-0x1.cff757eb27dffp+4 +0x1.2a3a816ba5faap+4 +0x1.f42529712cc99p+0 +0x1.c8b54130361efp+3 +0x1.83bb476615988p+1 +-0x1.37fd90d26dfecp+1 +-0x1.0fdb2e462211cp+5 +-0x1.35115f1147a95p+4 +-0x1.b6312122192f4p+2 +0x1.a740b09c4e06fp+2 +0x1.09450797d14ccp+3 +-0x1.2b6f67a224798p+4 +-0x1.808f836249d14p+4 +-0x1.b7e28934b005fp+2 +-0x1.3c6e2582182cdp+4 +0x1.e87adde1019eep+3 +0x1.3902b2ba290bap+1 +-0x1.76edd365a8352p+0 +-0x1.99b515881f6cap+0 +-0x1.8b4aa06b5acdep+2 +-0x1.4a9160586351bp+3 +-0x1.56237c949e8e4p-1 +-0x1.9fb55e7c25027p+3 +0x1.0cca47e013bebp+3 +0x1.c139e6d696342p+7 +0x1.0dc2f1273843ap+2 +0x1.9a8405cf46916p+4 +0x1.a607c945b5ac9p+4 +-0x1.44bb7d10967a3p+4 +0x1.f3e262d7d2025p+3 +-0x1.1518701db4cacp+4 +-0x1.5946e5076ca65p+4 +-0x1.d8f4f72e75f3bp+2 +-0x1.bc8404e8eea26p+3 +0x1.c53ab41121f9bp-1 +0x1.191f9a7809804p+4 +0x1.acbceb1ee93cep+3 +-0x1.4c2d729be6727p+3 +-0x1.02ea11fc8cd65p+4 +0x1.20889d795ca8cp+2 +0x1.8c2f30e6de49cp+4 +0x1.10b322fb9951bp+0 +-0x1.4fd2c8f5693dbp+8 +-0x1.2743a11ce3daap+3 +0x1.4c16c24675605p+2 +-0x1.035d74bcbe027p-1 +-0x1.5967711870325p+2 +-0x1.044af2319224cp+4 +0x1.572759d0c031p+3 +0x1.0b9a4cb849af3p+5 +0x1.c2c14901ebb99p+2 +-0x1.18b6f0db87a4bp+3 +0x1.aa7be7a00f4afp+1 +0x1.0e7168cd2a5b9p+4 +-0x1.b5a3dcd4bbb18p+1 +-0x1.c72a6a042e50ap+2 +-0x1.cb81070961543p+0 +-0x1.47dbd3cd97892p+4 +-0x1.df37b2105266ap+3 +-0x1.430243a5f0f96p+4 +0x1.f6647fbd4cb5fp+4 +0x1.d75654d29b386p+3 +0x1.19a419c0aa2c8p+3 +-0x1.ac16228b22c89p+2 +-0x1.901e201c5cac3p+3 +0x1.091687705c0fep+3 +-0x1.0ec4186195b3ep-1 +-0x1.6e97388085eb2p+3 +0x1.66dc784199b8bp+4 +-0x1.b627ee843c73bp+2 +-0x1.a8aa7773154bcp-3 +-0x1.aee52b26e299fp+4 +0x1.944d05461329dp+4 +0x1.0425a6d785f2dp+3 +-0x1.7819202c89d5dp+0 +0x1.2401c8899a63p+4 +0x1.4296ce4e36ddp+3 +0x1.b9051ee5173f3p+4 +0x1.6b220e627c763p+3 +-0x1.e8ea4164468dp+1 +0x1.aed15d501a24fp+4 +0x1.144ca30cf11f4p+5 +0x1.67aa4ff5ab2b6p+4 +-0x1.48a91f20bffc6p+4 +0x1.9a61f20256742p+1 +-0x1.131b2bd2445cap+4 +0x1.eaf8483e99704p+2 +-0x1.31379c812a147p+5 +-0x1.a0321a75a5356p+3 +0x1.616db09e2fa48p+3 +0x1.2ed1fbbf59e47p+2 +0x1.eb27f1de1e8b3p-3 +-0x1.9f96e8dcc513fp+2 +-0x1.0ef2a558260a4p+4 +-0x1.6462b400a9578p+1 +-0x1.d53832d3bed9dp+3 +0x1.b8dd7040d692fp+2 +0x1.4874b97365b26p+2 +-0x1.ec97ba98fa1b1p+4 +-0x1.53ef33d7c4a76p+3 +-0x1.07fba90718481p+4 +-0x1.d5c393bd7c10ep+2 +-0x1.448fe47264738p+5 +0x1.094c28d7301dp+3 +0x1.31663ecbd3645p+4 +-0x1.cf8768a66ee09p+3 +0x1.3509d066274a2p+1 +0x1.8dabe1a2eca3ap+2 +0x1.89563e1a7abc4p+2 +0x1.41e1ccabff7ap+2 +-0x1.bb2d1c4e64f42p+3 +0x1.1c840e2a493d7p+4 +0x1.bc5d90d6ec0a3p+4 +0x1.36b89c616fe2fp+3 +0x1.84977ca151cb3p+0 +-0x1.88f8a32b99b0dp+4 +0x1.033bdbbad7697p+4 +0x1.7102185faf9b6p+3 +-0x1.3d096a9d70e32p-2 +0x1.3473c7e0d3656p+4 +-0x1.e31a31f195de4p+3 +0x1.efcb56603790dp+3 +0x1.a506ae382d772p+1 +-0x1.711fe7fe834fp-1 +-0x1.144e54b43e567p+4 +-0x1.821f6af7bfa5cp+2 +-0x1.facc3d8bb364ap+0 +-0x1.8d13ffd78004p+5 +-0x1.69e3ad3c29a73p+2 +0x1.4818c4a85a7a4p+3 +-0x1.40af87bbf289bp+4 +0x1.74a9b37329c64p+4 +-0x1.03bd38674857bp+4 +0x1.6e1a90fa22563p+0 +0x1.702f9efb00858p+3 +-0x1.698139712b7f4p+8 +-0x1.a287826e25cc7p+3 +-0x1.6a13d125c1d2dp+3 +0x1.bf6545614f2aap+1 +0x1.0073b49702568p+0 +-0x1.deccb44d69f3dp+3 +0x1.b97cd53a84b79p+4 +-0x1.e859599a8541bp+4 +-0x1.e8608a26fd75ap+3 +0x1.29b278175bf62p+2 +0x1.493fe9f537b78p-2 +0x1.0c8efd730f12p+0 +0x1.8abba277c6feep+3 +-0x1.70115381b7af9p+2 +0x1.11c3004c61d25p+3 +-0x1.fcebaafb4ecb6p+3 +0x1.b7819a2b6aba5p+1 +0x1.c4abced09ea7ep+3 +0x1.79663a29b666ap+1 +-0x1.625d30f6bd861p+2 +-0x1.4d16412bc07b6p+5 +-0x1.6e78e8541f34cp+4 +0x1.ff57b4477173ap+1 +-0x1.732f7fbf78345p+4 +0x1.c60c8a18ca74bp+4 +-0x1.6c0f712692246p-2 +0x1.6c6fccae9544p+3 +-0x1.8770ac5c7c4d7p+4 +0x1.2e1f3fb86e2e1p+3 +-0x1.8a5f0fb797007p-1 +-0x1.137b351e7d8bep+0 +0x1.08318d16847cp+3 +0x1.55dacfe7d2f16p+3 +0x1.c697ca1ea3a28p+3 +-0x1.7e14c4e8c5dd1p+2 +0x1.c05af990ced74p+3 +0x1.529d81f42d5acp+5 +0x1.d456c46c32ff5p+1 +0x1.8f5974602f8c2p+3 +0x1.9e93011006be8p+4 +0x1.27f39a9c172a7p+4 +-0x1.1bbf7b8216c44p+3 +-0x1.be890b1a75765p+0 +0x1.a553d59400777p+3 +0x1.43939e5464cfdp+3 +-0x1.4045e41a2f778p+4 +-0x1.35a0f5e4ccdc2p+4 +-0x1.3422aac46b8f2p+3 +0x1.fa67b5b462e41p+4 +-0x1.3cc6fc0ab709dp+4 +-0x1.f37a31ab0e9fp+6 +0x1.78175b45bbf5cp+2 +0x1.07b0322010eb3p+5 +-0x1.39bc1cac5674ap+3 +0x1.7e1ecab2b8611p+4 +-0x1.a8cdaa343f1c3p+3 +0x1.f5b0caff27af8p+3 +-0x1.e7061a420527ep+3 +-0x1.323af1ffac813p+2 +0x1.8d033a8dd7ddap+3 +-0x1.a1a07454f8a1dp+3 +0x1.50cc41f57d39ap+0 +-0x1.f56e5e9fada02p+3 +0x1.3859d96750defp+3 +0x1.73203bf383085p+3 +-0x1.8adde5f8f1df4p+3 +-0x1.d557ae14c19b7p+0 +0x1.36e46dc9e2dddp+1 +-0x1.798cb6bde6c61p+2 +0x1.27b77812c8d7bp-1 +-0x1.3d6d9449f0b2cp+3 +-0x1.11e906c2545bep+3 +-0x1.deaedd8052d44p+4 +-0x1.6c268666b780dp+2 +-0x1.751cb5efc0125p+2 +0x1.7e5a447cbe912p+3 +-0x1.a1a94467137d8p+3 +-0x1.631e76fac0a58p+3 +-0x1.4974ea8a5b944p+1 +-0x1.610c39847f6dep-1 +0x1.64f79be504d66p+2 +0x1.ef4876bb9373dp+2 +0x1.3bf07758ac0edp+5 +0x1.1b3054b54d8d9p-1 +-0x1.0d3a4f35633c5p+2 +0x1.017ee3b6d9aebp+5 +-0x1.208cbf8e3dbeep+4 +-0x1.5f084df226306p+4 +-0x1.2bc95225cf2a6p+0 +0x1.79882b08dd3ccp+3 +0x1.f213b8342646bp+3 +-0x1.a1dee7da2bf6cp-2 +0x1.398ba033f91a6p+2 +0x1.0c46dd2d91fb6p+8 +0x1.5d37d3dc1d8abp+4 +0x1.e66a05bc261dcp+6 +0x1.b164e917a32f8p+1 +0x1.adaf625ba3cfcp+4 +0x1.e9a2d143c4b25p+3 +-0x1.17544ad4ba83cp+4 +0x1.3276ea83d9999p+0 +0x1.7b26c0a800a62p+3 +-0x1.da9892cd0b459p+2 +0x1.8e5d31093b5d2p+3 +-0x1.708eeafab8902p+5 +0x1.e4a268fcc1f87p+3 +-0x1.2988d714911b8p+3 +-0x1.35c038462ef2ep+3 +-0x1.adacd4cc06cf6p-5 +-0x1.2596ba0f8da32p+4 +0x1.c8b3ace12284cp-2 +-0x1.d574c505bd404p+0 +0x1.9e272df83331ep+4 +-0x1.baca8328beadep+3 +0x1.9f22e23bc0f6p+2 +-0x1.c073ca76d48a1p+1 +0x1.1633b247d7e01p+3 +0x1.63fde035cd946p+2 +0x1.3bf3ffdc65e09p+1 +-0x1.2429280322e3bp+2 +0x1.b44f60e7247e4p+3 +0x1.35ef8ef818f27p+3 +0x1.0a4a00aca0b9ep+3 +0x1.01263efdae1d3p+1 +0x1.43f43b811264p+4 +-0x1.272e41a83f19cp+1 +0x1.cde265bc071c3p+4 +-0x1.2759fba345ef1p+4 +0x1.53c29fe09b2b4p+3 +-0x1.3b002ac772cc3p+3 +-0x1.a9d384a6c2d99p+3 +-0x1.c0ffa46344c7bp+4 +0x1.28be59a2b8973p+4 +0x1.dee23f044c63p+1 +0x1.00a382f66b2b1p+4 +-0x1.089955f5cde6ep+4 +0x1.dfa63b0fdebaap+4 +0x1.1d920135cafdp+1 +0x1.b4eab91fa7e9dp+4 +-0x1.50679095977ep+5 +-0x1.b02079606e48ep+2 +0x1.15067d4ddd5d2p+3 +0x1.33b2fd363a87ep+4 +0x1.229d8dbb97519p+3 +-0x1.14bb16ed08341p+4 +0x1.06aa7a7c56016p+3 +0x1.b45903726b769p+2 +0x1.715c2c71815e3p+4 +0x1.66840832724dep+3 +0x1.f24d72fa4a60bp+1 +0x1.dbf50b585b223p+4 +-0x1.938fba520654p+4 +-0x1.bbfd71f367dccp+0 +0x1.333e5ed1263a1p+4 +0x1.05222e2d2d4aep+0 +0x1.8c6cd202ba974p+4 +0x1.8f1b75ace3b7bp+2 +-0x1.02c5f5cf16d5p+2 +-0x1.1713aaf722843p+1 +-0x1.a29ad45c3a3dap+4 +-0x1.b6d618e039128p+2 +-0x1.70b115246867bp+1 +-0x1.d84737c689ddp+2 +-0x1.a232c0b047aebp+0 +-0x1.466ac2b21738ep+3 +0x1.523a7ebfe78e3p+4 +0x1.e70aedebd4b1fp+2 +-0x1.5a1c975911dbfp+3 +-0x1.ed119034e6a4bp+3 +-0x1.792fd2b9e456dp+1 +0x1.4880715dad285p+3 +-0x1.e435be704689ep+2 +-0x1.e5248c755c768p+3 +0x1.2ea91c7e4606fp+3 +0x1.0752368183a77p+4 +-0x1.9fd765276e4a2p-1 +0x1.d27774b0a46bcp+1 +0x1.a0de76d18538p+4 +-0x1.779e199954091p+3 +-0x1.9a63b29ced1acp+3 +0x1.4551c071e3612p+3 +-0x1.2bf0f08f79f3bp+0 +-0x1.ae0f77c31c75dp+2 +0x1.091107f239ae7p+9 +0x1.34f0d2a12cd84p+2 +0x1.69e271f1f8fa2p+2 +0x1.2da5a48c9a9e1p+5 +0x1.a9cf96e2ed939p+3 +-0x1.45019d2ee0fb3p+0 +-0x1.bfabadc68b15fp+1 +0x1.ce6a228515532p+3 +0x1.e60fc4f8bc76ap+1 +-0x1.ba4f23e166ab6p+3 +0x1.bef6acf8e5265p+2 +-0x1.f08f31b874a0cp+1 +-0x1.827eef84b9c14p+2 +-0x1.81451763c7fcbp+3 +0x1.929f7c4873464p+2 +-0x1.2e62ca652df96p+1 +-0x1.0b1e914266a6ap+4 +0x1.8b1da759fca95p+2 +0x1.41a8c338299f7p+3 +-0x1.c2ed3436ec8e9p+3 +0x1.23ff52f35c879p+4 +-0x1.79751538755f8p+3 +-0x1.29d019df7347cp+0 +0x1.31813f5a8b34fp+2 +-0x1.19f82859faf39p+1 +0x1.4f28e4c463c9cp+4 +0x1.9f7be005ac4a4p+1 +-0x1.db1d972653debp+2 +0x1.f24a97c1672e6p+3 +-0x1.3785bff77fa86p+3 +-0x1.28ddef8a7188ap+4 +0x1.af2e4bf2e0527p+3 +-0x1.bb9c349cb3eb1p+3 +-0x1.23738446973ccp+4 +0x1.216e94fde3782p+3 +-0x1.404f78dfdac49p+1 +-0x1.d5f7630733621p+3 +-0x1.6a54a38f0c78cp+1 +-0x1.ea251e3191e44p+1 +0x1.e4d75b70f7768p+2 +-0x1.51d77741c59aep+4 +0x1.f0ffbede3629fp+1 +0x1.07cd9aa1e8cc4p+2 +0x1.7291e70882dcp+3 +-0x1.3a1d80da24205p+7 +0x1.16fa723f3f61bp+3 +-0x1.68cf93cb7cd7fp+3 +0x1.bda4753e9d1aap+4 +-0x1.3cd1502aade15p+8 +-0x1.044f2c1e7031fp+4 +0x1.3f4fa7719b902p+4 +-0x1.0585998124d7p+4 +-0x1.51373e1abd6eep-2 +0x1.0ccfdf512b482p+1 +0x1.217ce5fc6541ep+4 +0x1.5f834695e1c6bp+2 +-0x1.4855b8dac7c66p+4 +-0x1.c67155ef87709p+0 +0x1.4df8bcc94142p+0 +0x1.2a624540c149fp+3 +0x1.caa2ebc95573cp+1 +-0x1.682f24da6017ap+3 +-0x1.d0d90ecc89c53p+4 +0x1.904d8057eaef1p+3 +-0x1.d9bc35e72d545p+3 +0x1.b609cf1eb7875p+3 +-0x1.9a9a14ba31b5fp+3 +0x1.86c3af6fb8dcdp+2 +-0x1.ada57e0eb119bp+3 +0x1.8fce241b1e336p+2 +0x1.ac55e0fbe0d38p+3 +-0x1.0c3b900555af8p+2 +0x1.a5e5b3473e91fp+2 +-0x1.0565e7ab26f9ap+3 +0x1.6da23867e6d97p+1 +0x1.7ed407c698a0cp+9 +-0x1.ff2f3bcf1d076p+4 +0x1.bef44a8e2b591p+4 +-0x1.8801d5721b75fp+0 +-0x1.cbb29dedb7859p+2 +0x1.09dc7087753f5p+3 +0x1.01fbb1ed22fd8p+8 +0x1.2ab1b48ad28cbp-3 +-0x1.6ef24221dc489p+4 +-0x1.24519068ea36cp+1 +0x1.218a906174475p+4 +0x1.0652460d91c3dp+2 +-0x1.4bc35a7f6918bp+4 +-0x1.503f55f551c6ep+3 +-0x1.de0226626a4c3p+3 +-0x1.7c16f2a2e310fp+4 +0x1.be43032895252p+4 +0x1.a2e2c52f41be9p+4 +0x1.5f5178957b39fp+3 +-0x1.80f520a4221aap+3 +0x1.be8831b22588dp+4 +0x1.1e1ad8eda7dd8p+4 +0x1.88af12d33e396p+3 +0x1.56d510daccc47p+3 +0x1.2e8bca4275bb5p+3 +0x1.7c2a16c2964e7p+2 +-0x1.c3f2462543705p+2 +0x1.32d48716a741p+8 +0x1.11083b729cf36p+4 +-0x1.7e2af39315da9p+3 +-0x1.7da2eaba0ec41p+1 +0x1.506ffb7425729p+1 +0x1.7ab5ea8242debp+1 +0x1.b77cabf14db6bp+0 +0x1.7b3b4e2f05ddep+4 +0x1.bbddc223d8ed4p+3 +0x1.c509a23d73b8dp+4 +0x1.5ffe4e1ce3c6cp+5 +-0x1.30556be8545ecp+8 +0x1.826b805093a09p+4 +0x1.88114f0451dddp+3 +-0x1.242f7a3e92be2p+2 +-0x1.4b33f9eba0d61p+1 +-0x1.3ff7b15d65457p+4 +0x1.e5c145a39e135p+3 +-0x1.0452cb23c2ea2p-2 +0x1.922747f2a0d25p+2 +-0x1.2fe8f78eba3bcp+3 +0x1.4b188c8b58e1cp+3 +-0x1.0280595397c7p+2 +0x1.81a3d0dc3fce3p+4 +0x1.61604f72cc50fp+1 +-0x1.88b9b48e6e12bp+2 +0x1.adbde0c853d1dp+3 +0x1.ef8b77b92c76ep+1 +0x1.6f05862b7c708p+3 +0x1.0af7d6078d088p+4 +0x1.e038095394ea6p+2 +-0x1.72ba700c37f07p+4 +0x1.d311112e50e45p-2 +-0x1.4730babdc0c14p+5 +0x1.d2be6bebeedf4p+2 +0x1.0c4847b0d2f0bp+1 +-0x1.13802dfe62ed5p+4 +-0x1.1f41e33160aaep+1 +-0x1.29929c9c92042p+2 +0x1.d3f8e5ae13d6ap+1 +-0x1.c8c830419d314p+0 +0x1.0ad203c10df6ep+1 +-0x1.e96f930781a01p+1 +-0x1.21e5d8eb57dd9p+3 +0x1.328cee4e45ccep+5 +-0x1.fea527443ca72p-4 +-0x1.93dc6ac05f8f3p+2 +-0x1.680cd1fdc064fp+5 +0x1.21f1f1626f20ep+3 +-0x1.060a6d09b6f49p+5 +-0x1.1ff16387bdfa4p+4 +0x1.b51483295478cp+3 +-0x1.0ccf3fbb8bc2p+5 +0x1.12b19649c70c7p+4 +-0x1.220a5ffef9135p+2 +-0x1.5ef9eb9552a3bp+2 +0x1.71cdb61a203c4p+3 +0x1.1b40f1a2fcebap+4 +0x1.dae3426c41647p+1 +0x1.ceb35659a8204p+4 +0x1.028d091c63623p+3 +-0x1.0e43930a7e9cfp+1 +0x1.d503f98ebb95dp+2 +0x1.d86000d9a7707p+1 +-0x1.e6a3193c6903bp+3 +-0x1.02687ecb11cbdp+0 +0x1.1e75da86fb093p+0 +-0x1.0d4c1fec2fa9p+4 +0x1.d23a852bd5f0ep+0 +-0x1.d37956b1a6bd5p+3 +-0x1.a04d485c3b9e7p+0 +-0x1.04014c571b3e5p+1 +0x1.658acf683261ap+2 +-0x1.0ff5d61e9b253p-2 +-0x1.208fcd6d28d79p+2 +-0x1.26c032f90fc1ep+4 +0x1.d1394f6d8b6e3p+1 +0x1.5027343852a7ep+3 +0x1.687e11cabc067p+2 +-0x1.82955d1c9805ep+1 +-0x1.f0a28e0a0bfc3p+3 +-0x1.934f90e95a09cp+2 +0x1.9f3bffdb167d8p+2 +0x1.104161c484cbcp+3 +0x1.250e9485f986cp+5 +0x1.cbb8b279f75cfp+3 +-0x1.c929ababbfb8ap+5 +-0x1.39dd9137af427p+2 +-0x1.69653a2a1374bp+3 +-0x1.9e5b08d76b728p+4 +0x1.cf9e7d04b54bep+0 +-0x1.f509a8312f736p+3 +0x1.e6fb88bdc053ep+2 +-0x1.d26daedaae983p+7 +-0x1.1e22be3777ef4p+8 +-0x1.d76b71224c9b6p+4 +0x1.c56e2c269a7f6p+4 +0x1.2fd78ccfebdf2p+3 +-0x1.53571df7a806p+2 +0x1.1fc02cf8c4886p+4 +0x1.5e4283ca6c241p-3 +0x1.cfcf836d5392cp+0 +-0x1.deccf2895ba49p+3 +-0x1.c6fd363678493p-1 +-0x1.33102f4ebb9a7p+6 +0x1.3e4dd68a3b267p+4 +0x1.32e09414cfe9ep+2 +0x1.b25072bb38547p+3 +-0x1.e1b733cabc1a8p+4 +0x1.36b69bef0cbcap+4 +0x1.24780e586bcd3p+4 +0x1.96116870cb86ap-1 +-0x1.3612bb1dc64eap+4 +-0x1.e537779e7d117p+1 +0x1.17896c66b683bp+4 +0x1.9996b84f96662p+2 +-0x1.53c8ca3e29b1ep+3 +0x1.ea6f95ee5dcb6p+3 +0x1.b4e0038a61d51p+2 +-0x1.e2af578213281p+4 +0x1.0533a560b45f6p+4 +0x1.ed810ac9bb8e1p+5 +0x1.a8aec58be087p+4 +-0x1.70f68000c51eap+3 +0x1.51f401ec7fbdp+3 +0x1.db06473f40fedp+0 +0x1.4e1963fd716bbp+1 +0x1.a93094e125a22p+2 +-0x1.1026fefab4092p+3 +0x1.2b11802d5672cp+0 +-0x1.1663b10191896p+2 +0x1.64f32aa7f17c9p+2 +0x1.76f537ad53e83p+4 +-0x1.229ed99baeca3p-1 +-0x1.9d54224e8c116p+1 +0x1.66399235e31adp+2 +0x1.8274241590838p+1 +0x1.56ef89e9426dcp+3 +-0x1.48c9fc90c511ep-7 +0x1.2c9095d7682e6p+2 +0x1.f11c2ae636f68p+1 +-0x1.d30d83164bea4p+3 +0x1.7c24af02ca1bp+3 +-0x1.a8496a3e739d3p+3 +-0x1.8d426075714abp+2 +0x1.2fee8d8fad0ccp+3 +0x1.2784b3c87544ap+3 +-0x1.fa3b208cc16eap+1 +0x1.5f32ab56a81c4p+2 +-0x1.d1bb10de8809bp+3 +-0x1.b9e65c992b6c7p+1 +-0x1.150e7712add1ep+6 +-0x1.6dbe7021dcdc3p+1 +0x1.a46e973a3e99p+4 +0x1.4cde1121818fep+4 +-0x1.e842a6195ef26p+3 +0x1.a07a37e8d4c71p+2 +0x1.021d6b583a26cp+4 +-0x1.07a6aa47f6bfcp+2 +0x1.684072264d247p+5 +0x1.5a13a33f9ca56p+2 +0x1.e2f9968e2736fp-1 +-0x1.5ffafde92027ep+2 +0x1.b56387a27cf5dp+1 +0x1.7d238029ceef2p+0 +-0x1.61af1bcd2f05ep+3 +0x1.3693e012fcabep-6 +0x1.2498498f33eaap+4 +-0x1.8907402f60d53p+4 +-0x1.ab41475fcd6bap+4 +-0x1.dfbe17f38637ep+0 +0x1.9308bf9a54849p+1 +0x1.c58a07e377dc5p+4 +0x1.b362b3185f4d7p+2 +0x1.57be103ebaf0cp+0 +0x1.b77d9af425f21p+0 +-0x1.020ca5691cce5p+5 +0x1.83ec89bb2ce2fp+3 +0x1.b2c4774b4357bp+3 +-0x1.113a09f81fc81p+3 +-0x1.d382c87c16dfap+3 +0x1.7880f4f8ccd14p+2 +0x1.971a035ffe8adp+4 +0x1.0fb77f47421eep+3 +-0x1.9719c92834c47p+1 +0x1.ea1f6d15e40f3p+0 +0x1.32beae2003fcp+4 +-0x1.cf59e5c75346p+3 +0x1.1b29cf0432334p+4 +-0x1.3a8dc761fad7ep+4 +-0x1.9329f7e1e1bb3p+3 +-0x1.da33f91ffa374p+1 +-0x1.6ef64ba5996c6p+2 +0x1.d85946505a3f1p-1 +-0x1.52cf3636ba4c8p+0 +0x1.081ab8e481571p+2 +-0x1.a3029d2789b85p+4 +0x1.0dd4a1f66412bp+5 +0x1.ed04b0cfffa48p-3 +-0x1.365096745d39dp+1 +0x1.f8c280e4e1c84p+2 +0x1.2e34b13041e0ap+4 +0x1.76e0cc85b8289p+4 +0x1.7fc06c4f16dcap+4 +-0x1.1fc0438960659p+4 +-0x1.0ae6fc59bc6d7p+4 +-0x1.2c6562b353152p+3 +-0x1.cc02a394dc81p+3 +0x1.eed6e25dc319dp+4 +-0x1.95d15aed7e55p+4 +-0x1.c9bdba2cce334p+4 +-0x1.00f97b6ebe885p+7 +0x1.059c1493b1ef6p+4 +-0x1.cd3fc1071d3c8p+3 +0x1.6e093b3f895bfp+3 +-0x1.4d1a150d70ee8p+4 +0x1.fbe58bc9bd9d5p+2 +0x1.bc4616bd7691p+2 +0x1.8efeadf3c5833p+0 +-0x1.edf52b2c77c85p+3 +-0x1.c75fde6084728p+4 +-0x1.360ca3a0dd42cp+4 +-0x1.8316aa3769e3dp+2 +-0x1.d60075694fd86p-2 +0x1.279e6af8d355cp+9 +0x1.dcda45212aec6p+3 +-0x1.59edd0fd7a02bp-2 +0x1.4b4d1a28acebep+1 +0x1.334620ecc9621p+4 +-0x1.29ca766a4883p+3 +-0x1.be15557ae10cbp+3 +0x1.ea0c0064d5ceap+2 +-0x1.ce34047bc919dp+2 +0x1.0db4bbc981734p+7 +-0x1.e1bb82cad4ff9p+3 +0x1.ea0ff46f317d1p-1 +0x1.923c71788ea04p+0 +-0x1.4884c29964546p+4 +0x1.152025ce81301p+5 +0x1.d299f4143fefap+3 +0x1.0386c797fbc4ap+5 +0x1.00ec53614e27ep+1 +-0x1.0a6d141458b05p+3 +0x1.0269a3cd98e66p+3 +0x1.5638675db228ep+3 +-0x1.b712ca3109ea6p+1 +0x1.1f2cd3235346cp+1 +0x1.ed4bdf659996fp+0 +-0x1.a29e188bf5bfbp-1 +-0x1.069dc0fb9574p+4 +-0x1.050c8a2ff07b7p+3 +0x1.90271c76cfadbp+4 +0x1.17cf9a8c3dc4dp+3 +-0x1.917ca02a22d06p+2 +0x1.15f860722717bp+5 +0x1.b87e35ebfa349p+4 +0x1.7ae3124b25f2bp+2 +-0x1.c5c72c93c2d11p+0 +-0x1.eb5c14492754fp+2 +0x1.2db7ce4a43852p+5 +0x1.917df786a7411p+4 +0x1.0032d2617d198p+4 +-0x1.c04d5276f8e8cp+1 +-0x1.658aab185625p+4 +-0x1.def7a427fdb86p+3 +0x1.04012bcd43c6p+8 +-0x1.e29c2e02b1802p+4 +-0x1.3a92f53a6713p+3 +-0x1.01840542c33e8p+2 +-0x1.a1bb461853681p+3 +-0x1.cd19ac4ad8ac9p+2 +-0x1.48b60d36a500bp+2 +-0x1.bd350368ccd79p+1 +-0x1.c46617fb1ff35p+4 +0x1.bf977d521a53fp+1 +0x1.34bf78f74c29ep+7 +-0x1.a5f1702bdb0aap+1 +-0x1.f0470fd55eb31p+3 +-0x1.49c53a8ddc39cp+3 +0x1.99798da1c025ap+1 +0x1.2dbb443aaa6ep+1 +0x1.91aab55bb0eaep+3 +-0x1.28062a01ab905p+4 +0x1.f65353a0b9da3p+4 +-0x1.2aefe0be622c3p+4 +-0x1.53a44ea11ap+4 +0x1.64926415cba5p+8 +0x1.8a88dcc77efb6p-1 +0x1.539cceded3db2p+2 +0x1.1d375d18b4865p+5 +-0x1.1cebc81c01fd2p-1 +0x1.6b24572e08393p+3 +0x1.df70c125c0baap-1 +-0x1.67bef0d5e2905p+3 +0x1.ba7cff5a21287p+1 +0x1.6f2d89e4377d4p+2 +-0x1.4e682d49ff477p+3 +-0x1.866033fc47c63p+0 +-0x1.a8b234d4fa494p+3 +-0x1.5b18f0c015f78p+4 +-0x1.43970bfb824aep+3 +0x1.2cbe71f97c90ap-1 +-0x1.26b7c0e9a8849p+4 +0x1.194518d91bc4p+2 +-0x1.d7ef251bbc71p+3 +0x1.6bd3bdec63b04p+3 +0x1.2d60d5a27c4b2p+4 +0x1.4e2a48b2d5123p+2 +-0x1.9bc7256c883d5p+3 +0x1.6521f84acf6cbp+4 +0x1.3246dc983ab88p+2 +-0x1.80002fd67a625p+2 +-0x1.1678006ca7655p+4 +-0x1.14855f287d8edp+5 +0x1.54ed1bd62c549p+4 +-0x1.2eefa74a088a6p+2 +0x1.97c2d37b17f69p+2 +-0x1.142d7cf3fdc0ap+4 +-0x1.796aa9a04aae8p+0 +0x1.e210a0bf8f99fp-4 +0x1.546bc41c08f8cp+5 +-0x1.998eb2a1f58bep+2 +0x1.25fa8f9db5a5fp+3 +0x1.fc34f5a415d0ap+3 +-0x1.6999cad5dcb1bp+4 +0x1.52bfed0c2067p+2 +0x1.564f1508ad28ep+3 +-0x1.aeeba98923fcap+2 +0x1.99268aa57399dp-1 +-0x1.ee66af8dc006cp+2 +-0x1.1c6a1739b26b2p+3 +0x1.435e7e1a9bc3cp+0 +0x1.76cc2e8e9e5dfp+5 +-0x1.83fc524693dbep+2 +0x1.8fe30a34f5e35p+4 +0x1.03605b7977cc8p+3 +0x1.add1e9f1c6cddp+0 +-0x1.12d5618c6b4c6p+4 +-0x1.b48c30fac1824p+2 +0x1.6b3ae30fd52dfp-2 +0x1.173f8478e2863p+5 +-0x1.3835014acf332p+7 +0x1.67d70704a4339p+4 +0x1.46b330f251836p+0 +-0x1.95dc20f6b81b1p-1 +-0x1.fb3325a724a99p+1 +-0x1.d185f66c21c09p+3 +0x1.7f29d578ddf1bp+4 +0x1.404b71c973ecbp+3 +-0x1.d555687577d14p+3 +-0x1.6dfd1cb7643p+4 +-0x1.ec906dcd35ddcp+3 +-0x1.685455d1c3832p+3 +-0x1.fe44a15cfc5f7p+0 +-0x1.fbeee1a234ff8p-2 +-0x1.762ef989151c9p+1 +0x1.d80ad8139227ap+4 +-0x1.486074c9ef04cp-2 +0x1.0a8cf1332cb4fp+4 +-0x1.216b43a7112cdp+5 +-0x1.5c978b95cc4e3p-2 +0x1.823b307638c3bp+4 +0x1.5581ebaa8cefp+7 +-0x1.2f51752f28a43p+4 +-0x1.c4b97f5f00b34p+4 +0x1.4b06db80057f5p+3 +0x1.9ac9d7097f697p+4 +-0x1.fe4081f61ea09p+4 +-0x1.6a96dfd282c3ep+4 +-0x1.b565071fb2b58p+4 +0x1.03ba242e75589p+3 +-0x1.00f62c2282f9ep+4 +-0x1.29090666ab3e2p+4 +0x1.200271d15e08ap-1 +0x1.02cdd703c372ep+4 +-0x1.c1df0a6cc8eb4p+2 +0x1.62082cc20f3afp+5 +-0x1.38362f1b1b34fp+5 +0x1.05e18b0cb3a7cp+4 +0x1.b4f5170011cf4p+3 +0x1.5d5d25d6e1df5p+3 +-0x1.1bd403a1d726p+4 +0x1.1ed7d1ed1fb16p+4 +-0x1.e4bd943e1497dp+2 +0x1.1293bdebe151fp+6 +0x1.86cc4a0a87f44p+4 +0x1.0faede2b4bb8bp+4 +0x1.ff5697c3be761p+4 +-0x1.94f979bc376afp+2 +0x1.e3ca74f9d7f9dp+2 +-0x1.4e0fbca0be32bp+3 +0x1.4f04d297066c7p+4 +0x1.11836795d306bp+4 +0x1.1cf13582f1318p+3 +0x1.c262bccdc508p+3 +0x1.e05ad7abeb5ddp+1 +0x1.c7e2aea850175p+4 +0x1.0ea45c7f10e7dp+4 +0x1.70b79bca29c7ep+3 +-0x1.809fab2fa7544p+4 +0x1.073ac8101b9adp+5 +-0x1.00e0b405485b1p+5 +0x1.18653b53eb512p+3 +-0x1.2914dceb8e09dp+3 +0x1.7f44420d028eep+0 +0x1.a48fb0c386415p+0 +-0x1.b7f86beff7bbep+3 +0x1.cf689bb62eae4p+2 +-0x1.4df38f690748cp+3 +0x1.3d914834a02dcp+3 +0x1.04d87064f45a9p+1 +0x1.183f8f2241ed6p+4 +0x1.1318240ca5d33p+3 +-0x1.cae47b30d2f23p+4 +-0x1.72a1c2a89d6c9p+3 +-0x1.3d1ec7587c2b8p-3 +-0x1.051fbbde41a39p+4 +-0x1.dd8fcaa8a58f8p+1 +0x1.ac2c57087b80bp+4 +0x1.cf0ef531e025dp+1 +0x1.2a15bb92fdf38p+4 +-0x1.6458baf70503ap+2 +0x1.3dfba059f2546p+4 +0x1.acce48f4e536cp+2 +-0x1.4a6c29779e9acp+3 +0x1.0d65e0dca8388p+4 +-0x1.ef75c3b7f15afp+4 +0x1.ccdf4a9e81471p-2 +-0x1.1aa7e17a289fap+4 +-0x1.d7ae6b7c6814fp+1 +-0x1.dabe9688f81fp+2 +-0x1.42dc805d7da19p-1 +-0x1.e3ff006448c3bp+3 +-0x1.567bcfb46e58ep+4 +0x1.45e4c94adae2p+3 +-0x1.490a684bbfe4ap+4 +-0x1.0f8e1feffa9fdp+4 +0x1.6b87dd6e069a6p+0 +-0x1.948d00f9cf08dp+2 +0x1.2150989caa1b7p+5 +0x1.91ff10e829bb3p+3 +-0x1.066ee8f164313p+5 +-0x1.b2697742ba1dap+3 +0x1.9b8ef73ad9ad6p+2 +0x1.4fc9cbea1c7c2p+3 +0x1.2e771a8fe48bbp+3 +0x1.249b54f133818p+4 +-0x1.360a5bac22358p+4 +0x1.6a3caeb79e627p+4 +0x1.08101ea1959cep+5 +-0x1.ecf65cc6cfa57p+1 +0x1.62cada4da3588p+1 +-0x1.06112ee96ed42p+3 +0x1.991d772a8d2fbp+3 +0x1.606adf984b0bdp+4 +-0x1.070713afa5105p+1 +-0x1.562a988502c92p+0 +-0x1.dc5e96eedc33ap+3 +-0x1.83bc2de9bd012p+2 +0x1.5f291c644a389p-2 +0x1.294b333cd11fp+0 +0x1.0c56cfcad138ep+4 +-0x1.34e371ce7fed8p+4 +0x1.a02be0e4a422ep-1 +0x1.9904636bc6218p+3 +0x1.06002bd0dec72p-1 +-0x1.f13c1e5b57d07p+0 +-0x1.180a16bcb1dccp+2 +-0x1.8f8b4d1447b8bp+4 +-0x1.1649f29698c38p+4 +-0x1.97f9eaf9bcfep+2 +-0x1.4fe6172b8e328p+3 +-0x1.acaa138fcb042p+1 +0x1.10b6023dd5a51p+1 +0x1.eb91d030a8a39p+3 +0x1.f010c517a2d28p+3 +-0x1.18296d17dc06ep+1 +-0x1.3d588b118722dp+1 +-0x1.6d596346c5777p+4 +-0x1.9dca2a23691c5p+2 +0x1.257a95aa902dep+4 +0x1.bbce2314d32a6p+4 +-0x1.ead32b1ba9fffp+4 +-0x1.47b2d0411b1e5p+4 +-0x1.3195524628d3p+4 +0x1.03d558dacfc7cp+4 +0x1.c00ae24a0a399p+4 +-0x1.8fab24503bdedp+0 +0x1.3549cb20d72cap+4 +0x1.007aa5b57512dp+3 +0x1.457e7acdf9e75p+3 +0x1.18726b7878b02p+3 +0x1.13ddb372b541fp+2 +-0x1.03641de444419p+3 +0x1.4c7beb9dd3e1ep+4 +-0x1.a59091efe7995p+2 +0x1.2641c9b9a248p+3 +0x1.15666195054f1p+5 +-0x1.e0f6fb09b47b1p+4 +0x1.05feeba056108p+5 +0x1.c62db827d33a8p+8 +-0x1.544059260e467p+3 +0x1.705f558db1f7dp+3 +-0x1.1019dc9e7c71dp+6 +0x1.d1236f695756dp+2 +0x1.6718ed72e9789p+3 +-0x1.57e652ed6513bp+4 +-0x1.79544ea4f842p+2 +-0x1.16d6405fdef62p+4 +-0x1.1ac905b09b513p+4 +-0x1.e85af446ce44cp+3 +0x1.bb11c58573c6p+1 +0x1.7f800df187fbap+3 +0x1.3d5614880365fp+4 +-0x1.cb8fc5ca8d21ap+2 +-0x1.38784b4457b53p+4 +-0x1.4ab4fa9fbd1afp+1 +0x1.1c69d47337339p+7 +0x1.3dd5b7bc8c944p+3 +-0x1.ffa2151287b0fp+1 +0x1.4761347fdc14fp+2 +0x1.e5787b1dd88eap+2 +-0x1.f9e446149f343p+2 +-0x1.93e5d1509b1fbp+2 +0x1.4357f95694abbp+3 +-0x1.4f73dff8a219dp+2 +0x1.9d7f484a92c38p+4 +-0x1.f46b4b3c263a2p+0 +0x1.4cc1316881981p+1 +0x1.3e01ae737cb7p+4 +-0x1.b8cd7cf1ff021p+2 +0x1.17734bf216319p+1 +-0x1.4d84b67ffcaabp+5 +-0x1.5e3c2bb47e757p+1 +0x1.39600c851451cp+4 +-0x1.d9fed2305c888p+3 +0x1.cf3df0c2e5eaap+3 +0x1.97d41a0ca3461p+4 +0x1.ee4f3d641d617p+3 +0x1.456e7e7c59de6p+3 +-0x1.89719b5383a4ap+0 +0x1.7a6966035bf8dp+0 +0x1.32364619b25fep+4 +0x1.220cf874db741p+1 +-0x1.f26d5d11faa41p+3 +-0x1.32b2cf9dadaf6p+3 +0x1.c7fba542bced9p-2 +-0x1.016d02f024be3p-1 +-0x1.29eb778b5f1f5p+2 +-0x1.0abdf0f18390bp+3 +-0x1.83caee50aa938p+4 +-0x1.e77141958bf48p+4 +-0x1.2c0ecd67cf4d4p+5 +-0x1.0b184e359fcfap+0 +-0x1.2f8bb10b82134p+5 +-0x1.b2a8baa6b075dp+3 +0x1.900b1dc896c01p+4 +-0x1.f1c7eb783bc87p+2 +0x1.810201bffae51p+2 +0x1.2c9fc4c95da0cp+1 +-0x1.f03356cbf0643p+4 +-0x1.9fd06ec2498b4p+4 +0x1.9d463e02f1ad9p+4 +-0x1.3acaa99735b4ep+4 +-0x1.6968e52153f5ep+4 +-0x1.b41609afe417ep-2 +-0x1.6b96b28f9427dp+3 +-0x1.50589a38cb2f7p+1 +-0x1.d2f5a4c0fa054p+7 +-0x1.2f7d754e1ce8bp+4 +0x1.b05bd3c996b4cp-2 +0x1.40ed048dfc93fp+3 +0x1.228e5dee46cbp+4 +-0x1.112b60b800599p+0 +-0x1.be5892c5db7bbp+3 +-0x1.c6a599688170dp+4 +0x1.a56ef0739cf8ap+2 +0x1.918a5295319fap+1 +0x1.2d04ad130d76bp+2 +0x1.1aa9f2c2a40b8p+2 +0x1.0eb2ac3d285f2p+4 +-0x1.a38a2c4ecdca1p+4 +0x1.c2fa24fe1f397p+2 +0x1.1359bdeda427dp+7 +-0x1.171817b49bc5dp+3 +-0x1.38933e07c19e5p+5 +0x1.8107ea37b5a8p+4 +0x1.96ff2b9f8b568p+3 +0x1.188cd6a241b6p+1 +-0x1.fc7c724a9f1bfp-6 +-0x1.2bfef29b4173bp+3 +-0x1.076554cde63e2p+3 +-0x1.4afc23f1f6081p+3 +0x1.1aa983503c1cbp+4 +-0x1.85ce2f3e1f7f1p+4 +0x1.ec95a82b11a78p+1 +-0x1.bf4e26dbf2605p+3 +0x1.b008665f6334ep+2 +-0x1.9bb546a666451p+5 +-0x1.62cc3edd1e6bdp+5 +0x1.6ef53a8f473a9p+0 +-0x1.bdb7c6cdff693p+4 +0x1.5259b3681b3c2p+3 +-0x1.8852afebce82cp+4 +0x1.24337ee6f0126p+3 +0x1.daed1d8af823dp+2 +0x1.2c7a89ce4e75dp+3 +0x1.9331efbee1ac6p+4 +-0x1.55762693b425ep+3 +-0x1.146f9ddba649cp+4 +-0x1.28a0220b89b76p+3 +-0x1.a2228dc88396bp+4 +0x1.0b5b471e53949p+4 +0x1.d73f7ef842bb1p+2 +-0x1.8c21a7db1843dp+6 +-0x1.5018e76a96f7dp+2 +-0x1.72153e48a85c2p+4 +0x1.a8f7b18aef778p+4 +-0x1.26c92b28c68c4p+0 +-0x1.3ca7f79f0ebf7p+5 +0x1.b44a9a952a4b1p+2 +-0x1.5a8bb9550d5abp+4 +0x1.84ab41a2b7058p+2 +0x1.d44e1b40c1c02p+4 +0x1.dc0de4ed72d9cp+4 +0x1.8750902435eacp-1 +0x1.c435604f3676ep+1 +-0x1.a975d94d394e2p+4 +-0x1.3dc2bed23761fp+4 +-0x1.06ed8dfceda2dp+3 +0x1.4d3d6f9bc72f3p-1 +-0x1.dd5742db3a0ffp+2 +0x1.dde1147f3c512p+0 +-0x1.d54bacf73842dp+3 +-0x1.2ce968f482fb6p+4 +-0x1.41ab3d37b935p+3 +0x1.44f8368412ce3p-5 +0x1.5161949935c9dp+3 +-0x1.a7bbf8b575ebap+3 +-0x1.217621dece826p+5 +-0x1.9fdd64aeaf543p+3 +0x1.42b617e0c497cp-5 +0x1.ad52dd1410743p+2 +-0x1.a0565df383012p+4 +-0x1.64508925d269dp+3 +0x1.ddfec8ebd6b6ap+0 +-0x1.7d311b3642bf1p+3 +-0x1.5ddfba14e4874p+4 +0x1.c135f98268459p+0 +0x1.014789d4d5b91p+0 +-0x1.3333aa531c637p+4 +-0x1.4496a147c57bep+4 +-0x1.711ea5c8459cfp+4 +-0x1.755ebf41299fep-6 +0x1.1ac203cb9a283p-4 +-0x1.d88bd3db0c512p+1 +0x1.6dce50ae40243p+3 +-0x1.16dc0ba1a1b9cp+5 +-0x1.27c77b5832043p+0 +-0x1.906e9ee874a68p+1 +0x1.18e9b7af28258p-2 +-0x1.2e8c2cc1bde9ep+4 +-0x1.0e534262d7f41p+6 +-0x1.2c24ba980caccp+3 +-0x1.ac2c6d05084c6p+2 +-0x1.d221a59706b64p+4 +0x1.d71f27a76ca22p+2 +-0x1.630a7a3c19d39p+0 +0x1.5cb6bb7f70728p+4 +-0x1.4d706e630a0a9p+3 +-0x1.81db16b8bbe4bp+4 +0x1.1d45ebf7ed30fp+3 +-0x1.bbd30311345ebp+3 +0x1.692925c1296e1p+3 +0x1.a623ad0818d59p+0 +-0x1.080955c97a89fp+2 +-0x1.8c6be3f7c945dp+4 +-0x1.b92f87fae57d7p+0 +-0x1.4ef9f21574415p+4 +0x1.67160ab935358p+4 +-0x1.0b4b00aad2622p+0 +-0x1.1247dde581545p+4 +-0x1.0d5732b5cdaf5p+9 +0x1.d43b42181b948p+4 +0x1.2248fd038ed27p+4 +0x1.36f160e4d900bp-2 +-0x1.62a91991c2c58p+4 +0x1.c5cf2fd192635p+3 +-0x1.df6c8c4890602p+3 +-0x1.f943ab203a248p+1 +0x1.51a9cae8a92e7p+3 +-0x1.9108faadd1115p+3 +0x1.fe48626444ba7p+2 +-0x1.04ffeff608392p+2 +-0x1.d641c76db1ed5p-2 +-0x1.f9d3d67006a29p+1 +-0x1.ee62951aa7adap+1 +-0x1.94a685436df4fp+2 +0x1.a7c51685d902ap+3 +0x1.2379a3f425b38p+3 +0x1.86dca3bd4a44dp+1 +0x1.38018c0f0dd66p+3 +-0x1.ba117f24df0d6p+4 +0x1.fc074a6f6f58fp+2 +0x1.0ea0d742122b1p+4 +-0x1.0efba5c1fc1c3p+2 +-0x1.17c456c750bdep+3 +-0x1.596f727d34937p+1 +-0x1.392248d1593e7p+4 +0x1.5122e040be88dp+4 +0x1.f0ef80ba50badp+1 +0x1.d0aabdb6e70edp+2 +-0x1.f4b12dad2c6bap+3 +-0x1.c8731904ec173p+3 +0x1.31dd6880cacc1p+4 +-0x1.a303a38f85806p-3 +0x1.4e86c85a84015p+4 +0x1.1a56ee1a74cf5p+4 +-0x1.7238cdb89a0ecp+4 +0x1.83510cc9c4ca6p+3 +0x1.3295391e3ccc8p+2 +-0x1.e298a4b310a7dp+1 +0x1.cc723844fe461p+0 +-0x1.0944042fcdae5p+2 +0x1.11645985610c2p+2 +0x1.fbafb2c408d9bp+2 +-0x1.4b8f80230183p+3 +-0x1.e33700bf04184p+4 +0x1.04b9886745e6cp+3 +0x1.a4e32dd308aaep+4 +-0x1.6e6b6cf96e783p+2 +-0x1.10709c498307fp+4 +-0x1.48d7f5441c754p+4 +-0x1.cc1443515a649p+4 +0x1.87c2e092a68f2p+2 +0x1.cb2c20b529bd2p+3 +-0x1.c6295d9c09c8fp+4 +-0x1.218ee2ad1f934p+3 +-0x1.04bc77fde6206p+5 +-0x1.8e84168ab3b38p+1 +-0x1.9e64f73c00f78p+4 +0x1.9993699c101f6p+4 +-0x1.5862d69ff8b63p+5 +-0x1.b02166526d156p+2 +-0x1.99317ff87b5fdp-1 +-0x1.e066f612bc266p+2 +-0x1.620d20414e49cp+2 +-0x1.2d339cd08c6c2p+3 +-0x1.8d62f9a0a665p+4 +-0x1.00e289dfb31b2p+5 +-0x1.228055a6a4263p+3 +0x1.650beb9e3d905p+3 +0x1.add9cd3d9ab09p+3 +0x1.9233fff8d7297p+4 +0x1.67b7df39fb785p+3 +0x1.25eda2ab51b3cp+4 +-0x1.5a3b453f1c202p+0 +-0x1.5c45bc7aaa9f8p+1 +0x1.627c976c3806p+0 +0x1.6a81ed75eb061p+4 +0x1.8da70950ee823p+1 +-0x1.26483a4938c57p+1 +0x1.254c3b4368ba6p-1 +-0x1.ae35d513ca5f7p+4 +-0x1.d0244cd27dcb5p+1 +-0x1.d76601980934ep+3 +-0x1.5802e7afdce4bp+4 +0x1.5ea6b8ea7aeaap+5 +-0x1.2cbb80231a5bdp+4 +-0x1.219d9c5476f19p+3 +-0x1.86f4a461f7183p+3 +0x1.be4ac582a64adp+3 +-0x1.9f4dc59eee9a1p+3 +-0x1.0ce498d843fcap+1 +-0x1.2710c9e168fc7p+4 +0x1.d7f33124db819p+2 +0x1.ea8f9a6ce2108p+2 +0x1.bbbb082dd7912p+3 +-0x1.da4783a22c493p+3 +-0x1.0f307d840b356p+0 +0x1.9fcc20ac806ap+4 +-0x1.59a32f3adc7d6p+4 +-0x1.9f049ccdf0f36p+0 +0x1.4b15aa442cf6ap+3 +-0x1.2b1f28a5f0c56p+5 +-0x1.a43ecae5118d3p+4 +-0x1.05965bac75f9ep+4 +0x1.6fa45ec356479p+4 +-0x1.e90b1aed4219bp+3 +-0x1.a6fa422911babp+3 +-0x1.45452675327bap+3 +0x1.078a8c92bb3f6p+5 +-0x1.fe4f1ddb08991p+3 +0x1.032e9e1ab8d8ap+3 +0x1.5afe8ae2ed933p+2 +-0x1.54094b3d1d351p+3 +0x1.8124ccdc8b1dep+3 +0x1.80e3387dbf33ep+0 +-0x1.45ae5838cae14p-1 +-0x1.44c5524e9199fp+3 +0x1.9542f3a4aad91p+2 +0x1.9432234e9523cp+4 +0x1.9edd1a45088a7p+2 +-0x1.61b20106e07e7p+4 +0x1.cabf4bc48e766p+2 +-0x1.e190cef90b975p+1 +0x1.15f088c9dee53p+4 +0x1.600cf449c655bp+4 +0x1.277e065bba117p+3 +0x1.036adc016984p+4 +-0x1.069f9332656bp+1 +-0x1.1d4d017e0bb04p+4 +-0x1.7b7f405695c51p+3 +-0x1.20c723a0775f8p+5 +-0x1.584b227ece41fp+4 +-0x1.06c720075dfbcp+0 +-0x1.0c2c58b30e777p+2 +0x1.97cd6f664fc6p+7 +0x1.28c14532ff71dp+3 +-0x1.4304cfb4ee3fap+4 +-0x1.92768f948ca29p+2 +0x1.888d25b454406p+3 +-0x1.1969665a04b06p+2 +0x1.bfd58c915e16p+1 +-0x1.806ce03cc8937p+4 +0x1.c50ae6f2a9a65p-2 +-0x1.7db2d7d5d67cap+2 +-0x1.07b6f0960e7e5p-2 +0x1.1770ffb2d5a9fp+3 +0x1.b17e69ae8c5c7p+1 +0x1.29cda0ba82a5fp+4 +-0x1.2727a4d20f7acp+2 +0x1.cdd90e580cb64p+0 +0x1.dd3db00a3ab54p+3 +-0x1.07de72ea97036p+1 +-0x1.8777d294a4417p+1 +0x1.3683c7f7a18d9p+1 +0x1.18abee9edaa09p+3 +-0x1.6a2fb5cdd4f1cp+3 +0x1.9c9940c028163p+2 +-0x1.dd0cd1cbf4055p+3 +-0x1.89bb8306ab329p+4 +-0x1.450dad2d8f94dp+3 +0x1.1db3aa5b159edp+3 +-0x1.5253d572bc726p+4 +-0x1.773fcb321e9cbp+5 +-0x1.44725d7ff6097p+1 +-0x1.85e30556f955ep+3 +-0x1.248a4c31090aep+4 +0x1.07cac3c199f5dp+5 +0x1.606b66d295891p+3 +-0x1.d480710e94e67p+2 +0x1.80ae080c769c4p+5 +-0x1.08aed0fc25f1ep+1 +0x1.e38e145d01b57p+0 +-0x1.f1d0712d40a5fp+3 +0x1.582ebfb1db49ep+2 +-0x1.22fa577c0d992p+4 +0x1.12eeb20a9ae09p+9 +0x1.b3b695c6d9312p+3 +0x1.26d7b544813f8p-1 +0x1.76144c7f3e9c9p+3 +-0x1.9239530269d9ep-1 +-0x1.4fbc6dd06a89dp+3 +0x1.c7934d638dcfbp+4 +-0x1.e43557f49d971p+4 +-0x1.3214ec5bce878p+3 +-0x1.c8c12102dd6a9p+6 +0x1.ff5b86f5f418dp+0 +0x1.0b2b6fd4700bfp+4 +0x1.335c9b4b704a1p+4 +-0x1.953d5601ce38ap+1 +0x1.8d2b9230bb05ap+1 +0x1.bae885e362688p+4 +0x1.167fdf81407f1p+2 +0x1.b775da63c5d37p-2 +0x1.8e2d59aae1a1fp+4 +0x1.8bd951caf5e93p+4 +0x1.0c35b1c4aa6d2p+2 +-0x1.07462d8006abfp+4 +-0x1.59b224b6e69e7p+4 +-0x1.7b041fd969e89p+0 +-0x1.6584df2c6a83p+2 +0x1.1dfed4759bebfp+1 +-0x1.ba50d2f6110b5p+2 +0x1.e29c9b31d6da9p+3 +0x1.92f14e8f3825dp+2 +-0x1.39170d6424af2p+2 +-0x1.8693d0848429p+3 +0x1.2dbb1cf932fbcp+4 +-0x1.5db2b85add1fap-1 +0x1.385c4a8132291p+8 +0x1.62d1c71b6a913p+4 +-0x1.1fb8948aada04p+3 +0x1.9b7cc9e5a6543p+4 +-0x1.1a63dc7e4365bp+5 +-0x1.d29306bb5e532p+6 +0x1.355975dde6432p+3 +-0x1.6d0ef1ac850cap+4 +0x1.2fc69baef4bc7p+4 +-0x1.3de7429d92309p+4 +-0x1.724510ec1c591p+4 +-0x1.9e1fc2e664119p-3 +-0x1.d52816671f386p+3 +-0x1.0f42693ff74a3p+5 +-0x1.75a2d194c5a85p+2 +0x1.cb7f68e18e1e2p+1 +0x1.74d9ad971c6f7p+3 +-0x1.514432642b8f4p+7 +-0x1.271f4b5fe7d3fp+3 +-0x1.de4e40a256dd8p+2 +0x1.84feedc5af2bbp+4 +-0x1.4bf82fb3ead1ep+2 +-0x1.70a0cd62c573ep+4 +-0x1.82e93235056fdp+3 +0x1.8a42267f0c29p+5 +-0x1.7edcd2ce0a612p+4 +0x1.7ba93d78b8892p+4 +-0x1.1cc26bc13a5d9p+4 +-0x1.4426c88599f06p+0 +0x1.c9e901ebf5e59p+2 +0x1.1e397077089e2p+4 +0x1.2d37a44f20273p+5 +-0x1.7bdd6101a46aap+0 +-0x1.02b03a4e72829p+5 +0x1.c7e03f970cac9p+4 +-0x1.9bced69bc408ep-6 +-0x1.86dd5d300bbb8p+4 +-0x1.058dca75edd96p+4 +0x1.0b6f2199f585dp+3 +-0x1.a5b24e12c12d4p+5 +0x1.8f9b31e7901fep+3 +0x1.3f1eed0029f6bp+4 +-0x1.79bb443b4eadep-2 +0x1.405df0d73ed41p+4 +0x1.7810fe8736698p+4 +0x1.59039de6db6f5p+4 +-0x1.533b7d6f0b6d9p+3 +-0x1.847b9b9724aecp+4 +0x1.90b913592293p+4 +0x1.0f69311ef4321p+4 +-0x1.7e3a5ab032d3fp+3 +0x1.0a82d107c99e6p+4 +0x1.7dae4a58dc425p+1 +0x1.fa8bb34544995p+2 +0x1.2ae800ff7859ep+0 +-0x1.a4ebb42664509p+3 +0x1.334a7b3b9079p+3 +0x1.8ca71903ee2c6p+4 +0x1.482d30411e283p+1 +-0x1.30929e5c373afp+3 +-0x1.80e35ef1ddd1cp+3 +0x1.03de4f29aff05p+5 +0x1.d4c766c560fe2p-9 +0x1.138c14bbb535fp+5 +0x1.7f977d5fbb75ep+2 +-0x1.0d82df5123a9p+2 +0x1.8771f6a03a6c8p+2 +-0x1.a59fc737d5559p+3 +-0x1.5acebe13f11f2p+5 +0x1.943dbd4ff2cdbp+3 +-0x1.6b5f6879ec61fp+2 +-0x1.116521d4a3d8cp+3 +0x1.a468ebf0357cbp-1 +-0x1.4413d5ee9f75cp+0 +0x1.b61754ae0c6dbp+3 +-0x1.3d363813cc4bfp+5 +0x1.307a9ff77cb2ep+3 +-0x1.f0e5671c3f121p+2 +-0x1.2c479457e9901p+3 +-0x1.b2cdd85777a17p+3 +0x1.a5a8cea93441cp+3 +0x1.012dd5417ebabp+3 +-0x1.6a7fb5ba29ec7p+1 +0x1.9b817a66f1ep+1 +0x1.3a6f486f8ebd2p+2 +-0x1.a4ad2f1d303ebp+3 +0x1.e40b96b32e14cp+0 +-0x1.6330bd8e98ee5p+4 +0x1.af60dfb24d146p+3 +-0x1.3cc6919e04d7fp+4 +0x1.138621dd3ee7bp+2 +-0x1.0584f7f7702bcp+2 +0x1.1d624564810eep+3 +0x1.d5e8c33252f5bp+3 +-0x1.e79711bed5f0dp+3 +0x1.ad973178b1426p+3 +0x1.9697c6ba07269p+3 +-0x1.e3f9c8732e0b1p-2 +-0x1.8a437b9217b0fp+6 +-0x1.dea8cfcd209e8p+1 +0x1.4ec636bf19b65p+4 +-0x1.5f8228514bf1p+3 +-0x1.e8ac199e70757p+1 +0x1.1d46793e9bc24p+2 +-0x1.9bd877905a45dp-1 +0x1.1f0e932aa1f75p+4 +-0x1.8da4c38735d1dp+3 +-0x1.1bd46912e03d1p+5 +-0x1.9cbb3581dd141p+2 +0x1.764c244b1fbd4p+3 +-0x1.804129f83c132p+4 +0x1.50b8fdace7555p+3 +-0x1.bd0596b153a03p+3 +-0x1.3927d950b678cp-2 +-0x1.fc76e9cb416dcp+3 +0x1.8404e50aa6706p+1 +-0x1.62dd116f737cap+0 +0x1.85ad4467fad4bp+2 +-0x1.80dddd5cac36ap-1 +0x1.67184b8f09adep+0 +-0x1.817e4aca94532p+3 +-0x1.41fe3c74f27bep+3 +-0x1.87ea268053578p+3 +0x1.49d825e0468efp+2 +0x1.94c503adb4006p+0 +-0x1.936702f764919p-2 +-0x1.5e0853f89b32cp+4 +0x1.7526e455cfdbbp+3 +0x1.3c73d327cd48bp+3 +-0x1.44c8d837b29a1p+3 +0x1.aa17b59627509p+4 +-0x1.abbbf47e732f2p+2 +-0x1.935e2bc1cbeep+3 +0x1.fbf9979b2d0f4p+4 +-0x1.460f65c411d4dp+3 +0x1.99d664784b077p+2 +-0x1.9ad50578ec066p+4 +0x1.65a630bae65f1p-1 +-0x1.1563644580c69p+3 +0x1.5c25b7a3b86c2p+2 +0x1.75acf69793aaap+4 +-0x1.030ebc93315eap+3 +0x1.638e1deadeb17p+4 +0x1.7a1329148d092p+2 +-0x1.6ad65c0b2c245p+2 +-0x1.8b3d6bf9c738p+2 +-0x1.42b03fb911a6dp+2 +-0x1.7c9dfd892282cp+3 +-0x1.4cfbf80963feep+3 +-0x1.2efc81228d25bp+5 +0x1.b9edf9e537835p+4 +0x1.e07be6e15efeep+4 +0x1.68ff7b5b723c9p+4 +0x1.f863ad7b8b45fp+2 +-0x1.276971410e109p+2 +-0x1.b80c5e6a003fep+3 +-0x1.1d73ed291042cp+2 +0x1.1d386d2fd05fcp+5 +-0x1.15e4f32e4a988p+3 +-0x1.5f5f7c2005e5cp+3 +-0x1.83fc09ddc7c63p+6 +-0x1.e62d7e4f2ca86p+3 +-0x1.480c0e252c3e9p+6 +0x1.06a988b531ee4p+4 +0x1.e77977b8a24f8p+3 +-0x1.35eb76ff60099p+4 +0x1.cd14d1defa35dp+1 +-0x1.c2e0b70da69f8p+2 +-0x1.45c98232ed478p-2 +0x1.d50fef3819d9ap+0 +0x1.007b53c1185c4p+3 +-0x1.d7f8b998ae332p+1 +0x1.1e4003db8fb25p+3 +0x1.cf7be185bcb6ep+1 +-0x1.edec2941d3352p+3 +0x1.2787ee2e37515p+3 +-0x1.782edef52f0dfp+2 +0x1.c54666f50359fp+4 +0x1.c928236f8eccap+3 +0x1.41e3394d5cccep+2 +-0x1.6a320e9f9fd2cp+5 +-0x1.23fce40339614p+2 +-0x1.17b1cc8a06676p+4 +-0x1.5bafd28e8555ep+4 +-0x1.257704869c35p+3 +0x1.a2fd4088af239p+2 +-0x1.21a3c269b219p+2 +0x1.8d04fd46b222fp+0 +-0x1.8273b9d2ac2e3p+3 +0x1.74be2914f06f8p+4 +0x1.883d9f31cac0dp+4 +-0x1.cbf05f27a32e7p-2 +-0x1.b69ba86752555p+1 +0x1.38b961e657c49p+6 +0x1.911ead184ce73p+3 +0x1.f58ab54620487p+2 +0x1.6b1ecd10a0655p+4 +-0x1.91bbfc4618d2dp+3 +0x1.e99e7a237977bp+4 +-0x1.bab45588de70fp-1 +-0x1.8155945219cddp+3 +0x1.0538f059db14fp-1 +-0x1.d823ec71c5517p+3 +0x1.a7811eceac387p+3 +-0x1.37a6059e2e06ep+4 +-0x1.14bb9e44957f4p+2 +0x1.2298d6092512cp+1 +0x1.5d9d619500a72p+3 +0x1.985deed076b0ap+3 +-0x1.0b836aa598b3bp+3 +-0x1.e1af80d40b7a2p+4 +-0x1.a0a2902844a56p+3 +0x1.5ed4c68b9a0e2p+4 +-0x1.4f571fde7a502p+3 +0x1.880169a8f90b9p+4 +0x1.ce82e7c8cc62ep+3 +0x1.7868e81af2fbbp+4 +-0x1.8259681e6bf3bp+3 +-0x1.2dfec1f21f17dp+2 +0x1.86b9d349f1f7ap+3 +0x1.b2fe346f299f7p+4 +-0x1.b9a9d62c39d7ap+0 +0x1.048f2e5a2ee22p-2 +-0x1.cdb44cb109cbfp+3 +-0x1.40301ef2451e8p+0 +-0x1.6cb2e1d010d6cp+2 +-0x1.625cce8b1d24ep+3 +-0x1.bdaf8a4fb4176p+4 +-0x1.4987d79247be9p+3 +0x1.59c56f347cb8fp+3 +-0x1.77e1d67d5cf93p+2 +-0x1.6b0ae4ccc749p+2 +-0x1.542d83c758a2dp+4 +0x1.489b39a9be0c3p+3 +-0x1.b2b9cd4c9c559p+4 +0x1.10eab90c83dddp+1 +0x1.46ab056e23ee6p+2 +-0x1.d95bf17c22d4ep+3 +0x1.491ba51228373p+4 +-0x1.47e0249221c91p+4 +0x1.2c4401fc369b3p+5 +0x1.736228688cd9fp+4 +0x1.aed0eef6bca7ap+3 +0x1.f01eb78f1c947p+4 +0x1.e8ceaaf1d61f4p-1 +-0x1.6b73148d129f2p+4 +-0x1.9d3b50c5fccaep+3 +-0x1.9ea097113be47p+4 +0x1.0f902581cdeecp+2 +-0x1.031e03229c7dap+4 +-0x1.077e4afd485ecp+4 +-0x1.f5757f88443d5p+4 +0x1.697cdcedd386p+1 +-0x1.65d80c954f8dfp+2 +-0x1.2d790bf71cdf5p+3 +-0x1.72e499d922a73p+3 +-0x1.3e615f76b8d66p+3 +-0x1.1609e466783a9p+4 +-0x1.b5736133f5178p+1 +-0x1.8fcda61ef5422p+1 +0x1.6bf0a413b4227p+3 +0x1.ad48c26abc31bp+2 +-0x1.89035760cc5d4p+4 +-0x1.cdc0fec1e70a2p+0 +-0x1.3a55749d25773p+3 +-0x1.08462ba764827p-1 +-0x1.b916e76fe9e14p+4 +-0x1.ec6557bc89b42p-3 +0x1.82977458a6564p+8 +-0x1.f96ce82f9a23ap+4 +-0x1.f7c0e59ea98cbp+1 +0x1.8cecde20d7c45p-2 +-0x1.6ff71534123ddp+3 +0x1.b8ce3002e0d82p+3 +0x1.9cd353103322cp-6 +-0x1.2015fdadbe2dap+5 +-0x1.8da669ffe6478p+0 +-0x1.159efd82250bp+4 +-0x1.1a5f287427336p+3 +-0x1.af5ae1b53176dp+3 +-0x1.6c15ffe994f45p+2 +-0x1.079bbda12c0ddp+3 +-0x1.6a98d3e71972dp+3 +0x1.09ea738050476p+3 +0x1.ecfe0b6ad313p+2 +0x1.f8472c0d8233fp+2 +0x1.a4ef60e8d4b68p+2 +-0x1.81239f23394e7p+3 +0x1.5387fc6c4af86p+3 +-0x1.80dc1ca4a928bp+3 +0x1.50ab5ca3ea361p+2 +0x1.e5050fecbfd65p+3 +-0x1.524fd49a02b4dp+1 +0x1.44580cdfe28b4p+3 +0x1.bcf5e5773b864p+3 +-0x1.ec2f51ca5af3bp+3 +-0x1.d881ce2ed8b85p+0 +0x1.5588c6aa8d88dp+4 +0x1.b9c93457c68ccp+3 +-0x1.228f88018b8a6p-1 +-0x1.4fea718f01536p+0 +0x1.59f8ca7f88282p-1 +0x1.cbdcf49250f0dp+0 +0x1.37f0fb7e253dp-1 +0x1.f92abc9df294fp+3 +-0x1.a8b95ed78f2f1p+2 +-0x1.83ff63ccd829dp+3 +0x1.de453ec5656f7p+1 +-0x1.70b985d772324p+3 +0x1.da1c68b1e52a8p+4 +0x1.21b5b351f7031p+4 +0x1.d21279e0fc85ap+4 +0x1.83719c6502f7bp+3 +-0x1.a4349c6c28813p+3 +0x1.b878b8dea066dp+4 +0x1.6a370d48dd1c2p+2 +-0x1.118e53475e617p+4 +-0x1.3df8b525efb55p+2 +0x1.8a50137aad3a1p+4 +0x1.b979aabae05aep-2 +0x1.8bdbe25c8524p+0 +0x1.9a65a34f42815p+3 +-0x1.7f250f8677549p+2 +-0x1.3b1f20fce5035p+3 +-0x1.345fb24859892p+2 +-0x1.75771df423c34p+2 +-0x1.1913367ab0dc9p+5 +-0x1.ec1425f94a20ep+1 +0x1.c4f345511c799p+4 +-0x1.4b57df27e2e16p+3 +0x1.ffb66f39f050ep+3 +-0x1.01df0e2e1370ap+3 +-0x1.15df9373eb255p+4 +-0x1.a170f6275370cp+3 +-0x1.d992df955bd78p+1 +-0x1.2baf74b4af21dp+3 +0x1.a851867b7bec4p+2 +0x1.abcea7391c221p+2 +0x1.ab7cbadc985d2p+4 +0x1.42e6993b29453p+1 +-0x1.9d0814a6f5355p+4 +-0x1.0b9937ed5dfdbp+3 +-0x1.1156c5ea402p+2 +-0x1.b699f07b3e6afp-2 +0x1.bb03a45c278c5p+2 +0x1.2fb4ae9f919aep+3 +0x1.03cfa4f8455d4p+5 +-0x1.abf1b8deb489bp+0 +0x1.6139768ab5a8ap+5 +0x1.dd26183cd036p+3 +0x1.2750767d3e886p+2 +-0x1.84c575669a912p-3 +0x1.7042a2d1aca1fp+1 +0x1.c82e9181f6fd2p+2 +-0x1.a57da927cfc94p+2 +0x1.66a4dea06db8ep+4 +0x1.c6a3991cf0e3bp-1 +0x1.29cfbc67c29e1p+4 +0x1.89c30998f7df7p+2 +-0x1.762f1d6d9e00ap+3 +0x1.bfb28f77e3cdap+4 +0x1.8229eba6897e4p+0 +0x1.fab965093334ep+1 +0x1.88906093f6f04p+4 +-0x1.db54dc9532723p+3 +-0x1.21161a538052dp+2 +0x1.6df6d1ac551fcp+4 +0x1.0259a7aea2fccp+2 +0x1.7c3ad6be59623p+4 +0x1.6422f775e1093p+0 +0x1.9b091f364ac5fp+1 +-0x1.104b2d8a76b09p+7 +-0x1.70ed1242b15ccp+3 +-0x1.25d4f9e7e27a2p+5 +0x1.5d7ff0337fb2ap+4 +0x1.9a3d97b4c6118p+4 +-0x1.ac174c6e26cefp+2 +0x1.a7281131d4703p-1 +-0x1.eba0bf59937c5p+4 +0x1.a5e5f6b6ddd88p+2 +-0x1.7288a0a98efa4p+3 +-0x1.8935c9fdc3c05p+3 +-0x1.2a829bbcb2cbap+4 +-0x1.48ebdcb83f7e7p+3 +0x1.5419fc820b9a9p+4 +-0x1.50327d1d01e1cp+3 +0x1.5e3d5ca372cd8p+3 +0x1.0d9ddaeda3c4cp+5 +0x1.82002edebb429p-3 +-0x1.812469be3e86dp+2 +0x1.1ded0123d4cc8p+4 +-0x1.f34346b7b219ap+1 +0x1.61f2055687765p+4 +0x1.39cca64743a75p+2 +-0x1.8a8c7a3787394p+0 +-0x1.e29c8718a1038p+2 +0x1.361953a7a22f5p+2 +0x1.17da7b2ab71d9p+3 +0x1.18ca0f33001p-1 +-0x1.6b72879fb1d94p+3 +0x1.56ccbdbc476dbp-2 +0x1.73c6412270476p+0 +0x1.87c68be809854p+3 +0x1.d69c54d0ae8efp+3 +-0x1.726e5386cbf5ep+3 +0x1.4db07670f6b3ap+3 +-0x1.43661ca814c54p+5 +-0x1.0a6bca180b2cbp+4 +-0x1.27820f879c184p+4 +0x1.ca9d5c5bfe4f2p-1 +0x1.290ac30cdc193p+0 +0x1.f61eb949b18d3p+4 +-0x1.1584d05d0a96ap+3 +0x1.0b8bf2229fe88p+4 +-0x1.51998f4724bcfp+3 +-0x1.3fd468ad2a168p+1 +0x1.e7b494d60d128p+2 +0x1.0c48212f9d7d5p-2 +-0x1.165632366a642p-1 +0x1.f02bc2261e6p+1 +0x1.35c695c54324cp+3 +0x1.da738a1ef263ap+0 +0x1.8e148329ce957p+3 +-0x1.23fb1e71b470dp+4 +-0x1.917d253d56628p-1 +0x1.a732ce8745798p+5 +-0x1.d5274779de14fp+4 +-0x1.6140d1bcfa57ap+4 +0x1.d8ab79716e0f7p+3 +0x1.69a984068e617p+1 +-0x1.b993494c289a7p+1 +-0x1.b84750ff20e86p+3 +0x1.48c177c8aca89p+3 +-0x1.445f818422a59p+4 +-0x1.4122d8dea6a43p+4 +-0x1.f0fc999efb4aap+2 +-0x1.15642cc3c862ap+4 +-0x1.276fb26de60e9p+2 +0x1.1ec51bc9a97bap+2 +0x1.3d61d3a09b77fp+3 +0x1.f9cd816fd14fep+3 +0x1.cef99ebfe42b3p+4 +-0x1.bd5bba461b12cp+3 +0x1.416067dd0409fp+4 +0x1.1502592e972a1p+4 +-0x1.934af108629a1p+4 +0x1.e2761e34d6f1p+4 +0x1.c5012d584de9fp+3 +-0x1.77978719926fep+3 +-0x1.1d26cb45855bcp+3 +-0x1.eb282fdc323b2p+1 +0x1.e347b5fc0444cp+1 +-0x1.c882616c0724ep+3 +0x1.fd0406443607fp+4 +-0x1.3ac283c5bcf6fp+4 +0x1.ba5eed72a9ddp+2 +0x1.69e161b1c4069p+2 +-0x1.6d72c573c240ap+3 +0x1.bbf7f991509bp+3 +0x1.82e235c879fcap-4 +0x1.2d96702365145p+3 +0x1.215bea1d8d972p+3 +-0x1.7997172e853bfp+4 +0x1.40d3c7f677697p+8 +0x1.2b76bc19872a5p+3 +0x1.e87f010895ff8p+2 +-0x1.66b791a63137ap+4 +0x1.380f5b2505ad7p-4 +0x1.365817673d7f7p+2 +-0x1.67eaed7f37d86p+2 +-0x1.09e25af5d71aep+5 +-0x1.2241b2dd69a7p+3 +-0x1.6e04df20ee7f6p+3 +-0x1.1254f113aeef6p+8 +0x1.be92449ba86c1p+4 +0x1.d0ade40208be6p+3 +0x1.78507db603478p+2 +0x1.5fdd6ff3a3c16p+2 +-0x1.a40adcf265112p+3 +-0x1.9a4965d24107ap+2 +-0x1.0087030c13e29p+1 +-0x1.9050f6f41c4ddp+2 +0x1.9010a2e637bc7p+3 +0x1.113376a83e2c6p+3 +0x1.4a4de4a4f3f5p+3 +-0x1.51fcce431742p+3 +0x1.6282901a8acecp+4 +0x1.01b533e308467p+6 +0x1.901b0800bc9dfp+0 +0x1.ab8c84d120068p+4 +0x1.0c1ca7ff09856p+7 +-0x1.19519cd93a2bdp+0 +0x1.204095599060ep+2 +-0x1.779b54f02edc9p+4 +0x1.5a7190ad1a6a1p+2 +-0x1.20ab35abb8787p+3 +-0x1.04970708d0fe5p+4 +-0x1.29b567146b4e8p+3 +-0x1.d35c076e911bp+1 +-0x1.aca8dd766452ap+4 +0x1.50a41f3b44575p+3 +0x1.dbbcc5a5d0df9p+3 +0x1.2c63a0d55602bp+3 +0x1.ff52828b187e8p+0 +-0x1.27ad28fb498b1p-5 +-0x1.63b807193b23dp+5 +0x1.f0119929f101fp+2 +-0x1.43fe26caa94e4p+3 +-0x1.0cfe307425a53p+4 +-0x1.61f8fd45862b2p+3 +0x1.ce5dc065eb64dp+3 +-0x1.9c353048d973dp+2 +0x1.ffa1bcc97ea3ep+3 +-0x1.c801293111172p+3 +-0x1.1e7d796eeaec5p+4 +-0x1.2f748cfbc86e7p+3 +0x1.3e88e2104eb8fp-1 +0x1.8f8bc03ea8a77p+4 +-0x1.1cff7307d5862p+5 +0x1.33c240e05d236p+3 +-0x1.f3fd37550fb15p+3 +0x1.5460460453fe5p+4 +-0x1.13ae63d5081bdp+3 +0x1.c8a557e518029p+3 +0x1.a6e45f4e9a6b6p+1 +0x1.07ed1a2a897adp+5 +-0x1.b846a9c3551dp+0 +-0x1.5e7ca85f0362cp+3 +-0x1.e68c399dd7828p+4 +0x1.d7c9f445e5a24p+1 +0x1.ee68d40735504p+1 +-0x1.52875d7fd4576p+4 +-0x1.d91c369f9388bp+4 +0x1.2b72db14cc6f6p+5 +0x1.d0c789fca360bp+2 +0x1.97c690165469dp+4 +0x1.67d404afb5792p+4 +-0x1.b4cdb39547973p+0 +-0x1.ed74867a6604dp+2 +0x1.5adacd4f6b1d7p+4 +0x1.7fdec551fc6dp+3 +0x1.9f462dff9efa5p+1 +-0x1.fdf4e38d3f18dp+1 +-0x1.b7c4b7dbb18a8p+3 +0x1.0e3b079e53d7bp+3 +-0x1.5d2e083cdb2ap+4 +0x1.0cc27d64a7d43p+2 +-0x1.37e81213f4e0fp+2 +-0x1.5a43d413f83bap+3 +-0x1.314f136d93effp+2 +0x1.064053ce7a0afp+4 +0x1.0d29210c02d7bp+2 +-0x1.a6260c58046edp+4 +0x1.c090bdd3a536fp+2 +0x1.8c59cb4a3224p+4 +-0x1.797c7dad0012fp+4 +-0x1.495eff731233cp+2 +-0x1.b0f3498a5ab23p+7 +-0x1.7ace45bdacdf7p+1 +0x1.5e57461216e1bp+0 +0x1.99a99694f9534p+3 +-0x1.64f4d39d571f8p+2 +0x1.5b2ce91d1aef2p+1 +-0x1.afae6b5b46062p-1 +0x1.4f2403eebb14fp+9 +0x1.76212d58b40c7p+1 +0x1.1e35a985b8e18p+2 +-0x1.2d2b34d13b5f9p+2 +-0x1.74477a02ec0bdp+2 +-0x1.da68da140e825p+3 +-0x1.c28a73a3106bep+4 +-0x1.cf020fc31ed3fp+4 +-0x1.7275f98572478p+2 +-0x1.83d0b79f6303cp+3 +0x1.22e357de490cfp+1 +0x1.1d1dbc833ad22p+3 +0x1.b4bc73f74859ap+3 +0x1.686b4b854b64cp+4 +0x1.fbb52a400d89cp+4 +-0x1.cc7f9c85bde7ep+2 +0x1.b6b477f201c6ep+3 +0x1.0ebfba0a114c5p+3 +-0x1.e6ace16a7299cp+0 +-0x1.d104471f5d95dp+3 +-0x1.e19500ec9b6cep-3 +-0x1.70f295be4a514p+5 +0x1.f83b5b8adb452p+3 +0x1.281cb65ca320ap+4 +-0x1.ff1218cd72c29p+1 +0x1.3b72435a84809p+3 +0x1.7faa65769570ep+3 +-0x1.a4da56f324ec8p+4 +0x1.372832227ffc9p+2 +-0x1.ae39635528ddp+3 +-0x1.ddcde5b4fb11bp+1 +-0x1.0670b45312f0dp+1 +0x1.fb5febc89cd42p+1 +0x1.a307fce6d123p+2 +-0x1.404de256223b2p+4 +0x1.144152cb79ec1p+4 +-0x1.f58740badc67p+1 +-0x1.c07b0dabdd81fp+1 +0x1.404e7275ef5fep+2 +0x1.870e0080594c6p+4 +-0x1.e37d0e1e669ep+3 +-0x1.4b5ae5988b046p+3 +0x1.70267658dba4cp+4 +-0x1.9cfa287000ca3p+2 +-0x1.18feedff8e9e1p+4 +-0x1.37295400e0b66p+4 +-0x1.63ed3cee44c3p+4 +0x1.ecf1262c6256fp+1 +-0x1.1064e5d40fbaap+5 +-0x1.a27bde8e83542p+3 +-0x1.37ed4bf644953p+1 +0x1.0247350b588fp+3 +-0x1.d438ce0aefc38p+1 +-0x1.36aa071aeee3ap+0 +-0x1.7caf6d8ba4423p+1 +0x1.52874ff294ab8p+2 +0x1.708585ed461c7p+2 +0x1.b81519abfe448p+3 +0x1.960ca3aca2da9p+0 +-0x1.9247d4bed09dfp+4 +-0x1.23affea0c28c4p+5 +-0x1.0ed320667957ep+4 +0x1.618874e4163c5p+3 +-0x1.bcab998cb6246p+3 +0x1.375f6da901a1bp+1 +-0x1.385561329fbd9p+1 +0x1.d85a863473592p+3 +-0x1.c24c2add7a29cp-4 +0x1.5f9874c3e9c04p+3 +0x1.b10ecf4a5ae09p+3 +0x1.22a60403cf9edp+3 +-0x1.611f37f57d103p+3 +-0x1.0d5821620c591p+2 +-0x1.78931e76da172p+2 +0x1.42a0cb1723dd8p+4 +0x1.0cdd8dffcc714p+3 +0x1.583e81ad1f894p+3 +-0x1.8dddfe6b1db1ep-1 +-0x1.279f4aba250b2p+1 +-0x1.1c8f3a3197523p+1 +0x1.f8279ff8d44e8p+3 +0x1.7eb0586f1e212p+4 +0x1.a0f7088408588p+3 +0x1.10a960acbb03ep+2 +0x1.058270b943164p+3 +0x1.8a113c5edea79p+4 +-0x1.3089f26b16c03p+5 +0x1.4d41a44153273p+2 +0x1.b1467355d45e8p+3 +-0x1.d7c6f58419c5cp+2 +0x1.66b6af034f9ddp+3 +-0x1.7d4c8535032bep+2 +0x1.fcdc6cacad5ecp+1 +-0x1.9741ac11fd8p+3 +-0x1.d94896040c901p+4 +0x1.b1a5e683d04cbp+3 +0x1.b3389a7d7531ep+3 +0x1.3db3786b871ffp+2 +-0x1.93fbc2d3d6065p+2 +0x1.61b4044ca5525p+3 +-0x1.859fc80ce8dd2p-1 +0x1.8073e06ad8555p+4 +-0x1.bc3e98be64526p+4 +0x1.aaa83f1f88352p+2 +-0x1.a8e66443f670cp-1 +0x1.9efa872648f64p+3 +-0x1.234ae4a25b79dp+4 +-0x1.0721d88335cc7p+1 +-0x1.220a9569b1afbp+2 +0x1.be0bafa87bc98p+3 +0x1.45caa702677e9p+3 +0x1.525a58f38f698p+2 +-0x1.2a1b7c49eb37ep+5 +0x1.9ccc17e5b340fp+7 +0x1.567fa18ac29e7p+3 +0x1.17282ed4b65cp+4 +0x1.d38e3004c61a4p+4 +-0x1.5d13e5e547643p+3 +-0x1.343e0be99de54p-3 +-0x1.0461c2da75ca5p+3 +-0x1.c31b2ce23198ap+3 +0x1.8ed03412d6defp+4 +-0x1.1262edf9d2919p+5 +0x1.e92aca60286a3p+3 +-0x1.31b566d1b2051p+5 +0x1.1cc31c406d884p+1 +0x1.653507d0fae44p+4 +-0x1.0ca9fa4e5ea14p+4 +0x1.d10c0fb255dfbp-1 +0x1.012c64191302p+4 +0x1.7ab9618aa7b9ap+4 +-0x1.4229532e11028p+2 +0x1.0473c74a65923p+0 +-0x1.4ec5527bb6b1p+2 +-0x1.489c9c3257ffbp+0 +-0x1.8605a7ea9f68ep+3 +0x1.0b9704fd80065p+1 +0x1.af4e5e8e21aabp+4 +-0x1.7048849aad75dp+3 +0x1.0d834d061d13ep+4 +0x1.1a3fd319de2d8p+3 +-0x1.c9acb3cf84b5ap+4 +0x1.2cd3804cfa77bp+2 +-0x1.13feec13f7a1ep+4 +-0x1.44a39e2790977p+4 +-0x1.43dc50a87bef6p+2 +-0x1.95c0223f3e118p+3 +-0x1.e9d0bba5162abp+3 +0x1.01063cdc457d9p+5 +0x1.2cf2cb1c57f41p+4 +-0x1.5b04698bbb1a7p+4 +0x1.c4399e14bbcffp+3 +-0x1.a99eb5ebf5264p+4 +-0x1.099a51f97cb82p+3 +-0x1.8c4bdb52630b4p+4 +-0x1.96e438636db92p+4 +-0x1.3793009205cb6p+0 +0x1.78aacc3ecdfddp+3 +0x1.ffaddddffd222p+3 +0x1.16e60604c9814p+4 +0x1.13f31a840b543p+1 +-0x1.b1a470df782ffp+3 +-0x1.d6358578aeaadp+3 +-0x1.387aa415ad2e3p+4 +-0x1.e01e94f4b8a63p+4 +0x1.37444d56dfa27p+2 +0x1.1735afb03ea2fp+5 +0x1.e57a1b1442559p+1 +0x1.684ed9d43ce98p+2 +-0x1.1faa73c539267p+3 +0x1.35badc4b94a55p+3 +0x1.fe74074beb41ap+4 +-0x1.1e3e312477969p+1 +-0x1.2d1e06641d4b5p+4 +-0x1.8035cd3e7742cp+0 +-0x1.36a9e91df62c3p+4 +-0x1.9b107f419c584p+1 +-0x1.85e021f095f01p-2 +-0x1.5f96df191eb35p+5 +0x1.4b81b4301ff9bp+4 +-0x1.27f867c4a1876p+4 +-0x1.e34f3f8de9e93p+3 +0x1.3ff1982a8c1a3p+2 +-0x1.acfc0f7d4df3bp+2 +0x1.563f3d6f14e47p+3 +-0x1.32c9dc7c84217p+5 +-0x1.37e68f305c2e4p-1 +0x1.a9cb811e2636fp+2 +0x1.66683e6e79191p+4 +-0x1.dcf29ecba2ec9p+4 +0x1.cdfd673213674p+6 +0x1.41b4643a6e992p+4 +-0x1.6b431877fb402p+4 +0x1.0e5ad74b26404p+3 +0x1.82de4a767021p+2 +0x1.12126a1ca8613p+5 +-0x1.588a5f65fe3b4p+4 +-0x1.56bb13e4c4ae6p+2 +-0x1.c2d0fd0923fbfp+4 +0x1.c91e8b10a5533p-3 +-0x1.f9b58d1ae36e4p+0 +-0x1.01b17727843d9p+2 +0x1.30f175c55fc16p+2 +0x1.96488992e5355p+2 +0x1.9ee1502eccb25p+0 +0x1.2b7cd87d8575fp+3 +0x1.335e7097d77cbp+4 +0x1.32db26973797p+3 +0x1.49e461c1e1bdap+3 +0x1.809e28859e0a5p+4 +0x1.b281c98df2671p+2 +-0x1.ef3af6c6c31b3p+3 +-0x1.92b6e58d80c3fp+4 +0x1.5b2a89fea53f1p+0 +-0x1.981004f6214f3p+0 +-0x1.96ce7df738056p+3 +0x1.c37f9aa20fd13p+2 +-0x1.96930ce3c46fap+3 +0x1.a434fcf038beep+2 +-0x1.7b13e32ea485bp+3 +0x1.b66e3aa220ca7p+1 +-0x1.3157d8e3da2f8p+4 +0x1.027d8759c3f59p+2 +-0x1.acd3e4897fdap+4 +-0x1.183687481d131p-1 +-0x1.23d8a034ba3eep+4 +-0x1.3e11a7c15725fp+2 +0x1.2ae06cdf11218p+4 +0x1.8236fc55fa007p-2 +0x1.90815eba85c32p+4 +-0x1.a8db406cfc925p+1 +-0x1.29758696f7f4fp+4 +-0x1.952cb3e54afadp+4 +-0x1.a20518c61bc01p+3 +-0x1.cf28a5bfdbacap+3 +0x1.931bf09323ebcp+3 +0x1.876de707ce431p+2 +-0x1.9ce85d13df788p+2 +-0x1.4292c1163e569p+4 +-0x1.2b7d1b77746cep+3 +-0x1.8d138f089cb57p+3 +0x1.e9278c18affb3p+3 +0x1.9425430667adcp+4 +-0x1.1df8cd3a20e3dp+4 +-0x1.31ce008c00358p+0 +0x1.a7065ef00e1ffp+4 +0x1.b70b1c1c89729p+4 +0x1.930bc47bb8188p+3 +-0x1.2f167de5cdea1p+4 +-0x1.5f557210f0787p+3 +-0x1.01fae373eadffp+1 +0x1.b78b3f6d22097p+3 +0x1.d7a04db2ea56p+3 +0x1.f2be0a10bd434p+1 +0x1.4a4c52737001ap+3 +0x1.0b3c195c20e8bp+1 +-0x1.8c5f16b22855ep+3 +0x1.3b31b372759b7p+4 +-0x1.61f20e1994293p+4 +-0x1.b3556f80c18aap+4 +-0x1.3da99efc32593p+3 +0x1.f9e9b1a9d8d76p+4 +-0x1.e29a437562d99p+3 +-0x1.cb80f8f1873e2p+2 +0x1.a1602ac5c58e2p-2 +-0x1.5e774a8943ae7p+2 +-0x1.b0789f1a65acap+3 +0x1.7df532f52cc1dp+4 +-0x1.20e83ae34ed46p+4 +-0x1.2ece3c3ec6664p+3 +-0x1.b8dcfa5fbf818p+0 +-0x1.a820ea389ac6fp+3 +0x1.7b9753412f6e2p+3 +0x1.96c7cc509287dp+0 +0x1.553f320599ba6p+2 +-0x1.6a6fdd9b90682p+0 +-0x1.cfc8ec787bd4dp+2 +0x1.b6c40e2fa9e13p+6 +0x1.19aee6c68791dp+5 +0x1.cb41729f3e736p+0 +0x1.a2bc9dcd1e467p+1 +-0x1.153a4fd79110dp+4 +-0x1.e32cd1de75aeep+3 +0x1.cd10432db446ep+0 +0x1.0fb76c74ad7bcp+2 +0x1.4bfd49768d6c7p+4 +0x1.8065368a8c428p+3 +0x1.9579f6463b22bp+3 +0x1.3648ffafc92c3p+2 +0x1.a0c47a5fc93c6p-4 +-0x1.098030e3bdc44p+3 +0x1.84fb0df3d135ep+3 +-0x1.8554623efc182p+4 +0x1.15962483804c5p+5 +-0x1.8df533f543abap+2 +0x1.8cd24f4465bf6p+2 +-0x1.e7ad745390a86p+4 +0x1.e6229de2d08d2p-1 +0x1.bccca2f589181p+2 +-0x1.8e288e1a61ee3p+3 +0x1.c2aa6042cc4f2p+1 +0x1.ff0a0b216808dp+3 +-0x1.ddb1ebaddda37p+2 +-0x1.3e547677d2c41p+4 +0x1.858157703b673p+4 +0x1.d178dc87fb39p+3 +0x1.9197f0d053534p+3 +0x1.f12d869443df1p+3 +0x1.0ee4fa91d23b3p+4 +-0x1.0bec1161ae20bp+4 +-0x1.c3b201bd982f3p+2 +-0x1.40665a584411bp+4 +0x1.5ca6980e53b25p+3 +0x1.0886c51b9980ap+4 +-0x1.6ce43df954b1ap+4 +0x1.0d0445a428c4ap+4 +-0x1.3cdd410cf295fp+4 +-0x1.98ab951adfc1ep+1 +0x1.67118b280f43fp+2 +-0x1.6381cfc1a7fd9p+2 +0x1.a6ecb3aef92c3p+3 +-0x1.9515b6440ae85p+4 +-0x1.3a802180d8c38p+3 +0x1.46c216f166babp+4 +0x1.e89f14de3abdcp+2 +-0x1.0b75a703206b5p+0 +0x1.4109f34eca6cfp+4 +-0x1.53625fa9a7f93p+4 +-0x1.63977e245c6c5p+8 +-0x1.61350b7c3dbbp+4 +-0x1.81366c2b43e7fp+3 +0x1.77981e69716c6p+1 +-0x1.f701b74210786p+1 +0x1.ab815c885035fp+4 +-0x1.cf59e95b10a65p+3 +0x1.8ee6dc793727fp+2 +0x1.8ec04b88e9299p+3 +0x1.bbf63740f394ap+3 +-0x1.a3fa37a2e2b1p+2 +-0x1.1af036b14ba26p+2 +0x1.22f5cd1fca077p+3 +-0x1.46a4997b4856dp+4 +-0x1.5d4fdb54e2ed8p+4 +-0x1.f72d2a7eda91fp+3 +-0x1.8bcbb1ddb6962p-5 +0x1.b6ac6902470d7p+2 +-0x1.760220b9f6df6p+2 +-0x1.317764115a924p+4 +0x1.1f9cb1ce1cce5p+4 +0x1.9e1293e476df5p+4 +-0x1.e7d7d12a5dd4fp+3 +-0x1.69771cf1986e3p+7 +0x1.a6ffb58cb5985p-2 +0x1.e6a5d11bab93fp-4 +-0x1.69a5af5d507a9p+0 +0x1.7e58d80a32ad3p+5 +-0x1.9f7bb37d32885p+4 +-0x1.239f28fcb0afp+4 +0x1.21c24452d1427p+3 +0x1.63aca54aadbbbp+3 +0x1.1981bb5c459ddp+2 +0x1.ae3274518c3f1p+3 +-0x1.acc7c26f9439ep+3 +0x1.354474b83682dp+4 +-0x1.01b9ab69e5c85p+3 +0x1.59db0e6e1cd7cp+3 +0x1.1a891301a0aa6p+5 +-0x1.5dab9a5277553p+1 +-0x1.7abbe453f1cc6p+1 +-0x1.cd7e2623c0496p+3 +-0x1.7e72ee759e153p+3 +-0x1.90f2864b2d9cap+3 +0x1.c2059f0e9165p+3 +0x1.d47af0a008b86p+3 +0x1.adbf8cdf8ec5ep+4 +0x1.b4b66e0e58e62p+6 +-0x1.4bf35ff2fa10dp+3 +-0x1.0d0d08f037d69p+3 +-0x1.190849747ae36p+4 +-0x1.dc5e8a1378193p+3 +0x1.a12a7a0912edap+8 +-0x1.62d3304f28005p+3 +-0x1.53bf26bf39cf9p+3 +0x1.6021132cc5fa9p+4 +0x1.1f2cca10e8847p+4 +0x1.82373ef9b2af3p+2 +0x1.13fdff19abe06p+2 +-0x1.d41d0447013eap+6 +-0x1.75a7e3cde7d6bp+3 +0x1.7dbef6e963782p+4 +0x1.2e956304ede21p+4 +-0x1.0a1952a608b0cp+4 +0x1.d5409c022e31cp+3 +-0x1.093fe4d472b8p+3 +0x1.1e6686880eep+5 +0x1.556ce0fbc066bp+6 +-0x1.0cbcf4504f1cp+4 +-0x1.813d0e71aca86p+1 +-0x1.30606fb5012c9p-1 +-0x1.4b5341e2b8ecep+4 +0x1.6032528ee7911p+3 +-0x1.c601e68d6fd3fp+4 +-0x1.cd608a18ee988p+2 +-0x1.fa09ccf1d5531p+3 +-0x1.797292dcd8a68p+4 +-0x1.b059c430eec4fp+7 +-0x1.57cd527e36623p+2 +0x1.b71ae5a6df80dp+4 +-0x1.96ec47cf27c83p+3 +0x1.0e009129436bcp+0 +-0x1.042ca5f3e63cap+4 +0x1.8a318ce0844e6p+2 +-0x1.6a9bda33a34a4p+2 +0x1.c52faf93d6272p+2 +-0x1.376f82b84a51cp+4 +0x1.0698fad96b508p+3 +-0x1.1f6c54d65f837p+3 +-0x1.8094b4312165bp+4 +0x1.4bf1619b9688ep+2 +0x1.f19582b5141a9p+4 +-0x1.1f0c82108dddcp+5 +0x1.6d0a9de3d1192p+2 +-0x1.b4f5eb46c1c0dp+4 +0x1.94ea497a6da1ap-1 +-0x1.dd3e7ccde95fdp+3 +0x1.00c3274ec2061p+3 +-0x1.06b80839acdc7p+1 +0x1.5e68c21fc3c47p+4 +0x1.b57a617c24c7p+3 +0x1.dbb777ecd2fe8p+2 +0x1.f8599d5912f5fp+3 +0x1.a8ce99637fdep+2 +-0x1.1178cc6c41045p+4 +-0x1.16b2621fde5e9p+3 +0x1.4cb3193c14242p+1 +-0x1.2b698b53d3ed1p+3 +-0x1.3a0cec4c6a01p+5 +-0x1.9ead7fd515e8dp+1 +-0x1.7f25d213409b4p+3 +-0x1.3ecb54cf217f1p+2 +-0x1.42bd8c75ca1a1p+3 +-0x1.e64af07dc6ef7p+4 +-0x1.8df505efdde4bp-2 +-0x1.7fa6f784cf1bp+2 +0x1.f192dba76a318p+3 +0x1.a23234b4f8c78p+4 +0x1.529f9e235ca8dp+0 +-0x1.25c2424ba38d7p+4 +-0x1.264d33dfac652p+4 +-0x1.ab5a0d648b3f9p+3 +0x1.27c7c89efc754p+1 +0x1.be840d57a7d3dp+2 +0x1.abfd0ae117d33p+3 +0x1.73307b0afc1cp+0 +0x1.e28f7f924366dp+2 +-0x1.c614b9eecb9fap+4 +0x1.910e203d9f24cp+1 +0x1.cc4adc85133a8p+3 +-0x1.072822fff319p+4 +0x1.6f27040372408p+4 +0x1.1ee3a2633dbf7p+5 +0x1.b2f9ae6d33cfcp+2 +0x1.d120be1750f82p-2 +-0x1.1fe197e3ff7acp+4 +-0x1.52b1ef6bf3261p+4 +-0x1.ae76580a3fa2dp+2 +-0x1.f114f06135a6ap+4 +0x1.2db693dc79d04p+3 +0x1.c017579cc447ep+1 +0x1.60b64c62fb406p+4 +-0x1.97d9cac324f57p+4 +-0x1.3aa6e59b8e4f2p+2 +0x1.b01fa0e53127fp-1 +0x1.72898e3c3e82ap+4 +0x1.4d2300d306d07p+4 +-0x1.229a22421288bp+4 +-0x1.15d245de0d24fp+4 +-0x1.14ca80f6c7f21p-1 +-0x1.d280147f90d51p+4 +0x1.97ed012468bebp+2 +0x1.2295da95d38bp+4 +0x1.03ef25597dbdbp+3 +0x1.a8e6fe8e0c2f1p+2 +0x1.63ff4b775bc15p+0 +-0x1.f6ca0bd88e38fp+1 +-0x1.45c57fd1010d9p+1 +-0x1.c3de1d196e1b6p-1 +0x1.e727d990df347p+2 +0x1.abe66fcda83c4p+2 +-0x1.8fa34697d969bp+4 +-0x1.70b3456c05701p+2 +-0x1.1d62c028cb85ep+5 +0x1.3a94b1b098461p+1 +-0x1.2baea608eee34p+2 +0x1.c74a0bff306b8p+2 +0x1.5ab7632a6f26ap+4 +-0x1.8b71affd301adp+2 +0x1.e5599a8b8cd1ep+0 +-0x1.cc051331033f9p+5 +0x1.28195507f9c4dp+4 +-0x1.61800c0bbeac7p-1 +-0x1.3bc48240df3b9p+1 +-0x1.15c3131754788p-2 +-0x1.c518dcf18236bp+3 +-0x1.73992aff0a5d1p+1 +0x1.a6465a06344abp+4 +0x1.6618c32434ccbp-4 +0x1.01d2e8a3a500ap+4 +0x1.4919b4e276d87p+3 +-0x1.87c7208ec9bc6p+1 +0x1.7fde42fc4768cp-7 +0x1.8e16c29571d0ap+3 +0x1.e0c19c809e47fp+2 +0x1.6efdb5caff4a6p+2 +0x1.77a86c33e5e95p+4 +-0x1.9a52b339c19cfp+2 +0x1.2decd2cd9416p+4 +0x1.efa199ef062efp+1 +-0x1.f7faebc197eaep+0 +-0x1.125dbd788c9cap+3 +-0x1.aa25da601877cp+2 +-0x1.0509b5b07db71p+4 +-0x1.0e841e3337126p+5 +0x1.14f309eb6b769p-3 +0x1.8371f68deafc4p+4 +-0x1.a6997c8b3e796p+3 +0x1.d0be99890c6e9p+0 +0x1.7a186fbd1e357p+3 +0x1.5c3bcf78d4d02p+4 +0x1.a8caecb3e7fadp+4 +0x1.4fabaf7e6189cp+1 +0x1.52e960044f204p+4 +0x1.6ef878c1f2b46p+2 +0x1.e6a8c18b02bdap+3 +-0x1.153cd769f58b7p+3 +0x1.7465e23891068p+4 +0x1.19c6a1a74d3e4p+3 +-0x1.3172942a035bdp+7 +0x1.72168e15129acp+2 +-0x1.fad951936d185p+2 +-0x1.d3401a99664afp+2 +0x1.1d3854a4dd63cp+3 +0x1.5c0a66217aeedp+4 +-0x1.8183e6ca03bf9p+1 +0x1.e1e5edcac9c11p+1 +-0x1.2c76664058a25p+5 +0x1.31e48e976aa5bp+5 +-0x1.5b84d88d6d8cap+3 +0x1.ac7e36ab5270ep+3 +0x1.171c6cc2580eep+3 +0x1.b3819456344ccp-4 +-0x1.9c0b5679318b7p+3 +-0x1.16cd889ab0c83p+3 +-0x1.5a04d871e7321p+4 +-0x1.0cc51d8fdc638p+5 +-0x1.d5ed576faf2d7p+3 +-0x1.056de1685c7f9p+4 +-0x1.e09561f6f07afp+2 +0x1.0f01966df0ce1p+3 +0x1.7fa3f5c1e2d0fp+3 +0x1.fac5aff615326p+2 +-0x1.f77ae55a39fdcp+4 +-0x1.6f44f4289804fp+2 +-0x1.9d4e517275c6cp+4 +0x1.4152eeb8bbaccp+7 +-0x1.58acb6a23ccabp+2 +-0x1.870639b088223p+3 +0x1.b943566f0562bp+3 +0x1.8637e6afd9338p+3 +-0x1.440ac7df7534ap+3 +0x1.0355c9b6dbd3ap+2 +-0x1.bf9b0d31fd77p+3 +0x1.657f4c07274eap+1 +-0x1.8f9cb6ef8f5d9p+4 +0x1.1399d879737eap+4 +0x1.a28951ff14a4ap+2 +-0x1.23308d3996291p+4 +-0x1.4c282aeb3391dp+1 +-0x1.d9f85505d3084p+3 +0x1.bf6c8f95b92bap+4 +-0x1.87bd20aebe54ap+2 +-0x1.6430afdb058dp+5 +0x1.472382401a8f2p+3 +0x1.924999011c9c8p+4 +0x1.23e2c30e9b519p+3 +-0x1.20fccd3ac6ec5p+2 +-0x1.03af799e9b82fp+5 +-0x1.57e603fe4b41bp+2 +0x1.489f051554ca5p+4 +0x1.a3378da301d3dp+3 +0x1.127a2038f4704p+4 +-0x1.0412abc005f4ap+4 +-0x1.c1fab58e51be8p+1 +-0x1.534a358901675p+4 +-0x1.227ee94d806fbp+3 +-0x1.60bafada87854p+4 +-0x1.6c1b4ca75bc6dp+3 +-0x1.e55c2f64efc93p+3 +0x1.0136a1b3a2aeap+0 +-0x1.0ffdf80d90d07p+3 +-0x1.c65760470e8d6p+3 +-0x1.b2896d2a008dap-1 +0x1.574f6ae904203p+1 +0x1.324236a74d2b6p+4 +-0x1.a324414161549p+2 +0x1.9a3899e8b4ba4p+4 +-0x1.1171c9f576983p+4 +0x1.0f7b1d54df251p+3 +-0x1.6c053dd207a6fp+3 +-0x1.9b99b65989247p+2 +0x1.b2a6d71e32934p+4 +0x1.1f2bd5bca0b78p+2 +-0x1.f0cccc8b49969p+3 +-0x1.1732ff38c200cp+3 +-0x1.6b2755c442ff5p+3 +-0x1.187853da32e74p+4 +0x1.a799190ccccfep+2 +0x1.857357305ebd7p+3 +-0x1.0cfed51a5447p-1 +-0x1.4de6ec08a741ep+3 +0x1.51a0623691ca1p+3 +0x1.150623e621affp+1 +-0x1.5cfe06a01edd3p+4 +0x1.79170cd5592fbp+1 +0x1.03e7ab6aad67ep+4 +-0x1.1891985c0eb8ep+3 +0x1.b4c6bd3a6edd3p+1 +-0x1.9184c834df616p+3 +-0x1.896958966a197p+3 +0x1.5be3839f90121p+5 +-0x1.0a5d4e106277bp+4 +0x1.9a280716597f5p+0 +-0x1.52f6fb77a081ep+3 +0x1.3c8b1ee2b173ap+2 +0x1.2ea3366ede3adp+1 +0x1.e53f1280cde7ap+4 +0x1.957874fc6208ep+4 +-0x1.2e50c6467220dp+3 +0x1.f60821784192p+2 +0x1.b8e3e55ae80e2p+3 +0x1.288f642c27b4ap+4 +0x1.3ab579f457f48p+3 +0x1.00560e5c012c4p+4 +-0x1.018fda0958f47p+2 +-0x1.1663e5438ceecp-1 +-0x1.b38c79ed08931p+2 +-0x1.56593bb8e2b3ap+2 +-0x1.658a994e639bfp+4 +-0x1.e6f3c5282a24ap-3 +-0x1.72fcdc678ef45p+4 +-0x1.d97293881bea4p+2 +-0x1.c49a1d675d476p+2 +-0x1.0fca6a8a495fep+9 +-0x1.2f65397f9102fp+4 +-0x1.e1be1e7df4fc2p+2 +-0x1.6f8874375d431p+2 +-0x1.219209a69482ep+7 +0x1.082ca583a3b4ap+0 +-0x1.a2bbbe7dac89cp+2 +-0x1.56d82280ca20ap+3 +-0x1.0dbeb9ef97955p+3 +-0x1.b94eb5428765bp+3 +-0x1.a9bf86e4ac70dp+1 +-0x1.0855827c83f4cp+2 +0x1.022d027737673p+1 +0x1.3063e7a806101p+5 +0x1.eab3b18ac0494p+4 +0x1.e5f194cc1e1a8p+3 +0x1.54f186fd323b4p+6 +0x1.e69e9354c1529p+1 +0x1.545416ffbb03bp+3 +-0x1.b5e40f88452abp+3 +-0x1.68c7d14330b2ap+1 +0x1.7ffc77ca165dcp+0 +0x1.a668c8ebd61b4p+4 +0x1.0b28f10ea5b09p+6 +0x1.4335046c074d7p+4 +0x1.685124b5d8a51p+5 +0x1.4745e3eac7353p+3 +-0x1.69574690ea7c3p+2 +-0x1.c3d85c17853dbp+4 +0x1.2ca545525be9ap+4 +-0x1.5e28ce7affeb4p+2 +-0x1.92bfba1bac60bp+3 +0x1.97f2a53c69f16p+2 +0x1.282c0d8843656p+3 +0x1.2e83ef4ac8dd2p-3 +-0x1.e1a4876dd3166p+0 +-0x1.95bdb29008dc8p+1 +0x1.6600fe4a53856p+4 +0x1.2e1d9bf5b3951p+0 +-0x1.70e9ea952a19dp+1 +-0x1.d20f199dd9577p+3 +-0x1.c22c62447cc81p+2 +0x1.5ede8b7bf60dbp+2 +-0x1.ddccc5653648fp+2 +-0x1.37b3b1cce6cd7p+3 +0x1.293dcc95484d4p+3 +0x1.a0908aa30e4b1p+3 +-0x1.19e1718e6114cp+3 +-0x1.15879faff760cp+4 +0x1.04d7bd103c7bcp+4 +0x1.a9bfcf61ab5aap+1 +0x1.7ffbcf941d617p+3 +-0x1.60433564bde97p+2 +0x1.018b730ee6b11p+4 +0x1.0ac26b5b6b26ap+1 +-0x1.2f2bf3e135d94p+4 +0x1.431bf7d7ea9a7p-3 +0x1.44e9cf1156e06p+4 +-0x1.e43e30a92a587p+4 +-0x1.28e91fbfa691ap+3 +-0x1.7353a3cf17f5cp+3 +-0x1.10a858f300482p+4 +0x1.32f94c36ff37p-1 +0x1.f9f83415242ddp+0 +0x1.9757166028a0bp+2 +0x1.1d7c012c6d9acp+4 +-0x1.9ffb8eaf2e85dp+1 +-0x1.5d11d00438ecep+3 +-0x1.2747d944042adp+2 +0x1.7f675e4cdfdafp+4 +-0x1.25e7be689bf3bp+5 +0x1.2ab5068d0da45p+3 +-0x1.b5d0f4e5854c2p+1 +-0x1.6c1508a245409p+1 +-0x1.cee6ebe8cfb3dp+2 +0x1.07e3d5abaf2c2p+5 +-0x1.c45815dd1e558p+4 +-0x1.ed2d340e1d4b6p+0 +0x1.ab0d770f9960dp+2 +0x1.b383e5d3bf694p+3 +0x1.5da5ec4458468p+3 +-0x1.ae05752dce3bep+3 +0x1.4f48d390d74f4p+3 +-0x1.880168a9d8bf5p+1 +-0x1.87add861f8988p+4 +-0x1.14db9a7dcab57p+3 +0x1.47c0301aa6b84p+2 +-0x1.2b02155d9aee3p+4 +-0x1.7bfb0c81ab8cdp-1 +-0x1.0c23e578a36c6p+4 +-0x1.157749f322387p+3 +-0x1.7ac4335775a1cp+1 +0x1.c550fc3c78769p+4 +0x1.83d7cdfe37293p+4 +0x1.0175d3d989f64p+5 +-0x1.2212fa987b93ep+1 +0x1.217f3df9fc083p+4 +-0x1.cd855b8fe86fdp+2 +0x1.ccea5a54d87efp+2 +0x1.558402d1b1d97p+3 +-0x1.8ab1c2c68d04fp+4 +-0x1.8098471a13c85p+1 +-0x1.e8d3fec2f9a35p+6 +0x1.305104b60c029p+5 +0x1.eff682c003408p+3 +-0x1.5afb1632fb37ap+4 +0x1.1e33bf0ab3d29p+4 +-0x1.d68421dd1ccadp+3 +0x1.2a89ddee85669p+2 +-0x1.1674f3ba7da18p+4 +-0x1.2284f100bccdcp-2 +-0x1.cf1dd973f1609p+2 +0x1.b3a7904f392eep+3 +0x1.46833328fbc48p+2 +0x1.190e33f3fa595p+3 +0x1.2509eb20bfd81p+1 +0x1.7a11f69b6a7d4p+3 +-0x1.ce345c782f5b6p-2 +-0x1.203b3b982e85ap+4 +-0x1.6c94b47b532d3p+4 +0x1.963b6e19ba199p+3 +-0x1.e1bdc5dcc038bp+3 +0x1.4d96d7ad0daffp+4 +-0x1.b92d7f9c9dbcep+2 +0x1.e2caa293e9eecp+3 +0x1.f8baf1c0ea3dep+0 +-0x1.02dc134bc493p+5 +-0x1.5877dbcfa12ap+2 +0x1.f7d1291c4eb0dp+6 +0x1.5e37a9908f7a9p+3 +-0x1.230e7e9739d03p+8 +-0x1.19840a3a45406p+4 +0x1.1959dfefb58f7p+3 +0x1.52bed32f75b94p+4 +0x1.53dfdf70d58e6p+3 +0x1.eee9334cdd0ddp+2 +0x1.203d41ad61271p+1 +0x1.90b58e66122bdp+4 +-0x1.370579624a655p+3 +-0x1.b2a805a509c18p+4 +0x1.e67ccdb8eadfcp+4 +-0x1.3c67a45675499p+4 +-0x1.bfe3aa0e71bb2p+3 +0x1.35cebbc94eab7p+4 +0x1.0422cc7ae80c9p+4 +-0x1.60be748cc1763p+3 +0x1.035ceb7539913p+3 +0x1.7f99fcedf4bb1p+2 +-0x1.6f9c5ee90d57fp+4 +-0x1.845438659ae53p+4 +-0x1.127e6dca38c33p+2 +0x1.4cfddd6b8cbe6p+4 +-0x1.1d4bd6ad50359p+4 +0x1.6a88e84e144c1p+3 +0x1.ab7ee70d091bbp+2 +-0x1.3b15ef7442557p+1 +0x1.87046704e2b26p-3 +-0x1.b852bc74c0714p-2 +-0x1.80a2820b8f653p+3 +0x1.8dc1c3e1c98c7p+8 +-0x1.1f50c3eb06578p+3 +0x1.d420b1a766c3fp+1 +-0x1.0857da7d15212p+0 +0x1.7df5acaa32cddp+3 +0x1.6eb4e78ecc57cp+1 +-0x1.1194fe9aa3be8p+4 +0x1.13a325cf7b8cep+3 +0x1.e7069ccf67267p+4 +-0x1.89a242daa144dp+3 +-0x1.10750199c5d77p+4 +-0x1.fb0a9458e1e58p+3 +-0x1.f37b9d7b69b5fp+4 +-0x1.55c000fc49842p+4 +0x1.12ed7980f7439p+2 +0x1.cd24b3b1ef227p+2 +0x1.17088f192f0f9p+4 +0x1.90a1fc58a5b9bp+3 +0x1.88f71a896832fp+2 +-0x1.0e428a379b193p+0 +-0x1.9a536e9c8e83ap+2 +-0x1.f8c907f8f58dap+3 +0x1.40c9a200f618p-2 +0x1.bb0f583139801p+4 +0x1.4f096c4aaccfep+4 +-0x1.8639ac259ec7p+1 +-0x1.ddc002a62d79ap-3 +0x1.15ea75f9bba9bp+4 +-0x1.a4314722e80c4p+4 +0x1.3085c6708f055p+5 +-0x1.3a122c32d2387p+3 +-0x1.8466c7f39e1a8p+3 +-0x1.07a3a25046ff7p+3 +-0x1.64906f355b5f5p+4 +-0x1.b6cfc87ad211ap+2 +0x1.a9f23e8a04957p+3 +0x1.8f8861cd0df53p+3 +-0x1.0520d99bed6ddp+3 +-0x1.fd38e376c26b9p+3 +0x1.d5868551b125ep+6 +-0x1.a17681ee75826p+4 +-0x1.349cb63765452p+7 +-0x1.8824d10bf8adfp+4 +0x1.100b8d5562582p+1 +-0x1.83039f5c89f39p+4 +-0x1.32ae3bd745592p+1 +0x1.20cb3b1fd30d4p+4 +0x1.b455d2d933468p+2 +0x1.321f6a0b81c7cp+3 +-0x1.d72368b9f962cp+4 +-0x1.2390e49adae3cp+8 +-0x1.e802ac8385caap+3 +-0x1.283a262642c57p+2 +-0x1.4683fc0789bb8p+1 +-0x1.0979236fd2b26p+4 +0x1.6fae44dc0134ap+0 +-0x1.66857c081da8dp-3 +-0x1.1808d0a3ed1b8p+4 +-0x1.88bbc40edea65p+3 +-0x1.22e88378bebeap+1 +0x1.ce560cf6fded2p-2 +0x1.fe493528bc8f6p+2 +-0x1.e70f7ac0dd117p+3 +-0x1.a225717175c68p+4 +0x1.93bb64437011dp+3 +-0x1.26ee7d4949696p+4 +-0x1.86e89fac76f85p+4 +0x1.324cac38058e4p+4 +0x1.1e2ab2a20dec6p+3 +-0x1.23a5753b9b995p+3 +-0x1.24f1448e6220bp+3 +-0x1.4b31f7fd15c83p+1 +0x1.16c554c0c7c7bp+3 diff --git a/sysdeps/x86_64/fpu/libmvec-exp2f-inputs b/sysdeps/x86_64/fpu/libmvec-exp2f-inputs new file mode 100644 index 0000000000..f128fbd7fa --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-exp2f-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-1.3e+02, 1.3e+02), mean = 0, standard deviation = 8 +-0x1.110038p+1 +-0x1.1f03acp+2 +-0x1.88539ap+3 +-0x1.410132p+2 +-0x1.3b7fb8p+1 +0x1.029deep+3 +0x1.77fde2p+2 +0x1.16a53ep+4 +0x1.35a336p+2 +-0x1.f85d78p+1 +-0x1.75bd8cp+3 +-0x1.360248p+3 +0x1.1cb9fap+4 +-0x1.cc0c94p+0 +-0x1.b06432p+2 +0x1.e5f318p+3 +-0x1.2bbc6p+1 +-0x1.b20d6p-5 +0x1.1ee5aap+2 +0x1.0d39dap+3 +-0x1.f35ecap+1 +-0x1.90e89ap+2 +-0x1.8718b2p+0 +0x1.e1a884p+2 +-0x1.bb8414p+1 +0x1.66748ep+3 +-0x1.03ac94p+3 +-0x1.2777cp+1 +0x1.1d20fap+3 +-0x1.0d6598p+3 +0x1.948e12p+0 +0x1.a2f914p+2 +0x1.8dfc3cp+0 +-0x1.06baa6p+2 +0x1.729198p+0 +0x1.0d76b4p-1 +-0x1.8ba0cp+2 +-0x1.657578p+1 +-0x1.420738p+1 +0x1.adb8dp-2 +-0x1.3c18ep-1 +0x1.e26402p+2 +-0x1.16b4ecp+3 +0x1.919dfep+1 +0x1.51a8f6p-3 +-0x1.f5e70ep+1 +-0x1.7ed13cp+0 +0x1.7c78e8p+2 +-0x1.371df6p+3 +-0x1.47b6c4p+1 +0x1.c0eb16p+2 +-0x1.04144p+3 +0x1.747d82p+2 +-0x1.0e3c3ap+4 +-0x1.9223e2p+2 +0x1.2c285ap+1 +-0x1.e100ap+2 +0x1.a994cp+2 +0x1.5642c6p+3 +0x1.237c4p-2 +0x1.96908ap+0 +-0x1.7e95d8p-3 +0x1.3cb2c4p+0 +-0x1.6d0abp+3 +0x1.4684cp-1 +0x1.cb814cp+2 +0x1.ef5984p+0 +0x1.4511a4p+0 +0x1.c3236cp+0 +-0x1.b5663ap-2 +0x1.f9775cp+2 +-0x1.fbe004p+2 +0x1.ec4068p-1 +0x1.0af7c2p+2 +-0x1.18e6b8p+2 +0x1.2fc06ap+1 +-0x1.0df60cp+2 +-0x1.17ce9ap+6 +-0x1.f9beaap-1 +-0x1.a8a18cp-1 +0x1.87000ep+5 +0x1.8035aep-1 +0x1.6e5336p+2 +-0x1.202ed6p+3 +-0x1.958d6ep+1 +-0x1.6720a2p+0 +-0x1.ae79ecp+1 +-0x1.08e936p+1 +0x1.fa1d12p+2 +0x1.e0e75p+2 +0x1.7e207p+4 +0x1.b6048ap+2 +-0x1.37f81ap+2 +-0x1.d1b82p-1 +-0x1.8d8c76p+3 +0x1.c753b4p+3 +0x1.59d5bp+0 +-0x1.ea04b4p-1 +0x1.29c338p-2 +-0x1.c2ee5ep+2 +0x1.cee3cap+3 +-0x1.b5e1a6p+2 +-0x1.42abb8p+2 +0x1.1d8892p+3 +0x1.80ec7cp+1 +0x1.dd8fep-4 +0x1.9c79dap+2 +-0x1.253082p-1 +-0x1.a40112p+1 +-0x1.77943p+2 +0x1.77052ap+1 +0x1.aa7ee8p+3 +-0x1.f6ee5cp-3 +0x1.a39a2ap+2 +0x1.3221b8p+2 +0x1.5ff5bcp+2 +-0x1.4613aap-1 +-0x1.6991a4p+3 +-0x1.1071cap+3 +-0x1.055f3ap+3 +0x1.520ed8p+2 +-0x1.6e1544p+3 +0x1.e819p+3 +-0x1.8b8cb4p+2 +-0x1.a9f64ap+2 +0x1.88e06cp+1 +0x1.750ec6p+2 +-0x1.0dd8acp+2 +-0x1.99309ep+1 +-0x1.08b1bcp+1 +0x1.192f36p+1 +0x1.0a5b3ep+1 +0x1.273d5cp+4 +-0x1.27eeacp+3 +0x1.398226p+2 +0x1.56fe6p+3 +-0x1.f11f36p+3 +0x1.9aca96p+1 +-0x1.8f8d42p+2 +-0x1.f49e6ep+0 +-0x1.7a129ep-5 +-0x1.1ae76cp+2 +0x1.087a5ap-1 +0x1.6aff86p+2 +-0x1.62fa8ap+1 +0x1.b66d4cp+1 +0x1.b32cf8p+1 +-0x1.348322p+4 +-0x1.ac60dap+2 +-0x1.fbdc48p+0 +0x1.ce8d8ap+1 +-0x1.f0575ep+1 +0x1.248082p+3 +-0x1.4b02ccp-1 +-0x1.f980a2p+2 +-0x1.d7c148p+2 +-0x1.19379ep-1 +0x1.0a07ap+6 +-0x1.ab9498p+1 +0x1.0e6daep+2 +-0x1.45599cp+3 +-0x1.a1d652p+3 +0x1.0a9a08p+2 +-0x1.380656p+2 +-0x1.4723eap+3 +0x1.82ba88p+3 +-0x1.be10fep+0 +0x1.6e9ab6p-7 +0x1.ac8ebap+3 +0x1.72f43ap+0 +0x1.647a3p+0 +-0x1.6a098ep+0 +-0x1.535b6p-2 +0x1.9b2178p+1 +-0x1.4715b8p-3 +-0x1.d28fecp+1 +0x1.331922p-2 +-0x1.4314fcp+0 +-0x1.3d2ddcp+2 +-0x1.91560cp+0 +-0x1.2064bep+4 +-0x1.8f0d5ap+2 +0x1.81850ap+4 +-0x1.f7d0d6p+1 +-0x1.f23fd4p+2 +-0x1.75a606p-2 +-0x1.d253dcp+2 +-0x1.532846p+2 +0x1.ce3576p+2 +-0x1.8652cep+1 +-0x1.9b8efp+3 +0x1.7d9c66p+3 +0x1.b96c3ep+3 +-0x1.f953fcp+2 +-0x1.3a71c2p+1 +-0x1.a1e7cp+1 +0x1.46cfc2p+3 +-0x1.ae2452p+1 +0x1.6993ap+3 +0x1.13306cp+1 +0x1.61510cp-2 +-0x1.1a2036p+4 +-0x1.64ad7ap+2 +0x1.bc0558p-1 +0x1.3c093ep-1 +0x1.4f8ea8p+2 +-0x1.55af0ap+4 +0x1.5af1d2p+1 +-0x1.0de628p+2 +0x1.99ce9ep+3 +-0x1.f3ce28p+2 +-0x1.2dcbccp+3 +0x1.1adafep+2 +0x1.853c9ap+0 +-0x1.00b1dap-2 +-0x1.12d9eap+3 +-0x1.c05a7cp+3 +-0x1.df87d8p+3 +0x1.3e98c6p+2 +0x1.560246p+3 +-0x1.c6b774p+2 +-0x1.514c32p-3 +0x1.efefd8p+2 +0x1.c1a132p-1 +0x1.30ea3ap+3 +-0x1.a74dd4p+2 +0x1.79ab52p-3 +0x1.d28bdp+2 +-0x1.dd0ae6p+3 +0x1.086058p+3 +-0x1.3d802ap+1 +-0x1.11859p+2 +0x1.2aa162p+1 +-0x1.51a2fep+3 +0x1.6d4ca2p+3 +-0x1.086472p+2 +0x1.73c0d4p+0 +-0x1.460bb8p+3 +-0x1.96b5c2p+2 +0x1.002088p+2 +-0x1.079c68p+3 +-0x1.a490fep-1 +0x1.3a317p+0 +0x1.b3009ap+0 +-0x1.8be63p+3 +0x1.c70c48p+0 +0x1.6ec3p+2 +-0x1.d42bdap-2 +0x1.542a48p+2 +-0x1.68aadep+2 +0x1.0719ecp+2 +0x1.5a5bfp+2 +-0x1.670dp+3 +0x1.317268p+3 +0x1.65e234p+2 +0x1.81eea2p+2 +-0x1.e09ae8p+1 +0x1.88cff6p+1 +-0x1.d51602p+5 +0x1.b0dc52p+1 +-0x1.949d08p+0 +0x1.2054bep+3 +-0x1.1c5a7p+3 +0x1.0b3986p+5 +0x1.943cc6p-1 +0x1.ede04p+2 +0x1.5dd9cep+3 +-0x1.ee86a4p+1 +0x1.430682p+2 +-0x1.b239cep+1 +-0x1.b155c4p+3 +0x1.110594p+2 +-0x1.940484p+2 +-0x1.5ffa3ep+2 +0x1.2ab818p+1 +-0x1.bb57eep-5 +0x1.2c5faap+1 +-0x1.105b2ap+1 +0x1.ad21b6p+3 +0x1.f59118p+2 +0x1.942c72p+1 +-0x1.73fc06p+1 +0x1.19a064p+3 +0x1.f4409ap+0 +-0x1.6ea822p+3 +0x1.05326p+0 +-0x1.30227ap+1 +0x1.69b302p-1 +-0x1.a95e1cp+2 +0x1.2ff44cp+2 +0x1.8803b4p+2 +0x1.e33526p+2 +-0x1.18f1d8p+2 +-0x1.a15cdap+0 +-0x1.ad8b0ep+3 +-0x1.9c52c8p+3 +0x1.1e855ap+0 +0x1.bb99aep+1 +-0x1.1dae22p+3 +-0x1.9efa1cp+3 +0x1.7f4124p+3 +0x1.a0ae02p+1 +0x1.6c8868p+2 +0x1.055634p+5 +0x1.1a07e2p+3 +0x1.50e958p+3 +-0x1.82fa86p+3 +0x1.62d0a6p+3 +-0x1.641802p-1 +-0x1.a1d7bcp+4 +0x1.81bd0cp+4 +0x1.a5562ap+3 +-0x1.af841cp+0 +-0x1.6538b6p+3 +-0x1.29feb6p+2 +0x1.6071bcp+4 +0x1.3a75b2p+4 +0x1.501b28p+2 +0x1.cab884p+1 +-0x1.38a062p+2 +-0x1.94992p+3 +-0x1.4bf214p+2 +-0x1.f4aaa8p+2 +-0x1.c904a4p+2 +-0x1.85137ap+1 +-0x1.3253d2p+2 +-0x1.7e5a94p+2 +-0x1.ba8b24p+1 +-0x1.e32c5cp+3 +-0x1.f7a818p+1 +0x1.d79048p+0 +-0x1.e1ee3cp+2 +0x1.8a59e6p+2 +0x1.72b31ap+1 +-0x1.f0a79p+1 +-0x1.ec9f64p+1 +-0x1.ef4d44p+2 +-0x1.45030cp+1 +-0x1.3de03p+3 +-0x1.ae4ee8p+1 +-0x1.2a2442p+3 +0x1.1e09c8p-5 +-0x1.496b38p+4 +0x1.0b13ecp+1 +0x1.5b2206p+2 +-0x1.c752f2p+0 +0x1.3d151p+2 +0x1.17da3p+2 +-0x1.266a0ap+2 +0x1.ea2ffap+1 +-0x1.347da4p+1 +-0x1.39b5p-1 +0x1.b9a576p+2 +-0x1.721816p+2 +0x1.4139fep+3 +0x1.0b6028p+2 +-0x1.9cf32p+1 +0x1.4e858p+3 +0x1.b07b4ep+0 +0x1.11702p+0 +-0x1.9dee4cp+3 +0x1.c7b21cp+0 +0x1.a9ca3ap+2 +-0x1.5506bcp+1 +0x1.7d3bacp+0 +0x1.ba237ep+1 +-0x1.9d3fecp+2 +0x1.04414ep+2 +-0x1.1ab066p+2 +0x1.32deacp+2 +-0x1.e8681ep+1 +-0x1.bcfc0cp-1 +0x1.010d86p+1 +-0x1.7ff508p+1 +-0x1.19ddf8p+0 +0x1.3ee03ep+3 +0x1.44bf16p+1 +-0x1.dc7bfep+0 +0x1.4b2044p+1 +0x1.84fe36p+0 +0x1.cd7622p+3 +0x1.1b1d3cp+3 +-0x1.9fcae6p+3 +-0x1.0a3b58p+2 +-0x1.2abc8ap+3 +0x1.8c4d68p+0 +0x1.0a5afep+3 +0x1.4fd2ccp+0 +-0x1.b79b52p+3 +0x1.8d885ep+3 +0x1.59ea52p+3 +0x1.0ec88cp-2 +-0x1.8a5d84p+3 +0x1.1a283ap-1 +0x1.829e76p+2 +-0x1.0938dep+0 +-0x1.013626p+3 +-0x1.d6aa46p+2 +0x1.1ae55cp+1 +-0x1.6d2bcp+1 +-0x1.2f894ap+2 +-0x1.8cccaap+4 +0x1.a1847ap+1 +0x1.61b9fap+3 +-0x1.593af2p+1 +-0x1.6fcb36p+2 +-0x1.a2bea8p+5 +0x1.55402ep-3 +-0x1.7758f8p+2 +-0x1.129ed6p+2 +0x1.47b15cp+1 +0x1.c37c38p-1 +-0x1.55e59cp+2 +0x1.15ab24p+1 +-0x1.5efb3p+3 +-0x1.c82246p+3 +-0x1.1ec106p+2 +-0x1.632d52p+3 +-0x1.3b380ep+0 +-0x1.d06a62p+3 +-0x1.648c7ep+4 +-0x1.e0c74ap+1 +0x1.3b45c2p+3 +0x1.9ac134p+3 +0x1.821b66p+1 +0x1.49d4a4p-1 +-0x1.9536fep+0 +-0x1.e45f7p+2 +0x1.f42e02p-2 +-0x1.1447c8p+1 +-0x1.3814cap+2 +-0x1.63c4f6p+1 +-0x1.db96f4p+2 +0x1.b7e8d8p+2 +0x1.31f092p+2 +-0x1.23d39ap+3 +0x1.0fb50ap+2 +-0x1.d6e588p+2 +-0x1.51e8dp+1 +-0x1.076dp+3 +-0x1.5ce54p+1 +-0x1.03dbfcp+2 +0x1.02c32cp+3 +0x1.2900dep+2 +-0x1.7e8396p+2 +-0x1.5d3804p+3 +0x1.7b1186p+3 +0x1.ff5246p+0 +0x1.0e03a4p+4 +-0x1.76a414p+2 +-0x1.1fffa4p-1 +0x1.9caea4p+1 +-0x1.793d42p-1 +0x1.5b0824p+0 +0x1.254968p+0 +0x1.eb12bp+3 +0x1.fe8536p+0 +0x1.b1e56ap+3 +0x1.345306p+0 +0x1.307c96p+3 +0x1.4d5cbap+2 +-0x1.b1937cp+0 +0x1.2ccddcp+3 +0x1.974bfep-2 +0x1.55b3e6p-2 +-0x1.1aa44ep+2 +-0x1.b0bd84p+2 +-0x1.f054c2p-2 +-0x1.81014cp+3 +-0x1.0b2336p+2 +0x1.d0a074p+0 +0x1.41625cp-6 +-0x1.40f226p+2 +0x1.68f226p+1 +-0x1.17690ep+3 +-0x1.75fa5ep+2 +0x1.295642p+0 +0x1.988104p+1 +0x1.2b01b2p+3 +-0x1.0f4d72p-1 +-0x1.4b462p+2 +0x1.9e7c32p+3 +-0x1.a6f89ep+2 +0x1.f2082cp-1 +-0x1.dd839ap+2 +0x1.7fca08p+2 +-0x1.c3c488p+2 +-0x1.6e8538p+3 +0x1.d8ed1cp-1 +-0x1.ebd99ep+1 +0x1.fd966p+2 +-0x1.206c2p+3 +0x1.aee0d6p+3 +-0x1.35d52ep+0 +0x1.13223ap+0 +0x1.743898p+1 +-0x1.4bae88p+2 +-0x1.b15ab2p+2 +-0x1.9ce3b2p+3 +0x1.cef452p+3 +-0x1.f17318p+3 +-0x1.e58d0cp-3 +0x1.808becp+2 +0x1.07f0bp+3 +0x1.325fd4p+2 +-0x1.9faafap-1 +0x1.6104f8p+4 +-0x1.7807e4p+3 +0x1.297574p+1 +0x1.3b4588p+2 +0x1.c568a6p+2 +0x1.6caddep+4 +-0x1.69894ep+1 +-0x1.373078p+0 +0x1.135deep+2 +0x1.e1285ap+0 +0x1.4b80b4p+3 +0x1.2811c4p+2 +-0x1.d99632p+2 +-0x1.ab8ce8p+0 +0x1.9d7e14p+3 +0x1.3737cep+3 +-0x1.63ffeep+2 +0x1.1ec87ap+0 +-0x1.d9b722p+0 +0x1.022adcp-1 +0x1.c96276p+0 +0x1.18ec28p-1 +-0x1.6afe7p+4 +0x1.147d5cp+2 +-0x1.81f8cep+2 +0x1.0f3818p+2 +-0x1.c6ff78p+2 +-0x1.66360cp+2 +-0x1.6791dcp+3 +-0x1.77c6ep+1 +0x1.45d5f6p+3 +0x1.268336p+3 +0x1.3a13ap+2 +-0x1.780cfp+1 +0x1.6128b2p+2 +-0x1.439a56p+3 +0x1.50b1dp+2 +-0x1.364fd8p+4 +0x1.0ae6ecp+2 +-0x1.51968p+1 +0x1.991086p+3 +0x1.e0a29p+3 +0x1.8cdcd4p-3 +0x1.ec9936p+2 +0x1.5317a2p+1 +0x1.51d70cp+0 +-0x1.50ba0ap+2 +0x1.6a8594p+1 +-0x1.9996fap+2 +-0x1.61d00ep+3 +-0x1.3a3a26p+2 +0x1.2f54b2p+1 +-0x1.b4951cp+1 +0x1.220f6p+2 +0x1.09e96p+2 +-0x1.b1165ap+2 +-0x1.be5766p+3 +-0x1.411e54p-1 +0x1.32640ap+3 +-0x1.9d3da6p+0 +-0x1.26eaa4p+2 +-0x1.9657b2p+1 +0x1.25d18p+2 +0x1.faee42p+3 +0x1.07a55cp-2 +0x1.9ed352p+1 +0x1.c24bc2p+2 +-0x1.c46c08p+2 +0x1.058fa8p+3 +0x1.074894p+2 +-0x1.2cb5d2p+3 +-0x1.7b022cp+3 +0x1.d971cep+2 +-0x1.8ec86ap-1 +-0x1.f72738p+0 +0x1.219fdep+1 +-0x1.565374p+4 +-0x1.f662eep-4 +-0x1.3c9b4ap+1 +0x1.0adc7p+3 +0x1.c5a68p+0 +0x1.c0829ep+1 +0x1.d9d092p+2 +0x1.7d3d04p+1 +-0x1.479fcep+3 +0x1.ef3f7ap+1 +0x1.52dc56p+2 +0x1.152d96p+2 +-0x1.b93628p+2 +0x1.6f1702p+1 +-0x1.d76088p+3 +0x1.396904p+4 +-0x1.bb8d38p+1 +-0x1.bea7cap+0 +-0x1.56dbccp+1 +0x1.da75fp-2 +0x1.9e0406p-2 +0x1.f80584p+1 +-0x1.54278cp+3 +0x1.37b24cp+1 +0x1.f77b1ap-3 +-0x1.7c43b4p-2 +0x1.10f4e2p+1 +-0x1.84c3d4p+1 +0x1.6536d4p+2 +-0x1.45c85ep+3 +0x1.8d0b58p+1 +-0x1.7bfe86p+3 +-0x1.028574p+3 +-0x1.266d42p-3 +-0x1.6f1e52p+3 +-0x1.b57398p+3 +-0x1.069008p+3 +0x1.951438p+3 +0x1.54640ep+2 +0x1.a2e70ep-1 +-0x1.4584eap+0 +0x1.598412p+2 +-0x1.3508e2p+3 +-0x1.df8c74p+3 +-0x1.d401bcp+2 +-0x1.20ff5ep+1 +0x1.ade08ep+1 +0x1.fb9154p-1 +0x1.a816fp+2 +-0x1.90a1d2p-8 +-0x1.6b755ap+2 +-0x1.54b09ap+2 +-0x1.53687ep+3 +0x1.6d91a6p+5 +0x1.1c64acp+0 +-0x1.1cd93cp+1 +-0x1.d6676ep+1 +-0x1.b3376p+2 +-0x1.397f52p+1 +0x1.204f1ep+3 +-0x1.9d15f8p+3 +0x1.86b446p+1 +-0x1.3a978cp+3 +-0x1.299fc8p+3 +-0x1.a744b8p-2 +-0x1.bb2884p+1 +-0x1.30189cp-1 +0x1.aabbf2p+2 +-0x1.a112b6p+2 +0x1.3d09dcp+3 +0x1.2cb5e2p+3 +0x1.3cd7acp+1 +-0x1.f1399p+2 +0x1.88f07ep+3 +0x1.93179ep-1 +0x1.2bfc96p+4 +0x1.24fd14p+0 +0x1.335b32p+3 +-0x1.e24d82p+2 +-0x1.ebc294p+3 +0x1.4d8134p+2 +-0x1.e10c4p+1 +-0x1.62805p+2 +0x1.c1ffd4p+4 +-0x1.407afcp+3 +-0x1.c12b48p+1 +-0x1.7ef92ap-1 +-0x1.41cc22p+1 +-0x1.b4dc08p+2 +-0x1.b8c92ep+2 +-0x1.a4756cp+1 +-0x1.d7ea62p+3 +0x1.a45014p-1 +-0x1.3949p-1 +-0x1.d07166p+0 +0x1.b57efp+2 +0x1.6e593ep+2 +-0x1.b3b2e6p+2 +0x1.20b848p+0 +-0x1.a7a9a2p+3 +-0x1.3edfeap+0 +0x1.04df46p+3 +-0x1.85c872p+0 +0x1.987aa6p+3 +-0x1.8d8ff4p-1 +-0x1.7bbe5p+1 +0x1.09b6ep+2 +0x1.6540eep+2 +0x1.1dea82p+1 +0x1.5f0d5ap+4 +-0x1.6139c4p-1 +-0x1.4f44bp+0 +-0x1.c87cf8p+3 +-0x1.625e9p+3 +-0x1.b994fap+2 +-0x1.d21a74p+3 +0x1.fb8fbcp+3 +0x1.4e0292p+2 +0x1.7bec5ap+2 +-0x1.22ade6p+3 +0x1.3ff0fcp+2 +0x1.acf446p+0 +-0x1.081e4cp+2 +-0x1.af18d2p-1 +-0x1.816382p+1 +-0x1.dbf7e6p+3 +-0x1.109eap+3 +0x1.2f89c6p+1 +-0x1.0525cep+0 +-0x1.1527b6p+1 +0x1.b3de52p+2 +-0x1.730858p+1 +0x1.5cc9ccp-1 +-0x1.6d8996p+3 +0x1.34fc5ap+2 +-0x1.8704c8p+3 +0x1.6328b6p+5 +-0x1.4e2aacp+2 +0x1.9fe3b6p-1 +0x1.624156p+3 +0x1.50d6fep+2 +0x1.471f7p+1 +0x1.016aep+0 +-0x1.6baefcp+2 +-0x1.21c30ap+2 +0x1.62072ap-3 +-0x1.39b198p+2 +0x1.7f04c2p+1 +-0x1.168386p+3 +-0x1.c9fbccp+3 +0x1.1635f4p+2 +0x1.3ddefp-2 +-0x1.1ee2cep-2 +-0x1.6899a6p+2 +0x1.dc1aa4p+0 +-0x1.b601c4p+0 +0x1.a84624p+1 +-0x1.33c518p+2 +0x1.a67986p+2 +0x1.0a3882p+3 +0x1.06a6ap+1 +0x1.6bf6eap+1 +-0x1.84d9fp+3 +-0x1.6cf124p+0 +0x1.dcbcep+3 +0x1.3536fp+3 +0x1.cdd5ap+1 +-0x1.bfefecp+2 +-0x1.618704p+2 +-0x1.17cefcp+1 +0x1.67adb2p+3 +0x1.3a3954p+2 +-0x1.d038d4p-2 +0x1.36d7a8p+1 +0x1.e318b2p-1 +-0x1.3e982cp+3 +0x1.471aa2p+3 +-0x1.178b0ep+3 +-0x1.b5c338p+2 +-0x1.a52046p+2 +-0x1.d018ccp-2 +0x1.a1f7fap+1 +0x1.e26ee4p+3 +0x1.1156cep+1 +0x1.a0a6aap+3 +-0x1.267fe2p+2 +-0x1.1988fap+1 +0x1.0b474ep+2 +-0x1.8fe198p+1 +-0x1.5fdfdap+3 +-0x1.943708p-3 +0x1.8d0838p+1 +0x1.8b693ap+3 +0x1.fd35a4p+3 +0x1.20e762p-1 +0x1.1338d4p+4 +-0x1.ea5206p+2 +-0x1.cd9f28p+1 +-0x1.1da77p+4 +-0x1.123ce4p+3 +-0x1.07274p+2 +0x1.c9d718p-1 +-0x1.39b1fp+2 +-0x1.153f22p+4 +0x1.8dd608p+3 +0x1.c91194p+1 +-0x1.06ef9ep+0 +-0x1.f7e71ep-2 +-0x1.2bcc98p+1 +-0x1.8da44cp+3 +-0x1.263fecp+3 +-0x1.d0ae2ap+2 +0x1.bf14b6p-2 +0x1.d08ea4p-1 +-0x1.d899f6p+3 +-0x1.c8a996p+2 +-0x1.5587dcp+4 +-0x1.c510eep+2 +-0x1.18b784p+3 +0x1.71cc02p+2 +-0x1.64f178p+2 +0x1.23e878p+2 +-0x1.aec4fap+0 +0x1.30e846p+3 +-0x1.f9dee6p-3 +-0x1.24ba82p+0 +-0x1.9fe796p+1 +0x1.af099ep+3 +-0x1.43231ap+1 +0x1.15808p+3 +-0x1.dd8294p+2 +-0x1.29bfc2p-2 +0x1.5fafe6p+2 +-0x1.22b358p+2 +0x1.6651c6p-4 +0x1.e17a66p+2 +0x1.d3c68cp+1 +-0x1.56483ep-1 +0x1.f538f4p+0 +-0x1.7fb88ep+3 +0x1.74596ap+0 +0x1.90a7c4p+3 +-0x1.74067ap+0 +0x1.3902e8p+3 +0x1.359ad8p+1 +-0x1.14bb78p+4 +-0x1.d2bp+2 +0x1.f9f7f8p+1 +0x1.f4b9e2p-1 +0x1.18af72p+3 +0x1.2336b2p+4 +-0x1.aa7a9ep+2 +0x1.23d8f2p+3 +0x1.066028p+2 +-0x1.a9c2b2p+1 +0x1.0787d6p+3 +-0x1.9b00fep-1 +0x1.fe98dep+1 +0x1.5ce4dap+3 +0x1.54b8p+1 +0x1.7631f2p+2 +-0x1.56d6cep+3 +0x1.e93e02p+3 +-0x1.508c64p+2 +-0x1.ca70bep-2 +-0x1.c205f2p+3 +-0x1.4665ecp+4 +-0x1.95aab2p+1 +-0x1.0cb91ep+3 +0x1.517e3p+1 +-0x1.bf61d2p+2 +-0x1.457ed6p+3 +-0x1.37c8c2p+2 +-0x1.002cb2p+3 +-0x1.07c27ap+2 +0x1.274168p+2 +0x1.38f41ep+3 +-0x1.81ce3ap+2 +-0x1.d73dd2p-5 +0x1.1be246p+3 +0x1.246fd2p+5 +0x1.231018p+2 +0x1.23500ep+1 +0x1.19c6bep+1 +-0x1.5e77f6p+4 +-0x1.a6520ep+1 +-0x1.fad8dcp+0 +-0x1.520906p+1 +-0x1.77399ap+1 +0x1.14293cp+2 +0x1.50f4ap+2 +0x1.365732p+3 +-0x1.3469c8p-4 +0x1.b1cb36p+1 +0x1.0c8066p+1 +0x1.53f73p+2 +-0x1.ba6bf4p+3 +-0x1.142e22p-1 +0x1.240138p+1 +0x1.5161dcp-2 +-0x1.5a932ep+1 +0x1.ba4fb4p+2 +-0x1.223d3p+4 +-0x1.27b8aep+0 +-0x1.a8e546p-1 +0x1.01d11p+2 +-0x1.93f7d2p-3 +0x1.7fcddep+2 +0x1.9a1d8ep+3 +0x1.036464p+3 +0x1.b0e7p+0 +0x1.02db3p+4 +0x1.6b8aap+2 +0x1.2fa006p+3 +-0x1.d82328p+2 +-0x1.9d410ap+3 +-0x1.de77eap-2 +-0x1.95e668p+2 +-0x1.cb4adcp-1 +-0x1.3f3ebcp+3 +0x1.2cd10cp+3 +-0x1.6f6f24p-2 +0x1.ed8106p+0 +-0x1.895068p+2 +0x1.00c424p+3 +-0x1.6b352ep+0 +-0x1.08fb74p+3 +0x1.26b1b2p+3 +0x1.5f5b98p+1 +0x1.5767d4p+3 +0x1.276b56p+3 +0x1.2bc056p+3 +0x1.054068p+3 +0x1.e8fb5ep-1 +-0x1.7950f2p+1 +0x1.61c78ep+3 +-0x1.3da23ap+3 +0x1.b309d2p+3 +0x1.b3d51ap-1 +0x1.c7101cp+1 +-0x1.17cc8p+4 +0x1.5e9e68p+1 +-0x1.7b88bap+3 +-0x1.bc3d1p+1 +0x1.fe1772p+3 +-0x1.454e04p-1 +-0x1.203ea8p-2 +0x1.0b63p+2 +0x1.0a3696p+1 +0x1.b69cbep-2 +0x1.e4a2ap+1 +-0x1.fc1de8p-1 +0x1.9c5f0cp+2 +-0x1.c662e4p+0 +0x1.cb775ap+1 +-0x1.61d9a4p+1 +-0x1.1450cep+3 +-0x1.e77354p+2 +-0x1.a191c6p+0 +-0x1.3b096ap+3 +-0x1.573978p-1 +0x1.974ac4p-2 +-0x1.19e942p+3 +-0x1.60de18p+1 +-0x1.787726p+1 +-0x1.fea152p-2 +-0x1.c22308p+0 +0x1.288e8p+1 +-0x1.8b825ep+0 +-0x1.e322c8p+1 +-0x1.11322ep+2 +-0x1.34b88ap+3 +0x1.52f128p+2 +0x1.119c1p+3 +-0x1.69e2d2p-4 +0x1.1feb9ap+3 +0x1.61fedap+1 +-0x1.8f798ap+3 +-0x1.eb3e7p-3 +0x1.969822p+1 +-0x1.4b524ep+0 +-0x1.321ac4p-3 +-0x1.6ebfaep+3 +0x1.e1d78cp+3 +-0x1.1208eep+2 +0x1.50da0ap+2 +0x1.095648p+3 +0x1.d7c7b6p+3 +-0x1.d0964cp+2 +0x1.2e6518p+2 +-0x1.c0bdc4p+2 +0x1.1695dp+1 +0x1.0454b4p+2 +0x1.4ccceap+1 +-0x1.1db5fap-1 +-0x1.786a46p+3 +0x1.990da6p+2 +-0x1.2f9d3p+0 +0x1.4f6fe8p+2 +-0x1.d20a7ap+2 +-0x1.99dd6p+1 +0x1.e5340cp+2 +0x1.a5b96ap+3 +-0x1.928d3cp+1 +0x1.2e3152p+1 +0x1.513136p+2 +0x1.0222cap+2 +-0x1.a8b98p+1 +-0x1.ec6732p+0 +0x1.0523dep+2 +-0x1.3a3f7cp+3 +0x1.5ebaf6p+3 +0x1.224768p+3 +-0x1.1e90c4p+4 +-0x1.fedbaap+2 +-0x1.02282p+4 +-0x1.8ce2a2p+3 +0x1.36be06p+3 +-0x1.e2fa34p+3 +-0x1.000ccp+1 +-0x1.16afe8p+3 +0x1.5d829ap+2 +-0x1.582e24p+3 +-0x1.65ffe8p+1 +-0x1.07b006p+3 +-0x1.8a79aap+3 +-0x1.362ff8p+3 +0x1.5a2a56p+2 +-0x1.ad62d6p+1 +0x1.43efdap-1 +-0x1.121deap+1 +-0x1.68e8ecp+1 +-0x1.4737a8p+2 +0x1.04523ap+3 +0x1.d3725p+0 +-0x1.d01bfap+2 +-0x1.d040bp+2 +-0x1.dbc912p+4 +-0x1.23d4f4p+4 +0x1.0fbf2ep+3 +0x1.8733f8p+3 +0x1.bc26f6p+2 +0x1.e392ecp+1 +-0x1.c049b6p-3 +-0x1.fec492p+1 +0x1.7f7968p+3 +-0x1.1dd896p+2 +-0x1.a9ae64p+2 +-0x1.8077dep+3 +-0x1.1e7b08p+4 +0x1.235396p+2 +-0x1.c87d1p-1 +-0x1.d320dap+1 +0x1.03b144p+2 +0x1.7a3848p+1 +0x1.242e1ep+3 +0x1.b7936ap+1 +-0x1.4f848cp+2 +-0x1.0e20dcp+3 +-0x1.c14bcp+3 +-0x1.346f56p+1 +0x1.a4476p+3 +0x1.d225c2p+0 +0x1.21c166p+1 +0x1.235af8p+2 +-0x1.1b58bap+2 +-0x1.58b5e6p+1 +0x1.dc72e4p+3 +-0x1.de7f64p+2 +0x1.76a74ep+0 +-0x1.b2a272p+1 +-0x1.d78d2ap+1 +-0x1.d3a276p+2 +0x1.5d8ba8p-1 +0x1.99c908p+2 +-0x1.22ebdcp+3 +0x1.78e76p+1 +-0x1.991118p+2 +0x1.0855c4p+3 +-0x1.36a24ap+2 +-0x1.2510e8p+3 +-0x1.0d06dep+1 +-0x1.747e46p+2 +0x1.afd89cp+0 +-0x1.29809ep+2 +0x1.aaf702p+3 +0x1.9dcb1p-1 +0x1.5f3cc8p+2 +0x1.4ba3a6p+3 +-0x1.6d9b24p-1 +0x1.a3ea74p+2 +0x1.207bc6p+0 +-0x1.fe6d08p+2 +0x1.1a6974p+2 +0x1.d70e4ap+2 +0x1.6f4598p+3 +-0x1.0c62a6p+1 +0x1.d820cap+3 +-0x1.71efdcp+2 +-0x1.30841ap+2 +0x1.70f534p+1 +-0x1.a60c82p+1 +0x1.d6ae62p+3 +0x1.f196bcp+2 +-0x1.41d18ep+4 +-0x1.762a84p+3 +0x1.d63c0ep+2 +0x1.f22036p+3 +-0x1.f1afc8p+2 +-0x1.45807p-1 +0x1.a217aap+3 +-0x1.e1a2ecp+2 +0x1.7d3ed6p+2 +-0x1.e87ddap+2 +-0x1.9ed7a2p+2 +-0x1.5be994p+3 +-0x1.9df17ep+0 +-0x1.4d8beap+3 +-0x1.edd2bp+2 +-0x1.cd544cp+1 +-0x1.297dfap+3 +-0x1.72ed2p+2 +0x1.351bfep+0 +-0x1.7a6164p+2 +0x1.524c22p+2 +-0x1.9e9c26p-1 +0x1.1f939p+2 +0x1.21e258p+1 +0x1.7f5a82p+2 +-0x1.0326ep+2 +0x1.3dbaa2p+1 +0x1.c7e528p+0 +0x1.5e1d8ep-4 +-0x1.d7ebf6p+2 +0x1.9097b6p+2 +0x1.dfe084p-1 +-0x1.fd2e5p-1 +0x1.34111cp+3 +-0x1.320bb8p+2 +0x1.c3d3cep+0 +0x1.d68baep-3 +0x1.d5fbdap+2 +0x1.774752p+3 +-0x1.a3adc4p+3 +-0x1.c7e54ap+1 +-0x1.1872bap+1 +-0x1.e39d88p+2 +0x1.b7553p+3 +-0x1.db9718p+0 +-0x1.7e4a4ap+1 +-0x1.ca0c48p+1 +-0x1.140942p+1 +-0x1.b89a4ep+3 +-0x1.047d92p-1 +-0x1.1fca22p+3 +0x1.974324p+1 +0x1.0ea7cp+3 +0x1.c6c844p+2 +0x1.603424p+3 +-0x1.a5ffd2p+1 +0x1.190f7cp+2 +0x1.125b5cp+3 +0x1.90738cp+1 +0x1.d921bp+3 +-0x1.b15416p+3 +0x1.44313ap+3 +0x1.f07062p+3 +-0x1.46944p+1 +0x1.b465dap+2 +-0x1.6c8e2p+3 +0x1.597e7cp+3 +0x1.f18408p+2 +-0x1.7b4e54p+0 +-0x1.47ffa4p+3 +0x1.3e969cp+3 +0x1.260286p+2 +0x1.686e96p+3 +0x1.710bd6p+3 +0x1.55e84p+3 +-0x1.43ffa8p+1 +-0x1.69b8c8p+2 +0x1.c0c0d8p+3 +0x1.eac24ap+2 +0x1.e064cp+3 +-0x1.c5a6f6p+3 +0x1.7d090ap+4 +-0x1.51054cp+0 +0x1.abc5ap+2 +0x1.064c9p+4 +0x1.0e768ap+3 +0x1.fcd304p+2 +-0x1.1b09f4p+0 +-0x1.6fa7bcp+3 +0x1.1131d4p+0 +0x1.84b6fp+3 +0x1.82d034p+4 +0x1.307076p+2 +0x1.d6dd86p+1 +0x1.b0c424p+1 +0x1.6ecb46p-1 +0x1.5472dp+1 +-0x1.2c76e4p-1 +-0x1.d8f29ap+3 +-0x1.a8895cp+4 +-0x1.1e878ep+0 +0x1.88639ap+1 +0x1.004798p+3 +0x1.11537p+0 +-0x1.219f08p+2 +-0x1.dc8958p+2 +0x1.dc3e84p+1 +-0x1.707dfep+3 +0x1.aa6136p+3 +-0x1.99a04cp+2 +0x1.b0839ep+3 +0x1.d13378p+2 +0x1.9204e4p+2 +-0x1.443c98p+2 +-0x1.eeb87ep+2 +0x1.38c446p+3 +-0x1.710f7cp+3 +-0x1.07b1ap+3 +-0x1.c75e14p+2 +-0x1.3ddf74p+1 +0x1.27093p+3 +-0x1.0833d4p+1 +-0x1.2cb6bap-1 +0x1.6bd3ep+3 +-0x1.17db0ap+3 +-0x1.fc4a6ap-1 +0x1.757534p+3 +0x1.40fc56p+1 +-0x1.cc7f4ep+2 +-0x1.792ec6p+1 +-0x1.44a492p+4 +-0x1.3827d4p+3 +-0x1.41cca4p+4 +0x1.2b7bp+3 +0x1.d9b438p+2 +-0x1.f7f044p+0 +-0x1.dd1504p+0 +0x1.dfc3ccp+2 +0x1.1f3afep+0 +-0x1.0cc97cp+2 +-0x1.201c3ep+2 +0x1.df82bp+2 +0x1.395d76p+0 +-0x1.0b866ep+4 +-0x1.738d3p+3 +-0x1.0eeadep+3 +0x1.40cdccp+2 +-0x1.3c73dap+3 +-0x1.74ae48p+0 +0x1.d8275ap+2 +0x1.699a2ep+3 +0x1.1723e8p+4 +0x1.8f429p+1 +0x1.550ea2p+3 +-0x1.b1783p-3 +-0x1.061f08p+3 +-0x1.7ae9bap+0 +-0x1.1541c8p-1 +-0x1.ed3336p+0 +-0x1.a2b8ep+1 +0x1.5fba8cp+0 +-0x1.e01f1cp+1 +0x1.e28298p-3 +-0x1.39bbdap+0 +-0x1.a0c208p+3 +0x1.268d4cp+3 +0x1.8e2fbcp+2 +-0x1.6b14c4p+2 +0x1.8dc764p+2 +0x1.8779e6p+1 +-0x1.176c96p+2 +-0x1.25a544p+3 +-0x1.81eb7ap+2 +0x1.0d20b2p+3 +0x1.11e368p+0 +0x1.8ec7bp+0 +0x1.bfe052p-1 +-0x1.18d92p+2 +0x1.827ddap+1 +-0x1.14a3cep+3 +-0x1.454e26p+2 +-0x1.75eb8p+3 +0x1.24954cp+2 +0x1.f902dcp+1 +0x1.640cf2p+0 +-0x1.2f225p+3 +-0x1.02d94cp+3 +-0x1.9b7db8p+2 +0x1.68651ep+3 +0x1.f4797p+2 +-0x1.d1393ep+2 +0x1.c5dc9p+3 +0x1.bb6f32p+0 +-0x1.cd8996p+2 +-0x1.c73194p+2 +0x1.987076p+1 +-0x1.a68fcp+2 +-0x1.78f59cp+0 +-0x1.339fbep+3 +-0x1.413902p+1 +0x1.ce6222p+2 +0x1.970f02p+3 +0x1.8abadap+2 +-0x1.2c58f8p+1 +0x1.06a996p+3 +-0x1.6e6002p+5 +-0x1.fe3dd4p+3 +-0x1.6021c8p+2 +-0x1.575738p-1 +-0x1.cfee4ap+1 +0x1.11638ep+1 +-0x1.fb4ad6p+1 +-0x1.7d5344p+2 +-0x1.00d2dap+1 +0x1.7fbfd8p+3 +0x1.5a65d8p+3 +-0x1.4e3e1ep+1 +-0x1.4915bcp-2 +0x1.6beb9cp+2 +0x1.57a912p+1 +-0x1.12d05p+0 +0x1.89ea2ap+1 +-0x1.5632cep+1 +-0x1.d4c06cp+2 +-0x1.4f1954p+1 +0x1.3db73p+2 +-0x1.d8db14p+1 +0x1.98df14p+2 +0x1.14ed3ap+1 +0x1.152fd8p+1 +-0x1.eb0c42p+0 +0x1.c34eeap+2 +0x1.f84a2p+3 +0x1.43f32p+2 +0x1.38668cp+3 +-0x1.0fcddap+2 +-0x1.9f96a6p+0 +0x1.e85928p+1 +-0x1.361cep+4 +-0x1.8c83cep+3 +0x1.1c76acp-2 +0x1.5b1636p+2 +0x1.5c5494p+2 +0x1.969e8ap-2 +0x1.2440fap+4 +0x1.31fb48p+3 +0x1.2d1b84p+1 +-0x1.225302p+2 +-0x1.342994p+3 +-0x1.71951ep+1 +0x1.29b1a2p+3 +-0x1.cff758p+3 +0x1.2a3a82p+3 +0x1.f4252ap-1 +0x1.c8b542p+2 +0x1.83bb48p+0 +-0x1.804f1p+0 +-0x1.0fdb2ep+4 +-0x1.35116p+3 +-0x1.b63122p+1 +0x1.a740bp+1 +0x1.094508p+2 +-0x1.af3398p+2 +-0x1.808f84p+3 +-0x1.b7e28ap+1 +-0x1.3c6e26p+3 +0x1.e87adep+2 +0x1.3902b2p+0 +-0x1.76edd4p-1 +-0x1.06e9f8p+0 +-0x1.8b4aap+1 +-0x1.4a916p+2 +-0x1.f23b08p-2 +-0x1.9fb55ep+2 +0x1.0cca48p+2 +0x1.0a5068p+5 +0x1.0dc2f2p+1 +0x1.9a8406p+3 +0x1.a607cap+3 +-0x1.44bb7ep+3 +0x1.f3e262p+2 +-0x1.15187p+3 +-0x1.5946e6p+3 +-0x1.d8f4f8p+1 +-0x1.bc8404p+2 +0x1.c53ab4p-2 +0x1.191f9ap+3 +0x1.acbcecp+2 +-0x1.4c2d72p+2 +-0x1.02ea12p+3 +0x1.20889ep+1 +0x1.8c2f3p+3 +0x1.10b322p-1 +-0x1.5781dap+5 +-0x1.2743a2p+2 +0x1.4c16c2p+1 +-0x1.035d74p-2 +-0x1.596772p+1 +-0x1.044af2p+3 +0x1.57275ap+2 +0x1.0b9a4cp+4 +0x1.c2c14ap+1 +-0x1.18b6fp+2 +0x1.aa7be8p+0 +0x1.0e7168p+3 +-0x1.b5a3dcp+0 +-0x1.c72a6ap+1 +-0x1.cb8108p-1 +-0x1.47dbd4p+3 +-0x1.df37b2p+2 +-0x1.430244p+3 +0x1.f6648p+3 +0x1.d75654p+2 +0x1.19a41ap+2 +-0x1.ac1622p+1 +-0x1.901e2p+2 +0x1.091688p+2 +-0x1.74d462p-2 +-0x1.6e9738p+2 +0x1.66dc78p+3 +-0x1.c8464cp+1 +-0x1.a8aa78p-4 +-0x1.aee52cp+3 +0x1.fc71ccp+1 +0x1.9ab7ep+1 +-0x1.78192p-1 +0x1.2401c8p+3 +0x1.4296cep+2 +0x1.b9051ep+3 +0x1.6b220ep+2 +-0x1.fe2264p+0 +0x1.aed15ep+3 +0x1.144ca4p+4 +0x1.67aa5p+3 +-0x1.48a92p+3 +0x1.9a61f2p+0 +-0x1.131b2cp+3 +0x1.eaf848p+1 +-0x1.52c656p+3 +-0x1.a0321ap+2 +0x1.616dbp+2 +0x1.2ed1fcp+1 +0x1.79a594p-3 +-0x1.9f96e8p+1 +-0x1.0ef2a6p+3 +-0x1.6462b4p+0 +-0x1.d53832p+2 +0x1.b8dd7p+1 +0x1.4874bap+1 +-0x1.ec97bap+3 +-0x1.53ef34p+2 +-0x1.07fbaap+3 +-0x1.d5c394p+1 +-0x1.448fe4p+4 +0x1.094c28p+2 +0x1.31663ep+3 +-0x1.cf8768p+2 +0x1.3509dp+0 +0x1.8dabe2p+1 +0x1.89563ep+1 +0x1.41e1ccp+1 +-0x1.bb2d1cp+2 +0x1.1c840ep+3 +0x1.bc5d9p+3 +0x1.36b89cp+2 +0x1.21a9cep+0 +-0x1.88f8a4p+3 +0x1.033bdcp+3 +0x1.710218p+2 +-0x1.3d096ap-3 +0x1.3473c8p+3 +-0x1.e31a32p+2 +0x1.efcb56p+2 +0x1.a506aep+0 +-0x1.711fe8p-2 +-0x1.144e54p+3 +-0x1.821f6ap+1 +-0x1.facc3ep-1 +-0x1.8d14p+4 +-0x1.69e3aep+1 +0x1.4818c4p+2 +-0x1.40af88p+3 +0x1.74a9b4p+3 +-0x1.03bd38p+3 +0x1.6e1a9p-1 +0x1.702f9ep+2 +-0x1.64a0e8p+5 +-0x1.a28782p+2 +-0x1.6a13d2p+2 +0x1.bf6546p+0 +0x1.0073b4p-1 +-0x1.deccb4p+2 +0x1.b97cd6p+3 +-0x1.e8595ap+3 +-0x1.e8608ap+2 +0x1.29b278p+1 +0x1.b8a0cp-5 +0x1.0c8efep-1 +0x1.8abba2p+2 +-0x1.701154p+1 +0x1.11c3p+2 +-0x1.fcebaap+2 +0x1.b7819ap+0 +0x1.c4abcep+2 +0x1.36079p+0 +-0x1.625d3p+1 +-0x1.4d1642p+4 +-0x1.6e78e8p+3 +0x1.ff57b4p+0 +-0x1.732f8p+3 +0x1.c60c8ap+3 +-0x1.6c0f72p-3 +0x1.6c6fccp+2 +-0x1.8770acp+3 +0x1.2e1f4p+2 +-0x1.8a5f1p-2 +-0x1.137b36p-1 +0x1.08318ep+2 +0x1.55dadp+2 +0x1.c697cap+2 +-0x1.7e14c4p+1 +0x1.c05afap+2 +0x1.a356b4p+2 +0x1.d456c4p+0 +0x1.8f5974p+2 +0x1.9e9302p+3 +0x1.27f39ap+3 +-0x1.1bbf7cp+2 +-0x1.be890cp-1 +0x1.a553d6p+2 +0x1.43939ep+2 +-0x1.4045e4p+3 +-0x1.35a0f6p+3 +-0x1.3422aap+2 +0x1.fa67b6p+3 +-0x1.3cc6fcp+3 +-0x1.45790ap+4 +0x1.78175cp+1 +0x1.07b032p+4 +-0x1.39bc1cp+2 +0x1.7e1ecap+3 +-0x1.a8cdaap+2 +0x1.f5b0cap+2 +-0x1.e7061ap+2 +-0x1.323af2p+1 +0x1.8d033ap+2 +-0x1.a1a074p+2 +0x1.50cc42p-1 +-0x1.f56e5ep+2 +0x1.3859dap+2 +0x1.73203cp+2 +-0x1.8adde6p+2 +-0x1.d557aep-1 +0x1.36e46ep+0 +-0x1.7c7218p+1 +0x1.27b778p-2 +-0x1.3d6d94p+2 +-0x1.11e906p+2 +-0x1.deaedep+3 +-0x1.6c2686p+1 +-0x1.751cb6p+1 +0x1.7e5a44p+2 +-0x1.a1a944p+2 +-0x1.631e76p+2 +-0x1.4974eap+0 +-0x1.610c3ap-2 +0x1.64f79cp+1 +0x1.ef4876p+1 +0x1.3bf078p+4 +0x1.1b3054p-2 +-0x1.0d3a5p+1 +0x1.017ee4p+4 +-0x1.208ccp+3 +-0x1.5f084ep+3 +-0x1.2bc952p-1 +0x1.79882cp+2 +0x1.f213b8p+2 +-0x1.a1dee8p-3 +0x1.398bap+1 +0x1.084fbcp+5 +0x1.71eb0ep+2 +0x1.859cc8p+4 +0x1.b164eap+0 +0x1.adaf62p+3 +0x1.e9a2d2p+2 +-0x1.17544ap+3 +0x1.3276eap-1 +0x1.fb9d1cp+1 +-0x1.3753fap+1 +0x1.e365fcp+1 +-0x1.3a4288p+3 +0x1.e4a268p+2 +-0x1.2988d8p+2 +-0x1.35c038p+2 +-0x1.51b3dcp-5 +-0x1.2596bap+3 +0x1.73cc16p-2 +-0x1.d574c6p-1 +0x1.9e272ep+3 +-0x1.baca84p+2 +0x1.9f22e2p+1 +-0x1.c073cap+0 +0x1.1633b2p+2 +0x1.63fdep+1 +0x1.3bf4p+0 +-0x1.242928p+1 +0x1.b44f6p+2 +0x1.35ef8ep+2 +0x1.8529cep+1 +0x1.01263ep+0 +0x1.43f43cp+3 +-0x1.272e42p+0 +0x1.cde266p+3 +-0x1.2759fcp+3 +0x1.53c2ap+2 +-0x1.3b002ap+2 +-0x1.a9d384p+2 +-0x1.c0ffa4p+3 +0x1.28be5ap+3 +0x1.dee24p+0 +0x1.00a382p+3 +-0x1.089956p+3 +0x1.eea636p+1 +0x1.1d9202p+0 +0x1.b4eabap+3 +-0x1.50679p+4 +-0x1.b0207ap+1 +0x1.15067ep+2 +0x1.33b2fep+3 +0x1.229d8ep+2 +-0x1.14bb16p+3 +0x1.06aa7ap+2 +0x1.b45904p+1 +0x1.715c2cp+3 +0x1.668408p+2 +0x1.f24d72p+0 +0x1.dbf50cp+3 +-0x1.938fbap+3 +-0x1.bbfd72p-1 +0x1.333e5ep+3 +0x1.05222ep-1 +0x1.8c6cd2p+3 +0x1.8f1b76p+1 +-0x1.02c5f6p+1 +-0x1.1713aap+0 +-0x1.a29ad4p+3 +-0x1.b6d618p+1 +-0x1.70b116p+0 +-0x1.d84738p+1 +-0x1.a232cp-1 +-0x1.025c2p+1 +0x1.523a7ep+3 +0x1.e70aeep+1 +-0x1.5a1c98p+2 +-0x1.ed119p+2 +-0x1.792fd2p+0 +0x1.488072p+2 +-0x1.e435bep+1 +-0x1.e5248cp+2 +0x1.2ea91cp+2 +0x1.075236p+3 +-0x1.9fd766p-2 +0x1.d27774p+0 +0x1.a0de76p+3 +-0x1.779e1ap+2 +-0x1.9a63b2p+2 +0x1.4551cp+2 +-0x1.2bf0fp-1 +-0x1.ae0f78p+1 +0x1.ace97ap+5 +0x1.34f0d2p+1 +0x1.69e272p+1 +0x1.2da5a4p+4 +0x1.a9cf96p+2 +-0x1.45019ep-1 +-0x1.aa9698p+0 +0x1.ce6a22p+2 +0x1.e60fc4p+0 +-0x1.ba4f24p+2 +0x1.bef6acp+1 +-0x1.f08f32p+0 +-0x1.827efp+1 +-0x1.814518p+2 +0x1.929f7cp+1 +-0x1.2e62cap+0 +-0x1.0b1e92p+3 +0x1.8b1da8p+1 +0x1.41a8c4p+2 +-0x1.c2ed34p+2 +0x1.23ff52p+3 +-0x1.797516p+2 +-0x1.b63c3cp-1 +0x1.31814p+1 +-0x1.19f828p+0 +0x1.4f28e4p+3 +0x1.9f7bep+0 +-0x1.a505dp+1 +0x1.f24a98p+2 +-0x1.3785cp+2 +-0x1.28ddfp+3 +0x1.af2e4cp+2 +-0x1.bb9c34p+2 +-0x1.237384p+3 +0x1.216e94p+2 +-0x1.404f78p+0 +-0x1.d5f764p+2 +-0x1.6a54a4p+0 +-0x1.ea251ep+0 +0x1.e4d75cp+1 +-0x1.51d778p+3 +0x1.f0ffbep+0 +0x1.07cd9ap+1 +0x1.7291e8p+2 +-0x1.0b3376p+4 +0x1.16fa72p+2 +-0x1.68cf94p+2 +0x1.bda476p+3 +-0x1.5d4f4p+5 +-0x1.044f2cp+3 +0x1.8396fep+1 +-0x1.05859ap+3 +-0x1.51373ep-3 +0x1.0ccfep+0 +0x1.217ce6p+3 +0x1.5f8346p+1 +-0x1.4855b8p+3 +-0x1.c67156p-1 +0x1.6f9c1ap-2 +0x1.2a6246p+2 +0x1.caa2ecp+0 +-0x1.682f24p+2 +-0x1.d0d90ep+3 +0x1.904d8p+2 +-0x1.d9bc36p+2 +0x1.b609dp+2 +-0x1.9a9a14p+2 +0x1.6b35e6p+1 +-0x1.ada57ep+2 +0x1.8fce24p+1 +0x1.ac55ep+2 +-0x1.0c3b9p+1 +0x1.a5e5b4p+1 +-0x1.0565e8p+2 +0x1.6da238p+0 +0x1.43f114p+6 +-0x1.ff2f3cp+3 +0x1.bef44ap+3 +-0x1.8801d6p-1 +-0x1.cbb29ep+1 +0x1.09dc7p+2 +0x1.150c56p+5 +0x1.131896p-5 +-0x1.6ef242p+3 +-0x1.5bacc8p+0 +0x1.218a9p+3 +0x1.065246p+1 +-0x1.4bc35ap+3 +-0x1.503f56p+2 +-0x1.de0226p+2 +-0x1.7c16f2p+3 +0x1.be4304p+3 +0x1.a2e2c6p+3 +0x1.5f5178p+2 +-0x1.80f52p+2 +0x1.be8832p+3 +0x1.1e1ad8p+3 +0x1.88af12p+2 +0x1.56d51p+2 +0x1.2e8bcap+2 +0x1.7c2a16p+1 +-0x1.c3f246p+1 +0x1.34f202p+5 +0x1.11083cp+3 +-0x1.7e2af4p+2 +-0x1.7da2eap+0 +0x1.506ffcp+0 +0x1.7ab5eap+0 +0x1.b77cacp-1 +0x1.7b3b4ep+3 +0x1.bbddc2p+2 +0x1.c509a2p+3 +0x1.ddf28ep+2 +-0x1.1d323ap+5 +0x1.826b8p+3 +0x1.88115p+2 +-0x1.242f7ap+1 +-0x1.4b33fap+0 +-0x1.3ff7b2p+3 +0x1.e5c146p+2 +-0x1.0452ccp-3 +0x1.3163fcp+1 +-0x1.2fe8f8p+2 +0x1.4b188cp+2 +-0x1.02805ap+1 +0x1.81a3dp+3 +0x1.61605p+0 +-0x1.88b9b4p+1 +0x1.adbdep+2 +0x1.ef8b78p+0 +0x1.6f0586p+2 +0x1.4d1668p+2 +0x1.e0380ap+1 +-0x1.72ba7p+3 +0x1.c02944p-2 +-0x1.4730bap+4 +0x1.d2be6cp+1 +0x1.74a564p+0 +-0x1.13802ep+3 +-0x1.1f41e4p+0 +-0x1.29929cp+1 +0x1.d3f8e6p+0 +-0x1.b7ab9ep-1 +0x1.0ad204p+0 +-0x1.e96f94p+0 +-0x1.21e5d8p+2 +0x1.352a18p+3 +-0x1.fea528p-5 +-0x1.93dc6ap+1 +-0x1.680cd2p+4 +0x1.21f1f2p+2 +-0x1.060a6ep+4 +-0x1.1ff164p+3 +0x1.e8dcd8p+1 +-0x1.0ccf4p+4 +0x1.12b196p+3 +-0x1.220a6p+1 +-0x1.5ef9ecp+1 +0x1.71cdb6p+2 +0x1.1b40f2p+3 +0x1.dae342p+0 +0x1.ceb356p+3 +0x1.028d0ap+2 +-0x1.0e4394p+0 +0x1.84b7d4p+1 +0x1.d86p+0 +-0x1.e6a31ap+2 +-0x1.7440b6p-1 +0x1.1e75dap-1 +-0x1.0d4c2p+3 +0x1.75d616p+0 +-0x1.d37956p+2 +-0x1.a04d48p-1 +-0x1.04014cp+0 +0x1.658adp+1 +-0x1.0ff5d6p-3 +-0x1.4d9bb8p+0 +-0x1.26c032p+3 +0x1.1f2dbap+1 +0x1.502734p+2 +0x1.687e12p+1 +-0x1.82955ep+0 +-0x1.f0a28ep+2 +-0x1.934f9p+1 +0x1.9f3cp+1 +0x1.104162p+2 +0x1.250e94p+4 +0x1.cbb8b2p+2 +-0x1.995948p+3 +-0x1.39dd92p+1 +-0x1.69653ap+2 +-0x1.9e5b08p+3 +0x1.cf9e7ep-1 +-0x1.f509a8p+2 +0x1.e6fb88p+1 +-0x1.ddcdcap+4 +-0x1.32b7c6p+5 +-0x1.d76b72p+3 +0x1.c56e2cp+3 +0x1.2fd78cp+2 +-0x1.53571ep+1 +0x1.1fc02cp+3 +0x1.e6674p-4 +0x1.d5949ap-1 +-0x1.deccf2p+2 +-0x1.1f71c6p-1 +-0x1.717226p+3 +0x1.3e4dd6p+3 +0x1.32e094p+1 +0x1.b25072p+2 +-0x1.e1b734p+3 +0x1.36b69cp+3 +0x1.24780ep+3 +0x1.60ef6cp-1 +-0x1.3612bcp+3 +-0x1.e53778p+0 +0x1.17896cp+3 +0x1.81d4f6p+1 +-0x1.53c8cap+2 +0x1.ea6f96p+2 +0x1.b4e004p+1 +-0x1.e2af58p+3 +0x1.0533a6p+3 +0x1.9307ccp+3 +0x1.a8aec6p+3 +-0x1.70f68p+2 +0x1.51f402p+2 +0x1.db0648p-1 +0x1.4e1964p+0 +0x1.a93094p+1 +-0x1.1026fep+2 +0x1.2b118p-1 +-0x1.1663b2p+1 +0x1.64f32ap+1 +0x1.76f538p+3 +-0x1.229edap-2 +-0x1.9d5422p+0 +0x1.663992p+1 +0x1.827424p+0 +0x1.56ef8ap+2 +-0x1.48c9fcp-8 +0x1.2c9096p+1 +0x1.f11c2ap+0 +-0x1.d30d84p+2 +0x1.7c24bp+2 +-0x1.a8496ap+2 +-0x1.8d426p+1 +0x1.2fee8ep+2 +0x1.2784b4p+2 +-0x1.fa3b2p+0 +0x1.5f32acp+1 +-0x1.d1bb1p+2 +-0x1.b9e65cp+0 +-0x1.048344p+4 +-0x1.6dbe7p+0 +0x1.a46e98p+3 +0x1.4cde12p+3 +-0x1.e842a6p+2 +0x1.a07a38p+1 +0x1.021d6cp+3 +-0x1.07a6aap+1 +0x1.684072p+4 +0x1.5a13a4p+1 +0x1.e2f996p-2 +-0x1.5ffafep+1 +0x1.b56388p+0 +0x1.7d238p-1 +-0x1.61af1cp+2 +0x1.f0448cp-7 +0x1.24984ap+3 +-0x1.89074p+3 +-0x1.ab4148p+3 +-0x1.dfbe18p-1 +0x1.9308cp+0 +0x1.c58a08p+3 +0x1.b362b4p+1 +0x1.57be1p-1 +0x1.e4d3dcp-2 +-0x1.020ca6p+4 +0x1.83ec8ap+2 +0x1.b2c478p+2 +-0x1.113a0ap+2 +-0x1.d382c8p+2 +0x1.7880f4p+1 +0x1.971a04p+3 +0x1.0fb78p+2 +-0x1.9719cap+0 +0x1.ea1f6ep-1 +0x1.32beaep+3 +-0x1.cf59e6p+2 +0x1.1b29dp+3 +-0x1.3a8dc8p+3 +-0x1.9329f8p+2 +-0x1.da33fap+0 +-0x1.6ef64cp+1 +0x1.f84776p-2 +-0x1.52cf36p-1 +0x1.081ab8p+1 +-0x1.a3029ep+3 +0x1.0dd4a2p+4 +0x1.c9a83ep-3 +-0x1.365096p+0 +0x1.f8c28p+1 +0x1.2e34b2p+3 +0x1.76e0ccp+3 +0x1.7fc06cp+3 +-0x1.1fc044p+3 +-0x1.0ae6fcp+3 +-0x1.2c6562p+2 +-0x1.cc02a4p+2 +0x1.eed6e2p+3 +-0x1.95d15ap+3 +-0x1.c9bdbap+3 +-0x1.893938p+4 +0x1.059c14p+3 +-0x1.cd3fc2p+2 +0x1.6e093cp+2 +-0x1.4d1a16p+3 +0x1.fbe58cp+1 +0x1.bc4616p+1 +0x1.8efeaep-1 +-0x1.edf52cp+2 +-0x1.c75fdep+3 +-0x1.360ca4p+3 +-0x1.8316aap+1 +-0x1.d60076p-3 +0x1.145f26p+6 +0x1.dcda46p+2 +-0x1.59eddp-3 +0x1.4b4d1ap+0 +0x1.33462p+3 +-0x1.29ca76p+2 +-0x1.be1556p+2 +0x1.ea0cp+1 +-0x1.ce3404p+1 +0x1.07cddcp+4 +-0x1.e1bb82p+2 +0x1.ea0ff4p-2 +0x1.923c72p-1 +-0x1.4884c2p+3 +0x1.152026p+4 +0x1.d299f4p+2 +0x1.0386c8p+4 +0x1.00ec54p+0 +-0x1.0a6d14p+2 +0x1.0269a4p+2 +0x1.563868p+2 +-0x1.b712cap+0 +0x1.1f2cd4p+0 +0x1.ed4bep-1 +-0x1.a29e18p-2 +-0x1.069dcp+3 +-0x1.050c8ap+2 +0x1.90271cp+3 +0x1.17cf9ap+2 +-0x1.917cap+1 +0x1.15f86p+4 +0x1.b87e36p+3 +0x1.7ae312p+1 +-0x1.c5c72cp-1 +-0x1.eb5c14p+1 +0x1.2db7cep+4 +0x1.917df8p+3 +0x1.0032d2p+3 +-0x1.c04d52p+0 +-0x1.658aacp+3 +-0x1.def7a4p+2 +0x1.f8dep+4 +-0x1.e29c2ep+3 +-0x1.3a92f6p+2 +-0x1.018406p+1 +-0x1.a1bb46p+2 +-0x1.cd19acp+1 +-0x1.48b60ep+1 +-0x1.bd3504p+0 +-0x1.c46618p+3 +0x1.bf977ep+0 +0x1.c32086p+4 +-0x1.a5f17p+0 +-0x1.f0471p+2 +-0x1.49c53ap+2 +0x1.99798ep+0 +0x1.dd1f1cp-1 +0x1.91aab6p+2 +-0x1.28062ap+3 +0x1.2f4bc2p+2 +-0x1.2aefep+3 +-0x1.53a44ep+3 +0x1.21e606p+5 +0x1.da6b14p-2 +0x1.539ccep+1 +0x1.1d375ep+4 +-0x1.4107d8p-2 +0x1.6b2458p+2 +0x1.9e60aap-1 +-0x1.67befp+2 +0x1.ba7dp+0 +0x1.6f2d8ap+1 +-0x1.4e682ep+2 +-0x1.866034p-1 +-0x1.a8b234p+2 +-0x1.5b18fp+3 +-0x1.43970cp+2 +0x1.2cbe72p-2 +-0x1.26b7cp+3 +0x1.194518p+1 +-0x1.d7ef26p+2 +0x1.6bd3bep+2 +0x1.2d60d6p+3 +0x1.4e2a48p+1 +-0x1.9bc726p+2 +0x1.6521f8p+3 +0x1.3246dcp+1 +-0x1.80003p+1 +-0x1.1678p+3 +-0x1.14856p+4 +0x1.54ed1cp+3 +-0x1.2eefa8p+1 +0x1.97c2d4p+1 +-0x1.142d7cp+3 +-0x1.796aaap-1 +0x1.509372p-4 +0x1.546bc4p+4 +-0x1.998eb2p+1 +0x1.25fa9p+2 +0x1.fc34f6p+2 +-0x1.6999cap+3 +0x1.52bfeep+1 +0x1.564f16p+2 +-0x1.aeebaap+1 +0x1.99268ap-2 +-0x1.ee66bp+1 +-0x1.1c6a18p+2 +0x1.435e7ep-1 +0x1.76cc2ep+4 +-0x1.83fc52p+1 +0x1.b11cb2p+2 +0x1.03605cp+2 +0x1.add1eap-1 +-0x1.12d562p+3 +-0x1.b48c3p+1 +0x1.6b3ae4p-3 +0x1.173f84p+4 +-0x1.a172a2p+4 +0x1.67d708p+3 +0x1.46b33p-1 +-0x1.95dc2p-2 +-0x1.fb3326p+0 +-0x1.d185f6p+2 +0x1.7f29d6p+3 +0x1.404b72p+2 +-0x1.d55568p+2 +-0x1.6dfd1cp+3 +-0x1.ec906ep+2 +-0x1.685456p+2 +-0x1.fe44a2p-1 +-0x1.42ddeap-2 +-0x1.762efap+0 +0x1.d80ad8p+3 +-0x1.486074p-3 +0x1.0a8cf2p+3 +-0x1.216b44p+4 +-0x1.5c978cp-3 +0x1.823b3p+3 +0x1.1b4c1p+4 +-0x1.2f5176p+3 +-0x1.c4b98p+3 +0x1.4b06dcp+2 +0x1.9ac9d8p+3 +-0x1.13fa46p+3 +-0x1.6a96ep+3 +-0x1.b56508p+3 +0x1.03ba24p+2 +-0x1.00f62cp+3 +-0x1.290906p+3 +0x1.200272p-2 +0x1.02cdd8p+3 +-0x1.c1df0ap+1 +0x1.62082cp+4 +-0x1.38363p+4 +0x1.05e18cp+3 +0x1.b4f518p+2 +0x1.5d5d26p+2 +-0x1.1bd404p+3 +0x1.1ed7d2p+3 +-0x1.d13a9ap+1 +0x1.3a943p+3 +0x1.86cc4ap+3 +0x1.0faedep+3 +0x1.ff5698p+3 +-0x1.94f97ap+1 +0x1.e3ca74p+1 +-0x1.4e0fbcp+2 +0x1.4f04d2p+3 +0x1.118368p+3 +0x1.1cf136p+2 +0x1.c262bcp+2 +0x1.2c251ep+1 +0x1.c7e2aep+3 +0x1.0ea45cp+3 +0x1.70b79cp+2 +-0x1.809facp+3 +0x1.073ac8p+4 +-0x1.00e0b4p+4 +0x1.18653cp+2 +-0x1.2914dcp+2 +0x1.3c8238p+0 +0x1.a48fbp-1 +-0x1.b7f86cp+2 +0x1.cf689cp+1 +-0x1.4df39p+2 +0x1.3d9148p+2 +0x1.04d87p+0 +0x1.183f9p+3 +0x1.131824p+2 +-0x1.cae47cp+3 +-0x1.72a1c2p+2 +-0x1.3d1ec8p-4 +-0x1.051fbcp+3 +-0x1.dd8fcap+0 +0x1.ac2c58p+3 +0x1.cf0ef6p+0 +0x1.2a15bcp+3 +-0x1.6458bap+1 +0x1.3dfbap+3 +0x1.acce48p+1 +-0x1.4a6c2ap+2 +0x1.0d65ep+3 +-0x1.ef75c4p+3 +0x1.802f76p-2 +-0x1.1aa7e2p+3 +-0x1.d7ae6cp+0 +-0x1.dabe96p+1 +-0x1.42dc8p-2 +-0x1.e3ffp+2 +-0x1.567bdp+3 +0x1.45e4cap+2 +-0x1.490a68p+3 +-0x1.0f8e2p+3 +0x1.6b87dep-1 +-0x1.948dp+1 +0x1.215098p+4 +0x1.91ff1p+2 +-0x1.413cb8p+3 +-0x1.b26978p+2 +0x1.9b8ef8p+1 +0x1.4fc9ccp+2 +0x1.01378ep+2 +0x1.249b54p+3 +-0x1.360a5cp+3 +0x1.6a3caep+3 +0x1.08101ep+4 +-0x1.ecf65cp+0 +0x1.62cadap+0 +-0x1.06112ep+2 +0x1.991d78p+2 +0x1.606aep+3 +-0x1.070714p+0 +-0x1.562a98p-1 +-0x1.dc5e96p+2 +-0x1.83bc2ep+1 +0x1.5f291cp-3 +0x1.15de4cp+0 +0x1.0c56dp+3 +-0x1.94809p+2 +0x1.2eedaep-2 +0x1.990464p+2 +0x1.06002cp-2 +-0x1.f13c1ep-1 +-0x1.180a16p+1 +-0x1.8f8b4ep+3 +-0x1.1649f2p+3 +-0x1.97f9eap+1 +-0x1.4fe618p+2 +-0x1.1361a2p+1 +0x1.10b602p+0 +0x1.59df8ep+1 +0x1.f010c6p+2 +-0x1.18296ep+0 +-0x1.3d588cp+0 +-0x1.6d5964p+3 +-0x1.9dca2ap+1 +0x1.257a96p+3 +0x1.122b08p+2 +-0x1.ead32cp+3 +-0x1.47b2dp+3 +-0x1.319552p+3 +0x1.03d558p+3 +0x1.c00ae2p+3 +-0x1.8fab24p-1 +0x1.3549ccp+3 +0x1.007aa6p+2 +0x1.457e7ap+2 +0x1.18726cp+2 +0x1.13ddb4p+1 +-0x1.03641ep+2 +0x1.4c7becp+3 +-0x1.a59092p+1 +0x1.2641cap+2 +0x1.156662p+4 +-0x1.e0f6fcp+3 +0x1.05feecp+4 +0x1.c1bcbep+5 +-0x1.54405ap+2 +0x1.705f56p+2 +-0x1.54887ap+3 +0x1.d1237p+1 +0x1.6718eep+2 +-0x1.57e652p+3 +-0x1.79544ep+1 +-0x1.16d64p+3 +-0x1.1ac906p+3 +-0x1.e85af4p+2 +0x1.bb11c6p+0 +0x1.7f800ep+2 +0x1.3d5614p+3 +-0x1.cb8fc6p+1 +-0x1.38784cp+3 +-0x1.4ab4fap+0 +0x1.95689cp+4 +0x1.3dd5b8p+2 +-0x1.ffa216p+0 +0x1.476134p+1 +0x1.e5787cp+1 +-0x1.f9e446p+1 +-0x1.93e5d2p+1 +0x1.4357fap+2 +-0x1.4f73ep+1 +0x1.9d7f48p+3 +-0x1.f46b4cp-1 +0x1.4cc132p+0 +0x1.3e01aep+3 +-0x1.b8cd7cp+1 +0x1.17734cp+0 +-0x1.4d84b6p+4 +-0x1.5e3c2cp+0 +0x1.39600cp+3 +-0x1.d9fed2p+2 +0x1.cf3dfp+2 +0x1.97d41ap+3 +0x1.ee4f3ep+2 +0x1.298a9ap+1 +-0x1.89719cp-1 +0x1.7a6966p-1 +0x1.323646p+3 +0x1.2f839p+0 +-0x1.f26d5ep+2 +-0x1.32b2dp+2 +0x1.c7fba6p-3 +-0x1.016d02p-2 +-0x1.29eb78p+1 +-0x1.0abdfp+2 +-0x1.83caeep+3 +-0x1.e77142p+3 +-0x1.18231ep+3 +-0x1.0b184ep-1 +-0x1.2f8bb2p+4 +-0x1.b2a8bap+2 +0x1.900b1ep+3 +-0x1.f1c7ecp+1 +0x1.810202p+1 +0x1.2c9fc4p+0 +-0x1.f03356p+3 +-0x1.9fd06ep+3 +0x1.9d463ep+3 +-0x1.3acaaap+3 +-0x1.6968e6p+3 +-0x1.b4160ap-3 +-0x1.6b96b2p+2 +-0x1.50589ap+0 +-0x1.0fe6cap+5 +-0x1.2f7d76p+3 +0x1.b05bd4p-3 +0x1.40ed04p+2 +0x1.228e5ep+3 +-0x1.112b6p-1 +-0x1.be5892p+2 +-0x1.c6a59ap+3 +0x1.a56efp+1 +0x1.918a52p+0 +0x1.2d04aep+1 +0x1.1aa9f2p+1 +0x1.0eb2acp+3 +-0x1.a38a2cp+3 +0x1.c2fa24p+1 +0x1.6c0a28p+4 +-0x1.171818p+2 +-0x1.38933ep+4 +0x1.8107eap+3 +0x1.96ff2cp+2 +0x1.188cd6p+0 +-0x1.7b8aa4p-6 +-0x1.2bfef2p+2 +-0x1.076554p+2 +-0x1.4afc24p+2 +0x1.1aa984p+3 +-0x1.85ce3p+3 +0x1.c1e4c4p+0 +-0x1.bf4e26p+2 +0x1.b00866p+1 +-0x1.8604e8p+3 +-0x1.64b07p+3 +0x1.6ef53ap-1 +-0x1.bdb7c6p+3 +0x1.5259b4p+2 +-0x1.8852bp+3 +0x1.c76894p+1 +0x1.daed1ep+1 +0x1.2c7a8ap+2 +0x1.9331fp+3 +-0x1.557626p+2 +-0x1.146f9ep+3 +-0x1.28a022p+2 +-0x1.a2228ep+3 +0x1.0b5b48p+3 +0x1.d73f7ep+1 +-0x1.452b52p+3 +-0x1.5018e8p+1 +-0x1.72153ep+3 +0x1.a8f7b2p+3 +-0x1.26c92cp-1 +-0x1.3ca7f8p+4 +0x1.982a0ap+1 +-0x1.5a8bbap+3 +0x1.84ab42p+1 +0x1.d44e1cp+3 +0x1.dc0de4p+3 +0x1.87509p-2 +0x1.c4356p+0 +-0x1.195332p+3 +-0x1.3dc2bep+3 +-0x1.06ed8ep+2 +0x1.4d3d7p-2 +-0x1.dd5742p+1 +0x1.3a0e34p+0 +-0x1.d54bacp+2 +-0x1.2ce968p+3 +-0x1.41ab3ep+2 +0x1.44f836p-6 +0x1.516194p+2 +-0x1.a7bbf8p+2 +-0x1.217622p+4 +-0x1.9fdd64p+2 +0x1.42b618p-6 +0x1.ad52dep+1 +-0x1.a0565ep+3 +-0x1.64508ap+2 +0x1.666f38p-1 +-0x1.7d311cp+2 +-0x1.5ddfbap+3 +0x1.c135fap-1 +0x1.01478ap-1 +-0x1.3333aap+3 +-0x1.4496a2p+3 +-0x1.711ea6p+3 +-0x1.755ecp-7 +0x1.1ac204p-5 +-0x1.d88bd4p+0 +0x1.6dce5p+2 +-0x1.16dc0cp+4 +-0x1.27c77cp-1 +-0x1.906e9ep+0 +0x1.18e9b8p-3 +-0x1.2e8c2cp+3 +-0x1.f53924p+3 +-0x1.2c24bap+2 +-0x1.ac2c6ep+1 +-0x1.d221a6p+3 +0x1.d71f28p+1 +-0x1.630a7ap-1 +0x1.5cb6bcp+3 +-0x1.4d706ep+2 +-0x1.81db16p+3 +0x1.1d45ecp+2 +-0x1.bbd304p+2 +0x1.692926p+2 +0x1.a623aep-1 +-0x1.080956p+1 +-0x1.8c6be4p+3 +-0x1.b92f88p-1 +-0x1.4ef9f2p+3 +0x1.67160ap+3 +-0x1.3091fp-1 +-0x1.1247dep+3 +-0x1.de27cap+5 +0x1.d43b42p+3 +0x1.2248fep+3 +0x1.36f16p-3 +-0x1.62a91ap+3 +0x1.c5cf3p+2 +-0x1.df6c8cp+2 +-0x1.f943acp+0 +0x1.51a9cap+2 +-0x1.9108fap+2 +0x1.fe4862p+1 +-0x1.04fffp+1 +-0x1.d641c8p-3 +-0x1.f9d3d6p+0 +-0x1.ee6296p+0 +-0x1.94a686p+1 +0x1.a7c516p+2 +0x1.8eb706p+1 +0x1.86dca4p+0 +0x1.38018cp+2 +-0x1.ba118p+3 +0x1.fc074ap+1 +0x1.0ea0d8p+3 +-0x1.0efba6p+1 +-0x1.17c456p+2 +-0x1.596f72p+0 +-0x1.392248p+3 +0x1.5122ep+3 +0x1.f0ef8p+0 +0x1.7e5002p+1 +-0x1.f4b12ep+2 +-0x1.c8731ap+2 +0x1.31dd68p+3 +-0x1.a303a4p-4 +0x1.4e86c8p+3 +0x1.1a56eep+3 +-0x1.7238cep+3 +0x1.83510cp+2 +0x1.32953ap+1 +-0x1.e298a4p+0 +0x1.cc7238p-1 +-0x1.094404p+1 +0x1.11645ap+1 +0x1.fbafb2p+1 +-0x1.09cc94p+2 +-0x1.e337p+3 +0x1.04b988p+2 +0x1.a4e32ep+3 +-0x1.6e6b6cp+1 +-0x1.10709cp+3 +-0x1.48d7f6p+3 +-0x1.cc1444p+3 +0x1.87c2ep+1 +0x1.cb2c2p+2 +-0x1.c6295ep+3 +-0x1.218ee2p+2 +-0x1.d1f7c4p+2 +-0x1.f64e18p+0 +-0x1.9e64f8p+3 +0x1.99936ap+3 +-0x1.5862d6p+4 +-0x1.b02166p+1 +-0x1.99318p-2 +-0x1.e066f6p+1 +-0x1.620d2p+1 +-0x1.2d339cp+2 +-0x1.8d62fap+3 +-0x1.00e28ap+4 +-0x1.228056p+2 +0x1.650becp+2 +0x1.add9cep+2 +0x1.9234p+3 +0x1.67b7ep+2 +0x1.25eda2p+3 +-0x1.5a3b46p-1 +-0x1.5c45bcp+0 +0x1.627c98p-1 +0x1.6a81eep+3 +0x1.8da70ap+0 +-0x1.26483ap+0 +0x1.13ab54p-1 +-0x1.ae35d6p+3 +-0x1.d0244cp+0 +-0x1.d76602p+2 +-0x1.5802e8p+3 +0x1.5ea6b8p+4 +-0x1.2cbb8p+3 +-0x1.219d9cp+2 +-0x1.86f4a4p+2 +0x1.be4ac6p+2 +-0x1.9f4dc6p+2 +-0x1.0ce498p+0 +-0x1.2710cap+3 +0x1.d7f332p+1 +0x1.ea8f9ap+1 +0x1.bbbb08p+2 +-0x1.da4784p+2 +-0x1.2e2ab8p-1 +0x1.9fcc2p+3 +-0x1.59a33p+3 +-0x1.9f049cp-1 +0x1.4b15aap+2 +-0x1.2b1f28p+4 +-0x1.a43ecap+3 +-0x1.05965cp+3 +0x1.6fa45ep+3 +-0x1.e90b1ap+2 +-0x1.a6fa42p+2 +-0x1.454526p+2 +0x1.078a8cp+4 +-0x1.fe4f1ep+2 +0x1.032e9ep+2 +0x1.5afe8ap+1 +-0x1.54094cp+2 +0x1.8124ccp+2 +0x1.80e338p-1 +-0x1.45ae58p-2 +-0x1.44c552p+2 +0x1.9542f4p+1 +0x1.943224p+3 +0x1.9edd1ap+1 +-0x1.61b202p+3 +0x1.cabf4cp+1 +-0x1.e190cep+0 +0x1.15f088p+3 +0x1.600cf4p+3 +0x1.277e06p+2 +0x1.036adcp+3 +-0x1.069f94p+0 +-0x1.1d4d02p+3 +-0x1.7b7f4p+2 +-0x1.20c724p+4 +-0x1.584b22p+3 +-0x1.06c72p-1 +-0x1.0c2c58p+1 +0x1.e67b6cp+4 +0x1.28c146p+2 +-0x1.4304dp+3 +-0x1.92769p+1 +0x1.888d26p+2 +-0x1.4a8de8p+1 +0x1.bfd58cp+0 +-0x1.806cep+3 +0x1.239562p-2 +-0x1.7db2d8p+1 +-0x1.07b6fp-3 +0x1.1771p+2 +0x1.b17e6ap+0 +0x1.29cdap+3 +-0x1.2727a4p+1 +0x1.cdd90ep-1 +0x1.dd3dbp+2 +-0x1.8375fcp+0 +-0x1.8777d2p+0 +0x1.3683c8p+0 +0x1.18abeep+2 +-0x1.6a2fb6p+2 +0x1.9c994p+1 +-0x1.dd0cd2p+2 +-0x1.89bb84p+3 +-0x1.450daep+2 +0x1.1db3aap+2 +-0x1.5253d6p+3 +-0x1.773fccp+4 +-0x1.44725ep+0 +-0x1.85e306p+2 +-0x1.248a4cp+3 +0x1.07cac4p+4 +0x1.606b66p+2 +-0x1.d48072p+1 +0x1.80ae08p+4 +-0x1.5cc59cp+0 +0x1.070e86p+0 +-0x1.f1d072p+2 +0x1.582ecp+1 +-0x1.22fa58p+3 +0x1.032022p+6 +0x1.b3b696p+2 +0x1.26d7b6p-2 +0x1.76144cp+2 +-0x1.9ddd02p-2 +-0x1.4fbc6ep+2 +0x1.c7934ep+3 +-0x1.e43558p+3 +-0x1.3214ecp+2 +-0x1.6d30f6p+4 +0x1.ff5b86p-1 +0x1.0b2b7p+3 +0x1.335c9cp+3 +-0x1.953d56p+0 +0x1.8d2b92p+0 +0x1.bae886p+3 +0x1.167fep+1 +0x1.74ca62p-2 +0x1.8e2d5ap+3 +0x1.8bd952p+3 +0x1.0c35b2p+1 +-0x1.07462ep+3 +-0x1.3ecfaep+2 +-0x1.7b042p-1 +-0x1.6584ep+1 +0x1.1dfed4p+0 +-0x1.ba50d2p+1 +0x1.e29c9cp+2 +0x1.92f14ep+1 +-0x1.39170ep+1 +-0x1.8693dp+2 +0x1.2dbb1cp+3 +-0x1.5db2b8p-2 +0x1.670134p+5 +0x1.34c04ep+2 +-0x1.1fb894p+2 +0x1.9b7ccap+3 +-0x1.1a63dcp+4 +-0x1.3ccceep+4 +0x1.355976p+2 +-0x1.6d0ef2p+3 +0x1.2fc69cp+3 +-0x1.3de742p+3 +-0x1.72451p+3 +-0x1.9e1fc2p-4 +-0x1.d52816p+2 +-0x1.0f426ap+4 +-0x1.75a2d2p+1 +0x1.cb7f68p+0 +0x1.eccdd8p+1 +-0x1.a402aep+4 +-0x1.271f4cp+2 +-0x1.de4e4p+1 +0x1.84feeep+3 +-0x1.4bf83p+1 +-0x1.70a0cep+3 +-0x1.82e932p+2 +0x1.3e145ap+3 +-0x1.7edcd2p+3 +0x1.7ba93ep+3 +-0x1.1cc26cp+3 +-0x1.769584p-1 +0x1.c9e902p+1 +0x1.1e397p+3 +0x1.2d37a4p+4 +-0x1.7bdd62p-1 +-0x1.02b03ap+4 +0x1.c7e04p+3 +-0x1.8e1f0cp-6 +-0x1.86dd5ep+3 +-0x1.04c87ap+2 +0x1.0b6f22p+2 +-0x1.a5b24ep+4 +0x1.8f9b32p+2 +0x1.3f1eeep+3 +-0x1.79bb44p-3 +0x1.405dfp+3 +0x1.7810fep+3 +0x1.59039ep+3 +-0x1.533b7ep+2 +-0x1.847b9cp+3 +0x1.90b914p+3 +0x1.0f6932p+3 +-0x1.7e3a5ap+2 +0x1.0a82d2p+3 +0x1.7dae4ap+0 +0x1.fa8bb4p+1 +0x1.2ae8p-1 +-0x1.a4ebb4p+2 +0x1.334a7cp+2 +0x1.8ca71ap+3 +0x1.482d3p+0 +-0x1.30929ep+2 +-0x1.80e35ep+2 +0x1.03de5p+4 +0x1.d4c766p-10 +0x1.138c14p+4 +0x1.7f977ep+1 +-0x1.0d82ep+1 +0x1.8771f6p+1 +-0x1.a59fc8p+2 +-0x1.5acebep+4 +0x1.943dbep+2 +-0x1.6b5f68p+1 +-0x1.116522p+2 +0x1.a468ecp-2 +-0x1.4413d6p-1 +0x1.b61754p+2 +-0x1.3d3638p+4 +0x1.307aap+2 +-0x1.f0e568p+1 +-0x1.2c4794p+2 +-0x1.b2cdd8p+2 +0x1.a5a8cep+2 +0x1.012dd6p+2 +-0x1.74fbeap+0 +0x1.9b817ap+0 +0x1.2918a2p+1 +-0x1.a4ad3p+2 +0x1.e40b96p-1 +-0x1.6330bep+3 +0x1.af60ep+2 +-0x1.3cc692p+3 +0x1.138622p+1 +-0x1.0584f8p+1 +0x1.1d6246p+2 +0x1.d5e8c4p+2 +-0x1.e79712p+2 +0x1.ad9732p+2 +0x1.9697c6p+2 +-0x1.e3f9c8p-3 +-0x1.aa17eep+3 +-0x1.dea8dp+0 +0x1.4ec636p+3 +-0x1.5f8228p+2 +-0x1.e8ac1ap+0 +0x1.1d467ap+1 +-0x1.9bd878p-2 +0x1.1f0e94p+3 +-0x1.8da4c4p+2 +-0x1.1bd46ap+4 +-0x1.9cbb36p+1 +0x1.764c24p+2 +-0x1.80412ap+3 +0x1.50b8fep+2 +-0x1.3aa90ep+1 +-0x1.3927dap-3 +-0x1.fc76eap+2 +0x1.8404e6p+0 +-0x1.62dd12p-1 +0x1.85ad44p+1 +-0x1.9d302p-3 +0x1.f7685ap-1 +-0x1.817e4ap+2 +-0x1.41fe3cp+2 +-0x1.87ea26p+2 +0x1.49d826p+1 +0x1.94c504p-1 +-0x1.936702p-3 +-0x1.5e0854p+3 +0x1.7526e4p+2 +0x1.3c73d4p+2 +-0x1.44c8d8p+2 +0x1.aa17b6p+3 +-0x1.abbbf4p+1 +-0x1.935e2cp+2 +0x1.fbf998p+3 +-0x1.460f66p+2 +0x1.99d664p+1 +-0x1.9ad506p+3 +0x1.65a63p-2 +-0x1.588eb8p+1 +0x1.5c25b8p+1 +0x1.75acf6p+3 +-0x1.030ebcp+2 +0x1.638e1ep+3 +0x1.7a132ap+1 +-0x1.6ad65cp+1 +-0x1.8b3d6cp+1 +-0x1.42b04p+1 +-0x1.7c9dfep+2 +-0x1.4cfbf8p+2 +-0x1.2efc82p+4 +0x1.b9edfap+3 +0x1.17693ep+3 +0x1.68ff7cp+3 +0x1.f863aep+1 +-0x1.276972p+1 +-0x1.b80c5ep+2 +-0x1.1d73eep+1 +0x1.1d386ep+4 +-0x1.15e4f4p+2 +-0x1.5f5f7cp+2 +-0x1.fb7ce2p+3 +-0x1.e62d7ep+2 +-0x1.59904ap+3 +0x1.06a988p+3 +0x1.e77978p+2 +-0x1.35eb76p+3 +0x1.775ecep+0 +-0x1.c2e0b8p+1 +-0x1.1431ccp-2 +0x1.d50ffp-1 +0x1.007b54p+2 +-0x1.d7f8bap+0 +0x1.1e4004p+2 +0x1.cf7be2p+0 +-0x1.edec2ap+2 +0x1.2787eep+2 +-0x1.43ff86p+1 +0x1.c54666p+3 +0x1.c92824p+2 +0x1.5c9e3p+0 +-0x1.86bep+3 +-0x1.23fce4p+1 +-0x1.17b1ccp+3 +-0x1.5bafd2p+3 +-0x1.257704p+2 +0x1.a2fd4p+1 +-0x1.21a3c2p+1 +0x1.8d04fep-1 +-0x1.af508p+1 +0x1.74be2ap+3 +0x1.883dap+3 +-0x1.cbf06p-3 +-0x1.b69ba8p+0 +0x1.044e1ep+4 +0x1.911eaep+2 +0x1.f58ab6p+1 +0x1.6b1ecep+3 +-0x1.91bbfcp+2 +0x1.e99e7ap+3 +-0x1.7cd268p-1 +-0x1.815594p+2 +0x1.0538fp-2 +-0x1.d823ecp+2 +0x1.a7811ep+2 +-0x1.37a606p+3 +-0x1.14bb9ep+1 +0x1.2298d6p+0 +0x1.5d9d62p+2 +0x1.985deep+2 +-0x1.0b836ap+2 +-0x1.e1af8p+3 +-0x1.a0a29p+2 +0x1.5ed4c6p+3 +-0x1.4f572p+2 +0x1.88016ap+3 +0x1.ce82e8p+2 +0x1.7868e8p+3 +-0x1.825968p+2 +-0x1.2dfec2p+1 +0x1.86b9d4p+2 +0x1.b2fe34p+3 +-0x1.b9a9d6p-1 +0x1.048f2ep-3 +-0x1.cdb44cp+2 +-0x1.40301ep-1 +-0x1.6cb2e2p+1 +-0x1.625ccep+2 +-0x1.bdaf8ap+3 +-0x1.4987d8p+2 +0x1.59c57p+2 +-0x1.77e1d6p+1 +-0x1.6b0ae4p+1 +-0x1.542d84p+3 +0x1.489b3ap+2 +-0x1.95e95cp+2 +0x1.b6af6cp-1 +0x1.46ab06p+1 +-0x1.d95bf2p+2 +0x1.491ba6p+3 +-0x1.47e024p+3 +0x1.2c4402p+4 +0x1.736228p+3 +0x1.aed0eep+2 +0x1.f01eb8p+3 +0x1.e8ceaap-2 +-0x1.6b7314p+3 +-0x1.9d3b5p+2 +-0x1.bf0122p+1 +0x1.0f9026p+1 +-0x1.031e04p+3 +-0x1.077e4ap+3 +-0x1.f5758p+3 +0x1.697cdcp+0 +-0x1.65d80cp+1 +-0x1.2d790cp+2 +-0x1.72e49ap+2 +-0x1.3e616p+2 +-0x1.1609e4p+3 +-0x1.b57362p+0 +-0x1.8fcda6p+0 +0x1.6bf0a4p+2 +0x1.ad48c2p+1 +-0x1.890358p+3 +-0x1.cdc0fep-1 +-0x1.3a5574p+2 +-0x1.760658p-2 +-0x1.b916e8p+3 +-0x1.ec6558p-4 +0x1.81b752p+5 +-0x1.f96ce8p+3 +-0x1.f7c0e6p+0 +0x1.8c879ap-2 +-0x1.6ff716p+2 +0x1.3b1154p+2 +0x1.469aa4p-6 +-0x1.2015fep+4 +-0x1.8da66ap-1 +-0x1.159efep+3 +-0x1.1a5f28p+2 +-0x1.af5ae2p+2 +-0x1.6c16p+1 +-0x1.079bbep+2 +-0x1.6a98d4p+2 +0x1.09ea74p+2 +0x1.ecfe0cp+1 +0x1.f8472cp+1 +0x1.a4ef6p+1 +-0x1.8123ap+2 +0x1.5387fcp+2 +-0x1.80dc1cp+2 +0x1.50ab5cp+1 +0x1.bf52d8p+1 +-0x1.524fd4p+0 +0x1.44580cp+2 +0x1.bcf5e6p+2 +-0x1.ec2f52p+2 +-0x1.d881cep-1 +0x1.5588c6p+3 +0x1.420c04p+2 +-0x1.228f88p-2 +-0x1.4fea72p-1 +0x1.59f8cap-2 +0x1.cbdcf4p-1 +0x1.343522p-1 +0x1.f92abcp+2 +-0x1.a8b95ep+1 +-0x1.83ff64p+2 +0x1.de453ep+0 +-0x1.70b986p+2 +0x1.da1c68p+3 +0x1.21b5b4p+3 +0x1.d2127ap+3 +0x1.83719cp+2 +-0x1.a4349cp+2 +0x1.b878b8p+3 +0x1.6a370ep+1 +-0x1.118e54p+3 +-0x1.3df8b6p+1 +0x1.8a5014p+3 +0x1.ad9162p-2 +0x1.8bdbe2p-1 +0x1.9a65a4p+2 +-0x1.7f251p+1 +-0x1.3b1f2p+2 +-0x1.345fb2p+1 +-0x1.75771ep+1 +-0x1.169572p+3 +-0x1.ec1426p+0 +0x1.c4f346p+3 +-0x1.4b57ep+2 +0x1.ffb67p+2 +-0x1.01df0ep+2 +-0x1.15df94p+3 +-0x1.a170f6p+2 +-0x1.d992ep+0 +-0x1.2baf74p+2 +0x1.a85186p+1 +0x1.abcea8p+1 +0x1.ab7cbap+3 +0x1.42e69ap+0 +-0x1.9d0814p+3 +-0x1.0b9938p+2 +-0x1.80aecap-1 +-0x1.b699fp-3 +0x1.bb03a4p+1 +0x1.2fb4aep+2 +0x1.03cfa4p+4 +-0x1.abf1b8p-1 +0x1.613976p+4 +0x1.dd2618p+2 +0x1.275076p+1 +-0x1.84c576p-4 +0x1.7042a2p+0 +0x1.c82e92p+1 +-0x1.a57daap+1 +0x1.66a4dep+3 +0x1.c6a39ap-2 +0x1.29cfbcp+3 +0x1.89c30ap+1 +-0x1.762f1ep+2 +0x1.bfb29p+3 +0x1.8229ecp-1 +0x1.fab966p+0 +0x1.88906p+3 +-0x1.db54dcp+2 +-0x1.21161ap+1 +0x1.6df6d2p+3 +0x1.0259a8p+1 +0x1.7c3ad6p+3 +0x1.6422f8p-1 +0x1.9b092p+0 +-0x1.bb95f8p+3 +-0x1.70ed12p+2 +-0x1.25d4fap+4 +0x1.5d7ffp+3 +0x1.9a3d98p+3 +-0x1.6cba4p+1 +0x1.a72812p-2 +-0x1.eba0cp+3 +0x1.a5e5f6p+1 +-0x1.7288ap+2 +-0x1.8935cap+2 +-0x1.2a829cp+3 +-0x1.48ebdcp+2 +0x1.5419fcp+3 +-0x1.50327ep+2 +0x1.5e3d5cp+2 +0x1.0d9ddap+4 +0x1.82002ep-4 +-0x1.81246ap+1 +0x1.1ded02p+3 +-0x1.f34346p+0 +0x1.61f206p+3 +0x1.39cca6p+1 +-0x1.8a8c7ap-1 +-0x1.e29c88p+1 +0x1.361954p+1 +0x1.17da7cp+2 +0x1.18ca1p-2 +-0x1.6b7288p+2 +0x1.56ccbep-3 +0x1.73c642p-1 +0x1.87c68cp+2 +0x1.d69c54p+2 +-0x1.726e54p+2 +0x1.4db076p+2 +-0x1.43661cp+4 +-0x1.0a6bcap+3 +-0x1.27821p+3 +0x1.ca9d5cp-2 +0x1.290ac4p-1 +0x1.f61ebap+3 +-0x1.1584dp+2 +0x1.0b8bf2p+3 +-0x1.51999p+2 +-0x1.9da6a4p+0 +0x1.e7b494p+1 +0x1.0c4822p-3 +-0x1.165632p-2 +0x1.f02bc2p+0 +0x1.35c696p+2 +0x1.da738ap-1 +0x1.8e1484p+2 +-0x1.23fb1ep+3 +-0x1.917d26p-2 +0x1.a732cep+4 +-0x1.d52748p+3 +-0x1.6140d2p+3 +0x1.d8ab7ap+2 +0x1.69a984p+0 +-0x1.b9934ap+0 +-0x1.b8475p+2 +0x1.48c178p+2 +-0x1.445f82p+3 +-0x1.4122d8p+3 +-0x1.f0fc9ap+1 +-0x1.15642cp+3 +-0x1.276fb2p+1 +0x1.1ec51cp+1 +0x1.3d61d4p+2 +0x1.f9cd82p+2 +0x1.cef99ep+3 +-0x1.bd5bbap+2 +0x1.416068p+3 +0x1.15025ap+3 +-0x1.934af2p+3 +0x1.e2761ep+3 +0x1.c5012ep+2 +-0x1.779788p+2 +-0x1.1d26ccp+2 +-0x1.eb283p+0 +0x1.4437a6p+0 +-0x1.c88262p+2 +0x1.fd0406p+3 +-0x1.3ac284p+3 +0x1.ba5eeep+1 +0x1.69e162p+1 +-0x1.6d72c6p+2 +0x1.bbf7fap+2 +0x1.82e236p-5 +0x1.2d967p+2 +0x1.215beap+2 +-0x1.799718p+3 +0x1.0a1332p+5 +0x1.2b76bcp+2 +0x1.e87f02p+1 +-0x1.66b792p+3 +0x1.380f5cp-5 +0x1.365818p+1 +-0x1.67eaeep+1 +-0x1.09e25ap+4 +-0x1.2241b2p+2 +-0x1.6e04ep+2 +-0x1.3a2ca4p+5 +0x1.2aff2ep+2 +0x1.d0ade4p+2 +0x1.78507ep+1 +0x1.5fdd7p+1 +-0x1.a40adcp+2 +-0x1.9a4966p+1 +-0x1.008704p+0 +-0x1.9050f6p+1 +0x1.9010a2p+2 +0x1.113376p+2 +0x1.4a4de4p+2 +-0x1.51fccep+2 +0x1.62829p+3 +0x1.cc8f02p+3 +0x1.901b08p-1 +0x1.ab8c84p+3 +0x1.2f8abp+4 +-0x1.7de2d4p-1 +0x1.204096p+1 +-0x1.779b54p+3 +0x1.3e2d9ap+1 +-0x1.20ab36p+2 +-0x1.049708p+3 +-0x1.29b568p+2 +-0x1.d35c08p+0 +-0x1.aca8dep+3 +0x1.50a42p+2 +0x1.dbbcc6p+2 +0x1.2c63ap+2 +0x1.ff5282p-1 +-0x1.27ad28p-6 +-0x1.63b808p+4 +0x1.f0119ap+1 +-0x1.43fe26p+2 +-0x1.0cfe3p+3 +-0x1.61f8fep+2 +0x1.ce5dcp+2 +-0x1.7c2378p+1 +0x1.ffa1bcp+2 +-0x1.c8012ap+2 +-0x1.1e7d7ap+3 +-0x1.2f748cp+2 +0x1.3e88e2p-2 +0x1.8f8bcp+3 +-0x1.1cff74p+4 +0x1.33c24p+2 +-0x1.f3fd38p+2 +0x1.546046p+3 +-0x1.13ae64p+2 +0x1.c8a558p+2 +0x1.a6e46p+0 +0x1.07ed1ap+4 +-0x1.330ca2p-1 +-0x1.5e7ca8p+2 +-0x1.e68c3ap+3 +0x1.d7c9f4p+0 +0x1.ee68d4p+0 +-0x1.52875ep+3 +-0x1.d91c36p+3 +0x1.2b72dcp+4 +0x1.d0c78ap+1 +0x1.97c69p+3 +0x1.67d404p+3 +-0x1.b4cdb4p-1 +-0x1.ed7486p+1 +0x1.5adacep+3 +0x1.7fdec6p+2 +0x1.9f462ep+0 +-0x1.fdf4e4p+0 +-0x1.b7c4b8p+2 +0x1.0e3b08p+2 +-0x1.5d2e08p+3 +0x1.0cc27ep+1 +-0x1.37e812p+1 +-0x1.5a43d4p+2 +-0x1.314f14p+1 +0x1.064054p+3 +0x1.0d2922p+1 +-0x1.a6260cp+3 +0x1.c090bep+1 +0x1.8c59ccp+3 +-0x1.797c7ep+3 +-0x1.495fp+1 +-0x1.eff092p+4 +-0x1.7ace46p+0 +0x1.5e5746p-1 +0x1.99a996p+2 +-0x1.64f4d4p+1 +0x1.5b2ceap+0 +-0x1.afae6cp-2 +0x1.16f3a2p+6 +0x1.76212ep+0 +0x1.1e35aap+1 +-0x1.2d2b34p+1 +-0x1.74477ap+1 +-0x1.da68dap+2 +-0x1.c28a74p+3 +-0x1.cf021p+3 +-0x1.7275fap+1 +-0x1.83d0b8p+2 +0x1.22e358p+0 +0x1.1d1dbcp+2 +0x1.b4bc74p+2 +0x1.686b4cp+3 +0x1.fbb52ap+3 +-0x1.cc7f9cp+1 +0x1.b6b478p+2 +0x1.0ebfbap+2 +-0x1.e6ace2p-1 +-0x1.d10448p+2 +-0x1.e195p-4 +-0x1.70f296p+4 +0x1.f83b5cp+2 +0x1.281cb6p+3 +-0x1.ff1218p+0 +0x1.3b7244p+2 +0x1.7faa66p+2 +-0x1.a4da56p+3 +0x1.372832p+1 +-0x1.ae3964p+2 +-0x1.ddcde6p+0 +-0x1.0670b4p+0 +0x1.fb5fecp+0 +0x1.a307fcp+1 +-0x1.404de2p+3 +0x1.144152p+3 +-0x1.f5874p+0 +-0x1.c07b0ep+0 +0x1.404e72p+1 +0x1.870ep+3 +-0x1.e37d0ep+2 +-0x1.4b5ae6p+2 +0x1.702676p+3 +-0x1.c9f3e6p+0 +-0x1.18feeep+3 +-0x1.372954p+3 +-0x1.63ed3cp+3 +0x1.ecf126p+0 +-0x1.1064e6p+4 +-0x1.a27bdep+2 +-0x1.37ed4cp+0 +0x1.024736p+2 +-0x1.0a299ep+1 +-0x1.36aa08p-1 +-0x1.7caf6ep+0 +0x1.52875p+1 +0x1.708586p+1 +0x1.b8151ap+2 +0x1.960ca4p-1 +-0x1.9247d4p+3 +-0x1.0532f8p+2 +-0x1.0ed32p+3 +0x1.618874p+2 +-0x1.0c141p+1 +0x1.375f6ep+0 +-0x1.385562p+0 +0x1.d85a86p+2 +-0x1.aa07ep-4 +0x1.5f9874p+2 +0x1.b10edp+2 +0x1.22a604p+2 +-0x1.611f38p+2 +-0x1.0d5822p+1 +-0x1.78931ep+1 +0x1.42a0ccp+3 +0x1.0cdd8ep+2 +0x1.583e82p+2 +-0x1.8dddfep-2 +-0x1.279f4ap+0 +-0x1.1c8f3ap+0 +0x1.f827ap+2 +0x1.7eb058p+3 +0x1.a0f708p+2 +0x1.10a96p+1 +0x1.05827p+2 +0x1.8a113cp+3 +-0x1.3089f2p+4 +0x1.4d41a4p+1 +0x1.b14674p+2 +-0x1.d7c6f6p+1 +0x1.66b6bp+2 +-0x1.7d4c86p+1 +0x1.fcdc6cp+0 +-0x1.9741acp+2 +-0x1.ab1004p+1 +0x1.b1a5e6p+2 +0x1.b3389ap+2 +0x1.3db378p+1 +-0x1.93fbc2p+1 +0x1.61b404p+2 +-0x1.859fc8p-2 +0x1.88abc4p+2 +-0x1.bc3e98p+3 +0x1.aaa84p+1 +-0x1.a8e664p-2 +0x1.9efa88p+2 +-0x1.234ae4p+3 +-0x1.0721d8p+0 +-0x1.220a96p+1 +0x1.be0bbp+2 +0x1.45caa8p+2 +0x1.525a58p+1 +-0x1.2a1b7cp+4 +0x1.14c838p+5 +0x1.567fa2p+2 +0x1.0fc5cp+2 +0x1.d38e3p+3 +-0x1.dff842p+1 +-0x1.343e0cp-4 +-0x1.0461c2p+2 +-0x1.c31b2cp+2 +0x1.8ed034p+3 +-0x1.047d64p+3 +0x1.e92acap+2 +-0x1.31b566p+4 +0x1.1cc31cp+0 +0x1.653508p+3 +-0x1.0ca9fap+3 +0x1.0d07c8p-1 +0x1.4bfdf4p+2 +0x1.7ab962p+3 +-0x1.422954p+1 +0x1.0473c8p-1 +-0x1.4ec552p+1 +-0x1.489c9cp-1 +-0x1.8605a8p+2 +0x1.0b9704p+0 +0x1.af4e5ep+3 +-0x1.704884p+2 +0x1.0d834ep+3 +0x1.1a3fd4p+2 +-0x1.c9acb4p+3 +0x1.2cd38p+1 +-0x1.13feecp+3 +-0x1.44a39ep+3 +-0x1.43dc5p+1 +-0x1.95c022p+2 +-0x1.e9d0bcp+2 +0x1.1d5c8p+2 +0x1.2cf2ccp+3 +-0x1.5b046ap+3 +0x1.c4399ep+2 +-0x1.a99eb6p+3 +-0x1.013d9ep+2 +-0x1.8c4bdcp+3 +-0x1.96e438p+3 +-0x1.3793p-1 +0x1.78aaccp+2 +0x1.ffaddep+2 +0x1.16e606p+3 +0x1.13f31ap+0 +-0x1.b1a47p+2 +-0x1.d63586p+2 +-0x1.387aa4p+3 +-0x1.7083d8p+2 +0x1.37444ep+1 +0x1.1735bp+4 +0x1.a58f28p-1 +0x1.684edap+1 +-0x1.1faa74p+2 +0x1.35badcp+2 +0x1.fe7408p+3 +-0x1.9bb874p+0 +-0x1.2d1e06p+3 +-0x1.8035cep-1 +-0x1.36a9eap+3 +-0x1.9b108p+0 +-0x1.85e022p-3 +-0x1.5f96ep+4 +0x1.4b81b4p+3 +-0x1.27f868p+3 +-0x1.e34f4p+2 +0x1.3ff198p+1 +-0x1.acfc1p+1 +0x1.563f3ep+2 +-0x1.32c9dcp+4 +-0x1.fb8abcp-2 +0x1.a9cb82p+1 +0x1.66683ep+3 +-0x1.dcf29ep+3 +0x1.382948p+4 +0x1.41b464p+3 +-0x1.6b4318p+3 +0x1.0e5ad8p+2 +0x1.82de4ap+1 +0x1.12126ap+4 +-0x1.588a6p+3 +-0x1.56bb14p+1 +-0x1.c2d0fep+3 +0x1.c91e8cp-4 +-0x1.f9b58ep-1 +-0x1.01b178p+1 +0x1.30f176p+1 +0x1.96488ap+1 +0x1.9ee15p-1 +0x1.2b7cd8p+2 +0x1.335e7p+3 +0x1.32db26p+2 +0x1.49e462p+2 +0x1.809e28p+3 +0x1.b281cap+1 +-0x1.ef3af6p+2 +-0x1.92b6e6p+3 +0x1.230078p+0 +-0x1.981004p-1 +-0x1.96ce7ep+2 +0x1.c37f9ap+1 +-0x1.96930cp+2 +0x1.a434fcp+1 +-0x1.7b13e4p+2 +0x1.b66e3ap+0 +-0x1.3157d8p+3 +0x1.027d88p+1 +-0x1.acd3e4p+3 +-0x1.74a3dep-2 +-0x1.23d8ap+3 +-0x1.3e11a8p+1 +0x1.2ae06cp+3 +0x1.8236fcp-3 +0x1.90815ep+3 +-0x1.a8db4p+0 +-0x1.297586p+3 +-0x1.952cb4p+3 +-0x1.a20518p+2 +-0x1.cf28a6p+2 +0x1.931bfp+2 +0x1.f9dbecp+0 +-0x1.9ce85ep+1 +-0x1.4292c2p+3 +-0x1.2b7d1cp+2 +-0x1.8d139p+2 +0x1.e9278cp+2 +0x1.942544p+3 +-0x1.1df8cep+3 +-0x1.31cep-1 +0x1.a7065ep+3 +0x1.b70b1cp+3 +0x1.930bc4p+2 +-0x1.2f167ep+3 +-0x1.5f5572p+2 +-0x1.01fae4p+0 +0x1.b78b4p+2 +0x1.d7a04ep+2 +0x1.f2be0ap+0 +0x1.4a4c52p+2 +0x1.0b3c1ap+0 +-0x1.8c5f16p+2 +0x1.3b31b4p+3 +-0x1.61f20ep+3 +-0x1.b3557p+3 +-0x1.3da99ep+2 +0x1.f9e9b2p+3 +-0x1.e29a44p+2 +-0x1.cb80f8p+1 +0x1.d75302p-3 +-0x1.5e774ap+1 +-0x1.b078ap+2 +0x1.7df532p+3 +-0x1.20e83ap+3 +-0x1.2ece3cp+2 +-0x1.b8dcfap-1 +-0x1.a820eap+2 +0x1.7b9754p+2 +0x1.ee43e2p-1 +0x1.27c0dep+1 +-0x1.6a6fdep-1 +-0x1.cfc8ecp+1 +0x1.d43564p+3 +0x1.19aee6p+4 +0x1.cb4172p-1 +0x1.a2bc9ep+0 +-0x1.153a5p+3 +-0x1.e32cd2p+2 +0x1.cd1044p-1 +0x1.0fb76cp+1 +0x1.4bfd4ap+3 +0x1.806536p+2 +0x1.9579f6p+2 +0x1.3649p+1 +0x1.a0c47ap-5 +-0x1.09803p+2 +0x1.84fb0ep+2 +-0x1.855462p+3 +0x1.159624p+4 +-0x1.8df534p+1 +0x1.8cd25p+1 +-0x1.e7ad74p+3 +0x1.e6229ep-2 +0x1.bccca2p+1 +-0x1.8e288ep+2 +0x1.c2aa6p+0 +0x1.ff0a0cp+2 +-0x1.ddb1ecp+1 +-0x1.3e5476p+3 +0x1.858158p+3 +0x1.d178dcp+2 +0x1.9197fp+2 +0x1.f12d86p+2 +0x1.0ee4fap+3 +-0x1.0bec12p+3 +-0x1.c3b202p+1 +-0x1.40665ap+3 +0x1.5ca698p+2 +0x1.0886c6p+3 +-0x1.6ce43ep+3 +0x1.0d0446p+3 +-0x1.3cdd42p+3 +-0x1.98ab96p+0 +0x1.67118cp+1 +-0x1.6381dp+1 +0x1.a6ecb4p+2 +-0x1.9515b6p+3 +-0x1.3a8022p+2 +0x1.46c216p+3 +0x1.e89f14p+1 +-0x1.0b75a8p-1 +0x1.4109f4p+3 +-0x1.af1c12p+2 +-0x1.3296b6p+5 +-0x1.61350cp+3 +-0x1.9f848p+1 +0x1.77981ep+0 +-0x1.f701b8p+0 +0x1.ab815cp+3 +-0x1.cf59eap+2 +0x1.8ee6dcp+1 +0x1.8ec04cp+2 +0x1.bbf638p+2 +-0x1.a3fa38p+1 +-0x1.1af036p+1 +0x1.22f5cep+2 +-0x1.46a49ap+3 +-0x1.5d4fdcp+3 +-0x1.f72d2ap+2 +-0x1.8bcbb2p-6 +0x1.b6ac6ap+1 +-0x1.76022p+1 +-0x1.317764p+3 +0x1.1f9cb2p+3 +0x1.9e1294p+3 +-0x1.e7d7d2p+2 +-0x1.cd40aap+4 +0x1.a6ffb6p-3 +0x1.e6a5d2p-5 +-0x1.69a5bp-1 +0x1.114648p+3 +-0x1.9f7bb4p+3 +-0x1.239f28p+3 +0x1.21c244p+2 +0x1.63aca6p+2 +0x1.1981bcp+1 +0x1.ae3274p+2 +-0x1.acc7c2p+2 +0x1.354474p+3 +-0x1.01b9acp+2 +0x1.59db0ep+2 +0x1.1a8914p+4 +-0x1.5dab9ap+0 +-0x1.7abbe4p+0 +-0x1.78badp+2 +-0x1.7e72eep+2 +-0x1.90f286p+2 +0x1.c205ap+2 +0x1.d47afp+2 +0x1.adbf8cp+3 +0x1.50e478p+4 +-0x1.4bf36p+2 +-0x1.0d0d08p+2 +-0x1.19084ap+3 +-0x1.dc5e8ap+2 +0x1.b348e6p+5 +-0x1.159846p+2 +-0x1.53bf26p+2 +0x1.602114p+3 +0x1.1f2ccap+3 +0x1.82373ep+1 +0x1.13fep+1 +-0x1.fbd49ep+3 +-0x1.75a7e4p+2 +0x1.7dbef6p+3 +0x1.2e9564p+3 +-0x1.0a1952p+3 +0x1.d5409cp+2 +-0x1.093fe4p+2 +0x1.1e6686p+4 +0x1.b31e98p+3 +-0x1.0cbcf4p+3 +-0x1.813d0ep+0 +-0x1.30607p-2 +-0x1.4b5342p+3 +0x1.603252p+2 +-0x1.c601e6p+3 +-0x1.cd608ap+1 +-0x1.fa09ccp+2 +-0x1.797292p+3 +-0x1.9df3ecp+4 +-0x1.57cd52p+1 +0x1.b71ae6p+3 +-0x1.96ec48p+2 +0x1.0e0092p-1 +-0x1.042ca6p+3 +0x1.8a318cp+1 +-0x1.6a9bdap+1 +0x1.c52fbp+1 +-0x1.376f82p+3 +0x1.0698fap+2 +-0x1.1f6c54p+2 +-0x1.8094b4p+3 +0x1.4bf162p+1 +0x1.f19582p+3 +-0x1.1f0c82p+4 +0x1.6d0a9ep+1 +-0x1.b4f5ecp+3 +0x1.94ea4ap-2 +-0x1.dd3e7cp+2 +0x1.00c328p+2 +-0x1.06b808p+0 +0x1.5e68c2p+3 +0x1.b57a62p+2 +0x1.dbb778p+1 +0x1.f8599ep+2 +0x1.a8ce9ap+1 +-0x1.1178ccp+3 +-0x1.16b262p+2 +0x1.4cb31ap+0 +-0x1.2b698cp+2 +-0x1.46452ap+3 +-0x1.9ead8p+0 +-0x1.7f25d2p+2 +-0x1.3ecb54p+1 +-0x1.42bd8cp+2 +-0x1.e64afp+3 +-0x1.8df506p-3 +-0x1.7fa6f8p+1 +0x1.f192dcp+2 +0x1.a23234p+3 +0x1.529f9ep-1 +-0x1.25c242p+3 +-0x1.264d34p+3 +-0x1.ab5a0ep+2 +0x1.27c7c8p+0 +0x1.be840ep+1 +0x1.abfd0ap+2 +0x1.73307cp-1 +0x1.e6228ep+1 +-0x1.c614bap+3 +0x1.910e2p+0 +0x1.cc4adcp+2 +-0x1.072822p+3 +0x1.6f2704p+3 +0x1.1ee3a2p+4 +0x1.9190d8p+1 +0x1.d120bep-3 +-0x1.1fe198p+3 +-0x1.52b1fp+3 +-0x1.ae7658p+1 +-0x1.f114fp+3 +0x1.2db694p+2 +0x1.c01758p+0 +0x1.5ada5ep+2 +-0x1.97d9cap+3 +-0x1.3aa6e6p+1 +0x1.a119ap-1 +0x1.7ea524p+2 +0x1.4d23p+3 +-0x1.229a22p+3 +-0x1.15d246p+3 +-0x1.14ca8p-2 +-0x1.d28014p+3 +0x1.97ed02p+1 +0x1.2295dap+3 +0x1.03ef26p+2 +0x1.a8e6fep+1 +0x1.386d9ap+0 +-0x1.f6ca0cp+0 +-0x1.45c58p+0 +-0x1.c3de1ep-2 +0x1.e727dap+1 +0x1.abe67p+1 +-0x1.8fa346p+3 +-0x1.70b346p+1 +-0x1.1d62cp+4 +0x1.83eafap+0 +-0x1.2baea6p+1 +0x1.c74a0cp+1 +0x1.5ab764p+3 +-0x1.8b71bp+1 +0x1.e5599ap-1 +-0x1.d5ea34p+3 +0x1.281956p+3 +-0x1.4ae92ep-2 +-0x1.b1635cp+0 +-0x1.15c314p-3 +-0x1.c518dcp+2 +-0x1.73992ap+0 +0x1.a6465ap+3 +0x1.6618c4p-5 +0x1.01d2e8p+3 +0x1.4919b4p+2 +-0x1.87c72p+0 +0x1.7e7a2p-8 +0x1.8e16c2p+2 +0x1.e0c19cp+1 +0x1.6efdb6p+1 +0x1.77a86cp+3 +-0x1.9a52b4p+1 +0x1.2decd2p+3 +0x1.efa19ap+0 +-0x1.f7faecp-1 +-0x1.125dbep+2 +-0x1.aa25dap+1 +-0x1.0509b6p+3 +-0x1.0e841ep+4 +0x1.14f30ap-4 +0x1.8371f6p+3 +-0x1.a6997cp+2 +0x1.d0be9ap-1 +0x1.7a187p+2 +0x1.5c3bdp+3 +0x1.a8caecp+3 +0x1.4fabbp+0 +0x1.52e96p+3 +0x1.6ef878p+1 +0x1.e6a8c2p+2 +-0x1.153cd8p+2 +0x1.7465e2p+3 +0x1.19c6a2p+2 +-0x1.9a2ecap+4 +0x1.72168ep+1 +-0x1.fad952p+1 +-0x1.d3401ap+1 +0x1.1d3854p+2 +0x1.5c0a66p+3 +-0x1.8183e6p+0 +0x1.e1e5eep+0 +-0x1.2c7666p+4 +0x1.31e48ep+4 +-0x1.5b84d8p+2 +0x1.ac7e36p+2 +0x1.171c6cp+2 +0x1.b38194p-5 +-0x1.9c0b56p+2 +-0x1.16cd88p+2 +-0x1.5a04d8p+3 +-0x1.0cc51ep+4 +-0x1.d5ed58p+2 +-0x1.056de2p+3 +-0x1.e09562p+1 +0x1.0f0196p+2 +0x1.7fa3f6p+2 +0x1.fac5bp+1 +-0x1.f77ae6p+3 +-0x1.6f44f4p+1 +-0x1.9d4e52p+3 +0x1.6c0cf6p+4 +-0x1.58acb6p+1 +-0x1.87063ap+2 +0x1.b94356p+2 +0x1.8637e6p+2 +-0x1.440ac8p+2 +0x1.73216ap+0 +-0x1.bf9b0ep+2 +0x1.657f4cp+0 +-0x1.8f9cb6p+3 +0x1.1399d8p+3 +0x1.a28952p+1 +-0x1.23308ep+3 +-0x1.4c282ap+0 +-0x1.d9f856p+2 +0x1.bf6c9p+3 +-0x1.87bd2p+1 +-0x1.3c91fp+3 +0x1.472382p+2 +0x1.92499ap+3 +0x1.23e2c4p+2 +-0x1.8c8dbap+0 +-0x1.03af7ap+4 +-0x1.57e604p+1 +0x1.489f06p+3 +0x1.a3378ep+2 +0x1.127a2p+3 +-0x1.0412acp+3 +-0x1.c1fab6p+0 +-0x1.534a36p+3 +-0x1.227eeap+2 +-0x1.60bafap+3 +-0x1.6c1b4cp+2 +-0x1.e55c3p+2 +0x1.0136a2p-1 +-0x1.0ffdf8p+2 +-0x1.c6576p+2 +-0x1.b2896ep-2 +0x1.574f6ap+0 +0x1.324236p+3 +-0x1.a32442p+1 +0x1.9a389ap+3 +-0x1.1171cap+3 +0x1.0f7b1ep+2 +-0x1.6c053ep+2 +-0x1.9b99b6p+1 +0x1.b2a6d8p+3 +0x1.1f2bd6p+1 +-0x1.f0ccccp+2 +-0x1.1733p+2 +-0x1.6b2756p+2 +-0x1.187854p+3 +0x1.a7991ap+1 +0x1.857358p+2 +-0x1.0cfed6p-2 +-0x1.4de6ecp+2 +0x1.51a062p+2 +0x1.150624p+0 +-0x1.5cfe06p+3 +0x1.79170cp+0 +0x1.03e7acp+3 +-0x1.189198p+2 +0x1.b4c6bep+0 +-0x1.9184c8p+2 +-0x1.896958p+2 +0x1.5be384p+4 +-0x1.0a5d4ep+3 +0x1.9a2808p-1 +-0x1.52f6fcp+2 +0x1.3c8b1ep+1 +0x1.2ea336p+0 +0x1.e53f12p+3 +0x1.957874p+3 +-0x1.2e50c6p+2 +0x1.f60822p+1 +0x1.b8e3e6p+2 +0x1.288f64p+3 +0x1.3ab57ap+2 +0x1.00560ep+3 +-0x1.018fdap+1 +-0x1.1663e6p-2 +-0x1.b38c7ap+1 +-0x1.56593cp+1 +-0x1.658a9ap+3 +-0x1.2b21f8p-3 +-0x1.72fcdcp+3 +-0x1.d97294p+1 +-0x1.c49a1ep+1 +-0x1.d7b8ap+5 +-0x1.2f653ap+3 +-0x1.e1be1ep+1 +-0x1.6f8874p+1 +-0x1.abfdaap+4 +0x1.082ca6p-1 +-0x1.a2bbbep+1 +-0x1.56d822p+2 +-0x1.0dbebap+2 +-0x1.b94eb6p+2 +-0x1.a9bf86p+0 +-0x1.085582p+1 +0x1.022d02p+0 +0x1.3063e8p+4 +0x1.eab3b2p+3 +0x1.e5f194p+2 +0x1.1a017ap+4 +0x1.e69e94p+0 +0x1.545416p+2 +-0x1.b5e41p+2 +-0x1.68c7d2p+0 +0x1.7ffc78p-1 +0x1.a668c8p+3 +0x1.0b28f2p+5 +0x1.433504p+3 +0x1.685124p+4 +0x1.4745e4p+2 +-0x1.695746p+1 +-0x1.c3d85cp+3 +0x1.2ca546p+3 +-0x1.5e28cep+1 +-0x1.92bfbap+2 +0x1.97f2a6p+1 +0x1.282c0ep+2 +0x1.2e83fp-4 +-0x1.e1a488p-1 +-0x1.95bdb2p+0 +0x1.6600fep+3 +0x1.2e1d9cp-1 +-0x1.70e9eap+0 +-0x1.d20f1ap+2 +-0x1.c22c62p+1 +0x1.5ede8cp+1 +-0x1.ddccc6p+1 +-0x1.37b3b2p+2 +0x1.293dccp+2 +0x1.a0908ap+2 +-0x1.19e172p+2 +-0x1.1587ap+3 +0x1.04d7bep+3 +0x1.a9bfdp+0 +0x1.7ffbdp+2 +-0x1.604336p+1 +0x1.a66694p+1 +0x1.0ac26cp+0 +-0x1.2f2bf4p+3 +0x1.9ebbb2p-4 +0x1.44e9dp+3 +-0x1.e43e3p+3 +-0x1.28e92p+2 +-0x1.7353a4p+2 +-0x1.10a858p+3 +0x1.32f94cp-2 +0x1.f9f834p-1 +0x1.975716p+1 +0x1.1d7c02p+3 +-0x1.ba8388p+0 +-0x1.5d11dp+2 +-0x1.2747dap+1 +0x1.7f675ep+3 +-0x1.25e7bep+4 +0x1.2ab506p+2 +-0x1.b5d0f4p+0 +-0x1.6c1508p+0 +-0x1.cee6ecp+1 +0x1.07e3d6p+4 +-0x1.c45816p+3 +-0x1.6cd8c4p+0 +0x1.ab0d78p+1 +0x1.b383e6p+2 +0x1.5da5ecp+2 +-0x1.ae0576p+2 +0x1.4f48d4p+2 +-0x1.880168p+0 +-0x1.87add8p+3 +-0x1.14db9ap+2 +0x1.47c03p+1 +-0x1.2b0216p+3 +-0x1.7bfb0cp-2 +-0x1.0c23e6p+3 +-0x1.15774ap+2 +-0x1.7ac434p+0 +0x1.c550fcp+3 +0x1.83d7cep+3 +0x1.0175d4p+4 +-0x1.2212fap+0 +0x1.217f3ep+3 +-0x1.cd855cp+1 +0x1.ccea5ap+1 +0x1.558402p+2 +-0x1.8ab1c2p+3 +-0x1.809848p+0 +-0x1.2a10dcp+4 +0x1.305104p+4 +0x1.eff682p+2 +-0x1.5afb16p+3 +0x1.1e33cp+3 +-0x1.4a7b9ap+2 +0x1.2a89dep+1 +-0x1.1674f4p+3 +-0x1.2284f2p-3 +-0x1.cf1ddap+1 +0x1.b3a79p+2 +0x1.468334p+1 +0x1.190e34p+2 +0x1.2509ecp+0 +0x1.7a11f6p+2 +-0x1.ce345cp-3 +-0x1.203b3cp+3 +-0x1.8d4454p+2 +0x1.963b6ep+2 +-0x1.e1bdc6p+2 +0x1.4d96d8p+3 +-0x1.b92d8p+1 +0x1.e2caa2p+2 +0x1.f8baf2p-1 +-0x1.02dc14p+4 +-0x1.6475eap+1 +0x1.65488ep+4 +0x1.5e37aap+2 +-0x1.26edecp+5 +-0x1.19840ap+3 +0x1.1959ep+2 +0x1.52bed4p+3 +0x1.2f675p+2 +0x1.eee934p+1 +0x1.203d42p+0 +0x1.90b58ep+3 +-0x1.37057ap+2 +-0x1.b2a806p+3 +0x1.e67ccep+3 +-0x1.3c67a4p+3 +-0x1.bfe3aap+2 +0x1.35cebcp+3 +0x1.0422ccp+3 +-0x1.60be74p+2 +0x1.035cecp+2 +0x1.7f99fcp+1 +-0x1.6f9c5ep+3 +-0x1.845438p+3 +-0x1.127e6ep+1 +0x1.4cfddep+3 +-0x1.1d4bd6p+3 +0x1.6a88e8p+2 +0x1.1f1852p+1 +-0x1.3b15fp+0 +0x1.46e71ep-3 +-0x1.6a5fc4p-2 +-0x1.80a282p+2 +0x1.a0cd34p+5 +-0x1.1f50c4p+2 +0x1.d420b2p+0 +-0x1.00fbc2p+0 +0x1.7df5acp+2 +0x1.6eb4e8p+0 +-0x1.1194fep+3 +0x1.13a326p+2 +0x1.e7069cp+3 +-0x1.89a242p+2 +-0x1.107502p+3 +-0x1.fb0a94p+2 +-0x1.f37b9ep+3 +-0x1.55cp+3 +0x1.12ed7ap+1 +0x1.cd24b4p+1 +0x1.17089p+3 +0x1.90a1fcp+2 +0x1.88f71ap+1 +-0x1.0e428ap-1 +-0x1.9a536ep+1 +-0x1.f8c908p+2 +0x1.40c9a2p-3 +0x1.bb0f58p+3 +0x1.4f096cp+3 +-0x1.8639acp+0 +-0x1.ddc002p-4 +0x1.15ea76p+3 +-0x1.a43148p+3 +0x1.3085c6p+4 +-0x1.3a122cp+2 +-0x1.8466c8p+2 +-0x1.07a3a2p+2 +-0x1.64907p+3 +-0x1.b6cfc8p+1 +0x1.a9f23ep+2 +0x1.8f8862p+2 +-0x1.0520dap+2 +-0x1.fd38e4p+2 +0x1.076626p+4 +-0x1.a17682p+3 +-0x1.a33f22p+4 +-0x1.8824d2p+3 +0x1.100b8ep+0 +-0x1.8303ap+3 +-0x1.32ae3cp+0 +0x1.20cb3cp+3 +0x1.b455d2p+1 +0x1.321f6ap+2 +-0x1.d72368p+3 +-0x1.1cc7ccp+5 +-0x1.e802acp+2 +-0x1.283a26p+1 +-0x1.4683fcp+0 +-0x1.097924p+3 +0x1.6fae44p-1 +-0x1.66857cp-4 +-0x1.1808dp+3 +-0x1.88bbc4p+2 +-0x1.22e884p+0 +0x1.ce560cp-3 +0x1.fe4936p+1 +-0x1.e70f7ap+2 +-0x1.a22572p+3 +0x1.93bb64p+2 +-0x1.26ee7ep+3 +-0x1.86e8ap+3 +0x1.324cacp+3 +0x1.1e2ab2p+2 +-0x1.23a576p+2 +-0x1.24f144p+2 +-0x1.4b31f8p+0 +0x1.16c554p+2 From patchwork Wed Nov 24 19:37:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48098 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 856AA3857C6A for ; Wed, 24 Nov 2021 20:19:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 856AA3857C6A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785156; bh=xJ7hDRPetIrqscqDLi+8pz5gJFEulLZ5mPQCOztmzfY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=a3JARTGg3feiYlQmbZh8xanFp1Gdp6YWwKMPrSJj1fLpClCo2u5IVL2WAWLFpiOHI rAP3/lu0OKth0EiiSohVLPOzwfMTAWiEhjh3edP5/f5vpeRXJCgjzBPZw26RUPLGjC Izvl5EfdQqgMi5vCsC25IIEDDOgzFqVJHFNj04yw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id E7698385781E for ; Wed, 24 Nov 2021 19:38:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E7698385781E X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235599459" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235599459" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="509564584" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga007.fm.intel.com with ESMTP; 24 Nov 2021 11:38:13 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XE021555; Wed, 24 Nov 2021 11:38:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 27/42] x86-64: Add vector expm1/expm1f implementation to libmvec Date: Wed, 24 Nov 2021 11:37:52 -0800 Message-Id: <20211124193807.2093208-28-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized expm1/expm1f containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector expm1/expm1f with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_expm12_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_expm12_core.c | 27 + .../fpu/multiarch/svml_d_expm12_core_sse4.S | 1990 +++++++++++++++++ .../fpu/multiarch/svml_d_expm14_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_expm14_core.c | 27 + .../fpu/multiarch/svml_d_expm14_core_avx2.S | 1824 +++++++++++++++ .../fpu/multiarch/svml_d_expm18_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_expm18_core.c | 27 + .../fpu/multiarch/svml_d_expm18_core_avx512.S | 1037 +++++++++ .../fpu/multiarch/svml_s_expm1f16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_expm1f16_core.c | 28 + .../multiarch/svml_s_expm1f16_core_avx512.S | 569 +++++ .../fpu/multiarch/svml_s_expm1f4_core-sse2.S | 20 + .../fpu/multiarch/svml_s_expm1f4_core.c | 28 + .../fpu/multiarch/svml_s_expm1f4_core_sse4.S | 1315 +++++++++++ .../fpu/multiarch/svml_s_expm1f8_core-sse.S | 20 + .../fpu/multiarch/svml_s_expm1f8_core.c | 28 + .../fpu/multiarch/svml_s_expm1f8_core_avx2.S | 1143 ++++++++++ sysdeps/x86_64/fpu/svml_d_expm12_core.S | 29 + sysdeps/x86_64/fpu/svml_d_expm14_core.S | 29 + sysdeps/x86_64/fpu/svml_d_expm14_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_expm18_core.S | 25 + sysdeps/x86_64/fpu/svml_s_expm1f16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_expm1f4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_expm1f8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_expm1f8_core_avx.S | 25 + .../fpu/test-double-libmvec-expm1-avx.c | 1 + .../fpu/test-double-libmvec-expm1-avx2.c | 1 + .../fpu/test-double-libmvec-expm1-avx512f.c | 1 + .../x86_64/fpu/test-double-libmvec-expm1.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../fpu/test-float-libmvec-expm1f-avx.c | 1 + .../fpu/test-float-libmvec-expm1f-avx2.c | 1 + .../fpu/test-float-libmvec-expm1f-avx512f.c | 1 + .../x86_64/fpu/test-float-libmvec-expm1f.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 8446 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_expm12_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_expm14_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_expm14_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_expm18_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_expm1f16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_expm1f4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_expm1f8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_expm1f8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-expm1.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-expm1f.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index e40dbe2604..683eb5569e 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -241,4 +241,15 @@ #define __DECL_SIMD_exp2f32x #define __DECL_SIMD_exp2f64x #define __DECL_SIMD_exp2f128x + +#define __DECL_SIMD_expm1 +#define __DECL_SIMD_expm1f +#define __DECL_SIMD_expm1l +#define __DECL_SIMD_expm1f16 +#define __DECL_SIMD_expm1f32 +#define __DECL_SIMD_expm1f64 +#define __DECL_SIMD_expm1f128 +#define __DECL_SIMD_expm1f32x +#define __DECL_SIMD_expm1f64x +#define __DECL_SIMD_expm1f128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 19873c4d07..345f1f3704 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -116,7 +116,7 @@ __MATHCALL_VEC (exp10,, (_Mdouble_ __x)); #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 /* Return exp(X) - 1. */ -__MATHCALL (expm1,, (_Mdouble_ __x)); +__MATHCALL_VEC (expm1,, (_Mdouble_ __x)); /* Return log(1 + X). */ __MATHCALL (log1p,, (_Mdouble_ __x)); diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 85c2ebe3f3..119985e65e 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -58,6 +58,7 @@ GLIBC_2.35 _ZGVbN2v_erf F GLIBC_2.35 _ZGVbN2v_erfc F GLIBC_2.35 _ZGVbN2v_exp10 F GLIBC_2.35 _ZGVbN2v_exp2 F +GLIBC_2.35 _ZGVbN2v_expm1 F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F @@ -71,6 +72,7 @@ GLIBC_2.35 _ZGVbN4v_erfcf F GLIBC_2.35 _ZGVbN4v_erff F GLIBC_2.35 _ZGVbN4v_exp10f F GLIBC_2.35 _ZGVbN4v_exp2f F +GLIBC_2.35 _ZGVbN4v_expm1f F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F @@ -84,6 +86,7 @@ GLIBC_2.35 _ZGVcN4v_erf F GLIBC_2.35 _ZGVcN4v_erfc F GLIBC_2.35 _ZGVcN4v_exp10 F GLIBC_2.35 _ZGVcN4v_exp2 F +GLIBC_2.35 _ZGVcN4v_expm1 F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F @@ -97,6 +100,7 @@ GLIBC_2.35 _ZGVcN8v_erfcf F GLIBC_2.35 _ZGVcN8v_erff F GLIBC_2.35 _ZGVcN8v_exp10f F GLIBC_2.35 _ZGVcN8v_exp2f F +GLIBC_2.35 _ZGVcN8v_expm1f F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F @@ -110,6 +114,7 @@ GLIBC_2.35 _ZGVdN4v_erf F GLIBC_2.35 _ZGVdN4v_erfc F GLIBC_2.35 _ZGVdN4v_exp10 F GLIBC_2.35 _ZGVdN4v_exp2 F +GLIBC_2.35 _ZGVdN4v_expm1 F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F @@ -123,6 +128,7 @@ GLIBC_2.35 _ZGVdN8v_erfcf F GLIBC_2.35 _ZGVdN8v_erff F GLIBC_2.35 _ZGVdN8v_exp10f F GLIBC_2.35 _ZGVdN8v_exp2f F +GLIBC_2.35 _ZGVdN8v_expm1f F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F @@ -136,6 +142,7 @@ GLIBC_2.35 _ZGVeN16v_erfcf F GLIBC_2.35 _ZGVeN16v_erff F GLIBC_2.35 _ZGVeN16v_exp10f F GLIBC_2.35 _ZGVeN16v_exp2f F +GLIBC_2.35 _ZGVeN16v_expm1f F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F @@ -149,4 +156,5 @@ GLIBC_2.35 _ZGVeN8v_erf F GLIBC_2.35 _ZGVeN8v_erfc F GLIBC_2.35 _ZGVeN8v_exp10 F GLIBC_2.35 _ZGVeN8v_exp2 F +GLIBC_2.35 _ZGVeN8v_expm1 F GLIBC_2.35 _ZGVeN8vv_atan2 F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index fd1fde7a7a..f1e3b7e660 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -110,6 +110,10 @@ # define __DECL_SIMD_exp2 __DECL_SIMD_x86_64 # undef __DECL_SIMD_exp2f # define __DECL_SIMD_exp2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1 +# define __DECL_SIMD_expm1 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1f +# define __DECL_SIMD_expm1f __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 4dcd0c9d4c..a06c5480ad 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -37,6 +37,7 @@ libmvec-funcs = \ exp \ exp10 \ exp2 \ + expm1 \ log \ pow \ sin \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 055ad29b2c..74a881b0f6 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -26,6 +26,7 @@ libmvec { _ZGVbN2v_erfc; _ZGVcN4v_erfc; _ZGVdN4v_erfc; _ZGVeN8v_erfc; _ZGVbN2v_exp10; _ZGVcN4v_exp10; _ZGVdN4v_exp10; _ZGVeN8v_exp10; _ZGVbN2v_exp2; _ZGVcN4v_exp2; _ZGVdN4v_exp2; _ZGVeN8v_exp2; + _ZGVbN2v_expm1; _ZGVcN4v_expm1; _ZGVdN4v_expm1; _ZGVeN8v_expm1; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; @@ -39,6 +40,7 @@ libmvec { _ZGVbN4v_erff; _ZGVcN8v_erff; _ZGVdN8v_erff; _ZGVeN16v_erff; _ZGVbN4v_exp10f; _ZGVcN8v_exp10f; _ZGVdN8v_exp10f; _ZGVeN16v_exp10f; _ZGVbN4v_exp2f; _ZGVcN8v_exp2f; _ZGVdN8v_exp2f; _ZGVeN16v_exp2f; + _ZGVbN4v_expm1f; _ZGVcN8v_expm1f; _ZGVdN8v_expm1f; _ZGVeN16v_expm1f; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 0a0a2ab4fc..c338319b69 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1532,6 +1532,26 @@ float: 1 float128: 3 ldouble: 4 +Function: "expm1_vlen16": +float: 1 + +Function: "expm1_vlen2": +double: 1 + +Function: "expm1_vlen4": +double: 1 +float: 1 + +Function: "expm1_vlen4_avx2": +double: 1 + +Function: "expm1_vlen8": +double: 1 +float: 1 + +Function: "expm1_vlen8_avx2": +float: 1 + Function: "gamma": double: 4 float: 7 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core-sse2.S new file mode 100644 index 0000000000..e8cb6faaca --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized expm1, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_expm1 _ZGVbN2v_expm1_sse2 +#include "../svml_d_expm12_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core.c new file mode 100644 index 0000000000..9c794e932e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized expm1, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_expm1 +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_expm1, __GI__ZGVbN2v_expm1, __redirect__ZGVbN2v_expm1) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core_sse4.S new file mode 100644 index 0000000000..94d963675f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core_sse4.S @@ -0,0 +1,1990 @@ +/* Function expm vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * N = (int)(x*2^k/log(2.0)), R = x - N*log(2)/2^k + * exp(x) = 2^(N/2^k) * poly(R) is computed in high-low parts + * expm1(x) = exp(x)-1 is then obtained via multi-precision computation + * + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_expm1_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm5 + movups 2112+__svml_dexpm1_data_internal(%rip), %xmm0 + movaps %xmm5, %xmm4 + mulpd %xmm5, %xmm0 + movups .FLT_14(%rip), %xmm6 + lea __svml_dexpm1_data_internal(%rip), %r8 + addpd %xmm6, %xmm0 + subpd %xmm6, %xmm0 + +/* argument reduction */ + movups 2176+__svml_dexpm1_data_internal(%rip), %xmm7 + mulpd %xmm0, %xmm7 + movups 2240+__svml_dexpm1_data_internal(%rip), %xmm3 + mulpd %xmm0, %xmm3 + subpd %xmm7, %xmm4 + movups 2304+__svml_dexpm1_data_internal(%rip), %xmm2 + addpd %xmm0, %xmm2 + subpd %xmm3, %xmm4 + +/* table lookup */ + movdqu 2368+__svml_dexpm1_data_internal(%rip), %xmm0 + movups 2624+__svml_dexpm1_data_internal(%rip), %xmm3 + pand %xmm2, %xmm0 + movaps %xmm3, %xmm1 + andnps %xmm5, %xmm3 + movd %xmm0, %eax + andps %xmm5, %xmm1 + pshufd $2, %xmm0, %xmm6 + movups %xmm15, 144(%rsp) + cmpnlepd 2688+__svml_dexpm1_data_internal(%rip), %xmm1 + movd %xmm6, %ecx + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + +/* polynomial */ + movups 2048+__svml_dexpm1_data_internal(%rip), %xmm15 + movslq %eax, %rax + movslq %ecx, %rcx + mulpd %xmm4, %xmm15 + movmskpd %xmm1, %edx + movups (%r8,%rax), %xmm1 + movups (%r8,%rcx), %xmm7 + movaps %xmm1, %xmm0 + unpcklpd %xmm7, %xmm0 + unpckhpd %xmm7, %xmm1 + movaps %xmm4, %xmm7 + mulpd %xmm4, %xmm7 + addpd 2064+__svml_dexpm1_data_internal(%rip), %xmm15 + movups 2080+__svml_dexpm1_data_internal(%rip), %xmm6 + mulpd %xmm4, %xmm6 + mulpd %xmm7, %xmm15 + addpd 2096+__svml_dexpm1_data_internal(%rip), %xmm6 + pand 2432+__svml_dexpm1_data_internal(%rip), %xmm2 + psllq $41, %xmm2 + +/* Th1 = (Th-1) + Tl */ + mulpd %xmm2, %xmm1 + addpd %xmm15, %xmm6 + +/* T-1 */ + movups 2560+__svml_dexpm1_data_internal(%rip), %xmm15 + orps %xmm2, %xmm0 + addpd %xmm15, %xmm0 + mulpd %xmm6, %xmm7 + addpd %xmm1, %xmm0 + addpd %xmm7, %xmm4 + +/* T = Th+Tl */ + movaps %xmm0, %xmm2 + subpd %xmm15, %xmm2 + mulpd %xmm2, %xmm4 + addpd %xmm4, %xmm0 + orps %xmm3, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 144(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm5, 192(%rsp) + movups %xmm0, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 96(%rsp) + movups %xmm9, 80(%rsp) + movups %xmm10, 64(%rsp) + movups %xmm11, 48(%rsp) + movups %xmm12, 32(%rsp) + movups %xmm13, 16(%rsp) + movups %xmm14, (%rsp) + movq %rsi, 120(%rsp) + movq %rdi, 112(%rsp) + movq %r12, 136(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 128(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 96(%rsp), %xmm8 + cfi_restore(25) + movups 80(%rsp), %xmm9 + cfi_restore(26) + movups 64(%rsp), %xmm10 + cfi_restore(27) + movups 48(%rsp), %xmm11 + cfi_restore(28) + movups 32(%rsp), %xmm12 + cfi_restore(29) + movups 16(%rsp), %xmm13 + cfi_restore(30) + movups (%rsp), %xmm14 + cfi_restore(31) + movq 120(%rsp), %rsi + cfi_restore(4) + movq 112(%rsp), %rdi + cfi_restore(5) + movq 136(%rsp), %r12 + cfi_restore(12) + movq 128(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,8), %rdi + lea 256(%rsp,%r12,8), %rsi + call __svml_dexpm1_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_expm1_sse4) + + .align 16,0x90 + +__svml_dexpm1_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dexpm1_cout_rare_internal,@function + .size __svml_dexpm1_cout_rare_internal,.-__svml_dexpm1_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dexpm1_data_internal: + .long 0 + .long 0 + .long 0 + .long 0 + .long 2818572288 + .long 5693 + .long 1457015399 + .long 1044362035 + .long 1073741824 + .long 11418 + .long 4044949557 + .long 3191375865 + .long 3892314112 + .long 17173 + .long 794616807 + .long 1041997793 + .long 3489660928 + .long 22960 + .long 2715237930 + .long 1044950059 + .long 671088640 + .long 28779 + .long 3698181124 + .long 1044242285 + .long 402653184 + .long 34629 + .long 36755401 + .long 1042114290 + .long 3355443200 + .long 40510 + .long 438898435 + .long 1044789148 + .long 1879048192 + .long 46424 + .long 2230008375 + .long 3192402871 + .long 671088640 + .long 52370 + .long 3120814979 + .long 1045140031 + .long 805306368 + .long 58348 + .long 269498903 + .long 1044815501 + .long 2952790016 + .long 64358 + .long 3705630242 + .long 3182612048 + .long 3489660928 + .long 70401 + .long 2766913307 + .long 1039293264 + .long 3221225472 + .long 76477 + .long 4276399797 + .long 1041960050 + .long 2952790016 + .long 82586 + .long 80474087 + .long 3191172386 + .long 3355443200 + .long 88728 + .long 613423790 + .long 1042592202 + .long 1073741824 + .long 94904 + .long 689505308 + .long 3192657268 + .long 939524096 + .long 101113 + .long 930606615 + .long 1042387389 + .long 3892314112 + .long 107355 + .long 2850403528 + .long 1045134939 + .long 2281701376 + .long 113632 + .long 1663725767 + .long 3192904985 + .long 805306368 + .long 119943 + .long 2810207104 + .long 1043762074 + .long 536870912 + .long 126288 + .long 3854830848 + .long 1044899528 + .long 2281701376 + .long 132667 + .long 2397289153 + .long 1041802037 + .long 2415919104 + .long 139081 + .long 1649749971 + .long 1043848649 + .long 1879048192 + .long 145530 + .long 2039734354 + .long 3191384540 + .long 1342177280 + .long 152014 + .long 849302817 + .long 3188938352 + .long 1744830464 + .long 158533 + .long 383003846 + .long 3191925785 + .long 3758096384 + .long 165087 + .long 158134621 + .long 1044338232 + .long 4160749568 + .long 171677 + .long 4137603445 + .long 3192324360 + .long 3489660928 + .long 178303 + .long 4290499725 + .long 1043028785 + .long 2818572288 + .long 184965 + .long 1275031083 + .long 3190931407 + .long 2818572288 + .long 191663 + .long 1629266164 + .long 1043587829 + .long 134217728 + .long 198398 + .long 2842642093 + .long 1044483512 + .long 0 + .long 205169 + .long 1985360263 + .long 3192756542 + .long 2952790016 + .long 211976 + .long 4200916017 + .long 1044586679 + .long 1610612736 + .long 218821 + .long 3450763054 + .long 3189463043 + .long 939524096 + .long 225703 + .long 2870834528 + .long 3190336198 + .long 1879048192 + .long 232622 + .long 3553800616 + .long 3192377660 + .long 939524096 + .long 239579 + .long 1219436983 + .long 3192443648 + .long 3221225472 + .long 246573 + .long 606077177 + .long 1044946247 + .long 1342177280 + .long 253606 + .long 3998375791 + .long 3192876638 + .long 134217728 + .long 260677 + .long 586810495 + .long 3192560639 + .long 536870912 + .long 267786 + .long 2676240988 + .long 1044345570 + .long 3623878656 + .long 274933 + .long 1841759300 + .long 1043663497 + .long 1610612736 + .long 282120 + .long 1086643152 + .long 1041785419 + .long 4026531840 + .long 289345 + .long 1148024454 + .long 3192330237 + .long 3087007744 + .long 296610 + .long 2137125602 + .long 3191993881 + .long 4026531840 + .long 303914 + .long 3437605242 + .long 1043004027 + .long 3623878656 + .long 311258 + .long 3340100419 + .long 3192278702 + .long 2550136832 + .long 318642 + .long 3594204911 + .long 1044372944 + .long 2013265920 + .long 326066 + .long 2502738549 + .long 3191221557 + .long 2684354560 + .long 333530 + .long 235444137 + .long 1044806450 + .long 1476395008 + .long 341035 + .long 3792656324 + .long 3191220999 + .long 3355443200 + .long 348580 + .long 1982428721 + .long 1044573328 + .long 939524096 + .long 356167 + .long 1502688512 + .long 3191123330 + .long 3623878656 + .long 363794 + .long 383164906 + .long 3192603072 + .long 3758096384 + .long 371463 + .long 3040458367 + .long 3192241502 + .long 2281701376 + .long 379174 + .long 3087934862 + .long 1044564533 + .long 402653184 + .long 386927 + .long 3163234522 + .long 3192035061 + .long 3087007744 + .long 394721 + .long 2332520281 + .long 1043819968 + .long 2952790016 + .long 402558 + .long 1492679939 + .long 1041050306 + .long 939524096 + .long 410438 + .long 29656007 + .long 3192494567 + .long 2147483648 + .long 418360 + .long 612974287 + .long 1044556049 + .long 3623878656 + .long 426325 + .long 1740578119 + .long 3192756916 + .long 1744830464 + .long 434334 + .long 922176773 + .long 3191344195 + .long 2013265920 + .long 442386 + .long 143936179 + .long 3192365354 + .long 1073741824 + .long 450482 + .long 2288974058 + .long 3192706862 + .long 4160749568 + .long 458621 + .long 1022918171 + .long 1043667272 + .long 3892314112 + .long 466805 + .long 2074373662 + .long 1043172334 + .long 1207959552 + .long 475034 + .long 2007733066 + .long 1042591790 + .long 1476395008 + .long 483307 + .long 1946752598 + .long 3191593347 + .long 1342177280 + .long 491625 + .long 1328713708 + .long 3187724640 + .long 1879048192 + .long 499988 + .long 918464641 + .long 1045387276 + .long 0 + .long 508397 + .long 667194164 + .long 1043532819 + .long 939524096 + .long 516851 + .long 3740938196 + .long 3191016217 + .long 1476395008 + .long 525351 + .long 1917817036 + .long 3192786735 + .long 2550136832 + .long 533897 + .long 682424459 + .long 1043647713 + .long 1207959552 + .long 542490 + .long 857395348 + .long 3191718789 + .long 2550136832 + .long 551129 + .long 1678188781 + .long 1045046423 + .long 3623878656 + .long 559815 + .long 2523214013 + .long 1043900009 + .long 1073741824 + .long 568549 + .long 3671932459 + .long 1044468998 + .long 402653184 + .long 577330 + .long 1091392995 + .long 3191122871 + .long 2550136832 + .long 586158 + .long 1656324724 + .long 1043421043 + .long 134217728 + .long 595035 + .long 742731994 + .long 1045204990 + .long 2952790016 + .long 603959 + .long 2659845000 + .long 1042921660 + .long 3355443200 + .long 612932 + .long 2001576987 + .long 1045316240 + .long 2684354560 + .long 621954 + .long 976271096 + .long 3187726552 + .long 1879048192 + .long 631025 + .long 927342903 + .long 1042890999 + .long 2147483648 + .long 640145 + .long 2162418230 + .long 1044717444 + .long 402653184 + .long 649315 + .long 830622888 + .long 1044263474 + .long 2013265920 + .long 658534 + .long 630511316 + .long 1045098283 + .long 4026531840 + .long 667803 + .long 1698296944 + .long 3192762006 + .long 2952790016 + .long 677123 + .long 3831108133 + .long 1044508970 + .long 268435456 + .long 686494 + .long 3279515609 + .long 1045005722 + .long 1476395008 + .long 695915 + .long 98608862 + .long 3192139794 + .long 3221225472 + .long 705387 + .long 529675467 + .long 3188065859 + .long 2550136832 + .long 714911 + .long 3588780877 + .long 1043705146 + .long 671088640 + .long 724487 + .long 1493713581 + .long 1043913574 + .long 3087007744 + .long 734114 + .long 3182425146 + .long 1041483134 + .long 2415919104 + .long 743794 + .long 864959479 + .long 3191919926 + .long 4026531840 + .long 753526 + .long 928333188 + .long 1044896498 + .long 805306368 + .long 763312 + .long 813799033 + .long 1042555081 + .long 2415919104 + .long 773150 + .long 2300504125 + .long 1041428596 + .long 1476395008 + .long 783042 + .long 1142965944 + .long 1045346544 + .long 3758096384 + .long 792987 + .long 518977959 + .long 3192116587 + .long 1610612736 + .long 802987 + .long 1972387576 + .long 3179791049 + .long 805306368 + .long 813041 + .long 1264446592 + .long 3191505643 + .long 2550136832 + .long 823149 + .long 1467128350 + .long 3192899778 + .long 3758096384 + .long 833312 + .long 3075989921 + .long 3192423292 + .long 1476395008 + .long 843531 + .long 836600757 + .long 3192197600 + .long 1207959552 + .long 853805 + .long 3697834264 + .long 1044397131 + .long 134217728 + .long 864135 + .long 364651635 + .long 1038816227 + .long 3758096384 + .long 874520 + .long 3335598035 + .long 3192398555 + .long 402653184 + .long 884963 + .long 2219290723 + .long 3191039942 + .long 0 + .long 895462 + .long 730095629 + .long 1045354900 + .long 4026531840 + .long 906017 + .long 39537391 + .long 1044909475 + .long 805306368 + .long 916631 + .long 4123739734 + .long 1045159130 + .long 402653184 + .long 927302 + .long 3136734448 + .long 3192410870 + .long 3892314112 + .long 938030 + .long 1982905152 + .long 3189583874 + .long 4160749568 + .long 948817 + .long 442147929 + .long 1045314148 + .long 2684354560 + .long 959663 + .long 3425467293 + .long 1044718726 + .long 805306368 + .long 970568 + .long 2073198199 + .long 3192097984 + .long 4026531840 + .long 981531 + .long 2291008222 + .long 3191466589 + .long 939524096 + .long 992555 + .long 372190496 + .long 3189934253 + .long 1476395008 + .long 1003638 + .long 54164518 + .long 1045131818 + .long 2952790016 + .long 1014781 + .long 1672962650 + .long 3192068623 + .long 2147483648 + .long 1025985 + .long 2196310654 + .long 1043982605 + .long 671088640 + .long 1037250 + .long 2286661074 + .long 1045199759 + .long 1753710392 + .long 1065423121 + .long 1753710392 + .long 1065423121 + .long 3265904883 + .long 1067799893 + .long 3265904883 + .long 1067799893 + .long 1431655453 + .long 1069897045 + .long 1431655453 + .long 1069897045 + .long 4294966876 + .long 1071644671 + .long 4294966876 + .long 1071644671 + .long 1697350398 + .long 1080497479 + .long 1697350398 + .long 1080497479 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277665792 + .long 1064709698 + .long 4277665792 + .long 1064709698 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2882134964 + .long 1027723129 + .long 2882134964 + .long 1027723129 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2095104 + .long 1123549184 + .long 2095104 + .long 1123549184 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2032 + .long 0 + .long 2032 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4192256 + .long 0 + .long 4192256 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 3220176896 + .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 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1287323203 + .long 1082531232 + .long 1287323203 + .long 1082531232 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277811695 + .long 1064709698 + .long 4277811695 + .long 1064709698 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1047552 + .long 1124597760 + .long 1047552 + .long 1124597760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1016 + .long 0 + .long 1016 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2096128 + .long 0 + .long 2096128 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dexpm1_data_internal,@object + .size __svml_dexpm1_data_internal,3008 + .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 + .space 8, 0x00 + .align 16 + +.FLT_14: + .long 0x00000000,0x43380000,0x00000000,0x43380000 + .type .FLT_14,@object + .size .FLT_14,16 + .align 8 + +.FLT_73: + .long 0x00000000,0xbff00000 + .type .FLT_73,@object + .size .FLT_73,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core-sse.S new file mode 100644 index 0000000000..e7016708d0 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized expm1, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_expm1 _ZGVdN4v_expm1_sse_wrapper +#include "../svml_d_expm14_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core.c new file mode 100644 index 0000000000..4215d7dbaf --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized expm1, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_expm1 +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_expm1, __GI__ZGVdN4v_expm1, __redirect__ZGVdN4v_expm1) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core_avx2.S new file mode 100644 index 0000000000..fcc65a8569 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core_avx2.S @@ -0,0 +1,1824 @@ +/* Function expm vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * N = (int)(x*2^k/log(2.0)), R = x - N*log(2)/2^k + * exp(x) = 2^(N/2^k) * poly(R) is computed in high-low parts + * expm1(x) = exp(x)-1 is then obtained via multi-precision computation + * + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_expm1_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea __svml_dexpm1_data_internal(%rip), %rax + vmovapd %ymm0, %ymm3 + vmulpd 2176+__svml_dexpm1_data_internal(%rip), %ymm3, %ymm4 + +/* argument reduction */ + vmovupd 2240+__svml_dexpm1_data_internal(%rip), %ymm2 + vmovupd 2688+__svml_dexpm1_data_internal(%rip), %ymm5 + vmovups %ymm14, 288(%rsp) + vmovups %ymm9, 192(%rsp) + vmovups %ymm8, 224(%rsp) + vmovups %ymm12, 160(%rsp) + vmovups %ymm11, 96(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm10, 32(%rsp) + vmovups %ymm13, 256(%rsp) + vroundpd $0, %ymm4, %ymm0 + vfnmadd213pd %ymm3, %ymm0, %ymm2 + vfnmadd231pd 2304+__svml_dexpm1_data_internal(%rip), %ymm0, %ymm2 + vaddpd 2368+__svml_dexpm1_data_internal(%rip), %ymm0, %ymm0 + +/* table lookup */ + vandps 2432+__svml_dexpm1_data_internal(%rip), %ymm0, %ymm4 + vandpd %ymm5, %ymm3, %ymm6 + vandnpd %ymm3, %ymm5, %ymm1 + vcmpnle_uqpd 2752+__svml_dexpm1_data_internal(%rip), %ymm6, %ymm7 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vandps 2496+__svml_dexpm1_data_internal(%rip), %ymm0, %ymm14 + vmovupd 2112+__svml_dexpm1_data_internal(%rip), %ymm0 + vmovmskpd %ymm7, %edx + vfmadd213pd 2144+__svml_dexpm1_data_internal(%rip), %ymm2, %ymm0 + vextractf128 $1, %ymm4, %xmm5 + vmovd %xmm4, %ecx + vmovd %xmm5, %r9d + vpextrd $2, %xmm4, %r8d + vpextrd $2, %xmm5, %r10d + movslq %ecx, %rcx + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r10d, %r10 + +/* polynomial */ + vmovupd 2048+__svml_dexpm1_data_internal(%rip), %ymm5 + vmovupd (%rax,%rcx), %xmm8 + vpsllq $41, %ymm14, %ymm4 + vmovupd (%rax,%r8), %xmm9 + vmovupd (%rax,%r9), %xmm11 + vmovupd (%rax,%r10), %xmm12 + vunpcklpd %xmm9, %xmm8, %xmm6 + vunpcklpd %xmm12, %xmm11, %xmm7 + vfmadd213pd 2080+__svml_dexpm1_data_internal(%rip), %ymm2, %ymm5 + vunpckhpd %xmm9, %xmm8, %xmm10 + vunpckhpd %xmm12, %xmm11, %xmm13 + vinsertf128 $1, %xmm7, %ymm6, %ymm15 + vorpd %ymm4, %ymm15, %ymm14 + vmulpd %ymm2, %ymm2, %ymm15 + vfmadd213pd %ymm0, %ymm15, %ymm5 + +/* T-1 */ + vmovupd 2624+__svml_dexpm1_data_internal(%rip), %ymm0 + vfmadd213pd %ymm2, %ymm15, %ymm5 + vaddpd %ymm0, %ymm14, %ymm2 + vinsertf128 $1, %xmm13, %ymm10, %ymm6 + +/* Th1 = (Th-1) + Tl */ + vfmadd213pd %ymm2, %ymm4, %ymm6 + +/* T = Th+Tl */ + vsubpd %ymm0, %ymm6, %ymm4 + vfmadd213pd %ymm6, %ymm5, %ymm4 + vorpd %ymm1, %ymm4, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 224(%rsp), %ymm8 + cfi_restore(91) + vmovups 192(%rsp), %ymm9 + cfi_restore(92) + vmovups 32(%rsp), %ymm10 + cfi_restore(93) + vmovups 96(%rsp), %ymm11 + cfi_restore(94) + vmovups 160(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm3, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dexpm1_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_expm1_avx2) + + .align 16,0x90 + +__svml_dexpm1_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dexpm1_cout_rare_internal,@function + .size __svml_dexpm1_cout_rare_internal,.-__svml_dexpm1_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dexpm1_data_internal: + .long 0 + .long 0 + .long 0 + .long 0 + .long 2818572288 + .long 5693 + .long 1457015399 + .long 1044362035 + .long 1073741824 + .long 11418 + .long 4044949557 + .long 3191375865 + .long 3892314112 + .long 17173 + .long 794616807 + .long 1041997793 + .long 3489660928 + .long 22960 + .long 2715237930 + .long 1044950059 + .long 671088640 + .long 28779 + .long 3698181124 + .long 1044242285 + .long 402653184 + .long 34629 + .long 36755401 + .long 1042114290 + .long 3355443200 + .long 40510 + .long 438898435 + .long 1044789148 + .long 1879048192 + .long 46424 + .long 2230008375 + .long 3192402871 + .long 671088640 + .long 52370 + .long 3120814979 + .long 1045140031 + .long 805306368 + .long 58348 + .long 269498903 + .long 1044815501 + .long 2952790016 + .long 64358 + .long 3705630242 + .long 3182612048 + .long 3489660928 + .long 70401 + .long 2766913307 + .long 1039293264 + .long 3221225472 + .long 76477 + .long 4276399797 + .long 1041960050 + .long 2952790016 + .long 82586 + .long 80474087 + .long 3191172386 + .long 3355443200 + .long 88728 + .long 613423790 + .long 1042592202 + .long 1073741824 + .long 94904 + .long 689505308 + .long 3192657268 + .long 939524096 + .long 101113 + .long 930606615 + .long 1042387389 + .long 3892314112 + .long 107355 + .long 2850403528 + .long 1045134939 + .long 2281701376 + .long 113632 + .long 1663725767 + .long 3192904985 + .long 805306368 + .long 119943 + .long 2810207104 + .long 1043762074 + .long 536870912 + .long 126288 + .long 3854830848 + .long 1044899528 + .long 2281701376 + .long 132667 + .long 2397289153 + .long 1041802037 + .long 2415919104 + .long 139081 + .long 1649749971 + .long 1043848649 + .long 1879048192 + .long 145530 + .long 2039734354 + .long 3191384540 + .long 1342177280 + .long 152014 + .long 849302817 + .long 3188938352 + .long 1744830464 + .long 158533 + .long 383003846 + .long 3191925785 + .long 3758096384 + .long 165087 + .long 158134621 + .long 1044338232 + .long 4160749568 + .long 171677 + .long 4137603445 + .long 3192324360 + .long 3489660928 + .long 178303 + .long 4290499725 + .long 1043028785 + .long 2818572288 + .long 184965 + .long 1275031083 + .long 3190931407 + .long 2818572288 + .long 191663 + .long 1629266164 + .long 1043587829 + .long 134217728 + .long 198398 + .long 2842642093 + .long 1044483512 + .long 0 + .long 205169 + .long 1985360263 + .long 3192756542 + .long 2952790016 + .long 211976 + .long 4200916017 + .long 1044586679 + .long 1610612736 + .long 218821 + .long 3450763054 + .long 3189463043 + .long 939524096 + .long 225703 + .long 2870834528 + .long 3190336198 + .long 1879048192 + .long 232622 + .long 3553800616 + .long 3192377660 + .long 939524096 + .long 239579 + .long 1219436983 + .long 3192443648 + .long 3221225472 + .long 246573 + .long 606077177 + .long 1044946247 + .long 1342177280 + .long 253606 + .long 3998375791 + .long 3192876638 + .long 134217728 + .long 260677 + .long 586810495 + .long 3192560639 + .long 536870912 + .long 267786 + .long 2676240988 + .long 1044345570 + .long 3623878656 + .long 274933 + .long 1841759300 + .long 1043663497 + .long 1610612736 + .long 282120 + .long 1086643152 + .long 1041785419 + .long 4026531840 + .long 289345 + .long 1148024454 + .long 3192330237 + .long 3087007744 + .long 296610 + .long 2137125602 + .long 3191993881 + .long 4026531840 + .long 303914 + .long 3437605242 + .long 1043004027 + .long 3623878656 + .long 311258 + .long 3340100419 + .long 3192278702 + .long 2550136832 + .long 318642 + .long 3594204911 + .long 1044372944 + .long 2013265920 + .long 326066 + .long 2502738549 + .long 3191221557 + .long 2684354560 + .long 333530 + .long 235444137 + .long 1044806450 + .long 1476395008 + .long 341035 + .long 3792656324 + .long 3191220999 + .long 3355443200 + .long 348580 + .long 1982428721 + .long 1044573328 + .long 939524096 + .long 356167 + .long 1502688512 + .long 3191123330 + .long 3623878656 + .long 363794 + .long 383164906 + .long 3192603072 + .long 3758096384 + .long 371463 + .long 3040458367 + .long 3192241502 + .long 2281701376 + .long 379174 + .long 3087934862 + .long 1044564533 + .long 402653184 + .long 386927 + .long 3163234522 + .long 3192035061 + .long 3087007744 + .long 394721 + .long 2332520281 + .long 1043819968 + .long 2952790016 + .long 402558 + .long 1492679939 + .long 1041050306 + .long 939524096 + .long 410438 + .long 29656007 + .long 3192494567 + .long 2147483648 + .long 418360 + .long 612974287 + .long 1044556049 + .long 3623878656 + .long 426325 + .long 1740578119 + .long 3192756916 + .long 1744830464 + .long 434334 + .long 922176773 + .long 3191344195 + .long 2013265920 + .long 442386 + .long 143936179 + .long 3192365354 + .long 1073741824 + .long 450482 + .long 2288974058 + .long 3192706862 + .long 4160749568 + .long 458621 + .long 1022918171 + .long 1043667272 + .long 3892314112 + .long 466805 + .long 2074373662 + .long 1043172334 + .long 1207959552 + .long 475034 + .long 2007733066 + .long 1042591790 + .long 1476395008 + .long 483307 + .long 1946752598 + .long 3191593347 + .long 1342177280 + .long 491625 + .long 1328713708 + .long 3187724640 + .long 1879048192 + .long 499988 + .long 918464641 + .long 1045387276 + .long 0 + .long 508397 + .long 667194164 + .long 1043532819 + .long 939524096 + .long 516851 + .long 3740938196 + .long 3191016217 + .long 1476395008 + .long 525351 + .long 1917817036 + .long 3192786735 + .long 2550136832 + .long 533897 + .long 682424459 + .long 1043647713 + .long 1207959552 + .long 542490 + .long 857395348 + .long 3191718789 + .long 2550136832 + .long 551129 + .long 1678188781 + .long 1045046423 + .long 3623878656 + .long 559815 + .long 2523214013 + .long 1043900009 + .long 1073741824 + .long 568549 + .long 3671932459 + .long 1044468998 + .long 402653184 + .long 577330 + .long 1091392995 + .long 3191122871 + .long 2550136832 + .long 586158 + .long 1656324724 + .long 1043421043 + .long 134217728 + .long 595035 + .long 742731994 + .long 1045204990 + .long 2952790016 + .long 603959 + .long 2659845000 + .long 1042921660 + .long 3355443200 + .long 612932 + .long 2001576987 + .long 1045316240 + .long 2684354560 + .long 621954 + .long 976271096 + .long 3187726552 + .long 1879048192 + .long 631025 + .long 927342903 + .long 1042890999 + .long 2147483648 + .long 640145 + .long 2162418230 + .long 1044717444 + .long 402653184 + .long 649315 + .long 830622888 + .long 1044263474 + .long 2013265920 + .long 658534 + .long 630511316 + .long 1045098283 + .long 4026531840 + .long 667803 + .long 1698296944 + .long 3192762006 + .long 2952790016 + .long 677123 + .long 3831108133 + .long 1044508970 + .long 268435456 + .long 686494 + .long 3279515609 + .long 1045005722 + .long 1476395008 + .long 695915 + .long 98608862 + .long 3192139794 + .long 3221225472 + .long 705387 + .long 529675467 + .long 3188065859 + .long 2550136832 + .long 714911 + .long 3588780877 + .long 1043705146 + .long 671088640 + .long 724487 + .long 1493713581 + .long 1043913574 + .long 3087007744 + .long 734114 + .long 3182425146 + .long 1041483134 + .long 2415919104 + .long 743794 + .long 864959479 + .long 3191919926 + .long 4026531840 + .long 753526 + .long 928333188 + .long 1044896498 + .long 805306368 + .long 763312 + .long 813799033 + .long 1042555081 + .long 2415919104 + .long 773150 + .long 2300504125 + .long 1041428596 + .long 1476395008 + .long 783042 + .long 1142965944 + .long 1045346544 + .long 3758096384 + .long 792987 + .long 518977959 + .long 3192116587 + .long 1610612736 + .long 802987 + .long 1972387576 + .long 3179791049 + .long 805306368 + .long 813041 + .long 1264446592 + .long 3191505643 + .long 2550136832 + .long 823149 + .long 1467128350 + .long 3192899778 + .long 3758096384 + .long 833312 + .long 3075989921 + .long 3192423292 + .long 1476395008 + .long 843531 + .long 836600757 + .long 3192197600 + .long 1207959552 + .long 853805 + .long 3697834264 + .long 1044397131 + .long 134217728 + .long 864135 + .long 364651635 + .long 1038816227 + .long 3758096384 + .long 874520 + .long 3335598035 + .long 3192398555 + .long 402653184 + .long 884963 + .long 2219290723 + .long 3191039942 + .long 0 + .long 895462 + .long 730095629 + .long 1045354900 + .long 4026531840 + .long 906017 + .long 39537391 + .long 1044909475 + .long 805306368 + .long 916631 + .long 4123739734 + .long 1045159130 + .long 402653184 + .long 927302 + .long 3136734448 + .long 3192410870 + .long 3892314112 + .long 938030 + .long 1982905152 + .long 3189583874 + .long 4160749568 + .long 948817 + .long 442147929 + .long 1045314148 + .long 2684354560 + .long 959663 + .long 3425467293 + .long 1044718726 + .long 805306368 + .long 970568 + .long 2073198199 + .long 3192097984 + .long 4026531840 + .long 981531 + .long 2291008222 + .long 3191466589 + .long 939524096 + .long 992555 + .long 372190496 + .long 3189934253 + .long 1476395008 + .long 1003638 + .long 54164518 + .long 1045131818 + .long 2952790016 + .long 1014781 + .long 1672962650 + .long 3192068623 + .long 2147483648 + .long 1025985 + .long 2196310654 + .long 1043982605 + .long 671088640 + .long 1037250 + .long 2286661074 + .long 1045199759 + .long 1753710392 + .long 1065423121 + .long 1753710392 + .long 1065423121 + .long 1753710392 + .long 1065423121 + .long 1753710392 + .long 1065423121 + .long 3265904883 + .long 1067799893 + .long 3265904883 + .long 1067799893 + .long 3265904883 + .long 1067799893 + .long 3265904883 + .long 1067799893 + .long 1431655453 + .long 1069897045 + .long 1431655453 + .long 1069897045 + .long 1431655453 + .long 1069897045 + .long 1431655453 + .long 1069897045 + .long 4294966876 + .long 1071644671 + .long 4294966876 + .long 1071644671 + .long 4294966876 + .long 1071644671 + .long 4294966876 + .long 1071644671 + .long 1697350398 + .long 1080497479 + .long 1697350398 + .long 1080497479 + .long 1697350398 + .long 1080497479 + .long 1697350398 + .long 1080497479 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277665792 + .long 1064709698 + .long 4277665792 + .long 1064709698 + .long 4277665792 + .long 1064709698 + .long 4277665792 + .long 1064709698 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2882134964 + .long 1027723129 + .long 2882134964 + .long 1027723129 + .long 2882134964 + .long 1027723129 + .long 2882134964 + .long 1027723129 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2095104 + .long 1123549184 + .long 2095104 + .long 1123549184 + .long 2095104 + .long 1123549184 + .long 2095104 + .long 1123549184 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2032 + .long 0 + .long 2032 + .long 0 + .long 2032 + .long 0 + .long 2032 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4192256 + .long 0 + .long 4192256 + .long 0 + .long 4192256 + .long 0 + .long 4192256 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .long 4160749568 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 3220176896 + .long 0 + .long 3220176896 + .long 0 + .long 3220176896 + .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 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1287323203 + .long 1082531232 + .long 1287323203 + .long 1082531232 + .long 1287323203 + .long 1082531232 + .long 1287323203 + .long 1082531232 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277811695 + .long 1064709698 + .long 4277811695 + .long 1064709698 + .long 4277811695 + .long 1064709698 + .long 4277811695 + .long 1064709698 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1047552 + .long 1124597760 + .long 1047552 + .long 1124597760 + .long 1047552 + .long 1124597760 + .long 1047552 + .long 1124597760 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1016 + .long 0 + .long 1016 + .long 0 + .long 1016 + .long 0 + .long 1016 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2096128 + .long 0 + .long 2096128 + .long 0 + .long 2096128 + .long 0 + .long 2096128 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dexpm1_data_internal,@object + .size __svml_dexpm1_data_internal,3072 + .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 + +.FLT_72: + .long 0x00000000,0xbff00000 + .type .FLT_72,@object + .size .FLT_72,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core-avx2.S new file mode 100644 index 0000000000..3b75d1de16 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized expm1, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_expm1 _ZGVeN8v_expm1_avx2_wrapper +#include "../svml_d_expm18_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core.c new file mode 100644 index 0000000000..860edf6df5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized expm1, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_expm1 +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_expm1, __GI__ZGVeN8v_expm1, __redirect__ZGVeN8v_expm1) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core_avx512.S new file mode 100644 index 0000000000..14bb7f2de3 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core_avx512.S @@ -0,0 +1,1037 @@ +/* Function expm vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * 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 + * + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_expm1_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN8v_expm1_skx) + + .align 16,0x90 + +__svml_dexpm1_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dexpm1_cout_rare_internal,@function + .size __svml_dexpm1_cout_rare_internal,.-__svml_dexpm1_cout_rare_internal + + .section .rodata, "a" + .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 + +.FLT_77: + .long 0x00000000,0xbff00000 + .type .FLT_77,@object + .size .FLT_77,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core-avx2.S new file mode 100644 index 0000000000..a2a8699a05 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized expm1f. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_expm1f _ZGVeN16v_expm1f_avx2_wrapper +#include "../svml_s_expm1f16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core.c new file mode 100644 index 0000000000..8007d1e415 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized expm1f, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_expm1f +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_expm1f, __GI__ZGVeN16v_expm1f, + __redirect__ZGVeN16v_expm1f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core_avx512.S new file mode 100644 index 0000000000..2221e9fe6c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core_avx512.S @@ -0,0 +1,569 @@ +/* Function expmf16 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * 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 + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_expm1f_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN16v_expm1f_skx) + + .align 16,0x90 + +__svml_sexpm1_cout_rare_internal: + + cfi_startproc + + 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 .FLT_45(%rip), %xmm0 + comiss %xmm8, %xmm0 + jb .LBL_2_6 + comiss .FLT_46(%rip), %xmm8 + jb .LBL_2_7 + movss .FLT_48(%rip), %xmm0 + mulss %xmm8, %xmm0 + movss %xmm0, -24(%rsp) + movss -24(%rsp), %xmm1 + movss .FLT_49(%rip), %xmm2 + movss .FLT_56(%rip), %xmm6 + addss %xmm2, %xmm1 + movss %xmm1, -20(%rsp) + movss -20(%rsp), %xmm3 + movss .FLT_52(%rip), %xmm7 + subss %xmm2, %xmm3 + movss %xmm3, -24(%rsp) + movss -24(%rsp), %xmm4 + mulss .FLT_50(%rip), %xmm4 + movss -24(%rsp), %xmm5 + subss %xmm4, %xmm8 + mulss .FLT_51(%rip), %xmm5 + movl -20(%rsp), %edx + subss %xmm5, %xmm8 + mulss %xmm8, %xmm6 + shll $23, %edx + addss .FLT_55(%rip), %xmm6 + mulss %xmm8, %xmm6 + addss .FLT_54(%rip), %xmm6 + mulss %xmm8, %xmm6 + addss .FLT_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 .FLT_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 + + cfi_endproc + + .type __svml_sexpm1_cout_rare_internal,@function + .size __svml_sexpm1_cout_rare_internal,.-__svml_sexpm1_cout_rare_internal + + .section .rodata, "a" + .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 + +.FLT_44: + .long 0xbf800000 + .type .FLT_44,@object + .size .FLT_44,4 + .align 4 + +.FLT_45: + .long 0x42b17217 + .type .FLT_45,@object + .size .FLT_45,4 + .align 4 + +.FLT_46: + .long 0xc2cff1b4 + .type .FLT_46,@object + .size .FLT_46,4 + .align 4 + +.FLT_47: + .long 0x7f7fffff + .type .FLT_47,@object + .size .FLT_47,4 + .align 4 + +.FLT_48: + .long 0x3fb8aa3b + .type .FLT_48,@object + .size .FLT_48,4 + .align 4 + +.FLT_49: + .long 0x4b400000 + .type .FLT_49,@object + .size .FLT_49,4 + .align 4 + +.FLT_50: + .long 0x3f317200 + .type .FLT_50,@object + .size .FLT_50,4 + .align 4 + +.FLT_51: + .long 0x35bfbe8e + .type .FLT_51,@object + .size .FLT_51,4 + .align 4 + +.FLT_52: + .long 0x3f800001 + .type .FLT_52,@object + .size .FLT_52,4 + .align 4 + +.FLT_53: + .long 0x3efffe85 + .type .FLT_53,@object + .size .FLT_53,4 + .align 4 + +.FLT_54: + .long 0x3e2aa9c6 + .type .FLT_54,@object + .size .FLT_54,4 + .align 4 + +.FLT_55: + .long 0x3d2bb1b6 + .type .FLT_55,@object + .size .FLT_55,4 + .align 4 + +.FLT_56: + .long 0x3c0950ef + .type .FLT_56,@object + .size .FLT_56,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core-sse2.S new file mode 100644 index 0000000000..b4dbb77590 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized expm1f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_expm1f _ZGVbN4v_expm1f_sse2 +#include "../svml_s_expm1f4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core.c new file mode 100644 index 0000000000..f8ef12511d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized expm1f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_expm1f +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_expm1f, __GI__ZGVbN4v_expm1f, + __redirect__ZGVbN4v_expm1f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core_sse4.S new file mode 100644 index 0000000000..7cf298d92a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core_sse4.S @@ -0,0 +1,1315 @@ +/* Function expmf4 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * N = (int)(x*2^k/log(2.0)), R = x - N*log(2)/2^k + * exp(x) = 2^(N/2^k) * poly(R) is computed in high-low parts + * expm1(x) = exp(x)-1 is then obtained via multi-precision computation + * + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_expm1f_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + lea __svml_sexpm1_data_internal(%rip), %rax + movups 576+__svml_sexpm1_data_internal(%rip), %xmm6 + mulps %xmm0, %xmm6 + movups .FLT_14(%rip), %xmm2 + +/* argument reduction */ + movups 640+__svml_sexpm1_data_internal(%rip), %xmm3 + addps %xmm2, %xmm6 + movups 704+__svml_sexpm1_data_internal(%rip), %xmm1 + subps %xmm2, %xmm6 + mulps %xmm6, %xmm3 + movaps %xmm0, %xmm2 + mulps %xmm6, %xmm1 + subps %xmm3, %xmm2 + +/* table lookup */ + movdqu 832+__svml_sexpm1_data_internal(%rip), %xmm7 + subps %xmm1, %xmm2 + movups 768+__svml_sexpm1_data_internal(%rip), %xmm1 + movups 1088+__svml_sexpm1_data_internal(%rip), %xmm3 + addps %xmm6, %xmm1 + pand %xmm1, %xmm7 + movaps %xmm3, %xmm4 + pshufd $1, %xmm7, %xmm5 + andps %xmm0, %xmm4 + movd %xmm7, %ecx + andnps %xmm0, %xmm3 + movd %xmm5, %r8d + pshufd $2, %xmm7, %xmm5 + pshufd $3, %xmm7, %xmm7 + cmpnleps 1152+__svml_sexpm1_data_internal(%rip), %xmm4 + movd %xmm5, %r9d + movd %xmm7, %r10d + movmskps %xmm4, %edx + movslq %ecx, %rcx + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r10d, %r10 + movq (%rax,%rcx), %xmm4 + movq (%rax,%r8), %xmm6 + movq (%rax,%r9), %xmm5 + movq (%rax,%r10), %xmm7 + unpcklps %xmm6, %xmm4 + unpcklps %xmm7, %xmm5 + movaps %xmm4, %xmm6 + movlhps %xmm5, %xmm6 + movaps %xmm2, %xmm7 + shufps $238, %xmm5, %xmm4 + movdqu 896+__svml_sexpm1_data_internal(%rip), %xmm5 + pand %xmm5, %xmm1 + +/* polynomial */ + movups 512+__svml_sexpm1_data_internal(%rip), %xmm5 + pslld $14, %xmm1 + mulps %xmm2, %xmm5 + orps %xmm1, %xmm6 + mulps %xmm2, %xmm7 + mulps %xmm1, %xmm4 + addps 528+__svml_sexpm1_data_internal(%rip), %xmm5 + mulps %xmm7, %xmm5 + addps %xmm5, %xmm2 + +/* T-1 */ + movups 1024+__svml_sexpm1_data_internal(%rip), %xmm5 + addps %xmm5, %xmm6 + addps %xmm4, %xmm6 + movaps %xmm6, %xmm1 + subps %xmm5, %xmm1 + mulps %xmm1, %xmm2 + addps %xmm2, %xmm6 + orps %xmm3, %xmm6 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movaps %xmm6, %xmm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm0, 192(%rsp) + movups %xmm6, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm6 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_sexpm1_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_expm1f_sse4) + + .align 16,0x90 + +__svml_sexpm1_cout_rare_internal: + + cfi_startproc + + 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 .FLT_46(%rip), %xmm0 + comiss %xmm8, %xmm0 + jb .LBL_2_6 + comiss .FLT_47(%rip), %xmm8 + jb .LBL_2_7 + movss .FLT_49(%rip), %xmm0 + mulss %xmm8, %xmm0 + movss %xmm0, -24(%rsp) + movss -24(%rsp), %xmm1 + movss .FLT_50(%rip), %xmm2 + movss .FLT_57(%rip), %xmm6 + addss %xmm2, %xmm1 + movss %xmm1, -20(%rsp) + movss -20(%rsp), %xmm3 + movss .FLT_53(%rip), %xmm7 + subss %xmm2, %xmm3 + movss %xmm3, -24(%rsp) + movss -24(%rsp), %xmm4 + mulss .FLT_51(%rip), %xmm4 + movss -24(%rsp), %xmm5 + subss %xmm4, %xmm8 + mulss .FLT_52(%rip), %xmm5 + movl -20(%rsp), %edx + subss %xmm5, %xmm8 + mulss %xmm8, %xmm6 + shll $23, %edx + addss .FLT_56(%rip), %xmm6 + mulss %xmm8, %xmm6 + addss .FLT_55(%rip), %xmm6 + mulss %xmm8, %xmm6 + addss .FLT_54(%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 .FLT_48(%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 + + cfi_endproc + + .type __svml_sexpm1_cout_rare_internal,@function + .size __svml_sexpm1_cout_rare_internal,.-__svml_sexpm1_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sexpm1_data_internal: + .long 0 + .long 0 + .long 90112 + .long 958021240 + .long 184320 + .long 3097385429 + .long 278528 + .long 3107645322 + .long 372736 + .long 3106378502 + .long 466944 + .long 3080612193 + .long 565248 + .long 3112054766 + .long 659456 + .long 958049961 + .long 757760 + .long 959986813 + .long 860160 + .long 3106149520 + .long 958464 + .long 956772713 + .long 1060864 + .long 946741642 + .long 1163264 + .long 955571435 + .long 1269760 + .long 3107625502 + .long 1372160 + .long 958264608 + .long 1478656 + .long 956671716 + .long 1585152 + .long 964561458 + .long 1695744 + .long 923477569 + .long 1806336 + .long 3098644875 + .long 1916928 + .long 3088264298 + .long 2027520 + .long 958811154 + .long 2142208 + .long 924983155 + .long 2256896 + .long 923141657 + .long 2371584 + .long 958576065 + .long 2490368 + .long 3088362279 + .long 2609152 + .long 3097170630 + .long 2727936 + .long 942496373 + .long 2850816 + .long 3107506507 + .long 2973696 + .long 3111658168 + .long 3096576 + .long 3104893523 + .long 3219456 + .long 956129397 + .long 3346432 + .long 945949013 + .long 3473408 + .long 958293631 + .long 3604480 + .long 3097200438 + .long 3735552 + .long 3104446228 + .long 3866624 + .long 3081063917 + .long 4001792 + .long 3110833173 + .long 4132864 + .long 963851983 + .long 4272128 + .long 3102526822 + .long 4407296 + .long 962173765 + .long 4546560 + .long 962937387 + .long 4689920 + .long 3097677269 + .long 4833280 + .long 3108523826 + .long 4976640 + .long 3103440963 + .long 5120000 + .long 957448868 + .long 5267456 + .long 952956604 + .long 5419008 + .long 3111931330 + .long 5566464 + .long 953592564 + .long 5718016 + .long 958372187 + .long 5873664 + .long 3099234146 + .long 6029312 + .long 3104378117 + .long 6184960 + .long 938771038 + .long 6344704 + .long 3100132597 + .long 6504448 + .long 3077380739 + .long 6668288 + .long 3110019856 + .long 6832128 + .long 3109205496 + .long 6995968 + .long 935782365 + .long 7163904 + .long 3083854118 + .long 7331840 + .long 957821820 + .long 7503872 + .long 943431213 + .long 7675904 + .long 959423141 + .long 7852032 + .long 937390859 + .long 8028160 + .long 955037405 + .long 8208384 + .long 3095001478 + .long 1042983615 + .long 1042983615 + .long 1042983615 + .long 1042983615 + .long 1056964623 + .long 1056964623 + .long 1056964623 + .long 1056964623 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1119398459 + .long 1119398459 + .long 1119398459 + .long 1119398459 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1009876992 + .long 1009876992 + .long 1009876992 + .long 1009876992 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3059646595 + .long 3059646595 + .long 3059646595 + .long 3059646595 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1240530432 + .long 1240530432 + .long 1240530432 + .long 1240530432 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 504 + .long 504 + .long 504 + .long 504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 130560 + .long 130560 + .long 130560 + .long 130560 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836864 + .long 3212836864 + .long 3212836864 + .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 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1118652779 + .long 1118652779 + .long 1118652779 + .long 1118652779 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1111009851 + .long 1111009851 + .long 1111009851 + .long 1111009851 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1018262040 + .long 1018262040 + .long 1018262040 + .long 1018262040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1245724544 + .long 1245724544 + .long 1245724544 + .long 1245724544 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 124 + .long 124 + .long 124 + .long 124 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 32640 + .long 32640 + .long 32640 + .long 32640 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_sexpm1_data_internal,@object + .size __svml_sexpm1_data_internal,1536 + .align 16 + +.FLT_14: + .long 0x4b400000,0x4b400000,0x4b400000,0x4b400000 + .type .FLT_14,@object + .size .FLT_14,16 + .align 4 + +.FLT_45: + .long 0xbf800000 + .type .FLT_45,@object + .size .FLT_45,4 + .align 4 + +.FLT_46: + .long 0x42b17217 + .type .FLT_46,@object + .size .FLT_46,4 + .align 4 + +.FLT_47: + .long 0xc2cff1b4 + .type .FLT_47,@object + .size .FLT_47,4 + .align 4 + +.FLT_48: + .long 0x7f7fffff + .type .FLT_48,@object + .size .FLT_48,4 + .align 4 + +.FLT_49: + .long 0x3fb8aa3b + .type .FLT_49,@object + .size .FLT_49,4 + .align 4 + +.FLT_50: + .long 0x4b400000 + .type .FLT_50,@object + .size .FLT_50,4 + .align 4 + +.FLT_51: + .long 0x3f317200 + .type .FLT_51,@object + .size .FLT_51,4 + .align 4 + +.FLT_52: + .long 0x35bfbe8e + .type .FLT_52,@object + .size .FLT_52,4 + .align 4 + +.FLT_53: + .long 0x3f800001 + .type .FLT_53,@object + .size .FLT_53,4 + .align 4 + +.FLT_54: + .long 0x3efffe85 + .type .FLT_54,@object + .size .FLT_54,4 + .align 4 + +.FLT_55: + .long 0x3e2aa9c6 + .type .FLT_55,@object + .size .FLT_55,4 + .align 4 + +.FLT_56: + .long 0x3d2bb1b6 + .type .FLT_56,@object + .size .FLT_56,4 + .align 4 + +.FLT_57: + .long 0x3c0950ef + .type .FLT_57,@object + .size .FLT_57,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core-sse.S new file mode 100644 index 0000000000..e34e4eb8d0 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized expm1f, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_expm1f _ZGVdN8v_expm1f_sse_wrapper +#include "../svml_s_expm1f8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core.c new file mode 100644 index 0000000000..7e8b57de30 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized expm1f, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_expm1f +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_expm1f, __GI__ZGVdN8v_expm1f, + __redirect__ZGVdN8v_expm1f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core_avx2.S new file mode 100644 index 0000000000..196f720fa6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core_avx2.S @@ -0,0 +1,1143 @@ +/* Function expmf8 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * N = (int)(x*2^k/log(2.0)), R = x - N*log(2)/2^k + * exp(x) = 2^(N/2^k) * poly(R) is computed in high-low parts + * expm1(x) = exp(x)-1 is then obtained via multi-precision computation + * + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_expm1f_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea __svml_sexpm1_data_internal(%rip), %rax + vmovaps %ymm0, %ymm3 + vmulps 640+__svml_sexpm1_data_internal(%rip), %ymm3, %ymm4 + +/* argument reduction */ + vmovups 704+__svml_sexpm1_data_internal(%rip), %ymm2 + vmovups 1152+__svml_sexpm1_data_internal(%rip), %ymm5 + vmovups %ymm13, 256(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm14, 288(%rsp) + vroundps $0, %ymm4, %ymm0 + vfnmadd213ps %ymm3, %ymm0, %ymm2 + vfnmadd231ps 768+__svml_sexpm1_data_internal(%rip), %ymm0, %ymm2 + vaddps 832+__svml_sexpm1_data_internal(%rip), %ymm0, %ymm0 + +/* table lookup */ + vandps 896+__svml_sexpm1_data_internal(%rip), %ymm0, %ymm4 + vandps %ymm5, %ymm3, %ymm6 + vandnps %ymm3, %ymm5, %ymm1 + vcmpnle_uqps 1216+__svml_sexpm1_data_internal(%rip), %ymm6, %ymm7 + vmovmskps %ymm7, %edx + vandps 960+__svml_sexpm1_data_internal(%rip), %ymm0, %ymm0 + vmovd %xmm4, %ecx + vextractf128 $1, %ymm4, %xmm5 + vpextrd $2, %xmm4, %r9d + movslq %ecx, %rcx + movslq %r9d, %r9 + vpextrd $1, %xmm4, %r8d + movslq %r8d, %r8 + vmovq (%rax,%rcx), %xmm6 + vmovq (%rax,%r9), %xmm7 + vpextrd $1, %xmm5, %ecx + vpextrd $3, %xmm5, %r9d + movslq %ecx, %rcx + movslq %r9d, %r9 + vpextrd $3, %xmm4, %r10d + movslq %r10d, %r10 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovq (%rax,%rcx), %xmm12 + vmovq (%rax,%r9), %xmm13 + vmovq (%rax,%r8), %xmm8 + vmovd %xmm5, %r11d + vmovq (%rax,%r10), %xmm9 + vunpcklps %xmm9, %xmm8, %xmm4 + vpextrd $2, %xmm5, %r8d + vunpcklps %xmm13, %xmm12, %xmm5 + +/* polynomial */ + vmovups 512+__svml_sexpm1_data_internal(%rip), %ymm12 + vmulps %ymm2, %ymm2, %ymm9 + vunpcklps %xmm7, %xmm6, %xmm14 + vfmadd213ps 544+__svml_sexpm1_data_internal(%rip), %ymm2, %ymm12 + movslq %r11d, %r11 + movslq %r8d, %r8 + vfmadd213ps %ymm2, %ymm9, %ymm12 + +/* T-1 */ + vmovups 1088+__svml_sexpm1_data_internal(%rip), %ymm9 + vmovq (%rax,%r11), %xmm10 + vmovq (%rax,%r8), %xmm11 + vunpcklps %xmm11, %xmm10, %xmm15 + vpslld $14, %ymm0, %ymm11 + vinsertf128 $1, %xmm15, %ymm14, %ymm6 + vinsertf128 $1, %xmm5, %ymm4, %ymm7 + vunpcklps %ymm7, %ymm6, %ymm8 + vorps %ymm11, %ymm8, %ymm10 + vaddps %ymm9, %ymm10, %ymm2 + vunpckhps %ymm7, %ymm6, %ymm13 + vfmadd213ps %ymm2, %ymm11, %ymm13 + vsubps %ymm9, %ymm13, %ymm0 + vfmadd213ps %ymm13, %ymm12, %ymm0 + vorps %ymm1, %ymm0, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm3, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_sexpm1_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_expm1f_avx2) + + .align 16,0x90 + +__svml_sexpm1_cout_rare_internal: + + cfi_startproc + + 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 .FLT_45(%rip), %xmm0 + comiss %xmm8, %xmm0 + jb .LBL_2_6 + comiss .FLT_46(%rip), %xmm8 + jb .LBL_2_7 + movss .FLT_48(%rip), %xmm0 + mulss %xmm8, %xmm0 + movss %xmm0, -24(%rsp) + movss -24(%rsp), %xmm1 + movss .FLT_49(%rip), %xmm2 + movss .FLT_56(%rip), %xmm6 + addss %xmm2, %xmm1 + movss %xmm1, -20(%rsp) + movss -20(%rsp), %xmm3 + movss .FLT_52(%rip), %xmm7 + subss %xmm2, %xmm3 + movss %xmm3, -24(%rsp) + movss -24(%rsp), %xmm4 + mulss .FLT_50(%rip), %xmm4 + movss -24(%rsp), %xmm5 + subss %xmm4, %xmm8 + mulss .FLT_51(%rip), %xmm5 + movl -20(%rsp), %edx + subss %xmm5, %xmm8 + mulss %xmm8, %xmm6 + shll $23, %edx + addss .FLT_55(%rip), %xmm6 + mulss %xmm8, %xmm6 + addss .FLT_54(%rip), %xmm6 + mulss %xmm8, %xmm6 + addss .FLT_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 .FLT_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 + + cfi_endproc + + .type __svml_sexpm1_cout_rare_internal,@function + .size __svml_sexpm1_cout_rare_internal,.-__svml_sexpm1_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_sexpm1_data_internal: + .long 0 + .long 0 + .long 90112 + .long 958021240 + .long 184320 + .long 3097385429 + .long 278528 + .long 3107645322 + .long 372736 + .long 3106378502 + .long 466944 + .long 3080612193 + .long 565248 + .long 3112054766 + .long 659456 + .long 958049961 + .long 757760 + .long 959986813 + .long 860160 + .long 3106149520 + .long 958464 + .long 956772713 + .long 1060864 + .long 946741642 + .long 1163264 + .long 955571435 + .long 1269760 + .long 3107625502 + .long 1372160 + .long 958264608 + .long 1478656 + .long 956671716 + .long 1585152 + .long 964561458 + .long 1695744 + .long 923477569 + .long 1806336 + .long 3098644875 + .long 1916928 + .long 3088264298 + .long 2027520 + .long 958811154 + .long 2142208 + .long 924983155 + .long 2256896 + .long 923141657 + .long 2371584 + .long 958576065 + .long 2490368 + .long 3088362279 + .long 2609152 + .long 3097170630 + .long 2727936 + .long 942496373 + .long 2850816 + .long 3107506507 + .long 2973696 + .long 3111658168 + .long 3096576 + .long 3104893523 + .long 3219456 + .long 956129397 + .long 3346432 + .long 945949013 + .long 3473408 + .long 958293631 + .long 3604480 + .long 3097200438 + .long 3735552 + .long 3104446228 + .long 3866624 + .long 3081063917 + .long 4001792 + .long 3110833173 + .long 4132864 + .long 963851983 + .long 4272128 + .long 3102526822 + .long 4407296 + .long 962173765 + .long 4546560 + .long 962937387 + .long 4689920 + .long 3097677269 + .long 4833280 + .long 3108523826 + .long 4976640 + .long 3103440963 + .long 5120000 + .long 957448868 + .long 5267456 + .long 952956604 + .long 5419008 + .long 3111931330 + .long 5566464 + .long 953592564 + .long 5718016 + .long 958372187 + .long 5873664 + .long 3099234146 + .long 6029312 + .long 3104378117 + .long 6184960 + .long 938771038 + .long 6344704 + .long 3100132597 + .long 6504448 + .long 3077380739 + .long 6668288 + .long 3110019856 + .long 6832128 + .long 3109205496 + .long 6995968 + .long 935782365 + .long 7163904 + .long 3083854118 + .long 7331840 + .long 957821820 + .long 7503872 + .long 943431213 + .long 7675904 + .long 959423141 + .long 7852032 + .long 937390859 + .long 8028160 + .long 955037405 + .long 8208384 + .long 3095001478 + .long 1042983615 + .long 1042983615 + .long 1042983615 + .long 1042983615 + .long 1042983615 + .long 1042983615 + .long 1042983615 + .long 1042983615 + .long 1056964623 + .long 1056964623 + .long 1056964623 + .long 1056964623 + .long 1056964623 + .long 1056964623 + .long 1056964623 + .long 1056964623 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1119398459 + .long 1119398459 + .long 1119398459 + .long 1119398459 + .long 1119398459 + .long 1119398459 + .long 1119398459 + .long 1119398459 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1009876992 + .long 1009876992 + .long 1009876992 + .long 1009876992 + .long 1009876992 + .long 1009876992 + .long 1009876992 + .long 1009876992 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3059646595 + .long 3059646595 + .long 3059646595 + .long 3059646595 + .long 3059646595 + .long 3059646595 + .long 3059646595 + .long 3059646595 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1240530432 + .long 1240530432 + .long 1240530432 + .long 1240530432 + .long 1240530432 + .long 1240530432 + .long 1240530432 + .long 1240530432 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 504 + .long 504 + .long 504 + .long 504 + .long 504 + .long 504 + .long 504 + .long 504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 130560 + .long 130560 + .long 130560 + .long 130560 + .long 130560 + .long 130560 + .long 130560 + .long 130560 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .long 4294963200 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .long 3212836864 + .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 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1118652779 + .long 1118652779 + .long 1118652779 + .long 1118652779 + .long 1118652779 + .long 1118652779 + .long 1118652779 + .long 1118652779 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1111009851 + .long 1111009851 + .long 1111009851 + .long 1111009851 + .long 1111009851 + .long 1111009851 + .long 1111009851 + .long 1111009851 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1018262040 + .long 1018262040 + .long 1018262040 + .long 1018262040 + .long 1018262040 + .long 1018262040 + .long 1018262040 + .long 1018262040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1245724544 + .long 1245724544 + .long 1245724544 + .long 1245724544 + .long 1245724544 + .long 1245724544 + .long 1245724544 + .long 1245724544 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 124 + .long 124 + .long 124 + .long 124 + .long 124 + .long 124 + .long 124 + .long 124 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 32640 + .long 32640 + .long 32640 + .long 32640 + .long 32640 + .long 32640 + .long 32640 + .long 32640 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_sexpm1_data_internal,@object + .size __svml_sexpm1_data_internal,1600 + .align 4 + +.FLT_44: + .long 0xbf800000 + .type .FLT_44,@object + .size .FLT_44,4 + .align 4 + +.FLT_45: + .long 0x42b17217 + .type .FLT_45,@object + .size .FLT_45,4 + .align 4 + +.FLT_46: + .long 0xc2cff1b4 + .type .FLT_46,@object + .size .FLT_46,4 + .align 4 + +.FLT_47: + .long 0x7f7fffff + .type .FLT_47,@object + .size .FLT_47,4 + .align 4 + +.FLT_48: + .long 0x3fb8aa3b + .type .FLT_48,@object + .size .FLT_48,4 + .align 4 + +.FLT_49: + .long 0x4b400000 + .type .FLT_49,@object + .size .FLT_49,4 + .align 4 + +.FLT_50: + .long 0x3f317200 + .type .FLT_50,@object + .size .FLT_50,4 + .align 4 + +.FLT_51: + .long 0x35bfbe8e + .type .FLT_51,@object + .size .FLT_51,4 + .align 4 + +.FLT_52: + .long 0x3f800001 + .type .FLT_52,@object + .size .FLT_52,4 + .align 4 + +.FLT_53: + .long 0x3efffe85 + .type .FLT_53,@object + .size .FLT_53,4 + .align 4 + +.FLT_54: + .long 0x3e2aa9c6 + .type .FLT_54,@object + .size .FLT_54,4 + .align 4 + +.FLT_55: + .long 0x3d2bb1b6 + .type .FLT_55,@object + .size .FLT_55,4 + .align 4 + +.FLT_56: + .long 0x3c0950ef + .type .FLT_56,@object + .size .FLT_56,4 diff --git a/sysdeps/x86_64/fpu/svml_d_expm12_core.S b/sysdeps/x86_64/fpu/svml_d_expm12_core.S new file mode 100644 index 0000000000..a725d614bd --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_expm12_core.S @@ -0,0 +1,29 @@ +/* Function expm1 vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_expm1) +WRAPPER_IMPL_SSE2 expm1 +END (_ZGVbN2v_expm1) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_expm1) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_expm14_core.S b/sysdeps/x86_64/fpu/svml_d_expm14_core.S new file mode 100644 index 0000000000..1027def883 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_expm14_core.S @@ -0,0 +1,29 @@ +/* Function expm1 vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_expm1) +WRAPPER_IMPL_AVX _ZGVbN2v_expm1 +END (_ZGVdN4v_expm1) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_expm1) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_expm14_core_avx.S b/sysdeps/x86_64/fpu/svml_d_expm14_core_avx.S new file mode 100644 index 0000000000..3a34262241 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_expm14_core_avx.S @@ -0,0 +1,25 @@ +/* Function expm1 vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_expm1) +WRAPPER_IMPL_AVX _ZGVbN2v_expm1 +END (_ZGVcN4v_expm1) diff --git a/sysdeps/x86_64/fpu/svml_d_expm18_core.S b/sysdeps/x86_64/fpu/svml_d_expm18_core.S new file mode 100644 index 0000000000..fa97595665 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_expm18_core.S @@ -0,0 +1,25 @@ +/* Function expm1 vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_expm1) +WRAPPER_IMPL_AVX512 _ZGVdN4v_expm1 +END (_ZGVeN8v_expm1) diff --git a/sysdeps/x86_64/fpu/svml_s_expm1f16_core.S b/sysdeps/x86_64/fpu/svml_s_expm1f16_core.S new file mode 100644 index 0000000000..b7423632a9 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_expm1f16_core.S @@ -0,0 +1,25 @@ +/* Function expm1f vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_expm1f) +WRAPPER_IMPL_AVX512 _ZGVdN8v_expm1f +END (_ZGVeN16v_expm1f) diff --git a/sysdeps/x86_64/fpu/svml_s_expm1f4_core.S b/sysdeps/x86_64/fpu/svml_s_expm1f4_core.S new file mode 100644 index 0000000000..334a49133a --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_expm1f4_core.S @@ -0,0 +1,29 @@ +/* Function expm1f vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_expm1f) +WRAPPER_IMPL_SSE2 expm1f +END (_ZGVbN4v_expm1f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_expm1f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_expm1f8_core.S b/sysdeps/x86_64/fpu/svml_s_expm1f8_core.S new file mode 100644 index 0000000000..10589574a5 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_expm1f8_core.S @@ -0,0 +1,29 @@ +/* Function expm1f vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_expm1f) +WRAPPER_IMPL_AVX _ZGVbN4v_expm1f +END (_ZGVdN8v_expm1f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_expm1f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_expm1f8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_expm1f8_core_avx.S new file mode 100644 index 0000000000..4161113615 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_expm1f8_core_avx.S @@ -0,0 +1,25 @@ +/* Function expm1f vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_expm1f) +WRAPPER_IMPL_AVX _ZGVbN4v_expm1f +END (_ZGVcN8v_expm1f) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx.c new file mode 100644 index 0000000000..3e59cb7141 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-expm1.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx2.c new file mode 100644 index 0000000000..3e59cb7141 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-expm1.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx512f.c new file mode 100644 index 0000000000..3e59cb7141 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-expm1-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-expm1.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-expm1.c b/sysdeps/x86_64/fpu/test-double-libmvec-expm1.c new file mode 100644 index 0000000000..33806a78c8 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-expm1.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC expm1 +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 626d486baf..366d05c08a 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -40,6 +40,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVbN2v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVbN2v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVbN2v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVbN2v_exp2) +VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVbN2v_expm1) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 16b4160910..044de05d87 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -43,6 +43,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVdN4v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVdN4v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVdN4v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVdN4v_exp2) +VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVdN4v_expm1) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 76e2acf8c9..f54d3a6874 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -40,6 +40,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVcN4v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVcN4v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVcN4v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVcN4v_exp2) +VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVcN4v_expm1) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index ee71110aca..e277410a34 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -40,6 +40,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erf), _ZGVeN8v_erf) VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVeN8v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVeN8v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVeN8v_exp2) +VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVeN8v_expm1) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx.c new file mode 100644 index 0000000000..67e31f9666 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-expm1f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx2.c new file mode 100644 index 0000000000..67e31f9666 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-expm1f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx512f.c new file mode 100644 index 0000000000..67e31f9666 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-expm1f-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-expm1f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-expm1f.c b/sysdeps/x86_64/fpu/test-float-libmvec-expm1f.c new file mode 100644 index 0000000000..aa9871a39d --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-expm1f.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC expm1f +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index b9a5abb780..b1313fca6b 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -40,6 +40,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVeN16v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVeN16v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVeN16v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVeN16v_exp2f) +VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVeN16v_expm1f) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index f25757a975..7120096ee2 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -40,6 +40,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVbN4v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVbN4v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVbN4v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVbN4v_exp2f) +VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVbN4v_expm1f) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index c589504eb3..d910aff10a 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -43,6 +43,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVdN8v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVdN8v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVdN8v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVdN8v_exp2f) +VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVdN8v_expm1f) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index dc116f501d..daaae1da3e 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -40,6 +40,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erff), _ZGVcN8v_erff) VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVcN8v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVcN8v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVcN8v_exp2f) +VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVcN8v_expm1f) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48096 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 38FD53857816 for ; Wed, 24 Nov 2021 20:17:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 38FD53857816 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785043; bh=Z/2wgwVuT3NLnsvlHVFR2abBkByHa+2CH1hoaUlEpmM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=Nnq1F63HumezZp+rAb/L7+e3Rtd50L/+FEtfv7ckj/7mXBQcjre6RxufzWH82RI6e 794Rv+f2JJwm7CHXnyDV1nzvwIsMQ7RlrrxxhFzsXleL3/nEAHP/L36YtyD9HF/RGH Gu5iYjusTvywLHlomHrv7EoTTb78sIWjb0g/BD20= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id B75053857816 for ; Wed, 24 Nov 2021 19:38:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B75053857816 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="232852737" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="232852737" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="475399736" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga002.jf.intel.com with ESMTP; 24 Nov 2021 11:38:13 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XF021555; Wed, 24 Nov 2021 11:38:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 28/42] x86-64: Add vector expm1/expm1f to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:53 -0800 Message-Id: <20211124193807.2093208-29-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector expm1/expm1f and input files to libmvec microbenchmark. libmvec-expm1-inputs: 90% Normal random distribution range: (-708.0, 709.0) mean: 0.0 sigma: 16.0 10% uniform random distribution in range (-500.0, 500.0) libmvec-expm1f-inputs: 90% Normal random distribution range: (-87.0f, 88.0f) mean: 0.0f sigma: 8.0f 10% uniform random distribution in range (-50.0f, 50.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-expm1-inputs | 4100 ++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-expm1f-inputs | 4100 ++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-expm1-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-expm1f-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index a06c5480ad..6c63e0ceed 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -58,6 +58,7 @@ libmvec-bench-funcs = \ erfc \ exp10 \ exp2 \ + expm1 \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-expm1-inputs b/sysdeps/x86_64/fpu/libmvec-expm1-inputs new file mode 100644 index 0000000000..64ed0eb782 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-expm1-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-7.1e+02, 7.1e+02), mean = 0, standard deviation = 16 +-0x1.11003707ad71cp+2 +-0x1.1f03ac14205d9p+3 +-0x1.88539918864c9p+4 +-0x1.4101316c89f72p+3 +-0x1.3b7fb80733407p+2 +0x1.029dee7ae42b8p+4 +0x1.77fde1eeb3fa9p+3 +0x1.16a53d1f1be7ep+5 +0x1.35a33590dab6ep+3 +-0x1.f85d770c98ac8p+2 +-0x1.75bd8b3896dd6p+4 +-0x1.360247570184fp+4 +0x1.1cb9fa09ed944p+5 +-0x1.cc0c949f502bdp+1 +-0x1.b06432c2571b1p+3 +0x1.e5f318e3e5fffp+4 +-0x1.2bbc5f516e8d5p+2 +-0x1.b20d60c7a530ap-4 +0x1.1ee5aa3496dfdp+3 +0x1.0d39d9919d41cp+4 +-0x1.f35ec91641a28p+2 +-0x1.90e89ab44af72p+3 +-0x1.8718b197051b2p+1 +0x1.e1a883407183ap+3 +-0x1.bb84130e0b6c2p+2 +0x1.66748e4448814p+4 +-0x1.03ac940894e0bp+4 +-0x1.2777c019ddd62p+2 +0x1.1d20fa6e1de58p+4 +-0x1.0d65971f91a47p+4 +0x1.948e128f1e25cp+1 +0x1.a2f9146265a94p+3 +0x1.8dfc3c4334d3fp+1 +-0x1.3e6e666e6133dp+3 +0x1.7291977c39bfbp+1 +0x1.0d76b4a8e6ffap+0 +-0x1.8ba0bf00ef4fbp+3 +-0x1.657578a29b5d8p+2 +-0x1.42073771c3e34p+2 +0x1.c5bc6abe1abc2p-2 +-0x1.3c18dfcd0f52cp+0 +0x1.e264029c179bdp+3 +-0x1.16b4eb16e4697p+4 +0x1.919dfef854b24p+2 +0x1.51a8f5058cf09p-2 +-0x1.22700081b6018p+3 +-0x1.7ed13b350af89p+1 +0x1.7c78e8308fd75p+3 +-0x1.371df5ae1bae6p+4 +-0x1.47b6c3841cc34p+2 +0x1.c0eb159b7735cp+3 +-0x1.041440688e7dcp+4 +0x1.747d826d6612p+3 +-0x1.0e3c3a9af5cbdp+5 +-0x1.9223e1cf1b888p+3 +0x1.2c285914810dep+2 +-0x1.e1009fc24adffp+3 +0x1.a994c08eb3571p+3 +0x1.5642c58ee1935p+4 +0x1.5a906ea066725p-2 +0x1.33bf88547fbfp+1 +-0x1.7e95d7fb26218p-2 +0x1.3a4914164fb45p+1 +-0x1.6d0ab05da8ddap+4 +0x1.6a175031ee6b3p-1 +0x1.cb814b7ce6be9p+3 +0x1.ef5984a81ededp+1 +0x1.4511a4ee5b844p+1 +0x1.c3236baf357dbp+1 +-0x1.b5663a8cd3b9ep-1 +0x1.f9775cb63303ap+3 +-0x1.fbe0031478fdap+3 +0x1.ec4068e7020c7p+0 +0x1.0af7c1486d593p+3 +-0x1.18e6b70f08559p+3 +0x1.2fc06a93c1a14p+2 +-0x1.0df60b2d5d5dcp+3 +-0x1.3558868bca728p+8 +-0x1.f9bea93247eaap+0 +-0x1.a8a18bac42c3ep+0 +0x1.d274aba6cb8e7p+7 +0x1.8035aed7e3caap+0 +0x1.6e5336703809cp+3 +-0x1.202ed659e43b3p+4 +-0x1.958d6ede80a6p+2 +-0x1.41320b56bb7ep+1 +-0x1.ae79eb0610afep+2 +-0x1.08e9352d53acdp+2 +0x1.fa1d1125c944ep+3 +0x1.e0e74fafb7d1cp+3 +0x1.56f6756e1c312p+6 +0x1.dab641b546b3fp+3 +-0x1.37f81a887c07fp+3 +-0x1.d1b8204e578e7p+0 +-0x1.8d8c75ac1faf6p+4 +0x1.c753b324bdc81p+4 +0x1.59d5b085ab03ap+1 +-0x1.ea04b4cf878fbp+0 +0x1.29c33813f534dp-1 +-0x1.c2ee5e411a0abp+3 +0x1.cee3ca87f3fb9p+4 +-0x1.b5e1a68fd908dp+3 +-0x1.42abb872d6d69p+3 +0x1.1d88916f49ef1p+4 +0x1.80ec7c336cd4bp+2 +0x1.f6cc5791d3677p-4 +0x1.9c79d91cd3abbp+3 +-0x1.253082fbb949cp+0 +-0x1.a401128cbd47p+2 +-0x1.7794302387928p+3 +0x1.77052a301b523p+2 +0x1.aa7ee75ee0531p+4 +-0x1.f6ee5bdcf7b24p-2 +0x1.a39a2af50b0c7p+3 +0x1.3221b7312157fp+3 +0x1.5ff5bc5f5da2dp+3 +-0x1.4613a9aa74a1ep+0 +-0x1.6991a4013ce91p+4 +-0x1.1071c932aaf75p+4 +-0x1.055f3a8317374p+4 +0x1.520ed8dc30dfcp+3 +-0x1.6e15432b01ce6p+4 +0x1.e818fff13878bp+4 +-0x1.8b8cb3370be2bp+3 +-0x1.a9f6495b21f7ep+3 +0x1.88e06bd995039p+2 +0x1.750ec69bb3a04p+3 +-0x1.0dd8abfb7163fp+3 +-0x1.99309e84c1aa3p+2 +-0x1.08b1bb04fcb2fp+2 +0x1.c473bbbaa6274p+2 +0x1.0a5b3dcd01fc6p+2 +0x1.273d5ce7af555p+5 +-0x1.27eeab5a7ec7ap+4 +0x1.398225abd6819p+3 +0x1.56fe5fc6fa3c2p+4 +-0x1.f11f36ce3507dp+4 +0x1.9aca951469d7ap+2 +-0x1.8f8d41cd02deep+3 +-0x1.f49e6ed2ea59dp+1 +-0x1.7a129db836d66p-4 +-0x1.1ae76b7d889bbp+3 +0x1.087a59865458p+0 +0x1.6aff85979d2e4p+3 +-0x1.62fa8a2d852ep+2 +0x1.b66d4b202c901p+2 +0x1.b32cf8b59341dp+2 +-0x1.1744f96db0bc6p+6 +-0x1.ac60d9bcb0c1ep+3 +-0x1.fbdc48a31f484p+1 +0x1.ce8d89c689577p+2 +-0x1.f0575d582a6f9p+2 +0x1.2480822366da6p+4 +-0x1.4b02cb0e67facp+0 +-0x1.f980a13147b0ap+3 +-0x1.d7c147ac37bbcp+3 +-0x1.19379d25cb96ap+0 +0x1.4a4d200892982p+8 +-0x1.ab949852b3ebfp+2 +0x1.0e6dad20e631fp+3 +-0x1.45599ccb9a8f2p+4 +-0x1.a1d652eced84ep+4 +0x1.0a9a084bf0496p+3 +-0x1.3806551d9b8a6p+3 +-0x1.4723e9533861ap+4 +0x1.82ba877ba1442p+4 +-0x1.be10fd54c1c05p+1 +0x1.6e9ab6991ff9p-6 +0x1.ac8eba94cd894p+4 +0x1.72f43a9f6a1c5p+1 +0x1.647a30feef7b1p+1 +-0x1.6a098d3db5971p+1 +-0x1.535b60bc394fap-1 +0x1.9b21776d6a934p+2 +-0x1.67ee1ba757d34p-3 +-0x1.d28fec264c5bbp+2 +0x1.a4cd6c232a361p-2 +-0x1.4314fbc60688dp+1 +-0x1.3d2ddbf4fb65cp+3 +-0x1.91560bb9916ap+1 +-0x1.2064bd3b1efedp+5 +-0x1.8f0d5ae1f2d1dp+3 +0x1.81850a482ba67p+5 +-0x1.f7d0d6b631c12p+2 +-0x1.f23fd47cfedccp+3 +-0x1.75a6060cb3691p-1 +-0x1.d253dcef76f97p+3 +-0x1.5328460a56bcfp+3 +0x1.ce3576497d7cp+3 +-0x1.8652cde59b041p+2 +-0x1.9b8ef067e895dp+4 +0x1.7d9c66e44ec47p+4 +0x1.b96c3d206dae9p+4 +-0x1.f953fc1959504p+3 +-0x1.b125e5434baacp+1 +-0x1.a1e7bf001c68dp+2 +0x1.46cfc16fd39dep+4 +-0x1.ae24518735eeap+2 +0x1.69939f4e7cd55p+4 +0x1.13306c72f0a09p+2 +0x1.61510c88f5508p-1 +-0x1.1a20364d51f6p+5 +-0x1.64ad7976812dfp+3 +0x1.bc0558fc677f4p+0 +0x1.3c093d67ef0f5p+0 +0x1.4f8ea8f2b2961p+3 +-0x1.55af0900913c4p+5 +0x1.5af1d2d65fffcp+2 +-0x1.0de627c082eb5p+3 +0x1.99ce9e0daa1e9p+4 +-0x1.f3ce28bc65e34p+3 +-0x1.2dcbcb1edbdd6p+4 +0x1.1adafdd6788cap+3 +0x1.853c9a6a80e5fp+1 +-0x1.00b1d997f5fbep-1 +-0x1.12d9e9bd6279ap+4 +-0x1.c05a7b8c13756p+4 +-0x1.df87d85868a0dp+4 +0x1.3e98c5ca53054p+3 +0x1.560246edba008p+4 +-0x1.c6b77410468a2p+3 +-0x1.f72a6e31d75afp-3 +0x1.efefd701da649p+3 +0x1.c1a1321b7ef1p+0 +0x1.30ea39a7cf938p+4 +-0x1.a74dd3dc1e9a2p+3 +0x1.79ab521c3abfcp-2 +0x1.d28bd03ad897cp+3 +-0x1.dd0ae5433da8p+4 +0x1.0860581cad894p+4 +-0x1.3d8029781c0b5p+2 +-0x1.1185907f2891p+3 +0x1.2aa161a477366p+2 +-0x1.51a2fdf6d801dp+4 +0x1.6d4ca2cbce87bp+4 +-0x1.08647180c4641p+3 +0x1.73c0d4d983607p+1 +-0x1.460bb7d2967e5p+4 +-0x1.96b5c19d31dd8p+3 +0x1.002087be4803p+3 +-0x1.079c675e5f576p+4 +-0x1.a490fe5d517cap+0 +0x1.3a316fc183cdbp+1 +0x1.b3009a6de004ep+1 +-0x1.8be62fc82b254p+4 +0x1.c70c47d64b2e1p+1 +0x1.6ec300c6e0d84p+3 +-0x1.d42bdaaa529ccp-1 +0x1.542a484cbbdap+3 +-0x1.68aade01022e5p+3 +0x1.0719ec34bd9f8p+3 +0x1.5a5bef7e71b7fp+3 +-0x1.19efbde80f262p+5 +0x1.2a9200c3ebef9p+5 +0x1.65e234d9d723p+3 +0x1.81eea275987dcp+3 +-0x1.e09ae78c0f3d3p+2 +0x1.88cff5ac2b027p+2 +-0x1.07c23257a91ap+8 +0x1.b0dc5207eb04ap+2 +-0x1.949d08f8c29a8p+1 +0x1.2054be5894c16p+4 +-0x1.1c5a705a6144ep+4 +0x1.0abf819cc902cp+7 +0x1.4f533f975313ap+0 +0x1.ede0402a06984p+3 +0x1.5dd9cecee44dp+4 +-0x1.ee86a38dcfb8bp+2 +0x1.430681c5d5435p+3 +-0x1.b239cdf03ac1ep+2 +-0x1.b155c322a615bp+4 +0x1.11059304523ccp+3 +-0x1.940484004736ap+3 +-0x1.76d2cbe89c6eap+3 +0x1.2ab817598e9cep+2 +-0x1.bb57ee381a94fp-4 +0x1.2c5fa973bc423p+2 +-0x1.105b2a041f858p+2 +0x1.ad21b525cafe7p+4 +0x1.f591180c51366p+3 +0x1.942c7148cde5ap+2 +-0x1.73fc05810249p+2 +0x1.19a063e9246a8p+4 +0x1.f440990cb9501p+1 +-0x1.6ea822c81ebefp+4 +0x1.05325f085e4dap+1 +-0x1.30227ac82dd9p+2 +0x1.69b3016747ba7p+0 +-0x1.a95e1be905656p+3 +0x1.2ff44c322ad99p+3 +0x1.8803b3b61b6ffp+3 +0x1.e33526ca99p+3 +-0x1.135a95b5e4d29p+3 +-0x1.a15cdae0069dp+1 +-0x1.ad8b0ddd507a6p+4 +-0x1.9c52c8fe232b1p+4 +0x1.1e8559bb5e4ccp+1 +0x1.bb99adabb7695p+2 +-0x1.1dae22a6fbcabp+4 +-0x1.9efa1bdb52cb6p+4 +0x1.7f4123362bf2fp+4 +0x1.a0ae02a90565bp+2 +0x1.6c88688bf3d0ep+3 +0x1.d28cd71e8841ep+6 +0x1.1a07e1bd84d91p+4 +0x1.50e957f68cb51p+4 +-0x1.cfae88fe949d3p+4 +0x1.62d0a629641b7p+4 +-0x1.641801bf2bda6p+0 +-0x1.a1d7bc21eb45cp+5 +0x1.6def98bd31efbp+6 +0x1.a556292c47ef2p+4 +-0x1.af841b378367ap+1 +-0x1.6538b64ad0d9fp+4 +-0x1.29feb61cdd084p+3 +0x1.6071bbed6bd28p+5 +0x1.3a75b1d968b3bp+5 +0x1.501b2864bb0aap+3 +0x1.cab884c6bd488p+2 +-0x1.e9f845c867c6cp+3 +-0x1.94991fb9ce0efp+4 +-0x1.4bf2146d428fbp+3 +-0x1.f4aaa87f6871dp+3 +-0x1.c904a4b94b4dep+3 +-0x1.851379734f5a1p+2 +-0x1.3253d2afe1b8dp+3 +-0x1.7e5a943926cb6p+3 +-0x1.ba8b241fbebep+2 +-0x1.e32c5b539ed49p+4 +-0x1.f7a818b66c2fbp+2 +0x1.d79048fa51f8ap+1 +-0x1.e1ee3cfd1f65ap+3 +0x1.8a59e5bc58019p+3 +0x1.72b319253eee7p+2 +-0x1.f0a78fd5454d7p+2 +-0x1.ec9f639a8510ep+2 +-0x1.ef4d44582ca63p+3 +-0x1.45030ba429744p+2 +-0x1.3de02f6079c35p+4 +-0x1.ae4ee802d4d44p+2 +-0x1.2a2442b03a96dp+4 +0x1.1e09c7cc868aep-4 +-0x1.15c7853f0c865p+6 +0x1.0b13ec95f71a5p+2 +0x1.5b22063d3f771p+3 +-0x1.c752f2d48be01p+1 +0x1.3d1510a4f8cdbp+3 +0x1.17da3098fa41dp+3 +-0x1.266a093459c2ap+3 +0x1.8a064f8a15753p+2 +-0x1.347da4da856a7p+2 +-0x1.39b4ff032f74p+0 +0x1.b9a57659a198ep+3 +-0x1.7218160918b0bp+3 +0x1.4139fe4f6d7e2p+4 +0x1.0b6028c217fb9p+3 +-0x1.9cf3201eb31ep+2 +0x1.4e85803ece1acp+4 +0x1.b07b4e5172c39p+1 +0x1.11701ffaaed4bp+1 +-0x1.24627984aae2ep+5 +0x1.779b58c474984p+1 +0x1.a9ca39d6dd6d5p+3 +-0x1.5506bc6b3344fp+2 +0x1.7d3bab08c2e5dp+1 +0x1.ba237ef743cb1p+2 +-0x1.9d3fecf588cedp+3 +0x1.04414d215c2dcp+3 +-0x1.1ab065eb10c66p+3 +0x1.17124444bff6ep+3 +-0x1.8e23b3e3f6ab7p+2 +-0x1.bcfc0ccd8bdb9p+0 +0x1.010d86d3def47p+2 +-0x1.7ff50886aa934p+2 +-0x1.46c78d491d2c7p+0 +0x1.3ee03ef5f88e9p+4 +0x1.44bf15b0634b7p+2 +-0x1.dc7bfeb3d79c5p+1 +0x1.4b2044275cd4dp+2 +0x1.84fe3569cb2f3p+1 +0x1.cd76216869e9bp+4 +0x1.1b1d3cf683a9ep+4 +-0x1.9fcae5205cd46p+4 +-0x1.0a3b58f299bfdp+3 +-0x1.2abc89a0eb39fp+4 +0x1.8c4d6835e5972p+1 +0x1.0a5afe3c4ccc7p+4 +0x1.4fd2cc063a564p+1 +-0x1.4a0722f7bdb7cp+5 +0x1.8d885d6947ae1p+4 +0x1.59ea516d1f26bp+4 +0x1.0ec88cec00338p-1 +-0x1.8a5d8487762f6p+4 +0x1.1a283a53f8328p+0 +0x1.829e7668f5048p+3 +-0x1.d98b668c200ap+0 +-0x1.0136269e8d655p+4 +-0x1.d6aa45de9e968p+3 +0x1.1ae55c1f50a91p+2 +-0x1.6d2bbf6ac4bffp+2 +-0x1.2f894a496ef82p+3 +-0x1.8cccaafc6228bp+5 +0x1.a1847ab53654dp+2 +0x1.61b9f91dd1568p+4 +-0x1.593af265b0f1cp+2 +-0x1.6fcb3685e1188p+3 +-0x1.abd9edafdaba8p+7 +0x1.55402eb22877fp-2 +-0x1.7758f8ef73ce5p+3 +-0x1.129ed6c9fec09p+3 +0x1.47b15b059fa22p+2 +0x1.c37c3800e473fp+0 +-0x1.55e59b46e00fep+3 +0x1.15ab24a33c4afp+2 +-0x1.5efb2f2360924p+4 +-0x1.c822455705f7dp+4 +-0x1.1ec1052baec55p+3 +-0x1.632d52993655fp+4 +-0x1.3b380e44110fbp+1 +-0x1.d06a61edd63b8p+4 +-0x1.648c7d2c9f39ap+5 +-0x1.e0c74983a6277p+2 +0x1.3b45c176c2365p+4 +0x1.9ac13402948f9p+4 +0x1.821b65b56e9d4p+2 +0x1.49d4a47602299p+0 +-0x1.9536fd2b229e5p+1 +-0x1.e45f70770ffa6p+3 +0x1.f42e02754d539p-1 +-0x1.1447c8f7f0803p+2 +-0x1.3814c90a3de51p+3 +-0x1.0c3e34479d266p+2 +-0x1.db96f4672c59fp+3 +0x1.b7e8d8652d20bp+3 +0x1.31f092f938cp+3 +-0x1.23d399672214ap+4 +0x1.16d3535551e31p+3 +-0x1.d6e5873aa87e8p+3 +-0x1.51e8d044a5eadp+2 +-0x1.076d0067d9a9bp+4 +-0x1.5ce540d167649p+2 +-0x1.03dbfbee1785p+3 +0x1.02c32cb8776d7p+4 +0x1.2900de5c7341p+3 +-0x1.ac5ba6d8f8f1ep+3 +-0x1.5d38049159df2p+4 +0x1.7b1185942c1a5p+4 +0x1.ff5246459affp+1 +0x1.0e03a3dd96788p+5 +-0x1.76a414c910fb2p+3 +-0x1.1fffa49b7f639p+0 +0x1.9caea3b989545p+2 +-0x1.793d42826ff15p+0 +0x1.5b08238bd7a18p+1 +0x1.254967c3d947fp+1 +0x1.eb12af95bfb63p+4 +0x1.fe853624e7d83p+1 +0x1.b1e56a27778f2p+4 +0x1.3453058a4da38p+1 +0x1.307c967bfffc2p+4 +0x1.4d5cb9f362b26p+3 +-0x1.b1937baaf010bp+1 +0x1.5599b88f6964dp+4 +0x1.17406bad4bc31p-1 +0x1.55b3e6055d0e1p-1 +-0x1.1aa44da042bb6p+3 +-0x1.b0bd843ab6a4ap+3 +-0x1.f054c11c6fd4cp-1 +-0x1.81014cc2078b6p+4 +-0x1.fc713f97a3a63p+2 +0x1.d0a0747739ef9p+1 +0x1.41625bb6bb69ep-5 +-0x1.40f225f19d807p+3 +0x1.68f2251556c42p+2 +-0x1.17690d37416e8p+4 +-0x1.75fa5ee082b6fp+3 +0x1.29564149663f6p+1 +0x1.9881037ac5d0cp+2 +0x1.2b01b141897c8p+4 +-0x1.0f4d726519f07p+0 +-0x1.4b4620ac0010dp+3 +0x1.9e7c31f8f8785p+4 +-0x1.a6f89ee0f795ap+3 +0x1.f2082c30db1c8p+0 +-0x1.dd839901b27bdp+3 +0x1.7fca07d73884p+3 +-0x1.c3c48700662c3p+3 +-0x1.6e853770c0f9fp+4 +0x1.d8ed1c9463b1dp+0 +-0x1.ebd99dffbb2c1p+2 +0x1.fd966020d3d82p+3 +-0x1.206c1fca20dc4p+4 +0x1.aee0d6765bc5cp+4 +-0x1.35d52e2cf8086p+1 +0x1.13223a47687d9p+1 +0x1.7438981f5be52p+2 +-0x1.4bae87899db27p+3 +-0x1.b15ab21feb71ep+3 +-0x1.9ce3b1e40fdefp+4 +0x1.cef4514e6d594p+4 +-0x1.f17318cfda767p+4 +-0x1.e58d0c56c3a7p-2 +0x1.808beb30314dp+3 +0x1.07f0af7446b52p+4 +0x1.325fd32406536p+3 +-0x1.9faafa9806c7bp+0 +0x1.6104f835ab8edp+5 +-0x1.7807e45e473f1p+4 +0x1.29757328895cp+2 +0x1.3b45876742c98p+3 +0x1.c568a632a54f1p+3 +0x1.6caddd90a8a2cp+5 +-0x1.69894d1536713p+2 +-0x1.3730781c9eddep+1 +0x1.135deea0c29fbp+3 +0x1.e1285a2b60964p+1 +0x1.4b80b406c31bdp+4 +0x1.2811c39f9b89bp+3 +-0x1.4fdedc31092e8p+4 +-0x1.ab8ce8c5036fdp+1 +0x1.9d7e1448756f9p+4 +0x1.3737cdf250b8ep+4 +-0x1.63ffee2f4c37p+3 +0x1.4da0a0b6a14c4p+1 +-0x1.d9b722403f2d4p+1 +0x1.022adb9727ec4p+0 +0x1.2ae943a0c9f6cp+1 +0x1.18ec27d3a07d7p+0 +-0x1.6afe70ecfae1dp+5 +0x1.147d5c8097cefp+3 +-0x1.81f8ceac9872dp+3 +0x1.0f381836f6e7bp+3 +-0x1.c6ff784a5846dp+3 +-0x1.66360c4d84d4cp+3 +-0x1.6791dbb850ac8p+4 +-0x1.77c6dfc75633p+2 +0x1.45d5f669fcff2p+4 +0x1.268335c952d5ap+4 +0x1.3a13a0ae983f5p+3 +-0x1.780cef3cd015cp+2 +0x1.6128b1ee4e238p+3 +-0x1.439a5589fc96bp+4 +0x1.50b1d01bf2cabp+3 +-0x1.d2ade90245145p+5 +0x1.0ae6ec582d27ap+3 +-0x1.519680b429656p+2 +0x1.9094cf30d2179p+5 +0x1.e0a28f7e72504p+4 +0x1.8cdcd3ddd9b87p-2 +0x1.ec9935e7e72f1p+3 +0x1.5317a281a6589p+2 +0x1.51d70c69c8e4ep+1 +-0x1.50ba0ab89871p+3 +0x1.152078e6fc923p+2 +-0x1.9996f9d095cd3p+3 +-0x1.61d00d92a98ecp+4 +-0x1.3a3a257258ee5p+3 +0x1.2f54b253c0a1bp+2 +-0x1.b4951c9daf538p+2 +0x1.220f603d1e01cp+3 +0x1.09e96024014f6p+3 +-0x1.b1165a43c5c1dp+3 +-0x1.be5766bd4f161p+4 +-0x1.411e5393f3221p+0 +0x1.32640aef4dbcap+4 +-0x1.9d3da53790e56p+1 +-0x1.26eaa37b73589p+3 +-0x1.9657b29aaf014p+2 +0x1.25d18013304f9p+3 +0x1.faee42d2eee09p+4 +0x1.63f4a5780dbb3p-1 +0x1.9ed35146ebdc7p+2 +0x1.c24bc2a87317cp+3 +-0x1.c46c0709ade28p+3 +0x1.058fa84fdc5dfp+4 +0x1.074894afb4a68p+3 +-0x1.2cb5d178181a3p+4 +-0x1.7b022bc97bd87p+4 +0x1.d971cebec3dc3p+3 +-0x1.8ec86add9aeefp+0 +-0x1.f727374002d1dp+1 +0x1.219fdd9159794p+2 +-0x1.565374db0612ap+5 +-0x1.2556f0957181fp-2 +-0x1.3c9b49b6645b9p+2 +0x1.0adc702525844p+4 +0x1.c5a67f1896e7ep+1 +0x1.9efd7de91c877p+2 +0x1.d9d092687d0a3p+3 +0x1.7d3d03a0cd29cp+2 +-0x1.479fcda3b1abcp+4 +0x1.ef3f79cf31cabp+2 +0x1.52dc5518c03d1p+3 +0x1.152d96988dfcbp+3 +-0x1.b9362861efb2ap+3 +0x1.6f1701555f85fp+2 +-0x1.d76088168cba7p+4 +0x1.396904801c693p+5 +-0x1.bb8d37e3d13d9p+2 +-0x1.bea7caef13c6bp+1 +-0x1.56dbccaa97ab9p+2 +0x1.6678918f36157p-1 +0x1.9e04061eea66ap-1 +0x1.f80584e5fb2d6p+2 +-0x1.54278b1afdca9p+4 +0x1.37b24baea382dp+2 +0x1.f77b1902c4964p-2 +-0x1.7c43b4e9e93cfp-1 +0x1.10f4e21b1dc18p+2 +-0x1.84c3d380eaf0ap+2 +0x1.6536d3822a5dbp+3 +-0x1.45c85e7112072p+4 +0x1.8d0b5806d37d9p+2 +-0x1.7bfe86e43f6cdp+4 +-0x1.028573702b054p+4 +-0x1.266d423e3032ep-2 +-0x1.6f1e52b43bbcdp+4 +-0x1.b57398f2ff9cep+4 +-0x1.0690070a17c8ep+4 +0x1.951438faf762ep+4 +0x1.54640df149ecfp+3 +0x1.a2e70e2d6b389p+0 +-0x1.4584eadb7a2a5p+1 +0x1.5984124891c5bp+3 +-0x1.3508e20bd00a4p+4 +-0x1.df8c737910911p+4 +-0x1.d401bbbe0de6ep+3 +-0x1.20ff5eb91df8cp+2 +0x1.ade08e2d79c6cp+2 +0x1.fb915453b8d6fp+0 +0x1.a816ef340651dp+3 +-0x1.90a1d1046f146p-7 +-0x1.6b755acce6fb3p+3 +-0x1.54b099489d729p+3 +-0x1.53687ec531316p+4 +0x1.70dd45f3f8c96p+7 +0x1.1c64ac0e63ab9p+1 +-0x1.1cd93b9a183f3p+2 +-0x1.d6676ec0e83b7p+2 +-0x1.b3375faa14daap+3 +-0x1.397f5269a8f46p+2 +0x1.204f1d080a29bp+4 +-0x1.9d15f86e29d32p+4 +0x1.86b445c1fa227p+2 +-0x1.3a978b6d21bb1p+4 +-0x1.299fc79ecbcfdp+4 +-0x1.a744b7e636d36p-1 +-0x1.bb28842c58849p+2 +-0x1.4f733aa7913e2p-1 +0x1.aabbf22ae2a88p+3 +-0x1.a112b6d648e72p+3 +0x1.3d09dc3e9e33bp+4 +0x1.2cb5e1779cea5p+4 +0x1.3cd7ac6fa38dap+2 +-0x1.f13990cfe5ec2p+3 +0x1.88f07d5373ae8p+4 +0x1.93179dd8aa89ep+0 +0x1.2bfc9601f50c2p+5 +0x1.58c7cf96b0713p+1 +0x1.335b322f8a7a2p+4 +-0x1.e24d81973b02ep+3 +-0x1.ebc2947a9ce5bp+4 +0x1.4d8134ffd3891p+3 +-0x1.e10c40e71879bp+2 +-0x1.628050434b9fep+3 +0x1.6c29e161cb882p+6 +-0x1.407afbb6de59ep+4 +-0x1.c12b48dd63634p+2 +-0x1.7ef92af52d4d5p+0 +-0x1.41cc220fce214p+2 +-0x1.b4dc079689f4bp+3 +-0x1.b8c92d69cd9ep+3 +-0x1.a4756c48b704p+2 +-0x1.d7ea61d1085d1p+4 +0x1.a45014fadb068p+0 +-0x1.394900efd90a5p+0 +-0x1.2b6eed18df0d2p+1 +0x1.b57ef080526a1p+3 +0x1.6e593e63048dp+3 +-0x1.b3b2e53f25ff4p+3 +0x1.20b8481ed33p+1 +-0x1.a7a9a263d55abp+4 +-0x1.3edfe9034a518p+1 +0x1.04df46fe1a96p+4 +-0x1.85c872b5fe48p+1 +0x1.987aa68c4a40ap+4 +-0x1.8d8ff4c07967ap+0 +-0x1.7bbe501495417p+2 +0x1.09b6e0c740d5cp+3 +0x1.6540ed66aa851p+3 +0x1.b71434f639985p+1 +0x1.1c12a317a2069p+6 +-0x1.6139c482ada5ep+0 +-0x1.4f44b083f6f77p+1 +-0x1.c87cf7e5f2df5p+4 +-0x1.625e9063076bdp+4 +-0x1.b994f9420b41ap+3 +-0x1.d21a73ec72312p+4 +0x1.fb8fbc9a2fe6p+4 +0x1.4e0291e40703ap+3 +0x1.7bec591bcb9f1p+3 +-0x1.22ade5fd6560fp+4 +0x1.3ff0fb4eb11fdp+3 +0x1.acf4457026889p+1 +-0x1.081e4b193da3p+3 +-0x1.af18d2905362dp+0 +-0x1.816382b888e2ap+2 +-0x1.dbf7e57684b5fp+4 +-0x1.109ea0bc3171ep+4 +0x1.2f89c59c1e284p+2 +-0x1.0525cef5eb77ap+1 +-0x1.1527b5894fa4cp+2 +0x1.b3de51b661796p+3 +-0x1.730858021dd8bp+2 +0x1.1ab6eaf9f7437p+0 +-0x1.6d89969971facp+4 +0x1.34fc598a78651p+3 +-0x1.8704c7920740fp+4 +0x1.8e9c63e18fd98p+7 +-0x1.4e2aac11bfdf6p+3 +0x1.b3740425d29bdp-1 +0x1.6241568dfe5dcp+4 +0x1.50d6fdd8353a1p+3 +0x1.471f703d627b9p+2 +0x1.016adf54be7b1p+1 +-0x1.6baefbf516dc7p+3 +-0x1.21c30a32cda9ap+3 +0x1.62072a0760112p-2 +-0x1.39b197eda3b67p+3 +0x1.7f04c21a59f65p+2 +-0x1.168386ca9dda1p+4 +-0x1.c9fbcc3111dd1p+4 +0x1.1635f32442b4bp+3 +0x1.3ddeeff0904dp-1 +-0x1.1ee2ce778752ep-1 +-0x1.6899a578aa20fp+3 +0x1.dc1aa30ec4db2p+1 +-0x1.b601c472fde84p+1 +0x1.a8462321fb8p+2 +-0x1.33c518cb111f3p+3 +0x1.a6798664f5c9p+3 +0x1.0a3882fdb4c69p+4 +0x1.06a6a0c714e72p+2 +0x1.6bf6e92c72fdap+2 +-0x1.84d9f0dad55b6p+4 +-0x1.6cf1230fc64fap+1 +0x1.dcbcdf914d19bp+4 +0x1.3536efe9827d5p+4 +0x1.cdd5a0cabf976p+2 +-0x1.bfefec036a01p+3 +-0x1.618704dd2237ep+3 +-0x1.17cefc37ce9e6p+2 +0x1.67adb2356ca23p+4 +0x1.3a39542a3d08dp+3 +-0x1.d038d39843b5cp-1 +0x1.36d7a84eb8a79p+2 +0x1.e318b27ed0599p+0 +-0x1.3e982c6df06fp+4 +0x1.471aa1ad93735p+4 +-0x1.178b0d8b0e41bp+4 +-0x1.b5c3386698386p+3 +-0x1.a52045d0cb3b4p+3 +-0x1.d018cc3de79a2p-1 +0x1.25707b545b91fp+3 +0x1.e26ee3996bd8ep+4 +0x1.1156ce1170e2ep+2 +0x1.a0a6aa2e7bd22p+4 +-0x1.267fe26a632a4p+3 +-0x1.1988fafc41493p+2 +0x1.0b474ede969c2p+3 +-0x1.8fe1987a07791p+2 +-0x1.5fdfda703863ap+4 +-0x1.9437084d0518ep-2 +0x1.8d0837e936cfdp+2 +0x1.8b69391996a2ap+4 +0x1.fd35a316fc2eep+4 +0x1.20e7616eca6e2p+0 +0x1.1338d3fa2926dp+5 +-0x1.ea5206d0e59ddp+3 +-0x1.cd9f2866a138p+2 +-0x1.1da76fac5b14ep+5 +-0x1.123ce38c400a3p+4 +-0x1.07273f5501a1ep+3 +0x1.d21bc9014d725p-1 +-0x1.39b1efce626c6p+3 +-0x1.153f21880d3b8p+5 +0x1.8dd607ab18a3ep+4 +0x1.c9119430f7652p+2 +-0x1.06ef9d5040c57p+1 +-0x1.f7e71e8eb08dfp-1 +-0x1.2bcc972227b6p+2 +-0x1.556f26bd6a989p+5 +-0x1.263feb687a572p+4 +-0x1.d0ae290be2126p+3 +0x1.bf14b6eaddd81p-1 +0x1.d08ea372372fcp+0 +-0x1.d899f538399cep+4 +-0x1.c8a9969e9fae7p+3 +-0x1.5587db2a38d7p+5 +-0x1.c510ed03a0fe3p+3 +-0x1.18b784fb0ed45p+4 +0x1.71cc014d2e991p+3 +-0x1.64f178d84bd9ap+3 +0x1.23e878698dbd8p+3 +-0x1.aec4fa9e8ba9cp+1 +0x1.30e845b965931p+4 +-0x1.f9dee68a8a975p-2 +-0x1.24ba81f47f9a1p+1 +-0x1.9fe796266bcc3p+2 +0x1.af099e5373c01p+4 +-0x1.43231ad599d27p+2 +0x1.1580806ff282bp+4 +-0x1.dd82938144e22p+3 +-0x1.29bfc266ae7abp-1 +0x1.5fafe5b5edad1p+3 +-0x1.22b3574e65c91p+3 +0x1.6651c618cf3f4p-3 +0x1.e17a669700255p+3 +0x1.d3c68b80f60d5p+2 +-0x1.56483d0667741p+0 +0x1.f538f451b9fdp+1 +-0x1.7fb88e136c291p+4 +0x1.7459694066d8cp+1 +0x1.90a7c3293e66dp+4 +-0x1.74067a2d8c534p+1 +0x1.3902e701e5a2fp+4 +0x1.359ad7f5f0d46p+2 +-0x1.14bb77ddc0726p+5 +-0x1.d2b000335796p+3 +0x1.f9f7f852b5e01p+2 +0x1.f4b9e2ad91dap+0 +0x1.18af71f8a9b28p+4 +0x1.2336b1cb0fafbp+5 +-0x1.aa7a9d484c47cp+3 +0x1.23d8f222d52a2p+4 +0x1.06602864ed3cbp+3 +-0x1.e4cd46e5cb0f2p+2 +0x1.0787d6a0e9bcdp+4 +-0x1.9b00fe119f6bbp+0 +0x1.fe98dd197274bp+2 +0x1.5ce4da1b33f67p+4 +0x1.54b8001746585p+2 +0x1.7631f2c31f401p+3 +-0x1.56d6cef83e5a1p+4 +0x1.e93e0296d3f9cp+4 +-0x1.508c63cbc95e1p+3 +-0x1.cfc48b79ddbf1p-1 +-0x1.c205f2e58cca8p+4 +-0x1.4665ebc7cd0c7p+5 +-0x1.95aab1bd6c38bp+2 +-0x1.0cb91d1523407p+4 +0x1.517e2f1d103eep+2 +-0x1.bf61d1396f8d7p+3 +-0x1.457ed59185adbp+4 +-0x1.37c8c2e9eda75p+3 +-0x1.002cb202563ddp+4 +-0x1.07c27a4b98428p+3 +0x1.274167b3edc11p+3 +0x1.38f41e03ca394p+4 +-0x1.81ce3adcc24efp+3 +-0x1.d73dd14402c5dp-4 +0x1.1be2452685e43p+4 +0x1.6d43665dba9a7p+7 +0x1.2310181f92686p+3 +0x1.23500e746171fp+2 +0x1.19c6bdd0879c7p+2 +-0x1.5e77f6e1a6136p+5 +-0x1.a6520e7760427p+2 +-0x1.fad8dc512ef64p+1 +-0x1.520906b4ca0edp+2 +-0x1.77399951d85bcp+2 +0x1.14293c930bd93p+3 +0x1.50f49f30f41a3p+3 +0x1.365732ee9462cp+4 +-0x1.3469c823bafdbp-3 +0x1.b1cb35b097958p+2 +0x1.0c8065025cd4ap+2 +0x1.53f72f16765c3p+3 +-0x1.ba6bf36ca2f71p+4 +-0x1.142e216b09fb8p+0 +0x1.240137694a3c1p+2 +0x1.bd15027accbd9p-2 +-0x1.5a932d908486ap+2 +0x1.ba4fb40fa34a4p+3 +-0x1.223d30ff2a1a5p+5 +-0x1.27b8add6a6886p+1 +-0x1.a8e54543a5198p+0 +0x1.01d10f40bbe4dp+3 +-0x1.93f7d1ea9858ap-2 +0x1.7fcdddaeac474p+3 +0x1.9a1d8d576de6fp+4 +0x1.036463aaa8b1fp+4 +0x1.b0e6ff5eda3cdp+1 +0x1.02db2f7f0de33p+5 +0x1.6b8a9f549c9b6p+3 +0x1.2fa00597e9e36p+4 +-0x1.d82327772da7cp+3 +-0x1.9d410aaf06663p+4 +-0x1.de77e9c0a780cp-1 +-0x1.bb181cc90774ep+3 +-0x1.cb4adcc5751bcp+0 +-0x1.3f3ebcce0aec2p+4 +0x1.2cd10b49175d9p+4 +-0x1.6f6f2351ad838p-1 +0x1.ed8106947686cp+1 +-0x1.89506742e5d8p+3 +0x1.00c424a42565p+4 +-0x1.6b352e885e7c3p+1 +-0x1.08fb74dc0ab89p+4 +0x1.26b1b1abb522ap+4 +0x1.5f5b97eb4da63p+2 +0x1.5767d36361b7ap+4 +0x1.276b5609db7f6p+4 +0x1.2bc056d863c86p+4 +0x1.054068516fafdp+4 +0x1.e8fb5d99a1a68p+0 +-0x1.7950f176344c2p+2 +0x1.61c78ee7f9271p+4 +-0x1.3da239be38048p+4 +0x1.b309d11338a01p+4 +0x1.b3d519e1bf1d4p+0 +0x1.c7101bf613de6p+2 +-0x1.17cc8034ddd1ap+5 +0x1.5e9e67ea45c7ep+2 +-0x1.7b88b9484a232p+4 +-0x1.bc3d10fd50bc6p+2 +0x1.fe17716a6268cp+4 +-0x1.454e049d56536p+0 +-0x1.203ea7655130ap-1 +0x1.0b62ff735d823p+3 +0x1.0a3696500908p+2 +0x1.b69cbdbd83417p-1 +0x1.e4a2a0310a0dp+2 +-0x1.fc1de8ce9ccbbp+0 +0x1.9c5f0ca6d5bcdp+3 +-0x1.c662e4a9e2b4fp+1 +0x1.cb7759ff98897p+2 +-0x1.61d9a3955f9e8p+2 +-0x1.1450cd02b8002p+4 +-0x1.e773533e402e8p+3 +-0x1.a191c553590d6p+1 +-0x1.3b0969f3dad3bp+4 +-0x1.5739785aa9cb6p+0 +0x1.974ac42aa19f3p-1 +-0x1.19e94204b2e05p+4 +-0x1.60de180df5b3ap+2 +-0x1.7877256bbd104p+2 +-0x1.fea15116b212bp-1 +-0x1.c22308bd575ddp+1 +0x1.288e7f47d1b81p+2 +-0x1.0be3f8116e0dep+1 +-0x1.e322c79333de6p+2 +-0x1.11322e6dd5efp+3 +-0x1.34b88999f1bfdp+4 +0x1.52f1279623616p+3 +0x1.119c0fbd1adb5p+4 +-0x1.69e2d1e8fa137p-3 +0x1.1feb9ad409c2ep+4 +0x1.61feda8a1b167p+2 +-0x1.8f798a89cb563p+4 +-0x1.0381ca9d806c6p-2 +0x1.969822a48f2bfp+2 +-0x1.4b524db6de106p+1 +-0x1.321ac45903b65p-2 +-0x1.6ebfad34f3528p+4 +0x1.e1d78c350aacfp+4 +-0x1.1208ee7041017p+3 +0x1.50da0aca712e9p+3 +0x1.095648628df8p+4 +0x1.d7c7b5dcd6724p+4 +-0x1.d0964bde55c72p+3 +0x1.2e651714ec24dp+3 +-0x1.c0bdc3f5eb2e8p+3 +0x1.1695d07763352p+2 +0x1.0454b477b93dbp+3 +0x1.4ccce934eb87fp+2 +-0x1.1db5faa1216e6p+0 +-0x1.786a46d1d8691p+4 +0x1.990da5661a543p+3 +-0x1.0ccbbf8e5a596p+1 +0x1.4f6fe74404b98p+3 +-0x1.d20a797212608p+3 +-0x1.99dd5f0dc1be9p+2 +0x1.e5340b83aa563p+3 +0x1.a5b969d782f2p+4 +-0x1.928d3bcbf4518p+2 +0x1.2e315198a9783p+2 +0x1.513135f05f2bbp+3 +0x1.0222ca2b4f081p+3 +-0x1.89523b2b1129ap+2 +-0x1.ec6731814760cp+1 +0x1.0523de79fd4ecp+3 +-0x1.3a3f7be689a0bp+4 +0x1.5ebaf64b450f1p+4 +0x1.224768673ab86p+4 +-0x1.1e90c4dbc07dep+5 +-0x1.fedbaa128aafap+3 +-0x1.022820fe4bbf4p+5 +-0x1.03bc53d9dd946p+5 +0x1.726507104601ep+4 +-0x1.e2fa33afd4d83p+4 +-0x1.000cc0f07a4a9p+2 +-0x1.16afe7cf93e2fp+4 +0x1.5d8299296a8cp+3 +-0x1.582e240c71aaep+4 +-0x1.65ffe7961a37p+2 +-0x1.07b00502bdde1p+4 +-0x1.8a79a9cce700bp+4 +-0x1.362ff8c8539bcp+4 +0x1.5a2a55bb21dddp+3 +-0x1.ad62d5415a7f6p+2 +0x1.43efd93e082dcp+0 +-0x1.121de9c0dc664p+2 +-0x1.68e8ebc40287cp+2 +-0x1.4737a7b0ff72fp+3 +0x1.8d7229f449b5bp+4 +0x1.d3724fc717215p+1 +-0x1.d01bf904aa6b9p+3 +-0x1.d040af28a58fcp+3 +-0x1.8f066b99c681fp+6 +-0x1.23d4f32e81314p+5 +0x1.2ae7ecad8a2f3p+4 +0x1.8733f7daea068p+4 +0x1.bc26f58537a4dp+3 +0x1.8ddbdaf9013e4p+2 +-0x1.c049b5b81bf84p-2 +-0x1.fec4921b7b307p+2 +0x1.7f7968f52df6bp+4 +-0x1.1dd896290ba68p+3 +-0x1.a9ae636ac6ad5p+3 +-0x1.8077dd65339dep+4 +-0x1.1e7b08199fe76p+5 +0x1.235395438149fp+3 +-0x1.c87d10a63d169p+0 +-0x1.d320da5d9ee0ap+2 +0x1.03b143c0b2672p+3 +0x1.7a38475a7c219p+2 +0x1.242e1d397e6bdp+4 +0x1.b7936a31add3p+2 +-0x1.4f848b363cbf1p+3 +-0x1.0e20dc0f9d118p+4 +-0x1.c14bc04ee403cp+4 +-0x1.0015187c17de7p+2 +0x1.a4475fe31d5f4p+4 +0x1.d225c2f94ab9dp+1 +0x1.21c16635ce30cp+2 +0x1.235af779a7eecp+3 +-0x1.1b58b94905d77p+3 +-0x1.58b5e5e5e17d8p+2 +0x1.dc72e34ae62ecp+4 +-0x1.de7f639b3d658p+3 +0x1.76a74d5003af5p+1 +-0x1.b2a27178698ffp+2 +-0x1.d78d2ad9958eep+2 +-0x1.d3a2753254aedp+3 +0x1.5d8ba75afc39p+0 +0x1.cc630898af8cep+3 +-0x1.22ebdca8bfeabp+4 +0x1.78e75f962beb2p+2 +-0x1.9911172a835e6p+3 +0x1.0855c3159b79p+4 +-0x1.36a249f6713e1p+3 +-0x1.2510e79baa8e8p+4 +-0x1.0d06dd5d881f2p+2 +-0x1.1ee6ddba8f464p+4 +0x1.afd89ba2db15fp+1 +-0x1.29809ec5a8b95p+3 +0x1.aaf702a408688p+4 +0x1.9dcb10f0825a1p+0 +0x1.5f3cc882f0ce7p+3 +0x1.4ba3a5ffa79fcp+4 +-0x1.6d9b24ac25c87p+0 +0x1.a3ea737ecd838p+3 +0x1.207bc67429ddfp+1 +-0x1.fe6d08f681db5p+3 +0x1.1a69746b81fc4p+3 +0x1.d70e4ab377134p+3 +0x1.6f4597dae2bbbp+4 +-0x1.0c62a62513245p+2 +0x1.d820c9530305ap+4 +-0x1.71efdc4a4f75p+3 +-0x1.30841919dfc79p+3 +0x1.70f5336e17d7dp+2 +-0x1.681d715f5e4e3p+2 +0x1.d6ae61baacdc4p+4 +0x1.f196bbf5215ffp+3 +-0x1.41d18d0f022ffp+5 +-0x1.762a83fb3a7fbp+4 +0x1.d63c0d6692ca9p+3 +0x1.f220354c3cc18p+4 +-0x1.f1afc8040b129p+3 +-0x1.87fc703fc6938p-1 +0x1.a217aac4eab47p+4 +-0x1.e8a8802353b04p+4 +0x1.7d3ed50ce274ap+3 +-0x1.e87dd9747919bp+3 +-0x1.9ed7a29a9c834p+3 +-0x1.5be9942ff4d2p+4 +-0x1.9df17d86201f9p+1 +-0x1.4d8be99e8188dp+4 +-0x1.1e72c639b0ae7p+4 +-0x1.cd544b866b613p+2 +-0x1.297df97e7a9ecp+4 +-0x1.72ed200511deap+3 +0x1.351bfe4f9af6ep+1 +-0x1.7a6163d228fb8p+3 +0x1.524c21b4055d1p+3 +-0x1.13f8ce4bcfdbep+0 +0x1.1f938f466b00fp+3 +0x1.21e2580529246p+2 +0x1.7f5a81506ac11p+3 +-0x1.0326e0867440ap+3 +0x1.3dbaa26960115p+2 +0x1.c7e527bc02a67p+1 +0x1.5e1d8eaca6c95p-3 +-0x1.d7ebf650cc9b9p+3 +0x1.9097b662a59eep+3 +0x1.469b66aad8413p+1 +-0x1.fd2e4f7bf87bfp+0 +0x1.34111b41a0232p+4 +-0x1.320bb7ec305bbp+3 +0x1.c3d3ce6fb26cdp+1 +0x1.d68badce5fad4p-2 +0x1.d5fbd9a4099ap+3 +0x1.7747520a8506ap+4 +-0x1.a3adc4d8243f9p+4 +-0x1.c7e54a561edfcp+2 +-0x1.1872b908a3c89p+2 +-0x1.e39d87f265b94p+3 +0x1.b75530da2cbeep+4 +-0x1.db9717453752p+1 +-0x1.7e4a49aa11db4p+2 +-0x1.ca0c47971a2e3p+2 +-0x1.140941e8f4e9ep+2 +-0x1.b89a4d30de0b1p+4 +-0x1.047d929ca12b4p+0 +-0x1.1fca22d9e3d3fp+4 +0x1.b510ea6341a5dp+2 +0x1.0ea7bf950d4bep+4 +0x1.c6c843e32c486p+3 +0x1.60342384077cbp+4 +-0x1.a5ffd2292d3b4p+2 +0x1.15160e2ef6484p+3 +0x1.125b5c34f3271p+4 +0x1.90738b259e457p+2 +0x1.d921afd783667p+4 +-0x1.b154157bf17a5p+4 +0x1.4431396d43267p+4 +0x1.f07062f70ded8p+4 +-0x1.469440b3191fep+2 +0x1.be8d7ebaf73cep+4 +-0x1.6c8e20d320275p+4 +0x1.597e7bc43487p+4 +0x1.727436957ad8p+4 +-0x1.7b4e545a4fef2p+1 +-0x1.47ffa36f14afap+4 +0x1.e144f75d2808bp+4 +0x1.260285817baf3p+3 +0x1.686e95f29c34dp+4 +0x1.710bd5d2c5ee7p+4 +0x1.55e840d9b9166p+4 +-0x1.43ffa8e88d158p+2 +-0x1.69b8c86092a1fp+3 +0x1.c0c0d7045be57p+4 +0x1.eac24ae0b33dcp+3 +0x1.e064bf381862bp+4 +-0x1.c5a6f5ae0f81ep+4 +0x1.7d090a3ef9149p+5 +-0x1.51054c3cebb78p+1 +0x1.87593e01b5edp+4 +0x1.064c8f50de85ap+5 +0x1.0e768a936696ep+4 +0x1.fcd304df17d13p+3 +-0x1.83da27a69b128p+0 +-0x1.6fa7bbb482b52p+4 +0x1.1131d402eeaa7p+1 +0x1.84b6ef7476f9dp+4 +0x1.82d034b577949p+5 +0x1.3070756303b56p+3 +0x1.d6dd86c0ff286p+2 +0x1.b0c4237bd40dep+2 +0x1.6ecb46f059fb6p+0 +0x1.5472d0ca8751bp+2 +-0x1.2c76e4e00044bp+0 +-0x1.d8f29a525c17bp+4 +-0x1.91d9f20f8ddd2p+6 +-0x1.aa4dad59a0ec4p+0 +0x1.88639a9d97768p+2 +0x1.0047971d6e2a7p+4 +0x1.115370a703986p+1 +-0x1.e2efd44d4231ap+3 +-0x1.dc8958f7b3acbp+3 +0x1.dc3e846d83038p+2 +-0x1.b51a1cc78e455p+4 +0x1.aa61367a61e3dp+4 +-0x1.99a04cdfd0df1p+3 +0x1.b0839e4189b87p+4 +0x1.d13377c3aa005p+3 +0x1.84ad13f7cf1c9p+3 +-0x1.443c98b0560cbp+3 +-0x1.eeb87ebb65fa6p+3 +0x1.38c446b779cd2p+4 +-0x1.710f7cbaa56ebp+4 +-0x1.07b1a0825c188p+4 +-0x1.c75e1451c74e3p+3 +-0x1.3ddf731fb1842p+2 +0x1.27092f8aa5296p+4 +-0x1.0833d382ec7cdp+2 +-0x1.2cb6b94f88bdap+0 +0x1.6bd3df33085e1p+4 +-0x1.17db097560542p+4 +-0x1.fc4a6a3e62f6cp+0 +0x1.a13b131bdbb55p+5 +0x1.40fc5612ba1c1p+2 +-0x1.cc7f4e662776ap+3 +-0x1.792ec52d353ep+2 +-0x1.44a492f5ff5d6p+5 +-0x1.3827d3f76703bp+4 +-0x1.41cca35a5f8bcp+5 +0x1.fe5e455cb8454p+4 +0x1.d9b4370fc2651p+3 +-0x1.5a043cec84b91p+1 +-0x1.dd150317c60b9p+1 +0x1.dfc3cb1d20efp+3 +0x1.1f3afe7426708p+1 +-0x1.0cc97c80d87ddp+3 +-0x1.201c3df5ee694p+3 +0x1.df82b0e4c13fdp+3 +0x1.395d76dbb0bf2p+1 +-0x1.0b866d3ed57bcp+5 +-0x1.738d300f0c4d4p+4 +-0x1.0eeade15c772fp+4 +0x1.40cdcce2fc373p+3 +-0x1.3c73da13f2cc1p+4 +-0x1.74ae489a85dacp+1 +0x1.d82759a5a7c6fp+3 +0x1.ad9adb2f3c1aep+4 +0x1.1723e809d8be9p+5 +0x1.8f42905a6af4p+2 +0x1.550ea22983af2p+4 +-0x1.b17830927004cp-2 +-0x1.061f0850a474bp+4 +-0x1.7ae9b9ac3ce2fp+1 +-0x1.1541c8e599a71p+0 +-0x1.ed3335edb3fd8p+1 +-0x1.a2b8e06527b38p+2 +0x1.a0f539991818p+0 +-0x1.e01f1bfe66fc3p+2 +0x1.16513190b331fp-2 +-0x1.39bbd90a02bf2p+1 +-0x1.a0c207726808fp+4 +0x1.268d4ca64e482p+4 +0x1.8e2fbc3125b5ep+3 +-0x1.6b14c3fe2796cp+3 +0x1.8dc764d61a0ccp+3 +0x1.8779e69e57682p+2 +-0x1.176c96d183422p+3 +-0x1.25a54306d73b7p+4 +-0x1.81eb79a888b49p+3 +0x1.2ef405a58bab5p+4 +0x1.11e367b41be23p+1 +0x1.8ec7b0a28eee7p+1 +0x1.074bb4b92a08p+1 +-0x1.fad8058412ce2p+2 +0x1.827dd95ed480ap+2 +-0x1.14a3ce94c49d2p+4 +-0x1.6c924ef725951p+3 +-0x1.75eb80c0dbf7bp+4 +0x1.24954c7f5ee18p+3 +0x1.f902db3318d55p+2 +0x1.640cf26bfbb62p+1 +-0x1.2f224f92f6885p+4 +-0x1.02d94b4d9016dp+4 +-0x1.9b7db7392324dp+3 +0x1.68651ebb454f2p+4 +0x1.f4796f30027fbp+3 +-0x1.d1393d75f4511p+3 +0x1.c5dc8fd3603a6p+4 +0x1.bb6f3211e908cp+1 +-0x1.cd8996d89a7e6p+3 +-0x1.c73193f75f0c3p+3 +0x1.987076bd1eeaep+2 +-0x1.a68fc08dfec19p+3 +-0x1.7ea432dd2a5a7p+1 +-0x1.339fbe43d34c6p+4 +-0x1.413901f5193e6p+2 +0x1.ce62222b3805cp+3 +0x1.970f028113879p+4 +0x1.8abad91d0108fp+3 +-0x1.2c58f7a4e021bp+2 +0x1.06a996941e707p+4 +-0x1.640e731051c8bp+7 +-0x1.fe3dd3b21c701p+4 +-0x1.6021c857420fcp+3 +-0x1.575737013d5d6p+0 +-0x1.cfee4949fe65bp+2 +0x1.11638da253de3p+2 +-0x1.fb4ad68db196fp+2 +-0x1.c39980192670bp+3 +-0x1.00d2d9006315dp+2 +0x1.7fbfd8baa1d71p+4 +0x1.5a65d861f8c53p+4 +-0x1.195100e9c8f91p+2 +-0x1.4915bbf40d86fp-1 +0x1.6beb9b08962b9p+3 +0x1.57a911eb1ad5fp+2 +-0x1.12d0505a7c635p+1 +0x1.89ea2ae702fcp+2 +-0x1.5632cdad9c323p+2 +-0x1.d4c06be24be8cp+3 +-0x1.4f1954f19cfa9p+2 +0x1.3db72f9579379p+3 +-0x1.d8db14a91be06p+2 +0x1.98df14da2cd37p+3 +0x1.14ed3aaba1e13p+2 +0x1.152fd86c0f4d9p+2 +-0x1.eb0c41597dcfdp+1 +0x1.c34ee9c0b662p+3 +0x1.f84a204697033p+4 +0x1.43f320e296de6p+3 +0x1.38668c7e85186p+4 +-0x1.0fcdda4fc16b8p+3 +-0x1.9f96a6f3cef22p+1 +0x1.e85928dbfb41ap+2 +-0x1.361cdf5362f57p+5 +-0x1.8c83ce414b22fp+4 +0x1.1c76ac621150bp-1 +0x1.5b16355b23c86p+3 +0x1.5c549458b4ea9p+3 +0x1.969e895e32515p-1 +0x1.2440fa8897061p+5 +0x1.31fb48ccd28e9p+4 +0x1.2d1b84d2bb28ap+2 +-0x1.225302fa6c87ep+3 +-0x1.342994f685e83p+4 +-0x1.71951e6049268p+2 +0x1.29b1a102edbd7p+4 +-0x1.cff757eb27dffp+4 +0x1.2a3a816ba5faap+4 +0x1.f42529712cc99p+0 +0x1.c8b54130361efp+3 +0x1.83bb476615988p+1 +-0x1.0da2b7a85423p+1 +-0x1.0fdb2e462211cp+5 +-0x1.35115f1147a95p+4 +-0x1.b6312122192f4p+2 +0x1.a740b09c4e06fp+2 +0x1.09450797d14ccp+3 +-0x1.b8529be49df6bp+3 +-0x1.808f836249d14p+4 +-0x1.b7e28934b005fp+2 +-0x1.3c6e2582182cdp+4 +0x1.e87adde1019eep+3 +0x1.3902b2ba290bap+1 +-0x1.76edd365a8352p+0 +-0x1.667d7d6d8cd7dp+0 +-0x1.8b4aa06b5acdep+2 +-0x1.4a9160586351bp+3 +-0x1.36f888457e0f6p-1 +-0x1.9fb55e7c25027p+3 +0x1.0cca47e013bebp+3 +0x1.f9b5d46083528p+6 +0x1.0dc2f1273843ap+2 +0x1.9a8405cf46916p+4 +0x1.a607c945b5ac9p+4 +-0x1.44bb7d10967a3p+4 +0x1.f3e262d7d2025p+3 +-0x1.1518701db4cacp+4 +-0x1.5946e5076ca65p+4 +-0x1.d8f4f72e75f3bp+2 +-0x1.bc8404e8eea26p+3 +0x1.c53ab41121f9bp-1 +0x1.191f9a7809804p+4 +0x1.acbceb1ee93cep+3 +-0x1.4c2d729be6727p+3 +-0x1.02ea11fc8cd65p+4 +0x1.20889d795ca8cp+2 +0x1.8c2f30e6de49cp+4 +0x1.10b322fb9951bp+0 +-0x1.699c5b99f3a9bp+7 +-0x1.2743a11ce3daap+3 +0x1.4c16c24675605p+2 +-0x1.035d74bcbe027p-1 +-0x1.5967711870325p+2 +-0x1.044af2319224cp+4 +0x1.572759d0c031p+3 +0x1.0b9a4cb849af3p+5 +0x1.c2c14901ebb99p+2 +-0x1.18b6f0db87a4bp+3 +0x1.aa7be7a00f4afp+1 +0x1.0e7168cd2a5b9p+4 +-0x1.b5a3dcd4bbb18p+1 +-0x1.c72a6a042e50ap+2 +-0x1.cb81070961543p+0 +-0x1.47dbd3cd97892p+4 +-0x1.df37b2105266ap+3 +-0x1.430243a5f0f96p+4 +0x1.f6647fbd4cb5fp+4 +0x1.d75654d29b386p+3 +0x1.19a419c0aa2c8p+3 +-0x1.ac16228b22c89p+2 +-0x1.901e201c5cac3p+3 +0x1.091687705c0fep+3 +-0x1.e3f9a13ff48efp-2 +-0x1.6e97388085eb2p+3 +0x1.66dc784199b8bp+4 +-0x1.6800f8cb7b18p+2 +-0x1.a8aa7773154bcp-3 +-0x1.aee52b26e299fp+4 +0x1.cf472b7ab2264p+3 +0x1.894a2ce6e0933p+2 +-0x1.7819202c89d5dp+0 +0x1.2401c8899a63p+4 +0x1.4296ce4e36ddp+3 +0x1.b9051ee5173f3p+4 +0x1.6b220e627c763p+3 +-0x1.91f2694f245dbp+1 +0x1.aed15d501a24fp+4 +0x1.144ca30cf11f4p+5 +0x1.67aa4ff5ab2b6p+4 +-0x1.48a91f20bffc6p+4 +0x1.9a61f20256742p+1 +-0x1.131b2bd2445cap+4 +0x1.eaf8483e99704p+2 +-0x1.9efd931e2acdep+4 +-0x1.a0321a75a5356p+3 +0x1.616db09e2fa48p+3 +0x1.2ed1fbbf59e47p+2 +0x1.c5cc15a896495p-3 +-0x1.9f96e8dcc513fp+2 +-0x1.0ef2a558260a4p+4 +-0x1.6462b400a9578p+1 +-0x1.d53832d3bed9dp+3 +0x1.b8dd7040d692fp+2 +0x1.4874b97365b26p+2 +-0x1.ec97ba98fa1b1p+4 +-0x1.53ef33d7c4a76p+3 +-0x1.07fba90718481p+4 +-0x1.d5c393bd7c10ep+2 +-0x1.448fe47264738p+5 +0x1.094c28d7301dp+3 +0x1.31663ecbd3645p+4 +-0x1.cf8768a66ee09p+3 +0x1.3509d066274a2p+1 +0x1.8dabe1a2eca3ap+2 +0x1.89563e1a7abc4p+2 +0x1.41e1ccabff7ap+2 +-0x1.bb2d1c4e64f42p+3 +0x1.1c840e2a493d7p+4 +0x1.bc5d90d6ec0a3p+4 +0x1.36b89c616fe2fp+3 +0x1.63b2d5835604bp+0 +-0x1.88f8a32b99b0dp+4 +0x1.033bdbbad7697p+4 +0x1.7102185faf9b6p+3 +-0x1.3d096a9d70e32p-2 +0x1.3473c7e0d3656p+4 +-0x1.e31a31f195de4p+3 +0x1.efcb56603790dp+3 +0x1.a506ae382d772p+1 +-0x1.711fe7fe834fp-1 +-0x1.144e54b43e567p+4 +-0x1.821f6af7bfa5cp+2 +-0x1.facc3d8bb364ap+0 +-0x1.8d13ffd78004p+5 +-0x1.69e3ad3c29a73p+2 +0x1.4818c4a85a7a4p+3 +-0x1.40af87bbf289bp+4 +0x1.74a9b37329c64p+4 +-0x1.03bd38674857bp+4 +0x1.6e1a90fa22563p+0 +0x1.702f9efb00858p+3 +-0x1.810b8067e927dp+7 +-0x1.a287826e25cc7p+3 +-0x1.6a13d125c1d2dp+3 +0x1.bf6545614f2aap+1 +0x1.0073b49702568p+0 +-0x1.deccb44d69f3dp+3 +0x1.b97cd53a84b79p+4 +-0x1.e859599a8541bp+4 +-0x1.e8608a26fd75ap+3 +0x1.29b278175bf62p+2 +0x1.8068782345c75p-3 +0x1.0c8efd730f12p+0 +0x1.8abba277c6feep+3 +-0x1.70115381b7af9p+2 +0x1.11c3004c61d25p+3 +-0x1.fcebaafb4ecb6p+3 +0x1.b7819a2b6aba5p+1 +0x1.c4abced09ea7ep+3 +0x1.20b7f2c0a02e9p+1 +-0x1.625d30f6bd861p+2 +-0x1.4d16412bc07b6p+5 +-0x1.6e78e8541f34cp+4 +0x1.ff57b4477173ap+1 +-0x1.732f7fbf78345p+4 +0x1.c60c8a18ca74bp+4 +-0x1.6c0f712692246p-2 +0x1.6c6fccae9544p+3 +-0x1.8770ac5c7c4d7p+4 +0x1.2e1f3fb86e2e1p+3 +-0x1.8a5f0fb797007p-1 +-0x1.137b351e7d8bep+0 +0x1.08318d16847cp+3 +0x1.55dacfe7d2f16p+3 +0x1.c697ca1ea3a28p+3 +-0x1.7e14c4e8c5dd1p+2 +0x1.c05af990ced74p+3 +0x1.8237cef072a53p+4 +0x1.d456c46c32ff5p+1 +0x1.8f5974602f8c2p+3 +0x1.9e93011006be8p+4 +0x1.27f39a9c172a7p+4 +-0x1.1bbf7b8216c44p+3 +-0x1.be890b1a75765p+0 +0x1.a553d59400777p+3 +0x1.43939e5464cfdp+3 +-0x1.4045e41a2f778p+4 +-0x1.35a0f5e4ccdc2p+4 +-0x1.3422aac46b8f2p+3 +0x1.fa67b5b462e41p+4 +-0x1.3cc6fc0ab709dp+4 +-0x1.21421cb0c391p+6 +0x1.78175b45bbf5cp+2 +0x1.07b0322010eb3p+5 +-0x1.39bc1cac5674ap+3 +0x1.7e1ecab2b8611p+4 +-0x1.a8cdaa343f1c3p+3 +0x1.f5b0caff27af8p+3 +-0x1.e7061a420527ep+3 +-0x1.323af1ffac813p+2 +0x1.8d033a8dd7ddap+3 +-0x1.a1a07454f8a1dp+3 +0x1.50cc41f57d39ap+0 +-0x1.f56e5e9fada02p+3 +0x1.3859d96750defp+3 +0x1.73203bf383085p+3 +-0x1.8adde5f8f1df4p+3 +-0x1.d557ae14c19b7p+0 +0x1.36e46dc9e2dddp+1 +-0x1.3327087d2eb26p+2 +0x1.27b77812c8d7bp-1 +-0x1.3d6d9449f0b2cp+3 +-0x1.11e906c2545bep+3 +-0x1.deaedd8052d44p+4 +-0x1.6c268666b780dp+2 +-0x1.751cb5efc0125p+2 +0x1.7e5a447cbe912p+3 +-0x1.a1a94467137d8p+3 +-0x1.631e76fac0a58p+3 +-0x1.4974ea8a5b944p+1 +-0x1.610c39847f6dep-1 +0x1.64f79be504d66p+2 +0x1.ef4876bb9373dp+2 +0x1.3bf07758ac0edp+5 +0x1.1b3054b54d8d9p-1 +-0x1.0d3a4f35633c5p+2 +0x1.017ee3b6d9aebp+5 +-0x1.208cbf8e3dbeep+4 +-0x1.5f084df226306p+4 +-0x1.2bc95225cf2a6p+0 +0x1.79882b08dd3ccp+3 +0x1.f213b8342646bp+3 +-0x1.a1dee7da2bf6cp-2 +0x1.398ba033f91a6p+2 +0x1.1da22d883e9c5p+7 +0x1.d42f3c7406546p+3 +0x1.2bbf93e04eb95p+6 +0x1.b164e917a32f8p+1 +0x1.adaf625ba3cfcp+4 +0x1.e9a2d143c4b25p+3 +-0x1.17544ad4ba83cp+4 +0x1.3276ea83d9999p+0 +0x1.10b9018f94faap+3 +-0x1.534cf5b8733a7p+2 +0x1.162fbf03dcc26p+3 +-0x1.cedf6ae68040ep+4 +0x1.e4a268fcc1f87p+3 +-0x1.2988d714911b8p+3 +-0x1.35c038462ef2ep+3 +-0x1.8f9f8b27f2ccfp-5 +-0x1.2596ba0f8da32p+4 +0x1.ad4837c3f13d4p-2 +-0x1.d574c505bd404p+0 +0x1.9e272df83331ep+4 +-0x1.baca8328beadep+3 +0x1.9f22e23bc0f6p+2 +-0x1.c073ca76d48a1p+1 +0x1.1633b247d7e01p+3 +0x1.63fde035cd946p+2 +0x1.3bf3ffdc65e09p+1 +-0x1.2429280322e3bp+2 +0x1.b44f60e7247e4p+3 +0x1.35ef8ef818f27p+3 +0x1.89527e4afbc3fp+2 +0x1.01263efdae1d3p+1 +0x1.43f43b811264p+4 +-0x1.272e41a83f19cp+1 +0x1.cde265bc071c3p+4 +-0x1.2759fba345ef1p+4 +0x1.53c29fe09b2b4p+3 +-0x1.3b002ac772cc3p+3 +-0x1.a9d384a6c2d99p+3 +-0x1.c0ffa46344c7bp+4 +0x1.28be59a2b8973p+4 +0x1.dee23f044c63p+1 +0x1.00a382f66b2b1p+4 +-0x1.089955f5cde6ep+4 +0x1.02e05d7d05fdbp+4 +0x1.1d920135cafdp+1 +0x1.b4eab91fa7e9dp+4 +-0x1.50679095977ep+5 +-0x1.b02079606e48ep+2 +0x1.15067d4ddd5d2p+3 +0x1.33b2fd363a87ep+4 +0x1.229d8dbb97519p+3 +-0x1.14bb16ed08341p+4 +0x1.06aa7a7c56016p+3 +0x1.b45903726b769p+2 +0x1.715c2c71815e3p+4 +0x1.66840832724dep+3 +0x1.f24d72fa4a60bp+1 +0x1.dbf50b585b223p+4 +-0x1.938fba520654p+4 +-0x1.bbfd71f367dccp+0 +0x1.333e5ed1263a1p+4 +0x1.05222e2d2d4aep+0 +0x1.8c6cd202ba974p+4 +0x1.8f1b75ace3b7bp+2 +-0x1.02c5f5cf16d5p+2 +-0x1.1713aaf722843p+1 +-0x1.a29ad45c3a3dap+4 +-0x1.b6d618e039128p+2 +-0x1.70b115246867bp+1 +-0x1.d84737c689ddp+2 +-0x1.a232c0b047aebp+0 +-0x1.90dce13d5c42p+2 +0x1.523a7ebfe78e3p+4 +0x1.e70aedebd4b1fp+2 +-0x1.5a1c975911dbfp+3 +-0x1.ed119034e6a4bp+3 +-0x1.792fd2b9e456dp+1 +0x1.4880715dad285p+3 +-0x1.e435be704689ep+2 +-0x1.e5248c755c768p+3 +0x1.2ea91c7e4606fp+3 +0x1.0752368183a77p+4 +-0x1.9fd765276e4a2p-1 +0x1.d27774b0a46bcp+1 +0x1.a0de76d18538p+4 +-0x1.779e199954091p+3 +-0x1.9a63b29ced1acp+3 +0x1.4551c071e3612p+3 +-0x1.2bf0f08f79f3bp+0 +-0x1.ae0f77c31c75dp+2 +0x1.09f79467be0cbp+8 +0x1.34f0d2a12cd84p+2 +0x1.69e271f1f8fa2p+2 +0x1.2da5a48c9a9e1p+5 +0x1.a9cf96e2ed939p+3 +-0x1.45019d2ee0fb3p+0 +-0x1.661fa9d1f6bbap+1 +0x1.ce6a228515532p+3 +0x1.e60fc4f8bc76ap+1 +-0x1.ba4f23e166ab6p+3 +0x1.bef6acf8e5265p+2 +-0x1.f08f31b874a0cp+1 +-0x1.827eef84b9c14p+2 +-0x1.81451763c7fcbp+3 +0x1.929f7c4873464p+2 +-0x1.2e62ca652df96p+1 +-0x1.0b1e914266a6ap+4 +0x1.8b1da759fca95p+2 +0x1.41a8c338299f7p+3 +-0x1.c2ed3436ec8e9p+3 +0x1.23ff52f35c879p+4 +-0x1.79751538755f8p+3 +-0x1.0f890d76a6f7fp+0 +0x1.31813f5a8b34fp+2 +-0x1.19f82859faf39p+1 +0x1.4f28e4c463c9cp+4 +0x1.9f7be005ac4a4p+1 +-0x1.73dbd7d50128bp+2 +0x1.f24a97c1672e6p+3 +-0x1.3785bff77fa86p+3 +-0x1.28ddef8a7188ap+4 +0x1.af2e4bf2e0527p+3 +-0x1.bb9c349cb3eb1p+3 +-0x1.23738446973ccp+4 +0x1.216e94fde3782p+3 +-0x1.404f78dfdac49p+1 +-0x1.d5f7630733621p+3 +-0x1.6a54a38f0c78cp+1 +-0x1.ea251e3191e44p+1 +0x1.e4d75b70f7768p+2 +-0x1.51d77741c59aep+4 +0x1.f0ffbede3629fp+1 +0x1.07cd9aa1e8cc4p+2 +0x1.7291e70882dcp+3 +-0x1.3ff9407a20da4p+6 +0x1.16fa723f3f61bp+3 +-0x1.68cf93cb7cd7fp+3 +0x1.bda4753e9d1aap+4 +-0x1.5cefb291e68d2p+7 +-0x1.044f2c1e7031fp+4 +0x1.6a02aab723bc2p+3 +-0x1.0585998124d7p+4 +-0x1.51373e1abd6eep-2 +0x1.0ccfdf512b482p+1 +0x1.217ce5fc6541ep+4 +0x1.5f834695e1c6bp+2 +-0x1.4855b8dac7c66p+4 +-0x1.c67155ef87709p+0 +0x1.c4f27f1bdbe13p-1 +0x1.2a624540c149fp+3 +0x1.caa2ebc95573cp+1 +-0x1.682f24da6017ap+3 +-0x1.d0d90ecc89c53p+4 +0x1.904d8057eaef1p+3 +-0x1.d9bc35e72d545p+3 +0x1.b609cf1eb7875p+3 +-0x1.9a9a14ba31b5fp+3 +0x1.3644797ddce24p+2 +-0x1.ada57e0eb119bp+3 +0x1.8fce241b1e336p+2 +0x1.ac55e0fbe0d38p+3 +-0x1.0c3b900555af8p+2 +0x1.a5e5b3473e91fp+2 +-0x1.0565e7ab26f9ap+3 +0x1.6da23867e6d97p+1 +0x1.8559c6cb4dabbp+8 +-0x1.ff2f3bcf1d076p+4 +0x1.bef44a8e2b591p+4 +-0x1.8801d5721b75fp+0 +-0x1.cbb29dedb7859p+2 +0x1.09dc7087753f5p+3 +0x1.19e4c62dab446p+7 +0x1.7fefabfac6aa1p-4 +-0x1.6ef24221dc489p+4 +-0x1.f3f72bcea7a94p+0 +0x1.218a906174475p+4 +0x1.0652460d91c3dp+2 +-0x1.4bc35a7f6918bp+4 +-0x1.503f55f551c6ep+3 +-0x1.de0226626a4c3p+3 +-0x1.7c16f2a2e310fp+4 +0x1.be43032895252p+4 +0x1.a2e2c52f41be9p+4 +0x1.5f5178957b39fp+3 +-0x1.80f520a4221aap+3 +0x1.be8831b22588dp+4 +0x1.1e1ad8eda7dd8p+4 +0x1.88af12d33e396p+3 +0x1.56d510daccc47p+3 +0x1.2e8bca4275bb5p+3 +0x1.7c2a16c2964e7p+2 +-0x1.c3f2462543705p+2 +0x1.48d404a8ee454p+7 +0x1.11083b729cf36p+4 +-0x1.7e2af39315da9p+3 +-0x1.7da2eaba0ec41p+1 +0x1.506ffb7425729p+1 +0x1.7ab5ea8242debp+1 +0x1.b77cabf14db6bp+0 +0x1.7b3b4e2f05ddep+4 +0x1.bbddc223d8ed4p+3 +0x1.c509a23d73b8dp+4 +0x1.9cc29ecd7284p+4 +-0x1.3f2d5e6fe7b5ap+7 +0x1.826b805093a09p+4 +0x1.88114f0451dddp+3 +-0x1.242f7a3e92be2p+2 +-0x1.4b33f9eba0d61p+1 +-0x1.3ff7b15d65457p+4 +0x1.e5c145a39e135p+3 +-0x1.0452cb23c2ea2p-2 +0x1.2c762167ec373p+2 +-0x1.2fe8f78eba3bcp+3 +0x1.4b188c8b58e1cp+3 +-0x1.0280595397c7p+2 +0x1.81a3d0dc3fce3p+4 +0x1.61604f72cc50fp+1 +-0x1.88b9b48e6e12bp+2 +0x1.adbde0c853d1dp+3 +0x1.ef8b77b92c76ep+1 +0x1.6f05862b7c708p+3 +0x1.77fe3f349ae8ap+3 +0x1.e038095394ea6p+2 +-0x1.72ba700c37f07p+4 +0x1.cd4b0bddd9365p-2 +-0x1.4730babdc0c14p+5 +0x1.d2be6bebeedf4p+2 +0x1.e0cbeaa06b9fap+0 +-0x1.13802dfe62ed5p+4 +-0x1.1f41e33160aaep+1 +-0x1.29929c9c92042p+2 +0x1.d3f8e5ae13d6ap+1 +-0x1.6e8541189aef1p+0 +0x1.0ad203c10df6ep+1 +-0x1.e96f930781a01p+1 +-0x1.21e5d8eb57dd9p+3 +0x1.94f3cfeabb81dp+4 +-0x1.fea527443ca72p-4 +-0x1.93dc6ac05f8f3p+2 +-0x1.680cd1fdc064fp+5 +0x1.21f1f1626f20ep+3 +-0x1.060a6d09b6f49p+5 +-0x1.1ff16387bdfa4p+4 +0x1.29d32254d535p+3 +-0x1.0ccf3fbb8bc2p+5 +0x1.12b19649c70c7p+4 +-0x1.220a5ffef9135p+2 +-0x1.5ef9eb9552a3bp+2 +0x1.71cdb61a203c4p+3 +0x1.1b40f1a2fcebap+4 +0x1.dae3426c41647p+1 +0x1.ceb35659a8204p+4 +0x1.028d091c63623p+3 +-0x1.0e43930a7e9cfp+1 +0x1.67c3bc90a27d5p+2 +0x1.d86000d9a7707p+1 +-0x1.e6a3193c6903bp+3 +-0x1.d435916a9329bp-1 +0x1.1e75da86fb093p+0 +-0x1.0d4c1fec2fa9p+4 +0x1.b43d4895156f7p+0 +-0x1.d37956b1a6bd5p+3 +-0x1.a04d485c3b9e7p+0 +-0x1.04014c571b3e5p+1 +0x1.658acf683261ap+2 +-0x1.0ff5d61e9b253p-2 +-0x1.8d2fd916db9f5p+1 +-0x1.26c032f90fc1ep+4 +0x1.92570b013343bp+1 +0x1.5027343852a7ep+3 +0x1.687e11cabc067p+2 +-0x1.82955d1c9805ep+1 +-0x1.f0a28e0a0bfc3p+3 +-0x1.934f90e95a09cp+2 +0x1.9f3bffdb167d8p+2 +0x1.104161c484cbcp+3 +0x1.250e9485f986cp+5 +0x1.cbb8b279f75cfp+3 +-0x1.2355527e064a1p+5 +-0x1.39dd9137af427p+2 +-0x1.69653a2a1374bp+3 +-0x1.9e5b08d76b728p+4 +0x1.cf9e7d04b54bep+0 +-0x1.f509a8312f736p+3 +0x1.e6fb88bdc053ep+2 +-0x1.f677b13f47f1ep+6 +-0x1.387b95ebd786ap+7 +-0x1.d76b71224c9b6p+4 +0x1.c56e2c269a7f6p+4 +0x1.2fd78ccfebdf2p+3 +-0x1.53571df7a806p+2 +0x1.1fc02cf8c4886p+4 +0x1.39d581f782417p-3 +0x1.79ddb9cfaf268p+0 +-0x1.deccf2895ba49p+3 +-0x1.8c3e2b8fe0721p-1 +-0x1.5b33503a77d7cp+5 +0x1.3e4dd68a3b267p+4 +0x1.32e09414cfe9ep+2 +0x1.b25072bb38547p+3 +-0x1.e1b733cabc1a8p+4 +0x1.36b69bef0cbcap+4 +0x1.24780e586bcd3p+4 +0x1.8548539b1fd87p-1 +-0x1.3612bb1dc64eap+4 +-0x1.e537779e7d117p+1 +0x1.17896c66b683bp+4 +0x1.46868ed04dc18p+2 +-0x1.53c8ca3e29b1ep+3 +0x1.ea6f95ee5dcb6p+3 +0x1.b4e0038a61d51p+2 +-0x1.e2af578213281p+4 +0x1.0533a560b45f6p+4 +0x1.31e5cd8b6bc1ep+5 +0x1.a8aec58be087p+4 +-0x1.70f68000c51eap+3 +0x1.51f401ec7fbdp+3 +0x1.db06473f40fedp+0 +0x1.4e1963fd716bbp+1 +0x1.a93094e125a22p+2 +-0x1.1026fefab4092p+3 +0x1.2b11802d5672cp+0 +-0x1.1663b10191896p+2 +0x1.64f32aa7f17c9p+2 +0x1.76f537ad53e83p+4 +-0x1.229ed99baeca3p-1 +-0x1.9d54224e8c116p+1 +0x1.66399235e31adp+2 +0x1.8274241590838p+1 +0x1.56ef89e9426dcp+3 +-0x1.48c9fc90c511ep-7 +0x1.2c9095d7682e6p+2 +0x1.f11c2ae636f68p+1 +-0x1.d30d83164bea4p+3 +0x1.7c24af02ca1bp+3 +-0x1.a8496a3e739d3p+3 +-0x1.8d426075714abp+2 +0x1.2fee8d8fad0ccp+3 +0x1.2784b3c87544ap+3 +-0x1.fa3b208cc16eap+1 +0x1.5f32ab56a81c4p+2 +-0x1.d1bb10de8809bp+3 +-0x1.b9e65c992b6c7p+1 +-0x1.665a55a0cecccp+5 +-0x1.6dbe7021dcdc3p+1 +0x1.a46e973a3e99p+4 +0x1.4cde1121818fep+4 +-0x1.e842a6195ef26p+3 +0x1.a07a37e8d4c71p+2 +0x1.021d6b583a26cp+4 +-0x1.07a6aa47f6bfcp+2 +0x1.684072264d247p+5 +0x1.5a13a33f9ca56p+2 +0x1.e2f9968e2736fp-1 +-0x1.5ffafde92027ep+2 +0x1.b56387a27cf5dp+1 +0x1.7d238029ceef2p+0 +-0x1.61af1bcd2f05ep+3 +0x1.2248f374326cap-6 +0x1.2498498f33eaap+4 +-0x1.8907402f60d53p+4 +-0x1.ab41475fcd6bap+4 +-0x1.dfbe17f38637ep+0 +0x1.9308bf9a54849p+1 +0x1.c58a07e377dc5p+4 +0x1.b362b3185f4d7p+2 +0x1.57be103ebaf0cp+0 +0x1.2a3a12a619941p+0 +-0x1.020ca5691cce5p+5 +0x1.83ec89bb2ce2fp+3 +0x1.b2c4774b4357bp+3 +-0x1.113a09f81fc81p+3 +-0x1.d382c87c16dfap+3 +0x1.7880f4f8ccd14p+2 +0x1.971a035ffe8adp+4 +0x1.0fb77f47421eep+3 +-0x1.9719c92834c47p+1 +0x1.ea1f6d15e40f3p+0 +0x1.32beae2003fcp+4 +-0x1.cf59e5c75346p+3 +0x1.1b29cf0432334p+4 +-0x1.3a8dc761fad7ep+4 +-0x1.9329f7e1e1bb3p+3 +-0x1.da33f91ffa374p+1 +-0x1.6ef64ba5996c6p+2 +0x1.87044df018b7bp-1 +-0x1.52cf3636ba4c8p+0 +0x1.081ab8e481571p+2 +-0x1.a3029d2789b85p+4 +0x1.0dd4a1f66412bp+5 +0x1.e21868c0305abp-3 +-0x1.365096745d39dp+1 +0x1.f8c280e4e1c84p+2 +0x1.2e34b13041e0ap+4 +0x1.76e0cc85b8289p+4 +0x1.7fc06c4f16dcap+4 +-0x1.1fc0438960659p+4 +-0x1.0ae6fc59bc6d7p+4 +-0x1.2c6562b353152p+3 +-0x1.cc02a394dc81p+3 +0x1.eed6e25dc319dp+4 +-0x1.95d15aed7e55p+4 +-0x1.c9bdba2cce334p+4 +-0x1.386052d34a305p+6 +0x1.059c1493b1ef6p+4 +-0x1.cd3fc1071d3c8p+3 +0x1.6e093b3f895bfp+3 +-0x1.4d1a150d70ee8p+4 +0x1.fbe58bc9bd9d5p+2 +0x1.bc4616bd7691p+2 +0x1.8efeadf3c5833p+0 +-0x1.edf52b2c77c85p+3 +-0x1.c75fde6084728p+4 +-0x1.360ca3a0dd42cp+4 +-0x1.8316aa3769e3dp+2 +-0x1.d60075694fd86p-2 +0x1.35d0c835f1382p+8 +0x1.dcda45212aec6p+3 +-0x1.59edd0fd7a02bp-2 +0x1.4b4d1a28acebep+1 +0x1.334620ecc9621p+4 +-0x1.29ca766a4883p+3 +-0x1.be15557ae10cbp+3 +0x1.ea0c0064d5ceap+2 +-0x1.ce34047bc919dp+2 +0x1.1e87cd6bad3efp+6 +-0x1.e1bb82cad4ff9p+3 +0x1.ea0ff46f317d1p-1 +0x1.923c71788ea04p+0 +-0x1.4884c29964546p+4 +0x1.152025ce81301p+5 +0x1.d299f4143fefap+3 +0x1.0386c797fbc4ap+5 +0x1.00ec53614e27ep+1 +-0x1.0a6d141458b05p+3 +0x1.0269a3cd98e66p+3 +0x1.5638675db228ep+3 +-0x1.b712ca3109ea6p+1 +0x1.1f2cd3235346cp+1 +0x1.ed4bdf659996fp+0 +-0x1.a29e188bf5bfbp-1 +-0x1.069dc0fb9574p+4 +-0x1.050c8a2ff07b7p+3 +0x1.90271c76cfadbp+4 +0x1.17cf9a8c3dc4dp+3 +-0x1.917ca02a22d06p+2 +0x1.15f860722717bp+5 +0x1.b87e35ebfa349p+4 +0x1.7ae3124b25f2bp+2 +-0x1.c5c72c93c2d11p+0 +-0x1.eb5c14492754fp+2 +0x1.2db7ce4a43852p+5 +0x1.917df786a7411p+4 +0x1.0032d2617d198p+4 +-0x1.c04d5276f8e8cp+1 +-0x1.658aab185625p+4 +-0x1.def7a427fdb86p+3 +0x1.139b6c7c3919cp+7 +-0x1.e29c2e02b1802p+4 +-0x1.3a92f53a6713p+3 +-0x1.01840542c33e8p+2 +-0x1.a1bb461853681p+3 +-0x1.cd19ac4ad8ac9p+2 +-0x1.48b60d36a500bp+2 +-0x1.bd350368ccd79p+1 +-0x1.c46617fb1ff35p+4 +0x1.bf977d521a53fp+1 +0x1.72216d32c9337p+6 +-0x1.a5f1702bdb0aap+1 +-0x1.f0470fd55eb31p+3 +-0x1.49c53a8ddc39cp+3 +0x1.99798da1c025ap+1 +0x1.c85f8296c5164p+0 +0x1.91aab55bb0eaep+3 +-0x1.28062a01ab905p+4 +0x1.1c4e4d8604052p+4 +-0x1.2aefe0be622c3p+4 +-0x1.53a44ea11ap+4 +0x1.664ef1c9ea928p+7 +0x1.52828b65f7363p-1 +0x1.539cceded3db2p+2 +0x1.1d375d18b4865p+5 +-0x1.df70f68750cb1p-2 +0x1.6b24572e08393p+3 +0x1.cad8d6274d42dp-1 +-0x1.67bef0d5e2905p+3 +0x1.ba7cff5a21287p+1 +0x1.6f2d89e4377d4p+2 +-0x1.4e682d49ff477p+3 +-0x1.866033fc47c63p+0 +-0x1.a8b234d4fa494p+3 +-0x1.5b18f0c015f78p+4 +-0x1.43970bfb824aep+3 +0x1.2cbe71f97c90ap-1 +-0x1.26b7c0e9a8849p+4 +0x1.194518d91bc4p+2 +-0x1.d7ef251bbc71p+3 +0x1.6bd3bdec63b04p+3 +0x1.2d60d5a27c4b2p+4 +0x1.4e2a48b2d5123p+2 +-0x1.9bc7256c883d5p+3 +0x1.6521f84acf6cbp+4 +0x1.3246dc983ab88p+2 +-0x1.80002fd67a625p+2 +-0x1.1678006ca7655p+4 +-0x1.14855f287d8edp+5 +0x1.54ed1bd62c549p+4 +-0x1.2eefa74a088a6p+2 +0x1.97c2d37b17f69p+2 +-0x1.142d7cf3fdc0ap+4 +-0x1.796aa9a04aae8p+0 +0x1.b0a6c1f6985dfp-4 +0x1.546bc41c08f8cp+5 +-0x1.998eb2a1f58bep+2 +0x1.25fa8f9db5a5fp+3 +0x1.fc34f5a415d0ap+3 +-0x1.6999cad5dcb1bp+4 +0x1.52bfed0c2067p+2 +0x1.564f1508ad28ep+3 +-0x1.aeeba98923fcap+2 +0x1.99268aa57399dp-1 +-0x1.ee66af8dc006cp+2 +-0x1.1c6a1739b26b2p+3 +0x1.435e7e1a9bc3cp+0 +0x1.76cc2e8e9e5dfp+5 +-0x1.83fc524693dbep+2 +0x1.0ddb6410d3c7p+4 +0x1.03605b7977cc8p+3 +0x1.add1e9f1c6cddp+0 +-0x1.12d5618c6b4c6p+4 +-0x1.b48c30fac1824p+2 +0x1.6b3ae30fd52dfp-2 +0x1.173f8478e2863p+5 +-0x1.6c699c20a17d5p+6 +0x1.67d70704a4339p+4 +0x1.46b330f251836p+0 +-0x1.95dc20f6b81b1p-1 +-0x1.fb3325a724a99p+1 +-0x1.d185f66c21c09p+3 +0x1.7f29d578ddf1bp+4 +0x1.404b71c973ecbp+3 +-0x1.d555687577d14p+3 +-0x1.6dfd1cb7643p+4 +-0x1.ec906dcd35ddcp+3 +-0x1.685455d1c3832p+3 +-0x1.fe44a15cfc5f7p+0 +-0x1.bb2b263995e8p-2 +-0x1.762ef989151c9p+1 +0x1.d80ad8139227ap+4 +-0x1.486074c9ef04cp-2 +0x1.0a8cf1332cb4fp+4 +-0x1.216b43a7112cdp+5 +-0x1.5c978b95cc4e3p-2 +0x1.823b307638c3bp+4 +0x1.5941b3dcf0116p+6 +-0x1.2f51752f28a43p+4 +-0x1.c4b97f5f00b34p+4 +0x1.4b06db80057f5p+3 +0x1.9ac9d7097f697p+4 +-0x1.58348aa461328p+4 +-0x1.6a96dfd282c3ep+4 +-0x1.b565071fb2b58p+4 +0x1.03ba242e75589p+3 +-0x1.00f62c2282f9ep+4 +-0x1.29090666ab3e2p+4 +0x1.200271d15e08ap-1 +0x1.02cdd703c372ep+4 +-0x1.c1df0a6cc8eb4p+2 +0x1.62082cc20f3afp+5 +-0x1.38362f1b1b34fp+5 +0x1.05e18b0cb3a7cp+4 +0x1.b4f5170011cf4p+3 +0x1.5d5d25d6e1df5p+3 +-0x1.1bd403a1d726p+4 +0x1.1ed7d1ed1fb16p+4 +-0x1.849d56a528dddp+2 +0x1.31ed443f37bd6p+5 +0x1.86cc4a0a87f44p+4 +0x1.0faede2b4bb8bp+4 +0x1.ff5697c3be761p+4 +-0x1.94f979bc376afp+2 +0x1.e3ca74f9d7f9dp+2 +-0x1.4e0fbca0be32bp+3 +0x1.4f04d297066c7p+4 +0x1.11836795d306bp+4 +0x1.1cf13582f1318p+3 +0x1.c262bccdc508p+3 +0x1.a0f2d65daf9b6p+1 +0x1.c7e2aea850175p+4 +0x1.0ea45c7f10e7dp+4 +0x1.70b79bca29c7ep+3 +-0x1.809fab2fa7544p+4 +0x1.073ac8101b9adp+5 +-0x1.00e0b405485b1p+5 +0x1.18653b53eb512p+3 +-0x1.2914dceb8e09dp+3 +0x1.69cf683f13d39p+0 +0x1.a48fb0c386415p+0 +-0x1.b7f86beff7bbep+3 +0x1.cf689bb62eae4p+2 +-0x1.4df38f690748cp+3 +0x1.3d914834a02dcp+3 +0x1.04d87064f45a9p+1 +0x1.183f8f2241ed6p+4 +0x1.1318240ca5d33p+3 +-0x1.cae47b30d2f23p+4 +-0x1.72a1c2a89d6c9p+3 +-0x1.3d1ec7587c2b8p-3 +-0x1.051fbbde41a39p+4 +-0x1.dd8fcaa8a58f8p+1 +0x1.ac2c57087b80bp+4 +0x1.cf0ef531e025dp+1 +0x1.2a15bb92fdf38p+4 +-0x1.6458baf70503ap+2 +0x1.3dfba059f2546p+4 +0x1.acce48f4e536cp+2 +-0x1.4a6c29779e9acp+3 +0x1.0d65e0dca8388p+4 +-0x1.ef75c3b7f15afp+4 +0x1.b44d50e3e4d85p-2 +-0x1.1aa7e17a289fap+4 +-0x1.d7ae6b7c6814fp+1 +-0x1.dabe9688f81fp+2 +-0x1.42dc805d7da19p-1 +-0x1.e3ff006448c3bp+3 +-0x1.567bcfb46e58ep+4 +0x1.45e4c94adae2p+3 +-0x1.490a684bbfe4ap+4 +-0x1.0f8e1feffa9fdp+4 +0x1.6b87dd6e069a6p+0 +-0x1.948d00f9cf08dp+2 +0x1.2150989caa1b7p+5 +0x1.91ff10e829bb3p+3 +-0x1.6f7cf2807665cp+4 +-0x1.b2697742ba1dap+3 +0x1.9b8ef73ad9ad6p+2 +0x1.4fc9cbea1c7c2p+3 +0x1.d3a0f4a83acd6p+2 +0x1.249b54f133818p+4 +-0x1.360a5bac22358p+4 +0x1.6a3caeb79e627p+4 +0x1.08101ea1959cep+5 +-0x1.ecf65cc6cfa57p+1 +0x1.62cada4da3588p+1 +-0x1.06112ee96ed42p+3 +0x1.991d772a8d2fbp+3 +0x1.606adf984b0bdp+4 +-0x1.070713afa5105p+1 +-0x1.562a988502c92p+0 +-0x1.dc5e96eedc33ap+3 +-0x1.83bc2de9bd012p+2 +0x1.5f291c644a389p-2 +0x1.234eb33002b13p+0 +0x1.0c56cfcad138ep+4 +-0x1.b96afbe404f57p+3 +0x1.32febf49a93b2p-1 +0x1.9904636bc6218p+3 +0x1.06002bd0dec72p-1 +-0x1.f13c1e5b57d07p+0 +-0x1.180a16bcb1dccp+2 +-0x1.8f8b4d1447b8bp+4 +-0x1.1649f29698c38p+4 +-0x1.97f9eaf9bcfep+2 +-0x1.4fe6172b8e328p+3 +-0x1.7733969988b5ap+1 +0x1.10b6023dd5a51p+1 +0x1.23552bc594085p+3 +0x1.f010c517a2d28p+3 +-0x1.18296d17dc06ep+1 +-0x1.3d588b118722dp+1 +-0x1.6d596346c5777p+4 +-0x1.9dca2a23691c5p+2 +0x1.257a95aa902dep+4 +0x1.f9d7f0bb5d39bp+3 +-0x1.ead32b1ba9fffp+4 +-0x1.47b2d0411b1e5p+4 +-0x1.3195524628d3p+4 +0x1.03d558dacfc7cp+4 +0x1.c00ae24a0a399p+4 +-0x1.8fab24503bdedp+0 +0x1.3549cb20d72cap+4 +0x1.007aa5b57512dp+3 +0x1.457e7acdf9e75p+3 +0x1.18726b7878b02p+3 +0x1.13ddb372b541fp+2 +-0x1.03641de444419p+3 +0x1.4c7beb9dd3e1ep+4 +-0x1.a59091efe7995p+2 +0x1.2641c9b9a248p+3 +0x1.15666195054f1p+5 +-0x1.e0f6fb09b47b1p+4 +0x1.05feeba056108p+5 +0x1.e44ce137d462ep+7 +-0x1.544059260e467p+3 +0x1.705f558db1f7dp+3 +-0x1.375685aff8378p+5 +0x1.d1236f695756dp+2 +0x1.6718ed72e9789p+3 +-0x1.57e652ed6513bp+4 +-0x1.79544ea4f842p+2 +-0x1.16d6405fdef62p+4 +-0x1.1ac905b09b513p+4 +-0x1.e85af446ce44cp+3 +0x1.bb11c58573c6p+1 +0x1.7f800df187fbap+3 +0x1.3d5614880365fp+4 +-0x1.cb8fc5ca8d21ap+2 +-0x1.38784b4457b53p+4 +-0x1.4ab4fa9fbd1afp+1 +0x1.526d2cc98517dp+6 +0x1.3dd5b7bc8c944p+3 +-0x1.ffa2151287b0fp+1 +0x1.4761347fdc14fp+2 +0x1.e5787b1dd88eap+2 +-0x1.f9e446149f343p+2 +-0x1.93e5d1509b1fbp+2 +0x1.4357f95694abbp+3 +-0x1.4f73dff8a219dp+2 +0x1.9d7f484a92c38p+4 +-0x1.f46b4b3c263a2p+0 +0x1.4cc1316881981p+1 +0x1.3e01ae737cb7p+4 +-0x1.b8cd7cf1ff021p+2 +0x1.17734bf216319p+1 +-0x1.4d84b67ffcaabp+5 +-0x1.5e3c2bb47e757p+1 +0x1.39600c851451cp+4 +-0x1.d9fed2305c888p+3 +0x1.cf3df0c2e5eaap+3 +0x1.97d41a0ca3461p+4 +0x1.ee4f3d641d617p+3 +0x1.a162cf3726b22p+2 +-0x1.89719b5383a4ap+0 +0x1.7a6966035bf8dp+0 +0x1.32364619b25fep+4 +0x1.dd53dba4539acp+0 +-0x1.f26d5d11faa41p+3 +-0x1.32b2cf9dadaf6p+3 +0x1.c7fba542bced9p-2 +-0x1.016d02f024be3p-1 +-0x1.29eb778b5f1f5p+2 +-0x1.0abdf0f18390bp+3 +-0x1.83caee50aa938p+4 +-0x1.e77141958bf48p+4 +-0x1.834592af7cc3dp+4 +-0x1.0b184e359fcfap+0 +-0x1.2f8bb10b82134p+5 +-0x1.b2a8baa6b075dp+3 +0x1.900b1dc896c01p+4 +-0x1.f1c7eb783bc87p+2 +0x1.810201bffae51p+2 +0x1.2c9fc4c95da0cp+1 +-0x1.f03356cbf0643p+4 +-0x1.9fd06ec2498b4p+4 +0x1.9d463e02f1ad9p+4 +-0x1.3acaa99735b4ep+4 +-0x1.6968e52153f5ep+4 +-0x1.b41609afe417ep-2 +-0x1.6b96b28f9427dp+3 +-0x1.50589a38cb2f7p+1 +-0x1.056b8a3aff98fp+7 +-0x1.2f7d754e1ce8bp+4 +0x1.b05bd3c996b4cp-2 +0x1.40ed048dfc93fp+3 +0x1.228e5dee46cbp+4 +-0x1.112b60b800599p+0 +-0x1.be5892c5db7bbp+3 +-0x1.c6a599688170dp+4 +0x1.a56ef0739cf8ap+2 +0x1.918a5295319fap+1 +0x1.2d04ad130d76bp+2 +0x1.1aa9f2c2a40b8p+2 +0x1.0eb2ac3d285f2p+4 +-0x1.a38a2c4ecdca1p+4 +0x1.c2fa24fe1f397p+2 +0x1.404dda06e7a15p+6 +-0x1.171817b49bc5dp+3 +-0x1.38933e07c19e5p+5 +0x1.8107ea37b5a8p+4 +0x1.96ff2b9f8b568p+3 +0x1.188cd6a241b6p+1 +-0x1.d1a1a9138a3d1p-6 +-0x1.2bfef29b4173bp+3 +-0x1.076554cde63e2p+3 +-0x1.4afc23f1f6081p+3 +0x1.1aa983503c1cbp+4 +-0x1.85ce2f3e1f7f1p+4 +0x1.850dd4d50632fp+1 +-0x1.bf4e26dbf2605p+3 +0x1.b008665f6334ep+2 +-0x1.0adafdaceba36p+5 +-0x1.d43d46a5850d5p+4 +0x1.6ef53a8f473a9p+0 +-0x1.bdb7c6cdff693p+4 +0x1.5259b3681b3c2p+3 +-0x1.8852afebce82cp+4 +0x1.b8092e53872ebp+2 +0x1.daed1d8af823dp+2 +0x1.2c7a89ce4e75dp+3 +0x1.9331efbee1ac6p+4 +-0x1.55762693b425ep+3 +-0x1.146f9ddba649cp+4 +-0x1.28a0220b89b76p+3 +-0x1.a2228dc88396bp+4 +0x1.0b5b471e53949p+4 +0x1.d73f7ef842bb1p+2 +-0x1.8f3693da45d3p+5 +-0x1.5018e76a96f7dp+2 +-0x1.72153e48a85c2p+4 +0x1.a8f7b18aef778p+4 +-0x1.26c92b28c68c4p+0 +-0x1.3ca7f79f0ebf7p+5 +0x1.5b17b0d71df55p+2 +-0x1.5a8bb9550d5abp+4 +0x1.84ab41a2b7058p+2 +0x1.d44e1b40c1c02p+4 +0x1.dc0de4ed72d9cp+4 +0x1.8750902435eacp-1 +0x1.c435604f3676ep+1 +-0x1.30e6d1bda122fp+4 +-0x1.3dc2bed23761fp+4 +-0x1.06ed8dfceda2dp+3 +0x1.4d3d6f9bc72f3p-1 +-0x1.dd5742db3a0ffp+2 +0x1.a526686998f93p+0 +-0x1.d54bacf73842dp+3 +-0x1.2ce968f482fb6p+4 +-0x1.41ab3d37b935p+3 +0x1.44f8368412ce3p-5 +0x1.5161949935c9dp+3 +-0x1.a7bbf8b575ebap+3 +-0x1.217621dece826p+5 +-0x1.9fdd64aeaf543p+3 +0x1.42b617e0c497cp-5 +0x1.ad52dd1410743p+2 +-0x1.a0565df383012p+4 +-0x1.64508925d269dp+3 +0x1.63c599ac3b93ap+0 +-0x1.7d311b3642bf1p+3 +-0x1.5ddfba14e4874p+4 +0x1.c135f98268459p+0 +0x1.014789d4d5b91p+0 +-0x1.3333aa531c637p+4 +-0x1.4496a147c57bep+4 +-0x1.711ea5c8459cfp+4 +-0x1.755ebf41299fep-6 +0x1.1ac203cb9a283p-4 +-0x1.d88bd3db0c512p+1 +0x1.6dce50ae40243p+3 +-0x1.16dc0ba1a1b9cp+5 +-0x1.27c77b5832043p+0 +-0x1.906e9ee874a68p+1 +0x1.18e9b7af28258p-2 +-0x1.2e8c2cc1bde9ep+4 +-0x1.5c28fabbc4651p+5 +-0x1.2c24ba980caccp+3 +-0x1.ac2c6d05084c6p+2 +-0x1.d221a59706b64p+4 +0x1.d71f27a76ca22p+2 +-0x1.630a7a3c19d39p+0 +0x1.5cb6bb7f70728p+4 +-0x1.4d706e630a0a9p+3 +-0x1.81db16b8bbe4bp+4 +0x1.1d45ebf7ed30fp+3 +-0x1.bbd30311345ebp+3 +0x1.692925c1296e1p+3 +0x1.a623ad0818d59p+0 +-0x1.080955c97a89fp+2 +-0x1.8c6be3f7c945dp+4 +-0x1.b92f87fae57d7p+0 +-0x1.4ef9f21574415p+4 +0x1.67160ab935358p+4 +-0x1.c34d3027f9a31p-1 +-0x1.1247dde581545p+4 +-0x1.15e70d9286908p+8 +0x1.d43b42181b948p+4 +0x1.2248fd038ed27p+4 +0x1.36f160e4d900bp-2 +-0x1.62a91991c2c58p+4 +0x1.c5cf2fd192635p+3 +-0x1.df6c8c4890602p+3 +-0x1.f943ab203a248p+1 +0x1.51a9cae8a92e7p+3 +-0x1.9108faadd1115p+3 +0x1.fe48626444ba7p+2 +-0x1.04ffeff608392p+2 +-0x1.d641c76db1ed5p-2 +-0x1.f9d3d67006a29p+1 +-0x1.ee62951aa7adap+1 +-0x1.94a685436df4fp+2 +0x1.a7c51685d902ap+3 +0x1.a609cd6fa7b2dp+2 +0x1.86dca3bd4a44dp+1 +0x1.38018c0f0dd66p+3 +-0x1.ba117f24df0d6p+4 +0x1.fc074a6f6f58fp+2 +0x1.0ea0d742122b1p+4 +-0x1.0efba5c1fc1c3p+2 +-0x1.17c456c750bdep+3 +-0x1.596f727d34937p+1 +-0x1.392248d1593e7p+4 +0x1.5122e040be88dp+4 +0x1.f0ef80ba50badp+1 +0x1.63a57e2664cf4p+2 +-0x1.f4b12dad2c6bap+3 +-0x1.c8731904ec173p+3 +0x1.31dd6880cacc1p+4 +-0x1.a303a38f85806p-3 +0x1.4e86c85a84015p+4 +0x1.1a56ee1a74cf5p+4 +-0x1.7238cdb89a0ecp+4 +0x1.83510cc9c4ca6p+3 +0x1.3295391e3ccc8p+2 +-0x1.e298a4b310a7dp+1 +0x1.cc723844fe461p+0 +-0x1.0944042fcdae5p+2 +0x1.11645985610c2p+2 +0x1.fbafb2c408d9bp+2 +-0x1.f7958fcf73d81p+2 +-0x1.e33700bf04184p+4 +0x1.04b9886745e6cp+3 +0x1.a4e32dd308aaep+4 +-0x1.6e6b6cf96e783p+2 +-0x1.10709c498307fp+4 +-0x1.48d7f5441c754p+4 +-0x1.cc1443515a649p+4 +0x1.87c2e092a68f2p+2 +0x1.cb2c20b529bd2p+3 +-0x1.c6295d9c09c8fp+4 +-0x1.218ee2ad1f934p+3 +-0x1.4c1bd3f344499p+4 +-0x1.5ace5e0f44d29p+1 +-0x1.9e64f73c00f78p+4 +0x1.9993699c101f6p+4 +-0x1.5862d69ff8b63p+5 +-0x1.b02166526d156p+2 +-0x1.99317ff87b5fdp-1 +-0x1.e066f612bc266p+2 +-0x1.620d20414e49cp+2 +-0x1.2d339cd08c6c2p+3 +-0x1.8d62f9a0a665p+4 +-0x1.00e289dfb31b2p+5 +-0x1.228055a6a4263p+3 +0x1.650beb9e3d905p+3 +0x1.add9cd3d9ab09p+3 +0x1.9233fff8d7297p+4 +0x1.67b7df39fb785p+3 +0x1.25eda2ab51b3cp+4 +-0x1.5a3b453f1c202p+0 +-0x1.5c45bc7aaa9f8p+1 +0x1.627c976c3806p+0 +0x1.6a81ed75eb061p+4 +0x1.8da70950ee823p+1 +-0x1.26483a4938c57p+1 +0x1.1fe0297707bfcp-1 +-0x1.ae35d513ca5f7p+4 +-0x1.d0244cd27dcb5p+1 +-0x1.d76601980934ep+3 +-0x1.5802e7afdce4bp+4 +0x1.5ea6b8ea7aeaap+5 +-0x1.2cbb80231a5bdp+4 +-0x1.219d9c5476f19p+3 +-0x1.86f4a461f7183p+3 +0x1.be4ac582a64adp+3 +-0x1.9f4dc59eee9a1p+3 +-0x1.0ce498d843fcap+1 +-0x1.2710c9e168fc7p+4 +0x1.d7f33124db819p+2 +0x1.ea8f9a6ce2108p+2 +0x1.bbbb082dd7912p+3 +-0x1.da4783a22c493p+3 +-0x1.c6cdd3a249febp-1 +0x1.9fcc20ac806ap+4 +-0x1.59a32f3adc7d6p+4 +-0x1.9f049ccdf0f36p+0 +0x1.4b15aa442cf6ap+3 +-0x1.2b1f28a5f0c56p+5 +-0x1.a43ecae5118d3p+4 +-0x1.05965bac75f9ep+4 +0x1.6fa45ec356479p+4 +-0x1.e90b1aed4219bp+3 +-0x1.a6fa422911babp+3 +-0x1.45452675327bap+3 +0x1.078a8c92bb3f6p+5 +-0x1.fe4f1ddb08991p+3 +0x1.032e9e1ab8d8ap+3 +0x1.5afe8ae2ed933p+2 +-0x1.54094b3d1d351p+3 +0x1.8124ccdc8b1dep+3 +0x1.80e3387dbf33ep+0 +-0x1.45ae5838cae14p-1 +-0x1.44c5524e9199fp+3 +0x1.9542f3a4aad91p+2 +0x1.9432234e9523cp+4 +0x1.9edd1a45088a7p+2 +-0x1.61b20106e07e7p+4 +0x1.cabf4bc48e766p+2 +-0x1.e190cef90b975p+1 +0x1.15f088c9dee53p+4 +0x1.600cf449c655bp+4 +0x1.277e065bba117p+3 +0x1.036adc016984p+4 +-0x1.069f9332656bp+1 +-0x1.1d4d017e0bb04p+4 +-0x1.7b7f405695c51p+3 +-0x1.20c723a0775f8p+5 +-0x1.584b227ece41fp+4 +-0x1.06c720075dfbcp+0 +-0x1.0c2c58b30e777p+2 +0x1.cbecb7142912fp+6 +0x1.28c14532ff71dp+3 +-0x1.4304cfb4ee3fap+4 +-0x1.92768f948ca29p+2 +0x1.888d25b454406p+3 +-0x1.df81e4a0a1a8ep+1 +0x1.bfd58c915e16p+1 +-0x1.806ce03cc8937p+4 +0x1.8cc2d829212e5p-2 +-0x1.7db2d7d5d67cap+2 +-0x1.07b6f0960e7e5p-2 +0x1.1770ffb2d5a9fp+3 +0x1.b17e69ae8c5c7p+1 +0x1.29cda0ba82a5fp+4 +-0x1.2727a4d20f7acp+2 +0x1.cdd90e580cb64p+0 +0x1.dd3db00a3ab54p+3 +-0x1.e0dd5f9b9701cp+0 +-0x1.8777d294a4417p+1 +0x1.3683c7f7a18d9p+1 +0x1.18abee9edaa09p+3 +-0x1.6a2fb5cdd4f1cp+3 +0x1.9c9940c028163p+2 +-0x1.dd0cd1cbf4055p+3 +-0x1.89bb8306ab329p+4 +-0x1.450dad2d8f94dp+3 +0x1.1db3aa5b159edp+3 +-0x1.5253d572bc726p+4 +-0x1.773fcb321e9cbp+5 +-0x1.44725d7ff6097p+1 +-0x1.85e30556f955ep+3 +-0x1.248a4c31090aep+4 +0x1.07cac3c199f5dp+5 +0x1.606b66d295891p+3 +-0x1.d480710e94e67p+2 +0x1.80ae080c769c4p+5 +-0x1.d2e12d38b65e6p+0 +0x1.92950dd9028c6p+0 +-0x1.f1d0712d40a5fp+3 +0x1.582ebfb1db49ep+2 +-0x1.22fa577c0d992p+4 +0x1.20d712dc70cefp+8 +0x1.b3b695c6d9312p+3 +0x1.26d7b544813f8p-1 +0x1.76144c7f3e9c9p+3 +-0x1.494a31e38098ep-1 +-0x1.4fbc6dd06a89dp+3 +0x1.c7934d638dcfbp+4 +-0x1.e43557f49d971p+4 +-0x1.3214ec5bce878p+3 +-0x1.19512122cc887p+6 +0x1.ff5b86f5f418dp+0 +0x1.0b2b6fd4700bfp+4 +0x1.335c9b4b704a1p+4 +-0x1.953d5601ce38ap+1 +0x1.8d2b9230bb05ap+1 +0x1.bae885e362688p+4 +0x1.167fdf81407f1p+2 +0x1.a239853cc2c11p-2 +0x1.8e2d59aae1a1fp+4 +0x1.8bd951caf5e93p+4 +0x1.0c35b1c4aa6d2p+2 +-0x1.07462d8006abfp+4 +-0x1.bc87d78ddd8fap+3 +-0x1.7b041fd969e89p+0 +-0x1.6584df2c6a83p+2 +0x1.1dfed4759bebfp+1 +-0x1.ba50d2f6110b5p+2 +0x1.e29c9b31d6da9p+3 +0x1.92f14e8f3825dp+2 +-0x1.39170d6424af2p+2 +-0x1.8693d0848429p+3 +0x1.2dbb1cf932fbcp+4 +-0x1.5db2b85add1fap-1 +0x1.5c5b5d79aa04ep+7 +0x1.c059abf03d8a5p+3 +-0x1.1fb8948aada04p+3 +0x1.9b7cc9e5a6543p+4 +-0x1.1a63dc7e4365bp+5 +-0x1.11920392de618p+6 +0x1.355975dde6432p+3 +-0x1.6d0ef1ac850cap+4 +0x1.2fc69baef4bc7p+4 +-0x1.3de7429d92309p+4 +-0x1.724510ec1c591p+4 +-0x1.9e1fc2e664119p-3 +-0x1.d52816671f386p+3 +-0x1.0f42693ff74a3p+5 +-0x1.75a2d194c5a85p+2 +0x1.cb7f68e18e1e2p+1 +0x1.0b27a58bb9333p+3 +-0x1.8153df8b442d2p+6 +-0x1.271f4b5fe7d3fp+3 +-0x1.de4e40a256dd8p+2 +0x1.84feedc5af2bbp+4 +-0x1.4bf82fb3ead1ep+2 +-0x1.70a0cd62c573ep+4 +-0x1.82e93235056fdp+3 +0x1.e6f89b185ea1dp+4 +-0x1.7edcd2ce0a612p+4 +0x1.7ba93d78b8892p+4 +-0x1.1cc26bc13a5d9p+4 +-0x1.12cf9a20b6f1fp+0 +0x1.c9e901ebf5e59p+2 +0x1.1e397077089e2p+4 +0x1.2d37a44f20273p+5 +-0x1.7bdd6101a46aap+0 +-0x1.02b03a4e72829p+5 +0x1.c7e03f970cac9p+4 +-0x1.97a39b1cd5b95p-6 +-0x1.86dd5d300bbb8p+4 +-0x1.5852ed0e0acc4p+3 +0x1.0b6f2199f585dp+3 +-0x1.a5b24e12c12d4p+5 +0x1.8f9b31e7901fep+3 +0x1.3f1eed0029f6bp+4 +-0x1.79bb443b4eadep-2 +0x1.405df0d73ed41p+4 +0x1.7810fe8736698p+4 +0x1.59039de6db6f5p+4 +-0x1.533b7d6f0b6d9p+3 +-0x1.847b9b9724aecp+4 +0x1.90b913592293p+4 +0x1.0f69311ef4321p+4 +-0x1.7e3a5ab032d3fp+3 +0x1.0a82d107c99e6p+4 +0x1.7dae4a58dc425p+1 +0x1.fa8bb34544995p+2 +0x1.2ae800ff7859ep+0 +-0x1.a4ebb42664509p+3 +0x1.334a7b3b9079p+3 +0x1.8ca71903ee2c6p+4 +0x1.482d30411e283p+1 +-0x1.30929e5c373afp+3 +-0x1.80e35ef1ddd1cp+3 +0x1.03de4f29aff05p+5 +0x1.d4c766c560fe2p-9 +0x1.138c14bbb535fp+5 +0x1.7f977d5fbb75ep+2 +-0x1.0d82df5123a9p+2 +0x1.8771f6a03a6c8p+2 +-0x1.a59fc737d5559p+3 +-0x1.5acebe13f11f2p+5 +0x1.943dbd4ff2cdbp+3 +-0x1.6b5f6879ec61fp+2 +-0x1.116521d4a3d8cp+3 +0x1.a468ebf0357cbp-1 +-0x1.4413d5ee9f75cp+0 +0x1.b61754ae0c6dbp+3 +-0x1.3d363813cc4bfp+5 +0x1.307a9ff77cb2ep+3 +-0x1.f0e5671c3f121p+2 +-0x1.2c479457e9901p+3 +-0x1.b2cdd85777a17p+3 +0x1.a5a8cea93441cp+3 +0x1.012dd5417ebabp+3 +-0x1.28c4523063e68p+1 +0x1.9b817a66f1ep+1 +0x1.f5cb6e81879d7p+1 +-0x1.a4ad2f1d303ebp+3 +0x1.e40b96b32e14cp+0 +-0x1.6330bd8e98ee5p+4 +0x1.af60dfb24d146p+3 +-0x1.3cc6919e04d7fp+4 +0x1.138621dd3ee7bp+2 +-0x1.0584f7f7702bcp+2 +0x1.1d624564810eep+3 +0x1.d5e8c33252f5bp+3 +-0x1.e79711bed5f0dp+3 +0x1.ad973178b1426p+3 +0x1.9697c6ba07269p+3 +-0x1.e3f9c8732e0b1p-2 +-0x1.afa0ca46d20b7p+5 +-0x1.dea8cfcd209e8p+1 +0x1.4ec636bf19b65p+4 +-0x1.5f8228514bf1p+3 +-0x1.e8ac199e70757p+1 +0x1.1d46793e9bc24p+2 +-0x1.9bd877905a45dp-1 +0x1.1f0e932aa1f75p+4 +-0x1.8da4c38735d1dp+3 +-0x1.1bd46912e03d1p+5 +-0x1.9cbb3581dd141p+2 +0x1.764c244b1fbd4p+3 +-0x1.804129f83c132p+4 +0x1.50b8fdace7555p+3 +-0x1.08229fdcd32a6p+3 +-0x1.3927d950b678cp-2 +-0x1.fc76e9cb416dcp+3 +0x1.8404e50aa6706p+1 +-0x1.62dd116f737cap+0 +0x1.85ad4467fad4bp+2 +-0x1.03087500231bcp-1 +0x1.42aabbce34b2ep+0 +-0x1.817e4aca94532p+3 +-0x1.41fe3c74f27bep+3 +-0x1.87ea268053578p+3 +0x1.49d825e0468efp+2 +0x1.94c503adb4006p+0 +-0x1.936702f764919p-2 +-0x1.5e0853f89b32cp+4 +0x1.7526e455cfdbbp+3 +0x1.3c73d327cd48bp+3 +-0x1.44c8d837b29a1p+3 +0x1.aa17b59627509p+4 +-0x1.abbbf47e732f2p+2 +-0x1.935e2bc1cbeep+3 +0x1.fbf9979b2d0f4p+4 +-0x1.460f65c411d4dp+3 +0x1.99d664784b077p+2 +-0x1.9ad50578ec066p+4 +0x1.65a630bae65f1p-1 +-0x1.8625ce6745a88p+2 +0x1.5c25b7a3b86c2p+2 +0x1.75acf69793aaap+4 +-0x1.030ebc93315eap+3 +0x1.638e1deadeb17p+4 +0x1.7a1329148d092p+2 +-0x1.6ad65c0b2c245p+2 +-0x1.8b3d6bf9c738p+2 +-0x1.42b03fb911a6dp+2 +-0x1.7c9dfd892282cp+3 +-0x1.4cfbf80963feep+3 +-0x1.2efc81228d25bp+5 +0x1.b9edf9e537835p+4 +0x1.4b4608af28151p+4 +0x1.68ff7b5b723c9p+4 +0x1.f863ad7b8b45fp+2 +-0x1.276971410e109p+2 +-0x1.b80c5e6a003fep+3 +-0x1.1d73ed291042cp+2 +0x1.1d386d2fd05fcp+5 +-0x1.15e4f32e4a988p+3 +-0x1.5f5f7c2005e5cp+3 +-0x1.c1dfb198e3a2bp+5 +-0x1.e62d7e4f2ca86p+3 +-0x1.64608bb41f6d7p+5 +0x1.06a988b531ee4p+4 +0x1.e77977b8a24f8p+3 +-0x1.35eb76ff60099p+4 +0x1.5fc7b0e9ddcfbp+1 +-0x1.c2e0b70da69f8p+2 +-0x1.35fcd73a25b1ap-2 +0x1.d50fef3819d9ap+0 +0x1.007b53c1185c4p+3 +-0x1.d7f8b998ae332p+1 +0x1.1e4003db8fb25p+3 +0x1.cf7be185bcb6ep+1 +-0x1.edec2941d3352p+3 +0x1.2787ee2e37515p+3 +-0x1.23ea3c095ce55p+2 +0x1.c54666f50359fp+4 +0x1.c928236f8eccap+3 +0x1.b26f85aaf8bcfp+1 +-0x1.e8431d15228e6p+4 +-0x1.23fce40339614p+2 +-0x1.17b1cc8a06676p+4 +-0x1.5bafd28e8555ep+4 +-0x1.257704869c35p+3 +0x1.a2fd4088af239p+2 +-0x1.21a3c269b219p+2 +0x1.8d04fd46b222fp+0 +-0x1.0728619de2d4ap+3 +0x1.74be2914f06f8p+4 +0x1.883d9f31cac0dp+4 +-0x1.cbf05f27a32e7p-2 +-0x1.b69ba86752555p+1 +0x1.85e9b5962f1e6p+5 +0x1.911ead184ce73p+3 +0x1.f58ab54620487p+2 +0x1.6b1ecd10a0655p+4 +-0x1.91bbfc4618d2dp+3 +0x1.e99e7a237977bp+4 +-0x1.a71615b874418p-1 +-0x1.8155945219cddp+3 +0x1.0538f059db14fp-1 +-0x1.d823ec71c5517p+3 +0x1.a7811eceac387p+3 +-0x1.37a6059e2e06ep+4 +-0x1.14bb9e44957f4p+2 +0x1.2298d6092512cp+1 +0x1.5d9d619500a72p+3 +0x1.985deed076b0ap+3 +-0x1.0b836aa598b3bp+3 +-0x1.e1af80d40b7a2p+4 +-0x1.a0a2902844a56p+3 +0x1.5ed4c68b9a0e2p+4 +-0x1.4f571fde7a502p+3 +0x1.880169a8f90b9p+4 +0x1.ce82e7c8cc62ep+3 +0x1.7868e81af2fbbp+4 +-0x1.8259681e6bf3bp+3 +-0x1.2dfec1f21f17dp+2 +0x1.86b9d349f1f7ap+3 +0x1.b2fe346f299f7p+4 +-0x1.b9a9d62c39d7ap+0 +0x1.048f2e5a2ee22p-2 +-0x1.cdb44cb109cbfp+3 +-0x1.40301ef2451e8p+0 +-0x1.6cb2e1d010d6cp+2 +-0x1.625cce8b1d24ep+3 +-0x1.bdaf8a4fb4176p+4 +-0x1.4987d79247be9p+3 +0x1.59c56f347cb8fp+3 +-0x1.77e1d67d5cf93p+2 +-0x1.6b0ae4ccc749p+2 +-0x1.542d83c758a2dp+4 +0x1.489b39a9be0c3p+3 +-0x1.188cfcf1be314p+4 +0x1.9ed4c73237c59p+0 +0x1.46ab056e23ee6p+2 +-0x1.d95bf17c22d4ep+3 +0x1.491ba51228373p+4 +-0x1.47e0249221c91p+4 +0x1.2c4401fc369b3p+5 +0x1.736228688cd9fp+4 +0x1.aed0eef6bca7ap+3 +0x1.f01eb78f1c947p+4 +0x1.e8ceaaf1d61f4p-1 +-0x1.6b73148d129f2p+4 +-0x1.9d3b50c5fccaep+3 +-0x1.c59640d1f9502p+3 +0x1.0f902581cdeecp+2 +-0x1.031e03229c7dap+4 +-0x1.077e4afd485ecp+4 +-0x1.f5757f88443d5p+4 +0x1.697cdcedd386p+1 +-0x1.65d80c954f8dfp+2 +-0x1.2d790bf71cdf5p+3 +-0x1.72e499d922a73p+3 +-0x1.3e615f76b8d66p+3 +-0x1.1609e466783a9p+4 +-0x1.b5736133f5178p+1 +-0x1.8fcda61ef5422p+1 +0x1.6bf0a413b4227p+3 +0x1.ad48c26abc31bp+2 +-0x1.89035760cc5d4p+4 +-0x1.cdc0fec1e70a2p+0 +-0x1.3a55749d25773p+3 +-0x1.dc4b227ab59b5p-2 +-0x1.b916e76fe9e14p+4 +-0x1.ec6557bc89b42p-3 +0x1.9d2b8907ed914p+7 +-0x1.f96ce82f9a23ap+4 +-0x1.f7c0e59ea98cbp+1 +0x1.8cce5f408cc9ep-2 +-0x1.6ff71534123ddp+3 +0x1.43637c4c88d7ep+3 +0x1.80b6d6c8b3c1fp-6 +-0x1.2015fdadbe2dap+5 +-0x1.8da669ffe6478p+0 +-0x1.159efd82250bp+4 +-0x1.1a5f287427336p+3 +-0x1.af5ae1b53176dp+3 +-0x1.6c15ffe994f45p+2 +-0x1.079bbda12c0ddp+3 +-0x1.6a98d3e71972dp+3 +0x1.09ea738050476p+3 +0x1.ecfe0b6ad313p+2 +0x1.f8472c0d8233fp+2 +0x1.a4ef60e8d4b68p+2 +-0x1.81239f23394e7p+3 +0x1.5387fc6c4af86p+3 +-0x1.80dc1ca4a928bp+3 +0x1.50ab5ca3ea361p+2 +0x1.37d9404a93914p+3 +-0x1.524fd49a02b4dp+1 +0x1.44580cdfe28b4p+3 +0x1.bcf5e5773b864p+3 +-0x1.ec2f51ca5af3bp+3 +-0x1.d881ce2ed8b85p+0 +0x1.5588c6aa8d88dp+4 +0x1.4608d7d045324p+3 +-0x1.228f88018b8a6p-1 +-0x1.4fea718f01536p+0 +0x1.59f8ca7f88282p-1 +0x1.cbdcf49250f0dp+0 +0x1.36d00831ee61p-1 +0x1.f92abc9df294fp+3 +-0x1.a8b95ed78f2f1p+2 +-0x1.83ff63ccd829dp+3 +0x1.de453ec5656f7p+1 +-0x1.70b985d772324p+3 +0x1.da1c68b1e52a8p+4 +0x1.21b5b351f7031p+4 +0x1.d21279e0fc85ap+4 +0x1.83719c6502f7bp+3 +-0x1.a4349c6c28813p+3 +0x1.b878b8dea066dp+4 +0x1.6a370d48dd1c2p+2 +-0x1.118e53475e617p+4 +-0x1.3df8b525efb55p+2 +0x1.8a50137aad3a1p+4 +0x1.b5db42015991p-2 +0x1.8bdbe25c8524p+0 +0x1.9a65a34f42815p+3 +-0x1.7f250f8677549p+2 +-0x1.3b1f20fce5035p+3 +-0x1.345fb24859892p+2 +-0x1.75771df423c34p+2 +-0x1.715c3e992a2bfp+4 +-0x1.ec1425f94a20ep+1 +0x1.c4f345511c799p+4 +-0x1.4b57df27e2e16p+3 +0x1.ffb66f39f050ep+3 +-0x1.01df0e2e1370ap+3 +-0x1.15df9373eb255p+4 +-0x1.a170f6275370cp+3 +-0x1.d992df955bd78p+1 +-0x1.2baf74b4af21dp+3 +0x1.a851867b7bec4p+2 +0x1.abcea7391c221p+2 +0x1.ab7cbadc985d2p+4 +0x1.42e6993b29453p+1 +-0x1.9d0814a6f5355p+4 +-0x1.0b9937ed5dfdbp+3 +-0x1.44007cdaeabedp+1 +-0x1.b699f07b3e6afp-2 +0x1.bb03a45c278c5p+2 +0x1.2fb4ae9f919aep+3 +0x1.03cfa4f8455d4p+5 +-0x1.abf1b8deb489bp+0 +0x1.6139768ab5a8ap+5 +0x1.dd26183cd036p+3 +0x1.2750767d3e886p+2 +-0x1.84c575669a912p-3 +0x1.7042a2d1aca1fp+1 +0x1.c82e9181f6fd2p+2 +-0x1.a57da927cfc94p+2 +0x1.66a4dea06db8ep+4 +0x1.c6a3991cf0e3bp-1 +0x1.29cfbc67c29e1p+4 +0x1.89c30998f7df7p+2 +-0x1.762f1d6d9e00ap+3 +0x1.bfb28f77e3cdap+4 +0x1.8229eba6897e4p+0 +0x1.fab965093334ep+1 +0x1.88906093f6f04p+4 +-0x1.db54dc9532723p+3 +-0x1.21161a538052dp+2 +0x1.6df6d1ac551fcp+4 +0x1.0259a7aea2fccp+2 +0x1.7c3ad6be59623p+4 +0x1.6422f775e1093p+0 +0x1.9b091f364ac5fp+1 +-0x1.11c60d15ce1b9p+6 +-0x1.70ed1242b15ccp+3 +-0x1.25d4f9e7e27a2p+5 +0x1.5d7ff0337fb2ap+4 +0x1.9a3d97b4c6118p+4 +-0x1.4b1cb6bd67054p+2 +0x1.a7281131d4703p-1 +-0x1.eba0bf59937c5p+4 +0x1.a5e5f6b6ddd88p+2 +-0x1.7288a0a98efa4p+3 +-0x1.8935c9fdc3c05p+3 +-0x1.2a829bbcb2cbap+4 +-0x1.48ebdcb83f7e7p+3 +0x1.5419fc820b9a9p+4 +-0x1.50327d1d01e1cp+3 +0x1.5e3d5ca372cd8p+3 +0x1.0d9ddaeda3c4cp+5 +0x1.82002edebb429p-3 +-0x1.812469be3e86dp+2 +0x1.1ded0123d4cc8p+4 +-0x1.f34346b7b219ap+1 +0x1.61f2055687765p+4 +0x1.39cca64743a75p+2 +-0x1.8a8c7a3787394p+0 +-0x1.e29c8718a1038p+2 +0x1.361953a7a22f5p+2 +0x1.17da7b2ab71d9p+3 +0x1.18ca0f33001p-1 +-0x1.6b72879fb1d94p+3 +0x1.56ccbdbc476dbp-2 +0x1.73c6412270476p+0 +0x1.87c68be809854p+3 +0x1.d69c54d0ae8efp+3 +-0x1.726e5386cbf5ep+3 +0x1.4db07670f6b3ap+3 +-0x1.43661ca814c54p+5 +-0x1.0a6bca180b2cbp+4 +-0x1.27820f879c184p+4 +0x1.ca9d5c5bfe4f2p-1 +0x1.290ac30cdc193p+0 +0x1.f61eb949b18d3p+4 +-0x1.1584d05d0a96ap+3 +0x1.0b8bf2229fe88p+4 +-0x1.51998f4724bcfp+3 +-0x1.187f6ca614fbfp+1 +0x1.e7b494d60d128p+2 +0x1.0c48212f9d7d5p-2 +-0x1.165632366a642p-1 +0x1.f02bc2261e6p+1 +0x1.35c695c54324cp+3 +0x1.da738a1ef263ap+0 +0x1.8e148329ce957p+3 +-0x1.23fb1e71b470dp+4 +-0x1.917d253d56628p-1 +0x1.a732ce8745798p+5 +-0x1.d5274779de14fp+4 +-0x1.6140d1bcfa57ap+4 +0x1.d8ab79716e0f7p+3 +0x1.69a984068e617p+1 +-0x1.b993494c289a7p+1 +-0x1.b84750ff20e86p+3 +0x1.48c177c8aca89p+3 +-0x1.445f818422a59p+4 +-0x1.4122d8dea6a43p+4 +-0x1.f0fc999efb4aap+2 +-0x1.15642cc3c862ap+4 +-0x1.276fb26de60e9p+2 +0x1.1ec51bc9a97bap+2 +0x1.3d61d3a09b77fp+3 +0x1.f9cd816fd14fep+3 +0x1.cef99ebfe42b3p+4 +-0x1.bd5bba461b12cp+3 +0x1.416067dd0409fp+4 +0x1.1502592e972a1p+4 +-0x1.934af108629a1p+4 +0x1.e2761e34d6f1p+4 +0x1.c5012d584de9fp+3 +-0x1.77978719926fep+3 +-0x1.1d26cb45855bcp+3 +-0x1.eb282fdc323b2p+1 +0x1.5bd9b4a09b95bp+1 +-0x1.c882616c0724ep+3 +0x1.fd0406443607fp+4 +-0x1.3ac283c5bcf6fp+4 +0x1.ba5eed72a9ddp+2 +0x1.69e161b1c4069p+2 +-0x1.6d72c573c240ap+3 +0x1.bbf7f991509bp+3 +0x1.82e235c879fcap-4 +0x1.2d96702365145p+3 +0x1.215bea1d8d972p+3 +-0x1.7997172e853bfp+4 +0x1.445328edcf06bp+7 +0x1.2b76bc19872a5p+3 +0x1.e87f010895ff8p+2 +-0x1.66b791a63137ap+4 +0x1.380f5b2505ad7p-4 +0x1.365817673d7f7p+2 +-0x1.67eaed7f37d86p+2 +-0x1.09e25af5d71aep+5 +-0x1.2241b2dd69a7p+3 +-0x1.6e04df20ee7f6p+3 +-0x1.319e0b496d65p+7 +0x1.04bd2f7a1c847p+4 +0x1.d0ade40208be6p+3 +0x1.78507db603478p+2 +0x1.5fdd6ff3a3c16p+2 +-0x1.a40adcf265112p+3 +-0x1.9a4965d24107ap+2 +-0x1.0087030c13e29p+1 +-0x1.9050f6f41c4ddp+2 +0x1.9010a2e637bc7p+3 +0x1.113376a83e2c6p+3 +0x1.4a4de4a4f3f5p+3 +-0x1.51fcce431742p+3 +0x1.6282901a8acecp+4 +0x1.48408121dce69p+5 +0x1.901b0800bc9dfp+0 +0x1.ab8c84d120068p+4 +0x1.29a807c01f08bp+6 +-0x1.f4b00ceafa238p-1 +0x1.204095599060ep+2 +-0x1.779b54f02edc9p+4 +0x1.1216005fc6e1ap+2 +-0x1.20ab35abb8787p+3 +-0x1.04970708d0fe5p+4 +-0x1.29b567146b4e8p+3 +-0x1.d35c076e911bp+1 +-0x1.aca8dd766452ap+4 +0x1.50a41f3b44575p+3 +0x1.dbbcc5a5d0df9p+3 +0x1.2c63a0d55602bp+3 +0x1.ff52828b187e8p+0 +-0x1.27ad28fb498b1p-5 +-0x1.63b807193b23dp+5 +0x1.f0119929f101fp+2 +-0x1.43fe26caa94e4p+3 +-0x1.0cfe307425a53p+4 +-0x1.61f8fd45862b2p+3 +0x1.ce5dc065eb64dp+3 +-0x1.4684e49eabc93p+2 +0x1.ffa1bcc97ea3ep+3 +-0x1.c801293111172p+3 +-0x1.1e7d796eeaec5p+4 +-0x1.2f748cfbc86e7p+3 +0x1.3e88e2104eb8fp-1 +0x1.8f8bc03ea8a77p+4 +-0x1.1cff7307d5862p+5 +0x1.33c240e05d236p+3 +-0x1.f3fd37550fb15p+3 +0x1.5460460453fe5p+4 +-0x1.13ae63d5081bdp+3 +0x1.c8a557e518029p+3 +0x1.a6e45f4e9a6b6p+1 +0x1.07ed1a2a897adp+5 +-0x1.409e8cdd07927p+0 +-0x1.5e7ca85f0362cp+3 +-0x1.e68c399dd7828p+4 +0x1.d7c9f445e5a24p+1 +0x1.ee68d40735504p+1 +-0x1.52875d7fd4576p+4 +-0x1.d91c369f9388bp+4 +0x1.2b72db14cc6f6p+5 +0x1.d0c789fca360bp+2 +0x1.97c690165469dp+4 +0x1.67d404afb5792p+4 +-0x1.b4cdb39547973p+0 +-0x1.ed74867a6604dp+2 +0x1.5adacd4f6b1d7p+4 +0x1.7fdec551fc6dp+3 +0x1.9f462dff9efa5p+1 +-0x1.fdf4e38d3f18dp+1 +-0x1.b7c4b7dbb18a8p+3 +0x1.0e3b079e53d7bp+3 +-0x1.5d2e083cdb2ap+4 +0x1.0cc27d64a7d43p+2 +-0x1.37e81213f4e0fp+2 +-0x1.5a43d413f83bap+3 +-0x1.314f136d93effp+2 +0x1.064053ce7a0afp+4 +0x1.0d29210c02d7bp+2 +-0x1.a6260c58046edp+4 +0x1.c090bdd3a536fp+2 +0x1.8c59cb4a3224p+4 +-0x1.797c7dad0012fp+4 +-0x1.495eff731233cp+2 +-0x1.e25b7c533bb26p+6 +-0x1.7ace45bdacdf7p+1 +0x1.5e57461216e1bp+0 +0x1.99a99694f9534p+3 +-0x1.64f4d39d571f8p+2 +0x1.5b2ce91d1aef2p+1 +-0x1.afae6b5b46062p-1 +0x1.5329b8d836cap+8 +0x1.76212d58b40c7p+1 +0x1.1e35a985b8e18p+2 +-0x1.2d2b34d13b5f9p+2 +-0x1.74477a02ec0bdp+2 +-0x1.da68da140e825p+3 +-0x1.c28a73a3106bep+4 +-0x1.cf020fc31ed3fp+4 +-0x1.7275f98572478p+2 +-0x1.83d0b79f6303cp+3 +0x1.22e357de490cfp+1 +0x1.1d1dbc833ad22p+3 +0x1.b4bc73f74859ap+3 +0x1.686b4b854b64cp+4 +0x1.fbb52a400d89cp+4 +-0x1.cc7f9c85bde7ep+2 +0x1.b6b477f201c6ep+3 +0x1.0ebfba0a114c5p+3 +-0x1.e6ace16a7299cp+0 +-0x1.d104471f5d95dp+3 +-0x1.e19500ec9b6cep-3 +-0x1.70f295be4a514p+5 +0x1.f83b5b8adb452p+3 +0x1.281cb65ca320ap+4 +-0x1.ff1218cd72c29p+1 +0x1.3b72435a84809p+3 +0x1.7faa65769570ep+3 +-0x1.a4da56f324ec8p+4 +0x1.372832227ffc9p+2 +-0x1.ae39635528ddp+3 +-0x1.ddcde5b4fb11bp+1 +-0x1.0670b45312f0dp+1 +0x1.fb5febc89cd42p+1 +0x1.a307fce6d123p+2 +-0x1.404de256223b2p+4 +0x1.144152cb79ec1p+4 +-0x1.f58740badc67p+1 +-0x1.c07b0dabdd81fp+1 +0x1.404e7275ef5fep+2 +0x1.870e0080594c6p+4 +-0x1.e37d0e1e669ep+3 +-0x1.4b5ae5988b046p+3 +0x1.70267658dba4cp+4 +-0x1.18ac9b2f50c48p+2 +-0x1.18feedff8e9e1p+4 +-0x1.37295400e0b66p+4 +-0x1.63ed3cee44c3p+4 +0x1.ecf1262c6256fp+1 +-0x1.1064e5d40fbaap+5 +-0x1.a27bde8e83542p+3 +-0x1.37ed4bf644953p+1 +0x1.0247350b588fp+3 +-0x1.8b0273adf278dp+1 +-0x1.36aa071aeee3ap+0 +-0x1.7caf6d8ba4423p+1 +0x1.52874ff294ab8p+2 +0x1.708585ed461c7p+2 +0x1.b81519abfe448p+3 +0x1.960ca3aca2da9p+0 +-0x1.9247d4bed09dfp+4 +-0x1.2dc1cca4329f9p+4 +-0x1.0ed320667957ep+4 +0x1.618874e4163c5p+3 +-0x1.f71e785b62952p+2 +0x1.375f6da901a1bp+1 +-0x1.385561329fbd9p+1 +0x1.d85a863473592p+3 +-0x1.bad9be50bfbb2p-4 +0x1.5f9874c3e9c04p+3 +0x1.b10ecf4a5ae09p+3 +0x1.22a60403cf9edp+3 +-0x1.611f37f57d103p+3 +-0x1.0d5821620c591p+2 +-0x1.78931e76da172p+2 +0x1.42a0cb1723dd8p+4 +0x1.0cdd8dffcc714p+3 +0x1.583e81ad1f894p+3 +-0x1.8dddfe6b1db1ep-1 +-0x1.279f4aba250b2p+1 +-0x1.1c8f3a3197523p+1 +0x1.f8279ff8d44e8p+3 +0x1.7eb0586f1e212p+4 +0x1.a0f7088408588p+3 +0x1.10a960acbb03ep+2 +0x1.058270b943164p+3 +0x1.8a113c5edea79p+4 +-0x1.3089f26b16c03p+5 +0x1.4d41a44153273p+2 +0x1.b1467355d45e8p+3 +-0x1.d7c6f58419c5cp+2 +0x1.66b6af034f9ddp+3 +-0x1.7d4c8535032bep+2 +0x1.fcdc6cacad5ecp+1 +-0x1.9741ac11fd8p+3 +-0x1.eabfb43b92b31p+3 +0x1.b1a5e683d04cbp+3 +0x1.b3389a7d7531ep+3 +0x1.3db3786b871ffp+2 +-0x1.93fbc2d3d6065p+2 +0x1.61b4044ca5525p+3 +-0x1.859fc80ce8dd2p-1 +0x1.fdccd7bee3c54p+3 +-0x1.bc3e98be64526p+4 +0x1.aaa83f1f88352p+2 +-0x1.a8e66443f670cp-1 +0x1.9efa872648f64p+3 +-0x1.234ae4a25b79dp+4 +-0x1.0721d88335cc7p+1 +-0x1.220a9569b1afbp+2 +0x1.be0bafa87bc98p+3 +0x1.45caa702677e9p+3 +0x1.525a58f38f698p+2 +-0x1.2a1b7c49eb37ep+5 +0x1.e23f6d49718e1p+6 +0x1.567fa18ac29e7p+3 +0x1.6cde22f1e83e4p+3 +0x1.d38e3004c61a4p+4 +-0x1.fa39b7736d197p+2 +-0x1.343e0be99de54p-3 +-0x1.0461c2da75ca5p+3 +-0x1.c31b2ce23198ap+3 +0x1.8ed03412d6defp+4 +-0x1.63ed0df6d47f9p+4 +0x1.e92aca60286a3p+3 +-0x1.31b566d1b2051p+5 +0x1.1cc31c406d884p+1 +0x1.653507d0fae44p+4 +-0x1.0ca9fa4e5ea14p+4 +0x1.8a67ec1579b54p-1 +0x1.6def137c8c6bcp+3 +0x1.7ab9618aa7b9ap+4 +-0x1.4229532e11028p+2 +0x1.0473c74a65923p+0 +-0x1.4ec5527bb6b1p+2 +-0x1.489c9c3257ffbp+0 +-0x1.8605a7ea9f68ep+3 +0x1.0b9704fd80065p+1 +0x1.af4e5e8e21aabp+4 +-0x1.7048849aad75dp+3 +0x1.0d834d061d13ep+4 +0x1.1a3fd319de2d8p+3 +-0x1.c9acb3cf84b5ap+4 +0x1.2cd3804cfa77bp+2 +-0x1.13feec13f7a1ep+4 +-0x1.44a39e2790977p+4 +-0x1.43dc50a87bef6p+2 +-0x1.95c0223f3e118p+3 +-0x1.e9d0bba5162abp+3 +0x1.1baca579421b8p+4 +0x1.2cf2cb1c57f41p+4 +-0x1.5b04698bbb1a7p+4 +0x1.c4399e14bbcffp+3 +-0x1.a99eb5ebf5264p+4 +-0x1.ab086fe434a19p+2 +-0x1.8c4bdb52630b4p+4 +-0x1.96e438636db92p+4 +-0x1.3793009205cb6p+0 +0x1.78aacc3ecdfddp+3 +0x1.ffaddddffd222p+3 +0x1.16e60604c9814p+4 +0x1.13f31a840b543p+1 +-0x1.b1a470df782ffp+3 +-0x1.d6358578aeaadp+3 +-0x1.387aa415ad2e3p+4 +-0x1.241867c22620fp+4 +0x1.37444d56dfa27p+2 +0x1.1735afb03ea2fp+5 +0x1.3287ed5d15202p+1 +0x1.684ed9d43ce98p+2 +-0x1.1faa73c539267p+3 +0x1.35badc4b94a55p+3 +0x1.fe74074beb41ap+4 +-0x1.0333c1ec453e9p+1 +-0x1.2d1e06641d4b5p+4 +-0x1.8035cd3e7742cp+0 +-0x1.36a9e91df62c3p+4 +-0x1.9b107f419c584p+1 +-0x1.85e021f095f01p-2 +-0x1.5f96df191eb35p+5 +0x1.4b81b4301ff9bp+4 +-0x1.27f867c4a1876p+4 +-0x1.e34f3f8de9e93p+3 +0x1.3ff1982a8c1a3p+2 +-0x1.acfc0f7d4df3bp+2 +0x1.563f3d6f14e47p+3 +-0x1.32c9dc7c84217p+5 +-0x1.251fcc00f561ep-1 +0x1.a9cb811e2636fp+2 +0x1.66683e6e79191p+4 +-0x1.dcf29ecba2ec9p+4 +0x1.0e7c1e679d971p+6 +0x1.41b4643a6e992p+4 +-0x1.6b431877fb402p+4 +0x1.0e5ad74b26404p+3 +0x1.82de4a767021p+2 +0x1.12126a1ca8613p+5 +-0x1.588a5f65fe3b4p+4 +-0x1.56bb13e4c4ae6p+2 +-0x1.c2d0fd0923fbfp+4 +0x1.c91e8b10a5533p-3 +-0x1.f9b58d1ae36e4p+0 +-0x1.01b17727843d9p+2 +0x1.30f175c55fc16p+2 +0x1.96488992e5355p+2 +0x1.9ee1502eccb25p+0 +0x1.2b7cd87d8575fp+3 +0x1.335e7097d77cbp+4 +0x1.32db26973797p+3 +0x1.49e461c1e1bdap+3 +0x1.809e28859e0a5p+4 +0x1.b281c98df2671p+2 +-0x1.ef3af6c6c31b3p+3 +-0x1.92b6e58d80c3fp+4 +0x1.49346380330cp+0 +-0x1.981004f6214f3p+0 +-0x1.96ce7df738056p+3 +0x1.c37f9aa20fd13p+2 +-0x1.96930ce3c46fap+3 +0x1.a434fcf038beep+2 +-0x1.7b13e32ea485bp+3 +0x1.b66e3aa220ca7p+1 +-0x1.3157d8e3da2f8p+4 +0x1.027d8759c3f59p+2 +-0x1.acd3e4897fdap+4 +-0x1.efa41106fc404p-2 +-0x1.23d8a034ba3eep+4 +-0x1.3e11a7c15725fp+2 +0x1.2ae06cdf11218p+4 +0x1.8236fc55fa007p-2 +0x1.90815eba85c32p+4 +-0x1.a8db406cfc925p+1 +-0x1.29758696f7f4fp+4 +-0x1.952cb3e54afadp+4 +-0x1.a20518c61bc01p+3 +-0x1.cf28a5bfdbacap+3 +0x1.931bf09323ebcp+3 +0x1.16934eeeb5a18p+2 +-0x1.9ce85d13df788p+2 +-0x1.4292c1163e569p+4 +-0x1.2b7d1b77746cep+3 +-0x1.8d138f089cb57p+3 +0x1.e9278c18affb3p+3 +0x1.9425430667adcp+4 +-0x1.1df8cd3a20e3dp+4 +-0x1.31ce008c00358p+0 +0x1.a7065ef00e1ffp+4 +0x1.b70b1c1c89729p+4 +0x1.930bc47bb8188p+3 +-0x1.2f167de5cdea1p+4 +-0x1.5f557210f0787p+3 +-0x1.01fae373eadffp+1 +0x1.b78b3f6d22097p+3 +0x1.d7a04db2ea56p+3 +0x1.f2be0a10bd434p+1 +0x1.4a4c52737001ap+3 +0x1.0b3c195c20e8bp+1 +-0x1.8c5f16b22855ep+3 +0x1.3b31b372759b7p+4 +-0x1.61f20e1994293p+4 +-0x1.b3556f80c18aap+4 +-0x1.3da99efc32593p+3 +0x1.f9e9b1a9d8d76p+4 +-0x1.e29a437562d99p+3 +-0x1.cb80f8f1873e2p+2 +0x1.5f66154f39a07p-2 +-0x1.5e774a8943ae7p+2 +-0x1.b0789f1a65acap+3 +0x1.7df532f52cc1dp+4 +-0x1.20e83ae34ed46p+4 +-0x1.2ece3c3ec6664p+3 +-0x1.b8dcfa5fbf818p+0 +-0x1.a820ea389ac6fp+3 +0x1.7b9753412f6e2p+3 +0x1.5e1ce85560f4fp+0 +0x1.094dd7957c1d4p+2 +-0x1.6a6fdd9b90682p+0 +-0x1.cfc8ec787bd4dp+2 +0x1.de8425dda515ep+5 +0x1.19aee6c68791dp+5 +0x1.cb41729f3e736p+0 +0x1.a2bc9dcd1e467p+1 +-0x1.153a4fd79110dp+4 +-0x1.e32cd1de75aeep+3 +0x1.cd10432db446ep+0 +0x1.0fb76c74ad7bcp+2 +0x1.4bfd49768d6c7p+4 +0x1.8065368a8c428p+3 +0x1.9579f6463b22bp+3 +0x1.3648ffafc92c3p+2 +0x1.a0c47a5fc93c6p-4 +-0x1.098030e3bdc44p+3 +0x1.84fb0df3d135ep+3 +-0x1.8554623efc182p+4 +0x1.15962483804c5p+5 +-0x1.8df533f543abap+2 +0x1.8cd24f4465bf6p+2 +-0x1.e7ad745390a86p+4 +0x1.e6229de2d08d2p-1 +0x1.bccca2f589181p+2 +-0x1.8e288e1a61ee3p+3 +0x1.c2aa6042cc4f2p+1 +0x1.ff0a0b216808dp+3 +-0x1.ddb1ebaddda37p+2 +-0x1.3e547677d2c41p+4 +0x1.858157703b673p+4 +0x1.d178dc87fb39p+3 +0x1.9197f0d053534p+3 +0x1.f12d869443df1p+3 +0x1.0ee4fa91d23b3p+4 +-0x1.0bec1161ae20bp+4 +-0x1.c3b201bd982f3p+2 +-0x1.40665a584411bp+4 +0x1.5ca6980e53b25p+3 +0x1.0886c51b9980ap+4 +-0x1.6ce43df954b1ap+4 +0x1.0d0445a428c4ap+4 +-0x1.3cdd410cf295fp+4 +-0x1.98ab951adfc1ep+1 +0x1.67118b280f43fp+2 +-0x1.6381cfc1a7fd9p+2 +0x1.a6ecb3aef92c3p+3 +-0x1.9515b6440ae85p+4 +-0x1.3a802180d8c38p+3 +0x1.46c216f166babp+4 +0x1.e89f14de3abdcp+2 +-0x1.0b75a703206b5p+0 +0x1.4109f34eca6cfp+4 +-0x1.e092b36e85d71p+3 +-0x1.6bb26457d7b5bp+7 +-0x1.61350b7c3dbbp+4 +-0x1.03a282934d1a4p+3 +0x1.77981e69716c6p+1 +-0x1.f701b74210786p+1 +0x1.ab815c885035fp+4 +-0x1.cf59e95b10a65p+3 +0x1.8ee6dc793727fp+2 +0x1.8ec04b88e9299p+3 +0x1.bbf63740f394ap+3 +-0x1.a3fa37a2e2b1p+2 +-0x1.1af036b14ba26p+2 +0x1.22f5cd1fca077p+3 +-0x1.46a4997b4856dp+4 +-0x1.5d4fdb54e2ed8p+4 +-0x1.f72d2a7eda91fp+3 +-0x1.8bcbb1ddb6962p-5 +0x1.b6ac6902470d7p+2 +-0x1.760220b9f6df6p+2 +-0x1.317764115a924p+4 +0x1.1f9cb1ce1cce5p+4 +0x1.9e1293e476df5p+4 +-0x1.e7d7d12a5dd4fp+3 +-0x1.a0041e894620dp+6 +0x1.a6ffb58cb5985p-2 +0x1.e6a5d11bab93fp-4 +-0x1.69a5af5d507a9p+0 +0x1.c758a732377bcp+4 +-0x1.9f7bb37d32885p+4 +-0x1.239f28fcb0afp+4 +0x1.21c24452d1427p+3 +0x1.63aca54aadbbbp+3 +0x1.1981bb5c459ddp+2 +0x1.ae3274518c3f1p+3 +-0x1.acc7c26f9439ep+3 +0x1.354474b83682dp+4 +-0x1.01b9ab69e5c85p+3 +0x1.59db0e6e1cd7cp+3 +0x1.1a891301a0aa6p+5 +-0x1.5dab9a5277553p+1 +-0x1.7abbe453f1cc6p+1 +-0x1.6061f794a31fp+3 +-0x1.7e72ee759e153p+3 +-0x1.90f2864b2d9cap+3 +0x1.c2059f0e9165p+3 +0x1.d47af0a008b86p+3 +0x1.adbf8cdf8ec5ep+4 +0x1.0a174c4d8f009p+6 +-0x1.4bf35ff2fa10dp+3 +-0x1.0d0d08f037d69p+3 +-0x1.190849747ae36p+4 +-0x1.dc5e8a1378193p+3 +0x1.c3e5cadc255c8p+7 +-0x1.0b7cf38938f01p+3 +-0x1.53bf26bf39cf9p+3 +0x1.6021132cc5fa9p+4 +0x1.1f2cca10e8847p+4 +0x1.82373ef9b2af3p+2 +0x1.13fdff19abe06p+2 +-0x1.00880cef5602cp+6 +-0x1.75a7e3cde7d6bp+3 +0x1.7dbef6e963782p+4 +0x1.2e956304ede21p+4 +-0x1.0a1952a608b0cp+4 +0x1.d5409c022e31cp+3 +-0x1.093fe4d472b8p+3 +0x1.1e6686880eep+5 +0x1.88cca811e5a52p+5 +-0x1.0cbcf4504f1cp+4 +-0x1.813d0e71aca86p+1 +-0x1.30606fb5012c9p-1 +-0x1.4b5341e2b8ecep+4 +0x1.6032528ee7911p+3 +-0x1.c601e68d6fd3fp+4 +-0x1.cd608a18ee988p+2 +-0x1.fa09ccf1d5531p+3 +-0x1.797292dcd8a68p+4 +-0x1.c8608dabe244p+6 +-0x1.57cd527e36623p+2 +0x1.b71ae5a6df80dp+4 +-0x1.96ec47cf27c83p+3 +0x1.0e009129436bcp+0 +-0x1.042ca5f3e63cap+4 +0x1.8a318ce0844e6p+2 +-0x1.6a9bda33a34a4p+2 +0x1.c52faf93d6272p+2 +-0x1.376f82b84a51cp+4 +0x1.0698fad96b508p+3 +-0x1.1f6c54d65f837p+3 +-0x1.8094b4312165bp+4 +0x1.4bf1619b9688ep+2 +0x1.f19582b5141a9p+4 +-0x1.1f0c82108dddcp+5 +0x1.6d0a9de3d1192p+2 +-0x1.b4f5eb46c1c0dp+4 +0x1.94ea497a6da1ap-1 +-0x1.dd3e7ccde95fdp+3 +0x1.00c3274ec2061p+3 +-0x1.06b80839acdc7p+1 +0x1.5e68c21fc3c47p+4 +0x1.b57a617c24c7p+3 +0x1.dbb777ecd2fe8p+2 +0x1.f8599d5912f5fp+3 +0x1.a8ce99637fdep+2 +-0x1.1178cc6c41045p+4 +-0x1.16b2621fde5e9p+3 +0x1.4cb3193c14242p+1 +-0x1.2b698b53d3ed1p+3 +-0x1.a2954c5adfc13p+4 +-0x1.9ead7fd515e8dp+1 +-0x1.7f25d213409b4p+3 +-0x1.3ecb54cf217f1p+2 +-0x1.42bd8c75ca1a1p+3 +-0x1.e64af07dc6ef7p+4 +-0x1.8df505efdde4bp-2 +-0x1.7fa6f784cf1bp+2 +0x1.f192dba76a318p+3 +0x1.a23234b4f8c78p+4 +0x1.529f9e235ca8dp+0 +-0x1.25c2424ba38d7p+4 +-0x1.264d33dfac652p+4 +-0x1.ab5a0d648b3f9p+3 +0x1.27c7c89efc754p+1 +0x1.be840d57a7d3dp+2 +0x1.abfd0ae117d33p+3 +0x1.73307b0afc1cp+0 +0x1.888d6614cdd3p+2 +-0x1.c614b9eecb9fap+4 +0x1.910e203d9f24cp+1 +0x1.cc4adc85133a8p+3 +-0x1.072822fff319p+4 +0x1.6f27040372408p+4 +0x1.1ee3a2633dbf7p+5 +0x1.58aa4a8771889p+2 +0x1.d120be1750f82p-2 +-0x1.1fe197e3ff7acp+4 +-0x1.52b1ef6bf3261p+4 +-0x1.ae76580a3fa2dp+2 +-0x1.f114f06135a6ap+4 +0x1.2db693dc79d04p+3 +0x1.c017579cc447ep+1 +0x1.ce679d188f988p+3 +-0x1.97d9cac324f57p+4 +-0x1.3aa6e59b8e4f2p+2 +0x1.ab8b839860442p-1 +0x1.ecfa597f3119cp+3 +0x1.4d2300d306d07p+4 +-0x1.229a22421288bp+4 +-0x1.15d245de0d24fp+4 +-0x1.14ca80f6c7f21p-1 +-0x1.d280147f90d51p+4 +0x1.97ed012468bebp+2 +0x1.2295da95d38bp+4 +0x1.03ef25597dbdbp+3 +0x1.a8e6fe8e0c2f1p+2 +0x1.56473a51376adp+0 +-0x1.f6ca0bd88e38fp+1 +-0x1.45c57fd1010d9p+1 +-0x1.c3de1d196e1b6p-1 +0x1.e727d990df347p+2 +0x1.abe66fcda83c4p+2 +-0x1.8fa34697d969bp+4 +-0x1.70b3456c05701p+2 +-0x1.1d62c028cb85ep+5 +0x1.0ff66d6fdb39dp+1 +-0x1.2baea608eee34p+2 +0x1.c74a0bff306b8p+2 +0x1.5ab7632a6f26ap+4 +-0x1.8b71affd301adp+2 +0x1.e5599a8b8cd1ep+0 +-0x1.3103c2031d1bbp+5 +0x1.28195507f9c4dp+4 +-0x1.194772a85dabep-1 +-0x1.19ee5c5ffb12fp+1 +-0x1.15c3131754788p-2 +-0x1.c518dcf18236bp+3 +-0x1.73992aff0a5d1p+1 +0x1.a6465a06344abp+4 +0x1.6618c32434ccbp-4 +0x1.01d2e8a3a500ap+4 +0x1.4919b4e276d87p+3 +-0x1.87c7208ec9bc6p+1 +0x1.373c293695fabp-7 +0x1.8e16c29571d0ap+3 +0x1.e0c19c809e47fp+2 +0x1.6efdb5caff4a6p+2 +0x1.77a86c33e5e95p+4 +-0x1.9a52b339c19cfp+2 +0x1.2decd2cd9416p+4 +0x1.efa199ef062efp+1 +-0x1.f7faebc197eaep+0 +-0x1.125dbd788c9cap+3 +-0x1.aa25da601877cp+2 +-0x1.0509b5b07db71p+4 +-0x1.0e841e3337126p+5 +0x1.14f309eb6b769p-3 +0x1.8371f68deafc4p+4 +-0x1.a6997c8b3e796p+3 +0x1.d0be99890c6e9p+0 +0x1.7a186fbd1e357p+3 +0x1.5c3bcf78d4d02p+4 +0x1.a8caecb3e7fadp+4 +0x1.4fabaf7e6189cp+1 +0x1.52e960044f204p+4 +0x1.6ef878c1f2b46p+2 +0x1.e6a8c18b02bdap+3 +-0x1.153cd769f58b7p+3 +0x1.7465e23891068p+4 +0x1.19c6a1a74d3e4p+3 +-0x1.64fceca91c715p+6 +0x1.72168e15129acp+2 +-0x1.fad951936d185p+2 +-0x1.d3401a99664afp+2 +0x1.1d3854a4dd63cp+3 +0x1.5c0a66217aeedp+4 +-0x1.8183e6ca03bf9p+1 +0x1.e1e5edcac9c11p+1 +-0x1.2c76664058a25p+5 +0x1.31e48e976aa5bp+5 +-0x1.5b84d88d6d8cap+3 +0x1.ac7e36ab5270ep+3 +0x1.171c6cc2580eep+3 +0x1.b3819456344ccp-4 +-0x1.9c0b5679318b7p+3 +-0x1.16cd889ab0c83p+3 +-0x1.5a04d871e7321p+4 +-0x1.0cc51d8fdc638p+5 +-0x1.d5ed576faf2d7p+3 +-0x1.056de1685c7f9p+4 +-0x1.e09561f6f07afp+2 +0x1.0f01966df0ce1p+3 +0x1.7fa3f5c1e2d0fp+3 +0x1.fac5aff615326p+2 +-0x1.f77ae55a39fdcp+4 +-0x1.6f44f4289804fp+2 +-0x1.9d4e517275c6cp+4 +0x1.64cf6f944b6fap+6 +-0x1.58acb6a23ccabp+2 +-0x1.870639b088223p+3 +0x1.b943566f0562bp+3 +0x1.8637e6afd9338p+3 +-0x1.440ac7df7534ap+3 +0x1.7ca38d182c4edp+1 +-0x1.bf9b0d31fd77p+3 +0x1.657f4c07274eap+1 +-0x1.8f9cb6ef8f5d9p+4 +0x1.1399d879737eap+4 +0x1.a28951ff14a4ap+2 +-0x1.23308d3996291p+4 +-0x1.4c282aeb3391dp+1 +-0x1.d9f85505d3084p+3 +0x1.bf6c8f95b92bap+4 +-0x1.87bd20aebe54ap+2 +-0x1.c4f51e60949edp+4 +0x1.472382401a8f2p+3 +0x1.924999011c9c8p+4 +0x1.23e2c30e9b519p+3 +-0x1.a2d4ddafd8bc6p+1 +-0x1.03af799e9b82fp+5 +-0x1.57e603fe4b41bp+2 +0x1.489f051554ca5p+4 +0x1.a3378da301d3dp+3 +0x1.127a2038f4704p+4 +-0x1.0412abc005f4ap+4 +-0x1.c1fab58e51be8p+1 +-0x1.534a358901675p+4 +-0x1.227ee94d806fbp+3 +-0x1.60bafada87854p+4 +-0x1.6c1b4ca75bc6dp+3 +-0x1.e55c2f64efc93p+3 +0x1.0136a1b3a2aeap+0 +-0x1.0ffdf80d90d07p+3 +-0x1.c65760470e8d6p+3 +-0x1.b2896d2a008dap-1 +0x1.574f6ae904203p+1 +0x1.324236a74d2b6p+4 +-0x1.a324414161549p+2 +0x1.9a3899e8b4ba4p+4 +-0x1.1171c9f576983p+4 +0x1.0f7b1d54df251p+3 +-0x1.6c053dd207a6fp+3 +-0x1.9b99b65989247p+2 +0x1.b2a6d71e32934p+4 +0x1.1f2bd5bca0b78p+2 +-0x1.f0cccc8b49969p+3 +-0x1.1732ff38c200cp+3 +-0x1.6b2755c442ff5p+3 +-0x1.187853da32e74p+4 +0x1.a799190ccccfep+2 +0x1.857357305ebd7p+3 +-0x1.0cfed51a5447p-1 +-0x1.4de6ec08a741ep+3 +0x1.51a0623691ca1p+3 +0x1.150623e621affp+1 +-0x1.5cfe06a01edd3p+4 +0x1.79170cd5592fbp+1 +0x1.03e7ab6aad67ep+4 +-0x1.1891985c0eb8ep+3 +0x1.b4c6bd3a6edd3p+1 +-0x1.9184c834df616p+3 +-0x1.896958966a197p+3 +0x1.5be3839f90121p+5 +-0x1.0a5d4e106277bp+4 +0x1.9a280716597f5p+0 +-0x1.52f6fb77a081ep+3 +0x1.3c8b1ee2b173ap+2 +0x1.2ea3366ede3adp+1 +0x1.e53f1280cde7ap+4 +0x1.957874fc6208ep+4 +-0x1.2e50c6467220dp+3 +0x1.f60821784192p+2 +0x1.b8e3e55ae80e2p+3 +0x1.288f642c27b4ap+4 +0x1.3ab579f457f48p+3 +0x1.00560e5c012c4p+4 +-0x1.018fda0958f47p+2 +-0x1.1663e5438ceecp-1 +-0x1.b38c79ed08931p+2 +-0x1.56593bb8e2b3ap+2 +-0x1.658a994e639bfp+4 +-0x1.a483e03472605p-3 +-0x1.72fcdc678ef45p+4 +-0x1.d97293881bea4p+2 +-0x1.c49a1d675d476p+2 +-0x1.168763fc4681ap+8 +-0x1.2f65397f9102fp+4 +-0x1.e1be1e7df4fc2p+2 +-0x1.6f8874375d431p+2 +-0x1.5c5791aaf5478p+6 +0x1.082ca583a3b4ap+0 +-0x1.a2bbbe7dac89cp+2 +-0x1.56d82280ca20ap+3 +-0x1.0dbeb9ef97955p+3 +-0x1.b94eb5428765bp+3 +-0x1.a9bf86e4ac70dp+1 +-0x1.0855827c83f4cp+2 +0x1.022d027737673p+1 +0x1.3063e7a806101p+5 +0x1.eab3b18ac0494p+4 +0x1.e5f194cc1e1a8p+3 +0x1.a84a0d1b19efcp+5 +0x1.e69e9354c1529p+1 +0x1.545416ffbb03bp+3 +-0x1.b5e40f88452abp+3 +-0x1.68c7d14330b2ap+1 +0x1.7ffc77ca165dcp+0 +0x1.a668c8ebd61b4p+4 +0x1.0b28f10ea5b09p+6 +0x1.4335046c074d7p+4 +0x1.685124b5d8a51p+5 +0x1.4745e3eac7353p+3 +-0x1.69574690ea7c3p+2 +-0x1.c3d85c17853dbp+4 +0x1.2ca545525be9ap+4 +-0x1.5e28ce7affeb4p+2 +-0x1.92bfba1bac60bp+3 +0x1.97f2a53c69f16p+2 +0x1.282c0d8843656p+3 +0x1.2e83ef4ac8dd2p-3 +-0x1.e1a4876dd3166p+0 +-0x1.95bdb29008dc8p+1 +0x1.6600fe4a53856p+4 +0x1.2e1d9bf5b3951p+0 +-0x1.70e9ea952a19dp+1 +-0x1.d20f199dd9577p+3 +-0x1.c22c62447cc81p+2 +0x1.5ede8b7bf60dbp+2 +-0x1.ddccc5653648fp+2 +-0x1.37b3b1cce6cd7p+3 +0x1.293dcc95484d4p+3 +0x1.a0908aa30e4b1p+3 +-0x1.19e1718e6114cp+3 +-0x1.15879faff760cp+4 +0x1.04d7bd103c7bcp+4 +0x1.a9bfcf61ab5aap+1 +0x1.7ffbcf941d617p+3 +-0x1.60433564bde97p+2 +0x1.3facbec098158p+3 +0x1.0ac26b5b6b26ap+1 +-0x1.2f2bf3e135d94p+4 +0x1.1aba33d31f5eep-3 +0x1.44e9cf1156e06p+4 +-0x1.e43e30a92a587p+4 +-0x1.28e91fbfa691ap+3 +-0x1.7353a3cf17f5cp+3 +-0x1.10a858f300482p+4 +0x1.32f94c36ff37p-1 +0x1.f9f83415242ddp+0 +0x1.9757166028a0bp+2 +0x1.1d7c012c6d9acp+4 +-0x1.57fc1dddf5d8ap+1 +-0x1.5d11d00438ecep+3 +-0x1.2747d944042adp+2 +0x1.7f675e4cdfdafp+4 +-0x1.25e7be689bf3bp+5 +0x1.2ab5068d0da45p+3 +-0x1.b5d0f4e5854c2p+1 +-0x1.6c1508a245409p+1 +-0x1.cee6ebe8cfb3dp+2 +0x1.07e3d5abaf2c2p+5 +-0x1.c45815dd1e558p+4 +-0x1.c266d6b6fc581p+0 +0x1.ab0d770f9960dp+2 +0x1.b383e5d3bf694p+3 +0x1.5da5ec4458468p+3 +-0x1.ae05752dce3bep+3 +0x1.4f48d390d74f4p+3 +-0x1.880168a9d8bf5p+1 +-0x1.87add861f8988p+4 +-0x1.14db9a7dcab57p+3 +0x1.47c0301aa6b84p+2 +-0x1.2b02155d9aee3p+4 +-0x1.7bfb0c81ab8cdp-1 +-0x1.0c23e578a36c6p+4 +-0x1.157749f322387p+3 +-0x1.7ac4335775a1cp+1 +0x1.c550fc3c78769p+4 +0x1.83d7cdfe37293p+4 +0x1.0175d3d989f64p+5 +-0x1.2212fa987b93ep+1 +0x1.217f3df9fc083p+4 +-0x1.cd855b8fe86fdp+2 +0x1.ccea5a54d87efp+2 +0x1.558402d1b1d97p+3 +-0x1.8ab1c2c68d04fp+4 +-0x1.8098471a13c85p+1 +-0x1.157cd3b0982bfp+6 +0x1.305104b60c029p+5 +0x1.eff682c003408p+3 +-0x1.5afb1632fb37ap+4 +0x1.1e33bf0ab3d29p+4 +-0x1.576037cee8fd4p+3 +0x1.2a89ddee85669p+2 +-0x1.1674f3ba7da18p+4 +-0x1.2284f100bccdcp-2 +-0x1.cf1dd973f1609p+2 +0x1.b3a7904f392eep+3 +0x1.46833328fbc48p+2 +0x1.190e33f3fa595p+3 +0x1.2509eb20bfd81p+1 +0x1.7a11f69b6a7d4p+3 +-0x1.ce345c782f5b6p-2 +-0x1.203b3b982e85ap+4 +-0x1.ecf57b2b85cf5p+3 +0x1.963b6e19ba199p+3 +-0x1.e1bdc5dcc038bp+3 +0x1.4d96d7ad0daffp+4 +-0x1.b92d7f9c9dbcep+2 +0x1.e2caa293e9eecp+3 +0x1.f8baf1c0ea3dep+0 +-0x1.02dc134bc493p+5 +-0x1.1a7d9c48165b2p+2 +0x1.2b4c24d12b1f7p+6 +0x1.5e37a9908f7a9p+3 +-0x1.3885394c7f9bbp+7 +-0x1.19840a3a45406p+4 +0x1.1959dfefb58f7p+3 +0x1.52bed32f75b94p+4 +0x1.0a997afa9b274p+3 +0x1.eee9334cdd0ddp+2 +0x1.203d41ad61271p+1 +0x1.90b58e66122bdp+4 +-0x1.370579624a655p+3 +-0x1.b2a805a509c18p+4 +0x1.e67ccdb8eadfcp+4 +-0x1.3c67a45675499p+4 +-0x1.bfe3aa0e71bb2p+3 +0x1.35cebbc94eab7p+4 +0x1.0422cc7ae80c9p+4 +-0x1.60be748cc1763p+3 +0x1.035ceb7539913p+3 +0x1.7f99fcedf4bb1p+2 +-0x1.6f9c5ee90d57fp+4 +-0x1.845438659ae53p+4 +-0x1.127e6dca38c33p+2 +0x1.4cfddd6b8cbe6p+4 +-0x1.1d4bd6ad50359p+4 +0x1.6a88e84e144c1p+3 +0x1.33cbbda49d9c4p+2 +-0x1.3b15ef7442557p+1 +0x1.727ec527b99fp-3 +-0x1.9f3da8d41e438p-2 +-0x1.80a2820b8f653p+3 +0x1.af6cb5b48874ep+7 +-0x1.1f50c3eb06578p+3 +0x1.d420b1a766c3fp+1 +-0x1.061b135bfbabp+0 +0x1.7df5acaa32cddp+3 +0x1.6eb4e78ecc57cp+1 +-0x1.1194fe9aa3be8p+4 +0x1.13a325cf7b8cep+3 +0x1.e7069ccf67267p+4 +-0x1.89a242daa144dp+3 +-0x1.10750199c5d77p+4 +-0x1.fb0a9458e1e58p+3 +-0x1.f37b9d7b69b5fp+4 +-0x1.55c000fc49842p+4 +0x1.12ed7980f7439p+2 +0x1.cd24b3b1ef227p+2 +0x1.17088f192f0f9p+4 +0x1.90a1fc58a5b9bp+3 +0x1.88f71a896832fp+2 +-0x1.0e428a379b193p+0 +-0x1.9a536e9c8e83ap+2 +-0x1.f8c907f8f58dap+3 +0x1.40c9a200f618p-2 +0x1.bb0f583139801p+4 +0x1.4f096c4aaccfep+4 +-0x1.8639ac259ec7p+1 +-0x1.ddc002a62d79ap-3 +0x1.15ea75f9bba9bp+4 +-0x1.a4314722e80c4p+4 +0x1.3085c6708f055p+5 +-0x1.3a122c32d2387p+3 +-0x1.8466c7f39e1a8p+3 +-0x1.07a3a25046ff7p+3 +-0x1.64906f355b5f5p+4 +-0x1.b6cfc87ad211ap+2 +0x1.a9f23e8a04957p+3 +0x1.8f8861cd0df53p+3 +-0x1.0520d99bed6ddp+3 +-0x1.fd38e376c26b9p+3 +0x1.03ecf05ceca89p+6 +-0x1.a17681ee75826p+4 +-0x1.69f156a76e613p+6 +-0x1.8824d10bf8adfp+4 +0x1.100b8d5562582p+1 +-0x1.83039f5c89f39p+4 +-0x1.32ae3bd745592p+1 +0x1.20cb3b1fd30d4p+4 +0x1.b455d2d933468p+2 +0x1.321f6a0b81c7cp+3 +-0x1.d72368b9f962cp+4 +-0x1.359f1c33643f6p+7 +-0x1.e802ac8385caap+3 +-0x1.283a262642c57p+2 +-0x1.4683fc0789bb8p+1 +-0x1.0979236fd2b26p+4 +0x1.6fae44dc0134ap+0 +-0x1.66857c081da8dp-3 +-0x1.1808d0a3ed1b8p+4 +-0x1.88bbc40edea65p+3 +-0x1.22e88378bebeap+1 +0x1.ce560cf6fded2p-2 +0x1.fe493528bc8f6p+2 +-0x1.e70f7ac0dd117p+3 +-0x1.a225717175c68p+4 +0x1.93bb64437011dp+3 +-0x1.26ee7d4949696p+4 +-0x1.86e89fac76f85p+4 +0x1.324cac38058e4p+4 +0x1.1e2ab2a20dec6p+3 +-0x1.23a5753b9b995p+3 +-0x1.24f1448e6220bp+3 +-0x1.4b31f7fd15c83p+1 +0x1.16c554c0c7c7bp+3 diff --git a/sysdeps/x86_64/fpu/libmvec-expm1f-inputs b/sysdeps/x86_64/fpu/libmvec-expm1f-inputs new file mode 100644 index 0000000000..09ac149464 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-expm1f-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-87, 88), mean = 0, standard deviation = 8 +-0x1.110038p+1 +-0x1.1f03acp+2 +-0x1.88539ap+3 +-0x1.410132p+2 +-0x1.3b7fb8p+1 +0x1.029deep+3 +0x1.77fde2p+2 +0x1.16a53ep+4 +0x1.35a336p+2 +-0x1.f85d78p+1 +-0x1.75bd8cp+3 +-0x1.360248p+3 +0x1.1cb9fap+4 +-0x1.cc0c94p+0 +-0x1.b06432p+2 +0x1.e5f318p+3 +-0x1.2bbc6p+1 +-0x1.b20d6p-5 +0x1.1ee5aap+2 +0x1.0d39dap+3 +-0x1.f35ecap+1 +-0x1.90e89ap+2 +-0x1.8718b2p+0 +0x1.e1a884p+2 +-0x1.bb8414p+1 +0x1.66748ep+3 +-0x1.03ac94p+3 +-0x1.2777cp+1 +0x1.1d20fap+3 +-0x1.0d6598p+3 +0x1.948e12p+0 +0x1.a2f914p+2 +0x1.8dfc3cp+0 +-0x1.66dc8cp+1 +0x1.729198p+0 +0x1.0d76b4p-1 +-0x1.8ba0cp+2 +-0x1.657578p+1 +-0x1.420738p+1 +0x1.a3c674p-2 +-0x1.3c18ep-1 +0x1.e26402p+2 +-0x1.16b4ecp+3 +0x1.919dfep+1 +0x1.51a8f6p-3 +-0x1.5da7ep+1 +-0x1.7ed13cp+0 +0x1.7c78e8p+2 +-0x1.371df6p+3 +-0x1.47b6c4p+1 +0x1.c0eb16p+2 +-0x1.04144p+3 +0x1.747d82p+2 +-0x1.0e3c3ap+4 +-0x1.9223e2p+2 +0x1.2c285ap+1 +-0x1.e100ap+2 +0x1.a994cp+2 +0x1.5642c6p+3 +0x1.0e8c4p-2 +0x1.54118cp+0 +-0x1.7e95d8p-3 +0x1.d779ep-1 +-0x1.6d0abp+3 +0x1.384bbcp-1 +0x1.cb814cp+2 +0x1.ef5984p+0 +0x1.4511a4p+0 +0x1.c3236cp+0 +-0x1.b5663ap-2 +0x1.f9775cp+2 +-0x1.fbe004p+2 +0x1.ec4068p-1 +0x1.0af7c2p+2 +-0x1.18e6b8p+2 +0x1.2fc06ap+1 +-0x1.0df60cp+2 +-0x1.270062p+5 +-0x1.f9beaap-1 +-0x1.a8a18cp-1 +0x1.8ef12p+4 +0x1.8035aep-1 +0x1.6e5336p+2 +-0x1.202ed6p+3 +-0x1.958d6ep+1 +-0x1.179054p+0 +-0x1.ae79ecp+1 +-0x1.08e936p+1 +0x1.fa1d12p+2 +0x1.e0e75p+2 +0x1.b8b9f4p+3 +0x1.39e7ap+2 +-0x1.37f81ap+2 +-0x1.d1b82p-1 +-0x1.8d8c76p+3 +0x1.c753b4p+3 +0x1.59d5bp+0 +-0x1.ea04b4p-1 +0x1.29c338p-2 +-0x1.c2ee5ep+2 +0x1.cee3cap+3 +-0x1.b5e1a6p+2 +-0x1.42abb8p+2 +0x1.1d8892p+3 +0x1.80ec7cp+1 +0x1.d3166p-4 +0x1.9c79dap+2 +-0x1.253082p-1 +-0x1.a40112p+1 +-0x1.77943p+2 +0x1.77052ap+1 +0x1.aa7ee8p+3 +-0x1.f6ee5cp-3 +0x1.a39a2ap+2 +0x1.3221b8p+2 +0x1.5ff5bcp+2 +-0x1.4613aap-1 +-0x1.6991a4p+3 +-0x1.1071cap+3 +-0x1.055f3ap+3 +0x1.520ed8p+2 +-0x1.6e1544p+3 +0x1.e819p+3 +-0x1.8b8cb4p+2 +-0x1.a9f64ap+2 +0x1.88e06cp+1 +0x1.750ec6p+2 +-0x1.0dd8acp+2 +-0x1.99309ep+1 +-0x1.08b1bcp+1 +0x1.53f12cp+0 +0x1.0a5b3ep+1 +0x1.273d5cp+4 +-0x1.27eeacp+3 +0x1.398226p+2 +0x1.56fe6p+3 +-0x1.f11f36p+3 +0x1.9aca96p+1 +-0x1.8f8d42p+2 +-0x1.f49e6ep+0 +-0x1.7a129ep-5 +-0x1.1ae76cp+2 +0x1.087a5ap-1 +0x1.6aff86p+2 +-0x1.62fa8ap+1 +0x1.b66d4cp+1 +0x1.b32cf8p+1 +-0x1.62840ap+3 +-0x1.ac60dap+2 +-0x1.fbdc48p+0 +0x1.ce8d8ap+1 +-0x1.f0575ep+1 +0x1.248082p+3 +-0x1.4b02ccp-1 +-0x1.f980a2p+2 +-0x1.d7c148p+2 +-0x1.19379ep-1 +0x1.0acdccp+5 +-0x1.ab9498p+1 +0x1.0e6daep+2 +-0x1.45599cp+3 +-0x1.a1d652p+3 +0x1.0a9a08p+2 +-0x1.380656p+2 +-0x1.4723eap+3 +0x1.82ba88p+3 +-0x1.be10fep+0 +0x1.6e9ab6p-7 +0x1.ac8ebap+3 +0x1.72f43ap+0 +0x1.647a3p+0 +-0x1.6a098ep+0 +-0x1.535b6p-2 +0x1.9b2178p+1 +-0x1.39e10ep-3 +-0x1.d28fecp+1 +0x1.0c23ap-2 +-0x1.4314fcp+0 +-0x1.3d2ddcp+2 +-0x1.91560cp+0 +-0x1.2064bep+4 +-0x1.8f0d5ap+2 +0x1.81850ap+4 +-0x1.f7d0d6p+1 +-0x1.f23fd4p+2 +-0x1.75a606p-2 +-0x1.d253dcp+2 +-0x1.532846p+2 +0x1.ce3576p+2 +-0x1.8652cep+1 +-0x1.9b8efp+3 +0x1.7d9c66p+3 +0x1.b96c3ep+3 +-0x1.f953fcp+2 +-0x1.11ee22p+1 +-0x1.a1e7cp+1 +0x1.46cfc2p+3 +-0x1.ae2452p+1 +0x1.6993ap+3 +0x1.13306cp+1 +0x1.61510cp-2 +-0x1.1a2036p+4 +-0x1.64ad7ap+2 +0x1.bc0558p-1 +0x1.3c093ep-1 +0x1.4f8ea8p+2 +-0x1.55af0ap+4 +0x1.5af1d2p+1 +-0x1.0de628p+2 +0x1.99ce9ep+3 +-0x1.f3ce28p+2 +-0x1.2dcbccp+3 +0x1.1adafep+2 +0x1.853c9ap+0 +-0x1.00b1dap-2 +-0x1.12d9eap+3 +-0x1.c05a7cp+3 +-0x1.df87d8p+3 +0x1.3e98c6p+2 +0x1.560246p+3 +-0x1.c6b774p+2 +-0x1.1bed26p-3 +0x1.efefd8p+2 +0x1.c1a132p-1 +0x1.30ea3ap+3 +-0x1.a74dd4p+2 +0x1.79ab52p-3 +0x1.d28bdp+2 +-0x1.dd0ae6p+3 +0x1.086058p+3 +-0x1.3d802ap+1 +-0x1.11859p+2 +0x1.2aa162p+1 +-0x1.51a2fep+3 +0x1.6d4ca2p+3 +-0x1.086472p+2 +0x1.73c0d4p+0 +-0x1.460bb8p+3 +-0x1.96b5c2p+2 +0x1.002088p+2 +-0x1.079c68p+3 +-0x1.a490fep-1 +0x1.3a317p+0 +0x1.b3009ap+0 +-0x1.8be63p+3 +0x1.c70c48p+0 +0x1.6ec3p+2 +-0x1.d42bdap-2 +0x1.542a48p+2 +-0x1.68aadep+2 +0x1.0719ecp+2 +0x1.5a5bfp+2 +-0x1.b6a5c8p+2 +0x1.539262p+2 +0x1.65e234p+2 +0x1.81eea2p+2 +-0x1.e09ae8p+1 +0x1.88cff6p+1 +-0x1.eaf19p+4 +0x1.b0dc52p+1 +-0x1.949d08p+0 +0x1.2054bep+3 +-0x1.1c5a7p+3 +0x1.26681p+4 +0x1.450c66p-1 +0x1.ede04p+2 +0x1.5dd9cep+3 +-0x1.ee86a4p+1 +0x1.430682p+2 +-0x1.b239cep+1 +-0x1.b155c4p+3 +0x1.110594p+2 +-0x1.940484p+2 +-0x1.fc518p+1 +0x1.2ab818p+1 +-0x1.bb57eep-5 +0x1.2c5faap+1 +-0x1.105b2ap+1 +0x1.ad21b6p+3 +0x1.f59118p+2 +0x1.942c72p+1 +-0x1.73fc06p+1 +0x1.19a064p+3 +0x1.f4409ap+0 +-0x1.6ea822p+3 +0x1.05326p+0 +-0x1.30227ap+1 +0x1.69b302p-1 +-0x1.a95e1cp+2 +0x1.2ff44cp+2 +0x1.8803b4p+2 +0x1.e33526p+2 +-0x1.a47f8p+1 +-0x1.a15cdap+0 +-0x1.ad8b0ep+3 +-0x1.9c52c8p+3 +0x1.1e855ap+0 +0x1.bb99aep+1 +-0x1.1dae22p+3 +-0x1.9efa1cp+3 +0x1.7f4124p+3 +0x1.a0ae02p+1 +0x1.6c8868p+2 +0x1.2e1f7p+4 +0x1.1a07e2p+3 +0x1.50e958p+3 +-0x1.099808p+3 +0x1.62d0a6p+3 +-0x1.641802p-1 +-0x1.a1d7bcp+4 +0x1.b265b6p+3 +0x1.a5562ap+3 +-0x1.af841cp+0 +-0x1.6538b6p+3 +-0x1.29feb6p+2 +0x1.6071bcp+4 +0x1.3a75b2p+4 +0x1.501b28p+2 +0x1.cab884p+1 +-0x1.7e440ep+1 +-0x1.94992p+3 +-0x1.4bf214p+2 +-0x1.f4aaa8p+2 +-0x1.c904a4p+2 +-0x1.85137ap+1 +-0x1.3253d2p+2 +-0x1.7e5a94p+2 +-0x1.ba8b24p+1 +-0x1.e32c5cp+3 +-0x1.f7a818p+1 +0x1.d79048p+0 +-0x1.e1ee3cp+2 +0x1.8a59e6p+2 +0x1.72b31ap+1 +-0x1.f0a79p+1 +-0x1.ec9f64p+1 +-0x1.ef4d44p+2 +-0x1.45030cp+1 +-0x1.3de03p+3 +-0x1.ae4ee8p+1 +-0x1.2a2442p+3 +0x1.1e09c8p-5 +-0x1.8647a8p+3 +0x1.0b13ecp+1 +0x1.5b2206p+2 +-0x1.c752f2p+0 +0x1.3d151p+2 +0x1.17da3p+2 +-0x1.266a0ap+2 +0x1.8f8a46p+1 +-0x1.347da4p+1 +-0x1.39b5p-1 +0x1.b9a576p+2 +-0x1.721816p+2 +0x1.4139fep+3 +0x1.0b6028p+2 +-0x1.9cf32p+1 +0x1.4e858p+3 +0x1.b07b4ep+0 +0x1.11702p+0 +-0x1.08a3dp+3 +0x1.6f6f4p+0 +0x1.a9ca3ap+2 +-0x1.5506bcp+1 +0x1.7d3bacp+0 +0x1.ba237ep+1 +-0x1.9d3fecp+2 +0x1.04414ep+2 +-0x1.1ab066p+2 +0x1.da5968p+1 +-0x1.8bb0dep+1 +-0x1.bcfc0cp-1 +0x1.010d86p+1 +-0x1.7ff508p+1 +-0x1.087a8p+0 +0x1.3ee03ep+3 +0x1.44bf16p+1 +-0x1.dc7bfep+0 +0x1.4b2044p+1 +0x1.84fe36p+0 +0x1.cd7622p+3 +0x1.1b1d3cp+3 +-0x1.9fcae6p+3 +-0x1.0a3b58p+2 +-0x1.2abc8ap+3 +0x1.8c4d68p+0 +0x1.0a5afep+3 +0x1.4fd2ccp+0 +-0x1.11c6cep+3 +0x1.8d885ep+3 +0x1.59ea52p+3 +0x1.0ec88cp-2 +-0x1.8a5d84p+3 +0x1.1a283ap-1 +0x1.829e76p+2 +-0x1.9d40e2p-1 +-0x1.013626p+3 +-0x1.d6aa46p+2 +0x1.1ae55cp+1 +-0x1.6d2bcp+1 +-0x1.2f894ap+2 +-0x1.8cccaap+4 +0x1.a1847ap+1 +0x1.61b9fap+3 +-0x1.593af2p+1 +-0x1.6fcb36p+2 +-0x1.c8bb9cp+4 +0x1.55402ep-3 +-0x1.7758f8p+2 +-0x1.129ed6p+2 +0x1.47b15cp+1 +0x1.c37c38p-1 +-0x1.55e59cp+2 +0x1.15ab24p+1 +-0x1.5efb3p+3 +-0x1.c82246p+3 +-0x1.1ec106p+2 +-0x1.632d52p+3 +-0x1.3b380ep+0 +-0x1.d06a62p+3 +-0x1.648c7ep+4 +-0x1.e0c74ap+1 +0x1.3b45c2p+3 +0x1.9ac134p+3 +0x1.821b66p+1 +0x1.49d4a4p-1 +-0x1.9536fep+0 +-0x1.e45f7p+2 +0x1.f42e02p-2 +-0x1.1447c8p+1 +-0x1.3814cap+2 +-0x1.2a15c8p+1 +-0x1.db96f4p+2 +0x1.b7e8d8p+2 +0x1.31f092p+2 +-0x1.23d39ap+3 +0x1.8eb37cp+1 +-0x1.d6e588p+2 +-0x1.51e8dp+1 +-0x1.076dp+3 +-0x1.5ce54p+1 +-0x1.03dbfcp+2 +0x1.02c32cp+3 +0x1.2900dep+2 +-0x1.0e4a12p+2 +-0x1.5d3804p+3 +0x1.7b1186p+3 +0x1.ff5246p+0 +0x1.0e03a4p+4 +-0x1.76a414p+2 +-0x1.1fffa4p-1 +0x1.9caea4p+1 +-0x1.793d42p-1 +0x1.5b0824p+0 +0x1.254968p+0 +0x1.eb12bp+3 +0x1.fe8536p+0 +0x1.b1e56ap+3 +0x1.345306p+0 +0x1.307c96p+3 +0x1.4d5cbap+2 +-0x1.b1937cp+0 +0x1.a68d06p+2 +0x1.63840ep-2 +0x1.55b3e6p-2 +-0x1.1aa44ep+2 +-0x1.b0bd84p+2 +-0x1.f054c2p-2 +-0x1.81014cp+3 +-0x1.94effap+1 +0x1.d0a074p+0 +0x1.41625cp-6 +-0x1.40f226p+2 +0x1.68f226p+1 +-0x1.17690ep+3 +-0x1.75fa5ep+2 +0x1.295642p+0 +0x1.988104p+1 +0x1.2b01b2p+3 +-0x1.0f4d72p-1 +-0x1.4b462p+2 +0x1.9e7c32p+3 +-0x1.a6f89ep+2 +0x1.f2082cp-1 +-0x1.dd839ap+2 +0x1.7fca08p+2 +-0x1.c3c488p+2 +-0x1.6e8538p+3 +0x1.d8ed1cp-1 +-0x1.ebd99ep+1 +0x1.fd966p+2 +-0x1.206c2p+3 +0x1.aee0d6p+3 +-0x1.35d52ep+0 +0x1.13223ap+0 +0x1.743898p+1 +-0x1.4bae88p+2 +-0x1.b15ab2p+2 +-0x1.9ce3b2p+3 +0x1.cef452p+3 +-0x1.f17318p+3 +-0x1.e58d0cp-3 +0x1.808becp+2 +0x1.07f0bp+3 +0x1.325fd4p+2 +-0x1.9faafap-1 +0x1.6104f8p+4 +-0x1.7807e4p+3 +0x1.297574p+1 +0x1.3b4588p+2 +0x1.c568a6p+2 +0x1.6caddep+4 +-0x1.69894ep+1 +-0x1.373078p+0 +0x1.135deep+2 +0x1.e1285ap+0 +0x1.4b80b4p+3 +0x1.2811c4p+2 +-0x1.2e4194p+2 +-0x1.ab8ce8p+0 +0x1.9d7e14p+3 +0x1.3737cep+3 +-0x1.63ffeep+2 +0x1.8eb144p-1 +-0x1.d9b722p+0 +0x1.022adcp-1 +0x1.9790e4p+0 +0x1.18ec28p-1 +-0x1.6afe7p+4 +0x1.147d5cp+2 +-0x1.81f8cep+2 +0x1.0f3818p+2 +-0x1.c6ff78p+2 +-0x1.66360cp+2 +-0x1.6791dcp+3 +-0x1.77c6ep+1 +0x1.45d5f6p+3 +0x1.268336p+3 +0x1.3a13ap+2 +-0x1.780cfp+1 +0x1.6128b2p+2 +-0x1.439a56p+3 +0x1.50b1dp+2 +-0x1.823d74p+3 +0x1.0ae6ecp+2 +-0x1.51968p+1 +0x1.c6691ap+2 +0x1.e0a29p+3 +0x1.8cdcd4p-3 +0x1.ec9936p+2 +0x1.5317a2p+1 +0x1.51d70cp+0 +-0x1.50ba0ap+2 +0x1.2df202p+1 +-0x1.9996fap+2 +-0x1.61d00ep+3 +-0x1.3a3a26p+2 +0x1.2f54b2p+1 +-0x1.b4951cp+1 +0x1.220f6p+2 +0x1.09e96p+2 +-0x1.b1165ap+2 +-0x1.be5766p+3 +-0x1.411e54p-1 +0x1.32640ap+3 +-0x1.9d3da6p+0 +-0x1.26eaa4p+2 +-0x1.9657b2p+1 +0x1.25d18p+2 +0x1.faee42p+3 +0x1.57c286p-3 +0x1.9ed352p+1 +0x1.c24bc2p+2 +-0x1.c46c08p+2 +0x1.058fa8p+3 +0x1.074894p+2 +-0x1.2cb5d2p+3 +-0x1.7b022cp+3 +0x1.d971cep+2 +-0x1.8ec86ap-1 +-0x1.f72738p+0 +0x1.219fdep+1 +-0x1.565374p+4 +-0x1.5ca45ep-4 +-0x1.3c9b4ap+1 +0x1.0adc7p+3 +0x1.c5a68p+0 +0x1.581378p+1 +0x1.d9d092p+2 +0x1.7d3d04p+1 +-0x1.479fcep+3 +0x1.ef3f7ap+1 +0x1.52dc56p+2 +0x1.152d96p+2 +-0x1.b93628p+2 +0x1.6f1702p+1 +-0x1.d76088p+3 +0x1.396904p+4 +-0x1.bb8d38p+1 +-0x1.bea7cap+0 +-0x1.56dbccp+1 +0x1.8d2dfap-2 +0x1.9e0406p-2 +0x1.f80584p+1 +-0x1.54278cp+3 +0x1.37b24cp+1 +0x1.f77b1ap-3 +-0x1.7c43b4p-2 +0x1.10f4e2p+1 +-0x1.84c3d4p+1 +0x1.6536d4p+2 +-0x1.45c85ep+3 +0x1.8d0b58p+1 +-0x1.7bfe86p+3 +-0x1.028574p+3 +-0x1.266d42p-3 +-0x1.6f1e52p+3 +-0x1.b57398p+3 +-0x1.069008p+3 +0x1.951438p+3 +0x1.54640ep+2 +0x1.a2e70ep-1 +-0x1.4584eap+0 +0x1.598412p+2 +-0x1.3508e2p+3 +-0x1.df8c74p+3 +-0x1.d401bcp+2 +-0x1.20ff5ep+1 +0x1.ade08ep+1 +0x1.fb9154p-1 +0x1.a816fp+2 +-0x1.90a1d2p-8 +-0x1.6b755ap+2 +-0x1.54b09ap+2 +-0x1.53687ep+3 +0x1.90e46ap+4 +0x1.1c64acp+0 +-0x1.1cd93cp+1 +-0x1.d6676ep+1 +-0x1.b3376p+2 +-0x1.397f52p+1 +0x1.204f1ep+3 +-0x1.9d15f8p+3 +0x1.86b446p+1 +-0x1.3a978cp+3 +-0x1.299fc8p+3 +-0x1.a744b8p-2 +-0x1.bb2884p+1 +-0x1.23832p-1 +0x1.aabbf2p+2 +-0x1.a112b6p+2 +0x1.3d09dcp+3 +0x1.2cb5e2p+3 +0x1.3cd7acp+1 +-0x1.f1399p+2 +0x1.88f07ep+3 +0x1.93179ep-1 +0x1.2bfc96p+4 +0x1.954fb4p-1 +0x1.335b32p+3 +-0x1.e24d82p+2 +-0x1.ebc294p+3 +0x1.4d8134p+2 +-0x1.e10c4p+1 +-0x1.62805p+2 +0x1.0f558ep+4 +-0x1.407afcp+3 +-0x1.c12b48p+1 +-0x1.7ef92ap-1 +-0x1.41cc22p+1 +-0x1.b4dc08p+2 +-0x1.b8c92ep+2 +-0x1.a4756cp+1 +-0x1.d7ea62p+3 +0x1.a45014p-1 +-0x1.3949p-1 +-0x1.a047f6p+0 +0x1.b57efp+2 +0x1.6e593ep+2 +-0x1.b3b2e6p+2 +0x1.20b848p+0 +-0x1.a7a9a2p+3 +-0x1.3edfeap+0 +0x1.04df46p+3 +-0x1.85c872p+0 +0x1.987aa6p+3 +-0x1.8d8ff4p-1 +-0x1.7bbe5p+1 +0x1.09b6ep+2 +0x1.6540eep+2 +0x1.db5eb4p+0 +0x1.a75b24p+3 +-0x1.6139c4p-1 +-0x1.4f44bp+0 +-0x1.c87cf8p+3 +-0x1.625e9p+3 +-0x1.b994fap+2 +-0x1.d21a74p+3 +0x1.fb8fbcp+3 +0x1.4e0292p+2 +0x1.7bec5ap+2 +-0x1.22ade6p+3 +0x1.3ff0fcp+2 +0x1.acf446p+0 +-0x1.081e4cp+2 +-0x1.af18d2p-1 +-0x1.816382p+1 +-0x1.dbf7e6p+3 +-0x1.109eap+3 +0x1.2f89c6p+1 +-0x1.0525cep+0 +-0x1.1527b6p+1 +0x1.b3de52p+2 +-0x1.730858p+1 +0x1.1b44d8p-1 +-0x1.6d8996p+3 +0x1.34fc5ap+2 +-0x1.8704c8p+3 +0x1.740644p+4 +-0x1.4e2aacp+2 +0x1.97bcacp-1 +0x1.624156p+3 +0x1.50d6fep+2 +0x1.471f7p+1 +0x1.016aep+0 +-0x1.6baefcp+2 +-0x1.21c30ap+2 +0x1.62072ap-3 +-0x1.39b198p+2 +0x1.7f04c2p+1 +-0x1.168386p+3 +-0x1.c9fbccp+3 +0x1.1635f4p+2 +0x1.3ddefp-2 +-0x1.1ee2cep-2 +-0x1.6899a6p+2 +0x1.dc1aa4p+0 +-0x1.b601c4p+0 +0x1.a84624p+1 +-0x1.33c518p+2 +0x1.a67986p+2 +0x1.0a3882p+3 +0x1.06a6ap+1 +0x1.6bf6eap+1 +-0x1.84d9fp+3 +-0x1.6cf124p+0 +0x1.dcbcep+3 +0x1.3536fp+3 +0x1.cdd5ap+1 +-0x1.bfefecp+2 +-0x1.618704p+2 +-0x1.17cefcp+1 +0x1.67adb2p+3 +0x1.3a3954p+2 +-0x1.d038d4p-2 +0x1.36d7a8p+1 +0x1.e318b2p-1 +-0x1.3e982cp+3 +0x1.471aa2p+3 +-0x1.178b0ep+3 +-0x1.b5c338p+2 +-0x1.a52046p+2 +-0x1.d018ccp-2 +0x1.0becd4p+1 +0x1.e26ee4p+3 +0x1.1156cep+1 +0x1.a0a6aap+3 +-0x1.267fe2p+2 +-0x1.1988fap+1 +0x1.0b474ep+2 +-0x1.8fe198p+1 +-0x1.5fdfdap+3 +-0x1.943708p-3 +0x1.8d0838p+1 +0x1.8b693ap+3 +0x1.fd35a4p+3 +0x1.20e762p-1 +0x1.1338d4p+4 +-0x1.ea5206p+2 +-0x1.cd9f28p+1 +-0x1.1da77p+4 +-0x1.123ce4p+3 +-0x1.07274p+2 +0x1.c65318p-1 +-0x1.39b1fp+2 +-0x1.153f22p+4 +0x1.8dd608p+3 +0x1.c91194p+1 +-0x1.06ef9ep+0 +-0x1.f7e71ep-2 +-0x1.2bcc98p+1 +-0x1.d372aap+2 +-0x1.263fecp+3 +-0x1.d0ae2ap+2 +0x1.bf14b6p-2 +0x1.d08ea4p-1 +-0x1.d899f6p+3 +-0x1.c8a996p+2 +-0x1.5587dcp+4 +-0x1.c510eep+2 +-0x1.18b784p+3 +0x1.71cc02p+2 +-0x1.64f178p+2 +0x1.23e878p+2 +-0x1.aec4fap+0 +0x1.30e846p+3 +-0x1.f9dee6p-3 +-0x1.24ba82p+0 +-0x1.9fe796p+1 +0x1.af099ep+3 +-0x1.43231ap+1 +0x1.15808p+3 +-0x1.dd8294p+2 +-0x1.29bfc2p-2 +0x1.5fafe6p+2 +-0x1.22b358p+2 +0x1.6651c6p-4 +0x1.e17a66p+2 +0x1.d3c68cp+1 +-0x1.56483ep-1 +0x1.f538f4p+0 +-0x1.7fb88ep+3 +0x1.74596ap+0 +0x1.90a7c4p+3 +-0x1.74067ap+0 +0x1.3902e8p+3 +0x1.359ad8p+1 +-0x1.14bb78p+4 +-0x1.d2bp+2 +0x1.f9f7f8p+1 +0x1.f4b9e2p-1 +0x1.18af72p+3 +0x1.2336b2p+4 +-0x1.aa7a9ep+2 +0x1.23d8f2p+3 +0x1.066028p+2 +-0x1.2ab22p+1 +0x1.0787d6p+3 +-0x1.9b00fep-1 +0x1.fe98dep+1 +0x1.5ce4dap+3 +0x1.54b8p+1 +0x1.7631f2p+2 +-0x1.56d6cep+3 +0x1.e93e02p+3 +-0x1.508c64p+2 +-0x1.526f5ep-2 +-0x1.c205f2p+3 +-0x1.4665ecp+4 +-0x1.95aab2p+1 +-0x1.0cb91ep+3 +0x1.517e3p+1 +-0x1.bf61d2p+2 +-0x1.457ed6p+3 +-0x1.37c8c2p+2 +-0x1.002cb2p+3 +-0x1.07c27ap+2 +0x1.274168p+2 +0x1.38f41ep+3 +-0x1.81ce3ap+2 +-0x1.d73dd2p-5 +0x1.1be246p+3 +0x1.2488c6p+4 +0x1.231018p+2 +0x1.23500ep+1 +0x1.19c6bep+1 +-0x1.5e77f6p+4 +-0x1.a6520ep+1 +-0x1.fad8dcp+0 +-0x1.520906p+1 +-0x1.77399ap+1 +0x1.14293cp+2 +0x1.50f4ap+2 +0x1.365732p+3 +-0x1.3469c8p-4 +0x1.b1cb36p+1 +0x1.0c8066p+1 +0x1.53f73p+2 +-0x1.ba6bf4p+3 +-0x1.142e22p-1 +0x1.240138p+1 +0x1.2b6fa4p-2 +-0x1.5a932ep+1 +0x1.ba4fb4p+2 +-0x1.223d3p+4 +-0x1.27b8aep+0 +-0x1.a8e546p-1 +0x1.01d11p+2 +-0x1.93f7d2p-3 +0x1.7fcddep+2 +0x1.9a1d8ep+3 +0x1.036464p+3 +0x1.b0e7p+0 +0x1.02db3p+4 +0x1.6b8aap+2 +0x1.2fa006p+3 +-0x1.d82328p+2 +-0x1.9d410ap+3 +-0x1.de77eap-2 +-0x1.21fbd8p+2 +-0x1.cb4adcp-1 +-0x1.3f3ebcp+3 +0x1.2cd10cp+3 +-0x1.6f6f24p-2 +0x1.ed8106p+0 +-0x1.895068p+2 +0x1.00c424p+3 +-0x1.6b352ep+0 +-0x1.08fb74p+3 +0x1.26b1b2p+3 +0x1.5f5b98p+1 +0x1.5767d4p+3 +0x1.276b56p+3 +0x1.2bc056p+3 +0x1.054068p+3 +0x1.e8fb5ep-1 +-0x1.7950f2p+1 +0x1.61c78ep+3 +-0x1.3da23ap+3 +0x1.b309d2p+3 +0x1.b3d51ap-1 +0x1.c7101cp+1 +-0x1.17cc8p+4 +0x1.5e9e68p+1 +-0x1.7b88bap+3 +-0x1.bc3d1p+1 +0x1.fe1772p+3 +-0x1.454e04p-1 +-0x1.203ea8p-2 +0x1.0b63p+2 +0x1.0a3696p+1 +0x1.b69cbep-2 +0x1.e4a2ap+1 +-0x1.fc1de8p-1 +0x1.9c5f0cp+2 +-0x1.c662e4p+0 +0x1.cb775ap+1 +-0x1.61d9a4p+1 +-0x1.1450cep+3 +-0x1.e77354p+2 +-0x1.a191c6p+0 +-0x1.3b096ap+3 +-0x1.573978p-1 +0x1.974ac4p-2 +-0x1.19e942p+3 +-0x1.60de18p+1 +-0x1.787726p+1 +-0x1.fea152p-2 +-0x1.c22308p+0 +0x1.288e8p+1 +-0x1.5b0a62p+0 +-0x1.e322c8p+1 +-0x1.11322ep+2 +-0x1.34b88ap+3 +0x1.52f128p+2 +0x1.119c1p+3 +-0x1.69e2d2p-4 +0x1.1feb9ap+3 +0x1.61fedap+1 +-0x1.8f798ap+3 +-0x1.dfbf18p-3 +0x1.969822p+1 +-0x1.4b524ep+0 +-0x1.321ac4p-3 +-0x1.6ebfaep+3 +0x1.e1d78cp+3 +-0x1.1208eep+2 +0x1.50da0ap+2 +0x1.095648p+3 +0x1.d7c7b6p+3 +-0x1.d0964cp+2 +0x1.2e6518p+2 +-0x1.c0bdc4p+2 +0x1.1695dp+1 +0x1.0454b4p+2 +0x1.4ccceap+1 +-0x1.1db5fap-1 +-0x1.786a46p+3 +0x1.990da6p+2 +-0x1.dac65cp-1 +0x1.4f6fe8p+2 +-0x1.d20a7ap+2 +-0x1.99dd6p+1 +0x1.e5340cp+2 +0x1.a5b96ap+3 +-0x1.928d3cp+1 +0x1.2e3152p+1 +0x1.513136p+2 +0x1.0222cap+2 +-0x1.45b538p+1 +-0x1.ec6732p+0 +0x1.0523dep+2 +-0x1.3a3f7cp+3 +0x1.5ebaf6p+3 +0x1.224768p+3 +-0x1.1e90c4p+4 +-0x1.fedbaap+2 +-0x1.02282p+4 +-0x1.06399p+3 +0x1.ab809ap+2 +-0x1.e2fa34p+3 +-0x1.000ccp+1 +-0x1.16afe8p+3 +0x1.5d829ap+2 +-0x1.582e24p+3 +-0x1.65ffe8p+1 +-0x1.07b006p+3 +-0x1.8a79aap+3 +-0x1.362ff8p+3 +0x1.5a2a56p+2 +-0x1.ad62d6p+1 +0x1.43efdap-1 +-0x1.121deap+1 +-0x1.68e8ecp+1 +-0x1.4737a8p+2 +0x1.41eb8ep+2 +0x1.d3725p+0 +-0x1.d01bfap+2 +-0x1.d040bp+2 +-0x1.1a8154p+4 +-0x1.23d4f4p+4 +0x1.83048p+2 +0x1.8733f8p+3 +0x1.bc26f6p+2 +0x1.86383ep+1 +-0x1.c049b6p-3 +-0x1.fec492p+1 +0x1.7f7968p+3 +-0x1.1dd896p+2 +-0x1.a9ae64p+2 +-0x1.8077dep+3 +-0x1.1e7b08p+4 +0x1.235396p+2 +-0x1.c87d1p-1 +-0x1.d320dap+1 +0x1.03b144p+2 +0x1.7a3848p+1 +0x1.242e1ep+3 +0x1.b7936ap+1 +-0x1.4f848cp+2 +-0x1.0e20dcp+3 +-0x1.c14bcp+3 +-0x1.efd63p+0 +0x1.a4476p+3 +0x1.d225c2p+0 +0x1.21c166p+1 +0x1.235af8p+2 +-0x1.1b58bap+2 +-0x1.58b5e6p+1 +0x1.dc72e4p+3 +-0x1.de7f64p+2 +0x1.76a74ep+0 +-0x1.b2a272p+1 +-0x1.d78d2ap+1 +-0x1.d3a276p+2 +0x1.5d8ba8p-1 +0x1.2127e4p+2 +-0x1.22ebdcp+3 +0x1.78e76p+1 +-0x1.991118p+2 +0x1.0855c4p+3 +-0x1.36a24ap+2 +-0x1.2510e8p+3 +-0x1.0d06dep+1 +-0x1.cade28p+1 +0x1.afd89cp+0 +-0x1.29809ep+2 +0x1.aaf702p+3 +0x1.9dcb1p-1 +0x1.5f3cc8p+2 +0x1.4ba3a6p+3 +-0x1.6d9b24p-1 +0x1.a3ea74p+2 +0x1.207bc6p+0 +-0x1.fe6d08p+2 +0x1.1a6974p+2 +0x1.d70e4ap+2 +0x1.6f4598p+3 +-0x1.0c62a6p+1 +0x1.d820cap+3 +-0x1.71efdcp+2 +-0x1.30841ap+2 +0x1.70f534p+1 +-0x1.4f45fap+1 +0x1.d6ae62p+3 +0x1.f196bcp+2 +-0x1.41d18ep+4 +-0x1.762a84p+3 +0x1.d63c0ep+2 +0x1.f22036p+3 +-0x1.f1afc8p+2 +-0x1.2c7664p-1 +0x1.a217aap+3 +-0x1.07766ep+2 +0x1.7d3ed6p+2 +-0x1.e87ddap+2 +-0x1.9ed7a2p+2 +-0x1.5be994p+3 +-0x1.9df17ep+0 +-0x1.4d8beap+3 +-0x1.57acp+2 +-0x1.cd544cp+1 +-0x1.297dfap+3 +-0x1.72ed2p+2 +0x1.351bfep+0 +-0x1.7a6164p+2 +0x1.524c22p+2 +-0x1.6e8b3cp-1 +0x1.1f939p+2 +0x1.21e258p+1 +0x1.7f5a82p+2 +-0x1.0326ep+2 +0x1.3dbaa2p+1 +0x1.c7e528p+0 +0x1.5e1d8ep-4 +-0x1.d7ebf6p+2 +0x1.9097b6p+2 +0x1.37bfb2p-1 +-0x1.fd2e5p-1 +0x1.34111cp+3 +-0x1.320bb8p+2 +0x1.c3d3cep+0 +0x1.d68baep-3 +0x1.d5fbdap+2 +0x1.774752p+3 +-0x1.a3adc4p+3 +-0x1.c7e54ap+1 +-0x1.1872bap+1 +-0x1.e39d88p+2 +0x1.b7553p+3 +-0x1.db9718p+0 +-0x1.7e4a4ap+1 +-0x1.ca0c48p+1 +-0x1.140942p+1 +-0x1.b89a4ep+3 +-0x1.047d92p-1 +-0x1.1fca22p+3 +0x1.2519e4p+1 +0x1.0ea7cp+3 +0x1.c6c844p+2 +0x1.603424p+3 +-0x1.a5ffd2p+1 +0x1.a39c7p+1 +0x1.125b5cp+3 +0x1.90738cp+1 +0x1.d921bp+3 +-0x1.b15416p+3 +0x1.44313ap+3 +0x1.f07062p+3 +-0x1.46944p+1 +0x1.dbaea8p+1 +-0x1.6c8e2p+3 +0x1.597e7cp+3 +0x1.36efb8p+2 +-0x1.7b4e54p+0 +-0x1.47ffa4p+3 +0x1.8bc7b4p+2 +0x1.260286p+2 +0x1.686e96p+3 +0x1.710bd6p+3 +0x1.55e84p+3 +-0x1.43ffa8p+1 +-0x1.69b8c8p+2 +0x1.c0c0d8p+3 +0x1.eac24ap+2 +0x1.e064cp+3 +-0x1.c5a6f6p+3 +0x1.7d090ap+4 +-0x1.51054cp+0 +0x1.e95248p+1 +0x1.064c9p+4 +0x1.0e768ap+3 +0x1.fcd304p+2 +-0x1.ee4138p-1 +-0x1.6fa7bcp+3 +0x1.1131d4p+0 +0x1.84b6fp+3 +0x1.82d034p+4 +0x1.307076p+2 +0x1.d6dd86p+1 +0x1.b0c424p+1 +0x1.6ecb46p-1 +0x1.5472dp+1 +-0x1.2c76e4p-1 +-0x1.d8f29ap+3 +-0x1.de8bb6p+3 +-0x1.e2eebp-1 +0x1.88639ap+1 +0x1.004798p+3 +0x1.11537p+0 +-0x1.58cef2p+1 +-0x1.dc8958p+2 +0x1.dc3e84p+1 +-0x1.fc0366p+2 +0x1.aa6136p+3 +-0x1.99a04cp+2 +0x1.b0839ep+3 +0x1.d13378p+2 +0x1.2ea186p+2 +-0x1.443c98p+2 +-0x1.eeb87ep+2 +0x1.38c446p+3 +-0x1.710f7cp+3 +-0x1.07b1ap+3 +-0x1.c75e14p+2 +-0x1.3ddf74p+1 +0x1.27093p+3 +-0x1.0833d4p+1 +-0x1.2cb6bap-1 +0x1.6bd3ep+3 +-0x1.17db0ap+3 +-0x1.fc4a6ap-1 +0x1.87f732p+2 +0x1.40fc56p+1 +-0x1.cc7f4ep+2 +-0x1.792ec6p+1 +-0x1.44a492p+4 +-0x1.3827d4p+3 +-0x1.41cca4p+4 +0x1.613802p+2 +0x1.d9b438p+2 +-0x1.b7982ep+0 +-0x1.dd1504p+0 +0x1.dfc3ccp+2 +0x1.1f3afep+0 +-0x1.0cc97cp+2 +-0x1.201c3ep+2 +0x1.df82bp+2 +0x1.395d76p+0 +-0x1.0b866ep+4 +-0x1.738d3p+3 +-0x1.0eeadep+3 +0x1.40cdccp+2 +-0x1.3c73dap+3 +-0x1.74ae48p+0 +0x1.d8275ap+2 +0x1.f22d48p+2 +0x1.1723e8p+4 +0x1.8f429p+1 +0x1.550ea2p+3 +-0x1.b1783p-3 +-0x1.061f08p+3 +-0x1.7ae9bap+0 +-0x1.1541c8p-1 +-0x1.ed3336p+0 +-0x1.a2b8ep+1 +0x1.46e11ep+0 +-0x1.e01f1cp+1 +0x1.c5b57p-3 +-0x1.39bbdap+0 +-0x1.a0c208p+3 +0x1.268d4cp+3 +0x1.8e2fbcp+2 +-0x1.6b14c4p+2 +0x1.8dc764p+2 +0x1.8779e6p+1 +-0x1.176c96p+2 +-0x1.25a544p+3 +-0x1.81eb7ap+2 +0x1.7b7cdap+2 +0x1.11e368p+0 +0x1.8ec7bp+0 +0x1.35e798p-1 +-0x1.b39648p+1 +0x1.827ddap+1 +-0x1.14a3cep+3 +-0x1.cb9414p+1 +-0x1.75eb8p+3 +0x1.24954cp+2 +0x1.f902dcp+1 +0x1.640cf2p+0 +-0x1.2f225p+3 +-0x1.02d94cp+3 +-0x1.9b7db8p+2 +0x1.68651ep+3 +0x1.f4797p+2 +-0x1.d1393ep+2 +0x1.c5dc9p+3 +0x1.bb6f32p+0 +-0x1.cd8996p+2 +-0x1.c73194p+2 +0x1.987076p+1 +-0x1.a68fcp+2 +-0x1.15e00cp+0 +-0x1.339fbep+3 +-0x1.413902p+1 +0x1.ce6222p+2 +0x1.970f02p+3 +0x1.8abadap+2 +-0x1.2c58f8p+1 +0x1.06a996p+3 +-0x1.98533ep+4 +-0x1.fe3dd4p+3 +-0x1.6021c8p+2 +-0x1.575738p-1 +-0x1.cfee4ap+1 +0x1.11638ep+1 +-0x1.fb4ad6p+1 +-0x1.0708c8p+2 +-0x1.00d2dap+1 +0x1.7fbfd8p+3 +0x1.5a65d8p+3 +-0x1.0b1734p+1 +-0x1.4915bcp-2 +0x1.6beb9cp+2 +0x1.57a912p+1 +-0x1.12d05p+0 +0x1.89ea2ap+1 +-0x1.5632cep+1 +-0x1.d4c06cp+2 +-0x1.4f1954p+1 +0x1.3db73p+2 +-0x1.d8db14p+1 +0x1.98df14p+2 +0x1.14ed3ap+1 +0x1.152fd8p+1 +-0x1.eb0c42p+0 +0x1.c34eeap+2 +0x1.f84a2p+3 +0x1.43f32p+2 +0x1.38668cp+3 +-0x1.0fcddap+2 +-0x1.9f96a6p+0 +0x1.e85928p+1 +-0x1.361cep+4 +-0x1.8c83cep+3 +0x1.1c76acp-2 +0x1.5b1636p+2 +0x1.5c5494p+2 +0x1.969e8ap-2 +0x1.2440fap+4 +0x1.31fb48p+3 +0x1.2d1b84p+1 +-0x1.225302p+2 +-0x1.342994p+3 +-0x1.71951ep+1 +0x1.29b1a2p+3 +-0x1.cff758p+3 +0x1.2a3a82p+3 +0x1.f4252ap-1 +0x1.c8b542p+2 +0x1.83bb48p+0 +-0x1.4c22ep+0 +-0x1.0fdb2ep+4 +-0x1.35116p+3 +-0x1.b63122p+1 +0x1.a740bp+1 +0x1.094508p+2 +-0x1.3d0b14p+2 +-0x1.808f84p+3 +-0x1.b7e28ap+1 +-0x1.3c6e26p+3 +0x1.e87adep+2 +0x1.3902b2p+0 +-0x1.76edd4p-1 +-0x1.cc1838p-1 +-0x1.8b4aap+1 +-0x1.4a916p+2 +-0x1.c4d7e2p-2 +-0x1.9fb55ep+2 +0x1.0cca48p+2 +0x1.2bccaap+4 +0x1.0dc2f2p+1 +0x1.9a8406p+3 +0x1.a607cap+3 +-0x1.44bb7ep+3 +0x1.f3e262p+2 +-0x1.15187p+3 +-0x1.5946e6p+3 +-0x1.d8f4f8p+1 +-0x1.bc8404p+2 +0x1.c53ab4p-2 +0x1.191f9ap+3 +0x1.acbcecp+2 +-0x1.4c2d72p+2 +-0x1.02ea12p+3 +0x1.20889ep+1 +0x1.8c2f3p+3 +0x1.10b322p-1 +-0x1.71e27ap+4 +-0x1.2743a2p+2 +0x1.4c16c2p+1 +-0x1.035d74p-2 +-0x1.596772p+1 +-0x1.044af2p+3 +0x1.57275ap+2 +0x1.0b9a4cp+4 +0x1.c2c14ap+1 +-0x1.18b6fp+2 +0x1.aa7be8p+0 +0x1.0e7168p+3 +-0x1.b5a3dcp+0 +-0x1.c72a6ap+1 +-0x1.cb8108p-1 +-0x1.47dbd4p+3 +-0x1.df37b2p+2 +-0x1.430244p+3 +0x1.f6648p+3 +0x1.d75654p+2 +0x1.19a41ap+2 +-0x1.ac1622p+1 +-0x1.901e2p+2 +0x1.091688p+2 +-0x1.4d340ep-2 +-0x1.6e9738p+2 +0x1.66dc78p+3 +-0x1.76e404p+1 +-0x1.a8aa78p-4 +-0x1.aee52cp+3 +0x1.234e8ap+1 +0x1.367622p+1 +-0x1.78192p-1 +0x1.2401c8p+3 +0x1.4296cep+2 +0x1.b9051ep+3 +0x1.6b220ep+2 +-0x1.a36448p+0 +0x1.aed15ep+3 +0x1.144ca4p+4 +0x1.67aa5p+3 +-0x1.48a92p+3 +0x1.9a61f2p+0 +-0x1.131b2cp+3 +0x1.eaf848p+1 +-0x1.cc9e02p+2 +-0x1.a0321ap+2 +0x1.616dbp+2 +0x1.2ed1fcp+1 +0x1.5cebfcp-3 +-0x1.9f96e8p+1 +-0x1.0ef2a6p+3 +-0x1.6462b4p+0 +-0x1.d53832p+2 +0x1.b8dd7p+1 +0x1.4874bap+1 +-0x1.ec97bap+3 +-0x1.53ef34p+2 +-0x1.07fbaap+3 +-0x1.d5c394p+1 +-0x1.448fe4p+4 +0x1.094c28p+2 +0x1.31663ep+3 +-0x1.cf8768p+2 +0x1.3509dp+0 +0x1.8dabe2p+1 +0x1.89563ep+1 +0x1.41e1ccp+1 +-0x1.bb2d1cp+2 +0x1.1c840ep+3 +0x1.bc5d9p+3 +0x1.36b89cp+2 +0x1.0924e6p+0 +-0x1.88f8a4p+3 +0x1.033bdcp+3 +0x1.710218p+2 +-0x1.3d096ap-3 +0x1.3473c8p+3 +-0x1.e31a32p+2 +0x1.efcb56p+2 +0x1.a506aep+0 +-0x1.711fe8p-2 +-0x1.144e54p+3 +-0x1.821f6ap+1 +-0x1.facc3ep-1 +-0x1.8d14p+4 +-0x1.69e3aep+1 +0x1.4818c4p+2 +-0x1.40af88p+3 +0x1.74a9b4p+3 +-0x1.03bd38p+3 +0x1.6e1a9p-1 +0x1.702f9ep+2 +-0x1.7bd9e6p+4 +-0x1.a28782p+2 +-0x1.6a13d2p+2 +0x1.bf6546p+0 +0x1.0073b4p-1 +-0x1.deccb4p+2 +0x1.b97cd6p+3 +-0x1.e8595ap+3 +-0x1.e8608ap+2 +0x1.29b278p+1 +0x1.0139p-5 +0x1.0c8efep-1 +0x1.8abba2p+2 +-0x1.701154p+1 +0x1.11c3p+2 +-0x1.fcebaap+2 +0x1.b7819ap+0 +0x1.c4abcep+2 +0x1.da5bc2p-1 +-0x1.625d3p+1 +-0x1.4d1642p+4 +-0x1.6e78e8p+3 +0x1.ff57b4p+0 +-0x1.732f8p+3 +0x1.c60c8ap+3 +-0x1.6c0f72p-3 +0x1.6c6fccp+2 +-0x1.8770acp+3 +0x1.2e1f4p+2 +-0x1.8a5f1p-2 +-0x1.137b36p-1 +0x1.08318ep+2 +0x1.55dadp+2 +0x1.c697cap+2 +-0x1.7e14c4p+1 +0x1.c05afap+2 +0x1.de4a2p+1 +0x1.d456c4p+0 +0x1.8f5974p+2 +0x1.9e9302p+3 +0x1.27f39ap+3 +-0x1.1bbf7cp+2 +-0x1.be890cp-1 +0x1.a553d6p+2 +0x1.43939ep+2 +-0x1.4045e4p+3 +-0x1.35a0f6p+3 +-0x1.3422aap+2 +0x1.fa67b6p+3 +-0x1.3cc6fcp+3 +-0x1.78fa12p+3 +0x1.78175cp+1 +0x1.07b032p+4 +-0x1.39bc1cp+2 +0x1.7e1ecap+3 +-0x1.a8cdaap+2 +0x1.f5b0cap+2 +-0x1.e7061ap+2 +-0x1.323af2p+1 +0x1.8d033ap+2 +-0x1.a1a074p+2 +0x1.50cc42p-1 +-0x1.f56e5ep+2 +0x1.3859dap+2 +0x1.73203cp+2 +-0x1.8adde6p+2 +-0x1.d557aep-1 +0x1.36e46ep+0 +-0x1.35822ep+1 +0x1.27b778p-2 +-0x1.3d6d94p+2 +-0x1.11e906p+2 +-0x1.deaedep+3 +-0x1.6c2686p+1 +-0x1.751cb6p+1 +0x1.7e5a44p+2 +-0x1.a1a944p+2 +-0x1.631e76p+2 +-0x1.4974eap+0 +-0x1.610c3ap-2 +0x1.64f79cp+1 +0x1.ef4876p+1 +0x1.3bf078p+4 +0x1.1b3054p-2 +-0x1.0d3a5p+1 +0x1.017ee4p+4 +-0x1.208ccp+3 +-0x1.5f084ep+3 +-0x1.2bc952p-1 +0x1.79882cp+2 +0x1.f213b8p+2 +-0x1.a1dee8p-3 +0x1.398bap+1 +0x1.19695ep+4 +0x1.efefbap+1 +0x1.e030b8p+3 +0x1.b164eap+0 +0x1.adaf62p+3 +0x1.e9a2d2p+2 +-0x1.17544ap+3 +0x1.3276eap-1 +0x1.6d2016p+1 +-0x1.bd270ap+0 +0x1.51916p+1 +-0x1.8aadeap+2 +0x1.e4a268p+2 +-0x1.2988d8p+2 +-0x1.35c038p+2 +-0x1.3a1554p-5 +-0x1.2596bap+3 +0x1.5d799cp-2 +-0x1.d574c6p-1 +0x1.9e272ep+3 +-0x1.baca84p+2 +0x1.9f22e2p+1 +-0x1.c073cap+0 +0x1.1633b2p+2 +0x1.63fdep+1 +0x1.3bf4p+0 +-0x1.242928p+1 +0x1.b44f6p+2 +0x1.35ef8ep+2 +0x1.1f6824p+1 +0x1.01263ep+0 +0x1.43f43cp+3 +-0x1.272e42p+0 +0x1.cde266p+3 +-0x1.2759fcp+3 +0x1.53c2ap+2 +-0x1.3b002ap+2 +-0x1.a9d384p+2 +-0x1.c0ffa4p+3 +0x1.28be5ap+3 +0x1.dee24p+0 +0x1.00a382p+3 +-0x1.089956p+3 +0x1.0af8e2p+1 +0x1.1d9202p+0 +0x1.b4eabap+3 +-0x1.50679p+4 +-0x1.b0207ap+1 +0x1.15067ep+2 +0x1.33b2fep+3 +0x1.229d8ep+2 +-0x1.14bb16p+3 +0x1.06aa7ap+2 +0x1.b45904p+1 +0x1.715c2cp+3 +0x1.668408p+2 +0x1.f24d72p+0 +0x1.dbf50cp+3 +-0x1.938fbap+3 +-0x1.bbfd72p-1 +0x1.333e5ep+3 +0x1.05222ep-1 +0x1.8c6cd2p+3 +0x1.8f1b76p+1 +-0x1.02c5f6p+1 +-0x1.1713aap+0 +-0x1.a29ad4p+3 +-0x1.b6d618p+1 +-0x1.70b116p+0 +-0x1.d84738p+1 +-0x1.a232cp-1 +-0x1.3d48acp+0 +0x1.523a7ep+3 +0x1.e70aeep+1 +-0x1.5a1c98p+2 +-0x1.ed119p+2 +-0x1.792fd2p+0 +0x1.488072p+2 +-0x1.e435bep+1 +-0x1.e5248cp+2 +0x1.2ea91cp+2 +0x1.075236p+3 +-0x1.9fd766p-2 +0x1.d27774p+0 +0x1.a0de76p+3 +-0x1.779e1ap+2 +-0x1.9a63b2p+2 +0x1.4551cp+2 +-0x1.2bf0fp-1 +-0x1.ae0f78p+1 +0x1.ae5e88p+4 +0x1.34f0d2p+1 +0x1.69e272p+1 +0x1.2da5a4p+4 +0x1.a9cf96p+2 +-0x1.45019ep-1 +-0x1.554226p+0 +0x1.ce6a22p+2 +0x1.e60fc4p+0 +-0x1.ba4f24p+2 +0x1.bef6acp+1 +-0x1.f08f32p+0 +-0x1.827efp+1 +-0x1.814518p+2 +0x1.929f7cp+1 +-0x1.2e62cap+0 +-0x1.0b1e92p+3 +0x1.8b1da8p+1 +0x1.41a8c4p+2 +-0x1.c2ed34p+2 +0x1.23ff52p+3 +-0x1.797516p+2 +-0x1.8f914ep-1 +0x1.31814p+1 +-0x1.19f828p+0 +0x1.4f28e4p+3 +0x1.9f7bep+0 +-0x1.49859ap+1 +0x1.f24a98p+2 +-0x1.3785cp+2 +-0x1.28ddfp+3 +0x1.af2e4cp+2 +-0x1.bb9c34p+2 +-0x1.237384p+3 +0x1.216e94p+2 +-0x1.404f78p+0 +-0x1.d5f764p+2 +-0x1.6a54a4p+0 +-0x1.ea251ep+0 +0x1.e4d75cp+1 +-0x1.51d778p+3 +0x1.f0ffbep+0 +0x1.07cd9ap+1 +0x1.7291e8p+2 +-0x1.102f36p+3 +0x1.16fa72p+2 +-0x1.68cf94p+2 +0x1.bda476p+3 +-0x1.80b8e6p+4 +-0x1.044f2cp+3 +0x1.b76b66p+0 +-0x1.05859ap+3 +-0x1.51373ep-3 +0x1.0ccfep+0 +0x1.217ce6p+3 +0x1.5f8346p+1 +-0x1.4855b8p+3 +-0x1.c67156p-1 +0x1.f2919ep-3 +0x1.2a6246p+2 +0x1.caa2ecp+0 +-0x1.682f24p+2 +-0x1.d0d90ep+3 +0x1.904d8p+2 +-0x1.d9bc36p+2 +0x1.b609dp+2 +-0x1.9a9a14p+2 +0x1.2063c2p+1 +-0x1.ada57ep+2 +0x1.8fce24p+1 +0x1.ac55ep+2 +-0x1.0c3b9p+1 +0x1.a5e5b4p+1 +-0x1.0565e8p+2 +0x1.6da238p+0 +0x1.4975fcp+5 +-0x1.ff2f3cp+3 +0x1.bef44ap+3 +-0x1.8801d6p-1 +-0x1.cbb29ep+1 +0x1.09dc7p+2 +0x1.2eb9c4p+4 +0x1.619a86p-6 +-0x1.6ef242p+3 +-0x1.29526ap+0 +0x1.218a9p+3 +0x1.065246p+1 +-0x1.4bc35ap+3 +-0x1.503f56p+2 +-0x1.de0226p+2 +-0x1.7c16f2p+3 +0x1.be4304p+3 +0x1.a2e2c6p+3 +0x1.5f5178p+2 +-0x1.80f52p+2 +0x1.be8832p+3 +0x1.1e1ad8p+3 +0x1.88af12p+2 +0x1.56d51p+2 +0x1.2e8bcap+2 +0x1.7c2a16p+1 +-0x1.c3f246p+1 +0x1.4b1852p+4 +0x1.11083cp+3 +-0x1.7e2af4p+2 +-0x1.7da2eap+0 +0x1.506ffcp+0 +0x1.7ab5eap+0 +0x1.b77cacp-1 +0x1.7b3b4ep+3 +0x1.bbddc2p+2 +0x1.c509a2p+3 +0x1.183ab4p+2 +-0x1.2b1b38p+4 +0x1.826b8p+3 +0x1.88115p+2 +-0x1.242f7ap+1 +-0x1.4b33fap+0 +-0x1.3ff7b2p+3 +0x1.e5c146p+2 +-0x1.0452ccp-3 +0x1.c8557p+0 +-0x1.2fe8f8p+2 +0x1.4b188cp+2 +-0x1.02805ap+1 +0x1.81a3dp+3 +0x1.61605p+0 +-0x1.88b9b4p+1 +0x1.adbdep+2 +0x1.ef8b78p+0 +0x1.6f0586p+2 +0x1.d51d52p+1 +0x1.e0380ap+1 +-0x1.72ba7p+3 +0x1.ba9f12p-2 +-0x1.4730bap+4 +0x1.d2be6cp+1 +0x1.4dea36p+0 +-0x1.13802ep+3 +-0x1.1f41e4p+0 +-0x1.29929cp+1 +0x1.d3f8e6p+0 +-0x1.60ca4cp-1 +0x1.0ad204p+0 +-0x1.e96f94p+0 +-0x1.21e5d8p+2 +0x1.9867c6p+2 +-0x1.fea528p-5 +-0x1.93dc6ap+1 +-0x1.680cd2p+4 +0x1.21f1f2p+2 +-0x1.060a6ep+4 +-0x1.1ff164p+3 +0x1.4d1bf4p+1 +-0x1.0ccf4p+4 +0x1.12b196p+3 +-0x1.220a6p+1 +-0x1.5ef9ecp+1 +0x1.71cdb6p+2 +0x1.1b40f2p+3 +0x1.dae342p+0 +0x1.ceb356p+3 +0x1.028d0ap+2 +-0x1.0e4394p+0 +0x1.2a2bep+1 +0x1.d86p+0 +-0x1.e6a31ap+2 +-0x1.513df4p-1 +0x1.1e75dap-1 +-0x1.0d4c2p+3 +0x1.5dca4p+0 +-0x1.d37956p+2 +-0x1.a04d48p-1 +-0x1.04014cp+0 +0x1.658adp+1 +-0x1.0ff5d6p-3 +-0x1.cb30ccp-1 +-0x1.26c032p+3 +0x1.f0b8dp+0 +0x1.502734p+2 +0x1.687e12p+1 +-0x1.82955ep+0 +-0x1.f0a28ep+2 +-0x1.934f9p+1 +0x1.9f3cp+1 +0x1.104162p+2 +0x1.250e94p+4 +0x1.cbb8b2p+2 +-0x1.04dcf8p+3 +-0x1.39dd92p+1 +-0x1.69653ap+2 +-0x1.9e5b08p+3 +0x1.cf9e7ep-1 +-0x1.f509a8p+2 +0x1.e6fb88p+1 +-0x1.015c68p+4 +-0x1.4ef5c8p+4 +-0x1.d76b72p+3 +0x1.c56e2cp+3 +0x1.2fd78cp+2 +-0x1.53571ep+1 +0x1.1fc02cp+3 +0x1.b3d1aep-4 +0x1.7e911cp-1 +-0x1.deccf2p+2 +-0x1.f4a962p-2 +-0x1.a1bcc4p+2 +0x1.3e4dd6p+3 +0x1.32e094p+1 +0x1.b25072p+2 +-0x1.e1b734p+3 +0x1.36b69cp+3 +0x1.24780ep+3 +0x1.525898p-1 +-0x1.3612bcp+3 +-0x1.e53778p+0 +0x1.17896cp+3 +0x1.339628p+1 +-0x1.53c8cap+2 +0x1.ea6f96p+2 +0x1.b4e004p+1 +-0x1.e2af58p+3 +0x1.0533a6p+3 +0x1.f3a2bp+2 +0x1.a8aec6p+3 +-0x1.70f68p+2 +0x1.51f402p+2 +0x1.db0648p-1 +0x1.4e1964p+0 +0x1.a93094p+1 +-0x1.1026fep+2 +0x1.2b118p-1 +-0x1.1663b2p+1 +0x1.64f32ap+1 +0x1.76f538p+3 +-0x1.229edap-2 +-0x1.9d5422p+0 +0x1.663992p+1 +0x1.827424p+0 +0x1.56ef8ap+2 +-0x1.48c9fcp-8 +0x1.2c9096p+1 +0x1.f11c2ap+0 +-0x1.d30d84p+2 +0x1.7c24bp+2 +-0x1.a8496ap+2 +-0x1.8d426p+1 +0x1.2fee8ep+2 +0x1.2784b4p+2 +-0x1.fa3b2p+0 +0x1.5f32acp+1 +-0x1.d1bb1p+2 +-0x1.b9e65cp+0 +-0x1.50f468p+3 +-0x1.6dbe7p+0 +0x1.a46e98p+3 +0x1.4cde12p+3 +-0x1.e842a6p+2 +0x1.a07a38p+1 +0x1.021d6cp+3 +-0x1.07a6aap+1 +0x1.684072p+4 +0x1.5a13a4p+1 +0x1.e2f996p-2 +-0x1.5ffafep+1 +0x1.b56388p+0 +0x1.7d238p-1 +-0x1.61af1cp+2 +0x1.cfd7a6p-7 +0x1.24984ap+3 +-0x1.89074p+3 +-0x1.ab4148p+3 +-0x1.dfbe18p-1 +0x1.9308cp+0 +0x1.c58a08p+3 +0x1.b362b4p+1 +0x1.57be1p-1 +0x1.48fdc6p-2 +-0x1.020ca6p+4 +0x1.83ec8ap+2 +0x1.b2c478p+2 +-0x1.113a0ap+2 +-0x1.d382c8p+2 +0x1.7880f4p+1 +0x1.971a04p+3 +0x1.0fb78p+2 +-0x1.9719cap+0 +0x1.ea1f6ep-1 +0x1.32beaep+3 +-0x1.cf59e6p+2 +0x1.1b29dp+3 +-0x1.3a8dc8p+3 +-0x1.9329f8p+2 +-0x1.da33fap+0 +-0x1.6ef64cp+1 +0x1.a17302p-2 +-0x1.52cf36p-1 +0x1.081ab8p+1 +-0x1.a3029ep+3 +0x1.0dd4a2p+4 +0x1.bf8486p-3 +-0x1.365096p+0 +0x1.f8c28p+1 +0x1.2e34b2p+3 +0x1.76e0ccp+3 +0x1.7fc06cp+3 +-0x1.1fc044p+3 +-0x1.0ae6fcp+3 +-0x1.2c6562p+2 +-0x1.cc02a4p+2 +0x1.eed6e2p+3 +-0x1.95d15ap+3 +-0x1.c9bdbap+3 +-0x1.ddffdep+3 +0x1.059c14p+3 +-0x1.cd3fc2p+2 +0x1.6e093cp+2 +-0x1.4d1a16p+3 +0x1.fbe58cp+1 +0x1.bc4616p+1 +0x1.8efeaep-1 +-0x1.edf52cp+2 +-0x1.c75fdep+3 +-0x1.360ca4p+3 +-0x1.8316aap+1 +-0x1.d60076p-3 +0x1.21a4e2p+5 +0x1.dcda46p+2 +-0x1.59eddp-3 +0x1.4b4d1ap+0 +0x1.33462p+3 +-0x1.29ca76p+2 +-0x1.be1556p+2 +0x1.ea0cp+1 +-0x1.ce3404p+1 +0x1.1842aep+3 +-0x1.e1bb82p+2 +0x1.ea0ff4p-2 +0x1.923c72p-1 +-0x1.4884c2p+3 +0x1.152026p+4 +0x1.d299f4p+2 +0x1.0386c8p+4 +0x1.00ec54p+0 +-0x1.0a6d14p+2 +0x1.0269a4p+2 +0x1.563868p+2 +-0x1.b712cap+0 +0x1.1f2cd4p+0 +0x1.ed4bep-1 +-0x1.a29e18p-2 +-0x1.069dcp+3 +-0x1.050c8ap+2 +0x1.90271cp+3 +0x1.17cf9ap+2 +-0x1.917cap+1 +0x1.15f86p+4 +0x1.b87e36p+3 +0x1.7ae312p+1 +-0x1.c5c72cp-1 +-0x1.eb5c14p+1 +0x1.2db7cep+4 +0x1.917df8p+3 +0x1.0032d2p+3 +-0x1.c04d52p+0 +-0x1.658aacp+3 +-0x1.def7a4p+2 +0x1.0b94f2p+4 +-0x1.e29c2ep+3 +-0x1.3a92f6p+2 +-0x1.018406p+1 +-0x1.a1bb46p+2 +-0x1.cd19acp+1 +-0x1.48b60ep+1 +-0x1.bd3504p+0 +-0x1.c46618p+3 +0x1.bf977ep+0 +0x1.0e687cp+4 +-0x1.a5f17p+0 +-0x1.f0471p+2 +-0x1.49c53ap+2 +0x1.99798ep+0 +0x1.68d392p-1 +0x1.91aab6p+2 +-0x1.28062ap+3 +0x1.57518ap+1 +-0x1.2aefep+3 +-0x1.53a44ep+3 +0x1.234f74p+4 +0x1.970ccap-2 +0x1.539ccep+1 +0x1.1d375ep+4 +-0x1.0e1a0cp-2 +0x1.6b2458p+2 +0x1.8c942ep-1 +-0x1.67befp+2 +0x1.ba7dp+0 +0x1.6f2d8ap+1 +-0x1.4e682ep+2 +-0x1.866034p-1 +-0x1.a8b234p+2 +-0x1.5b18fp+3 +-0x1.43970cp+2 +0x1.2cbe72p-2 +-0x1.26b7cp+3 +0x1.194518p+1 +-0x1.d7ef26p+2 +0x1.6bd3bep+2 +0x1.2d60d6p+3 +0x1.4e2a48p+1 +-0x1.9bc726p+2 +0x1.6521f8p+3 +0x1.3246dcp+1 +-0x1.80003p+1 +-0x1.1678p+3 +-0x1.14856p+4 +0x1.54ed1cp+3 +-0x1.2eefa8p+1 +0x1.97c2d4p+1 +-0x1.142d7cp+3 +-0x1.796aaap-1 +0x1.2e135ap-4 +0x1.546bc4p+4 +-0x1.998eb2p+1 +0x1.25fa9p+2 +0x1.fc34f6p+2 +-0x1.6999cap+3 +0x1.52bfeep+1 +0x1.564f16p+2 +-0x1.aeebaap+1 +0x1.99268ap-2 +-0x1.ee66bp+1 +-0x1.1c6a18p+2 +0x1.435e7ep-1 +0x1.76cc2ep+4 +-0x1.83fc52p+1 +0x1.24474ap+2 +0x1.03605cp+2 +0x1.add1eap-1 +-0x1.12d562p+3 +-0x1.b48c3p+1 +0x1.6b3ae4p-3 +0x1.173f84p+4 +-0x1.e74044p+3 +0x1.67d708p+3 +0x1.46b33p-1 +-0x1.95dc2p-2 +-0x1.fb3326p+0 +-0x1.d185f6p+2 +0x1.7f29d6p+3 +0x1.404b72p+2 +-0x1.d55568p+2 +-0x1.6dfd1cp+3 +-0x1.ec906ep+2 +-0x1.685456p+2 +-0x1.fe44a2p-1 +-0x1.19b30ap-2 +-0x1.762efap+0 +0x1.d80ad8p+3 +-0x1.486074p-3 +0x1.0a8cf2p+3 +-0x1.216b44p+4 +-0x1.5c978cp-3 +0x1.823b3p+3 +0x1.1e684p+3 +-0x1.2f5176p+3 +-0x1.c4b98p+3 +0x1.4b06dcp+2 +0x1.9ac9d8p+3 +-0x1.74566p+2 +-0x1.6a96ep+3 +-0x1.b56508p+3 +0x1.03ba24p+2 +-0x1.00f62cp+3 +-0x1.290906p+3 +0x1.200272p-2 +0x1.02cdd8p+3 +-0x1.c1df0ap+1 +0x1.62082cp+4 +-0x1.38363p+4 +0x1.05e18cp+3 +0x1.b4f518p+2 +0x1.5d5d26p+2 +-0x1.1bd404p+3 +0x1.1ed7d2p+3 +-0x1.74f8e2p+1 +0x1.5e7eeap+2 +0x1.86cc4ap+3 +0x1.0faedep+3 +0x1.ff5698p+3 +-0x1.94f97ap+1 +0x1.e3ca74p+1 +-0x1.4e0fbcp+2 +0x1.4f04d2p+3 +0x1.118368p+3 +0x1.1cf136p+2 +0x1.c262bcp+2 +0x1.0486b6p+1 +0x1.c7e2aep+3 +0x1.0ea45cp+3 +0x1.70b79cp+2 +-0x1.809facp+3 +0x1.073ac8p+4 +-0x1.00e0b4p+4 +0x1.18653cp+2 +-0x1.2914dcp+2 +0x1.2aca2p+0 +0x1.a48fbp-1 +-0x1.b7f86cp+2 +0x1.cf689cp+1 +-0x1.4df39p+2 +0x1.3d9148p+2 +0x1.04d87p+0 +0x1.183f9p+3 +0x1.131824p+2 +-0x1.cae47cp+3 +-0x1.72a1c2p+2 +-0x1.3d1ec8p-4 +-0x1.051fbcp+3 +-0x1.dd8fcap+0 +0x1.ac2c58p+3 +0x1.cf0ef6p+0 +0x1.2a15bcp+3 +-0x1.6458bap+1 +0x1.3dfbap+3 +0x1.acce48p+1 +-0x1.4a6c2ap+2 +0x1.0d65ep+3 +-0x1.ef75c4p+3 +0x1.6bb41ap-2 +-0x1.1aa7e2p+3 +-0x1.d7ae6cp+0 +-0x1.dabe96p+1 +-0x1.42dc8p-2 +-0x1.e3ffp+2 +-0x1.567bdp+3 +0x1.45e4cap+2 +-0x1.490a68p+3 +-0x1.0f8e2p+3 +0x1.6b87dep-1 +-0x1.948dp+1 +0x1.215098p+4 +0x1.91ff1p+2 +-0x1.c1d4f4p+2 +-0x1.b26978p+2 +0x1.9b8ef8p+1 +0x1.4fc9ccp+2 +0x1.8dac1ep+1 +0x1.249b54p+3 +-0x1.360a5cp+3 +0x1.6a3caep+3 +0x1.08101ep+4 +-0x1.ecf65cp+0 +0x1.62cadap+0 +-0x1.06112ep+2 +0x1.991d78p+2 +0x1.606aep+3 +-0x1.070714p+0 +-0x1.562a98p-1 +-0x1.dc5e96p+2 +-0x1.83bc2ep+1 +0x1.5f291cp-3 +0x1.1045fp+0 +0x1.0c56dp+3 +-0x1.21070ap+2 +0x1.beeb62p-3 +0x1.990464p+2 +0x1.06002cp-2 +-0x1.f13c1ep-1 +-0x1.180a16p+1 +-0x1.8f8b4ep+3 +-0x1.1649f2p+3 +-0x1.97f9eap+1 +-0x1.4fe618p+2 +-0x1.e21264p+0 +0x1.10b602p+0 +0x1.99f81cp+0 +0x1.f010c6p+2 +-0x1.18296ep+0 +-0x1.3d588cp+0 +-0x1.6d5964p+3 +-0x1.9dca2ap+1 +0x1.257a96p+3 +0x1.387e48p+1 +-0x1.ead32cp+3 +-0x1.47b2dp+3 +-0x1.319552p+3 +0x1.03d558p+3 +0x1.c00ae2p+3 +-0x1.8fab24p-1 +0x1.3549ccp+3 +0x1.007aa6p+2 +0x1.457e7ap+2 +0x1.18726cp+2 +0x1.13ddb4p+1 +-0x1.03641ep+2 +0x1.4c7becp+3 +-0x1.a59092p+1 +0x1.2641cap+2 +0x1.156662p+4 +-0x1.e0f6fcp+3 +0x1.05feecp+4 +0x1.df907ep+4 +-0x1.54405ap+2 +0x1.705f56p+2 +-0x1.85a352p+2 +0x1.d1237p+1 +0x1.6718eep+2 +-0x1.57e652p+3 +-0x1.79544ep+1 +-0x1.16d64p+3 +-0x1.1ac906p+3 +-0x1.e85af4p+2 +0x1.bb11c6p+0 +0x1.7f800ep+2 +0x1.3d5614p+3 +-0x1.cb8fc6p+1 +-0x1.38784cp+3 +-0x1.4ab4fap+0 +0x1.e26664p+3 +0x1.3dd5b8p+2 +-0x1.ffa216p+0 +0x1.476134p+1 +0x1.e5787cp+1 +-0x1.f9e446p+1 +-0x1.93e5d2p+1 +0x1.4357fap+2 +-0x1.4f73ep+1 +0x1.9d7f48p+3 +-0x1.f46b4cp-1 +0x1.4cc132p+0 +0x1.3e01aep+3 +-0x1.b8cd7cp+1 +0x1.17734cp+0 +-0x1.4d84b6p+4 +-0x1.5e3c2cp+0 +0x1.39600cp+3 +-0x1.d9fed2p+2 +0x1.cf3dfp+2 +0x1.97d41ap+3 +0x1.ee4f3ep+2 +0x1.7d9d76p+0 +-0x1.89719cp-1 +0x1.7a6966p-1 +0x1.323646p+3 +0x1.f37bcep-1 +-0x1.f26d5ep+2 +-0x1.32b2dp+2 +0x1.c7fba6p-3 +-0x1.016d02p-2 +-0x1.29eb78p+1 +-0x1.0abdfp+2 +-0x1.83caeep+3 +-0x1.e77142p+3 +-0x1.698fap+2 +-0x1.0b184ep-1 +-0x1.2f8bb2p+4 +-0x1.b2a8bap+2 +0x1.900b1ep+3 +-0x1.f1c7ecp+1 +0x1.810202p+1 +0x1.2c9fc4p+0 +-0x1.f03356p+3 +-0x1.9fd06ep+3 +0x1.9d463ep+3 +-0x1.3acaaap+3 +-0x1.6968e6p+3 +-0x1.b4160ap-3 +-0x1.6b96b2p+2 +-0x1.50589ap+0 +-0x1.307092p+4 +-0x1.2f7d76p+3 +0x1.b05bd4p-3 +0x1.40ed04p+2 +0x1.228e5ep+3 +-0x1.112b6p-1 +-0x1.be5892p+2 +-0x1.c6a59ap+3 +0x1.a56efp+1 +0x1.918a52p+0 +0x1.2d04aep+1 +0x1.1aa9f2p+1 +0x1.0eb2acp+3 +-0x1.a38a2cp+3 +0x1.c2fa24p+1 +0x1.a778fap+3 +-0x1.171818p+2 +-0x1.38933ep+4 +0x1.8107eap+3 +0x1.96ff2cp+2 +0x1.188cd6p+0 +-0x1.5b8de2p-6 +-0x1.2bfef2p+2 +-0x1.076554p+2 +-0x1.4afc24p+2 +0x1.1aa984p+3 +-0x1.85ce3p+3 +0x1.6355f4p+0 +-0x1.bf4e26p+2 +0x1.b00866p+1 +-0x1.f99842p+2 +-0x1.d6bc48p+2 +0x1.6ef53ap-1 +-0x1.bdb7c6p+3 +0x1.5259b4p+2 +-0x1.8852bp+3 +0x1.56e862p+1 +0x1.daed1ep+1 +0x1.2c7a8ap+2 +0x1.9331fp+3 +-0x1.557626p+2 +-0x1.146f9ep+3 +-0x1.28a022p+2 +-0x1.a2228ep+3 +0x1.0b5b48p+3 +0x1.d73f7ep+1 +-0x1.47b2eap+2 +-0x1.5018e8p+1 +-0x1.72153ep+3 +0x1.a8f7b2p+3 +-0x1.26c92cp-1 +-0x1.3ca7f8p+4 +0x1.44b744p+1 +-0x1.5a8bbap+3 +0x1.84ab42p+1 +0x1.d44e1cp+3 +0x1.dc0de4p+3 +0x1.87509p-2 +0x1.c4356p+0 +-0x1.933796p+2 +-0x1.3dc2bep+3 +-0x1.06ed8ep+2 +0x1.4d3d7p-2 +-0x1.dd5742p+1 +0x1.14c61cp+0 +-0x1.d54bacp+2 +-0x1.2ce968p+3 +-0x1.41ab3ep+2 +0x1.44f836p-6 +0x1.516194p+2 +-0x1.a7bbf8p+2 +-0x1.217622p+4 +-0x1.9fdd64p+2 +0x1.42b618p-6 +0x1.ad52dep+1 +-0x1.a0565ep+3 +-0x1.64508ap+2 +0x1.0ac864p-1 +-0x1.7d311cp+2 +-0x1.5ddfbap+3 +0x1.c135fap-1 +0x1.01478ap-1 +-0x1.3333aap+3 +-0x1.4496a2p+3 +-0x1.711ea6p+3 +-0x1.755ecp-7 +0x1.1ac204p-5 +-0x1.d88bd4p+0 +0x1.6dce5p+2 +-0x1.16dc0cp+4 +-0x1.27c77cp-1 +-0x1.906e9ep+0 +0x1.18e9b8p-3 +-0x1.2e8c2cp+3 +-0x1.42c532p+3 +-0x1.2c24bap+2 +-0x1.ac2c6ep+1 +-0x1.d221a6p+3 +0x1.d71f28p+1 +-0x1.630a7ap-1 +0x1.5cb6bcp+3 +-0x1.4d706ep+2 +-0x1.81db16p+3 +0x1.1d45ecp+2 +-0x1.bbd304p+2 +0x1.692926p+2 +0x1.a623aep-1 +-0x1.080956p+1 +-0x1.8c6be4p+3 +-0x1.b92f88p-1 +-0x1.4ef9f2p+3 +0x1.67160ap+3 +-0x1.011edp-1 +-0x1.1247dep+3 +-0x1.ed5af4p+4 +0x1.d43b42p+3 +0x1.2248fep+3 +0x1.36f16p-3 +-0x1.62a91ap+3 +0x1.c5cf3p+2 +-0x1.df6c8cp+2 +-0x1.f943acp+0 +0x1.51a9cap+2 +-0x1.9108fap+2 +0x1.fe4862p+1 +-0x1.04fffp+1 +-0x1.d641c8p-3 +-0x1.f9d3d6p+0 +-0x1.ee6296p+0 +-0x1.94a686p+1 +0x1.a7c516p+2 +0x1.20a85p+1 +0x1.86dca4p+0 +0x1.38018cp+2 +-0x1.ba118p+3 +0x1.fc074ap+1 +0x1.0ea0d8p+3 +-0x1.0efba6p+1 +-0x1.17c456p+2 +-0x1.596f72p+0 +-0x1.392248p+3 +0x1.5122ep+3 +0x1.f0ef8p+0 +0x1.249d34p+1 +-0x1.f4b12ep+2 +-0x1.c8731ap+2 +0x1.31dd68p+3 +-0x1.a303a4p-4 +0x1.4e86c8p+3 +0x1.1a56eep+3 +-0x1.7238cep+3 +0x1.83510cp+2 +0x1.32953ap+1 +-0x1.e298a4p+0 +0x1.cc7238p-1 +-0x1.094404p+1 +0x1.11645ap+1 +0x1.fbafb2p+1 +-0x1.93b42cp+1 +-0x1.e337p+3 +0x1.04b988p+2 +0x1.a4e32ep+3 +-0x1.6e6b6cp+1 +-0x1.10709cp+3 +-0x1.48d7f6p+3 +-0x1.cc1444p+3 +0x1.87c2ep+1 +0x1.cb2c2p+2 +-0x1.c6295ep+3 +-0x1.218ee2p+2 +-0x1.28c278p+2 +-0x1.b520c2p+0 +-0x1.9e64f8p+3 +0x1.99936ap+3 +-0x1.5862d6p+4 +-0x1.b02166p+1 +-0x1.99318p-2 +-0x1.e066f6p+1 +-0x1.620d2p+1 +-0x1.2d339cp+2 +-0x1.8d62fap+3 +-0x1.00e28ap+4 +-0x1.228056p+2 +0x1.650becp+2 +0x1.add9cep+2 +0x1.9234p+3 +0x1.67b7ep+2 +0x1.25eda2p+3 +-0x1.5a3b46p-1 +-0x1.5c45bcp+0 +0x1.627c98p-1 +0x1.6a81eep+3 +0x1.8da70ap+0 +-0x1.26483ap+0 +0x1.0e92bp-1 +-0x1.ae35d6p+3 +-0x1.d0244cp+0 +-0x1.d76602p+2 +-0x1.5802e8p+3 +0x1.5ea6b8p+4 +-0x1.2cbb8p+3 +-0x1.219d9cp+2 +-0x1.86f4a4p+2 +0x1.be4ac6p+2 +-0x1.9f4dc6p+2 +-0x1.0ce498p+0 +-0x1.2710cap+3 +0x1.d7f332p+1 +0x1.ea8f9ap+1 +0x1.bbbb08p+2 +-0x1.da4784p+2 +-0x1.fac162p-2 +0x1.9fcc2p+3 +-0x1.59a33p+3 +-0x1.9f049cp-1 +0x1.4b15aap+2 +-0x1.2b1f28p+4 +-0x1.a43ecap+3 +-0x1.05965cp+3 +0x1.6fa45ep+3 +-0x1.e90b1ap+2 +-0x1.a6fa42p+2 +-0x1.454526p+2 +0x1.078a8cp+4 +-0x1.fe4f1ep+2 +0x1.032e9ep+2 +0x1.5afe8ap+1 +-0x1.54094cp+2 +0x1.8124ccp+2 +0x1.80e338p-1 +-0x1.45ae58p-2 +-0x1.44c552p+2 +0x1.9542f4p+1 +0x1.943224p+3 +0x1.9edd1ap+1 +-0x1.61b202p+3 +0x1.cabf4cp+1 +-0x1.e190cep+0 +0x1.15f088p+3 +0x1.600cf4p+3 +0x1.277e06p+2 +0x1.036adcp+3 +-0x1.069f94p+0 +-0x1.1d4d02p+3 +-0x1.7b7f4p+2 +-0x1.20c724p+4 +-0x1.584b22p+3 +-0x1.06c72p-1 +-0x1.0c2c58p+1 +0x1.12548cp+4 +0x1.28c146p+2 +-0x1.4304dp+3 +-0x1.92769p+1 +0x1.888d26p+2 +-0x1.199f22p+1 +0x1.bfd58cp+0 +-0x1.806cep+3 +0x1.feb86p-3 +-0x1.7db2d8p+1 +-0x1.07b6fp-3 +0x1.1771p+2 +0x1.b17e6ap+0 +0x1.29cdap+3 +-0x1.2727a4p+1 +0x1.cdd90ep-1 +0x1.dd3dbp+2 +-0x1.610c08p+0 +-0x1.8777d2p+0 +0x1.3683c8p+0 +0x1.18abeep+2 +-0x1.6a2fb6p+2 +0x1.9c994p+1 +-0x1.dd0cd2p+2 +-0x1.89bb84p+3 +-0x1.450daep+2 +0x1.1db3aap+2 +-0x1.5253d6p+3 +-0x1.773fccp+4 +-0x1.44725ep+0 +-0x1.85e306p+2 +-0x1.248a4cp+3 +0x1.07cac4p+4 +0x1.606b66p+2 +-0x1.d48072p+1 +0x1.80ae08p+4 +-0x1.339a5ep+0 +0x1.b603ap-1 +-0x1.f1d072p+2 +0x1.582ecp+1 +-0x1.22fa58p+3 +0x1.103bcep+5 +0x1.b3b696p+2 +0x1.26d7b6p-2 +0x1.76144cp+2 +-0x1.52d194p-2 +-0x1.4fbc6ep+2 +0x1.c7934ep+3 +-0x1.e43558p+3 +-0x1.3214ecp+2 +-0x1.c1d878p+3 +0x1.ff5b86p-1 +0x1.0b2b7p+3 +0x1.335c9cp+3 +-0x1.953d56p+0 +0x1.8d2b92p+0 +0x1.bae886p+3 +0x1.167fep+1 +0x1.62c6c8p-2 +0x1.8e2d5ap+3 +0x1.8bd952p+3 +0x1.0c35b2p+1 +-0x1.07462ep+3 +-0x1.99f5aep+1 +-0x1.7b042p-1 +-0x1.6584ep+1 +0x1.1dfed4p+0 +-0x1.ba50d2p+1 +0x1.e29c9cp+2 +0x1.92f14ep+1 +-0x1.39170ep+1 +-0x1.8693dp+2 +0x1.2dbb1cp+3 +-0x1.5db2b8p-2 +0x1.90605ap+4 +0x1.86236cp+1 +-0x1.1fb894p+2 +0x1.9b7ccap+3 +-0x1.1a63dcp+4 +-0x1.738128p+3 +0x1.355976p+2 +-0x1.6d0ef2p+3 +0x1.2fc69cp+3 +-0x1.3de742p+3 +-0x1.72451p+3 +-0x1.9e1fc2p-4 +-0x1.d52816p+2 +-0x1.0f426ap+4 +-0x1.75a2d2p+1 +0x1.cb7f68p+0 +0x1.611aacp+1 +-0x1.dfdceap+3 +-0x1.271f4cp+2 +-0x1.de4e4p+1 +0x1.84feeep+3 +-0x1.4bf83p+1 +-0x1.70a0cep+3 +-0x1.82e932p+2 +0x1.88e0dp+2 +-0x1.7edcd2p+3 +0x1.7ba93ep+3 +-0x1.1cc26cp+3 +-0x1.3d9122p-1 +0x1.c9e902p+1 +0x1.1e397p+3 +0x1.2d37a4p+4 +-0x1.7bdd62p-1 +-0x1.02b03ap+4 +0x1.c7e04p+3 +-0x1.8a174ap-6 +-0x1.86dd5ep+3 +-0x1.574f2cp+1 +0x1.0b6f22p+2 +-0x1.a5b24ep+4 +0x1.8f9b32p+2 +0x1.3f1eeep+3 +-0x1.79bb44p-3 +0x1.405dfp+3 +0x1.7810fep+3 +0x1.59039ep+3 +-0x1.533b7ep+2 +-0x1.847b9cp+3 +0x1.90b914p+3 +0x1.0f6932p+3 +-0x1.7e3a5ap+2 +0x1.0a82d2p+3 +0x1.7dae4ap+0 +0x1.fa8bb4p+1 +0x1.2ae8p-1 +-0x1.a4ebb4p+2 +0x1.334a7cp+2 +0x1.8ca71ap+3 +0x1.482d3p+0 +-0x1.30929ep+2 +-0x1.80e35ep+2 +0x1.03de5p+4 +0x1.d4c766p-10 +0x1.138c14p+4 +0x1.7f977ep+1 +-0x1.0d82ep+1 +0x1.8771f6p+1 +-0x1.a59fc8p+2 +-0x1.5acebep+4 +0x1.943dbep+2 +-0x1.6b5f68p+1 +-0x1.116522p+2 +0x1.a468ecp-2 +-0x1.4413d6p-1 +0x1.b61754p+2 +-0x1.3d3638p+4 +0x1.307aap+2 +-0x1.f0e568p+1 +-0x1.2c4794p+2 +-0x1.b2cdd8p+2 +0x1.a5a8cep+2 +0x1.012dd6p+2 +-0x1.3159ccp+0 +0x1.9b817ap+0 +0x1.da1ff4p+0 +-0x1.a4ad3p+2 +0x1.e40b96p-1 +-0x1.6330bep+3 +0x1.af60ep+2 +-0x1.3cc692p+3 +0x1.138622p+1 +-0x1.0584f8p+1 +0x1.1d6246p+2 +0x1.d5e8c4p+2 +-0x1.e79712p+2 +0x1.ad9732p+2 +0x1.9697c6p+2 +-0x1.e3f9c8p-3 +-0x1.d27978p+2 +-0x1.dea8dp+0 +0x1.4ec636p+3 +-0x1.5f8228p+2 +-0x1.e8ac1ap+0 +0x1.1d467ap+1 +-0x1.9bd878p-2 +0x1.1f0e94p+3 +-0x1.8da4c4p+2 +-0x1.1bd46ap+4 +-0x1.9cbb36p+1 +0x1.764c24p+2 +-0x1.80412ap+3 +0x1.50b8fep+2 +-0x1.7585d6p+0 +-0x1.3927dap-3 +-0x1.fc76eap+2 +0x1.8404e6p+0 +-0x1.62dd12p-1 +0x1.85ad44p+1 +-0x1.161838p-3 +0x1.c4570ap-1 +-0x1.817e4ap+2 +-0x1.41fe3cp+2 +-0x1.87ea26p+2 +0x1.49d826p+1 +0x1.94c504p-1 +-0x1.936702p-3 +-0x1.5e0854p+3 +0x1.7526e4p+2 +0x1.3c73d4p+2 +-0x1.44c8d8p+2 +0x1.aa17b6p+3 +-0x1.abbbf4p+1 +-0x1.935e2cp+2 +0x1.fbf998p+3 +-0x1.460f66p+2 +0x1.99d664p+1 +-0x1.9ad506p+3 +0x1.65a63p-2 +-0x1.e49f1ap+0 +0x1.5c25b8p+1 +0x1.75acf6p+3 +-0x1.030ebcp+2 +0x1.638e1ep+3 +0x1.7a132ap+1 +-0x1.6ad65cp+1 +-0x1.8b3d6cp+1 +-0x1.42b04p+1 +-0x1.7c9dfep+2 +-0x1.4cfbf8p+2 +-0x1.2efc82p+4 +0x1.b9edfap+3 +0x1.8148d4p+2 +0x1.68ff7cp+3 +0x1.f863aep+1 +-0x1.276972p+1 +-0x1.b80c5ep+2 +-0x1.1d73eep+1 +0x1.1d386ep+4 +-0x1.15e4f4p+2 +-0x1.5f5f7cp+2 +-0x1.263846p+3 +-0x1.e62d7ep+2 +-0x1.776808p+2 +0x1.06a988p+3 +0x1.e77978p+2 +-0x1.35eb76p+3 +0x1.1e632p+0 +-0x1.c2e0b8p+1 +-0x1.06ccd2p-2 +0x1.d50ffp-1 +0x1.007b54p+2 +-0x1.d7f8bap+0 +0x1.1e4004p+2 +0x1.cf7be2p+0 +-0x1.edec2ap+2 +0x1.2787eep+2 +-0x1.f6d6fap+0 +0x1.c54666p+3 +0x1.c92824p+2 +0x1.d6832p-1 +-0x1.075f56p+3 +-0x1.23fce4p+1 +-0x1.17b1ccp+3 +-0x1.5bafd2p+3 +-0x1.257704p+2 +0x1.a2fd4p+1 +-0x1.21a3c2p+1 +0x1.8d04fep-1 +-0x1.25b508p+1 +0x1.74be2ap+3 +0x1.883dap+3 +-0x1.cbf06p-3 +-0x1.b69ba8p+0 +0x1.448e36p+3 +0x1.911eaep+2 +0x1.f58ab6p+1 +0x1.6b1ecep+3 +-0x1.91bbfcp+2 +0x1.e99e7ap+3 +-0x1.6bf22ep-1 +-0x1.815594p+2 +0x1.0538fp-2 +-0x1.d823ecp+2 +0x1.a7811ep+2 +-0x1.37a606p+3 +-0x1.14bb9ep+1 +0x1.2298d6p+0 +0x1.5d9d62p+2 +0x1.985deep+2 +-0x1.0b836ap+2 +-0x1.e1af8p+3 +-0x1.a0a29p+2 +0x1.5ed4c6p+3 +-0x1.4f572p+2 +0x1.88016ap+3 +0x1.ce82e8p+2 +0x1.7868e8p+3 +-0x1.825968p+2 +-0x1.2dfec2p+1 +0x1.86b9d4p+2 +0x1.b2fe34p+3 +-0x1.b9a9d6p-1 +0x1.048f2ep-3 +-0x1.cdb44cp+2 +-0x1.40301ep-1 +-0x1.6cb2e2p+1 +-0x1.625ccep+2 +-0x1.bdaf8ap+3 +-0x1.4987d8p+2 +0x1.59c57p+2 +-0x1.77e1d6p+1 +-0x1.6b0ae4p+1 +-0x1.542d84p+3 +0x1.489b3ap+2 +-0x1.05f498p+2 +0x1.4d6616p-1 +0x1.46ab06p+1 +-0x1.d95bf2p+2 +0x1.491ba6p+3 +-0x1.47e024p+3 +0x1.2c4402p+4 +0x1.736228p+3 +0x1.aed0eep+2 +0x1.f01eb8p+3 +0x1.e8ceaap-2 +-0x1.6b7314p+3 +-0x1.9d3b5p+2 +-0x1.e9019cp+0 +0x1.0f9026p+1 +-0x1.031e04p+3 +-0x1.077e4ap+3 +-0x1.f5758p+3 +0x1.697cdcp+0 +-0x1.65d80cp+1 +-0x1.2d790cp+2 +-0x1.72e49ap+2 +-0x1.3e616p+2 +-0x1.1609e4p+3 +-0x1.b57362p+0 +-0x1.8fcda6p+0 +0x1.6bf0a4p+2 +0x1.ad48c2p+1 +-0x1.890358p+3 +-0x1.cdc0fep-1 +-0x1.3a5574p+2 +-0x1.510c06p-2 +-0x1.b916e8p+3 +-0x1.ec6558p-4 +0x1.9c3bfep+4 +-0x1.f96ce8p+3 +-0x1.f7c0e6p+0 +0x1.8c6922p-2 +-0x1.6ff716p+2 +0x1.ce4976p+1 +0x1.305d32p-6 +-0x1.2015fep+4 +-0x1.8da66ap-1 +-0x1.159efep+3 +-0x1.1a5f28p+2 +-0x1.af5ae2p+2 +-0x1.6c16p+1 +-0x1.079bbep+2 +-0x1.6a98d4p+2 +0x1.09ea74p+2 +0x1.ecfe0cp+1 +0x1.f8472cp+1 +0x1.a4ef6p+1 +-0x1.8123ap+2 +0x1.5387fcp+2 +-0x1.80dc1cp+2 +0x1.50ab5cp+1 +0x1.1f9c8ap+1 +-0x1.524fd4p+0 +0x1.44580cp+2 +0x1.bcf5e6p+2 +-0x1.ec2f52p+2 +-0x1.d881cep-1 +0x1.5588c6p+3 +0x1.db561p+1 +-0x1.228f88p-2 +-0x1.4fea72p-1 +0x1.59f8cap-2 +0x1.cbdcf4p-1 +0x1.3317a4p-1 +0x1.f92abcp+2 +-0x1.a8b95ep+1 +-0x1.83ff64p+2 +0x1.de453ep+0 +-0x1.70b986p+2 +0x1.da1c68p+3 +0x1.21b5b4p+3 +0x1.d2127ap+3 +0x1.83719cp+2 +-0x1.a4349cp+2 +0x1.b878b8p+3 +0x1.6a370ep+1 +-0x1.118e54p+3 +-0x1.3df8b6p+1 +0x1.8a5014p+3 +0x1.aa0bf6p-2 +0x1.8bdbe2p-1 +0x1.9a65a4p+2 +-0x1.7f251p+1 +-0x1.3b1f2p+2 +-0x1.345fb2p+1 +-0x1.75771ep+1 +-0x1.6e1628p+2 +-0x1.ec1426p+0 +0x1.c4f346p+3 +-0x1.4b57ep+2 +0x1.ffb67p+2 +-0x1.01df0ep+2 +-0x1.15df94p+3 +-0x1.a170f6p+2 +-0x1.d992ep+0 +-0x1.2baf74p+2 +0x1.a85186p+1 +0x1.abcea8p+1 +0x1.ab7cbap+3 +0x1.42e69ap+0 +-0x1.9d0814p+3 +-0x1.0b9938p+2 +-0x1.c7fbacp-2 +-0x1.b699fp-3 +0x1.bb03a4p+1 +0x1.2fb4aep+2 +0x1.03cfa4p+4 +-0x1.abf1b8p-1 +0x1.613976p+4 +0x1.dd2618p+2 +0x1.275076p+1 +-0x1.84c576p-4 +0x1.7042a2p+0 +0x1.c82e92p+1 +-0x1.a57daap+1 +0x1.66a4dep+3 +0x1.c6a39ap-2 +0x1.29cfbcp+3 +0x1.89c30ap+1 +-0x1.762f1ep+2 +0x1.bfb29p+3 +0x1.8229ecp-1 +0x1.fab966p+0 +0x1.88906p+3 +-0x1.db54dcp+2 +-0x1.21161ap+1 +0x1.6df6d2p+3 +0x1.0259a8p+1 +0x1.7c3ad6p+3 +0x1.6422f8p-1 +0x1.9b092p+0 +-0x1.bdff2ep+2 +-0x1.70ed12p+2 +-0x1.25d4fap+4 +0x1.5d7ffp+3 +0x1.9a3d98p+3 +-0x1.1a1a5ap+1 +0x1.a72812p-2 +-0x1.eba0cp+3 +0x1.a5e5f6p+1 +-0x1.7288ap+2 +-0x1.8935cap+2 +-0x1.2a829cp+3 +-0x1.48ebdcp+2 +0x1.5419fcp+3 +-0x1.50327ep+2 +0x1.5e3d5cp+2 +0x1.0d9ddap+4 +0x1.82002ep-4 +-0x1.81246ap+1 +0x1.1ded02p+3 +-0x1.f34346p+0 +0x1.61f206p+3 +0x1.39cca6p+1 +-0x1.8a8c7ap-1 +-0x1.e29c88p+1 +0x1.361954p+1 +0x1.17da7cp+2 +0x1.18ca1p-2 +-0x1.6b7288p+2 +0x1.56ccbep-3 +0x1.73c642p-1 +0x1.87c68cp+2 +0x1.d69c54p+2 +-0x1.726e54p+2 +0x1.4db076p+2 +-0x1.43661cp+4 +-0x1.0a6bcap+3 +-0x1.27821p+3 +0x1.ca9d5cp-2 +0x1.290ac4p-1 +0x1.f61ebap+3 +-0x1.1584dp+2 +0x1.0b8bf2p+3 +-0x1.51999p+2 +-0x1.6ac7f2p+0 +0x1.e7b494p+1 +0x1.0c4822p-3 +-0x1.165632p-2 +0x1.f02bc2p+0 +0x1.35c696p+2 +0x1.da738ap-1 +0x1.8e1484p+2 +-0x1.23fb1ep+3 +-0x1.917d26p-2 +0x1.a732cep+4 +-0x1.d52748p+3 +-0x1.6140d2p+3 +0x1.d8ab7ap+2 +0x1.69a984p+0 +-0x1.b9934ap+0 +-0x1.b8475p+2 +0x1.48c178p+2 +-0x1.445f82p+3 +-0x1.4122d8p+3 +-0x1.f0fc9ap+1 +-0x1.15642cp+3 +-0x1.276fb2p+1 +0x1.1ec51cp+1 +0x1.3d61d4p+2 +0x1.f9cd82p+2 +0x1.cef99ep+3 +-0x1.bd5bbap+2 +0x1.416068p+3 +0x1.15025ap+3 +-0x1.934af2p+3 +0x1.e2761ep+3 +0x1.c5012ep+2 +-0x1.779788p+2 +-0x1.1d26ccp+2 +-0x1.eb283p+0 +0x1.d2b948p-1 +-0x1.c88262p+2 +0x1.fd0406p+3 +-0x1.3ac284p+3 +0x1.ba5eeep+1 +0x1.69e162p+1 +-0x1.6d72c6p+2 +0x1.bbf7fap+2 +0x1.82e236p-5 +0x1.2d967p+2 +0x1.215beap+2 +-0x1.799718p+3 +0x1.0cf9c4p+4 +0x1.2b76bcp+2 +0x1.e87f02p+1 +-0x1.66b792p+3 +0x1.380f5cp-5 +0x1.365818p+1 +-0x1.67eaeep+1 +-0x1.09e25ap+4 +-0x1.2241b2p+2 +-0x1.6e04ep+2 +-0x1.5e00f2p+4 +0x1.5d2654p+1 +0x1.d0ade4p+2 +0x1.78507ep+1 +0x1.5fdd7p+1 +-0x1.a40adcp+2 +-0x1.9a4966p+1 +-0x1.008704p+0 +-0x1.9050f6p+1 +0x1.9010a2p+2 +0x1.113376p+2 +0x1.4a4de4p+2 +-0x1.51fccep+2 +0x1.62829p+3 +0x1.2550b6p+3 +0x1.901b08p-1 +0x1.ab8c84p+3 +0x1.50fd88p+3 +-0x1.53d688p-1 +0x1.204096p+1 +-0x1.779b54p+3 +0x1.f772aap+0 +-0x1.20ab36p+2 +-0x1.049708p+3 +-0x1.29b568p+2 +-0x1.d35c08p+0 +-0x1.aca8dep+3 +0x1.50a42p+2 +0x1.dbbcc6p+2 +0x1.2c63ap+2 +0x1.ff5282p-1 +-0x1.27ad28p-6 +-0x1.63b808p+4 +0x1.f0119ap+1 +-0x1.43fe26p+2 +-0x1.0cfe3p+3 +-0x1.61f8fep+2 +0x1.ce5dcp+2 +-0x1.2d1dcap+1 +0x1.ffa1bcp+2 +-0x1.c8012ap+2 +-0x1.1e7d7ap+3 +-0x1.2f748cp+2 +0x1.3e88e2p-2 +0x1.8f8bcp+3 +-0x1.1cff74p+4 +0x1.33c24p+2 +-0x1.f3fd38p+2 +0x1.546046p+3 +-0x1.13ae64p+2 +0x1.c8a558p+2 +0x1.a6e46p+0 +0x1.07ed1ap+4 +-0x1.bf337ap-2 +-0x1.5e7ca8p+2 +-0x1.e68c3ap+3 +0x1.d7c9f4p+0 +0x1.ee68d4p+0 +-0x1.52875ep+3 +-0x1.d91c36p+3 +0x1.2b72dcp+4 +0x1.d0c78ap+1 +0x1.97c69p+3 +0x1.67d404p+3 +-0x1.b4cdb4p-1 +-0x1.ed7486p+1 +0x1.5adacep+3 +0x1.7fdec6p+2 +0x1.9f462ep+0 +-0x1.fdf4e4p+0 +-0x1.b7c4b8p+2 +0x1.0e3b08p+2 +-0x1.5d2e08p+3 +0x1.0cc27ep+1 +-0x1.37e812p+1 +-0x1.5a43d4p+2 +-0x1.314f14p+1 +0x1.064054p+3 +0x1.0d2922p+1 +-0x1.a6260cp+3 +0x1.c090bep+1 +0x1.8c59ccp+3 +-0x1.797c7ep+3 +-0x1.495fp+1 +-0x1.144478p+4 +-0x1.7ace46p+0 +0x1.5e5746p-1 +0x1.99a996p+2 +-0x1.64f4d4p+1 +0x1.5b2ceap+0 +-0x1.afae6cp-2 +0x1.1a4cb4p+5 +0x1.76212ep+0 +0x1.1e35aap+1 +-0x1.2d2b34p+1 +-0x1.74477ap+1 +-0x1.da68dap+2 +-0x1.c28a74p+3 +-0x1.cf021p+3 +-0x1.7275fap+1 +-0x1.83d0b8p+2 +0x1.22e358p+0 +0x1.1d1dbcp+2 +0x1.b4bc74p+2 +0x1.686b4cp+3 +0x1.fbb52ap+3 +-0x1.cc7f9cp+1 +0x1.b6b478p+2 +0x1.0ebfbap+2 +-0x1.e6ace2p-1 +-0x1.d10448p+2 +-0x1.e195p-4 +-0x1.70f296p+4 +0x1.f83b5cp+2 +0x1.281cb6p+3 +-0x1.ff1218p+0 +0x1.3b7244p+2 +0x1.7faa66p+2 +-0x1.a4da56p+3 +0x1.372832p+1 +-0x1.ae3964p+2 +-0x1.ddcde6p+0 +-0x1.0670b4p+0 +0x1.fb5fecp+0 +0x1.a307fcp+1 +-0x1.404de2p+3 +0x1.144152p+3 +-0x1.f5874p+0 +-0x1.c07b0ep+0 +0x1.404e72p+1 +0x1.870ep+3 +-0x1.e37d0ep+2 +-0x1.4b5ae6p+2 +0x1.702676p+3 +-0x1.373dc4p+0 +-0x1.18feeep+3 +-0x1.372954p+3 +-0x1.63ed3cp+3 +0x1.ecf126p+0 +-0x1.1064e6p+4 +-0x1.a27bdep+2 +-0x1.37ed4cp+0 +0x1.024736p+2 +-0x1.c116e6p+0 +-0x1.36aa08p-1 +-0x1.7caf6ep+0 +0x1.52875p+1 +0x1.708586p+1 +0x1.b8151ap+2 +0x1.960ca4p-1 +-0x1.9247d4p+3 +-0x1.0e3756p+1 +-0x1.0ed32p+3 +0x1.618874p+2 +-0x1.2f50bap+0 +0x1.375f6ep+0 +-0x1.385562p+0 +0x1.d85a86p+2 +-0x1.a2fc3p-4 +0x1.5f9874p+2 +0x1.b10edp+2 +0x1.22a604p+2 +-0x1.611f38p+2 +-0x1.0d5822p+1 +-0x1.78931ep+1 +0x1.42a0ccp+3 +0x1.0cdd8ep+2 +0x1.583e82p+2 +-0x1.8dddfep-2 +-0x1.279f4ap+0 +-0x1.1c8f3ap+0 +0x1.f827ap+2 +0x1.7eb058p+3 +0x1.a0f708p+2 +0x1.10a96p+1 +0x1.05827p+2 +0x1.8a113cp+3 +-0x1.3089f2p+4 +0x1.4d41a4p+1 +0x1.b14674p+2 +-0x1.d7c6f6p+1 +0x1.66b6bp+2 +-0x1.7d4c86p+1 +0x1.fcdc6cp+0 +-0x1.9741acp+2 +-0x1.bad27cp+0 +0x1.b1a5e6p+2 +0x1.b3389ap+2 +0x1.3db378p+1 +-0x1.93fbc2p+1 +0x1.61b404p+2 +-0x1.859fc8p-2 +0x1.045958p+2 +-0x1.bc3e98p+3 +0x1.aaa84p+1 +-0x1.a8e664p-2 +0x1.9efa88p+2 +-0x1.234ae4p+3 +-0x1.0721d8p+0 +-0x1.220a96p+1 +0x1.be0bbp+2 +0x1.45caa8p+2 +0x1.525a58p+1 +-0x1.2a1b7cp+4 +0x1.435954p+4 +0x1.567fa2p+2 +0x1.633746p+1 +0x1.d38e3p+3 +-0x1.5c056ep+1 +-0x1.343e0cp-4 +-0x1.0461c2p+2 +-0x1.c31b2cp+2 +0x1.8ed034p+3 +-0x1.51e652p+2 +0x1.e92acap+2 +-0x1.31b566p+4 +0x1.1cc31cp+0 +0x1.653508p+3 +-0x1.0ca9fap+3 +0x1.c8542cp-2 +0x1.d864d2p+1 +0x1.7ab962p+3 +-0x1.422954p+1 +0x1.0473c8p-1 +-0x1.4ec552p+1 +-0x1.489c9cp-1 +-0x1.8605a8p+2 +0x1.0b9704p+0 +0x1.af4e5ep+3 +-0x1.704884p+2 +0x1.0d834ep+3 +0x1.1a3fd4p+2 +-0x1.c9acb4p+3 +0x1.2cd38p+1 +-0x1.13feecp+3 +-0x1.44a39ep+3 +-0x1.43dc5p+1 +-0x1.95c022p+2 +-0x1.e9d0bcp+2 +0x1.3af314p+1 +0x1.2cf2ccp+3 +-0x1.5b046ap+3 +0x1.c4399ep+2 +-0x1.a99eb6p+3 +-0x1.9d96a4p+1 +-0x1.8c4bdcp+3 +-0x1.96e438p+3 +-0x1.3793p-1 +0x1.78aaccp+2 +0x1.ffaddep+2 +0x1.16e606p+3 +0x1.13f31ap+0 +-0x1.b1a47p+2 +-0x1.d63586p+2 +-0x1.387aa4p+3 +-0x1.c0650ep+1 +0x1.37444ep+1 +0x1.1735bp+4 +0x1.0a2c56p-1 +0x1.684edap+1 +-0x1.1faa74p+2 +0x1.35badcp+2 +0x1.fe7408p+3 +-0x1.74d38p+0 +-0x1.2d1e06p+3 +-0x1.8035cep-1 +-0x1.36a9eap+3 +-0x1.9b108p+0 +-0x1.85e022p-3 +-0x1.5f96ep+4 +0x1.4b81b4p+3 +-0x1.27f868p+3 +-0x1.e34f4p+2 +0x1.3ff198p+1 +-0x1.acfc1p+1 +0x1.563f3ep+2 +-0x1.32c9dcp+4 +-0x1.dcfce6p-2 +0x1.a9cb82p+1 +0x1.66683ep+3 +-0x1.dcf29ep+3 +0x1.6d86eap+3 +0x1.41b464p+3 +-0x1.6b4318p+3 +0x1.0e5ad8p+2 +0x1.82de4ap+1 +0x1.12126ap+4 +-0x1.588a6p+3 +-0x1.56bb14p+1 +-0x1.c2d0fep+3 +0x1.c91e8cp-4 +-0x1.f9b58ep-1 +-0x1.01b178p+1 +0x1.30f176p+1 +0x1.96488ap+1 +0x1.9ee15p-1 +0x1.2b7cd8p+2 +0x1.335e7p+3 +0x1.32db26p+2 +0x1.49e462p+2 +0x1.809e28p+3 +0x1.b281cap+1 +-0x1.ef3af6p+2 +-0x1.92b6e6p+3 +0x1.13f234p+0 +-0x1.981004p-1 +-0x1.96ce7ep+2 +0x1.c37f9ap+1 +-0x1.96930cp+2 +0x1.a434fcp+1 +-0x1.7b13e4p+2 +0x1.b66e3ap+0 +-0x1.3157d8p+3 +0x1.027d88p+1 +-0x1.acd3e4p+3 +-0x1.49902p-2 +-0x1.23d8ap+3 +-0x1.3e11a8p+1 +0x1.2ae06cp+3 +0x1.8236fcp-3 +0x1.90815ep+3 +-0x1.a8db4p+0 +-0x1.297586p+3 +-0x1.952cb4p+3 +-0x1.a20518p+2 +-0x1.cf28a6p+2 +0x1.931bfp+2 +0x1.68038p+0 +-0x1.9ce85ep+1 +-0x1.4292c2p+3 +-0x1.2b7d1cp+2 +-0x1.8d139p+2 +0x1.e9278cp+2 +0x1.942544p+3 +-0x1.1df8cep+3 +-0x1.31cep-1 +0x1.a7065ep+3 +0x1.b70b1cp+3 +0x1.930bc4p+2 +-0x1.2f167ep+3 +-0x1.5f5572p+2 +-0x1.01fae4p+0 +0x1.b78b4p+2 +0x1.d7a04ep+2 +0x1.f2be0ap+0 +0x1.4a4c52p+2 +0x1.0b3c1ap+0 +-0x1.8c5f16p+2 +0x1.3b31b4p+3 +-0x1.61f20ep+3 +-0x1.b3557p+3 +-0x1.3da99ep+2 +0x1.f9e9b2p+3 +-0x1.e29a44p+2 +-0x1.cb80f8p+1 +0x1.8cd1c4p-3 +-0x1.5e774ap+1 +-0x1.b078ap+2 +0x1.7df532p+3 +-0x1.20e83ap+3 +-0x1.2ece3cp+2 +-0x1.b8dcfap-1 +-0x1.a820eap+2 +0x1.7b9754p+2 +0x1.a9690cp-1 +0x1.cbdebp+0 +-0x1.6a6fdep-1 +-0x1.cfc8ecp+1 +0x1.fea056p+2 +0x1.19aee6p+4 +0x1.cb4172p-1 +0x1.a2bc9ep+0 +-0x1.153a5p+3 +-0x1.e32cd2p+2 +0x1.cd1044p-1 +0x1.0fb76cp+1 +0x1.4bfd4ap+3 +0x1.806536p+2 +0x1.9579f6p+2 +0x1.3649p+1 +0x1.a0c47ap-5 +-0x1.09803p+2 +0x1.84fb0ep+2 +-0x1.855462p+3 +0x1.159624p+4 +-0x1.8df534p+1 +0x1.8cd25p+1 +-0x1.e7ad74p+3 +0x1.e6229ep-2 +0x1.bccca2p+1 +-0x1.8e288ep+2 +0x1.c2aa6p+0 +0x1.ff0a0cp+2 +-0x1.ddb1ecp+1 +-0x1.3e5476p+3 +0x1.858158p+3 +0x1.d178dcp+2 +0x1.9197fp+2 +0x1.f12d86p+2 +0x1.0ee4fap+3 +-0x1.0bec12p+3 +-0x1.c3b202p+1 +-0x1.40665ap+3 +0x1.5ca698p+2 +0x1.0886c6p+3 +-0x1.6ce43ep+3 +0x1.0d0446p+3 +-0x1.3cdd42p+3 +-0x1.98ab96p+0 +0x1.67118cp+1 +-0x1.6381dp+1 +0x1.a6ecb4p+2 +-0x1.9515b6p+3 +-0x1.3a8022p+2 +0x1.46c216p+3 +0x1.e89f14p+1 +-0x1.0b75a8p-1 +0x1.4109f4p+3 +-0x1.313a9p+2 +-0x1.3993acp+4 +-0x1.61350cp+3 +-0x1.180f7cp+1 +0x1.77981ep+0 +-0x1.f701b8p+0 +0x1.ab815cp+3 +-0x1.cf59eap+2 +0x1.8ee6dcp+1 +0x1.8ec04cp+2 +0x1.bbf638p+2 +-0x1.a3fa38p+1 +-0x1.1af036p+1 +0x1.22f5cep+2 +-0x1.46a49ap+3 +-0x1.5d4fdcp+3 +-0x1.f72d2ap+2 +-0x1.8bcbb2p-6 +0x1.b6ac6ap+1 +-0x1.76022p+1 +-0x1.317764p+3 +0x1.1f9cb2p+3 +0x1.9e1294p+3 +-0x1.e7d7d2p+2 +-0x1.096e72p+4 +0x1.a6ffb6p-3 +0x1.e6a5d2p-5 +-0x1.69a5bp-1 +0x1.4573p+2 +-0x1.9f7bb4p+3 +-0x1.239f28p+3 +0x1.21c244p+2 +0x1.63aca6p+2 +0x1.1981bcp+1 +0x1.ae3274p+2 +-0x1.acc7c2p+2 +0x1.354474p+3 +-0x1.01b9acp+2 +0x1.59db0ep+2 +0x1.1a8914p+4 +-0x1.5dab9ap+0 +-0x1.7abbe4p+0 +-0x1.1fa8f8p+2 +-0x1.7e72eep+2 +-0x1.90f286p+2 +0x1.c205ap+2 +0x1.d47afp+2 +0x1.adbf8cp+3 +0x1.9a8a4ep+3 +-0x1.4bf36p+2 +-0x1.0d0d08p+2 +-0x1.19084ap+3 +-0x1.dc5e8ap+2 +0x1.d78666p+4 +-0x1.a288ecp+1 +-0x1.53bf26p+2 +0x1.602114p+3 +0x1.1f2ccap+3 +0x1.82373ep+1 +0x1.13fep+1 +-0x1.164c02p+3 +-0x1.75a7e4p+2 +0x1.7dbef6p+3 +0x1.2e9564p+3 +-0x1.0a1952p+3 +0x1.d5409cp+2 +-0x1.093fe4p+2 +0x1.1e6686p+4 +0x1.f4978p+2 +-0x1.0cbcf4p+3 +-0x1.813d0ep+0 +-0x1.30607p-2 +-0x1.4b5342p+3 +0x1.603252p+2 +-0x1.c601e6p+3 +-0x1.cd608ap+1 +-0x1.fa09ccp+2 +-0x1.797292p+3 +-0x1.b4f4fap+3 +-0x1.57cd52p+1 +0x1.b71ae6p+3 +-0x1.96ec48p+2 +0x1.0e0092p-1 +-0x1.042ca6p+3 +0x1.8a318cp+1 +-0x1.6a9bdap+1 +0x1.c52fbp+1 +-0x1.376f82p+3 +0x1.0698fap+2 +-0x1.1f6c54p+2 +-0x1.8094b4p+3 +0x1.4bf162p+1 +0x1.f19582p+3 +-0x1.1f0c82p+4 +0x1.6d0a9ep+1 +-0x1.b4f5ecp+3 +0x1.94ea4ap-2 +-0x1.dd3e7cp+2 +0x1.00c328p+2 +-0x1.06b808p+0 +0x1.5e68c2p+3 +0x1.b57a62p+2 +0x1.dbb778p+1 +0x1.f8599ep+2 +0x1.a8ce9ap+1 +-0x1.1178ccp+3 +-0x1.16b262p+2 +0x1.4cb31ap+0 +-0x1.2b698cp+2 +-0x1.b2dec8p+2 +-0x1.9ead8p+0 +-0x1.7f25d2p+2 +-0x1.3ecb54p+1 +-0x1.42bd8cp+2 +-0x1.e64afp+3 +-0x1.8df506p-3 +-0x1.7fa6f8p+1 +0x1.f192dcp+2 +0x1.a23234p+3 +0x1.529f9ep-1 +-0x1.25c242p+3 +-0x1.264d34p+3 +-0x1.ab5a0ep+2 +0x1.27c7c8p+0 +0x1.be840ep+1 +0x1.abfd0ap+2 +0x1.73307cp-1 +0x1.8b75c8p+1 +-0x1.c614bap+3 +0x1.910e2p+0 +0x1.cc4adcp+2 +-0x1.072822p+3 +0x1.6f2704p+3 +0x1.1ee3a2p+4 +0x1.3e3134p+1 +0x1.d120bep-3 +-0x1.1fe198p+3 +-0x1.52b1fp+3 +-0x1.ae7658p+1 +-0x1.f114fp+3 +0x1.2db694p+2 +0x1.c01758p+0 +0x1.c6b936p+1 +-0x1.97d9cap+3 +-0x1.3aa6e6p+1 +0x1.9cae42p-1 +0x1.fd162ap+1 +0x1.4d23p+3 +-0x1.229a22p+3 +-0x1.15d246p+3 +-0x1.14ca8p-2 +-0x1.d28014p+3 +0x1.97ed02p+1 +0x1.2295dap+3 +0x1.03ef26p+2 +0x1.a8e6fep+1 +0x1.2c635cp+0 +-0x1.f6ca0cp+0 +-0x1.45c58p+0 +-0x1.c3de1ep-2 +0x1.e727dap+1 +0x1.abe67p+1 +-0x1.8fa346p+3 +-0x1.70b346p+1 +-0x1.1d62cp+4 +0x1.4f5d3cp+0 +-0x1.2baea6p+1 +0x1.c74a0cp+1 +0x1.5ab764p+3 +-0x1.8b71bp+1 +0x1.e5599ap-1 +-0x1.379358p+3 +0x1.281956p+3 +-0x1.074e08p-2 +-0x1.82f2a4p+0 +-0x1.15c314p-3 +-0x1.c518dcp+2 +-0x1.73992ap+0 +0x1.a6465ap+3 +0x1.6618c4p-5 +0x1.01d2e8p+3 +0x1.4919b4p+2 +-0x1.87c72p+0 +0x1.361b6ap-8 +0x1.8e16c2p+2 +0x1.e0c19cp+1 +0x1.6efdb6p+1 +0x1.77a86cp+3 +-0x1.9a52b4p+1 +0x1.2decd2p+3 +0x1.efa19ap+0 +-0x1.f7faecp-1 +-0x1.125dbep+2 +-0x1.aa25dap+1 +-0x1.0509b6p+3 +-0x1.0e841ep+4 +0x1.14f30ap-4 +0x1.8371f6p+3 +-0x1.a6997cp+2 +0x1.d0be9ap-1 +0x1.7a187p+2 +0x1.5c3bdp+3 +0x1.a8caecp+3 +0x1.4fabbp+0 +0x1.52e96p+3 +0x1.6ef878p+1 +0x1.e6a8c2p+2 +-0x1.153cd8p+2 +0x1.7465e2p+3 +0x1.19c6a2p+2 +-0x1.df655ap+3 +0x1.72168ep+1 +-0x1.fad952p+1 +-0x1.d3401ap+1 +0x1.1d3854p+2 +0x1.5c0a66p+3 +-0x1.8183e6p+0 +0x1.e1e5eep+0 +-0x1.2c7666p+4 +0x1.31e48ep+4 +-0x1.5b84d8p+2 +0x1.ac7e36p+2 +0x1.171c6cp+2 +0x1.b38194p-5 +-0x1.9c0b56p+2 +-0x1.16cd88p+2 +-0x1.5a04d8p+3 +-0x1.0cc51ep+4 +-0x1.d5ed58p+2 +-0x1.056de2p+3 +-0x1.e09562p+1 +0x1.0f0196p+2 +0x1.7fa3f6p+2 +0x1.fac5bp+1 +-0x1.f77ae6p+3 +-0x1.6f44f4p+1 +-0x1.9d4e52p+3 +0x1.94417p+3 +-0x1.58acb6p+1 +-0x1.87063ap+2 +0x1.b94356p+2 +0x1.8637e6p+2 +-0x1.440ac8p+2 +0x1.105cfep+0 +-0x1.bf9b0ep+2 +0x1.657f4cp+0 +-0x1.8f9cb6p+3 +0x1.1399d8p+3 +0x1.a28952p+1 +-0x1.23308ep+3 +-0x1.4c282ap+0 +-0x1.d9f856p+2 +0x1.bf6c9p+3 +-0x1.87bd2p+1 +-0x1.9292dcp+2 +0x1.472382p+2 +0x1.92499ap+3 +0x1.23e2c4p+2 +-0x1.1f5d28p+0 +-0x1.03af7ap+4 +-0x1.57e604p+1 +0x1.489f06p+3 +0x1.a3378ep+2 +0x1.127a2p+3 +-0x1.0412acp+3 +-0x1.c1fab6p+0 +-0x1.534a36p+3 +-0x1.227eeap+2 +-0x1.60bafap+3 +-0x1.6c1b4cp+2 +-0x1.e55c3p+2 +0x1.0136a2p-1 +-0x1.0ffdf8p+2 +-0x1.c6576p+2 +-0x1.b2896ep-2 +0x1.574f6ap+0 +0x1.324236p+3 +-0x1.a32442p+1 +0x1.9a389ap+3 +-0x1.1171cap+3 +0x1.0f7b1ep+2 +-0x1.6c053ep+2 +-0x1.9b99b6p+1 +0x1.b2a6d8p+3 +0x1.1f2bd6p+1 +-0x1.f0ccccp+2 +-0x1.1733p+2 +-0x1.6b2756p+2 +-0x1.187854p+3 +0x1.a7991ap+1 +0x1.857358p+2 +-0x1.0cfed6p-2 +-0x1.4de6ecp+2 +0x1.51a062p+2 +0x1.150624p+0 +-0x1.5cfe06p+3 +0x1.79170cp+0 +0x1.03e7acp+3 +-0x1.189198p+2 +0x1.b4c6bep+0 +-0x1.9184c8p+2 +-0x1.896958p+2 +0x1.5be384p+4 +-0x1.0a5d4ep+3 +0x1.9a2808p-1 +-0x1.52f6fcp+2 +0x1.3c8b1ep+1 +0x1.2ea336p+0 +0x1.e53f12p+3 +0x1.957874p+3 +-0x1.2e50c6p+2 +0x1.f60822p+1 +0x1.b8e3e6p+2 +0x1.288f64p+3 +0x1.3ab57ap+2 +0x1.00560ep+3 +-0x1.018fdap+1 +-0x1.1663e6p-2 +-0x1.b38c7ap+1 +-0x1.56593cp+1 +-0x1.658a9ap+3 +-0x1.025216p-3 +-0x1.72fcdcp+3 +-0x1.d97294p+1 +-0x1.c49a1ep+1 +-0x1.e36a8p+4 +-0x1.2f653ap+3 +-0x1.e1be1ep+1 +-0x1.6f8874p+1 +-0x1.016da2p+4 +0x1.082ca6p-1 +-0x1.a2bbbep+1 +-0x1.56d822p+2 +-0x1.0dbebap+2 +-0x1.b94eb6p+2 +-0x1.a9bf86p+0 +-0x1.085582p+1 +0x1.022d02p+0 +0x1.3063e8p+4 +0x1.eab3b2p+3 +0x1.e5f194p+2 +0x1.5ef1a2p+3 +0x1.e69e94p+0 +0x1.545416p+2 +-0x1.b5e41p+2 +-0x1.68c7d2p+0 +0x1.7ffc78p-1 +0x1.a668c8p+3 +0x1.0b28f2p+5 +0x1.433504p+3 +0x1.685124p+4 +0x1.4745e4p+2 +-0x1.695746p+1 +-0x1.c3d85cp+3 +0x1.2ca546p+3 +-0x1.5e28cep+1 +-0x1.92bfbap+2 +0x1.97f2a6p+1 +0x1.282c0ep+2 +0x1.2e83fp-4 +-0x1.e1a488p-1 +-0x1.95bdb2p+0 +0x1.6600fep+3 +0x1.2e1d9cp-1 +-0x1.70e9eap+0 +-0x1.d20f1ap+2 +-0x1.c22c62p+1 +0x1.5ede8cp+1 +-0x1.ddccc6p+1 +-0x1.37b3b2p+2 +0x1.293dccp+2 +0x1.a0908ap+2 +-0x1.19e172p+2 +-0x1.1587ap+3 +0x1.04d7bep+3 +0x1.a9bfdp+0 +0x1.7ffbdp+2 +-0x1.604336p+1 +0x1.06267ap+1 +0x1.0ac26cp+0 +-0x1.2f2bf4p+3 +0x1.6ae676p-4 +0x1.44e9dp+3 +-0x1.e43e3p+3 +-0x1.28e92p+2 +-0x1.7353a4p+2 +-0x1.10a858p+3 +0x1.32f94cp-2 +0x1.f9f834p-1 +0x1.975716p+1 +0x1.1d7c02p+3 +-0x1.6dec8ap+0 +-0x1.5d11dp+2 +-0x1.2747dap+1 +0x1.7f675ep+3 +-0x1.25e7bep+4 +0x1.2ab506p+2 +-0x1.b5d0f4p+0 +-0x1.6c1508p+0 +-0x1.cee6ecp+1 +0x1.07e3d6p+4 +-0x1.c45816p+3 +-0x1.4d33cep+0 +0x1.ab0d78p+1 +0x1.b383e6p+2 +0x1.5da5ecp+2 +-0x1.ae0576p+2 +0x1.4f48d4p+2 +-0x1.880168p+0 +-0x1.87add8p+3 +-0x1.14db9ap+2 +0x1.47c03p+1 +-0x1.2b0216p+3 +-0x1.7bfb0cp-2 +-0x1.0c23e6p+3 +-0x1.15774ap+2 +-0x1.7ac434p+0 +0x1.c550fcp+3 +0x1.83d7cep+3 +0x1.0175d4p+4 +-0x1.2212fap+0 +0x1.217f3ep+3 +-0x1.cd855cp+1 +0x1.ccea5ap+1 +0x1.558402p+2 +-0x1.8ab1c2p+3 +-0x1.809848p+0 +-0x1.526644p+3 +0x1.305104p+4 +0x1.eff682p+2 +-0x1.5afb16p+3 +0x1.1e33cp+3 +-0x1.e25cf6p+1 +0x1.2a89dep+1 +-0x1.1674f4p+3 +-0x1.2284f2p-3 +-0x1.cf1ddap+1 +0x1.b3a79p+2 +0x1.468334p+1 +0x1.190e34p+2 +0x1.2509ecp+0 +0x1.7a11f6p+2 +-0x1.ce345cp-3 +-0x1.203b3cp+3 +-0x1.0c93c6p+2 +0x1.963b6ep+2 +-0x1.e1bdc6p+2 +0x1.4d96d8p+3 +-0x1.b92d8p+1 +0x1.e2caa2p+2 +0x1.f8baf2p-1 +-0x1.02dc14p+4 +-0x1.24534cp+1 +0x1.a87ed4p+3 +0x1.5e37aap+2 +-0x1.3cadc2p+4 +-0x1.19840ap+3 +0x1.1959ep+2 +0x1.52bed4p+3 +0x1.dbfbaap+1 +0x1.eee934p+1 +0x1.203d42p+0 +0x1.90b58ep+3 +-0x1.37057ap+2 +-0x1.b2a806p+3 +0x1.e67ccep+3 +-0x1.3c67a4p+3 +-0x1.bfe3aap+2 +0x1.35cebcp+3 +0x1.0422ccp+3 +-0x1.60be74p+2 +0x1.035cecp+2 +0x1.7f99fcp+1 +-0x1.6f9c5ep+3 +-0x1.845438p+3 +-0x1.127e6ep+1 +0x1.4cfddep+3 +-0x1.1d4bd6p+3 +0x1.6a88e8p+2 +0x1.9d6a58p+0 +-0x1.3b15fp+0 +0x1.35beeap-3 +-0x1.55bb66p-2 +-0x1.80a282p+2 +0x1.c414d4p+4 +-0x1.1f50c4p+2 +0x1.d420b2p+0 +-0x1.fd9dd8p-1 +0x1.7df5acp+2 +0x1.6eb4e8p+0 +-0x1.1194fep+3 +0x1.13a326p+2 +0x1.e7069cp+3 +-0x1.89a242p+2 +-0x1.107502p+3 +-0x1.fb0a94p+2 +-0x1.f37b9ep+3 +-0x1.55cp+3 +0x1.12ed7ap+1 +0x1.cd24b4p+1 +0x1.17089p+3 +0x1.90a1fcp+2 +0x1.88f71ap+1 +-0x1.0e428ap-1 +-0x1.9a536ep+1 +-0x1.f8c908p+2 +0x1.40c9a2p-3 +0x1.bb0f58p+3 +0x1.4f096cp+3 +-0x1.8639acp+0 +-0x1.ddc002p-4 +0x1.15ea76p+3 +-0x1.a43148p+3 +0x1.3085c6p+4 +-0x1.3a122cp+2 +-0x1.8466c8p+2 +-0x1.07a3a2p+2 +-0x1.64907p+3 +-0x1.b6cfc8p+1 +0x1.a9f23ep+2 +0x1.8f8862p+2 +-0x1.0520dap+2 +-0x1.fd38e4p+2 +0x1.23a194p+3 +-0x1.a17682p+3 +-0x1.ebb218p+3 +-0x1.8824d2p+3 +0x1.100b8ep+0 +-0x1.8303ap+3 +-0x1.32ae3cp+0 +0x1.20cb3cp+3 +0x1.b455d2p+1 +0x1.321f6ap+2 +-0x1.d72368p+3 +-0x1.2e6a72p+4 +-0x1.e802acp+2 +-0x1.283a26p+1 +-0x1.4683fcp+0 +-0x1.097924p+3 +0x1.6fae44p-1 +-0x1.66857cp-4 +-0x1.1808dp+3 +-0x1.88bbc4p+2 +-0x1.22e884p+0 +0x1.ce560cp-3 +0x1.fe4936p+1 +-0x1.e70f7ap+2 +-0x1.a22572p+3 +0x1.93bb64p+2 +-0x1.26ee7ep+3 +-0x1.86e8ap+3 +0x1.324cacp+3 +0x1.1e2ab2p+2 +-0x1.23a576p+2 +-0x1.24f144p+2 +-0x1.4b31f8p+0 +0x1.16c554p+2 From patchwork Wed Nov 24 19:37:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48107 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AE68B3858C27 for ; Wed, 24 Nov 2021 20:34:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AE68B3858C27 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637786072; bh=DNlXw+r4cFwZ3frM2kApqnS/Q2y5B7jMfUf6qT8o6zc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=EH+NE8GQgVlqPk+0blYZa16+hdFFVF+NFeILaJnhAMjAgIpMIec75zPwUJTWiGR36 hmx0UjkU4eEh2jxvrxDEsnltI5x3M8jhsLQdix+CSaF8VnQmi9Z3UfcHbjji7o7hz5 VW6TeEc95tunDr2UiBFCJ0J/411nZoDRCJwB5LBg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 1A7FF385800F for ; Wed, 24 Nov 2021 19:38:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1A7FF385800F X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="298763445" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="298763445" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="650501619" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga001.fm.intel.com with ESMTP; 24 Nov 2021 11:38:13 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XG021555; Wed, 24 Nov 2021 11:38:13 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 29/42] x86-64: Add vector hypot/hypotf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:54 -0800 Message-Id: <20211124193807.2093208-30-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized hypot/hypotf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector hypot/hypotf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_hypot2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_hypot2_core.c | 28 + .../fpu/multiarch/svml_d_hypot2_core_sse4.S | 2336 +++++++++++++++++ .../fpu/multiarch/svml_d_hypot4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_hypot4_core.c | 28 + .../fpu/multiarch/svml_d_hypot4_core_avx2.S | 2162 +++++++++++++++ .../fpu/multiarch/svml_d_hypot8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_hypot8_core.c | 28 + .../fpu/multiarch/svml_d_hypot8_core_avx512.S | 1775 +++++++++++++ .../fpu/multiarch/svml_s_hypotf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_hypotf16_core.c | 28 + .../multiarch/svml_s_hypotf16_core_avx512.S | 1684 ++++++++++++ .../fpu/multiarch/svml_s_hypotf4_core-sse2.S | 20 + .../fpu/multiarch/svml_s_hypotf4_core.c | 28 + .../fpu/multiarch/svml_s_hypotf4_core_sse4.S | 2062 +++++++++++++++ .../fpu/multiarch/svml_s_hypotf8_core-sse.S | 20 + .../fpu/multiarch/svml_s_hypotf8_core.c | 28 + .../fpu/multiarch/svml_s_hypotf8_core_avx2.S | 1943 ++++++++++++++ sysdeps/x86_64/fpu/svml_d_hypot2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_hypot4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_hypot4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_hypot8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_hypotf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_hypotf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_hypotf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_hypotf8_core_avx.S | 25 + .../fpu/test-double-libmvec-hypot-avx.c | 1 + .../fpu/test-double-libmvec-hypot-avx2.c | 1 + .../fpu/test-double-libmvec-hypot-avx512f.c | 1 + .../x86_64/fpu/test-double-libmvec-hypot.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../fpu/test-float-libmvec-hypotf-avx.c | 1 + .../fpu/test-float-libmvec-hypotf-avx2.c | 1 + .../fpu/test-float-libmvec-hypotf-avx512f.c | 1 + .../x86_64/fpu/test-float-libmvec-hypotf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 12533 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_hypot2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_hypot4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_hypot4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_hypot8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_hypotf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_hypotf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_hypotf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_hypotf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-hypot.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-hypotf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 683eb5569e..4e08de9936 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -252,4 +252,15 @@ #define __DECL_SIMD_expm1f32x #define __DECL_SIMD_expm1f64x #define __DECL_SIMD_expm1f128x + +#define __DECL_SIMD_hypot +#define __DECL_SIMD_hypotf +#define __DECL_SIMD_hypotl +#define __DECL_SIMD_hypotf16 +#define __DECL_SIMD_hypotf32 +#define __DECL_SIMD_hypotf64 +#define __DECL_SIMD_hypotf128 +#define __DECL_SIMD_hypotf32x +#define __DECL_SIMD_hypotf64x +#define __DECL_SIMD_hypotf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 345f1f3704..32f487c109 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -144,7 +144,7 @@ __MATHCALL (sqrt,, (_Mdouble_ __x)); #if defined __USE_XOPEN || defined __USE_ISOC99 /* Return `sqrt(X*X + Y*Y)'. */ -__MATHCALL (hypot,, (_Mdouble_ __x, _Mdouble_ __y)); +__MATHCALL_VEC (hypot,, (_Mdouble_ __x, _Mdouble_ __y)); #endif #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 119985e65e..4fbc8629a1 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -60,6 +60,7 @@ GLIBC_2.35 _ZGVbN2v_exp10 F GLIBC_2.35 _ZGVbN2v_exp2 F GLIBC_2.35 _ZGVbN2v_expm1 F GLIBC_2.35 _ZGVbN2vv_atan2 F +GLIBC_2.35 _ZGVbN2vv_hypot F GLIBC_2.35 _ZGVbN4v_acosf F GLIBC_2.35 _ZGVbN4v_acoshf F GLIBC_2.35 _ZGVbN4v_asinf F @@ -74,6 +75,7 @@ GLIBC_2.35 _ZGVbN4v_exp10f F GLIBC_2.35 _ZGVbN4v_exp2f F GLIBC_2.35 _ZGVbN4v_expm1f F GLIBC_2.35 _ZGVbN4vv_atan2f F +GLIBC_2.35 _ZGVbN4vv_hypotf F GLIBC_2.35 _ZGVcN4v_acos F GLIBC_2.35 _ZGVcN4v_acosh F GLIBC_2.35 _ZGVcN4v_asin F @@ -88,6 +90,7 @@ GLIBC_2.35 _ZGVcN4v_exp10 F GLIBC_2.35 _ZGVcN4v_exp2 F GLIBC_2.35 _ZGVcN4v_expm1 F GLIBC_2.35 _ZGVcN4vv_atan2 F +GLIBC_2.35 _ZGVcN4vv_hypot F GLIBC_2.35 _ZGVcN8v_acosf F GLIBC_2.35 _ZGVcN8v_acoshf F GLIBC_2.35 _ZGVcN8v_asinf F @@ -102,6 +105,7 @@ GLIBC_2.35 _ZGVcN8v_exp10f F GLIBC_2.35 _ZGVcN8v_exp2f F GLIBC_2.35 _ZGVcN8v_expm1f F GLIBC_2.35 _ZGVcN8vv_atan2f F +GLIBC_2.35 _ZGVcN8vv_hypotf F GLIBC_2.35 _ZGVdN4v_acos F GLIBC_2.35 _ZGVdN4v_acosh F GLIBC_2.35 _ZGVdN4v_asin F @@ -116,6 +120,7 @@ GLIBC_2.35 _ZGVdN4v_exp10 F GLIBC_2.35 _ZGVdN4v_exp2 F GLIBC_2.35 _ZGVdN4v_expm1 F GLIBC_2.35 _ZGVdN4vv_atan2 F +GLIBC_2.35 _ZGVdN4vv_hypot F GLIBC_2.35 _ZGVdN8v_acosf F GLIBC_2.35 _ZGVdN8v_acoshf F GLIBC_2.35 _ZGVdN8v_asinf F @@ -130,6 +135,7 @@ GLIBC_2.35 _ZGVdN8v_exp10f F GLIBC_2.35 _ZGVdN8v_exp2f F GLIBC_2.35 _ZGVdN8v_expm1f F GLIBC_2.35 _ZGVdN8vv_atan2f F +GLIBC_2.35 _ZGVdN8vv_hypotf F GLIBC_2.35 _ZGVeN16v_acosf F GLIBC_2.35 _ZGVeN16v_acoshf F GLIBC_2.35 _ZGVeN16v_asinf F @@ -144,6 +150,7 @@ GLIBC_2.35 _ZGVeN16v_exp10f F GLIBC_2.35 _ZGVeN16v_exp2f F GLIBC_2.35 _ZGVeN16v_expm1f F GLIBC_2.35 _ZGVeN16vv_atan2f F +GLIBC_2.35 _ZGVeN16vv_hypotf F GLIBC_2.35 _ZGVeN8v_acos F GLIBC_2.35 _ZGVeN8v_acosh F GLIBC_2.35 _ZGVeN8v_asin F @@ -158,3 +165,4 @@ GLIBC_2.35 _ZGVeN8v_exp10 F GLIBC_2.35 _ZGVeN8v_exp2 F GLIBC_2.35 _ZGVeN8v_expm1 F GLIBC_2.35 _ZGVeN8vv_atan2 F +GLIBC_2.35 _ZGVeN8vv_hypot F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index f1e3b7e660..0f43244b3f 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -114,6 +114,10 @@ # define __DECL_SIMD_expm1 __DECL_SIMD_x86_64 # undef __DECL_SIMD_expm1f # define __DECL_SIMD_expm1f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypot +# define __DECL_SIMD_hypot __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypotf +# define __DECL_SIMD_hypotf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 6c63e0ceed..8c614c5fb4 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -38,6 +38,7 @@ libmvec-funcs = \ exp10 \ exp2 \ expm1 \ + hypot \ log \ pow \ sin \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 74a881b0f6..6beaa3bf8b 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -28,6 +28,7 @@ libmvec { _ZGVbN2v_exp2; _ZGVcN4v_exp2; _ZGVdN4v_exp2; _ZGVeN8v_exp2; _ZGVbN2v_expm1; _ZGVcN4v_expm1; _ZGVdN4v_expm1; _ZGVeN8v_expm1; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; + _ZGVbN2vv_hypot; _ZGVcN4vv_hypot; _ZGVdN4vv_hypot; _ZGVeN8vv_hypot; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; _ZGVbN4v_acoshf; _ZGVcN8v_acoshf; _ZGVdN8v_acoshf; _ZGVeN16v_acoshf; _ZGVbN4v_asinf; _ZGVcN8v_asinf; _ZGVdN8v_asinf; _ZGVeN16v_asinf; @@ -42,5 +43,6 @@ libmvec { _ZGVbN4v_exp2f; _ZGVcN8v_exp2f; _ZGVdN8v_exp2f; _ZGVeN16v_exp2f; _ZGVbN4v_expm1f; _ZGVcN8v_expm1f; _ZGVdN8v_expm1f; _ZGVeN16v_expm1f; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; + _ZGVbN4vv_hypotf; _ZGVcN8vv_hypotf; _ZGVdN8vv_hypotf; _ZGVeN16vv_hypotf; } } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index c338319b69..577ffd239a 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1592,6 +1592,26 @@ double: 1 float128: 1 ldouble: 1 +Function: "hypot_vlen16": +float: 1 + +Function: "hypot_vlen2": +double: 1 + +Function: "hypot_vlen4": +double: 1 +float: 1 + +Function: "hypot_vlen4_avx2": +double: 1 + +Function: "hypot_vlen8": +double: 1 +float: 1 + +Function: "hypot_vlen8_avx2": +float: 1 + Function: "j0": double: 3 float: 9 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core-sse2.S new file mode 100644 index 0000000000..237e38459e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized hypot. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2vv_hypot _ZGVbN2vv_hypot_sse2 +#include "../svml_d_hypot2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core.c new file mode 100644 index 0000000000..3f0865f05d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized hypot, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2vv_hypot +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2vv_hypot, __GI__ZGVbN2vv_hypot, + __redirect__ZGVbN2vv_hypot) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core_sse4.S new file mode 100644 index 0000000000..2940aa7ae8 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core_sse4.S @@ -0,0 +1,2336 @@ +/* Function hypot vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * HIGH LEVEL OVERVIEW + * + * Calculate z = (x*x+y*y) + * Calculate reciplicle sqrt (z) + * Calculate error = z*(rsqrt(z)*rsqrt(z)) - 1 + * Calculate fixing part p with polynom + * Fix answer with sqrt(z) = z * rsqrt(z) + error * p * z + * + * ALGORITHM DETAILS + * + * Multiprecision branch for _HA_ only + * Remove sigm from both arguments + * Find maximum (_x) and minimum (_y) (by abs value) between arguments + * Split _x int _a and _b for multiprecision + * If _x >> _y we will we will not split _y for multiprecision + * all _y will be put into lower part (_d) and higher part (_c = 0) + * Fixing _hilo_mask for the case _x >> _y + * Split _y into _c and _d for multiprecision with fixed mask + * + * compute Hi and Lo parts of _z = _x*_x + _y*_y + * + * _zHi = _a*_a + _c*_c + * _zLo = (_x + _a)*_b + _d*_y + _d*_c + * _z = _zHi + _zLo + * + * No multiprecision branch for _LA_ and _EP_ + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + * + * Check _z exponent to be withing borders [3BC ; 441] else goto Callout + * + * _s ~ 1.0/sqrt(_z) + * _s2 ~ 1.0/(sqrt(_z)*sqrt(_z)) ~ 1.0/_z = (1.0/_z + O) + * _e[rror] = (1.0/_z + O) * _z - 1.0 + * calculate fixing part _p + * _p = (((_POLY_C5*_e + _POLY_C4)*_e +_POLY_C3)*_e +_POLY_C2)*_e + _POLY_C1 + * some parts of polynom are skipped for lower flav + * + * result = _z * (1.0/sqrt(_z) + O) + _p * _e[rror] * _z + * + * + */ + +#include + + .text +ENTRY(_ZGVbN2vv_hypot_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + movaps %xmm1, %xmm2 + +/* + * Defines + * Implementation + * Multiprecision branch for _HA_ only + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + */ + movaps %xmm0, %xmm1 + movaps %xmm2, %xmm3 + mulpd %xmm0, %xmm1 + mulpd %xmm2, %xmm3 + addpd %xmm3, %xmm1 + +/* + * _s ~ 1.0/sqrt(_z) + * _s2 ~ 1.0/(sqrt(_z)*sqrt(_z)) ~ 1.0/_z + */ + cvtpd2ps %xmm1, %xmm3 + +/* Check _z exponent to be withing borders [3BC ; 441] else goto Callout */ + movq 576+__svml_dhypot_data_internal(%rip), %xmm6 + movq 640+__svml_dhypot_data_internal(%rip), %xmm4 + pshufd $221, %xmm1, %xmm5 + movlhps %xmm3, %xmm3 + pcmpgtd %xmm5, %xmm6 + pcmpgtd %xmm4, %xmm5 + rsqrtps %xmm3, %xmm4 + por %xmm5, %xmm6 + pshufd $80, %xmm6, %xmm7 + cvtps2pd %xmm4, %xmm6 + movmskpd %xmm7, %edx + movaps %xmm6, %xmm3 + mulpd %xmm6, %xmm3 + +/* _e[rror] ~ (1.0/_z + O) * _z - 1.0 */ + mulpd %xmm1, %xmm3 + subpd 128+__svml_dhypot_data_internal(%rip), %xmm3 + +/* + * calculate fixing part _p + * _p = (((_POLY_C5*_e + _POLY_C4)*_e +_POLY_C3)*_e +_POLY_C2)*_e + _POLY_C1 + * some parts of polynom are skipped for lower flav + */ + movups 256+__svml_dhypot_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + addpd 320+__svml_dhypot_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + addpd 384+__svml_dhypot_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + addpd 448+__svml_dhypot_data_internal(%rip), %xmm5 + +/* result = _z * (1.0/sqrt(_z) + O) + _p * _e[rror] * _z */ + mulpd %xmm5, %xmm3 + mulpd %xmm6, %xmm3 + mulpd %xmm1, %xmm6 + mulpd %xmm1, %xmm3 + addpd %xmm6, %xmm3 + +/* The end of implementation */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movaps %xmm3, %xmm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm0, 192(%rsp) + movups %xmm2, 256(%rsp) + movups %xmm3, 320(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 320(%rsp), %xmm3 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,8), %rdi + lea 256(%rsp,%r12,8), %rsi + lea 320(%rsp,%r12,8), %rdx + call __svml_dhypot_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2vv_hypot_sse4) + + .align 16,0x90 + +__svml_dhypot_cout_rare_internal: + + cfi_startproc + + movq %rdx, %r8 + movzwl 6(%rdi), %eax + andl $32752, %eax + cmpl $32752, %eax + je .LBL_2_14 + movzwl 6(%rsi), %eax + andl $32752, %eax + cmpl $32752, %eax + je .LBL_2_13 + movsd (%rdi), %xmm2 + movsd 4096+_vmldHypotHATab(%rip), %xmm0 + movb 7(%rdi), %dl + movb 7(%rsi), %al + movsd (%rsi), %xmm1 + ucomisd %xmm0, %xmm2 + jp .LBL_2_4 + je .LBL_2_11 + +.LBL_2_4: + movsd %xmm2, -16(%rsp) + andb $127, %dl + movsd %xmm1, -48(%rsp) + andb $127, %al + movb %dl, -9(%rsp) + movb %al, -41(%rsp) + movsd -16(%rsp), %xmm8 + movsd -48(%rsp), %xmm1 + comisd %xmm8, %xmm1 + jbe .LBL_2_6 + movaps %xmm8, %xmm2 + movaps %xmm1, %xmm8 + movsd %xmm1, -16(%rsp) + movaps %xmm2, %xmm1 + +.LBL_2_6: + movzwl -10(%rsp), %edx + andl $32752, %edx + shrl $4, %edx + negl %edx + movzwl 4102+_vmldHypotHATab(%rip), %edi + andl $-32753, %edi + movsd %xmm0, -56(%rsp) + movsd 4128+_vmldHypotHATab(%rip), %xmm3 + lea 1025(%rdx), %esi + negl %esi + addl $1000, %esi + shrl $31, %esi + imull $-23, %esi, %eax + lea 1025(%rax,%rdx), %esi + lea 1023(%rsi), %ecx + andl $2047, %ecx + shll $4, %ecx + orl %ecx, %edi + movw %di, -50(%rsp) + movsd -56(%rsp), %xmm2 + mulsd %xmm2, %xmm8 + mulsd %xmm2, %xmm1 + mulsd %xmm8, %xmm3 + movsd %xmm3, -72(%rsp) + movsd -72(%rsp), %xmm4 + movsd %xmm8, -16(%rsp) + subsd %xmm8, %xmm4 + movsd %xmm4, -64(%rsp) + movsd -72(%rsp), %xmm6 + movsd -64(%rsp), %xmm5 + movsd %xmm1, -48(%rsp) + subsd %xmm5, %xmm6 + movsd %xmm6, -72(%rsp) + movsd -72(%rsp), %xmm7 + movzwl -10(%rsp), %r10d + subsd %xmm7, %xmm8 + movzwl -42(%rsp), %r9d + andl $32752, %r10d + andl $32752, %r9d + shrl $4, %r10d + shrl $4, %r9d + movsd %xmm8, -64(%rsp) + subl %r9d, %r10d + movsd -72(%rsp), %xmm8 + movsd -64(%rsp), %xmm4 + cmpl $6, %r10d + jle .LBL_2_8 + movaps %xmm1, %xmm2 + jmp .LBL_2_9 + +.LBL_2_8: + movsd -48(%rsp), %xmm1 + movsd 4128+_vmldHypotHATab(%rip), %xmm0 + movaps %xmm1, %xmm7 + mulsd %xmm1, %xmm0 + movsd %xmm0, -72(%rsp) + movsd -72(%rsp), %xmm2 + subsd -48(%rsp), %xmm2 + movsd %xmm2, -64(%rsp) + movsd -72(%rsp), %xmm5 + movsd -64(%rsp), %xmm3 + subsd %xmm3, %xmm5 + movsd %xmm5, -72(%rsp) + movsd -72(%rsp), %xmm6 + subsd %xmm6, %xmm7 + movsd %xmm7, -64(%rsp) + movsd -72(%rsp), %xmm0 + movsd -64(%rsp), %xmm2 + +.LBL_2_9: + movsd -16(%rsp), %xmm6 + movaps %xmm8, %xmm3 + mulsd %xmm2, %xmm1 + addsd %xmm8, %xmm6 + mulsd %xmm8, %xmm3 + mulsd %xmm6, %xmm4 + movaps %xmm0, %xmm5 + negl %esi + mulsd %xmm0, %xmm5 + addsd %xmm1, %xmm4 + mulsd %xmm2, %xmm0 + addsd %xmm5, %xmm3 + addsd %xmm0, %xmm4 + movaps %xmm3, %xmm7 + addl $1023, %esi + movq 4112+_vmldHypotHATab(%rip), %r11 + movq %r11, %r9 + lea _vmldHypotHATab(%rip), %rdx + addsd %xmm4, %xmm7 + movsd %xmm7, -56(%rsp) + andl $2047, %esi + movzwl -50(%rsp), %ecx + andl $32752, %ecx + shrl $4, %ecx + addl $-1023, %ecx + movl %ecx, %eax + andl $1, %eax + subl %eax, %ecx + shrl $1, %ecx + movsd %xmm7, -48(%rsp) + movzwl -42(%rsp), %edi + andl $-32753, %edi + shrq $48, %r9 + lea 1023(%rcx), %r10d + addl %ecx, %ecx + addl $16368, %edi + negl %ecx + andl $2047, %r10d + addl $1023, %ecx + andl $2047, %ecx + andl $-32753, %r9d + movw %di, -42(%rsp) + shll $4, %r10d + shll $4, %ecx + orl %r9d, %r10d + shll $4, %esi + orl %r9d, %ecx + movsd -48(%rsp), %xmm2 + orl %esi, %r9d + movl -44(%rsp), %esi + mulsd 4112(%rdx,%rax,8), %xmm2 + andl $1048575, %esi + shrl $12, %esi + shll $8, %eax + addl %eax, %esi + movsd (%rdx,%rsi,8), %xmm8 + movsd 4104+_vmldHypotHATab(%rip), %xmm1 + mulsd %xmm8, %xmm2 + mulsd %xmm8, %xmm1 + movaps %xmm2, %xmm9 + mulsd %xmm1, %xmm9 + movsd 4104+_vmldHypotHATab(%rip), %xmm11 + movsd 4104+_vmldHypotHATab(%rip), %xmm14 + subsd %xmm9, %xmm11 + movaps %xmm11, %xmm10 + mulsd %xmm2, %xmm11 + mulsd %xmm1, %xmm10 + addsd %xmm11, %xmm2 + addsd %xmm10, %xmm1 + movaps %xmm2, %xmm12 + movaps %xmm1, %xmm13 + mulsd %xmm1, %xmm12 + movsd 4104+_vmldHypotHATab(%rip), %xmm0 + subsd %xmm12, %xmm14 + mulsd %xmm14, %xmm13 + mulsd %xmm2, %xmm14 + addsd %xmm13, %xmm1 + addsd %xmm14, %xmm2 + movaps %xmm2, %xmm15 + movaps %xmm2, %xmm5 + mulsd %xmm1, %xmm15 + movsd 4128+_vmldHypotHATab(%rip), %xmm6 + subsd %xmm15, %xmm0 + mulsd %xmm0, %xmm5 + mulsd %xmm1, %xmm0 + addsd %xmm5, %xmm2 + addsd %xmm0, %xmm1 + mulsd %xmm2, %xmm6 + movsd %xmm6, -72(%rsp) + movaps %xmm2, %xmm11 + movsd -72(%rsp), %xmm7 + movq %r11, -32(%rsp) + subsd %xmm2, %xmm7 + movsd %xmm7, -64(%rsp) + movsd -72(%rsp), %xmm9 + movsd -64(%rsp), %xmm8 + movw %cx, -26(%rsp) + subsd %xmm8, %xmm9 + movsd %xmm9, -72(%rsp) + movsd -72(%rsp), %xmm10 + movsd -32(%rsp), %xmm15 + subsd %xmm10, %xmm11 + mulsd %xmm15, %xmm3 + mulsd %xmm15, %xmm4 + movsd %xmm11, -64(%rsp) + movsd -72(%rsp), %xmm13 + movsd 4120+_vmldHypotHATab(%rip), %xmm14 + movaps %xmm13, %xmm12 + mulsd %xmm13, %xmm12 + mulsd %xmm13, %xmm14 + subsd %xmm12, %xmm3 + movsd -64(%rsp), %xmm5 + mulsd %xmm5, %xmm14 + mulsd %xmm5, %xmm5 + subsd %xmm14, %xmm3 + movq %r11, -40(%rsp) + subsd %xmm5, %xmm3 + movw %r10w, -34(%rsp) + addsd %xmm4, %xmm3 + mulsd %xmm1, %xmm3 + movq %r11, -24(%rsp) + addsd %xmm3, %xmm2 + mulsd -40(%rsp), %xmm2 + movw %r9w, -18(%rsp) + mulsd -24(%rsp), %xmm2 + movsd %xmm2, (%r8) + +.LBL_2_10: + xorl %eax, %eax + ret + +.LBL_2_11: + ucomisd %xmm0, %xmm1 + jne .LBL_2_4 + jp .LBL_2_4 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_13: + movsd (%rsi), %xmm0 + mulsd %xmm0, %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_14: + movzwl 6(%rsi), %eax + andl $32752, %eax + cmpl $32752, %eax + je .LBL_2_16 + +.LBL_2_15: + movsd (%rdi), %xmm0 + mulsd %xmm0, %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_16: + movl 4(%rdi), %edx + movl %edx, %eax + andl $1048575, %eax + jne .LBL_2_18 + cmpl $0, (%rdi) + je .LBL_2_23 + +.LBL_2_18: + testl $1048575, 4(%rsi) + jne .LBL_2_20 + cmpl $0, (%rsi) + je .LBL_2_21 + +.LBL_2_20: + movsd (%rdi), %xmm0 + mulsd (%rsi), %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_21: + testl %eax, %eax + jne .LBL_2_30 + cmpl $0, (%rdi) + je .LBL_2_24 + jmp .LBL_2_29 + +.LBL_2_23: + jne .LBL_2_29 + +.LBL_2_24: + movl 4(%rsi), %eax + testl $1048575, %eax + jne .LBL_2_26 + cmpl $0, (%rsi) + je .LBL_2_15 + +.LBL_2_26: + testl $524288, %eax + jne .LBL_2_15 + movsd 4112+_vmldHypotHATab(%rip), %xmm0 + mulsd (%rsi), %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_29: + je .LBL_2_13 + +.LBL_2_30: + testl $524288, %edx + jne .LBL_2_13 + movsd 4112+_vmldHypotHATab(%rip), %xmm0 + mulsd (%rdi), %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + + cfi_endproc + + .type __svml_dhypot_cout_rare_internal,@function + .size __svml_dhypot_cout_rare_internal,.-__svml_dhypot_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dhypot_data_internal: + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 3218046976 + .long 0 + .long 3218046976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070694400 + .long 0 + .long 1070694400 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3218341888 + .long 0 + .long 3218341888 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1071120384 + .long 0 + .long 1071120384 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3219128320 + .long 0 + .long 3219128320 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1082126336 + .long 0 + .long 1082126336 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1078951936 + .long 0 + .long 1078951936 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dhypot_data_internal,@object + .size __svml_dhypot_data_internal,896 + .align 32 + +_vmldHypotHATab: + .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 0 + .long 0 + .long 1071644672 + .long 0 + .long 1072693248 + .long 0 + .long 1073741824 + .long 33554432 + .long 1101004800 + .type _vmldHypotHATab,@object + .size _vmldHypotHATab,4136 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core-sse.S new file mode 100644 index 0000000000..5e7c75c44c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized hypot. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4vv_hypot _ZGVdN4vv_hypot_sse_wrapper +#include "../svml_d_hypot4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core.c new file mode 100644 index 0000000000..06f34d35e1 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized hypot, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4vv_hypot +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4vv_hypot, __GI__ZGVdN4vv_hypot, + __redirect__ZGVdN4vv_hypot) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core_avx2.S new file mode 100644 index 0000000000..c612159b8b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core_avx2.S @@ -0,0 +1,2162 @@ +/* Function hypot vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * HIGH LEVEL OVERVIEW + * + * Calculate z = (x*x+y*y) + * Calculate reciplicle sqrt (z) + * Calculate error = z*(rsqrt(z)*rsqrt(z)) - 1 + * Calculate fixing part p with polynom + * Fix answer with sqrt(z) = z * rsqrt(z) + error * p * z + * + * ALGORITHM DETAILS + * + * Multiprecision branch for _HA_ only + * Remove sigm from both arguments + * Find maximum (_x) and minimum (_y) (by abs value) between arguments + * Split _x int _a and _b for multiprecision + * If _x >> _y we will we will not split _y for multiprecision + * all _y will be put into lower part (_d) and higher part (_c = 0) + * Fixing _hilo_mask for the case _x >> _y + * Split _y into _c and _d for multiprecision with fixed mask + * + * compute Hi and Lo parts of _z = _x*_x + _y*_y + * + * _zHi = _a*_a + _c*_c + * _zLo = (_x + _a)*_b + _d*_y + _d*_c + * _z = _zHi + _zLo + * + * No multiprecision branch for _LA_ and _EP_ + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + * + * Check _z exponent to be withing borders [3BC ; 441] else goto Callout + * + * _s ~ 1.0/sqrt(_z) + * _s2 ~ 1.0/(sqrt(_z)*sqrt(_z)) ~ 1.0/_z = (1.0/_z + O) + * _e[rror] = (1.0/_z + O) * _z - 1.0 + * calculate fixing part _p + * _p = (((_POLY_C5*_e + _POLY_C4)*_e +_POLY_C3)*_e +_POLY_C2)*_e + _POLY_C1 + * some parts of polynom are skipped for lower flav + * + * result = _z * (1.0/sqrt(_z) + O) + _p * _e[rror] * _z + * + * + */ + +#include + + .text +ENTRY(_ZGVdN4vv_hypot_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + vmovapd %ymm1, %ymm2 + vmovapd %ymm0, %ymm1 + +/* + * Defines + * Implementation + * Multiprecision branch for _HA_ only + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + */ + vmulpd %ymm1, %ymm1, %ymm0 + vmovups 576+__svml_dhypot_data_internal(%rip), %xmm4 + vmovups %ymm8, 32(%rsp) + vmovups %ymm13, 288(%rsp) + vmovups %ymm9, 96(%rsp) + vfmadd231pd %ymm2, %ymm2, %ymm0 + vmovups %ymm10, 160(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + +/* + * calculate fixing part _p + * _p = (((_POLY_C5*_e + _POLY_C4)*_e +_POLY_C3)*_e +_POLY_C2)*_e + _POLY_C1 + * some parts of polynom are skipped for lower flav + */ + vmovupd 256+__svml_dhypot_data_internal(%rip), %ymm10 + vmovups %ymm11, 224(%rsp) + vmovups %ymm12, 256(%rsp) + vmovups %ymm14, 320(%rsp) + vmovups %ymm15, 352(%rsp) + +/* Check _z exponent to be withing borders [3BC ; 441] else goto Callout */ + vextractf128 $1, %ymm0, %xmm3 + vshufps $221, %xmm3, %xmm0, %xmm5 + vpcmpgtd 640+__svml_dhypot_data_internal(%rip), %xmm5, %xmm7 + vpcmpgtd %xmm5, %xmm4, %xmm6 + vpor %xmm7, %xmm6, %xmm4 + +/* + * _s ~ 1.0/sqrt(_z) + * _s2 ~ 1.0/(sqrt(_z)*sqrt(_z)) ~ 1.0/_z + */ + vcvtpd2ps %ymm0, %xmm7 + vpshufd $80, %xmm4, %xmm3 + vpshufd $250, %xmm4, %xmm5 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + vrsqrtps %xmm7, %xmm8 + vcvtps2pd %xmm8, %ymm13 + vmulpd %ymm13, %ymm13, %ymm9 + +/* _e[rror] ~ (1.0/_z + O) * _z - 1.0 */ + vfmsub213pd 128+__svml_dhypot_data_internal(%rip), %ymm0, %ymm9 + vfmadd213pd 320+__svml_dhypot_data_internal(%rip), %ymm9, %ymm10 + vfmadd213pd 384+__svml_dhypot_data_internal(%rip), %ymm9, %ymm10 + vfmadd213pd 448+__svml_dhypot_data_internal(%rip), %ymm9, %ymm10 + +/* result = _z * (1.0/sqrt(_z) + O) + _p * _e[rror] * _z */ + vmulpd %ymm10, %ymm9, %ymm11 + vmulpd %ymm11, %ymm13, %ymm12 + vmulpd %ymm12, %ymm0, %ymm14 + vfmadd213pd %ymm14, %ymm13, %ymm0 + vinsertf128 $1, %xmm5, %ymm3, %ymm6 + vmovmskpd %ymm6, %edx + +/* The end of implementation */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 224(%rsp), %ymm11 + cfi_restore(94) + vmovups 256(%rsp), %ymm12 + cfi_restore(95) + vmovups 288(%rsp), %ymm13 + cfi_restore(96) + vmovups 320(%rsp), %ymm14 + cfi_restore(97) + vmovups 352(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm1, 64(%rsp) + vmovupd %ymm2, 128(%rsp) + vmovupd %ymm0, 192(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 192(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + lea 192(%rsp,%r12,8), %rdx + call __svml_dhypot_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4vv_hypot_avx2) + + .align 16,0x90 + +__svml_dhypot_cout_rare_internal: + + cfi_startproc + + movq %rdx, %r8 + movzwl 6(%rdi), %eax + andl $32752, %eax + cmpl $32752, %eax + je .LBL_2_14 + movzwl 6(%rsi), %eax + andl $32752, %eax + cmpl $32752, %eax + je .LBL_2_13 + movsd (%rdi), %xmm2 + movsd 4096+_vmldHypotHATab(%rip), %xmm0 + movb 7(%rdi), %dl + movb 7(%rsi), %al + movsd (%rsi), %xmm1 + ucomisd %xmm0, %xmm2 + jp .LBL_2_4 + je .LBL_2_11 + +.LBL_2_4: + movsd %xmm2, -16(%rsp) + andb $127, %dl + movsd %xmm1, -48(%rsp) + andb $127, %al + movb %dl, -9(%rsp) + movb %al, -41(%rsp) + movsd -16(%rsp), %xmm8 + movsd -48(%rsp), %xmm1 + comisd %xmm8, %xmm1 + jbe .LBL_2_6 + movaps %xmm8, %xmm2 + movaps %xmm1, %xmm8 + movsd %xmm1, -16(%rsp) + movaps %xmm2, %xmm1 + +.LBL_2_6: + movzwl -10(%rsp), %edx + andl $32752, %edx + shrl $4, %edx + negl %edx + movzwl 4102+_vmldHypotHATab(%rip), %edi + andl $-32753, %edi + movsd %xmm0, -56(%rsp) + movsd 4128+_vmldHypotHATab(%rip), %xmm3 + lea 1025(%rdx), %esi + negl %esi + addl $1000, %esi + shrl $31, %esi + imull $-23, %esi, %eax + lea 1025(%rax,%rdx), %esi + lea 1023(%rsi), %ecx + andl $2047, %ecx + shll $4, %ecx + orl %ecx, %edi + movw %di, -50(%rsp) + movsd -56(%rsp), %xmm2 + mulsd %xmm2, %xmm8 + mulsd %xmm2, %xmm1 + mulsd %xmm8, %xmm3 + movsd %xmm3, -72(%rsp) + movsd -72(%rsp), %xmm4 + movsd %xmm8, -16(%rsp) + subsd %xmm8, %xmm4 + movsd %xmm4, -64(%rsp) + movsd -72(%rsp), %xmm6 + movsd -64(%rsp), %xmm5 + movsd %xmm1, -48(%rsp) + subsd %xmm5, %xmm6 + movsd %xmm6, -72(%rsp) + movsd -72(%rsp), %xmm7 + movzwl -10(%rsp), %r10d + subsd %xmm7, %xmm8 + movzwl -42(%rsp), %r9d + andl $32752, %r10d + andl $32752, %r9d + shrl $4, %r10d + shrl $4, %r9d + movsd %xmm8, -64(%rsp) + subl %r9d, %r10d + movsd -72(%rsp), %xmm8 + movsd -64(%rsp), %xmm4 + cmpl $6, %r10d + jle .LBL_2_8 + movaps %xmm1, %xmm2 + jmp .LBL_2_9 + +.LBL_2_8: + movsd -48(%rsp), %xmm1 + movsd 4128+_vmldHypotHATab(%rip), %xmm0 + movaps %xmm1, %xmm7 + mulsd %xmm1, %xmm0 + movsd %xmm0, -72(%rsp) + movsd -72(%rsp), %xmm2 + subsd -48(%rsp), %xmm2 + movsd %xmm2, -64(%rsp) + movsd -72(%rsp), %xmm5 + movsd -64(%rsp), %xmm3 + subsd %xmm3, %xmm5 + movsd %xmm5, -72(%rsp) + movsd -72(%rsp), %xmm6 + subsd %xmm6, %xmm7 + movsd %xmm7, -64(%rsp) + movsd -72(%rsp), %xmm0 + movsd -64(%rsp), %xmm2 + +.LBL_2_9: + movsd -16(%rsp), %xmm6 + movaps %xmm8, %xmm3 + mulsd %xmm2, %xmm1 + addsd %xmm8, %xmm6 + mulsd %xmm8, %xmm3 + mulsd %xmm6, %xmm4 + movaps %xmm0, %xmm5 + negl %esi + mulsd %xmm0, %xmm5 + addsd %xmm1, %xmm4 + mulsd %xmm2, %xmm0 + addsd %xmm5, %xmm3 + addsd %xmm0, %xmm4 + movaps %xmm3, %xmm7 + addl $1023, %esi + movq 4112+_vmldHypotHATab(%rip), %r11 + movq %r11, %r9 + lea _vmldHypotHATab(%rip), %rdx + addsd %xmm4, %xmm7 + movsd %xmm7, -56(%rsp) + andl $2047, %esi + movzwl -50(%rsp), %ecx + andl $32752, %ecx + shrl $4, %ecx + addl $-1023, %ecx + movl %ecx, %eax + andl $1, %eax + subl %eax, %ecx + shrl $1, %ecx + movsd %xmm7, -48(%rsp) + movzwl -42(%rsp), %edi + andl $-32753, %edi + shrq $48, %r9 + lea 1023(%rcx), %r10d + addl %ecx, %ecx + addl $16368, %edi + negl %ecx + andl $2047, %r10d + addl $1023, %ecx + andl $2047, %ecx + andl $-32753, %r9d + movw %di, -42(%rsp) + shll $4, %r10d + shll $4, %ecx + orl %r9d, %r10d + shll $4, %esi + orl %r9d, %ecx + movsd -48(%rsp), %xmm2 + orl %esi, %r9d + movl -44(%rsp), %esi + mulsd 4112(%rdx,%rax,8), %xmm2 + andl $1048575, %esi + shrl $12, %esi + shll $8, %eax + addl %eax, %esi + movsd (%rdx,%rsi,8), %xmm8 + movsd 4104+_vmldHypotHATab(%rip), %xmm1 + mulsd %xmm8, %xmm2 + mulsd %xmm8, %xmm1 + movaps %xmm2, %xmm9 + mulsd %xmm1, %xmm9 + movsd 4104+_vmldHypotHATab(%rip), %xmm11 + movsd 4104+_vmldHypotHATab(%rip), %xmm14 + subsd %xmm9, %xmm11 + movaps %xmm11, %xmm10 + mulsd %xmm2, %xmm11 + mulsd %xmm1, %xmm10 + addsd %xmm11, %xmm2 + addsd %xmm10, %xmm1 + movaps %xmm2, %xmm12 + movaps %xmm1, %xmm13 + mulsd %xmm1, %xmm12 + movsd 4104+_vmldHypotHATab(%rip), %xmm0 + subsd %xmm12, %xmm14 + mulsd %xmm14, %xmm13 + mulsd %xmm2, %xmm14 + addsd %xmm13, %xmm1 + addsd %xmm14, %xmm2 + movaps %xmm2, %xmm15 + movaps %xmm2, %xmm5 + mulsd %xmm1, %xmm15 + movsd 4128+_vmldHypotHATab(%rip), %xmm6 + subsd %xmm15, %xmm0 + mulsd %xmm0, %xmm5 + mulsd %xmm1, %xmm0 + addsd %xmm5, %xmm2 + addsd %xmm0, %xmm1 + mulsd %xmm2, %xmm6 + movsd %xmm6, -72(%rsp) + movaps %xmm2, %xmm11 + movsd -72(%rsp), %xmm7 + movq %r11, -32(%rsp) + subsd %xmm2, %xmm7 + movsd %xmm7, -64(%rsp) + movsd -72(%rsp), %xmm9 + movsd -64(%rsp), %xmm8 + movw %cx, -26(%rsp) + subsd %xmm8, %xmm9 + movsd %xmm9, -72(%rsp) + movsd -72(%rsp), %xmm10 + movsd -32(%rsp), %xmm15 + subsd %xmm10, %xmm11 + mulsd %xmm15, %xmm3 + mulsd %xmm15, %xmm4 + movsd %xmm11, -64(%rsp) + movsd -72(%rsp), %xmm13 + movsd 4120+_vmldHypotHATab(%rip), %xmm14 + movaps %xmm13, %xmm12 + mulsd %xmm13, %xmm12 + mulsd %xmm13, %xmm14 + subsd %xmm12, %xmm3 + movsd -64(%rsp), %xmm5 + mulsd %xmm5, %xmm14 + mulsd %xmm5, %xmm5 + subsd %xmm14, %xmm3 + movq %r11, -40(%rsp) + subsd %xmm5, %xmm3 + movw %r10w, -34(%rsp) + addsd %xmm4, %xmm3 + mulsd %xmm1, %xmm3 + movq %r11, -24(%rsp) + addsd %xmm3, %xmm2 + mulsd -40(%rsp), %xmm2 + movw %r9w, -18(%rsp) + mulsd -24(%rsp), %xmm2 + movsd %xmm2, (%r8) + +.LBL_2_10: + xorl %eax, %eax + ret + +.LBL_2_11: + ucomisd %xmm0, %xmm1 + jne .LBL_2_4 + jp .LBL_2_4 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_13: + movsd (%rsi), %xmm0 + mulsd %xmm0, %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_14: + movzwl 6(%rsi), %eax + andl $32752, %eax + cmpl $32752, %eax + je .LBL_2_16 + +.LBL_2_15: + movsd (%rdi), %xmm0 + mulsd %xmm0, %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_16: + movl 4(%rdi), %edx + movl %edx, %eax + andl $1048575, %eax + jne .LBL_2_18 + cmpl $0, (%rdi) + je .LBL_2_23 + +.LBL_2_18: + testl $1048575, 4(%rsi) + jne .LBL_2_20 + cmpl $0, (%rsi) + je .LBL_2_21 + +.LBL_2_20: + movsd (%rdi), %xmm0 + mulsd (%rsi), %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_21: + testl %eax, %eax + jne .LBL_2_30 + cmpl $0, (%rdi) + je .LBL_2_24 + jmp .LBL_2_29 + +.LBL_2_23: + jne .LBL_2_29 + +.LBL_2_24: + movl 4(%rsi), %eax + testl $1048575, %eax + jne .LBL_2_26 + cmpl $0, (%rsi) + je .LBL_2_15 + +.LBL_2_26: + testl $524288, %eax + jne .LBL_2_15 + movsd 4112+_vmldHypotHATab(%rip), %xmm0 + mulsd (%rsi), %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_29: + je .LBL_2_13 + +.LBL_2_30: + testl $524288, %edx + jne .LBL_2_13 + movsd 4112+_vmldHypotHATab(%rip), %xmm0 + mulsd (%rdi), %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + + cfi_endproc + + .type __svml_dhypot_cout_rare_internal,@function + .size __svml_dhypot_cout_rare_internal,.-__svml_dhypot_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dhypot_data_internal: + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 3218046976 + .long 0 + .long 3218046976 + .long 0 + .long 3218046976 + .long 0 + .long 3218046976 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3218341888 + .long 0 + .long 3218341888 + .long 0 + .long 3218341888 + .long 0 + .long 3218341888 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1071120384 + .long 0 + .long 1071120384 + .long 0 + .long 1071120384 + .long 0 + .long 1071120384 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3219128320 + .long 0 + .long 3219128320 + .long 0 + .long 3219128320 + .long 0 + .long 3219128320 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1082126336 + .long 0 + .long 1082126336 + .long 0 + .long 1082126336 + .long 0 + .long 1082126336 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1078951936 + .long 0 + .long 1078951936 + .long 0 + .long 1078951936 + .long 0 + .long 1078951936 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dhypot_data_internal,@object + .size __svml_dhypot_data_internal,896 + .align 32 + +_vmldHypotHATab: + .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 0 + .long 0 + .long 1071644672 + .long 0 + .long 1072693248 + .long 0 + .long 1073741824 + .long 33554432 + .long 1101004800 + .type _vmldHypotHATab,@object + .size _vmldHypotHATab,4136 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core-avx2.S new file mode 100644 index 0000000000..a53e82cf9a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized hypot. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8vv_hypot _ZGVeN8vv_hypot_avx2_wrapper +#include "../svml_d_hypot8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core.c new file mode 100644 index 0000000000..6052c752c9 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized hypot, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8vv_hypot +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8vv_hypot, __GI__ZGVeN8vv_hypot, + __redirect__ZGVeN8vv_hypot) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core_avx512.S new file mode 100644 index 0000000000..e14b8bd210 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core_avx512.S @@ -0,0 +1,1775 @@ +/* Function hypot vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * HIGH LEVEL OVERVIEW + * + * Calculate z = (x*x+y*y) + * Calculate reciplicle sqrt (z) + * Calculate error = z*(rsqrt(z)*rsqrt(z)) - 1 + * Calculate fixing part p with polynom + * Fix answer with sqrt(z) = z * rsqrt(z) + error * p * z + * + * ALGORITHM DETAILS + * + * Multiprecision branch for _HA_ only + * Remove sigm from both arguments + * Find maximum (_x) and minimum (_y) (by abs value) between arguments + * Split _x int _a and _b for multiprecision + * If _x >> _y we will we will not split _y for multiprecision + * all _y will be put into lower part (_d) and higher part (_c = 0) + * Fixing _hilo_mask for the case _x >> _y + * Split _y into _c and _d for multiprecision with fixed mask + * + * compute Hi and Lo parts of _z = _x*_x + _y*_y + * + * _zHi = _a*_a + _c*_c + * _zLo = (_x + _a)*_b + _d*_y + _d*_c + * _z = _zHi + _zLo + * + * No multiprecision branch for _LA_ and _EP_ + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + * + * Check _z exponent to be withing borders [3BC ; 441] else goto Callout + * + * _s ~ 1.0/sqrt(_z) + * _s2 ~ 1.0/(sqrt(_z)*sqrt(_z)) ~ 1.0/_z = (1.0/_z + O) + * _e[rror] = (1.0/_z + O) * _z - 1.0 + * calculate fixing part _p + * _p = (((_POLY_C5*_e + _POLY_C4)*_e +_POLY_C3)*_e +_POLY_C2)*_e + _POLY_C1 + * some parts of polynom are skipped for lower flav + * + * result = _z * (1.0/sqrt(_z) + O) + _p * _e[rror] * _z + * + * + */ + +#include + + .text +ENTRY(_ZGVeN8vv_hypot_skx) + 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 + vgetexppd {sae}, %zmm0, %zmm2 + vgetexppd {sae}, %zmm1, %zmm3 + vmovups 832+__svml_dhypot_data_internal(%rip), %zmm9 + vmaxpd {sae}, %zmm3, %zmm2, %zmm4 + vmulpd {rn-sae}, %zmm0, %zmm0, %zmm2 + vandpd 64+__svml_dhypot_data_internal(%rip), %zmm4, %zmm5 + vfmadd231pd {rn-sae}, %zmm1, %zmm1, %zmm2 + +/* Select exponent bound so that no scaling is needed */ + vpcmpq $5, 704+__svml_dhypot_data_internal(%rip), %zmm5, %k0 + vrsqrt14pd %zmm2, %zmm6 + kmovw %k0, %edx + vmulpd {rn-sae}, %zmm6, %zmm2, %zmm7 + vmulpd {rn-sae}, %zmm6, %zmm9, %zmm8 + vfnmadd231pd {rn-sae}, %zmm7, %zmm8, %zmm9 + vfmadd231pd {rn-sae}, %zmm9, %zmm8, %zmm8 + vfmadd213pd {rn-sae}, %zmm7, %zmm7, %zmm9 + vfnmadd231pd {rn-sae}, %zmm9, %zmm9, %zmm2 + vfmadd213pd {rn-sae}, %zmm9, %zmm8, %zmm2 + +/* The end of implementation */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovaps %zmm2, %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) + vmovups %zmm2, 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), %zmm2 + 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_dhypot_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN8vv_hypot_skx) + + .align 16,0x90 + +__svml_dhypot_cout_rare_internal: + + cfi_startproc + + movq %rdx, %r8 + movzwl 6(%rdi), %eax + andl $32752, %eax + cmpl $32752, %eax + je .LBL_2_14 + movzwl 6(%rsi), %eax + andl $32752, %eax + cmpl $32752, %eax + je .LBL_2_13 + movsd (%rdi), %xmm2 + movsd 4096+_vmldHypotHATab(%rip), %xmm0 + movb 7(%rdi), %dl + movb 7(%rsi), %al + movsd (%rsi), %xmm1 + ucomisd %xmm0, %xmm2 + jp .LBL_2_4 + je .LBL_2_11 + +.LBL_2_4: + movsd %xmm2, -16(%rsp) + andb $127, %dl + movsd %xmm1, -48(%rsp) + andb $127, %al + movb %dl, -9(%rsp) + movb %al, -41(%rsp) + movsd -16(%rsp), %xmm8 + movsd -48(%rsp), %xmm1 + comisd %xmm8, %xmm1 + jbe .LBL_2_6 + movaps %xmm8, %xmm2 + movaps %xmm1, %xmm8 + movsd %xmm1, -16(%rsp) + movaps %xmm2, %xmm1 + +.LBL_2_6: + movzwl -10(%rsp), %edx + andl $32752, %edx + shrl $4, %edx + negl %edx + movzwl 4102+_vmldHypotHATab(%rip), %edi + andl $-32753, %edi + movsd %xmm0, -56(%rsp) + movsd 4128+_vmldHypotHATab(%rip), %xmm3 + lea 1025(%rdx), %esi + negl %esi + addl $1000, %esi + shrl $31, %esi + imull $-23, %esi, %eax + lea 1025(%rax,%rdx), %esi + lea 1023(%rsi), %ecx + andl $2047, %ecx + shll $4, %ecx + orl %ecx, %edi + movw %di, -50(%rsp) + movsd -56(%rsp), %xmm2 + mulsd %xmm2, %xmm8 + mulsd %xmm2, %xmm1 + mulsd %xmm8, %xmm3 + movsd %xmm3, -72(%rsp) + movsd -72(%rsp), %xmm4 + movsd %xmm8, -16(%rsp) + subsd %xmm8, %xmm4 + movsd %xmm4, -64(%rsp) + movsd -72(%rsp), %xmm6 + movsd -64(%rsp), %xmm5 + movsd %xmm1, -48(%rsp) + subsd %xmm5, %xmm6 + movsd %xmm6, -72(%rsp) + movsd -72(%rsp), %xmm7 + movzwl -10(%rsp), %r10d + subsd %xmm7, %xmm8 + movzwl -42(%rsp), %r9d + andl $32752, %r10d + andl $32752, %r9d + shrl $4, %r10d + shrl $4, %r9d + movsd %xmm8, -64(%rsp) + subl %r9d, %r10d + movsd -72(%rsp), %xmm8 + movsd -64(%rsp), %xmm4 + cmpl $6, %r10d + jle .LBL_2_8 + movaps %xmm1, %xmm2 + jmp .LBL_2_9 + +.LBL_2_8: + movsd -48(%rsp), %xmm1 + movsd 4128+_vmldHypotHATab(%rip), %xmm0 + movaps %xmm1, %xmm7 + mulsd %xmm1, %xmm0 + movsd %xmm0, -72(%rsp) + movsd -72(%rsp), %xmm2 + subsd -48(%rsp), %xmm2 + movsd %xmm2, -64(%rsp) + movsd -72(%rsp), %xmm5 + movsd -64(%rsp), %xmm3 + subsd %xmm3, %xmm5 + movsd %xmm5, -72(%rsp) + movsd -72(%rsp), %xmm6 + subsd %xmm6, %xmm7 + movsd %xmm7, -64(%rsp) + movsd -72(%rsp), %xmm0 + movsd -64(%rsp), %xmm2 + +.LBL_2_9: + movsd -16(%rsp), %xmm6 + movaps %xmm8, %xmm3 + mulsd %xmm2, %xmm1 + addsd %xmm8, %xmm6 + mulsd %xmm8, %xmm3 + mulsd %xmm6, %xmm4 + movaps %xmm0, %xmm5 + negl %esi + mulsd %xmm0, %xmm5 + addsd %xmm1, %xmm4 + mulsd %xmm2, %xmm0 + addsd %xmm5, %xmm3 + addsd %xmm0, %xmm4 + movaps %xmm3, %xmm7 + addl $1023, %esi + movq 4112+_vmldHypotHATab(%rip), %r11 + movq %r11, %r9 + lea _vmldHypotHATab(%rip), %rdx + addsd %xmm4, %xmm7 + movsd %xmm7, -56(%rsp) + andl $2047, %esi + movzwl -50(%rsp), %ecx + andl $32752, %ecx + shrl $4, %ecx + addl $-1023, %ecx + movl %ecx, %eax + andl $1, %eax + subl %eax, %ecx + shrl $1, %ecx + movsd %xmm7, -48(%rsp) + movzwl -42(%rsp), %edi + andl $-32753, %edi + shrq $48, %r9 + lea 1023(%rcx), %r10d + addl %ecx, %ecx + addl $16368, %edi + negl %ecx + andl $2047, %r10d + addl $1023, %ecx + andl $2047, %ecx + andl $-32753, %r9d + movw %di, -42(%rsp) + shll $4, %r10d + shll $4, %ecx + orl %r9d, %r10d + shll $4, %esi + orl %r9d, %ecx + movsd -48(%rsp), %xmm2 + orl %esi, %r9d + movl -44(%rsp), %esi + mulsd 4112(%rdx,%rax,8), %xmm2 + andl $1048575, %esi + shrl $12, %esi + shll $8, %eax + addl %eax, %esi + movsd (%rdx,%rsi,8), %xmm8 + movsd 4104+_vmldHypotHATab(%rip), %xmm1 + mulsd %xmm8, %xmm2 + mulsd %xmm8, %xmm1 + movaps %xmm2, %xmm9 + mulsd %xmm1, %xmm9 + movsd 4104+_vmldHypotHATab(%rip), %xmm11 + movsd 4104+_vmldHypotHATab(%rip), %xmm14 + subsd %xmm9, %xmm11 + movaps %xmm11, %xmm10 + mulsd %xmm2, %xmm11 + mulsd %xmm1, %xmm10 + addsd %xmm11, %xmm2 + addsd %xmm10, %xmm1 + movaps %xmm2, %xmm12 + movaps %xmm1, %xmm13 + mulsd %xmm1, %xmm12 + movsd 4104+_vmldHypotHATab(%rip), %xmm0 + subsd %xmm12, %xmm14 + mulsd %xmm14, %xmm13 + mulsd %xmm2, %xmm14 + addsd %xmm13, %xmm1 + addsd %xmm14, %xmm2 + movaps %xmm2, %xmm15 + movaps %xmm2, %xmm5 + mulsd %xmm1, %xmm15 + movsd 4128+_vmldHypotHATab(%rip), %xmm6 + subsd %xmm15, %xmm0 + mulsd %xmm0, %xmm5 + mulsd %xmm1, %xmm0 + addsd %xmm5, %xmm2 + addsd %xmm0, %xmm1 + mulsd %xmm2, %xmm6 + movsd %xmm6, -72(%rsp) + movaps %xmm2, %xmm11 + movsd -72(%rsp), %xmm7 + movq %r11, -32(%rsp) + subsd %xmm2, %xmm7 + movsd %xmm7, -64(%rsp) + movsd -72(%rsp), %xmm9 + movsd -64(%rsp), %xmm8 + movw %cx, -26(%rsp) + subsd %xmm8, %xmm9 + movsd %xmm9, -72(%rsp) + movsd -72(%rsp), %xmm10 + movsd -32(%rsp), %xmm15 + subsd %xmm10, %xmm11 + mulsd %xmm15, %xmm3 + mulsd %xmm15, %xmm4 + movsd %xmm11, -64(%rsp) + movsd -72(%rsp), %xmm13 + movsd 4120+_vmldHypotHATab(%rip), %xmm14 + movaps %xmm13, %xmm12 + mulsd %xmm13, %xmm12 + mulsd %xmm13, %xmm14 + subsd %xmm12, %xmm3 + movsd -64(%rsp), %xmm5 + mulsd %xmm5, %xmm14 + mulsd %xmm5, %xmm5 + subsd %xmm14, %xmm3 + movq %r11, -40(%rsp) + subsd %xmm5, %xmm3 + movw %r10w, -34(%rsp) + addsd %xmm4, %xmm3 + mulsd %xmm1, %xmm3 + movq %r11, -24(%rsp) + addsd %xmm3, %xmm2 + mulsd -40(%rsp), %xmm2 + movw %r9w, -18(%rsp) + mulsd -24(%rsp), %xmm2 + movsd %xmm2, (%r8) + +.LBL_2_10: + xorl %eax, %eax + ret + +.LBL_2_11: + ucomisd %xmm0, %xmm1 + jne .LBL_2_4 + jp .LBL_2_4 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_13: + movsd (%rsi), %xmm0 + mulsd %xmm0, %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_14: + movzwl 6(%rsi), %eax + andl $32752, %eax + cmpl $32752, %eax + je .LBL_2_16 + +.LBL_2_15: + movsd (%rdi), %xmm0 + mulsd %xmm0, %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_16: + movl 4(%rdi), %edx + movl %edx, %eax + andl $1048575, %eax + jne .LBL_2_18 + cmpl $0, (%rdi) + je .LBL_2_23 + +.LBL_2_18: + testl $1048575, 4(%rsi) + jne .LBL_2_20 + cmpl $0, (%rsi) + je .LBL_2_21 + +.LBL_2_20: + movsd (%rdi), %xmm0 + mulsd (%rsi), %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_21: + testl %eax, %eax + jne .LBL_2_30 + cmpl $0, (%rdi) + je .LBL_2_24 + jmp .LBL_2_29 + +.LBL_2_23: + jne .LBL_2_29 + +.LBL_2_24: + movl 4(%rsi), %eax + testl $1048575, %eax + jne .LBL_2_26 + cmpl $0, (%rsi) + je .LBL_2_15 + +.LBL_2_26: + testl $524288, %eax + jne .LBL_2_15 + movsd 4112+_vmldHypotHATab(%rip), %xmm0 + mulsd (%rsi), %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_29: + je .LBL_2_13 + +.LBL_2_30: + testl $524288, %edx + jne .LBL_2_13 + movsd 4112+_vmldHypotHATab(%rip), %xmm0 + mulsd (%rdi), %xmm0 + movsd %xmm0, (%r8) + jmp .LBL_2_10 + + cfi_endproc + + .type __svml_dhypot_cout_rare_internal,@function + .size __svml_dhypot_cout_rare_internal,.-__svml_dhypot_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dhypot_data_internal: + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .long 0 + .long 4294950912 + .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 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 3218046976 + .long 0 + .long 3218046976 + .long 0 + .long 3218046976 + .long 0 + .long 3218046976 + .long 0 + .long 3218046976 + .long 0 + .long 3218046976 + .long 0 + .long 3218046976 + .long 0 + .long 3218046976 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 1070694400 + .long 0 + .long 3218341888 + .long 0 + .long 3218341888 + .long 0 + .long 3218341888 + .long 0 + .long 3218341888 + .long 0 + .long 3218341888 + .long 0 + .long 3218341888 + .long 0 + .long 3218341888 + .long 0 + .long 3218341888 + .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 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 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 6291456 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1002438656 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 1141899264 + .long 0 + .long 1082126336 + .long 0 + .long 1082126336 + .long 0 + .long 1082126336 + .long 0 + .long 1082126336 + .long 0 + .long 1082126336 + .long 0 + .long 1082126336 + .long 0 + .long 1082126336 + .long 0 + .long 1082126336 + .long 0 + .long 1078951936 + .long 0 + .long 1078951936 + .long 0 + .long 1078951936 + .long 0 + .long 1078951936 + .long 0 + .long 1078951936 + .long 0 + .long 1078951936 + .long 0 + .long 1078951936 + .long 0 + .long 1078951936 + .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 + .type __svml_dhypot_data_internal,@object + .size __svml_dhypot_data_internal,896 + .align 32 + +_vmldHypotHATab: + .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 0 + .long 0 + .long 1071644672 + .long 0 + .long 1072693248 + .long 0 + .long 1073741824 + .long 33554432 + .long 1101004800 + .type _vmldHypotHATab,@object + .size _vmldHypotHATab,4136 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core-avx2.S new file mode 100644 index 0000000000..a6ba40df4d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized hypotf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16vv_hypotf _ZGVeN16vv_hypotf_avx2_wrapper +#include "../svml_s_hypotf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core.c new file mode 100644 index 0000000000..0c9eb6a364 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized hypotf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16vv_hypotf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16vv_hypotf, __GI__ZGVeN16vv_hypotf, + __redirect__ZGVeN16vv_hypotf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core_avx512.S new file mode 100644 index 0000000000..c603fc7219 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core_avx512.S @@ -0,0 +1,1684 @@ +/* Function hypotf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * HIGH LEVEL OVERVIEW + * + * Calculate z = (x*x+y*y) + * Calculate reciplicle sqrt (z) + * Calculate make two NR iterations + * + * ALGORITHM DETAILS + * + * Multiprecision branch for _HA_ only + * Remove sigm from both arguments + * Find maximum (_x) and minimum (_y) (by abs value) between arguments + * Split _x int _a and _b for multiprecision + * If _x >> _y we will we will not split _y for multiprecision + * all _y will be put into lower part (_d) and higher part (_c = 0) + * Fixing _hilo_mask for the case _x >> _y + * Split _y into _c and _d for multiprecision with fixed mask + * + * compute Hi and Lo parts of _z = _x*_x + _y*_y + * + * _zHi = _a*_a + _c*_c + * _zLo = (_x + _a)*_b + _d*_y + _d*_c + * _z = _zHi + _zLo + * + * No multiprecision branch for _LA_ and _EP_ + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + * + * Check _z exponent to be withing borders [1E3 ; 60A] else goto Callout + * + * Compute resciplicle sqrt s0 ~ 1.0/sqrt(_z), + * that multiplied by _z, is final result for _EP_ version. + * + * First iteration (or zero iteration): + * s = z * s0 + * h = .5 * s0 + * d = s * h - .5 + * + * Second iteration: + * h = d * h + h + * s = s * d + s + * d = s * s - z (in multiprecision for _HA_) + * + * result = s - h * d + * + * EP version of the function can be implemented as y[i]=sqrt(a[i]^2+b[i]^2) + * with all intermediate operations done in target precision for i=1,..,n. + * It can return result y[i]=0 in case a[i]^2 and b[i]^2 underflow in target + * precision (for some i). It can return result y[i]=NAN in case + * a[i]^2+b[i]^2 overflow in target precision, for some i. It can return + * result y[i]=NAN in case a[i] or b[i] is infinite, for some i. + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16vv_hypotf_skx) + 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 + vgetexpps {sae}, %zmm0, %zmm2 + vgetexpps {sae}, %zmm1, %zmm3 + vmovups 192+__svml_shypot_data_internal(%rip), %zmm6 + vmaxps {sae}, %zmm3, %zmm2, %zmm4 + vmulps {rn-sae}, %zmm0, %zmm0, %zmm2 + vandps 128+__svml_shypot_data_internal(%rip), %zmm4, %zmm5 + vfmadd231ps {rn-sae}, %zmm1, %zmm1, %zmm2 + vpcmpd $5, 512+__svml_shypot_data_internal(%rip), %zmm5, %k0 + vrsqrt14ps %zmm2, %zmm7 + kmovw %k0, %edx + vmulps {rn-sae}, %zmm7, %zmm2, %zmm9 + vmulps {rn-sae}, %zmm7, %zmm6, %zmm8 + vfnmadd231ps {rn-sae}, %zmm9, %zmm9, %zmm2 + vfmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm2 + +/* + * VSCALEF( S, _VRES1, _VRES1, sExp ); + * The end of implementation + */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovaps %zmm2, %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) + vmovups %zmm2, 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), %zmm2 + 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_shypot_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN16vv_hypotf_skx) + + .align 16,0x90 + +__svml_shypot_cout_rare_internal: + + cfi_startproc + + movq %rdx, %r8 + movzwl 2(%rdi), %eax + andl $32640, %eax + cmpl $32640, %eax + je .LBL_2_14 + movzwl 2(%rsi), %eax + andl $32640, %eax + cmpl $32640, %eax + je .LBL_2_13 + pxor %xmm2, %xmm2 + pxor %xmm1, %xmm1 + cvtss2sd (%rdi), %xmm2 + cvtss2sd (%rsi), %xmm1 + movsd 4096+_vmlsHypotHATab(%rip), %xmm0 + movzwl 4102+_vmlsHypotHATab(%rip), %edi + ucomisd %xmm0, %xmm2 + jp .LBL_2_4 + je .LBL_2_11 + +.LBL_2_4: + movsd %xmm2, -16(%rsp) + movsd %xmm1, -48(%rsp) + andb $127, -9(%rsp) + andb $127, -41(%rsp) + movsd -16(%rsp), %xmm8 + movsd -48(%rsp), %xmm1 + comisd %xmm8, %xmm1 + jbe .LBL_2_6 + movaps %xmm8, %xmm2 + movaps %xmm1, %xmm8 + movsd %xmm1, -16(%rsp) + movaps %xmm2, %xmm1 + +.LBL_2_6: + movzwl -10(%rsp), %edx + andl $-32753, %edi + andl $32752, %edx + shrl $4, %edx + negl %edx + movsd %xmm0, -56(%rsp) + movsd 4128+_vmlsHypotHATab(%rip), %xmm3 + lea 1025(%rdx), %esi + negl %esi + addl $1000, %esi + shrl $31, %esi + imull $-23, %esi, %eax + lea 1025(%rax,%rdx), %esi + lea 1023(%rsi), %ecx + andl $2047, %ecx + shll $4, %ecx + orl %ecx, %edi + movw %di, -50(%rsp) + movsd -56(%rsp), %xmm2 + mulsd %xmm2, %xmm8 + mulsd %xmm2, %xmm1 + mulsd %xmm8, %xmm3 + movsd %xmm3, -72(%rsp) + movsd -72(%rsp), %xmm4 + movsd %xmm8, -16(%rsp) + subsd %xmm8, %xmm4 + movsd %xmm4, -64(%rsp) + movsd -72(%rsp), %xmm6 + movsd -64(%rsp), %xmm5 + movsd %xmm1, -48(%rsp) + subsd %xmm5, %xmm6 + movsd %xmm6, -72(%rsp) + movsd -72(%rsp), %xmm7 + movzwl -10(%rsp), %r9d + subsd %xmm7, %xmm8 + movzwl -42(%rsp), %edi + andl $32752, %r9d + andl $32752, %edi + shrl $4, %r9d + shrl $4, %edi + movsd %xmm8, -64(%rsp) + subl %edi, %r9d + movsd -72(%rsp), %xmm7 + movsd -64(%rsp), %xmm8 + cmpl $6, %r9d + jle .LBL_2_8 + movaps %xmm1, %xmm2 + jmp .LBL_2_9 + +.LBL_2_8: + movsd -48(%rsp), %xmm1 + movsd 4128+_vmlsHypotHATab(%rip), %xmm0 + movaps %xmm1, %xmm6 + mulsd %xmm1, %xmm0 + movsd %xmm0, -72(%rsp) + movsd -72(%rsp), %xmm2 + subsd -48(%rsp), %xmm2 + movsd %xmm2, -64(%rsp) + movsd -72(%rsp), %xmm4 + movsd -64(%rsp), %xmm3 + subsd %xmm3, %xmm4 + movsd %xmm4, -72(%rsp) + movsd -72(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -64(%rsp) + movsd -72(%rsp), %xmm0 + movsd -64(%rsp), %xmm2 + +.LBL_2_9: + movsd -16(%rsp), %xmm5 + movaps %xmm0, %xmm4 + mulsd %xmm0, %xmm4 + addsd %xmm1, %xmm0 + addsd %xmm7, %xmm5 + mulsd %xmm2, %xmm0 + mulsd %xmm5, %xmm8 + movaps %xmm7, %xmm3 + negl %esi + mulsd %xmm7, %xmm3 + addsd %xmm8, %xmm0 + movq 4112+_vmlsHypotHATab(%rip), %r11 + movq %r11, %r9 + lea _vmlsHypotHATab(%rip), %rdx + addsd %xmm4, %xmm3 + addl $1023, %esi + addsd %xmm0, %xmm3 + movsd %xmm3, -56(%rsp) + andl $2047, %esi + movzwl -50(%rsp), %ecx + andl $32752, %ecx + shrl $4, %ecx + addl $-1023, %ecx + movl %ecx, %eax + andl $1, %eax + subl %eax, %ecx + shrl $1, %ecx + movsd %xmm3, -48(%rsp) + movzwl -42(%rsp), %edi + andl $-32753, %edi + shrq $48, %r9 + lea 1023(%rcx), %r10d + addl %ecx, %ecx + addl $16368, %edi + negl %ecx + andl $2047, %r10d + addl $1023, %ecx + andl $2047, %ecx + andl $-32753, %r9d + movw %di, -42(%rsp) + shll $4, %r10d + shll $4, %ecx + orl %r9d, %r10d + shll $4, %esi + orl %r9d, %ecx + movsd -48(%rsp), %xmm2 + orl %esi, %r9d + movl -44(%rsp), %esi + mulsd 4112(%rdx,%rax,8), %xmm2 + andl $1048575, %esi + shrl $12, %esi + shll $8, %eax + addl %eax, %esi + movsd (%rdx,%rsi,8), %xmm6 + movsd 4104+_vmlsHypotHATab(%rip), %xmm1 + mulsd %xmm6, %xmm2 + mulsd %xmm6, %xmm1 + movaps %xmm2, %xmm7 + mulsd %xmm1, %xmm7 + movsd 4104+_vmlsHypotHATab(%rip), %xmm9 + movsd 4104+_vmlsHypotHATab(%rip), %xmm12 + subsd %xmm7, %xmm9 + movaps %xmm9, %xmm8 + mulsd %xmm2, %xmm9 + mulsd %xmm1, %xmm8 + addsd %xmm9, %xmm2 + addsd %xmm8, %xmm1 + movaps %xmm2, %xmm10 + movaps %xmm1, %xmm11 + mulsd %xmm1, %xmm10 + movsd 4104+_vmlsHypotHATab(%rip), %xmm0 + subsd %xmm10, %xmm12 + mulsd %xmm12, %xmm11 + mulsd %xmm2, %xmm12 + addsd %xmm11, %xmm1 + addsd %xmm12, %xmm2 + movaps %xmm2, %xmm13 + movaps %xmm2, %xmm14 + mulsd %xmm1, %xmm13 + movsd 4128+_vmlsHypotHATab(%rip), %xmm15 + subsd %xmm13, %xmm0 + mulsd %xmm0, %xmm14 + mulsd %xmm1, %xmm0 + addsd %xmm14, %xmm2 + addsd %xmm0, %xmm1 + mulsd %xmm2, %xmm15 + movsd %xmm15, -72(%rsp) + movaps %xmm2, %xmm8 + movsd -72(%rsp), %xmm4 + movsd 4120+_vmlsHypotHATab(%rip), %xmm10 + subsd %xmm2, %xmm4 + movsd %xmm4, -64(%rsp) + movsd -72(%rsp), %xmm6 + movsd -64(%rsp), %xmm5 + movq %r11, -32(%rsp) + subsd %xmm5, %xmm6 + movsd %xmm6, -72(%rsp) + movsd -72(%rsp), %xmm7 + movw %cx, -26(%rsp) + subsd %xmm7, %xmm8 + movsd %xmm8, -64(%rsp) + movsd -72(%rsp), %xmm11 + movsd -64(%rsp), %xmm12 + movaps %xmm11, %xmm13 + mulsd %xmm12, %xmm10 + mulsd %xmm12, %xmm12 + xorps .FLT_49(%rip), %xmm13 + xorps .FLT_49(%rip), %xmm12 + subsd %xmm10, %xmm13 + mulsd %xmm11, %xmm13 + movsd -32(%rsp), %xmm9 + addsd %xmm12, %xmm13 + mulsd %xmm9, %xmm3 + movq %r11, -40(%rsp) + addsd %xmm13, %xmm3 + mulsd %xmm1, %xmm3 + movw %r10w, -34(%rsp) + addsd %xmm3, %xmm2 + mulsd -40(%rsp), %xmm2 + movq %r11, -24(%rsp) + movw %r9w, -18(%rsp) + mulsd -24(%rsp), %xmm2 + cvtsd2ss %xmm2, %xmm2 + movss %xmm2, (%r8) + +.LBL_2_10: + xorl %eax, %eax + ret + +.LBL_2_11: + ucomisd %xmm0, %xmm1 + jne .LBL_2_4 + jp .LBL_2_4 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_13: + movss (%rsi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_14: + movzwl 2(%rsi), %eax + andl $32640, %eax + cmpl $32640, %eax + je .LBL_2_16 + +.LBL_2_15: + movss (%rdi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_16: + movl (%rdi), %eax + testl $8388607, %eax + je .LBL_2_22 + testl $8388607, (%rsi) + je .LBL_2_19 + movss (%rdi), %xmm0 + mulss (%rsi), %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_19: + testl $4194304, %eax + jne .LBL_2_13 + movsd 4112+_vmlsHypotHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + mulss (%rdi), %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_22: + movl (%rsi), %eax + testl $8388607, %eax + je .LBL_2_15 + testl $4194304, %eax + jne .LBL_2_15 + movsd 4112+_vmlsHypotHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + mulss (%rsi), %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + + cfi_endproc + + .type __svml_shypot_cout_rare_internal,@function + .size __svml_shypot_cout_rare_internal,.-__svml_shypot_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_shypot_data_internal: + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .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 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 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 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .type __svml_shypot_data_internal,@object + .size __svml_shypot_data_internal,576 + .align 32 + +_vmlsHypotHATab: + .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 0 + .long 0 + .long 1071644672 + .long 0 + .long 1072693248 + .long 0 + .long 1073741824 + .long 33554432 + .long 1101004800 + .type _vmlsHypotHATab,@object + .size _vmlsHypotHATab,4136 + .space 472, 0x00 + .align 16 + +.FLT_49: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_49,@object + .size .FLT_49,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core-sse2.S new file mode 100644 index 0000000000..5e9dd22d94 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized hypotf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4vv_hypotf _ZGVbN4vv_hypotf_sse2 +#include "../svml_s_hypotf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core.c new file mode 100644 index 0000000000..91c9f5ca3f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized hypotf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4vv_hypotf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4vv_hypotf, __GI__ZGVbN4vv_hypotf, + __redirect__ZGVbN4vv_hypotf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core_sse4.S new file mode 100644 index 0000000000..4ab49ecc0f --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core_sse4.S @@ -0,0 +1,2062 @@ +/* Function hypotf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * HIGH LEVEL OVERVIEW + * + * Calculate z = (x*x+y*y) + * Calculate reciplicle sqrt (z) + * Calculate make two NR iterations + * + * ALGORITHM DETAILS + * + * Multiprecision branch for _HA_ only + * Remove sigm from both arguments + * Find maximum (_x) and minimum (_y) (by abs value) between arguments + * Split _x int _a and _b for multiprecision + * If _x >> _y we will we will not split _y for multiprecision + * all _y will be put into lower part (_d) and higher part (_c = 0) + * Fixing _hilo_mask for the case _x >> _y + * Split _y into _c and _d for multiprecision with fixed mask + * + * compute Hi and Lo parts of _z = _x*_x + _y*_y + * + * _zHi = _a*_a + _c*_c + * _zLo = (_x + _a)*_b + _d*_y + _d*_c + * _z = _zHi + _zLo + * + * No multiprecision branch for _LA_ and _EP_ + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + * + * Check _z exponent to be withing borders [1E3 ; 60A] else goto Callout + * + * Compute resciplicle sqrt s0 ~ 1.0/sqrt(_z), + * that multiplied by _z, is final result for _EP_ version. + * + * First iteration (or zero iteration): + * s = z * s0 + * h = .5 * s0 + * d = s * h - .5 + * + * Second iteration: + * h = d * h + h + * s = s * d + s + * d = s * s - z (in multiprecision for _HA_) + * + * result = s - h * d + * + * EP version of the function can be implemented as y[i]=sqrt(a[i]^2+b[i]^2) + * with all intermediate operations done in target precision for i=1,..,n. + * It can return result y[i]=0 in case a[i]^2 and b[i]^2 underflow in target + * precision (for some i). It can return result y[i]=NAN in case + * a[i]^2+b[i]^2 overflow in target precision, for some i. It can return + * result y[i]=NAN in case a[i] or b[i] is infinite, for some i. + * + * + */ + +#include + + .text +ENTRY(_ZGVbN4vv_hypotf_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + movaps %xmm1, %xmm5 + movaps %xmm0, %xmm4 + movaps %xmm5, %xmm6 + +/* + * Implementation + * Multiprecision branch for _HA_ only + * No multiprecision branch for _LA_ + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + */ + movaps %xmm4, %xmm3 + mulps %xmm4, %xmm3 + mulps %xmm5, %xmm6 + +/* Check _z exponent to be withing borders [1E3 ; 60A] else goto Callout */ + movdqu 384+__svml_shypot_data_internal(%rip), %xmm0 + addps %xmm6, %xmm3 + +/* _s0 ~ 1.0/sqrt(_z) */ + rsqrtps %xmm3, %xmm1 + movaps %xmm3, %xmm7 + pcmpgtd %xmm3, %xmm0 + pcmpgtd 448+__svml_shypot_data_internal(%rip), %xmm7 + por %xmm7, %xmm0 + movmskps %xmm0, %edx + +/* First iteration */ + movaps %xmm1, %xmm0 + +/* + * Variables + * Defines + * Constants loading + */ + movups 192+__svml_shypot_data_internal(%rip), %xmm2 + mulps %xmm3, %xmm0 + mulps %xmm2, %xmm1 + movaps %xmm0, %xmm6 + mulps %xmm1, %xmm6 + subps %xmm6, %xmm2 + +/* Second iteration */ + movaps %xmm2, %xmm6 + mulps %xmm0, %xmm2 + mulps %xmm1, %xmm6 + addps %xmm2, %xmm0 + addps %xmm6, %xmm1 + +/* Finish second iteration in native precision for _LA_ */ + movaps %xmm0, %xmm6 + mulps %xmm0, %xmm6 + subps %xmm3, %xmm6 + mulps %xmm6, %xmm1 + subps %xmm1, %xmm0 + +/* The end of implementation */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm4, 192(%rsp) + movups %xmm5, 256(%rsp) + movups %xmm0, 320(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 320(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x18, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + lea 320(%rsp,%r12,4), %rdx + call __svml_shypot_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4vv_hypotf_sse4) + + .align 16,0x90 + +__svml_shypot_cout_rare_internal: + + cfi_startproc + + movq %rdx, %r8 + movzwl 2(%rdi), %eax + andl $32640, %eax + cmpl $32640, %eax + je .LBL_2_14 + movzwl 2(%rsi), %eax + andl $32640, %eax + cmpl $32640, %eax + je .LBL_2_13 + pxor %xmm2, %xmm2 + pxor %xmm1, %xmm1 + cvtss2sd (%rdi), %xmm2 + cvtss2sd (%rsi), %xmm1 + movsd 4096+_vmlsHypotHATab(%rip), %xmm0 + movzwl 4102+_vmlsHypotHATab(%rip), %edi + ucomisd %xmm0, %xmm2 + jp .LBL_2_4 + je .LBL_2_11 + +.LBL_2_4: + movsd %xmm2, -16(%rsp) + movsd %xmm1, -48(%rsp) + andb $127, -9(%rsp) + andb $127, -41(%rsp) + movsd -16(%rsp), %xmm8 + movsd -48(%rsp), %xmm1 + comisd %xmm8, %xmm1 + jbe .LBL_2_6 + movaps %xmm8, %xmm2 + movaps %xmm1, %xmm8 + movsd %xmm1, -16(%rsp) + movaps %xmm2, %xmm1 + +.LBL_2_6: + movzwl -10(%rsp), %edx + andl $-32753, %edi + andl $32752, %edx + shrl $4, %edx + negl %edx + movsd %xmm0, -56(%rsp) + movsd 4128+_vmlsHypotHATab(%rip), %xmm3 + lea 1025(%rdx), %esi + negl %esi + addl $1000, %esi + shrl $31, %esi + imull $-23, %esi, %eax + lea 1025(%rax,%rdx), %esi + lea 1023(%rsi), %ecx + andl $2047, %ecx + shll $4, %ecx + orl %ecx, %edi + movw %di, -50(%rsp) + movsd -56(%rsp), %xmm2 + mulsd %xmm2, %xmm8 + mulsd %xmm2, %xmm1 + mulsd %xmm8, %xmm3 + movsd %xmm3, -72(%rsp) + movsd -72(%rsp), %xmm4 + movsd %xmm8, -16(%rsp) + subsd %xmm8, %xmm4 + movsd %xmm4, -64(%rsp) + movsd -72(%rsp), %xmm6 + movsd -64(%rsp), %xmm5 + movsd %xmm1, -48(%rsp) + subsd %xmm5, %xmm6 + movsd %xmm6, -72(%rsp) + movsd -72(%rsp), %xmm7 + movzwl -10(%rsp), %r9d + subsd %xmm7, %xmm8 + movzwl -42(%rsp), %edi + andl $32752, %r9d + andl $32752, %edi + shrl $4, %r9d + shrl $4, %edi + movsd %xmm8, -64(%rsp) + subl %edi, %r9d + movsd -72(%rsp), %xmm7 + movsd -64(%rsp), %xmm8 + cmpl $6, %r9d + jle .LBL_2_8 + movaps %xmm1, %xmm2 + jmp .LBL_2_9 + +.LBL_2_8: + movsd -48(%rsp), %xmm1 + movsd 4128+_vmlsHypotHATab(%rip), %xmm0 + movaps %xmm1, %xmm6 + mulsd %xmm1, %xmm0 + movsd %xmm0, -72(%rsp) + movsd -72(%rsp), %xmm2 + subsd -48(%rsp), %xmm2 + movsd %xmm2, -64(%rsp) + movsd -72(%rsp), %xmm4 + movsd -64(%rsp), %xmm3 + subsd %xmm3, %xmm4 + movsd %xmm4, -72(%rsp) + movsd -72(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -64(%rsp) + movsd -72(%rsp), %xmm0 + movsd -64(%rsp), %xmm2 + +.LBL_2_9: + movsd -16(%rsp), %xmm5 + movaps %xmm0, %xmm4 + mulsd %xmm0, %xmm4 + addsd %xmm1, %xmm0 + addsd %xmm7, %xmm5 + mulsd %xmm2, %xmm0 + mulsd %xmm5, %xmm8 + movaps %xmm7, %xmm3 + negl %esi + mulsd %xmm7, %xmm3 + addsd %xmm8, %xmm0 + movq 4112+_vmlsHypotHATab(%rip), %r11 + movq %r11, %r9 + lea _vmlsHypotHATab(%rip), %rdx + addsd %xmm4, %xmm3 + addl $1023, %esi + addsd %xmm0, %xmm3 + movsd %xmm3, -56(%rsp) + andl $2047, %esi + movzwl -50(%rsp), %ecx + andl $32752, %ecx + shrl $4, %ecx + addl $-1023, %ecx + movl %ecx, %eax + andl $1, %eax + subl %eax, %ecx + shrl $1, %ecx + movsd %xmm3, -48(%rsp) + movzwl -42(%rsp), %edi + andl $-32753, %edi + shrq $48, %r9 + lea 1023(%rcx), %r10d + addl %ecx, %ecx + addl $16368, %edi + negl %ecx + andl $2047, %r10d + addl $1023, %ecx + andl $2047, %ecx + andl $-32753, %r9d + movw %di, -42(%rsp) + shll $4, %r10d + shll $4, %ecx + orl %r9d, %r10d + shll $4, %esi + orl %r9d, %ecx + movsd -48(%rsp), %xmm2 + orl %esi, %r9d + movl -44(%rsp), %esi + mulsd 4112(%rdx,%rax,8), %xmm2 + andl $1048575, %esi + shrl $12, %esi + shll $8, %eax + addl %eax, %esi + movsd (%rdx,%rsi,8), %xmm6 + movsd 4104+_vmlsHypotHATab(%rip), %xmm1 + mulsd %xmm6, %xmm2 + mulsd %xmm6, %xmm1 + movaps %xmm2, %xmm7 + mulsd %xmm1, %xmm7 + movsd 4104+_vmlsHypotHATab(%rip), %xmm9 + movsd 4104+_vmlsHypotHATab(%rip), %xmm12 + subsd %xmm7, %xmm9 + movaps %xmm9, %xmm8 + mulsd %xmm2, %xmm9 + mulsd %xmm1, %xmm8 + addsd %xmm9, %xmm2 + addsd %xmm8, %xmm1 + movaps %xmm2, %xmm10 + movaps %xmm1, %xmm11 + mulsd %xmm1, %xmm10 + movsd 4104+_vmlsHypotHATab(%rip), %xmm0 + subsd %xmm10, %xmm12 + mulsd %xmm12, %xmm11 + mulsd %xmm2, %xmm12 + addsd %xmm11, %xmm1 + addsd %xmm12, %xmm2 + movaps %xmm2, %xmm13 + movaps %xmm2, %xmm14 + mulsd %xmm1, %xmm13 + movsd 4128+_vmlsHypotHATab(%rip), %xmm15 + subsd %xmm13, %xmm0 + mulsd %xmm0, %xmm14 + mulsd %xmm1, %xmm0 + addsd %xmm14, %xmm2 + addsd %xmm0, %xmm1 + mulsd %xmm2, %xmm15 + movsd %xmm15, -72(%rsp) + movaps %xmm2, %xmm8 + movsd -72(%rsp), %xmm4 + movsd 4120+_vmlsHypotHATab(%rip), %xmm10 + subsd %xmm2, %xmm4 + movsd %xmm4, -64(%rsp) + movsd -72(%rsp), %xmm6 + movsd -64(%rsp), %xmm5 + movq %r11, -32(%rsp) + subsd %xmm5, %xmm6 + movsd %xmm6, -72(%rsp) + movsd -72(%rsp), %xmm7 + movw %cx, -26(%rsp) + subsd %xmm7, %xmm8 + movsd %xmm8, -64(%rsp) + movsd -72(%rsp), %xmm11 + movsd -64(%rsp), %xmm12 + movaps %xmm11, %xmm13 + mulsd %xmm12, %xmm10 + mulsd %xmm12, %xmm12 + xorps .FLT_52(%rip), %xmm13 + xorps .FLT_52(%rip), %xmm12 + subsd %xmm10, %xmm13 + mulsd %xmm11, %xmm13 + movsd -32(%rsp), %xmm9 + addsd %xmm12, %xmm13 + mulsd %xmm9, %xmm3 + movq %r11, -40(%rsp) + addsd %xmm13, %xmm3 + mulsd %xmm1, %xmm3 + movw %r10w, -34(%rsp) + addsd %xmm3, %xmm2 + mulsd -40(%rsp), %xmm2 + movq %r11, -24(%rsp) + movw %r9w, -18(%rsp) + mulsd -24(%rsp), %xmm2 + cvtsd2ss %xmm2, %xmm2 + movss %xmm2, (%r8) + +.LBL_2_10: + xorl %eax, %eax + ret + +.LBL_2_11: + ucomisd %xmm0, %xmm1 + jne .LBL_2_4 + jp .LBL_2_4 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_13: + movss (%rsi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_14: + movzwl 2(%rsi), %eax + andl $32640, %eax + cmpl $32640, %eax + je .LBL_2_16 + +.LBL_2_15: + movss (%rdi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_16: + movl (%rdi), %eax + testl $8388607, %eax + je .LBL_2_22 + testl $8388607, (%rsi) + je .LBL_2_19 + movss (%rdi), %xmm0 + mulss (%rsi), %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_19: + testl $4194304, %eax + jne .LBL_2_13 + movsd 4112+_vmlsHypotHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + mulss (%rdi), %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_22: + movl (%rsi), %eax + testl $8388607, %eax + je .LBL_2_15 + testl $4194304, %eax + jne .LBL_2_15 + movsd 4112+_vmlsHypotHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + mulss (%rsi), %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + + cfi_endproc + + .type __svml_shypot_cout_rare_internal,@function + .size __svml_shypot_cout_rare_internal,.-__svml_shypot_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_shypot_data_internal: + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_shypot_data_internal,@object + .size __svml_shypot_data_internal,576 + .align 32 + +_vmlsHypotHATab: + .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 0 + .long 0 + .long 1071644672 + .long 0 + .long 1072693248 + .long 0 + .long 1073741824 + .long 33554432 + .long 1101004800 + .type _vmlsHypotHATab,@object + .size _vmlsHypotHATab,4136 + .space 472, 0x00 + .align 16 + +.FLT_52: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_52,@object + .size .FLT_52,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core-sse.S new file mode 100644 index 0000000000..d37556e331 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized hypotf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8vv_hypotf _ZGVdN8vv_hypotf_sse_wrapper +#include "../svml_s_hypotf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core.c new file mode 100644 index 0000000000..6cc497e73d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized sinf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8vv_hypotf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8vv_hypotf, __GI__ZGVdN8vv_hypotf, + __redirect__ZGVdN8vv_hypotf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core_avx2.S new file mode 100644 index 0000000000..29ae4a81e5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core_avx2.S @@ -0,0 +1,1943 @@ +/* Function hypotf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * HIGH LEVEL OVERVIEW + * + * Calculate z = (x*x+y*y) + * Calculate reciplicle sqrt (z) + * Calculate make two NR iterations + * + * ALGORITHM DETAILS + * + * Multiprecision branch for _HA_ only + * Remove sigm from both arguments + * Find maximum (_x) and minimum (_y) (by abs value) between arguments + * Split _x int _a and _b for multiprecision + * If _x >> _y we will we will not split _y for multiprecision + * all _y will be put into lower part (_d) and higher part (_c = 0) + * Fixing _hilo_mask for the case _x >> _y + * Split _y into _c and _d for multiprecision with fixed mask + * + * compute Hi and Lo parts of _z = _x*_x + _y*_y + * + * _zHi = _a*_a + _c*_c + * _zLo = (_x + _a)*_b + _d*_y + _d*_c + * _z = _zHi + _zLo + * + * No multiprecision branch for _LA_ and _EP_ + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + * + * Check _z exponent to be withing borders [1E3 ; 60A] else goto Callout + * + * Compute resciplicle sqrt s0 ~ 1.0/sqrt(_z), + * that multiplied by _z, is final result for _EP_ version. + * + * First iteration (or zero iteration): + * s = z * s0 + * h = .5 * s0 + * d = s * h - .5 + * + * Second iteration: + * h = d * h + h + * s = s * d + s + * d = s * s - z (in multiprecision for _HA_) + * + * result = s - h * d + * + * EP version of the function can be implemented as y[i]=sqrt(a[i]^2+b[i]^2) + * with all intermediate operations done in target precision for i=1,..,n. + * It can return result y[i]=0 in case a[i]^2 and b[i]^2 underflow in target + * precision (for some i). It can return result y[i]=NAN in case + * a[i]^2+b[i]^2 overflow in target precision, for some i. It can return + * result y[i]=NAN in case a[i] or b[i] is infinite, for some i. + * + * + */ + +#include + + .text +ENTRY(_ZGVdN8vv_hypotf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + vmovups %ymm8, 32(%rsp) + +/* Check _z exponent to be withing borders [1E3 ; 60A] else goto Callout */ + vmovups 384+__svml_shypot_data_internal(%rip), %ymm2 + +/* + * Variables + * Defines + * Constants loading + */ + vmovups 192+__svml_shypot_data_internal(%rip), %ymm7 + vmovups %ymm15, 352(%rsp) + vmovups %ymm14, 320(%rsp) + vmovups %ymm13, 288(%rsp) + vmovups %ymm12, 256(%rsp) + vmovups %ymm11, 224(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm9, 96(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + vmovaps %ymm1, %ymm8 + +/* + * Implementation + * Multiprecision branch for _HA_ only + * No multiprecision branch for _LA_ + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + */ + vmulps %ymm0, %ymm0, %ymm1 + vfmadd231ps %ymm8, %ymm8, %ymm1 + +/* _s0 ~ 1.0/sqrt(_z) */ + vrsqrtps %ymm1, %ymm6 + vpcmpgtd %ymm1, %ymm2, %ymm3 + vpcmpgtd 448+__svml_shypot_data_internal(%rip), %ymm1, %ymm4 + vpor %ymm4, %ymm3, %ymm5 + +/* First iteration */ + vmulps %ymm1, %ymm6, %ymm2 + vmulps %ymm7, %ymm6, %ymm3 + vfnmadd231ps %ymm2, %ymm3, %ymm7 + vfmadd213ps %ymm2, %ymm7, %ymm2 + +/* Second iteration */ + vfmadd132ps %ymm7, %ymm3, %ymm3 + +/* Finish second iteration in native precision for _LA_ */ + vfmsub231ps %ymm2, %ymm2, %ymm1 + vmovmskps %ymm5, %edx + vfnmadd213ps %ymm2, %ymm1, %ymm3 + +/* The end of implementation */ + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 224(%rsp), %ymm11 + cfi_restore(94) + vmovups 256(%rsp), %ymm12 + cfi_restore(95) + vmovups 288(%rsp), %ymm13 + cfi_restore(96) + vmovups 320(%rsp), %ymm14 + cfi_restore(97) + vmovups 352(%rsp), %ymm15 + cfi_restore(98) + vmovaps %ymm3, %ymm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm0, 64(%rsp) + vmovups %ymm8, 128(%rsp) + vmovups %ymm3, 192(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 192(%rsp), %ymm3 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + lea 192(%rsp,%r12,4), %rdx + call __svml_shypot_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8vv_hypotf_avx2) + + .align 16,0x90 + +__svml_shypot_cout_rare_internal: + + cfi_startproc + + movq %rdx, %r8 + movzwl 2(%rdi), %eax + andl $32640, %eax + cmpl $32640, %eax + je .LBL_2_14 + movzwl 2(%rsi), %eax + andl $32640, %eax + cmpl $32640, %eax + je .LBL_2_13 + pxor %xmm2, %xmm2 + pxor %xmm1, %xmm1 + cvtss2sd (%rdi), %xmm2 + cvtss2sd (%rsi), %xmm1 + movsd 4096+_vmlsHypotHATab(%rip), %xmm0 + movzwl 4102+_vmlsHypotHATab(%rip), %edi + ucomisd %xmm0, %xmm2 + jp .LBL_2_4 + je .LBL_2_11 + +.LBL_2_4: + movsd %xmm2, -16(%rsp) + movsd %xmm1, -48(%rsp) + andb $127, -9(%rsp) + andb $127, -41(%rsp) + movsd -16(%rsp), %xmm8 + movsd -48(%rsp), %xmm1 + comisd %xmm8, %xmm1 + jbe .LBL_2_6 + movaps %xmm8, %xmm2 + movaps %xmm1, %xmm8 + movsd %xmm1, -16(%rsp) + movaps %xmm2, %xmm1 + +.LBL_2_6: + movzwl -10(%rsp), %edx + andl $-32753, %edi + andl $32752, %edx + shrl $4, %edx + negl %edx + movsd %xmm0, -56(%rsp) + movsd 4128+_vmlsHypotHATab(%rip), %xmm3 + lea 1025(%rdx), %esi + negl %esi + addl $1000, %esi + shrl $31, %esi + imull $-23, %esi, %eax + lea 1025(%rax,%rdx), %esi + lea 1023(%rsi), %ecx + andl $2047, %ecx + shll $4, %ecx + orl %ecx, %edi + movw %di, -50(%rsp) + movsd -56(%rsp), %xmm2 + mulsd %xmm2, %xmm8 + mulsd %xmm2, %xmm1 + mulsd %xmm8, %xmm3 + movsd %xmm3, -72(%rsp) + movsd -72(%rsp), %xmm4 + movsd %xmm8, -16(%rsp) + subsd %xmm8, %xmm4 + movsd %xmm4, -64(%rsp) + movsd -72(%rsp), %xmm6 + movsd -64(%rsp), %xmm5 + movsd %xmm1, -48(%rsp) + subsd %xmm5, %xmm6 + movsd %xmm6, -72(%rsp) + movsd -72(%rsp), %xmm7 + movzwl -10(%rsp), %r9d + subsd %xmm7, %xmm8 + movzwl -42(%rsp), %edi + andl $32752, %r9d + andl $32752, %edi + shrl $4, %r9d + shrl $4, %edi + movsd %xmm8, -64(%rsp) + subl %edi, %r9d + movsd -72(%rsp), %xmm7 + movsd -64(%rsp), %xmm8 + cmpl $6, %r9d + jle .LBL_2_8 + movaps %xmm1, %xmm2 + jmp .LBL_2_9 + +.LBL_2_8: + movsd -48(%rsp), %xmm1 + movsd 4128+_vmlsHypotHATab(%rip), %xmm0 + movaps %xmm1, %xmm6 + mulsd %xmm1, %xmm0 + movsd %xmm0, -72(%rsp) + movsd -72(%rsp), %xmm2 + subsd -48(%rsp), %xmm2 + movsd %xmm2, -64(%rsp) + movsd -72(%rsp), %xmm4 + movsd -64(%rsp), %xmm3 + subsd %xmm3, %xmm4 + movsd %xmm4, -72(%rsp) + movsd -72(%rsp), %xmm5 + subsd %xmm5, %xmm6 + movsd %xmm6, -64(%rsp) + movsd -72(%rsp), %xmm0 + movsd -64(%rsp), %xmm2 + +.LBL_2_9: + movsd -16(%rsp), %xmm5 + movaps %xmm0, %xmm4 + mulsd %xmm0, %xmm4 + addsd %xmm1, %xmm0 + addsd %xmm7, %xmm5 + mulsd %xmm2, %xmm0 + mulsd %xmm5, %xmm8 + movaps %xmm7, %xmm3 + negl %esi + mulsd %xmm7, %xmm3 + addsd %xmm8, %xmm0 + movq 4112+_vmlsHypotHATab(%rip), %r11 + movq %r11, %r9 + lea _vmlsHypotHATab(%rip), %rdx + addsd %xmm4, %xmm3 + addl $1023, %esi + addsd %xmm0, %xmm3 + movsd %xmm3, -56(%rsp) + andl $2047, %esi + movzwl -50(%rsp), %ecx + andl $32752, %ecx + shrl $4, %ecx + addl $-1023, %ecx + movl %ecx, %eax + andl $1, %eax + subl %eax, %ecx + shrl $1, %ecx + movsd %xmm3, -48(%rsp) + movzwl -42(%rsp), %edi + andl $-32753, %edi + shrq $48, %r9 + lea 1023(%rcx), %r10d + addl %ecx, %ecx + addl $16368, %edi + negl %ecx + andl $2047, %r10d + addl $1023, %ecx + andl $2047, %ecx + andl $-32753, %r9d + movw %di, -42(%rsp) + shll $4, %r10d + shll $4, %ecx + orl %r9d, %r10d + shll $4, %esi + orl %r9d, %ecx + movsd -48(%rsp), %xmm2 + orl %esi, %r9d + movl -44(%rsp), %esi + mulsd 4112(%rdx,%rax,8), %xmm2 + andl $1048575, %esi + shrl $12, %esi + shll $8, %eax + addl %eax, %esi + movsd (%rdx,%rsi,8), %xmm6 + movsd 4104+_vmlsHypotHATab(%rip), %xmm1 + mulsd %xmm6, %xmm2 + mulsd %xmm6, %xmm1 + movaps %xmm2, %xmm7 + mulsd %xmm1, %xmm7 + movsd 4104+_vmlsHypotHATab(%rip), %xmm9 + movsd 4104+_vmlsHypotHATab(%rip), %xmm12 + subsd %xmm7, %xmm9 + movaps %xmm9, %xmm8 + mulsd %xmm2, %xmm9 + mulsd %xmm1, %xmm8 + addsd %xmm9, %xmm2 + addsd %xmm8, %xmm1 + movaps %xmm2, %xmm10 + movaps %xmm1, %xmm11 + mulsd %xmm1, %xmm10 + movsd 4104+_vmlsHypotHATab(%rip), %xmm0 + subsd %xmm10, %xmm12 + mulsd %xmm12, %xmm11 + mulsd %xmm2, %xmm12 + addsd %xmm11, %xmm1 + addsd %xmm12, %xmm2 + movaps %xmm2, %xmm13 + movaps %xmm2, %xmm14 + mulsd %xmm1, %xmm13 + movsd 4128+_vmlsHypotHATab(%rip), %xmm15 + subsd %xmm13, %xmm0 + mulsd %xmm0, %xmm14 + mulsd %xmm1, %xmm0 + addsd %xmm14, %xmm2 + addsd %xmm0, %xmm1 + mulsd %xmm2, %xmm15 + movsd %xmm15, -72(%rsp) + movaps %xmm2, %xmm8 + movsd -72(%rsp), %xmm4 + movsd 4120+_vmlsHypotHATab(%rip), %xmm10 + subsd %xmm2, %xmm4 + movsd %xmm4, -64(%rsp) + movsd -72(%rsp), %xmm6 + movsd -64(%rsp), %xmm5 + movq %r11, -32(%rsp) + subsd %xmm5, %xmm6 + movsd %xmm6, -72(%rsp) + movsd -72(%rsp), %xmm7 + movw %cx, -26(%rsp) + subsd %xmm7, %xmm8 + movsd %xmm8, -64(%rsp) + movsd -72(%rsp), %xmm11 + movsd -64(%rsp), %xmm12 + movaps %xmm11, %xmm13 + mulsd %xmm12, %xmm10 + mulsd %xmm12, %xmm12 + xorps .FLT_52(%rip), %xmm13 + xorps .FLT_52(%rip), %xmm12 + subsd %xmm10, %xmm13 + mulsd %xmm11, %xmm13 + movsd -32(%rsp), %xmm9 + addsd %xmm12, %xmm13 + mulsd %xmm9, %xmm3 + movq %r11, -40(%rsp) + addsd %xmm13, %xmm3 + mulsd %xmm1, %xmm3 + movw %r10w, -34(%rsp) + addsd %xmm3, %xmm2 + mulsd -40(%rsp), %xmm2 + movq %r11, -24(%rsp) + movw %r9w, -18(%rsp) + mulsd -24(%rsp), %xmm2 + cvtsd2ss %xmm2, %xmm2 + movss %xmm2, (%r8) + +.LBL_2_10: + xorl %eax, %eax + ret + +.LBL_2_11: + ucomisd %xmm0, %xmm1 + jne .LBL_2_4 + jp .LBL_2_4 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_13: + movss (%rsi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_14: + movzwl 2(%rsi), %eax + andl $32640, %eax + cmpl $32640, %eax + je .LBL_2_16 + +.LBL_2_15: + movss (%rdi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_16: + movl (%rdi), %eax + testl $8388607, %eax + je .LBL_2_22 + testl $8388607, (%rsi) + je .LBL_2_19 + movss (%rdi), %xmm0 + mulss (%rsi), %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_19: + testl $4194304, %eax + jne .LBL_2_13 + movsd 4112+_vmlsHypotHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + mulss (%rdi), %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + +.LBL_2_22: + movl (%rsi), %eax + testl $8388607, %eax + je .LBL_2_15 + testl $4194304, %eax + jne .LBL_2_15 + movsd 4112+_vmlsHypotHATab(%rip), %xmm0 + cvtsd2ss %xmm0, %xmm0 + mulss (%rsi), %xmm0 + movss %xmm0, (%r8) + jmp .LBL_2_10 + + cfi_endproc + + .type __svml_shypot_cout_rare_internal,@function + .size __svml_shypot_cout_rare_internal,.-__svml_shypot_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_shypot_data_internal: + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .long 4294443008 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .long 4294959104 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .long 33554432 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .long 506462208 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .long 1621098496 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .long 1115422720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_shypot_data_internal,@object + .size __svml_shypot_data_internal,576 + .align 32 + +_vmlsHypotHATab: + .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 0 + .long 0 + .long 1071644672 + .long 0 + .long 1072693248 + .long 0 + .long 1073741824 + .long 33554432 + .long 1101004800 + .type _vmlsHypotHATab,@object + .size _vmlsHypotHATab,4136 + .space 472, 0x00 + .align 16 + +.FLT_52: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_52,@object + .size .FLT_52,16 diff --git a/sysdeps/x86_64/fpu/svml_d_hypot2_core.S b/sysdeps/x86_64/fpu/svml_d_hypot2_core.S new file mode 100644 index 0000000000..ea98f36324 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_hypot2_core.S @@ -0,0 +1,29 @@ +/* Function hypot vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2vv_hypot) +WRAPPER_IMPL_SSE2_ff hypot +END (_ZGVbN2vv_hypot) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2vv_hypot) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_hypot4_core.S b/sysdeps/x86_64/fpu/svml_d_hypot4_core.S new file mode 100644 index 0000000000..cedbbff2b6 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_hypot4_core.S @@ -0,0 +1,29 @@ +/* Function hypot vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4vv_hypot) +WRAPPER_IMPL_AVX_ff _ZGVbN2vv_hypot +END (_ZGVdN4vv_hypot) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4vv_hypot) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_hypot4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_hypot4_core_avx.S new file mode 100644 index 0000000000..e0fef5203d --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_hypot4_core_avx.S @@ -0,0 +1,25 @@ +/* Function hypot vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4vv_hypot) +WRAPPER_IMPL_AVX_ff _ZGVbN2vv_hypot +END (_ZGVcN4vv_hypot) diff --git a/sysdeps/x86_64/fpu/svml_d_hypot8_core.S b/sysdeps/x86_64/fpu/svml_d_hypot8_core.S new file mode 100644 index 0000000000..7588e4407b --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_hypot8_core.S @@ -0,0 +1,25 @@ +/* Function hypot vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8vv_hypot) +WRAPPER_IMPL_AVX512_ff _ZGVdN4vv_hypot +END (_ZGVeN8vv_hypot) diff --git a/sysdeps/x86_64/fpu/svml_s_hypotf16_core.S b/sysdeps/x86_64/fpu/svml_s_hypotf16_core.S new file mode 100644 index 0000000000..06d421a926 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_hypotf16_core.S @@ -0,0 +1,25 @@ +/* Function hypotf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16vv_hypotf) +WRAPPER_IMPL_AVX512_ff _ZGVdN8vv_hypotf +END (_ZGVeN16vv_hypotf) diff --git a/sysdeps/x86_64/fpu/svml_s_hypotf4_core.S b/sysdeps/x86_64/fpu/svml_s_hypotf4_core.S new file mode 100644 index 0000000000..7e8553cae4 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_hypotf4_core.S @@ -0,0 +1,29 @@ +/* Function hypotf vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4vv_hypotf) +WRAPPER_IMPL_SSE2_ff hypotf +END (_ZGVbN4vv_hypotf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4vv_hypotf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_hypotf8_core.S b/sysdeps/x86_64/fpu/svml_s_hypotf8_core.S new file mode 100644 index 0000000000..a9bf27370b --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_hypotf8_core.S @@ -0,0 +1,29 @@ +/* Function hypotf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8vv_hypotf) +WRAPPER_IMPL_AVX_ff _ZGVbN4vv_hypotf +END (_ZGVdN8vv_hypotf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8vv_hypotf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_hypotf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_hypotf8_core_avx.S new file mode 100644 index 0000000000..8b8008a7e9 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_hypotf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function hypotf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY(_ZGVcN8vv_hypotf) +WRAPPER_IMPL_AVX_ff _ZGVbN4vv_hypotf +END(_ZGVcN8vv_hypotf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx.c new file mode 100644 index 0000000000..c6a26a63e4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-hypot.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx2.c new file mode 100644 index 0000000000..c6a26a63e4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-hypot.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx512f.c new file mode 100644 index 0000000000..c6a26a63e4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-hypot-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-hypot.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-hypot.c b/sysdeps/x86_64/fpu/test-double-libmvec-hypot.c new file mode 100644 index 0000000000..c0f600a443 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-hypot.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC hypot +#include "test-vector-abi-arg2.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 366d05c08a..8e1aeb6cff 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -41,6 +41,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVbN2v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVbN2v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVbN2v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVbN2v_expm1) +VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVbN2vv_hypot) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 044de05d87..7f144711bf 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVdN4v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVdN4v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVdN4v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVdN4v_expm1) +VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVdN4vv_hypot) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index f54d3a6874..48824d699a 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -41,6 +41,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVcN4v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVcN4v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVcN4v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVcN4v_expm1) +VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVcN4vv_hypot) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index e277410a34..eda821a402 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -41,6 +41,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erfc), _ZGVeN8v_erfc) VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVeN8v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVeN8v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVeN8v_expm1) +VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVeN8vv_hypot) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx.c new file mode 100644 index 0000000000..97d11ad1d3 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-hypotf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx2.c new file mode 100644 index 0000000000..97d11ad1d3 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-hypotf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx512f.c new file mode 100644 index 0000000000..97d11ad1d3 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-hypotf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-hypotf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-hypotf.c b/sysdeps/x86_64/fpu/test-float-libmvec-hypotf.c new file mode 100644 index 0000000000..38776fa724 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-hypotf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC hypotf +#include "test-vector-abi-arg2.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index b1313fca6b..89132d61e9 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -41,6 +41,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVeN16v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVeN16v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVeN16v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVeN16v_expm1f) +VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVeN16vv_hypotf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 7120096ee2..5100f35035 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -41,6 +41,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVbN4v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVbN4v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVbN4v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVbN4v_expm1f) +VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVbN4vv_hypotf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index d910aff10a..cd9be5eed4 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVdN8v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVdN8v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVdN8v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVdN8v_expm1f) +VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVdN8vv_hypotf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index daaae1da3e..44e4fd773c 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -41,6 +41,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (erfcf), _ZGVcN8v_erfcf) VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVcN8v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVcN8v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVcN8v_expm1f) +VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVcN8vv_hypotf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48099 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CDEC13858031 for ; Wed, 24 Nov 2021 20:21:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CDEC13858031 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785276; bh=g9WufythEwDpqk3LSg3g+Lkeln3XsD0JIH4wF8+SyL8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=DjIsAzfCNa3p/bR513qNkjQfTuYHlqsakj0sxBAE2aKoxu+cLfvrsYXZfLCr579mP 1eY7UPinUkCWnzFfPKyed4N+vmI8MKY/mHdregpwt1USQCF3Hyc3oHKruOHGy3Qce5 HgNmXrLE3eH7mJrkxrttEEGE5dpWhCQfgVGSI18Y= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id D74CB3857828 for ; Wed, 24 Nov 2021 19:38:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D74CB3857828 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235599464" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235599464" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="509564588" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga007.fm.intel.com with ESMTP; 24 Nov 2021 11:38:13 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XH021555; Wed, 24 Nov 2021 11:38:13 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 30/42] x86-64: Add vector hypot/hypotf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:55 -0800 Message-Id: <20211124193807.2093208-31-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=1.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, UNWANTED_LANGUAGE_BODY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector hypot/hypotf and input files to libmvec microbenchmark. libmvec-hypot-inputs: arg1: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 10.0 10% uniform random distribution in range (-1000.0, 1000.0) arg1: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 10.0 10% uniform random distribution in range (-1000.0, 1000.0) libmvec-hypotf-inputs: arg1: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 10.0f 10% uniform random distribution in range (-1000.0f, 1000.0f) arg2: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 10.0f 10% uniform random distribution in range (-1000.0f, 1000.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-hypot-inputs | 4100 ++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-hypotf-inputs | 4100 ++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-hypot-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-hypotf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 8c614c5fb4..3850696786 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -60,6 +60,7 @@ libmvec-bench-funcs = \ exp10 \ exp2 \ expm1 \ + hypot \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-hypot-inputs b/sysdeps/x86_64/fpu/libmvec-hypot-inputs new file mode 100644 index 0000000000..38bb541056 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-hypot-inputs @@ -0,0 +1,4100 @@ +## args: double:double +## ret: double +## includes: math.h +# Normally distributed random inputs arg1;arg2 in ranges (-1.8e+308, 1.8e+308);(-1.8e+308, 1.8e+308), means = 0;0, standard deviations = 10;10 +-0x1.554044c998ce3p+1, -0x1.66c497192875p+2 +-0x1.ea687f5ea7dfbp+3, -0x1.91417dc7ac74ep+2 +-0x1.8a5fa60900109p+1, 0x1.43456a199d366p+3 +0x1.d5fd5a6a60f93p+2, 0x1.5c4e8c66e2e1ep+4 +0x1.830c02f511649p+2, -0x1.3b3a6a67df6bep+2 +-0x1.d32cee06bc94cp+3, -0x1.8382d92cc1e63p+3 +0x1.63e8788c68f95p+4, -0x1.1f87dce3921b6p+1 +-0x1.0e3e9fb97670ep+3, 0x1.2fb7ef8e6fbffp+4 +-0x1.76ab7725ca30ap+1, -0x1.0f485c7cc73e6p-4 +0x1.669f14c1bc97dp+2, 0x1.50884ff604923p+3 +-0x1.381b3dade9059p+2, -0x1.f522c1615db4fp+2 +-0x1.e8deddfcc661fp+0, 0x1.2d09520846f24p+3 +-0x1.15328be8c723ap+2, 0x1.c011b1d55aa19p+3 +-0x1.4497b90aba18ep+3, -0x1.7155b020554bap+1 +0x1.64693909a55eep+3, -0x1.50befce7760d8p+3 +0x1.f9b19732e5af3p+0, 0x1.05dbacbd7f89cp+3 +0x1.f17b4b540208fp+0, -0x1.d2423b58befe4p+3 +0x1.cf35fd5b482fap+0, 0x1.50d461d320bf8p-1 +-0x1.ee88eec12b23ap+2, -0x1.bed2d6cb4234ep+1 +-0x1.9289054e34dc1p+1, 0x1.d07cc93942dd6p-2 +-0x1.8b1f17c053277p-1, 0x1.2d7e81a18ec16p+3 +-0x1.5c6225dc9d83dp+3, 0x1.f6057eb669dedp+1 +0x1.a6133246f02cbp-3, -0x1.a0e648576f38p+3 +-0x1.de858a024db6ap+0, 0x1.db97223cb3cd2p+2 +-0x1.84e57319a299fp+3, -0x1.99a4746523f41p+1 +0x1.1892ed812a81ap+3, -0x1.45195082b21d3p+3 +0x1.d19ce308bf969p+2, -0x1.51cb4941b33ecp+4 +-0x1.f6acda42e26aap+2, 0x1.77326f59a1515p+1 +-0x1.2ca063d96eccp+3, 0x1.09fcf85930166p+3 +0x1.abd376f299f83p+3, 0x1.75627093f7afbp-2 +0x1.6feca48b8f959p+1, -0x1.de3b4df9efa9ep-3 +0x1.a638b6bcfe548p+1, -0x1.c84d5c751315p+3 +0x1.7a94e1f1d448fp-1, 0x1.1f30cf2e10371p+3 +0x1.3597f2e9134b4p+1, 0x1.96560e29f2655p+0 +0x1.19f6234d816e9p+1, -0x1.115fe49804542p-1 +0x1.3bea99f1dfe24p+3, -0x1.3d6c01eccb9e8p+3 +0x1.33a841906147cp+0, 0x1.4db5b19a88af7p+2 +-0x1.5f2064d2ca6afp+2, 0x1.7bb08538b2099p+1 +-0x1.51738df8b4b53p+2, -0x1.25699b5e29a54p+9 +-0x1.3c1729bf6cf2bp+0, -0x1.0964f74ba9ba7p+0 +0x1.c92b8aadf143p+8, 0x1.e0431a8ddcbd5p-1 +0x1.c9e8040c460c3p+2, -0x1.683a8bf05d4ap+3 +-0x1.faf0ca9620cf8p+1, -0x1.9c9b866ca2458p+1 +-0x1.0d0c32e3ca6dep+2, -0x1.4b238278a8981p+1 +0x1.3c522ab79dcb1p+3, 0x1.2c9091cdd2e31p+3 +0x1.295ca37ef8281p+7, 0x1.4b33e5cb4d458p+4 +-0x1.85f6212a9b0ap+2, -0x1.23131430f6b9p+0 +-0x1.f0ef9317279b3p+3, 0x1.1c944ff6f69d1p+4 +0x1.b04b1ca715c49p+0, -0x1.3242f101b4b9dp+0 +0x1.74340618f282p-2, -0x1.19d4fae8b046bp+3 +0x1.214e5e94f87d4p+4, -0x1.11ad0819e7a58p+3 +-0x1.9356a68f8c8c4p+2, 0x1.64eab5cb1c6aep+3 +0x1.e1279b404809ep+1, 0x1.01096dab53456p-3 +0x1.01cc27b2044b5p+3, -0x1.6e7ca3baa79c2p-1 +-0x1.0680ab97f64c6p+2, -0x1.d5793c2c69773p+2 +0x1.d4c674bc2226cp+1, 0x1.0a8f509b4c33fp+4 +-0x1.3a54f96a1acf6p-2, 0x1.06405ad926e7cp+3 +0x1.7eaa24fd69adep+2, 0x1.b7f32b77350b8p+2 +-0x1.9798941511ca6p-1, -0x1.c3f60d018c235p+3 +-0x1.548e3b7f55b52p+3, -0x1.46b70923dd051p+3 +0x1.a6928f133d17bp+2, -0x1.c99a93f5c241fp+3 +0x1.310f9ff6c34b7p+4, -0x1.ee6fe004cedb6p+2 +-0x1.0a39edd8f53afp+3, 0x1.eb1886cffa447p+1 +0x1.d2527842a0885p+2, -0x1.514ed6fa4dbcfp+2 +-0x1.ff7cc625f214bp+1, -0x1.4ade29c63bdfap+1 +0x1.763f5c42e535fp+3, 0x1.4cf20d40427b7p+1 +0x1.710cb4219b2aap+4, -0x1.71ea56311e798p+3 +0x1.87e2af16cc22p+2, 0x1.acbdf7b8b8cb1p+3 +-0x1.36b38240e124ep+4, 0x1.00be9d2cc226cp+2 +-0x1.f37092404396ap+2, -0x1.38e30543d2783p+1 +-0x1.d8974526448bfp-5, -0x1.61a1465ceac2ap+2 +0x1.4a98efe7e96dfp-1, 0x1.c5bf66fd8479dp+2 +-0x1.bbb92cb8e6798p+1, 0x1.12044ef41bdap+2 +0x1.0ffc1b717c092p+2, -0x1.e60f73b81c999p+6 +-0x1.0bbc8815ee793p+3, -0x1.3d69ad65f38d3p+1 +0x1.2118761c15d6bp+2, -0x1.36369a571a85cp+2 +0x1.6da0a2ac4091p+3, -0x1.9dc37dd201f97p-1 +-0x1.3bf064beccce6p+3, -0x1.26d8cccba2d56p+3 +-0x1.5f85846f3e7c4p-1, 0x1.4957ca5078978p+9 +-0x1.0b3cdf33b0737p+2, 0x1.520918691fbe7p+2 +-0x1.96b003fe8132ep+3, -0x1.0525f3d414731p+4 +0x1.4d408a5eec5bbp+2, -0x1.8607ea65026dp+2 +-0x1.98ece3a8067a1p+3, 0x1.e369295a89953p+3 +-0x1.16ca9e54f9183p+1, 0x1.ca41643f67f74p-7 +0x1.0bd9349d0075dp+4, 0x1.cfb1494744a37p+0 +0x1.bd98bd3eab59dp+0, -0x1.c48bf08d22fcdp+0 +-0x1.a83238eb47a39p-2, 0x1.00f4eaa4629cp+2 +-0x1.7712c3524774dp-3, -0x1.2399f397efb95p+2 +0x1.e1f14824d866ap-2, -0x1.93da3ab7882b1p+0 +-0x1.8c7952f23a3f3p+2, -0x1.f5ab8ea7f5c48p+0 +-0x1.687dec89e6be8p+4, -0x1.f2d0b19a6f865p+2 +0x1.e1e64cda36901p+4, -0x1.3ae28631df18bp+2 +-0x1.3767e4ce1f49fp+3, -0x1.d30f878fe0435p-2 +-0x1.23746a15aa5bfp+3, -0x1.a7f2578cec6c3p+2 +0x1.20e169edee6d8p+3, -0x1.e7e7815f01c51p+1 +-0x1.01395640f15dap+4, 0x1.dd03809d62759p+3 +0x1.13e3a634448d2p+4, -0x1.3bd47d8fd7d23p+3 +-0x1.f135ded6c428ep+1, -0x1.0530d76011c18p+2 +0x1.9883b1cbc8856p+3, -0x1.0cd6b2f481b52p+2 +0x1.c3f887221c0aap+3, 0x1.57fc878facc8cp+1 +0x1.b9a54fab32a4ap-2, -0x1.60a843e0a6738p+4 +-0x1.bdd8d7d421796p+2, 0x1.1583579dc0af8p+0 +0x1.8b0b8cc1ead32p-1, 0x1.a372532f5f3bap+2 +-0x1.ab1acb40b58b5p+4, 0x1.b1ae478bf7ffcp+1 +-0x1.515fb1b0a3a62p+2, 0x1.002122c88a532p+4 +-0x1.3860d975bfaep+3, -0x1.793ebde692d4cp+3 +0x1.6191bd4c16afdp+2, 0x1.e68bc105211f7p+0 +-0x1.40de4ffdf37aep-2, -0x1.5790642cbb181p+3 +-0x1.18388d378c296p+4, -0x1.2bb4e73741648p+4 +0x1.8e3ef73ce7c69p+2, 0x1.ab82d8a92880ap+3 +-0x1.1c32a88a2c165p+3, -0x1.2adfd4e073877p-2 +0x1.35f5e661287edp+3, 0x1.1904bf512f56ap+0 +0x1.7d24c811c3786p+3, -0x1.0890a46993205p+3 +0x1.d81626a3496fap-3, 0x1.23976224c75edp+3 +-0x1.2a26cf4a0689p+4, 0x1.4a786e23d8eb9p+3 +-0x1.8ce033d6230e1p+1, -0x1.55e6f49ef2b54p+2 +0x1.7549ba0d9503fp+1, -0x1.a60bbd748e025p+3 +0x1.c89fcb7ec2299p+3, -0x1.4a7d8de0f57d2p+2 +0x1.d0b10a0fe4388p+0, -0x1.978ea5c73c1dep+3 +-0x1.fc6332047e54ep+2, 0x1.4028a9adda03cp+2 +-0x1.49838135f72d4p+3, -0x1.06da9efa52edep+0 +0x1.88bdcbb1e4c12p+0, 0x1.0fe06084ac03p+1 +-0x1.eedfbbba35ee9p+3, 0x1.1c67ace5eefcdp+1 +0x1.ca73c0f8990e5p+2, -0x1.249b68aa73a1fp-1 +0x1.a934da5fead08p+2, -0x1.c2d5958142b9dp+2 +0x1.48e06741ed076p+2, 0x1.b0f2eb5e0e25ep+2 +-0x1.cd8d85a0d6f8bp+5, 0x1.0c90da8f599e4p+6 +0x1.bf5ac2104cebcp+2, 0x1.e26a4b12fe9d3p+2 +-0x1.2c60d0b789864p+2, 0x1.eb03f31735c3p+1 +-0x1.f807fb90bbd08p+8, 0x1.0e89b344f2e2ep+2 +-0x1.f9c44b36f3413p+0, 0x1.6869edeeb9f1bp+3 +-0x1.63710c70f9962p+3, 0x1.e43d64c360b1ep+7 +0x1.a1048ea4388a7p+0, 0x1.34ac281a441f3p+3 +0x1.b55042829d604p+3, -0x1.35142638a1d37p+2 +0x1.93c822374a942p+2, -0x1.0f6420b624b93p+2 +-0x1.0ed599f5a7cd9p+4, 0x1.5546f7c566cbfp+2 +-0x1.f905a50059045p+2, -0x1.038a7a00f864cp+4 +0x1.75661d2ff2441p+1, -0x1.1516f4e3109d2p-4 +0x1.777793d0ab52bp+1, -0x1.5471f4852766ep+1 +0x1.0c3511379edfp+4, 0x1.397aaf07b2c1fp+3 +0x1.f9378d9b015f1p+1, -0x1.d0fb06e142db3p+1 +0x1.60087ce36d852p+3, 0x1.38a85fa7f3d2p+1 +-0x1.ca522b7a266eap+3, 0x1.467ef6ca75e11p+0 +-0x1.7c2b197a394f3p+1, 0x1.c41fc1c119a91p-1 +-0x1.09dad171a35f5p+3, 0x1.7bf15f3eb58fep+2 +0x1.ea04a0a3a24cp+2, 0x1.2e01383e9fap+3 +-0x1.6ff0dcc1fdb1ap+3, -0x1.04da08cc04222p+1 +-0x1.0c76e8aa524c8p+4, -0x1.01b3bd9ed5faep+4 +0x1.6626b02a35dffp+0, 0x1.15400c8b52a1ep+2 +-0x1.6519ab50babd6p+3, -0x1.035c516913bf2p+4 +0x1.df116c03b6efbp+3, 0x1.046cc1a9a35f9p+2 +0x1.c7aa82aef0c52p+2, 0x1.939110e017d55p+7 +0x1.6089da2ce60f5p+3, 0x1.a523adf42fe25p+3 +-0x1.51cca92057939p+5, 0x1.bb84cfb3bd225p+3 +-0x1.bd1e022ef6d1p-1, -0x1.0526d595330bap+5 +0x1.44f21e1af96d9p+7, 0x1.0755d9bbacf57p+4 +-0x1.0db29102b220cp+1, -0x1.be86e3dd85107p+3 +-0x1.747e63a4144a5p+2, 0x1.b88e2ae8c6c72p+4 +0x1.89131e4fc2e09p+4, 0x1.a421f27de9cd5p+2 +0x1.1eb352fc364d5p+2, -0x1.90b5a18083a02p+4 +-0x1.f9bf67a84192bp+3, -0x1.9eee99889333ap+2 +-0x1.38eaa94fa1472p+3, -0x1.1da2e6f3cf10bp+3 +-0x1.e65857d023309p+1, -0x1.7ee8c75bda27p+2 +-0x1.ddf13947707e4p+2, -0x1.1496f693d736bp+2 +-0x1.2dfbb9144344ep+4, -0x1.3ac90f72039ddp+2 +0x1.26ba2d9c733b6p+1, -0x1.2d34e61e339f8p+3 +0x1.ecf05f2b6e01fp+2, 0x1.cf5fdf6e8eaa1p+1 +-0x1.3668b9e54b506p+2, -0x1.33e39e40932a9p+2 +-0x1.35904ab71be7ep+3, -0x1.9643ce8d33d15p+1 +-0x1.8d583b3898343p+3, -0x1.0cf15101c504bp+2 +-0x1.74ad535c493c8p+3, 0x1.658c39bfa82dap-5 +-0x1.d4ec79dc8a488p+6, 0x1.4dd8e7bb74e0dp+1 +0x1.b1ea87cc8f54ep+2, -0x1.1c93d7c4d76c1p+1 +0x1.8c5a54ce37012p+2, 0x1.5dd0bcbf38d24p+2 +-0x1.70048b8170335p+2, 0x1.e36baab658f7bp+2 +-0x1.819d0e1126c51p+1, -0x1.88223ec3fb50fp-1 +0x1.140769f804ff9p+3, -0x1.ce9e1b8b5edcep+2 +0x1.91887de348ddap+3, 0x1.4e3832f29dfa8p+2 +-0x1.0217f4132ff2cp+2, 0x1.a226e04e81a16p+3 +0x1.0e4d10f2e7ba3p+1, 0x1.55cc27f95a89fp+0 +-0x1.c953c7a5404bap+5, 0x1.d1d4bddfa613ap+1 +0x1.0a1e64264a646p+3, -0x1.aa486b8600162p+1 +0x1.dc8a95caf39f4p+0, 0x1.14562f5a8a5efp+2 +-0x1.0247f41975814p+3, 0x1.4551a069b3393p+2 +-0x1.615c7f65d4f7fp+2, 0x1.691400ffb7149p+3 +-0x1.eb6dd451f844p+2, -0x1.161d880077694p+0 +0x1.4150e888d6b19p+1, -0x1.dff24aa855381p+1 +-0x1.5c439da72b194p+0, 0x1.8e984eb376b24p+3 +0x1.95eedb1c7c1e4p+1, -0x1.29cd7f3066c1bp+1 +0x1.9de85531340ap+1, 0x1.e63dc2c43dfbp+0 +0x1.2069d4e142321p+4, 0x1.61e48c3424946p+3 +-0x1.03decf343a04bp+4, -0x1.4cca2f2f402fcp+2 +-0x1.756bac0926086p+3, 0x1.ef60c2435efcep+0 +0x1.4cf1bdcb5fff9p+3, 0x1.a3c77f07c8ebep+0 +-0x1.08f70f09ad96p+6, 0x1.f0ea74c39999ap+3 +0x1.b064e5c866f06p+3, 0x1.527ab02700406p-2 +-0x1.ecf4e5a953bb4p+3, 0x1.60b248e8f63f2p-1 +0x1.e34614033245bp+2, -0x1.2fea9802c7feap+1 +-0x1.4183b04630bebp+3, -0x1.262a6bab231e1p+3 +0x1.619eb32724d35p+1, -0x1.c876af4575effp+1 +-0x1.7b6b9cdbcab63p+2, -0x1.efffd5bb7ab2ep+4 +0x1.04f2ccb141f5p+2, 0x1.ba28776545ac2p+3 +-0x1.af89aeff1d2e3p+1, -0x1.cbbe0427595eap+2 +-0x1.8843efbe767e9p+8, 0x1.aa903a5eb295ep-3 +-0x1.d52f372b50c1ep+2, -0x1.57468c7c7e70cp+2 +0x1.999db1c7078abp+1, 0x1.1a2da3008ec88p+0 +-0x1.ab5f02189813ep+2, 0x1.5b15edcc0b5dcp+1 +-0x1.b6b9faec38b6ep+3, -0x1.1d156b5663baep+4 +-0x1.667146769a76bp+2, -0x1.bbf8a73f83eb7p+3 +-0x1.8a0611d51553ap+0, -0x1.22427d34a5e53p+4 +-0x1.bdaf9c77c708p+4, -0x1.2c7c8df247d8ap+2 +0x1.8a1731d472c3ep+3, 0x1.00b8c0819cd9cp+4 +0x1.e2a23f22ca44ap+1, 0x1.9c49cd9382b3fp-1 +-0x1.fa84bc75eb45ep+0, -0x1.2ebba64a69fc8p+3 +0x1.389cc18950544p-1, -0x1.5959bb35eca03p+1 +-0x1.8619fb4ccd5e5p+2, -0x1.40270008fec01p+2 +-0x1.293e58c07bb83p+3, 0x1.12f1873f3c348p+3 +0x1.7e6cb7b786effp+2, -0x1.6cc87fc0ea99cp+3 +0x1.7c07497eec991p+3, -0x1.264f7484a94f1p+3 +-0x1.a6630455cf658p+1, -0x1.49484081d0142p+3 +-0x1.b41e9105c13dcp+1, -0x1.44d2fae99d664p+2 +0x1.4373f7e69548cp+3, 0x1.734115f390115p+2 +-0x1.2f1b473f9b62ep+4, -0x1.b48605b5b056fp+3 +0x1.d9d5e6f93720ep+3, 0x1.3f936beb80df6p+1 +0x1.51848cd4fc16ap+4, -0x1.d44d19fb5539fp+2 +-0x1.67ff8dc25f3c7p-1, 0x1.01ed2653f5d4cp+2 +-0x1.d78c93230bedap-1, 0x1.b1ca2c6ecd89ep+0 +0x1.6e9bc1b4cf99fp+0, 0x1.32ebadbd97d1ep+4 +0x1.3f1341d710e72p+1, 0x1.0f2f6258aab98p+4 +0x1.8167c6ece10c6p+0, 0x1.7c9bbc1afffb2p+3 +0x1.a0b3e8703b5efp+2, -0x1.0efc2d4ad60a7p+1 +0x1.e65ada32fd35p+4, 0x1.3fecbbb595cccp-1 +0x1.ab20df86b451ap-2, -0x1.614d6108536a4p+2 +-0x1.0e7672a4b226fp+3, -0x1.3634f8b1c5e5p-1 +-0x1.e1419ff2896e5p+3, -0x1.4f6b7bf8f8b23p+3 +0x1.226448ca8435cp+1, 0x1.91baf2a46a445p-6 +-0x1.912eaf6e04e09p+2, 0x1.c32eae5aac752p+1 +-0x1.5d43508511ca2p+3, -0x1.d378f698a364bp+2 +0x1.73abd19bbfcf3p+0, 0x1.fea144597744fp+1 +0x1.75c21d91ebdbap+3, -0x1.5320cefe606c9p-1 +-0x1.9e17a8d70015p+2, 0x1.030d9f3b9b4b3p+4 +-0x1.085b634c9abd8p+3, 0x1.37451b9e88f1dp+0 +-0x1.2a723fa10f8d6p+3, 0x1.dfbc89cd06a4fp+2 +-0x1.1a5ad4603fdbap+3, -0x1.ca26854cf1386p+3 +0x1.279431dcbe4f2p+0, -0x1.336802bfd4fb9p+2 +0x1.3e7dfc1484671p+3, -0x1.688727bca9135p+3 +0x1.0d4c8609f95bap+4, -0x1.834a79b8360a8p+0 +0x1.57eac8d9429dp+0, 0x1.d146be2732de7p+1 +-0x1.9e9a296c051f2p+2, -0x1.0ed8af53f3273p+3 +-0x1.020e4f2e89eb5p+4, 0x1.2158b2d10457cp+4 +-0x1.36e7ef81e88ap+4, -0x1.2f7827b63a486p-2 +0x1.e0aee5fc3da04p+2, 0x1.49ecdb5158626p+3 +0x1.7ef7c7ed07e84p+2, -0x1.03cadc9f043cdp+0 +0x1.b946364316729p+4, -0x1.d609dd75d90edp+3 +0x1.73d2cff2abb3p+1, 0x1.8a16e941137bep+2 +0x1.1b6167dfa7516p+3, 0x1.c7d954f4d2cb7p+4 +-0x1.c3eba05a840d7p+1, -0x1.84fc9623c6956p+0 +0x1.58356a48f347bp+2, 0x1.2cb9385b1c5dep+1 +0x1.9e60e10873e2dp+3, 0x1.72163487826c2p+2 +-0x1.0720a3b46f81bp+5, -0x1.0b38117b2225ep+1 +0x1.026eccad4965bp+4, 0x1.8505c16ee4e72p+3 +-0x1.bcffe9bb1f44cp+2, 0x1.dff667e51ac1p+1 +-0x1.28127568277c5p+1, 0x1.42b5927cf1e75p-1 +0x1.4f72ceacbd9c6p+1, 0x1.5f2731c8889ccp-1 +-0x1.c5be0d28399a4p+4, 0x1.599cb3a0bdc2ap+2 +-0x1.e2770257be8f9p+2, 0x1.53061e44b4a19p+2 +-0x1.1c5fab2e772c4p+3, -0x1.bfc38f60e60ap+2 +-0x1.c17652a664d7ap+3, -0x1.d5b897b92bbfbp+1 +0x1.974b74047c3efp+3, 0x1.7024033ba78bp+3 +0x1.889888da3e4f2p+2, -0x1.d6102b0c041b4p+1 +0x1.b972de69e1ac6p+2, -0x1.9480eaec7bbc6p+3 +0x1.a4de4422ef7d6p+2, -0x1.76f02e5fe9a1bp+6 +0x1.4da0a76e38719p+2, -0x1.a5fc20e133bebp+1 +0x1.689b6236a12d8p+6, 0x1.2c6599af07722p+4 +0x1.f01408d550269p-3, 0x1.33dfc1b0f07d6p+3 +0x1.a7dd8b220feebp+1, 0x1.a64ccf843b1e2p+0 +-0x1.a4e88d66be8d4p+2, 0x1.4cb963ba350e4p+2 +-0x1.fffcb844bb408p+2, -0x1.ba4410f753f27p+3 +-0x1.88c8aeceef29ep+2, 0x1.7b29dee8b0ca3p+1 +-0x1.10dd31e28d943p+2, 0x1.6a93384c65823p+2 +0x1.4c63b82d01a33p+2, -0x1.0eadf86a5b992p+3 +-0x1.16f6a036516dcp+4, -0x1.9165e878efea9p-1 +0x1.7efd0dab212bcp+3, -0x1.02468742ba8f6p+1 +-0x1.70a54c5a502ecp+2, -0x1.fbed9f415ac19p+1 +0x1.6f45e017fc637p+2, 0x1.3cd4e9c3d54c6p+4 +0x1.10ffde01efea6p+0, 0x1.034412cc5369cp+2 +0x1.196f59a947eedp+3, -0x1.1ac384660cad9p+3 +0x1.46f39263d3758p+3, 0x1.491ab9dba1d02p+2 +-0x1.77e345d61e20cp+3, -0x1.d9c2b6bbdaceap+3 +0x1.27e721373a69ap+3, -0x1.f27a859501aaap-1 +-0x1.3a78828801c33p+1, 0x1.6a07d4f5afd79p+1 +-0x1.abe85211c7975p+4, -0x1.a6b25a324325cp-2 +-0x1.8bc21c23fd727p+1, 0x1.4d938c2e6ee54p+3 +0x1.1b880f6f5e50fp+1, 0x1.0e79617ede7a9p+3 +0x1.28225b814e266p+3, 0x1.dc8c448900743p+1 +-0x1.9987c10c9e16bp+3, 0x1.3587ac217f1ebp+2 +0x1.a7936a5ef04c5p+2, 0x1.5a78fc3eb17bep+2 +-0x1.13c1d93d35cfbp+3, 0x1.cadcc1aab7677p+1 +-0x1.269c550e17f49p+4, 0x1.87c345a023839p+4 +-0x1.153842ee62c68p+2, -0x1.1728ded56c5c3p+1 +-0x1.ac92bfd53d968p+1, 0x1.ac3868bc27037p-1 +0x1.02c283d352802p-1, 0x1.3b03730fbcfc6p+2 +-0x1.a9316de1bd3d4p+3, 0x1.859ede9a4c639p+1 +0x1.3aacefa1baddep-2, -0x1.db54a224638c1p-2 +0x1.55321aa1e531ep+1, -0x1.e5f4c86125accp+1 +0x1.be848862b4f51p+2, -0x1.973a760d5688fp+3 +0x1.f04e2e08885cep+1, -0x1.dafe289d4f481p+3 +-0x1.4326d04c35c69p+3, -0x1.700892cdbc3fap-3 +-0x1.cae5e7614aac1p+3, -0x1.11683f97dfc2p+4 +-0x1.483408cc9dbb1p+3, 0x1.fa594739b53b9p+3 +0x1.a97d116d9c682p+2, 0x1.05d068dc63036p+0 +-0x1.96e6259258b4fp+0, 0x1.afe516dab6372p+2 +-0x1.824b1a8ec40cdp+3, -0x1.2bb7c82baa5aap+4 +-0x1.24811556c8b05p+3, -0x1.693f36676576fp+1 +0x1.0cac58dc6c1c3p+2, 0x1.3d3ad4b453865p+0 +0x1.090e558083f32p+3, -0x1.f4ca45458ad97p-8 +-0x1.c652b18020bap+2, -0x1.a9dcbf9ac4cf3p+2 +-0x1.a8429e767d7dbp+3, 0x1.505cf2e986cecp+8 +0x1.637dd711fc967p+0, -0x1.640f8a809e4fp+1 +-0x1.2600a53891252p+2, -0x1.10029bca4d08ap+3 +-0x1.87df270413318p+1, 0x1.6862e44a0cb42p+3 +-0x1.022dbb44da24p+4, 0x1.e861573278ab2p+1 +-0x1.893d6e486a29ep+3, -0x1.7407b9867ec3cp+3 +-0x1.088af2efe2441p-1, -0x1.14f9529bb752ep+2 +-0x1.5dee453de2fcbp-1, 0x1.0ab5775acda95p+3 +-0x1.04abb245ed907p+3, 0x1.8c4c534e45c0ap+3 +0x1.77e359d58424fp+3, 0x1.8c0d978b8c71p+1 +-0x1.36c3fa81efb3ap+3, 0x1.eb2c9ca8509a2p+3 +0x1.f7dd854ed52c6p-1, 0x1.76fbbb82724f3p+4 +0x1.f277092e5bf97p+1, 0x1.8031febb6d18ap+3 +-0x1.2d7070fe84e1dp+3, -0x1.33599ccca20f9p+4 +0x1.a0e1823fc86b6p+2, -0x1.2ca7a8906f4c1p+2 +-0x1.bb2064541e87fp+2, 0x1.2dfa1cdc254cdp+7 +-0x1.9099baa495f06p+3, -0x1.18bb0d8a5e1e1p+2 +-0x1.deb775b278a0ap-1, -0x1.923f2a93c1a98p+1 +-0x1.110984be1638fp+3, -0x1.137dbc622082cp+3 +-0x1.06c963ad72628p+2, -0x1.26f27d22a53a3p+4 +0x1.06b20d1cc8e41p+0, -0x1.879b412bcf4cep-1 +-0x1.4e138f8dce34fp+1, 0x1.116f565033824p+3 +0x1.c9ef8dfbc5b04p+2, -0x1.104fcf4777bf8p+3 +0x1.68e65a2687fcp+0, -0x1.08ca057e6558bp+4 +-0x1.8e97e3441ce5ep+0, 0x1.461718bda13b8p+3 +-0x1.e73a8f637ddap+0, 0x1.fe99502f5cd0cp+3 +-0x1.f0f3f1f097c17p-1, -0x1.daade419ba91dp+1 +0x1.4c2498f9110b3p+2, 0x1.be9128c055266p+2 +0x1.0816a4a6726a7p+2, 0x1.d71d0cbaa7982p+6 +-0x1.b98835a3590f5p-1, -0x1.a315dca4f4b55p+0 +-0x1.1d4e1aefb7cbap+4, -0x1.baf6347bc946cp+3 +-0x1.13fd1bc94709p+3, -0x1.23508873c75ebp+4 +0x1.3d39d5e05defcp+4, 0x1.a183365d08c49p+2 +0x1.dae76f62be86dp+2, -0x1.6b595f7cbeb93p+3 +0x1.8fed3a225d67dp+2, 0x1.0c18ab6618155p+1 +-0x1.4a25dddf8d0bcp+2, -0x1.0d6f839a341dcp+0 +-0x1.e1bc6366ab1b4p+1, -0x1.297aef6a12f1bp+4 +-0x1.54c648eb3dce5p+3, 0x1.7b6c370325b26p+1 +-0x1.466f42b36655ap+0, -0x1.5a71a2eba38dfp+1 +0x1.106af311fcebep+3, -0x1.cfca6e02a54eep+1 +0x1.5c1b0b20b9babp+0, -0x1.c8ebfc3fce797p+3 +0x1.823b6fed167e5p+2, -0x1.e8c5f97689113p+3 +0x1.7c8a493db3d2dp+8, -0x1.a1b557162fd74p+2 +0x1.bc28ec0d1d635p-1, 0x1.bad1ac317df54p+3 +0x1.a50cbd4e4288ap+2, 0x1.98e74c4cbb1a7p+1 +0x1.41c59729ee19dp+0, -0x1.c69abaf25c939p+2 +-0x1.6a33ccbf8114p+2, 0x1.ba88f48938157p-3 +-0x1.881dfde90ca41p+2, 0x1.dec5f2a0f073ep+1 +-0x1.5c24687d45508p+3, -0x1.1e3d5f9eab2a3p+4 +0x1.5bc36fed5361ep+2, 0x1.8d56abecb4603p-2 +-0x1.669b82156927ap-2, -0x1.c2c00ed6d4a93p+2 +0x1.2990a5e93b09p+1, -0x1.11c11ac7deb12p+1 +0x1.092bd5f53d301p+2, -0x1.80b65efdd566fp+2 +0x1.080bf3ff199dap+3, 0x1.4cc6a3bd21f84p+3 +0x1.485048f8da20ep+1, 0x1.c6f4a3778fbdp+1 +-0x1.e6106d118ab23p+3, -0x1.c82d6bd3b7e39p+0 +0x1.29f60bbad0301p+4, 0x1.8284abe3e31cbp+3 +0x1.20a5847eb7beap+2, -0x1.17f5f3822240ap+3 +-0x1.b9e8c6146ac5ep+2, -0x1.5dc2bb45c245fp+1 +0x1.c1991ec2c7cadp+3, 0x1.88c7a934cc4b1p+2 +-0x1.2223843f2a519p-1, 0x1.848d926266d16p+1 +0x1.2def6f8f4238p+0, -0x1.8e3e37896c8adp+3 +0x1.98e14a18f8502p+3, -0x1.5d6dd0edd1d21p+3 +-0x1.119a03401f234p+3, -0x1.07342ba27f051p+3 +-0x1.220f7fa6b0c05p-1, 0x1.c9c57dd36c7e6p+3 +0x1.2d854e3fe3679p+4, 0x1.55ac8195cd1b9p+1 +0x1.04682a5d0d635p+4, -0x1.701fdb04fbf4ep+2 +-0x1.5feb39bb519b8p+1, 0x1.4e1922963c432p+2 +-0x1.f3d9fe9889575p+1, -0x1.b7d7d10c467c8p+3 +-0x1.f944ca60465f2p-3, 0x1.f04a45e38483cp+1 +0x1.ee43875ffc4b5p+3, 0x1.3e4185ee5d9d5p+4 +0x1.692139ca7d09bp-1, 0x1.580708f8b3709p+4 +-0x1.327344428f82ap+3, -0x1.2083794024c3p+2 +-0x1.65114b9771da2p+4, -0x1.56cc1c6f500cbp+3 +-0x1.48f10f2a420a5p+2, 0x1.d5b7212f2d44fp-1 +-0x1.881e6bc1fb077p+2, -0x1.5a8ee9ea108a6p+4 +0x1.f14b8995deccdp+3, 0x1.1daafc9e9a9f3p+2 +-0x1.48ab84a450f6dp+0, -0x1.3af073192e58cp-1 +-0x1.76bfbceab1a38p+1, -0x1.22723e593e5b5p+6 +-0x1.6fcfe64298ecep+3, -0x1.226cd9a76d4b8p+3 +0x1.176cf252caa7p-1, 0x1.22592627627ddp+0 +-0x1.2760394324021p+4, -0x1.1d69fe2323cd1p+3 +-0x1.aae9d1f4c70cdp+4, -0x1.1b2a9422449eep+3 +-0x1.5ee56639d2897p+3, 0x1.ce3f01a07a3f5p+2 +-0x1.be2dd70e5edp+2, 0x1.6ce29683f12cep+2 +-0x1.0d3b1ca3174a1p+1, 0x1.7d225727bef7ep+3 +-0x1.3c2b5016969e9p-2, -0x1.6de922719f809p+0 +-0x1.03f0bdd8035fap+2, 0x1.0d6602f428581p+4 +-0x1.93ebe18b0047p+1, 0x1.5ae0a08bef236p+3 +-0x1.2a719c30cb0d5p+3, -0x1.742fb3005a195p-2 +0x1.b79bdf2369184p+2, -0x1.6b602d21ff3b4p+2 +0x1.bfe6379f030f1p-4, 0x1.2cec801e60175p+3 +0x1.245c173099c85p+2, -0x1.abda4c4801512p-1 +0x1.394398b3143e2p+1, -0x1.dfa6b19847336p+3 +0x1.d16fc390808eep+0, 0x1.f4d1b3f38e009p+3 +-0x1.d10818b8ef682p+0, 0x1.8743a0c25f0bbp+3 +0x1.83018df36d098p+1, -0x1.59ea55d5308fp+4 +-0x1.23ae002016bdcp+3, 0x1.3c3afb33b1acp+2 +0x1.38f42dac7b284p+0, 0x1.5edb4e76d41f2p+3 +0x1.6c045e3dd39bbp+4, -0x1.0a8ca24d2facep+3 +0x1.6ccf2eab8a74bp+3, 0x1.47f8327e288bdp+2 +-0x1.598493fc87033p+3, 0x1.4969cc49242cp+3 +-0x1.00e09ecb03a35p+0, 0x1.3f1f8a2fe788fp+2 +0x1.b41e10a200f4p+3, 0x1.a9e6001d17ee6p+1 +0x1.d3be6f73e7101p+2, -0x1.ac8c82b64df09p+3 +0x1.31c6c19e447c1p+4, -0x1.a4af7cbebbb5ap+2 +-0x1.3a1b7be00b7e9p+0, -0x1.1943b7cf77fe9p+4 +-0x1.97ff66b9c04f9p+4, -0x1.fb155e2cc746fp+1 +-0x1.4fe7645a6c109p+3, 0x1.a5ddbae4544e9p+1 +-0x1.179d22c3e5b86p+3, -0x1.96de8af5e7191p+3 +-0x1.85baf3a469112p+2, -0x1.4037de82ebcd5p+3 +-0x1.49b318de7e532p+2, 0x1.7111c1a0e9316p+2 +0x1.87312584bcc79p+3, -0x1.e241c993f2e2bp+2 +-0x1.2686a2ca81bbap-4, 0x1.62dad670275d4p+3 +0x1.6d243f10a94ccp+8, 0x1.6bd41e2777028p+2 +0x1.6c24121179ce6p+1, 0x1.60386d44a9839p+1 +-0x1.b615f49a0f983p+4, -0x1.07f3490a9c298p+2 +-0x1.3cc789b2bd59fp+1, -0x1.a68b4861fc928p+1 +-0x1.d507ffa64e72bp+1, 0x1.59338bb7cecf8p+2 +0x1.a531c6fd3120cp+2, 0x1.83ecffaa397b8p+3 +-0x1.81843a2ca9bd2p-4, 0x1.0f1f018e5ebd6p+2 +0x1.4fa07e42f409cp+1, 0x1.a8f4fadc13f34p+2 +-0x1.14837823e5da7p+4, -0x1.5939a9c5cc7a6p-1 +0x1.6d0185439ccb1p+1, 0x1.f57c3ae86bbacp-2 +-0x1.b137f8f4a5a86p+1, 0x1.1471d089c60e7p+3 +-0x1.6acc7d3ef4a0ep+4, -0x1.71a6d94c502a7p+0 +-0x1.098f4b4a472ffp+0, 0x1.42455310eaddfp+2 +-0x1.f8f5c6653e6edp-3, 0x1.dfc1551a57591p+2 +0x1.00527856a4b06p+4, 0x1.443d7c9552de6p+3 +0x1.0e905f9b48661p+1, 0x1.4391fb5ed15bfp+4 +0x1.c66d4729c3c24p+2, 0x1.7b8806fde45c3p+3 +-0x1.2715f8aa7c88ep+3, -0x1.0248a6ad63ffep+4 +-0x1.2b0af21868b07p-1, -0x1.361b6016fb76cp+4 +-0x1.1f0ec9fb69316p+0, -0x1.8f0e6c018da73p+3 +0x1.78054e1b5d35p+3, -0x1.cb4aec2618e47p-2 +0x1.3470a41cca143p+1, -0x1.eba481139f4ep+2 +0x1.40f52dcd2ebe4p+3, -0x1.c6027a2a761b4p+0 +-0x1.4b3a52130d66cp+3, 0x1.705e1e16a26b4p+3 +0x1.b7327de6210fcp+1, 0x1.ad41c83c3a259p+3 +0x1.71462b8c525f4p+3, 0x1.76b06c8e7cba8p+3 +0x1.46908265cb9bdp+3, 0x1.319d1a8005081p+0 +-0x1.d7a52dd3c15f3p+1, 0x1.ba3972a1f770dp+3 +-0x1.8d0ac82dc605ap+3, 0x1.0fe622ac03641p+4 +0x1.1065302d17724p+0, 0x1.1c6a1179cc6bp+2 +-0x1.5dbfa0421546p+4, 0x1.b64601e4d739dp+1 +-0x1.da6ae79a5cabfp+3, -0x1.15a62a9e5275cp+2 +0x1.3ecea6e27d817p+4, -0x1.96a185c4abe83p-1 +-0x1.684e513ea57cdp-2, 0x1.4e3bbf5034e2cp+2 +0x1.4cc43be40b4a1p+1, 0x1.1221f6967208fp-1 +0x1.2ee5a41ea6483p+2, -0x1.3d92b18121ff5p+0 +0x1.01bb67e84596p+3, -0x1.1bfdceea2db11p+1 +0x1.1f2a983fbf55ep+2, -0x1.ba500c7ab7861p+1 +-0x1.5965004366003p+3, -0x1.30a81406e81d1p+3 +-0x1.04fb1b5417a86p+1, -0x1.89cbc470d188ap+3 +-0x1.ad07d671543e3p-1, 0x1.fd1d75354a07p-2 +-0x1.60639285df986p+3, -0x1.b9159e1173208p+1 +-0x1.d694eec6ac546p+1, -0x1.3f24d2ae2f4bbp-1 +-0x1.1955e576569aap+1, 0x1.72b21f19c626p+1 +-0x1.314e0ac68d7b8p+1, -0x1.2df5bcbc006bp+2 +-0x1.557eba094b6acp+2, -0x1.81e6ac006e2fcp+3 +0x1.a7ad717bac39cp+2, 0x1.560313ac61922p+3 +-0x1.c45b866338985p-4, 0x1.67e681890c33ap+3 +0x1.ba7e912ca1dcp+1, -0x1.f357ed2c3e2bcp+3 +-0x1.09b9eb54810f9p-2, 0x1.fc3e2b4db2f6fp+1 +-0x1.9e26e12495947p+0, -0x1.7ea1756f44a3ep-3 +-0x1.ca6f988230272p+3, 0x1.2d26b7a126ac1p+4 +-0x1.568b2a0c5141cp+2, 0x1.a5108d7d0d7a3p+2 +0x1.4babda7b3175fp+3, 0x1.26dcd1aa06077p+4 +-0x1.225def6af59c7p+3, 0x1.79fe5cda272e1p+2 +-0x1.18769a79b2fd1p+3, 0x1.5c3b44953c027p+1 +0x1.4569e195a78d2p+2, 0x1.a00023822669ep+1 +-0x1.6523794969c9fp-1, -0x1.d684d8864e836p+3 +0x1.ff510ebfa0e94p+2, -0x1.57c8ecbf7eb19p+1 +0x1.a34be11505e7dp+2, -0x1.23468be74b7c5p+3 +-0x1.002a5b6899172p+2, 0x1.2f4087324a75ep+3 +0x1.0793e226b1d74p+4, -0x1.f7308abef165dp+1 +0x1.79bda5fed3d64p+1, 0x1.a57d836c76f69p+2 +0x1.42ab7cb622ca1p+2, -0x1.007244d95a5c7p+3 +-0x1.33c07ef0cc9c8p+1, 0x1.466cd6187ca26p+2 +-0x1.88cf5ae02c08dp+3, 0x1.b669b3de1652dp+3 +0x1.6ad9428109667p+3, -0x1.6634f612b09d6p+4 +-0x1.3f494a4b96addp+3, -0x1.42b2293ddeaf1p+4 +-0x1.891e29dba221p+5, 0x1.0d3b5e4ee466bp+5 +-0x1.2ddc604de5072p+4, -0x1.400ff12c98dd3p+1 +-0x1.5c5be1c378dbap+3, 0x1.b4e33f73c52fp+2 +-0x1.ae39ad0f8e15ap+3, -0x1.bf7fe17ba0c4cp+1 +-0x1.499c06436d559p+3, -0x1.ed18144020c0ep+3 +-0x1.83bbf6fa6882ap+3, 0x1.b0b4eb29ea555p+2 +-0x1.0c5dc548d88fap+2, 0x1.94ebcf8d8a393p-1 +-0x1.56a56431137fcp+1, -0x1.c32326b50329ap+1 +-0x1.9905919d3f4fbp+2, 0x1.41652f4caff1cp+5 +0x1.242771dc6e74dp+1, -0x1.22117ba2ea834p+3 +-0x1.22286d796779ep+3, -0x1.500318d90449dp+7 +-0x1.6cca2ffa217d9p+4, 0x1.a3c1dfeedf43ep+4 +0x1.e900f5d1a4881p+3, 0x1.1598597342c7p+3 +0x1.ed0a61c7533dp+2, -0x1.182e1193117b2p-2 +-0x1.3f3adb512cfe4p+2, 0x1.df57c33279746p+3 +-0x1.654ebbb34e902p+2, -0x1.0a0cfe22bc2c5p+3 +-0x1.e095d4be80855p+3, -0x1.6619ca2007e14p+4 +0x1.6c287a94619c7p+2, -0x1.1d4e2a67e62e1p+0 +-0x1.23f4887a834c6p+2, 0x1.449d94b0df00ep+2 +0x1.d8c659311b29ep+1, 0x1.6d39a487de06cp+3 +0x1.12bc225f0ca3ep+2, -0x1.a365ae03cbeedp+2 +-0x1.51a913138455ep+3, -0x1.18cf58314e826p+4 +-0x1.3e978180b8d28p+2, 0x1.06ac9bedf25b8p+4 +0x1.235799dbceb42p+1, 0x1.6a31bfc341bcfp+1 +0x1.6c31b55811ea7p+2, -0x1.622ee79b474d5p+2 +-0x1.aee35f5f59dcep+1, 0x1.29c7ce0ecfdd4p+4 +-0x1.2b0f9e41065f7p+3, 0x1.d45120a4049b2p+0 +-0x1.0fa586eb41f9fp+2, -0x1.26b83ac7fd794p+2 +-0x1.2445893f74ed4p+3, 0x1.b4ee9131bb474p-1 +0x1.46399d4e1c2p+4, -0x1.6ba6d3d2efe56p+3 +0x1.d721377bb6e5fp+1, -0x1.ff555cf52435fp+2 +0x1.4a6b33db02575p+3, -0x1.844adc740d8d9p+2 +-0x1.6e55218295322p+3, -0x1.504894b4ea26fp+1 +-0x1.d1cb53f040278p+4, 0x1.0de76145c8edbp+1 +-0x1.73e0c67712e7bp+2, 0x1.0ada61a685415p+4 +0x1.029eea9651785p+0, 0x1.b70bfaa3ad021p+2 +0x1.9e8c8f7f9187ap+3, -0x1.c901edd72f3aap-1 +0x1.0672882f40723p+3, 0x1.689ab81134557p+0 +-0x1.3f04259a11291p+3, 0x1.6103d186627b4p+2 +0x1.2668eeb02a6cp+3, 0x1.cb16fdd19b6aap+3 +-0x1.4f7b4fae57ed7p+1, 0x1.27147dd3e1e39p+4 +-0x1.ce6bd35ce3524p+2, -0x1.7ca51f6057b97p+2 +0x1.cd3280499dcdcp+1, -0x1.c551edba0b491p+2 +0x1.262cfd14ac09bp+4, 0x1.36fe357934dcp+3 +-0x1.9245f052c2bbfp+4, -0x1.d3b524fa091fap+3 +0x1.25e588601bbeap+3, 0x1.3754214fa5f8fp+4 +-0x1.370ddd0286eb9p+3, -0x1.a8a70d1688f47p-1 +0x1.054ecabb12b0cp+4, -0x1.bea88d4c7db1cp+5 +0x1.dc8e8a501b11cp+2, -0x1.314ea7e8cbb01p+3 +-0x1.0346c5a0a1d21p+3, -0x1.b2e3f93bf2068p+3 +-0x1.02b6ee73d413cp+1, -0x1.a0eee40621eb1p+3 +-0x1.9b992f0305aa5p+4, -0x1.2054af34031ccp+2 +-0x1.73dd77de19467p+3, -0x1.cfa8680656564p+2 +0x1.8262fde381b4ap+0, -0x1.d8f9bcc6b33a6p+2 +0x1.a6df2a2106b45p+2, -0x1.3829367a9450fp+0 +0x1.6778731805c13p+2, 0x1.6a5aee06736d8p+1 +0x1.df3121a485716p+2, -0x1.43f098a81150dp+2 +0x1.8d294b03b815ap+1, 0x1.1cef38d581a8p+1 +0x1.b5a4f257d07bbp-4, -0x1.26f379f27fe14p+3 +0x1.f4bda3fb4f06ap+2, 0x1.f6bf979349e42p+1 +-0x1.3e3cf1ad7b4d7p+0, 0x1.81156212082bfp+3 +-0x1.7e8ea5e73c72ap+2, 0x1.1a646105cf84p+1 +0x1.26174ca0fbcc5p-2, 0x1.25bd680686004p+3 +0x1.d519268d26483p+3, -0x1.064c9b0716a7bp+4 +-0x1.1cef4e75d34bep+2, -0x1.5e8f674accbabp+1 +-0x1.2e4274f77f93cp+3, 0x1.12953e885bf75p+4 +-0x1.293e6e8b42934p+1, -0x1.dddcdc1496521p+1 +-0x1.1e47acbe705cep+2, -0x1.590b926332246p+1 +-0x1.1360703e8ac6fp+4, -0x1.459cf743c9761p-1 +-0x1.67bcab905cc8fp+3, 0x1.2fa67cf63b2cep+3 +0x1.5251af7a509edp+3, 0x1.1c3d2a6dfbad4p+3 +0x1.b8412c65095bep+3, -0x1.07bfe359bc45p+2 +0x1.7330f228b0e02p+3, 0x1.56f233422ff0dp+3 +0x1.f4906def05d6dp+1, 0x1.27b50de6b22p+4 +-0x1.0ed48d6d76ec7p+4, 0x1.953d87c893f01p+3 +0x1.36463dda68b47p+4, -0x1.983950dfdf67dp+1 +0x1.99ac8a0555934p+5, -0x1.c7b1a907e8313p+3 +0x1.afde1ab541a8cp+3, 0x1.285fa3e2bf9c7p+5 +-0x1.da21e970e3eafp+0, -0x1.99ff8c4ad9db8p+3 +0x1.83676f1a8add7p+5, 0x1.6f8326e1da9bp+2 +0x1.c28a3b6f43421p+3, 0x1.cd4ecb47776a1p+3 +0x1.ab625110275bfp+3, -0x1.94ff9322b05aep+1 +-0x1.c426fa78b74a7p+2, 0x1.18788662b96f7p+4 +0x1.32b96ecc7006ap+3, 0x1.2c3ef7830f3dbp+4 +-0x1.1b88598cc9b13p+4, 0x1.dc4b4cceb759bp+4 +-0x1.a5469f4c26a57p+0, 0x1.561f6992fadd3p+5 +0x1.47dfb3251627p+4, 0x1.52142d38403c9p+3 +0x1.3e03e30b6ee2cp+3, -0x1.bc3693a37f35ep+0 +-0x1.cb91aaa1a3626p+3, 0x1.557e4903aa55p+0 +0x1.e5e4ab5194b83p+3, 0x1.e38441e2d579ap+4 +0x1.7c8c92bbc4a2bp+2, 0x1.264a74389f794p+2 +0x1.0e7a962d6488bp+2, 0x1.ca7e18ac707a3p-1 +0x1.a98f84fd29261p+1, -0x1.77949e180055dp-1 +-0x1.2797a073798edp+4, -0x1.647f7b6095f6p+7 +-0x1.f9dc9ba0cbd01p+0, 0x1.ea7c8144fd543p+1 +0x1.40597ce4c9b51p+3, 0x1.55a84cd0c47e7p+0 +-0x1.95a4597e3a089p+4, -0x1.29d5d79ad04bep+3 +0x1.29a712c471e23p+2, -0x1.3d0e569abcca9p+5 +0x1.0a7cc20c7d2e6p+4, -0x1.0004300be28b7p+3 +0x1.0e5242e8f6134p+4, 0x1.22c02ada4a403p+3 +0x1.02294ba9f42b2p+4, -0x1.954bbedc6b8fep+2 +-0x1.35334f351fbc8p+3, 0x1.86f5586558407p+3 +-0x1.cd535be94eca6p+3, -0x1.499e08a2f31eap+3 +-0x1.1c9accb31c90ep+3, -0x1.8d574fe79de53p+1 +0x1.70cb7b6d4e73bp+3, -0x1.4a40c863a79cp+1 +-0x1.77e467a36aedp-1, 0x1.c6c8d6ffca759p+3 +-0x1.5dd1cbd2b8692p+3, -0x1.3dae8266fdda4p+0 +0x1.8d87b0ae2607ap+6, 0x1.913b6b9768a31p+1 +-0x1.1fcf90ffd8aa2p+3, -0x1.d77a7678828d9p+1 +-0x1.95cdb7b37f34bp+4, -0x1.8631c8f540c4ap+3 +-0x1.923fcc30f76ebp+4, 0x1.b0b8aca3171b4p+5 +0x1.2810a269d97f3p+3, -0x1.8ca9dce4cbe9ep+1 +-0x1.2a2d21eedbc74p+1, 0x1.2bda5ef234956p+3 +0x1.6709be11300cap+0, -0x1.4ffbdba10e9d5p+2 +-0x1.68234d736a038p+2, 0x1.2bb1ae8ef8c7ep+3 +0x1.87b4d4929ceeep+0, -0x1.4e68088e8adacp+4 +-0x1.d0707c12cf609p+3, -0x1.52a5959b394fap+3 +0x1.9101401bbb45p+2, -0x1.8b90d098ef7f2p+3 +-0x1.d1d9dac127517p+0, 0x1.2718980788dc5p+3 +0x1.37d447ce7c9c2p+5, 0x1.5cece20c4eee3p+4 +0x1.f313347105b11p+1, 0x1.aa524ab3e49aep+3 +-0x1.0eeb1e5b8603p-2, -0x1.47a6ca64cd91dp+3 +-0x1.d9a428174c1bbp+0, -0x1.5a923b1f0010dp-1 +-0x1.344001b4907e7p+1, -0x1.05b38c3f38d03p+2 +0x1.c0a7ada2985a6p+0, -0x1.2c13717f005dap+2 +0x1.27fc16e8e881ap-2, -0x1.882acf4c836efp+0 +-0x1.047944a78105ap+4, 0x1.70309fcfe1da2p+3 +0x1.f1bbab3d6f235p+2, -0x1.c5d9f4fdb17c7p+2 +0x1.f1393e0ba08ffp+2, 0x1.e9586045ed422p+1 +-0x1.5d47bc85e412bp+2, -0x1.6f0e93c88d0a5p+3 +-0x1.e2665812aae1bp+2, 0x1.adb36f59d5e19p+4 +0x1.565c41a122dacp+0, 0x1.f2799ccb32aa1p+0 +0x1.7c844710a2743p+1, -0x1.46caa07b703ffp+3 +0x1.e31d4fb689a0dp+1, -0x1.59ccc239f5c46p+3 +-0x1.020e5edd1515cp+4, -0x1.d36660f112f5ap+3 +0x1.6dba9f9f3699ep+2, 0x1.3ba1c8ffef856p+2 +0x1.bd102f06faa3ap+0, -0x1.7aeae377b42a6p+3 +-0x1.438f9e20f41c9p+3, -0x1.012e9283b5f7p+3 +0x1.c27e666a16a2ep+3, 0x1.38cbe57e018fdp+3 +-0x1.22c3c669b8b2ap+3, 0x1.1ba9d9e41c248p+4 +0x1.15257f4b31a57p+1, -0x1.2075fe47608fp+3 +-0x1.1c7efc7a9b67ap+3, 0x1.fe8c946c66a5ap+1 +-0x1.0819d858bf39p+3, -0x1.038a9eead5037p+2 +-0x1.8087add4c81f8p+3, -0x1.918742725f8dfp+1 +0x1.20fd555b0303ap+3, 0x1.fcd2c32158697p+3 +0x1.ed698f64414b3p+2, -0x1.776f358e182a2p+1 +0x1.4853fc39260c9p+3, -0x1.3f79eaf2ee762p+8 +-0x1.3ee6a44f51c61p+4, -0x1.b82a3a6d1293bp+2 +-0x1.ad2d04c18cb4cp-1, -0x1.21f4edce3eff9p+2 +0x1.55bc710ae8d5cp+1, -0x1.3d0ec6188efe5p+2 +-0x1.475885a7251a2p+4, -0x1.41078f407bdb5p+1 +0x1.dfafcee94a4ccp+3, 0x1.b0ff4e7a76f68p+3 +-0x1.600b8a2956df7p+2, -0x1.9b5b2af110e8bp-2 +0x1.c6e681cabbb67p+2, 0x1.ad935665e18b7p+1 +-0x1.578464711b7c2p+0, 0x1.ec64b5a0c3bb1p+1 +-0x1.abbf8119033edp+1, -0x1.24f8436d6f718p+3 +-0x1.a2dfaa2e04393p+1, 0x1.8d24fb7ad7857p+2 +-0x1.2788ece9b16c4p+2, 0x1.ff16da10b8085p+2 +0x1.5a2889568a599p+1, 0x1.5a7bce871320fp+1 +-0x1.32e7a8d7eea1ep+1, 0x1.1a11521871fd4p+3 +0x1.3b2e542c1e62p+4, 0x1.94efe91b3c95fp+2 +0x1.86802f9e265e7p+3, -0x1.53c150e3b1c67p+2 +-0x1.03be285861575p+1, 0x1.3137b9897d09p+2 +-0x1.83a417283bb2dp+4, -0x1.efa4c1d19debbp+3 +0x1.6394577a95a4ep-2, 0x1.b1dbc2b1ecba8p+2 +0x1.b369b96ee2253p+2, 0x1.fc462bb5bee5ap-2 +0x1.6d51392abcc7ap+4, 0x1.7e7a1b0007323p+3 +0x1.7862660769f2dp+1, -0x1.6ae7c3b907a9ep+2 +-0x1.8133fa3427623p+3, -0x1.cdfa65f85b702p+1 +0x1.741e0943a92cdp+3, -0x1.21fa96f2f8ebfp+4 +0x1.74c921c68f795p+3, 0x1.389739e6bbfdfp+0 +0x1.1d7148be21d35p+3, 0x1.e4aa193f9afebp+0 +-0x1.37fd90d26dfecp+1, -0x1.53d1f9d7aa964p+4 +-0x1.8255b6d59993ap+3, -0x1.11deb4b54fbd8p+2 +0x1.08886e61b0c45p+2, 0x1.4b96497dc59ffp+2 +-0x1.2b6f67a224798p+4, -0x1.e0b3643adc45ap+3 +-0x1.12ed95c0ee03cp+2, -0x1.8b89aee29e38p+3 +0x1.314ccaaca1035p+3, 0x1.87435f68b34e9p+0 +-0x1.d4a9483f12427p-1, -0x1.99b515881f6cap+0 +-0x1.ee1d488631816p+1, -0x1.9d35b86e7c263p+2 +-0x1.56237c949e8e4p-1, -0x1.03d15b0d97219p+3 +0x1.4ffcd9d818ae6p+2, 0x1.c139e6d696342p+7 +0x1.5133ad7106548p+1, 0x1.009283a18c1aep+4 +0x1.07c4ddcb918bdp+4, -0x1.95ea5c54bc18cp+3 +0x1.386d7dc6e3417p+3, -0x1.5a5e8c2521fd6p+3 +-0x1.af989e4947cfdp+3, -0x1.27991a7d09b85p+2 +-0x1.15d2831195258p+3, 0x1.1b44b08ab53c1p-1 +0x1.5f6781160be05p+3, 0x1.0bf612f351c61p+3 +-0x1.9f38cf42e00f1p+2, -0x1.43a4967bb00bep+3 +0x1.68aac4d7b3d3p+1, 0x1.ef3afd2095dc3p+3 +0x1.54dfebba7fa62p-1, -0x1.4fd2c8f5693dbp+8 +-0x1.711489641cd15p+2, 0x1.9f1c72d812b87p+1 +-0x1.4434d1ebed83p-2, -0x1.afc14d5e8c3eep+1 +-0x1.455daebdf6adfp+3, 0x1.acf13044f03d4p+2 +0x1.4e80dfe65c1afp+4, 0x1.19b8cda13354p+2 +-0x1.5ee4ad12698ddp+2, 0x1.0a8d70c4098edp+1 +0x1.520dc30074f27p+3, -0x1.11866a04f54efp+1 +-0x1.1c7a82429cf26p+2, -0x1.1f30a465dcd4ap+0 +-0x1.99d2c8c0fd6b6p+3, -0x1.2b82cf4a33803p+3 +-0x1.93c2d48f6d37bp+3, 0x1.39fecfd64ff1bp+4 +0x1.2695f503a1034p+3, 0x1.600d2030d4b7ap+2 +-0x1.0b8dd596f5bd5p+2, -0x1.f425a82373d73p+2 +0x1.4b5c294c7313dp+2, -0x1.0ec4186195b3ep-1 +-0x1.ca3d06a0a765fp+2, 0x1.c09396520026ep+3 +-0x1.b627ee843c73bp+2, -0x1.096a8aa7ed4f6p-3 +-0x1.0d4f3af84da03p+4, 0x1.944d05461329dp+4 +0x1.0425a6d785f2dp+3, -0x1.d61f6837ac4b4p-1 +0x1.6d023aac00fbcp+3, 0x1.933c81e1c4943p+2 +0x1.13a3334f2e878p+4, 0x1.c5ea91fb1b93cp+2 +-0x1.e8ea4164468dp+1, 0x1.0d42da5210571p+4 +0x1.595fcbd02d671p+4, 0x1.c194e3f315f64p+3 +-0x1.9ad366e8effb8p+3, 0x1.007d37417608ap+1 +-0x1.57e1f6c6d573cp+3, 0x1.32db2d271fe62p+2 +-0x1.31379c812a147p+5, -0x1.041f508987416p+3 +0x1.b9c91cc5bb8dap+2, 0x1.7a867aaf305d8p+1 +0x1.eb27f1de1e8b3p-3, -0x1.03be5189fb2c7p+2 +-0x1.52af4eae2f8cdp+3, -0x1.bd7b6100d3ad6p+0 +-0x1.25431fc457482p+3, 0x1.138a6628861bdp+2 +0x1.9a91e7d03f1efp+1, -0x1.33ded49f9c50fp+4 +-0x1.a8eb00cdb5d14p+2, -0x1.49fa9348de5a1p+3 +-0x1.259a3c566d8a9p+2, -0x1.95b3dd8efd905p+4 +0x1.4b9f330cfc245p+2, 0x1.7dbfce7ec83d6p+3 +-0x1.21b4a168054c6p+3, 0x1.824c447fb11cbp+0 +0x1.f116da0ba7cc8p+1, 0x1.ebabcda1196b5p+1 +0x1.925a3fd6ff587p+1, -0x1.14fc31b0ff189p+3 +0x1.63a511b4db8ccp+3, 0x1.15ba7a8653866p+4 +0x1.8466c379cbdbap+2, 0x1.84977ca151cb3p+0 +-0x1.eb36cbf6801dp+3, 0x1.440ad2a98d43dp+3 +0x1.cd429e779b824p+2, -0x1.8c4bc544cd1bfp-3 +0x1.8190b9d9083ecp+3, -0x1.2df05f36fdaafp+3 +0x1.35df15fc22ba8p+3, 0x1.07242ce31c6a7p+1 +-0x1.cd67e1fe2422cp-2, -0x1.5961e9e14dec1p+3 +-0x1.e2a745b5af8f2p+1, -0x1.3cbfa677501eep+0 +-0x1.f058ffcd6005p+4, -0x1.c45c988b3410fp+1 +0x1.9a1ef5d27118ep+2, -0x1.90db69aaef2c1p+3 +0x1.d1d4204ff437dp+3, -0x1.44ac86811a6d9p+3 +0x1.c9a13538aaebbp-1, 0x1.cc3b86b9c0a6ep+2 +-0x1.698139712b7f4p+8, -0x1.0594b184d79fdp+3 +-0x1.c498c56f32479p+2, 0x1.179f4b5cd17aap+1 +0x1.4090a1bcc2ec2p-1, -0x1.2b3ff0b062386p+3 +0x1.13ee054492f2cp+4, -0x1.3137d80093491p+4 +-0x1.313c56585e699p+3, 0x1.741f161d32f3bp+1 +0x1.493fe9f537b78p-2, 0x1.4fb2bccfd2d68p-1 +0x1.ed6a8b15b8be9p+2, -0x1.cc15a862259b7p+1 +0x1.5633c05f7a46fp+2, -0x1.3e134add113f2p+3 +0x1.12b1005b22b47p+1, 0x1.1aeb61426328fp+3 +0x1.79663a29b666ap+1, -0x1.baf47d346ce78p+1 +-0x1.a05bd176b09a2p+4, -0x1.ca1722692702p+3 +0x1.3f96d0aca6e84p+1, -0x1.cffb5faf56416p+3 +0x1.1bc7d64f7e88ep+4, -0x1.c7134d7036ad6p-3 +0x1.c78bbfda3a95p+2, -0x1.e94cd7739b60dp+3 +0x1.79a70fa689b9ap+2, -0x1.ecf6d3a57cc09p-2 +-0x1.585a02661ceedp-1, 0x1.4a3df05c259bp+2 +0x1.ab5183e1c7adbp+2, 0x1.1c1ede5326459p+3 +-0x1.dd99f622f7545p+1, 0x1.1838dbfa81469p+3 +0x1.529d81f42d5acp+5, 0x1.24b63ac39fdf9p+1 +0x1.f32fd1783b6f3p+2, 0x1.031be0aa04371p+4 +0x1.71f081431cf51p+3, -0x1.62af5a629c755p+2 +-0x1.1715a6f08969fp+0, 0x1.0754657c804aap+3 +0x1.947885e97e03dp+2, -0x1.90575d20bb556p+3 +-0x1.8309335e00133p+3, -0x1.812b55758672fp+2 +0x1.3c80d190bdce8p+4, -0x1.8bf8bb0d64cc4p+3 +-0x1.f37a31ab0e9fp+6, 0x1.d61d32172af34p+1 +0x1.499c3ea81525fp+4, -0x1.882b23d76c11dp+2 +0x1.dda67d5f66794p+3, -0x1.09808a60a771ap+3 +0x1.398e7edf78cdbp+3, -0x1.3063d0694338fp+3 +-0x1.7ec9ae7f97a17p+1, 0x1.f04409314dd52p+2 +-0x1.050448b51b652p+3, 0x1.a4ff5272dc881p-1 +-0x1.3964fb23cc841p+3, 0x1.86704fc12516ap+2 +0x1.cfe84af063ca6p+2, -0x1.ed955f772e571p+2 +-0x1.2556ccccf9012p+0, 0x1.849d893c5b954p+0 +-0x1.798cb6bde6c61p+2, 0x1.71a556177b0dap-2 +-0x1.8cc8f95c6cdf8p+2, -0x1.56634872e972dp+2 +-0x1.2b2d4a7033c4bp+4, -0x1.c73028006561p+1 +-0x1.d263e36bb016fp+1, 0x1.ddf0d59bee357p+2 +-0x1.0509cac06c2e7p+3, -0x1.bbe614b970cefp+2 +-0x1.9bd2252cf2796p+0, -0x1.b94f47e59f495p-2 +0x1.be3582de460bfp+1, 0x1.358d4a353c286p+2 +0x1.8aec952ed7129p+4, 0x1.61fc69e2a0f0fp-2 +-0x1.5088e302bc0b6p+1, 0x1.41de9ca4901a5p+4 +-0x1.68afef71cd2eap+3, -0x1.b6ca616eafbc7p+3 +-0x1.76bba6af42f4fp-1, 0x1.d7ea35cb148bfp+2 +0x1.374c532097ec3p+3, -0x1.052b50e85b7a3p-2 +0x1.87ee8840f7611p+1, 0x1.0c46dd2d91fb6p+8 +0x1.5d37d3dc1d8abp+4, 0x1.e66a05bc261dcp+6 +0x1.0edf11aec5fdbp+1, 0x1.0c8d9d794661dp+4 +0x1.3205c2ca5aef7p+3, -0x1.5d295d89e924bp+3 +0x1.7f14a524dp-1, 0x1.7b26c0a800a62p+3 +-0x1.da9892cd0b459p+2, 0x1.8e5d31093b5d2p+3 +-0x1.708eeafab8902p+5, 0x1.2ee5819df93b4p+3 +-0x1.73eb0cd9b5626p+2, -0x1.83304657baaf9p+2 +-0x1.adacd4cc06cf6p-5, -0x1.6efc6893710bep+3 +0x1.c8b3ace12284cp-2, -0x1.2568fb2396482p+0 +0x1.02d87cbb1fff2p+4, -0x1.14be91f9772cbp+3 +0x1.0375cd655899cp+2, -0x1.18485e8a44d64p+1 +0x1.5bc09ed9cdd82p+2, 0x1.bcfd584340f97p+1 +0x1.8af0ffd37f58bp+0, -0x1.6d337203eb9cap+1 +0x1.10b19c9076ceep+3, 0x1.836b72b61f2fp+2 +0x1.0a4a00aca0b9ep+3, 0x1.416fcebd19a48p+0 +0x1.94f14a6156fdp+3, -0x1.70f9d2124ee03p+0 +0x1.20ad7f958471ap+4, -0x1.71307a8c176adp+3 +0x1.a8b347d8c1f61p+2, -0x1.89c035794f7f4p+2 +-0x1.0a2432e839c8p+3, -0x1.189fc6be0afccp+4 +0x1.72edf00b66bcfp+3, 0x1.2b4d6762afbdep+1 +0x1.40cc63b405f5dp+3, -0x1.4abfab7341609p+3 +0x1.dfa63b0fdebaap+4, 0x1.64f681833dbc4p+0 +0x1.1112b3b3c8f22p+4, -0x1.a48174bafd5d8p+4 +-0x1.0e144bdc44ed9p+2, 0x1.5a481ca154b46p+2 +0x1.809fbc83c929ep+3, 0x1.6b44f12a7d26p+2 +-0x1.59e9dca84a411p+3, 0x1.4855191b6b81ap+2 +0x1.10b7a227832a2p+2, 0x1.cdb3378de1b5cp+3 +0x1.c0250a3f0ee15p+2, 0x1.377067dc6e7c7p+1 +0x1.2979271738f55p+4, -0x1.f873a8e687e9p+3 +-0x1.157e673820eap+0, 0x1.800df6856fc8ap+3 +0x1.466ab9b8789dap-1, 0x1.ef880683693d1p+3 +0x1.f2e253181ca5ap+1, -0x1.43777342dc8a4p+1 +-0x1.5cd895b4eb254p+0, -0x1.05a0c4b9a4669p+4 +-0x1.1245cf8c23ab9p+2, -0x1.ccdd5a6d8281ap+0 +-0x1.272c82dc162a2p+2, -0x1.055fb86e2ccd3p+0 +-0x1.466ac2b21738ep+3, 0x1.a6c91e6fe171dp+3 +0x1.3066d4b364ef4p+2, -0x1.b0a3bd2f5652ep+2 +-0x1.342afa211027p+3, -0x1.d77bc7685d6c8p+0 +0x1.9aa08db518726p+2, -0x1.2ea197062c162p+2 +-0x1.2f36d7c959ca1p+3, 0x1.7a53639dd788ap+2 +0x1.4926c421e4915p+3, -0x1.03e69f38a4ee5p-1 +0x1.238aa8ee66c36p+1, 0x1.048b0a42f343p+4 +-0x1.d5859fffa90b5p+2, -0x1.007e4fa21430bp+3 +0x1.96a6308e5c397p+2, -0x1.76ed2cb35870ap-1 +-0x1.0cc9aad9f1c9ap+2, 0x1.091107f239ae7p+9 +0x1.822d0749780e5p+1, 0x1.c45b0e6e7738bp+1 +0x1.790f0dafc1459p+4, 0x1.0a21be4dd47c4p+3 +-0x1.9642047a993ap-1, -0x1.bfabadc68b15fp+1 +0x1.210255932d54p+3, 0x1.2fc9db1b75ca2p+1 +-0x1.1471766ce02b2p+3, 0x1.175a2c1b8f37fp+2 +-0x1.36597f1348e47p+1, -0x1.e31eab65e8318p+1 +-0x1.e1965d3cb9fbep+2, 0x1.f7475b5a9017ep+1 +-0x1.79fb7cfe7977cp+0, -0x1.4de6359300504p+3 +0x1.ede511307bd3ap+1, 0x1.9212f40634075p+2 +-0x1.19d440a253d91p+3, 0x1.6cff27b033a98p+3 +-0x1.d7d25a8692b75p+2, -0x1.29d019df7347cp+0 +0x1.7de18f312e023p+1, -0x1.6076327079b08p+0 +0x1.a2f31df57cbc2p+3, 0x1.03ad6c038bae7p+1 +-0x1.db1d972653debp+2, 0x1.376e9ed8e07cfp+3 +-0x1.85672ff55f928p+2, -0x1.73156b6d0deacp+3 +0x1.0d7cef77cc338p+3, -0x1.1541a0e1f072fp+3 +-0x1.6c5065583d0bfp+3, 0x1.69ca3a3d5c563p+2 +-0x1.90635717d175bp+0, -0x1.25ba9de4801d4p+3 +-0x1.c4e9cc72cf96ep+0, -0x1.325732defb2ebp+1 +0x1.2f0699269aaa1p+2, -0x1.a64d55123701ap+3 +0x1.369fd74ae1da3p+1, 0x1.49c1014a62ff4p+1 +0x1.cf3660caa3931p+2, -0x1.3a1d80da24205p+7 +0x1.5cb90ecf0f3a1p+2, -0x1.c30378be5c0dfp+2 +0x1.1686c9472230ap+4, -0x1.3cd1502aade15p+8 +-0x1.4562f7260c3e7p+3, 0x1.3f4fa7719b902p+4 +-0x1.46e6ffe16e0ccp+3, -0x1.a5850da16cca9p-3 +0x1.5003d725761a3p+0, 0x1.69dc1f7b7e925p+3 +0x1.b764183b5a385p+1, -0x1.9a6b271179b8p+3 +-0x1.1c06d5b5b4a66p+0, 0x1.4df8bcc94142p+0 +0x1.74fad690f19c7p+2, 0x1.1ea5d35dd5686p+1 +-0x1.c23aee10f81d8p+2, -0x1.2287a93fd61b4p+4 +0x1.f460e06de5aacp+2, -0x1.2815a1b07c54bp+3 +0x1.11c6217332b49p+3, -0x1.00a04cf45f11cp+3 +0x1.86c3af6fb8dcdp+2, -0x1.0c876ec92eb01p+3 +0x1.f3c1ad21e5c04p+1, 0x1.0bb5ac9d6c843p+3 +-0x1.4f4a7406ab1b7p+1, 0x1.07af900c871b3p+2 +-0x1.46bf6195f0b8p+2, 0x1.c90ac681e08fcp+0 +0x1.7ed407c698a0cp+9, -0x1.3f7d85617224ap+4 +0x1.1758ae98db17bp+4, -0x1.ea024acea2537p-1 +-0x1.1f4fa2b492b38p+2, 0x1.4c538ca9528f2p+2 +0x1.01fbb1ed22fd8p+8, 0x1.2ab1b48ad28cbp-3 +-0x1.caaed2aa535acp+3, -0x1.24519068ea36cp+1 +0x1.69ed3479d1592p+3, 0x1.47e6d790f634cp+1 +-0x1.9eb4311f435eep+3, -0x1.a44f2b72a6389p+2 +-0x1.2ac157fd826fap+3, -0x1.db1caf4b9bd53p+3 +0x1.16e9e1f95d374p+4, 0x1.05cdbb3d89171p+4 +0x1.b725d6bada087p+2, -0x1.e13268cd2aa13p+2 +0x1.17151f0f57758p+4, 0x1.65a18f2911d4ep+3 +0x1.eadad7880dc7cp+2, 0x1.ac8a55117ff58p+2 +0x1.7a2ebcd3132a3p+2, 0x1.db349c733be21p+1 +-0x1.1a776bd74a263p+2, 0x1.32d48716a741p+8 +0x1.554a4a4f44303p+3, -0x1.ddb5b077db514p+2 +-0x1.dd0ba5689275p+0, 0x1.a48bfa512ecf3p+0 +0x1.d9636522d3966p+0, 0x1.12adeb76d0923p+0 +0x1.da0a21bac7556p+3, 0x1.156a995667945p+3 +0x1.1b26056668539p+4, 0x1.5ffe4e1ce3c6cp+5 +-0x1.30556be8545ecp+8, 0x1.e3066064b888cp+3 +0x1.ea15a2c566553p+2, -0x1.6d3b58ce376dap+1 +-0x1.9e00f866890bap+0, -0x1.8ff59db4be96dp+3 +0x1.2f98cb8642cc2p+3, -0x1.45677decb3a4ap-3 +0x1.922747f2a0d25p+2, -0x1.7be3357268cabp+2 +0x1.9ddeafae2f1a2p+2, -0x1.43206fa87db8cp+1 +0x1.e20cc5134fc1cp+3, 0x1.b9b8634f7f653p+0 +-0x1.eae821b209977p+1, 0x1.0c96ac7d34633p+3 +0x1.35b72ad3bbca5p+1, 0x1.cac6e7b65b8cbp+2 +0x1.0af7d6078d088p+4, 0x1.2c2305d43d128p+2 +-0x1.cf690c0f45ec8p+3, 0x1.d311112e50e45p-2 +-0x1.98fce96d30f19p+4, 0x1.23b70373754b8p+2 +0x1.0c4847b0d2f0bp+1, -0x1.5860397dfba8ap+3 +-0x1.67125bfdb8d5ap+0, -0x1.73f743c3b6853p+1 +0x1.247b8f8ccc663p+1, -0x1.c8c830419d314p+0 +0x1.4d8684b15174ap+0, -0x1.31e5bbe4b1041p+1 +-0x1.6a5f4f262dd4fp+2, 0x1.328cee4e45ccep+5 +-0x1.3f27388aa5e87p-4, -0x1.f8d385707773p+1 +-0x1.c210067d307e3p+4, 0x1.6a6e6dbb0ae92p+2 +-0x1.478d084c24b1cp+4, -0x1.67edbc69ad78dp+3 +0x1.b51483295478cp+3, -0x1.50030faa6eb28p+4 +0x1.575dfbdc38cf9p+3, -0x1.6a8cf7feb7582p+1 +-0x1.b6b8667aa74cap+1, 0x1.ce4123a0a84b5p+2 +0x1.62112e0bbc268p+3, 0x1.28ce0983a8dedp+1 +0x1.213015f809142p+4, 0x1.43304b637c3acp+2 +-0x1.51d477cd1e443p+0, 0x1.d503f98ebb95dp+2 +0x1.273c008808a64p+1, -0x1.3025efc5c1a25p+3 +-0x1.02687ecb11cbdp+0, 0x1.66135128b9cb8p-1 +-0x1.509f27e73b934p+3, 0x1.d23a852bd5f0ep+0 +-0x1.242bd62f08365p+3, -0x1.04304d39a543p+0 +-0x1.45019f6ce20dep+0, 0x1.beed83423efap+1 +-0x1.53f34ba641ee8p-3, -0x1.208fcd6d28d79p+2 +-0x1.70703fb753b26p+3, 0x1.d1394f6d8b6e3p+1 +0x1.a43101466751dp+2, 0x1.c29d963d6b081p+1 +-0x1.e33ab463be076p+0, -0x1.366598c6477dap+3 +-0x1.f8237523b08c3p+1, 0x1.03857fe8ee0e8p+2 +0x1.5451ba35a5febp+2, 0x1.6e5239a777e87p+4 +0x1.1f536f8c3a9a1p+3, -0x1.c929ababbfb8ap+5 +-0x1.8854f5859b131p+1, -0x1.c3be88b49851dp+2 +-0x1.02f8e586a3279p+4, 0x1.21c30e22f14f6p+0 +-0x1.3926091ebda81p+3, 0x1.305d357698347p+2 +-0x1.d26daedaae983p+7, -0x1.1e22be3777ef4p+8 +-0x1.26a326b56fe12p+4, 0x1.1b64db98208fap+4 +0x1.7bcd7003e6d6fp+2, -0x1.a82ce57592079p+1 +0x1.67b03836f5aa7p+3, 0x1.5e4283ca6c241p-3 +0x1.cfcf836d5392cp+0, -0x1.2b401795d946dp+3 +-0x1.c6fd363678493p-1, -0x1.33102f4ebb9a7p+6 +0x1.8de14c2cc9f01p+3, 0x1.7f98b91a03e46p+1 +0x1.0f7247b50334cp+3, -0x1.2d12805eb5909p+4 +0x1.846442eacfebcp+3, 0x1.6d9611ee86c07p+3 +0x1.96116870cb86ap-1, -0x1.839769e537e24p+3 +-0x1.2f42aac30e2aep+1, 0x1.5d6bc7806424ap+3 +0x1.9996b84f96662p+2, -0x1.a8bafccdb41e6p+2 +0x1.3285bdb4fa9f2p+3, 0x1.110c02367d253p+2 +-0x1.2dad96b14bf91p+4, 0x1.46808eb8e1774p+3 +0x1.ed810ac9bb8e1p+5, 0x1.096d3b776c546p+4 +-0x1.cd342000f6664p+2, 0x1.a67102679fac3p+2 +0x1.28e3ec87889f4p+0, 0x1.a19fbcfccdc6ap+0 +0x1.09be5d0cb7856p+2, -0x1.5430beb9610b6p+2 +0x1.75d5e038ac0f7p-1, -0x1.5bfc9d41f5ebbp+1 +0x1.be2ff551eddbcp+1, 0x1.d4b28598a8e23p+3 +-0x1.6b4690029a7ccp-2, -0x1.02549571178aep+1 +0x1.bfc7f6c35be18p+1, 0x1.e3112d1af4a46p+0 +0x1.acab6c6393094p+2, -0x1.9afc7bb4f6565p-8 +0x1.77b4bb4d423ap+1, 0x1.36b19acfe25a1p+1 +-0x1.23e871edef727p+3, 0x1.db2ddac37ca1cp+2 +-0x1.092de26708424p+3, -0x1.f092f892cd9d6p+1 +0x1.7bea30f3984fep+2, 0x1.7165e0ba9295dp+2 +-0x1.3c64f457f8e52p+1, 0x1.b6ff562c52235p+1 +-0x1.2314ea8b15061p+3, -0x1.142ff9dfbb23dp+1 +-0x1.150e7712add1ep+6, -0x1.c92e0c2a54133p+0 +0x1.06c51e84671fbp+4, 0x1.a0159569e1f3ep+3 +-0x1.3129a7cfdb577p+3, 0x1.044c62f184fc6p+2 +0x1.42a4c62e48b06p+3, -0x1.499054d9f46fbp+1 +0x1.c2508eafe06d9p+4, 0x1.b0988c0f83cecp+1 +0x1.2ddbfe18d8826p-1, -0x1.b7f9bd636831ep+1 +0x1.115e34c58e19ap+1, 0x1.dc6c603442aafp-1 +-0x1.ba1ae2c07ac75p+2, 0x1.3693e012fcabep-6 +0x1.6dbe5bf300e55p+3, -0x1.eb49103b390a7p+3 +-0x1.0b08cc9be0634p+4, -0x1.2bd6cef833e2fp+0 +0x1.f7caef80e9a5bp+0, 0x1.1b7644ee2ae9bp+4 +0x1.101dafef3b907p+2, 0x1.adad944e69acfp-1 +0x1.b77d9af425f21p+0, -0x1.428fcec36401ep+4 +0x1.e4e7ac29f81bap+2, 0x1.0fbaca8f0a16dp+3 +-0x1.55888c7627ba2p+2, -0x1.2431bd4d8e4bcp+3 +0x1.d6a132370005ap+1, 0x1.fce08437fe2d8p+3 +0x1.53a55f1912a6ap+2, -0x1.fce03b7241f59p+0 +0x1.3253a42dae898p+0, 0x1.7f6e59a804fbp+3 +-0x1.21982f9c940bcp+3, 0x1.61f442c53ecp+3 +-0x1.8931393a798dep+3, -0x1.f7f475da5a2ap+2 +-0x1.28607bb3fc629p+1, -0x1.cab3de8effc78p+1 +0x1.d85946505a3f1p-1, -0x1.a78303c468dfap-1 +0x1.4a21671da1acdp+1, -0x1.05e1a238b6133p+4 +0x1.5149ca73fd176p+4, 0x1.ed04b0cfffa48p-3 +-0x1.83e4bc1174885p+0, 0x1.3b79908f0d1d3p+2 +0x1.79c1dd7c5258dp+3, 0x1.d498ffa72632cp+3 +0x1.dfb08762dc93cp+3, -0x1.67b0546bb87fp+3 +-0x1.4da0bb702b88cp+3, -0x1.777ebb6027da6p+2 +-0x1.1f81a63d09d0ap+3, 0x1.35464d7a99f02p+4 +-0x1.fb45b1a8ddea4p+3, -0x1.1e16945c00e01p+4 +-0x1.00f97b6ebe885p+7, 0x1.470319b89e6b3p+3 +-0x1.2047d8a47245dp+3, 0x1.c98b8a0f6bb2fp+2 +-0x1.a0609a50cd2a3p+3, 0x1.3d6f775e16825p+2 +0x1.15abce366a1aap+2, 0x1.f2be5970b6e4p-1 +-0x1.34b93afbcadd3p+3, -0x1.1c9beafc52c79p+4 +-0x1.838fcc8914937p+3, -0x1.e3dc54c5445cbp+1 +-0x1.25c04961d1e73p-2, 0x1.279e6af8d355cp+9 +0x1.2a086b34bad3cp+3, -0x1.b069453cd8835p-3 +0x1.9e2060b2d826ep+0, 0x1.8017a927fbba9p+3 +-0x1.743d1404daa3dp+2, -0x1.16cd556ccca7fp+3 +0x1.3247803f05a12p+2, -0x1.20e082cd5db02p+2 +0x1.0db4bbc981734p+7, -0x1.2d1531bec51fcp+3 +0x1.3249f8c57eee3p-1, 0x1.f6cb8dd6b2485p-1 +-0x1.9aa5f33fbd698p+3, 0x1.5a682f42217c1p+4 +0x1.23a0388ca7f5cp+3, 0x1.4468797dfab5dp+4 +0x1.41276839a1b1dp+0, -0x1.4d0859196edc7p+2 +0x1.43040cc0ff2p+2, 0x1.abc681351eb31p+2 +-0x1.126bbe5ea6327p+1, 0x1.66f807ec28188p+0 +0x1.344f6b9f7ffe5p+0, -0x1.05a2cf577997dp-1 +-0x1.4845313a7ad1p+3, -0x1.464facbbec9a4p+2 +0x1.f430e39483992p+3, 0x1.5dc3812f4d36p+2 +-0x1.f5dbc834ab847p+1, 0x1.5b76788eb0ddap+4 +0x1.134ee1b37c60ep+4, 0x1.d99bd6ddef6f6p+1 +-0x1.1b9c7bdc59c2ap+0, -0x1.33198cadb8951p+2 +0x1.7925c1dcd4667p+4, 0x1.f5dd756851115p+3 +0x1.403f86f9dc5fep+3, -0x1.1830538a5b918p+1 +-0x1.beed55de6bae4p+3, -0x1.2b5ac698fe934p+3 +0x1.04012bcd43c6p+8, -0x1.2da19cc1aef01p+4 +-0x1.8937b28900d7cp+2, -0x1.41e50693740e1p+1 +-0x1.05150bcf34211p+3, -0x1.20300baec76bdp+2 +-0x1.9ae390844e40ep+1, -0x1.164122218006cp+1 +-0x1.1abfcefcf3f81p+4, 0x1.17beae5350747p+1 +0x1.34bf78f74c29ep+7, -0x1.07b6e61b68e6ap+1 +-0x1.362c69e55b2fep+3, -0x1.9c36893153484p+2 +0x1.ffd7f10a302f1p+0, 0x1.2dbb443aaa6ep+1 +0x1.f61562b29d25ap+2, -0x1.7207b48216746p+3 +0x1.f65353a0b9da3p+4, -0x1.75abd8edfab74p+3 +-0x1.a88d624960801p+3, 0x1.64926415cba5p+8 +0x1.8a88dcc77efb6p-1, 0x1.a884029688d1fp+1 +0x1.6485345ee1a7fp+4, -0x1.1cebc81c01fd2p-1 +0x1.c5ed6cf98a478p+2, 0x1.df70c125c0baap-1 +-0x1.c1aead0b5b346p+2, 0x1.148e1f9854b94p+1 +0x1.caf8ec5d455c8p+1, -0x1.a202389c7f194p+2 +-0x1.e7f840fb59b7cp-1, -0x1.096f61051c6ddp+3 +-0x1.b1df2cf01b757p+3, -0x1.947ccefa62ddap+2 +0x1.77ee0e77dbb4dp-2, -0x1.7065b12412a5bp+3 +0x1.5f965f0f62b5p+1, -0x1.26f5773155c6ap+3 +0x1.c6c8ad677c9c5p+2, 0x1.78b90b0b1b5dfp+3 +0x1.a1b4dadf8a56dp+1, -0x1.015c7763d5265p+3 +0x1.be6a765d8347dp+3, 0x1.7ed893be4966ap+1 +-0x1.e0003bcc18fafp+1, -0x1.5c160087d13eap+3 +-0x1.59a6b6f29cf29p+4, 0x1.aa2862cbb769bp+3 +-0x1.7aab911c8aadp+1, 0x1.fdb38859ddf43p+1 +-0x1.5938dc30fd30cp+3, -0x1.d7c554085d5a2p-1 +0x1.e210a0bf8f99fp-4, 0x1.a986b5230b36fp+4 +-0x1.fff25f4a72eedp+1, 0x1.6f793385230f7p+2 +0x1.3da119868da26p+3, -0x1.c4003d8b53de2p+3 +0x1.a76fe84f2880bp+1, 0x1.abe2da4ad8732p+2 +-0x1.0d5349f5b67dfp+2, 0x1.ff702d4ed0804p-2 +-0x1.35002db898044p+2, -0x1.63849d081f05ep+2 +0x1.94361da142b4ap-1, 0x1.d47f3a3245f57p+4 +-0x1.e4fb66d838d2ep+1, 0x1.8fe30a34f5e35p+4 +0x1.44387257d5bfbp+2, 0x1.0ca332371c40ap+0 +-0x1.578ab9ef861f7p+3, -0x1.10d79e9cb8f16p+2 +0x1.c6099bd3ca797p-3, 0x1.5d0f65971b27cp+4 +-0x1.3835014acf332p+7, 0x1.c1ccc8c5cd408p+3 +0x1.985ffd2ee5e43p-1, -0x1.fb5329346621dp-2 +-0x1.3cfff78876e9fp+1, -0x1.22f3ba0395186p+3 +0x1.def44ad7156e2p+3, 0x1.905e4e3bd0e7ep+2 +-0x1.255561496ae2cp+3, -0x1.c97c63e53d3cp+3 +-0x1.33da44a041aaap+3, -0x1.c2696b463463fp+2 +-0x1.3eeae4da1dbbbp+0, -0x1.fbeee1a234ff8p-2 +-0x1.d3bab7eb5a63cp+0, 0x1.2706c70c3b58dp+4 +-0x1.9a7891fc6ac5fp-3, 0x1.4d302d7ff7e22p+3 +-0x1.69c61490d578p+4, -0x1.b3bd6e7b3f61dp-3 +0x1.e2c9fc93c6f4ap+3, 0x1.5581ebaa8cefp+7 +-0x1.7b25d27af2cd4p+3, -0x1.1af3ef9b607p+4 +0x1.9dc8926006df2p+2, 0x1.00be2665efa1fp+4 +-0x1.fe4081f61ea09p+4, -0x1.c53c97c72374ep+3 +-0x1.115f2473cfb17p+4, 0x1.44a8ad3a12aebp+2 +-0x1.4133b72b23b86p+3, -0x1.734b4800560dap+3 +0x1.68030e45b58acp-2, 0x1.43814cc4b44f9p+3 +-0x1.192b6683fd931p+2, 0x1.ba8a37f29309ap+4 +-0x1.8643bae1e2023p+4, 0x1.4759edcfe091bp+3 +0x1.11192e600b218p+3, 0x1.b4b46f4c9a573p+2 +-0x1.62c9048a4cef9p+3, 0x1.668dc668679dbp+3 +-0x1.e4bd943e1497dp+2, 0x1.1293bdebe151fp+6 +0x1.e87f5c8d29f15p+3, 0x1.539a95b61ea6dp+3 +0x1.3f961eda5709dp+4, -0x1.fa37d82b4545bp+1 +0x1.2e5e891c26fc1p+2, -0x1.a193abc8edbf6p+2 +0x1.a2c6073cc8079p+3, 0x1.55e4417b47c85p+3 +0x1.642d82e3ad7dfp+2, 0x1.197db6009b25p+3 +0x1.e05ad7abeb5ddp+1, 0x1.1cedad29320e9p+4 +0x1.524d739ed521cp+3, 0x1.cce582bcb439dp+2 +-0x1.e0c795fb91295p+3, 0x1.49097a1422819p+4 +-0x1.4118e1069a71dp+4, 0x1.5e7e8a28e6256p+2 +-0x1.735a1426718c4p+2, 0x1.7f44420d028eep+0 +0x1.06d9ce7a33e8dp+0, -0x1.12fb4375fad56p+3 +0x1.21a16151dd2cfp+2, -0x1.a1707343491afp+2 +0x1.8cf59a41c8393p+2, 0x1.460e8c7e31713p+0 +0x1.5e4f72ead268bp+3, 0x1.57de2d0fcf48p+2 +-0x1.1ececcfe83d76p+4, -0x1.cf4a3352c4c7bp+2 +-0x1.8c66792e9b366p-4, -0x1.4667aad5d20c7p+3 +-0x1.2a79dea96779bp+1, 0x1.0b9bb6654d308p+4 +0x1.2169593f2c17ap+1, 0x1.749b2a77bd706p+3 +-0x1.bd6ee9b4c6448p+1, 0x1.8d7a88706ee97p+3 +0x1.0c00ed990f423p+2, -0x1.9d0733d586417p+2 +0x1.50bf5913d246ap+3, -0x1.35a99a52f6d8dp+4 +0x1.ccdf4a9e81471p-2, -0x1.6151d9d8b2c79p+3 +-0x1.26cd032dc10d1p+1, -0x1.28b71e159b136p+2 +-0x1.9393a074dd09fp-2, -0x1.2e7f603ead7a5p+3 +-0x1.ac1ac3a189ef2p+3, 0x1.975dfb9d919a8p+2 +-0x1.9b4d025eafdddp+3, -0x1.5371a7ebf947dp+3 +0x1.c669d4c98841p-1, -0x1.f9b0413842cb1p+1 +0x1.69a4bec3d4a25p+4, 0x1.f67ed5223429fp+2 +-0x1.066ee8f164313p+5, -0x1.0f81ea89b4529p+3 +0x1.01395a84c80c6p+2, 0x1.a3bc3ee4a39b2p+2 +0x1.2e771a8fe48bbp+3, 0x1.6dc22a2d8061dp+3 +-0x1.838cf2972ac2ep+3, 0x1.c4cbda6585fb1p+3 +0x1.4a142649fb041p+4, -0x1.3419f9fc41c76p+1 +0x1.bb7d90e10c2eap+0, -0x1.47957aa3ca892p+2 +0x1.ff64d4f5307b9p+2, 0x1.b885977e5dcecp+3 +-0x1.48c8d89b8e546p+0, -0x1.abb53ea6437b6p-1 +-0x1.29bb1e5549a04p+3, -0x1.e4ab39642c417p+1 +0x1.b6f3637d5cc6bp-3, 0x1.294b333cd11fp+0 +0x1.4f6c83bd85872p+3, -0x1.34e371ce7fed8p+4 +0x1.a02be0e4a422ep-1, 0x1.ff457c46b7a9fp+2 +0x1.478036c51678fp-2, -0x1.36c592f916e25p+0 +-0x1.5e0c9c6bde53fp+1, -0x1.f36e205959a6dp+3 +-0x1.5bdc6f3c3ef47p+3, -0x1.fdf865b82c3d8p+1 +-0x1.a3df9cf671bf2p+2, -0x1.acaa138fcb042p+1 +0x1.54e382cd4b0e6p+0, 0x1.eb91d030a8a39p+3 +0x1.360a7b2ec5c39p+3, -0x1.5e33c85dd308ap+0 +-0x1.8caeadd5e8eb8p+0, -0x1.c8afbc1876d54p+3 +-0x1.029e5a5621b1bp+2, 0x1.6ed93b1534395p+3 +0x1.bbce2314d32a6p+4, -0x1.32c3faf14a3ffp+4 +-0x1.999f845161e5fp+3, -0x1.7dfaa6d7b307cp+3 +0x1.44caaf1183b9bp+3, 0x1.1806cd6e4664p+4 +-0x1.f395ed644ad68p-1, 0x1.829c3de90cf7dp+3 +0x1.40994f22d2578p+2, 0x1.96de198178612p+2 +0x1.5e8f065696dc2p+2, 0x1.58d5204f62927p+1 +-0x1.443d255d5552p+2, 0x1.9f9ae68548da6p+3 +-0x1.077a5b35f0bfdp+2, 0x1.6fd23c280adap+2 +0x1.5abff9fa46a2ep+4, -0x1.2c9a5ce610ccep+4 +0x1.477ea6886b94ap+4, 0x1.c62db827d33a8p+8 +-0x1.a9506f6f91d81p+2, 0x1.cc772af11e75bp+2 +-0x1.1019dc9e7c71dp+6, 0x1.22b625a1d6964p+2 +0x1.c0df28cfa3d6bp+2, -0x1.addfe7a8be58bp+3 +-0x1.d7a9624e36527p+1, -0x1.5c8bd077d6b3bp+3 +-0x1.617b471cc2258p+3, -0x1.3138d8ac40ebp+3 +0x1.14eb1b73685bcp+1, 0x1.df60116de9fa9p+2 +0x1.8cab99aa043f7p+3, -0x1.1f39db9e98351p+2 +-0x1.86965e156da27p+3, -0x1.9d623947ac61bp+0 +0x1.1c69d47337339p+7, 0x1.8d4b25abafb96p+2 +-0x1.3fc54d2b94ceap+1, 0x1.9939819fd31a3p+1 +0x1.2f6b4cf2a7592p+2, -0x1.3c2eabcce380bp+2 +-0x1.f8df45a4c1e7ap+1, 0x1.942df7ac39d6ap+2 +-0x1.a350d7f6caa04p+1, 0x1.026f8d2e9bba3p+4 +-0x1.38c30f0597e45p+0, 0x1.9ff17dc2a1fe2p+0 +0x1.8d821a105be4cp+3, -0x1.13806e173f614p+2 +0x1.5d501eee9bbdfp+0, -0x1.a0e5e41ffbd56p+4 +-0x1.b5cb36a19e12cp+0, 0x1.87b80fa659663p+3 +-0x1.283f435e39d55p+3, 0x1.2186b679cfb2ap+3 +0x1.fdc9208fcc178p+3, 0x1.34f1865e925cep+3 +0x1.456e7e7c59de6p+3, -0x1.ebce0228648ddp-1 +0x1.d903bf8432f7p-1, 0x1.7ec3d7a01ef7dp+3 +0x1.220cf874db741p+1, -0x1.37845a2b3ca68p+3 +-0x1.7f5f8385191b3p+2, 0x1.1cfd4749b6147p-2 +-0x1.41c843ac2dedcp-2, -0x1.7466556e36e72p+1 +-0x1.4d6d6d2de474ep+2, -0x1.e4bda9e4d5386p+3 +-0x1.30a6c8fd7778cp+4, -0x1.2c0ecd67cf4d4p+5 +-0x1.4dde61c307c39p-1, -0x1.7b6e9d4e62982p+4 +-0x1.0fa974a82e49ap+3, 0x1.f40de53abc702p+3 +-0x1.371cf32b255d5p+2, 0x1.e142822ff99e5p+1 +0x1.77c7b5fbb508fp+0, -0x1.3620163f763e9p+4 +-0x1.03e245396df71p+4, 0x1.024be6c1d70c8p+4 +-0x1.897d53fd03221p+3, -0x1.c3c31e69a8f35p+3 +-0x1.108dc60dee8efp-2, -0x1.c67c5f337931dp+2 +-0x1.a46ec0c6fdfb5p+0, -0x1.d2f5a4c0fa054p+7 +-0x1.7b5cd2a1a422ep+3, 0x1.0e39645dfe31p-2 +0x1.912845b17bb8fp+2, 0x1.6b31f569d87dbp+3 +-0x1.557638e6007p-1, -0x1.16f75bbba92d5p+3 +-0x1.1c277fe150e68p+4, 0x1.07655648421b6p+2 +0x1.f5ece73a7e079p+0, 0x1.7845d857d0d46p+1 +0x1.61546f734d0e7p+1, 0x1.525f574c7276ep+3 +-0x1.06365bb1409e5p+4, 0x1.19dc571ed383ep+2 +0x1.1359bdeda427dp+7, -0x1.5cde1da1c2b74p+2 +-0x1.86b80d89b205ep+4, 0x1.e149e4c5a312p+3 +0x1.fcbef6876e2c2p+2, 0x1.5eb00c4ad2238p+0 +-0x1.fc7c724a9f1bfp-6, -0x1.76feaf4211d0ap+2 +-0x1.493eaa015fcdap+2, -0x1.9dbb2cee738a1p+2 +0x1.6153e4244b23dp+3, -0x1.e741bb0da75edp+3 +0x1.ec95a82b11a78p+1, -0x1.1790d849777c3p+3 +0x1.0e053ffb9e011p+2, -0x1.9bb546a666451p+5 +-0x1.62cc3edd1e6bdp+5, 0x1.cab2893319093p-1 +-0x1.1692dc40bfa1cp+4, 0x1.a6f02042220b2p+2 +-0x1.ea675be6c2237p+3, 0x1.24337ee6f0126p+3 +0x1.28d43276db167p+2, 0x1.77992c41e2134p+2 +0x1.f7fe6bae9a177p+3, -0x1.aad3b038a12f4p+2 +-0x1.598b85528fdc2p+3, -0x1.72c82a8e6c254p+2 +-0x1.0555989d523e3p+4, 0x1.4e3218e5e879bp+3 +0x1.2687af5b29b4fp+2, -0x1.8c21a7db1843dp+6 +-0x1.a41f21453cb5dp+1, -0x1.ce9a8ddad2733p+3 +0x1.099acef6d5aabp+4, -0x1.707b75f2f82f5p-1 +-0x1.8bd1f586d26f4p+4, 0x1.b44a9a952a4b1p+2 +-0x1.b12ea7aa50b15p+3, 0x1.e5d6120b64c6ep+1 +0x1.24b0d10879181p+4, 0x1.2988af1467c81p+4 +0x1.e924b42d43657p-2, 0x1.1aa15c31820a5p+1 +-0x1.a975d94d394e2p+4, -0x1.8d336e86c53a6p+3 +-0x1.48a8f17c290b8p+2, 0x1.a08ccb82b8fafp-2 +-0x1.2a5689c90449fp+2, 0x1.dde1147f3c512p+0 +-0x1.254f4c1a8329cp+3, -0x1.7823c331a3ba3p+3 +-0x1.92160c85a7825p+2, 0x1.963644251781cp-6 +0x1.a5b9f9bf833c4p+2, -0x1.08d57b7169b34p+3 +-0x1.69d3aa568222fp+4, -0x1.03ea5eed2d94ap+3 +0x1.93639dd8f5bdcp-6, 0x1.0c53ca2c8a48ap+2 +-0x1.0435fab831e0bp+4, -0x1.bd64ab6f47045p+2 +0x1.ddfec8ebd6b6ap+0, -0x1.dc7d6203d36eep+2 +-0x1.b557a89a1da9p+3, 0x1.18c1bbf1812b8p+0 +0x1.41996c4a0b275p-1, -0x1.800094e7e37c5p+3 +-0x1.95bc4999b6dadp+3, -0x1.cd664f3a57043p+3 +-0x1.d2b66f117407ep-7, 0x1.617284be80b24p-5 +-0x1.27576468e7b2bp+1, 0x1.c941e4d9d02d3p+2 +-0x1.5c930e8a0a283p+4, -0x1.71b95a2e3e854p-1 +-0x1.f48a46a291d02p+0, 0x1.5f24259af22eep-3 +-0x1.7a2f37f22d646p+3, -0x1.0e534262d7f41p+6 +-0x1.772de93e0fd8p+2, -0x1.0b9bc423252fcp+2 +-0x1.2355077e6431fp+4, 0x1.267378c8a3e55p+2 +-0x1.bbcd18cb20488p-1, 0x1.b3e46a5f4c8f3p+3 +-0x1.a0cc89fbcc8d3p+2, -0x1.e251dc66eaddep+3 +0x1.649766f5e87d2p+2, -0x1.1563e1eac0bb3p+3 +0x1.c3736f3173c99p+2, 0x1.07d64c250f858p+0 +-0x1.4a0bab3bd92c6p+1, -0x1.ef86dcf5bb973p+3 +-0x1.13bdb4fccf6e7p+0, -0x1.a2b86e9ad151ap+3 +0x1.c0db8d678282fp+3, -0x1.0b4b00aad2622p+0 +-0x1.56d9d55ee1a96p+3, -0x1.0d5732b5cdaf5p+9 +0x1.24a5094f113ccp+4, 0x1.6adb3c447287p+3 +0x1.84adb91e0f40ep-3, -0x1.bb535ff63376ep+3 +0x1.1ba17de2fb7e1p+3, -0x1.2ba3d7ad5a3c1p+3 +-0x1.3bca4af42456dp+1, 0x1.a6143da2d37ap+2 +-0x1.f54b39594555bp+2, 0x1.3eed3d7eaaf48p+2 +-0x1.463febf38a476p+1, -0x1.25e91ca48f346p-2 +-0x1.3c2466060425ap+1, -0x1.34fd9d30a8cc8p+1 +-0x1.f9d0269449723p+1, 0x1.08db2e13a7a1bp+3 +0x1.2379a3f425b38p+3, 0x1.e893ccac9cd6p+0 +0x1.8601ef12d14cp+2, -0x1.144aef770b686p+4 +0x1.3d848e85a5979p+2, 0x1.52490d1296b5ep+3 +-0x1.52ba8f327b234p+1, -0x1.5db56c7924ed6p+2 +-0x1.afcb4f1c81b86p+0, -0x1.876adb05af8e1p+3 +0x1.a56b9850ee2bp+3, 0x1.3695b0747274cp+1 +0x1.d0aabdb6e70edp+2, -0x1.38eebc8c3bc35p+3 +-0x1.1d47efa3138e8p+3, 0x1.7e54c2a0fd7f2p+3 +-0x1.05e24639b3704p-3, 0x1.a2287a712501ap+3 +0x1.60eca9a112033p+3, -0x1.cec70126c0926p+3 +0x1.e4254ffc35fdp+2, 0x1.7f3a8765cbffbp+1 +-0x1.2d9f66efea68ep+1, 0x1.1fc7632b1eebdp+0 +-0x1.4b95053bc119dp+1, 0x1.55bd6fe6b94f3p+1 +0x1.3d4dcfba85881p+2, -0x1.4b8f80230183p+3 +-0x1.2e026077628f3p+4, 0x1.45e7ea8117606p+2 +0x1.070dfca3e56adp+4, -0x1.ca064837ca164p+1 +-0x1.548cc35be3c9ep+3, -0x1.9b0df29523929p+3 +-0x1.1f8caa12d87edp+4, 0x1.e9b398b75032ep+1 +0x1.1efb94713a163p+3, -0x1.1bd9da81861d9p+4 +-0x1.69f29b5867782p+2, -0x1.04bc77fde6206p+5 +-0x1.8e84168ab3b38p+1, -0x1.02ff1a85809abp+4 +0x1.fff8440314273p+3, -0x1.ae7b8c47f6e3cp+4 +-0x1.0e14dff3842d6p+2, -0x1.ff7ddff69a37cp-2 +-0x1.2c4059cbb598p+2, -0x1.ba906851a1dc3p+1 +-0x1.78808404af872p+2, -0x1.f0bbb808cffe4p+3 +-0x1.411b2c579fe1ep+4, -0x1.6b206b104d2fcp+2 +0x1.be4ee685ccf46p+2, 0x1.0ca8204680ae6p+3 +0x1.f6c0fff70cf3dp+3, 0x1.c1a5d7087a566p+2 +0x1.6f690b562620bp+3, -0x1.b0ca168ee3283p-1 +-0x1.b3572b9955476p+0, 0x1.bb1bbd4746079p-1 +0x1.c52268d365c79p+3, 0x1.f110cba52a22cp+0 +-0x1.6fda48db86f6cp+0, 0x1.254c3b4368ba6p-1 +-0x1.0ce1a52c5e7bap+4, -0x1.2216b0038e9f2p+1 +-0x1.269fc0ff05c11p+3, -0x1.ae03a19bd41dep+3 +0x1.b650672519a55p+4, -0x1.77ea602be0f2cp+3 +-0x1.6a05036994aep+2, -0x1.e8b1cd7a74de4p+2 +0x1.16eebb71a7eecp+3, -0x1.03909b8355205p+3 +-0x1.501dbf0e54fbdp+0, -0x1.70d4fc59c33bap+3 +0x1.26f7feb70930fp+2, 0x1.3299c0840d4a5p+2 +0x1.1554e51ca6bacp+3, -0x1.286cb2455badcp+3 +-0x1.0f307d840b356p+0, 0x1.03df946bd0424p+4 +-0x1.b00bfb09939ccp+3, -0x1.0362e200b6982p+0 +0x1.9ddb14d538345p+2, -0x1.75e6f2cf6cf6cp+4 +-0x1.06a73ecf2af84p+4, -0x1.46fbf29793786p+3 +0x1.cb8d76742bd97p+3, -0x1.31a6f0d4495p+3 +-0x1.085c6959ab14bp+3, -0x1.969670127f1a9p+2 +0x1.496d2fb76a0f4p+4, -0x1.3ef172a8e55fbp+3 +0x1.43fa45a1670eep+2, 0x1.b1be2d9ba8f8p+1 +-0x1.a90b9e0c64826p+2, 0x1.e16e0013ade55p+2 +0x1.e11c069d2f00ep-1, -0x1.9719ee46fd999p-2 +-0x1.95f6a6e236006p+2, 0x1.fa93b08dd58f5p+1 +0x1.f93eac223a6ccp+3, 0x1.034a306b25569p+2 +-0x1.ba1e8148989ep+3, 0x1.1eb78f5ad90ap+2 +-0x1.2cfa815ba73e9p+1, 0x1.5b6caafc569e7p+3 +0x1.b810315c37eb1p+3, 0x1.715d87f2a895dp+2 +0x1.44459301c3e5p+3, -0x1.484777fefec5dp+0 +-0x1.64a041dd8e9c5p+3, -0x1.da5f106c3b366p+2 +-0x1.68f8ec8895376p+4, -0x1.ae5deb1e81d26p+3 +-0x1.4878e809357abp-1, -0x1.4f376edfd2155p+1 +0x1.97cd6f664fc6p+7, 0x1.72f1967fbf4e4p+2 +-0x1.93c603a229cf8p+3, -0x1.f7143379afcb4p+1 +0x1.eab06f2169508p+2, -0x1.1969665a04b06p+2 +0x1.17e577dadacddp+1, -0x1.e088184bfab84p+3 +0x1.c50ae6f2a9a65p-2, -0x1.dd1f8dcb4c1bdp+1 +-0x1.49a4acbb921dfp-3, 0x1.5d4d3f9f8b147p+2 +0x1.0eef020d17b9cp+1, 0x1.744108e9234f7p+3 +-0x1.70f18e0693597p+1, 0x1.20a7a8f707f1ep+0 +0x1.2a468e0664b15p+3, -0x1.07de72ea97036p+1 +-0x1.e955c739cd51dp+0, 0x1.8424b9f589f1p+0 +0x1.5ed6ea469148cp+2, -0x1.c4bba3414a2e2p+2 +0x1.01dfc878190dep+2, -0x1.2a28031f78835p+3 +-0x1.ec2a63c855ff3p+3, -0x1.96511878f37a1p+2 +0x1.652094f1db067p+2, -0x1.a6e8cacf6b8efp+3 +-0x1.d50fbdfea643ep+4, -0x1.958ef4dff38bcp+0 +-0x1.e75bc6acb7ab5p+2, -0x1.6dacdf3d4b4dap+3 +0x1.49bd74b200734p+4, 0x1.b88640873aeb5p+2 +-0x1.24d046a91d1p+2, 0x1.e0d98a0f94435p+4 +-0x1.08aed0fc25f1ep+1, 0x1.e38e145d01b57p+0 +-0x1.372246bc4867bp+3, 0x1.ae3a6f9e521c5p+1 +-0x1.6bb8ed5b10ff6p+3, 0x1.12eeb20a9ae09p+9 +0x1.10521d9c47bebp+3, 0x1.708da295a18f6p-2 +0x1.d3995f9f0e43cp+2, -0x1.9239530269d9ep-1 +-0x1.a3ab8944852c4p+2, 0x1.1cbc105e38a1dp+4 +-0x1.2ea156f8e27e7p+4, -0x1.7e9a2772c2296p+2 +-0x1.c8c12102dd6a9p+6, 0x1.3f993459b88f9p+0 +0x1.4df64bc98c0eep+3, 0x1.8033c21e4c5c9p+3 +-0x1.fa8cab8241c6cp+0, 0x1.f07676bce9c71p+0 +0x1.14d153ae1d815p+4, 0x1.5c1fd761909edp+1 +0x1.b775da63c5d37p-2, 0x1.f1b8b0159a0a8p+3 +0x1.eecfa63db3637p+3, 0x1.4f431e35d5086p+1 +-0x1.4917b8e00856ep+3, -0x1.59b224b6e69e7p+4 +-0x1.d9c527cfc462bp-1, -0x1.bee616f78523bp+1 +0x1.657e899302e6fp+0, -0x1.147283d9caa71p+2 +0x1.2da1e0ff26489p+3, 0x1.f7ada233062f4p+1 +-0x1.875cd0bd2ddaep+1, -0x1.e838c4a5a5334p+2 +0x1.7929e4377fbabp+3, -0x1.b51f667194679p-2 +0x1.385c4a8132291p+8, 0x1.62d1c71b6a913p+4 +-0x1.67a6b9ad59084p+2, 0x1.012dfe2f87f4ap+4 +-0x1.60fcd39dd43f1p+4, -0x1.d29306bb5e532p+6 +0x1.82afd3555fd3ep+2, -0x1.c852ae17a64fcp+3 +0x1.7bb8429ab1eb9p+3, -0x1.8d611344f6bcbp+3 +-0x1.ced65527236f5p+3, -0x1.02d3d9cffe8bp-3 +-0x1.25390e0073833p+3, -0x1.5313038ff51ccp+4 +-0x1.d30b85f9f7127p+1, 0x1.1f2fa18cf8d2dp+1 +0x1.74d9ad971c6f7p+3, -0x1.514432642b8f4p+7 +-0x1.70e71e37e1c8fp+2, -0x1.2af0e865764a6p+2 +0x1.e63ea9371af6ap+3, -0x1.9ef63ba0e5867p+1 +-0x1.ccc900bb76d0dp+3, -0x1.e3a37ec246cbdp+2 +0x1.8a42267f0c29p+5, -0x1.de9407818cf97p+3 +0x1.da938cd6e6ab6p+3, -0x1.63f306b188f5p+3 +-0x1.4426c88599f06p+0, 0x1.1e31a13379af8p+2 +0x1.65c7cc94cac5bp+3, 0x1.78858d62e831p+4 +-0x1.dad4b9420d854p-1, -0x1.435c48e20f233p+4 +0x1.1cec27be67ebep+4, -0x1.9bced69bc408ep-6 +-0x1.e894b47c0eaa5p+3, -0x1.058dca75edd96p+4 +0x1.4e4aea0072e74p+2, -0x1.078f70cbb8bc5p+5 +0x1.f381fe617427dp+2, 0x1.8ee6a84034746p+3 +-0x1.d82a154a22595p-3, 0x1.90756d0d0e891p+3 +0x1.d6153e290403ep+3, 0x1.af448560924b2p+3 +-0x1.a80a5ccace48ep+2, -0x1.e59a827cedda7p+3 +0x1.f4e7582f6b37dp+3, 0x1.53437d66b13e9p+3 +-0x1.ddc8f15c3f88fp+2, 0x1.4d238549bc06p+3 +0x1.dd19dcef1352fp+0, 0x1.3c97500b4adfdp+2 +0x1.75a2013f56706p-1, -0x1.07135097feb26p+3 +0x1.801d1a0a74974p+2, 0x1.efd0df44e9b76p+3 +0x1.9a387c5165b23p+0, -0x1.7cb745f34509bp+2 +-0x1.e11c36ae55463p+2, 0x1.44d5e2f41bec7p+4 +0x1.24fca03b5c9edp-9, 0x1.586f19eaa2837p+4 +0x1.df7d5cb7aa536p+1, -0x1.50e397256c935p+1 +0x1.e94e74484907bp+1, -0x1.0783dc82e5558p+3 +-0x1.b1826d98ed66fp+4, 0x1.f94d2ca3ef812p+2 +-0x1.c6374298677a6p+1, -0x1.55be6a49cccfp+2 +0x1.06c19376216dfp-1, -0x1.9518cb6a47534p-1 +0x1.11ce94ecc7c49p+3, -0x1.8c83c618bf5eep+4 +0x1.7c9947f55bdf9p+2, -0x1.368f6071a76b5p+2 +-0x1.7759796de3f42p+2, -0x1.0fc0a736aac4ep+3 +0x1.07898129c0a92p+3, 0x1.41794a91de696p+2 +-0x1.6a7fb5ba29ec7p+1, 0x1.0130ec80572cp+1 +0x1.3a6f486f8ebd2p+2, -0x1.06ec3d723e272p+3 +0x1.2e873e2ffccdp+0, -0x1.bbfcecf23f29ep+3 +0x1.0d9c8bcf702ccp+3, -0x1.8bf83605860dep+3 +0x1.5867aa548ea19p+1, -0x1.46e635f54c36bp+1 +0x1.64bad6bda152ap+2, 0x1.25b179ff73d99p+3 +-0x1.30be6b1745b68p+3, 0x1.0c7e7eeb6ec98p+3 +0x1.fc3db86888f04p+2, -0x1.2e7c1d47fcc6fp-2 +-0x1.8a437b9217b0fp+6, -0x1.2b2981e034631p+1 +0x1.a277c46ee023ep+3, -0x1.b762b2659eed4p+2 +-0x1.316b900306496p+1, 0x1.6498178e42b2ep+1 +-0x1.01674aba386bbp-1, 0x1.66d237f54a752p+3 +-0x1.f10df46903465p+2, -0x1.62c98357984c5p+4 +-0x1.01f501712a2c9p+2, 0x1.d3df2d5de7ac9p+2 +-0x1.e05174764b17ep+3, 0x1.a4e73d18212abp+2 +-0x1.bd0596b153a03p+3, -0x1.8771cfa4e416fp-3 +-0x1.3dca521f08e49p+3, 0x1.e5061e4d500c7p+0 +-0x1.bb9455cb505bcp-1, 0x1.e7189581f989ep+1 +-0x1.80dddd5cac36ap-1, 0x1.67184b8f09adep+0 +-0x1.e1dddd7d3967ep+2, -0x1.927dcb922f1aep+2 +-0x1.e9e4b020682d6p+2, 0x1.9c4e2f585832ap+1 +0x1.f9f6449921007p-1, -0x1.f840c3b53db5fp-3 +-0x1.b58a68f6c1ff7p+3, 0x1.d2709d6b43d29p+2 +0x1.8b90c7f1c09afp+2, -0x1.95fb0e459f40ap+2 +0x1.0a4ed17dd8925p+4, -0x1.0b5578cf07fd7p+2 +-0x1.f835b6b23ee97p+2, 0x1.3d7bfec0fc298p+4 +-0x1.97933f35164ap+2, 0x1.0025fecb2ee4bp+2 +-0x1.00c5236b9384p+4, 0x1.bf0fbce99ff6dp-2 +-0x1.1563644580c69p+3, 0x1.b32f258ca6873p+1 +0x1.d318343d78954p+3, -0x1.43d26bb7fdb65p+2 +0x1.bc71a565965ddp+3, 0x1.d897f359b04b7p+1 +-0x1.c58bf30df72d6p+1, -0x1.ee0cc6f839061p+1 +-0x1.935c4fa756109p+1, -0x1.dbc57ceb6b238p+2 +-0x1.a03af60bbcfe9p+2, -0x1.7abba16b306f2p+4 +0x1.1434bc2f42b21p+4, 0x1.e07be6e15efeep+4 +0x1.c33f5a324ecbbp+3, 0x1.3b3e4c6d370bcp+2 +-0x1.7143cd915194ap+1, -0x1.1307bb024027fp+3 +-0x1.64d0e87354537p+1, 0x1.6486887bc477ap+4 +-0x1.5b5e2ff9dd3e9p+2, -0x1.b7375b28075f3p+2 +-0x1.83fc09ddc7c63p+6, -0x1.2fdc6ef17be93p+3 +-0x1.480c0e252c3e9p+6, 0x1.4853eae27e69dp+3 +0x1.30abead36571bp+3, -0x1.836654bf380cp+3 +0x1.cd14d1defa35dp+1, -0x1.19cc72688823cp+2 +-0x1.45c98232ed478p-2, 0x1.2529f5831028p+0 +0x1.409a28b15e735p+2, -0x1.26fb73ff6cdffp+1 +0x1.65d004d2739efp+2, 0x1.21ad6cf395f25p+1 +-0x1.34b399c924014p+3, 0x1.7169e9b9c525ap+2 +-0x1.782edef52f0dfp+2, 0x1.1b4c005922184p+4 +0x1.1db91625b93fep+3, 0x1.41e3394d5cccep+2 +-0x1.6a320e9f9fd2cp+5, -0x1.6cfc1d0407b9ap+1 +-0x1.5d9e3fac88013p+3, -0x1.b29bc73226ab6p+3 +-0x1.6ed4c5a843424p+2, 0x1.05de48556d764p+2 +-0x1.6a0cb3041e9f4p+1, 0x1.f0463c985eab9p-1 +-0x1.8273b9d2ac2e3p+3, 0x1.d1edb35a2c8b6p+3 +0x1.ea4d06fe3d711p+3, -0x1.1f763b78c5fdp-2 +-0x1.1221494093756p+1, 0x1.38b961e657c49p+6 +0x1.f566585e6021p+2, 0x1.3976b14bd42d5p+2 +0x1.c5e68054c87eap+3, -0x1.f62afb579f077p+2 +0x1.32030c562beacp+4, -0x1.bab45588de70fp-1 +-0x1.e1aaf966a0414p+2, 0x1.46872c7051da3p-2 +-0x1.271673c71b52fp+3, 0x1.08b0b3412ba34p+3 +-0x1.858f8705b988ap+3, -0x1.59ea85d5badf1p+1 +0x1.6b3f0b8b6e577p+0, 0x1.b504b9fa40d0fp+2 +0x1.fe756a84945ccp+2, -0x1.4e64454efee0ap+2 +-0x1.2d0db084872c5p+4, -0x1.04659a192ae76p+3 +0x1.b689f82e8091ap+3, -0x1.a32ce7d618e42p+2 +0x1.ea01c413374e8p+3, 0x1.2111d0dd7fbddp+3 +0x1.d6832221afbaap+3, -0x1.e2efc22606f09p+2 +-0x1.797e726ea6ddcp+1, 0x1.e868481c6e759p+2 +0x1.0fdee0c57a03ap+4, -0x1.140a25dba426dp+0 +0x1.45b2f9f0ba9aap-3, -0x1.2090afeea61f7p+3 +-0x1.903c26aed6662p-1, -0x1.c7df9a44150c7p+1 +-0x1.baf4022de46e1p+2, -0x1.168db671d08eap+4 +-0x1.9be9cd76d9ae3p+2, 0x1.b036cb019be72p+2 +-0x1.d5da4c1cb4377p+1, -0x1.c5cd9dfff91b4p+1 +-0x1.a938e4b92ecb9p+3, 0x1.9ac208142d8f4p+2 +-0x1.b2b9cd4c9c559p+4, 0x1.10eab90c83dddp+1 +0x1.9855c6c9aceap+1, -0x1.27d976ed95c51p+3 +0x1.9b628e56b244fp+3, -0x1.99d82db6aa3b6p+3 +0x1.7755027b4441fp+4, 0x1.d03ab282b0106p+3 +0x1.0d42955a35e8dp+3, 0x1.361332b971dccp+4 +0x1.31812ad725d38p-1, -0x1.c64fd9b05746fp+3 +-0x1.0245127bbdfedp+3, -0x1.9ea097113be47p+4 +0x1.53742ee2416a7p+1, -0x1.43e583eb439d1p+3 +-0x1.495dddbc9a767p+3, -0x1.39696fb52aa65p+4 +0x1.c3dc142948679p+0, -0x1.bf4e0fbaa3717p+1 +-0x1.78d74ef4e4172p+2, -0x1.cf9dc04f6b50fp+2 +-0x1.8df9b754670cp+2, -0x1.5b8c5d8016493p+3 +-0x1.11681cc0792ebp+1, -0x1.f3c10fa6b292bp+0 +0x1.c6eccd18a12b1p+2, 0x1.0c4d7982b59f1p+2 +-0x1.eb442d38ff749p+3, -0x1.20989f3930665p+0 +-0x1.88ead1c46ed4fp+2, -0x1.08462ba764827p-1 +-0x1.13ae50a5f22cdp+4, -0x1.33bf56d5d6109p-3 +0x1.82977458a6564p+8, -0x1.3be4111dc0564p+4 +-0x1.3ad88f8329f7fp+1, 0x1.8cecde20d7c45p-2 +-0x1.cbf4da8116cd4p+2, 0x1.b8ce3002e0d82p+3 +0x1.9cd353103322cp-6, -0x1.681b7d192db91p+4 +-0x1.f110047fdfd96p-1, -0x1.5b06bce2ae4dcp+3 +-0x1.60f6f29131003p+2, -0x1.0d98cd113eea4p+3 +-0x1.c71b7fe3fa317p+1, -0x1.4982ad0977115p+2 +-0x1.c53f08e0dfcf9p+2, 0x1.4c65106064594p+2 +0x1.341ec722c3ebfp+2, 0x1.3b2c7b8871607p+2 +0x1.07159c9184f21p+2, -0x1.e16c86ec07a22p+2 +0x1.a869fb875db68p+2, -0x1.e11323cdd372ep+2 +0x1.a4d633cce4c39p+1, 0x1.e5050fecbfd65p+3 +-0x1.a6e3c9c083621p+0, 0x1.956e1017db2e1p+2 +0x1.1619af6a8533fp+3, -0x1.339d931e78d85p+3 +-0x1.275120dd47733p+0, 0x1.aaeaf85530ebp+3 +0x1.b9c93457c68ccp+3, -0x1.6b336a01ee6dp-2 +-0x1.a3e50df2c1a83p-1, 0x1.b076fd1f6a322p-2 +0x1.1f6a18db72968p+0, 0x1.37f0fb7e253dp-1 +0x1.3bbab5e2b79d1p+3, -0x1.0973db46b97d7p+2 +-0x1.e4ff3cc00e344p+2, 0x1.2aeb473b5f65ap+1 +-0x1.cce7e74d4ebedp+2, 0x1.2851c16f2f3a8p+4 +0x1.6a23202674c3dp+3, 0x1.234b8c2c9dd38p+4 +0x1.e44e037e43b59p+2, -0x1.06a0e1c39950cp+3 +0x1.134b738b24404p+4, 0x1.c4c4d09b14632p+1 +-0x1.55f1e81935f9dp+3, -0x1.8d76e26f6ba2ap+1 +0x1.ece4185958889p+3, 0x1.b979aabae05aep-2 +0x1.eed2daf3a66cfp-1, 0x1.007f86118990dp+3 +-0x1.deee53681529ap+1, -0x1.89e6e93c1e442p+2 +-0x1.81779eda6feb7p+1, -0x1.d2d4e5712cb4p+1 +-0x1.1913367ab0dc9p+5, -0x1.338c97bbce549p+1 +0x1.1b180b52b1ccp+4, -0x1.9e2dd6f1db99bp+2 +0x1.3fd2058436328p+3, -0x1.4256d1b9984ccp+2 +-0x1.5b577850e5eeap+3, -0x1.04e699d894268p+3 +-0x1.27fbcbbd5966bp+1, -0x1.769b51e1daea5p+2 +0x1.0932f40d2d73ap+2, 0x1.0b612883b1955p+2 +0x1.0b2df4c9df3a3p+4, 0x1.93a03f89f3968p+0 +-0x1.02250ce859415p+4, -0x1.4e7f85e8b57d1p+2 +-0x1.1156c5ea402p+2, -0x1.1220364d0702dp-2 +0x1.14e246b998b7bp+2, 0x1.7ba1da477601ap+2 +0x1.44c38e3656b49p+4, -0x1.0b77138b30d62p+0 +0x1.b987d42d6312dp+4, 0x1.2a37cf260221cp+3 +0x1.7124941c8e2a8p+1, -0x1.e5f6d2c041356p-4 +0x1.cc534b8617ca7p+0, 0x1.1d1d1af13a5e3p+2 +-0x1.076e89b8e1ddcp+2, 0x1.c04e164889271p+3 +0x1.1c263fb2168e5p-1, 0x1.7443ab81b3459p+3 +0x1.ec33cbff35d75p+1, -0x1.d3bae4c90580cp+2 +0x1.17cf99aaee608p+4, 0x1.e2b466902bdddp-1 +0x1.3cb3df25c0011p+1, 0x1.eab478b8f4ac5p+3 +-0x1.291509dd3f876p+3, -0x1.695ba0e860678p+1 +0x1.c97486176a67ap+3, 0x1.42f0119a4bbbep+1 +0x1.db498c6defbacp+3, 0x1.bd2bb553594b7p-1 +0x1.00e5b381eebbbp+1, -0x1.104b2d8a76b09p+7 +-0x1.cd2856d35db3fp+2, -0x1.6f4a3861db18bp+4 +0x1.b4dfec405f9f5p+3, 0x1.00667ed0fbcafp+4 +-0x1.ac174c6e26cefp+2, 0x1.08790abf24c62p-1 +-0x1.33447797fc2dap+4, 0x1.07afba324aa75p+2 +-0x1.cf2ac8d3f2b8dp+2, -0x1.eb833c7d34b05p+2 +-0x1.752342abdf7e8p+3, -0x1.9b26d3e64f5e1p+2 +0x1.a9207ba28e814p+3, -0x1.a43f1c64425a3p+2 +0x1.b5ccb3cc4f80ep+2, 0x1.510551a90cb5fp+4 +0x1.e2803a966a134p-4, -0x1.e16d842dce288p+1 +0x1.6568416cc9ffap+3, -0x1.380a0c32cf501p+1 +0x1.ba6e86ac2953fp+3, 0x1.883fcfd914913p+1 +-0x1.ed2f98c569079p-1, -0x1.2da1d46f64a23p+2 +0x1.839fa8918abb2p+1, 0x1.5dd119f564e5p+2 +0x1.5efc92ffc014p-2, -0x1.c64f29879e4f9p+2 +0x1.ac7fed2b59492p-3, 0x1.d0b7d16b0c594p-1 +0x1.e9b82ee20be69p+2, 0x1.2621b5026d195p+3 +-0x1.cf09e8687ef34p+2, 0x1.a11c940d34609p+2 +-0x1.943fa3d219f6ap+4, -0x1.4d06bc9e0df7dp+3 +-0x1.71629369831e4p+3, 0x1.1ea259b97ef17p-1 +0x1.734d73d0131f8p-1, 0x1.39d333ce0ef84p+4 +-0x1.5ae604744d3c5p+2, 0x1.4e6eeeab47e2ap+3 +-0x1.a5fff318edec3p+2, -0x1.3fd468ad2a168p+1 +0x1.30d0dd05c82bap+2, 0x1.4f5a297b84dcbp-3 +-0x1.5bebbec404fd3p-2, 0x1.361b5957d2fcp+1 +0x1.83383b3693edfp+2, 0x1.28883653577e4p+0 +0x1.f199a3f4423adp+2, -0x1.6cf9e60e218dp+3 +-0x1.f5dc6e8cabfb2p-2, 0x1.087fc1148b6bfp+5 +-0x1.25388cac2acd2p+4, -0x1.b991062c38ed9p+3 +0x1.276b2be6e4c9ap+3, 0x1.c413e50831f9dp+0 +-0x1.13fc0dcf99608p+1, -0x1.132c929f74913p+3 +0x1.9af1d5bad7d2cp+2, -0x1.957761e52b4fp+3 +-0x1.916b8f16504d4p+3, -0x1.369de0035d0eap+2 +-0x1.5abd37f4ba7b5p+3, -0x1.714b9f095f923p+1 +0x1.667662bc13da9p+1, 0x1.8cba4888c255ep+2 +0x1.3c2070e5e2d1fp+3, 0x1.215c0337ee9bp+4 +-0x1.1659546bd0ebbp+3, 0x1.91b881d4450c6p+3 +0x1.5a42ef7a3cf48p+3, -0x1.f81dad4a7b409p+3 +0x1.2d89d2e10656ap+4, 0x1.1b20bc5730b23p+3 +-0x1.d57d68dff70bep+2, -0x1.64707e16e6b2ap+2 +-0x1.32f91de99f65p+1, 0x1.e347b5fc0444cp+1 +-0x1.1d517ce38477p+3, 0x1.3e2283eaa1c5p+4 +-0x1.897324b72c34bp+3, 0x1.147b5467aa2a2p+2 +0x1.c459ba1e35084p+1, -0x1.c8cf76d0b2d0cp+2 +0x1.157afbfad260ep+3, 0x1.e39ac33a987bdp-5 +0x1.78fc0c2c3e597p+2, 0x1.69b2e4a4f0fcep+2 +-0x1.d7fcdcfa268afp+3, 0x1.40d3c7f677697p+8 +0x1.76546b1fe8f4ep+2, 0x1.314f60a55dbfbp+2 +-0x1.c065760fbd859p+3, 0x1.861331ee4718cp-5 +0x1.83ee1d410cdf4p+1, -0x1.c1e5a8df05ce7p+1 +-0x1.4c5af1b34ce19p+4, -0x1.6ad21f94c410cp+2 +-0x1.c98616e92a1f4p+2, -0x1.1254f113aeef6p+8 +0x1.be92449ba86c1p+4, 0x1.226cae814577p+3 +0x1.d6649d2384196p+1, 0x1.b7d4cbf08cb1bp+1 +-0x1.0686ca177f2abp+3, -0x1.006ddfa368a4cp+2 +-0x1.40a8c3cf18db3p+0, -0x1.f46534b123614p+1 +0x1.f414cb9fc5ab9p+2, 0x1.558054524db77p+2 +0x1.9ce15dce30f24p+2, -0x1.a67c01d3dd128p+2 +0x1.bb2334212d827p+3, 0x1.01b533e308467p+6 +0x1.f421ca00ebc57p-1, 0x1.0b37d302b4041p+4 +0x1.0c1ca7ff09856p+7, -0x1.19519cd93a2bdp+0 +0x1.6850baaff4792p+1, -0x1.d5822a2c3a93bp+3 +0x1.5a7190ad1a6a1p+2, -0x1.68d60316a6968p+2 +-0x1.45bcc8cb053dep+3, -0x1.7422c0d986222p+2 +-0x1.241984a51ab0ep+1, -0x1.0be98a69feb3bp+4 +0x1.a4cd270a156d1p+2, 0x1.2955fb87a28bbp+3 +0x1.777c890aab835p+2, 0x1.3f939196ef4f1p+0 +-0x1.7198733a1beddp-6, -0x1.bca608df89ecdp+4 +0x1.360affba36a14p+2, -0x1.94fdb07d53a1ep+2 +-0x1.503dbc912f0e7p+3, -0x1.ba773c96e7b5fp+2 +0x1.20fa983fb31fp+3, -0x1.9c353048d973dp+2 +0x1.3fc515fdef267p+3, -0x1.1d00b9beaaae7p+3 +-0x1.661cd7caa5a77p+3, -0x1.7b51b03aba8a1p+2 +0x1.8e2b1a9462672p-2, 0x1.f36eb04e52d15p+3 +-0x1.643f4fc9cae7ap+4, 0x1.80b2d118746c4p+2 +-0x1.387e429529cedp+3, 0x1.a978578568fdep+3 +-0x1.5899fcca4a22dp+2, 0x1.1d6756ef2f01ap+3 +0x1.084ebb9120832p+1, 0x1.49e860b52bd98p+4 +-0x1.b846a9c3551dp+0, -0x1.b61bd276c43b7p+2 +-0x1.3017a402a6b19p+4, 0x1.26de38abaf857p+1 +0x1.3501848481522p+1, -0x1.a72934dfc96d4p+3 +-0x1.27b1a223bc357p+4, 0x1.764f91d9ff8b3p+4 +0x1.227cb63de61c7p+2, 0x1.fdb8341be9844p+3 +0x1.c1c905dba2d77p+3, -0x1.1100903d4cbe8p+0 +-0x1.3468d40c7fc3p+2, 0x1.b19180a345e4cp+3 +0x1.dfd676a67b885p+2, 0x1.038bdcbfc35c7p+1 +-0x1.3eb90e38476f8p+1, -0x1.12daf2e94ef6ap+3 +0x1.51c9c985e8cdap+2, -0x1.b4798a4c11f48p+3 +0x1.4ff31cbdd1c94p+1, -0x1.85e21698f2193p+1 +-0x1.b0d4c918f64a9p+2, -0x1.7da2d848f8ecp+1 +0x1.47d068c2188dap+3, 0x1.5073694f038d9p+1 +-0x1.07d7c7b702c54p+4, 0x1.185a76a447425p+2 +0x1.ef703e1cbeadp+3, -0x1.d7db9d184017ap+3 +-0x1.9bb6bf4fd6c0ap+1, -0x1.b0f3498a5ab23p+7 +-0x1.d981d72d18173p+0, 0x1.b5ed17969c9a3p-1 +0x1.0009fe1d1bd41p+3, -0x1.be320884ace76p+1 +0x1.b1f8236461aafp+0, -0x1.0dcd03190bc3dp-1 +0x1.4f2403eebb14fp+9, 0x1.d3a978aee10f9p+0 +0x1.65c313e72719ep+1, -0x1.787602058a377p+1 +-0x1.d1595883a70edp+1, -0x1.2881884c89117p+3 +-0x1.19968845ea437p+4, -0x1.216149d9f3448p+4 +-0x1.cf1377e6ced96p+1, -0x1.e4c4e5873bc4bp+2 +0x1.6b9c2dd5db503p+0, 0x1.64652ba40986ap+2 +0x1.10f5c87a8d38p+3, 0x1.c2861e669e3dfp+3 +0x1.3d513a6808762p+4, -0x1.1fcfc1d396b0fp+2 +0x1.1230caf7411c5p+3, 0x1.526fa88c959f7p+2 +-0x1.302c0ce287a01p+0, -0x1.22a2ac739a7dap+3 +-0x1.2cfd2093e124p-3, -0x1.cd2f3b2ddce5ap+4 +0x1.3b251936c90b3p+3, 0x1.7223e3f3cbe8cp+3 +-0x1.3f6b4f8067b9ap+1, 0x1.8a4ed43125a0bp+2 +0x1.df94fed43acd2p+2, -0x1.07087657f713dp+4 +0x1.84f23eab1ffbcp+1, -0x1.0ce3de15398a2p+3 +-0x1.2aa0af911ceb1p+1, -0x1.480ce167d7acfp+0 +0x1.3d1bf35d62049p+1, 0x1.05e4fe1042b5ep+2 +-0x1.90615aebaac9fp+3, 0x1.5951a77e58671p+3 +-0x1.39748874c9c06p+1, -0x1.184ce88b6a713p+1 +0x1.90620f136b37dp+1, 0x1.e8d180a06f9f8p+3 +-0x1.2e2e28d30022cp+3, -0x1.9e319efeadc57p+2 +0x1.cc3013ef128dfp+3, -0x1.9cfa287000ca3p+2 +-0x1.5f3ea97f7245ap+3, -0x1.84f3a90118e3fp+3 +-0x1.bce88c29d5f3cp+3, 0x1.3416b7dbbd766p+1 +-0x1.547e1f4913a94p+4, -0x1.058d6b1912149p+3 +-0x1.85e89ef3d5ba7p+0, 0x1.42d9024e2eb2dp+2 +-0x1.d438ce0aefc38p+1, -0x1.845488e1aa9c9p-1 +-0x1.dbdb48ee8d52cp+0, 0x1.a72923ef39d65p+1 +0x1.cca6e76897a39p+1, 0x1.130d300b7eeadp+3 +0x1.fb8fcc97cb912p-1, -0x1.f6d9c9ee84c57p+3 +-0x1.23affea0c28c4p+5, -0x1.5287e88017adep+3 +0x1.b9ea921d1bcb7p+2, -0x1.bcab998cb6246p+3 +0x1.85374913420a2p+0, -0x1.866ab97f47acfp+0 +0x1.273893e0c817bp+3, -0x1.c24c2add7a29cp-4 +0x1.b77e91f4e4305p+2, 0x1.0ea9418e78cc5p+3 +0x1.6b4f8504c3868p+2, -0x1.b96705f2dc543p+2 +-0x1.50ae29ba8f6f5p+1, -0x1.d6b7e614909cfp+1 +0x1.9348fddcecd4dp+3, 0x1.5014f17fbf8d8p+2 +0x1.ae4e2218676bap+2, -0x1.f1557e05e51e6p-2 +-0x1.71871d68ae4dep+0, -0x1.63b308bdfd26cp+0 +0x1.3b18c3fb84b11p+3, 0x1.de5c6e8ae5a96p+3 +0x1.049a655285375p+3, 0x1.54d3b8d7e9c4dp+1 +0x1.46e30ce793dbep+2, 0x1.ec958b7696518p+3 +-0x1.7cac6f05dc704p+4, 0x1.a0920d51a7f11p+1 +0x1.0ecc0815a4bb1p+3, -0x1.26dc5972901b9p+2 +0x1.c0645ac423855p+2, -0x1.dc9fa68243f6ep+1 +0x1.3e09c3ebec5b4p+1, -0x1.fd1217167ce01p+2 +-0x1.d94896040c901p+4, 0x1.0f07b012622ffp+3 +0x1.1003608e693f3p+3, 0x1.8d20568668e7fp+1 +-0x1.f8fab388cb87fp+1, 0x1.ba21055fcea6fp+2 +-0x1.e707ba1023146p-2, 0x1.8073e06ad8555p+4 +-0x1.15a71f76feb38p+4, 0x1.0aa92773b5213p+2 +-0x1.098ffeaa7a068p-1, 0x1.035c9477ed99fp+3 +-0x1.6c1d9dcaf2584p+3, -0x1.48ea4ea4033f9p+0 +-0x1.6a8d3ac41e1b9p+1, 0x1.16c74dc94d5dfp+3 +0x1.973d50c3015e4p+2, 0x1.a6f0ef307343ep+1 +-0x1.74a25b5c6605ep+4, 0x1.9ccc17e5b340fp+7 +0x1.ac1f89ed73461p+2, 0x1.17282ed4b65cp+4 +0x1.2438de02fbd07p+4, -0x1.5d13e5e547643p+3 +-0x1.814d8ee4055e9p-4, -0x1.457a3391133cep+2 +-0x1.19f0fc0d5eff6p+3, 0x1.f28441178c96ap+3 +-0x1.1262edf9d2919p+5, 0x1.31babe7c19426p+3 +-0x1.7e22c0861e865p+4, 0x1.63f3e35088ea5p+0 +0x1.be8249c5399d4p+3, -0x1.4fd478e1f6499p+3 +0x1.d10c0fb255dfbp-1, 0x1.012c64191302p+4 +0x1.d967b9ed51a81p+3, -0x1.92b3a7f995432p+1 +0x1.4590b91cfef6cp-1, -0x1.a276a71aa45d5p+1 +-0x1.9ac3c33eedffbp-1, -0x1.e78711e547433p+2 +0x1.4e7cc63ce007ep+0, 0x1.0d90fb18d50abp+4 +-0x1.cc5aa5c158d34p+2, 0x1.50e42047a458dp+3 +0x1.60cfc7e055b8dp+2, -0x1.1e0bf061b2f18p+4 +0x1.780860603915ap+1, -0x1.58fea718f58a6p+3 +-0x1.95cc85b174bd5p+3, -0x1.94d364d29aeb3p+1 +-0x1.fb302acf0d95dp+2, -0x1.322275472ddabp+3 +0x1.01063cdc457d9p+5, 0x1.782f7de36df12p+3 +-0x1.b1c583eea9e1p+3, 0x1.1aa402ccf562p+3 +-0x1.0a0331b37937ep+4, -0x1.099a51f97cb82p+3 +-0x1.ef5ed226fbce1p+3, -0x1.fc9d467c49276p+3 +-0x1.8577c0b6873e4p-1, 0x1.d6d57f4e817d4p+2 +0x1.3fccaaabfe356p+3, 0x1.5c9f8785fbe1ap+3 +0x1.58efe1250e294p+0, -0x1.0f06c68bab1ep+3 +-0x1.25e1736b6d2acp+3, -0x1.86994d1b1879bp+3 +-0x1.e01e94f4b8a63p+4, 0x1.851560ac978bp+1 +0x1.5d031b9c4e4bbp+4, 0x1.e57a1b1442559p+1 +0x1.c26290494c23dp+1, -0x1.679510b6877p+2 +0x1.8329935e79cebp+2, 0x1.3f08848f7309p+4 +-0x1.1e3e312477969p+1, -0x1.786587fd249e1p+3 +-0x1.e043408e15136p-1, -0x1.8454636573b74p+3 +-0x1.00ea4f8901b73p+1, -0x1.e7582a6cbb6cp-3 +-0x1.b77c96df66602p+4, 0x1.9e62213c27f82p+3 +-0x1.71f681b5c9e93p+3, -0x1.2e1187b8b231cp+3 +0x1.8fedfe352f20cp+1, -0x1.0c1d89ae50b85p+2 +0x1.abcf0ccada1d8p+2, -0x1.7f7c539ba529dp+4 +-0x1.37e68f305c2e4p-1, 0x1.0a1f30b2d7e25p+2 +0x1.c0024e0a175f5p+3, -0x1.2a17a33f45d3dp+4 +0x1.cdfd673213674p+6, 0x1.92217d490a3f7p+3 +-0x1.c613de95fa103p+3, 0x1.51f18d1defd06p+2 +0x1.e395dd140c294p+1, 0x1.569704a3d2798p+4 +-0x1.aeacf73f7dca2p+3, -0x1.ac69d8ddf5d9fp+1 +-0x1.19c29e25b67d8p+4, 0x1.1db316ea6754p-3 +-0x1.3c117830ce24fp+0, -0x1.421dd4f1654cfp+1 +0x1.7d2dd336b7b1bp+1, 0x1.fbdaabf79e82bp+1 +0x1.034cd21d3fef7p+0, 0x1.765c0e9ce6d36p+2 +0x1.80360cbdcd5bep+3, 0x1.7f91f03d057ccp+2 +0x1.9c5d7a325a2d1p+2, 0x1.e0c5b2a7058cep+3 +0x1.0f911df8b7807p+2, -0x1.3584da3c39f1p+3 +-0x1.f7649ef0e0f4fp+3, 0x1.5b2a89fea53f1p+0 +-0x1.fe140633a9a2fp-1, -0x1.fc821d750606dp+2 +0x1.1a2fc0a549e2cp+2, -0x1.fc37d01cb58b8p+2 +0x1.06a11e1623775p+2, -0x1.d9d8dbfa4da72p+2 +0x1.1204e4a5547e8p+1, -0x1.7dadcf1cd0bb6p+3 +0x1.431ce93034f2fp+1, -0x1.0c046ed5efe85p+4 +-0x1.183687481d131p-1, -0x1.6ccec841e8ce9p+3 +-0x1.8d9611b1acef7p+1, 0x1.75988816d569ep+3 +0x1.e2c4bb6b78808p-3, 0x1.f4a1b6692733ep+3 +-0x1.098908441ddb8p+1, -0x1.73d2e83cb5f23p+3 +-0x1.fa77e0de9db99p+3, -0x1.05432f7bd158p+3 +-0x1.21796797e94bep+3, 0x1.f7e2ecb7ece6cp+2 +0x1.876de707ce431p+2, -0x1.02113a2c6bab5p+2 +-0x1.9337715bcdec4p+3, -0x1.765c625551882p+2 +-0x1.f05872cac3e2ep+2, 0x1.31b8b78f6dfdp+3 +0x1.f92e93c801994p+3, -0x1.65770088a91ccp+3 +-0x1.7e4180af0042ep-1, 0x1.0863fb5608d3fp+4 +0x1.1266f191d5e7ap+4, 0x1.f7ceb59aa61ebp+2 +-0x1.7adc1d5f41649p+3, -0x1.b72ace952c969p+2 +-0x1.42799c50e597fp+0, 0x1.12b707a43545fp+3 +0x1.26c4308fd275cp+3, 0x1.37b6c64a764ap+1 +0x1.9cdf67104c021p+2, 0x1.4e0b1fb32922ep+0 +-0x1.ef76dc5eb26b6p+2, 0x1.89fe204f13025p+3 +-0x1.ba6e919ff9338p+3, -0x1.101565b078f6bp+4 +-0x1.8d1406bb3eef7p+2, 0x1.3c320f0a27869p+4 +-0x1.2da06a295dc8p+3, -0x1.1f309b96f486dp+2 +0x1.a1602ac5c58e2p-2, -0x1.b6151d2b949a1p+1 +-0x1.0e4b63707f8bep+3, 0x1.dd727fb277f24p+3 +-0x1.6922499c22898p+3, -0x1.7a81cb4e77ffdp+2 +-0x1.138a1c7bd7b0fp+0, -0x1.0914926360bc6p+3 +0x1.da7d28117b49ap+2, 0x1.96c7cc509287dp+0 +0x1.553f320599ba6p+2, -0x1.c50bd50274823p-1 +-0x1.21dd93cb4d65p+2, 0x1.b6c40e2fa9e13p+6 +0x1.601aa07829764p+4, 0x1.1f08e7a387082p+0 +0x1.05b5e2a032ecp+1, -0x1.5a88e3cd75551p+3 +-0x1.2dfc032b098d5p+3, 0x1.202a29fc90ac5p+0 +0x1.53a54791d8dacp+1, 0x1.9efc9bd430c79p+3 +0x1.e07e842d2f532p+2, 0x1.fad873d7c9eb6p+2 +0x1.83db3f9bbb774p+1, 0x1.047acc7bddc5cp-4 +-0x1.4be03d1cad354p+2, 0x1.e639d170c5836p+2 +-0x1.e6a97acebb1e3p+3, 0x1.5afbada4605f6p+4 +-0x1.f17280f294968p+1, 0x1.f006e3157f2f3p+1 +-0x1.30cc68b43a693p+4, 0x1.2fd5a2adc2583p-1 +0x1.15ffe5d975af1p+2, -0x1.f1b2b1a0fa69dp+2 +0x1.19aa7c29bfb17p+1, 0x1.3f6646f4e1058p+3 +-0x1.2a8f334caa863p+2, -0x1.8de99415c7751p+3 +0x1.e6e1ad4c4a41p+3, 0x1.22eb89d4fd03ap+3 +0x1.f5fded0468281p+2, 0x1.36bc741caa6b7p+3 +0x1.529e393646c9fp+3, -0x1.4ee715ba19a8dp+3 +-0x1.1a4f41167f1d8p+2, -0x1.907ff0ee55162p+3 +0x1.b3d03e11e89eep+2, 0x1.4aa876627fe0cp+3 +-0x1.c81d4d77a9dep+3, 0x1.5045570d32f5cp+3 +-0x1.8c1491502f3b6p+3, -0x1.fed67a6197b25p+0 +0x1.c0d5edf21314ep+1, -0x1.bc6243b211fcfp+1 +0x1.0853f04d5bbb9p+3, -0x1.fa5b23d50da27p+3 +-0x1.892029e10ef46p+2, 0x1.98729cadc0696p+3 +0x1.31636d0ae4b6ap+2, -0x1.4e5310c3e8863p-1 +0x1.914c70227d082p+3, -0x1.53625fa9a7f93p+4 +-0x1.63977e245c6c5p+8, -0x1.b9824e5b4d29cp+3 +-0x1.81366c2b43e7fp+3, 0x1.d57e2603cdc78p+0 +-0x1.3a6112894a4b3p+1, 0x1.0b30d9d53221cp+4 +-0x1.219831d8ea67fp+3, 0x1.f2a0939784f1fp+1 +0x1.f2705e6b2373fp+2, 0x1.1579e288983cep+3 +-0x1.067c62c5cdaeap+2, -0x1.61ac445d9e8bp+1 +0x1.6bb34067bc895p+2, -0x1.984dbfda1a6c9p+3 +-0x1.b4a3d22a1ba8ep+3, -0x1.3a7c3a8f489b3p+3 +-0x1.eebe9e55243bbp-6, 0x1.122bc1a16c686p+2 +-0x1.d382a8e874973p+1, -0x1.7dd53d15b136dp+3 +0x1.6783de41a401ep+3, 0x1.02cb9c6eca4b9p+4 +-0x1.30e6e2ba7aa51p+3, -0x1.69771cf1986e3p+7 +0x1.085fd177f17f3p-2, 0x1.3027a2b14b3c7p-4 +-0x1.c40f1b34a4994p-1, 0x1.7e58d80a32ad3p+5 +-0x1.03ad502e3f953p+4, -0x1.6c86f33bdcdabp+3 +0x1.6a32d56785932p+2, 0x1.bc97ce9d592a9p+2 +0x1.5fe22a3357055p+1, 0x1.0cdf88b2f7a77p+3 +-0x1.0bfcd985bca43p+3, 0x1.829591e644239p+3 +-0x1.422816445f3a5p+2, 0x1.b051d209a40dbp+2 +0x1.612b57c208d4fp+4, -0x1.b51680e7152a8p+0 +-0x1.d96add68ee3f7p+0, -0x1.cd7e2623c0496p+3 +-0x1.de0faa13059a9p+2, -0x1.f52f27ddf903dp+2 +0x1.194383691adf2p+3, 0x1.24ccd66405734p+3 +0x1.0c97b80bb93bbp+4, 0x1.b4b66e0e58e62p+6 +-0x1.9ef037efb8951p+2, -0x1.50504b2c45cc4p+2 +-0x1.5f4a5bd1999c4p+3, -0x1.29bb164c2b0fbp+3 +0x1.a12a7a0912edap+8, -0x1.62d3304f28005p+3 +-0x1.a8aef06f08437p+2, 0x1.b82957f7f7793p+3 +0x1.66f7fc9522a59p+3, 0x1.e2c50eb81f5afp+1 +0x1.58fd7ee016d88p+1, -0x1.d41d0447013eap+6 +-0x1.d311dcc161cc6p+2, 0x1.dd2eb4a3bc562p+3 +0x1.7a3abbc6295a9p+3, -0x1.4c9fa74f8adcfp+3 +0x1.254861815cdf2p+3, -0x1.4b8fde098f66p+2 +0x1.6600282a1298p+4, 0x1.556ce0fbc066bp+6 +-0x1.4fec316462e3p+3, -0x1.e18c520e17d29p+0 +-0x1.7c788ba24177ap-2, -0x1.9e28125b67281p+3 +0x1.b83ee732a1756p+2, -0x1.1bc1301865e47p+4 +-0x1.205c564f951f5p+2, -0x1.3c4620172553ep+3 +-0x1.d7cf37940ed02p+3, -0x1.b059c430eec4fp+7 +-0x1.adc0a71dc3facp+1, 0x1.1270cf884bb08p+4 +-0x1.fca759c2f1ba4p+2, 0x1.5180b5739446bp-1 +-0x1.4537cf70dfcbcp+3, 0x1.ecbdf018a5621p+1 +-0x1.c542d0c08c1cdp+1, 0x1.1b3dcdbc65d88p+2 +-0x1.854b63665ce64p+3, 0x1.483f398fc624ap+2 +-0x1.67476a0bf7645p+2, -0x1.e0b9e13d69bf2p+3 +0x1.9eedba027c2b2p+1, 0x1.36fd71b12c909p+4 +-0x1.66cfa294b1553p+4, 0x1.c84d455cc55f6p+1 +-0x1.1119b30c39188p+4, 0x1.fa24dbd9090ap-2 +-0x1.2a470e00b1dbep+3, 0x1.40f3f12272879p+2 +-0x1.48660a4818138p+0, 0x1.b602f2a7b4b59p+3 +0x1.116c7ced96fc6p+3, 0x1.2952aaf403df1p+2 +0x1.3b380257abd9cp+3, 0x1.09811fde2feacp+2 +-0x1.55d6ff8751457p+3, -0x1.5c5efaa7d5f63p+2 +0x1.9fdfdf8b192d3p+0, -0x1.7643ee28c8e85p+2 +-0x1.3a0cec4c6a01p+5, -0x1.032c6fe52db18p+1 +-0x1.deef469810c21p+2, -0x1.8e7e2a02e9deep+1 +-0x1.936cef933ca0ap+2, -0x1.2feed64e9c55bp+4 +-0x1.f172476bd55dep-3, -0x1.df90b56602e1cp+1 +0x1.36fbc948a25efp+3, 0x1.055f60f11b7cbp+4 +0x1.a74785ac33d31p-1, -0x1.6f32d2de8c70cp+3 +-0x1.6fe080d7977e6p+3, -0x1.0b18485ed707cp+3 +0x1.71b9bac6bb928p+0, 0x1.17128856c8e46p+2 +0x1.0b7e26ccaee4p+3, 0x1.cffc99cdbb22fp-1 +0x1.e28f7f924366dp+2, -0x1.1bccf4353f43cp+4 +0x1.f551a84d06edfp+0, 0x1.1faec9d32c049p+3 +-0x1.48f22bbfefdf4p+3, 0x1.caf0c5044ed0ap+3 +0x1.669c8afc0d2f5p+4, 0x1.b2f9ae6d33cfcp+2 +0x1.22b476ce929b1p-2, -0x1.67d9fddcff597p+3 +-0x1.a75e6b46efef9p+3, -0x1.0d09f70667c5cp+2 +-0x1.36ad163cc1882p+4, 0x1.792438d398445p+2 +0x1.180e96c1faacfp+1, 0x1.60b64c62fb406p+4 +-0x1.fdd03d73ee32dp+3, -0x1.89509f0271e2ep+1 +0x1.b01fa0e53127fp-1, 0x1.72898e3c3e82ap+4 +0x1.a06bc107c8848p+3, -0x1.6b40aad2972adp+3 +-0x1.5b46d755906e3p+3, -0x1.59fd213479ee9p-2 +-0x1.23900ccfba853p+4, 0x1.fde8416d82ee5p+1 +0x1.6b3b513b486dcp+3, 0x1.44eaeeafdd2d2p+2 +0x1.09905f18c79d7p+2, 0x1.63ff4b775bc15p+0 +-0x1.3a3e476758e39p+1, -0x1.9736dfc54151p+0 +-0x1.1a6ad22fe4d12p-1, 0x1.3078e7fa8b80dp+2 +0x1.0b7005e08925bp+2, -0x1.f38c183dcfc42p+3 +-0x1.cce016c706cc1p+1, -0x1.64bb7032fe675p+4 +0x1.3a94b1b098461p+1, -0x1.769a4f8b2a9c2p+1 +0x1.1c8e477f7e433p+2, 0x1.b1653bf50af05p+3 +-0x1.ee4e1bfc7c218p+1, 0x1.2f58009738033p+0 +-0x1.cc051331033f9p+5, 0x1.721faa49f8361p+3 +-0x1.61800c0bbeac7p-1, -0x1.3bc48240df3b9p+1 +-0x1.5b33d7dd2996ap-3, -0x1.1b2f8a16f1623p+3 +-0x1.d07f75beccf45p+0, 0x1.07ebf843e0aebp+4 +0x1.bf9ef3ed41ffep-5, 0x1.4247a2cc8e40dp+3 +0x1.9b60221b148e9p+2, -0x1.e9b8e8b27c2b7p+0 +0x1.7fde42fc4768cp-7, 0x1.f19c733ace44cp+2 +0x1.2c7901d062ecfp+2, 0x1.cabd233dbf1dp+1 +0x1.d5928740df63bp+3, -0x1.0073b00419021p+2 +0x1.79680780f91b8p+3, 0x1.35c5003563dd6p+1 +-0x1.3afcd358fef2cp+0, -0x1.56f52cd6afc3cp+2 +-0x1.0a57a87c0f4adp+2, -0x1.464c231c9d24cp+3 +-0x1.522525c004d7p+4, 0x1.5a2fcc6646544p-4 +0x1.e44e743165bb5p+3, -0x1.081fedd7070bep+3 +0x1.22771ff5a7c52p+0, 0x1.d89e8bac65c2cp+2 +0x1.b34ac3570a043p+3, 0x1.097ed3f070fccp+4 +0x1.a3969b5df9ec4p+0, 0x1.a7a3b80562e86p+3 +0x1.cab696f26f617p+1, 0x1.302978f6e1b68p+3 +-0x1.5a8c0d4472ee4p+2, 0x1.d17f5ac6b5482p+3 +0x1.60384a11208ddp+2, -0x1.3172942a035bdp+7 +0x1.ce9c319a57417p+1, -0x1.3cc7d2fc242f3p+2 +-0x1.2408109fdfeedp+2, 0x1.648669ce14bcbp+2 +0x1.b30cffa9d9aa8p+3, -0x1.e1e4e07c84af7p+0 +0x1.2d2fb49ebe18bp+1, -0x1.7793ffd06ecaep+4 +0x1.7e5db23d454f2p+4, -0x1.b2660eb0c8efdp+2 +0x1.0bcee22b13869p+3, 0x1.5ce387f2ee129p+2 +0x1.1030fcb5e0bp-4, -0x1.0187160bbef73p+3 +-0x1.5c80eac15cfa4p+2, -0x1.b0860e8e60fe9p+3 +-0x1.4ff664f3d37c7p+4, -0x1.25b456a5cd7c6p+3 +-0x1.46c959c2739f7p+3, -0x1.2c5d5d3a564cdp+2 +0x1.52c1fc096d019p+2, 0x1.df8cf3325b853p+2 +0x1.3cbb8df9cd3f8p+2, -0x1.3aaccf58643eap+4 +-0x1.cb163132be064p+1, -0x1.0250f2e7899c4p+4 +0x1.4152eeb8bbaccp+7, -0x1.aed7e44acbfd6p+1 +-0x1.e8c7c81caa2acp+2, 0x1.13ca1605635dbp+3 +0x1.e7c5e05bcf806p+2, -0x1.950d79d75281dp+2 +0x1.0355c9b6dbd3ap+2, -0x1.17c0e83f3e6a7p+3 +0x1.bedf1f08f1224p+0, -0x1.f383e4ab7335p+3 +0x1.58804e97d05e4p+3, 0x1.0595d33f6ce6ep+2 +-0x1.6bfcb087fbb35p+3, -0x1.9f3235a600764p+0 +-0x1.283b3523a3e52p+3, 0x1.17a3d9bd93bb4p+4 +-0x1.e9ac68da6de9dp+1, -0x1.6430afdb058dp+5 +0x1.98ec62d02132fp+2, 0x1.f6dbff4163c39p+3 +0x1.6cdb73d24225fp+2, -0x1.20fccd3ac6ec5p+2 +-0x1.449b58064263ap+4, -0x1.addf84fdde121p+1 +0x1.9ac6c65aa9fcep+3, 0x1.0602b885e1246p+3 +0x1.5718a847318c4p+3, -0x1.451756b00771dp+3 +-0x1.193cb178f3171p+1, -0x1.a81cc2eb41c13p+3 +-0x1.6b1ea3a0e08bap+2, -0x1.b8e9b99129669p+3 +-0x1.c7221fd132b89p+2, -0x1.2f599d9f15ddcp+3 +0x1.41844a208b5a5p-1, -0x1.53fd7610f5049p+2 +-0x1.1bf69c2c69186p+3, -0x1.0f95e43a40589p-1 +0x1.ad2345a345283p+0, 0x1.7ed2c45120764p+3 +-0x1.05f6a8c8dcd4ep+2, 0x1.0063603170f46p+4 +-0x1.55ce3c72d43e4p+3, 0x1.5359e4aa16ee5p+2 +-0x1.c7068d468990bp+2, -0x1.014011f7f5b6cp+2 +0x1.0fa84672df9cp+4, 0x1.66f6cb2bc8e55p+1 +-0x1.367fffd70dfe1p+3, -0x1.5cffbf06f280fp+2 +-0x1.c5f12b3553bf2p+2, -0x1.5e9668d0bfa11p+3 +0x1.08bfafa80001fp+2, 0x1.e6d02cfc766cep+2 +-0x1.503e8a60e958cp-2, -0x1.a160a70ad1127p+2 +0x1.a6087ac4363c9p+2, 0x1.5a47acdfaa1bfp+0 +-0x1.b43d884826947p+3, 0x1.d75cd00aaf7b9p+0 +0x1.44e1964558c1ep+3, -0x1.5eb5fe7312672p+2 +0x1.10fc3644854a4p+1, -0x1.f5e5fa421739cp+2 +-0x1.ebc3aebc049fdp+2, 0x1.b2dc64877416ap+4 +-0x1.4cf4a1947b159p+3, 0x1.0059046df7ef9p+0 +-0x1.a7b4ba5588a25p+2, 0x1.8bade69b5dd09p+1 +0x1.7a4c040a95c98p+0, 0x1.2f476b9080b0cp+4 +0x1.fad6923b7a8b1p+3, -0x1.79e4f7d80ea9p+2 +0x1.39c514eb28fb4p+2, 0x1.138e6f58d108dp+3 +0x1.72b33d3731a1dp+3, 0x1.8962d8716df1ap+2 +0x1.406b91f301775p+3, -0x1.41f3d08baf319p+1 +-0x1.5bfcde94702a7p-2, -0x1.1037cc34255bep+2 +-0x1.abef8aa71b609p+1, -0x1.beed3fa1fc82ep+3 +-0x1.e6f3c5282a24ap-3, -0x1.cfbc138172b16p+3 +-0x1.27e79c3511726p+2, -0x1.1ae052609a4cap+2 +-0x1.0fca6a8a495fep+9, -0x1.7b3e87df7543bp+3 +-0x1.2d16d30eb91d9p+2, -0x1.cb6a91453493dp+1 +-0x1.219209a69482ep+7, 0x1.4a37cee48ca1cp-1 +-0x1.05b5570e8bd61p+2, -0x1.ac8e2b20fca8dp+2 +-0x1.512e686b7d7abp+2, -0x1.13d13149949fap+3 +-0x1.0a17b44eebc68p+1, -0x1.4a6ae31ba4f1fp+1 +0x1.42b843150541p+0, 0x1.7c7ce19207941p+4 +0x1.32b04ef6b82dcp+4, 0x1.2fb6fcff92d09p+3 +0x1.54f186fd323b4p+6, 0x1.30231c14f8d3ap+1 +0x1.a9691cbfa9c4ap+2, -0x1.11ae89b52b3abp+3 +-0x1.c2f9c593fcdf4p+0, 0x1.dffb95bc9bf54p-1 +0x1.08017d9365d11p+4, 0x1.4df32d524f1cbp+5 +0x1.940245870920dp+3, 0x1.c2656de34ece5p+4 +0x1.99175ce579029p+2, -0x1.c3ad1835251b4p+1 +-0x1.1a67398eb3469p+4, 0x1.77ce96a6f2e4p+3 +-0x1.b5b30219bfe62p+1, -0x1.f76fa8a29778ep+2 +0x1.fdef4e8b846dcp+1, 0x1.723710ea543ecp+2 +0x1.7a24eb1d7b147p-4, -0x1.2d06d4a4a3eep+0 +-0x1.fb2d1f340b13ap+0, 0x1.bf813ddce866bp+3 +0x1.79a502f3207a6p-1, -0x1.cd24653a74a04p+0 +-0x1.23497002a7d6bp+3, -0x1.195bbd6acdfdp+2 +0x1.b6962e5af3912p+1, -0x1.2a9ffb5f41ed9p+2 +-0x1.85a09e402080cp+2, 0x1.738d3fba9a609p+2 +0x1.045a56a5e8eefp+3, -0x1.6059cdf1f959ep+2 +-0x1.5ae9879bf538fp+3, 0x1.460dac544b9abp+3 +0x1.0a17e19d0b18ap+1, 0x1.dffac37924b9ep+2 +-0x1.b85402bded63dp+1, 0x1.018b730ee6b11p+4 +0x1.4d73063245f05p+0, -0x1.7af6f0d9834f9p+3 +0x1.431bf7d7ea9a7p-3, 0x1.962442d5ac988p+3 +-0x1.2ea6de69ba774p+4, -0x1.732367af9036p+2 +-0x1.d0288cc2ddf33p+2, -0x1.54d26f2fc05a3p+3 +0x1.7fb79f44bf04cp-2, 0x1.3c3b208d369cap+0 +0x1.fd2cdbf832c8dp+1, 0x1.64db017789017p+3 +-0x1.9ffb8eaf2e85dp+1, -0x1.b456440547281p+2 +-0x1.7119cf9505357p+1, 0x1.df4135e017d1bp+3 +-0x1.6f61ae02c2f0bp+4, 0x1.75624830510d7p+2 +-0x1.11a2990f734f9p+1, -0x1.c71a4acad690bp+0 +-0x1.2150537181d07p+2, 0x1.49dccb169af73p+4 +-0x1.1ab70daa32f57p+4, -0x1.ed2d340e1d4b6p+0 +0x1.0ae86a69bfdc8p+2, 0x1.10326fa457a1cp+3 +0x1.b50f67556e583p+2, -0x1.0cc3693ca0e57p+3 +0x1.a31b08750d231p+2, -0x1.ea01c2d44eef1p+0 +-0x1.e9994e7a76beap+3, -0x1.5a12811d3d62dp+2 +0x1.99b03c2150665p+1, -0x1.75c29ab501a9cp+3 +-0x1.daf9cfa2167p-2, -0x1.4f2cded6cc478p+3 +-0x1.5ad51c6feac69p+2, -0x1.d975402d530a3p+0 +0x1.1b529da5cb4a1p+4, 0x1.e4cdc17dc4f37p+3 +0x1.41d348cfec73dp+4, -0x1.6a97b93e9a78fp+0 +0x1.69df0d787b0a4p+3, -0x1.20735939f145ep+2 +0x1.20127875074f5p+2, 0x1.aae503861e4fdp+2 +-0x1.ed5e337830462p+3, -0x1.e0be58e098ba6p+0 +-0x1.e8d3fec2f9a35p+6, 0x1.7c6545e38f033p+4 +0x1.35fa11b802085p+3, -0x1.b1b9dbbfba058p+3 +0x1.65c0aecd60c74p+3, -0x1.d68421dd1ccadp+3 +0x1.752c556a26c03p+1, -0x1.5c1230a91d09fp+3 +-0x1.6b262d40ec013p-3, -0x1.2172a7e876dc6p+2 +0x1.1048ba3183bd5p+3, 0x1.9823fff33ab5ap+1 +0x1.5f51c0f0f8efbp+2, 0x1.6e4c65e8efce1p+0 +0x1.d8967442451c9p+2, -0x1.20e0b9cb1d992p-2 +-0x1.684a0a7e3a27p+3, -0x1.6c94b47b532d3p+4 +0x1.fbca49a028ap+2, -0x1.2d169ba9f8236p+3 +0x1.a0fc8d98511bfp+3, -0x1.13bc6fc1e2961p+2 +0x1.2dbea59c72354p+3, 0x1.3b74d7189266bp+0 +-0x1.4393181eb5b7dp+4, -0x1.5877dbcfa12ap+2 +0x1.f7d1291c4eb0dp+6, 0x1.b5c593f4b3593p+2 +-0x1.230e7e9739d03p+8, -0x1.5fe50cc8d6908p+3 +0x1.5fb057eba2f35p+2, 0x1.a76e87fb53279p+3 +0x1.53dfdf70d58e6p+3, 0x1.3551c0100a289p+2 +0x1.684c9218b970dp+0, 0x1.f4e2f1ff96b6dp+3 +-0x1.84c6d7badcfebp+2, -0x1.0fa903872618fp+4 +0x1.300e009392cbep+4, -0x1.8b818d6c129cp+3 +-0x1.17ee4a490715p+3, 0x1.83426abba2564p+3 +0x1.452b7f99a20fbp+3, -0x1.b8ee11aff1d3cp+2 +0x1.4434265287f57p+2, 0x1.df807c2971e9ep+1 +-0x1.cb8376a350adep+3, -0x1.e569467f019e8p+3 +-0x1.571e093cc6f4p+1, 0x1.a03d54c66fedfp+3 +-0x1.649ecc58a442fp+3, 0x1.c52b2261995f2p+2 +0x1.ab7ee70d091bbp+2, -0x1.89db6b5152eadp+0 +0x1.87046704e2b26p-3, -0x1.b852bc74c0714p-2 +-0x1.e0cb228e733e7p+2, 0x1.8dc1c3e1c98c7p+8 +-0x1.6724f4e5c7ed5p+2, 0x1.24946f08a03a8p+1 +-0x1.0857da7d15212p+0, 0x1.dd7317d4bf815p+2 +0x1.ca6221727f6dap+0, -0x1.55fa3e414cae1p+3 +0x1.588bef435a702p+2, 0x1.30642201a0781p+4 +-0x1.ec0ad3914995fp+2, -0x1.54924200374d4p+3 +-0x1.3ce69cb78d2f7p+3, -0x1.382d426d2211bp+4 +-0x1.ab30013b5be53p+3, 0x1.57a8d7e135148p+1 +0x1.2036f04f35758p+2, 0x1.5ccab2df7ad38p+3 +0x1.f4ca7b6ecf281p+2, 0x1.eb34e12bc23fap+1 +-0x1.51d32cc581df8p-1, -0x1.00742521d9124p+2 +-0x1.3b7da4fb99788p+3, 0x1.90fc0a81339ep-3 +0x1.14e9971ec3fp+4, 0x1.a2cbc75d5803ep+3 +-0x1.e7c8172f0678cp+0, -0x1.2a9801a7dc6cp-3 +0x1.5b6513782a943p+3, -0x1.069ecc75d107bp+4 +0x1.7ca7380cb2c6bp+4, -0x1.8896b73f86c69p+2 +-0x1.e58079f085a12p+2, -0x1.498c8ae458bf4p+2 +-0x1.bdb48b02b2372p+3, -0x1.1241dd4cc34b1p+2 +0x1.0a37671642dd6p+3, 0x1.f36a7a4051727p+2 +-0x1.46691002e8c94p+2, -0x1.3e438e2a39834p+3 +0x1.d5868551b125ep+6, -0x1.04ea113509718p+4 +-0x1.349cb63765452p+7, -0x1.ea2e054ef6d97p+3 +0x1.540e70aabaee2p+0, -0x1.e3c48733ac708p+3 +-0x1.7f59cacd16af6p+0, 0x1.68fe09e7c7d09p+3 +0x1.10b5a3c7c00c1p+2, 0x1.7ea7448e6239cp+2 +-0x1.267621743bddbp+4, -0x1.2390e49adae3cp+8 +-0x1.3101abd2339eap+3, -0x1.7248afafd376cp+1 +-0x1.9824fb096c2a7p+0, -0x1.4bd76c4bc75efp+3 +0x1.cb99d6130181cp-1, -0x1.c026db0a25131p-4 +-0x1.5e0b04cce8626p+3, -0x1.eaeab512964fep+2 +-0x1.6ba2a456ee6e5p+0, 0x1.20f5c81a5eb43p-2 +0x1.3eedc13975d99p+2, -0x1.3069acb88a2afp+3 +-0x1.055766e6e99c1p+4, 0x1.f8aa3d544c165p+2 +-0x1.70aa1c9b9bc3bp+3, -0x1.e8a2c79794b65p+3 +0x1.7edfd74606f1ep+3, 0x1.65b55f4a91677p+2 +-0x1.6c8ed28a827fap+2, -0x1.6e2d95b1faa8ep+2 +-0x1.9dfe75fc5b3a4p+0, 0x1.5c76a9f0f9b9bp+2 +0x1.50648ce2103abp+0, -0x1.27da11d2ea9e2p+0 +0x1.6f3ab7fa7595fp+3, 0x1.186ab9ddaee1p+4 +-0x1.e4787ec1e9503p+2, 0x1.5ee63c7866ea2p+2 +0x1.72dfb79526942p+2, 0x1.5189aa7de2598p+3 +-0x1.ea944140b6b2dp+2, 0x1.a08aa23ed3426p+3 +0x1.7d221b1cfdb7ep+4, 0x1.75f187a2f0013p+2 +0x1.77cdd37f3cf51p+3, -0x1.8c5f07a33fb47p+3 +-0x1.533f6b692e2bdp+3, -0x1.0c3b736857d02p+0 +-0x1.819334a21baa3p+3, 0x1.a629fb41bae83p+3 +-0x1.2a4371aba6e53p+4, -0x1.4b5e9d49e06bap+6 +0x1.44621d320409ap+2, -0x1.71ddaf176876dp+3 +0x1.9212de25541e7p+2, -0x1.63737d05e9e9fp+8 +-0x1.ee0e95f628e58p+1, 0x1.df9a0e9fa64e2p+2 +-0x1.e6e8426e612a4p+2, -0x1.d6f37696c7e02p+1 +0x1.888804af221e7p+2, -0x1.08d3d2515a6f1p+2 +0x1.797118888172ap+3, -0x1.08f19f7cfd298p+2 +0x1.4e5979174219ep+2, -0x1.c5e3243a482bdp+2 +-0x1.e434f406fbcf7p+1, 0x1.01cf708c8e911p+4 +0x1.072ed89cb83aap+4, -0x1.d64d1f224d253p+2 +0x1.256ed5a2e08a2p+3, -0x1.0dbe45eff4189p+5 +0x1.bdfa91f9ff7f4p+1, 0x1.151efef0b2e5cp+3 +0x1.41e6770f03481p+7, -0x1.cd5e66808ddc2p+3 +-0x1.9d80181227cc2p+4, 0x1.0636d4aa9065bp-1 +0x1.19503bc0f8f16p+0, 0x1.ed0ba3ab411a2p+3 +0x1.56b5a9776c1edp+3, -0x1.77aa7923301cep+3 +-0x1.59b8a1974f4f5p-3, 0x1.561ec85be9404p+4 +-0x1.a90d6de5e626ep-3, 0x1.aa6c6ea2508f2p+3 +-0x1.f49af72c6b75fp+2, -0x1.ceb279cc76d6bp+4 +0x1.4b6ba264f6107p+4, 0x1.50d2ef69df5e3p+2 +0x1.79ffc31cd8f57p+2, 0x1.2e293fd18516cp+0 +0x1.753b5686f3a4fp+1, 0x1.4cf81b04333f1p+2 +0x1.2948b0662538ep+1, -0x1.2625aca71fcd2p-2 +-0x1.079772d0f3e63p+3, -0x1.9fbcf2316f2a8p+3 +-0x1.4fb0c2d01fe3bp+3, 0x1.00adfa7683146p+3 +-0x1.a05e66b2efa63p-2, 0x1.21f1018d9ba3ap+4 +-0x1.4783f3f02e895p+0, 0x1.3d40f9118dd3fp+4 +0x1.14a6960b6c79ep+3, 0x1.a4e5d437fd329p+1 +0x1.046cf0f2142f4p+3, 0x1.44b56331cbap+2 +-0x1.c4a0d57c80583p+0, 0x1.a74c792074a57p+4 +-0x1.6c34240e81736p+2, -0x1.07ba9a549e728p+4 +-0x1.b225d3841ecbp+2, -0x1.2f79c36123e52p+4 +-0x1.babe377c6384dp+0, 0x1.1867d99102dc5p+3 +0x1.a416a883f9becp+0, -0x1.3a6a4c407bd35p+0 +-0x1.cc3d793a27baep+2, -0x1.9a5da6877f1f5p+4 +0x1.40c5d1a268721p+2, -0x1.3ede8871d69a7p+3 +0x1.f5ec28a5eadd3p+2, 0x1.a82b8540e95a5p+0 +0x1.4cf2b4f63204ep+3, -0x1.fca0a56bfbfa5p+0 +0x1.0ff748eca2436p+7, -0x1.1293449e75663p+3 +0x1.c404488a17e37p-2, 0x1.f747515cdac4cp-3 +-0x1.d3f9a415b3a8p+0, -0x1.8963904d231cdp+1 +0x1.f3d9428411647p+1, 0x1.8e9514e0f8733p+0 +0x1.6dbef9f4583bbp+2, 0x1.864ca784c895ep+2 +-0x1.fbe8b6834a6cep+2, 0x1.92cf935990152p+3 +0x1.bb676b0970c68p+3, 0x1.445dc07d2fe97p+3 +0x1.a54fe5fa3e6d5p-2, -0x1.bc316393ad7c1p+4 +-0x1.aa943f0a6cca3p+2, 0x1.e2ec922d1c87bp+1 +-0x1.7c0d202442505p+3, -0x1.337609d0d0ec4p-1 +0x1.3052435ed5d77p+3, 0x1.4eae0f0d76503p+4 +-0x1.fb4642e3914fcp+2, -0x1.2e5a58341b37bp+2 +-0x1.38aa9933ffc7fp+2, -0x1.c95f5f8ff43c4p+3 +-0x1.0f7c6b8e0b341p+2, 0x1.294fa43be1de8p+3 +0x1.c58d4eee23f9ep-1, -0x1.caaf642d5c6e7p+0 +0x1.61f63a18388e9p-1, 0x1.848b69270beb9p+1 +0x1.deb89ed5567ccp+1, -0x1.7563ebe3bc493p+2 +-0x1.cfbd80ee987e9p+2, -0x1.c73c8a687516ap+3 +0x1.f68a55b6679c8p-2, 0x1.224d984a0f3c1p+1 +0x1.00b4452090967p+4, -0x1.194d82000dd29p+4 +0x1.503924f091485p+2, 0x1.8f22387722248p+1 +-0x1.4a954f9eb9134p+2, 0x1.c2cab7e557a23p-1 +-0x1.6fd991c2e2143p+2, 0x1.51f45d25687e9p+2 +-0x1.795969a06b59ap+2, -0x1.f61f9ef724555p+2 +-0x1.d73f974f9e469p+3, -0x1.48b2664bf38f1p+7 +-0x1.bf96a27f3224bp+3, -0x1.48c3fad1053fcp-4 +0x1.a832cdc6a2994p+2, 0x1.057571523c9b1p+3 +0x1.829f14063aafep+3, -0x1.771c350bef525p+2 +0x1.e1f55b7632566p+3, -0x1.165a15820cb72p+2 +-0x1.3d29f0f60634p-2, -0x1.503bb76bd4d2p+0 +-0x1.9665f2ac14ffep+2, 0x1.5c737d28702aep+1 +-0x1.9977a5ec770dbp+2, 0x1.1c85d693dfcffp+3 +-0x1.1e5bf28346512p+3, -0x1.0c25e3e2bb091p+4 +-0x1.757ea3459b1f2p+9, 0x1.0015e8a6e18d7p+3 +0x1.97897cdbef3fap+1, 0x1.3714b721e85bcp+3 +0x1.3e91fffb7d3e8p+6, -0x1.13bfc62cd6b3p+2 +0x1.022ce9bc2e284p+3, -0x1.501787336694ap-3 +-0x1.361ef058db85cp+1, -0x1.e2c088998daf1p+3 +0x1.768416766fddap+1, 0x1.77318bad559d7p+2 +-0x1.1d4e9e458e0a5p+1, 0x1.f2dfbd025a3b1p+0 +-0x1.1de5bd7aa7dccp-1, 0x1.111a258ab0969p+1 +-0x1.75851d7688cbp+1, 0x1.2e9aa31ffca34p+2 +0x1.40e62d170cbb7p+4, -0x1.699af9687c42ap+2 +-0x1.f8ca5bfd82cebp+1, -0x1.d805bf278a79ep+1 +0x1.73e62afa26ffcp-1, -0x1.4d67c6d98542bp+3 +-0x1.4b9337493b2b7p+3, -0x1.8efb360224fe2p+2 +0x1.0ec119f842749p+1, -0x1.8e15760a594f2p-1 +0x1.e4ffefb3ffeb6p+3, -0x1.371f674e5d3b4p+2 +0x1.db442f53562b1p+3, -0x1.3af9cac19b3ap+1 +-0x1.1989ebd8c736ap+2, 0x1.22cf446f1d612p+0 +-0x1.0d9104074e5e7p+4, -0x1.6a3f5c79f7ef9p-2 +0x1.8b1e368c6b105p+1, 0x1.52fde46322167p+0 +0x1.2f9da0dbb3a57p+3, -0x1.376cc75e62d2p+1 +0x1.439cf47e624eap+4, -0x1.f720233a29a5p+3 +-0x1.49e464d20b348p+2, -0x1.94104d562c94ap+0 +-0x1.89c37228ebbe8p+4, -0x1.e327617ffac6bp+2 +0x1.4db2121d9ecdfp+1, 0x1.010727ad79ee9p+1 +-0x1.3937b2f7bb3bbp+3, -0x1.ca41147cab96bp+2 +-0x1.36c36c9a886c7p+4, 0x1.e73e6657e86dap-3 +0x1.3e3f21b7bdfa3p+1, 0x1.68841a4f6fd5ap+3 +0x1.a28ee9b5b5fcap+3, -0x1.39d57a12997dap+1 +-0x1.575f010cb4782p+2, -0x1.9a235bcaa0ae3p+3 +0x1.da89dce7abbb9p+3, -0x1.3e8b137781dd1p+3 +-0x1.b0109c64b0932p+1, -0x1.2870ee8d692ecp+3 +-0x1.37c876985ee1cp+3, 0x1.b62bda3fa929cp+3 +-0x1.321d1d7d071f2p-1, 0x1.1156901b894a3p+3 +0x1.bfd09e295aa5p+3, 0x1.72bfa77ed5d63p+3 +0x1.0efee8ac7e7acp+2, 0x1.50a05426d7179p+2 +-0x1.36211de683d9fp+2, 0x1.072ac42de922ep+4 +-0x1.5342ee529983bp+4, 0x1.568a072b1848cp+2 +-0x1.49a1ce5b6143bp+0, 0x1.3ac72cc329b92p+1 +-0x1.60249c460131p+2, 0x1.4eee91fde1574p+4 +0x1.0de753e348d3ap+2, 0x1.87026205d27c6p+6 +0x1.f933a52cc1865p+2, 0x1.f9b229c50442ep-1 +-0x1.2e721b254bbddp+2, 0x1.2ac04276e79d6p+2 +0x1.6880f9d120748p+1, -0x1.c2a2f77756231p+2 +-0x1.402645cc308a1p+3, -0x1.6d9886c40515fp+4 +-0x1.386f6996d4013p+3, -0x1.a1847177f17a3p+2 +0x1.70f4fec4b47efp+2, -0x1.294b8cf168599p-1 +0x1.d6930a999ecdap+3, 0x1.5763b9bc796cap+3 +-0x1.ced806864d203p+1, 0x1.0ebfd03fa1541p+3 +-0x1.7fe12cf409489p+1, 0x1.6541aebc32bdfp+2 +0x1.55282ed36f2d3p+4, 0x1.8ab3ffb596ec2p-1 +-0x1.f1196e32e09c7p+1, -0x1.6d2efdc926be9p+4 +-0x1.53bf8b99fc07ap+8, -0x1.de69d41123006p+2 +-0x1.212424c0be5fbp+0, -0x1.8edc9d62d7c87p+3 +-0x1.ca91f85eb5081p+2, 0x1.bb755facf702ap+1 +0x1.ea04eac87bb39p+2, 0x1.f1a58e604677bp+3 +0x1.8a126fc223ef7p+2, -0x1.5a3a968fd9f81p+3 +0x1.656a1c5c046bfp-1, 0x1.58a09709cbeddp+3 +0x1.b1471ee6a34c7p+3, -0x1.0dca2519f4957p+3 +0x1.5cc615356ada5p+0, 0x1.b51e9dcf21553p+3 +-0x1.b839533c2c695p+3, 0x1.0f23412dac1c4p+3 +-0x1.0f22d9b48c268p+3, -0x1.1cc0e9154efep+3 +0x1.edef931e4bd55p+7, 0x1.b30fedd75b76cp-2 +-0x1.893da3822ed04p+2, 0x1.0d3bec460ba52p+1 +-0x1.34a3dc4458214p+3, 0x1.ec50cbaa54eep-1 +0x1.0ffd39d596e61p+4, -0x1.b55432f53c5f7p+2 +-0x1.34c2e053a8669p+2, 0x1.8a062d440d128p-1 +0x1.c628aebaeabf7p-2, -0x1.2caad8f4f5d5p+3 +-0x1.d9965f59181e1p+2, 0x1.932ea4fac1235p+0 +-0x1.0d4cc23cc65f3p+1, -0x1.26f7483e51bd6p+3 +-0x1.556474ba3a864p-2, -0x1.fb92945b47fa7p+2 +0x1.83583dbeb6d68p+2, -0x1.5f6914a4fff4ep+3 +0x1.3e6dd96c23ca5p+4, -0x1.e2c9c7b3aea87p+2 +0x1.3401cb895102dp+3, -0x1.f3763cfa942d8p+3 +0x1.042710aa965edp+2, 0x1.2847e0de78a0bp+3 +-0x1.da06c028a4428p+3, -0x1.0b8e2dfc883b6p+3 +0x1.a135947e35354p+3, -0x1.a3b4063fdb807p+2 +-0x1.09d3e8d7218cap+0, -0x1.45f2c253822ap+0 +-0x1.3ca141622233ep+9, 0x1.6f41404dcb37cp+4 +0x1.e35f462a3d763p+3, -0x1.b74e8952c88bap-2 +0x1.055f9aef35db9p+1, 0x1.87c8c9254be14p+2 +0x1.8dfee95a77181p+0, -0x1.4d6424efc608dp+3 +0x1.012b18cd60539p+2, -0x1.ed3166beddad2p+1 +-0x1.3bb4ad358f08ap-4, -0x1.96d78ccd7f6adp+2 +0x1.091f3d8a9ef79p+3, -0x1.599edc308d844p+4 +-0x1.e1b3b11db2d79p+2, -0x1.bcd2b0e3963c2p+1 +-0x1.01fffe197e171p+3, -0x1.08a8c020904c9p+7 +-0x1.8e5257b91aadfp+3, -0x1.a382dd986ebbp+0 +-0x1.c80a94a1f9de8p-2, -0x1.62115887ccd23p+3 +0x1.40e19f467454dp+3, 0x1.6c7eb2dd9fd03p+3 +-0x1.162860188a774p+1, 0x1.48d56d4cc4fa5p+3 +0x1.3f60d67f9f958p+2, 0x1.8e58a5cdd814fp+1 +0x1.dc2dea41456f9p+2, -0x1.4b61391194b49p+4 +0x1.bd2cc8bec981bp+3, 0x1.c29b6c4ec8c7p+0 +0x1.63e123f20daap+9, 0x1.e7cfe0f3fea35p+2 +-0x1.a79cf7d8593a7p+2, 0x1.3b32f9eaecf09p+3 +-0x1.df96239c31812p+2, -0x1.76ac05e196fc1p+4 +0x1.05e19db4ea6b7p+2, -0x1.996d50f371f35p+0 +-0x1.696957f23cc64p+3, 0x1.c5b5b87bb9259p+1 +0x1.c775102b2f9f3p+2, -0x1.20a52c3931e96p+4 +0x1.00d8e8790430bp-1, -0x1.6306b9bdf285ap+1 +0x1.3ef286f9dca89p+3, 0x1.22e54d819dfcdp+3 +-0x1.48d7c53cd5f4dp+2, -0x1.eee0676cf3cb5p+2 +0x1.71c307f7fb9e1p+2, -0x1.4b369c58fa28p+2 +-0x1.1ba5880232e51p+1, -0x1.7bb97e0a0794ap+3 +-0x1.d15fa51dce50ap+1, 0x1.11c087d05cc96p+3 +-0x1.6a5de2ffae104p+1, 0x1.5adf0fba44c2dp+3 +0x1.05685064513bbp-8, 0x1.37532102e75p+2 +-0x1.2bdc8ce98ba5ep+3, -0x1.5e9c85e258cbp+3 +0x1.195851de077dap+3, -0x1.fcca086e11af6p+3 +0x1.d3bb59539e707p-1, 0x1.1315f05f0689fp-2 +-0x1.e9d80aac3e984p-2, -0x1.9cb740eb5f0b4p+3 +-0x1.07b0894996d85p+4, -0x1.3946293c9f519p-2 +-0x1.103236b026804p+3, -0x1.86b45d8e9c7f1p+0 +-0x1.c5774678babcp+0, -0x1.02908903d5055p+3 +0x1.4d4853e55503ap-3, 0x1.e52bc2ae7147ap+3 +-0x1.821308d77182bp+3, -0x1.e350e0289938dp+6 +0x1.1dcb72d46cc92p+2, 0x1.a927e4aabd35bp+2 +-0x1.02028359dfebap+3, 0x1.75a463b556daep-2 +0x1.2f7315f17182p+1, 0x1.9f54ab71af2e9p+2 +0x1.26708c9225273p+2, 0x1.0fa2372b85072p-2 +-0x1.8ba9f20cafcfap+0, -0x1.78c49f8fb4399p+4 +-0x1.0b168a3cff69dp-4, 0x1.118a406e8e0f3p+2 +-0x1.75babff1f5119p+2, -0x1.18c095ceca46cp+0 +0x1.e0cc1d9bf7d24p+2, -0x1.6277e0773178fp+2 +-0x1.2f71a7609ff2ap+3, 0x1.31b330dd66a02p+4 +0x1.ecfbb2149cae8p+1, 0x1.4d9c3816ddb25p+3 +0x1.a4d1586c19765p+3, -0x1.19dba108cc4e9p+3 +-0x1.e237148e7d7c6p+3, -0x1.a79de628f2ac4p+2 +0x1.06942d8327751p+3, -0x1.13ceb0af8064fp+3 +0x1.11e5831196535p+3, -0x1.c3fb89bfc3ec3p-3 +0x1.00c8e3b1bfad1p+3, -0x1.97b0fd2b248eep+0 +-0x1.87370c83fa79bp+0, -0x1.cfa0e45f8a3dbp+0 +-0x1.08d16b7b7391bp+1, -0x1.0b77204814489p+4 +0x1.3703baf2dcc28p+4, -0x1.3081e919e402ap+2 +-0x1.b63a74508b434p+1, -0x1.2e0e36e15ffd8p+3 +0x1.6248e3040cecap+2, -0x1.6d26e25f2f356p+2 +-0x1.76b6c10f5c3bfp+2, 0x1.2fc8efc6dc93p+3 +0x1.901473d3cc09fp+0, -0x1.7ab2bddb7b9cbp+2 +-0x1.22c585fd051p+4, -0x1.b5b926af99d5bp+2 +0x1.3089599a16fd9p+2, 0x1.91245fe27bab2p+1 +0x1.cf4e37558165dp+2, -0x1.5ffdb47dd91d7p-1 +-0x1.f15c3d8592513p+1, -0x1.472a386cc39cdp+2 +-0x1.81362897d10aep+2, -0x1.ec266060e519ep+1 +-0x1.8f5ac2b8db2f1p+2, 0x1.5957301d97714p-3 +0x1.1688b601d52d1p+3, -0x1.e69d3d3c854e3p+2 +0x1.2551a43136a5ep+3, 0x1.3ced3f98c5d2bp+1 +-0x1.1e29694b29ba3p+0, -0x1.f6e3b844eea5bp+3 +-0x1.6f5bf6ea2476dp+1, -0x1.158f328021468p+2 +0x1.4228764d5f4b4p+4, -0x1.6d70ec9aec5ebp+0 +0x1.9589528b80a62p+3, -0x1.17a748c22ae05p+0 +-0x1.7c46c881201d2p+6, -0x1.ac85c290456e8p+3 +-0x1.8f9a87153b554p+1, -0x1.026cdaaa5387ep+3 +-0x1.27b6f8815e1f5p+3, -0x1.e6ce2adb44117p+3 +-0x1.9eaa457088b2dp+1, -0x1.ea97f90900dc1p+2 +-0x1.000793bcfbf97p+2, -0x1.871c425765b2dp+3 +-0x1.dce92a33b983p+2, -0x1.ee58deac86c2fp+3 +0x1.2a18a69ff3fe6p+0, 0x1.2f002b3a5d473p+3 +-0x1.5691a6cf96ea6p+4, -0x1.65a665fafa579p+1 +-0x1.32703114602c1p-1, 0x1.0ab6ffa96635bp+2 +-0x1.4c0e4116542d4p+2, -0x1.40a49a5a31a4bp+4 +-0x1.2c6d9cbf508f8p+1, -0x1.1f8f0f58cea3ep+2 +-0x1.627ab720fa97fp+3, 0x1.2d7fe4d1f5b98p+3 +0x1.0b4a7ed20b10ep+3, -0x1.07a6baa5955ap+4 +-0x1.7141823792175p+2, 0x1.abc548f8744d5p-2 +0x1.15abcdd1c23ecp+2, -0x1.025c95d60a10bp+0 +0x1.5ea185736ca37p+1, 0x1.091bdf48c08fbp+4 +-0x1.7a40f6dcfb4b6p+3, 0x1.0f1668ea40e7bp+2 +-0x1.28f22fff7939dp+1, 0x1.9877e3c5efed1p+1 +0x1.0c7295aca4b74p-4, 0x1.abdb7c0b9c2e5p+3 +0x1.4df420091293dp+2, -0x1.05525d7fdffc3p+8 +-0x1.1c3ff897996ap+4, -0x1.b1e255e4b4c88p-3 +0x1.92650c720cf87p+2, -0x1.b1fdafaac1ddap-6 +-0x1.f3a9f70aa1f2cp-1, 0x1.218c15fd69f02p+3 +0x1.f41fa7fa2801ep+2, -0x1.858ebec4833bep+3 +-0x1.3694e036704c5p+4, -0x1.58f2e0a111da6p+2 +-0x1.23726e37b2857p+3, -0x1.26c209914cbbbp+3 +0x1.a35c99ab4cf71p+2, 0x1.0d6ab7c800dc9p+2 +-0x1.1a2c5649a192p+3, 0x1.f1300b8a99ef4p+2 +0x1.1badf3d1538cbp+2, 0x1.f70a5fd79345bp-3 +0x1.6c3561f5b27ccp+2, 0x1.2e97399f425cap+2 +-0x1.83e0d4f971202p+3, 0x1.465cad4dbb31ap+2 +-0x1.acf746267cdc6p+0, 0x1.f755d05c0cb27p+4 +0x1.eacacad865ff7p+2, 0x1.ce1797ee983ap+1 +0x1.913b756bb953ep+3, -0x1.024d6cad362fbp+0 +0x1.79077b149d878p+4, -0x1.8fe8969bd6a22p-1 +0x1.5a3745a214c84p+3, 0x1.55dfd136fc281p+3 +-0x1.1253d6f967593p-1, -0x1.5e1cf60686dbfp+3 +0x1.4d9705ef09c4bp+2, 0x1.85ebfa29de04ap+1 +0x1.7ba46785eea5bp+3, 0x1.e48d23d5d7c7bp-4 +-0x1.bd5bb98aea199p+2, -0x1.3923da08e0129p-2 +-0x1.a76fa31c9020ap+1, 0x1.3cd913ef1e88bp+0 +-0x1.284182d37e499p+4, 0x1.04060b5b1e5e7p+3 +0x1.ec7436bc68189p+4, -0x1.ba227ffc157b6p+3 +0x1.85b34f977899bp+3, -0x1.331ce6e920ec3p+3 +-0x1.a0d1909acaabfp+2, 0x1.fdf1e5c0b20f7p+1 +0x1.109f1d18e1a55p+1, -0x1.5261ae645ec9cp+1 +0x1.ea7dc45029c3ep+1, -0x1.3d89e649811cfp+2 +-0x1.9e8b773c46c31p+3, 0x1.b289e1906ed2ep+3 +-0x1.bf34db5a5f2bfp+1, -0x1.15661fd8d2034p-2 +-0x1.1d4b3d6bf31e7p+1, 0x1.d98a19d1561f7p+2 +-0x1.a9ecf7529ff78p+2, -0x1.aced7dd140261p+2 +0x1.dd46e5c1b2477p+2, 0x1.ea56585bbcc18p+0 +-0x1.61ac5ea982f05p+2, -0x1.6f2399f267f32p+3 +-0x1.c5bc5a56e453cp+0, -0x1.a196d5a1218b2p+1 +0x1.df44e19fd540cp+1, 0x1.fb5a16468a731p+3 +0x1.9df73cb1fac97p+0, -0x1.85f959932aad7p+1 +0x1.130c33e7c9b47p-1, -0x1.3e001b7a6f581p+3 +0x1.25bd6289d6c3fp+2, -0x1.5088b0f6e2125p+4 +-0x1.0a1a723141569p+3, 0x1.b6a4a12d331a7p+1 +0x1.ed076c860970fp+3, 0x1.eec1e01476bf5p+0 +0x1.327a2e3ebebf5p+4, -0x1.74fceab5b38c8p+4 +-0x1.47d9e8947cc4dp+3, 0x1.15a46d37b404p+3 +0x1.2a4eb9adaf536p+2, 0x1.b655ee1a444afp+2 +-0x1.133882b38cedp+3, -0x1.7cd0914c6f424p+2 +-0x1.f7f4ea43f02e2p+0, -0x1.2b25f446cf53p+2 +0x1.3f871df39e8d9p-1, -0x1.077dda6ec5cfep+8 +-0x1.e61f08d849787p+2, 0x1.d96d8785035c7p+1 +-0x1.1cf480687541ep+2, 0x1.7dbabd0280b26p-1 +0x1.33baa1ac09c9bp+3, -0x1.ce06000fc4cfcp+2 +-0x1.01955cc2ce019p+3, 0x1.0c82f2c991e03p+2 +-0x1.13b25a5b02d6ep+3, 0x1.8aeca44e4e0cbp+3 +-0x1.3070ff115bb55p+3, -0x1.696cbadbc97c7p+2 +0x1.c09f25216e7b2p-3, -0x1.cdf9e1eaa7b85p+1 +0x1.5c8832d2cf057p+6, 0x1.093448af4374bp+4 +-0x1.f9887f8d2fb98p+3, 0x1.ea22bf32ddc4cp+3 +-0x1.4e348849f0985p+2, 0x1.32942bfe571d2p+3 +0x1.db929990e5713p-1, 0x1.0ef8d3d9deeedp+1 +0x1.5ebb09c9f1f3fp+3, 0x1.bbe6fcfff4201p-2 +0x1.57f5768d95d1dp+4, 0x1.0643bd9536cb2p+1 +-0x1.5b52835c6b075p+3, -0x1.262992ff1f409p+4 +0x1.0cb91192d4af5p+0, 0x1.3e16dd7b08bbep+4 +-0x1.feb3ac25b694bp+3, -0x1.7e8fe26fd3a74p+3 +-0x1.37129dd9d9bf5p+7, 0x1.78e2b42d8f62cp+1 +0x1.0be34e2e07221p+3, -0x1.8b746b606b9a8p-1 +-0x1.f95af5149d62fp+1, 0x1.059feec4b96bep+4 +0x1.cb2f134ab7833p+1, 0x1.8df2ad051621cp+1 +-0x1.3a93e0213f734p+4, -0x1.4f4ebd9346952p+2 +-0x1.7e8b660ab340bp+0, 0x1.86851f238fbcdp+1 +0x1.ef11fbe132ab9p+2, -0x1.199958c55d91dp+3 +0x1.fd7beb3006c7cp+0, 0x1.9d2030d231e08p+3 +0x1.2e797b4262254p+3, -0x1.cb968b0b7e7f8p+4 +0x1.681437aac373dp+4, 0x1.b0673b2612e7ep+1 +0x1.4bb44bcace109p+3, 0x1.72c277ba0344ap+3 +0x1.b7d7a3f2ab7d3p+0, 0x1.6c2c23ca8585cp+2 +-0x1.d9063c0308f38p+3, -0x1.d7fb989431b06p+2 +-0x1.97c17da64c513p-2, 0x1.dddd32bc1bed7p+3 +0x1.2f5d3642741fbp+2, 0x1.abd9a3bfe6752p+3 +-0x1.1a0cb9649cb9dp+3, -0x1.47c0dfc1bedbp+4 +-0x1.ea1d898795044p+2, 0x1.3f5cfd3bf2bb1p+2 +0x1.1984e31818489p+3, 0x1.8d692a5f191eep+2 +-0x1.c535d1e414c3bp+2, 0x1.2f6931ccb45c6p+1 +-0x1.3ee6d0ad1783ep+3, 0x1.0d44bad7ed528p+1 +0x1.3de78ea929434p+2, -0x1.b1a73674359fbp-2 +-0x1.d6df527b2ee98p+2, -0x1.6ad97be5c3314p+0 +0x1.16a3b992aced4p+3, -0x1.e1a0f0a5724e7p+3 +-0x1.5f31c9fc91249p+1, 0x1.a62ac4a067cc2p+3 +-0x1.49cabc83290f5p-1, 0x1.6bcaaec34f8a8p-2 +0x1.6a27a24bdc5aap+3, 0x1.a1a4a75919f36p+2 +-0x1.6de2a949dfb64p+3, 0x1.b1fd1c29362d5p+4 +-0x1.96c703c00b625p+1, 0x1.7b04f251f9d4p+2 +0x1.a9f924f9e472cp+0, -0x1.2669b5137f22ap+7 +0x1.67b82f23f4eedp+2, 0x1.9b9cd11a55fd5p+2 +0x1.34b2333838818p+2, 0x1.71aa32c1fd761p+8 +0x1.3007343faa853p-1, -0x1.354519d530b13p+0 +0x1.e775655b40df6p+0, 0x1.724f9a4180da6p+0 +0x1.f4aa1a36f6aecp-1, 0x1.e04b948499a37p+4 +-0x1.ce675e7c49e1ap+2, -0x1.6ada0b1ae5f41p+3 +-0x1.aa36b4e281e18p+2, 0x1.17f359eb156b9p+2 +-0x1.266305dc0f216p+3, -0x1.6c7b9d55ca013p+2 +-0x1.4e8e3a6380407p+3, 0x1.3078d55b2c65ap+3 +-0x1.2292ab6f49e71p+2, -0x1.c859542934f0ep+2 +-0x1.e8c0f9598b861p+0, -0x1.ebb8a80f3d20bp+3 +-0x1.84bb450e540c6p+2, 0x1.acc4ed189f158p-3 +0x1.ad613d0840c83p+2, -0x1.d4b3de7fc6f8bp+4 +0x1.16e3dbec8d68fp+2, -0x1.e68fee512ef27p+3 +0x1.2808ebff3f5b5p+2, 0x1.c0e7ce1ac497cp+2 +-0x1.5e99f6bf61857p+1, 0x1.e96cc6cc39ca8p+1 +0x1.4bc162ff84ee1p+2, -0x1.003a46fb6d4c3p+4 +0x1.2cdcf25cbaba6p+3, 0x1.4aaaf1e2f4a3cp+3 +0x1.d70e36efa2f52p+1, -0x1.9b4c35717907dp+2 +0x1.f5b1ca4ec9334p+3, -0x1.da3537399a52ep+2 +-0x1.8bcb65fa64959p+4, -0x1.a6639ea23a0a1p+5 +-0x1.99e4795e7ae03p+0, -0x1.246b23416ee06p+3 +0x1.f46dc7a49b495p-4, 0x1.9308f7ecdcbe7p+2 +0x1.ca2c90363e4b8p+2, 0x1.ced91ea4a0b04p-3 +-0x1.8dc73c02957fcp+3, -0x1.4e82c1906ca0bp-1 +0x1.425c36370b77bp+2, 0x1.454f05dc40f35p+3 +-0x1.34e34f79a1dc2p-4, 0x1.b14ee948714f4p+3 +0x1.5e36e2ed9310ap+3, -0x1.37ec73e28a01p+1 +0x1.6c893ec7b1e88p+0, -0x1.e27ccdeecd72fp+1 +0x1.4ee1a884db80ep+3, -0x1.f389be7c15eccp+3 +0x1.14853ac3235a1p+4, 0x1.77e032e76369dp+6 +-0x1.177a7bbe0adb1p+3, 0x1.88074b6b04c4ap+1 +0x1.a59dc0feed035p+2, -0x1.39b66a403dba9p+2 +0x1.a7c0b32829c2fp+2, -0x1.7c465ee120a2cp-1 +-0x1.2fc05e40b4926p+3, -0x1.f930564c1f728p+3 +-0x1.a1df5570e36c6p+1, 0x1.6994dcce6a50dp+4 +-0x1.fefd6fb5764cp+3, 0x1.61f40854ed8ebp+4 +-0x1.632161e8b4c1cp-1, 0x1.b8d5cc08cf308p+0 +0x1.0b1f4c22a7403p+0, -0x1.a01c6cdad791dp-4 +0x1.9f52826c438a4p+0, 0x1.34a2904f18b51p+3 +0x1.311d2458081b4p+3, 0x1.11d389e5b97fdp+4 +-0x1.304c512edddd8p+2, -0x1.85f90e5a07dbp-1 +-0x1.385f4e84b8485p+3, -0x1.0f864e48c7922p+4 +-0x1.98f30deec4381p+3, -0x1.6fa14545111bp+2 +-0x1.439f1d58043p+2, -0x1.b62707bd70165p+1 +-0x1.9d029c050ef64p+1, -0x1.1225fd321e071p+3 +0x1.2f0167b6cf23fp+1, 0x1.436d415e4d368p+1 +-0x1.13e7f940558a7p+4, -0x1.a00e3c42d5fb9p+3 +0x1.8d4129f260bc8p+3, 0x1.dcd8d0f90f635p-2 +-0x1.0d341f3103384p+3, 0x1.804f941b8e0b8p+1 +-0x1.bd8618ebfde87p+2, 0x1.cd45aae1df67p+1 +0x1.142b280103169p+3, 0x1.fa252c9cdee8dp-1 +0x1.4d11d224f0cabp+1, 0x1.2c769ede35224p+2 +-0x1.3109d57455dcep+2, 0x1.995ba6e8a977dp+8 +0x1.421218a229d35p+1, 0x1.8f5382a99214ep+2 +-0x1.8229f93b16be8p+2, -0x1.a60bf32aab91p+1 +0x1.fdf5ef1d20b15p+2, 0x1.4ededeedb48eep+3 +-0x1.aaf6fa5a19213p+6, -0x1.cdac7cfe81d99p+2 +0x1.081f438fe9da9p+1, 0x1.d65fd3149a9f4p+2 +0x1.784b96bff6c8p+1, -0x1.afa172c5083b4p+2 +0x1.47e4ecf75e46ep+1, 0x1.98b08c74cf998p-2 +0x1.07d233dd07503p+1, -0x1.0dd0fd61d5cep+0 +-0x1.5b03364d3776cp+2, 0x1.26377002dcd8cp+2 +0x1.a5b019c618665p+2, -0x1.35db190016a43p+2 +-0x1.5c00cfcbb8befp+1, 0x1.6865dbf132ab1p+1 +-0x1.a263526e7a6c1p+3, -0x1.90aba518581a3p+3 +-0x1.ab77087c50176p+0, 0x1.a5b8770076d26p+2 +0x1.691a09e0263e3p+2, -0x1.27c96d4875a62p+1 +-0x1.1baeacbe60075p+2, 0x1.c2eacad26a5d9p-1 +0x1.5c6925871b004p+2, 0x1.70d1a54ae933cp+0 +-0x1.84b0184233293p+1, -0x1.26d71c99e9576p+4 +-0x1.26b8f762a9b5cp-2, 0x1.159eab1d663dap+2 +0x1.73b1a47d94b01p+1, 0x1.6ec8b95dbead5p+2 +-0x1.ddb60896f23d6p+1, -0x1.0b8fb637b02cdp+1 +0x1.ba7bf5e10df37p+3, 0x1.e01b871938515p+3 +0x1.01a990dea9f8fp+4, 0x1.80761ae8d18cap+4 +0x1.5546dd78531f7p+3, -0x1.3a72745b87529p+3 +0x1.741d8eaf767bep+1, 0x1.07612a1cbf361p+4 +-0x1.c92753fd40cbp+3, -0x1.60fd69c8000ecp+2 +-0x1.fd3c65f6dd01ap+2, 0x1.c4f102917bf2dp+2 +0x1.5fc31a5e9ad46p+3, 0x1.1747c5d295bfep+2 +-0x1.b83a79691c2b5p+3, 0x1.9507541441451p+0 +0x1.013ef24a71ecfp+2, -0x1.32b0c65409b77p+3 +0x1.2af8ebbd3e587p+3, 0x1.30e79c3ac2ddcp+4 +-0x1.5126be246f85fp+3, 0x1.abf1b83c3c2d2p+3 +0x1.97b5cc5b496ep-1, 0x1.be0645dacd549p+4 +0x1.a537166bbd7a8p+3, 0x1.1303d859ca0ffp+4 +0x1.865f1235a5b3fp+3, 0x1.52cac7e1d6526p+3 +0x1.581ea47bf68b6p+2, 0x1.726357bc01203p+1 +-0x1.1d89a24059e02p+4, -0x1.d7ea976fb40f8p+3 +0x1.dffee412f33c7p+2, -0x1.3999bd0977767p+4 +0x1.e2c29dad78b2cp+3, 0x1.c338ad9696515p+4 +-0x1.960f10df73a9fp+3, -0x1.d943bf759b3d4p+1 +0x1.921524f677e6cp+3, 0x1.943be86ccca13p+3 +0x1.03382c18cd8f6p+2, -0x1.4b2541ac4ae7cp+3 +0x1.35b2000c68aa5p+3, 0x1.31e6c36b02cc4p+3 +0x1.464ab0c7ceecap+0, -0x1.70b350eec9474p+1 +-0x1.178c20521cbacp-2, 0x1.f547589de83f2p+2 +-0x1.548463df65f32p+2, 0x1.f6f50ef74cfe5p-1 +-0x1.177eaf8577419p+3, -0x1.b1630710c7b79p+3 +-0x1.97cee65c5cf38p+3, -0x1.2cc6b7d8d609ep+2 +-0x1.ad435031e6e79p+2, -0x1.65dfd6f06fd52p+2 +0x1.42eec13e11cecp+3, -0x1.ba57ed14eea59p+2 +0x1.b9f70995a6ce3p+2, -0x1.3fb19c12641b2p+4 +0x1.0d4f99011307fp+2, 0x1.07a8824887437p+9 +0x1.331e38393561cp+3, -0x1.38b7fa0c47272p+2 +0x1.16928302417b6p+1, -0x1.327b6fb1378e4p+3 +-0x1.ade91170912fep+3, -0x1.e5d01b534b1fcp+2 +0x1.2a068cd353626p+3, -0x1.7f6bc722d7461p-1 +0x1.b63a3558375bep+4, 0x1.e044707c38ed8p+3 +-0x1.e5f57b518f5bfp+3, -0x1.5e1f11b56a90ep-1 +-0x1.7e1f3fc382c82p+3, 0x1.c6c5ffded94ebp+3 +0x1.b903b0ed74e2cp+3, -0x1.9f8c535041e95p+2 +0x1.4ec3472563df2p+4, -0x1.d8643eb3e757p+1 +-0x1.be45a24f8d153p+2, 0x1.adb414483f7b9p+4 +0x1.6886a61183c46p+2, -0x1.265ee0900456bp+2 +0x1.76beaac30211p+2, 0x1.de558bc6d0964p+2 +-0x1.3d3feee88c7ffp+3, 0x1.5e11dc065aeb3p-1 +-0x1.d6bb16c5a4e39p+1, 0x1.43eefca8edb1dp+4 +-0x1.047875cf15895p+1, -0x1.35343d9b142d6p+1 +0x1.9f0af9d3d3a8dp+2, 0x1.51d62b183ea01p+0 +0x1.94a6cf8d0a0f6p+3, -0x1.475cea6bc2d27p+2 +0x1.a0a60193704f6p+2, 0x1.feb321f9cadd7p+0 +0x1.58b5aa6e331e6p+4, -0x1.73313684bf421p+0 +0x1.c89f348c14b35p+1, -0x1.cde466e8c9d9bp+1 +-0x1.4df0e0e5c42ebp+4, -0x1.fa186655923c3p+2 +0x1.a08905f5f54bbp-3, 0x1.243e478bb54dfp+0 +0x1.ec38fbaadedd4p+3, 0x1.5328e2053af05p+0 +-0x1.b3e031a22e8f9p+3, -0x1.f500224b86eb6p+1 +0x1.e533a8cb6d6f6p+2, 0x1.d48edba3da1cp+2 +0x1.2e3f524344cfap+3, -0x1.63f2b93700cc7p+4 +0x1.d26e925273b43p-1, -0x1.3a7519b95fb32p+5 +0x1.0075296d78ea9p+1, 0x1.771634da20515p+2 +0x1.d7411686697fp+2, 0x1.4da45a94bd0b8p-1 +-0x1.58a6b7c6aadedp+2, -0x1.b3e42940a8cdcp-4 +0x1.f667a59cbc9eep+1, 0x1.c3a1558d8c6e6p-3 +-0x1.87f2aad25a95ep+2, -0x1.10687dfa826b4p+4 +-0x1.805203d7cc88fp+2, 0x1.678755bfc1de9p+1 +0x1.4cc2312255edfp+2, -0x1.b156330368432p-4 +0x1.04c73b4b2cfcdp+4, -0x1.c8c2d652bfb1fp+1 +-0x1.8f770140d1b34p+3, 0x1.0bb5551de2bb9p+3 +0x1.dd196780076f7p+3, -0x1.66e4d0eba5871p+3 +0x1.e833783557718p+2, -0x1.0d53b5a3f22fp+2 +-0x1.4581e92221323p+4, -0x1.916262a717cd3p+3 +0x1.eeedafec1d6f5p+6, 0x1.d610cc07c5da3p+1 +0x1.1f3b25cdd0733p+1, 0x1.68b78bf40a991p+3 +-0x1.1b4f4a1494037p+3, 0x1.7afcfc721a40bp+1 +0x1.f479461826f24p+7, 0x1.33fedd1b7059dp+0 +0x1.edcd9428b82b6p+3, -0x1.52493dbdd2ba1p+2 +0x1.73bd2b92f5f15p+2, 0x1.837e273c4a839p+4 +0x1.33486f24d47d4p+1, 0x1.1bd81ccf380bap+3 +-0x1.0ba93900e41cdp+0, 0x1.6eb25a6fa557ep+4 +0x1.a71c3ef573c63p+3, -0x1.cf2ba2087a6cp+2 +0x1.bc8ae2c2ea427p+0, -0x1.a7f7cc61c3584p+4 +0x1.1af85d4d8168dp+1, 0x1.c361b63e4fbdfp+1 +0x1.c36d32072bee3p+1, -0x1.330b489739b55p+3 +-0x1.0a84da8d8b1b3p-1, -0x1.47376682a6b7ep+0 +-0x1.00e937d7d13ebp+2, 0x1.3a2bf727abd98p+3 +-0x1.819809c7f8e58p+2, -0x1.69cfcd9487389p+0 +-0x1.457009704c3f7p+4, -0x1.2e78f0f3319d5p+3 +-0x1.1ae419f68ee94p+3, 0x1.223418884116ep+1 +0x1.648bdc5780e31p+2, -0x1.28635ac06d31ep+3 +0x1.42a5bcc838652p+1, -0x1.9802835fd0d73p-1 +0x1.16a3c865933c3p+5, -0x1.2934110cd70aep+1 +-0x1.558cb80303e4bp+3, 0x1.829d3eac439adp+3 +0x1.51f8d0feacf98p-4, -0x1.44e5f0709e977p-1 +-0x1.0763de9fc228fp-2, 0x1.11bb62445dd95p+3 +-0x1.ef1dbd8ccbd21p+0, -0x1.bf4f0f0fc1715p+0 +0x1.f6aba65b1bba5p+0, 0x1.79ddba389604ap+0 +0x1.93ea8acae3fb9p+0, 0x1.157aae3eefb12p-2 +-0x1.ed92b8a713cfcp+1, 0x1.940f43c71839cp+1 +-0x1.a235ee3f69f81p+3, 0x1.47ffc5f645a57p-1 +0x1.10dd3b8fbd63cp+3, 0x1.aa483e74104c1p+1 +0x1.f48fb39e3508p+3, 0x1.c626b50cf99ddp+1 +-0x1.3d564648c98cdp+3, -0x1.cd409797e7fa1p+3 +-0x1.d313eb1eaf67p+5, 0x1.2706cccbd2ce5p+3 +0x1.74f14be8657bdp+3, -0x1.80de70b83527ep+3 +-0x1.0b242fe1b5143p-2, -0x1.d796213f274ep+2 +0x1.2a1e0975f9d75p+3, -0x1.a3e284e8169b4p+4 +0x1.2b108fdaec552p+3, -0x1.40f1067033305p+3 +-0x1.b3a8f0c42008cp-2, -0x1.aca911ff6dc5ap+3 +0x1.f6878bdc5ccf9p+3, 0x1.76e611b2facabp+3 +0x1.7a0ad31cd54ecp+3, -0x1.204865716189cp+3 +0x1.be098d79f6fc3p+3, 0x1.0d315dc42f5b9p+3 +-0x1.5892b0074f681p+4, -0x1.df71b74f24deep+3 +-0x1.0f160e2ef0748p+3, -0x1.74aeb6712e90cp+1 +0x1.f1148c274cc37p+1, 0x1.6479591638063p+2 +-0x1.3512ce191acc5p+3, 0x1.fbff96e5a0e18p+1 +0x1.8014c9d0b6466p+3, -0x1.abb21c6ae7006p+7 +0x1.19a4fe58f815bp+3, -0x1.5b21fddab1672p+0 +0x1.a792445527da2p+2, 0x1.ba3aa0ed33506p+1 +0x1.4029707dd76f1p+4, -0x1.d1713ba08ab41p+7 +-0x1.2d72b9460e153p+3, 0x1.295bdc8362c39p+1 +0x1.edd04d2bc1d55p+2, 0x1.c85532028943ap+2 +-0x1.0767b59d0cc11p+2, 0x1.98343ab7a7141p-1 +0x1.0376c7c9f90a2p+1, -0x1.628b27ae9bff2p+3 +0x1.0ea6962143165p+1, -0x1.35f298c9f8621p+1 +0x1.a8409ee2b1b81p+3, 0x1.31c30c05630d5p+2 +-0x1.261af7051a255p+2, -0x1.b5244963a0988p+2 +0x1.cf1ecb64d4eb5p+3, -0x1.5242da9c78121p+5 +0x1.bce77f6d5822cp+2, 0x1.ce1db46f4bc54p+3 +0x1.f97d047da392fp+3, 0x1.6c009aaccf6b3p+3 +-0x1.43d9a651335cep+1, 0x1.4197e1448c884p+3 +0x1.7253d38f08a6fp+1, -0x1.9a7e14939a164p+2 +-0x1.6ba134dc3ee6cp+1, 0x1.d7a1749e646dap+2 +0x1.8794e53cd9895p+2, 0x1.4ab80d7dbc25bp+2 +-0x1.46e1c5de8c657p+3, -0x1.64eea850b35a2p+1 +-0x1.6cb7ffd94b54ap-1, -0x1.1ad9943f52973p-4 +0x1.b1badd4710037p+3, -0x1.792aa16ed279ep+2 +-0x1.18eacde619e8ep+2, 0x1.a376495a6fdcfp+1 +-0x1.e2df6208a5f72p+2, 0x1.9a651c06d4ad6p+0 +-0x1.96399b86f1b34p+2, 0x1.1118d7e938c7bp+4 +0x1.3abdd0b29929cp+4, -0x1.bb8e58808b44dp+2 +-0x1.eb9115914962ap+3, -0x1.44d79181be7d6p+2 +-0x1.5a9386fad5affp+2, -0x1.efb01fd83a759p-4 +0x1.a4e83e7f64f37p+3, -0x1.7782e1f5f4b29p+6 +-0x1.bb86a58191402p+2, 0x1.15556bb8c9f61p+5 +-0x1.2c48ede272046p+0, 0x1.1159feda7205fp+0 +-0x1.12ca02c89c9bep+2, 0x1.e4c57a252d8c9p+2 +0x1.6d3e10676974bp+3, 0x1.47f027056eecbp-1 +0x1.2198730305d22p+2, 0x1.796526f00265bp+3 +0x1.7ea808e066b88p-1, 0x1.12dad0d0e9ad4p-1 +-0x1.d2c6e29be423ep+3, 0x1.4b65fc524dabap+2 +-0x1.b401f2b3ba802p+4, 0x1.7377aeb7e2c22p+2 +0x1.22e355f8b6bdbp+3, 0x1.22c6b3d747994p+2 +-0x1.bc4ee55361b95p+2, 0x1.84f30e0050b54p+1 +0x1.461289f83b61ap+3, -0x1.cec9773434f4dp+5 +0x1.89d9feae4e272p+2, 0x1.ee9bc2fe6cb1cp+0 +0x1.b0d20c32c11b1p+3, 0x1.d1f314633d082p+2 +0x1.fbbc4075396b1p+1, 0x1.74d6f57e1f7cdp+3 +0x1.e55d09f700714p+1, 0x1.df6e9d1879749p+0 +0x1.b94bbe342505p+3, -0x1.c1e3404456b1p+1 +0x1.66a71c7f05c88p+2, -0x1.0f761bd3ccf62p+3 +-0x1.09c9852aa983cp+1, 0x1.2dd1407929627p+3 +0x1.128f54e1c384cp+0, -0x1.cddd33e9b4aeep+1 +-0x1.e9ec1b4e824f7p+3, -0x1.b468d3f2de117p+8 +-0x1.30bba8cb31682p+1, -0x1.04a6c7d8de8e4p+3 +0x1.40cb8f811e663p+2, -0x1.c571e02771b1dp+2 +-0x1.178cc1f69c72cp+4, 0x1.eb59c4e856ccp+3 +-0x1.09378f2f6fa54p+2, 0x1.18f003f1906p+4 +0x1.4b01e7c8a64ccp+2, 0x1.bd49ada757821p+3 +0x1.de8df5ee1cf95p+2, -0x1.0c201fdf7e774p+3 +-0x1.7603be3a1a55fp+1, 0x1.005cca27ac558p+4 +0x1.80253447db83cp+7, 0x1.5b4153deef01ep+3 +-0x1.38eab4819973p+2, -0x1.bc2eee25b1ad2p+0 +-0x1.a970a385998e6p+5, 0x1.1aa15c979ee98p+1 +-0x1.a1dab3e520665p+3, 0x1.a42a7d30f3064p+2 +0x1.1735dc5127e8dp+2, 0x1.322952b746accp+4 +-0x1.3d07c2a8e8c02p+3, -0x1.eeda93800729bp+6 +0x1.41bc04c98411cp+0, 0x1.82746ca58285bp+3 +-0x1.311412a0b06afp+5, 0x1.c9bf6de7610bep+3 +-0x1.f3d00bdf007ecp-2, -0x1.4a26b198b5747p+1 +-0x1.04a4817f4acc5p+2, 0x1.681f20b11f238p+0 +0x1.98d0f9acd82fcp+4, 0x1.19ae96f59dbccp+2 +-0x1.c3e5a13b10417p+3, 0x1.9d0c1740e9af1p+3 +-0x1.fe4e63e57698ep+2, 0x1.4d330a93d9ba7p+0 +0x1.594963ffae48fp-1, -0x1.32fda19606642p+2 +-0x1.2cce2df1d3b67p+3, -0x1.c55a383166c82p-3 +-0x1.f8bc32dba823fp-1, -0x1.12f87929d76bep+3 +-0x1.8264cf5dcb56ep-3, 0x1.3b82be9314d47p+1 +-0x1.96efa4aae23d5p+3, 0x1.0e718b90d7272p+0 +-0x1.32ca7c13b41a7p+2, 0x1.a69f3c8716fbp+3 +0x1.05d4334f00739p+4, 0x1.cb0111d766ccfp+3 +0x1.70da1544b9fp+3, -0x1.2e465a6ae9584p+2 +-0x1.dd09de9c8d0b4p+2, -0x1.6a7616bc08afep+3 +-0x1.d1866d5defed8p+6, 0x1.65a5305e4dbbcp+3 +-0x1.02dbd033b1f82p+3, -0x1.34afdde1fe6bap+0 +0x1.30f5939142436p+3, 0x1.af5eb07edce86p+2 +-0x1.80252287ab0abp+1, -0x1.1ceab4a564da4p+3 +0x1.fd7648ae92291p+3, -0x1.4bedf62f8371p+2 +-0x1.5657422c73f55p+0, -0x1.4718fb4f8d4c3p+3 +0x1.b72adb935af2p+1, 0x1.5da62b1d0d7a3p+2 +-0x1.ebf29a52b2d0cp+2, -0x1.69417154c50b6p+1 +0x1.f82da9febcf7fp+1, 0x1.d2d489f222cb3p-2 +0x1.6b8858f435948p+2, -0x1.5104f0a138c52p+3 +-0x1.280cba854c9dfp+3, 0x1.3a8359e2b1a3ap+2 +0x1.6e0c521e221b8p+2, 0x1.5c3670ea0c985p+5 +0x1.44a97180827cp+2, 0x1.dc22a06037e63p+2 +-0x1.692597c2c852cp+3, 0x1.00570ba0e634ap+2 +-0x1.7313533a14a94p+1, 0x1.f866deb5dee64p+3 +-0x1.1c86791648e85p+3, -0x1.daeb056e0399bp+1 +-0x1.77bb23f1faa5ep+2, -0x1.1629606ea8cf5p+4 +-0x1.2544e64d33105p+3, 0x1.198ac72ef37afp+2 +-0x1.39938b77ac30fp+4, 0x1.0b73b28b17655p+4 +-0x1.1a3634e7b2248p+3, -0x1.9802bceb652edp+3 +0x1.3cda3783db6bep+0, -0x1.1264fab9f38b9p+1 +0x1.e9beab5fbd87ap+3, 0x1.7dcbba5ae4118p+3 +-0x1.f8b7998d52683p+0, -0x1.fcb1fac9121dep+3 +-0x1.fa11c65e56884p-2, -0x1.563bb0e622862p+3 +0x1.73ff0286a1fp+3, 0x1.256847b30ea7bp+3 +-0x1.ef63fa520f601p+0, -0x1.54c499fc0077bp+2 +-0x1.c68ce8ff26e3p+3, 0x1.4a857fc5324fbp+2 +-0x1.649923ad097aep+1, 0x1.175f98bedb97cp+0 +0x1.82d5fe2d1197ep+1, 0x1.9f696bf9979d1p+1 +0x1.0f51a46397b1fp+3, -0x1.f5550cbe7cdacp+2 +-0x1.293c93fffc223p+2, 0x1.23ddd6af0faa6p+3 +-0x1.329d102a8d374p+3, -0x1.3eb0d90b7064bp+1 +0x1.a5288ccde5634p+1, 0x1.319e536d5c769p+2 +0x1.bf8dd1fd5e3c1p+3, 0x1.27be2e5648bcdp+2 +0x1.62e31a6cd89dp+3, -0x1.108637df2197fp+2 +-0x1.53f01ea929befp+2, 0x1.6086586e5f4e9p+2 +0x1.2d8a50b565077p+0, -0x1.3da9537aa2efap+1 +-0x1.775a753f01fb6p+2, 0x1.33e1e52fef598p+3 +-0x1.78952e852eb67p+2, 0x1.dd4313bff079bp+2 +0x1.360a7390f954dp+4, 0x1.eefe0f86315bdp+1 +0x1.03e799ff7da03p+4, 0x1.8c8d607c90974p+3 +0x1.d43adccefa9c6p+2, -0x1.8eb230c5e9p+2 +-0x1.aedc293e65d8ap+2, 0x1.fbeb540593b09p+2 +0x1.2a72c247c2e73p+4, -0x1.d901fb323e822p+1 +0x1.ea844fdd3c04dp+5, -0x1.896b8322b2f2fp+3 +-0x1.7503b6e63d364p+2, 0x1.4725d5969445p+3 +-0x1.32b122acf936dp+3, 0x1.3d6369c493e06p+0 +-0x1.bba2312c17f4bp+1, 0x1.0055ed7a6e731p+0 +-0x1.efdcd9a0a4afp+2, -0x1.7a909e2a09b9cp+2 +-0x1.052cc04d1e8c3p+3, 0x1.9e5dc2c8abd0ep+0 +0x1.1c4b657de696cp+4, 0x1.20c767af2dbbap-2 +0x1.25a035ef1fc14p+2, 0x1.88e64484a6519p-2 +-0x1.f27932ac3c09dp+3, 0x1.e2420b105d88fp+3 +-0x1.b2741c50b25bap+2, -0x1.e2450ffc884a5p+0 +-0x1.785a1597d2f4fp+4, 0x1.0d82b888e807cp+2 +0x1.3c44502f975d6p+1, 0x1.310834cdcd82bp+0 +0x1.6ed498a2fc862p+1, 0x1.973d41970c73dp+2 +-0x1.aa816fb384a7p-1, 0x1.6753804ba24efp+3 +0x1.fcf058d320badp+0, -0x1.49b94db395692p+3 +0x1.b7bd63b33484ap+3, 0x1.a7dd5e76cb274p+3 +0x1.1af98c61b2c07p+3, -0x1.67450b9193857p-2 +-0x1.5b16647d55a03p+1, -0x1.08fc96436042ap+4 +-0x1.056d45c222f91p+3, -0x1.fd7c3abb44f4ap+2 +-0x1.5d1f30105952dp+1, 0x1.9783bd3e45c94p+2 +0x1.d87e66e84bd21p+1, -0x1.c0efdbab62867p+1 +-0x1.a568a516ee5ffp+2, -0x1.4ca4c196a1503p+3 +0x1.4ba229fa1266fp+2, -0x1.6dd3f3a9e2f95p+3 +0x1.707e8a2d2fe13p+2, -0x1.042f5edee9e7bp+4 +-0x1.e5a9c0830a76fp+3, -0x1.69707b0750012p+1 +-0x1.87fdbe7b462c2p+0, 0x1.1ffaec136c68dp+3 +0x1.2e0743fdbb9aep+2, -0x1.653816e129a9dp+3 +0x1.95b88833c5461p+4, 0x1.25f0a011d427ep+3 +0x1.a6bfbd6491501p+2, 0x1.64632134c46d1p+3 +-0x1.7387a31a5dd2fp+1, 0x1.39eefaa8fefdp+3 +0x1.bb92aa8255e29p+1, -0x1.cdb869378df67p+2 +-0x1.21b6a07e3e3fdp+3, 0x1.ca7a2d309c5edp+1 +0x1.7ed42c3a78459p+3, -0x1.3e5d513f721a6p+3 +0x1.aeba1431f0b3p+1, -0x1.331c9353078a5p+2 +0x1.6bff08c0b5f6fp-5, 0x1.3ccb40d9e8f47p-2 +0x1.2242c9ccacc92p+1, 0x1.4e8bdaf41afdep+1 +0x1.29b53ea82f236p+3, 0x1.b4c2c049a2d51p-1 +0x1.0449b64e42737p+1, 0x1.3afa32b17b9dfp+4 +-0x1.962dc984a2576p+2, -0x1.97f433009d80fp+2 +0x1.1539d3bc4b4a8p+3, 0x1.43804330831ddp+2 +0x1.ec8a5096f6b5bp+3, 0x1.9a8feed92ea17p+1 +-0x1.c35ad9a736c6dp+3, 0x1.5a4e09004c22dp+2 +-0x1.d9c9b9b9a8729p+2, -0x1.63d0bb42cc69p+2 +0x1.077e9cf67af46p+4, 0x1.29cc451318047p+3 +0x1.75fedc6a5faf1p+0, -0x1.f738956a710ddp+2 +-0x1.f2eb12c75f0a1p+3, -0x1.48a99360ec12cp+2 +0x1.0b92a2cd1cf77p-1, 0x1.12291514077f5p+4 +-0x1.072ba5e6f1544p+4, 0x1.b837920ee735fp+1 +0x1.bbeb91fa77568p+2, 0x1.4e11f9c9af69ap+3 +0x1.7cb75e49bed6p-3, -0x1.8b574be0bc606p+2 +0x1.992cb44b5f391p+8, -0x1.a9d1fc2e6cd53p+2 +-0x1.bcc5c5556c8d2p+1, -0x1.8e9725d06399bp+1 +-0x1.344ad9484a6f2p-1, -0x1.994eb055ed36bp-4 +0x1.4a1b6a1d06b96p+4, -0x1.200c2d1ffbdb7p+2 +0x1.a5619f7aafd8dp+2, 0x1.201445872b635p+3 +-0x1.1e158f8ce42bcp+1, 0x1.41d1eaf93393dp+2 +-0x1.2c94af8806cadp+4, 0x1.e8135bbc0c152p+0 +0x1.1a75814ed41f5p+3, -0x1.07d7238772894p+3 +-0x1.7d0e08309e31ap+9, -0x1.044ed9cd7522ap+2 +-0x1.cb18d7be5364cp+8, 0x1.305868adf9dbfp+3 +-0x1.76759c7ccc736p+3, 0x1.143fc36194fa2p+4 +0x1.2066cc6e7c814p+4, 0x1.26218db9aa555p-1 +-0x1.a084bdde02391p+3, -0x1.5d5f8c12cf105p-1 +-0x1.9be15f6796ac3p-1, -0x1.8f87197498544p+3 +-0x1.a7fa2899e4dap-1, 0x1.e0467b59dd4d6p+2 +-0x1.633066025cdfep+2, -0x1.5874f337e7cbcp+3 +-0x1.6929a92703ed9p+2, 0x1.890e4a28dbe3ap+4 +-0x1.7381c8c232989p+7, 0x1.81ec0d1998b54p+2 +0x1.f4ec0e784ad3ap+1, 0x1.9cfc77dc6d7fp+3 +-0x1.c3e4817228357p+2, -0x1.50c943a2468a7p+3 +0x1.7cb74c5869955p+3, -0x1.0e568199eabefp+3 +0x1.cc0fb270bd436p+2, 0x1.059e5151bf4d3p+0 +-0x1.b9b01067cb72bp+2, 0x1.146f7e77e2febp+2 +0x1.3259f5009c81bp+2, -0x1.66c564a1eeeacp+3 +0x1.a558915c060b6p+2, -0x1.97919a0ac608cp+3 +-0x1.ebe794ebb749dp+2, -0x1.013e3c7403c82p-1 +-0x1.05302a57738abp+3, 0x1.c5900352e2e73p+3 +-0x1.a138568f5a1e2p+1, -0x1.6c77800ce2fe3p+3 +-0x1.af43577a8dbb5p+1, -0x1.0193e12efdaa7p+5 +-0x1.b5438147ba54fp+2, 0x1.bcae7dc958554p+1 +-0x1.e08d6e9ca22f1p+1, 0x1.dee878eb11b0dp+0 +-0x1.088be248a52ep+3, -0x1.6b3ee3929fe6cp+2 +0x1.cc63349c3b8e6p+3, -0x1.4042519dd3ec4p+1 +-0x1.3304eae0997f4p+1, -0x1.a2b55eff03de2p-2 +0x1.80e59677401cp+3, 0x1.78ddcab4b1defp+3 +0x1.23b1b82e1b2c4p+3, 0x1.0deeed603a82fp+0 +-0x1.28927f24f5141p+3, 0x1.46e3c02d2ea69p+3 +0x1.b70728d6e5fe7p+3, 0x1.2e10a1903783ap+3 +0x1.1ce757127d23cp-2, -0x1.cc6159f7163e1p+3 +0x1.4f54b8efa084cp+4, -0x1.6a454b6a8321dp+2 +-0x1.31b902b59ebc7p+3, 0x1.f30a693dc8f08p+3 +-0x1.0083c3481111cp+4, 0x1.b6f80b92c60dep+2 +0x1.24ceaa4a6a08cp+3, -0x1.84be53956e342p+0 +-0x1.6775c7667be1fp+3, 0x1.8f1f81acb347p+1 +0x1.059c1cfca3fc7p+3, -0x1.542e832accd0ap+4 +0x1.3fb878551015ep+2, -0x1.4aef24cab5bcp+3 +-0x1.f107e7b59ddf1p+3, -0x1.5f948d76c590ap+1 +-0x1.3509abb422c1ap+3, -0x1.97a98d2ad69p+1 +0x1.6cd15227a9489p+2, -0x1.cdff90682176fp+2 +0x1.08003bba948bdp+3, -0x1.6b649f0320f78p+4 +0x1.e386e2c883f1fp-1, -0x1.597bb1a7871c8p+1 +-0x1.2f2e685afcc78p+1, -0x1.76f27e4215cacp+0 +-0x1.87da3856dcep+3, 0x1.04f048ba7d0ap+1 +0x1.e8814d6dbf4ffp-3, 0x1.fe6d72dcbe7a6p+2 +-0x1.97b186b04906fp+2, -0x1.245953de1076fp+3 +0x1.e1ef0a3806212p-2, -0x1.cb3d346e38621p+2 +-0x1.f2ae5a0e7b055p+2, -0x1.44c210a033e82p+3 +-0x1.0e865dd618a59p+3, 0x1.9e8b787a004c6p+2 +0x1.6dd7b906a5302p+1, -0x1.592a92afdb4d6p+3 +-0x1.a77181d83d3f9p+0, 0x1.4e8567f84f844p+3 +-0x1.c428c9739e516p+1, 0x1.3b4ea0bd979c8p+3 +0x1.03d2adb10d05ep-2, 0x1.3f08ec35a730fp+2 +0x1.6afabadb42b46p+0, -0x1.00998ab803e97p+3 +-0x1.5acbfb72f5691p+4, 0x1.8f87f866ea6b2p+0 +-0x1.b1390a8dea0e8p+3, 0x1.b6c05b2c4da34p+0 +-0x1.662b2f0ff2d02p+2, 0x1.3998cfd102bbp+4 +0x1.323d13d4f9297p+3, -0x1.eed9055ac9555p+2 +0x1.22788d3407f22p+3, -0x1.0fe0568033e13p+4 +-0x1.c6d52ca85d9a5p-1, -0x1.5bee381740ea2p+0 +0x1.8e4a46b2e304fp-2, 0x1.a73f7192baabfp+3 +-0x1.0b036e7727b36p+3, -0x1.2ff173dacafddp-1 +0x1.7a3a413032944p+1, -0x1.ae049008bec67p+2 +0x1.9cb2c2c7a34dap+3, 0x1.e0934d8da1b1fp+3 +0x1.171a67cfb0016p+3, 0x1.c4c759062f8ecp+2 +0x1.fcd1bc6e4b304p+2, 0x1.7e087bea36269p+2 +0x1.bafdf7883db45p+1, -0x1.19cc5ec9358a5p+2 +0x1.c561dacf21207p+3, -0x1.74cdd2bec7ec7p-3 +0x1.02398b8de195cp+3, -0x1.ad253c032b89cp-1 +0x1.5726a563759eep+3, -0x1.9bd0a6f48b611p+3 +-0x1.0bbd6a3b5a286p+0, 0x1.3f84718f3b388p+1 +0x1.4c8ad7cf44712p+4, 0x1.1b5cccf3ca5e7p+3 +0x1.232b2daf83e94p+2, 0x1.df8b022d3e465p+2 +0x1.76d1562a620aap-1, 0x1.ee0c370a59edp+1 +0x1.6ee774db35152p+3, -0x1.972831c6eab16p+2 +0x1.a58ce0b15461bp+2, -0x1.fc33688c89829p+2 +0x1.c2ac174ee38bep+1, 0x1.a781343a3c832p+3 +-0x1.6fc085e121a5cp+2, -0x1.981d24771136ap+2 +-0x1.f8ff4dc7f5ebcp+1, 0x1.c004102ae1e18p+3 +-0x1.0a6ae4afb487bp+0, 0x1.e075688850e19p+2 +-0x1.0fae6452906acp+3, -0x1.abfc0d5fa4bf8p+0 +0x1.e70697eca855bp+1, -0x1.209aaaa991becp+1 +0x1.078d402e9da14p+2, -0x1.6fc21bc516375p-1 +0x1.0749eb9d151fdp+1, -0x1.54af9688fe317p-2 +0x1.53999b7dca671p-3, 0x1.72d1e5d61f63p+4 +0x1.47598e626af5ep-1, 0x1.06c75e7099e35p+4 +0x1.90fd870ab9fd9p+1, 0x1.08d700f9d1a3ap+2 +0x1.6c04a2eb74652p+3, 0x1.d9d66ee583a2dp+3 +0x1.d477c0382a44fp+2, -0x1.7050aea12da15p+3 +-0x1.5d4fbab712afep+3, -0x1.a182b2c37879dp+3 +0x1.8603e2b25955bp-1, 0x1.4278351f3f224p+3 +-0x1.72cd2b925e6b7p+1, 0x1.2c535ddfcb6d3p+0 +0x1.9493f5509e327p-2, -0x1.5315d16e4a8d6p+3 +0x1.3166667f3d6c9p+1, 0x1.512ffbc320638p+3 +-0x1.18b7b8c5d38b8p+0, -0x1.1f94f47b9634dp+2 +0x1.9a55df25882d9p+0, 0x1.4f8dcd23a226cp-1 +0x1.b882cf86b6fc1p+2, -0x1.12e512c0323f8p+2 +0x1.2e0e4d45f93b2p+3, 0x1.bdb1746f66028p-1 +0x1.d14cf1d754264p+3, 0x1.957e9f63c42aap+2 +0x1.ed77e7ccbdb9bp+2, -0x1.133ce30162ea8p+3 +-0x1.49403fc8cca46p+2, -0x1.7005f90dbfe14p+1 +0x1.9ee74460ddaccp+7, -0x1.44fdb74496dap+4 +0x1.9a2424a0e3691p+2, 0x1.0c7b45f20b6d4p+3 +0x1.fb34981ac32acp+0, 0x1.c8b0575f136d3p+1 +-0x1.cd4f7ccc67acp+2, 0x1.12519dc1d99d5p+1 +-0x1.925561fbf192cp+0, 0x1.a7e769b430634p-3 +0x1.0b9970a2db7ddp+4, 0x1.72dd24b758fc6p+3 +-0x1.e1922bcf73436p+1, -0x1.136b93ac75ad6p+2 +0x1.1cb0fb5fb561ep+2, -0x1.9f08e78ab3ce1p-2 +0x1.1328a702c5452p+2, -0x1.9816db04b65a4p+2 +-0x1.47f2db85937d4p+3, 0x1.faa8341ddf13dp+5 +-0x1.01d048b4b1c9fp+3, 0x1.55335c8d6eac1p+3 +0x1.a0560042d982dp+1, -0x1.2e67b04465b7dp+1 +-0x1.e9ab62d6b9f46p+1, -0x1.2d36b162a8c29p+4 +0x1.3290baa22625dp+1, -0x1.b73e35a5ab1aep+0 +0x1.a23d2d9fd3aaep+1, 0x1.f7420d904a244p+1 +-0x1.b30ad15a86535p+3, 0x1.83fcfd355607bp+4 +0x1.9da41927bd0bdp+1, -0x1.3bef50cc011e4p+3 +0x1.30034750c576cp+2, 0x1.979b15577272fp+1 +0x1.05c6227bac041p+2, 0x1.524efb511c4p+3 +-0x1.1fc32e1c6ac89p-1, -0x1.4702b1fb3f562p+3 +0x1.04db0fdc41138p+3, 0x1.4ae1890c3433p+2 +0x1.543e7f0eb4567p+3, -0x1.4fc6f6f3535e7p+4 +-0x1.3343021f61f03p+3, -0x1.2379fe79a112cp+3 +0x1.10812fad6479ap+3, -0x1.a8a924d736b1ap+2 +-0x1.de938b164ce4ap+0, -0x1.0d5fd368169cp-2 +-0x1.f3cef6dd06399p+3, -0x1.d31a278f8f731p+1 +-0x1.3859c9cb612d7p+1, 0x1.1487b503af97p+3 +-0x1.4aa414fecad0ep+0, 0x1.26c9b62dbd191p+1 +-0x1.01d3766d9576bp+1, 0x1.a737d0b48c284p+3 +0x1.1062952215509p+4, -0x1.ee37937d9ba8p+4 +0x1.650ad25fe8b5bp+0, -0x1.42e747ed88e67p+3 +0x1.e32ab1e40667p+2, 0x1.39874bf6e94cfp+3 +0x1.85123e474553bp+3, -0x1.2e0aaefd6c8afp+1 +0x1.dbbf7f171ea28p+3, -0x1.fb7955c6d1a1ap+3 +-0x1.29adec07646dep+2, -0x1.6d74076859a67p+1 +-0x1.71ac068bf8885p+3, 0x1.0b05d93d65022p+2 +-0x1.5a8090510e6d3p+3, -0x1.4f1604e20eb61p+1 +0x1.3938511ae556fp+3, -0x1.b94039668e7abp+3 +0x1.96940d2eeca73p+4, 0x1.3a340f0945641p+2 +0x1.bcdadbe545ce7p+3, 0x1.82e360032f4b9p+2 +0x1.745a989cd1d56p+3, -0x1.8085f777a9be5p+1 +0x1.b532685a2fb24p+3, -0x1.a8a1c18b6b7c4p+3 +0x1.2f018f5a4e322p+1, 0x1.3ef4d20063e2bp+2 +0x1.ebd8019d0ff88p+2, -0x1.9834dd62f53aep+2 +-0x1.3bb6acbf876eap+0, 0x1.cf07447f32379p+3 +-0x1.9c139a269c79bp+3, 0x1.84330f448fa13p+3 +-0x1.6f3dab73408b4p-1, -0x1.8a923aaf9f2a3p+2 +0x1.7555be34bb80ep-1, -0x1.489075666822ep+4 +0x1.a303e0b5cbeb9p+3, 0x1.b1ba0a9a6f4f6p+2 +0x1.48e3b9e5ce3bep+3, -0x1.1ec7d9d3f7134p+7 +0x1.e3a2407b702e4p+1, 0x1.60bf519993f61p+3 +-0x1.4ec02bff860a6p+3, 0x1.689e383b9fdbp+1 +0x1.e6d41bb25edddp+1, 0x1.54600ae05041fp+3 +-0x1.c09d2ef7287d8p+3, 0x1.eb6676981cdccp+2 +0x1.2952ec1868d7cp+4, 0x1.1621a101de91p+2 +-0x1.43ccdb05efdb8p+2, 0x1.947421ec972cfp+1 +-0x1.18cb7f007ed13p+3, 0x1.60bd64e9f3019p+1 +0x1.ee12a7f2e6b31p+2, 0x1.4ac74a3fec707p+2 +0x1.4b2c1ec946712p+1, 0x1.b480b0394a6c7p+2 +-0x1.ae8f6fcd3a8fdp+2, 0x1.0f737eeebff39p-1 +0x1.26bebc351ae33p+2, -0x1.2063d1644d6eep+1 +0x1.0c21581cc174p-1, 0x1.46ada42599954p+2 +-0x1.25d5e964bdccep+4, 0x1.babd30aa7c517p+2 +0x1.572c024e42e26p+2, 0x1.c2eb130c7257p+2 +-0x1.2ff37ccb3a9adp+1, -0x1.217250a25b7fp+0 +0x1.5c79297437f4cp+3, -0x1.453895d27016dp+5 +0x1.0e5ba69c6b25bp+4, 0x1.151e311287068p+2 +0x1.1996147515056p+2, 0x1.c64e3ff4af736p-3 +-0x1.dd0664fcbd307p+3, 0x1.2fe828e09969fp+3 +-0x1.0076787b6ea0fp-1, 0x1.a10a0d9779fe5p+2 +-0x1.71bd3d1f5a68p+2, 0x1.4069cefee0cccp+3 +0x1.6563d980fa59ep+1, -0x1.31dc8a3ceb058p+1 +-0x1.335ca9ef0bb24p+3, -0x1.25e4227bb7009p-1 +-0x1.3e6d60915931dp+3, 0x1.ce95176b7baf5p+2 +0x1.42c8f6c06a21dp+0, -0x1.73c1ebc8b449dp+2 +0x1.757a5be40353p+3, -0x1.ea13da112160dp+1 +-0x1.4abbf1ef6e07bp+2, -0x1.323720b967d55p-2 +0x1.8c53b9d554cd6p+2, 0x1.6e36c13947b7bp+0 +-0x1.80124a14ba10ep+3, -0x1.96b324a9b2282p+4 +0x1.aa7b429d466bbp+3, 0x1.feefa051c66ap-6 +-0x1.0ba3157899b94p+5, 0x1.5b6015973c33p+3 +0x1.8c19ce69d6202p+3, -0x1.94800099ec7d6p+0 +-0x1.88bd5da0f84cfp-1, -0x1.b75400c596a7ep+2 +0x1.ca18b6a9ec11cp+1, -0x1.392b6ef61beadp+4 +0x1.f366796a02597p+3, 0x1.2ffaefc53a126p+3 +0x1.ac957ff72c418p+2, -0x1.aa783ce61d93dp+4 +0x1.2a5a8ab41e5f3p+2, -0x1.b869e2b7db73bp+3 +0x1.ee68b1353b37fp+1, 0x1.c71cb6c7e380cp+3 +0x1.86d7a7e7a55c6p+1, -0x1.a0b868af62c98p+3 +0x1.0f3221e3f1e0cp+2, -0x1.c05f36a84ff8p+2 +0x1.c124f1e78c825p-3, 0x1.85dd5d8ef9bb4p-3 +0x1.39e33dbc69d0bp+8, 0x1.7f71816326ae3p+3 +0x1.eff6af188bf9ap+2, 0x1.5200785c64febp+1 +0x1.0c221beb6340cp+3, -0x1.923348a7f3574p+2 +-0x1.0b153530ff757p+4, -0x1.90ab859da18dap+0 +0x1.58045b2293f92p+0, 0x1.f476a878e5802p+3 +0x1.cf950072985bp+3, -0x1.8b152c7b9871bp+3 +0x1.b956f7e2c4201p+3, -0x1.1d8d962b8b0fp+2 +0x1.729c4d2a227e9p+0, 0x1.5e64085993ba6p+1 +-0x1.c39120bbb040bp+2, 0x1.0de6ab6d6568bp+3 +0x1.33d5afac5163cp+3, -0x1.35fad66ea5c2fp+2 +-0x1.12825f82e2241p+0, 0x1.459640e39d402p+3 +-0x1.53f24fd230638p+1, -0x1.996e128fd798ap+2 +0x1.edc9b5e2e0d5cp+1, -0x1.41ed0842edd81p+3 +-0x1.5d2646a17a8d6p+0, -0x1.8ed1d9c44043ep+3 +0x1.424b18ffc5accp+4, -0x1.6373ba7e8130bp+3 +-0x1.11cc08c808aa6p+4, 0x1.fbee8f99f0e36p+2 +0x1.0e9a0040ffbf2p+0, -0x1.865eebb7db045p+2 +-0x1.6f1806508fbc3p+3, 0x1.62d24e4ee8a8dp+4 +0x1.a44022e10e7e7p+6, 0x1.dac40ea2d664dp+3 +0x1.68eaff2c7d865p+3, -0x1.0f3a7610dde4ep+4 +0x1.dc317476b52b4p+0, 0x1.293a545819589p+3 +0x1.a03eb396fa455p+3, -0x1.8c9e62353edb3p+1 +0x1.de24231bef3a2p+2, 0x1.312ef86fc61bbp+0 +-0x1.b5fe2f8c3bfa1p+2, -0x1.12fc993f7d99ap+4 +0x1.b60a67a672d05p+3, -0x1.f2e375fe30a67p+0 +0x1.0930479cea1cfp-3, -0x1.fe23c448a2d15p+2 +0x1.b53a39243715dp+5, 0x1.4fa329f748705p+3 +0x1.1af3e04109ac8p+3, 0x1.a9db623d206c2p+1 +0x1.f54ef86a9ed36p+3, 0x1.775c20073c27ap+2 +-0x1.6dff1e830f558p+3, 0x1.79558bd7d6f3ep+3 +0x1.25e975d745a9ap+3, -0x1.923760266aaf6p+1 +0x1.a15e84289f05p+1, -0x1.3ff5b31ad7a68p+4 +0x1.30145733b3a0dp+4, 0x1.3473dc8a74512p+2 +-0x1.4ffee979def76p+2, 0x1.e2689aba733dcp+3 +-0x1.2b74554170c3ap+3, 0x1.9f01cb0275373p+3 +0x1.f2c9edccc2726p+2, 0x1.171a8a758879dp+2 +0x1.93ced36f0947bp+2, 0x1.44f9304b5bfedp+3 +0x1.4d296a91b53d7p+1, 0x1.9f3cb23b4c37ep+2 +-0x1.6c58997f5bbe8p+2, -0x1.ab8c478bdc5b3p+2 +-0x1.ed16bf674730dp+2, -0x1.d28978f5255b6p+1 +-0x1.391b8f236b10fp+2, 0x1.1363b32ae7558p+1 +0x1.9059c96cbc896p+4, -0x1.310aac0bf6b5cp+2 +-0x1.ee8fc96aa8a24p-1, 0x1.e6d17d1f17969p+0 +-0x1.6183a784facf9p+3, -0x1.a98ae6cc6ed55p+5 +0x1.bebfdc65f5181p+3, -0x1.2504daefd547ap-2 +-0x1.92848ef12b02fp-2, 0x1.bf178ae69ddd1p+6 +-0x1.f146b5e524944p+0, -0x1.06b4dd0195d2dp+1 +0x1.17cbbb0e0b8f2p+2, -0x1.24778c2a263cdp+1 +0x1.4be8140be3351p+1, 0x1.8e6af27b15ecep+1 +-0x1.4cbb1869d4694p+2, -0x1.6d48b04117dbp+2 +-0x1.06b1aa36e1c51p+2, -0x1.674c174f0b833p+3 +-0x1.e9168eedc3fbep+2, -0x1.5d9819c197593p+3 +0x1.5cda6d2acb6f9p+2, 0x1.b95c8fdee377ap+2 +-0x1.744d1b890dc8ep+3, 0x1.245c636d4f6e7p+1 +0x1.bab7835fea9dap+2, 0x1.dadcb638a8eap+2 +0x1.2f8c7c115fa81p+2, -0x1.85cd23551d294p+0 +-0x1.9d4df96af9798p+3, -0x1.0a34ef93b5da9p+2 +-0x1.bcde84b8b7eb1p-10, 0x1.4c8c3a0c0c281p+3 +-0x1.445168e951b06p+4, -0x1.64fbad93b4684p+2 +0x1.17a5b9f617eabp+1, 0x1.c239e41530bb6p+2 +0x1.ab06db8dc196bp+4, 0x1.80a91f5a6903bp+2 +0x1.1b5b9e526c7e9p+2, 0x1.aee1de602b995p+1 +-0x1.38d20e2309addp+4, 0x1.6cdd0ea72884p+4 +0x1.57526dd94a68bp+3, 0x1.2960f9c249123p+1 +-0x1.34096893d6294p+0, 0x1.346d50c4c8814p+4 +0x1.22d00adefed42p+3, -0x1.711dbcf3de9efp+0 +-0x1.8bea1cc070836p+2, -0x1.b482e0a580893p+0 +-0x1.c6276ad552f1ap+1, 0x1.56b1c6b23bb83p+3 +0x1.c62c2faf3ebecp+3, -0x1.05af824f11bdep+2 +0x1.1d20b0b079c11p+2, 0x1.2efb1909ce489p-1 +-0x1.ef64b8b646c65p+2, 0x1.a4ce81769474cp+3 +-0x1.3df0ed135b811p+2, 0x1.86f1fd99b6ad9p+2 +0x1.447b5cb67ffffp+4, -0x1.03aee95119b3ep+4 +-0x1.2a1e0a494bfdep+2, -0x1.0bc9733aa2a4p+4 +-0x1.8f365c582a552p+2, -0x1.7efb5621b6feep+3 +0x1.f8d57bf83a0b5p+3, 0x1.52734f28e563ap+1 +0x1.1d26715208a39p+4, -0x1.94a7ffdb6af12p-2 +0x1.405bbe218f8ap+3, 0x1.04073d0a3aefcp+4 +-0x1.91213962d1904p+1, -0x1.7d83eadffdd7bp+1 +-0x1.bc3d995268186p+3, 0x1.092a20fdc1e2bp+4 +-0x1.b548cce2b875ap-2, -0x1.611d392b20788p+3 +-0x1.d829b55142f4ap+1, -0x1.2cd87a4b3e566p+4 +0x1.9ac36056cc77cp+2, 0x1.4073d298561bcp+3 +0x1.1521eca025dd4p+2, -0x1.7552ce457133p+5 +-0x1.153ab20692b5ap+0, -0x1.69bdfe19f9c25p+3 +0x1.097fa47e5736p+4, -0x1.17880cf460ac5p+4 +-0x1.77354e0427c8ap+1, 0x1.e778ff7d7e8b5p+2 +0x1.4a2ccda340161p+3, -0x1.7b386ba77ebc9p+3 +-0x1.73725275ef5b8p+2, -0x1.c955dac1b1469p+1 +0x1.72bccf7a9bddfp+0, 0x1.3d3a0739a41dcp-3 +-0x1.f9387db7ffd72p+2, 0x1.6de7e76adcab4p+1 +-0x1.eb545bb2f934ep+2, 0x1.4766191767098p+1 +-0x1.89843d3d2e77cp+2, 0x1.70a5df3a08e93p+2 +-0x1.46f8281cf2429p+1, -0x1.097ec49140c85p+1 +0x1.82749347baa4bp+3, 0x1.cecad96d9bf8cp-3 +-0x1.a678a253a29cfp+2, 0x1.55ae2d80d6d5fp+4 +-0x1.c3f963aa719cp+5, -0x1.cb7717682005dp+2 +0x1.278d281ab7b0bp+3, -0x1.32e6e8fe6f045p+8 +0x1.5f06b5a30a60ap-3, -0x1.433d76146b403p+1 +0x1.d06c6246f019dp+0, -0x1.206770010a70ep+4 +-0x1.e525cfa67dbfp+1, -0x1.be2b7e1c112bbp+3 +-0x1.1a80f6cf81aadp+4, 0x1.313ccae9039acp+0 +0x1.8fcdb221a6f87p-5, 0x1.462d255c81c41p+4 +0x1.df700cec72b68p+3, 0x1.80e668224f169p+3 +-0x1.5fb9829d63438p+1, 0x1.5b7c7d0266695p+3 +0x1.070bf7e397bb9p+3, -0x1.511262c6e7556p+3 +0x1.d08807e9a5182p+1, -0x1.2cfe36c545867p+2 +-0x1.19e0a7cd9c977p+2, -0x1.be827f63aafabp+3 +0x1.4e23b7afb57f9p-8, 0x1.761f08545fc51p+3 +-0x1.72e77b0d4e515p+2, 0x1.2c7c57c04f38bp+2 +-0x1.0d490c63eb266p+2, 0x1.899cafe69333bp+3 +0x1.3f78a5dff3857p+6, -0x1.352f1f8388b33p+3 +-0x1.32392e4e82e55p+4, -0x1.c68c6bebe91acp-1 +-0x1.10386255e63e3p+4, 0x1.895bc1a1199aep+3 +-0x1.c2421c05f00c2p-2, -0x1.a8d33fe85b0a4p+3 +-0x1.29b02c17d9442p+3, 0x1.87b82212ec816p+2 +-0x1.578fe9a0676ep+1, -0x1.3800b85157469p-6 +-0x1.f539a15856288p-4, 0x1.8f26f4e81f0e6p+2 +-0x1.03ee9192369a5p+0, -0x1.c6c5015a893e4p+2 +-0x1.76046a146734cp+4, -0x1.de7c9808fd3d3p+3 +0x1.52b902f399c6fp+1, 0x1.0a0cf0088432ep+4 +0x1.dfdeaf4724603p+1, 0x1.246886119c92dp+3 +-0x1.45cca4d1d7e27p+3, 0x1.b7999b841a0aep+1 +0x1.060e58d6d9825p+1, 0x1.4c279410dc5f6p+1 +0x1.0da1234feddf6p+2, 0x1.98b8ace602473p+3 +0x1.b346d3d66f78fp+4, 0x1.a92b6b5a7c10cp-1 +0x1.631d6b7199a86p+3, -0x1.16ad8ad9d7a89p+4 +0x1.52ed41ba73781p+3, 0x1.2f5c6ed54150dp+4 +0x1.044d09b500a66p+4, -0x1.80120e8492ae5p+1 +0x1.0d952f06bb61ap+2, 0x1.df52a40348d33p+2 +0x1.c5d33233ee413p+2, -0x1.41a2a44d15f5fp+3 +0x1.a6cc0faa20709p+2, 0x1.dfaf3bc7f7f05p+1 +-0x1.97b060cad4dbap+3, -0x1.a86d6697bf7cep+3 +0x1.14914b84ca871p+2, -0x1.475fba13d19e7p+3 +-0x1.61e6e1dd1ca34p+3, 0x1.3de098e90deaep+3 +0x1.affb28fca4917p+2, 0x1.0cd1513810d8bp+1 +-0x1.671db9dd66abp+2, 0x1.332cf2d2ae3f7p-4 +-0x1.3b4209b4d7205p+3, 0x1.af7cdae010189p-4 +-0x1.ad912be9ff2bbp+2, -0x1.16447599872f9p+2 +-0x1.829beb976b4efp+5, -0x1.c2a5078bfc726p+3 +0x1.40bbd6eb708f5p+4, 0x1.db3f1f177e6e8p+4 +0x1.df6763a1360f9p+2, 0x1.e04d606a34d37p+0 +0x1.8afc844d66d01p+3, 0x1.fa753f049a0eap+0 +-0x1.e6ef88140b3a8p+1, -0x1.10fdb9cfc217ep+2 +0x1.fc1d59a7deb0cp+0, 0x1.319d65d4da62ep+3 +-0x1.3c6849de6934ap+3, -0x1.64d948f67c06dp+1 +-0x1.b430c1b1aabe5p+1, -0x1.13d798d56966fp+4 +-0x1.890f5378a3f3fp+2, -0x1.a2bd29f37a6fbp+3 +0x1.a5d3c49217a69p-7, 0x1.bb99cfcddba42p+3 +-0x1.62e9149a6e1a2p+6, 0x1.fe7d3d909f43p+1 +0x1.9cf92cff4d8b4p+3, -0x1.c70d9bd93a50bp-1 +-0x1.336d8ecfabf9dp+3, 0x1.555596294b0aap+1 +-0x1.48ea98a40763dp+2, 0x1.17e8beee668cap+1 +0x1.699f1e160945ep+3, 0x1.3636aca125cd5p+1 +0x1.79a1d68bb8a9bp+1, 0x1.2a0a7b7a1ab49p+0 +-0x1.1142d80609c19p+3, 0x1.435e3f741452bp+3 +0x1.f80c99310f4ddp+3, 0x1.81bed1dca7a9cp+2 +-0x1.4fbcced052dc1p+2, -0x1.108134f7411abp+3 +0x1.158c078edb288p+4, 0x1.21e09e979e91dp+4 +0x1.63c30c23e9575p+3, 0x1.aad224de77179p+1 +-0x1.41b289a776e23p+4, -0x1.3db7b18ebfa06p+3 +-0x1.466cdaed1c392p+3, 0x1.92d9b6d7765ep+3 +0x1.704ab1b4f8d61p+1, -0x1.fdaa484d276b1p+3 +-0x1.73e055a1fb19cp+0, 0x1.6ac90c63ace32p+2 +-0x1.b8dbfc51b31a5p+3, 0x1.36349ffded9c2p+1 +-0x1.76935639f2921p+4, -0x1.46578d65792a3p+1 +0x1.9d0584820a458p+3, -0x1.80a3cfe13fa29p+1 +-0x1.e0826175b2348p+2, -0x1.f536055dc582ap+2 +0x1.e4777c3c7aeadp+5, 0x1.8460ce1b17706p-1 +-0x1.58aeda845620ep+4, -0x1.8e5a06ffd6addp+3 +-0x1.35384c1920992p+3, 0x1.2cf9210bb3175p+4 +0x1.0e0a632ee862ap+2, 0x1.164d36912bdf6p+2 +-0x1.efd2c75d55ea5p+1, 0x1.bc4e32888b94fp+6 +0x1.cbd16344c85e9p-2, -0x1.e5d7ec9e3d217p+3 +-0x1.97dc5438320e3p+3, -0x1.3a014ed19610ap+1 +0x1.7a77a6d29a22bp-1, 0x1.013e9d9de0493p+1 +-0x1.c0ea6e5e824d5p+1, -0x1.421f7b184706dp+3 +-0x1.850845f9b7955p+1, -0x1.9b2075008dd43p+2 +0x1.8a0f6bc7211d5p+1, 0x1.3dad8d376e0cp+3 +-0x1.5416bd3fd9b63p+2, 0x1.abac62dd1c19ep+8 +-0x1.2cbeb17d5efa3p+0, 0x1.788e744a55cf4p+1 +-0x1.59cac103a0b86p+3, 0x1.16859ede69fa4p+3 +0x1.5f6477bf49701p+4, -0x1.e6062d6e35577p+2 +-0x1.b871a04d7664fp+3, 0x1.1242d8978ce0cp+2 +0x1.03d9ef9b1ad52p+2, 0x1.9763ca09f6b6ap+1 +-0x1.c1ef82bb7e6a4p+3, 0x1.3d861f5aa298ep+8 +-0x1.5f228bfe71992p+4, -0x1.8b452a560d10ap+4 +-0x1.f30d31bce57bcp+3, 0x1.738ea992b3592p-1 +0x1.ad8ebca5cf9e7p+3, -0x1.1c1bee3ffe3fdp+6 +0x1.09a5bce5c6e13p+2, -0x1.3e7fe9e4948e8p+3 +0x1.9aecb40ea8a3cp+1, 0x1.62f13a9c5396ep+6 +0x1.2d34f753afb8dp+1, 0x1.faa6fb4af207fp-1 +0x1.de95dbd159287p+1, -0x1.dae43c9c1e385p-4 +-0x1.59bd36c63e59ep+3, -0x1.b371594d1978p+3 +-0x1.1e8a8dac4b23ap+3, 0x1.78867d284092ep+2 +0x1.9b847bfe732bp+4, 0x1.42f1c3379d1f4p+3 +-0x1.7c9093874ba6fp+4, -0x1.11472a62fcd03p+3 +0x1.6fe9dda742889p+2, -0x1.2bc027ef3752fp-1 +-0x1.821ca43731851p+4, 0x1.8c02db78d788fp+2 +-0x1.67188d1aff8f7p+2, 0x1.2d2136959f7ecp+3 +-0x1.6deb61ae5d87ep+1, 0x1.46bfa857ba5d3p+0 +-0x1.453f83f028f5bp+0, -0x1.4cd38c4a0ad8dp+3 +0x1.c30640edf8c33p-3, 0x1.ffb531129ae7fp+0 +0x1.6b27c26c09f43p+3, 0x1.63ea5480f1562p+0 +0x1.9865ead2fbb1fp+3, -0x1.f0e2edcfea249p-3 +0x1.4692d263bf971p+1, -0x1.c048a4385e8ecp+3 +0x1.df337c694f831p+1, -0x1.bd0db1bfad14fp+2 +0x1.cde8b98a779fap+6, 0x1.50851571a9dap+5 +0x1.4bf5a936f8c8ap+3, 0x1.ef3fe19f286fcp+3 +0x1.f5b0c4890e1d6p+3, 0x1.fdbc1dbb4136fp+2 +0x1.3703b2ddc7f9bp+3, 0x1.ba0af19a7649cp+0 +0x1.cff84f43dd976p+2, -0x1.370f49076379p+4 +0x1.5022ba789e541p+4, -0x1.516648c41baf2p-4 +-0x1.1a95bbdd85f7ep+2, 0x1.9d05e240be89bp+2 +-0x1.403259039d876p+0, 0x1.ff00e763d53fap+2 +-0x1.1e2eb08c1a11bp+4, -0x1.a7525ccd59e5bp+4 +0x1.86c0d20a47c87p+2, 0x1.a835b55fc4701p+2 +0x1.6b7d07b5d60bcp-6, -0x1.6f3f904a7ae9ep+2 +0x1.9c67c881072d5p+1, -0x1.054def6039b63p+4 +-0x1.196256405475ep+2, 0x1.24cf0568eea03p+3 +0x1.1a767258d8866p+3, 0x1.fb9b292646c6ep+2 +-0x1.e8d6b89a59e88p+1, 0x1.f5798e7b3b329p+3 +0x1.3919caf1d5ca5p+2, 0x1.9d4ff2c6acfacp+4 +0x1.150625abd92bp+0, -0x1.679192800f9e1p+1 +-0x1.e8b0a550dde9dp+3, -0x1.f5ded3bbc0986p-1 +-0x1.1079aab4724f4p+3, 0x1.61bf065c30b96p+3 +-0x1.5ecce076ede5p+3, -0x1.919c0227c8f49p+2 +-0x1.ada967d8ef87p-2, -0x1.90486f39eaff4p+1 +-0x1.26585471c6241p+1, 0x1.29098fa80ce4p+1 +-0x1.30f559d851456p+1, 0x1.3c13f37df9b65p+3 +-0x1.13ddbda6fc3fbp+3, -0x1.17108e5993432p+9 +-0x1.039bd52f34314p+0, -0x1.d8c0d7257cd17p+3 +0x1.1818e810fca97p+3, 0x1.45c736565b8cfp+2 +0x1.0be537320149cp+2, 0x1.d55c2938c24ecp+2 +-0x1.e5964c09bc2d5p+1, -0x1.45784c89be6c3p-1 +0x1.84ed6a8dbc869p+2, -0x1.6c7c413f97358p+3 +-0x1.a95d2d6f5a464p+1, 0x1.690055b24390bp+2 +0x1.adcc4957429ffp+2, -0x1.b1ecc5b66e386p+2 +0x1.5eb811b03ab8p+2, -0x1.dd257768564fdp+3 +0x1.c6d8f8bd3984cp+2, 0x1.36ef0e86c2b75p+4 +-0x1.21dc624f1f082p+4, -0x1.718cb71f78a14p-1 +-0x1.9f3a4b4847b54p+2, -0x1.e22a560922e0ep+2 +0x1.351c3e61f0c4cp+2, 0x1.44003d7aa1f9cp+2 +0x1.f77654d214c6ap+3, 0x1.1283207a4f6dap+3 +0x1.d7fef11256f73p-4, -0x1.2cce1afd999fp+8 +-0x1.d03b22fddcb5cp+2, -0x1.eb3718f5ba175p+1 +-0x1.64d0d9511828bp+0, 0x1.c36d646d276e1p+3 +-0x1.8b48f42dd5bb3p+2, -0x1.bdb882a9544e7p+2 +0x1.555d5670e4c4ap+2, -0x1.49a3021a92e7cp+2 +0x1.b2a1d1d30a587p+2, -0x1.0c7aaeb51b873p+3 +-0x1.29f303316fc49p+2, 0x1.19a5b0d6187bap+2 +0x1.86080c680d385p+4, -0x1.2507cdebc548ep+3 +0x1.deb6be9b1fde7p+2, -0x1.11478b2049edap+4 +-0x1.20692bb7a9504p+1, 0x1.c58ef99d137f1p+3 +-0x1.5e7bfc88c5211p+2, 0x1.7522266f0a6ecp+2 +0x1.dbd34da3b78cp+2, -0x1.39763abbc3af2p+1 +0x1.8005cabec485fp+1, -0x1.610c3e63e714dp+0 +-0x1.e6f777e266adbp+1, -0x1.1faa0d547d1bp+4 +-0x1.b2440ad5ecf84p+2, -0x1.5f9d5590a7f9dp+3 +0x1.4fb623e4b2c2bp+0, 0x1.ad49aec622e2cp+3 +0x1.7b894304a6656p-1, 0x1.75c18b2baa799p-2 +0x1.2bd58094b4953p+3, -0x1.7e2674d916846p+2 +-0x1.0c7d4f396e044p+2, -0x1.27b7aa1d4bde4p+3 +0x1.14d94b1a45583p+3, -0x1.1c5f29c49c5fep+4 +-0x1.6317e24b9e98dp-1, -0x1.c17b34d04a5b7p+2 +-0x1.169e8dd3da488p+4, -0x1.83d97d6511f4p+4 +0x1.c9356d8876355p+3, 0x1.7df8eb11f8766p-2 +0x1.05ab7c3c75f4ap+3, -0x1.51a59e72eaa8bp+0 +0x1.2e1562a6abccp+0, 0x1.9c457dfd9c179p+2 +0x1.baa2f1edb6be7p+3, 0x1.94271b9eb18f8p+4 +-0x1.98e7758d52eafp+1, -0x1.53f802fdee22p+1 +-0x1.a544db7c68ad4p+3, -0x1.29e8081f65554p+2 +-0x1.52c8780f846e1p+2, -0x1.bd0209d3bfd9p+0 +0x1.430642c19f7e3p+1, 0x1.03752fbd7db92p+3 +0x1.bcb947679dd64p+2, 0x1.facd375a24922p+3 +-0x1.90f905068d0fcp+2, 0x1.707701623a091p+1 +-0x1.4c743ecbd7d2ep+3, -0x1.26c19329d9eafp+1 +-0x1.5303ea533e7cp+4, 0x1.7dec03ac3a93cp+2 +-0x1.7eb4677f6ad3ap+3, 0x1.029b92a06489bp+3 +0x1.f7eae934ebae5p+3, 0x1.4ff2f21ae4d67p+1 +-0x1.cf1ec843cb7bfp+8, -0x1.a754ec1a962b6p+3 +-0x1.317dc6b89748dp+2, -0x1.2b8c98489c021p+3 +-0x1.6d907ed10f25fp+3, -0x1.efd596d5455c2p+2 +0x1.f1b306fc2efbdp+2, 0x1.d8625b2268721p+1 +-0x1.3824d2ec057fcp+1, 0x1.f6284dd286b8cp+2 +0x1.a85acdb725fafp+3, -0x1.4b4b23f1e22eep+4 +-0x1.c729ffd95ce3dp+3, -0x1.74c68471855c9p+1 +-0x1.72516b92ce904p+3, -0x1.30316e52184aap+1 +0x1.897e5062e705fp+0, -0x1.690058d21ea6fp+1 +-0x1.2a153eb23b07fp+0, -0x1.24cf7f4c26a43p+2 +0x1.d388156139a5cp+1, 0x1.88260e92d7cb3p+3 +-0x1.8331217b8a334p-1, 0x1.09059a1bc17d9p+2 +-0x1.ab5a13e27b70ep+4, 0x1.287a4b5a2a2cp+2 +-0x1.6be00d1cff222p-2, 0x1.aa2ae65745891p+1 +-0x1.a6a4cab259a7dp+0, -0x1.80a41abb902bbp+4 +-0x1.e7509831d2b5dp+2, -0x1.f542952d621d2p+2 +0x1.503ddaf9057dap+1, 0x1.6d41b656aa6e3p+3 +-0x1.4158d2c9a0ff4p+4, 0x1.156ff42b535eap+9 +-0x1.7be5d684d09d9p+2, 0x1.75ed2b5957ad5p+6 +0x1.1817d63f06fe3p+3, 0x1.513cc8cdd0464p+0 +0x1.a48c9cc2b50a7p+2, 0x1.587ec5babbe32p-1 +-0x1.c91a0d33ac1aap+2, 0x1.763d009b6498ap+2 +0x1.54f97885a951fp+1, 0x1.e6c2d232c79dcp+3 +0x1.d06d59e492998p+3, 0x1.d3fd3bc77e13ep+0 +0x1.0a3aa53ed6aacp+2, 0x1.49452eba218dap-1 +-0x1.225489a5ffa2cp+3, -0x1.54f9b95f51b5ep+4 +0x1.b8b3c1bdc7c55p+3, 0x1.6eab0af028c2p+3 +-0x1.61c57858b1cb5p+2, -0x1.dbdb5fcf80c1ap+2 +-0x1.8f793cefd8243p+2, 0x1.437cabc3d7637p+3 +-0x1.0a9f6eeda0eafp+4, 0x1.a00d1db1f9e6ap+0 +0x1.8de80288e138ap+1, 0x1.119a9fcaf55fdp+2 +-0x1.5024681cc43dp+1, 0x1.3e9efb7aba193p+4 +0x1.0eb23bf7aab4bp+0, -0x1.4843c8b252bc2p+3 +0x1.f69464f22f4e5p+3, -0x1.0c140a5d2376bp+2 +0x1.a1def79a73a1fp+1, -0x1.a26ac621ba673p-1 +-0x1.a726f8aad92d9p+3, -0x1.f3ba79ddca2b6p+3 +0x1.85b52abbca183p+2, -0x1.3592c66bfa0f3p+4 +0x1.a1ce08716d166p+1, -0x1.2d4fc6c3226a4p+3 +-0x1.0f353bd89cb4ep+4, 0x1.f496be97fd333p-3 +0x1.392486dc0acffp+3, -0x1.1f5ce4bb7c45fp+2 +0x1.0c451a3bd2241p+2, 0x1.1bb32dfb8e1d5p+3 +-0x1.fbe2c23732e37p+2, -0x1.8a738c2f7572dp+3 +0x1.3908a087f0324p+4, -0x1.0c256f89f979fp+2 +-0x1.d715a6a3d0cacp+2, 0x1.23b9909082ee9p+1 +0x1.f3884e320264fp+2, -0x1.3833714cad1efp+2 +-0x1.59e185f64507fp+4, 0x1.fe082c9e3b95ep+2 +0x1.449c177b72fe2p-1, 0x1.0761f24d6fc2bp+2 +0x1.6768f4f782dd1p+1, 0x1.4588104b1bcbp+3 +-0x1.746ae96fdb357p+2, 0x1.718925e0cf2e5p+2 +-0x1.4c66d04abc368p+2, -0x1.55340093fb3f5p+4 +-0x1.78d72a6d290a3p+3, 0x1.e94438c935043p-2 +0x1.2b210f62e88f2p+2, 0x1.8e32d50ededbfp+1 +-0x1.2ea0359b98c4bp+3, 0x1.0f9b623b23deep+3 +-0x1.6cc7ee41e9e15p+8, -0x1.62a89b4a4e307p+3 +0x1.f6d63b292acfbp+1, 0x1.e4df37981d2dcp+1 +-0x1.a8c70d6d9eb58p+2, -0x1.28b8827e4e9ccp+4 +0x1.d076992144633p+0, 0x1.57b8d3c45db8fp+2 +-0x1.0a7993c39f33cp-1, 0x1.069a2d7275c19p+3 +0x1.9abd5ee9c07f4p+2, 0x1.5794c6addacb4p+3 +0x1.cc6ec6b261506p+2, -0x1.8431c79c665aap+1 +-0x1.1f499efd706a4p+1, -0x1.2ebbd4f222663p+4 +0x1.0809d039eb499p+3, 0x1.31b5882008928p+2 +0x1.81bbd0ee7c6ccp+0, 0x1.00d1b4a041cbep+2 +-0x1.3038850d30832p+3, 0x1.37f39ebdcd6ccp+3 +0x1.0192433abc398p+1, 0x1.e8959457c7d39p+0 +-0x1.1b8db36fceb89p-1, -0x1.a13fcdd2b91fp+2 +0x1.999bebcfde936p+0, -0x1.988b6af37da9ep-1 +-0x1.014ab497224f6p-9, -0x1.980d4594ff66cp+3 +-0x1.d0bb320d25668p+0, -0x1.e3394fdc648f8p+3 +-0x1.050702669f718p+4, -0x1.26fea8f18fe68p+3 +-0x1.659e46d251df8p+3, 0x1.5d97fe708db6dp+1 +-0x1.5bf0250443e59p+7, 0x1.06055bfe98195p+3 +-0x1.a3fe6b2f9c051p+1, 0x1.10a2438ba792dp+3 +-0x1.23d9b9aa7287dp+3, 0x1.1bc77b007bc9ap+3 +-0x1.f88b92b74a2a8p+2, -0x1.3c91d5edf837dp+3 +-0x1.cc7026ccf14fep+3, -0x1.5e8936c7f1c3dp+3 +-0x1.efbab9c5aaf58p+1, 0x1.02393cf832a9p+4 +-0x1.b8f49361eb7cbp+4, 0x1.0db949ab79574p+5 +-0x1.1e14751e846f7p+2, 0x1.045ef1875ea55p+4 +0x1.a7f4241580497p+3, -0x1.72ff828232a09p+3 +0x1.4d00a26ec5988p+2, 0x1.94e4e72758796p-2 +-0x1.72de13ff02f4ap+0, -0x1.9480249d9cce4p+2 +-0x1.82197225c5fa3p+3, 0x1.d5ce592bff8b9p+1 +0x1.97b52d8e39a22p+0, 0x1.e43942358f94dp-2 +-0x1.acf31c9754758p+2, -0x1.844a0ed10976ap+2 +-0x1.4d1b94e895707p+3, 0x1.f5e3ed67b9f6ap+1 +0x1.955f45f44245cp+3, -0x1.4532370f3c464p+3 +-0x1.28b3fedd998c2p+3, 0x1.696735d2ad507p+0 +0x1.0059267677a3cp+1, 0x1.52b53270d9be1p+0 +-0x1.af289371c2febp+2, -0x1.e252b0d9df1bcp+0 +0x1.1697c98d82a4dp+2, 0x1.a7af2148faef4p+2 +0x1.6781bda30ad3ep+3, -0x1.4267bb675357p+2 +-0x1.db6e5aca2650ap+5, -0x1.828c3e4fac903p+0 +-0x1.1087e31b22162p+3, -0x1.432541be9da02p+2 +0x1.9796e8f525297p+2, 0x1.3f2e19d0a7411p+3 +-0x1.cf584dc33066cp+0, 0x1.66ebf7d216ba2p+2 +-0x1.122bcee1b2559p+4, 0x1.31051e300a1c6p+2 +-0x1.4cb9db43531ecp+0, -0x1.47243d78923e5p+1 +-0x1.3e4e12285bde1p+4, 0x1.86191706230f4p-1 +0x1.1422b22ce0383p+4, -0x1.6fad4cf55fd1ap+0 +0x1.43d928b46a07dp+4, -0x1.acd807a2a27f2p+1 +0x1.97a662cf37026p+0, -0x1.1cd20dcbcd3cp+3 +0x1.fd680a8b53adbp-1, 0x1.50a65a3e2ba16p+2 +0x1.60ea78cd80c41p+2, -0x1.cac644d32c2b5p+2 +-0x1.1f97ae7ca9fa1p+3, -0x1.8c35f963de476p+3 +-0x1.e57a9c68bbfd8p+3, 0x1.f7e75b37e5d87p+3 +0x1.89b8db855c4f9p+3, -0x1.1cdfb9e411e76p+4 +-0x1.b86a319633cc6p+0, 0x1.52cd940f800bp+2 +-0x1.03dba08d9f024p+3, -0x1.112abd1d78bb1p+3 +0x1.0d863619c7ec3p-2, 0x1.0aa19fa8ad43dp+4 +-0x1.52dfade1115f6p+1, -0x1.738fdcf9eb445p+2 +0x1.2addbb5078551p+3, 0x1.413796b89b16ap+3 +0x1.099acf7c5237p+4, 0x1.483d677c5ecddp+3 +-0x1.68078ffd1c4e9p+3, -0x1.7e35cc777b074p+2 +-0x1.96b44faaea343p+2, 0x1.532060ca11f1ep-2 +0x1.358aac8ef9b98p+5, -0x1.c1faecff72438p+3 +0x1.ea9b6da4086d7p+2, -0x1.a7b16b0ab3961p+3 +0x1.ad650e702cb29p+1, 0x1.f50db9f742b11p+1 +-0x1.29997cb7b8af3p+3, -0x1.04415c01b1117p+4 +-0x1.407106782d827p-1, 0x1.f6286bed76f7p+2 +0x1.e77dfde5b3225p+2, -0x1.61f97da66e4dbp+3 +0x1.3f76cf8ac5d2dp+2, -0x1.170c427112de6p+3 +0x1.8015718a232d3p+3, 0x1.010f7174a86efp+2 +0x1.206c8f7a49f46p+4, 0x1.78fac9dbd01b9p+1 +0x1.5e7aec135a64ap+2, 0x1.81d09a54c615bp-1 +-0x1.8934deb6efd63p+2, 0x1.947ea119670e5p+3 +0x1.3ae37a63711dep-1, 0x1.c0607f8e2a9b4p-3 +-0x1.8b75840382abep-1, -0x1.72c0973d72214p+3 +-0x1.ea2416a1cd30cp+2, 0x1.b9f9fddaf0f24p+3 +0x1.eda1292caed01p+2, 0x1.3bdc1d1a3af5dp+2 +0x1.3e5b1a93f2fc8p+3, -0x1.45a781ef42aa6p+3 +0x1.d8c860d8a43b8p+2, 0x1.0bec74469c97bp+4 +-0x1.4ef42e2de5348p+3, 0x1.2cd705ca733e7p+4 +-0x1.5aa3ae01a755fp+2, -0x1.2f18af4f72919p+8 +0x1.2ee44712a2acp+3, 0x1.26e13cd314db5p+2 +-0x1.32d4b677780a7p+2, 0x1.9c2a3c1530f14p+2 +0x1.4c1d869ab21bep+3, -0x1.c130fc4392e7p+0 +-0x1.7cc338e9d13abp+2, -0x1.4491f55ed2379p+3 +-0x1.796bc0dc224ebp+1, 0x1.50c13b6eca9fep+2 +0x1.6cca688b0b7cp+3, 0x1.1b110d2dfe208p+2 +0x1.fd4c7a72c8ebp+3, -0x1.70482fed02ab9p+3 +0x1.ed6a8e50ffadbp+2, -0x1.d79d643a771b2p-6 +0x1.c7649f394920dp+3, -0x1.9f16f9e3bda46p+4 +0x1.b48f8001e57d2p+1, 0x1.67206437ca9f3p+4 +-0x1.726ac4940e316p+0, 0x1.f4c7e3536a52ap+0 +0x1.591a058e71992p+1, -0x1.199d041c58881p+0 +-0x1.fd01b79bd1e99p-1, -0x1.66f39924cd7e6p+0 +0x1.72a703485bc8bp-1, -0x1.78a960dc8cc3ap+0 +-0x1.5c4fc1539834p+4, -0x1.7905462295d34p+2 +-0x1.3cabe22f13ba1p+2, -0x1.cc1e7bef69653p+3 +-0x1.c27bff536aba3p+2, 0x1.2c31b0adc9cf6p+1 +-0x1.63643df5fcbe2p+2, 0x1.9504f6087ee9ap+1 +-0x1.4d34834761a49p+2, -0x1.7308f25ba7a6ap+2 +-0x1.3b462a34b23a8p+2, -0x1.2c1b6c6832443p+1 +-0x1.cd5703c13603dp+2, -0x1.c8750d030b206p+0 +0x1.60e975e6fdfc5p+2, 0x1.233887e78f0fep+1 +-0x1.09187a6315442p+4, 0x1.598007e107622p+3 +-0x1.c93052469f1edp+1, -0x1.66845dd168cd3p+2 +0x1.402d0479bde5fp+1, 0x1.8959eed242883p+2 +0x1.4db7903442af6p+1, -0x1.f92707803f2e9p+3 +-0x1.ba2e238582985p+2, 0x1.354cdf0cd59b9p+3 +0x1.936eef7e3dbe4p+3, -0x1.7d89ccf7016dp+3 +0x1.4944b0300c9e2p+4, 0x1.d28ac5bfbe4a5p-8 +-0x1.8db44d590d0dep+2, 0x1.da33fbca9773cp+0 +-0x1.6fce1a62757fdp+1, 0x1.d7f330127cd67p+2 +-0x1.21b40a86c2882p-1, 0x1.6a49ac5a56d25p+2 +0x1.8e09f60b1ca8cp+2, 0x1.0c8466a7c7dd5p+7 +-0x1.206b810e5f0a9p+0, 0x1.c63c83005eceep+1 +0x1.3ce75ce423241p+3, 0x1.e65da2c82a039p+3 +-0x1.5ec08a5f32f2ap+6, -0x1.37a5415296602p+2 +-0x1.3e75b07bc0f45p+2, 0x1.f9519441ab93bp+3 +0x1.1b5388c0d9e55p+2, -0x1.b3d3b1bef59c8p+1 +-0x1.c750c5574a346p+1, -0x1.21973adf9cec9p+2 +0x1.8d2fd8bc4a426p-1, -0x1.1933ee4cd5254p+4 +0x1.0301b30093976p+4, -0x1.a39c2d767cd3dp+2 +-0x1.3da36c0c0d2c1p+0, 0x1.3470cf85eeae1p-1 +-0x1.08251847b2941p+3, 0x1.8760759d80eeap+6 +0x1.3fcc9b548ee4dp-1, 0x1.d8d3c6c42b26dp+1 +0x1.42b3d658d75a3p+2, -0x1.b8a0668fddbbap+2 +-0x1.dcb249dda71cfp+1, -0x1.a26ff6abe939dp+1 +0x1.77429ef3e0c9cp+0, -0x1.441e2c0716e48p+2 +-0x1.f46e35c75fc98p+3, -0x1.c32e603246d7ap+3 +0x1.faaed09eb527p-1, -0x1.8dde1a49ec25ap+3 +-0x1.6ffbd75692e98p+3, 0x1.10c9f676e3ce4p+4 +0x1.68bb761836c1cp+2, -0x1.174242fb9a345p+3 +-0x1.307571a2500c7p+0, -0x1.022f95997d2b5p+3 +-0x1.3f2820f4bdbf5p+2, -0x1.368f391d3c69ap+3 +-0x1.9e7369af2f357p+3, 0x1.9742e827b052dp-1 +-0x1.dccfdf0de5fbdp-4, -0x1.e04913b6b02edp+2 +0x1.1a70c301b188fp+0, 0x1.3c8d795d2b823p+0 +0x1.73111ca347306p+4, -0x1.3d06a0d448e57p+3 +-0x1.870316067f61cp+2, -0x1.f2b13fbe4b81ap+2 +0x1.37fe42510accdp+3, 0x1.3003f9739622ep+2 +-0x1.03e7ddf57276bp+3, -0x1.80e638f27a5ffp-1 +-0x1.132fd1c9ad4ecp+1, -0x1.0aaf2b66824b2p+1 +0x1.f3a5a25cfc303p+0, -0x1.977735cf6abadp+2 +0x1.2836e2f70bf87p+3, 0x1.786731ec6fde3p+2 +-0x1.cfb2479e4fd5cp+1, 0x1.9bb3744239ed5p+2 +-0x1.2149764c85a6fp+4, -0x1.56b2f87db7992p-1 +-0x1.fdf9d15472eb8p+0, -0x1.07965ce21cf76p+3 +0x1.4c824174ad31fp+2, -0x1.4423294d55ce1p+3 +0x1.6b4a47d0b2a7fp+2, 0x1.33a31368c383ap+2 +-0x1.17c41899f05b2p+3, -0x1.f3bb684d4e089p+2 +-0x1.2ce6f1bd5cce7p+3, -0x1.04baa334c3719p+0 +-0x1.0dd8cee3e770ep+2, 0x1.aae75d88f066bp-2 +0x1.015a1e43b709p+4, -0x1.1b40265bfc95dp+3 +0x1.d0efc595e6799p+2, 0x1.88472b3b8c7bp+1 +-0x1.da767c664dc56p+2, 0x1.3735d3def1388p+5 +0x1.93f609465ad8ap-2, -0x1.247e09a01192fp+3 +-0x1.f375bca0772c5p-1, -0x1.282c02a88b34dp-1 +-0x1.385bc361bc1b2p+3, 0x1.c98b36d05f28bp+3 +-0x1.9eb1a467256c5p+2, -0x1.82c176fe26d09p+3 +-0x1.a70841359baf2p+2, -0x1.f46a1627c03bp+1 +0x1.68a571849d29ep+3, -0x1.9a0babb10781bp+2 +0x1.d40f79016b8c7p+2, -0x1.ffee986cef8a5p+1 +-0x1.4d24312f3be7fp+1, 0x1.f1e14191fda2ap+3 +-0x1.f4940df7afc41p+3, 0x1.9d414f4d9bdf7p+2 +-0x1.c3530fc0bab2dp+2, 0x1.d1f5364f6b09p+2 +-0x1.8021fead6992fp+6, -0x1.7aec58819e073p+1 +-0x1.8adf0599c5403p+1, 0x1.f14a364082effp+0 +-0x1.9c2b3dc0227c9p+3, -0x1.4bc33309e0aaap+2 +0x1.8b03f4ab1818fp+3, -0x1.331daded8353cp-1 +0x1.7d8d9d4e65912p+3, -0x1.2b16fbb7c1ca2p-1 +-0x1.126216f902b19p+4, 0x1.7c5d9fadf458ap+3 +0x1.02ebe8ea6422bp+3, 0x1.a74c3a7b15747p+0 +0x1.265e33a5b106ep+0, 0x1.c0ea9f1e679c5p+3 +-0x1.dd1dd968b3cb8p+0, 0x1.86852f93112e6p+2 +-0x1.d7d1468f2b4bbp+1, -0x1.1986843de75b8p+4 +0x1.51dc6ec185025p+1, 0x1.96c3dcdf2a649p+1 +0x1.0e9c4c81a8e6dp+6, 0x1.c329b65c1db0bp+2 +0x1.c99f73f2fb291p+2, 0x1.bbc00ae0928a5p-3 +0x1.31428013e5522p+4, -0x1.27ce1dcc4bb6cp-2 +0x1.3baeea1b5b01bp+3, 0x1.fa430fec40546p+1 +-0x1.085d735685688p+2, 0x1.3695e7bd90ce3p+2 +0x1.1371f1036de0cp+2, 0x1.29153e61d3a17p+0 +-0x1.f1c089e22ccefp+3, 0x1.69090caa0e939p+1 +0x1.9760a63422d74p+2, 0x1.c5eda950751a7p+3 +-0x1.90a078c7a9b0bp+4, -0x1.7a5b51085ep+0 +0x1.b450914e48a73p+1, 0x1.f574a2e10b93fp+1 +-0x1.c8f0278cf5f9fp+5, 0x1.43d752c98e128p+4 +-0x1.a5cfba8eab837p+0, 0x1.3f338d599d9b6p+0 +0x1.8bfb6038d79c4p+3, -0x1.849d030061882p+1 +-0x1.366c4a3365eaap+2, 0x1.236c799e8a722p+2 +-0x1.805da3ddc686ep+4, -0x1.744509e495d52p+2 +0x1.a3bf7172aab93p+2, 0x1.cadf2e996dbf8p+3 +0x1.9ac799101bc12p+3, 0x1.7787e2d07679ap+3 +-0x1.b0fb81bf9a51cp+1, -0x1.e67897d9ffd3cp+3 +-0x1.d1a6f8ab9c1p-2, 0x1.097c4097910d2p+3 +0x1.63281bb73ed9bp+2, 0x1.e9970fbcd1525p+1 +0x1.b8c2945b3e173p+8, 0x1.7c39e55f6d867p+2 +0x1.288f1c381e54ep+0, -0x1.6875624360bedp+2 +-0x1.5e3e8e64dc2cep+3, -0x1.5945ed7710bcdp+0 +0x1.43ca0833fe3e6p+1, -0x1.773b715ab1822p-1 +-0x1.5bdb87cbb4ae1p-6, -0x1.db76ac43c11eap+1 +-0x1.28b69bfd87272p-2, -0x1.42439a1acc02cp+2 +-0x1.111b368142a8ap+1, -0x1.e35bf72e6e97p+2 +0x1.43340edfe3384p+2, 0x1.1f0f31d8830d7p+3 +0x1.482f87a0b8f7dp+3, 0x1.052874c178a4p+2 +-0x1.11010e35638abp+3, 0x1.f4058f9b325acp+2 +0x1.5db2929e4a8e4p+3, 0x1.37cd8a0b95da8p+4 +-0x1.93d40510fb953p-3, -0x1.ea06f7522bb69p+3 +-0x1.2612526b98de8p+2, 0x1.5ad20101e431bp+3 +0x1.c761a5efee0eep+3, 0x1.7d1b691d206d4p+3 +0x1.c148aa9a1a1bp+2, -0x1.e87348522b212p+3 +0x1.5367c7f56f863p+3, 0x1.047e621c7893fp+3 +0x1.9037010b3c12dp+3, -0x1.af439b375320fp+2 +0x1.2582b059969b9p+2, -0x1.efa6029936f0ep+2 +-0x1.696bfa6ad078bp+2, 0x1.a8369885bbbf1p+3 +0x1.0b6c06f13f73bp-2, 0x1.bc94eceb08b34p+2 +-0x1.62f32b850440ep+4, 0x1.622f2f6bec5abp+3 +0x1.9bd25ce3c47c3p-1, 0x1.c4f270234c42dp+1 +-0x1.2d62dfad469p+0, 0x1.e3fc94dbdbfb4p+3 +0x1.b46778968f88p-4, -0x1.1c999ebbd8303p+2 +0x1.21be7c718acbcp+2, 0x1.e69c0d8c362ddp-1 +-0x1.ac160d437fe95p+2, -0x1.20fb1bc68f9aep+5 +0x1.96bf16cdc9acp+3, 0x1.6a9bdadf51ec5p+2 +-0x1.e1d897962539ap-5, -0x1.f5a2691350da2p+3 +0x1.0120ebd2ddd34p+3, -0x1.f5c7e92e219bbp+4 +-0x1.d4ae599565debp+2, -0x1.06cae1af126d5p+4 +0x1.797df09dcec5cp+3, 0x1.85f5c5ad16c97p+2 +-0x1.3616dfd994f8dp+2, -0x1.17b90d3f9088ap+2 +-0x1.31f91177f1891p+2, -0x1.e2893e5a86871p+2 +0x1.db461bd3a5cf7p+0, 0x1.c607e24397461p+1 +0x1.a41f97f5f8cd7p+3, 0x1.e8ba0eb3de236p+2 +0x1.b056024d6595cp+5, 0x1.8b6d581f3ff1ep+3 +0x1.08beb66bb7494p+3, -0x1.db6effa5c649ep-1 +-0x1.10f4be5626ac4p+2, 0x1.4d65a36667f5cp+3 +0x1.858e792d0a83cp-3, -0x1.ce6922f5b4056p+2 +-0x1.5df1d0b92f863p+2, -0x1.1c2b27acd562cp-1 +-0x1.cd02f02ab643fp+1, 0x1.e56cab6df104ep+3 +-0x1.9b9e5311a6181p+0, -0x1.793aceb5e908bp+1 +0x1.6ed8e4b288a4dp+3, -0x1.54a3491dbe153p+1 +-0x1.764328ad45e71p+3, 0x1.22e76f26e4587p+2 +0x1.960b95e7048c6p+2, 0x1.d137128e37d1bp+2 +0x1.2114501f9e3ap+3, 0x1.2252ced7fcfc2p+4 +0x1.a080eeea06bd2p+3, -0x1.32b56c60b1431p+2 +0x1.496197bb23919p+2, -0x1.c6b5b466ababap-4 +0x1.ed2f10087bfc4p+0, 0x1.ddb62abe589f5p+3 +-0x1.d20d003a5fbbcp+3, -0x1.1d4a1907ac7bdp+4 +0x1.cd89a9ba2f34fp-4, 0x1.e2541a244f3c9p+2 +0x1.89ddc9817bf9bp+2, 0x1.d04998fe1b3fdp+3 +-0x1.53f9bd44955fbp+3, 0x1.caf87669dd77bp-1 +0x1.c373478240a81p+3, -0x1.25bc84ec340a6p+2 +-0x1.e48e50fc97f3fp+3, -0x1.506a435936079p-7 +-0x1.bc20c9c24b869p-1, -0x1.9f43e912737b7p+1 +0x1.e839afa8814bep+3, -0x1.1e7467cf1667dp+2 +-0x1.c0284d3a2e446p+7, 0x1.574914ba9c942p+3 +0x1.3820cff8759eap+1, 0x1.054a261078346p+3 +0x1.c9125b3facf77p+1, -0x1.8008da31380fep+2 +0x1.112d106937fe2p+2, -0x1.8127a7766802ep+0 +-0x1.d0f0b7259bb6dp+2, -0x1.c25b8f36d6953p+2 +-0x1.e8f38b560f088p+1, -0x1.067f726f2f611p+4 +0x1.dab0dba78a31p+3, 0x1.73fddc0da4ccdp+3 +0x1.85e3665c90cacp+3, -0x1.d727d66a2bb8dp+4 +-0x1.2e4614d7e94c3p+0, -0x1.35912381f7bcep+2 +-0x1.0fc6f3f2dce4ep+0, -0x1.8a5593ca3991p+8 +-0x1.118a1151cb349p+3, -0x1.1cd60bf6fd96bp+2 +0x1.3d6bc7fc2e83p+2, -0x1.faf0269801049p+0 +-0x1.1641f364306d7p+3, -0x1.f76f45792b158p+1 +-0x1.55e7201c06406p+3, 0x1.50560b5102ed7p-1 +0x1.0d1bd4914928p+3, 0x1.3acc755374957p+1 +0x1.9127d3dba9296p+6, -0x1.0fe30a8f1350dp+4 +0x1.7d68f495ad75dp+3, 0x1.8c918f1e45c73p+3 +-0x1.aa56f0c8dad48p+1, -0x1.9b75ce2243c28p+1 +-0x1.171b14d719156p-1, 0x1.e1796897ec127p+2 +0x1.afaf57505e3acp+1, -0x1.333d85bedc174p+2 +-0x1.3a8dd8f5184ccp+2, 0x1.1d3d7cfd992cap+2 +0x1.c09baa00909e7p+1, -0x1.400082130118bp+3 +-0x1.3c2b72c61575ep+0, -0x1.e9590eee07975p+2 +0x1.d421309263c78p+2, -0x1.c7acbd92cff49p+2 +0x1.a3d9e998b0c89p+3, 0x1.00a04b0bf162cp+3 +-0x1.53702df265974p+2, 0x1.50c0346e097fap+1 +0x1.c15971cf5e864p+3, -0x1.b7acf4710a748p+1 +-0x1.b576dfbc780f4p-2, 0x1.5cbeedbc79374p+3 +-0x1.cd29bd05258efp+1, 0x1.573b1b00a94bap+1 +-0x1.12825b91fb127p+1, 0x1.953478b5dff43p+0 +0x1.03649382d7967p+3, 0x1.37010d9686c3bp+1 +0x1.031706d87674p+4, 0x1.c7c73b063bbaap+2 +0x1.ae3317dae9eafp+0, -0x1.1f92cd7bfef4ep+3 +0x1.4502ebd10fe6cp+4, 0x1.f9d740a364686p+1 +0x1.3be92c0333b17p+1, 0x1.c3d7bca4d45bdp+0 +0x1.dfc8f540ed1fep+1, 0x1.e8e22525c01d7p+0 +0x1.07e0328463a8dp+3, 0x1.25c55d54fdc2cp+0 +-0x1.240d305e68c25p-1, -0x1.05076a81ebc45p+3 +-0x1.038b16f06abcap+3, -0x1.407579198eadp+2 +0x1.fa840b9719c05p+5, 0x1.286d25aabac3ap+4 +-0x1.ccdd575d5509ep-1, 0x1.236cac51876cbp+4 +-0x1.68d6519b82098p+2, 0x1.3c8db86366908p+4 +-0x1.06054895e1a2p+2, 0x1.c24f25cf681afp+1 +0x1.78dfa5459494fp+2, -0x1.6bca3bb24625dp+2 +0x1.954f978e377d8p+2, 0x1.0e98a40f5324p+3 +0x1.2d4329cf18056p+4, 0x1.fd44d65109927p+2 +-0x1.01c36b9e87cb8p+4, -0x1.faaf9654cfdfap+3 +-0x1.342af921cd12p+2, -0x1.e1554488abe23p+2 +0x1.2e164cfd50307p+4, -0x1.b40fd51d1da0bp+3 +0x1.0ea95c314317bp+4, -0x1.26ae87eacb734p+4 +-0x1.7f69a8ca2e968p+0, -0x1.d6b49fec7459ap+3 +-0x1.eb35f41f1f791p+2, -0x1.8bad799952f53p+3 +-0x1.75d3645e2bebep+2, 0x1.22284c32a893bp+1 +-0x1.c78cfc3f8a2c1p+3, -0x1.c4421162b0b6bp+6 +0x1.a2bcddf017d59p+4, -0x1.54bd67ca5b271p-3 +0x1.a739dd5a07ec6p-1, 0x1.aac466e7794e4p+2 +-0x1.48d048e5af6d3p+4, -0x1.3bc32c568cf2dp+2 +-0x1.e091e78c74387p+1, 0x1.90f02ed2c3898p+3 +0x1.1e8266504b1e2p+2, 0x1.ca4b99ce90ef9p-1 +0x1.630122f6e2cb5p+0, 0x1.c4421f48859e3p-1 +-0x1.8af8216f87f91p+2, 0x1.8b49536536a4fp+2 +0x1.51ead0824c306p+4, -0x1.7e9a4c43ab2cp+3 +-0x1.1dcff07fef376p+3, -0x1.093155c88968p+3 +-0x1.36b8f24444f91p+4, -0x1.e95ed411e9e61p+3 +-0x1.9bc87daca8c81p-1, 0x1.bbba2f54306d9p+2 +-0x1.8994c33387937p+1, -0x1.c056d1ea46492p+2 +-0x1.648ffe14df5e6p+1, 0x1.d4eb1abe9649dp+2 +-0x1.a6397d4c0aeddp+1, 0x1.bd95c0c6c3308p+2 +-0x1.68859d3e0dep+2, 0x1.077acd866af23p+3 +0x1.401443645216p+4, 0x1.810ffb0e73ce9p-2 +0x1.54b0cdef6ba05p+0, -0x1.9fccca563cd44p+3 +-0x1.1dc02159c457ep+0, 0x1.b6673350a4606p+0 +0x1.2e0d9a570217dp+0, 0x1.0cd9a1b452ea9p+4 +-0x1.49163119fec4fp+3, -0x1.6284b1bd5e91dp+3 +-0x1.5cc3bbec06358p+3, -0x1.ba91ac48ddeafp+0 +0x1.3633681ee2951p+2, -0x1.b1024dd6b55b9p-1 +0x1.ce16ddf77376ap+3, 0x1.e670236b6b25ap+2 +0x1.8c0810b5f2639p-3, 0x1.2c406eb17f09ep+2 +-0x1.a411c18fcbbbbp+2, 0x1.fdbf29fad49f2p+3 +-0x1.69a2950dbaa65p-2, -0x1.1f0ce7a54d1c7p+3 +-0x1.18e2300f8e8d3p+3, -0x1.2f62b0ee0d037p+1 +0x1.c24ff20d593ddp+2, -0x1.282ed904a3e25p+3 +0x1.8cefaa3d2d51fp+1, 0x1.25afe70c65e3ap+3 +-0x1.c2fb5db89524dp+1, 0x1.50cbb8fbd3ffcp+4 +-0x1.9220f4bda91f6p+4, -0x1.35e05b6017aecp+1 +-0x1.1464d71ed7e0bp+3, 0x1.8fd35df0e18eep+2 +-0x1.a84858b08616bp+2, 0x1.9f4cc249a6bd7p+4 +0x1.2ee942ad6c7dep+3, 0x1.8d47aad1b18c9p-2 +0x1.0e512d611e366p+4, -0x1.355cc89fafce5p+0 +0x1.91dbf52f75f69p+0, 0x1.b72cb22f3ed3ep+2 +-0x1.829c53c44ad6ap+2, 0x1.2993338e42c03p+0 +0x1.2672c97a2fd9bp+3, 0x1.367c5338b8fdfp+3 +-0x1.2cf11773db1bap+3, 0x1.1a520eb4f916bp+3 +0x1.35749fac7406ep+3, -0x1.6482ffbca8603p+3 +0x1.19b96ea8861a5p+1, -0x1.ae6e4562018e6p+2 +0x1.7164158d5f53bp+2, 0x1.89137e05f931cp+0 +-0x1.ed95ced2de138p+2, 0x1.590ae5b95cf89p+3 +-0x1.60494ac747132p+2, 0x1.e33235a0e2e9dp+2 +-0x1.1bf37e77a7ca9p+4, 0x1.893e2395c5031p+4 +-0x1.339c38eef1413p-1, -0x1.24856c13e7552p+4 +0x1.ed45731ac6017p+3, 0x1.52b2efad4ec99p+4 +-0x1.2b02cfb611f1bp+3, 0x1.41cac9814e16ap+0 +0x1.5c856e18c5ec3p+6, -0x1.8328009227147p+3 +-0x1.e152c8630859ep+1, -0x1.3ed50a7258879p+2 +0x1.7bb37ab79ee17p+3, 0x1.6507f10fae08dp+4 +0x1.11d59597be7afp-1, -0x1.4f0f6e1907a3cp+2 +-0x1.73325d578d8a7p+1, 0x1.1d8962d480256p+3 +-0x1.c7ffeb18cf9f8p+3, 0x1.9f53cd02053f8p+1 +0x1.de4e22fbe2562p+2, 0x1.79f6336618309p+3 +-0x1.a2f44b92b9b85p+2, -0x1.d214e04d02d55p+2 +0x1.0be0b8631f9cbp+2, 0x1.14073854e841ep+3 +0x1.b043e677ed4a6p+1, -0x1.815215192d0d9p+2 +0x1.e73b782ab31e3p+2, -0x1.0e799921d73a8p+3 +0x1.1880cf833d06ap+4, -0x1.4661cf6c9e412p+3 +0x1.a1e754a74085ep+2, 0x1.f7a924670fd87p+1 +-0x1.3439a848800a3p+1, 0x1.d3a6ef080689ap+3 +0x1.38077959210f6p+4, 0x1.e867a58194d3fp+2 +0x1.2d86f5b6648f9p+3, -0x1.3473c0842a77fp+4 +0x1.888e2be28b2c7p+2, -0x1.0bc121cedc3e6p+3 +0x1.37f2d245bca3fp+4, -0x1.64fe191d3b021p+3 +0x1.b7b43d85e4995p+2, 0x1.d9745b0811bd1p-2 +0x1.28587eb93f6f8p+0, 0x1.9e9f85e2d7517p+1 +0x1.ac9c1cefc39cp-1, 0x1.0c532b348052fp+2 +0x1.72d31116ad2a3p+3, -0x1.4ad14248ab4d8p+3 +-0x1.93f4d45739c7p+4, -0x1.cbe5978d5e803p+1 +-0x1.0fca736c29fc2p+2, -0x1.9f178114a0161p+3 +-0x1.871ac695cb736p+4, -0x1.48707965d6e6ap+3 +0x1.73c83c1c600bdp+1, -0x1.40acfd6f1d439p-3 +-0x1.8932292b387f7p+0, 0x1.cb1442ba6c3d6p+2 +0x1.10aaf813a5a39p+4, 0x1.bcaef77b8b89dp+4 +0x1.31d1a077d6eaep+3, -0x1.7b5124b5a0633p+2 +0x1.f3996eea9fab1p+1, 0x1.68b6dab542a53p+1 +0x1.b4b5e6812377ep+3, 0x1.322f6e3ae2c7ep+3 +0x1.294cc9c9bf53dp+3, 0x1.bd043c411eb84p+1 +-0x1.23fb6a9297d3ap-2, 0x1.29a94ee70d903p+3 +-0x1.5182a90d49125p+4, 0x1.2acc116e4b60ep+2 +-0x1.bc7710bf7a27ep+3, 0x1.ec9803518f9d9p+3 +-0x1.8582919f03b3p-1, -0x1.c046a60461089p+1 +-0x1.80343106ff8fcp+1, -0x1.921eb6ceaaed6p+2 +-0x1.63046b8b70e6bp+2, -0x1.be604f2e09c0fp+1 +0x1.99a4fc3fd02eap+2, -0x1.1e0739584046cp+3 +0x1.897cb4c1fcec2p+9, 0x1.b5e2c0c32c3fcp+1 +-0x1.1b41438ff7d34p+2, -0x1.1b4d0e48f414ep+3 +-0x1.f308df893e4f5p+2, 0x1.18aff5475e95p-1 +0x1.b928e35ef09a5p+3, 0x1.1b5fefed6c7ffp+3 +0x1.821f7471a0f7p+2, -0x1.eb9df23051a3p+2 +-0x1.ec063dc7df5c8p+1, 0x1.1015be2c7f26dp+2 +0x1.6f0a15a27ff9dp+3, 0x1.0b33d63585a16p+1 +0x1.6cd57c59c376bp+0, -0x1.135ae17caa408p+1 +-0x1.43ecd7c471c15p+3, -0x1.5bb71a17a7864p+1 +0x1.1e94836039b09p+4, -0x1.d9c63bf143e4ep+1 +-0x1.adc2b01a0cd21p+1, 0x1.ffc04fba47e4fp+3 +-0x1.228d3ba038e56p+2, -0x1.54bd53c259da5p+2 +-0x1.95c3de819cb5p+1, 0x1.59a9f58f175dap+1 +-0x1.9e3e6b9b6b154p+1, 0x1.04465e0744b58p-1 +0x1.0e531f7c2a2dbp+2, -0x1.748158631925cp+1 +0x1.491b845ec3236p+1, 0x1.e60dadfe270d4p+1 +0x1.e45819a41409dp+0, 0x1.872819beb6fb1p+3 +-0x1.7fda00de7aa93p+3, -0x1.e093bc0bc076fp+3 +0x1.6af2a4ba61974p+2, 0x1.a8943d695de58p+2 +0x1.1d231900027c2p+2, -0x1.0f1e6f67e1167p+3 +-0x1.67f5d1f969fd5p+3, 0x1.3021511e8e835p+3 +0x1.5adc55dcffc5dp+2, -0x1.ea0a25f88d085p+2 +0x1.772df52b4efb2p+3, 0x1.8f314856400f6p+2 +-0x1.334948d62819fp+5, 0x1.1e09bd4d7db7ap+3 +0x1.24494f112dd4bp+4, -0x1.94d7112f0b371p+3 +0x1.aa540861193b8p+2, 0x1.7831617879b54p+3 +-0x1.3979dfe72bfd1p+2, 0x1.83279266fcf04p+1 +-0x1.5b3f53dce7f77p-8, 0x1.a347ac4684d88p+0 +0x1.208d68cd6e70fp+2, -0x1.52f6114f00e4bp+7 +0x1.3ecfa36c907e8p+1, 0x1.0e9f3114c917fp+2 +0x1.e8775b2224edbp+2, -0x1.c2bfe5e3a9acep+2 +-0x1.5b6edf8350c95p-1, 0x1.007578df21719p+3 +0x1.294147f35791fp+0, -0x1.3d8e2022ca37p+1 +0x1.57221ac3f3209p+3, -0x1.5650d05ad569ap+3 +0x1.0281eeacfdf62p+3, -0x1.a4cfab6d74fcp+0 +0x1.5d306b771b864p+3, 0x1.1eb6f0aa92ecep+3 +0x1.3ff47fc996d77p+3, -0x1.67731e9bd989cp+2 +-0x1.bdedbc2ff563bp+0, 0x1.7d3cdbb82fb4p+0 +-0x1.c0aed5904475bp+3, 0x1.793606cd5d1ebp+3 +-0x1.1eafd71165317p+4, -0x1.1dda944193208p+4 +-0x1.9aa37013877fcp+2, 0x1.1cd1cbfc34ad5p+3 +0x1.c6998ec9b2272p-1, -0x1.219666a538ab8p+2 +0x1.7585ad1818d6cp-1, -0x1.410d355335a87p+2 +-0x1.1858357994cc1p+4, -0x1.7fff0b8d88b0dp-1 +0x1.3c529aef8d07ap+4, 0x1.ab651eff70e64p+2 +-0x1.5b808d951e165p-3, 0x1.1e21e08da8668p+3 +-0x1.4411232c10556p+3, 0x1.6f726ffc5cd23p+2 +0x1.1e0a5a08e9bd9p+3, -0x1.813344711a311p+3 +0x1.6f0425a91ad11p+0, 0x1.b071961f4b081p+3 +-0x1.456f45bd2e356p+1, 0x1.ce1f9400c251fp+1 +0x1.1667ac91d927ap+2, -0x1.cd38c79ff49c3p+3 +0x1.88a8931bea4d5p+3, -0x1.16aab93ec195ep+3 +0x1.63c04186f0e5ap+3, 0x1.4ba9c27eccd85p+2 +0x1.dbb172937dfc3p+2, 0x1.66e7ab4d3e3cdp+2 +0x1.bab49b5e65dacp+2, -0x1.a8c10a0d786bfp+0 +-0x1.8f5064c84c8eep+2, -0x1.c2b1f16cc2dcfp+2 +0x1.d73b770bf9133p-1, 0x1.d7e39da6f9e01p-1 +0x1.9e2e43cd0a234p+1, -0x1.a528e81316917p+7 +-0x1.1d7b4f391e57dp+0, 0x1.40a92f98c681dp-1 +-0x1.134a2603d5b32p+4, -0x1.431e782884e0dp+0 +0x1.6ab7a1143d7c8p+1, 0x1.d93e6e0ea404dp+3 +0x1.79f17925a56ddp+2, -0x1.43bcc265717fap+3 +0x1.2870d44cbb677p+4, -0x1.9d6da8ac6af48p+3 +-0x1.918f7bc0c5a7p+3, -0x1.6cb6efb49cb71p+3 +-0x1.46b859751b063p+4, 0x1.acf3ca10d01fdp-2 +-0x1.ade0d88f632f7p+2, 0x1.1daaa40912eecp+2 +-0x1.7ab2786ff8bedp+0, 0x1.942a8f6a49b1ep+2 +-0x1.75e170e860f12p+2, -0x1.ddd2fb2458bdbp+1 +0x1.448a1a5fa7e32p+2, -0x1.1efad85cba307p+1 +-0x1.16a6dbf948431p+4, 0x1.87d66957e80e8p-3 +0x1.ebd28fba40539p+1, -0x1.2afef10bcdbfep+0 +-0x1.264b1d20fa1c9p+3, 0x1.b73a78b9fb254p+2 +-0x1.7c1042cea3f56p+1, -0x1.e3d7258525d81p+1 +0x1.61901536f10ccp+3, 0x1.4fe25c106703bp+4 +0x1.c9030ce7e2445p+2, -0x1.4028c16f243c7p+0 +0x1.f5f1e9c4771c8p+2, 0x1.5ec656562a06ep+1 +-0x1.2dedc414b2db1p+4, 0x1.e44f77e835657p-1 +-0x1.11fe5a29c5089p+2, -0x1.1be512c3340cep+3 +0x1.7c7a0cfff2f12p+2, 0x1.d05599b55b466p+3 +-0x1.b75d3de77c454p+1, 0x1.6fb1ee0010094p+3 +0x1.37c8097025728p+3, -0x1.b4e542f3e6eefp+2 +0x1.652323804fc9p+5, 0x1.3fe51ebd72804p+3 +-0x1.6d3589609e72dp+1, 0x1.00a8278518c11p+3 +0x1.0ddbae61dfba8p+3, 0x1.caaf92cd566e1p-1 +-0x1.c3c814774193p+7, -0x1.23818e357969p+3 +-0x1.76f71cf4a0db6p+3, 0x1.660465ca3191ap+1 +0x1.662970ff788edp+4, 0x1.e56250949555ap+0 +-0x1.4e27e2bfdf8b8p+4, -0x1.c8525b3f62ff1p+1 +0x1.2eba9beab3dd2p+3, -0x1.4e84e4145dcabp+4 +0x1.ac44af617e5a5p+3, -0x1.d9f5fd5e3b98dp+2 +-0x1.b0a2f161f346bp+3, 0x1.4655c522f4633p+3 +0x1.228a96f4d4189p+2, 0x1.6199aca33edeap+3 +-0x1.5ab13a354e425p+1, 0x1.495a69075fae7p+4 +-0x1.591bc9f30f049p-2, 0x1.3fc44b482ce14p+2 +0x1.0a705d27c77bcp+4, 0x1.f7251a46b357dp+1 +-0x1.41f6dafb9ef5p+3, 0x1.871319ca30f02p+2 +-0x1.1026bd4afac0cp+2, -0x1.bd0c5cee0fe38p+2 +0x1.dfb38aa538a53p+0, 0x1.e6eb5723ec784p+2 +0x1.b3ea8c960329ep+3, 0x1.fd572de330025p-1 +-0x1.4abf9d27ce175p-1, -0x1.66f044d633997p+1 +0x1.a28212ed35b61p+2, -0x1.cf39307b19711p+3 +0x1.bc0cb1c69935ep+3, -0x1.975f94fac3effp-3 +-0x1.fd90720c1beaep-1, -0x1.2cef3d7af541dp+3 +0x1.c3688f38e8601p+5, -0x1.c594975cb0545p+3 +-0x1.a0b9107c5e255p+2, -0x1.18ca3f38a1947p+3 +-0x1.c55080a477e3dp+1, -0x1.7a182a3c49ac7p+1 +-0x1.8a6a19217a1b6p-2, 0x1.1b19f240e6a38p+4 +-0x1.266510d19569cp+2, 0x1.adcbb1764ac08p+3 +0x1.28931f560fad6p+2, 0x1.571fda82c5462p+2 +0x1.7436b8333b073p+3, -0x1.b4119b4fb5493p+2 +-0x1.37fe60e2ebe28p+4, 0x1.c84c94682bc2dp+2 +-0x1.79676c3ceca99p+4, -0x1.c91211a0aacfdp+5 +-0x1.457fee40b57dap+3, 0x1.eacde8c8f4e6cp+0 +0x1.e1c49ad1aed63p+2, 0x1.b7532298a3b43p-1 +0x1.690d97218b31ap-3, 0x1.7bb7e1522ce7cp+3 +0x1.b3a561c810cd7p+4, -0x1.b7102a09d95ep+1 +0x1.1e52e1116714p-2, -0x1.ded02fac88fc7p+3 +0x1.8cb1154966ebbp+2, -0x1.077a74ab37314p+3 +0x1.36412b9ae5fa1p+2, 0x1.6dc105633d1c9p+3 +0x1.93915d9ace996p+3, -0x1.896f161f6b103p+3 +-0x1.f4517616536dcp+0, -0x1.b6057a61b138p+3 +-0x1.e37dc8e6bdac8p+1, 0x1.0d4574378bfd4p+1 +0x1.0bd18b3d71a93p+5, 0x1.9cc9d3f475d92p+0 +-0x1.35e03ecdaa704p+0, -0x1.6cc5948ffb504p+1 +0x1.a79cfc110f4f4p+2, -0x1.66d6c97335b62p+1 +0x1.dfca4334b45fap+3, -0x1.78ce2660467c9p+3 +-0x1.8ecfd5aed904fp+2, 0x1.df968d3aee996p+6 +-0x1.3f29ba8a4a1b9p+2, 0x1.4762dfea6a88ap-1 +0x1.8fef53f9bdap+2, 0x1.29b4a86f03164p+0 +0x1.1742575d5c5c8p+3, -0x1.2675c7c3b5781p+4 +0x1.3cb0a147d2fc1p+1, -0x1.407c95a86d766p+2 +0x1.de337ff36d958p+3, 0x1.104ebc42334aep+2 +-0x1.585d80a879b44p+2, 0x1.a929c62fb048fp+2 +-0x1.1e1865b6cad9ep+3, -0x1.adb1bb5f7537cp+3 +-0x1.e2e80c40c5541p+3, -0x1.45c5abc7a8e08p+3 +-0x1.11a8dd1e9c55ap+1, -0x1.0b9769d3a1a07p+2 +0x1.aafdbd53a0cdfp+3, -0x1.21ab06c39e0a2p+1 +0x1.8a9fc40bc1b4ep+4, -0x1.88ac68f929157p+2 +0x1.7baebd9c8d84dp+2, -0x1.4bb9d21c57aaep-2 +-0x1.8ab4fd0c980d9p+4, 0x1.e674991d0a27ap+1 +0x1.2e225159ccfadp+3, 0x1.c5f90e47d36b2p+1 +-0x1.b7c139b7e5b5cp+1, 0x1.ab523e210a62bp+3 +0x1.607a396f41d24p+2, 0x1.8b9c8554ec039p+3 +0x1.7b26554af774fp+1, -0x1.2e541a90d3242p+4 +-0x1.758749fdfa875p+4, -0x1.226f2a477a851p+3 +0x1.0d1d04f2135d3p+4, -0x1.0a1e9812dca5ap+4 +-0x1.c191a8279dbf6p+0, -0x1.728572c7e62fp+3 +-0x1.7cd6a42ab33d1p+3, -0x1.658270d81f303p+2 +0x1.4d1f48c762ea9p+5, 0x1.5b62b489fc743p+2 +-0x1.925fd785b651ep+7, -0x1.a25c8f3803cfap+3 +-0x1.e6fa1b12eb579p+3, 0x1.c150a3b073099p+3 +0x1.fce4b9ce115b4p+3, -0x1.211040f0b01ddp+3 +0x1.d2b22eab84361p+0, 0x1.6233d2ae01bdcp+2 +-0x1.902de42c712e4p+1, -0x1.fdf1e82715167p+3 +-0x1.2b3f1c78b210ep+4, 0x1.7849a9c3ac16bp+2 +0x1.a7ae4cfab7a48p+2, -0x1.25130992bcce3p-5 +-0x1.097dbe9dbb42fp+1, 0x1.5bb39f16c2c9fp-1 +-0x1.fac7856bb8c09p-3, -0x1.2eda6f9a5423fp+3 +0x1.a8a60ececb23cp+2, 0x1.ad03d229107d2p+0 +-0x1.0f9ba4b282916p-4, 0x1.17d8079078da4p+3 +-0x1.874556d525facp+1, -0x1.58b8240aa85bap+3 +-0x1.7699b27ba99fap+3, -0x1.0a4c8819751a5p+4 +-0x1.a2e8632e8305dp+2, 0x1.1961012188c35p+3 +0x1.468b7df7e33c6p+1, -0x1.48c9945bbd205p+1 +-0x1.f5a2676a927a3p-1, -0x1.38a2425085ff2p+2 +-0x1.834034829a061p-6, -0x1.c68b1b3d93e24p+3 +0x1.847901ff0c391p+1, -0x1.fd8fa1930a726p-1 +0x1.7154d061cfc83p+3, -0x1.18913380d4903p+3 +0x1.4b0cf6e5a30a7p+3, -0x1.d471b611402b4p+1 +-0x1.8541a3a161a1ep-1, -0x1.571fed7d973dep+4 +-0x1.4a461ff1d8bc5p+1, 0x1.884107f964c89p+4 +0x1.a11429f2239ecp+3, 0x1.9885352982ca4p+3 +-0x1.31d525559e0a9p+4, 0x1.1185282a43c9cp+2 +-0x1.a420e8f41dc59p+1, -0x1.0beb246d8cbdp+4 +0x1.2cfc4bc63d3ep-1, -0x1.1a5b343dc85dp+1 +0x1.730edf4041446p+1, 0x1.b4b9c6ea570bcp+3 +-0x1.b3d5220ff4e05p+1, -0x1.432a118a61c7cp+2 +0x1.68d027c5e6b99p+1, -0x1.e3b50ab730d48p+3 +-0x1.0590a25ddad94p+2, -0x1.398b1f95ec9cap+3 +0x1.42f1fcab0cdbp+3, 0x1.dae61c71a12c3p-2 +0x1.beb9c847981e5p+1, -0x1.3c51a2d62a3ep+3 +0x1.407f86cb189a6p+3, 0x1.07a7f7af910ap+2 +-0x1.2e72db8eab90fp+0, -0x1.9a218a12aec5cp+3 +0x1.720fe7b7939dfp-4, 0x1.4ac92abcd23b3p+2 +0x1.5faf78d741b53p-1, 0x1.be693f31c4723p+1 +-0x1.3a91bea9c24c2p+3, 0x1.901872728ef45p-1 +0x1.8ab69cb0a89b4p+1, -0x1.cd7951c19fe06p+1 +-0x1.3e65013ee3168p+2, 0x1.f3d3121b6dbb5p+2 +0x1.01e4daea2e45fp+1, 0x1.67dbc2b7e672cp+3 +0x1.4dd7142e03ec5p+2, -0x1.a5c341525bb96p+1 +-0x1.ef580debe162dp+6, -0x1.b1143cf6ce2dap+1 +0x1.0ff9961c5e8d2p-3, 0x1.9038293f2fc96p+2 +-0x1.39097162c8098p+3, 0x1.c0fccd82b7bc3p+0 +-0x1.40d95f951ac7p+3, -0x1.ae5f44acf16c5p+2 +0x1.7b1260b83cffdp+1, 0x1.baaae1f9cb705p+1 +0x1.4f74943fe6283p+1, -0x1.d008f35ba64bep+2 +0x1.28dcafcd5399ap+4, -0x1.1f16eeeabb2f4p-2 +-0x1.687df4732fcd6p+1, -0x1.6bdded3eaee3fp+2 +-0x1.786e307738641p+1, 0x1.60ed5d673a7a6p+1 +0x1.01b61cba97001p+2, -0x1.5e015a9aa64ccp+3 +0x1.6dde7ae682745p+2, 0x1.35fb35334d135p+3 +0x1.95fa6507a7f7bp+3, -0x1.c20bd3b344d56p+2 +-0x1.cea733e981b1ep+2, 0x1.a7b992a5cfdb8p+2 +-0x1.10fa8c31f821dp+3, -0x1.8c2038e94eb67p+2 +-0x1.97abb5ce8be36p+2, 0x1.11a1a935d2787p+2 +0x1.31677114e25e5p+3, 0x1.1eaced8866cbcp+4 +-0x1.7514daff5c644p+2, 0x1.a2c652e1f7154p+8 +-0x1.230df8ca2e6eep-1, -0x1.62a3ad55b9025p+3 +0x1.90519759096d3p+2, -0x1.6b2bfb3747f25p+0 +-0x1.4e3afed4ab843p-2, -0x1.9444116ef6bddp+3 +-0x1.9c3d5829302f4p+7, 0x1.a5833780fa154p+3 +0x1.7bdfd2b56631cp+3, -0x1.14b36cf361fb3p+4 +0x1.2b051dcd7ff75p+3, -0x1.9176c22b77459p+3 +-0x1.a5c622eb7bf25p+1, -0x1.a2967ec18b53p+2 +-0x1.79ec2fb9da0d3p-1, -0x1.01d763c9714acp+4 +-0x1.e2390ed3cb714p+2, -0x1.d6918ff8e981cp+1 +0x1.7e900c11b367dp+2, 0x1.01cdc59a9b95ap+2 +-0x1.289a4632eb3bep-1, -0x1.beaef9ca9e965p+1 +0x1.808fa8db9b3f6p-3, -0x1.fe172362047e7p+3 +-0x1.89af5b300f677p+3, -0x1.1cfefeaeeac7bp+4 +-0x1.ba7c77baa9b23p+1, 0x1.ce438ddb85829p+0 +0x1.36f882091ddefp+0, -0x1.8fc137ea46f47p+2 +-0x1.b3f6650790fb2p+3, 0x1.47d335d04d824p+2 +0x1.9b746c39b7859p-2, 0x1.61c742f7550cap+4 +-0x1.f2d696f53f45dp+0, -0x1.79f7751123d46p+3 +0x1.b53c0c5994798p+2, 0x1.32144b46dc221p+3 +0x1.bf9b6075c95d3p+2, -0x1.be7a5b12daafep+3 +-0x1.db777f4875742p+2, -0x1.8ed5560e5349fp+0 +-0x1.37a545858a1c9p-2, -0x1.1c0887cfe4b9p+2 +-0x1.11104ddc0f6eap+1, -0x1.3b492619f44f7p+1 +-0x1.0219830f28dd5p+3, 0x1.be99b30800b67p+3 +-0x1.20deca89d920dp-3, 0x1.8bc724016cde5p-4 +0x1.5d654833b68bdp+2, -0x1.0db27f778d55ep+3 +0x1.8f7c2929d1f0bp+1, 0x1.6db9cbe82fdb9p+3 +-0x1.959dd3dac91dbp+1, -0x1.627d6ffe92641p+3 +0x1.582abf54396b9p+2, 0x1.5658eda72c32ep+3 +0x1.12f3534862893p+3, 0x1.c42fc370508fap+2 +0x1.b30b3b7f78579p+3, -0x1.9e373a47f916p+4 +0x1.89431cf2ccb02p-1, -0x1.7ddb8e6809e4fp+2 +0x1.cf7555df8c765p+2, -0x1.800eba9143b03p+2 +0x1.231fe85d04a38p+3, -0x1.f7fb3195effb9p+4 +0x1.7c86d95265dddp+3, -0x1.ffd1613fb04f4p+2 +0x1.2225bf8e3d204p+0, 0x1.66fa9fc1afaacp+2 +-0x1.7111c28a0d4c9p-2, 0x1.df5fa1436030cp+3 +0x1.162c7db22b14ap+3, -0x1.606b6ef5b0cd3p+2 +-0x1.22d08e1d3d8c7p+3, -0x1.3ec647e84b391p+3 +0x1.af2dd075fee91p+2, -0x1.0774c3ec2ef6ap+2 +-0x1.24b82e5d58793p+2, -0x1.23d0b9b45ea16p+4 +-0x1.fed3f8d0894a5p+1, 0x1.36c39d9358cf2p+3 +-0x1.000285e8a4b02p-5, -0x1.2a209bb06879ap+1 +-0x1.fd6dfbe5bda35p+2, -0x1.54f6d2f999076p+3 +0x1.73dd9e0ed7899p+3, 0x1.6c06f9dbac2b5p+3 +-0x1.8eeb973aec3ap+0, 0x1.0b15b48e4e09dp+2 +0x1.dc191512b3a8bp+2, -0x1.de5ba8614530ep+3 +-0x1.7e6f132a336d8p+3, -0x1.5f6341e998013p+2 +0x1.54557daa04c9ap+1, 0x1.fb66cef56fcebp+0 +-0x1.8c0c5664359f1p+2, -0x1.796a3151e008dp+3 +0x1.32dc65dfb581ep+3, -0x1.f27e8b134bb12p+0 +-0x1.3a253d21cb90bp+3, 0x1.33fb4a74e6e12p+7 +0x1.a3fa0ad679c64p+1, -0x1.54e3405bbca17p+1 +0x1.0a047cad44c8cp+3, 0x1.9b0cc847fbc79p+3 +-0x1.23728756c2c2cp+5, 0x1.7bd7d3d0ce6ep+2 +0x1.60ea527215f2cp+0, 0x1.87d393a996937p+2 +-0x1.e88bafddf4d35p+2, 0x1.5733996d98545p+2 +0x1.5c4c6a1af5035p+1, -0x1.ab4d7a702cc27p-1 +-0x1.38f7eece75077p+4, 0x1.6e684ed175f1p+2 +0x1.060a6ff9dcb6bp+2, -0x1.897801525bb47p+3 +-0x1.45c984295f1ffp+1, 0x1.7042a726b0dc5p+2 +-0x1.049268fec5f18p+3, 0x1.5220330119b86p+4 +-0x1.83c6d8b2f49f7p+3, -0x1.6064bb5d770b6p+4 +-0x1.5a6c02cfbea24p+3, 0x1.547ec8722d7bap+7 +-0x1.4cbb721643163p-1, -0x1.8ac203676a2fep+2 +-0x1.8198092951d2dp+0, 0x1.4123f7fd3a0a4p+2 +-0x1.db97f6042e982p+1, 0x1.d706a1c0a65dep+0 +-0x1.7752346d1581fp+1, -0x1.6c462ca3f669bp+2 +-0x1.efe5e2e041f99p+6, 0x1.8ca11c21f1b5dp-1 +-0x1.ecdf6e7560e09p+3, 0x1.2d4bcf8b90832p+3 +0x1.be32783999145p+0, -0x1.5fc5865befdbep+2 +0x1.94abe5681eba7p+2, 0x1.ba424b000c6bdp+2 +0x1.381430ca27d92p+2, 0x1.c44fa548059e3p+0 +0x1.5ccbf76d5db33p-2, 0x1.740292c799dap+9 +0x1.caf37934812c9p+1, -0x1.f337e9b532dap+4 +0x1.2b6f95449e8b5p+2, 0x1.80bbac44c1463p+3 +-0x1.6b2610da32edfp-1, 0x1.1a3138059767fp+3 +0x1.7068460c1b02fp+3, -0x1.e34443fc6524dp+1 +0x1.223b4fd83752fp+1, 0x1.6b587d62c24f7p+3 +-0x1.6dafa8e1b5084p+1, -0x1.80620002c4546p+4 +0x1.3ba76b0e98a33p+3, -0x1.7e5bcde28830bp-1 +0x1.a8b9c96e05a9ap+1, 0x1.87147b41647f5p+3 +0x1.3ffc143f57293p+2, 0x1.92e749208accp+2 +-0x1.be8c0aa0c8004p+3, 0x1.c91783b20c38bp+2 +0x1.3ab62bcdc03cbp+3, 0x1.0b88e3795d571p+2 +-0x1.a155668416098p+1, 0x1.7c8e23dffa64ap-1 +-0x1.b0ad1fbd6e2fp+4, -0x1.e720c51950933p+1 +0x1.c2614525636cap+4, -0x1.bc11da6990cb6p-1 +-0x1.1c13ff8bcb1cep+3, 0x1.ae5d001b417b4p+3 +0x1.2fac3ef736a63p+3, 0x1.669698c289977p-1 +-0x1.a67bf70f60ef2p-2, -0x1.b3916f8ba4a3fp+2 +0x1.3be0148b987e6p+3, 0x1.831e3f923aa63p+2 +0x1.d696041d08cfbp+2, 0x1.5750660e95c91p+3 +-0x1.35b95b7ae6557p+0, -0x1.7e65ab649afc3p+0 +0x1.1ea457c28bd04p+1, 0x1.68649f22b57c1p+0 +0x1.fc4dfb6eb7f62p+3, 0x1.f23d48bbaba2ep+3 +-0x1.ea16fa92529eap+1, 0x1.fb22da24cf3cfp+1 +0x1.fb64dd87f8e47p+2, -0x1.8563c5bb79909p+4 +-0x1.45f6e42919268p+2, -0x1.73c8a3fe1fed8p+2 +0x1.741731544a53bp+4, 0x1.9c5e80cf791b5p+8 +-0x1.5c33c2c571fc5p+6, 0x1.f746731793fcdp+2 +0x1.a781ec9044d54p+2, 0x1.11c2b5059816cp+3 +-0x1.0e265ed01c579p+3, -0x1.1d902d324710ap+7 +0x1.0576d7c55e867p+3, -0x1.b5149b9126b52p+3 +-0x1.69330e8adeccbp+1, -0x1.740a6222317aap+0 +-0x1.c676c2bcd6655p+3, -0x1.bd32c8b7c78bbp+3 +-0x1.8cc66825dbd8ep+1, -0x1.03f93575d0c7p+4 +-0x1.fe5a0fb347535p+3, -0x1.c70b9d24f393bp+1 +0x1.00e0f55ba24e2p+1, 0x1.3b46fe80b2c4bp+2 +0x1.57104cc293051p+2, -0x1.9afe4e8d89aa3p+0 +0x1.0e6ce0dc0768dp+3, -0x1.7a77944338871p+2 +-0x1.4cfc4836dee31p+2, -0x1.2574aa5da7c48p+1 +-0x1.bdd0de1275942p+2, -0x1.940430c1ffa25p+1 +0x1.4e674db6030c1p+2, -0x1.c6879941e95e2p+2 +-0x1.07ecb08a5405fp+0, -0x1.88f2e552bfe75p+4 +0x1.decdd8afdff35p+1, -0x1.799f5fa9dcbd3p+0 +-0x1.12fd69674de77p+3, 0x1.45f680a4d58e6p+2 +-0x1.7d968270fe9fp+2, -0x1.888a7e3ed09e2p+3 +0x1.1276c508b5049p+3, -0x1.8b0b4bc6454dfp+1 +-0x1.da823e71b51f2p+2, -0x1.e7bc4853570ccp+1 +-0x1.1179bf7a6d345p+3, 0x1.1f7baa7a4df53p+4 +-0x1.35d4cffac725bp+3, 0x1.530a9fe09c6b3p+3 +0x1.ba5eadf278ebcp+6, 0x1.3066fe039654ep+3 +-0x1.0fd2c839161f4p+3, -0x1.79719eb925f95p+1 +0x1.3963c8804ad54p+2, 0x1.0fe7dfb6eed16p+3 +-0x1.0554bda7997b5p+3, 0x1.952cb0e886d86p+2 +-0x1.2cc7cb347c9c9p+3, 0x1.1f987a0587dafp+4 +-0x1.1a00ef827eff2p+2, 0x1.ce8b857325d1dp+1 +0x1.dcf5edd9245b7p+3, 0x1.10c5f56c6235fp+2 +-0x1.7dc398bc06c22p+3, 0x1.64710c2e5e859p+1 +-0x1.924c035d6e651p+3, 0x1.2a24c003d8fa2p+2 +0x1.46c08ff58e55ep+1, -0x1.4b8986fa5f51fp-1 +-0x1.7e107a47b7157p+3, 0x1.c3dd5072e7787p+1 +-0x1.efd37dbc7c8bbp+2, -0x1.a3a51df52f2fbp+2 +0x1.819f2eb313c03p+3, 0x1.25f43fa634cfep+1 +0x1.059c04175e453p+2, 0x1.57ce4a6f5e256p+3 +0x1.86d81c34eba15p+3, -0x1.85023e045936cp+1 +0x1.3b67d10f22186p+3, -0x1.86f29b7ac679bp+1 +-0x1.9a009250c6814p+1, 0x1.42106d75656f1p+3 +0x1.b80e180d9f385p+3, 0x1.240dcdff50f4bp+6 +-0x1.32bfde18bca31p+2, -0x1.e3fe444e0a683p+3 +0x1.a0d08ff8bb611p-1, -0x1.1759f6d6e0cdp+4 +0x1.dc7498e0b5ad8p+2, 0x1.77c1fb45e9518p+9 +0x1.44494e39f313fp+7, 0x1.ed95b3ebfca79p+0 +-0x1.494c7e6c45b36p+2, 0x1.6d9f2d3b2548bp+3 +0x1.b0b34c3df5043p-1, -0x1.956bc6248872cp+3 +-0x1.6f0035fc3f013p+4, -0x1.650a32bc08995p+4 +0x1.0ff5592cbc3d7p-4, 0x1.55fd9f9bacb68p+3 +0x1.22124e398dc63p+2, 0x1.a81bd57379765p+8 +-0x1.3b6731b19bff4p+3, -0x1.6a1fae943d351p+3 +-0x1.9ad70afd50d66p+3, 0x1.c109baba09c35p+2 +0x1.525f44eb93366p+3, 0x1.7505df80936e6p+3 +0x1.bb94d85f48192p+3, 0x1.591e9a6eb1e76p+3 +0x1.e90c825a0a673p+2, -0x1.020a49c429368p+0 +0x1.e8e857ebf4bafp+0, 0x1.57b21ce9602c1p-3 +0x1.21ba348baef8fp+3, -0x1.1ced9cf848428p+1 +0x1.3e17cc59aa378p+3, -0x1.e401575662f1p-3 +0x1.f4f284f00b56ap+2, -0x1.8a0a41c0ac75bp+1 +-0x1.77c71e150bad5p+2, 0x1.1d1dace3fbea5p+3 +-0x1.3f67c6ea4675fp+2, 0x1.bd5c916ae9d86p+3 +-0x1.46fb77ff68ae3p+3, -0x1.82d4f0685d8cap+3 +-0x1.890c5abaa25bp+3, -0x1.2c1eb9a7f34afp+3 +-0x1.167720a5a654ep-2, 0x1.e82bbac91df68p+1 +-0x1.066ffaeb6de43p-2, -0x1.c2682ec9ca0e3p+4 +0x1.831b5e8d91234p+1, 0x1.c44a15cda53f8p+0 +0x1.35cb61826e4p+2, 0x1.f2aac60d38219p-1 +-0x1.16a50d2cbe50bp+3, -0x1.6981b97f260e7p+2 +-0x1.8f76f20427276p+2, -0x1.7f76a26de8fcap+1 +-0x1.7d5dfd0b8dc6dp+2, -0x1.d4fa5f213f0f6p+2 +-0x1.c0fddbbb5fdb4p+2, 0x1.14933c96a72aap+3 +0x1.21bf1f2a69ea4p+3, 0x1.54d5fc3e8cdf3p+1 +0x1.59350d01e6fdap+0, -0x1.0e5fa1345e33bp+3 +-0x1.e6b3b818c636p+0, -0x1.5ddc17602151ep+4 +0x1.01acf18d16c7cp+3, 0x1.ab5da58452316p-2 +0x1.728c435626faep+2, 0x1.62811b1f9a235p+3 +-0x1.336dfcd01de18p-3, -0x1.14d46c2f65a8bp+4 +0x1.2eb6cf2cecb14p+4, 0x1.4d71300bd2cf1p+3 +0x1.0045e96c532d8p+2, 0x1.0ce745b73f7d2p+1 +-0x1.903df76e71d94p+1, 0x1.5def40ed8e50cp+6 +0x1.d08a81675010cp+1, 0x1.e1772af714521p+1 +-0x1.1301980122dcap+3, -0x1.cbdd5ab5090cbp+3 +-0x1.c7b36599a270dp+2, -0x1.be235b060db3dp+6 +0x1.56e11c3bbe043p+1, -0x1.e1422071f4a2cp+3 +-0x1.fa64b004a39f2p+1, 0x1.ab70c90989101p+0 +0x1.16e55946f43d2p-6, 0x1.a7fb4dd502967p+4 +-0x1.0f7ebe62b8659p+1, 0x1.368ec67c58d47p+1 +-0x1.de17e760e7cc2p+3, -0x1.814ec35545238p+3 +-0x1.6201036b2acd8p+9, -0x1.4f7df129d51d3p+4 +0x1.19724096c16bep+2, -0x1.bd6955ad0e855p+0 +-0x1.ad8b2c0537876p+0, -0x1.a24fea33ddc4bp+2 +-0x1.88ce91aaee83dp+1, -0x1.575684f54659dp+3 +-0x1.cf1181ac70616p+3, 0x1.28eea88c3940cp+3 +-0x1.321170e44ea33p+4, 0x1.ef19d189c6004p+3 +-0x1.49a7de18d5a22p+8, -0x1.61e3752b31032p+1 +0x1.6d9d4df2ccac5p+7, -0x1.5098d19f206f1p+3 +0x1.39c3293168156p+2, -0x1.863393fc7aa98p-1 +0x1.a1092eb929ddfp+2, -0x1.fc42ff5c187d9p+4 +0x1.0ebf896441b15p+3, -0x1.e273523285ad3p+0 +0x1.1e36d9d6acffbp+3, 0x1.237ed2c8ae21dp+2 +-0x1.0ebf9202e9b62p+2, -0x1.e8628ad24f228p+2 +0x1.e008361ab8f02p+3, 0x1.ef615d1f41561p+1 +0x1.de38f35255aaep+0, 0x1.ed269fddb1da6p+0 +-0x1.f6bdd7b522ac4p-2, 0x1.3595a722d8e76p+2 +-0x1.b6506d6d707a6p+1, -0x1.daa15f621ee42p-1 +0x1.bf38f149902e2p+3, -0x1.09fe7beddc904p+3 +-0x1.119fe0b67654p+7, -0x1.972f07f191ecep+1 +0x1.c03f0621b9bebp+1, 0x1.97c661d4296f3p+1 +-0x1.42e0a7a2109d8p+2, -0x1.506eebdbd2d39p+1 +0x1.5066b8acf8dcfp+4, -0x1.f1b300ecfbe82p+5 +-0x1.af9ef133508fp+1, 0x1.fc4201610c268p+3 +-0x1.88238094a0dc1p+3, 0x1.1924489fd41a5p-5 +0x1.280a269b077fp+3, -0x1.18e9a45c8059bp+1 +0x1.5edc53c66af8ep+3, 0x1.dde46304e8e3cp+3 diff --git a/sysdeps/x86_64/fpu/libmvec-hypotf-inputs b/sysdeps/x86_64/fpu/libmvec-hypotf-inputs new file mode 100644 index 0000000000..037f8ad743 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-hypotf-inputs @@ -0,0 +1,4100 @@ +## args: float:float +## ret: float +## includes: math.h +# Normally distributed random inputs arg1;arg2 in ranges (-3.4e+38, 3.4e+38);(-3.4e+38, 3.4e+38), means = 0;0, standard deviations = 10;10 +-0x1.554044p+1, -0x1.66c498p+2 +-0x1.ea688p+3, -0x1.91417ep+2 +-0x1.8a5fa6p+1, 0x1.43456ap+3 +0x1.d5fd5ap+2, 0x1.5c4e8cp+4 +0x1.830c02p+2, -0x1.3b3a6ap+2 +-0x1.d32ceep+3, -0x1.8382dap+3 +0x1.63e878p+4, -0x1.1f87dcp+1 +-0x1.0e3eap+3, 0x1.2fb7fp+4 +-0x1.76ab78p+1, -0x1.0f485cp-4 +0x1.669f14p+2, 0x1.50885p+3 +-0x1.381b3ep+2, -0x1.f522c2p+2 +-0x1.e8dedep+0, 0x1.2d0952p+3 +-0x1.15328cp+2, 0x1.c011b2p+3 +-0x1.4497bap+3, -0x1.7155bp+1 +0x1.64693ap+3, -0x1.50befcp+3 +0x1.f9b198p+0, 0x1.05dbacp+3 +0x1.f17b4cp+0, -0x1.d2423cp+3 +0x1.cf35fep+0, 0x1.50d462p-1 +-0x1.ee88eep+2, -0x1.bed2d6p+1 +-0x1.928906p+1, 0x1.d07ccap-2 +-0x1.8b1f18p-1, 0x1.2d7e82p+3 +-0x1.5c6226p+3, 0x1.f6057ep+1 +0x1.a61332p-3, -0x1.a0e648p+3 +-0x1.de858ap+0, 0x1.db9722p+2 +-0x1.84e574p+3, -0x1.99a474p+1 +0x1.1892eep+3, -0x1.45195p+3 +0x1.d19ce4p+2, -0x1.51cb4ap+4 +-0x1.f6acdap+2, 0x1.77327p+1 +-0x1.2ca064p+3, 0x1.09fcf8p+3 +0x1.abd376p+3, 0x1.75627p-2 +0x1.6feca4p+1, -0x1.de3b4ep-3 +0x1.a638b6p+1, -0x1.c84d5cp+3 +0x1.7a94e2p-1, 0x1.1f30dp+3 +0x1.3597f2p+1, 0x1.96560ep+0 +0x1.19f624p+1, -0x1.115fe4p-1 +0x1.3bea9ap+3, -0x1.3d6c02p+3 +0x1.33a842p+0, 0x1.4db5b2p+2 +-0x1.5f2064p+2, 0x1.7bb086p+1 +-0x1.51738ep+2, -0x1.25699cp+9 +-0x1.3c172ap+0, -0x1.0964f8p+0 +0x1.c92b8ap+8, 0x1.e0431ap-1 +0x1.c9e804p+2, -0x1.683a8cp+3 +-0x1.faf0cap+1, -0x1.9c9b86p+1 +-0x1.0d0c32p+2, -0x1.4b2382p+1 +0x1.3c522ap+3, 0x1.2c9092p+3 +0x1.295ca4p+7, 0x1.4b33e6p+4 +-0x1.85f622p+2, -0x1.231314p+0 +-0x1.f0ef94p+3, 0x1.1c945p+4 +0x1.b04b1cp+0, -0x1.3242f2p+0 +0x1.743406p-2, -0x1.19d4fap+3 +0x1.214e5ep+4, -0x1.11ad08p+3 +-0x1.9356a6p+2, 0x1.64eab6p+3 +0x1.e1279cp+1, 0x1.01096ep-3 +0x1.01cc28p+3, -0x1.6e7ca4p-1 +-0x1.0680acp+2, -0x1.d5793cp+2 +0x1.d4c674p+1, 0x1.0a8f5p+4 +-0x1.3a54fap-2, 0x1.06405ap+3 +0x1.7eaa24p+2, 0x1.b7f32cp+2 +-0x1.979894p-1, -0x1.c3f60ep+3 +-0x1.548e3cp+3, -0x1.46b70ap+3 +0x1.a6929p+2, -0x1.c99a94p+3 +0x1.310fap+4, -0x1.ee6fep+2 +-0x1.0a39eep+3, 0x1.eb1886p+1 +0x1.d25278p+2, -0x1.514ed6p+2 +-0x1.ff7cc6p+1, -0x1.4ade2ap+1 +0x1.763f5cp+3, 0x1.4cf20ep+1 +0x1.710cb4p+4, -0x1.71ea56p+3 +0x1.87e2bp+2, 0x1.acbdf8p+3 +-0x1.36b382p+4, 0x1.00be9ep+2 +-0x1.f37092p+2, -0x1.38e306p+1 +-0x1.d89746p-5, -0x1.61a146p+2 +0x1.4a98fp-1, 0x1.c5bf66p+2 +-0x1.bbb92cp+1, 0x1.12044ep+2 +0x1.0ffc1cp+2, -0x1.e60f74p+6 +-0x1.0bbc88p+3, -0x1.3d69aep+1 +0x1.211876p+2, -0x1.36369ap+2 +0x1.6da0a2p+3, -0x1.9dc37ep-1 +-0x1.3bf064p+3, -0x1.26d8ccp+3 +-0x1.5f8584p-1, 0x1.4957cap+9 +-0x1.0b3cep+2, 0x1.520918p+2 +-0x1.96b004p+3, -0x1.0525f4p+4 +0x1.4d408ap+2, -0x1.8607eap+2 +-0x1.98ece4p+3, 0x1.e3692ap+3 +-0x1.16ca9ep+1, 0x1.ca4164p-7 +0x1.0bd934p+4, 0x1.cfb14ap+0 +0x1.bd98bep+0, -0x1.c48bfp+0 +-0x1.a83238p-2, 0x1.00f4eap+2 +-0x1.7712c4p-3, -0x1.2399f4p+2 +0x1.e1f148p-2, -0x1.93da3ap+0 +-0x1.8c7952p+2, -0x1.f5ab8ep+0 +-0x1.687decp+4, -0x1.f2d0b2p+2 +0x1.e1e64cp+4, -0x1.3ae286p+2 +-0x1.3767e4p+3, -0x1.d30f88p-2 +-0x1.23746ap+3, -0x1.a7f258p+2 +0x1.20e16ap+3, -0x1.e7e782p+1 +-0x1.013956p+4, 0x1.dd038p+3 +0x1.13e3a6p+4, -0x1.3bd47ep+3 +-0x1.f135dep+1, -0x1.0530d8p+2 +0x1.9883b2p+3, -0x1.0cd6b2p+2 +0x1.c3f888p+3, 0x1.57fc88p+1 +0x1.b9a55p-2, -0x1.60a844p+4 +-0x1.bdd8d8p+2, 0x1.158358p+0 +0x1.8b0b8cp-1, 0x1.a37254p+2 +-0x1.ab1accp+4, 0x1.b1ae48p+1 +-0x1.515fb2p+2, 0x1.002122p+4 +-0x1.3860dap+3, -0x1.793ebep+3 +0x1.6191bep+2, 0x1.e68bc2p+0 +-0x1.40de5p-2, -0x1.579064p+3 +-0x1.18388ep+4, -0x1.2bb4e8p+4 +0x1.8e3ef8p+2, 0x1.ab82d8p+3 +-0x1.1c32a8p+3, -0x1.2adfd4p-2 +0x1.35f5e6p+3, 0x1.1904cp+0 +0x1.7d24c8p+3, -0x1.0890a4p+3 +0x1.d81626p-3, 0x1.239762p+3 +-0x1.2a26dp+4, 0x1.4a786ep+3 +-0x1.8ce034p+1, -0x1.55e6f4p+2 +0x1.7549bap+1, -0x1.a60bbep+3 +0x1.c89fccp+3, -0x1.4a7d8ep+2 +0x1.d0b10ap+0, -0x1.978ea6p+3 +-0x1.fc6332p+2, 0x1.4028aap+2 +-0x1.498382p+3, -0x1.06da9ep+0 +0x1.88bdccp+0, 0x1.0fe06p+1 +-0x1.eedfbcp+3, 0x1.1c67acp+1 +0x1.ca73cp+2, -0x1.249b68p-1 +0x1.a934dap+2, -0x1.c2d596p+2 +0x1.48e068p+2, 0x1.b0f2ecp+2 +-0x1.cd8d86p+5, 0x1.0c90dap+6 +0x1.bf5ac2p+2, 0x1.e26a4cp+2 +-0x1.2c60dp+2, 0x1.eb03f4p+1 +-0x1.f807fcp+8, 0x1.0e89b4p+2 +-0x1.f9c44cp+0, 0x1.6869eep+3 +-0x1.63710cp+3, 0x1.e43d64p+7 +0x1.a1048ep+0, 0x1.34ac28p+3 +0x1.b55042p+3, -0x1.351426p+2 +0x1.93c822p+2, -0x1.0f642p+2 +-0x1.0ed59ap+4, 0x1.5546f8p+2 +-0x1.f905a6p+2, -0x1.038a7ap+4 +0x1.75661ep+1, -0x1.1516f4p-4 +0x1.777794p+1, -0x1.5471f4p+1 +0x1.0c3512p+4, 0x1.397abp+3 +0x1.f9378ep+1, -0x1.d0fb06p+1 +0x1.60087cp+3, 0x1.38a86p+1 +-0x1.ca522cp+3, 0x1.467ef6p+0 +-0x1.7c2b1ap+1, 0x1.c41fc2p-1 +-0x1.09dad2p+3, 0x1.7bf16p+2 +0x1.ea04ap+2, 0x1.2e0138p+3 +-0x1.6ff0dcp+3, -0x1.04da08p+1 +-0x1.0c76e8p+4, -0x1.01b3bep+4 +0x1.6626bp+0, 0x1.15400cp+2 +-0x1.6519acp+3, -0x1.035c52p+4 +0x1.df116cp+3, 0x1.046cc2p+2 +0x1.c7aa82p+2, 0x1.93911p+7 +0x1.6089dap+3, 0x1.a523aep+3 +-0x1.51ccaap+5, 0x1.bb84dp+3 +-0x1.bd1e02p-1, -0x1.0526d6p+5 +0x1.44f21ep+7, 0x1.0755dap+4 +-0x1.0db292p+1, -0x1.be86e4p+3 +-0x1.747e64p+2, 0x1.b88e2ap+4 +0x1.89131ep+4, 0x1.a421f2p+2 +0x1.1eb352p+2, -0x1.90b5a2p+4 +-0x1.f9bf68p+3, -0x1.9eee9ap+2 +-0x1.38eaaap+3, -0x1.1da2e6p+3 +-0x1.e65858p+1, -0x1.7ee8c8p+2 +-0x1.ddf13ap+2, -0x1.1496f6p+2 +-0x1.2dfbbap+4, -0x1.3ac91p+2 +0x1.26ba2ep+1, -0x1.2d34e6p+3 +0x1.ecf06p+2, 0x1.cf5fep+1 +-0x1.3668bap+2, -0x1.33e39ep+2 +-0x1.35904ap+3, -0x1.9643cep+1 +-0x1.8d583cp+3, -0x1.0cf152p+2 +-0x1.74ad54p+3, 0x1.658c3ap-5 +-0x1.d4ec7ap+6, 0x1.4dd8e8p+1 +0x1.b1ea88p+2, -0x1.1c93d8p+1 +0x1.8c5a54p+2, 0x1.5dd0bcp+2 +-0x1.70048cp+2, 0x1.e36baap+2 +-0x1.819d0ep+1, -0x1.88223ep-1 +0x1.14076ap+3, -0x1.ce9e1cp+2 +0x1.91887ep+3, 0x1.4e3832p+2 +-0x1.0217f4p+2, 0x1.a226ep+3 +0x1.0e4d1p+1, 0x1.55cc28p+0 +-0x1.c953c8p+5, 0x1.d1d4bep+1 +0x1.0a1e64p+3, -0x1.aa486cp+1 +0x1.dc8a96p+0, 0x1.14563p+2 +-0x1.0247f4p+3, 0x1.4551ap+2 +-0x1.615c8p+2, 0x1.6914p+3 +-0x1.eb6dd4p+2, -0x1.161d88p+0 +0x1.4150e8p+1, -0x1.dff24ap+1 +-0x1.5c439ep+0, 0x1.8e984ep+3 +0x1.95eedcp+1, -0x1.29cd8p+1 +0x1.9de856p+1, 0x1.e63dc2p+0 +0x1.2069d4p+4, 0x1.61e48cp+3 +-0x1.03dedp+4, -0x1.4cca3p+2 +-0x1.756bacp+3, 0x1.ef60c2p+0 +0x1.4cf1bep+3, 0x1.a3c78p+0 +-0x1.08f71p+6, 0x1.f0ea74p+3 +0x1.b064e6p+3, 0x1.527abp-2 +-0x1.ecf4e6p+3, 0x1.60b248p-1 +0x1.e34614p+2, -0x1.2fea98p+1 +-0x1.4183bp+3, -0x1.262a6cp+3 +0x1.619eb4p+1, -0x1.c876bp+1 +-0x1.7b6b9cp+2, -0x1.efffd6p+4 +0x1.04f2ccp+2, 0x1.ba2878p+3 +-0x1.af89aep+1, -0x1.cbbe04p+2 +-0x1.8843fp+8, 0x1.aa903ap-3 +-0x1.d52f38p+2, -0x1.57468cp+2 +0x1.999db2p+1, 0x1.1a2da4p+0 +-0x1.ab5f02p+2, 0x1.5b15eep+1 +-0x1.b6b9fap+3, -0x1.1d156cp+4 +-0x1.667146p+2, -0x1.bbf8a8p+3 +-0x1.8a0612p+0, -0x1.22427ep+4 +-0x1.bdaf9cp+4, -0x1.2c7c8ep+2 +0x1.8a1732p+3, 0x1.00b8cp+4 +0x1.e2a24p+1, 0x1.9c49cep-1 +-0x1.fa84bcp+0, -0x1.2ebba6p+3 +0x1.389cc2p-1, -0x1.5959bcp+1 +-0x1.8619fcp+2, -0x1.4027p+2 +-0x1.293e58p+3, 0x1.12f188p+3 +0x1.7e6cb8p+2, -0x1.6cc88p+3 +0x1.7c074ap+3, -0x1.264f74p+3 +-0x1.a66304p+1, -0x1.49484p+3 +-0x1.b41e92p+1, -0x1.44d2fap+2 +0x1.4373f8p+3, 0x1.734116p+2 +-0x1.2f1b48p+4, -0x1.b48606p+3 +0x1.d9d5e6p+3, 0x1.3f936cp+1 +0x1.51848cp+4, -0x1.d44d1ap+2 +-0x1.67ff8ep-1, 0x1.01ed26p+2 +-0x1.d78c94p-1, 0x1.b1ca2cp+0 +0x1.6e9bc2p+0, 0x1.32ebaep+4 +0x1.3f1342p+1, 0x1.0f2f62p+4 +0x1.8167c6p+0, 0x1.7c9bbcp+3 +0x1.a0b3e8p+2, -0x1.0efc2ep+1 +0x1.e65adap+4, 0x1.3fecbcp-1 +0x1.ab20ep-2, -0x1.614d62p+2 +-0x1.0e7672p+3, -0x1.3634f8p-1 +-0x1.e141ap+3, -0x1.4f6b7cp+3 +0x1.226448p+1, 0x1.91baf2p-6 +-0x1.912ebp+2, 0x1.c32eaep+1 +-0x1.5d435p+3, -0x1.d378f6p+2 +0x1.73abd2p+0, 0x1.fea144p+1 +0x1.75c21ep+3, -0x1.5320cep-1 +-0x1.9e17a8p+2, 0x1.030dap+4 +-0x1.085b64p+3, 0x1.37451cp+0 +-0x1.2a724p+3, 0x1.dfbc8ap+2 +-0x1.1a5ad4p+3, -0x1.ca2686p+3 +0x1.279432p+0, -0x1.336802p+2 +0x1.3e7dfcp+3, -0x1.688728p+3 +0x1.0d4c86p+4, -0x1.834a7ap+0 +0x1.57eac8p+0, 0x1.d146bep+1 +-0x1.9e9a2ap+2, -0x1.0ed8bp+3 +-0x1.020e5p+4, 0x1.2158b2p+4 +-0x1.36e7fp+4, -0x1.2f7828p-2 +0x1.e0aee6p+2, 0x1.49ecdcp+3 +0x1.7ef7c8p+2, -0x1.03cadcp+0 +0x1.b94636p+4, -0x1.d609dep+3 +0x1.73d2dp+1, 0x1.8a16eap+2 +0x1.1b6168p+3, 0x1.c7d954p+4 +-0x1.c3ebap+1, -0x1.84fc96p+0 +0x1.58356ap+2, 0x1.2cb938p+1 +0x1.9e60e2p+3, 0x1.721634p+2 +-0x1.0720a4p+5, -0x1.0b3812p+1 +0x1.026eccp+4, 0x1.8505c2p+3 +-0x1.bcffeap+2, 0x1.dff668p+1 +-0x1.281276p+1, 0x1.42b592p-1 +0x1.4f72cep+1, 0x1.5f2732p-1 +-0x1.c5be0ep+4, 0x1.599cb4p+2 +-0x1.e27702p+2, 0x1.53061ep+2 +-0x1.1c5facp+3, -0x1.bfc39p+2 +-0x1.c17652p+3, -0x1.d5b898p+1 +0x1.974b74p+3, 0x1.702404p+3 +0x1.889888p+2, -0x1.d6102cp+1 +0x1.b972dep+2, -0x1.9480eap+3 +0x1.a4de44p+2, -0x1.76f02ep+6 +0x1.4da0a8p+2, -0x1.a5fc2p+1 +0x1.689b62p+6, 0x1.2c659ap+4 +0x1.f01408p-3, 0x1.33dfc2p+3 +0x1.a7dd8cp+1, 0x1.a64cdp+0 +-0x1.a4e88ep+2, 0x1.4cb964p+2 +-0x1.fffcb8p+2, -0x1.ba441p+3 +-0x1.88c8aep+2, 0x1.7b29dep+1 +-0x1.10dd32p+2, 0x1.6a9338p+2 +0x1.4c63b8p+2, -0x1.0eadf8p+3 +-0x1.16f6ap+4, -0x1.9165e8p-1 +0x1.7efd0ep+3, -0x1.024688p+1 +-0x1.70a54cp+2, -0x1.fbedap+1 +0x1.6f45ep+2, 0x1.3cd4eap+4 +0x1.10ffdep+0, 0x1.034412p+2 +0x1.196f5ap+3, -0x1.1ac384p+3 +0x1.46f392p+3, 0x1.491abap+2 +-0x1.77e346p+3, -0x1.d9c2b6p+3 +0x1.27e722p+3, -0x1.f27a86p-1 +-0x1.3a7882p+1, 0x1.6a07d4p+1 +-0x1.abe852p+4, -0x1.a6b25ap-2 +-0x1.8bc21cp+1, 0x1.4d938cp+3 +0x1.1b881p+1, 0x1.0e7962p+3 +0x1.28225cp+3, 0x1.dc8c44p+1 +-0x1.9987c2p+3, 0x1.3587acp+2 +0x1.a7936ap+2, 0x1.5a78fcp+2 +-0x1.13c1dap+3, 0x1.cadcc2p+1 +-0x1.269c56p+4, 0x1.87c346p+4 +-0x1.153842p+2, -0x1.1728dep+1 +-0x1.ac92cp+1, 0x1.ac3868p-1 +0x1.02c284p-1, 0x1.3b0374p+2 +-0x1.a9316ep+3, 0x1.859edep+1 +0x1.3aacfp-2, -0x1.db54a2p-2 +0x1.55321ap+1, -0x1.e5f4c8p+1 +0x1.be8488p+2, -0x1.973a76p+3 +0x1.f04e2ep+1, -0x1.dafe28p+3 +-0x1.4326dp+3, -0x1.700892p-3 +-0x1.cae5e8p+3, -0x1.11684p+4 +-0x1.483408p+3, 0x1.fa5948p+3 +0x1.a97d12p+2, 0x1.05d068p+0 +-0x1.96e626p+0, 0x1.afe516p+2 +-0x1.824b1ap+3, -0x1.2bb7c8p+4 +-0x1.248116p+3, -0x1.693f36p+1 +0x1.0cac58p+2, 0x1.3d3ad4p+0 +0x1.090e56p+3, -0x1.f4ca46p-8 +-0x1.c652b2p+2, -0x1.a9dccp+2 +-0x1.a8429ep+3, 0x1.505cf2p+8 +0x1.637dd8p+0, -0x1.640f8ap+1 +-0x1.2600a6p+2, -0x1.10029cp+3 +-0x1.87df28p+1, 0x1.6862e4p+3 +-0x1.022dbcp+4, 0x1.e86158p+1 +-0x1.893d6ep+3, -0x1.7407bap+3 +-0x1.088af2p-1, -0x1.14f952p+2 +-0x1.5dee46p-1, 0x1.0ab578p+3 +-0x1.04abb2p+3, 0x1.8c4c54p+3 +0x1.77e35ap+3, 0x1.8c0d98p+1 +-0x1.36c3fap+3, 0x1.eb2c9cp+3 +0x1.f7dd86p-1, 0x1.76fbbcp+4 +0x1.f2770ap+1, 0x1.8031fep+3 +-0x1.2d707p+3, -0x1.33599cp+4 +0x1.a0e182p+2, -0x1.2ca7a8p+2 +-0x1.bb2064p+2, 0x1.2dfa1cp+7 +-0x1.9099bap+3, -0x1.18bb0ep+2 +-0x1.deb776p-1, -0x1.923f2ap+1 +-0x1.110984p+3, -0x1.137dbcp+3 +-0x1.06c964p+2, -0x1.26f27ep+4 +0x1.06b20ep+0, -0x1.879b42p-1 +-0x1.4e139p+1, 0x1.116f56p+3 +0x1.c9ef8ep+2, -0x1.104fdp+3 +0x1.68e65ap+0, -0x1.08ca06p+4 +-0x1.8e97e4p+0, 0x1.461718p+3 +-0x1.e73a9p+0, 0x1.fe995p+3 +-0x1.f0f3f2p-1, -0x1.daade4p+1 +0x1.4c2498p+2, 0x1.be9128p+2 +0x1.0816a4p+2, 0x1.d71d0cp+6 +-0x1.b98836p-1, -0x1.a315dcp+0 +-0x1.1d4e1ap+4, -0x1.baf634p+3 +-0x1.13fd1cp+3, -0x1.235088p+4 +0x1.3d39d6p+4, 0x1.a18336p+2 +0x1.dae77p+2, -0x1.6b596p+3 +0x1.8fed3ap+2, 0x1.0c18acp+1 +-0x1.4a25dep+2, -0x1.0d6f84p+0 +-0x1.e1bc64p+1, -0x1.297afp+4 +-0x1.54c648p+3, 0x1.7b6c38p+1 +-0x1.466f42p+0, -0x1.5a71a2p+1 +0x1.106af4p+3, -0x1.cfca6ep+1 +0x1.5c1b0cp+0, -0x1.c8ebfcp+3 +0x1.823b7p+2, -0x1.e8c5fap+3 +0x1.7c8a4ap+8, -0x1.a1b558p+2 +0x1.bc28ecp-1, 0x1.bad1acp+3 +0x1.a50cbep+2, 0x1.98e74cp+1 +0x1.41c598p+0, -0x1.c69abap+2 +-0x1.6a33ccp+2, 0x1.ba88f4p-3 +-0x1.881dfep+2, 0x1.dec5f2p+1 +-0x1.5c2468p+3, -0x1.1e3d6p+4 +0x1.5bc37p+2, 0x1.8d56acp-2 +-0x1.669b82p-2, -0x1.c2c00ep+2 +0x1.2990a6p+1, -0x1.11c11ap+1 +0x1.092bd6p+2, -0x1.80b65ep+2 +0x1.080bf4p+3, 0x1.4cc6a4p+3 +0x1.485048p+1, 0x1.c6f4a4p+1 +-0x1.e6106ep+3, -0x1.c82d6cp+0 +0x1.29f60cp+4, 0x1.8284acp+3 +0x1.20a584p+2, -0x1.17f5f4p+3 +-0x1.b9e8c6p+2, -0x1.5dc2bcp+1 +0x1.c1991ep+3, 0x1.88c7aap+2 +-0x1.222384p-1, 0x1.848d92p+1 +0x1.2def7p+0, -0x1.8e3e38p+3 +0x1.98e14ap+3, -0x1.5d6ddp+3 +-0x1.119a04p+3, -0x1.07342cp+3 +-0x1.220f8p-1, 0x1.c9c57ep+3 +0x1.2d854ep+4, 0x1.55ac82p+1 +0x1.04682ap+4, -0x1.701fdcp+2 +-0x1.5feb3ap+1, 0x1.4e1922p+2 +-0x1.f3d9fep+1, -0x1.b7d7d2p+3 +-0x1.f944cap-3, 0x1.f04a46p+1 +0x1.ee4388p+3, 0x1.3e4186p+4 +0x1.69213ap-1, 0x1.580708p+4 +-0x1.327344p+3, -0x1.20837ap+2 +-0x1.65114cp+4, -0x1.56cc1cp+3 +-0x1.48f11p+2, 0x1.d5b722p-1 +-0x1.881e6cp+2, -0x1.5a8eeap+4 +0x1.f14b8ap+3, 0x1.1daafcp+2 +-0x1.48ab84p+0, -0x1.3af074p-1 +-0x1.76bfbcp+1, -0x1.22723ep+6 +-0x1.6fcfe6p+3, -0x1.226cdap+3 +0x1.176cf2p-1, 0x1.225926p+0 +-0x1.27603ap+4, -0x1.1d69fep+3 +-0x1.aae9d2p+4, -0x1.1b2a94p+3 +-0x1.5ee566p+3, 0x1.ce3f02p+2 +-0x1.be2dd8p+2, 0x1.6ce296p+2 +-0x1.0d3b1cp+1, 0x1.7d2258p+3 +-0x1.3c2b5p-2, -0x1.6de922p+0 +-0x1.03f0bep+2, 0x1.0d6602p+4 +-0x1.93ebe2p+1, 0x1.5ae0ap+3 +-0x1.2a719cp+3, -0x1.742fb4p-2 +0x1.b79bep+2, -0x1.6b602ep+2 +0x1.bfe638p-4, 0x1.2cec8p+3 +0x1.245c18p+2, -0x1.abda4cp-1 +0x1.394398p+1, -0x1.dfa6b2p+3 +0x1.d16fc4p+0, 0x1.f4d1b4p+3 +-0x1.d10818p+0, 0x1.8743ap+3 +0x1.83018ep+1, -0x1.59ea56p+4 +-0x1.23aep+3, 0x1.3c3afcp+2 +0x1.38f42ep+0, 0x1.5edb4ep+3 +0x1.6c045ep+4, -0x1.0a8ca2p+3 +0x1.6ccf2ep+3, 0x1.47f832p+2 +-0x1.598494p+3, 0x1.4969ccp+3 +-0x1.00e09ep+0, 0x1.3f1f8ap+2 +0x1.b41e1p+3, 0x1.a9e6p+1 +0x1.d3be7p+2, -0x1.ac8c82p+3 +0x1.31c6c2p+4, -0x1.a4af7cp+2 +-0x1.3a1b7cp+0, -0x1.1943b8p+4 +-0x1.97ff66p+4, -0x1.fb155ep+1 +-0x1.4fe764p+3, 0x1.a5ddbap+1 +-0x1.179d22p+3, -0x1.96de8ap+3 +-0x1.85baf4p+2, -0x1.4037dep+3 +-0x1.49b318p+2, 0x1.7111c2p+2 +0x1.873126p+3, -0x1.e241cap+2 +-0x1.2686a2p-4, 0x1.62dad6p+3 +0x1.6d244p+8, 0x1.6bd41ep+2 +0x1.6c2412p+1, 0x1.60386ep+1 +-0x1.b615f4p+4, -0x1.07f34ap+2 +-0x1.3cc78ap+1, -0x1.a68b48p+1 +-0x1.d508p+1, 0x1.59338cp+2 +0x1.a531c6p+2, 0x1.83edp+3 +-0x1.81843ap-4, 0x1.0f1f02p+2 +0x1.4fa07ep+1, 0x1.a8f4fap+2 +-0x1.148378p+4, -0x1.5939aap-1 +0x1.6d0186p+1, 0x1.f57c3ap-2 +-0x1.b137f8p+1, 0x1.1471dp+3 +-0x1.6acc7ep+4, -0x1.71a6dap+0 +-0x1.098f4cp+0, 0x1.424554p+2 +-0x1.f8f5c6p-3, 0x1.dfc156p+2 +0x1.005278p+4, 0x1.443d7cp+3 +0x1.0e906p+1, 0x1.4391fcp+4 +0x1.c66d48p+2, 0x1.7b8806p+3 +-0x1.2715f8p+3, -0x1.0248a6p+4 +-0x1.2b0af2p-1, -0x1.361b6p+4 +-0x1.1f0ecap+0, -0x1.8f0e6cp+3 +0x1.78054ep+3, -0x1.cb4aecp-2 +0x1.3470a4p+1, -0x1.eba482p+2 +0x1.40f52ep+3, -0x1.c6027ap+0 +-0x1.4b3a52p+3, 0x1.705e1ep+3 +0x1.b7327ep+1, 0x1.ad41c8p+3 +0x1.71462cp+3, 0x1.76b06cp+3 +0x1.469082p+3, 0x1.319d1ap+0 +-0x1.d7a52ep+1, 0x1.ba3972p+3 +-0x1.8d0ac8p+3, 0x1.0fe622p+4 +0x1.10653p+0, 0x1.1c6a12p+2 +-0x1.5dbfap+4, 0x1.b64602p+1 +-0x1.da6ae8p+3, -0x1.15a62ap+2 +0x1.3ecea6p+4, -0x1.96a186p-1 +-0x1.684e52p-2, 0x1.4e3bcp+2 +0x1.4cc43cp+1, 0x1.1221f6p-1 +0x1.2ee5a4p+2, -0x1.3d92b2p+0 +0x1.01bb68p+3, -0x1.1bfdcep+1 +0x1.1f2a98p+2, -0x1.ba500cp+1 +-0x1.5965p+3, -0x1.30a814p+3 +-0x1.04fb1cp+1, -0x1.89cbc4p+3 +-0x1.ad07d6p-1, 0x1.fd1d76p-2 +-0x1.606392p+3, -0x1.b9159ep+1 +-0x1.d694eep+1, -0x1.3f24d2p-1 +-0x1.1955e6p+1, 0x1.72b22p+1 +-0x1.314e0ap+1, -0x1.2df5bcp+2 +-0x1.557ebap+2, -0x1.81e6acp+3 +0x1.a7ad72p+2, 0x1.560314p+3 +-0x1.c45b86p-4, 0x1.67e682p+3 +0x1.ba7e92p+1, -0x1.f357eep+3 +-0x1.09b9ecp-2, 0x1.fc3e2cp+1 +-0x1.9e26e2p+0, -0x1.7ea176p-3 +-0x1.ca6f98p+3, 0x1.2d26b8p+4 +-0x1.568b2ap+2, 0x1.a5108ep+2 +0x1.4babdap+3, 0x1.26dcd2p+4 +-0x1.225dfp+3, 0x1.79fe5cp+2 +-0x1.18769ap+3, 0x1.5c3b44p+1 +0x1.4569e2p+2, 0x1.a00024p+1 +-0x1.65237ap-1, -0x1.d684d8p+3 +0x1.ff510ep+2, -0x1.57c8ecp+1 +0x1.a34be2p+2, -0x1.23468cp+3 +-0x1.002a5cp+2, 0x1.2f4088p+3 +0x1.0793e2p+4, -0x1.f7308ap+1 +0x1.79bda6p+1, 0x1.a57d84p+2 +0x1.42ab7cp+2, -0x1.007244p+3 +-0x1.33c07ep+1, 0x1.466cd6p+2 +-0x1.88cf5ap+3, 0x1.b669b4p+3 +0x1.6ad942p+3, -0x1.6634f6p+4 +-0x1.3f494ap+3, -0x1.42b22ap+4 +-0x1.891e2ap+5, 0x1.0d3b5ep+5 +-0x1.2ddc6p+4, -0x1.400ff2p+1 +-0x1.5c5be2p+3, 0x1.b4e34p+2 +-0x1.ae39aep+3, -0x1.bf7fe2p+1 +-0x1.499c06p+3, -0x1.ed1814p+3 +-0x1.83bbf6p+3, 0x1.b0b4ecp+2 +-0x1.0c5dc6p+2, 0x1.94ebdp-1 +-0x1.56a564p+1, -0x1.c32326p+1 +-0x1.990592p+2, 0x1.41653p+5 +0x1.242772p+1, -0x1.22117cp+3 +-0x1.22286ep+3, -0x1.500318p+7 +-0x1.6cca3p+4, 0x1.a3c1ep+4 +0x1.e900f6p+3, 0x1.15985ap+3 +0x1.ed0a62p+2, -0x1.182e12p-2 +-0x1.3f3adcp+2, 0x1.df57c4p+3 +-0x1.654ebcp+2, -0x1.0a0cfep+3 +-0x1.e095d4p+3, -0x1.6619cap+4 +0x1.6c287ap+2, -0x1.1d4e2ap+0 +-0x1.23f488p+2, 0x1.449d94p+2 +0x1.d8c65ap+1, 0x1.6d39a4p+3 +0x1.12bc22p+2, -0x1.a365aep+2 +-0x1.51a914p+3, -0x1.18cf58p+4 +-0x1.3e9782p+2, 0x1.06ac9cp+4 +0x1.23579ap+1, 0x1.6a31cp+1 +0x1.6c31b6p+2, -0x1.622ee8p+2 +-0x1.aee36p+1, 0x1.29c7cep+4 +-0x1.2b0f9ep+3, 0x1.d4512p+0 +-0x1.0fa586p+2, -0x1.26b83ap+2 +-0x1.24458ap+3, 0x1.b4ee92p-1 +0x1.46399ep+4, -0x1.6ba6d4p+3 +0x1.d72138p+1, -0x1.ff555cp+2 +0x1.4a6b34p+3, -0x1.844adcp+2 +-0x1.6e5522p+3, -0x1.504894p+1 +-0x1.d1cb54p+4, 0x1.0de762p+1 +-0x1.73e0c6p+2, 0x1.0ada62p+4 +0x1.029eeap+0, 0x1.b70bfap+2 +0x1.9e8c9p+3, -0x1.c901eep-1 +0x1.067288p+3, 0x1.689ab8p+0 +-0x1.3f0426p+3, 0x1.6103d2p+2 +0x1.2668eep+3, 0x1.cb16fep+3 +-0x1.4f7b5p+1, 0x1.27147ep+4 +-0x1.ce6bd4p+2, -0x1.7ca52p+2 +0x1.cd328p+1, -0x1.c551eep+2 +0x1.262cfep+4, 0x1.36fe36p+3 +-0x1.9245fp+4, -0x1.d3b524p+3 +0x1.25e588p+3, 0x1.375422p+4 +-0x1.370ddep+3, -0x1.a8a70ep-1 +0x1.054ecap+4, -0x1.bea88ep+5 +0x1.dc8e8ap+2, -0x1.314ea8p+3 +-0x1.0346c6p+3, -0x1.b2e3fap+3 +-0x1.02b6eep+1, -0x1.a0eee4p+3 +-0x1.9b993p+4, -0x1.2054bp+2 +-0x1.73dd78p+3, -0x1.cfa868p+2 +0x1.8262fep+0, -0x1.d8f9bcp+2 +0x1.a6df2ap+2, -0x1.382936p+0 +0x1.677874p+2, 0x1.6a5aeep+1 +0x1.df3122p+2, -0x1.43f098p+2 +0x1.8d294cp+1, 0x1.1cef38p+1 +0x1.b5a4f2p-4, -0x1.26f37ap+3 +0x1.f4bda4p+2, 0x1.f6bf98p+1 +-0x1.3e3cf2p+0, 0x1.811562p+3 +-0x1.7e8ea6p+2, 0x1.1a6462p+1 +0x1.26174cp-2, 0x1.25bd68p+3 +0x1.d51926p+3, -0x1.064c9cp+4 +-0x1.1cef4ep+2, -0x1.5e8f68p+1 +-0x1.2e4274p+3, 0x1.12953ep+4 +-0x1.293e6ep+1, -0x1.dddcdcp+1 +-0x1.1e47acp+2, -0x1.590b92p+1 +-0x1.13607p+4, -0x1.459cf8p-1 +-0x1.67bcacp+3, 0x1.2fa67cp+3 +0x1.5251bp+3, 0x1.1c3d2ap+3 +0x1.b8412cp+3, -0x1.07bfe4p+2 +0x1.7330f2p+3, 0x1.56f234p+3 +0x1.f4906ep+1, 0x1.27b50ep+4 +-0x1.0ed48ep+4, 0x1.953d88p+3 +0x1.36463ep+4, -0x1.98395p+1 +0x1.99ac8ap+5, -0x1.c7b1aap+3 +0x1.afde1ap+3, 0x1.285fa4p+5 +-0x1.da21eap+0, -0x1.99ff8cp+3 +0x1.83677p+5, 0x1.6f8326p+2 +0x1.c28a3cp+3, 0x1.cd4eccp+3 +0x1.ab6252p+3, -0x1.94ff94p+1 +-0x1.c426fap+2, 0x1.187886p+4 +0x1.32b96ep+3, 0x1.2c3ef8p+4 +-0x1.1b885ap+4, 0x1.dc4b4cp+4 +-0x1.a546ap+0, 0x1.561f6ap+5 +0x1.47dfb4p+4, 0x1.52142ep+3 +0x1.3e03e4p+3, -0x1.bc3694p+0 +-0x1.cb91aap+3, 0x1.557e4ap+0 +0x1.e5e4acp+3, 0x1.e38442p+4 +0x1.7c8c92p+2, 0x1.264a74p+2 +0x1.0e7a96p+2, 0x1.ca7e18p-1 +0x1.a98f84p+1, -0x1.77949ep-1 +-0x1.2797ap+4, -0x1.647f7cp+7 +-0x1.f9dc9cp+0, 0x1.ea7c82p+1 +0x1.40597cp+3, 0x1.55a84cp+0 +-0x1.95a45ap+4, -0x1.29d5d8p+3 +0x1.29a712p+2, -0x1.3d0e56p+5 +0x1.0a7cc2p+4, -0x1.00043p+3 +0x1.0e5242p+4, 0x1.22c02ap+3 +0x1.02294cp+4, -0x1.954bbep+2 +-0x1.35335p+3, 0x1.86f558p+3 +-0x1.cd535cp+3, -0x1.499e08p+3 +-0x1.1c9accp+3, -0x1.8d575p+1 +0x1.70cb7cp+3, -0x1.4a40c8p+1 +-0x1.77e468p-1, 0x1.c6c8d6p+3 +-0x1.5dd1ccp+3, -0x1.3dae82p+0 +0x1.8d87bp+6, 0x1.913b6cp+1 +-0x1.1fcf9p+3, -0x1.d77a76p+1 +-0x1.95cdb8p+4, -0x1.8631c8p+3 +-0x1.923fccp+4, 0x1.b0b8acp+5 +0x1.2810a2p+3, -0x1.8ca9dcp+1 +-0x1.2a2d22p+1, 0x1.2bda5ep+3 +0x1.6709bep+0, -0x1.4ffbdcp+2 +-0x1.68234ep+2, 0x1.2bb1aep+3 +0x1.87b4d4p+0, -0x1.4e6808p+4 +-0x1.d0707cp+3, -0x1.52a596p+3 +0x1.91014p+2, -0x1.8b90dp+3 +-0x1.d1d9dap+0, 0x1.271898p+3 +0x1.37d448p+5, 0x1.5cece2p+4 +0x1.f31334p+1, 0x1.aa524ap+3 +-0x1.0eeb1ep-2, -0x1.47a6cap+3 +-0x1.d9a428p+0, -0x1.5a923cp-1 +-0x1.344002p+1, -0x1.05b38cp+2 +0x1.c0a7aep+0, -0x1.2c1372p+2 +0x1.27fc16p-2, -0x1.882adp+0 +-0x1.047944p+4, 0x1.7030ap+3 +0x1.f1bbacp+2, -0x1.c5d9f4p+2 +0x1.f1393ep+2, 0x1.e9586p+1 +-0x1.5d47bcp+2, -0x1.6f0e94p+3 +-0x1.e26658p+2, 0x1.adb37p+4 +0x1.565c42p+0, 0x1.f2799cp+0 +0x1.7c8448p+1, -0x1.46caap+3 +0x1.e31d5p+1, -0x1.59ccc2p+3 +-0x1.020e5ep+4, -0x1.d3666p+3 +0x1.6dbaap+2, 0x1.3ba1c8p+2 +0x1.bd103p+0, -0x1.7aeae4p+3 +-0x1.438f9ep+3, -0x1.012e92p+3 +0x1.c27e66p+3, 0x1.38cbe6p+3 +-0x1.22c3c6p+3, 0x1.1ba9dap+4 +0x1.15258p+1, -0x1.2075fep+3 +-0x1.1c7efcp+3, 0x1.fe8c94p+1 +-0x1.0819d8p+3, -0x1.038a9ep+2 +-0x1.8087aep+3, -0x1.918742p+1 +0x1.20fd56p+3, 0x1.fcd2c4p+3 +0x1.ed699p+2, -0x1.776f36p+1 +0x1.4853fcp+3, -0x1.3f79eap+8 +-0x1.3ee6a4p+4, -0x1.b82a3ap+2 +-0x1.ad2d04p-1, -0x1.21f4eep+2 +0x1.55bc72p+1, -0x1.3d0ec6p+2 +-0x1.475886p+4, -0x1.41079p+1 +0x1.dfafcep+3, 0x1.b0ff4ep+3 +-0x1.600b8ap+2, -0x1.9b5b2ap-2 +0x1.c6e682p+2, 0x1.ad9356p+1 +-0x1.578464p+0, 0x1.ec64b6p+1 +-0x1.abbf82p+1, -0x1.24f844p+3 +-0x1.a2dfaap+1, 0x1.8d24fcp+2 +-0x1.2788ecp+2, 0x1.ff16dap+2 +0x1.5a288ap+1, 0x1.5a7bcep+1 +-0x1.32e7a8p+1, 0x1.1a1152p+3 +0x1.3b2e54p+4, 0x1.94efeap+2 +0x1.86803p+3, -0x1.53c15p+2 +-0x1.03be28p+1, 0x1.3137bap+2 +-0x1.83a418p+4, -0x1.efa4c2p+3 +0x1.639458p-2, 0x1.b1dbc2p+2 +0x1.b369bap+2, 0x1.fc462cp-2 +0x1.6d513ap+4, 0x1.7e7a1cp+3 +0x1.786266p+1, -0x1.6ae7c4p+2 +-0x1.8133fap+3, -0x1.cdfa66p+1 +0x1.741e0ap+3, -0x1.21fa96p+4 +0x1.74c922p+3, 0x1.38973ap+0 +0x1.1d7148p+3, 0x1.e4aa1ap+0 +-0x1.37fd9p+1, -0x1.53d1fap+4 +-0x1.8255b6p+3, -0x1.11deb4p+2 +0x1.08886ep+2, 0x1.4b964ap+2 +-0x1.2b6f68p+4, -0x1.e0b364p+3 +-0x1.12ed96p+2, -0x1.8b89aep+3 +0x1.314ccap+3, 0x1.87436p+0 +-0x1.d4a948p-1, -0x1.99b516p+0 +-0x1.ee1d48p+1, -0x1.9d35b8p+2 +-0x1.56237cp-1, -0x1.03d15cp+3 +0x1.4ffcdap+2, 0x1.c139e6p+7 +0x1.5133aep+1, 0x1.009284p+4 +0x1.07c4dep+4, -0x1.95ea5cp+3 +0x1.386d7ep+3, -0x1.5a5e8cp+3 +-0x1.af989ep+3, -0x1.27991ap+2 +-0x1.15d284p+3, 0x1.1b44bp-1 +0x1.5f6782p+3, 0x1.0bf612p+3 +-0x1.9f38dp+2, -0x1.43a496p+3 +0x1.68aac4p+1, 0x1.ef3afep+3 +0x1.54dfecp-1, -0x1.4fd2c8p+8 +-0x1.71148ap+2, 0x1.9f1c72p+1 +-0x1.4434d2p-2, -0x1.afc14ep+1 +-0x1.455daep+3, 0x1.acf13p+2 +0x1.4e80ep+4, 0x1.19b8cep+2 +-0x1.5ee4aep+2, 0x1.0a8d7p+1 +0x1.520dc4p+3, -0x1.11866ap+1 +-0x1.1c7a82p+2, -0x1.1f30a4p+0 +-0x1.99d2c8p+3, -0x1.2b82dp+3 +-0x1.93c2d4p+3, 0x1.39fedp+4 +0x1.2695f6p+3, 0x1.600d2p+2 +-0x1.0b8dd6p+2, -0x1.f425a8p+2 +0x1.4b5c2ap+2, -0x1.0ec418p-1 +-0x1.ca3d06p+2, 0x1.c09396p+3 +-0x1.b627eep+2, -0x1.096a8ap-3 +-0x1.0d4f3ap+4, 0x1.944d06p+4 +0x1.0425a6p+3, -0x1.d61f68p-1 +0x1.6d023ap+3, 0x1.933c82p+2 +0x1.13a334p+4, 0x1.c5ea92p+2 +-0x1.e8ea42p+1, 0x1.0d42dap+4 +0x1.595fccp+4, 0x1.c194e4p+3 +-0x1.9ad366p+3, 0x1.007d38p+1 +-0x1.57e1f6p+3, 0x1.32db2ep+2 +-0x1.31379cp+5, -0x1.041f5p+3 +0x1.b9c91cp+2, 0x1.7a867ap+1 +0x1.eb27f2p-3, -0x1.03be52p+2 +-0x1.52af4ep+3, -0x1.bd7b62p+0 +-0x1.25432p+3, 0x1.138a66p+2 +0x1.9a91e8p+1, -0x1.33ded4p+4 +-0x1.a8ebp+2, -0x1.49fa94p+3 +-0x1.259a3cp+2, -0x1.95b3dep+4 +0x1.4b9f34p+2, 0x1.7dbfcep+3 +-0x1.21b4a2p+3, 0x1.824c44p+0 +0x1.f116dap+1, 0x1.ebabcep+1 +0x1.925a4p+1, -0x1.14fc32p+3 +0x1.63a512p+3, 0x1.15ba7ap+4 +0x1.8466c4p+2, 0x1.84977cp+0 +-0x1.eb36ccp+3, 0x1.440ad2p+3 +0x1.cd429ep+2, -0x1.8c4bc6p-3 +0x1.8190bap+3, -0x1.2df06p+3 +0x1.35df16p+3, 0x1.07242cp+1 +-0x1.cd67e2p-2, -0x1.5961eap+3 +-0x1.e2a746p+1, -0x1.3cbfa6p+0 +-0x1.f059p+4, -0x1.c45c98p+1 +0x1.9a1ef6p+2, -0x1.90db6ap+3 +0x1.d1d42p+3, -0x1.44ac86p+3 +0x1.c9a136p-1, 0x1.cc3b86p+2 +-0x1.69813ap+8, -0x1.0594b2p+3 +-0x1.c498c6p+2, 0x1.179f4cp+1 +0x1.4090a2p-1, -0x1.2b3ffp+3 +0x1.13ee06p+4, -0x1.3137d8p+4 +-0x1.313c56p+3, 0x1.741f16p+1 +0x1.493feap-2, 0x1.4fb2bcp-1 +0x1.ed6a8cp+2, -0x1.cc15a8p+1 +0x1.5633cp+2, -0x1.3e134ap+3 +0x1.12b1p+1, 0x1.1aeb62p+3 +0x1.79663ap+1, -0x1.baf47ep+1 +-0x1.a05bd2p+4, -0x1.ca1722p+3 +0x1.3f96dp+1, -0x1.cffb6p+3 +0x1.1bc7d6p+4, -0x1.c7134ep-3 +0x1.c78bcp+2, -0x1.e94cd8p+3 +0x1.79a71p+2, -0x1.ecf6d4p-2 +-0x1.585a02p-1, 0x1.4a3dfp+2 +0x1.ab5184p+2, 0x1.1c1edep+3 +-0x1.dd99f6p+1, 0x1.1838dcp+3 +0x1.529d82p+5, 0x1.24b63ap+1 +0x1.f32fd2p+2, 0x1.031bep+4 +0x1.71f082p+3, -0x1.62af5ap+2 +-0x1.1715a6p+0, 0x1.075466p+3 +0x1.947886p+2, -0x1.90575ep+3 +-0x1.830934p+3, -0x1.812b56p+2 +0x1.3c80d2p+4, -0x1.8bf8bcp+3 +-0x1.f37a32p+6, 0x1.d61d32p+1 +0x1.499c3ep+4, -0x1.882b24p+2 +0x1.dda67ep+3, -0x1.09808ap+3 +0x1.398e7ep+3, -0x1.3063dp+3 +-0x1.7ec9aep+1, 0x1.f0440ap+2 +-0x1.050448p+3, 0x1.a4ff52p-1 +-0x1.3964fcp+3, 0x1.86705p+2 +0x1.cfe84ap+2, -0x1.ed956p+2 +-0x1.2556ccp+0, 0x1.849d8ap+0 +-0x1.798cb6p+2, 0x1.71a556p-2 +-0x1.8cc8fap+2, -0x1.566348p+2 +-0x1.2b2d4ap+4, -0x1.c73028p+1 +-0x1.d263e4p+1, 0x1.ddf0d6p+2 +-0x1.0509cap+3, -0x1.bbe614p+2 +-0x1.9bd226p+0, -0x1.b94f48p-2 +0x1.be3582p+1, 0x1.358d4ap+2 +0x1.8aec96p+4, 0x1.61fc6ap-2 +-0x1.5088e4p+1, 0x1.41de9cp+4 +-0x1.68affp+3, -0x1.b6ca62p+3 +-0x1.76bba6p-1, 0x1.d7ea36p+2 +0x1.374c54p+3, -0x1.052b5p-2 +0x1.87ee88p+1, 0x1.0c46dep+8 +0x1.5d37d4p+4, 0x1.e66a06p+6 +0x1.0edf12p+1, 0x1.0c8d9ep+4 +0x1.3205c2p+3, -0x1.5d295ep+3 +0x1.7f14a6p-1, 0x1.7b26cp+3 +-0x1.da9892p+2, 0x1.8e5d32p+3 +-0x1.708eeap+5, 0x1.2ee582p+3 +-0x1.73eb0cp+2, -0x1.833046p+2 +-0x1.adacd4p-5, -0x1.6efc68p+3 +0x1.c8b3acp-2, -0x1.2568fcp+0 +0x1.02d87cp+4, -0x1.14be92p+3 +0x1.0375cep+2, -0x1.18485ep+1 +0x1.5bc09ep+2, 0x1.bcfd58p+1 +0x1.8af1p+0, -0x1.6d3372p+1 +0x1.10b19cp+3, 0x1.836b72p+2 +0x1.0a4ap+3, 0x1.416fcep+0 +0x1.94f14ap+3, -0x1.70f9d2p+0 +0x1.20ad8p+4, -0x1.71307ap+3 +0x1.a8b348p+2, -0x1.89c036p+2 +-0x1.0a2432p+3, -0x1.189fc6p+4 +0x1.72edfp+3, 0x1.2b4d68p+1 +0x1.40cc64p+3, -0x1.4abfacp+3 +0x1.dfa63cp+4, 0x1.64f682p+0 +0x1.1112b4p+4, -0x1.a48174p+4 +-0x1.0e144cp+2, 0x1.5a481cp+2 +0x1.809fbcp+3, 0x1.6b44f2p+2 +-0x1.59e9dcp+3, 0x1.48551ap+2 +0x1.10b7a2p+2, 0x1.cdb338p+3 +0x1.c0250ap+2, 0x1.377068p+1 +0x1.297928p+4, -0x1.f873a8p+3 +-0x1.157e68p+0, 0x1.800df6p+3 +0x1.466abap-1, 0x1.ef8806p+3 +0x1.f2e254p+1, -0x1.437774p+1 +-0x1.5cd896p+0, -0x1.05a0c4p+4 +-0x1.1245dp+2, -0x1.ccdd5ap+0 +-0x1.272c82p+2, -0x1.055fb8p+0 +-0x1.466ac2p+3, 0x1.a6c91ep+3 +0x1.3066d4p+2, -0x1.b0a3bep+2 +-0x1.342afap+3, -0x1.d77bc8p+0 +0x1.9aa08ep+2, -0x1.2ea198p+2 +-0x1.2f36d8p+3, 0x1.7a5364p+2 +0x1.4926c4p+3, -0x1.03e6ap-1 +0x1.238aa8p+1, 0x1.048b0ap+4 +-0x1.d585ap+2, -0x1.007e5p+3 +0x1.96a63p+2, -0x1.76ed2cp-1 +-0x1.0cc9aap+2, 0x1.091108p+9 +0x1.822d08p+1, 0x1.c45b0ep+1 +0x1.790f0ep+4, 0x1.0a21bep+3 +-0x1.964204p-1, -0x1.bfabaep+1 +0x1.210256p+3, 0x1.2fc9dcp+1 +-0x1.147176p+3, 0x1.175a2cp+2 +-0x1.36598p+1, -0x1.e31eacp+1 +-0x1.e1965ep+2, 0x1.f7475cp+1 +-0x1.79fb7cp+0, -0x1.4de636p+3 +0x1.ede512p+1, 0x1.9212f4p+2 +-0x1.19d44p+3, 0x1.6cff28p+3 +-0x1.d7d25ap+2, -0x1.29d01ap+0 +0x1.7de19p+1, -0x1.607632p+0 +0x1.a2f31ep+3, 0x1.03ad6cp+1 +-0x1.db1d98p+2, 0x1.376e9ep+3 +-0x1.85673p+2, -0x1.73156cp+3 +0x1.0d7cfp+3, -0x1.1541ap+3 +-0x1.6c5066p+3, 0x1.69ca3ap+2 +-0x1.906358p+0, -0x1.25ba9ep+3 +-0x1.c4e9ccp+0, -0x1.325732p+1 +0x1.2f069ap+2, -0x1.a64d56p+3 +0x1.369fd8p+1, 0x1.49c102p+1 +0x1.cf366p+2, -0x1.3a1d8p+7 +0x1.5cb90ep+2, -0x1.c30378p+2 +0x1.1686cap+4, -0x1.3cd15p+8 +-0x1.4562f8p+3, 0x1.3f4fa8p+4 +-0x1.46e7p+3, -0x1.a5850ep-3 +0x1.5003d8p+0, 0x1.69dc2p+3 +0x1.b76418p+1, -0x1.9a6b28p+3 +-0x1.1c06d6p+0, 0x1.4df8bcp+0 +0x1.74fad6p+2, 0x1.1ea5d4p+1 +-0x1.c23aeep+2, -0x1.2287aap+4 +0x1.f460ep+2, -0x1.2815a2p+3 +0x1.11c622p+3, -0x1.00a04cp+3 +0x1.86c3bp+2, -0x1.0c876ep+3 +0x1.f3c1aep+1, 0x1.0bb5acp+3 +-0x1.4f4a74p+1, 0x1.07af9p+2 +-0x1.46bf62p+2, 0x1.c90ac6p+0 +0x1.7ed408p+9, -0x1.3f7d86p+4 +0x1.1758aep+4, -0x1.ea024ap-1 +-0x1.1f4fa2p+2, 0x1.4c538cp+2 +0x1.01fbb2p+8, 0x1.2ab1b4p-3 +-0x1.caaed2p+3, -0x1.24519p+1 +0x1.69ed34p+3, 0x1.47e6d8p+1 +-0x1.9eb432p+3, -0x1.a44f2cp+2 +-0x1.2ac158p+3, -0x1.db1cbp+3 +0x1.16e9e2p+4, 0x1.05cdbcp+4 +0x1.b725d6p+2, -0x1.e13268p+2 +0x1.17152p+4, 0x1.65a19p+3 +0x1.eadad8p+2, 0x1.ac8a56p+2 +0x1.7a2ebcp+2, 0x1.db349cp+1 +-0x1.1a776cp+2, 0x1.32d488p+8 +0x1.554a4ap+3, -0x1.ddb5bp+2 +-0x1.dd0ba6p+0, 0x1.a48bfap+0 +0x1.d96366p+0, 0x1.12adecp+0 +0x1.da0a22p+3, 0x1.156a9ap+3 +0x1.1b2606p+4, 0x1.5ffe4ep+5 +-0x1.30556cp+8, 0x1.e3066p+3 +0x1.ea15a2p+2, -0x1.6d3b58p+1 +-0x1.9e00f8p+0, -0x1.8ff59ep+3 +0x1.2f98ccp+3, -0x1.45677ep-3 +0x1.922748p+2, -0x1.7be336p+2 +0x1.9ddebp+2, -0x1.43207p+1 +0x1.e20cc6p+3, 0x1.b9b864p+0 +-0x1.eae822p+1, 0x1.0c96acp+3 +0x1.35b72ap+1, 0x1.cac6e8p+2 +0x1.0af7d6p+4, 0x1.2c2306p+2 +-0x1.cf690cp+3, 0x1.d31112p-2 +-0x1.98fceap+4, 0x1.23b704p+2 +0x1.0c4848p+1, -0x1.58603ap+3 +-0x1.67125cp+0, -0x1.73f744p+1 +0x1.247b9p+1, -0x1.c8c83p+0 +0x1.4d8684p+0, -0x1.31e5bcp+1 +-0x1.6a5f5p+2, 0x1.328ceep+5 +-0x1.3f2738p-4, -0x1.f8d386p+1 +-0x1.c21006p+4, 0x1.6a6e6ep+2 +-0x1.478d08p+4, -0x1.67edbcp+3 +0x1.b51484p+3, -0x1.50031p+4 +0x1.575dfcp+3, -0x1.6a8cf8p+1 +-0x1.b6b866p+1, 0x1.ce4124p+2 +0x1.62112ep+3, 0x1.28ce0ap+1 +0x1.213016p+4, 0x1.43304cp+2 +-0x1.51d478p+0, 0x1.d503fap+2 +0x1.273cp+1, -0x1.3025fp+3 +-0x1.02687ep+0, 0x1.661352p-1 +-0x1.509f28p+3, 0x1.d23a86p+0 +-0x1.242bd6p+3, -0x1.04304ep+0 +-0x1.4501ap+0, 0x1.beed84p+1 +-0x1.53f34cp-3, -0x1.208fcep+2 +-0x1.70704p+3, 0x1.d1395p+1 +0x1.a43102p+2, 0x1.c29d96p+1 +-0x1.e33ab4p+0, -0x1.366598p+3 +-0x1.f82376p+1, 0x1.03858p+2 +0x1.5451bap+2, 0x1.6e523ap+4 +0x1.1f537p+3, -0x1.c929acp+5 +-0x1.8854f6p+1, -0x1.c3be88p+2 +-0x1.02f8e6p+4, 0x1.21c30ep+0 +-0x1.39260ap+3, 0x1.305d36p+2 +-0x1.d26daep+7, -0x1.1e22bep+8 +-0x1.26a326p+4, 0x1.1b64dcp+4 +0x1.7bcd7p+2, -0x1.a82ce6p+1 +0x1.67b038p+3, 0x1.5e4284p-3 +0x1.cfcf84p+0, -0x1.2b4018p+3 +-0x1.c6fd36p-1, -0x1.33103p+6 +0x1.8de14cp+3, 0x1.7f98bap+1 +0x1.0f7248p+3, -0x1.2d128p+4 +0x1.846442p+3, 0x1.6d9612p+3 +0x1.961168p-1, -0x1.83976ap+3 +-0x1.2f42aap+1, 0x1.5d6bc8p+3 +0x1.9996b8p+2, -0x1.a8bafcp+2 +0x1.3285bep+3, 0x1.110c02p+2 +-0x1.2dad96p+4, 0x1.46808ep+3 +0x1.ed810ap+5, 0x1.096d3cp+4 +-0x1.cd342p+2, 0x1.a67102p+2 +0x1.28e3ecp+0, 0x1.a19fbcp+0 +0x1.09be5ep+2, -0x1.5430bep+2 +0x1.75d5ep-1, -0x1.5bfc9ep+1 +0x1.be2ff6p+1, 0x1.d4b286p+3 +-0x1.6b469p-2, -0x1.025496p+1 +0x1.bfc7f6p+1, 0x1.e3112ep+0 +0x1.acab6cp+2, -0x1.9afc7cp-8 +0x1.77b4bcp+1, 0x1.36b19ap+1 +-0x1.23e872p+3, 0x1.db2ddap+2 +-0x1.092de2p+3, -0x1.f092f8p+1 +0x1.7bea3p+2, 0x1.7165ep+2 +-0x1.3c64f4p+1, 0x1.b6ff56p+1 +-0x1.2314eap+3, -0x1.142ffap+1 +-0x1.150e78p+6, -0x1.c92e0cp+0 +0x1.06c51ep+4, 0x1.a01596p+3 +-0x1.3129a8p+3, 0x1.044c62p+2 +0x1.42a4c6p+3, -0x1.499054p+1 +0x1.c2508ep+4, 0x1.b0988cp+1 +0x1.2ddbfep-1, -0x1.b7f9bep+1 +0x1.115e34p+1, 0x1.dc6c6p-1 +-0x1.ba1ae2p+2, 0x1.3693ep-6 +0x1.6dbe5cp+3, -0x1.eb491p+3 +-0x1.0b08ccp+4, -0x1.2bd6cep+0 +0x1.f7cafp+0, 0x1.1b7644p+4 +0x1.101dbp+2, 0x1.adad94p-1 +0x1.b77d9ap+0, -0x1.428fcep+4 +0x1.e4e7acp+2, 0x1.0fbacap+3 +-0x1.55888cp+2, -0x1.2431bep+3 +0x1.d6a132p+1, 0x1.fce084p+3 +0x1.53a56p+2, -0x1.fce03cp+0 +0x1.3253a4p+0, 0x1.7f6e5ap+3 +-0x1.21983p+3, 0x1.61f442p+3 +-0x1.89313ap+3, -0x1.f7f476p+2 +-0x1.28607cp+1, -0x1.cab3dep+1 +0x1.d85946p-1, -0x1.a78304p-1 +0x1.4a2168p+1, -0x1.05e1a2p+4 +0x1.5149cap+4, 0x1.ed04bp-3 +-0x1.83e4bcp+0, 0x1.3b799p+2 +0x1.79c1dep+3, 0x1.d499p+3 +0x1.dfb088p+3, -0x1.67b054p+3 +-0x1.4da0bcp+3, -0x1.777ebcp+2 +-0x1.1f81a6p+3, 0x1.35464ep+4 +-0x1.fb45b2p+3, -0x1.1e1694p+4 +-0x1.00f97cp+7, 0x1.47031ap+3 +-0x1.2047d8p+3, 0x1.c98b8ap+2 +-0x1.a0609ap+3, 0x1.3d6f78p+2 +0x1.15abcep+2, 0x1.f2be5ap-1 +-0x1.34b93ap+3, -0x1.1c9beap+4 +-0x1.838fccp+3, -0x1.e3dc54p+1 +-0x1.25c04ap-2, 0x1.279e6ap+9 +0x1.2a086cp+3, -0x1.b06946p-3 +0x1.9e206p+0, 0x1.8017aap+3 +-0x1.743d14p+2, -0x1.16cd56p+3 +0x1.32478p+2, -0x1.20e082p+2 +0x1.0db4bcp+7, -0x1.2d1532p+3 +0x1.3249f8p-1, 0x1.f6cb8ep-1 +-0x1.9aa5f4p+3, 0x1.5a683p+4 +0x1.23a038p+3, 0x1.44687ap+4 +0x1.412768p+0, -0x1.4d085ap+2 +0x1.43040cp+2, 0x1.abc682p+2 +-0x1.126bbep+1, 0x1.66f808p+0 +0x1.344f6cp+0, -0x1.05a2dp-1 +-0x1.484532p+3, -0x1.464facp+2 +0x1.f430e4p+3, 0x1.5dc382p+2 +-0x1.f5dbc8p+1, 0x1.5b7678p+4 +0x1.134ee2p+4, 0x1.d99bd6p+1 +-0x1.1b9c7cp+0, -0x1.33198cp+2 +0x1.7925c2p+4, 0x1.f5dd76p+3 +0x1.403f86p+3, -0x1.183054p+1 +-0x1.beed56p+3, -0x1.2b5ac6p+3 +0x1.04012cp+8, -0x1.2da19cp+4 +-0x1.8937b2p+2, -0x1.41e506p+1 +-0x1.05150cp+3, -0x1.20300cp+2 +-0x1.9ae39p+1, -0x1.164122p+1 +-0x1.1abfcep+4, 0x1.17beaep+1 +0x1.34bf78p+7, -0x1.07b6e6p+1 +-0x1.362c6ap+3, -0x1.9c368ap+2 +0x1.ffd7f2p+0, 0x1.2dbb44p+1 +0x1.f61562p+2, -0x1.7207b4p+3 +0x1.f65354p+4, -0x1.75abd8p+3 +-0x1.a88d62p+3, 0x1.649264p+8 +0x1.8a88dcp-1, 0x1.a88402p+1 +0x1.648534p+4, -0x1.1cebc8p-1 +0x1.c5ed6cp+2, 0x1.df70c2p-1 +-0x1.c1aeaep+2, 0x1.148e2p+1 +0x1.caf8ecp+1, -0x1.a20238p+2 +-0x1.e7f84p-1, -0x1.096f62p+3 +-0x1.b1df2cp+3, -0x1.947ccep+2 +0x1.77ee0ep-2, -0x1.7065b2p+3 +0x1.5f966p+1, -0x1.26f578p+3 +0x1.c6c8aep+2, 0x1.78b90cp+3 +0x1.a1b4dap+1, -0x1.015c78p+3 +0x1.be6a76p+3, 0x1.7ed894p+1 +-0x1.e0003cp+1, -0x1.5c16p+3 +-0x1.59a6b6p+4, 0x1.aa2862p+3 +-0x1.7aab92p+1, 0x1.fdb388p+1 +-0x1.5938dcp+3, -0x1.d7c554p-1 +0x1.e210ap-4, 0x1.a986b6p+4 +-0x1.fff26p+1, 0x1.6f7934p+2 +0x1.3da11ap+3, -0x1.c4003ep+3 +0x1.a76fe8p+1, 0x1.abe2dap+2 +-0x1.0d534ap+2, 0x1.ff702ep-2 +-0x1.35002ep+2, -0x1.63849ep+2 +0x1.94361ep-1, 0x1.d47f3ap+4 +-0x1.e4fb66p+1, 0x1.8fe30ap+4 +0x1.443872p+2, 0x1.0ca332p+0 +-0x1.578abap+3, -0x1.10d79ep+2 +0x1.c6099cp-3, 0x1.5d0f66p+4 +-0x1.383502p+7, 0x1.c1ccc8p+3 +0x1.985ffep-1, -0x1.fb532ap-2 +-0x1.3cfff8p+1, -0x1.22f3bap+3 +0x1.def44ap+3, 0x1.905e4ep+2 +-0x1.255562p+3, -0x1.c97c64p+3 +-0x1.33da44p+3, -0x1.c2696cp+2 +-0x1.3eeae4p+0, -0x1.fbeee2p-2 +-0x1.d3bab8p+0, 0x1.2706c8p+4 +-0x1.9a7892p-3, 0x1.4d302ep+3 +-0x1.69c614p+4, -0x1.b3bd6ep-3 +0x1.e2c9fcp+3, 0x1.5581ecp+7 +-0x1.7b25d2p+3, -0x1.1af3fp+4 +0x1.9dc892p+2, 0x1.00be26p+4 +-0x1.fe4082p+4, -0x1.c53c98p+3 +-0x1.115f24p+4, 0x1.44a8aep+2 +-0x1.4133b8p+3, -0x1.734b48p+3 +0x1.68030ep-2, 0x1.43814cp+3 +-0x1.192b66p+2, 0x1.ba8a38p+4 +-0x1.8643bap+4, 0x1.4759eep+3 +0x1.11192ep+3, 0x1.b4b47p+2 +-0x1.62c904p+3, 0x1.668dc6p+3 +-0x1.e4bd94p+2, 0x1.1293bep+6 +0x1.e87f5cp+3, 0x1.539a96p+3 +0x1.3f961ep+4, -0x1.fa37d8p+1 +0x1.2e5e8ap+2, -0x1.a193acp+2 +0x1.a2c608p+3, 0x1.55e442p+3 +0x1.642d82p+2, 0x1.197db6p+3 +0x1.e05ad8p+1, 0x1.1cedaep+4 +0x1.524d74p+3, 0x1.cce582p+2 +-0x1.e0c796p+3, 0x1.49097ap+4 +-0x1.4118e2p+4, 0x1.5e7e8ap+2 +-0x1.735a14p+2, 0x1.7f4442p+0 +0x1.06d9cep+0, -0x1.12fb44p+3 +0x1.21a162p+2, -0x1.a17074p+2 +0x1.8cf59ap+2, 0x1.460e8cp+0 +0x1.5e4f72p+3, 0x1.57de2ep+2 +-0x1.1ececcp+4, -0x1.cf4a34p+2 +-0x1.8c667ap-4, -0x1.4667aap+3 +-0x1.2a79dep+1, 0x1.0b9bb6p+4 +0x1.21695ap+1, 0x1.749b2ap+3 +-0x1.bd6eeap+1, 0x1.8d7a88p+3 +0x1.0c00eep+2, -0x1.9d0734p+2 +0x1.50bf5ap+3, -0x1.35a99ap+4 +0x1.ccdf4ap-2, -0x1.6151dap+3 +-0x1.26cd04p+1, -0x1.28b71ep+2 +-0x1.9393ap-2, -0x1.2e7f6p+3 +-0x1.ac1ac4p+3, 0x1.975dfcp+2 +-0x1.9b4d02p+3, -0x1.5371a8p+3 +0x1.c669d4p-1, -0x1.f9b042p+1 +0x1.69a4bep+4, 0x1.f67ed6p+2 +-0x1.066ee8p+5, -0x1.0f81eap+3 +0x1.01395ap+2, 0x1.a3bc3ep+2 +0x1.2e771ap+3, 0x1.6dc22ap+3 +-0x1.838cf2p+3, 0x1.c4cbdap+3 +0x1.4a1426p+4, -0x1.3419fap+1 +0x1.bb7d9p+0, -0x1.47957ap+2 +0x1.ff64d4p+2, 0x1.b88598p+3 +-0x1.48c8d8p+0, -0x1.abb53ep-1 +-0x1.29bb1ep+3, -0x1.e4ab3ap+1 +0x1.b6f364p-3, 0x1.294b34p+0 +0x1.4f6c84p+3, -0x1.34e372p+4 +0x1.a02bep-1, 0x1.ff457cp+2 +0x1.478036p-2, -0x1.36c592p+0 +-0x1.5e0c9cp+1, -0x1.f36e2p+3 +-0x1.5bdc7p+3, -0x1.fdf866p+1 +-0x1.a3df9cp+2, -0x1.acaa14p+1 +0x1.54e382p+0, 0x1.eb91dp+3 +0x1.360a7cp+3, -0x1.5e33c8p+0 +-0x1.8caeaep+0, -0x1.c8afbcp+3 +-0x1.029e5ap+2, 0x1.6ed93cp+3 +0x1.bbce24p+4, -0x1.32c3fap+4 +-0x1.999f84p+3, -0x1.7dfaa6p+3 +0x1.44cabp+3, 0x1.1806cep+4 +-0x1.f395eep-1, 0x1.829c3ep+3 +0x1.40995p+2, 0x1.96de1ap+2 +0x1.5e8f06p+2, 0x1.58d52p+1 +-0x1.443d26p+2, 0x1.9f9ae6p+3 +-0x1.077a5cp+2, 0x1.6fd23cp+2 +0x1.5abffap+4, -0x1.2c9a5cp+4 +0x1.477ea6p+4, 0x1.c62db8p+8 +-0x1.a9507p+2, 0x1.cc772ap+2 +-0x1.1019dcp+6, 0x1.22b626p+2 +0x1.c0df28p+2, -0x1.addfe8p+3 +-0x1.d7a962p+1, -0x1.5c8bdp+3 +-0x1.617b48p+3, -0x1.3138d8p+3 +0x1.14eb1cp+1, 0x1.df6012p+2 +0x1.8cab9ap+3, -0x1.1f39dcp+2 +-0x1.86965ep+3, -0x1.9d623ap+0 +0x1.1c69d4p+7, 0x1.8d4b26p+2 +-0x1.3fc54ep+1, 0x1.993982p+1 +0x1.2f6b4cp+2, -0x1.3c2eacp+2 +-0x1.f8df46p+1, 0x1.942df8p+2 +-0x1.a350d8p+1, 0x1.026f8ep+4 +-0x1.38c31p+0, 0x1.9ff17ep+0 +0x1.8d821ap+3, -0x1.13806ep+2 +0x1.5d501ep+0, -0x1.a0e5e4p+4 +-0x1.b5cb36p+0, 0x1.87b81p+3 +-0x1.283f44p+3, 0x1.2186b6p+3 +0x1.fdc92p+3, 0x1.34f186p+3 +0x1.456e7ep+3, -0x1.ebce02p-1 +0x1.d903cp-1, 0x1.7ec3d8p+3 +0x1.220cf8p+1, -0x1.37845ap+3 +-0x1.7f5f84p+2, 0x1.1cfd48p-2 +-0x1.41c844p-2, -0x1.746656p+1 +-0x1.4d6d6ep+2, -0x1.e4bdaap+3 +-0x1.30a6c8p+4, -0x1.2c0ecep+5 +-0x1.4dde62p-1, -0x1.7b6e9ep+4 +-0x1.0fa974p+3, 0x1.f40de6p+3 +-0x1.371cf4p+2, 0x1.e14282p+1 +0x1.77c7b6p+0, -0x1.362016p+4 +-0x1.03e246p+4, 0x1.024be6p+4 +-0x1.897d54p+3, -0x1.c3c31ep+3 +-0x1.108dc6p-2, -0x1.c67c6p+2 +-0x1.a46ecp+0, -0x1.d2f5a4p+7 +-0x1.7b5cd2p+3, 0x1.0e3964p-2 +0x1.912846p+2, 0x1.6b31f6p+3 +-0x1.557638p-1, -0x1.16f75cp+3 +-0x1.1c278p+4, 0x1.076556p+2 +0x1.f5ece8p+0, 0x1.7845d8p+1 +0x1.61547p+1, 0x1.525f58p+3 +-0x1.06365cp+4, 0x1.19dc58p+2 +0x1.1359bep+7, -0x1.5cde1ep+2 +-0x1.86b80ep+4, 0x1.e149e4p+3 +0x1.fcbef6p+2, 0x1.5eb00cp+0 +-0x1.fc7c72p-6, -0x1.76febp+2 +-0x1.493eaap+2, -0x1.9dbb2cp+2 +0x1.6153e4p+3, -0x1.e741bcp+3 +0x1.ec95a8p+1, -0x1.1790d8p+3 +0x1.0e054p+2, -0x1.9bb546p+5 +-0x1.62cc3ep+5, 0x1.cab28ap-1 +-0x1.1692dcp+4, 0x1.a6f02p+2 +-0x1.ea675cp+3, 0x1.24337ep+3 +0x1.28d432p+2, 0x1.77992cp+2 +0x1.f7fe6cp+3, -0x1.aad3bp+2 +-0x1.598b86p+3, -0x1.72c82ap+2 +-0x1.055598p+4, 0x1.4e3218p+3 +0x1.2687bp+2, -0x1.8c21a8p+6 +-0x1.a41f22p+1, -0x1.ce9a8ep+3 +0x1.099acep+4, -0x1.707b76p-1 +-0x1.8bd1f6p+4, 0x1.b44a9ap+2 +-0x1.b12ea8p+3, 0x1.e5d612p+1 +0x1.24b0d2p+4, 0x1.2988bp+4 +0x1.e924b4p-2, 0x1.1aa15cp+1 +-0x1.a975dap+4, -0x1.8d336ep+3 +-0x1.48a8f2p+2, 0x1.a08cccp-2 +-0x1.2a568ap+2, 0x1.dde114p+0 +-0x1.254f4cp+3, -0x1.7823c4p+3 +-0x1.92160cp+2, 0x1.963644p-6 +0x1.a5b9fap+2, -0x1.08d57cp+3 +-0x1.69d3aap+4, -0x1.03ea5ep+3 +0x1.93639ep-6, 0x1.0c53cap+2 +-0x1.0435fap+4, -0x1.bd64acp+2 +0x1.ddfec8p+0, -0x1.dc7d62p+2 +-0x1.b557a8p+3, 0x1.18c1bcp+0 +0x1.41996cp-1, -0x1.800094p+3 +-0x1.95bc4ap+3, -0x1.cd665p+3 +-0x1.d2b67p-7, 0x1.617284p-5 +-0x1.275764p+1, 0x1.c941e4p+2 +-0x1.5c930ep+4, -0x1.71b95ap-1 +-0x1.f48a46p+0, 0x1.5f2426p-3 +-0x1.7a2f38p+3, -0x1.0e5342p+6 +-0x1.772deap+2, -0x1.0b9bc4p+2 +-0x1.235508p+4, 0x1.267378p+2 +-0x1.bbcd18p-1, 0x1.b3e46ap+3 +-0x1.a0cc8ap+2, -0x1.e251dcp+3 +0x1.649766p+2, -0x1.1563e2p+3 +0x1.c3737p+2, 0x1.07d64cp+0 +-0x1.4a0bacp+1, -0x1.ef86dcp+3 +-0x1.13bdb4p+0, -0x1.a2b86ep+3 +0x1.c0db8ep+3, -0x1.0b4bp+0 +-0x1.56d9d6p+3, -0x1.0d5732p+9 +0x1.24a50ap+4, 0x1.6adb3cp+3 +0x1.84adbap-3, -0x1.bb536p+3 +0x1.1ba17ep+3, -0x1.2ba3d8p+3 +-0x1.3bca4ap+1, 0x1.a6143ep+2 +-0x1.f54b3ap+2, 0x1.3eed3ep+2 +-0x1.463fecp+1, -0x1.25e91cp-2 +-0x1.3c2466p+1, -0x1.34fd9ep+1 +-0x1.f9d026p+1, 0x1.08db2ep+3 +0x1.2379a4p+3, 0x1.e893ccp+0 +0x1.8601fp+2, -0x1.144afp+4 +0x1.3d848ep+2, 0x1.52490ep+3 +-0x1.52ba9p+1, -0x1.5db56cp+2 +-0x1.afcb5p+0, -0x1.876adcp+3 +0x1.a56b98p+3, 0x1.3695bp+1 +0x1.d0aabep+2, -0x1.38eebcp+3 +-0x1.1d47fp+3, 0x1.7e54c2p+3 +-0x1.05e246p-3, 0x1.a2287ap+3 +0x1.60ecaap+3, -0x1.cec702p+3 +0x1.e4255p+2, 0x1.7f3a88p+1 +-0x1.2d9f66p+1, 0x1.1fc764p+0 +-0x1.4b9506p+1, 0x1.55bd7p+1 +0x1.3d4ddp+2, -0x1.4b8f8p+3 +-0x1.2e026p+4, 0x1.45e7eap+2 +0x1.070dfcp+4, -0x1.ca0648p+1 +-0x1.548cc4p+3, -0x1.9b0df2p+3 +-0x1.1f8caap+4, 0x1.e9b398p+1 +0x1.1efb94p+3, -0x1.1bd9dap+4 +-0x1.69f29cp+2, -0x1.04bc78p+5 +-0x1.8e8416p+1, -0x1.02ff1ap+4 +0x1.fff844p+3, -0x1.ae7b8cp+4 +-0x1.0e14ep+2, -0x1.ff7dep-2 +-0x1.2c405ap+2, -0x1.ba9068p+1 +-0x1.788084p+2, -0x1.f0bbb8p+3 +-0x1.411b2cp+4, -0x1.6b206cp+2 +0x1.be4ee6p+2, 0x1.0ca82p+3 +0x1.f6c1p+3, 0x1.c1a5d8p+2 +0x1.6f690cp+3, -0x1.b0ca16p-1 +-0x1.b3572cp+0, 0x1.bb1bbep-1 +0x1.c52268p+3, 0x1.f110ccp+0 +-0x1.6fda48p+0, 0x1.254c3cp-1 +-0x1.0ce1a6p+4, -0x1.2216bp+1 +-0x1.269fcp+3, -0x1.ae03a2p+3 +0x1.b65068p+4, -0x1.77ea6p+3 +-0x1.6a0504p+2, -0x1.e8b1cep+2 +0x1.16eebcp+3, -0x1.03909cp+3 +-0x1.501dcp+0, -0x1.70d4fcp+3 +0x1.26f7fep+2, 0x1.3299cp+2 +0x1.1554e6p+3, -0x1.286cb2p+3 +-0x1.0f307ep+0, 0x1.03df94p+4 +-0x1.b00bfcp+3, -0x1.0362e2p+0 +0x1.9ddb14p+2, -0x1.75e6f2p+4 +-0x1.06a73ep+4, -0x1.46fbf2p+3 +0x1.cb8d76p+3, -0x1.31a6fp+3 +-0x1.085c6ap+3, -0x1.96967p+2 +0x1.496d3p+4, -0x1.3ef172p+3 +0x1.43fa46p+2, 0x1.b1be2ep+1 +-0x1.a90b9ep+2, 0x1.e16ep+2 +0x1.e11c06p-1, -0x1.9719eep-2 +-0x1.95f6a6p+2, 0x1.fa93bp+1 +0x1.f93eacp+3, 0x1.034a3p+2 +-0x1.ba1e82p+3, 0x1.1eb79p+2 +-0x1.2cfa82p+1, 0x1.5b6caap+3 +0x1.b81032p+3, 0x1.715d88p+2 +0x1.444594p+3, -0x1.484778p+0 +-0x1.64a042p+3, -0x1.da5f1p+2 +-0x1.68f8ecp+4, -0x1.ae5decp+3 +-0x1.4878e8p-1, -0x1.4f376ep+1 +0x1.97cd7p+7, 0x1.72f196p+2 +-0x1.93c604p+3, -0x1.f71434p+1 +0x1.eab07p+2, -0x1.196966p+2 +0x1.17e578p+1, -0x1.e08818p+3 +0x1.c50ae6p-2, -0x1.dd1f8ep+1 +-0x1.49a4acp-3, 0x1.5d4d4p+2 +0x1.0eef02p+1, 0x1.744108p+3 +-0x1.70f18ep+1, 0x1.20a7a8p+0 +0x1.2a468ep+3, -0x1.07de72p+1 +-0x1.e955c8p+0, 0x1.8424bap+0 +0x1.5ed6eap+2, -0x1.c4bba4p+2 +0x1.01dfc8p+2, -0x1.2a2804p+3 +-0x1.ec2a64p+3, -0x1.965118p+2 +0x1.652094p+2, -0x1.a6e8cap+3 +-0x1.d50fbep+4, -0x1.958ef4p+0 +-0x1.e75bc6p+2, -0x1.6dacep+3 +0x1.49bd74p+4, 0x1.b8864p+2 +-0x1.24d046p+2, 0x1.e0d98ap+4 +-0x1.08aedp+1, 0x1.e38e14p+0 +-0x1.372246p+3, 0x1.ae3a7p+1 +-0x1.6bb8eep+3, 0x1.12eeb2p+9 +0x1.10521ep+3, 0x1.708da2p-2 +0x1.d3996p+2, -0x1.923954p-1 +-0x1.a3ab8ap+2, 0x1.1cbc1p+4 +-0x1.2ea156p+4, -0x1.7e9a28p+2 +-0x1.c8c122p+6, 0x1.3f9934p+0 +0x1.4df64cp+3, 0x1.8033c2p+3 +-0x1.fa8cacp+0, 0x1.f07676p+0 +0x1.14d154p+4, 0x1.5c1fd8p+1 +0x1.b775dap-2, 0x1.f1b8bp+3 +0x1.eecfa6p+3, 0x1.4f431ep+1 +-0x1.4917b8p+3, -0x1.59b224p+4 +-0x1.d9c528p-1, -0x1.bee616p+1 +0x1.657e8ap+0, -0x1.147284p+2 +0x1.2da1ep+3, 0x1.f7ada2p+1 +-0x1.875cdp+1, -0x1.e838c4p+2 +0x1.7929e4p+3, -0x1.b51f66p-2 +0x1.385c4ap+8, 0x1.62d1c8p+4 +-0x1.67a6bap+2, 0x1.012dfep+4 +-0x1.60fcd4p+4, -0x1.d29306p+6 +0x1.82afd4p+2, -0x1.c852aep+3 +0x1.7bb842p+3, -0x1.8d6114p+3 +-0x1.ced656p+3, -0x1.02d3dap-3 +-0x1.25390ep+3, -0x1.531304p+4 +-0x1.d30b86p+1, 0x1.1f2fa2p+1 +0x1.74d9aep+3, -0x1.514432p+7 +-0x1.70e71ep+2, -0x1.2af0e8p+2 +0x1.e63eaap+3, -0x1.9ef63cp+1 +-0x1.ccc9p+3, -0x1.e3a37ep+2 +0x1.8a4226p+5, -0x1.de9408p+3 +0x1.da938cp+3, -0x1.63f306p+3 +-0x1.4426c8p+0, 0x1.1e31a2p+2 +0x1.65c7ccp+3, 0x1.78858ep+4 +-0x1.dad4bap-1, -0x1.435c48p+4 +0x1.1cec28p+4, -0x1.9bced6p-6 +-0x1.e894b4p+3, -0x1.058dcap+4 +0x1.4e4aeap+2, -0x1.078f7p+5 +0x1.f381fep+2, 0x1.8ee6a8p+3 +-0x1.d82a16p-3, 0x1.90756ep+3 +0x1.d6153ep+3, 0x1.af4486p+3 +-0x1.a80a5cp+2, -0x1.e59a82p+3 +0x1.f4e758p+3, 0x1.53437ep+3 +-0x1.ddc8f2p+2, 0x1.4d2386p+3 +0x1.dd19dcp+0, 0x1.3c975p+2 +0x1.75a202p-1, -0x1.07135p+3 +0x1.801d1ap+2, 0x1.efd0ep+3 +0x1.9a387cp+0, -0x1.7cb746p+2 +-0x1.e11c36p+2, 0x1.44d5e2p+4 +0x1.24fcap-9, 0x1.586f1ap+4 +0x1.df7d5cp+1, -0x1.50e398p+1 +0x1.e94e74p+1, -0x1.0783dcp+3 +-0x1.b1826ep+4, 0x1.f94d2cp+2 +-0x1.c63742p+1, -0x1.55be6ap+2 +0x1.06c194p-1, -0x1.9518ccp-1 +0x1.11ce94p+3, -0x1.8c83c6p+4 +0x1.7c9948p+2, -0x1.368f6p+2 +-0x1.77597ap+2, -0x1.0fc0a8p+3 +0x1.078982p+3, 0x1.41794ap+2 +-0x1.6a7fb6p+1, 0x1.0130ecp+1 +0x1.3a6f48p+2, -0x1.06ec3ep+3 +0x1.2e873ep+0, -0x1.bbfcecp+3 +0x1.0d9c8cp+3, -0x1.8bf836p+3 +0x1.5867aap+1, -0x1.46e636p+1 +0x1.64bad6p+2, 0x1.25b17ap+3 +-0x1.30be6cp+3, 0x1.0c7e7ep+3 +0x1.fc3db8p+2, -0x1.2e7c1ep-2 +-0x1.8a437cp+6, -0x1.2b2982p+1 +0x1.a277c4p+3, -0x1.b762b2p+2 +-0x1.316b9p+1, 0x1.649818p+1 +-0x1.01674ap-1, 0x1.66d238p+3 +-0x1.f10df4p+2, -0x1.62c984p+4 +-0x1.01f502p+2, 0x1.d3df2ep+2 +-0x1.e05174p+3, 0x1.a4e73ep+2 +-0x1.bd0596p+3, -0x1.8771dp-3 +-0x1.3dca52p+3, 0x1.e5061ep+0 +-0x1.bb9456p-1, 0x1.e71896p+1 +-0x1.80dddep-1, 0x1.67184cp+0 +-0x1.e1dddep+2, -0x1.927dccp+2 +-0x1.e9e4bp+2, 0x1.9c4e3p+1 +0x1.f9f644p-1, -0x1.f840c4p-3 +-0x1.b58a68p+3, 0x1.d2709ep+2 +0x1.8b90c8p+2, -0x1.95fb0ep+2 +0x1.0a4ed2p+4, -0x1.0b5578p+2 +-0x1.f835b6p+2, 0x1.3d7bfep+4 +-0x1.97934p+2, 0x1.0025fep+2 +-0x1.00c524p+4, 0x1.bf0fbcp-2 +-0x1.156364p+3, 0x1.b32f26p+1 +0x1.d31834p+3, -0x1.43d26cp+2 +0x1.bc71a6p+3, 0x1.d897f4p+1 +-0x1.c58bf4p+1, -0x1.ee0cc6p+1 +-0x1.935c5p+1, -0x1.dbc57cp+2 +-0x1.a03af6p+2, -0x1.7abba2p+4 +0x1.1434bcp+4, 0x1.e07be6p+4 +0x1.c33f5ap+3, 0x1.3b3e4cp+2 +-0x1.7143cep+1, -0x1.1307bcp+3 +-0x1.64d0e8p+1, 0x1.648688p+4 +-0x1.5b5e3p+2, -0x1.b7375cp+2 +-0x1.83fc0ap+6, -0x1.2fdc6ep+3 +-0x1.480c0ep+6, 0x1.4853eap+3 +0x1.30abeap+3, -0x1.836654p+3 +0x1.cd14d2p+1, -0x1.19cc72p+2 +-0x1.45c982p-2, 0x1.2529f6p+0 +0x1.409a28p+2, -0x1.26fb74p+1 +0x1.65d004p+2, 0x1.21ad6cp+1 +-0x1.34b39ap+3, 0x1.7169eap+2 +-0x1.782edep+2, 0x1.1b4cp+4 +0x1.1db916p+3, 0x1.41e33ap+2 +-0x1.6a320ep+5, -0x1.6cfc1ep+1 +-0x1.5d9e4p+3, -0x1.b29bc8p+3 +-0x1.6ed4c6p+2, 0x1.05de48p+2 +-0x1.6a0cb4p+1, 0x1.f0463cp-1 +-0x1.8273bap+3, 0x1.d1edb4p+3 +0x1.ea4d06p+3, -0x1.1f763cp-2 +-0x1.12214ap+1, 0x1.38b962p+6 +0x1.f56658p+2, 0x1.3976b2p+2 +0x1.c5e68p+3, -0x1.f62afcp+2 +0x1.32030cp+4, -0x1.bab456p-1 +-0x1.e1aafap+2, 0x1.46872cp-2 +-0x1.271674p+3, 0x1.08b0b4p+3 +-0x1.858f88p+3, -0x1.59ea86p+1 +0x1.6b3f0cp+0, 0x1.b504bap+2 +0x1.fe756ap+2, -0x1.4e6446p+2 +-0x1.2d0dbp+4, -0x1.04659ap+3 +0x1.b689f8p+3, -0x1.a32ce8p+2 +0x1.ea01c4p+3, 0x1.2111dp+3 +0x1.d68322p+3, -0x1.e2efc2p+2 +-0x1.797e72p+1, 0x1.e86848p+2 +0x1.0fdeep+4, -0x1.140a26p+0 +0x1.45b2fap-3, -0x1.2090bp+3 +-0x1.903c26p-1, -0x1.c7df9ap+1 +-0x1.baf402p+2, -0x1.168db6p+4 +-0x1.9be9cep+2, 0x1.b036ccp+2 +-0x1.d5da4cp+1, -0x1.c5cd9ep+1 +-0x1.a938e4p+3, 0x1.9ac208p+2 +-0x1.b2b9cep+4, 0x1.10eabap+1 +0x1.9855c6p+1, -0x1.27d976p+3 +0x1.9b628ep+3, -0x1.99d82ep+3 +0x1.775502p+4, 0x1.d03ab2p+3 +0x1.0d4296p+3, 0x1.361332p+4 +0x1.31812ap-1, -0x1.c64fdap+3 +-0x1.024512p+3, -0x1.9ea098p+4 +0x1.53742ep+1, -0x1.43e584p+3 +-0x1.495ddep+3, -0x1.39697p+4 +0x1.c3dc14p+0, -0x1.bf4e1p+1 +-0x1.78d74ep+2, -0x1.cf9dcp+2 +-0x1.8df9b8p+2, -0x1.5b8c5ep+3 +-0x1.11681cp+1, -0x1.f3c11p+0 +0x1.c6eccep+2, 0x1.0c4d7ap+2 +-0x1.eb442ep+3, -0x1.2098ap+0 +-0x1.88ead2p+2, -0x1.08462cp-1 +-0x1.13ae5p+4, -0x1.33bf56p-3 +0x1.829774p+8, -0x1.3be412p+4 +-0x1.3ad89p+1, 0x1.8cecdep-2 +-0x1.cbf4dap+2, 0x1.b8ce3p+3 +0x1.9cd354p-6, -0x1.681b7ep+4 +-0x1.f11004p-1, -0x1.5b06bcp+3 +-0x1.60f6f2p+2, -0x1.0d98cep+3 +-0x1.c71b8p+1, -0x1.4982aep+2 +-0x1.c53f08p+2, 0x1.4c651p+2 +0x1.341ec8p+2, 0x1.3b2c7cp+2 +0x1.07159cp+2, -0x1.e16c86p+2 +0x1.a869fcp+2, -0x1.e11324p+2 +0x1.a4d634p+1, 0x1.e5051p+3 +-0x1.a6e3cap+0, 0x1.956e1p+2 +0x1.1619bp+3, -0x1.339d94p+3 +-0x1.27512p+0, 0x1.aaeaf8p+3 +0x1.b9c934p+3, -0x1.6b336ap-2 +-0x1.a3e50ep-1, 0x1.b076fep-2 +0x1.1f6a18p+0, 0x1.37f0fcp-1 +0x1.3bbab6p+3, -0x1.0973dcp+2 +-0x1.e4ff3cp+2, 0x1.2aeb48p+1 +-0x1.cce7e8p+2, 0x1.2851c2p+4 +0x1.6a232p+3, 0x1.234b8cp+4 +0x1.e44e04p+2, -0x1.06a0e2p+3 +0x1.134b74p+4, 0x1.c4c4dp+1 +-0x1.55f1e8p+3, -0x1.8d76e2p+1 +0x1.ece418p+3, 0x1.b979aap-2 +0x1.eed2dap-1, 0x1.007f86p+3 +-0x1.deee54p+1, -0x1.89e6eap+2 +-0x1.81779ep+1, -0x1.d2d4e6p+1 +-0x1.191336p+5, -0x1.338c98p+1 +0x1.1b180cp+4, -0x1.9e2dd6p+2 +0x1.3fd206p+3, -0x1.4256d2p+2 +-0x1.5b5778p+3, -0x1.04e69ap+3 +-0x1.27fbccp+1, -0x1.769b52p+2 +0x1.0932f4p+2, 0x1.0b6128p+2 +0x1.0b2df4p+4, 0x1.93a04p+0 +-0x1.02250cp+4, -0x1.4e7f86p+2 +-0x1.1156c6p+2, -0x1.122036p-2 +0x1.14e246p+2, 0x1.7ba1dap+2 +0x1.44c38ep+4, -0x1.0b7714p+0 +0x1.b987d4p+4, 0x1.2a37dp+3 +0x1.712494p+1, -0x1.e5f6d2p-4 +0x1.cc534cp+0, 0x1.1d1d1ap+2 +-0x1.076e8ap+2, 0x1.c04e16p+3 +0x1.1c264p-1, 0x1.7443acp+3 +0x1.ec33ccp+1, -0x1.d3bae4p+2 +0x1.17cf9ap+4, 0x1.e2b466p-1 +0x1.3cb3ep+1, 0x1.eab478p+3 +-0x1.29150ap+3, -0x1.695bap+1 +0x1.c97486p+3, 0x1.42f012p+1 +0x1.db498cp+3, 0x1.bd2bb6p-1 +0x1.00e5b4p+1, -0x1.104b2ep+7 +-0x1.cd2856p+2, -0x1.6f4a38p+4 +0x1.b4dfecp+3, 0x1.00667ep+4 +-0x1.ac174cp+2, 0x1.08790ap-1 +-0x1.334478p+4, 0x1.07afbap+2 +-0x1.cf2ac8p+2, -0x1.eb833cp+2 +-0x1.752342p+3, -0x1.9b26d4p+2 +0x1.a9207cp+3, -0x1.a43f1cp+2 +0x1.b5ccb4p+2, 0x1.510552p+4 +0x1.e2803ap-4, -0x1.e16d84p+1 +0x1.656842p+3, -0x1.380a0cp+1 +0x1.ba6e86p+3, 0x1.883fdp+1 +-0x1.ed2f98p-1, -0x1.2da1d4p+2 +0x1.839fa8p+1, 0x1.5dd11ap+2 +0x1.5efc92p-2, -0x1.c64f2ap+2 +0x1.ac7feep-3, 0x1.d0b7d2p-1 +0x1.e9b82ep+2, 0x1.2621b6p+3 +-0x1.cf09e8p+2, 0x1.a11c94p+2 +-0x1.943fa4p+4, -0x1.4d06bcp+3 +-0x1.716294p+3, 0x1.1ea25ap-1 +0x1.734d74p-1, 0x1.39d334p+4 +-0x1.5ae604p+2, 0x1.4e6eeep+3 +-0x1.a5fff4p+2, -0x1.3fd468p+1 +0x1.30d0dep+2, 0x1.4f5a2ap-3 +-0x1.5bebbep-2, 0x1.361b5ap+1 +0x1.83383cp+2, 0x1.288836p+0 +0x1.f199a4p+2, -0x1.6cf9e6p+3 +-0x1.f5dc6ep-2, 0x1.087fc2p+5 +-0x1.25388cp+4, -0x1.b99106p+3 +0x1.276b2cp+3, 0x1.c413e6p+0 +-0x1.13fc0ep+1, -0x1.132c92p+3 +0x1.9af1d6p+2, -0x1.957762p+3 +-0x1.916b9p+3, -0x1.369dep+2 +-0x1.5abd38p+3, -0x1.714bap+1 +0x1.667662p+1, 0x1.8cba48p+2 +0x1.3c207p+3, 0x1.215c04p+4 +-0x1.165954p+3, 0x1.91b882p+3 +0x1.5a42fp+3, -0x1.f81daep+3 +0x1.2d89d2p+4, 0x1.1b20bcp+3 +-0x1.d57d68p+2, -0x1.64707ep+2 +-0x1.32f91ep+1, 0x1.e347b6p+1 +-0x1.1d517cp+3, 0x1.3e2284p+4 +-0x1.897324p+3, 0x1.147b54p+2 +0x1.c459bap+1, -0x1.c8cf76p+2 +0x1.157afcp+3, 0x1.e39ac4p-5 +0x1.78fc0cp+2, 0x1.69b2e4p+2 +-0x1.d7fcdcp+3, 0x1.40d3c8p+8 +0x1.76546cp+2, 0x1.314f6p+2 +-0x1.c06576p+3, 0x1.861332p-5 +0x1.83ee1ep+1, -0x1.c1e5a8p+1 +-0x1.4c5af2p+4, -0x1.6ad22p+2 +-0x1.c98616p+2, -0x1.1254f2p+8 +0x1.be9244p+4, 0x1.226caep+3 +0x1.d6649ep+1, 0x1.b7d4ccp+1 +-0x1.0686cap+3, -0x1.006dep+2 +-0x1.40a8c4p+0, -0x1.f46534p+1 +0x1.f414ccp+2, 0x1.558054p+2 +0x1.9ce15ep+2, -0x1.a67c02p+2 +0x1.bb2334p+3, 0x1.01b534p+6 +0x1.f421cap-1, 0x1.0b37d4p+4 +0x1.0c1ca8p+7, -0x1.19519cp+0 +0x1.6850bap+1, -0x1.d5822ap+3 +0x1.5a719p+2, -0x1.68d604p+2 +-0x1.45bcc8p+3, -0x1.7422cp+2 +-0x1.241984p+1, -0x1.0be98ap+4 +0x1.a4cd28p+2, 0x1.2955fcp+3 +0x1.777c8ap+2, 0x1.3f9392p+0 +-0x1.719874p-6, -0x1.bca608p+4 +0x1.360bp+2, -0x1.94fdbp+2 +-0x1.503dbcp+3, -0x1.ba773cp+2 +0x1.20fa98p+3, -0x1.9c353p+2 +0x1.3fc516p+3, -0x1.1d00bap+3 +-0x1.661cd8p+3, -0x1.7b51bp+2 +0x1.8e2b1ap-2, 0x1.f36ebp+3 +-0x1.643f5p+4, 0x1.80b2d2p+2 +-0x1.387e42p+3, 0x1.a97858p+3 +-0x1.5899fcp+2, 0x1.1d6756p+3 +0x1.084ebcp+1, 0x1.49e86p+4 +-0x1.b846aap+0, -0x1.b61bd2p+2 +-0x1.3017a4p+4, 0x1.26de38p+1 +0x1.350184p+1, -0x1.a72934p+3 +-0x1.27b1a2p+4, 0x1.764f92p+4 +0x1.227cb6p+2, 0x1.fdb834p+3 +0x1.c1c906p+3, -0x1.11009p+0 +-0x1.3468d4p+2, 0x1.b1918p+3 +0x1.dfd676p+2, 0x1.038bdcp+1 +-0x1.3eb90ep+1, -0x1.12daf2p+3 +0x1.51c9cap+2, -0x1.b4798ap+3 +0x1.4ff31cp+1, -0x1.85e216p+1 +-0x1.b0d4cap+2, -0x1.7da2d8p+1 +0x1.47d068p+3, 0x1.50736ap+1 +-0x1.07d7c8p+4, 0x1.185a76p+2 +0x1.ef703ep+3, -0x1.d7db9ep+3 +-0x1.9bb6cp+1, -0x1.b0f34ap+7 +-0x1.d981d8p+0, 0x1.b5ed18p-1 +0x1.0009fep+3, -0x1.be3208p+1 +0x1.b1f824p+0, -0x1.0dcd04p-1 +0x1.4f2404p+9, 0x1.d3a978p+0 +0x1.65c314p+1, -0x1.787602p+1 +-0x1.d15958p+1, -0x1.288188p+3 +-0x1.199688p+4, -0x1.21614ap+4 +-0x1.cf1378p+1, -0x1.e4c4e6p+2 +0x1.6b9c2ep+0, 0x1.64652cp+2 +0x1.10f5c8p+3, 0x1.c2861ep+3 +0x1.3d513ap+4, -0x1.1fcfc2p+2 +0x1.1230cap+3, 0x1.526fa8p+2 +-0x1.302c0cp+0, -0x1.22a2acp+3 +-0x1.2cfd2p-3, -0x1.cd2f3cp+4 +0x1.3b251ap+3, 0x1.7223e4p+3 +-0x1.3f6b5p+1, 0x1.8a4ed4p+2 +0x1.df94fep+2, -0x1.070876p+4 +0x1.84f23ep+1, -0x1.0ce3dep+3 +-0x1.2aa0bp+1, -0x1.480ce2p+0 +0x1.3d1bf4p+1, 0x1.05e4fep+2 +-0x1.90615ap+3, 0x1.5951a8p+3 +-0x1.397488p+1, -0x1.184ce8p+1 +0x1.90621p+1, 0x1.e8d18p+3 +-0x1.2e2e28p+3, -0x1.9e319ep+2 +0x1.cc3014p+3, -0x1.9cfa28p+2 +-0x1.5f3eaap+3, -0x1.84f3aap+3 +-0x1.bce88cp+3, 0x1.3416b8p+1 +-0x1.547e2p+4, -0x1.058d6cp+3 +-0x1.85e89ep+0, 0x1.42d902p+2 +-0x1.d438cep+1, -0x1.845488p-1 +-0x1.dbdb48p+0, 0x1.a72924p+1 +0x1.cca6e8p+1, 0x1.130d3p+3 +0x1.fb8fccp-1, -0x1.f6d9cap+3 +-0x1.23affep+5, -0x1.5287e8p+3 +0x1.b9ea92p+2, -0x1.bcab9ap+3 +0x1.85374ap+0, -0x1.866abap+0 +0x1.273894p+3, -0x1.c24c2ap-4 +0x1.b77e92p+2, 0x1.0ea942p+3 +0x1.6b4f86p+2, -0x1.b96706p+2 +-0x1.50ae2ap+1, -0x1.d6b7e6p+1 +0x1.9348fep+3, 0x1.5014f2p+2 +0x1.ae4e22p+2, -0x1.f1557ep-2 +-0x1.71871ep+0, -0x1.63b308p+0 +0x1.3b18c4p+3, 0x1.de5c6ep+3 +0x1.049a66p+3, 0x1.54d3b8p+1 +0x1.46e30cp+2, 0x1.ec958cp+3 +-0x1.7cac7p+4, 0x1.a0920ep+1 +0x1.0ecc08p+3, -0x1.26dc5ap+2 +0x1.c0645ap+2, -0x1.dc9fa6p+1 +0x1.3e09c4p+1, -0x1.fd1218p+2 +-0x1.d94896p+4, 0x1.0f07bp+3 +0x1.10036p+3, 0x1.8d2056p+1 +-0x1.f8fab4p+1, 0x1.ba2106p+2 +-0x1.e707bap-2, 0x1.8073ep+4 +-0x1.15a72p+4, 0x1.0aa928p+2 +-0x1.098ffep-1, 0x1.035c94p+3 +-0x1.6c1d9ep+3, -0x1.48ea4ep+0 +-0x1.6a8d3ap+1, 0x1.16c74ep+3 +0x1.973d5p+2, 0x1.a6f0fp+1 +-0x1.74a25cp+4, 0x1.9ccc18p+7 +0x1.ac1f8ap+2, 0x1.17282ep+4 +0x1.2438dep+4, -0x1.5d13e6p+3 +-0x1.814d8ep-4, -0x1.457a34p+2 +-0x1.19f0fcp+3, 0x1.f28442p+3 +-0x1.1262eep+5, 0x1.31babep+3 +-0x1.7e22cp+4, 0x1.63f3e4p+0 +0x1.be824ap+3, -0x1.4fd478p+3 +0x1.d10c1p-1, 0x1.012c64p+4 +0x1.d967bap+3, -0x1.92b3a8p+1 +0x1.4590bap-1, -0x1.a276a8p+1 +-0x1.9ac3c4p-1, -0x1.e78712p+2 +0x1.4e7cc6p+0, 0x1.0d90fcp+4 +-0x1.cc5aa6p+2, 0x1.50e42p+3 +0x1.60cfc8p+2, -0x1.1e0bfp+4 +0x1.78086p+1, -0x1.58fea8p+3 +-0x1.95cc86p+3, -0x1.94d364p+1 +-0x1.fb302ap+2, -0x1.322276p+3 +0x1.01063cp+5, 0x1.782f7ep+3 +-0x1.b1c584p+3, 0x1.1aa402p+3 +-0x1.0a0332p+4, -0x1.099a52p+3 +-0x1.ef5ed2p+3, -0x1.fc9d46p+3 +-0x1.8577cp-1, 0x1.d6d58p+2 +0x1.3fccaap+3, 0x1.5c9f88p+3 +0x1.58efe2p+0, -0x1.0f06c6p+3 +-0x1.25e174p+3, -0x1.86994ep+3 +-0x1.e01e94p+4, 0x1.85156p+1 +0x1.5d031cp+4, 0x1.e57a1cp+1 +0x1.c2629p+1, -0x1.67951p+2 +0x1.832994p+2, 0x1.3f0884p+4 +-0x1.1e3e32p+1, -0x1.786588p+3 +-0x1.e0434p-1, -0x1.845464p+3 +-0x1.00ea5p+1, -0x1.e7582ap-3 +-0x1.b77c96p+4, 0x1.9e6222p+3 +-0x1.71f682p+3, -0x1.2e1188p+3 +0x1.8fedfep+1, -0x1.0c1d8ap+2 +0x1.abcf0cp+2, -0x1.7f7c54p+4 +-0x1.37e69p-1, 0x1.0a1f3p+2 +0x1.c0024ep+3, -0x1.2a17a4p+4 +0x1.cdfd68p+6, 0x1.92217ep+3 +-0x1.c613dep+3, 0x1.51f18ep+2 +0x1.e395dep+1, 0x1.569704p+4 +-0x1.aeacf8p+3, -0x1.ac69d8p+1 +-0x1.19c29ep+4, 0x1.1db316p-3 +-0x1.3c1178p+0, -0x1.421dd4p+1 +0x1.7d2dd4p+1, 0x1.fbdaacp+1 +0x1.034cd2p+0, 0x1.765c0ep+2 +0x1.80360cp+3, 0x1.7f91fp+2 +0x1.9c5d7ap+2, 0x1.e0c5b2p+3 +0x1.0f911ep+2, -0x1.3584dap+3 +-0x1.f7649ep+3, 0x1.5b2a8ap+0 +-0x1.fe1406p-1, -0x1.fc821ep+2 +0x1.1a2fcp+2, -0x1.fc37dp+2 +0x1.06a11ep+2, -0x1.d9d8dcp+2 +0x1.1204e4p+1, -0x1.7daddp+3 +0x1.431ceap+1, -0x1.0c046ep+4 +-0x1.183688p-1, -0x1.6ccec8p+3 +-0x1.8d9612p+1, 0x1.759888p+3 +0x1.e2c4bcp-3, 0x1.f4a1b6p+3 +-0x1.098908p+1, -0x1.73d2e8p+3 +-0x1.fa77ep+3, -0x1.05433p+3 +-0x1.217968p+3, 0x1.f7e2ecp+2 +0x1.876de8p+2, -0x1.02113ap+2 +-0x1.933772p+3, -0x1.765c62p+2 +-0x1.f05872p+2, 0x1.31b8b8p+3 +0x1.f92e94p+3, -0x1.6577p+3 +-0x1.7e418p-1, 0x1.0863fcp+4 +0x1.1266f2p+4, 0x1.f7ceb6p+2 +-0x1.7adc1ep+3, -0x1.b72acep+2 +-0x1.42799cp+0, 0x1.12b708p+3 +0x1.26c43p+3, 0x1.37b6c6p+1 +0x1.9cdf68p+2, 0x1.4e0b2p+0 +-0x1.ef76dcp+2, 0x1.89fe2p+3 +-0x1.ba6e92p+3, -0x1.101566p+4 +-0x1.8d1406p+2, 0x1.3c321p+4 +-0x1.2da06ap+3, -0x1.1f309cp+2 +0x1.a1602ap-2, -0x1.b6151ep+1 +-0x1.0e4b64p+3, 0x1.dd728p+3 +-0x1.69224ap+3, -0x1.7a81ccp+2 +-0x1.138a1cp+0, -0x1.091492p+3 +0x1.da7d28p+2, 0x1.96c7ccp+0 +0x1.553f32p+2, -0x1.c50bd6p-1 +-0x1.21dd94p+2, 0x1.b6c40ep+6 +0x1.601aap+4, 0x1.1f08e8p+0 +0x1.05b5e2p+1, -0x1.5a88e4p+3 +-0x1.2dfc04p+3, 0x1.202a2ap+0 +0x1.53a548p+1, 0x1.9efc9cp+3 +0x1.e07e84p+2, 0x1.fad874p+2 +0x1.83db4p+1, 0x1.047accp-4 +-0x1.4be03ep+2, 0x1.e639d2p+2 +-0x1.e6a97ap+3, 0x1.5afbaep+4 +-0x1.f1728p+1, 0x1.f006e4p+1 +-0x1.30cc68p+4, 0x1.2fd5a2p-1 +0x1.15ffe6p+2, -0x1.f1b2b2p+2 +0x1.19aa7cp+1, 0x1.3f6646p+3 +-0x1.2a8f34p+2, -0x1.8de994p+3 +0x1.e6e1aep+3, 0x1.22eb8ap+3 +0x1.f5fdeep+2, 0x1.36bc74p+3 +0x1.529e3ap+3, -0x1.4ee716p+3 +-0x1.1a4f42p+2, -0x1.907ffp+3 +0x1.b3d03ep+2, 0x1.4aa876p+3 +-0x1.c81d4ep+3, 0x1.504558p+3 +-0x1.8c1492p+3, -0x1.fed67ap+0 +0x1.c0d5eep+1, -0x1.bc6244p+1 +0x1.0853fp+3, -0x1.fa5b24p+3 +-0x1.89202ap+2, 0x1.98729cp+3 +0x1.31636ep+2, -0x1.4e531p-1 +0x1.914c7p+3, -0x1.53626p+4 +-0x1.63977ep+8, -0x1.b9824ep+3 +-0x1.81366cp+3, 0x1.d57e26p+0 +-0x1.3a6112p+1, 0x1.0b30dap+4 +-0x1.219832p+3, 0x1.f2a094p+1 +0x1.f2705ep+2, 0x1.1579e2p+3 +-0x1.067c62p+2, -0x1.61ac44p+1 +0x1.6bb34p+2, -0x1.984dcp+3 +-0x1.b4a3d2p+3, -0x1.3a7c3ap+3 +-0x1.eebe9ep-6, 0x1.122bc2p+2 +-0x1.d382a8p+1, -0x1.7dd53ep+3 +0x1.6783dep+3, 0x1.02cb9cp+4 +-0x1.30e6e2p+3, -0x1.69771cp+7 +0x1.085fd2p-2, 0x1.3027a2p-4 +-0x1.c40f1cp-1, 0x1.7e58d8p+5 +-0x1.03ad5p+4, -0x1.6c86f4p+3 +0x1.6a32d6p+2, 0x1.bc97cep+2 +0x1.5fe22ap+1, 0x1.0cdf88p+3 +-0x1.0bfcdap+3, 0x1.829592p+3 +-0x1.422816p+2, 0x1.b051d2p+2 +0x1.612b58p+4, -0x1.b5168p+0 +-0x1.d96adep+0, -0x1.cd7e26p+3 +-0x1.de0faap+2, -0x1.f52f28p+2 +0x1.194384p+3, 0x1.24ccd6p+3 +0x1.0c97b8p+4, 0x1.b4b66ep+6 +-0x1.9ef038p+2, -0x1.50504cp+2 +-0x1.5f4a5cp+3, -0x1.29bb16p+3 +0x1.a12a7ap+8, -0x1.62d33p+3 +-0x1.a8aefp+2, 0x1.b82958p+3 +0x1.66f7fcp+3, 0x1.e2c50ep+1 +0x1.58fd7ep+1, -0x1.d41d04p+6 +-0x1.d311dcp+2, 0x1.dd2eb4p+3 +0x1.7a3abcp+3, -0x1.4c9fa8p+3 +0x1.254862p+3, -0x1.4b8fdep+2 +0x1.660028p+4, 0x1.556cep+6 +-0x1.4fec32p+3, -0x1.e18c52p+0 +-0x1.7c788cp-2, -0x1.9e2812p+3 +0x1.b83ee8p+2, -0x1.1bc13p+4 +-0x1.205c56p+2, -0x1.3c462p+3 +-0x1.d7cf38p+3, -0x1.b059c4p+7 +-0x1.adc0a8p+1, 0x1.1270dp+4 +-0x1.fca75ap+2, 0x1.5180b6p-1 +-0x1.4537dp+3, 0x1.ecbdfp+1 +-0x1.c542dp+1, 0x1.1b3dcep+2 +-0x1.854b64p+3, 0x1.483f3ap+2 +-0x1.67476ap+2, -0x1.e0b9e2p+3 +0x1.9eedbap+1, 0x1.36fd72p+4 +-0x1.66cfa2p+4, 0x1.c84d46p+1 +-0x1.1119b4p+4, 0x1.fa24dcp-2 +-0x1.2a470ep+3, 0x1.40f3f2p+2 +-0x1.48660ap+0, 0x1.b602f2p+3 +0x1.116c7cp+3, 0x1.2952aap+2 +0x1.3b3802p+3, 0x1.09812p+2 +-0x1.55d7p+3, -0x1.5c5efap+2 +0x1.9fdfep+0, -0x1.7643eep+2 +-0x1.3a0cecp+5, -0x1.032c7p+1 +-0x1.deef46p+2, -0x1.8e7e2ap+1 +-0x1.936cfp+2, -0x1.2feed6p+4 +-0x1.f17248p-3, -0x1.df90b6p+1 +0x1.36fbcap+3, 0x1.055f6p+4 +0x1.a74786p-1, -0x1.6f32d2p+3 +-0x1.6fe08p+3, -0x1.0b1848p+3 +0x1.71b9bap+0, 0x1.171288p+2 +0x1.0b7e26p+3, 0x1.cffc9ap-1 +0x1.e28f8p+2, -0x1.1bccf4p+4 +0x1.f551a8p+0, 0x1.1faecap+3 +-0x1.48f22cp+3, 0x1.caf0c6p+3 +0x1.669c8ap+4, 0x1.b2f9aep+2 +0x1.22b476p-2, -0x1.67d9fep+3 +-0x1.a75e6cp+3, -0x1.0d09f8p+2 +-0x1.36ad16p+4, 0x1.792438p+2 +0x1.180e96p+1, 0x1.60b64cp+4 +-0x1.fdd03ep+3, -0x1.8950ap+1 +0x1.b01fap-1, 0x1.72898ep+4 +0x1.a06bc2p+3, -0x1.6b40aap+3 +-0x1.5b46d8p+3, -0x1.59fd22p-2 +-0x1.23900cp+4, 0x1.fde842p+1 +0x1.6b3b52p+3, 0x1.44eaeep+2 +0x1.09906p+2, 0x1.63ff4cp+0 +-0x1.3a3e48p+1, -0x1.9736ep+0 +-0x1.1a6ad2p-1, 0x1.3078e8p+2 +0x1.0b7006p+2, -0x1.f38c18p+3 +-0x1.cce016p+1, -0x1.64bb7p+4 +0x1.3a94b2p+1, -0x1.769a5p+1 +0x1.1c8e48p+2, 0x1.b1653cp+3 +-0x1.ee4e1cp+1, 0x1.2f58p+0 +-0x1.cc0514p+5, 0x1.721faap+3 +-0x1.61800cp-1, -0x1.3bc482p+1 +-0x1.5b33d8p-3, -0x1.1b2f8ap+3 +-0x1.d07f76p+0, 0x1.07ebf8p+4 +0x1.bf9ef4p-5, 0x1.4247a2p+3 +0x1.9b6022p+2, -0x1.e9b8e8p+0 +0x1.7fde42p-7, 0x1.f19c74p+2 +0x1.2c7902p+2, 0x1.cabd24p+1 +0x1.d59288p+3, -0x1.0073bp+2 +0x1.796808p+3, 0x1.35c5p+1 +-0x1.3afcd4p+0, -0x1.56f52cp+2 +-0x1.0a57a8p+2, -0x1.464c24p+3 +-0x1.522526p+4, 0x1.5a2fccp-4 +0x1.e44e74p+3, -0x1.081feep+3 +0x1.22772p+0, 0x1.d89e8cp+2 +0x1.b34ac4p+3, 0x1.097ed4p+4 +0x1.a3969cp+0, 0x1.a7a3b8p+3 +0x1.cab696p+1, 0x1.302978p+3 +-0x1.5a8c0ep+2, 0x1.d17f5ap+3 +0x1.60384ap+2, -0x1.317294p+7 +0x1.ce9c32p+1, -0x1.3cc7d2p+2 +-0x1.24081p+2, 0x1.64866ap+2 +0x1.b30dp+3, -0x1.e1e4ep+0 +0x1.2d2fb4p+1, -0x1.7794p+4 +0x1.7e5db2p+4, -0x1.b2660ep+2 +0x1.0bcee2p+3, 0x1.5ce388p+2 +0x1.1030fcp-4, -0x1.018716p+3 +-0x1.5c80eap+2, -0x1.b0860ep+3 +-0x1.4ff664p+4, -0x1.25b456p+3 +-0x1.46c95ap+3, -0x1.2c5d5ep+2 +0x1.52c1fcp+2, 0x1.df8cf4p+2 +0x1.3cbb8ep+2, -0x1.3aacdp+4 +-0x1.cb1632p+1, -0x1.0250f2p+4 +0x1.4152eep+7, -0x1.aed7e4p+1 +-0x1.e8c7c8p+2, 0x1.13ca16p+3 +0x1.e7c5ep+2, -0x1.950d7ap+2 +0x1.0355cap+2, -0x1.17c0e8p+3 +0x1.bedf2p+0, -0x1.f383e4p+3 +0x1.58804ep+3, 0x1.0595d4p+2 +-0x1.6bfcbp+3, -0x1.9f3236p+0 +-0x1.283b36p+3, 0x1.17a3dap+4 +-0x1.e9ac68p+1, -0x1.6430bp+5 +0x1.98ec62p+2, 0x1.f6dcp+3 +0x1.6cdb74p+2, -0x1.20fccep+2 +-0x1.449b58p+4, -0x1.addf84p+1 +0x1.9ac6c6p+3, 0x1.0602b8p+3 +0x1.5718a8p+3, -0x1.451756p+3 +-0x1.193cb2p+1, -0x1.a81cc2p+3 +-0x1.6b1ea4p+2, -0x1.b8e9bap+3 +-0x1.c7222p+2, -0x1.2f599ep+3 +0x1.41844ap-1, -0x1.53fd76p+2 +-0x1.1bf69cp+3, -0x1.0f95e4p-1 +0x1.ad2346p+0, 0x1.7ed2c4p+3 +-0x1.05f6a8p+2, 0x1.00636p+4 +-0x1.55ce3cp+3, 0x1.5359e4p+2 +-0x1.c7068ep+2, -0x1.014012p+2 +0x1.0fa846p+4, 0x1.66f6ccp+1 +-0x1.368p+3, -0x1.5cffcp+2 +-0x1.c5f12cp+2, -0x1.5e9668p+3 +0x1.08bfbp+2, 0x1.e6d02cp+2 +-0x1.503e8ap-2, -0x1.a160a8p+2 +0x1.a6087ap+2, 0x1.5a47acp+0 +-0x1.b43d88p+3, 0x1.d75cdp+0 +0x1.44e196p+3, -0x1.5eb5fep+2 +0x1.10fc36p+1, -0x1.f5e5fap+2 +-0x1.ebc3aep+2, 0x1.b2dc64p+4 +-0x1.4cf4a2p+3, 0x1.005904p+0 +-0x1.a7b4bap+2, 0x1.8bade6p+1 +0x1.7a4c04p+0, 0x1.2f476cp+4 +0x1.fad692p+3, -0x1.79e4f8p+2 +0x1.39c514p+2, 0x1.138e7p+3 +0x1.72b33ep+3, 0x1.8962d8p+2 +0x1.406b92p+3, -0x1.41f3dp+1 +-0x1.5bfcdep-2, -0x1.1037ccp+2 +-0x1.abef8ap+1, -0x1.beed4p+3 +-0x1.e6f3c6p-3, -0x1.cfbc14p+3 +-0x1.27e79cp+2, -0x1.1ae052p+2 +-0x1.0fca6ap+9, -0x1.7b3e88p+3 +-0x1.2d16d4p+2, -0x1.cb6a92p+1 +-0x1.21920ap+7, 0x1.4a37cep-1 +-0x1.05b558p+2, -0x1.ac8e2cp+2 +-0x1.512e68p+2, -0x1.13d132p+3 +-0x1.0a17b4p+1, -0x1.4a6ae4p+1 +0x1.42b844p+0, 0x1.7c7ce2p+4 +0x1.32b04ep+4, 0x1.2fb6fcp+3 +0x1.54f186p+6, 0x1.30231cp+1 +0x1.a9691cp+2, -0x1.11ae8ap+3 +-0x1.c2f9c6p+0, 0x1.dffb96p-1 +0x1.08017ep+4, 0x1.4df32ep+5 +0x1.940246p+3, 0x1.c2656ep+4 +0x1.99175cp+2, -0x1.c3ad18p+1 +-0x1.1a673ap+4, 0x1.77ce96p+3 +-0x1.b5b302p+1, -0x1.f76fa8p+2 +0x1.fdef4ep+1, 0x1.72371p+2 +0x1.7a24ecp-4, -0x1.2d06d4p+0 +-0x1.fb2d2p+0, 0x1.bf813ep+3 +0x1.79a502p-1, -0x1.cd2466p+0 +-0x1.23497p+3, -0x1.195bbep+2 +0x1.b6962ep+1, -0x1.2a9ffcp+2 +-0x1.85a09ep+2, 0x1.738d4p+2 +0x1.045a56p+3, -0x1.6059cep+2 +-0x1.5ae988p+3, 0x1.460dacp+3 +0x1.0a17e2p+1, 0x1.dffac4p+2 +-0x1.b85402p+1, 0x1.018b74p+4 +0x1.4d7306p+0, -0x1.7af6fp+3 +0x1.431bf8p-3, 0x1.962442p+3 +-0x1.2ea6dep+4, -0x1.732368p+2 +-0x1.d0288cp+2, -0x1.54d27p+3 +0x1.7fb7ap-2, 0x1.3c3b2p+0 +0x1.fd2cdcp+1, 0x1.64db02p+3 +-0x1.9ffb8ep+1, -0x1.b45644p+2 +-0x1.7119dp+1, 0x1.df4136p+3 +-0x1.6f61aep+4, 0x1.756248p+2 +-0x1.11a29ap+1, -0x1.c71a4ap+0 +-0x1.215054p+2, 0x1.49dcccp+4 +-0x1.1ab70ep+4, -0x1.ed2d34p+0 +0x1.0ae86ap+2, 0x1.10327p+3 +0x1.b50f68p+2, -0x1.0cc36ap+3 +0x1.a31b08p+2, -0x1.ea01c2p+0 +-0x1.e9994ep+3, -0x1.5a1282p+2 +0x1.99b03cp+1, -0x1.75c29ap+3 +-0x1.daf9dp-2, -0x1.4f2cdep+3 +-0x1.5ad51cp+2, -0x1.d9754p+0 +0x1.1b529ep+4, 0x1.e4cdc2p+3 +0x1.41d348p+4, -0x1.6a97bap+0 +0x1.69df0ep+3, -0x1.20735ap+2 +0x1.201278p+2, 0x1.aae504p+2 +-0x1.ed5e34p+3, -0x1.e0be58p+0 +-0x1.e8d3fep+6, 0x1.7c6546p+4 +0x1.35fa12p+3, -0x1.b1b9dcp+3 +0x1.65c0aep+3, -0x1.d68422p+3 +0x1.752c56p+1, -0x1.5c123p+3 +-0x1.6b262ep-3, -0x1.2172a8p+2 +0x1.1048bap+3, 0x1.9824p+1 +0x1.5f51cp+2, 0x1.6e4c66p+0 +0x1.d89674p+2, -0x1.20e0bap-2 +-0x1.684a0ap+3, -0x1.6c94b4p+4 +0x1.fbca4ap+2, -0x1.2d169cp+3 +0x1.a0fc8ep+3, -0x1.13bc7p+2 +0x1.2dbea6p+3, 0x1.3b74d8p+0 +-0x1.439318p+4, -0x1.5877dcp+2 +0x1.f7d12ap+6, 0x1.b5c594p+2 +-0x1.230e7ep+8, -0x1.5fe50cp+3 +0x1.5fb058p+2, 0x1.a76e88p+3 +0x1.53dfep+3, 0x1.3551cp+2 +0x1.684c92p+0, 0x1.f4e2f2p+3 +-0x1.84c6d8p+2, -0x1.0fa904p+4 +0x1.300ep+4, -0x1.8b818ep+3 +-0x1.17ee4ap+3, 0x1.83426ap+3 +0x1.452b8p+3, -0x1.b8ee12p+2 +0x1.443426p+2, 0x1.df807cp+1 +-0x1.cb8376p+3, -0x1.e56946p+3 +-0x1.571e0ap+1, 0x1.a03d54p+3 +-0x1.649eccp+3, 0x1.c52b22p+2 +0x1.ab7ee8p+2, -0x1.89db6cp+0 +0x1.870468p-3, -0x1.b852bcp-2 +-0x1.e0cb22p+2, 0x1.8dc1c4p+8 +-0x1.6724f4p+2, 0x1.24947p+1 +-0x1.0857dap+0, 0x1.dd7318p+2 +0x1.ca6222p+0, -0x1.55fa3ep+3 +0x1.588bfp+2, 0x1.306422p+4 +-0x1.ec0ad4p+2, -0x1.549242p+3 +-0x1.3ce69cp+3, -0x1.382d42p+4 +-0x1.ab3002p+3, 0x1.57a8d8p+1 +0x1.2036fp+2, 0x1.5ccab2p+3 +0x1.f4ca7cp+2, 0x1.eb34e2p+1 +-0x1.51d32cp-1, -0x1.007426p+2 +-0x1.3b7da4p+3, 0x1.90fc0ap-3 +0x1.14e998p+4, 0x1.a2cbc8p+3 +-0x1.e7c818p+0, -0x1.2a9802p-3 +0x1.5b6514p+3, -0x1.069eccp+4 +0x1.7ca738p+4, -0x1.8896b8p+2 +-0x1.e5807ap+2, -0x1.498c8ap+2 +-0x1.bdb48cp+3, -0x1.1241dep+2 +0x1.0a3768p+3, 0x1.f36a7ap+2 +-0x1.46691p+2, -0x1.3e438ep+3 +0x1.d58686p+6, -0x1.04ea12p+4 +-0x1.349cb6p+7, -0x1.ea2e06p+3 +0x1.540e7p+0, -0x1.e3c488p+3 +-0x1.7f59cap+0, 0x1.68fe0ap+3 +0x1.10b5a4p+2, 0x1.7ea744p+2 +-0x1.267622p+4, -0x1.2390e4p+8 +-0x1.3101acp+3, -0x1.7248bp+1 +-0x1.9824fcp+0, -0x1.4bd76cp+3 +0x1.cb99d6p-1, -0x1.c026dcp-4 +-0x1.5e0b04p+3, -0x1.eaeab6p+2 +-0x1.6ba2a4p+0, 0x1.20f5c8p-2 +0x1.3eedc2p+2, -0x1.3069acp+3 +-0x1.055766p+4, 0x1.f8aa3ep+2 +-0x1.70aa1cp+3, -0x1.e8a2c8p+3 +0x1.7edfd8p+3, 0x1.65b56p+2 +-0x1.6c8ed2p+2, -0x1.6e2d96p+2 +-0x1.9dfe76p+0, 0x1.5c76aap+2 +0x1.50648cp+0, -0x1.27da12p+0 +0x1.6f3ab8p+3, 0x1.186abap+4 +-0x1.e4787ep+2, 0x1.5ee63cp+2 +0x1.72dfb8p+2, 0x1.5189aap+3 +-0x1.ea9442p+2, 0x1.a08aa2p+3 +0x1.7d221cp+4, 0x1.75f188p+2 +0x1.77cdd4p+3, -0x1.8c5f08p+3 +-0x1.533f6cp+3, -0x1.0c3b74p+0 +-0x1.819334p+3, 0x1.a629fcp+3 +-0x1.2a4372p+4, -0x1.4b5e9ep+6 +0x1.44621ep+2, -0x1.71ddbp+3 +0x1.9212dep+2, -0x1.63737ep+8 +-0x1.ee0e96p+1, 0x1.df9a0ep+2 +-0x1.e6e842p+2, -0x1.d6f376p+1 +0x1.888804p+2, -0x1.08d3d2p+2 +0x1.797118p+3, -0x1.08f1ap+2 +0x1.4e597ap+2, -0x1.c5e324p+2 +-0x1.e434f4p+1, 0x1.01cf7p+4 +0x1.072ed8p+4, -0x1.d64d2p+2 +0x1.256ed6p+3, -0x1.0dbe46p+5 +0x1.bdfa92p+1, 0x1.151efep+3 +0x1.41e678p+7, -0x1.cd5e66p+3 +-0x1.9d8018p+4, 0x1.0636d4p-1 +0x1.19503cp+0, 0x1.ed0ba4p+3 +0x1.56b5aap+3, -0x1.77aa7ap+3 +-0x1.59b8a2p-3, 0x1.561ec8p+4 +-0x1.a90d6ep-3, 0x1.aa6c6ep+3 +-0x1.f49af8p+2, -0x1.ceb27ap+4 +0x1.4b6ba2p+4, 0x1.50d2fp+2 +0x1.79ffc4p+2, 0x1.2e294p+0 +0x1.753b56p+1, 0x1.4cf81cp+2 +0x1.2948bp+1, -0x1.2625acp-2 +-0x1.079772p+3, -0x1.9fbcf2p+3 +-0x1.4fb0c2p+3, 0x1.00adfap+3 +-0x1.a05e66p-2, 0x1.21f102p+4 +-0x1.4783f4p+0, 0x1.3d40fap+4 +0x1.14a696p+3, 0x1.a4e5d4p+1 +0x1.046cfp+3, 0x1.44b564p+2 +-0x1.c4a0d6p+0, 0x1.a74c7ap+4 +-0x1.6c3424p+2, -0x1.07ba9ap+4 +-0x1.b225d4p+2, -0x1.2f79c4p+4 +-0x1.babe38p+0, 0x1.1867dap+3 +0x1.a416a8p+0, -0x1.3a6a4cp+0 +-0x1.cc3d7ap+2, -0x1.9a5da6p+4 +0x1.40c5d2p+2, -0x1.3ede88p+3 +0x1.f5ec28p+2, 0x1.a82b86p+0 +0x1.4cf2b4p+3, -0x1.fca0a6p+0 +0x1.0ff748p+7, -0x1.129344p+3 +0x1.c40448p-2, 0x1.f74752p-3 +-0x1.d3f9a4p+0, -0x1.89639p+1 +0x1.f3d942p+1, 0x1.8e9514p+0 +0x1.6dbefap+2, 0x1.864ca8p+2 +-0x1.fbe8b6p+2, 0x1.92cf94p+3 +0x1.bb676cp+3, 0x1.445dcp+3 +0x1.a54fe6p-2, -0x1.bc3164p+4 +-0x1.aa944p+2, 0x1.e2ec92p+1 +-0x1.7c0d2p+3, -0x1.33760ap-1 +0x1.305244p+3, 0x1.4eae1p+4 +-0x1.fb4642p+2, -0x1.2e5a58p+2 +-0x1.38aa9ap+2, -0x1.c95f6p+3 +-0x1.0f7c6cp+2, 0x1.294fa4p+3 +0x1.c58d4ep-1, -0x1.caaf64p+0 +0x1.61f63ap-1, 0x1.848b6ap+1 +0x1.deb89ep+1, -0x1.7563ecp+2 +-0x1.cfbd8p+2, -0x1.c73c8ap+3 +0x1.f68a56p-2, 0x1.224d98p+1 +0x1.00b446p+4, -0x1.194d82p+4 +0x1.503924p+2, 0x1.8f2238p+1 +-0x1.4a955p+2, 0x1.c2cab8p-1 +-0x1.6fd992p+2, 0x1.51f45ep+2 +-0x1.79596ap+2, -0x1.f61f9ep+2 +-0x1.d73f98p+3, -0x1.48b266p+7 +-0x1.bf96a2p+3, -0x1.48c3fap-4 +0x1.a832cep+2, 0x1.057572p+3 +0x1.829f14p+3, -0x1.771c36p+2 +0x1.e1f55cp+3, -0x1.165a16p+2 +-0x1.3d29fp-2, -0x1.503bb8p+0 +-0x1.9665f2p+2, 0x1.5c737ep+1 +-0x1.9977a6p+2, 0x1.1c85d6p+3 +-0x1.1e5bf2p+3, -0x1.0c25e4p+4 +-0x1.757ea4p+9, 0x1.0015e8p+3 +0x1.97897cp+1, 0x1.3714b8p+3 +0x1.3e92p+6, -0x1.13bfc6p+2 +0x1.022ceap+3, -0x1.501788p-3 +-0x1.361efp+1, -0x1.e2c088p+3 +0x1.768416p+1, 0x1.77318cp+2 +-0x1.1d4e9ep+1, 0x1.f2dfbep+0 +-0x1.1de5bep-1, 0x1.111a26p+1 +-0x1.75851ep+1, 0x1.2e9aa4p+2 +0x1.40e62ep+4, -0x1.699afap+2 +-0x1.f8ca5cp+1, -0x1.d805cp+1 +0x1.73e62ap-1, -0x1.4d67c6p+3 +-0x1.4b9338p+3, -0x1.8efb36p+2 +0x1.0ec11ap+1, -0x1.8e1576p-1 +0x1.e4fffp+3, -0x1.371f68p+2 +0x1.db443p+3, -0x1.3af9cap+1 +-0x1.1989ecp+2, 0x1.22cf44p+0 +-0x1.0d9104p+4, -0x1.6a3f5cp-2 +0x1.8b1e36p+1, 0x1.52fde4p+0 +0x1.2f9dap+3, -0x1.376cc8p+1 +0x1.439cf4p+4, -0x1.f72024p+3 +-0x1.49e464p+2, -0x1.94104ep+0 +-0x1.89c372p+4, -0x1.e32762p+2 +0x1.4db212p+1, 0x1.010728p+1 +-0x1.3937b2p+3, -0x1.ca4114p+2 +-0x1.36c36cp+4, 0x1.e73e66p-3 +0x1.3e3f22p+1, 0x1.68841ap+3 +0x1.a28eeap+3, -0x1.39d57ap+1 +-0x1.575f02p+2, -0x1.9a235cp+3 +0x1.da89dcp+3, -0x1.3e8b14p+3 +-0x1.b0109cp+1, -0x1.2870eep+3 +-0x1.37c876p+3, 0x1.b62bdap+3 +-0x1.321d1ep-1, 0x1.11569p+3 +0x1.bfd09ep+3, 0x1.72bfa8p+3 +0x1.0efee8p+2, 0x1.50a054p+2 +-0x1.36211ep+2, 0x1.072ac4p+4 +-0x1.5342eep+4, 0x1.568a08p+2 +-0x1.49a1cep+0, 0x1.3ac72cp+1 +-0x1.60249cp+2, 0x1.4eee92p+4 +0x1.0de754p+2, 0x1.870262p+6 +0x1.f933a6p+2, 0x1.f9b22ap-1 +-0x1.2e721cp+2, 0x1.2ac042p+2 +0x1.6880fap+1, -0x1.c2a2f8p+2 +-0x1.402646p+3, -0x1.6d9886p+4 +-0x1.386f6ap+3, -0x1.a18472p+2 +0x1.70f4fep+2, -0x1.294b8cp-1 +0x1.d6930ap+3, 0x1.5763bap+3 +-0x1.ced806p+1, 0x1.0ebfdp+3 +-0x1.7fe12cp+1, 0x1.6541aep+2 +0x1.55282ep+4, 0x1.8ab4p-1 +-0x1.f1196ep+1, -0x1.6d2efep+4 +-0x1.53bf8cp+8, -0x1.de69d4p+2 +-0x1.212424p+0, -0x1.8edc9ep+3 +-0x1.ca91f8p+2, 0x1.bb756p+1 +0x1.ea04eap+2, 0x1.f1a58ep+3 +0x1.8a127p+2, -0x1.5a3a96p+3 +0x1.656a1cp-1, 0x1.58a098p+3 +0x1.b1471ep+3, -0x1.0dca26p+3 +0x1.5cc616p+0, 0x1.b51e9ep+3 +-0x1.b83954p+3, 0x1.0f2342p+3 +-0x1.0f22dap+3, -0x1.1cc0eap+3 +0x1.edef94p+7, 0x1.b30feep-2 +-0x1.893da4p+2, 0x1.0d3becp+1 +-0x1.34a3dcp+3, 0x1.ec50ccp-1 +0x1.0ffd3ap+4, -0x1.b55432p+2 +-0x1.34c2ep+2, 0x1.8a062ep-1 +0x1.c628aep-2, -0x1.2caad8p+3 +-0x1.d9966p+2, 0x1.932ea4p+0 +-0x1.0d4cc2p+1, -0x1.26f748p+3 +-0x1.556474p-2, -0x1.fb9294p+2 +0x1.83583ep+2, -0x1.5f6914p+3 +0x1.3e6ddap+4, -0x1.e2c9c8p+2 +0x1.3401ccp+3, -0x1.f3763cp+3 +0x1.04271p+2, 0x1.2847ep+3 +-0x1.da06cp+3, -0x1.0b8e2ep+3 +0x1.a13594p+3, -0x1.a3b406p+2 +-0x1.09d3e8p+0, -0x1.45f2c2p+0 +-0x1.3ca142p+9, 0x1.6f414p+4 +0x1.e35f46p+3, -0x1.b74e8ap-2 +0x1.055f9ap+1, 0x1.87c8cap+2 +0x1.8dfeeap+0, -0x1.4d6424p+3 +0x1.012b18p+2, -0x1.ed3166p+1 +-0x1.3bb4aep-4, -0x1.96d78cp+2 +0x1.091f3ep+3, -0x1.599edcp+4 +-0x1.e1b3b2p+2, -0x1.bcd2bp+1 +-0x1.01fffep+3, -0x1.08a8cp+7 +-0x1.8e5258p+3, -0x1.a382dep+0 +-0x1.c80a94p-2, -0x1.621158p+3 +0x1.40e1ap+3, 0x1.6c7eb2p+3 +-0x1.16286p+1, 0x1.48d56ep+3 +0x1.3f60d6p+2, 0x1.8e58a6p+1 +0x1.dc2deap+2, -0x1.4b613ap+4 +0x1.bd2cc8p+3, 0x1.c29b6cp+0 +0x1.63e124p+9, 0x1.e7cfep+2 +-0x1.a79cf8p+2, 0x1.3b32fap+3 +-0x1.df9624p+2, -0x1.76ac06p+4 +0x1.05e19ep+2, -0x1.996d5p+0 +-0x1.696958p+3, 0x1.c5b5b8p+1 +0x1.c7751p+2, -0x1.20a52cp+4 +0x1.00d8e8p-1, -0x1.6306bap+1 +0x1.3ef286p+3, 0x1.22e54ep+3 +-0x1.48d7c6p+2, -0x1.eee068p+2 +0x1.71c308p+2, -0x1.4b369cp+2 +-0x1.1ba588p+1, -0x1.7bb97ep+3 +-0x1.d15fa6p+1, 0x1.11c088p+3 +-0x1.6a5de2p+1, 0x1.5adf1p+3 +0x1.05685p-8, 0x1.375322p+2 +-0x1.2bdc8cp+3, -0x1.5e9c86p+3 +0x1.195852p+3, -0x1.fcca08p+3 +0x1.d3bb5ap-1, 0x1.1315fp-2 +-0x1.e9d80ap-2, -0x1.9cb74p+3 +-0x1.07b08ap+4, -0x1.39462ap-2 +-0x1.103236p+3, -0x1.86b45ep+0 +-0x1.c57746p+0, -0x1.02908ap+3 +0x1.4d4854p-3, 0x1.e52bc2p+3 +-0x1.821308p+3, -0x1.e350ep+6 +0x1.1dcb72p+2, 0x1.a927e4p+2 +-0x1.020284p+3, 0x1.75a464p-2 +0x1.2f7316p+1, 0x1.9f54acp+2 +0x1.26708cp+2, 0x1.0fa238p-2 +-0x1.8ba9f2p+0, -0x1.78c4ap+4 +-0x1.0b168ap-4, 0x1.118a4p+2 +-0x1.75bacp+2, -0x1.18c096p+0 +0x1.e0cc1ep+2, -0x1.6277ep+2 +-0x1.2f71a8p+3, 0x1.31b33p+4 +0x1.ecfbb2p+1, 0x1.4d9c38p+3 +0x1.a4d158p+3, -0x1.19dba2p+3 +-0x1.e23714p+3, -0x1.a79de6p+2 +0x1.06942ep+3, -0x1.13cebp+3 +0x1.11e584p+3, -0x1.c3fb8ap-3 +0x1.00c8e4p+3, -0x1.97b0fep+0 +-0x1.87370cp+0, -0x1.cfa0e4p+0 +-0x1.08d16cp+1, -0x1.0b772p+4 +0x1.3703bap+4, -0x1.3081eap+2 +-0x1.b63a74p+1, -0x1.2e0e36p+3 +0x1.6248e4p+2, -0x1.6d26e2p+2 +-0x1.76b6c2p+2, 0x1.2fc8fp+3 +0x1.901474p+0, -0x1.7ab2bep+2 +-0x1.22c586p+4, -0x1.b5b926p+2 +0x1.30895ap+2, 0x1.91246p+1 +0x1.cf4e38p+2, -0x1.5ffdb4p-1 +-0x1.f15c3ep+1, -0x1.472a38p+2 +-0x1.813628p+2, -0x1.ec266p+1 +-0x1.8f5ac2p+2, 0x1.59573p-3 +0x1.1688b6p+3, -0x1.e69d3ep+2 +0x1.2551a4p+3, 0x1.3ced4p+1 +-0x1.1e296ap+0, -0x1.f6e3b8p+3 +-0x1.6f5bf6p+1, -0x1.158f32p+2 +0x1.422876p+4, -0x1.6d70ecp+0 +0x1.958952p+3, -0x1.17a748p+0 +-0x1.7c46c8p+6, -0x1.ac85c2p+3 +-0x1.8f9a88p+1, -0x1.026cdap+3 +-0x1.27b6f8p+3, -0x1.e6ce2ap+3 +-0x1.9eaa46p+1, -0x1.ea97fap+2 +-0x1.000794p+2, -0x1.871c42p+3 +-0x1.dce92ap+2, -0x1.ee58dep+3 +0x1.2a18a6p+0, 0x1.2f002cp+3 +-0x1.5691a6p+4, -0x1.65a666p+1 +-0x1.327032p-1, 0x1.0ab7p+2 +-0x1.4c0e42p+2, -0x1.40a49ap+4 +-0x1.2c6d9cp+1, -0x1.1f8f1p+2 +-0x1.627ab8p+3, 0x1.2d7fe4p+3 +0x1.0b4a7ep+3, -0x1.07a6bap+4 +-0x1.714182p+2, 0x1.abc548p-2 +0x1.15abcep+2, -0x1.025c96p+0 +0x1.5ea186p+1, 0x1.091bep+4 +-0x1.7a40f6p+3, 0x1.0f1668p+2 +-0x1.28f23p+1, 0x1.9877e4p+1 +0x1.0c7296p-4, 0x1.abdb7cp+3 +0x1.4df42p+2, -0x1.05525ep+8 +-0x1.1c3ff8p+4, -0x1.b1e256p-3 +0x1.92650cp+2, -0x1.b1fdbp-6 +-0x1.f3a9f8p-1, 0x1.218c16p+3 +0x1.f41fa8p+2, -0x1.858ebep+3 +-0x1.3694ep+4, -0x1.58f2ep+2 +-0x1.23726ep+3, -0x1.26c20ap+3 +0x1.a35c9ap+2, 0x1.0d6ab8p+2 +-0x1.1a2c56p+3, 0x1.f1300cp+2 +0x1.1badf4p+2, 0x1.f70a6p-3 +0x1.6c3562p+2, 0x1.2e973ap+2 +-0x1.83e0d4p+3, 0x1.465caep+2 +-0x1.acf746p+0, 0x1.f755dp+4 +0x1.eacacap+2, 0x1.ce1798p+1 +0x1.913b76p+3, -0x1.024d6cp+0 +0x1.79077cp+4, -0x1.8fe896p-1 +0x1.5a3746p+3, 0x1.55dfd2p+3 +-0x1.1253d6p-1, -0x1.5e1cf6p+3 +0x1.4d9706p+2, 0x1.85ebfap+1 +0x1.7ba468p+3, 0x1.e48d24p-4 +-0x1.bd5bbap+2, -0x1.3923dap-2 +-0x1.a76fa4p+1, 0x1.3cd914p+0 +-0x1.284182p+4, 0x1.04060cp+3 +0x1.ec7436p+4, -0x1.ba228p+3 +0x1.85b35p+3, -0x1.331ce6p+3 +-0x1.a0d19p+2, 0x1.fdf1e6p+1 +0x1.109f1ep+1, -0x1.5261aep+1 +0x1.ea7dc4p+1, -0x1.3d89e6p+2 +-0x1.9e8b78p+3, 0x1.b289e2p+3 +-0x1.bf34dcp+1, -0x1.15662p-2 +-0x1.1d4b3ep+1, 0x1.d98a1ap+2 +-0x1.a9ecf8p+2, -0x1.aced7ep+2 +0x1.dd46e6p+2, 0x1.ea5658p+0 +-0x1.61ac5ep+2, -0x1.6f239ap+3 +-0x1.c5bc5ap+0, -0x1.a196d6p+1 +0x1.df44e2p+1, 0x1.fb5a16p+3 +0x1.9df73cp+0, -0x1.85f95ap+1 +0x1.130c34p-1, -0x1.3e001cp+3 +0x1.25bd62p+2, -0x1.5088bp+4 +-0x1.0a1a72p+3, 0x1.b6a4a2p+1 +0x1.ed076cp+3, 0x1.eec1ep+0 +0x1.327a2ep+4, -0x1.74fceap+4 +-0x1.47d9e8p+3, 0x1.15a46ep+3 +0x1.2a4ebap+2, 0x1.b655eep+2 +-0x1.133882p+3, -0x1.7cd092p+2 +-0x1.f7f4eap+0, -0x1.2b25f4p+2 +0x1.3f871ep-1, -0x1.077ddap+8 +-0x1.e61f08p+2, 0x1.d96d88p+1 +-0x1.1cf48p+2, 0x1.7dbabep-1 +0x1.33baa2p+3, -0x1.ce06p+2 +-0x1.01955cp+3, 0x1.0c82f2p+2 +-0x1.13b25ap+3, 0x1.8aeca4p+3 +-0x1.3071p+3, -0x1.696cbap+2 +0x1.c09f26p-3, -0x1.cdf9e2p+1 +0x1.5c8832p+6, 0x1.093448p+4 +-0x1.f9888p+3, 0x1.ea22cp+3 +-0x1.4e3488p+2, 0x1.32942cp+3 +0x1.db929ap-1, 0x1.0ef8d4p+1 +0x1.5ebb0ap+3, 0x1.bbe6fcp-2 +0x1.57f576p+4, 0x1.0643bep+1 +-0x1.5b5284p+3, -0x1.262992p+4 +0x1.0cb912p+0, 0x1.3e16dep+4 +-0x1.feb3acp+3, -0x1.7e8fe2p+3 +-0x1.37129ep+7, 0x1.78e2b4p+1 +0x1.0be34ep+3, -0x1.8b746cp-1 +-0x1.f95af6p+1, 0x1.059feep+4 +0x1.cb2f14p+1, 0x1.8df2aep+1 +-0x1.3a93ep+4, -0x1.4f4ebep+2 +-0x1.7e8b66p+0, 0x1.86852p+1 +0x1.ef11fcp+2, -0x1.199958p+3 +0x1.fd7becp+0, 0x1.9d203p+3 +0x1.2e797cp+3, -0x1.cb968cp+4 +0x1.681438p+4, 0x1.b0673cp+1 +0x1.4bb44cp+3, 0x1.72c278p+3 +0x1.b7d7a4p+0, 0x1.6c2c24p+2 +-0x1.d9063cp+3, -0x1.d7fb98p+2 +-0x1.97c17ep-2, 0x1.dddd32p+3 +0x1.2f5d36p+2, 0x1.abd9a4p+3 +-0x1.1a0cbap+3, -0x1.47c0ep+4 +-0x1.ea1d8ap+2, 0x1.3f5cfep+2 +0x1.1984e4p+3, 0x1.8d692ap+2 +-0x1.c535d2p+2, 0x1.2f6932p+1 +-0x1.3ee6dp+3, 0x1.0d44bap+1 +0x1.3de78ep+2, -0x1.b1a736p-2 +-0x1.d6df52p+2, -0x1.6ad97cp+0 +0x1.16a3bap+3, -0x1.e1a0fp+3 +-0x1.5f31cap+1, 0x1.a62ac4p+3 +-0x1.49cabcp-1, 0x1.6bcaaep-2 +0x1.6a27a2p+3, 0x1.a1a4a8p+2 +-0x1.6de2aap+3, 0x1.b1fd1cp+4 +-0x1.96c704p+1, 0x1.7b04f2p+2 +0x1.a9f924p+0, -0x1.2669b6p+7 +0x1.67b83p+2, 0x1.9b9cd2p+2 +0x1.34b234p+2, 0x1.71aa32p+8 +0x1.300734p-1, -0x1.35451ap+0 +0x1.e77566p+0, 0x1.724f9ap+0 +0x1.f4aa1ap-1, 0x1.e04b94p+4 +-0x1.ce675ep+2, -0x1.6ada0cp+3 +-0x1.aa36b4p+2, 0x1.17f35ap+2 +-0x1.266306p+3, -0x1.6c7b9ep+2 +-0x1.4e8e3ap+3, 0x1.3078d6p+3 +-0x1.2292acp+2, -0x1.c85954p+2 +-0x1.e8c0fap+0, -0x1.ebb8a8p+3 +-0x1.84bb46p+2, 0x1.acc4eep-3 +0x1.ad613ep+2, -0x1.d4b3dep+4 +0x1.16e3dcp+2, -0x1.e68feep+3 +0x1.2808ecp+2, 0x1.c0e7cep+2 +-0x1.5e99f6p+1, 0x1.e96cc6p+1 +0x1.4bc162p+2, -0x1.003a46p+4 +0x1.2cdcf2p+3, 0x1.4aaaf2p+3 +0x1.d70e36p+1, -0x1.9b4c36p+2 +0x1.f5b1cap+3, -0x1.da3538p+2 +-0x1.8bcb66p+4, -0x1.a6639ep+5 +-0x1.99e47ap+0, -0x1.246b24p+3 +0x1.f46dc8p-4, 0x1.9308f8p+2 +0x1.ca2c9p+2, 0x1.ced91ep-3 +-0x1.8dc73cp+3, -0x1.4e82c2p-1 +0x1.425c36p+2, 0x1.454f06p+3 +-0x1.34e35p-4, 0x1.b14eeap+3 +0x1.5e36e2p+3, -0x1.37ec74p+1 +0x1.6c893ep+0, -0x1.e27ccep+1 +0x1.4ee1a8p+3, -0x1.f389bep+3 +0x1.14853ap+4, 0x1.77e032p+6 +-0x1.177a7cp+3, 0x1.88074cp+1 +0x1.a59dcp+2, -0x1.39b66ap+2 +0x1.a7c0b4p+2, -0x1.7c465ep-1 +-0x1.2fc05ep+3, -0x1.f93056p+3 +-0x1.a1df56p+1, 0x1.6994dcp+4 +-0x1.fefd7p+3, 0x1.61f408p+4 +-0x1.632162p-1, 0x1.b8d5ccp+0 +0x1.0b1f4cp+0, -0x1.a01c6cp-4 +0x1.9f5282p+0, 0x1.34a29p+3 +0x1.311d24p+3, 0x1.11d38ap+4 +-0x1.304c52p+2, -0x1.85f90ep-1 +-0x1.385f4ep+3, -0x1.0f864ep+4 +-0x1.98f30ep+3, -0x1.6fa146p+2 +-0x1.439f1ep+2, -0x1.b62708p+1 +-0x1.9d029cp+1, -0x1.1225fep+3 +0x1.2f0168p+1, 0x1.436d42p+1 +-0x1.13e7fap+4, -0x1.a00e3cp+3 +0x1.8d412ap+3, 0x1.dcd8dp-2 +-0x1.0d342p+3, 0x1.804f94p+1 +-0x1.bd8618p+2, 0x1.cd45aap+1 +0x1.142b28p+3, 0x1.fa252cp-1 +0x1.4d11d2p+1, 0x1.2c769ep+2 +-0x1.3109d6p+2, 0x1.995ba6p+8 +0x1.421218p+1, 0x1.8f5382p+2 +-0x1.8229fap+2, -0x1.a60bf4p+1 +0x1.fdf5fp+2, 0x1.4ededep+3 +-0x1.aaf6fap+6, -0x1.cdac7cp+2 +0x1.081f44p+1, 0x1.d65fd4p+2 +0x1.784b96p+1, -0x1.afa172p+2 +0x1.47e4ecp+1, 0x1.98b08cp-2 +0x1.07d234p+1, -0x1.0dd0fep+0 +-0x1.5b0336p+2, 0x1.26377p+2 +0x1.a5b01ap+2, -0x1.35db1ap+2 +-0x1.5c00dp+1, 0x1.6865dcp+1 +-0x1.a26352p+3, -0x1.90aba6p+3 +-0x1.ab7708p+0, 0x1.a5b878p+2 +0x1.691a0ap+2, -0x1.27c96ep+1 +-0x1.1baeacp+2, 0x1.c2eacap-1 +0x1.5c6926p+2, 0x1.70d1a6p+0 +-0x1.84b018p+1, -0x1.26d71cp+4 +-0x1.26b8f8p-2, 0x1.159eacp+2 +0x1.73b1a4p+1, 0x1.6ec8bap+2 +-0x1.ddb608p+1, -0x1.0b8fb6p+1 +0x1.ba7bf6p+3, 0x1.e01b88p+3 +0x1.01a99p+4, 0x1.80761ap+4 +0x1.5546dep+3, -0x1.3a7274p+3 +0x1.741d8ep+1, 0x1.07612ap+4 +-0x1.c92754p+3, -0x1.60fd6ap+2 +-0x1.fd3c66p+2, 0x1.c4f102p+2 +0x1.5fc31ap+3, 0x1.1747c6p+2 +-0x1.b83a7ap+3, 0x1.950754p+0 +0x1.013ef2p+2, -0x1.32b0c6p+3 +0x1.2af8ecp+3, 0x1.30e79cp+4 +-0x1.5126bep+3, 0x1.abf1b8p+3 +0x1.97b5ccp-1, 0x1.be0646p+4 +0x1.a53716p+3, 0x1.1303d8p+4 +0x1.865f12p+3, 0x1.52cac8p+3 +0x1.581ea4p+2, 0x1.726358p+1 +-0x1.1d89a2p+4, -0x1.d7ea98p+3 +0x1.dffee4p+2, -0x1.3999bep+4 +0x1.e2c29ep+3, 0x1.c338aep+4 +-0x1.960f1p+3, -0x1.d943cp+1 +0x1.921524p+3, 0x1.943be8p+3 +0x1.03382cp+2, -0x1.4b2542p+3 +0x1.35b2p+3, 0x1.31e6c4p+3 +0x1.464abp+0, -0x1.70b35p+1 +-0x1.178c2p-2, 0x1.f54758p+2 +-0x1.548464p+2, 0x1.f6f50ep-1 +-0x1.177ebp+3, -0x1.b16308p+3 +-0x1.97cee6p+3, -0x1.2cc6b8p+2 +-0x1.ad435p+2, -0x1.65dfd6p+2 +0x1.42eec2p+3, -0x1.ba57eep+2 +0x1.b9f70ap+2, -0x1.3fb19cp+4 +0x1.0d4f9ap+2, 0x1.07a882p+9 +0x1.331e38p+3, -0x1.38b7fap+2 +0x1.169284p+1, -0x1.327b7p+3 +-0x1.ade912p+3, -0x1.e5d01cp+2 +0x1.2a068cp+3, -0x1.7f6bc8p-1 +0x1.b63a36p+4, 0x1.e0447p+3 +-0x1.e5f57cp+3, -0x1.5e1f12p-1 +-0x1.7e1f4p+3, 0x1.c6c6p+3 +0x1.b903bp+3, -0x1.9f8c54p+2 +0x1.4ec348p+4, -0x1.d8643ep+1 +-0x1.be45a2p+2, 0x1.adb414p+4 +0x1.6886a6p+2, -0x1.265eep+2 +0x1.76beaap+2, 0x1.de558cp+2 +-0x1.3d3feep+3, 0x1.5e11dcp-1 +-0x1.d6bb16p+1, 0x1.43eefcp+4 +-0x1.047876p+1, -0x1.35343ep+1 +0x1.9f0afap+2, 0x1.51d62cp+0 +0x1.94a6dp+3, -0x1.475ceap+2 +0x1.a0a602p+2, 0x1.feb322p+0 +0x1.58b5aap+4, -0x1.733136p+0 +0x1.c89f34p+1, -0x1.cde466p+1 +-0x1.4df0ep+4, -0x1.fa1866p+2 +0x1.a08906p-3, 0x1.243e48p+0 +0x1.ec38fcp+3, 0x1.5328e2p+0 +-0x1.b3e032p+3, -0x1.f50022p+1 +0x1.e533a8p+2, 0x1.d48edcp+2 +0x1.2e3f52p+3, -0x1.63f2bap+4 +0x1.d26e92p-1, -0x1.3a751ap+5 +0x1.00752ap+1, 0x1.771634p+2 +0x1.d74116p+2, 0x1.4da45ap-1 +-0x1.58a6b8p+2, -0x1.b3e42ap-4 +0x1.f667a6p+1, 0x1.c3a156p-3 +-0x1.87f2aap+2, -0x1.10687ep+4 +-0x1.805204p+2, 0x1.678756p+1 +0x1.4cc232p+2, -0x1.b15634p-4 +0x1.04c73cp+4, -0x1.c8c2d6p+1 +-0x1.8f7702p+3, 0x1.0bb556p+3 +0x1.dd1968p+3, -0x1.66e4dp+3 +0x1.e83378p+2, -0x1.0d53b6p+2 +-0x1.4581eap+4, -0x1.916262p+3 +0x1.eeedbp+6, 0x1.d610ccp+1 +0x1.1f3b26p+1, 0x1.68b78cp+3 +-0x1.1b4f4ap+3, 0x1.7afcfcp+1 +0x1.f47946p+7, 0x1.33fedep+0 +0x1.edcd94p+3, -0x1.52493ep+2 +0x1.73bd2cp+2, 0x1.837e28p+4 +0x1.33487p+1, 0x1.1bd81cp+3 +-0x1.0ba93ap+0, 0x1.6eb25ap+4 +0x1.a71c3ep+3, -0x1.cf2ba2p+2 +0x1.bc8ae2p+0, -0x1.a7f7ccp+4 +0x1.1af85ep+1, 0x1.c361b6p+1 +0x1.c36d32p+1, -0x1.330b48p+3 +-0x1.0a84dap-1, -0x1.473766p+0 +-0x1.00e938p+2, 0x1.3a2bf8p+3 +-0x1.81980ap+2, -0x1.69cfcep+0 +-0x1.45700ap+4, -0x1.2e78fp+3 +-0x1.1ae41ap+3, 0x1.223418p+1 +0x1.648bdcp+2, -0x1.28635ap+3 +0x1.42a5bcp+1, -0x1.980284p-1 +0x1.16a3c8p+5, -0x1.293412p+1 +-0x1.558cb8p+3, 0x1.829d3ep+3 +0x1.51f8dp-4, -0x1.44e5fp-1 +-0x1.0763dep-2, 0x1.11bb62p+3 +-0x1.ef1dbep+0, -0x1.bf4f1p+0 +0x1.f6aba6p+0, 0x1.79ddbap+0 +0x1.93ea8ap+0, 0x1.157aaep-2 +-0x1.ed92b8p+1, 0x1.940f44p+1 +-0x1.a235eep+3, 0x1.47ffc6p-1 +0x1.10dd3cp+3, 0x1.aa483ep+1 +0x1.f48fb4p+3, 0x1.c626b6p+1 +-0x1.3d5646p+3, -0x1.cd4098p+3 +-0x1.d313ecp+5, 0x1.2706ccp+3 +0x1.74f14cp+3, -0x1.80de7p+3 +-0x1.0b243p-2, -0x1.d79622p+2 +0x1.2a1e0ap+3, -0x1.a3e284p+4 +0x1.2b109p+3, -0x1.40f106p+3 +-0x1.b3a8fp-2, -0x1.aca912p+3 +0x1.f6878cp+3, 0x1.76e612p+3 +0x1.7a0ad4p+3, -0x1.204866p+3 +0x1.be098ep+3, 0x1.0d315ep+3 +-0x1.5892bp+4, -0x1.df71b8p+3 +-0x1.0f160ep+3, -0x1.74aeb6p+1 +0x1.f1148cp+1, 0x1.64795ap+2 +-0x1.3512cep+3, 0x1.fbff96p+1 +0x1.8014cap+3, -0x1.abb21cp+7 +0x1.19a4fep+3, -0x1.5b21fep+0 +0x1.a79244p+2, 0x1.ba3aap+1 +0x1.40297p+4, -0x1.d1713cp+7 +-0x1.2d72bap+3, 0x1.295bdcp+1 +0x1.edd04ep+2, 0x1.c85532p+2 +-0x1.0767b6p+2, 0x1.98343ap-1 +0x1.0376c8p+1, -0x1.628b28p+3 +0x1.0ea696p+1, -0x1.35f298p+1 +0x1.a8409ep+3, 0x1.31c30cp+2 +-0x1.261af8p+2, -0x1.b5244ap+2 +0x1.cf1eccp+3, -0x1.5242dap+5 +0x1.bce78p+2, 0x1.ce1db4p+3 +0x1.f97d04p+3, 0x1.6c009ap+3 +-0x1.43d9a6p+1, 0x1.4197e2p+3 +0x1.7253d4p+1, -0x1.9a7e14p+2 +-0x1.6ba134p+1, 0x1.d7a174p+2 +0x1.8794e6p+2, 0x1.4ab80ep+2 +-0x1.46e1c6p+3, -0x1.64eea8p+1 +-0x1.6cb8p-1, -0x1.1ad994p-4 +0x1.b1badep+3, -0x1.792aa2p+2 +-0x1.18eacep+2, 0x1.a3764ap+1 +-0x1.e2df62p+2, 0x1.9a651cp+0 +-0x1.96399cp+2, 0x1.1118d8p+4 +0x1.3abddp+4, -0x1.bb8e58p+2 +-0x1.eb9116p+3, -0x1.44d792p+2 +-0x1.5a9386p+2, -0x1.efb02p-4 +0x1.a4e83ep+3, -0x1.7782e2p+6 +-0x1.bb86a6p+2, 0x1.15556cp+5 +-0x1.2c48eep+0, 0x1.1159fep+0 +-0x1.12ca02p+2, 0x1.e4c57ap+2 +0x1.6d3e1p+3, 0x1.47f028p-1 +0x1.219874p+2, 0x1.796526p+3 +0x1.7ea808p-1, 0x1.12dadp-1 +-0x1.d2c6e2p+3, 0x1.4b65fcp+2 +-0x1.b401f2p+4, 0x1.7377aep+2 +0x1.22e356p+3, 0x1.22c6b4p+2 +-0x1.bc4ee6p+2, 0x1.84f30ep+1 +0x1.46128ap+3, -0x1.cec978p+5 +0x1.89d9fep+2, 0x1.ee9bc2p+0 +0x1.b0d20cp+3, 0x1.d1f314p+2 +0x1.fbbc4p+1, 0x1.74d6f6p+3 +0x1.e55d0ap+1, 0x1.df6e9ep+0 +0x1.b94bbep+3, -0x1.c1e34p+1 +0x1.66a71cp+2, -0x1.0f761cp+3 +-0x1.09c986p+1, 0x1.2dd14p+3 +0x1.128f54p+0, -0x1.cddd34p+1 +-0x1.e9ec1cp+3, -0x1.b468d4p+8 +-0x1.30bba8p+1, -0x1.04a6c8p+3 +0x1.40cb9p+2, -0x1.c571ep+2 +-0x1.178cc2p+4, 0x1.eb59c4p+3 +-0x1.09379p+2, 0x1.18f004p+4 +0x1.4b01e8p+2, 0x1.bd49aep+3 +0x1.de8df6p+2, -0x1.0c202p+3 +-0x1.7603bep+1, 0x1.005ccap+4 +0x1.802534p+7, 0x1.5b4154p+3 +-0x1.38eab4p+2, -0x1.bc2eeep+0 +-0x1.a970a4p+5, 0x1.1aa15cp+1 +-0x1.a1dab4p+3, 0x1.a42a7ep+2 +0x1.1735dcp+2, 0x1.322952p+4 +-0x1.3d07c2p+3, -0x1.eeda94p+6 +0x1.41bc04p+0, 0x1.82746cp+3 +-0x1.311412p+5, 0x1.c9bf6ep+3 +-0x1.f3d00cp-2, -0x1.4a26b2p+1 +-0x1.04a482p+2, 0x1.681f2p+0 +0x1.98d0fap+4, 0x1.19ae96p+2 +-0x1.c3e5a2p+3, 0x1.9d0c18p+3 +-0x1.fe4e64p+2, 0x1.4d330ap+0 +0x1.594964p-1, -0x1.32fda2p+2 +-0x1.2cce2ep+3, -0x1.c55a38p-3 +-0x1.f8bc32p-1, -0x1.12f87ap+3 +-0x1.8264dp-3, 0x1.3b82bep+1 +-0x1.96efa4p+3, 0x1.0e718cp+0 +-0x1.32ca7cp+2, 0x1.a69f3cp+3 +0x1.05d434p+4, 0x1.cb0112p+3 +0x1.70da16p+3, -0x1.2e465ap+2 +-0x1.dd09dep+2, -0x1.6a7616p+3 +-0x1.d1866ep+6, 0x1.65a53p+3 +-0x1.02dbdp+3, -0x1.34afdep+0 +0x1.30f594p+3, 0x1.af5ebp+2 +-0x1.802522p+1, -0x1.1ceab4p+3 +0x1.fd7648p+3, -0x1.4bedf6p+2 +-0x1.565742p+0, -0x1.4718fcp+3 +0x1.b72adcp+1, 0x1.5da62cp+2 +-0x1.ebf29ap+2, -0x1.694172p+1 +0x1.f82daap+1, 0x1.d2d48ap-2 +0x1.6b8858p+2, -0x1.5104fp+3 +-0x1.280cbap+3, 0x1.3a835ap+2 +0x1.6e0c52p+2, 0x1.5c367p+5 +0x1.44a972p+2, 0x1.dc22ap+2 +-0x1.692598p+3, 0x1.00570cp+2 +-0x1.731354p+1, 0x1.f866dep+3 +-0x1.1c867ap+3, -0x1.daeb06p+1 +-0x1.77bb24p+2, -0x1.16296p+4 +-0x1.2544e6p+3, 0x1.198ac8p+2 +-0x1.39938cp+4, 0x1.0b73b2p+4 +-0x1.1a3634p+3, -0x1.9802bcp+3 +0x1.3cda38p+0, -0x1.1264fap+1 +0x1.e9beacp+3, 0x1.7dcbbap+3 +-0x1.f8b79ap+0, -0x1.fcb1fap+3 +-0x1.fa11c6p-2, -0x1.563bbp+3 +0x1.73ff02p+3, 0x1.256848p+3 +-0x1.ef63fap+0, -0x1.54c49ap+2 +-0x1.c68ce8p+3, 0x1.4a858p+2 +-0x1.649924p+1, 0x1.175f98p+0 +0x1.82d5fep+1, 0x1.9f696cp+1 +0x1.0f51a4p+3, -0x1.f5550cp+2 +-0x1.293c94p+2, 0x1.23ddd6p+3 +-0x1.329d1p+3, -0x1.3eb0dap+1 +0x1.a5288cp+1, 0x1.319e54p+2 +0x1.bf8dd2p+3, 0x1.27be2ep+2 +0x1.62e31ap+3, -0x1.108638p+2 +-0x1.53f01ep+2, 0x1.608658p+2 +0x1.2d8a5p+0, -0x1.3da954p+1 +-0x1.775a76p+2, 0x1.33e1e6p+3 +-0x1.78952ep+2, 0x1.dd4314p+2 +0x1.360a74p+4, 0x1.eefe1p+1 +0x1.03e79ap+4, 0x1.8c8d6p+3 +0x1.d43adcp+2, -0x1.8eb23p+2 +-0x1.aedc2ap+2, 0x1.fbeb54p+2 +0x1.2a72c2p+4, -0x1.d901fcp+1 +0x1.ea845p+5, -0x1.896b84p+3 +-0x1.7503b6p+2, 0x1.4725d6p+3 +-0x1.32b122p+3, 0x1.3d636ap+0 +-0x1.bba232p+1, 0x1.0055eep+0 +-0x1.efdcdap+2, -0x1.7a909ep+2 +-0x1.052ccp+3, 0x1.9e5dc2p+0 +0x1.1c4b66p+4, 0x1.20c768p-2 +0x1.25a036p+2, 0x1.88e644p-2 +-0x1.f27932p+3, 0x1.e2420cp+3 +-0x1.b2741cp+2, -0x1.e2451p+0 +-0x1.785a16p+4, 0x1.0d82b8p+2 +0x1.3c445p+1, 0x1.310834p+0 +0x1.6ed498p+1, 0x1.973d42p+2 +-0x1.aa817p-1, 0x1.67538p+3 +0x1.fcf058p+0, -0x1.49b94ep+3 +0x1.b7bd64p+3, 0x1.a7dd5ep+3 +0x1.1af98cp+3, -0x1.67450cp-2 +-0x1.5b1664p+1, -0x1.08fc96p+4 +-0x1.056d46p+3, -0x1.fd7c3ap+2 +-0x1.5d1f3p+1, 0x1.9783bep+2 +0x1.d87e66p+1, -0x1.c0efdcp+1 +-0x1.a568a6p+2, -0x1.4ca4c2p+3 +0x1.4ba22ap+2, -0x1.6dd3f4p+3 +0x1.707e8ap+2, -0x1.042f5ep+4 +-0x1.e5a9cp+3, -0x1.69707cp+1 +-0x1.87fdbep+0, 0x1.1ffaecp+3 +0x1.2e0744p+2, -0x1.653816p+3 +0x1.95b888p+4, 0x1.25f0ap+3 +0x1.a6bfbep+2, 0x1.646322p+3 +-0x1.7387a4p+1, 0x1.39eefap+3 +0x1.bb92aap+1, -0x1.cdb86ap+2 +-0x1.21b6ap+3, 0x1.ca7a2ep+1 +0x1.7ed42cp+3, -0x1.3e5d52p+3 +0x1.aeba14p+1, -0x1.331c94p+2 +0x1.6bff08p-5, 0x1.3ccb4p-2 +0x1.2242cap+1, 0x1.4e8bdap+1 +0x1.29b53ep+3, 0x1.b4c2cp-1 +0x1.0449b6p+1, 0x1.3afa32p+4 +-0x1.962dcap+2, -0x1.97f434p+2 +0x1.1539d4p+3, 0x1.438044p+2 +0x1.ec8a5p+3, 0x1.9a8feep+1 +-0x1.c35adap+3, 0x1.5a4e0ap+2 +-0x1.d9c9bap+2, -0x1.63d0bcp+2 +0x1.077e9cp+4, 0x1.29cc46p+3 +0x1.75fedcp+0, -0x1.f73896p+2 +-0x1.f2eb12p+3, -0x1.48a994p+2 +0x1.0b92a2p-1, 0x1.122916p+4 +-0x1.072ba6p+4, 0x1.b83792p+1 +0x1.bbeb92p+2, 0x1.4e11fap+3 +0x1.7cb75ep-3, -0x1.8b574cp+2 +0x1.992cb4p+8, -0x1.a9d1fcp+2 +-0x1.bcc5c6p+1, -0x1.8e9726p+1 +-0x1.344adap-1, -0x1.994ebp-4 +0x1.4a1b6ap+4, -0x1.200c2ep+2 +0x1.a561ap+2, 0x1.201446p+3 +-0x1.1e159p+1, 0x1.41d1eap+2 +-0x1.2c94bp+4, 0x1.e8135cp+0 +0x1.1a7582p+3, -0x1.07d724p+3 +-0x1.7d0e08p+9, -0x1.044edap+2 +-0x1.cb18d8p+8, 0x1.305868p+3 +-0x1.76759cp+3, 0x1.143fc4p+4 +0x1.2066ccp+4, 0x1.26218ep-1 +-0x1.a084bep+3, -0x1.5d5f8cp-1 +-0x1.9be16p-1, -0x1.8f871ap+3 +-0x1.a7fa28p-1, 0x1.e0467cp+2 +-0x1.633066p+2, -0x1.5874f4p+3 +-0x1.6929aap+2, 0x1.890e4ap+4 +-0x1.7381c8p+7, 0x1.81ec0ep+2 +0x1.f4ec0ep+1, 0x1.9cfc78p+3 +-0x1.c3e482p+2, -0x1.50c944p+3 +0x1.7cb74cp+3, -0x1.0e5682p+3 +0x1.cc0fb2p+2, 0x1.059e52p+0 +-0x1.b9b01p+2, 0x1.146f7ep+2 +0x1.3259f6p+2, -0x1.66c564p+3 +0x1.a55892p+2, -0x1.97919ap+3 +-0x1.ebe794p+2, -0x1.013e3cp-1 +-0x1.05302ap+3, 0x1.c59004p+3 +-0x1.a13856p+1, -0x1.6c778p+3 +-0x1.af4358p+1, -0x1.0193e2p+5 +-0x1.b54382p+2, 0x1.bcae7ep+1 +-0x1.e08d6ep+1, 0x1.dee878p+0 +-0x1.088be2p+3, -0x1.6b3ee4p+2 +0x1.cc6334p+3, -0x1.404252p+1 +-0x1.3304eap+1, -0x1.a2b55ep-2 +0x1.80e596p+3, 0x1.78ddcap+3 +0x1.23b1b8p+3, 0x1.0deeeep+0 +-0x1.28928p+3, 0x1.46e3cp+3 +0x1.b70728p+3, 0x1.2e10a2p+3 +0x1.1ce758p-2, -0x1.cc615ap+3 +0x1.4f54b8p+4, -0x1.6a454cp+2 +-0x1.31b902p+3, 0x1.f30a6ap+3 +-0x1.0083c4p+4, 0x1.b6f80cp+2 +0x1.24ceaap+3, -0x1.84be54p+0 +-0x1.6775c8p+3, 0x1.8f1f82p+1 +0x1.059c1cp+3, -0x1.542e84p+4 +0x1.3fb878p+2, -0x1.4aef24p+3 +-0x1.f107e8p+3, -0x1.5f948ep+1 +-0x1.3509acp+3, -0x1.97a98ep+1 +0x1.6cd152p+2, -0x1.cdff9p+2 +0x1.08003cp+3, -0x1.6b64ap+4 +0x1.e386e2p-1, -0x1.597bb2p+1 +-0x1.2f2e68p+1, -0x1.76f27ep+0 +-0x1.87da38p+3, 0x1.04f048p+1 +0x1.e8814ep-3, 0x1.fe6d72p+2 +-0x1.97b186p+2, -0x1.245954p+3 +0x1.e1ef0ap-2, -0x1.cb3d34p+2 +-0x1.f2ae5ap+2, -0x1.44c21p+3 +-0x1.0e865ep+3, 0x1.9e8b78p+2 +0x1.6dd7bap+1, -0x1.592a92p+3 +-0x1.a77182p+0, 0x1.4e8568p+3 +-0x1.c428cap+1, 0x1.3b4eap+3 +0x1.03d2aep-2, 0x1.3f08ecp+2 +0x1.6afabap+0, -0x1.00998ap+3 +-0x1.5acbfcp+4, 0x1.8f87f8p+0 +-0x1.b1390ap+3, 0x1.b6c05cp+0 +-0x1.662b3p+2, 0x1.3998dp+4 +0x1.323d14p+3, -0x1.eed906p+2 +0x1.22788ep+3, -0x1.0fe056p+4 +-0x1.c6d52cp-1, -0x1.5bee38p+0 +0x1.8e4a46p-2, 0x1.a73f72p+3 +-0x1.0b036ep+3, -0x1.2ff174p-1 +0x1.7a3a42p+1, -0x1.ae049p+2 +0x1.9cb2c2p+3, 0x1.e0934ep+3 +0x1.171a68p+3, 0x1.c4c75ap+2 +0x1.fcd1bcp+2, 0x1.7e087cp+2 +0x1.bafdf8p+1, -0x1.19cc5ep+2 +0x1.c561dap+3, -0x1.74cdd2p-3 +0x1.02398cp+3, -0x1.ad253cp-1 +0x1.5726a6p+3, -0x1.9bd0a6p+3 +-0x1.0bbd6ap+0, 0x1.3f8472p+1 +0x1.4c8ad8p+4, 0x1.1b5cccp+3 +0x1.232b2ep+2, 0x1.df8b02p+2 +0x1.76d156p-1, 0x1.ee0c38p+1 +0x1.6ee774p+3, -0x1.972832p+2 +0x1.a58cep+2, -0x1.fc3368p+2 +0x1.c2ac18p+1, 0x1.a78134p+3 +-0x1.6fc086p+2, -0x1.981d24p+2 +-0x1.f8ff4ep+1, 0x1.c0041p+3 +-0x1.0a6ae4p+0, 0x1.e07568p+2 +-0x1.0fae64p+3, -0x1.abfc0ep+0 +0x1.e70698p+1, -0x1.209aaap+1 +0x1.078d4p+2, -0x1.6fc21cp-1 +0x1.0749ecp+1, -0x1.54af96p-2 +0x1.53999cp-3, 0x1.72d1e6p+4 +0x1.47598ep-1, 0x1.06c75ep+4 +0x1.90fd88p+1, 0x1.08d7p+2 +0x1.6c04a2p+3, 0x1.d9d66ep+3 +0x1.d477cp+2, -0x1.7050aep+3 +-0x1.5d4fbap+3, -0x1.a182b2p+3 +0x1.8603e2p-1, 0x1.427836p+3 +-0x1.72cd2cp+1, 0x1.2c535ep+0 +0x1.9493f6p-2, -0x1.5315d2p+3 +0x1.316666p+1, 0x1.512ffcp+3 +-0x1.18b7b8p+0, -0x1.1f94f4p+2 +0x1.9a55ep+0, 0x1.4f8dcep-1 +0x1.b882dp+2, -0x1.12e512p+2 +0x1.2e0e4ep+3, 0x1.bdb174p-1 +0x1.d14cf2p+3, 0x1.957eap+2 +0x1.ed77e8p+2, -0x1.133ce4p+3 +-0x1.49404p+2, -0x1.7005fap+1 +0x1.9ee744p+7, -0x1.44fdb8p+4 +0x1.9a2424p+2, 0x1.0c7b46p+3 +0x1.fb3498p+0, 0x1.c8b058p+1 +-0x1.cd4f7cp+2, 0x1.12519ep+1 +-0x1.925562p+0, 0x1.a7e76ap-3 +0x1.0b997p+4, 0x1.72dd24p+3 +-0x1.e1922cp+1, -0x1.136b94p+2 +0x1.1cb0fcp+2, -0x1.9f08e8p-2 +0x1.1328a8p+2, -0x1.9816dcp+2 +-0x1.47f2dcp+3, 0x1.faa834p+5 +-0x1.01d048p+3, 0x1.55335cp+3 +0x1.a056p+1, -0x1.2e67bp+1 +-0x1.e9ab62p+1, -0x1.2d36b2p+4 +0x1.3290bap+1, -0x1.b73e36p+0 +0x1.a23d2ep+1, 0x1.f7420ep+1 +-0x1.b30ad2p+3, 0x1.83fcfep+4 +0x1.9da41ap+1, -0x1.3bef5p+3 +0x1.300348p+2, 0x1.979b16p+1 +0x1.05c622p+2, 0x1.524efcp+3 +-0x1.1fc32ep-1, -0x1.4702b2p+3 +0x1.04db1p+3, 0x1.4ae18ap+2 +0x1.543e8p+3, -0x1.4fc6f6p+4 +-0x1.334302p+3, -0x1.2379fep+3 +0x1.10813p+3, -0x1.a8a924p+2 +-0x1.de938cp+0, -0x1.0d5fd4p-2 +-0x1.f3cef6p+3, -0x1.d31a28p+1 +-0x1.3859cap+1, 0x1.1487b6p+3 +-0x1.4aa414p+0, 0x1.26c9b6p+1 +-0x1.01d376p+1, 0x1.a737dp+3 +0x1.106296p+4, -0x1.ee3794p+4 +0x1.650ad2p+0, -0x1.42e748p+3 +0x1.e32ab2p+2, 0x1.39874cp+3 +0x1.85123ep+3, -0x1.2e0aaep+1 +0x1.dbbf8p+3, -0x1.fb7956p+3 +-0x1.29adecp+2, -0x1.6d7408p+1 +-0x1.71ac06p+3, 0x1.0b05dap+2 +-0x1.5a809p+3, -0x1.4f1604p+1 +0x1.393852p+3, -0x1.b9403ap+3 +0x1.96940ep+4, 0x1.3a341p+2 +0x1.bcdadcp+3, 0x1.82e36p+2 +0x1.745a98p+3, -0x1.8085f8p+1 +0x1.b53268p+3, -0x1.a8a1c2p+3 +0x1.2f019p+1, 0x1.3ef4d2p+2 +0x1.ebd802p+2, -0x1.9834dep+2 +-0x1.3bb6acp+0, 0x1.cf0744p+3 +-0x1.9c139ap+3, 0x1.84331p+3 +-0x1.6f3dacp-1, -0x1.8a923ap+2 +0x1.7555bep-1, -0x1.489076p+4 +0x1.a303ep+3, 0x1.b1ba0ap+2 +0x1.48e3bap+3, -0x1.1ec7dap+7 +0x1.e3a24p+1, 0x1.60bf52p+3 +-0x1.4ec02cp+3, 0x1.689e38p+1 +0x1.e6d41cp+1, 0x1.54600ap+3 +-0x1.c09d2ep+3, 0x1.eb6676p+2 +0x1.2952ecp+4, 0x1.1621a2p+2 +-0x1.43ccdcp+2, 0x1.947422p+1 +-0x1.18cb8p+3, 0x1.60bd64p+1 +0x1.ee12a8p+2, 0x1.4ac74ap+2 +0x1.4b2c1ep+1, 0x1.b480bp+2 +-0x1.ae8f7p+2, 0x1.0f737ep-1 +0x1.26bebcp+2, -0x1.2063d2p+1 +0x1.0c2158p-1, 0x1.46ada4p+2 +-0x1.25d5eap+4, 0x1.babd3p+2 +0x1.572c02p+2, 0x1.c2eb14p+2 +-0x1.2ff37cp+1, -0x1.21725p+0 +0x1.5c792ap+3, -0x1.453896p+5 +0x1.0e5ba6p+4, 0x1.151e32p+2 +0x1.199614p+2, 0x1.c64e4p-3 +-0x1.dd0664p+3, 0x1.2fe828p+3 +-0x1.007678p-1, 0x1.a10a0ep+2 +-0x1.71bd3ep+2, 0x1.4069cep+3 +0x1.6563dap+1, -0x1.31dc8ap+1 +-0x1.335caap+3, -0x1.25e422p-1 +-0x1.3e6d6p+3, 0x1.ce9518p+2 +0x1.42c8f6p+0, -0x1.73c1ecp+2 +0x1.757a5cp+3, -0x1.ea13dap+1 +-0x1.4abbf2p+2, -0x1.32372p-2 +0x1.8c53bap+2, 0x1.6e36c2p+0 +-0x1.80124ap+3, -0x1.96b324p+4 +0x1.aa7b42p+3, 0x1.feefap-6 +-0x1.0ba316p+5, 0x1.5b6016p+3 +0x1.8c19cep+3, -0x1.948p+0 +-0x1.88bd5ep-1, -0x1.b754p+2 +0x1.ca18b6p+1, -0x1.392b6ep+4 +0x1.f3667ap+3, 0x1.2ffafp+3 +0x1.ac958p+2, -0x1.aa783cp+4 +0x1.2a5a8ap+2, -0x1.b869e2p+3 +0x1.ee68b2p+1, 0x1.c71cb6p+3 +0x1.86d7a8p+1, -0x1.a0b868p+3 +0x1.0f3222p+2, -0x1.c05f36p+2 +0x1.c124f2p-3, 0x1.85dd5ep-3 +0x1.39e33ep+8, 0x1.7f7182p+3 +0x1.eff6bp+2, 0x1.520078p+1 +0x1.0c221cp+3, -0x1.923348p+2 +-0x1.0b1536p+4, -0x1.90ab86p+0 +0x1.58045cp+0, 0x1.f476a8p+3 +0x1.cf95p+3, -0x1.8b152cp+3 +0x1.b956f8p+3, -0x1.1d8d96p+2 +0x1.729c4ep+0, 0x1.5e6408p+1 +-0x1.c3912p+2, 0x1.0de6acp+3 +0x1.33d5bp+3, -0x1.35fad6p+2 +-0x1.12826p+0, 0x1.45964p+3 +-0x1.53f25p+1, -0x1.996e12p+2 +0x1.edc9b6p+1, -0x1.41ed08p+3 +-0x1.5d2646p+0, -0x1.8ed1dap+3 +0x1.424b18p+4, -0x1.6373bap+3 +-0x1.11cc08p+4, 0x1.fbee9p+2 +0x1.0e9ap+0, -0x1.865eecp+2 +-0x1.6f1806p+3, 0x1.62d24ep+4 +0x1.a44022p+6, 0x1.dac40ep+3 +0x1.68ebp+3, -0x1.0f3a76p+4 +0x1.dc3174p+0, 0x1.293a54p+3 +0x1.a03eb4p+3, -0x1.8c9e62p+1 +0x1.de2424p+2, 0x1.312ef8p+0 +-0x1.b5fe3p+2, -0x1.12fc9ap+4 +0x1.b60a68p+3, -0x1.f2e376p+0 +0x1.093048p-3, -0x1.fe23c4p+2 +0x1.b53a3ap+5, 0x1.4fa32ap+3 +0x1.1af3ep+3, 0x1.a9db62p+1 +0x1.f54ef8p+3, 0x1.775c2p+2 +-0x1.6dff1ep+3, 0x1.79558cp+3 +0x1.25e976p+3, -0x1.92376p+1 +0x1.a15e84p+1, -0x1.3ff5b4p+4 +0x1.301458p+4, 0x1.3473dcp+2 +-0x1.4ffeeap+2, 0x1.e2689ap+3 +-0x1.2b7456p+3, 0x1.9f01ccp+3 +0x1.f2c9eep+2, 0x1.171a8ap+2 +0x1.93ced4p+2, 0x1.44f93p+3 +0x1.4d296ap+1, 0x1.9f3cb2p+2 +-0x1.6c589ap+2, -0x1.ab8c48p+2 +-0x1.ed16cp+2, -0x1.d28978p+1 +-0x1.391b9p+2, 0x1.1363b4p+1 +0x1.9059cap+4, -0x1.310aacp+2 +-0x1.ee8fcap-1, 0x1.e6d17ep+0 +-0x1.6183a8p+3, -0x1.a98ae6p+5 +0x1.bebfdcp+3, -0x1.2504dap-2 +-0x1.92848ep-2, 0x1.bf178ap+6 +-0x1.f146b6p+0, -0x1.06b4dep+1 +0x1.17cbbcp+2, -0x1.24778cp+1 +0x1.4be814p+1, 0x1.8e6af2p+1 +-0x1.4cbb18p+2, -0x1.6d48bp+2 +-0x1.06b1aap+2, -0x1.674c18p+3 +-0x1.e9168ep+2, -0x1.5d981ap+3 +0x1.5cda6ep+2, 0x1.b95c9p+2 +-0x1.744d1cp+3, 0x1.245c64p+1 +0x1.bab784p+2, 0x1.dadcb6p+2 +0x1.2f8c7cp+2, -0x1.85cd24p+0 +-0x1.9d4dfap+3, -0x1.0a34fp+2 +-0x1.bcde84p-10, 0x1.4c8c3ap+3 +-0x1.445168p+4, -0x1.64fbaep+2 +0x1.17a5bap+1, 0x1.c239e4p+2 +0x1.ab06dcp+4, 0x1.80a92p+2 +0x1.1b5b9ep+2, 0x1.aee1dep+1 +-0x1.38d20ep+4, 0x1.6cdd0ep+4 +0x1.57526ep+3, 0x1.2960fap+1 +-0x1.340968p+0, 0x1.346d5p+4 +0x1.22d00ap+3, -0x1.711dbcp+0 +-0x1.8bea1cp+2, -0x1.b482ep+0 +-0x1.c6276ap+1, 0x1.56b1c6p+3 +0x1.c62c3p+3, -0x1.05af82p+2 +0x1.1d20bp+2, 0x1.2efb1ap-1 +-0x1.ef64b8p+2, 0x1.a4ce82p+3 +-0x1.3df0eep+2, 0x1.86f1fep+2 +0x1.447b5cp+4, -0x1.03aeeap+4 +-0x1.2a1e0ap+2, -0x1.0bc974p+4 +-0x1.8f365cp+2, -0x1.7efb56p+3 +0x1.f8d57cp+3, 0x1.52735p+1 +0x1.1d2672p+4, -0x1.94a8p-2 +0x1.405bbep+3, 0x1.04073ep+4 +-0x1.91213ap+1, -0x1.7d83eap+1 +-0x1.bc3d9ap+3, 0x1.092a2p+4 +-0x1.b548ccp-2, -0x1.611d3ap+3 +-0x1.d829b6p+1, -0x1.2cd87ap+4 +0x1.9ac36p+2, 0x1.4073d2p+3 +0x1.1521ecp+2, -0x1.7552cep+5 +-0x1.153ab2p+0, -0x1.69bdfep+3 +0x1.097fa4p+4, -0x1.17880cp+4 +-0x1.77354ep+1, 0x1.e779p+2 +0x1.4a2ccep+3, -0x1.7b386cp+3 +-0x1.737252p+2, -0x1.c955dap+1 +0x1.72bcdp+0, 0x1.3d3a08p-3 +-0x1.f9387ep+2, 0x1.6de7e8p+1 +-0x1.eb545cp+2, 0x1.47661ap+1 +-0x1.89843ep+2, 0x1.70a5ep+2 +-0x1.46f828p+1, -0x1.097ec4p+1 +0x1.827494p+3, 0x1.cecadap-3 +-0x1.a678a2p+2, 0x1.55ae2ep+4 +-0x1.c3f964p+5, -0x1.cb7718p+2 +0x1.278d28p+3, -0x1.32e6e8p+8 +0x1.5f06b6p-3, -0x1.433d76p+1 +0x1.d06c62p+0, -0x1.20677p+4 +-0x1.e525dp+1, -0x1.be2b7ep+3 +-0x1.1a80f6p+4, 0x1.313ccap+0 +0x1.8fcdb2p-5, 0x1.462d26p+4 +0x1.df700cp+3, 0x1.80e668p+3 +-0x1.5fb982p+1, 0x1.5b7c7ep+3 +0x1.070bf8p+3, -0x1.511262p+3 +0x1.d08808p+1, -0x1.2cfe36p+2 +-0x1.19e0a8p+2, -0x1.be828p+3 +0x1.4e23b8p-8, 0x1.761f08p+3 +-0x1.72e77cp+2, 0x1.2c7c58p+2 +-0x1.0d490cp+2, 0x1.899cbp+3 +0x1.3f78a6p+6, -0x1.352f2p+3 +-0x1.32392ep+4, -0x1.c68c6cp-1 +-0x1.103862p+4, 0x1.895bc2p+3 +-0x1.c2421cp-2, -0x1.a8d34p+3 +-0x1.29b02cp+3, 0x1.87b822p+2 +-0x1.578feap+1, -0x1.3800b8p-6 +-0x1.f539a2p-4, 0x1.8f26f4p+2 +-0x1.03ee92p+0, -0x1.c6c502p+2 +-0x1.76046ap+4, -0x1.de7c98p+3 +0x1.52b902p+1, 0x1.0a0cfp+4 +0x1.dfdebp+1, 0x1.246886p+3 +-0x1.45cca4p+3, 0x1.b7999cp+1 +0x1.060e58p+1, 0x1.4c2794p+1 +0x1.0da124p+2, 0x1.98b8acp+3 +0x1.b346d4p+4, 0x1.a92b6cp-1 +0x1.631d6cp+3, -0x1.16ad8ap+4 +0x1.52ed42p+3, 0x1.2f5c6ep+4 +0x1.044d0ap+4, -0x1.80120ep+1 +0x1.0d953p+2, 0x1.df52a4p+2 +0x1.c5d332p+2, -0x1.41a2a4p+3 +0x1.a6cc1p+2, 0x1.dfaf3cp+1 +-0x1.97b06p+3, -0x1.a86d66p+3 +0x1.14914cp+2, -0x1.475fbap+3 +-0x1.61e6e2p+3, 0x1.3de098p+3 +0x1.affb28p+2, 0x1.0cd152p+1 +-0x1.671dbap+2, 0x1.332cf2p-4 +-0x1.3b420ap+3, 0x1.af7cdap-4 +-0x1.ad912cp+2, -0x1.164476p+2 +-0x1.829becp+5, -0x1.c2a508p+3 +0x1.40bbd6p+4, 0x1.db3f2p+4 +0x1.df6764p+2, 0x1.e04d6p+0 +0x1.8afc84p+3, 0x1.fa754p+0 +-0x1.e6ef88p+1, -0x1.10fdbap+2 +0x1.fc1d5ap+0, 0x1.319d66p+3 +-0x1.3c684ap+3, -0x1.64d948p+1 +-0x1.b430c2p+1, -0x1.13d798p+4 +-0x1.890f54p+2, -0x1.a2bd2ap+3 +0x1.a5d3c4p-7, 0x1.bb99dp+3 +-0x1.62e914p+6, 0x1.fe7d3ep+1 +0x1.9cf92cp+3, -0x1.c70d9cp-1 +-0x1.336d8ep+3, 0x1.555596p+1 +-0x1.48ea98p+2, 0x1.17e8bep+1 +0x1.699f1ep+3, 0x1.3636acp+1 +0x1.79a1d6p+1, 0x1.2a0a7cp+0 +-0x1.1142d8p+3, 0x1.435e4p+3 +0x1.f80c9ap+3, 0x1.81bed2p+2 +-0x1.4fbccep+2, -0x1.108134p+3 +0x1.158c08p+4, 0x1.21e09ep+4 +0x1.63c30cp+3, 0x1.aad224p+1 +-0x1.41b28ap+4, -0x1.3db7b2p+3 +-0x1.466cdap+3, 0x1.92d9b6p+3 +0x1.704ab2p+1, -0x1.fdaa48p+3 +-0x1.73e056p+0, 0x1.6ac90cp+2 +-0x1.b8dbfcp+3, 0x1.3634ap+1 +-0x1.769356p+4, -0x1.46578ep+1 +0x1.9d0584p+3, -0x1.80a3dp+1 +-0x1.e08262p+2, -0x1.f53606p+2 +0x1.e4777cp+5, 0x1.8460cep-1 +-0x1.58aedap+4, -0x1.8e5a06p+3 +-0x1.35384cp+3, 0x1.2cf922p+4 +0x1.0e0a64p+2, 0x1.164d36p+2 +-0x1.efd2c8p+1, 0x1.bc4e32p+6 +0x1.cbd164p-2, -0x1.e5d7ecp+3 +-0x1.97dc54p+3, -0x1.3a014ep+1 +0x1.7a77a6p-1, 0x1.013e9ep+1 +-0x1.c0ea6ep+1, -0x1.421f7cp+3 +-0x1.850846p+1, -0x1.9b2076p+2 +0x1.8a0f6cp+1, 0x1.3dad8ep+3 +-0x1.5416bep+2, 0x1.abac62p+8 +-0x1.2cbeb2p+0, 0x1.788e74p+1 +-0x1.59cac2p+3, 0x1.16859ep+3 +0x1.5f6478p+4, -0x1.e6062ep+2 +-0x1.b871ap+3, 0x1.1242d8p+2 +0x1.03d9fp+2, 0x1.9763cap+1 +-0x1.c1ef82p+3, 0x1.3d862p+8 +-0x1.5f228cp+4, -0x1.8b452ap+4 +-0x1.f30d32p+3, 0x1.738eaap-1 +0x1.ad8ebcp+3, -0x1.1c1beep+6 +0x1.09a5bcp+2, -0x1.3e7feap+3 +0x1.9aecb4p+1, 0x1.62f13ap+6 +0x1.2d34f8p+1, 0x1.faa6fcp-1 +0x1.de95dcp+1, -0x1.dae43cp-4 +-0x1.59bd36p+3, -0x1.b3715ap+3 +-0x1.1e8a8ep+3, 0x1.78867ep+2 +0x1.9b847cp+4, 0x1.42f1c4p+3 +-0x1.7c9094p+4, -0x1.11472ap+3 +0x1.6fe9dep+2, -0x1.2bc028p-1 +-0x1.821ca4p+4, 0x1.8c02dcp+2 +-0x1.67188ep+2, 0x1.2d2136p+3 +-0x1.6deb62p+1, 0x1.46bfa8p+0 +-0x1.453f84p+0, -0x1.4cd38cp+3 +0x1.c3064p-3, 0x1.ffb532p+0 +0x1.6b27c2p+3, 0x1.63ea54p+0 +0x1.9865eap+3, -0x1.f0e2eep-3 +0x1.4692d2p+1, -0x1.c048a4p+3 +0x1.df337cp+1, -0x1.bd0db2p+2 +0x1.cde8bap+6, 0x1.508516p+5 +0x1.4bf5aap+3, 0x1.ef3fe2p+3 +0x1.f5b0c4p+3, 0x1.fdbc1ep+2 +0x1.3703b2p+3, 0x1.ba0af2p+0 +0x1.cff85p+2, -0x1.370f4ap+4 +0x1.5022bap+4, -0x1.516648p-4 +-0x1.1a95bcp+2, 0x1.9d05e2p+2 +-0x1.40325ap+0, 0x1.ff00e8p+2 +-0x1.1e2ebp+4, -0x1.a7525cp+4 +0x1.86c0d2p+2, 0x1.a835b6p+2 +0x1.6b7d08p-6, -0x1.6f3f9p+2 +0x1.9c67c8p+1, -0x1.054dfp+4 +-0x1.196256p+2, 0x1.24cf06p+3 +0x1.1a7672p+3, 0x1.fb9b2ap+2 +-0x1.e8d6b8p+1, 0x1.f5798ep+3 +0x1.3919cap+2, 0x1.9d4ff2p+4 +0x1.150626p+0, -0x1.679192p+1 +-0x1.e8b0a6p+3, -0x1.f5ded4p-1 +-0x1.1079aap+3, 0x1.61bf06p+3 +-0x1.5eccep+3, -0x1.919c02p+2 +-0x1.ada968p-2, -0x1.90487p+1 +-0x1.265854p+1, 0x1.29099p+1 +-0x1.30f55ap+1, 0x1.3c13f4p+3 +-0x1.13ddbep+3, -0x1.17108ep+9 +-0x1.039bd6p+0, -0x1.d8c0d8p+3 +0x1.1818e8p+3, 0x1.45c736p+2 +0x1.0be538p+2, 0x1.d55c2ap+2 +-0x1.e5964cp+1, -0x1.45784cp-1 +0x1.84ed6ap+2, -0x1.6c7c42p+3 +-0x1.a95d2ep+1, 0x1.690056p+2 +0x1.adcc4ap+2, -0x1.b1ecc6p+2 +0x1.5eb812p+2, -0x1.dd2578p+3 +0x1.c6d8f8p+2, 0x1.36ef0ep+4 +-0x1.21dc62p+4, -0x1.718cb8p-1 +-0x1.9f3a4cp+2, -0x1.e22a56p+2 +0x1.351c3ep+2, 0x1.44003ep+2 +0x1.f77654p+3, 0x1.12832p+3 +0x1.d7fef2p-4, -0x1.2cce1ap+8 +-0x1.d03b22p+2, -0x1.eb3718p+1 +-0x1.64d0dap+0, 0x1.c36d64p+3 +-0x1.8b48f4p+2, -0x1.bdb882p+2 +0x1.555d56p+2, -0x1.49a302p+2 +0x1.b2a1d2p+2, -0x1.0c7aaep+3 +-0x1.29f304p+2, 0x1.19a5bp+2 +0x1.86080cp+4, -0x1.2507cep+3 +0x1.deb6bep+2, -0x1.11478cp+4 +-0x1.20692cp+1, 0x1.c58efap+3 +-0x1.5e7bfcp+2, 0x1.752226p+2 +0x1.dbd34ep+2, -0x1.39763ap+1 +0x1.8005cap+1, -0x1.610c3ep+0 +-0x1.e6f778p+1, -0x1.1faa0ep+4 +-0x1.b2440ap+2, -0x1.5f9d56p+3 +0x1.4fb624p+0, 0x1.ad49aep+3 +0x1.7b8944p-1, 0x1.75c18cp-2 +0x1.2bd58p+3, -0x1.7e2674p+2 +-0x1.0c7d5p+2, -0x1.27b7aap+3 +0x1.14d94cp+3, -0x1.1c5f2ap+4 +-0x1.6317e2p-1, -0x1.c17b34p+2 +-0x1.169e8ep+4, -0x1.83d97ep+4 +0x1.c9356ep+3, 0x1.7df8ecp-2 +0x1.05ab7cp+3, -0x1.51a59ep+0 +0x1.2e1562p+0, 0x1.9c457ep+2 +0x1.baa2f2p+3, 0x1.94271cp+4 +-0x1.98e776p+1, -0x1.53f802p+1 +-0x1.a544dcp+3, -0x1.29e808p+2 +-0x1.52c878p+2, -0x1.bd020ap+0 +0x1.430642p+1, 0x1.03753p+3 +0x1.bcb948p+2, 0x1.facd38p+3 +-0x1.90f906p+2, 0x1.707702p+1 +-0x1.4c743ep+3, -0x1.26c194p+1 +-0x1.5303eap+4, 0x1.7dec04p+2 +-0x1.7eb468p+3, 0x1.029b92p+3 +0x1.f7eaeap+3, 0x1.4ff2f2p+1 +-0x1.cf1ec8p+8, -0x1.a754ecp+3 +-0x1.317dc6p+2, -0x1.2b8c98p+3 +-0x1.6d907ep+3, -0x1.efd596p+2 +0x1.f1b306p+2, 0x1.d8625cp+1 +-0x1.3824d2p+1, 0x1.f6284ep+2 +0x1.a85acep+3, -0x1.4b4b24p+4 +-0x1.c72ap+3, -0x1.74c684p+1 +-0x1.72516cp+3, -0x1.30316ep+1 +0x1.897e5p+0, -0x1.690058p+1 +-0x1.2a153ep+0, -0x1.24cf8p+2 +0x1.d38816p+1, 0x1.88260ep+3 +-0x1.833122p-1, 0x1.09059ap+2 +-0x1.ab5a14p+4, 0x1.287a4cp+2 +-0x1.6be00ep-2, 0x1.aa2ae6p+1 +-0x1.a6a4cap+0, -0x1.80a41ap+4 +-0x1.e75098p+2, -0x1.f54296p+2 +0x1.503ddap+1, 0x1.6d41b6p+3 +-0x1.4158d2p+4, 0x1.156ff4p+9 +-0x1.7be5d6p+2, 0x1.75ed2cp+6 +0x1.1817d6p+3, 0x1.513cc8p+0 +0x1.a48c9cp+2, 0x1.587ec6p-1 +-0x1.c91a0ep+2, 0x1.763dp+2 +0x1.54f978p+1, 0x1.e6c2d2p+3 +0x1.d06d5ap+3, 0x1.d3fd3cp+0 +0x1.0a3aa6p+2, 0x1.49452ep-1 +-0x1.22548ap+3, -0x1.54f9bap+4 +0x1.b8b3c2p+3, 0x1.6eab0ap+3 +-0x1.61c578p+2, -0x1.dbdb6p+2 +-0x1.8f793cp+2, 0x1.437cacp+3 +-0x1.0a9f6ep+4, 0x1.a00d1ep+0 +0x1.8de802p+1, 0x1.119aap+2 +-0x1.502468p+1, 0x1.3e9efcp+4 +0x1.0eb23cp+0, -0x1.4843c8p+3 +0x1.f69464p+3, -0x1.0c140ap+2 +0x1.a1def8p+1, -0x1.a26ac6p-1 +-0x1.a726f8p+3, -0x1.f3ba7ap+3 +0x1.85b52ap+2, -0x1.3592c6p+4 +0x1.a1ce08p+1, -0x1.2d4fc6p+3 +-0x1.0f353cp+4, 0x1.f496bep-3 +0x1.392486p+3, -0x1.1f5ce4p+2 +0x1.0c451ap+2, 0x1.1bb32ep+3 +-0x1.fbe2c2p+2, -0x1.8a738cp+3 +0x1.3908ap+4, -0x1.0c257p+2 +-0x1.d715a6p+2, 0x1.23b99p+1 +0x1.f3884ep+2, -0x1.383372p+2 +-0x1.59e186p+4, 0x1.fe082cp+2 +0x1.449c18p-1, 0x1.0761f2p+2 +0x1.6768f4p+1, 0x1.45881p+3 +-0x1.746aeap+2, 0x1.718926p+2 +-0x1.4c66dp+2, -0x1.5534p+4 +-0x1.78d72ap+3, 0x1.e94438p-2 +0x1.2b211p+2, 0x1.8e32d6p+1 +-0x1.2ea036p+3, 0x1.0f9b62p+3 +-0x1.6cc7eep+8, -0x1.62a89cp+3 +0x1.f6d63cp+1, 0x1.e4df38p+1 +-0x1.a8c70ep+2, -0x1.28b882p+4 +0x1.d0769ap+0, 0x1.57b8d4p+2 +-0x1.0a7994p-1, 0x1.069a2ep+3 +0x1.9abd5ep+2, 0x1.5794c6p+3 +0x1.cc6ec6p+2, -0x1.8431c8p+1 +-0x1.1f499ep+1, -0x1.2ebbd4p+4 +0x1.0809dp+3, 0x1.31b588p+2 +0x1.81bbdp+0, 0x1.00d1b4p+2 +-0x1.303886p+3, 0x1.37f39ep+3 +0x1.019244p+1, 0x1.e89594p+0 +-0x1.1b8db4p-1, -0x1.a13fcep+2 +0x1.999becp+0, -0x1.988b6ap-1 +-0x1.014ab4p-9, -0x1.980d46p+3 +-0x1.d0bb32p+0, -0x1.e3395p+3 +-0x1.050702p+4, -0x1.26fea8p+3 +-0x1.659e46p+3, 0x1.5d97fep+1 +-0x1.5bf026p+7, 0x1.06055cp+3 +-0x1.a3fe6cp+1, 0x1.10a244p+3 +-0x1.23d9bap+3, 0x1.1bc77cp+3 +-0x1.f88b92p+2, -0x1.3c91d6p+3 +-0x1.cc7026p+3, -0x1.5e8936p+3 +-0x1.efbabap+1, 0x1.02393cp+4 +-0x1.b8f494p+4, 0x1.0db94ap+5 +-0x1.1e1476p+2, 0x1.045ef2p+4 +0x1.a7f424p+3, -0x1.72ff82p+3 +0x1.4d00a2p+2, 0x1.94e4e8p-2 +-0x1.72de14p+0, -0x1.948024p+2 +-0x1.821972p+3, 0x1.d5ce5ap+1 +0x1.97b52ep+0, 0x1.e43942p-2 +-0x1.acf31cp+2, -0x1.844a0ep+2 +-0x1.4d1b94p+3, 0x1.f5e3eep+1 +0x1.955f46p+3, -0x1.453238p+3 +-0x1.28b3fep+3, 0x1.696736p+0 +0x1.005926p+1, 0x1.52b532p+0 +-0x1.af2894p+2, -0x1.e252bp+0 +0x1.1697cap+2, 0x1.a7af22p+2 +0x1.6781bep+3, -0x1.4267bcp+2 +-0x1.db6e5ap+5, -0x1.828c3ep+0 +-0x1.1087e4p+3, -0x1.432542p+2 +0x1.9796e8p+2, 0x1.3f2e1ap+3 +-0x1.cf584ep+0, 0x1.66ebf8p+2 +-0x1.122bcep+4, 0x1.31051ep+2 +-0x1.4cb9dcp+0, -0x1.47243ep+1 +-0x1.3e4e12p+4, 0x1.861918p-1 +0x1.1422b2p+4, -0x1.6fad4cp+0 +0x1.43d928p+4, -0x1.acd808p+1 +0x1.97a662p+0, -0x1.1cd20ep+3 +0x1.fd680ap-1, 0x1.50a65ap+2 +0x1.60ea78p+2, -0x1.cac644p+2 +-0x1.1f97aep+3, -0x1.8c35fap+3 +-0x1.e57a9cp+3, 0x1.f7e75cp+3 +0x1.89b8dcp+3, -0x1.1cdfbap+4 +-0x1.b86a32p+0, 0x1.52cd94p+2 +-0x1.03dbap+3, -0x1.112abep+3 +0x1.0d8636p-2, 0x1.0aa1ap+4 +-0x1.52dfaep+1, -0x1.738fdcp+2 +0x1.2addbcp+3, 0x1.413796p+3 +0x1.099adp+4, 0x1.483d68p+3 +-0x1.68079p+3, -0x1.7e35ccp+2 +-0x1.96b45p+2, 0x1.53206p-2 +0x1.358aacp+5, -0x1.c1faecp+3 +0x1.ea9b6ep+2, -0x1.a7b16cp+3 +0x1.ad650ep+1, 0x1.f50dbap+1 +-0x1.29997cp+3, -0x1.04415cp+4 +-0x1.407106p-1, 0x1.f6286cp+2 +0x1.e77dfep+2, -0x1.61f97ep+3 +0x1.3f76dp+2, -0x1.170c42p+3 +0x1.801572p+3, 0x1.010f72p+2 +0x1.206c9p+4, 0x1.78facap+1 +0x1.5e7aecp+2, 0x1.81d09ap-1 +-0x1.8934dep+2, 0x1.947ea2p+3 +0x1.3ae37ap-1, 0x1.c0608p-3 +-0x1.8b7584p-1, -0x1.72c098p+3 +-0x1.ea2416p+2, 0x1.b9f9fep+3 +0x1.eda12ap+2, 0x1.3bdc1ep+2 +0x1.3e5b1ap+3, -0x1.45a782p+3 +0x1.d8c86p+2, 0x1.0bec74p+4 +-0x1.4ef42ep+3, 0x1.2cd706p+4 +-0x1.5aa3aep+2, -0x1.2f18bp+8 +0x1.2ee448p+3, 0x1.26e13cp+2 +-0x1.32d4b6p+2, 0x1.9c2a3cp+2 +0x1.4c1d86p+3, -0x1.c130fcp+0 +-0x1.7cc338p+2, -0x1.4491f6p+3 +-0x1.796bcp+1, 0x1.50c13cp+2 +0x1.6cca68p+3, 0x1.1b110ep+2 +0x1.fd4c7ap+3, -0x1.70483p+3 +0x1.ed6a8ep+2, -0x1.d79d64p-6 +0x1.c764ap+3, -0x1.9f16fap+4 +0x1.b48f8p+1, 0x1.672064p+4 +-0x1.726ac4p+0, 0x1.f4c7e4p+0 +0x1.591a06p+1, -0x1.199d04p+0 +-0x1.fd01b8p-1, -0x1.66f39ap+0 +0x1.72a704p-1, -0x1.78a96p+0 +-0x1.5c4fc2p+4, -0x1.790546p+2 +-0x1.3cabe2p+2, -0x1.cc1e7cp+3 +-0x1.c27cp+2, 0x1.2c31bp+1 +-0x1.63643ep+2, 0x1.9504f6p+1 +-0x1.4d3484p+2, -0x1.7308f2p+2 +-0x1.3b462ap+2, -0x1.2c1b6cp+1 +-0x1.cd5704p+2, -0x1.c8750ep+0 +0x1.60e976p+2, 0x1.233888p+1 +-0x1.09187ap+4, 0x1.598008p+3 +-0x1.c93052p+1, -0x1.66845ep+2 +0x1.402d04p+1, 0x1.8959eep+2 +0x1.4db79p+1, -0x1.f92708p+3 +-0x1.ba2e24p+2, 0x1.354cep+3 +0x1.936efp+3, -0x1.7d89ccp+3 +0x1.4944bp+4, 0x1.d28ac6p-8 +-0x1.8db44ep+2, 0x1.da33fcp+0 +-0x1.6fce1ap+1, 0x1.d7f33p+2 +-0x1.21b40ap-1, 0x1.6a49acp+2 +0x1.8e09f6p+2, 0x1.0c8466p+7 +-0x1.206b82p+0, 0x1.c63c84p+1 +0x1.3ce75cp+3, 0x1.e65da2p+3 +-0x1.5ec08ap+6, -0x1.37a542p+2 +-0x1.3e75bp+2, 0x1.f95194p+3 +0x1.1b5388p+2, -0x1.b3d3b2p+1 +-0x1.c750c6p+1, -0x1.21973ap+2 +0x1.8d2fd8p-1, -0x1.1933eep+4 +0x1.0301b4p+4, -0x1.a39c2ep+2 +-0x1.3da36cp+0, 0x1.3470dp-1 +-0x1.082518p+3, 0x1.876076p+6 +0x1.3fcc9cp-1, 0x1.d8d3c6p+1 +0x1.42b3d6p+2, -0x1.b8a066p+2 +-0x1.dcb24ap+1, -0x1.a26ff6p+1 +0x1.77429ep+0, -0x1.441e2cp+2 +-0x1.f46e36p+3, -0x1.c32e6p+3 +0x1.faaedp-1, -0x1.8dde1ap+3 +-0x1.6ffbd8p+3, 0x1.10c9f6p+4 +0x1.68bb76p+2, -0x1.174242p+3 +-0x1.307572p+0, -0x1.022f96p+3 +-0x1.3f282p+2, -0x1.368f3ap+3 +-0x1.9e736ap+3, 0x1.9742e8p-1 +-0x1.dccfep-4, -0x1.e04914p+2 +0x1.1a70c4p+0, 0x1.3c8d7ap+0 +0x1.73111cp+4, -0x1.3d06ap+3 +-0x1.870316p+2, -0x1.f2b14p+2 +0x1.37fe42p+3, 0x1.3003fap+2 +-0x1.03e7dep+3, -0x1.80e638p-1 +-0x1.132fd2p+1, -0x1.0aaf2cp+1 +0x1.f3a5a2p+0, -0x1.977736p+2 +0x1.2836e2p+3, 0x1.786732p+2 +-0x1.cfb248p+1, 0x1.9bb374p+2 +-0x1.214976p+4, -0x1.56b2f8p-1 +-0x1.fdf9d2p+0, -0x1.07965cp+3 +0x1.4c8242p+2, -0x1.44232ap+3 +0x1.6b4a48p+2, 0x1.33a314p+2 +-0x1.17c418p+3, -0x1.f3bb68p+2 +-0x1.2ce6f2p+3, -0x1.04baa4p+0 +-0x1.0dd8cep+2, 0x1.aae75ep-2 +0x1.015a1ep+4, -0x1.1b4026p+3 +0x1.d0efc6p+2, 0x1.88472cp+1 +-0x1.da767cp+2, 0x1.3735d4p+5 +0x1.93f60ap-2, -0x1.247e0ap+3 +-0x1.f375bcp-1, -0x1.282c02p-1 +-0x1.385bc4p+3, 0x1.c98b36p+3 +-0x1.9eb1a4p+2, -0x1.82c176p+3 +-0x1.a70842p+2, -0x1.f46a16p+1 +0x1.68a572p+3, -0x1.9a0bacp+2 +0x1.d40f7ap+2, -0x1.ffee98p+1 +-0x1.4d2432p+1, 0x1.f1e142p+3 +-0x1.f4940ep+3, 0x1.9d415p+2 +-0x1.c3531p+2, 0x1.d1f536p+2 +-0x1.8021fep+6, -0x1.7aec58p+1 +-0x1.8adf06p+1, 0x1.f14a36p+0 +-0x1.9c2b3ep+3, -0x1.4bc334p+2 +0x1.8b03f4p+3, -0x1.331daep-1 +0x1.7d8d9ep+3, -0x1.2b16fcp-1 +-0x1.126216p+4, 0x1.7c5dap+3 +0x1.02ebe8p+3, 0x1.a74c3ap+0 +0x1.265e34p+0, 0x1.c0eaap+3 +-0x1.dd1ddap+0, 0x1.86853p+2 +-0x1.d7d146p+1, -0x1.198684p+4 +0x1.51dc6ep+1, 0x1.96c3dcp+1 +0x1.0e9c4cp+6, 0x1.c329b6p+2 +0x1.c99f74p+2, 0x1.bbc00ap-3 +0x1.31428p+4, -0x1.27ce1ep-2 +0x1.3baeeap+3, 0x1.fa431p+1 +-0x1.085d74p+2, 0x1.3695e8p+2 +0x1.1371f2p+2, 0x1.29153ep+0 +-0x1.f1c08ap+3, 0x1.69090cp+1 +0x1.9760a6p+2, 0x1.c5edaap+3 +-0x1.90a078p+4, -0x1.7a5b52p+0 +0x1.b45092p+1, 0x1.f574a2p+1 +-0x1.c8f028p+5, 0x1.43d752p+4 +-0x1.a5cfbap+0, 0x1.3f338ep+0 +0x1.8bfb6p+3, -0x1.849d04p+1 +-0x1.366c4ap+2, 0x1.236c7ap+2 +-0x1.805da4p+4, -0x1.74450ap+2 +0x1.a3bf72p+2, 0x1.cadf2ep+3 +0x1.9ac79ap+3, 0x1.7787e2p+3 +-0x1.b0fb82p+1, -0x1.e67898p+3 +-0x1.d1a6f8p-2, 0x1.097c4p+3 +0x1.63281cp+2, 0x1.e9971p+1 +0x1.b8c294p+8, 0x1.7c39e6p+2 +0x1.288f1cp+0, -0x1.687562p+2 +-0x1.5e3e8ep+3, -0x1.5945eep+0 +0x1.43ca08p+1, -0x1.773b72p-1 +-0x1.5bdb88p-6, -0x1.db76acp+1 +-0x1.28b69cp-2, -0x1.42439ap+2 +-0x1.111b36p+1, -0x1.e35bf8p+2 +0x1.43340ep+2, 0x1.1f0f32p+3 +0x1.482f88p+3, 0x1.052874p+2 +-0x1.11010ep+3, 0x1.f4059p+2 +0x1.5db292p+3, 0x1.37cd8ap+4 +-0x1.93d406p-3, -0x1.ea06f8p+3 +-0x1.261252p+2, 0x1.5ad202p+3 +0x1.c761a6p+3, 0x1.7d1b6ap+3 +0x1.c148aap+2, -0x1.e87348p+3 +0x1.5367c8p+3, 0x1.047e62p+3 +0x1.903702p+3, -0x1.af439cp+2 +0x1.2582bp+2, -0x1.efa602p+2 +-0x1.696bfap+2, 0x1.a83698p+3 +0x1.0b6c06p-2, 0x1.bc94ecp+2 +-0x1.62f32cp+4, 0x1.622f3p+3 +0x1.9bd25cp-1, 0x1.c4f27p+1 +-0x1.2d62ep+0, 0x1.e3fc94p+3 +0x1.b46778p-4, -0x1.1c999ep+2 +0x1.21be7cp+2, 0x1.e69c0ep-1 +-0x1.ac160ep+2, -0x1.20fb1cp+5 +0x1.96bf16p+3, 0x1.6a9bdap+2 +-0x1.e1d898p-5, -0x1.f5a26ap+3 +0x1.0120ecp+3, -0x1.f5c7eap+4 +-0x1.d4ae5ap+2, -0x1.06cae2p+4 +0x1.797dfp+3, 0x1.85f5c6p+2 +-0x1.3616ep+2, -0x1.17b90ep+2 +-0x1.31f912p+2, -0x1.e2893ep+2 +0x1.db461cp+0, 0x1.c607e2p+1 +0x1.a41f98p+3, 0x1.e8ba0ep+2 +0x1.b05602p+5, 0x1.8b6d58p+3 +0x1.08beb6p+3, -0x1.db6fp-1 +-0x1.10f4bep+2, 0x1.4d65a4p+3 +0x1.858e7ap-3, -0x1.ce6922p+2 +-0x1.5df1dp+2, -0x1.1c2b28p-1 +-0x1.cd02fp+1, 0x1.e56cacp+3 +-0x1.9b9e54p+0, -0x1.793acep+1 +0x1.6ed8e4p+3, -0x1.54a34ap+1 +-0x1.764328p+3, 0x1.22e77p+2 +0x1.960b96p+2, 0x1.d13712p+2 +0x1.21145p+3, 0x1.2252cep+4 +0x1.a080eep+3, -0x1.32b56cp+2 +0x1.496198p+2, -0x1.c6b5b4p-4 +0x1.ed2f1p+0, 0x1.ddb62ap+3 +-0x1.d20dp+3, -0x1.1d4a1ap+4 +0x1.cd89aap-4, 0x1.e2541ap+2 +0x1.89ddcap+2, 0x1.d04998p+3 +-0x1.53f9bep+3, 0x1.caf876p-1 +0x1.c37348p+3, -0x1.25bc84p+2 +-0x1.e48e5p+3, -0x1.506a44p-7 +-0x1.bc20cap-1, -0x1.9f43eap+1 +0x1.e839bp+3, -0x1.1e7468p+2 +-0x1.c0284ep+7, 0x1.574914p+3 +0x1.3820dp+1, 0x1.054a26p+3 +0x1.c9125cp+1, -0x1.8008dap+2 +0x1.112d1p+2, -0x1.8127a8p+0 +-0x1.d0f0b8p+2, -0x1.c25b9p+2 +-0x1.e8f38cp+1, -0x1.067f72p+4 +0x1.dab0dcp+3, 0x1.73fddcp+3 +0x1.85e366p+3, -0x1.d727d6p+4 +-0x1.2e4614p+0, -0x1.359124p+2 +-0x1.0fc6f4p+0, -0x1.8a5594p+8 +-0x1.118a12p+3, -0x1.1cd60cp+2 +0x1.3d6bc8p+2, -0x1.faf026p+0 +-0x1.1641f4p+3, -0x1.f76f46p+1 +-0x1.55e72p+3, 0x1.50560cp-1 +0x1.0d1bd4p+3, 0x1.3acc76p+1 +0x1.9127d4p+6, -0x1.0fe30ap+4 +0x1.7d68f4p+3, 0x1.8c919p+3 +-0x1.aa56fp+1, -0x1.9b75cep+1 +-0x1.171b14p-1, 0x1.e17968p+2 +0x1.afaf58p+1, -0x1.333d86p+2 +-0x1.3a8dd8p+2, 0x1.1d3d7cp+2 +0x1.c09baap+1, -0x1.400082p+3 +-0x1.3c2b72p+0, -0x1.e9590ep+2 +0x1.d4213p+2, -0x1.c7acbep+2 +0x1.a3d9eap+3, 0x1.00a04cp+3 +-0x1.53702ep+2, 0x1.50c034p+1 +0x1.c15972p+3, -0x1.b7acf4p+1 +-0x1.b576ep-2, 0x1.5cbeeep+3 +-0x1.cd29bep+1, 0x1.573b1cp+1 +-0x1.12825cp+1, 0x1.953478p+0 +0x1.036494p+3, 0x1.37010ep+1 +0x1.031706p+4, 0x1.c7c73cp+2 +0x1.ae3318p+0, -0x1.1f92cep+3 +0x1.4502ecp+4, 0x1.f9d74p+1 +0x1.3be92cp+1, 0x1.c3d7bcp+0 +0x1.dfc8f6p+1, 0x1.e8e226p+0 +0x1.07e032p+3, 0x1.25c55ep+0 +-0x1.240d3p-1, -0x1.05076ap+3 +-0x1.038b16p+3, -0x1.40757ap+2 +0x1.fa840cp+5, 0x1.286d26p+4 +-0x1.ccdd58p-1, 0x1.236cacp+4 +-0x1.68d652p+2, 0x1.3c8db8p+4 +-0x1.060548p+2, 0x1.c24f26p+1 +0x1.78dfa6p+2, -0x1.6bca3cp+2 +0x1.954f98p+2, 0x1.0e98a4p+3 +0x1.2d432ap+4, 0x1.fd44d6p+2 +-0x1.01c36cp+4, -0x1.faaf96p+3 +-0x1.342afap+2, -0x1.e15544p+2 +0x1.2e164cp+4, -0x1.b40fd6p+3 +0x1.0ea95cp+4, -0x1.26ae88p+4 +-0x1.7f69a8p+0, -0x1.d6b4ap+3 +-0x1.eb35f4p+2, -0x1.8bad7ap+3 +-0x1.75d364p+2, 0x1.22284cp+1 +-0x1.c78cfcp+3, -0x1.c44212p+6 +0x1.a2bcdep+4, -0x1.54bd68p-3 +0x1.a739dep-1, 0x1.aac466p+2 +-0x1.48d048p+4, -0x1.3bc32cp+2 +-0x1.e091e8p+1, 0x1.90f02ep+3 +0x1.1e8266p+2, 0x1.ca4b9ap-1 +0x1.630122p+0, 0x1.c4422p-1 +-0x1.8af822p+2, 0x1.8b4954p+2 +0x1.51eadp+4, -0x1.7e9a4cp+3 +-0x1.1dcffp+3, -0x1.093156p+3 +-0x1.36b8f2p+4, -0x1.e95ed4p+3 +-0x1.9bc87ep-1, 0x1.bbba3p+2 +-0x1.8994c4p+1, -0x1.c056d2p+2 +-0x1.648ffep+1, 0x1.d4eb1ap+2 +-0x1.a6397ep+1, 0x1.bd95cp+2 +-0x1.68859ep+2, 0x1.077acep+3 +0x1.401444p+4, 0x1.810ffcp-2 +0x1.54b0cep+0, -0x1.9fcccap+3 +-0x1.1dc022p+0, 0x1.b66734p+0 +0x1.2e0d9ap+0, 0x1.0cd9a2p+4 +-0x1.491632p+3, -0x1.6284b2p+3 +-0x1.5cc3bcp+3, -0x1.ba91acp+0 +0x1.363368p+2, -0x1.b1024ep-1 +0x1.ce16dep+3, 0x1.e67024p+2 +0x1.8c081p-3, 0x1.2c406ep+2 +-0x1.a411c2p+2, 0x1.fdbf2ap+3 +-0x1.69a296p-2, -0x1.1f0ce8p+3 +-0x1.18e23p+3, -0x1.2f62bp+1 +0x1.c24ff2p+2, -0x1.282edap+3 +0x1.8cefaap+1, 0x1.25afe8p+3 +-0x1.c2fb5ep+1, 0x1.50cbb8p+4 +-0x1.9220f4p+4, -0x1.35e05cp+1 +-0x1.1464d8p+3, 0x1.8fd35ep+2 +-0x1.a84858p+2, 0x1.9f4cc2p+4 +0x1.2ee942p+3, 0x1.8d47aap-2 +0x1.0e512ep+4, -0x1.355cc8p+0 +0x1.91dbf6p+0, 0x1.b72cb2p+2 +-0x1.829c54p+2, 0x1.299334p+0 +0x1.2672cap+3, 0x1.367c54p+3 +-0x1.2cf118p+3, 0x1.1a520ep+3 +0x1.3574ap+3, -0x1.6483p+3 +0x1.19b96ep+1, -0x1.ae6e46p+2 +0x1.716416p+2, 0x1.89137ep+0 +-0x1.ed95cep+2, 0x1.590ae6p+3 +-0x1.60494ap+2, 0x1.e33236p+2 +-0x1.1bf37ep+4, 0x1.893e24p+4 +-0x1.339c38p-1, -0x1.24856cp+4 +0x1.ed4574p+3, 0x1.52b2fp+4 +-0x1.2b02dp+3, 0x1.41cacap+0 +0x1.5c856ep+6, -0x1.8328p+3 +-0x1.e152c8p+1, -0x1.3ed50ap+2 +0x1.7bb37ap+3, 0x1.6507f2p+4 +0x1.11d596p-1, -0x1.4f0f6ep+2 +-0x1.73325ep+1, 0x1.1d8962p+3 +-0x1.c7ffecp+3, 0x1.9f53cep+1 +0x1.de4e22p+2, 0x1.79f634p+3 +-0x1.a2f44cp+2, -0x1.d214ep+2 +0x1.0be0b8p+2, 0x1.140738p+3 +0x1.b043e6p+1, -0x1.815216p+2 +0x1.e73b78p+2, -0x1.0e799ap+3 +0x1.1880dp+4, -0x1.4661dp+3 +0x1.a1e754p+2, 0x1.f7a924p+1 +-0x1.3439a8p+1, 0x1.d3a6fp+3 +0x1.38077ap+4, 0x1.e867a6p+2 +0x1.2d86f6p+3, -0x1.3473cp+4 +0x1.888e2cp+2, -0x1.0bc122p+3 +0x1.37f2d2p+4, -0x1.64fe1ap+3 +0x1.b7b43ep+2, 0x1.d9745cp-2 +0x1.28587ep+0, 0x1.9e9f86p+1 +0x1.ac9c1cp-1, 0x1.0c532cp+2 +0x1.72d312p+3, -0x1.4ad142p+3 +-0x1.93f4d4p+4, -0x1.cbe598p+1 +-0x1.0fca74p+2, -0x1.9f1782p+3 +-0x1.871ac6p+4, -0x1.48707ap+3 +0x1.73c83cp+1, -0x1.40acfep-3 +-0x1.89322ap+0, 0x1.cb1442p+2 +0x1.10aaf8p+4, 0x1.bcaef8p+4 +0x1.31d1ap+3, -0x1.7b5124p+2 +0x1.f3996ep+1, 0x1.68b6dap+1 +0x1.b4b5e6p+3, 0x1.322f6ep+3 +0x1.294ccap+3, 0x1.bd043cp+1 +-0x1.23fb6ap-2, 0x1.29a94ep+3 +-0x1.5182aap+4, 0x1.2acc12p+2 +-0x1.bc771p+3, 0x1.ec9804p+3 +-0x1.858292p-1, -0x1.c046a6p+1 +-0x1.803432p+1, -0x1.921eb6p+2 +-0x1.63046cp+2, -0x1.be605p+1 +0x1.99a4fcp+2, -0x1.1e073ap+3 +0x1.897cb4p+9, 0x1.b5e2cp+1 +-0x1.1b4144p+2, -0x1.1b4d0ep+3 +-0x1.f308ep+2, 0x1.18aff6p-1 +0x1.b928e4p+3, 0x1.1b5ffp+3 +0x1.821f74p+2, -0x1.eb9df2p+2 +-0x1.ec063ep+1, 0x1.1015bep+2 +0x1.6f0a16p+3, 0x1.0b33d6p+1 +0x1.6cd57cp+0, -0x1.135ae2p+1 +-0x1.43ecd8p+3, -0x1.5bb71ap+1 +0x1.1e9484p+4, -0x1.d9c63cp+1 +-0x1.adc2bp+1, 0x1.ffc05p+3 +-0x1.228d3cp+2, -0x1.54bd54p+2 +-0x1.95c3dep+1, 0x1.59a9f6p+1 +-0x1.9e3e6cp+1, 0x1.04465ep-1 +0x1.0e532p+2, -0x1.748158p+1 +0x1.491b84p+1, 0x1.e60daep+1 +0x1.e4581ap+0, 0x1.87281ap+3 +-0x1.7fdap+3, -0x1.e093bcp+3 +0x1.6af2a4p+2, 0x1.a8943ep+2 +0x1.1d231ap+2, -0x1.0f1e7p+3 +-0x1.67f5d2p+3, 0x1.302152p+3 +0x1.5adc56p+2, -0x1.ea0a26p+2 +0x1.772df6p+3, 0x1.8f3148p+2 +-0x1.334948p+5, 0x1.1e09bep+3 +0x1.24495p+4, -0x1.94d712p+3 +0x1.aa5408p+2, 0x1.783162p+3 +-0x1.3979ep+2, 0x1.832792p+1 +-0x1.5b3f54p-8, 0x1.a347acp+0 +0x1.208d68p+2, -0x1.52f612p+7 +0x1.3ecfa4p+1, 0x1.0e9f32p+2 +0x1.e8775cp+2, -0x1.c2bfe6p+2 +-0x1.5b6eep-1, 0x1.007578p+3 +0x1.294148p+0, -0x1.3d8e2p+1 +0x1.57221ap+3, -0x1.5650dp+3 +0x1.0281eep+3, -0x1.a4cfacp+0 +0x1.5d306cp+3, 0x1.1eb6fp+3 +0x1.3ff48p+3, -0x1.67731ep+2 +-0x1.bdedbcp+0, 0x1.7d3cdcp+0 +-0x1.c0aed6p+3, 0x1.793606p+3 +-0x1.1eafd8p+4, -0x1.1dda94p+4 +-0x1.9aa37p+2, 0x1.1cd1ccp+3 +0x1.c6998ep-1, -0x1.219666p+2 +0x1.7585aep-1, -0x1.410d36p+2 +-0x1.185836p+4, -0x1.7fff0cp-1 +0x1.3c529ap+4, 0x1.ab651ep+2 +-0x1.5b808ep-3, 0x1.1e21ep+3 +-0x1.441124p+3, 0x1.6f727p+2 +0x1.1e0a5ap+3, -0x1.813344p+3 +0x1.6f0426p+0, 0x1.b07196p+3 +-0x1.456f46p+1, 0x1.ce1f94p+1 +0x1.1667acp+2, -0x1.cd38c8p+3 +0x1.88a894p+3, -0x1.16aabap+3 +0x1.63c042p+3, 0x1.4ba9c2p+2 +0x1.dbb172p+2, 0x1.66e7acp+2 +0x1.bab49cp+2, -0x1.a8c10ap+0 +-0x1.8f5064p+2, -0x1.c2b1f2p+2 +0x1.d73b78p-1, 0x1.d7e39ep-1 +0x1.9e2e44p+1, -0x1.a528e8p+7 +-0x1.1d7b5p+0, 0x1.40a93p-1 +-0x1.134a26p+4, -0x1.431e78p+0 +0x1.6ab7a2p+1, 0x1.d93e6ep+3 +0x1.79f17ap+2, -0x1.43bcc2p+3 +0x1.2870d4p+4, -0x1.9d6da8p+3 +-0x1.918f7cp+3, -0x1.6cb6fp+3 +-0x1.46b85ap+4, 0x1.acf3cap-2 +-0x1.ade0d8p+2, 0x1.1daaa4p+2 +-0x1.7ab278p+0, 0x1.942a9p+2 +-0x1.75e17p+2, -0x1.ddd2fcp+1 +0x1.448a1ap+2, -0x1.1efad8p+1 +-0x1.16a6dcp+4, 0x1.87d66ap-3 +0x1.ebd29p+1, -0x1.2afef2p+0 +-0x1.264b1ep+3, 0x1.b73a78p+2 +-0x1.7c1042p+1, -0x1.e3d726p+1 +0x1.619016p+3, 0x1.4fe25cp+4 +0x1.c9030cp+2, -0x1.4028c2p+0 +0x1.f5f1eap+2, 0x1.5ec656p+1 +-0x1.2dedc4p+4, 0x1.e44f78p-1 +-0x1.11fe5ap+2, -0x1.1be512p+3 +0x1.7c7a0cp+2, 0x1.d0559ap+3 +-0x1.b75d3ep+1, 0x1.6fb1eep+3 +0x1.37c80ap+3, -0x1.b4e542p+2 +0x1.652324p+5, 0x1.3fe51ep+3 +-0x1.6d358ap+1, 0x1.00a828p+3 +0x1.0ddbaep+3, 0x1.caaf92p-1 +-0x1.c3c814p+7, -0x1.23818ep+3 +-0x1.76f71cp+3, 0x1.660466p+1 +0x1.66297p+4, 0x1.e5625p+0 +-0x1.4e27e2p+4, -0x1.c8525cp+1 +0x1.2eba9cp+3, -0x1.4e84e4p+4 +0x1.ac44bp+3, -0x1.d9f5fep+2 +-0x1.b0a2f2p+3, 0x1.4655c6p+3 +0x1.228a96p+2, 0x1.6199acp+3 +-0x1.5ab13ap+1, 0x1.495a6ap+4 +-0x1.591bcap-2, 0x1.3fc44cp+2 +0x1.0a705ep+4, 0x1.f7251ap+1 +-0x1.41f6dap+3, 0x1.87131ap+2 +-0x1.1026bep+2, -0x1.bd0c5cp+2 +0x1.dfb38ap+0, 0x1.e6eb58p+2 +0x1.b3ea8cp+3, 0x1.fd572ep-1 +-0x1.4abf9ep-1, -0x1.66f044p+1 +0x1.a28212p+2, -0x1.cf393p+3 +0x1.bc0cb2p+3, -0x1.975f94p-3 +-0x1.fd9072p-1, -0x1.2cef3ep+3 +0x1.c3689p+5, -0x1.c59498p+3 +-0x1.a0b91p+2, -0x1.18ca4p+3 +-0x1.c5508p+1, -0x1.7a182ap+1 +-0x1.8a6a1ap-2, 0x1.1b19f2p+4 +-0x1.26651p+2, 0x1.adcbb2p+3 +0x1.28932p+2, 0x1.571fdap+2 +0x1.7436b8p+3, -0x1.b4119cp+2 +-0x1.37fe6p+4, 0x1.c84c94p+2 +-0x1.79676cp+4, -0x1.c91212p+5 +-0x1.457feep+3, 0x1.eacde8p+0 +0x1.e1c49ap+2, 0x1.b75322p-1 +0x1.690d98p-3, 0x1.7bb7e2p+3 +0x1.b3a562p+4, -0x1.b7102ap+1 +0x1.1e52e2p-2, -0x1.ded03p+3 +0x1.8cb116p+2, -0x1.077a74p+3 +0x1.36412cp+2, 0x1.6dc106p+3 +0x1.93915ep+3, -0x1.896f16p+3 +-0x1.f45176p+0, -0x1.b6057ap+3 +-0x1.e37dc8p+1, 0x1.0d4574p+1 +0x1.0bd18cp+5, 0x1.9cc9d4p+0 +-0x1.35e03ep+0, -0x1.6cc594p+1 +0x1.a79cfcp+2, -0x1.66d6cap+1 +0x1.dfca44p+3, -0x1.78ce26p+3 +-0x1.8ecfd6p+2, 0x1.df968ep+6 +-0x1.3f29bap+2, 0x1.4762ep-1 +0x1.8fef54p+2, 0x1.29b4a8p+0 +0x1.174258p+3, -0x1.2675c8p+4 +0x1.3cb0a2p+1, -0x1.407c96p+2 +0x1.de338p+3, 0x1.104ebcp+2 +-0x1.585d8p+2, 0x1.a929c6p+2 +-0x1.1e1866p+3, -0x1.adb1bcp+3 +-0x1.e2e80cp+3, -0x1.45c5acp+3 +-0x1.11a8dep+1, -0x1.0b976ap+2 +0x1.aafdbep+3, -0x1.21ab06p+1 +0x1.8a9fc4p+4, -0x1.88ac68p+2 +0x1.7baebep+2, -0x1.4bb9d2p-2 +-0x1.8ab4fep+4, 0x1.e6749ap+1 +0x1.2e2252p+3, 0x1.c5f90ep+1 +-0x1.b7c13ap+1, 0x1.ab523ep+3 +0x1.607a3ap+2, 0x1.8b9c86p+3 +0x1.7b2656p+1, -0x1.2e541ap+4 +-0x1.75874ap+4, -0x1.226f2ap+3 +0x1.0d1d04p+4, -0x1.0a1e98p+4 +-0x1.c191a8p+0, -0x1.728572p+3 +-0x1.7cd6a4p+3, -0x1.65827p+2 +0x1.4d1f48p+5, 0x1.5b62b4p+2 +-0x1.925fd8p+7, -0x1.a25c9p+3 +-0x1.e6fa1cp+3, 0x1.c150a4p+3 +0x1.fce4bap+3, -0x1.21104p+3 +0x1.d2b22ep+0, 0x1.6233d2p+2 +-0x1.902de4p+1, -0x1.fdf1e8p+3 +-0x1.2b3f1cp+4, 0x1.7849aap+2 +0x1.a7ae4cp+2, -0x1.25130ap-5 +-0x1.097dbep+1, 0x1.5bb3ap-1 +-0x1.fac786p-3, -0x1.2eda7p+3 +0x1.a8a60ep+2, 0x1.ad03d2p+0 +-0x1.0f9ba4p-4, 0x1.17d808p+3 +-0x1.874556p+1, -0x1.58b824p+3 +-0x1.7699b2p+3, -0x1.0a4c88p+4 +-0x1.a2e864p+2, 0x1.196102p+3 +0x1.468b7ep+1, -0x1.48c994p+1 +-0x1.f5a268p-1, -0x1.38a242p+2 +-0x1.834034p-6, -0x1.c68b1cp+3 +0x1.847902p+1, -0x1.fd8fa2p-1 +0x1.7154dp+3, -0x1.189134p+3 +0x1.4b0cf6p+3, -0x1.d471b6p+1 +-0x1.8541a4p-1, -0x1.571feep+4 +-0x1.4a462p+1, 0x1.884108p+4 +0x1.a1142ap+3, 0x1.988536p+3 +-0x1.31d526p+4, 0x1.118528p+2 +-0x1.a420e8p+1, -0x1.0beb24p+4 +0x1.2cfc4cp-1, -0x1.1a5b34p+1 +0x1.730eep+1, 0x1.b4b9c6p+3 +-0x1.b3d522p+1, -0x1.432a12p+2 +0x1.68d028p+1, -0x1.e3b50ap+3 +-0x1.0590a2p+2, -0x1.398b2p+3 +0x1.42f1fcp+3, 0x1.dae61cp-2 +0x1.beb9c8p+1, -0x1.3c51a2p+3 +0x1.407f86p+3, 0x1.07a7f8p+2 +-0x1.2e72dcp+0, -0x1.9a218ap+3 +0x1.720fe8p-4, 0x1.4ac92ap+2 +0x1.5faf78p-1, 0x1.be694p+1 +-0x1.3a91bep+3, 0x1.901872p-1 +0x1.8ab69cp+1, -0x1.cd7952p+1 +-0x1.3e6502p+2, 0x1.f3d312p+2 +0x1.01e4dap+1, 0x1.67dbc2p+3 +0x1.4dd714p+2, -0x1.a5c342p+1 +-0x1.ef580ep+6, -0x1.b1143cp+1 +0x1.0ff996p-3, 0x1.90382ap+2 +-0x1.390972p+3, 0x1.c0fccep+0 +-0x1.40d96p+3, -0x1.ae5f44p+2 +0x1.7b126p+1, 0x1.baaae2p+1 +0x1.4f7494p+1, -0x1.d008f4p+2 +0x1.28dcbp+4, -0x1.1f16eep-2 +-0x1.687df4p+1, -0x1.6bddeep+2 +-0x1.786e3p+1, 0x1.60ed5ep+1 +0x1.01b61cp+2, -0x1.5e015ap+3 +0x1.6dde7ap+2, 0x1.35fb36p+3 +0x1.95fa66p+3, -0x1.c20bd4p+2 +-0x1.cea734p+2, 0x1.a7b992p+2 +-0x1.10fa8cp+3, -0x1.8c2038p+2 +-0x1.97abb6p+2, 0x1.11a1aap+2 +0x1.316772p+3, 0x1.1eaceep+4 +-0x1.7514dap+2, 0x1.a2c652p+8 +-0x1.230df8p-1, -0x1.62a3aep+3 +0x1.905198p+2, -0x1.6b2bfcp+0 +-0x1.4e3afep-2, -0x1.944412p+3 +-0x1.9c3d58p+7, 0x1.a58338p+3 +0x1.7bdfd2p+3, -0x1.14b36cp+4 +0x1.2b051ep+3, -0x1.9176c2p+3 +-0x1.a5c622p+1, -0x1.a2967ep+2 +-0x1.79ec3p-1, -0x1.01d764p+4 +-0x1.e2390ep+2, -0x1.d6919p+1 +0x1.7e900cp+2, 0x1.01cdc6p+2 +-0x1.289a46p-1, -0x1.beaefap+1 +0x1.808fa8p-3, -0x1.fe1724p+3 +-0x1.89af5cp+3, -0x1.1cfefep+4 +-0x1.ba7c78p+1, 0x1.ce438ep+0 +0x1.36f882p+0, -0x1.8fc138p+2 +-0x1.b3f666p+3, 0x1.47d336p+2 +0x1.9b746cp-2, 0x1.61c742p+4 +-0x1.f2d696p+0, -0x1.79f776p+3 +0x1.b53c0cp+2, 0x1.32144cp+3 +0x1.bf9b6p+2, -0x1.be7a5cp+3 +-0x1.db778p+2, -0x1.8ed556p+0 +-0x1.37a546p-2, -0x1.1c0888p+2 +-0x1.11104ep+1, -0x1.3b4926p+1 +-0x1.021984p+3, 0x1.be99b4p+3 +-0x1.20decap-3, 0x1.8bc724p-4 +0x1.5d6548p+2, -0x1.0db28p+3 +0x1.8f7c2ap+1, 0x1.6db9ccp+3 +-0x1.959dd4p+1, -0x1.627d7p+3 +0x1.582acp+2, 0x1.5658eep+3 +0x1.12f354p+3, 0x1.c42fc4p+2 +0x1.b30b3cp+3, -0x1.9e373ap+4 +0x1.89431cp-1, -0x1.7ddb8ep+2 +0x1.cf7556p+2, -0x1.800ebap+2 +0x1.231fe8p+3, -0x1.f7fb32p+4 +0x1.7c86dap+3, -0x1.ffd162p+2 +0x1.2225cp+0, 0x1.66faap+2 +-0x1.7111c2p-2, 0x1.df5fa2p+3 +0x1.162c7ep+3, -0x1.606b6ep+2 +-0x1.22d08ep+3, -0x1.3ec648p+3 +0x1.af2ddp+2, -0x1.0774c4p+2 +-0x1.24b82ep+2, -0x1.23d0bap+4 +-0x1.fed3f8p+1, 0x1.36c39ep+3 +-0x1.000286p-5, -0x1.2a209cp+1 +-0x1.fd6dfcp+2, -0x1.54f6d2p+3 +0x1.73dd9ep+3, 0x1.6c06fap+3 +-0x1.8eeb98p+0, 0x1.0b15b4p+2 +0x1.dc1916p+2, -0x1.de5ba8p+3 +-0x1.7e6f14p+3, -0x1.5f6342p+2 +0x1.54557ep+1, 0x1.fb66cep+0 +-0x1.8c0c56p+2, -0x1.796a32p+3 +0x1.32dc66p+3, -0x1.f27e8cp+0 +-0x1.3a253ep+3, 0x1.33fb4ap+7 +0x1.a3fa0ap+1, -0x1.54e34p+1 +0x1.0a047cp+3, 0x1.9b0cc8p+3 +-0x1.237288p+5, 0x1.7bd7d4p+2 +0x1.60ea52p+0, 0x1.87d394p+2 +-0x1.e88bbp+2, 0x1.57339ap+2 +0x1.5c4c6ap+1, -0x1.ab4d7ap-1 +-0x1.38f7eep+4, 0x1.6e684ep+2 +0x1.060a7p+2, -0x1.897802p+3 +-0x1.45c984p+1, 0x1.7042a8p+2 +-0x1.049268p+3, 0x1.522034p+4 +-0x1.83c6d8p+3, -0x1.6064bcp+4 +-0x1.5a6c02p+3, 0x1.547ec8p+7 +-0x1.4cbb72p-1, -0x1.8ac204p+2 +-0x1.81980ap+0, 0x1.4123f8p+2 +-0x1.db97f6p+1, 0x1.d706a2p+0 +-0x1.775234p+1, -0x1.6c462cp+2 +-0x1.efe5e2p+6, 0x1.8ca11cp-1 +-0x1.ecdf6ep+3, 0x1.2d4bdp+3 +0x1.be3278p+0, -0x1.5fc586p+2 +0x1.94abe6p+2, 0x1.ba424cp+2 +0x1.38143p+2, 0x1.c44fa6p+0 +0x1.5ccbf8p-2, 0x1.740292p+9 +0x1.caf37ap+1, -0x1.f337eap+4 +0x1.2b6f96p+2, 0x1.80bbacp+3 +-0x1.6b261p-1, 0x1.1a3138p+3 +0x1.706846p+3, -0x1.e34444p+1 +0x1.223b5p+1, 0x1.6b587ep+3 +-0x1.6dafa8p+1, -0x1.8062p+4 +0x1.3ba76cp+3, -0x1.7e5bcep-1 +0x1.a8b9cap+1, 0x1.87147cp+3 +0x1.3ffc14p+2, 0x1.92e74ap+2 +-0x1.be8c0ap+3, 0x1.c91784p+2 +0x1.3ab62cp+3, 0x1.0b88e4p+2 +-0x1.a15566p+1, 0x1.7c8e24p-1 +-0x1.b0ad2p+4, -0x1.e720c6p+1 +0x1.c26146p+4, -0x1.bc11dap-1 +-0x1.1c14p+3, 0x1.ae5dp+3 +0x1.2fac3ep+3, 0x1.669698p-1 +-0x1.a67bf8p-2, -0x1.b3917p+2 +0x1.3be014p+3, 0x1.831e4p+2 +0x1.d69604p+2, 0x1.575066p+3 +-0x1.35b95cp+0, -0x1.7e65acp+0 +0x1.1ea458p+1, 0x1.6864ap+0 +0x1.fc4dfcp+3, 0x1.f23d48p+3 +-0x1.ea16fap+1, 0x1.fb22dap+1 +0x1.fb64dep+2, -0x1.8563c6p+4 +-0x1.45f6e4p+2, -0x1.73c8a4p+2 +0x1.741732p+4, 0x1.9c5e8p+8 +-0x1.5c33c2p+6, 0x1.f74674p+2 +0x1.a781ecp+2, 0x1.11c2b6p+3 +-0x1.0e265ep+3, -0x1.1d902ep+7 +0x1.0576d8p+3, -0x1.b5149cp+3 +-0x1.69330ep+1, -0x1.740a62p+0 +-0x1.c676c2p+3, -0x1.bd32c8p+3 +-0x1.8cc668p+1, -0x1.03f936p+4 +-0x1.fe5a1p+3, -0x1.c70b9ep+1 +0x1.00e0f6p+1, 0x1.3b46fep+2 +0x1.57104cp+2, -0x1.9afe4ep+0 +0x1.0e6cep+3, -0x1.7a7794p+2 +-0x1.4cfc48p+2, -0x1.2574aap+1 +-0x1.bdd0dep+2, -0x1.94043p+1 +0x1.4e674ep+2, -0x1.c6879ap+2 +-0x1.07ecbp+0, -0x1.88f2e6p+4 +0x1.decdd8p+1, -0x1.799f6p+0 +-0x1.12fd6ap+3, 0x1.45f68p+2 +-0x1.7d9682p+2, -0x1.888a7ep+3 +0x1.1276c6p+3, -0x1.8b0b4cp+1 +-0x1.da823ep+2, -0x1.e7bc48p+1 +-0x1.1179cp+3, 0x1.1f7baap+4 +-0x1.35d4dp+3, 0x1.530aap+3 +0x1.ba5eaep+6, 0x1.3066fep+3 +-0x1.0fd2c8p+3, -0x1.79719ep+1 +0x1.3963c8p+2, 0x1.0fe7ep+3 +-0x1.0554bep+3, 0x1.952cbp+2 +-0x1.2cc7ccp+3, 0x1.1f987ap+4 +-0x1.1a00fp+2, 0x1.ce8b86p+1 +0x1.dcf5eep+3, 0x1.10c5f6p+2 +-0x1.7dc398p+3, 0x1.64710cp+1 +-0x1.924c04p+3, 0x1.2a24cp+2 +0x1.46c09p+1, -0x1.4b8986p-1 +-0x1.7e107ap+3, 0x1.c3dd5p+1 +-0x1.efd37ep+2, -0x1.a3a51ep+2 +0x1.819f2ep+3, 0x1.25f44p+1 +0x1.059c04p+2, 0x1.57ce4ap+3 +0x1.86d81cp+3, -0x1.85023ep+1 +0x1.3b67d2p+3, -0x1.86f29cp+1 +-0x1.9a0092p+1, 0x1.42106ep+3 +0x1.b80e18p+3, 0x1.240dcep+6 +-0x1.32bfdep+2, -0x1.e3fe44p+3 +0x1.a0d09p-1, -0x1.1759f6p+4 +0x1.dc7498p+2, 0x1.77c1fcp+9 +0x1.44494ep+7, 0x1.ed95b4p+0 +-0x1.494c7ep+2, 0x1.6d9f2ep+3 +0x1.b0b34cp-1, -0x1.956bc6p+3 +-0x1.6f0036p+4, -0x1.650a32p+4 +0x1.0ff55ap-4, 0x1.55fdap+3 +0x1.22124ep+2, 0x1.a81bd6p+8 +-0x1.3b6732p+3, -0x1.6a1faep+3 +-0x1.9ad70ap+3, 0x1.c109bap+2 +0x1.525f44p+3, 0x1.7505ep+3 +0x1.bb94d8p+3, 0x1.591e9ap+3 +0x1.e90c82p+2, -0x1.020a4ap+0 +0x1.e8e858p+0, 0x1.57b21cp-3 +0x1.21ba34p+3, -0x1.1ced9cp+1 +0x1.3e17ccp+3, -0x1.e40158p-3 +0x1.f4f284p+2, -0x1.8a0a42p+1 +-0x1.77c71ep+2, 0x1.1d1dacp+3 +-0x1.3f67c6p+2, 0x1.bd5c92p+3 +-0x1.46fb78p+3, -0x1.82d4fp+3 +-0x1.890c5ap+3, -0x1.2c1ebap+3 +-0x1.16772p-2, 0x1.e82bbap+1 +-0x1.066ffap-2, -0x1.c2682ep+4 +0x1.831b5ep+1, 0x1.c44a16p+0 +0x1.35cb62p+2, 0x1.f2aac6p-1 +-0x1.16a50ep+3, -0x1.6981bap+2 +-0x1.8f76f2p+2, -0x1.7f76a2p+1 +-0x1.7d5dfep+2, -0x1.d4fa6p+2 +-0x1.c0fddcp+2, 0x1.14933cp+3 +0x1.21bf2p+3, 0x1.54d5fcp+1 +0x1.59350ep+0, -0x1.0e5fa2p+3 +-0x1.e6b3b8p+0, -0x1.5ddc18p+4 +0x1.01acf2p+3, 0x1.ab5da6p-2 +0x1.728c44p+2, 0x1.62811cp+3 +-0x1.336dfcp-3, -0x1.14d46cp+4 +0x1.2eb6dp+4, 0x1.4d713p+3 +0x1.0045eap+2, 0x1.0ce746p+1 +-0x1.903df8p+1, 0x1.5def4p+6 +0x1.d08a82p+1, 0x1.e1772ap+1 +-0x1.130198p+3, -0x1.cbdd5ap+3 +-0x1.c7b366p+2, -0x1.be235cp+6 +0x1.56e11cp+1, -0x1.e1422p+3 +-0x1.fa64bp+1, 0x1.ab70cap+0 +0x1.16e55ap-6, 0x1.a7fb4ep+4 +-0x1.0f7ebep+1, 0x1.368ec6p+1 +-0x1.de17e8p+3, -0x1.814ec4p+3 +-0x1.620104p+9, -0x1.4f7df2p+4 +0x1.19724p+2, -0x1.bd6956p+0 +-0x1.ad8b2cp+0, -0x1.a24feap+2 +-0x1.88ce92p+1, -0x1.575684p+3 +-0x1.cf1182p+3, 0x1.28eea8p+3 +-0x1.32117p+4, 0x1.ef19d2p+3 +-0x1.49a7dep+8, -0x1.61e376p+1 +0x1.6d9d4ep+7, -0x1.5098d2p+3 +0x1.39c32ap+2, -0x1.863394p-1 +0x1.a1092ep+2, -0x1.fc43p+4 +0x1.0ebf8ap+3, -0x1.e27352p+0 +0x1.1e36dap+3, 0x1.237ed2p+2 +-0x1.0ebf92p+2, -0x1.e8628ap+2 +0x1.e00836p+3, 0x1.ef615ep+1 +0x1.de38f4p+0, 0x1.ed26ap+0 +-0x1.f6bdd8p-2, 0x1.3595a8p+2 +-0x1.b6506ep+1, -0x1.daa16p-1 +0x1.bf38f2p+3, -0x1.09fe7cp+3 +-0x1.119fep+7, -0x1.972f08p+1 +0x1.c03f06p+1, 0x1.97c662p+1 +-0x1.42e0a8p+2, -0x1.506eecp+1 +0x1.5066b8p+4, -0x1.f1b3p+5 +-0x1.af9ef2p+1, 0x1.fc4202p+3 +-0x1.88238p+3, 0x1.192448p-5 +0x1.280a26p+3, -0x1.18e9a4p+1 +0x1.5edc54p+3, 0x1.dde464p+3 From patchwork Wed Nov 24 19:37:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48104 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1363D3858433 for ; Wed, 24 Nov 2021 20:29:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1363D3858433 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785782; bh=fE9JUE93qO79hWhnbnxcNmXTtMnr0fd0kqUxGfzz7jE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=tIvuRm4K+u1tbhBFie0HrQ4OrEjOTBHvZW9NF/Sz/pjPojA9bkCgLKrLOZt6XCDRX peB11vmZe3PC2mbgJAGkZFkx4LMUqXLC5pDZc//G3X7qGIiam8JRYu4iXt3NlhUQjZ XTmOb+jvADsvBTluakZo5h+1Zvhy2pKbKDOp26bk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id 668F93857820 for ; Wed, 24 Nov 2021 19:38:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 668F93857820 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="222581836" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="222581836" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="510002851" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga008.jf.intel.com with ESMTP; 24 Nov 2021 11:38:13 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XI021555; Wed, 24 Nov 2021 11:38:13 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 31/42] x86-64: Add vector log10/log10f implementation to libmvec Date: Wed, 24 Nov 2021 11:37:56 -0800 Message-Id: <20211124193807.2093208-32-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized log10/log10f containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector log10/log10f with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_log102_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_log102_core.c | 27 + .../fpu/multiarch/svml_d_log102_core_sse4.S | 3957 +++++++++++++++++ .../fpu/multiarch/svml_d_log104_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_log104_core.c | 27 + .../fpu/multiarch/svml_d_log104_core_avx2.S | 3781 ++++++++++++++++ .../fpu/multiarch/svml_d_log108_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_log108_core.c | 27 + .../fpu/multiarch/svml_d_log108_core_avx512.S | 1081 +++++ .../fpu/multiarch/svml_s_log10f16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_log10f16_core.c | 28 + .../multiarch/svml_s_log10f16_core_avx512.S | 726 +++ .../fpu/multiarch/svml_s_log10f4_core-sse2.S | 20 + .../fpu/multiarch/svml_s_log10f4_core.c | 28 + .../fpu/multiarch/svml_s_log10f4_core_sse4.S | 1967 ++++++++ .../fpu/multiarch/svml_s_log10f8_core-sse.S | 20 + .../fpu/multiarch/svml_s_log10f8_core.c | 28 + .../fpu/multiarch/svml_s_log10f8_core_avx2.S | 1860 ++++++++ sysdeps/x86_64/fpu/svml_d_log102_core.S | 29 + sysdeps/x86_64/fpu/svml_d_log104_core.S | 29 + sysdeps/x86_64/fpu/svml_d_log104_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_log108_core.S | 25 + sysdeps/x86_64/fpu/svml_s_log10f16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_log10f4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_log10f8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_log10f8_core_avx.S | 25 + .../fpu/test-double-libmvec-log10-avx.c | 1 + .../fpu/test-double-libmvec-log10-avx2.c | 1 + .../fpu/test-double-libmvec-log10-avx512f.c | 1 + .../x86_64/fpu/test-double-libmvec-log10.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../fpu/test-float-libmvec-log10f-avx.c | 1 + .../fpu/test-float-libmvec-log10f-avx2.c | 1 + .../fpu/test-float-libmvec-log10f-avx512f.c | 1 + .../x86_64/fpu/test-float-libmvec-log10f.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 13940 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log102_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log102_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log102_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log104_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log104_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log104_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log108_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log108_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log108_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log102_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log104_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log104_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log108_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log10f16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log10f4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log10f8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log10f8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log10-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log10-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log10-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log10.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log10f.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 4e08de9936..005b578162 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -263,4 +263,15 @@ #define __DECL_SIMD_hypotf32x #define __DECL_SIMD_hypotf64x #define __DECL_SIMD_hypotf128x + +#define __DECL_SIMD_log10 +#define __DECL_SIMD_log10f +#define __DECL_SIMD_log10l +#define __DECL_SIMD_log10f16 +#define __DECL_SIMD_log10f32 +#define __DECL_SIMD_log10f64 +#define __DECL_SIMD_log10f128 +#define __DECL_SIMD_log10f32x +#define __DECL_SIMD_log10f64x +#define __DECL_SIMD_log10f128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 32f487c109..7abbb2c116 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -104,7 +104,7 @@ __MATHCALL (ldexp,, (_Mdouble_ __x, int __exponent)); __MATHCALL_VEC (log,, (_Mdouble_ __x)); /* Base-ten logarithm of X. */ -__MATHCALL (log10,, (_Mdouble_ __x)); +__MATHCALL_VEC (log10,, (_Mdouble_ __x)); /* Break VALUE into integral and fractional parts. */ __MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2)); diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 4fbc8629a1..7c2c633d77 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -59,6 +59,7 @@ GLIBC_2.35 _ZGVbN2v_erfc F GLIBC_2.35 _ZGVbN2v_exp10 F GLIBC_2.35 _ZGVbN2v_exp2 F GLIBC_2.35 _ZGVbN2v_expm1 F +GLIBC_2.35 _ZGVbN2v_log10 F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN2vv_hypot F GLIBC_2.35 _ZGVbN4v_acosf F @@ -74,6 +75,7 @@ GLIBC_2.35 _ZGVbN4v_erff F GLIBC_2.35 _ZGVbN4v_exp10f F GLIBC_2.35 _ZGVbN4v_exp2f F GLIBC_2.35 _ZGVbN4v_expm1f F +GLIBC_2.35 _ZGVbN4v_log10f F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVbN4vv_hypotf F GLIBC_2.35 _ZGVcN4v_acos F @@ -89,6 +91,7 @@ GLIBC_2.35 _ZGVcN4v_erfc F GLIBC_2.35 _ZGVcN4v_exp10 F GLIBC_2.35 _ZGVcN4v_exp2 F GLIBC_2.35 _ZGVcN4v_expm1 F +GLIBC_2.35 _ZGVcN4v_log10 F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN4vv_hypot F GLIBC_2.35 _ZGVcN8v_acosf F @@ -104,6 +107,7 @@ GLIBC_2.35 _ZGVcN8v_erff F GLIBC_2.35 _ZGVcN8v_exp10f F GLIBC_2.35 _ZGVcN8v_exp2f F GLIBC_2.35 _ZGVcN8v_expm1f F +GLIBC_2.35 _ZGVcN8v_log10f F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVcN8vv_hypotf F GLIBC_2.35 _ZGVdN4v_acos F @@ -119,6 +123,7 @@ GLIBC_2.35 _ZGVdN4v_erfc F GLIBC_2.35 _ZGVdN4v_exp10 F GLIBC_2.35 _ZGVdN4v_exp2 F GLIBC_2.35 _ZGVdN4v_expm1 F +GLIBC_2.35 _ZGVdN4v_log10 F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN4vv_hypot F GLIBC_2.35 _ZGVdN8v_acosf F @@ -134,6 +139,7 @@ GLIBC_2.35 _ZGVdN8v_erff F GLIBC_2.35 _ZGVdN8v_exp10f F GLIBC_2.35 _ZGVdN8v_exp2f F GLIBC_2.35 _ZGVdN8v_expm1f F +GLIBC_2.35 _ZGVdN8v_log10f F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVdN8vv_hypotf F GLIBC_2.35 _ZGVeN16v_acosf F @@ -149,6 +155,7 @@ GLIBC_2.35 _ZGVeN16v_erff F GLIBC_2.35 _ZGVeN16v_exp10f F GLIBC_2.35 _ZGVeN16v_exp2f F GLIBC_2.35 _ZGVeN16v_expm1f F +GLIBC_2.35 _ZGVeN16v_log10f F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN16vv_hypotf F GLIBC_2.35 _ZGVeN8v_acos F @@ -164,5 +171,6 @@ GLIBC_2.35 _ZGVeN8v_erfc F GLIBC_2.35 _ZGVeN8v_exp10 F GLIBC_2.35 _ZGVeN8v_exp2 F GLIBC_2.35 _ZGVeN8v_expm1 F +GLIBC_2.35 _ZGVeN8v_log10 F GLIBC_2.35 _ZGVeN8vv_atan2 F GLIBC_2.35 _ZGVeN8vv_hypot F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index 0f43244b3f..8fb29e5869 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -118,6 +118,10 @@ # define __DECL_SIMD_hypot __DECL_SIMD_x86_64 # undef __DECL_SIMD_hypotf # define __DECL_SIMD_hypotf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10 +# define __DECL_SIMD_log10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10f +# define __DECL_SIMD_log10f __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 3850696786..15a19ddf37 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -40,6 +40,7 @@ libmvec-funcs = \ expm1 \ hypot \ log \ + log10 \ pow \ sin \ sincos \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 6beaa3bf8b..563781cc04 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -27,6 +27,7 @@ libmvec { _ZGVbN2v_exp10; _ZGVcN4v_exp10; _ZGVdN4v_exp10; _ZGVeN8v_exp10; _ZGVbN2v_exp2; _ZGVcN4v_exp2; _ZGVdN4v_exp2; _ZGVeN8v_exp2; _ZGVbN2v_expm1; _ZGVcN4v_expm1; _ZGVdN4v_expm1; _ZGVeN8v_expm1; + _ZGVbN2v_log10; _ZGVcN4v_log10; _ZGVdN4v_log10; _ZGVeN8v_log10; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN2vv_hypot; _ZGVcN4vv_hypot; _ZGVdN4vv_hypot; _ZGVeN8vv_hypot; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; @@ -42,6 +43,7 @@ libmvec { _ZGVbN4v_exp10f; _ZGVcN8v_exp10f; _ZGVdN8v_exp10f; _ZGVeN16v_exp10f; _ZGVbN4v_exp2f; _ZGVcN8v_exp2f; _ZGVdN8v_exp2f; _ZGVeN16v_exp2f; _ZGVbN4v_expm1f; _ZGVcN8v_expm1f; _ZGVdN8v_expm1f; _ZGVeN16v_expm1f; + _ZGVbN4v_log10f; _ZGVcN8v_log10f; _ZGVdN8v_log10f; _ZGVeN16v_log10f; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; _ZGVbN4vv_hypotf; _ZGVcN8vv_hypotf; _ZGVdN8vv_hypotf; _ZGVeN16vv_hypotf; } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 577ffd239a..764311972a 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1738,6 +1738,26 @@ float: 2 float128: 1 ldouble: 1 +Function: "log10_vlen16": +float: 1 + +Function: "log10_vlen2": +double: 1 + +Function: "log10_vlen4": +double: 1 +float: 1 + +Function: "log10_vlen4_avx2": +double: 1 + +Function: "log10_vlen8": +double: 1 +float: 1 + +Function: "log10_vlen8_avx2": +float: 1 + Function: "log1p": double: 1 float: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core-sse2.S new file mode 100644 index 0000000000..e654db6d6c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized log10, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_log10 _ZGVbN2v_log10_sse2 +#include "../svml_d_log102_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core.c new file mode 100644 index 0000000000..1c775f33b6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized log10, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_log10 +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_log10, __GI__ZGVbN2v_log10, __redirect__ZGVbN2v_log10) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core_sse4.S new file mode 100644 index 0000000000..26921cd058 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core_sse4.S @@ -0,0 +1,3957 @@ +/* Function log vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R) + * log10(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_log10_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm6 + +/* preserve mantissa, set input exponent to 2^(-10) */ + movups 8576+__svml_dlog10_data_internal(%rip), %xmm5 + +/* check range */ + movaps %xmm6, %xmm3 + andps %xmm6, %xmm5 + movaps %xmm6, %xmm2 + orps 8640+__svml_dlog10_data_internal(%rip), %xmm5 + lea -4222912+__svml_dlog10_data_internal(%rip), %r8 + +/* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm5, %xmm7 + cmpltpd 8704+__svml_dlog10_data_internal(%rip), %xmm3 + cmpnlepd 8768+__svml_dlog10_data_internal(%rip), %xmm2 + movlhps %xmm7, %xmm7 + orps %xmm2, %xmm3 + rcpps %xmm7, %xmm0 + +/* combine and get argument value range mask */ + movmskpd %xmm3, %edx + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_16(%rip), %xmm1 + +/* argument reduction */ + movups 8832+__svml_dlog10_data_internal(%rip), %xmm2 + cvtps2pd %xmm0, %xmm4 + addpd %xmm1, %xmm4 + subpd %xmm1, %xmm4 + andps %xmm5, %xmm2 + +/* exponent bits */ + movaps %xmm6, %xmm0 + subpd %xmm2, %xmm5 + mulpd %xmm4, %xmm2 + mulpd %xmm4, %xmm5 + subpd 8960+__svml_dlog10_data_internal(%rip), %xmm2 + addpd %xmm2, %xmm5 + psrlq $20, %xmm0 + +/* + * prepare table index + * table lookup + */ + movaps %xmm4, %xmm3 + pshufd $221, %xmm0, %xmm7 + psrlq $40, %xmm3 + +/* biased exponent in DP format */ + cvtdq2pd %xmm7, %xmm0 + movd %xmm3, %eax + +/* exponent*log(2.0) */ + movups 9152+__svml_dlog10_data_internal(%rip), %xmm7 + cmpltpd %xmm4, %xmm7 + +/* polynomial */ + movups 8448+__svml_dlog10_data_internal(%rip), %xmm4 + mulpd %xmm5, %xmm4 + pshufd $2, %xmm3, %xmm2 + movaps %xmm5, %xmm3 + mulpd %xmm5, %xmm3 + movd %xmm2, %ecx + movups 8480+__svml_dlog10_data_internal(%rip), %xmm2 + andps 9216+__svml_dlog10_data_internal(%rip), %xmm7 + addpd 8464+__svml_dlog10_data_internal(%rip), %xmm4 + mulpd %xmm5, %xmm2 + mulpd %xmm3, %xmm4 + addpd 8496+__svml_dlog10_data_internal(%rip), %xmm2 + addpd %xmm4, %xmm2 + orps 9280+__svml_dlog10_data_internal(%rip), %xmm7 + subpd %xmm7, %xmm0 + mulpd %xmm2, %xmm3 + mulpd 9344+__svml_dlog10_data_internal(%rip), %xmm0 + movups 8512+__svml_dlog10_data_internal(%rip), %xmm7 + mulpd %xmm5, %xmm7 + movslq %eax, %rax + addpd %xmm3, %xmm7 + movslq %ecx, %rcx + movsd (%r8,%rax), %xmm1 + movhpd (%r8,%rcx), %xmm1 + +/* reconstruction */ + addpd %xmm7, %xmm1 + addpd %xmm1, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm6, 192(%rsp) + movups %xmm0, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,8), %rdi + lea 256(%rsp,%r12,8), %rsi + call __svml_dlog10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_log10_sse4) + + .align 16,0x90 + +__svml_dlog10_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 6(%rdi), %edx + andl $32752, %edx + cmpl $32752, %edx + je .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 .FLT_90(%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 .FLT_89(%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 + + cfi_endproc + + .type __svml_dlog10_cout_rare_internal,@function + .size __svml_dlog10_cout_rare_internal,.-__svml_dlog10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dlog10_data_internal: + .long 1190572160 + .long 3228777073 + .long 3860447744 + .long 3189665916 + .long 1198987632 + .long 3228777077 + .long 3228397393 + .long 3189668294 + .long 1168821104 + .long 3228777081 + .long 637194908 + .long 3189668066 + .long 1100245360 + .long 3228777085 + .long 133785915 + .long 3189667542 + .long 993432048 + .long 3228777089 + .long 3017828443 + .long 3189667588 + .long 848551680 + .long 3228777093 + .long 560605178 + .long 3189668289 + .long 665773664 + .long 3228777097 + .long 3849538177 + .long 3189667548 + .long 445266208 + .long 3228777101 + .long 3804908986 + .long 3189667886 + .long 187196464 + .long 3228777105 + .long 3516966431 + .long 3189667858 + .long 4186697744 + .long 3228777108 + .long 3052190817 + .long 3189667809 + .long 3854000384 + .long 3228777112 + .long 1554781574 + .long 3189667427 + .long 3484235504 + .long 3228777116 + .long 4153839410 + .long 3189667384 + .long 3077565856 + .long 3228777120 + .long 4000768869 + .long 3189667904 + .long 2634153136 + .long 3228777124 + .long 4244738174 + .long 3189668339 + .long 2154157984 + .long 3228777128 + .long 3014247306 + .long 3189667771 + .long 1637739952 + .long 3228777132 + .long 1906045981 + .long 3189667650 + .long 1085057568 + .long 3228777136 + .long 3987700171 + .long 3189668284 + .long 496268368 + .long 3228777140 + .long 1674280096 + .long 3189667373 + .long 4166496080 + .long 3228777143 + .long 2078815235 + .long 3189667744 + .long 3505961600 + .long 3228777147 + .long 4286802640 + .long 3189667683 + .long 2809786672 + .long 3228777151 + .long 1913564473 + .long 3189667639 + .long 2078124752 + .long 3228777155 + .long 2693682663 + .long 3189667702 + .long 1311128304 + .long 3228777159 + .long 1012063542 + .long 3189668158 + .long 508948832 + .long 3228777163 + .long 2489929809 + .long 3189667978 + .long 3966704144 + .long 3228777166 + .long 2165614611 + .long 3189667408 + .long 3094609184 + .long 3228777170 + .long 2488783422 + .long 3189667472 + .long 2187779856 + .long 3228777174 + .long 2723126436 + .long 3189667428 + .long 1246363792 + .long 3228777178 + .long 3017034520 + .long 3189668359 + .long 270507744 + .long 3228777182 + .long 1972662349 + .long 3189667544 + .long 3555324736 + .long 3228777185 + .long 898998658 + .long 3189668182 + .long 2511025072 + .long 3228777189 + .long 2160314027 + .long 3189667608 + .long 1432719952 + .long 3228777193 + .long 1911887828 + .long 3189668033 + .long 320552432 + .long 3228777197 + .long 3280422502 + .long 3189667818 + .long 3469631920 + .long 3228777200 + .long 3027884278 + .long 3189668109 + .long 2290165072 + .long 3228777204 + .long 3517602960 + .long 3189668197 + .long 1077259536 + .long 3228777208 + .long 3013130823 + .long 3189668046 + .long 4126022080 + .long 3228777211 + .long 3235689898 + .long 3189667740 + .long 2846656704 + .long 3228777215 + .long 87643117 + .long 3189667953 + .long 1534268448 + .long 3228777219 + .long 754951962 + .long 3189668360 + .long 188994208 + .long 3228777223 + .long 3023581101 + .long 3189668100 + .long 3105937296 + .long 3228777226 + .long 1490072819 + .long 3189668276 + .long 1695298320 + .long 3228777230 + .long 3738440902 + .long 3189668304 + .long 252178944 + .long 3228777234 + .long 897194307 + .long 3189667388 + .long 3071679952 + .long 3228777237 + .long 195484330 + .long 3189668024 + .long 1563999488 + .long 3228777241 + .long 3795554301 + .long 3189668248 + .long 24236736 + .long 3228777245 + .long 2858806924 + .long 3189668212 + .long 2747490080 + .long 3228777248 + .long 4259795627 + .long 3189667532 + .long 1143955184 + .long 3228777252 + .long 4279885499 + .long 3189667764 + .long 3803696144 + .long 3228777255 + .long 3997664578 + .long 3189667698 + .long 2136907056 + .long 3228777259 + .long 2176158532 + .long 3189667869 + .long 438683136 + .long 3228777263 + .long 227964261 + .long 3189667893 + .long 3004118816 + .long 3228777266 + .long 2296676690 + .long 3189667896 + .long 1243405872 + .long 3228777270 + .long 2079834385 + .long 3189667894 + .long 3746604496 + .long 3228777273 + .long 3850151037 + .long 3189668185 + .long 1923904960 + .long 3228777277 + .long 574763554 + .long 3189667699 + .long 70398640 + .long 3228777281 + .long 3827982506 + .long 3189667452 + .long 2481176176 + .long 3228777284 + .long 1146808857 + .long 3189667869 + .long 566425600 + .long 3228777288 + .long 4238446104 + .long 3189668130 + .long 2916203392 + .long 3228777291 + .long 3553887815 + .long 3189667582 + .long 940696080 + .long 3228777295 + .long 1221192380 + .long 3189668153 + .long 3229958720 + .long 3228777298 + .long 2271570828 + .long 3189667556 + .long 1194176400 + .long 3228777302 + .long 3002536483 + .long 3189667850 + .long 3423402736 + .long 3228777305 + .long 2434838684 + .long 3189667608 + .long 1327821424 + .long 3228777309 + .long 2687777298 + .long 3189667396 + .long 3497484640 + .long 3228777312 + .long 2749657917 + .long 3189668082 + .long 1342574720 + .long 3228777316 + .long 3002546917 + .long 3189668115 + .long 3453142464 + .long 3228777319 + .long 3498283957 + .long 3189667970 + .long 1239368816 + .long 3228777323 + .long 455121273 + .long 3189667422 + .long 3291303200 + .long 3228777326 + .long 2621841620 + .long 3189667932 + .long 3012883008 + .long 3228777333 + .long 2362501462 + .long 3189667975 + .long 2618787376 + .long 3228777340 + .long 1091754251 + .long 3189667994 + .long 2109911280 + .long 3228777347 + .long 193599334 + .long 3189668101 + .long 1487139360 + .long 3228777354 + .long 3757852586 + .long 3189667728 + .long 751346048 + .long 3228777361 + .long 1167306858 + .long 3189667607 + .long 4198363056 + .long 3228777367 + .long 3727503052 + .long 3189667447 + .long 3239110320 + .long 3228777374 + .long 4101491224 + .long 3189667535 + .long 2169399936 + .long 3228777381 + .long 1682828411 + .long 3189668088 + .long 990067152 + .long 3228777388 + .long 325154957 + .long 3189667406 + .long 3996905008 + .long 3228777394 + .long 333920478 + .long 3189668041 + .long 2600795440 + .long 3228777401 + .long 1868291498 + .long 3189667430 + .long 1097513040 + .long 3228777408 + .long 2092796598 + .long 3189667816 + .long 3782823440 + .long 3228777414 + .long 2342635878 + .long 3189667569 + .long 2067581456 + .long 3228777421 + .long 2489432283 + .long 3189667708 + .long 247535056 + .long 3228777428 + .long 2233925548 + .long 3189668023 + .long 2618423584 + .long 3228777434 + .long 2884435678 + .long 3189668162 + .long 591076000 + .long 3228777441 + .long 2793733516 + .long 3189667544 + .long 2756182032 + .long 3228777447 + .long 726899401 + .long 3189668194 + .long 524554032 + .long 3228777454 + .long 3888914666 + .long 3189668216 + .long 2486865376 + .long 3228777460 + .long 2627594277 + .long 3189667420 + .long 53912208 + .long 3228777467 + .long 2333314786 + .long 3189667677 + .long 1816352000 + .long 3228777473 + .long 860249135 + .long 3189668031 + .long 3479932544 + .long 3228777479 + .long 1333576769 + .long 3189667862 + .long 750393936 + .long 3228777486 + .long 3863808803 + .long 3189667876 + .long 2218370608 + .long 3228777492 + .long 988274049 + .long 3189667895 + .long 3589587648 + .long 3228777498 + .long 1363020542 + .long 3189667588 + .long 569762768 + .long 3228777505 + .long 2860785679 + .long 3189668116 + .long 1749508368 + .long 3228777511 + .long 3454164214 + .long 3189667505 + .long 2834527744 + .long 3228777517 + .long 551781933 + .long 3189668193 + .long 3825484512 + .long 3228777523 + .long 2204991099 + .long 3189668076 + .long 428068000 + .long 3228777530 + .long 330816187 + .long 3189667835 + .long 1232862576 + .long 3228777536 + .long 1875584004 + .long 3189667900 + .long 1945543984 + .long 3228777542 + .long 3147029736 + .long 3189667368 + .long 2566748560 + .long 3228777548 + .long 2759544833 + .long 3189667927 + .long 3097106128 + .long 3228777554 + .long 2378335007 + .long 3189667440 + .long 3537239968 + .long 3228777560 + .long 59134449 + .long 3189667766 + .long 3887767008 + .long 3228777566 + .long 2237380018 + .long 3189668142 + .long 4149297872 + .long 3228777572 + .long 2899689733 + .long 3189667692 + .long 27469632 + .long 3228777579 + .long 2818642709 + .long 3189667832 + .long 112815152 + .long 3228777585 + .long 4092579806 + .long 3189667420 + .long 110959312 + .long 3228777591 + .long 936570796 + .long 3189668056 + .long 22488368 + .long 3228777597 + .long 365917996 + .long 3189668022 + .long 4142949952 + .long 3228777602 + .long 3149756965 + .long 3189667408 + .long 3882983968 + .long 3228777608 + .long 4081670258 + .long 3189668028 + .long 3538126528 + .long 3228777614 + .long 1719873156 + .long 3189668130 + .long 3108940752 + .long 3228777620 + .long 3284322898 + .long 3189668289 + .long 2595984192 + .long 3228777626 + .long 1642430589 + .long 3189668010 + .long 1999808880 + .long 3228777632 + .long 4232900950 + .long 3189667360 + .long 1320961392 + .long 3228777638 + .long 346567365 + .long 3189667513 + .long 559982960 + .long 3228777644 + .long 2138178062 + .long 3189668130 + .long 4012376832 + .long 3228777649 + .long 2536292360 + .long 3189667756 + .long 3088739088 + .long 3228777655 + .long 2310947316 + .long 3189668224 + .long 2084562592 + .long 3228777661 + .long 719337470 + .long 3189667732 + .long 1000367760 + .long 3228777667 + .long 2925814745 + .long 3189668182 + .long 4131637328 + .long 3228777672 + .long 2769058114 + .long 3189668120 + .long 2888947152 + .long 3228777678 + .long 2397746692 + .long 3189667888 + .long 1567770080 + .long 3228777684 + .long 1319666757 + .long 3189667549 + .long 168606816 + .long 3228777690 + .long 3249166601 + .long 3189667815 + .long 2986920608 + .long 3228777695 + .long 3117551188 + .long 3189667844 + .long 1433268080 + .long 3228777701 + .long 2392446108 + .long 3189668088 + .long 4098070400 + .long 3228777706 + .long 1952984424 + .long 3189667965 + .long 2391874944 + .long 3228777712 + .long 3260016359 + .long 3189667565 + .long 610126416 + .long 3228777718 + .long 1206683346 + .long 3189668275 + .long 3048265088 + .long 3228777723 + .long 3467821979 + .long 3189668220 + .long 1116824880 + .long 3228777729 + .long 3688655521 + .long 3189667898 + .long 3406204528 + .long 3228777734 + .long 3255713182 + .long 3189667556 + .long 1326929264 + .long 3228777740 + .long 200527713 + .long 3189667591 + .long 3469389248 + .long 3228777745 + .long 1129326388 + .long 3189667868 + .long 1244101248 + .long 3228777751 + .long 308865650 + .long 3189668017 + .long 3241447056 + .long 3228777756 + .long 3090939005 + .long 3189667668 + .long 871935152 + .long 3228777762 + .long 3265000937 + .long 3189667670 + .long 2725939152 + .long 3228777767 + .long 4229796659 + .long 3189668178 + .long 213959504 + .long 3228777773 + .long 1991139447 + .long 3189667724 + .long 1926361824 + .long 3228777778 + .long 2528808771 + .long 3189668376 + .long 3568606000 + .long 3228777783 + .long 4260639448 + .long 3189667546 + .long 846147968 + .long 3228777789 + .long 806895635 + .long 3189668179 + .long 2349341824 + .long 3228777794 + .long 3346322191 + .long 3189667388 + .long 3783635920 + .long 3228777799 + .long 175610890 + .long 3189667587 + .long 854474928 + .long 3228777805 + .long 2938776958 + .long 3189668104 + .long 2152201728 + .long 3228777810 + .long 2503702909 + .long 3189668036 + .long 3382253648 + .long 3228777815 + .long 990471545 + .long 3189668020 + .long 250064432 + .long 3228777821 + .long 2919909380 + .long 3189667876 + .long 1345966144 + .long 3228777826 + .long 3002840896 + .long 3189668306 + .long 2375385488 + .long 3228777831 + .long 3730416038 + .long 3189667426 + .long 3338712928 + .long 3228777836 + .long 1372953258 + .long 3189667506 + .long 4236335536 + .long 3228777841 + .long 3486643335 + .long 3189668352 + .long 773669728 + .long 3228777847 + .long 3527808638 + .long 3189667828 + .long 1541030400 + .long 3228777852 + .long 1323886332 + .long 3189667450 + .long 2243827264 + .long 3228777857 + .long 3473574637 + .long 3189667708 + .long 2882434080 + .long 3228777862 + .long 2116524762 + .long 3189667453 + .long 3457221328 + .long 3228777867 + .long 3472145296 + .long 3189668357 + .long 3968556352 + .long 3228777872 + .long 1399438939 + .long 3189668087 + .long 121835984 + .long 3228777878 + .long 1630440586 + .long 3189667769 + .long 507355824 + .long 3228777883 + .long 414821867 + .long 3189668165 + .long 830506528 + .long 3228777888 + .long 1651489076 + .long 3189667856 + .long 1091642960 + .long 3228777893 + .long 1914960493 + .long 3189667544 + .long 1291116960 + .long 3228777898 + .long 1585226677 + .long 3189668172 + .long 1429277424 + .long 3228777903 + .long 1458536815 + .long 3189667992 + .long 1506470256 + .long 3228777908 + .long 5177277 + .long 3189667794 + .long 1523038448 + .long 3228777913 + .long 2100423580 + .long 3189667910 + .long 1479322112 + .long 3228777918 + .long 2766296967 + .long 3189668266 + .long 1375658528 + .long 3228777923 + .long 3908110271 + .long 3189667373 + .long 1212382096 + .long 3228777928 + .long 1728734206 + .long 3189667440 + .long 989824464 + .long 3228777933 + .long 2721564364 + .long 3189668188 + .long 708314544 + .long 3228777938 + .long 1548992985 + .long 3189667813 + .long 368178464 + .long 3228777943 + .long 102841028 + .long 3189668008 + .long 4264706992 + .long 3228777947 + .long 975947285 + .long 3189667700 + .long 3808286304 + .long 3228777952 + .long 3025865597 + .long 3189668024 + .long 3294201856 + .long 3228777957 + .long 905114809 + .long 3189668054 + .long 2722769184 + .long 3228777962 + .long 3281428766 + .long 3189667672 + .long 2094301216 + .long 3228777967 + .long 2831959372 + .long 3189668375 + .long 1409108384 + .long 3228777972 + .long 2859726358 + .long 3189667900 + .long 667498528 + .long 3228777977 + .long 3483539044 + .long 3189668146 + .long 4164744336 + .long 3228777981 + .long 643592870 + .long 3189667709 + .long 3311214096 + .long 3228777986 + .long 3888135264 + .long 3189667701 + .long 2402175552 + .long 3228777991 + .long 1565708850 + .long 3189668342 + .long 1437926768 + .long 3228777996 + .long 3880143694 + .long 3189667559 + .long 418763344 + .long 3228778001 + .long 2177554551 + .long 3189667774 + .long 3639945856 + .long 3228778005 + .long 632683322 + .long 3189668317 + .long 2511830656 + .long 3228778010 + .long 1595152623 + .long 3189668068 + .long 1329673632 + .long 3228778015 + .long 1921601627 + .long 3189668075 + .long 93761104 + .long 3228778020 + .long 1757445293 + .long 3189668004 + .long 3099344416 + .long 3228778024 + .long 1435123721 + .long 3189667691 + .long 1756770768 + .long 3228778029 + .long 783914014 + .long 3189667649 + .long 361287040 + .long 3228778034 + .long 2235532382 + .long 3189667506 + .long 3208137904 + .long 3228778038 + .long 1904486204 + .long 3189667498 + .long 1707663968 + .long 3228778043 + .long 41908474 + .long 3189667890 + .long 155105584 + .long 3228778048 + .long 2107716085 + .long 3189668380 + .long 2845700992 + .long 3228778052 + .long 3156927676 + .long 3189667488 + .long 1189784368 + .long 3228778057 + .long 4047204189 + .long 3189668063 + .long 3777557072 + .long 3228778061 + .long 577628716 + .long 3189667418 + .long 2019349136 + .long 3228778066 + .long 2610467089 + .long 3189667920 + .long 210390496 + .long 3228778071 + .long 2766766141 + .long 3189668118 + .long 2645909040 + .long 3228778075 + .long 3243727052 + .long 3189668176 + .long 736228768 + .long 3228778080 + .long 3122320416 + .long 3189668130 + .long 3071540880 + .long 3228778084 + .long 3131821814 + .long 3189668172 + .long 1062165440 + .long 3228778089 + .long 3213377517 + .long 3189667895 + .long 3298289744 + .long 3228778093 + .long 2564668383 + .long 3189667569 + .long 1190229968 + .long 3228778098 + .long 3238426468 + .long 3189668376 + .long 3328169632 + .long 3228778102 + .long 1168702877 + .long 3189667512 + .long 1122421104 + .long 3228778107 + .long 19789062 + .long 3189667604 + .long 3163164128 + .long 3228778111 + .long 1630085837 + .long 3189667685 + .long 860707408 + .long 3228778116 + .long 4114762240 + .long 3189667464 + .long 2805226992 + .long 3228778120 + .long 18835043 + .long 3189667485 + .long 407027936 + .long 3228778125 + .long 1254882039 + .long 3189668241 + .long 2256282720 + .long 3228778129 + .long 1578671063 + .long 3189668264 + .long 4058260128 + .long 3228778133 + .long 2087871538 + .long 3189668330 + .long 1518227216 + .long 3228778138 + .long 1874562670 + .long 3189667466 + .long 3226351136 + .long 3228778142 + .long 1975306748 + .long 3189668156 + .long 592928208 + .long 3228778147 + .long 2027557844 + .long 3189668223 + .long 2208122192 + .long 3228778151 + .long 3385698680 + .long 3189668056 + .long 3777193280 + .long 3228778155 + .long 2370310143 + .long 3189667586 + .long 1005399968 + .long 3228778160 + .long 259325820 + .long 3189668365 + .long 2482901056 + .long 3228778164 + .long 780809723 + .long 3189667443 + .long 3914951728 + .long 3228778168 + .long 212773867 + .long 3189667618 + .long 1006805600 + .long 3228778173 + .long 951469551 + .long 3189668212 + .long 2348616576 + .long 3228778177 + .long 2086655720 + .long 3189668128 + .long 3645635056 + .long 3228778181 + .long 2113468742 + .long 3189667868 + .long 603109872 + .long 3228778186 + .long 1652875995 + .long 3189667443 + .long 1811190160 + .long 3228778190 + .long 2629878773 + .long 3189668368 + .long 2975121696 + .long 3228778194 + .long 346123600 + .long 3189667455 + .long 4095115920 + .long 3228778198 + .long 3526019824 + .long 3189667996 + .long 876415552 + .long 3228778203 + .long 1439312045 + .long 3189667395 + .long 1909163616 + .long 3228778207 + .long 3349683269 + .long 3189668324 + .long 2898599856 + .long 3228778211 + .long 649479362 + .long 3189667358 + .long 3844929728 + .long 3228778215 + .long 2676997587 + .long 3189668158 + .long 453390032 + .long 3228778220 + .long 848895008 + .long 3189668036 + .long 1314117952 + .long 3228778224 + .long 3492148440 + .long 3189668045 + .long 2132347376 + .long 3228778228 + .long 281429102 + .long 3189667715 + .long 2908278048 + .long 3228778232 + .long 2940038679 + .long 3189667953 + .long 3642108336 + .long 3228778236 + .long 3909547671 + .long 3189667808 + .long 39067888 + .long 3228778241 + .long 3920787602 + .long 3189668378 + .long 689286912 + .long 3228778245 + .long 1690865565 + .long 3189667500 + .long 1297992288 + .long 3228778249 + .long 2169866692 + .long 3189667738 + .long 1865376896 + .long 3228778253 + .long 967083596 + .long 3189667983 + .long 2391632256 + .long 3228778257 + .long 1361458469 + .long 3189668348 + .long 2876948576 + .long 3228778261 + .long 32611984 + .long 3189667893 + .long 3321514720 + .long 3228778265 + .long 2193827755 + .long 3189667454 + .long 3725518240 + .long 3228778269 + .long 2245419299 + .long 3189668375 + .long 4089145456 + .long 3228778273 + .long 3497133018 + .long 3189668150 + .long 117614048 + .long 3228778278 + .long 175818393 + .long 3189668353 + .long 401042352 + .long 3228778282 + .long 3839976210 + .long 3189668213 + .long 644645552 + .long 3228778286 + .long 3041010480 + .long 3189667412 + .long 848604848 + .long 3228778290 + .long 2760940853 + .long 3189667832 + .long 1013100256 + .long 3228778294 + .long 2385564198 + .long 3189668140 + .long 1138310560 + .long 3228778298 + .long 2892472831 + .long 3189667574 + .long 1224413296 + .long 3228778302 + .long 781676890 + .long 3189667676 + .long 1271584832 + .long 3228778306 + .long 3578454272 + .long 3189667868 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 2256045239 + .long 3209413770 + .long 2491592457 + .long 3210460574 + .long 1804910333 + .long 3211053321 + .long 1914826022 + .long 3211505620 + .long 3803025062 + .long 3211872665 + .long 1674748349 + .long 3212097941 + .long 1798374224 + .long 3212322782 + .long 2768032015 + .long 3212547190 + .long 3136444289 + .long 3212771167 + .long 2855105875 + .long 3212915789 + .long 2332612951 + .long 3213027349 + .long 1363424900 + .long 3213138696 + .long 3437629661 + .long 3213249830 + .long 3435456176 + .long 3213360753 + .long 512327647 + .long 3213471466 + .long 2393978768 + .long 3213581968 + .long 3901767770 + .long 3213692261 + .long 4132692718 + .long 3213802346 + .long 1082284973 + .long 3213898832 + .long 2823056504 + .long 3213953667 + .long 366152305 + .long 3214008400 + .long 3959556563 + .long 3214063029 + .long 2367110801 + .long 3214117557 + .long 1523289056 + .long 3214171983 + .long 3058430271 + .long 3214226307 + .long 3839215 + .long 3214280531 + .long 2561657861 + .long 3214334653 + .long 3745193976 + .long 3214388675 + .long 853823952 + .long 3214442598 + .long 4062993129 + .long 3214496420 + .long 2064542556 + .long 3214550144 + .long 721479184 + .long 3214603769 + .long 1593203319 + .long 3214657295 + .long 1935571978 + .long 3214710723 + .long 3290896245 + .long 3214764053 + .long 2898068879 + .long 3214817286 + .long 2282560537 + .long 3214870422 + .long 2961513548 + .long 3214923461 + .long 1074417563 + .long 3214955210 + .long 2820079616 + .long 3214981633 + .long 1021551109 + .long 3215008009 + .long 716013687 + .long 3215034337 + .long 2641666110 + .long 3215060617 + .long 3237753164 + .long 3215086850 + .long 3234528909 + .long 3215113036 + .long 3358317786 + .long 3215139175 + .long 36575458 + .long 3215165268 + .long 2577785893 + .long 3215191313 + .long 3106717932 + .long 3215217312 + .long 2334256463 + .long 3215243265 + .long 967494986 + .long 3215269172 + .long 4004729818 + .long 3215295032 + .long 3555617588 + .long 3215320847 + .long 316038151 + .long 3215346617 + .long 3568120799 + .long 3215372340 + .long 1115499161 + .long 3215398019 + .long 2233009907 + .long 3215423652 + .long 3306979906 + .long 3215449240 + .long 720153405 + .long 3215474784 + .long 3736618996 + .long 3215500282 + .long 142096100 + .long 3215525737 + .long 3488599868 + .long 3215551146 + .long 1554858050 + .long 3215576512 + .long 3590975466 + .long 3215601833 + .long 1663752343 + .long 3215627111 + .long 721479184 + .long 3215652345 + .long 1414091172 + .long 3215677535 + .long 93191556 + .long 3215702682 + .long 1696976726 + .long 3215727785 + .long 2570390009 + .long 3215752845 + .long 3350046349 + .long 3215777862 + .long 374320308 + .long 3215802837 + .long 2863237644 + .long 3215827768 + .long 2853726453 + .long 3215852657 + .long 969442960 + .long 3215877504 + .long 2125826056 + .long 3215902308 + .long 2645217056 + .long 3215927070 + .long 3141783046 + .long 3215951790 + .long 4226570871 + .long 3215976468 + .long 3253764118 + .long 3215991848 + .long 999795016 + .long 3216004146 + .long 4242218727 + .long 3216016422 + .long 395520918 + .long 3216028679 + .long 2642482782 + .long 3216040914 + .long 2689550894 + .long 3216053129 + .long 831618312 + .long 3216065324 + .long 1657067230 + .long 3216077498 + .long 1162876950 + .long 3216089652 + .long 3934502846 + .long 3216101785 + .long 1671049587 + .long 3216113899 + .long 3250051821 + .long 3216125992 + .long 367745354 + .long 3216138066 + .long 1898814972 + .long 3216150119 + .long 3831632753 + .long 3216162152 + .long 2153169263 + .long 3216174166 + .long 1438937368 + .long 3216186160 + .long 1968099508 + .long 3216198134 + .long 4018444062 + .long 3216210088 + .long 3571427061 + .long 3216222023 + .long 902115705 + .long 3216233939 + .long 579197221 + .long 3216245835 + .long 2875053055 + .long 3216257711 + .long 3765767585 + .long 3216269568 + .long 3521071355 + .long 3216281406 + .long 2409382351 + .long 3216293225 + .long 697814500 + .long 3216305025 + .long 2947153405 + .long 3216316805 + .long 831995525 + .long 3216328567 + .long 3205527541 + .long 3216340309 + .long 1739796226 + .long 3216352033 + .long 990487678 + .long 3216363738 + .long 1217066237 + .long 3216375424 + .long 2677749815 + .long 3216387091 + .long 1334550573 + .long 3216398740 + .long 1738184714 + .long 3216410370 + .long 4143178441 + .long 3216421981 + .long 212908442 + .long 3216433575 + .long 3084380679 + .long 3216445149 + .long 123597797 + .long 3216456706 + .long 170206973 + .long 3216468244 + .long 3472736381 + .long 3216479763 + .long 1688602678 + .long 3216491265 + .long 3653922191 + .long 3216502748 + .long 1023779914 + .long 3216514214 + .long 2631975180 + .long 3216525661 + .long 131290539 + .long 3216537091 + .long 2353237313 + .long 3216548502 + .long 948324365 + .long 3216559896 + .long 450836243 + .long 3216571272 + .long 1098971024 + .long 3216582630 + .long 3129814575 + .long 3216593970 + .long 2484380169 + .long 3216605293 + .long 3692517238 + .long 3216616598 + .long 2693048988 + .long 3216627886 + .long 4013648344 + .long 3216639156 + .long 3590975466 + .long 3216650409 + .long 1655586284 + .long 3216661645 + .long 2731939102 + .long 3216672863 + .long 2753499254 + .long 3216684064 + .long 1947647495 + .long 3216695248 + .long 540719148 + .long 3216706415 + .long 3052977802 + .long 3216717564 + .long 1118752477 + .long 3216728697 + .long 3551215000 + .long 3216739812 + .long 1982647887 + .long 3216750911 + .long 929221623 + .long 3216761993 + .long 611131637 + .long 3216773058 + .long 1247571711 + .long 3216784106 + .long 3056740043 + .long 3216795137 + .long 1960877976 + .long 3216806152 + .long 2471177857 + .long 3216817150 + .long 507919781 + .long 3216828132 + .long 580346667 + .long 3216839097 + .long 2901768203 + .long 3216850045 + .long 3389566649 + .long 3216860977 + .long 2255137180 + .long 3216871893 + .long 4003893595 + .long 3216882792 + .long 255404805 + .long 3216893676 + .long 4103138823 + .long 3216904542 + .long 2869828094 + .long 3216915393 + .long 1057147997 + .long 3216926228 + .long 3165853160 + .long 3216937046 + .long 810881035 + .long 3216947849 + .long 2786128388 + .long 3216958635 + .long 704718315 + .long 3216969406 + .long 3358743942 + .long 3216980160 + .long 2359535366 + .long 3216990899 + .long 2202435985 + .long 3217001622 + .long 3086938536 + .long 3217012329 + .long 916690285 + .long 3217023021 + .long 2239683676 + .long 3217032432 + .long 2690954374 + .long 3217037762 + .long 4057646264 + .long 3217043084 + .long 2142368519 + .long 3217048399 + .long 1337238495 + .long 3217053706 + .long 1738982326 + .long 3217059005 + .long 3443904681 + .long 3217064296 + .long 2252923910 + .long 3217069580 + .long 2556476367 + .long 3217074856 + .long 154649628 + .long 3217080125 + .long 3732021368 + .long 3217085385 + .long 497923366 + .long 3217090639 + .long 3431084121 + .long 3217095884 + .long 4034990935 + .long 3217101122 + .long 2402663310 + .long 3217106353 + .long 2921687961 + .long 3217111576 + .long 1389319216 + .long 3217116792 + .long 2192350480 + .long 3217122000 + .long 1127247302 + .long 3217127201 + .long 2580018809 + .long 3217132394 + .long 2346350743 + .long 3217137580 + .long 516509563 + .long 3217142759 + .long 1475344637 + .long 3217147930 + .long 1017388536 + .long 3217153094 + .long 3526728381 + .long 3217158250 + .long 502171511 + .long 3217163400 + .long 622018689 + .long 3217168542 + .long 3974262445 + .long 3217173676 + .long 2056589177 + .long 3217178804 + .long 3546185020 + .long 3217183924 + .long 4234966846 + .long 3217189037 + .long 4209453505 + .long 3217194143 + .long 3555800579 + .long 3217199242 + .long 2359802410 + .long 3217204334 + .long 706894115 + .long 3217209419 + .long 2977120889 + .long 3217214496 + .long 665270808 + .long 3217219567 + .long 2445647873 + .long 3217224630 + .long 4107302903 + .long 3217229686 + .long 1438937368 + .long 3217234736 + .long 3113807214 + .long 3217239778 + .long 624953709 + .long 3217244814 + .long 60313751 + .long 1069756916 + .long 2039124234 + .long 1069751894 + .long 3639817142 + .long 1069746879 + .long 485812347 + .long 1069741872 + .long 1085767695 + .long 1069736871 + .long 1063773387 + .long 1069731877 + .long 339219334 + .long 1069726890 + .long 3126793337 + .long 1069721909 + .long 756610100 + .long 1069716936 + .long 1738980508 + .long 1069711969 + .long 1699638774 + .long 1069707009 + .long 559609852 + .long 1069702056 + .long 2535207687 + .long 1069697109 + .long 3253131575 + .long 1069692169 + .long 2635366323 + .long 1069687236 + .long 604213229 + .long 1069682310 + .long 1377255668 + .long 1069677390 + .long 582455508 + .long 1069672477 + .long 2438020609 + .long 1069667570 + .long 2572533958 + .long 1069662670 + .long 909853896 + .long 1069657777 + .long 1669112469 + .long 1069652890 + .long 479811889 + .long 1069648010 + .long 1561692097 + .long 1069643136 + .long 544859953 + .long 1069638269 + .long 1649656813 + .long 1069633408 + .long 506787744 + .long 1069628554 + .long 1337189126 + .long 1069623706 + .long 4067125179 + .long 1069618864 + .long 33219107 + .long 1069614030 + .long 2047222611 + .long 1069609201 + .long 1446341380 + .long 1069604379 + .long 2452971930 + .long 1069599563 + .long 699863591 + .long 1069594754 + .long 409986179 + .long 1069589951 + .long 1511626604 + .long 1069585154 + .long 3933354665 + .long 1069580363 + .long 3309054273 + .long 1069575579 + .long 3862823860 + .long 1069570801 + .long 1229105731 + .long 1069566030 + .long 3927521083 + .long 1069561264 + .long 3298097489 + .long 1069556505 + .long 3566038531 + .long 1069551752 + .long 733771779 + .long 1069546492 + .long 147741522 + .long 1069537011 + .long 941119220 + .long 1069527542 + .long 2976542023 + .long 1069518085 + .long 1822213927 + .long 1069508641 + .long 1636804890 + .long 1069499209 + .long 2284546202 + .long 1069489789 + .long 3630195051 + .long 1069480381 + .long 1244064508 + .long 1069470986 + .long 3581890024 + .long 1069461602 + .long 1920055674 + .long 1069452231 + .long 420362572 + .long 1069442872 + .long 3245124339 + .long 1069433524 + .long 1672262586 + .long 1069424189 + .long 4160075380 + .long 1069414865 + .long 1987496281 + .long 1069405554 + .long 3613830132 + .long 1069396254 + .long 319012134 + .long 1069386967 + .long 563343667 + .long 1069377691 + .long 4217685989 + .long 1069368426 + .long 2563457725 + .long 1069359174 + .long 4062436141 + .long 1069349933 + .long 4291983603 + .long 1069340704 + .long 3124914285 + .long 1069331487 + .long 434524433 + .long 1069322282 + .long 389557226 + .long 1069313088 + .long 2864265763 + .long 1069303905 + .long 3438410662 + .long 1069294734 + .long 1987192267 + .long 1069285575 + .long 2681248272 + .long 1069276427 + .long 1101749478 + .long 1069267291 + .long 1420266631 + .long 1069258166 + .long 3513866211 + .long 1069249052 + .long 2965108111 + .long 1069239950 + .long 3946945232 + .long 1069230859 + .long 2042852013 + .long 1069221780 + .long 1426691339 + .long 1069212712 + .long 1977810406 + .long 1069203655 + .long 3576005764 + .long 1069194609 + .long 1806553800 + .long 1069185575 + .long 845110407 + .long 1069176552 + .long 572806897 + .long 1069167540 + .long 871215109 + .long 1069158539 + .long 1622345234 + .long 1069149549 + .long 2708643653 + .long 1069140570 + .long 4012990793 + .long 1069131602 + .long 1123731696 + .long 1069122646 + .long 2514543080 + .long 1069113700 + .long 3774627456 + .long 1069104765 + .long 493612919 + .long 1069095842 + .long 1146452959 + .long 1069086929 + .long 1323620609 + .long 1069078027 + .long 910975575 + .long 1069069136 + .long 4089762193 + .long 1069060255 + .long 2156738208 + .long 1069051386 + .long 3588943832 + .long 1069042527 + .long 3978928661 + .long 1069033679 + .long 3214618865 + .long 1069024842 + .long 1184347908 + .long 1069016016 + .long 2071821874 + .long 1069007200 + .long 1471215619 + .long 1068998395 + .long 3567040008 + .long 1068989600 + .long 3954270794 + .long 1068980816 + .long 2523248584 + .long 1068972043 + .long 3459676924 + .long 1068963280 + .long 2359718512 + .long 1068954528 + .long 3409862494 + .long 1068945786 + .long 2207053396 + .long 1068937055 + .long 2938558446 + .long 1068928334 + .long 1202096535 + .long 1068919624 + .long 1185705549 + .long 1068910924 + .long 2782838657 + .long 1068902234 + .long 1592362481 + .long 1068893555 + .long 1803457173 + .long 1068884886 + .long 3310712729 + .long 1068876227 + .long 1714127196 + .long 1068867579 + .long 1204006779 + .long 1068858941 + .long 1676062187 + .long 1068850313 + .long 3026374166 + .long 1068841695 + .long 856424459 + .long 1068833088 + .long 3652963247 + .long 1068824490 + .long 2723236352 + .long 1068815903 + .long 2259754591 + .long 1068807326 + .long 2160422882 + .long 1068798759 + .long 2323505847 + .long 1068790202 + .long 2647626118 + .long 1068781655 + .long 3031762665 + .long 1068773118 + .long 3375249122 + .long 1068764591 + .long 3577772136 + .long 1068756074 + .long 3539369713 + .long 1068747567 + .long 3160429578 + .long 1068739070 + .long 2341687551 + .long 1068730583 + .long 984225923 + .long 1068722106 + .long 3284439142 + .long 1068713638 + .long 554163028 + .long 1068705181 + .long 1285444256 + .long 1068696733 + .long 1085767695 + .long 1068688295 + .long 4152891319 + .long 1068679866 + .long 1800008162 + .long 1068671448 + .long 2520515836 + .long 1068663039 + .long 1923243906 + .long 1068654640 + .long 4207288842 + .long 1068646250 + .long 687176001 + .long 1068637871 + .long 4152596484 + .long 1068629500 + .long 1623765359 + .long 1068621140 + .long 1596060423 + .long 1068612789 + .long 3975249632 + .long 1068604447 + .long 77489616 + .long 1068596116 + .long 2694095274 + .long 1068587793 + .long 3141865345 + .long 1068579480 + .long 1327852022 + .long 1068571177 + .long 1454392201 + .long 1068562883 + .long 3429171450 + .long 1068554598 + .long 2865222567 + .long 1068546323 + .long 3965826047 + .long 1068538057 + .long 2344639476 + .long 1068529801 + .long 2205565304 + .long 1068521554 + .long 3457847553 + .long 1068513316 + .long 1716070423 + .long 1068505088 + .long 2370117590 + .long 1068494794 + .long 3549949915 + .long 1068478374 + .long 2497601776 + .long 1068461973 + .long 3329575662 + .long 1068445590 + .long 1573040697 + .long 1068429226 + .long 1345699131 + .long 1068412880 + .long 2470881766 + .long 1068396552 + .long 477545290 + .long 1068380243 + .long 3780138808 + .long 1068363951 + .long 3613830132 + .long 1068347678 + .long 4099274231 + .long 1068331423 + .long 767774141 + .long 1068315187 + .long 2036114853 + .long 1068298968 + .long 3436756955 + .long 1068282767 + .long 502735958 + .long 1068266585 + .long 1652561629 + .long 1068250420 + .long 2420411682 + .long 1068234273 + .long 2635998437 + .long 1068218144 + .long 2129599017 + .long 1068202033 + .long 732052851 + .long 1068185940 + .long 2569726489 + .long 1068169864 + .long 3179609248 + .long 1068153806 + .long 2394212644 + .long 1068137766 + .long 46600658 + .long 1068121744 + .long 265354603 + .long 1068105739 + .long 2884636119 + .long 1068089751 + .long 3444184771 + .long 1068073781 + .long 1779250256 + .long 1068057829 + .long 2020590027 + .long 1068041894 + .long 4004532340 + .long 1068025976 + .long 3272973907 + .long 1068010076 + .long 3958279445 + .long 1067994193 + .long 1603410172 + .long 1067978328 + .long 341790679 + .long 1067962480 + .long 12404745 + .long 1067946649 + .long 454760348 + .long 1067930835 + .long 1508887391 + .long 1067915038 + .long 3015335440 + .long 1067899258 + .long 520204185 + .long 1067883496 + .long 2455010382 + .long 1067867750 + .long 71914560 + .long 1067852022 + .long 1803457173 + .long 1067836310 + .long 3197785334 + .long 1067820615 + .long 4098519806 + .long 1067804937 + .long 54818232 + .long 1067789277 + .long 3796209456 + .long 1067773632 + .long 2282918403 + .long 1067758005 + .long 3950504196 + .long 1067742394 + .long 55152364 + .long 1067726801 + .long 3328378382 + .long 1067711223 + .long 732385311 + .long 1067695663 + .long 704701956 + .long 1067680119 + .long 3093409710 + .long 1067664591 + .long 3452107773 + .long 1067649080 + .long 1629845684 + .long 1067633586 + .long 1771121268 + .long 1067618108 + .long 3725944001 + .long 1067602646 + .long 3049832979 + .long 1067587201 + .long 3888716792 + .long 1067571772 + .long 1799062323 + .long 1067556360 + .long 927741940 + .long 1067540964 + .long 1127129614 + .long 1067525584 + .long 2250066244 + .long 1067510220 + .long 4149857685 + .long 1067494872 + .long 2385305499 + .long 1067479541 + .long 1105606892 + .long 1067464226 + .long 330901792 + .long 1067447486 + .long 3134934760 + .long 1067416919 + .long 1744581096 + .long 1067386385 + .long 166917835 + .long 1067355883 + .long 2409924962 + .long 1067325412 + .long 3892547049 + .long 1067294973 + .long 34624089 + .long 1067264567 + .long 3436756955 + .long 1067234191 + .long 930630721 + .long 1067203848 + .long 823651223 + .long 1067173536 + .long 2834170318 + .long 1067143255 + .long 2386449519 + .long 1067113006 + .long 3495558248 + .long 1067082788 + .long 1587501032 + .long 1067052602 + .long 679083091 + .long 1067022447 + .long 493004867 + .long 1066992323 + .long 752825758 + .long 1066962230 + .long 1182960573 + .long 1066932168 + .long 1508676010 + .long 1066902137 + .long 1456087143 + .long 1066872137 + .long 752153937 + .long 1066842168 + .long 3419645073 + .long 1066812229 + .long 597265304 + .long 1066782322 + .long 604423098 + .long 1066752445 + .long 3171423441 + .long 1066722598 + .long 3734431730 + .long 1066692782 + .long 2025404984 + .long 1066662997 + .long 2072088478 + .long 1066633242 + .long 3608077800 + .long 1066603517 + .long 2072815517 + .long 1066573823 + .long 1496489755 + .long 1066544159 + .long 1615129006 + .long 1066514525 + .long 2165566144 + .long 1066484921 + .long 2885435163 + .long 1066455347 + .long 3513167923 + .long 1066425803 + .long 3281014557 + .long 1066390787 + .long 2604876893 + .long 1066331819 + .long 184567847 + .long 1066272911 + .long 4093204381 + .long 1066214061 + .long 930630721 + .long 1066155272 + .long 3068052312 + .long 1066096541 + .long 1403389294 + .long 1066037870 + .long 4015975920 + .long 1065979257 + .long 1806815988 + .long 1065920704 + .long 2858315029 + .long 1065862209 + .long 2369503088 + .long 1065803773 + .long 4130865093 + .long 1065745395 + .long 3344465584 + .long 1065687076 + .long 3803811842 + .long 1065628815 + .long 713978687 + .long 1065570613 + .long 2166438958 + .long 1065512468 + .long 3369253777 + .long 1065454381 + .long 3826935798 + .long 1065396352 + .long 1795984718 + .long 1065323547 + .long 1064675693 + .long 1065207720 + .long 182837332 + .long 1065092008 + .long 2466218622 + .long 1064976410 + .long 2643543973 + .long 1064860927 + .long 4036370876 + .long 1064745558 + .long 1379209261 + .long 1064630304 + .long 2294346567 + .long 1064515163 + .long 1522032624 + .long 1064400136 + .long 495642370 + .long 1064265805 + .long 3615182787 + .long 1064036203 + .long 1900236729 + .long 1063806828 + .long 2033862474 + .long 1063577678 + .long 2114800432 + .long 1063348753 + .long 494771388 + .long 1062984042 + .long 1967954106 + .long 1062527089 + .long 1170198565 + .long 1061933680 + .long 417502738 + .long 1060884213 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 368569247 + .long 3223701786 + .long 368569247 + .long 3223701786 + .long 1671522011 + .long 1075227560 + .long 1671522011 + .long 1075227560 + .long 1691548315 + .long 3221787401 + .long 1691548315 + .long 3221787401 + .long 3700771192 + .long 1073506818 + .long 3700771192 + .long 1073506818 + .long 3698831637 + .long 3220339442 + .long 3698831637 + .long 3220339442 + .long 3207479564 + .long 1062894188 + .long 3207479564 + .long 1062894188 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 589282582 + .long 1068907621 + .long 589282582 + .long 1068907621 + .long 1325131787 + .long 3216755581 + .long 1325131787 + .long 3216755581 + .long 1668232222 + .long 1069713319 + .long 1668232222 + .long 1069713319 + .long 354868790 + .long 3217804155 + .long 354868790 + .long 3217804155 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071366144 + .long 0 + .long 1071366144 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1352597504 + .long 1070810131 + .long 1352597504 + .long 1070810131 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3296460800 + .long 1031700412 + .long 3296460800 + .long 1031700412 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dlog10_data_internal,@object + .size __svml_dlog10_data_internal,9600 + .align 32 + +__dlog10_la_CoutTab: + .long 0 + .long 1071366144 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1071337728 + .long 184549376 + .long 1065092008 + .long 2099961998 + .long 3178897324 + .long 0 + .long 1071309312 + .long 931135488 + .long 1066155272 + .long 2365712557 + .long 3178155773 + .long 0 + .long 1071280896 + .long 603979776 + .long 1066752445 + .long 709057215 + .long 1031474920 + .long 0 + .long 1071252480 + .long 3437232128 + .long 1067234191 + .long 1515412199 + .long 3179085970 + .long 0 + .long 1071238272 + .long 1105723392 + .long 1067464226 + .long 153915826 + .long 3178000698 + .long 0 + .long 1071209856 + .long 3328442368 + .long 1067711223 + .long 3899912278 + .long 3177135692 + .long 0 + .long 1071181440 + .long 341835776 + .long 1067962480 + .long 2509208190 + .long 3176531222 + .long 0 + .long 1071167232 + .long 2884632576 + .long 1068089751 + .long 1030636902 + .long 1025224143 + .long 0 + .long 1071138816 + .long 3613917184 + .long 1068347678 + .long 3527163461 + .long 3177529532 + .long 0 + .long 1071124608 + .long 3549954048 + .long 1068478374 + .long 3498894081 + .long 3173000425 + .long 0 + .long 1071096192 + .long 1623785472 + .long 1068621140 + .long 2889825554 + .long 3176375375 + .long 0 + .long 1071081984 + .long 1085800448 + .long 1068688295 + .long 4015256301 + .long 3177184346 + .long 0 + .long 1071053568 + .long 3652976640 + .long 1068824490 + .long 3600693529 + .long 3175753877 + .long 0 + .long 1071039360 + .long 1592393728 + .long 1068893555 + .long 231073830 + .long 3177087939 + .long 0 + .long 1071025152 + .long 3459645440 + .long 1068963280 + .long 1740576090 + .long 1029619435 + .long 0 + .long 1070996736 + .long 3774611456 + .long 1069104765 + .long 3858552785 + .long 1028603845 + .long 0 + .long 1070982528 + .long 845086720 + .long 1069176552 + .long 3138879731 + .long 1029120443 + .long 0 + .long 1070968320 + .long 3513843712 + .long 1069249052 + .long 2107125367 + .long 1029044389 + .long 0 + .long 1070954112 + .long 434503680 + .long 1069322282 + .long 3827602229 + .long 1028932700 + .long 0 + .long 1070939904 + .long 3613851648 + .long 1069396254 + .long 1223751955 + .long 3176465139 + .long 0 + .long 1070911488 + .long 733741056 + .long 1069546492 + .long 1625232067 + .long 1029570781 + .long 0 + .long 1070897280 + .long 1511620608 + .long 1069585154 + .long 3044605139 + .long 1028090775 + .long 0 + .long 1070883072 + .long 1337196544 + .long 1069623706 + .long 2602639001 + .long 3175938675 + .long 0 + .long 1070868864 + .long 2572533760 + .long 1069662670 + .long 3067107955 + .long 1022933137 + .long 0 + .long 1070854656 + .long 559611904 + .long 1069702056 + .long 764145786 + .long 3174041535 + .long 0 + .long 1070840448 + .long 485818368 + .long 1069741872 + .long 2037567072 + .long 3175580956 + .long 0 + .long 1070826240 + .long 259604480 + .long 1069782128 + .long 4012068429 + .long 1027865895 + .long 0 + .long 1070812032 + .long 3454042112 + .long 1069822833 + .long 2867680007 + .long 3174202478 + .long 0 + .long 1070797824 + .long 2188754944 + .long 1069863999 + .long 2538655286 + .long 3175840981 + .long 0 + .long 1070783616 + .long 2965241856 + .long 1069905635 + .long 1338936972 + .long 3176093950 + .long 0 + .long 1070769408 + .long 966279168 + .long 1069947753 + .long 1774547674 + .long 3175051484 + .long 0 + .long 1070755200 + .long 1604042752 + .long 1069990363 + .long 2557470738 + .long 3174667448 + .long 0 + .long 1070740992 + .long 3417833472 + .long 1070033477 + .long 2268255117 + .long 3175678264 + .long 0 + .long 1070740992 + .long 3417833472 + .long 1070033477 + .long 2268255117 + .long 3175678264 + .long 0 + .long 1070726784 + .long 2451292160 + .long 1070077108 + .long 3757728941 + .long 1027943275 + .long 0 + .long 1070712576 + .long 929644544 + .long 1070121268 + .long 899045708 + .long 1027944939 + .long 0 + .long 1070698368 + .long 3057254400 + .long 1070165969 + .long 3880649376 + .long 3172972504 + .long 0 + .long 1070684160 + .long 2231091200 + .long 1070211226 + .long 521319256 + .long 1027600177 + .long 0 + .long 1070684160 + .long 2231091200 + .long 1070211226 + .long 521319256 + .long 1027600177 + .long 0 + .long 1070669952 + .long 2620162048 + .long 1070257052 + .long 1385613369 + .long 3176104036 + .long 0 + .long 1070655744 + .long 2096726016 + .long 1070303462 + .long 3138305819 + .long 3173646777 + .long 0 + .long 1070641536 + .long 944717824 + .long 1070350471 + .long 1065120110 + .long 1027539054 + .long 0 + .long 1070641536 + .long 944717824 + .long 1070350471 + .long 1065120110 + .long 1027539054 + .long 0 + .long 1070627328 + .long 1985789952 + .long 1070398094 + .long 3635943864 + .long 3173136490 + .long 0 + .long 1070613120 + .long 2123825152 + .long 1070446348 + .long 1125219725 + .long 3175615738 + .long 0 + .long 1070598912 + .long 1078378496 + .long 1070495250 + .long 603852726 + .long 3174570526 + .long 0 + .long 1070598912 + .long 1078378496 + .long 1070495250 + .long 603852726 + .long 3174570526 + .long 0 + .long 1070573312 + .long 1537933312 + .long 1070544817 + .long 998069198 + .long 1026662908 + .long 0 + .long 1070544896 + .long 733773824 + .long 1070595068 + .long 4061058002 + .long 3174036009 + .long 0 + .long 1070544896 + .long 733773824 + .long 1070595068 + .long 4061058002 + .long 3174036009 + .long 0 + .long 1070516480 + .long 3897544704 + .long 1070621058 + .long 951856294 + .long 1026731877 + .long 0 + .long 1070516480 + .long 3897544704 + .long 1070621058 + .long 951856294 + .long 1026731877 + .long 0 + .long 1070488064 + .long 493535232 + .long 1070646897 + .long 3852369308 + .long 3173264746 + .long 0 + .long 1070459648 + .long 463249408 + .long 1070673107 + .long 2853152111 + .long 3174564937 + .long 0 + .long 1070459648 + .long 463249408 + .long 1070673107 + .long 2853152111 + .long 3174564937 + .long 0 + .long 1070431232 + .long 3186585600 + .long 1070699699 + .long 1874718356 + .long 3174139933 + .long 0 + .long 1070431232 + .long 3186585600 + .long 1070699699 + .long 1874718356 + .long 3174139933 + .long 0 + .long 1070402816 + .long 1525858304 + .long 1070726686 + .long 3039843523 + .long 1024724665 + .long 0 + .long 1070402816 + .long 1525858304 + .long 1070726686 + .long 3039843523 + .long 1024724665 + .long 0 + .long 1070374400 + .long 3425300480 + .long 1070754078 + .long 1303046649 + .long 1022401701 + .long 0 + .long 1070374400 + .long 3425300480 + .long 1070754078 + .long 1303046649 + .long 1022401701 + .long 0 + .long 1070345984 + .long 1980465152 + .long 1070781889 + .long 3188656319 + .long 1027271390 + .long 0 + .long 1070345984 + .long 1980465152 + .long 1070781889 + .long 3188656319 + .long 1027271390 + .long 0 + .long 1070317568 + .long 1352630272 + .long 1070810131 + .long 3090895658 + .long 3174564915 + .long 1352630272 + .long 1070810131 + .long 3090895658 + .long 3174564915 + .long 64 + .long 1120927744 + .long 0 + .long 1096810496 + .long 0 + .long 1064828928 + .long 0 + .long 1135607808 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1071366144 + .long 3207479559 + .long 1062894188 + .long 3698831637 + .long 3220339442 + .long 3700832817 + .long 1073506818 + .long 1691624569 + .long 3221787401 + .long 2065628764 + .long 1075227551 + .long 1770847080 + .long 3223701774 + .long 3786517112 + .long 1077250450 + .long 1316351650 + .long 3225793313 + .type __dlog10_la_CoutTab,@object + .size __dlog10_la_CoutTab,1696 + .align 16 + +.FLT_16: + .long 0x00000000,0x43380000,0x00000000,0x43380000 + .type .FLT_16,@object + .size .FLT_16,16 + .align 16 + +.FLT_89: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_89,@object + .size .FLT_89,16 + .align 8 + +.FLT_90: + .long 0x00000000,0x3ff00000 + .type .FLT_90,@object + .size .FLT_90,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core-sse.S new file mode 100644 index 0000000000..0a101666f5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized log10, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_log10 _ZGVdN4v_log10_sse_wrapper +#include "../svml_d_log104_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core.c new file mode 100644 index 0000000000..48c63cfb3d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized log10, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_log10 +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_log10, __GI__ZGVdN4v_log10, __redirect__ZGVdN4v_log10) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core_avx2.S new file mode 100644 index 0000000000..875d601c47 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core_avx2.S @@ -0,0 +1,3781 @@ +/* Function log vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R) + * log10(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_log10_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea -4222912+__svml_dlog10_data_internal(%rip), %rax + vmovapd %ymm0, %ymm3 + +/* preserve mantissa, set input exponent to 2^(-10) */ + vandpd 8704+__svml_dlog10_data_internal(%rip), %ymm3, %ymm4 + vorpd 8768+__svml_dlog10_data_internal(%rip), %ymm4, %ymm2 + +/* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm2, %xmm5 + +/* exponent bits */ + vpsrlq $20, %ymm3, %ymm7 + vmovups %ymm8, 32(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm15, 320(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +/* exponent*log(2.0) */ + vmovupd 9280+__svml_dlog10_data_internal(%rip), %ymm15 + vmovups %ymm12, 224(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm14, 288(%rsp) + vrcpps %xmm5, %xmm6 + +/* check range */ + vcmplt_oqpd 8832+__svml_dlog10_data_internal(%rip), %ymm3, %ymm5 + vcvtps2pd %xmm6, %ymm1 + vcmpnle_uqpd 8896+__svml_dlog10_data_internal(%rip), %ymm3, %ymm6 + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm1, %ymm1 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + vorpd %ymm6, %ymm5, %ymm8 + +/* combine and get argument value range mask */ + vmovmskpd %ymm8, %edx + +/* argument reduction */ + vfmsub213pd 9088+__svml_dlog10_data_internal(%rip), %ymm1, %ymm2 + +/* polynomial */ + vmovupd 8512+__svml_dlog10_data_internal(%rip), %ymm8 + vmovupd 8576+__svml_dlog10_data_internal(%rip), %ymm5 + +/* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm1, %ymm9 + vmulpd %ymm2, %ymm2, %ymm6 + vfmadd213pd 8544+__svml_dlog10_data_internal(%rip), %ymm2, %ymm8 + vfmadd213pd 8608+__svml_dlog10_data_internal(%rip), %ymm2, %ymm5 + vmulpd 8640+__svml_dlog10_data_internal(%rip), %ymm2, %ymm2 + vcmplt_oqpd %ymm1, %ymm15, %ymm1 + vfmadd213pd %ymm5, %ymm6, %ymm8 + vandpd 9344+__svml_dlog10_data_internal(%rip), %ymm1, %ymm15 + vfmadd213pd %ymm2, %ymm6, %ymm8 + vextractf128 $1, %ymm9, %xmm12 + vmovd %xmm9, %ecx + vmovd %xmm12, %r9d + movslq %ecx, %rcx + vpextrd $2, %xmm9, %r8d + movslq %r9d, %r9 + vpextrd $2, %xmm12, %r10d + movslq %r8d, %r8 + movslq %r10d, %r10 + vmovsd (%rax,%rcx), %xmm10 + vmovsd (%rax,%r9), %xmm13 + vmovhpd (%rax,%r8), %xmm10, %xmm11 + vmovhpd (%rax,%r10), %xmm13, %xmm14 + vextractf128 $1, %ymm7, %xmm0 + vshufps $221, %xmm0, %xmm7, %xmm4 + +/* biased exponent in DP format */ + vcvtdq2pd %xmm4, %ymm0 + vorpd 9408+__svml_dlog10_data_internal(%rip), %ymm15, %ymm4 + vsubpd %ymm4, %ymm0, %ymm0 + vmulpd 9472+__svml_dlog10_data_internal(%rip), %ymm0, %ymm9 + vinsertf128 $1, %xmm14, %ymm11, %ymm7 + +/* reconstruction */ + vaddpd %ymm8, %ymm7, %ymm0 + vaddpd %ymm0, %ymm9, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm3, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dlog10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_log10_avx2) + + .align 16,0x90 + +__svml_dlog10_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 6(%rdi), %edx + andl $32752, %edx + cmpl $32752, %edx + je .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 .FLT_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 .FLT_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 + + cfi_endproc + + .type __svml_dlog10_cout_rare_internal,@function + .size __svml_dlog10_cout_rare_internal,.-__svml_dlog10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dlog10_data_internal: + .long 1190572160 + .long 3228777073 + .long 3860447744 + .long 3189665916 + .long 1198987632 + .long 3228777077 + .long 3228397393 + .long 3189668294 + .long 1168821104 + .long 3228777081 + .long 637194908 + .long 3189668066 + .long 1100245360 + .long 3228777085 + .long 133785915 + .long 3189667542 + .long 993432048 + .long 3228777089 + .long 3017828443 + .long 3189667588 + .long 848551680 + .long 3228777093 + .long 560605178 + .long 3189668289 + .long 665773664 + .long 3228777097 + .long 3849538177 + .long 3189667548 + .long 445266208 + .long 3228777101 + .long 3804908986 + .long 3189667886 + .long 187196464 + .long 3228777105 + .long 3516966431 + .long 3189667858 + .long 4186697744 + .long 3228777108 + .long 3052190817 + .long 3189667809 + .long 3854000384 + .long 3228777112 + .long 1554781574 + .long 3189667427 + .long 3484235504 + .long 3228777116 + .long 4153839410 + .long 3189667384 + .long 3077565856 + .long 3228777120 + .long 4000768869 + .long 3189667904 + .long 2634153136 + .long 3228777124 + .long 4244738174 + .long 3189668339 + .long 2154157984 + .long 3228777128 + .long 3014247306 + .long 3189667771 + .long 1637739952 + .long 3228777132 + .long 1906045981 + .long 3189667650 + .long 1085057568 + .long 3228777136 + .long 3987700171 + .long 3189668284 + .long 496268368 + .long 3228777140 + .long 1674280096 + .long 3189667373 + .long 4166496080 + .long 3228777143 + .long 2078815235 + .long 3189667744 + .long 3505961600 + .long 3228777147 + .long 4286802640 + .long 3189667683 + .long 2809786672 + .long 3228777151 + .long 1913564473 + .long 3189667639 + .long 2078124752 + .long 3228777155 + .long 2693682663 + .long 3189667702 + .long 1311128304 + .long 3228777159 + .long 1012063542 + .long 3189668158 + .long 508948832 + .long 3228777163 + .long 2489929809 + .long 3189667978 + .long 3966704144 + .long 3228777166 + .long 2165614611 + .long 3189667408 + .long 3094609184 + .long 3228777170 + .long 2488783422 + .long 3189667472 + .long 2187779856 + .long 3228777174 + .long 2723126436 + .long 3189667428 + .long 1246363792 + .long 3228777178 + .long 3017034520 + .long 3189668359 + .long 270507744 + .long 3228777182 + .long 1972662349 + .long 3189667544 + .long 3555324736 + .long 3228777185 + .long 898998658 + .long 3189668182 + .long 2511025072 + .long 3228777189 + .long 2160314027 + .long 3189667608 + .long 1432719952 + .long 3228777193 + .long 1911887828 + .long 3189668033 + .long 320552432 + .long 3228777197 + .long 3280422502 + .long 3189667818 + .long 3469631920 + .long 3228777200 + .long 3027884278 + .long 3189668109 + .long 2290165072 + .long 3228777204 + .long 3517602960 + .long 3189668197 + .long 1077259536 + .long 3228777208 + .long 3013130823 + .long 3189668046 + .long 4126022080 + .long 3228777211 + .long 3235689898 + .long 3189667740 + .long 2846656704 + .long 3228777215 + .long 87643117 + .long 3189667953 + .long 1534268448 + .long 3228777219 + .long 754951962 + .long 3189668360 + .long 188994208 + .long 3228777223 + .long 3023581101 + .long 3189668100 + .long 3105937296 + .long 3228777226 + .long 1490072819 + .long 3189668276 + .long 1695298320 + .long 3228777230 + .long 3738440902 + .long 3189668304 + .long 252178944 + .long 3228777234 + .long 897194307 + .long 3189667388 + .long 3071679952 + .long 3228777237 + .long 195484330 + .long 3189668024 + .long 1563999488 + .long 3228777241 + .long 3795554301 + .long 3189668248 + .long 24236736 + .long 3228777245 + .long 2858806924 + .long 3189668212 + .long 2747490080 + .long 3228777248 + .long 4259795627 + .long 3189667532 + .long 1143955184 + .long 3228777252 + .long 4279885499 + .long 3189667764 + .long 3803696144 + .long 3228777255 + .long 3997664578 + .long 3189667698 + .long 2136907056 + .long 3228777259 + .long 2176158532 + .long 3189667869 + .long 438683136 + .long 3228777263 + .long 227964261 + .long 3189667893 + .long 3004118816 + .long 3228777266 + .long 2296676690 + .long 3189667896 + .long 1243405872 + .long 3228777270 + .long 2079834385 + .long 3189667894 + .long 3746604496 + .long 3228777273 + .long 3850151037 + .long 3189668185 + .long 1923904960 + .long 3228777277 + .long 574763554 + .long 3189667699 + .long 70398640 + .long 3228777281 + .long 3827982506 + .long 3189667452 + .long 2481176176 + .long 3228777284 + .long 1146808857 + .long 3189667869 + .long 566425600 + .long 3228777288 + .long 4238446104 + .long 3189668130 + .long 2916203392 + .long 3228777291 + .long 3553887815 + .long 3189667582 + .long 940696080 + .long 3228777295 + .long 1221192380 + .long 3189668153 + .long 3229958720 + .long 3228777298 + .long 2271570828 + .long 3189667556 + .long 1194176400 + .long 3228777302 + .long 3002536483 + .long 3189667850 + .long 3423402736 + .long 3228777305 + .long 2434838684 + .long 3189667608 + .long 1327821424 + .long 3228777309 + .long 2687777298 + .long 3189667396 + .long 3497484640 + .long 3228777312 + .long 2749657917 + .long 3189668082 + .long 1342574720 + .long 3228777316 + .long 3002546917 + .long 3189668115 + .long 3453142464 + .long 3228777319 + .long 3498283957 + .long 3189667970 + .long 1239368816 + .long 3228777323 + .long 455121273 + .long 3189667422 + .long 3291303200 + .long 3228777326 + .long 2621841620 + .long 3189667932 + .long 3012883008 + .long 3228777333 + .long 2362501462 + .long 3189667975 + .long 2618787376 + .long 3228777340 + .long 1091754251 + .long 3189667994 + .long 2109911280 + .long 3228777347 + .long 193599334 + .long 3189668101 + .long 1487139360 + .long 3228777354 + .long 3757852586 + .long 3189667728 + .long 751346048 + .long 3228777361 + .long 1167306858 + .long 3189667607 + .long 4198363056 + .long 3228777367 + .long 3727503052 + .long 3189667447 + .long 3239110320 + .long 3228777374 + .long 4101491224 + .long 3189667535 + .long 2169399936 + .long 3228777381 + .long 1682828411 + .long 3189668088 + .long 990067152 + .long 3228777388 + .long 325154957 + .long 3189667406 + .long 3996905008 + .long 3228777394 + .long 333920478 + .long 3189668041 + .long 2600795440 + .long 3228777401 + .long 1868291498 + .long 3189667430 + .long 1097513040 + .long 3228777408 + .long 2092796598 + .long 3189667816 + .long 3782823440 + .long 3228777414 + .long 2342635878 + .long 3189667569 + .long 2067581456 + .long 3228777421 + .long 2489432283 + .long 3189667708 + .long 247535056 + .long 3228777428 + .long 2233925548 + .long 3189668023 + .long 2618423584 + .long 3228777434 + .long 2884435678 + .long 3189668162 + .long 591076000 + .long 3228777441 + .long 2793733516 + .long 3189667544 + .long 2756182032 + .long 3228777447 + .long 726899401 + .long 3189668194 + .long 524554032 + .long 3228777454 + .long 3888914666 + .long 3189668216 + .long 2486865376 + .long 3228777460 + .long 2627594277 + .long 3189667420 + .long 53912208 + .long 3228777467 + .long 2333314786 + .long 3189667677 + .long 1816352000 + .long 3228777473 + .long 860249135 + .long 3189668031 + .long 3479932544 + .long 3228777479 + .long 1333576769 + .long 3189667862 + .long 750393936 + .long 3228777486 + .long 3863808803 + .long 3189667876 + .long 2218370608 + .long 3228777492 + .long 988274049 + .long 3189667895 + .long 3589587648 + .long 3228777498 + .long 1363020542 + .long 3189667588 + .long 569762768 + .long 3228777505 + .long 2860785679 + .long 3189668116 + .long 1749508368 + .long 3228777511 + .long 3454164214 + .long 3189667505 + .long 2834527744 + .long 3228777517 + .long 551781933 + .long 3189668193 + .long 3825484512 + .long 3228777523 + .long 2204991099 + .long 3189668076 + .long 428068000 + .long 3228777530 + .long 330816187 + .long 3189667835 + .long 1232862576 + .long 3228777536 + .long 1875584004 + .long 3189667900 + .long 1945543984 + .long 3228777542 + .long 3147029736 + .long 3189667368 + .long 2566748560 + .long 3228777548 + .long 2759544833 + .long 3189667927 + .long 3097106128 + .long 3228777554 + .long 2378335007 + .long 3189667440 + .long 3537239968 + .long 3228777560 + .long 59134449 + .long 3189667766 + .long 3887767008 + .long 3228777566 + .long 2237380018 + .long 3189668142 + .long 4149297872 + .long 3228777572 + .long 2899689733 + .long 3189667692 + .long 27469632 + .long 3228777579 + .long 2818642709 + .long 3189667832 + .long 112815152 + .long 3228777585 + .long 4092579806 + .long 3189667420 + .long 110959312 + .long 3228777591 + .long 936570796 + .long 3189668056 + .long 22488368 + .long 3228777597 + .long 365917996 + .long 3189668022 + .long 4142949952 + .long 3228777602 + .long 3149756965 + .long 3189667408 + .long 3882983968 + .long 3228777608 + .long 4081670258 + .long 3189668028 + .long 3538126528 + .long 3228777614 + .long 1719873156 + .long 3189668130 + .long 3108940752 + .long 3228777620 + .long 3284322898 + .long 3189668289 + .long 2595984192 + .long 3228777626 + .long 1642430589 + .long 3189668010 + .long 1999808880 + .long 3228777632 + .long 4232900950 + .long 3189667360 + .long 1320961392 + .long 3228777638 + .long 346567365 + .long 3189667513 + .long 559982960 + .long 3228777644 + .long 2138178062 + .long 3189668130 + .long 4012376832 + .long 3228777649 + .long 2536292360 + .long 3189667756 + .long 3088739088 + .long 3228777655 + .long 2310947316 + .long 3189668224 + .long 2084562592 + .long 3228777661 + .long 719337470 + .long 3189667732 + .long 1000367760 + .long 3228777667 + .long 2925814745 + .long 3189668182 + .long 4131637328 + .long 3228777672 + .long 2769058114 + .long 3189668120 + .long 2888947152 + .long 3228777678 + .long 2397746692 + .long 3189667888 + .long 1567770080 + .long 3228777684 + .long 1319666757 + .long 3189667549 + .long 168606816 + .long 3228777690 + .long 3249166601 + .long 3189667815 + .long 2986920608 + .long 3228777695 + .long 3117551188 + .long 3189667844 + .long 1433268080 + .long 3228777701 + .long 2392446108 + .long 3189668088 + .long 4098070400 + .long 3228777706 + .long 1952984424 + .long 3189667965 + .long 2391874944 + .long 3228777712 + .long 3260016359 + .long 3189667565 + .long 610126416 + .long 3228777718 + .long 1206683346 + .long 3189668275 + .long 3048265088 + .long 3228777723 + .long 3467821979 + .long 3189668220 + .long 1116824880 + .long 3228777729 + .long 3688655521 + .long 3189667898 + .long 3406204528 + .long 3228777734 + .long 3255713182 + .long 3189667556 + .long 1326929264 + .long 3228777740 + .long 200527713 + .long 3189667591 + .long 3469389248 + .long 3228777745 + .long 1129326388 + .long 3189667868 + .long 1244101248 + .long 3228777751 + .long 308865650 + .long 3189668017 + .long 3241447056 + .long 3228777756 + .long 3090939005 + .long 3189667668 + .long 871935152 + .long 3228777762 + .long 3265000937 + .long 3189667670 + .long 2725939152 + .long 3228777767 + .long 4229796659 + .long 3189668178 + .long 213959504 + .long 3228777773 + .long 1991139447 + .long 3189667724 + .long 1926361824 + .long 3228777778 + .long 2528808771 + .long 3189668376 + .long 3568606000 + .long 3228777783 + .long 4260639448 + .long 3189667546 + .long 846147968 + .long 3228777789 + .long 806895635 + .long 3189668179 + .long 2349341824 + .long 3228777794 + .long 3346322191 + .long 3189667388 + .long 3783635920 + .long 3228777799 + .long 175610890 + .long 3189667587 + .long 854474928 + .long 3228777805 + .long 2938776958 + .long 3189668104 + .long 2152201728 + .long 3228777810 + .long 2503702909 + .long 3189668036 + .long 3382253648 + .long 3228777815 + .long 990471545 + .long 3189668020 + .long 250064432 + .long 3228777821 + .long 2919909380 + .long 3189667876 + .long 1345966144 + .long 3228777826 + .long 3002840896 + .long 3189668306 + .long 2375385488 + .long 3228777831 + .long 3730416038 + .long 3189667426 + .long 3338712928 + .long 3228777836 + .long 1372953258 + .long 3189667506 + .long 4236335536 + .long 3228777841 + .long 3486643335 + .long 3189668352 + .long 773669728 + .long 3228777847 + .long 3527808638 + .long 3189667828 + .long 1541030400 + .long 3228777852 + .long 1323886332 + .long 3189667450 + .long 2243827264 + .long 3228777857 + .long 3473574637 + .long 3189667708 + .long 2882434080 + .long 3228777862 + .long 2116524762 + .long 3189667453 + .long 3457221328 + .long 3228777867 + .long 3472145296 + .long 3189668357 + .long 3968556352 + .long 3228777872 + .long 1399438939 + .long 3189668087 + .long 121835984 + .long 3228777878 + .long 1630440586 + .long 3189667769 + .long 507355824 + .long 3228777883 + .long 414821867 + .long 3189668165 + .long 830506528 + .long 3228777888 + .long 1651489076 + .long 3189667856 + .long 1091642960 + .long 3228777893 + .long 1914960493 + .long 3189667544 + .long 1291116960 + .long 3228777898 + .long 1585226677 + .long 3189668172 + .long 1429277424 + .long 3228777903 + .long 1458536815 + .long 3189667992 + .long 1506470256 + .long 3228777908 + .long 5177277 + .long 3189667794 + .long 1523038448 + .long 3228777913 + .long 2100423580 + .long 3189667910 + .long 1479322112 + .long 3228777918 + .long 2766296967 + .long 3189668266 + .long 1375658528 + .long 3228777923 + .long 3908110271 + .long 3189667373 + .long 1212382096 + .long 3228777928 + .long 1728734206 + .long 3189667440 + .long 989824464 + .long 3228777933 + .long 2721564364 + .long 3189668188 + .long 708314544 + .long 3228777938 + .long 1548992985 + .long 3189667813 + .long 368178464 + .long 3228777943 + .long 102841028 + .long 3189668008 + .long 4264706992 + .long 3228777947 + .long 975947285 + .long 3189667700 + .long 3808286304 + .long 3228777952 + .long 3025865597 + .long 3189668024 + .long 3294201856 + .long 3228777957 + .long 905114809 + .long 3189668054 + .long 2722769184 + .long 3228777962 + .long 3281428766 + .long 3189667672 + .long 2094301216 + .long 3228777967 + .long 2831959372 + .long 3189668375 + .long 1409108384 + .long 3228777972 + .long 2859726358 + .long 3189667900 + .long 667498528 + .long 3228777977 + .long 3483539044 + .long 3189668146 + .long 4164744336 + .long 3228777981 + .long 643592870 + .long 3189667709 + .long 3311214096 + .long 3228777986 + .long 3888135264 + .long 3189667701 + .long 2402175552 + .long 3228777991 + .long 1565708850 + .long 3189668342 + .long 1437926768 + .long 3228777996 + .long 3880143694 + .long 3189667559 + .long 418763344 + .long 3228778001 + .long 2177554551 + .long 3189667774 + .long 3639945856 + .long 3228778005 + .long 632683322 + .long 3189668317 + .long 2511830656 + .long 3228778010 + .long 1595152623 + .long 3189668068 + .long 1329673632 + .long 3228778015 + .long 1921601627 + .long 3189668075 + .long 93761104 + .long 3228778020 + .long 1757445293 + .long 3189668004 + .long 3099344416 + .long 3228778024 + .long 1435123721 + .long 3189667691 + .long 1756770768 + .long 3228778029 + .long 783914014 + .long 3189667649 + .long 361287040 + .long 3228778034 + .long 2235532382 + .long 3189667506 + .long 3208137904 + .long 3228778038 + .long 1904486204 + .long 3189667498 + .long 1707663968 + .long 3228778043 + .long 41908474 + .long 3189667890 + .long 155105584 + .long 3228778048 + .long 2107716085 + .long 3189668380 + .long 2845700992 + .long 3228778052 + .long 3156927676 + .long 3189667488 + .long 1189784368 + .long 3228778057 + .long 4047204189 + .long 3189668063 + .long 3777557072 + .long 3228778061 + .long 577628716 + .long 3189667418 + .long 2019349136 + .long 3228778066 + .long 2610467089 + .long 3189667920 + .long 210390496 + .long 3228778071 + .long 2766766141 + .long 3189668118 + .long 2645909040 + .long 3228778075 + .long 3243727052 + .long 3189668176 + .long 736228768 + .long 3228778080 + .long 3122320416 + .long 3189668130 + .long 3071540880 + .long 3228778084 + .long 3131821814 + .long 3189668172 + .long 1062165440 + .long 3228778089 + .long 3213377517 + .long 3189667895 + .long 3298289744 + .long 3228778093 + .long 2564668383 + .long 3189667569 + .long 1190229968 + .long 3228778098 + .long 3238426468 + .long 3189668376 + .long 3328169632 + .long 3228778102 + .long 1168702877 + .long 3189667512 + .long 1122421104 + .long 3228778107 + .long 19789062 + .long 3189667604 + .long 3163164128 + .long 3228778111 + .long 1630085837 + .long 3189667685 + .long 860707408 + .long 3228778116 + .long 4114762240 + .long 3189667464 + .long 2805226992 + .long 3228778120 + .long 18835043 + .long 3189667485 + .long 407027936 + .long 3228778125 + .long 1254882039 + .long 3189668241 + .long 2256282720 + .long 3228778129 + .long 1578671063 + .long 3189668264 + .long 4058260128 + .long 3228778133 + .long 2087871538 + .long 3189668330 + .long 1518227216 + .long 3228778138 + .long 1874562670 + .long 3189667466 + .long 3226351136 + .long 3228778142 + .long 1975306748 + .long 3189668156 + .long 592928208 + .long 3228778147 + .long 2027557844 + .long 3189668223 + .long 2208122192 + .long 3228778151 + .long 3385698680 + .long 3189668056 + .long 3777193280 + .long 3228778155 + .long 2370310143 + .long 3189667586 + .long 1005399968 + .long 3228778160 + .long 259325820 + .long 3189668365 + .long 2482901056 + .long 3228778164 + .long 780809723 + .long 3189667443 + .long 3914951728 + .long 3228778168 + .long 212773867 + .long 3189667618 + .long 1006805600 + .long 3228778173 + .long 951469551 + .long 3189668212 + .long 2348616576 + .long 3228778177 + .long 2086655720 + .long 3189668128 + .long 3645635056 + .long 3228778181 + .long 2113468742 + .long 3189667868 + .long 603109872 + .long 3228778186 + .long 1652875995 + .long 3189667443 + .long 1811190160 + .long 3228778190 + .long 2629878773 + .long 3189668368 + .long 2975121696 + .long 3228778194 + .long 346123600 + .long 3189667455 + .long 4095115920 + .long 3228778198 + .long 3526019824 + .long 3189667996 + .long 876415552 + .long 3228778203 + .long 1439312045 + .long 3189667395 + .long 1909163616 + .long 3228778207 + .long 3349683269 + .long 3189668324 + .long 2898599856 + .long 3228778211 + .long 649479362 + .long 3189667358 + .long 3844929728 + .long 3228778215 + .long 2676997587 + .long 3189668158 + .long 453390032 + .long 3228778220 + .long 848895008 + .long 3189668036 + .long 1314117952 + .long 3228778224 + .long 3492148440 + .long 3189668045 + .long 2132347376 + .long 3228778228 + .long 281429102 + .long 3189667715 + .long 2908278048 + .long 3228778232 + .long 2940038679 + .long 3189667953 + .long 3642108336 + .long 3228778236 + .long 3909547671 + .long 3189667808 + .long 39067888 + .long 3228778241 + .long 3920787602 + .long 3189668378 + .long 689286912 + .long 3228778245 + .long 1690865565 + .long 3189667500 + .long 1297992288 + .long 3228778249 + .long 2169866692 + .long 3189667738 + .long 1865376896 + .long 3228778253 + .long 967083596 + .long 3189667983 + .long 2391632256 + .long 3228778257 + .long 1361458469 + .long 3189668348 + .long 2876948576 + .long 3228778261 + .long 32611984 + .long 3189667893 + .long 3321514720 + .long 3228778265 + .long 2193827755 + .long 3189667454 + .long 3725518240 + .long 3228778269 + .long 2245419299 + .long 3189668375 + .long 4089145456 + .long 3228778273 + .long 3497133018 + .long 3189668150 + .long 117614048 + .long 3228778278 + .long 175818393 + .long 3189668353 + .long 401042352 + .long 3228778282 + .long 3839976210 + .long 3189668213 + .long 644645552 + .long 3228778286 + .long 3041010480 + .long 3189667412 + .long 848604848 + .long 3228778290 + .long 2760940853 + .long 3189667832 + .long 1013100256 + .long 3228778294 + .long 2385564198 + .long 3189668140 + .long 1138310560 + .long 3228778298 + .long 2892472831 + .long 3189667574 + .long 1224413296 + .long 3228778302 + .long 781676890 + .long 3189667676 + .long 1271584832 + .long 3228778306 + .long 3578454272 + .long 3189667868 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 2256045239 + .long 3209413770 + .long 2491592457 + .long 3210460574 + .long 1804910333 + .long 3211053321 + .long 1914826022 + .long 3211505620 + .long 3803025062 + .long 3211872665 + .long 1674748349 + .long 3212097941 + .long 1798374224 + .long 3212322782 + .long 2768032015 + .long 3212547190 + .long 3136444289 + .long 3212771167 + .long 2855105875 + .long 3212915789 + .long 2332612951 + .long 3213027349 + .long 1363424900 + .long 3213138696 + .long 3437629661 + .long 3213249830 + .long 3435456176 + .long 3213360753 + .long 512327647 + .long 3213471466 + .long 2393978768 + .long 3213581968 + .long 3901767770 + .long 3213692261 + .long 4132692718 + .long 3213802346 + .long 1082284973 + .long 3213898832 + .long 2823056504 + .long 3213953667 + .long 366152305 + .long 3214008400 + .long 3959556563 + .long 3214063029 + .long 2367110801 + .long 3214117557 + .long 1523289056 + .long 3214171983 + .long 3058430271 + .long 3214226307 + .long 3839215 + .long 3214280531 + .long 2561657861 + .long 3214334653 + .long 3745193976 + .long 3214388675 + .long 853823952 + .long 3214442598 + .long 4062993129 + .long 3214496420 + .long 2064542556 + .long 3214550144 + .long 721479184 + .long 3214603769 + .long 1593203319 + .long 3214657295 + .long 1935571978 + .long 3214710723 + .long 3290896245 + .long 3214764053 + .long 2898068879 + .long 3214817286 + .long 2282560537 + .long 3214870422 + .long 2961513548 + .long 3214923461 + .long 1074417563 + .long 3214955210 + .long 2820079616 + .long 3214981633 + .long 1021551109 + .long 3215008009 + .long 716013687 + .long 3215034337 + .long 2641666110 + .long 3215060617 + .long 3237753164 + .long 3215086850 + .long 3234528909 + .long 3215113036 + .long 3358317786 + .long 3215139175 + .long 36575458 + .long 3215165268 + .long 2577785893 + .long 3215191313 + .long 3106717932 + .long 3215217312 + .long 2334256463 + .long 3215243265 + .long 967494986 + .long 3215269172 + .long 4004729818 + .long 3215295032 + .long 3555617588 + .long 3215320847 + .long 316038151 + .long 3215346617 + .long 3568120799 + .long 3215372340 + .long 1115499161 + .long 3215398019 + .long 2233009907 + .long 3215423652 + .long 3306979906 + .long 3215449240 + .long 720153405 + .long 3215474784 + .long 3736618996 + .long 3215500282 + .long 142096100 + .long 3215525737 + .long 3488599868 + .long 3215551146 + .long 1554858050 + .long 3215576512 + .long 3590975466 + .long 3215601833 + .long 1663752343 + .long 3215627111 + .long 721479184 + .long 3215652345 + .long 1414091172 + .long 3215677535 + .long 93191556 + .long 3215702682 + .long 1696976726 + .long 3215727785 + .long 2570390009 + .long 3215752845 + .long 3350046349 + .long 3215777862 + .long 374320308 + .long 3215802837 + .long 2863237644 + .long 3215827768 + .long 2853726453 + .long 3215852657 + .long 969442960 + .long 3215877504 + .long 2125826056 + .long 3215902308 + .long 2645217056 + .long 3215927070 + .long 3141783046 + .long 3215951790 + .long 4226570871 + .long 3215976468 + .long 3253764118 + .long 3215991848 + .long 999795016 + .long 3216004146 + .long 4242218727 + .long 3216016422 + .long 395520918 + .long 3216028679 + .long 2642482782 + .long 3216040914 + .long 2689550894 + .long 3216053129 + .long 831618312 + .long 3216065324 + .long 1657067230 + .long 3216077498 + .long 1162876950 + .long 3216089652 + .long 3934502846 + .long 3216101785 + .long 1671049587 + .long 3216113899 + .long 3250051821 + .long 3216125992 + .long 367745354 + .long 3216138066 + .long 1898814972 + .long 3216150119 + .long 3831632753 + .long 3216162152 + .long 2153169263 + .long 3216174166 + .long 1438937368 + .long 3216186160 + .long 1968099508 + .long 3216198134 + .long 4018444062 + .long 3216210088 + .long 3571427061 + .long 3216222023 + .long 902115705 + .long 3216233939 + .long 579197221 + .long 3216245835 + .long 2875053055 + .long 3216257711 + .long 3765767585 + .long 3216269568 + .long 3521071355 + .long 3216281406 + .long 2409382351 + .long 3216293225 + .long 697814500 + .long 3216305025 + .long 2947153405 + .long 3216316805 + .long 831995525 + .long 3216328567 + .long 3205527541 + .long 3216340309 + .long 1739796226 + .long 3216352033 + .long 990487678 + .long 3216363738 + .long 1217066237 + .long 3216375424 + .long 2677749815 + .long 3216387091 + .long 1334550573 + .long 3216398740 + .long 1738184714 + .long 3216410370 + .long 4143178441 + .long 3216421981 + .long 212908442 + .long 3216433575 + .long 3084380679 + .long 3216445149 + .long 123597797 + .long 3216456706 + .long 170206973 + .long 3216468244 + .long 3472736381 + .long 3216479763 + .long 1688602678 + .long 3216491265 + .long 3653922191 + .long 3216502748 + .long 1023779914 + .long 3216514214 + .long 2631975180 + .long 3216525661 + .long 131290539 + .long 3216537091 + .long 2353237313 + .long 3216548502 + .long 948324365 + .long 3216559896 + .long 450836243 + .long 3216571272 + .long 1098971024 + .long 3216582630 + .long 3129814575 + .long 3216593970 + .long 2484380169 + .long 3216605293 + .long 3692517238 + .long 3216616598 + .long 2693048988 + .long 3216627886 + .long 4013648344 + .long 3216639156 + .long 3590975466 + .long 3216650409 + .long 1655586284 + .long 3216661645 + .long 2731939102 + .long 3216672863 + .long 2753499254 + .long 3216684064 + .long 1947647495 + .long 3216695248 + .long 540719148 + .long 3216706415 + .long 3052977802 + .long 3216717564 + .long 1118752477 + .long 3216728697 + .long 3551215000 + .long 3216739812 + .long 1982647887 + .long 3216750911 + .long 929221623 + .long 3216761993 + .long 611131637 + .long 3216773058 + .long 1247571711 + .long 3216784106 + .long 3056740043 + .long 3216795137 + .long 1960877976 + .long 3216806152 + .long 2471177857 + .long 3216817150 + .long 507919781 + .long 3216828132 + .long 580346667 + .long 3216839097 + .long 2901768203 + .long 3216850045 + .long 3389566649 + .long 3216860977 + .long 2255137180 + .long 3216871893 + .long 4003893595 + .long 3216882792 + .long 255404805 + .long 3216893676 + .long 4103138823 + .long 3216904542 + .long 2869828094 + .long 3216915393 + .long 1057147997 + .long 3216926228 + .long 3165853160 + .long 3216937046 + .long 810881035 + .long 3216947849 + .long 2786128388 + .long 3216958635 + .long 704718315 + .long 3216969406 + .long 3358743942 + .long 3216980160 + .long 2359535366 + .long 3216990899 + .long 2202435985 + .long 3217001622 + .long 3086938536 + .long 3217012329 + .long 916690285 + .long 3217023021 + .long 2239683676 + .long 3217032432 + .long 2690954374 + .long 3217037762 + .long 4057646264 + .long 3217043084 + .long 2142368519 + .long 3217048399 + .long 1337238495 + .long 3217053706 + .long 1738982326 + .long 3217059005 + .long 3443904681 + .long 3217064296 + .long 2252923910 + .long 3217069580 + .long 2556476367 + .long 3217074856 + .long 154649628 + .long 3217080125 + .long 3732021368 + .long 3217085385 + .long 497923366 + .long 3217090639 + .long 3431084121 + .long 3217095884 + .long 4034990935 + .long 3217101122 + .long 2402663310 + .long 3217106353 + .long 2921687961 + .long 3217111576 + .long 1389319216 + .long 3217116792 + .long 2192350480 + .long 3217122000 + .long 1127247302 + .long 3217127201 + .long 2580018809 + .long 3217132394 + .long 2346350743 + .long 3217137580 + .long 516509563 + .long 3217142759 + .long 1475344637 + .long 3217147930 + .long 1017388536 + .long 3217153094 + .long 3526728381 + .long 3217158250 + .long 502171511 + .long 3217163400 + .long 622018689 + .long 3217168542 + .long 3974262445 + .long 3217173676 + .long 2056589177 + .long 3217178804 + .long 3546185020 + .long 3217183924 + .long 4234966846 + .long 3217189037 + .long 4209453505 + .long 3217194143 + .long 3555800579 + .long 3217199242 + .long 2359802410 + .long 3217204334 + .long 706894115 + .long 3217209419 + .long 2977120889 + .long 3217214496 + .long 665270808 + .long 3217219567 + .long 2445647873 + .long 3217224630 + .long 4107302903 + .long 3217229686 + .long 1438937368 + .long 3217234736 + .long 3113807214 + .long 3217239778 + .long 624953709 + .long 3217244814 + .long 60313751 + .long 1069756916 + .long 2039124234 + .long 1069751894 + .long 3639817142 + .long 1069746879 + .long 485812347 + .long 1069741872 + .long 1085767695 + .long 1069736871 + .long 1063773387 + .long 1069731877 + .long 339219334 + .long 1069726890 + .long 3126793337 + .long 1069721909 + .long 756610100 + .long 1069716936 + .long 1738980508 + .long 1069711969 + .long 1699638774 + .long 1069707009 + .long 559609852 + .long 1069702056 + .long 2535207687 + .long 1069697109 + .long 3253131575 + .long 1069692169 + .long 2635366323 + .long 1069687236 + .long 604213229 + .long 1069682310 + .long 1377255668 + .long 1069677390 + .long 582455508 + .long 1069672477 + .long 2438020609 + .long 1069667570 + .long 2572533958 + .long 1069662670 + .long 909853896 + .long 1069657777 + .long 1669112469 + .long 1069652890 + .long 479811889 + .long 1069648010 + .long 1561692097 + .long 1069643136 + .long 544859953 + .long 1069638269 + .long 1649656813 + .long 1069633408 + .long 506787744 + .long 1069628554 + .long 1337189126 + .long 1069623706 + .long 4067125179 + .long 1069618864 + .long 33219107 + .long 1069614030 + .long 2047222611 + .long 1069609201 + .long 1446341380 + .long 1069604379 + .long 2452971930 + .long 1069599563 + .long 699863591 + .long 1069594754 + .long 409986179 + .long 1069589951 + .long 1511626604 + .long 1069585154 + .long 3933354665 + .long 1069580363 + .long 3309054273 + .long 1069575579 + .long 3862823860 + .long 1069570801 + .long 1229105731 + .long 1069566030 + .long 3927521083 + .long 1069561264 + .long 3298097489 + .long 1069556505 + .long 3566038531 + .long 1069551752 + .long 733771779 + .long 1069546492 + .long 147741522 + .long 1069537011 + .long 941119220 + .long 1069527542 + .long 2976542023 + .long 1069518085 + .long 1822213927 + .long 1069508641 + .long 1636804890 + .long 1069499209 + .long 2284546202 + .long 1069489789 + .long 3630195051 + .long 1069480381 + .long 1244064508 + .long 1069470986 + .long 3581890024 + .long 1069461602 + .long 1920055674 + .long 1069452231 + .long 420362572 + .long 1069442872 + .long 3245124339 + .long 1069433524 + .long 1672262586 + .long 1069424189 + .long 4160075380 + .long 1069414865 + .long 1987496281 + .long 1069405554 + .long 3613830132 + .long 1069396254 + .long 319012134 + .long 1069386967 + .long 563343667 + .long 1069377691 + .long 4217685989 + .long 1069368426 + .long 2563457725 + .long 1069359174 + .long 4062436141 + .long 1069349933 + .long 4291983603 + .long 1069340704 + .long 3124914285 + .long 1069331487 + .long 434524433 + .long 1069322282 + .long 389557226 + .long 1069313088 + .long 2864265763 + .long 1069303905 + .long 3438410662 + .long 1069294734 + .long 1987192267 + .long 1069285575 + .long 2681248272 + .long 1069276427 + .long 1101749478 + .long 1069267291 + .long 1420266631 + .long 1069258166 + .long 3513866211 + .long 1069249052 + .long 2965108111 + .long 1069239950 + .long 3946945232 + .long 1069230859 + .long 2042852013 + .long 1069221780 + .long 1426691339 + .long 1069212712 + .long 1977810406 + .long 1069203655 + .long 3576005764 + .long 1069194609 + .long 1806553800 + .long 1069185575 + .long 845110407 + .long 1069176552 + .long 572806897 + .long 1069167540 + .long 871215109 + .long 1069158539 + .long 1622345234 + .long 1069149549 + .long 2708643653 + .long 1069140570 + .long 4012990793 + .long 1069131602 + .long 1123731696 + .long 1069122646 + .long 2514543080 + .long 1069113700 + .long 3774627456 + .long 1069104765 + .long 493612919 + .long 1069095842 + .long 1146452959 + .long 1069086929 + .long 1323620609 + .long 1069078027 + .long 910975575 + .long 1069069136 + .long 4089762193 + .long 1069060255 + .long 2156738208 + .long 1069051386 + .long 3588943832 + .long 1069042527 + .long 3978928661 + .long 1069033679 + .long 3214618865 + .long 1069024842 + .long 1184347908 + .long 1069016016 + .long 2071821874 + .long 1069007200 + .long 1471215619 + .long 1068998395 + .long 3567040008 + .long 1068989600 + .long 3954270794 + .long 1068980816 + .long 2523248584 + .long 1068972043 + .long 3459676924 + .long 1068963280 + .long 2359718512 + .long 1068954528 + .long 3409862494 + .long 1068945786 + .long 2207053396 + .long 1068937055 + .long 2938558446 + .long 1068928334 + .long 1202096535 + .long 1068919624 + .long 1185705549 + .long 1068910924 + .long 2782838657 + .long 1068902234 + .long 1592362481 + .long 1068893555 + .long 1803457173 + .long 1068884886 + .long 3310712729 + .long 1068876227 + .long 1714127196 + .long 1068867579 + .long 1204006779 + .long 1068858941 + .long 1676062187 + .long 1068850313 + .long 3026374166 + .long 1068841695 + .long 856424459 + .long 1068833088 + .long 3652963247 + .long 1068824490 + .long 2723236352 + .long 1068815903 + .long 2259754591 + .long 1068807326 + .long 2160422882 + .long 1068798759 + .long 2323505847 + .long 1068790202 + .long 2647626118 + .long 1068781655 + .long 3031762665 + .long 1068773118 + .long 3375249122 + .long 1068764591 + .long 3577772136 + .long 1068756074 + .long 3539369713 + .long 1068747567 + .long 3160429578 + .long 1068739070 + .long 2341687551 + .long 1068730583 + .long 984225923 + .long 1068722106 + .long 3284439142 + .long 1068713638 + .long 554163028 + .long 1068705181 + .long 1285444256 + .long 1068696733 + .long 1085767695 + .long 1068688295 + .long 4152891319 + .long 1068679866 + .long 1800008162 + .long 1068671448 + .long 2520515836 + .long 1068663039 + .long 1923243906 + .long 1068654640 + .long 4207288842 + .long 1068646250 + .long 687176001 + .long 1068637871 + .long 4152596484 + .long 1068629500 + .long 1623765359 + .long 1068621140 + .long 1596060423 + .long 1068612789 + .long 3975249632 + .long 1068604447 + .long 77489616 + .long 1068596116 + .long 2694095274 + .long 1068587793 + .long 3141865345 + .long 1068579480 + .long 1327852022 + .long 1068571177 + .long 1454392201 + .long 1068562883 + .long 3429171450 + .long 1068554598 + .long 2865222567 + .long 1068546323 + .long 3965826047 + .long 1068538057 + .long 2344639476 + .long 1068529801 + .long 2205565304 + .long 1068521554 + .long 3457847553 + .long 1068513316 + .long 1716070423 + .long 1068505088 + .long 2370117590 + .long 1068494794 + .long 3549949915 + .long 1068478374 + .long 2497601776 + .long 1068461973 + .long 3329575662 + .long 1068445590 + .long 1573040697 + .long 1068429226 + .long 1345699131 + .long 1068412880 + .long 2470881766 + .long 1068396552 + .long 477545290 + .long 1068380243 + .long 3780138808 + .long 1068363951 + .long 3613830132 + .long 1068347678 + .long 4099274231 + .long 1068331423 + .long 767774141 + .long 1068315187 + .long 2036114853 + .long 1068298968 + .long 3436756955 + .long 1068282767 + .long 502735958 + .long 1068266585 + .long 1652561629 + .long 1068250420 + .long 2420411682 + .long 1068234273 + .long 2635998437 + .long 1068218144 + .long 2129599017 + .long 1068202033 + .long 732052851 + .long 1068185940 + .long 2569726489 + .long 1068169864 + .long 3179609248 + .long 1068153806 + .long 2394212644 + .long 1068137766 + .long 46600658 + .long 1068121744 + .long 265354603 + .long 1068105739 + .long 2884636119 + .long 1068089751 + .long 3444184771 + .long 1068073781 + .long 1779250256 + .long 1068057829 + .long 2020590027 + .long 1068041894 + .long 4004532340 + .long 1068025976 + .long 3272973907 + .long 1068010076 + .long 3958279445 + .long 1067994193 + .long 1603410172 + .long 1067978328 + .long 341790679 + .long 1067962480 + .long 12404745 + .long 1067946649 + .long 454760348 + .long 1067930835 + .long 1508887391 + .long 1067915038 + .long 3015335440 + .long 1067899258 + .long 520204185 + .long 1067883496 + .long 2455010382 + .long 1067867750 + .long 71914560 + .long 1067852022 + .long 1803457173 + .long 1067836310 + .long 3197785334 + .long 1067820615 + .long 4098519806 + .long 1067804937 + .long 54818232 + .long 1067789277 + .long 3796209456 + .long 1067773632 + .long 2282918403 + .long 1067758005 + .long 3950504196 + .long 1067742394 + .long 55152364 + .long 1067726801 + .long 3328378382 + .long 1067711223 + .long 732385311 + .long 1067695663 + .long 704701956 + .long 1067680119 + .long 3093409710 + .long 1067664591 + .long 3452107773 + .long 1067649080 + .long 1629845684 + .long 1067633586 + .long 1771121268 + .long 1067618108 + .long 3725944001 + .long 1067602646 + .long 3049832979 + .long 1067587201 + .long 3888716792 + .long 1067571772 + .long 1799062323 + .long 1067556360 + .long 927741940 + .long 1067540964 + .long 1127129614 + .long 1067525584 + .long 2250066244 + .long 1067510220 + .long 4149857685 + .long 1067494872 + .long 2385305499 + .long 1067479541 + .long 1105606892 + .long 1067464226 + .long 330901792 + .long 1067447486 + .long 3134934760 + .long 1067416919 + .long 1744581096 + .long 1067386385 + .long 166917835 + .long 1067355883 + .long 2409924962 + .long 1067325412 + .long 3892547049 + .long 1067294973 + .long 34624089 + .long 1067264567 + .long 3436756955 + .long 1067234191 + .long 930630721 + .long 1067203848 + .long 823651223 + .long 1067173536 + .long 2834170318 + .long 1067143255 + .long 2386449519 + .long 1067113006 + .long 3495558248 + .long 1067082788 + .long 1587501032 + .long 1067052602 + .long 679083091 + .long 1067022447 + .long 493004867 + .long 1066992323 + .long 752825758 + .long 1066962230 + .long 1182960573 + .long 1066932168 + .long 1508676010 + .long 1066902137 + .long 1456087143 + .long 1066872137 + .long 752153937 + .long 1066842168 + .long 3419645073 + .long 1066812229 + .long 597265304 + .long 1066782322 + .long 604423098 + .long 1066752445 + .long 3171423441 + .long 1066722598 + .long 3734431730 + .long 1066692782 + .long 2025404984 + .long 1066662997 + .long 2072088478 + .long 1066633242 + .long 3608077800 + .long 1066603517 + .long 2072815517 + .long 1066573823 + .long 1496489755 + .long 1066544159 + .long 1615129006 + .long 1066514525 + .long 2165566144 + .long 1066484921 + .long 2885435163 + .long 1066455347 + .long 3513167923 + .long 1066425803 + .long 3281014557 + .long 1066390787 + .long 2604876893 + .long 1066331819 + .long 184567847 + .long 1066272911 + .long 4093204381 + .long 1066214061 + .long 930630721 + .long 1066155272 + .long 3068052312 + .long 1066096541 + .long 1403389294 + .long 1066037870 + .long 4015975920 + .long 1065979257 + .long 1806815988 + .long 1065920704 + .long 2858315029 + .long 1065862209 + .long 2369503088 + .long 1065803773 + .long 4130865093 + .long 1065745395 + .long 3344465584 + .long 1065687076 + .long 3803811842 + .long 1065628815 + .long 713978687 + .long 1065570613 + .long 2166438958 + .long 1065512468 + .long 3369253777 + .long 1065454381 + .long 3826935798 + .long 1065396352 + .long 1795984718 + .long 1065323547 + .long 1064675693 + .long 1065207720 + .long 182837332 + .long 1065092008 + .long 2466218622 + .long 1064976410 + .long 2643543973 + .long 1064860927 + .long 4036370876 + .long 1064745558 + .long 1379209261 + .long 1064630304 + .long 2294346567 + .long 1064515163 + .long 1522032624 + .long 1064400136 + .long 495642370 + .long 1064265805 + .long 3615182787 + .long 1064036203 + .long 1900236729 + .long 1063806828 + .long 2033862474 + .long 1063577678 + .long 2114800432 + .long 1063348753 + .long 494771388 + .long 1062984042 + .long 1967954106 + .long 1062527089 + .long 1170198565 + .long 1061933680 + .long 417502738 + .long 1060884213 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 368569247 + .long 3223701786 + .long 368569247 + .long 3223701786 + .long 368569247 + .long 3223701786 + .long 368569247 + .long 3223701786 + .long 1671522011 + .long 1075227560 + .long 1671522011 + .long 1075227560 + .long 1671522011 + .long 1075227560 + .long 1671522011 + .long 1075227560 + .long 1691548315 + .long 3221787401 + .long 1691548315 + .long 3221787401 + .long 1691548315 + .long 3221787401 + .long 1691548315 + .long 3221787401 + .long 3700771192 + .long 1073506818 + .long 3700771192 + .long 1073506818 + .long 3700771192 + .long 1073506818 + .long 3700771192 + .long 1073506818 + .long 3698831637 + .long 3220339442 + .long 3698831637 + .long 3220339442 + .long 3698831637 + .long 3220339442 + .long 3698831637 + .long 3220339442 + .long 3207479564 + .long 1062894188 + .long 3207479564 + .long 1062894188 + .long 3207479564 + .long 1062894188 + .long 3207479564 + .long 1062894188 + .long 589282582 + .long 1068907621 + .long 589282582 + .long 1068907621 + .long 589282582 + .long 1068907621 + .long 589282582 + .long 1068907621 + .long 1325131787 + .long 3216755581 + .long 1325131787 + .long 3216755581 + .long 1325131787 + .long 3216755581 + .long 1325131787 + .long 3216755581 + .long 1668232222 + .long 1069713319 + .long 1668232222 + .long 1069713319 + .long 1668232222 + .long 1069713319 + .long 1668232222 + .long 1069713319 + .long 354868790 + .long 3217804155 + .long 354868790 + .long 3217804155 + .long 354868790 + .long 3217804155 + .long 354868790 + .long 3217804155 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071366144 + .long 0 + .long 1071366144 + .long 0 + .long 1071366144 + .long 0 + .long 1071366144 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1352597504 + .long 1070810131 + .long 1352597504 + .long 1070810131 + .long 1352597504 + .long 1070810131 + .long 1352597504 + .long 1070810131 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3296460800 + .long 1031700412 + .long 3296460800 + .long 1031700412 + .long 3296460800 + .long 1031700412 + .long 3296460800 + .long 1031700412 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dlog10_data_internal,@object + .size __svml_dlog10_data_internal,9728 + .align 32 + +__dlog10_la_CoutTab: + .long 0 + .long 1071366144 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1071337728 + .long 184549376 + .long 1065092008 + .long 2099961998 + .long 3178897324 + .long 0 + .long 1071309312 + .long 931135488 + .long 1066155272 + .long 2365712557 + .long 3178155773 + .long 0 + .long 1071280896 + .long 603979776 + .long 1066752445 + .long 709057215 + .long 1031474920 + .long 0 + .long 1071252480 + .long 3437232128 + .long 1067234191 + .long 1515412199 + .long 3179085970 + .long 0 + .long 1071238272 + .long 1105723392 + .long 1067464226 + .long 153915826 + .long 3178000698 + .long 0 + .long 1071209856 + .long 3328442368 + .long 1067711223 + .long 3899912278 + .long 3177135692 + .long 0 + .long 1071181440 + .long 341835776 + .long 1067962480 + .long 2509208190 + .long 3176531222 + .long 0 + .long 1071167232 + .long 2884632576 + .long 1068089751 + .long 1030636902 + .long 1025224143 + .long 0 + .long 1071138816 + .long 3613917184 + .long 1068347678 + .long 3527163461 + .long 3177529532 + .long 0 + .long 1071124608 + .long 3549954048 + .long 1068478374 + .long 3498894081 + .long 3173000425 + .long 0 + .long 1071096192 + .long 1623785472 + .long 1068621140 + .long 2889825554 + .long 3176375375 + .long 0 + .long 1071081984 + .long 1085800448 + .long 1068688295 + .long 4015256301 + .long 3177184346 + .long 0 + .long 1071053568 + .long 3652976640 + .long 1068824490 + .long 3600693529 + .long 3175753877 + .long 0 + .long 1071039360 + .long 1592393728 + .long 1068893555 + .long 231073830 + .long 3177087939 + .long 0 + .long 1071025152 + .long 3459645440 + .long 1068963280 + .long 1740576090 + .long 1029619435 + .long 0 + .long 1070996736 + .long 3774611456 + .long 1069104765 + .long 3858552785 + .long 1028603845 + .long 0 + .long 1070982528 + .long 845086720 + .long 1069176552 + .long 3138879731 + .long 1029120443 + .long 0 + .long 1070968320 + .long 3513843712 + .long 1069249052 + .long 2107125367 + .long 1029044389 + .long 0 + .long 1070954112 + .long 434503680 + .long 1069322282 + .long 3827602229 + .long 1028932700 + .long 0 + .long 1070939904 + .long 3613851648 + .long 1069396254 + .long 1223751955 + .long 3176465139 + .long 0 + .long 1070911488 + .long 733741056 + .long 1069546492 + .long 1625232067 + .long 1029570781 + .long 0 + .long 1070897280 + .long 1511620608 + .long 1069585154 + .long 3044605139 + .long 1028090775 + .long 0 + .long 1070883072 + .long 1337196544 + .long 1069623706 + .long 2602639001 + .long 3175938675 + .long 0 + .long 1070868864 + .long 2572533760 + .long 1069662670 + .long 3067107955 + .long 1022933137 + .long 0 + .long 1070854656 + .long 559611904 + .long 1069702056 + .long 764145786 + .long 3174041535 + .long 0 + .long 1070840448 + .long 485818368 + .long 1069741872 + .long 2037567072 + .long 3175580956 + .long 0 + .long 1070826240 + .long 259604480 + .long 1069782128 + .long 4012068429 + .long 1027865895 + .long 0 + .long 1070812032 + .long 3454042112 + .long 1069822833 + .long 2867680007 + .long 3174202478 + .long 0 + .long 1070797824 + .long 2188754944 + .long 1069863999 + .long 2538655286 + .long 3175840981 + .long 0 + .long 1070783616 + .long 2965241856 + .long 1069905635 + .long 1338936972 + .long 3176093950 + .long 0 + .long 1070769408 + .long 966279168 + .long 1069947753 + .long 1774547674 + .long 3175051484 + .long 0 + .long 1070755200 + .long 1604042752 + .long 1069990363 + .long 2557470738 + .long 3174667448 + .long 0 + .long 1070740992 + .long 3417833472 + .long 1070033477 + .long 2268255117 + .long 3175678264 + .long 0 + .long 1070740992 + .long 3417833472 + .long 1070033477 + .long 2268255117 + .long 3175678264 + .long 0 + .long 1070726784 + .long 2451292160 + .long 1070077108 + .long 3757728941 + .long 1027943275 + .long 0 + .long 1070712576 + .long 929644544 + .long 1070121268 + .long 899045708 + .long 1027944939 + .long 0 + .long 1070698368 + .long 3057254400 + .long 1070165969 + .long 3880649376 + .long 3172972504 + .long 0 + .long 1070684160 + .long 2231091200 + .long 1070211226 + .long 521319256 + .long 1027600177 + .long 0 + .long 1070684160 + .long 2231091200 + .long 1070211226 + .long 521319256 + .long 1027600177 + .long 0 + .long 1070669952 + .long 2620162048 + .long 1070257052 + .long 1385613369 + .long 3176104036 + .long 0 + .long 1070655744 + .long 2096726016 + .long 1070303462 + .long 3138305819 + .long 3173646777 + .long 0 + .long 1070641536 + .long 944717824 + .long 1070350471 + .long 1065120110 + .long 1027539054 + .long 0 + .long 1070641536 + .long 944717824 + .long 1070350471 + .long 1065120110 + .long 1027539054 + .long 0 + .long 1070627328 + .long 1985789952 + .long 1070398094 + .long 3635943864 + .long 3173136490 + .long 0 + .long 1070613120 + .long 2123825152 + .long 1070446348 + .long 1125219725 + .long 3175615738 + .long 0 + .long 1070598912 + .long 1078378496 + .long 1070495250 + .long 603852726 + .long 3174570526 + .long 0 + .long 1070598912 + .long 1078378496 + .long 1070495250 + .long 603852726 + .long 3174570526 + .long 0 + .long 1070573312 + .long 1537933312 + .long 1070544817 + .long 998069198 + .long 1026662908 + .long 0 + .long 1070544896 + .long 733773824 + .long 1070595068 + .long 4061058002 + .long 3174036009 + .long 0 + .long 1070544896 + .long 733773824 + .long 1070595068 + .long 4061058002 + .long 3174036009 + .long 0 + .long 1070516480 + .long 3897544704 + .long 1070621058 + .long 951856294 + .long 1026731877 + .long 0 + .long 1070516480 + .long 3897544704 + .long 1070621058 + .long 951856294 + .long 1026731877 + .long 0 + .long 1070488064 + .long 493535232 + .long 1070646897 + .long 3852369308 + .long 3173264746 + .long 0 + .long 1070459648 + .long 463249408 + .long 1070673107 + .long 2853152111 + .long 3174564937 + .long 0 + .long 1070459648 + .long 463249408 + .long 1070673107 + .long 2853152111 + .long 3174564937 + .long 0 + .long 1070431232 + .long 3186585600 + .long 1070699699 + .long 1874718356 + .long 3174139933 + .long 0 + .long 1070431232 + .long 3186585600 + .long 1070699699 + .long 1874718356 + .long 3174139933 + .long 0 + .long 1070402816 + .long 1525858304 + .long 1070726686 + .long 3039843523 + .long 1024724665 + .long 0 + .long 1070402816 + .long 1525858304 + .long 1070726686 + .long 3039843523 + .long 1024724665 + .long 0 + .long 1070374400 + .long 3425300480 + .long 1070754078 + .long 1303046649 + .long 1022401701 + .long 0 + .long 1070374400 + .long 3425300480 + .long 1070754078 + .long 1303046649 + .long 1022401701 + .long 0 + .long 1070345984 + .long 1980465152 + .long 1070781889 + .long 3188656319 + .long 1027271390 + .long 0 + .long 1070345984 + .long 1980465152 + .long 1070781889 + .long 3188656319 + .long 1027271390 + .long 0 + .long 1070317568 + .long 1352630272 + .long 1070810131 + .long 3090895658 + .long 3174564915 + .long 1352630272 + .long 1070810131 + .long 3090895658 + .long 3174564915 + .long 64 + .long 1120927744 + .long 0 + .long 1096810496 + .long 0 + .long 1064828928 + .long 0 + .long 1135607808 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1071366144 + .long 3207479559 + .long 1062894188 + .long 3698831637 + .long 3220339442 + .long 3700832817 + .long 1073506818 + .long 1691624569 + .long 3221787401 + .long 2065628764 + .long 1075227551 + .long 1770847080 + .long 3223701774 + .long 3786517112 + .long 1077250450 + .long 1316351650 + .long 3225793313 + .type __dlog10_la_CoutTab,@object + .size __dlog10_la_CoutTab,1696 + .align 16 + +.FLT_88: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_88,@object + .size .FLT_88,16 + .align 8 + +.FLT_89: + .long 0x00000000,0x3ff00000 + .type .FLT_89,@object + .size .FLT_89,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core-avx2.S new file mode 100644 index 0000000000..3432e7cffe --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized log10, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_log10 _ZGVeN8v_log10_avx2_wrapper +#include "../svml_d_log108_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core.c new file mode 100644 index 0000000000..273a0d4739 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized log10, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_log10 +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_log10, __GI__ZGVeN8v_log10, __redirect__ZGVeN8v_log10) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core_avx512.S new file mode 100644 index 0000000000..0ca8772fe6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core_avx512.S @@ -0,0 +1,1081 @@ +/* Function log vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R) + * log10(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_log10_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %zmm7 + vgetmantpd $8, {sae}, %zmm7, %zmm6 + vmovups 128+__svml_dlog10_data_internal_avx512(%rip), %zmm3 + vmovups 512+__svml_dlog10_data_internal_avx512(%rip), %zmm12 + vmovups 640+__svml_dlog10_data_internal_avx512(%rip), %zmm13 + +/* Start polynomial evaluation */ + vmovups 256+__svml_dlog10_data_internal_avx512(%rip), %zmm10 + vmovups 320+__svml_dlog10_data_internal_avx512(%rip), %zmm1 + vmovups 384+__svml_dlog10_data_internal_avx512(%rip), %zmm11 + vmovups 448+__svml_dlog10_data_internal_avx512(%rip), %zmm14 + +/* Prepare exponent correction: DblRcp<0.75? */ + vmovups 192+__svml_dlog10_data_internal_avx512(%rip), %zmm2 + +/* Table lookup */ + vmovups __svml_dlog10_data_internal_avx512(%rip), %zmm5 + +/* GetExp(x) */ + vgetexppd {sae}, %zmm7, %zmm0 + +/* DblRcp ~ 1/Mantissa */ + vrcp14pd %zmm6, %zmm8 + +/* x<=0? */ + vfpclasspd $94, %zmm7, %k0 + +/* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */ + vrndscalepd $88, {sae}, %zmm8, %zmm4 + vmovups 576+__svml_dlog10_data_internal_avx512(%rip), %zmm8 + kmovw %k0, %edx + +/* Reduced argument: R = DblRcp*Mantissa - 1 */ + vfmsub213pd {rn-sae}, %zmm3, %zmm4, %zmm6 + vcmppd $17, {sae}, %zmm2, %zmm4, %k1 + vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm8 + vmovups 704+__svml_dlog10_data_internal_avx512(%rip), %zmm12 + vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm1 + vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14 + vmovups 768+__svml_dlog10_data_internal_avx512(%rip), %zmm2 + +/* R^2 */ + vmulpd {rn-sae}, %zmm6, %zmm6, %zmm15 + vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12 + +/* Prepare table index */ + vpsrlq $48, %zmm4, %zmm9 + +/* add 1 to Expon if DblRcp<0.75 */ + vaddpd {rn-sae}, %zmm3, %zmm0, %zmm0{%k1} + vmulpd {rn-sae}, %zmm15, %zmm15, %zmm13 + vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm1 + vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm8 + vpermt2pd 64+__svml_dlog10_data_internal_avx512(%rip), %zmm9, %zmm5 + +/* polynomial */ + vfmadd213pd {rn-sae}, %zmm8, %zmm13, %zmm1 + vfmadd213pd {rn-sae}, %zmm2, %zmm6, %zmm1 + vfmadd213pd {rn-sae}, %zmm5, %zmm1, %zmm6 + vmovups 832+__svml_dlog10_data_internal_avx512(%rip), %zmm1 + vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + vmovups %zmm7, 64(%rsp) + vmovups %zmm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + kmovw %k4, 24(%rsp) + kmovw %k5, 16(%rsp) + kmovw %k6, 8(%rsp) + kmovw %k7, (%rsp) + movq %rsi, 40(%rsp) + movq %rdi, 32(%rsp) + movq %r12, 56(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 48(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + kmovw 24(%rsp), %k4 + cfi_restore(122) + kmovw 16(%rsp), %k5 + cfi_restore(123) + kmovw 8(%rsp), %k6 + cfi_restore(124) + kmovw (%rsp), %k7 + cfi_restore(125) + vmovups 128(%rsp), %zmm0 + movq 40(%rsp), %rsi + cfi_restore(4) + movq 32(%rsp), %rdi + cfi_restore(5) + movq 56(%rsp), %r12 + cfi_restore(12) + movq 48(%rsp), %r13 + cfi_restore(13) + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dlog10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN8v_log10_skx) + + .align 16,0x90 + +__svml_dlog10_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 6(%rdi), %edx + andl $32752, %edx + cmpl $32752, %edx + je .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 .FLT_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 .FLT_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 + + cfi_endproc + + .type __svml_dlog10_cout_rare_internal,@function + .size __svml_dlog10_cout_rare_internal,.-__svml_dlog10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dlog10_data_internal_avx512: + .long 0 + .long 0 + .long 721479184 + .long 3214603769 + .long 3590975466 + .long 3215601833 + .long 1438937368 + .long 3216186160 + .long 948324365 + .long 3216559896 + .long 2869828094 + .long 3216915393 + .long 516509563 + .long 3217142759 + .long 2145647618 + .long 3217304702 + .long 733771779 + .long 1069546492 + .long 3513866211 + .long 1069249052 + .long 3459676924 + .long 1068963280 + .long 1085767695 + .long 1068688295 + .long 3613830132 + .long 1068347678 + .long 1803457173 + .long 1067836310 + .long 3436756955 + .long 1067234191 + .long 930630721 + .long 1066155272 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 675808112 + .long 1068024536 + .long 675808112 + .long 1068024536 + .long 675808112 + .long 1068024536 + .long 675808112 + .long 1068024536 + .long 675808112 + .long 1068024536 + .long 675808112 + .long 1068024536 + .long 675808112 + .long 1068024536 + .long 675808112 + .long 1068024536 + .long 2516752404 + .long 3215710221 + .long 2516752404 + .long 3215710221 + .long 2516752404 + .long 3215710221 + .long 2516752404 + .long 3215710221 + .long 2516752404 + .long 3215710221 + .long 2516752404 + .long 3215710221 + .long 2516752404 + .long 3215710221 + .long 2516752404 + .long 3215710221 + .long 4085995682 + .long 1068483574 + .long 4085995682 + .long 1068483574 + .long 4085995682 + .long 1068483574 + .long 4085995682 + .long 1068483574 + .long 4085995682 + .long 1068483574 + .long 4085995682 + .long 1068483574 + .long 4085995682 + .long 1068483574 + .long 4085995682 + .long 1068483574 + .long 879025280 + .long 3216148390 + .long 879025280 + .long 3216148390 + .long 879025280 + .long 3216148390 + .long 879025280 + .long 3216148390 + .long 879025280 + .long 3216148390 + .long 879025280 + .long 3216148390 + .long 879025280 + .long 3216148390 + .long 879025280 + .long 3216148390 + .long 2004821977 + .long 1068907618 + .long 2004821977 + .long 1068907618 + .long 2004821977 + .long 1068907618 + .long 2004821977 + .long 1068907618 + .long 2004821977 + .long 1068907618 + .long 2004821977 + .long 1068907618 + .long 2004821977 + .long 1068907618 + .long 2004821977 + .long 1068907618 + .long 356255395 + .long 3216755579 + .long 356255395 + .long 3216755579 + .long 356255395 + .long 3216755579 + .long 356255395 + .long 3216755579 + .long 356255395 + .long 3216755579 + .long 356255395 + .long 3216755579 + .long 356255395 + .long 3216755579 + .long 356255395 + .long 3216755579 + .long 1668235916 + .long 1069713319 + .long 1668235916 + .long 1069713319 + .long 1668235916 + .long 1069713319 + .long 1668235916 + .long 1069713319 + .long 1668235916 + .long 1069713319 + .long 1668235916 + .long 1069713319 + .long 1668235916 + .long 1069713319 + .long 1668235916 + .long 1069713319 + .long 354870491 + .long 3217804155 + .long 354870491 + .long 3217804155 + .long 354870491 + .long 3217804155 + .long 354870491 + .long 3217804155 + .long 354870491 + .long 3217804155 + .long 354870491 + .long 3217804155 + .long 354870491 + .long 3217804155 + .long 354870491 + .long 3217804155 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .long 354870542 + .long 1071369083 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .long 1352628735 + .long 1070810131 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .type __svml_dlog10_data_internal_avx512,@object + .size __svml_dlog10_data_internal_avx512,1152 + .align 32 + +__dlog10_la_CoutTab: + .long 0 + .long 1071366144 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1071337728 + .long 184549376 + .long 1065092008 + .long 2099961998 + .long 3178897324 + .long 0 + .long 1071309312 + .long 931135488 + .long 1066155272 + .long 2365712557 + .long 3178155773 + .long 0 + .long 1071280896 + .long 603979776 + .long 1066752445 + .long 709057215 + .long 1031474920 + .long 0 + .long 1071252480 + .long 3437232128 + .long 1067234191 + .long 1515412199 + .long 3179085970 + .long 0 + .long 1071238272 + .long 1105723392 + .long 1067464226 + .long 153915826 + .long 3178000698 + .long 0 + .long 1071209856 + .long 3328442368 + .long 1067711223 + .long 3899912278 + .long 3177135692 + .long 0 + .long 1071181440 + .long 341835776 + .long 1067962480 + .long 2509208190 + .long 3176531222 + .long 0 + .long 1071167232 + .long 2884632576 + .long 1068089751 + .long 1030636902 + .long 1025224143 + .long 0 + .long 1071138816 + .long 3613917184 + .long 1068347678 + .long 3527163461 + .long 3177529532 + .long 0 + .long 1071124608 + .long 3549954048 + .long 1068478374 + .long 3498894081 + .long 3173000425 + .long 0 + .long 1071096192 + .long 1623785472 + .long 1068621140 + .long 2889825554 + .long 3176375375 + .long 0 + .long 1071081984 + .long 1085800448 + .long 1068688295 + .long 4015256301 + .long 3177184346 + .long 0 + .long 1071053568 + .long 3652976640 + .long 1068824490 + .long 3600693529 + .long 3175753877 + .long 0 + .long 1071039360 + .long 1592393728 + .long 1068893555 + .long 231073830 + .long 3177087939 + .long 0 + .long 1071025152 + .long 3459645440 + .long 1068963280 + .long 1740576090 + .long 1029619435 + .long 0 + .long 1070996736 + .long 3774611456 + .long 1069104765 + .long 3858552785 + .long 1028603845 + .long 0 + .long 1070982528 + .long 845086720 + .long 1069176552 + .long 3138879731 + .long 1029120443 + .long 0 + .long 1070968320 + .long 3513843712 + .long 1069249052 + .long 2107125367 + .long 1029044389 + .long 0 + .long 1070954112 + .long 434503680 + .long 1069322282 + .long 3827602229 + .long 1028932700 + .long 0 + .long 1070939904 + .long 3613851648 + .long 1069396254 + .long 1223751955 + .long 3176465139 + .long 0 + .long 1070911488 + .long 733741056 + .long 1069546492 + .long 1625232067 + .long 1029570781 + .long 0 + .long 1070897280 + .long 1511620608 + .long 1069585154 + .long 3044605139 + .long 1028090775 + .long 0 + .long 1070883072 + .long 1337196544 + .long 1069623706 + .long 2602639001 + .long 3175938675 + .long 0 + .long 1070868864 + .long 2572533760 + .long 1069662670 + .long 3067107955 + .long 1022933137 + .long 0 + .long 1070854656 + .long 559611904 + .long 1069702056 + .long 764145786 + .long 3174041535 + .long 0 + .long 1070840448 + .long 485818368 + .long 1069741872 + .long 2037567072 + .long 3175580956 + .long 0 + .long 1070826240 + .long 259604480 + .long 1069782128 + .long 4012068429 + .long 1027865895 + .long 0 + .long 1070812032 + .long 3454042112 + .long 1069822833 + .long 2867680007 + .long 3174202478 + .long 0 + .long 1070797824 + .long 2188754944 + .long 1069863999 + .long 2538655286 + .long 3175840981 + .long 0 + .long 1070783616 + .long 2965241856 + .long 1069905635 + .long 1338936972 + .long 3176093950 + .long 0 + .long 1070769408 + .long 966279168 + .long 1069947753 + .long 1774547674 + .long 3175051484 + .long 0 + .long 1070755200 + .long 1604042752 + .long 1069990363 + .long 2557470738 + .long 3174667448 + .long 0 + .long 1070740992 + .long 3417833472 + .long 1070033477 + .long 2268255117 + .long 3175678264 + .long 0 + .long 1070740992 + .long 3417833472 + .long 1070033477 + .long 2268255117 + .long 3175678264 + .long 0 + .long 1070726784 + .long 2451292160 + .long 1070077108 + .long 3757728941 + .long 1027943275 + .long 0 + .long 1070712576 + .long 929644544 + .long 1070121268 + .long 899045708 + .long 1027944939 + .long 0 + .long 1070698368 + .long 3057254400 + .long 1070165969 + .long 3880649376 + .long 3172972504 + .long 0 + .long 1070684160 + .long 2231091200 + .long 1070211226 + .long 521319256 + .long 1027600177 + .long 0 + .long 1070684160 + .long 2231091200 + .long 1070211226 + .long 521319256 + .long 1027600177 + .long 0 + .long 1070669952 + .long 2620162048 + .long 1070257052 + .long 1385613369 + .long 3176104036 + .long 0 + .long 1070655744 + .long 2096726016 + .long 1070303462 + .long 3138305819 + .long 3173646777 + .long 0 + .long 1070641536 + .long 944717824 + .long 1070350471 + .long 1065120110 + .long 1027539054 + .long 0 + .long 1070641536 + .long 944717824 + .long 1070350471 + .long 1065120110 + .long 1027539054 + .long 0 + .long 1070627328 + .long 1985789952 + .long 1070398094 + .long 3635943864 + .long 3173136490 + .long 0 + .long 1070613120 + .long 2123825152 + .long 1070446348 + .long 1125219725 + .long 3175615738 + .long 0 + .long 1070598912 + .long 1078378496 + .long 1070495250 + .long 603852726 + .long 3174570526 + .long 0 + .long 1070598912 + .long 1078378496 + .long 1070495250 + .long 603852726 + .long 3174570526 + .long 0 + .long 1070573312 + .long 1537933312 + .long 1070544817 + .long 998069198 + .long 1026662908 + .long 0 + .long 1070544896 + .long 733773824 + .long 1070595068 + .long 4061058002 + .long 3174036009 + .long 0 + .long 1070544896 + .long 733773824 + .long 1070595068 + .long 4061058002 + .long 3174036009 + .long 0 + .long 1070516480 + .long 3897544704 + .long 1070621058 + .long 951856294 + .long 1026731877 + .long 0 + .long 1070516480 + .long 3897544704 + .long 1070621058 + .long 951856294 + .long 1026731877 + .long 0 + .long 1070488064 + .long 493535232 + .long 1070646897 + .long 3852369308 + .long 3173264746 + .long 0 + .long 1070459648 + .long 463249408 + .long 1070673107 + .long 2853152111 + .long 3174564937 + .long 0 + .long 1070459648 + .long 463249408 + .long 1070673107 + .long 2853152111 + .long 3174564937 + .long 0 + .long 1070431232 + .long 3186585600 + .long 1070699699 + .long 1874718356 + .long 3174139933 + .long 0 + .long 1070431232 + .long 3186585600 + .long 1070699699 + .long 1874718356 + .long 3174139933 + .long 0 + .long 1070402816 + .long 1525858304 + .long 1070726686 + .long 3039843523 + .long 1024724665 + .long 0 + .long 1070402816 + .long 1525858304 + .long 1070726686 + .long 3039843523 + .long 1024724665 + .long 0 + .long 1070374400 + .long 3425300480 + .long 1070754078 + .long 1303046649 + .long 1022401701 + .long 0 + .long 1070374400 + .long 3425300480 + .long 1070754078 + .long 1303046649 + .long 1022401701 + .long 0 + .long 1070345984 + .long 1980465152 + .long 1070781889 + .long 3188656319 + .long 1027271390 + .long 0 + .long 1070345984 + .long 1980465152 + .long 1070781889 + .long 3188656319 + .long 1027271390 + .long 0 + .long 1070317568 + .long 1352630272 + .long 1070810131 + .long 3090895658 + .long 3174564915 + .long 1352630272 + .long 1070810131 + .long 3090895658 + .long 3174564915 + .long 64 + .long 1120927744 + .long 0 + .long 1096810496 + .long 0 + .long 1064828928 + .long 0 + .long 1135607808 + .long 0 + .long 0 + .long 0 + .long 1072693248 + .long 0 + .long 1071366144 + .long 3207479559 + .long 1062894188 + .long 3698831637 + .long 3220339442 + .long 3700832817 + .long 1073506818 + .long 1691624569 + .long 3221787401 + .long 2065628764 + .long 1075227551 + .long 1770847080 + .long 3223701774 + .long 3786517112 + .long 1077250450 + .long 1316351650 + .long 3225793313 + .type __dlog10_la_CoutTab,@object + .size __dlog10_la_CoutTab,1696 + .align 16 + +.FLT_88: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_88,@object + .size .FLT_88,16 + .align 8 + +.FLT_89: + .long 0x00000000,0x3ff00000 + .type .FLT_89,@object + .size .FLT_89,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core-avx2.S new file mode 100644 index 0000000000..e389e2eca1 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized log10f. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_log10f _ZGVeN16v_log10f_avx2_wrapper +#include "../svml_s_log10f16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core.c new file mode 100644 index 0000000000..274fc7e0ff --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized log10f, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_log10f +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_log10f, __GI__ZGVeN16v_log10f, + __redirect__ZGVeN16v_log10f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core_avx512.S new file mode 100644 index 0000000000..ef0852da75 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core_avx512.S @@ -0,0 +1,726 @@ +/* Function logf16 vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R) + * log10(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_log10f_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vgetmantps $11, {sae}, %zmm0, %zmm3 + vmovups __svml_slog10_data_internal_avx512(%rip), %zmm1 + vgetexpps {sae}, %zmm0, %zmm5 + vmovups 320+__svml_slog10_data_internal_avx512(%rip), %zmm10 + vpsrld $19, %zmm3, %zmm7 + vgetexpps {sae}, %zmm3, %zmm6 + vsubps {rn-sae}, %zmm1, %zmm3, %zmm11 + vpermps 64+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm1 + vpermps 128+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm2 + vsubps {rn-sae}, %zmm6, %zmm5, %zmm9 + vpermps 192+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm4 + vpermps 256+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm8 + +/* x<=0? */ + vfpclassps $94, %zmm0, %k0 + vfmadd213ps {rn-sae}, %zmm2, %zmm11, %zmm1 + vmulps {rn-sae}, %zmm10, %zmm9, %zmm12 + vfmadd213ps {rn-sae}, %zmm4, %zmm11, %zmm1 + kmovw %k0, %edx + vfmadd213ps {rn-sae}, %zmm8, %zmm11, %zmm1 + vfmadd213ps {rn-sae}, %zmm12, %zmm11, %zmm1 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovaps %zmm1, %zmm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + vmovups %zmm0, 64(%rsp) + vmovups %zmm1, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + kmovw %k4, 24(%rsp) + kmovw %k5, 16(%rsp) + kmovw %k6, 8(%rsp) + kmovw %k7, (%rsp) + movq %rsi, 40(%rsp) + movq %rdi, 32(%rsp) + movq %r12, 56(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 48(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $16, %r12d + jl .LBL_1_7 + kmovw 24(%rsp), %k4 + cfi_restore(122) + kmovw 16(%rsp), %k5 + cfi_restore(123) + kmovw 8(%rsp), %k6 + cfi_restore(124) + kmovw (%rsp), %k7 + cfi_restore(125) + vmovups 128(%rsp), %zmm1 + movq 40(%rsp), %rsi + cfi_restore(4) + movq 32(%rsp), %rdi + cfi_restore(5) + movq 56(%rsp), %r12 + cfi_restore(12) + movq 48(%rsp), %r13 + cfi_restore(13) + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_slog10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN16v_log10f_skx) + + .align 16,0x90 + +__svml_slog10_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .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 .FLT_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 .FLT_93(%rip), %xmm1 + movss %xmm1, -20(%rsp) + andb $127, -17(%rsp) + movss -20(%rsp), %xmm0 + comiss .FLT_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 .FLT_80(%rip), %xmm2 + movaps %xmm2, %xmm1 + addss .FLT_79(%rip), %xmm0 + addss %xmm3, %xmm1 + movss %xmm0, -24(%rsp) + movl -24(%rsp), %r8d + movss %xmm1, -24(%rsp) + andl $127, %r8d + movss -24(%rsp), %xmm9 + movss .FLT_89(%rip), %xmm6 + subss %xmm2, %xmm9 + movzwl -14(%rsp), %edx + lea (%r8,%r8,2), %r9d + movss (%r10,%r9,4), %xmm7 + andl $32640, %edx + shrl $7, %edx + subss %xmm9, %xmm3 + mulss %xmm7, %xmm9 + mulss %xmm3, %xmm7 + subss .FLT_81(%rip), %xmm9 + movaps %xmm9, %xmm4 + lea -127(%rcx,%rdx), %ecx + cvtsi2ss %ecx, %xmm8 + addss %xmm7, %xmm4 + mulss %xmm4, %xmm6 + movss .FLT_90(%rip), %xmm10 + mulss %xmm8, %xmm10 + addss .FLT_88(%rip), %xmm6 + addss 4(%r10,%r9,4), %xmm10 + mulss %xmm4, %xmm6 + addss %xmm9, %xmm10 + addss .FLT_87(%rip), %xmm6 + mulss %xmm4, %xmm6 + movss .FLT_91(%rip), %xmm5 + mulss %xmm5, %xmm8 + addss .FLT_86(%rip), %xmm6 + addss 8(%r10,%r9,4), %xmm8 + mulss %xmm4, %xmm6 + addss .FLT_85(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_84(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_83(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_82(%rip), %xmm6 + mulss %xmm6, %xmm9 + mulss %xmm7, %xmm6 + addss %xmm6, %xmm8 + addss %xmm7, %xmm8 + addss %xmm8, %xmm9 + addss %xmm9, %xmm10 + movss %xmm10, (%rsi) + ret + +.LBL_2_7: + movss .FLT_81(%rip), %xmm0 + mulss %xmm0, %xmm1 + movss .FLT_89(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_88(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_87(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_86(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_85(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_84(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_83(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_82(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss %xmm1, %xmm2 + movss %xmm2, (%rsi) + ret + +.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 .FLT_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 + + cfi_endproc + + .type __svml_slog10_cout_rare_internal,@function + .size __svml_slog10_cout_rare_internal,.-__svml_slog10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_slog10_data_internal_avx512: + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 3184111259 + .long 3181837556 + .long 3180047478 + .long 3177957936 + .long 3175655835 + .long 3173780127 + .long 3172237531 + .long 3170958066 + .long 3196205737 + .long 3194315592 + .long 3192585145 + .long 3191105685 + .long 3189833727 + .long 3188734475 + .long 3187779868 + .long 3186223182 + .long 1041488008 + .long 1041279100 + .long 1040946627 + .long 1040547595 + .long 1040048184 + .long 1039171801 + .long 1038306334 + .long 1037468467 + .long 1034710670 + .long 1037388369 + .long 1039339328 + .long 1040458589 + .long 1040937011 + .long 1041247376 + .long 1041427373 + .long 1041506296 + .long 3193854619 + .long 3193841271 + .long 3193799669 + .long 3193724950 + .long 3193617675 + .long 3193480957 + .long 3193318914 + .long 3193135864 + .long 3194544764 + .long 3194251079 + .long 3194067571 + .long 3193958490 + .long 3193898352 + .long 3193869008 + .long 3193857579 + .long 3193854984 + .long 1054759896 + .long 1054759749 + .long 1054758872 + .long 1054756529 + .long 1054752055 + .long 1054744934 + .long 1054734809 + .long 1054721467 + .long 1054738669 + .long 1054749415 + .long 1054755175 + .long 1054758032 + .long 1054759295 + .long 1054759760 + .long 1054759882 + .long 1054759897 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .type __svml_slog10_data_internal_avx512,@object + .size __svml_slog10_data_internal_avx512,384 + .align 32 + +__slog10_la_CoutTab: + .long 1121868800 + .long 0 + .long 0 + .long 1121641104 + .long 1004535808 + .long 912917177 + .long 1121413408 + .long 1013055488 + .long 3065901602 + .long 1121185712 + .long 1017839616 + .long 3083361151 + .long 1120958016 + .long 1021673472 + .long 929297206 + .long 1120844168 + .long 1023524864 + .long 3077496589 + .long 1120616472 + .long 1025499136 + .long 3070500046 + .long 1120388776 + .long 1027506176 + .long 912271551 + .long 1120274928 + .long 1028521984 + .long 927716856 + .long 1120047232 + .long 1030586368 + .long 923757491 + .long 1119933384 + .long 1031634944 + .long 3056752848 + .long 1119705688 + .long 1032775680 + .long 917029265 + .long 1119591840 + .long 1033314304 + .long 3065085585 + .long 1119364144 + .long 1034403840 + .long 3064614024 + .long 1119250296 + .long 1034954752 + .long 921091539 + .long 1119136448 + .long 1035513856 + .long 3057436454 + .long 1118908752 + .long 1036644352 + .long 922468856 + .long 1118794904 + .long 1037219840 + .long 3049155845 + .long 1118681056 + .long 1037799424 + .long 904301451 + .long 1118567208 + .long 1038385152 + .long 908617625 + .long 1118453360 + .long 1038977024 + .long 905362229 + .long 1118225664 + .long 1040179200 + .long 3027570914 + .long 1118111816 + .long 1040488448 + .long 882280038 + .long 1117997968 + .long 1040796672 + .long 911375775 + .long 1117884120 + .long 1041108480 + .long 904500572 + .long 1117770272 + .long 1041423872 + .long 3057579304 + .long 1117656424 + .long 1041742336 + .long 3053334705 + .long 1117542576 + .long 1042064384 + .long 3053389931 + .long 1117428728 + .long 1042390016 + .long 3051561465 + .long 1117314880 + .long 1042719232 + .long 3011187895 + .long 1117201032 + .long 1043052544 + .long 3059907089 + .long 1117087184 + .long 1043389440 + .long 3057005374 + .long 1116973336 + .long 1043729920 + .long 911932638 + .long 1116859488 + .long 1044075008 + .long 892958461 + .long 1116859488 + .long 1044075008 + .long 892958461 + .long 1116745640 + .long 1044424192 + .long 3048660547 + .long 1116631792 + .long 1044777472 + .long 3049032043 + .long 1116517944 + .long 1045134848 + .long 906867152 + .long 1116404096 + .long 1045496832 + .long 911484894 + .long 1116404096 + .long 1045496832 + .long 911484894 + .long 1116290248 + .long 1045863424 + .long 912580963 + .long 1116176400 + .long 1046235136 + .long 3058440244 + .long 1116062552 + .long 1046610944 + .long 895945194 + .long 1116062552 + .long 1046610944 + .long 895945194 + .long 1115948704 + .long 1046991872 + .long 904357324 + .long 1115834856 + .long 1047377920 + .long 902293870 + .long 1115721008 + .long 1047769088 + .long 907149878 + .long 1115721008 + .long 1047769088 + .long 907149878 + .long 1115529456 + .long 1048165888 + .long 3052029263 + .long 1115301760 + .long 1048567808 + .long 3035959522 + .long 1115301760 + .long 1048567808 + .long 3035959522 + .long 1115074064 + .long 1048775680 + .long 892998645 + .long 1115074064 + .long 1048775680 + .long 892998645 + .long 1114846368 + .long 1048982400 + .long 881767775 + .long 1114618672 + .long 1049192064 + .long 893839142 + .long 1114618672 + .long 1049192064 + .long 893839142 + .long 1114390976 + .long 1049404800 + .long 896498651 + .long 1114390976 + .long 1049404800 + .long 896498651 + .long 1114163280 + .long 1049620736 + .long 3033695903 + .long 1114163280 + .long 1049620736 + .long 3033695903 + .long 1113935584 + .long 1049839872 + .long 3029986056 + .long 1113935584 + .long 1049839872 + .long 3029986056 + .long 1113707888 + .long 1050062336 + .long 884671939 + .long 1113707888 + .long 1050062336 + .long 884671939 + .long 1113480192 + .long 1050288256 + .long 894707678 + .long 1050279936 + .long 964848148 + .long 1207959616 + .long 1174405120 + .long 1002438656 + .long 1400897536 + .long 0 + .long 1065353216 + .long 1121868800 + .long 3212771328 + .long 3079888218 + .long 870463078 + .long 2957202361 + .long 749987585 + .long 2838272395 + .long 631921661 + .long 2720751022 + .type __slog10_la_CoutTab,@object + .size __slog10_la_CoutTab,848 + .align 4 + +.FLT_77: + .long 0x53800000 + .type .FLT_77,@object + .size .FLT_77,4 + .align 4 + +.FLT_78: + .long 0x3bc00000 + .type .FLT_78,@object + .size .FLT_78,4 + .align 4 + +.FLT_79: + .long 0x48000040 + .type .FLT_79,@object + .size .FLT_79,4 + .align 4 + +.FLT_80: + .long 0x46000000 + .type .FLT_80,@object + .size .FLT_80,4 + .align 4 + +.FLT_81: + .long 0x42de5c00 + .type .FLT_81,@object + .size .FLT_81,4 + .align 4 + +.FLT_82: + .long 0xbf7f0000 + .type .FLT_82,@object + .size .FLT_82,4 + .align 4 + +.FLT_83: + .long 0xb7935d5a + .type .FLT_83,@object + .size .FLT_83,4 + .align 4 + +.FLT_84: + .long 0x33e23666 + .type .FLT_84,@object + .size .FLT_84,4 + .align 4 + +.FLT_85: + .long 0xb04353b9 + .type .FLT_85,@object + .size .FLT_85,4 + .align 4 + +.FLT_86: + .long 0x2cb3e701 + .type .FLT_86,@object + .size .FLT_86,4 + .align 4 + +.FLT_87: + .long 0xa92c998b + .type .FLT_87,@object + .size .FLT_87,4 + .align 4 + +.FLT_88: + .long 0x25aa5bfd + .type .FLT_88,@object + .size .FLT_88,4 + .align 4 + +.FLT_89: + .long 0xa22b5dae + .type .FLT_89,@object + .size .FLT_89,4 + .align 4 + +.FLT_90: + .long 0x3e9a0000 + .type .FLT_90,@object + .size .FLT_90,4 + .align 4 + +.FLT_91: + .long 0x39826a14 + .type .FLT_91,@object + .size .FLT_91,4 + .align 4 + +.FLT_92: + .long 0xbf800000 + .type .FLT_92,@object + .size .FLT_92,4 + .align 4 + +.FLT_93: + .long 0x3f800000 + .type .FLT_93,@object + .size .FLT_93,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core-sse2.S new file mode 100644 index 0000000000..bb1cdee37e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized log10f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_log10f _ZGVbN4v_log10f_sse2 +#include "../svml_s_log10f4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core.c new file mode 100644 index 0000000000..67e9e71a76 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized log10f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_log10f +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_log10f, __GI__ZGVbN4v_log10f, + __redirect__ZGVbN4v_log10f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core_sse4.S new file mode 100644 index 0000000000..2b8a479933 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core_sse4.S @@ -0,0 +1,1967 @@ +/* Function logf4 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R) + * log10(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_log10f_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm4 + +/* reduction: compute r,n */ + movdqu 1664+__svml_slog10_data_internal(%rip), %xmm5 + movaps %xmm0, %xmm7 + movdqu 1728+__svml_slog10_data_internal(%rip), %xmm3 + psubd %xmm5, %xmm4 + pand %xmm4, %xmm3 + movaps %xmm0, %xmm6 + paddd %xmm5, %xmm3 + psrad $23, %xmm4 + cmpltps 1280+__svml_slog10_data_internal(%rip), %xmm7 + cmpnleps 1344+__svml_slog10_data_internal(%rip), %xmm6 + cvtdq2ps %xmm4, %xmm2 + subps 1792+__svml_slog10_data_internal(%rip), %xmm3 + movups 1856+__svml_slog10_data_internal(%rip), %xmm1 + orps %xmm6, %xmm7 + mulps %xmm3, %xmm1 + movaps %xmm3, %xmm6 + mulps %xmm3, %xmm6 + +/* combine and get argument value range mask */ + movmskps %xmm7, %edx + addps 1872+__svml_slog10_data_internal(%rip), %xmm1 + movups 1888+__svml_slog10_data_internal(%rip), %xmm4 + mulps %xmm3, %xmm4 + mulps %xmm6, %xmm1 + addps 1904+__svml_slog10_data_internal(%rip), %xmm4 + movups 1920+__svml_slog10_data_internal(%rip), %xmm5 + addps %xmm1, %xmm4 + mulps %xmm3, %xmm5 + mulps %xmm6, %xmm4 + addps 1936+__svml_slog10_data_internal(%rip), %xmm5 + movups 1952+__svml_slog10_data_internal(%rip), %xmm1 + addps %xmm4, %xmm5 + mulps %xmm3, %xmm1 + mulps %xmm5, %xmm6 + addps 1968+__svml_slog10_data_internal(%rip), %xmm1 + movups 1600+__svml_slog10_data_internal(%rip), %xmm4 + addps %xmm6, %xmm1 + mulps %xmm2, %xmm4 + mulps %xmm3, %xmm1 + movups 1536+__svml_slog10_data_internal(%rip), %xmm7 + mulps %xmm7, %xmm2 + addps 1984+__svml_slog10_data_internal(%rip), %xmm1 + mulps %xmm1, %xmm3 + addps %xmm3, %xmm4 + addps %xmm2, %xmm4 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movaps %xmm4, %xmm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm0, 192(%rsp) + movups %xmm4, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm4 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_slog10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_log10f_sse4) + + .align 16,0x90 + +__svml_slog10_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .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 .FLT_83(%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 .FLT_99(%rip), %xmm1 + movss %xmm1, -20(%rsp) + andb $127, -17(%rsp) + movss -20(%rsp), %xmm0 + comiss .FLT_84(%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 .FLT_86(%rip), %xmm2 + movaps %xmm2, %xmm1 + addss .FLT_85(%rip), %xmm0 + addss %xmm3, %xmm1 + movss %xmm0, -24(%rsp) + movl -24(%rsp), %r8d + movss %xmm1, -24(%rsp) + andl $127, %r8d + movss -24(%rsp), %xmm9 + movss .FLT_95(%rip), %xmm6 + subss %xmm2, %xmm9 + movzwl -14(%rsp), %edx + lea (%r8,%r8,2), %r9d + movss (%r10,%r9,4), %xmm7 + andl $32640, %edx + shrl $7, %edx + subss %xmm9, %xmm3 + mulss %xmm7, %xmm9 + mulss %xmm3, %xmm7 + subss .FLT_87(%rip), %xmm9 + movaps %xmm9, %xmm4 + lea -127(%rcx,%rdx), %ecx + cvtsi2ss %ecx, %xmm8 + addss %xmm7, %xmm4 + mulss %xmm4, %xmm6 + movss .FLT_96(%rip), %xmm10 + mulss %xmm8, %xmm10 + addss .FLT_94(%rip), %xmm6 + addss 4(%r10,%r9,4), %xmm10 + mulss %xmm4, %xmm6 + addss %xmm9, %xmm10 + addss .FLT_93(%rip), %xmm6 + mulss %xmm4, %xmm6 + movss .FLT_97(%rip), %xmm5 + mulss %xmm5, %xmm8 + addss .FLT_92(%rip), %xmm6 + addss 8(%r10,%r9,4), %xmm8 + mulss %xmm4, %xmm6 + addss .FLT_91(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_90(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_89(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_88(%rip), %xmm6 + mulss %xmm6, %xmm9 + mulss %xmm7, %xmm6 + addss %xmm6, %xmm8 + addss %xmm7, %xmm8 + addss %xmm8, %xmm9 + addss %xmm9, %xmm10 + movss %xmm10, (%rsi) + ret + +.LBL_2_7: + movss .FLT_87(%rip), %xmm0 + mulss %xmm0, %xmm1 + movss .FLT_95(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_94(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_93(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_92(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_91(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_90(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_89(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_88(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss %xmm1, %xmm2 + movss %xmm2, (%rsi) + ret + +.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 .FLT_98(%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 + + cfi_endproc + + .type __svml_slog10_cout_rare_internal,@function + .size __svml_slog10_cout_rare_internal,.-__svml_slog10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_slog10_data_internal: + .long 3256334460 + .long 969394728 + .long 3256334974 + .long 969699354 + .long 3256335486 + .long 970041911 + .long 3256335982 + .long 968584717 + .long 3256336494 + .long 969519438 + .long 3256336990 + .long 968649168 + .long 3256337502 + .long 970165641 + .long 3256337998 + .long 969872020 + .long 3256338494 + .long 969862955 + .long 3256338990 + .long 970135976 + .long 3256339470 + .long 968591496 + .long 3256339966 + .long 969421411 + .long 3256340462 + .long 970526195 + .long 3256340942 + .long 969806353 + .long 3256341422 + .long 969356721 + .long 3256341902 + .long 969175014 + .long 3256342382 + .long 969258977 + .long 3256342862 + .long 969606381 + .long 3256343342 + .long 970215027 + .long 3256343806 + .long 968985590 + .long 3256344286 + .long 970110228 + .long 3256344750 + .long 969392519 + .long 3256345214 + .long 968927522 + .long 3256345678 + .long 968713169 + .long 3256346142 + .long 968747418 + .long 3256346606 + .long 969028253 + .long 3256347070 + .long 969553681 + .long 3256347534 + .long 970321733 + .long 3256347982 + .long 969233313 + .long 3256348446 + .long 970480802 + .long 3256348894 + .long 969867999 + .long 3256349342 + .long 969490179 + .long 3256349790 + .long 969345487 + .long 3256350238 + .long 969432093 + .long 3256350686 + .long 969748186 + .long 3256351566 + .long 968964541 + .long 3256352446 + .long 969077639 + .long 3256353326 + .long 970073736 + .long 3256354190 + .long 969842251 + .long 3256355054 + .long 970467209 + .long 3256355902 + .long 969838628 + .long 3256356750 + .long 970041115 + .long 3256357582 + .long 968965252 + .long 3256358414 + .long 968696192 + .long 3256359246 + .long 969222201 + .long 3256360078 + .long 970531798 + .long 3256360894 + .long 970516595 + .long 3256361694 + .long 969165599 + .long 3256362494 + .long 968565200 + .long 3256363294 + .long 968704863 + .long 3256364094 + .long 969574273 + .long 3256364878 + .long 969066179 + .long 3256365662 + .long 969267840 + .long 3256366446 + .long 970169567 + .long 3256367214 + .long 969664714 + .long 3256367982 + .long 969841134 + .long 3256368734 + .long 968592559 + .long 3256369502 + .long 970104362 + .long 3256370254 + .long 970173483 + .long 3256370990 + .long 968791339 + .long 3256371742 + .long 970143819 + .long 3256372478 + .long 970028365 + .long 3256373214 + .long 970534037 + .long 3256373934 + .long 969555746 + .long 3256374654 + .long 969182856 + .long 3256375374 + .long 969407729 + .long 3256376094 + .long 970222869 + .long 3256376798 + .long 969523769 + .long 3256377502 + .long 969400361 + .long 3256378206 + .long 969845561 + .long 3256378894 + .long 968755260 + .long 3256379598 + .long 970316935 + .long 3256380286 + .long 970329575 + .long 3256380958 + .long 968786598 + .long 3256381646 + .long 969875841 + .long 3256382318 + .long 969396649 + .long 3256382990 + .long 969439935 + .long 3256383662 + .long 969999571 + .long 3256384318 + .long 968972383 + .long 3256384990 + .long 970546758 + .long 3256385646 + .long 970522577 + .long 3256386286 + .long 968894127 + .long 3256386942 + .long 969850093 + .long 3256387582 + .long 969190651 + .long 3256388222 + .long 969007524 + .long 3256388862 + .long 969295375 + .long 3256389502 + .long 970048957 + .long 3256390126 + .long 969165958 + .long 3256390750 + .long 968738453 + .long 3256391374 + .long 968761452 + .long 3256391998 + .long 969230043 + .long 3256392622 + .long 970139398 + .long 3256393230 + .long 969387611 + .long 3256393838 + .long 969067159 + .long 3256394446 + .long 969173441 + .long 3256395054 + .long 969701929 + .long 3256395646 + .long 968551015 + .long 3256396254 + .long 969910618 + .long 3256396846 + .long 969582116 + .long 3256397438 + .long 969658411 + .long 3256398030 + .long 970135319 + .long 3256398606 + .long 968911569 + .long 3256399198 + .long 970177409 + .long 3256399774 + .long 969734540 + .long 3256400350 + .long 969676181 + .long 3256400926 + .long 969998457 + .long 3256401486 + .long 968600401 + .long 3256402062 + .long 969672558 + .long 3256402622 + .long 969016921 + .long 3256403182 + .long 968726993 + .long 3256403742 + .long 968799182 + .long 3256404302 + .long 969229944 + .long 3256404862 + .long 970015791 + .long 3256405406 + .long 969056131 + .long 3256405966 + .long 970541879 + .long 3256406510 + .long 970275391 + .long 3256407054 + .long 970350525 + .long 3256407582 + .long 968666884 + .long 3256408126 + .long 969415571 + .long 3256408670 + .long 970496282 + .long 3256409198 + .long 969808752 + .long 3256409726 + .long 969447067 + .long 3256410254 + .long 969408203 + .long 3256410782 + .long 969689179 + .long 3256411310 + .long 970287052 + .long 3256411822 + .long 969101770 + .long 3256412350 + .long 970324777 + .long 3256412862 + .long 969758945 + .long 3256413374 + .long 969498644 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1071862019 + .long 1071862019 + .long 1071862019 + .long 1071862019 + .long 3214137316 + .long 3214137316 + .long 3214137316 + .long 3214137316 + .long 986960742 + .long 986960742 + .long 986960742 + .long 986960742 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 989855744 + .long 989855744 + .long 989855744 + .long 989855744 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1054736384 + .long 1054736384 + .long 1054736384 + .long 1054736384 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1050288384 + .long 1050288384 + .long 1050288384 + .long 1050288384 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3058365952 + .long 3058365952 + .long 3058365952 + .long 3058365952 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1031824308 + .long 1031824308 + .long 1031824308 + .long 1031824308 + .long 3179872371 + .long 3179872371 + .long 3179872371 + .long 3179872371 + .long 1031230231 + .long 1031230231 + .long 1031230231 + .long 1031230231 + .long 3180460839 + .long 3180460839 + .long 3180460839 + .long 3180460839 + .long 1035078550 + .long 1035078550 + .long 1035078550 + .long 1035078550 + .long 3185471008 + .long 3185471008 + .long 3185471008 + .long 3185471008 + .long 1041513701 + .long 1041513701 + .long 1041513701 + .long 1041513701 + .long 3193854917 + .long 3193854917 + .long 3193854917 + .long 3193854917 + .long 1054759897 + .long 1054759897 + .long 1054759897 + .long 1054759897 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1036894503 + .long 1036894503 + .long 1036894503 + .long 1036894503 + .long 3186945393 + .long 3186945393 + .long 3186945393 + .long 3186945393 + .long 1041464766 + .long 1041464766 + .long 1041464766 + .long 1041464766 + .long 3193833762 + .long 3193833762 + .long 3193833762 + .long 3193833762 + .long 1054760110 + .long 1054760110 + .long 1054760110 + .long 1054760110 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_slog10_data_internal,@object + .size __svml_slog10_data_internal,2432 + .align 32 + +__slog10_la_CoutTab: + .long 1121868800 + .long 0 + .long 0 + .long 1121641104 + .long 1004535808 + .long 912917177 + .long 1121413408 + .long 1013055488 + .long 3065901602 + .long 1121185712 + .long 1017839616 + .long 3083361151 + .long 1120958016 + .long 1021673472 + .long 929297206 + .long 1120844168 + .long 1023524864 + .long 3077496589 + .long 1120616472 + .long 1025499136 + .long 3070500046 + .long 1120388776 + .long 1027506176 + .long 912271551 + .long 1120274928 + .long 1028521984 + .long 927716856 + .long 1120047232 + .long 1030586368 + .long 923757491 + .long 1119933384 + .long 1031634944 + .long 3056752848 + .long 1119705688 + .long 1032775680 + .long 917029265 + .long 1119591840 + .long 1033314304 + .long 3065085585 + .long 1119364144 + .long 1034403840 + .long 3064614024 + .long 1119250296 + .long 1034954752 + .long 921091539 + .long 1119136448 + .long 1035513856 + .long 3057436454 + .long 1118908752 + .long 1036644352 + .long 922468856 + .long 1118794904 + .long 1037219840 + .long 3049155845 + .long 1118681056 + .long 1037799424 + .long 904301451 + .long 1118567208 + .long 1038385152 + .long 908617625 + .long 1118453360 + .long 1038977024 + .long 905362229 + .long 1118225664 + .long 1040179200 + .long 3027570914 + .long 1118111816 + .long 1040488448 + .long 882280038 + .long 1117997968 + .long 1040796672 + .long 911375775 + .long 1117884120 + .long 1041108480 + .long 904500572 + .long 1117770272 + .long 1041423872 + .long 3057579304 + .long 1117656424 + .long 1041742336 + .long 3053334705 + .long 1117542576 + .long 1042064384 + .long 3053389931 + .long 1117428728 + .long 1042390016 + .long 3051561465 + .long 1117314880 + .long 1042719232 + .long 3011187895 + .long 1117201032 + .long 1043052544 + .long 3059907089 + .long 1117087184 + .long 1043389440 + .long 3057005374 + .long 1116973336 + .long 1043729920 + .long 911932638 + .long 1116859488 + .long 1044075008 + .long 892958461 + .long 1116859488 + .long 1044075008 + .long 892958461 + .long 1116745640 + .long 1044424192 + .long 3048660547 + .long 1116631792 + .long 1044777472 + .long 3049032043 + .long 1116517944 + .long 1045134848 + .long 906867152 + .long 1116404096 + .long 1045496832 + .long 911484894 + .long 1116404096 + .long 1045496832 + .long 911484894 + .long 1116290248 + .long 1045863424 + .long 912580963 + .long 1116176400 + .long 1046235136 + .long 3058440244 + .long 1116062552 + .long 1046610944 + .long 895945194 + .long 1116062552 + .long 1046610944 + .long 895945194 + .long 1115948704 + .long 1046991872 + .long 904357324 + .long 1115834856 + .long 1047377920 + .long 902293870 + .long 1115721008 + .long 1047769088 + .long 907149878 + .long 1115721008 + .long 1047769088 + .long 907149878 + .long 1115529456 + .long 1048165888 + .long 3052029263 + .long 1115301760 + .long 1048567808 + .long 3035959522 + .long 1115301760 + .long 1048567808 + .long 3035959522 + .long 1115074064 + .long 1048775680 + .long 892998645 + .long 1115074064 + .long 1048775680 + .long 892998645 + .long 1114846368 + .long 1048982400 + .long 881767775 + .long 1114618672 + .long 1049192064 + .long 893839142 + .long 1114618672 + .long 1049192064 + .long 893839142 + .long 1114390976 + .long 1049404800 + .long 896498651 + .long 1114390976 + .long 1049404800 + .long 896498651 + .long 1114163280 + .long 1049620736 + .long 3033695903 + .long 1114163280 + .long 1049620736 + .long 3033695903 + .long 1113935584 + .long 1049839872 + .long 3029986056 + .long 1113935584 + .long 1049839872 + .long 3029986056 + .long 1113707888 + .long 1050062336 + .long 884671939 + .long 1113707888 + .long 1050062336 + .long 884671939 + .long 1113480192 + .long 1050288256 + .long 894707678 + .long 1050279936 + .long 964848148 + .long 1207959616 + .long 1174405120 + .long 1002438656 + .long 1400897536 + .long 0 + .long 1065353216 + .long 1121868800 + .long 3212771328 + .long 3079888218 + .long 870463078 + .long 2957202361 + .long 749987585 + .long 2838272395 + .long 631921661 + .long 2720751022 + .type __slog10_la_CoutTab,@object + .size __slog10_la_CoutTab,848 + .align 4 + +.FLT_83: + .long 0x53800000 + .type .FLT_83,@object + .size .FLT_83,4 + .align 4 + +.FLT_84: + .long 0x3bc00000 + .type .FLT_84,@object + .size .FLT_84,4 + .align 4 + +.FLT_85: + .long 0x48000040 + .type .FLT_85,@object + .size .FLT_85,4 + .align 4 + +.FLT_86: + .long 0x46000000 + .type .FLT_86,@object + .size .FLT_86,4 + .align 4 + +.FLT_87: + .long 0x42de5c00 + .type .FLT_87,@object + .size .FLT_87,4 + .align 4 + +.FLT_88: + .long 0xbf7f0000 + .type .FLT_88,@object + .size .FLT_88,4 + .align 4 + +.FLT_89: + .long 0xb7935d5a + .type .FLT_89,@object + .size .FLT_89,4 + .align 4 + +.FLT_90: + .long 0x33e23666 + .type .FLT_90,@object + .size .FLT_90,4 + .align 4 + +.FLT_91: + .long 0xb04353b9 + .type .FLT_91,@object + .size .FLT_91,4 + .align 4 + +.FLT_92: + .long 0x2cb3e701 + .type .FLT_92,@object + .size .FLT_92,4 + .align 4 + +.FLT_93: + .long 0xa92c998b + .type .FLT_93,@object + .size .FLT_93,4 + .align 4 + +.FLT_94: + .long 0x25aa5bfd + .type .FLT_94,@object + .size .FLT_94,4 + .align 4 + +.FLT_95: + .long 0xa22b5dae + .type .FLT_95,@object + .size .FLT_95,4 + .align 4 + +.FLT_96: + .long 0x3e9a0000 + .type .FLT_96,@object + .size .FLT_96,4 + .align 4 + +.FLT_97: + .long 0x39826a14 + .type .FLT_97,@object + .size .FLT_97,4 + .align 4 + +.FLT_98: + .long 0xbf800000 + .type .FLT_98,@object + .size .FLT_98,4 + .align 4 + +.FLT_99: + .long 0x3f800000 + .type .FLT_99,@object + .size .FLT_99,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core-sse.S new file mode 100644 index 0000000000..e3467e5c90 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized log10f, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_log10f _ZGVdN8v_log10f_sse_wrapper +#include "../svml_s_log10f8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core.c new file mode 100644 index 0000000000..bfd3ef6554 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized log10f, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_log10f +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_log10f, __GI__ZGVdN8v_log10f, + __redirect__ZGVdN8v_log10f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core_avx2.S new file mode 100644 index 0000000000..1eaef66f3a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core_avx2.S @@ -0,0 +1,1860 @@ +/* Function logf8 vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log10(x) = k*log10(2.0) - log10(Rcp) + poly_approximation(R) + * log10(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_log10f_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* reduction: compute r,n */ + vmovups 1728+__svml_slog10_data_internal(%rip), %ymm4 + vmovups %ymm8, 32(%rsp) + vmovups %ymm9, 96(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + vmovups 1920+__svml_slog10_data_internal(%rip), %ymm8 + vmovups %ymm15, 320(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm10, 160(%rsp) + vpsubd %ymm4, %ymm0, %ymm1 + vcmplt_oqps 1344+__svml_slog10_data_internal(%rip), %ymm0, %ymm5 + vcmpnle_uqps 1408+__svml_slog10_data_internal(%rip), %ymm0, %ymm6 + vpand 1792+__svml_slog10_data_internal(%rip), %ymm1, %ymm3 + vpsrad $23, %ymm1, %ymm2 + vpaddd %ymm4, %ymm3, %ymm1 + vmovups 2048+__svml_slog10_data_internal(%rip), %ymm3 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vcvtdq2ps %ymm2, %ymm9 + vmovups 1984+__svml_slog10_data_internal(%rip), %ymm2 + vorps %ymm6, %ymm5, %ymm7 + vsubps 1856+__svml_slog10_data_internal(%rip), %ymm1, %ymm6 + vmovups 2112+__svml_slog10_data_internal(%rip), %ymm5 + vfmadd213ps 1952+__svml_slog10_data_internal(%rip), %ymm6, %ymm8 + vfmadd213ps 2016+__svml_slog10_data_internal(%rip), %ymm6, %ymm2 + vmulps %ymm6, %ymm6, %ymm4 + vfmadd213ps 2080+__svml_slog10_data_internal(%rip), %ymm6, %ymm3 + vfmadd213ps 2144+__svml_slog10_data_internal(%rip), %ymm6, %ymm5 + vfmadd213ps %ymm2, %ymm4, %ymm8 + vfmadd213ps %ymm3, %ymm4, %ymm8 + vfmadd213ps %ymm5, %ymm4, %ymm8 + vfmadd213ps 2176+__svml_slog10_data_internal(%rip), %ymm6, %ymm8 + +/* combine and get argument value range mask */ + vmovmskps %ymm7, %edx + vmulps 1664+__svml_slog10_data_internal(%rip), %ymm9, %ymm7 + vfmadd213ps %ymm7, %ymm6, %ymm8 + vfmadd132ps 1600+__svml_slog10_data_internal(%rip), %ymm8, %ymm9 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovaps %ymm9, %ymm0 + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm0, 64(%rsp) + vmovups %ymm9, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm9 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_slog10_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_log10f_avx2) + + .align 16,0x90 + +__svml_slog10_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .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 .FLT_83(%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 .FLT_99(%rip), %xmm1 + movss %xmm1, -20(%rsp) + andb $127, -17(%rsp) + movss -20(%rsp), %xmm0 + comiss .FLT_84(%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 .FLT_86(%rip), %xmm2 + movaps %xmm2, %xmm1 + addss .FLT_85(%rip), %xmm0 + addss %xmm3, %xmm1 + movss %xmm0, -24(%rsp) + movl -24(%rsp), %r8d + movss %xmm1, -24(%rsp) + andl $127, %r8d + movss -24(%rsp), %xmm9 + movss .FLT_95(%rip), %xmm6 + subss %xmm2, %xmm9 + movzwl -14(%rsp), %edx + lea (%r8,%r8,2), %r9d + movss (%r10,%r9,4), %xmm7 + andl $32640, %edx + shrl $7, %edx + subss %xmm9, %xmm3 + mulss %xmm7, %xmm9 + mulss %xmm3, %xmm7 + subss .FLT_87(%rip), %xmm9 + movaps %xmm9, %xmm4 + lea -127(%rcx,%rdx), %ecx + cvtsi2ss %ecx, %xmm8 + addss %xmm7, %xmm4 + mulss %xmm4, %xmm6 + movss .FLT_96(%rip), %xmm10 + mulss %xmm8, %xmm10 + addss .FLT_94(%rip), %xmm6 + addss 4(%r10,%r9,4), %xmm10 + mulss %xmm4, %xmm6 + addss %xmm9, %xmm10 + addss .FLT_93(%rip), %xmm6 + mulss %xmm4, %xmm6 + movss .FLT_97(%rip), %xmm5 + mulss %xmm5, %xmm8 + addss .FLT_92(%rip), %xmm6 + addss 8(%r10,%r9,4), %xmm8 + mulss %xmm4, %xmm6 + addss .FLT_91(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_90(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_89(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_88(%rip), %xmm6 + mulss %xmm6, %xmm9 + mulss %xmm7, %xmm6 + addss %xmm6, %xmm8 + addss %xmm7, %xmm8 + addss %xmm8, %xmm9 + addss %xmm9, %xmm10 + movss %xmm10, (%rsi) + ret + +.LBL_2_7: + movss .FLT_87(%rip), %xmm0 + mulss %xmm0, %xmm1 + movss .FLT_95(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_94(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_93(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_92(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_91(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_90(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_89(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_88(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss %xmm1, %xmm2 + movss %xmm2, (%rsi) + ret + +.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 .FLT_98(%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 + + cfi_endproc + + .type __svml_slog10_cout_rare_internal,@function + .size __svml_slog10_cout_rare_internal,.-__svml_slog10_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_slog10_data_internal: + .long 3256334460 + .long 969394728 + .long 3256334974 + .long 969699354 + .long 3256335486 + .long 970041911 + .long 3256335982 + .long 968584717 + .long 3256336494 + .long 969519438 + .long 3256336990 + .long 968649168 + .long 3256337502 + .long 970165641 + .long 3256337998 + .long 969872020 + .long 3256338494 + .long 969862955 + .long 3256338990 + .long 970135976 + .long 3256339470 + .long 968591496 + .long 3256339966 + .long 969421411 + .long 3256340462 + .long 970526195 + .long 3256340942 + .long 969806353 + .long 3256341422 + .long 969356721 + .long 3256341902 + .long 969175014 + .long 3256342382 + .long 969258977 + .long 3256342862 + .long 969606381 + .long 3256343342 + .long 970215027 + .long 3256343806 + .long 968985590 + .long 3256344286 + .long 970110228 + .long 3256344750 + .long 969392519 + .long 3256345214 + .long 968927522 + .long 3256345678 + .long 968713169 + .long 3256346142 + .long 968747418 + .long 3256346606 + .long 969028253 + .long 3256347070 + .long 969553681 + .long 3256347534 + .long 970321733 + .long 3256347982 + .long 969233313 + .long 3256348446 + .long 970480802 + .long 3256348894 + .long 969867999 + .long 3256349342 + .long 969490179 + .long 3256349790 + .long 969345487 + .long 3256350238 + .long 969432093 + .long 3256350686 + .long 969748186 + .long 3256351566 + .long 968964541 + .long 3256352446 + .long 969077639 + .long 3256353326 + .long 970073736 + .long 3256354190 + .long 969842251 + .long 3256355054 + .long 970467209 + .long 3256355902 + .long 969838628 + .long 3256356750 + .long 970041115 + .long 3256357582 + .long 968965252 + .long 3256358414 + .long 968696192 + .long 3256359246 + .long 969222201 + .long 3256360078 + .long 970531798 + .long 3256360894 + .long 970516595 + .long 3256361694 + .long 969165599 + .long 3256362494 + .long 968565200 + .long 3256363294 + .long 968704863 + .long 3256364094 + .long 969574273 + .long 3256364878 + .long 969066179 + .long 3256365662 + .long 969267840 + .long 3256366446 + .long 970169567 + .long 3256367214 + .long 969664714 + .long 3256367982 + .long 969841134 + .long 3256368734 + .long 968592559 + .long 3256369502 + .long 970104362 + .long 3256370254 + .long 970173483 + .long 3256370990 + .long 968791339 + .long 3256371742 + .long 970143819 + .long 3256372478 + .long 970028365 + .long 3256373214 + .long 970534037 + .long 3256373934 + .long 969555746 + .long 3256374654 + .long 969182856 + .long 3256375374 + .long 969407729 + .long 3256376094 + .long 970222869 + .long 3256376798 + .long 969523769 + .long 3256377502 + .long 969400361 + .long 3256378206 + .long 969845561 + .long 3256378894 + .long 968755260 + .long 3256379598 + .long 970316935 + .long 3256380286 + .long 970329575 + .long 3256380958 + .long 968786598 + .long 3256381646 + .long 969875841 + .long 3256382318 + .long 969396649 + .long 3256382990 + .long 969439935 + .long 3256383662 + .long 969999571 + .long 3256384318 + .long 968972383 + .long 3256384990 + .long 970546758 + .long 3256385646 + .long 970522577 + .long 3256386286 + .long 968894127 + .long 3256386942 + .long 969850093 + .long 3256387582 + .long 969190651 + .long 3256388222 + .long 969007524 + .long 3256388862 + .long 969295375 + .long 3256389502 + .long 970048957 + .long 3256390126 + .long 969165958 + .long 3256390750 + .long 968738453 + .long 3256391374 + .long 968761452 + .long 3256391998 + .long 969230043 + .long 3256392622 + .long 970139398 + .long 3256393230 + .long 969387611 + .long 3256393838 + .long 969067159 + .long 3256394446 + .long 969173441 + .long 3256395054 + .long 969701929 + .long 3256395646 + .long 968551015 + .long 3256396254 + .long 969910618 + .long 3256396846 + .long 969582116 + .long 3256397438 + .long 969658411 + .long 3256398030 + .long 970135319 + .long 3256398606 + .long 968911569 + .long 3256399198 + .long 970177409 + .long 3256399774 + .long 969734540 + .long 3256400350 + .long 969676181 + .long 3256400926 + .long 969998457 + .long 3256401486 + .long 968600401 + .long 3256402062 + .long 969672558 + .long 3256402622 + .long 969016921 + .long 3256403182 + .long 968726993 + .long 3256403742 + .long 968799182 + .long 3256404302 + .long 969229944 + .long 3256404862 + .long 970015791 + .long 3256405406 + .long 969056131 + .long 3256405966 + .long 970541879 + .long 3256406510 + .long 970275391 + .long 3256407054 + .long 970350525 + .long 3256407582 + .long 968666884 + .long 3256408126 + .long 969415571 + .long 3256408670 + .long 970496282 + .long 3256409198 + .long 969808752 + .long 3256409726 + .long 969447067 + .long 3256410254 + .long 969408203 + .long 3256410782 + .long 969689179 + .long 3256411310 + .long 970287052 + .long 3256411822 + .long 969101770 + .long 3256412350 + .long 970324777 + .long 3256412862 + .long 969758945 + .long 3256413374 + .long 969498644 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1071862019 + .long 1071862019 + .long 1071862019 + .long 1071862019 + .long 1071862019 + .long 1071862019 + .long 1071862019 + .long 1071862019 + .long 3214137316 + .long 3214137316 + .long 3214137316 + .long 3214137316 + .long 3214137316 + .long 3214137316 + .long 3214137316 + .long 3214137316 + .long 986960742 + .long 986960742 + .long 986960742 + .long 986960742 + .long 986960742 + .long 986960742 + .long 986960742 + .long 986960742 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 989855744 + .long 989855744 + .long 989855744 + .long 989855744 + .long 989855744 + .long 989855744 + .long 989855744 + .long 989855744 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1054736384 + .long 1054736384 + .long 1054736384 + .long 1054736384 + .long 1054736384 + .long 1054736384 + .long 1054736384 + .long 1054736384 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1050288384 + .long 1050288384 + .long 1050288384 + .long 1050288384 + .long 1050288384 + .long 1050288384 + .long 1050288384 + .long 1050288384 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3058365952 + .long 3058365952 + .long 3058365952 + .long 3058365952 + .long 3058365952 + .long 3058365952 + .long 3058365952 + .long 3058365952 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1031824308 + .long 1031824308 + .long 1031824308 + .long 1031824308 + .long 1031824308 + .long 1031824308 + .long 1031824308 + .long 1031824308 + .long 3179872371 + .long 3179872371 + .long 3179872371 + .long 3179872371 + .long 3179872371 + .long 3179872371 + .long 3179872371 + .long 3179872371 + .long 1031230231 + .long 1031230231 + .long 1031230231 + .long 1031230231 + .long 1031230231 + .long 1031230231 + .long 1031230231 + .long 1031230231 + .long 3180460839 + .long 3180460839 + .long 3180460839 + .long 3180460839 + .long 3180460839 + .long 3180460839 + .long 3180460839 + .long 3180460839 + .long 1035078550 + .long 1035078550 + .long 1035078550 + .long 1035078550 + .long 1035078550 + .long 1035078550 + .long 1035078550 + .long 1035078550 + .long 3185471008 + .long 3185471008 + .long 3185471008 + .long 3185471008 + .long 3185471008 + .long 3185471008 + .long 3185471008 + .long 3185471008 + .long 1041513701 + .long 1041513701 + .long 1041513701 + .long 1041513701 + .long 1041513701 + .long 1041513701 + .long 1041513701 + .long 1041513701 + .long 3193854917 + .long 3193854917 + .long 3193854917 + .long 3193854917 + .long 3193854917 + .long 3193854917 + .long 3193854917 + .long 3193854917 + .long 1054759897 + .long 1054759897 + .long 1054759897 + .long 1054759897 + .long 1054759897 + .long 1054759897 + .long 1054759897 + .long 1054759897 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1036894503 + .long 1036894503 + .long 1036894503 + .long 1036894503 + .long 1036894503 + .long 1036894503 + .long 1036894503 + .long 1036894503 + .long 3186945393 + .long 3186945393 + .long 3186945393 + .long 3186945393 + .long 3186945393 + .long 3186945393 + .long 3186945393 + .long 3186945393 + .long 1041464766 + .long 1041464766 + .long 1041464766 + .long 1041464766 + .long 1041464766 + .long 1041464766 + .long 1041464766 + .long 1041464766 + .long 3193833762 + .long 3193833762 + .long 3193833762 + .long 3193833762 + .long 3193833762 + .long 3193833762 + .long 3193833762 + .long 3193833762 + .long 1054760110 + .long 1054760110 + .long 1054760110 + .long 1054760110 + .long 1054760110 + .long 1054760110 + .long 1054760110 + .long 1054760110 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .long 1050288283 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_slog10_data_internal,@object + .size __svml_slog10_data_internal,2688 + .align 32 + +__slog10_la_CoutTab: + .long 1121868800 + .long 0 + .long 0 + .long 1121641104 + .long 1004535808 + .long 912917177 + .long 1121413408 + .long 1013055488 + .long 3065901602 + .long 1121185712 + .long 1017839616 + .long 3083361151 + .long 1120958016 + .long 1021673472 + .long 929297206 + .long 1120844168 + .long 1023524864 + .long 3077496589 + .long 1120616472 + .long 1025499136 + .long 3070500046 + .long 1120388776 + .long 1027506176 + .long 912271551 + .long 1120274928 + .long 1028521984 + .long 927716856 + .long 1120047232 + .long 1030586368 + .long 923757491 + .long 1119933384 + .long 1031634944 + .long 3056752848 + .long 1119705688 + .long 1032775680 + .long 917029265 + .long 1119591840 + .long 1033314304 + .long 3065085585 + .long 1119364144 + .long 1034403840 + .long 3064614024 + .long 1119250296 + .long 1034954752 + .long 921091539 + .long 1119136448 + .long 1035513856 + .long 3057436454 + .long 1118908752 + .long 1036644352 + .long 922468856 + .long 1118794904 + .long 1037219840 + .long 3049155845 + .long 1118681056 + .long 1037799424 + .long 904301451 + .long 1118567208 + .long 1038385152 + .long 908617625 + .long 1118453360 + .long 1038977024 + .long 905362229 + .long 1118225664 + .long 1040179200 + .long 3027570914 + .long 1118111816 + .long 1040488448 + .long 882280038 + .long 1117997968 + .long 1040796672 + .long 911375775 + .long 1117884120 + .long 1041108480 + .long 904500572 + .long 1117770272 + .long 1041423872 + .long 3057579304 + .long 1117656424 + .long 1041742336 + .long 3053334705 + .long 1117542576 + .long 1042064384 + .long 3053389931 + .long 1117428728 + .long 1042390016 + .long 3051561465 + .long 1117314880 + .long 1042719232 + .long 3011187895 + .long 1117201032 + .long 1043052544 + .long 3059907089 + .long 1117087184 + .long 1043389440 + .long 3057005374 + .long 1116973336 + .long 1043729920 + .long 911932638 + .long 1116859488 + .long 1044075008 + .long 892958461 + .long 1116859488 + .long 1044075008 + .long 892958461 + .long 1116745640 + .long 1044424192 + .long 3048660547 + .long 1116631792 + .long 1044777472 + .long 3049032043 + .long 1116517944 + .long 1045134848 + .long 906867152 + .long 1116404096 + .long 1045496832 + .long 911484894 + .long 1116404096 + .long 1045496832 + .long 911484894 + .long 1116290248 + .long 1045863424 + .long 912580963 + .long 1116176400 + .long 1046235136 + .long 3058440244 + .long 1116062552 + .long 1046610944 + .long 895945194 + .long 1116062552 + .long 1046610944 + .long 895945194 + .long 1115948704 + .long 1046991872 + .long 904357324 + .long 1115834856 + .long 1047377920 + .long 902293870 + .long 1115721008 + .long 1047769088 + .long 907149878 + .long 1115721008 + .long 1047769088 + .long 907149878 + .long 1115529456 + .long 1048165888 + .long 3052029263 + .long 1115301760 + .long 1048567808 + .long 3035959522 + .long 1115301760 + .long 1048567808 + .long 3035959522 + .long 1115074064 + .long 1048775680 + .long 892998645 + .long 1115074064 + .long 1048775680 + .long 892998645 + .long 1114846368 + .long 1048982400 + .long 881767775 + .long 1114618672 + .long 1049192064 + .long 893839142 + .long 1114618672 + .long 1049192064 + .long 893839142 + .long 1114390976 + .long 1049404800 + .long 896498651 + .long 1114390976 + .long 1049404800 + .long 896498651 + .long 1114163280 + .long 1049620736 + .long 3033695903 + .long 1114163280 + .long 1049620736 + .long 3033695903 + .long 1113935584 + .long 1049839872 + .long 3029986056 + .long 1113935584 + .long 1049839872 + .long 3029986056 + .long 1113707888 + .long 1050062336 + .long 884671939 + .long 1113707888 + .long 1050062336 + .long 884671939 + .long 1113480192 + .long 1050288256 + .long 894707678 + .long 1050279936 + .long 964848148 + .long 1207959616 + .long 1174405120 + .long 1002438656 + .long 1400897536 + .long 0 + .long 1065353216 + .long 1121868800 + .long 3212771328 + .long 3079888218 + .long 870463078 + .long 2957202361 + .long 749987585 + .long 2838272395 + .long 631921661 + .long 2720751022 + .type __slog10_la_CoutTab,@object + .size __slog10_la_CoutTab,848 + .align 4 + +.FLT_83: + .long 0x53800000 + .type .FLT_83,@object + .size .FLT_83,4 + .align 4 + +.FLT_84: + .long 0x3bc00000 + .type .FLT_84,@object + .size .FLT_84,4 + .align 4 + +.FLT_85: + .long 0x48000040 + .type .FLT_85,@object + .size .FLT_85,4 + .align 4 + +.FLT_86: + .long 0x46000000 + .type .FLT_86,@object + .size .FLT_86,4 + .align 4 + +.FLT_87: + .long 0x42de5c00 + .type .FLT_87,@object + .size .FLT_87,4 + .align 4 + +.FLT_88: + .long 0xbf7f0000 + .type .FLT_88,@object + .size .FLT_88,4 + .align 4 + +.FLT_89: + .long 0xb7935d5a + .type .FLT_89,@object + .size .FLT_89,4 + .align 4 + +.FLT_90: + .long 0x33e23666 + .type .FLT_90,@object + .size .FLT_90,4 + .align 4 + +.FLT_91: + .long 0xb04353b9 + .type .FLT_91,@object + .size .FLT_91,4 + .align 4 + +.FLT_92: + .long 0x2cb3e701 + .type .FLT_92,@object + .size .FLT_92,4 + .align 4 + +.FLT_93: + .long 0xa92c998b + .type .FLT_93,@object + .size .FLT_93,4 + .align 4 + +.FLT_94: + .long 0x25aa5bfd + .type .FLT_94,@object + .size .FLT_94,4 + .align 4 + +.FLT_95: + .long 0xa22b5dae + .type .FLT_95,@object + .size .FLT_95,4 + .align 4 + +.FLT_96: + .long 0x3e9a0000 + .type .FLT_96,@object + .size .FLT_96,4 + .align 4 + +.FLT_97: + .long 0x39826a14 + .type .FLT_97,@object + .size .FLT_97,4 + .align 4 + +.FLT_98: + .long 0xbf800000 + .type .FLT_98,@object + .size .FLT_98,4 + .align 4 + +.FLT_99: + .long 0x3f800000 + .type .FLT_99,@object + .size .FLT_99,4 diff --git a/sysdeps/x86_64/fpu/svml_d_log102_core.S b/sysdeps/x86_64/fpu/svml_d_log102_core.S new file mode 100644 index 0000000000..3d0c058ac2 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log102_core.S @@ -0,0 +1,29 @@ +/* Function log10 vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_log10) +WRAPPER_IMPL_SSE2 log10 +END (_ZGVbN2v_log10) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_log10) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_log104_core.S b/sysdeps/x86_64/fpu/svml_d_log104_core.S new file mode 100644 index 0000000000..9e32c62c0e --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log104_core.S @@ -0,0 +1,29 @@ +/* Function log10 vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_log10) +WRAPPER_IMPL_AVX _ZGVbN2v_log10 +END (_ZGVdN4v_log10) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_log10) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_log104_core_avx.S b/sysdeps/x86_64/fpu/svml_d_log104_core_avx.S new file mode 100644 index 0000000000..2b073b16f9 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log104_core_avx.S @@ -0,0 +1,25 @@ +/* Function log10 vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_log10) +WRAPPER_IMPL_AVX _ZGVbN2v_log10 +END (_ZGVcN4v_log10) diff --git a/sysdeps/x86_64/fpu/svml_d_log108_core.S b/sysdeps/x86_64/fpu/svml_d_log108_core.S new file mode 100644 index 0000000000..853d791f2d --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log108_core.S @@ -0,0 +1,25 @@ +/* Function log10 vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_log10) +WRAPPER_IMPL_AVX512 _ZGVdN4v_log10 +END (_ZGVeN8v_log10) diff --git a/sysdeps/x86_64/fpu/svml_s_log10f16_core.S b/sysdeps/x86_64/fpu/svml_s_log10f16_core.S new file mode 100644 index 0000000000..769603c92d --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log10f16_core.S @@ -0,0 +1,25 @@ +/* Function log10f vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_log10f) +WRAPPER_IMPL_AVX512 _ZGVdN8v_log10f +END (_ZGVeN16v_log10f) diff --git a/sysdeps/x86_64/fpu/svml_s_log10f4_core.S b/sysdeps/x86_64/fpu/svml_s_log10f4_core.S new file mode 100644 index 0000000000..523525409b --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log10f4_core.S @@ -0,0 +1,29 @@ +/* Function log10f vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_log10f) +WRAPPER_IMPL_SSE2 log10f +END (_ZGVbN4v_log10f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_log10f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_log10f8_core.S b/sysdeps/x86_64/fpu/svml_s_log10f8_core.S new file mode 100644 index 0000000000..630ec76b7f --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log10f8_core.S @@ -0,0 +1,29 @@ +/* Function log10f vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_log10f) +WRAPPER_IMPL_AVX _ZGVbN4v_log10f +END (_ZGVdN8v_log10f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_log10f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_log10f8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_log10f8_core_avx.S new file mode 100644 index 0000000000..374208cb2c --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log10f8_core_avx.S @@ -0,0 +1,25 @@ +/* Function log10f vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_log10f) +WRAPPER_IMPL_AVX _ZGVbN4v_log10f +END (_ZGVcN8v_log10f) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log10-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-log10-avx.c new file mode 100644 index 0000000000..770fd725e0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log10-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log10.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log10-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-log10-avx2.c new file mode 100644 index 0000000000..770fd725e0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log10-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log10.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log10-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-log10-avx512f.c new file mode 100644 index 0000000000..770fd725e0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log10-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log10.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log10.c b/sysdeps/x86_64/fpu/test-double-libmvec-log10.c new file mode 100644 index 0000000000..cb1ab36819 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log10.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC log10 +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 8e1aeb6cff..3ef095ae62 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVbN2v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVbN2v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVbN2v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVbN2vv_hypot) +VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVbN2v_log10) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 7f144711bf..1606920439 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -45,6 +45,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVdN4v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVdN4v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVdN4v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVdN4vv_hypot) +VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVdN4v_log10) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 48824d699a..934003b172 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVcN4v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVcN4v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVcN4v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVcN4vv_hypot) +VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVcN4v_log10) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index eda821a402..f6eff0b72d 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10), _ZGVeN8v_exp10) VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVeN8v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVeN8v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVeN8vv_hypot) +VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVeN8v_log10) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx.c new file mode 100644 index 0000000000..04f017f1e2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-log10f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx2.c new file mode 100644 index 0000000000..04f017f1e2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-log10f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx512f.c new file mode 100644 index 0000000000..04f017f1e2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log10f-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-log10f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log10f.c b/sysdeps/x86_64/fpu/test-float-libmvec-log10f.c new file mode 100644 index 0000000000..682ce1e239 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log10f.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC log10f +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 89132d61e9..3927d2e332 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVeN16v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVeN16v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVeN16v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVeN16vv_hypotf) +VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVeN16v_log10f) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 5100f35035..a9f012a4ba 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVbN4v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVbN4v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVbN4v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVbN4vv_hypotf) +VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVbN4v_log10f) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index cd9be5eed4..00486c2965 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -45,6 +45,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVdN8v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVdN8v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVdN8v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVdN8vv_hypotf) +VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVdN8v_log10f) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 44e4fd773c..296a4d68a8 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -42,6 +42,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp10f), _ZGVcN8v_exp10f) VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVcN8v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVcN8v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVcN8vv_hypotf) +VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVcN8v_log10f) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48110 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E0E1E3857C6A for ; Wed, 24 Nov 2021 20:38:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E0E1E3857C6A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637786281; bh=b/DA7nm27RFL2PqhgSLp+X7B7csQRNVTgm2UCqfSTAM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=QQ70v/zAO7CQoyzfpkD8FFXDBNM3XskdgQKMHwejKFy+DkVei8DAYbMvFZEYLYptg RtPeMM0QXKGe4UzmV0rwPGokholge6C1U9dJGSVtcUgR1wiNHH4Umuii6C5URfy30Y gLN0yz/BhbVuGS8N8stfRBInNjtfjEhfHcIaSTRg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 7A0D83857C51 for ; Wed, 24 Nov 2021 19:38:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7A0D83857C51 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235177340" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235177340" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="571581766" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga004.fm.intel.com with ESMTP; 24 Nov 2021 11:38:13 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XJ021555; Wed, 24 Nov 2021 11:38:13 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 32/42] x86-64: Add vector log10/log10f to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:57 -0800 Message-Id: <20211124193807.2093208-33-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector log10/log10f and input files to libmvec microbenchmark. libmvec-log10-inputs: 70% Normal random distribution range: (0.0, DBL_MAX) mean: 1.0 sigma: 50.0 30% uniform random distribution in range (0.0, 1.0e6) libmvec-log10f-inputs: 70% Normal random distribution range: (0.0f, FLT_MAX) mean: 1.0f sigma: 50.0f 30% uniform random distribution in range (0.0f, 1.0e6f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-log10-inputs | 4100 ++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-log10f-inputs | 4100 ++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-log10-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-log10f-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 15a19ddf37..be16c2676b 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -62,6 +62,7 @@ libmvec-bench-funcs = \ exp2 \ expm1 \ hypot \ + log10 \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-log10-inputs b/sysdeps/x86_64/fpu/libmvec-log10-inputs new file mode 100644 index 0000000000..6d7e3be9c6 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-log10-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (0, 1.8e+308), mean = 1, standard deviation = 50 +0x1.51137ef4e57c7p+5 +0x1.2c38e5ab36409p+3 +0x1.2dbe58827c9bcp+5 +0x1.b7622f809b9a6p+6 +0x1.f3cf03b255bdcp+4 +0x1.44f2c55b96bb5p+6 +0x1.68709287fb6a5p+2 +0x1.3f1e1e2b97c0ep+2 +0x1.131c6d72d5757p+13 +0x1.7fa5eb720baffp+6 +0x1.2c36eaf5f8f97p+18 +0x1.5672c6320379p-1 +0x1.d046d9f22bbdcp+4 +0x1.dfc9c82085ab7p+4 +0x1.504689a4725e1p+5 +0x1.5c9deb8839062p+5 +0x1.778d1948193c5p+5 +0x1.30fda15d0b169p+5 +0x1.c8b7b39e44d45p+4 +0x1.2afe89293ed36p+4 +0x1.7fef6993f8ffep+4 +0x1.53a5c31378476p+11 +0x1.f7bbf36551204p-2 +0x1.b9765a754004fp+17 +0x1.162b4ff311b8ap+6 +0x1.79f61d904c104p+4 +0x1.a23691911d56bp+17 +0x1.3976b0b6c60d4p+3 +0x1.28512dcc88f9fp+6 +0x1.5b69f2f0a089fp+9 +0x1.03e5ffb62b0ep+1 +0x1.360c2fd5d96cdp+3 +0x1.31832b9a33271p+6 +0x1.f097b78269411p+2 +0x1.16f993489559cp+5 +0x1.1d9f8977ebbe4p+5 +0x1.d6a02a9094e77p+5 +0x1.047622e9d8864p+6 +0x1.17bd451087a8bp+3 +0x1.424ed8ee0ca0bp+5 +0x1.8c60920cb5636p+5 +0x1.5a9d656a28ca5p+7 +0x1.f5e844f67db6p+4 +0x1.e09beebe8774fp+4 +0x1.aa49b5249a81cp-1 +0x1.61cd817d3ea7p+3 +0x1.f022036fd85e9p+1 +0x1.da8593683f1adp+4 +0x1.a5d7c4db789ebp-1 +0x1.6efd02f99444ep+5 +0x1.a2fdefa3581e1p+3 +0x1.1df5c8da377f5p+3 +0x1.8073ac20e1ca3p+3 +0x1.567ea17c123bbp+11 +0x1.92e5406e57dadp+5 +0x1.bd3ebce3d27f1p+15 +0x1.80fc3a87343e2p-1 +0x1.b1231e012adb6p+4 +0x1.30fd92f5b2049p+6 +0x1.f8ca2b55ea603p-1 +0x1.c732206d3e9a5p+2 +0x1.d336902cfed45p+2 +0x1.26310287abc7ap+5 +0x1.5d95c5e88df54p+4 +0x1.44d018f9759a7p+9 +0x1.eab83a6cf0d08p+4 +0x1.375aeb58f1d12p+5 +0x1.18282e5b43217p+1 +0x1.239514dcbf256p+5 +0x1.4a32d76398481p+3 +0x1.40dd700b60bcap-1 +0x1.22515f20b19c9p+5 +0x1.15b488c9556aep+9 +0x1.07a98c97c37a6p+7 +0x1.68a083cf97914p+1 +0x1.96ab371dcd545p+6 +0x1.6da1f63a369c8p+6 +0x1.2364de692e4ccp+5 +0x1.7e588bc24f1b1p+5 +0x1.0267ea81bb599p+3 +0x1.a3d7ff049702p+2 +0x1.674c2ed585e57p+6 +0x1.7aa24673e3745p+3 +0x1.6b69059d6acd8p+4 +0x1.0c97057db748p+15 +0x1.513324c21f40ep+6 +0x1.ee54ae3cc4196p+4 +0x1.b91f5ab95ffcap+4 +0x1.9a9b6a9764b9fp+3 +0x1.ac894c9d00891p+3 +0x1.101b996c062edp+5 +0x1.25dfe1a7e7a57p+6 +0x1.71c481084adccp+9 +0x1.e9f892151369ap+0 +0x1.2b738b29a4553p+5 +0x1.049d8955106dp+4 +0x1.30ce462a964f7p+6 +0x1.11c1bc9c5b182p+6 +0x1.0c91c4109e0eep+6 +0x1.27a39f4d4cc25p+4 +0x1.042469c0a86cfp+3 +0x1.0ff6bad3737fp+6 +0x1.4b5bd06e92d1cp+10 +0x1.50ee4477f2b07p+4 +0x1.c4813192d1543p+11 +0x1.1e100e5c25fd7p+18 +0x1.6c50ba640a944p-1 +0x1.fa933f6b27be4p+3 +0x1.eea6d7afb1705p+14 +0x1.eece940753f8dp+17 +0x1.994aa8da49472p+6 +0x1.4d2e68fa79187p+0 +0x1.916d9bafc8427p+6 +0x1.a1cd37c0787p+4 +0x1.d108cb5750b53p+5 +0x1.7a1b27edf8633p+4 +0x1.f7a270ddd582ap+4 +0x1.6634d86c688abp+1 +0x1.7e8a223fade01p+1 +0x1.b68b5e8367aep+4 +0x1.fe84f7acb4132p+4 +0x1.07c2cf742b76ep+4 +0x1.2422902c661a5p+5 +0x1.91e31dfe691c3p+17 +0x1.52cf81c440934p+6 +0x1.41cecdcc8ae62p+3 +0x1.367f76472b182p+3 +0x1.5c7167d9d33bfp+2 +0x1.ea1cb4042eda5p+5 +0x1.1430ad5a30307p+16 +0x1.740e695d6bcd4p+1 +0x1.ad54d69a3e1e3p+15 +0x1.7e03ab74a8242p+5 +0x1.123d10558139cp+4 +0x1.2f2ff008621a1p+7 +0x1.34ac07db4e27cp+4 +0x1.92e4caa7765cfp+6 +0x1.d66d79c23e6a9p+5 +0x1.862980f8bc605p+16 +0x1.10389712635c8p+11 +0x1.fe0b7f9e74ddap+3 +0x1.98a92df44e166p+8 +0x1.0ed4c342b5393p+4 +0x1.36e51d5f06f2dp+5 +0x1.d0073fe34c559p+10 +0x1.ef43d1ae89513p+5 +0x1.f39a4b7e3f75ep+11 +0x1.c9ebb71404db1p+1 +0x1.31c2739144e3ap+3 +0x1.e34b91b7e1c4cp+5 +0x1.16385261b4e57p+5 +0x1.0e2773fd9b854p+5 +0x1.0804023450004p-2 +0x1.44296b7aace7ep+6 +0x1.854293674fe21p+12 +0x1.850ce327be9e8p+6 +0x1.fdafb80a42baep+5 +0x1.71f9c52365fdfp+6 +0x1.e273c7656f69dp+5 +0x1.6a6c77e6bc978p+2 +0x1.4a6709afaa9cp+14 +0x1.9f45ef257b2c5p+2 +0x1.e46dfa1634567p+5 +0x1.65f7a08deaa27p+5 +0x1.6f3c3f6beef83p+9 +0x1.1ea9c01434776p+0 +0x1.2ba3908d84678p+6 +0x1.8664a1c74ddf5p+12 +0x1.f29c2890fa44fp+3 +0x1.81efaa4a29ee2p+5 +0x1.6193bb955593dp+5 +0x1.9a9a556b755aap+2 +0x1.15769f4f2ef8bp+3 +0x1.73d878a5d703dp+3 +0x1.2688589b5fa9p+5 +0x1.4a9bfca928fc2p+2 +0x1.3df5dba7378p+13 +0x1.1697d31ac8d7bp+5 +0x1.8fcd7caaf068ep+1 +0x1.064903a88ceccp+16 +0x1.1f98b94a30135p+5 +0x1.35826eebdf224p+5 +0x1.705441b4b6e1p+5 +0x1.f30bda0c36ab6p+6 +0x1.9620837c75cbap-2 +0x1.ca84696a686e2p+5 +0x1.32842e9ed1d9ap+0 +0x1.c1821f3022fdp+2 +0x1.7306415f38c4fp+6 +0x1.36d24be82a1b8p+15 +0x1.981339a30a3edp+5 +0x1.f42e751bf9f64p+5 +0x1.0c6fcdc9f0868p+5 +0x1.0b7a1e6fa969fp+19 +0x1.9fe11badb0c43p+6 +0x1.ac51e627c7b88p+3 +0x1.f2bfa47beed52p+3 +0x1.52d1a6f2159dep-1 +0x1.f55578c4d6276p+3 +0x1.10f66640ba0b6p+12 +0x1.534255858696cp+6 +0x1.8e6b7ae770121p+2 +0x1.4bc2b880e0db7p+4 +0x1.be90eeaf78ce1p+5 +0x1.7ff08b869692ap+6 +0x1.4b84eff634fe8p+3 +0x1.3a42e466456f8p+5 +0x1.2a30287bbc57dp-2 +0x1.1cf9e442c2d45p+5 +0x1.fc857fe73ce1p+5 +0x1.12f5d32fdc7a7p+6 +0x1.c19659442257p+5 +0x1.3415072a1f2b2p+6 +0x1.ad53ce0a795d2p+5 +0x1.ca181be1cd6e9p+4 +0x1.1550ca3a94d94p+4 +0x1.b5a4e4e9efd2ep+12 +0x1.807c3b1bebcep+5 +0x1.f1d98a03a7a94p+6 +0x1.23a25f5229ae5p+14 +0x1.9fa9cc0766788p+0 +0x1.30d2cd7351628p+13 +0x1.787207faebb6dp+1 +0x1.06eb7911383ddp+4 +0x1.96dcc3aa55e59p+14 +0x1.1558dad17c3c7p+7 +0x1.1cf9b07942ed6p+1 +0x1.0e95378eb2205p+5 +0x1.766027bb43e0ap+4 +0x1.6133e4e71c98dp+0 +0x1.35e53781308f5p+5 +0x1.bd67bf3cffc74p+5 +0x1.17e0fb28dd9a5p+5 +0x1.d50cb5a2c105ap+5 +0x1.4dd37caadd99bp+4 +0x1.3e595517641f9p+7 +0x1.6e83451711aeep+10 +0x1.71db846db596p+6 +0x1.7a99c5b3f8cfp+4 +0x1.319beba5192a4p+4 +0x1.962ea14639d63p+5 +0x1.184fec2e5ae98p+5 +0x1.5710e77091bfcp+4 +0x1.9581ea3654ef7p+4 +0x1.b3533bd776841p+4 +0x1.961f7c17febf4p+6 +0x1.173294dfd9951p+5 +0x1.3c21ce0009e7ep+18 +0x1.ff70ea01c4c17p+4 +0x1.c544ebef0706dp+4 +0x1.844bf61c8a89ap+2 +0x1.07778208bba26p+6 +0x1.fdea9d5c1b151p+5 +0x1.b1c63faf45792p+4 +0x1.832de22e85b5fp+5 +0x1.04b2401d15143p+14 +0x1.cf31cc63a807p+13 +0x1.67d5c3c2c57f7p+9 +0x1.29782ad3ca72fp+4 +0x1.696bbb312cf6ap+4 +0x1.2882df09d3248p-3 +0x1.84ae16fcdf935p+2 +0x1.3cfc71ae2a7c3p+4 +0x1.26864e0e42b52p+6 +0x1.b1a522ab0c5dfp+3 +0x1.b4fa055b9ae0fp+8 +0x1.7e8376de8c0c7p+8 +0x1.fa3e6260545ecp+5 +0x1.0db548f1cd92fp+4 +0x1.4fe699baa6bcep+3 +0x1.42019409b2002p-2 +0x1.c25daf412db97p+5 +0x1.f56865c420579p+4 +0x1.5da0c81eec59ap+5 +0x1.1994a26b69bf4p+6 +0x1.df7d46fc6b166p+5 +0x1.82eb306a4ec6ap+3 +0x1.423e736e6389ap+6 +0x1.bb215051aa7dep+7 +0x1.538cae1860284p+1 +0x1.768de3dcdd002p+4 +0x1.adfffa6ea6151p+6 +0x1.a82292fef43dfp+6 +0x1.6e93a8b551917p+6 +0x1.a4ec06c002052p+4 +0x1.af41d2c35d949p+3 +0x1.78d41b45fca4ap+0 +0x1.7bc4aba694229p+6 +0x1.03e0846fc96cap+4 +0x1.054d123d97cedp+1 +0x1.10028f1c64b6bp+4 +0x1.a0b90bc0b27aap+2 +0x1.e64be7d1dad4p+2 +0x1.3ded20379d1cp+5 +0x1.817153927e555p+3 +0x1.05cfac09df298p+1 +0x1.f49cfe498f74dp+5 +0x1.44e6f0a204103p+6 +0x1.3da56775be6aep+4 +0x1.41ae207c31b07p+2 +0x1.05fc75d958e7ap+11 +0x1.134e8f22d1819p+6 +0x1.bc5d4a33b617dp+3 +0x1.51536c1460d72p+13 +0x1.c90231b0948c5p+6 +0x1.e0115b7074159p+4 +0x1.2b120488d4105p+4 +0x1.1275f175a903cp+10 +0x1.60a0e954e18efp+1 +0x1.af7846e661174p+3 +0x1.a9e5b00a3b1c5p+6 +0x1.a5f5dc93fabc5p+5 +0x1.0521591101c03p+3 +0x1.83a6992cfdc66p+6 +0x1.aed8124cd520fp+3 +0x1.56fb3aeed567dp+6 +0x1.df111dfa2dd0ep+8 +0x1.e3c2ab21bff9fp+5 +0x1.e98c04eb674ffp+2 +0x1.01929883c7acp+4 +0x1.857442b923e57p+9 +0x1.db7aade0dff4fp+4 +0x1.36561bcc0600dp+5 +0x1.8787c8e01997ep+5 +0x1.2c496b8ff39d1p+6 +0x1.acd185d86fe66p+4 +0x1.3b9a5e2aa737ep+7 +0x1.fd0bee1632917p+3 +0x1.084b630157e18p+3 +0x1.4f24cab7ea8b2p+4 +0x1.db32a4f666d29p+5 +0x1.47d1070a821ep+6 +0x1.f98c0f4167bd8p+3 +0x1.8e6405fd5f39ap+1 +0x1.08285c705c182p+11 +0x1.ceec092f14b5cp+3 +0x1.3c64729b1bd92p+5 +0x1.c9f3cff14ab45p+3 +0x1.f2fe7f5317318p+0 +0x1.32cc36d87fcbp+4 +0x1.c35cf9405c137p+8 +0x1.0e7dac445b9edp+15 +0x1.a889991ce2e08p+4 +0x1.807cd4b4abee8p+0 +0x1.bc60455690d72p+1 +0x1.a4681225ae7bp+5 +0x1.eeb5b9e849e25p+4 +0x1.0ff101e17d707p+19 +0x1.c70a399cde3a8p-4 +0x1.8c86e4c96bffcp+6 +0x1.6a39c1d79125cp+5 +0x1.91c1ae537cbebp-3 +0x1.d2c86a7f216bep+17 +0x1.2f9da91a44f63p-1 +0x1.06fc8ca5486dcp+6 +0x1.92bb62defe13cp+4 +0x1.112062aea9bd9p+2 +0x1.816bc96679ee3p+18 +0x1.470a7fd89bbf2p+6 +0x1.ee4731ca9e20ep+5 +0x1.fe8ae4524c10fp+11 +0x1.d4ca660ce7697p+11 +0x1.acfdad0a01a2bp+2 +0x1.21515a27cc01dp+5 +0x1.908784fcde489p+5 +0x1.5d6e275db3a1p+10 +0x1.df0089eadcab8p+8 +0x1.b7c7a5d5e1c9fp+4 +0x1.f759e4e35d49ep+4 +0x1.316c2addb785p+6 +0x1.2a70aba12a32ep+4 +0x1.b45dc72f16c3dp+5 +0x1.c9c4437cd0f09p+10 +0x1.6cac5e54a9e56p+6 +0x1.0f787897131ddp+5 +0x1.6db32b4427893p+4 +0x1.b108d149c68dep+4 +0x1.b26ad62ffb42ap+6 +0x1.aad3eded0f04dp+5 +0x1.6a5aa4793a87ap+9 +0x1.00432d2ff5891p+10 +0x1.c2c711604f3c2p+3 +0x1.054541a994ce9p+9 +0x1.3fef3b7cf883cp+4 +0x1.871a070bc1ecap+5 +0x1.6c102a4602715p+5 +0x1.af7ca638420cp+4 +0x1.a00f2222ce8b5p+5 +0x1.6ff62ea074d8dp+6 +0x1.14e1e514e4604p+2 +0x1.12812a7a5e488p+3 +0x1.2d75b969f3f1dp+4 +0x1.341a63ed9931ap+5 +0x1.900a2434ca9f8p+6 +0x1.0aa2ecee5c682p+10 +0x1.5415177f68443p+4 +0x1.67cb301399ea9p+5 +0x1.c88c8404ee4a9p+5 +0x1.7c8456e4a3e09p+16 +0x1.37e5f87520898p+5 +0x1.87edca8b88ddbp+6 +0x1.029e47861a8dap+3 +0x1.35c1d4513ee1dp+6 +0x1.ae4aa15f70745p+5 +0x1.2c396af7e0098p+3 +0x1.58b32a7435d99p+9 +0x1.123685341ff79p+5 +0x1.b11686a76dca3p+4 +0x1.7a2af261a1affp+5 +0x1.adae44171c30ap+7 +0x1.10bc227b562fbp+5 +0x1.c1173b4e5ddadp+4 +0x1.d9001dca0d0eep+4 +0x1.a55d8a858da63p+17 +0x1.cd9a6ee820ed5p+3 +0x1.2b5dea169fecep+2 +0x1.8bde1ed4662eep+7 +0x1.99c44fd3ac3b8p+4 +0x1.4057f04aa7e55p+2 +0x1.401eb9849a647p+7 +0x1.44ac15c514cabp+1 +0x1.76f13e7054f94p+4 +0x1.2ebcf3dcb41c8p+5 +0x1.9761f1fbccb06p+0 +0x1.ff7194abad09dp+3 +0x1.9faa43f6a5838p-4 +0x1.f4cbffdf21417p+3 +0x1.e45ac2ca35d02p+5 +0x1.844f837d8ab5dp+4 +0x1.874483137bc43p+2 +0x1.69a966c758b93p+5 +0x1.a33ecd67df3e5p+4 +0x1.aace2c27fbc8ep+3 +0x1.cc8989e16867fp+2 +0x1.b94fe32a76798p-1 +0x1.ec70194b48938p-1 +0x1.7d2c291d4a5afp+5 +0x1.3fdef362abep+4 +0x1.fc5d4cd67bbcp+2 +0x1.4ccb03df3c899p+3 +0x1.21a5403663219p+5 +0x1.c95ae1fb09af9p+4 +0x1.7d909dfe17d1ep+16 +0x1.8904df8cef977p+5 +0x1.2e1c5bf07d9dp+4 +0x1.5562d5318113ap+5 +0x1.2fca278dafa5fp+4 +0x1.97f5979872be8p+8 +0x1.1813c576a710ap+5 +0x1.4274ed01e6e62p+17 +0x1.edb2c956326acp+3 +0x1.00eca5020d048p+6 +0x1.43fcaaeab506cp+3 +0x1.c81b1b211dc46p+11 +0x1.946d6e81d5d1cp+5 +0x1.277c018981a36p+6 +0x1.8e64f2f9b719dp+4 +0x1.13445d79354c5p+4 +0x1.48a9f7fc3c622p+4 +0x1.feef8e606f2fp+11 +0x1.90e7dc0b762dep+11 +0x1.fb6bd01e7f7f1p+6 +0x1.26d3104e55d0ep+1 +0x1.5dcb2be44062dp+5 +0x1.2635b8bd5b8e3p+5 +0x1.5cd7af0180081p+6 +0x1.35d963b516b07p+16 +0x1.1be6e368125cp+3 +0x1.9b593e2fb539dp+0 +0x1.a1c6abb5f9edcp+5 +0x1.b25baf9ade36dp+0 +0x1.2fb4c34d43d8ep+12 +0x1.af2dbf37554ep+4 +0x1.171d14fc28a7fp-2 +0x1.01f6e5b2bca52p+12 +0x1.cc1d65e87d738p+16 +0x1.712ebb00b0645p+5 +0x1.e4c8786796bbfp+5 +0x1.7fda224c07a83p+5 +0x1.41376664a984ap+5 +0x1.e3b361813885dp+5 +0x1.387b3ded66f03p+6 +0x1.8406a718c050ap+3 +0x1.6ba21a04d265bp+5 +0x1.9794a8a8b9c03p+18 +0x1.6e7ab8a0dd1e2p+5 +0x1.735ef6fca641fp+6 +0x1.74dce7532b992p+5 +0x1.5d9ef42caeaacp+4 +0x1.96ad600480f9bp+8 +0x1.4744fd6f04e25p+3 +0x1.1927d5899d554p+13 +0x1.f2ca4be85c1ddp+4 +0x1.4e576c0ecb362p+8 +0x1.73a1407bd75f5p+18 +0x1.18c30b9eeeb94p+6 +0x1.0f27f650e9956p+5 +0x1.0f908faff4f08p+4 +0x1.d236fcf469a04p+2 +0x1.54b4cd24075acp+12 +0x1.a851ad8946cebp+0 +0x1.a4e12403dd402p+10 +0x1.aa1703140020bp+5 +0x1.8d9924165b94ap+6 +0x1.dd5e35e35befap-3 +0x1.e8c328b00bf73p+6 +0x1.6ab7d7cfdaf79p+5 +0x1.a7f84cac6a765p+5 +0x1.ba645b3710a92p+3 +0x1.2c58e62ab9d62p+4 +0x1.b3b7c47fa639ep+5 +0x1.9f7c8e4eb03dcp+2 +0x1.78cee59e65ae4p+4 +0x1.4676e98b619b1p+16 +0x1.1cffb339bcdecp+6 +0x1.faf99381ff5dcp+4 +0x1.e728bfda70392p+5 +0x1.501ecd620922dp+9 +0x1.038cce4f9b322p+6 +0x1.3d5fe579f8a33p+4 +0x1.7c503ec894fecp+6 +0x1.ba6244e5e1775p+5 +0x1.2d569a01f6ee6p+18 +0x1.236dd05965d8cp+3 +0x1.2db4ae72fbed8p+15 +0x1.deac8d3028b0ap+3 +0x1.88a0d3dabb65ep+4 +0x1.0d0431e118b2bp+3 +0x1.6425feb9c71c1p+2 +0x1.61db7ee53c86dp+2 +0x1.38ea349bfdaf1p+6 +0x1.87779a04d64ep+1 +0x1.48bd9ca9cab06p+8 +0x1.b208cb36e04cap+6 +0x1.0d5bc9c865f93p+14 +0x1.9f53a2e4617f7p+17 +0x1.4e385a336fa94p+4 +0x1.d66c8a146754ap+4 +0x1.da55698dba9f5p+5 +0x1.1162d61e5537fp+5 +0x1.000793281682ap+15 +0x1.2506223ae82f4p+4 +0x1.36578fb3da7e3p+6 +0x1.3e7eb31d77aebp+1 +0x1.dd482ee77d50dp+1 +0x1.aaef6fb13b1d5p+2 +0x1.2d7c2dfc23b47p+3 +0x1.e63d83e3be1f4p+2 +0x1.4c58ef7dcc0efp+6 +0x1.286ed2ff7f64p+5 +0x1.ae5a5e7b80d4fp+5 +0x1.a414bdeece5fcp+5 +0x1.bd8630c9d9f6dp+5 +0x1.02a9b5e2eab56p+3 +0x1.2229be4ab0cefp+4 +0x1.48b76c29a2eb9p+18 +0x1.9d993f749f3cp+5 +0x1.2f74f3d43ccc6p+5 +0x1.91cd69c6d7141p+4 +0x1.ce6f1e0bb706p+5 +0x1.c41d2e6247258p+13 +0x1.e681a9a1ee19cp+5 +0x1.3959fecf77198p+6 +0x1.27d23856f588ap+6 +0x1.91d85f1c5b532p+2 +0x1.c9775a6b5b261p+5 +0x1.9c90fe40af676p+13 +0x1.2c57e4152e11fp+4 +0x1.152a210110265p+17 +0x1.85206353cbe0ap+3 +0x1.916503fe14a1dp+10 +0x1.a6dd47841b559p+6 +0x1.107bcb06b10d1p+9 +0x1.cd447679e1c1bp+14 +0x1.f107ed18c7e4p+5 +0x1.be9222148926fp+5 +0x1.cb0575cd48829p+6 +0x1.957ceaf31e3a8p+1 +0x1.587bb7e440041p+4 +0x1.f9263f7f6a65ep+5 +0x1.1492ca6540988p+6 +0x1.1a2fc0122ef4fp+4 +0x1.2c5705a8706a1p+5 +0x1.a1dd7b474b9c7p+4 +0x1.e84c68a0f55d7p+1 +0x1.62ccd3bcc9e47p+5 +0x1.15cda5f545772p+2 +0x1.67c2efef9216ap+3 +0x1.a918e54b86041p+3 +0x1.cb041dca5aecfp+5 +0x1.b0c1ba2be434p+5 +0x1.21efdb87e277ep+5 +0x1.03fcf14ad8b02p+5 +0x1.b69b8f8487425p+4 +0x1.f0fd6ee5ebf97p+5 +0x1.ec9813ef62baep-2 +0x1.0d8d3b7c394b1p+3 +0x1.87ec4af2d2ed6p+6 +0x1.e72d1695d8421p+3 +0x1.d8468895d3e48p+3 +0x1.e1270f60e46c5p+4 +0x1.8b4043048e4e9p+5 +0x1.0f3f1c5e3eb47p+5 +0x1.ece83f94c7da5p+5 +0x1.0f0d5ba415e9dp-1 +0x1.62e6c1f1f66ccp+4 +0x1.c3889dd3b10c4p+3 +0x1.11991cc98c781p+5 +0x1.e841e69483fddp+3 +0x1.e9df4b6d8f001p+8 +0x1.175b571e49cc1p+18 +0x1.618e44ac3792p+5 +0x1.f2deb6809d7a6p+3 +0x1.a2d6a7d525958p+4 +0x1.916284d800af7p+5 +0x1.25ad3ffb1bf43p+5 +0x1.723477821a7f9p+3 +0x1.98767a3685b2fp+6 +0x1.24044c7a1a596p+5 +0x1.e26a08bd5d734p+5 +0x1.37c13af3efab3p+6 +0x1.cc31c9300b6e7p+4 +0x1.039d68ffba201p+6 +0x1.4444df8e1c95fp+3 +0x1.0a62699bb5bep+0 +0x1.2700eff94e41dp+5 +0x1.993279407a6ddp+5 +0x1.fe3112d3e96d7p+5 +0x1.3c54e99ec2d7bp+3 +0x1.10491d25a4577p+6 +0x1.d597b66f66f7p+5 +0x1.dc5c87b21be91p+5 +0x1.a034a2ff3e82bp+5 +0x1.be046120064a1p+2 +0x1.6fdffab4ee77bp+5 +0x1.b76ae04d7e70dp+4 +0x1.c81d48756eb01p+4 +0x1.7f351016e2201p+0 +0x1.70398a0cd7ff5p+11 +0x1.fcf5da71c1ddep+4 +0x1.721cd1afbac7p+6 +0x1.48d3e3bfa091p+9 +0x1.9282509b1ce1ep+6 +0x1.f46adea4f5525p+9 +0x1.ea8d8d09544b3p+5 +0x1.634197ae539bp+5 +0x1.7997b1db9f9dbp+8 +0x1.fcbaea59d20eep+5 +0x1.a2d1d0a6524bbp+19 +0x1.a8a402cc337f8p+6 +0x1.faa6e09769bbfp+5 +0x1.352ce9b1c3c99p+6 +0x1.0f9e5ad9e4d4p+7 +0x1.7ede9965f805ep+4 +0x1.59b9ece4d7086p+2 +0x1.809f24080f26bp+5 +0x1.f2cb7a39e2ebbp+0 +0x1.b383d89779f6bp+5 +0x1.ca8d9803f941ap-2 +0x1.a006a28516bc2p+1 +0x1.248f1abbe5298p+4 +0x1.1cc2da35a2ce4p+7 +0x1.090bedb800ebbp+6 +0x1.779fbd18c5366p+5 +0x1.4ad68d9066c0ap+3 +0x1.979ef250bb00ap+9 +0x1.7a7a10218e9e5p+5 +0x1.7494061487894p+6 +0x1.7ef3043ae1ffp+1 +0x1.d34a15ba8b03p+3 +0x1.a6c459fb11707p+4 +0x1.1400163158023p+4 +0x1.9017188ed9098p+5 +0x1.a7dddb55c0abfp+2 +0x1.afdbdc8ae98aap+5 +0x1.0cda8a02b5968p+5 +0x1.f2ea96e8a1aeap+5 +0x1.1ca05139d329cp+8 +0x1.f82d0f7e88cbdp+3 +0x1.0f6e7223ca5a2p+5 +0x1.a3565be3ab7cap+4 +0x1.432f2593ba253p+5 +0x1.4576f0e18766ap+6 +0x1.47551f0652f2p+9 +0x1.0ad11673e8814p+1 +0x1.3356f564696b2p+4 +0x1.708ed51784316p+3 +0x1.593b1f4cf7ff8p+5 +0x1.8a71af3e6f086p+4 +0x1.c913288e10ee5p+4 +0x1.ca761911d6825p+5 +0x1.7c58f80a2239p+6 +0x1.1ade9b8a02d0cp+6 +0x1.3d1361b87663cp+2 +0x1.145b73a97434fp+5 +0x1.1956d93399a9ap+2 +0x1.8d314e538a12p+3 +0x1.b7304234c8396p+0 +0x1.55b2f4f5af00ap+5 +0x1.e2917cf966dfbp-1 +0x1.cb71501d60ab5p+2 +0x1.0994b2bdf20a1p+5 +0x1.9f227ede82359p+5 +0x1.7c4cb72e6e007p+4 +0x1.ac3e4dfebc3a8p+15 +0x1.9a579fa3cc24dp+3 +0x1.6c94b888cc32fp+4 +0x1.1e274d2b4ef0fp+4 +0x1.c31954f7c0471p+4 +0x1.7651d1e41428fp+6 +0x1.0599eceeb8e3bp+11 +0x1.1456aa2fda1d5p+5 +0x1.2983e988782bp+5 +0x1.4d14a6965a42dp+5 +0x1.1eb5e254eae7cp+0 +0x1.828d0f8b3b36fp+5 +0x1.0a1c01dc1f165p+13 +0x1.0fec2ee326535p+6 +0x1.d73e22ae16652p+4 +0x1.96c56a18327e1p+5 +0x1.6e0130310475fp+17 +0x1.44b2b46682e0fp+3 +0x1.e1035faa404b2p+4 +0x1.51151abf150c8p+2 +0x1.3ea250052b84ep+14 +0x1.50306b521e4bdp+2 +0x1.a048157228dc3p+14 +0x1.ccb8f51e62ffbp+8 +0x1.3df215824f86ep+5 +0x1.ea48e3239153cp+6 +0x1.3d5115f5c41fdp+15 +0x1.d71d7478b87b5p+15 +0x1.bee0f7c0ab0f5p+5 +0x1.2a707e839c556p+1 +0x1.297034a893d1cp+12 +0x1.572884cc28f0dp+6 +0x1.4f56f63b43661p-1 +0x1.0160b30ac0b56p+3 +0x1.78032a5c3507p+5 +0x1.4343fffb156c6p+4 +0x1.54e8b6c39698ap+5 +0x1.8d9774a3fd2b9p+6 +0x1.303f902e02a0ap+4 +0x1.20701acf28ec4p+6 +0x1.73b83c59d70c1p+6 +0x1.8cbdc2d78212fp+5 +0x1.dd01feba597f4p+9 +0x1.29ab4347d9ee7p+6 +0x1.6a07d89c1e6fep+8 +0x1.6efff3ebf301dp+4 +0x1.4aa27d69d75dp+6 +0x1.571359af15b32p-2 +0x1.31d9167210eb1p+5 +0x1.d0b606c9b7e69p+3 +0x1.d1568fde07318p+4 +0x1.e4f1a9881048ep+3 +0x1.4d697b87c75aap+2 +0x1.842b070ae212p+3 +0x1.88c38bbb7126ap+0 +0x1.da1824a2aff47p+2 +0x1.5d2d7a7cfb075p+5 +0x1.e95aba968a36ep+5 +0x1.21b0994f22efbp+17 +0x1.80fd79474365p+3 +0x1.1f527796f9d6ep+0 +0x1.772cc20827805p+5 +0x1.292fb81837ed2p+6 +0x1.02a2d2440f1eep+5 +0x1.8b9b2ad3a7018p+4 +0x1.71cc0b40a190fp+5 +0x1.98d19d61d77e5p+0 +0x1.6f08d85f63b29p+6 +0x1.6bf8eb169c1e6p+3 +0x1.ab3fa0de23b21p+1 +0x1.aee61b58e4c68p+5 +0x1.6b4c75097a988p+5 +0x1.c6e46d9804ff9p+4 +0x1.aab7f71a414e5p+17 +0x1.6a9065373c8ep+13 +0x1.b4aec012bbed1p+5 +0x1.48da44b563a64p+4 +0x1.0f7e1fcd34f46p+3 +0x1.49f530b49f4f9p+13 +0x1.8f7991cfdd1f3p+0 +0x1.87d7cd5102e18p+6 +0x1.4444c85eabceap+6 +0x1.042f3e613a4a8p+6 +0x1.be6272ee85b59p+5 +0x1.93960d8e48f64p+6 +0x1.e7fa4546e4d12p+5 +0x1.1d9665258a094p+6 +0x1.ef5dae6f6dd99p+1 +0x1.0f1d72aa18997p+6 +0x1.54b0fae820971p+5 +0x1.a6887f6e150b3p+4 +0x1.b00039dbb022dp+8 +0x1.06d407301571ap+1 +0x1.8d0685227a702p+3 +0x1.febfafcb0cb2ap+1 +0x1.ef0776a3c9badp+18 +0x1.b6ee82d64a44cp+6 +0x1.e1d88bb523cfep+5 +0x1.52a1d736219f1p-1 +0x1.5747bd764b258p+8 +0x1.9f03a0a2d3689p+4 +0x1.f01e824781ccdp+5 +0x1.feaf3ca76945p+4 +0x1.540ecd246890dp+5 +0x1.18e49bd419031p-1 +0x1.a5fbc1a69c86bp+15 +0x1.4fb71f2dcc6b7p+15 +0x1.4420dd029e9acp+5 +0x1.19f9b31e39b7ep+4 +0x1.ecfe30ac21902p+5 +0x1.121be96eaa599p+5 +0x1.1b4963e0e1841p+6 +0x1.6981fef270f4dp+3 +0x1.eb126004f59e1p+2 +0x1.a411c32d5b1bfp-1 +0x1.aaf6a4294b006p+3 +0x1.511bf28f9c7ap+6 +0x1.fb826b7efc259p+15 +0x1.55e6d3a333981p+6 +0x1.73703590dcd04p+5 +0x1.f85310c6461a1p+13 +0x1.63a16189e4d2p+11 +0x1.4ac24de313c0ap+5 +0x1.60237f7bf5fc8p+5 +0x1.fc1fc6d4900cp+4 +0x1.424c0bc41a022p+5 +0x1.39739e14cb62cp+4 +0x1.4ec2aa6566076p+5 +0x1.432f0b844bf75p+6 +0x1.780d4fa755ee4p+10 +0x1.9e340aab4e874p+2 +0x1.c4a406bf06872p+12 +0x1.c43a9d424ff88p+6 +0x1.14dedce50ded9p+2 +0x1.8daaa68e6e83bp+2 +0x1.433f84ba77494p+2 +0x1.c51a5e707819ap+6 +0x1.26e8dde9e1a93p+6 +0x1.46561a5a8a6bep+2 +0x1.5c7ddf353c49cp+2 +0x1.32e793ddde642p+5 +0x1.d79b1b777c72p+1 +0x1.d545f5bf4debap+6 +0x1.777bd0d3590dap+15 +0x1.2791037621b62p+3 +0x1.eeedbc1692c3dp+13 +0x1.30735cbcfb901p+2 +0x1.3aa0497e93d0bp+5 +0x1.972c06241696p+4 +0x1.b8281a8f62a9bp+6 +0x1.47ec00c6a38eap+4 +0x1.0e736eb06ee0dp+6 +0x1.d9e7c7f3d8c08p+2 +0x1.85064bfcfe545p+6 +0x1.44883b8af9096p+1 +0x1.39f1312135afbp+19 +0x1.3f154b0665761p+5 +0x1.41d73c2bb4495p+4 +0x1.419dff71f2b37p+17 +0x1.b7562cff2c32fp+1 +0x1.ebf352096b916p+2 +0x1.578c01feffaa5p+3 +0x1.73a8a1d0a887p+11 +0x1.0148794b40b9p+6 +0x1.3df251d216048p+4 +0x1.9a8a3b3feb66ap+4 +0x1.c150d9ab63e91p+8 +0x1.12b0a229ba3ep+14 +0x1.1d8f00024e25dp+6 +0x1.8efededd81f3bp+5 +0x1.2ae0605173318p+5 +0x1.e39e34dd96714p+15 +0x1.ee0d627386872p+6 +0x1.18edc43845b4ap+4 +0x1.603609ac6cf24p+6 +0x1.25692862efc42p+3 +0x1.86281e7e6a96bp+11 +0x1.2ca28fda806b2p+16 +0x1.e90a43c16df23p+4 +0x1.5651d3801cd8dp+6 +0x1.5701b808b9f14p+6 +0x1.5fa8ff2828593p+4 +0x1.6694226cb301p+5 +0x1.940548c7849fdp+4 +0x1.c134837a6dbfep+6 +0x1.9efc23646967ap+17 +0x1.9a538db2e6e97p+3 +0x1.593a484ede3c5p+6 +0x1.2fcde151ce7p+6 +0x1.129f910c8a5a1p+6 +0x1.f7dbec199bdf2p+5 +0x1.1c7c15ffacf72p+4 +0x1.dccbafc3276d9p+2 +0x1.00371d2cc6b36p+5 +0x1.d0b2abac2ceffp+3 +0x1.155321995b16p+5 +0x1.205f14e6ed97fp+10 +0x1.cd66a5bee34ap+5 +0x1.1e97b19df3193p+0 +0x1.0515f1b105ddcp+5 +0x1.f0203b85aff62p+5 +0x1.f2a823619b423p+3 +0x1.185d35a688047p+14 +0x1.76b997285836fp+15 +0x1.3ef2b20e49a71p+5 +0x1.172959af33f49p+5 +0x1.5dc11aaeb3563p+3 +0x1.bdabdb51974f9p+1 +0x1.cca587756bf97p+6 +0x1.e618a1c008fedp+5 +0x1.f67aff89446f7p+3 +0x1.dfe2e053b15f1p+2 +0x1.d9258b949378p+5 +0x1.7e7af47ca9992p+7 +0x1.472ea0a57257ap+5 +0x1.c6bd08606afd7p+2 +0x1.6ccd9aedaa482p+5 +0x1.4eea4fc7c0df2p+3 +0x1.0a3190c703a1cp+7 +0x1.29a7e08b7c1b8p+3 +0x1.acfa445786791p+4 +0x1.5a2745fd22c4cp+5 +0x1.65739d74f41cap+5 +0x1.6b677634e0771p+4 +0x1.11ff816f79437p+9 +0x1.93916bb8c3a79p+5 +0x1.a896c4fe9d2c4p+5 +0x1.572b8ab779de5p+4 +0x1.c870f57bf0493p+3 +0x1.e77481244e77p+6 +0x1.d496b72c5ba68p+4 +0x1.78cee42932141p-1 +0x1.c58098cd47e9ap+3 +0x1.f9405548ab2c9p+3 +0x1.4db6153e75eeep+6 +0x1.5132c60839e66p+11 +0x1.8e88dd389c11cp+5 +0x1.29ced6a07a47dp+3 +0x1.5568178680894p+5 +0x1.e215dcad628b1p+1 +0x1.bf41615b8ed86p+5 +0x1.56f397b026379p+5 +0x1.595c2857284b7p+5 +0x1.3984de345da9ap+6 +0x1.03c732c0abb98p+8 +0x1.77e0850fdd6f4p+0 +0x1.8402c1bb427f3p+4 +0x1.9dccd72d4070ep+2 +0x1.9956aa3c2be05p+4 +0x1.35473c982330dp+19 +0x1.a62117dff321cp+6 +0x1.702701098028fp+4 +0x1.dbc01e41f5f82p+13 +0x1.6d30ccf50bf28p+3 +0x1.ae9133c0922fp+5 +0x1.255eba88375b3p+5 +0x1.8849950c22a83p+5 +0x1.367c7cc34cf1bp+5 +0x1.6d5a65f707161p+4 +0x1.1cb1edae12708p+5 +0x1.ef69e99532b5ap+0 +0x1.8c99e73e068b7p+14 +0x1.69db16c7fd2f1p+5 +0x1.21a1c28de04dbp+6 +0x1.ff938563dfab3p+6 +0x1.423254be09936p+4 +0x1.879db1ce895c5p-3 +0x1.6875a55c2eb9ap-2 +0x1.670ba4491d481p+6 +0x1.1866f0e50398bp+0 +0x1.3e098239cb3abp+5 +0x1.0405d12d1adcap+5 +0x1.1cbdfd305e191p+0 +0x1.23b29b3cf13c5p+5 +0x1.342de226056dfp+6 +0x1.549390e6946cep+6 +0x1.b3b7bec438c0dp+6 +0x1.1cfd0e77edb9fp+6 +0x1.70fb8183b5c08p+6 +0x1.19f9b69e97d7fp+11 +0x1.209c4ee94da7cp+2 +0x1.2e3617f1fee32p+6 +0x1.1c1db1fb95388p+5 +0x1.f928195afc74ep+3 +0x1.dfcab679cfa99p+7 +0x1.4187a39169fe4p+5 +0x1.b243e06f8547p+5 +0x1.64fb113613a33p+5 +0x1.16f3b2d05f4e3p+4 +0x1.434b6084afe31p+4 +0x1.0b7867e65f975p+4 +0x1.07e39ea7f9f1p+11 +0x1.c48e5622127p+5 +0x1.5f291927e868p+6 +0x1.f58074583ed29p+4 +0x1.7b9950455bca1p+10 +0x1.72ece9db250ccp+5 +0x1.dbf5ef7ad0856p+11 +0x1.da8917178d9c8p+5 +0x1.1b137f3527ffap+6 +0x1.8b56db7b2b692p+5 +0x1.63e74c5f6c459p+8 +0x1.9542b69f29549p+5 +0x1.016ad7f86d4d3p+2 +0x1.085359a386af8p+5 +0x1.4619f344d4554p+5 +0x1.0087a9108bcebp+10 +0x1.b749efcb64edbp+5 +0x1.472a7fa2499bp+4 +0x1.691b0bdb638c7p+5 +0x1.085a6515f9d3ap+2 +0x1.8dc8d84f11493p+5 +0x1.d0eb3c1b60467p+1 +0x1.f126dba47fb0ap+3 +0x1.418eca70a7322p+8 +0x1.dea667bd71b0cp+8 +0x1.3c6296ed93771p+5 +0x1.25c4a3ac4d261p+3 +0x1.210400ceccd61p+6 +0x1.38332187aecdp+6 +0x1.5c9286643d30cp+5 +0x1.18ff98f62220ap+14 +0x1.8cf1398a789f4p+4 +0x1.0ecb1bc3bc427p+6 +0x1.056002dc312acp+5 +0x1.e927ff1562e22p+12 +0x1.24b757e8649d2p+5 +0x1.caf8aafbeb57p+4 +0x1.6696a6b8cf896p+18 +0x1.accd6c732f01dp+4 +0x1.1312f26d1ccc9p+5 +0x1.6b2695e7efd6fp+5 +0x1.bde25b76fe515p+5 +0x1.2f9da2f58db99p+7 +0x1.ce19e337eee24p+6 +0x1.343aece15d72p+6 +0x1.0aec92119224ap+3 +0x1.6adcaa86e0bc5p+6 +0x1.f53f9695524b3p+3 +0x1.14a658230b8f4p+3 +0x1.04cb53b1eec26p+5 +0x1.e3c5cd2a40014p+4 +0x1.be3042a74e7b7p+3 +0x1.97db52e2f5759p+13 +0x1.e95ce76cc19bfp-1 +0x1.a358ff516ef7p+6 +0x1.c5260ef794743p+5 +0x1.522bb7c002b15p+0 +0x1.2e880e5ba00bdp+6 +0x1.136ca4f0e425ep+5 +0x1.71e9d1b012bcep+6 +0x1.a138c9e31d097p+4 +0x1.5de30851f0ec7p+5 +0x1.d4b133d2c48e6p+10 +0x1.3193c96b1ac87p-1 +0x1.c43d9127a5297p+1 +0x1.34b87cb19ff6ep+4 +0x1.828bb31400e07p+3 +0x1.f6813e0be0236p+4 +0x1.670755ceace88p+1 +0x1.0c9051b2046acp+14 +0x1.0a07770762b91p+6 +0x1.7887845877a05p+5 +0x1.121c20202b70fp+8 +0x1.26e171caebc77p+4 +0x1.92f09cc28b328p+4 +0x1.dcfa74aa0c842p+0 +0x1.5d3dc22da4969p+1 +0x1.4b23d13d2a92ep+4 +0x1.54e887644b5fcp+5 +0x1.be379f76d3f6p+5 +0x1.2ef2619eecd77p+5 +0x1.8d1f67e8bde73p+5 +0x1.05ad8860bc7aap+6 +0x1.3ae1f9732e0d5p+3 +0x1.b30b9569707f7p+2 +0x1.6698192d6c698p+4 +0x1.0345829593aebp+7 +0x1.cf389f35bc894p+16 +0x1.0b73fa3d4ee04p+5 +0x1.2f6ce73702p+2 +0x1.725514dbb6513p+13 +0x1.27994370da887p+3 +0x1.8517a4e26418bp+13 +0x1.14cfd0c1dd982p+2 +0x1.829ee205778a2p+5 +0x1.a251dcd476bb8p+4 +0x1.96a21cef60293p+4 +0x1.21328e69f05c2p+4 +0x1.19eca4fbfc7efp+7 +0x1.db9bddda02fafp+5 +0x1.52310b1e507f2p+6 +0x1.6e1d4de7e0043p+5 +0x1.1b5a2ec174bb5p+6 +0x1.6eeb6f8336ea8p+1 +0x1.df839a99fb123p+5 +0x1.e45879ca2ccb6p+5 +0x1.b900ca31ed5f9p+5 +0x1.91060d343d85cp+0 +0x1.195928977e116p+5 +0x1.0116ce7cd65e2p+6 +0x1.8828f090ec314p+5 +0x1.25d38d22ad659p+0 +0x1.90e7abe2436d7p+4 +0x1.2dcf51fb4d715p+4 +0x1.0c3b0b9990e3ap+6 +0x1.5e64c7c4ea84fp+9 +0x1.b71937e28de42p+8 +0x1.3ce6a14889cc8p+10 +0x1.84dcb05a0c422p+5 +0x1.9c31c5243a31fp+5 +0x1.1d69322c0be85p+6 +0x1.f20674b0bc838p+5 +0x1.c0da23c9a9e18p+4 +0x1.e8c7aba4bb745p+5 +0x1.d6162d751c6f7p+4 +0x1.64e58ab163f4bp+4 +0x1.249002b8ad119p+6 +0x1.ea7275b3b212dp+6 +0x1.a54c81d38a1b9p+3 +0x1.2c4d800033d5ap+1 +0x1.b483586c1918ep+12 +0x1.e339c4854b905p+18 +0x1.e8117426cbbacp+5 +0x1.0c02b4134b628p+2 +0x1.39b5041221c62p+6 +0x1.47cd73ef11e78p+4 +0x1.7c9f27e559acdp+3 +0x1.2cae7ab3743efp+15 +0x1.04034162b405cp+6 +0x1.bd7c16b6c19f7p+6 +0x1.7496a3b2c2b66p+17 +0x1.15a296e0641b7p+10 +0x1.5f22f6f3cbbf3p+5 +0x1.0ed75a82b4c4fp+4 +0x1.e8e83c854d6adp+4 +0x1.a370752a5db5ap+5 +0x1.bb2b847ab835dp+10 +0x1.8c6d532a00743p+3 +0x1.49adccd3b013dp+6 +0x1.2ecd266409769p+6 +0x1.d1e5c85a19458p+3 +0x1.773567909a1a4p+7 +0x1.357222e55ea3dp+4 +0x1.c8f18e08cdb32p+1 +0x1.ef85e3469a592p+5 +0x1.db52d11bb196fp+6 +0x1.5e218630b9102p+5 +0x1.d1f87af2223ddp+6 +0x1.dd57c75b4aa23p+1 +0x1.08caef3c05dafp+19 +0x1.4df82736fb57fp+4 +0x1.3213662c07cf8p+5 +0x1.4a8c99189a0eep+4 +0x1.1ddf2f855f655p+4 +0x1.110f3bb5a6e65p+5 +0x1.b2431a4a5ff05p+4 +0x1.94667ae04e833p+7 +0x1.b9fb1c7e7d945p+4 +0x1.a3bb093b7dcb4p+6 +0x1.09d7f2b96df5ap+6 +0x1.0890bb1ad848ep+8 +0x1.c18ac7c87bdcep+5 +0x1.8d4a468f189c3p+5 +0x1.7b7a0f34716b1p+3 +0x1.0692ce73af68fp+6 +0x1.85cdd80cb63dcp+3 +0x1.c39e1bee862a9p+3 +0x1.8ac83f7041549p+4 +0x1.bc31419cfbbf2p+3 +0x1.2981fc7ea63bep+5 +0x1.d1336adb6872bp-3 +0x1.3674ef67cc3c3p+5 +0x1.4007272d121d6p+5 +0x1.0efa7f4ed7cedp+13 +0x1.4127deada18d7p+11 +0x1.7ce0f509abaaep+5 +0x1.6809f8b9c488cp+3 +0x1.e404cceed3a0cp+2 +0x1.cc53275a5e36ep+5 +0x1.229e8f2518634p+4 +0x1.da9879db459c5p+14 +0x1.55449908fea24p+4 +0x1.864f48354ac27p+3 +0x1.f4111f0a0dafp+5 +0x1.18b603b33da3fp+6 +0x1.211f24ddd2d1ep+3 +0x1.a7f5fa153d6d5p+5 +0x1.355b878396d28p+6 +0x1.939665b18aa42p+4 +0x1.2ea7814446cdcp+3 +0x1.8a1efb49582d1p+2 +0x1.c55656cc9c729p+1 +0x1.f4b0b6b24d292p+13 +0x1.65d624af2b17ap+9 +0x1.af686fd3a732ep+4 +0x1.f7e54eff881d2p+17 +0x1.23baea1c570dap+7 +0x1.be069a31e8a28p+9 +0x1.9437082a13a36p+6 +0x1.cc68819845af8p+5 +0x1.b9e08d7533c1fp+3 +0x1.2bd976eb743e9p+3 +0x1.cc1c2e5abf477p+5 +0x1.de85c60d9b38p+5 +0x1.1a6c5f72b3b74p+5 +0x1.a50210f603dfbp+4 +0x1.2c6e8b145fc5p+8 +0x1.60da66d32d52ep+6 +0x1.c709f2f3564a2p+5 +0x1.1f200a57388b3p+5 +0x1.13d6752aeff97p+5 +0x1.e8ba6c07d7f4cp+4 +0x1.2b82cb39b7caep+6 +0x1.0d2da0b1c15c2p+4 +0x1.3936a0267af6p+12 +0x1.f38a50d87403ep+5 +0x1.9759665484b6cp+2 +0x1.2c465514bc955p+6 +0x1.62c53fac01795p+5 +0x1.65ef86c002686p+6 +0x1.57c55a29a0bfdp+15 +0x1.92d71d6c13ffbp-1 +0x1.31e3fc3ef3557p+6 +0x1.3a4d85bb5ff54p+5 +0x1.407671cb1315ep+18 +0x1.2e35e09832d65p+2 +0x1.0a00ee7dcc47p+4 +0x1.789500e5b76d1p+18 +0x1.70135ca095ddep+6 +0x1.14d57cd151cap+5 +0x1.b14ab2e1a1931p+4 +0x1.3147fb2c11d92p+6 +0x1.34133e11af9f4p+3 +0x1.43132980495d7p+5 +0x1.26bc50d1f937fp+5 +0x1.04c174bc799bap+14 +0x1.872bc7494c572p+4 +0x1.0345459a64a72p+6 +0x1.743c3d42d78b5p+3 +0x1.4bc287b2799e7p+3 +0x1.7d3c5d7c1985p+4 +0x1.275252ae09687p+7 +0x1.3b3630ced9dbap+3 +0x1.ca1876e690919p+4 +0x1.1b37ceee4fdfap+1 +0x1.4869962f3383ap+6 +0x1.69db8bc72f9c4p+14 +0x1.a7327b76eb1afp+1 +0x1.9a139cdd0a839p+10 +0x1.d33571a40c1dap+7 +0x1.0b676def271bcp+6 +0x1.4d54bd8fda747p+3 +0x1.28e8b644692f1p+5 +0x1.c295798eab303p+5 +0x1.93018be493167p+3 +0x1.6d7c1b760b593p+6 +0x1.a3fc5e3c5b498p+4 +0x1.8b1dcee72e924p+11 +0x1.ca1ef9735324fp+12 +0x1.910b00aa0acfep+3 +0x1.f5575de81d75p+9 +0x1.1a04d9a7bbeddp+7 +0x1.1fcc12b9741f3p+2 +0x1.727c1a17828afp+5 +0x1.45dc8fec1c442p+5 +0x1.68a11f57cd59fp+6 +0x1.98d238f6c7p+19 +0x1.b1115f94625b5p+6 +0x1.eb5fcfd2681c7p+2 +0x1.8efac1dab6c97p+5 +0x1.29a27de662e5p+4 +0x1.7a4fb67d487bdp+6 +0x1.0230cbc9c71dep+5 +0x1.7074b6feefb0ap-1 +0x1.acb0c67b1d89p-2 +0x1.984af40cd8982p+5 +0x1.24febcf126997p+4 +0x1.1f8111134795p+5 +0x1.d6122dd9c155cp-2 +0x1.69ab64fb86bc2p+3 +0x1.1a88892d74b5ap+3 +0x1.f41f0ef06bb68p+8 +0x1.c0e10529c42d9p-1 +0x1.906e671737e5cp+5 +0x1.bc686661a6f22p+2 +0x1.1706febb9eff1p-5 +0x1.0b93e9d839971p+7 +0x1.e2f1f84fa0895p+3 +0x1.3d9c36121f1cfp+7 +0x1.ddb04e65643eap+6 +0x1.8bee687e5ecaap+5 +0x1.1b76336e1361bp+18 +0x1.7c71e9af9b303p+6 +0x1.262938eb10588p+4 +0x1.3b2f596eb300cp+5 +0x1.8f9f8df10a798p+1 +0x1.725b32b02f354p+2 +0x1.c5e68f89f92f7p+4 +0x1.71e2e45ea8f36p+5 +0x1.87272d223946dp+5 +0x1.654f02c41c6e7p+4 +0x1.c13ea215285d8p+4 +0x1.4fc88a5547697p+6 +0x1.b31ce7a96ac71p+2 +0x1.62a87c5791cefp+3 +0x1.5c2df44fe566bp+4 +0x1.bcfdc03966addp+6 +0x1.ce78174d178f7p+2 +0x1.95ad2d8c21206p+6 +0x1.27dcfa3a196cfp+4 +0x1.4deabc30d8e6cp+3 +0x1.13eb23be3be5cp+5 +0x1.eff2232aee60ap-1 +0x1.f5a1ea2092c88p+3 +0x1.a45e0183daf09p+3 +0x1.605f04fa05b01p+6 +0x1.894f0bc8ee11p+4 +0x1.eae4bd307e63ep+4 +0x1.ddbf58e9373b4p+4 +0x1.06c9faa674185p+4 +0x1.e70c74528c71cp+10 +0x1.7d39b7548e6dbp+1 +0x1.5ec2e55f64eefp+6 +0x1.9744ff1129984p+0 +0x1.89dc7dba2f1e1p+6 +0x1.ccceeeabc3689p+5 +0x1.2a4341e462355p+0 +0x1.32f77b7b625f1p+17 +0x1.db1708868088ap+16 +0x1.09a0ebe2dc71p+15 +0x1.69c3bc20a9aadp+2 +0x1.b84691ffbbc01p+15 +0x1.2f64b3135dac9p+4 +0x1.d12df2efc11e9p+5 +0x1.2d7112a66da67p+6 +0x1.5aded5b092079p+3 +0x1.6653d629b5a42p+6 +0x1.64251beb0a748p+4 +0x1.4c8c7cb1020c1p+2 +0x1.ad41707edf5bp+10 +0x1.5ba97d32cc9c8p+5 +0x1.5c15df4dc58f4p+11 +0x1.420c52a2fedc7p+6 +0x1.3c73e6b7a414dp+2 +0x1.4a669c0d412d2p+5 +0x1.91adc2758b54bp+2 +0x1.1d083e505af4ep+13 +0x1.9c62cf1ef85bfp+6 +0x1.10f95ae26d863p+8 +0x1.0c3a138b92cb2p+6 +0x1.9cd05c1ccbd83p+6 +0x1.bb9a80021bdadp+2 +0x1.d24c31fbe835cp+5 +0x1.082a6c457df3ep+5 +0x1.a2d85faa3d9fdp-2 +0x1.8c3e43acae7f9p+1 +0x1.9a57f4b2d0647p+4 +0x1.e03254db66efp+5 +0x1.28df9fc877dfbp+6 +0x1.39d4bf8beeb1ep+4 +0x1.2ff0b00a78e94p+5 +0x1.83d9084817af6p+4 +0x1.ff6e969f25e4ap+2 +0x1.61f0838d1dc1dp+4 +0x1.50994c4c84b68p+6 +0x1.0334b9084909p+3 +0x1.4e045186e3b4p+6 +0x1.0b4aaefc171a5p+6 +0x1.006c2385d170ap+6 +0x1.8256062b606dbp+5 +0x1.661dee3984312p+5 +0x1.574238d1c84e8p+16 +0x1.031e7f7d7f271p+19 +0x1.bde85df435553p+3 +0x1.8ec4950cd5863p-1 +0x1.513cebeed3a27p+3 +0x1.5c91b3184b9cbp+6 +0x1.3dbc2e19e22ddp+2 +0x1.f01d71653f27dp+13 +0x1.3a4ebc1c749f9p+3 +0x1.2ba093cdd9039p+6 +0x1.2825555632a5fp+4 +0x1.dcd2d0243dcacp+11 +0x1.192733214bafap+11 +0x1.7a3f38a62f6d3p+2 +0x1.6227db2c0a4bp+5 +0x1.bca8c38f18cf9p+3 +0x1.9a34affdab9fap-2 +0x1.cadbc1935d1bp+8 +0x1.f4de9fb07469p+12 +0x1.9130070607482p+6 +0x1.ab69a8572d2c1p+5 +0x1.005b04f3990f4p+3 +0x1.f7c4d0516121p+8 +0x1.0ac8d300d994bp+5 +0x1.92e7e0a7e6292p+4 +0x1.061f42231dd62p+6 +0x1.c082d9fa32501p+6 +0x1.d6a27685425f1p+3 +0x1.88f9432d4e26ep+14 +0x1.f93b977c12655p+10 +0x1.db6f3254098p+6 +0x1.3daa696132aadp+6 +0x1.984f68b85377dp+5 +0x1.f2fe0788641f4p+4 +0x1.0893d798262aep+2 +0x1.ee3fc2939dcabp+3 +0x1.898773cb511bp+7 +0x1.f5c8562ee0134p+4 +0x1.2a350a60e1735p+6 +0x1.7d3bfc6c7ee44p+5 +0x1.b4fdd9f3d55fdp+2 +0x1.1447b93c5d34p+3 +0x1.e96a752883e47p+18 +0x1.3307398d2f4efp+6 +0x1.582180e905c92p+4 +0x1.97d112414d48fp+5 +0x1.3bd34d629a2fep+6 +0x1.9365f60dc0b31p+6 +0x1.c1a681769a11ep+6 +0x1.1cc88872bcc47p+4 +0x1.23b4641bf66cbp+5 +0x1.d45b07016ccf8p+9 +0x1.ed05c80ec0248p+2 +0x1.eeeb47677056ap+12 +0x1.001de3745db99p+5 +0x1.18044059b19b3p+6 +0x1.57a3aeb09a65cp+5 +0x1.70e699cac7dd6p+3 +0x1.8d3db17dbf58fp+3 +0x1.1c0744386e4abp+6 +0x1.2a13be791fc1dp+5 +0x1.2f82949857798p+11 +0x1.324beff1c8b55p+5 +0x1.0849a855b9dp+6 +0x1.cd278176e1bd1p+4 +0x1.1262e9eb91676p+16 +0x1.207dcb1e43b59p+5 +0x1.77c5cf44ce88ep+4 +0x1.8e319f510afdep+2 +0x1.38cf9fc9826bbp+7 +0x1.2e161fac141a2p+4 +0x1.1a0848ccc9772p+2 +0x1.75ba1c4289552p+9 +0x1.016e695bd99f2p+5 +0x1.95095fe8310bp+5 +0x1.55dda5307869bp+3 +0x1.ab04576e36c2bp+4 +0x1.1d7c19566b262p+4 +0x1.02d46ba57fc12p+6 +0x1.41c631ca7b506p+5 +0x1.110af1c10635fp+12 +0x1.52c165803bd28p+4 +0x1.a5468eedcb2f9p+4 +0x1.8fcbfec4e350dp+2 +0x1.0de300b22f46p+1 +0x1.b8533efce1f1bp+6 +0x1.b3d1e230a4bd9p+1 +0x1.1d1ffd7ba0485p+6 +0x1.3f3bfe3d4faeap+2 +0x1.1a73223e3b2c8p+5 +0x1.91ed2406256fbp+5 +0x1.26dd5921f4a1bp+5 +0x1.831ed13096c3ap-1 +0x1.ea87f9f361c5fp+2 +0x1.42adf7c643fd3p+9 +0x1.3d0793c6c0abap+0 +0x1.147e711eb958fp+6 +0x1.a87c38dff5dabp+5 +0x1.05f4fbdb700d4p+0 +0x1.872597584e1d1p+5 +0x1.04ee54b81974cp+16 +0x1.b526ffa7aa765p+5 +0x1.08d29942bde5p+14 +0x1.44edafff6b8a6p+6 +0x1.8f65dc13dc55cp+3 +0x1.531b42c20b995p+5 +0x1.8214d52b329dap+3 +0x1.35ab99e519a62p+5 +0x1.18f32d9fc4949p+10 +0x1.d86a7224a9e6cp+2 +0x1.df7bc9020b46cp+2 +0x1.95c74053b70e7p-1 +0x1.5d5f79f80de9fp+5 +0x1.15d5547bda6dbp+5 +0x1.645a339658086p+5 +0x1.231ea2e421eeap+12 +0x1.daca3d00322c1p+6 +0x1.386cec4a4690fp+6 +0x1.134d22bfc01c1p+9 +0x1.4567d5e3aa97fp+1 +0x1.0c67a1aaba8b7p+16 +0x1.b9ced869eb4c1p+4 +0x1.2c90a03ca5049p+14 +0x1.71d79edbb0ea2p+6 +0x1.c1bc5e6798f8cp+10 +0x1.cddce4b4768c8p+11 +0x1.624b72d7c5c3ep+10 +0x1.9edf517f577f9p+14 +0x1.bec237a2d6db8p+5 +0x1.bdb22813d3d28p+9 +0x1.1316a83e4dac5p+2 +0x1.331af606da934p+5 +0x1.55d44ce4e5d34p+5 +0x1.337a19274fa25p+5 +0x1.001980691d23cp+5 +0x1.d7922f9dbdcd7p+2 +0x1.bde34fa58702ep+5 +0x1.bdd5b853c31ap+4 +0x1.b53cde9514145p+5 +0x1.bd7204d14b37ap+5 +0x1.4d98b2b98a541p+0 +0x1.f66ae3dc9bde1p+5 +0x1.3a46f9e70392fp+4 +0x1.21db282549884p+2 +0x1.65de36a6e8293p+7 +0x1.30bf3d3ac00a3p+6 +0x1.acef2f58c6d85p+5 +0x1.ca4b14cae4845p+6 +0x1.05170284f7961p+2 +0x1.ff775821b207bp+3 +0x1.5c0224fdf528ap+2 +0x1.ca1ce1d3d7039p+8 +0x1.c80dee74c9caep+6 +0x1.420f4535609a4p+5 +0x1.af477a88b24a2p+4 +0x1.03078787b66c2p+6 +0x1.c52df768fa027p+2 +0x1.d132b4b8e07a5p+5 +0x1.0dce5c28aad72p+6 +0x1.2c4654d3d33aep+2 +0x1.6a89886cd0916p+7 +0x1.96d2cafe59e7dp+2 +0x1.1b95da5c9b722p+7 +0x1.04c55cdedd6dep+6 +0x1.8e0e8b6d0fefep+3 +0x1.04345885052dp+4 +0x1.092c0f172cfe2p+1 +0x1.226c71c8473f4p+10 +0x1.ab47a4ace6e8ep+5 +0x1.7c85c5b2f4eefp+4 +0x1.967f150d9731bp+9 +0x1.e205a986d8a3bp+0 +0x1.4cb0223b2e0b9p+1 +0x1.5d2951d44448p+5 +0x1.f06f613ab6b8fp+5 +0x1.3b4e7bb070342p+3 +0x1.07805b53122f6p+6 +0x1.81cf26de18059p+2 +0x1.2194261e18704p+2 +0x1.138d0a5d66ce4p+5 +0x1.a478cc36c4df1p+5 +0x1.68f65e9f9592fp-4 +0x1.e02e897de0553p+4 +0x1.4f1e0e91ced52p+5 +0x1.2c0d009466ef7p+4 +0x1.620880c9d7fdp+6 +0x1.8371387660febp+5 +0x1.3bc2a2dbc2e99p+4 +0x1.d7c60b2fb4bbap+15 +0x1.64ccbe19ee7fp+16 +0x1.0353ea8a9a25dp+6 +0x1.8f60ae5ed7c97p+2 +0x1.b56ff878d84b9p+6 +0x1.ed5b8a8ddcfcp+1 +0x1.2a846fd194cb2p+11 +0x1.27ca7ad6b309ap+5 +0x1.fecba6381bf3ap-1 +0x1.7b63af0a4c3bdp+4 +0x1.0e0748a5b3773p+4 +0x1.c750e13b80596p+10 +0x1.b5e5eb7f2ac33p+12 +0x1.e809ab468b037p+5 +0x1.f7d68014854f5p+5 +0x1.194beb9a014fap+4 +0x1.35ebeca99baf4p+2 +0x1.004ef78b4dd3dp+5 +0x1.cae2308cdab52p+5 +0x1.e17b3b9231fefp+5 +0x1.420602b21d0e7p+8 +0x1.049cbacba4262p+5 +0x1.d2bed08a7feb2p+5 +0x1.246fca8f9212bp+4 +0x1.f8e2a09472ddfp+5 +0x1.35cd7d33abe1p+5 +0x1.11d402f10435ep+18 +0x1.f1a6138fefbfbp+5 +0x1.429db459df8ecp+6 +0x1.8a2de7f636f42p+5 +0x1.3dd80740ee745p+13 +0x1.231d433986e15p+10 +0x1.67a257b29fda5p+2 +0x1.e674cd8826b5cp+5 +0x1.1b52bad308a02p+11 +0x1.1e6e513bf3f55p+4 +0x1.172e31a8700ep+6 +0x1.250c21eca7059p+4 +0x1.238dab898eb0dp+4 +0x1.66077ff7839c4p+7 +0x1.792a710f11803p+1 +0x1.3c88af44b5c61p+6 +0x1.1206e1b33ac63p+6 +0x1.3cc9915dfc02fp+4 +0x1.0adcd1bd5125ap+3 +0x1.87ce0c2dea934p+4 +0x1.efad381e2d8c7p+5 +0x1.ec7430c970e8ep+5 +0x1.a9ad1e4e7060ep+4 +0x1.c1b298498b11ep+5 +0x1.cf51ceaaf0925p+0 +0x1.660740fae60ffp+2 +0x1.8e1e0945b945dp+2 +0x1.28e3debabedeap+1 +0x1.02b92b8eed539p+5 +0x1.cdfe72c44e9d2p+5 +0x1.9395a77ace65ep+5 +0x1.f6574e6dc5098p+3 +0x1.d9a98b502052p+3 +0x1.aef72d1f8f149p+5 +0x1.fa300bb7120dep+4 +0x1.9c2e286081907p+4 +0x1.3e5c0c5aca3f8p+2 +0x1.22065b6486db6p+3 +0x1.3993f8f86e6f7p+1 +0x1.919b9e989bf31p-6 +0x1.212d9c0628a4ap+3 +0x1.94ccddfd7349dp+4 +0x1.b0c78ad4f657fp-1 +0x1.f528ec909aeacp+3 +0x1.3447fd5d32c4bp+4 +0x1.2a6fe0dd13d47p+4 +0x1.c25b515d4cd9ep-2 +0x1.4f6a1bbbea64ap+3 +0x1.83093f1491dbfp+4 +0x1.144f1cc106424p+7 +0x1.0f0c5b0a3e5ap+3 +0x1.9658e67d5a53cp+5 +0x1.1f6396828cef3p+6 +0x1.457429d8a828p+5 +0x1.45510a02a9675p+6 +0x1.1c157e7d8846cp+14 +0x1.973d29d0acf97p+2 +0x1.4b635173aa313p+6 +0x1.3d0ab5d757ce7p+9 +0x1.1601985dc9e9p+2 +0x1.31afe893d3c11p+6 +0x1.119010cd1e3f8p+9 +0x1.d8ed3d435e623p+9 +0x1.dc72a966b4f3fp+6 +0x1.9478b23e8bc49p+5 +0x1.4b428c3df538fp+6 +0x1.d96d4d520d4adp+5 +0x1.4a90a62e6b5a4p+3 +0x1.3d817e70575d9p+5 +0x1.336fb27f597d8p+5 +0x1.b361d2abe11a4p+11 +0x1.1fbc3d52e5d62p+0 +0x1.0f943c17b205bp+5 +0x1.3164deced8678p+4 +0x1.1f83c854f332dp+0 +0x1.5f68bcb7acdadp+4 +0x1.ab698e527428ep+0 +0x1.2e160cf3bbafap+6 +0x1.462b8d9d3f637p+5 +0x1.9ef22aede1765p+2 +0x1.08ffe3ae46f8ap+2 +0x1.0bd24e67bb767p+5 +0x1.62346a11aa481p+5 +0x1.de9e516baf35bp+0 +0x1.dc4ac1f13cce7p+5 +0x1.25c92f08221c4p+5 +0x1.d4c97ba6a5b91p+2 +0x1.91a3ada931e2ap+1 +0x1.016ed4e9639ap+6 +0x1.1c68063e4e4fdp+0 +0x1.e969b5d6e3705p+4 +0x1.fb982e60af1ecp+17 +0x1.8c9b5964c158bp+3 +0x1.146ec27b8fd97p+6 +0x1.65ef704d055ecp+3 +0x1.176bd99de541ap+6 +0x1.4d73a64b9411bp+4 +0x1.d3b47cef0f1e2p+5 +0x1.75741c8e40076p+5 +0x1.000fc5571799ap+3 +0x1.243d2c1c5c57bp+4 +0x1.5b868cd4125b6p+6 +0x1.bd59562fa2b95p+6 +0x1.e8aea6bce947bp+1 +0x1.71ce4ba2d58cp+6 +0x1.cd920b558f28dp+5 +0x1.f2ec93b2c9889p+0 +0x1.606bd99ad9de5p+13 +0x1.6a89dd5bba5d9p+5 +0x1.2337b9241fd88p+2 +0x1.16d5d5d1447dcp+4 +0x1.1178a22e28fe7p+5 +0x1.d8d99209a416bp-4 +0x1.515c5febe205dp+3 +0x1.b2a2fe2a0f396p+1 +0x1.aedb50573c636p+5 +0x1.d6d5d0070b68dp+4 +0x1.1ee9ef4f3c83fp+4 +0x1.983aeb6068c02p+6 +0x1.fbcd0ea5c5b2ap+5 +0x1.5f412046cc2a8p+6 +0x1.2bdb57736302cp+5 +0x1.ad6319a000484p+10 +0x1.09594c86b7211p+6 +0x1.c127d4095683fp+5 +0x1.8dbbbd2e4c7bcp+11 +0x1.369751fda1be2p+5 +0x1.312a6ccefeddp+8 +0x1.5a438bc4c995ap+18 +0x1.a7b93bf5e6a6cp+2 +0x1.e60005849c28ep+5 +0x1.452373acc61b2p-1 +0x1.5f374e8412aefp+9 +0x1.c4b360b45dfbep+5 +0x1.3c1751b430d3ep+5 +0x1.2b0b661ae7032p+3 +0x1.65c008714e27dp+6 +0x1.97e2ce9300243p+6 +0x1.6eba798d889bcp+5 +0x1.10575e1920271p+0 +0x1.ecc59e7bd041fp+4 +0x1.12d00da3e5724p+6 +0x1.cb3d7402240f4p+3 +0x1.119fb97489c8dp+18 +0x1.9cd45dcdd3a25p+14 +0x1.b073e861b0fbbp+9 +0x1.0c9048bb2fac8p+4 +0x1.67927d37e1abdp+4 +0x1.a454abca957d7p+8 +0x1.3609bef8df0c5p+16 +0x1.1ef15013a018cp+5 +0x1.57d2285820dap+5 +0x1.3e389ffa68186p+6 +0x1.2107a6654c76p+5 +0x1.2ee2798a58488p+1 +0x1.6e09d5aa48c3fp+4 +0x1.0e1635608badap+7 +0x1.60bd125c5ef08p+16 +0x1.4403d7851a404p+4 +0x1.6acf4adf7fadp+6 +0x1.81ed669450acp+4 +0x1.4f252789bcac7p+2 +0x1.3c4a32019429ap+8 +0x1.3c8b1e540032bp+6 +0x1.63bb72c184d5ep+5 +0x1.da389ba49cdd4p+3 +0x1.d467e939ad417p+13 +0x1.ac47dd103140ep+12 +0x1.b6ab9ae2ca97dp+5 +0x1.fd7106c7db33cp+6 +0x1.3bd740ed72ad8p+3 +0x1.a094e3f8f36a8p+6 +0x1.0aa8ed054320bp+5 +0x1.ecacae36b37b7p+5 +0x1.6b0cf08fededdp+5 +0x1.2570c4df040fcp+5 +0x1.d47fd235e9773p+10 +0x1.19227756d972fp+3 +0x1.2008574a19681p+0 +0x1.1f16dc81499bp+4 +0x1.50038744677ap+6 +0x1.1f0b30a043657p+19 +0x1.486c7d71eb6ebp+5 +0x1.ac62ad1eb0331p+1 +0x1.935e6392224cp+17 +0x1.3f83e7fa06bc3p+3 +0x1.043b83a7fcfafp+5 +0x1.ddb4e9ef52bb4p+4 +0x1.9d56f7c234de4p+5 +0x1.97f45cc88fc9cp+3 +0x1.84284f7a0a747p+5 +0x1.1a5fa8a0d360ap+4 +0x1.83b08fcb54fdap+5 +0x1.459c2381d69cap+4 +0x1.4119b84373669p+5 +0x1.20fd9c1bf8536p+6 +0x1.268a6344017c9p+12 +0x1.7b94fab7b1f4dp+5 +0x1.3bcd5d4f5d992p+2 +0x1.0d3522d46c6fap+19 +0x1.8fc8a056256a8p-3 +0x1.c4a08f876dd98p+4 +0x1.72aac2905da84p+3 +0x1.d9514b236c234p+5 +0x1.2e859ec2643d9p+11 +0x1.128b7e9b525d1p+9 +0x1.7cd83187fdddap+5 +0x1.4300c6933e2edp+8 +0x1.eefe1392427d3p+5 +0x1.06ef75b6cd913p+6 +0x1.72efd9fb27da5p+10 +0x1.9c140a7a381fdp+4 +0x1.ce68ba2e51c82p+4 +0x1.65b7d35c5c0c4p+2 +0x1.c90802e8be19dp+4 +0x1.9a6d4e808cbeep+5 +0x1.d18f9d8e32385p+6 +0x1.20aaebb1c9227p+4 +0x1.7f8064a36530ep-2 +0x1.e47cc8c083fc4p+4 +0x1.3b1bc786dab14p+5 +0x1.33924c0b0d915p+3 +0x1.5c66a50359ae6p+5 +0x1.6658859d84f9ap+1 +0x1.2c3fdbc368ea5p+5 +0x1.d2553bf1da0ebp+3 +0x1.3bd885a35b84fp+5 +0x1.3a4296c281d77p+1 +0x1.5dd689b29f1aep+2 +0x1.cf7f817026b36p+2 +0x1.a973debbef12ap+5 +0x1.e840b2a5df73cp+5 +0x1.9126545811b6ep+18 +0x1.564a0a36121c7p+3 +0x1.5e05a899a4e1bp+6 +0x1.d327cd39f4c67p+3 +0x1.ad4c73c2f9f52p+8 +0x1.3b136e0d80468p+6 +0x1.3941c7e6901e2p+6 +0x1.c313e5c34a4a8p+3 +0x1.c70d47912be08p+6 +0x1.b1381a7ab03acp+6 +0x1.6d4d985a07debp+4 +0x1.4e4c4f7b5d4a1p+3 +0x1.0dead1215f4d2p+5 +0x1.f17285ed49b5bp+0 +0x1.ce6076e6894b7p+16 +0x1.45797dbb69f1cp+6 +0x1.0b7ea9ca22b25p+4 +0x1.c7bfbb7de857dp+6 +0x1.e2a653415e667p+5 +0x1.2835405a47a2dp+15 +0x1.5d10e6183e92ep+5 +0x1.0c1463d20c1b3p+6 +0x1.5dd8bdc9f4bdp+2 +0x1.86fb89f037079p+3 +0x1.6c2d58bddb08ap+13 +0x1.3354f2b7312f5p+1 +0x1.33e729c270da2p+6 +0x1.3edfd80ce1d67p+5 +0x1.308419b70fdc4p+6 +0x1.1bf47ef9b6418p+6 +0x1.b019f18c69d6cp+4 +0x1.39dff88e78d9dp+6 +0x1.c27094bf82f9ep+7 +0x1.c37ebb59d72e1p+6 +0x1.170d2bde32ae3p+5 +0x1.b095b322af583p+5 +0x1.8c8eac91a6f32p+3 +0x1.9fbd161fe8014p+14 +0x1.b4f103a853a1bp+5 +0x1.384d99f6e4a8dp+6 +0x1.d5b4e637bd592p-5 +0x1.ef002ae236f84p+4 +0x1.f342ade99b47ep+6 +0x1.6d39c81a81375p+6 +0x1.05822f77b3be2p+1 +0x1.faa0525041918p+5 +0x1.87702225bc7fap+5 +0x1.8ccf2ef81cecdp+4 +0x1.3a5e88c46bf6ap+6 +0x1.0db3b7cb81044p+4 +0x1.40dd1b913922p+5 +0x1.ff7c443e0a8f3p+3 +0x1.14b1c184fb09fp+7 +0x1.822cea4045be9p+12 +0x1.9db9db0e50335p+4 +0x1.a0c2e46e4f0ddp+6 +0x1.c9ae24a678361p+15 +0x1.12aa2fef0be3ep+1 +0x1.90077264c109ap+4 +0x1.39e28b8b1212bp+6 +0x1.20634db2df8f6p+3 +0x1.9a0b5bb122e78p+6 +0x1.02dc779094679p+0 +0x1.b28ae0654b244p+6 +0x1.3bae59f2ca741p+4 +0x1.847cfddafc571p+5 +0x1.ad04ee37fc097p+5 +0x1.32863ae3d6336p+5 +0x1.5e423a27f9b5bp+5 +0x1.5b01d3e1ff5a1p+9 +0x1.0b4b7beacdb1ap+7 +0x1.a267c269179c8p+5 +0x1.47a073516db67p+5 +0x1.bd21c74d3df6ap+5 +0x1.ba0f22ae84eap+4 +0x1.617d27a06cf6fp+3 +0x1.33230c5f005acp+12 +0x1.596b23fabac9fp+13 +0x1.ba290dbbfc004p+2 +0x1.8105e5a7334b2p+6 +0x1.ce8194e9b24ap+3 +0x1.588926878e9e2p+18 +0x1.cde98c6d09a74p+4 +0x1.771dd87f50cffp+5 +0x1.1cd9c200582f1p+6 +0x1.510e4a9456ab3p+6 +0x1.a0225674c60a1p+4 +0x1.34cf5922eb979p+0 +0x1.098adac54c167p+6 +0x1.ddbe1d71d35f9p+3 +0x1.d55db03e869cp+4 +0x1.3c83f093c800ep+14 +0x1.9c48e16f1349dp+3 +0x1.bf95a547de944p+5 +0x1.7dfdf423c0756p+5 +0x1.ef372bedfcbdap+1 +0x1.628ac686b9568p+5 +0x1.eefda32a526f7p+12 +0x1.27e574ff88888p+5 +0x1.12ba067d1e52ap-2 +0x1.734ad4ebc6f7bp+4 +0x1.4ca70b4c604dcp+4 +0x1.76c4b20acce6ep+5 +0x1.2999ecb388395p+4 +0x1.c4bb88f6b0f8ap+4 +0x1.2bd69200f58fdp+7 +0x1.74524c132c7b4p+0 +0x1.1634d177c6dedp+3 +0x1.fe74f9ee30c19p+4 +0x1.226baee05a97p+6 +0x1.147342f151df5p+6 +0x1.90dafe713b33ep+6 +0x1.ec50e0b1e303bp+3 +0x1.903e02690d2e7p+5 +0x1.4d63a3855ba33p-2 +0x1.5465cf42deb99p+5 +0x1.3db8d7cbf0cb8p+15 +0x1.0f4073812299ep+4 +0x1.272bf24d0c13cp+0 +0x1.a2d45d4bbbd94p+4 +0x1.3a25e55167a08p+11 +0x1.6572659bf5069p+5 +0x1.0b6900999c10fp+7 +0x1.d1aab4edc82d3p+11 +0x1.6740896d58c5ap+4 +0x1.f5343e40ca3fep+11 +0x1.4da16efaad6cfp+3 +0x1.a0518dd6a4d86p+6 +0x1.560170000e498p+3 +0x1.f861f48fb92b9p-1 +0x1.e18eea1f36a9fp+3 +0x1.92d2831eb58bp+6 +0x1.17f38b0cc7496p+3 +0x1.030fe4149d605p+14 +0x1.086a8c738c854p+1 +0x1.afa4ab89a3a6cp+16 +0x1.a0c0b2ddb6103p+4 +0x1.8a18c8307b6eep+3 +0x1.b60ac06800d6bp+9 +0x1.ddc46428366f2p+4 +0x1.2c0cec118bfc7p+5 +0x1.661f006f6a9e4p+6 +0x1.6d275baf278fdp+5 +0x1.3a63f6b81a6a2p+12 +0x1.16f4386453efdp+4 +0x1.d742cc2b0b294p+3 +0x1.1c760c32e5ebcp+4 +0x1.762be5df3b2b5p+2 +0x1.6ce9da31d14d3p+2 +0x1.273490185bd72p+6 +0x1.529bc9fa0adfap+2 +0x1.e2213a453d3bbp+5 +0x1.415ff73afc14ap+5 +0x1.97d45d9ec938ap+4 +0x1.1fb01034fd4f2p+6 +0x1.6c4b05cc88d46p+4 +0x1.ef401f1c09015p+6 +0x1.4c147bc633286p+1 +0x1.0307673724f6ap+3 +0x1.1922f43c68829p+5 +0x1.47096292dcbap+5 +0x1.c977ca7798955p+4 +0x1.16163b1d105bp+6 +0x1.5526fbafe37a6p+5 +0x1.c8d315a7d4e19p+11 +0x1.bc25198eb457ap+2 +0x1.6361e11b01b83p-1 +0x1.39412d11c5098p+5 +0x1.57d698f6d8849p+6 +0x1.dfa43b23b7bd7p-1 +0x1.93ef022314129p+5 +0x1.e8b0f86ce58bdp+4 +0x1.fdf8ee4f13231p+1 +0x1.16223ee101708p+5 +0x1.a919bfa1da1b3p+4 +0x1.a2d23648951edp+9 +0x1.aa689208d2f9cp+5 +0x1.5611d36901d64p+2 +0x1.82109b1423bfap+10 +0x1.ba3332b4b5c1cp+5 +0x1.d38ec9e7c139ep+2 +0x1.5ed35611f6d33p+4 +0x1.2ac0d400a676dp+5 +0x1.602d479148477p+10 +0x1.55e495f5889b9p+4 +0x1.7472cfac0f565p+2 +0x1.6de0043a4dcdcp+4 +0x1.7cd54d836177cp+3 +0x1.ffa9293a1715fp+8 +0x1.a6fbf4bdafbd1p+17 +0x1.fa39554fe3f8cp+15 +0x1.5c99cccfcc00cp+2 +0x1.e19d601493c35p+6 +0x1.1c549e95e3242p+5 +0x1.1ea2c305cac04p+5 +0x1.a575f40061e55p+4 +0x1.2454002f64baep+5 +0x1.5f60d7e36306dp+4 +0x1.bbe54facf9785p+3 +0x1.06e89938a4f64p+4 +0x1.cf868af365567p+16 +0x1.c1d955b22b83dp+8 +0x1.08673b818d208p+2 +0x1.9d9e58ff1e112p+4 +0x1.db0e6e8f3d5p+5 +0x1.2fd311970755bp+4 +0x1.8a3115e852903p+1 +0x1.04a60d174dfcbp+14 +0x1.f823ba87a92a3p+2 +0x1.a3b14ca62259dp+4 +0x1.b4078b412cdccp+2 +0x1.af7e54787d6f9p+4 +0x1.80cf544ca6a95p+6 +0x1.99f79a6a8db89p+4 +0x1.58db03b5e62e9p+4 +0x1.d83935188c261p+3 +0x1.decb3ca4da633p+4 +0x1.00b5b21607cfcp+3 +0x1.71f7ba163232bp+18 +0x1.0564ca0ee8fccp+5 +0x1.63a01b452680ep+5 +0x1.3806800a65d43p+5 +0x1.18656eccde011p+1 +0x1.68620ddde036fp+4 +0x1.51ac96df6dac4p+2 +0x1.8e4a5e33a25f5p+1 +0x1.a7449f124f3c3p+2 +0x1.30bc39ae54cc1p+9 +0x1.92a9635b65846p+5 +0x1.7ac4522639ffp+5 +0x1.abc42705fc95bp+4 +0x1.31f04ca1b2cc3p+5 +0x1.64cd35eeb4edbp+1 +0x1.c05a89c1f1ce8p+5 +0x1.1d6c6ac996a3ep+2 +0x1.8326c5b0d484cp+6 +0x1.5c1e506ded505p+6 +0x1.2afb0260ecbdfp+4 +0x1.95ba8cd97a439p+5 +0x1.f6ab1f114ed14p-2 +0x1.da3452db65d3fp+5 +0x1.a49fddd4de4acp+4 +0x1.bfd08115e019fp+4 +0x1.38336184afec8p+5 +0x1.25c90d72138efp+2 +0x1.a77f17544dc0ep+5 +0x1.48444f87a155dp+15 +0x1.2fe60cb1b720ep+5 +0x1.1faaaf79db5adp+5 +0x1.36f0689af30c2p+3 +0x1.8f247dd945123p+5 +0x1.2cc485e04ae65p+9 +0x1.bcec8af83b6ecp+5 +0x1.a513ce2ed171p+4 +0x1.8d3b84c273659p+4 +0x1.ca76386ef0612p+12 +0x1.6a1ad867fee5ap+4 +0x1.ea8a50d95382p+4 +0x1.99f471c3ec61cp+6 +0x1.271b088a5ae02p+2 +0x1.ac764c27fca7bp+11 +0x1.74bba5e3732b8p+12 +0x1.a849b18e5c888p-3 +0x1.50a138f3d25dep+4 +0x1.7479939956544p+16 +0x1.1c30cded55b87p+6 +0x1.e32fcf9e9c31fp+1 +0x1.abcd197cd12ebp-3 +0x1.8c38964d90cf4p+1 +0x1.c38502ce2130bp+0 +0x1.abe0d6ef30015p+3 +0x1.36b0cb7398ebbp+6 +0x1.921a68fab7e59p+3 +0x1.b01169985725ap+3 +0x1.16ca4df9ebf7ep+5 +0x1.bcd320198fe33p+4 +0x1.05a1f4f5e0bd9p+13 +0x1.e6ba51b6568edp+2 +0x1.560a0d0697315p-2 +0x1.b01ea107994a7p+0 +0x1.1d5e2459901f1p+3 +0x1.e6e1d6fdd08e8p+5 +0x1.cc6428ca82f7ep+1 +0x1.bb99e90e21c31p+6 +0x1.da363bc3939c1p+5 +0x1.f77eddec3d4bdp+2 +0x1.a48f138e26b76p+4 +0x1.6dcaf3b89b12ap+5 +0x1.0b766a2ed8fc3p+5 +0x1.a65ca96c4675ep+16 +0x1.8d7a34b59b97p+12 +0x1.d205c3efa78e8p+4 +0x1.7b8d25a4bf776p+17 +0x1.a9d36a9110ef3p+4 +0x1.190f8f3ed7706p+18 +0x1.b99f12af0575ap+10 +0x1.605c89b2ce103p+3 +0x1.c5456072be1e4p+4 +0x1.5b5ddbdfd80c8p+1 +0x1.f42847b945575p-1 +0x1.24940c9eb60cfp+15 +0x1.4822dd9b25651p+8 +0x1.19eca1ef49fcbp+1 +0x1.bb556bfc72f0bp+12 +0x1.281068620bf3cp+2 +0x1.0866ac2c75b67p+2 +0x1.0fecd0ef9060ap+16 +0x1.aa0aaa5619db3p+5 +0x1.f1a54d783f3ddp+5 +0x1.d19859ed3309fp+0 +0x1.f4064a0438e96p+4 +0x1.095b99953cf91p+6 +0x1.3f000678a964cp+5 +0x1.4c9fb159ae46fp+7 +0x1.7d6619dbbc853p+4 +0x1.3a8c6f251f3c1p+3 +0x1.b475f58e75d01p+3 +0x1.55d235bca810ep+6 +0x1.7f76ae5b8febdp+1 +0x1.b4a2baec548d1p+11 +0x1.bdd6f0b1b58e1p+4 +0x1.26a4c82458a8fp+5 +0x1.3afaa9d0498bdp+9 +0x1.9ee7b347a392cp+3 +0x1.539d5c2a9af7ep+6 +0x1.fe1c6b9cba0e3p+10 +0x1.50529867d930bp+6 +0x1.c2755b7fe77d8p+2 +0x1.9fccdd260f4b9p+5 +0x1.20c9992de2642p+4 +0x1.58d1ee87ed04p+5 +0x1.df75550a8363ap+4 +0x1.2d14e87bc43d1p+7 +0x1.699a298194b4bp+4 +0x1.2ab81452e1253p+4 +0x1.4b902e8127d36p+0 +0x1.e73b0f374defcp+4 +0x1.d41f9dce2d3c1p+4 +0x1.50137790255e3p+14 +0x1.394f4097d5bc6p+18 +0x1.e3e985e7e3322p+4 +0x1.9268cd45ebb9p+7 +0x1.9183fea401646p+13 +0x1.d17a7b2f34eadp+9 +0x1.0274d248a80b9p+4 +0x1.fbcde933d1b71p+16 +0x1.8ba6b100ff44p+5 +0x1.15164766e0e6ap+4 +0x1.4b29be43ca0a3p+5 +0x1.4fcf8f4340f3fp+7 +0x1.35fee236328fdp+4 +0x1.22e4ff7657ef1p+4 +0x1.7ea16d19452dcp+12 +0x1.05cf23f040324p+17 +0x1.bd2234b24e5c4p+18 +0x1.2e15e7e84a206p+6 +0x1.4a2c5b6f48957p+6 +0x1.4d5c30a55cdcfp+6 +0x1.e76a350f3162cp+11 +0x1.d5f8974ba8bb8p-3 +0x1.78951e40935b6p+2 +0x1.edad505ea8d78p+3 +0x1.05d77cf32d26ap+17 +0x1.adf4f3b40935cp+6 +0x1.e264e95bf1976p+3 +0x1.69113029f78c2p+5 +0x1.c236bc604c3b4p+0 +0x1.71cec3447a1dp+1 +0x1.53509d39c843fp+6 +0x1.d0913ee6098bep+5 +0x1.b5d1b939c4a0dp+3 +0x1.cf7875fcab22dp+2 +0x1.c6402dfeeba2ep-1 +0x1.6fa3c20e12377p+6 +0x1.71393e4f9fe6dp+5 +0x1.ef73c7c8b697ap+5 +0x1.97b65b7d6af01p+5 +0x1.5a4706994b042p+6 +0x1.78daf09cbd808p+1 +0x1.50936a2b660cfp+3 +0x1.411919bf26007p+5 +0x1.b19657ada89dap+5 +0x1.1324b8143119ep+5 +0x1.cdd06600a0363p+16 +0x1.6a626a7568a3ep+3 +0x1.a06278e276cffp+6 +0x1.8bf18d920ae53p+1 +0x1.a835acc5d4014p+3 +0x1.a241e5a5a1a6ap+3 +0x1.388c2f78a105ep+4 +0x1.0354a62e9785cp+4 +0x1.8f91ff20a17bdp+16 +0x1.45b7b9f0ebd7dp+3 +0x1.55acd7bdad9c7p+5 +0x1.c68f5e61a458bp+5 +0x1.12faf0660bafp+6 +0x1.33e60a280d353p+5 +0x1.646ed3efb4339p+3 +0x1.92e92a1543a59p+10 +0x1.53defcf66efb8p+6 +0x1.a37148d820261p+5 +0x1.3ec9372511bdcp+6 +0x1.39a626d1f72c2p+6 +0x1.f9f5c0c6a4013p+13 +0x1.480c7da462c9p+5 +0x1.c585a0ea4eb3p+1 +0x1.302823c517d0ap+6 +0x1.5a96bd2023277p+6 +0x1.7c0c896958893p+1 +0x1.44d7ce19d83d7p+5 +0x1.350452b6659d9p+5 +0x1.bf8ce8863dbc3p+5 +0x1.76b41ba30aa4dp+8 +0x1.1d93d30022e6bp+6 +0x1.90a589020a93ap+6 +0x1.ecbb6f1c0ac3ep+16 +0x1.5ebcfdb511636p+5 +0x1.b70b92afbb075p+4 +0x1.0f872e8e4d25ep-2 +0x1.c571c699fe598p-1 +0x1.1557cf4e2a9d6p+0 +0x1.fce2893d6f08fp+4 +0x1.33bd1f44a4c03p+5 +0x1.18c60b481d48cp+0 +0x1.fce4bc623a401p+12 +0x1.575e3d9453635p+4 +0x1.c8b4ef0ace014p+12 +0x1.b7a6115dee80dp+5 +0x1.fa556953a375ap+17 +0x1.033532cd63b23p+6 +0x1.02c35cf273c0ap+6 +0x1.e20babc137d41p+11 +0x1.239e0c756b98bp+6 +0x1.7724e2db71d8p+1 +0x1.8981c951679d5p+11 +0x1.d2ce2cd68ef05p+5 +0x1.00fd0e7536b51p+6 +0x1.a3c4ebb00db65p+12 +0x1.ea863ce598197p+5 +0x1.24325f2e4ae11p+5 +0x1.76cf12b7ea721p+6 +0x1.e21994b9d74cfp+17 +0x1.bdf94f4688892p+5 +0x1.6dbf6f6c93462p+5 +0x1.72a1f9a35c32dp+0 +0x1.afd044bbeacd2p+5 +0x1.1c329b52315f2p+5 +0x1.4dca6c64598c7p-3 +0x1.13428dac09466p+3 +0x1.51346fe0d2367p+5 +0x1.dfdfcf35aff7fp-4 +0x1.6b25601e82246p+4 +0x1.5485e2c5009f6p+11 +0x1.c0c38e2c9c58p+3 +0x1.14f0d54f40a34p+5 +0x1.18c3fba8cf5fdp+2 +0x1.91def4fa65dd5p+5 +0x1.6ae0ef442368fp+4 +0x1.ac37e2721226ep+2 +0x1.ca08a70de4361p+3 +0x1.a89bd02178d2dp+4 +0x1.37dd772a1df2ep+6 +0x1.5a7f0a1b0de9ep+5 +0x1.0cbed93c850eep+3 +0x1.ad8c34e6e7721p+3 +0x1.2cec7a6c90c28p+5 +0x1.9c5aaa39db60dp+12 +0x1.dce4bc4119f35p+11 +0x1.063b6017efa0cp+6 +0x1.5b07b1b1fcb55p+5 +0x1.2b888c8f9c59ep+4 +0x1.86b4e1de1d97fp+5 +0x1.06865279e0daep+5 +0x1.1856957e480a7p+4 +0x1.1393b634680bdp+5 +0x1.10a695ce3617ep+14 +0x1.067b40788a1f2p+3 +0x1.2012c152227c4p+4 +0x1.0f2f86b17ca4ep-1 +0x1.3b92a8aeb7de3p+6 +0x1.888f4a1ea201dp+2 +0x1.86296e1b1f92fp+5 +0x1.7294f446ae997p+4 +0x1.7789dcf585d7cp+5 +0x1.065c65d62bc06p+7 +0x1.9c3c5a4e3e168p+6 +0x1.2be0d43453091p+6 +0x1.6c659c3cd1806p+5 +0x1.a3d5950709e63p+0 +0x1.4ce251eed36c1p+5 +0x1.8275b7cf3f141p+6 +0x1.701b6d5a0e5fp+15 +0x1.e586e7718995bp+1 +0x1.643daea3fa2efp+5 +0x1.a18a2adc2a08fp+2 +0x1.0fd4b2f8c898cp+6 +0x1.8e64c6aeb19b8p+5 +0x1.8e9779a4ad74p+0 +0x1.c8412117faa0ap+4 +0x1.ab6ca986dffb6p+1 +0x1.6b35398ebe5e1p+5 +0x1.2e456f9110ee5p+5 +0x1.97bfd556fdc2ap+5 +0x1.bbc769677ad9fp+5 +0x1.ef2bd96e51b38p+2 +0x1.fb943d0fb8c07p+4 +0x1.330a96a277cddp+5 +0x1.5259274c0a21p+7 +0x1.2c32324feb4b2p+17 +0x1.c3f16c81aaf65p+4 +0x1.ba2dec2adebd9p-4 +0x1.71216dbe855e5p+5 +0x1.f3f3f83618425p+4 +0x1.f37b44160ee7bp-4 +0x1.358b6f604ee9cp+8 +0x1.293c2a3ac5e1dp+1 +0x1.78009872109e1p+4 +0x1.e41ef16a67b4ap+2 +0x1.39645a0571a6bp+4 +0x1.3d406a31f45eap+2 +0x1.c67783e71fd07p+3 +0x1.4d68f2a546f2dp+2 +0x1.9c5070438017fp+5 +0x1.131f0b11eb3d3p+6 +0x1.3b3ed0f8b1551p+4 +0x1.d294f7d910501p+6 +0x1.1c0170c64e9b9p+6 +0x1.fea9dc9b4ccf5p+5 +0x1.3e3daa2c8799cp+4 +0x1.295f38128359ep+2 +0x1.8a1aebb6fd15cp+5 +0x1.bd0d119d9e4f1p+4 +0x1.fc794804659e2p+3 +0x1.4d68ab7ac311ap+4 +0x1.842006a48feb5p+2 +0x1.e3f3124420883p+4 +0x1.51ecb56a3d14dp+3 +0x1.ef766c4c46dcp+4 +0x1.09ba6c5f785c3p+5 +0x1.0a97407a072f8p+4 +0x1.864194c6a2042p+4 +0x1.3247f3053c2f4p+5 +0x1.79e73eeee7f29p+5 +0x1.059717a552a08p+3 +0x1.935c4f1a23653p+5 +0x1.0e92a636d586bp+2 +0x1.5849659bac552p+4 +0x1.5db7f2e320b46p+8 +0x1.76861dcea99e3p+3 +0x1.6d9d6f9f0344fp+4 +0x1.f31490ed40354p-1 +0x1.638ad5eb1f189p+18 +0x1.9c36fe241ea0ap+4 +0x1.8007fca226551p+17 +0x1.26d5b8c3847a8p+3 +0x1.db2f3edd1b02p+12 +0x1.c514abeebcdccp+0 +0x1.f31b02c7492a8p+4 +0x1.ef27ee50ca5a6p+4 +0x1.6e1097eead464p+11 +0x1.580f9a7d81aacp+5 +0x1.c4f776aabf4bp+4 +0x1.0782ec339729cp+6 +0x1.6ecc32af4dd61p+13 +0x1.2ba028ce1fed3p+8 +0x1.cbc8a3bcddb7ep+5 +0x1.8b6dec7d9e3e9p+4 +0x1.e0bd1489eec9dp+0 +0x1.bca7096b17801p+4 +0x1.6b16dd8142447p+5 +0x1.717ce802b2a9ap+3 +0x1.a5a477dd13dc8p+3 +0x1.0a0ba06a2f815p+5 +0x1.d047b64eba23bp+8 +0x1.7662df214c9bbp+4 +0x1.ec413d1e59766p+3 +0x1.0e587288cc9ecp+5 +0x1.8759282069f44p+4 +0x1.6827504dfa7b1p+2 +0x1.9a57661a87e6dp+5 +0x1.f32cabaf7ca0ep+5 +0x1.3420c3f2ea4dcp+2 +0x1.dad03d3b3dd99p+4 +0x1.bdb9152a495fdp+5 +0x1.e13550f5ac947p+4 +0x1.716de2cef5ba7p+5 +0x1.8089a4a7044ep+3 +0x1.b7914b2cf2867p+2 +0x1.045c3e1c2f055p+5 +0x1.ec34cfa2e4f62p+14 +0x1.67235b483fa71p+3 +0x1.393b6be1e43ddp+15 +0x1.c88e99764f116p+3 +0x1.059b9e044101fp+5 +0x1.4016b3b8728c9p+1 +0x1.44c74866de332p+5 +0x1.026907c1552a8p+4 +0x1.51665fe6b54ddp+0 +0x1.7fb65156f4bp+5 +0x1.9131f488f0c47p+0 +0x1.5bd7243db19cdp+3 +0x1.3891896e1ca3fp+13 +0x1.4aa769bce80e6p-1 +0x1.973fd8b21946ep+5 +0x1.2118da71c3fap+6 +0x1.9e0437b7347e5p+5 +0x1.41beb422c1191p+5 +0x1.8c6b9123d5064p+5 +0x1.af45c783d87c7p+5 +0x1.e539467cc87a8p+5 +0x1.83fa6a5f48cdbp+8 +0x1.5326250b11abbp+4 +0x1.2885b4b74bed1p+4 +0x1.a5c4e7635373bp+2 +0x1.f3f189fd50db1p+5 +0x1.a27c81ee12e09p+4 +0x1.584f985dab75bp+6 +0x1.d135029060259p+5 +0x1.d75b323a846b9p+1 +0x1.40f8266db8167p+5 +0x1.38956de92ad8fp+3 +0x1.c1267186f6a9fp+5 +0x1.a12b00039a2f3p+1 +0x1.85ce1ce18f81bp+5 +0x1.d7fbb127451dap+5 +0x1.c023723758ea9p+3 +0x1.adb9bdc9300e1p+6 +0x1.47a45c3eb3173p+4 +0x1.3f863b02f6288p+5 +0x1.66278d3cc0e14p+0 +0x1.3b6f064dba6a3p+4 +0x1.3c5d89f72c0e4p+4 +0x1.51bad6d69359dp+18 +0x1.18e9289997d84p-1 +0x1.2f2eeaa88a192p+3 +0x1.477e838a7cde7p+6 +0x1.253be2eaf6ef8p+1 +0x1.5f0c62d76782ep+0 +0x1.600b9a7f481c4p+7 +0x1.cfc696dd282fap+5 +0x1.3c079e7ce756p+3 +0x1.2946011344af3p+6 +0x1.6fc0f177d9849p+6 +0x1.84d1a1a8628cep+5 +0x1.70cc583933cd1p+6 +0x1.eb3af65fd52c7p+5 +0x1.bd762db28b0a4p+6 +0x1.78626ce55874fp+14 +0x1.3120901319f45p+6 +0x1.85a7806c15baap+14 +0x1.679464436196fp+5 +0x1.76000bfd06dp+5 +0x1.5f422114014d5p-2 +0x1.aa84f2931ac9ep+16 +0x1.fefefd36b0efbp+16 +0x1.04eff43c0046cp+2 +0x1.a7acb474893e1p+4 +0x1.fa73c9218ac11p+7 +0x1.9541f4e4f378dp+9 +0x1.e50d2d73ea5cbp+12 +0x1.b076159e461bap+6 +0x1.93f239ed1b101p+10 +0x1.1a68275668707p+5 +0x1.544e7a58a8bdep+7 +0x1.ba20113313b22p+7 +0x1.45231824e2393p+4 +0x1.c3803234973ep+6 +0x1.4d724f3585d47p+16 +0x1.76cf97712ee5fp+12 +0x1.daea3c7baa8f7p+5 +0x1.1b27507fa4e95p+5 +0x1.1e8955e97aa2ap+5 +0x1.3c054004a0cf6p+6 +0x1.168d8d6cb989fp+10 +0x1.6f2768262f14cp+4 +0x1.be5633e6d4469p+13 +0x1.2effa27f8055ep+6 +0x1.18cdebf18848bp+14 +0x1.1586a9f756f02p+5 +0x1.b53571f47b263p+4 +0x1.6e4fd7ae9b2bep+6 +0x1.88bcce1d77b4bp+6 +0x1.ff43968176e74p+5 +0x1.81cad0e884c93p+3 +0x1.1817995289d62p+6 +0x1.98a6e83675ffp+3 +0x1.120dca2985b75p+13 +0x1.8909e22ff9879p+6 +0x1.28f67834ed60ap+15 +0x1.ba70a8cab2edp+5 +0x1.23ebebb6efbc4p+3 +0x1.2deee48a58b63p+5 +0x1.4a770936a16c2p+6 +0x1.56144c9313434p+1 +0x1.f1edb50cb50dfp+16 +0x1.1326f6c840a8p+0 +0x1.bf0212d61a857p+4 +0x1.ff79e83959b6p+5 +0x1.c90224cadc365p+11 +0x1.6ebfbb478ab8fp+10 +0x1.c97e185e5aca4p+8 +0x1.7299dfc8d0292p+5 +0x1.071414bc353b9p+3 +0x1.6cd72a6c7b1d7p+4 +0x1.565db07fda9dp+5 +0x1.61fde02094f5ep+2 +0x1.d75d7f406a8eep+12 +0x1.6e81c0f16ba46p+13 +0x1.595309302454cp+3 +0x1.6f9a7c47f705bp+5 +0x1.6e67687c6d35p+6 +0x1.b18de3b9c2b33p+0 +0x1.fd388424ea40fp+9 +0x1.5ff3aa8e53e91p+5 +0x1.04a51ff483115p+4 +0x1.7dbe8cef9e169p+3 +0x1.065a276bea147p+5 +0x1.0eeaea62ce86ap-1 +0x1.071a74268330dp+5 +0x1.ade30094ee1efp+7 +0x1.57ca90e7559d8p+0 +0x1.010634fe3bd82p+5 +0x1.084358a4dd52dp+6 +0x1.79af949fe3bfdp+3 +0x1.1756f622ed732p+6 +0x1.4e50bad39a5c1p+4 +0x1.767fbe7f0f8f8p+15 +0x1.66d252663d7c3p+0 +0x1.5e4c0758ab6f1p+4 +0x1.2569f84b7e41ep+5 +0x1.4ef4151d1d504p+4 +0x1.94e2915a3afafp+5 +0x1.73b1d95f5dd4p+4 +0x1.12df457926d63p+6 +0x1.6fcc7bca2f38cp+4 +0x1.028013dd71bdap+3 +0x1.4b0f8f14be422p+5 +0x1.4fc30d7daa2ddp-1 +0x1.37fcc8ae300ecp-3 +0x1.5dfad0d180206p+3 +0x1.b8cabb6190264p+8 +0x1.39c321c194312p+7 +0x1.091c1550ecd92p+5 +0x1.08047946f5796p+1 +0x1.5e5209acaedbep+4 +0x1.2eb6360697722p+4 +0x1.297b94888b9e4p+6 +0x1.99124d9e6b5bdp+5 +0x1.8995e340b0ed6p+5 +0x1.4f995a9b5e21ap+5 +0x1.507400de131bcp+7 +0x1.5364def5b30f3p+6 +0x1.95d1bffa3224ap+11 +0x1.18adfb2376294p+5 +0x1.828667e25e20ap+4 +0x1.cb4211dcf4663p+6 +0x1.8b659d7df2a7ep+5 +0x1.8433d7349a242p+5 +0x1.4562551b7990ap+6 +0x1.7032f1ae18c8p+9 +0x1.66baf927c3d26p+6 +0x1.cda8044199ebfp+4 +0x1.deaa7cae6999bp-4 +0x1.30986cdbff435p+2 +0x1.9f15f6152940bp+14 +0x1.7432556153645p+1 +0x1.c4b7469e90cfap+5 +0x1.c41c69efa9974p+4 +0x1.b175ef5a5ff2p-1 +0x1.194b9eba88e88p+16 +0x1.97d5cd567d897p+5 +0x1.b59bc0113899p+5 +0x1.296741f6398d6p+4 +0x1.33b817ff79334p+5 +0x1.9bea7178408f6p+4 +0x1.88f551ed703d9p+5 +0x1.1d0e518d63c53p+0 +0x1.735832c227d6p+2 +0x1.a853f005d6f5p+6 +0x1.924705f2430e7p+6 +0x1.685845cd47d62p+4 +0x1.6d941e3a6f1e4p+5 +0x1.dc6766e4e7c36p+16 +0x1.02a0847c90e95p+10 +0x1.b874f91ea9b36p+4 +0x1.618cd02cf8aa1p+6 +0x1.205de18a30da6p+3 +0x1.ded811368cab6p+11 +0x1.e8f989549d04p+3 +0x1.319288e7fc051p+15 +0x1.c9343f720aa43p+6 +0x1.4fbd326411d25p+0 +0x1.04bc3bf8aa3e1p+6 +0x1.4f8366a7596d7p+5 +0x1.b4ded258fdef5p+5 +0x1.885bdb71e6b37p+4 +0x1.0cbcebb083bbdp+5 +0x1.a8ee95cd2f1bfp+4 +0x1.e673779983e8fp+5 +0x1.b7bf253edf349p+4 +0x1.08f2ae5457187p+2 +0x1.0f50570f9899cp+14 +0x1.2c360b860b392p+3 +0x1.91e56047b8849p+4 +0x1.1cee877207b8ap+5 +0x1.479c32f8de469p+9 +0x1.5792580f9783p+6 +0x1.e0b47df6bb1ebp+3 +0x1.7463b90ec97p+5 +0x1.38421c1dca04p+5 +0x1.a185f577e0fa2p+4 +0x1.f0d9981794a2fp+2 +0x1.137285db4616p+3 +0x1.56a1e8a096227p+6 +0x1.6d5cef11873fap+1 +0x1.bb1d365ff2c24p+4 +0x1.9e7237d8988f9p+2 +0x1.cd1777b74aa2bp+5 +0x1.b7b5822526fdcp+4 +0x1.3ce3e6d2a06bep+6 +0x1.426e244983e61p+11 +0x1.ffb236a330b1ap+13 +0x1.98365a25f33a1p+4 +0x1.a7429afab6ba3p+0 +0x1.d7600c84fe0a4p+5 +0x1.958455adbd845p+6 +0x1.9886766fc1d53p+5 +0x1.771dd249c154bp+3 +0x1.57bab845e4c7cp+4 +0x1.37ecef901deb1p+2 +0x1.1da502c6bc4c1p+5 +0x1.1cbc4b5e81d7dp+7 +0x1.4674aa6d190b3p+16 +0x1.300192bc4d749p+5 +0x1.1532fcdaddd43p+1 +0x1.0e62e14ed7e52p+2 +0x1.e059e18259c55p+4 +0x1.c627644fb50ebp+5 +0x1.69b718281fc81p+5 +0x1.df9c19f689791p+6 +0x1.835c62b466393p+6 +0x1.83a4bc3f7784bp+5 +0x1.4cfd30004468ap+16 +0x1.9c2be31a37088p+3 +0x1.11e1b1f7ca1aep+5 +0x1.497b652408d4dp+16 +0x1.27330525a544ep+10 +0x1.6bfd3d95e1794p+2 +0x1.3abcdd9d0766fp+0 +0x1.a36ff8a6e2e3ep+7 +0x1.00816b7465b48p+6 +0x1.9c24a2f8ac2c6p-1 +0x1.07ae9a0f6ba19p+5 +0x1.e043c9ee3ade1p+4 +0x1.1c7ebbbb8c45ep+3 +0x1.35627dd320f9p+12 +0x1.c5309d046c55p+5 +0x1.3d29fa35af889p+6 +0x1.621e39b1fc413p+2 +0x1.0d3e9824bbc9dp+11 +0x1.d49dc29f7918p+3 +0x1.5c772230d41a3p+3 +0x1.887a000dfc01ap+5 +0x1.fac0d6fac476cp+4 +0x1.221ddcf8d83abp+4 +0x1.0e85fac03277p+5 +0x1.4d70ec4f632aap+5 +0x1.09828399f1dcbp+5 +0x1.d042aec3f426ap-1 +0x1.33fcba2bb6f42p+5 +0x1.64fc30218e414p+6 +0x1.2383a5c07711ap+5 +0x1.bc4ba59fd48edp+4 +0x1.8d7ffdf92d1fdp+2 +0x1.43333557ac838p+5 +0x1.65aad446c6746p-1 +0x1.974d4c2c6ac92p+6 +0x1.21a694c53518ep+7 +0x1.09ee907e7d1efp+6 +0x1.8da5e147bd472p+6 +0x1.a53a834130bdbp+4 +0x1.2f88c1ac0ee31p+6 +0x1.a794bf209e2b6p+5 +0x1.492ad6e9337b7p+7 +0x1.c193e1df7ea56p+3 +0x1.7520abd238e71p+4 +0x1.0c38be406849p+12 +0x1.336138ac5a0bbp+1 +0x1.5da285042fd3ap+4 +0x1.5c3f0b8d6d8a4p+5 +0x1.5b2682466395cp+4 +0x1.7d1ee6ff44886p+4 +0x1.100e2594d23ffp+4 +0x1.48bf130a5c97p+4 +0x1.76e08a7e50deep+3 +0x1.faf660ee16596p+5 +0x1.00c63d566b894p+5 +0x1.e1be15146eaf4p+5 +0x1.282bc8a8bb9fep+2 +0x1.f780fafaa3eacp-1 +0x1.74974a6ef335ap+3 +0x1.07bd60914deacp+6 +0x1.de8d6e34d9021p+4 +0x1.12cf2233d2f1dp+5 +0x1.815c053aaac18p+1 +0x1.b8b4be4a34216p+6 +0x1.d28ab05d2f7b6p+5 +0x1.34681cbfe5e9p+5 +0x1.f2776ac4b0705p+3 +0x1.b54d166037798p-1 +0x1.4ac1cf6451198p+5 +0x1.287de8a8f593dp+3 +0x1.c306c2ea58994p+6 +0x1.a2e3132095c53p+2 +0x1.455e6e041964p+5 +0x1.7a909cae084cep+4 +0x1.5acc4dcb8ab73p+2 +0x1.3ff2eacaf384ep+5 +0x1.32fd115bcb29cp+14 +0x1.9a24ad8695b56p+0 +0x1.f52ccf4b32505p+3 +0x1.199b7c78f017cp+5 +0x1.33e5ce131fd7ep+0 +0x1.f912a004a93cfp+11 +0x1.c79c6de68bb02p+4 +0x1.a3bc743befce3p+4 +0x1.4bfbc269362cep+13 +0x1.92d119065eeeep+7 +0x1.a113754eaea9dp+7 +0x1.3d0dd73fbe324p+6 +0x1.f8961dba2cc49p+16 +0x1.360ea1bf820b9p+10 +0x1.801180b8777edp+6 +0x1.38ecc60bc4622p+6 +0x1.8b4f9087f5931p+3 +0x1.73bbba22e7b1cp+10 +0x1.5281723b9b717p+13 +0x1.a5600eede1f3bp+2 +0x1.4601ed62b661fp+15 +0x1.032c872d964eep+6 +0x1.284fc3ce1b674p+6 +0x1.22f882292f309p+4 +0x1.2faa214f30938p+16 +0x1.233af57cffdb7p+5 +0x1.a18d6a4fbd39ep+12 +0x1.35c604153cb8ap+9 +0x1.7df98c5b6554fp+7 +0x1.0b498d4bd276ap+7 +0x1.d0b8645e4a8a9p+3 +0x1.2f4f772ba851p+15 +0x1.3e7d54e78fa48p+3 +0x1.8b42c7f521daep+5 +0x1.84f1a2443f266p+2 +0x1.3100484013667p+8 +0x1.19965e837ea41p+5 +0x1.afd6c4d362612p+5 +0x1.0a9726f71486ep+6 +0x1.bbfd5f9759885p+5 +0x1.40fe8d2541791p+5 +0x1.43010cbb5967cp+4 +0x1.ea827afc26525p+3 +0x1.a3d5ba0dc62d7p+5 +0x1.5e23fce674ec1p+6 +0x1.09bf5c9a57026p+6 +0x1.c36e99619218p+5 +0x1.167a83460753p+0 +0x1.4bc047e63e692p+18 +0x1.e970f6371a5e2p+16 +0x1.a53496b05043ap+1 +0x1.b88fdfa7e61bdp+3 +0x1.efe78f4f53c3ep+4 +0x1.40228c6832e79p+5 +0x1.0aef220057ea6p+14 +0x1.9d6e715816dcp+6 +0x1.21e839852501dp+6 +0x1.10770dde624bdp+7 +0x1.015c9a72f7a4ap+3 +0x1.6295a273762cap+5 +0x1.64e30cb9b00f2p+4 +0x1.b18ed7cc4fd08p+5 +0x1.ff25672e34555p+12 +0x1.eec29f19d3af8p-1 +0x1.25e2b65d667c4p+4 +0x1.cfcf6e3351a84p-2 +0x1.8d9de49d145c9p+12 +0x1.2ac105614d881p+15 +0x1.9ea93187d34ffp+4 +0x1.f370cb13f9a5bp+5 +0x1.2e72bb674fa5fp+4 +0x1.b26693d62bf65p+18 +0x1.7d7266de6fb9dp+18 +0x1.cf22b71d35c16p+4 +0x1.e47db01a94496p+2 +0x1.1c7ded6e68803p+5 +0x1.ac931d3d49e3cp+3 +0x1.3698d15ef6116p+2 +0x1.df97a57a70393p+4 +0x1.adec151d5aefdp+5 +0x1.7ec80bf0f934cp+5 +0x1.95f1f88dd81eep-1 +0x1.2ffd49676999fp+10 +0x1.e131e251eac43p+5 +0x1.288a0361ea626p+2 +0x1.78da10553797p-5 +0x1.68da42e0825a5p+3 +0x1.45b86787863ffp+3 +0x1.ce7e4b092fcd9p+5 +0x1.0943f5377215ap+2 +0x1.6685804f949dfp+5 +0x1.27f88086743e4p+15 +0x1.2499fc2fdbb34p+9 +0x1.f621c904ed81p+4 +0x1.6262a35d1cd6ap+12 +0x1.799f59dbbfd22p+16 +0x1.02e32ac1c8fcdp+5 +0x1.6efd5a6c404d6p+2 +0x1.a66614c40f917p+5 +0x1.526db12192a05p+2 +0x1.b1efd75d12a06p+4 +0x1.f5ba06ff4f5fbp+4 +0x1.3bb58324fdd3cp+6 +0x1.29b5dd07bd67bp+18 +0x1.76ca8b0b98acap+5 +0x1.a63cbb4dfe26ep-3 +0x1.26bc9b3c3faf8p+4 +0x1.0eaf3e4bd9db5p+13 +0x1.3a5c791998554p+17 +0x1.9d5102d340104p+5 +0x1.878b6473e4c5fp+3 +0x1.c7c489d5347f2p+1 +0x1.12cc551a6c5cep+10 +0x1.3827464b08b05p+6 +0x1.4ebb081a303e1p+13 +0x1.c93ea991023cep-1 +0x1.0b57933940238p+5 +0x1.356e5a6b6b307p+0 +0x1.656919e35b317p+6 +0x1.dd00b935e2f64p+5 +0x1.5e8c3a1c63cabp+1 +0x1.8f8a678891bd6p+3 +0x1.5d256e9b74bcdp+7 +0x1.08903de5bade2p+6 +0x1.f28a2c28b08e2p+3 +0x1.0e9b28adea41bp+2 +0x1.939adc7fae871p+3 +0x1.68ce68781a07ep+6 +0x1.d4e73f4757212p+5 +0x1.4535d046590d5p+5 +0x1.c451214db053dp+5 +0x1.4f74ec350f571p+15 +0x1.4d1b304001d34p+5 +0x1.f15cf58a91538p+12 +0x1.b998833a09e97p+14 +0x1.1688c32e9a5f9p+6 +0x1.bd467b6af1139p+10 +0x1.5559323bfcf6dp+3 +0x1.48bab8bddabc5p+7 +0x1.991642408cdc7p+5 +0x1.268e29527c173p+3 +0x1.8343ac8df6ef3p+5 +0x1.056a84e698a9bp+10 +0x1.d8629838d2219p+5 +0x1.41b39967b2ca4p+5 +0x1.291b334891d87p+3 +0x1.a82f6233be861p+5 +0x1.01f74746cfc12p+4 +0x1.b2bcd670a0785p+4 +0x1.1d46496d045d8p+1 +0x1.4867c9928adecp+4 +0x1.8559b2c452144p+10 +0x1.d92eb8716e4aap+4 +0x1.f7dfd165fabb6p+4 +0x1.485854f3c4ee4p+4 +0x1.92cb4ab891dbbp+5 +0x1.53fac20ea64efp+6 +0x1.eab70fd672f19p+6 +0x1.4ef22663fe6bap+14 +0x1.3dd3db5c31d4cp+4 +0x1.8466d4368b4d6p+5 +0x1.a65992d0d3e44p+6 +0x1.17fbc88685416p+6 +0x1.141bb2f0f19d3p+5 +0x1.224564f526159p+6 +0x1.7202adc6091dcp+0 +0x1.1d39e44f23592p+2 +0x1.02d721b867734p+4 +0x1.d3a0fa21e17fbp+11 +0x1.277f5dc5491dfp+2 +0x1.b23fb4726b5eap+4 +0x1.8ae0fe5c930b2p+3 +0x1.b03b30f187287p-1 +0x1.89b79aae0a11cp+6 +0x1.994e15dbb3a2bp+6 +0x1.59beb2ef56c56p+2 +0x1.7983b2dc056bcp+5 +0x1.7514d6c7ebb52p+12 +0x1.16724defcd3a3p+4 +0x1.4ed2cda6cbc1dp+5 +0x1.eb46d907c95bep+5 +0x1.3db1f26b42a3ep+5 +0x1.12c4d590d983ep+1 +0x1.6531e4c8fb18p+3 +0x1.676471a94722dp+4 +0x1.f80f14a0b4041p+4 +0x1.5efc4acd16dfap+6 +0x1.dfb82e4c395fp+0 +0x1.17a0d46b4037p+0 +0x1.20b9610fc74ccp+7 +0x1.a8257d6289174p+6 +0x1.c07e8bf16cf1bp+6 +0x1.85eb4a42a0113p-4 +0x1.6f8a5bfeff18cp-3 +0x1.f72d15c7f2755p+5 +0x1.670b5199472c1p+6 +0x1.9df709448d878p+6 +0x1.48cfde02bffc7p+4 +0x1.3890cc545b482p+1 +0x1.a07a97752299p+3 +0x1.c7b4305e5f605p+5 +0x1.0e609331b264ap+6 +0x1.147dba88bbbd3p+10 +0x1.14659d7f36723p+4 +0x1.a62698dc57eafp+5 +0x1.db66af4dd6a22p+5 +0x1.7b4bc9c60d44p+3 +0x1.8eb9400de2832p+4 +0x1.79cefff8d911fp+15 +0x1.2fbf2eed05dcep+6 +0x1.58cb8293528fep+7 +0x1.814c49ae95017p+4 +0x1.c9cc354faf0e5p+5 +0x1.e7bd5d7bea9cp+2 +0x1.83850912a08eep+5 +0x1.3069205c1a9d5p+5 +0x1.74b006be03656p+5 +0x1.98de4ed088f37p+2 +0x1.57a253a8f9f3bp+5 +0x1.2b70bf95662p+3 +0x1.92bd98536bc1p+2 +0x1.9446f609fdf2fp+5 +0x1.fbbe57c174b71p+5 +0x1.203796e5500adp+5 +0x1.91e9c182101f6p+5 +0x1.4299b6228e6d5p+9 +0x1.0440b712f7987p+7 +0x1.caa520e34bcbp+5 +0x1.0313ea9c1ee05p+5 +0x1.f0d5f483f758fp+4 +0x1.65e461e947776p+12 +0x1.19b9517eb8606p+5 +0x1.07ade0da2cfb2p+5 +0x1.15db6867c9ba1p+6 +0x1.6a2dc8bd6545dp+9 +0x1.5dac34226b9ccp+5 +0x1.1be262d9d8a71p+6 +0x1.b6c96dfc563cfp+2 +0x1.62bea2d79e196p+4 +0x1.b4c869308cdd8p+4 +0x1.850e8c5000348p+5 +0x1.6f7188b309bdep-1 +0x1.6e3c42b827b05p+5 +0x1.a978f7f3f4277p+3 +0x1.35010525ff6c1p+14 +0x1.a6aa367d59ad1p+6 +0x1.616128dc1b089p+4 +0x1.7de32388e8915p+16 +0x1.34debcfa395e8p+6 +0x1.edfb585fa6043p+9 +0x1.b496ac835257ap+1 +0x1.0308e4faa60fdp+5 +0x1.0f4ea25f05f12p+6 +0x1.0f9f4cd37d0acp+3 +0x1.f0aaa4e478b58p+12 +0x1.295510645eee8p+6 +0x1.2a1be6a003408p+6 +0x1.b53ca82b97c7dp+5 +0x1.2042522719d8ap+6 +0x1.d73ac6c55c348p+16 +0x1.1762c78097bfap+6 +0x1.6ed0a6a9cf5d3p+3 +0x1.286bb5e174993p+4 +0x1.e846e95b4483bp+15 +0x1.7a5899619d539p+4 +0x1.3ed4bc8edad8cp+6 +0x1.0cd212bb3d423p+13 +0x1.828563dc40c4ep+7 +0x1.3a4312bd4d504p+5 +0x1.2a16c029c2fa9p+2 +0x1.0c779821fd131p+1 +0x1.010e1b438fe02p+0 +0x1.1f6251b982c37p+2 +0x1.b6c8bccc3ee94p+5 +0x1.12cc7350260fcp+6 +0x1.51aa1f5c26396p+5 +0x1.9ad7ac5b57acp+5 +0x1.b96b7b2a45bf3p+3 +0x1.599a22665ebd4p+4 +0x1.13018c08e7984p+12 +0x1.90ad8c1ad5524p+2 +0x1.f51e648c00516p+1 +0x1.d4385107a22fp+5 +0x1.708ae7578e8e6p+3 +0x1.6d1704b0b0b54p+6 +0x1.32d01a052001fp+17 +0x1.32d53f8502a6ap+4 +0x1.3643dc4a882bap+2 +0x1.9bd96d34d2b7ap+1 +0x1.1bfd271cb8b62p+3 +0x1.8a7bead3f85a6p+18 +0x1.6999b3a4c9c43p+2 +0x1.f42e4d2e648c2p+4 +0x1.89c715cccdffdp+13 +0x1.06d47095e0c3bp-1 +0x1.27391bb3b9b01p+6 +0x1.28c980480967cp+14 +0x1.7a59d91616c8ep+5 +0x1.f2a5f44c5159p+5 +0x1.0c3aa6d6a76c4p+6 +0x1.7b238c8c38fap+5 +0x1.15f83c43e640cp+2 +0x1.12247aae16d12p+0 +0x1.53ce0ff223458p+6 +0x1.eb90584df9488p-1 +0x1.f9bafb6e9ed98p+4 +0x1.84c911749487ep+10 +0x1.199c307263452p+3 +0x1.3aaf13be869aap-1 +0x1.5cdcadaf57041p+4 +0x1.99de799289852p+0 +0x1.adaed590d5439p+2 +0x1.258115d9248e9p+7 +0x1.3144dd69057bdp+0 +0x1.576eb427fad53p+4 +0x1.cf9e5f9507c43p+5 +0x1.11373579f9baap+6 +0x1.0e8e9a355d99bp+15 +0x1.319cb268cb65bp+5 +0x1.0b5e275084c5cp+11 +0x1.1a3bfd773df11p+6 +0x1.be5a23f346d61p+8 +0x1.5b8abe66a737ap+19 +0x1.38e1ec987f261p+5 +0x1.fe7332d123dd3p+3 +0x1.65504147a911fp+11 +0x1.8fedeee557f16p+4 +0x1.316c07f5bcf03p+3 +0x1.abf79fb58fef1p+5 +0x1.3134d5287840dp+5 +0x1.24a92a1afdc38p+5 +0x1.f5302da95b03ap+2 +0x1.80bd05ca9b81ap+11 +0x1.4f0e09cbb8d58p+16 +0x1.806833a5d09bfp+3 +0x1.ac9faf997102ep+6 +0x1.f5aa28d397c8p+2 +0x1.16fe7118f9cabp+5 +0x1.e61842f38fb79p+4 +0x1.4914344356e3ep+17 +0x1.3c5ec8b1d1cb1p+16 +0x1.f52a6cb7513c8p+5 +0x1.272ca0a65957cp+5 +0x1.970c36a00ffcfp+13 +0x1.63161ee5eb248p+8 +0x1.2bedb63b64164p+1 +0x1.1465e20374cdap+9 +0x1.100bf85b448a9p+5 +0x1.33636716c2a2ep-2 +0x1.513a7ea001158p+6 +0x1.2ddd6fef703d9p+4 +0x1.21b25972a6e34p+10 +0x1.c8c86fb72fe72p+9 +0x1.353e4f3a115fap+1 +0x1.753e4f8987fb6p+4 +0x1.11b8eeeab6419p+5 +0x1.0969a98f1b534p+14 +0x1.54c133506122dp+9 +0x1.9b4fdb6dcde28p+3 +0x1.44f6a430a8314p+3 +0x1.800cafb6ae70fp+4 +0x1.29c5627b33247p+1 +0x1.209feda757405p+4 +0x1.d055920eb48d2p+5 +0x1.347f92817ae36p+5 +0x1.22eec04ae8eadp+17 +0x1.19b518a0e155dp+4 +0x1.2f450b43c5f47p+16 +0x1.07657dc5764c9p+8 +0x1.640b8935d9cd2p+7 +0x1.6de7fa9e6fd61p+10 +0x1.01df75372ba9p+6 +0x1.503938e3f1525p+5 +0x1.f0d0e2b78fb87p+4 +0x1.48fb1c9e2f984p+5 +0x1.e5abd0863017ap+6 +0x1.d13dbdabc43c9p+2 +0x1.6b1c54a1e695fp+12 +0x1.83e84d628b1bep+6 +0x1.d869751ac1e14p+5 +0x1.1dcede94ffb7ap+5 +0x1.83bb2bb893b7bp+5 +0x1.1a0cc8645f864p+3 +0x1.41d1aa57dcd1ep+14 +0x1.8cabb0009cbcfp+4 +0x1.0ab6bbed8d4afp+4 +0x1.2990e29570dfap+5 +0x1.3b7069abaa71cp+5 +0x1.9c7e958bab126p+5 +0x1.eeaec709f5d06p+4 +0x1.7ea623065a207p+6 +0x1.3d0e181297c6fp+3 +0x1.7571b3c395ce5p+16 +0x1.af013291eb593p+5 +0x1.110093db5bb7p+14 +0x1.3c596a4694153p+5 +0x1.4d3133b920dbdp+1 +0x1.33931a69f9cacp+5 +0x1.6fb5affab4887p+13 +0x1.61ddcfebaaf25p+3 +0x1.c0a1ffe1ff6fcp+3 +0x1.7ed22a326f922p+2 +0x1.e51b52bc282cdp+3 +0x1.94078ecff348dp+5 +0x1.be311ef89702p+5 +0x1.980b480a08cdep+5 +0x1.a61ec2dcd61c3p+5 +0x1.1880d123fe224p+4 +0x1.2f75089b6b214p+13 +0x1.bb18ad2908b2bp+4 +0x1.167c6a2c6d99ep+5 +0x1.80dfde067327ep+5 +0x1.561d1e868dd52p+5 +0x1.2489e2a972e33p+4 +0x1.117b58d4f74c1p+5 +0x1.2e265ac17de15p+5 +0x1.df9dfab716841p+5 +0x1.4f62d71af0b3ap+6 +0x1.9285ece56ed3cp+5 +0x1.42188788e3d2p+2 +0x1.53e3cec5f3794p+0 +0x1.0a45f6389a7bbp+4 +0x1.b171280b5738dp+4 +0x1.86c39cfedf6f1p+1 +0x1.52e194831242fp+3 +0x1.78ca56729083bp+5 +0x1.4093c8fc59012p+5 +0x1.2313b9ee41723p+15 +0x1.47dd4bce5e8fcp+4 +0x1.64fd591a2120cp+3 +0x1.0d8b71fcf8046p+4 +0x1.60c565ba0113bp+4 +0x1.9ea751b6684e9p+3 +0x1.1a7199d8c8d32p+4 +0x1.3c403907f9734p+7 +0x1.10aee124b2ccp+14 +0x1.d8c5a24cdbdabp+4 +0x1.f018a6d58fc33p+4 +0x1.6b109df825ea8p+6 +0x1.2a459b68295bp+4 +0x1.5a27739fa2d07p+6 +0x1.606ed37134436p+5 +0x1.47786ff82923p+13 +0x1.6867052ebe27cp+4 +0x1.7aba24b86e6dp+17 +0x1.039d5aee0654p+5 +0x1.5c4cacd66d94ap+6 +0x1.d583caca2ce53p+5 +0x1.571adf5955041p+5 +0x1.03b37c5a2ac2ep+4 +0x1.72d03b15297abp+13 +0x1.6ac67ae4f9201p+9 +0x1.2ebbea63e9153p+5 +0x1.cc0f58eae62aep+2 +0x1.55480b502516ap+4 +0x1.4d9424fe1b201p+4 +0x1.91c7d18f159edp+6 +0x1.ceb3ec53821e8p+5 +0x1.008fadd47c79p+6 +0x1.814d61262bb6ep+4 +0x1.74c6e45f1a0eap+3 +0x1.6df99d7d71b9ep+6 +0x1.315c79d5da568p+4 +0x1.6db018cfd5e39p+5 +0x1.9700e52ca7ae9p+10 +0x1.5275f73955f9p+3 +0x1.2295a0b08e2p+11 +0x1.b32cfe7b577aep+5 +0x1.b55f99f607921p+5 +0x1.41184dec1687fp+6 +0x1.bcbd94d8b7822p+0 +0x1.aeac31bd4be4p-2 +0x1.b3174c240701ep+11 +0x1.20f020eb7ad4fp+5 +0x1.3824a3d3c5e69p+6 +0x1.4cb2a9f371b69p+8 +0x1.8318b9ce6e6f2p+6 +0x1.098224e3a6bbdp+5 +0x1.84e268191b284p+4 +0x1.19f5b4d06aaeep+5 +0x1.4697248d2a2c1p+16 +0x1.bed53c1a3f00ep+3 +0x1.07b472b843188p+2 +0x1.9939d40ba3771p+0 +0x1.5984d5e49ea5ep+6 +0x1.22449dc227a08p+6 +0x1.46929f6ffbbfp+2 +0x1.3d40a59de0303p+3 +0x1.27b0d5c90c6ffp+3 +0x1.06af6dde0c953p+5 +0x1.0c31bb9a72868p+1 +0x1.45a8cd62b7ab5p+6 +0x1.651a63cace92ap+6 +0x1.b2e34784fd5f7p+0 +0x1.2f42060dde7cdp+4 +0x1.873936fdece46p+5 +0x1.d0921c3bc1b6p+9 +0x1.72b708d056aa8p+3 +0x1.be69cc3c6e70fp+5 +0x1.cc4cef2230eap+1 +0x1.b1f2d430fb463p+6 +0x1.67d4acfa847dfp+3 +0x1.55bc7b2188cb4p+5 +0x1.b3d005a595315p+6 +0x1.26f6b99698879p+4 +0x1.316274fb911fep+0 +0x1.7ae893124b7ccp+4 +0x1.8c8ec8af33aa1p+6 +0x1.ff41b1b00fa11p+5 +0x1.6cfe6a57b6aaep+5 +0x1.48374d2280f8fp+4 +0x1.7fd9325d9a3a4p+1 +0x1.9ed81f2638a4dp+5 +0x1.279ef6c0615f3p+18 +0x1.80e3eff36b102p+5 +0x1.6bb78785de833p+5 +0x1.5fc2e7ed3c313p+1 +0x1.d4ce4a57dbab9p+11 +0x1.e83c6edffea4ep+8 +0x1.520f2c0edae7ep-1 +0x1.2cad323681b29p+6 +0x1.d77315a88415bp+5 +0x1.c1a1046d283bcp+0 +0x1.d7372cbd26e73p+4 +0x1.06e4223164b3ep+4 +0x1.4e7df08679bd4p+5 +0x1.adba3964d7d9ep+8 +0x1.0f680657f0092p+6 +0x1.b0e4e7fbb31a6p+10 +0x1.3084c59a27e55p+5 +0x1.275287e157adcp+5 +0x1.0061ba7b6fb35p+5 +0x1.67e2bddab3955p+2 +0x1.f3dff32d61307p+2 +0x1.9d61725373941p+4 +0x1.5045fea12ec7dp+10 +0x1.2ece19a73144p+4 +0x1.0bdabae440df9p+6 +0x1.bc31a6646b6d6p+4 +0x1.0d06e897b0382p+5 +0x1.d3c106fc159ep+3 +0x1.5f2a9756e9e88p+18 +0x1.2a3bb71c2ec7cp+3 +0x1.9281b514283e2p-2 +0x1.d1a63aecf22a9p+4 +0x1.094202b075be4p+5 +0x1.91dec00646a1dp+4 +0x1.69017eb154526p+18 +0x1.51baacdc3ca94p+9 +0x1.0771c068f0888p+3 +0x1.e9109593caee2p+9 +0x1.d516db82cadddp+14 +0x1.e369f1000c289p+12 +0x1.1f61ae5d93439p+5 +0x1.36c92da2ab5ddp+4 +0x1.3ccd4c1796ecbp+7 +0x1.cc8b52b4740adp+5 +0x1.13daf1be1a0a7p+5 +0x1.a598d8f11e6c7p+5 +0x1.7ad02f6710338p+1 +0x1.45893163bc8fbp+7 +0x1.05fd8a17b1b6cp+1 +0x1.145cc625287d2p+5 +0x1.f8b6687020c5cp+4 +0x1.9aaa3218f1a32p+6 +0x1.41e3fc3fa41e9p+4 +0x1.aeb1bbbf6629ap+4 +0x1.2594baa9d6c43p+6 +0x1.b52440cd3881cp+4 +0x1.bab4a7e1133dap+5 +0x1.dd7c074d34b5p+13 +0x1.ce6569c62784ep+4 +0x1.536b303d72b7cp+6 +0x1.5c49cb934fb26p+5 +0x1.ce4ed550fa5e2p+4 +0x1.03e59af409f7p+5 +0x1.265bda21e6ef3p+5 +0x1.96536187aa4f6p+9 +0x1.a79a49fdd584cp+5 +0x1.e6c09f2f9d8e4p+5 +0x1.f2b543630fa93p+5 +0x1.12d151cd46d18p+6 +0x1.bdc49ba8f7d4dp+5 +0x1.069d77846140cp+5 +0x1.4af7e3d0a8b3p+6 +0x1.a4da7dbfa71cdp+4 +0x1.c8fe4c102fadfp+6 +0x1.05048f22e2faep+4 +0x1.0f82989f54221p+5 +0x1.676d19ac60e57p+7 +0x1.10d86ff91a19dp+5 +0x1.4f2a4fd895a6ep+9 +0x1.0f3d604160ce1p+6 +0x1.c7fa140204e51p+6 +0x1.8db1fdc5e8385p+4 +0x1.33859f85817e6p+3 +0x1.78c933892b4bep+5 +0x1.f7dc77ee7289cp-2 +0x1.23939183aa367p+3 +0x1.89cb3462dee26p+5 +0x1.6872b5ae63c9bp+5 +0x1.b7dd8174d63cfp+3 +0x1.3049867df4e78p+11 +0x1.ef362a6564a56p+5 +0x1.62f8c6b710195p+4 +0x1.08be7160392bbp+6 +0x1.46d103306a1f3p+5 +0x1.ce7c10a7c97fbp+4 +0x1.9ac1c1a482ecep+3 +0x1.b44891b5e0842p+3 +0x1.d7e151ba03276p+4 +0x1.bbaec2bcacabep+4 +0x1.6d2af35204653p+1 +0x1.1fb1b2e09c404p+13 +0x1.73db69b98f367p+5 +0x1.79488f375c3a3p+7 +0x1.4254931d77d2ap+5 +0x1.7c573be20b518p+2 +0x1.98439fcd1d8dap+6 +0x1.87944695c26aep+4 +0x1.206e6711f0e44p+3 +0x1.3ce3b2c8664c7p+16 +0x1.db27da05d4756p+5 +0x1.aa9696a921b29p+5 +0x1.50f584efba3cep+2 +0x1.2dfbe3ece0a38p+5 +0x1.f65e7c6ff47ap+3 +0x1.256a80248e164p+4 +0x1.151eb3b6c28f8p+11 +0x1.9761c355ab6afp+4 +0x1.657488b251fa3p+14 +0x1.c3ba4355c15d3p+0 +0x1.3f57d46d7a0fdp+4 +0x1.e27f52ed7f55dp+3 +0x1.074fd31fb87dp+5 +0x1.cdcfd2cf3f46dp+1 +0x1.f388ab810fb97p+5 +0x1.a3a7835af8e7cp+5 +0x1.9f609d9c36c36p+5 +0x1.0683074ed1c06p+3 +0x1.0171277ab7881p+8 +0x1.5f4e24aad6d2ep-1 +0x1.abc550ac59a22p+6 +0x1.e503aef467365p+4 +0x1.188d79aca8b83p+6 +0x1.3011346fc332cp+6 +0x1.4613f51654772p+6 +0x1.e493a1a305efdp+6 +0x1.f624be449e113p+4 +0x1.89926fd64c06bp+12 +0x1.f124f25b541adp+3 +0x1.053e6a4f6f597p+3 +0x1.552d06bc5fcbap+5 +0x1.2316a19aed77cp+5 +0x1.bfb3e0f641898p+5 +0x1.798f6992a46d8p+7 +0x1.d7f194e99fb51p+4 +0x1.8121834973953p+6 +0x1.8ce3138c32c21p+12 +0x1.2e0dd37c96e56p-3 +0x1.2c3b49c6ea6a5p+9 +0x1.18c3eba8c054ep+7 +0x1.0b426e03566c9p+6 +0x1.5bc4ce703c93fp+6 +0x1.eff6d6c30f21p+5 +0x1.af7d79da4be6fp+5 +0x1.be264d9af42e3p+4 +0x1.eefc2dab01684p+3 +0x1.2333a334509aap+12 +0x1.1aa9675d4bc7fp+3 +0x1.7033320ad864p+13 +0x1.98b640fb3eb4dp+15 +0x1.81240c95a7762p+3 +0x1.cab7ff13278c2p+2 +0x1.bef13208b3811p+8 +0x1.11397fc8a76f8p+11 +0x1.8b1e800f82d4dp+5 +0x1.86607445c37f5p+5 +0x1.3ebf1afa1d005p+10 +0x1.761d87e9c9771p+10 +0x1.3514c03a50162p+6 +0x1.f5eac9ac7e53ap+4 +0x1.9baa718d96426p+5 +0x1.182bf7b29eea7p+6 +0x1.0697a0b074319p+6 +0x1.faf9b7fff6a11p+1 +0x1.b0b7609d7036cp+3 +0x1.01feb4f1272cep+6 +0x1.0718d8e224e38p+3 +0x1.bd173db3ff3c3p+13 +0x1.d1b0228f3dc1ap+4 +0x1.dd682f2513ceep+4 +0x1.44ef2569365b3p+5 +0x1.3001656f75aeap+3 +0x1.3c9e4875d2c0fp+0 +0x1.b570ce4e2a4cdp+5 +0x1.818e4c5c72594p+5 +0x1.3ef226bbc266p+1 +0x1.9ff7e89c9cee7p+5 +0x1.c623d3a9dd3a1p+3 +0x1.321b5218ddcebp+13 +0x1.c8066b05ec7b4p+3 +0x1.724b8145938c5p+13 +0x1.086f5857a66abp+5 +0x1.fffb0f78f0a9dp+4 +0x1.074abc40dfb5cp+6 +0x1.0c79754d71ac3p+6 +0x1.8f6cd83890331p+3 +0x1.e2bf794edb8f5p+5 +0x1.f0b35ef226a58p+0 +0x1.a0a5ef225b9b8p+6 +0x1.69ab85506c656p+5 +0x1.7db6bda07e2c5p+5 +0x1.59e652f5cb3d3p+10 +0x1.1f282abbe4d73p+6 +0x1.45e5f3d61ba84p+3 +0x1.0c67c0fc26319p+5 +0x1.5f2ff53c1eca7p+3 +0x1.50aeebc7ceb29p+14 +0x1.4b6c225f3f035p+6 +0x1.8113cb3df4844p+5 +0x1.fd0ba6dbde3a3p+11 +0x1.022ad1dcdca7ap+1 +0x1.569199a4782e8p+8 +0x1.37a39d4acb4a4p+6 +0x1.e7f31a8689ac7p+2 +0x1.37f0e068d37acp+1 +0x1.e41e05c392fc5p+5 +0x1.a2b4a06c673aap+10 +0x1.f0fea7339452cp+5 +0x1.9fe0bdc24595ep+0 +0x1.a8baff305bbe9p+0 +0x1.c9ffecddbf6b8p+7 +0x1.e4dbc210a865ap+4 +0x1.1fbf706528cfep+6 +0x1.9c0b368531defp-2 +0x1.a47c5d3ce0275p+13 +0x1.df22cc6f2cfecp-2 +0x1.4a00c781f5e35p+4 +0x1.0d226abc3be28p+1 +0x1.9d0dc8c264518p+6 +0x1.e1692b2fb2562p+3 +0x1.aff2bd6aeb696p+4 +0x1.e254403bbdac2p-2 +0x1.49f90a1df83cp+6 +0x1.3cf8760f71094p+6 +0x1.10759e2666944p-3 +0x1.56a2aa655b6a7p+5 +0x1.2e2fe0b004a5ap+6 +0x1.5c20b5d0775f9p+4 +0x1.142b7b6db4899p+4 +0x1.8e350309521d2p+5 +0x1.2f8bcd25b4e61p+4 +0x1.3af9967ed9e91p+4 +0x1.8709ef41449p+3 +0x1.cae56ef10d3f7p+5 +0x1.104c5fcc173fp+2 +0x1.f9bc3b8ea0d0fp+3 +0x1.e8c680cbe8d93p+17 +0x1.c0fe94624c704p+2 +0x1.38a07c99731b2p+6 +0x1.3bb075fcf4c6p+11 +0x1.e0ac7677b36d9p+4 +0x1.e85db10b5d247p+6 +0x1.b691a97ececafp+0 +0x1.6ace2403060e9p+5 +0x1.1a3255b62288ap+2 +0x1.1437bd0397316p+0 +0x1.00ad9427be945p+8 +0x1.71eb5ae5c16fep+2 +0x1.2a243f447b74dp+4 +0x1.983698a2c4d02p+6 +0x1.8be5efbd1c5c7p+5 +0x1.90b6f4f196cfep+5 +0x1.077792b33c39p+1 +0x1.1617c28da4f57p+6 +0x1.09a348a565b54p+6 +0x1.b9771033ee602p+15 +0x1.dc123b727ae7bp+4 +0x1.d92e3c4808572p+6 +0x1.95fb16b0bb2c9p+3 +0x1.31c434698698p+2 +0x1.a90f84526d9dcp+5 +0x1.5e2a3ad5754f9p+5 +0x1.dd0d8ce976754p+3 +0x1.d1ec10c24f619p+6 +0x1.a2b51fa3f881ep+5 +0x1.2d6cace755cebp+1 +0x1.c67595215abb6p+15 +0x1.0c898a5c6f242p+4 +0x1.56098d0e1f6ebp+14 +0x1.0cffdbb9eb876p+2 +0x1.5d148a73acbcap+5 +0x1.1a6d27088a2f9p+4 +0x1.3cd9d042e125p+6 +0x1.2bd831281c02ap+4 +0x1.231e5b10574f1p+4 +0x1.7a0d4bf9d7b32p+5 +0x1.4140254d18007p+6 +0x1.28325f5a167f8p+9 +0x1.c27d593af401fp+1 +0x1.3111d65b32c6cp+6 +0x1.4cfabffddb5adp+7 +0x1.dbd1d899ad231p+5 +0x1.0edcf5454b7abp+4 +0x1.60dcea70b08dep+5 +0x1.10d91e4e4f004p+4 +0x1.24640486336fp+3 +0x1.2142537eeaf13p+5 +0x1.06434224342fdp+5 +0x1.cf9470fa6d68p+13 +0x1.31d2f26bd788ap+1 +0x1.157c3fd1c62b4p+7 +0x1.c1320291b6bc4p+12 +0x1.1b79ae3994e5ep+6 +0x1.cd97af5bc607cp+4 +0x1.e042e75de5a1ap+5 +0x1.4d7cb37f80523p+1 +0x1.9ff98b3a58ffep+6 +0x1.ce0524e854a12p+1 +0x1.ef56eab601dd4p+5 +0x1.2464a49440123p+4 +0x1.9433cc9d4d4aep+6 +0x1.cf958b2351135p+0 +0x1.e287edb761ca7p+6 +0x1.25353f4195ca5p+5 +0x1.6f677f13af185p+4 +0x1.d7188288cfafp+4 +0x1.6d5770abe85d3p+17 +0x1.755618b9d6996p+6 +0x1.483a31a15dfa7p+5 +0x1.8e33cf06bbd0cp+4 +0x1.2eac8c77ba31ep+6 +0x1.2742f4e973fbcp+3 +0x1.4feec23b2548bp+3 +0x1.b37f2be21d078p-1 +0x1.f5922c38a3bd4p+4 +0x1.7d31dfbb85e6dp+7 +0x1.87bb9444b5cecp+6 +0x1.99fdd995afaa4p+5 +0x1.eee8c872cad0ap+3 +0x1.d7ffc6fbbbd87p+10 +0x1.f97a1e8c0febbp+4 +0x1.2a2bbc32a32a4p+7 +0x1.09dc4d94e6a59p+5 +0x1.610bf0739cc32p+2 +0x1.906ff4770f236p+5 +0x1.0b131ca1550a4p+5 +0x1.1c103d62b4ff2p+5 +0x1.30db8fd36b3cap+3 +0x1.fe8bb3042a89cp+5 +0x1.7720713cd27a7p+0 +0x1.e19908e076039p+9 +0x1.25a5ba89d77abp+3 +0x1.6d723200c592cp+4 +0x1.9463d831b6ed2p-2 +0x1.0b11270f9f182p+6 +0x1.fe10329d50312p+2 +0x1.8bc5d8dcd10a7p+6 +0x1.95b07e910e877p+2 +0x1.91979d4148addp+9 +0x1.36fb6c573c77dp+5 +0x1.d08d948143d1dp+5 +0x1.0cf618636553fp+2 +0x1.79fe8fc3c746bp+4 +0x1.0972636941875p+5 +0x1.2f29058c40334p+2 +0x1.d791850524189p+1 +0x1.25c77d2b15153p+6 +0x1.0fc6c4b2a8cd9p+17 +0x1.6367aead53c62p+5 +0x1.ef554eb247364p+5 +0x1.1c1ce79cb04e7p+6 +0x1.0317e8c032714p+4 +0x1.9f972c764a3a1p+5 +0x1.17e09df8a3974p+0 +0x1.f66a9fd989cdbp+5 +0x1.552159df03ef1p+3 +0x1.c1616ee13ac69p+4 +0x1.2b37ecbe06252p+5 +0x1.5eedd7fcb5f78p+7 +0x1.da0cb2dda75cp+5 +0x1.3f5a263a6046dp+4 +0x1.4ba5222f4be8dp+3 +0x1.17cf56e097232p+6 +0x1.b70c97f70fb71p+3 +0x1.7d09fc721fb0ap+6 +0x1.530c0ac8d04cep+3 +0x1.d32bc1f7946eap+5 +0x1.90b0f9ac4fe86p+5 +0x1.a0fe736165ffcp+4 +0x1.f0b512d9db1fep+5 +0x1.7310bbc2245e7p+6 +0x1.b71fda9e5a046p+8 +0x1.01968bb1acb72p+5 +0x1.5e6004adb1aa4p+3 +0x1.01a47b1c8013ep+6 +0x1.aa8bc77ee726ap+5 +0x1.9e499da12a9e3p+13 +0x1.de48b22816155p+4 +0x1.0421ce743e135p+0 +0x1.ba11a8d6aac26p+5 +0x1.816b4d1676e12p+2 +0x1.8149b3bd86a3ep+3 +0x1.f100ed1948a1ap+3 +0x1.81663e79ed80bp+3 +0x1.b55763940e521p+0 +0x1.8d02dba9c39abp-1 +0x1.875606b554896p+6 +0x1.34ded7bbc1ecep+5 +0x1.f5ce3badedcdcp+1 +0x1.3e836d9add40cp+6 +0x1.665a2b9d9c13ep+8 +0x1.a125e06ce5c9cp+5 +0x1.01829c0c071dep+7 +0x1.701a3cb3052bfp+4 +0x1.66da93f9c4d19p+4 +0x1.34092a016709cp+7 +0x1.17cdde7fcced9p+2 +0x1.6a9a761a7a419p+6 +0x1.9f66712490913p+5 +0x1.30a26e59b6c61p+5 +0x1.9fde4f74ac754p+4 +0x1.1b6bfa8ab5207p+3 +0x1.6f2d16197858fp+4 +0x1.a05960501f6f1p+4 +0x1.923375aff2096p+5 +0x1.300cb23b1f898p+5 +0x1.67c1d091f4411p+2 +0x1.12838c9265fb7p+16 +0x1.4f279abdad5c9p+5 +0x1.87e60f0c9f78fp+5 +0x1.8bfb619427f06p+3 +0x1.c70e7c75e12abp+5 +0x1.209f306803e07p+16 +0x1.eca7a57a1f1dbp+3 +0x1.9c59ffb685aecp+1 +0x1.7b8b084c63695p+5 +0x1.7c4fd2fcf61c2p+13 +0x1.0c63ef8420bcp+5 +0x1.227ac93c18d74p+4 +0x1.c50fb5e450d8bp+4 +0x1.b91d6864c5af9p+12 +0x1.c833cb6d7fe41p+1 +0x1.3915519d70c08p+5 +0x1.f53acc8593845p+14 +0x1.0f216811649fep+4 +0x1.4186509bfed52p+3 +0x1.d98f66a5aaa26p+4 +0x1.5419b55f68a66p+15 +0x1.a5d3cde0a31bp+4 +0x1.b32b0532837e7p+6 +0x1.7aefcc30602f8p+5 +0x1.3f404b31ab4ffp+6 +0x1.f8f47887f809ep+3 +0x1.e1adefb8cfe7fp+5 +0x1.0bc57018f09dbp+6 +0x1.6fed78fab059ap+4 +0x1.bbe03d96b97e4p+4 +0x1.52509f2ddd3eap+6 +0x1.3137348802bc4p+12 +0x1.d82ba8fff5296p+14 +0x1.cee39e2dbe4bcp+8 +0x1.ec8e46b3a62d4p+3 +0x1.74991c7d0e19fp+7 +0x1.c2ba2a6059febp+6 +0x1.216c17eb3117bp+6 +0x1.dfdae1aecb9b2p+3 +0x1.08c358e7aebbcp+8 +0x1.f7f3a240ddb0fp+1 +0x1.45fb541c1772bp+4 +0x1.ad26dfb67ee3ap+4 +0x1.01c5bedc2affp+4 +0x1.95c1f8ac46854p+11 +0x1.5b260d7c7d9e8p+5 +0x1.251603effc9cep+5 +0x1.3de64fe07d069p+14 +0x1.89d13332af0e4p+2 +0x1.2cd12067dbc89p+11 +0x1.292e15c1e6496p+6 +0x1.5a8afbaf16064p+5 +0x1.81adb9ebdaec1p+4 +0x1.c39be1080ec43p+5 +0x1.0eaaae7f21573p+5 +0x1.3d24c12afdf11p+7 +0x1.e21b727a4b919p+5 +0x1.1ab832a71c351p+5 +0x1.3249ec57f64c1p+5 +0x1.b38071721c004p+0 +0x1.455ec9b3ded97p+4 +0x1.0dfe7efc353d9p+1 +0x1.f7b0b89bb4bd1p+5 +0x1.2ca4ca015ca1cp+5 +0x1.8ca0ffbfdc0a7p+4 +0x1.161b77783d4a9p+6 +0x1.3b767f250528ap+16 +0x1.f8846267540cfp+3 +0x1.3896e6f98373ap+5 +0x1.fc72b181e5995p+4 +0x1.a0ef4afc39564p+5 +0x1.c265c2e56613ap+5 +0x1.15e9fcc8c70fap+2 +0x1.30952e4f80d01p+5 +0x1.10a1f75d8c0d9p+5 +0x1.90d87869154d1p+4 +0x1.347ca0cd7c954p+1 +0x1.1ed17e539fb01p+12 +0x1.758fead2e7f3p+1 +0x1.1bde5c011d043p+11 +0x1.5b8b15b2acd23p+1 +0x1.f4b5ed50ce471p+5 +0x1.60e366ab2209bp+4 +0x1.34f25a0f49caap+11 +0x1.bd4a420140e37p+2 +0x1.ea89becbbba7cp+3 +0x1.068648fe67c86p+5 +0x1.798f8be28ce87p+6 +0x1.b01604b9d509bp+5 +0x1.16d65e5000d2ep+6 +0x1.0cea5b0a3ef88p+6 +0x1.cb1d2c36e8185p-2 +0x1.4f7b6bf9153ep+3 +0x1.7dfd15b20aa05p+14 +0x1.54e6e650eb20ap+5 +0x1.85fa2b2a72077p+4 +0x1.06b25646eb9dcp+5 +0x1.d02fdee587d1bp+7 +0x1.8424d93c51427p+5 +0x1.7bce158e7a5bfp+3 +0x1.6ff9a7184783p+5 +0x1.898914fd2a81ap+4 +0x1.4a40b8c76c688p+12 +0x1.ff26aa40b697ap+6 +0x1.030c11e2cf2c4p+6 +0x1.1037d65edad21p+5 +0x1.c57be981f5886p+5 +0x1.253baa9175ad9p+4 +0x1.58b2b7de79198p+13 +0x1.0e9b81bfadc3ep+5 +0x1.03c96099c613cp-1 +0x1.43c5f509abffdp+3 +0x1.337b9fd70d804p+6 +0x1.38dfd95e1c6e9p+0 +0x1.3578972ab11cfp+8 +0x1.8ad37c3fd7fb6p+3 +0x1.c22ed1b121bd6p+3 +0x1.7c228e523aec4p+5 +0x1.aaa7a07a27b4p+9 +0x1.fc877a17d66ddp+10 +0x1.33a6291b20bc9p+14 +0x1.22c02c4f1a7eap+2 +0x1.a46053fca3e54p+4 +0x1.37d6725e5a319p+6 +0x1.1099f547bd24fp+4 +0x1.28d88e06c42bfp+6 +0x1.3889f3286148fp+6 +0x1.f988a1ecd6202p+4 +0x1.cfc324c063607p+5 +0x1.ed1cb30f4bb8bp+3 +0x1.e1108f5d61236p+1 +0x1.3f4b70a7a3ce3p+5 +0x1.5ab35a59095f3p+6 +0x1.7117dcd7619b9p+5 +0x1.a996783c1b44p+5 +0x1.308aa980ee039p+3 +0x1.153b2ea5df1a3p+17 +0x1.8f97873257f8dp+18 +0x1.002ed1ca4bbddp-1 +0x1.a0a244a44867cp+6 +0x1.5a8c0ee31393cp+6 +0x1.7f11e548376fbp+5 +0x1.ee212e1193e96p+4 +0x1.384a62c0f9309p+6 +0x1.2501740ac5b66p+2 +0x1.6912e1a289272p+5 +0x1.24226154a0174p+7 +0x1.e81dc04b4ccf5p+2 +0x1.846e82d97853p+5 +0x1.fe86c4899adbep+14 +0x1.445c7c07d2998p+3 +0x1.6c807f8a1ba19p+6 +0x1.efa9f12814eaap+1 +0x1.4589c3617e35cp+3 +0x1.380cea99aa3dcp+4 +0x1.83cf5e6699ec1p+0 +0x1.4038b884b8e18p+5 +0x1.bca3eda23bee5p+9 +0x1.04e1926a09d52p+4 +0x1.df03295e666fcp+3 +0x1.f267105ffee2ap+4 +0x1.4913890b2ec44p+4 +0x1.061dcae9c46f6p+6 +0x1.c5768712a80ap+10 +0x1.24de3e4c94d2p+6 +0x1.f9c14710ebedp+10 +0x1.d3d2fa0a3c74p+5 +0x1.aa15b11e9b094p+5 +0x1.3834753ba9f06p+5 +0x1.239056d90475fp+6 +0x1.c3e02fcdc1db7p+15 +0x1.598938e576671p+8 +0x1.72d910ca1c0f5p+6 +0x1.e2b316a7fbb62p+6 +0x1.1f7a0213cdd07p+6 +0x1.a1b883c551559p+2 +0x1.c42ecd899f963p+3 +0x1.2351e5018936ep+11 +0x1.25ed0e9dd7355p+4 +0x1.bfc2025c2794p+3 +0x1.bcd717d407fcdp+4 +0x1.7fa5224ed8721p+17 +0x1.8c3ab31c4365bp+2 +0x1.17fc4154fc68ap+7 +0x1.04b126747831cp+1 +0x1.606086dffc4fdp+11 +0x1.516a8e261efddp+11 +0x1.49cf9175b2845p+5 +0x1.22d6b2f5daa16p+3 +0x1.b129bffbdd4a7p+5 +0x1.7bbb6c33e9f42p+5 +0x1.c4aff7662332bp+12 +0x1.3be681c69d965p+6 +0x1.760254dd048afp+5 +0x1.93dff3005abc9p+4 +0x1.52e45bded96dcp+6 +0x1.9faa304be9d92p+10 +0x1.e9a7aabaa8676p-2 +0x1.0e2a8bc802296p+2 +0x1.5e431ca7c9987p+6 +0x1.7319838f48df7p+4 +0x1.52004aa939aecp+5 +0x1.194d2493feef5p+5 +0x1.6e344dbd52773p+2 +0x1.1bd48c16463c8p+8 +0x1.ce0786682fbbcp+5 +0x1.bd2f314a7e01cp+4 +0x1.7b3b1b1734c02p+6 +0x1.470467c9f70c8p+5 +0x1.028de93b48912p+17 +0x1.33f903fcafb9dp+3 +0x1.724946d73f919p+5 +0x1.aa26c1f663655p+5 +0x1.2263ac8ea823ap+1 +0x1.9ecb274310fd3p+4 +0x1.02dcb4c909b0cp+3 +0x1.027308d4eceep+4 +0x1.d3961faa3687p-3 +0x1.3d17dd0c3a4f3p+1 +0x1.0ed5c4587023cp+5 +0x1.f35846e6553ebp+14 +0x1.7f005c1901959p+3 +0x1.92bc7bbef15ap+4 +0x1.5da4c3dfa577fp+11 +0x1.18911f006147bp+4 +0x1.8657cc30c8067p+3 +0x1.289a1abf4d406p+7 +0x1.53c32e5c49a88p+2 +0x1.0ee94bc792d2cp+4 +0x1.e9dc4cdab2c2p+8 +0x1.f8b68c5949c01p+4 +0x1.bdef376ce7795p+0 +0x1.1b19e51161d5ep+6 +0x1.3355468fd9273p+6 +0x1.99d0b3bc2f89p+0 +0x1.af2d8d2eba9cbp+6 +0x1.008988a53b48ep+6 +0x1.52ba95a15d3fap+5 +0x1.663c2c3d80f43p+6 +0x1.4ac7ee7159fb3p+5 +0x1.b47f2b89aabcfp+9 +0x1.b4f04ebc5306ap+5 +0x1.1e9ca4858fce8p+3 +0x1.2fec93e99717ap+5 +0x1.18c2edd635e61p+14 +0x1.7bf5f91b64e39p+4 +0x1.33b6e15c46ecp+5 +0x1.2a42d5da7d46ap+2 +0x1.8669c6ecff3b6p+3 +0x1.d2a15212025a6p+5 +0x1.19b222ceec3d9p+2 +0x1.f8885aa76a9ddp+2 +0x1.39a1c465ccf66p+7 +0x1.bd1b42b9960c3p+5 +0x1.32d0e192dd53p+19 +0x1.40641ef3e9359p+4 +0x1.ff75fe10cee75p+1 +0x1.b356dee611df5p+2 +0x1.04486a921fd04p+4 +0x1.282ec24b8bfecp+4 +0x1.063f6cd51d0c7p+11 +0x1.37132d562f8b9p+5 +0x1.0d4a3c38c87cbp+16 +0x1.614e6dfff8096p+6 +0x1.321c7d7876895p+9 +0x1.29766ff02f1b7p+6 +0x1.f525e63b863a5p+12 +0x1.374911694f4adp+8 +0x1.cec1b75153b4ep+3 +0x1.a543ea716ce06p+4 +0x1.ec44e5f27eb71p+4 +0x1.dbd0518823301p+4 +0x1.8f5f0d19ab7c9p+3 +0x1.7cdc795262df8p+1 +0x1.620cf6fe01151p+5 +0x1.271c59c69a86dp-3 +0x1.010a6e9b969c2p+6 +0x1.1b51c1b4325d9p+5 +0x1.651726d82ea42p+5 +0x1.f16715de4eb1fp-3 +0x1.d7fef8f6f33d9p+4 +0x1.3c6af0dff6941p+5 +0x1.4aebf7f4c659ep+5 +0x1.5813f81681e26p+4 +0x1.c83ca032e8f29p+1 +0x1.8475fea96b7edp+6 +0x1.6aec816a9f6f7p+4 +0x1.2332bb59658fcp+5 +0x1.0ac8e7b83cfc1p+5 +0x1.44b4d43bb77b6p+5 +0x1.bb99208e9f3ffp+4 +0x1.527fcccb925d4p+6 +0x1.d7946de52f3b8p+5 +0x1.4976b37174e36p+5 +0x1.d2afcd50ed581p+2 +0x1.f31972e0b7234p+14 +0x1.4280498a307fbp+5 +0x1.ddfedfbb85e63p+4 +0x1.05993dec73c2ep+4 +0x1.fd9ac221e879dp+5 +0x1.c5af336883ccap+2 +0x1.73c19549f27dbp+6 +0x1.fe1ed28891836p+4 +0x1.71fb3b279aeb4p+7 +0x1.2aa317922d454p+6 +0x1.6d5dac2ac1e71p+17 +0x1.01f85775bd5e2p+6 +0x1.d1be43fcc88cep+0 +0x1.bf94a5fd9bb81p-1 +0x1.b14e1ed2616cp+5 +0x1.632c687a58c53p+5 +0x1.f3e808c8578cep+4 +0x1.756418cfb5da9p+5 +0x1.7fa7744c77a86p+5 +0x1.8610700c35747p+3 +0x1.77ec92ba2f889p-3 +0x1.907c23b92c5f6p+3 +0x1.dfd1fb92b59fbp+3 +0x1.64100f4e843ebp+3 +0x1.2e96d4bad83b4p-3 +0x1.a5e163e5b19f6p+5 +0x1.32618a3b7441p+8 +0x1.2af1d254d79e3p+15 +0x1.2d57af6e73259p+6 +0x1.d7c9f96fa9eb9p+1 +0x1.078643034d7p+4 +0x1.041f19a67f0c5p+3 +0x1.82922f9f1a932p+17 +0x1.05edf97d604d2p+1 +0x1.1a08c96f4ba11p+6 +0x1.f39c3803fb1e7p+4 +0x1.d9713ec4064acp+5 +0x1.18dd1882757adp+18 +0x1.153f81385dcf6p+6 +0x1.d06862395dedbp+14 +0x1.22fdadb890621p-1 +0x1.8a730162c33f4p+1 +0x1.10d583e7f47c4p+2 +0x1.25648acf7f62bp+6 +0x1.27131a8fce3efp+6 +0x1.9c0712a2aae42p-1 +0x1.5d5e2e31546b4p+8 +0x1.1bb1ee7820954p+12 +0x1.314e6324aa3d7p+0 +0x1.aaec47533df65p+11 +0x1.10d03a39dfbedp+5 +0x1.171446a085919p+5 +0x1.413daa6b5bcc1p+13 +0x1.0cd3828e3ee9cp+0 +0x1.3e45684d261cep+4 +0x1.c0ef25fff8f3ap+5 +0x1.4044914f7b4aap+4 +0x1.b1780d9864527p+5 +0x1.5b849e7521ab6p+5 +0x1.6baa094256353p+4 +0x1.8b874001068f7p+6 +0x1.d8ecbe246fc1ep+3 +0x1.3ccba8f7d02fep+5 +0x1.ad791ccfe78c8p+4 +0x1.437792cdaf159p+11 +0x1.18d06e23ce83cp+5 +0x1.a863c7bd37f51p+1 +0x1.d3505eaa6ff07p+1 +0x1.806e6b42619cp+4 +0x1.87e7ff65a212bp+5 +0x1.d698b9ef02f66p+5 +0x1.ada94ab67a1bcp+5 +0x1.9f6cfb8a08e17p+4 +0x1.e435c559769p+4 +0x1.55f2904385ef1p+6 +0x1.6a65bd5728c82p+4 +0x1.6ffb99925a46cp+4 +0x1.0df873fc76d4p+1 +0x1.53715eced389cp+3 +0x1.0ca6487eac3efp+5 +0x1.dd8de6e9ad71ep-2 +0x1.d0b09fbcbe982p+5 +0x1.1f2bb6997ef8fp+5 +0x1.d53581e25be1ap+3 +0x1.073c23da88658p+4 +0x1.23f86df66953ep+5 +0x1.d37b347084aa4p+2 +0x1.c2909b0d1578cp+2 +0x1.9094509727687p+3 +0x1.b9aa67dd17618p+2 +0x1.2bc86e3a5e8cep+6 +0x1.188d28d3e3abbp+5 +0x1.7509ab628651cp+17 +0x1.529c155e1496dp+5 +0x1.4e423b8afb8e2p+6 +0x1.7ac32201bca18p+6 +0x1.129e8613d3028p+6 +0x1.f9db4bd47474ap+4 +0x1.46862d07ccdf8p+5 +0x1.59cdb25df280fp+6 +0x1.2a9fc374e3622p+9 +0x1.4a79886f36b07p+10 +0x1.13dd6ffa7ba8fp+5 +0x1.6df3750060967p+5 +0x1.415cc88b6ea47p+6 +0x1.2071f23cee307p+6 +0x1.0446c8f0c759cp+4 +0x1.3517e1ea381e3p+1 +0x1.62feaa5cee58fp+4 +0x1.9c761643e5ed4p+16 +0x1.0c5b8b985be8cp+1 +0x1.f3aa5a795c15p+0 +0x1.328c6ef785b5fp+18 +0x1.8e98769f5d12fp+4 +0x1.3dfa2d6f577cp+5 +0x1.c68096737e3e6p+3 +0x1.572aa2e63c10fp+5 +0x1.e93d967ff91fep+5 +0x1.2f53b6b0259c1p+10 +0x1.3cca294b8f702p+6 +0x1.25bd20479f38ep+6 +0x1.1a4031ee91ef2p+5 +0x1.3e19daa54b59ap+17 +0x1.d5fd0a6ff8a91p+3 +0x1.894d2c6ead2dbp+16 +0x1.59605648bec2ep+5 +0x1.88cb1b9765bccp+5 +0x1.9efbd11c84902p+5 +0x1.449e11adcc85ap+4 +0x1.885e23702cp+5 +0x1.1825f630e74cfp+10 +0x1.4b994ba91d451p+6 diff --git a/sysdeps/x86_64/fpu/libmvec-log10f-inputs b/sysdeps/x86_64/fpu/libmvec-log10f-inputs new file mode 100644 index 0000000000..25c61f095b --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-log10f-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (0, 3.4e+38), mean = 1, standard deviation = 50 +0x1.51137ep+5 +0x1.2c38e6p+3 +0x1.2dbe58p+5 +0x1.b7623p+6 +0x1.f3cf04p+4 +0x1.44f2c6p+6 +0x1.687092p+2 +0x1.3f1e1ep+2 +0x1.131c6ep+13 +0x1.7fa5ecp+6 +0x1.2c36eap+18 +0x1.5672c6p-1 +0x1.d046dap+4 +0x1.dfc9c8p+4 +0x1.50468ap+5 +0x1.5c9decp+5 +0x1.778d1ap+5 +0x1.30fda2p+5 +0x1.c8b7b4p+4 +0x1.2afe8ap+4 +0x1.7fef6ap+4 +0x1.53a5c4p+11 +0x1.f7bbf4p-2 +0x1.b9765ap+17 +0x1.162b5p+6 +0x1.79f61ep+4 +0x1.a23692p+17 +0x1.3976bp+3 +0x1.28512ep+6 +0x1.5b69f2p+9 +0x1.03e6p+1 +0x1.360c3p+3 +0x1.31832cp+6 +0x1.f097b8p+2 +0x1.16f994p+5 +0x1.1d9f8ap+5 +0x1.d6a02ap+5 +0x1.047622p+6 +0x1.17bd46p+3 +0x1.424ed8p+5 +0x1.8c6092p+5 +0x1.5a9d66p+7 +0x1.f5e844p+4 +0x1.e09beep+4 +0x1.aa49b6p-1 +0x1.61cd82p+3 +0x1.f02204p+1 +0x1.da8594p+4 +0x1.a5d7c4p-1 +0x1.6efd02p+5 +0x1.a2fdfp+3 +0x1.1df5c8p+3 +0x1.8073acp+3 +0x1.567ea2p+11 +0x1.92e54p+5 +0x1.bd3ebcp+15 +0x1.80fc3ap-1 +0x1.b1231ep+4 +0x1.30fd92p+6 +0x1.f8ca2cp-1 +0x1.c7322p+2 +0x1.d3369p+2 +0x1.263102p+5 +0x1.5d95c6p+4 +0x1.44d018p+9 +0x1.eab83ap+4 +0x1.375aecp+5 +0x1.18282ep+1 +0x1.239514p+5 +0x1.4a32d8p+3 +0x1.40dd7p-1 +0x1.22516p+5 +0x1.15b488p+9 +0x1.07a98cp+7 +0x1.68a084p+1 +0x1.96ab38p+6 +0x1.6da1f6p+6 +0x1.2364dep+5 +0x1.7e588cp+5 +0x1.0267eap+3 +0x1.a3d8p+2 +0x1.674c2ep+6 +0x1.7aa246p+3 +0x1.6b6906p+4 +0x1.0c9706p+15 +0x1.513324p+6 +0x1.ee54aep+4 +0x1.b91f5ap+4 +0x1.9a9b6ap+3 +0x1.ac894cp+3 +0x1.101b9ap+5 +0x1.25dfe2p+6 +0x1.71c482p+9 +0x1.e9f892p+0 +0x1.2b738cp+5 +0x1.049d8ap+4 +0x1.30ce46p+6 +0x1.11c1bcp+6 +0x1.0c91c4p+6 +0x1.27a3ap+4 +0x1.04246ap+3 +0x1.0ff6bap+6 +0x1.4b5bdp+10 +0x1.50ee44p+4 +0x1.c48132p+11 +0x1.1e100ep+18 +0x1.6c50bap-1 +0x1.fa934p+3 +0x1.eea6d8p+14 +0x1.eece94p+17 +0x1.994aa8p+6 +0x1.4d2e68p+0 +0x1.916d9cp+6 +0x1.a1cd38p+4 +0x1.d108ccp+5 +0x1.7a1b28p+4 +0x1.f7a27p+4 +0x1.6634d8p+1 +0x1.7e8a22p+1 +0x1.b68b5ep+4 +0x1.fe84f8p+4 +0x1.07c2dp+4 +0x1.24229p+5 +0x1.91e31ep+17 +0x1.52cf82p+6 +0x1.41cecep+3 +0x1.367f76p+3 +0x1.5c7168p+2 +0x1.ea1cb4p+5 +0x1.1430aep+16 +0x1.740e6ap+1 +0x1.ad54d6p+15 +0x1.7e03acp+5 +0x1.123d1p+4 +0x1.2f2ffp+7 +0x1.34ac08p+4 +0x1.92e4cap+6 +0x1.d66d7ap+5 +0x1.86298p+16 +0x1.103898p+11 +0x1.fe0b8p+3 +0x1.98a92ep+8 +0x1.0ed4c4p+4 +0x1.36e51ep+5 +0x1.d0074p+10 +0x1.ef43d2p+5 +0x1.f39a4cp+11 +0x1.c9ebb8p+1 +0x1.31c274p+3 +0x1.e34b92p+5 +0x1.163852p+5 +0x1.0e2774p+5 +0x1.080402p-2 +0x1.44296cp+6 +0x1.854294p+12 +0x1.850ce4p+6 +0x1.fdafb8p+5 +0x1.71f9c6p+6 +0x1.e273c8p+5 +0x1.6a6c78p+2 +0x1.4a670ap+14 +0x1.9f45fp+2 +0x1.e46dfap+5 +0x1.65f7ap+5 +0x1.6f3c4p+9 +0x1.1ea9cp+0 +0x1.2ba39p+6 +0x1.8664a2p+12 +0x1.f29c28p+3 +0x1.81efaap+5 +0x1.6193bcp+5 +0x1.9a9a56p+2 +0x1.1576ap+3 +0x1.73d878p+3 +0x1.268858p+5 +0x1.4a9bfcp+2 +0x1.3df5dcp+13 +0x1.1697d4p+5 +0x1.8fcd7cp+1 +0x1.064904p+16 +0x1.1f98bap+5 +0x1.35826ep+5 +0x1.705442p+5 +0x1.f30bdap+6 +0x1.962084p-2 +0x1.ca846ap+5 +0x1.32842ep+0 +0x1.c1822p+2 +0x1.730642p+6 +0x1.36d24cp+15 +0x1.98133ap+5 +0x1.f42e76p+5 +0x1.0c6fcep+5 +0x1.0b7a1ep+19 +0x1.9fe11cp+6 +0x1.ac51e6p+3 +0x1.f2bfa4p+3 +0x1.52d1a6p-1 +0x1.f55578p+3 +0x1.10f666p+12 +0x1.534256p+6 +0x1.8e6b7ap+2 +0x1.4bc2b8p+4 +0x1.be90eep+5 +0x1.7ff08cp+6 +0x1.4b84fp+3 +0x1.3a42e4p+5 +0x1.2a3028p-2 +0x1.1cf9e4p+5 +0x1.fc858p+5 +0x1.12f5d4p+6 +0x1.c1965ap+5 +0x1.341508p+6 +0x1.ad53cep+5 +0x1.ca181cp+4 +0x1.1550cap+4 +0x1.b5a4e4p+12 +0x1.807c3cp+5 +0x1.f1d98ap+6 +0x1.23a26p+14 +0x1.9fa9ccp+0 +0x1.30d2cep+13 +0x1.787208p+1 +0x1.06eb7ap+4 +0x1.96dcc4p+14 +0x1.1558dap+7 +0x1.1cf9bp+1 +0x1.0e9538p+5 +0x1.766028p+4 +0x1.6133e4p+0 +0x1.35e538p+5 +0x1.bd67cp+5 +0x1.17e0fcp+5 +0x1.d50cb6p+5 +0x1.4dd37cp+4 +0x1.3e5956p+7 +0x1.6e8346p+10 +0x1.71db84p+6 +0x1.7a99c6p+4 +0x1.319becp+4 +0x1.962ea2p+5 +0x1.184fecp+5 +0x1.5710e8p+4 +0x1.9581eap+4 +0x1.b3533cp+4 +0x1.961f7cp+6 +0x1.173294p+5 +0x1.3c21cep+18 +0x1.ff70eap+4 +0x1.c544ecp+4 +0x1.844bf6p+2 +0x1.077782p+6 +0x1.fdea9ep+5 +0x1.b1c64p+4 +0x1.832de2p+5 +0x1.04b24p+14 +0x1.cf31ccp+13 +0x1.67d5c4p+9 +0x1.29782ap+4 +0x1.696bbcp+4 +0x1.2882ep-3 +0x1.84ae16p+2 +0x1.3cfc72p+4 +0x1.26864ep+6 +0x1.b1a522p+3 +0x1.b4fa06p+8 +0x1.7e8376p+8 +0x1.fa3e62p+5 +0x1.0db548p+4 +0x1.4fe69ap+3 +0x1.420194p-2 +0x1.c25dbp+5 +0x1.f56866p+4 +0x1.5da0c8p+5 +0x1.1994a2p+6 +0x1.df7d46p+5 +0x1.82eb3p+3 +0x1.423e74p+6 +0x1.bb215p+7 +0x1.538caep+1 +0x1.768de4p+4 +0x1.adfffap+6 +0x1.a82292p+6 +0x1.6e93a8p+6 +0x1.a4ec06p+4 +0x1.af41d2p+3 +0x1.78d41cp+0 +0x1.7bc4acp+6 +0x1.03e084p+4 +0x1.054d12p+1 +0x1.10029p+4 +0x1.a0b90cp+2 +0x1.e64be8p+2 +0x1.3ded2p+5 +0x1.817154p+3 +0x1.05cfacp+1 +0x1.f49cfep+5 +0x1.44e6fp+6 +0x1.3da568p+4 +0x1.41ae2p+2 +0x1.05fc76p+11 +0x1.134e9p+6 +0x1.bc5d4ap+3 +0x1.51536cp+13 +0x1.c90232p+6 +0x1.e0115cp+4 +0x1.2b1204p+4 +0x1.1275f2p+10 +0x1.60a0eap+1 +0x1.af7846p+3 +0x1.a9e5bp+6 +0x1.a5f5dcp+5 +0x1.05215ap+3 +0x1.83a69ap+6 +0x1.aed812p+3 +0x1.56fb3ap+6 +0x1.df111ep+8 +0x1.e3c2acp+5 +0x1.e98c04p+2 +0x1.019298p+4 +0x1.857442p+9 +0x1.db7aaep+4 +0x1.36561cp+5 +0x1.8787c8p+5 +0x1.2c496cp+6 +0x1.acd186p+4 +0x1.3b9a5ep+7 +0x1.fd0beep+3 +0x1.084b64p+3 +0x1.4f24cap+4 +0x1.db32a4p+5 +0x1.47d108p+6 +0x1.f98c1p+3 +0x1.8e6406p+1 +0x1.08285cp+11 +0x1.ceec0ap+3 +0x1.3c6472p+5 +0x1.c9f3dp+3 +0x1.f2fe8p+0 +0x1.32cc36p+4 +0x1.c35cfap+8 +0x1.0e7dacp+15 +0x1.a8899ap+4 +0x1.807cd4p+0 +0x1.bc6046p+1 +0x1.a46812p+5 +0x1.eeb5bap+4 +0x1.0ff102p+19 +0x1.c70a3ap-4 +0x1.8c86e4p+6 +0x1.6a39c2p+5 +0x1.91c1aep-3 +0x1.d2c86ap+17 +0x1.2f9daap-1 +0x1.06fc8cp+6 +0x1.92bb62p+4 +0x1.112062p+2 +0x1.816bcap+18 +0x1.470a8p+6 +0x1.ee4732p+5 +0x1.fe8ae4p+11 +0x1.d4ca66p+11 +0x1.acfdaep+2 +0x1.21515ap+5 +0x1.908784p+5 +0x1.5d6e28p+10 +0x1.df008ap+8 +0x1.b7c7a6p+4 +0x1.f759e4p+4 +0x1.316c2ap+6 +0x1.2a70acp+4 +0x1.b45dc8p+5 +0x1.c9c444p+10 +0x1.6cac5ep+6 +0x1.0f7878p+5 +0x1.6db32cp+4 +0x1.b108d2p+4 +0x1.b26ad6p+6 +0x1.aad3eep+5 +0x1.6a5aa4p+9 +0x1.00432ep+10 +0x1.c2c712p+3 +0x1.054542p+9 +0x1.3fef3cp+4 +0x1.871a08p+5 +0x1.6c102ap+5 +0x1.af7ca6p+4 +0x1.a00f22p+5 +0x1.6ff62ep+6 +0x1.14e1e6p+2 +0x1.12812ap+3 +0x1.2d75bap+4 +0x1.341a64p+5 +0x1.900a24p+6 +0x1.0aa2ecp+10 +0x1.541518p+4 +0x1.67cb3p+5 +0x1.c88c84p+5 +0x1.7c8456p+16 +0x1.37e5f8p+5 +0x1.87edcap+6 +0x1.029e48p+3 +0x1.35c1d4p+6 +0x1.ae4aa2p+5 +0x1.2c396ap+3 +0x1.58b32ap+9 +0x1.123686p+5 +0x1.b11686p+4 +0x1.7a2af2p+5 +0x1.adae44p+7 +0x1.10bc22p+5 +0x1.c1173cp+4 +0x1.d9001ep+4 +0x1.a55d8ap+17 +0x1.cd9a6ep+3 +0x1.2b5deap+2 +0x1.8bde1ep+7 +0x1.99c45p+4 +0x1.4057fp+2 +0x1.401ebap+7 +0x1.44ac16p+1 +0x1.76f13ep+4 +0x1.2ebcf4p+5 +0x1.9761f2p+0 +0x1.ff7194p+3 +0x1.9faa44p-4 +0x1.f4ccp+3 +0x1.e45ac2p+5 +0x1.844f84p+4 +0x1.874484p+2 +0x1.69a966p+5 +0x1.a33ecep+4 +0x1.aace2cp+3 +0x1.cc898ap+2 +0x1.b94fe4p-1 +0x1.ec701ap-1 +0x1.7d2c2ap+5 +0x1.3fdef4p+4 +0x1.fc5d4cp+2 +0x1.4ccb04p+3 +0x1.21a54p+5 +0x1.c95ae2p+4 +0x1.7d909ep+16 +0x1.8904ep+5 +0x1.2e1c5cp+4 +0x1.5562d6p+5 +0x1.2fca28p+4 +0x1.97f598p+8 +0x1.1813c6p+5 +0x1.4274eep+17 +0x1.edb2cap+3 +0x1.00eca6p+6 +0x1.43fcaap+3 +0x1.c81b1cp+11 +0x1.946d6ep+5 +0x1.277c02p+6 +0x1.8e64f2p+4 +0x1.13445ep+4 +0x1.48a9f8p+4 +0x1.feef8ep+11 +0x1.90e7dcp+11 +0x1.fb6bdp+6 +0x1.26d31p+1 +0x1.5dcb2cp+5 +0x1.2635b8p+5 +0x1.5cd7bp+6 +0x1.35d964p+16 +0x1.1be6e4p+3 +0x1.9b593ep+0 +0x1.a1c6acp+5 +0x1.b25bbp+0 +0x1.2fb4c4p+12 +0x1.af2dcp+4 +0x1.171d14p-2 +0x1.01f6e6p+12 +0x1.cc1d66p+16 +0x1.712ebcp+5 +0x1.e4c878p+5 +0x1.7fda22p+5 +0x1.413766p+5 +0x1.e3b362p+5 +0x1.387b3ep+6 +0x1.8406a8p+3 +0x1.6ba21ap+5 +0x1.9794a8p+18 +0x1.6e7ab8p+5 +0x1.735ef6p+6 +0x1.74dce8p+5 +0x1.5d9ef4p+4 +0x1.96ad6p+8 +0x1.4744fep+3 +0x1.1927d6p+13 +0x1.f2ca4cp+4 +0x1.4e576cp+8 +0x1.73a14p+18 +0x1.18c30cp+6 +0x1.0f27f6p+5 +0x1.0f909p+4 +0x1.d236fcp+2 +0x1.54b4cep+12 +0x1.a851aep+0 +0x1.a4e124p+10 +0x1.aa1704p+5 +0x1.8d9924p+6 +0x1.dd5e36p-3 +0x1.e8c328p+6 +0x1.6ab7d8p+5 +0x1.a7f84cp+5 +0x1.ba645cp+3 +0x1.2c58e6p+4 +0x1.b3b7c4p+5 +0x1.9f7c8ep+2 +0x1.78cee6p+4 +0x1.4676eap+16 +0x1.1cffb4p+6 +0x1.faf994p+4 +0x1.e728cp+5 +0x1.501ecep+9 +0x1.038ccep+6 +0x1.3d5fe6p+4 +0x1.7c503ep+6 +0x1.ba6244p+5 +0x1.2d569ap+18 +0x1.236ddp+3 +0x1.2db4aep+15 +0x1.deac8ep+3 +0x1.88a0d4p+4 +0x1.0d0432p+3 +0x1.6425fep+2 +0x1.61db7ep+2 +0x1.38ea34p+6 +0x1.87779ap+1 +0x1.48bd9cp+8 +0x1.b208ccp+6 +0x1.0d5bcap+14 +0x1.9f53a2p+17 +0x1.4e385ap+4 +0x1.d66c8ap+4 +0x1.da556ap+5 +0x1.1162d6p+5 +0x1.000794p+15 +0x1.250622p+4 +0x1.36579p+6 +0x1.3e7eb4p+1 +0x1.dd482ep+1 +0x1.aaef7p+2 +0x1.2d7c2ep+3 +0x1.e63d84p+2 +0x1.4c58fp+6 +0x1.286ed2p+5 +0x1.ae5a5ep+5 +0x1.a414bep+5 +0x1.bd863p+5 +0x1.02a9b6p+3 +0x1.2229bep+4 +0x1.48b76cp+18 +0x1.9d994p+5 +0x1.2f74f4p+5 +0x1.91cd6ap+4 +0x1.ce6f1ep+5 +0x1.c41d2ep+13 +0x1.e681aap+5 +0x1.3959fep+6 +0x1.27d238p+6 +0x1.91d86p+2 +0x1.c9775ap+5 +0x1.9c90fep+13 +0x1.2c57e4p+4 +0x1.152a22p+17 +0x1.852064p+3 +0x1.916504p+10 +0x1.a6dd48p+6 +0x1.107bccp+9 +0x1.cd4476p+14 +0x1.f107eep+5 +0x1.be9222p+5 +0x1.cb0576p+6 +0x1.957ceap+1 +0x1.587bb8p+4 +0x1.f9264p+5 +0x1.1492cap+6 +0x1.1a2fcp+4 +0x1.2c5706p+5 +0x1.a1dd7cp+4 +0x1.e84c68p+1 +0x1.62ccd4p+5 +0x1.15cda6p+2 +0x1.67c2fp+3 +0x1.a918e6p+3 +0x1.cb041ep+5 +0x1.b0c1bap+5 +0x1.21efdcp+5 +0x1.03fcf2p+5 +0x1.b69b9p+4 +0x1.f0fd6ep+5 +0x1.ec9814p-2 +0x1.0d8d3cp+3 +0x1.87ec4ap+6 +0x1.e72d16p+3 +0x1.d84688p+3 +0x1.e1271p+4 +0x1.8b4044p+5 +0x1.0f3f1cp+5 +0x1.ece84p+5 +0x1.0f0d5cp-1 +0x1.62e6c2p+4 +0x1.c3889ep+3 +0x1.11991cp+5 +0x1.e841e6p+3 +0x1.e9df4cp+8 +0x1.175b58p+18 +0x1.618e44p+5 +0x1.f2deb6p+3 +0x1.a2d6a8p+4 +0x1.916284p+5 +0x1.25ad4p+5 +0x1.723478p+3 +0x1.98767ap+6 +0x1.24044cp+5 +0x1.e26a08p+5 +0x1.37c13ap+6 +0x1.cc31cap+4 +0x1.039d68p+6 +0x1.4444ep+3 +0x1.0a626ap+0 +0x1.2700fp+5 +0x1.99327ap+5 +0x1.fe3112p+5 +0x1.3c54eap+3 +0x1.10491ep+6 +0x1.d597b6p+5 +0x1.dc5c88p+5 +0x1.a034a2p+5 +0x1.be0462p+2 +0x1.6fdffap+5 +0x1.b76aep+4 +0x1.c81d48p+4 +0x1.7f351p+0 +0x1.70398ap+11 +0x1.fcf5dap+4 +0x1.721cd2p+6 +0x1.48d3e4p+9 +0x1.92825p+6 +0x1.f46adep+9 +0x1.ea8d8ep+5 +0x1.634198p+5 +0x1.7997b2p+8 +0x1.fcbaeap+5 +0x1.a2d1dp+19 +0x1.a8a402p+6 +0x1.faa6ep+5 +0x1.352ceap+6 +0x1.0f9e5ap+7 +0x1.7ede9ap+4 +0x1.59b9ecp+2 +0x1.809f24p+5 +0x1.f2cb7ap+0 +0x1.b383d8p+5 +0x1.ca8d98p-2 +0x1.a006a2p+1 +0x1.248f1ap+4 +0x1.1cc2dap+7 +0x1.090beep+6 +0x1.779fbep+5 +0x1.4ad68ep+3 +0x1.979ef2p+9 +0x1.7a7a1p+5 +0x1.749406p+6 +0x1.7ef304p+1 +0x1.d34a16p+3 +0x1.a6c45ap+4 +0x1.140016p+4 +0x1.901718p+5 +0x1.a7dddcp+2 +0x1.afdbdcp+5 +0x1.0cda8ap+5 +0x1.f2ea96p+5 +0x1.1ca052p+8 +0x1.f82d1p+3 +0x1.0f6e72p+5 +0x1.a3565cp+4 +0x1.432f26p+5 +0x1.4576fp+6 +0x1.47552p+9 +0x1.0ad116p+1 +0x1.3356f6p+4 +0x1.708ed6p+3 +0x1.593b2p+5 +0x1.8a71bp+4 +0x1.c91328p+4 +0x1.ca761ap+5 +0x1.7c58f8p+6 +0x1.1ade9cp+6 +0x1.3d1362p+2 +0x1.145b74p+5 +0x1.1956dap+2 +0x1.8d314ep+3 +0x1.b73042p+0 +0x1.55b2f4p+5 +0x1.e2917cp-1 +0x1.cb715p+2 +0x1.0994b2p+5 +0x1.9f227ep+5 +0x1.7c4cb8p+4 +0x1.ac3e4ep+15 +0x1.9a57ap+3 +0x1.6c94b8p+4 +0x1.1e274ep+4 +0x1.c31954p+4 +0x1.7651d2p+6 +0x1.0599ecp+11 +0x1.1456aap+5 +0x1.2983eap+5 +0x1.4d14a6p+5 +0x1.1eb5e2p+0 +0x1.828d1p+5 +0x1.0a1c02p+13 +0x1.0fec2ep+6 +0x1.d73e22p+4 +0x1.96c56ap+5 +0x1.6e013p+17 +0x1.44b2b4p+3 +0x1.e1036p+4 +0x1.51151ap+2 +0x1.3ea25p+14 +0x1.50306cp+2 +0x1.a04816p+14 +0x1.ccb8f6p+8 +0x1.3df216p+5 +0x1.ea48e4p+6 +0x1.3d5116p+15 +0x1.d71d74p+15 +0x1.bee0f8p+5 +0x1.2a707ep+1 +0x1.297034p+12 +0x1.572884p+6 +0x1.4f56f6p-1 +0x1.0160b4p+3 +0x1.78032ap+5 +0x1.4344p+4 +0x1.54e8b6p+5 +0x1.8d9774p+6 +0x1.303f9p+4 +0x1.20701ap+6 +0x1.73b83cp+6 +0x1.8cbdc2p+5 +0x1.dd01fep+9 +0x1.29ab44p+6 +0x1.6a07d8p+8 +0x1.6efff4p+4 +0x1.4aa27ep+6 +0x1.57135ap-2 +0x1.31d916p+5 +0x1.d0b606p+3 +0x1.d1569p+4 +0x1.e4f1aap+3 +0x1.4d697cp+2 +0x1.842b08p+3 +0x1.88c38cp+0 +0x1.da1824p+2 +0x1.5d2d7ap+5 +0x1.e95abap+5 +0x1.21b09ap+17 +0x1.80fd7ap+3 +0x1.1f5278p+0 +0x1.772cc2p+5 +0x1.292fb8p+6 +0x1.02a2d2p+5 +0x1.8b9b2ap+4 +0x1.71cc0cp+5 +0x1.98d19ep+0 +0x1.6f08d8p+6 +0x1.6bf8ecp+3 +0x1.ab3fap+1 +0x1.aee61cp+5 +0x1.6b4c76p+5 +0x1.c6e46ep+4 +0x1.aab7f8p+17 +0x1.6a9066p+13 +0x1.b4aecp+5 +0x1.48da44p+4 +0x1.0f7e2p+3 +0x1.49f53p+13 +0x1.8f7992p+0 +0x1.87d7cep+6 +0x1.4444c8p+6 +0x1.042f3ep+6 +0x1.be6272p+5 +0x1.93960ep+6 +0x1.e7fa46p+5 +0x1.1d9666p+6 +0x1.ef5daep+1 +0x1.0f1d72p+6 +0x1.54b0fap+5 +0x1.a6888p+4 +0x1.b0003ap+8 +0x1.06d408p+1 +0x1.8d0686p+3 +0x1.febfbp+1 +0x1.ef0776p+18 +0x1.b6ee82p+6 +0x1.e1d88cp+5 +0x1.52a1d8p-1 +0x1.5747bep+8 +0x1.9f03ap+4 +0x1.f01e82p+5 +0x1.feaf3cp+4 +0x1.540ecep+5 +0x1.18e49cp-1 +0x1.a5fbc2p+15 +0x1.4fb72p+15 +0x1.4420dep+5 +0x1.19f9b4p+4 +0x1.ecfe3p+5 +0x1.121beap+5 +0x1.1b4964p+6 +0x1.6981fep+3 +0x1.eb126p+2 +0x1.a411c4p-1 +0x1.aaf6a4p+3 +0x1.511bf2p+6 +0x1.fb826cp+15 +0x1.55e6d4p+6 +0x1.737036p+5 +0x1.f8531p+13 +0x1.63a162p+11 +0x1.4ac24ep+5 +0x1.60238p+5 +0x1.fc1fc6p+4 +0x1.424c0cp+5 +0x1.39739ep+4 +0x1.4ec2aap+5 +0x1.432f0cp+6 +0x1.780d5p+10 +0x1.9e340ap+2 +0x1.c4a406p+12 +0x1.c43a9ep+6 +0x1.14dedcp+2 +0x1.8daaa6p+2 +0x1.433f84p+2 +0x1.c51a5ep+6 +0x1.26e8dep+6 +0x1.46561ap+2 +0x1.5c7dep+2 +0x1.32e794p+5 +0x1.d79b1cp+1 +0x1.d545f6p+6 +0x1.777bdp+15 +0x1.279104p+3 +0x1.eeedbcp+13 +0x1.30735cp+2 +0x1.3aa04ap+5 +0x1.972c06p+4 +0x1.b8281ap+6 +0x1.47ecp+4 +0x1.0e736ep+6 +0x1.d9e7c8p+2 +0x1.85064cp+6 +0x1.44883cp+1 +0x1.39f132p+19 +0x1.3f154cp+5 +0x1.41d73cp+4 +0x1.419ep+17 +0x1.b7562cp+1 +0x1.ebf352p+2 +0x1.578c02p+3 +0x1.73a8a2p+11 +0x1.01487ap+6 +0x1.3df252p+4 +0x1.9a8a3cp+4 +0x1.c150dap+8 +0x1.12b0a2p+14 +0x1.1d8fp+6 +0x1.8efedep+5 +0x1.2ae06p+5 +0x1.e39e34p+15 +0x1.ee0d62p+6 +0x1.18edc4p+4 +0x1.60360ap+6 +0x1.256928p+3 +0x1.86281ep+11 +0x1.2ca29p+16 +0x1.e90a44p+4 +0x1.5651d4p+6 +0x1.5701b8p+6 +0x1.5fa9p+4 +0x1.669422p+5 +0x1.940548p+4 +0x1.c13484p+6 +0x1.9efc24p+17 +0x1.9a538ep+3 +0x1.593a48p+6 +0x1.2fcde2p+6 +0x1.129f92p+6 +0x1.f7dbecp+5 +0x1.1c7c16p+4 +0x1.dccbbp+2 +0x1.00371ep+5 +0x1.d0b2acp+3 +0x1.155322p+5 +0x1.205f14p+10 +0x1.cd66a6p+5 +0x1.1e97b2p+0 +0x1.0515f2p+5 +0x1.f0203cp+5 +0x1.f2a824p+3 +0x1.185d36p+14 +0x1.76b998p+15 +0x1.3ef2b2p+5 +0x1.17295ap+5 +0x1.5dc11ap+3 +0x1.bdabdcp+1 +0x1.cca588p+6 +0x1.e618a2p+5 +0x1.f67bp+3 +0x1.dfe2ep+2 +0x1.d9258cp+5 +0x1.7e7af4p+7 +0x1.472eap+5 +0x1.c6bd08p+2 +0x1.6ccd9ap+5 +0x1.4eea5p+3 +0x1.0a319p+7 +0x1.29a7ep+3 +0x1.acfa44p+4 +0x1.5a2746p+5 +0x1.65739ep+5 +0x1.6b6776p+4 +0x1.11ff82p+9 +0x1.93916cp+5 +0x1.a896c4p+5 +0x1.572b8ap+4 +0x1.c870f6p+3 +0x1.e77482p+6 +0x1.d496b8p+4 +0x1.78cee4p-1 +0x1.c58098p+3 +0x1.f94056p+3 +0x1.4db616p+6 +0x1.5132c6p+11 +0x1.8e88dep+5 +0x1.29ced6p+3 +0x1.556818p+5 +0x1.e215dcp+1 +0x1.bf4162p+5 +0x1.56f398p+5 +0x1.595c28p+5 +0x1.3984dep+6 +0x1.03c732p+8 +0x1.77e086p+0 +0x1.8402c2p+4 +0x1.9dccd8p+2 +0x1.9956aap+4 +0x1.35473cp+19 +0x1.a62118p+6 +0x1.702702p+4 +0x1.dbc01ep+13 +0x1.6d30ccp+3 +0x1.ae9134p+5 +0x1.255ebap+5 +0x1.884996p+5 +0x1.367c7cp+5 +0x1.6d5a66p+4 +0x1.1cb1eep+5 +0x1.ef69eap+0 +0x1.8c99e8p+14 +0x1.69db16p+5 +0x1.21a1c2p+6 +0x1.ff9386p+6 +0x1.423254p+4 +0x1.879db2p-3 +0x1.6875a6p-2 +0x1.670ba4p+6 +0x1.1866fp+0 +0x1.3e0982p+5 +0x1.0405d2p+5 +0x1.1cbdfep+0 +0x1.23b29cp+5 +0x1.342de2p+6 +0x1.54939p+6 +0x1.b3b7bep+6 +0x1.1cfd0ep+6 +0x1.70fb82p+6 +0x1.19f9b6p+11 +0x1.209c4ep+2 +0x1.2e3618p+6 +0x1.1c1db2p+5 +0x1.f9281ap+3 +0x1.dfcab6p+7 +0x1.4187a4p+5 +0x1.b243ep+5 +0x1.64fb12p+5 +0x1.16f3b2p+4 +0x1.434b6p+4 +0x1.0b7868p+4 +0x1.07e39ep+11 +0x1.c48e56p+5 +0x1.5f291ap+6 +0x1.f58074p+4 +0x1.7b995p+10 +0x1.72eceap+5 +0x1.dbf5fp+11 +0x1.da8918p+5 +0x1.1b138p+6 +0x1.8b56dcp+5 +0x1.63e74cp+8 +0x1.9542b6p+5 +0x1.016ad8p+2 +0x1.08535ap+5 +0x1.4619f4p+5 +0x1.0087aap+10 +0x1.b749fp+5 +0x1.472a8p+4 +0x1.691b0cp+5 +0x1.085a66p+2 +0x1.8dc8d8p+5 +0x1.d0eb3cp+1 +0x1.f126dcp+3 +0x1.418ecap+8 +0x1.dea668p+8 +0x1.3c6296p+5 +0x1.25c4a4p+3 +0x1.2104p+6 +0x1.383322p+6 +0x1.5c9286p+5 +0x1.18ff98p+14 +0x1.8cf13ap+4 +0x1.0ecb1cp+6 +0x1.056002p+5 +0x1.e928p+12 +0x1.24b758p+5 +0x1.caf8aap+4 +0x1.6696a6p+18 +0x1.accd6cp+4 +0x1.1312f2p+5 +0x1.6b2696p+5 +0x1.bde25cp+5 +0x1.2f9da2p+7 +0x1.ce19e4p+6 +0x1.343aecp+6 +0x1.0aec92p+3 +0x1.6adcaap+6 +0x1.f53f96p+3 +0x1.14a658p+3 +0x1.04cb54p+5 +0x1.e3c5cep+4 +0x1.be3042p+3 +0x1.97db52p+13 +0x1.e95ce8p-1 +0x1.a359p+6 +0x1.c5260ep+5 +0x1.522bb8p+0 +0x1.2e880ep+6 +0x1.136ca4p+5 +0x1.71e9d2p+6 +0x1.a138cap+4 +0x1.5de308p+5 +0x1.d4b134p+10 +0x1.3193cap-1 +0x1.c43d92p+1 +0x1.34b87cp+4 +0x1.828bb4p+3 +0x1.f6813ep+4 +0x1.670756p+1 +0x1.0c9052p+14 +0x1.0a0778p+6 +0x1.788784p+5 +0x1.121c2p+8 +0x1.26e172p+4 +0x1.92f09cp+4 +0x1.dcfa74p+0 +0x1.5d3dc2p+1 +0x1.4b23d2p+4 +0x1.54e888p+5 +0x1.be37ap+5 +0x1.2ef262p+5 +0x1.8d1f68p+5 +0x1.05ad88p+6 +0x1.3ae1fap+3 +0x1.b30b96p+2 +0x1.66981ap+4 +0x1.034582p+7 +0x1.cf38ap+16 +0x1.0b73fap+5 +0x1.2f6ce8p+2 +0x1.725514p+13 +0x1.279944p+3 +0x1.8517a4p+13 +0x1.14cfdp+2 +0x1.829ee2p+5 +0x1.a251dcp+4 +0x1.96a21cp+4 +0x1.21328ep+4 +0x1.19eca4p+7 +0x1.db9bdep+5 +0x1.52310cp+6 +0x1.6e1d4ep+5 +0x1.1b5a2ep+6 +0x1.6eeb7p+1 +0x1.df839ap+5 +0x1.e4587ap+5 +0x1.b900cap+5 +0x1.91060ep+0 +0x1.195928p+5 +0x1.0116cep+6 +0x1.8828fp+5 +0x1.25d38ep+0 +0x1.90e7acp+4 +0x1.2dcf52p+4 +0x1.0c3b0cp+6 +0x1.5e64c8p+9 +0x1.b71938p+8 +0x1.3ce6a2p+10 +0x1.84dcbp+5 +0x1.9c31c6p+5 +0x1.1d6932p+6 +0x1.f20674p+5 +0x1.c0da24p+4 +0x1.e8c7acp+5 +0x1.d6162ep+4 +0x1.64e58ap+4 +0x1.249002p+6 +0x1.ea7276p+6 +0x1.a54c82p+3 +0x1.2c4d8p+1 +0x1.b48358p+12 +0x1.e339c4p+18 +0x1.e81174p+5 +0x1.0c02b4p+2 +0x1.39b504p+6 +0x1.47cd74p+4 +0x1.7c9f28p+3 +0x1.2cae7ap+15 +0x1.040342p+6 +0x1.bd7c16p+6 +0x1.7496a4p+17 +0x1.15a296p+10 +0x1.5f22f6p+5 +0x1.0ed75ap+4 +0x1.e8e83cp+4 +0x1.a37076p+5 +0x1.bb2b84p+10 +0x1.8c6d54p+3 +0x1.49adccp+6 +0x1.2ecd26p+6 +0x1.d1e5c8p+3 +0x1.773568p+7 +0x1.357222p+4 +0x1.c8f18ep+1 +0x1.ef85e4p+5 +0x1.db52d2p+6 +0x1.5e2186p+5 +0x1.d1f87ap+6 +0x1.dd57c8p+1 +0x1.08cafp+19 +0x1.4df828p+4 +0x1.321366p+5 +0x1.4a8c9ap+4 +0x1.1ddf3p+4 +0x1.110f3cp+5 +0x1.b2431ap+4 +0x1.94667ap+7 +0x1.b9fb1cp+4 +0x1.a3bb0ap+6 +0x1.09d7f2p+6 +0x1.0890bcp+8 +0x1.c18ac8p+5 +0x1.8d4a46p+5 +0x1.7b7a1p+3 +0x1.0692cep+6 +0x1.85cdd8p+3 +0x1.c39e1cp+3 +0x1.8ac84p+4 +0x1.bc3142p+3 +0x1.2981fcp+5 +0x1.d1336ap-3 +0x1.3674fp+5 +0x1.400728p+5 +0x1.0efa8p+13 +0x1.4127dep+11 +0x1.7ce0f6p+5 +0x1.6809f8p+3 +0x1.e404ccp+2 +0x1.cc5328p+5 +0x1.229e9p+4 +0x1.da987ap+14 +0x1.55449ap+4 +0x1.864f48p+3 +0x1.f4112p+5 +0x1.18b604p+6 +0x1.211f24p+3 +0x1.a7f5fap+5 +0x1.355b88p+6 +0x1.939666p+4 +0x1.2ea782p+3 +0x1.8a1efcp+2 +0x1.c55656p+1 +0x1.f4b0b6p+13 +0x1.65d624p+9 +0x1.af687p+4 +0x1.f7e54ep+17 +0x1.23baeap+7 +0x1.be069ap+9 +0x1.943708p+6 +0x1.cc6882p+5 +0x1.b9e08ep+3 +0x1.2bd976p+3 +0x1.cc1c2ep+5 +0x1.de85c6p+5 +0x1.1a6c6p+5 +0x1.a5021p+4 +0x1.2c6e8cp+8 +0x1.60da66p+6 +0x1.c709f2p+5 +0x1.1f200ap+5 +0x1.13d676p+5 +0x1.e8ba6cp+4 +0x1.2b82ccp+6 +0x1.0d2dap+4 +0x1.3936ap+12 +0x1.f38a5p+5 +0x1.975966p+2 +0x1.2c4656p+6 +0x1.62c54p+5 +0x1.65ef86p+6 +0x1.57c55ap+15 +0x1.92d71ep-1 +0x1.31e3fcp+6 +0x1.3a4d86p+5 +0x1.407672p+18 +0x1.2e35ep+2 +0x1.0a00eep+4 +0x1.7895p+18 +0x1.70135cp+6 +0x1.14d57cp+5 +0x1.b14ab2p+4 +0x1.3147fcp+6 +0x1.34133ep+3 +0x1.43132ap+5 +0x1.26bc5p+5 +0x1.04c174p+14 +0x1.872bc8p+4 +0x1.034546p+6 +0x1.743c3ep+3 +0x1.4bc288p+3 +0x1.7d3c5ep+4 +0x1.275252p+7 +0x1.3b363p+3 +0x1.ca1876p+4 +0x1.1b37cep+1 +0x1.486996p+6 +0x1.69db8cp+14 +0x1.a7327cp+1 +0x1.9a139cp+10 +0x1.d33572p+7 +0x1.0b676ep+6 +0x1.4d54bep+3 +0x1.28e8b6p+5 +0x1.c2957ap+5 +0x1.93018cp+3 +0x1.6d7c1cp+6 +0x1.a3fc5ep+4 +0x1.8b1dcep+11 +0x1.ca1efap+12 +0x1.910bp+3 +0x1.f5575ep+9 +0x1.1a04dap+7 +0x1.1fcc12p+2 +0x1.727c1ap+5 +0x1.45dc9p+5 +0x1.68a12p+6 +0x1.98d238p+19 +0x1.b1116p+6 +0x1.eb5fdp+2 +0x1.8efac2p+5 +0x1.29a27ep+4 +0x1.7a4fb6p+6 +0x1.0230ccp+5 +0x1.7074b6p-1 +0x1.acb0c6p-2 +0x1.984af4p+5 +0x1.24febcp+4 +0x1.1f8112p+5 +0x1.d6122ep-2 +0x1.69ab64p+3 +0x1.1a888ap+3 +0x1.f41f0ep+8 +0x1.c0e106p-1 +0x1.906e68p+5 +0x1.bc6866p+2 +0x1.1706fep-5 +0x1.0b93eap+7 +0x1.e2f1f8p+3 +0x1.3d9c36p+7 +0x1.ddb04ep+6 +0x1.8bee68p+5 +0x1.1b7634p+18 +0x1.7c71eap+6 +0x1.262938p+4 +0x1.3b2f5ap+5 +0x1.8f9f8ep+1 +0x1.725b32p+2 +0x1.c5e69p+4 +0x1.71e2e4p+5 +0x1.87272ep+5 +0x1.654f02p+4 +0x1.c13ea2p+4 +0x1.4fc88ap+6 +0x1.b31ce8p+2 +0x1.62a87cp+3 +0x1.5c2df4p+4 +0x1.bcfdcp+6 +0x1.ce7818p+2 +0x1.95ad2ep+6 +0x1.27dcfap+4 +0x1.4deabcp+3 +0x1.13eb24p+5 +0x1.eff224p-1 +0x1.f5a1eap+3 +0x1.a45e02p+3 +0x1.605f04p+6 +0x1.894f0cp+4 +0x1.eae4bep+4 +0x1.ddbf58p+4 +0x1.06c9fap+4 +0x1.e70c74p+10 +0x1.7d39b8p+1 +0x1.5ec2e6p+6 +0x1.9745p+0 +0x1.89dc7ep+6 +0x1.ccceeep+5 +0x1.2a4342p+0 +0x1.32f77cp+17 +0x1.db1708p+16 +0x1.09a0ecp+15 +0x1.69c3bcp+2 +0x1.b84692p+15 +0x1.2f64b4p+4 +0x1.d12df2p+5 +0x1.2d7112p+6 +0x1.5aded6p+3 +0x1.6653d6p+6 +0x1.64251cp+4 +0x1.4c8c7cp+2 +0x1.ad417p+10 +0x1.5ba97ep+5 +0x1.5c15ep+11 +0x1.420c52p+6 +0x1.3c73e6p+2 +0x1.4a669cp+5 +0x1.91adc2p+2 +0x1.1d083ep+13 +0x1.9c62dp+6 +0x1.10f95ap+8 +0x1.0c3a14p+6 +0x1.9cd05cp+6 +0x1.bb9a8p+2 +0x1.d24c32p+5 +0x1.082a6cp+5 +0x1.a2d86p-2 +0x1.8c3e44p+1 +0x1.9a57f4p+4 +0x1.e03254p+5 +0x1.28dfap+6 +0x1.39d4cp+4 +0x1.2ff0bp+5 +0x1.83d908p+4 +0x1.ff6e96p+2 +0x1.61f084p+4 +0x1.50994cp+6 +0x1.0334bap+3 +0x1.4e0452p+6 +0x1.0b4aaep+6 +0x1.006c24p+6 +0x1.825606p+5 +0x1.661deep+5 +0x1.574238p+16 +0x1.031e8p+19 +0x1.bde85ep+3 +0x1.8ec496p-1 +0x1.513cecp+3 +0x1.5c91b4p+6 +0x1.3dbc2ep+2 +0x1.f01d72p+13 +0x1.3a4ebcp+3 +0x1.2ba094p+6 +0x1.282556p+4 +0x1.dcd2dp+11 +0x1.192734p+11 +0x1.7a3f38p+2 +0x1.6227dcp+5 +0x1.bca8c4p+3 +0x1.9a34bp-2 +0x1.cadbc2p+8 +0x1.f4deap+12 +0x1.913008p+6 +0x1.ab69a8p+5 +0x1.005b04p+3 +0x1.f7c4dp+8 +0x1.0ac8d4p+5 +0x1.92e7ep+4 +0x1.061f42p+6 +0x1.c082dap+6 +0x1.d6a276p+3 +0x1.88f944p+14 +0x1.f93b98p+10 +0x1.db6f32p+6 +0x1.3daa6ap+6 +0x1.984f68p+5 +0x1.f2fe08p+4 +0x1.0893d8p+2 +0x1.ee3fc2p+3 +0x1.898774p+7 +0x1.f5c856p+4 +0x1.2a350ap+6 +0x1.7d3bfcp+5 +0x1.b4fddap+2 +0x1.1447bap+3 +0x1.e96a76p+18 +0x1.33073ap+6 +0x1.58218p+4 +0x1.97d112p+5 +0x1.3bd34ep+6 +0x1.9365f6p+6 +0x1.c1a682p+6 +0x1.1cc888p+4 +0x1.23b464p+5 +0x1.d45b08p+9 +0x1.ed05c8p+2 +0x1.eeeb48p+12 +0x1.001de4p+5 +0x1.18044p+6 +0x1.57a3aep+5 +0x1.70e69ap+3 +0x1.8d3db2p+3 +0x1.1c0744p+6 +0x1.2a13bep+5 +0x1.2f8294p+11 +0x1.324bfp+5 +0x1.0849a8p+6 +0x1.cd2782p+4 +0x1.1262eap+16 +0x1.207dccp+5 +0x1.77c5dp+4 +0x1.8e31ap+2 +0x1.38cfap+7 +0x1.2e162p+4 +0x1.1a0848p+2 +0x1.75ba1cp+9 +0x1.016e6ap+5 +0x1.95096p+5 +0x1.55dda6p+3 +0x1.ab0458p+4 +0x1.1d7c1ap+4 +0x1.02d46cp+6 +0x1.41c632p+5 +0x1.110af2p+12 +0x1.52c166p+4 +0x1.a5468ep+4 +0x1.8fcbfep+2 +0x1.0de3p+1 +0x1.b8533ep+6 +0x1.b3d1e2p+1 +0x1.1d1ffep+6 +0x1.3f3bfep+2 +0x1.1a7322p+5 +0x1.91ed24p+5 +0x1.26dd5ap+5 +0x1.831ed2p-1 +0x1.ea87fap+2 +0x1.42adf8p+9 +0x1.3d0794p+0 +0x1.147e72p+6 +0x1.a87c38p+5 +0x1.05f4fcp+0 +0x1.872598p+5 +0x1.04ee54p+16 +0x1.b527p+5 +0x1.08d29ap+14 +0x1.44edbp+6 +0x1.8f65dcp+3 +0x1.531b42p+5 +0x1.8214d6p+3 +0x1.35ab9ap+5 +0x1.18f32ep+10 +0x1.d86a72p+2 +0x1.df7bcap+2 +0x1.95c74p-1 +0x1.5d5f7ap+5 +0x1.15d554p+5 +0x1.645a34p+5 +0x1.231ea2p+12 +0x1.daca3ep+6 +0x1.386cecp+6 +0x1.134d22p+9 +0x1.4567d6p+1 +0x1.0c67a2p+16 +0x1.b9ced8p+4 +0x1.2c90ap+14 +0x1.71d79ep+6 +0x1.c1bc5ep+10 +0x1.cddce4p+11 +0x1.624b72p+10 +0x1.9edf52p+14 +0x1.bec238p+5 +0x1.bdb228p+9 +0x1.1316a8p+2 +0x1.331af6p+5 +0x1.55d44cp+5 +0x1.337a1ap+5 +0x1.00198p+5 +0x1.d7923p+2 +0x1.bde35p+5 +0x1.bdd5b8p+4 +0x1.b53cdep+5 +0x1.bd7204p+5 +0x1.4d98b2p+0 +0x1.f66ae4p+5 +0x1.3a46fap+4 +0x1.21db28p+2 +0x1.65de36p+7 +0x1.30bf3ep+6 +0x1.acef3p+5 +0x1.ca4b14p+6 +0x1.051702p+2 +0x1.ff7758p+3 +0x1.5c0224p+2 +0x1.ca1ce2p+8 +0x1.c80deep+6 +0x1.420f46p+5 +0x1.af477ap+4 +0x1.030788p+6 +0x1.c52df8p+2 +0x1.d132b4p+5 +0x1.0dce5cp+6 +0x1.2c4654p+2 +0x1.6a8988p+7 +0x1.96d2cap+2 +0x1.1b95dap+7 +0x1.04c55cp+6 +0x1.8e0e8cp+3 +0x1.043458p+4 +0x1.092c1p+1 +0x1.226c72p+10 +0x1.ab47a4p+5 +0x1.7c85c6p+4 +0x1.967f16p+9 +0x1.e205aap+0 +0x1.4cb022p+1 +0x1.5d2952p+5 +0x1.f06f62p+5 +0x1.3b4e7cp+3 +0x1.07805cp+6 +0x1.81cf26p+2 +0x1.219426p+2 +0x1.138d0ap+5 +0x1.a478ccp+5 +0x1.68f65ep-4 +0x1.e02e8ap+4 +0x1.4f1e0ep+5 +0x1.2c0dp+4 +0x1.62088p+6 +0x1.837138p+5 +0x1.3bc2a2p+4 +0x1.d7c60cp+15 +0x1.64ccbep+16 +0x1.0353eap+6 +0x1.8f60aep+2 +0x1.b56ff8p+6 +0x1.ed5b8ap+1 +0x1.2a847p+11 +0x1.27ca7ap+5 +0x1.fecba6p-1 +0x1.7b63bp+4 +0x1.0e0748p+4 +0x1.c750e2p+10 +0x1.b5e5ecp+12 +0x1.e809acp+5 +0x1.f7d68p+5 +0x1.194becp+4 +0x1.35ebecp+2 +0x1.004ef8p+5 +0x1.cae23p+5 +0x1.e17b3cp+5 +0x1.420602p+8 +0x1.049cbap+5 +0x1.d2bedp+5 +0x1.246fcap+4 +0x1.f8e2ap+5 +0x1.35cd7ep+5 +0x1.11d402p+18 +0x1.f1a614p+5 +0x1.429db4p+6 +0x1.8a2de8p+5 +0x1.3dd808p+13 +0x1.231d44p+10 +0x1.67a258p+2 +0x1.e674cep+5 +0x1.1b52bap+11 +0x1.1e6e52p+4 +0x1.172e32p+6 +0x1.250c22p+4 +0x1.238dacp+4 +0x1.66078p+7 +0x1.792a72p+1 +0x1.3c88bp+6 +0x1.1206e2p+6 +0x1.3cc992p+4 +0x1.0adcd2p+3 +0x1.87ce0cp+4 +0x1.efad38p+5 +0x1.ec743p+5 +0x1.a9ad1ep+4 +0x1.c1b298p+5 +0x1.cf51cep+0 +0x1.66074p+2 +0x1.8e1e0ap+2 +0x1.28e3dep+1 +0x1.02b92cp+5 +0x1.cdfe72p+5 +0x1.9395a8p+5 +0x1.f6574ep+3 +0x1.d9a98cp+3 +0x1.aef72ep+5 +0x1.fa300cp+4 +0x1.9c2e28p+4 +0x1.3e5c0cp+2 +0x1.22065cp+3 +0x1.3993f8p+1 +0x1.919b9ep-6 +0x1.212d9cp+3 +0x1.94ccdep+4 +0x1.b0c78ap-1 +0x1.f528ecp+3 +0x1.3447fep+4 +0x1.2a6fep+4 +0x1.c25b52p-2 +0x1.4f6a1cp+3 +0x1.83094p+4 +0x1.144f1cp+7 +0x1.0f0c5cp+3 +0x1.9658e6p+5 +0x1.1f6396p+6 +0x1.45742ap+5 +0x1.45510ap+6 +0x1.1c157ep+14 +0x1.973d2ap+2 +0x1.4b6352p+6 +0x1.3d0ab6p+9 +0x1.160198p+2 +0x1.31afe8p+6 +0x1.11901p+9 +0x1.d8ed3ep+9 +0x1.dc72aap+6 +0x1.9478b2p+5 +0x1.4b428cp+6 +0x1.d96d4ep+5 +0x1.4a90a6p+3 +0x1.3d817ep+5 +0x1.336fb2p+5 +0x1.b361d2p+11 +0x1.1fbc3ep+0 +0x1.0f943cp+5 +0x1.3164dep+4 +0x1.1f83c8p+0 +0x1.5f68bcp+4 +0x1.ab698ep+0 +0x1.2e160cp+6 +0x1.462b8ep+5 +0x1.9ef22ap+2 +0x1.08ffe4p+2 +0x1.0bd24ep+5 +0x1.62346ap+5 +0x1.de9e52p+0 +0x1.dc4ac2p+5 +0x1.25c93p+5 +0x1.d4c97cp+2 +0x1.91a3aep+1 +0x1.016ed4p+6 +0x1.1c6806p+0 +0x1.e969b6p+4 +0x1.fb982ep+17 +0x1.8c9b5ap+3 +0x1.146ec2p+6 +0x1.65ef7p+3 +0x1.176bdap+6 +0x1.4d73a6p+4 +0x1.d3b47cp+5 +0x1.75741cp+5 +0x1.000fc6p+3 +0x1.243d2cp+4 +0x1.5b868cp+6 +0x1.bd5956p+6 +0x1.e8aea6p+1 +0x1.71ce4cp+6 +0x1.cd920cp+5 +0x1.f2ec94p+0 +0x1.606bdap+13 +0x1.6a89dep+5 +0x1.2337bap+2 +0x1.16d5d6p+4 +0x1.1178a2p+5 +0x1.d8d992p-4 +0x1.515c6p+3 +0x1.b2a2fep+1 +0x1.aedb5p+5 +0x1.d6d5dp+4 +0x1.1ee9fp+4 +0x1.983aecp+6 +0x1.fbcd0ep+5 +0x1.5f412p+6 +0x1.2bdb58p+5 +0x1.ad631ap+10 +0x1.09594cp+6 +0x1.c127d4p+5 +0x1.8dbbbep+11 +0x1.369752p+5 +0x1.312a6cp+8 +0x1.5a438cp+18 +0x1.a7b93cp+2 +0x1.e60006p+5 +0x1.452374p-1 +0x1.5f374ep+9 +0x1.c4b36p+5 +0x1.3c1752p+5 +0x1.2b0b66p+3 +0x1.65c008p+6 +0x1.97e2cep+6 +0x1.6eba7ap+5 +0x1.10575ep+0 +0x1.ecc59ep+4 +0x1.12d00ep+6 +0x1.cb3d74p+3 +0x1.119fbap+18 +0x1.9cd45ep+14 +0x1.b073e8p+9 +0x1.0c9048p+4 +0x1.67927ep+4 +0x1.a454acp+8 +0x1.3609bep+16 +0x1.1ef15p+5 +0x1.57d228p+5 +0x1.3e38ap+6 +0x1.2107a6p+5 +0x1.2ee27ap+1 +0x1.6e09d6p+4 +0x1.0e1636p+7 +0x1.60bd12p+16 +0x1.4403d8p+4 +0x1.6acf4ap+6 +0x1.81ed66p+4 +0x1.4f2528p+2 +0x1.3c4a32p+8 +0x1.3c8b1ep+6 +0x1.63bb72p+5 +0x1.da389cp+3 +0x1.d467eap+13 +0x1.ac47dep+12 +0x1.b6ab9ap+5 +0x1.fd7106p+6 +0x1.3bd74p+3 +0x1.a094e4p+6 +0x1.0aa8eep+5 +0x1.ecacaep+5 +0x1.6b0cfp+5 +0x1.2570c4p+5 +0x1.d47fd2p+10 +0x1.192278p+3 +0x1.200858p+0 +0x1.1f16dcp+4 +0x1.500388p+6 +0x1.1f0b3p+19 +0x1.486c7ep+5 +0x1.ac62aep+1 +0x1.935e64p+17 +0x1.3f83e8p+3 +0x1.043b84p+5 +0x1.ddb4eap+4 +0x1.9d56f8p+5 +0x1.97f45cp+3 +0x1.84285p+5 +0x1.1a5fa8p+4 +0x1.83b09p+5 +0x1.459c24p+4 +0x1.4119b8p+5 +0x1.20fd9cp+6 +0x1.268a64p+12 +0x1.7b94fap+5 +0x1.3bcd5ep+2 +0x1.0d3522p+19 +0x1.8fc8ap-3 +0x1.c4a09p+4 +0x1.72aac2p+3 +0x1.d9514cp+5 +0x1.2e859ep+11 +0x1.128b7ep+9 +0x1.7cd832p+5 +0x1.4300c6p+8 +0x1.eefe14p+5 +0x1.06ef76p+6 +0x1.72efdap+10 +0x1.9c140ap+4 +0x1.ce68bap+4 +0x1.65b7d4p+2 +0x1.c90802p+4 +0x1.9a6d4ep+5 +0x1.d18f9ep+6 +0x1.20aaecp+4 +0x1.7f8064p-2 +0x1.e47cc8p+4 +0x1.3b1bc8p+5 +0x1.33924cp+3 +0x1.5c66a6p+5 +0x1.665886p+1 +0x1.2c3fdcp+5 +0x1.d2553cp+3 +0x1.3bd886p+5 +0x1.3a4296p+1 +0x1.5dd68ap+2 +0x1.cf7f82p+2 +0x1.a973dep+5 +0x1.e840b2p+5 +0x1.912654p+18 +0x1.564a0ap+3 +0x1.5e05a8p+6 +0x1.d327cep+3 +0x1.ad4c74p+8 +0x1.3b136ep+6 +0x1.3941c8p+6 +0x1.c313e6p+3 +0x1.c70d48p+6 +0x1.b1381ap+6 +0x1.6d4d98p+4 +0x1.4e4c5p+3 +0x1.0dead2p+5 +0x1.f17286p+0 +0x1.ce6076p+16 +0x1.45797ep+6 +0x1.0b7eaap+4 +0x1.c7bfbcp+6 +0x1.e2a654p+5 +0x1.28354p+15 +0x1.5d10e6p+5 +0x1.0c1464p+6 +0x1.5dd8bep+2 +0x1.86fb8ap+3 +0x1.6c2d58p+13 +0x1.3354f2p+1 +0x1.33e72ap+6 +0x1.3edfd8p+5 +0x1.30841ap+6 +0x1.1bf47ep+6 +0x1.b019f2p+4 +0x1.39dff8p+6 +0x1.c27094p+7 +0x1.c37ebcp+6 +0x1.170d2cp+5 +0x1.b095b4p+5 +0x1.8c8eacp+3 +0x1.9fbd16p+14 +0x1.b4f104p+5 +0x1.384d9ap+6 +0x1.d5b4e6p-5 +0x1.ef002ap+4 +0x1.f342aep+6 +0x1.6d39c8p+6 +0x1.05823p+1 +0x1.faa052p+5 +0x1.877022p+5 +0x1.8ccf2ep+4 +0x1.3a5e88p+6 +0x1.0db3b8p+4 +0x1.40dd1cp+5 +0x1.ff7c44p+3 +0x1.14b1c2p+7 +0x1.822ceap+12 +0x1.9db9dcp+4 +0x1.a0c2e4p+6 +0x1.c9ae24p+15 +0x1.12aa3p+1 +0x1.900772p+4 +0x1.39e28cp+6 +0x1.20634ep+3 +0x1.9a0b5cp+6 +0x1.02dc78p+0 +0x1.b28aep+6 +0x1.3bae5ap+4 +0x1.847cfep+5 +0x1.ad04eep+5 +0x1.32863ap+5 +0x1.5e423ap+5 +0x1.5b01d4p+9 +0x1.0b4b7cp+7 +0x1.a267c2p+5 +0x1.47a074p+5 +0x1.bd21c8p+5 +0x1.ba0f22p+4 +0x1.617d28p+3 +0x1.33230cp+12 +0x1.596b24p+13 +0x1.ba290ep+2 +0x1.8105e6p+6 +0x1.ce8194p+3 +0x1.588926p+18 +0x1.cde98cp+4 +0x1.771dd8p+5 +0x1.1cd9c2p+6 +0x1.510e4ap+6 +0x1.a02256p+4 +0x1.34cf5ap+0 +0x1.098adap+6 +0x1.ddbe1ep+3 +0x1.d55dbp+4 +0x1.3c83fp+14 +0x1.9c48e2p+3 +0x1.bf95a6p+5 +0x1.7dfdf4p+5 +0x1.ef372cp+1 +0x1.628ac6p+5 +0x1.eefda4p+12 +0x1.27e574p+5 +0x1.12ba06p-2 +0x1.734ad4p+4 +0x1.4ca70cp+4 +0x1.76c4b2p+5 +0x1.2999ecp+4 +0x1.c4bb88p+4 +0x1.2bd692p+7 +0x1.74524cp+0 +0x1.1634d2p+3 +0x1.fe74fap+4 +0x1.226baep+6 +0x1.147342p+6 +0x1.90dafep+6 +0x1.ec50ep+3 +0x1.903e02p+5 +0x1.4d63a4p-2 +0x1.5465dp+5 +0x1.3db8d8p+15 +0x1.0f4074p+4 +0x1.272bf2p+0 +0x1.a2d45ep+4 +0x1.3a25e6p+11 +0x1.657266p+5 +0x1.0b69p+7 +0x1.d1aab4p+11 +0x1.67408ap+4 +0x1.f5343ep+11 +0x1.4da16ep+3 +0x1.a0518ep+6 +0x1.56017p+3 +0x1.f861f4p-1 +0x1.e18eeap+3 +0x1.92d284p+6 +0x1.17f38cp+3 +0x1.030fe4p+14 +0x1.086a8cp+1 +0x1.afa4acp+16 +0x1.a0c0b2p+4 +0x1.8a18c8p+3 +0x1.b60acp+9 +0x1.ddc464p+4 +0x1.2c0cecp+5 +0x1.661fp+6 +0x1.6d275cp+5 +0x1.3a63f6p+12 +0x1.16f438p+4 +0x1.d742ccp+3 +0x1.1c760cp+4 +0x1.762be6p+2 +0x1.6ce9dap+2 +0x1.27349p+6 +0x1.529bcap+2 +0x1.e2213ap+5 +0x1.415ff8p+5 +0x1.97d45ep+4 +0x1.1fb01p+6 +0x1.6c4b06p+4 +0x1.ef402p+6 +0x1.4c147cp+1 +0x1.030768p+3 +0x1.1922f4p+5 +0x1.470962p+5 +0x1.c977cap+4 +0x1.16163cp+6 +0x1.5526fcp+5 +0x1.c8d316p+11 +0x1.bc251ap+2 +0x1.6361e2p-1 +0x1.39412ep+5 +0x1.57d698p+6 +0x1.dfa43cp-1 +0x1.93ef02p+5 +0x1.e8b0f8p+4 +0x1.fdf8eep+1 +0x1.16223ep+5 +0x1.a919cp+4 +0x1.a2d236p+9 +0x1.aa6892p+5 +0x1.5611d4p+2 +0x1.82109cp+10 +0x1.ba3332p+5 +0x1.d38ecap+2 +0x1.5ed356p+4 +0x1.2ac0d4p+5 +0x1.602d48p+10 +0x1.55e496p+4 +0x1.7472dp+2 +0x1.6de004p+4 +0x1.7cd54ep+3 +0x1.ffa92ap+8 +0x1.a6fbf4p+17 +0x1.fa3956p+15 +0x1.5c99ccp+2 +0x1.e19d6p+6 +0x1.1c549ep+5 +0x1.1ea2c4p+5 +0x1.a575f4p+4 +0x1.2454p+5 +0x1.5f60d8p+4 +0x1.bbe55p+3 +0x1.06e89ap+4 +0x1.cf868ap+16 +0x1.c1d956p+8 +0x1.08673cp+2 +0x1.9d9e58p+4 +0x1.db0e6ep+5 +0x1.2fd312p+4 +0x1.8a3116p+1 +0x1.04a60ep+14 +0x1.f823bap+2 +0x1.a3b14cp+4 +0x1.b4078cp+2 +0x1.af7e54p+4 +0x1.80cf54p+6 +0x1.99f79ap+4 +0x1.58db04p+4 +0x1.d83936p+3 +0x1.decb3cp+4 +0x1.00b5b2p+3 +0x1.71f7bap+18 +0x1.0564cap+5 +0x1.63a01cp+5 +0x1.38068p+5 +0x1.18656ep+1 +0x1.68620ep+4 +0x1.51ac96p+2 +0x1.8e4a5ep+1 +0x1.a744ap+2 +0x1.30bc3ap+9 +0x1.92a964p+5 +0x1.7ac452p+5 +0x1.abc428p+4 +0x1.31f04cp+5 +0x1.64cd36p+1 +0x1.c05a8ap+5 +0x1.1d6c6ap+2 +0x1.8326c6p+6 +0x1.5c1e5p+6 +0x1.2afb02p+4 +0x1.95ba8cp+5 +0x1.f6ab2p-2 +0x1.da3452p+5 +0x1.a49fdep+4 +0x1.bfd082p+4 +0x1.383362p+5 +0x1.25c90ep+2 +0x1.a77f18p+5 +0x1.48445p+15 +0x1.2fe60cp+5 +0x1.1faabp+5 +0x1.36f068p+3 +0x1.8f247ep+5 +0x1.2cc486p+9 +0x1.bcec8ap+5 +0x1.a513cep+4 +0x1.8d3b84p+4 +0x1.ca7638p+12 +0x1.6a1ad8p+4 +0x1.ea8a5p+4 +0x1.99f472p+6 +0x1.271b08p+2 +0x1.ac764cp+11 +0x1.74bba6p+12 +0x1.a849b2p-3 +0x1.50a138p+4 +0x1.747994p+16 +0x1.1c30cep+6 +0x1.e32fdp+1 +0x1.abcd1ap-3 +0x1.8c3896p+1 +0x1.c38502p+0 +0x1.abe0d6p+3 +0x1.36b0ccp+6 +0x1.921a68p+3 +0x1.b0116ap+3 +0x1.16ca4ep+5 +0x1.bcd32p+4 +0x1.05a1f4p+13 +0x1.e6ba52p+2 +0x1.560a0ep-2 +0x1.b01ea2p+0 +0x1.1d5e24p+3 +0x1.e6e1d6p+5 +0x1.cc6428p+1 +0x1.bb99eap+6 +0x1.da363cp+5 +0x1.f77edep+2 +0x1.a48f14p+4 +0x1.6dcaf4p+5 +0x1.0b766ap+5 +0x1.a65caap+16 +0x1.8d7a34p+12 +0x1.d205c4p+4 +0x1.7b8d26p+17 +0x1.a9d36ap+4 +0x1.190f9p+18 +0x1.b99f12p+10 +0x1.605c8ap+3 +0x1.c5456p+4 +0x1.5b5ddcp+1 +0x1.f42848p-1 +0x1.24940cp+15 +0x1.4822dep+8 +0x1.19eca2p+1 +0x1.bb556cp+12 +0x1.281068p+2 +0x1.0866acp+2 +0x1.0fecdp+16 +0x1.aa0aaap+5 +0x1.f1a54ep+5 +0x1.d1985ap+0 +0x1.f4064ap+4 +0x1.095b9ap+6 +0x1.3f0006p+5 +0x1.4c9fb2p+7 +0x1.7d661ap+4 +0x1.3a8c7p+3 +0x1.b475f6p+3 +0x1.55d236p+6 +0x1.7f76aep+1 +0x1.b4a2bap+11 +0x1.bdd6fp+4 +0x1.26a4c8p+5 +0x1.3afaaap+9 +0x1.9ee7b4p+3 +0x1.539d5cp+6 +0x1.fe1c6cp+10 +0x1.505298p+6 +0x1.c2755cp+2 +0x1.9fccdep+5 +0x1.20c99ap+4 +0x1.58d1eep+5 +0x1.df7556p+4 +0x1.2d14e8p+7 +0x1.699a2ap+4 +0x1.2ab814p+4 +0x1.4b902ep+0 +0x1.e73b1p+4 +0x1.d41f9ep+4 +0x1.501378p+14 +0x1.394f4p+18 +0x1.e3e986p+4 +0x1.9268cep+7 +0x1.9183fep+13 +0x1.d17a7cp+9 +0x1.0274d2p+4 +0x1.fbcdeap+16 +0x1.8ba6b2p+5 +0x1.151648p+4 +0x1.4b29bep+5 +0x1.4fcf9p+7 +0x1.35fee2p+4 +0x1.22e5p+4 +0x1.7ea16ep+12 +0x1.05cf24p+17 +0x1.bd2234p+18 +0x1.2e15e8p+6 +0x1.4a2c5cp+6 +0x1.4d5c3p+6 +0x1.e76a36p+11 +0x1.d5f898p-3 +0x1.78951ep+2 +0x1.edad5p+3 +0x1.05d77cp+17 +0x1.adf4f4p+6 +0x1.e264eap+3 +0x1.69113p+5 +0x1.c236bcp+0 +0x1.71cec4p+1 +0x1.53509ep+6 +0x1.d0913ep+5 +0x1.b5d1bap+3 +0x1.cf7876p+2 +0x1.c6402ep-1 +0x1.6fa3c2p+6 +0x1.71393ep+5 +0x1.ef73c8p+5 +0x1.97b65cp+5 +0x1.5a4706p+6 +0x1.78dafp+1 +0x1.50936ap+3 +0x1.41191ap+5 +0x1.b19658p+5 +0x1.1324b8p+5 +0x1.cdd066p+16 +0x1.6a626ap+3 +0x1.a06278p+6 +0x1.8bf18ep+1 +0x1.a835acp+3 +0x1.a241e6p+3 +0x1.388c3p+4 +0x1.0354a6p+4 +0x1.8f92p+16 +0x1.45b7bap+3 +0x1.55acd8p+5 +0x1.c68f5ep+5 +0x1.12fafp+6 +0x1.33e60ap+5 +0x1.646ed4p+3 +0x1.92e92ap+10 +0x1.53defcp+6 +0x1.a37148p+5 +0x1.3ec938p+6 +0x1.39a626p+6 +0x1.f9f5cp+13 +0x1.480c7ep+5 +0x1.c585ap+1 +0x1.302824p+6 +0x1.5a96bep+6 +0x1.7c0c8ap+1 +0x1.44d7cep+5 +0x1.350452p+5 +0x1.bf8ce8p+5 +0x1.76b41cp+8 +0x1.1d93d4p+6 +0x1.90a58ap+6 +0x1.ecbb7p+16 +0x1.5ebcfep+5 +0x1.b70b92p+4 +0x1.0f872ep-2 +0x1.c571c6p-1 +0x1.1557dp+0 +0x1.fce28ap+4 +0x1.33bd2p+5 +0x1.18c60cp+0 +0x1.fce4bcp+12 +0x1.575e3ep+4 +0x1.c8b4fp+12 +0x1.b7a612p+5 +0x1.fa556ap+17 +0x1.033532p+6 +0x1.02c35cp+6 +0x1.e20bacp+11 +0x1.239e0cp+6 +0x1.7724e2p+1 +0x1.8981cap+11 +0x1.d2ce2cp+5 +0x1.00fd0ep+6 +0x1.a3c4ecp+12 +0x1.ea863cp+5 +0x1.24326p+5 +0x1.76cf12p+6 +0x1.e21994p+17 +0x1.bdf95p+5 +0x1.6dbf7p+5 +0x1.72a1fap+0 +0x1.afd044p+5 +0x1.1c329cp+5 +0x1.4dca6cp-3 +0x1.13428ep+3 +0x1.51347p+5 +0x1.dfdfdp-4 +0x1.6b256p+4 +0x1.5485e2p+11 +0x1.c0c38ep+3 +0x1.14f0d6p+5 +0x1.18c3fcp+2 +0x1.91def4p+5 +0x1.6ae0fp+4 +0x1.ac37e2p+2 +0x1.ca08a8p+3 +0x1.a89bdp+4 +0x1.37dd78p+6 +0x1.5a7f0ap+5 +0x1.0cbedap+3 +0x1.ad8c34p+3 +0x1.2cec7ap+5 +0x1.9c5aaap+12 +0x1.dce4bcp+11 +0x1.063b6p+6 +0x1.5b07b2p+5 +0x1.2b888cp+4 +0x1.86b4e2p+5 +0x1.068652p+5 +0x1.185696p+4 +0x1.1393b6p+5 +0x1.10a696p+14 +0x1.067b4p+3 +0x1.2012c2p+4 +0x1.0f2f86p-1 +0x1.3b92a8p+6 +0x1.888f4ap+2 +0x1.86296ep+5 +0x1.7294f4p+4 +0x1.7789dcp+5 +0x1.065c66p+7 +0x1.9c3c5ap+6 +0x1.2be0d4p+6 +0x1.6c659cp+5 +0x1.a3d596p+0 +0x1.4ce252p+5 +0x1.8275b8p+6 +0x1.701b6ep+15 +0x1.e586e8p+1 +0x1.643daep+5 +0x1.a18a2ap+2 +0x1.0fd4b2p+6 +0x1.8e64c6p+5 +0x1.8e977ap+0 +0x1.c84122p+4 +0x1.ab6caap+1 +0x1.6b353ap+5 +0x1.2e457p+5 +0x1.97bfd6p+5 +0x1.bbc76ap+5 +0x1.ef2bdap+2 +0x1.fb943ep+4 +0x1.330a96p+5 +0x1.525928p+7 +0x1.2c3232p+17 +0x1.c3f16cp+4 +0x1.ba2decp-4 +0x1.71216ep+5 +0x1.f3f3f8p+4 +0x1.f37b44p-4 +0x1.358b7p+8 +0x1.293c2ap+1 +0x1.780098p+4 +0x1.e41ef2p+2 +0x1.39645ap+4 +0x1.3d406ap+2 +0x1.c67784p+3 +0x1.4d68f2p+2 +0x1.9c507p+5 +0x1.131f0cp+6 +0x1.3b3edp+4 +0x1.d294f8p+6 +0x1.1c017p+6 +0x1.fea9dcp+5 +0x1.3e3daap+4 +0x1.295f38p+2 +0x1.8a1aecp+5 +0x1.bd0d12p+4 +0x1.fc7948p+3 +0x1.4d68acp+4 +0x1.842006p+2 +0x1.e3f312p+4 +0x1.51ecb6p+3 +0x1.ef766cp+4 +0x1.09ba6cp+5 +0x1.0a974p+4 +0x1.864194p+4 +0x1.3247f4p+5 +0x1.79e73ep+5 +0x1.059718p+3 +0x1.935c5p+5 +0x1.0e92a6p+2 +0x1.584966p+4 +0x1.5db7f2p+8 +0x1.76861ep+3 +0x1.6d9d7p+4 +0x1.f3149p-1 +0x1.638ad6p+18 +0x1.9c36fep+4 +0x1.8007fcp+17 +0x1.26d5b8p+3 +0x1.db2f3ep+12 +0x1.c514acp+0 +0x1.f31b02p+4 +0x1.ef27eep+4 +0x1.6e1098p+11 +0x1.580f9ap+5 +0x1.c4f776p+4 +0x1.0782ecp+6 +0x1.6ecc32p+13 +0x1.2ba028p+8 +0x1.cbc8a4p+5 +0x1.8b6decp+4 +0x1.e0bd14p+0 +0x1.bca70ap+4 +0x1.6b16dep+5 +0x1.717ce8p+3 +0x1.a5a478p+3 +0x1.0a0bap+5 +0x1.d047b6p+8 +0x1.7662ep+4 +0x1.ec413ep+3 +0x1.0e5872p+5 +0x1.875928p+4 +0x1.68275p+2 +0x1.9a5766p+5 +0x1.f32cacp+5 +0x1.3420c4p+2 +0x1.dad03ep+4 +0x1.bdb916p+5 +0x1.e1355p+4 +0x1.716de2p+5 +0x1.8089a4p+3 +0x1.b7914cp+2 +0x1.045c3ep+5 +0x1.ec34dp+14 +0x1.67235cp+3 +0x1.393b6cp+15 +0x1.c88e9ap+3 +0x1.059b9ep+5 +0x1.4016b4p+1 +0x1.44c748p+5 +0x1.026908p+4 +0x1.51666p+0 +0x1.7fb652p+5 +0x1.9131f4p+0 +0x1.5bd724p+3 +0x1.38918ap+13 +0x1.4aa76ap-1 +0x1.973fd8p+5 +0x1.2118dap+6 +0x1.9e0438p+5 +0x1.41beb4p+5 +0x1.8c6b92p+5 +0x1.af45c8p+5 +0x1.e53946p+5 +0x1.83fa6ap+8 +0x1.532626p+4 +0x1.2885b4p+4 +0x1.a5c4e8p+2 +0x1.f3f18ap+5 +0x1.a27c82p+4 +0x1.584f98p+6 +0x1.d13502p+5 +0x1.d75b32p+1 +0x1.40f826p+5 +0x1.38956ep+3 +0x1.c12672p+5 +0x1.a12bp+1 +0x1.85ce1cp+5 +0x1.d7fbb2p+5 +0x1.c02372p+3 +0x1.adb9bep+6 +0x1.47a45cp+4 +0x1.3f863cp+5 +0x1.66278ep+0 +0x1.3b6f06p+4 +0x1.3c5d8ap+4 +0x1.51bad6p+18 +0x1.18e928p-1 +0x1.2f2eeap+3 +0x1.477e84p+6 +0x1.253be2p+1 +0x1.5f0c62p+0 +0x1.600b9ap+7 +0x1.cfc696p+5 +0x1.3c079ep+3 +0x1.294602p+6 +0x1.6fc0f2p+6 +0x1.84d1a2p+5 +0x1.70cc58p+6 +0x1.eb3af6p+5 +0x1.bd762ep+6 +0x1.78626cp+14 +0x1.31209p+6 +0x1.85a78p+14 +0x1.679464p+5 +0x1.76000cp+5 +0x1.5f4222p-2 +0x1.aa84f2p+16 +0x1.fefefep+16 +0x1.04eff4p+2 +0x1.a7acb4p+4 +0x1.fa73cap+7 +0x1.9541f4p+9 +0x1.e50d2ep+12 +0x1.b07616p+6 +0x1.93f23ap+10 +0x1.1a6828p+5 +0x1.544e7ap+7 +0x1.ba2012p+7 +0x1.452318p+4 +0x1.c38032p+6 +0x1.4d725p+16 +0x1.76cf98p+12 +0x1.daea3cp+5 +0x1.1b275p+5 +0x1.1e8956p+5 +0x1.3c054p+6 +0x1.168d8ep+10 +0x1.6f2768p+4 +0x1.be5634p+13 +0x1.2effa2p+6 +0x1.18cdecp+14 +0x1.1586aap+5 +0x1.b53572p+4 +0x1.6e4fd8p+6 +0x1.88bccep+6 +0x1.ff4396p+5 +0x1.81cadp+3 +0x1.18179ap+6 +0x1.98a6e8p+3 +0x1.120dcap+13 +0x1.8909e2p+6 +0x1.28f678p+15 +0x1.ba70a8p+5 +0x1.23ebecp+3 +0x1.2deee4p+5 +0x1.4a770ap+6 +0x1.56144cp+1 +0x1.f1edb6p+16 +0x1.1326f6p+0 +0x1.bf0212p+4 +0x1.ff79e8p+5 +0x1.c90224p+11 +0x1.6ebfbcp+10 +0x1.c97e18p+8 +0x1.7299ep+5 +0x1.071414p+3 +0x1.6cd72ap+4 +0x1.565dbp+5 +0x1.61fdep+2 +0x1.d75d8p+12 +0x1.6e81cp+13 +0x1.59530ap+3 +0x1.6f9a7cp+5 +0x1.6e6768p+6 +0x1.b18de4p+0 +0x1.fd3884p+9 +0x1.5ff3aap+5 +0x1.04a52p+4 +0x1.7dbe8cp+3 +0x1.065a28p+5 +0x1.0eeaeap-1 +0x1.071a74p+5 +0x1.ade3p+7 +0x1.57ca9p+0 +0x1.010634p+5 +0x1.084358p+6 +0x1.79af94p+3 +0x1.1756f6p+6 +0x1.4e50bap+4 +0x1.767fbep+15 +0x1.66d252p+0 +0x1.5e4c08p+4 +0x1.2569f8p+5 +0x1.4ef416p+4 +0x1.94e292p+5 +0x1.73b1dap+4 +0x1.12df46p+6 +0x1.6fcc7cp+4 +0x1.028014p+3 +0x1.4b0f9p+5 +0x1.4fc30ep-1 +0x1.37fcc8p-3 +0x1.5dfadp+3 +0x1.b8cabcp+8 +0x1.39c322p+7 +0x1.091c16p+5 +0x1.08047ap+1 +0x1.5e520ap+4 +0x1.2eb636p+4 +0x1.297b94p+6 +0x1.99124ep+5 +0x1.8995e4p+5 +0x1.4f995ap+5 +0x1.5074p+7 +0x1.5364dep+6 +0x1.95d1cp+11 +0x1.18adfcp+5 +0x1.828668p+4 +0x1.cb4212p+6 +0x1.8b659ep+5 +0x1.8433d8p+5 +0x1.456256p+6 +0x1.7032f2p+9 +0x1.66bafap+6 +0x1.cda804p+4 +0x1.deaa7cp-4 +0x1.30986cp+2 +0x1.9f15f6p+14 +0x1.743256p+1 +0x1.c4b746p+5 +0x1.c41c6ap+4 +0x1.b175fp-1 +0x1.194b9ep+16 +0x1.97d5cep+5 +0x1.b59bcp+5 +0x1.296742p+4 +0x1.33b818p+5 +0x1.9bea72p+4 +0x1.88f552p+5 +0x1.1d0e52p+0 +0x1.735832p+2 +0x1.a853fp+6 +0x1.924706p+6 +0x1.685846p+4 +0x1.6d941ep+5 +0x1.dc6766p+16 +0x1.02a084p+10 +0x1.b874fap+4 +0x1.618cdp+6 +0x1.205de2p+3 +0x1.ded812p+11 +0x1.e8f98ap+3 +0x1.319288p+15 +0x1.c9344p+6 +0x1.4fbd32p+0 +0x1.04bc3cp+6 +0x1.4f8366p+5 +0x1.b4ded2p+5 +0x1.885bdcp+4 +0x1.0cbcecp+5 +0x1.a8ee96p+4 +0x1.e67378p+5 +0x1.b7bf26p+4 +0x1.08f2aep+2 +0x1.0f5058p+14 +0x1.2c360cp+3 +0x1.91e56p+4 +0x1.1cee88p+5 +0x1.479c32p+9 +0x1.579258p+6 +0x1.e0b47ep+3 +0x1.7463bap+5 +0x1.38421cp+5 +0x1.a185f6p+4 +0x1.f0d998p+2 +0x1.137286p+3 +0x1.56a1e8p+6 +0x1.6d5cfp+1 +0x1.bb1d36p+4 +0x1.9e7238p+2 +0x1.cd1778p+5 +0x1.b7b582p+4 +0x1.3ce3e6p+6 +0x1.426e24p+11 +0x1.ffb236p+13 +0x1.98365ap+4 +0x1.a7429ap+0 +0x1.d7600cp+5 +0x1.958456p+6 +0x1.988676p+5 +0x1.771dd2p+3 +0x1.57bab8p+4 +0x1.37ecfp+2 +0x1.1da502p+5 +0x1.1cbc4cp+7 +0x1.4674aap+16 +0x1.300192p+5 +0x1.1532fcp+1 +0x1.0e62e2p+2 +0x1.e059e2p+4 +0x1.c62764p+5 +0x1.69b718p+5 +0x1.df9c1ap+6 +0x1.835c62p+6 +0x1.83a4bcp+5 +0x1.4cfd3p+16 +0x1.9c2be4p+3 +0x1.11e1b2p+5 +0x1.497b66p+16 +0x1.273306p+10 +0x1.6bfd3ep+2 +0x1.3abcdep+0 +0x1.a36ff8p+7 +0x1.00816cp+6 +0x1.9c24a2p-1 +0x1.07ae9ap+5 +0x1.e043cap+4 +0x1.1c7ebcp+3 +0x1.35627ep+12 +0x1.c5309ep+5 +0x1.3d29fap+6 +0x1.621e3ap+2 +0x1.0d3e98p+11 +0x1.d49dc2p+3 +0x1.5c7722p+3 +0x1.887ap+5 +0x1.fac0d6p+4 +0x1.221ddcp+4 +0x1.0e85fap+5 +0x1.4d70ecp+5 +0x1.098284p+5 +0x1.d042aep-1 +0x1.33fcbap+5 +0x1.64fc3p+6 +0x1.2383a6p+5 +0x1.bc4ba6p+4 +0x1.8d7ffep+2 +0x1.433336p+5 +0x1.65aad4p-1 +0x1.974d4cp+6 +0x1.21a694p+7 +0x1.09ee9p+6 +0x1.8da5e2p+6 +0x1.a53a84p+4 +0x1.2f88c2p+6 +0x1.a794cp+5 +0x1.492ad6p+7 +0x1.c193e2p+3 +0x1.7520acp+4 +0x1.0c38bep+12 +0x1.336138p+1 +0x1.5da286p+4 +0x1.5c3f0cp+5 +0x1.5b2682p+4 +0x1.7d1ee6p+4 +0x1.100e26p+4 +0x1.48bf14p+4 +0x1.76e08ap+3 +0x1.faf66p+5 +0x1.00c63ep+5 +0x1.e1be16p+5 +0x1.282bc8p+2 +0x1.f780fap-1 +0x1.74974ap+3 +0x1.07bd6p+6 +0x1.de8d6ep+4 +0x1.12cf22p+5 +0x1.815c06p+1 +0x1.b8b4bep+6 +0x1.d28abp+5 +0x1.34681cp+5 +0x1.f2776ap+3 +0x1.b54d16p-1 +0x1.4ac1dp+5 +0x1.287de8p+3 +0x1.c306c2p+6 +0x1.a2e314p+2 +0x1.455e6ep+5 +0x1.7a909cp+4 +0x1.5acc4ep+2 +0x1.3ff2eap+5 +0x1.32fd12p+14 +0x1.9a24aep+0 +0x1.f52cdp+3 +0x1.199b7cp+5 +0x1.33e5cep+0 +0x1.f912ap+11 +0x1.c79c6ep+4 +0x1.a3bc74p+4 +0x1.4bfbc2p+13 +0x1.92d11ap+7 +0x1.a11376p+7 +0x1.3d0dd8p+6 +0x1.f8961ep+16 +0x1.360ea2p+10 +0x1.80118p+6 +0x1.38ecc6p+6 +0x1.8b4f9p+3 +0x1.73bbbap+10 +0x1.528172p+13 +0x1.a5600ep+2 +0x1.4601eep+15 +0x1.032c88p+6 +0x1.284fc4p+6 +0x1.22f882p+4 +0x1.2faa22p+16 +0x1.233af6p+5 +0x1.a18d6ap+12 +0x1.35c604p+9 +0x1.7df98cp+7 +0x1.0b498ep+7 +0x1.d0b864p+3 +0x1.2f4f78p+15 +0x1.3e7d54p+3 +0x1.8b42c8p+5 +0x1.84f1a2p+2 +0x1.310048p+8 +0x1.19965ep+5 +0x1.afd6c4p+5 +0x1.0a9726p+6 +0x1.bbfd6p+5 +0x1.40fe8ep+5 +0x1.43010cp+4 +0x1.ea827ap+3 +0x1.a3d5bap+5 +0x1.5e23fcp+6 +0x1.09bf5cp+6 +0x1.c36e9ap+5 +0x1.167a84p+0 +0x1.4bc048p+18 +0x1.e970f6p+16 +0x1.a53496p+1 +0x1.b88fep+3 +0x1.efe79p+4 +0x1.40228cp+5 +0x1.0aef22p+14 +0x1.9d6e72p+6 +0x1.21e83ap+6 +0x1.10770ep+7 +0x1.015c9ap+3 +0x1.6295a2p+5 +0x1.64e30cp+4 +0x1.b18ed8p+5 +0x1.ff2568p+12 +0x1.eec2ap-1 +0x1.25e2b6p+4 +0x1.cfcf6ep-2 +0x1.8d9de4p+12 +0x1.2ac106p+15 +0x1.9ea932p+4 +0x1.f370ccp+5 +0x1.2e72bcp+4 +0x1.b26694p+18 +0x1.7d7266p+18 +0x1.cf22b8p+4 +0x1.e47dbp+2 +0x1.1c7deep+5 +0x1.ac931ep+3 +0x1.3698d2p+2 +0x1.df97a6p+4 +0x1.adec16p+5 +0x1.7ec80cp+5 +0x1.95f1f8p-1 +0x1.2ffd4ap+10 +0x1.e131e2p+5 +0x1.288a04p+2 +0x1.78da1p-5 +0x1.68da42p+3 +0x1.45b868p+3 +0x1.ce7e4cp+5 +0x1.0943f6p+2 +0x1.66858p+5 +0x1.27f88p+15 +0x1.2499fcp+9 +0x1.f621cap+4 +0x1.6262a4p+12 +0x1.799f5ap+16 +0x1.02e32ap+5 +0x1.6efd5ap+2 +0x1.a66614p+5 +0x1.526db2p+2 +0x1.b1efd8p+4 +0x1.f5ba06p+4 +0x1.3bb584p+6 +0x1.29b5dep+18 +0x1.76ca8cp+5 +0x1.a63cbcp-3 +0x1.26bc9cp+4 +0x1.0eaf3ep+13 +0x1.3a5c7ap+17 +0x1.9d5102p+5 +0x1.878b64p+3 +0x1.c7c48ap+1 +0x1.12cc56p+10 +0x1.382746p+6 +0x1.4ebb08p+13 +0x1.c93eaap-1 +0x1.0b5794p+5 +0x1.356e5ap+0 +0x1.65691ap+6 +0x1.dd00bap+5 +0x1.5e8c3ap+1 +0x1.8f8a68p+3 +0x1.5d256ep+7 +0x1.08903ep+6 +0x1.f28a2cp+3 +0x1.0e9b28p+2 +0x1.939adcp+3 +0x1.68ce68p+6 +0x1.d4e74p+5 +0x1.4535dp+5 +0x1.c45122p+5 +0x1.4f74ecp+15 +0x1.4d1b3p+5 +0x1.f15cf6p+12 +0x1.b99884p+14 +0x1.1688c4p+6 +0x1.bd467cp+10 +0x1.555932p+3 +0x1.48bab8p+7 +0x1.991642p+5 +0x1.268e2ap+3 +0x1.8343acp+5 +0x1.056a84p+10 +0x1.d86298p+5 +0x1.41b39ap+5 +0x1.291b34p+3 +0x1.a82f62p+5 +0x1.01f748p+4 +0x1.b2bcd6p+4 +0x1.1d464ap+1 +0x1.4867cap+4 +0x1.8559b2p+10 +0x1.d92eb8p+4 +0x1.f7dfd2p+4 +0x1.485854p+4 +0x1.92cb4ap+5 +0x1.53fac2p+6 +0x1.eab71p+6 +0x1.4ef226p+14 +0x1.3dd3dcp+4 +0x1.8466d4p+5 +0x1.a65992p+6 +0x1.17fbc8p+6 +0x1.141bb2p+5 +0x1.224564p+6 +0x1.7202aep+0 +0x1.1d39e4p+2 +0x1.02d722p+4 +0x1.d3a0fap+11 +0x1.277f5ep+2 +0x1.b23fb4p+4 +0x1.8ae0fep+3 +0x1.b03b3p-1 +0x1.89b79ap+6 +0x1.994e16p+6 +0x1.59beb2p+2 +0x1.7983b2p+5 +0x1.7514d6p+12 +0x1.16724ep+4 +0x1.4ed2cep+5 +0x1.eb46dap+5 +0x1.3db1f2p+5 +0x1.12c4d6p+1 +0x1.6531e4p+3 +0x1.676472p+4 +0x1.f80f14p+4 +0x1.5efc4ap+6 +0x1.dfb82ep+0 +0x1.17a0d4p+0 +0x1.20b962p+7 +0x1.a8257ep+6 +0x1.c07e8cp+6 +0x1.85eb4ap-4 +0x1.6f8a5cp-3 +0x1.f72d16p+5 +0x1.670b52p+6 +0x1.9df70ap+6 +0x1.48cfdep+4 +0x1.3890ccp+1 +0x1.a07a98p+3 +0x1.c7b43p+5 +0x1.0e6094p+6 +0x1.147dbap+10 +0x1.14659ep+4 +0x1.a62698p+5 +0x1.db66bp+5 +0x1.7b4bcap+3 +0x1.8eb94p+4 +0x1.79cfp+15 +0x1.2fbf2ep+6 +0x1.58cb82p+7 +0x1.814c4ap+4 +0x1.c9cc36p+5 +0x1.e7bd5ep+2 +0x1.83850ap+5 +0x1.30692p+5 +0x1.74b006p+5 +0x1.98de4ep+2 +0x1.57a254p+5 +0x1.2b70cp+3 +0x1.92bd98p+2 +0x1.9446f6p+5 +0x1.fbbe58p+5 +0x1.203796p+5 +0x1.91e9c2p+5 +0x1.4299b6p+9 +0x1.0440b8p+7 +0x1.caa52p+5 +0x1.0313eap+5 +0x1.f0d5f4p+4 +0x1.65e462p+12 +0x1.19b952p+5 +0x1.07adep+5 +0x1.15db68p+6 +0x1.6a2dc8p+9 +0x1.5dac34p+5 +0x1.1be262p+6 +0x1.b6c96ep+2 +0x1.62bea2p+4 +0x1.b4c86ap+4 +0x1.850e8cp+5 +0x1.6f7188p-1 +0x1.6e3c42p+5 +0x1.a978f8p+3 +0x1.350106p+14 +0x1.a6aa36p+6 +0x1.616128p+4 +0x1.7de324p+16 +0x1.34debcp+6 +0x1.edfb58p+9 +0x1.b496acp+1 +0x1.0308e4p+5 +0x1.0f4ea2p+6 +0x1.0f9f4cp+3 +0x1.f0aaa4p+12 +0x1.29551p+6 +0x1.2a1be6p+6 +0x1.b53ca8p+5 +0x1.204252p+6 +0x1.d73ac6p+16 +0x1.1762c8p+6 +0x1.6ed0a6p+3 +0x1.286bb6p+4 +0x1.e846eap+15 +0x1.7a589ap+4 +0x1.3ed4bcp+6 +0x1.0cd212p+13 +0x1.828564p+7 +0x1.3a4312p+5 +0x1.2a16cp+2 +0x1.0c7798p+1 +0x1.010e1cp+0 +0x1.1f6252p+2 +0x1.b6c8bcp+5 +0x1.12cc74p+6 +0x1.51aa2p+5 +0x1.9ad7acp+5 +0x1.b96b7cp+3 +0x1.599a22p+4 +0x1.13018cp+12 +0x1.90ad8cp+2 +0x1.f51e64p+1 +0x1.d43852p+5 +0x1.708ae8p+3 +0x1.6d1704p+6 +0x1.32d01ap+17 +0x1.32d54p+4 +0x1.3643dcp+2 +0x1.9bd96ep+1 +0x1.1bfd28p+3 +0x1.8a7beap+18 +0x1.6999b4p+2 +0x1.f42e4ep+4 +0x1.89c716p+13 +0x1.06d47p-1 +0x1.27391cp+6 +0x1.28c98p+14 +0x1.7a59dap+5 +0x1.f2a5f4p+5 +0x1.0c3aa6p+6 +0x1.7b238cp+5 +0x1.15f83cp+2 +0x1.12247ap+0 +0x1.53ce1p+6 +0x1.eb9058p-1 +0x1.f9bafcp+4 +0x1.84c912p+10 +0x1.199c3p+3 +0x1.3aaf14p-1 +0x1.5cdcaep+4 +0x1.99de7ap+0 +0x1.adaed6p+2 +0x1.258116p+7 +0x1.3144dep+0 +0x1.576eb4p+4 +0x1.cf9e6p+5 +0x1.113736p+6 +0x1.0e8e9ap+15 +0x1.319cb2p+5 +0x1.0b5e28p+11 +0x1.1a3bfep+6 +0x1.be5a24p+8 +0x1.5b8abep+19 +0x1.38e1ecp+5 +0x1.fe7332p+3 +0x1.655042p+11 +0x1.8fedeep+4 +0x1.316c08p+3 +0x1.abf7ap+5 +0x1.3134d6p+5 +0x1.24a92ap+5 +0x1.f5302ep+2 +0x1.80bd06p+11 +0x1.4f0e0ap+16 +0x1.806834p+3 +0x1.ac9fbp+6 +0x1.f5aa28p+2 +0x1.16fe72p+5 +0x1.e61842p+4 +0x1.491434p+17 +0x1.3c5ec8p+16 +0x1.f52a6cp+5 +0x1.272cap+5 +0x1.970c36p+13 +0x1.63161ep+8 +0x1.2bedb6p+1 +0x1.1465e2p+9 +0x1.100bf8p+5 +0x1.336368p-2 +0x1.513a7ep+6 +0x1.2ddd7p+4 +0x1.21b25ap+10 +0x1.c8c87p+9 +0x1.353e5p+1 +0x1.753e5p+4 +0x1.11b8eep+5 +0x1.0969aap+14 +0x1.54c134p+9 +0x1.9b4fdcp+3 +0x1.44f6a4p+3 +0x1.800cbp+4 +0x1.29c562p+1 +0x1.209feep+4 +0x1.d05592p+5 +0x1.347f92p+5 +0x1.22eecp+17 +0x1.19b518p+4 +0x1.2f450cp+16 +0x1.07657ep+8 +0x1.640b8ap+7 +0x1.6de7fap+10 +0x1.01df76p+6 +0x1.503938p+5 +0x1.f0d0e2p+4 +0x1.48fb1cp+5 +0x1.e5abdp+6 +0x1.d13dbep+2 +0x1.6b1c54p+12 +0x1.83e84ep+6 +0x1.d86976p+5 +0x1.1dcedep+5 +0x1.83bb2cp+5 +0x1.1a0cc8p+3 +0x1.41d1aap+14 +0x1.8cabbp+4 +0x1.0ab6bcp+4 +0x1.2990e2p+5 +0x1.3b706ap+5 +0x1.9c7e96p+5 +0x1.eeaec8p+4 +0x1.7ea624p+6 +0x1.3d0e18p+3 +0x1.7571b4p+16 +0x1.af0132p+5 +0x1.110094p+14 +0x1.3c596ap+5 +0x1.4d3134p+1 +0x1.33931ap+5 +0x1.6fb5bp+13 +0x1.61dddp+3 +0x1.c0a2p+3 +0x1.7ed22ap+2 +0x1.e51b52p+3 +0x1.94078ep+5 +0x1.be311ep+5 +0x1.980b48p+5 +0x1.a61ec2p+5 +0x1.1880d2p+4 +0x1.2f7508p+13 +0x1.bb18aep+4 +0x1.167c6ap+5 +0x1.80dfdep+5 +0x1.561d1ep+5 +0x1.2489e2p+4 +0x1.117b58p+5 +0x1.2e265ap+5 +0x1.df9dfap+5 +0x1.4f62d8p+6 +0x1.9285ecp+5 +0x1.421888p+2 +0x1.53e3cep+0 +0x1.0a45f6p+4 +0x1.b17128p+4 +0x1.86c39cp+1 +0x1.52e194p+3 +0x1.78ca56p+5 +0x1.4093c8p+5 +0x1.2313bap+15 +0x1.47dd4cp+4 +0x1.64fd5ap+3 +0x1.0d8b72p+4 +0x1.60c566p+4 +0x1.9ea752p+3 +0x1.1a719ap+4 +0x1.3c403ap+7 +0x1.10aee2p+14 +0x1.d8c5a2p+4 +0x1.f018a6p+4 +0x1.6b109ep+6 +0x1.2a459cp+4 +0x1.5a2774p+6 +0x1.606ed4p+5 +0x1.47787p+13 +0x1.686706p+4 +0x1.7aba24p+17 +0x1.039d5ap+5 +0x1.5c4cacp+6 +0x1.d583cap+5 +0x1.571aep+5 +0x1.03b37cp+4 +0x1.72d03cp+13 +0x1.6ac67ap+9 +0x1.2ebbeap+5 +0x1.cc0f58p+2 +0x1.55480cp+4 +0x1.4d9424p+4 +0x1.91c7d2p+6 +0x1.ceb3ecp+5 +0x1.008faep+6 +0x1.814d62p+4 +0x1.74c6e4p+3 +0x1.6df99ep+6 +0x1.315c7ap+4 +0x1.6db018p+5 +0x1.9700e6p+10 +0x1.5275f8p+3 +0x1.2295ap+11 +0x1.b32cfep+5 +0x1.b55f9ap+5 +0x1.41184ep+6 +0x1.bcbd94p+0 +0x1.aeac32p-2 +0x1.b3174cp+11 +0x1.20f02p+5 +0x1.3824a4p+6 +0x1.4cb2aap+8 +0x1.8318bap+6 +0x1.098224p+5 +0x1.84e268p+4 +0x1.19f5b4p+5 +0x1.469724p+16 +0x1.bed53cp+3 +0x1.07b472p+2 +0x1.9939d4p+0 +0x1.5984d6p+6 +0x1.22449ep+6 +0x1.4692ap+2 +0x1.3d40a6p+3 +0x1.27b0d6p+3 +0x1.06af6ep+5 +0x1.0c31bcp+1 +0x1.45a8cep+6 +0x1.651a64p+6 +0x1.b2e348p+0 +0x1.2f4206p+4 +0x1.873936p+5 +0x1.d0921cp+9 +0x1.72b708p+3 +0x1.be69ccp+5 +0x1.cc4cfp+1 +0x1.b1f2d4p+6 +0x1.67d4acp+3 +0x1.55bc7cp+5 +0x1.b3d006p+6 +0x1.26f6bap+4 +0x1.316274p+0 +0x1.7ae894p+4 +0x1.8c8ec8p+6 +0x1.ff41b2p+5 +0x1.6cfe6ap+5 +0x1.48374ep+4 +0x1.7fd932p+1 +0x1.9ed82p+5 +0x1.279ef6p+18 +0x1.80e3fp+5 +0x1.6bb788p+5 +0x1.5fc2e8p+1 +0x1.d4ce4ap+11 +0x1.e83c6ep+8 +0x1.520f2cp-1 +0x1.2cad32p+6 +0x1.d77316p+5 +0x1.c1a104p+0 +0x1.d7372cp+4 +0x1.06e422p+4 +0x1.4e7dfp+5 +0x1.adba3ap+8 +0x1.0f6806p+6 +0x1.b0e4e8p+10 +0x1.3084c6p+5 +0x1.275288p+5 +0x1.0061bap+5 +0x1.67e2bep+2 +0x1.f3dff4p+2 +0x1.9d6172p+4 +0x1.5045fep+10 +0x1.2ece1ap+4 +0x1.0bdabap+6 +0x1.bc31a6p+4 +0x1.0d06e8p+5 +0x1.d3c106p+3 +0x1.5f2a98p+18 +0x1.2a3bb8p+3 +0x1.9281b6p-2 +0x1.d1a63ap+4 +0x1.094202p+5 +0x1.91decp+4 +0x1.69017ep+18 +0x1.51baacp+9 +0x1.0771cp+3 +0x1.e91096p+9 +0x1.d516dcp+14 +0x1.e369f2p+12 +0x1.1f61aep+5 +0x1.36c92ep+4 +0x1.3ccd4cp+7 +0x1.cc8b52p+5 +0x1.13daf2p+5 +0x1.a598d8p+5 +0x1.7ad03p+1 +0x1.458932p+7 +0x1.05fd8ap+1 +0x1.145cc6p+5 +0x1.f8b668p+4 +0x1.9aaa32p+6 +0x1.41e3fcp+4 +0x1.aeb1bcp+4 +0x1.2594bap+6 +0x1.b5244p+4 +0x1.bab4a8p+5 +0x1.dd7c08p+13 +0x1.ce656ap+4 +0x1.536b3p+6 +0x1.5c49ccp+5 +0x1.ce4ed6p+4 +0x1.03e59ap+5 +0x1.265bdap+5 +0x1.965362p+9 +0x1.a79a4ap+5 +0x1.e6c0ap+5 +0x1.f2b544p+5 +0x1.12d152p+6 +0x1.bdc49cp+5 +0x1.069d78p+5 +0x1.4af7e4p+6 +0x1.a4da7ep+4 +0x1.c8fe4cp+6 +0x1.05049p+4 +0x1.0f8298p+5 +0x1.676d1ap+7 +0x1.10d87p+5 +0x1.4f2a5p+9 +0x1.0f3d6p+6 +0x1.c7fa14p+6 +0x1.8db1fep+4 +0x1.3385ap+3 +0x1.78c934p+5 +0x1.f7dc78p-2 +0x1.239392p+3 +0x1.89cb34p+5 +0x1.6872b6p+5 +0x1.b7dd82p+3 +0x1.304986p+11 +0x1.ef362ap+5 +0x1.62f8c6p+4 +0x1.08be72p+6 +0x1.46d104p+5 +0x1.ce7c1p+4 +0x1.9ac1c2p+3 +0x1.b44892p+3 +0x1.d7e152p+4 +0x1.bbaec2p+4 +0x1.6d2af4p+1 +0x1.1fb1b2p+13 +0x1.73db6ap+5 +0x1.79489p+7 +0x1.425494p+5 +0x1.7c573cp+2 +0x1.9843ap+6 +0x1.879446p+4 +0x1.206e68p+3 +0x1.3ce3b2p+16 +0x1.db27dap+5 +0x1.aa9696p+5 +0x1.50f584p+2 +0x1.2dfbe4p+5 +0x1.f65e7cp+3 +0x1.256a8p+4 +0x1.151eb4p+11 +0x1.9761c4p+4 +0x1.657488p+14 +0x1.c3ba44p+0 +0x1.3f57d4p+4 +0x1.e27f52p+3 +0x1.074fd4p+5 +0x1.cdcfd2p+1 +0x1.f388acp+5 +0x1.a3a784p+5 +0x1.9f609ep+5 +0x1.068308p+3 +0x1.017128p+8 +0x1.5f4e24p-1 +0x1.abc55p+6 +0x1.e503aep+4 +0x1.188d7ap+6 +0x1.301134p+6 +0x1.4613f6p+6 +0x1.e493a2p+6 +0x1.f624bep+4 +0x1.89927p+12 +0x1.f124f2p+3 +0x1.053e6ap+3 +0x1.552d06p+5 +0x1.2316a2p+5 +0x1.bfb3ep+5 +0x1.798f6ap+7 +0x1.d7f194p+4 +0x1.812184p+6 +0x1.8ce314p+12 +0x1.2e0dd4p-3 +0x1.2c3b4ap+9 +0x1.18c3ecp+7 +0x1.0b426ep+6 +0x1.5bc4cep+6 +0x1.eff6d6p+5 +0x1.af7d7ap+5 +0x1.be264ep+4 +0x1.eefc2ep+3 +0x1.2333a4p+12 +0x1.1aa968p+3 +0x1.703332p+13 +0x1.98b64p+15 +0x1.81240cp+3 +0x1.cab8p+2 +0x1.bef132p+8 +0x1.11398p+11 +0x1.8b1e8p+5 +0x1.866074p+5 +0x1.3ebf1ap+10 +0x1.761d88p+10 +0x1.3514cp+6 +0x1.f5eacap+4 +0x1.9baa72p+5 +0x1.182bf8p+6 +0x1.0697ap+6 +0x1.faf9b8p+1 +0x1.b0b76p+3 +0x1.01feb4p+6 +0x1.0718d8p+3 +0x1.bd173ep+13 +0x1.d1b022p+4 +0x1.dd683p+4 +0x1.44ef26p+5 +0x1.300166p+3 +0x1.3c9e48p+0 +0x1.b570cep+5 +0x1.818e4cp+5 +0x1.3ef226p+1 +0x1.9ff7e8p+5 +0x1.c623d4p+3 +0x1.321b52p+13 +0x1.c8066cp+3 +0x1.724b82p+13 +0x1.086f58p+5 +0x1.fffb1p+4 +0x1.074abcp+6 +0x1.0c7976p+6 +0x1.8f6cd8p+3 +0x1.e2bf7ap+5 +0x1.f0b35ep+0 +0x1.a0a5fp+6 +0x1.69ab86p+5 +0x1.7db6bep+5 +0x1.59e652p+10 +0x1.1f282ap+6 +0x1.45e5f4p+3 +0x1.0c67cp+5 +0x1.5f2ff6p+3 +0x1.50aeecp+14 +0x1.4b6c22p+6 +0x1.8113ccp+5 +0x1.fd0ba6p+11 +0x1.022ad2p+1 +0x1.56919ap+8 +0x1.37a39ep+6 +0x1.e7f31ap+2 +0x1.37f0ep+1 +0x1.e41e06p+5 +0x1.a2b4ap+10 +0x1.f0fea8p+5 +0x1.9fe0bep+0 +0x1.a8bbp+0 +0x1.c9ffecp+7 +0x1.e4dbc2p+4 +0x1.1fbf7p+6 +0x1.9c0b36p-2 +0x1.a47c5ep+13 +0x1.df22ccp-2 +0x1.4a00c8p+4 +0x1.0d226ap+1 +0x1.9d0dc8p+6 +0x1.e1692cp+3 +0x1.aff2bep+4 +0x1.e2544p-2 +0x1.49f90ap+6 +0x1.3cf876p+6 +0x1.10759ep-3 +0x1.56a2aap+5 +0x1.2e2fep+6 +0x1.5c20b6p+4 +0x1.142b7cp+4 +0x1.8e3504p+5 +0x1.2f8bcep+4 +0x1.3af996p+4 +0x1.8709fp+3 +0x1.cae56ep+5 +0x1.104c6p+2 +0x1.f9bc3cp+3 +0x1.e8c68p+17 +0x1.c0fe94p+2 +0x1.38a07cp+6 +0x1.3bb076p+11 +0x1.e0ac76p+4 +0x1.e85db2p+6 +0x1.b691aap+0 +0x1.6ace24p+5 +0x1.1a3256p+2 +0x1.1437bep+0 +0x1.00ad94p+8 +0x1.71eb5ap+2 +0x1.2a244p+4 +0x1.983698p+6 +0x1.8be5fp+5 +0x1.90b6f4p+5 +0x1.077792p+1 +0x1.1617c2p+6 +0x1.09a348p+6 +0x1.b9771p+15 +0x1.dc123cp+4 +0x1.d92e3cp+6 +0x1.95fb16p+3 +0x1.31c434p+2 +0x1.a90f84p+5 +0x1.5e2a3ap+5 +0x1.dd0d8cp+3 +0x1.d1ec1p+6 +0x1.a2b52p+5 +0x1.2d6cacp+1 +0x1.c67596p+15 +0x1.0c898ap+4 +0x1.56098ep+14 +0x1.0cffdcp+2 +0x1.5d148ap+5 +0x1.1a6d28p+4 +0x1.3cd9dp+6 +0x1.2bd832p+4 +0x1.231e5cp+4 +0x1.7a0d4cp+5 +0x1.414026p+6 +0x1.28326p+9 +0x1.c27d5ap+1 +0x1.3111d6p+6 +0x1.4cfacp+7 +0x1.dbd1d8p+5 +0x1.0edcf6p+4 +0x1.60dceap+5 +0x1.10d91ep+4 +0x1.246404p+3 +0x1.214254p+5 +0x1.064342p+5 +0x1.cf947p+13 +0x1.31d2f2p+1 +0x1.157c4p+7 +0x1.c13202p+12 +0x1.1b79aep+6 +0x1.cd97bp+4 +0x1.e042e8p+5 +0x1.4d7cb4p+1 +0x1.9ff98cp+6 +0x1.ce0524p+1 +0x1.ef56eap+5 +0x1.2464a4p+4 +0x1.9433ccp+6 +0x1.cf958cp+0 +0x1.e287eep+6 +0x1.25354p+5 +0x1.6f678p+4 +0x1.d71882p+4 +0x1.6d577p+17 +0x1.755618p+6 +0x1.483a32p+5 +0x1.8e33dp+4 +0x1.2eac8cp+6 +0x1.2742f4p+3 +0x1.4feec2p+3 +0x1.b37f2cp-1 +0x1.f5922cp+4 +0x1.7d31ep+7 +0x1.87bb94p+6 +0x1.99fddap+5 +0x1.eee8c8p+3 +0x1.d7ffc6p+10 +0x1.f97a1ep+4 +0x1.2a2bbcp+7 +0x1.09dc4ep+5 +0x1.610bfp+2 +0x1.906ff4p+5 +0x1.0b131cp+5 +0x1.1c103ep+5 +0x1.30db9p+3 +0x1.fe8bb4p+5 +0x1.772072p+0 +0x1.e19908p+9 +0x1.25a5bap+3 +0x1.6d7232p+4 +0x1.9463d8p-2 +0x1.0b1128p+6 +0x1.fe1032p+2 +0x1.8bc5d8p+6 +0x1.95b07ep+2 +0x1.91979ep+9 +0x1.36fb6cp+5 +0x1.d08d94p+5 +0x1.0cf618p+2 +0x1.79fe9p+4 +0x1.097264p+5 +0x1.2f2906p+2 +0x1.d79186p+1 +0x1.25c77ep+6 +0x1.0fc6c4p+17 +0x1.6367aep+5 +0x1.ef554ep+5 +0x1.1c1ce8p+6 +0x1.0317e8p+4 +0x1.9f972cp+5 +0x1.17e09ep+0 +0x1.f66aap+5 +0x1.55215ap+3 +0x1.c1616ep+4 +0x1.2b37ecp+5 +0x1.5eedd8p+7 +0x1.da0cb2p+5 +0x1.3f5a26p+4 +0x1.4ba522p+3 +0x1.17cf56p+6 +0x1.b70c98p+3 +0x1.7d09fcp+6 +0x1.530c0ap+3 +0x1.d32bc2p+5 +0x1.90b0fap+5 +0x1.a0fe74p+4 +0x1.f0b512p+5 +0x1.7310bcp+6 +0x1.b71fdap+8 +0x1.01968cp+5 +0x1.5e6004p+3 +0x1.01a47cp+6 +0x1.aa8bc8p+5 +0x1.9e499ep+13 +0x1.de48b2p+4 +0x1.0421cep+0 +0x1.ba11a8p+5 +0x1.816b4ep+2 +0x1.8149b4p+3 +0x1.f100eep+3 +0x1.81663ep+3 +0x1.b55764p+0 +0x1.8d02dcp-1 +0x1.875606p+6 +0x1.34ded8p+5 +0x1.f5ce3cp+1 +0x1.3e836ep+6 +0x1.665a2cp+8 +0x1.a125ep+5 +0x1.01829cp+7 +0x1.701a3cp+4 +0x1.66da94p+4 +0x1.34092ap+7 +0x1.17cddep+2 +0x1.6a9a76p+6 +0x1.9f6672p+5 +0x1.30a26ep+5 +0x1.9fde5p+4 +0x1.1b6bfap+3 +0x1.6f2d16p+4 +0x1.a0596p+4 +0x1.923376p+5 +0x1.300cb2p+5 +0x1.67c1dp+2 +0x1.12838cp+16 +0x1.4f279ap+5 +0x1.87e61p+5 +0x1.8bfb62p+3 +0x1.c70e7cp+5 +0x1.209f3p+16 +0x1.eca7a6p+3 +0x1.9c5ap+1 +0x1.7b8b08p+5 +0x1.7c4fd2p+13 +0x1.0c63fp+5 +0x1.227acap+4 +0x1.c50fb6p+4 +0x1.b91d68p+12 +0x1.c833ccp+1 +0x1.391552p+5 +0x1.f53accp+14 +0x1.0f2168p+4 +0x1.41865p+3 +0x1.d98f66p+4 +0x1.5419b6p+15 +0x1.a5d3cep+4 +0x1.b32b06p+6 +0x1.7aefccp+5 +0x1.3f404cp+6 +0x1.f8f478p+3 +0x1.e1adfp+5 +0x1.0bc57p+6 +0x1.6fed78p+4 +0x1.bbe03ep+4 +0x1.5250ap+6 +0x1.313734p+12 +0x1.d82ba8p+14 +0x1.cee39ep+8 +0x1.ec8e46p+3 +0x1.74991cp+7 +0x1.c2ba2ap+6 +0x1.216c18p+6 +0x1.dfdae2p+3 +0x1.08c358p+8 +0x1.f7f3a2p+1 +0x1.45fb54p+4 +0x1.ad26ep+4 +0x1.01c5bep+4 +0x1.95c1f8p+11 +0x1.5b260ep+5 +0x1.251604p+5 +0x1.3de65p+14 +0x1.89d134p+2 +0x1.2cd12p+11 +0x1.292e16p+6 +0x1.5a8afcp+5 +0x1.81adbap+4 +0x1.c39be2p+5 +0x1.0eaaaep+5 +0x1.3d24c2p+7 +0x1.e21b72p+5 +0x1.1ab832p+5 +0x1.3249ecp+5 +0x1.b38072p+0 +0x1.455ecap+4 +0x1.0dfe7ep+1 +0x1.f7b0b8p+5 +0x1.2ca4cap+5 +0x1.8ca1p+4 +0x1.161b78p+6 +0x1.3b768p+16 +0x1.f88462p+3 +0x1.3896e6p+5 +0x1.fc72b2p+4 +0x1.a0ef4ap+5 +0x1.c265c2p+5 +0x1.15e9fcp+2 +0x1.30952ep+5 +0x1.10a1f8p+5 +0x1.90d878p+4 +0x1.347cap+1 +0x1.1ed17ep+12 +0x1.758feap+1 +0x1.1bde5cp+11 +0x1.5b8b16p+1 +0x1.f4b5eep+5 +0x1.60e366p+4 +0x1.34f25ap+11 +0x1.bd4a42p+2 +0x1.ea89bep+3 +0x1.068648p+5 +0x1.798f8cp+6 +0x1.b01604p+5 +0x1.16d65ep+6 +0x1.0cea5cp+6 +0x1.cb1d2cp-2 +0x1.4f7b6cp+3 +0x1.7dfd16p+14 +0x1.54e6e6p+5 +0x1.85fa2cp+4 +0x1.06b256p+5 +0x1.d02fdep+7 +0x1.8424dap+5 +0x1.7bce16p+3 +0x1.6ff9a8p+5 +0x1.898914p+4 +0x1.4a40b8p+12 +0x1.ff26aap+6 +0x1.030c12p+6 +0x1.1037d6p+5 +0x1.c57beap+5 +0x1.253baap+4 +0x1.58b2b8p+13 +0x1.0e9b82p+5 +0x1.03c96p-1 +0x1.43c5f6p+3 +0x1.337bap+6 +0x1.38dfdap+0 +0x1.357898p+8 +0x1.8ad37cp+3 +0x1.c22ed2p+3 +0x1.7c228ep+5 +0x1.aaa7ap+9 +0x1.fc877ap+10 +0x1.33a62ap+14 +0x1.22c02cp+2 +0x1.a46054p+4 +0x1.37d672p+6 +0x1.1099f6p+4 +0x1.28d88ep+6 +0x1.3889f4p+6 +0x1.f988a2p+4 +0x1.cfc324p+5 +0x1.ed1cb4p+3 +0x1.e1109p+1 +0x1.3f4b7p+5 +0x1.5ab35ap+6 +0x1.7117dcp+5 +0x1.a99678p+5 +0x1.308aaap+3 +0x1.153b2ep+17 +0x1.8f9788p+18 +0x1.002ed2p-1 +0x1.a0a244p+6 +0x1.5a8c0ep+6 +0x1.7f11e6p+5 +0x1.ee212ep+4 +0x1.384a62p+6 +0x1.250174p+2 +0x1.6912e2p+5 +0x1.242262p+7 +0x1.e81dcp+2 +0x1.846e82p+5 +0x1.fe86c4p+14 +0x1.445c7cp+3 +0x1.6c808p+6 +0x1.efa9f2p+1 +0x1.4589c4p+3 +0x1.380ceap+4 +0x1.83cf5ep+0 +0x1.4038b8p+5 +0x1.bca3eep+9 +0x1.04e192p+4 +0x1.df032ap+3 +0x1.f2671p+4 +0x1.49138ap+4 +0x1.061dcap+6 +0x1.c57688p+10 +0x1.24de3ep+6 +0x1.f9c148p+10 +0x1.d3d2fap+5 +0x1.aa15b2p+5 +0x1.383476p+5 +0x1.239056p+6 +0x1.c3e03p+15 +0x1.598938p+8 +0x1.72d91p+6 +0x1.e2b316p+6 +0x1.1f7a02p+6 +0x1.a1b884p+2 +0x1.c42ecep+3 +0x1.2351e6p+11 +0x1.25ed0ep+4 +0x1.bfc202p+3 +0x1.bcd718p+4 +0x1.7fa522p+17 +0x1.8c3ab4p+2 +0x1.17fc42p+7 +0x1.04b126p+1 +0x1.606086p+11 +0x1.516a8ep+11 +0x1.49cf92p+5 +0x1.22d6b2p+3 +0x1.b129cp+5 +0x1.7bbb6cp+5 +0x1.c4aff8p+12 +0x1.3be682p+6 +0x1.760254p+5 +0x1.93dff4p+4 +0x1.52e45cp+6 +0x1.9faa3p+10 +0x1.e9a7aap-2 +0x1.0e2a8cp+2 +0x1.5e431cp+6 +0x1.731984p+4 +0x1.52004ap+5 +0x1.194d24p+5 +0x1.6e344ep+2 +0x1.1bd48cp+8 +0x1.ce0786p+5 +0x1.bd2f32p+4 +0x1.7b3b1cp+6 +0x1.470468p+5 +0x1.028deap+17 +0x1.33f904p+3 +0x1.724946p+5 +0x1.aa26c2p+5 +0x1.2263acp+1 +0x1.9ecb28p+4 +0x1.02dcb4p+3 +0x1.027308p+4 +0x1.d3962p-3 +0x1.3d17dep+1 +0x1.0ed5c4p+5 +0x1.f35846p+14 +0x1.7f005cp+3 +0x1.92bc7cp+4 +0x1.5da4c4p+11 +0x1.18912p+4 +0x1.8657ccp+3 +0x1.289a1ap+7 +0x1.53c32ep+2 +0x1.0ee94cp+4 +0x1.e9dc4cp+8 +0x1.f8b68cp+4 +0x1.bdef38p+0 +0x1.1b19e6p+6 +0x1.335546p+6 +0x1.99d0b4p+0 +0x1.af2d8ep+6 +0x1.008988p+6 +0x1.52ba96p+5 +0x1.663c2cp+6 +0x1.4ac7eep+5 +0x1.b47f2cp+9 +0x1.b4f04ep+5 +0x1.1e9ca4p+3 +0x1.2fec94p+5 +0x1.18c2eep+14 +0x1.7bf5fap+4 +0x1.33b6e2p+5 +0x1.2a42d6p+2 +0x1.8669c6p+3 +0x1.d2a152p+5 +0x1.19b222p+2 +0x1.f8885ap+2 +0x1.39a1c4p+7 +0x1.bd1b42p+5 +0x1.32d0e2p+19 +0x1.40641ep+4 +0x1.ff75fep+1 +0x1.b356dep+2 +0x1.04486ap+4 +0x1.282ec2p+4 +0x1.063f6cp+11 +0x1.37132ep+5 +0x1.0d4a3cp+16 +0x1.614e6ep+6 +0x1.321c7ep+9 +0x1.29767p+6 +0x1.f525e6p+12 +0x1.374912p+8 +0x1.cec1b8p+3 +0x1.a543eap+4 +0x1.ec44e6p+4 +0x1.dbd052p+4 +0x1.8f5f0ep+3 +0x1.7cdc7ap+1 +0x1.620cf6p+5 +0x1.271c5ap-3 +0x1.010a6ep+6 +0x1.1b51c2p+5 +0x1.651726p+5 +0x1.f16716p-3 +0x1.d7fef8p+4 +0x1.3c6afp+5 +0x1.4aebf8p+5 +0x1.5813f8p+4 +0x1.c83cap+1 +0x1.8475fep+6 +0x1.6aec82p+4 +0x1.2332bcp+5 +0x1.0ac8e8p+5 +0x1.44b4d4p+5 +0x1.bb992p+4 +0x1.527fccp+6 +0x1.d7946ep+5 +0x1.4976b4p+5 +0x1.d2afcep+2 +0x1.f31972p+14 +0x1.42804ap+5 +0x1.ddfeep+4 +0x1.05993ep+4 +0x1.fd9ac2p+5 +0x1.c5af34p+2 +0x1.73c196p+6 +0x1.fe1ed2p+4 +0x1.71fb3cp+7 +0x1.2aa318p+6 +0x1.6d5dacp+17 +0x1.01f858p+6 +0x1.d1be44p+0 +0x1.bf94a6p-1 +0x1.b14e1ep+5 +0x1.632c68p+5 +0x1.f3e808p+4 +0x1.756418p+5 +0x1.7fa774p+5 +0x1.86107p+3 +0x1.77ec92p-3 +0x1.907c24p+3 +0x1.dfd1fcp+3 +0x1.64101p+3 +0x1.2e96d4p-3 +0x1.a5e164p+5 +0x1.32618ap+8 +0x1.2af1d2p+15 +0x1.2d57bp+6 +0x1.d7c9fap+1 +0x1.078644p+4 +0x1.041f1ap+3 +0x1.82923p+17 +0x1.05edfap+1 +0x1.1a08cap+6 +0x1.f39c38p+4 +0x1.d9713ep+5 +0x1.18dd18p+18 +0x1.153f82p+6 +0x1.d06862p+14 +0x1.22fdaep-1 +0x1.8a7302p+1 +0x1.10d584p+2 +0x1.25648ap+6 +0x1.27131ap+6 +0x1.9c0712p-1 +0x1.5d5e2ep+8 +0x1.1bb1eep+12 +0x1.314e64p+0 +0x1.aaec48p+11 +0x1.10d03ap+5 +0x1.171446p+5 +0x1.413daap+13 +0x1.0cd382p+0 +0x1.3e4568p+4 +0x1.c0ef26p+5 +0x1.404492p+4 +0x1.b1780ep+5 +0x1.5b849ep+5 +0x1.6baa0ap+4 +0x1.8b874p+6 +0x1.d8ecbep+3 +0x1.3ccba8p+5 +0x1.ad791cp+4 +0x1.437792p+11 +0x1.18d06ep+5 +0x1.a863c8p+1 +0x1.d3505ep+1 +0x1.806e6cp+4 +0x1.87e8p+5 +0x1.d698bap+5 +0x1.ada94ap+5 +0x1.9f6cfcp+4 +0x1.e435c6p+4 +0x1.55f29p+6 +0x1.6a65bep+4 +0x1.6ffb9ap+4 +0x1.0df874p+1 +0x1.53715ep+3 +0x1.0ca648p+5 +0x1.dd8de6p-2 +0x1.d0b0ap+5 +0x1.1f2bb6p+5 +0x1.d53582p+3 +0x1.073c24p+4 +0x1.23f86ep+5 +0x1.d37b34p+2 +0x1.c2909cp+2 +0x1.90945p+3 +0x1.b9aa68p+2 +0x1.2bc86ep+6 +0x1.188d28p+5 +0x1.7509acp+17 +0x1.529c16p+5 +0x1.4e423cp+6 +0x1.7ac322p+6 +0x1.129e86p+6 +0x1.f9db4cp+4 +0x1.46862ep+5 +0x1.59cdb2p+6 +0x1.2a9fc4p+9 +0x1.4a7988p+10 +0x1.13dd7p+5 +0x1.6df376p+5 +0x1.415cc8p+6 +0x1.2071f2p+6 +0x1.0446c8p+4 +0x1.3517e2p+1 +0x1.62feaap+4 +0x1.9c7616p+16 +0x1.0c5b8cp+1 +0x1.f3aa5ap+0 +0x1.328c6ep+18 +0x1.8e9876p+4 +0x1.3dfa2ep+5 +0x1.c68096p+3 +0x1.572aa2p+5 +0x1.e93d96p+5 +0x1.2f53b6p+10 +0x1.3cca2ap+6 +0x1.25bd2p+6 +0x1.1a4032p+5 +0x1.3e19dap+17 +0x1.d5fd0ap+3 +0x1.894d2cp+16 +0x1.596056p+5 +0x1.88cb1cp+5 +0x1.9efbd2p+5 +0x1.449e12p+4 +0x1.885e24p+5 +0x1.1825f6p+10 +0x1.4b994cp+6 From patchwork Wed Nov 24 19:37:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48085 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D63EE3858D28 for ; Wed, 24 Nov 2021 19:58:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D63EE3858D28 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637783926; bh=d9TcawU1Ku4MGrU9OD4RwOmc8tItuibR/nrAaKdc6Dk=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=GwHDjTdCilabjPdICAKPawN4Kb61gNpvMxHMsaCE3kx9YYS5inwMcujqEpx5rOL4o hQGT1ogOd+82RHTj+uZYCz9XE8jI3H+1EJXbDYF/QUt1HLehRshTqxYI6Fy4/uK5L1 u07sIo0YrKWcPxH4+xhUtSm+Rk9E27mGSbWOAp+I= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 3A0263858C60 for ; Wed, 24 Nov 2021 19:38:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3A0263858C60 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="259249055" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="259249055" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="597829531" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga002.fm.intel.com with ESMTP; 24 Nov 2021 11:38:14 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XK021555; Wed, 24 Nov 2021 11:38:13 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 33/42] x86-64: Add vector log1p/log1pf implementation to libmvec Date: Wed, 24 Nov 2021 11:37:58 -0800 Message-Id: <20211124193807.2093208-34-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized log1p/log1pf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector log1p/log1pf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_log1p2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_log1p2_core.c | 27 + .../fpu/multiarch/svml_d_log1p2_core_sse4.S | 5106 +++++++++++++++++ .../fpu/multiarch/svml_d_log1p4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_log1p4_core.c | 27 + .../fpu/multiarch/svml_d_log1p4_core_avx2.S | 4903 ++++++++++++++++ .../fpu/multiarch/svml_d_log1p8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_log1p8_core.c | 27 + .../fpu/multiarch/svml_d_log1p8_core_avx512.S | 1090 ++++ .../fpu/multiarch/svml_s_log1pf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_log1pf16_core.c | 28 + .../multiarch/svml_s_log1pf16_core_avx512.S | 1634 ++++++ .../fpu/multiarch/svml_s_log1pf4_core-sse2.S | 20 + .../fpu/multiarch/svml_s_log1pf4_core.c | 28 + .../fpu/multiarch/svml_s_log1pf4_core_sse4.S | 2217 +++++++ .../fpu/multiarch/svml_s_log1pf8_core-sse.S | 20 + .../fpu/multiarch/svml_s_log1pf8_core.c | 28 + .../fpu/multiarch/svml_s_log1pf8_core_avx2.S | 1996 +++++++ sysdeps/x86_64/fpu/svml_d_log1p2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_log1p4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_log1p4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_log1p8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_log1pf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_log1pf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_log1pf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_log1pf8_core_avx.S | 25 + .../fpu/test-double-libmvec-log1p-avx.c | 1 + .../fpu/test-double-libmvec-log1p-avx2.c | 1 + .../fpu/test-double-libmvec-log1p-avx512f.c | 1 + .../x86_64/fpu/test-double-libmvec-log1p.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../fpu/test-float-libmvec-log1pf-avx.c | 1 + .../fpu/test-float-libmvec-log1pf-avx2.c | 1 + .../fpu/test-float-libmvec-log1pf-avx512f.c | 1 + .../x86_64/fpu/test-float-libmvec-log1pf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 17514 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log1p2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log1p4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log1p4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log1p8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log1pf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log1pf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log1pf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log1pf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log1p.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log1pf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 005b578162..6f10e52d7c 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -274,4 +274,15 @@ #define __DECL_SIMD_log10f32x #define __DECL_SIMD_log10f64x #define __DECL_SIMD_log10f128x + +#define __DECL_SIMD_log1p +#define __DECL_SIMD_log1pf +#define __DECL_SIMD_log1pl +#define __DECL_SIMD_log1pf16 +#define __DECL_SIMD_log1pf32 +#define __DECL_SIMD_log1pf64 +#define __DECL_SIMD_log1pf128 +#define __DECL_SIMD_log1pf32x +#define __DECL_SIMD_log1pf64x +#define __DECL_SIMD_log1pf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 7abbb2c116..34810571b2 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -119,7 +119,7 @@ __MATHCALL_VEC (exp10,, (_Mdouble_ __x)); __MATHCALL_VEC (expm1,, (_Mdouble_ __x)); /* Return log(1 + X). */ -__MATHCALL (log1p,, (_Mdouble_ __x)); +__MATHCALL_VEC (log1p,, (_Mdouble_ __x)); /* Return the base 2 signed integral exponent of X. */ __MATHCALL (logb,, (_Mdouble_ __x)); diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 7c2c633d77..9daf3ce9c0 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -60,6 +60,7 @@ GLIBC_2.35 _ZGVbN2v_exp10 F GLIBC_2.35 _ZGVbN2v_exp2 F GLIBC_2.35 _ZGVbN2v_expm1 F GLIBC_2.35 _ZGVbN2v_log10 F +GLIBC_2.35 _ZGVbN2v_log1p F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN2vv_hypot F GLIBC_2.35 _ZGVbN4v_acosf F @@ -76,6 +77,7 @@ GLIBC_2.35 _ZGVbN4v_exp10f F GLIBC_2.35 _ZGVbN4v_exp2f F GLIBC_2.35 _ZGVbN4v_expm1f F GLIBC_2.35 _ZGVbN4v_log10f F +GLIBC_2.35 _ZGVbN4v_log1pf F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVbN4vv_hypotf F GLIBC_2.35 _ZGVcN4v_acos F @@ -92,6 +94,7 @@ GLIBC_2.35 _ZGVcN4v_exp10 F GLIBC_2.35 _ZGVcN4v_exp2 F GLIBC_2.35 _ZGVcN4v_expm1 F GLIBC_2.35 _ZGVcN4v_log10 F +GLIBC_2.35 _ZGVcN4v_log1p F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN4vv_hypot F GLIBC_2.35 _ZGVcN8v_acosf F @@ -108,6 +111,7 @@ GLIBC_2.35 _ZGVcN8v_exp10f F GLIBC_2.35 _ZGVcN8v_exp2f F GLIBC_2.35 _ZGVcN8v_expm1f F GLIBC_2.35 _ZGVcN8v_log10f F +GLIBC_2.35 _ZGVcN8v_log1pf F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVcN8vv_hypotf F GLIBC_2.35 _ZGVdN4v_acos F @@ -124,6 +128,7 @@ GLIBC_2.35 _ZGVdN4v_exp10 F GLIBC_2.35 _ZGVdN4v_exp2 F GLIBC_2.35 _ZGVdN4v_expm1 F GLIBC_2.35 _ZGVdN4v_log10 F +GLIBC_2.35 _ZGVdN4v_log1p F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN4vv_hypot F GLIBC_2.35 _ZGVdN8v_acosf F @@ -140,6 +145,7 @@ GLIBC_2.35 _ZGVdN8v_exp10f F GLIBC_2.35 _ZGVdN8v_exp2f F GLIBC_2.35 _ZGVdN8v_expm1f F GLIBC_2.35 _ZGVdN8v_log10f F +GLIBC_2.35 _ZGVdN8v_log1pf F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVdN8vv_hypotf F GLIBC_2.35 _ZGVeN16v_acosf F @@ -156,6 +162,7 @@ GLIBC_2.35 _ZGVeN16v_exp10f F GLIBC_2.35 _ZGVeN16v_exp2f F GLIBC_2.35 _ZGVeN16v_expm1f F GLIBC_2.35 _ZGVeN16v_log10f F +GLIBC_2.35 _ZGVeN16v_log1pf F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN16vv_hypotf F GLIBC_2.35 _ZGVeN8v_acos F @@ -172,5 +179,6 @@ GLIBC_2.35 _ZGVeN8v_exp10 F GLIBC_2.35 _ZGVeN8v_exp2 F GLIBC_2.35 _ZGVeN8v_expm1 F GLIBC_2.35 _ZGVeN8v_log10 F +GLIBC_2.35 _ZGVeN8v_log1p F GLIBC_2.35 _ZGVeN8vv_atan2 F GLIBC_2.35 _ZGVeN8vv_hypot F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index 8fb29e5869..b822ddc5e1 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -122,6 +122,10 @@ # define __DECL_SIMD_log10 __DECL_SIMD_x86_64 # undef __DECL_SIMD_log10f # define __DECL_SIMD_log10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1p +# define __DECL_SIMD_log1p __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1pf +# define __DECL_SIMD_log1pf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index be16c2676b..3a14b2c983 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -41,6 +41,7 @@ libmvec-funcs = \ hypot \ log \ log10 \ + log1p \ pow \ sin \ sincos \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 563781cc04..496cd09d2b 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -28,6 +28,7 @@ libmvec { _ZGVbN2v_exp2; _ZGVcN4v_exp2; _ZGVdN4v_exp2; _ZGVeN8v_exp2; _ZGVbN2v_expm1; _ZGVcN4v_expm1; _ZGVdN4v_expm1; _ZGVeN8v_expm1; _ZGVbN2v_log10; _ZGVcN4v_log10; _ZGVdN4v_log10; _ZGVeN8v_log10; + _ZGVbN2v_log1p; _ZGVcN4v_log1p; _ZGVdN4v_log1p; _ZGVeN8v_log1p; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN2vv_hypot; _ZGVcN4vv_hypot; _ZGVdN4vv_hypot; _ZGVeN8vv_hypot; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; @@ -44,6 +45,7 @@ libmvec { _ZGVbN4v_exp2f; _ZGVcN8v_exp2f; _ZGVdN8v_exp2f; _ZGVeN16v_exp2f; _ZGVbN4v_expm1f; _ZGVcN8v_expm1f; _ZGVdN8v_expm1f; _ZGVeN16v_expm1f; _ZGVbN4v_log10f; _ZGVcN8v_log10f; _ZGVdN8v_log10f; _ZGVeN16v_log10f; + _ZGVbN4v_log1pf; _ZGVcN8v_log1pf; _ZGVdN8v_log1pf; _ZGVeN16v_log1pf; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; _ZGVbN4vv_hypotf; _ZGVcN8vv_hypotf; _ZGVdN8vv_hypotf; _ZGVeN16vv_hypotf; } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 764311972a..af68c48b2b 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1782,6 +1782,26 @@ float: 2 float128: 2 ldouble: 3 +Function: "log1p_vlen16": +float: 2 + +Function: "log1p_vlen2": +double: 1 + +Function: "log1p_vlen4": +double: 1 +float: 2 + +Function: "log1p_vlen4_avx2": +double: 1 + +Function: "log1p_vlen8": +double: 1 +float: 2 + +Function: "log1p_vlen8_avx2": +float: 2 + Function: "log2": double: 2 float: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core-sse2.S new file mode 100644 index 0000000000..8004088346 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized log1p, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_log1p _ZGVbN2v_log1p_sse2 +#include "../svml_d_log1p2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core.c new file mode 100644 index 0000000000..35ca620aba --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized log1p, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_log1p +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_log1p, __GI__ZGVbN2v_log1p, __redirect__ZGVbN2v_log1p) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core_sse4.S new file mode 100644 index 0000000000..e04fae1d09 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core_sse4.S @@ -0,0 +1,5106 @@ +/* Function logp2 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * Get short reciprocal approximation Rcp ~ 1/xh + * R = (Rcp*xh - 1.0) + Rcp*xl + * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) + * log(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_log1p_sse4) + 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 + lea -4218816+__svml_dlog1p_data_internal(%rip), %r8 + +/* SgnMask used by all accuracies */ + movups 12864+__svml_dlog1p_data_internal(%rip), %xmm3 + movaps %xmm3, %xmm7 + +/* Compute SignMask for all accuracies, including EP */ + andnps %xmm0, %xmm3 + movups %xmm15, 144(%rsp) + andps %xmm0, %xmm7 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + movups 12800+__svml_dlog1p_data_internal(%rip), %xmm15 + movups %xmm13, 160(%rsp) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movaps %xmm15, %xmm13 + cmpltpd 12928+__svml_dlog1p_data_internal(%rip), %xmm7 + addpd %xmm0, %xmm13 + orps 12992+__svml_dlog1p_data_internal(%rip), %xmm7 + +/* compute 1+x as high, low parts */ + movaps %xmm15, %xmm5 + andps %xmm7, %xmm13 + movaps %xmm15, %xmm4 + +/* preserve mantissa, set input exponent to 2^(-10) */ + movups 12480+__svml_dlog1p_data_internal(%rip), %xmm7 + andps %xmm13, %xmm7 + orps 12544+__svml_dlog1p_data_internal(%rip), %xmm7 + +/* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm7, %xmm6 + maxpd %xmm0, %xmm5 + minpd %xmm0, %xmm4 + subpd %xmm13, %xmm5 + movlhps %xmm6, %xmm6 + rcpps %xmm6, %xmm1 + addpd %xmm5, %xmm4 + cvtps2pd %xmm1, %xmm6 + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_20(%rip), %xmm1 + addpd %xmm1, %xmm6 + subpd %xmm1, %xmm6 + +/* exponent of X needed to scale Xl */ + movdqu 13376+__svml_dlog1p_data_internal(%rip), %xmm2 + movaps %xmm0, %xmm1 + +/* 2^ (-10-exp(X) ) */ + movdqu 13440+__svml_dlog1p_data_internal(%rip), %xmm5 + pand %xmm13, %xmm2 + psubq %xmm2, %xmm5 + mulpd %xmm6, %xmm7 + +/* scale DblRcp */ + mulpd %xmm6, %xmm5 + cmpnlepd 12672+__svml_dlog1p_data_internal(%rip), %xmm1 + subpd %xmm15, %xmm7 + +/* + * argument reduction + * VQFMS( D, R, X, DblRcp1, One ); + */ + mulpd %xmm5, %xmm4 + +/* check range */ + movaps %xmm0, %xmm2 + +/* exponent bits */ + psrlq $20, %xmm13 + cmpltpd 12608+__svml_dlog1p_data_internal(%rip), %xmm2 + addpd %xmm4, %xmm7 + orps %xmm1, %xmm2 + +/* combine and get argument value range mask */ + movmskpd %xmm2, %edx + +/* + * prepare table index + * table lookup + */ + movaps %xmm6, %xmm2 + psrlq $40, %xmm2 + pshufd $2, %xmm2, %xmm1 + movd %xmm2, %eax + +/* exponent*log(2.0) */ + movups 13184+__svml_dlog1p_data_internal(%rip), %xmm2 + pshufd $221, %xmm13, %xmm15 + cmpltpd %xmm6, %xmm2 + +/* biased exponent in DP format */ + cvtdq2pd %xmm15, %xmm15 + movd %xmm1, %ecx + +/* polynomial */ + movups 12416+__svml_dlog1p_data_internal(%rip), %xmm4 + mulpd %xmm7, %xmm4 + andps 13248+__svml_dlog1p_data_internal(%rip), %xmm2 + orps 13312+__svml_dlog1p_data_internal(%rip), %xmm2 + subpd %xmm2, %xmm15 + addpd 12432+__svml_dlog1p_data_internal(%rip), %xmm4 + mulpd 13504+__svml_dlog1p_data_internal(%rip), %xmm15 + movaps %xmm7, %xmm2 + mulpd %xmm7, %xmm2 + movups 12448+__svml_dlog1p_data_internal(%rip), %xmm1 + mulpd %xmm7, %xmm1 + mulpd %xmm2, %xmm4 + addpd 12464+__svml_dlog1p_data_internal(%rip), %xmm1 + addpd %xmm4, %xmm1 + +/* reconstruction */ + mulpd %xmm1, %xmm2 + movslq %eax, %rax + addpd %xmm2, %xmm7 + movslq %ecx, %rcx + movsd (%r8,%rax), %xmm13 + movhpd (%r8,%rcx), %xmm13 + addpd %xmm7, %xmm13 + addpd %xmm13, %xmm15 + +/* OR in the Sign of input argument to produce correct log1p(-0) */ + orps %xmm3, %xmm15 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 160(%rsp), %xmm13 + cfi_restore(30) + movaps %xmm15, %xmm0 + movups 144(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm0, 128(%rsp) + movups %xmm15, 192(%rsp) + xorl %eax, %eax + movups %xmm8, 80(%rsp) + movups %xmm9, 64(%rsp) + movups %xmm10, 48(%rsp) + movups %xmm11, 32(%rsp) + movups %xmm12, 16(%rsp) + movups %xmm14, (%rsp) + movq %rsi, 104(%rsp) + movq %rdi, 96(%rsp) + movq %r12, 120(%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 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 112(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 80(%rsp), %xmm8 + cfi_restore(25) + movups 64(%rsp), %xmm9 + cfi_restore(26) + movups 48(%rsp), %xmm10 + cfi_restore(27) + movups 32(%rsp), %xmm11 + cfi_restore(28) + movups 16(%rsp), %xmm12 + cfi_restore(29) + movups (%rsp), %xmm14 + cfi_restore(31) + movq 104(%rsp), %rsi + cfi_restore(4) + movq 96(%rsp), %rdi + cfi_restore(5) + movq 120(%rsp), %r12 + cfi_restore(12) + movq 112(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm15 + 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, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 128(%rsp,%r12,8), %rdi + lea 192(%rsp,%r12,8), %rsi + call __svml_dlog1p_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_log1p_sse4) + + .align 16,0x90 + +__svml_dlog1p_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movsd .FLT_86(%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 .FLT_85(%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 + + cfi_endproc + + .type __svml_dlog1p_cout_rare_internal,@function + .size __svml_dlog1p_cout_rare_internal,.-__svml_dlog1p_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dlog1p_data_internal: + .long 3715793664 + .long 3230016299 + .long 4013928704 + .long 3189565726 + .long 3699038248 + .long 3230016303 + .long 4255595370 + .long 3189567439 + .long 3648859040 + .long 3230016307 + .long 1732833791 + .long 3189567296 + .long 3565385952 + .long 3230016311 + .long 2485752410 + .long 3189567274 + .long 3448748152 + .long 3230016315 + .long 3514744523 + .long 3189567800 + .long 3299074072 + .long 3230016319 + .long 3686511262 + .long 3189567474 + .long 3116491376 + .long 3230016323 + .long 716063611 + .long 3189567908 + .long 2901127016 + .long 3230016327 + .long 354437295 + .long 3189567291 + .long 2653107184 + .long 3230016331 + .long 3777462366 + .long 3189567264 + .long 2372557360 + .long 3230016335 + .long 3590663412 + .long 3189567498 + .long 2059602304 + .long 3230016339 + .long 1680795031 + .long 3189567428 + .long 1714366048 + .long 3230016343 + .long 2010344982 + .long 3189567986 + .long 1336971936 + .long 3230016347 + .long 166254822 + .long 3189567184 + .long 927542568 + .long 3230016351 + .long 59552610 + .long 3189567972 + .long 486199888 + .long 3230016355 + .long 2268824919 + .long 3189567664 + .long 13065112 + .long 3230016359 + .long 3005381643 + .long 3189567835 + .long 3803226080 + .long 3230016362 + .long 4018973165 + .long 3189567825 + .long 3266868056 + .long 3230016366 + .long 3693925101 + .long 3189567457 + .long 2699077504 + .long 3230016370 + .long 4005905743 + .long 3189567697 + .long 2099972936 + .long 3230016374 + .long 3580935118 + .long 3189567215 + .long 1469672176 + .long 3230016378 + .long 2928784295 + .long 3189567129 + .long 808292392 + .long 3230016382 + .long 674298833 + .long 3189567553 + .long 115950104 + .long 3230016386 + .long 2555938320 + .long 3189567208 + .long 3687728456 + .long 3230016389 + .long 532458218 + .long 3189567130 + .long 2933808064 + .long 3230016393 + .long 3888913110 + .long 3189567192 + .long 2149270784 + .long 3230016397 + .long 2365955494 + .long 3189567756 + .long 1334230552 + .long 3230016401 + .long 3325722981 + .long 3189567206 + .long 488800640 + .long 3230016405 + .long 1496133617 + .long 3189567683 + .long 3908061016 + .long 3230016408 + .long 1824836379 + .long 3189567490 + .long 3002189112 + .long 3230016412 + .long 1222174320 + .long 3189567837 + .long 2066263648 + .long 3230016416 + .long 2472769660 + .long 3189567285 + .long 1100395408 + .long 3230016420 + .long 447932460 + .long 3189567455 + .long 104694584 + .long 3230016424 + .long 1006807684 + .long 3189567460 + .long 3374238048 + .long 3230016427 + .long 4121834935 + .long 3189567556 + .long 2319200184 + .long 3230016431 + .long 3019906587 + .long 3189567664 + .long 1234656664 + .long 3230016435 + .long 3882744783 + .long 3189567930 + .long 120715280 + .long 3230016439 + .long 1927363170 + .long 3189567242 + .long 3272450504 + .long 3230016442 + .long 8203115 + .long 3189567876 + .long 2100034368 + .long 3230016446 + .long 1260625560 + .long 3189567855 + .long 898540192 + .long 3230016450 + .long 1791679111 + .long 3189567639 + .long 3963040720 + .long 3230016453 + .long 831133439 + .long 3189567590 + .long 2703706240 + .long 3230016457 + .long 2803140504 + .long 3189567482 + .long 1415608352 + .long 3230016461 + .long 2955844462 + .long 3189568058 + .long 98850816 + .long 3230016465 + .long 4017967070 + .long 3189567455 + .long 3048504096 + .long 3230016468 + .long 3974385451 + .long 3189567871 + .long 1674736240 + .long 3230016472 + .long 2424114556 + .long 3189567887 + .long 272616624 + .long 3230016476 + .long 4261883032 + .long 3189567073 + .long 3137214056 + .long 3230016479 + .long 3716750895 + .long 3189567522 + .long 1678694944 + .long 3230016483 + .long 498025304 + .long 3189567180 + .long 192127016 + .long 3230016487 + .long 1011852160 + .long 3189567511 + .long 2972577480 + .long 3230016490 + .long 558940916 + .long 3189567850 + .long 1430211120 + .long 3230016494 + .long 2550865739 + .long 3189567935 + .long 4155061376 + .long 3230016497 + .long 1930847170 + .long 3189567371 + .long 2557291968 + .long 3230016501 + .long 1716354804 + .long 3189567130 + .long 931967984 + .long 3230016505 + .long 2729403392 + .long 3189567981 + .long 3574154016 + .long 3230016508 + .long 1067280599 + .long 3189567890 + .long 1894012232 + .long 3230016512 + .long 2094260282 + .long 3189567604 + .long 186606176 + .long 3230016516 + .long 3897933165 + .long 3189568046 + .long 2746998904 + .long 3230016519 + .long 1935720459 + .long 3189567701 + .long 985351064 + .long 3230016523 + .long 2170344821 + .long 3189567164 + .long 3491691984 + .long 3230016526 + .long 4220979537 + .long 3189567547 + .long 1676181328 + .long 3230016530 + .long 1953924393 + .long 3189567854 + .long 4128847448 + .long 3230016533 + .long 1689829067 + .long 3189567468 + .long 2259849008 + .long 3230016537 + .long 2367753130 + .long 3189567619 + .long 364246088 + .long 3230016541 + .long 2263309073 + .long 3189567722 + .long 2737098280 + .long 3230016544 + .long 2366756869 + .long 3189567856 + .long 788562816 + .long 3230016548 + .long 2294653975 + .long 3189567145 + .long 3108665616 + .long 3230016551 + .long 1786494117 + .long 3189567254 + .long 1107562960 + .long 3230016555 + .long 3655887416 + .long 3189567689 + .long 3375279848 + .long 3230016558 + .long 1178948625 + .long 3189567241 + .long 1321971608 + .long 3230016562 + .long 1620080441 + .long 3189567466 + .long 3537662304 + .long 3230016565 + .long 154455618 + .long 3189567981 + .long 1432506360 + .long 3230016569 + .long 3128192125 + .long 3189567889 + .long 3596526920 + .long 3230016572 + .long 2026842750 + .long 3189567212 + .long 1439877480 + .long 3230016576 + .long 1384431897 + .long 3189567284 + .long 3552580280 + .long 3230016579 + .long 1999983129 + .long 3189568079 + .long 1344787944 + .long 3230016583 + .long 4035436820 + .long 3189567579 + .long 3406521808 + .long 3230016586 + .long 77799817 + .long 3189567285 + .long 1147933592 + .long 3230016590 + .long 1261060207 + .long 3189567477 + .long 3159043768 + .long 3230016593 + .long 2102717775 + .long 3189567605 + .long 850003184 + .long 3230016597 + .long 161472469 + .long 3189567688 + .long 2810831440 + .long 3230016600 + .long 1937336881 + .long 3189567665 + .long 451678520 + .long 3230016604 + .long 2268353549 + .long 3189567773 + .long 2362563168 + .long 3230016607 + .long 1785871595 + .long 3189567889 + .long 4248601816 + .long 3230016610 + .long 2434669991 + .long 3189567898 + .long 1814910472 + .long 3230016614 + .long 2666999375 + .long 3189568058 + .long 3651506624 + .long 3230016617 + .long 1033139811 + .long 3189567312 + .long 1168538136 + .long 3230016621 + .long 4004618418 + .long 3189567740 + .long 2956021672 + .long 3230016624 + .long 3799928764 + .long 3189567751 + .long 424104288 + .long 3230016628 + .long 3650233137 + .long 3189567549 + .long 2162801816 + .long 3230016631 + .long 437313833 + .long 3189567438 + .long 3877227800 + .long 3230016634 + .long 2138293494 + .long 3189567140 + .long 1272495376 + .long 3230016638 + .long 2891370752 + .long 3189567168 + .long 2938619176 + .long 3230016641 + .long 1704142730 + .long 3189567114 + .long 285744240 + .long 3230016645 + .long 500817607 + .long 3189568035 + .long 1903884424 + .long 3230016648 + .long 3102571944 + .long 3189567668 + .long 3498151272 + .long 3230016651 + .long 2374193154 + .long 3189567933 + .long 773655960 + .long 3230016655 + .long 2898331636 + .long 3189568089 + .long 2320411168 + .long 3230016658 + .long 1983295500 + .long 3189567113 + .long 3843527280 + .long 3230016661 + .long 2132853542 + .long 3189567093 + .long 1048114320 + .long 3230016665 + .long 3551155364 + .long 3189567407 + .long 2524183824 + .long 3230016668 + .long 2564000663 + .long 3189567090 + .long 3976845048 + .long 3230016671 + .long 361581803 + .long 3189567196 + .long 1111206880 + .long 3230016675 + .long 696765230 + .long 3189568040 + .long 2517279744 + .long 3230016678 + .long 941542475 + .long 3189567463 + .long 3900171776 + .long 3230016681 + .long 2377895552 + .long 3189567282 + .long 964990760 + .long 3230016685 + .long 1173605489 + .long 3189567454 + .long 2301746008 + .long 3230016688 + .long 3096720313 + .long 3189567400 + .long 3615544576 + .long 3230016691 + .long 1942008121 + .long 3189567335 + .long 611493160 + .long 3230016695 + .long 3375481119 + .long 3189567537 + .long 1879599992 + .long 3230016698 + .long 4103239143 + .long 3189567624 + .long 3124971056 + .long 3230016701 + .long 3773474925 + .long 3189567869 + .long 52711992 + .long 3230016705 + .long 2465315445 + .long 3189567444 + .long 1252829960 + .long 3230016708 + .long 1041581158 + .long 3189567781 + .long 2430429904 + .long 3230016711 + .long 166620501 + .long 3189567739 + .long 3585583704 + .long 3230016714 + .long 2379237630 + .long 3189567984 + .long 423395616 + .long 3230016718 + .long 134834559 + .long 3189567178 + .long 1533871416 + .long 3230016721 + .long 1449318760 + .long 3189567373 + .long 2622114680 + .long 3230016724 + .long 3042372984 + .long 3189567127 + .long 3688195920 + .long 3230016727 + .long 1265290101 + .long 3189567921 + .long 437218048 + .long 3230016731 + .long 2248549362 + .long 3189567262 + .long 1459185496 + .long 3230016734 + .long 1293250365 + .long 3189567151 + .long 2459200496 + .long 3230016737 + .long 313786605 + .long 3189567180 + .long 3437332240 + .long 3230016740 + .long 3289151823 + .long 3189567872 + .long 98682312 + .long 3230016744 + .long 2693758821 + .long 3189567877 + .long 1033253848 + .long 3230016747 + .long 4237443192 + .long 3189567301 + .long 1946147760 + .long 3230016750 + .long 4099404586 + .long 3189567972 + .long 2837431968 + .long 3230016753 + .long 343640666 + .long 3189567552 + .long 3707174040 + .long 3230016756 + .long 4238401458 + .long 3189567983 + .long 260473960 + .long 3230016760 + .long 21423548 + .long 3189567559 + .long 1087333264 + .long 3230016763 + .long 3515278593 + .long 3189567309 + .long 1892851296 + .long 3230016766 + .long 629106375 + .long 3189567166 + .long 2677094384 + .long 3230016769 + .long 2048670044 + .long 3189567227 + .long 3440128544 + .long 3230016772 + .long 3739217292 + .long 3189568009 + .long 4182019504 + .long 3230016775 + .long 3662039444 + .long 3189567618 + .long 607865368 + .long 3230016779 + .long 1766486991 + .long 3189567112 + .long 1307665824 + .long 3230016782 + .long 512689457 + .long 3189567670 + .long 1986518392 + .long 3230016785 + .long 1704577378 + .long 3189567760 + .long 2644487576 + .long 3230016788 + .long 4001935135 + .long 3189567473 + .long 3281637576 + .long 3230016791 + .long 1184452342 + .long 3189567735 + .long 3898032312 + .long 3230016794 + .long 2714793956 + .long 3189567464 + .long 198768096 + .long 3230016798 + .long 3657654418 + .long 3189567905 + .long 773842856 + .long 3230016801 + .long 2809688013 + .long 3189567736 + .long 1328352328 + .long 3230016804 + .long 390727591 + .long 3189567393 + .long 1862359256 + .long 3230016807 + .long 1135237925 + .long 3189567248 + .long 2375926096 + .long 3230016810 + .long 1377572509 + .long 3189567837 + .long 2869115032 + .long 3230016813 + .long 3148383775 + .long 3189568032 + .long 3341987960 + .long 3230016816 + .long 3809536738 + .long 3189567313 + .long 3794606472 + .long 3230016819 + .long 4243445934 + .long 3189568034 + .long 4227031920 + .long 3230016822 + .long 1302642088 + .long 3189567451 + .long 344358048 + .long 3230016826 + .long 3239125361 + .long 3189567151 + .long 736580224 + .long 3230016829 + .long 3753161736 + .long 3189567129 + .long 1108791648 + .long 3230016832 + .long 624357483 + .long 3189568045 + .long 1461052568 + .long 3230016835 + .long 3153257064 + .long 3189567338 + .long 1793422920 + .long 3230016838 + .long 2705820149 + .long 3189567635 + .long 2105962400 + .long 3230016841 + .long 911564860 + .long 3189567737 + .long 2398730424 + .long 3230016844 + .long 1086958332 + .long 3189567948 + .long 2671786152 + .long 3230016847 + .long 1598984535 + .long 3189567210 + .long 2925188456 + .long 3230016850 + .long 4113385879 + .long 3189567401 + .long 3158995968 + .long 3230016853 + .long 2426812671 + .long 3189567396 + .long 3373267048 + .long 3230016856 + .long 3480845679 + .long 3189567359 + .long 3568059792 + .long 3230016859 + .long 3306230729 + .long 3189567924 + .long 3743432056 + .long 3230016862 + .long 3853821277 + .long 3189567317 + .long 3899441408 + .long 3230016865 + .long 2049309148 + .long 3189567699 + .long 4036145192 + .long 3230016868 + .long 2667321817 + .long 3189567166 + .long 4153600472 + .long 3230016871 + .long 3540670389 + .long 3189567114 + .long 4251864072 + .long 3230016874 + .long 404207883 + .long 3189567310 + .long 36025272 + .long 3230016878 + .long 2837617046 + .long 3189567103 + .long 96074976 + .long 3230016881 + .long 1231280453 + .long 3189567669 + .long 137101976 + .long 3230016884 + .long 792492437 + .long 3189567071 + .long 159162080 + .long 3230016887 + .long 2385525292 + .long 3189567618 + .long 162310880 + .long 3230016890 + .long 3272051015 + .long 3189567858 + .long 146603712 + .long 3230016893 + .long 623573538 + .long 3189567881 + .long 112095672 + .long 3230016896 + .long 2151835939 + .long 3189567451 + .long 58841608 + .long 3230016899 + .long 958006130 + .long 3189567217 + .long 4281863424 + .long 3230016901 + .long 549948691 + .long 3189567863 + .long 4191280920 + .long 3230016904 + .long 4177689987 + .long 3189567217 + .long 4082115512 + .long 3230016907 + .long 2895765193 + .long 3189567599 + .long 3954421112 + .long 3230016910 + .long 1055606208 + .long 3189567799 + .long 3808251392 + .long 3230016913 + .long 1966521217 + .long 3189567351 + .long 3643659776 + .long 3230016916 + .long 1017382758 + .long 3189567732 + .long 3460699480 + .long 3230016919 + .long 3485890155 + .long 3189567410 + .long 3259423472 + .long 3230016922 + .long 2657419170 + .long 3189567140 + .long 3039884488 + .long 3230016925 + .long 4198858220 + .long 3189568080 + .long 2802135064 + .long 3230016928 + .long 2343740494 + .long 3189567869 + .long 2546227480 + .long 3230016931 + .long 2423084215 + .long 3189567957 + .long 2272213808 + .long 3230016934 + .long 3887273856 + .long 3189567631 + .long 1980145888 + .long 3230016937 + .long 3992755473 + .long 3189567251 + .long 1670075336 + .long 3230016940 + .long 722498073 + .long 3189567389 + .long 1342053552 + .long 3230016943 + .long 3573506400 + .long 3189567965 + .long 996131728 + .long 3230016946 + .long 714695829 + .long 3189567392 + .long 632360808 + .long 3230016949 + .long 2816704229 + .long 3189567846 + .long 250791552 + .long 3230016952 + .long 386951333 + .long 3189567243 + .long 4146441768 + .long 3230016954 + .long 2155319939 + .long 3189567580 + .long 3729427184 + .long 3230016957 + .long 4227840137 + .long 3189567931 + .long 3294765200 + .long 3230016960 + .long 1718354212 + .long 3189567672 + .long 2842505696 + .long 3230016963 + .long 4243880582 + .long 3189567656 + .long 2372698352 + .long 3230016966 + .long 3784093842 + .long 3189567302 + .long 1885392624 + .long 3230016969 + .long 2318733051 + .long 3189567813 + .long 1380637784 + .long 3230016972 + .long 497929746 + .long 3189567210 + .long 858482864 + .long 3230016975 + .long 3218883783 + .long 3189567649 + .long 318976720 + .long 3230016978 + .long 3492652862 + .long 3189567382 + .long 4057135272 + .long 3230016980 + .long 473724673 + .long 3189568069 + .long 3483072376 + .long 3230016983 + .long 150485010 + .long 3189567757 + .long 2891803552 + .long 3230016986 + .long 3028900958 + .long 3189567173 + .long 2283376816 + .long 3230016989 + .long 321242596 + .long 3189567822 + .long 1657840008 + .long 3230016992 + .long 151305746 + .long 3189568029 + .long 1015240760 + .long 3230016995 + .long 2208026401 + .long 3189567184 + .long 355626480 + .long 3230016998 + .long 2487781842 + .long 3189567931 + .long 3974011720 + .long 3230017000 + .long 2391142094 + .long 3189567091 + .long 3280508896 + .long 3230017003 + .long 734457618 + .long 3189568092 + .long 2570132168 + .long 3230017006 + .long 3070902701 + .long 3189567794 + .long 1842928168 + .long 3230017009 + .long 1110877923 + .long 3189567896 + .long 1098943352 + .long 3230017012 + .long 3880360185 + .long 3189567898 + .long 338223984 + .long 3230017015 + .long 391995809 + .long 3189567294 + .long 3855783416 + .long 3230017017 + .long 4186345433 + .long 3189567745 + .long 3061732952 + .long 3230017020 + .long 3682852050 + .long 3189567081 + .long 2251085560 + .long 3230017023 + .long 3057037137 + .long 3189567617 + .long 1423886760 + .long 3230017026 + .long 3352664894 + .long 3189567074 + .long 580181848 + .long 3230017029 + .long 1170568982 + .long 3189567927 + .long 4014983272 + .long 3230017031 + .long 671148579 + .long 3189567293 + .long 3138401368 + .long 3230017034 + .long 267496658 + .long 3189567304 + .long 2245448192 + .long 3230017037 + .long 1285167087 + .long 3189568066 + .long 1336168336 + .long 3230017040 + .long 4259909589 + .long 3189567788 + .long 410606184 + .long 3230017043 + .long 1494078902 + .long 3189568031 + .long 3763773256 + .long 3230017045 + .long 261935754 + .long 3189567685 + .long 2805778992 + .long 3230017048 + .long 3679585605 + .long 3189567195 + .long 1831634536 + .long 3230017051 + .long 809066513 + .long 3189567664 + .long 841383576 + .long 3230017054 + .long 385945238 + .long 3189567897 + .long 4130036912 + .long 3230017056 + .long 825579909 + .long 3189567603 + .long 3107703272 + .long 3230017059 + .long 3911295427 + .long 3189567514 + .long 2069393104 + .long 3230017062 + .long 3473784588 + .long 3189567461 + .long 1015149384 + .long 3230017065 + .long 629861200 + .long 3189567515 + .long 4239982216 + .long 3230017067 + .long 2659142760 + .long 3189567083 + .long 3153999632 + .long 3230017070 + .long 1251680713 + .long 3189567080 + .long 2052211384 + .long 3230017073 + .long 3168705163 + .long 3189567992 + .long 934659776 + .long 3230017076 + .long 1674797624 + .long 3189567952 + .long 4096354216 + .long 3230017078 + .long 437847902 + .long 3189567971 + .long 2947402064 + .long 3230017081 + .long 4024401533 + .long 3189567960 + .long 1782812400 + .long 3230017084 + .long 786902458 + .long 3189567873 + .long 602626840 + .long 3230017087 + .long 2593792633 + .long 3189567812 + .long 3701854136 + .long 3230017089 + .long 3989721221 + .long 3189567126 + .long 2490600968 + .long 3230017092 + .long 2545746866 + .long 3189567591 + .long 1263875768 + .long 3230017095 + .long 3115843521 + .long 3189567377 + .long 21719488 + .long 3230017098 + .long 1730226063 + .long 3189567307 + .long 3059140216 + .long 3230017100 + .long 690350922 + .long 3189567892 + .long 1786244008 + .long 3230017103 + .long 3350998585 + .long 3189567394 + .long 498038616 + .long 3230017106 + .long 1499123379 + .long 3189568082 + .long 3489531672 + .long 3230017108 + .long 2598665922 + .long 3189567118 + .long 2170828712 + .long 3230017111 + .long 2436376826 + .long 3189567935 + .long 836937048 + .long 3230017114 + .long 1977004902 + .long 3189568052 + .long 3782863816 + .long 3230017116 + .long 4027224619 + .long 3189567373 + .long 2418714096 + .long 3230017119 + .long 2616869856 + .long 3189567271 + .long 1039494712 + .long 3230017122 + .long 3775628133 + .long 3189567616 + .long 3940212336 + .long 3230017124 + .long 419018052 + .long 3189567909 + .long 2530971600 + .long 3230017127 + .long 150919657 + .long 3189567379 + .long 1106778856 + .long 3230017130 + .long 2926254537 + .long 3189567139 + .long 3962640312 + .long 3230017132 + .long 1610863810 + .long 3189567216 + .long 2508660136 + .long 3230017135 + .long 1166015244 + .long 3189567672 + .long 1039844240 + .long 3230017138 + .long 645159638 + .long 3189567685 + .long 3851198376 + .long 3230017140 + .long 2449439581 + .long 3189567695 + .long 2352826264 + .long 3230017143 + .long 1619104640 + .long 3189567458 + .long 839733360 + .long 3230017146 + .long 2427070371 + .long 3189567165 + .long 3606924968 + .long 3230017148 + .long 2166480890 + .long 3189567544 + .long 2064504368 + .long 3230017151 + .long 2283025905 + .long 3189567907 + .long 507476584 + .long 3230017154 + .long 3923356754 + .long 3189567272 + .long 3230846472 + .long 3230017156 + .long 805331677 + .long 3189567533 + .long 1644716880 + .long 3230017159 + .long 3790469685 + .long 3189567406 + .long 44092384 + .long 3230017162 + .long 2689788214 + .long 3189567653 + .long 2723977432 + .long 3230017164 + .long 2762250221 + .long 3189567072 + .long 1094474416 + .long 3230017167 + .long 2781925193 + .long 3189567716 + .long 3745554800 + .long 3230017169 + .long 593120878 + .long 3189567817 + .long 2087320704 + .long 3230017172 + .long 403414988 + .long 3189568021 + .long 414776008 + .long 3230017175 + .long 359307328 + .long 3189567387 + .long 3022924432 + .long 3230017177 + .long 3373547966 + .long 3189567572 + .long 1321867688 + .long 3230017180 + .long 3978711340 + .long 3189567805 + .long 3901576528 + .long 3230017182 + .long 2765663238 + .long 3189568046 + .long 2172152384 + .long 3230017185 + .long 1181150766 + .long 3189568053 + .long 428598440 + .long 3230017188 + .long 2473022131 + .long 3189567471 + .long 2965917728 + .long 3230017190 + .long 1621744488 + .long 3189567971 + .long 1194211288 + .long 3230017193 + .long 2931299013 + .long 3189567190 + .long 3703449168 + .long 3230017195 + .long 873154950 + .long 3189568039 + .long 1903732144 + .long 3230017198 + .long 1510784525 + .long 3189567521 + .long 90062704 + .long 3230017201 + .long 2918231590 + .long 3189568086 + .long 2557443240 + .long 3230017203 + .long 3329944838 + .long 3189567475 + .long 715974088 + .long 3230017206 + .long 2679715410 + .long 3189568021 + .long 3155624672 + .long 3230017208 + .long 1841110143 + .long 3189567518 + .long 1286495072 + .long 3230017211 + .long 3881638924 + .long 3189567497 + .long 3698554440 + .long 3230017213 + .long 167906931 + .long 3189567169 + .long 1801902600 + .long 3230017216 + .long 1468264167 + .long 3189567597 + .long 4186508448 + .long 3230017218 + .long 2400624638 + .long 3189567691 + .long 2262471560 + .long 3230017221 + .long 3796182064 + .long 3189567357 + .long 324793264 + .long 3230017224 + .long 2801238958 + .long 3189567581 + .long 2668474776 + .long 3230017226 + .long 2273142813 + .long 3189567436 + .long 703615288 + .long 3230017229 + .long 831867571 + .long 3189567237 + .long 3020183048 + .long 3230017231 + .long 2238048829 + .long 3189567595 + .long 1028277008 + .long 3230017234 + .long 1163763070 + .long 3189567452 + .long 3317865168 + .long 3230017236 + .long 1206450788 + .long 3189567228 + .long 1299046216 + .long 3230017239 + .long 737162226 + .long 3189567879 + .long 3561787920 + .long 3230017241 + .long 2433253277 + .long 3189567901 + .long 1516188728 + .long 3230017244 + .long 3561277099 + .long 3189567506 + .long 3752216144 + .long 3230017246 + .long 1385095507 + .long 3189567674 + .long 1679968384 + .long 3230017249 + .long 829462408 + .long 3189567156 + .long 3889412704 + .long 3230017251 + .long 2939266725 + .long 3189567673 + .long 1790647080 + .long 3230017254 + .long 4214100827 + .long 3189567848 + .long 3973638544 + .long 3230017256 + .long 2537954451 + .long 3189567376 + .long 1848484816 + .long 3230017259 + .long 1128740312 + .long 3189567098 + .long 4005152680 + .long 3230017261 + .long 1932232434 + .long 3189568053 + .long 1853739648 + .long 3230017264 + .long 1359710694 + .long 3189567457 + .long 3984212256 + .long 3230017266 + .long 1268482287 + .long 3189567990 + .long 1806667776 + .long 3230017269 + .long 839689017 + .long 3189567631 + .long 3911072520 + .long 3230017271 + .long 3727165601 + .long 3189567921 + .long 1707523520 + .long 3230017274 + .long 1836550952 + .long 3189567895 + .long 3785986872 + .long 3230017276 + .long 172951407 + .long 3189567220 + .long 1556559360 + .long 3230017279 + .long 1166449891 + .long 3189567294 + .long 3609206856 + .long 3230017281 + .long 28625366 + .long 3189567222 + .long 1354025920 + .long 3230017284 + .long 4038426582 + .long 3189567978 + .long 3380982208 + .long 3230017286 + .long 2756284659 + .long 3189567362 + .long 1100172048 + .long 3230017289 + .long 848830252 + .long 3189567230 + .long 3101560856 + .long 3230017291 + .long 1868170309 + .long 3189567423 + .long 795244752 + .long 3230017294 + .long 3128260908 + .long 3189567885 + .long 2771188936 + .long 3230017296 + .long 1691261279 + .long 3189567706 + .long 439489304 + .long 3230017299 + .long 2886711298 + .long 3189567236 + .long 2390110824 + .long 3230017301 + .long 1311431101 + .long 3189567133 + .long 33149176 + .long 3230017304 + .long 3042183093 + .long 3189567401 + .long 1958569120 + .long 3230017306 + .long 3174208880 + .long 3189567462 + .long 3871433416 + .long 3230017308 + .long 302374021 + .long 3189567243 + .long 1476804712 + .long 3230017311 + .long 712531519 + .long 3189567241 + .long 3364647440 + .long 3230017313 + .long 3705318448 + .long 3189567568 + .long 945056744 + .long 3230017316 + .long 2424171915 + .long 3189568016 + .long 2807996856 + .long 3230017318 + .long 199511961 + .long 3189567094 + .long 363562688 + .long 3230017321 + .long 3766234060 + .long 3189567214 + .long 2201718256 + .long 3230017323 + .long 1956195829 + .long 3189567592 + .long 4027525584 + .long 3230017325 + .long 2891794585 + .long 3189567375 + .long 1546046576 + .long 3230017328 + .long 843173017 + .long 3189567760 + .long 3347244936 + .long 3230017330 + .long 1609532414 + .long 3189567955 + .long 841215080 + .long 3230017333 + .long 3356704285 + .long 3189567294 + .long 2617920488 + .long 3230017335 + .long 1641729240 + .long 3189567346 + .long 87455368 + .long 3230017338 + .long 1455753222 + .long 3189567878 + .long 1839783016 + .long 3230017340 + .long 1936589978 + .long 3189567944 + .long 3579964728 + .long 3230017342 + .long 1006586129 + .long 3189567993 + .long 1013061704 + .long 3230017345 + .long 2766825484 + .long 3189567880 + .long 2729036928 + .long 3230017347 + .long 1888685184 + .long 3189567954 + .long 137984104 + .long 3230017350 + .long 848046306 + .long 3189568090 + .long 1829866024 + .long 3230017352 + .long 4178224056 + .long 3189567750 + .long 3509743488 + .long 3230017354 + .long 2637072474 + .long 3189567070 + .long 882677184 + .long 3230017357 + .long 3133305384 + .long 3189567936 + .long 2538629624 + .long 3230017359 + .long 1343200028 + .long 3189567905 + .long 4182661312 + .long 3230017361 + .long 107195460 + .long 3189567427 + .long 1519832648 + .long 3230017364 + .long 602154914 + .long 3189567857 + .long 3140105848 + .long 3230017366 + .long 659160740 + .long 3189567417 + .long 453573824 + .long 3230017369 + .long 236889930 + .long 3189567396 + .long 2050198592 + .long 3230017371 + .long 1175634921 + .long 3189567087 + .long 3635040168 + .long 3230017373 + .long 1241855527 + .long 3189567941 + .long 913158504 + .long 3230017376 + .long 3947904414 + .long 3189567477 + .long 2474515312 + .long 3230017378 + .long 1206979822 + .long 3189567534 + .long 4024170344 + .long 3230017380 + .long 1847397805 + .long 3189567152 + .long 1267183240 + .long 3230017383 + .long 2916539301 + .long 3189567754 + .long 2793515456 + .long 3230017385 + .long 2568213263 + .long 3189568078 + .long 13259168 + .long 3230017388 + .long 3003245330 + .long 3189567303 + .long 1516375624 + .long 3230017390 + .long 3472633477 + .long 3189567153 + .long 3007924104 + .long 3230017392 + .long 532406289 + .long 3189567855 + .long 192963816 + .long 3230017395 + .long 4149310663 + .long 3189567165 + .long 1661455728 + .long 3230017397 + .long 946970842 + .long 3189567598 + .long 3118458864 + .long 3230017399 + .long 2040517972 + .long 3189567254 + .long 269032128 + .long 3230017402 + .long 3669971831 + .long 3189568072 + .long 1703136256 + .long 3230017404 + .long 2375197389 + .long 3189567687 + .long 3125829976 + .long 3230017406 + .long 296757744 + .long 3189567673 + .long 242171944 + .long 3230017409 + .long 611424102 + .long 3189567452 + .long 1642122608 + .long 3230017411 + .long 1700968423 + .long 3189567419 + .long 3030740440 + .long 3230017413 + .long 2947762668 + .long 3189567968 + .long 113083840 + .long 3230017416 + .long 690901756 + .long 3189567496 + .long 1479112984 + .long 3230017418 + .long 121139903 + .long 3189567571 + .long 2833886088 + .long 3230017420 + .long 173386055 + .long 3189567866 + .long 4177428584 + .long 3230017422 + .long 2964718132 + .long 3189567231 + .long 1214798496 + .long 3230017425 + .long 541562024 + .long 3189567842 + .long 2535955680 + .long 3230017427 + .long 3368765612 + .long 3189568076 + .long 3845958008 + .long 3230017429 + .long 3194541507 + .long 3189567689 + .long 849863256 + .long 3230017432 + .long 3443356552 + .long 3189567858 + .long 2137631024 + .long 3230017434 + .long 1180679397 + .long 3189567138 + .long 3414318912 + .long 3230017436 + .long 2261929999 + .long 3189567651 + .long 384984464 + .long 3230017439 + .long 954057098 + .long 3189567971 + .long 1639587024 + .long 3230017441 + .long 1346995839 + .long 3189567263 + .long 2883183944 + .long 3230017443 + .long 3253373727 + .long 3189567382 + .long 4115799808 + .long 3230017445 + .long 4143791142 + .long 3189567800 + .long 1042491824 + .long 3230017448 + .long 4240432954 + .long 3189567700 + .long 2253218992 + .long 3230017450 + .long 1891708033 + .long 3189568072 + .long 3453038360 + .long 3230017452 + .long 710292621 + .long 3189567662 + .long 347006880 + .long 3230017455 + .long 2712254611 + .long 3189567116 + .long 1525083304 + .long 3230017457 + .long 349583280 + .long 3189568004 + .long 2692324448 + .long 3230017459 + .long 1803227864 + .long 3189567740 + .long 3848754312 + .long 3230017461 + .long 3644606976 + .long 3189567826 + .long 699429536 + .long 3230017464 + .long 1067153346 + .long 3189567751 + .long 1834308568 + .long 3230017466 + .long 1335350692 + .long 3189567081 + .long 2958447872 + .long 3230017468 + .long 1803696599 + .long 3189567557 + .long 4071871152 + .long 3230017470 + .long 1232152547 + .long 3189568017 + .long 879634736 + .long 3230017473 + .long 1455437901 + .long 3189567512 + .long 1971696744 + .long 3230017475 + .long 3708110750 + .long 3189567399 + .long 3053113344 + .long 3230017477 + .long 3907324819 + .long 3189567290 + .long 4123907920 + .long 3230017479 + .long 4080000314 + .long 3189567141 + .long 889136480 + .long 3230017482 + .long 1286519001 + .long 3189567298 + .long 1938756848 + .long 3230017484 + .long 1292347423 + .long 3189567513 + .long 2977824880 + .long 3230017486 + .long 1159725249 + .long 3189568015 + .long 4006363664 + .long 3230017488 + .long 895621348 + .long 3189567502 + .long 729428896 + .long 3230017491 + .long 1212894155 + .long 3189567280 + .long 1736978096 + .long 3230017493 + .long 296117275 + .long 3189567210 + .long 2734066816 + .long 3230017495 + .long 2463481211 + .long 3189567796 + .long 3720717848 + .long 3230017497 + .long 76524950 + .long 3189567159 + .long 401986584 + .long 3230017500 + .long 1718551671 + .long 3189567216 + .long 1367830248 + .long 3230017502 + .long 3568874946 + .long 3189567584 + .long 2323304104 + .long 3230017504 + .long 2763456396 + .long 3189567666 + .long 3268430632 + .long 3230017506 + .long 1208592501 + .long 3189567715 + .long 4203232240 + .long 3230017508 + .long 4148835618 + .long 3189567851 + .long 832763976 + .long 3230017511 + .long 610418007 + .long 3189567082 + .long 1746982680 + .long 3230017513 + .long 3035714190 + .long 3189567431 + .long 2650943256 + .long 3230017515 + .long 85931336 + .long 3189567843 + .long 3544667832 + .long 3230017517 + .long 3006685957 + .long 3189567286 + .long 133211144 + .long 3230017520 + .long 878859600 + .long 3189567873 + .long 1006529776 + .long 3230017522 + .long 854333969 + .long 3189567724 + .long 1869678336 + .long 3230017524 + .long 3058646748 + .long 3189567155 + .long 2722678648 + .long 3230017526 + .long 360733640 + .long 3189567693 + .long 3565552488 + .long 3230017528 + .long 3015564990 + .long 3189568013 + .long 103354256 + .long 3230017531 + .long 2286095909 + .long 3189568081 + .long 926040176 + .long 3230017533 + .long 1899270393 + .long 3189567137 + .long 1738664488 + .long 3230017535 + .long 1377641292 + .long 3189567833 + .long 2541248696 + .long 3230017537 + .long 4266686523 + .long 3189568077 + .long 3333814224 + .long 3230017539 + .long 4018775563 + .long 3189567218 + .long 4116382408 + .long 3230017541 + .long 3373913644 + .long 3189567103 + .long 594007232 + .long 3230017544 + .long 2818265402 + .long 3189568021 + .long 1356644520 + .long 3230017546 + .long 1075601108 + .long 3189567716 + .long 2109348112 + .long 3230017548 + .long 3342127702 + .long 3189567566 + .long 2852139088 + .long 3230017550 + .long 2910355434 + .long 3189567504 + .long 3585038464 + .long 3230017552 + .long 611858749 + .long 3189567074 + .long 13099880 + .long 3230017555 + .long 1954698831 + .long 3189567516 + .long 726278816 + .long 3230017557 + .long 550712630 + .long 3189567710 + .long 1429628792 + .long 3230017559 + .long 3672474493 + .long 3189567278 + .long 2123170544 + .long 3230017561 + .long 1160875209 + .long 3189567651 + .long 2806924760 + .long 3230017563 + .long 2242524344 + .long 3189568000 + .long 3480912064 + .long 3230017565 + .long 2823138691 + .long 3189567327 + .long 4145152992 + .long 3230017567 + .long 3521079748 + .long 3189567568 + .long 504700744 + .long 3230017570 + .long 1136670137 + .long 3189567486 + .long 1149510328 + .long 3230017572 + .long 806933442 + .long 3189567823 + .long 1784634816 + .long 3230017574 + .long 1606084669 + .long 3189567242 + .long 2410094488 + .long 3230017576 + .long 2841342625 + .long 3189567480 + .long 3025909584 + .long 3230017578 + .long 984188059 + .long 3189567239 + .long 3632100264 + .long 3230017580 + .long 3011730434 + .long 3189567337 + .long 4228686632 + .long 3230017582 + .long 328432041 + .long 3189567676 + .long 520721440 + .long 3230017585 + .long 2057225622 + .long 3189567268 + .long 1098159248 + .long 3230017587 + .long 3150727306 + .long 3189567348 + .long 1666052680 + .long 3230017589 + .long 3291380622 + .long 3189567307 + .long 2224421584 + .long 3230017591 + .long 3570771984 + .long 3189567798 + .long 2773285760 + .long 3230017593 + .long 2427604440 + .long 3189567698 + .long 3312664936 + .long 3230017595 + .long 3733848165 + .long 3189567211 + .long 3842578768 + .long 3230017597 + .long 2673912350 + .long 3189567904 + .long 68079584 + .long 3230017600 + .long 960995892 + .long 3189567616 + .long 579121512 + .long 3230017602 + .long 4150493479 + .long 3189567659 + .long 1080756744 + .long 3230017604 + .long 1054941272 + .long 3189567735 + .long 1573004704 + .long 3230017606 + .long 2574365292 + .long 3189568007 + .long 2055884768 + .long 3230017608 + .long 2507498673 + .long 3189567092 + .long 2529416224 + .long 3230017610 + .long 2082176323 + .long 3189567207 + .long 2993618320 + .long 3230017612 + .long 3719982601 + .long 3189568058 + .long 3448510256 + .long 3230017614 + .long 4104247904 + .long 3189567897 + .long 3894111152 + .long 3230017616 + .long 3735557011 + .long 3189567647 + .long 35472776 + .long 3230017619 + .long 2914260983 + .long 3189567862 + .long 462548736 + .long 3230017621 + .long 1334094042 + .long 3189567734 + .long 880390688 + .long 3230017623 + .long 1291097379 + .long 3189567171 + .long 1289017512 + .long 3230017625 + .long 1627119803 + .long 3189567853 + .long 1688448064 + .long 3230017627 + .long 3886873723 + .long 3189567117 + .long 2078701104 + .long 3230017629 + .long 627887757 + .long 3189567206 + .long 2459795360 + .long 3230017631 + .long 1722013861 + .long 3189567101 + .long 2831749488 + .long 3230017633 + .long 4163262354 + .long 3189567678 + .long 3194582104 + .long 3230017635 + .long 4170237688 + .long 3189567639 + .long 3548311752 + .long 3230017637 + .long 47563772 + .long 3189567637 + .long 3892956928 + .long 3230017639 + .long 2990136007 + .long 3189567231 + .long 4228536056 + .long 3230017641 + .long 4294532248 + .long 3189567995 + .long 260100240 + .long 3230017644 + .long 2060709623 + .long 3189567397 + .long 577602376 + .long 3230017646 + .long 1488525373 + .long 3189568044 + .long 886093456 + .long 3230017648 + .long 1657840200 + .long 3189567474 + .long 1185591680 + .long 3230017650 + .long 3155771782 + .long 3189567399 + .long 1476115208 + .long 3230017652 + .long 2195162329 + .long 3189567591 + .long 1757682144 + .long 3230017654 + .long 1292806663 + .long 3189567956 + .long 2030310544 + .long 3230017656 + .long 2151451208 + .long 3189567540 + .long 2294018392 + .long 3230017658 + .long 2224122735 + .long 3189567630 + .long 2548823632 + .long 3230017660 + .long 3554417607 + .long 3189567684 + .long 2794744152 + .long 3230017662 + .long 3831650627 + .long 3189567409 + .long 3031797776 + .long 3230017664 + .long 4024246224 + .long 3189567811 + .long 3260002296 + .long 3230017666 + .long 2530219738 + .long 3189567128 + .long 3479375416 + .long 3230017668 + .long 1618145996 + .long 3189568024 + .long 3689934832 + .long 3230017670 + .long 392379700 + .long 3189567378 + .long 3891698144 + .long 3230017672 + .long 55874694 + .long 3189567574 + .long 4084682928 + .long 3230017674 + .long 4294251475 + .long 3189567312 + .long 4268906688 + .long 3230017676 + .long 1899705040 + .long 3189567783 + .long 149419600 + .long 3230017679 + .long 357699389 + .long 3189567568 + .long 316173656 + .long 3230017681 + .long 3025711727 + .long 3189567790 + .long 474218920 + .long 3230017683 + .long 2921891821 + .long 3189568046 + .long 623572704 + .long 3230017685 + .long 1716968749 + .long 3189567453 + .long 764252248 + .long 3230017687 + .long 2393171526 + .long 3189567748 + .long 896274768 + .long 3230017689 + .long 1343317993 + .long 3189567172 + .long 1019657400 + .long 3230017691 + .long 1388235839 + .long 3189567661 + .long 1134417256 + .long 3230017693 + .long 2766147125 + .long 3189567706 + .long 1240571384 + .long 3230017695 + .long 2162068842 + .long 3189567499 + .long 1338136776 + .long 3230017697 + .long 4075455588 + .long 3189567932 + .long 1427130392 + .long 3230017699 + .long 1579647664 + .long 3189567555 + .long 1507569120 + .long 3230017701 + .long 3785749868 + .long 3189567715 + .long 1579469816 + .long 3230017703 + .long 2639950365 + .long 3189567469 + .long 1642849272 + .long 3230017705 + .long 3611501026 + .long 3189567698 + .long 1697724240 + .long 3230017707 + .long 15422953 + .long 3189568066 + .long 1744111424 + .long 3230017709 + .long 2642213241 + .long 3189568062 + .long 1782027472 + .long 3230017711 + .long 143606300 + .long 3189568058 + .long 1811488992 + .long 3230017713 + .long 501328690 + .long 3189567276 + .long 1832512520 + .long 3230017715 + .long 3258054578 + .long 3189567915 + .long 1845114576 + .long 3230017717 + .long 1297851139 + .long 3189568007 + .long 1849311616 + .long 3230017719 + .long 3589200000 + .long 3189567580 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 2846560486 + .long 3210737666 + .long 2729511872 + .long 3211784202 + .long 3956813460 + .long 3212307985 + .long 1796237193 + .long 3212828714 + .long 1562748889 + .long 3213092649 + .long 1602292343 + .long 3213352007 + .long 745814092 + .long 3213610865 + .long 2969306084 + .long 3213869224 + .long 3953060839 + .long 3214006263 + .long 1128703349 + .long 3214134948 + .long 1371067273 + .long 3214263386 + .long 131445019 + .long 3214391579 + .long 1427948820 + .long 3214519527 + .long 665817496 + .long 3214647232 + .long 1817459908 + .long 3214774694 + .long 242758400 + .long 3214901915 + .long 2082038134 + .long 3214981455 + .long 2300828032 + .long 3215044825 + .long 571795571 + .long 3215108076 + .long 3120479584 + .long 3215171207 + .long 3276640540 + .long 3215234220 + .long 2949178581 + .long 3215297115 + .long 4036279704 + .long 3215359892 + .long 4130528508 + .long 3215422552 + .long 813954767 + .long 3215485096 + .long 248046571 + .long 3215547523 + .long 4288926261 + .long 3215609833 + .long 1897492927 + .long 3215672029 + .long 3499237165 + .long 3215734109 + .long 2329611090 + .long 3215796075 + .long 203907094 + .long 3215857927 + .long 3222364838 + .long 3215919664 + .long 295408387 + .long 3215981289 + .long 899212401 + .long 3216012696 + .long 2606049022 + .long 3216043395 + .long 4003691233 + .long 3216074038 + .long 1675303236 + .long 3216104626 + .long 789189655 + .long 3216135158 + .long 2213928479 + .long 3216165634 + .long 2518405585 + .long 3216196055 + .long 2561783534 + .long 3216226421 + .long 3198568176 + .long 3216256732 + .long 983674944 + .long 3216286989 + .long 1057364031 + .long 3216317191 + .long 4260371496 + .long 3216347338 + .long 2838974660 + .long 3216377432 + .long 1919860988 + .long 3216407472 + .long 2330291020 + .long 3216437458 + .long 598130195 + .long 3216467391 + .long 1836782285 + .long 3216497270 + .long 2565351466 + .long 3216527096 + .long 3593575201 + .long 3216556869 + .long 1431920350 + .long 3216586590 + .long 1176515501 + .long 3216616258 + .long 3624279252 + .long 3216645873 + .long 977982819 + .long 3216675437 + .long 2616083454 + .long 3216704948 + .long 733015457 + .long 3216734408 + .long 403990373 + .long 3216763816 + .long 2405156675 + .long 3216793172 + .long 3213628385 + .long 3216822477 + .long 3597448029 + .long 3216851731 + .long 25680167 + .long 3216880935 + .long 1848308454 + .long 3216910087 + .long 1231492199 + .long 3216939189 + .long 3222364838 + .long 3216968240 + .long 4274224607 + .long 3216997241 + .long 836496059 + .long 3217026193 + .long 1119829323 + .long 3217043131 + .long 315251054 + .long 3217057557 + .long 518461891 + .long 3217071958 + .long 2094042713 + .long 3217086334 + .long 1109735857 + .long 3217100686 + .long 2221359788 + .long 3217115013 + .long 1492952593 + .long 3217129316 + .long 3576653728 + .long 3217143594 + .long 237880003 + .long 3217157849 + .long 420109003 + .long 3217172079 + .long 180120274 + .long 3217186285 + .long 4162843939 + .long 3217200466 + .long 4126536273 + .long 3217214624 + .long 417628115 + .long 3217228759 + .long 1970736719 + .long 3217242869 + .long 538873716 + .long 3217256956 + .long 758227830 + .long 3217271019 + .long 2968307242 + .long 3217285058 + .long 3211951040 + .long 3217299074 + .long 1825275166 + .long 3217313067 + .long 3437683677 + .long 3217327036 + .long 4086978021 + .long 3217340982 + .long 4104270002 + .long 3217354905 + .long 3819025464 + .long 3217368805 + .long 3559075183 + .long 3217382682 + .long 3650625670 + .long 3217396536 + .long 123302585 + .long 3217410368 + .long 1890030548 + .long 3217424176 + .long 682272600 + .long 3217437962 + .long 1114811729 + .long 3217451725 + .long 3505892050 + .long 3217465465 + .long 3877229085 + .long 3217479183 + .long 2543954549 + .long 3217492879 + .long 4114626469 + .long 3217506552 + .long 311370023 + .long 3217520204 + .long 34658569 + .long 3217533833 + .long 3593519732 + .long 3217547439 + .long 2705545195 + .long 3217561024 + .long 1971736889 + .long 3217574587 + .long 1696647441 + .long 3217588128 + .long 2183357019 + .long 3217601647 + .long 3733482817 + .long 3217615144 + .long 2352221150 + .long 3217628620 + .long 2633258676 + .long 3217642074 + .long 578912458 + .long 3217655507 + .long 780008323 + .long 3217668918 + .long 3530988084 + .long 3217682307 + .long 534951267 + .long 3217695676 + .long 673467853 + .long 3217709023 + .long 4236783385 + .long 3217722348 + .long 2923827788 + .long 3217735653 + .long 1317060595 + .long 3217748937 + .long 3997577740 + .long 3217762199 + .long 2660218276 + .long 3217775441 + .long 1883376699 + .long 3217788662 + .long 1949142230 + .long 3217801862 + .long 3138274530 + .long 3217815041 + .long 1435244737 + .long 3217828200 + .long 1413145637 + .long 3217841338 + .long 3348797986 + .long 3217854455 + .long 3222758658 + .long 3217867552 + .long 1309263324 + .long 3217880629 + .long 2176234471 + .long 3217893685 + .long 1800387473 + .long 3217906721 + .long 452140382 + .long 3217919737 + .long 2695621757 + .long 3217932732 + .long 208809263 + .long 3217945708 + .long 1848308454 + .long 3217958663 + .long 3584589359 + .long 3217971598 + .long 1386895968 + .long 3217984514 + .long 4108155659 + .long 3217997409 + .long 3420215606 + .long 3218010285 + .long 3878621277 + .long 3218023141 + .long 1447787319 + .long 3218035978 + .long 680874053 + .long 3218048795 + .long 1834892843 + .long 3218061592 + .long 870713292 + .long 3218074370 + .long 1168986141 + .long 3218083436 + .long 3245089583 + .long 3218089805 + .long 2494877761 + .long 3218096165 + .long 3338922950 + .long 3218102515 + .long 1607293197 + .long 3218108856 + .long 1719424943 + .long 3218115187 + .long 3799224547 + .long 3218121508 + .long 3675071677 + .long 3218127820 + .long 1469757259 + .long 3218134123 + .long 1600486820 + .long 3218140416 + .long 4188949205 + .long 3218146699 + .long 766352567 + .long 3218152974 + .long 43231408 + .long 3218159239 + .long 2139646042 + .long 3218165494 + .long 2880153102 + .long 3218171740 + .long 2383743325 + .long 3218177977 + .long 768877423 + .long 3218184205 + .long 2448456521 + .long 3218190423 + .long 3244923387 + .long 3218196632 + .long 3275167422 + .long 3218202832 + .long 2655560435 + .long 3218209023 + .long 1501959692 + .long 3218215205 + .long 4224678246 + .long 3218221377 + .long 2348618756 + .long 3218227541 + .long 283080250 + .long 3218233696 + .long 2436859197 + .long 3218239841 + .long 333350563 + .long 3218245978 + .long 2675321801 + .long 3218252105 + .long 985177381 + .long 3218258224 + .long 3964700035 + .long 3218264333 + .long 3135315249 + .long 3218270434 + .long 2902865164 + .long 3218276526 + .long 3377742213 + .long 3218282609 + .long 374891912 + .long 3218288684 + .long 2593684821 + .long 3218294749 + .long 1553148222 + .long 3218300806 + .long 1656739931 + .long 3218306854 + .long 3012481825 + .long 3218312893 + .long 1432962538 + .long 3218318924 + .long 1320242026 + .long 3218324946 + .long 2780952336 + .long 3218330959 + .long 1626300240 + .long 3218336964 + .long 2256971748 + .long 3218342960 + .long 483265518 + .long 3218348948 + .long 704964628 + .long 3218354927 + .long 3026437244 + .long 3218360897 + .long 3256639170 + .long 3218366859 + .long 1499050969 + .long 3218372813 + .long 2151680465 + .long 3218378758 + .long 1022163351 + .long 3218384695 + .long 2507634849 + .long 3218390623 + .long 2414862975 + .long 3218396543 + .long 845152874 + .long 3218402455 + .long 2194349235 + .long 3218408358 + .long 2267936813 + .long 3218414253 + .long 1165944702 + .long 3218420140 + .long 3282948707 + .long 3218426018 + .long 128204514 + .long 3218431889 + .long 390421100 + .long 3218437751 + .long 4167959282 + .long 3218443604 + .long 2968834018 + .long 3218449450 + .long 1185553177 + .long 3218455288 + .long 3210217930 + .long 3218461117 + .long 549623114 + .long 3218466939 + .long 1890030548 + .long 3218472752 + .long 3032400188 + .long 3218478557 + .long 4072261525 + .long 3218484354 + .long 3450874911 + .long 1070995813 + .long 2331021804 + .long 1070990032 + .long 1029453230 + .long 1070984259 + .long 3747176240 + .long 1070978493 + .long 1800682930 + .long 1070972736 + .long 3686719393 + .long 1070966986 + .long 722545241 + .long 1070961245 + .long 1405669883 + .long 1070955511 + .long 1349079372 + .long 1070949785 + .long 461103529 + .long 1070944067 + .long 2945413886 + .long 1070938356 + .long 121152472 + .long 1070932654 + .long 487700860 + .long 1070926959 + .long 3954874384 + .long 1070921271 + .long 1842920138 + .long 1070915592 + .long 2652318780 + .long 1070909920 + .long 1999011482 + .long 1070904256 + .long 4089234463 + .long 1070898599 + .long 244680560 + .long 1070892951 + .long 3262235675 + .long 1070887309 + .long 169336595 + .long 1070881676 + .long 3763576649 + .long 1070876049 + .long 1073096258 + .long 1070870431 + .long 601221319 + .long 1070864820 + .long 2261690268 + .long 1070859216 + .long 1673619518 + .long 1070853620 + .long 3046403514 + .long 1070848031 + .long 1999843716 + .long 1070842450 + .long 2744015967 + .long 1070836876 + .long 899399508 + .long 1070831310 + .long 676744370 + .long 1070825751 + .long 1992167703 + .long 1070820199 + .long 467152011 + .long 1070814655 + .long 313445281 + .long 1070809118 + .long 1448157352 + .long 1070803588 + .long 3788725476 + .long 1070798065 + .long 2957945300 + .long 1070792550 + .long 3168871046 + .long 1070787042 + .long 44944622 + .long 1070781542 + .long 2094830420 + .long 1070776048 + .long 647642559 + .long 1070770562 + .long 4212681596 + .long 1070765082 + .long 4119694493 + .long 1070759610 + .long 288676754 + .long 1070754146 + .long 1229870791 + .long 1070748688 + .long 2568927817 + .long 1070743237 + .long 4226775419 + .long 1070737793 + .long 1829681364 + .long 1070732357 + .long 3889121191 + .long 1070726927 + .long 1737005556 + .long 1070721505 + .long 3885417029 + .long 1070716089 + .long 1666870165 + .long 1070710681 + .long 3594048319 + .long 1070705279 + .long 1000063738 + .long 1070699885 + .long 2398194399 + .long 1070694497 + .long 3417111411 + .long 1070689116 + .long 3980746691 + .long 1070683742 + .long 4013324163 + .long 1070678375 + .long 3439358267 + .long 1070673015 + .long 2183652476 + .long 1070667662 + .long 171297820 + .long 1070662316 + .long 1622638721 + .long 1070656976 + .long 2168369647 + .long 1070651643 + .long 1734435555 + .long 1070646317 + .long 247063161 + .long 1070640998 + .long 1927726804 + .long 1070635685 + .long 2408245143 + .long 1070630379 + .long 1615681634 + .long 1070625080 + .long 3772343130 + .long 1070619787 + .long 215909304 + .long 1070614502 + .long 3759169634 + .long 1070609222 + .long 1445381777 + .long 1070603950 + .long 1792910451 + .long 1070598684 + .long 870975437 + .long 1070590754 + .long 3194096222 + .long 1070580248 + .long 1823716217 + .long 1070569756 + .long 913800688 + .long 1070559277 + .long 323875369 + .long 1070548811 + .long 4208958430 + .long 1070538357 + .long 3839688678 + .long 1070527917 + .long 3372126730 + .long 1070517490 + .long 2667883253 + .long 1070507076 + .long 1589083690 + .long 1070496675 + .long 4293333010 + .long 1070486286 + .long 2053843986 + .long 1070475911 + .long 3324205749 + .long 1070465548 + .long 3673610217 + .long 1070455198 + .long 2966718784 + .long 1070444861 + .long 1068692560 + .long 1070434537 + .long 2140157205 + .long 1070424225 + .long 1752298597 + .long 1070413926 + .long 4066729595 + .long 1070403639 + .long 360651144 + .long 1070393366 + .long 3386588242 + .long 1070383104 + .long 127747308 + .long 1070372856 + .long 3337621361 + .long 1070362619 + .long 380113 + .long 1070352396 + .long 2870475188 + .long 1070342184 + .long 3227997535 + .long 1070331985 + .long 943446189 + .long 1070321799 + .long 182758681 + .long 1070311625 + .long 817374162 + .long 1070301463 + .long 2719198427 + .long 1070291313 + .long 1465634365 + .long 1070281176 + .long 1224481606 + .long 1070271051 + .long 1869032404 + .long 1070260938 + .long 3273036717 + .long 1070250837 + .long 1015732707 + .long 1070240749 + .long 3561713742 + .long 1070230672 + .long 2196155141 + .long 1070220608 + .long 1089583089 + .long 1070210556 + .long 118003300 + .long 1070200516 + .long 3452833475 + .long 1070190487 + .long 2381031992 + .long 1070180471 + .long 1074899573 + .long 1070170467 + .long 3707175295 + .long 1070160474 + .long 1566132617 + .long 1070150494 + .long 3120348377 + .long 1070140525 + .long 3953929663 + .long 1070130568 + .long 3946380940 + .long 1070120623 + .long 2977634725 + .long 1070110690 + .long 928049556 + .long 1070100769 + .long 1973375279 + .long 1070090859 + .long 1699849154 + .long 1070080961 + .long 4284063055 + .long 1070071074 + .long 1018125008 + .long 1070061200 + .long 374428300 + .long 1070051337 + .long 2235845747 + .long 1070041485 + .long 2190695046 + .long 1070031645 + .long 122671437 + .long 1070021817 + .long 210845780 + .long 1070012000 + .long 2339728060 + .long 1070002194 + .long 2099265479 + .long 1069992400 + .long 3669742467 + .long 1069982617 + .long 2641909617 + .long 1069972846 + .long 3196851002 + .long 1069963086 + .long 926113142 + .long 1069953338 + .long 11572342 + .long 1069943601 + .long 340530969 + .long 1069933875 + .long 1800682930 + .long 1069924160 + .long 4280111857 + .long 1069914456 + .long 3372322013 + .long 1069904764 + .long 3261138386 + .long 1069895083 + .long 3835803021 + .long 1069885413 + .long 690973253 + .long 1069875755 + .long 2306589128 + .long 1069866107 + .long 4278067876 + .long 1069856470 + .long 2201204065 + .long 1069846845 + .long 262102455 + .long 1069837231 + .long 2647241692 + .long 1069827627 + .long 658570708 + .long 1069818035 + .long 2778278092 + .long 1069808453 + .long 309052031 + .long 1069798883 + .long 1733817001 + .long 1069789323 + .long 2650961017 + .long 1069779774 + .long 2954203158 + .long 1069770236 + .long 2537624622 + .long 1069760709 + .long 1295667077 + .long 1069751193 + .long 3418098326 + .long 1069741687 + .long 210141498 + .long 1069732193 + .long 157244505 + .long 1069722709 + .long 3155274661 + .long 1069713235 + .long 510517079 + .long 1069703773 + .long 709476866 + .long 1069694321 + .long 3649073763 + .long 1069684879 + .long 636640577 + .long 1069675449 + .long 159725394 + .long 1069666029 + .long 2116286250 + .long 1069656619 + .long 2109656884 + .long 1069647220 + .long 38479793 + .long 1069637832 + .long 96704707 + .long 1069628454 + .long 2183652476 + .long 1069619086 + .long 1904013563 + .long 1069609729 + .long 3452748429 + .long 1069600382 + .long 2435216853 + .long 1069591046 + .long 3047045639 + .long 1069581720 + .long 894257944 + .long 1069572405 + .long 173141005 + .long 1069563100 + .long 785342784 + .long 1069553805 + .long 970708326 + .long 1069541521 + .long 2645916898 + .long 1069522972 + .long 2106590683 + .long 1069504444 + .long 3453588195 + .long 1069485936 + .long 2198475040 + .long 1069467449 + .long 2443390270 + .long 1069448982 + .long 3996141691 + .long 1069430535 + .long 2370203065 + .long 1069412109 + .long 1669613218 + .long 1069393703 + .long 1704071394 + .long 1069375317 + .long 2283901796 + .long 1069356951 + .long 3220050856 + .long 1069338605 + .long 29117219 + .long 1069320280 + .long 1113218225 + .long 1069301974 + .long 1990183441 + .long 1069283688 + .long 2473421172 + .long 1069265422 + .long 2376948508 + .long 1069247176 + .long 1515388672 + .long 1069228950 + .long 3998935692 + .long 1069210743 + .long 1053482595 + .long 1069192557 + .long 1085389880 + .long 1069174390 + .long 3911679148 + .long 1069156242 + .long 760030536 + .long 1069138115 + .long 38583924 + .long 1069120007 + .long 1566132617 + .long 1069101918 + .long 867088104 + .long 1069083849 + .long 2056379433 + .long 1069065799 + .long 659581512 + .long 1069047769 + .long 792781808 + .long 1069029758 + .long 2277675977 + .long 1069011766 + .long 641565395 + .long 1068993794 + .long 2256601 + .long 1068975841 + .long 183156961 + .long 1068957907 + .long 1008239542 + .long 1068939992 + .long 2302040698 + .long 1068922096 + .long 3889657667 + .long 1068904219 + .long 1301778891 + .long 1068886362 + .long 2954550821 + .long 1068868523 + .long 84804484 + .long 1068850704 + .long 1109791498 + .long 1068832903 + .long 1562410668 + .long 1068815121 + .long 1271074840 + .long 1068797358 + .long 64741293 + .long 1068779614 + .long 2067876735 + .long 1068761888 + .long 2815553124 + .long 1068744181 + .long 2138347284 + .long 1068726493 + .long 4162338635 + .long 1068708823 + .long 129237761 + .long 1068691173 + .long 2756122533 + .long 1068673540 + .long 3285762921 + .long 1068655926 + .long 1551389854 + .long 1068638331 + .long 1681725707 + .long 1068620754 + .long 3511047527 + .long 1068603195 + .long 2579184841 + .long 1068585655 + .long 3016419377 + .long 1068568133 + .long 363613719 + .long 1068550630 + .long 3047045639 + .long 1068533144 + .long 2313634884 + .long 1068515677 + .long 296456961 + .long 1068497513 + .long 1367328035 + .long 1068462651 + .long 3221665916 + .long 1068427825 + .long 1242258971 + .long 1068393036 + .long 3697798734 + .long 1068358282 + .long 1678104687 + .long 1068323565 + .long 3453858508 + .long 1068288883 + .long 116861598 + .long 1068254238 + .long 4234736672 + .long 1068219627 + .long 2606283437 + .long 1068185053 + .long 3506114812 + .long 1068150514 + .long 2324914545 + .long 1068116011 + .long 3044269692 + .long 1068081543 + .long 1056797460 + .long 1068047111 + .long 346010435 + .long 1068012714 + .long 601410756 + .long 1067978352 + .long 1513453498 + .long 1067944025 + .long 2773542775 + .long 1067909733 + .long 4074027864 + .long 1067875476 + .long 813232056 + .long 1067841255 + .long 1275317999 + .long 1067807068 + .long 860480111 + .long 1067772916 + .long 3559777258 + .long 1067738798 + .long 480292498 + .long 1067704716 + .long 4204867691 + .long 1067670667 + .long 1547459502 + .long 1067636654 + .long 797775935 + .long 1067602675 + .long 1656501562 + .long 1067568730 + .long 3825228429 + .long 1067534819 + .long 2711485098 + .long 1067500943 + .long 2313634884 + .long 1067467101 + .long 376973398 + .long 1067416219 + .long 672386641 + .long 1067348671 + .long 630691842 + .long 1067281191 + .long 3960777458 + .long 1067213778 + .long 1488394470 + .long 1067146434 + .long 1220920383 + .long 1067079157 + .long 2577548405 + .long 1067011947 + .long 684247743 + .long 1066944805 + .long 3553625811 + .long 1066877729 + .long 2020150230 + .long 1066810721 + .long 4099880293 + .long 1066743779 + .long 630721729 + .long 1066676905 + .long 3927125538 + .long 1066610096 + .long 535440936 + .long 1066543355 + .long 2773516144 + .long 1066476679 + .long 1486051399 + .long 1066410070 + .long 808661260 + .long 1066285262 + .long 2227658502 + .long 1066152307 + .long 1813447778 + .long 1066019484 + .long 2743640746 + .long 1065886792 + .long 3904192454 + .long 1065754231 + .long 4184355568 + .long 1065621801 + .long 2476667369 + .long 1065489502 + .long 1971904113 + .long 1065357333 + .long 3138267131 + .long 1065097372 + .long 341338964 + .long 1064833554 + .long 1954052322 + .long 1064569994 + .long 1498975029 + .long 1064306693 + .long 2190050752 + .long 1063782660 + .long 1440057502 + .long 1063257089 + .long 1432705161 + .long 1062208000 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040187392 + .long 0 + .long 1040187392 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 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_dlog1p_data_internal,@object + .size __svml_dlog1p_data_internal,13760 + .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 + +.FLT_20: + .long 0x00000000,0x43380000,0x00000000,0x43380000 + .type .FLT_20,@object + .size .FLT_20,16 + .align 16 + +.FLT_85: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_85,@object + .size .FLT_85,16 + .align 8 + +.FLT_86: + .long 0x00000000,0x3ff00000 + .type .FLT_86,@object + .size .FLT_86,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core-sse.S new file mode 100644 index 0000000000..ec01af680c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized log1p, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_log1p _ZGVdN4v_log1p_sse_wrapper +#include "../svml_d_log1p4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core.c new file mode 100644 index 0000000000..808f3224ef --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized log1p, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_log1p +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_log1p, __GI__ZGVdN4v_log1p, __redirect__ZGVdN4v_log1p) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core_avx2.S new file mode 100644 index 0000000000..7e51cf9489 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core_avx2.S @@ -0,0 +1,4903 @@ +/* Function logp4 vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * Get short reciprocal approximation Rcp ~ 1/xh + * R = (Rcp*xh - 1.0) + Rcp*xl + * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) + * log(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_log1p_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea -4218816+__svml_dlog1p_data_internal(%rip), %rax + +/* SgnMask used by all accuracies */ + vmovupd 12928+__svml_dlog1p_data_internal(%rip), %ymm2 + vmovupd 12864+__svml_dlog1p_data_internal(%rip), %ymm7 + vmovups %ymm9, 96(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm11, 192(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovapd %ymm0, %ymm9 + vandpd %ymm2, %ymm9, %ymm6 + vcmplt_oqpd 12992+__svml_dlog1p_data_internal(%rip), %ymm6, %ymm5 + vaddpd %ymm7, %ymm9, %ymm1 + +/* compute 1+x as high, low parts */ + vmaxpd %ymm9, %ymm7, %ymm10 + vminpd %ymm9, %ymm7, %ymm11 + +/* 2^ (-10-exp(X) ) */ + vmovupd 13504+__svml_dlog1p_data_internal(%rip), %ymm0 + vorpd 13056+__svml_dlog1p_data_internal(%rip), %ymm5, %ymm3 + vandpd %ymm3, %ymm1, %ymm4 + +/* preserve mantissa, set input exponent to 2^(-10) */ + vandpd 12544+__svml_dlog1p_data_internal(%rip), %ymm4, %ymm13 + vorpd 12608+__svml_dlog1p_data_internal(%rip), %ymm13, %ymm5 + +/* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm5, %xmm14 + +/* exponent*log(2.0) */ + vmovupd 13248+__svml_dlog1p_data_internal(%rip), %ymm13 + vsubpd %ymm4, %ymm10, %ymm12 + vrcpps %xmm14, %xmm15 + vaddpd %ymm12, %ymm11, %ymm6 + +/* check range */ + vcmplt_oqpd 12672+__svml_dlog1p_data_internal(%rip), %ymm9, %ymm11 + vcmpnle_uqpd 12736+__svml_dlog1p_data_internal(%rip), %ymm9, %ymm12 + vcvtps2pd %xmm15, %ymm1 + +/* Compute SignMask for all accuracies, including EP */ + vandnpd %ymm9, %ymm2, %ymm8 + +/* exponent of X needed to scale Xl */ + vandps 13440+__svml_dlog1p_data_internal(%rip), %ymm4, %ymm2 + +/* exponent bits */ + vpsrlq $20, %ymm4, %ymm4 + vpsubq %ymm2, %ymm0, %ymm10 + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm1, %ymm3 + vfmsub213pd %ymm7, %ymm3, %ymm5 + +/* scale DblRcp */ + vmulpd %ymm10, %ymm3, %ymm2 + +/* + * argument reduction + * VQFMS( D, R, X, DblRcp1, One ); + */ + vfmadd213pd %ymm5, %ymm2, %ymm6 + vmovupd 12480+__svml_dlog1p_data_internal(%rip), %ymm2 + vmulpd %ymm6, %ymm6, %ymm5 + vfmadd213pd 12512+__svml_dlog1p_data_internal(%rip), %ymm6, %ymm2 + vorpd %ymm12, %ymm11, %ymm7 + +/* combine and get argument value range mask */ + vmovmskpd %ymm7, %edx + vextractf128 $1, %ymm4, %xmm0 + vshufps $221, %xmm0, %xmm4, %xmm1 + +/* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm3, %ymm0 + +/* biased exponent in DP format */ + vcvtdq2pd %xmm1, %ymm1 + vcmplt_oqpd %ymm3, %ymm13, %ymm3 + vandpd 13312+__svml_dlog1p_data_internal(%rip), %ymm3, %ymm14 + vorpd 13376+__svml_dlog1p_data_internal(%rip), %ymm14, %ymm15 + vsubpd %ymm15, %ymm1, %ymm1 + vmulpd 13568+__svml_dlog1p_data_internal(%rip), %ymm1, %ymm3 + +/* polynomial */ + vmovupd 12416+__svml_dlog1p_data_internal(%rip), %ymm1 + vfmadd213pd 12448+__svml_dlog1p_data_internal(%rip), %ymm6, %ymm1 + vfmadd213pd %ymm2, %ymm5, %ymm1 + +/* reconstruction */ + vfmadd213pd %ymm6, %ymm5, %ymm1 + vextractf128 $1, %ymm0, %xmm10 + vmovd %xmm0, %ecx + vmovd %xmm10, %r9d + movslq %ecx, %rcx + vpextrd $2, %xmm0, %r8d + movslq %r9d, %r9 + vpextrd $2, %xmm10, %r10d + movslq %r8d, %r8 + movslq %r10d, %r10 + vmovsd (%rax,%rcx), %xmm4 + vmovsd (%rax,%r9), %xmm11 + vmovhpd (%rax,%r8), %xmm4, %xmm7 + vmovhpd (%rax,%r10), %xmm11, %xmm12 + vinsertf128 $1, %xmm12, %ymm7, %ymm0 + vaddpd %ymm1, %ymm0, %ymm6 + vaddpd %ymm6, %ymm3, %ymm0 + +/* OR in the Sign of input argument to produce correct log1p(-0) */ + vorpd %ymm8, %ymm0, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm9, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dlog1p_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_log1p_avx2) + + .align 16,0x90 + +__svml_dlog1p_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movsd .FLT_85(%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 .FLT_84(%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 + + cfi_endproc + + .type __svml_dlog1p_cout_rare_internal,@function + .size __svml_dlog1p_cout_rare_internal,.-__svml_dlog1p_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dlog1p_data_internal: + .long 3715793664 + .long 3230016299 + .long 4013928704 + .long 3189565726 + .long 3699038248 + .long 3230016303 + .long 4255595370 + .long 3189567439 + .long 3648859040 + .long 3230016307 + .long 1732833791 + .long 3189567296 + .long 3565385952 + .long 3230016311 + .long 2485752410 + .long 3189567274 + .long 3448748152 + .long 3230016315 + .long 3514744523 + .long 3189567800 + .long 3299074072 + .long 3230016319 + .long 3686511262 + .long 3189567474 + .long 3116491376 + .long 3230016323 + .long 716063611 + .long 3189567908 + .long 2901127016 + .long 3230016327 + .long 354437295 + .long 3189567291 + .long 2653107184 + .long 3230016331 + .long 3777462366 + .long 3189567264 + .long 2372557360 + .long 3230016335 + .long 3590663412 + .long 3189567498 + .long 2059602304 + .long 3230016339 + .long 1680795031 + .long 3189567428 + .long 1714366048 + .long 3230016343 + .long 2010344982 + .long 3189567986 + .long 1336971936 + .long 3230016347 + .long 166254822 + .long 3189567184 + .long 927542568 + .long 3230016351 + .long 59552610 + .long 3189567972 + .long 486199888 + .long 3230016355 + .long 2268824919 + .long 3189567664 + .long 13065112 + .long 3230016359 + .long 3005381643 + .long 3189567835 + .long 3803226080 + .long 3230016362 + .long 4018973165 + .long 3189567825 + .long 3266868056 + .long 3230016366 + .long 3693925101 + .long 3189567457 + .long 2699077504 + .long 3230016370 + .long 4005905743 + .long 3189567697 + .long 2099972936 + .long 3230016374 + .long 3580935118 + .long 3189567215 + .long 1469672176 + .long 3230016378 + .long 2928784295 + .long 3189567129 + .long 808292392 + .long 3230016382 + .long 674298833 + .long 3189567553 + .long 115950104 + .long 3230016386 + .long 2555938320 + .long 3189567208 + .long 3687728456 + .long 3230016389 + .long 532458218 + .long 3189567130 + .long 2933808064 + .long 3230016393 + .long 3888913110 + .long 3189567192 + .long 2149270784 + .long 3230016397 + .long 2365955494 + .long 3189567756 + .long 1334230552 + .long 3230016401 + .long 3325722981 + .long 3189567206 + .long 488800640 + .long 3230016405 + .long 1496133617 + .long 3189567683 + .long 3908061016 + .long 3230016408 + .long 1824836379 + .long 3189567490 + .long 3002189112 + .long 3230016412 + .long 1222174320 + .long 3189567837 + .long 2066263648 + .long 3230016416 + .long 2472769660 + .long 3189567285 + .long 1100395408 + .long 3230016420 + .long 447932460 + .long 3189567455 + .long 104694584 + .long 3230016424 + .long 1006807684 + .long 3189567460 + .long 3374238048 + .long 3230016427 + .long 4121834935 + .long 3189567556 + .long 2319200184 + .long 3230016431 + .long 3019906587 + .long 3189567664 + .long 1234656664 + .long 3230016435 + .long 3882744783 + .long 3189567930 + .long 120715280 + .long 3230016439 + .long 1927363170 + .long 3189567242 + .long 3272450504 + .long 3230016442 + .long 8203115 + .long 3189567876 + .long 2100034368 + .long 3230016446 + .long 1260625560 + .long 3189567855 + .long 898540192 + .long 3230016450 + .long 1791679111 + .long 3189567639 + .long 3963040720 + .long 3230016453 + .long 831133439 + .long 3189567590 + .long 2703706240 + .long 3230016457 + .long 2803140504 + .long 3189567482 + .long 1415608352 + .long 3230016461 + .long 2955844462 + .long 3189568058 + .long 98850816 + .long 3230016465 + .long 4017967070 + .long 3189567455 + .long 3048504096 + .long 3230016468 + .long 3974385451 + .long 3189567871 + .long 1674736240 + .long 3230016472 + .long 2424114556 + .long 3189567887 + .long 272616624 + .long 3230016476 + .long 4261883032 + .long 3189567073 + .long 3137214056 + .long 3230016479 + .long 3716750895 + .long 3189567522 + .long 1678694944 + .long 3230016483 + .long 498025304 + .long 3189567180 + .long 192127016 + .long 3230016487 + .long 1011852160 + .long 3189567511 + .long 2972577480 + .long 3230016490 + .long 558940916 + .long 3189567850 + .long 1430211120 + .long 3230016494 + .long 2550865739 + .long 3189567935 + .long 4155061376 + .long 3230016497 + .long 1930847170 + .long 3189567371 + .long 2557291968 + .long 3230016501 + .long 1716354804 + .long 3189567130 + .long 931967984 + .long 3230016505 + .long 2729403392 + .long 3189567981 + .long 3574154016 + .long 3230016508 + .long 1067280599 + .long 3189567890 + .long 1894012232 + .long 3230016512 + .long 2094260282 + .long 3189567604 + .long 186606176 + .long 3230016516 + .long 3897933165 + .long 3189568046 + .long 2746998904 + .long 3230016519 + .long 1935720459 + .long 3189567701 + .long 985351064 + .long 3230016523 + .long 2170344821 + .long 3189567164 + .long 3491691984 + .long 3230016526 + .long 4220979537 + .long 3189567547 + .long 1676181328 + .long 3230016530 + .long 1953924393 + .long 3189567854 + .long 4128847448 + .long 3230016533 + .long 1689829067 + .long 3189567468 + .long 2259849008 + .long 3230016537 + .long 2367753130 + .long 3189567619 + .long 364246088 + .long 3230016541 + .long 2263309073 + .long 3189567722 + .long 2737098280 + .long 3230016544 + .long 2366756869 + .long 3189567856 + .long 788562816 + .long 3230016548 + .long 2294653975 + .long 3189567145 + .long 3108665616 + .long 3230016551 + .long 1786494117 + .long 3189567254 + .long 1107562960 + .long 3230016555 + .long 3655887416 + .long 3189567689 + .long 3375279848 + .long 3230016558 + .long 1178948625 + .long 3189567241 + .long 1321971608 + .long 3230016562 + .long 1620080441 + .long 3189567466 + .long 3537662304 + .long 3230016565 + .long 154455618 + .long 3189567981 + .long 1432506360 + .long 3230016569 + .long 3128192125 + .long 3189567889 + .long 3596526920 + .long 3230016572 + .long 2026842750 + .long 3189567212 + .long 1439877480 + .long 3230016576 + .long 1384431897 + .long 3189567284 + .long 3552580280 + .long 3230016579 + .long 1999983129 + .long 3189568079 + .long 1344787944 + .long 3230016583 + .long 4035436820 + .long 3189567579 + .long 3406521808 + .long 3230016586 + .long 77799817 + .long 3189567285 + .long 1147933592 + .long 3230016590 + .long 1261060207 + .long 3189567477 + .long 3159043768 + .long 3230016593 + .long 2102717775 + .long 3189567605 + .long 850003184 + .long 3230016597 + .long 161472469 + .long 3189567688 + .long 2810831440 + .long 3230016600 + .long 1937336881 + .long 3189567665 + .long 451678520 + .long 3230016604 + .long 2268353549 + .long 3189567773 + .long 2362563168 + .long 3230016607 + .long 1785871595 + .long 3189567889 + .long 4248601816 + .long 3230016610 + .long 2434669991 + .long 3189567898 + .long 1814910472 + .long 3230016614 + .long 2666999375 + .long 3189568058 + .long 3651506624 + .long 3230016617 + .long 1033139811 + .long 3189567312 + .long 1168538136 + .long 3230016621 + .long 4004618418 + .long 3189567740 + .long 2956021672 + .long 3230016624 + .long 3799928764 + .long 3189567751 + .long 424104288 + .long 3230016628 + .long 3650233137 + .long 3189567549 + .long 2162801816 + .long 3230016631 + .long 437313833 + .long 3189567438 + .long 3877227800 + .long 3230016634 + .long 2138293494 + .long 3189567140 + .long 1272495376 + .long 3230016638 + .long 2891370752 + .long 3189567168 + .long 2938619176 + .long 3230016641 + .long 1704142730 + .long 3189567114 + .long 285744240 + .long 3230016645 + .long 500817607 + .long 3189568035 + .long 1903884424 + .long 3230016648 + .long 3102571944 + .long 3189567668 + .long 3498151272 + .long 3230016651 + .long 2374193154 + .long 3189567933 + .long 773655960 + .long 3230016655 + .long 2898331636 + .long 3189568089 + .long 2320411168 + .long 3230016658 + .long 1983295500 + .long 3189567113 + .long 3843527280 + .long 3230016661 + .long 2132853542 + .long 3189567093 + .long 1048114320 + .long 3230016665 + .long 3551155364 + .long 3189567407 + .long 2524183824 + .long 3230016668 + .long 2564000663 + .long 3189567090 + .long 3976845048 + .long 3230016671 + .long 361581803 + .long 3189567196 + .long 1111206880 + .long 3230016675 + .long 696765230 + .long 3189568040 + .long 2517279744 + .long 3230016678 + .long 941542475 + .long 3189567463 + .long 3900171776 + .long 3230016681 + .long 2377895552 + .long 3189567282 + .long 964990760 + .long 3230016685 + .long 1173605489 + .long 3189567454 + .long 2301746008 + .long 3230016688 + .long 3096720313 + .long 3189567400 + .long 3615544576 + .long 3230016691 + .long 1942008121 + .long 3189567335 + .long 611493160 + .long 3230016695 + .long 3375481119 + .long 3189567537 + .long 1879599992 + .long 3230016698 + .long 4103239143 + .long 3189567624 + .long 3124971056 + .long 3230016701 + .long 3773474925 + .long 3189567869 + .long 52711992 + .long 3230016705 + .long 2465315445 + .long 3189567444 + .long 1252829960 + .long 3230016708 + .long 1041581158 + .long 3189567781 + .long 2430429904 + .long 3230016711 + .long 166620501 + .long 3189567739 + .long 3585583704 + .long 3230016714 + .long 2379237630 + .long 3189567984 + .long 423395616 + .long 3230016718 + .long 134834559 + .long 3189567178 + .long 1533871416 + .long 3230016721 + .long 1449318760 + .long 3189567373 + .long 2622114680 + .long 3230016724 + .long 3042372984 + .long 3189567127 + .long 3688195920 + .long 3230016727 + .long 1265290101 + .long 3189567921 + .long 437218048 + .long 3230016731 + .long 2248549362 + .long 3189567262 + .long 1459185496 + .long 3230016734 + .long 1293250365 + .long 3189567151 + .long 2459200496 + .long 3230016737 + .long 313786605 + .long 3189567180 + .long 3437332240 + .long 3230016740 + .long 3289151823 + .long 3189567872 + .long 98682312 + .long 3230016744 + .long 2693758821 + .long 3189567877 + .long 1033253848 + .long 3230016747 + .long 4237443192 + .long 3189567301 + .long 1946147760 + .long 3230016750 + .long 4099404586 + .long 3189567972 + .long 2837431968 + .long 3230016753 + .long 343640666 + .long 3189567552 + .long 3707174040 + .long 3230016756 + .long 4238401458 + .long 3189567983 + .long 260473960 + .long 3230016760 + .long 21423548 + .long 3189567559 + .long 1087333264 + .long 3230016763 + .long 3515278593 + .long 3189567309 + .long 1892851296 + .long 3230016766 + .long 629106375 + .long 3189567166 + .long 2677094384 + .long 3230016769 + .long 2048670044 + .long 3189567227 + .long 3440128544 + .long 3230016772 + .long 3739217292 + .long 3189568009 + .long 4182019504 + .long 3230016775 + .long 3662039444 + .long 3189567618 + .long 607865368 + .long 3230016779 + .long 1766486991 + .long 3189567112 + .long 1307665824 + .long 3230016782 + .long 512689457 + .long 3189567670 + .long 1986518392 + .long 3230016785 + .long 1704577378 + .long 3189567760 + .long 2644487576 + .long 3230016788 + .long 4001935135 + .long 3189567473 + .long 3281637576 + .long 3230016791 + .long 1184452342 + .long 3189567735 + .long 3898032312 + .long 3230016794 + .long 2714793956 + .long 3189567464 + .long 198768096 + .long 3230016798 + .long 3657654418 + .long 3189567905 + .long 773842856 + .long 3230016801 + .long 2809688013 + .long 3189567736 + .long 1328352328 + .long 3230016804 + .long 390727591 + .long 3189567393 + .long 1862359256 + .long 3230016807 + .long 1135237925 + .long 3189567248 + .long 2375926096 + .long 3230016810 + .long 1377572509 + .long 3189567837 + .long 2869115032 + .long 3230016813 + .long 3148383775 + .long 3189568032 + .long 3341987960 + .long 3230016816 + .long 3809536738 + .long 3189567313 + .long 3794606472 + .long 3230016819 + .long 4243445934 + .long 3189568034 + .long 4227031920 + .long 3230016822 + .long 1302642088 + .long 3189567451 + .long 344358048 + .long 3230016826 + .long 3239125361 + .long 3189567151 + .long 736580224 + .long 3230016829 + .long 3753161736 + .long 3189567129 + .long 1108791648 + .long 3230016832 + .long 624357483 + .long 3189568045 + .long 1461052568 + .long 3230016835 + .long 3153257064 + .long 3189567338 + .long 1793422920 + .long 3230016838 + .long 2705820149 + .long 3189567635 + .long 2105962400 + .long 3230016841 + .long 911564860 + .long 3189567737 + .long 2398730424 + .long 3230016844 + .long 1086958332 + .long 3189567948 + .long 2671786152 + .long 3230016847 + .long 1598984535 + .long 3189567210 + .long 2925188456 + .long 3230016850 + .long 4113385879 + .long 3189567401 + .long 3158995968 + .long 3230016853 + .long 2426812671 + .long 3189567396 + .long 3373267048 + .long 3230016856 + .long 3480845679 + .long 3189567359 + .long 3568059792 + .long 3230016859 + .long 3306230729 + .long 3189567924 + .long 3743432056 + .long 3230016862 + .long 3853821277 + .long 3189567317 + .long 3899441408 + .long 3230016865 + .long 2049309148 + .long 3189567699 + .long 4036145192 + .long 3230016868 + .long 2667321817 + .long 3189567166 + .long 4153600472 + .long 3230016871 + .long 3540670389 + .long 3189567114 + .long 4251864072 + .long 3230016874 + .long 404207883 + .long 3189567310 + .long 36025272 + .long 3230016878 + .long 2837617046 + .long 3189567103 + .long 96074976 + .long 3230016881 + .long 1231280453 + .long 3189567669 + .long 137101976 + .long 3230016884 + .long 792492437 + .long 3189567071 + .long 159162080 + .long 3230016887 + .long 2385525292 + .long 3189567618 + .long 162310880 + .long 3230016890 + .long 3272051015 + .long 3189567858 + .long 146603712 + .long 3230016893 + .long 623573538 + .long 3189567881 + .long 112095672 + .long 3230016896 + .long 2151835939 + .long 3189567451 + .long 58841608 + .long 3230016899 + .long 958006130 + .long 3189567217 + .long 4281863424 + .long 3230016901 + .long 549948691 + .long 3189567863 + .long 4191280920 + .long 3230016904 + .long 4177689987 + .long 3189567217 + .long 4082115512 + .long 3230016907 + .long 2895765193 + .long 3189567599 + .long 3954421112 + .long 3230016910 + .long 1055606208 + .long 3189567799 + .long 3808251392 + .long 3230016913 + .long 1966521217 + .long 3189567351 + .long 3643659776 + .long 3230016916 + .long 1017382758 + .long 3189567732 + .long 3460699480 + .long 3230016919 + .long 3485890155 + .long 3189567410 + .long 3259423472 + .long 3230016922 + .long 2657419170 + .long 3189567140 + .long 3039884488 + .long 3230016925 + .long 4198858220 + .long 3189568080 + .long 2802135064 + .long 3230016928 + .long 2343740494 + .long 3189567869 + .long 2546227480 + .long 3230016931 + .long 2423084215 + .long 3189567957 + .long 2272213808 + .long 3230016934 + .long 3887273856 + .long 3189567631 + .long 1980145888 + .long 3230016937 + .long 3992755473 + .long 3189567251 + .long 1670075336 + .long 3230016940 + .long 722498073 + .long 3189567389 + .long 1342053552 + .long 3230016943 + .long 3573506400 + .long 3189567965 + .long 996131728 + .long 3230016946 + .long 714695829 + .long 3189567392 + .long 632360808 + .long 3230016949 + .long 2816704229 + .long 3189567846 + .long 250791552 + .long 3230016952 + .long 386951333 + .long 3189567243 + .long 4146441768 + .long 3230016954 + .long 2155319939 + .long 3189567580 + .long 3729427184 + .long 3230016957 + .long 4227840137 + .long 3189567931 + .long 3294765200 + .long 3230016960 + .long 1718354212 + .long 3189567672 + .long 2842505696 + .long 3230016963 + .long 4243880582 + .long 3189567656 + .long 2372698352 + .long 3230016966 + .long 3784093842 + .long 3189567302 + .long 1885392624 + .long 3230016969 + .long 2318733051 + .long 3189567813 + .long 1380637784 + .long 3230016972 + .long 497929746 + .long 3189567210 + .long 858482864 + .long 3230016975 + .long 3218883783 + .long 3189567649 + .long 318976720 + .long 3230016978 + .long 3492652862 + .long 3189567382 + .long 4057135272 + .long 3230016980 + .long 473724673 + .long 3189568069 + .long 3483072376 + .long 3230016983 + .long 150485010 + .long 3189567757 + .long 2891803552 + .long 3230016986 + .long 3028900958 + .long 3189567173 + .long 2283376816 + .long 3230016989 + .long 321242596 + .long 3189567822 + .long 1657840008 + .long 3230016992 + .long 151305746 + .long 3189568029 + .long 1015240760 + .long 3230016995 + .long 2208026401 + .long 3189567184 + .long 355626480 + .long 3230016998 + .long 2487781842 + .long 3189567931 + .long 3974011720 + .long 3230017000 + .long 2391142094 + .long 3189567091 + .long 3280508896 + .long 3230017003 + .long 734457618 + .long 3189568092 + .long 2570132168 + .long 3230017006 + .long 3070902701 + .long 3189567794 + .long 1842928168 + .long 3230017009 + .long 1110877923 + .long 3189567896 + .long 1098943352 + .long 3230017012 + .long 3880360185 + .long 3189567898 + .long 338223984 + .long 3230017015 + .long 391995809 + .long 3189567294 + .long 3855783416 + .long 3230017017 + .long 4186345433 + .long 3189567745 + .long 3061732952 + .long 3230017020 + .long 3682852050 + .long 3189567081 + .long 2251085560 + .long 3230017023 + .long 3057037137 + .long 3189567617 + .long 1423886760 + .long 3230017026 + .long 3352664894 + .long 3189567074 + .long 580181848 + .long 3230017029 + .long 1170568982 + .long 3189567927 + .long 4014983272 + .long 3230017031 + .long 671148579 + .long 3189567293 + .long 3138401368 + .long 3230017034 + .long 267496658 + .long 3189567304 + .long 2245448192 + .long 3230017037 + .long 1285167087 + .long 3189568066 + .long 1336168336 + .long 3230017040 + .long 4259909589 + .long 3189567788 + .long 410606184 + .long 3230017043 + .long 1494078902 + .long 3189568031 + .long 3763773256 + .long 3230017045 + .long 261935754 + .long 3189567685 + .long 2805778992 + .long 3230017048 + .long 3679585605 + .long 3189567195 + .long 1831634536 + .long 3230017051 + .long 809066513 + .long 3189567664 + .long 841383576 + .long 3230017054 + .long 385945238 + .long 3189567897 + .long 4130036912 + .long 3230017056 + .long 825579909 + .long 3189567603 + .long 3107703272 + .long 3230017059 + .long 3911295427 + .long 3189567514 + .long 2069393104 + .long 3230017062 + .long 3473784588 + .long 3189567461 + .long 1015149384 + .long 3230017065 + .long 629861200 + .long 3189567515 + .long 4239982216 + .long 3230017067 + .long 2659142760 + .long 3189567083 + .long 3153999632 + .long 3230017070 + .long 1251680713 + .long 3189567080 + .long 2052211384 + .long 3230017073 + .long 3168705163 + .long 3189567992 + .long 934659776 + .long 3230017076 + .long 1674797624 + .long 3189567952 + .long 4096354216 + .long 3230017078 + .long 437847902 + .long 3189567971 + .long 2947402064 + .long 3230017081 + .long 4024401533 + .long 3189567960 + .long 1782812400 + .long 3230017084 + .long 786902458 + .long 3189567873 + .long 602626840 + .long 3230017087 + .long 2593792633 + .long 3189567812 + .long 3701854136 + .long 3230017089 + .long 3989721221 + .long 3189567126 + .long 2490600968 + .long 3230017092 + .long 2545746866 + .long 3189567591 + .long 1263875768 + .long 3230017095 + .long 3115843521 + .long 3189567377 + .long 21719488 + .long 3230017098 + .long 1730226063 + .long 3189567307 + .long 3059140216 + .long 3230017100 + .long 690350922 + .long 3189567892 + .long 1786244008 + .long 3230017103 + .long 3350998585 + .long 3189567394 + .long 498038616 + .long 3230017106 + .long 1499123379 + .long 3189568082 + .long 3489531672 + .long 3230017108 + .long 2598665922 + .long 3189567118 + .long 2170828712 + .long 3230017111 + .long 2436376826 + .long 3189567935 + .long 836937048 + .long 3230017114 + .long 1977004902 + .long 3189568052 + .long 3782863816 + .long 3230017116 + .long 4027224619 + .long 3189567373 + .long 2418714096 + .long 3230017119 + .long 2616869856 + .long 3189567271 + .long 1039494712 + .long 3230017122 + .long 3775628133 + .long 3189567616 + .long 3940212336 + .long 3230017124 + .long 419018052 + .long 3189567909 + .long 2530971600 + .long 3230017127 + .long 150919657 + .long 3189567379 + .long 1106778856 + .long 3230017130 + .long 2926254537 + .long 3189567139 + .long 3962640312 + .long 3230017132 + .long 1610863810 + .long 3189567216 + .long 2508660136 + .long 3230017135 + .long 1166015244 + .long 3189567672 + .long 1039844240 + .long 3230017138 + .long 645159638 + .long 3189567685 + .long 3851198376 + .long 3230017140 + .long 2449439581 + .long 3189567695 + .long 2352826264 + .long 3230017143 + .long 1619104640 + .long 3189567458 + .long 839733360 + .long 3230017146 + .long 2427070371 + .long 3189567165 + .long 3606924968 + .long 3230017148 + .long 2166480890 + .long 3189567544 + .long 2064504368 + .long 3230017151 + .long 2283025905 + .long 3189567907 + .long 507476584 + .long 3230017154 + .long 3923356754 + .long 3189567272 + .long 3230846472 + .long 3230017156 + .long 805331677 + .long 3189567533 + .long 1644716880 + .long 3230017159 + .long 3790469685 + .long 3189567406 + .long 44092384 + .long 3230017162 + .long 2689788214 + .long 3189567653 + .long 2723977432 + .long 3230017164 + .long 2762250221 + .long 3189567072 + .long 1094474416 + .long 3230017167 + .long 2781925193 + .long 3189567716 + .long 3745554800 + .long 3230017169 + .long 593120878 + .long 3189567817 + .long 2087320704 + .long 3230017172 + .long 403414988 + .long 3189568021 + .long 414776008 + .long 3230017175 + .long 359307328 + .long 3189567387 + .long 3022924432 + .long 3230017177 + .long 3373547966 + .long 3189567572 + .long 1321867688 + .long 3230017180 + .long 3978711340 + .long 3189567805 + .long 3901576528 + .long 3230017182 + .long 2765663238 + .long 3189568046 + .long 2172152384 + .long 3230017185 + .long 1181150766 + .long 3189568053 + .long 428598440 + .long 3230017188 + .long 2473022131 + .long 3189567471 + .long 2965917728 + .long 3230017190 + .long 1621744488 + .long 3189567971 + .long 1194211288 + .long 3230017193 + .long 2931299013 + .long 3189567190 + .long 3703449168 + .long 3230017195 + .long 873154950 + .long 3189568039 + .long 1903732144 + .long 3230017198 + .long 1510784525 + .long 3189567521 + .long 90062704 + .long 3230017201 + .long 2918231590 + .long 3189568086 + .long 2557443240 + .long 3230017203 + .long 3329944838 + .long 3189567475 + .long 715974088 + .long 3230017206 + .long 2679715410 + .long 3189568021 + .long 3155624672 + .long 3230017208 + .long 1841110143 + .long 3189567518 + .long 1286495072 + .long 3230017211 + .long 3881638924 + .long 3189567497 + .long 3698554440 + .long 3230017213 + .long 167906931 + .long 3189567169 + .long 1801902600 + .long 3230017216 + .long 1468264167 + .long 3189567597 + .long 4186508448 + .long 3230017218 + .long 2400624638 + .long 3189567691 + .long 2262471560 + .long 3230017221 + .long 3796182064 + .long 3189567357 + .long 324793264 + .long 3230017224 + .long 2801238958 + .long 3189567581 + .long 2668474776 + .long 3230017226 + .long 2273142813 + .long 3189567436 + .long 703615288 + .long 3230017229 + .long 831867571 + .long 3189567237 + .long 3020183048 + .long 3230017231 + .long 2238048829 + .long 3189567595 + .long 1028277008 + .long 3230017234 + .long 1163763070 + .long 3189567452 + .long 3317865168 + .long 3230017236 + .long 1206450788 + .long 3189567228 + .long 1299046216 + .long 3230017239 + .long 737162226 + .long 3189567879 + .long 3561787920 + .long 3230017241 + .long 2433253277 + .long 3189567901 + .long 1516188728 + .long 3230017244 + .long 3561277099 + .long 3189567506 + .long 3752216144 + .long 3230017246 + .long 1385095507 + .long 3189567674 + .long 1679968384 + .long 3230017249 + .long 829462408 + .long 3189567156 + .long 3889412704 + .long 3230017251 + .long 2939266725 + .long 3189567673 + .long 1790647080 + .long 3230017254 + .long 4214100827 + .long 3189567848 + .long 3973638544 + .long 3230017256 + .long 2537954451 + .long 3189567376 + .long 1848484816 + .long 3230017259 + .long 1128740312 + .long 3189567098 + .long 4005152680 + .long 3230017261 + .long 1932232434 + .long 3189568053 + .long 1853739648 + .long 3230017264 + .long 1359710694 + .long 3189567457 + .long 3984212256 + .long 3230017266 + .long 1268482287 + .long 3189567990 + .long 1806667776 + .long 3230017269 + .long 839689017 + .long 3189567631 + .long 3911072520 + .long 3230017271 + .long 3727165601 + .long 3189567921 + .long 1707523520 + .long 3230017274 + .long 1836550952 + .long 3189567895 + .long 3785986872 + .long 3230017276 + .long 172951407 + .long 3189567220 + .long 1556559360 + .long 3230017279 + .long 1166449891 + .long 3189567294 + .long 3609206856 + .long 3230017281 + .long 28625366 + .long 3189567222 + .long 1354025920 + .long 3230017284 + .long 4038426582 + .long 3189567978 + .long 3380982208 + .long 3230017286 + .long 2756284659 + .long 3189567362 + .long 1100172048 + .long 3230017289 + .long 848830252 + .long 3189567230 + .long 3101560856 + .long 3230017291 + .long 1868170309 + .long 3189567423 + .long 795244752 + .long 3230017294 + .long 3128260908 + .long 3189567885 + .long 2771188936 + .long 3230017296 + .long 1691261279 + .long 3189567706 + .long 439489304 + .long 3230017299 + .long 2886711298 + .long 3189567236 + .long 2390110824 + .long 3230017301 + .long 1311431101 + .long 3189567133 + .long 33149176 + .long 3230017304 + .long 3042183093 + .long 3189567401 + .long 1958569120 + .long 3230017306 + .long 3174208880 + .long 3189567462 + .long 3871433416 + .long 3230017308 + .long 302374021 + .long 3189567243 + .long 1476804712 + .long 3230017311 + .long 712531519 + .long 3189567241 + .long 3364647440 + .long 3230017313 + .long 3705318448 + .long 3189567568 + .long 945056744 + .long 3230017316 + .long 2424171915 + .long 3189568016 + .long 2807996856 + .long 3230017318 + .long 199511961 + .long 3189567094 + .long 363562688 + .long 3230017321 + .long 3766234060 + .long 3189567214 + .long 2201718256 + .long 3230017323 + .long 1956195829 + .long 3189567592 + .long 4027525584 + .long 3230017325 + .long 2891794585 + .long 3189567375 + .long 1546046576 + .long 3230017328 + .long 843173017 + .long 3189567760 + .long 3347244936 + .long 3230017330 + .long 1609532414 + .long 3189567955 + .long 841215080 + .long 3230017333 + .long 3356704285 + .long 3189567294 + .long 2617920488 + .long 3230017335 + .long 1641729240 + .long 3189567346 + .long 87455368 + .long 3230017338 + .long 1455753222 + .long 3189567878 + .long 1839783016 + .long 3230017340 + .long 1936589978 + .long 3189567944 + .long 3579964728 + .long 3230017342 + .long 1006586129 + .long 3189567993 + .long 1013061704 + .long 3230017345 + .long 2766825484 + .long 3189567880 + .long 2729036928 + .long 3230017347 + .long 1888685184 + .long 3189567954 + .long 137984104 + .long 3230017350 + .long 848046306 + .long 3189568090 + .long 1829866024 + .long 3230017352 + .long 4178224056 + .long 3189567750 + .long 3509743488 + .long 3230017354 + .long 2637072474 + .long 3189567070 + .long 882677184 + .long 3230017357 + .long 3133305384 + .long 3189567936 + .long 2538629624 + .long 3230017359 + .long 1343200028 + .long 3189567905 + .long 4182661312 + .long 3230017361 + .long 107195460 + .long 3189567427 + .long 1519832648 + .long 3230017364 + .long 602154914 + .long 3189567857 + .long 3140105848 + .long 3230017366 + .long 659160740 + .long 3189567417 + .long 453573824 + .long 3230017369 + .long 236889930 + .long 3189567396 + .long 2050198592 + .long 3230017371 + .long 1175634921 + .long 3189567087 + .long 3635040168 + .long 3230017373 + .long 1241855527 + .long 3189567941 + .long 913158504 + .long 3230017376 + .long 3947904414 + .long 3189567477 + .long 2474515312 + .long 3230017378 + .long 1206979822 + .long 3189567534 + .long 4024170344 + .long 3230017380 + .long 1847397805 + .long 3189567152 + .long 1267183240 + .long 3230017383 + .long 2916539301 + .long 3189567754 + .long 2793515456 + .long 3230017385 + .long 2568213263 + .long 3189568078 + .long 13259168 + .long 3230017388 + .long 3003245330 + .long 3189567303 + .long 1516375624 + .long 3230017390 + .long 3472633477 + .long 3189567153 + .long 3007924104 + .long 3230017392 + .long 532406289 + .long 3189567855 + .long 192963816 + .long 3230017395 + .long 4149310663 + .long 3189567165 + .long 1661455728 + .long 3230017397 + .long 946970842 + .long 3189567598 + .long 3118458864 + .long 3230017399 + .long 2040517972 + .long 3189567254 + .long 269032128 + .long 3230017402 + .long 3669971831 + .long 3189568072 + .long 1703136256 + .long 3230017404 + .long 2375197389 + .long 3189567687 + .long 3125829976 + .long 3230017406 + .long 296757744 + .long 3189567673 + .long 242171944 + .long 3230017409 + .long 611424102 + .long 3189567452 + .long 1642122608 + .long 3230017411 + .long 1700968423 + .long 3189567419 + .long 3030740440 + .long 3230017413 + .long 2947762668 + .long 3189567968 + .long 113083840 + .long 3230017416 + .long 690901756 + .long 3189567496 + .long 1479112984 + .long 3230017418 + .long 121139903 + .long 3189567571 + .long 2833886088 + .long 3230017420 + .long 173386055 + .long 3189567866 + .long 4177428584 + .long 3230017422 + .long 2964718132 + .long 3189567231 + .long 1214798496 + .long 3230017425 + .long 541562024 + .long 3189567842 + .long 2535955680 + .long 3230017427 + .long 3368765612 + .long 3189568076 + .long 3845958008 + .long 3230017429 + .long 3194541507 + .long 3189567689 + .long 849863256 + .long 3230017432 + .long 3443356552 + .long 3189567858 + .long 2137631024 + .long 3230017434 + .long 1180679397 + .long 3189567138 + .long 3414318912 + .long 3230017436 + .long 2261929999 + .long 3189567651 + .long 384984464 + .long 3230017439 + .long 954057098 + .long 3189567971 + .long 1639587024 + .long 3230017441 + .long 1346995839 + .long 3189567263 + .long 2883183944 + .long 3230017443 + .long 3253373727 + .long 3189567382 + .long 4115799808 + .long 3230017445 + .long 4143791142 + .long 3189567800 + .long 1042491824 + .long 3230017448 + .long 4240432954 + .long 3189567700 + .long 2253218992 + .long 3230017450 + .long 1891708033 + .long 3189568072 + .long 3453038360 + .long 3230017452 + .long 710292621 + .long 3189567662 + .long 347006880 + .long 3230017455 + .long 2712254611 + .long 3189567116 + .long 1525083304 + .long 3230017457 + .long 349583280 + .long 3189568004 + .long 2692324448 + .long 3230017459 + .long 1803227864 + .long 3189567740 + .long 3848754312 + .long 3230017461 + .long 3644606976 + .long 3189567826 + .long 699429536 + .long 3230017464 + .long 1067153346 + .long 3189567751 + .long 1834308568 + .long 3230017466 + .long 1335350692 + .long 3189567081 + .long 2958447872 + .long 3230017468 + .long 1803696599 + .long 3189567557 + .long 4071871152 + .long 3230017470 + .long 1232152547 + .long 3189568017 + .long 879634736 + .long 3230017473 + .long 1455437901 + .long 3189567512 + .long 1971696744 + .long 3230017475 + .long 3708110750 + .long 3189567399 + .long 3053113344 + .long 3230017477 + .long 3907324819 + .long 3189567290 + .long 4123907920 + .long 3230017479 + .long 4080000314 + .long 3189567141 + .long 889136480 + .long 3230017482 + .long 1286519001 + .long 3189567298 + .long 1938756848 + .long 3230017484 + .long 1292347423 + .long 3189567513 + .long 2977824880 + .long 3230017486 + .long 1159725249 + .long 3189568015 + .long 4006363664 + .long 3230017488 + .long 895621348 + .long 3189567502 + .long 729428896 + .long 3230017491 + .long 1212894155 + .long 3189567280 + .long 1736978096 + .long 3230017493 + .long 296117275 + .long 3189567210 + .long 2734066816 + .long 3230017495 + .long 2463481211 + .long 3189567796 + .long 3720717848 + .long 3230017497 + .long 76524950 + .long 3189567159 + .long 401986584 + .long 3230017500 + .long 1718551671 + .long 3189567216 + .long 1367830248 + .long 3230017502 + .long 3568874946 + .long 3189567584 + .long 2323304104 + .long 3230017504 + .long 2763456396 + .long 3189567666 + .long 3268430632 + .long 3230017506 + .long 1208592501 + .long 3189567715 + .long 4203232240 + .long 3230017508 + .long 4148835618 + .long 3189567851 + .long 832763976 + .long 3230017511 + .long 610418007 + .long 3189567082 + .long 1746982680 + .long 3230017513 + .long 3035714190 + .long 3189567431 + .long 2650943256 + .long 3230017515 + .long 85931336 + .long 3189567843 + .long 3544667832 + .long 3230017517 + .long 3006685957 + .long 3189567286 + .long 133211144 + .long 3230017520 + .long 878859600 + .long 3189567873 + .long 1006529776 + .long 3230017522 + .long 854333969 + .long 3189567724 + .long 1869678336 + .long 3230017524 + .long 3058646748 + .long 3189567155 + .long 2722678648 + .long 3230017526 + .long 360733640 + .long 3189567693 + .long 3565552488 + .long 3230017528 + .long 3015564990 + .long 3189568013 + .long 103354256 + .long 3230017531 + .long 2286095909 + .long 3189568081 + .long 926040176 + .long 3230017533 + .long 1899270393 + .long 3189567137 + .long 1738664488 + .long 3230017535 + .long 1377641292 + .long 3189567833 + .long 2541248696 + .long 3230017537 + .long 4266686523 + .long 3189568077 + .long 3333814224 + .long 3230017539 + .long 4018775563 + .long 3189567218 + .long 4116382408 + .long 3230017541 + .long 3373913644 + .long 3189567103 + .long 594007232 + .long 3230017544 + .long 2818265402 + .long 3189568021 + .long 1356644520 + .long 3230017546 + .long 1075601108 + .long 3189567716 + .long 2109348112 + .long 3230017548 + .long 3342127702 + .long 3189567566 + .long 2852139088 + .long 3230017550 + .long 2910355434 + .long 3189567504 + .long 3585038464 + .long 3230017552 + .long 611858749 + .long 3189567074 + .long 13099880 + .long 3230017555 + .long 1954698831 + .long 3189567516 + .long 726278816 + .long 3230017557 + .long 550712630 + .long 3189567710 + .long 1429628792 + .long 3230017559 + .long 3672474493 + .long 3189567278 + .long 2123170544 + .long 3230017561 + .long 1160875209 + .long 3189567651 + .long 2806924760 + .long 3230017563 + .long 2242524344 + .long 3189568000 + .long 3480912064 + .long 3230017565 + .long 2823138691 + .long 3189567327 + .long 4145152992 + .long 3230017567 + .long 3521079748 + .long 3189567568 + .long 504700744 + .long 3230017570 + .long 1136670137 + .long 3189567486 + .long 1149510328 + .long 3230017572 + .long 806933442 + .long 3189567823 + .long 1784634816 + .long 3230017574 + .long 1606084669 + .long 3189567242 + .long 2410094488 + .long 3230017576 + .long 2841342625 + .long 3189567480 + .long 3025909584 + .long 3230017578 + .long 984188059 + .long 3189567239 + .long 3632100264 + .long 3230017580 + .long 3011730434 + .long 3189567337 + .long 4228686632 + .long 3230017582 + .long 328432041 + .long 3189567676 + .long 520721440 + .long 3230017585 + .long 2057225622 + .long 3189567268 + .long 1098159248 + .long 3230017587 + .long 3150727306 + .long 3189567348 + .long 1666052680 + .long 3230017589 + .long 3291380622 + .long 3189567307 + .long 2224421584 + .long 3230017591 + .long 3570771984 + .long 3189567798 + .long 2773285760 + .long 3230017593 + .long 2427604440 + .long 3189567698 + .long 3312664936 + .long 3230017595 + .long 3733848165 + .long 3189567211 + .long 3842578768 + .long 3230017597 + .long 2673912350 + .long 3189567904 + .long 68079584 + .long 3230017600 + .long 960995892 + .long 3189567616 + .long 579121512 + .long 3230017602 + .long 4150493479 + .long 3189567659 + .long 1080756744 + .long 3230017604 + .long 1054941272 + .long 3189567735 + .long 1573004704 + .long 3230017606 + .long 2574365292 + .long 3189568007 + .long 2055884768 + .long 3230017608 + .long 2507498673 + .long 3189567092 + .long 2529416224 + .long 3230017610 + .long 2082176323 + .long 3189567207 + .long 2993618320 + .long 3230017612 + .long 3719982601 + .long 3189568058 + .long 3448510256 + .long 3230017614 + .long 4104247904 + .long 3189567897 + .long 3894111152 + .long 3230017616 + .long 3735557011 + .long 3189567647 + .long 35472776 + .long 3230017619 + .long 2914260983 + .long 3189567862 + .long 462548736 + .long 3230017621 + .long 1334094042 + .long 3189567734 + .long 880390688 + .long 3230017623 + .long 1291097379 + .long 3189567171 + .long 1289017512 + .long 3230017625 + .long 1627119803 + .long 3189567853 + .long 1688448064 + .long 3230017627 + .long 3886873723 + .long 3189567117 + .long 2078701104 + .long 3230017629 + .long 627887757 + .long 3189567206 + .long 2459795360 + .long 3230017631 + .long 1722013861 + .long 3189567101 + .long 2831749488 + .long 3230017633 + .long 4163262354 + .long 3189567678 + .long 3194582104 + .long 3230017635 + .long 4170237688 + .long 3189567639 + .long 3548311752 + .long 3230017637 + .long 47563772 + .long 3189567637 + .long 3892956928 + .long 3230017639 + .long 2990136007 + .long 3189567231 + .long 4228536056 + .long 3230017641 + .long 4294532248 + .long 3189567995 + .long 260100240 + .long 3230017644 + .long 2060709623 + .long 3189567397 + .long 577602376 + .long 3230017646 + .long 1488525373 + .long 3189568044 + .long 886093456 + .long 3230017648 + .long 1657840200 + .long 3189567474 + .long 1185591680 + .long 3230017650 + .long 3155771782 + .long 3189567399 + .long 1476115208 + .long 3230017652 + .long 2195162329 + .long 3189567591 + .long 1757682144 + .long 3230017654 + .long 1292806663 + .long 3189567956 + .long 2030310544 + .long 3230017656 + .long 2151451208 + .long 3189567540 + .long 2294018392 + .long 3230017658 + .long 2224122735 + .long 3189567630 + .long 2548823632 + .long 3230017660 + .long 3554417607 + .long 3189567684 + .long 2794744152 + .long 3230017662 + .long 3831650627 + .long 3189567409 + .long 3031797776 + .long 3230017664 + .long 4024246224 + .long 3189567811 + .long 3260002296 + .long 3230017666 + .long 2530219738 + .long 3189567128 + .long 3479375416 + .long 3230017668 + .long 1618145996 + .long 3189568024 + .long 3689934832 + .long 3230017670 + .long 392379700 + .long 3189567378 + .long 3891698144 + .long 3230017672 + .long 55874694 + .long 3189567574 + .long 4084682928 + .long 3230017674 + .long 4294251475 + .long 3189567312 + .long 4268906688 + .long 3230017676 + .long 1899705040 + .long 3189567783 + .long 149419600 + .long 3230017679 + .long 357699389 + .long 3189567568 + .long 316173656 + .long 3230017681 + .long 3025711727 + .long 3189567790 + .long 474218920 + .long 3230017683 + .long 2921891821 + .long 3189568046 + .long 623572704 + .long 3230017685 + .long 1716968749 + .long 3189567453 + .long 764252248 + .long 3230017687 + .long 2393171526 + .long 3189567748 + .long 896274768 + .long 3230017689 + .long 1343317993 + .long 3189567172 + .long 1019657400 + .long 3230017691 + .long 1388235839 + .long 3189567661 + .long 1134417256 + .long 3230017693 + .long 2766147125 + .long 3189567706 + .long 1240571384 + .long 3230017695 + .long 2162068842 + .long 3189567499 + .long 1338136776 + .long 3230017697 + .long 4075455588 + .long 3189567932 + .long 1427130392 + .long 3230017699 + .long 1579647664 + .long 3189567555 + .long 1507569120 + .long 3230017701 + .long 3785749868 + .long 3189567715 + .long 1579469816 + .long 3230017703 + .long 2639950365 + .long 3189567469 + .long 1642849272 + .long 3230017705 + .long 3611501026 + .long 3189567698 + .long 1697724240 + .long 3230017707 + .long 15422953 + .long 3189568066 + .long 1744111424 + .long 3230017709 + .long 2642213241 + .long 3189568062 + .long 1782027472 + .long 3230017711 + .long 143606300 + .long 3189568058 + .long 1811488992 + .long 3230017713 + .long 501328690 + .long 3189567276 + .long 1832512520 + .long 3230017715 + .long 3258054578 + .long 3189567915 + .long 1845114576 + .long 3230017717 + .long 1297851139 + .long 3189568007 + .long 1849311616 + .long 3230017719 + .long 3589200000 + .long 3189567580 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 2846560486 + .long 3210737666 + .long 2729511872 + .long 3211784202 + .long 3956813460 + .long 3212307985 + .long 1796237193 + .long 3212828714 + .long 1562748889 + .long 3213092649 + .long 1602292343 + .long 3213352007 + .long 745814092 + .long 3213610865 + .long 2969306084 + .long 3213869224 + .long 3953060839 + .long 3214006263 + .long 1128703349 + .long 3214134948 + .long 1371067273 + .long 3214263386 + .long 131445019 + .long 3214391579 + .long 1427948820 + .long 3214519527 + .long 665817496 + .long 3214647232 + .long 1817459908 + .long 3214774694 + .long 242758400 + .long 3214901915 + .long 2082038134 + .long 3214981455 + .long 2300828032 + .long 3215044825 + .long 571795571 + .long 3215108076 + .long 3120479584 + .long 3215171207 + .long 3276640540 + .long 3215234220 + .long 2949178581 + .long 3215297115 + .long 4036279704 + .long 3215359892 + .long 4130528508 + .long 3215422552 + .long 813954767 + .long 3215485096 + .long 248046571 + .long 3215547523 + .long 4288926261 + .long 3215609833 + .long 1897492927 + .long 3215672029 + .long 3499237165 + .long 3215734109 + .long 2329611090 + .long 3215796075 + .long 203907094 + .long 3215857927 + .long 3222364838 + .long 3215919664 + .long 295408387 + .long 3215981289 + .long 899212401 + .long 3216012696 + .long 2606049022 + .long 3216043395 + .long 4003691233 + .long 3216074038 + .long 1675303236 + .long 3216104626 + .long 789189655 + .long 3216135158 + .long 2213928479 + .long 3216165634 + .long 2518405585 + .long 3216196055 + .long 2561783534 + .long 3216226421 + .long 3198568176 + .long 3216256732 + .long 983674944 + .long 3216286989 + .long 1057364031 + .long 3216317191 + .long 4260371496 + .long 3216347338 + .long 2838974660 + .long 3216377432 + .long 1919860988 + .long 3216407472 + .long 2330291020 + .long 3216437458 + .long 598130195 + .long 3216467391 + .long 1836782285 + .long 3216497270 + .long 2565351466 + .long 3216527096 + .long 3593575201 + .long 3216556869 + .long 1431920350 + .long 3216586590 + .long 1176515501 + .long 3216616258 + .long 3624279252 + .long 3216645873 + .long 977982819 + .long 3216675437 + .long 2616083454 + .long 3216704948 + .long 733015457 + .long 3216734408 + .long 403990373 + .long 3216763816 + .long 2405156675 + .long 3216793172 + .long 3213628385 + .long 3216822477 + .long 3597448029 + .long 3216851731 + .long 25680167 + .long 3216880935 + .long 1848308454 + .long 3216910087 + .long 1231492199 + .long 3216939189 + .long 3222364838 + .long 3216968240 + .long 4274224607 + .long 3216997241 + .long 836496059 + .long 3217026193 + .long 1119829323 + .long 3217043131 + .long 315251054 + .long 3217057557 + .long 518461891 + .long 3217071958 + .long 2094042713 + .long 3217086334 + .long 1109735857 + .long 3217100686 + .long 2221359788 + .long 3217115013 + .long 1492952593 + .long 3217129316 + .long 3576653728 + .long 3217143594 + .long 237880003 + .long 3217157849 + .long 420109003 + .long 3217172079 + .long 180120274 + .long 3217186285 + .long 4162843939 + .long 3217200466 + .long 4126536273 + .long 3217214624 + .long 417628115 + .long 3217228759 + .long 1970736719 + .long 3217242869 + .long 538873716 + .long 3217256956 + .long 758227830 + .long 3217271019 + .long 2968307242 + .long 3217285058 + .long 3211951040 + .long 3217299074 + .long 1825275166 + .long 3217313067 + .long 3437683677 + .long 3217327036 + .long 4086978021 + .long 3217340982 + .long 4104270002 + .long 3217354905 + .long 3819025464 + .long 3217368805 + .long 3559075183 + .long 3217382682 + .long 3650625670 + .long 3217396536 + .long 123302585 + .long 3217410368 + .long 1890030548 + .long 3217424176 + .long 682272600 + .long 3217437962 + .long 1114811729 + .long 3217451725 + .long 3505892050 + .long 3217465465 + .long 3877229085 + .long 3217479183 + .long 2543954549 + .long 3217492879 + .long 4114626469 + .long 3217506552 + .long 311370023 + .long 3217520204 + .long 34658569 + .long 3217533833 + .long 3593519732 + .long 3217547439 + .long 2705545195 + .long 3217561024 + .long 1971736889 + .long 3217574587 + .long 1696647441 + .long 3217588128 + .long 2183357019 + .long 3217601647 + .long 3733482817 + .long 3217615144 + .long 2352221150 + .long 3217628620 + .long 2633258676 + .long 3217642074 + .long 578912458 + .long 3217655507 + .long 780008323 + .long 3217668918 + .long 3530988084 + .long 3217682307 + .long 534951267 + .long 3217695676 + .long 673467853 + .long 3217709023 + .long 4236783385 + .long 3217722348 + .long 2923827788 + .long 3217735653 + .long 1317060595 + .long 3217748937 + .long 3997577740 + .long 3217762199 + .long 2660218276 + .long 3217775441 + .long 1883376699 + .long 3217788662 + .long 1949142230 + .long 3217801862 + .long 3138274530 + .long 3217815041 + .long 1435244737 + .long 3217828200 + .long 1413145637 + .long 3217841338 + .long 3348797986 + .long 3217854455 + .long 3222758658 + .long 3217867552 + .long 1309263324 + .long 3217880629 + .long 2176234471 + .long 3217893685 + .long 1800387473 + .long 3217906721 + .long 452140382 + .long 3217919737 + .long 2695621757 + .long 3217932732 + .long 208809263 + .long 3217945708 + .long 1848308454 + .long 3217958663 + .long 3584589359 + .long 3217971598 + .long 1386895968 + .long 3217984514 + .long 4108155659 + .long 3217997409 + .long 3420215606 + .long 3218010285 + .long 3878621277 + .long 3218023141 + .long 1447787319 + .long 3218035978 + .long 680874053 + .long 3218048795 + .long 1834892843 + .long 3218061592 + .long 870713292 + .long 3218074370 + .long 1168986141 + .long 3218083436 + .long 3245089583 + .long 3218089805 + .long 2494877761 + .long 3218096165 + .long 3338922950 + .long 3218102515 + .long 1607293197 + .long 3218108856 + .long 1719424943 + .long 3218115187 + .long 3799224547 + .long 3218121508 + .long 3675071677 + .long 3218127820 + .long 1469757259 + .long 3218134123 + .long 1600486820 + .long 3218140416 + .long 4188949205 + .long 3218146699 + .long 766352567 + .long 3218152974 + .long 43231408 + .long 3218159239 + .long 2139646042 + .long 3218165494 + .long 2880153102 + .long 3218171740 + .long 2383743325 + .long 3218177977 + .long 768877423 + .long 3218184205 + .long 2448456521 + .long 3218190423 + .long 3244923387 + .long 3218196632 + .long 3275167422 + .long 3218202832 + .long 2655560435 + .long 3218209023 + .long 1501959692 + .long 3218215205 + .long 4224678246 + .long 3218221377 + .long 2348618756 + .long 3218227541 + .long 283080250 + .long 3218233696 + .long 2436859197 + .long 3218239841 + .long 333350563 + .long 3218245978 + .long 2675321801 + .long 3218252105 + .long 985177381 + .long 3218258224 + .long 3964700035 + .long 3218264333 + .long 3135315249 + .long 3218270434 + .long 2902865164 + .long 3218276526 + .long 3377742213 + .long 3218282609 + .long 374891912 + .long 3218288684 + .long 2593684821 + .long 3218294749 + .long 1553148222 + .long 3218300806 + .long 1656739931 + .long 3218306854 + .long 3012481825 + .long 3218312893 + .long 1432962538 + .long 3218318924 + .long 1320242026 + .long 3218324946 + .long 2780952336 + .long 3218330959 + .long 1626300240 + .long 3218336964 + .long 2256971748 + .long 3218342960 + .long 483265518 + .long 3218348948 + .long 704964628 + .long 3218354927 + .long 3026437244 + .long 3218360897 + .long 3256639170 + .long 3218366859 + .long 1499050969 + .long 3218372813 + .long 2151680465 + .long 3218378758 + .long 1022163351 + .long 3218384695 + .long 2507634849 + .long 3218390623 + .long 2414862975 + .long 3218396543 + .long 845152874 + .long 3218402455 + .long 2194349235 + .long 3218408358 + .long 2267936813 + .long 3218414253 + .long 1165944702 + .long 3218420140 + .long 3282948707 + .long 3218426018 + .long 128204514 + .long 3218431889 + .long 390421100 + .long 3218437751 + .long 4167959282 + .long 3218443604 + .long 2968834018 + .long 3218449450 + .long 1185553177 + .long 3218455288 + .long 3210217930 + .long 3218461117 + .long 549623114 + .long 3218466939 + .long 1890030548 + .long 3218472752 + .long 3032400188 + .long 3218478557 + .long 4072261525 + .long 3218484354 + .long 3450874911 + .long 1070995813 + .long 2331021804 + .long 1070990032 + .long 1029453230 + .long 1070984259 + .long 3747176240 + .long 1070978493 + .long 1800682930 + .long 1070972736 + .long 3686719393 + .long 1070966986 + .long 722545241 + .long 1070961245 + .long 1405669883 + .long 1070955511 + .long 1349079372 + .long 1070949785 + .long 461103529 + .long 1070944067 + .long 2945413886 + .long 1070938356 + .long 121152472 + .long 1070932654 + .long 487700860 + .long 1070926959 + .long 3954874384 + .long 1070921271 + .long 1842920138 + .long 1070915592 + .long 2652318780 + .long 1070909920 + .long 1999011482 + .long 1070904256 + .long 4089234463 + .long 1070898599 + .long 244680560 + .long 1070892951 + .long 3262235675 + .long 1070887309 + .long 169336595 + .long 1070881676 + .long 3763576649 + .long 1070876049 + .long 1073096258 + .long 1070870431 + .long 601221319 + .long 1070864820 + .long 2261690268 + .long 1070859216 + .long 1673619518 + .long 1070853620 + .long 3046403514 + .long 1070848031 + .long 1999843716 + .long 1070842450 + .long 2744015967 + .long 1070836876 + .long 899399508 + .long 1070831310 + .long 676744370 + .long 1070825751 + .long 1992167703 + .long 1070820199 + .long 467152011 + .long 1070814655 + .long 313445281 + .long 1070809118 + .long 1448157352 + .long 1070803588 + .long 3788725476 + .long 1070798065 + .long 2957945300 + .long 1070792550 + .long 3168871046 + .long 1070787042 + .long 44944622 + .long 1070781542 + .long 2094830420 + .long 1070776048 + .long 647642559 + .long 1070770562 + .long 4212681596 + .long 1070765082 + .long 4119694493 + .long 1070759610 + .long 288676754 + .long 1070754146 + .long 1229870791 + .long 1070748688 + .long 2568927817 + .long 1070743237 + .long 4226775419 + .long 1070737793 + .long 1829681364 + .long 1070732357 + .long 3889121191 + .long 1070726927 + .long 1737005556 + .long 1070721505 + .long 3885417029 + .long 1070716089 + .long 1666870165 + .long 1070710681 + .long 3594048319 + .long 1070705279 + .long 1000063738 + .long 1070699885 + .long 2398194399 + .long 1070694497 + .long 3417111411 + .long 1070689116 + .long 3980746691 + .long 1070683742 + .long 4013324163 + .long 1070678375 + .long 3439358267 + .long 1070673015 + .long 2183652476 + .long 1070667662 + .long 171297820 + .long 1070662316 + .long 1622638721 + .long 1070656976 + .long 2168369647 + .long 1070651643 + .long 1734435555 + .long 1070646317 + .long 247063161 + .long 1070640998 + .long 1927726804 + .long 1070635685 + .long 2408245143 + .long 1070630379 + .long 1615681634 + .long 1070625080 + .long 3772343130 + .long 1070619787 + .long 215909304 + .long 1070614502 + .long 3759169634 + .long 1070609222 + .long 1445381777 + .long 1070603950 + .long 1792910451 + .long 1070598684 + .long 870975437 + .long 1070590754 + .long 3194096222 + .long 1070580248 + .long 1823716217 + .long 1070569756 + .long 913800688 + .long 1070559277 + .long 323875369 + .long 1070548811 + .long 4208958430 + .long 1070538357 + .long 3839688678 + .long 1070527917 + .long 3372126730 + .long 1070517490 + .long 2667883253 + .long 1070507076 + .long 1589083690 + .long 1070496675 + .long 4293333010 + .long 1070486286 + .long 2053843986 + .long 1070475911 + .long 3324205749 + .long 1070465548 + .long 3673610217 + .long 1070455198 + .long 2966718784 + .long 1070444861 + .long 1068692560 + .long 1070434537 + .long 2140157205 + .long 1070424225 + .long 1752298597 + .long 1070413926 + .long 4066729595 + .long 1070403639 + .long 360651144 + .long 1070393366 + .long 3386588242 + .long 1070383104 + .long 127747308 + .long 1070372856 + .long 3337621361 + .long 1070362619 + .long 380113 + .long 1070352396 + .long 2870475188 + .long 1070342184 + .long 3227997535 + .long 1070331985 + .long 943446189 + .long 1070321799 + .long 182758681 + .long 1070311625 + .long 817374162 + .long 1070301463 + .long 2719198427 + .long 1070291313 + .long 1465634365 + .long 1070281176 + .long 1224481606 + .long 1070271051 + .long 1869032404 + .long 1070260938 + .long 3273036717 + .long 1070250837 + .long 1015732707 + .long 1070240749 + .long 3561713742 + .long 1070230672 + .long 2196155141 + .long 1070220608 + .long 1089583089 + .long 1070210556 + .long 118003300 + .long 1070200516 + .long 3452833475 + .long 1070190487 + .long 2381031992 + .long 1070180471 + .long 1074899573 + .long 1070170467 + .long 3707175295 + .long 1070160474 + .long 1566132617 + .long 1070150494 + .long 3120348377 + .long 1070140525 + .long 3953929663 + .long 1070130568 + .long 3946380940 + .long 1070120623 + .long 2977634725 + .long 1070110690 + .long 928049556 + .long 1070100769 + .long 1973375279 + .long 1070090859 + .long 1699849154 + .long 1070080961 + .long 4284063055 + .long 1070071074 + .long 1018125008 + .long 1070061200 + .long 374428300 + .long 1070051337 + .long 2235845747 + .long 1070041485 + .long 2190695046 + .long 1070031645 + .long 122671437 + .long 1070021817 + .long 210845780 + .long 1070012000 + .long 2339728060 + .long 1070002194 + .long 2099265479 + .long 1069992400 + .long 3669742467 + .long 1069982617 + .long 2641909617 + .long 1069972846 + .long 3196851002 + .long 1069963086 + .long 926113142 + .long 1069953338 + .long 11572342 + .long 1069943601 + .long 340530969 + .long 1069933875 + .long 1800682930 + .long 1069924160 + .long 4280111857 + .long 1069914456 + .long 3372322013 + .long 1069904764 + .long 3261138386 + .long 1069895083 + .long 3835803021 + .long 1069885413 + .long 690973253 + .long 1069875755 + .long 2306589128 + .long 1069866107 + .long 4278067876 + .long 1069856470 + .long 2201204065 + .long 1069846845 + .long 262102455 + .long 1069837231 + .long 2647241692 + .long 1069827627 + .long 658570708 + .long 1069818035 + .long 2778278092 + .long 1069808453 + .long 309052031 + .long 1069798883 + .long 1733817001 + .long 1069789323 + .long 2650961017 + .long 1069779774 + .long 2954203158 + .long 1069770236 + .long 2537624622 + .long 1069760709 + .long 1295667077 + .long 1069751193 + .long 3418098326 + .long 1069741687 + .long 210141498 + .long 1069732193 + .long 157244505 + .long 1069722709 + .long 3155274661 + .long 1069713235 + .long 510517079 + .long 1069703773 + .long 709476866 + .long 1069694321 + .long 3649073763 + .long 1069684879 + .long 636640577 + .long 1069675449 + .long 159725394 + .long 1069666029 + .long 2116286250 + .long 1069656619 + .long 2109656884 + .long 1069647220 + .long 38479793 + .long 1069637832 + .long 96704707 + .long 1069628454 + .long 2183652476 + .long 1069619086 + .long 1904013563 + .long 1069609729 + .long 3452748429 + .long 1069600382 + .long 2435216853 + .long 1069591046 + .long 3047045639 + .long 1069581720 + .long 894257944 + .long 1069572405 + .long 173141005 + .long 1069563100 + .long 785342784 + .long 1069553805 + .long 970708326 + .long 1069541521 + .long 2645916898 + .long 1069522972 + .long 2106590683 + .long 1069504444 + .long 3453588195 + .long 1069485936 + .long 2198475040 + .long 1069467449 + .long 2443390270 + .long 1069448982 + .long 3996141691 + .long 1069430535 + .long 2370203065 + .long 1069412109 + .long 1669613218 + .long 1069393703 + .long 1704071394 + .long 1069375317 + .long 2283901796 + .long 1069356951 + .long 3220050856 + .long 1069338605 + .long 29117219 + .long 1069320280 + .long 1113218225 + .long 1069301974 + .long 1990183441 + .long 1069283688 + .long 2473421172 + .long 1069265422 + .long 2376948508 + .long 1069247176 + .long 1515388672 + .long 1069228950 + .long 3998935692 + .long 1069210743 + .long 1053482595 + .long 1069192557 + .long 1085389880 + .long 1069174390 + .long 3911679148 + .long 1069156242 + .long 760030536 + .long 1069138115 + .long 38583924 + .long 1069120007 + .long 1566132617 + .long 1069101918 + .long 867088104 + .long 1069083849 + .long 2056379433 + .long 1069065799 + .long 659581512 + .long 1069047769 + .long 792781808 + .long 1069029758 + .long 2277675977 + .long 1069011766 + .long 641565395 + .long 1068993794 + .long 2256601 + .long 1068975841 + .long 183156961 + .long 1068957907 + .long 1008239542 + .long 1068939992 + .long 2302040698 + .long 1068922096 + .long 3889657667 + .long 1068904219 + .long 1301778891 + .long 1068886362 + .long 2954550821 + .long 1068868523 + .long 84804484 + .long 1068850704 + .long 1109791498 + .long 1068832903 + .long 1562410668 + .long 1068815121 + .long 1271074840 + .long 1068797358 + .long 64741293 + .long 1068779614 + .long 2067876735 + .long 1068761888 + .long 2815553124 + .long 1068744181 + .long 2138347284 + .long 1068726493 + .long 4162338635 + .long 1068708823 + .long 129237761 + .long 1068691173 + .long 2756122533 + .long 1068673540 + .long 3285762921 + .long 1068655926 + .long 1551389854 + .long 1068638331 + .long 1681725707 + .long 1068620754 + .long 3511047527 + .long 1068603195 + .long 2579184841 + .long 1068585655 + .long 3016419377 + .long 1068568133 + .long 363613719 + .long 1068550630 + .long 3047045639 + .long 1068533144 + .long 2313634884 + .long 1068515677 + .long 296456961 + .long 1068497513 + .long 1367328035 + .long 1068462651 + .long 3221665916 + .long 1068427825 + .long 1242258971 + .long 1068393036 + .long 3697798734 + .long 1068358282 + .long 1678104687 + .long 1068323565 + .long 3453858508 + .long 1068288883 + .long 116861598 + .long 1068254238 + .long 4234736672 + .long 1068219627 + .long 2606283437 + .long 1068185053 + .long 3506114812 + .long 1068150514 + .long 2324914545 + .long 1068116011 + .long 3044269692 + .long 1068081543 + .long 1056797460 + .long 1068047111 + .long 346010435 + .long 1068012714 + .long 601410756 + .long 1067978352 + .long 1513453498 + .long 1067944025 + .long 2773542775 + .long 1067909733 + .long 4074027864 + .long 1067875476 + .long 813232056 + .long 1067841255 + .long 1275317999 + .long 1067807068 + .long 860480111 + .long 1067772916 + .long 3559777258 + .long 1067738798 + .long 480292498 + .long 1067704716 + .long 4204867691 + .long 1067670667 + .long 1547459502 + .long 1067636654 + .long 797775935 + .long 1067602675 + .long 1656501562 + .long 1067568730 + .long 3825228429 + .long 1067534819 + .long 2711485098 + .long 1067500943 + .long 2313634884 + .long 1067467101 + .long 376973398 + .long 1067416219 + .long 672386641 + .long 1067348671 + .long 630691842 + .long 1067281191 + .long 3960777458 + .long 1067213778 + .long 1488394470 + .long 1067146434 + .long 1220920383 + .long 1067079157 + .long 2577548405 + .long 1067011947 + .long 684247743 + .long 1066944805 + .long 3553625811 + .long 1066877729 + .long 2020150230 + .long 1066810721 + .long 4099880293 + .long 1066743779 + .long 630721729 + .long 1066676905 + .long 3927125538 + .long 1066610096 + .long 535440936 + .long 1066543355 + .long 2773516144 + .long 1066476679 + .long 1486051399 + .long 1066410070 + .long 808661260 + .long 1066285262 + .long 2227658502 + .long 1066152307 + .long 1813447778 + .long 1066019484 + .long 2743640746 + .long 1065886792 + .long 3904192454 + .long 1065754231 + .long 4184355568 + .long 1065621801 + .long 2476667369 + .long 1065489502 + .long 1971904113 + .long 1065357333 + .long 3138267131 + .long 1065097372 + .long 341338964 + .long 1064833554 + .long 1954052322 + .long 1064569994 + .long 1498975029 + .long 1064306693 + .long 2190050752 + .long 1063782660 + .long 1440057502 + .long 1063257089 + .long 1432705161 + .long 1062208000 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 2900053258 + .long 1070176668 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1208323809 + .long 3218079745 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 1431651269 + .long 1070945621 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294965279 + .long 3219128319 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .long 4294967295 + .long 3220176895 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .long 4294963200 + .long 2134900735 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040187392 + .long 0 + .long 1040187392 + .long 0 + .long 1040187392 + .long 0 + .long 1040187392 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .long 4294966272 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .long 3164471296 + .long 1031600026 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .long 0 + .long 2134900736 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .long 4277811695 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 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_dlog1p_data_internal,@object + .size __svml_dlog1p_data_internal,13824 + .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 + +.FLT_84: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_84,@object + .size .FLT_84,16 + .align 8 + +.FLT_85: + .long 0x00000000,0x3ff00000 + .type .FLT_85,@object + .size .FLT_85,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core-avx2.S new file mode 100644 index 0000000000..ca174a5f52 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized log1p, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_log1p _ZGVeN8v_log1p_avx2_wrapper +#include "../svml_d_log1p8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core.c new file mode 100644 index 0000000000..0aa35ec8c5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized log1p, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_log1p +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_log1p, __GI__ZGVeN8v_log1p, __redirect__ZGVeN8v_log1p) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core_avx512.S new file mode 100644 index 0000000000..5660eb8e96 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core_avx512.S @@ -0,0 +1,1090 @@ +/* Function logp8 vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * Get short reciprocal approximation Rcp ~ 1/xh + * R = (Rcp*xh - 1.0) + Rcp*xl + * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) + * log(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_log1p_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN8v_log1p_skx) + + .align 16,0x90 + +__svml_dlog1p_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movsd .FLT_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 .FLT_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 + + cfi_endproc + + .type __svml_dlog1p_cout_rare_internal,@function + .size __svml_dlog1p_cout_rare_internal,.-__svml_dlog1p_cout_rare_internal + + .section .rodata, "a" + .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 + +.FLT_80: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_80,@object + .size .FLT_80,16 + .align 8 + +.FLT_81: + .long 0x00000000,0x3ff00000 + .type .FLT_81,@object + .size .FLT_81,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core-avx2.S new file mode 100644 index 0000000000..3c0a0a01a2 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized log1pf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_log1pf _ZGVeN16v_log1pf_avx2_wrapper +#include "../svml_s_log1pf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core.c new file mode 100644 index 0000000000..9af1320547 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized log1pf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_log1pf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_log1pf, __GI__ZGVeN16v_log1pf, + __redirect__ZGVeN16v_log1pf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core_avx512.S new file mode 100644 index 0000000000..9b7ceafd44 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core_avx512.S @@ -0,0 +1,1634 @@ +/* Function logpf16 vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * Get short reciprocal approximation Rcp ~ 1/xh + * R = (Rcp*xh - 1.0) + Rcp*xl + * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) + * log(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_log1pf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 + +END(_ZGVeN16v_log1pf_skx) + + .align 16,0x90 + +__svml_slog1p_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movss .FLT_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 .FLT_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 .FLT_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 .FLT_86(%rip), %xmm4 + movss .FLT_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 .FLT_89(%rip), %xmm7 + addss .FLT_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 .FLT_83(%rip), %xmm12 + mulss %xmm2, %xmm12 + movss %xmm13, -24(%rsp) + movss -24(%rsp), %xmm14 + addss .FLT_82(%rip), %xmm12 + subss %xmm14, %xmm15 + mulss %xmm2, %xmm12 + movss %xmm15, -24(%rsp) + movss -24(%rsp), %xmm1 + addss .FLT_81(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_80(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_79(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_78(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_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 .FLT_83(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_82(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_81(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_80(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_79(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_78(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_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 .FLT_85(%rip), %xmm0 + mulss %xmm0, %xmm6 + movaps %xmm6, %xmm4 + movaps %xmm3, %xmm6 + jmp .LBL_2_8 + +.LBL_2_14: + movss .FLT_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 + + cfi_endproc + + .type __svml_slog1p_cout_rare_internal,@function + .size __svml_slog1p_cout_rare_internal,.-__svml_slog1p_cout_rare_internal + + .section .rodata, "a" + .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 + +.FLT_75: + .long 0x53800000 + .type .FLT_75,@object + .size .FLT_75,4 + .align 4 + +.FLT_76: + .long 0x3c200000 + .type .FLT_76,@object + .size .FLT_76,4 + .align 4 + +.FLT_77: + .long 0xbf000000 + .type .FLT_77,@object + .size .FLT_77,4 + .align 4 + +.FLT_78: + .long 0x3eaaaaab + .type .FLT_78,@object + .size .FLT_78,4 + .align 4 + +.FLT_79: + .long 0xbe800000 + .type .FLT_79,@object + .size .FLT_79,4 + .align 4 + +.FLT_80: + .long 0x3e4ccccd + .type .FLT_80,@object + .size .FLT_80,4 + .align 4 + +.FLT_81: + .long 0xbe2aaaab + .type .FLT_81,@object + .size .FLT_81,4 + .align 4 + +.FLT_82: + .long 0x3e124e01 + .type .FLT_82,@object + .size .FLT_82,4 + .align 4 + +.FLT_83: + .long 0xbe0005a0 + .type .FLT_83,@object + .size .FLT_83,4 + .align 4 + +.FLT_84: + .long 0xbf800000 + .type .FLT_84,@object + .size .FLT_84,4 + .align 4 + +.FLT_85: + .long 0x3f317218 + .type .FLT_85,@object + .size .FLT_85,4 + .align 4 + +.FLT_86: + .long 0x3f317200 + .type .FLT_86,@object + .size .FLT_86,4 + .align 4 + +.FLT_87: + .long 0x35bfbe8e + .type .FLT_87,@object + .size .FLT_87,4 + .align 4 + +.FLT_88: + .long 0x48000040 + .type .FLT_88,@object + .size .FLT_88,4 + .align 4 + +.FLT_89: + .long 0x46000000 + .type .FLT_89,@object + .size .FLT_89,4 + .align 4 + +.FLT_90: + .long 0x3f800000 + .type .FLT_90,@object + .size .FLT_90,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core-sse2.S new file mode 100644 index 0000000000..913c8290c8 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized log1pf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_log1pf _ZGVbN4v_log1pf_sse2 +#include "../svml_s_log1pf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core.c new file mode 100644 index 0000000000..b6aff48023 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized log1pf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_log1pf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_log1pf, __GI__ZGVbN4v_log1pf, + __redirect__ZGVbN4v_log1pf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core_sse4.S new file mode 100644 index 0000000000..71e28851d5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core_sse4.S @@ -0,0 +1,2217 @@ +/* Function logpf4 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * Get short reciprocal approximation Rcp ~ 1/xh + * R = (Rcp*xh - 1.0) + Rcp*xl + * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) + * log(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_log1pf_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movups 1920+__svml_slog1p_data_internal(%rip), %xmm6 + movups %xmm8, 144(%rsp) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movaps %xmm0, %xmm8 + +/* compute 1+x as high, low parts */ + movaps %xmm6, %xmm2 + movaps %xmm6, %xmm4 + maxps %xmm8, %xmm2 + minps %xmm8, %xmm4 + movaps %xmm2, %xmm5 + +/* check argument value ranges */ + movdqu 2112+__svml_slog1p_data_internal(%rip), %xmm1 + addps %xmm4, %xmm5 + movdqu 2176+__svml_slog1p_data_internal(%rip), %xmm3 + paddd %xmm5, %xmm1 + +/* reduction: compute r,n */ + movdqu 2240+__svml_slog1p_data_internal(%rip), %xmm0 + pcmpgtd %xmm1, %xmm3 + movdqu 2304+__svml_slog1p_data_internal(%rip), %xmm1 + subps %xmm5, %xmm2 + +/* combine and get argument value range mask */ + movmskps %xmm3, %edx + psubd %xmm0, %xmm5 + addps %xmm2, %xmm4 + pand %xmm5, %xmm1 + psrad $23, %xmm5 + cvtdq2ps %xmm5, %xmm2 + paddd %xmm0, %xmm1 + pslld $23, %xmm5 + movaps %xmm6, %xmm0 + +/* polynomial evaluation */ + subps %xmm6, %xmm1 + +/* final reconstruction */ + mulps 2368+__svml_slog1p_data_internal(%rip), %xmm2 + psubd %xmm5, %xmm0 + mulps %xmm4, %xmm0 + movups 2096+__svml_slog1p_data_internal(%rip), %xmm3 + addps %xmm1, %xmm0 + mulps %xmm0, %xmm3 + movups 1088+__svml_slog1p_data_internal(%rip), %xmm7 + andnps %xmm8, %xmm7 + addps 2080+__svml_slog1p_data_internal(%rip), %xmm3 + mulps %xmm0, %xmm3 + addps 2064+__svml_slog1p_data_internal(%rip), %xmm3 + mulps %xmm0, %xmm3 + addps 2048+__svml_slog1p_data_internal(%rip), %xmm3 + mulps %xmm0, %xmm3 + addps 2032+__svml_slog1p_data_internal(%rip), %xmm3 + mulps %xmm0, %xmm3 + addps 2016+__svml_slog1p_data_internal(%rip), %xmm3 + mulps %xmm0, %xmm3 + addps 2000+__svml_slog1p_data_internal(%rip), %xmm3 + mulps %xmm0, %xmm3 + addps 1984+__svml_slog1p_data_internal(%rip), %xmm3 + mulps %xmm0, %xmm3 + mulps %xmm0, %xmm3 + addps %xmm3, %xmm0 + addps %xmm2, %xmm0 + orps %xmm7, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 144(%rsp), %xmm8 + cfi_restore(25) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm8, 192(%rsp) + movups %xmm0, 256(%rsp) + xorl %eax, %eax + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 120(%rsp) + movq %rdi, 112(%rsp) + movq %r12, 136(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 128(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 120(%rsp), %rsi + cfi_restore(4) + movq 112(%rsp), %rdi + cfi_restore(5) + movq 136(%rsp), %r12 + cfi_restore(12) + movq 128(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_slog1p_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_log1pf_sse4) + + .align 16,0x90 + +__svml_slog1p_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movss .FLT_94(%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 .FLT_79(%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 .FLT_80(%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 .FLT_90(%rip), %xmm4 + movss .FLT_91(%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 .FLT_93(%rip), %xmm7 + addss .FLT_92(%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 .FLT_87(%rip), %xmm12 + mulss %xmm2, %xmm12 + movss %xmm13, -24(%rsp) + movss -24(%rsp), %xmm14 + addss .FLT_86(%rip), %xmm12 + subss %xmm14, %xmm15 + mulss %xmm2, %xmm12 + movss %xmm15, -24(%rsp) + movss -24(%rsp), %xmm1 + addss .FLT_85(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_84(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_83(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_82(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_81(%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 .FLT_87(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_86(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_85(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_84(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_83(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_82(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_81(%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 .FLT_89(%rip), %xmm0 + mulss %xmm0, %xmm6 + movaps %xmm6, %xmm4 + movaps %xmm3, %xmm6 + jmp .LBL_2_8 + +.LBL_2_14: + movss .FLT_88(%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 + + cfi_endproc + + .type __svml_slog1p_cout_rare_internal,@function + .size __svml_slog1p_cout_rare_internal,.-__svml_slog1p_cout_rare_internal + + .section .rodata, "a" + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1051372345 + .long 1051372345 + .long 1051372345 + .long 1051372345 + .long 3204448310 + .long 3204448310 + .long 3204448310 + .long 3204448310 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3204448256 + .long 3204448256 + .long 3204448256 + .long 3204448256 + .long 1051372180 + .long 1051372180 + .long 1051372180 + .long 1051372180 + .long 3196061070 + .long 3196061070 + .long 3196061070 + .long 3196061070 + .long 1045225872 + .long 1045225872 + .long 1045225872 + .long 1045225872 + .long 3190336823 + .long 3190336823 + .long 3190336823 + .long 3190336823 + .long 1041222418 + .long 1041222418 + .long 1041222418 + .long 1041222418 + .long 3189430755 + .long 3189430755 + .long 3189430755 + .long 3189430755 + .long 1041073389 + .long 1041073389 + .long 1041073389 + .long 1041073389 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_slog1p_data_internal,@object + .size __svml_slog1p_data_internal,2624 + .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 + +.FLT_79: + .long 0x53800000 + .type .FLT_79,@object + .size .FLT_79,4 + .align 4 + +.FLT_80: + .long 0x3c200000 + .type .FLT_80,@object + .size .FLT_80,4 + .align 4 + +.FLT_81: + .long 0xbf000000 + .type .FLT_81,@object + .size .FLT_81,4 + .align 4 + +.FLT_82: + .long 0x3eaaaaab + .type .FLT_82,@object + .size .FLT_82,4 + .align 4 + +.FLT_83: + .long 0xbe800000 + .type .FLT_83,@object + .size .FLT_83,4 + .align 4 + +.FLT_84: + .long 0x3e4ccccd + .type .FLT_84,@object + .size .FLT_84,4 + .align 4 + +.FLT_85: + .long 0xbe2aaaab + .type .FLT_85,@object + .size .FLT_85,4 + .align 4 + +.FLT_86: + .long 0x3e124e01 + .type .FLT_86,@object + .size .FLT_86,4 + .align 4 + +.FLT_87: + .long 0xbe0005a0 + .type .FLT_87,@object + .size .FLT_87,4 + .align 4 + +.FLT_88: + .long 0xbf800000 + .type .FLT_88,@object + .size .FLT_88,4 + .align 4 + +.FLT_89: + .long 0x3f317218 + .type .FLT_89,@object + .size .FLT_89,4 + .align 4 + +.FLT_90: + .long 0x3f317200 + .type .FLT_90,@object + .size .FLT_90,4 + .align 4 + +.FLT_91: + .long 0x35bfbe8e + .type .FLT_91,@object + .size .FLT_91,4 + .align 4 + +.FLT_92: + .long 0x48000040 + .type .FLT_92,@object + .size .FLT_92,4 + .align 4 + +.FLT_93: + .long 0x46000000 + .type .FLT_93,@object + .size .FLT_93,4 + .align 4 + +.FLT_94: + .long 0x3f800000 + .type .FLT_94,@object + .size .FLT_94,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core-sse.S new file mode 100644 index 0000000000..c0b97d89e6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized log1pf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_log1pf _ZGVdN8v_log1pf_sse_wrapper +#include "../svml_s_log1pf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core.c new file mode 100644 index 0000000000..a2bbe37129 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized log1pf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_log1pf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_log1pf, __GI__ZGVdN8v_log1pf, + __redirect__ZGVdN8v_log1pf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core_avx2.S new file mode 100644 index 0000000000..cb847cf734 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core_avx2.S @@ -0,0 +1,1996 @@ +/* Function logpf8 vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * Get short reciprocal approximation Rcp ~ 1/xh + * R = (Rcp*xh - 1.0) + Rcp*xl + * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) + * log(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_log1pf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + vmovups 1920+__svml_slog1p_data_internal(%rip), %ymm2 + vmovups 1088+__svml_slog1p_data_internal(%rip), %ymm4 + vmovups %ymm8, 256(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + +/* reduction: compute r,n */ + vmovups 2368+__svml_slog1p_data_internal(%rip), %ymm8 + vmovups %ymm12, 192(%rsp) + vmovups %ymm9, 32(%rsp) + vmovups %ymm10, 96(%rsp) + vmovups %ymm11, 160(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm13, 224(%rsp) + vmovaps %ymm0, %ymm3 + +/* compute 1+x as high, low parts */ + vmaxps %ymm3, %ymm2, %ymm5 + vminps %ymm3, %ymm2, %ymm6 + vmovups 2304+__svml_slog1p_data_internal(%rip), %ymm0 + vandnps %ymm3, %ymm4, %ymm1 + vaddps %ymm6, %ymm5, %ymm4 + vsubps %ymm4, %ymm5, %ymm7 + +/* check argument value ranges */ + vpaddd 2240+__svml_slog1p_data_internal(%rip), %ymm4, %ymm5 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vaddps %ymm7, %ymm6, %ymm12 + vpsubd %ymm8, %ymm4, %ymm6 + vmovups 2208+__svml_slog1p_data_internal(%rip), %ymm4 + vpsrad $23, %ymm6, %ymm9 + vpand 2432+__svml_slog1p_data_internal(%rip), %ymm6, %ymm7 + vpslld $23, %ymm9, %ymm10 + vpaddd %ymm8, %ymm7, %ymm14 + vpsubd %ymm10, %ymm2, %ymm11 + +/* polynomial evaluation */ + vsubps %ymm2, %ymm14, %ymm2 + vmulps %ymm12, %ymm11, %ymm15 + vaddps %ymm2, %ymm15, %ymm2 + vfmadd213ps 2176+__svml_slog1p_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 2144+__svml_slog1p_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 2112+__svml_slog1p_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 2080+__svml_slog1p_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 2048+__svml_slog1p_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 2016+__svml_slog1p_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps 1984+__svml_slog1p_data_internal(%rip), %ymm2, %ymm4 + vpcmpgtd %ymm5, %ymm0, %ymm13 + vmulps %ymm4, %ymm2, %ymm5 + vcvtdq2ps %ymm9, %ymm0 + vfmadd213ps %ymm2, %ymm2, %ymm5 + +/* final reconstruction */ + vfmadd132ps 2496+__svml_slog1p_data_internal(%rip), %ymm5, %ymm0 + +/* combine and get argument value range mask */ + vmovmskps %ymm13, %edx + vorps %ymm1, %ymm0, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 256(%rsp), %ymm8 + cfi_restore(91) + vmovups 32(%rsp), %ymm9 + cfi_restore(92) + vmovups 96(%rsp), %ymm10 + cfi_restore(93) + vmovups 160(%rsp), %ymm11 + cfi_restore(94) + vmovups 192(%rsp), %ymm12 + cfi_restore(95) + vmovups 224(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm3, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_slog1p_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_log1pf_avx2) + + .align 16,0x90 + +__svml_slog1p_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movss .FLT_94(%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 .FLT_79(%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 .FLT_80(%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 .FLT_90(%rip), %xmm4 + movss .FLT_91(%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 .FLT_93(%rip), %xmm7 + addss .FLT_92(%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 .FLT_87(%rip), %xmm12 + mulss %xmm2, %xmm12 + movss %xmm13, -24(%rsp) + movss -24(%rsp), %xmm14 + addss .FLT_86(%rip), %xmm12 + subss %xmm14, %xmm15 + mulss %xmm2, %xmm12 + movss %xmm15, -24(%rsp) + movss -24(%rsp), %xmm1 + addss .FLT_85(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_84(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_83(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_82(%rip), %xmm12 + mulss %xmm2, %xmm12 + addss .FLT_81(%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 .FLT_87(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_86(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_85(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_84(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_83(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_82(%rip), %xmm0 + mulss %xmm2, %xmm0 + addss .FLT_81(%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 .FLT_89(%rip), %xmm0 + mulss %xmm0, %xmm6 + movaps %xmm6, %xmm4 + movaps %xmm3, %xmm6 + jmp .LBL_2_8 + +.LBL_2_14: + movss .FLT_88(%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 + + cfi_endproc + + .type __svml_slog1p_cout_rare_internal,@function + .size __svml_slog1p_cout_rare_internal,.-__svml_slog1p_cout_rare_internal + + .section .rodata, "a" + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .long 964689920 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .long 2063597568 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .long 998244352 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .long 3212836863 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .long 2055208960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .long 1060205056 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .long 901758464 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 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 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 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 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 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .long 16777216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .long 25165824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .long 1060205080 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_slog1p_data_internal,@object + .size __svml_slog1p_data_internal,2752 + .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 + +.FLT_79: + .long 0x53800000 + .type .FLT_79,@object + .size .FLT_79,4 + .align 4 + +.FLT_80: + .long 0x3c200000 + .type .FLT_80,@object + .size .FLT_80,4 + .align 4 + +.FLT_81: + .long 0xbf000000 + .type .FLT_81,@object + .size .FLT_81,4 + .align 4 + +.FLT_82: + .long 0x3eaaaaab + .type .FLT_82,@object + .size .FLT_82,4 + .align 4 + +.FLT_83: + .long 0xbe800000 + .type .FLT_83,@object + .size .FLT_83,4 + .align 4 + +.FLT_84: + .long 0x3e4ccccd + .type .FLT_84,@object + .size .FLT_84,4 + .align 4 + +.FLT_85: + .long 0xbe2aaaab + .type .FLT_85,@object + .size .FLT_85,4 + .align 4 + +.FLT_86: + .long 0x3e124e01 + .type .FLT_86,@object + .size .FLT_86,4 + .align 4 + +.FLT_87: + .long 0xbe0005a0 + .type .FLT_87,@object + .size .FLT_87,4 + .align 4 + +.FLT_88: + .long 0xbf800000 + .type .FLT_88,@object + .size .FLT_88,4 + .align 4 + +.FLT_89: + .long 0x3f317218 + .type .FLT_89,@object + .size .FLT_89,4 + .align 4 + +.FLT_90: + .long 0x3f317200 + .type .FLT_90,@object + .size .FLT_90,4 + .align 4 + +.FLT_91: + .long 0x35bfbe8e + .type .FLT_91,@object + .size .FLT_91,4 + .align 4 + +.FLT_92: + .long 0x48000040 + .type .FLT_92,@object + .size .FLT_92,4 + .align 4 + +.FLT_93: + .long 0x46000000 + .type .FLT_93,@object + .size .FLT_93,4 + .align 4 + +.FLT_94: + .long 0x3f800000 + .type .FLT_94,@object + .size .FLT_94,4 diff --git a/sysdeps/x86_64/fpu/svml_d_log1p2_core.S b/sysdeps/x86_64/fpu/svml_d_log1p2_core.S new file mode 100644 index 0000000000..e3f01717d9 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log1p2_core.S @@ -0,0 +1,29 @@ +/* Function log1p vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_log1p) +WRAPPER_IMPL_SSE2 log1p +END (_ZGVbN2v_log1p) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_log1p) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_log1p4_core.S b/sysdeps/x86_64/fpu/svml_d_log1p4_core.S new file mode 100644 index 0000000000..49beb96183 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log1p4_core.S @@ -0,0 +1,29 @@ +/* Function log1p vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_log1p) +WRAPPER_IMPL_AVX _ZGVbN2v_log1p +END (_ZGVdN4v_log1p) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_log1p) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_log1p4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_log1p4_core_avx.S new file mode 100644 index 0000000000..8b89768b7c --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log1p4_core_avx.S @@ -0,0 +1,25 @@ +/* Function log1p vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_log1p) +WRAPPER_IMPL_AVX _ZGVbN2v_log1p +END (_ZGVcN4v_log1p) diff --git a/sysdeps/x86_64/fpu/svml_d_log1p8_core.S b/sysdeps/x86_64/fpu/svml_d_log1p8_core.S new file mode 100644 index 0000000000..54b4d4ede8 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log1p8_core.S @@ -0,0 +1,25 @@ +/* Function log1p vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_log1p) +WRAPPER_IMPL_AVX512 _ZGVdN4v_log1p +END (_ZGVeN8v_log1p) diff --git a/sysdeps/x86_64/fpu/svml_s_log1pf16_core.S b/sysdeps/x86_64/fpu/svml_s_log1pf16_core.S new file mode 100644 index 0000000000..2c953d00fb --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log1pf16_core.S @@ -0,0 +1,25 @@ +/* Function log1pf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_log1pf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_log1pf +END (_ZGVeN16v_log1pf) diff --git a/sysdeps/x86_64/fpu/svml_s_log1pf4_core.S b/sysdeps/x86_64/fpu/svml_s_log1pf4_core.S new file mode 100644 index 0000000000..6f68762eaa --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log1pf4_core.S @@ -0,0 +1,29 @@ +/* Function log1pf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_log1pf) +WRAPPER_IMPL_SSE2 log1pf +END (_ZGVbN4v_log1pf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_log1pf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_log1pf8_core.S b/sysdeps/x86_64/fpu/svml_s_log1pf8_core.S new file mode 100644 index 0000000000..74f81283b1 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log1pf8_core.S @@ -0,0 +1,29 @@ +/* Function log1pf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_log1pf) +WRAPPER_IMPL_AVX _ZGVbN4v_log1pf +END (_ZGVdN8v_log1pf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_log1pf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_log1pf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_log1pf8_core_avx.S new file mode 100644 index 0000000000..f33be0e904 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log1pf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function log1pf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_log1pf) +WRAPPER_IMPL_AVX _ZGVbN4v_log1pf +END (_ZGVcN8v_log1pf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx.c new file mode 100644 index 0000000000..18aa6aaeaa --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log1p.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx2.c new file mode 100644 index 0000000000..18aa6aaeaa --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log1p.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx512f.c new file mode 100644 index 0000000000..18aa6aaeaa --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log1p-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log1p.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log1p.c b/sysdeps/x86_64/fpu/test-double-libmvec-log1p.c new file mode 100644 index 0000000000..40937f987a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log1p.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC log1p +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 3ef095ae62..4a62f72a9d 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -43,6 +43,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVbN2v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVbN2v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVbN2vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVbN2v_log10) +VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVbN2v_log1p) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 1606920439..4390d83410 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -46,6 +46,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVdN4v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVdN4v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVdN4vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVdN4v_log10) +VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVdN4v_log1p) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 934003b172..838825f3bd 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -43,6 +43,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVcN4v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVcN4v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVcN4vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVcN4v_log10) +VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVcN4v_log1p) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index f6eff0b72d..2898b231de 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -43,6 +43,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp2), _ZGVeN8v_exp2) VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVeN8v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVeN8vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVeN8v_log10) +VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVeN8v_log1p) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx.c new file mode 100644 index 0000000000..3395decaf4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-log1pf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx2.c new file mode 100644 index 0000000000..3395decaf4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-log1pf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx512f.c new file mode 100644 index 0000000000..3395decaf4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log1pf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-log1pf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log1pf.c b/sysdeps/x86_64/fpu/test-float-libmvec-log1pf.c new file mode 100644 index 0000000000..1b36069ded --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log1pf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC log1pf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 3927d2e332..132daa04f7 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -43,6 +43,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVeN16v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVeN16v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVeN16vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVeN16v_log10f) +VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVeN16v_log1pf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index a9f012a4ba..0c2d93eaa2 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -43,6 +43,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVbN4v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVbN4v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVbN4vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVbN4v_log10f) +VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVbN4v_log1pf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 00486c2965..afc0e4d078 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -46,6 +46,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVdN8v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVdN8v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVdN8vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVdN8v_log10f) +VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVdN8v_log1pf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 296a4d68a8..0001f9a839 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -43,6 +43,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (exp2f), _ZGVcN8v_exp2f) VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVcN8v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVcN8vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVcN8v_log10f) +VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVcN8v_log1pf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:37:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48097 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D7DB9385800C for ; Wed, 24 Nov 2021 20:18:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D7DB9385800C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637785094; bh=fi40BWFxNrEyWpYKDf6FqtWPlgC/E0F0Dx4U4hxZeZM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=p3FVOse18Ku9Xwp/gy2+smwIghJYfh1XV3GBQCZUR4ZdF90lQZt7WZH5tygXr8sQa ULuVg999OPzVaiPw+pamZqR/Dcvxh8s8mcw+BX88gdQsbqy2kfXL/UTdseX3Pccubt b8XPg/Pe2B3wwTjE1j4iaBdpkhX6IC03xAsbnkic= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id C4C983857803 for ; Wed, 24 Nov 2021 19:38:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C4C983857803 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="232852742" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="232852742" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="650501622" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga001.fm.intel.com with ESMTP; 24 Nov 2021 11:38:14 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XL021555; Wed, 24 Nov 2021 11:38:13 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 34/42] x86-64: Add vector log1p/log1pf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:37:59 -0800 Message-Id: <20211124193807.2093208-35-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector log1p/log1pf and input files to libmvec microbenchmark. libmvec-log1p-inputs: 70% Normal random distribution range: (-1.0, DBL_MAX) mean: 0.0 sigma: 50.0 30% uniform random distribution in range (-1.0, 1.0e6) libmvec-log1pf-inputs: 70% Normal random distribution range: (-1.0f, FLT_MAX) mean: 0.0f sigma: 50.0f 30% uniform random distribution in range (-1.0f, 1.0e6f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-log1p-inputs | 4100 ++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-log1pf-inputs | 4100 ++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-log1p-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-log1pf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 3a14b2c983..b557030447 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -64,6 +64,7 @@ libmvec-bench-funcs = \ expm1 \ hypot \ log10 \ + log1p \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-log1p-inputs b/sysdeps/x86_64/fpu/libmvec-log1p-inputs new file mode 100644 index 0000000000..99122f2822 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-log1p-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-1, 1.8e+308), mean = 0, standard deviation = 50 +0x1.49137ef4e57c7p+5 +0x1.0c38e5ab36409p+3 +0x1.25be58827c9bcp+5 +0x1.b3622f809b9a6p+6 +0x1.e3cf03b255bdcp+4 +0x1.40f2c55b96bb5p+6 +0x1.28709287fb6a5p+2 +0x1.fe3c3c572f81dp+1 +0x1.1305af9ca674ep+13 +0x1.7ba5eb720baffp+6 +0x1.2c2fd260d10e6p+18 +-0x1.531a739bf90ep-2 +0x1.c046d9f22bbdcp+4 +0x1.df50b57395f3ep+4 +0x1.484689a4725e1p+5 +0x1.549deb8839062p+5 +0x1.6f8d1948193c5p+5 +0x1.30b3a77e7b079p+5 +0x1.b8b7b39e44d45p+4 +0x1.1afe89293ed36p+4 +0x1.6fef6993f8ffep+4 +0x1.537b28cd12aadp+11 +0x1.f7437d8a3c67p-2 +0x1.b96f5b5f08a7dp+17 +0x1.122b4ff311b8ap+6 +0x1.69f61d904c104p+4 +0x1.a22ce2f2e8a2fp+17 +0x1.1976b0b6c60d4p+3 +0x1.24512dcc88f9fp+6 +0x1.5b325f56700edp+9 +0x1.07cbff6c561bfp+0 +0x1.35b886561d67bp+3 +0x1.2d832b9a33271p+6 +0x1.f003eb268ae39p+2 +0x1.0ef993489559cp+5 +0x1.159f8977ebbe4p+5 +0x1.cea02a9094e77p+5 +0x1.007622e9d8864p+6 +0x1.176bde7c62e3ep+3 +0x1.3a4ed8ee0ca0bp+5 +0x1.8460920cb5636p+5 +0x1.5a512bb44c47cp+7 +0x1.e5e844f67db6p+4 +0x1.d09beebe8774fp+4 +0x1.a9b6fa85ef39bp-1 +0x1.41cd817d3ea7p+3 +0x1.7022036fd85e9p+1 +0x1.da0aabca65b1fp+4 +0x1.a5423efab6cc6p-1 +0x1.66fd02f99444ep+5 +0x1.82fdefa3581e1p+3 +0x1.fbeb91b46efeap+2 +0x1.6073ac20e1ca3p+3 +0x1.564acce77d2bap+11 +0x1.8ae5406e57dadp+5 +0x1.bd2628b579086p+15 +0x1.807635fff88eep-1 +0x1.a1231e012adb6p+4 +0x1.2cfd92f5b2049p+6 +-0x1.cd752a8567f52p-7 +0x1.8732206d3e9a5p+2 +0x1.9336902cfed45p+2 +0x1.1e310287abc7ap+5 +0x1.4d95c5e88df54p+4 +0x1.449c664d307cbp+9 +0x1.dab83a6cf0d08p+4 +0x1.2f5aeb58f1d12p+5 +0x1.17d06bf094c6bp+1 +0x1.1b9514dcbf256p+5 +0x1.2a32d76398481p+3 +-0x1.7e451fe93e86dp-2 +0x1.2205ee1806b4bp+5 +0x1.158bd16767012p+9 +0x1.05a98c97c37a6p+7 +0x1.d141079f2f229p+0 +0x1.966b669692bf7p+6 +0x1.69a1f63a369c8p+6 +0x1.1b64de692e4ccp+5 +0x1.76588bc24f1b1p+5 +0x1.c4cfd50376b32p+2 +0x1.a35e7b6df21a1p+2 +0x1.634c2ed585e57p+6 +0x1.5aa24673e3745p+3 +0x1.5b69059d6acd8p+4 +0x1.0c80244fcde46p+15 +0x1.4d3324c21f40ep+6 +0x1.de54ae3cc4196p+4 +0x1.b8ab1fce2e8b7p+4 +0x1.7a9b6a9764b9fp+3 +0x1.8c894c9d00891p+3 +0x1.081b996c062edp+5 +0x1.21dfe1a7e7a57p+6 +0x1.7193dfa4ab678p+9 +0x1.d3f1242a26d34p-1 +0x1.23738b29a4553p+5 +0x1.e93b12aa20d9fp+3 +0x1.2cce462a964f7p+6 +0x1.0dc1bc9c5b182p+6 +0x1.0891c4109e0eep+6 +0x1.275b17a278906p+4 +0x1.03d6e9e9b7579p+3 +0x1.0bf6bad3737fp+6 +0x1.4b369e5cc20b8p+10 +0x1.40ee4477f2b07p+4 +0x1.c4464a2c6208dp+11 +0x1.1e07fde911fd3p+18 +-0x1.275e8b37ead77p-2 +0x1.da933f6b27be4p+3 +0x1.ee7c6ca01feb2p+14 +0x1.eec03fa40315ep+17 +0x1.954aa8da49472p+6 +0x1.34b9a3e9e461cp-2 +0x1.8d6d9bafc8427p+6 +0x1.91cd37c0787p+4 +0x1.c908cb5750b53p+5 +0x1.6a1b27edf8633p+4 +0x1.e7a270ddd582ap+4 +0x1.cc69b0d8d1156p+0 +0x1.fd14447f5bc02p+0 +0x1.a68b5e8367aep+4 +0x1.ee84f7acb4132p+4 +0x1.ef859ee856edbp+3 +0x1.1c22902c661a5p+5 +0x1.91df058aef224p+17 +0x1.4ecf81c440934p+6 +0x1.21cecdcc8ae62p+3 +0x1.167f76472b182p+3 +0x1.1c7167d9d33bfp+2 +0x1.e21cb4042eda5p+5 +0x1.14233c1199c84p+16 +0x1.e81cd2bad79a8p+0 +0x1.ad3a8436533c3p+15 +0x1.7603ab74a8242p+5 +0x1.023d10558139cp+4 +0x1.2d2ff008621a1p+7 +0x1.24ac07db4e27cp+4 +0x1.8ee4caa7765cfp+6 +0x1.ce6d79c23e6a9p+5 +0x1.86189b975f8c6p+16 +0x1.1011368b1f4ffp+11 +0x1.fd89fc7552a02p+3 +0x1.98631b549551dp+8 +0x1.fda986856a726p+3 +0x1.2ee51d5f06f2dp+5 +0x1.cfbd736e875fdp+10 +0x1.e743d1ae89513p+5 +0x1.f3564f218066fp+11 +0x1.49ebb71404db1p+1 +0x1.11c2739144e3ap+3 +0x1.db4b91b7e1c4cp+5 +0x1.0e385261b4e57p+5 +0x1.062773fd9b854p+5 +-0x1.7bfdfee5d7ffep-1 +0x1.40296b7aace7ep+6 +0x1.8515c6fe4c797p+12 +0x1.810ce327be9e8p+6 +0x1.f5afb80a42baep+5 +0x1.6df9c52365fdfp+6 +0x1.da73c7656f69dp+5 +0x1.2a6c77e6bc978p+2 +0x1.4a4e9e34fb591p+14 +0x1.5f45ef257b2c5p+2 +0x1.dc6dfa1634567p+5 +0x1.5df7a08deaa27p+5 +0x1.6effbd1af6a2dp+9 +0x1.1e52a5948dfd9p+0 +0x1.27a3908d84678p+6 +0x1.8636dab051eebp+12 +0x1.d29c2890fa44fp+3 +0x1.79efaa4a29ee2p+5 +0x1.613bf9a5025a2p+5 +0x1.5a9a556b755aap+2 +0x1.eaed3e9e5df16p+2 +0x1.53d878a5d703dp+3 +0x1.1e88589b5fa9p+5 +0x1.0a9bfca928fc2p+2 +0x1.3dd0b41e4dc64p+13 +0x1.0e97d31ac8d7bp+5 +0x1.8f542a870fc9fp+1 +0x1.0641e743c4e4ep+16 +0x1.1798b94a30135p+5 +0x1.2d826eebdf224p+5 +0x1.685441b4b6e1p+5 +0x1.ef0bda0c36ab6p+6 +0x1.95a7989757bb5p-2 +0x1.c284696a686e2p+5 +0x1.942174f68ecdp-3 +0x1.c0fe04ad4c1ffp+2 +0x1.6f06415f38c4fp+6 +0x1.36bf890587bdap+15 +0x1.901339a30a3edp+5 +0x1.ec2e751bf9f64p+5 +0x1.046fcdc9f0868p+5 +0x1.0b794d99180c7p+19 +0x1.9be11badb0c43p+6 +0x1.8c51e627c7b88p+3 +0x1.d2bfa47beed52p+3 +-0x1.5a5cb21bd4c45p-2 +0x1.d55578c4d6276p+3 +0x1.10d0e4eb0209fp+12 +0x1.4f4255858696cp+6 +0x1.8df7036240a5fp+2 +0x1.3bc2b880e0db7p+4 +0x1.b690eeaf78ce1p+5 +0x1.7bf08b869692ap+6 +0x1.4b2a731fe9592p+3 +0x1.3242e466456f8p+5 +0x1.29ce2a2fcebbfp-2 +0x1.1cb236592262dp+5 +0x1.f4857fe73ce1p+5 +0x1.0ef5d32fdc7a7p+6 +0x1.b99659442257p+5 +0x1.3015072a1f2b2p+6 +0x1.a553ce0a795d2p+5 +0x1.ba181be1cd6e9p+4 +0x1.0550ca3a94d94p+4 +0x1.b58e8ebc2ede3p+12 +0x1.787c3b1bebcep+5 +0x1.f172eb11077fap+6 +0x1.23a1890500665p+14 +0x1.9f27b5b5d10e4p+0 +0x1.30b411c350f4bp+13 +0x1.f0e40ff5d76dap+0 +0x1.edd6f222707bap+3 +0x1.96c312840239bp+14 +0x1.1358dad17c3c7p+7 +0x1.1cb3ad67a18eap+1 +0x1.0695378eb2205p+5 +0x1.666027bb43e0ap+4 +0x1.60c8cb0a0e028p+0 +0x1.2de53781308f5p+5 +0x1.b567bf3cffc74p+5 +0x1.0fe0fb28dd9a5p+5 +0x1.cd0cb5a2c105ap+5 +0x1.3dd37caadd99bp+4 +0x1.3e13fac0a3988p+7 +0x1.6e4647932d059p+10 +0x1.6ddb846db596p+6 +0x1.6a99c5b3f8cfp+4 +0x1.219beba5192a4p+4 +0x1.8e2ea14639d63p+5 +0x1.104fec2e5ae98p+5 +0x1.4710e77091bfcp+4 +0x1.8581ea3654ef7p+4 +0x1.a3533bd776841p+4 +0x1.921f7c17febf4p+6 +0x1.0f3294dfd9951p+5 +0x1.3c19af98e524dp+18 +0x1.ef70ea01c4c17p+4 +0x1.b544ebef0706dp+4 +0x1.444bf61c8a89ap+2 +0x1.03778208bba26p+6 +0x1.f5ea9d5c1b151p+5 +0x1.a1c63faf45792p+4 +0x1.7b2de22e85b5fp+5 +0x1.049a825f00779p+14 +0x1.cf09c354926c3p+13 +0x1.67aaa68cab7d3p+9 +0x1.293b9478c7fd1p+4 +0x1.596bbb312cf6ap+4 +-0x1.b5df483d8b36ep-1 +0x1.44ae16fcdf935p+2 +0x1.2cfc71ae2a7c3p+4 +0x1.22864e0e42b52p+6 +0x1.91a522ab0c5dfp+3 +0x1.b4b236fe195ap+8 +0x1.7e3961b4fcffep+8 +0x1.f23e6260545ecp+5 +0x1.fb6a91e39b25ep+3 +0x1.2fe699baa6bcep+3 +0x1.419e757e7763ap-2 +0x1.ba5daf412db97p+5 +0x1.e56865c420579p+4 +0x1.55a0c81eec59ap+5 +0x1.1594a26b69bf4p+6 +0x1.d77d46fc6b166p+5 +0x1.62eb306a4ec6ap+3 +0x1.3e3e736e6389ap+6 +0x1.bad81d1ba9668p+7 +0x1.a7195c30c0508p+0 +0x1.668de3dcdd002p+4 +0x1.ada4aedaafde6p+6 +0x1.a42292fef43dfp+6 +0x1.6a93a8b551917p+6 +0x1.94ec06c002052p+4 +0x1.8f41d2c35d949p+3 +0x1.e3506d17f2929p-2 +0x1.77c4aba694229p+6 +0x1.03a3122fb6b38p+4 +0x1.0a9a247b2f9dap+0 +0x1.00028f1c64b6bp+4 +0x1.60b90bc0b27aap+2 +0x1.a64be7d1dad4p+2 +0x1.35ed20379d1cp+5 +0x1.617153927e555p+3 +0x1.0b9f5813be531p+0 +0x1.ec9cfe498f74dp+5 +0x1.40e6f0a204103p+6 +0x1.2da56775be6aep+4 +0x1.01ae207c31b07p+2 +0x1.05d3d8cba9267p+11 +0x1.0f4e8f22d1819p+6 +0x1.9c5d4a33b617dp+3 +0x1.513ef3f3ecd4bp+13 +0x1.c89dfd76b1799p+6 +0x1.d0115b7074159p+4 +0x1.2ac2670bd9c57p+4 +0x1.12520ccc0bfp+10 +0x1.6039981cb64c5p+1 +0x1.8f7846e661174p+3 +0x1.a5e5b00a3b1c5p+6 +0x1.9df5dc93fabc5p+5 +0x1.ca42b22203806p+2 +0x1.7fa6992cfdc66p+6 +0x1.8ed8124cd520fp+3 +0x1.52fb3aeed567dp+6 +0x1.deb553cc5b19bp+8 +0x1.dbc2ab21bff9fp+5 +0x1.e8fb7a0b9fb84p+2 +0x1.e32531078f58p+3 +0x1.8531d0b489188p+9 +0x1.cb7aade0dff4fp+4 +0x1.2e561bcc0600dp+5 +0x1.7f87c8e01997ep+5 +0x1.28496b8ff39d1p+6 +0x1.9cd185d86fe66p+4 +0x1.399a5e2aa737ep+7 +0x1.dd0bee1632917p+3 +0x1.d096c602afc2fp+2 +0x1.3f24cab7ea8b2p+4 +0x1.d332a4f666d29p+5 +0x1.43d1070a821ep+6 +0x1.d98c0f4167bd8p+3 +0x1.0e6405fd5f39ap+1 +0x1.080170b31f566p+11 +0x1.aeec092f14b5cp+3 +0x1.3464729b1bd92p+5 +0x1.a9f3cff14ab45p+3 +0x1.f258db6c7327ep+0 +0x1.22cc36d87fcbp+4 +0x1.c3165300fa97ap+8 +0x1.0e68e8e1d7632p+15 +0x1.9889991ce2e08p+4 +0x1.8000dd2fc055bp+0 +0x1.3c60455690d72p+1 +0x1.9c681225ae7bp+5 +0x1.deb5b9e849e25p+4 +0x1.0feef703d51c8p+19 +0x1.c685b9cbea7dcp-4 +0x1.8886e4c96bffcp+6 +0x1.6239c1d79125cp+5 +0x1.91501bd6b68eep-3 +0x1.d2c107eb57d1dp+17 +-0x1.a0c4adcb7613ap-2 +0x1.02fc8ca5486dcp+6 +0x1.924f9ce451686p+4 +0x1.10d09147a61ep+2 +0x1.8166d9ad6a4e1p+18 +0x1.430a7fd89bbf2p+6 +0x1.e64731ca9e20ep+5 +0x1.fe487f7f6b728p+11 +0x1.d4a2ddb3f5deep+11 +0x1.6cfdad0a01a2bp+2 +0x1.19515a27cc01dp+5 +0x1.888784fcde489p+5 +0x1.5d3521bca8b25p+10 +0x1.deac3dcd9230ep+8 +0x1.a7c7a5d5e1c9fp+4 +0x1.e759e4e35d49ep+4 +0x1.2d6c2addb785p+6 +0x1.1a70aba12a32ep+4 +0x1.ac5dc72f16c3dp+5 +0x1.c9817f3914d8dp+10 +0x1.68ac5e54a9e56p+6 +0x1.07787897131ddp+5 +0x1.5db32b4427893p+4 +0x1.a108d149c68dep+4 +0x1.ae6ad62ffb42ap+6 +0x1.a2d3eded0f04dp+5 +0x1.6a1946c5f8cddp+9 +0x1.002142c2f431p+10 +0x1.c249b1fa62ec2p+3 +0x1.05133108407c7p+9 +0x1.2fef3b7cf883cp+4 +0x1.7f1a070bc1ecap+5 +0x1.64102a4602715p+5 +0x1.9f7ca638420cp+4 +0x1.980f2222ce8b5p+5 +0x1.6bf62ea074d8dp+6 +0x1.a9c3ca29c8c07p+1 +0x1.12332a8cfb667p+3 +0x1.1d75b969f3f1dp+4 +0x1.2c1a63ed9931ap+5 +0x1.8c0a2434ca9f8p+6 +0x1.0a90d0fc25e23p+10 +0x1.4415177f68443p+4 +0x1.5fcb301399ea9p+5 +0x1.c08c8404ee4a9p+5 +0x1.7c70c7a48811dp+16 +0x1.2fe5f87520898p+5 +0x1.83edca8b88ddbp+6 +0x1.c53c8f0c351b4p+2 +0x1.31c1d4513ee1dp+6 +0x1.a64aa15f70745p+5 +0x1.0c396af7e0098p+3 +0x1.587623a7fb9c6p+9 +0x1.0a3685341ff79p+5 +0x1.a11686a76dca3p+4 +0x1.722af261a1affp+5 +0x1.ad5378c6eee45p+7 +0x1.08bc227b562fbp+5 +0x1.b1173b4e5ddadp+4 +0x1.c9001dca0d0eep+4 +0x1.a54f688365315p+17 +0x1.ad9a6ee820ed5p+3 +0x1.d6bbd42d3fd9bp+1 +0x1.8b8c28c3cf3d9p+7 +0x1.89c44fd3ac3b8p+4 +0x1.402623cb4f6a9p+2 +0x1.3fe2ad3d9f4b8p+7 +0x1.89582b8a29956p+0 +0x1.66f13e7054f94p+4 +0x1.26bcf3dcb41c8p+5 +0x1.2ec3e3f79960cp-1 +0x1.df7194abad09dp+3 +-0x1.cc0ab7812b4f9p-1 +0x1.d4cbffdf21417p+3 +0x1.dc5ac2ca35d02p+5 +0x1.744f837d8ab5dp+4 +0x1.474483137bc43p+2 +0x1.61a966c758b93p+5 +0x1.933ecd67df3e5p+4 +0x1.8ace2c27fbc8ep+3 +0x1.8c8989e16867fp+2 +0x1.b8c0ac92a2c67p-1 +-0x1.38fe6b4b76c7ep-5 +0x1.752c291d4a5afp+5 +0x1.2fdef362abep+4 +0x1.bc5d4cd67bbcp+2 +0x1.2ccb03df3c899p+3 +0x1.216914de9af96p+5 +0x1.c8e26ff55e8fap+4 +0x1.7d813b85c3658p+16 +0x1.8104df8cef977p+5 +0x1.1e1c5bf07d9dp+4 +0x1.4d62d5318113ap+5 +0x1.1fca278dafa5fp+4 +0x1.97a858e3350c6p+8 +0x1.1013c576a710ap+5 +0x1.426c813582893p+17 +0x1.cdb2c956326acp+3 +0x1.f9d94a041a09p+5 +0x1.23fcaaeab506cp+3 +0x1.c7de4e12a93cep+11 +0x1.8c6d6e81d5d1cp+5 +0x1.237c018981a36p+6 +0x1.7e64f2f9b719dp+4 +0x1.03445d79354c5p+4 +0x1.38a9f7fc3c622p+4 +0x1.feaf75d00506ap+11 +0x1.90aee746d2e1bp+11 +0x1.f76bd01e7f7f1p+6 +0x1.4da6209caba1dp+0 +0x1.55cb2be44062dp+5 +0x1.1e35b8bd5b8e3p+5 +0x1.58d7af0180081p+6 +0x1.35c7f3cf1fd9bp+16 +0x1.f7cdc6d024b7fp+2 +0x1.9ae35c2706c2cp+0 +0x1.99c6abb5f9edcp+5 +0x1.b1df7e3f15f28p+0 +0x1.2f8b44c090761p+12 +0x1.9f2dbf37554ep+4 +0x1.16bf9b36e621p-2 +0x1.01d554f9f04aep+12 +0x1.cc075737c00b1p+16 +0x1.692ebb00b0645p+5 +0x1.dcc8786796bbfp+5 +0x1.77da224c07a83p+5 +0x1.39376664a984ap+5 +0x1.e34a523ab7e03p+5 +0x1.347b3ded66f03p+6 +0x1.6406a718c050ap+3 +0x1.63a21a04d265bp+5 +0x1.978b98f58964dp+18 +0x1.667ab8a0dd1e2p+5 +0x1.6f5ef6fca641fp+6 +0x1.6cdce7532b992p+5 +0x1.4d9ef42caeaacp+4 +0x1.967a7448f3458p+8 +0x1.2744fd6f04e25p+3 +0x1.1908ed1b42ccep+13 +0x1.e2ca4be85c1ddp+4 +0x1.4e29b66d9cf98p+8 +0x1.739cd69406b54p+18 +0x1.14c30b9eeeb94p+6 +0x1.0727f650e9956p+5 +0x1.ff211f5fe9e11p+3 +0x1.9236fcf469a04p+2 +0x1.548a8d7fed905p+12 +0x1.50a35b128d9d6p-1 +0x1.a49e1a8d7e739p+10 +0x1.a21703140020bp+5 +0x1.899924165b94ap+6 +0x1.dce99318901b1p-3 +0x1.e4c328b00bf73p+6 +0x1.62b7d7cfdaf79p+5 +0x1.9ff84cac6a765p+5 +0x1.9a645b3710a92p+3 +0x1.1c58e62ab9d62p+4 +0x1.abb7c47fa639ep+5 +0x1.9f0f3faaf0d5cp+2 +0x1.68cee59e65ae4p+4 +0x1.466b288356829p+16 +0x1.18ffb339bcdecp+6 +0x1.eaf99381ff5dcp+4 +0x1.df28bfda70392p+5 +0x1.4fe5e565ea346p+9 +0x1.ff199c9f36643p+5 +0x1.2d5fe579f8a33p+4 +0x1.78503ec894fecp+6 +0x1.b26244e5e1775p+5 +0x1.2d4e985a25e6p+18 +0x1.2321d5881cabp+3 +0x1.2d9df638a61b9p+15 +0x1.beac8d3028b0ap+3 +0x1.78a0d3dabb65ep+4 +0x1.da0863c231656p+2 +0x1.63bc3a93c16ecp+2 +0x1.21db7ee53c86dp+2 +0x1.34ea349bfdaf1p+6 +0x1.870c4746bf75cp+1 +0x1.48825fd0e4af7p+8 +0x1.ae08cb36e04cap+6 +0x1.0d42e1d711c87p+14 +0x1.9f4a37ecfa0cdp+17 +0x1.3e385a336fa94p+4 +0x1.c66c8a146754ap+4 +0x1.d255698dba9f5p+5 +0x1.0962d61e5537fp+5 +0x1.fff2e60a4aeb4p+14 +0x1.1506223ae82f4p+4 +0x1.32578fb3da7e3p+6 +0x1.7cfd663aef5d6p+0 +0x1.5d482ee77d50dp+1 +0x1.6aef6fb13b1d5p+2 +0x1.0d7c2dfc23b47p+3 +0x1.a63d83e3be1f4p+2 +0x1.4858ef7dcc0efp+6 +0x1.206ed2ff7f64p+5 +0x1.a65a5e7b80d4fp+5 +0x1.9c14bdeece5fcp+5 +0x1.b58630c9d9f6dp+5 +0x1.c5536bc5d56adp+2 +0x1.1229be4ab0cefp+4 +0x1.48afac89f50fbp+18 +0x1.95993f749f3cp+5 +0x1.2774f3d43ccc6p+5 +0x1.81cd69c6d7141p+4 +0x1.c66f1e0bb706p+5 +0x1.c3f3090ef6205p+13 +0x1.de81a9a1ee19cp+5 +0x1.3559fecf77198p+6 +0x1.23d23856f588ap+6 +0x1.51d85f1c5b532p+2 +0x1.c1775a6b5b261p+5 +0x1.9c671b60b5316p+13 +0x1.1c57e4152e11fp+4 +0x1.15276bd3754a5p+17 +0x1.65206353cbe0ap+3 +0x1.913af65d379cap+10 +0x1.a2dd47841b559p+6 +0x1.10499cce413aap+9 +0x1.cd20c7f2ef27ep+14 +0x1.e907ed18c7e4p+5 +0x1.b69222148926fp+5 +0x1.c70575cd48829p+6 +0x1.157ceaf31e3a8p+1 +0x1.487bb7e440041p+4 +0x1.f1263f7f6a65ep+5 +0x1.1092ca6540988p+6 +0x1.0a2fc0122ef4fp+4 +0x1.245705a8706a1p+5 +0x1.91dd7b474b9c7p+4 +0x1.684c68a0f55d7p+1 +0x1.5accd3bcc9e47p+5 +0x1.157e0ee11a79ep+2 +0x1.47c2efef9216ap+3 +0x1.8918e54b86041p+3 +0x1.c3041dca5aecfp+5 +0x1.a8c1ba2be434p+5 +0x1.19efdb87e277ep+5 +0x1.f7f9e295b1605p+4 +0x1.a69b8f8487425p+4 +0x1.e8fd6ee5ebf97p+5 +-0x1.09b3f6084ea29p-1 +0x1.db1a76f872962p+2 +0x1.83ec4af2d2ed6p+6 +0x1.c72d1695d8421p+3 +0x1.b8468895d3e48p+3 +0x1.d1270f60e46c5p+4 +0x1.834043048e4e9p+5 +0x1.073f1c5e3eb47p+5 +0x1.e4e83f94c7da5p+5 +-0x1.e1e548b7d42c6p-2 +0x1.52e6c1f1f66ccp+4 +0x1.a3889dd3b10c4p+3 +0x1.09991cc98c781p+5 +0x1.c841e69483fddp+3 +0x1.e9975a44c33a4p+8 +0x1.175563661b3e6p+18 +0x1.598e44ac3792p+5 +0x1.d2deb6809d7a6p+3 +0x1.92d6a7d525958p+4 +0x1.896284d800af7p+5 +0x1.256b7f12187cfp+5 +0x1.523477821a7f9p+3 +0x1.94767a3685b2fp+6 +0x1.1c044c7a1a596p+5 +0x1.da6a08bd5d734p+5 +0x1.33c13af3efab3p+6 +0x1.bc31c9300b6e7p+4 +0x1.ff3ad1ff74402p+5 +0x1.2444df8e1c95fp+3 +0x1.4c4d3376b7c01p-5 +0x1.1f00eff94e41dp+5 +0x1.913279407a6ddp+5 +0x1.f63112d3e96d7p+5 +0x1.1c54e99ec2d7bp+3 +0x1.0c491d25a4577p+6 +0x1.cd97b66f66f7p+5 +0x1.d45c87b21be91p+5 +0x1.9834a2ff3e82bp+5 +0x1.7e046120064a1p+2 +0x1.67dffab4ee77bp+5 +0x1.a76ae04d7e70dp+4 +0x1.b81d48756eb01p+4 +0x1.7ec4341a39d99p+0 +0x1.701014715dc1cp+11 +0x1.ecf5da71c1ddep+4 +0x1.6e1cd1afbac7p+6 +0x1.4899936046dfbp+9 +0x1.8e82509b1ce1ep+6 +0x1.f4154bafa308dp+9 +0x1.e28d8d09544b3p+5 +0x1.5b4197ae539bp+5 +0x1.797f3583a40e2p+8 +0x1.f4baea59d20eep+5 +0x1.a2d05f751dd9p+19 +0x1.a4a402cc337f8p+6 +0x1.f2a6e09769bbfp+5 +0x1.312ce9b1c3c99p+6 +0x1.0d9e5ad9e4d4p+7 +0x1.6ede9965f805ep+4 +0x1.19b9ece4d7086p+2 +0x1.789f24080f26bp+5 +0x1.e596f473c5d76p-1 +0x1.ab83d89779f6bp+5 +-0x1.1ab933fe035f3p-1 +0x1.9f89b00c3ad04p+1 +0x1.148f1abbe5298p+4 +0x1.1ac2da35a2ce4p+7 +0x1.050bedb800ebbp+6 +0x1.6f9fbd18c5366p+5 +0x1.2ad68d9066c0ap+3 +0x1.976323579c7e9p+9 +0x1.727a10218e9e5p+5 +0x1.7094061487894p+6 +0x1.fde60875c3fep+0 +0x1.b34a15ba8b03p+3 +0x1.96c459fb11707p+4 +0x1.0400163158023p+4 +0x1.8817188ed9098p+5 +0x1.67dddb55c0abfp+2 +0x1.af7b7023ed44dp+5 +0x1.04da8a02b5968p+5 +0x1.eaea96e8a1aeap+5 +0x1.1c750e2f2e584p+8 +0x1.d82d0f7e88cbdp+3 +0x1.076e7223ca5a2p+5 +0x1.93565be3ab7cap+4 +0x1.42dfe03cbbe9dp+5 +0x1.4176f0e18766ap+6 +0x1.471c240e9ab83p+9 +0x1.0a7a1d41fff44p+1 +0x1.2356f564696b2p+4 +0x1.508ed51784316p+3 +0x1.513b1f4cf7ff8p+5 +0x1.7a71af3e6f086p+4 +0x1.c89c649c13418p+4 +0x1.c2761911d6825p+5 +0x1.7858f80a2239p+6 +0x1.16de9b8a02d0cp+6 +0x1.fa26c370ecc78p+1 +0x1.0c5b73a97434fp+5 +0x1.b2adb26733533p+1 +0x1.6d314e538a12p+3 +0x1.6e6084699072cp-1 +0x1.4db2f4f5af00ap+5 +0x1.e1e85b761c68cp-1 +0x1.8b71501d60ab5p+2 +0x1.0194b2bdf20a1p+5 +0x1.97227ede82359p+5 +0x1.6c4cb72e6e007p+4 +0x1.ac2ab94deefcfp+15 +0x1.7a579fa3cc24dp+3 +0x1.5c94b888cc32fp+4 +0x1.0e274d2b4ef0fp+4 +0x1.b31954f7c0471p+4 +0x1.7251d1e41428fp+6 +0x1.0576a550de158p+11 +0x1.1427cd79f962bp+5 +0x1.2183e988782bp+5 +0x1.4514a6965a42dp+5 +0x1.1e52bbf71c7a6p+0 +0x1.7a8d0f8b3b36fp+5 +0x1.0a03037df4e17p+13 +0x1.0bec2ee326535p+6 +0x1.c73e22ae16652p+4 +0x1.8ec56a18327e1p+5 +0x1.6dfd1c0193b28p+17 +0x1.24b2b46682e0fp+3 +0x1.d1035faa404b2p+4 +0x1.11151abf150c8p+2 +0x1.3e8637d5f3c5bp+14 +0x1.10306b521e4bdp+2 +0x1.a027745d1ea2cp+14 +0x1.cc7c444f6ab4ep+8 +0x1.35f215824f86ep+5 +0x1.e648e3239153cp+6 +0x1.3d394e67b0b66p+15 +0x1.d6fe76b76a605p+15 +0x1.b6e0f7c0ab0f5p+5 +0x1.2a16553cec938p+1 +0x1.294a04eb879ap+12 +0x1.56e19410b2df6p+6 +0x1.4ee57fd8e2f2fp-1 +0x1.c2c16615816acp+2 +0x1.70032a5c3507p+5 +0x1.42fd3b98f0698p+4 +0x1.4ce8b6c39698ap+5 +0x1.8d3f94c40027dp+6 +0x1.203f902e02a0ap+4 +0x1.202bf53ed87c9p+6 +0x1.6fb83c59d70c1p+6 +0x1.84bdc2d78212fp+5 +0x1.dcd42c7e0e0b8p+9 +0x1.25ab4347d9ee7p+6 +0x1.69c82a5c9abcep+8 +0x1.5efff3ebf301dp+4 +0x1.46a27d69d75dp+6 +0x1.56a19000d7c83p-2 +0x1.29d9167210eb1p+5 +0x1.b0b606c9b7e69p+3 +0x1.c1568fde07318p+4 +0x1.c4f1a9881048ep+3 +0x1.4d0501268f136p+2 +0x1.642b070ae212p+3 +0x1.11871776e24d5p-1 +0x1.9a1824a2aff47p+2 +0x1.552d7a7cfb075p+5 +0x1.e15aba968a36ep+5 +0x1.21a61f42eeef9p+17 +0x1.60fd79474365p+3 +0x1.1eede17bab584p+0 +0x1.6f2cc20827805p+5 +0x1.252fb81837ed2p+6 +0x1.f545a4881e3dbp+4 +0x1.7b9b2ad3a7018p+4 +0x1.69cc0b40a190fp+5 +0x1.31a33ac3aefcap-1 +0x1.6b08d85f63b29p+6 +0x1.4bf8eb169c1e6p+3 +0x1.2b3fa0de23b21p+1 +0x1.a6e61b58e4c68p+5 +0x1.634c75097a988p+5 +0x1.c67e5e3a9d70cp+4 +0x1.aaaab0bd20db8p+17 +0x1.6a6b34b46cd24p+13 +0x1.acaec012bbed1p+5 +0x1.38da44b563a64p+4 +0x1.0f403a68614e7p+3 +0x1.49db21904125cp+13 +0x1.8eff0866eb8cdp+0 +0x1.83d7cd5102e18p+6 +0x1.4044c85eabceap+6 +0x1.002f3e613a4a8p+6 +0x1.b66272ee85b59p+5 +0x1.8f960d8e48f64p+6 +0x1.dffa4546e4d12p+5 +0x1.199665258a094p+6 +0x1.eecebf2f6b746p+1 +0x1.0b1d72aa18997p+6 +0x1.4cb0fae820971p+5 +0x1.96887f6e150b3p+4 +0x1.afae24baddep+8 +0x1.0684be74462bcp+1 +0x1.8c94b89d7cd4ep+3 +0x1.7ebfafcb0cb2ap+1 +0x1.ef019c8928c63p+18 +0x1.b2ee82d64a44cp+6 +0x1.d9d88bb523cfep+5 +0x1.522b9c316581ep-1 +0x1.5714cfadeafbdp+8 +0x1.9eb27c0b24be5p+4 +0x1.e81e824781ccdp+5 +0x1.eeaf3ca76945p+4 +0x1.53b92e30189bp+5 +0x1.1881dd4944b07p-1 +0x1.a5df97394900dp+15 +0x1.4fa56909ace09p+15 +0x1.3c20dd029e9acp+5 +0x1.09f9b31e39b7ep+4 +0x1.e4fe30ac21902p+5 +0x1.0a1be96eaa599p+5 +0x1.174963e0e1841p+6 +0x1.4981fef270f4dp+3 +0x1.ab126004f59e1p+2 +0x1.a38f84bf0ca9ap-1 +0x1.8af6a4294b006p+3 +0x1.4d1bf28f9c7ap+6 +0x1.fb75d23770e3ap+15 +0x1.51e6d3a333981p+6 +0x1.6b703590dcd04p+5 +0x1.f81e402ba9d28p+13 +0x1.637049366ab49p+11 +0x1.42c24de313c0ap+5 +0x1.58237f7bf5fc8p+5 +0x1.ec1fc6d4900cp+4 +0x1.3a4c0bc41a022p+5 +0x1.29739e14cb62cp+4 +0x1.4e7ef57c3f701p+5 +0x1.3f2f0b844bf75p+6 +0x1.77cfc866c2efcp+10 +0x1.5e340aab4e874p+2 +0x1.c46b2716c3e34p+12 +0x1.c03a9d424ff88p+6 +0x1.a9bdb9ca1bdb2p+1 +0x1.4daaa68e6e83bp+2 +0x1.033f84ba77494p+2 +0x1.c11a5e707819ap+6 +0x1.22e8dde9e1a93p+6 +0x1.06561a5a8a6bep+2 +0x1.1c7ddf353c49cp+2 +0x1.2ae793ddde642p+5 +0x1.579b1b777c72p+1 +0x1.d4dde20d9e7fep+6 +0x1.776071c1a0b4ep+15 +0x1.273cba909a6b5p+3 +0x1.eec34f8b85f2ep+13 +0x1.3014338e4f757p+2 +0x1.32a0497e93d0bp+5 +0x1.872c06241696p+4 +0x1.b4281a8f62a9bp+6 +0x1.37ec00c6a38eap+4 +0x1.0a736eb06ee0dp+6 +0x1.99e7c7f3d8c08p+2 +0x1.81064bfcfe545p+6 +0x1.89107715f212cp+0 +0x1.39f022450155ep+19 +0x1.37154b0665761p+5 +0x1.31d73c2bb4495p+4 +0x1.4192beb4f57f1p+17 +0x1.37562cff2c32fp+1 +0x1.abf352096b916p+2 +0x1.378c01feffaa5p+3 +0x1.7389b9a059f76p+11 +0x1.010a1a39b00dcp+6 +0x1.2df251d216048p+4 +0x1.8a8a3b3feb66ap+4 +0x1.c0fa8d6518559p+8 +0x1.1299153212218p+14 +0x1.198f00024e25dp+6 +0x1.86fededd81f3bp+5 +0x1.22e0605173318p+5 +0x1.e3842103aea61p+15 +0x1.ed9d96911e7acp+6 +0x1.08edc43845b4ap+4 +0x1.5c3609ac6cf24p+6 +0x1.05692862efc42p+3 +0x1.85fb0f8909bb2p+11 +0x1.2c930045dd305p+16 +0x1.d90a43c16df23p+4 +0x1.5251d3801cd8dp+6 +0x1.56b8f7efdf2e9p+6 +0x1.4fa8ff2828593p+4 +0x1.5e94226cb301p+5 +0x1.840548c7849fdp+4 +0x1.bd34837a6dbfep+6 +0x1.9eeebdc3c98bfp+17 +0x1.99dd86f2b44bep+3 +0x1.553a484ede3c5p+6 +0x1.2bcde151ce7p+6 +0x1.0e9f910c8a5a1p+6 +0x1.f765a3bdee69bp+5 +0x1.0c7c15ffacf72p+4 +0x1.9ccbafc3276d9p+2 +0x1.f06e3a598d66dp+4 +0x1.b0b2abac2ceffp+3 +0x1.15203d5dac7dep+5 +0x1.20302da16e87cp+10 +0x1.ccf9018075116p+5 +0x1.1e44529e5ae71p+0 +0x1.fa2be3620bbb7p+4 +0x1.e8203b85aff62p+5 +0x1.d2a823619b423p+3 +0x1.1845f373cb503p+14 +0x1.769e78c05ce3dp+15 +0x1.3ea1199f8333cp+5 +0x1.0f2959af33f49p+5 +0x1.5d5ce55f8b114p+3 +0x1.3dabdb51974f9p+1 +0x1.c8a587756bf97p+6 +0x1.de18a1c008fedp+5 +0x1.d67aff89446f7p+3 +0x1.9fe2e053b15f1p+2 +0x1.d1258b949378p+5 +0x1.7e47d4efb6912p+7 +0x1.46e7e66ffebddp+5 +0x1.86bd08606afd7p+2 +0x1.64cd9aedaa482p+5 +0x1.2eea4fc7c0df2p+3 +0x1.09f8697ea01aep+7 +0x1.09a7e08b7c1b8p+3 +0x1.9cfa445786791p+4 +0x1.522745fd22c4cp+5 +0x1.5d739d74f41cap+5 +0x1.5b677634e0771p+4 +0x1.11cc4b7611c8dp+9 +0x1.8b916bb8c3a79p+5 +0x1.a096c4fe9d2c4p+5 +0x1.472b8ab779de5p+4 +0x1.a870f57bf0493p+3 +0x1.e37481244e77p+6 +0x1.c496b72c5ba68p+4 +0x1.784ded6ab4b4ep-1 +0x1.a58098cd47e9ap+3 +0x1.f8ce807464e43p+3 +0x1.49b6153e75eeep+6 +0x1.5109a202dfa47p+11 +0x1.8688dd389c11cp+5 +0x1.09ced6a07a47dp+3 +0x1.4d68178680894p+5 +0x1.6215dcad628b1p+1 +0x1.b741615b8ed86p+5 +0x1.4ef397b026379p+5 +0x1.515c2857284b7p+5 +0x1.3584de345da9ap+6 +0x1.03988067af7ep+8 +0x1.7762537942d48p+0 +0x1.7402c1bb427f3p+4 +0x1.5dccd72d4070ep+2 +0x1.8956aa3c2be05p+4 +0x1.354478b6c27bcp+19 +0x1.a22117dff321cp+6 +0x1.602701098028fp+4 +0x1.db8ef2c1eda52p+13 +0x1.4d30ccf50bf28p+3 +0x1.a69133c0922fp+5 +0x1.1d5eba88375b3p+5 +0x1.8049950c22a83p+5 +0x1.2e7c7cc34cf1bp+5 +0x1.5d5a65f707161p+4 +0x1.1c704a70e1c6p+5 +0x1.eec2b6810cc87p+0 +0x1.8c7dc522a3a82p+14 +0x1.61db16c7fd2f1p+5 +0x1.1da1c28de04dbp+6 +0x1.fb938563dfab3p+6 +0x1.323254be09936p+4 +0x1.8715046457d59p-3 +-0x1.4bc52d51e8a33p-1 +0x1.630ba4491d481p+6 +0x1.866f0e50398b7p-4 +0x1.36098239cb3abp+5 +0x1.f80ba25a35b95p+4 +0x1.1c6913f2d733bp+0 +0x1.1bb29b3cf13c5p+5 +0x1.33e7c6d207c33p+6 +0x1.509390e6946cep+6 +0x1.afb7bec438c0dp+6 +0x1.18fd0e77edb9fp+6 +0x1.6cfb8183b5c08p+6 +0x1.19d1b83a951c3p+11 +0x1.c1389dd29b4f9p+1 +0x1.2a3617f1fee32p+6 +0x1.141db1fb95388p+5 +0x1.d928195afc74ep+3 +0x1.df7f50e288f97p+7 +0x1.3987a39169fe4p+5 +0x1.aa43e06f8547p+5 +0x1.5cfb113613a33p+5 +0x1.06f3b2d05f4e3p+4 +0x1.334b6084afe31p+4 +0x1.f6f0cfccbf2eap+3 +0x1.07bfa068e10afp+11 +0x1.bc8e5622127p+5 +0x1.5b291927e868p+6 +0x1.e58074583ed29p+4 +0x1.7b5e916bbc51ap+10 +0x1.6aece9db250ccp+5 +0x1.dbd392d39ab4ep+11 +0x1.d28917178d9c8p+5 +0x1.17137f3527ffap+6 +0x1.8356db7b2b692p+5 +0x1.63a475c58e0f7p+8 +0x1.8d42b69f29549p+5 +0x1.82d5aff0da9a6p+1 +0x1.005359a386af8p+5 +0x1.3e19f344d4554p+5 +0x1.005aa101438dbp+10 +0x1.af49efcb64edbp+5 +0x1.372a7fa2499bp+4 +0x1.611b0bdb638c7p+5 +0x1.90b4ca2bf3a73p+1 +0x1.85c8d84f11493p+5 +0x1.d0586b2244a65p+1 +0x1.d126dba47fb0ap+3 +0x1.41820aa2a427ap+8 +0x1.de48b3728a4b2p+8 +0x1.346296ed93771p+5 +0x1.05c4a3ac4d261p+3 +0x1.1d0400ceccd61p+6 +0x1.34332187aecdp+6 +0x1.549286643d30cp+5 +0x1.18e53dadc7c83p+14 +0x1.7cf1398a789f4p+4 +0x1.0acb1bc3bc427p+6 +0x1.fac005b862559p+4 +0x1.e8fdabc96176fp+12 +0x1.1cb757e8649d2p+5 +0x1.baf8aafbeb57p+4 +0x1.6692ee41e06bep+18 +0x1.9ccd6c732f01dp+4 +0x1.0b12f26d1ccc9p+5 +0x1.632695e7efd6fp+5 +0x1.b5e25b76fe515p+5 +0x1.2f59dcbdbf77p+7 +0x1.ca19e337eee24p+6 +0x1.303aece15d72p+6 +0x1.0aa55282ff141p+3 +0x1.66dcaa86e0bc5p+6 +0x1.d53f9695524b3p+3 +0x1.e94cb046171e9p+2 +0x1.f996a763dd84dp+4 +0x1.d3c5cd2a40014p+4 +0x1.9e3042a74e7b7p+3 +0x1.97b7ef925c474p+13 +0x1.e8b449bb13b2p-1 +0x1.9f58ff516ef7p+6 +0x1.bd260ef794743p+5 +0x1.51c3d0db47b84p+0 +0x1.2a880e5ba00bdp+6 +0x1.0b6ca4f0e425ep+5 +0x1.71a32a4286f3fp+6 +0x1.9138c9e31d097p+4 +0x1.55e30851f0ec7p+5 +0x1.d46c5d3acfce8p+10 +0x1.3139f257d7605p-1 +0x1.443d9127a5297p+1 +0x1.24b87cb19ff6ep+4 +0x1.628bb31400e07p+3 +0x1.e6813e0be0236p+4 +0x1.ce0eab9d59d1p+0 +0x1.0c75a99946a63p+14 +0x1.0607770762b91p+6 +0x1.7087845877a05p+5 +0x1.11f0f5c2a745fp+8 +0x1.16e171caebc77p+4 +0x1.82f09cc28b328p+4 +0x1.dc7eb1bf1a924p+0 +0x1.ba7b845b492d2p+0 +0x1.3b23d13d2a92ep+4 +0x1.4ce887644b5fcp+5 +0x1.b6379f76d3f6p+5 +0x1.26f2619eecd77p+5 +0x1.851f67e8bde73p+5 +0x1.01ad8860bc7aap+6 +0x1.1ae1f9732e0d5p+3 +0x1.730b9569707f7p+2 +0x1.5698192d6c698p+4 +0x1.0145829593aebp+7 +0x1.cf2cab3de2d86p+16 +0x1.0373fa3d4ee04p+5 +0x1.ded9ce6e04p+1 +0x1.72329c39cef36p+13 +0x1.274b74debc64fp+3 +0x1.84f65f99bec13p+13 +0x1.147dc57cbc95bp+2 +0x1.7a9ee205778a2p+5 +0x1.9251dcd476bb8p+4 +0x1.86a21cef60293p+4 +0x1.11328e69f05c2p+4 +0x1.17eca4fbfc7efp+7 +0x1.d39bddda02fafp+5 +0x1.4e310b1e507f2p+6 +0x1.6dc5e37f7bfd1p+5 +0x1.175a2ec174bb5p+6 +0x1.6e7b4efba7fdbp+1 +0x1.d7839a99fb123p+5 +0x1.dc5879ca2ccb6p+5 +0x1.b100ca31ed5f9p+5 +0x1.9084b11dde91ep+0 +0x1.115928977e116p+5 +0x1.fa2d9cf9acbc5p+5 +0x1.8028f090ec314p+5 +0x1.2e9c69156b2c5p-3 +0x1.80e7abe2436d7p+4 +0x1.1dcf51fb4d715p+4 +0x1.083b0b9990e3ap+6 +0x1.5e380bb4382dfp+9 +0x1.b6d7b19143365p+8 +0x1.3cb5802353fc5p+10 +0x1.7cdcb05a0c422p+5 +0x1.9431c5243a31fp+5 +0x1.1d2d889fa433fp+6 +0x1.f18d8ca87c9b7p+5 +0x1.b0da23c9a9e18p+4 +0x1.e0c7aba4bb745p+5 +0x1.c6162d751c6f7p+4 +0x1.54e58ab163f4bp+4 +0x1.209002b8ad119p+6 +0x1.ea0be895dc584p+6 +0x1.854c81d38a1b9p+3 +0x1.2bf849707e15fp+1 +0x1.b473cf7faca3ep+12 +0x1.e336a6a0ab979p+18 +0x1.e0117426cbbacp+5 +0x1.9805682696c5p+1 +0x1.35b5041221c62p+6 +0x1.37cd73ef11e78p+4 +0x1.5c9f27e559acdp+3 +0x1.2c9710dfe3e4ap+15 +0x1.00034162b405cp+6 +0x1.bd1b672108dafp+6 +0x1.74880b0452c62p+17 +0x1.157fddae482cbp+10 +0x1.5722f6f3cbbf3p+5 +0x1.fdaeb5056989ep+3 +0x1.d8e83c854d6adp+4 +0x1.9b70752a5db5ap+5 +0x1.bae39fad1d1f6p+10 +0x1.6c6d532a00743p+3 +0x1.45adccd3b013dp+6 +0x1.2acd266409769p+6 +0x1.b1e5c85a19458p+3 +0x1.76e2ca4d98ef7p+7 +0x1.257222e55ea3dp+4 +0x1.48f18e08cdb32p+1 +0x1.e785e3469a592p+5 +0x1.d752d11bb196fp+6 +0x1.5dcabfa3967a9p+5 +0x1.cdf87af2223ddp+6 +0x1.5d57c75b4aa23p+1 +0x1.08c77e4b4cc45p+19 +0x1.3df82736fb57fp+4 +0x1.2a13662c07cf8p+5 +0x1.3a8c99189a0eep+4 +0x1.0ddf2f855f655p+4 +0x1.090f3bb5a6e65p+5 +0x1.a2431a4a5ff05p+4 +0x1.94260455c1fb9p+7 +0x1.a9fb1c7e7d945p+4 +0x1.9fbb093b7dcb4p+6 +0x1.05d7f2b96df5ap+6 +0x1.085fab33261fp+8 +0x1.c11edc83b6cc1p+5 +0x1.854a468f189c3p+5 +0x1.5b7a0f34716b1p+3 +0x1.0292ce73af68fp+6 +0x1.65cdd80cb63dcp+3 +0x1.a39e1bee862a9p+3 +0x1.7ac83f7041549p+4 +0x1.9c31419cfbbf2p+3 +0x1.2181fc7ea63bep+5 +0x1.d090a2373cf5bp-3 +0x1.36252f85cbeafp+5 +0x1.3807272d121d6p+5 +0x1.0eea16ce6cdecp+13 +0x1.40f9d94082a35p+11 +0x1.74e0f509abaaep+5 +0x1.4809f8b9c488cp+3 +0x1.a404cceed3a0cp+2 +0x1.c453275a5e36ep+5 +0x1.129e8f2518634p+4 +0x1.da7a19c29a541p+14 +0x1.45449908fea24p+4 +0x1.664f48354ac27p+3 +0x1.ec111f0a0dafp+5 +0x1.14b603b33da3fp+6 +0x1.011f24ddd2d1ep+3 +0x1.9ff5fa153d6d5p+5 +0x1.315b878396d28p+6 +0x1.839665b18aa42p+4 +0x1.0ea7814446cdcp+3 +0x1.4a1efb49582d1p+2 +0x1.c4c8421e7da5p+1 +0x1.f48a1d0be536dp+13 +0x1.6593a9a9f310fp+9 +0x1.9f686fd3a732ep+4 +0x1.f7d9e0176307bp+17 +0x1.23a82acfe9298p+7 +0x1.bdcc25f67a002p+9 +0x1.93df274ae087ep+6 +0x1.c468819845af8p+5 +0x1.99e08d7533c1fp+3 +0x1.2bab09e43dac8p+3 +0x1.c41c2e5abf477p+5 +0x1.d685c60d9b38p+5 +0x1.126c5f72b3b74p+5 +0x1.a493a4fd2f7dep+4 +0x1.2c34c34a2b635p+8 +0x1.5cda66d32d52ep+6 +0x1.bf09f2f3564a2p+5 +0x1.1ed6d6a3311e4p+5 +0x1.0bd6752aeff97p+5 +0x1.d8ba6c07d7f4cp+4 +0x1.2b4aa884cbca4p+6 +0x1.fa5b416382b84p+3 +0x1.39133c3a23a2p+12 +0x1.eb8a50d87403ep+5 +0x1.5759665484b6cp+2 +0x1.28465514bc955p+6 +0x1.5ac53fac01795p+5 +0x1.61ef86c002686p+6 +0x1.57b7568b5d086p+15 +0x1.924d2762dca6dp-1 +0x1.2de3fc3ef3557p+6 +0x1.324d85bb5ff54p+5 +0x1.4070377f14df1p+18 +0x1.dc6bc13065acap+1 +0x1.f401dcfb988dfp+3 +0x1.788f17a432a89p+18 +0x1.6c135ca095ddep+6 +0x1.0cd57cd151cap+5 +0x1.a14ab2e1a1931p+4 +0x1.2d47fb2c11d92p+6 +0x1.14133e11af9f4p+3 +0x1.3b132980495d7p+5 +0x1.1ebc50d1f937fp+5 +0x1.04aa99ca80f48p+14 +0x1.772bc7494c572p+4 +0x1.fe8a8b34c94e4p+5 +0x1.543c3d42d78b5p+3 +0x1.2bc287b2799e7p+3 +0x1.6d3c5d7c1985p+4 +0x1.255252ae09687p+7 +0x1.1b3630ced9dbap+3 +0x1.ba1876e690919p+4 +0x1.366f9ddc9fbf4p+0 +0x1.4469962f3383ap+6 +0x1.69bbbb7ddf9d2p+14 +0x1.a6aa68d8ef249p+1 +0x1.99d2bcf099d59p+10 +0x1.d2d4eebda5787p+7 +0x1.07676def271bcp+6 +0x1.2d54bd8fda747p+3 +0x1.20e8b644692f1p+5 +0x1.ba95798eab303p+5 +0x1.73018be493167p+3 +0x1.697c1b760b593p+6 +0x1.93fc5e3c5b498p+4 +0x1.8ae3ba396068ap+11 +0x1.c9eccb574c835p+12 +0x1.710b00aa0acfep+3 +0x1.f50fdfbf49e57p+9 +0x1.19cbb2e19ddf7p+7 +0x1.bf982572e83e6p+1 +0x1.6a7c1a17828afp+5 +0x1.3ddc8fec1c442p+5 +0x1.64a11f57cd59fp+6 +0x1.98d193f127703p+19 +0x1.ad115f94625b5p+6 +0x1.ead1a6c958a9fp+2 +0x1.86fac1dab6c97p+5 +0x1.19a27de662e5p+4 +0x1.764fb67d487bdp+6 +0x1.f46197938e3bcp+4 +0x1.700fab4290909p-1 +0x1.ac36ef1ca2a12p-2 +0x1.97f845c5d2b94p+5 +0x1.14febcf126997p+4 +0x1.178111134795p+5 +0x1.d576e7064aceap-2 +0x1.49ab64fb86bc2p+3 +0x1.1a55618e3fb83p+3 +0x1.f3e7c111e911bp+8 +0x1.c05485a79bdp-1 +0x1.886e671737e5cp+5 +0x1.7c686661a6f22p+2 +0x1.16a9b3726d649p-5 +0x1.0993e9d839971p+7 +0x1.c2f1f84fa0895p+3 +0x1.3b9c36121f1cfp+7 +0x1.d9b04e65643eap+6 +0x1.8b9ee69835acp+5 +0x1.1b6ed6aaeed17p+18 +0x1.7871e9af9b303p+6 +0x1.25d90911ecbabp+4 +0x1.332f596eb300cp+5 +0x1.0f9f8df10a798p+1 +0x1.325b32b02f354p+2 +0x1.b5e68f89f92f7p+4 +0x1.69e2e45ea8f36p+5 +0x1.7f272d223946dp+5 +0x1.554f02c41c6e7p+4 +0x1.b13ea215285d8p+4 +0x1.4bc88a5547697p+6 +0x1.731ce7a96ac71p+2 +0x1.626878a290436p+3 +0x1.4c2df44fe566bp+4 +0x1.b8fdc03966addp+6 +0x1.8e78174d178f7p+2 +0x1.91ad2d8c21206p+6 +0x1.17dcfa3a196cfp+4 +0x1.2deabc30d8e6cp+3 +0x1.0beb23be3be5cp+5 +-0x1.00ddcd5119f5fp-5 +0x1.d5a1ea2092c88p+3 +0x1.845e0183daf09p+3 +0x1.5c5f04fa05b01p+6 +0x1.794f0bc8ee11p+4 +0x1.dae4bd307e63ep+4 +0x1.cdbf58e9373b4p+4 +0x1.ed93f54ce830ap+3 +0x1.e6c84a4da918bp+10 +0x1.fa736ea91cdb6p+0 +0x1.5ac2e55f64eefp+6 +0x1.2e89fe2253308p-1 +0x1.898092c48cc4ep+6 +0x1.c4ceeeabc3689p+5 +0x1.521a0f2311aa9p-3 +0x1.32eb01ba46e58p+17 +0x1.db0529b44dad5p+16 +0x1.098c2c371a231p+15 +0x1.29c3bc20a9aadp+2 +0x1.b82932b3519afp+15 +0x1.2f3420838f27p+4 +0x1.c92df2efc11e9p+5 +0x1.297112a66da67p+6 +0x1.3aded5b092079p+3 +0x1.6253d629b5a42p+6 +0x1.54251beb0a748p+4 +0x1.0c8c7cb1020c1p+2 +0x1.ad1fe2cddcaecp+10 +0x1.53a97d32cc9c8p+5 +0x1.5be4cc57685fdp+11 +0x1.3e0c52a2fedc7p+6 +0x1.3c12b2e90e136p+2 +0x1.42669c0d412d2p+5 +0x1.9143b03106203p+2 +0x1.1ce60e8a2736p+13 +0x1.9862cf1ef85bfp+6 +0x1.10c497ade728dp+8 +0x1.083a138b92cb2p+6 +0x1.98d05c1ccbd83p+6 +0x1.7b9a80021bdadp+2 +0x1.ca4c31fbe835cp+5 +0x1.07e7715e16ec3p+5 +0x1.a24705617c0c3p-2 +0x1.8bc3f12d41874p+1 +0x1.8a57f4b2d0647p+4 +0x1.d83254db66efp+5 +0x1.24df9fc877dfbp+6 +0x1.3987d34e51bcbp+4 +0x1.27f0b00a78e94p+5 +0x1.73d9084817af6p+4 +0x1.fed8807e84998p+2 +0x1.51f0838d1dc1dp+4 +0x1.4c994c4c84b68p+6 +0x1.c66972109211fp+2 +0x1.4db77aebea28ap+6 +0x1.074aaefc171a5p+6 +0x1.f8d8470ba2e15p+5 +0x1.7a56062b606dbp+5 +0x1.5e1dee3984312p+5 +0x1.572f7ac63b042p+16 +0x1.031d4c8193b32p+19 +0x1.9de85df435553p+3 +0x1.8e3ba4686ac74p-1 +0x1.313cebeed3a27p+3 +0x1.5891b3184b9cbp+6 +0x1.fb785c33c45bap+1 +0x1.f001f6c2763b3p+13 +0x1.1a4ebc1c749f9p+3 +0x1.27a093cdd9039p+6 +0x1.1825555632a5fp+4 +0x1.dc8f29e3e7bacp+11 +0x1.18fbefdb1deap+11 +0x1.3a3f38a62f6d3p+2 +0x1.5a27db2c0a4bp+5 +0x1.bc2fc928d22e7p+3 +0x1.99a65e3256c61p-2 +0x1.ca91f82f0a5a1p+8 +0x1.f4aa968097d1bp+12 +0x1.8d30070607482p+6 +0x1.a369a8572d2c1p+5 +0x1.c0b609e7321e9p+2 +0x1.f7678600343f5p+8 +0x1.02c8d300d994bp+5 +0x1.82e7e0a7e6292p+4 +0x1.05e5049f5038ep+6 +0x1.bc82d9fa32501p+6 +0x1.b6a27685425f1p+3 +0x1.88e07cf042ba4p+14 +0x1.f8fc5b9d38e68p+10 +0x1.d76f3254098p+6 +0x1.39aa696132aadp+6 +0x1.904f68b85377dp+5 +0x1.e2fe0788641f4p+4 +0x1.9127af304c55cp+1 +0x1.ce3fc2939dcabp+3 +0x1.893334fdd4ae1p+7 +0x1.e5c8562ee0134p+4 +0x1.26350a60e1735p+6 +0x1.753bfc6c7ee44p+5 +0x1.74fdd9f3d55fdp+2 +0x1.e88f7278ba67fp+2 +0x1.e9663aaa7ea35p+18 +0x1.2f07398d2f4efp+6 +0x1.482180e905c92p+4 +0x1.8fd112414d48fp+5 +0x1.37d34d629a2fep+6 +0x1.8f65f60dc0b31p+6 +0x1.bda681769a11ep+6 +0x1.1c896ef21978fp+4 +0x1.1bb4641bf66cbp+5 +0x1.d40d3578155eap+9 +0x1.ad05c80ec0248p+2 +0x1.eeb5deced47c7p+12 +0x1.f03bc6e8bb732p+4 +0x1.14044059b19b3p+6 +0x1.4fa3aeb09a65cp+5 +0x1.50e699cac7dd6p+3 +0x1.8cca8b1bac551p+3 +0x1.180744386e4abp+6 +0x1.2213be791fc1dp+5 +0x1.2f5a19d4e0115p+11 +0x1.2a4beff1c8b55p+5 +0x1.0449a855b9dp+6 +0x1.bd278176e1bd1p+4 +0x1.1260bee32fb75p+16 +0x1.187dcb1e43b59p+5 +0x1.67c5cf44ce88ep+4 +0x1.4e319f510afdep+2 +0x1.3896e12c3ebd9p+7 +0x1.1e161fac141a2p+4 +0x1.19b2f4c37656p+2 +0x1.7584cc0dce31ap+9 +0x1.f2dcd2b7b33e3p+4 +0x1.8d095fe8310bp+5 +0x1.35dda5307869bp+3 +0x1.9b04576e36c2bp+4 +0x1.0d7c19566b262p+4 +0x1.fda8d74aff824p+5 +0x1.39c631ca7b506p+5 +0x1.10ed14af2f3dfp+12 +0x1.42c165803bd28p+4 +0x1.95468eedcb2f9p+4 +0x1.4fcbfec4e350dp+2 +0x1.1bc601645e8bfp+0 +0x1.b4533efce1f1bp+6 +0x1.b3488ce5b0f65p+1 +0x1.191ffd7ba0485p+6 +0x1.fe77fc7a9f5d3p+1 +0x1.1273223e3b2c8p+5 +0x1.89ed2406256fbp+5 +0x1.1edd5921f4a1bp+5 +-0x1.f384bb3da4f1ap-3 +0x1.aa87f9f361c5fp+2 +0x1.4278a7efff8bp+9 +0x1.e83c9e36055d2p-3 +0x1.1442cdb2454f2p+6 +0x1.a07c38dff5dabp+5 +0x1.7d3ef6dc0350bp-6 +0x1.7f2597584e1d1p+5 +0x1.04dc3f4d100e4p+16 +0x1.b4be552d6b422p+5 +0x1.08b8e9a9a3991p+14 +0x1.40edafff6b8a6p+6 +0x1.8ef6cc3ed21e3p+3 +0x1.4b1b42c20b995p+5 +0x1.6214d52b329dap+3 +0x1.2dab99e519a62p+5 +0x1.18c9753cbf14bp+10 +0x1.d7f67fc1ba6d3p+2 +0x1.9f7bc9020b46cp+2 +0x1.953ae059cfe6bp-1 +0x1.555f79f80de9fp+5 +0x1.158dc7cf71455p+5 +0x1.5c5a339658086p+5 +0x1.230dcb802e975p+12 +0x1.d6ca3d00322c1p+6 +0x1.346cec4a4690fp+6 +0x1.132303c50b413p+9 +0x1.4503c09b02678p+1 +0x1.0c5f56fadec5ep+16 +0x1.a9ced869eb4c1p+4 +0x1.2c738b1df5349p+14 +0x1.6dd79edbb0ea2p+6 +0x1.c176ddeeff98ep+10 +0x1.cd9cc5db2d64cp+11 +0x1.6220410a309c1p+10 +0x1.9ed2e0c1554f3p+14 +0x1.b6c237a2d6db8p+5 +0x1.bd6872f758175p+9 +0x1.a62d507c9b58ap+1 +0x1.2b1af606da934p+5 +0x1.4dd44ce4e5d34p+5 +0x1.2b7a19274fa25p+5 +0x1.f03300d23a478p+4 +0x1.97922f9dbdcd7p+2 +0x1.b5e34fa58702ep+5 +0x1.add5b853c31ap+4 +0x1.ad3cde9514145p+5 +0x1.b57204d14b37ap+5 +0x1.4d338e746e3c8p+0 +0x1.ee6ae3dc9bde1p+5 +0x1.39f6e72627df8p+4 +0x1.c3b6504a93108p+1 +0x1.65a1e00a64d11p+7 +0x1.2cbf3d3ac00a3p+6 +0x1.a4ef2f58c6d85p+5 +0x1.c64b14cae4845p+6 +0x1.8a2e0509ef2c2p+1 +0x1.feed7b3ac35a5p+3 +0x1.1c0224fdf528ap+2 +0x1.c9d1f81aedfa5p+8 +0x1.c40dee74c9caep+6 +0x1.3a0f4535609a4p+5 +0x1.aed3a7ddd22c7p+4 +0x1.fe0f0f0f6cd85p+5 +0x1.c4a4e8b5ae7cp+2 +0x1.c932b4b8e07a5p+5 +0x1.09ce5c28aad72p+6 +0x1.2be8230f259e2p+2 +0x1.6a4a790256abp+7 +0x1.56d2cafe59e7dp+2 +0x1.1b55a5dcde57ap+7 +0x1.00c55cdedd6dep+6 +0x1.6e0e8b6d0fefep+3 +0x1.e868b10a0a59fp+3 +0x1.12581e2e59fc3p+0 +0x1.223a7071b9814p+10 +0x1.a347a4ace6e8ep+5 +0x1.7c218ebbb4f95p+4 +0x1.96569f32c3d3bp+9 +0x1.e16cd8dbdbc23p+0 +0x1.996044765c172p+0 +0x1.552951d44448p+5 +0x1.e86f613ab6b8fp+5 +0x1.1b4e7bb070342p+3 +0x1.03805b53122f6p+6 +0x1.41cf26de18059p+2 +0x1.2139a205a66cep+2 +0x1.0b8d0a5d66ce4p+5 +0x1.9c78cc36c4df1p+5 +0x1.68836da192f8bp-4 +0x1.d02e897de0553p+4 +0x1.471e0e91ced52p+5 +0x1.1c0d009466ef7p+4 +0x1.5e0880c9d7fdp+6 +0x1.7b71387660febp+5 +0x1.2bc2a2dbc2e99p+4 +0x1.d7a64f7c45cdep+15 +0x1.64b775dcb95f1p+16 +0x1.fea7d515344bap+5 +0x1.4f60ae5ed7c97p+2 +0x1.b16ff878d84b9p+6 +0x1.6d5b8a8ddcfcp+1 +0x1.2a75be71e06e7p+11 +0x1.1fca7ad6b309ap+5 +0x1.fe2816e09256ep-1 +0x1.6b63af0a4c3bdp+4 +0x1.0dbcd91df1bf6p+4 +0x1.c717c562d715fp+10 +0x1.b5af4f37a1bedp+12 +0x1.e009ab468b037p+5 +0x1.efd68014854f5p+5 +0x1.094beb9a014fap+4 +0x1.ebd7d953375e7p+1 +0x1.f09def169ba7ap+4 +0x1.c2e2308cdab52p+5 +0x1.d97b3b9231fefp+5 +0x1.41c88e48fee3ep+8 +0x1.f9397597484c4p+4 +0x1.cabed08a7feb2p+5 +0x1.2423888e31587p+4 +0x1.f0e2a09472ddfp+5 +0x1.2dcd7d33abe1p+5 +0x1.11cde8e66aba6p+18 +0x1.e9a6138fefbfbp+5 +0x1.3e9db459df8ecp+6 +0x1.822de7f636f42p+5 +0x1.3dc3c81c7e53ap+13 +0x1.22ec2fdd88f97p+10 +0x1.27a257b29fda5p+2 +0x1.de74cd8826b5cp+5 +0x1.1b2e9b98049e5p+11 +0x1.0e6e513bf3f55p+4 +0x1.132e31a8700ep+6 +0x1.150c21eca7059p+4 +0x1.138dab898eb0dp+4 +0x1.65c5d80818a68p+7 +0x1.f254e21e23006p+0 +0x1.3888af44b5c61p+6 +0x1.11d94e83455f5p+6 +0x1.2cc9915dfc02fp+4 +0x1.d5b9a37aa24b4p+2 +0x1.77ce0c2dea934p+4 +0x1.e7ad381e2d8c7p+5 +0x1.e47430c970e8ep+5 +0x1.99ad1e4e7060ep+4 +0x1.b9b298498b11ep+5 +0x1.9ea39d55e124ap-1 +0x1.260740fae60ffp+2 +0x1.4e1e0945b945dp+2 +0x1.51c7bd757dbd4p+0 +0x1.f572571ddaa72p+4 +0x1.c5fe72c44e9d2p+5 +0x1.8b95a77ace65ep+5 +0x1.d6574e6dc5098p+3 +0x1.b9a98b502052p+3 +0x1.a6f72d1f8f149p+5 +0x1.ea300bb7120dep+4 +0x1.8c2e286081907p+4 +0x1.fcb818b5947efp+1 +0x1.21b5e4a02e42ap+3 +0x1.392d0dcc27acdp+1 +0x1.910f072e78273p-6 +0x1.012d9c0628a4ap+3 +0x1.84ccddfd7349dp+4 +0x1.b0317f27d4b03p-1 +0x1.d528ec909aeacp+3 +0x1.2447fd5d32c4bp+4 +0x1.1a6fe0dd13d47p+4 +0x1.c1ea22a49dff9p-2 +0x1.4f0b7e64c9399p+3 +0x1.73093f1491dbfp+4 +0x1.1417ac83c20bfp+7 +0x1.0ec3b8306814fp+3 +0x1.8e58e67d5a53cp+5 +0x1.1b6396828cef3p+6 +0x1.3d7429d8a828p+5 +0x1.41510a02a9675p+6 +0x1.1bfa72346aaa2p+14 +0x1.573d29d0acf97p+2 +0x1.47635173aa313p+6 +0x1.3cd48ea190a59p+9 +0x1.ac0330bb93d1fp+1 +0x1.2dafe893d3c11p+6 +0x1.11676a3d18812p+9 +0x1.d8a7e6c515fa7p+9 +0x1.d872a966b4f3fp+6 +0x1.8c78b23e8bc49p+5 +0x1.47428c3df538fp+6 +0x1.d16d4d520d4adp+5 +0x1.2a90a62e6b5a4p+3 +0x1.35817e70575d9p+5 +0x1.2b6fb27f597d8p+5 +0x1.b323f5dfbd789p+11 +0x1.fbc3d52e5d624p-4 +0x1.07943c17b205bp+5 +0x1.2164deced8678p+4 +0x1.f83c854f332d2p-4 +0x1.4f68bcb7acdadp+4 +0x1.56d31ca4e851dp-1 +0x1.2a160cf3bbafap+6 +0x1.3e2b8d9d3f637p+5 +0x1.5ef22aede1765p+2 +0x1.91ffc75c8df13p+1 +0x1.03d24e67bb767p+5 +0x1.5a346a11aa481p+5 +0x1.bd3ca2d75e6b6p-1 +0x1.d44ac1f13cce7p+5 +0x1.1dc92f08221c4p+5 +0x1.94c97ba6a5b91p+2 +0x1.11a3ada931e2ap+1 +0x1.fadda9d2c7341p+5 +0x1.1c04c287e7b65p+0 +0x1.d969b5d6e3705p+4 +0x1.fb8ae9c57756p+17 +0x1.8c302d23f719ep+3 +0x1.106ec27b8fd97p+6 +0x1.45ef704d055ecp+3 +0x1.136bd99de541ap+6 +0x1.4d246f4c4b2f6p+4 +0x1.cbb47cef0f1e2p+5 +0x1.6d741c8e40076p+5 +0x1.c01f8aae2f335p+2 +0x1.143d2c1c5c57bp+4 +0x1.57868cd4125b6p+6 +0x1.b959562fa2b95p+6 +0x1.68aea6bce947bp+1 +0x1.6dce4ba2d58cp+6 +0x1.c5920b558f28dp+5 +0x1.e5d9276593112p-1 +0x1.604bf2de4cbb1p+13 +0x1.6289dd5bba5d9p+5 +0x1.c66f72483fb1p+1 +0x1.06d5d5d1447dcp+4 +0x1.0978a22e28fe7p+5 +0x1.d836946d0f017p-4 +0x1.315c5febe205dp+3 +0x1.b21b04c672a7dp+1 +0x1.a6db50573c636p+5 +0x1.c6d5d0070b68dp+4 +0x1.0ee9ef4f3c83fp+4 +0x1.97dfc9cb2acc5p+6 +0x1.fb73f7c362a44p+5 +0x1.5b412046cc2a8p+6 +0x1.23db57736302cp+5 +0x1.ad3353bbf2424p+10 +0x1.05594c86b7211p+6 +0x1.b927d4095683fp+5 +0x1.8d8e3d0be53b7p+11 +0x1.2e9751fda1be2p+5 +0x1.30ed298edbc6fp+8 +0x1.5a3c1f36eff96p+18 +0x1.67b93bf5e6a6cp+2 +0x1.de0005849c28ep+5 +0x1.44b18f43c275fp-1 +0x1.5f0dd7a5cf54ap+9 +0x1.bcb360b45dfbep+5 +0x1.341751b430d3ep+5 +0x1.2ab93759ed57ap+3 +0x1.657127063eed3p+6 +0x1.93e2ce9300243p+6 +0x1.66ba798d889bcp+5 +0x1.0575e19202716p-4 +0x1.dcc59e7bd041fp+4 +0x1.0ed00da3e5724p+6 +0x1.cabceb95d8ac5p+3 +0x1.119e6b14d49f9p+18 +0x1.9cb09af2e5b16p+14 +0x1.b025f54890a2ap+9 +0x1.f92091765f591p+3 +0x1.67356e7bbc746p+4 +0x1.a401e6b95758ap+8 +0x1.35f8a82a14589p+16 +0x1.16f15013a018cp+5 +0x1.4fd2285820dap+5 +0x1.3a389ffa68186p+6 +0x1.1907a6654c76p+5 +0x1.2e863e9119945p+1 +0x1.5e09d5aa48c3fp+4 +0x1.0c1635608badap+7 +0x1.60bc63ad00acap+16 +0x1.3403d7851a404p+4 +0x1.66cf4adf7fadp+6 +0x1.71ed669450acp+4 +0x1.0f252789bcac7p+2 +0x1.3c0aeb6be5718p+8 +0x1.388b1e540032bp+6 +0x1.5bbb72c184d5ep+5 +0x1.ba389ba49cdd4p+3 +0x1.d4502545b3d96p+13 +0x1.ac1129b906013p+12 +0x1.b64ef939126f5p+5 +0x1.f97106c7db33cp+6 +0x1.1bd740ed72ad8p+3 +0x1.a0377fdb06758p+6 +0x1.02a8ed054320bp+5 +0x1.e4acae36b37b7p+5 +0x1.630cf08fededdp+5 +0x1.1d70c4df040fcp+5 +0x1.d4361f30022b7p+10 +0x1.f244eeadb2e5ep+2 +0x1.1fa500c63c9bcp+0 +0x1.0f16dc81499bp+4 +0x1.4c038744677ap+6 +0x1.1f088863fe399p+19 +0x1.406c7d71eb6ebp+5 +0x1.abde8f2e7f6ep+1 +0x1.934fedd5557eap+17 +0x1.3f278f0a26447p+3 +0x1.f877074ff9f5ep+4 +0x1.cdb4e9ef52bb4p+4 +0x1.9556f7c234de4p+5 +0x1.77f45cc88fc9cp+3 +0x1.7c284f7a0a747p+5 +0x1.0a5fa8a0d360ap+4 +0x1.7bb08fcb54fdap+5 +0x1.359c2381d69cap+4 +0x1.3919b84373669p+5 +0x1.1cfd9c1bf8536p+6 +0x1.267ef90079e13p+12 +0x1.7394fab7b1f4dp+5 +0x1.f79aba9ebb323p+1 +0x1.0d3499d9f1157p+19 +-0x1.9c0dd7ea76a56p-1 +0x1.b4a08f876dd98p+4 +0x1.52aac2905da84p+3 +0x1.d1514b236c234p+5 +0x1.2e5849af859edp+11 +0x1.1257b87ad1083p+9 +0x1.74d83187fdddap+5 +0x1.42bfcb679c441p+8 +0x1.e6fe1392427d3p+5 +0x1.02ef75b6cd913p+6 +0x1.72b29b9ee16eep+10 +0x1.8c140a7a381fdp+4 +0x1.be68ba2e51c82p+4 +0x1.25b7d35c5c0c4p+2 +0x1.b90802e8be19dp+4 +0x1.926d4e808cbeep+5 +0x1.d1268c779e656p+6 +0x1.10aaebb1c9227p+4 +0x1.7efbee5b66f5bp-2 +0x1.d47cc8c083fc4p+4 +0x1.331bc786dab14p+5 +0x1.3346498a9977p+3 +0x1.5466a50359ae6p+5 +0x1.ccb10b3b09f33p+0 +0x1.243fdbc368ea5p+5 +0x1.d1eaa5f83d5dp+3 +0x1.33d885a35b84fp+5 +0x1.39e2a9a778ac1p+1 +0x1.1dd689b29f1aep+2 +0x1.8f7f817026b36p+2 +0x1.a173debbef12ap+5 +0x1.e040b2a5df73cp+5 +0x1.911f5d509ae27p+18 +0x1.364a0a36121c7p+3 +0x1.5a05a899a4e1bp+6 +0x1.b327cd39f4c67p+3 +0x1.ad05bdb18b8bep+8 +0x1.37136e0d80468p+6 +0x1.3541c7e6901e2p+6 +0x1.a313e5c34a4a8p+3 +0x1.c30d47912be08p+6 +0x1.b0de2d61f8596p+6 +0x1.5d4d985a07debp+4 +0x1.2e4c4f7b5d4a1p+3 +0x1.05ead1215f4d2p+5 +0x1.e2e50bda936b6p-1 +0x1.ce4950aaf1764p+16 +0x1.41797dbb69f1cp+6 +0x1.f6fd53944564ap+3 +0x1.c3bfbb7de857dp+6 +0x1.daa653415e667p+5 +0x1.2824dcb0ce2d4p+15 +0x1.5510e6183e92ep+5 +0x1.081463d20c1b3p+6 +0x1.1dd8bdc9f4bdp+2 +0x1.66fb89f037079p+3 +0x1.6c0bcf12fc849p+13 +0x1.32f26bfe79a9bp+1 +0x1.2fe729c270da2p+6 +0x1.36dfd80ce1d67p+5 +0x1.2c8419b70fdc4p+6 +0x1.17f47ef9b6418p+6 +0x1.a019f18c69d6cp+4 +0x1.35dff88e78d9dp+6 +0x1.c20f9c04771ecp+7 +0x1.bf7ebb59d72e1p+6 +0x1.0f0d2bde32ae3p+5 +0x1.b02e9e216224p+5 +0x1.6c8eac91a6f32p+3 +0x1.9f9eeb965a418p+14 +0x1.acf103a853a1bp+5 +0x1.344d99f6e4a8dp+6 +0x1.d51219bf84df8p-5 +0x1.df002ae236f84p+4 +0x1.ef42ade99b47ep+6 +0x1.6ce397a2e8ff2p+6 +0x1.0b045eef677c3p+0 +0x1.f2a0525041918p+5 +0x1.7f702225bc7fap+5 +0x1.8c71658741107p+4 +0x1.3a18e62cf5e4ap+6 +0x1.0d681b3e5bab3p+4 +0x1.38dd1b913922p+5 +0x1.df7c443e0a8f3p+3 +0x1.14798d1dfbf45p+7 +0x1.820b4345a71cdp+12 +0x1.8db9db0e50335p+4 +0x1.a067d6906ee45p+6 +0x1.c994b72181848p+15 +0x1.12518b6db2bdap+1 +0x1.80077264c109ap+4 +0x1.35e28b8b1212bp+6 +0x1.00634db2df8f6p+3 +0x1.960b5bb122e78p+6 +0x1.6e3bc84a33c69p-7 +0x1.ae8ae0654b244p+6 +0x1.2bae59f2ca741p+4 +0x1.7c7cfddafc571p+5 +0x1.a504ee37fc097p+5 +0x1.2a863ae3d6336p+5 +0x1.56423a27f9b5bp+5 +0x1.5ade277d6e70ep+9 +0x1.0b15e091a2b6p+7 +0x1.9a67c269179c8p+5 +0x1.3fa073516db67p+5 +0x1.b521c74d3df6ap+5 +0x1.aa0f22ae84eap+4 +0x1.417d27a06cf6fp+3 +0x1.32fe4e3443fdfp+12 +0x1.59467921827a7p+13 +0x1.7a290dbbfc004p+2 +0x1.7d05e5a7334b2p+6 +0x1.ae8194e9b24ap+3 +0x1.58827f5de2ac2p+18 +0x1.bde98c6d09a74p+4 +0x1.6f1dd87f50cffp+5 +0x1.18d9c200582f1p+6 +0x1.4d0e4a9456ab3p+6 +0x1.90225674c60a1p+4 +0x1.3478edf92148cp+0 +0x1.058adac54c167p+6 +0x1.bdbe1d71d35f9p+3 +0x1.c55db03e869cp+4 +0x1.3c66a541cd0bbp+14 +0x1.7c48e16f1349dp+3 +0x1.b795a547de944p+5 +0x1.75fdf423c0756p+5 +0x1.6f372bedfcbdap+1 +0x1.5a8ac686b9568p+5 +0x1.eedab150ef9b9p+12 +0x1.1fe574ff88888p+5 +0x1.125a2ba5e69cbp-2 +0x1.634ad4ebc6f7bp+4 +0x1.3ca70b4c604dcp+4 +0x1.6ec4b20acce6ep+5 +0x1.1999ecb388395p+4 +0x1.b4bb88f6b0f8ap+4 +0x1.29d69200f58fdp+7 +0x1.d149304cb1ecfp-2 +0x1.ec69a2ef8dbdap+2 +0x1.ee74f9ee30c19p+4 +0x1.1e6baee05a97p+6 +0x1.107342f151df5p+6 +0x1.8cdafe713b33ep+6 +0x1.cc50e0b1e303bp+3 +0x1.8fe6a4bb75522p+5 +0x1.4d06a5bc00bacp-2 +0x1.4c65cf42deb99p+5 +0x1.3dae674613db5p+15 +0x1.fe80e7024533dp+3 +0x1.395f9268609ep-3 +0x1.92d45d4bbbd94p+4 +0x1.3a08b61a5adcbp+11 +0x1.5d72659bf5069p+5 +0x1.0b2c61e235d4p+7 +0x1.d1782f13de236p+11 +0x1.5740896d58c5ap+4 +0x1.f4fd367199f44p+11 +0x1.2da16efaad6cfp+3 +0x1.9c518dd6a4d86p+6 +0x1.360170000e498p+3 +0x1.f7d35670ef60dp-1 +0x1.e11052799ea95p+3 +0x1.8ed2831eb58bp+6 +0x1.efe716198e92dp+2 +0x1.02f7084b2947fp+14 +0x1.10d518e7190a7p+0 +0x1.af94c1ddbdfedp+16 +0x1.90c0b2ddb6103p+4 +0x1.6a18c8307b6eep+3 +0x1.b5cbea357639ap+9 +0x1.cdc46428366f2p+4 +0x1.2bc43bad49c4ep+5 +0x1.621f006f6a9e4p+6 +0x1.65275baf278fdp+5 +0x1.3a4bd5a988a9bp+12 +0x1.16a697bbc22e3p+4 +0x1.b742cc2b0b294p+3 +0x1.0c760c32e5ebcp+4 +0x1.362be5df3b2b5p+2 +0x1.6c85420c572d2p+2 +0x1.233490185bd72p+6 +0x1.523d02bc68392p+2 +0x1.da213a453d3bbp+5 +0x1.395ff73afc14ap+5 +0x1.87d45d9ec938ap+4 +0x1.1bb01034fd4f2p+6 +0x1.5c4b05cc88d46p+4 +0x1.eef11f41530cp+6 +0x1.9828f78c6650cp+0 +0x1.c60ece6e49ed4p+2 +0x1.1122f43c68829p+5 +0x1.3f096292dcbap+5 +0x1.b977ca7798955p+4 +0x1.12163b1d105bp+6 +0x1.4d26fbafe37a6p+5 +0x1.c898d195a6736p+11 +0x1.bbace359c097p+2 +0x1.62ea14ef67149p-1 +0x1.31412d11c5098p+5 +0x1.53d698f6d8849p+6 +-0x1.02de26e242148p-4 +0x1.938d32411035p+5 +0x1.d8b0f86ce58bdp+4 +0x1.fd587c51b371p+1 +0x1.0e223ee101708p+5 +0x1.9919bfa1da1b3p+4 +0x1.a2876b8da6324p+9 +0x1.a2689208d2f9cp+5 +0x1.1611d36901d64p+2 +0x1.81d3fdc4bb69bp+10 +0x1.b9cc59ad54bdcp+5 +0x1.d306ecc4facebp+2 +0x1.4ed35611f6d33p+4 +0x1.22c0d400a676dp+5 +0x1.5ff6395510d3ap+10 +0x1.45e495f5889b9p+4 +0x1.7403111f83d42p+2 +0x1.5de0043a4dcdcp+4 +0x1.5cd54d836177cp+3 +0x1.ff698b49cff5fp+8 +0x1.a6f36d708e4a4p+17 +0x1.fa1d0e38106cdp+15 +0x1.5c31c80cccf0cp+2 +0x1.e12ee9bb73f3dp+6 +0x1.14549e95e3242p+5 +0x1.16a2c305cac04p+5 +0x1.9575f40061e55p+4 +0x1.1c54002f64baep+5 +0x1.4f60d7e36306dp+4 +0x1.9be54facf9785p+3 +0x1.edd1327149ec7p+3 +0x1.cf775ac44eebp+16 +0x1.c184ad3ea44d6p+8 +0x1.90ce77031a41p+1 +0x1.8d9e58ff1e112p+4 +0x1.d30e6e8f3d5p+5 +0x1.1fd311970755bp+4 +0x1.0a3115e852903p+1 +0x1.048ea374ef87ep+14 +0x1.f78fa110fefdcp+2 +0x1.93b14ca62259dp+4 +0x1.74078b412cdccp+2 +0x1.9f7e54787d6f9p+4 +0x1.80759444c93e4p+6 +0x1.89f79a6a8db89p+4 +0x1.48db03b5e62e9p+4 +0x1.b83935188c261p+3 +0x1.cecb3ca4da633p+4 +0x1.c16b642c0f9f9p+2 +0x1.71f06792e91cfp+18 +0x1.fac9941dd1f99p+4 +0x1.5ba01b452680ep+5 +0x1.3006800a65d43p+5 +0x1.30cadd99bc022p+0 +0x1.58620ddde036fp+4 +0x1.11ac96df6dac4p+2 +0x1.0e4a5e33a25f5p+1 +0x1.67449f124f3c3p+2 +0x1.308673e385ea3p+9 +0x1.8aa9635b65846p+5 +0x1.72c4522639ffp+5 +0x1.9bc42705fc95bp+4 +0x1.29f04ca1b2cc3p+5 +0x1.64657d94d414ap+1 +0x1.b85a89c1f1ce8p+5 +0x1.1d1d86b4d64e7p+2 +0x1.7f26c5b0d484cp+6 +0x1.581e506ded505p+6 +0x1.1afb0260ecbdfp+4 +0x1.8dba8cd97a439p+5 +0x1.f5fdf0653d395p-2 +0x1.d23452db65d3fp+5 +0x1.949fddd4de4acp+4 +0x1.afd08115e019fp+4 +0x1.30336184afec8p+5 +0x1.256e544ae275p+2 +0x1.9f7f17544dc0ep+5 +0x1.48340c356e706p+15 +0x1.27e60cb1b720ep+5 +0x1.17aaaf79db5adp+5 +0x1.16f0689af30c2p+3 +0x1.87247dd945123p+5 +0x1.2c97a1dba7e8ap+9 +0x1.b4ec8af83b6ecp+5 +0x1.a4a55df3acc29p+4 +0x1.7d3b84c273659p+4 +0x1.ca550d41266e3p+12 +0x1.5a1ad867fee5ap+4 +0x1.da8a50d95382p+4 +0x1.95f471c3ec61cp+6 +0x1.ce361114b5c05p+1 +0x1.ac389324bbb62p+11 +0x1.74974b3c67c94p+12 +-0x1.95ed939c68ddep-1 +0x1.40a138f3d25dep+4 +0x1.7466b1fc0b62ep+16 +0x1.1830cded55b87p+6 +0x1.632fcf9e9c31fp+1 +0x1.ab41fe59ba8e6p-3 +0x1.8bb9cec89319ep+1 +0x1.870a059c42616p-1 +0x1.8be0d6ef30015p+3 +0x1.32b0cb7398ebbp+6 +0x1.721a68fab7e59p+3 +0x1.901169985725ap+3 +0x1.0eca4df9ebf7ep+5 +0x1.acd320198fe33p+4 +0x1.0582413bff851p+13 +0x1.e62cd25391bfap+2 +0x1.55a22b646ea85p-2 +0x1.af9410dfa1b4bp+0 +0x1.fabc48b3203e2p+2 +0x1.dee1d6fdd08e8p+5 +0x1.cbea5c279dccbp+1 +0x1.bb4de9232361cp+6 +0x1.d2363bc3939c1p+5 +0x1.b77eddec3d4bdp+2 +0x1.948f138e26b76p+4 +0x1.65caf3b89b12ap+5 +0x1.03766a2ed8fc3p+5 +0x1.a645c156d12c5p+16 +0x1.8d47101a4cbdfp+12 +0x1.c205c3efa78e8p+4 +0x1.7b86c36b1dcc4p+17 +0x1.99d36a9110ef3p+4 +0x1.190a72ed41833p+18 +0x1.b95e39527e198p+10 +0x1.405c89b2ce103p+3 +0x1.b5456072be1e4p+4 +0x1.b6bbb7bfb018fp+0 +-0x1.7af708d755154p-6 +0x1.2489012007822p+15 +0x1.47f28346c076dp+8 +0x1.19998456c569fp+1 +0x1.bb27359bf008dp+12 +0x1.d020d0c417e77p+1 +0x1.082bcfe709147p+2 +0x1.0fe8ad5301e0cp+16 +0x1.a20aaa5619db3p+5 +0x1.e9a54d783f3ddp+5 +0x1.a330b3da6613ep-1 +0x1.e4064a0438e96p+4 +0x1.091a19a5d4593p+6 +0x1.37000678a964cp+5 +0x1.4a9fb159ae46fp+7 +0x1.6d6619dbbc853p+4 +0x1.1a8c6f251f3c1p+3 +0x1.9475f58e75d01p+3 +0x1.51d235bca810ep+6 +0x1.7efdb71c6ead8p+1 +0x1.b4697c6e2ee47p+11 +0x1.add6f0b1b58e1p+4 +0x1.1ea4c82458a8fp+5 +0x1.3ac5b8e43a6e6p+9 +0x1.7ee7b347a392cp+3 +0x1.5357e451ba203p+6 +0x1.fdcc2e6539a66p+10 +0x1.4c529867d930bp+6 +0x1.82755b7fe77d8p+2 +0x1.97ccdd260f4b9p+5 +0x1.10c9992de2642p+4 +0x1.587ba22569acfp+5 +0x1.cf75550a8363ap+4 +0x1.2cda762a8391ap+7 +0x1.599a298194b4bp+4 +0x1.1ab81452e1253p+4 +0x1.2e40ba049f4d6p-2 +0x1.d73b0f374defcp+4 +0x1.c41f9dce2d3c1p+4 +0x1.5003ebcfe1f74p+14 +0x1.394e61f5b30a7p+18 +0x1.d3e985e7e3322p+4 +0x1.9217c4db6cc01p+7 +0x1.91763d14fcf58p+13 +0x1.d1275c8cd5c13p+9 +0x1.e4e9a49150172p+3 +0x1.fbc83ff0d38e3p+16 +0x1.83a6b100ff44p+5 +0x1.05164766e0e6ap+4 +0x1.4329be43ca0a3p+5 +0x1.4f85a168229f8p+7 +0x1.25fee236328fdp+4 +0x1.12e4ff7657ef1p+4 +0x1.7e73d6af6d736p+12 +0x1.05c2956bd0d71p+17 +0x1.bd1f16d014058p+18 +0x1.2a15e7e84a206p+6 +0x1.462c5b6f48957p+6 +0x1.495c30a55cdcfp+6 +0x1.e72c0c34922b7p+11 +0x1.d560d22de1c5bp-3 +0x1.38951e40935b6p+2 +0x1.ed37469f6afa4p+3 +0x1.05d07b36f1942p+17 +0x1.ad9bdaaadef74p+6 +0x1.c264e95bf1976p+3 +0x1.61113029f78c2p+5 +0x1.846d78c098768p-1 +0x1.e39d8688f439fp+0 +0x1.4f509d39c843fp+6 +0x1.c8913ee6098bep+5 +0x1.b55d17853d548p+3 +0x1.8f7875fcab22dp+2 +-0x1.cdfe9008a2e94p-4 +0x1.6ba3c20e12377p+6 +0x1.69393e4f9fe6dp+5 +0x1.eefe5c7a416bfp+5 +0x1.8fb65b7d6af01p+5 +0x1.564706994b042p+6 +0x1.f1b5e1397b00fp+0 +0x1.503aea0ca31fbp+3 +0x1.391919bf26007p+5 +0x1.a99657ada89dap+5 +0x1.0b24b8143119ep+5 +0x1.cdba2d78300bp+16 +0x1.4a626a7568a3ep+3 +0x1.9c6278e276cffp+6 +0x1.8b8b331fbc437p+1 +0x1.8835acc5d4014p+3 +0x1.8241e5a5a1a6ap+3 +0x1.288c2f78a105ep+4 +0x1.e6a94c5d2f0b7p+3 +0x1.8f7d039ab1614p+16 +0x1.4563d5aeb557bp+3 +0x1.555c487afc78cp+5 +0x1.be8f5e61a458bp+5 +0x1.0efaf0660bafp+6 +0x1.2be60a280d353p+5 +0x1.446ed3efb4339p+3 +0x1.92a979d2cf37ap+10 +0x1.4fdefcf66efb8p+6 +0x1.9b7148d820261p+5 +0x1.3ac9372511bdcp+6 +0x1.35a626d1f72c2p+6 +0x1.f9cef50032157p+13 +0x1.400c7da462c9p+5 +0x1.4585a0ea4eb3p+1 +0x1.2c2823c517d0ap+6 +0x1.5696bd2023277p+6 +0x1.f81912d2b1126p+0 +0x1.3cd7ce19d83d7p+5 +0x1.2d0452b6659d9p+5 +0x1.b78ce8863dbc3p+5 +0x1.766fe90e80fbap+8 +0x1.1993d30022e6bp+6 +0x1.8ca589020a93ap+6 +0x1.eca373960a069p+16 +0x1.56bcfdb511636p+5 +0x1.a70b92afbb075p+4 +-0x1.783c68b8d96d1p-1 +-0x1.d471cb300d34p-4 +0x1.1501f655042e5p+0 +0x1.ece2893d6f08fp+4 +0x1.2bbd1f44a4c03p+5 +0x1.8c60b481d48bfp-4 +0x1.fca99e7236061p+12 +0x1.475e3d9453635p+4 +0x1.c8852e28da378p+12 +0x1.afa6115dee80dp+5 +0x1.fa4534c29f2f8p+17 +0x1.fe6a659ac7646p+5 +0x1.fd86b9e4e7813p+5 +0x1.e1c7fae45725dp+11 +0x1.1f9e0c756b98bp+6 +0x1.76bd4900c7d44p+1 +0x1.8950e2db2771fp+11 +0x1.cace2cd68ef05p+5 +0x1.f9fa1cea6d6a2p+5 +0x1.a391a98a16f6p+12 +0x1.e2863ce598197p+5 +0x1.1c325f2e4ae11p+5 +0x1.72cf12b7ea721p+6 +0x1.e211a3be20784p+17 +0x1.b5f94f4688892p+5 +0x1.65bf6f6c93462p+5 +0x1.722431df91799p+0 +0x1.af8c6ea989fefp+5 +0x1.14329b52315f2p+5 +0x1.4d5e95abd63fcp-3 +0x1.e6851b58128cbp+2 +0x1.49346fe0d2367p+5 +0x1.df45757fa5699p-4 +0x1.5b25601e82246p+4 +0x1.54531c967a2cep+11 +0x1.a0c38e2c9c58p+3 +0x1.0cf0d54f40a34p+5 +0x1.b187f7519ebfap+1 +0x1.89def4fa65dd5p+5 +0x1.6a8b618c2fc4bp+4 +0x1.abb9abd4c9d89p+2 +0x1.aa08a70de4361p+3 +0x1.989bd02178d2dp+4 +0x1.33dd772a1df2ep+6 +0x1.527f0a1b0de9ep+5 +0x1.d97db2790a1dbp+2 +0x1.8d8c34e6e7721p+3 +0x1.24ec7a6c90c28p+5 +0x1.9c2d98dffbee7p+12 +0x1.dca39cd4050bdp+11 +0x1.023b6017efa0cp+6 +0x1.5307b1b1fcb55p+5 +0x1.1b888c8f9c59ep+4 +0x1.7eb4e1de1d97fp+5 +0x1.fd0ca4f3c1b5cp+4 +0x1.0856957e480a7p+4 +0x1.0b93b634680bdp+5 +0x1.1093e5fb38ac1p+14 +0x1.0637e141d46bdp+3 +0x1.1fc7f819c43a9p+4 +-0x1.e1a0f29d06b63p-2 +0x1.3792a8aeb7de3p+6 +0x1.881e2f4038b2p+2 +0x1.7e296e1b1f92fp+5 +0x1.6294f446ae997p+4 +0x1.772fe5b1c6e7dp+5 +0x1.0621a28b140ep+7 +0x1.983c5a4e3e168p+6 +0x1.27e0d43453091p+6 +0x1.64659c3cd1806p+5 +0x1.a3479cf4cde1fp+0 +0x1.44e251eed36c1p+5 +0x1.7e75b7cf3f141p+6 +0x1.6ffff93b84f67p+15 +0x1.e4fc4dbc42057p+1 +0x1.5c3daea3fa2efp+5 +0x1.618a2adc2a08fp+2 +0x1.0bd4b2f8c898cp+6 +0x1.8664c6aeb19b8p+5 +0x1.8e12786796204p+0 +0x1.b8412117faa0ap+4 +0x1.aae7ba0a8ba62p+1 +0x1.6335398ebe5e1p+5 +0x1.26456f9110ee5p+5 +0x1.8fbfd556fdc2ap+5 +0x1.b3c769677ad9fp+5 +0x1.af2bd96e51b38p+2 +0x1.eb943d0fb8c07p+4 +0x1.2b0a96a277cddp+5 +0x1.5059274c0a21p+7 +0x1.2c26107347d4p+17 +0x1.b3f16c81aaf65p+4 +0x1.b9972fb096167p-4 +0x1.69216dbe855e5p+5 +0x1.e3f3f83618425p+4 +0x1.f2e0aa4c3a2e1p-4 +0x1.354cab4686604p+8 +0x1.527854758bc3ap+0 +0x1.68009872109e1p+4 +0x1.a41ef16a67b4ap+2 +0x1.29645a0571a6bp+4 +0x1.3ce44ae1793e3p+2 +0x1.a67783e71fd07p+3 +0x1.0d68f2a546f2dp+2 +0x1.945070438017fp+5 +0x1.0f1f0b11eb3d3p+6 +0x1.2b3ed0f8b1551p+4 +0x1.ce94f7d910501p+6 +0x1.180170c64e9b9p+6 +0x1.f6a9dc9b4ccf5p+5 +0x1.2e3daa2c8799cp+4 +0x1.2913e025648c1p+2 +0x1.821aebb6fd15cp+5 +0x1.ad0d119d9e4f1p+4 +0x1.dc794804659e2p+3 +0x1.3d68ab7ac311ap+4 +0x1.442006a48feb5p+2 +0x1.d3f3124420883p+4 +0x1.518fb698d494bp+3 +0x1.df766c4c46dcp+4 +0x1.01ba6c5f785c3p+5 +0x1.0a5432eb47ca5p+4 +0x1.85d81000b40ep+4 +0x1.2a47f3053c2f4p+5 +0x1.71e73eeee7f29p+5 +0x1.cb2e2f4aa540fp+2 +0x1.8b5c4f1a23653p+5 +0x1.9d254c6dab0d6p+1 +0x1.4849659bac552p+4 +0x1.5d81978245b44p+8 +0x1.56861dcea99e3p+3 +0x1.5d9d6f9f0344fp+4 +0x1.f26461443d954p-1 +0x1.6389b8430207ep+18 +0x1.8c36fe241ea0ap+4 +0x1.7ffdb4b42718fp+17 +0x1.267f73c1babd7p+3 +0x1.daff70033e3f8p+12 +0x1.8a2957dd79b97p-1 +0x1.e31b02c7492a8p+4 +0x1.df27ee50ca5a6p+4 +0x1.6ddc843764f8fp+11 +0x1.500f9a7d81aacp+5 +0x1.b4f776aabf4bp+4 +0x1.0382ec339729cp+6 +0x1.6eadb86f333c3p+13 +0x1.2b6277fca7de5p+8 +0x1.c3c8a3bcddb7ep+5 +0x1.8b16c490abdfp+4 +0x1.e027b821817fbp+0 +0x1.aca7096b17801p+4 +0x1.6316dd8142447p+5 +0x1.517ce802b2a9ap+3 +0x1.85a477dd13dc8p+3 +0x1.020ba06a2f815p+5 +0x1.cfed5239189a5p+8 +0x1.6662df214c9bbp+4 +0x1.cc413d1e59766p+3 +0x1.06587288cc9ecp+5 +0x1.7759282069f44p+4 +0x1.67c66f47f890ep+2 +0x1.9257661a87e6dp+5 +0x1.eb2cabaf7ca0ep+5 +0x1.e84187e5d49b7p+1 +0x1.cad03d3b3dd99p+4 +0x1.b5b9152a495fdp+5 +0x1.d13550f5ac947p+4 +0x1.696de2cef5ba7p+5 +0x1.6089a4a7044ep+3 +0x1.77914b2cf2867p+2 +0x1.041799617e63ep+5 +0x1.ec1ec1acc6496p+14 +0x1.47235b483fa71p+3 +0x1.39311b985b64dp+15 +0x1.a88e99764f116p+3 +0x1.055dccb4646e5p+5 +0x1.3fb217674da29p+1 +0x1.3cc74866de332p+5 +0x1.e4d20f82aa551p+3 +0x1.45997f9ad5373p-2 +0x1.77b65156f4bp+5 +0x1.90b587a3cf74dp+0 +0x1.3bd7243db19cdp+3 +0x1.386ceb609c50ap+13 +-0x1.6ab12c862fe34p-2 +0x1.8f3fd8b21946ep+5 +0x1.1d18da71c3fap+6 +0x1.960437b7347e5p+5 +0x1.39beb422c1191p+5 +0x1.846b9123d5064p+5 +0x1.a745c783d87c7p+5 +0x1.dd39467cc87a8p+5 +0x1.83aee3e188903p+8 +0x1.4326250b11abbp+4 +0x1.1885b4b74bed1p+4 +0x1.65c4e7635373bp+2 +0x1.ebf189fd50db1p+5 +0x1.927c81ee12e09p+4 +0x1.544f985dab75bp+6 +0x1.c935029060259p+5 +0x1.575b323a846b9p+1 +0x1.38f8266db8167p+5 +0x1.18956de92ad8fp+3 +0x1.b9267186f6a9fp+5 +0x1.212b00039a2f3p+1 +0x1.857a1768d17aap+5 +0x1.cffbb127451dap+5 +0x1.a023723758ea9p+3 +0x1.ad6aa485ba8e3p+6 +0x1.37a45c3eb3173p+4 +0x1.37863b02f6288p+5 +0x1.65b564562345ap+0 +0x1.2b6f064dba6a3p+4 +0x1.2c5d89f72c0e4p+4 +0x1.51b2cc13ea9aap+18 +-0x1.ce2daeccd04f9p-2 +0x1.0f2eeaa88a192p+3 +0x1.437e838a7cde7p+6 +0x1.4a77c5d5eddfp+0 +0x1.7c318b5d9e0b9p-2 +0x1.5e0b9a7f481c4p+7 +0x1.c7c696dd282fap+5 +0x1.1c079e7ce756p+3 +0x1.2546011344af3p+6 +0x1.6bc0f177d9849p+6 +0x1.7cd1a1a8628cep+5 +0x1.6ccc583933cd1p+6 +0x1.e33af65fd52c7p+5 +0x1.b9762db28b0a4p+6 +0x1.783e8c4d328edp+14 +0x1.2d20901319f45p+6 +0x1.8583498dc706ap+14 +0x1.5f9464436196fp+5 +0x1.6e000bfd06dp+5 +0x1.5ed52bd9f80e8p-2 +0x1.aa6f5ca6d6df6p+16 +0x1.fef100f828095p+16 +0x1.89dfe878008d7p+1 +0x1.97acb474893e1p+4 +0x1.fa1e67ab269b1p+7 +0x1.95043b489fdeap+9 +0x1.e4e748c80cc95p+12 +0x1.ac76159e461bap+6 +0x1.93af9c95eb036p+10 +0x1.1268275668707p+5 +0x1.54095ac6fcf6ap+7 +0x1.b9cabdbe91a67p+7 +0x1.35231824e2393p+4 +0x1.bf803234973ep+6 +0x1.4d665851a807ap+16 +0x1.76a4ddb4e6c54p+12 +0x1.d2ea3c7baa8f7p+5 +0x1.1327507fa4e95p+5 +0x1.168955e97aa2ap+5 +0x1.38054004a0cf6p+6 +0x1.165cec376cf97p+10 +0x1.5f2768262f14cp+4 +0x1.be2a7914df559p+13 +0x1.2affa27f8055ep+6 +0x1.18b12ce75591p+14 +0x1.0d86a9f756f02p+5 +0x1.a53571f47b263p+4 +0x1.6a4fd7ae9b2bep+6 +0x1.84bcce1d77b4bp+6 +0x1.f743968176e74p+5 +0x1.8161d666dacfdp+3 +0x1.1417995289d62p+6 +0x1.98322b1b52d4ap+3 +0x1.11f5ee775326p+13 +0x1.88b168194df9p+6 +0x1.28e2fe8242309p+15 +0x1.b270a8cab2edp+5 +0x1.03ebebb6efbc4p+3 +0x1.25eee48a58b63p+5 +0x1.4a2cdb5c7d9f5p+6 +0x1.ac28992626867p+0 +0x1.f1d7f73634a21p+16 +0x1.326f6c840a7f8p-4 +0x1.af0212d61a857p+4 +0x1.f779e83959b6p+5 +0x1.c8cdac068d5cp+11 +0x1.6eb0973e54bf4p+10 +0x1.c9251192003f9p+8 +0x1.6a99dfc8d0292p+5 +0x1.ce2829786a772p+2 +0x1.5cd72a6c7b1d7p+4 +0x1.4e5db07fda9dp+5 +0x1.21fde02094f5ep+2 +0x1.d722c7bd7a62bp+12 +0x1.6e6db3082b7b7p+13 +0x1.395309302454cp+3 +0x1.679a7c47f705bp+5 +0x1.6a67687c6d35p+6 +0x1.b0fc96f7c1069p+0 +0x1.fcfc9d0ad9434p+9 +0x1.57f3aa8e53e91p+5 +0x1.e94a3fe90622ap+3 +0x1.7d52c6224f915p+3 +0x1.fcb44ed7d428ep+4 +0x1.0e8b80188ab6dp-1 +0x1.fe34e84d0661ap+4 +0x1.ad877242443ebp+7 +0x1.5758dddb69dd3p+0 +0x1.f20c69fc77b04p+4 +0x1.044358a4dd52dp+6 +0x1.59af949fe3bfdp+3 +0x1.1356f622ed732p+6 +0x1.4e07906d8255dp+4 +0x1.7662ddfd4e749p+15 +0x1.9b494998f5f0bp-2 +0x1.4e4c0758ab6f1p+4 +0x1.1d69f84b7e41ep+5 +0x1.3ef4151d1d504p+4 +0x1.8ce2915a3afafp+5 +0x1.63b1d95f5dd4p+4 +0x1.0edf457926d63p+6 +0x1.5fcc7bca2f38cp+4 +0x1.c50027bae37b3p+2 +0x1.430f8f14be422p+5 +0x1.4f51c09fd3095p-1 +-0x1.b200cdd473fc5p-1 +0x1.3dfad0d180206p+3 +0x1.b885604add8b5p+8 +0x1.37c321c194312p+7 +0x1.011c1550ecd92p+5 +0x1.1008f28deaf2cp+0 +0x1.4e5209acaedbep+4 +0x1.1eb6360697722p+4 +0x1.257b94888b9e4p+6 +0x1.91124d9e6b5bdp+5 +0x1.89381294fa80ep+5 +0x1.47995a9b5e21ap+5 +0x1.4e7400de131bcp+7 +0x1.4f64def5b30f3p+6 +0x1.95a4bab65b464p+11 +0x1.10adfb2376294p+5 +0x1.728667e25e20ap+4 +0x1.cae012201f51ap+6 +0x1.8b0d026e3cf41p+5 +0x1.7c33d7349a242p+5 +0x1.4162551b7990ap+6 +0x1.6feed0120501cp+9 +0x1.62baf927c3d26p+6 +0x1.bda8044199ebfp+4 +0x1.de0fa245012b3p-4 +0x1.e130d9b7fe86ap+1 +0x1.9ef24c3055162p+14 +0x1.73c67a3e16512p+1 +0x1.c446237a1294p+5 +0x1.b41c69efa9974p+4 +0x1.b0dc791b452c7p-1 +0x1.193bfbc8b108p+16 +0x1.8fd5cd567d897p+5 +0x1.ad9bc0113899p+5 +0x1.196741f6398d6p+4 +0x1.2bb817ff79334p+5 +0x1.8bea7178408f6p+4 +0x1.80f551ed703d9p+5 +0x1.1cab81ff9c5c1p+0 +0x1.335832c227d6p+2 +0x1.a7f98216c65dep+6 +0x1.8e4705f2430e7p+6 +0x1.585845cd47d62p+4 +0x1.65941e3a6f1e4p+5 +0x1.dc587513f7c7fp+16 +0x1.027347e8b97eep+10 +0x1.a874f91ea9b36p+4 +0x1.5d8cd02cf8aa1p+6 +0x1.005de18a30da6p+3 +0x1.de94e9f9b1737p+11 +0x1.e87c93b086119p+3 +0x1.317974cb9ad51p+15 +0x1.c5343f720aa43p+6 +0x1.4f5494d84430fp+0 +0x1.00bc3bf8aa3e1p+6 +0x1.478366a7596d7p+5 +0x1.acded258fdef5p+5 +0x1.785bdb71e6b37p+4 +0x1.04bcebb083bbdp+5 +0x1.98ee95cd2f1bfp+4 +0x1.de73779983e8fp+5 +0x1.a7bf253edf349p+4 +0x1.91e55ca8ae30ep+1 +0x1.0f351edd5190ap+14 +0x1.0c360b860b392p+3 +0x1.91910be15398p+4 +0x1.14ee877207b8ap+5 +0x1.47692d11ccd9ep+9 +0x1.5392580f9783p+6 +0x1.c0b47df6bb1ebp+3 +0x1.6c63b90ec97p+5 +0x1.30421c1dca04p+5 +0x1.9185f577e0fa2p+4 +0x1.b0d9981794a2fp+2 +0x1.e6e50bb68c2c1p+2 +0x1.52a1e8a096227p+6 +0x1.6ceac889cf57dp+1 +0x1.ab1d365ff2c24p+4 +0x1.5e7237d8988f9p+2 +0x1.cca930eb774a9p+5 +0x1.a7b5822526fdcp+4 +0x1.38e3e6d2a06bep+6 +0x1.4247ac0943572p+11 +0x1.ff8f5732ebd14p+13 +0x1.88365a25f33a1p+4 +0x1.a6bc720a30508p+0 +0x1.cf600c84fe0a4p+5 +0x1.9527c540b0b91p+6 +0x1.9086766fc1d53p+5 +0x1.571dd249c154bp+3 +0x1.47bab845e4c7cp+4 +0x1.37926eedd7928p+2 +0x1.15a502c6bc4c1p+5 +0x1.1abc4b5e81d7dp+7 +0x1.466092e90a73fp+16 +0x1.280192bc4d749p+5 +0x1.2a65f9b5bba86p+0 +0x1.9cc5c29dafca3p+1 +0x1.d059e18259c55p+4 +0x1.be27644fb50ebp+5 +0x1.61b718281fc81p+5 +0x1.db9c19f689791p+6 +0x1.7f5c62b466393p+6 +0x1.7ba4bc3f7784bp+5 +0x1.4cea8be90cdep+16 +0x1.7c2be31a37088p+3 +0x1.09e1b1f7ca1aep+5 +0x1.496c700fe1837p+16 +0x1.270259247f3aep+10 +0x1.2bfd3d95e1794p+2 +0x1.3a5ebc7c704cp+0 +0x1.a16ff8a6e2e3ep+7 +0x1.f902d6e8cb69p+5 +0x1.9bbd305690fcp-1 +0x1.ff5d341ed7432p+4 +0x1.d043c9ee3ade1p+4 +0x1.f8fd7777188bdp+2 +0x1.353865eda31ffp+12 +0x1.bd309d046c55p+5 +0x1.3929fa35af889p+6 +0x1.61c9f360447aap+2 +0x1.0d18f087bc18ap+11 +0x1.b49dc29f7918p+3 +0x1.5c12138e9614cp+3 +0x1.807a000dfc01ap+5 +0x1.eac0d6fac476cp+4 +0x1.121ddcf8d83abp+4 +0x1.0685fac03277p+5 +0x1.4570ec4f632aap+5 +0x1.01828399f1dcbp+5 +0x1.cfba1f5ef92b7p-1 +0x1.2bfcba2bb6f42p+5 +0x1.60fc30218e414p+6 +0x1.1b83a5c07711ap+5 +0x1.ac4ba59fd48edp+4 +0x1.8d06f081c648ap+2 +0x1.3b333557ac838p+5 +-0x1.34aa577273174p-2 +0x1.934d4c2c6ac92p+6 +0x1.1fa694c53518ep+7 +0x1.05ee907e7d1efp+6 +0x1.89a5e147bd472p+6 +0x1.953a834130bdbp+4 +0x1.2b88c1ac0ee31p+6 +0x1.9f94bf209e2b6p+5 +0x1.48f124d50ffb2p+7 +0x1.a193e1df7ea56p+3 +0x1.6520abd238e71p+4 +0x1.0c1f01000864p+12 +0x1.32fe4888d299fp+1 +0x1.4da285042fd3ap+4 +0x1.543f0b8d6d8a4p+5 +0x1.5ae39a39e20c2p+4 +0x1.6d1ee6ff44886p+4 +0x1.000e2594d23ffp+4 +0x1.38bf130a5c97p+4 +0x1.56e08a7e50deep+3 +0x1.f2f660ee16596p+5 +0x1.f18c7aacd7128p+4 +0x1.d9be15146eaf4p+5 +0x1.27d1f44467e32p+2 +0x1.f6d5b5352db8ap-1 +0x1.54974a6ef335ap+3 +0x1.03bd60914deacp+6 +0x1.ce8d6e34d9021p+4 +0x1.0acf2233d2f1dp+5 +0x1.015c053aaac18p+1 +0x1.b4b4be4a34216p+6 +0x1.d2272a69e8328p+5 +0x1.2c681cbfe5e9p+5 +0x1.d2776ac4b0705p+3 +-0x1.2acba67f221a2p-3 +0x1.42c1cf6451198p+5 +0x1.283d1955ad482p+3 +0x1.bf06c2ea58994p+6 +0x1.62e3132095c53p+2 +0x1.3d5e6e041964p+5 +0x1.6a909cae084cep+4 +0x1.5a7127f175d24p+2 +0x1.37f2eacaf384ep+5 +0x1.32e1c46a6ef26p+14 +0x1.999c3b12fc1bp+0 +0x1.d52ccf4b32505p+3 +0x1.119b7c78f017cp+5 +0x1.337e36123d38cp+0 +0x1.f8d5fdf44c334p+11 +0x1.b79c6de68bb02p+4 +0x1.a355a9042aa32p+4 +0x1.4bd57f1978e6p+13 +0x1.927edd4ae7923p+7 +0x1.a0c77ae079056p+7 +0x1.390dd73fbe324p+6 +0x1.f88a47df32a0ep+16 +0x1.35e953736e2a8p+10 +0x1.7c1180b8777edp+6 +0x1.34ecc60bc4622p+6 +0x1.6b4f9087f5931p+3 +0x1.73836ac8841f2p+10 +0x1.526761ea6edddp+13 +0x1.65600eede1f3bp+2 +0x1.45f8889f6f8c5p+15 +0x1.fe590e5b2c9dbp+5 +0x1.244fc3ce1b674p+6 +0x1.12f882292f309p+4 +0x1.2f9e8e3700964p+16 +0x1.1b3af57cffdb7p+5 +0x1.a16671de8a643p+12 +0x1.359143048c589p+9 +0x1.7dbb0f6899639p+7 +0x1.0b16210dc9a56p+7 +0x1.b0b8645e4a8a9p+3 +0x1.2f49f230e7925p+15 +0x1.1e7d54e78fa48p+3 +0x1.8342c7f521daep+5 +0x1.847cec69c9f9bp+2 +0x1.30ce3e7de4e46p+8 +0x1.11965e837ea41p+5 +0x1.a7d6c4d362612p+5 +0x1.069726f71486ep+6 +0x1.b3fd5f9759885p+5 +0x1.38fe8d2541791p+5 +0x1.33010cbb5967cp+4 +0x1.ca827afc26525p+3 +0x1.9bd5ba0dc62d7p+5 +0x1.5a23fce674ec1p+6 +0x1.05bf5c9a57026p+6 +0x1.bb6e99619218p+5 +0x1.67a83460753p-4 +0x1.4bba92875a854p+18 +0x1.e966ac1e7b15ap+16 +0x1.253496b05043ap+1 +0x1.988fdfa7e61bdp+3 +0x1.dfe78f4f53c3ep+4 +0x1.38228c6832e79p+5 +0x1.0ad42ac4bc7fep+14 +0x1.996e715816dcp+6 +0x1.1de839852501dp+6 +0x1.0e770dde624bdp+7 +0x1.011011e4b96a6p+3 +0x1.5a95a273762cap+5 +0x1.54e30cb9b00f2p+4 +0x1.b13b035de8df7p+5 +0x1.fefd476483703p+12 +0x1.ee1ac1c358774p-1 +0x1.15e2b65d667c4p+4 +-0x1.181848e6572bep-1 +0x1.8d717d411e385p+12 +0x1.2aaa5a8c04bf3p+15 +0x1.8ea93187d34ffp+4 +0x1.eb70cb13f9a5bp+5 +0x1.1e72bb674fa5fp+4 +0x1.b25eba98406d3p+18 +0x1.7d6a9df9ef04ap+18 +0x1.bf22b71d35c16p+4 +0x1.a47db01a94496p+2 +0x1.147ded6e68803p+5 +0x1.ac1bd153b381p+3 +0x1.363c077eb3522p+2 +0x1.cf97a57a70393p+4 +0x1.a5ec151d5aefdp+5 +0x1.76c80bf0f934cp+5 +0x1.95693d3e05a11p-1 +0x1.2fcc3f46e26a4p+10 +0x1.e0bfa9f178cd4p+5 +0x1.d11406c3d4c4cp+1 +-0x1.e8725efaac869p-1 +0x1.48da42e0825a5p+3 +0x1.25b86787863ffp+3 +0x1.c67e4b092fcd9p+5 +0x1.08f5a86a25789p+2 +0x1.5e85804f949dfp+5 +0x1.27e8a87ef975ep+15 +0x1.2466022cb09aap+9 +0x1.e621c904ed81p+4 +0x1.625216bd05e27p+12 +0x1.798d8ead42f54p+16 +0x1.f5c6558391f9ap+4 +0x1.6e8d33f1367bap+2 +0x1.9e6614c40f917p+5 +0x1.126db12192a05p+2 +0x1.a1efd75d12a06p+4 +0x1.e5ba06ff4f5fbp+4 +0x1.3b75365662c19p+6 +0x1.29b4a219067afp+18 +0x1.6eca8b0b98acap+5 +0x1.a5b0ca443b583p-3 +0x1.16bc9b3c3faf8p+4 +0x1.0e914c7651bap+13 +0x1.3a59a771583f8p+17 +0x1.9ce9d289526b4p+5 +0x1.871f7886d6c5ap+3 +0x1.47c489d5347f2p+1 +0x1.12a4610e596bfp+10 +0x1.3427464b08b05p+6 +0x1.4e9fc77115accp+13 +-0x1.b60ab377ee191p-4 +0x1.0357933940238p+5 +0x1.350e65e2af742p+0 +0x1.616919e35b317p+6 +0x1.d500b935e2f64p+5 +0x1.bd187438c7956p+0 +0x1.6f8a678891bd6p+3 +0x1.5cda14a26f154p+7 +0x1.04903de5bade2p+6 +0x1.d28a2c28b08e2p+3 +0x1.0e47183c641d7p+2 +0x1.739adc7fae871p+3 +0x1.68890a81bb0dp+6 +0x1.cce73f4757212p+5 +0x1.3d35d046590d5p+5 +0x1.bc51214db053dp+5 +0x1.4f6065595eb3ap+15 +0x1.451b304001d34p+5 +0x1.f125645adca4ap+12 +0x1.b971b0c4c31cdp+14 +0x1.1288c32e9a5f9p+6 +0x1.bcfe252b004fp+10 +0x1.3559323bfcf6dp+3 +0x1.487bba8c5476cp+7 +0x1.911642408cdc7p+5 +0x1.068e29527c173p+3 +0x1.7b43ac8df6ef3p+5 +0x1.053f3464782c4p+10 +0x1.d0629838d2219p+5 +0x1.39b39967b2ca4p+5 +0x1.091b334891d87p+3 +0x1.a02f6233be861p+5 +0x1.e3ee8e8d9f824p+3 +0x1.a2bcd670a0785p+4 +0x1.3a8c92da08bafp+0 +0x1.3867c9928adecp+4 +0x1.85217c0aa615cp+10 +0x1.c92eb8716e4aap+4 +0x1.e7dfd165fabb6p+4 +0x1.385854f3c4ee4p+4 +0x1.8acb4ab891dbbp+5 +0x1.53aa37dbadec3p+6 +0x1.e6b70fd672f19p+6 +0x1.4ed29ae785b79p+14 +0x1.2dd3db5c31d4cp+4 +0x1.7c66d4368b4d6p+5 +0x1.a25992d0d3e44p+6 +0x1.13fbc88685416p+6 +0x1.0c1bb2f0f19d3p+5 +0x1.1e4564f526159p+6 +0x1.7189a1fbddf5ap+0 +0x1.ba73c89e46b24p+1 +0x1.e5ae4370cee67p+3 +0x1.d35f9e5f95dfcp+11 +0x1.cefebb8a923bep+1 +0x1.a23fb4726b5eap+4 +0x1.6ae0fe5c930b2p+3 +0x1.afb79f41c67ddp-1 +0x1.85b79aae0a11cp+6 +0x1.954e15dbb3a2bp+6 +0x1.19beb2ef56c56p+2 +0x1.7183b2dc056bcp+5 +0x1.74efb321bbaafp+12 +0x1.06724defcd3a3p+4 +0x1.46d2cda6cbc1dp+5 +0x1.e346d907c95bep+5 +0x1.35b1f26b42a3ep+5 +0x1.126cd4586db55p+1 +0x1.4531e4c8fb18p+3 +0x1.576471a94722dp+4 +0x1.e80f14a0b4041p+4 +0x1.5afc4acd16dfap+6 +0x1.bf705c9872be1p-1 +0x1.1740ef71f0317p+0 +0x1.1eb9610fc74ccp+7 +0x1.a4257d6289174p+6 +0x1.bc7e8bf16cf1bp+6 +0x1.85638b027604bp-4 +-0x1.a41d69004039dp-1 +0x1.ef2d15c7f2755p+5 +0x1.630b5199472c1p+6 +0x1.99f709448d878p+6 +0x1.38cfde02bffc7p+4 +0x1.384a915b2440dp+1 +0x1.a0099ce81760bp+3 +0x1.bfb4305e5f605p+5 +0x1.0a609331b264ap+6 +0x1.144f5fb0e2af7p+10 +0x1.04659d7f36723p+4 +0x1.9e2698dc57eafp+5 +0x1.d366af4dd6a22p+5 +0x1.7ae2453b084ep+3 +0x1.7eb9400de2832p+4 +0x1.79b5e037f503bp+15 +0x1.2bbf2eed05dcep+6 +0x1.588ee998df454p+7 +0x1.714c49ae95017p+4 +0x1.c1cc354faf0e5p+5 +0x1.a7bd5d7bea9cp+2 +0x1.7b850912a08eep+5 +0x1.2869205c1a9d5p+5 +0x1.745237ad760f7p+5 +0x1.58de4ed088f37p+2 +0x1.4fa253a8f9f3bp+5 +0x1.0b70bf95662p+3 +0x1.52bd98536bc1p+2 +0x1.8c46f609fdf2fp+5 +0x1.f3be57c174b71p+5 +0x1.183796e5500adp+5 +0x1.89e9c182101f6p+5 +0x1.425f4ce09a751p+9 +0x1.0240b712f7987p+7 +0x1.c2a520e34bcbp+5 +0x1.02d6ddc3e7961p+5 +0x1.e0d5f483f758fp+4 +0x1.65b9e9b9b15bp+12 +0x1.197b5472557c7p+5 +0x1.ff5bc1b459f63p+4 +0x1.11db6867c9ba1p+6 +0x1.69eed081c6274p+9 +0x1.55ac34226b9ccp+5 +0x1.17e262d9d8a71p+6 +0x1.b64c0abaf041ap+2 +0x1.52bea2d79e196p+4 +0x1.a4c869308cdd8p+4 +0x1.7d0e8c5000348p+5 +0x1.6ef2272c78bf7p-1 +0x1.663c42b827b05p+5 +0x1.8978f7f3f4277p+3 +0x1.34e31bf52a33ap+14 +0x1.a2aa367d59ad1p+6 +0x1.516128dc1b089p+4 +0x1.7dcd8438d2d3ep+16 +0x1.34975e4b2c18dp+6 +0x1.edb4a3bd08f22p+9 +0x1.3496ac835257ap+1 +0x1.f611c9f54c1fap+4 +0x1.0b4ea25f05f12p+6 +0x1.df3e99a6fa157p+2 +0x1.f06ee2bbf118bp+12 +0x1.255510645eee8p+6 +0x1.261be6a003408p+6 +0x1.ad3ca82b97c7dp+5 +0x1.1c42522719d8ap+6 +0x1.d731a9069f0b7p+16 +0x1.1362c78097bfap+6 +0x1.4ed0a6a9cf5d3p+3 +0x1.186bb5e174993p+4 +0x1.e833e2b306464p+15 +0x1.6a5899619d539p+4 +0x1.3ad4bc8edad8cp+6 +0x1.0cb517084d363p+13 +0x1.823739ada75b7p+7 +0x1.324312bd4d504p+5 +0x1.29c2cabca87b7p+2 +0x1.0c21877cbcc74p+1 +0x1.00c1e14b5db3dp+0 +0x1.bec4a3730586ep+1 +0x1.aec8bccc3ee94p+5 +0x1.0ecc7350260fcp+6 +0x1.49aa1f5c26396p+5 +0x1.92d7ac5b57acp+5 +0x1.b8f6ab89e92a7p+3 +0x1.499a22665ebd4p+4 +0x1.12dd212842c06p+12 +0x1.50ad8c1ad5524p+2 +0x1.751e648c00516p+1 +0x1.cc385107a22fp+5 +0x1.508ae7578e8e6p+3 +0x1.691704b0b0b54p+6 +0x1.32cb9bb3b2636p+17 +0x1.22d53f8502a6ap+4 +0x1.ec87b89510573p+1 +0x1.1bd96d34d2b7ap+1 +0x1.f7fa4e39716c3p+2 +0x1.8a75942aeaef3p+18 +0x1.2999b3a4c9c43p+2 +0x1.e42e4d2e648c2p+4 +0x1.89a110916262fp+13 +0x1.0685e12c0a4c8p-1 +0x1.23391bb3b9b01p+6 +0x1.28ae145c7299ep+14 +0x1.7259d91616c8ep+5 +0x1.eaa5f44c5159p+5 +0x1.083aa6d6a76c4p+6 +0x1.73238c8c38fap+5 +0x1.abf07887cc818p+1 +0x1.11c8705e8437ap+0 +0x1.4fce0ff223458p+6 +0x1.eaf21a5168f83p-1 +0x1.e9bafb6e9ed98p+4 +0x1.848cd0a5eaafap+10 +0x1.f33860e4c68a3p+2 +-0x1.8aa1d882f2cadp-2 +0x1.4cdcadaf57041p+4 +0x1.33bcf325130a5p-1 +0x1.6daed590d5439p+2 +0x1.25486387218f3p+7 +0x1.30da9f177d36cp+0 +0x1.476eb427fad53p+4 +0x1.c79e5f9507c43p+5 +0x1.0d373579f9baap+6 +0x1.0e7b9e5706dabp+15 +0x1.299cb268cb65bp+5 +0x1.0b435097c909ep+11 +0x1.163bfd773df11p+6 +0x1.be05583d059e3p+8 +0x1.5b88fbcead85ap+19 +0x1.30e1ec987f261p+5 +0x1.de7332d123dd3p+3 +0x1.651c3fa20de66p+11 +0x1.7fedeee557f16p+4 +0x1.116c07f5bcf03p+3 +0x1.a3f79fb58fef1p+5 +0x1.2934d5287840dp+5 +0x1.1ca92a1afdc38p+5 +0x1.b5302da95b03ap+2 +0x1.808592d3cc168p+11 +0x1.4efe50848eb73p+16 +0x1.606833a5d09bfp+3 +0x1.a89faf997102ep+6 +0x1.b5aa28d397c8p+2 +0x1.0efe7118f9cabp+5 +0x1.d61842f38fb79p+4 +0x1.4905835eeb5dfp+17 +0x1.3c4cb14154794p+16 +0x1.ed2a6cb7513c8p+5 +0x1.1f2ca0a65957cp+5 +0x1.96e7e300b43dcp+13 +0x1.62cf144b06aa2p+8 +0x1.57db6c76c82c8p+0 +0x1.14357e2de40f6p+9 +0x1.080bf85b448a9p+5 +-0x1.664e4c749eae9p-1 +0x1.4d3a7ea001158p+6 +0x1.1ddd6fef703d9p+4 +0x1.21852c1cbfabcp+10 +0x1.c8826fc3ee57dp+9 +0x1.34d8cfbcc9a78p+1 +0x1.653e4f8987fb6p+4 +0x1.09b8eeeab6419p+5 +0x1.095022ce41b4cp+14 +0x1.5483cf7c160d8p+9 +0x1.7b4fdb6dcde28p+3 +0x1.4498ca776884fp+3 +0x1.700cafb6ae70fp+4 +0x1.538ac4f66648ep+0 +0x1.109feda757405p+4 +0x1.c855920eb48d2p+5 +0x1.2c7f92817ae36p+5 +0x1.22e34e659d6ep+17 +0x1.09b518a0e155dp+4 +0x1.2f3a03278634ap+16 +0x1.073d0ef3da56dp+8 +0x1.63be1fa539f5dp+7 +0x1.6db4712296c29p+10 +0x1.fbbeea6e5752p+5 +0x1.483938e3f1525p+5 +0x1.e0d0e2b78fb87p+4 +0x1.40fb1c9e2f984p+5 +0x1.e1abd0863017ap+6 +0x1.913dbdabc43c9p+2 +0x1.6afc273fcb1d3p+12 +0x1.838f5bbbe6be3p+6 +0x1.d80defa758252p+5 +0x1.15cede94ffb7ap+5 +0x1.7bbb2bb893b7bp+5 +0x1.f41990c8bf0c7p+2 +0x1.41b309e86e2b3p+14 +0x1.7cabb0009cbcfp+4 +0x1.f56d77db1a95ep+3 +0x1.2190e29570dfap+5 +0x1.337069abaa71cp+5 +0x1.947e958bab126p+5 +0x1.deaec709f5d06p+4 +0x1.7aa623065a207p+6 +0x1.1d0e181297c6fp+3 +0x1.755ce57b81c8bp+16 +0x1.a7013291eb593p+5 +0x1.10f041dec4ac5p+14 +0x1.34596a4694153p+5 +0x1.9a62677241b7ap+0 +0x1.2b931a69f9cacp+5 +0x1.6f8d87f1fba1fp+13 +0x1.41ddcfebaaf25p+3 +0x1.a0a1ffe1ff6fcp+3 +0x1.3ed22a326f922p+2 +0x1.c51b52bc282cdp+3 +0x1.8c078ecff348dp+5 +0x1.b6311ef89702p+5 +0x1.900b480a08cdep+5 +0x1.9e1ec2dcd61c3p+5 +0x1.0880d123fe224p+4 +0x1.2f5fb7ad4cbbp+13 +0x1.ab18ad2908b2bp+4 +0x1.0e7c6a2c6d99ep+5 +0x1.78dfde067327ep+5 +0x1.4e1d1e868dd52p+5 +0x1.1489e2a972e33p+4 +0x1.097b58d4f74c1p+5 +0x1.26265ac17de15p+5 +0x1.d79dfab716841p+5 +0x1.4b62d71af0b3ap+6 +0x1.8a85ece56ed3cp+5 +0x1.02188788e3d2p+2 +0x1.4f8f3b17cde5p-2 +0x1.0a00eea0efd32p+4 +0x1.a171280b5738dp+4 +0x1.864559176f713p+1 +0x1.32e194831242fp+3 +0x1.70ca56729083bp+5 +0x1.3893c8fc59012p+5 +0x1.2302853276513p+15 +0x1.37dd4bce5e8fcp+4 +0x1.44fd591a2120cp+3 +0x1.fb16e3f9f008bp+3 +0x1.50c565ba0113bp+4 +0x1.7ea751b6684e9p+3 +0x1.0a7199d8c8d32p+4 +0x1.3a403907f9734p+7 +0x1.10a7230338c34p+14 +0x1.c8c5a24cdbdabp+4 +0x1.e018a6d58fc33p+4 +0x1.67109df825ea8p+6 +0x1.1a459b68295bp+4 +0x1.5627739fa2d07p+6 +0x1.586ed37134436p+5 +0x1.475d46192b142p+13 +0x1.5867052ebe27cp+4 +0x1.7ab528636cb9ap+17 +0x1.f73ab5dc0ca7fp+4 +0x1.584cacd66d94ap+6 +0x1.cd83caca2ce53p+5 +0x1.4f1adf5955041p+5 +0x1.e766f8b45585bp+3 +0x1.72acdff436d3cp+13 +0x1.6a85cf430c757p+9 +0x1.2e8a8e73d9cafp+5 +0x1.8c0f58eae62aep+2 +0x1.45480b502516ap+4 +0x1.4d67cc3872444p+4 +0x1.8dc7d18f159edp+6 +0x1.c6b3ec53821e8p+5 +0x1.005969f6dda57p+6 +0x1.714d61262bb6ep+4 +0x1.54c6e45f1a0eap+3 +0x1.69f99d7d71b9ep+6 +0x1.3108d5b7c668p+4 +0x1.65b018cfd5e39p+5 +0x1.96c5b97b20016p+10 +0x1.3275f73955f9p+3 +0x1.226bf0097cf81p+11 +0x1.ab2cfe7b577aep+5 +0x1.ad5f99f607921p+5 +0x1.3d184dec1687fp+6 +0x1.bc27b8179cc2fp+0 +-0x1.28a9e7215a0ep-1 +0x1.b2d997c053048p+11 +0x1.18f020eb7ad4fp+5 +0x1.3424a3d3c5e69p+6 +0x1.4c6f10c9d4b2ep+8 +0x1.7f18b9ce6e6f2p+6 +0x1.018224e3a6bbdp+5 +0x1.74e268191b284p+4 +0x1.11f5b4d06aaeep+5 +0x1.46884c2c19ef9p+16 +0x1.9ed53c1a3f00ep+3 +0x1.8f68e5708631p+1 +0x1.98b22869f9477p+0 +0x1.5584d5e49ea5ep+6 +0x1.1e449dc227a08p+6 +0x1.463e571f71e55p+2 +0x1.1d40a59de0303p+3 +0x1.07b0d5c90c6ffp+3 +0x1.066afd5e10fc2p+5 +0x1.18637734e50cfp+0 +0x1.41a8cd62b7ab5p+6 +0x1.611a63cace92ap+6 +0x1.b2652bf9cb9b7p+0 +0x1.1f42060dde7cdp+4 +0x1.7f3936fdece46p+5 +0x1.d0483aa370b6ap+9 +0x1.52b708d056aa8p+3 +0x1.b669cc3c6e70fp+5 +0x1.cbb8d53a0ba85p+1 +0x1.adf2d430fb463p+6 +0x1.47d4acfa847dfp+3 +0x1.4dbc7b2188cb4p+5 +0x1.afd005a595315p+6 +0x1.16f6b99698879p+4 +0x1.31066e87cb4e4p+0 +0x1.6ae893124b7ccp+4 +0x1.888ec8af33aa1p+6 +0x1.f741b1b00fa11p+5 +0x1.64fe6a57b6aaep+5 +0x1.38374d2280f8fp+4 +0x1.7f62a740b6954p+1 +0x1.96d81f2638a4dp+5 +0x1.27983f657af05p+18 +0x1.78e3eff36b102p+5 +0x1.63b78785de833p+5 +0x1.5f5729988205ap+1 +0x1.d49237c3abb19p+11 +0x1.e80c7ea8d65fap+8 +0x1.5198087fd7e17p-1 +0x1.28ad323681b29p+6 +0x1.cf7315a88415bp+5 +0x1.c109bdb42a40ap+0 +0x1.c7372cbd26e73p+4 +0x1.edc84462c967bp+3 +0x1.4e2ddf66cad63p+5 +0x1.ad76f1f33febbp+8 +0x1.0b680657f0092p+6 +0x1.b0a8ed09cd4eap+10 +0x1.2884c59a27e55p+5 +0x1.1f5287e157adcp+5 +0x1.f0c374f6df66ap+4 +0x1.27e2bddab3955p+2 +0x1.b3dff32d61307p+2 +0x1.8d61725373941p+4 +0x1.500d3cc283465p+10 +0x1.1ece19a73144p+4 +0x1.07dabae440df9p+6 +0x1.ac31a6646b6d6p+4 +0x1.0506e897b0382p+5 +0x1.b3c106fc159ep+3 +0x1.5f24544a13b58p+18 +0x1.0a3bb71c2ec7cp+3 +0x1.91f807004e487p-2 +0x1.c1a63aecf22a9p+4 +0x1.014202b075be4p+5 +0x1.81dec00646a1dp+4 +0x1.68feec72bac55p+18 +0x1.517ccb4307de1p+9 +0x1.cee380d1e111p+2 +0x1.e8cba80d75f18p+9 +0x1.d4fcc2ed1d5dcp+14 +0x1.e331bb19cf52p+12 +0x1.1761ae5d93439p+5 +0x1.26c92da2ab5ddp+4 +0x1.3c86f20a81947p+7 +0x1.c48b52b4740adp+5 +0x1.0bdaf1be1a0a7p+5 +0x1.9d98d8f11e6c7p+5 +0x1.f5a05ece2067p+0 +0x1.454312d63956ep+7 +0x1.0bfb142f636d7p+0 +0x1.0c5cc625287d2p+5 +0x1.e8b6687020c5cp+4 +0x1.96aa3218f1a32p+6 +0x1.31e3fc3fa41e9p+4 +0x1.9eb1bbbf6629ap+4 +0x1.2194baa9d6c43p+6 +0x1.a52440cd3881cp+4 +0x1.b2b4a7e1133dap+5 +0x1.dd4932cd9c9ecp+13 +0x1.be6569c62784ep+4 +0x1.4f6b303d72b7cp+6 +0x1.5449cb934fb26p+5 +0x1.be4ed550fa5e2p+4 +0x1.f7cb35e813ee1p+4 +0x1.1e5bda21e6ef3p+5 +0x1.960a183895f02p+9 +0x1.9f9a49fdd584cp+5 +0x1.dec09f2f9d8e4p+5 +0x1.eab543630fa93p+5 +0x1.0ed151cd46d18p+6 +0x1.b5c49ba8f7d4dp+5 +0x1.fd3aef08c2819p+4 +0x1.46f7e3d0a8b3p+6 +0x1.94da7dbfa71cdp+4 +0x1.c4fe4c102fadfp+6 +0x1.ea091e45c5f5bp+3 +0x1.0782989f54221p+5 +0x1.671e17794725bp+7 +0x1.08d86ff91a19dp+5 +0x1.4eee6a8c24b92p+9 +0x1.0b3d604160ce1p+6 +0x1.c3fa140204e51p+6 +0x1.7db1fdc5e8385p+4 +0x1.13859f85817e6p+3 +0x1.7868ddbfc122p+5 +-0x1.0411c408c6bb2p-1 +0x1.03939183aa367p+3 +0x1.81cb3462dee26p+5 +0x1.681b11f8fa1afp+5 +0x1.b772e3b20457p+3 +0x1.301d767bb8421p+11 +0x1.e7362a6564a56p+5 +0x1.52f8c6b710195p+4 +0x1.04be7160392bbp+6 +0x1.3ed103306a1f3p+5 +0x1.be7c10a7c97fbp+4 +0x1.7ac1c1a482ecep+3 +0x1.944891b5e0842p+3 +0x1.c7e151ba03276p+4 +0x1.abaec2bcacabep+4 +0x1.6cb423cb2424bp+1 +0x1.1f9346605ad63p+13 +0x1.6bdb69b98f367p+5 +0x1.79081c9d05fa4p+7 +0x1.3a54931d77d2ap+5 +0x1.3c573be20b518p+2 +0x1.97e3c69c4966fp+6 +0x1.77944695c26aep+4 +0x1.006e6711f0e44p+3 +0x1.3cd2983f2cd32p+16 +0x1.d327da05d4756p+5 +0x1.a29696a921b29p+5 +0x1.508eddaca048p+2 +0x1.25fbe3ece0a38p+5 +0x1.d65e7c6ff47ap+3 +0x1.156a80248e164p+4 +0x1.14f542e62299fp+11 +0x1.8761c355ab6afp+4 +0x1.65591fe3e1ba1p+14 +0x1.c34242b30a36ap+0 +0x1.2f57d46d7a0fdp+4 +0x1.c27f52ed7f55dp+3 +0x1.fe9fa63f70fap+4 +0x1.4dcfd2cf3f46dp+1 +0x1.eb88ab810fb97p+5 +0x1.9ba7835af8e7cp+5 +0x1.97609d9c36c36p+5 +0x1.cd060e9da380bp+2 +0x1.013b554eb2e7ap+8 +-0x1.4163b6aa525a5p-2 +0x1.a7c550ac59a22p+6 +0x1.d503aef467365p+4 +0x1.148d79aca8b83p+6 +0x1.2c11346fc332cp+6 +0x1.4213f51654772p+6 +0x1.e093a1a305efdp+6 +0x1.f5a6f7f252d83p+4 +0x1.89654ade8e67fp+12 +0x1.d124f25b541adp+3 +0x1.04f8eaf0eafc9p+3 +0x1.4d2d06bc5fcbap+5 +0x1.1b16a19aed77cp+5 +0x1.b7b3e0f641898p+5 +0x1.793ee596316abp+7 +0x1.c7f194e99fb51p+4 +0x1.7d21834973953p+6 +0x1.8cb653a7f77efp+12 +0x1.2dac471a6c746p-3 +0x1.2c02c3535d9e4p+9 +0x1.16c3eba8c054ep+7 +0x1.07426e03566c9p+6 +0x1.57c4ce703c93fp+6 +0x1.e7f6d6c30f21p+5 +0x1.a77d79da4be6fp+5 +0x1.ae264d9af42e3p+4 +0x1.cefc2dab01684p+3 +0x1.23179b7e9a13ep+12 +0x1.f552ceba978fep+2 +0x1.700c7488bdc6cp+13 +0x1.98ad1ac93a955p+15 +0x1.80c2758bb2b0cp+3 +0x1.8ab7ff13278c2p+2 +0x1.be98db3c72ddap+8 +0x1.1119c8e08231fp+11 +0x1.831e800f82d4dp+5 +0x1.7e607445c37f5p+5 +0x1.3e8ac871fe47cp+10 +0x1.75e27d2ba9e92p+10 +0x1.3114c03a50162p+6 +0x1.e5eac9ac7e53ap+4 +0x1.93aa718d96426p+5 +0x1.142bf7b29eea7p+6 +0x1.0658795cc909fp+6 +0x1.7af9b7fff6a11p+1 +0x1.90b7609d7036cp+3 +0x1.fbfd69e24e59cp+5 +0x1.ce31b1c449c71p+2 +0x1.bceba9dab2f56p+13 +0x1.c1b0228f3dc1ap+4 +0x1.dd0bf09100da2p+4 +0x1.3cef2569365b3p+5 +0x1.1001656f75aeap+3 +0x1.3c3124a4158c5p+0 +0x1.b504fb0faca9cp+5 +0x1.798e4c5c72594p+5 +0x1.7de44d7784ccp+0 +0x1.97f7e89c9cee7p+5 +0x1.c5b48e7e7de6bp+3 +0x1.3201c158cac82p+13 +0x1.a8066b05ec7b4p+3 +0x1.722d36ca4e6ep+13 +0x1.006f5857a66abp+5 +0x1.effb0f78f0a9dp+4 +0x1.034abc40dfb5cp+6 +0x1.0879754d71ac3p+6 +0x1.6f6cd83890331p+3 +0x1.dabf794edb8f5p+5 +0x1.e166bde44d4b1p-1 +0x1.a04f060096119p+6 +0x1.61ab85506c656p+5 +0x1.75b6bda07e2c5p+5 +0x1.59b2e6063e0d2p+10 +0x1.1b282abbe4d73p+6 +0x1.25e5f3d61ba84p+3 +0x1.0467c0fc26319p+5 +0x1.3f2ff53c1eca7p+3 +0x1.5093e5a245206p+14 +0x1.476c225f3f035p+6 +0x1.7913cb3df4844p+5 +0x1.fcc8ecd140e46p+11 +0x1.0455a3b9b94f5p+0 +0x1.56532b9b2dff7p+8 +0x1.33a39d4acb4a4p+6 +0x1.a7f31a8689ac7p+2 +0x1.6fe1c0d1a6f58p+0 +0x1.dc1e05c392fc5p+5 +0x1.a28bc6e30ad1cp+10 +0x1.e8fea7339452cp+5 +0x1.9f552671fed5p+0 +0x1.a82db51474d49p+0 +0x1.c9b6896e898b6p+7 +0x1.d4dbc210a865ap+4 +0x1.1f7bae6ee8baap+6 +0x1.9b7a2605f5d0fp-2 +0x1.a44f917a7b536p+13 +-0x1.106e99c86980ap-1 +0x1.3a00c781f5e35p+4 +0x1.1a44d57877c4fp+0 +0x1.990dc8c264518p+6 +0x1.c1692b2fb2562p+3 +0x1.9ff2bd6aeb696p+4 +-0x1.0ed5dfe22129fp-1 +0x1.45f90a1df83cp+6 +0x1.3cb0bee23d704p+6 +0x1.101d4233dadb8p-3 +0x1.4ea2aa655b6a7p+5 +0x1.2a2fe0b004a5ap+6 +0x1.4c20b5d0775f9p+4 +0x1.042b7b6db4899p+4 +0x1.86350309521d2p+5 +0x1.1f8bcd25b4e61p+4 +0x1.2af9967ed9e91p+4 +0x1.6709ef41449p+3 +0x1.c2e56ef10d3f7p+5 +0x1.10015f6368785p+2 +0x1.d9bc3b8ea0d0fp+3 +0x1.e8b65c3d62e41p+17 +0x1.80fe94624c704p+2 +0x1.34a07c99731b2p+6 +0x1.3b83634f44a49p+11 +0x1.d0ac7677b36d9p+4 +0x1.e45db10b5d247p+6 +0x1.b5fee0661669p+0 +0x1.62ce2403060e9p+5 +0x1.b464ab6c45114p+1 +0x1.13dc720547726p+0 +0x1.007e6f257ab9cp+8 +0x1.31eb5ae5c16fep+2 +0x1.1a243f447b74dp+4 +0x1.943698a2c4d02p+6 +0x1.83e5efbd1c5c7p+5 +0x1.88b6f4f196cfep+5 +0x1.0eef256678721p+0 +0x1.1217c28da4f57p+6 +0x1.05a348a565b54p+6 +0x1.b95f30dde44b7p+15 +0x1.cc123b727ae7bp+4 +0x1.d52e3c4808572p+6 +0x1.75fb16b0bb2c9p+3 +0x1.e38868d30d3p+1 +0x1.a10f84526d9dcp+5 +0x1.562a3ad5754f9p+5 +0x1.bd0d8ce976754p+3 +0x1.cdec10c24f619p+6 +0x1.9ab51fa3f881ep+5 +0x1.5ad959ceab9d6p+0 +0x1.c65556f4d5cb2p+15 +0x1.f91314b8de483p+3 +0x1.55fd46f625a72p+14 +0x1.99ffb773d70ecp+1 +0x1.55148a73acbcap+5 +0x1.0a6d27088a2f9p+4 +0x1.38d9d042e125p+6 +0x1.1bd831281c02ap+4 +0x1.131e5b10574f1p+4 +0x1.79dfad7a49723p+5 +0x1.40f42635291a4p+6 +0x1.27fa229fd073cp+9 +0x1.c1edd68907d52p+1 +0x1.2d11d65b32c6cp+6 +0x1.4cb2cdfcacd04p+7 +0x1.d3d1d899ad231p+5 +0x1.fdb9ea8a96f56p+3 +0x1.58dcea70b08dep+5 +0x1.00d91e4e4f004p+4 +0x1.04640486336fp+3 +0x1.1942537eeaf13p+5 +0x1.fc868448685fap+4 +0x1.cf636c3ddabc1p+13 +0x1.31708f091205p+1 +0x1.137c3fd1c62b4p+7 +0x1.c0fab3d75b1afp+12 +0x1.1779ae3994e5ep+6 +0x1.bd97af5bc607cp+4 +0x1.d842e75de5a1ap+5 +0x1.4d106579cc4c2p+1 +0x1.9bf98b3a58ffep+6 +0x1.4e0524e854a12p+1 +0x1.e756eab601dd4p+5 +0x1.1464a49440123p+4 +0x1.9033cc9d4d4aep+6 +0x1.cefd54f463576p+0 +0x1.de87edb761ca7p+6 +0x1.1d353f4195ca5p+5 +0x1.5f677f13af185p+4 +0x1.d6cc6cf6b13f8p+4 +0x1.6d4853448a3b6p+17 +0x1.715618b9d6996p+6 +0x1.403a31a15dfa7p+5 +0x1.7e33cf06bbd0cp+4 +0x1.2aac8c77ba31ep+6 +0x1.0742f4e973fbcp+3 +0x1.2feec23b2548bp+3 +-0x1.320350778be1ep-3 +0x1.e5922c38a3bd4p+4 +0x1.7cef11979565fp+7 +0x1.83bb9444b5cecp+6 +0x1.91fdd995afaa4p+5 +0x1.cee8c872cad0ap+3 +0x1.d7bbc983095bdp+10 +0x1.e97a1e8c0febbp+4 +0x1.29ea94057b415p+7 +0x1.01dc4d94e6a59p+5 +0x1.210bf0739cc32p+2 +0x1.886ff4770f236p+5 +0x1.03131ca1550a4p+5 +0x1.14103d62b4ff2p+5 +0x1.10db8fd36b3cap+3 +0x1.f68bb3042a89cp+5 +0x1.76a80a4639d45p+0 +0x1.e1442c459bcebp+9 +0x1.05a5ba89d77abp+3 +0x1.5d723200c592cp+4 +-0x1.35ce13e724897p-1 +0x1.0711270f9f182p+6 +0x1.fd785ca566903p+2 +0x1.87c5d8dcd10a7p+6 +0x1.55b07e910e877p+2 +0x1.9157a809a0f3cp+9 +0x1.2efb6c573c77dp+5 +0x1.c88d948143d1dp+5 +0x1.99ec30c6caa7ep+1 +0x1.69fe8fc3c746bp+4 +0x1.0931a488f7503p+5 +0x1.de520b1880669p+1 +0x1.5791850524189p+1 +0x1.21c77d2b15153p+6 +0x1.0fbc46c81e97p+17 +0x1.5b67aead53c62p+5 +0x1.e7554eb247364p+5 +0x1.181ce79cb04e7p+6 +0x1.e62fd18064e29p+3 +0x1.97972c764a3a1p+5 +0x1.1787e8b5ad74ap+0 +0x1.f608d94b176cep+5 +0x1.352159df03ef1p+3 +0x1.c0f5c2445cc19p+4 +0x1.2337ecbe06252p+5 +0x1.5eaa615a2a72ep+7 +0x1.d20cb2dda75cp+5 +0x1.2f5a263a6046dp+4 +0x1.2ba5222f4be8dp+3 +0x1.13cf56e097232p+6 +0x1.970c97f70fb71p+3 +0x1.7909fc721fb0ap+6 +0x1.330c0ac8d04cep+3 +0x1.cb2bc1f7946eap+5 +0x1.88b0f9ac4fe86p+5 +0x1.90fe736165ffcp+4 +0x1.e8b512d9db1fep+5 +0x1.6f10bbc2245e7p+6 +0x1.b6d5075d801c3p+8 +0x1.f32d1763596e4p+4 +0x1.5dfb8c6ee9931p+3 +0x1.fb48f6390027dp+5 +0x1.a28bc77ee726ap+5 +0x1.9e1c9150bff33p+13 +0x1.ce48b22816155p+4 +0x1.03c6e9eb10acep+0 +0x1.b211a8d6aac26p+5 +0x1.416b4d1676e12p+2 +0x1.6149b3bd86a3ep+3 +0x1.d100ed1948a1ap+3 +0x1.61663e79ed80bp+3 +0x1.b4d0da3fee87ep+0 +0x1.8c8ace9dba9a8p-1 +0x1.835606b554896p+6 +0x1.2cded7bbc1ecep+5 +0x1.75ce3badedcdcp+1 +0x1.3a836d9add40cp+6 +0x1.6624647ec2a2fp+8 +0x1.9925e06ce5c9cp+5 +0x1.ff0538180e3bcp+6 +0x1.601a3cb3052bfp+4 +0x1.56da93f9c4d19p+4 +0x1.33ca4b7c9cd24p+7 +0x1.af9bbcff99db2p+1 +0x1.669a761a7a419p+6 +0x1.9766712490913p+5 +0x1.28a26e59b6c61p+5 +0x1.8fde4f74ac754p+4 +0x1.1b1755023499fp+3 +0x1.5f2d16197858fp+4 +0x1.905960501f6f1p+4 +0x1.8a3375aff2096p+5 +0x1.280cb23b1f898p+5 +0x1.6768eca2c8beep+2 +0x1.12793ac3415e2p+16 +0x1.47279abdad5c9p+5 +0x1.7fe60f0c9f78fp+5 +0x1.6bfb619427f06p+3 +0x1.bf0e7c75e12abp+5 +0x1.208f777647ad9p+16 +0x1.cca7a57a1f1dbp+3 +0x1.9be25a1ab30bcp+1 +0x1.738b084c63695p+5 +0x1.7c2cd778347acp+13 +0x1.0463ef8420bcp+5 +0x1.127ac93c18d74p+4 +0x1.b50fb5e450d8bp+4 +0x1.b8e9a9ed6a9ap+12 +0x1.4833cb6d7fe41p+1 +0x1.3115519d70c08p+5 +0x1.f515528e7fbebp+14 +0x1.0ed7030faaed6p+4 +0x1.2186509bfed52p+3 +0x1.c98f66a5aaa26p+4 +0x1.54009fa02609p+15 +0x1.95d3cde0a31bp+4 +0x1.b2d03d08af8cfp+6 +0x1.72efcc30602f8p+5 +0x1.3b404b31ab4ffp+6 +0x1.d8f47887f809ep+3 +0x1.d9adefb8cfe7fp+5 +0x1.07c57018f09dbp+6 +0x1.5fed78fab059ap+4 +0x1.bb6c21e37a705p+4 +0x1.4e509f2ddd3eap+6 +0x1.3111eb07b4abep+12 +0x1.d819029d45a1dp+14 +0x1.ce8e41b0fa565p+8 +0x1.cc8e46b3a62d4p+3 +0x1.744e6492ba3bp+7 +0x1.beba2a6059febp+6 +0x1.1d6c17eb3117bp+6 +0x1.bfdae1aecb9b2p+3 +0x1.089ac0abc7152p+8 +0x1.77f3a240ddb0fp+1 +0x1.35fb541c1772bp+4 +0x1.9d26dfb67ee3ap+4 +0x1.e38b7db855fdfp+3 +0x1.9597ef4dfc627p+11 +0x1.53260d7c7d9e8p+5 +0x1.1d1603effc9cep+5 +0x1.3dcdaffb7a339p+14 +0x1.49d13332af0e4p+2 +0x1.2ca7953f8d582p+11 +0x1.28eb17226adap+6 +0x1.528afbaf16064p+5 +0x1.71adb9ebdaec1p+4 +0x1.bb9be1080ec43p+5 +0x1.06aaae7f21573p+5 +0x1.3b24c12afdf11p+7 +0x1.da1b727a4b919p+5 +0x1.12b832a71c351p+5 +0x1.2a49ec57f64c1p+5 +0x1.b303d14c130f8p+0 +0x1.355ec9b3ded97p+4 +0x1.0daf739f101dcp+1 +0x1.efb0b89bb4bd1p+5 +0x1.24a4ca015ca1cp+5 +0x1.7ca0ffbfdc0a7p+4 +0x1.121b77783d4a9p+6 +0x1.3b6f78ece7583p+16 +0x1.d8846267540cfp+3 +0x1.3845f9ca690a2p+5 +0x1.ec72b181e5995p+4 +0x1.98ef4afc39564p+5 +0x1.ba65c2e56613ap+5 +0x1.abd3f9918e1f4p+1 +0x1.28952e4f80d01p+5 +0x1.08a1f75d8c0d9p+5 +0x1.80d87869154d1p+4 +0x1.68f9419af92a8p+0 +0x1.1eab6c46e82d6p+12 +0x1.eb1fd5a5cfe61p+0 +0x1.1bbd5535d786ep+11 +0x1.5b25724baf8a2p+1 +0x1.ecb5ed50ce471p+5 +0x1.50e366ab2209bp+4 +0x1.34c3145cb9a59p+11 +0x1.7d4a420140e37p+2 +0x1.ca89becbbba7cp+3 +0x1.fd0c91fccf90dp+4 +0x1.758f8be28ce87p+6 +0x1.a81604b9d509bp+5 +0x1.12d65e5000d2ep+6 +0x1.08ea5b0a3ef88p+6 +0x1.ca86b64c4c5bp-2 +0x1.2f7b6bf9153ep+3 +0x1.7ddc9ee31441fp+14 +0x1.4ce6e650eb20ap+5 +0x1.75fa2b2a72077p+4 +0x1.fd64ac8dd73b9p+4 +0x1.cfcf141acd645p+7 +0x1.7c24d93c51427p+5 +0x1.5bce158e7a5bfp+3 +0x1.67f9a7184783p+5 +0x1.798914fd2a81ap+4 +0x1.4a1ad623dc468p+12 +0x1.fb26aa40b697ap+6 +0x1.02d01b349cddp+6 +0x1.0837d65edad21p+5 +0x1.bd7be981f5886p+5 +0x1.153baa9175ad9p+4 +0x1.588d6b1e7b8c7p+13 +0x1.069b81bfadc3ep+5 +0x1.036d9a1137bffp-1 +0x1.4368511023abap+3 +0x1.2f7b9fd70d804p+6 +0x1.c6fecaf0e374ap-3 +0x1.354465b276603p+8 +0x1.6ad37c3fd7fb6p+3 +0x1.a22ed1b121bd6p+3 +0x1.74228e523aec4p+5 +0x1.aa64c1b4a20b9p+9 +0x1.fc38791ba0d8dp+10 +0x1.338a828698f0dp+14 +0x1.c580589e34fd5p+1 +0x1.946053fca3e54p+4 +0x1.33d6725e5a319p+6 +0x1.0099f547bd24fp+4 +0x1.24d88e06c42bfp+6 +0x1.383f14435499cp+6 +0x1.e988a1ecd6202p+4 +0x1.c7c324c063607p+5 +0x1.cd1cb30f4bb8bp+3 +0x1.61108f5d61236p+1 +0x1.374b70a7a3ce3p+5 +0x1.56b35a59095f3p+6 +0x1.6917dcd7619b9p+5 +0x1.a196783c1b44p+5 +0x1.3030423055e8ap+3 +0x1.1530f668e208fp+17 +0x1.8f93c8f31c804p+18 +-0x1.ffa25c6b68846p-2 +0x1.9ca244a44867cp+6 +0x1.568c0ee31393cp+6 +0x1.7711e548376fbp+5 +0x1.de212e1193e96p+4 +0x1.344a62c0f9309p+6 +0x1.ca02e8158b6cbp+1 +0x1.6112e1a289272p+5 +0x1.22226154a0174p+7 +0x1.a81dc04b4ccf5p+2 +0x1.7c6e82d97853p+5 +0x1.fe75216ca8952p+14 +0x1.44098dddeef74p+3 +0x1.68807f8a1ba19p+6 +0x1.6fa9f12814eaap+1 +0x1.2589c3617e35cp+3 +0x1.280cea99aa3dcp+4 +0x1.834e75bafd516p+0 +0x1.3838b884b8e18p+5 +0x1.bc5d2255d67f9p+9 +0x1.e9c324d413aa4p+3 +0x1.bf03295e666fcp+3 +0x1.e267105ffee2ap+4 +0x1.3913890b2ec44p+4 +0x1.021dcae9c46f6p+6 +0x1.c535c8a21ab46p+10 +0x1.20de3e4c94d2p+6 +0x1.f9759b72b0ed6p+10 +0x1.cbd2fa0a3c74p+5 +0x1.a9b447ec679eep+5 +0x1.37f3857739573p+5 +0x1.1f9056d90475fp+6 +0x1.c3cd73d39e51fp+15 +0x1.594c5e37c4789p+8 +0x1.6ed910ca1c0f5p+6 +0x1.deb316a7fbb62p+6 +0x1.1b7a0213cdd07p+6 +0x1.61b883c551559p+2 +0x1.a42ecd899f963p+3 +0x1.2337622f0fb64p+11 +0x1.15ed0e9dd7355p+4 +0x1.9fc2025c2794p+3 +0x1.acd717d407fcdp+4 +0x1.7f9e36c2e2becp+17 +0x1.4c3ab31c4365bp+2 +0x1.17c0446900e57p+7 +0x1.045a5ac15ed55p+1 +0x1.602e4db4c47d7p+11 +0x1.5138edff83cadp+11 +0x1.41cf9175b2845p+5 +0x1.228427fe887e4p+3 +0x1.a929bffbdd4a7p+5 +0x1.73bb6c33e9f42p+5 +0x1.c47e2f994f817p+12 +0x1.37e681c69d965p+6 +0x1.6e0254dd048afp+5 +0x1.83dff3005abc9p+4 +0x1.4ee45bded96dcp+6 +0x1.9f660a03c2976p+10 +0x1.e904c2cf1d864p-2 +0x1.9c5517900452bp+1 +0x1.5a431ca7c9987p+6 +0x1.6319838f48df7p+4 +0x1.4a004aa939aecp+5 +0x1.1903e24ca7a27p+5 +0x1.2e344dbd52773p+2 +0x1.1ba4a1bb7278dp+8 +0x1.c60786682fbbcp+5 +0x1.ad2f314a7e01cp+4 +0x1.773b1b1734c02p+6 +0x1.3f0467c9f70c8p+5 +0x1.0283c5fa97637p+17 +0x1.13f903fcafb9dp+3 +0x1.6a4946d73f919p+5 +0x1.a226c1f663655p+5 +0x1.44c7591d50475p+0 +0x1.8ecb274310fd3p+4 +0x1.c5b9699213618p+2 +0x1.e4e611a9d9dcp+3 +-0x1.8b1a7815725e4p-1 +0x1.3cb07dcb0228bp+1 +0x1.06d5c4587023cp+5 +0x1.f33a48b583c4fp+14 +0x1.5f005c1901959p+3 +0x1.82bc7bbef15ap+4 +0x1.5d7be71f89e6ap+11 +0x1.08911f006147bp+4 +0x1.6657cc30c8067p+3 +0x1.269a1abf4d406p+7 +0x1.537014c90699cp+2 +0x1.fdd2978f25a57p+3 +0x1.e97c8058bdcbdp+8 +0x1.e8b68c5949c01p+4 +0x1.bd5f433a66a98p+0 +0x1.1719e51161d5ep+6 +0x1.2f55468fd9273p+6 +0x1.99609bf5fd8cp+0 +0x1.ab2d8d2eba9cbp+6 +0x1.f913114a7691bp+5 +0x1.4aba95a15d3fap+5 +0x1.623c2c3d80f43p+6 +0x1.42c7ee7159fb3p+5 +0x1.b4343256cb875p+9 +0x1.acf04ebc5306ap+5 +0x1.fd39490b1f9cfp+2 +0x1.27ec93e99717ap+5 +0x1.18b15758ae2e3p+14 +0x1.6bf5f91b64e39p+4 +0x1.2bb6e15c46ecp+5 +0x1.d485abb4fa8d5p+1 +0x1.85f93e515c8b6p+3 +0x1.caa15212025a6p+5 +0x1.b364459dd87b2p+1 +0x1.f80622081091bp+2 +0x1.37a1c465ccf66p+7 +0x1.bcb368cb82c44p+5 +0x1.32d0457292e6dp+19 +0x1.30641ef3e9359p+4 +0x1.7f75fe10cee75p+1 +0x1.7356dee611df5p+2 +0x1.e890d5243fa09p+3 +0x1.182ec24b8bfecp+4 +0x1.06171e94072f2p+11 +0x1.2f132d562f8b9p+5 +0x1.0d3a2a2161945p+16 +0x1.610da76598f92p+6 +0x1.31e42c26c6f54p+9 +0x1.25766ff02f1b7p+6 +0x1.f4fc05488722p+12 +0x1.37107a4ed191fp+8 +0x1.aec1b75153b4ep+3 +0x1.9543ea716ce06p+4 +0x1.dc44e5f27eb71p+4 +0x1.cbd0518823301p+4 +0x1.6f5f0d19ab7c9p+3 +0x1.f9b8f2a4c5bf1p+0 +0x1.5a0cf6fe01151p+5 +0x1.26b886b3baf7dp-3 +0x1.fa14dd372d385p+5 +0x1.1351c1b4325d9p+5 +0x1.5d1726d82ea42p+5 +0x1.f0d816b072121p-3 +0x1.c7fef8f6f33d9p+4 +0x1.346af0dff6941p+5 +0x1.42ebf7f4c659ep+5 +0x1.4813f81681e26p+4 +0x1.483ca032e8f29p+1 +0x1.841c945788daep+6 +0x1.5aec816a9f6f7p+4 +0x1.1b32bb59658fcp+5 +0x1.02c8e7b83cfc1p+5 +0x1.3cb4d43bb77b6p+5 +0x1.ab99208e9f3ffp+4 +0x1.4e7fcccb925d4p+6 +0x1.cf946de52f3b8p+5 +0x1.4176b37174e36p+5 +0x1.92afcd50ed581p+2 +0x1.f2f4617a9ace2p+14 +0x1.3a80498a307fbp+5 +0x1.cdfedfbb85e63p+4 +0x1.eb327bd8e785cp+3 +0x1.fd2074cbf06cep+5 +0x1.85af336883ccap+2 +0x1.6fc19549f27dbp+6 +0x1.ee1ed28891836p+4 +0x1.71bb1d96907p+7 +0x1.26a317922d454p+6 +0x1.6d550162ff57bp+17 +0x1.fbf0aeeb7abc3p+5 +0x1.d139c5a65d054p+0 +-0x1.01ad6809911fdp-3 +0x1.a94e1ed2616cp+5 +0x1.5b2c687a58c53p+5 +0x1.e3e808c8578cep+4 +0x1.6d6418cfb5da9p+5 +0x1.77a7744c77a86p+5 +0x1.6610700c35747p+3 +0x1.776f553367afp-3 +0x1.707c23b92c5f6p+3 +0x1.bfd1fb92b59fbp+3 +0x1.63ad56793c97cp+3 +0x1.2e2c6d7de07cfp-3 +0x1.9de163e5b19f6p+5 +0x1.3228860ec44ap+8 +0x1.2aea35ee3d61ap+15 +0x1.2957af6e73259p+6 +0x1.57c9f96fa9eb9p+1 +0x1.ef0c86069ae01p+3 +0x1.03e162f63402cp+3 +0x1.8283322a03cfcp+17 +0x1.05a00b32da8bdp+1 +0x1.1608c96f4ba11p+6 +0x1.e39c3803fb1e7p+4 +0x1.d1713ec4064acp+5 +0x1.18d5ba1ad43dep+18 +0x1.113f81385dcf6p+6 +0x1.d05449cf666b8p+14 +0x1.229951a0a696fp-1 +0x1.89f5d480dfbdep+1 +0x1.10825bc74a3ap+2 +0x1.21648acf7f62bp+6 +0x1.26cb363695381p+6 +0x1.9b8546d7a8a95p-1 +0x1.5d1cfb209498bp+8 +0x1.1b8d1b7a3ec8bp+12 +0x1.30e48a44d3672p+0 +0x1.aac52e775623fp+11 +0x1.109186ba5a7bcp+5 +0x1.0f1446a085919p+5 +0x1.411f1d637729bp+13 +0x1.0c7b090be71ebp+0 +0x1.2e45684d261cep+4 +0x1.b8ef25fff8f3ap+5 +0x1.3044914f7b4aap+4 +0x1.a9780d9864527p+5 +0x1.53849e7521ab6p+5 +0x1.5baa094256353p+4 +0x1.87874001068f7p+6 +0x1.b8ecbe246fc1ep+3 +0x1.34cba8f7d02fep+5 +0x1.9d791ccfe78c8p+4 +0x1.435a99f98959cp+11 +0x1.10d06e23ce83cp+5 +0x1.a7ef0622ed6c2p+1 +0x1.53505eaa6ff07p+1 +0x1.706e6b42619cp+4 +0x1.7fe7ff65a212bp+5 +0x1.ce98b9ef02f66p+5 +0x1.a5a94ab67a1bcp+5 +0x1.8f6cfb8a08e17p+4 +0x1.d435c559769p+4 +0x1.51f2904385ef1p+6 +0x1.5a65bd5728c82p+4 +0x1.5ffb99925a46cp+4 +0x1.1bf0e7f8eda81p+0 +0x1.33715eced389cp+3 +0x1.04a6487eac3efp+5 +-0x1.11390c8b29471p-1 +0x1.c8b09fbcbe982p+5 +0x1.172bb6997ef8fp+5 +0x1.b53581e25be1ap+3 +0x1.ee7847b510cafp+3 +0x1.1bf86df66953ep+5 +0x1.937b347084aa4p+2 +0x1.82909b0d1578cp+2 +0x1.7094509727687p+3 +0x1.79aa67dd17618p+2 +0x1.27c86e3a5e8cep+6 +0x1.108d28d3e3abbp+5 +0x1.74fc1b9795a26p+17 +0x1.524e5b54fb382p+5 +0x1.4a423b8afb8e2p+6 +0x1.76c32201bca18p+6 +0x1.0e9e8613d3028p+6 +0x1.e9db4bd47474ap+4 +0x1.3e862d07ccdf8p+5 +0x1.55cdb25df280fp+6 +0x1.2a67e5205bb1ep+9 +0x1.4a4f97e88efc1p+10 +0x1.0bdd6ffa7ba8fp+5 +0x1.65f3750060967p+5 +0x1.41150cdab4b24p+6 +0x1.1c71f23cee307p+6 +0x1.e88d91e18eb38p+3 +0x1.34bef83ba4731p+1 +0x1.52feaa5cee58fp+4 +0x1.9c6b4d02ddf75p+16 +0x1.18b71730b7d17p+0 +0x1.e754b4f2b82a1p-1 +0x1.328365ad855cep+18 +0x1.8e33c04e632bcp+4 +0x1.35fa2d6f577cp+5 +0x1.a68096737e3e6p+3 +0x1.4f2aa2e63c10fp+5 +0x1.e13d967ff91fep+5 +0x1.2f247c5dcf902p+10 +0x1.38ca294b8f702p+6 +0x1.21bd20479f38ep+6 +0x1.124031ee91ef2p+5 +0x1.3e0d6673b0847p+17 +0x1.b5fd0a6ff8a91p+3 +0x1.893a840cfd8bfp+16 +0x1.51605648bec2ep+5 +0x1.80cb1b9765bccp+5 +0x1.96fbd11c84902p+5 +0x1.349e11adcc85ap+4 +0x1.805e23702cp+5 +0x1.17f7d0cf47f39p+10 +0x1.47994ba91d451p+6 diff --git a/sysdeps/x86_64/fpu/libmvec-log1pf-inputs b/sysdeps/x86_64/fpu/libmvec-log1pf-inputs new file mode 100644 index 0000000000..664e1cebbb --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-log1pf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-1, 3.4e+38), mean = 0, standard deviation = 50 +0x1.49137ep+5 +0x1.0c38e6p+3 +0x1.25be58p+5 +0x1.b3623p+6 +0x1.e3cf04p+4 +0x1.40f2c6p+6 +0x1.287092p+2 +0x1.fe3c3cp+1 +0x1.1305bp+13 +0x1.7ba5ecp+6 +0x1.2c2fd2p+18 +-0x1.531a74p-2 +0x1.c046dap+4 +0x1.df50b6p+4 +0x1.48468ap+5 +0x1.549decp+5 +0x1.6f8d1ap+5 +0x1.30b3a8p+5 +0x1.b8b7b4p+4 +0x1.1afe8ap+4 +0x1.6fef6ap+4 +0x1.537b28p+11 +0x1.f7437ep-2 +0x1.b96f5cp+17 +0x1.122b5p+6 +0x1.69f61ep+4 +0x1.a22ce2p+17 +0x1.1976bp+3 +0x1.24512ep+6 +0x1.5b326p+9 +0x1.07ccp+0 +0x1.35b886p+3 +0x1.2d832cp+6 +0x1.f003ecp+2 +0x1.0ef994p+5 +0x1.159f8ap+5 +0x1.cea02ap+5 +0x1.007622p+6 +0x1.176bdep+3 +0x1.3a4ed8p+5 +0x1.846092p+5 +0x1.5a512cp+7 +0x1.e5e844p+4 +0x1.d09beep+4 +0x1.a9b6fap-1 +0x1.41cd82p+3 +0x1.702204p+1 +0x1.da0aacp+4 +0x1.a5423ep-1 +0x1.66fd02p+5 +0x1.82fdfp+3 +0x1.fbeb92p+2 +0x1.6073acp+3 +0x1.564accp+11 +0x1.8ae54p+5 +0x1.bd2628p+15 +0x1.807636p-1 +0x1.a1231ep+4 +0x1.2cfd92p+6 +-0x1.cd752ap-7 +0x1.87322p+2 +0x1.93369p+2 +0x1.1e3102p+5 +0x1.4d95c6p+4 +0x1.449c66p+9 +0x1.dab83ap+4 +0x1.2f5aecp+5 +0x1.17d06cp+1 +0x1.1b9514p+5 +0x1.2a32d8p+3 +-0x1.7e452p-2 +0x1.2205eep+5 +0x1.158bd2p+9 +0x1.05a98cp+7 +0x1.d14108p+0 +0x1.966b66p+6 +0x1.69a1f6p+6 +0x1.1b64dep+5 +0x1.76588cp+5 +0x1.c4cfd6p+2 +0x1.a35e7cp+2 +0x1.634c2ep+6 +0x1.5aa246p+3 +0x1.5b6906p+4 +0x1.0c8024p+15 +0x1.4d3324p+6 +0x1.de54aep+4 +0x1.b8ab2p+4 +0x1.7a9b6ap+3 +0x1.8c894cp+3 +0x1.081b9ap+5 +0x1.21dfe2p+6 +0x1.7193ep+9 +0x1.d3f124p-1 +0x1.23738cp+5 +0x1.e93b12p+3 +0x1.2cce46p+6 +0x1.0dc1bcp+6 +0x1.0891c4p+6 +0x1.275b18p+4 +0x1.03d6eap+3 +0x1.0bf6bap+6 +0x1.4b369ep+10 +0x1.40ee44p+4 +0x1.c4464ap+11 +0x1.1e07fep+18 +-0x1.275e8cp-2 +0x1.da934p+3 +0x1.ee7c6cp+14 +0x1.eec04p+17 +0x1.954aa8p+6 +0x1.34b9a4p-2 +0x1.8d6d9cp+6 +0x1.91cd38p+4 +0x1.c908ccp+5 +0x1.6a1b28p+4 +0x1.e7a27p+4 +0x1.cc69bp+0 +0x1.fd1444p+0 +0x1.a68b5ep+4 +0x1.ee84f8p+4 +0x1.ef859ep+3 +0x1.1c229p+5 +0x1.91df06p+17 +0x1.4ecf82p+6 +0x1.21cecep+3 +0x1.167f76p+3 +0x1.1c7168p+2 +0x1.e21cb4p+5 +0x1.14233cp+16 +0x1.e81cd2p+0 +0x1.ad3a84p+15 +0x1.7603acp+5 +0x1.023d1p+4 +0x1.2d2ffp+7 +0x1.24ac08p+4 +0x1.8ee4cap+6 +0x1.ce6d7ap+5 +0x1.86189cp+16 +0x1.101136p+11 +0x1.fd89fcp+3 +0x1.98631cp+8 +0x1.fda986p+3 +0x1.2ee51ep+5 +0x1.cfbd74p+10 +0x1.e743d2p+5 +0x1.f3565p+11 +0x1.49ebb8p+1 +0x1.11c274p+3 +0x1.db4b92p+5 +0x1.0e3852p+5 +0x1.062774p+5 +-0x1.7bfdfep-1 +0x1.40296cp+6 +0x1.8515c6p+12 +0x1.810ce4p+6 +0x1.f5afb8p+5 +0x1.6df9c6p+6 +0x1.da73c8p+5 +0x1.2a6c78p+2 +0x1.4a4e9ep+14 +0x1.5f45fp+2 +0x1.dc6dfap+5 +0x1.5df7ap+5 +0x1.6effbep+9 +0x1.1e52a6p+0 +0x1.27a39p+6 +0x1.8636dap+12 +0x1.d29c28p+3 +0x1.79efaap+5 +0x1.613bfap+5 +0x1.5a9a56p+2 +0x1.eaed3ep+2 +0x1.53d878p+3 +0x1.1e8858p+5 +0x1.0a9bfcp+2 +0x1.3dd0b4p+13 +0x1.0e97d4p+5 +0x1.8f542ap+1 +0x1.0641e8p+16 +0x1.1798bap+5 +0x1.2d826ep+5 +0x1.685442p+5 +0x1.ef0bdap+6 +0x1.95a798p-2 +0x1.c2846ap+5 +0x1.942174p-3 +0x1.c0fe04p+2 +0x1.6f0642p+6 +0x1.36bf8ap+15 +0x1.90133ap+5 +0x1.ec2e76p+5 +0x1.046fcep+5 +0x1.0b794ep+19 +0x1.9be11cp+6 +0x1.8c51e6p+3 +0x1.d2bfa4p+3 +-0x1.5a5cb2p-2 +0x1.d55578p+3 +0x1.10d0e4p+12 +0x1.4f4256p+6 +0x1.8df704p+2 +0x1.3bc2b8p+4 +0x1.b690eep+5 +0x1.7bf08cp+6 +0x1.4b2a74p+3 +0x1.3242e4p+5 +0x1.29ce2ap-2 +0x1.1cb236p+5 +0x1.f4858p+5 +0x1.0ef5d4p+6 +0x1.b9965ap+5 +0x1.301508p+6 +0x1.a553cep+5 +0x1.ba181cp+4 +0x1.0550cap+4 +0x1.b58e8ep+12 +0x1.787c3cp+5 +0x1.f172ecp+6 +0x1.23a18ap+14 +0x1.9f27b6p+0 +0x1.30b412p+13 +0x1.f0e41p+0 +0x1.edd6f2p+3 +0x1.96c312p+14 +0x1.1358dap+7 +0x1.1cb3aep+1 +0x1.069538p+5 +0x1.666028p+4 +0x1.60c8ccp+0 +0x1.2de538p+5 +0x1.b567cp+5 +0x1.0fe0fcp+5 +0x1.cd0cb6p+5 +0x1.3dd37cp+4 +0x1.3e13fap+7 +0x1.6e4648p+10 +0x1.6ddb84p+6 +0x1.6a99c6p+4 +0x1.219becp+4 +0x1.8e2ea2p+5 +0x1.104fecp+5 +0x1.4710e8p+4 +0x1.8581eap+4 +0x1.a3533cp+4 +0x1.921f7cp+6 +0x1.0f3294p+5 +0x1.3c19bp+18 +0x1.ef70eap+4 +0x1.b544ecp+4 +0x1.444bf6p+2 +0x1.037782p+6 +0x1.f5ea9ep+5 +0x1.a1c64p+4 +0x1.7b2de2p+5 +0x1.049a82p+14 +0x1.cf09c4p+13 +0x1.67aaa6p+9 +0x1.293b94p+4 +0x1.596bbcp+4 +-0x1.b5df48p-1 +0x1.44ae16p+2 +0x1.2cfc72p+4 +0x1.22864ep+6 +0x1.91a522p+3 +0x1.b4b236p+8 +0x1.7e3962p+8 +0x1.f23e62p+5 +0x1.fb6a92p+3 +0x1.2fe69ap+3 +0x1.419e76p-2 +0x1.ba5dbp+5 +0x1.e56866p+4 +0x1.55a0c8p+5 +0x1.1594a2p+6 +0x1.d77d46p+5 +0x1.62eb3p+3 +0x1.3e3e74p+6 +0x1.bad81ep+7 +0x1.a7195cp+0 +0x1.668de4p+4 +0x1.ada4aep+6 +0x1.a42292p+6 +0x1.6a93a8p+6 +0x1.94ec06p+4 +0x1.8f41d2p+3 +0x1.e3506ep-2 +0x1.77c4acp+6 +0x1.03a312p+4 +0x1.0a9a24p+0 +0x1.00029p+4 +0x1.60b90cp+2 +0x1.a64be8p+2 +0x1.35ed2p+5 +0x1.617154p+3 +0x1.0b9f58p+0 +0x1.ec9cfep+5 +0x1.40e6fp+6 +0x1.2da568p+4 +0x1.01ae2p+2 +0x1.05d3d8p+11 +0x1.0f4e9p+6 +0x1.9c5d4ap+3 +0x1.513ef4p+13 +0x1.c89dfep+6 +0x1.d0115cp+4 +0x1.2ac268p+4 +0x1.12520cp+10 +0x1.603998p+1 +0x1.8f7846p+3 +0x1.a5e5bp+6 +0x1.9df5dcp+5 +0x1.ca42b2p+2 +0x1.7fa69ap+6 +0x1.8ed812p+3 +0x1.52fb3ap+6 +0x1.deb554p+8 +0x1.dbc2acp+5 +0x1.e8fb7ap+2 +0x1.e32532p+3 +0x1.8531dp+9 +0x1.cb7aaep+4 +0x1.2e561cp+5 +0x1.7f87c8p+5 +0x1.28496cp+6 +0x1.9cd186p+4 +0x1.399a5ep+7 +0x1.dd0beep+3 +0x1.d096c6p+2 +0x1.3f24cap+4 +0x1.d332a4p+5 +0x1.43d108p+6 +0x1.d98c1p+3 +0x1.0e6406p+1 +0x1.08017p+11 +0x1.aeec0ap+3 +0x1.346472p+5 +0x1.a9f3dp+3 +0x1.f258dcp+0 +0x1.22cc36p+4 +0x1.c31654p+8 +0x1.0e68e8p+15 +0x1.98899ap+4 +0x1.8000dep+0 +0x1.3c6046p+1 +0x1.9c6812p+5 +0x1.deb5bap+4 +0x1.0feef8p+19 +0x1.c685bap-4 +0x1.8886e4p+6 +0x1.6239c2p+5 +0x1.91501cp-3 +0x1.d2c108p+17 +-0x1.a0c4aep-2 +0x1.02fc8cp+6 +0x1.924f9cp+4 +0x1.10d092p+2 +0x1.8166dap+18 +0x1.430a8p+6 +0x1.e64732p+5 +0x1.fe488p+11 +0x1.d4a2dep+11 +0x1.6cfdaep+2 +0x1.19515ap+5 +0x1.888784p+5 +0x1.5d3522p+10 +0x1.deac3ep+8 +0x1.a7c7a6p+4 +0x1.e759e4p+4 +0x1.2d6c2ap+6 +0x1.1a70acp+4 +0x1.ac5dc8p+5 +0x1.c9818p+10 +0x1.68ac5ep+6 +0x1.077878p+5 +0x1.5db32cp+4 +0x1.a108d2p+4 +0x1.ae6ad6p+6 +0x1.a2d3eep+5 +0x1.6a1946p+9 +0x1.002142p+10 +0x1.c249b2p+3 +0x1.051332p+9 +0x1.2fef3cp+4 +0x1.7f1a08p+5 +0x1.64102ap+5 +0x1.9f7ca6p+4 +0x1.980f22p+5 +0x1.6bf62ep+6 +0x1.a9c3cap+1 +0x1.12332ap+3 +0x1.1d75bap+4 +0x1.2c1a64p+5 +0x1.8c0a24p+6 +0x1.0a90dp+10 +0x1.441518p+4 +0x1.5fcb3p+5 +0x1.c08c84p+5 +0x1.7c70c8p+16 +0x1.2fe5f8p+5 +0x1.83edcap+6 +0x1.c53c9p+2 +0x1.31c1d4p+6 +0x1.a64aa2p+5 +0x1.0c396ap+3 +0x1.587624p+9 +0x1.0a3686p+5 +0x1.a11686p+4 +0x1.722af2p+5 +0x1.ad5378p+7 +0x1.08bc22p+5 +0x1.b1173cp+4 +0x1.c9001ep+4 +0x1.a54f68p+17 +0x1.ad9a6ep+3 +0x1.d6bbd4p+1 +0x1.8b8c28p+7 +0x1.89c45p+4 +0x1.402624p+2 +0x1.3fe2aep+7 +0x1.89582cp+0 +0x1.66f13ep+4 +0x1.26bcf4p+5 +0x1.2ec3e4p-1 +0x1.df7194p+3 +-0x1.cc0ab8p-1 +0x1.d4ccp+3 +0x1.dc5ac2p+5 +0x1.744f84p+4 +0x1.474484p+2 +0x1.61a966p+5 +0x1.933ecep+4 +0x1.8ace2cp+3 +0x1.8c898ap+2 +0x1.b8c0acp-1 +-0x1.38fe6cp-5 +0x1.752c2ap+5 +0x1.2fdef4p+4 +0x1.bc5d4cp+2 +0x1.2ccb04p+3 +0x1.216914p+5 +0x1.c8e27p+4 +0x1.7d813cp+16 +0x1.8104ep+5 +0x1.1e1c5cp+4 +0x1.4d62d6p+5 +0x1.1fca28p+4 +0x1.97a858p+8 +0x1.1013c6p+5 +0x1.426c82p+17 +0x1.cdb2cap+3 +0x1.f9d94ap+5 +0x1.23fcaap+3 +0x1.c7de4ep+11 +0x1.8c6d6ep+5 +0x1.237c02p+6 +0x1.7e64f2p+4 +0x1.03445ep+4 +0x1.38a9f8p+4 +0x1.feaf76p+11 +0x1.90aee8p+11 +0x1.f76bdp+6 +0x1.4da62p+0 +0x1.55cb2cp+5 +0x1.1e35b8p+5 +0x1.58d7bp+6 +0x1.35c7f4p+16 +0x1.f7cdc6p+2 +0x1.9ae35cp+0 +0x1.99c6acp+5 +0x1.b1df7ep+0 +0x1.2f8b44p+12 +0x1.9f2dcp+4 +0x1.16bf9cp-2 +0x1.01d554p+12 +0x1.cc0758p+16 +0x1.692ebcp+5 +0x1.dcc878p+5 +0x1.77da22p+5 +0x1.393766p+5 +0x1.e34a52p+5 +0x1.347b3ep+6 +0x1.6406a8p+3 +0x1.63a21ap+5 +0x1.978b98p+18 +0x1.667ab8p+5 +0x1.6f5ef6p+6 +0x1.6cdce8p+5 +0x1.4d9ef4p+4 +0x1.967a74p+8 +0x1.2744fep+3 +0x1.1908eep+13 +0x1.e2ca4cp+4 +0x1.4e29b6p+8 +0x1.739cd6p+18 +0x1.14c30cp+6 +0x1.0727f6p+5 +0x1.ff212p+3 +0x1.9236fcp+2 +0x1.548a8ep+12 +0x1.50a35cp-1 +0x1.a49e1ap+10 +0x1.a21704p+5 +0x1.899924p+6 +0x1.dce994p-3 +0x1.e4c328p+6 +0x1.62b7d8p+5 +0x1.9ff84cp+5 +0x1.9a645cp+3 +0x1.1c58e6p+4 +0x1.abb7c4p+5 +0x1.9f0f4p+2 +0x1.68cee6p+4 +0x1.466b28p+16 +0x1.18ffb4p+6 +0x1.eaf994p+4 +0x1.df28cp+5 +0x1.4fe5e6p+9 +0x1.ff199cp+5 +0x1.2d5fe6p+4 +0x1.78503ep+6 +0x1.b26244p+5 +0x1.2d4e98p+18 +0x1.2321d6p+3 +0x1.2d9df6p+15 +0x1.beac8ep+3 +0x1.78a0d4p+4 +0x1.da0864p+2 +0x1.63bc3ap+2 +0x1.21db7ep+2 +0x1.34ea34p+6 +0x1.870c48p+1 +0x1.48826p+8 +0x1.ae08ccp+6 +0x1.0d42e2p+14 +0x1.9f4a38p+17 +0x1.3e385ap+4 +0x1.c66c8ap+4 +0x1.d2556ap+5 +0x1.0962d6p+5 +0x1.fff2e6p+14 +0x1.150622p+4 +0x1.32579p+6 +0x1.7cfd66p+0 +0x1.5d482ep+1 +0x1.6aef7p+2 +0x1.0d7c2ep+3 +0x1.a63d84p+2 +0x1.4858fp+6 +0x1.206ed2p+5 +0x1.a65a5ep+5 +0x1.9c14bep+5 +0x1.b5863p+5 +0x1.c5536cp+2 +0x1.1229bep+4 +0x1.48afacp+18 +0x1.95994p+5 +0x1.2774f4p+5 +0x1.81cd6ap+4 +0x1.c66f1ep+5 +0x1.c3f30ap+13 +0x1.de81aap+5 +0x1.3559fep+6 +0x1.23d238p+6 +0x1.51d86p+2 +0x1.c1775ap+5 +0x1.9c671cp+13 +0x1.1c57e4p+4 +0x1.15276cp+17 +0x1.652064p+3 +0x1.913af6p+10 +0x1.a2dd48p+6 +0x1.10499cp+9 +0x1.cd20c8p+14 +0x1.e907eep+5 +0x1.b69222p+5 +0x1.c70576p+6 +0x1.157ceap+1 +0x1.487bb8p+4 +0x1.f1264p+5 +0x1.1092cap+6 +0x1.0a2fcp+4 +0x1.245706p+5 +0x1.91dd7cp+4 +0x1.684c68p+1 +0x1.5accd4p+5 +0x1.157e0ep+2 +0x1.47c2fp+3 +0x1.8918e6p+3 +0x1.c3041ep+5 +0x1.a8c1bap+5 +0x1.19efdcp+5 +0x1.f7f9e2p+4 +0x1.a69b9p+4 +0x1.e8fd6ep+5 +-0x1.09b3f6p-1 +0x1.db1a76p+2 +0x1.83ec4ap+6 +0x1.c72d16p+3 +0x1.b84688p+3 +0x1.d1271p+4 +0x1.834044p+5 +0x1.073f1cp+5 +0x1.e4e84p+5 +-0x1.e1e548p-2 +0x1.52e6c2p+4 +0x1.a3889ep+3 +0x1.09991cp+5 +0x1.c841e6p+3 +0x1.e9975ap+8 +0x1.175564p+18 +0x1.598e44p+5 +0x1.d2deb6p+3 +0x1.92d6a8p+4 +0x1.896284p+5 +0x1.256b8p+5 +0x1.523478p+3 +0x1.94767ap+6 +0x1.1c044cp+5 +0x1.da6a08p+5 +0x1.33c13ap+6 +0x1.bc31cap+4 +0x1.ff3ad2p+5 +0x1.2444ep+3 +0x1.4c4d34p-5 +0x1.1f00fp+5 +0x1.91327ap+5 +0x1.f63112p+5 +0x1.1c54eap+3 +0x1.0c491ep+6 +0x1.cd97b6p+5 +0x1.d45c88p+5 +0x1.9834a2p+5 +0x1.7e0462p+2 +0x1.67dffap+5 +0x1.a76aep+4 +0x1.b81d48p+4 +0x1.7ec434p+0 +0x1.701014p+11 +0x1.ecf5dap+4 +0x1.6e1cd2p+6 +0x1.489994p+9 +0x1.8e825p+6 +0x1.f4154cp+9 +0x1.e28d8ep+5 +0x1.5b4198p+5 +0x1.797f36p+8 +0x1.f4baeap+5 +0x1.a2d06p+19 +0x1.a4a402p+6 +0x1.f2a6ep+5 +0x1.312ceap+6 +0x1.0d9e5ap+7 +0x1.6ede9ap+4 +0x1.19b9ecp+2 +0x1.789f24p+5 +0x1.e596f4p-1 +0x1.ab83d8p+5 +-0x1.1ab934p-1 +0x1.9f89bp+1 +0x1.148f1ap+4 +0x1.1ac2dap+7 +0x1.050beep+6 +0x1.6f9fbep+5 +0x1.2ad68ep+3 +0x1.976324p+9 +0x1.727a1p+5 +0x1.709406p+6 +0x1.fde608p+0 +0x1.b34a16p+3 +0x1.96c45ap+4 +0x1.040016p+4 +0x1.881718p+5 +0x1.67dddcp+2 +0x1.af7b7p+5 +0x1.04da8ap+5 +0x1.eaea96p+5 +0x1.1c750ep+8 +0x1.d82d1p+3 +0x1.076e72p+5 +0x1.93565cp+4 +0x1.42dfep+5 +0x1.4176fp+6 +0x1.471c24p+9 +0x1.0a7a1ep+1 +0x1.2356f6p+4 +0x1.508ed6p+3 +0x1.513b2p+5 +0x1.7a71bp+4 +0x1.c89c64p+4 +0x1.c2761ap+5 +0x1.7858f8p+6 +0x1.16de9cp+6 +0x1.fa26c4p+1 +0x1.0c5b74p+5 +0x1.b2adb2p+1 +0x1.6d314ep+3 +0x1.6e6084p-1 +0x1.4db2f4p+5 +0x1.e1e85cp-1 +0x1.8b715p+2 +0x1.0194b2p+5 +0x1.97227ep+5 +0x1.6c4cb8p+4 +0x1.ac2abap+15 +0x1.7a57ap+3 +0x1.5c94b8p+4 +0x1.0e274ep+4 +0x1.b31954p+4 +0x1.7251d2p+6 +0x1.0576a6p+11 +0x1.1427cep+5 +0x1.2183eap+5 +0x1.4514a6p+5 +0x1.1e52bcp+0 +0x1.7a8d1p+5 +0x1.0a0304p+13 +0x1.0bec2ep+6 +0x1.c73e22p+4 +0x1.8ec56ap+5 +0x1.6dfd1cp+17 +0x1.24b2b4p+3 +0x1.d1036p+4 +0x1.11151ap+2 +0x1.3e8638p+14 +0x1.10306cp+2 +0x1.a02774p+14 +0x1.cc7c44p+8 +0x1.35f216p+5 +0x1.e648e4p+6 +0x1.3d394ep+15 +0x1.d6fe76p+15 +0x1.b6e0f8p+5 +0x1.2a1656p+1 +0x1.294a04p+12 +0x1.56e194p+6 +0x1.4ee58p-1 +0x1.c2c166p+2 +0x1.70032ap+5 +0x1.42fd3cp+4 +0x1.4ce8b6p+5 +0x1.8d3f94p+6 +0x1.203f9p+4 +0x1.202bf6p+6 +0x1.6fb83cp+6 +0x1.84bdc2p+5 +0x1.dcd42cp+9 +0x1.25ab44p+6 +0x1.69c82ap+8 +0x1.5efff4p+4 +0x1.46a27ep+6 +0x1.56a19p-2 +0x1.29d916p+5 +0x1.b0b606p+3 +0x1.c1569p+4 +0x1.c4f1aap+3 +0x1.4d0502p+2 +0x1.642b08p+3 +0x1.118718p-1 +0x1.9a1824p+2 +0x1.552d7ap+5 +0x1.e15abap+5 +0x1.21a62p+17 +0x1.60fd7ap+3 +0x1.1eede2p+0 +0x1.6f2cc2p+5 +0x1.252fb8p+6 +0x1.f545a4p+4 +0x1.7b9b2ap+4 +0x1.69cc0cp+5 +0x1.31a33ap-1 +0x1.6b08d8p+6 +0x1.4bf8ecp+3 +0x1.2b3fap+1 +0x1.a6e61cp+5 +0x1.634c76p+5 +0x1.c67e5ep+4 +0x1.aaaabp+17 +0x1.6a6b34p+13 +0x1.acaecp+5 +0x1.38da44p+4 +0x1.0f403ap+3 +0x1.49db22p+13 +0x1.8eff08p+0 +0x1.83d7cep+6 +0x1.4044c8p+6 +0x1.002f3ep+6 +0x1.b66272p+5 +0x1.8f960ep+6 +0x1.dffa46p+5 +0x1.199666p+6 +0x1.eececp+1 +0x1.0b1d72p+6 +0x1.4cb0fap+5 +0x1.96888p+4 +0x1.afae24p+8 +0x1.0684bep+1 +0x1.8c94b8p+3 +0x1.7ebfbp+1 +0x1.ef019cp+18 +0x1.b2ee82p+6 +0x1.d9d88cp+5 +0x1.522b9cp-1 +0x1.5714dp+8 +0x1.9eb27cp+4 +0x1.e81e82p+5 +0x1.eeaf3cp+4 +0x1.53b92ep+5 +0x1.1881dep-1 +0x1.a5df98p+15 +0x1.4fa56ap+15 +0x1.3c20dep+5 +0x1.09f9b4p+4 +0x1.e4fe3p+5 +0x1.0a1beap+5 +0x1.174964p+6 +0x1.4981fep+3 +0x1.ab126p+2 +0x1.a38f84p-1 +0x1.8af6a4p+3 +0x1.4d1bf2p+6 +0x1.fb75d2p+15 +0x1.51e6d4p+6 +0x1.6b7036p+5 +0x1.f81e4p+13 +0x1.63704ap+11 +0x1.42c24ep+5 +0x1.58238p+5 +0x1.ec1fc6p+4 +0x1.3a4c0cp+5 +0x1.29739ep+4 +0x1.4e7ef6p+5 +0x1.3f2f0cp+6 +0x1.77cfc8p+10 +0x1.5e340ap+2 +0x1.c46b28p+12 +0x1.c03a9ep+6 +0x1.a9bdbap+1 +0x1.4daaa6p+2 +0x1.033f84p+2 +0x1.c11a5ep+6 +0x1.22e8dep+6 +0x1.06561ap+2 +0x1.1c7dep+2 +0x1.2ae794p+5 +0x1.579b1cp+1 +0x1.d4dde2p+6 +0x1.776072p+15 +0x1.273cbap+3 +0x1.eec35p+13 +0x1.301434p+2 +0x1.32a04ap+5 +0x1.872c06p+4 +0x1.b4281ap+6 +0x1.37ecp+4 +0x1.0a736ep+6 +0x1.99e7c8p+2 +0x1.81064cp+6 +0x1.891078p+0 +0x1.39f022p+19 +0x1.37154cp+5 +0x1.31d73cp+4 +0x1.4192bep+17 +0x1.37562cp+1 +0x1.abf352p+2 +0x1.378c02p+3 +0x1.7389bap+11 +0x1.010a1ap+6 +0x1.2df252p+4 +0x1.8a8a3cp+4 +0x1.c0fa8ep+8 +0x1.129916p+14 +0x1.198fp+6 +0x1.86fedep+5 +0x1.22e06p+5 +0x1.e38422p+15 +0x1.ed9d96p+6 +0x1.08edc4p+4 +0x1.5c360ap+6 +0x1.056928p+3 +0x1.85fb1p+11 +0x1.2c93p+16 +0x1.d90a44p+4 +0x1.5251d4p+6 +0x1.56b8f8p+6 +0x1.4fa9p+4 +0x1.5e9422p+5 +0x1.840548p+4 +0x1.bd3484p+6 +0x1.9eeebep+17 +0x1.99dd86p+3 +0x1.553a48p+6 +0x1.2bcde2p+6 +0x1.0e9f92p+6 +0x1.f765a4p+5 +0x1.0c7c16p+4 +0x1.9ccbbp+2 +0x1.f06e3ap+4 +0x1.b0b2acp+3 +0x1.15203ep+5 +0x1.20302ep+10 +0x1.ccf902p+5 +0x1.1e4452p+0 +0x1.fa2be4p+4 +0x1.e8203cp+5 +0x1.d2a824p+3 +0x1.1845f4p+14 +0x1.769e78p+15 +0x1.3ea11ap+5 +0x1.0f295ap+5 +0x1.5d5ce6p+3 +0x1.3dabdcp+1 +0x1.c8a588p+6 +0x1.de18a2p+5 +0x1.d67bp+3 +0x1.9fe2ep+2 +0x1.d1258cp+5 +0x1.7e47d4p+7 +0x1.46e7e6p+5 +0x1.86bd08p+2 +0x1.64cd9ap+5 +0x1.2eea5p+3 +0x1.09f86ap+7 +0x1.09a7ep+3 +0x1.9cfa44p+4 +0x1.522746p+5 +0x1.5d739ep+5 +0x1.5b6776p+4 +0x1.11cc4cp+9 +0x1.8b916cp+5 +0x1.a096c4p+5 +0x1.472b8ap+4 +0x1.a870f6p+3 +0x1.e37482p+6 +0x1.c496b8p+4 +0x1.784deep-1 +0x1.a58098p+3 +0x1.f8ce8p+3 +0x1.49b616p+6 +0x1.5109a2p+11 +0x1.8688dep+5 +0x1.09ced6p+3 +0x1.4d6818p+5 +0x1.6215dcp+1 +0x1.b74162p+5 +0x1.4ef398p+5 +0x1.515c28p+5 +0x1.3584dep+6 +0x1.03988p+8 +0x1.776254p+0 +0x1.7402c2p+4 +0x1.5dccd8p+2 +0x1.8956aap+4 +0x1.354478p+19 +0x1.a22118p+6 +0x1.602702p+4 +0x1.db8ef2p+13 +0x1.4d30ccp+3 +0x1.a69134p+5 +0x1.1d5ebap+5 +0x1.804996p+5 +0x1.2e7c7cp+5 +0x1.5d5a66p+4 +0x1.1c704ap+5 +0x1.eec2b6p+0 +0x1.8c7dc6p+14 +0x1.61db16p+5 +0x1.1da1c2p+6 +0x1.fb9386p+6 +0x1.323254p+4 +0x1.871504p-3 +-0x1.4bc52ep-1 +0x1.630ba4p+6 +0x1.866f0ep-4 +0x1.360982p+5 +0x1.f80ba2p+4 +0x1.1c6914p+0 +0x1.1bb29cp+5 +0x1.33e7c6p+6 +0x1.50939p+6 +0x1.afb7bep+6 +0x1.18fd0ep+6 +0x1.6cfb82p+6 +0x1.19d1b8p+11 +0x1.c1389ep+1 +0x1.2a3618p+6 +0x1.141db2p+5 +0x1.d9281ap+3 +0x1.df7f5p+7 +0x1.3987a4p+5 +0x1.aa43ep+5 +0x1.5cfb12p+5 +0x1.06f3b2p+4 +0x1.334b6p+4 +0x1.f6f0dp+3 +0x1.07bfap+11 +0x1.bc8e56p+5 +0x1.5b291ap+6 +0x1.e58074p+4 +0x1.7b5e92p+10 +0x1.6aeceap+5 +0x1.dbd392p+11 +0x1.d28918p+5 +0x1.17138p+6 +0x1.8356dcp+5 +0x1.63a476p+8 +0x1.8d42b6p+5 +0x1.82d5bp+1 +0x1.00535ap+5 +0x1.3e19f4p+5 +0x1.005aa2p+10 +0x1.af49fp+5 +0x1.372a8p+4 +0x1.611b0cp+5 +0x1.90b4cap+1 +0x1.85c8d8p+5 +0x1.d0586cp+1 +0x1.d126dcp+3 +0x1.41820ap+8 +0x1.de48b4p+8 +0x1.346296p+5 +0x1.05c4a4p+3 +0x1.1d04p+6 +0x1.343322p+6 +0x1.549286p+5 +0x1.18e53ep+14 +0x1.7cf13ap+4 +0x1.0acb1cp+6 +0x1.fac006p+4 +0x1.e8fdacp+12 +0x1.1cb758p+5 +0x1.baf8aap+4 +0x1.6692eep+18 +0x1.9ccd6cp+4 +0x1.0b12f2p+5 +0x1.632696p+5 +0x1.b5e25cp+5 +0x1.2f59dcp+7 +0x1.ca19e4p+6 +0x1.303aecp+6 +0x1.0aa552p+3 +0x1.66dcaap+6 +0x1.d53f96p+3 +0x1.e94cbp+2 +0x1.f996a8p+4 +0x1.d3c5cep+4 +0x1.9e3042p+3 +0x1.97b7fp+13 +0x1.e8b44ap-1 +0x1.9f59p+6 +0x1.bd260ep+5 +0x1.51c3dp+0 +0x1.2a880ep+6 +0x1.0b6ca4p+5 +0x1.71a32ap+6 +0x1.9138cap+4 +0x1.55e308p+5 +0x1.d46c5ep+10 +0x1.3139f2p-1 +0x1.443d92p+1 +0x1.24b87cp+4 +0x1.628bb4p+3 +0x1.e6813ep+4 +0x1.ce0eacp+0 +0x1.0c75aap+14 +0x1.060778p+6 +0x1.708784p+5 +0x1.11f0f6p+8 +0x1.16e172p+4 +0x1.82f09cp+4 +0x1.dc7eb2p+0 +0x1.ba7b84p+0 +0x1.3b23d2p+4 +0x1.4ce888p+5 +0x1.b637ap+5 +0x1.26f262p+5 +0x1.851f68p+5 +0x1.01ad88p+6 +0x1.1ae1fap+3 +0x1.730b96p+2 +0x1.56981ap+4 +0x1.014582p+7 +0x1.cf2cacp+16 +0x1.0373fap+5 +0x1.ded9cep+1 +0x1.72329cp+13 +0x1.274b74p+3 +0x1.84f66p+13 +0x1.147dc6p+2 +0x1.7a9ee2p+5 +0x1.9251dcp+4 +0x1.86a21cp+4 +0x1.11328ep+4 +0x1.17eca4p+7 +0x1.d39bdep+5 +0x1.4e310cp+6 +0x1.6dc5e4p+5 +0x1.175a2ep+6 +0x1.6e7b4ep+1 +0x1.d7839ap+5 +0x1.dc587ap+5 +0x1.b100cap+5 +0x1.9084b2p+0 +0x1.115928p+5 +0x1.fa2d9cp+5 +0x1.8028fp+5 +0x1.2e9c6ap-3 +0x1.80e7acp+4 +0x1.1dcf52p+4 +0x1.083b0cp+6 +0x1.5e380cp+9 +0x1.b6d7b2p+8 +0x1.3cb58p+10 +0x1.7cdcbp+5 +0x1.9431c6p+5 +0x1.1d2d88p+6 +0x1.f18d8cp+5 +0x1.b0da24p+4 +0x1.e0c7acp+5 +0x1.c6162ep+4 +0x1.54e58ap+4 +0x1.209002p+6 +0x1.ea0be8p+6 +0x1.854c82p+3 +0x1.2bf84ap+1 +0x1.b473dp+12 +0x1.e336a6p+18 +0x1.e01174p+5 +0x1.980568p+1 +0x1.35b504p+6 +0x1.37cd74p+4 +0x1.5c9f28p+3 +0x1.2c971p+15 +0x1.000342p+6 +0x1.bd1b68p+6 +0x1.74880cp+17 +0x1.157fdep+10 +0x1.5722f6p+5 +0x1.fdaeb6p+3 +0x1.d8e83cp+4 +0x1.9b7076p+5 +0x1.bae3ap+10 +0x1.6c6d54p+3 +0x1.45adccp+6 +0x1.2acd26p+6 +0x1.b1e5c8p+3 +0x1.76e2cap+7 +0x1.257222p+4 +0x1.48f18ep+1 +0x1.e785e4p+5 +0x1.d752d2p+6 +0x1.5dcacp+5 +0x1.cdf87ap+6 +0x1.5d57c8p+1 +0x1.08c77ep+19 +0x1.3df828p+4 +0x1.2a1366p+5 +0x1.3a8c9ap+4 +0x1.0ddf3p+4 +0x1.090f3cp+5 +0x1.a2431ap+4 +0x1.942604p+7 +0x1.a9fb1cp+4 +0x1.9fbb0ap+6 +0x1.05d7f2p+6 +0x1.085facp+8 +0x1.c11edcp+5 +0x1.854a46p+5 +0x1.5b7a1p+3 +0x1.0292cep+6 +0x1.65cdd8p+3 +0x1.a39e1cp+3 +0x1.7ac84p+4 +0x1.9c3142p+3 +0x1.2181fcp+5 +0x1.d090a2p-3 +0x1.36253p+5 +0x1.380728p+5 +0x1.0eea16p+13 +0x1.40f9dap+11 +0x1.74e0f6p+5 +0x1.4809f8p+3 +0x1.a404ccp+2 +0x1.c45328p+5 +0x1.129e9p+4 +0x1.da7a1ap+14 +0x1.45449ap+4 +0x1.664f48p+3 +0x1.ec112p+5 +0x1.14b604p+6 +0x1.011f24p+3 +0x1.9ff5fap+5 +0x1.315b88p+6 +0x1.839666p+4 +0x1.0ea782p+3 +0x1.4a1efcp+2 +0x1.c4c842p+1 +0x1.f48a1ep+13 +0x1.6593aap+9 +0x1.9f687p+4 +0x1.f7d9ep+17 +0x1.23a82ap+7 +0x1.bdcc26p+9 +0x1.93df28p+6 +0x1.c46882p+5 +0x1.99e08ep+3 +0x1.2bab0ap+3 +0x1.c41c2ep+5 +0x1.d685c6p+5 +0x1.126c6p+5 +0x1.a493a4p+4 +0x1.2c34c4p+8 +0x1.5cda66p+6 +0x1.bf09f2p+5 +0x1.1ed6d6p+5 +0x1.0bd676p+5 +0x1.d8ba6cp+4 +0x1.2b4aa8p+6 +0x1.fa5b42p+3 +0x1.39133cp+12 +0x1.eb8a5p+5 +0x1.575966p+2 +0x1.284656p+6 +0x1.5ac54p+5 +0x1.61ef86p+6 +0x1.57b756p+15 +0x1.924d28p-1 +0x1.2de3fcp+6 +0x1.324d86p+5 +0x1.407038p+18 +0x1.dc6bc2p+1 +0x1.f401dcp+3 +0x1.788f18p+18 +0x1.6c135cp+6 +0x1.0cd57cp+5 +0x1.a14ab2p+4 +0x1.2d47fcp+6 +0x1.14133ep+3 +0x1.3b132ap+5 +0x1.1ebc5p+5 +0x1.04aa9ap+14 +0x1.772bc8p+4 +0x1.fe8a8cp+5 +0x1.543c3ep+3 +0x1.2bc288p+3 +0x1.6d3c5ep+4 +0x1.255252p+7 +0x1.1b363p+3 +0x1.ba1876p+4 +0x1.366f9ep+0 +0x1.446996p+6 +0x1.69bbbcp+14 +0x1.a6aa68p+1 +0x1.99d2bcp+10 +0x1.d2d4eep+7 +0x1.07676ep+6 +0x1.2d54bep+3 +0x1.20e8b6p+5 +0x1.ba957ap+5 +0x1.73018cp+3 +0x1.697c1cp+6 +0x1.93fc5ep+4 +0x1.8ae3bap+11 +0x1.c9ecccp+12 +0x1.710bp+3 +0x1.f50fep+9 +0x1.19cbb2p+7 +0x1.bf9826p+1 +0x1.6a7c1ap+5 +0x1.3ddc9p+5 +0x1.64a12p+6 +0x1.98d194p+19 +0x1.ad116p+6 +0x1.ead1a6p+2 +0x1.86fac2p+5 +0x1.19a27ep+4 +0x1.764fb6p+6 +0x1.f46198p+4 +0x1.700facp-1 +0x1.ac36fp-2 +0x1.97f846p+5 +0x1.14febcp+4 +0x1.178112p+5 +0x1.d576e8p-2 +0x1.49ab64p+3 +0x1.1a5562p+3 +0x1.f3e7c2p+8 +0x1.c05486p-1 +0x1.886e68p+5 +0x1.7c6866p+2 +0x1.16a9b4p-5 +0x1.0993eap+7 +0x1.c2f1f8p+3 +0x1.3b9c36p+7 +0x1.d9b04ep+6 +0x1.8b9ee6p+5 +0x1.1b6ed6p+18 +0x1.7871eap+6 +0x1.25d90ap+4 +0x1.332f5ap+5 +0x1.0f9f8ep+1 +0x1.325b32p+2 +0x1.b5e69p+4 +0x1.69e2e4p+5 +0x1.7f272ep+5 +0x1.554f02p+4 +0x1.b13ea2p+4 +0x1.4bc88ap+6 +0x1.731ce8p+2 +0x1.626878p+3 +0x1.4c2df4p+4 +0x1.b8fdcp+6 +0x1.8e7818p+2 +0x1.91ad2ep+6 +0x1.17dcfap+4 +0x1.2deabcp+3 +0x1.0beb24p+5 +-0x1.00ddcep-5 +0x1.d5a1eap+3 +0x1.845e02p+3 +0x1.5c5f04p+6 +0x1.794f0cp+4 +0x1.dae4bep+4 +0x1.cdbf58p+4 +0x1.ed93f6p+3 +0x1.e6c84ap+10 +0x1.fa736ep+0 +0x1.5ac2e6p+6 +0x1.2e89fep-1 +0x1.898092p+6 +0x1.c4ceeep+5 +0x1.521a1p-3 +0x1.32eb02p+17 +0x1.db052ap+16 +0x1.098c2cp+15 +0x1.29c3bcp+2 +0x1.b82932p+15 +0x1.2f342p+4 +0x1.c92df2p+5 +0x1.297112p+6 +0x1.3aded6p+3 +0x1.6253d6p+6 +0x1.54251cp+4 +0x1.0c8c7cp+2 +0x1.ad1fe2p+10 +0x1.53a97ep+5 +0x1.5be4ccp+11 +0x1.3e0c52p+6 +0x1.3c12b2p+2 +0x1.42669cp+5 +0x1.9143bp+2 +0x1.1ce60ep+13 +0x1.9862dp+6 +0x1.10c498p+8 +0x1.083a14p+6 +0x1.98d05cp+6 +0x1.7b9a8p+2 +0x1.ca4c32p+5 +0x1.07e772p+5 +0x1.a24706p-2 +0x1.8bc3f2p+1 +0x1.8a57f4p+4 +0x1.d83254p+5 +0x1.24dfap+6 +0x1.3987d4p+4 +0x1.27f0bp+5 +0x1.73d908p+4 +0x1.fed88p+2 +0x1.51f084p+4 +0x1.4c994cp+6 +0x1.c66972p+2 +0x1.4db77ap+6 +0x1.074aaep+6 +0x1.f8d848p+5 +0x1.7a5606p+5 +0x1.5e1deep+5 +0x1.572f7ap+16 +0x1.031d4cp+19 +0x1.9de85ep+3 +0x1.8e3ba4p-1 +0x1.313cecp+3 +0x1.5891b4p+6 +0x1.fb785cp+1 +0x1.f001f6p+13 +0x1.1a4ebcp+3 +0x1.27a094p+6 +0x1.182556p+4 +0x1.dc8f2ap+11 +0x1.18fbfp+11 +0x1.3a3f38p+2 +0x1.5a27dcp+5 +0x1.bc2fcap+3 +0x1.99a65ep-2 +0x1.ca91f8p+8 +0x1.f4aa96p+12 +0x1.8d3008p+6 +0x1.a369a8p+5 +0x1.c0b60ap+2 +0x1.f76786p+8 +0x1.02c8d4p+5 +0x1.82e7ep+4 +0x1.05e504p+6 +0x1.bc82dap+6 +0x1.b6a276p+3 +0x1.88e07cp+14 +0x1.f8fc5cp+10 +0x1.d76f32p+6 +0x1.39aa6ap+6 +0x1.904f68p+5 +0x1.e2fe08p+4 +0x1.9127bp+1 +0x1.ce3fc2p+3 +0x1.893334p+7 +0x1.e5c856p+4 +0x1.26350ap+6 +0x1.753bfcp+5 +0x1.74fddap+2 +0x1.e88f72p+2 +0x1.e9663ap+18 +0x1.2f073ap+6 +0x1.48218p+4 +0x1.8fd112p+5 +0x1.37d34ep+6 +0x1.8f65f6p+6 +0x1.bda682p+6 +0x1.1c896ep+4 +0x1.1bb464p+5 +0x1.d40d36p+9 +0x1.ad05c8p+2 +0x1.eeb5dep+12 +0x1.f03bc6p+4 +0x1.14044p+6 +0x1.4fa3aep+5 +0x1.50e69ap+3 +0x1.8cca8cp+3 +0x1.180744p+6 +0x1.2213bep+5 +0x1.2f5a1ap+11 +0x1.2a4bfp+5 +0x1.0449a8p+6 +0x1.bd2782p+4 +0x1.1260bep+16 +0x1.187dccp+5 +0x1.67c5dp+4 +0x1.4e31ap+2 +0x1.3896e2p+7 +0x1.1e162p+4 +0x1.19b2f4p+2 +0x1.7584ccp+9 +0x1.f2dcd2p+4 +0x1.8d096p+5 +0x1.35dda6p+3 +0x1.9b0458p+4 +0x1.0d7c1ap+4 +0x1.fda8d8p+5 +0x1.39c632p+5 +0x1.10ed14p+12 +0x1.42c166p+4 +0x1.95468ep+4 +0x1.4fcbfep+2 +0x1.1bc602p+0 +0x1.b4533ep+6 +0x1.b3488cp+1 +0x1.191ffep+6 +0x1.fe77fcp+1 +0x1.127322p+5 +0x1.89ed24p+5 +0x1.1edd5ap+5 +-0x1.f384bcp-3 +0x1.aa87fap+2 +0x1.4278a8p+9 +0x1.e83c9ep-3 +0x1.1442cep+6 +0x1.a07c38p+5 +0x1.7d3ef6p-6 +0x1.7f2598p+5 +0x1.04dc4p+16 +0x1.b4be56p+5 +0x1.08b8eap+14 +0x1.40edbp+6 +0x1.8ef6ccp+3 +0x1.4b1b42p+5 +0x1.6214d6p+3 +0x1.2dab9ap+5 +0x1.18c976p+10 +0x1.d7f68p+2 +0x1.9f7bcap+2 +0x1.953aep-1 +0x1.555f7ap+5 +0x1.158dc8p+5 +0x1.5c5a34p+5 +0x1.230dccp+12 +0x1.d6ca3ep+6 +0x1.346cecp+6 +0x1.132304p+9 +0x1.4503cp+1 +0x1.0c5f56p+16 +0x1.a9ced8p+4 +0x1.2c738cp+14 +0x1.6dd79ep+6 +0x1.c176dep+10 +0x1.cd9cc6p+11 +0x1.622042p+10 +0x1.9ed2ep+14 +0x1.b6c238p+5 +0x1.bd6872p+9 +0x1.a62d5p+1 +0x1.2b1af6p+5 +0x1.4dd44cp+5 +0x1.2b7a1ap+5 +0x1.f033p+4 +0x1.97923p+2 +0x1.b5e35p+5 +0x1.add5b8p+4 +0x1.ad3cdep+5 +0x1.b57204p+5 +0x1.4d338ep+0 +0x1.ee6ae4p+5 +0x1.39f6e8p+4 +0x1.c3b65p+1 +0x1.65a1ep+7 +0x1.2cbf3ep+6 +0x1.a4ef3p+5 +0x1.c64b14p+6 +0x1.8a2e06p+1 +0x1.feed7cp+3 +0x1.1c0224p+2 +0x1.c9d1f8p+8 +0x1.c40deep+6 +0x1.3a0f46p+5 +0x1.aed3a8p+4 +0x1.fe0f1p+5 +0x1.c4a4e8p+2 +0x1.c932b4p+5 +0x1.09ce5cp+6 +0x1.2be824p+2 +0x1.6a4a7ap+7 +0x1.56d2cap+2 +0x1.1b55a6p+7 +0x1.00c55cp+6 +0x1.6e0e8cp+3 +0x1.e868b2p+3 +0x1.12581ep+0 +0x1.223a7p+10 +0x1.a347a4p+5 +0x1.7c218ep+4 +0x1.9656ap+9 +0x1.e16cd8p+0 +0x1.996044p+0 +0x1.552952p+5 +0x1.e86f62p+5 +0x1.1b4e7cp+3 +0x1.03805cp+6 +0x1.41cf26p+2 +0x1.2139a2p+2 +0x1.0b8d0ap+5 +0x1.9c78ccp+5 +0x1.68836ep-4 +0x1.d02e8ap+4 +0x1.471e0ep+5 +0x1.1c0dp+4 +0x1.5e088p+6 +0x1.7b7138p+5 +0x1.2bc2a2p+4 +0x1.d7a65p+15 +0x1.64b776p+16 +0x1.fea7d6p+5 +0x1.4f60aep+2 +0x1.b16ff8p+6 +0x1.6d5b8ap+1 +0x1.2a75bep+11 +0x1.1fca7ap+5 +0x1.fe2816p-1 +0x1.6b63bp+4 +0x1.0dbcdap+4 +0x1.c717c6p+10 +0x1.b5af5p+12 +0x1.e009acp+5 +0x1.efd68p+5 +0x1.094becp+4 +0x1.ebd7dap+1 +0x1.f09dfp+4 +0x1.c2e23p+5 +0x1.d97b3cp+5 +0x1.41c88ep+8 +0x1.f93976p+4 +0x1.cabedp+5 +0x1.242388p+4 +0x1.f0e2ap+5 +0x1.2dcd7ep+5 +0x1.11cde8p+18 +0x1.e9a614p+5 +0x1.3e9db4p+6 +0x1.822de8p+5 +0x1.3dc3c8p+13 +0x1.22ec3p+10 +0x1.27a258p+2 +0x1.de74cep+5 +0x1.1b2e9cp+11 +0x1.0e6e52p+4 +0x1.132e32p+6 +0x1.150c22p+4 +0x1.138dacp+4 +0x1.65c5d8p+7 +0x1.f254e2p+0 +0x1.3888bp+6 +0x1.11d94ep+6 +0x1.2cc992p+4 +0x1.d5b9a4p+2 +0x1.77ce0cp+4 +0x1.e7ad38p+5 +0x1.e4743p+5 +0x1.99ad1ep+4 +0x1.b9b298p+5 +0x1.9ea39ep-1 +0x1.26074p+2 +0x1.4e1e0ap+2 +0x1.51c7bep+0 +0x1.f57258p+4 +0x1.c5fe72p+5 +0x1.8b95a8p+5 +0x1.d6574ep+3 +0x1.b9a98cp+3 +0x1.a6f72ep+5 +0x1.ea300cp+4 +0x1.8c2e28p+4 +0x1.fcb818p+1 +0x1.21b5e4p+3 +0x1.392d0ep+1 +0x1.910f08p-6 +0x1.012d9cp+3 +0x1.84ccdep+4 +0x1.b0318p-1 +0x1.d528ecp+3 +0x1.2447fep+4 +0x1.1a6fep+4 +0x1.c1ea22p-2 +0x1.4f0b7ep+3 +0x1.73094p+4 +0x1.1417acp+7 +0x1.0ec3b8p+3 +0x1.8e58e6p+5 +0x1.1b6396p+6 +0x1.3d742ap+5 +0x1.41510ap+6 +0x1.1bfa72p+14 +0x1.573d2ap+2 +0x1.476352p+6 +0x1.3cd48ep+9 +0x1.ac033p+1 +0x1.2dafe8p+6 +0x1.11676ap+9 +0x1.d8a7e6p+9 +0x1.d872aap+6 +0x1.8c78b2p+5 +0x1.47428cp+6 +0x1.d16d4ep+5 +0x1.2a90a6p+3 +0x1.35817ep+5 +0x1.2b6fb2p+5 +0x1.b323f6p+11 +0x1.fbc3d6p-4 +0x1.07943cp+5 +0x1.2164dep+4 +0x1.f83c86p-4 +0x1.4f68bcp+4 +0x1.56d31cp-1 +0x1.2a160cp+6 +0x1.3e2b8ep+5 +0x1.5ef22ap+2 +0x1.91ffc8p+1 +0x1.03d24ep+5 +0x1.5a346ap+5 +0x1.bd3ca2p-1 +0x1.d44ac2p+5 +0x1.1dc93p+5 +0x1.94c97cp+2 +0x1.11a3aep+1 +0x1.faddaap+5 +0x1.1c04c2p+0 +0x1.d969b6p+4 +0x1.fb8aeap+17 +0x1.8c302ep+3 +0x1.106ec2p+6 +0x1.45ef7p+3 +0x1.136bdap+6 +0x1.4d247p+4 +0x1.cbb47cp+5 +0x1.6d741cp+5 +0x1.c01f8ap+2 +0x1.143d2cp+4 +0x1.57868cp+6 +0x1.b95956p+6 +0x1.68aea6p+1 +0x1.6dce4cp+6 +0x1.c5920cp+5 +0x1.e5d928p-1 +0x1.604bf2p+13 +0x1.6289dep+5 +0x1.c66f72p+1 +0x1.06d5d6p+4 +0x1.0978a2p+5 +0x1.d83694p-4 +0x1.315c6p+3 +0x1.b21b04p+1 +0x1.a6db5p+5 +0x1.c6d5dp+4 +0x1.0ee9fp+4 +0x1.97dfcap+6 +0x1.fb73f8p+5 +0x1.5b412p+6 +0x1.23db58p+5 +0x1.ad3354p+10 +0x1.05594cp+6 +0x1.b927d4p+5 +0x1.8d8e3ep+11 +0x1.2e9752p+5 +0x1.30ed2ap+8 +0x1.5a3c2p+18 +0x1.67b93cp+2 +0x1.de0006p+5 +0x1.44b19p-1 +0x1.5f0dd8p+9 +0x1.bcb36p+5 +0x1.341752p+5 +0x1.2ab938p+3 +0x1.657128p+6 +0x1.93e2cep+6 +0x1.66ba7ap+5 +0x1.0575e2p-4 +0x1.dcc59ep+4 +0x1.0ed00ep+6 +0x1.cabcecp+3 +0x1.119e6cp+18 +0x1.9cb09ap+14 +0x1.b025f6p+9 +0x1.f92092p+3 +0x1.67356ep+4 +0x1.a401e6p+8 +0x1.35f8a8p+16 +0x1.16f15p+5 +0x1.4fd228p+5 +0x1.3a38ap+6 +0x1.1907a6p+5 +0x1.2e863ep+1 +0x1.5e09d6p+4 +0x1.0c1636p+7 +0x1.60bc64p+16 +0x1.3403d8p+4 +0x1.66cf4ap+6 +0x1.71ed66p+4 +0x1.0f2528p+2 +0x1.3c0aecp+8 +0x1.388b1ep+6 +0x1.5bbb72p+5 +0x1.ba389cp+3 +0x1.d45026p+13 +0x1.ac112ap+12 +0x1.b64efap+5 +0x1.f97106p+6 +0x1.1bd74p+3 +0x1.a0378p+6 +0x1.02a8eep+5 +0x1.e4acaep+5 +0x1.630cfp+5 +0x1.1d70c4p+5 +0x1.d4362p+10 +0x1.f244eep+2 +0x1.1fa5p+0 +0x1.0f16dcp+4 +0x1.4c0388p+6 +0x1.1f0888p+19 +0x1.406c7ep+5 +0x1.abde9p+1 +0x1.934feep+17 +0x1.3f279p+3 +0x1.f87708p+4 +0x1.cdb4eap+4 +0x1.9556f8p+5 +0x1.77f45cp+3 +0x1.7c285p+5 +0x1.0a5fa8p+4 +0x1.7bb09p+5 +0x1.359c24p+4 +0x1.3919b8p+5 +0x1.1cfd9cp+6 +0x1.267efap+12 +0x1.7394fap+5 +0x1.f79abap+1 +0x1.0d349ap+19 +-0x1.9c0dd8p-1 +0x1.b4a09p+4 +0x1.52aac2p+3 +0x1.d1514cp+5 +0x1.2e584ap+11 +0x1.1257b8p+9 +0x1.74d832p+5 +0x1.42bfccp+8 +0x1.e6fe14p+5 +0x1.02ef76p+6 +0x1.72b29cp+10 +0x1.8c140ap+4 +0x1.be68bap+4 +0x1.25b7d4p+2 +0x1.b90802p+4 +0x1.926d4ep+5 +0x1.d1268cp+6 +0x1.10aaecp+4 +0x1.7efbeep-2 +0x1.d47cc8p+4 +0x1.331bc8p+5 +0x1.33464ap+3 +0x1.5466a6p+5 +0x1.ccb10cp+0 +0x1.243fdcp+5 +0x1.d1eaa6p+3 +0x1.33d886p+5 +0x1.39e2aap+1 +0x1.1dd68ap+2 +0x1.8f7f82p+2 +0x1.a173dep+5 +0x1.e040b2p+5 +0x1.911f5ep+18 +0x1.364a0ap+3 +0x1.5a05a8p+6 +0x1.b327cep+3 +0x1.ad05bep+8 +0x1.37136ep+6 +0x1.3541c8p+6 +0x1.a313e6p+3 +0x1.c30d48p+6 +0x1.b0de2ep+6 +0x1.5d4d98p+4 +0x1.2e4c5p+3 +0x1.05ead2p+5 +0x1.e2e50cp-1 +0x1.ce495p+16 +0x1.41797ep+6 +0x1.f6fd54p+3 +0x1.c3bfbcp+6 +0x1.daa654p+5 +0x1.2824dcp+15 +0x1.5510e6p+5 +0x1.081464p+6 +0x1.1dd8bep+2 +0x1.66fb8ap+3 +0x1.6c0bdp+13 +0x1.32f26cp+1 +0x1.2fe72ap+6 +0x1.36dfd8p+5 +0x1.2c841ap+6 +0x1.17f47ep+6 +0x1.a019f2p+4 +0x1.35dff8p+6 +0x1.c20f9cp+7 +0x1.bf7ebcp+6 +0x1.0f0d2cp+5 +0x1.b02e9ep+5 +0x1.6c8eacp+3 +0x1.9f9eecp+14 +0x1.acf104p+5 +0x1.344d9ap+6 +0x1.d5121ap-5 +0x1.df002ap+4 +0x1.ef42aep+6 +0x1.6ce398p+6 +0x1.0b045ep+0 +0x1.f2a052p+5 +0x1.7f7022p+5 +0x1.8c7166p+4 +0x1.3a18e6p+6 +0x1.0d681cp+4 +0x1.38dd1cp+5 +0x1.df7c44p+3 +0x1.14798ep+7 +0x1.820b44p+12 +0x1.8db9dcp+4 +0x1.a067d6p+6 +0x1.c994b8p+15 +0x1.12518cp+1 +0x1.800772p+4 +0x1.35e28cp+6 +0x1.00634ep+3 +0x1.960b5cp+6 +0x1.6e3bc8p-7 +0x1.ae8aep+6 +0x1.2bae5ap+4 +0x1.7c7cfep+5 +0x1.a504eep+5 +0x1.2a863ap+5 +0x1.56423ap+5 +0x1.5ade28p+9 +0x1.0b15ep+7 +0x1.9a67c2p+5 +0x1.3fa074p+5 +0x1.b521c8p+5 +0x1.aa0f22p+4 +0x1.417d28p+3 +0x1.32fe4ep+12 +0x1.59467ap+13 +0x1.7a290ep+2 +0x1.7d05e6p+6 +0x1.ae8194p+3 +0x1.58828p+18 +0x1.bde98cp+4 +0x1.6f1dd8p+5 +0x1.18d9c2p+6 +0x1.4d0e4ap+6 +0x1.902256p+4 +0x1.3478eep+0 +0x1.058adap+6 +0x1.bdbe1ep+3 +0x1.c55dbp+4 +0x1.3c66a6p+14 +0x1.7c48e2p+3 +0x1.b795a6p+5 +0x1.75fdf4p+5 +0x1.6f372cp+1 +0x1.5a8ac6p+5 +0x1.eedab2p+12 +0x1.1fe574p+5 +0x1.125a2cp-2 +0x1.634ad4p+4 +0x1.3ca70cp+4 +0x1.6ec4b2p+5 +0x1.1999ecp+4 +0x1.b4bb88p+4 +0x1.29d692p+7 +0x1.d1493p-2 +0x1.ec69a2p+2 +0x1.ee74fap+4 +0x1.1e6baep+6 +0x1.107342p+6 +0x1.8cdafep+6 +0x1.cc50ep+3 +0x1.8fe6a4p+5 +0x1.4d06a6p-2 +0x1.4c65dp+5 +0x1.3dae68p+15 +0x1.fe80e8p+3 +0x1.395f92p-3 +0x1.92d45ep+4 +0x1.3a08b6p+11 +0x1.5d7266p+5 +0x1.0b2c62p+7 +0x1.d1783p+11 +0x1.57408ap+4 +0x1.f4fd36p+11 +0x1.2da16ep+3 +0x1.9c518ep+6 +0x1.36017p+3 +0x1.f7d356p-1 +0x1.e11052p+3 +0x1.8ed284p+6 +0x1.efe716p+2 +0x1.02f708p+14 +0x1.10d518p+0 +0x1.af94c2p+16 +0x1.90c0b2p+4 +0x1.6a18c8p+3 +0x1.b5cbeap+9 +0x1.cdc464p+4 +0x1.2bc43cp+5 +0x1.621fp+6 +0x1.65275cp+5 +0x1.3a4bd6p+12 +0x1.16a698p+4 +0x1.b742ccp+3 +0x1.0c760cp+4 +0x1.362be6p+2 +0x1.6c8542p+2 +0x1.23349p+6 +0x1.523d02p+2 +0x1.da213ap+5 +0x1.395ff8p+5 +0x1.87d45ep+4 +0x1.1bb01p+6 +0x1.5c4b06p+4 +0x1.eef12p+6 +0x1.9828f8p+0 +0x1.c60ecep+2 +0x1.1122f4p+5 +0x1.3f0962p+5 +0x1.b977cap+4 +0x1.12163cp+6 +0x1.4d26fcp+5 +0x1.c898d2p+11 +0x1.bbace4p+2 +0x1.62ea14p-1 +0x1.31412ep+5 +0x1.53d698p+6 +-0x1.02de26p-4 +0x1.938d32p+5 +0x1.d8b0f8p+4 +0x1.fd587cp+1 +0x1.0e223ep+5 +0x1.9919cp+4 +0x1.a2876cp+9 +0x1.a26892p+5 +0x1.1611d4p+2 +0x1.81d3fep+10 +0x1.b9cc5ap+5 +0x1.d306ecp+2 +0x1.4ed356p+4 +0x1.22c0d4p+5 +0x1.5ff63ap+10 +0x1.45e496p+4 +0x1.740312p+2 +0x1.5de004p+4 +0x1.5cd54ep+3 +0x1.ff698cp+8 +0x1.a6f36ep+17 +0x1.fa1d0ep+15 +0x1.5c31c8p+2 +0x1.e12eeap+6 +0x1.14549ep+5 +0x1.16a2c4p+5 +0x1.9575f4p+4 +0x1.1c54p+5 +0x1.4f60d8p+4 +0x1.9be55p+3 +0x1.edd132p+3 +0x1.cf775ap+16 +0x1.c184aep+8 +0x1.90ce78p+1 +0x1.8d9e58p+4 +0x1.d30e6ep+5 +0x1.1fd312p+4 +0x1.0a3116p+1 +0x1.048ea4p+14 +0x1.f78fa2p+2 +0x1.93b14cp+4 +0x1.74078cp+2 +0x1.9f7e54p+4 +0x1.807594p+6 +0x1.89f79ap+4 +0x1.48db04p+4 +0x1.b83936p+3 +0x1.cecb3cp+4 +0x1.c16b64p+2 +0x1.71f068p+18 +0x1.fac994p+4 +0x1.5ba01cp+5 +0x1.30068p+5 +0x1.30cadep+0 +0x1.58620ep+4 +0x1.11ac96p+2 +0x1.0e4a5ep+1 +0x1.6744ap+2 +0x1.308674p+9 +0x1.8aa964p+5 +0x1.72c452p+5 +0x1.9bc428p+4 +0x1.29f04cp+5 +0x1.64657ep+1 +0x1.b85a8ap+5 +0x1.1d1d86p+2 +0x1.7f26c6p+6 +0x1.581e5p+6 +0x1.1afb02p+4 +0x1.8dba8cp+5 +0x1.f5fdfp-2 +0x1.d23452p+5 +0x1.949fdep+4 +0x1.afd082p+4 +0x1.303362p+5 +0x1.256e54p+2 +0x1.9f7f18p+5 +0x1.48340cp+15 +0x1.27e60cp+5 +0x1.17aabp+5 +0x1.16f068p+3 +0x1.87247ep+5 +0x1.2c97a2p+9 +0x1.b4ec8ap+5 +0x1.a4a55ep+4 +0x1.7d3b84p+4 +0x1.ca550ep+12 +0x1.5a1ad8p+4 +0x1.da8a5p+4 +0x1.95f472p+6 +0x1.ce3612p+1 +0x1.ac3894p+11 +0x1.74974cp+12 +-0x1.95ed94p-1 +0x1.40a138p+4 +0x1.7466b2p+16 +0x1.1830cep+6 +0x1.632fdp+1 +0x1.ab41fep-3 +0x1.8bb9cep+1 +0x1.870a06p-1 +0x1.8be0d6p+3 +0x1.32b0ccp+6 +0x1.721a68p+3 +0x1.90116ap+3 +0x1.0eca4ep+5 +0x1.acd32p+4 +0x1.058242p+13 +0x1.e62cd2p+2 +0x1.55a22cp-2 +0x1.af941p+0 +0x1.fabc48p+2 +0x1.dee1d6p+5 +0x1.cbea5cp+1 +0x1.bb4deap+6 +0x1.d2363cp+5 +0x1.b77edep+2 +0x1.948f14p+4 +0x1.65caf4p+5 +0x1.03766ap+5 +0x1.a645c2p+16 +0x1.8d471p+12 +0x1.c205c4p+4 +0x1.7b86c4p+17 +0x1.99d36ap+4 +0x1.190a72p+18 +0x1.b95e3ap+10 +0x1.405c8ap+3 +0x1.b5456p+4 +0x1.b6bbb8p+0 +-0x1.7af708p-6 +0x1.248902p+15 +0x1.47f284p+8 +0x1.199984p+1 +0x1.bb2736p+12 +0x1.d020dp+1 +0x1.082bdp+2 +0x1.0fe8aep+16 +0x1.a20aaap+5 +0x1.e9a54ep+5 +0x1.a330b4p-1 +0x1.e4064ap+4 +0x1.091a1ap+6 +0x1.370006p+5 +0x1.4a9fb2p+7 +0x1.6d661ap+4 +0x1.1a8c7p+3 +0x1.9475f6p+3 +0x1.51d236p+6 +0x1.7efdb8p+1 +0x1.b4697cp+11 +0x1.add6fp+4 +0x1.1ea4c8p+5 +0x1.3ac5b8p+9 +0x1.7ee7b4p+3 +0x1.5357e4p+6 +0x1.fdcc2ep+10 +0x1.4c5298p+6 +0x1.82755cp+2 +0x1.97ccdep+5 +0x1.10c99ap+4 +0x1.587ba2p+5 +0x1.cf7556p+4 +0x1.2cda76p+7 +0x1.599a2ap+4 +0x1.1ab814p+4 +0x1.2e40bap-2 +0x1.d73b1p+4 +0x1.c41f9ep+4 +0x1.5003ecp+14 +0x1.394e62p+18 +0x1.d3e986p+4 +0x1.9217c4p+7 +0x1.91763ep+13 +0x1.d1275cp+9 +0x1.e4e9a4p+3 +0x1.fbc84p+16 +0x1.83a6b2p+5 +0x1.051648p+4 +0x1.4329bep+5 +0x1.4f85a2p+7 +0x1.25fee2p+4 +0x1.12e5p+4 +0x1.7e73d6p+12 +0x1.05c296p+17 +0x1.bd1f16p+18 +0x1.2a15e8p+6 +0x1.462c5cp+6 +0x1.495c3p+6 +0x1.e72c0cp+11 +0x1.d560d2p-3 +0x1.38951ep+2 +0x1.ed3746p+3 +0x1.05d07cp+17 +0x1.ad9bdap+6 +0x1.c264eap+3 +0x1.61113p+5 +0x1.846d78p-1 +0x1.e39d86p+0 +0x1.4f509ep+6 +0x1.c8913ep+5 +0x1.b55d18p+3 +0x1.8f7876p+2 +-0x1.cdfe9p-4 +0x1.6ba3c2p+6 +0x1.69393ep+5 +0x1.eefe5cp+5 +0x1.8fb65cp+5 +0x1.564706p+6 +0x1.f1b5e2p+0 +0x1.503aeap+3 +0x1.39191ap+5 +0x1.a99658p+5 +0x1.0b24b8p+5 +0x1.cdba2ep+16 +0x1.4a626ap+3 +0x1.9c6278p+6 +0x1.8b8b34p+1 +0x1.8835acp+3 +0x1.8241e6p+3 +0x1.288c3p+4 +0x1.e6a94cp+3 +0x1.8f7d04p+16 +0x1.4563d6p+3 +0x1.555c48p+5 +0x1.be8f5ep+5 +0x1.0efafp+6 +0x1.2be60ap+5 +0x1.446ed4p+3 +0x1.92a97ap+10 +0x1.4fdefcp+6 +0x1.9b7148p+5 +0x1.3ac938p+6 +0x1.35a626p+6 +0x1.f9cef6p+13 +0x1.400c7ep+5 +0x1.4585ap+1 +0x1.2c2824p+6 +0x1.5696bep+6 +0x1.f81912p+0 +0x1.3cd7cep+5 +0x1.2d0452p+5 +0x1.b78ce8p+5 +0x1.766feap+8 +0x1.1993d4p+6 +0x1.8ca58ap+6 +0x1.eca374p+16 +0x1.56bcfep+5 +0x1.a70b92p+4 +-0x1.783c68p-1 +-0x1.d471ccp-4 +0x1.1501f6p+0 +0x1.ece28ap+4 +0x1.2bbd2p+5 +0x1.8c60b4p-4 +0x1.fca99ep+12 +0x1.475e3ep+4 +0x1.c8852ep+12 +0x1.afa612p+5 +0x1.fa4534p+17 +0x1.fe6a66p+5 +0x1.fd86bap+5 +0x1.e1c7fap+11 +0x1.1f9e0cp+6 +0x1.76bd4ap+1 +0x1.8950e2p+11 +0x1.cace2cp+5 +0x1.f9fa1cp+5 +0x1.a391aap+12 +0x1.e2863cp+5 +0x1.1c326p+5 +0x1.72cf12p+6 +0x1.e211a4p+17 +0x1.b5f95p+5 +0x1.65bf7p+5 +0x1.722432p+0 +0x1.af8c6ep+5 +0x1.14329cp+5 +0x1.4d5e96p-3 +0x1.e6851cp+2 +0x1.49347p+5 +0x1.df4576p-4 +0x1.5b256p+4 +0x1.54531cp+11 +0x1.a0c38ep+3 +0x1.0cf0d6p+5 +0x1.b187f8p+1 +0x1.89def4p+5 +0x1.6a8b62p+4 +0x1.abb9acp+2 +0x1.aa08a8p+3 +0x1.989bdp+4 +0x1.33dd78p+6 +0x1.527f0ap+5 +0x1.d97db2p+2 +0x1.8d8c34p+3 +0x1.24ec7ap+5 +0x1.9c2d98p+12 +0x1.dca39cp+11 +0x1.023b6p+6 +0x1.5307b2p+5 +0x1.1b888cp+4 +0x1.7eb4e2p+5 +0x1.fd0ca4p+4 +0x1.085696p+4 +0x1.0b93b6p+5 +0x1.1093e6p+14 +0x1.0637e2p+3 +0x1.1fc7f8p+4 +-0x1.e1a0f2p-2 +0x1.3792a8p+6 +0x1.881e3p+2 +0x1.7e296ep+5 +0x1.6294f4p+4 +0x1.772fe6p+5 +0x1.0621a2p+7 +0x1.983c5ap+6 +0x1.27e0d4p+6 +0x1.64659cp+5 +0x1.a3479cp+0 +0x1.44e252p+5 +0x1.7e75b8p+6 +0x1.6ffffap+15 +0x1.e4fc4ep+1 +0x1.5c3daep+5 +0x1.618a2ap+2 +0x1.0bd4b2p+6 +0x1.8664c6p+5 +0x1.8e1278p+0 +0x1.b84122p+4 +0x1.aae7bap+1 +0x1.63353ap+5 +0x1.26457p+5 +0x1.8fbfd6p+5 +0x1.b3c76ap+5 +0x1.af2bdap+2 +0x1.eb943ep+4 +0x1.2b0a96p+5 +0x1.505928p+7 +0x1.2c261p+17 +0x1.b3f16cp+4 +0x1.b9973p-4 +0x1.69216ep+5 +0x1.e3f3f8p+4 +0x1.f2e0aap-4 +0x1.354cacp+8 +0x1.527854p+0 +0x1.680098p+4 +0x1.a41ef2p+2 +0x1.29645ap+4 +0x1.3ce44ap+2 +0x1.a67784p+3 +0x1.0d68f2p+2 +0x1.94507p+5 +0x1.0f1f0cp+6 +0x1.2b3edp+4 +0x1.ce94f8p+6 +0x1.18017p+6 +0x1.f6a9dcp+5 +0x1.2e3daap+4 +0x1.2913ep+2 +0x1.821aecp+5 +0x1.ad0d12p+4 +0x1.dc7948p+3 +0x1.3d68acp+4 +0x1.442006p+2 +0x1.d3f312p+4 +0x1.518fb6p+3 +0x1.df766cp+4 +0x1.01ba6cp+5 +0x1.0a5432p+4 +0x1.85d81p+4 +0x1.2a47f4p+5 +0x1.71e73ep+5 +0x1.cb2e3p+2 +0x1.8b5c5p+5 +0x1.9d254cp+1 +0x1.484966p+4 +0x1.5d8198p+8 +0x1.56861ep+3 +0x1.5d9d7p+4 +0x1.f26462p-1 +0x1.6389b8p+18 +0x1.8c36fep+4 +0x1.7ffdb4p+17 +0x1.267f74p+3 +0x1.daff7p+12 +0x1.8a2958p-1 +0x1.e31b02p+4 +0x1.df27eep+4 +0x1.6ddc84p+11 +0x1.500f9ap+5 +0x1.b4f776p+4 +0x1.0382ecp+6 +0x1.6eadb8p+13 +0x1.2b6278p+8 +0x1.c3c8a4p+5 +0x1.8b16c4p+4 +0x1.e027b8p+0 +0x1.aca70ap+4 +0x1.6316dep+5 +0x1.517ce8p+3 +0x1.85a478p+3 +0x1.020bap+5 +0x1.cfed52p+8 +0x1.6662ep+4 +0x1.cc413ep+3 +0x1.065872p+5 +0x1.775928p+4 +0x1.67c67p+2 +0x1.925766p+5 +0x1.eb2cacp+5 +0x1.e84188p+1 +0x1.cad03ep+4 +0x1.b5b916p+5 +0x1.d1355p+4 +0x1.696de2p+5 +0x1.6089a4p+3 +0x1.77914cp+2 +0x1.04179ap+5 +0x1.ec1ec2p+14 +0x1.47235cp+3 +0x1.39311cp+15 +0x1.a88e9ap+3 +0x1.055dccp+5 +0x1.3fb218p+1 +0x1.3cc748p+5 +0x1.e4d21p+3 +0x1.45998p-2 +0x1.77b652p+5 +0x1.90b588p+0 +0x1.3bd724p+3 +0x1.386cecp+13 +-0x1.6ab12cp-2 +0x1.8f3fd8p+5 +0x1.1d18dap+6 +0x1.960438p+5 +0x1.39beb4p+5 +0x1.846b92p+5 +0x1.a745c8p+5 +0x1.dd3946p+5 +0x1.83aee4p+8 +0x1.432626p+4 +0x1.1885b4p+4 +0x1.65c4e8p+2 +0x1.ebf18ap+5 +0x1.927c82p+4 +0x1.544f98p+6 +0x1.c93502p+5 +0x1.575b32p+1 +0x1.38f826p+5 +0x1.18956ep+3 +0x1.b92672p+5 +0x1.212bp+1 +0x1.857a18p+5 +0x1.cffbb2p+5 +0x1.a02372p+3 +0x1.ad6aa4p+6 +0x1.37a45cp+4 +0x1.37863cp+5 +0x1.65b564p+0 +0x1.2b6f06p+4 +0x1.2c5d8ap+4 +0x1.51b2ccp+18 +-0x1.ce2daep-2 +0x1.0f2eeap+3 +0x1.437e84p+6 +0x1.4a77c6p+0 +0x1.7c318cp-2 +0x1.5e0b9ap+7 +0x1.c7c696p+5 +0x1.1c079ep+3 +0x1.254602p+6 +0x1.6bc0f2p+6 +0x1.7cd1a2p+5 +0x1.6ccc58p+6 +0x1.e33af6p+5 +0x1.b9762ep+6 +0x1.783e8cp+14 +0x1.2d209p+6 +0x1.85834ap+14 +0x1.5f9464p+5 +0x1.6e000cp+5 +0x1.5ed52cp-2 +0x1.aa6f5cp+16 +0x1.fef1p+16 +0x1.89dfe8p+1 +0x1.97acb4p+4 +0x1.fa1e68p+7 +0x1.95043cp+9 +0x1.e4e748p+12 +0x1.ac7616p+6 +0x1.93af9cp+10 +0x1.126828p+5 +0x1.54095ap+7 +0x1.b9cabep+7 +0x1.352318p+4 +0x1.bf8032p+6 +0x1.4d6658p+16 +0x1.76a4dep+12 +0x1.d2ea3cp+5 +0x1.13275p+5 +0x1.168956p+5 +0x1.38054p+6 +0x1.165cecp+10 +0x1.5f2768p+4 +0x1.be2a7ap+13 +0x1.2affa2p+6 +0x1.18b12cp+14 +0x1.0d86aap+5 +0x1.a53572p+4 +0x1.6a4fd8p+6 +0x1.84bccep+6 +0x1.f74396p+5 +0x1.8161d6p+3 +0x1.14179ap+6 +0x1.98322cp+3 +0x1.11f5eep+13 +0x1.88b168p+6 +0x1.28e2fep+15 +0x1.b270a8p+5 +0x1.03ebecp+3 +0x1.25eee4p+5 +0x1.4a2cdcp+6 +0x1.ac289ap+0 +0x1.f1d7f8p+16 +0x1.326f6cp-4 +0x1.af0212p+4 +0x1.f779e8p+5 +0x1.c8cdacp+11 +0x1.6eb098p+10 +0x1.c92512p+8 +0x1.6a99ep+5 +0x1.ce282ap+2 +0x1.5cd72ap+4 +0x1.4e5dbp+5 +0x1.21fdep+2 +0x1.d722c8p+12 +0x1.6e6db4p+13 +0x1.39530ap+3 +0x1.679a7cp+5 +0x1.6a6768p+6 +0x1.b0fc96p+0 +0x1.fcfc9ep+9 +0x1.57f3aap+5 +0x1.e94a4p+3 +0x1.7d52c6p+3 +0x1.fcb44ep+4 +0x1.0e8b8p-1 +0x1.fe34e8p+4 +0x1.ad8772p+7 +0x1.5758dep+0 +0x1.f20c6ap+4 +0x1.044358p+6 +0x1.59af94p+3 +0x1.1356f6p+6 +0x1.4e079p+4 +0x1.7662dep+15 +0x1.9b494ap-2 +0x1.4e4c08p+4 +0x1.1d69f8p+5 +0x1.3ef416p+4 +0x1.8ce292p+5 +0x1.63b1dap+4 +0x1.0edf46p+6 +0x1.5fcc7cp+4 +0x1.c50028p+2 +0x1.430f9p+5 +0x1.4f51cp-1 +-0x1.b200cep-1 +0x1.3dfadp+3 +0x1.b8856p+8 +0x1.37c322p+7 +0x1.011c16p+5 +0x1.1008f2p+0 +0x1.4e520ap+4 +0x1.1eb636p+4 +0x1.257b94p+6 +0x1.91124ep+5 +0x1.893812p+5 +0x1.47995ap+5 +0x1.4e74p+7 +0x1.4f64dep+6 +0x1.95a4bap+11 +0x1.10adfcp+5 +0x1.728668p+4 +0x1.cae012p+6 +0x1.8b0d02p+5 +0x1.7c33d8p+5 +0x1.416256p+6 +0x1.6feedp+9 +0x1.62bafap+6 +0x1.bda804p+4 +0x1.de0fa2p-4 +0x1.e130dap+1 +0x1.9ef24cp+14 +0x1.73c67ap+1 +0x1.c44624p+5 +0x1.b41c6ap+4 +0x1.b0dc7ap-1 +0x1.193bfcp+16 +0x1.8fd5cep+5 +0x1.ad9bcp+5 +0x1.196742p+4 +0x1.2bb818p+5 +0x1.8bea72p+4 +0x1.80f552p+5 +0x1.1cab82p+0 +0x1.335832p+2 +0x1.a7f982p+6 +0x1.8e4706p+6 +0x1.585846p+4 +0x1.65941ep+5 +0x1.dc5876p+16 +0x1.027348p+10 +0x1.a874fap+4 +0x1.5d8cdp+6 +0x1.005de2p+3 +0x1.de94eap+11 +0x1.e87c94p+3 +0x1.317974p+15 +0x1.c5344p+6 +0x1.4f5494p+0 +0x1.00bc3cp+6 +0x1.478366p+5 +0x1.acded2p+5 +0x1.785bdcp+4 +0x1.04bcecp+5 +0x1.98ee96p+4 +0x1.de7378p+5 +0x1.a7bf26p+4 +0x1.91e55cp+1 +0x1.0f351ep+14 +0x1.0c360cp+3 +0x1.91910cp+4 +0x1.14ee88p+5 +0x1.47692ep+9 +0x1.539258p+6 +0x1.c0b47ep+3 +0x1.6c63bap+5 +0x1.30421cp+5 +0x1.9185f6p+4 +0x1.b0d998p+2 +0x1.e6e50cp+2 +0x1.52a1e8p+6 +0x1.6ceac8p+1 +0x1.ab1d36p+4 +0x1.5e7238p+2 +0x1.cca93p+5 +0x1.a7b582p+4 +0x1.38e3e6p+6 +0x1.4247acp+11 +0x1.ff8f58p+13 +0x1.88365ap+4 +0x1.a6bc72p+0 +0x1.cf600cp+5 +0x1.9527c6p+6 +0x1.908676p+5 +0x1.571dd2p+3 +0x1.47bab8p+4 +0x1.37926ep+2 +0x1.15a502p+5 +0x1.1abc4cp+7 +0x1.466092p+16 +0x1.280192p+5 +0x1.2a65fap+0 +0x1.9cc5c2p+1 +0x1.d059e2p+4 +0x1.be2764p+5 +0x1.61b718p+5 +0x1.db9c1ap+6 +0x1.7f5c62p+6 +0x1.7ba4bcp+5 +0x1.4cea8cp+16 +0x1.7c2be4p+3 +0x1.09e1b2p+5 +0x1.496c7p+16 +0x1.27025ap+10 +0x1.2bfd3ep+2 +0x1.3a5ebcp+0 +0x1.a16ff8p+7 +0x1.f902d6p+5 +0x1.9bbd3p-1 +0x1.ff5d34p+4 +0x1.d043cap+4 +0x1.f8fd78p+2 +0x1.353866p+12 +0x1.bd309ep+5 +0x1.3929fap+6 +0x1.61c9f4p+2 +0x1.0d18fp+11 +0x1.b49dc2p+3 +0x1.5c1214p+3 +0x1.807ap+5 +0x1.eac0d6p+4 +0x1.121ddcp+4 +0x1.0685fap+5 +0x1.4570ecp+5 +0x1.018284p+5 +0x1.cfba2p-1 +0x1.2bfcbap+5 +0x1.60fc3p+6 +0x1.1b83a6p+5 +0x1.ac4ba6p+4 +0x1.8d06fp+2 +0x1.3b3336p+5 +-0x1.34aa58p-2 +0x1.934d4cp+6 +0x1.1fa694p+7 +0x1.05ee9p+6 +0x1.89a5e2p+6 +0x1.953a84p+4 +0x1.2b88c2p+6 +0x1.9f94cp+5 +0x1.48f124p+7 +0x1.a193e2p+3 +0x1.6520acp+4 +0x1.0c1f02p+12 +0x1.32fe48p+1 +0x1.4da286p+4 +0x1.543f0cp+5 +0x1.5ae39ap+4 +0x1.6d1ee6p+4 +0x1.000e26p+4 +0x1.38bf14p+4 +0x1.56e08ap+3 +0x1.f2f66p+5 +0x1.f18c7ap+4 +0x1.d9be16p+5 +0x1.27d1f4p+2 +0x1.f6d5b6p-1 +0x1.54974ap+3 +0x1.03bd6p+6 +0x1.ce8d6ep+4 +0x1.0acf22p+5 +0x1.015c06p+1 +0x1.b4b4bep+6 +0x1.d2272ap+5 +0x1.2c681cp+5 +0x1.d2776ap+3 +-0x1.2acba6p-3 +0x1.42c1dp+5 +0x1.283d1ap+3 +0x1.bf06c2p+6 +0x1.62e314p+2 +0x1.3d5e6ep+5 +0x1.6a909cp+4 +0x1.5a7128p+2 +0x1.37f2eap+5 +0x1.32e1c4p+14 +0x1.999c3cp+0 +0x1.d52cdp+3 +0x1.119b7cp+5 +0x1.337e36p+0 +0x1.f8d5fep+11 +0x1.b79c6ep+4 +0x1.a355aap+4 +0x1.4bd58p+13 +0x1.927edep+7 +0x1.a0c77ap+7 +0x1.390dd8p+6 +0x1.f88a48p+16 +0x1.35e954p+10 +0x1.7c118p+6 +0x1.34ecc6p+6 +0x1.6b4f9p+3 +0x1.73836ap+10 +0x1.526762p+13 +0x1.65600ep+2 +0x1.45f888p+15 +0x1.fe590ep+5 +0x1.244fc4p+6 +0x1.12f882p+4 +0x1.2f9e8ep+16 +0x1.1b3af6p+5 +0x1.a16672p+12 +0x1.359144p+9 +0x1.7dbb1p+7 +0x1.0b1622p+7 +0x1.b0b864p+3 +0x1.2f49f2p+15 +0x1.1e7d54p+3 +0x1.8342c8p+5 +0x1.847cecp+2 +0x1.30ce3ep+8 +0x1.11965ep+5 +0x1.a7d6c4p+5 +0x1.069726p+6 +0x1.b3fd6p+5 +0x1.38fe8ep+5 +0x1.33010cp+4 +0x1.ca827ap+3 +0x1.9bd5bap+5 +0x1.5a23fcp+6 +0x1.05bf5cp+6 +0x1.bb6e9ap+5 +0x1.67a834p-4 +0x1.4bba92p+18 +0x1.e966acp+16 +0x1.253496p+1 +0x1.988fep+3 +0x1.dfe79p+4 +0x1.38228cp+5 +0x1.0ad42ap+14 +0x1.996e72p+6 +0x1.1de83ap+6 +0x1.0e770ep+7 +0x1.011012p+3 +0x1.5a95a2p+5 +0x1.54e30cp+4 +0x1.b13b04p+5 +0x1.fefd48p+12 +0x1.ee1ac2p-1 +0x1.15e2b6p+4 +-0x1.181848p-1 +0x1.8d717ep+12 +0x1.2aaa5ap+15 +0x1.8ea932p+4 +0x1.eb70ccp+5 +0x1.1e72bcp+4 +0x1.b25ebap+18 +0x1.7d6a9ep+18 +0x1.bf22b8p+4 +0x1.a47dbp+2 +0x1.147deep+5 +0x1.ac1bd2p+3 +0x1.363c08p+2 +0x1.cf97a6p+4 +0x1.a5ec16p+5 +0x1.76c80cp+5 +0x1.95693ep-1 +0x1.2fcc4p+10 +0x1.e0bfaap+5 +0x1.d11406p+1 +-0x1.e8725ep-1 +0x1.48da42p+3 +0x1.25b868p+3 +0x1.c67e4cp+5 +0x1.08f5a8p+2 +0x1.5e858p+5 +0x1.27e8a8p+15 +0x1.246602p+9 +0x1.e621cap+4 +0x1.625216p+12 +0x1.798d8ep+16 +0x1.f5c656p+4 +0x1.6e8d34p+2 +0x1.9e6614p+5 +0x1.126db2p+2 +0x1.a1efd8p+4 +0x1.e5ba06p+4 +0x1.3b7536p+6 +0x1.29b4a2p+18 +0x1.6eca8cp+5 +0x1.a5b0cap-3 +0x1.16bc9cp+4 +0x1.0e914cp+13 +0x1.3a59a8p+17 +0x1.9ce9d2p+5 +0x1.871f78p+3 +0x1.47c48ap+1 +0x1.12a462p+10 +0x1.342746p+6 +0x1.4e9fc8p+13 +-0x1.b60ab4p-4 +0x1.035794p+5 +0x1.350e66p+0 +0x1.61691ap+6 +0x1.d500bap+5 +0x1.bd1874p+0 +0x1.6f8a68p+3 +0x1.5cda14p+7 +0x1.04903ep+6 +0x1.d28a2cp+3 +0x1.0e4718p+2 +0x1.739adcp+3 +0x1.68890ap+6 +0x1.cce74p+5 +0x1.3d35dp+5 +0x1.bc5122p+5 +0x1.4f6066p+15 +0x1.451b3p+5 +0x1.f12564p+12 +0x1.b971bp+14 +0x1.1288c4p+6 +0x1.bcfe26p+10 +0x1.355932p+3 +0x1.487bbap+7 +0x1.911642p+5 +0x1.068e2ap+3 +0x1.7b43acp+5 +0x1.053f34p+10 +0x1.d06298p+5 +0x1.39b39ap+5 +0x1.091b34p+3 +0x1.a02f62p+5 +0x1.e3ee8ep+3 +0x1.a2bcd6p+4 +0x1.3a8c92p+0 +0x1.3867cap+4 +0x1.85217cp+10 +0x1.c92eb8p+4 +0x1.e7dfd2p+4 +0x1.385854p+4 +0x1.8acb4ap+5 +0x1.53aa38p+6 +0x1.e6b71p+6 +0x1.4ed29ap+14 +0x1.2dd3dcp+4 +0x1.7c66d4p+5 +0x1.a25992p+6 +0x1.13fbc8p+6 +0x1.0c1bb2p+5 +0x1.1e4564p+6 +0x1.7189a2p+0 +0x1.ba73c8p+1 +0x1.e5ae44p+3 +0x1.d35f9ep+11 +0x1.cefebcp+1 +0x1.a23fb4p+4 +0x1.6ae0fep+3 +0x1.afb7ap-1 +0x1.85b79ap+6 +0x1.954e16p+6 +0x1.19beb2p+2 +0x1.7183b2p+5 +0x1.74efb4p+12 +0x1.06724ep+4 +0x1.46d2cep+5 +0x1.e346dap+5 +0x1.35b1f2p+5 +0x1.126cd4p+1 +0x1.4531e4p+3 +0x1.576472p+4 +0x1.e80f14p+4 +0x1.5afc4ap+6 +0x1.bf705cp-1 +0x1.1740fp+0 +0x1.1eb962p+7 +0x1.a4257ep+6 +0x1.bc7e8cp+6 +0x1.85638cp-4 +-0x1.a41d6ap-1 +0x1.ef2d16p+5 +0x1.630b52p+6 +0x1.99f70ap+6 +0x1.38cfdep+4 +0x1.384a92p+1 +0x1.a0099cp+3 +0x1.bfb43p+5 +0x1.0a6094p+6 +0x1.144f6p+10 +0x1.04659ep+4 +0x1.9e2698p+5 +0x1.d366bp+5 +0x1.7ae246p+3 +0x1.7eb94p+4 +0x1.79b5ep+15 +0x1.2bbf2ep+6 +0x1.588eeap+7 +0x1.714c4ap+4 +0x1.c1cc36p+5 +0x1.a7bd5ep+2 +0x1.7b850ap+5 +0x1.28692p+5 +0x1.745238p+5 +0x1.58de4ep+2 +0x1.4fa254p+5 +0x1.0b70cp+3 +0x1.52bd98p+2 +0x1.8c46f6p+5 +0x1.f3be58p+5 +0x1.183796p+5 +0x1.89e9c2p+5 +0x1.425f4cp+9 +0x1.0240b8p+7 +0x1.c2a52p+5 +0x1.02d6dep+5 +0x1.e0d5f4p+4 +0x1.65b9eap+12 +0x1.197b54p+5 +0x1.ff5bc2p+4 +0x1.11db68p+6 +0x1.69eedp+9 +0x1.55ac34p+5 +0x1.17e262p+6 +0x1.b64c0ap+2 +0x1.52bea2p+4 +0x1.a4c86ap+4 +0x1.7d0e8cp+5 +0x1.6ef228p-1 +0x1.663c42p+5 +0x1.8978f8p+3 +0x1.34e31cp+14 +0x1.a2aa36p+6 +0x1.516128p+4 +0x1.7dcd84p+16 +0x1.34975ep+6 +0x1.edb4a4p+9 +0x1.3496acp+1 +0x1.f611cap+4 +0x1.0b4ea2p+6 +0x1.df3e9ap+2 +0x1.f06ee2p+12 +0x1.25551p+6 +0x1.261be6p+6 +0x1.ad3ca8p+5 +0x1.1c4252p+6 +0x1.d731aap+16 +0x1.1362c8p+6 +0x1.4ed0a6p+3 +0x1.186bb6p+4 +0x1.e833e2p+15 +0x1.6a589ap+4 +0x1.3ad4bcp+6 +0x1.0cb518p+13 +0x1.82373ap+7 +0x1.324312p+5 +0x1.29c2cap+2 +0x1.0c2188p+1 +0x1.00c1e2p+0 +0x1.bec4a4p+1 +0x1.aec8bcp+5 +0x1.0ecc74p+6 +0x1.49aa2p+5 +0x1.92d7acp+5 +0x1.b8f6acp+3 +0x1.499a22p+4 +0x1.12dd22p+12 +0x1.50ad8cp+2 +0x1.751e64p+1 +0x1.cc3852p+5 +0x1.508ae8p+3 +0x1.691704p+6 +0x1.32cb9cp+17 +0x1.22d54p+4 +0x1.ec87b8p+1 +0x1.1bd96ep+1 +0x1.f7fa4ep+2 +0x1.8a7594p+18 +0x1.2999b4p+2 +0x1.e42e4ep+4 +0x1.89a11p+13 +0x1.0685e2p-1 +0x1.23391cp+6 +0x1.28ae14p+14 +0x1.7259dap+5 +0x1.eaa5f4p+5 +0x1.083aa6p+6 +0x1.73238cp+5 +0x1.abf078p+1 +0x1.11c87p+0 +0x1.4fce1p+6 +0x1.eaf21ap-1 +0x1.e9bafcp+4 +0x1.848cdp+10 +0x1.f3386p+2 +-0x1.8aa1d8p-2 +0x1.4cdcaep+4 +0x1.33bcf4p-1 +0x1.6daed6p+2 +0x1.254864p+7 +0x1.30daap+0 +0x1.476eb4p+4 +0x1.c79e6p+5 +0x1.0d3736p+6 +0x1.0e7b9ep+15 +0x1.299cb2p+5 +0x1.0b435p+11 +0x1.163bfep+6 +0x1.be0558p+8 +0x1.5b88fcp+19 +0x1.30e1ecp+5 +0x1.de7332p+3 +0x1.651c4p+11 +0x1.7fedeep+4 +0x1.116c08p+3 +0x1.a3f7ap+5 +0x1.2934d6p+5 +0x1.1ca92ap+5 +0x1.b5302ep+2 +0x1.808592p+11 +0x1.4efe5p+16 +0x1.606834p+3 +0x1.a89fbp+6 +0x1.b5aa28p+2 +0x1.0efe72p+5 +0x1.d61842p+4 +0x1.490584p+17 +0x1.3c4cb2p+16 +0x1.ed2a6cp+5 +0x1.1f2cap+5 +0x1.96e7e4p+13 +0x1.62cf14p+8 +0x1.57db6cp+0 +0x1.14357ep+9 +0x1.080bf8p+5 +-0x1.664e4cp-1 +0x1.4d3a7ep+6 +0x1.1ddd7p+4 +0x1.21852cp+10 +0x1.c8827p+9 +0x1.34d8dp+1 +0x1.653e5p+4 +0x1.09b8eep+5 +0x1.095022p+14 +0x1.5483dp+9 +0x1.7b4fdcp+3 +0x1.4498cap+3 +0x1.700cbp+4 +0x1.538ac4p+0 +0x1.109feep+4 +0x1.c85592p+5 +0x1.2c7f92p+5 +0x1.22e34ep+17 +0x1.09b518p+4 +0x1.2f3a04p+16 +0x1.073d0ep+8 +0x1.63be2p+7 +0x1.6db472p+10 +0x1.fbbeeap+5 +0x1.483938p+5 +0x1.e0d0e2p+4 +0x1.40fb1cp+5 +0x1.e1abdp+6 +0x1.913dbep+2 +0x1.6afc28p+12 +0x1.838f5cp+6 +0x1.d80dfp+5 +0x1.15cedep+5 +0x1.7bbb2cp+5 +0x1.f4199p+2 +0x1.41b30ap+14 +0x1.7cabbp+4 +0x1.f56d78p+3 +0x1.2190e2p+5 +0x1.33706ap+5 +0x1.947e96p+5 +0x1.deaec8p+4 +0x1.7aa624p+6 +0x1.1d0e18p+3 +0x1.755ce6p+16 +0x1.a70132p+5 +0x1.10f042p+14 +0x1.34596ap+5 +0x1.9a6268p+0 +0x1.2b931ap+5 +0x1.6f8d88p+13 +0x1.41dddp+3 +0x1.a0a2p+3 +0x1.3ed22ap+2 +0x1.c51b52p+3 +0x1.8c078ep+5 +0x1.b6311ep+5 +0x1.900b48p+5 +0x1.9e1ec2p+5 +0x1.0880d2p+4 +0x1.2f5fb8p+13 +0x1.ab18aep+4 +0x1.0e7c6ap+5 +0x1.78dfdep+5 +0x1.4e1d1ep+5 +0x1.1489e2p+4 +0x1.097b58p+5 +0x1.26265ap+5 +0x1.d79dfap+5 +0x1.4b62d8p+6 +0x1.8a85ecp+5 +0x1.021888p+2 +0x1.4f8f3cp-2 +0x1.0a00eep+4 +0x1.a17128p+4 +0x1.86455ap+1 +0x1.32e194p+3 +0x1.70ca56p+5 +0x1.3893c8p+5 +0x1.230286p+15 +0x1.37dd4cp+4 +0x1.44fd5ap+3 +0x1.fb16e4p+3 +0x1.50c566p+4 +0x1.7ea752p+3 +0x1.0a719ap+4 +0x1.3a403ap+7 +0x1.10a724p+14 +0x1.c8c5a2p+4 +0x1.e018a6p+4 +0x1.67109ep+6 +0x1.1a459cp+4 +0x1.562774p+6 +0x1.586ed4p+5 +0x1.475d46p+13 +0x1.586706p+4 +0x1.7ab528p+17 +0x1.f73ab6p+4 +0x1.584cacp+6 +0x1.cd83cap+5 +0x1.4f1aep+5 +0x1.e766f8p+3 +0x1.72acep+13 +0x1.6a85dp+9 +0x1.2e8a8ep+5 +0x1.8c0f58p+2 +0x1.45480cp+4 +0x1.4d67ccp+4 +0x1.8dc7d2p+6 +0x1.c6b3ecp+5 +0x1.00596ap+6 +0x1.714d62p+4 +0x1.54c6e4p+3 +0x1.69f99ep+6 +0x1.3108d6p+4 +0x1.65b018p+5 +0x1.96c5bap+10 +0x1.3275f8p+3 +0x1.226bfp+11 +0x1.ab2cfep+5 +0x1.ad5f9ap+5 +0x1.3d184ep+6 +0x1.bc27b8p+0 +-0x1.28a9e8p-1 +0x1.b2d998p+11 +0x1.18f02p+5 +0x1.3424a4p+6 +0x1.4c6f1p+8 +0x1.7f18bap+6 +0x1.018224p+5 +0x1.74e268p+4 +0x1.11f5b4p+5 +0x1.46884cp+16 +0x1.9ed53cp+3 +0x1.8f68e6p+1 +0x1.98b228p+0 +0x1.5584d6p+6 +0x1.1e449ep+6 +0x1.463e58p+2 +0x1.1d40a6p+3 +0x1.07b0d6p+3 +0x1.066afep+5 +0x1.186378p+0 +0x1.41a8cep+6 +0x1.611a64p+6 +0x1.b2652cp+0 +0x1.1f4206p+4 +0x1.7f3936p+5 +0x1.d0483ap+9 +0x1.52b708p+3 +0x1.b669ccp+5 +0x1.cbb8d6p+1 +0x1.adf2d4p+6 +0x1.47d4acp+3 +0x1.4dbc7cp+5 +0x1.afd006p+6 +0x1.16f6bap+4 +0x1.31066ep+0 +0x1.6ae894p+4 +0x1.888ec8p+6 +0x1.f741b2p+5 +0x1.64fe6ap+5 +0x1.38374ep+4 +0x1.7f62a8p+1 +0x1.96d82p+5 +0x1.27984p+18 +0x1.78e3fp+5 +0x1.63b788p+5 +0x1.5f572ap+1 +0x1.d49238p+11 +0x1.e80c7ep+8 +0x1.519808p-1 +0x1.28ad32p+6 +0x1.cf7316p+5 +0x1.c109bep+0 +0x1.c7372cp+4 +0x1.edc844p+3 +0x1.4e2dep+5 +0x1.ad76f2p+8 +0x1.0b6806p+6 +0x1.b0a8eep+10 +0x1.2884c6p+5 +0x1.1f5288p+5 +0x1.f0c374p+4 +0x1.27e2bep+2 +0x1.b3dff4p+2 +0x1.8d6172p+4 +0x1.500d3cp+10 +0x1.1ece1ap+4 +0x1.07dabap+6 +0x1.ac31a6p+4 +0x1.0506e8p+5 +0x1.b3c106p+3 +0x1.5f2454p+18 +0x1.0a3bb8p+3 +0x1.91f808p-2 +0x1.c1a63ap+4 +0x1.014202p+5 +0x1.81decp+4 +0x1.68feecp+18 +0x1.517cccp+9 +0x1.cee38p+2 +0x1.e8cba8p+9 +0x1.d4fcc2p+14 +0x1.e331bcp+12 +0x1.1761aep+5 +0x1.26c92ep+4 +0x1.3c86f2p+7 +0x1.c48b52p+5 +0x1.0bdaf2p+5 +0x1.9d98d8p+5 +0x1.f5a05ep+0 +0x1.454312p+7 +0x1.0bfb14p+0 +0x1.0c5cc6p+5 +0x1.e8b668p+4 +0x1.96aa32p+6 +0x1.31e3fcp+4 +0x1.9eb1bcp+4 +0x1.2194bap+6 +0x1.a5244p+4 +0x1.b2b4a8p+5 +0x1.dd4932p+13 +0x1.be656ap+4 +0x1.4f6b3p+6 +0x1.5449ccp+5 +0x1.be4ed6p+4 +0x1.f7cb36p+4 +0x1.1e5bdap+5 +0x1.960a18p+9 +0x1.9f9a4ap+5 +0x1.dec0ap+5 +0x1.eab544p+5 +0x1.0ed152p+6 +0x1.b5c49cp+5 +0x1.fd3afp+4 +0x1.46f7e4p+6 +0x1.94da7ep+4 +0x1.c4fe4cp+6 +0x1.ea091ep+3 +0x1.078298p+5 +0x1.671e18p+7 +0x1.08d87p+5 +0x1.4eee6ap+9 +0x1.0b3d6p+6 +0x1.c3fa14p+6 +0x1.7db1fep+4 +0x1.1385ap+3 +0x1.7868dep+5 +-0x1.0411c4p-1 +0x1.039392p+3 +0x1.81cb34p+5 +0x1.681b12p+5 +0x1.b772e4p+3 +0x1.301d76p+11 +0x1.e7362ap+5 +0x1.52f8c6p+4 +0x1.04be72p+6 +0x1.3ed104p+5 +0x1.be7c1p+4 +0x1.7ac1c2p+3 +0x1.944892p+3 +0x1.c7e152p+4 +0x1.abaec2p+4 +0x1.6cb424p+1 +0x1.1f9346p+13 +0x1.6bdb6ap+5 +0x1.79081cp+7 +0x1.3a5494p+5 +0x1.3c573cp+2 +0x1.97e3c6p+6 +0x1.779446p+4 +0x1.006e68p+3 +0x1.3cd298p+16 +0x1.d327dap+5 +0x1.a29696p+5 +0x1.508edep+2 +0x1.25fbe4p+5 +0x1.d65e7cp+3 +0x1.156a8p+4 +0x1.14f542p+11 +0x1.8761c4p+4 +0x1.65592p+14 +0x1.c34242p+0 +0x1.2f57d4p+4 +0x1.c27f52p+3 +0x1.fe9fa6p+4 +0x1.4dcfd2p+1 +0x1.eb88acp+5 +0x1.9ba784p+5 +0x1.97609ep+5 +0x1.cd060ep+2 +0x1.013b56p+8 +-0x1.4163b6p-2 +0x1.a7c55p+6 +0x1.d503aep+4 +0x1.148d7ap+6 +0x1.2c1134p+6 +0x1.4213f6p+6 +0x1.e093a2p+6 +0x1.f5a6f8p+4 +0x1.89654ap+12 +0x1.d124f2p+3 +0x1.04f8eap+3 +0x1.4d2d06p+5 +0x1.1b16a2p+5 +0x1.b7b3ep+5 +0x1.793ee6p+7 +0x1.c7f194p+4 +0x1.7d2184p+6 +0x1.8cb654p+12 +0x1.2dac48p-3 +0x1.2c02c4p+9 +0x1.16c3ecp+7 +0x1.07426ep+6 +0x1.57c4cep+6 +0x1.e7f6d6p+5 +0x1.a77d7ap+5 +0x1.ae264ep+4 +0x1.cefc2ep+3 +0x1.23179cp+12 +0x1.f552cep+2 +0x1.700c74p+13 +0x1.98ad1ap+15 +0x1.80c276p+3 +0x1.8ab8p+2 +0x1.be98dcp+8 +0x1.1119c8p+11 +0x1.831e8p+5 +0x1.7e6074p+5 +0x1.3e8ac8p+10 +0x1.75e27ep+10 +0x1.3114cp+6 +0x1.e5eacap+4 +0x1.93aa72p+5 +0x1.142bf8p+6 +0x1.06587ap+6 +0x1.7af9b8p+1 +0x1.90b76p+3 +0x1.fbfd6ap+5 +0x1.ce31b2p+2 +0x1.bcebaap+13 +0x1.c1b022p+4 +0x1.dd0bfp+4 +0x1.3cef26p+5 +0x1.100166p+3 +0x1.3c3124p+0 +0x1.b504fcp+5 +0x1.798e4cp+5 +0x1.7de44ep+0 +0x1.97f7e8p+5 +0x1.c5b48ep+3 +0x1.3201c2p+13 +0x1.a8066cp+3 +0x1.722d36p+13 +0x1.006f58p+5 +0x1.effb1p+4 +0x1.034abcp+6 +0x1.087976p+6 +0x1.6f6cd8p+3 +0x1.dabf7ap+5 +0x1.e166bep-1 +0x1.a04f06p+6 +0x1.61ab86p+5 +0x1.75b6bep+5 +0x1.59b2e6p+10 +0x1.1b282ap+6 +0x1.25e5f4p+3 +0x1.0467cp+5 +0x1.3f2ff6p+3 +0x1.5093e6p+14 +0x1.476c22p+6 +0x1.7913ccp+5 +0x1.fcc8ecp+11 +0x1.0455a4p+0 +0x1.56532cp+8 +0x1.33a39ep+6 +0x1.a7f31ap+2 +0x1.6fe1cp+0 +0x1.dc1e06p+5 +0x1.a28bc6p+10 +0x1.e8fea8p+5 +0x1.9f5526p+0 +0x1.a82db6p+0 +0x1.c9b68ap+7 +0x1.d4dbc2p+4 +0x1.1f7baep+6 +0x1.9b7a26p-2 +0x1.a44f92p+13 +-0x1.106e9ap-1 +0x1.3a00c8p+4 +0x1.1a44d6p+0 +0x1.990dc8p+6 +0x1.c1692cp+3 +0x1.9ff2bep+4 +-0x1.0ed5ep-1 +0x1.45f90ap+6 +0x1.3cb0bep+6 +0x1.101d42p-3 +0x1.4ea2aap+5 +0x1.2a2fep+6 +0x1.4c20b6p+4 +0x1.042b7cp+4 +0x1.863504p+5 +0x1.1f8bcep+4 +0x1.2af996p+4 +0x1.6709fp+3 +0x1.c2e56ep+5 +0x1.10016p+2 +0x1.d9bc3cp+3 +0x1.e8b65cp+17 +0x1.80fe94p+2 +0x1.34a07cp+6 +0x1.3b8364p+11 +0x1.d0ac76p+4 +0x1.e45db2p+6 +0x1.b5feep+0 +0x1.62ce24p+5 +0x1.b464acp+1 +0x1.13dc72p+0 +0x1.007e7p+8 +0x1.31eb5ap+2 +0x1.1a244p+4 +0x1.943698p+6 +0x1.83e5fp+5 +0x1.88b6f4p+5 +0x1.0eef26p+0 +0x1.1217c2p+6 +0x1.05a348p+6 +0x1.b95f3p+15 +0x1.cc123cp+4 +0x1.d52e3cp+6 +0x1.75fb16p+3 +0x1.e38868p+1 +0x1.a10f84p+5 +0x1.562a3ap+5 +0x1.bd0d8cp+3 +0x1.cdec1p+6 +0x1.9ab52p+5 +0x1.5ad95ap+0 +0x1.c65556p+15 +0x1.f91314p+3 +0x1.55fd46p+14 +0x1.99ffb8p+1 +0x1.55148ap+5 +0x1.0a6d28p+4 +0x1.38d9dp+6 +0x1.1bd832p+4 +0x1.131e5cp+4 +0x1.79dfaep+5 +0x1.40f426p+6 +0x1.27fa22p+9 +0x1.c1edd6p+1 +0x1.2d11d6p+6 +0x1.4cb2cep+7 +0x1.d3d1d8p+5 +0x1.fdb9eap+3 +0x1.58dceap+5 +0x1.00d91ep+4 +0x1.046404p+3 +0x1.194254p+5 +0x1.fc8684p+4 +0x1.cf636cp+13 +0x1.31709p+1 +0x1.137c4p+7 +0x1.c0fab4p+12 +0x1.1779aep+6 +0x1.bd97bp+4 +0x1.d842e8p+5 +0x1.4d1066p+1 +0x1.9bf98cp+6 +0x1.4e0524p+1 +0x1.e756eap+5 +0x1.1464a4p+4 +0x1.9033ccp+6 +0x1.cefd54p+0 +0x1.de87eep+6 +0x1.1d354p+5 +0x1.5f678p+4 +0x1.d6cc6cp+4 +0x1.6d4854p+17 +0x1.715618p+6 +0x1.403a32p+5 +0x1.7e33dp+4 +0x1.2aac8cp+6 +0x1.0742f4p+3 +0x1.2feec2p+3 +-0x1.32035p-3 +0x1.e5922cp+4 +0x1.7cef12p+7 +0x1.83bb94p+6 +0x1.91fddap+5 +0x1.cee8c8p+3 +0x1.d7bbcap+10 +0x1.e97a1ep+4 +0x1.29ea94p+7 +0x1.01dc4ep+5 +0x1.210bfp+2 +0x1.886ff4p+5 +0x1.03131cp+5 +0x1.14103ep+5 +0x1.10db9p+3 +0x1.f68bb4p+5 +0x1.76a80ap+0 +0x1.e1442cp+9 +0x1.05a5bap+3 +0x1.5d7232p+4 +-0x1.35ce14p-1 +0x1.071128p+6 +0x1.fd785cp+2 +0x1.87c5d8p+6 +0x1.55b07ep+2 +0x1.9157a8p+9 +0x1.2efb6cp+5 +0x1.c88d94p+5 +0x1.99ec3p+1 +0x1.69fe9p+4 +0x1.0931a4p+5 +0x1.de520cp+1 +0x1.579186p+1 +0x1.21c77ep+6 +0x1.0fbc46p+17 +0x1.5b67aep+5 +0x1.e7554ep+5 +0x1.181ce8p+6 +0x1.e62fd2p+3 +0x1.97972cp+5 +0x1.1787e8p+0 +0x1.f608dap+5 +0x1.35215ap+3 +0x1.c0f5c2p+4 +0x1.2337ecp+5 +0x1.5eaa62p+7 +0x1.d20cb2p+5 +0x1.2f5a26p+4 +0x1.2ba522p+3 +0x1.13cf56p+6 +0x1.970c98p+3 +0x1.7909fcp+6 +0x1.330c0ap+3 +0x1.cb2bc2p+5 +0x1.88b0fap+5 +0x1.90fe74p+4 +0x1.e8b512p+5 +0x1.6f10bcp+6 +0x1.b6d508p+8 +0x1.f32d18p+4 +0x1.5dfb8cp+3 +0x1.fb48f6p+5 +0x1.a28bc8p+5 +0x1.9e1c92p+13 +0x1.ce48b2p+4 +0x1.03c6eap+0 +0x1.b211a8p+5 +0x1.416b4ep+2 +0x1.6149b4p+3 +0x1.d100eep+3 +0x1.61663ep+3 +0x1.b4d0dap+0 +0x1.8c8acep-1 +0x1.835606p+6 +0x1.2cded8p+5 +0x1.75ce3cp+1 +0x1.3a836ep+6 +0x1.662464p+8 +0x1.9925ep+5 +0x1.ff0538p+6 +0x1.601a3cp+4 +0x1.56da94p+4 +0x1.33ca4cp+7 +0x1.af9bbcp+1 +0x1.669a76p+6 +0x1.976672p+5 +0x1.28a26ep+5 +0x1.8fde5p+4 +0x1.1b1756p+3 +0x1.5f2d16p+4 +0x1.90596p+4 +0x1.8a3376p+5 +0x1.280cb2p+5 +0x1.6768ecp+2 +0x1.12793ap+16 +0x1.47279ap+5 +0x1.7fe61p+5 +0x1.6bfb62p+3 +0x1.bf0e7cp+5 +0x1.208f78p+16 +0x1.cca7a6p+3 +0x1.9be25ap+1 +0x1.738b08p+5 +0x1.7c2cd8p+13 +0x1.0463fp+5 +0x1.127acap+4 +0x1.b50fb6p+4 +0x1.b8e9aap+12 +0x1.4833ccp+1 +0x1.311552p+5 +0x1.f51552p+14 +0x1.0ed704p+4 +0x1.21865p+3 +0x1.c98f66p+4 +0x1.5400ap+15 +0x1.95d3cep+4 +0x1.b2d03ep+6 +0x1.72efccp+5 +0x1.3b404cp+6 +0x1.d8f478p+3 +0x1.d9adfp+5 +0x1.07c57p+6 +0x1.5fed78p+4 +0x1.bb6c22p+4 +0x1.4e50ap+6 +0x1.3111ecp+12 +0x1.d81902p+14 +0x1.ce8e42p+8 +0x1.cc8e46p+3 +0x1.744e64p+7 +0x1.beba2ap+6 +0x1.1d6c18p+6 +0x1.bfdae2p+3 +0x1.089acp+8 +0x1.77f3a2p+1 +0x1.35fb54p+4 +0x1.9d26ep+4 +0x1.e38b7ep+3 +0x1.9597fp+11 +0x1.53260ep+5 +0x1.1d1604p+5 +0x1.3dcdbp+14 +0x1.49d134p+2 +0x1.2ca796p+11 +0x1.28eb18p+6 +0x1.528afcp+5 +0x1.71adbap+4 +0x1.bb9be2p+5 +0x1.06aaaep+5 +0x1.3b24c2p+7 +0x1.da1b72p+5 +0x1.12b832p+5 +0x1.2a49ecp+5 +0x1.b303d2p+0 +0x1.355ecap+4 +0x1.0daf74p+1 +0x1.efb0b8p+5 +0x1.24a4cap+5 +0x1.7ca1p+4 +0x1.121b78p+6 +0x1.3b6f78p+16 +0x1.d88462p+3 +0x1.3845fap+5 +0x1.ec72b2p+4 +0x1.98ef4ap+5 +0x1.ba65c2p+5 +0x1.abd3fap+1 +0x1.28952ep+5 +0x1.08a1f8p+5 +0x1.80d878p+4 +0x1.68f942p+0 +0x1.1eab6cp+12 +0x1.eb1fd6p+0 +0x1.1bbd56p+11 +0x1.5b2572p+1 +0x1.ecb5eep+5 +0x1.50e366p+4 +0x1.34c314p+11 +0x1.7d4a42p+2 +0x1.ca89bep+3 +0x1.fd0c92p+4 +0x1.758f8cp+6 +0x1.a81604p+5 +0x1.12d65ep+6 +0x1.08ea5cp+6 +0x1.ca86b6p-2 +0x1.2f7b6cp+3 +0x1.7ddc9ep+14 +0x1.4ce6e6p+5 +0x1.75fa2cp+4 +0x1.fd64acp+4 +0x1.cfcf14p+7 +0x1.7c24dap+5 +0x1.5bce16p+3 +0x1.67f9a8p+5 +0x1.798914p+4 +0x1.4a1ad6p+12 +0x1.fb26aap+6 +0x1.02d01cp+6 +0x1.0837d6p+5 +0x1.bd7beap+5 +0x1.153baap+4 +0x1.588d6cp+13 +0x1.069b82p+5 +0x1.036d9ap-1 +0x1.436852p+3 +0x1.2f7bap+6 +0x1.c6fecap-3 +0x1.354466p+8 +0x1.6ad37cp+3 +0x1.a22ed2p+3 +0x1.74228ep+5 +0x1.aa64c2p+9 +0x1.fc387ap+10 +0x1.338a82p+14 +0x1.c58058p+1 +0x1.946054p+4 +0x1.33d672p+6 +0x1.0099f6p+4 +0x1.24d88ep+6 +0x1.383f14p+6 +0x1.e988a2p+4 +0x1.c7c324p+5 +0x1.cd1cb4p+3 +0x1.61109p+1 +0x1.374b7p+5 +0x1.56b35ap+6 +0x1.6917dcp+5 +0x1.a19678p+5 +0x1.303042p+3 +0x1.1530f6p+17 +0x1.8f93c8p+18 +-0x1.ffa25cp-2 +0x1.9ca244p+6 +0x1.568c0ep+6 +0x1.7711e6p+5 +0x1.de212ep+4 +0x1.344a62p+6 +0x1.ca02e8p+1 +0x1.6112e2p+5 +0x1.222262p+7 +0x1.a81dcp+2 +0x1.7c6e82p+5 +0x1.fe7522p+14 +0x1.44098ep+3 +0x1.68808p+6 +0x1.6fa9f2p+1 +0x1.2589c4p+3 +0x1.280ceap+4 +0x1.834e76p+0 +0x1.3838b8p+5 +0x1.bc5d22p+9 +0x1.e9c324p+3 +0x1.bf032ap+3 +0x1.e2671p+4 +0x1.39138ap+4 +0x1.021dcap+6 +0x1.c535c8p+10 +0x1.20de3ep+6 +0x1.f9759cp+10 +0x1.cbd2fap+5 +0x1.a9b448p+5 +0x1.37f386p+5 +0x1.1f9056p+6 +0x1.c3cd74p+15 +0x1.594c5ep+8 +0x1.6ed91p+6 +0x1.deb316p+6 +0x1.1b7a02p+6 +0x1.61b884p+2 +0x1.a42ecep+3 +0x1.233762p+11 +0x1.15ed0ep+4 +0x1.9fc202p+3 +0x1.acd718p+4 +0x1.7f9e36p+17 +0x1.4c3ab4p+2 +0x1.17c044p+7 +0x1.045a5ap+1 +0x1.602e4ep+11 +0x1.5138eep+11 +0x1.41cf92p+5 +0x1.228428p+3 +0x1.a929cp+5 +0x1.73bb6cp+5 +0x1.c47e3p+12 +0x1.37e682p+6 +0x1.6e0254p+5 +0x1.83dff4p+4 +0x1.4ee45cp+6 +0x1.9f660ap+10 +0x1.e904c2p-2 +0x1.9c5518p+1 +0x1.5a431cp+6 +0x1.631984p+4 +0x1.4a004ap+5 +0x1.1903e2p+5 +0x1.2e344ep+2 +0x1.1ba4a2p+8 +0x1.c60786p+5 +0x1.ad2f32p+4 +0x1.773b1cp+6 +0x1.3f0468p+5 +0x1.0283c6p+17 +0x1.13f904p+3 +0x1.6a4946p+5 +0x1.a226c2p+5 +0x1.44c75ap+0 +0x1.8ecb28p+4 +0x1.c5b96ap+2 +0x1.e4e612p+3 +-0x1.8b1a78p-1 +0x1.3cb07ep+1 +0x1.06d5c4p+5 +0x1.f33a48p+14 +0x1.5f005cp+3 +0x1.82bc7cp+4 +0x1.5d7be8p+11 +0x1.08912p+4 +0x1.6657ccp+3 +0x1.269a1ap+7 +0x1.537014p+2 +0x1.fdd298p+3 +0x1.e97c8p+8 +0x1.e8b68cp+4 +0x1.bd5f44p+0 +0x1.1719e6p+6 +0x1.2f5546p+6 +0x1.99609cp+0 +0x1.ab2d8ep+6 +0x1.f91312p+5 +0x1.4aba96p+5 +0x1.623c2cp+6 +0x1.42c7eep+5 +0x1.b43432p+9 +0x1.acf04ep+5 +0x1.fd394ap+2 +0x1.27ec94p+5 +0x1.18b158p+14 +0x1.6bf5fap+4 +0x1.2bb6e2p+5 +0x1.d485acp+1 +0x1.85f93ep+3 +0x1.caa152p+5 +0x1.b36446p+1 +0x1.f80622p+2 +0x1.37a1c4p+7 +0x1.bcb368p+5 +0x1.32d046p+19 +0x1.30641ep+4 +0x1.7f75fep+1 +0x1.7356dep+2 +0x1.e890d6p+3 +0x1.182ec2p+4 +0x1.06171ep+11 +0x1.2f132ep+5 +0x1.0d3a2ap+16 +0x1.610da8p+6 +0x1.31e42cp+9 +0x1.25767p+6 +0x1.f4fc06p+12 +0x1.37107ap+8 +0x1.aec1b8p+3 +0x1.9543eap+4 +0x1.dc44e6p+4 +0x1.cbd052p+4 +0x1.6f5f0ep+3 +0x1.f9b8f2p+0 +0x1.5a0cf6p+5 +0x1.26b886p-3 +0x1.fa14dep+5 +0x1.1351c2p+5 +0x1.5d1726p+5 +0x1.f0d816p-3 +0x1.c7fef8p+4 +0x1.346afp+5 +0x1.42ebf8p+5 +0x1.4813f8p+4 +0x1.483cap+1 +0x1.841c94p+6 +0x1.5aec82p+4 +0x1.1b32bcp+5 +0x1.02c8e8p+5 +0x1.3cb4d4p+5 +0x1.ab992p+4 +0x1.4e7fccp+6 +0x1.cf946ep+5 +0x1.4176b4p+5 +0x1.92afcep+2 +0x1.f2f462p+14 +0x1.3a804ap+5 +0x1.cdfeep+4 +0x1.eb327cp+3 +0x1.fd2074p+5 +0x1.85af34p+2 +0x1.6fc196p+6 +0x1.ee1ed2p+4 +0x1.71bb1ep+7 +0x1.26a318p+6 +0x1.6d5502p+17 +0x1.fbf0aep+5 +0x1.d139c6p+0 +-0x1.01ad68p-3 +0x1.a94e1ep+5 +0x1.5b2c68p+5 +0x1.e3e808p+4 +0x1.6d6418p+5 +0x1.77a774p+5 +0x1.66107p+3 +0x1.776f56p-3 +0x1.707c24p+3 +0x1.bfd1fcp+3 +0x1.63ad56p+3 +0x1.2e2c6ep-3 +0x1.9de164p+5 +0x1.322886p+8 +0x1.2aea36p+15 +0x1.2957bp+6 +0x1.57c9fap+1 +0x1.ef0c86p+3 +0x1.03e162p+3 +0x1.828332p+17 +0x1.05a00cp+1 +0x1.1608cap+6 +0x1.e39c38p+4 +0x1.d1713ep+5 +0x1.18d5bap+18 +0x1.113f82p+6 +0x1.d0544ap+14 +0x1.229952p-1 +0x1.89f5d4p+1 +0x1.10825cp+2 +0x1.21648ap+6 +0x1.26cb36p+6 +0x1.9b8546p-1 +0x1.5d1cfcp+8 +0x1.1b8d1cp+12 +0x1.30e48ap+0 +0x1.aac52ep+11 +0x1.109186p+5 +0x1.0f1446p+5 +0x1.411f1ep+13 +0x1.0c7b0ap+0 +0x1.2e4568p+4 +0x1.b8ef26p+5 +0x1.304492p+4 +0x1.a9780ep+5 +0x1.53849ep+5 +0x1.5baa0ap+4 +0x1.87874p+6 +0x1.b8ecbep+3 +0x1.34cba8p+5 +0x1.9d791cp+4 +0x1.435a9ap+11 +0x1.10d06ep+5 +0x1.a7ef06p+1 +0x1.53505ep+1 +0x1.706e6cp+4 +0x1.7fe8p+5 +0x1.ce98bap+5 +0x1.a5a94ap+5 +0x1.8f6cfcp+4 +0x1.d435c6p+4 +0x1.51f29p+6 +0x1.5a65bep+4 +0x1.5ffb9ap+4 +0x1.1bf0e8p+0 +0x1.33715ep+3 +0x1.04a648p+5 +-0x1.11390cp-1 +0x1.c8b0ap+5 +0x1.172bb6p+5 +0x1.b53582p+3 +0x1.ee7848p+3 +0x1.1bf86ep+5 +0x1.937b34p+2 +0x1.82909cp+2 +0x1.70945p+3 +0x1.79aa68p+2 +0x1.27c86ep+6 +0x1.108d28p+5 +0x1.74fc1cp+17 +0x1.524e5cp+5 +0x1.4a423cp+6 +0x1.76c322p+6 +0x1.0e9e86p+6 +0x1.e9db4cp+4 +0x1.3e862ep+5 +0x1.55cdb2p+6 +0x1.2a67e6p+9 +0x1.4a4f98p+10 +0x1.0bdd7p+5 +0x1.65f376p+5 +0x1.41150cp+6 +0x1.1c71f2p+6 +0x1.e88d92p+3 +0x1.34bef8p+1 +0x1.52feaap+4 +0x1.9c6b4ep+16 +0x1.18b718p+0 +0x1.e754b4p-1 +0x1.328366p+18 +0x1.8e33cp+4 +0x1.35fa2ep+5 +0x1.a68096p+3 +0x1.4f2aa2p+5 +0x1.e13d96p+5 +0x1.2f247cp+10 +0x1.38ca2ap+6 +0x1.21bd2p+6 +0x1.124032p+5 +0x1.3e0d66p+17 +0x1.b5fd0ap+3 +0x1.893a84p+16 +0x1.516056p+5 +0x1.80cb1cp+5 +0x1.96fbd2p+5 +0x1.349e12p+4 +0x1.805e24p+5 +0x1.17f7dp+10 +0x1.47994cp+6 From patchwork Wed Nov 24 19:38:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48088 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 45E6F385803A for ; Wed, 24 Nov 2021 20:03:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 45E6F385803A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637784182; bh=Ujd+GNn4qAILddOaOlMCQA5FIwy7ZQGOP/LXtId9PTA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=l9IR/WKG8M0Oh3t1dPfqW1wncIGrCTrev2VIcE4G2SftDQiynlqwajYiCSMEYf5Xb ladlkBLKZDXeIT6kf67H/08UBQJD9J2TJ/AkqGF0z4DVo2AcaafgLnP9oUU7Lhjiyf vMrbgmr3hKn2jLiHk2S9LcfH5FLhSJmyO5TIiOJs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id AB3913857C71 for ; Wed, 24 Nov 2021 19:38:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AB3913857C71 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="259249057" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="259249057" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="597829535" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga002.fm.intel.com with ESMTP; 24 Nov 2021 11:38:14 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XM021555; Wed, 24 Nov 2021 11:38:14 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 35/42] x86-64: Add vector log2/log2f implementation to libmvec Date: Wed, 24 Nov 2021 11:38:00 -0800 Message-Id: <20211124193807.2093208-36-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized log2/log2f containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector log2/log2f with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_log22_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_log22_core.c | 27 + .../fpu/multiarch/svml_d_log22_core_sse4.S | 5474 +++++++++++++++++ .../fpu/multiarch/svml_d_log24_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_log24_core.c | 27 + .../fpu/multiarch/svml_d_log24_core_avx2.S | 5321 ++++++++++++++++ .../fpu/multiarch/svml_d_log28_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_log28_core.c | 27 + .../fpu/multiarch/svml_d_log28_core_avx512.S | 1661 +++++ .../fpu/multiarch/svml_s_log2f16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_log2f16_core.c | 28 + .../multiarch/svml_s_log2f16_core_avx512.S | 697 +++ .../fpu/multiarch/svml_s_log2f4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_log2f4_core.c | 28 + .../fpu/multiarch/svml_s_log2f4_core_sse4.S | 1795 ++++++ .../fpu/multiarch/svml_s_log2f8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_log2f8_core.c | 28 + .../fpu/multiarch/svml_s_log2f8_core_avx2.S | 1727 ++++++ sysdeps/x86_64/fpu/svml_d_log22_core.S | 29 + sysdeps/x86_64/fpu/svml_d_log24_core.S | 29 + sysdeps/x86_64/fpu/svml_d_log24_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_log28_core.S | 25 + sysdeps/x86_64/fpu/svml_s_log2f16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_log2f4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_log2f8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_log2f8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-log2-avx.c | 1 + .../fpu/test-double-libmvec-log2-avx2.c | 1 + .../fpu/test-double-libmvec-log2-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-log2.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-log2f-avx.c | 1 + .../fpu/test-float-libmvec-log2f-avx2.c | 1 + .../fpu/test-float-libmvec-log2f-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-log2f.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 17243 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log22_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log22_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log22_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log24_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log24_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log24_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log28_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log28_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_log28_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log22_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log24_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log24_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_log28_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log2f16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log2f4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log2f8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_log2f8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log2-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log2-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log2-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-log2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-log2f.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 6f10e52d7c..728864ac0d 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -285,4 +285,15 @@ #define __DECL_SIMD_log1pf32x #define __DECL_SIMD_log1pf64x #define __DECL_SIMD_log1pf128x + +#define __DECL_SIMD_log2 +#define __DECL_SIMD_log2f +#define __DECL_SIMD_log2l +#define __DECL_SIMD_log2f16 +#define __DECL_SIMD_log2f32 +#define __DECL_SIMD_log2f64 +#define __DECL_SIMD_log2f128 +#define __DECL_SIMD_log2f32x +#define __DECL_SIMD_log2f64x +#define __DECL_SIMD_log2f128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 34810571b2..5db493d938 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -130,7 +130,7 @@ __MATHCALL (logb,, (_Mdouble_ __x)); __MATHCALL_VEC (exp2,, (_Mdouble_ __x)); /* Compute base-2 logarithm of X. */ -__MATHCALL (log2,, (_Mdouble_ __x)); +__MATHCALL_VEC (log2,, (_Mdouble_ __x)); #endif diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 9daf3ce9c0..c3b83b6de0 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -61,6 +61,7 @@ GLIBC_2.35 _ZGVbN2v_exp2 F GLIBC_2.35 _ZGVbN2v_expm1 F GLIBC_2.35 _ZGVbN2v_log10 F GLIBC_2.35 _ZGVbN2v_log1p F +GLIBC_2.35 _ZGVbN2v_log2 F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN2vv_hypot F GLIBC_2.35 _ZGVbN4v_acosf F @@ -78,6 +79,7 @@ GLIBC_2.35 _ZGVbN4v_exp2f F GLIBC_2.35 _ZGVbN4v_expm1f F GLIBC_2.35 _ZGVbN4v_log10f F GLIBC_2.35 _ZGVbN4v_log1pf F +GLIBC_2.35 _ZGVbN4v_log2f F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVbN4vv_hypotf F GLIBC_2.35 _ZGVcN4v_acos F @@ -95,6 +97,7 @@ GLIBC_2.35 _ZGVcN4v_exp2 F GLIBC_2.35 _ZGVcN4v_expm1 F GLIBC_2.35 _ZGVcN4v_log10 F GLIBC_2.35 _ZGVcN4v_log1p F +GLIBC_2.35 _ZGVcN4v_log2 F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN4vv_hypot F GLIBC_2.35 _ZGVcN8v_acosf F @@ -112,6 +115,7 @@ GLIBC_2.35 _ZGVcN8v_exp2f F GLIBC_2.35 _ZGVcN8v_expm1f F GLIBC_2.35 _ZGVcN8v_log10f F GLIBC_2.35 _ZGVcN8v_log1pf F +GLIBC_2.35 _ZGVcN8v_log2f F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVcN8vv_hypotf F GLIBC_2.35 _ZGVdN4v_acos F @@ -129,6 +133,7 @@ GLIBC_2.35 _ZGVdN4v_exp2 F GLIBC_2.35 _ZGVdN4v_expm1 F GLIBC_2.35 _ZGVdN4v_log10 F GLIBC_2.35 _ZGVdN4v_log1p F +GLIBC_2.35 _ZGVdN4v_log2 F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN4vv_hypot F GLIBC_2.35 _ZGVdN8v_acosf F @@ -146,6 +151,7 @@ GLIBC_2.35 _ZGVdN8v_exp2f F GLIBC_2.35 _ZGVdN8v_expm1f F GLIBC_2.35 _ZGVdN8v_log10f F GLIBC_2.35 _ZGVdN8v_log1pf F +GLIBC_2.35 _ZGVdN8v_log2f F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVdN8vv_hypotf F GLIBC_2.35 _ZGVeN16v_acosf F @@ -163,6 +169,7 @@ GLIBC_2.35 _ZGVeN16v_exp2f F GLIBC_2.35 _ZGVeN16v_expm1f F GLIBC_2.35 _ZGVeN16v_log10f F GLIBC_2.35 _ZGVeN16v_log1pf F +GLIBC_2.35 _ZGVeN16v_log2f F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN16vv_hypotf F GLIBC_2.35 _ZGVeN8v_acos F @@ -180,5 +187,6 @@ GLIBC_2.35 _ZGVeN8v_exp2 F GLIBC_2.35 _ZGVeN8v_expm1 F GLIBC_2.35 _ZGVeN8v_log10 F GLIBC_2.35 _ZGVeN8v_log1p F +GLIBC_2.35 _ZGVeN8v_log2 F GLIBC_2.35 _ZGVeN8vv_atan2 F GLIBC_2.35 _ZGVeN8vv_hypot F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index b822ddc5e1..613e9c94b9 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -126,6 +126,10 @@ # define __DECL_SIMD_log1p __DECL_SIMD_x86_64 # undef __DECL_SIMD_log1pf # define __DECL_SIMD_log1pf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2 +# define __DECL_SIMD_log2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2f +# define __DECL_SIMD_log2f __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index b557030447..44700c3f2b 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -42,6 +42,7 @@ libmvec-funcs = \ log \ log10 \ log1p \ + log2 \ pow \ sin \ sincos \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 496cd09d2b..d1625d07de 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -29,6 +29,7 @@ libmvec { _ZGVbN2v_expm1; _ZGVcN4v_expm1; _ZGVdN4v_expm1; _ZGVeN8v_expm1; _ZGVbN2v_log10; _ZGVcN4v_log10; _ZGVdN4v_log10; _ZGVeN8v_log10; _ZGVbN2v_log1p; _ZGVcN4v_log1p; _ZGVdN4v_log1p; _ZGVeN8v_log1p; + _ZGVbN2v_log2; _ZGVcN4v_log2; _ZGVdN4v_log2; _ZGVeN8v_log2; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN2vv_hypot; _ZGVcN4vv_hypot; _ZGVdN4vv_hypot; _ZGVeN8vv_hypot; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; @@ -46,6 +47,7 @@ libmvec { _ZGVbN4v_expm1f; _ZGVcN8v_expm1f; _ZGVdN8v_expm1f; _ZGVeN16v_expm1f; _ZGVbN4v_log10f; _ZGVcN8v_log10f; _ZGVdN8v_log10f; _ZGVeN16v_log10f; _ZGVbN4v_log1pf; _ZGVcN8v_log1pf; _ZGVdN8v_log1pf; _ZGVeN16v_log1pf; + _ZGVbN4v_log2f; _ZGVcN8v_log2f; _ZGVdN8v_log2f; _ZGVeN16v_log2f; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; _ZGVbN4vv_hypotf; _ZGVcN8vv_hypotf; _ZGVdN8vv_hypotf; _ZGVeN16vv_hypotf; } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index af68c48b2b..0df9130e8d 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1826,6 +1826,26 @@ float: 3 float128: 1 ldouble: 1 +Function: "log2_vlen16": +float: 1 + +Function: "log2_vlen2": +double: 1 + +Function: "log2_vlen4": +double: 1 +float: 1 + +Function: "log2_vlen4_avx2": +double: 1 + +Function: "log2_vlen8": +double: 1 +float: 1 + +Function: "log2_vlen8_avx2": +float: 1 + Function: "log_downward": float: 2 float128: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core-sse2.S new file mode 100644 index 0000000000..e0833a174b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized log2, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_log2 _ZGVbN2v_log2_sse2 +#include "../svml_d_log22_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core.c new file mode 100644 index 0000000000..6d0b5a03ca --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized log2, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_log2 +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_log2, __GI__ZGVbN2v_log2, __redirect__ZGVbN2v_log2) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core_sse4.S new file mode 100644 index 0000000000..f748fc7d3c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core_sse4.S @@ -0,0 +1,5474 @@ +/* Function log vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log2(x) = k - log2(Rcp) + poly_approximation(R) + * log2(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_log2_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm6 + +/* preserve mantissa, set input exponent to 2^(-10) */ + movups 12672+__svml_dlog2_data_internal(%rip), %xmm5 + +/* check range */ + movaps %xmm6, %xmm3 + andps %xmm6, %xmm5 + movaps %xmm6, %xmm2 + orps 12800+__svml_dlog2_data_internal(%rip), %xmm5 + lea -4218816+__svml_dlog2_data_internal(%rip), %r8 + +/* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm5, %xmm7 + cmpltpd 12864+__svml_dlog2_data_internal(%rip), %xmm3 + cmpnlepd 12928+__svml_dlog2_data_internal(%rip), %xmm2 + movlhps %xmm7, %xmm7 + orps %xmm2, %xmm3 + rcpps %xmm7, %xmm0 + +/* combine and get argument value range mask */ + movmskpd %xmm3, %edx + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_16(%rip), %xmm1 + +/* argument reduction */ + movups 12992+__svml_dlog2_data_internal(%rip), %xmm2 + cvtps2pd %xmm0, %xmm4 + addpd %xmm1, %xmm4 + subpd %xmm1, %xmm4 + andps %xmm5, %xmm2 + +/* exponent bits */ + movaps %xmm6, %xmm0 + subpd %xmm2, %xmm5 + mulpd %xmm4, %xmm2 + mulpd %xmm4, %xmm5 + subpd 13120+__svml_dlog2_data_internal(%rip), %xmm2 + addpd %xmm2, %xmm5 + psrlq $20, %xmm0 + +/* + * prepare table index + * table lookup + */ + movaps %xmm4, %xmm3 + pshufd $221, %xmm0, %xmm7 + psrlq $40, %xmm3 + +/* biased exponent in DP format */ + cvtdq2pd %xmm7, %xmm0 + movd %xmm3, %eax + +/* exponent */ + movups 13184+__svml_dlog2_data_internal(%rip), %xmm7 + cmpltpd %xmm4, %xmm7 + +/* polynomial */ + movups 12544+__svml_dlog2_data_internal(%rip), %xmm4 + mulpd %xmm5, %xmm4 + pshufd $2, %xmm3, %xmm2 + movaps %xmm5, %xmm3 + mulpd %xmm5, %xmm3 + movd %xmm2, %ecx + movups 12576+__svml_dlog2_data_internal(%rip), %xmm2 + andps 13248+__svml_dlog2_data_internal(%rip), %xmm7 + addpd 12560+__svml_dlog2_data_internal(%rip), %xmm4 + mulpd %xmm5, %xmm2 + mulpd %xmm3, %xmm4 + addpd 12592+__svml_dlog2_data_internal(%rip), %xmm2 + addpd %xmm4, %xmm2 + orps 13312+__svml_dlog2_data_internal(%rip), %xmm7 + subpd %xmm7, %xmm0 + mulpd %xmm2, %xmm3 + movups 12608+__svml_dlog2_data_internal(%rip), %xmm7 + mulpd %xmm5, %xmm7 + movslq %eax, %rax + addpd %xmm3, %xmm7 + movslq %ecx, %rcx + movsd (%r8,%rax), %xmm1 + movhpd (%r8,%rcx), %xmm1 + +/* reconstruction */ + addpd %xmm7, %xmm1 + addpd %xmm1, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm6, 192(%rsp) + movups %xmm0, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,8), %rdi + lea 256(%rsp,%r12,8), %rsi + call __svml_dlog2_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_log2_sse4) + + .align 16,0x90 + +__svml_dlog2_cout_rare_internal: + + cfi_startproc + + movq $0, -64(%rsp) + movsd -64(%rsp), %xmm0 + movsd (%rdi), %xmm1 + movups _zeros.173.0.0.1(%rip), %xmm2 + subsd %xmm0, %xmm1 + movsd %xmm1, -8(%rsp) + movups %xmm2, -56(%rsp) + movups _ones.173.0.0.1(%rip), %xmm0 + movups %xmm0, -40(%rsp) + movups _infs.173.0.0.1(%rip), %xmm0 + movups %xmm0, -24(%rsp) + movl -4(%rsp), %eax + cmpl $2146435072, %eax + jae .LBL_2_19 + lea -1072660480(%rax), %edx + cmpl $53248, %edx + jae .LBL_2_14 + lea -1072693232(%rax), %edx + cmpl $24, %edx + jae .LBL_2_13 + movl -8(%rsp), %edi + movl %eax, %ecx + movl %edi, %edx + shll $11, %ecx + shrl $21, %edx + orl %edx, %ecx + addl $-2147483646, %ecx + cmpl $3, %ecx + jae .LBL_2_12 + addl $-1072693248, %eax + orl %edi, %eax + jne .LBL_2_10 + movq -56(%rsp), %rax + movq %rax, (%rsi) + jmp .LBL_2_11 + +.LBL_2_10: + movsd -8(%rsp), %xmm0 + movsd 16+__dlog2_la__Q3(%rip), %xmm2 + movsd 24+__dlog2_la__Q3(%rip), %xmm1 + addsd -32(%rsp), %xmm0 + mulsd %xmm0, %xmm2 + mulsd %xmm0, %xmm1 + addsd 8+__dlog2_la__Q3(%rip), %xmm2 + mulsd %xmm0, %xmm2 + movsd %xmm0, -8(%rsp) + addsd __dlog2_la__Q3(%rip), %xmm2 + mulsd %xmm0, %xmm2 + addsd %xmm1, %xmm2 + movsd %xmm2, (%rsi) + +.LBL_2_11: + xorl %eax, %eax + ret + +.LBL_2_12: + movsd -8(%rsp), %xmm2 + xorl %eax, %eax + movsd 16+__dlog2_la__Q2(%rip), %xmm1 + movsd 24+__dlog2_la__Q2(%rip), %xmm3 + addsd -32(%rsp), %xmm2 + movaps %xmm2, %xmm0 + mulsd %xmm2, %xmm0 + mulsd %xmm0, %xmm1 + mulsd %xmm0, %xmm3 + addsd __dlog2_la__Q2(%rip), %xmm1 + addsd 8+__dlog2_la__Q2(%rip), %xmm3 + mulsd %xmm2, %xmm1 + mulsd %xmm0, %xmm3 + movsd %xmm2, -8(%rsp) + addsd %xmm1, %xmm3 + movl $0, -8(%rsp) + movsd -8(%rsp), %xmm4 + subsd %xmm4, %xmm2 + addsd %xmm2, %xmm4 + mulsd 32+__dlog2_la__Q2(%rip), %xmm4 + addsd %xmm3, %xmm4 + movsd %xmm4, (%rsi) + ret + +.LBL_2_13: + movsd -8(%rsp), %xmm2 + xorl %eax, %eax + movsd 72+__dlog2_la__Q1(%rip), %xmm10 + movsd 64+__dlog2_la__Q1(%rip), %xmm4 + movsd __dlog2_la__TWO_32P(%rip), %xmm5 + movsd __dlog2_la__TWO_32P(%rip), %xmm7 + movsd 88+__dlog2_la__Q1(%rip), %xmm14 + movsd __dlog2_la__TWO_32P(%rip), %xmm11 + movsd __dlog2_la__TWO_32P(%rip), %xmm15 + addsd -32(%rsp), %xmm2 + movaps %xmm2, %xmm3 + movaps %xmm2, %xmm6 + mulsd %xmm2, %xmm3 + movaps %xmm2, %xmm0 + mulsd %xmm2, %xmm5 + mulsd __dlog2_la__TWO_32(%rip), %xmm6 + mulsd %xmm3, %xmm10 + mulsd %xmm3, %xmm4 + addsd 56+__dlog2_la__Q1(%rip), %xmm10 + addsd 48+__dlog2_la__Q1(%rip), %xmm4 + mulsd %xmm3, %xmm10 + mulsd %xmm3, %xmm4 + addsd 40+__dlog2_la__Q1(%rip), %xmm10 + addsd 32+__dlog2_la__Q1(%rip), %xmm4 + mulsd %xmm3, %xmm10 + mulsd %xmm3, %xmm4 + addsd 24+__dlog2_la__Q1(%rip), %xmm10 + addsd 16+__dlog2_la__Q1(%rip), %xmm4 + mulsd %xmm3, %xmm10 + mulsd %xmm2, %xmm4 + movsd __dlog2_la__TWO_32(%rip), %xmm3 + addsd %xmm4, %xmm10 + mulsd %xmm10, %xmm7 + movaps %xmm3, %xmm8 + mulsd %xmm10, %xmm8 + movsd %xmm5, -72(%rsp) + movsd -72(%rsp), %xmm1 + movsd %xmm7, -72(%rsp) + subsd %xmm6, %xmm1 + movsd -72(%rsp), %xmm9 + subsd %xmm1, %xmm0 + subsd %xmm8, %xmm9 + movsd %xmm1, -8(%rsp) + subsd %xmm9, %xmm10 + addsd %xmm9, %xmm14 + addsd 8+__dlog2_la__Q1(%rip), %xmm10 + movaps %xmm14, %xmm4 + mulsd %xmm0, %xmm4 + mulsd %xmm2, %xmm10 + mulsd %xmm1, %xmm14 + addsd %xmm0, %xmm1 + addsd %xmm10, %xmm4 + movaps %xmm4, %xmm12 + movsd 80+__dlog2_la__Q1(%rip), %xmm9 + addsd %xmm14, %xmm12 + mulsd %xmm12, %xmm11 + mulsd %xmm3, %xmm12 + movsd %xmm11, -72(%rsp) + movsd -72(%rsp), %xmm13 + subsd %xmm12, %xmm13 + subsd %xmm13, %xmm4 + addsd %xmm13, %xmm9 + addsd %xmm14, %xmm4 + movaps %xmm9, %xmm13 + addsd __dlog2_la__Q1(%rip), %xmm4 + addsd %xmm4, %xmm13 + mulsd %xmm13, %xmm15 + mulsd %xmm3, %xmm13 + movsd %xmm15, -72(%rsp) + movsd -72(%rsp), %xmm14 + subsd %xmm13, %xmm14 + mulsd %xmm14, %xmm1 + subsd %xmm14, %xmm9 + addsd %xmm9, %xmm4 + mulsd %xmm2, %xmm4 + addsd %xmm4, %xmm1 + movsd %xmm1, (%rsi) + ret + +.LBL_2_14: + movl %eax, %ecx + movl %eax, %edx + shrl $20, %ecx + andl $1048575, %edx + addl $-1023, %ecx + cmpl $1048576, %eax + jae .LBL_2_18 + movl %edx, -4(%rsp) + movl -8(%rsp), %edx + orl %edx, %eax + jne .LBL_2_17 + movsd -32(%rsp), %xmm0 + movl $2, %eax + divsd -56(%rsp), %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_17: + movsd -8(%rsp), %xmm0 + mulsd __dlog2_la__TWO_55(%rip), %xmm0 + movsd %xmm0, -8(%rsp) + movl -4(%rsp), %edx + movl %edx, %ecx + shrl $20, %ecx + movl %edx, %eax + addl $-1078, %ecx + +.LBL_2_18: + shrl $12, %eax + orl $1072693248, %edx + movzbl %al, %edi + pxor %xmm7, %xmm7 + movl %edx, -4(%rsp) + lea __dlog2_la___libm_rcp_table_256(%rip), %rdx + movsd -8(%rsp), %xmm10 + pxor %xmm8, %xmm8 + movl $0, -8(%rsp) + lea __dlog2_la___libm_log2_table_256(%rip), %rax + movsd -8(%rsp), %xmm0 + cvtss2sd (%rdx,%rdi,4), %xmm7 + cvtsi2sd %ecx, %xmm8 + subsd %xmm0, %xmm10 + mulsd %xmm7, %xmm10 + mulsd %xmm0, %xmm7 + movsd 40+__dlog2_la__P(%rip), %xmm4 + movsd 32+__dlog2_la__P(%rip), %xmm3 + movsd 48+__dlog2_la__P(%rip), %xmm5 + movsd __dlog2_la__TWO_32(%rip), %xmm6 + shlq $4, %rdi + addsd -32(%rsp), %xmm7 + movaps %xmm7, %xmm2 + mulsd %xmm5, %xmm7 + addsd %xmm10, %xmm2 + mulsd %xmm5, %xmm10 + addsd %xmm7, %xmm6 + movaps %xmm2, %xmm1 + mulsd %xmm2, %xmm1 + mulsd %xmm1, %xmm4 + mulsd %xmm1, %xmm3 + addsd 24+__dlog2_la__P(%rip), %xmm4 + addsd 16+__dlog2_la__P(%rip), %xmm3 + mulsd %xmm1, %xmm4 + mulsd %xmm1, %xmm3 + addsd 8+__dlog2_la__P(%rip), %xmm4 + addsd __dlog2_la__P(%rip), %xmm3 + mulsd %xmm1, %xmm4 + mulsd %xmm2, %xmm3 + movsd %xmm6, -72(%rsp) + addsd %xmm3, %xmm4 + addsd 8(%rax,%rdi), %xmm8 + addsd %xmm4, %xmm10 + movsd -72(%rsp), %xmm9 + subsd __dlog2_la__TWO_32(%rip), %xmm9 + subsd %xmm9, %xmm7 + addsd %xmm8, %xmm9 + addsd (%rax,%rdi), %xmm7 + movsd %xmm9, -8(%rsp) + xorl %eax, %eax + addsd %xmm7, %xmm10 + addsd %xmm9, %xmm10 + movsd %xmm10, (%rsi) + ret + +.LBL_2_19: + movl %eax, %edx + andl $2147483647, %edx + cmpl $2146435072, %edx + ja .LBL_2_28 + jne .LBL_2_22 + cmpl $0, -8(%rsp) + jne .LBL_2_28 + +.LBL_2_22: + testl $-2147483648, %eax + je .LBL_2_27 + movl -8(%rsp), %eax + orl %eax, %edx + movsd -56(%rsp), %xmm1 + jne .LBL_2_25 + movsd -32(%rsp), %xmm0 + movl $2, %eax + divsd %xmm1, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_25: + movsd -24(%rsp), %xmm0 + movl $1, %eax + mulsd %xmm1, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_27: + movq -8(%rsp), %rax + movq %rax, (%rsi) + xorl %eax, %eax + ret + +.LBL_2_28: + movsd -8(%rsp), %xmm0 + xorl %eax, %eax + mulsd -40(%rsp), %xmm0 + movsd %xmm0, (%rsi) + ret + + cfi_endproc + + .type __svml_dlog2_cout_rare_internal,@function + .size __svml_dlog2_cout_rare_internal,.-__svml_dlog2_cout_rare_internal + .section .rodata, "a" + .align 64 + .align 16 + +_zeros.173.0.0.1: + .long 0 + .long 0 + .long 0 + .long 2147483648 + .align 16 + +_ones.173.0.0.1: + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .align 16 + +_infs.173.0.0.1: + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + + .section .rodata, "a" + .space 16, 0x00 + .align 64 + +__svml_dlog2_data_internal: + .long 0 + .long 3230658560 + .long 0 + .long 0 + .long 3721504 + .long 3230658564 + .long 390392217 + .long 1028833224 + .long 4279173520 + .long 3230658567 + .long 3697526933 + .long 3176772302 + .long 4236484232 + .long 3230658571 + .long 3866369393 + .long 3173573477 + .long 4170683432 + .long 3230658575 + .long 2406066045 + .long 1027614617 + .long 4081833376 + .long 3230658579 + .long 872311433 + .long 1029558987 + .long 3969996056 + .long 3230658583 + .long 3455238169 + .long 3176293652 + .long 3835233240 + .long 3230658587 + .long 3122028036 + .long 3175399406 + .long 3677606424 + .long 3230658591 + .long 3775975107 + .long 3175065502 + .long 3497176864 + .long 3230658595 + .long 1120402784 + .long 3176065974 + .long 3294005576 + .long 3230658599 + .long 3607704643 + .long 1027775251 + .long 3068153320 + .long 3230658603 + .long 3174454558 + .long 1028715334 + .long 2819680616 + .long 3230658607 + .long 1714361654 + .long 3176145083 + .long 2548647760 + .long 3230658611 + .long 1446250901 + .long 1029564267 + .long 2255114776 + .long 3230658615 + .long 4080025744 + .long 1029178975 + .long 1939141472 + .long 3230658619 + .long 841987973 + .long 1029054409 + .long 1600787408 + .long 3230658623 + .long 399562616 + .long 1024114381 + .long 1240111912 + .long 3230658627 + .long 3503181124 + .long 3176697658 + .long 857174080 + .long 3230658631 + .long 1254487117 + .long 3175371962 + .long 452032760 + .long 3230658635 + .long 4205447303 + .long 3176492920 + .long 24746584 + .long 3230658639 + .long 1994290281 + .long 1028250505 + .long 3870341224 + .long 3230658642 + .long 3457675008 + .long 3176979311 + .long 3398940264 + .long 3230658646 + .long 3225497353 + .long 3176623592 + .long 2905568928 + .long 3230658650 + .long 2126923612 + .long 1026561068 + .long 2390284912 + .long 3230658654 + .long 4230405746 + .long 3172886618 + .long 1853145696 + .long 3230658658 + .long 2504030371 + .long 3175134796 + .long 1294208528 + .long 3230658662 + .long 2470849917 + .long 3177172451 + .long 713530440 + .long 3230658666 + .long 4008627283 + .long 3176362565 + .long 111168232 + .long 3230658670 + .long 3947344950 + .long 1028309766 + .long 3782145768 + .long 3230658673 + .long 3547697003 + .long 3176800217 + .long 3136584832 + .long 3230658677 + .long 2863038012 + .long 1025769979 + .long 2469508848 + .long 3230658681 + .long 4101655891 + .long 1028623806 + .long 1780973736 + .long 3230658685 + .long 180044497 + .long 1028727134 + .long 1071035200 + .long 3230658689 + .long 1240324917 + .long 1029164642 + .long 339748720 + .long 3230658693 + .long 3339205157 + .long 3174606851 + .long 3882136872 + .long 3230658696 + .long 3953461054 + .long 1027744139 + .long 3108320112 + .long 3230658700 + .long 4056294543 + .long 1027898214 + .long 2313320576 + .long 3230658704 + .long 2017978773 + .long 3176388905 + .long 1497192904 + .long 3230658708 + .long 2630318761 + .long 3172120215 + .long 659991504 + .long 3230658712 + .long 1173149442 + .long 3176476805 + .long 4096737888 + .long 3230658715 + .long 2084279151 + .long 3176632233 + .long 3217551464 + .long 3230658719 + .long 147752605 + .long 3175187076 + .long 2317453320 + .long 3230658723 + .long 3463598502 + .long 1029004710 + .long 1396497032 + .long 3230658727 + .long 348113666 + .long 3175216077 + .long 454735992 + .long 3230658731 + .long 2797541458 + .long 3172926093 + .long 3787190664 + .long 3230658734 + .long 3810950996 + .long 3175936077 + .long 2803979432 + .long 3230658738 + .long 1880742672 + .long 3175438052 + .long 1800122360 + .long 3230658742 + .long 185990116 + .long 1025407904 + .long 775672016 + .long 3230658746 + .long 3308007208 + .long 1029438945 + .long 4025648056 + .long 3230658749 + .long 3792627158 + .long 1028183615 + .long 2960168064 + .long 3230658753 + .long 2550675711 + .long 1029174609 + .long 1874251296 + .long 3230658757 + .long 522796161 + .long 3175188745 + .long 767949536 + .long 3230658761 + .long 99639657 + .long 1028478111 + .long 3936281640 + .long 3230658764 + .long 1618272739 + .long 3176759878 + .long 2789364408 + .long 3230658768 + .long 2976648779 + .long 3177001126 + .long 1622216320 + .long 3230658772 + .long 995205633 + .long 3174119615 + .long 434888360 + .long 3230658776 + .long 201851350 + .long 3175435880 + .long 3522398632 + .long 3230658779 + .long 1631082790 + .long 1029197235 + .long 2294863136 + .long 3230658783 + .long 1386753027 + .long 3176550178 + .long 1047299600 + .long 3230658787 + .long 1591070772 + .long 3176954051 + .long 4074725544 + .long 3230658790 + .long 701119861 + .long 3176328095 + .long 2787256416 + .long 3230658794 + .long 3223019512 + .long 1028866240 + .long 1479909352 + .long 3230658798 + .long 2952422582 + .long 1024508588 + .long 152734024 + .long 3230658802 + .long 288366270 + .long 3175075539 + .long 3100747208 + .long 3230658805 + .long 1494938379 + .long 1027731037 + .long 1734063600 + .long 3230658809 + .long 1796105868 + .long 1028158292 + .long 347699608 + .long 3230658813 + .long 2172100889 + .long 1029347730 + .long 3236671448 + .long 3230658816 + .long 321576108 + .long 1027051181 + .long 1811093280 + .long 3230658820 + .long 3159981384 + .long 1028760888 + .long 365980952 + .long 3230658824 + .long 4083088766 + .long 3176402658 + .long 3196350152 + .long 3230658827 + .long 1966791372 + .long 3176779668 + .long 1712314488 + .long 3230658831 + .long 3599116437 + .long 3176268195 + .long 208889280 + .long 3230658835 + .long 3498192131 + .long 1027096101 + .long 2981089664 + .long 3230658838 + .long 3152711547 + .long 3171644297 + .long 1439028720 + .long 3230658842 + .long 142239255 + .long 3176002168 + .long 4172688536 + .long 3230658845 + .long 2394955302 + .long 3175668459 + .long 2592181840 + .long 3230658849 + .long 772412634 + .long 1029163313 + .long 992523056 + .long 3230658853 + .long 239947902 + .long 3177123772 + .long 3668726472 + .long 3230658856 + .long 3993011847 + .long 3173133053 + .long 2030904280 + .long 3230658860 + .long 1203564427 + .long 1024968471 + .long 374070408 + .long 3230658864 + .long 3495014224 + .long 1029532111 + .long 2993238600 + .long 3230658867 + .long 1693008698 + .long 1029300208 + .long 1298520552 + .long 3230658871 + .long 229843979 + .long 1028616611 + .long 3879896968 + .long 3230658874 + .long 2840741382 + .long 3177076399 + .long 2147479216 + .long 3230658878 + .long 1315931416 + .long 3175394520 + .long 396280360 + .long 3230658882 + .long 2917523745 + .long 3176241221 + .long 2921313312 + .long 3230658885 + .long 954068080 + .long 3176872778 + .long 1132688928 + .long 3230658889 + .long 1539389383 + .long 3177096379 + .long 3620387088 + .long 3230658892 + .long 3213801166 + .long 1029050611 + .long 1794518304 + .long 3230658896 + .long 224494799 + .long 1029157143 + .long 4245062128 + .long 3230658899 + .long 2292409870 + .long 1029149094 + .long 2382128760 + .long 3230658903 + .long 4172000302 + .long 1029521900 + .long 500730120 + .long 3230658907 + .long 1566889331 + .long 1022410137 + .long 2895877976 + .long 3230658910 + .long 3447287041 + .long 3177068115 + .long 977682048 + .long 3230658914 + .long 6222552 + .long 3176756595 + .long 3336121072 + .long 3230658917 + .long 3594755137 + .long 3176063522 + .long 1381304448 + .long 3230658921 + .long 1172789584 + .long 1029247928 + .long 3703210584 + .long 3230658924 + .long 2721646462 + .long 3176500859 + .long 1711948584 + .long 3230658928 + .long 1244442214 + .long 1029312023 + .long 3997496536 + .long 3230658931 + .long 272480018 + .long 1025685723 + .long 1969963224 + .long 3230658935 + .long 1208505284 + .long 1029490192 + .long 4219326432 + .long 3230658938 + .long 3360578575 + .long 3174058635 + .long 2155694632 + .long 3230658942 + .long 2245681021 + .long 1026963921 + .long 74078008 + .long 3230658946 + .long 3496835215 + .long 3176351493 + .long 2269486608 + .long 3230658949 + .long 2995409405 + .long 3176402213 + .long 152028432 + .long 3230658953 + .long 2946959370 + .long 3171080196 + .long 2311680512 + .long 3230658956 + .long 811079866 + .long 1029646941 + .long 158550536 + .long 3230658960 + .long 2634400740 + .long 3174719534 + .long 2282615248 + .long 3230658963 + .long 3704965237 + .long 3176349039 + .long 93982048 + .long 3230658967 + .long 2840134146 + .long 1025829616 + .long 2182627360 + .long 3230658970 + .long 1838738265 + .long 3176564070 + .long 4253625592 + .long 3230658973 + .long 1173390987 + .long 3176177543 + .long 2012050992 + .long 3230658977 + .long 1084871272 + .long 3173895075 + .long 4047879552 + .long 3230658980 + .long 3493007974 + .long 1028200188 + .long 1771217928 + .long 3230658984 + .long 866422899 + .long 3176434896 + .long 3772041832 + .long 3230658987 + .long 241037730 + .long 3176289012 + .long 1460457632 + .long 3230658991 + .long 1003496008 + .long 3176406370 + .long 3426440744 + .long 3230658994 + .long 2184560753 + .long 3173354948 + .long 1080097248 + .long 3230658998 + .long 4029600754 + .long 3175828440 + .long 3011402280 + .long 3230659001 + .long 2827800738 + .long 1028558112 + .long 630461632 + .long 3230659005 + .long 1669381205 + .long 1027303067 + .long 2527250152 + .long 3230659008 + .long 1507135636 + .long 3175470401 + .long 111873368 + .long 3230659012 + .long 4290552909 + .long 1029305988 + .long 1974305832 + .long 3230659015 + .long 491815833 + .long 1028930331 + .long 3819620088 + .long 3230659018 + .long 974322798 + .long 1029451925 + .long 1352888528 + .long 3230659022 + .long 1335536991 + .long 3172426672 + .long 3164085312 + .long 3230659025 + .long 2773436098 + .long 1029127279 + .long 663315256 + .long 3230659029 + .long 2684187733 + .long 1028181243 + .long 2440552240 + .long 3230659032 + .long 2161571790 + .long 1027765615 + .long 4200868112 + .long 3230659035 + .long 3277047205 + .long 3174837243 + .long 1649334592 + .long 3230659039 + .long 4124850187 + .long 1025335396 + .long 3375925144 + .long 3230659042 + .long 3003584975 + .long 1021519814 + .long 790743920 + .long 3230659046 + .long 1415914940 + .long 1024723625 + .long 2483764120 + .long 3230659049 + .long 1136793699 + .long 3172319743 + .long 4160056928 + .long 3230659052 + .long 2148664472 + .long 1029245862 + .long 1524693384 + .long 3230659056 + .long 3056467792 + .long 1028886726 + .long 3167646296 + .long 3230659059 + .long 142099839 + .long 1028497609 + .long 499019152 + .long 3230659063 + .long 3699751308 + .long 1026582910 + .long 2108784496 + .long 3230659066 + .long 2287012473 + .long 1023727633 + .long 3702012848 + .long 3230659069 + .long 2554126940 + .long 3177131484 + .long 983774616 + .long 3230659073 + .long 263088196 + .long 1028047407 + .long 2544041936 + .long 3230659076 + .long 1900821763 + .long 3176347035 + .long 4087884960 + .long 3230659079 + .long 1428486283 + .long 3175804842 + .long 1320373696 + .long 3230659083 + .long 1249103901 + .long 1027194698 + .long 2831479912 + .long 3230659086 + .long 4024111846 + .long 1027875195 + .long 31306072 + .long 3230659090 + .long 2178201336 + .long 1028790706 + .long 1509823688 + .long 3230659093 + .long 863228784 + .long 3177069330 + .long 2972102280 + .long 3230659096 + .long 2800600011 + .long 3176772901 + .long 123211224 + .long 3230659100 + .long 2000143580 + .long 3175827790 + .long 1553121664 + .long 3230659103 + .long 3598597716 + .long 3174664631 + .long 2966902736 + .long 3230659106 + .long 160093135 + .long 1028156559 + .long 69623448 + .long 3230659110 + .long 1838028210 + .long 1028805781 + .long 1451254576 + .long 3230659113 + .long 171321689 + .long 1027544179 + .long 2816864888 + .long 3230659116 + .long 48443041 + .long 3175147757 + .long 4166490328 + .long 3230659119 + .long 2602435169 + .long 3175152427 + .long 1205199416 + .long 3230659123 + .long 3778841539 + .long 3176922801 + .long 2522962456 + .long 3230659126 + .long 69075835 + .long 1029409055 + .long 3824847712 + .long 3230659129 + .long 660089785 + .long 3174442320 + .long 815923368 + .long 3230659133 + .long 2460308321 + .long 1029094234 + .long 2086159344 + .long 3230659136 + .long 3024187972 + .long 3174141999 + .long 3340623576 + .long 3230659139 + .long 1011494086 + .long 3176827516 + .long 284383880 + .long 3230659143 + .long 3868463126 + .long 3173236251 + .long 1507409832 + .long 3230659146 + .long 4210695494 + .long 1029032026 + .long 2714769000 + .long 3230659149 + .long 2695744497 + .long 3176876805 + .long 3906496160 + .long 3230659152 + .long 343340875 + .long 1024675097 + .long 787658648 + .long 3230659156 + .long 2519963105 + .long 1029601486 + .long 1948225576 + .long 3230659159 + .long 2834660375 + .long 1027576345 + .long 3093264072 + .long 3230659162 + .long 1202481435 + .long 1029504111 + .long 4222808424 + .long 3230659165 + .long 548784753 + .long 1028305847 + .long 1041925528 + .long 3230659169 + .long 2583607066 + .long 1028957355 + .long 2140584040 + .long 3230659172 + .long 2642007844 + .long 3175275174 + .long 3223850632 + .long 3230659175 + .long 352423749 + .long 3174321553 + .long 4291759144 + .long 3230659178 + .long 339552960 + .long 3176556350 + .long 1049376024 + .long 3230659182 + .long 2660353592 + .long 1027255432 + .long 2086669480 + .long 3230659185 + .long 1104152295 + .long 1028453979 + .long 3108705728 + .long 3230659188 + .long 540614262 + .long 3175907859 + .long 4115518184 + .long 3230659191 + .long 3806184097 + .long 1028762582 + .long 812172832 + .long 3230659195 + .long 308602627 + .long 3173981149 + .long 1788637456 + .long 3230659198 + .long 1325608725 + .long 3176678267 + .long 2749977840 + .long 3230659201 + .long 990288509 + .long 3176107526 + .long 3696226952 + .long 3230659204 + .long 1916429866 + .long 1028814544 + .long 332450344 + .long 3230659208 + .long 3336107755 + .long 3176608247 + .long 1248615376 + .long 3230659211 + .long 4035119084 + .long 3176707463 + .long 2149787400 + .long 3230659214 + .long 2050304943 + .long 1029173658 + .long 3035998944 + .long 3230659217 + .long 2951948176 + .long 1029115289 + .long 3907282448 + .long 3230659220 + .long 2907658715 + .long 1028586234 + .long 468702944 + .long 3230659224 + .long 674698596 + .long 3175213847 + .long 1310227256 + .long 3230659227 + .long 3034611927 + .long 1027966053 + .long 2136920200 + .long 3230659230 + .long 2687871008 + .long 1028041908 + .long 2948813792 + .long 3230659233 + .long 596497875 + .long 3174693992 + .long 3745939952 + .long 3230659236 + .long 3329560030 + .long 1028812176 + .long 233363184 + .long 3230659240 + .long 1501722877 + .long 1028149340 + .long 1001049792 + .long 3230659243 + .long 3907078376 + .long 1028788204 + .long 1754064080 + .long 3230659246 + .long 946102851 + .long 1024784319 + .long 2492437552 + .long 3230659249 + .long 2477139935 + .long 3176834550 + .long 3216201616 + .long 3230659252 + .long 3861383265 + .long 3175556568 + .long 3925387568 + .long 3230659255 + .long 1708411866 + .long 1028140551 + .long 325059304 + .long 3230659259 + .long 1571249374 + .long 3176283508 + .long 1005182528 + .long 3230659262 + .long 1100083059 + .long 3174229259 + .long 1670820936 + .long 3230659265 + .long 3756028850 + .long 3175680086 + .long 2322005432 + .long 3230659268 + .long 1631050573 + .long 3176213330 + .long 2958766824 + .long 3230659271 + .long 1907582341 + .long 1029438684 + .long 3581135800 + .long 3230659274 + .long 2950542199 + .long 3173786866 + .long 4189142976 + .long 3230659277 + .long 114954998 + .long 3177096717 + .long 487851568 + .long 3230659281 + .long 2653253061 + .long 3176673071 + .long 1067226576 + .long 3230659284 + .long 1766996068 + .long 3175354818 + .long 1632331016 + .long 3230659287 + .long 3950907539 + .long 3175157886 + .long 2183195112 + .long 3230659290 + .long 2440105690 + .long 1029327524 + .long 2719848976 + .long 3230659293 + .long 341115768 + .long 1028056330 + .long 3242322640 + .long 3230659296 + .long 3179572713 + .long 3175645667 + .long 3750646040 + .long 3230659299 + .long 935147933 + .long 3175536948 + .long 4244849008 + .long 3230659302 + .long 3916511820 + .long 3176877809 + .long 429994000 + .long 3230659306 + .long 3978671087 + .long 1028263473 + .long 896045240 + .long 3230659309 + .long 230228243 + .long 3176823382 + .long 1348065008 + .long 3230659312 + .long 1603302089 + .long 1028781499 + .long 1786082752 + .long 3230659315 + .long 1397794181 + .long 1029625122 + .long 2210127840 + .long 3230659318 + .long 3655812571 + .long 3172766563 + .long 2620229560 + .long 3230659321 + .long 2385997325 + .long 1026727032 + .long 3016417088 + .long 3230659324 + .long 697404896 + .long 3176786781 + .long 3398719528 + .long 3230659327 + .long 3231162475 + .long 3175777962 + .long 3767165880 + .long 3230659330 + .long 2548610257 + .long 1028922412 + .long 4121785048 + .long 3230659333 + .long 3962667547 + .long 1027852637 + .long 167638560 + .long 3230659337 + .long 3554092856 + .long 3176729278 + .long 494689752 + .long 3230659340 + .long 2911955219 + .long 1028435709 + .long 807999952 + .long 3230659343 + .long 3789336944 + .long 3176103637 + .long 1107597728 + .long 3230659346 + .long 3750507527 + .long 1027365134 + .long 1393511536 + .long 3230659349 + .long 1827158241 + .long 1028945876 + .long 1665769752 + .long 3230659352 + .long 3306289784 + .long 1029589760 + .long 1924400656 + .long 3230659355 + .long 1510741592 + .long 3176411966 + .long 2169432464 + .long 3230659358 + .long 2294259978 + .long 1025847307 + .long 2400893272 + .long 3230659361 + .long 539270871 + .long 3176922069 + .long 2618811120 + .long 3230659364 + .long 3685107127 + .long 1027828508 + .long 2823213928 + .long 3230659367 + .long 3271061162 + .long 3176969831 + .long 3014129568 + .long 3230659370 + .long 1787956575 + .long 1028863184 + .long 3191585784 + .long 3230659373 + .long 716587587 + .long 3176400736 + .long 3355610272 + .long 3230659376 + .long 2630361878 + .long 3176313132 + .long 3506230624 + .long 3230659379 + .long 3623957067 + .long 1024822653 + .long 3643474344 + .long 3230659382 + .long 3940980068 + .long 3174610269 + .long 3767368864 + .long 3230659385 + .long 499400003 + .long 1028297429 + .long 3877941520 + .long 3230659388 + .long 3143491592 + .long 1028937135 + .long 3975219568 + .long 3230659391 + .long 1265600507 + .long 1027302761 + .long 4059230184 + .long 3230659394 + .long 3423756523 + .long 3174759308 + .long 4130000464 + .long 3230659397 + .long 2126977913 + .long 1029294479 + .long 4187557400 + .long 3230659400 + .long 1341359213 + .long 3176282153 + .long 4231927936 + .long 3230659403 + .long 142327675 + .long 1028516775 + .long 4263138896 + .long 3230659406 + .long 3537045733 + .long 3176611365 + .long 4281217056 + .long 3230659409 + .long 804943611 + .long 3175398448 + .long 4286189088 + .long 3230659412 + .long 2300440576 + .long 3173821797 + .long 4278081592 + .long 3230659415 + .long 650140298 + .long 1028345827 + .long 4256921080 + .long 3230659418 + .long 258434203 + .long 1024439656 + .long 4222733992 + .long 3230659421 + .long 2845277783 + .long 3175806217 + .long 4175546688 + .long 3230659424 + .long 486214358 + .long 1021995298 + .long 4115385440 + .long 3230659427 + .long 362801877 + .long 1027412332 + .long 4042276440 + .long 3230659430 + .long 3220639070 + .long 3177080040 + .long 3956245816 + .long 3230659433 + .long 3857709974 + .long 3176973100 + .long 3857319608 + .long 3230659436 + .long 300219354 + .long 1029159912 + .long 3745523760 + .long 3230659439 + .long 2500015736 + .long 3170135365 + .long 3620884168 + .long 3230659442 + .long 3361192444 + .long 1028410302 + .long 3483426624 + .long 3230659445 + .long 962673197 + .long 3176780787 + .long 3333176872 + .long 3230659448 + .long 466308644 + .long 1029193870 + .long 3170160544 + .long 3230659451 + .long 1036576323 + .long 1029692281 + .long 2994403208 + .long 3230659454 + .long 1262493470 + .long 3177123208 + .long 2805930376 + .long 3230659457 + .long 2116833460 + .long 3176824531 + .long 2604767464 + .long 3230659460 + .long 4130386607 + .long 1029379265 + .long 2390939800 + .long 3230659463 + .long 3203410687 + .long 1028676250 + .long 2164472656 + .long 3230659466 + .long 1369952708 + .long 3175783357 + .long 1925391232 + .long 3230659469 + .long 879032334 + .long 1028096866 + .long 1673720632 + .long 3230659472 + .long 4136287431 + .long 3171822968 + .long 1409485904 + .long 3230659475 + .long 1676116683 + .long 1027498055 + .long 1132712008 + .long 3230659478 + .long 2215341913 + .long 3175421168 + .long 843423840 + .long 3230659481 + .long 1029715364 + .long 3176433781 + .long 541646224 + .long 3230659484 + .long 2606758269 + .long 1029491721 + .long 227403888 + .long 3230659487 + .long 2201115753 + .long 1027951322 + .long 4195688808 + .long 3230659489 + .long 4218769073 + .long 1025395495 + .long 3856590992 + .long 3230659492 + .long 434820483 + .long 1029228152 + .long 3505102248 + .long 3230659495 + .long 3898434635 + .long 3176361218 + .long 3141247048 + .long 3230659498 + .long 3118973316 + .long 1029656842 + .long 2765049752 + .long 3230659501 + .long 2996229621 + .long 1029012421 + .long 2376534672 + .long 3230659504 + .long 2407486153 + .long 3175647547 + .long 1975726056 + .long 3230659507 + .long 2587350529 + .long 1029480630 + .long 1562648048 + .long 3230659510 + .long 4294469746 + .long 3176242263 + .long 1137324760 + .long 3230659513 + .long 3819488195 + .long 1023708576 + .long 699780200 + .long 3230659516 + .long 116131792 + .long 3177042014 + .long 250038336 + .long 3230659519 + .long 1551898075 + .long 1029096746 + .long 4083090328 + .long 3230659521 + .long 2844986349 + .long 1028973019 + .long 3609025400 + .long 3230659524 + .long 2591634103 + .long 1026318183 + .long 3122834592 + .long 3230659527 + .long 2325851864 + .long 3175053154 + .long 2114169952 + .long 3230659533 + .long 790463889 + .long 3176974498 + .long 1057284960 + .long 3230659539 + .long 1675706223 + .long 1028317332 + .long 4247334344 + .long 3230659544 + .long 4226562338 + .long 1027765102 + .long 3094569872 + .long 3230659550 + .long 2366937865 + .long 3168809551 + .long 1894144112 + .long 3230659556 + .long 1267587328 + .long 3176269982 + .long 646241264 + .long 3230659562 + .long 1575621247 + .long 3177156253 + .long 3646011760 + .long 3230659567 + .long 2645567153 + .long 3175833815 + .long 2303703080 + .long 3230659573 + .long 1827286098 + .long 1027997469 + .long 914463544 + .long 3230659579 + .long 752350642 + .long 1029527042 + .long 3773440424 + .long 3230659584 + .long 160463655 + .long 3176715839 + .long 2290878096 + .long 3230659590 + .long 909081824 + .long 3175933674 + .long 761921776 + .long 3230659596 + .long 2905535403 + .long 1028759497 + .long 3481715656 + .long 3230659601 + .long 3887423264 + .long 3176529033 + .long 1860501056 + .long 3230659607 + .long 2811353534 + .long 3176342172 + .long 193420168 + .long 3230659613 + .long 3875218385 + .long 1029601075 + .long 2775614176 + .long 3230659618 + .long 915846711 + .long 1029206337 + .long 1017321408 + .long 3230659624 + .long 2817823673 + .long 1028329866 + .long 3508648392 + .long 3230659629 + .long 2457221968 + .long 1028382518 + .long 1659831496 + .long 3230659635 + .long 1953946979 + .long 1028155361 + .long 4060975304 + .long 3230659640 + .long 1103591667 + .long 3177007543 + .long 2122314280 + .long 3230659646 + .long 1917780451 + .long 1029286965 + .long 138983784 + .long 3230659652 + .long 3695788845 + .long 3176288716 + .long 2406118280 + .long 3230659657 + .long 1052548871 + .long 1029099285 + .long 333949368 + .long 3230659663 + .long 1769629084 + .long 1028668282 + .long 2512576920 + .long 3230659668 + .long 2829899890 + .long 3177160765 + .long 352230712 + .long 3230659674 + .long 190593276 + .long 3177082107 + .long 2443008776 + .long 3230659679 + .long 308933071 + .long 1028033311 + .long 195139040 + .long 3230659685 + .long 2406662387 + .long 3174119994 + .long 2198717736 + .long 3230659690 + .long 3951897556 + .long 1025531185 + .long 4158938296 + .long 3230659695 + .long 3747433104 + .long 3176582029 + .long 1780993280 + .long 3230659701 + .long 1185733823 + .long 1025977389 + .long 3654976232 + .long 3230659706 + .long 2876938397 + .long 3175696111 + .long 1191110656 + .long 3230659712 + .long 1221563196 + .long 3173251774 + .long 2979488360 + .long 3230659717 + .long 2581073785 + .long 1028588464 + .long 430331104 + .long 3230659723 + .long 1522002357 + .long 1028645059 + .long 2133728976 + .long 3230659728 + .long 1060437513 + .long 3176445060 + .long 3794869336 + .long 3230659733 + .long 1092840036 + .long 3177052773 + .long 1118938696 + .long 3230659739 + .long 2353106107 + .long 1029111084 + .long 2696024600 + .long 3230659744 + .long 4060627338 + .long 1029597310 + .long 4231311888 + .long 3230659749 + .long 3779876129 + .long 1028286236 + .long 1429984576 + .long 3230659755 + .long 48483734 + .long 1027710210 + .long 2882127744 + .long 3230659760 + .long 445208449 + .long 1029139348 + .long 4292923760 + .long 3230659765 + .long 2295142960 + .long 3176049005 + .long 1367554208 + .long 3230659771 + .long 1540635558 + .long 1028483904 + .long 2696101728 + .long 3230659776 + .long 352999095 + .long 3169858434 + .long 3983746296 + .long 3230659781 + .long 1810565431 + .long 3175091705 + .long 935667088 + .long 3230659787 + .long 349039573 + .long 3176928791 + .long 2141944392 + .long 3230659792 + .long 3659173497 + .long 3174252174 + .long 3307755816 + .long 3230659797 + .long 58840479 + .long 1028893602 + .long 138278192 + .long 3230659803 + .long 2062870396 + .long 3175475632 + .long 1223589488 + .long 3230659808 + .long 3079310401 + .long 3176348925 + .long 2268865008 + .long 3230659813 + .long 4107437042 + .long 3177028487 + .long 3274246600 + .long 3230659818 + .long 3740178426 + .long 3176375927 + .long 4239875352 + .long 3230659823 + .long 1575862792 + .long 3176856991 + .long 870924320 + .long 3230659829 + .long 1293986679 + .long 1021959545 + .long 1757467688 + .long 3230659834 + .long 1268894705 + .long 3177114344 + .long 2604677040 + .long 3230659839 + .long 1483899592 + .long 3176088657 + .long 3412690504 + .long 3230659844 + .long 1351083799 + .long 3175751585 + .long 4181645488 + .long 3230659849 + .long 1119433498 + .long 3177131776 + .long 616711392 + .long 3230659855 + .long 4175979329 + .long 3173786505 + .long 1307958768 + .long 3230659860 + .long 2068378112 + .long 3176493003 + .long 1960555592 + .long 3230659865 + .long 178688056 + .long 1027848710 + .long 2574636408 + .long 3230659870 + .long 2359427625 + .long 1028095731 + .long 3150335072 + .long 3230659875 + .long 446961290 + .long 1028242607 + .long 3687784736 + .long 3230659880 + .long 2606786686 + .long 3176252768 + .long 4187117872 + .long 3230659885 + .long 147991783 + .long 3176229143 + .long 353498960 + .long 3230659891 + .long 2565649361 + .long 1026609244 + .long 776993680 + .long 3230659896 + .long 91083332 + .long 3175234267 + .long 1162765160 + .long 3230659901 + .long 1883429456 + .long 3174458208 + .long 1510943144 + .long 3230659906 + .long 1013024678 + .long 1027761501 + .long 1821656704 + .long 3230659911 + .long 2329976096 + .long 3171060885 + .long 2095034256 + .long 3230659916 + .long 393569875 + .long 3175313071 + .long 2331203560 + .long 3230659921 + .long 3866070308 + .long 1029684158 + .long 2530291696 + .long 3230659926 + .long 2303293568 + .long 3177026483 + .long 2692425136 + .long 3230659931 + .long 4151833399 + .long 3175350159 + .long 2817729672 + .long 3230659936 + .long 65831588 + .long 3170064008 + .long 2906330464 + .long 3230659941 + .long 3126642666 + .long 3176187966 + .long 2958352048 + .long 3230659946 + .long 1091895479 + .long 1029434562 + .long 2973918296 + .long 3230659951 + .long 1341819779 + .long 3177032854 + .long 2953152496 + .long 3230659956 + .long 3431130783 + .long 1025344246 + .long 2896177272 + .long 3230659961 + .long 222319660 + .long 3174332028 + .long 2803114648 + .long 3230659966 + .long 2574176974 + .long 3176321678 + .long 2674086032 + .long 3230659971 + .long 3543599213 + .long 3175295621 + .long 2509212216 + .long 3230659976 + .long 3961571325 + .long 1028729606 + .long 2308613376 + .long 3230659981 + .long 1968562443 + .long 3175604756 + .long 2072409104 + .long 3230659986 + .long 169553949 + .long 3175973960 + .long 1800718384 + .long 3230659991 + .long 1866092989 + .long 1029054996 + .long 1493659592 + .long 3230659996 + .long 3321480082 + .long 1028052101 + .long 1151350528 + .long 3230660001 + .long 1162474749 + .long 3175441009 + .long 773908408 + .long 3230660006 + .long 2117491299 + .long 1028922038 + .long 361449840 + .long 3230660011 + .long 1720394601 + .long 3176859733 + .long 4209058184 + .long 3230660015 + .long 3270331864 + .long 1026022939 + .long 3726914304 + .long 3230660020 + .long 761189460 + .long 1027666521 + .long 3210100392 + .long 3230660025 + .long 3128639134 + .long 3176063736 + .long 2658730784 + .long 3230660030 + .long 861675876 + .long 3174834708 + .long 2072919240 + .long 3230660035 + .long 598417369 + .long 1026585686 + .long 1452778960 + .long 3230660040 + .long 2969558584 + .long 3174198415 + .long 798422592 + .long 3230660045 + .long 1955836092 + .long 3175908135 + .long 109962232 + .long 3230660050 + .long 1441195450 + .long 1027193622 + .long 3682476712 + .long 3230660054 + .long 3027916121 + .long 1027617136 + .long 2926142440 + .long 3230660059 + .long 4058891045 + .long 1029177821 + .long 2136037160 + .long 3230660064 + .long 3295666276 + .long 1028335364 + .long 1312270792 + .long 3230660069 + .long 2664877443 + .long 1029314281 + .long 454952704 + .long 3230660074 + .long 2887304751 + .long 3176354723 + .long 3859159056 + .long 3230660078 + .long 3247043098 + .long 1029078121 + .long 2935063552 + .long 3230660083 + .long 551596274 + .long 3176193330 + .long 1977741296 + .long 3230660088 + .long 2154007986 + .long 3174741581 + .long 987299552 + .long 3230660093 + .long 1133524394 + .long 1027524435 + .long 4258812360 + .long 3230660097 + .long 1600085620 + .long 3177058369 + .long 3202451376 + .long 3230660102 + .long 2333163438 + .long 3176526084 + .long 2113289616 + .long 3230660107 + .long 276039368 + .long 1025414372 + .long 991432288 + .long 3230660112 + .long 3502468789 + .long 3176017589 + .long 4131951408 + .long 3230660116 + .long 1901031578 + .long 1027861596 + .long 2945016584 + .long 3230660121 + .long 1505110536 + .long 1028759236 + .long 1725698816 + .long 3230660126 + .long 2648053277 + .long 3176895440 + .long 474101336 + .long 3230660131 + .long 1239242430 + .long 1029534392 + .long 3485294136 + .long 3230660135 + .long 845517171 + .long 3173477246 + .long 2169444872 + .long 3230660140 + .long 4075267769 + .long 1028643096 + .long 821622576 + .long 3230660145 + .long 499928215 + .long 1029048762 + .long 3736895800 + .long 3230660149 + .long 870045772 + .long 3176516274 + .long 2325430744 + .long 3230660154 + .long 3081415625 + .long 3176560522 + .long 882295008 + .long 3230660159 + .long 3662267248 + .long 1029384081 + .long 3702555704 + .long 3230660163 + .long 4011089820 + .long 1029189731 + .long 2196377600 + .long 3230660168 + .long 2872532918 + .long 3175632540 + .long 658826888 + .long 3230660173 + .long 2512614570 + .long 3176940300 + .long 3384969288 + .long 3230660177 + .long 2018053043 + .long 3176636781 + .long 1784968168 + .long 3230660182 + .long 927902188 + .long 3175374192 + .long 153888328 + .long 3230660187 + .long 338402635 + .long 1029478185 + .long 2786794096 + .long 3230660191 + .long 2634228741 + .long 3175787031 + .long 1093847488 + .long 3230660196 + .long 13726686 + .long 3173662371 + .long 3665079232 + .long 3230660200 + .long 955232272 + .long 1029144724 + .long 1910650416 + .long 3230660205 + .long 1913213398 + .long 3177091414 + .long 125623600 + .long 3230660210 + .long 3896909877 + .long 3176901474 + .long 2605060880 + .long 3230660214 + .long 1162024003 + .long 3171225909 + .long 759122024 + .long 3230660219 + .long 101180827 + .long 1028720107 + .long 3177835544 + .long 3230660223 + .long 1119059392 + .long 3177080184 + .long 1271360360 + .long 3230660228 + .long 2533735500 + .long 1028313476 + .long 3629724104 + .long 3230660232 + .long 2461458646 + .long 3176172399 + .long 1663084832 + .long 3230660237 + .long 3468033532 + .long 1028155452 + .long 3961469328 + .long 3230660241 + .long 688573429 + .long 3173787118 + .long 1935034792 + .long 3230660246 + .long 852313808 + .long 1029214281 + .long 4173807160 + .long 3230660250 + .long 1743831019 + .long 3176961601 + .long 2087942800 + .long 3230660255 + .long 939132585 + .long 3175339625 + .long 4267466816 + .long 3230660259 + .long 804943611 + .long 3176447024 + .long 2122534736 + .long 3230660264 + .long 1216317347 + .long 1028000177 + .long 4243170840 + .long 3230660268 + .long 2936275121 + .long 3175268569 + .long 2039529840 + .long 3230660273 + .long 2537367085 + .long 1028954723 + .long 4101635200 + .long 3230660277 + .long 2494170689 + .long 3173567976 + .long 1839640816 + .long 3230660282 + .long 392206900 + .long 3176845046 + .long 3843569368 + .long 3230660286 + .long 4090462392 + .long 1028307871 + .long 1523573928 + .long 3230660291 + .long 460756979 + .long 3176389882 + .long 3469676392 + .long 3230660295 + .long 2929822293 + .long 1029426676 + .long 1092029040 + .long 3230660300 + .long 3560063032 + .long 1027386665 + .long 2980652976 + .long 3230660304 + .long 2630002021 + .long 1029084255 + .long 545699712 + .long 3230660309 + .long 3251005607 + .long 1029513439 + .long 2377189560 + .long 3230660313 + .long 2613820932 + .long 1027076618 + .long 4180240568 + .long 3230660317 + .long 2799936722 + .long 1025378340 + .long 1659970392 + .long 3230660322 + .long 3210945223 + .long 3175522055 + .long 3406398200 + .long 3230660326 + .long 2950429423 + .long 3176973715 + .long 829673600 + .long 3230660331 + .long 1432187170 + .long 3177113229 + .long 2519815008 + .long 3230660335 + .long 3601043748 + .long 3172224737 + .long 4181938568 + .long 3230660339 + .long 814468389 + .long 3175150283 + .long 1521160064 + .long 3230660344 + .long 3976767292 + .long 3177175436 + .long 3127496808 + .long 3230660348 + .long 2716501510 + .long 1028977394 + .long 411096528 + .long 3230660353 + .long 878128567 + .long 3176628610 + .long 1961975816 + .long 3230660357 + .long 2184878723 + .long 1028801182 + .long 3485248976 + .long 3230660361 + .long 3145811820 + .long 1029533129 + .long 686029968 + .long 3230660366 + .long 3776363698 + .long 1029165449 + .long 2154334280 + .long 3230660370 + .long 671743341 + .long 1024333977 + .long 3595275160 + .long 3230660374 + .long 2461553818 + .long 3174779052 + .long 713965496 + .long 3230660379 + .long 2151713083 + .long 3175993252 + .long 2100419720 + .long 3230660383 + .long 3102031601 + .long 1029232965 + .long 3459750008 + .long 3230660387 + .long 4013823470 + .long 1028620538 + .long 497068208 + .long 3230660392 + .long 4248883599 + .long 1028910528 + .long 1802387696 + .long 3230660396 + .long 1846273839 + .long 3175860934 + .long 3080819632 + .long 3230660400 + .long 1848559975 + .long 3175415033 + .long 37474824 + .long 3230660405 + .long 883985798 + .long 1029169919 + .long 1262365616 + .long 3230660409 + .long 2970327261 + .long 3175919327 + .long 2460602152 + .long 3230660413 + .long 2212867178 + .long 3176520464 + .long 3632261520 + .long 3230660417 + .long 3872739030 + .long 3176664707 + .long 482453184 + .long 3230660422 + .long 1041960122 + .long 1024886984 + .long 1601188152 + .long 3230660426 + .long 3362961153 + .long 3176317848 + .long 2693575232 + .long 3230660430 + .long 914600537 + .long 3175721660 + .long 3759690192 + .long 3230660434 + .long 3732031835 + .long 1029491624 + .long 504641160 + .long 3230660439 + .long 1661949843 + .long 3176759759 + .long 1518437864 + .long 3230660443 + .long 1155538621 + .long 3176080216 + .long 2506187792 + .long 3230660447 + .long 2074668130 + .long 3176155102 + .long 3467965424 + .long 3230660451 + .long 5072226 + .long 1029678430 + .long 108877600 + .long 3230660456 + .long 3844188174 + .long 3175740294 + .long 1018932768 + .long 3230660460 + .long 509804163 + .long 1026986837 + .long 1903237144 + .long 3230660464 + .long 817284140 + .long 1028367931 + .long 2761863936 + .long 3230660468 + .long 1026749811 + .long 1028400722 + .long 3594886040 + .long 3230660472 + .long 134616122 + .long 1027302887 + .long 107408744 + .long 3230660477 + .long 3388129995 + .long 3176634073 + .long 889438928 + .long 3230660481 + .long 4952363 + .long 1026762363 + .long 1646081256 + .long 3230660485 + .long 602092353 + .long 1025334666 + .long 2377407400 + .long 3230660489 + .long 870715200 + .long 1028049234 + .long 3083488720 + .long 3230660493 + .long 2898850879 + .long 1026959461 + .long 3764396280 + .long 3230660497 + .long 1041634577 + .long 3172001824 + .long 125233544 + .long 3230660502 + .long 4098260650 + .long 3176968164 + .long 756005576 + .long 3230660506 + .long 3936264397 + .long 3176271837 + .long 1361815248 + .long 3230660510 + .long 2005773894 + .long 1029460947 + .long 1942732416 + .long 3230660514 + .long 2286486375 + .long 3177123695 + .long 2498826688 + .long 3230660518 + .long 1062595601 + .long 1029046698 + .long 3030167328 + .long 3230660522 + .long 589866180 + .long 3176077962 + .long 3536823352 + .long 3230660526 + .long 1103133966 + .long 3175759187 + .long 4018863464 + .long 3230660530 + .long 1280466737 + .long 3177138719 + .long 181388800 + .long 3230660535 + .long 2008274805 + .long 3175962957 + .long 614402088 + .long 3230660539 + .long 3816723771 + .long 1026223943 + .long 1023003888 + .long 3230660543 + .long 3028155298 + .long 1028659203 + .long 1407261776 + .long 3230660547 + .long 2229630046 + .long 1029625324 + .long 1767243040 + .long 3230660551 + .long 3164503958 + .long 3174949449 + .long 2103014712 + .long 3230660555 + .long 874323935 + .long 1029396372 + .long 2414643512 + .long 3230660559 + .long 136799065 + .long 3176242621 + .long 2702195920 + .long 3230660563 + .long 3087239240 + .long 3175416105 + .long 2965738120 + .long 3230660567 + .long 3552260349 + .long 1026854656 + .long 3205336024 + .long 3230660571 + .long 628231562 + .long 3175305872 + .long 3421055288 + .long 3230660575 + .long 723080663 + .long 1029356970 + .long 3612961272 + .long 3230660579 + .long 3562572440 + .long 3176040503 + .long 3781119104 + .long 3230660583 + .long 2799655455 + .long 1029154690 + .long 3925593608 + .long 3230660587 + .long 3936971761 + .long 1026575267 + .long 4046449368 + .long 3230660591 + .long 2072414816 + .long 3175590577 + .long 4143750696 + .long 3230660595 + .long 1765517578 + .long 3176912984 + .long 4217561648 + .long 3230660599 + .long 3309795482 + .long 1025944498 + .long 4267946000 + .long 3230660603 + .long 3577983989 + .long 3176780675 + .long 0 + .long 3230660608 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 4278875493 + .long 3211202435 + .long 1836756087 + .long 3212249540 + .long 2166742286 + .long 3212919558 + .long 3069118545 + .long 3213295184 + .long 2882618713 + .long 3213670083 + .long 396983052 + .long 3213964849 + .long 2254986537 + .long 3214151575 + .long 2244137514 + .long 3214337942 + .long 2001317058 + .long 3214523951 + .long 3129282438 + .long 3214709603 + .long 2901961050 + .long 3214894900 + .long 3574805523 + .long 3215006929 + .long 97153270 + .long 3215099225 + .long 2489866790 + .long 3215191344 + .long 733531480 + .long 3215283289 + .long 1972305287 + .long 3215375059 + .long 449270987 + .long 3215466656 + .long 3276362132 + .long 3215558079 + .long 369713010 + .long 3215649331 + .long 3104484191 + .long 3215740410 + .long 1365308336 + .long 3215831319 + .long 2201113504 + .long 3215922057 + .long 4175201612 + .long 3215997608 + .long 2678235035 + .long 3216042808 + .long 111107850 + .long 3216087924 + .long 2115197501 + .long 3216132955 + .long 1439478642 + .long 3216177903 + .long 3710382531 + .long 3216222767 + .long 1662048346 + .long 3216267549 + .long 906181559 + .long 3216312248 + .long 2752238835 + .long 3216356864 + .long 4207481622 + .long 3216401398 + .long 2271996550 + .long 3216445851 + .long 2528682625 + .long 3216490222 + .long 1963434183 + .long 3216534512 + .long 1850094427 + .long 3216578721 + .long 3455539314 + .long 3216622849 + .long 3744760980 + .long 3216666897 + .long 3970852583 + .long 3216710865 + .long 1085123514 + .long 3216754754 + .long 622050639 + .long 3216798563 + .long 3814425306 + .long 3216842292 + .long 3298434523 + .long 3216885943 + .long 293578162 + .long 3216929516 + .long 307749260 + .long 3216973010 + .long 252379301 + .long 3217016426 + .long 663693424 + .long 3217045466 + .long 2363128292 + .long 3217067096 + .long 1523075309 + .long 3217088688 + .long 3028878894 + .long 3217110241 + .long 3172800190 + .long 3217131756 + .long 2538941307 + .long 3217153233 + .long 1708300177 + .long 3217174672 + .long 1258792512 + .long 3217196073 + .long 1765273565 + .long 3217217436 + .long 3799559706 + .long 3217238761 + .long 3635482505 + .long 3217260049 + .long 1838844516 + .long 3217281300 + .long 3267440290 + .long 3217302513 + .long 4186175309 + .long 3217323689 + .long 857021220 + .long 3217344829 + .long 2423938186 + .long 3217365931 + .long 848124101 + .long 3217386997 + .long 972805768 + .long 3217408026 + .long 3343389647 + .long 3217429018 + .long 4207481622 + .long 3217449974 + .long 4104841180 + .long 3217470894 + .long 3572433535 + .long 3217491778 + .long 3144448886 + .long 3217512626 + .long 3352321503 + .long 3217533438 + .long 429781357 + .long 3217554215 + .long 3492742067 + .long 3217574955 + .long 179581133 + .long 3217595661 + .long 3895798636 + .long 3217616330 + .long 2274427972 + .long 3217636965 + .long 125726943 + .long 3217657565 + .long 2257326549 + .long 3217678129 + .long 589346923 + .long 3217698659 + .long 4219186077 + .long 3217719153 + .long 766831764 + .long 3217739614 + .long 3619519104 + .long 3217760039 + .long 392140265 + .long 3217780431 + .long 171901807 + .long 3217800788 + .long 3453570542 + .long 3217821110 + .long 2139490342 + .long 3217841399 + .long 1014435273 + .long 3217861654 + .long 565756928 + .long 3217881875 + .long 1278368112 + .long 3217902062 + .long 3634759079 + .long 3217922215 + .long 3820046351 + .long 3217942335 + .long 2311923285 + .long 3217962422 + .long 3880675917 + .long 3217982475 + .long 409329490 + .long 3218002496 + .long 958435111 + .long 3218022483 + .long 1701314133 + .long 3218042437 + .long 3103942666 + .long 3218062358 + .long 2814999741 + .long 3218080995 + .long 2722956900 + .long 3218090923 + .long 1505407411 + .long 3218100835 + .long 3685756937 + .long 3218110730 + .long 901390368 + .long 3218120610 + .long 1968450191 + .long 3218130473 + .long 2817072651 + .long 3218140320 + .long 3671264118 + .long 3218150151 + .long 458973606 + .long 3218159967 + .long 1991969023 + .long 3218169766 + .long 4196040400 + .long 3218179549 + .long 2995908720 + .long 3218189317 + .long 2905167410 + .long 3218199069 + .long 4141387283 + .long 3218208805 + .long 2626123321 + .long 3218218526 + .long 2869823290 + .long 3218228231 + .long 791965228 + .long 3218237921 + .long 900933251 + .long 3218247595 + .long 3409122230 + .long 3218257253 + .long 4232944303 + .long 3218266896 + .long 3582769936 + .long 3218276524 + .long 1667967030 + .long 3218286137 + .long 2991874584 + .long 3218295734 + .long 3466907117 + .long 3218305316 + .long 3299462810 + .long 3218314883 + .long 2694962427 + .long 3218324435 + .long 1857855474 + .long 3218333972 + .long 991626313 + .long 3218343494 + .long 298800229 + .long 3218353001 + .long 4275916740 + .long 3218362492 + .long 238699089 + .long 3218371970 + .long 1271733131 + .long 3218381432 + .long 3278800247 + .long 3218390879 + .long 2162752362 + .long 3218400312 + .long 2415452322 + .long 3218409730 + .long 4232877747 + .long 3218419133 + .long 3515126734 + .long 3218428522 + .long 456358091 + .long 3218437897 + .long 3839764252 + .long 3218447256 + .long 972805768 + .long 3218456602 + .long 636889785 + .long 3218465933 + .long 3022604462 + .long 3218475249 + .long 4024691694 + .long 3218484551 + .long 3831987111 + .long 3218493839 + .long 2632458130 + .long 3218503113 + .long 613209272 + .long 3218512373 + .long 2255454733 + .long 3218521618 + .long 3449621726 + .long 3218530849 + .long 85290269 + .long 3218540067 + .long 936100227 + .long 3218549270 + .long 1889952648 + .long 3218558459 + .long 3128884028 + .long 3218567634 + .long 539136753 + .long 3218576796 + .long 2891033284 + .long 3218585943 + .long 1774210047 + .long 3218595077 + .long 1662393428 + .long 3218604197 + .long 2733535479 + .long 3218613303 + .long 869818766 + .long 3218622396 + .long 542563073 + .long 3218631475 + .long 1927328294 + .long 3218640540 + .long 903919170 + .long 3218649592 + .long 1941291890 + .long 3218658630 + .long 917689576 + .long 3218667655 + .long 2300516105 + .long 3218676666 + .long 1966471527 + .long 3218685664 + .long 86458524 + .long 3218694649 + .long 1125586940 + .long 3218703620 + .long 958276399 + .long 3218712578 + .long 4048129956 + .long 3218721522 + .long 1973102048 + .long 3218730454 + .long 3490273972 + .long 3218739372 + .long 176119889 + .long 3218748278 + .long 786249521 + .long 3218757170 + .long 1190641396 + .long 3218766049 + .long 1553516298 + .long 3218774915 + .long 2038374217 + .long 3218783768 + .long 2807998562 + .long 3218792608 + .long 4024460340 + .long 3218801435 + .long 1554155016 + .long 3218810250 + .long 4147675809 + .long 3218819051 + .long 3375046719 + .long 3218827840 + .long 3690497658 + .long 3218836616 + .long 957631997 + .long 3218845380 + .long 3924267057 + .long 3218854130 + .long 4157667002 + .long 3218862868 + .long 1814350566 + .long 3218871594 + .long 1345127672 + .long 3218880307 + .long 2905168726 + .long 3218889007 + .long 2354008484 + .long 3218897695 + .long 4140451764 + .long 3218906370 + .long 4122708074 + .long 3218915033 + .long 2453297277 + .long 3218923684 + .long 3579053340 + .long 3218932322 + .long 3356226173 + .long 3218940948 + .long 1935387215 + .long 3218949562 + .long 3761433103 + .long 3218958163 + .long 393720137 + .long 3218966753 + .long 570838969 + .long 3218975330 + .long 145847129 + .long 3218983895 + .long 3561109068 + .long 3218992447 + .long 2373463229 + .long 3219000988 + .long 1024029336 + .long 3219009517 + .long 3953310001 + .long 3219018033 + .long 2716292306 + .long 3219026538 + .long 1752255026 + .long 3219035031 + .long 1204902862 + .long 3219043512 + .long 1217337138 + .long 3219051981 + .long 1932059168 + .long 3219060438 + .long 3490973615 + .long 3219068883 + .long 1740424513 + .long 3219077317 + .long 1116100460 + .long 3219085739 + .long 1758136015 + .long 3219094149 + .long 3806082244 + .long 3219102547 + .long 3103942666 + .long 3219110934 + .long 4085078348 + .long 3219119309 + .long 2592341915 + .long 3219127673 + .long 1237017397 + .long 1071636966 + .long 2971350592 + .long 1071628625 + .long 2474540381 + .long 1071620296 + .long 3905998082 + .long 1071611978 + .long 2835758645 + .long 1071603672 + .long 3424346780 + .long 1071595377 + .long 1242904730 + .long 1071587094 + .long 453058437 + .long 1071578822 + .long 922012657 + .long 1071570561 + .long 2517515272 + .long 1071562311 + .long 812887046 + .long 1071554073 + .long 4266887859 + .long 1071545845 + .long 4158942730 + .long 1071537629 + .long 358942686 + .long 1071529425 + .long 1327241886 + .long 1071521231 + .long 2639818283 + .long 1071513048 + .long 4168139969 + .long 1071504876 + .long 1489227762 + .long 1071496716 + .long 3065521585 + .long 1071488566 + .long 180106617 + .long 1071480428 + .long 1296448894 + .long 1071472300 + .long 1993621492 + .long 1071464183 + .long 2146170984 + .long 1071456077 + .long 1629147435 + .long 1071447982 + .long 318101713 + .long 1071439898 + .long 2384050109 + .long 1071431824 + .long 3408569797 + .long 1071423761 + .long 3268698084 + .long 1071415709 + .long 1841962494 + .long 1071407668 + .long 3301345460 + .long 1071399637 + .long 3230379855 + .long 1071391617 + .long 1508048307 + .long 1071383608 + .long 2308780654 + .long 1071375609 + .long 1217549516 + .long 1071367621 + .long 2409736962 + .long 1071359643 + .long 1471262832 + .long 1071351676 + .long 2578451427 + .long 1071343719 + .long 1318159863 + .long 1071335773 + .long 1867644803 + .long 1071327837 + .long 4109658128 + .long 1071319911 + .long 3632444524 + .long 1071311996 + .long 319673663 + .long 1071304092 + .long 2645405118 + .long 1071296197 + .long 1904282206 + .long 1071288313 + .long 2276300709 + .long 1071280439 + .long 3646937343 + .long 1071272575 + .long 1607147436 + .long 1071264722 + .long 338264500 + .long 1071256879 + .long 4022063343 + .long 1071249045 + .long 3955855900 + .long 1071241222 + .long 27325445 + .long 1071233410 + .long 714524338 + .long 1071225607 + .long 1611035309 + .long 1071217814 + .long 2605838414 + .long 1071210031 + .long 3588341533 + .long 1071202258 + .long 153410875 + .long 1071194496 + .long 781237988 + .long 1071186743 + .long 1067533806 + .long 1071179000 + .long 903395686 + .long 1071171267 + .long 180337970 + .long 1071163544 + .long 3085257158 + .long 1071155830 + .long 920560604 + .long 1071148127 + .long 2168935497 + .long 1071140433 + .long 2428575699 + .long 1071132749 + .long 1593048857 + .long 1071125075 + .long 3851294344 + .long 1071117410 + .long 507752028 + .long 1071109756 + .long 47131309 + .long 1071102111 + .long 2364605328 + .long 1071094475 + .long 3060776247 + .long 1071086849 + .long 2031607852 + .long 1071079233 + .long 3468423567 + .long 1071071626 + .long 2973002597 + .long 1071064029 + .long 442479858 + .long 1071056442 + .long 69344031 + .long 1071048864 + .long 1751501034 + .long 1071041295 + .long 1092272106 + .long 1071033736 + .long 2285293781 + .long 1071026186 + .long 934646808 + .long 1071018646 + .long 1234723447 + .long 1071011115 + .long 3085323714 + .long 1071003593 + .long 2091653507 + .long 1070996081 + .long 2449224655 + .long 1070988578 + .long 4058951182 + .long 1070981084 + .long 2527147484 + .long 1070973600 + .long 2050428397 + .long 1070966125 + .long 2530805506 + .long 1070958659 + .long 3870652645 + .long 1070951202 + .long 1677736816 + .long 1070943755 + .long 150118311 + .long 1070936317 + .long 3486214350 + .long 1070928887 + .long 2999895448 + .long 1070921467 + .long 2890287450 + .long 1070914056 + .long 3061900616 + .long 1070906654 + .long 3419595198 + .long 1070899261 + .long 3868579735 + .long 1070891877 + .long 19442055 + .long 1070884503 + .long 368016775 + .long 1070877137 + .long 525579846 + .long 1070869780 + .long 398716067 + .long 1070862432 + .long 4189317433 + .long 1070855092 + .long 3214712303 + .long 1070847762 + .long 1677467535 + .long 1070840441 + .long 3780484975 + .long 1070833128 + .long 842097952 + .long 1070825825 + .long 1360840737 + .long 1070818530 + .long 950675880 + .long 1070811244 + .long 3815829096 + .long 1070803966 + .long 1275951213 + .long 1070796698 + .long 1830887666 + .long 1070789438 + .long 1095905871 + .long 1070782187 + .long 3276530156 + .long 1070774944 + .long 3988671029 + .long 1070767710 + .long 3143525540 + .long 1070760485 + .long 652608459 + .long 1070753269 + .long 722718060 + .long 1070746061 + .long 3266000023 + .long 1070738861 + .long 3899945937 + .long 1070731670 + .long 2537326407 + .long 1070724488 + .long 3386189576 + .long 1070717314 + .long 2064957766 + .long 1070710149 + .long 2782295200 + .long 1070702992 + .long 1157237371 + .long 1070695844 + .long 1399058776 + .long 1070688704 + .long 3422369598 + .long 1070681572 + .long 2847114276 + .long 1070674449 + .long 3883471977 + .long 1070667334 + .long 2151986001 + .long 1070660228 + .long 1863431563 + .long 1070653130 + .long 2933912512 + .long 1070646040 + .long 984859948 + .long 1070638959 + .long 227932728 + .long 1070631886 + .long 580114212 + .long 1070624821 + .long 1958678199 + .long 1070617764 + .long 4281187571 + .long 1070610715 + .long 3170525652 + .long 1070603675 + .long 2839796761 + .long 1070596643 + .long 2119878685 + .long 1070583143 + .long 4089253071 + .long 1070569111 + .long 2835758645 + .long 1070555096 + .long 2492901513 + .long 1070541097 + .long 2899780145 + .long 1070527114 + .long 3896050086 + .long 1070513147 + .long 1026954088 + .long 1070499197 + .long 2723188744 + .long 1070485262 + .long 236130877 + .long 1070471344 + .long 1997573379 + .long 1070457441 + .long 3554951635 + .long 1070443554 + .long 456242909 + .long 1070429684 + .long 1134865756 + .long 1070415829 + .long 1139873776 + .long 1070401990 + .long 315822345 + .long 1070388167 + .long 2802766176 + .long 1070374359 + .long 4151355006 + .long 1070360567 + .long 4207733072 + .long 1070346791 + .long 2818569420 + .long 1070333031 + .long 4126022811 + .long 1070319286 + .long 3682837469 + .long 1070305557 + .long 1337242607 + .long 1070291844 + .long 1232950086 + .long 1070278146 + .long 3219217489 + .long 1070264463 + .long 2850845810 + .long 1070250796 + .long 4273079031 + .long 1070237144 + .long 3041732648 + .long 1070223508 + .long 3303060581 + .long 1070209887 + .long 613883718 + .long 1070196282 + .long 3416424147 + .long 1070182691 + .long 2973531841 + .long 1070169116 + .long 3433453502 + .long 1070155556 + .long 354993870 + .long 1070142012 + .long 2182349993 + .long 1070128482 + .long 180337970 + .long 1070114968 + .long 2794129140 + .long 1070101468 + .long 1289509543 + .long 1070087984 + .long 4112616140 + .long 1070074514 + .long 2530196300 + .long 1070061060 + .long 694376742 + .long 1070047621 + .long 2757759525 + .long 1070034196 + .long 4283485357 + .long 1070020786 + .long 835166085 + .long 1070007392 + .long 861784501 + .long 1069994012 + .long 4222855791 + .long 1069980646 + .long 2188425477 + .long 1069967296 + .long 3208871137 + .long 1069953960 + .long 2850129301 + .long 1069940639 + .long 973562605 + .long 1069927333 + .long 1735957778 + .long 1069914041 + .long 704621746 + .long 1069900764 + .long 2037248826 + .long 1069887501 + .long 1302049555 + .long 1069874253 + .long 2657617909 + .long 1069861019 + .long 1673060149 + .long 1069847800 + .long 2507862062 + .long 1069834595 + .long 732017833 + .long 1069821405 + .long 505897304 + .long 1069808229 + .long 1695342161 + .long 1069795067 + .long 4166631327 + .long 1069781919 + .long 3491511767 + .long 1069768786 + .long 3832098487 + .long 1069755667 + .long 761003473 + .long 1069742563 + .long 2736170304 + .long 1069729472 + .long 1036101224 + .long 1069716396 + .long 4119593661 + .long 1069703333 + .long 3266000023 + .long 1069690285 + .long 2639996940 + .long 1069677251 + .long 2111714268 + .long 1069664231 + .long 1551700571 + .long 1069651225 + .long 830921328 + .long 1069638233 + .long 4115724438 + .long 1069625254 + .long 2687969258 + .long 1069612290 + .long 714828609 + .long 1069599340 + .long 2363885129 + .long 1069586403 + .long 3213194931 + .long 1069573480 + .long 3136187749 + .long 1069560571 + .long 2006697909 + .long 1069547676 + .long 3692892517 + .long 1069522069 + .long 765175007 + .long 1069496334 + .long 3570253499 + .long 1069470625 + .long 3269064532 + .long 1069444944 + .long 3908238678 + .long 1069419290 + .long 945260706 + .long 1069393664 + .long 2723302721 + .long 1069368064 + .long 406449780 + .long 1069342492 + .long 2339434949 + .long 1069316946 + .long 3982864956 + .long 1069291427 + .long 798118804 + .long 1069265936 + .long 1132246414 + .long 1069240471 + .long 448161614 + .long 1069215033 + .long 2799475404 + .long 1069189621 + .long 3650623571 + .long 1069164236 + .long 2761765396 + .long 1069138878 + .long 4188780490 + .long 1069113546 + .long 3398363754 + .long 1069088241 + .long 152924136 + .long 1069062963 + .long 2805548810 + .long 1069037710 + .long 2530196300 + .long 1069012484 + .long 3386464469 + .long 1068987284 + .long 844750970 + .long 1068962111 + .long 3261086672 + .long 1068936963 + .long 1812361559 + .long 1068911842 + .long 561092771 + .long 1068886747 + .long 3570519722 + .long 1068861677 + .long 2019699215 + .long 1068836634 + .long 4268273544 + .long 1068811616 + .long 1496729166 + .long 1068786625 + .long 2066132126 + .long 1068761659 + .long 1453354059 + .long 1068736719 + .long 3725905754 + .long 1068711804 + .long 67097779 + .long 1068686916 + .long 3135775963 + .long 1068662052 + .long 4116645570 + .long 1068637214 + .long 2785039517 + .long 1068612402 + .long 3211948238 + .long 1068587615 + .long 879114973 + .long 1068562854 + .long 4153869436 + .long 1068538117 + .long 4224353950 + .long 1068513406 + .long 1738648877 + .long 1068478498 + .long 621328029 + .long 1068429177 + .long 361989374 + .long 1068379906 + .long 522185726 + .long 1068330685 + .long 664805953 + .long 1068281514 + .long 354069550 + .long 1068232393 + .long 3450488540 + .long 1068183321 + .long 930992923 + .long 1068134300 + .long 953696405 + .long 1068085328 + .long 3088087314 + .long 1068036405 + .long 2609990599 + .long 1067987532 + .long 3386464469 + .long 1067938708 + .long 695925966 + .long 1067889934 + .long 2702982241 + .long 1067841208 + .long 393654302 + .long 1067792532 + .long 1935110223 + .long 1067743904 + .long 2610888947 + .long 1067695325 + .long 2000764363 + .long 1067646795 + .long 3980740227 + .long 1067598313 + .long 3838143224 + .long 1067549880 + .long 1156519829 + .long 1067501496 + .long 4110598596 + .long 1067453159 + .long 3097995520 + .long 1067359375 + .long 3297851897 + .long 1067262895 + .long 3702812359 + .long 1067166511 + .long 3492345695 + .long 1067070223 + .long 1848366390 + .long 1066974031 + .long 2250192214 + .long 1066877934 + .long 3884599966 + .long 1066781932 + .long 1645815860 + .long 1066686026 + .long 3315375145 + .long 1066590214 + .long 3792308805 + .long 1066494497 + .long 251039259 + .long 1066395959 + .long 207414748 + .long 1066204903 + .long 1561045812 + .long 1066014035 + .long 2718921511 + .long 1065823355 + .long 2092732370 + .long 1065632863 + .long 2393819184 + .long 1065442558 + .long 4086440081 + .long 1065151664 + .long 3228205919 + .long 1064771801 + .long 3368528065 + .long 1064392310 + .long 2754502618 + .long 1063721742 + .long 2303420870 + .long 1062672426 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2696122091 + .long 3214636092 + .long 2696122091 + .long 3214636092 + .long 60798926 + .long 1067957842 + .long 60798926 + .long 1067957842 + .long 4242638864 + .long 3216335824 + .long 4242638864 + .long 3216335824 + .long 3540051903 + .long 1069845994 + .long 3540051903 + .long 1069845994 + .long 2610650434 + .long 3218487403 + .long 2610650434 + .long 3218487403 + .long 734375590 + .long 1062030445 + .long 734375590 + .long 1062030445 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2574098898 + .long 1070757742 + .long 2574098898 + .long 1070757742 + .long 1279163547 + .long 3218543945 + .long 1279163547 + .long 3218543945 + .long 3694782758 + .long 1071564553 + .long 3694782758 + .long 1071564553 + .long 1697348856 + .long 3219592519 + .long 1697348856 + .long 3219592519 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1073156096 + .long 0 + .long 1073156096 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dlog2_data_internal,@object + .size __svml_dlog2_data_internal,13568 + .align 64 + +__dlog2_la__Q3: + .long 3213221364 + .long 1050233568 + .long 1697350398 + .long 3219592519 + .long 3694789629 + .long 1071564553 + .long 0 + .long 1073157447 + .type __dlog2_la__Q3,@object + .size __dlog2_la__Q3,32 + .space 32, 0x00 + .align 64 + +__dlog2_la__Q2: + .long 3213221358 + .long 1050233568 + .long 1697350398 + .long 3219592519 + .long 3695167823 + .long 1071564553 + .long 1697791998 + .long 3218543943 + .long 0 + .long 1073157447 + .type __dlog2_la__Q2,@object + .size __dlog2_la__Q2,40 + .space 24, 0x00 + .align 64 + +__dlog2_la__Q1: + .long 3213221370 + .long 1050233568 + .long 3213207734 + .long 3196668640 + .long 3694789628 + .long 1071564553 + .long 1697350743 + .long 3218543943 + .long 1357908666 + .long 1070757740 + .long 3685007067 + .long 3217999625 + .long 96832070 + .long 1070227830 + .long 1140452344 + .long 3217495379 + .long 2606274745 + .long 1069844296 + .long 1933654871 + .long 3217172449 + .long 0 + .long 1073157447 + .long 0 + .long 3219592519 + .type __dlog2_la__Q1,@object + .size __dlog2_la__Q1,96 + .space 32, 0x00 + .align 64 + +__dlog2_la__TWO_32P: + .long 1048576 + .long 1106247680 + .type __dlog2_la__TWO_32P,@object + .size __dlog2_la__TWO_32P,8 + .space 56, 0x00 + .align 64 + +__dlog2_la__TWO_32: + .long 0 + .long 1106247680 + .type __dlog2_la__TWO_32,@object + .size __dlog2_la__TWO_32,8 + .space 56, 0x00 + .align 64 + +__dlog2_la__TWO_55: + .long 0 + .long 1130364928 + .type __dlog2_la__TWO_55,@object + .size __dlog2_la__TWO_55,8 + .space 56, 0x00 + .align 64 + +__dlog2_la___libm_rcp_table_256: + .long 0x3f7f8000 + .long 0x3f7e8000 + .long 0x3f7d8000 + .long 0x3f7c8000 + .long 0x3f7ba000 + .long 0x3f7aa000 + .long 0x3f79a000 + .long 0x3f78c000 + .long 0x3f77c000 + .long 0x3f76e000 + .long 0x3f75e000 + .long 0x3f750000 + .long 0x3f742000 + .long 0x3f732000 + .long 0x3f724000 + .long 0x3f716000 + .long 0x3f708000 + .long 0x3f6fa000 + .long 0x3f6ec000 + .long 0x3f6de000 + .long 0x3f6d0000 + .long 0x3f6c2000 + .long 0x3f6b6000 + .long 0x3f6a8000 + .long 0x3f69a000 + .long 0x3f68c000 + .long 0x3f680000 + .long 0x3f672000 + .long 0x3f666000 + .long 0x3f658000 + .long 0x3f64c000 + .long 0x3f640000 + .long 0x3f632000 + .long 0x3f626000 + .long 0x3f61a000 + .long 0x3f60e000 + .long 0x3f600000 + .long 0x3f5f4000 + .long 0x3f5e8000 + .long 0x3f5dc000 + .long 0x3f5d0000 + .long 0x3f5c4000 + .long 0x3f5b8000 + .long 0x3f5ae000 + .long 0x3f5a2000 + .long 0x3f596000 + .long 0x3f58a000 + .long 0x3f57e000 + .long 0x3f574000 + .long 0x3f568000 + .long 0x3f55e000 + .long 0x3f552000 + .long 0x3f546000 + .long 0x3f53c000 + .long 0x3f532000 + .long 0x3f526000 + .long 0x3f51c000 + .long 0x3f510000 + .long 0x3f506000 + .long 0x3f4fc000 + .long 0x3f4f2000 + .long 0x3f4e6000 + .long 0x3f4dc000 + .long 0x3f4d2000 + .long 0x3f4c8000 + .long 0x3f4be000 + .long 0x3f4b4000 + .long 0x3f4aa000 + .long 0x3f4a0000 + .long 0x3f496000 + .long 0x3f48c000 + .long 0x3f482000 + .long 0x3f478000 + .long 0x3f46e000 + .long 0x3f464000 + .long 0x3f45c000 + .long 0x3f452000 + .long 0x3f448000 + .long 0x3f43e000 + .long 0x3f436000 + .long 0x3f42c000 + .long 0x3f422000 + .long 0x3f41a000 + .long 0x3f410000 + .long 0x3f408000 + .long 0x3f3fe000 + .long 0x3f3f6000 + .long 0x3f3ec000 + .long 0x3f3e4000 + .long 0x3f3da000 + .long 0x3f3d2000 + .long 0x3f3ca000 + .long 0x3f3c0000 + .long 0x3f3b8000 + .long 0x3f3b0000 + .long 0x3f3a8000 + .long 0x3f39e000 + .long 0x3f396000 + .long 0x3f38e000 + .long 0x3f386000 + .long 0x3f37e000 + .long 0x3f376000 + .long 0x3f36c000 + .long 0x3f364000 + .long 0x3f35c000 + .long 0x3f354000 + .long 0x3f34c000 + .long 0x3f344000 + .long 0x3f33c000 + .long 0x3f334000 + .long 0x3f32e000 + .long 0x3f326000 + .long 0x3f31e000 + .long 0x3f316000 + .long 0x3f30e000 + .long 0x3f306000 + .long 0x3f2fe000 + .long 0x3f2f8000 + .long 0x3f2f0000 + .long 0x3f2e8000 + .long 0x3f2e2000 + .long 0x3f2da000 + .long 0x3f2d2000 + .long 0x3f2cc000 + .long 0x3f2c4000 + .long 0x3f2bc000 + .long 0x3f2b6000 + .long 0x3f2ae000 + .long 0x3f2a8000 + .long 0x3f2a0000 + .long 0x3f29a000 + .long 0x3f292000 + .long 0x3f28c000 + .long 0x3f284000 + .long 0x3f27e000 + .long 0x3f276000 + .long 0x3f270000 + .long 0x3f268000 + .long 0x3f262000 + .long 0x3f25c000 + .long 0x3f254000 + .long 0x3f24e000 + .long 0x3f248000 + .long 0x3f240000 + .long 0x3f23a000 + .long 0x3f234000 + .long 0x3f22e000 + .long 0x3f226000 + .long 0x3f220000 + .long 0x3f21a000 + .long 0x3f214000 + .long 0x3f20e000 + .long 0x3f206000 + .long 0x3f200000 + .long 0x3f1fa000 + .long 0x3f1f4000 + .long 0x3f1ee000 + .long 0x3f1e8000 + .long 0x3f1e2000 + .long 0x3f1dc000 + .long 0x3f1d6000 + .long 0x3f1d0000 + .long 0x3f1ca000 + .long 0x3f1c4000 + .long 0x3f1be000 + .long 0x3f1b8000 + .long 0x3f1b2000 + .long 0x3f1ac000 + .long 0x3f1a6000 + .long 0x3f1a0000 + .long 0x3f19a000 + .long 0x3f194000 + .long 0x3f190000 + .long 0x3f18a000 + .long 0x3f184000 + .long 0x3f17e000 + .long 0x3f178000 + .long 0x3f172000 + .long 0x3f16e000 + .long 0x3f168000 + .long 0x3f162000 + .long 0x3f15c000 + .long 0x3f158000 + .long 0x3f152000 + .long 0x3f14c000 + .long 0x3f148000 + .long 0x3f142000 + .long 0x3f13c000 + .long 0x3f138000 + .long 0x3f132000 + .long 0x3f12c000 + .long 0x3f128000 + .long 0x3f122000 + .long 0x3f11c000 + .long 0x3f118000 + .long 0x3f112000 + .long 0x3f10e000 + .long 0x3f108000 + .long 0x3f104000 + .long 0x3f0fe000 + .long 0x3f0f8000 + .long 0x3f0f4000 + .long 0x3f0ee000 + .long 0x3f0ea000 + .long 0x3f0e6000 + .long 0x3f0e0000 + .long 0x3f0dc000 + .long 0x3f0d6000 + .long 0x3f0d2000 + .long 0x3f0cc000 + .long 0x3f0c8000 + .long 0x3f0c2000 + .long 0x3f0be000 + .long 0x3f0ba000 + .long 0x3f0b4000 + .long 0x3f0b0000 + .long 0x3f0ac000 + .long 0x3f0a6000 + .long 0x3f0a2000 + .long 0x3f09e000 + .long 0x3f098000 + .long 0x3f094000 + .long 0x3f090000 + .long 0x3f08a000 + .long 0x3f086000 + .long 0x3f082000 + .long 0x3f07e000 + .long 0x3f078000 + .long 0x3f074000 + .long 0x3f070000 + .long 0x3f06c000 + .long 0x3f066000 + .long 0x3f062000 + .long 0x3f05e000 + .long 0x3f05a000 + .long 0x3f056000 + .long 0x3f052000 + .long 0x3f04c000 + .long 0x3f048000 + .long 0x3f044000 + .long 0x3f040000 + .long 0x3f03c000 + .long 0x3f038000 + .long 0x3f034000 + .long 0x3f030000 + .long 0x3f02a000 + .long 0x3f026000 + .long 0x3f022000 + .long 0x3f01e000 + .long 0x3f01a000 + .long 0x3f016000 + .long 0x3f012000 + .long 0x3f00e000 + .long 0x3f00a000 + .long 0x3f006000 + .long 0x3f002000 + .type __dlog2_la___libm_rcp_table_256,@object + .size __dlog2_la___libm_rcp_table_256,1024 + .align 64 + +__dlog2_la___libm_log2_table_256: + .long 0xfb44c3b7,0x3e1485cb + .long 0x00000000,0x3f671b0e + .long 0x06028ac0,0x3e31d5d9 + .long 0x00000000,0x3f815cfe + .long 0xb8d7240b,0x3df8b9cb + .long 0x00000000,0x3f8cfee7 + .long 0x0d179106,0x3e38864a + .long 0x00000000,0x3f94564a + .long 0xecba1593,0x3e459c6a + .long 0x00000000,0x3f997723 + .long 0x94120c14,0x3e48d36a + .long 0x00000000,0x3f9f5923 + .long 0xd2571490,0x3e5410ba + .long 0x00000000,0x3fa2a094 + .long 0x1dc036a2,0x3e2776b0 + .long 0x00000000,0x3fa53894 + .long 0x78efe2b1,0x3e537229 + .long 0x00000000,0x3fa8324c + .long 0xfd29dc75,0x3e59c0fa + .long 0x00000000,0x3faacf54 + .long 0x046734f7,0x3e4636b7 + .long 0x00000000,0x3fadced9 + .long 0xd3b410b8,0x3e6f7950 + .long 0x00000000,0x3fb0387e + .long 0x00f2200a,0x3e19d1e7 + .long 0x00000000,0x3fb18ac6 + .long 0x8661ba82,0x3e4f09a9 + .long 0x00000000,0x3fb30edd + .long 0x9367107c,0x3e564d91 + .long 0x00000000,0x3fb463c1 + .long 0x0e4a4ce8,0x3e4e1fd1 + .long 0x00000000,0x3fb5b9e1 + .long 0x3cdb6374,0x3e492cf0 + .long 0x00000000,0x3fb7113f + .long 0x069c4f7f,0x3e61a364 + .long 0x00000000,0x3fb869dd + .long 0x427b631b,0x3e6493a6 + .long 0x00000000,0x3fb9c3be + .long 0xe02b3e8b,0x3e6af2c2 + .long 0x00000000,0x3fbb1ee4 + .long 0x389f4365,0x3e616e1e + .long 0x00000000,0x3fbc7b52 + .long 0x6a31fd96,0x3e4633b7 + .long 0x00000000,0x3fbdd90a + .long 0x0508664d,0x3e62ed84 + .long 0x00000000,0x3fbf05d4 + .long 0xaca1905c,0x3e775dcd + .long 0x00000000,0x3fc032fb + .long 0x094fbeeb,0x3e753e65 + .long 0x00000000,0x3fc0e3b5 + .long 0x96aa4b17,0x3e671f44 + .long 0x00000000,0x3fc19519 + .long 0x92da5a47,0x3e785566 + .long 0x00000000,0x3fc22dad + .long 0xbeb7d722,0x3e518efa + .long 0x00000000,0x3fc2e050 + .long 0xab57551c,0x3e738564 + .long 0x00000000,0x3fc379f7 + .long 0x54a914e3,0x3e55d0da + .long 0x00000000,0x3fc42ddd + .long 0xfe974017,0x3e73cd00 + .long 0x00000000,0x3fc4c89b + .long 0x59064390,0x3e54ffd6 + .long 0x00000000,0x3fc563dc + .long 0x633ab50f,0x3e67d75e + .long 0x00000000,0x3fc619a2 + .long 0xc8877e8a,0x3e77e6ce + .long 0x00000000,0x3fc6b5ff + .long 0x1ab7837f,0x3e7ecc1f + .long 0x00000000,0x3fc752e1 + .long 0xf9d5827a,0x3e7cea7c + .long 0x00000000,0x3fc7f049 + .long 0x64ccd537,0x3e357f7a + .long 0x00000000,0x3fc8a898 + .long 0xf7c9b05b,0x3e7994ca + .long 0x00000000,0x3fc94724 + .long 0xa2f56536,0x3e524b8f + .long 0x00000000,0x3fc9e63a + .long 0x5edaab42,0x3e7fd640 + .long 0x00000000,0x3fca85d8 + .long 0xd163379a,0x3e625f54 + .long 0x00000000,0x3fcb2602 + .long 0x936acd51,0x3e7ebdc3 + .long 0x00000000,0x3fcbc6b6 + .long 0xcfbc0aa0,0x3e7eee14 + .long 0x00000000,0x3fcc67f7 + .long 0xf73bcdad,0x3e764469 + .long 0x00000000,0x3fcceec4 + .long 0x60971b86,0x3e6eb44e + .long 0x00000000,0x3fcd9109 + .long 0xcd2052a5,0x3e65fcf4 + .long 0x00000000,0x3fce33dd + .long 0xc402867b,0x3e61af1e + .long 0x00000000,0x3fced741 + .long 0xa0c956e4,0x3e61bfbd + .long 0x00000000,0x3fcf7b36 + .long 0x831e77ff,0x3e85287b + .long 0x00000000,0x3fd00223 + .long 0xaddfdee2,0x3e7d2fc3 + .long 0x00000000,0x3fd054a4 + .long 0x342052c1,0x3e83724b + .long 0x00000000,0x3fd0999d + .long 0x602bcd34,0x3e7b4ec9 + .long 0x00000000,0x3fd0eca6 + .long 0x3aa20ead,0x3e6742da + .long 0x00000000,0x3fd13ffa + .long 0x9ecdadf4,0x3e713e82 + .long 0x00000000,0x3fd185a4 + .long 0xfef3031b,0x3e52f27e + .long 0x00000000,0x3fd1cb83 + .long 0x79e4af8a,0x3e710739 + .long 0x00000000,0x3fd21fa1 + .long 0xe59ad84a,0x3e637301 + .long 0x00000000,0x3fd265f5 + .long 0x3d7dfd9b,0x3e88697c + .long 0x00000000,0x3fd2baa0 + .long 0x738117b0,0x3e717788 + .long 0x00000000,0x3fd3016b + .long 0xd3c26a97,0x3e6c5514 + .long 0x00000000,0x3fd3486c + .long 0x4c4ff246,0x3e8df550 + .long 0x00000000,0x3fd38fa3 + .long 0x40340fa6,0x3e88102d + .long 0x00000000,0x3fd3e562 + .long 0x4592f4c3,0x3e5f53b6 + .long 0x00000000,0x3fd42d14 + .long 0x8b149a00,0x3e750fc8 + .long 0x00000000,0x3fd474fd + .long 0xa8f50e5f,0x3e86d01c + .long 0x00000000,0x3fd4bd1e + .long 0x7a22a88a,0x3e83c469 + .long 0x00000000,0x3fd50578 + .long 0xdc18b6d2,0x3e79000e + .long 0x00000000,0x3fd54e0b + .long 0x7c00250b,0x3e7870f0 + .long 0x00000000,0x3fd596d7 + .long 0xc1c885ae,0x3e8e3dd5 + .long 0x00000000,0x3fd5dfdc + .long 0xa6ecc47e,0x3e7bf64c + .long 0x00000000,0x3fd6291c + .long 0x0bc16c18,0x3e6bdaca + .long 0x00000000,0x3fd67296 + .long 0x1f925729,0x3e84d25c + .long 0x00000000,0x3fd6bc4a + .long 0xf23978de,0x3e5a5fb4 + .long 0x00000000,0x3fd7063a + .long 0xe2ac7f60,0x3e8e3da0 + .long 0x00000000,0x3fd75064 + .long 0x71f51a7b,0x3e819e20 + .long 0x00000000,0x3fd79acb + .long 0x5b924234,0x3e5e43ae + .long 0x00000000,0x3fd7d67c + .long 0xe9aedf37,0x3e701a2b + .long 0x00000000,0x3fd8214f + .long 0xeddd33ea,0x3e6b6f51 + .long 0x00000000,0x3fd86c5f + .long 0xe732b3c4,0x3e79375f + .long 0x00000000,0x3fd8b7ac + .long 0xe47cb9df,0x3e7e831b + .long 0x00000000,0x3fd8f416 + .long 0xe392d3c8,0x3e8abc37 + .long 0x00000000,0x3fd93fd2 + .long 0x28b35c77,0x3e80852d + .long 0x00000000,0x3fd98bcd + .long 0xd29cea36,0x3e69f374 + .long 0x00000000,0x3fd9c8c3 + .long 0xb3d7b0e6,0x3e542981 + .long 0x00000000,0x3fda152f + .long 0x1fe6d5ac,0x3e8b2bfb + .long 0x00000000,0x3fda527f + .long 0xf32e5dda,0x3e6f6f5c + .long 0x00000000,0x3fda9f5e + .long 0xd34d0d30,0x3e65abaa + .long 0x00000000,0x3fdadd0b + .long 0xe0ac9602,0x3e7bd47f + .long 0x00000000,0x3fdb2a5d + .long 0x7c5c784b,0x3e833601 + .long 0x00000000,0x3fdb6867 + .long 0xd7b0821f,0x3e5b887c + .long 0x00000000,0x3fdbb62f + .long 0xcd0a8f6a,0x3e83eccc + .long 0x00000000,0x3fdbf497 + .long 0x7500a4e8,0x3e7ba0e6 + .long 0x00000000,0x3fdc332a + .long 0xfc8712bb,0x3e885a8b + .long 0x00000000,0x3fdc819d + .long 0xf7a3a78f,0x3e81c336 + .long 0x00000000,0x3fdcc090 + .long 0x4ad8a38b,0x3e7846b4 + .long 0x00000000,0x3fdcffae + .long 0xfcfc3a99,0x3e7db50f + .long 0x00000000,0x3fdd3ef7 + .long 0x433cccd2,0x3e238809 + .long 0x00000000,0x3fdd8e50 + .long 0x6828fa82,0x3e721b2e + .long 0x00000000,0x3fddcdfb + .long 0xfc7c49c1,0x3e82848b + .long 0x00000000,0x3fde0dd2 + .long 0x1fce4d49,0x3e615144 + .long 0x00000000,0x3fde4dd6 + .long 0x77e2e8fd,0x3e68b88a + .long 0x00000000,0x3fde8e06 + .long 0x22a961b0,0x3e8fd353 + .long 0x00000000,0x3fdece62 + .long 0x266f2e1f,0x3e72854e + .long 0x00000000,0x3fdf1f16 + .long 0xc69211fe,0x3e8520c7 + .long 0x00000000,0x3fdf5fd8 + .long 0xaba878d5,0x3e826fcf + .long 0x00000000,0x3fdfa0c8 + .long 0xcd5b35b1,0x3e726ed8 + .long 0x00000000,0x3fdfe1e6 + .long 0x678a4f1c,0x3e49054d + .long 0x00000000,0x3fe01199 + .long 0x3bc19f18,0x3e5d23cb + .long 0x00000000,0x3fe03256 + .long 0x12772acb,0x3e87af35 + .long 0x00000000,0x3fe0532a + .long 0x2849c88a,0x3e67f5fc + .long 0x00000000,0x3fe07416 + .long 0x0e574fa1,0x3e84fce2 + .long 0x00000000,0x3fe08cd6 + .long 0x0ec2b5fa,0x3e857044 + .long 0x00000000,0x3fe0adeb + .long 0xd031f353,0x3e6d5d1d + .long 0x00000000,0x3fe0cf18 + .long 0xdae75c4d,0x3e99a159 + .long 0x00000000,0x3fe0f05c + .long 0x1553afb9,0x3e90eaf1 + .long 0x00000000,0x3fe111b9 + .long 0xdcc5c3c7,0x3e8bc6f3 + .long 0x00000000,0x3fe1332e + .long 0x1109e597,0x3e94ef84 + .long 0x00000000,0x3fe154bb + .long 0xd82adea4,0x3e937f40 + .long 0x00000000,0x3fe16df5 + .long 0x78336a2f,0x3e96dc5a + .long 0x00000000,0x3fe18fad + .long 0x84c2c804,0x3e90935b + .long 0x00000000,0x3fe1b17e + .long 0x04fd30aa,0x3e8a837a + .long 0x00000000,0x3fe1caeb + .long 0xd924b0ac,0x3e99061d + .long 0x00000000,0x3fe1ece7 + .long 0xef9b9d01,0x3e7ed700 + .long 0x00000000,0x3fe20efd + .long 0x202c81ec,0x3e9c6ebb + .long 0x00000000,0x3fe2289d + .long 0xfc0d7d76,0x3e936d4d + .long 0x00000000,0x3fe24adf + .long 0x9f8756ba,0x3e9a35d7 + .long 0x00000000,0x3fe26d3a + .long 0xe7c79d83,0x3e584ee3 + .long 0x00000000,0x3fe28710 + .long 0x942065a0,0x3e7d9e0d + .long 0x00000000,0x3fe2a998 + .long 0x2175afbf,0x3e872108 + .long 0x00000000,0x3fe2c38f + .long 0xfaf6283c,0x3e9f5809 + .long 0x00000000,0x3fe2e644 + .long 0x411d0507,0x3e871209 + .long 0x00000000,0x3fe3005e + .long 0x370c24bf,0x3e9c3b11 + .long 0x00000000,0x3fe32341 + .long 0x8044bb5a,0x3e9bce8e + .long 0x00000000,0x3fe33d7d + .long 0x698ea854,0x3e98aca0 + .long 0x00000000,0x3fe3608f + .long 0xd4d873bb,0x3e972a8e + .long 0x00000000,0x3fe37aee + .long 0x615e8182,0x3e8f669b + .long 0x00000000,0x3fe39e2f + .long 0xdda5b49a,0x3e98d1f4 + .long 0x00000000,0x3fe3b8b1 + .long 0xe72383f7,0x3e9cc279 + .long 0x00000000,0x3fe3dc21 + .long 0x497497f1,0x3e9c6774 + .long 0x00000000,0x3fe3f6c7 + .long 0x801bd0e6,0x3e82c7f6 + .long 0x00000000,0x3fe4117d + .long 0xd0ee28b4,0x3e9dfdd6 + .long 0x00000000,0x3fe43531 + .long 0xb70d3761,0x3e92d3a2 + .long 0x00000000,0x3fe4500b + .long 0xe7d6bcb2,0x3e9c8343 + .long 0x00000000,0x3fe46af4 + .long 0x90d43957,0x3e693179 + .long 0x00000000,0x3fe48eef + .long 0xf12570df,0x3e799eab + .long 0x00000000,0x3fe4a9fd + .long 0x1b88755d,0x3e78c5f8 + .long 0x00000000,0x3fe4c51b + .long 0xdf99a22c,0x3e7369be + .long 0x00000000,0x3fe4e049 + .long 0x6ed50f62,0x3e88fd93 + .long 0x00000000,0x3fe5049f + .long 0x978605ff,0x3e9c6042 + .long 0x00000000,0x3fe51ff2 + .long 0xe6c85f4c,0x3e930ae6 + .long 0x00000000,0x3fe53b56 + .long 0xc3275ba6,0x3e92e7b6 + .long 0x00000000,0x3fe556ca + .long 0x91597938,0x3e9e6401 + .long 0x00000000,0x3fe5724e + .long 0x448ebb62,0x3e3d2dee + .long 0x00000000,0x3fe59719 + .long 0x47501b6d,0x3e9b432e + .long 0x00000000,0x3fe5b2c3 + .long 0x571fa7cd,0x3e83cf9b + .long 0x00000000,0x3fe5ce7f + .long 0x7359819d,0x3e8dc615 + .long 0x00000000,0x3fe5ea4b + .long 0xc78a85ed,0x3e8973c3 + .long 0x00000000,0x3fe60628 + .long 0xc15a9f3d,0x3e77d788 + .long 0x00000000,0x3fe62216 + .long 0x51952736,0x3e9d2538 + .long 0x00000000,0x3fe63e14 + .long 0xde792c07,0x3e94dab9 + .long 0x00000000,0x3fe65a24 + .long 0x5bfa4318,0x3e8f5be1 + .long 0x00000000,0x3fe67645 + .long 0x55090ec8,0x3e903b26 + .long 0x00000000,0x3fe69277 + .long 0xc78b6175,0x3e99236f + .long 0x00000000,0x3fe6aeba + .long 0x3a80db6a,0x3e8a1972 + .long 0x00000000,0x3fe6cb0f + .long 0xf558aa96,0x3e8d43a2 + .long 0x00000000,0x3fe6e775 + .long 0xd9a82f2e,0x3e424ee3 + .long 0x00000000,0x3fe703ed + .long 0x583878f6,0x3e764d8e + .long 0x00000000,0x3fe72076 + .long 0xc1150a3e,0x3e379604 + .long 0x00000000,0x3fe73d11 + .long 0xed85584b,0x3e93b229 + .long 0x00000000,0x3fe759bd + .long 0x451a7b48,0x3e62967a + .long 0x00000000,0x3fe7767c + .long 0xc044e72d,0x3e8e12d7 + .long 0x00000000,0x3fe7934c + .long 0xfdfb6949,0x3e9ca45d + .long 0x00000000,0x3fe7b02e + .long 0xff690fce,0x3e9244fc + .long 0x00000000,0x3fe7c37a + .long 0x81487a2c,0x3e7e9cea + .long 0x00000000,0x3fe7e07b + .long 0xd0ad2d9a,0x3e760da0 + .long 0x00000000,0x3fe7fd8e + .long 0x096f45d9,0x3e8d7703 + .long 0x00000000,0x3fe81ab3 + .long 0x1b17115b,0x3e78dbee + .long 0x00000000,0x3fe837eb + .long 0x7c252ee0,0x3e8dc5a4 + .long 0x00000000,0x3fe85535 + .long 0x42d5123f,0x3e950116 + .long 0x00000000,0x3fe868c6 + .long 0xf11e41be,0x3e4c4eb7 + .long 0x00000000,0x3fe88630 + .long 0xdb2890b4,0x3e7773b8 + .long 0x00000000,0x3fe8a3ac + .long 0x7ffb4479,0x3e7bc8e7 + .long 0x00000000,0x3fe8c13b + .long 0x237693b3,0x3e8c388f + .long 0x00000000,0x3fe8d4fa + .long 0x45fcf1a0,0x3e731cd4 + .long 0x00000000,0x3fe8f2a9 + .long 0xe4895b91,0x3e9fae07 + .long 0x00000000,0x3fe9106a + .long 0x42d2824e,0x3e7d140d + .long 0x00000000,0x3fe9244c + .long 0x39900f67,0x3e75c3c8 + .long 0x00000000,0x3fe9422e + .long 0xa314252b,0x3e902422 + .long 0x00000000,0x3fe96023 + .long 0xf2a6b8ef,0x3e7b9be8 + .long 0x00000000,0x3fe97427 + .long 0x1476f5e9,0x3e66b188 + .long 0x00000000,0x3fe9923d + .long 0xdde10a6f,0x3e93c377 + .long 0x00000000,0x3fe9b066 + .long 0x4944a32c,0x3e817cad + .long 0x00000000,0x3fe9c48d + .long 0xc738e7ef,0x3e9927f2 + .long 0x00000000,0x3fe9e2d7 + .long 0xd25cfd94,0x3e7ccc41 + .long 0x00000000,0x3fea0136 + .long 0x2210e81b,0x3e8382fa + .long 0x00000000,0x3fea1580 + .long 0x1e690ce2,0x3e7752a7 + .long 0x00000000,0x3fea3400 + .long 0x122315d2,0x3e94cfee + .long 0x00000000,0x3fea4860 + .long 0xce98333b,0x3e80536e + .long 0x00000000,0x3fea6702 + .long 0xc30f00e9,0x3e838b7e + .long 0x00000000,0x3fea7b79 + .long 0x05b0c779,0x3e9dc380 + .long 0x00000000,0x3fea9a3c + .long 0xdd6dd3fe,0x3e6be168 + .long 0x00000000,0x3feab915 + .long 0x26e0d276,0x3e966757 + .long 0x00000000,0x3feacdb0 + .long 0x0aad615c,0x3e880252 + .long 0x00000000,0x3feaecab + .long 0x7927096a,0x3e607c31 + .long 0x00000000,0x3feb015e + .long 0x53b3d90e,0x3e596513 + .long 0x00000000,0x3feb161a + .long 0x8f2f0570,0x3e90ec3a + .long 0x00000000,0x3feb3545 + .long 0x81193954,0x3e9cb640 + .long 0x00000000,0x3feb4a18 + .long 0x311e7236,0x3e936479 + .long 0x00000000,0x3feb6967 + .long 0x3a42a413,0x3e9210e8 + .long 0x00000000,0x3feb7e52 + .long 0x4a0daeb2,0x3e9a1717 + .long 0x00000000,0x3feb9dc4 + .long 0xce900653,0x3e925bb7 + .long 0x00000000,0x3febb2c7 + .long 0xb5087588,0x3e95dbb8 + .long 0x00000000,0x3febd25d + .long 0x4a41204c,0x3e8d0aa9 + .long 0x00000000,0x3febe778 + .long 0x69a0d774,0x3e9c772f + .long 0x00000000,0x3febfc9c + .long 0x79d0a9a5,0x3e97b6a0 + .long 0x00000000,0x3fec1c65 + .long 0xd26f1a12,0x3e8f7402 + .long 0x00000000,0x3fec31a2 + .long 0x1243bc84,0x3e4db2f1 + .long 0x00000000,0x3fec46e9 + .long 0x477e1755,0x3e80dcc2 + .long 0x00000000,0x3fec66e5 + .long 0xc2f904c1,0x3e8b1e31 + .long 0x00000000,0x3fec7c44 + .long 0x1785b0c4,0x3e8fb619 + .long 0x00000000,0x3fec91ad + .long 0xedb052ef,0x3e98832d + .long 0x00000000,0x3fecb1dd + .long 0x9e373618,0x3e98c822 + .long 0x00000000,0x3fecc75f + .long 0x32954637,0x3e9a46e7 + .long 0x00000000,0x3fecdceb + .long 0xf0e6b2a9,0x3e996305 + .long 0x00000000,0x3fecfd50 + .long 0x1a6614ee,0x3e68c160 + .long 0x00000000,0x3fed12f6 + .long 0x09e33b28,0x3e9229c4 + .long 0x00000000,0x3fed28a5 + .long 0xe53b994c,0x3e7f281b + .long 0x00000000,0x3fed3e5f + .long 0x1124ac35,0x3e9f27f3 + .long 0x00000000,0x3fed5f08 + .long 0x3d2fdc03,0x3e84e779 + .long 0x00000000,0x3fed74dc + .long 0x1e93fd97,0x3e416c07 + .long 0x00000000,0x3fed8aba + .long 0x91b415ef,0x3e654669 + .long 0x00000000,0x3feda0a2 + .long 0x6495f594,0x3e9712d4 + .long 0x00000000,0x3fedc191 + .long 0x40171789,0x3e9ca7b2 + .long 0x00000000,0x3fedd793 + .long 0xe8fc4323,0x3e929afa + .long 0x00000000,0x3fededa0 + .long 0xeb03bd09,0x3e9a2e96 + .long 0x00000000,0x3fee03b7 + .long 0xca370ea2,0x3e94a63d + .long 0x00000000,0x3fee19d9 + .long 0xe30512ec,0x3e6a3bcb + .long 0x00000000,0x3fee3006 + .long 0x411c95ce,0x3e99d3ed + .long 0x00000000,0x3fee515c + .long 0x35cfaf8e,0x3e3e5b57 + .long 0x00000000,0x3fee67a4 + .long 0x5669df6a,0x3e9fca71 + .long 0x00000000,0x3fee7df5 + .long 0x04f19d94,0x3e9914e2 + .long 0x00000000,0x3fee9452 + .long 0xcaa19134,0x3e8b511c + .long 0x00000000,0x3feeaaba + .long 0x4bb3bfb1,0x3e9ed72f + .long 0x00000000,0x3feec12c + .long 0x3c29d75e,0x3e8be8d6 + .long 0x00000000,0x3feed7aa + .long 0x97da24fd,0x3e9c55d9 + .long 0x00000000,0x3feeee32 + .long 0x983c68ea,0x3e7ddfb1 + .long 0x00000000,0x3fef1014 + .long 0xf4425883,0x3e83ce66 + .long 0x00000000,0x3fef26b8 + .long 0xf7857f23,0x3e9055c3 + .long 0x00000000,0x3fef3d67 + .long 0x2805b525,0x3e9c2223 + .long 0x00000000,0x3fef5421 + .long 0x0c347fcf,0x3e8d59ba + .long 0x00000000,0x3fef6ae7 + .long 0x7c901c44,0x3e82b110 + .long 0x00000000,0x3fef81b8 + .long 0x74d1b482,0x3e8b1394 + .long 0x00000000,0x3fef9894 + .long 0x36fb9eb2,0x3e9ca75b + .long 0x00000000,0x3fefaf7b + .long 0x629b1b7e,0x3e981a0a + .long 0x00000000,0x3fefc66e + .long 0x7b8c1116,0x3e54cc20 + .long 0x00000000,0x3fefdd6d + .long 0xc0babe05,0x3e99ac8b + .long 0x00000000,0x3feff476 + .type __dlog2_la___libm_log2_table_256,@object + .size __dlog2_la___libm_log2_table_256,4096 + .space 512, 0x00 + .align 64 + +__dlog2_la__P: + .long 3213235158 + .long 1050233568 + .long 1697350398 + .long 3219592519 + .long 3694740707 + .long 1071564553 + .long 1697260025 + .long 3218543943 + .long 2542794428 + .long 1070757746 + .long 2165113687 + .long 3217999640 + .long 0 + .long 1073157447 + .type __dlog2_la__P,@object + .size __dlog2_la__P,56 + .space 8, 0x00 + .align 16 + +.FLT_16: + .long 0x00000000,0x43380000,0x00000000,0x43380000 + .type .FLT_16,@object + .size .FLT_16,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core-sse.S new file mode 100644 index 0000000000..882ee276f2 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized log2, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_log2 _ZGVdN4v_log2_sse_wrapper +#include "../svml_d_log24_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core.c new file mode 100644 index 0000000000..7678090d11 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized log2, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_log2 +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_log2, __GI__ZGVdN4v_log2, __redirect__ZGVdN4v_log2) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core_avx2.S new file mode 100644 index 0000000000..3960338639 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core_avx2.S @@ -0,0 +1,5321 @@ +/* Function log vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log2(x) = k - log2(Rcp) + poly_approximation(R) + * log2(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_log2_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea -4218816+__svml_dlog2_data_internal(%rip), %rax + vmovapd %ymm0, %ymm3 + +/* preserve mantissa, set input exponent to 2^(-10) */ + vandpd 12800+__svml_dlog2_data_internal(%rip), %ymm3, %ymm4 + vorpd 12928+__svml_dlog2_data_internal(%rip), %ymm4, %ymm2 + +/* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm2, %xmm5 + +/* exponent bits */ + vpsrlq $20, %ymm3, %ymm7 + vmovups %ymm15, 320(%rsp) + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +/* exponent */ + vmovupd 13312+__svml_dlog2_data_internal(%rip), %ymm15 + vmovups %ymm9, 96(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm14, 288(%rsp) + vrcpps %xmm5, %xmm6 + +/* check range */ + vcmplt_oqpd 12992+__svml_dlog2_data_internal(%rip), %ymm3, %ymm5 + vcvtps2pd %xmm6, %ymm1 + vcmpnle_uqpd 13056+__svml_dlog2_data_internal(%rip), %ymm3, %ymm6 + +/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm1, %ymm1 + +/* argument reduction */ + vfmsub213pd 13248+__svml_dlog2_data_internal(%rip), %ymm1, %ymm2 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + +/* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm1, %ymm9 + vcmplt_oqpd %ymm1, %ymm15, %ymm1 + vandpd 13376+__svml_dlog2_data_internal(%rip), %ymm1, %ymm15 + vorpd %ymm6, %ymm5, %ymm8 + +/* combine and get argument value range mask */ + vmovmskpd %ymm8, %edx + vmulpd %ymm2, %ymm2, %ymm5 + vextractf128 $1, %ymm7, %xmm0 + vshufps $221, %xmm0, %xmm7, %xmm4 + +/* biased exponent in DP format */ + vcvtdq2pd %xmm4, %ymm0 + +/* polynomial */ + vmovupd 12608+__svml_dlog2_data_internal(%rip), %ymm7 + vorpd 13440+__svml_dlog2_data_internal(%rip), %ymm15, %ymm4 + vsubpd %ymm4, %ymm0, %ymm8 + vmovupd 12672+__svml_dlog2_data_internal(%rip), %ymm0 + vfmadd213pd 12640+__svml_dlog2_data_internal(%rip), %ymm2, %ymm7 + vfmadd213pd 12704+__svml_dlog2_data_internal(%rip), %ymm2, %ymm0 + vmulpd 12736+__svml_dlog2_data_internal(%rip), %ymm2, %ymm2 + vfmadd213pd %ymm0, %ymm5, %ymm7 + vfmadd213pd %ymm2, %ymm5, %ymm7 + vextractf128 $1, %ymm9, %xmm12 + vmovd %xmm9, %ecx + vmovd %xmm12, %r9d + movslq %ecx, %rcx + vpextrd $2, %xmm9, %r8d + movslq %r9d, %r9 + vpextrd $2, %xmm12, %r10d + movslq %r8d, %r8 + movslq %r10d, %r10 + vmovsd (%rax,%rcx), %xmm10 + vmovsd (%rax,%r9), %xmm13 + vmovhpd (%rax,%r8), %xmm10, %xmm11 + vmovhpd (%rax,%r10), %xmm13, %xmm14 + vinsertf128 $1, %xmm14, %ymm11, %ymm6 + +/* reconstruction */ + vaddpd %ymm7, %ymm6, %ymm0 + vaddpd %ymm0, %ymm8, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm3, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dlog2_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_log2_avx2) + + .align 16,0x90 + +__svml_dlog2_cout_rare_internal: + + cfi_startproc + + movq $0, -64(%rsp) + movsd -64(%rsp), %xmm0 + movsd (%rdi), %xmm1 + movups _zeros.201.0.0.1(%rip), %xmm2 + subsd %xmm0, %xmm1 + movsd %xmm1, -8(%rsp) + movups %xmm2, -56(%rsp) + movups _ones.201.0.0.1(%rip), %xmm0 + movups %xmm0, -40(%rsp) + movups _infs.201.0.0.1(%rip), %xmm0 + movups %xmm0, -24(%rsp) + movl -4(%rsp), %eax + cmpl $2146435072, %eax + jae .LBL_2_19 + lea -1072660480(%rax), %edx + cmpl $53248, %edx + jae .LBL_2_14 + lea -1072693232(%rax), %edx + cmpl $24, %edx + jae .LBL_2_13 + movl -8(%rsp), %edi + movl %eax, %ecx + movl %edi, %edx + shll $11, %ecx + shrl $21, %edx + orl %edx, %ecx + addl $-2147483646, %ecx + cmpl $3, %ecx + jae .LBL_2_12 + addl $-1072693248, %eax + orl %edi, %eax + jne .LBL_2_10 + movq -56(%rsp), %rax + movq %rax, (%rsi) + jmp .LBL_2_11 + +.LBL_2_10: + movsd -8(%rsp), %xmm0 + movsd 16+__dlog2_la__Q3(%rip), %xmm2 + movsd 24+__dlog2_la__Q3(%rip), %xmm1 + addsd -32(%rsp), %xmm0 + mulsd %xmm0, %xmm2 + mulsd %xmm0, %xmm1 + addsd 8+__dlog2_la__Q3(%rip), %xmm2 + mulsd %xmm0, %xmm2 + movsd %xmm0, -8(%rsp) + addsd __dlog2_la__Q3(%rip), %xmm2 + mulsd %xmm0, %xmm2 + addsd %xmm1, %xmm2 + movsd %xmm2, (%rsi) + +.LBL_2_11: + xorl %eax, %eax + ret + +.LBL_2_12: + movsd -8(%rsp), %xmm2 + xorl %eax, %eax + movsd 16+__dlog2_la__Q2(%rip), %xmm1 + movsd 24+__dlog2_la__Q2(%rip), %xmm3 + addsd -32(%rsp), %xmm2 + movaps %xmm2, %xmm0 + mulsd %xmm2, %xmm0 + mulsd %xmm0, %xmm1 + mulsd %xmm0, %xmm3 + addsd __dlog2_la__Q2(%rip), %xmm1 + addsd 8+__dlog2_la__Q2(%rip), %xmm3 + mulsd %xmm2, %xmm1 + mulsd %xmm0, %xmm3 + movsd %xmm2, -8(%rsp) + addsd %xmm1, %xmm3 + movl $0, -8(%rsp) + movsd -8(%rsp), %xmm4 + subsd %xmm4, %xmm2 + addsd %xmm2, %xmm4 + mulsd 32+__dlog2_la__Q2(%rip), %xmm4 + addsd %xmm3, %xmm4 + movsd %xmm4, (%rsi) + ret + +.LBL_2_13: + movsd -8(%rsp), %xmm2 + xorl %eax, %eax + movsd 72+__dlog2_la__Q1(%rip), %xmm10 + movsd 64+__dlog2_la__Q1(%rip), %xmm4 + movsd __dlog2_la__TWO_32P(%rip), %xmm5 + movsd __dlog2_la__TWO_32P(%rip), %xmm7 + movsd 88+__dlog2_la__Q1(%rip), %xmm14 + movsd __dlog2_la__TWO_32P(%rip), %xmm11 + movsd __dlog2_la__TWO_32P(%rip), %xmm15 + addsd -32(%rsp), %xmm2 + movaps %xmm2, %xmm3 + movaps %xmm2, %xmm6 + mulsd %xmm2, %xmm3 + movaps %xmm2, %xmm0 + mulsd %xmm2, %xmm5 + mulsd __dlog2_la__TWO_32(%rip), %xmm6 + mulsd %xmm3, %xmm10 + mulsd %xmm3, %xmm4 + addsd 56+__dlog2_la__Q1(%rip), %xmm10 + addsd 48+__dlog2_la__Q1(%rip), %xmm4 + mulsd %xmm3, %xmm10 + mulsd %xmm3, %xmm4 + addsd 40+__dlog2_la__Q1(%rip), %xmm10 + addsd 32+__dlog2_la__Q1(%rip), %xmm4 + mulsd %xmm3, %xmm10 + mulsd %xmm3, %xmm4 + addsd 24+__dlog2_la__Q1(%rip), %xmm10 + addsd 16+__dlog2_la__Q1(%rip), %xmm4 + mulsd %xmm3, %xmm10 + mulsd %xmm2, %xmm4 + movsd __dlog2_la__TWO_32(%rip), %xmm3 + addsd %xmm4, %xmm10 + mulsd %xmm10, %xmm7 + movaps %xmm3, %xmm8 + mulsd %xmm10, %xmm8 + movsd %xmm5, -72(%rsp) + movsd -72(%rsp), %xmm1 + movsd %xmm7, -72(%rsp) + subsd %xmm6, %xmm1 + movsd -72(%rsp), %xmm9 + subsd %xmm1, %xmm0 + subsd %xmm8, %xmm9 + movsd %xmm1, -8(%rsp) + subsd %xmm9, %xmm10 + addsd %xmm9, %xmm14 + addsd 8+__dlog2_la__Q1(%rip), %xmm10 + movaps %xmm14, %xmm4 + mulsd %xmm0, %xmm4 + mulsd %xmm2, %xmm10 + mulsd %xmm1, %xmm14 + addsd %xmm0, %xmm1 + addsd %xmm10, %xmm4 + movaps %xmm4, %xmm12 + movsd 80+__dlog2_la__Q1(%rip), %xmm9 + addsd %xmm14, %xmm12 + mulsd %xmm12, %xmm11 + mulsd %xmm3, %xmm12 + movsd %xmm11, -72(%rsp) + movsd -72(%rsp), %xmm13 + subsd %xmm12, %xmm13 + subsd %xmm13, %xmm4 + addsd %xmm13, %xmm9 + addsd %xmm14, %xmm4 + movaps %xmm9, %xmm13 + addsd __dlog2_la__Q1(%rip), %xmm4 + addsd %xmm4, %xmm13 + mulsd %xmm13, %xmm15 + mulsd %xmm3, %xmm13 + movsd %xmm15, -72(%rsp) + movsd -72(%rsp), %xmm14 + subsd %xmm13, %xmm14 + mulsd %xmm14, %xmm1 + subsd %xmm14, %xmm9 + addsd %xmm9, %xmm4 + mulsd %xmm2, %xmm4 + addsd %xmm4, %xmm1 + movsd %xmm1, (%rsi) + ret + +.LBL_2_14: + movl %eax, %ecx + movl %eax, %edx + shrl $20, %ecx + andl $1048575, %edx + addl $-1023, %ecx + cmpl $1048576, %eax + jae .LBL_2_18 + movl %edx, -4(%rsp) + movl -8(%rsp), %edx + orl %edx, %eax + jne .LBL_2_17 + movsd -32(%rsp), %xmm0 + movl $2, %eax + divsd -56(%rsp), %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_17: + movsd -8(%rsp), %xmm0 + mulsd __dlog2_la__TWO_55(%rip), %xmm0 + movsd %xmm0, -8(%rsp) + movl -4(%rsp), %edx + movl %edx, %ecx + shrl $20, %ecx + movl %edx, %eax + addl $-1078, %ecx + +.LBL_2_18: + shrl $12, %eax + orl $1072693248, %edx + movzbl %al, %edi + pxor %xmm7, %xmm7 + movl %edx, -4(%rsp) + lea __dlog2_la___libm_rcp_table_256(%rip), %rdx + movsd -8(%rsp), %xmm10 + pxor %xmm8, %xmm8 + movl $0, -8(%rsp) + lea __dlog2_la___libm_log2_table_256(%rip), %rax + movsd -8(%rsp), %xmm0 + cvtss2sd (%rdx,%rdi,4), %xmm7 + cvtsi2sd %ecx, %xmm8 + subsd %xmm0, %xmm10 + mulsd %xmm7, %xmm10 + mulsd %xmm0, %xmm7 + movsd 40+__dlog2_la__P(%rip), %xmm4 + movsd 32+__dlog2_la__P(%rip), %xmm3 + movsd 48+__dlog2_la__P(%rip), %xmm5 + movsd __dlog2_la__TWO_32(%rip), %xmm6 + shlq $4, %rdi + addsd -32(%rsp), %xmm7 + movaps %xmm7, %xmm2 + mulsd %xmm5, %xmm7 + addsd %xmm10, %xmm2 + mulsd %xmm5, %xmm10 + addsd %xmm7, %xmm6 + movaps %xmm2, %xmm1 + mulsd %xmm2, %xmm1 + mulsd %xmm1, %xmm4 + mulsd %xmm1, %xmm3 + addsd 24+__dlog2_la__P(%rip), %xmm4 + addsd 16+__dlog2_la__P(%rip), %xmm3 + mulsd %xmm1, %xmm4 + mulsd %xmm1, %xmm3 + addsd 8+__dlog2_la__P(%rip), %xmm4 + addsd __dlog2_la__P(%rip), %xmm3 + mulsd %xmm1, %xmm4 + mulsd %xmm2, %xmm3 + movsd %xmm6, -72(%rsp) + addsd %xmm3, %xmm4 + addsd 8(%rax,%rdi), %xmm8 + addsd %xmm4, %xmm10 + movsd -72(%rsp), %xmm9 + subsd __dlog2_la__TWO_32(%rip), %xmm9 + subsd %xmm9, %xmm7 + addsd %xmm8, %xmm9 + addsd (%rax,%rdi), %xmm7 + movsd %xmm9, -8(%rsp) + xorl %eax, %eax + addsd %xmm7, %xmm10 + addsd %xmm9, %xmm10 + movsd %xmm10, (%rsi) + ret + +.LBL_2_19: + movl %eax, %edx + andl $2147483647, %edx + cmpl $2146435072, %edx + ja .LBL_2_28 + jne .LBL_2_22 + cmpl $0, -8(%rsp) + jne .LBL_2_28 + +.LBL_2_22: + testl $-2147483648, %eax + je .LBL_2_27 + movl -8(%rsp), %eax + orl %eax, %edx + movsd -56(%rsp), %xmm1 + jne .LBL_2_25 + movsd -32(%rsp), %xmm0 + movl $2, %eax + divsd %xmm1, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_25: + movsd -24(%rsp), %xmm0 + movl $1, %eax + mulsd %xmm1, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_27: + movq -8(%rsp), %rax + movq %rax, (%rsi) + xorl %eax, %eax + ret + +.LBL_2_28: + movsd -8(%rsp), %xmm0 + xorl %eax, %eax + mulsd -40(%rsp), %xmm0 + movsd %xmm0, (%rsi) + ret + + cfi_endproc + + .type __svml_dlog2_cout_rare_internal,@function + .size __svml_dlog2_cout_rare_internal,.-__svml_dlog2_cout_rare_internal + .section .rodata, "a" + .align 64 + .align 16 + +_zeros.201.0.0.1: + .long 0 + .long 0 + .long 0 + .long 2147483648 + .align 16 + +_ones.201.0.0.1: + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .align 16 + +_infs.201.0.0.1: + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + + .section .rodata, "a" + .space 16, 0x00 + .align 64 + +__svml_dlog2_data_internal: + .long 0 + .long 3230658560 + .long 0 + .long 0 + .long 3721504 + .long 3230658564 + .long 390392217 + .long 1028833224 + .long 4279173520 + .long 3230658567 + .long 3697526933 + .long 3176772302 + .long 4236484232 + .long 3230658571 + .long 3866369393 + .long 3173573477 + .long 4170683432 + .long 3230658575 + .long 2406066045 + .long 1027614617 + .long 4081833376 + .long 3230658579 + .long 872311433 + .long 1029558987 + .long 3969996056 + .long 3230658583 + .long 3455238169 + .long 3176293652 + .long 3835233240 + .long 3230658587 + .long 3122028036 + .long 3175399406 + .long 3677606424 + .long 3230658591 + .long 3775975107 + .long 3175065502 + .long 3497176864 + .long 3230658595 + .long 1120402784 + .long 3176065974 + .long 3294005576 + .long 3230658599 + .long 3607704643 + .long 1027775251 + .long 3068153320 + .long 3230658603 + .long 3174454558 + .long 1028715334 + .long 2819680616 + .long 3230658607 + .long 1714361654 + .long 3176145083 + .long 2548647760 + .long 3230658611 + .long 1446250901 + .long 1029564267 + .long 2255114776 + .long 3230658615 + .long 4080025744 + .long 1029178975 + .long 1939141472 + .long 3230658619 + .long 841987973 + .long 1029054409 + .long 1600787408 + .long 3230658623 + .long 399562616 + .long 1024114381 + .long 1240111912 + .long 3230658627 + .long 3503181124 + .long 3176697658 + .long 857174080 + .long 3230658631 + .long 1254487117 + .long 3175371962 + .long 452032760 + .long 3230658635 + .long 4205447303 + .long 3176492920 + .long 24746584 + .long 3230658639 + .long 1994290281 + .long 1028250505 + .long 3870341224 + .long 3230658642 + .long 3457675008 + .long 3176979311 + .long 3398940264 + .long 3230658646 + .long 3225497353 + .long 3176623592 + .long 2905568928 + .long 3230658650 + .long 2126923612 + .long 1026561068 + .long 2390284912 + .long 3230658654 + .long 4230405746 + .long 3172886618 + .long 1853145696 + .long 3230658658 + .long 2504030371 + .long 3175134796 + .long 1294208528 + .long 3230658662 + .long 2470849917 + .long 3177172451 + .long 713530440 + .long 3230658666 + .long 4008627283 + .long 3176362565 + .long 111168232 + .long 3230658670 + .long 3947344950 + .long 1028309766 + .long 3782145768 + .long 3230658673 + .long 3547697003 + .long 3176800217 + .long 3136584832 + .long 3230658677 + .long 2863038012 + .long 1025769979 + .long 2469508848 + .long 3230658681 + .long 4101655891 + .long 1028623806 + .long 1780973736 + .long 3230658685 + .long 180044497 + .long 1028727134 + .long 1071035200 + .long 3230658689 + .long 1240324917 + .long 1029164642 + .long 339748720 + .long 3230658693 + .long 3339205157 + .long 3174606851 + .long 3882136872 + .long 3230658696 + .long 3953461054 + .long 1027744139 + .long 3108320112 + .long 3230658700 + .long 4056294543 + .long 1027898214 + .long 2313320576 + .long 3230658704 + .long 2017978773 + .long 3176388905 + .long 1497192904 + .long 3230658708 + .long 2630318761 + .long 3172120215 + .long 659991504 + .long 3230658712 + .long 1173149442 + .long 3176476805 + .long 4096737888 + .long 3230658715 + .long 2084279151 + .long 3176632233 + .long 3217551464 + .long 3230658719 + .long 147752605 + .long 3175187076 + .long 2317453320 + .long 3230658723 + .long 3463598502 + .long 1029004710 + .long 1396497032 + .long 3230658727 + .long 348113666 + .long 3175216077 + .long 454735992 + .long 3230658731 + .long 2797541458 + .long 3172926093 + .long 3787190664 + .long 3230658734 + .long 3810950996 + .long 3175936077 + .long 2803979432 + .long 3230658738 + .long 1880742672 + .long 3175438052 + .long 1800122360 + .long 3230658742 + .long 185990116 + .long 1025407904 + .long 775672016 + .long 3230658746 + .long 3308007208 + .long 1029438945 + .long 4025648056 + .long 3230658749 + .long 3792627158 + .long 1028183615 + .long 2960168064 + .long 3230658753 + .long 2550675711 + .long 1029174609 + .long 1874251296 + .long 3230658757 + .long 522796161 + .long 3175188745 + .long 767949536 + .long 3230658761 + .long 99639657 + .long 1028478111 + .long 3936281640 + .long 3230658764 + .long 1618272739 + .long 3176759878 + .long 2789364408 + .long 3230658768 + .long 2976648779 + .long 3177001126 + .long 1622216320 + .long 3230658772 + .long 995205633 + .long 3174119615 + .long 434888360 + .long 3230658776 + .long 201851350 + .long 3175435880 + .long 3522398632 + .long 3230658779 + .long 1631082790 + .long 1029197235 + .long 2294863136 + .long 3230658783 + .long 1386753027 + .long 3176550178 + .long 1047299600 + .long 3230658787 + .long 1591070772 + .long 3176954051 + .long 4074725544 + .long 3230658790 + .long 701119861 + .long 3176328095 + .long 2787256416 + .long 3230658794 + .long 3223019512 + .long 1028866240 + .long 1479909352 + .long 3230658798 + .long 2952422582 + .long 1024508588 + .long 152734024 + .long 3230658802 + .long 288366270 + .long 3175075539 + .long 3100747208 + .long 3230658805 + .long 1494938379 + .long 1027731037 + .long 1734063600 + .long 3230658809 + .long 1796105868 + .long 1028158292 + .long 347699608 + .long 3230658813 + .long 2172100889 + .long 1029347730 + .long 3236671448 + .long 3230658816 + .long 321576108 + .long 1027051181 + .long 1811093280 + .long 3230658820 + .long 3159981384 + .long 1028760888 + .long 365980952 + .long 3230658824 + .long 4083088766 + .long 3176402658 + .long 3196350152 + .long 3230658827 + .long 1966791372 + .long 3176779668 + .long 1712314488 + .long 3230658831 + .long 3599116437 + .long 3176268195 + .long 208889280 + .long 3230658835 + .long 3498192131 + .long 1027096101 + .long 2981089664 + .long 3230658838 + .long 3152711547 + .long 3171644297 + .long 1439028720 + .long 3230658842 + .long 142239255 + .long 3176002168 + .long 4172688536 + .long 3230658845 + .long 2394955302 + .long 3175668459 + .long 2592181840 + .long 3230658849 + .long 772412634 + .long 1029163313 + .long 992523056 + .long 3230658853 + .long 239947902 + .long 3177123772 + .long 3668726472 + .long 3230658856 + .long 3993011847 + .long 3173133053 + .long 2030904280 + .long 3230658860 + .long 1203564427 + .long 1024968471 + .long 374070408 + .long 3230658864 + .long 3495014224 + .long 1029532111 + .long 2993238600 + .long 3230658867 + .long 1693008698 + .long 1029300208 + .long 1298520552 + .long 3230658871 + .long 229843979 + .long 1028616611 + .long 3879896968 + .long 3230658874 + .long 2840741382 + .long 3177076399 + .long 2147479216 + .long 3230658878 + .long 1315931416 + .long 3175394520 + .long 396280360 + .long 3230658882 + .long 2917523745 + .long 3176241221 + .long 2921313312 + .long 3230658885 + .long 954068080 + .long 3176872778 + .long 1132688928 + .long 3230658889 + .long 1539389383 + .long 3177096379 + .long 3620387088 + .long 3230658892 + .long 3213801166 + .long 1029050611 + .long 1794518304 + .long 3230658896 + .long 224494799 + .long 1029157143 + .long 4245062128 + .long 3230658899 + .long 2292409870 + .long 1029149094 + .long 2382128760 + .long 3230658903 + .long 4172000302 + .long 1029521900 + .long 500730120 + .long 3230658907 + .long 1566889331 + .long 1022410137 + .long 2895877976 + .long 3230658910 + .long 3447287041 + .long 3177068115 + .long 977682048 + .long 3230658914 + .long 6222552 + .long 3176756595 + .long 3336121072 + .long 3230658917 + .long 3594755137 + .long 3176063522 + .long 1381304448 + .long 3230658921 + .long 1172789584 + .long 1029247928 + .long 3703210584 + .long 3230658924 + .long 2721646462 + .long 3176500859 + .long 1711948584 + .long 3230658928 + .long 1244442214 + .long 1029312023 + .long 3997496536 + .long 3230658931 + .long 272480018 + .long 1025685723 + .long 1969963224 + .long 3230658935 + .long 1208505284 + .long 1029490192 + .long 4219326432 + .long 3230658938 + .long 3360578575 + .long 3174058635 + .long 2155694632 + .long 3230658942 + .long 2245681021 + .long 1026963921 + .long 74078008 + .long 3230658946 + .long 3496835215 + .long 3176351493 + .long 2269486608 + .long 3230658949 + .long 2995409405 + .long 3176402213 + .long 152028432 + .long 3230658953 + .long 2946959370 + .long 3171080196 + .long 2311680512 + .long 3230658956 + .long 811079866 + .long 1029646941 + .long 158550536 + .long 3230658960 + .long 2634400740 + .long 3174719534 + .long 2282615248 + .long 3230658963 + .long 3704965237 + .long 3176349039 + .long 93982048 + .long 3230658967 + .long 2840134146 + .long 1025829616 + .long 2182627360 + .long 3230658970 + .long 1838738265 + .long 3176564070 + .long 4253625592 + .long 3230658973 + .long 1173390987 + .long 3176177543 + .long 2012050992 + .long 3230658977 + .long 1084871272 + .long 3173895075 + .long 4047879552 + .long 3230658980 + .long 3493007974 + .long 1028200188 + .long 1771217928 + .long 3230658984 + .long 866422899 + .long 3176434896 + .long 3772041832 + .long 3230658987 + .long 241037730 + .long 3176289012 + .long 1460457632 + .long 3230658991 + .long 1003496008 + .long 3176406370 + .long 3426440744 + .long 3230658994 + .long 2184560753 + .long 3173354948 + .long 1080097248 + .long 3230658998 + .long 4029600754 + .long 3175828440 + .long 3011402280 + .long 3230659001 + .long 2827800738 + .long 1028558112 + .long 630461632 + .long 3230659005 + .long 1669381205 + .long 1027303067 + .long 2527250152 + .long 3230659008 + .long 1507135636 + .long 3175470401 + .long 111873368 + .long 3230659012 + .long 4290552909 + .long 1029305988 + .long 1974305832 + .long 3230659015 + .long 491815833 + .long 1028930331 + .long 3819620088 + .long 3230659018 + .long 974322798 + .long 1029451925 + .long 1352888528 + .long 3230659022 + .long 1335536991 + .long 3172426672 + .long 3164085312 + .long 3230659025 + .long 2773436098 + .long 1029127279 + .long 663315256 + .long 3230659029 + .long 2684187733 + .long 1028181243 + .long 2440552240 + .long 3230659032 + .long 2161571790 + .long 1027765615 + .long 4200868112 + .long 3230659035 + .long 3277047205 + .long 3174837243 + .long 1649334592 + .long 3230659039 + .long 4124850187 + .long 1025335396 + .long 3375925144 + .long 3230659042 + .long 3003584975 + .long 1021519814 + .long 790743920 + .long 3230659046 + .long 1415914940 + .long 1024723625 + .long 2483764120 + .long 3230659049 + .long 1136793699 + .long 3172319743 + .long 4160056928 + .long 3230659052 + .long 2148664472 + .long 1029245862 + .long 1524693384 + .long 3230659056 + .long 3056467792 + .long 1028886726 + .long 3167646296 + .long 3230659059 + .long 142099839 + .long 1028497609 + .long 499019152 + .long 3230659063 + .long 3699751308 + .long 1026582910 + .long 2108784496 + .long 3230659066 + .long 2287012473 + .long 1023727633 + .long 3702012848 + .long 3230659069 + .long 2554126940 + .long 3177131484 + .long 983774616 + .long 3230659073 + .long 263088196 + .long 1028047407 + .long 2544041936 + .long 3230659076 + .long 1900821763 + .long 3176347035 + .long 4087884960 + .long 3230659079 + .long 1428486283 + .long 3175804842 + .long 1320373696 + .long 3230659083 + .long 1249103901 + .long 1027194698 + .long 2831479912 + .long 3230659086 + .long 4024111846 + .long 1027875195 + .long 31306072 + .long 3230659090 + .long 2178201336 + .long 1028790706 + .long 1509823688 + .long 3230659093 + .long 863228784 + .long 3177069330 + .long 2972102280 + .long 3230659096 + .long 2800600011 + .long 3176772901 + .long 123211224 + .long 3230659100 + .long 2000143580 + .long 3175827790 + .long 1553121664 + .long 3230659103 + .long 3598597716 + .long 3174664631 + .long 2966902736 + .long 3230659106 + .long 160093135 + .long 1028156559 + .long 69623448 + .long 3230659110 + .long 1838028210 + .long 1028805781 + .long 1451254576 + .long 3230659113 + .long 171321689 + .long 1027544179 + .long 2816864888 + .long 3230659116 + .long 48443041 + .long 3175147757 + .long 4166490328 + .long 3230659119 + .long 2602435169 + .long 3175152427 + .long 1205199416 + .long 3230659123 + .long 3778841539 + .long 3176922801 + .long 2522962456 + .long 3230659126 + .long 69075835 + .long 1029409055 + .long 3824847712 + .long 3230659129 + .long 660089785 + .long 3174442320 + .long 815923368 + .long 3230659133 + .long 2460308321 + .long 1029094234 + .long 2086159344 + .long 3230659136 + .long 3024187972 + .long 3174141999 + .long 3340623576 + .long 3230659139 + .long 1011494086 + .long 3176827516 + .long 284383880 + .long 3230659143 + .long 3868463126 + .long 3173236251 + .long 1507409832 + .long 3230659146 + .long 4210695494 + .long 1029032026 + .long 2714769000 + .long 3230659149 + .long 2695744497 + .long 3176876805 + .long 3906496160 + .long 3230659152 + .long 343340875 + .long 1024675097 + .long 787658648 + .long 3230659156 + .long 2519963105 + .long 1029601486 + .long 1948225576 + .long 3230659159 + .long 2834660375 + .long 1027576345 + .long 3093264072 + .long 3230659162 + .long 1202481435 + .long 1029504111 + .long 4222808424 + .long 3230659165 + .long 548784753 + .long 1028305847 + .long 1041925528 + .long 3230659169 + .long 2583607066 + .long 1028957355 + .long 2140584040 + .long 3230659172 + .long 2642007844 + .long 3175275174 + .long 3223850632 + .long 3230659175 + .long 352423749 + .long 3174321553 + .long 4291759144 + .long 3230659178 + .long 339552960 + .long 3176556350 + .long 1049376024 + .long 3230659182 + .long 2660353592 + .long 1027255432 + .long 2086669480 + .long 3230659185 + .long 1104152295 + .long 1028453979 + .long 3108705728 + .long 3230659188 + .long 540614262 + .long 3175907859 + .long 4115518184 + .long 3230659191 + .long 3806184097 + .long 1028762582 + .long 812172832 + .long 3230659195 + .long 308602627 + .long 3173981149 + .long 1788637456 + .long 3230659198 + .long 1325608725 + .long 3176678267 + .long 2749977840 + .long 3230659201 + .long 990288509 + .long 3176107526 + .long 3696226952 + .long 3230659204 + .long 1916429866 + .long 1028814544 + .long 332450344 + .long 3230659208 + .long 3336107755 + .long 3176608247 + .long 1248615376 + .long 3230659211 + .long 4035119084 + .long 3176707463 + .long 2149787400 + .long 3230659214 + .long 2050304943 + .long 1029173658 + .long 3035998944 + .long 3230659217 + .long 2951948176 + .long 1029115289 + .long 3907282448 + .long 3230659220 + .long 2907658715 + .long 1028586234 + .long 468702944 + .long 3230659224 + .long 674698596 + .long 3175213847 + .long 1310227256 + .long 3230659227 + .long 3034611927 + .long 1027966053 + .long 2136920200 + .long 3230659230 + .long 2687871008 + .long 1028041908 + .long 2948813792 + .long 3230659233 + .long 596497875 + .long 3174693992 + .long 3745939952 + .long 3230659236 + .long 3329560030 + .long 1028812176 + .long 233363184 + .long 3230659240 + .long 1501722877 + .long 1028149340 + .long 1001049792 + .long 3230659243 + .long 3907078376 + .long 1028788204 + .long 1754064080 + .long 3230659246 + .long 946102851 + .long 1024784319 + .long 2492437552 + .long 3230659249 + .long 2477139935 + .long 3176834550 + .long 3216201616 + .long 3230659252 + .long 3861383265 + .long 3175556568 + .long 3925387568 + .long 3230659255 + .long 1708411866 + .long 1028140551 + .long 325059304 + .long 3230659259 + .long 1571249374 + .long 3176283508 + .long 1005182528 + .long 3230659262 + .long 1100083059 + .long 3174229259 + .long 1670820936 + .long 3230659265 + .long 3756028850 + .long 3175680086 + .long 2322005432 + .long 3230659268 + .long 1631050573 + .long 3176213330 + .long 2958766824 + .long 3230659271 + .long 1907582341 + .long 1029438684 + .long 3581135800 + .long 3230659274 + .long 2950542199 + .long 3173786866 + .long 4189142976 + .long 3230659277 + .long 114954998 + .long 3177096717 + .long 487851568 + .long 3230659281 + .long 2653253061 + .long 3176673071 + .long 1067226576 + .long 3230659284 + .long 1766996068 + .long 3175354818 + .long 1632331016 + .long 3230659287 + .long 3950907539 + .long 3175157886 + .long 2183195112 + .long 3230659290 + .long 2440105690 + .long 1029327524 + .long 2719848976 + .long 3230659293 + .long 341115768 + .long 1028056330 + .long 3242322640 + .long 3230659296 + .long 3179572713 + .long 3175645667 + .long 3750646040 + .long 3230659299 + .long 935147933 + .long 3175536948 + .long 4244849008 + .long 3230659302 + .long 3916511820 + .long 3176877809 + .long 429994000 + .long 3230659306 + .long 3978671087 + .long 1028263473 + .long 896045240 + .long 3230659309 + .long 230228243 + .long 3176823382 + .long 1348065008 + .long 3230659312 + .long 1603302089 + .long 1028781499 + .long 1786082752 + .long 3230659315 + .long 1397794181 + .long 1029625122 + .long 2210127840 + .long 3230659318 + .long 3655812571 + .long 3172766563 + .long 2620229560 + .long 3230659321 + .long 2385997325 + .long 1026727032 + .long 3016417088 + .long 3230659324 + .long 697404896 + .long 3176786781 + .long 3398719528 + .long 3230659327 + .long 3231162475 + .long 3175777962 + .long 3767165880 + .long 3230659330 + .long 2548610257 + .long 1028922412 + .long 4121785048 + .long 3230659333 + .long 3962667547 + .long 1027852637 + .long 167638560 + .long 3230659337 + .long 3554092856 + .long 3176729278 + .long 494689752 + .long 3230659340 + .long 2911955219 + .long 1028435709 + .long 807999952 + .long 3230659343 + .long 3789336944 + .long 3176103637 + .long 1107597728 + .long 3230659346 + .long 3750507527 + .long 1027365134 + .long 1393511536 + .long 3230659349 + .long 1827158241 + .long 1028945876 + .long 1665769752 + .long 3230659352 + .long 3306289784 + .long 1029589760 + .long 1924400656 + .long 3230659355 + .long 1510741592 + .long 3176411966 + .long 2169432464 + .long 3230659358 + .long 2294259978 + .long 1025847307 + .long 2400893272 + .long 3230659361 + .long 539270871 + .long 3176922069 + .long 2618811120 + .long 3230659364 + .long 3685107127 + .long 1027828508 + .long 2823213928 + .long 3230659367 + .long 3271061162 + .long 3176969831 + .long 3014129568 + .long 3230659370 + .long 1787956575 + .long 1028863184 + .long 3191585784 + .long 3230659373 + .long 716587587 + .long 3176400736 + .long 3355610272 + .long 3230659376 + .long 2630361878 + .long 3176313132 + .long 3506230624 + .long 3230659379 + .long 3623957067 + .long 1024822653 + .long 3643474344 + .long 3230659382 + .long 3940980068 + .long 3174610269 + .long 3767368864 + .long 3230659385 + .long 499400003 + .long 1028297429 + .long 3877941520 + .long 3230659388 + .long 3143491592 + .long 1028937135 + .long 3975219568 + .long 3230659391 + .long 1265600507 + .long 1027302761 + .long 4059230184 + .long 3230659394 + .long 3423756523 + .long 3174759308 + .long 4130000464 + .long 3230659397 + .long 2126977913 + .long 1029294479 + .long 4187557400 + .long 3230659400 + .long 1341359213 + .long 3176282153 + .long 4231927936 + .long 3230659403 + .long 142327675 + .long 1028516775 + .long 4263138896 + .long 3230659406 + .long 3537045733 + .long 3176611365 + .long 4281217056 + .long 3230659409 + .long 804943611 + .long 3175398448 + .long 4286189088 + .long 3230659412 + .long 2300440576 + .long 3173821797 + .long 4278081592 + .long 3230659415 + .long 650140298 + .long 1028345827 + .long 4256921080 + .long 3230659418 + .long 258434203 + .long 1024439656 + .long 4222733992 + .long 3230659421 + .long 2845277783 + .long 3175806217 + .long 4175546688 + .long 3230659424 + .long 486214358 + .long 1021995298 + .long 4115385440 + .long 3230659427 + .long 362801877 + .long 1027412332 + .long 4042276440 + .long 3230659430 + .long 3220639070 + .long 3177080040 + .long 3956245816 + .long 3230659433 + .long 3857709974 + .long 3176973100 + .long 3857319608 + .long 3230659436 + .long 300219354 + .long 1029159912 + .long 3745523760 + .long 3230659439 + .long 2500015736 + .long 3170135365 + .long 3620884168 + .long 3230659442 + .long 3361192444 + .long 1028410302 + .long 3483426624 + .long 3230659445 + .long 962673197 + .long 3176780787 + .long 3333176872 + .long 3230659448 + .long 466308644 + .long 1029193870 + .long 3170160544 + .long 3230659451 + .long 1036576323 + .long 1029692281 + .long 2994403208 + .long 3230659454 + .long 1262493470 + .long 3177123208 + .long 2805930376 + .long 3230659457 + .long 2116833460 + .long 3176824531 + .long 2604767464 + .long 3230659460 + .long 4130386607 + .long 1029379265 + .long 2390939800 + .long 3230659463 + .long 3203410687 + .long 1028676250 + .long 2164472656 + .long 3230659466 + .long 1369952708 + .long 3175783357 + .long 1925391232 + .long 3230659469 + .long 879032334 + .long 1028096866 + .long 1673720632 + .long 3230659472 + .long 4136287431 + .long 3171822968 + .long 1409485904 + .long 3230659475 + .long 1676116683 + .long 1027498055 + .long 1132712008 + .long 3230659478 + .long 2215341913 + .long 3175421168 + .long 843423840 + .long 3230659481 + .long 1029715364 + .long 3176433781 + .long 541646224 + .long 3230659484 + .long 2606758269 + .long 1029491721 + .long 227403888 + .long 3230659487 + .long 2201115753 + .long 1027951322 + .long 4195688808 + .long 3230659489 + .long 4218769073 + .long 1025395495 + .long 3856590992 + .long 3230659492 + .long 434820483 + .long 1029228152 + .long 3505102248 + .long 3230659495 + .long 3898434635 + .long 3176361218 + .long 3141247048 + .long 3230659498 + .long 3118973316 + .long 1029656842 + .long 2765049752 + .long 3230659501 + .long 2996229621 + .long 1029012421 + .long 2376534672 + .long 3230659504 + .long 2407486153 + .long 3175647547 + .long 1975726056 + .long 3230659507 + .long 2587350529 + .long 1029480630 + .long 1562648048 + .long 3230659510 + .long 4294469746 + .long 3176242263 + .long 1137324760 + .long 3230659513 + .long 3819488195 + .long 1023708576 + .long 699780200 + .long 3230659516 + .long 116131792 + .long 3177042014 + .long 250038336 + .long 3230659519 + .long 1551898075 + .long 1029096746 + .long 4083090328 + .long 3230659521 + .long 2844986349 + .long 1028973019 + .long 3609025400 + .long 3230659524 + .long 2591634103 + .long 1026318183 + .long 3122834592 + .long 3230659527 + .long 2325851864 + .long 3175053154 + .long 2114169952 + .long 3230659533 + .long 790463889 + .long 3176974498 + .long 1057284960 + .long 3230659539 + .long 1675706223 + .long 1028317332 + .long 4247334344 + .long 3230659544 + .long 4226562338 + .long 1027765102 + .long 3094569872 + .long 3230659550 + .long 2366937865 + .long 3168809551 + .long 1894144112 + .long 3230659556 + .long 1267587328 + .long 3176269982 + .long 646241264 + .long 3230659562 + .long 1575621247 + .long 3177156253 + .long 3646011760 + .long 3230659567 + .long 2645567153 + .long 3175833815 + .long 2303703080 + .long 3230659573 + .long 1827286098 + .long 1027997469 + .long 914463544 + .long 3230659579 + .long 752350642 + .long 1029527042 + .long 3773440424 + .long 3230659584 + .long 160463655 + .long 3176715839 + .long 2290878096 + .long 3230659590 + .long 909081824 + .long 3175933674 + .long 761921776 + .long 3230659596 + .long 2905535403 + .long 1028759497 + .long 3481715656 + .long 3230659601 + .long 3887423264 + .long 3176529033 + .long 1860501056 + .long 3230659607 + .long 2811353534 + .long 3176342172 + .long 193420168 + .long 3230659613 + .long 3875218385 + .long 1029601075 + .long 2775614176 + .long 3230659618 + .long 915846711 + .long 1029206337 + .long 1017321408 + .long 3230659624 + .long 2817823673 + .long 1028329866 + .long 3508648392 + .long 3230659629 + .long 2457221968 + .long 1028382518 + .long 1659831496 + .long 3230659635 + .long 1953946979 + .long 1028155361 + .long 4060975304 + .long 3230659640 + .long 1103591667 + .long 3177007543 + .long 2122314280 + .long 3230659646 + .long 1917780451 + .long 1029286965 + .long 138983784 + .long 3230659652 + .long 3695788845 + .long 3176288716 + .long 2406118280 + .long 3230659657 + .long 1052548871 + .long 1029099285 + .long 333949368 + .long 3230659663 + .long 1769629084 + .long 1028668282 + .long 2512576920 + .long 3230659668 + .long 2829899890 + .long 3177160765 + .long 352230712 + .long 3230659674 + .long 190593276 + .long 3177082107 + .long 2443008776 + .long 3230659679 + .long 308933071 + .long 1028033311 + .long 195139040 + .long 3230659685 + .long 2406662387 + .long 3174119994 + .long 2198717736 + .long 3230659690 + .long 3951897556 + .long 1025531185 + .long 4158938296 + .long 3230659695 + .long 3747433104 + .long 3176582029 + .long 1780993280 + .long 3230659701 + .long 1185733823 + .long 1025977389 + .long 3654976232 + .long 3230659706 + .long 2876938397 + .long 3175696111 + .long 1191110656 + .long 3230659712 + .long 1221563196 + .long 3173251774 + .long 2979488360 + .long 3230659717 + .long 2581073785 + .long 1028588464 + .long 430331104 + .long 3230659723 + .long 1522002357 + .long 1028645059 + .long 2133728976 + .long 3230659728 + .long 1060437513 + .long 3176445060 + .long 3794869336 + .long 3230659733 + .long 1092840036 + .long 3177052773 + .long 1118938696 + .long 3230659739 + .long 2353106107 + .long 1029111084 + .long 2696024600 + .long 3230659744 + .long 4060627338 + .long 1029597310 + .long 4231311888 + .long 3230659749 + .long 3779876129 + .long 1028286236 + .long 1429984576 + .long 3230659755 + .long 48483734 + .long 1027710210 + .long 2882127744 + .long 3230659760 + .long 445208449 + .long 1029139348 + .long 4292923760 + .long 3230659765 + .long 2295142960 + .long 3176049005 + .long 1367554208 + .long 3230659771 + .long 1540635558 + .long 1028483904 + .long 2696101728 + .long 3230659776 + .long 352999095 + .long 3169858434 + .long 3983746296 + .long 3230659781 + .long 1810565431 + .long 3175091705 + .long 935667088 + .long 3230659787 + .long 349039573 + .long 3176928791 + .long 2141944392 + .long 3230659792 + .long 3659173497 + .long 3174252174 + .long 3307755816 + .long 3230659797 + .long 58840479 + .long 1028893602 + .long 138278192 + .long 3230659803 + .long 2062870396 + .long 3175475632 + .long 1223589488 + .long 3230659808 + .long 3079310401 + .long 3176348925 + .long 2268865008 + .long 3230659813 + .long 4107437042 + .long 3177028487 + .long 3274246600 + .long 3230659818 + .long 3740178426 + .long 3176375927 + .long 4239875352 + .long 3230659823 + .long 1575862792 + .long 3176856991 + .long 870924320 + .long 3230659829 + .long 1293986679 + .long 1021959545 + .long 1757467688 + .long 3230659834 + .long 1268894705 + .long 3177114344 + .long 2604677040 + .long 3230659839 + .long 1483899592 + .long 3176088657 + .long 3412690504 + .long 3230659844 + .long 1351083799 + .long 3175751585 + .long 4181645488 + .long 3230659849 + .long 1119433498 + .long 3177131776 + .long 616711392 + .long 3230659855 + .long 4175979329 + .long 3173786505 + .long 1307958768 + .long 3230659860 + .long 2068378112 + .long 3176493003 + .long 1960555592 + .long 3230659865 + .long 178688056 + .long 1027848710 + .long 2574636408 + .long 3230659870 + .long 2359427625 + .long 1028095731 + .long 3150335072 + .long 3230659875 + .long 446961290 + .long 1028242607 + .long 3687784736 + .long 3230659880 + .long 2606786686 + .long 3176252768 + .long 4187117872 + .long 3230659885 + .long 147991783 + .long 3176229143 + .long 353498960 + .long 3230659891 + .long 2565649361 + .long 1026609244 + .long 776993680 + .long 3230659896 + .long 91083332 + .long 3175234267 + .long 1162765160 + .long 3230659901 + .long 1883429456 + .long 3174458208 + .long 1510943144 + .long 3230659906 + .long 1013024678 + .long 1027761501 + .long 1821656704 + .long 3230659911 + .long 2329976096 + .long 3171060885 + .long 2095034256 + .long 3230659916 + .long 393569875 + .long 3175313071 + .long 2331203560 + .long 3230659921 + .long 3866070308 + .long 1029684158 + .long 2530291696 + .long 3230659926 + .long 2303293568 + .long 3177026483 + .long 2692425136 + .long 3230659931 + .long 4151833399 + .long 3175350159 + .long 2817729672 + .long 3230659936 + .long 65831588 + .long 3170064008 + .long 2906330464 + .long 3230659941 + .long 3126642666 + .long 3176187966 + .long 2958352048 + .long 3230659946 + .long 1091895479 + .long 1029434562 + .long 2973918296 + .long 3230659951 + .long 1341819779 + .long 3177032854 + .long 2953152496 + .long 3230659956 + .long 3431130783 + .long 1025344246 + .long 2896177272 + .long 3230659961 + .long 222319660 + .long 3174332028 + .long 2803114648 + .long 3230659966 + .long 2574176974 + .long 3176321678 + .long 2674086032 + .long 3230659971 + .long 3543599213 + .long 3175295621 + .long 2509212216 + .long 3230659976 + .long 3961571325 + .long 1028729606 + .long 2308613376 + .long 3230659981 + .long 1968562443 + .long 3175604756 + .long 2072409104 + .long 3230659986 + .long 169553949 + .long 3175973960 + .long 1800718384 + .long 3230659991 + .long 1866092989 + .long 1029054996 + .long 1493659592 + .long 3230659996 + .long 3321480082 + .long 1028052101 + .long 1151350528 + .long 3230660001 + .long 1162474749 + .long 3175441009 + .long 773908408 + .long 3230660006 + .long 2117491299 + .long 1028922038 + .long 361449840 + .long 3230660011 + .long 1720394601 + .long 3176859733 + .long 4209058184 + .long 3230660015 + .long 3270331864 + .long 1026022939 + .long 3726914304 + .long 3230660020 + .long 761189460 + .long 1027666521 + .long 3210100392 + .long 3230660025 + .long 3128639134 + .long 3176063736 + .long 2658730784 + .long 3230660030 + .long 861675876 + .long 3174834708 + .long 2072919240 + .long 3230660035 + .long 598417369 + .long 1026585686 + .long 1452778960 + .long 3230660040 + .long 2969558584 + .long 3174198415 + .long 798422592 + .long 3230660045 + .long 1955836092 + .long 3175908135 + .long 109962232 + .long 3230660050 + .long 1441195450 + .long 1027193622 + .long 3682476712 + .long 3230660054 + .long 3027916121 + .long 1027617136 + .long 2926142440 + .long 3230660059 + .long 4058891045 + .long 1029177821 + .long 2136037160 + .long 3230660064 + .long 3295666276 + .long 1028335364 + .long 1312270792 + .long 3230660069 + .long 2664877443 + .long 1029314281 + .long 454952704 + .long 3230660074 + .long 2887304751 + .long 3176354723 + .long 3859159056 + .long 3230660078 + .long 3247043098 + .long 1029078121 + .long 2935063552 + .long 3230660083 + .long 551596274 + .long 3176193330 + .long 1977741296 + .long 3230660088 + .long 2154007986 + .long 3174741581 + .long 987299552 + .long 3230660093 + .long 1133524394 + .long 1027524435 + .long 4258812360 + .long 3230660097 + .long 1600085620 + .long 3177058369 + .long 3202451376 + .long 3230660102 + .long 2333163438 + .long 3176526084 + .long 2113289616 + .long 3230660107 + .long 276039368 + .long 1025414372 + .long 991432288 + .long 3230660112 + .long 3502468789 + .long 3176017589 + .long 4131951408 + .long 3230660116 + .long 1901031578 + .long 1027861596 + .long 2945016584 + .long 3230660121 + .long 1505110536 + .long 1028759236 + .long 1725698816 + .long 3230660126 + .long 2648053277 + .long 3176895440 + .long 474101336 + .long 3230660131 + .long 1239242430 + .long 1029534392 + .long 3485294136 + .long 3230660135 + .long 845517171 + .long 3173477246 + .long 2169444872 + .long 3230660140 + .long 4075267769 + .long 1028643096 + .long 821622576 + .long 3230660145 + .long 499928215 + .long 1029048762 + .long 3736895800 + .long 3230660149 + .long 870045772 + .long 3176516274 + .long 2325430744 + .long 3230660154 + .long 3081415625 + .long 3176560522 + .long 882295008 + .long 3230660159 + .long 3662267248 + .long 1029384081 + .long 3702555704 + .long 3230660163 + .long 4011089820 + .long 1029189731 + .long 2196377600 + .long 3230660168 + .long 2872532918 + .long 3175632540 + .long 658826888 + .long 3230660173 + .long 2512614570 + .long 3176940300 + .long 3384969288 + .long 3230660177 + .long 2018053043 + .long 3176636781 + .long 1784968168 + .long 3230660182 + .long 927902188 + .long 3175374192 + .long 153888328 + .long 3230660187 + .long 338402635 + .long 1029478185 + .long 2786794096 + .long 3230660191 + .long 2634228741 + .long 3175787031 + .long 1093847488 + .long 3230660196 + .long 13726686 + .long 3173662371 + .long 3665079232 + .long 3230660200 + .long 955232272 + .long 1029144724 + .long 1910650416 + .long 3230660205 + .long 1913213398 + .long 3177091414 + .long 125623600 + .long 3230660210 + .long 3896909877 + .long 3176901474 + .long 2605060880 + .long 3230660214 + .long 1162024003 + .long 3171225909 + .long 759122024 + .long 3230660219 + .long 101180827 + .long 1028720107 + .long 3177835544 + .long 3230660223 + .long 1119059392 + .long 3177080184 + .long 1271360360 + .long 3230660228 + .long 2533735500 + .long 1028313476 + .long 3629724104 + .long 3230660232 + .long 2461458646 + .long 3176172399 + .long 1663084832 + .long 3230660237 + .long 3468033532 + .long 1028155452 + .long 3961469328 + .long 3230660241 + .long 688573429 + .long 3173787118 + .long 1935034792 + .long 3230660246 + .long 852313808 + .long 1029214281 + .long 4173807160 + .long 3230660250 + .long 1743831019 + .long 3176961601 + .long 2087942800 + .long 3230660255 + .long 939132585 + .long 3175339625 + .long 4267466816 + .long 3230660259 + .long 804943611 + .long 3176447024 + .long 2122534736 + .long 3230660264 + .long 1216317347 + .long 1028000177 + .long 4243170840 + .long 3230660268 + .long 2936275121 + .long 3175268569 + .long 2039529840 + .long 3230660273 + .long 2537367085 + .long 1028954723 + .long 4101635200 + .long 3230660277 + .long 2494170689 + .long 3173567976 + .long 1839640816 + .long 3230660282 + .long 392206900 + .long 3176845046 + .long 3843569368 + .long 3230660286 + .long 4090462392 + .long 1028307871 + .long 1523573928 + .long 3230660291 + .long 460756979 + .long 3176389882 + .long 3469676392 + .long 3230660295 + .long 2929822293 + .long 1029426676 + .long 1092029040 + .long 3230660300 + .long 3560063032 + .long 1027386665 + .long 2980652976 + .long 3230660304 + .long 2630002021 + .long 1029084255 + .long 545699712 + .long 3230660309 + .long 3251005607 + .long 1029513439 + .long 2377189560 + .long 3230660313 + .long 2613820932 + .long 1027076618 + .long 4180240568 + .long 3230660317 + .long 2799936722 + .long 1025378340 + .long 1659970392 + .long 3230660322 + .long 3210945223 + .long 3175522055 + .long 3406398200 + .long 3230660326 + .long 2950429423 + .long 3176973715 + .long 829673600 + .long 3230660331 + .long 1432187170 + .long 3177113229 + .long 2519815008 + .long 3230660335 + .long 3601043748 + .long 3172224737 + .long 4181938568 + .long 3230660339 + .long 814468389 + .long 3175150283 + .long 1521160064 + .long 3230660344 + .long 3976767292 + .long 3177175436 + .long 3127496808 + .long 3230660348 + .long 2716501510 + .long 1028977394 + .long 411096528 + .long 3230660353 + .long 878128567 + .long 3176628610 + .long 1961975816 + .long 3230660357 + .long 2184878723 + .long 1028801182 + .long 3485248976 + .long 3230660361 + .long 3145811820 + .long 1029533129 + .long 686029968 + .long 3230660366 + .long 3776363698 + .long 1029165449 + .long 2154334280 + .long 3230660370 + .long 671743341 + .long 1024333977 + .long 3595275160 + .long 3230660374 + .long 2461553818 + .long 3174779052 + .long 713965496 + .long 3230660379 + .long 2151713083 + .long 3175993252 + .long 2100419720 + .long 3230660383 + .long 3102031601 + .long 1029232965 + .long 3459750008 + .long 3230660387 + .long 4013823470 + .long 1028620538 + .long 497068208 + .long 3230660392 + .long 4248883599 + .long 1028910528 + .long 1802387696 + .long 3230660396 + .long 1846273839 + .long 3175860934 + .long 3080819632 + .long 3230660400 + .long 1848559975 + .long 3175415033 + .long 37474824 + .long 3230660405 + .long 883985798 + .long 1029169919 + .long 1262365616 + .long 3230660409 + .long 2970327261 + .long 3175919327 + .long 2460602152 + .long 3230660413 + .long 2212867178 + .long 3176520464 + .long 3632261520 + .long 3230660417 + .long 3872739030 + .long 3176664707 + .long 482453184 + .long 3230660422 + .long 1041960122 + .long 1024886984 + .long 1601188152 + .long 3230660426 + .long 3362961153 + .long 3176317848 + .long 2693575232 + .long 3230660430 + .long 914600537 + .long 3175721660 + .long 3759690192 + .long 3230660434 + .long 3732031835 + .long 1029491624 + .long 504641160 + .long 3230660439 + .long 1661949843 + .long 3176759759 + .long 1518437864 + .long 3230660443 + .long 1155538621 + .long 3176080216 + .long 2506187792 + .long 3230660447 + .long 2074668130 + .long 3176155102 + .long 3467965424 + .long 3230660451 + .long 5072226 + .long 1029678430 + .long 108877600 + .long 3230660456 + .long 3844188174 + .long 3175740294 + .long 1018932768 + .long 3230660460 + .long 509804163 + .long 1026986837 + .long 1903237144 + .long 3230660464 + .long 817284140 + .long 1028367931 + .long 2761863936 + .long 3230660468 + .long 1026749811 + .long 1028400722 + .long 3594886040 + .long 3230660472 + .long 134616122 + .long 1027302887 + .long 107408744 + .long 3230660477 + .long 3388129995 + .long 3176634073 + .long 889438928 + .long 3230660481 + .long 4952363 + .long 1026762363 + .long 1646081256 + .long 3230660485 + .long 602092353 + .long 1025334666 + .long 2377407400 + .long 3230660489 + .long 870715200 + .long 1028049234 + .long 3083488720 + .long 3230660493 + .long 2898850879 + .long 1026959461 + .long 3764396280 + .long 3230660497 + .long 1041634577 + .long 3172001824 + .long 125233544 + .long 3230660502 + .long 4098260650 + .long 3176968164 + .long 756005576 + .long 3230660506 + .long 3936264397 + .long 3176271837 + .long 1361815248 + .long 3230660510 + .long 2005773894 + .long 1029460947 + .long 1942732416 + .long 3230660514 + .long 2286486375 + .long 3177123695 + .long 2498826688 + .long 3230660518 + .long 1062595601 + .long 1029046698 + .long 3030167328 + .long 3230660522 + .long 589866180 + .long 3176077962 + .long 3536823352 + .long 3230660526 + .long 1103133966 + .long 3175759187 + .long 4018863464 + .long 3230660530 + .long 1280466737 + .long 3177138719 + .long 181388800 + .long 3230660535 + .long 2008274805 + .long 3175962957 + .long 614402088 + .long 3230660539 + .long 3816723771 + .long 1026223943 + .long 1023003888 + .long 3230660543 + .long 3028155298 + .long 1028659203 + .long 1407261776 + .long 3230660547 + .long 2229630046 + .long 1029625324 + .long 1767243040 + .long 3230660551 + .long 3164503958 + .long 3174949449 + .long 2103014712 + .long 3230660555 + .long 874323935 + .long 1029396372 + .long 2414643512 + .long 3230660559 + .long 136799065 + .long 3176242621 + .long 2702195920 + .long 3230660563 + .long 3087239240 + .long 3175416105 + .long 2965738120 + .long 3230660567 + .long 3552260349 + .long 1026854656 + .long 3205336024 + .long 3230660571 + .long 628231562 + .long 3175305872 + .long 3421055288 + .long 3230660575 + .long 723080663 + .long 1029356970 + .long 3612961272 + .long 3230660579 + .long 3562572440 + .long 3176040503 + .long 3781119104 + .long 3230660583 + .long 2799655455 + .long 1029154690 + .long 3925593608 + .long 3230660587 + .long 3936971761 + .long 1026575267 + .long 4046449368 + .long 3230660591 + .long 2072414816 + .long 3175590577 + .long 4143750696 + .long 3230660595 + .long 1765517578 + .long 3176912984 + .long 4217561648 + .long 3230660599 + .long 3309795482 + .long 1025944498 + .long 4267946000 + .long 3230660603 + .long 3577983989 + .long 3176780675 + .long 0 + .long 3230660608 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 4278875493 + .long 3211202435 + .long 1836756087 + .long 3212249540 + .long 2166742286 + .long 3212919558 + .long 3069118545 + .long 3213295184 + .long 2882618713 + .long 3213670083 + .long 396983052 + .long 3213964849 + .long 2254986537 + .long 3214151575 + .long 2244137514 + .long 3214337942 + .long 2001317058 + .long 3214523951 + .long 3129282438 + .long 3214709603 + .long 2901961050 + .long 3214894900 + .long 3574805523 + .long 3215006929 + .long 97153270 + .long 3215099225 + .long 2489866790 + .long 3215191344 + .long 733531480 + .long 3215283289 + .long 1972305287 + .long 3215375059 + .long 449270987 + .long 3215466656 + .long 3276362132 + .long 3215558079 + .long 369713010 + .long 3215649331 + .long 3104484191 + .long 3215740410 + .long 1365308336 + .long 3215831319 + .long 2201113504 + .long 3215922057 + .long 4175201612 + .long 3215997608 + .long 2678235035 + .long 3216042808 + .long 111107850 + .long 3216087924 + .long 2115197501 + .long 3216132955 + .long 1439478642 + .long 3216177903 + .long 3710382531 + .long 3216222767 + .long 1662048346 + .long 3216267549 + .long 906181559 + .long 3216312248 + .long 2752238835 + .long 3216356864 + .long 4207481622 + .long 3216401398 + .long 2271996550 + .long 3216445851 + .long 2528682625 + .long 3216490222 + .long 1963434183 + .long 3216534512 + .long 1850094427 + .long 3216578721 + .long 3455539314 + .long 3216622849 + .long 3744760980 + .long 3216666897 + .long 3970852583 + .long 3216710865 + .long 1085123514 + .long 3216754754 + .long 622050639 + .long 3216798563 + .long 3814425306 + .long 3216842292 + .long 3298434523 + .long 3216885943 + .long 293578162 + .long 3216929516 + .long 307749260 + .long 3216973010 + .long 252379301 + .long 3217016426 + .long 663693424 + .long 3217045466 + .long 2363128292 + .long 3217067096 + .long 1523075309 + .long 3217088688 + .long 3028878894 + .long 3217110241 + .long 3172800190 + .long 3217131756 + .long 2538941307 + .long 3217153233 + .long 1708300177 + .long 3217174672 + .long 1258792512 + .long 3217196073 + .long 1765273565 + .long 3217217436 + .long 3799559706 + .long 3217238761 + .long 3635482505 + .long 3217260049 + .long 1838844516 + .long 3217281300 + .long 3267440290 + .long 3217302513 + .long 4186175309 + .long 3217323689 + .long 857021220 + .long 3217344829 + .long 2423938186 + .long 3217365931 + .long 848124101 + .long 3217386997 + .long 972805768 + .long 3217408026 + .long 3343389647 + .long 3217429018 + .long 4207481622 + .long 3217449974 + .long 4104841180 + .long 3217470894 + .long 3572433535 + .long 3217491778 + .long 3144448886 + .long 3217512626 + .long 3352321503 + .long 3217533438 + .long 429781357 + .long 3217554215 + .long 3492742067 + .long 3217574955 + .long 179581133 + .long 3217595661 + .long 3895798636 + .long 3217616330 + .long 2274427972 + .long 3217636965 + .long 125726943 + .long 3217657565 + .long 2257326549 + .long 3217678129 + .long 589346923 + .long 3217698659 + .long 4219186077 + .long 3217719153 + .long 766831764 + .long 3217739614 + .long 3619519104 + .long 3217760039 + .long 392140265 + .long 3217780431 + .long 171901807 + .long 3217800788 + .long 3453570542 + .long 3217821110 + .long 2139490342 + .long 3217841399 + .long 1014435273 + .long 3217861654 + .long 565756928 + .long 3217881875 + .long 1278368112 + .long 3217902062 + .long 3634759079 + .long 3217922215 + .long 3820046351 + .long 3217942335 + .long 2311923285 + .long 3217962422 + .long 3880675917 + .long 3217982475 + .long 409329490 + .long 3218002496 + .long 958435111 + .long 3218022483 + .long 1701314133 + .long 3218042437 + .long 3103942666 + .long 3218062358 + .long 2814999741 + .long 3218080995 + .long 2722956900 + .long 3218090923 + .long 1505407411 + .long 3218100835 + .long 3685756937 + .long 3218110730 + .long 901390368 + .long 3218120610 + .long 1968450191 + .long 3218130473 + .long 2817072651 + .long 3218140320 + .long 3671264118 + .long 3218150151 + .long 458973606 + .long 3218159967 + .long 1991969023 + .long 3218169766 + .long 4196040400 + .long 3218179549 + .long 2995908720 + .long 3218189317 + .long 2905167410 + .long 3218199069 + .long 4141387283 + .long 3218208805 + .long 2626123321 + .long 3218218526 + .long 2869823290 + .long 3218228231 + .long 791965228 + .long 3218237921 + .long 900933251 + .long 3218247595 + .long 3409122230 + .long 3218257253 + .long 4232944303 + .long 3218266896 + .long 3582769936 + .long 3218276524 + .long 1667967030 + .long 3218286137 + .long 2991874584 + .long 3218295734 + .long 3466907117 + .long 3218305316 + .long 3299462810 + .long 3218314883 + .long 2694962427 + .long 3218324435 + .long 1857855474 + .long 3218333972 + .long 991626313 + .long 3218343494 + .long 298800229 + .long 3218353001 + .long 4275916740 + .long 3218362492 + .long 238699089 + .long 3218371970 + .long 1271733131 + .long 3218381432 + .long 3278800247 + .long 3218390879 + .long 2162752362 + .long 3218400312 + .long 2415452322 + .long 3218409730 + .long 4232877747 + .long 3218419133 + .long 3515126734 + .long 3218428522 + .long 456358091 + .long 3218437897 + .long 3839764252 + .long 3218447256 + .long 972805768 + .long 3218456602 + .long 636889785 + .long 3218465933 + .long 3022604462 + .long 3218475249 + .long 4024691694 + .long 3218484551 + .long 3831987111 + .long 3218493839 + .long 2632458130 + .long 3218503113 + .long 613209272 + .long 3218512373 + .long 2255454733 + .long 3218521618 + .long 3449621726 + .long 3218530849 + .long 85290269 + .long 3218540067 + .long 936100227 + .long 3218549270 + .long 1889952648 + .long 3218558459 + .long 3128884028 + .long 3218567634 + .long 539136753 + .long 3218576796 + .long 2891033284 + .long 3218585943 + .long 1774210047 + .long 3218595077 + .long 1662393428 + .long 3218604197 + .long 2733535479 + .long 3218613303 + .long 869818766 + .long 3218622396 + .long 542563073 + .long 3218631475 + .long 1927328294 + .long 3218640540 + .long 903919170 + .long 3218649592 + .long 1941291890 + .long 3218658630 + .long 917689576 + .long 3218667655 + .long 2300516105 + .long 3218676666 + .long 1966471527 + .long 3218685664 + .long 86458524 + .long 3218694649 + .long 1125586940 + .long 3218703620 + .long 958276399 + .long 3218712578 + .long 4048129956 + .long 3218721522 + .long 1973102048 + .long 3218730454 + .long 3490273972 + .long 3218739372 + .long 176119889 + .long 3218748278 + .long 786249521 + .long 3218757170 + .long 1190641396 + .long 3218766049 + .long 1553516298 + .long 3218774915 + .long 2038374217 + .long 3218783768 + .long 2807998562 + .long 3218792608 + .long 4024460340 + .long 3218801435 + .long 1554155016 + .long 3218810250 + .long 4147675809 + .long 3218819051 + .long 3375046719 + .long 3218827840 + .long 3690497658 + .long 3218836616 + .long 957631997 + .long 3218845380 + .long 3924267057 + .long 3218854130 + .long 4157667002 + .long 3218862868 + .long 1814350566 + .long 3218871594 + .long 1345127672 + .long 3218880307 + .long 2905168726 + .long 3218889007 + .long 2354008484 + .long 3218897695 + .long 4140451764 + .long 3218906370 + .long 4122708074 + .long 3218915033 + .long 2453297277 + .long 3218923684 + .long 3579053340 + .long 3218932322 + .long 3356226173 + .long 3218940948 + .long 1935387215 + .long 3218949562 + .long 3761433103 + .long 3218958163 + .long 393720137 + .long 3218966753 + .long 570838969 + .long 3218975330 + .long 145847129 + .long 3218983895 + .long 3561109068 + .long 3218992447 + .long 2373463229 + .long 3219000988 + .long 1024029336 + .long 3219009517 + .long 3953310001 + .long 3219018033 + .long 2716292306 + .long 3219026538 + .long 1752255026 + .long 3219035031 + .long 1204902862 + .long 3219043512 + .long 1217337138 + .long 3219051981 + .long 1932059168 + .long 3219060438 + .long 3490973615 + .long 3219068883 + .long 1740424513 + .long 3219077317 + .long 1116100460 + .long 3219085739 + .long 1758136015 + .long 3219094149 + .long 3806082244 + .long 3219102547 + .long 3103942666 + .long 3219110934 + .long 4085078348 + .long 3219119309 + .long 2592341915 + .long 3219127673 + .long 1237017397 + .long 1071636966 + .long 2971350592 + .long 1071628625 + .long 2474540381 + .long 1071620296 + .long 3905998082 + .long 1071611978 + .long 2835758645 + .long 1071603672 + .long 3424346780 + .long 1071595377 + .long 1242904730 + .long 1071587094 + .long 453058437 + .long 1071578822 + .long 922012657 + .long 1071570561 + .long 2517515272 + .long 1071562311 + .long 812887046 + .long 1071554073 + .long 4266887859 + .long 1071545845 + .long 4158942730 + .long 1071537629 + .long 358942686 + .long 1071529425 + .long 1327241886 + .long 1071521231 + .long 2639818283 + .long 1071513048 + .long 4168139969 + .long 1071504876 + .long 1489227762 + .long 1071496716 + .long 3065521585 + .long 1071488566 + .long 180106617 + .long 1071480428 + .long 1296448894 + .long 1071472300 + .long 1993621492 + .long 1071464183 + .long 2146170984 + .long 1071456077 + .long 1629147435 + .long 1071447982 + .long 318101713 + .long 1071439898 + .long 2384050109 + .long 1071431824 + .long 3408569797 + .long 1071423761 + .long 3268698084 + .long 1071415709 + .long 1841962494 + .long 1071407668 + .long 3301345460 + .long 1071399637 + .long 3230379855 + .long 1071391617 + .long 1508048307 + .long 1071383608 + .long 2308780654 + .long 1071375609 + .long 1217549516 + .long 1071367621 + .long 2409736962 + .long 1071359643 + .long 1471262832 + .long 1071351676 + .long 2578451427 + .long 1071343719 + .long 1318159863 + .long 1071335773 + .long 1867644803 + .long 1071327837 + .long 4109658128 + .long 1071319911 + .long 3632444524 + .long 1071311996 + .long 319673663 + .long 1071304092 + .long 2645405118 + .long 1071296197 + .long 1904282206 + .long 1071288313 + .long 2276300709 + .long 1071280439 + .long 3646937343 + .long 1071272575 + .long 1607147436 + .long 1071264722 + .long 338264500 + .long 1071256879 + .long 4022063343 + .long 1071249045 + .long 3955855900 + .long 1071241222 + .long 27325445 + .long 1071233410 + .long 714524338 + .long 1071225607 + .long 1611035309 + .long 1071217814 + .long 2605838414 + .long 1071210031 + .long 3588341533 + .long 1071202258 + .long 153410875 + .long 1071194496 + .long 781237988 + .long 1071186743 + .long 1067533806 + .long 1071179000 + .long 903395686 + .long 1071171267 + .long 180337970 + .long 1071163544 + .long 3085257158 + .long 1071155830 + .long 920560604 + .long 1071148127 + .long 2168935497 + .long 1071140433 + .long 2428575699 + .long 1071132749 + .long 1593048857 + .long 1071125075 + .long 3851294344 + .long 1071117410 + .long 507752028 + .long 1071109756 + .long 47131309 + .long 1071102111 + .long 2364605328 + .long 1071094475 + .long 3060776247 + .long 1071086849 + .long 2031607852 + .long 1071079233 + .long 3468423567 + .long 1071071626 + .long 2973002597 + .long 1071064029 + .long 442479858 + .long 1071056442 + .long 69344031 + .long 1071048864 + .long 1751501034 + .long 1071041295 + .long 1092272106 + .long 1071033736 + .long 2285293781 + .long 1071026186 + .long 934646808 + .long 1071018646 + .long 1234723447 + .long 1071011115 + .long 3085323714 + .long 1071003593 + .long 2091653507 + .long 1070996081 + .long 2449224655 + .long 1070988578 + .long 4058951182 + .long 1070981084 + .long 2527147484 + .long 1070973600 + .long 2050428397 + .long 1070966125 + .long 2530805506 + .long 1070958659 + .long 3870652645 + .long 1070951202 + .long 1677736816 + .long 1070943755 + .long 150118311 + .long 1070936317 + .long 3486214350 + .long 1070928887 + .long 2999895448 + .long 1070921467 + .long 2890287450 + .long 1070914056 + .long 3061900616 + .long 1070906654 + .long 3419595198 + .long 1070899261 + .long 3868579735 + .long 1070891877 + .long 19442055 + .long 1070884503 + .long 368016775 + .long 1070877137 + .long 525579846 + .long 1070869780 + .long 398716067 + .long 1070862432 + .long 4189317433 + .long 1070855092 + .long 3214712303 + .long 1070847762 + .long 1677467535 + .long 1070840441 + .long 3780484975 + .long 1070833128 + .long 842097952 + .long 1070825825 + .long 1360840737 + .long 1070818530 + .long 950675880 + .long 1070811244 + .long 3815829096 + .long 1070803966 + .long 1275951213 + .long 1070796698 + .long 1830887666 + .long 1070789438 + .long 1095905871 + .long 1070782187 + .long 3276530156 + .long 1070774944 + .long 3988671029 + .long 1070767710 + .long 3143525540 + .long 1070760485 + .long 652608459 + .long 1070753269 + .long 722718060 + .long 1070746061 + .long 3266000023 + .long 1070738861 + .long 3899945937 + .long 1070731670 + .long 2537326407 + .long 1070724488 + .long 3386189576 + .long 1070717314 + .long 2064957766 + .long 1070710149 + .long 2782295200 + .long 1070702992 + .long 1157237371 + .long 1070695844 + .long 1399058776 + .long 1070688704 + .long 3422369598 + .long 1070681572 + .long 2847114276 + .long 1070674449 + .long 3883471977 + .long 1070667334 + .long 2151986001 + .long 1070660228 + .long 1863431563 + .long 1070653130 + .long 2933912512 + .long 1070646040 + .long 984859948 + .long 1070638959 + .long 227932728 + .long 1070631886 + .long 580114212 + .long 1070624821 + .long 1958678199 + .long 1070617764 + .long 4281187571 + .long 1070610715 + .long 3170525652 + .long 1070603675 + .long 2839796761 + .long 1070596643 + .long 2119878685 + .long 1070583143 + .long 4089253071 + .long 1070569111 + .long 2835758645 + .long 1070555096 + .long 2492901513 + .long 1070541097 + .long 2899780145 + .long 1070527114 + .long 3896050086 + .long 1070513147 + .long 1026954088 + .long 1070499197 + .long 2723188744 + .long 1070485262 + .long 236130877 + .long 1070471344 + .long 1997573379 + .long 1070457441 + .long 3554951635 + .long 1070443554 + .long 456242909 + .long 1070429684 + .long 1134865756 + .long 1070415829 + .long 1139873776 + .long 1070401990 + .long 315822345 + .long 1070388167 + .long 2802766176 + .long 1070374359 + .long 4151355006 + .long 1070360567 + .long 4207733072 + .long 1070346791 + .long 2818569420 + .long 1070333031 + .long 4126022811 + .long 1070319286 + .long 3682837469 + .long 1070305557 + .long 1337242607 + .long 1070291844 + .long 1232950086 + .long 1070278146 + .long 3219217489 + .long 1070264463 + .long 2850845810 + .long 1070250796 + .long 4273079031 + .long 1070237144 + .long 3041732648 + .long 1070223508 + .long 3303060581 + .long 1070209887 + .long 613883718 + .long 1070196282 + .long 3416424147 + .long 1070182691 + .long 2973531841 + .long 1070169116 + .long 3433453502 + .long 1070155556 + .long 354993870 + .long 1070142012 + .long 2182349993 + .long 1070128482 + .long 180337970 + .long 1070114968 + .long 2794129140 + .long 1070101468 + .long 1289509543 + .long 1070087984 + .long 4112616140 + .long 1070074514 + .long 2530196300 + .long 1070061060 + .long 694376742 + .long 1070047621 + .long 2757759525 + .long 1070034196 + .long 4283485357 + .long 1070020786 + .long 835166085 + .long 1070007392 + .long 861784501 + .long 1069994012 + .long 4222855791 + .long 1069980646 + .long 2188425477 + .long 1069967296 + .long 3208871137 + .long 1069953960 + .long 2850129301 + .long 1069940639 + .long 973562605 + .long 1069927333 + .long 1735957778 + .long 1069914041 + .long 704621746 + .long 1069900764 + .long 2037248826 + .long 1069887501 + .long 1302049555 + .long 1069874253 + .long 2657617909 + .long 1069861019 + .long 1673060149 + .long 1069847800 + .long 2507862062 + .long 1069834595 + .long 732017833 + .long 1069821405 + .long 505897304 + .long 1069808229 + .long 1695342161 + .long 1069795067 + .long 4166631327 + .long 1069781919 + .long 3491511767 + .long 1069768786 + .long 3832098487 + .long 1069755667 + .long 761003473 + .long 1069742563 + .long 2736170304 + .long 1069729472 + .long 1036101224 + .long 1069716396 + .long 4119593661 + .long 1069703333 + .long 3266000023 + .long 1069690285 + .long 2639996940 + .long 1069677251 + .long 2111714268 + .long 1069664231 + .long 1551700571 + .long 1069651225 + .long 830921328 + .long 1069638233 + .long 4115724438 + .long 1069625254 + .long 2687969258 + .long 1069612290 + .long 714828609 + .long 1069599340 + .long 2363885129 + .long 1069586403 + .long 3213194931 + .long 1069573480 + .long 3136187749 + .long 1069560571 + .long 2006697909 + .long 1069547676 + .long 3692892517 + .long 1069522069 + .long 765175007 + .long 1069496334 + .long 3570253499 + .long 1069470625 + .long 3269064532 + .long 1069444944 + .long 3908238678 + .long 1069419290 + .long 945260706 + .long 1069393664 + .long 2723302721 + .long 1069368064 + .long 406449780 + .long 1069342492 + .long 2339434949 + .long 1069316946 + .long 3982864956 + .long 1069291427 + .long 798118804 + .long 1069265936 + .long 1132246414 + .long 1069240471 + .long 448161614 + .long 1069215033 + .long 2799475404 + .long 1069189621 + .long 3650623571 + .long 1069164236 + .long 2761765396 + .long 1069138878 + .long 4188780490 + .long 1069113546 + .long 3398363754 + .long 1069088241 + .long 152924136 + .long 1069062963 + .long 2805548810 + .long 1069037710 + .long 2530196300 + .long 1069012484 + .long 3386464469 + .long 1068987284 + .long 844750970 + .long 1068962111 + .long 3261086672 + .long 1068936963 + .long 1812361559 + .long 1068911842 + .long 561092771 + .long 1068886747 + .long 3570519722 + .long 1068861677 + .long 2019699215 + .long 1068836634 + .long 4268273544 + .long 1068811616 + .long 1496729166 + .long 1068786625 + .long 2066132126 + .long 1068761659 + .long 1453354059 + .long 1068736719 + .long 3725905754 + .long 1068711804 + .long 67097779 + .long 1068686916 + .long 3135775963 + .long 1068662052 + .long 4116645570 + .long 1068637214 + .long 2785039517 + .long 1068612402 + .long 3211948238 + .long 1068587615 + .long 879114973 + .long 1068562854 + .long 4153869436 + .long 1068538117 + .long 4224353950 + .long 1068513406 + .long 1738648877 + .long 1068478498 + .long 621328029 + .long 1068429177 + .long 361989374 + .long 1068379906 + .long 522185726 + .long 1068330685 + .long 664805953 + .long 1068281514 + .long 354069550 + .long 1068232393 + .long 3450488540 + .long 1068183321 + .long 930992923 + .long 1068134300 + .long 953696405 + .long 1068085328 + .long 3088087314 + .long 1068036405 + .long 2609990599 + .long 1067987532 + .long 3386464469 + .long 1067938708 + .long 695925966 + .long 1067889934 + .long 2702982241 + .long 1067841208 + .long 393654302 + .long 1067792532 + .long 1935110223 + .long 1067743904 + .long 2610888947 + .long 1067695325 + .long 2000764363 + .long 1067646795 + .long 3980740227 + .long 1067598313 + .long 3838143224 + .long 1067549880 + .long 1156519829 + .long 1067501496 + .long 4110598596 + .long 1067453159 + .long 3097995520 + .long 1067359375 + .long 3297851897 + .long 1067262895 + .long 3702812359 + .long 1067166511 + .long 3492345695 + .long 1067070223 + .long 1848366390 + .long 1066974031 + .long 2250192214 + .long 1066877934 + .long 3884599966 + .long 1066781932 + .long 1645815860 + .long 1066686026 + .long 3315375145 + .long 1066590214 + .long 3792308805 + .long 1066494497 + .long 251039259 + .long 1066395959 + .long 207414748 + .long 1066204903 + .long 1561045812 + .long 1066014035 + .long 2718921511 + .long 1065823355 + .long 2092732370 + .long 1065632863 + .long 2393819184 + .long 1065442558 + .long 4086440081 + .long 1065151664 + .long 3228205919 + .long 1064771801 + .long 3368528065 + .long 1064392310 + .long 2754502618 + .long 1063721742 + .long 2303420870 + .long 1062672426 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2696122091 + .long 3214636092 + .long 2696122091 + .long 3214636092 + .long 2696122091 + .long 3214636092 + .long 2696122091 + .long 3214636092 + .long 60798926 + .long 1067957842 + .long 60798926 + .long 1067957842 + .long 60798926 + .long 1067957842 + .long 60798926 + .long 1067957842 + .long 4242638864 + .long 3216335824 + .long 4242638864 + .long 3216335824 + .long 4242638864 + .long 3216335824 + .long 4242638864 + .long 3216335824 + .long 3540051903 + .long 1069845994 + .long 3540051903 + .long 1069845994 + .long 3540051903 + .long 1069845994 + .long 3540051903 + .long 1069845994 + .long 2610650434 + .long 3218487403 + .long 2610650434 + .long 3218487403 + .long 2610650434 + .long 3218487403 + .long 2610650434 + .long 3218487403 + .long 734375590 + .long 1062030445 + .long 734375590 + .long 1062030445 + .long 734375590 + .long 1062030445 + .long 734375590 + .long 1062030445 + .long 2574098898 + .long 1070757742 + .long 2574098898 + .long 1070757742 + .long 2574098898 + .long 1070757742 + .long 2574098898 + .long 1070757742 + .long 1279163547 + .long 3218543945 + .long 1279163547 + .long 3218543945 + .long 1279163547 + .long 3218543945 + .long 1279163547 + .long 3218543945 + .long 3694782758 + .long 1071564553 + .long 3694782758 + .long 1071564553 + .long 3694782758 + .long 1071564553 + .long 3694782758 + .long 1071564553 + .long 1697348856 + .long 3219592519 + .long 1697348856 + .long 3219592519 + .long 1697348856 + .long 3219592519 + .long 1697348856 + .long 3219592519 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .long 4294967295 + .long 1048575 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .long 0 + .long 1063256064 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .long 0 + .long 1062207488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .long 4227858432 + .long 4294967295 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1073156096 + .long 0 + .long 1073156096 + .long 0 + .long 1073156096 + .long 0 + .long 1073156096 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .long 0 + .long 1082564608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .long 0 + .long 1083176960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .long 0 + .long 1083174912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dlog2_data_internal,@object + .size __svml_dlog2_data_internal,13696 + .align 64 + +__dlog2_la__Q3: + .long 3213221364 + .long 1050233568 + .long 1697350398 + .long 3219592519 + .long 3694789629 + .long 1071564553 + .long 0 + .long 1073157447 + .type __dlog2_la__Q3,@object + .size __dlog2_la__Q3,32 + .space 32, 0x00 + .align 64 + +__dlog2_la__Q2: + .long 3213221358 + .long 1050233568 + .long 1697350398 + .long 3219592519 + .long 3695167823 + .long 1071564553 + .long 1697791998 + .long 3218543943 + .long 0 + .long 1073157447 + .type __dlog2_la__Q2,@object + .size __dlog2_la__Q2,40 + .space 24, 0x00 + .align 64 + +__dlog2_la__Q1: + .long 3213221370 + .long 1050233568 + .long 3213207734 + .long 3196668640 + .long 3694789628 + .long 1071564553 + .long 1697350743 + .long 3218543943 + .long 1357908666 + .long 1070757740 + .long 3685007067 + .long 3217999625 + .long 96832070 + .long 1070227830 + .long 1140452344 + .long 3217495379 + .long 2606274745 + .long 1069844296 + .long 1933654871 + .long 3217172449 + .long 0 + .long 1073157447 + .long 0 + .long 3219592519 + .type __dlog2_la__Q1,@object + .size __dlog2_la__Q1,96 + .space 32, 0x00 + .align 64 + +__dlog2_la__TWO_32P: + .long 1048576 + .long 1106247680 + .type __dlog2_la__TWO_32P,@object + .size __dlog2_la__TWO_32P,8 + .space 56, 0x00 + .align 64 + +__dlog2_la__TWO_32: + .long 0 + .long 1106247680 + .type __dlog2_la__TWO_32,@object + .size __dlog2_la__TWO_32,8 + .space 56, 0x00 + .align 64 + +__dlog2_la__TWO_55: + .long 0 + .long 1130364928 + .type __dlog2_la__TWO_55,@object + .size __dlog2_la__TWO_55,8 + .space 56, 0x00 + .align 64 + +__dlog2_la___libm_rcp_table_256: + .long 0x3f7f8000 + .long 0x3f7e8000 + .long 0x3f7d8000 + .long 0x3f7c8000 + .long 0x3f7ba000 + .long 0x3f7aa000 + .long 0x3f79a000 + .long 0x3f78c000 + .long 0x3f77c000 + .long 0x3f76e000 + .long 0x3f75e000 + .long 0x3f750000 + .long 0x3f742000 + .long 0x3f732000 + .long 0x3f724000 + .long 0x3f716000 + .long 0x3f708000 + .long 0x3f6fa000 + .long 0x3f6ec000 + .long 0x3f6de000 + .long 0x3f6d0000 + .long 0x3f6c2000 + .long 0x3f6b6000 + .long 0x3f6a8000 + .long 0x3f69a000 + .long 0x3f68c000 + .long 0x3f680000 + .long 0x3f672000 + .long 0x3f666000 + .long 0x3f658000 + .long 0x3f64c000 + .long 0x3f640000 + .long 0x3f632000 + .long 0x3f626000 + .long 0x3f61a000 + .long 0x3f60e000 + .long 0x3f600000 + .long 0x3f5f4000 + .long 0x3f5e8000 + .long 0x3f5dc000 + .long 0x3f5d0000 + .long 0x3f5c4000 + .long 0x3f5b8000 + .long 0x3f5ae000 + .long 0x3f5a2000 + .long 0x3f596000 + .long 0x3f58a000 + .long 0x3f57e000 + .long 0x3f574000 + .long 0x3f568000 + .long 0x3f55e000 + .long 0x3f552000 + .long 0x3f546000 + .long 0x3f53c000 + .long 0x3f532000 + .long 0x3f526000 + .long 0x3f51c000 + .long 0x3f510000 + .long 0x3f506000 + .long 0x3f4fc000 + .long 0x3f4f2000 + .long 0x3f4e6000 + .long 0x3f4dc000 + .long 0x3f4d2000 + .long 0x3f4c8000 + .long 0x3f4be000 + .long 0x3f4b4000 + .long 0x3f4aa000 + .long 0x3f4a0000 + .long 0x3f496000 + .long 0x3f48c000 + .long 0x3f482000 + .long 0x3f478000 + .long 0x3f46e000 + .long 0x3f464000 + .long 0x3f45c000 + .long 0x3f452000 + .long 0x3f448000 + .long 0x3f43e000 + .long 0x3f436000 + .long 0x3f42c000 + .long 0x3f422000 + .long 0x3f41a000 + .long 0x3f410000 + .long 0x3f408000 + .long 0x3f3fe000 + .long 0x3f3f6000 + .long 0x3f3ec000 + .long 0x3f3e4000 + .long 0x3f3da000 + .long 0x3f3d2000 + .long 0x3f3ca000 + .long 0x3f3c0000 + .long 0x3f3b8000 + .long 0x3f3b0000 + .long 0x3f3a8000 + .long 0x3f39e000 + .long 0x3f396000 + .long 0x3f38e000 + .long 0x3f386000 + .long 0x3f37e000 + .long 0x3f376000 + .long 0x3f36c000 + .long 0x3f364000 + .long 0x3f35c000 + .long 0x3f354000 + .long 0x3f34c000 + .long 0x3f344000 + .long 0x3f33c000 + .long 0x3f334000 + .long 0x3f32e000 + .long 0x3f326000 + .long 0x3f31e000 + .long 0x3f316000 + .long 0x3f30e000 + .long 0x3f306000 + .long 0x3f2fe000 + .long 0x3f2f8000 + .long 0x3f2f0000 + .long 0x3f2e8000 + .long 0x3f2e2000 + .long 0x3f2da000 + .long 0x3f2d2000 + .long 0x3f2cc000 + .long 0x3f2c4000 + .long 0x3f2bc000 + .long 0x3f2b6000 + .long 0x3f2ae000 + .long 0x3f2a8000 + .long 0x3f2a0000 + .long 0x3f29a000 + .long 0x3f292000 + .long 0x3f28c000 + .long 0x3f284000 + .long 0x3f27e000 + .long 0x3f276000 + .long 0x3f270000 + .long 0x3f268000 + .long 0x3f262000 + .long 0x3f25c000 + .long 0x3f254000 + .long 0x3f24e000 + .long 0x3f248000 + .long 0x3f240000 + .long 0x3f23a000 + .long 0x3f234000 + .long 0x3f22e000 + .long 0x3f226000 + .long 0x3f220000 + .long 0x3f21a000 + .long 0x3f214000 + .long 0x3f20e000 + .long 0x3f206000 + .long 0x3f200000 + .long 0x3f1fa000 + .long 0x3f1f4000 + .long 0x3f1ee000 + .long 0x3f1e8000 + .long 0x3f1e2000 + .long 0x3f1dc000 + .long 0x3f1d6000 + .long 0x3f1d0000 + .long 0x3f1ca000 + .long 0x3f1c4000 + .long 0x3f1be000 + .long 0x3f1b8000 + .long 0x3f1b2000 + .long 0x3f1ac000 + .long 0x3f1a6000 + .long 0x3f1a0000 + .long 0x3f19a000 + .long 0x3f194000 + .long 0x3f190000 + .long 0x3f18a000 + .long 0x3f184000 + .long 0x3f17e000 + .long 0x3f178000 + .long 0x3f172000 + .long 0x3f16e000 + .long 0x3f168000 + .long 0x3f162000 + .long 0x3f15c000 + .long 0x3f158000 + .long 0x3f152000 + .long 0x3f14c000 + .long 0x3f148000 + .long 0x3f142000 + .long 0x3f13c000 + .long 0x3f138000 + .long 0x3f132000 + .long 0x3f12c000 + .long 0x3f128000 + .long 0x3f122000 + .long 0x3f11c000 + .long 0x3f118000 + .long 0x3f112000 + .long 0x3f10e000 + .long 0x3f108000 + .long 0x3f104000 + .long 0x3f0fe000 + .long 0x3f0f8000 + .long 0x3f0f4000 + .long 0x3f0ee000 + .long 0x3f0ea000 + .long 0x3f0e6000 + .long 0x3f0e0000 + .long 0x3f0dc000 + .long 0x3f0d6000 + .long 0x3f0d2000 + .long 0x3f0cc000 + .long 0x3f0c8000 + .long 0x3f0c2000 + .long 0x3f0be000 + .long 0x3f0ba000 + .long 0x3f0b4000 + .long 0x3f0b0000 + .long 0x3f0ac000 + .long 0x3f0a6000 + .long 0x3f0a2000 + .long 0x3f09e000 + .long 0x3f098000 + .long 0x3f094000 + .long 0x3f090000 + .long 0x3f08a000 + .long 0x3f086000 + .long 0x3f082000 + .long 0x3f07e000 + .long 0x3f078000 + .long 0x3f074000 + .long 0x3f070000 + .long 0x3f06c000 + .long 0x3f066000 + .long 0x3f062000 + .long 0x3f05e000 + .long 0x3f05a000 + .long 0x3f056000 + .long 0x3f052000 + .long 0x3f04c000 + .long 0x3f048000 + .long 0x3f044000 + .long 0x3f040000 + .long 0x3f03c000 + .long 0x3f038000 + .long 0x3f034000 + .long 0x3f030000 + .long 0x3f02a000 + .long 0x3f026000 + .long 0x3f022000 + .long 0x3f01e000 + .long 0x3f01a000 + .long 0x3f016000 + .long 0x3f012000 + .long 0x3f00e000 + .long 0x3f00a000 + .long 0x3f006000 + .long 0x3f002000 + .type __dlog2_la___libm_rcp_table_256,@object + .size __dlog2_la___libm_rcp_table_256,1024 + .align 64 + +__dlog2_la___libm_log2_table_256: + .long 0xfb44c3b7,0x3e1485cb + .long 0x00000000,0x3f671b0e + .long 0x06028ac0,0x3e31d5d9 + .long 0x00000000,0x3f815cfe + .long 0xb8d7240b,0x3df8b9cb + .long 0x00000000,0x3f8cfee7 + .long 0x0d179106,0x3e38864a + .long 0x00000000,0x3f94564a + .long 0xecba1593,0x3e459c6a + .long 0x00000000,0x3f997723 + .long 0x94120c14,0x3e48d36a + .long 0x00000000,0x3f9f5923 + .long 0xd2571490,0x3e5410ba + .long 0x00000000,0x3fa2a094 + .long 0x1dc036a2,0x3e2776b0 + .long 0x00000000,0x3fa53894 + .long 0x78efe2b1,0x3e537229 + .long 0x00000000,0x3fa8324c + .long 0xfd29dc75,0x3e59c0fa + .long 0x00000000,0x3faacf54 + .long 0x046734f7,0x3e4636b7 + .long 0x00000000,0x3fadced9 + .long 0xd3b410b8,0x3e6f7950 + .long 0x00000000,0x3fb0387e + .long 0x00f2200a,0x3e19d1e7 + .long 0x00000000,0x3fb18ac6 + .long 0x8661ba82,0x3e4f09a9 + .long 0x00000000,0x3fb30edd + .long 0x9367107c,0x3e564d91 + .long 0x00000000,0x3fb463c1 + .long 0x0e4a4ce8,0x3e4e1fd1 + .long 0x00000000,0x3fb5b9e1 + .long 0x3cdb6374,0x3e492cf0 + .long 0x00000000,0x3fb7113f + .long 0x069c4f7f,0x3e61a364 + .long 0x00000000,0x3fb869dd + .long 0x427b631b,0x3e6493a6 + .long 0x00000000,0x3fb9c3be + .long 0xe02b3e8b,0x3e6af2c2 + .long 0x00000000,0x3fbb1ee4 + .long 0x389f4365,0x3e616e1e + .long 0x00000000,0x3fbc7b52 + .long 0x6a31fd96,0x3e4633b7 + .long 0x00000000,0x3fbdd90a + .long 0x0508664d,0x3e62ed84 + .long 0x00000000,0x3fbf05d4 + .long 0xaca1905c,0x3e775dcd + .long 0x00000000,0x3fc032fb + .long 0x094fbeeb,0x3e753e65 + .long 0x00000000,0x3fc0e3b5 + .long 0x96aa4b17,0x3e671f44 + .long 0x00000000,0x3fc19519 + .long 0x92da5a47,0x3e785566 + .long 0x00000000,0x3fc22dad + .long 0xbeb7d722,0x3e518efa + .long 0x00000000,0x3fc2e050 + .long 0xab57551c,0x3e738564 + .long 0x00000000,0x3fc379f7 + .long 0x54a914e3,0x3e55d0da + .long 0x00000000,0x3fc42ddd + .long 0xfe974017,0x3e73cd00 + .long 0x00000000,0x3fc4c89b + .long 0x59064390,0x3e54ffd6 + .long 0x00000000,0x3fc563dc + .long 0x633ab50f,0x3e67d75e + .long 0x00000000,0x3fc619a2 + .long 0xc8877e8a,0x3e77e6ce + .long 0x00000000,0x3fc6b5ff + .long 0x1ab7837f,0x3e7ecc1f + .long 0x00000000,0x3fc752e1 + .long 0xf9d5827a,0x3e7cea7c + .long 0x00000000,0x3fc7f049 + .long 0x64ccd537,0x3e357f7a + .long 0x00000000,0x3fc8a898 + .long 0xf7c9b05b,0x3e7994ca + .long 0x00000000,0x3fc94724 + .long 0xa2f56536,0x3e524b8f + .long 0x00000000,0x3fc9e63a + .long 0x5edaab42,0x3e7fd640 + .long 0x00000000,0x3fca85d8 + .long 0xd163379a,0x3e625f54 + .long 0x00000000,0x3fcb2602 + .long 0x936acd51,0x3e7ebdc3 + .long 0x00000000,0x3fcbc6b6 + .long 0xcfbc0aa0,0x3e7eee14 + .long 0x00000000,0x3fcc67f7 + .long 0xf73bcdad,0x3e764469 + .long 0x00000000,0x3fcceec4 + .long 0x60971b86,0x3e6eb44e + .long 0x00000000,0x3fcd9109 + .long 0xcd2052a5,0x3e65fcf4 + .long 0x00000000,0x3fce33dd + .long 0xc402867b,0x3e61af1e + .long 0x00000000,0x3fced741 + .long 0xa0c956e4,0x3e61bfbd + .long 0x00000000,0x3fcf7b36 + .long 0x831e77ff,0x3e85287b + .long 0x00000000,0x3fd00223 + .long 0xaddfdee2,0x3e7d2fc3 + .long 0x00000000,0x3fd054a4 + .long 0x342052c1,0x3e83724b + .long 0x00000000,0x3fd0999d + .long 0x602bcd34,0x3e7b4ec9 + .long 0x00000000,0x3fd0eca6 + .long 0x3aa20ead,0x3e6742da + .long 0x00000000,0x3fd13ffa + .long 0x9ecdadf4,0x3e713e82 + .long 0x00000000,0x3fd185a4 + .long 0xfef3031b,0x3e52f27e + .long 0x00000000,0x3fd1cb83 + .long 0x79e4af8a,0x3e710739 + .long 0x00000000,0x3fd21fa1 + .long 0xe59ad84a,0x3e637301 + .long 0x00000000,0x3fd265f5 + .long 0x3d7dfd9b,0x3e88697c + .long 0x00000000,0x3fd2baa0 + .long 0x738117b0,0x3e717788 + .long 0x00000000,0x3fd3016b + .long 0xd3c26a97,0x3e6c5514 + .long 0x00000000,0x3fd3486c + .long 0x4c4ff246,0x3e8df550 + .long 0x00000000,0x3fd38fa3 + .long 0x40340fa6,0x3e88102d + .long 0x00000000,0x3fd3e562 + .long 0x4592f4c3,0x3e5f53b6 + .long 0x00000000,0x3fd42d14 + .long 0x8b149a00,0x3e750fc8 + .long 0x00000000,0x3fd474fd + .long 0xa8f50e5f,0x3e86d01c + .long 0x00000000,0x3fd4bd1e + .long 0x7a22a88a,0x3e83c469 + .long 0x00000000,0x3fd50578 + .long 0xdc18b6d2,0x3e79000e + .long 0x00000000,0x3fd54e0b + .long 0x7c00250b,0x3e7870f0 + .long 0x00000000,0x3fd596d7 + .long 0xc1c885ae,0x3e8e3dd5 + .long 0x00000000,0x3fd5dfdc + .long 0xa6ecc47e,0x3e7bf64c + .long 0x00000000,0x3fd6291c + .long 0x0bc16c18,0x3e6bdaca + .long 0x00000000,0x3fd67296 + .long 0x1f925729,0x3e84d25c + .long 0x00000000,0x3fd6bc4a + .long 0xf23978de,0x3e5a5fb4 + .long 0x00000000,0x3fd7063a + .long 0xe2ac7f60,0x3e8e3da0 + .long 0x00000000,0x3fd75064 + .long 0x71f51a7b,0x3e819e20 + .long 0x00000000,0x3fd79acb + .long 0x5b924234,0x3e5e43ae + .long 0x00000000,0x3fd7d67c + .long 0xe9aedf37,0x3e701a2b + .long 0x00000000,0x3fd8214f + .long 0xeddd33ea,0x3e6b6f51 + .long 0x00000000,0x3fd86c5f + .long 0xe732b3c4,0x3e79375f + .long 0x00000000,0x3fd8b7ac + .long 0xe47cb9df,0x3e7e831b + .long 0x00000000,0x3fd8f416 + .long 0xe392d3c8,0x3e8abc37 + .long 0x00000000,0x3fd93fd2 + .long 0x28b35c77,0x3e80852d + .long 0x00000000,0x3fd98bcd + .long 0xd29cea36,0x3e69f374 + .long 0x00000000,0x3fd9c8c3 + .long 0xb3d7b0e6,0x3e542981 + .long 0x00000000,0x3fda152f + .long 0x1fe6d5ac,0x3e8b2bfb + .long 0x00000000,0x3fda527f + .long 0xf32e5dda,0x3e6f6f5c + .long 0x00000000,0x3fda9f5e + .long 0xd34d0d30,0x3e65abaa + .long 0x00000000,0x3fdadd0b + .long 0xe0ac9602,0x3e7bd47f + .long 0x00000000,0x3fdb2a5d + .long 0x7c5c784b,0x3e833601 + .long 0x00000000,0x3fdb6867 + .long 0xd7b0821f,0x3e5b887c + .long 0x00000000,0x3fdbb62f + .long 0xcd0a8f6a,0x3e83eccc + .long 0x00000000,0x3fdbf497 + .long 0x7500a4e8,0x3e7ba0e6 + .long 0x00000000,0x3fdc332a + .long 0xfc8712bb,0x3e885a8b + .long 0x00000000,0x3fdc819d + .long 0xf7a3a78f,0x3e81c336 + .long 0x00000000,0x3fdcc090 + .long 0x4ad8a38b,0x3e7846b4 + .long 0x00000000,0x3fdcffae + .long 0xfcfc3a99,0x3e7db50f + .long 0x00000000,0x3fdd3ef7 + .long 0x433cccd2,0x3e238809 + .long 0x00000000,0x3fdd8e50 + .long 0x6828fa82,0x3e721b2e + .long 0x00000000,0x3fddcdfb + .long 0xfc7c49c1,0x3e82848b + .long 0x00000000,0x3fde0dd2 + .long 0x1fce4d49,0x3e615144 + .long 0x00000000,0x3fde4dd6 + .long 0x77e2e8fd,0x3e68b88a + .long 0x00000000,0x3fde8e06 + .long 0x22a961b0,0x3e8fd353 + .long 0x00000000,0x3fdece62 + .long 0x266f2e1f,0x3e72854e + .long 0x00000000,0x3fdf1f16 + .long 0xc69211fe,0x3e8520c7 + .long 0x00000000,0x3fdf5fd8 + .long 0xaba878d5,0x3e826fcf + .long 0x00000000,0x3fdfa0c8 + .long 0xcd5b35b1,0x3e726ed8 + .long 0x00000000,0x3fdfe1e6 + .long 0x678a4f1c,0x3e49054d + .long 0x00000000,0x3fe01199 + .long 0x3bc19f18,0x3e5d23cb + .long 0x00000000,0x3fe03256 + .long 0x12772acb,0x3e87af35 + .long 0x00000000,0x3fe0532a + .long 0x2849c88a,0x3e67f5fc + .long 0x00000000,0x3fe07416 + .long 0x0e574fa1,0x3e84fce2 + .long 0x00000000,0x3fe08cd6 + .long 0x0ec2b5fa,0x3e857044 + .long 0x00000000,0x3fe0adeb + .long 0xd031f353,0x3e6d5d1d + .long 0x00000000,0x3fe0cf18 + .long 0xdae75c4d,0x3e99a159 + .long 0x00000000,0x3fe0f05c + .long 0x1553afb9,0x3e90eaf1 + .long 0x00000000,0x3fe111b9 + .long 0xdcc5c3c7,0x3e8bc6f3 + .long 0x00000000,0x3fe1332e + .long 0x1109e597,0x3e94ef84 + .long 0x00000000,0x3fe154bb + .long 0xd82adea4,0x3e937f40 + .long 0x00000000,0x3fe16df5 + .long 0x78336a2f,0x3e96dc5a + .long 0x00000000,0x3fe18fad + .long 0x84c2c804,0x3e90935b + .long 0x00000000,0x3fe1b17e + .long 0x04fd30aa,0x3e8a837a + .long 0x00000000,0x3fe1caeb + .long 0xd924b0ac,0x3e99061d + .long 0x00000000,0x3fe1ece7 + .long 0xef9b9d01,0x3e7ed700 + .long 0x00000000,0x3fe20efd + .long 0x202c81ec,0x3e9c6ebb + .long 0x00000000,0x3fe2289d + .long 0xfc0d7d76,0x3e936d4d + .long 0x00000000,0x3fe24adf + .long 0x9f8756ba,0x3e9a35d7 + .long 0x00000000,0x3fe26d3a + .long 0xe7c79d83,0x3e584ee3 + .long 0x00000000,0x3fe28710 + .long 0x942065a0,0x3e7d9e0d + .long 0x00000000,0x3fe2a998 + .long 0x2175afbf,0x3e872108 + .long 0x00000000,0x3fe2c38f + .long 0xfaf6283c,0x3e9f5809 + .long 0x00000000,0x3fe2e644 + .long 0x411d0507,0x3e871209 + .long 0x00000000,0x3fe3005e + .long 0x370c24bf,0x3e9c3b11 + .long 0x00000000,0x3fe32341 + .long 0x8044bb5a,0x3e9bce8e + .long 0x00000000,0x3fe33d7d + .long 0x698ea854,0x3e98aca0 + .long 0x00000000,0x3fe3608f + .long 0xd4d873bb,0x3e972a8e + .long 0x00000000,0x3fe37aee + .long 0x615e8182,0x3e8f669b + .long 0x00000000,0x3fe39e2f + .long 0xdda5b49a,0x3e98d1f4 + .long 0x00000000,0x3fe3b8b1 + .long 0xe72383f7,0x3e9cc279 + .long 0x00000000,0x3fe3dc21 + .long 0x497497f1,0x3e9c6774 + .long 0x00000000,0x3fe3f6c7 + .long 0x801bd0e6,0x3e82c7f6 + .long 0x00000000,0x3fe4117d + .long 0xd0ee28b4,0x3e9dfdd6 + .long 0x00000000,0x3fe43531 + .long 0xb70d3761,0x3e92d3a2 + .long 0x00000000,0x3fe4500b + .long 0xe7d6bcb2,0x3e9c8343 + .long 0x00000000,0x3fe46af4 + .long 0x90d43957,0x3e693179 + .long 0x00000000,0x3fe48eef + .long 0xf12570df,0x3e799eab + .long 0x00000000,0x3fe4a9fd + .long 0x1b88755d,0x3e78c5f8 + .long 0x00000000,0x3fe4c51b + .long 0xdf99a22c,0x3e7369be + .long 0x00000000,0x3fe4e049 + .long 0x6ed50f62,0x3e88fd93 + .long 0x00000000,0x3fe5049f + .long 0x978605ff,0x3e9c6042 + .long 0x00000000,0x3fe51ff2 + .long 0xe6c85f4c,0x3e930ae6 + .long 0x00000000,0x3fe53b56 + .long 0xc3275ba6,0x3e92e7b6 + .long 0x00000000,0x3fe556ca + .long 0x91597938,0x3e9e6401 + .long 0x00000000,0x3fe5724e + .long 0x448ebb62,0x3e3d2dee + .long 0x00000000,0x3fe59719 + .long 0x47501b6d,0x3e9b432e + .long 0x00000000,0x3fe5b2c3 + .long 0x571fa7cd,0x3e83cf9b + .long 0x00000000,0x3fe5ce7f + .long 0x7359819d,0x3e8dc615 + .long 0x00000000,0x3fe5ea4b + .long 0xc78a85ed,0x3e8973c3 + .long 0x00000000,0x3fe60628 + .long 0xc15a9f3d,0x3e77d788 + .long 0x00000000,0x3fe62216 + .long 0x51952736,0x3e9d2538 + .long 0x00000000,0x3fe63e14 + .long 0xde792c07,0x3e94dab9 + .long 0x00000000,0x3fe65a24 + .long 0x5bfa4318,0x3e8f5be1 + .long 0x00000000,0x3fe67645 + .long 0x55090ec8,0x3e903b26 + .long 0x00000000,0x3fe69277 + .long 0xc78b6175,0x3e99236f + .long 0x00000000,0x3fe6aeba + .long 0x3a80db6a,0x3e8a1972 + .long 0x00000000,0x3fe6cb0f + .long 0xf558aa96,0x3e8d43a2 + .long 0x00000000,0x3fe6e775 + .long 0xd9a82f2e,0x3e424ee3 + .long 0x00000000,0x3fe703ed + .long 0x583878f6,0x3e764d8e + .long 0x00000000,0x3fe72076 + .long 0xc1150a3e,0x3e379604 + .long 0x00000000,0x3fe73d11 + .long 0xed85584b,0x3e93b229 + .long 0x00000000,0x3fe759bd + .long 0x451a7b48,0x3e62967a + .long 0x00000000,0x3fe7767c + .long 0xc044e72d,0x3e8e12d7 + .long 0x00000000,0x3fe7934c + .long 0xfdfb6949,0x3e9ca45d + .long 0x00000000,0x3fe7b02e + .long 0xff690fce,0x3e9244fc + .long 0x00000000,0x3fe7c37a + .long 0x81487a2c,0x3e7e9cea + .long 0x00000000,0x3fe7e07b + .long 0xd0ad2d9a,0x3e760da0 + .long 0x00000000,0x3fe7fd8e + .long 0x096f45d9,0x3e8d7703 + .long 0x00000000,0x3fe81ab3 + .long 0x1b17115b,0x3e78dbee + .long 0x00000000,0x3fe837eb + .long 0x7c252ee0,0x3e8dc5a4 + .long 0x00000000,0x3fe85535 + .long 0x42d5123f,0x3e950116 + .long 0x00000000,0x3fe868c6 + .long 0xf11e41be,0x3e4c4eb7 + .long 0x00000000,0x3fe88630 + .long 0xdb2890b4,0x3e7773b8 + .long 0x00000000,0x3fe8a3ac + .long 0x7ffb4479,0x3e7bc8e7 + .long 0x00000000,0x3fe8c13b + .long 0x237693b3,0x3e8c388f + .long 0x00000000,0x3fe8d4fa + .long 0x45fcf1a0,0x3e731cd4 + .long 0x00000000,0x3fe8f2a9 + .long 0xe4895b91,0x3e9fae07 + .long 0x00000000,0x3fe9106a + .long 0x42d2824e,0x3e7d140d + .long 0x00000000,0x3fe9244c + .long 0x39900f67,0x3e75c3c8 + .long 0x00000000,0x3fe9422e + .long 0xa314252b,0x3e902422 + .long 0x00000000,0x3fe96023 + .long 0xf2a6b8ef,0x3e7b9be8 + .long 0x00000000,0x3fe97427 + .long 0x1476f5e9,0x3e66b188 + .long 0x00000000,0x3fe9923d + .long 0xdde10a6f,0x3e93c377 + .long 0x00000000,0x3fe9b066 + .long 0x4944a32c,0x3e817cad + .long 0x00000000,0x3fe9c48d + .long 0xc738e7ef,0x3e9927f2 + .long 0x00000000,0x3fe9e2d7 + .long 0xd25cfd94,0x3e7ccc41 + .long 0x00000000,0x3fea0136 + .long 0x2210e81b,0x3e8382fa + .long 0x00000000,0x3fea1580 + .long 0x1e690ce2,0x3e7752a7 + .long 0x00000000,0x3fea3400 + .long 0x122315d2,0x3e94cfee + .long 0x00000000,0x3fea4860 + .long 0xce98333b,0x3e80536e + .long 0x00000000,0x3fea6702 + .long 0xc30f00e9,0x3e838b7e + .long 0x00000000,0x3fea7b79 + .long 0x05b0c779,0x3e9dc380 + .long 0x00000000,0x3fea9a3c + .long 0xdd6dd3fe,0x3e6be168 + .long 0x00000000,0x3feab915 + .long 0x26e0d276,0x3e966757 + .long 0x00000000,0x3feacdb0 + .long 0x0aad615c,0x3e880252 + .long 0x00000000,0x3feaecab + .long 0x7927096a,0x3e607c31 + .long 0x00000000,0x3feb015e + .long 0x53b3d90e,0x3e596513 + .long 0x00000000,0x3feb161a + .long 0x8f2f0570,0x3e90ec3a + .long 0x00000000,0x3feb3545 + .long 0x81193954,0x3e9cb640 + .long 0x00000000,0x3feb4a18 + .long 0x311e7236,0x3e936479 + .long 0x00000000,0x3feb6967 + .long 0x3a42a413,0x3e9210e8 + .long 0x00000000,0x3feb7e52 + .long 0x4a0daeb2,0x3e9a1717 + .long 0x00000000,0x3feb9dc4 + .long 0xce900653,0x3e925bb7 + .long 0x00000000,0x3febb2c7 + .long 0xb5087588,0x3e95dbb8 + .long 0x00000000,0x3febd25d + .long 0x4a41204c,0x3e8d0aa9 + .long 0x00000000,0x3febe778 + .long 0x69a0d774,0x3e9c772f + .long 0x00000000,0x3febfc9c + .long 0x79d0a9a5,0x3e97b6a0 + .long 0x00000000,0x3fec1c65 + .long 0xd26f1a12,0x3e8f7402 + .long 0x00000000,0x3fec31a2 + .long 0x1243bc84,0x3e4db2f1 + .long 0x00000000,0x3fec46e9 + .long 0x477e1755,0x3e80dcc2 + .long 0x00000000,0x3fec66e5 + .long 0xc2f904c1,0x3e8b1e31 + .long 0x00000000,0x3fec7c44 + .long 0x1785b0c4,0x3e8fb619 + .long 0x00000000,0x3fec91ad + .long 0xedb052ef,0x3e98832d + .long 0x00000000,0x3fecb1dd + .long 0x9e373618,0x3e98c822 + .long 0x00000000,0x3fecc75f + .long 0x32954637,0x3e9a46e7 + .long 0x00000000,0x3fecdceb + .long 0xf0e6b2a9,0x3e996305 + .long 0x00000000,0x3fecfd50 + .long 0x1a6614ee,0x3e68c160 + .long 0x00000000,0x3fed12f6 + .long 0x09e33b28,0x3e9229c4 + .long 0x00000000,0x3fed28a5 + .long 0xe53b994c,0x3e7f281b + .long 0x00000000,0x3fed3e5f + .long 0x1124ac35,0x3e9f27f3 + .long 0x00000000,0x3fed5f08 + .long 0x3d2fdc03,0x3e84e779 + .long 0x00000000,0x3fed74dc + .long 0x1e93fd97,0x3e416c07 + .long 0x00000000,0x3fed8aba + .long 0x91b415ef,0x3e654669 + .long 0x00000000,0x3feda0a2 + .long 0x6495f594,0x3e9712d4 + .long 0x00000000,0x3fedc191 + .long 0x40171789,0x3e9ca7b2 + .long 0x00000000,0x3fedd793 + .long 0xe8fc4323,0x3e929afa + .long 0x00000000,0x3fededa0 + .long 0xeb03bd09,0x3e9a2e96 + .long 0x00000000,0x3fee03b7 + .long 0xca370ea2,0x3e94a63d + .long 0x00000000,0x3fee19d9 + .long 0xe30512ec,0x3e6a3bcb + .long 0x00000000,0x3fee3006 + .long 0x411c95ce,0x3e99d3ed + .long 0x00000000,0x3fee515c + .long 0x35cfaf8e,0x3e3e5b57 + .long 0x00000000,0x3fee67a4 + .long 0x5669df6a,0x3e9fca71 + .long 0x00000000,0x3fee7df5 + .long 0x04f19d94,0x3e9914e2 + .long 0x00000000,0x3fee9452 + .long 0xcaa19134,0x3e8b511c + .long 0x00000000,0x3feeaaba + .long 0x4bb3bfb1,0x3e9ed72f + .long 0x00000000,0x3feec12c + .long 0x3c29d75e,0x3e8be8d6 + .long 0x00000000,0x3feed7aa + .long 0x97da24fd,0x3e9c55d9 + .long 0x00000000,0x3feeee32 + .long 0x983c68ea,0x3e7ddfb1 + .long 0x00000000,0x3fef1014 + .long 0xf4425883,0x3e83ce66 + .long 0x00000000,0x3fef26b8 + .long 0xf7857f23,0x3e9055c3 + .long 0x00000000,0x3fef3d67 + .long 0x2805b525,0x3e9c2223 + .long 0x00000000,0x3fef5421 + .long 0x0c347fcf,0x3e8d59ba + .long 0x00000000,0x3fef6ae7 + .long 0x7c901c44,0x3e82b110 + .long 0x00000000,0x3fef81b8 + .long 0x74d1b482,0x3e8b1394 + .long 0x00000000,0x3fef9894 + .long 0x36fb9eb2,0x3e9ca75b + .long 0x00000000,0x3fefaf7b + .long 0x629b1b7e,0x3e981a0a + .long 0x00000000,0x3fefc66e + .long 0x7b8c1116,0x3e54cc20 + .long 0x00000000,0x3fefdd6d + .long 0xc0babe05,0x3e99ac8b + .long 0x00000000,0x3feff476 + .type __dlog2_la___libm_log2_table_256,@object + .size __dlog2_la___libm_log2_table_256,4096 + .space 512, 0x00 + .align 64 + +__dlog2_la__P: + .long 3213235158 + .long 1050233568 + .long 1697350398 + .long 3219592519 + .long 3694740707 + .long 1071564553 + .long 1697260025 + .long 3218543943 + .long 2542794428 + .long 1070757746 + .long 2165113687 + .long 3217999640 + .long 0 + .long 1073157447 + .type __dlog2_la__P,@object + .size __dlog2_la__P,56 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core-avx2.S new file mode 100644 index 0000000000..804de5fe0c --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized log2, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_log2 _ZGVeN8v_log2_avx2_wrapper +#include "../svml_d_log28_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core.c new file mode 100644 index 0000000000..bd55abecc7 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized log2, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_log2 +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_log2, __GI__ZGVeN8v_log2, __redirect__ZGVeN8v_log2) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core_avx512.S new file mode 100644 index 0000000000..c92d0476f6 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core_avx512.S @@ -0,0 +1,1661 @@ +/* Function log vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log2(x) = k - log2(Rcp) + poly_approximation(R) + * log2(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_log2_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %zmm7 + vgetmantpd $8, {sae}, %zmm7, %zmm6 + vmovups 128+__svml_dlog2_data_internal_avx512(%rip), %zmm2 + vmovups 512+__svml_dlog2_data_internal_avx512(%rip), %zmm12 + vmovups 640+__svml_dlog2_data_internal_avx512(%rip), %zmm13 + +/* Start polynomial evaluation */ + vmovups 256+__svml_dlog2_data_internal_avx512(%rip), %zmm10 + vmovups 320+__svml_dlog2_data_internal_avx512(%rip), %zmm0 + vmovups 384+__svml_dlog2_data_internal_avx512(%rip), %zmm11 + vmovups 448+__svml_dlog2_data_internal_avx512(%rip), %zmm14 + +/* Prepare exponent correction: DblRcp<0.75? */ + vmovups 192+__svml_dlog2_data_internal_avx512(%rip), %zmm1 + +/* Table lookup */ + vmovups __svml_dlog2_data_internal_avx512(%rip), %zmm4 + +/* GetExp(x) */ + vgetexppd {sae}, %zmm7, %zmm5 + +/* DblRcp ~ 1/Mantissa */ + vrcp14pd %zmm6, %zmm8 + +/* x<=0? */ + vfpclasspd $94, %zmm7, %k0 + +/* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */ + vrndscalepd $88, {sae}, %zmm8, %zmm3 + vmovups 576+__svml_dlog2_data_internal_avx512(%rip), %zmm8 + kmovw %k0, %edx + +/* Reduced argument: R = DblRcp*Mantissa - 1 */ + vfmsub213pd {rn-sae}, %zmm2, %zmm3, %zmm6 + vcmppd $17, {sae}, %zmm1, %zmm3, %k1 + vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm8 + vmovups 704+__svml_dlog2_data_internal_avx512(%rip), %zmm12 + vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm0 + vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14 + vmovups 768+__svml_dlog2_data_internal_avx512(%rip), %zmm1 + +/* R^2 */ + vmulpd {rn-sae}, %zmm6, %zmm6, %zmm15 + vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12 + +/* Prepare table index */ + vpsrlq $48, %zmm3, %zmm9 + +/* add 1 to Expon if DblRcp<0.75 */ + vaddpd {rn-sae}, %zmm2, %zmm5, %zmm5{%k1} + vmulpd {rn-sae}, %zmm15, %zmm15, %zmm13 + vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm0 + vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm8 + vpermt2pd 64+__svml_dlog2_data_internal_avx512(%rip), %zmm9, %zmm4 + +/* polynomial */ + vfmadd213pd {rn-sae}, %zmm8, %zmm13, %zmm0 + vfmadd213pd {rn-sae}, %zmm1, %zmm6, %zmm0 + vfmadd213pd {rn-sae}, %zmm4, %zmm0, %zmm6 + vaddpd {rn-sae}, %zmm6, %zmm5, %zmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + vmovups %zmm7, 64(%rsp) + vmovups %zmm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + kmovw %k4, 24(%rsp) + kmovw %k5, 16(%rsp) + kmovw %k6, 8(%rsp) + kmovw %k7, (%rsp) + movq %rsi, 40(%rsp) + movq %rdi, 32(%rsp) + movq %r12, 56(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 48(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + kmovw 24(%rsp), %k4 + cfi_restore(122) + kmovw 16(%rsp), %k5 + cfi_restore(123) + kmovw 8(%rsp), %k6 + cfi_restore(124) + kmovw (%rsp), %k7 + cfi_restore(125) + vmovups 128(%rsp), %zmm0 + movq 40(%rsp), %rsi + cfi_restore(4) + movq 32(%rsp), %rdi + cfi_restore(5) + movq 56(%rsp), %r12 + cfi_restore(12) + movq 48(%rsp), %r13 + cfi_restore(13) + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dlog2_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN8v_log2_skx) + + .align 16,0x90 + +__svml_dlog2_cout_rare_internal: + + cfi_startproc + + movq $0, -64(%rsp) + movsd -64(%rsp), %xmm0 + movsd (%rdi), %xmm1 + movups _zeros.256.0.0.1(%rip), %xmm2 + subsd %xmm0, %xmm1 + movsd %xmm1, -8(%rsp) + movups %xmm2, -56(%rsp) + movups _ones.256.0.0.1(%rip), %xmm0 + movups %xmm0, -40(%rsp) + movups _infs.256.0.0.1(%rip), %xmm0 + movups %xmm0, -24(%rsp) + movl -4(%rsp), %eax + cmpl $2146435072, %eax + jae .LBL_2_19 + lea -1072660480(%rax), %edx + cmpl $53248, %edx + jae .LBL_2_14 + lea -1072693232(%rax), %edx + cmpl $24, %edx + jae .LBL_2_13 + movl -8(%rsp), %edi + movl %eax, %ecx + movl %edi, %edx + shll $11, %ecx + shrl $21, %edx + orl %edx, %ecx + addl $-2147483646, %ecx + cmpl $3, %ecx + jae .LBL_2_12 + addl $-1072693248, %eax + orl %edi, %eax + jne .LBL_2_10 + movq -56(%rsp), %rax + movq %rax, (%rsi) + jmp .LBL_2_11 + +.LBL_2_10: + movsd -8(%rsp), %xmm0 + movsd 16+__dlog2_la__Q3(%rip), %xmm2 + movsd 24+__dlog2_la__Q3(%rip), %xmm1 + addsd -32(%rsp), %xmm0 + mulsd %xmm0, %xmm2 + mulsd %xmm0, %xmm1 + addsd 8+__dlog2_la__Q3(%rip), %xmm2 + mulsd %xmm0, %xmm2 + movsd %xmm0, -8(%rsp) + addsd __dlog2_la__Q3(%rip), %xmm2 + mulsd %xmm0, %xmm2 + addsd %xmm1, %xmm2 + movsd %xmm2, (%rsi) + +.LBL_2_11: + xorl %eax, %eax + ret + +.LBL_2_12: + movsd -8(%rsp), %xmm2 + xorl %eax, %eax + movsd 16+__dlog2_la__Q2(%rip), %xmm1 + movsd 24+__dlog2_la__Q2(%rip), %xmm3 + addsd -32(%rsp), %xmm2 + movaps %xmm2, %xmm0 + mulsd %xmm2, %xmm0 + mulsd %xmm0, %xmm1 + mulsd %xmm0, %xmm3 + addsd __dlog2_la__Q2(%rip), %xmm1 + addsd 8+__dlog2_la__Q2(%rip), %xmm3 + mulsd %xmm2, %xmm1 + mulsd %xmm0, %xmm3 + movsd %xmm2, -8(%rsp) + addsd %xmm1, %xmm3 + movl $0, -8(%rsp) + movsd -8(%rsp), %xmm4 + subsd %xmm4, %xmm2 + addsd %xmm2, %xmm4 + mulsd 32+__dlog2_la__Q2(%rip), %xmm4 + addsd %xmm3, %xmm4 + movsd %xmm4, (%rsi) + ret + +.LBL_2_13: + movsd -8(%rsp), %xmm2 + xorl %eax, %eax + movsd 72+__dlog2_la__Q1(%rip), %xmm10 + movsd 64+__dlog2_la__Q1(%rip), %xmm4 + movsd __dlog2_la__TWO_32P(%rip), %xmm5 + movsd __dlog2_la__TWO_32P(%rip), %xmm7 + movsd 88+__dlog2_la__Q1(%rip), %xmm14 + movsd __dlog2_la__TWO_32P(%rip), %xmm11 + movsd __dlog2_la__TWO_32P(%rip), %xmm15 + addsd -32(%rsp), %xmm2 + movaps %xmm2, %xmm3 + movaps %xmm2, %xmm6 + mulsd %xmm2, %xmm3 + movaps %xmm2, %xmm0 + mulsd %xmm2, %xmm5 + mulsd __dlog2_la__TWO_32(%rip), %xmm6 + mulsd %xmm3, %xmm10 + mulsd %xmm3, %xmm4 + addsd 56+__dlog2_la__Q1(%rip), %xmm10 + addsd 48+__dlog2_la__Q1(%rip), %xmm4 + mulsd %xmm3, %xmm10 + mulsd %xmm3, %xmm4 + addsd 40+__dlog2_la__Q1(%rip), %xmm10 + addsd 32+__dlog2_la__Q1(%rip), %xmm4 + mulsd %xmm3, %xmm10 + mulsd %xmm3, %xmm4 + addsd 24+__dlog2_la__Q1(%rip), %xmm10 + addsd 16+__dlog2_la__Q1(%rip), %xmm4 + mulsd %xmm3, %xmm10 + mulsd %xmm2, %xmm4 + movsd __dlog2_la__TWO_32(%rip), %xmm3 + addsd %xmm4, %xmm10 + mulsd %xmm10, %xmm7 + movaps %xmm3, %xmm8 + mulsd %xmm10, %xmm8 + movsd %xmm5, -72(%rsp) + movsd -72(%rsp), %xmm1 + movsd %xmm7, -72(%rsp) + subsd %xmm6, %xmm1 + movsd -72(%rsp), %xmm9 + subsd %xmm1, %xmm0 + subsd %xmm8, %xmm9 + movsd %xmm1, -8(%rsp) + subsd %xmm9, %xmm10 + addsd %xmm9, %xmm14 + addsd 8+__dlog2_la__Q1(%rip), %xmm10 + movaps %xmm14, %xmm4 + mulsd %xmm0, %xmm4 + mulsd %xmm2, %xmm10 + mulsd %xmm1, %xmm14 + addsd %xmm0, %xmm1 + addsd %xmm10, %xmm4 + movaps %xmm4, %xmm12 + movsd 80+__dlog2_la__Q1(%rip), %xmm9 + addsd %xmm14, %xmm12 + mulsd %xmm12, %xmm11 + mulsd %xmm3, %xmm12 + movsd %xmm11, -72(%rsp) + movsd -72(%rsp), %xmm13 + subsd %xmm12, %xmm13 + subsd %xmm13, %xmm4 + addsd %xmm13, %xmm9 + addsd %xmm14, %xmm4 + movaps %xmm9, %xmm13 + addsd __dlog2_la__Q1(%rip), %xmm4 + addsd %xmm4, %xmm13 + mulsd %xmm13, %xmm15 + mulsd %xmm3, %xmm13 + movsd %xmm15, -72(%rsp) + movsd -72(%rsp), %xmm14 + subsd %xmm13, %xmm14 + mulsd %xmm14, %xmm1 + subsd %xmm14, %xmm9 + addsd %xmm9, %xmm4 + mulsd %xmm2, %xmm4 + addsd %xmm4, %xmm1 + movsd %xmm1, (%rsi) + ret + +.LBL_2_14: + movl %eax, %ecx + movl %eax, %edx + shrl $20, %ecx + andl $1048575, %edx + addl $-1023, %ecx + cmpl $1048576, %eax + jae .LBL_2_18 + movl %edx, -4(%rsp) + movl -8(%rsp), %edx + orl %edx, %eax + jne .LBL_2_17 + movsd -32(%rsp), %xmm0 + movl $2, %eax + divsd -56(%rsp), %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_17: + movsd -8(%rsp), %xmm0 + mulsd __dlog2_la__TWO_55(%rip), %xmm0 + movsd %xmm0, -8(%rsp) + movl -4(%rsp), %edx + movl %edx, %ecx + shrl $20, %ecx + movl %edx, %eax + addl $-1078, %ecx + +.LBL_2_18: + shrl $12, %eax + orl $1072693248, %edx + movzbl %al, %edi + pxor %xmm7, %xmm7 + movl %edx, -4(%rsp) + lea __dlog2_la___libm_rcp_table_256(%rip), %rdx + movsd -8(%rsp), %xmm10 + pxor %xmm8, %xmm8 + movl $0, -8(%rsp) + lea __dlog2_la___libm_log2_table_256(%rip), %rax + movsd -8(%rsp), %xmm0 + cvtss2sd (%rdx,%rdi,4), %xmm7 + cvtsi2sd %ecx, %xmm8 + subsd %xmm0, %xmm10 + mulsd %xmm7, %xmm10 + mulsd %xmm0, %xmm7 + movsd 40+__dlog2_la__P(%rip), %xmm4 + movsd 32+__dlog2_la__P(%rip), %xmm3 + movsd 48+__dlog2_la__P(%rip), %xmm5 + movsd __dlog2_la__TWO_32(%rip), %xmm6 + shlq $4, %rdi + addsd -32(%rsp), %xmm7 + movaps %xmm7, %xmm2 + mulsd %xmm5, %xmm7 + addsd %xmm10, %xmm2 + mulsd %xmm5, %xmm10 + addsd %xmm7, %xmm6 + movaps %xmm2, %xmm1 + mulsd %xmm2, %xmm1 + mulsd %xmm1, %xmm4 + mulsd %xmm1, %xmm3 + addsd 24+__dlog2_la__P(%rip), %xmm4 + addsd 16+__dlog2_la__P(%rip), %xmm3 + mulsd %xmm1, %xmm4 + mulsd %xmm1, %xmm3 + addsd 8+__dlog2_la__P(%rip), %xmm4 + addsd __dlog2_la__P(%rip), %xmm3 + mulsd %xmm1, %xmm4 + mulsd %xmm2, %xmm3 + movsd %xmm6, -72(%rsp) + addsd %xmm3, %xmm4 + addsd 8(%rax,%rdi), %xmm8 + addsd %xmm4, %xmm10 + movsd -72(%rsp), %xmm9 + subsd __dlog2_la__TWO_32(%rip), %xmm9 + subsd %xmm9, %xmm7 + addsd %xmm8, %xmm9 + addsd (%rax,%rdi), %xmm7 + movsd %xmm9, -8(%rsp) + xorl %eax, %eax + addsd %xmm7, %xmm10 + addsd %xmm9, %xmm10 + movsd %xmm10, (%rsi) + ret + +.LBL_2_19: + movl %eax, %edx + andl $2147483647, %edx + cmpl $2146435072, %edx + ja .LBL_2_28 + jne .LBL_2_22 + cmpl $0, -8(%rsp) + jne .LBL_2_28 + +.LBL_2_22: + testl $-2147483648, %eax + je .LBL_2_27 + movl -8(%rsp), %eax + orl %eax, %edx + movsd -56(%rsp), %xmm1 + jne .LBL_2_25 + movsd -32(%rsp), %xmm0 + movl $2, %eax + divsd %xmm1, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_25: + movsd -24(%rsp), %xmm0 + movl $1, %eax + mulsd %xmm1, %xmm0 + movsd %xmm0, (%rsi) + ret + +.LBL_2_27: + movq -8(%rsp), %rax + movq %rax, (%rsi) + xorl %eax, %eax + ret + +.LBL_2_28: + movsd -8(%rsp), %xmm0 + xorl %eax, %eax + mulsd -40(%rsp), %xmm0 + movsd %xmm0, (%rsi) + ret + + cfi_endproc + + .type __svml_dlog2_cout_rare_internal,@function + .size __svml_dlog2_cout_rare_internal,.-__svml_dlog2_cout_rare_internal + .section .rodata, "a" + .align 64 + .align 16 + +_zeros.256.0.0.1: + .long 0 + .long 0 + .long 0 + .long 2147483648 + .align 16 + +_ones.256.0.0.1: + .long 0 + .long 1072693248 + .long 0 + .long 3220176896 + .align 16 + +_infs.256.0.0.1: + .long 0 + .long 2146435072 + .long 0 + .long 4293918720 + + .section .rodata, "a" + .space 16, 0x00 + .align 64 + +__svml_dlog2_data_internal_avx512: + .long 0 + .long 0 + .long 4207481622 + .long 3216401398 + .long 972805768 + .long 3217408026 + .long 3103942666 + .long 3218062358 + .long 1271733131 + .long 3218381432 + .long 2300516105 + .long 3218676666 + .long 3761433103 + .long 3218958163 + .long 14039718 + .long 3219177733 + .long 1904282206 + .long 1071288313 + .long 1751501034 + .long 1071041295 + .long 3815829096 + .long 1070803966 + .long 2835758645 + .long 1070555096 + .long 180337970 + .long 1070114968 + .long 3266000023 + .long 1069690285 + .long 2530196300 + .long 1069012484 + .long 3386464469 + .long 1067938708 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 0 + .long 1072168960 + .long 3658358034 + .long 1069846603 + .long 3658358034 + .long 1069846603 + .long 3658358034 + .long 1069846603 + .long 3658358034 + .long 1069846603 + .long 3658358034 + .long 1069846603 + .long 3658358034 + .long 1069846603 + .long 3658358034 + .long 1069846603 + .long 3658358034 + .long 1069846603 + .long 1307270350 + .long 3217498040 + .long 1307270350 + .long 3217498040 + .long 1307270350 + .long 3217498040 + .long 1307270350 + .long 3217498040 + .long 1307270350 + .long 3217498040 + .long 1307270350 + .long 3217498040 + .long 1307270350 + .long 3217498040 + .long 1307270350 + .long 3217498040 + .long 1367442963 + .long 1070227827 + .long 1367442963 + .long 1070227827 + .long 1367442963 + .long 1070227827 + .long 1367442963 + .long 1070227827 + .long 1367442963 + .long 1070227827 + .long 1367442963 + .long 1070227827 + .long 1367442963 + .long 1070227827 + .long 1367442963 + .long 1070227827 + .long 3840087116 + .long 3217999623 + .long 3840087116 + .long 3217999623 + .long 3840087116 + .long 3217999623 + .long 3840087116 + .long 3217999623 + .long 3840087116 + .long 3217999623 + .long 3840087116 + .long 3217999623 + .long 3840087116 + .long 3217999623 + .long 3840087116 + .long 3217999623 + .long 1360320794 + .long 1070757740 + .long 1360320794 + .long 1070757740 + .long 1360320794 + .long 1070757740 + .long 1360320794 + .long 1070757740 + .long 1360320794 + .long 1070757740 + .long 1360320794 + .long 1070757740 + .long 1360320794 + .long 1070757740 + .long 1360320794 + .long 1070757740 + .long 1698500493 + .long 3218543943 + .long 1698500493 + .long 3218543943 + .long 1698500493 + .long 3218543943 + .long 1698500493 + .long 3218543943 + .long 1698500493 + .long 3218543943 + .long 1698500493 + .long 3218543943 + .long 1698500493 + .long 3218543943 + .long 1698500493 + .long 3218543943 + .long 3694789279 + .long 1071564553 + .long 3694789279 + .long 1071564553 + .long 3694789279 + .long 1071564553 + .long 3694789279 + .long 1071564553 + .long 3694789279 + .long 1071564553 + .long 3694789279 + .long 1071564553 + .long 3694789279 + .long 1071564553 + .long 3694789279 + .long 1071564553 + .long 1697350356 + .long 3219592519 + .long 1697350356 + .long 3219592519 + .long 1697350356 + .long 3219592519 + .long 1697350356 + .long 3219592519 + .long 1697350356 + .long 3219592519 + .long 1697350356 + .long 3219592519 + .long 1697350356 + .long 3219592519 + .long 1697350356 + .long 3219592519 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 120 + .long 0 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 0 + .long 1048576 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .long 4294967295 + .long 2146435071 + .type __svml_dlog2_data_internal_avx512,@object + .size __svml_dlog2_data_internal_avx512,1088 + .align 64 + +__dlog2_la__Q3: + .long 3213221364 + .long 1050233568 + .long 1697350398 + .long 3219592519 + .long 3694789629 + .long 1071564553 + .long 0 + .long 1073157447 + .type __dlog2_la__Q3,@object + .size __dlog2_la__Q3,32 + .space 32, 0x00 + .align 64 + +__dlog2_la__Q2: + .long 3213221358 + .long 1050233568 + .long 1697350398 + .long 3219592519 + .long 3695167823 + .long 1071564553 + .long 1697791998 + .long 3218543943 + .long 0 + .long 1073157447 + .type __dlog2_la__Q2,@object + .size __dlog2_la__Q2,40 + .space 24, 0x00 + .align 64 + +__dlog2_la__Q1: + .long 3213221370 + .long 1050233568 + .long 3213207734 + .long 3196668640 + .long 3694789628 + .long 1071564553 + .long 1697350743 + .long 3218543943 + .long 1357908666 + .long 1070757740 + .long 3685007067 + .long 3217999625 + .long 96832070 + .long 1070227830 + .long 1140452344 + .long 3217495379 + .long 2606274745 + .long 1069844296 + .long 1933654871 + .long 3217172449 + .long 0 + .long 1073157447 + .long 0 + .long 3219592519 + .type __dlog2_la__Q1,@object + .size __dlog2_la__Q1,96 + .space 32, 0x00 + .align 64 + +__dlog2_la__TWO_32P: + .long 1048576 + .long 1106247680 + .type __dlog2_la__TWO_32P,@object + .size __dlog2_la__TWO_32P,8 + .space 56, 0x00 + .align 64 + +__dlog2_la__TWO_32: + .long 0 + .long 1106247680 + .type __dlog2_la__TWO_32,@object + .size __dlog2_la__TWO_32,8 + .space 56, 0x00 + .align 64 + +__dlog2_la__TWO_55: + .long 0 + .long 1130364928 + .type __dlog2_la__TWO_55,@object + .size __dlog2_la__TWO_55,8 + .space 56, 0x00 + .align 64 + +__dlog2_la___libm_rcp_table_256: + .long 0x3f7f8000 + .long 0x3f7e8000 + .long 0x3f7d8000 + .long 0x3f7c8000 + .long 0x3f7ba000 + .long 0x3f7aa000 + .long 0x3f79a000 + .long 0x3f78c000 + .long 0x3f77c000 + .long 0x3f76e000 + .long 0x3f75e000 + .long 0x3f750000 + .long 0x3f742000 + .long 0x3f732000 + .long 0x3f724000 + .long 0x3f716000 + .long 0x3f708000 + .long 0x3f6fa000 + .long 0x3f6ec000 + .long 0x3f6de000 + .long 0x3f6d0000 + .long 0x3f6c2000 + .long 0x3f6b6000 + .long 0x3f6a8000 + .long 0x3f69a000 + .long 0x3f68c000 + .long 0x3f680000 + .long 0x3f672000 + .long 0x3f666000 + .long 0x3f658000 + .long 0x3f64c000 + .long 0x3f640000 + .long 0x3f632000 + .long 0x3f626000 + .long 0x3f61a000 + .long 0x3f60e000 + .long 0x3f600000 + .long 0x3f5f4000 + .long 0x3f5e8000 + .long 0x3f5dc000 + .long 0x3f5d0000 + .long 0x3f5c4000 + .long 0x3f5b8000 + .long 0x3f5ae000 + .long 0x3f5a2000 + .long 0x3f596000 + .long 0x3f58a000 + .long 0x3f57e000 + .long 0x3f574000 + .long 0x3f568000 + .long 0x3f55e000 + .long 0x3f552000 + .long 0x3f546000 + .long 0x3f53c000 + .long 0x3f532000 + .long 0x3f526000 + .long 0x3f51c000 + .long 0x3f510000 + .long 0x3f506000 + .long 0x3f4fc000 + .long 0x3f4f2000 + .long 0x3f4e6000 + .long 0x3f4dc000 + .long 0x3f4d2000 + .long 0x3f4c8000 + .long 0x3f4be000 + .long 0x3f4b4000 + .long 0x3f4aa000 + .long 0x3f4a0000 + .long 0x3f496000 + .long 0x3f48c000 + .long 0x3f482000 + .long 0x3f478000 + .long 0x3f46e000 + .long 0x3f464000 + .long 0x3f45c000 + .long 0x3f452000 + .long 0x3f448000 + .long 0x3f43e000 + .long 0x3f436000 + .long 0x3f42c000 + .long 0x3f422000 + .long 0x3f41a000 + .long 0x3f410000 + .long 0x3f408000 + .long 0x3f3fe000 + .long 0x3f3f6000 + .long 0x3f3ec000 + .long 0x3f3e4000 + .long 0x3f3da000 + .long 0x3f3d2000 + .long 0x3f3ca000 + .long 0x3f3c0000 + .long 0x3f3b8000 + .long 0x3f3b0000 + .long 0x3f3a8000 + .long 0x3f39e000 + .long 0x3f396000 + .long 0x3f38e000 + .long 0x3f386000 + .long 0x3f37e000 + .long 0x3f376000 + .long 0x3f36c000 + .long 0x3f364000 + .long 0x3f35c000 + .long 0x3f354000 + .long 0x3f34c000 + .long 0x3f344000 + .long 0x3f33c000 + .long 0x3f334000 + .long 0x3f32e000 + .long 0x3f326000 + .long 0x3f31e000 + .long 0x3f316000 + .long 0x3f30e000 + .long 0x3f306000 + .long 0x3f2fe000 + .long 0x3f2f8000 + .long 0x3f2f0000 + .long 0x3f2e8000 + .long 0x3f2e2000 + .long 0x3f2da000 + .long 0x3f2d2000 + .long 0x3f2cc000 + .long 0x3f2c4000 + .long 0x3f2bc000 + .long 0x3f2b6000 + .long 0x3f2ae000 + .long 0x3f2a8000 + .long 0x3f2a0000 + .long 0x3f29a000 + .long 0x3f292000 + .long 0x3f28c000 + .long 0x3f284000 + .long 0x3f27e000 + .long 0x3f276000 + .long 0x3f270000 + .long 0x3f268000 + .long 0x3f262000 + .long 0x3f25c000 + .long 0x3f254000 + .long 0x3f24e000 + .long 0x3f248000 + .long 0x3f240000 + .long 0x3f23a000 + .long 0x3f234000 + .long 0x3f22e000 + .long 0x3f226000 + .long 0x3f220000 + .long 0x3f21a000 + .long 0x3f214000 + .long 0x3f20e000 + .long 0x3f206000 + .long 0x3f200000 + .long 0x3f1fa000 + .long 0x3f1f4000 + .long 0x3f1ee000 + .long 0x3f1e8000 + .long 0x3f1e2000 + .long 0x3f1dc000 + .long 0x3f1d6000 + .long 0x3f1d0000 + .long 0x3f1ca000 + .long 0x3f1c4000 + .long 0x3f1be000 + .long 0x3f1b8000 + .long 0x3f1b2000 + .long 0x3f1ac000 + .long 0x3f1a6000 + .long 0x3f1a0000 + .long 0x3f19a000 + .long 0x3f194000 + .long 0x3f190000 + .long 0x3f18a000 + .long 0x3f184000 + .long 0x3f17e000 + .long 0x3f178000 + .long 0x3f172000 + .long 0x3f16e000 + .long 0x3f168000 + .long 0x3f162000 + .long 0x3f15c000 + .long 0x3f158000 + .long 0x3f152000 + .long 0x3f14c000 + .long 0x3f148000 + .long 0x3f142000 + .long 0x3f13c000 + .long 0x3f138000 + .long 0x3f132000 + .long 0x3f12c000 + .long 0x3f128000 + .long 0x3f122000 + .long 0x3f11c000 + .long 0x3f118000 + .long 0x3f112000 + .long 0x3f10e000 + .long 0x3f108000 + .long 0x3f104000 + .long 0x3f0fe000 + .long 0x3f0f8000 + .long 0x3f0f4000 + .long 0x3f0ee000 + .long 0x3f0ea000 + .long 0x3f0e6000 + .long 0x3f0e0000 + .long 0x3f0dc000 + .long 0x3f0d6000 + .long 0x3f0d2000 + .long 0x3f0cc000 + .long 0x3f0c8000 + .long 0x3f0c2000 + .long 0x3f0be000 + .long 0x3f0ba000 + .long 0x3f0b4000 + .long 0x3f0b0000 + .long 0x3f0ac000 + .long 0x3f0a6000 + .long 0x3f0a2000 + .long 0x3f09e000 + .long 0x3f098000 + .long 0x3f094000 + .long 0x3f090000 + .long 0x3f08a000 + .long 0x3f086000 + .long 0x3f082000 + .long 0x3f07e000 + .long 0x3f078000 + .long 0x3f074000 + .long 0x3f070000 + .long 0x3f06c000 + .long 0x3f066000 + .long 0x3f062000 + .long 0x3f05e000 + .long 0x3f05a000 + .long 0x3f056000 + .long 0x3f052000 + .long 0x3f04c000 + .long 0x3f048000 + .long 0x3f044000 + .long 0x3f040000 + .long 0x3f03c000 + .long 0x3f038000 + .long 0x3f034000 + .long 0x3f030000 + .long 0x3f02a000 + .long 0x3f026000 + .long 0x3f022000 + .long 0x3f01e000 + .long 0x3f01a000 + .long 0x3f016000 + .long 0x3f012000 + .long 0x3f00e000 + .long 0x3f00a000 + .long 0x3f006000 + .long 0x3f002000 + .type __dlog2_la___libm_rcp_table_256,@object + .size __dlog2_la___libm_rcp_table_256,1024 + .align 64 + +__dlog2_la___libm_log2_table_256: + .long 0xfb44c3b7,0x3e1485cb + .long 0x00000000,0x3f671b0e + .long 0x06028ac0,0x3e31d5d9 + .long 0x00000000,0x3f815cfe + .long 0xb8d7240b,0x3df8b9cb + .long 0x00000000,0x3f8cfee7 + .long 0x0d179106,0x3e38864a + .long 0x00000000,0x3f94564a + .long 0xecba1593,0x3e459c6a + .long 0x00000000,0x3f997723 + .long 0x94120c14,0x3e48d36a + .long 0x00000000,0x3f9f5923 + .long 0xd2571490,0x3e5410ba + .long 0x00000000,0x3fa2a094 + .long 0x1dc036a2,0x3e2776b0 + .long 0x00000000,0x3fa53894 + .long 0x78efe2b1,0x3e537229 + .long 0x00000000,0x3fa8324c + .long 0xfd29dc75,0x3e59c0fa + .long 0x00000000,0x3faacf54 + .long 0x046734f7,0x3e4636b7 + .long 0x00000000,0x3fadced9 + .long 0xd3b410b8,0x3e6f7950 + .long 0x00000000,0x3fb0387e + .long 0x00f2200a,0x3e19d1e7 + .long 0x00000000,0x3fb18ac6 + .long 0x8661ba82,0x3e4f09a9 + .long 0x00000000,0x3fb30edd + .long 0x9367107c,0x3e564d91 + .long 0x00000000,0x3fb463c1 + .long 0x0e4a4ce8,0x3e4e1fd1 + .long 0x00000000,0x3fb5b9e1 + .long 0x3cdb6374,0x3e492cf0 + .long 0x00000000,0x3fb7113f + .long 0x069c4f7f,0x3e61a364 + .long 0x00000000,0x3fb869dd + .long 0x427b631b,0x3e6493a6 + .long 0x00000000,0x3fb9c3be + .long 0xe02b3e8b,0x3e6af2c2 + .long 0x00000000,0x3fbb1ee4 + .long 0x389f4365,0x3e616e1e + .long 0x00000000,0x3fbc7b52 + .long 0x6a31fd96,0x3e4633b7 + .long 0x00000000,0x3fbdd90a + .long 0x0508664d,0x3e62ed84 + .long 0x00000000,0x3fbf05d4 + .long 0xaca1905c,0x3e775dcd + .long 0x00000000,0x3fc032fb + .long 0x094fbeeb,0x3e753e65 + .long 0x00000000,0x3fc0e3b5 + .long 0x96aa4b17,0x3e671f44 + .long 0x00000000,0x3fc19519 + .long 0x92da5a47,0x3e785566 + .long 0x00000000,0x3fc22dad + .long 0xbeb7d722,0x3e518efa + .long 0x00000000,0x3fc2e050 + .long 0xab57551c,0x3e738564 + .long 0x00000000,0x3fc379f7 + .long 0x54a914e3,0x3e55d0da + .long 0x00000000,0x3fc42ddd + .long 0xfe974017,0x3e73cd00 + .long 0x00000000,0x3fc4c89b + .long 0x59064390,0x3e54ffd6 + .long 0x00000000,0x3fc563dc + .long 0x633ab50f,0x3e67d75e + .long 0x00000000,0x3fc619a2 + .long 0xc8877e8a,0x3e77e6ce + .long 0x00000000,0x3fc6b5ff + .long 0x1ab7837f,0x3e7ecc1f + .long 0x00000000,0x3fc752e1 + .long 0xf9d5827a,0x3e7cea7c + .long 0x00000000,0x3fc7f049 + .long 0x64ccd537,0x3e357f7a + .long 0x00000000,0x3fc8a898 + .long 0xf7c9b05b,0x3e7994ca + .long 0x00000000,0x3fc94724 + .long 0xa2f56536,0x3e524b8f + .long 0x00000000,0x3fc9e63a + .long 0x5edaab42,0x3e7fd640 + .long 0x00000000,0x3fca85d8 + .long 0xd163379a,0x3e625f54 + .long 0x00000000,0x3fcb2602 + .long 0x936acd51,0x3e7ebdc3 + .long 0x00000000,0x3fcbc6b6 + .long 0xcfbc0aa0,0x3e7eee14 + .long 0x00000000,0x3fcc67f7 + .long 0xf73bcdad,0x3e764469 + .long 0x00000000,0x3fcceec4 + .long 0x60971b86,0x3e6eb44e + .long 0x00000000,0x3fcd9109 + .long 0xcd2052a5,0x3e65fcf4 + .long 0x00000000,0x3fce33dd + .long 0xc402867b,0x3e61af1e + .long 0x00000000,0x3fced741 + .long 0xa0c956e4,0x3e61bfbd + .long 0x00000000,0x3fcf7b36 + .long 0x831e77ff,0x3e85287b + .long 0x00000000,0x3fd00223 + .long 0xaddfdee2,0x3e7d2fc3 + .long 0x00000000,0x3fd054a4 + .long 0x342052c1,0x3e83724b + .long 0x00000000,0x3fd0999d + .long 0x602bcd34,0x3e7b4ec9 + .long 0x00000000,0x3fd0eca6 + .long 0x3aa20ead,0x3e6742da + .long 0x00000000,0x3fd13ffa + .long 0x9ecdadf4,0x3e713e82 + .long 0x00000000,0x3fd185a4 + .long 0xfef3031b,0x3e52f27e + .long 0x00000000,0x3fd1cb83 + .long 0x79e4af8a,0x3e710739 + .long 0x00000000,0x3fd21fa1 + .long 0xe59ad84a,0x3e637301 + .long 0x00000000,0x3fd265f5 + .long 0x3d7dfd9b,0x3e88697c + .long 0x00000000,0x3fd2baa0 + .long 0x738117b0,0x3e717788 + .long 0x00000000,0x3fd3016b + .long 0xd3c26a97,0x3e6c5514 + .long 0x00000000,0x3fd3486c + .long 0x4c4ff246,0x3e8df550 + .long 0x00000000,0x3fd38fa3 + .long 0x40340fa6,0x3e88102d + .long 0x00000000,0x3fd3e562 + .long 0x4592f4c3,0x3e5f53b6 + .long 0x00000000,0x3fd42d14 + .long 0x8b149a00,0x3e750fc8 + .long 0x00000000,0x3fd474fd + .long 0xa8f50e5f,0x3e86d01c + .long 0x00000000,0x3fd4bd1e + .long 0x7a22a88a,0x3e83c469 + .long 0x00000000,0x3fd50578 + .long 0xdc18b6d2,0x3e79000e + .long 0x00000000,0x3fd54e0b + .long 0x7c00250b,0x3e7870f0 + .long 0x00000000,0x3fd596d7 + .long 0xc1c885ae,0x3e8e3dd5 + .long 0x00000000,0x3fd5dfdc + .long 0xa6ecc47e,0x3e7bf64c + .long 0x00000000,0x3fd6291c + .long 0x0bc16c18,0x3e6bdaca + .long 0x00000000,0x3fd67296 + .long 0x1f925729,0x3e84d25c + .long 0x00000000,0x3fd6bc4a + .long 0xf23978de,0x3e5a5fb4 + .long 0x00000000,0x3fd7063a + .long 0xe2ac7f60,0x3e8e3da0 + .long 0x00000000,0x3fd75064 + .long 0x71f51a7b,0x3e819e20 + .long 0x00000000,0x3fd79acb + .long 0x5b924234,0x3e5e43ae + .long 0x00000000,0x3fd7d67c + .long 0xe9aedf37,0x3e701a2b + .long 0x00000000,0x3fd8214f + .long 0xeddd33ea,0x3e6b6f51 + .long 0x00000000,0x3fd86c5f + .long 0xe732b3c4,0x3e79375f + .long 0x00000000,0x3fd8b7ac + .long 0xe47cb9df,0x3e7e831b + .long 0x00000000,0x3fd8f416 + .long 0xe392d3c8,0x3e8abc37 + .long 0x00000000,0x3fd93fd2 + .long 0x28b35c77,0x3e80852d + .long 0x00000000,0x3fd98bcd + .long 0xd29cea36,0x3e69f374 + .long 0x00000000,0x3fd9c8c3 + .long 0xb3d7b0e6,0x3e542981 + .long 0x00000000,0x3fda152f + .long 0x1fe6d5ac,0x3e8b2bfb + .long 0x00000000,0x3fda527f + .long 0xf32e5dda,0x3e6f6f5c + .long 0x00000000,0x3fda9f5e + .long 0xd34d0d30,0x3e65abaa + .long 0x00000000,0x3fdadd0b + .long 0xe0ac9602,0x3e7bd47f + .long 0x00000000,0x3fdb2a5d + .long 0x7c5c784b,0x3e833601 + .long 0x00000000,0x3fdb6867 + .long 0xd7b0821f,0x3e5b887c + .long 0x00000000,0x3fdbb62f + .long 0xcd0a8f6a,0x3e83eccc + .long 0x00000000,0x3fdbf497 + .long 0x7500a4e8,0x3e7ba0e6 + .long 0x00000000,0x3fdc332a + .long 0xfc8712bb,0x3e885a8b + .long 0x00000000,0x3fdc819d + .long 0xf7a3a78f,0x3e81c336 + .long 0x00000000,0x3fdcc090 + .long 0x4ad8a38b,0x3e7846b4 + .long 0x00000000,0x3fdcffae + .long 0xfcfc3a99,0x3e7db50f + .long 0x00000000,0x3fdd3ef7 + .long 0x433cccd2,0x3e238809 + .long 0x00000000,0x3fdd8e50 + .long 0x6828fa82,0x3e721b2e + .long 0x00000000,0x3fddcdfb + .long 0xfc7c49c1,0x3e82848b + .long 0x00000000,0x3fde0dd2 + .long 0x1fce4d49,0x3e615144 + .long 0x00000000,0x3fde4dd6 + .long 0x77e2e8fd,0x3e68b88a + .long 0x00000000,0x3fde8e06 + .long 0x22a961b0,0x3e8fd353 + .long 0x00000000,0x3fdece62 + .long 0x266f2e1f,0x3e72854e + .long 0x00000000,0x3fdf1f16 + .long 0xc69211fe,0x3e8520c7 + .long 0x00000000,0x3fdf5fd8 + .long 0xaba878d5,0x3e826fcf + .long 0x00000000,0x3fdfa0c8 + .long 0xcd5b35b1,0x3e726ed8 + .long 0x00000000,0x3fdfe1e6 + .long 0x678a4f1c,0x3e49054d + .long 0x00000000,0x3fe01199 + .long 0x3bc19f18,0x3e5d23cb + .long 0x00000000,0x3fe03256 + .long 0x12772acb,0x3e87af35 + .long 0x00000000,0x3fe0532a + .long 0x2849c88a,0x3e67f5fc + .long 0x00000000,0x3fe07416 + .long 0x0e574fa1,0x3e84fce2 + .long 0x00000000,0x3fe08cd6 + .long 0x0ec2b5fa,0x3e857044 + .long 0x00000000,0x3fe0adeb + .long 0xd031f353,0x3e6d5d1d + .long 0x00000000,0x3fe0cf18 + .long 0xdae75c4d,0x3e99a159 + .long 0x00000000,0x3fe0f05c + .long 0x1553afb9,0x3e90eaf1 + .long 0x00000000,0x3fe111b9 + .long 0xdcc5c3c7,0x3e8bc6f3 + .long 0x00000000,0x3fe1332e + .long 0x1109e597,0x3e94ef84 + .long 0x00000000,0x3fe154bb + .long 0xd82adea4,0x3e937f40 + .long 0x00000000,0x3fe16df5 + .long 0x78336a2f,0x3e96dc5a + .long 0x00000000,0x3fe18fad + .long 0x84c2c804,0x3e90935b + .long 0x00000000,0x3fe1b17e + .long 0x04fd30aa,0x3e8a837a + .long 0x00000000,0x3fe1caeb + .long 0xd924b0ac,0x3e99061d + .long 0x00000000,0x3fe1ece7 + .long 0xef9b9d01,0x3e7ed700 + .long 0x00000000,0x3fe20efd + .long 0x202c81ec,0x3e9c6ebb + .long 0x00000000,0x3fe2289d + .long 0xfc0d7d76,0x3e936d4d + .long 0x00000000,0x3fe24adf + .long 0x9f8756ba,0x3e9a35d7 + .long 0x00000000,0x3fe26d3a + .long 0xe7c79d83,0x3e584ee3 + .long 0x00000000,0x3fe28710 + .long 0x942065a0,0x3e7d9e0d + .long 0x00000000,0x3fe2a998 + .long 0x2175afbf,0x3e872108 + .long 0x00000000,0x3fe2c38f + .long 0xfaf6283c,0x3e9f5809 + .long 0x00000000,0x3fe2e644 + .long 0x411d0507,0x3e871209 + .long 0x00000000,0x3fe3005e + .long 0x370c24bf,0x3e9c3b11 + .long 0x00000000,0x3fe32341 + .long 0x8044bb5a,0x3e9bce8e + .long 0x00000000,0x3fe33d7d + .long 0x698ea854,0x3e98aca0 + .long 0x00000000,0x3fe3608f + .long 0xd4d873bb,0x3e972a8e + .long 0x00000000,0x3fe37aee + .long 0x615e8182,0x3e8f669b + .long 0x00000000,0x3fe39e2f + .long 0xdda5b49a,0x3e98d1f4 + .long 0x00000000,0x3fe3b8b1 + .long 0xe72383f7,0x3e9cc279 + .long 0x00000000,0x3fe3dc21 + .long 0x497497f1,0x3e9c6774 + .long 0x00000000,0x3fe3f6c7 + .long 0x801bd0e6,0x3e82c7f6 + .long 0x00000000,0x3fe4117d + .long 0xd0ee28b4,0x3e9dfdd6 + .long 0x00000000,0x3fe43531 + .long 0xb70d3761,0x3e92d3a2 + .long 0x00000000,0x3fe4500b + .long 0xe7d6bcb2,0x3e9c8343 + .long 0x00000000,0x3fe46af4 + .long 0x90d43957,0x3e693179 + .long 0x00000000,0x3fe48eef + .long 0xf12570df,0x3e799eab + .long 0x00000000,0x3fe4a9fd + .long 0x1b88755d,0x3e78c5f8 + .long 0x00000000,0x3fe4c51b + .long 0xdf99a22c,0x3e7369be + .long 0x00000000,0x3fe4e049 + .long 0x6ed50f62,0x3e88fd93 + .long 0x00000000,0x3fe5049f + .long 0x978605ff,0x3e9c6042 + .long 0x00000000,0x3fe51ff2 + .long 0xe6c85f4c,0x3e930ae6 + .long 0x00000000,0x3fe53b56 + .long 0xc3275ba6,0x3e92e7b6 + .long 0x00000000,0x3fe556ca + .long 0x91597938,0x3e9e6401 + .long 0x00000000,0x3fe5724e + .long 0x448ebb62,0x3e3d2dee + .long 0x00000000,0x3fe59719 + .long 0x47501b6d,0x3e9b432e + .long 0x00000000,0x3fe5b2c3 + .long 0x571fa7cd,0x3e83cf9b + .long 0x00000000,0x3fe5ce7f + .long 0x7359819d,0x3e8dc615 + .long 0x00000000,0x3fe5ea4b + .long 0xc78a85ed,0x3e8973c3 + .long 0x00000000,0x3fe60628 + .long 0xc15a9f3d,0x3e77d788 + .long 0x00000000,0x3fe62216 + .long 0x51952736,0x3e9d2538 + .long 0x00000000,0x3fe63e14 + .long 0xde792c07,0x3e94dab9 + .long 0x00000000,0x3fe65a24 + .long 0x5bfa4318,0x3e8f5be1 + .long 0x00000000,0x3fe67645 + .long 0x55090ec8,0x3e903b26 + .long 0x00000000,0x3fe69277 + .long 0xc78b6175,0x3e99236f + .long 0x00000000,0x3fe6aeba + .long 0x3a80db6a,0x3e8a1972 + .long 0x00000000,0x3fe6cb0f + .long 0xf558aa96,0x3e8d43a2 + .long 0x00000000,0x3fe6e775 + .long 0xd9a82f2e,0x3e424ee3 + .long 0x00000000,0x3fe703ed + .long 0x583878f6,0x3e764d8e + .long 0x00000000,0x3fe72076 + .long 0xc1150a3e,0x3e379604 + .long 0x00000000,0x3fe73d11 + .long 0xed85584b,0x3e93b229 + .long 0x00000000,0x3fe759bd + .long 0x451a7b48,0x3e62967a + .long 0x00000000,0x3fe7767c + .long 0xc044e72d,0x3e8e12d7 + .long 0x00000000,0x3fe7934c + .long 0xfdfb6949,0x3e9ca45d + .long 0x00000000,0x3fe7b02e + .long 0xff690fce,0x3e9244fc + .long 0x00000000,0x3fe7c37a + .long 0x81487a2c,0x3e7e9cea + .long 0x00000000,0x3fe7e07b + .long 0xd0ad2d9a,0x3e760da0 + .long 0x00000000,0x3fe7fd8e + .long 0x096f45d9,0x3e8d7703 + .long 0x00000000,0x3fe81ab3 + .long 0x1b17115b,0x3e78dbee + .long 0x00000000,0x3fe837eb + .long 0x7c252ee0,0x3e8dc5a4 + .long 0x00000000,0x3fe85535 + .long 0x42d5123f,0x3e950116 + .long 0x00000000,0x3fe868c6 + .long 0xf11e41be,0x3e4c4eb7 + .long 0x00000000,0x3fe88630 + .long 0xdb2890b4,0x3e7773b8 + .long 0x00000000,0x3fe8a3ac + .long 0x7ffb4479,0x3e7bc8e7 + .long 0x00000000,0x3fe8c13b + .long 0x237693b3,0x3e8c388f + .long 0x00000000,0x3fe8d4fa + .long 0x45fcf1a0,0x3e731cd4 + .long 0x00000000,0x3fe8f2a9 + .long 0xe4895b91,0x3e9fae07 + .long 0x00000000,0x3fe9106a + .long 0x42d2824e,0x3e7d140d + .long 0x00000000,0x3fe9244c + .long 0x39900f67,0x3e75c3c8 + .long 0x00000000,0x3fe9422e + .long 0xa314252b,0x3e902422 + .long 0x00000000,0x3fe96023 + .long 0xf2a6b8ef,0x3e7b9be8 + .long 0x00000000,0x3fe97427 + .long 0x1476f5e9,0x3e66b188 + .long 0x00000000,0x3fe9923d + .long 0xdde10a6f,0x3e93c377 + .long 0x00000000,0x3fe9b066 + .long 0x4944a32c,0x3e817cad + .long 0x00000000,0x3fe9c48d + .long 0xc738e7ef,0x3e9927f2 + .long 0x00000000,0x3fe9e2d7 + .long 0xd25cfd94,0x3e7ccc41 + .long 0x00000000,0x3fea0136 + .long 0x2210e81b,0x3e8382fa + .long 0x00000000,0x3fea1580 + .long 0x1e690ce2,0x3e7752a7 + .long 0x00000000,0x3fea3400 + .long 0x122315d2,0x3e94cfee + .long 0x00000000,0x3fea4860 + .long 0xce98333b,0x3e80536e + .long 0x00000000,0x3fea6702 + .long 0xc30f00e9,0x3e838b7e + .long 0x00000000,0x3fea7b79 + .long 0x05b0c779,0x3e9dc380 + .long 0x00000000,0x3fea9a3c + .long 0xdd6dd3fe,0x3e6be168 + .long 0x00000000,0x3feab915 + .long 0x26e0d276,0x3e966757 + .long 0x00000000,0x3feacdb0 + .long 0x0aad615c,0x3e880252 + .long 0x00000000,0x3feaecab + .long 0x7927096a,0x3e607c31 + .long 0x00000000,0x3feb015e + .long 0x53b3d90e,0x3e596513 + .long 0x00000000,0x3feb161a + .long 0x8f2f0570,0x3e90ec3a + .long 0x00000000,0x3feb3545 + .long 0x81193954,0x3e9cb640 + .long 0x00000000,0x3feb4a18 + .long 0x311e7236,0x3e936479 + .long 0x00000000,0x3feb6967 + .long 0x3a42a413,0x3e9210e8 + .long 0x00000000,0x3feb7e52 + .long 0x4a0daeb2,0x3e9a1717 + .long 0x00000000,0x3feb9dc4 + .long 0xce900653,0x3e925bb7 + .long 0x00000000,0x3febb2c7 + .long 0xb5087588,0x3e95dbb8 + .long 0x00000000,0x3febd25d + .long 0x4a41204c,0x3e8d0aa9 + .long 0x00000000,0x3febe778 + .long 0x69a0d774,0x3e9c772f + .long 0x00000000,0x3febfc9c + .long 0x79d0a9a5,0x3e97b6a0 + .long 0x00000000,0x3fec1c65 + .long 0xd26f1a12,0x3e8f7402 + .long 0x00000000,0x3fec31a2 + .long 0x1243bc84,0x3e4db2f1 + .long 0x00000000,0x3fec46e9 + .long 0x477e1755,0x3e80dcc2 + .long 0x00000000,0x3fec66e5 + .long 0xc2f904c1,0x3e8b1e31 + .long 0x00000000,0x3fec7c44 + .long 0x1785b0c4,0x3e8fb619 + .long 0x00000000,0x3fec91ad + .long 0xedb052ef,0x3e98832d + .long 0x00000000,0x3fecb1dd + .long 0x9e373618,0x3e98c822 + .long 0x00000000,0x3fecc75f + .long 0x32954637,0x3e9a46e7 + .long 0x00000000,0x3fecdceb + .long 0xf0e6b2a9,0x3e996305 + .long 0x00000000,0x3fecfd50 + .long 0x1a6614ee,0x3e68c160 + .long 0x00000000,0x3fed12f6 + .long 0x09e33b28,0x3e9229c4 + .long 0x00000000,0x3fed28a5 + .long 0xe53b994c,0x3e7f281b + .long 0x00000000,0x3fed3e5f + .long 0x1124ac35,0x3e9f27f3 + .long 0x00000000,0x3fed5f08 + .long 0x3d2fdc03,0x3e84e779 + .long 0x00000000,0x3fed74dc + .long 0x1e93fd97,0x3e416c07 + .long 0x00000000,0x3fed8aba + .long 0x91b415ef,0x3e654669 + .long 0x00000000,0x3feda0a2 + .long 0x6495f594,0x3e9712d4 + .long 0x00000000,0x3fedc191 + .long 0x40171789,0x3e9ca7b2 + .long 0x00000000,0x3fedd793 + .long 0xe8fc4323,0x3e929afa + .long 0x00000000,0x3fededa0 + .long 0xeb03bd09,0x3e9a2e96 + .long 0x00000000,0x3fee03b7 + .long 0xca370ea2,0x3e94a63d + .long 0x00000000,0x3fee19d9 + .long 0xe30512ec,0x3e6a3bcb + .long 0x00000000,0x3fee3006 + .long 0x411c95ce,0x3e99d3ed + .long 0x00000000,0x3fee515c + .long 0x35cfaf8e,0x3e3e5b57 + .long 0x00000000,0x3fee67a4 + .long 0x5669df6a,0x3e9fca71 + .long 0x00000000,0x3fee7df5 + .long 0x04f19d94,0x3e9914e2 + .long 0x00000000,0x3fee9452 + .long 0xcaa19134,0x3e8b511c + .long 0x00000000,0x3feeaaba + .long 0x4bb3bfb1,0x3e9ed72f + .long 0x00000000,0x3feec12c + .long 0x3c29d75e,0x3e8be8d6 + .long 0x00000000,0x3feed7aa + .long 0x97da24fd,0x3e9c55d9 + .long 0x00000000,0x3feeee32 + .long 0x983c68ea,0x3e7ddfb1 + .long 0x00000000,0x3fef1014 + .long 0xf4425883,0x3e83ce66 + .long 0x00000000,0x3fef26b8 + .long 0xf7857f23,0x3e9055c3 + .long 0x00000000,0x3fef3d67 + .long 0x2805b525,0x3e9c2223 + .long 0x00000000,0x3fef5421 + .long 0x0c347fcf,0x3e8d59ba + .long 0x00000000,0x3fef6ae7 + .long 0x7c901c44,0x3e82b110 + .long 0x00000000,0x3fef81b8 + .long 0x74d1b482,0x3e8b1394 + .long 0x00000000,0x3fef9894 + .long 0x36fb9eb2,0x3e9ca75b + .long 0x00000000,0x3fefaf7b + .long 0x629b1b7e,0x3e981a0a + .long 0x00000000,0x3fefc66e + .long 0x7b8c1116,0x3e54cc20 + .long 0x00000000,0x3fefdd6d + .long 0xc0babe05,0x3e99ac8b + .long 0x00000000,0x3feff476 + .type __dlog2_la___libm_log2_table_256,@object + .size __dlog2_la___libm_log2_table_256,4096 + .space 512, 0x00 + .align 64 + +__dlog2_la__P: + .long 3213235158 + .long 1050233568 + .long 1697350398 + .long 3219592519 + .long 3694740707 + .long 1071564553 + .long 1697260025 + .long 3218543943 + .long 2542794428 + .long 1070757746 + .long 2165113687 + .long 3217999640 + .long 0 + .long 1073157447 + .type __dlog2_la__P,@object + .size __dlog2_la__P,56 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core-avx2.S new file mode 100644 index 0000000000..234bf4750b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized log2f. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_log2f _ZGVeN16v_log2f_avx2_wrapper +#include "../svml_s_log2f16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core.c new file mode 100644 index 0000000000..abf4f04988 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized log2f, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_log2f +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_log2f, __GI__ZGVeN16v_log2f, + __redirect__ZGVeN16v_log2f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core_avx512.S new file mode 100644 index 0000000000..ff71272cd3 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core_avx512.S @@ -0,0 +1,697 @@ +/* Function logf16 vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log2(x) = k - log2(Rcp) + poly_approximation(R) + * log2(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_log2f_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vgetmantps $11, {sae}, %zmm0, %zmm3 + vmovups __svml_slog2_data_internal_avx512(%rip), %zmm1 + vgetexpps {sae}, %zmm0, %zmm5 + +/* x<=0? */ + vfpclassps $94, %zmm0, %k0 + vsubps {rn-sae}, %zmm1, %zmm3, %zmm9 + vpsrld $19, %zmm3, %zmm7 + vgetexpps {sae}, %zmm3, %zmm6 + vpermps 64+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm1 + vpermps 128+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm2 + vpermps 192+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm4 + vpermps 256+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm8 + vsubps {rn-sae}, %zmm6, %zmm5, %zmm10 + vfmadd213ps {rn-sae}, %zmm2, %zmm9, %zmm1 + kmovw %k0, %edx + vfmadd213ps {rn-sae}, %zmm4, %zmm9, %zmm1 + vfmadd213ps {rn-sae}, %zmm8, %zmm9, %zmm1 + vfmadd213ps {rn-sae}, %zmm10, %zmm9, %zmm1 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovaps %zmm1, %zmm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + vmovups %zmm0, 64(%rsp) + vmovups %zmm1, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + kmovw %k4, 24(%rsp) + kmovw %k5, 16(%rsp) + kmovw %k6, 8(%rsp) + kmovw %k7, (%rsp) + movq %rsi, 40(%rsp) + movq %rdi, 32(%rsp) + movq %r12, 56(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 48(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $16, %r12d + jl .LBL_1_7 + kmovw 24(%rsp), %k4 + cfi_restore(122) + kmovw 16(%rsp), %k5 + cfi_restore(123) + kmovw 8(%rsp), %k6 + cfi_restore(124) + kmovw (%rsp), %k7 + cfi_restore(125) + vmovups 128(%rsp), %zmm1 + movq 40(%rsp), %rsi + cfi_restore(4) + movq 32(%rsp), %rdi + cfi_restore(5) + movq 56(%rsp), %r12 + cfi_restore(12) + movq 48(%rsp), %r13 + cfi_restore(13) + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_slog2_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN16v_log2f_skx) + + .align 16,0x90 + +__svml_slog2_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_13 + movss (%rdi), %xmm2 + xorl %ecx, %ecx + pxor %xmm1, %xmm1 + movss %xmm2, -16(%rsp) + ucomiss %xmm1, %xmm2 + jp .LBL_2_3 + je .LBL_2_5 + +.LBL_2_3: + movzwl -14(%rsp), %edx + testl $32640, %edx + jne .LBL_2_5 + movss .FLT_76(%rip), %xmm0 + movl $-27, %ecx + mulss %xmm0, %xmm2 + movss %xmm2, -16(%rsp) + +.LBL_2_5: + comiss %xmm1, %xmm2 + jbe .LBL_2_9 + movaps %xmm2, %xmm1 + subss .FLT_90(%rip), %xmm1 + movss %xmm1, -20(%rsp) + andb $127, -17(%rsp) + movss -20(%rsp), %xmm0 + comiss .FLT_77(%rip), %xmm0 + jbe .LBL_2_8 + movzwl -14(%rsp), %edx + pxor %xmm8, %xmm8 + andl $32640, %edx + lea __slog2_la_CoutTab(%rip), %r10 + shrl $7, %edx + movss %xmm2, -20(%rsp) + movss .FLT_79(%rip), %xmm2 + movaps %xmm2, %xmm1 + movss .FLT_88(%rip), %xmm6 + lea -127(%rcx,%rdx), %r9d + movzwl -18(%rsp), %ecx + andl $-32641, %ecx + addl $16256, %ecx + movw %cx, -18(%rsp) + movss -20(%rsp), %xmm3 + movaps %xmm3, %xmm0 + addss %xmm3, %xmm1 + addss .FLT_78(%rip), %xmm0 + cvtsi2ss %r9d, %xmm8 + movss %xmm0, -24(%rsp) + movl -24(%rsp), %edi + movss %xmm1, -24(%rsp) + andl $127, %edi + movss -24(%rsp), %xmm7 + subss %xmm2, %xmm7 + lea (%rdi,%rdi,2), %r8d + movss (%r10,%r8,4), %xmm5 + subss %xmm7, %xmm3 + addss 4(%r10,%r8,4), %xmm8 + mulss %xmm5, %xmm7 + mulss %xmm3, %xmm5 + subss .FLT_80(%rip), %xmm7 + movaps %xmm7, %xmm4 + addss %xmm7, %xmm8 + addss %xmm5, %xmm4 + mulss %xmm4, %xmm6 + addss .FLT_87(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_86(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_85(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_84(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_83(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_82(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_81(%rip), %xmm6 + mulss %xmm6, %xmm7 + mulss %xmm5, %xmm6 + addss 8(%r10,%r8,4), %xmm6 + addss %xmm5, %xmm6 + addss %xmm6, %xmm7 + addss %xmm7, %xmm8 + movss %xmm8, (%rsi) + ret + +.LBL_2_8: + movss .FLT_80(%rip), %xmm0 + mulss %xmm0, %xmm1 + movss .FLT_88(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_87(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_86(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_85(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_84(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_83(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_82(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_81(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss %xmm1, %xmm2 + movss %xmm2, (%rsi) + ret + +.LBL_2_9: + ucomiss %xmm1, %xmm2 + jp .LBL_2_10 + je .LBL_2_12 + +.LBL_2_10: + divss %xmm1, %xmm1 + movss %xmm1, (%rsi) + movl $1, %eax + ret + +.LBL_2_12: + movss .FLT_89(%rip), %xmm0 + movl $2, %eax + divss %xmm1, %xmm0 + movss %xmm0, (%rsi) + ret + +.LBL_2_13: + movb 3(%rdi), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_15 + +.LBL_2_14: + movss (%rdi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%rsi) + ret + +.LBL_2_15: + testl $8388607, (%rdi) + jne .LBL_2_14 + movl $1, %eax + pxor %xmm1, %xmm1 + pxor %xmm0, %xmm0 + divss %xmm0, %xmm1 + movss %xmm1, (%rsi) + ret + + cfi_endproc + + .type __svml_slog2_cout_rare_internal,@function + .size __svml_slog2_cout_rare_internal,.-__svml_slog2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_slog2_data_internal_avx512: + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 3198647882 + .long 3196759613 + .long 3194486322 + .long 3192115638 + .long 3190203785 + .long 3188646043 + .long 3187058849 + .long 3184933705 + .long 3210235473 + .long 3208544417 + .long 3207107312 + .long 3205878647 + .long 3204822309 + .long 3203370544 + .long 3201784975 + .long 3200401796 + .long 1056280844 + .long 1055933857 + .long 1055381630 + .long 1054718852 + .long 1054004959 + .long 1053277138 + .long 1052558383 + .long 1051862550 + .long 1049572249 + .long 1051796030 + .long 1053416266 + .long 1054571017 + .long 1055365658 + .long 1055881163 + .long 1056180132 + .long 1056311220 + .long 3208161588 + .long 3208150502 + .long 3208115952 + .long 3208053899 + .long 3207964810 + .long 3207851268 + .long 3207716694 + .long 3207564674 + .long 3208734740 + .long 3208490840 + .long 3208338440 + .long 3208247850 + .long 3208197907 + .long 3208173537 + .long 3208164045 + .long 3208161890 + .long 1069066811 + .long 1069066688 + .long 1069065960 + .long 1069064014 + .long 1069060299 + .long 1069054385 + .long 1069045976 + .long 1069034896 + .long 1069049182 + .long 1069058106 + .long 1069062890 + .long 1069065263 + .long 1069066312 + .long 1069066697 + .long 1069066799 + .long 1069066811 + .type __svml_slog2_data_internal_avx512,@object + .size __svml_slog2_data_internal_avx512,320 + .align 32 + +__slog2_la_CoutTab: + .long 1136175680 + .long 0 + .long 0 + .long 1135986583 + .long 1018822656 + .long 930849160 + .long 1135809305 + .long 1026916352 + .long 941737263 + .long 1135632026 + .long 1032306688 + .long 936581683 + .long 1135466566 + .long 1035100160 + .long 929197062 + .long 1135301106 + .long 1037934592 + .long 897678483 + .long 1135135647 + .long 1040498688 + .long 3059980496 + .long 1134982005 + .long 1041852416 + .long 908010313 + .long 1134828364 + .long 1043226624 + .long 3073739761 + .long 1134686541 + .long 1044510720 + .long 918631281 + .long 1134538809 + .long 1045868544 + .long 3062817788 + .long 1134402896 + .long 1047134208 + .long 3064656237 + .long 1134266982 + .long 1048416256 + .long 3029590737 + .long 1134131069 + .long 1049145856 + .long 903671587 + .long 1134001065 + .long 1049775616 + .long 911388989 + .long 1133876970 + .long 1050384896 + .long 3069885983 + .long 1133752875 + .long 1051001344 + .long 3037530952 + .long 1133634689 + .long 1051596288 + .long 3069922038 + .long 1133516503 + .long 1052198400 + .long 3070222063 + .long 1133404227 + .long 1052776960 + .long 919559368 + .long 1133291951 + .long 1053363200 + .long 840060372 + .long 1133185584 + .long 1053924864 + .long 915603033 + .long 1133079217 + .long 1054493184 + .long 921334924 + .long 1132978759 + .long 1055036416 + .long 896601826 + .long 1132872392 + .long 1055618048 + .long 908913293 + .long 1132777843 + .long 1056141312 + .long 3065728751 + .long 1132677386 + .long 1056702976 + .long 909020429 + .long 1132582837 + .long 1057101312 + .long 3048020321 + .long 1132494198 + .long 1057354752 + .long 3038815896 + .long 1132337219 + .long 1057628160 + .long 3068137421 + .long 1132159940 + .long 1057887232 + .long 3069993595 + .long 1131994480 + .long 1058131456 + .long 3054354312 + .long 1131817202 + .long 1058395904 + .long 910223436 + .long 1131651742 + .long 1058645504 + .long 3046952660 + .long 1131486282 + .long 1058897664 + .long 3057670844 + .long 1131332641 + .long 1059133952 + .long 924929721 + .long 1131178999 + .long 1059373056 + .long 3068093797 + .long 1131025358 + .long 1059614208 + .long 3058851683 + .long 1130871717 + .long 1059857920 + .long 3069897752 + .long 1130729894 + .long 1060084736 + .long 924446297 + .long 1130576253 + .long 1060333312 + .long 903058075 + .long 1130434430 + .long 1060564992 + .long 3052757441 + .long 1130304426 + .long 1060779264 + .long 3045479197 + .long 1130162603 + .long 1061015040 + .long 924699798 + .long 1130032599 + .long 1061233664 + .long 3070937808 + .long 1129890776 + .long 1061473792 + .long 925912756 + .long 1129772591 + .long 1061676032 + .long 923952205 + .long 1129642586 + .long 1061900544 + .long 906547304 + .long 1129512582 + .long 1062127104 + .long 3050351427 + .long 1129394397 + .long 1062334976 + .long 3070601694 + .long 1129276211 + .long 1062544384 + .long 900519722 + .long 1129158025 + .long 1062755840 + .long 3055774932 + .long 1129039840 + .long 1062969088 + .long 3053661845 + .long 1128921654 + .long 1063184384 + .long 3073448373 + .long 1128815287 + .long 1063379456 + .long 907090876 + .long 1128697101 + .long 1063598336 + .long 881051555 + .long 1128590734 + .long 1063796992 + .long 898320955 + .long 1128484367 + .long 1063997440 + .long 3068804107 + .long 1128378000 + .long 1064199168 + .long 923531617 + .long 1128283452 + .long 1064380416 + .long 3070994608 + .long 1128177085 + .long 1064585472 + .long 901920533 + .long 1128082536 + .long 1064769536 + .long 3071653428 + .long 1127976169 + .long 1064977920 + .long 903017594 + .long 1127881621 + .long 1065164800 + .long 911713416 + .long 1127787072 + .long 1065353216 + .long 0 + .long 1065353216 + .long 0 + .long 1207959616 + .long 1174405120 + .long 1002438656 + .long 1291845632 + .long 0 + .long 1065353216 + .long 1136175680 + .long 3212771328 + .long 3065082383 + .long 841219731 + .long 2913632803 + .long 691870088 + .long 2765780188 + .long 545377693 + .long 2619180638 + .type __slog2_la_CoutTab,@object + .size __slog2_la_CoutTab,848 + .align 4 + +.FLT_76: + .long 0x4d000000 + .type .FLT_76,@object + .size .FLT_76,4 + .align 4 + +.FLT_77: + .long 0x3bc00000 + .type .FLT_77,@object + .size .FLT_77,4 + .align 4 + +.FLT_78: + .long 0x48000040 + .type .FLT_78,@object + .size .FLT_78,4 + .align 4 + +.FLT_79: + .long 0x46000000 + .type .FLT_79,@object + .size .FLT_79,4 + .align 4 + +.FLT_80: + .long 0x43b8aa40 + .type .FLT_80,@object + .size .FLT_80,4 + .align 4 + +.FLT_81: + .long 0xbf7f0000 + .type .FLT_81,@object + .size .FLT_81,4 + .align 4 + +.FLT_82: + .long 0xb6b1720f + .type .FLT_82,@object + .size .FLT_82,4 + .align 4 + +.FLT_83: + .long 0x3223fe93 + .type .FLT_83,@object + .size .FLT_83,4 + .align 4 + +.FLT_84: + .long 0xadaa8223 + .type .FLT_84,@object + .size .FLT_84,4 + .align 4 + +.FLT_85: + .long 0x293d1988 + .type .FLT_85,@object + .size .FLT_85,4 + .align 4 + +.FLT_86: + .long 0xa4da74dc + .type .FLT_86,@object + .size .FLT_86,4 + .align 4 + +.FLT_87: + .long 0x2081cd9d + .type .FLT_87,@object + .size .FLT_87,4 + .align 4 + +.FLT_88: + .long 0x9c1d865e + .type .FLT_88,@object + .size .FLT_88,4 + .align 4 + +.FLT_89: + .long 0xbf800000 + .type .FLT_89,@object + .size .FLT_89,4 + .align 4 + +.FLT_90: + .long 0x3f800000 + .type .FLT_90,@object + .size .FLT_90,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core-sse2.S new file mode 100644 index 0000000000..dd0e763ac9 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized log2f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_log2f _ZGVbN4v_log2f_sse2 +#include "../svml_s_log2f4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core.c new file mode 100644 index 0000000000..1eb68d9f52 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized log2f, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_log2f +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_log2f, __GI__ZGVbN4v_log2f, + __redirect__ZGVbN4v_log2f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core_sse4.S new file mode 100644 index 0000000000..5ad661f63a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core_sse4.S @@ -0,0 +1,1795 @@ +/* Function logf4 vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log2(x) = k - log2(Rcp) + poly_approximation(R) + * log2(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_log2f_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm2 + +/* reduction: compute r,n */ + movdqu 1536+__svml_slog2_data_internal(%rip), %xmm4 + movaps %xmm2, %xmm3 + movdqu 1600+__svml_slog2_data_internal(%rip), %xmm1 + psubd %xmm4, %xmm3 + pand %xmm3, %xmm1 + movaps %xmm2, %xmm6 + paddd %xmm4, %xmm1 + movaps %xmm2, %xmm5 + cmpltps 1280+__svml_slog2_data_internal(%rip), %xmm6 + cmpnleps 1344+__svml_slog2_data_internal(%rip), %xmm5 + subps 1664+__svml_slog2_data_internal(%rip), %xmm1 + movups 1728+__svml_slog2_data_internal(%rip), %xmm7 + psrad $23, %xmm3 + mulps %xmm1, %xmm7 + orps %xmm5, %xmm6 + cvtdq2ps %xmm3, %xmm0 + +/* combine and get argument value range mask */ + movmskps %xmm6, %edx + addps 1744+__svml_slog2_data_internal(%rip), %xmm7 + movups 1760+__svml_slog2_data_internal(%rip), %xmm3 + movaps %xmm1, %xmm5 + mulps %xmm1, %xmm3 + mulps %xmm1, %xmm5 + addps 1776+__svml_slog2_data_internal(%rip), %xmm3 + mulps %xmm5, %xmm7 + movups 1792+__svml_slog2_data_internal(%rip), %xmm4 + addps %xmm7, %xmm3 + mulps %xmm1, %xmm4 + mulps %xmm5, %xmm3 + addps 1808+__svml_slog2_data_internal(%rip), %xmm4 + movups 1824+__svml_slog2_data_internal(%rip), %xmm6 + addps %xmm3, %xmm4 + mulps %xmm1, %xmm6 + mulps %xmm4, %xmm5 + addps 1840+__svml_slog2_data_internal(%rip), %xmm6 + addps %xmm5, %xmm6 + mulps %xmm1, %xmm6 + addps 1856+__svml_slog2_data_internal(%rip), %xmm6 + mulps %xmm6, %xmm1 + addps %xmm1, %xmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm2, 192(%rsp) + movups %xmm0, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_slog2_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_log2f_sse4) + + .align 16,0x90 + +__svml_slog2_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_13 + movss (%rdi), %xmm2 + xorl %ecx, %ecx + pxor %xmm1, %xmm1 + movss %xmm2, -16(%rsp) + ucomiss %xmm1, %xmm2 + jp .LBL_2_3 + je .LBL_2_5 + +.LBL_2_3: + movzwl -14(%rsp), %edx + testl $32640, %edx + jne .LBL_2_5 + movss .FLT_81(%rip), %xmm0 + movl $-27, %ecx + mulss %xmm0, %xmm2 + movss %xmm2, -16(%rsp) + +.LBL_2_5: + comiss %xmm1, %xmm2 + jbe .LBL_2_9 + movaps %xmm2, %xmm1 + subss .FLT_95(%rip), %xmm1 + movss %xmm1, -20(%rsp) + andb $127, -17(%rsp) + movss -20(%rsp), %xmm0 + comiss .FLT_82(%rip), %xmm0 + jbe .LBL_2_8 + movzwl -14(%rsp), %edx + pxor %xmm8, %xmm8 + andl $32640, %edx + lea __slog2_la_CoutTab(%rip), %r10 + shrl $7, %edx + movss %xmm2, -20(%rsp) + movss .FLT_84(%rip), %xmm2 + movaps %xmm2, %xmm1 + movss .FLT_93(%rip), %xmm6 + lea -127(%rcx,%rdx), %r9d + movzwl -18(%rsp), %ecx + andl $-32641, %ecx + addl $16256, %ecx + movw %cx, -18(%rsp) + movss -20(%rsp), %xmm3 + movaps %xmm3, %xmm0 + addss %xmm3, %xmm1 + addss .FLT_83(%rip), %xmm0 + cvtsi2ss %r9d, %xmm8 + movss %xmm0, -24(%rsp) + movl -24(%rsp), %edi + movss %xmm1, -24(%rsp) + andl $127, %edi + movss -24(%rsp), %xmm7 + subss %xmm2, %xmm7 + lea (%rdi,%rdi,2), %r8d + movss (%r10,%r8,4), %xmm5 + subss %xmm7, %xmm3 + addss 4(%r10,%r8,4), %xmm8 + mulss %xmm5, %xmm7 + mulss %xmm3, %xmm5 + subss .FLT_85(%rip), %xmm7 + movaps %xmm7, %xmm4 + addss %xmm7, %xmm8 + addss %xmm5, %xmm4 + mulss %xmm4, %xmm6 + addss .FLT_92(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_91(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_90(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_89(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_88(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_87(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_86(%rip), %xmm6 + mulss %xmm6, %xmm7 + mulss %xmm5, %xmm6 + addss 8(%r10,%r8,4), %xmm6 + addss %xmm5, %xmm6 + addss %xmm6, %xmm7 + addss %xmm7, %xmm8 + movss %xmm8, (%rsi) + ret + +.LBL_2_8: + movss .FLT_85(%rip), %xmm0 + mulss %xmm0, %xmm1 + movss .FLT_93(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_92(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_91(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_90(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_89(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_88(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_87(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_86(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss %xmm1, %xmm2 + movss %xmm2, (%rsi) + ret + +.LBL_2_9: + ucomiss %xmm1, %xmm2 + jp .LBL_2_10 + je .LBL_2_12 + +.LBL_2_10: + divss %xmm1, %xmm1 + movss %xmm1, (%rsi) + movl $1, %eax + ret + +.LBL_2_12: + movss .FLT_94(%rip), %xmm0 + movl $2, %eax + divss %xmm1, %xmm0 + movss %xmm0, (%rsi) + ret + +.LBL_2_13: + movb 3(%rdi), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_15 + +.LBL_2_14: + movss (%rdi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%rsi) + ret + +.LBL_2_15: + testl $8388607, (%rdi) + jne .LBL_2_14 + movl $1, %eax + pxor %xmm1, %xmm1 + pxor %xmm0, %xmm0 + divss %xmm0, %xmm1 + movss %xmm1, (%rsi) + ret + + cfi_endproc + + .type __svml_slog2_cout_rare_internal,@function + .size __svml_slog2_cout_rare_internal,.-__svml_slog2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_slog2_data_internal: + .long 3271294976 + .long 0 + .long 3271296000 + .long 3068856281 + .long 3271297024 + .long 938219729 + .long 3271298032 + .long 3079617137 + .long 3271299040 + .long 3081795326 + .long 3271300048 + .long 931444511 + .long 3271301040 + .long 3086175556 + .long 3271302040 + .long 937684290 + .long 3271303024 + .long 895273824 + .long 3271304008 + .long 929322840 + .long 3271304984 + .long 914973210 + .long 3271305952 + .long 3085691485 + .long 3271306920 + .long 3082544936 + .long 3271307888 + .long 934225115 + .long 3271308840 + .long 3081631497 + .long 3271309792 + .long 3084279599 + .long 3271310744 + .long 919294098 + .long 3271311688 + .long 928328979 + .long 3271312624 + .long 3066585895 + .long 3271313560 + .long 926130568 + .long 3271314488 + .long 901156711 + .long 3271315416 + .long 937414789 + .long 3271316336 + .long 936653537 + .long 3271317248 + .long 3058814943 + .long 3271318160 + .long 906908118 + .long 3271319064 + .long 3081401871 + .long 3271319968 + .long 3072543999 + .long 3271320864 + .long 3085330685 + .long 3271321760 + .long 3075910590 + .long 3271322648 + .long 3085106206 + .long 3271323536 + .long 3072312054 + .long 3271324416 + .long 3082060466 + .long 3271325296 + .long 3055197447 + .long 3271326168 + .long 3076357858 + .long 3271327040 + .long 920345845 + .long 3271327904 + .long 3063129936 + .long 3271328768 + .long 930567858 + .long 3271329624 + .long 909272754 + .long 3271330480 + .long 933804198 + .long 3271331328 + .long 918737494 + .long 3271332176 + .long 934022681 + .long 3271333016 + .long 910479685 + .long 3271333856 + .long 929589825 + .long 3271334688 + .long 3070655175 + .long 3271335520 + .long 3053267575 + .long 3271336344 + .long 3086194926 + .long 3271337168 + .long 3085997978 + .long 3271337992 + .long 3045913777 + .long 3271338808 + .long 3069765616 + .long 3271339624 + .long 928672192 + .long 3271340432 + .long 3045522449 + .long 3271341240 + .long 926802639 + .long 3271342040 + .long 3074232411 + .long 3271342840 + .long 3070586333 + .long 3271343640 + .long 934318260 + .long 3271344432 + .long 930283614 + .long 3271345216 + .long 3085545791 + .long 3271346008 + .long 931477852 + .long 3271346792 + .long 935625357 + .long 3271347568 + .long 3065394803 + .long 3271348344 + .long 3072676686 + .long 3271349120 + .long 925303420 + .long 3271349888 + .long 3069367164 + .long 3271350656 + .long 3038632180 + .long 3271351424 + .long 939079119 + .long 3271352184 + .long 935075887 + .long 3271352936 + .long 3082666870 + .long 3271353696 + .long 931789803 + .long 3271354448 + .long 932303901 + .long 3271355192 + .long 3081224294 + .long 3271355944 + .long 937147770 + .long 3271356680 + .long 3085250212 + .long 3271357424 + .long 908073671 + .long 3271358896 + .long 918282152 + .long 3271360352 + .long 3084832095 + .long 3271361808 + .long 937397780 + .long 3271363240 + .long 3080772107 + .long 3271364672 + .long 932533526 + .long 3271366088 + .long 930047759 + .long 3271367496 + .long 939267269 + .long 3271368888 + .long 910438307 + .long 3271370272 + .long 3069366057 + .long 3271371648 + .long 3050426335 + .long 3271373016 + .long 933100185 + .long 3271374368 + .long 3070825219 + .long 3271375712 + .long 3082654716 + .long 3271377048 + .long 3084246816 + .long 3271378376 + .long 3080058411 + .long 3271379696 + .long 3041317981 + .long 3271381008 + .long 936455786 + .long 3271382304 + .long 3057542833 + .long 3271383592 + .long 3083404326 + .long 3271384880 + .long 934663588 + .long 3271386152 + .long 926575359 + .long 3271387416 + .long 915856538 + .long 3271388672 + .long 897695912 + .long 3271389920 + .long 3031263839 + .long 3271391160 + .long 3025798075 + .long 3271392392 + .long 889828954 + .long 3271393616 + .long 898229073 + .long 3271394832 + .long 890611612 + .long 3271396040 + .long 3051312165 + .long 3271397240 + .long 3067504579 + .long 3271398432 + .long 3077629370 + .long 3271399616 + .long 3084686401 + .long 3271400800 + .long 932711104 + .long 3271401968 + .long 3061957243 + .long 3271403136 + .long 938752650 + .long 3271404288 + .long 3065929605 + .long 3271405440 + .long 928849078 + .long 3271406584 + .long 935935277 + .long 3271407720 + .long 937106840 + .long 3271408848 + .long 933163291 + .long 3271409968 + .long 905515466 + .long 3271411080 + .long 3084390822 + .long 3271412192 + .long 3060235563 + .long 3271413296 + .long 921719712 + .long 3271414392 + .long 918076967 + .long 3271415480 + .long 3071716852 + .long 3271416568 + .long 936042212 + .long 3271417640 + .long 3079912717 + .long 3271418712 + .long 3075951191 + .long 3271419776 + .long 3082895478 + .long 3271420840 + .long 927873550 + .long 3271421888 + .long 3086405181 + .long 3271422936 + .long 3084857775 + .long 3271423984 + .long 933876987 + .long 3271425016 + .long 3074395466 + .long 3271426048 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1042663530 + .long 1042663530 + .long 1042663530 + .long 1042663530 + .long 3199384460 + .long 3199384460 + .long 3199384460 + .long 3199384460 + .long 996988896 + .long 996988896 + .long 996988896 + .long 996988896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1006632960 + .long 1006632960 + .long 1006632960 + .long 1006632960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1069023232 + .long 1069023232 + .long 1069023232 + .long 1069023232 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1045774354 + .long 1045774354 + .long 1045774354 + .long 1045774354 + .long 3194195476 + .long 3194195476 + .long 3194195476 + .long 3194195476 + .long 1045259787 + .long 1045259787 + .long 1045259787 + .long 1045259787 + .long 3195172900 + .long 3195172900 + .long 3195172900 + .long 3195172900 + .long 1049877767 + .long 1049877767 + .long 1049877767 + .long 1049877767 + .long 3199777129 + .long 3199777129 + .long 3199777129 + .long 3199777129 + .long 1056323520 + .long 1056323520 + .long 1056323520 + .long 1056323520 + .long 3208161835 + .long 3208161835 + .long 3208161835 + .long 3208161835 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1051385883 + .long 1051385883 + .long 1051385883 + .long 1051385883 + .long 3201001580 + .long 3201001580 + .long 3201001580 + .long 3201001580 + .long 1056242241 + .long 1056242241 + .long 1056242241 + .long 1056242241 + .long 3208144266 + .long 3208144266 + .long 3208144266 + .long 3208144266 + .long 1069066989 + .long 1069066989 + .long 1069066989 + .long 1069066989 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_slog2_data_internal,@object + .size __svml_slog2_data_internal,2240 + .align 32 + +__slog2_la_CoutTab: + .long 1136175680 + .long 0 + .long 0 + .long 1135986583 + .long 1018822656 + .long 930849160 + .long 1135809305 + .long 1026916352 + .long 941737263 + .long 1135632026 + .long 1032306688 + .long 936581683 + .long 1135466566 + .long 1035100160 + .long 929197062 + .long 1135301106 + .long 1037934592 + .long 897678483 + .long 1135135647 + .long 1040498688 + .long 3059980496 + .long 1134982005 + .long 1041852416 + .long 908010313 + .long 1134828364 + .long 1043226624 + .long 3073739761 + .long 1134686541 + .long 1044510720 + .long 918631281 + .long 1134538809 + .long 1045868544 + .long 3062817788 + .long 1134402896 + .long 1047134208 + .long 3064656237 + .long 1134266982 + .long 1048416256 + .long 3029590737 + .long 1134131069 + .long 1049145856 + .long 903671587 + .long 1134001065 + .long 1049775616 + .long 911388989 + .long 1133876970 + .long 1050384896 + .long 3069885983 + .long 1133752875 + .long 1051001344 + .long 3037530952 + .long 1133634689 + .long 1051596288 + .long 3069922038 + .long 1133516503 + .long 1052198400 + .long 3070222063 + .long 1133404227 + .long 1052776960 + .long 919559368 + .long 1133291951 + .long 1053363200 + .long 840060372 + .long 1133185584 + .long 1053924864 + .long 915603033 + .long 1133079217 + .long 1054493184 + .long 921334924 + .long 1132978759 + .long 1055036416 + .long 896601826 + .long 1132872392 + .long 1055618048 + .long 908913293 + .long 1132777843 + .long 1056141312 + .long 3065728751 + .long 1132677386 + .long 1056702976 + .long 909020429 + .long 1132582837 + .long 1057101312 + .long 3048020321 + .long 1132494198 + .long 1057354752 + .long 3038815896 + .long 1132337219 + .long 1057628160 + .long 3068137421 + .long 1132159940 + .long 1057887232 + .long 3069993595 + .long 1131994480 + .long 1058131456 + .long 3054354312 + .long 1131817202 + .long 1058395904 + .long 910223436 + .long 1131651742 + .long 1058645504 + .long 3046952660 + .long 1131486282 + .long 1058897664 + .long 3057670844 + .long 1131332641 + .long 1059133952 + .long 924929721 + .long 1131178999 + .long 1059373056 + .long 3068093797 + .long 1131025358 + .long 1059614208 + .long 3058851683 + .long 1130871717 + .long 1059857920 + .long 3069897752 + .long 1130729894 + .long 1060084736 + .long 924446297 + .long 1130576253 + .long 1060333312 + .long 903058075 + .long 1130434430 + .long 1060564992 + .long 3052757441 + .long 1130304426 + .long 1060779264 + .long 3045479197 + .long 1130162603 + .long 1061015040 + .long 924699798 + .long 1130032599 + .long 1061233664 + .long 3070937808 + .long 1129890776 + .long 1061473792 + .long 925912756 + .long 1129772591 + .long 1061676032 + .long 923952205 + .long 1129642586 + .long 1061900544 + .long 906547304 + .long 1129512582 + .long 1062127104 + .long 3050351427 + .long 1129394397 + .long 1062334976 + .long 3070601694 + .long 1129276211 + .long 1062544384 + .long 900519722 + .long 1129158025 + .long 1062755840 + .long 3055774932 + .long 1129039840 + .long 1062969088 + .long 3053661845 + .long 1128921654 + .long 1063184384 + .long 3073448373 + .long 1128815287 + .long 1063379456 + .long 907090876 + .long 1128697101 + .long 1063598336 + .long 881051555 + .long 1128590734 + .long 1063796992 + .long 898320955 + .long 1128484367 + .long 1063997440 + .long 3068804107 + .long 1128378000 + .long 1064199168 + .long 923531617 + .long 1128283452 + .long 1064380416 + .long 3070994608 + .long 1128177085 + .long 1064585472 + .long 901920533 + .long 1128082536 + .long 1064769536 + .long 3071653428 + .long 1127976169 + .long 1064977920 + .long 903017594 + .long 1127881621 + .long 1065164800 + .long 911713416 + .long 1127787072 + .long 1065353216 + .long 0 + .long 1065353216 + .long 0 + .long 1207959616 + .long 1174405120 + .long 1002438656 + .long 1291845632 + .long 0 + .long 1065353216 + .long 1136175680 + .long 3212771328 + .long 3065082383 + .long 841219731 + .long 2913632803 + .long 691870088 + .long 2765780188 + .long 545377693 + .long 2619180638 + .type __slog2_la_CoutTab,@object + .size __slog2_la_CoutTab,848 + .align 4 + +.FLT_81: + .long 0x4d000000 + .type .FLT_81,@object + .size .FLT_81,4 + .align 4 + +.FLT_82: + .long 0x3bc00000 + .type .FLT_82,@object + .size .FLT_82,4 + .align 4 + +.FLT_83: + .long 0x48000040 + .type .FLT_83,@object + .size .FLT_83,4 + .align 4 + +.FLT_84: + .long 0x46000000 + .type .FLT_84,@object + .size .FLT_84,4 + .align 4 + +.FLT_85: + .long 0x43b8aa40 + .type .FLT_85,@object + .size .FLT_85,4 + .align 4 + +.FLT_86: + .long 0xbf7f0000 + .type .FLT_86,@object + .size .FLT_86,4 + .align 4 + +.FLT_87: + .long 0xb6b1720f + .type .FLT_87,@object + .size .FLT_87,4 + .align 4 + +.FLT_88: + .long 0x3223fe93 + .type .FLT_88,@object + .size .FLT_88,4 + .align 4 + +.FLT_89: + .long 0xadaa8223 + .type .FLT_89,@object + .size .FLT_89,4 + .align 4 + +.FLT_90: + .long 0x293d1988 + .type .FLT_90,@object + .size .FLT_90,4 + .align 4 + +.FLT_91: + .long 0xa4da74dc + .type .FLT_91,@object + .size .FLT_91,4 + .align 4 + +.FLT_92: + .long 0x2081cd9d + .type .FLT_92,@object + .size .FLT_92,4 + .align 4 + +.FLT_93: + .long 0x9c1d865e + .type .FLT_93,@object + .size .FLT_93,4 + .align 4 + +.FLT_94: + .long 0xbf800000 + .type .FLT_94,@object + .size .FLT_94,4 + .align 4 + +.FLT_95: + .long 0x3f800000 + .type .FLT_95,@object + .size .FLT_95,4 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core-sse.S new file mode 100644 index 0000000000..ec4b70568d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized log2f, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_log2f _ZGVdN8v_log2f_sse_wrapper +#include "../svml_s_log2f8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core.c new file mode 100644 index 0000000000..b3e958021a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized log2f, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_log2f +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_log2f, __GI__ZGVdN8v_log2f, + __redirect__ZGVdN8v_log2f) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core_avx2.S new file mode 100644 index 0000000000..ad01449e72 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core_avx2.S @@ -0,0 +1,1727 @@ +/* Function logf8 vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Get short reciprocal approximation Rcp ~ 1/mantissa(x) + * R = Rcp*x - 1.0 + * log2(x) = k - log2(Rcp) + poly_approximation(R) + * log2(Rcp) is tabulated + * + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_log2f_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* reduction: compute r,n */ + vmovups 1600+__svml_slog2_data_internal(%rip), %ymm4 + vmovups %ymm15, 320(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm8, 32(%rsp) + vpsubd %ymm4, %ymm0, %ymm1 + vcmplt_oqps 1344+__svml_slog2_data_internal(%rip), %ymm0, %ymm5 + vcmpnle_uqps 1408+__svml_slog2_data_internal(%rip), %ymm0, %ymm6 + vpand 1664+__svml_slog2_data_internal(%rip), %ymm1, %ymm3 + vpsrad $23, %ymm1, %ymm2 + vmovups 1984+__svml_slog2_data_internal(%rip), %ymm1 + vpaddd %ymm4, %ymm3, %ymm3 + vmovups 1856+__svml_slog2_data_internal(%rip), %ymm4 + vcvtdq2ps %ymm2, %ymm2 + vorps %ymm6, %ymm5, %ymm7 + +/* combine and get argument value range mask */ + vmovmskps %ymm7, %edx + vsubps 1728+__svml_slog2_data_internal(%rip), %ymm3, %ymm7 + vmovups 1792+__svml_slog2_data_internal(%rip), %ymm3 + vmovups 1920+__svml_slog2_data_internal(%rip), %ymm5 + vfmadd213ps 1888+__svml_slog2_data_internal(%rip), %ymm7, %ymm4 + vmulps %ymm7, %ymm7, %ymm6 + vfmadd213ps 2016+__svml_slog2_data_internal(%rip), %ymm7, %ymm1 + vfmadd213ps 1824+__svml_slog2_data_internal(%rip), %ymm7, %ymm3 + vfmadd213ps 1952+__svml_slog2_data_internal(%rip), %ymm7, %ymm5 + vfmadd213ps %ymm4, %ymm6, %ymm3 + vfmadd213ps %ymm5, %ymm6, %ymm3 + vfmadd213ps %ymm1, %ymm6, %ymm3 + vfmadd213ps 2048+__svml_slog2_data_internal(%rip), %ymm7, %ymm3 + vfmadd213ps %ymm2, %ymm7, %ymm3 + testl %edx, %edx + jne .LBL_1_3 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + vmovaps %ymm3, %ymm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm0, 64(%rsp) + vmovups %ymm3, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm3 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_slog2_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_log2f_avx2) + + .align 16,0x90 + +__svml_slog2_cout_rare_internal: + + cfi_startproc + + xorl %eax, %eax + movzwl 2(%rdi), %edx + andl $32640, %edx + cmpl $32640, %edx + je .LBL_2_13 + movss (%rdi), %xmm2 + xorl %ecx, %ecx + pxor %xmm1, %xmm1 + movss %xmm2, -16(%rsp) + ucomiss %xmm1, %xmm2 + jp .LBL_2_3 + je .LBL_2_5 + +.LBL_2_3: + movzwl -14(%rsp), %edx + testl $32640, %edx + jne .LBL_2_5 + movss .FLT_81(%rip), %xmm0 + movl $-27, %ecx + mulss %xmm0, %xmm2 + movss %xmm2, -16(%rsp) + +.LBL_2_5: + comiss %xmm1, %xmm2 + jbe .LBL_2_9 + movaps %xmm2, %xmm1 + subss .FLT_95(%rip), %xmm1 + movss %xmm1, -20(%rsp) + andb $127, -17(%rsp) + movss -20(%rsp), %xmm0 + comiss .FLT_82(%rip), %xmm0 + jbe .LBL_2_8 + movzwl -14(%rsp), %edx + pxor %xmm8, %xmm8 + andl $32640, %edx + lea __slog2_la_CoutTab(%rip), %r10 + shrl $7, %edx + movss %xmm2, -20(%rsp) + movss .FLT_84(%rip), %xmm2 + movaps %xmm2, %xmm1 + movss .FLT_93(%rip), %xmm6 + lea -127(%rcx,%rdx), %r9d + movzwl -18(%rsp), %ecx + andl $-32641, %ecx + addl $16256, %ecx + movw %cx, -18(%rsp) + movss -20(%rsp), %xmm3 + movaps %xmm3, %xmm0 + addss %xmm3, %xmm1 + addss .FLT_83(%rip), %xmm0 + cvtsi2ss %r9d, %xmm8 + movss %xmm0, -24(%rsp) + movl -24(%rsp), %edi + movss %xmm1, -24(%rsp) + andl $127, %edi + movss -24(%rsp), %xmm7 + subss %xmm2, %xmm7 + lea (%rdi,%rdi,2), %r8d + movss (%r10,%r8,4), %xmm5 + subss %xmm7, %xmm3 + addss 4(%r10,%r8,4), %xmm8 + mulss %xmm5, %xmm7 + mulss %xmm3, %xmm5 + subss .FLT_85(%rip), %xmm7 + movaps %xmm7, %xmm4 + addss %xmm7, %xmm8 + addss %xmm5, %xmm4 + mulss %xmm4, %xmm6 + addss .FLT_92(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_91(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_90(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_89(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_88(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_87(%rip), %xmm6 + mulss %xmm4, %xmm6 + addss .FLT_86(%rip), %xmm6 + mulss %xmm6, %xmm7 + mulss %xmm5, %xmm6 + addss 8(%r10,%r8,4), %xmm6 + addss %xmm5, %xmm6 + addss %xmm6, %xmm7 + addss %xmm7, %xmm8 + movss %xmm8, (%rsi) + ret + +.LBL_2_8: + movss .FLT_85(%rip), %xmm0 + mulss %xmm0, %xmm1 + movss .FLT_93(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_92(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_91(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_90(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_89(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_88(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_87(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss .FLT_86(%rip), %xmm2 + mulss %xmm1, %xmm2 + addss %xmm1, %xmm2 + movss %xmm2, (%rsi) + ret + +.LBL_2_9: + ucomiss %xmm1, %xmm2 + jp .LBL_2_10 + je .LBL_2_12 + +.LBL_2_10: + divss %xmm1, %xmm1 + movss %xmm1, (%rsi) + movl $1, %eax + ret + +.LBL_2_12: + movss .FLT_94(%rip), %xmm0 + movl $2, %eax + divss %xmm1, %xmm0 + movss %xmm0, (%rsi) + ret + +.LBL_2_13: + movb 3(%rdi), %dl + andb $-128, %dl + cmpb $-128, %dl + je .LBL_2_15 + +.LBL_2_14: + movss (%rdi), %xmm0 + mulss %xmm0, %xmm0 + movss %xmm0, (%rsi) + ret + +.LBL_2_15: + testl $8388607, (%rdi) + jne .LBL_2_14 + movl $1, %eax + pxor %xmm1, %xmm1 + pxor %xmm0, %xmm0 + divss %xmm0, %xmm1 + movss %xmm1, (%rsi) + ret + + cfi_endproc + + .type __svml_slog2_cout_rare_internal,@function + .size __svml_slog2_cout_rare_internal,.-__svml_slog2_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_slog2_data_internal: + .long 3271294976 + .long 0 + .long 3271296000 + .long 3068856281 + .long 3271297024 + .long 938219729 + .long 3271298032 + .long 3079617137 + .long 3271299040 + .long 3081795326 + .long 3271300048 + .long 931444511 + .long 3271301040 + .long 3086175556 + .long 3271302040 + .long 937684290 + .long 3271303024 + .long 895273824 + .long 3271304008 + .long 929322840 + .long 3271304984 + .long 914973210 + .long 3271305952 + .long 3085691485 + .long 3271306920 + .long 3082544936 + .long 3271307888 + .long 934225115 + .long 3271308840 + .long 3081631497 + .long 3271309792 + .long 3084279599 + .long 3271310744 + .long 919294098 + .long 3271311688 + .long 928328979 + .long 3271312624 + .long 3066585895 + .long 3271313560 + .long 926130568 + .long 3271314488 + .long 901156711 + .long 3271315416 + .long 937414789 + .long 3271316336 + .long 936653537 + .long 3271317248 + .long 3058814943 + .long 3271318160 + .long 906908118 + .long 3271319064 + .long 3081401871 + .long 3271319968 + .long 3072543999 + .long 3271320864 + .long 3085330685 + .long 3271321760 + .long 3075910590 + .long 3271322648 + .long 3085106206 + .long 3271323536 + .long 3072312054 + .long 3271324416 + .long 3082060466 + .long 3271325296 + .long 3055197447 + .long 3271326168 + .long 3076357858 + .long 3271327040 + .long 920345845 + .long 3271327904 + .long 3063129936 + .long 3271328768 + .long 930567858 + .long 3271329624 + .long 909272754 + .long 3271330480 + .long 933804198 + .long 3271331328 + .long 918737494 + .long 3271332176 + .long 934022681 + .long 3271333016 + .long 910479685 + .long 3271333856 + .long 929589825 + .long 3271334688 + .long 3070655175 + .long 3271335520 + .long 3053267575 + .long 3271336344 + .long 3086194926 + .long 3271337168 + .long 3085997978 + .long 3271337992 + .long 3045913777 + .long 3271338808 + .long 3069765616 + .long 3271339624 + .long 928672192 + .long 3271340432 + .long 3045522449 + .long 3271341240 + .long 926802639 + .long 3271342040 + .long 3074232411 + .long 3271342840 + .long 3070586333 + .long 3271343640 + .long 934318260 + .long 3271344432 + .long 930283614 + .long 3271345216 + .long 3085545791 + .long 3271346008 + .long 931477852 + .long 3271346792 + .long 935625357 + .long 3271347568 + .long 3065394803 + .long 3271348344 + .long 3072676686 + .long 3271349120 + .long 925303420 + .long 3271349888 + .long 3069367164 + .long 3271350656 + .long 3038632180 + .long 3271351424 + .long 939079119 + .long 3271352184 + .long 935075887 + .long 3271352936 + .long 3082666870 + .long 3271353696 + .long 931789803 + .long 3271354448 + .long 932303901 + .long 3271355192 + .long 3081224294 + .long 3271355944 + .long 937147770 + .long 3271356680 + .long 3085250212 + .long 3271357424 + .long 908073671 + .long 3271358896 + .long 918282152 + .long 3271360352 + .long 3084832095 + .long 3271361808 + .long 937397780 + .long 3271363240 + .long 3080772107 + .long 3271364672 + .long 932533526 + .long 3271366088 + .long 930047759 + .long 3271367496 + .long 939267269 + .long 3271368888 + .long 910438307 + .long 3271370272 + .long 3069366057 + .long 3271371648 + .long 3050426335 + .long 3271373016 + .long 933100185 + .long 3271374368 + .long 3070825219 + .long 3271375712 + .long 3082654716 + .long 3271377048 + .long 3084246816 + .long 3271378376 + .long 3080058411 + .long 3271379696 + .long 3041317981 + .long 3271381008 + .long 936455786 + .long 3271382304 + .long 3057542833 + .long 3271383592 + .long 3083404326 + .long 3271384880 + .long 934663588 + .long 3271386152 + .long 926575359 + .long 3271387416 + .long 915856538 + .long 3271388672 + .long 897695912 + .long 3271389920 + .long 3031263839 + .long 3271391160 + .long 3025798075 + .long 3271392392 + .long 889828954 + .long 3271393616 + .long 898229073 + .long 3271394832 + .long 890611612 + .long 3271396040 + .long 3051312165 + .long 3271397240 + .long 3067504579 + .long 3271398432 + .long 3077629370 + .long 3271399616 + .long 3084686401 + .long 3271400800 + .long 932711104 + .long 3271401968 + .long 3061957243 + .long 3271403136 + .long 938752650 + .long 3271404288 + .long 3065929605 + .long 3271405440 + .long 928849078 + .long 3271406584 + .long 935935277 + .long 3271407720 + .long 937106840 + .long 3271408848 + .long 933163291 + .long 3271409968 + .long 905515466 + .long 3271411080 + .long 3084390822 + .long 3271412192 + .long 3060235563 + .long 3271413296 + .long 921719712 + .long 3271414392 + .long 918076967 + .long 3271415480 + .long 3071716852 + .long 3271416568 + .long 936042212 + .long 3271417640 + .long 3079912717 + .long 3271418712 + .long 3075951191 + .long 3271419776 + .long 3082895478 + .long 3271420840 + .long 927873550 + .long 3271421888 + .long 3086405181 + .long 3271422936 + .long 3084857775 + .long 3271423984 + .long 933876987 + .long 3271425016 + .long 3074395466 + .long 3271426048 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1042663530 + .long 1042663530 + .long 1042663530 + .long 1042663530 + .long 1042663530 + .long 1042663530 + .long 1042663530 + .long 1042663530 + .long 3199384460 + .long 3199384460 + .long 3199384460 + .long 3199384460 + .long 3199384460 + .long 3199384460 + .long 3199384460 + .long 3199384460 + .long 996988896 + .long 996988896 + .long 996988896 + .long 996988896 + .long 996988896 + .long 996988896 + .long 996988896 + .long 996988896 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1006632960 + .long 1006632960 + .long 1006632960 + .long 1006632960 + .long 1006632960 + .long 1006632960 + .long 1006632960 + .long 1006632960 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .long 8388608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .long 2139095039 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .long 4294967040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1069023232 + .long 1069023232 + .long 1069023232 + .long 1069023232 + .long 1069023232 + .long 1069023232 + .long 1069023232 + .long 1069023232 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .long 1059760811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .long 8388607 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1045774354 + .long 1045774354 + .long 1045774354 + .long 1045774354 + .long 1045774354 + .long 1045774354 + .long 1045774354 + .long 1045774354 + .long 3194195476 + .long 3194195476 + .long 3194195476 + .long 3194195476 + .long 3194195476 + .long 3194195476 + .long 3194195476 + .long 3194195476 + .long 1045259787 + .long 1045259787 + .long 1045259787 + .long 1045259787 + .long 1045259787 + .long 1045259787 + .long 1045259787 + .long 1045259787 + .long 3195172900 + .long 3195172900 + .long 3195172900 + .long 3195172900 + .long 3195172900 + .long 3195172900 + .long 3195172900 + .long 3195172900 + .long 1049877767 + .long 1049877767 + .long 1049877767 + .long 1049877767 + .long 1049877767 + .long 1049877767 + .long 1049877767 + .long 1049877767 + .long 3199777129 + .long 3199777129 + .long 3199777129 + .long 3199777129 + .long 3199777129 + .long 3199777129 + .long 3199777129 + .long 3199777129 + .long 1056323520 + .long 1056323520 + .long 1056323520 + .long 1056323520 + .long 1056323520 + .long 1056323520 + .long 1056323520 + .long 1056323520 + .long 3208161835 + .long 3208161835 + .long 3208161835 + .long 3208161835 + .long 3208161835 + .long 3208161835 + .long 3208161835 + .long 3208161835 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1051385883 + .long 1051385883 + .long 1051385883 + .long 1051385883 + .long 1051385883 + .long 1051385883 + .long 1051385883 + .long 1051385883 + .long 3201001580 + .long 3201001580 + .long 3201001580 + .long 3201001580 + .long 3201001580 + .long 3201001580 + .long 3201001580 + .long 3201001580 + .long 1056242241 + .long 1056242241 + .long 1056242241 + .long 1056242241 + .long 1056242241 + .long 1056242241 + .long 1056242241 + .long 1056242241 + .long 3208144266 + .long 3208144266 + .long 3208144266 + .long 3208144266 + .long 3208144266 + .long 3208144266 + .long 3208144266 + .long 3208144266 + .long 1069066989 + .long 1069066989 + .long 1069066989 + .long 1069066989 + .long 1069066989 + .long 1069066989 + .long 1069066989 + .long 1069066989 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 4286578688 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 3212836864 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_slog2_data_internal,@object + .size __svml_slog2_data_internal,2496 + .align 32 + +__slog2_la_CoutTab: + .long 1136175680 + .long 0 + .long 0 + .long 1135986583 + .long 1018822656 + .long 930849160 + .long 1135809305 + .long 1026916352 + .long 941737263 + .long 1135632026 + .long 1032306688 + .long 936581683 + .long 1135466566 + .long 1035100160 + .long 929197062 + .long 1135301106 + .long 1037934592 + .long 897678483 + .long 1135135647 + .long 1040498688 + .long 3059980496 + .long 1134982005 + .long 1041852416 + .long 908010313 + .long 1134828364 + .long 1043226624 + .long 3073739761 + .long 1134686541 + .long 1044510720 + .long 918631281 + .long 1134538809 + .long 1045868544 + .long 3062817788 + .long 1134402896 + .long 1047134208 + .long 3064656237 + .long 1134266982 + .long 1048416256 + .long 3029590737 + .long 1134131069 + .long 1049145856 + .long 903671587 + .long 1134001065 + .long 1049775616 + .long 911388989 + .long 1133876970 + .long 1050384896 + .long 3069885983 + .long 1133752875 + .long 1051001344 + .long 3037530952 + .long 1133634689 + .long 1051596288 + .long 3069922038 + .long 1133516503 + .long 1052198400 + .long 3070222063 + .long 1133404227 + .long 1052776960 + .long 919559368 + .long 1133291951 + .long 1053363200 + .long 840060372 + .long 1133185584 + .long 1053924864 + .long 915603033 + .long 1133079217 + .long 1054493184 + .long 921334924 + .long 1132978759 + .long 1055036416 + .long 896601826 + .long 1132872392 + .long 1055618048 + .long 908913293 + .long 1132777843 + .long 1056141312 + .long 3065728751 + .long 1132677386 + .long 1056702976 + .long 909020429 + .long 1132582837 + .long 1057101312 + .long 3048020321 + .long 1132494198 + .long 1057354752 + .long 3038815896 + .long 1132337219 + .long 1057628160 + .long 3068137421 + .long 1132159940 + .long 1057887232 + .long 3069993595 + .long 1131994480 + .long 1058131456 + .long 3054354312 + .long 1131817202 + .long 1058395904 + .long 910223436 + .long 1131651742 + .long 1058645504 + .long 3046952660 + .long 1131486282 + .long 1058897664 + .long 3057670844 + .long 1131332641 + .long 1059133952 + .long 924929721 + .long 1131178999 + .long 1059373056 + .long 3068093797 + .long 1131025358 + .long 1059614208 + .long 3058851683 + .long 1130871717 + .long 1059857920 + .long 3069897752 + .long 1130729894 + .long 1060084736 + .long 924446297 + .long 1130576253 + .long 1060333312 + .long 903058075 + .long 1130434430 + .long 1060564992 + .long 3052757441 + .long 1130304426 + .long 1060779264 + .long 3045479197 + .long 1130162603 + .long 1061015040 + .long 924699798 + .long 1130032599 + .long 1061233664 + .long 3070937808 + .long 1129890776 + .long 1061473792 + .long 925912756 + .long 1129772591 + .long 1061676032 + .long 923952205 + .long 1129642586 + .long 1061900544 + .long 906547304 + .long 1129512582 + .long 1062127104 + .long 3050351427 + .long 1129394397 + .long 1062334976 + .long 3070601694 + .long 1129276211 + .long 1062544384 + .long 900519722 + .long 1129158025 + .long 1062755840 + .long 3055774932 + .long 1129039840 + .long 1062969088 + .long 3053661845 + .long 1128921654 + .long 1063184384 + .long 3073448373 + .long 1128815287 + .long 1063379456 + .long 907090876 + .long 1128697101 + .long 1063598336 + .long 881051555 + .long 1128590734 + .long 1063796992 + .long 898320955 + .long 1128484367 + .long 1063997440 + .long 3068804107 + .long 1128378000 + .long 1064199168 + .long 923531617 + .long 1128283452 + .long 1064380416 + .long 3070994608 + .long 1128177085 + .long 1064585472 + .long 901920533 + .long 1128082536 + .long 1064769536 + .long 3071653428 + .long 1127976169 + .long 1064977920 + .long 903017594 + .long 1127881621 + .long 1065164800 + .long 911713416 + .long 1127787072 + .long 1065353216 + .long 0 + .long 1065353216 + .long 0 + .long 1207959616 + .long 1174405120 + .long 1002438656 + .long 1291845632 + .long 0 + .long 1065353216 + .long 1136175680 + .long 3212771328 + .long 3065082383 + .long 841219731 + .long 2913632803 + .long 691870088 + .long 2765780188 + .long 545377693 + .long 2619180638 + .type __slog2_la_CoutTab,@object + .size __slog2_la_CoutTab,848 + .align 4 + +.FLT_81: + .long 0x4d000000 + .type .FLT_81,@object + .size .FLT_81,4 + .align 4 + +.FLT_82: + .long 0x3bc00000 + .type .FLT_82,@object + .size .FLT_82,4 + .align 4 + +.FLT_83: + .long 0x48000040 + .type .FLT_83,@object + .size .FLT_83,4 + .align 4 + +.FLT_84: + .long 0x46000000 + .type .FLT_84,@object + .size .FLT_84,4 + .align 4 + +.FLT_85: + .long 0x43b8aa40 + .type .FLT_85,@object + .size .FLT_85,4 + .align 4 + +.FLT_86: + .long 0xbf7f0000 + .type .FLT_86,@object + .size .FLT_86,4 + .align 4 + +.FLT_87: + .long 0xb6b1720f + .type .FLT_87,@object + .size .FLT_87,4 + .align 4 + +.FLT_88: + .long 0x3223fe93 + .type .FLT_88,@object + .size .FLT_88,4 + .align 4 + +.FLT_89: + .long 0xadaa8223 + .type .FLT_89,@object + .size .FLT_89,4 + .align 4 + +.FLT_90: + .long 0x293d1988 + .type .FLT_90,@object + .size .FLT_90,4 + .align 4 + +.FLT_91: + .long 0xa4da74dc + .type .FLT_91,@object + .size .FLT_91,4 + .align 4 + +.FLT_92: + .long 0x2081cd9d + .type .FLT_92,@object + .size .FLT_92,4 + .align 4 + +.FLT_93: + .long 0x9c1d865e + .type .FLT_93,@object + .size .FLT_93,4 + .align 4 + +.FLT_94: + .long 0xbf800000 + .type .FLT_94,@object + .size .FLT_94,4 + .align 4 + +.FLT_95: + .long 0x3f800000 + .type .FLT_95,@object + .size .FLT_95,4 diff --git a/sysdeps/x86_64/fpu/svml_d_log22_core.S b/sysdeps/x86_64/fpu/svml_d_log22_core.S new file mode 100644 index 0000000000..f181a62c7d --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log22_core.S @@ -0,0 +1,29 @@ +/* Function log2 vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_log2) +WRAPPER_IMPL_SSE2 log2 +END (_ZGVbN2v_log2) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_log2) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_log24_core.S b/sysdeps/x86_64/fpu/svml_d_log24_core.S new file mode 100644 index 0000000000..b0a5aa9532 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log24_core.S @@ -0,0 +1,29 @@ +/* Function log2 vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_log2) +WRAPPER_IMPL_AVX _ZGVbN2v_log2 +END (_ZGVdN4v_log2) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_log2) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_log24_core_avx.S b/sysdeps/x86_64/fpu/svml_d_log24_core_avx.S new file mode 100644 index 0000000000..9a56cfed61 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log24_core_avx.S @@ -0,0 +1,25 @@ +/* Function log2 vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_log2) +WRAPPER_IMPL_AVX _ZGVbN2v_log2 +END (_ZGVcN4v_log2) diff --git a/sysdeps/x86_64/fpu/svml_d_log28_core.S b/sysdeps/x86_64/fpu/svml_d_log28_core.S new file mode 100644 index 0000000000..443cbfd578 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_log28_core.S @@ -0,0 +1,25 @@ +/* Function log2 vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_log2) +WRAPPER_IMPL_AVX512 _ZGVdN4v_log2 +END (_ZGVeN8v_log2) diff --git a/sysdeps/x86_64/fpu/svml_s_log2f16_core.S b/sysdeps/x86_64/fpu/svml_s_log2f16_core.S new file mode 100644 index 0000000000..6cf265fd33 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log2f16_core.S @@ -0,0 +1,25 @@ +/* Function log2f vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_log2f) +WRAPPER_IMPL_AVX512 _ZGVdN8v_log2f +END (_ZGVeN16v_log2f) diff --git a/sysdeps/x86_64/fpu/svml_s_log2f4_core.S b/sysdeps/x86_64/fpu/svml_s_log2f4_core.S new file mode 100644 index 0000000000..024ba9b8c5 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log2f4_core.S @@ -0,0 +1,29 @@ +/* Function log2f vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_log2f) +WRAPPER_IMPL_SSE2 log2f +END (_ZGVbN4v_log2f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_log2f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_log2f8_core.S b/sysdeps/x86_64/fpu/svml_s_log2f8_core.S new file mode 100644 index 0000000000..5705590563 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log2f8_core.S @@ -0,0 +1,29 @@ +/* Function log2f vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_log2f) +WRAPPER_IMPL_AVX _ZGVbN4v_log2f +END (_ZGVdN8v_log2f) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_log2f) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_log2f8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_log2f8_core_avx.S new file mode 100644 index 0000000000..38602c475e --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_log2f8_core_avx.S @@ -0,0 +1,25 @@ +/* Function log2f vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_log2f) +WRAPPER_IMPL_AVX _ZGVbN4v_log2f +END (_ZGVcN8v_log2f) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log2-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-log2-avx.c new file mode 100644 index 0000000000..95d8e4bbd8 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log2-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log2.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log2-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-log2-avx2.c new file mode 100644 index 0000000000..95d8e4bbd8 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log2-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log2.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log2-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-log2-avx512f.c new file mode 100644 index 0000000000..95d8e4bbd8 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log2-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log2.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log2.c b/sysdeps/x86_64/fpu/test-double-libmvec-log2.c new file mode 100644 index 0000000000..326b6f1171 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log2.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC log2 +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 4a62f72a9d..4ad2fc8868 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVbN2v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVbN2vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVbN2v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVbN2v_log1p) +VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVbN2v_log2) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 4390d83410..f48641aa6a 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -47,6 +47,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVdN4v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVdN4vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVdN4v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVdN4v_log1p) +VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVdN4v_log2) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 838825f3bd..91ca44a4b0 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVcN4v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVcN4vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVcN4v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVcN4v_log1p) +VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVcN4v_log2) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index 2898b231de..fa9b82c02d 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1), _ZGVeN8v_expm1) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVeN8vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVeN8v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVeN8v_log1p) +VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVeN8v_log2) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx.c new file mode 100644 index 0000000000..c88b3fc5a9 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-log2f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx2.c new file mode 100644 index 0000000000..c88b3fc5a9 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-log2f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx512f.c new file mode 100644 index 0000000000..c88b3fc5a9 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log2f-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-log2f.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-log2f.c b/sysdeps/x86_64/fpu/test-float-libmvec-log2f.c new file mode 100644 index 0000000000..afba03d1e2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-log2f.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC log2f +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 132daa04f7..26efef1490 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVeN16v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVeN16vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVeN16v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVeN16v_log1pf) +VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVeN16v_log2f) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 0c2d93eaa2..9c484d4a15 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVbN4v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVbN4vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVbN4v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVbN4v_log1pf) +VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVbN4v_log2f) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index afc0e4d078..220f66567b 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -47,6 +47,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVdN8v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVdN8vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVdN8v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVdN8v_log1pf) +VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVdN8v_log2f) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 0001f9a839..dbc69fb9d4 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -44,6 +44,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (expm1f), _ZGVcN8v_expm1f) VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVcN8vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVcN8v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVcN8v_log1pf) +VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVcN8v_log2f) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:38:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48109 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AE0B33857811 for ; Wed, 24 Nov 2021 20:37:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AE0B33857811 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637786224; bh=1CN1q/PknwvqUUeue+xkhYXD8e8RFbYa4mJWoq4mYSc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=vVFQ58/CdP3sAKtoXPkiKEalf9RhRWhd838zhXg1lz4uGOLuXR7nFNd2iPZqmaD3h lGiCgMi19Lx5ijNPZnZVZQYGAdYkbGwHLXySoOVW8h4xN981T5l6uW6JaaRzSN2omz po048NIEQyat10rk7Mp5YQaBJJRblMTQbm4Eomgs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id 08C5A3857C75 for ; Wed, 24 Nov 2021 19:38:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 08C5A3857C75 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="296164771" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="296164771" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="554383384" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga008.fm.intel.com with ESMTP; 24 Nov 2021 11:38:14 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XN021555; Wed, 24 Nov 2021 11:38:14 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 36/42] x86-64: Add vector log2/log2f to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:38:01 -0800 Message-Id: <20211124193807.2093208-37-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector log2/log2f and input files to libmvec microbenchmark. libmvec-log2-inputs: 70% Normal random distribution range: (0.0, DBL_MAX) mean: 1.0 sigma: 50.0 30% uniform random distribution in range (0.0, 1.0e6) libmvec-log2f-inputs: 70% Normal random distribution range: (0.0f, FLT_MAX) mean: 1.0f sigma: 50.0f 30% uniform random distribution in range (0.0f, 1.0e6f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-log2-inputs | 4100 +++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-log2f-inputs | 4100 +++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-log2-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-log2f-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 44700c3f2b..814c48d0d7 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -66,6 +66,7 @@ libmvec-bench-funcs = \ hypot \ log10 \ log1p \ + log2 \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-log2-inputs b/sysdeps/x86_64/fpu/libmvec-log2-inputs new file mode 100644 index 0000000000..6d7e3be9c6 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-log2-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (0, 1.8e+308), mean = 1, standard deviation = 50 +0x1.51137ef4e57c7p+5 +0x1.2c38e5ab36409p+3 +0x1.2dbe58827c9bcp+5 +0x1.b7622f809b9a6p+6 +0x1.f3cf03b255bdcp+4 +0x1.44f2c55b96bb5p+6 +0x1.68709287fb6a5p+2 +0x1.3f1e1e2b97c0ep+2 +0x1.131c6d72d5757p+13 +0x1.7fa5eb720baffp+6 +0x1.2c36eaf5f8f97p+18 +0x1.5672c6320379p-1 +0x1.d046d9f22bbdcp+4 +0x1.dfc9c82085ab7p+4 +0x1.504689a4725e1p+5 +0x1.5c9deb8839062p+5 +0x1.778d1948193c5p+5 +0x1.30fda15d0b169p+5 +0x1.c8b7b39e44d45p+4 +0x1.2afe89293ed36p+4 +0x1.7fef6993f8ffep+4 +0x1.53a5c31378476p+11 +0x1.f7bbf36551204p-2 +0x1.b9765a754004fp+17 +0x1.162b4ff311b8ap+6 +0x1.79f61d904c104p+4 +0x1.a23691911d56bp+17 +0x1.3976b0b6c60d4p+3 +0x1.28512dcc88f9fp+6 +0x1.5b69f2f0a089fp+9 +0x1.03e5ffb62b0ep+1 +0x1.360c2fd5d96cdp+3 +0x1.31832b9a33271p+6 +0x1.f097b78269411p+2 +0x1.16f993489559cp+5 +0x1.1d9f8977ebbe4p+5 +0x1.d6a02a9094e77p+5 +0x1.047622e9d8864p+6 +0x1.17bd451087a8bp+3 +0x1.424ed8ee0ca0bp+5 +0x1.8c60920cb5636p+5 +0x1.5a9d656a28ca5p+7 +0x1.f5e844f67db6p+4 +0x1.e09beebe8774fp+4 +0x1.aa49b5249a81cp-1 +0x1.61cd817d3ea7p+3 +0x1.f022036fd85e9p+1 +0x1.da8593683f1adp+4 +0x1.a5d7c4db789ebp-1 +0x1.6efd02f99444ep+5 +0x1.a2fdefa3581e1p+3 +0x1.1df5c8da377f5p+3 +0x1.8073ac20e1ca3p+3 +0x1.567ea17c123bbp+11 +0x1.92e5406e57dadp+5 +0x1.bd3ebce3d27f1p+15 +0x1.80fc3a87343e2p-1 +0x1.b1231e012adb6p+4 +0x1.30fd92f5b2049p+6 +0x1.f8ca2b55ea603p-1 +0x1.c732206d3e9a5p+2 +0x1.d336902cfed45p+2 +0x1.26310287abc7ap+5 +0x1.5d95c5e88df54p+4 +0x1.44d018f9759a7p+9 +0x1.eab83a6cf0d08p+4 +0x1.375aeb58f1d12p+5 +0x1.18282e5b43217p+1 +0x1.239514dcbf256p+5 +0x1.4a32d76398481p+3 +0x1.40dd700b60bcap-1 +0x1.22515f20b19c9p+5 +0x1.15b488c9556aep+9 +0x1.07a98c97c37a6p+7 +0x1.68a083cf97914p+1 +0x1.96ab371dcd545p+6 +0x1.6da1f63a369c8p+6 +0x1.2364de692e4ccp+5 +0x1.7e588bc24f1b1p+5 +0x1.0267ea81bb599p+3 +0x1.a3d7ff049702p+2 +0x1.674c2ed585e57p+6 +0x1.7aa24673e3745p+3 +0x1.6b69059d6acd8p+4 +0x1.0c97057db748p+15 +0x1.513324c21f40ep+6 +0x1.ee54ae3cc4196p+4 +0x1.b91f5ab95ffcap+4 +0x1.9a9b6a9764b9fp+3 +0x1.ac894c9d00891p+3 +0x1.101b996c062edp+5 +0x1.25dfe1a7e7a57p+6 +0x1.71c481084adccp+9 +0x1.e9f892151369ap+0 +0x1.2b738b29a4553p+5 +0x1.049d8955106dp+4 +0x1.30ce462a964f7p+6 +0x1.11c1bc9c5b182p+6 +0x1.0c91c4109e0eep+6 +0x1.27a39f4d4cc25p+4 +0x1.042469c0a86cfp+3 +0x1.0ff6bad3737fp+6 +0x1.4b5bd06e92d1cp+10 +0x1.50ee4477f2b07p+4 +0x1.c4813192d1543p+11 +0x1.1e100e5c25fd7p+18 +0x1.6c50ba640a944p-1 +0x1.fa933f6b27be4p+3 +0x1.eea6d7afb1705p+14 +0x1.eece940753f8dp+17 +0x1.994aa8da49472p+6 +0x1.4d2e68fa79187p+0 +0x1.916d9bafc8427p+6 +0x1.a1cd37c0787p+4 +0x1.d108cb5750b53p+5 +0x1.7a1b27edf8633p+4 +0x1.f7a270ddd582ap+4 +0x1.6634d86c688abp+1 +0x1.7e8a223fade01p+1 +0x1.b68b5e8367aep+4 +0x1.fe84f7acb4132p+4 +0x1.07c2cf742b76ep+4 +0x1.2422902c661a5p+5 +0x1.91e31dfe691c3p+17 +0x1.52cf81c440934p+6 +0x1.41cecdcc8ae62p+3 +0x1.367f76472b182p+3 +0x1.5c7167d9d33bfp+2 +0x1.ea1cb4042eda5p+5 +0x1.1430ad5a30307p+16 +0x1.740e695d6bcd4p+1 +0x1.ad54d69a3e1e3p+15 +0x1.7e03ab74a8242p+5 +0x1.123d10558139cp+4 +0x1.2f2ff008621a1p+7 +0x1.34ac07db4e27cp+4 +0x1.92e4caa7765cfp+6 +0x1.d66d79c23e6a9p+5 +0x1.862980f8bc605p+16 +0x1.10389712635c8p+11 +0x1.fe0b7f9e74ddap+3 +0x1.98a92df44e166p+8 +0x1.0ed4c342b5393p+4 +0x1.36e51d5f06f2dp+5 +0x1.d0073fe34c559p+10 +0x1.ef43d1ae89513p+5 +0x1.f39a4b7e3f75ep+11 +0x1.c9ebb71404db1p+1 +0x1.31c2739144e3ap+3 +0x1.e34b91b7e1c4cp+5 +0x1.16385261b4e57p+5 +0x1.0e2773fd9b854p+5 +0x1.0804023450004p-2 +0x1.44296b7aace7ep+6 +0x1.854293674fe21p+12 +0x1.850ce327be9e8p+6 +0x1.fdafb80a42baep+5 +0x1.71f9c52365fdfp+6 +0x1.e273c7656f69dp+5 +0x1.6a6c77e6bc978p+2 +0x1.4a6709afaa9cp+14 +0x1.9f45ef257b2c5p+2 +0x1.e46dfa1634567p+5 +0x1.65f7a08deaa27p+5 +0x1.6f3c3f6beef83p+9 +0x1.1ea9c01434776p+0 +0x1.2ba3908d84678p+6 +0x1.8664a1c74ddf5p+12 +0x1.f29c2890fa44fp+3 +0x1.81efaa4a29ee2p+5 +0x1.6193bb955593dp+5 +0x1.9a9a556b755aap+2 +0x1.15769f4f2ef8bp+3 +0x1.73d878a5d703dp+3 +0x1.2688589b5fa9p+5 +0x1.4a9bfca928fc2p+2 +0x1.3df5dba7378p+13 +0x1.1697d31ac8d7bp+5 +0x1.8fcd7caaf068ep+1 +0x1.064903a88ceccp+16 +0x1.1f98b94a30135p+5 +0x1.35826eebdf224p+5 +0x1.705441b4b6e1p+5 +0x1.f30bda0c36ab6p+6 +0x1.9620837c75cbap-2 +0x1.ca84696a686e2p+5 +0x1.32842e9ed1d9ap+0 +0x1.c1821f3022fdp+2 +0x1.7306415f38c4fp+6 +0x1.36d24be82a1b8p+15 +0x1.981339a30a3edp+5 +0x1.f42e751bf9f64p+5 +0x1.0c6fcdc9f0868p+5 +0x1.0b7a1e6fa969fp+19 +0x1.9fe11badb0c43p+6 +0x1.ac51e627c7b88p+3 +0x1.f2bfa47beed52p+3 +0x1.52d1a6f2159dep-1 +0x1.f55578c4d6276p+3 +0x1.10f66640ba0b6p+12 +0x1.534255858696cp+6 +0x1.8e6b7ae770121p+2 +0x1.4bc2b880e0db7p+4 +0x1.be90eeaf78ce1p+5 +0x1.7ff08b869692ap+6 +0x1.4b84eff634fe8p+3 +0x1.3a42e466456f8p+5 +0x1.2a30287bbc57dp-2 +0x1.1cf9e442c2d45p+5 +0x1.fc857fe73ce1p+5 +0x1.12f5d32fdc7a7p+6 +0x1.c19659442257p+5 +0x1.3415072a1f2b2p+6 +0x1.ad53ce0a795d2p+5 +0x1.ca181be1cd6e9p+4 +0x1.1550ca3a94d94p+4 +0x1.b5a4e4e9efd2ep+12 +0x1.807c3b1bebcep+5 +0x1.f1d98a03a7a94p+6 +0x1.23a25f5229ae5p+14 +0x1.9fa9cc0766788p+0 +0x1.30d2cd7351628p+13 +0x1.787207faebb6dp+1 +0x1.06eb7911383ddp+4 +0x1.96dcc3aa55e59p+14 +0x1.1558dad17c3c7p+7 +0x1.1cf9b07942ed6p+1 +0x1.0e95378eb2205p+5 +0x1.766027bb43e0ap+4 +0x1.6133e4e71c98dp+0 +0x1.35e53781308f5p+5 +0x1.bd67bf3cffc74p+5 +0x1.17e0fb28dd9a5p+5 +0x1.d50cb5a2c105ap+5 +0x1.4dd37caadd99bp+4 +0x1.3e595517641f9p+7 +0x1.6e83451711aeep+10 +0x1.71db846db596p+6 +0x1.7a99c5b3f8cfp+4 +0x1.319beba5192a4p+4 +0x1.962ea14639d63p+5 +0x1.184fec2e5ae98p+5 +0x1.5710e77091bfcp+4 +0x1.9581ea3654ef7p+4 +0x1.b3533bd776841p+4 +0x1.961f7c17febf4p+6 +0x1.173294dfd9951p+5 +0x1.3c21ce0009e7ep+18 +0x1.ff70ea01c4c17p+4 +0x1.c544ebef0706dp+4 +0x1.844bf61c8a89ap+2 +0x1.07778208bba26p+6 +0x1.fdea9d5c1b151p+5 +0x1.b1c63faf45792p+4 +0x1.832de22e85b5fp+5 +0x1.04b2401d15143p+14 +0x1.cf31cc63a807p+13 +0x1.67d5c3c2c57f7p+9 +0x1.29782ad3ca72fp+4 +0x1.696bbb312cf6ap+4 +0x1.2882df09d3248p-3 +0x1.84ae16fcdf935p+2 +0x1.3cfc71ae2a7c3p+4 +0x1.26864e0e42b52p+6 +0x1.b1a522ab0c5dfp+3 +0x1.b4fa055b9ae0fp+8 +0x1.7e8376de8c0c7p+8 +0x1.fa3e6260545ecp+5 +0x1.0db548f1cd92fp+4 +0x1.4fe699baa6bcep+3 +0x1.42019409b2002p-2 +0x1.c25daf412db97p+5 +0x1.f56865c420579p+4 +0x1.5da0c81eec59ap+5 +0x1.1994a26b69bf4p+6 +0x1.df7d46fc6b166p+5 +0x1.82eb306a4ec6ap+3 +0x1.423e736e6389ap+6 +0x1.bb215051aa7dep+7 +0x1.538cae1860284p+1 +0x1.768de3dcdd002p+4 +0x1.adfffa6ea6151p+6 +0x1.a82292fef43dfp+6 +0x1.6e93a8b551917p+6 +0x1.a4ec06c002052p+4 +0x1.af41d2c35d949p+3 +0x1.78d41b45fca4ap+0 +0x1.7bc4aba694229p+6 +0x1.03e0846fc96cap+4 +0x1.054d123d97cedp+1 +0x1.10028f1c64b6bp+4 +0x1.a0b90bc0b27aap+2 +0x1.e64be7d1dad4p+2 +0x1.3ded20379d1cp+5 +0x1.817153927e555p+3 +0x1.05cfac09df298p+1 +0x1.f49cfe498f74dp+5 +0x1.44e6f0a204103p+6 +0x1.3da56775be6aep+4 +0x1.41ae207c31b07p+2 +0x1.05fc75d958e7ap+11 +0x1.134e8f22d1819p+6 +0x1.bc5d4a33b617dp+3 +0x1.51536c1460d72p+13 +0x1.c90231b0948c5p+6 +0x1.e0115b7074159p+4 +0x1.2b120488d4105p+4 +0x1.1275f175a903cp+10 +0x1.60a0e954e18efp+1 +0x1.af7846e661174p+3 +0x1.a9e5b00a3b1c5p+6 +0x1.a5f5dc93fabc5p+5 +0x1.0521591101c03p+3 +0x1.83a6992cfdc66p+6 +0x1.aed8124cd520fp+3 +0x1.56fb3aeed567dp+6 +0x1.df111dfa2dd0ep+8 +0x1.e3c2ab21bff9fp+5 +0x1.e98c04eb674ffp+2 +0x1.01929883c7acp+4 +0x1.857442b923e57p+9 +0x1.db7aade0dff4fp+4 +0x1.36561bcc0600dp+5 +0x1.8787c8e01997ep+5 +0x1.2c496b8ff39d1p+6 +0x1.acd185d86fe66p+4 +0x1.3b9a5e2aa737ep+7 +0x1.fd0bee1632917p+3 +0x1.084b630157e18p+3 +0x1.4f24cab7ea8b2p+4 +0x1.db32a4f666d29p+5 +0x1.47d1070a821ep+6 +0x1.f98c0f4167bd8p+3 +0x1.8e6405fd5f39ap+1 +0x1.08285c705c182p+11 +0x1.ceec092f14b5cp+3 +0x1.3c64729b1bd92p+5 +0x1.c9f3cff14ab45p+3 +0x1.f2fe7f5317318p+0 +0x1.32cc36d87fcbp+4 +0x1.c35cf9405c137p+8 +0x1.0e7dac445b9edp+15 +0x1.a889991ce2e08p+4 +0x1.807cd4b4abee8p+0 +0x1.bc60455690d72p+1 +0x1.a4681225ae7bp+5 +0x1.eeb5b9e849e25p+4 +0x1.0ff101e17d707p+19 +0x1.c70a399cde3a8p-4 +0x1.8c86e4c96bffcp+6 +0x1.6a39c1d79125cp+5 +0x1.91c1ae537cbebp-3 +0x1.d2c86a7f216bep+17 +0x1.2f9da91a44f63p-1 +0x1.06fc8ca5486dcp+6 +0x1.92bb62defe13cp+4 +0x1.112062aea9bd9p+2 +0x1.816bc96679ee3p+18 +0x1.470a7fd89bbf2p+6 +0x1.ee4731ca9e20ep+5 +0x1.fe8ae4524c10fp+11 +0x1.d4ca660ce7697p+11 +0x1.acfdad0a01a2bp+2 +0x1.21515a27cc01dp+5 +0x1.908784fcde489p+5 +0x1.5d6e275db3a1p+10 +0x1.df0089eadcab8p+8 +0x1.b7c7a5d5e1c9fp+4 +0x1.f759e4e35d49ep+4 +0x1.316c2addb785p+6 +0x1.2a70aba12a32ep+4 +0x1.b45dc72f16c3dp+5 +0x1.c9c4437cd0f09p+10 +0x1.6cac5e54a9e56p+6 +0x1.0f787897131ddp+5 +0x1.6db32b4427893p+4 +0x1.b108d149c68dep+4 +0x1.b26ad62ffb42ap+6 +0x1.aad3eded0f04dp+5 +0x1.6a5aa4793a87ap+9 +0x1.00432d2ff5891p+10 +0x1.c2c711604f3c2p+3 +0x1.054541a994ce9p+9 +0x1.3fef3b7cf883cp+4 +0x1.871a070bc1ecap+5 +0x1.6c102a4602715p+5 +0x1.af7ca638420cp+4 +0x1.a00f2222ce8b5p+5 +0x1.6ff62ea074d8dp+6 +0x1.14e1e514e4604p+2 +0x1.12812a7a5e488p+3 +0x1.2d75b969f3f1dp+4 +0x1.341a63ed9931ap+5 +0x1.900a2434ca9f8p+6 +0x1.0aa2ecee5c682p+10 +0x1.5415177f68443p+4 +0x1.67cb301399ea9p+5 +0x1.c88c8404ee4a9p+5 +0x1.7c8456e4a3e09p+16 +0x1.37e5f87520898p+5 +0x1.87edca8b88ddbp+6 +0x1.029e47861a8dap+3 +0x1.35c1d4513ee1dp+6 +0x1.ae4aa15f70745p+5 +0x1.2c396af7e0098p+3 +0x1.58b32a7435d99p+9 +0x1.123685341ff79p+5 +0x1.b11686a76dca3p+4 +0x1.7a2af261a1affp+5 +0x1.adae44171c30ap+7 +0x1.10bc227b562fbp+5 +0x1.c1173b4e5ddadp+4 +0x1.d9001dca0d0eep+4 +0x1.a55d8a858da63p+17 +0x1.cd9a6ee820ed5p+3 +0x1.2b5dea169fecep+2 +0x1.8bde1ed4662eep+7 +0x1.99c44fd3ac3b8p+4 +0x1.4057f04aa7e55p+2 +0x1.401eb9849a647p+7 +0x1.44ac15c514cabp+1 +0x1.76f13e7054f94p+4 +0x1.2ebcf3dcb41c8p+5 +0x1.9761f1fbccb06p+0 +0x1.ff7194abad09dp+3 +0x1.9faa43f6a5838p-4 +0x1.f4cbffdf21417p+3 +0x1.e45ac2ca35d02p+5 +0x1.844f837d8ab5dp+4 +0x1.874483137bc43p+2 +0x1.69a966c758b93p+5 +0x1.a33ecd67df3e5p+4 +0x1.aace2c27fbc8ep+3 +0x1.cc8989e16867fp+2 +0x1.b94fe32a76798p-1 +0x1.ec70194b48938p-1 +0x1.7d2c291d4a5afp+5 +0x1.3fdef362abep+4 +0x1.fc5d4cd67bbcp+2 +0x1.4ccb03df3c899p+3 +0x1.21a5403663219p+5 +0x1.c95ae1fb09af9p+4 +0x1.7d909dfe17d1ep+16 +0x1.8904df8cef977p+5 +0x1.2e1c5bf07d9dp+4 +0x1.5562d5318113ap+5 +0x1.2fca278dafa5fp+4 +0x1.97f5979872be8p+8 +0x1.1813c576a710ap+5 +0x1.4274ed01e6e62p+17 +0x1.edb2c956326acp+3 +0x1.00eca5020d048p+6 +0x1.43fcaaeab506cp+3 +0x1.c81b1b211dc46p+11 +0x1.946d6e81d5d1cp+5 +0x1.277c018981a36p+6 +0x1.8e64f2f9b719dp+4 +0x1.13445d79354c5p+4 +0x1.48a9f7fc3c622p+4 +0x1.feef8e606f2fp+11 +0x1.90e7dc0b762dep+11 +0x1.fb6bd01e7f7f1p+6 +0x1.26d3104e55d0ep+1 +0x1.5dcb2be44062dp+5 +0x1.2635b8bd5b8e3p+5 +0x1.5cd7af0180081p+6 +0x1.35d963b516b07p+16 +0x1.1be6e368125cp+3 +0x1.9b593e2fb539dp+0 +0x1.a1c6abb5f9edcp+5 +0x1.b25baf9ade36dp+0 +0x1.2fb4c34d43d8ep+12 +0x1.af2dbf37554ep+4 +0x1.171d14fc28a7fp-2 +0x1.01f6e5b2bca52p+12 +0x1.cc1d65e87d738p+16 +0x1.712ebb00b0645p+5 +0x1.e4c8786796bbfp+5 +0x1.7fda224c07a83p+5 +0x1.41376664a984ap+5 +0x1.e3b361813885dp+5 +0x1.387b3ded66f03p+6 +0x1.8406a718c050ap+3 +0x1.6ba21a04d265bp+5 +0x1.9794a8a8b9c03p+18 +0x1.6e7ab8a0dd1e2p+5 +0x1.735ef6fca641fp+6 +0x1.74dce7532b992p+5 +0x1.5d9ef42caeaacp+4 +0x1.96ad600480f9bp+8 +0x1.4744fd6f04e25p+3 +0x1.1927d5899d554p+13 +0x1.f2ca4be85c1ddp+4 +0x1.4e576c0ecb362p+8 +0x1.73a1407bd75f5p+18 +0x1.18c30b9eeeb94p+6 +0x1.0f27f650e9956p+5 +0x1.0f908faff4f08p+4 +0x1.d236fcf469a04p+2 +0x1.54b4cd24075acp+12 +0x1.a851ad8946cebp+0 +0x1.a4e12403dd402p+10 +0x1.aa1703140020bp+5 +0x1.8d9924165b94ap+6 +0x1.dd5e35e35befap-3 +0x1.e8c328b00bf73p+6 +0x1.6ab7d7cfdaf79p+5 +0x1.a7f84cac6a765p+5 +0x1.ba645b3710a92p+3 +0x1.2c58e62ab9d62p+4 +0x1.b3b7c47fa639ep+5 +0x1.9f7c8e4eb03dcp+2 +0x1.78cee59e65ae4p+4 +0x1.4676e98b619b1p+16 +0x1.1cffb339bcdecp+6 +0x1.faf99381ff5dcp+4 +0x1.e728bfda70392p+5 +0x1.501ecd620922dp+9 +0x1.038cce4f9b322p+6 +0x1.3d5fe579f8a33p+4 +0x1.7c503ec894fecp+6 +0x1.ba6244e5e1775p+5 +0x1.2d569a01f6ee6p+18 +0x1.236dd05965d8cp+3 +0x1.2db4ae72fbed8p+15 +0x1.deac8d3028b0ap+3 +0x1.88a0d3dabb65ep+4 +0x1.0d0431e118b2bp+3 +0x1.6425feb9c71c1p+2 +0x1.61db7ee53c86dp+2 +0x1.38ea349bfdaf1p+6 +0x1.87779a04d64ep+1 +0x1.48bd9ca9cab06p+8 +0x1.b208cb36e04cap+6 +0x1.0d5bc9c865f93p+14 +0x1.9f53a2e4617f7p+17 +0x1.4e385a336fa94p+4 +0x1.d66c8a146754ap+4 +0x1.da55698dba9f5p+5 +0x1.1162d61e5537fp+5 +0x1.000793281682ap+15 +0x1.2506223ae82f4p+4 +0x1.36578fb3da7e3p+6 +0x1.3e7eb31d77aebp+1 +0x1.dd482ee77d50dp+1 +0x1.aaef6fb13b1d5p+2 +0x1.2d7c2dfc23b47p+3 +0x1.e63d83e3be1f4p+2 +0x1.4c58ef7dcc0efp+6 +0x1.286ed2ff7f64p+5 +0x1.ae5a5e7b80d4fp+5 +0x1.a414bdeece5fcp+5 +0x1.bd8630c9d9f6dp+5 +0x1.02a9b5e2eab56p+3 +0x1.2229be4ab0cefp+4 +0x1.48b76c29a2eb9p+18 +0x1.9d993f749f3cp+5 +0x1.2f74f3d43ccc6p+5 +0x1.91cd69c6d7141p+4 +0x1.ce6f1e0bb706p+5 +0x1.c41d2e6247258p+13 +0x1.e681a9a1ee19cp+5 +0x1.3959fecf77198p+6 +0x1.27d23856f588ap+6 +0x1.91d85f1c5b532p+2 +0x1.c9775a6b5b261p+5 +0x1.9c90fe40af676p+13 +0x1.2c57e4152e11fp+4 +0x1.152a210110265p+17 +0x1.85206353cbe0ap+3 +0x1.916503fe14a1dp+10 +0x1.a6dd47841b559p+6 +0x1.107bcb06b10d1p+9 +0x1.cd447679e1c1bp+14 +0x1.f107ed18c7e4p+5 +0x1.be9222148926fp+5 +0x1.cb0575cd48829p+6 +0x1.957ceaf31e3a8p+1 +0x1.587bb7e440041p+4 +0x1.f9263f7f6a65ep+5 +0x1.1492ca6540988p+6 +0x1.1a2fc0122ef4fp+4 +0x1.2c5705a8706a1p+5 +0x1.a1dd7b474b9c7p+4 +0x1.e84c68a0f55d7p+1 +0x1.62ccd3bcc9e47p+5 +0x1.15cda5f545772p+2 +0x1.67c2efef9216ap+3 +0x1.a918e54b86041p+3 +0x1.cb041dca5aecfp+5 +0x1.b0c1ba2be434p+5 +0x1.21efdb87e277ep+5 +0x1.03fcf14ad8b02p+5 +0x1.b69b8f8487425p+4 +0x1.f0fd6ee5ebf97p+5 +0x1.ec9813ef62baep-2 +0x1.0d8d3b7c394b1p+3 +0x1.87ec4af2d2ed6p+6 +0x1.e72d1695d8421p+3 +0x1.d8468895d3e48p+3 +0x1.e1270f60e46c5p+4 +0x1.8b4043048e4e9p+5 +0x1.0f3f1c5e3eb47p+5 +0x1.ece83f94c7da5p+5 +0x1.0f0d5ba415e9dp-1 +0x1.62e6c1f1f66ccp+4 +0x1.c3889dd3b10c4p+3 +0x1.11991cc98c781p+5 +0x1.e841e69483fddp+3 +0x1.e9df4b6d8f001p+8 +0x1.175b571e49cc1p+18 +0x1.618e44ac3792p+5 +0x1.f2deb6809d7a6p+3 +0x1.a2d6a7d525958p+4 +0x1.916284d800af7p+5 +0x1.25ad3ffb1bf43p+5 +0x1.723477821a7f9p+3 +0x1.98767a3685b2fp+6 +0x1.24044c7a1a596p+5 +0x1.e26a08bd5d734p+5 +0x1.37c13af3efab3p+6 +0x1.cc31c9300b6e7p+4 +0x1.039d68ffba201p+6 +0x1.4444df8e1c95fp+3 +0x1.0a62699bb5bep+0 +0x1.2700eff94e41dp+5 +0x1.993279407a6ddp+5 +0x1.fe3112d3e96d7p+5 +0x1.3c54e99ec2d7bp+3 +0x1.10491d25a4577p+6 +0x1.d597b66f66f7p+5 +0x1.dc5c87b21be91p+5 +0x1.a034a2ff3e82bp+5 +0x1.be046120064a1p+2 +0x1.6fdffab4ee77bp+5 +0x1.b76ae04d7e70dp+4 +0x1.c81d48756eb01p+4 +0x1.7f351016e2201p+0 +0x1.70398a0cd7ff5p+11 +0x1.fcf5da71c1ddep+4 +0x1.721cd1afbac7p+6 +0x1.48d3e3bfa091p+9 +0x1.9282509b1ce1ep+6 +0x1.f46adea4f5525p+9 +0x1.ea8d8d09544b3p+5 +0x1.634197ae539bp+5 +0x1.7997b1db9f9dbp+8 +0x1.fcbaea59d20eep+5 +0x1.a2d1d0a6524bbp+19 +0x1.a8a402cc337f8p+6 +0x1.faa6e09769bbfp+5 +0x1.352ce9b1c3c99p+6 +0x1.0f9e5ad9e4d4p+7 +0x1.7ede9965f805ep+4 +0x1.59b9ece4d7086p+2 +0x1.809f24080f26bp+5 +0x1.f2cb7a39e2ebbp+0 +0x1.b383d89779f6bp+5 +0x1.ca8d9803f941ap-2 +0x1.a006a28516bc2p+1 +0x1.248f1abbe5298p+4 +0x1.1cc2da35a2ce4p+7 +0x1.090bedb800ebbp+6 +0x1.779fbd18c5366p+5 +0x1.4ad68d9066c0ap+3 +0x1.979ef250bb00ap+9 +0x1.7a7a10218e9e5p+5 +0x1.7494061487894p+6 +0x1.7ef3043ae1ffp+1 +0x1.d34a15ba8b03p+3 +0x1.a6c459fb11707p+4 +0x1.1400163158023p+4 +0x1.9017188ed9098p+5 +0x1.a7dddb55c0abfp+2 +0x1.afdbdc8ae98aap+5 +0x1.0cda8a02b5968p+5 +0x1.f2ea96e8a1aeap+5 +0x1.1ca05139d329cp+8 +0x1.f82d0f7e88cbdp+3 +0x1.0f6e7223ca5a2p+5 +0x1.a3565be3ab7cap+4 +0x1.432f2593ba253p+5 +0x1.4576f0e18766ap+6 +0x1.47551f0652f2p+9 +0x1.0ad11673e8814p+1 +0x1.3356f564696b2p+4 +0x1.708ed51784316p+3 +0x1.593b1f4cf7ff8p+5 +0x1.8a71af3e6f086p+4 +0x1.c913288e10ee5p+4 +0x1.ca761911d6825p+5 +0x1.7c58f80a2239p+6 +0x1.1ade9b8a02d0cp+6 +0x1.3d1361b87663cp+2 +0x1.145b73a97434fp+5 +0x1.1956d93399a9ap+2 +0x1.8d314e538a12p+3 +0x1.b7304234c8396p+0 +0x1.55b2f4f5af00ap+5 +0x1.e2917cf966dfbp-1 +0x1.cb71501d60ab5p+2 +0x1.0994b2bdf20a1p+5 +0x1.9f227ede82359p+5 +0x1.7c4cb72e6e007p+4 +0x1.ac3e4dfebc3a8p+15 +0x1.9a579fa3cc24dp+3 +0x1.6c94b888cc32fp+4 +0x1.1e274d2b4ef0fp+4 +0x1.c31954f7c0471p+4 +0x1.7651d1e41428fp+6 +0x1.0599eceeb8e3bp+11 +0x1.1456aa2fda1d5p+5 +0x1.2983e988782bp+5 +0x1.4d14a6965a42dp+5 +0x1.1eb5e254eae7cp+0 +0x1.828d0f8b3b36fp+5 +0x1.0a1c01dc1f165p+13 +0x1.0fec2ee326535p+6 +0x1.d73e22ae16652p+4 +0x1.96c56a18327e1p+5 +0x1.6e0130310475fp+17 +0x1.44b2b46682e0fp+3 +0x1.e1035faa404b2p+4 +0x1.51151abf150c8p+2 +0x1.3ea250052b84ep+14 +0x1.50306b521e4bdp+2 +0x1.a048157228dc3p+14 +0x1.ccb8f51e62ffbp+8 +0x1.3df215824f86ep+5 +0x1.ea48e3239153cp+6 +0x1.3d5115f5c41fdp+15 +0x1.d71d7478b87b5p+15 +0x1.bee0f7c0ab0f5p+5 +0x1.2a707e839c556p+1 +0x1.297034a893d1cp+12 +0x1.572884cc28f0dp+6 +0x1.4f56f63b43661p-1 +0x1.0160b30ac0b56p+3 +0x1.78032a5c3507p+5 +0x1.4343fffb156c6p+4 +0x1.54e8b6c39698ap+5 +0x1.8d9774a3fd2b9p+6 +0x1.303f902e02a0ap+4 +0x1.20701acf28ec4p+6 +0x1.73b83c59d70c1p+6 +0x1.8cbdc2d78212fp+5 +0x1.dd01feba597f4p+9 +0x1.29ab4347d9ee7p+6 +0x1.6a07d89c1e6fep+8 +0x1.6efff3ebf301dp+4 +0x1.4aa27d69d75dp+6 +0x1.571359af15b32p-2 +0x1.31d9167210eb1p+5 +0x1.d0b606c9b7e69p+3 +0x1.d1568fde07318p+4 +0x1.e4f1a9881048ep+3 +0x1.4d697b87c75aap+2 +0x1.842b070ae212p+3 +0x1.88c38bbb7126ap+0 +0x1.da1824a2aff47p+2 +0x1.5d2d7a7cfb075p+5 +0x1.e95aba968a36ep+5 +0x1.21b0994f22efbp+17 +0x1.80fd79474365p+3 +0x1.1f527796f9d6ep+0 +0x1.772cc20827805p+5 +0x1.292fb81837ed2p+6 +0x1.02a2d2440f1eep+5 +0x1.8b9b2ad3a7018p+4 +0x1.71cc0b40a190fp+5 +0x1.98d19d61d77e5p+0 +0x1.6f08d85f63b29p+6 +0x1.6bf8eb169c1e6p+3 +0x1.ab3fa0de23b21p+1 +0x1.aee61b58e4c68p+5 +0x1.6b4c75097a988p+5 +0x1.c6e46d9804ff9p+4 +0x1.aab7f71a414e5p+17 +0x1.6a9065373c8ep+13 +0x1.b4aec012bbed1p+5 +0x1.48da44b563a64p+4 +0x1.0f7e1fcd34f46p+3 +0x1.49f530b49f4f9p+13 +0x1.8f7991cfdd1f3p+0 +0x1.87d7cd5102e18p+6 +0x1.4444c85eabceap+6 +0x1.042f3e613a4a8p+6 +0x1.be6272ee85b59p+5 +0x1.93960d8e48f64p+6 +0x1.e7fa4546e4d12p+5 +0x1.1d9665258a094p+6 +0x1.ef5dae6f6dd99p+1 +0x1.0f1d72aa18997p+6 +0x1.54b0fae820971p+5 +0x1.a6887f6e150b3p+4 +0x1.b00039dbb022dp+8 +0x1.06d407301571ap+1 +0x1.8d0685227a702p+3 +0x1.febfafcb0cb2ap+1 +0x1.ef0776a3c9badp+18 +0x1.b6ee82d64a44cp+6 +0x1.e1d88bb523cfep+5 +0x1.52a1d736219f1p-1 +0x1.5747bd764b258p+8 +0x1.9f03a0a2d3689p+4 +0x1.f01e824781ccdp+5 +0x1.feaf3ca76945p+4 +0x1.540ecd246890dp+5 +0x1.18e49bd419031p-1 +0x1.a5fbc1a69c86bp+15 +0x1.4fb71f2dcc6b7p+15 +0x1.4420dd029e9acp+5 +0x1.19f9b31e39b7ep+4 +0x1.ecfe30ac21902p+5 +0x1.121be96eaa599p+5 +0x1.1b4963e0e1841p+6 +0x1.6981fef270f4dp+3 +0x1.eb126004f59e1p+2 +0x1.a411c32d5b1bfp-1 +0x1.aaf6a4294b006p+3 +0x1.511bf28f9c7ap+6 +0x1.fb826b7efc259p+15 +0x1.55e6d3a333981p+6 +0x1.73703590dcd04p+5 +0x1.f85310c6461a1p+13 +0x1.63a16189e4d2p+11 +0x1.4ac24de313c0ap+5 +0x1.60237f7bf5fc8p+5 +0x1.fc1fc6d4900cp+4 +0x1.424c0bc41a022p+5 +0x1.39739e14cb62cp+4 +0x1.4ec2aa6566076p+5 +0x1.432f0b844bf75p+6 +0x1.780d4fa755ee4p+10 +0x1.9e340aab4e874p+2 +0x1.c4a406bf06872p+12 +0x1.c43a9d424ff88p+6 +0x1.14dedce50ded9p+2 +0x1.8daaa68e6e83bp+2 +0x1.433f84ba77494p+2 +0x1.c51a5e707819ap+6 +0x1.26e8dde9e1a93p+6 +0x1.46561a5a8a6bep+2 +0x1.5c7ddf353c49cp+2 +0x1.32e793ddde642p+5 +0x1.d79b1b777c72p+1 +0x1.d545f5bf4debap+6 +0x1.777bd0d3590dap+15 +0x1.2791037621b62p+3 +0x1.eeedbc1692c3dp+13 +0x1.30735cbcfb901p+2 +0x1.3aa0497e93d0bp+5 +0x1.972c06241696p+4 +0x1.b8281a8f62a9bp+6 +0x1.47ec00c6a38eap+4 +0x1.0e736eb06ee0dp+6 +0x1.d9e7c7f3d8c08p+2 +0x1.85064bfcfe545p+6 +0x1.44883b8af9096p+1 +0x1.39f1312135afbp+19 +0x1.3f154b0665761p+5 +0x1.41d73c2bb4495p+4 +0x1.419dff71f2b37p+17 +0x1.b7562cff2c32fp+1 +0x1.ebf352096b916p+2 +0x1.578c01feffaa5p+3 +0x1.73a8a1d0a887p+11 +0x1.0148794b40b9p+6 +0x1.3df251d216048p+4 +0x1.9a8a3b3feb66ap+4 +0x1.c150d9ab63e91p+8 +0x1.12b0a229ba3ep+14 +0x1.1d8f00024e25dp+6 +0x1.8efededd81f3bp+5 +0x1.2ae0605173318p+5 +0x1.e39e34dd96714p+15 +0x1.ee0d627386872p+6 +0x1.18edc43845b4ap+4 +0x1.603609ac6cf24p+6 +0x1.25692862efc42p+3 +0x1.86281e7e6a96bp+11 +0x1.2ca28fda806b2p+16 +0x1.e90a43c16df23p+4 +0x1.5651d3801cd8dp+6 +0x1.5701b808b9f14p+6 +0x1.5fa8ff2828593p+4 +0x1.6694226cb301p+5 +0x1.940548c7849fdp+4 +0x1.c134837a6dbfep+6 +0x1.9efc23646967ap+17 +0x1.9a538db2e6e97p+3 +0x1.593a484ede3c5p+6 +0x1.2fcde151ce7p+6 +0x1.129f910c8a5a1p+6 +0x1.f7dbec199bdf2p+5 +0x1.1c7c15ffacf72p+4 +0x1.dccbafc3276d9p+2 +0x1.00371d2cc6b36p+5 +0x1.d0b2abac2ceffp+3 +0x1.155321995b16p+5 +0x1.205f14e6ed97fp+10 +0x1.cd66a5bee34ap+5 +0x1.1e97b19df3193p+0 +0x1.0515f1b105ddcp+5 +0x1.f0203b85aff62p+5 +0x1.f2a823619b423p+3 +0x1.185d35a688047p+14 +0x1.76b997285836fp+15 +0x1.3ef2b20e49a71p+5 +0x1.172959af33f49p+5 +0x1.5dc11aaeb3563p+3 +0x1.bdabdb51974f9p+1 +0x1.cca587756bf97p+6 +0x1.e618a1c008fedp+5 +0x1.f67aff89446f7p+3 +0x1.dfe2e053b15f1p+2 +0x1.d9258b949378p+5 +0x1.7e7af47ca9992p+7 +0x1.472ea0a57257ap+5 +0x1.c6bd08606afd7p+2 +0x1.6ccd9aedaa482p+5 +0x1.4eea4fc7c0df2p+3 +0x1.0a3190c703a1cp+7 +0x1.29a7e08b7c1b8p+3 +0x1.acfa445786791p+4 +0x1.5a2745fd22c4cp+5 +0x1.65739d74f41cap+5 +0x1.6b677634e0771p+4 +0x1.11ff816f79437p+9 +0x1.93916bb8c3a79p+5 +0x1.a896c4fe9d2c4p+5 +0x1.572b8ab779de5p+4 +0x1.c870f57bf0493p+3 +0x1.e77481244e77p+6 +0x1.d496b72c5ba68p+4 +0x1.78cee42932141p-1 +0x1.c58098cd47e9ap+3 +0x1.f9405548ab2c9p+3 +0x1.4db6153e75eeep+6 +0x1.5132c60839e66p+11 +0x1.8e88dd389c11cp+5 +0x1.29ced6a07a47dp+3 +0x1.5568178680894p+5 +0x1.e215dcad628b1p+1 +0x1.bf41615b8ed86p+5 +0x1.56f397b026379p+5 +0x1.595c2857284b7p+5 +0x1.3984de345da9ap+6 +0x1.03c732c0abb98p+8 +0x1.77e0850fdd6f4p+0 +0x1.8402c1bb427f3p+4 +0x1.9dccd72d4070ep+2 +0x1.9956aa3c2be05p+4 +0x1.35473c982330dp+19 +0x1.a62117dff321cp+6 +0x1.702701098028fp+4 +0x1.dbc01e41f5f82p+13 +0x1.6d30ccf50bf28p+3 +0x1.ae9133c0922fp+5 +0x1.255eba88375b3p+5 +0x1.8849950c22a83p+5 +0x1.367c7cc34cf1bp+5 +0x1.6d5a65f707161p+4 +0x1.1cb1edae12708p+5 +0x1.ef69e99532b5ap+0 +0x1.8c99e73e068b7p+14 +0x1.69db16c7fd2f1p+5 +0x1.21a1c28de04dbp+6 +0x1.ff938563dfab3p+6 +0x1.423254be09936p+4 +0x1.879db1ce895c5p-3 +0x1.6875a55c2eb9ap-2 +0x1.670ba4491d481p+6 +0x1.1866f0e50398bp+0 +0x1.3e098239cb3abp+5 +0x1.0405d12d1adcap+5 +0x1.1cbdfd305e191p+0 +0x1.23b29b3cf13c5p+5 +0x1.342de226056dfp+6 +0x1.549390e6946cep+6 +0x1.b3b7bec438c0dp+6 +0x1.1cfd0e77edb9fp+6 +0x1.70fb8183b5c08p+6 +0x1.19f9b69e97d7fp+11 +0x1.209c4ee94da7cp+2 +0x1.2e3617f1fee32p+6 +0x1.1c1db1fb95388p+5 +0x1.f928195afc74ep+3 +0x1.dfcab679cfa99p+7 +0x1.4187a39169fe4p+5 +0x1.b243e06f8547p+5 +0x1.64fb113613a33p+5 +0x1.16f3b2d05f4e3p+4 +0x1.434b6084afe31p+4 +0x1.0b7867e65f975p+4 +0x1.07e39ea7f9f1p+11 +0x1.c48e5622127p+5 +0x1.5f291927e868p+6 +0x1.f58074583ed29p+4 +0x1.7b9950455bca1p+10 +0x1.72ece9db250ccp+5 +0x1.dbf5ef7ad0856p+11 +0x1.da8917178d9c8p+5 +0x1.1b137f3527ffap+6 +0x1.8b56db7b2b692p+5 +0x1.63e74c5f6c459p+8 +0x1.9542b69f29549p+5 +0x1.016ad7f86d4d3p+2 +0x1.085359a386af8p+5 +0x1.4619f344d4554p+5 +0x1.0087a9108bcebp+10 +0x1.b749efcb64edbp+5 +0x1.472a7fa2499bp+4 +0x1.691b0bdb638c7p+5 +0x1.085a6515f9d3ap+2 +0x1.8dc8d84f11493p+5 +0x1.d0eb3c1b60467p+1 +0x1.f126dba47fb0ap+3 +0x1.418eca70a7322p+8 +0x1.dea667bd71b0cp+8 +0x1.3c6296ed93771p+5 +0x1.25c4a3ac4d261p+3 +0x1.210400ceccd61p+6 +0x1.38332187aecdp+6 +0x1.5c9286643d30cp+5 +0x1.18ff98f62220ap+14 +0x1.8cf1398a789f4p+4 +0x1.0ecb1bc3bc427p+6 +0x1.056002dc312acp+5 +0x1.e927ff1562e22p+12 +0x1.24b757e8649d2p+5 +0x1.caf8aafbeb57p+4 +0x1.6696a6b8cf896p+18 +0x1.accd6c732f01dp+4 +0x1.1312f26d1ccc9p+5 +0x1.6b2695e7efd6fp+5 +0x1.bde25b76fe515p+5 +0x1.2f9da2f58db99p+7 +0x1.ce19e337eee24p+6 +0x1.343aece15d72p+6 +0x1.0aec92119224ap+3 +0x1.6adcaa86e0bc5p+6 +0x1.f53f9695524b3p+3 +0x1.14a658230b8f4p+3 +0x1.04cb53b1eec26p+5 +0x1.e3c5cd2a40014p+4 +0x1.be3042a74e7b7p+3 +0x1.97db52e2f5759p+13 +0x1.e95ce76cc19bfp-1 +0x1.a358ff516ef7p+6 +0x1.c5260ef794743p+5 +0x1.522bb7c002b15p+0 +0x1.2e880e5ba00bdp+6 +0x1.136ca4f0e425ep+5 +0x1.71e9d1b012bcep+6 +0x1.a138c9e31d097p+4 +0x1.5de30851f0ec7p+5 +0x1.d4b133d2c48e6p+10 +0x1.3193c96b1ac87p-1 +0x1.c43d9127a5297p+1 +0x1.34b87cb19ff6ep+4 +0x1.828bb31400e07p+3 +0x1.f6813e0be0236p+4 +0x1.670755ceace88p+1 +0x1.0c9051b2046acp+14 +0x1.0a07770762b91p+6 +0x1.7887845877a05p+5 +0x1.121c20202b70fp+8 +0x1.26e171caebc77p+4 +0x1.92f09cc28b328p+4 +0x1.dcfa74aa0c842p+0 +0x1.5d3dc22da4969p+1 +0x1.4b23d13d2a92ep+4 +0x1.54e887644b5fcp+5 +0x1.be379f76d3f6p+5 +0x1.2ef2619eecd77p+5 +0x1.8d1f67e8bde73p+5 +0x1.05ad8860bc7aap+6 +0x1.3ae1f9732e0d5p+3 +0x1.b30b9569707f7p+2 +0x1.6698192d6c698p+4 +0x1.0345829593aebp+7 +0x1.cf389f35bc894p+16 +0x1.0b73fa3d4ee04p+5 +0x1.2f6ce73702p+2 +0x1.725514dbb6513p+13 +0x1.27994370da887p+3 +0x1.8517a4e26418bp+13 +0x1.14cfd0c1dd982p+2 +0x1.829ee205778a2p+5 +0x1.a251dcd476bb8p+4 +0x1.96a21cef60293p+4 +0x1.21328e69f05c2p+4 +0x1.19eca4fbfc7efp+7 +0x1.db9bddda02fafp+5 +0x1.52310b1e507f2p+6 +0x1.6e1d4de7e0043p+5 +0x1.1b5a2ec174bb5p+6 +0x1.6eeb6f8336ea8p+1 +0x1.df839a99fb123p+5 +0x1.e45879ca2ccb6p+5 +0x1.b900ca31ed5f9p+5 +0x1.91060d343d85cp+0 +0x1.195928977e116p+5 +0x1.0116ce7cd65e2p+6 +0x1.8828f090ec314p+5 +0x1.25d38d22ad659p+0 +0x1.90e7abe2436d7p+4 +0x1.2dcf51fb4d715p+4 +0x1.0c3b0b9990e3ap+6 +0x1.5e64c7c4ea84fp+9 +0x1.b71937e28de42p+8 +0x1.3ce6a14889cc8p+10 +0x1.84dcb05a0c422p+5 +0x1.9c31c5243a31fp+5 +0x1.1d69322c0be85p+6 +0x1.f20674b0bc838p+5 +0x1.c0da23c9a9e18p+4 +0x1.e8c7aba4bb745p+5 +0x1.d6162d751c6f7p+4 +0x1.64e58ab163f4bp+4 +0x1.249002b8ad119p+6 +0x1.ea7275b3b212dp+6 +0x1.a54c81d38a1b9p+3 +0x1.2c4d800033d5ap+1 +0x1.b483586c1918ep+12 +0x1.e339c4854b905p+18 +0x1.e8117426cbbacp+5 +0x1.0c02b4134b628p+2 +0x1.39b5041221c62p+6 +0x1.47cd73ef11e78p+4 +0x1.7c9f27e559acdp+3 +0x1.2cae7ab3743efp+15 +0x1.04034162b405cp+6 +0x1.bd7c16b6c19f7p+6 +0x1.7496a3b2c2b66p+17 +0x1.15a296e0641b7p+10 +0x1.5f22f6f3cbbf3p+5 +0x1.0ed75a82b4c4fp+4 +0x1.e8e83c854d6adp+4 +0x1.a370752a5db5ap+5 +0x1.bb2b847ab835dp+10 +0x1.8c6d532a00743p+3 +0x1.49adccd3b013dp+6 +0x1.2ecd266409769p+6 +0x1.d1e5c85a19458p+3 +0x1.773567909a1a4p+7 +0x1.357222e55ea3dp+4 +0x1.c8f18e08cdb32p+1 +0x1.ef85e3469a592p+5 +0x1.db52d11bb196fp+6 +0x1.5e218630b9102p+5 +0x1.d1f87af2223ddp+6 +0x1.dd57c75b4aa23p+1 +0x1.08caef3c05dafp+19 +0x1.4df82736fb57fp+4 +0x1.3213662c07cf8p+5 +0x1.4a8c99189a0eep+4 +0x1.1ddf2f855f655p+4 +0x1.110f3bb5a6e65p+5 +0x1.b2431a4a5ff05p+4 +0x1.94667ae04e833p+7 +0x1.b9fb1c7e7d945p+4 +0x1.a3bb093b7dcb4p+6 +0x1.09d7f2b96df5ap+6 +0x1.0890bb1ad848ep+8 +0x1.c18ac7c87bdcep+5 +0x1.8d4a468f189c3p+5 +0x1.7b7a0f34716b1p+3 +0x1.0692ce73af68fp+6 +0x1.85cdd80cb63dcp+3 +0x1.c39e1bee862a9p+3 +0x1.8ac83f7041549p+4 +0x1.bc31419cfbbf2p+3 +0x1.2981fc7ea63bep+5 +0x1.d1336adb6872bp-3 +0x1.3674ef67cc3c3p+5 +0x1.4007272d121d6p+5 +0x1.0efa7f4ed7cedp+13 +0x1.4127deada18d7p+11 +0x1.7ce0f509abaaep+5 +0x1.6809f8b9c488cp+3 +0x1.e404cceed3a0cp+2 +0x1.cc53275a5e36ep+5 +0x1.229e8f2518634p+4 +0x1.da9879db459c5p+14 +0x1.55449908fea24p+4 +0x1.864f48354ac27p+3 +0x1.f4111f0a0dafp+5 +0x1.18b603b33da3fp+6 +0x1.211f24ddd2d1ep+3 +0x1.a7f5fa153d6d5p+5 +0x1.355b878396d28p+6 +0x1.939665b18aa42p+4 +0x1.2ea7814446cdcp+3 +0x1.8a1efb49582d1p+2 +0x1.c55656cc9c729p+1 +0x1.f4b0b6b24d292p+13 +0x1.65d624af2b17ap+9 +0x1.af686fd3a732ep+4 +0x1.f7e54eff881d2p+17 +0x1.23baea1c570dap+7 +0x1.be069a31e8a28p+9 +0x1.9437082a13a36p+6 +0x1.cc68819845af8p+5 +0x1.b9e08d7533c1fp+3 +0x1.2bd976eb743e9p+3 +0x1.cc1c2e5abf477p+5 +0x1.de85c60d9b38p+5 +0x1.1a6c5f72b3b74p+5 +0x1.a50210f603dfbp+4 +0x1.2c6e8b145fc5p+8 +0x1.60da66d32d52ep+6 +0x1.c709f2f3564a2p+5 +0x1.1f200a57388b3p+5 +0x1.13d6752aeff97p+5 +0x1.e8ba6c07d7f4cp+4 +0x1.2b82cb39b7caep+6 +0x1.0d2da0b1c15c2p+4 +0x1.3936a0267af6p+12 +0x1.f38a50d87403ep+5 +0x1.9759665484b6cp+2 +0x1.2c465514bc955p+6 +0x1.62c53fac01795p+5 +0x1.65ef86c002686p+6 +0x1.57c55a29a0bfdp+15 +0x1.92d71d6c13ffbp-1 +0x1.31e3fc3ef3557p+6 +0x1.3a4d85bb5ff54p+5 +0x1.407671cb1315ep+18 +0x1.2e35e09832d65p+2 +0x1.0a00ee7dcc47p+4 +0x1.789500e5b76d1p+18 +0x1.70135ca095ddep+6 +0x1.14d57cd151cap+5 +0x1.b14ab2e1a1931p+4 +0x1.3147fb2c11d92p+6 +0x1.34133e11af9f4p+3 +0x1.43132980495d7p+5 +0x1.26bc50d1f937fp+5 +0x1.04c174bc799bap+14 +0x1.872bc7494c572p+4 +0x1.0345459a64a72p+6 +0x1.743c3d42d78b5p+3 +0x1.4bc287b2799e7p+3 +0x1.7d3c5d7c1985p+4 +0x1.275252ae09687p+7 +0x1.3b3630ced9dbap+3 +0x1.ca1876e690919p+4 +0x1.1b37ceee4fdfap+1 +0x1.4869962f3383ap+6 +0x1.69db8bc72f9c4p+14 +0x1.a7327b76eb1afp+1 +0x1.9a139cdd0a839p+10 +0x1.d33571a40c1dap+7 +0x1.0b676def271bcp+6 +0x1.4d54bd8fda747p+3 +0x1.28e8b644692f1p+5 +0x1.c295798eab303p+5 +0x1.93018be493167p+3 +0x1.6d7c1b760b593p+6 +0x1.a3fc5e3c5b498p+4 +0x1.8b1dcee72e924p+11 +0x1.ca1ef9735324fp+12 +0x1.910b00aa0acfep+3 +0x1.f5575de81d75p+9 +0x1.1a04d9a7bbeddp+7 +0x1.1fcc12b9741f3p+2 +0x1.727c1a17828afp+5 +0x1.45dc8fec1c442p+5 +0x1.68a11f57cd59fp+6 +0x1.98d238f6c7p+19 +0x1.b1115f94625b5p+6 +0x1.eb5fcfd2681c7p+2 +0x1.8efac1dab6c97p+5 +0x1.29a27de662e5p+4 +0x1.7a4fb67d487bdp+6 +0x1.0230cbc9c71dep+5 +0x1.7074b6feefb0ap-1 +0x1.acb0c67b1d89p-2 +0x1.984af40cd8982p+5 +0x1.24febcf126997p+4 +0x1.1f8111134795p+5 +0x1.d6122dd9c155cp-2 +0x1.69ab64fb86bc2p+3 +0x1.1a88892d74b5ap+3 +0x1.f41f0ef06bb68p+8 +0x1.c0e10529c42d9p-1 +0x1.906e671737e5cp+5 +0x1.bc686661a6f22p+2 +0x1.1706febb9eff1p-5 +0x1.0b93e9d839971p+7 +0x1.e2f1f84fa0895p+3 +0x1.3d9c36121f1cfp+7 +0x1.ddb04e65643eap+6 +0x1.8bee687e5ecaap+5 +0x1.1b76336e1361bp+18 +0x1.7c71e9af9b303p+6 +0x1.262938eb10588p+4 +0x1.3b2f596eb300cp+5 +0x1.8f9f8df10a798p+1 +0x1.725b32b02f354p+2 +0x1.c5e68f89f92f7p+4 +0x1.71e2e45ea8f36p+5 +0x1.87272d223946dp+5 +0x1.654f02c41c6e7p+4 +0x1.c13ea215285d8p+4 +0x1.4fc88a5547697p+6 +0x1.b31ce7a96ac71p+2 +0x1.62a87c5791cefp+3 +0x1.5c2df44fe566bp+4 +0x1.bcfdc03966addp+6 +0x1.ce78174d178f7p+2 +0x1.95ad2d8c21206p+6 +0x1.27dcfa3a196cfp+4 +0x1.4deabc30d8e6cp+3 +0x1.13eb23be3be5cp+5 +0x1.eff2232aee60ap-1 +0x1.f5a1ea2092c88p+3 +0x1.a45e0183daf09p+3 +0x1.605f04fa05b01p+6 +0x1.894f0bc8ee11p+4 +0x1.eae4bd307e63ep+4 +0x1.ddbf58e9373b4p+4 +0x1.06c9faa674185p+4 +0x1.e70c74528c71cp+10 +0x1.7d39b7548e6dbp+1 +0x1.5ec2e55f64eefp+6 +0x1.9744ff1129984p+0 +0x1.89dc7dba2f1e1p+6 +0x1.ccceeeabc3689p+5 +0x1.2a4341e462355p+0 +0x1.32f77b7b625f1p+17 +0x1.db1708868088ap+16 +0x1.09a0ebe2dc71p+15 +0x1.69c3bc20a9aadp+2 +0x1.b84691ffbbc01p+15 +0x1.2f64b3135dac9p+4 +0x1.d12df2efc11e9p+5 +0x1.2d7112a66da67p+6 +0x1.5aded5b092079p+3 +0x1.6653d629b5a42p+6 +0x1.64251beb0a748p+4 +0x1.4c8c7cb1020c1p+2 +0x1.ad41707edf5bp+10 +0x1.5ba97d32cc9c8p+5 +0x1.5c15df4dc58f4p+11 +0x1.420c52a2fedc7p+6 +0x1.3c73e6b7a414dp+2 +0x1.4a669c0d412d2p+5 +0x1.91adc2758b54bp+2 +0x1.1d083e505af4ep+13 +0x1.9c62cf1ef85bfp+6 +0x1.10f95ae26d863p+8 +0x1.0c3a138b92cb2p+6 +0x1.9cd05c1ccbd83p+6 +0x1.bb9a80021bdadp+2 +0x1.d24c31fbe835cp+5 +0x1.082a6c457df3ep+5 +0x1.a2d85faa3d9fdp-2 +0x1.8c3e43acae7f9p+1 +0x1.9a57f4b2d0647p+4 +0x1.e03254db66efp+5 +0x1.28df9fc877dfbp+6 +0x1.39d4bf8beeb1ep+4 +0x1.2ff0b00a78e94p+5 +0x1.83d9084817af6p+4 +0x1.ff6e969f25e4ap+2 +0x1.61f0838d1dc1dp+4 +0x1.50994c4c84b68p+6 +0x1.0334b9084909p+3 +0x1.4e045186e3b4p+6 +0x1.0b4aaefc171a5p+6 +0x1.006c2385d170ap+6 +0x1.8256062b606dbp+5 +0x1.661dee3984312p+5 +0x1.574238d1c84e8p+16 +0x1.031e7f7d7f271p+19 +0x1.bde85df435553p+3 +0x1.8ec4950cd5863p-1 +0x1.513cebeed3a27p+3 +0x1.5c91b3184b9cbp+6 +0x1.3dbc2e19e22ddp+2 +0x1.f01d71653f27dp+13 +0x1.3a4ebc1c749f9p+3 +0x1.2ba093cdd9039p+6 +0x1.2825555632a5fp+4 +0x1.dcd2d0243dcacp+11 +0x1.192733214bafap+11 +0x1.7a3f38a62f6d3p+2 +0x1.6227db2c0a4bp+5 +0x1.bca8c38f18cf9p+3 +0x1.9a34affdab9fap-2 +0x1.cadbc1935d1bp+8 +0x1.f4de9fb07469p+12 +0x1.9130070607482p+6 +0x1.ab69a8572d2c1p+5 +0x1.005b04f3990f4p+3 +0x1.f7c4d0516121p+8 +0x1.0ac8d300d994bp+5 +0x1.92e7e0a7e6292p+4 +0x1.061f42231dd62p+6 +0x1.c082d9fa32501p+6 +0x1.d6a27685425f1p+3 +0x1.88f9432d4e26ep+14 +0x1.f93b977c12655p+10 +0x1.db6f3254098p+6 +0x1.3daa696132aadp+6 +0x1.984f68b85377dp+5 +0x1.f2fe0788641f4p+4 +0x1.0893d798262aep+2 +0x1.ee3fc2939dcabp+3 +0x1.898773cb511bp+7 +0x1.f5c8562ee0134p+4 +0x1.2a350a60e1735p+6 +0x1.7d3bfc6c7ee44p+5 +0x1.b4fdd9f3d55fdp+2 +0x1.1447b93c5d34p+3 +0x1.e96a752883e47p+18 +0x1.3307398d2f4efp+6 +0x1.582180e905c92p+4 +0x1.97d112414d48fp+5 +0x1.3bd34d629a2fep+6 +0x1.9365f60dc0b31p+6 +0x1.c1a681769a11ep+6 +0x1.1cc88872bcc47p+4 +0x1.23b4641bf66cbp+5 +0x1.d45b07016ccf8p+9 +0x1.ed05c80ec0248p+2 +0x1.eeeb47677056ap+12 +0x1.001de3745db99p+5 +0x1.18044059b19b3p+6 +0x1.57a3aeb09a65cp+5 +0x1.70e699cac7dd6p+3 +0x1.8d3db17dbf58fp+3 +0x1.1c0744386e4abp+6 +0x1.2a13be791fc1dp+5 +0x1.2f82949857798p+11 +0x1.324beff1c8b55p+5 +0x1.0849a855b9dp+6 +0x1.cd278176e1bd1p+4 +0x1.1262e9eb91676p+16 +0x1.207dcb1e43b59p+5 +0x1.77c5cf44ce88ep+4 +0x1.8e319f510afdep+2 +0x1.38cf9fc9826bbp+7 +0x1.2e161fac141a2p+4 +0x1.1a0848ccc9772p+2 +0x1.75ba1c4289552p+9 +0x1.016e695bd99f2p+5 +0x1.95095fe8310bp+5 +0x1.55dda5307869bp+3 +0x1.ab04576e36c2bp+4 +0x1.1d7c19566b262p+4 +0x1.02d46ba57fc12p+6 +0x1.41c631ca7b506p+5 +0x1.110af1c10635fp+12 +0x1.52c165803bd28p+4 +0x1.a5468eedcb2f9p+4 +0x1.8fcbfec4e350dp+2 +0x1.0de300b22f46p+1 +0x1.b8533efce1f1bp+6 +0x1.b3d1e230a4bd9p+1 +0x1.1d1ffd7ba0485p+6 +0x1.3f3bfe3d4faeap+2 +0x1.1a73223e3b2c8p+5 +0x1.91ed2406256fbp+5 +0x1.26dd5921f4a1bp+5 +0x1.831ed13096c3ap-1 +0x1.ea87f9f361c5fp+2 +0x1.42adf7c643fd3p+9 +0x1.3d0793c6c0abap+0 +0x1.147e711eb958fp+6 +0x1.a87c38dff5dabp+5 +0x1.05f4fbdb700d4p+0 +0x1.872597584e1d1p+5 +0x1.04ee54b81974cp+16 +0x1.b526ffa7aa765p+5 +0x1.08d29942bde5p+14 +0x1.44edafff6b8a6p+6 +0x1.8f65dc13dc55cp+3 +0x1.531b42c20b995p+5 +0x1.8214d52b329dap+3 +0x1.35ab99e519a62p+5 +0x1.18f32d9fc4949p+10 +0x1.d86a7224a9e6cp+2 +0x1.df7bc9020b46cp+2 +0x1.95c74053b70e7p-1 +0x1.5d5f79f80de9fp+5 +0x1.15d5547bda6dbp+5 +0x1.645a339658086p+5 +0x1.231ea2e421eeap+12 +0x1.daca3d00322c1p+6 +0x1.386cec4a4690fp+6 +0x1.134d22bfc01c1p+9 +0x1.4567d5e3aa97fp+1 +0x1.0c67a1aaba8b7p+16 +0x1.b9ced869eb4c1p+4 +0x1.2c90a03ca5049p+14 +0x1.71d79edbb0ea2p+6 +0x1.c1bc5e6798f8cp+10 +0x1.cddce4b4768c8p+11 +0x1.624b72d7c5c3ep+10 +0x1.9edf517f577f9p+14 +0x1.bec237a2d6db8p+5 +0x1.bdb22813d3d28p+9 +0x1.1316a83e4dac5p+2 +0x1.331af606da934p+5 +0x1.55d44ce4e5d34p+5 +0x1.337a19274fa25p+5 +0x1.001980691d23cp+5 +0x1.d7922f9dbdcd7p+2 +0x1.bde34fa58702ep+5 +0x1.bdd5b853c31ap+4 +0x1.b53cde9514145p+5 +0x1.bd7204d14b37ap+5 +0x1.4d98b2b98a541p+0 +0x1.f66ae3dc9bde1p+5 +0x1.3a46f9e70392fp+4 +0x1.21db282549884p+2 +0x1.65de36a6e8293p+7 +0x1.30bf3d3ac00a3p+6 +0x1.acef2f58c6d85p+5 +0x1.ca4b14cae4845p+6 +0x1.05170284f7961p+2 +0x1.ff775821b207bp+3 +0x1.5c0224fdf528ap+2 +0x1.ca1ce1d3d7039p+8 +0x1.c80dee74c9caep+6 +0x1.420f4535609a4p+5 +0x1.af477a88b24a2p+4 +0x1.03078787b66c2p+6 +0x1.c52df768fa027p+2 +0x1.d132b4b8e07a5p+5 +0x1.0dce5c28aad72p+6 +0x1.2c4654d3d33aep+2 +0x1.6a89886cd0916p+7 +0x1.96d2cafe59e7dp+2 +0x1.1b95da5c9b722p+7 +0x1.04c55cdedd6dep+6 +0x1.8e0e8b6d0fefep+3 +0x1.04345885052dp+4 +0x1.092c0f172cfe2p+1 +0x1.226c71c8473f4p+10 +0x1.ab47a4ace6e8ep+5 +0x1.7c85c5b2f4eefp+4 +0x1.967f150d9731bp+9 +0x1.e205a986d8a3bp+0 +0x1.4cb0223b2e0b9p+1 +0x1.5d2951d44448p+5 +0x1.f06f613ab6b8fp+5 +0x1.3b4e7bb070342p+3 +0x1.07805b53122f6p+6 +0x1.81cf26de18059p+2 +0x1.2194261e18704p+2 +0x1.138d0a5d66ce4p+5 +0x1.a478cc36c4df1p+5 +0x1.68f65e9f9592fp-4 +0x1.e02e897de0553p+4 +0x1.4f1e0e91ced52p+5 +0x1.2c0d009466ef7p+4 +0x1.620880c9d7fdp+6 +0x1.8371387660febp+5 +0x1.3bc2a2dbc2e99p+4 +0x1.d7c60b2fb4bbap+15 +0x1.64ccbe19ee7fp+16 +0x1.0353ea8a9a25dp+6 +0x1.8f60ae5ed7c97p+2 +0x1.b56ff878d84b9p+6 +0x1.ed5b8a8ddcfcp+1 +0x1.2a846fd194cb2p+11 +0x1.27ca7ad6b309ap+5 +0x1.fecba6381bf3ap-1 +0x1.7b63af0a4c3bdp+4 +0x1.0e0748a5b3773p+4 +0x1.c750e13b80596p+10 +0x1.b5e5eb7f2ac33p+12 +0x1.e809ab468b037p+5 +0x1.f7d68014854f5p+5 +0x1.194beb9a014fap+4 +0x1.35ebeca99baf4p+2 +0x1.004ef78b4dd3dp+5 +0x1.cae2308cdab52p+5 +0x1.e17b3b9231fefp+5 +0x1.420602b21d0e7p+8 +0x1.049cbacba4262p+5 +0x1.d2bed08a7feb2p+5 +0x1.246fca8f9212bp+4 +0x1.f8e2a09472ddfp+5 +0x1.35cd7d33abe1p+5 +0x1.11d402f10435ep+18 +0x1.f1a6138fefbfbp+5 +0x1.429db459df8ecp+6 +0x1.8a2de7f636f42p+5 +0x1.3dd80740ee745p+13 +0x1.231d433986e15p+10 +0x1.67a257b29fda5p+2 +0x1.e674cd8826b5cp+5 +0x1.1b52bad308a02p+11 +0x1.1e6e513bf3f55p+4 +0x1.172e31a8700ep+6 +0x1.250c21eca7059p+4 +0x1.238dab898eb0dp+4 +0x1.66077ff7839c4p+7 +0x1.792a710f11803p+1 +0x1.3c88af44b5c61p+6 +0x1.1206e1b33ac63p+6 +0x1.3cc9915dfc02fp+4 +0x1.0adcd1bd5125ap+3 +0x1.87ce0c2dea934p+4 +0x1.efad381e2d8c7p+5 +0x1.ec7430c970e8ep+5 +0x1.a9ad1e4e7060ep+4 +0x1.c1b298498b11ep+5 +0x1.cf51ceaaf0925p+0 +0x1.660740fae60ffp+2 +0x1.8e1e0945b945dp+2 +0x1.28e3debabedeap+1 +0x1.02b92b8eed539p+5 +0x1.cdfe72c44e9d2p+5 +0x1.9395a77ace65ep+5 +0x1.f6574e6dc5098p+3 +0x1.d9a98b502052p+3 +0x1.aef72d1f8f149p+5 +0x1.fa300bb7120dep+4 +0x1.9c2e286081907p+4 +0x1.3e5c0c5aca3f8p+2 +0x1.22065b6486db6p+3 +0x1.3993f8f86e6f7p+1 +0x1.919b9e989bf31p-6 +0x1.212d9c0628a4ap+3 +0x1.94ccddfd7349dp+4 +0x1.b0c78ad4f657fp-1 +0x1.f528ec909aeacp+3 +0x1.3447fd5d32c4bp+4 +0x1.2a6fe0dd13d47p+4 +0x1.c25b515d4cd9ep-2 +0x1.4f6a1bbbea64ap+3 +0x1.83093f1491dbfp+4 +0x1.144f1cc106424p+7 +0x1.0f0c5b0a3e5ap+3 +0x1.9658e67d5a53cp+5 +0x1.1f6396828cef3p+6 +0x1.457429d8a828p+5 +0x1.45510a02a9675p+6 +0x1.1c157e7d8846cp+14 +0x1.973d29d0acf97p+2 +0x1.4b635173aa313p+6 +0x1.3d0ab5d757ce7p+9 +0x1.1601985dc9e9p+2 +0x1.31afe893d3c11p+6 +0x1.119010cd1e3f8p+9 +0x1.d8ed3d435e623p+9 +0x1.dc72a966b4f3fp+6 +0x1.9478b23e8bc49p+5 +0x1.4b428c3df538fp+6 +0x1.d96d4d520d4adp+5 +0x1.4a90a62e6b5a4p+3 +0x1.3d817e70575d9p+5 +0x1.336fb27f597d8p+5 +0x1.b361d2abe11a4p+11 +0x1.1fbc3d52e5d62p+0 +0x1.0f943c17b205bp+5 +0x1.3164deced8678p+4 +0x1.1f83c854f332dp+0 +0x1.5f68bcb7acdadp+4 +0x1.ab698e527428ep+0 +0x1.2e160cf3bbafap+6 +0x1.462b8d9d3f637p+5 +0x1.9ef22aede1765p+2 +0x1.08ffe3ae46f8ap+2 +0x1.0bd24e67bb767p+5 +0x1.62346a11aa481p+5 +0x1.de9e516baf35bp+0 +0x1.dc4ac1f13cce7p+5 +0x1.25c92f08221c4p+5 +0x1.d4c97ba6a5b91p+2 +0x1.91a3ada931e2ap+1 +0x1.016ed4e9639ap+6 +0x1.1c68063e4e4fdp+0 +0x1.e969b5d6e3705p+4 +0x1.fb982e60af1ecp+17 +0x1.8c9b5964c158bp+3 +0x1.146ec27b8fd97p+6 +0x1.65ef704d055ecp+3 +0x1.176bd99de541ap+6 +0x1.4d73a64b9411bp+4 +0x1.d3b47cef0f1e2p+5 +0x1.75741c8e40076p+5 +0x1.000fc5571799ap+3 +0x1.243d2c1c5c57bp+4 +0x1.5b868cd4125b6p+6 +0x1.bd59562fa2b95p+6 +0x1.e8aea6bce947bp+1 +0x1.71ce4ba2d58cp+6 +0x1.cd920b558f28dp+5 +0x1.f2ec93b2c9889p+0 +0x1.606bd99ad9de5p+13 +0x1.6a89dd5bba5d9p+5 +0x1.2337b9241fd88p+2 +0x1.16d5d5d1447dcp+4 +0x1.1178a22e28fe7p+5 +0x1.d8d99209a416bp-4 +0x1.515c5febe205dp+3 +0x1.b2a2fe2a0f396p+1 +0x1.aedb50573c636p+5 +0x1.d6d5d0070b68dp+4 +0x1.1ee9ef4f3c83fp+4 +0x1.983aeb6068c02p+6 +0x1.fbcd0ea5c5b2ap+5 +0x1.5f412046cc2a8p+6 +0x1.2bdb57736302cp+5 +0x1.ad6319a000484p+10 +0x1.09594c86b7211p+6 +0x1.c127d4095683fp+5 +0x1.8dbbbd2e4c7bcp+11 +0x1.369751fda1be2p+5 +0x1.312a6ccefeddp+8 +0x1.5a438bc4c995ap+18 +0x1.a7b93bf5e6a6cp+2 +0x1.e60005849c28ep+5 +0x1.452373acc61b2p-1 +0x1.5f374e8412aefp+9 +0x1.c4b360b45dfbep+5 +0x1.3c1751b430d3ep+5 +0x1.2b0b661ae7032p+3 +0x1.65c008714e27dp+6 +0x1.97e2ce9300243p+6 +0x1.6eba798d889bcp+5 +0x1.10575e1920271p+0 +0x1.ecc59e7bd041fp+4 +0x1.12d00da3e5724p+6 +0x1.cb3d7402240f4p+3 +0x1.119fb97489c8dp+18 +0x1.9cd45dcdd3a25p+14 +0x1.b073e861b0fbbp+9 +0x1.0c9048bb2fac8p+4 +0x1.67927d37e1abdp+4 +0x1.a454abca957d7p+8 +0x1.3609bef8df0c5p+16 +0x1.1ef15013a018cp+5 +0x1.57d2285820dap+5 +0x1.3e389ffa68186p+6 +0x1.2107a6654c76p+5 +0x1.2ee2798a58488p+1 +0x1.6e09d5aa48c3fp+4 +0x1.0e1635608badap+7 +0x1.60bd125c5ef08p+16 +0x1.4403d7851a404p+4 +0x1.6acf4adf7fadp+6 +0x1.81ed669450acp+4 +0x1.4f252789bcac7p+2 +0x1.3c4a32019429ap+8 +0x1.3c8b1e540032bp+6 +0x1.63bb72c184d5ep+5 +0x1.da389ba49cdd4p+3 +0x1.d467e939ad417p+13 +0x1.ac47dd103140ep+12 +0x1.b6ab9ae2ca97dp+5 +0x1.fd7106c7db33cp+6 +0x1.3bd740ed72ad8p+3 +0x1.a094e3f8f36a8p+6 +0x1.0aa8ed054320bp+5 +0x1.ecacae36b37b7p+5 +0x1.6b0cf08fededdp+5 +0x1.2570c4df040fcp+5 +0x1.d47fd235e9773p+10 +0x1.19227756d972fp+3 +0x1.2008574a19681p+0 +0x1.1f16dc81499bp+4 +0x1.50038744677ap+6 +0x1.1f0b30a043657p+19 +0x1.486c7d71eb6ebp+5 +0x1.ac62ad1eb0331p+1 +0x1.935e6392224cp+17 +0x1.3f83e7fa06bc3p+3 +0x1.043b83a7fcfafp+5 +0x1.ddb4e9ef52bb4p+4 +0x1.9d56f7c234de4p+5 +0x1.97f45cc88fc9cp+3 +0x1.84284f7a0a747p+5 +0x1.1a5fa8a0d360ap+4 +0x1.83b08fcb54fdap+5 +0x1.459c2381d69cap+4 +0x1.4119b84373669p+5 +0x1.20fd9c1bf8536p+6 +0x1.268a6344017c9p+12 +0x1.7b94fab7b1f4dp+5 +0x1.3bcd5d4f5d992p+2 +0x1.0d3522d46c6fap+19 +0x1.8fc8a056256a8p-3 +0x1.c4a08f876dd98p+4 +0x1.72aac2905da84p+3 +0x1.d9514b236c234p+5 +0x1.2e859ec2643d9p+11 +0x1.128b7e9b525d1p+9 +0x1.7cd83187fdddap+5 +0x1.4300c6933e2edp+8 +0x1.eefe1392427d3p+5 +0x1.06ef75b6cd913p+6 +0x1.72efd9fb27da5p+10 +0x1.9c140a7a381fdp+4 +0x1.ce68ba2e51c82p+4 +0x1.65b7d35c5c0c4p+2 +0x1.c90802e8be19dp+4 +0x1.9a6d4e808cbeep+5 +0x1.d18f9d8e32385p+6 +0x1.20aaebb1c9227p+4 +0x1.7f8064a36530ep-2 +0x1.e47cc8c083fc4p+4 +0x1.3b1bc786dab14p+5 +0x1.33924c0b0d915p+3 +0x1.5c66a50359ae6p+5 +0x1.6658859d84f9ap+1 +0x1.2c3fdbc368ea5p+5 +0x1.d2553bf1da0ebp+3 +0x1.3bd885a35b84fp+5 +0x1.3a4296c281d77p+1 +0x1.5dd689b29f1aep+2 +0x1.cf7f817026b36p+2 +0x1.a973debbef12ap+5 +0x1.e840b2a5df73cp+5 +0x1.9126545811b6ep+18 +0x1.564a0a36121c7p+3 +0x1.5e05a899a4e1bp+6 +0x1.d327cd39f4c67p+3 +0x1.ad4c73c2f9f52p+8 +0x1.3b136e0d80468p+6 +0x1.3941c7e6901e2p+6 +0x1.c313e5c34a4a8p+3 +0x1.c70d47912be08p+6 +0x1.b1381a7ab03acp+6 +0x1.6d4d985a07debp+4 +0x1.4e4c4f7b5d4a1p+3 +0x1.0dead1215f4d2p+5 +0x1.f17285ed49b5bp+0 +0x1.ce6076e6894b7p+16 +0x1.45797dbb69f1cp+6 +0x1.0b7ea9ca22b25p+4 +0x1.c7bfbb7de857dp+6 +0x1.e2a653415e667p+5 +0x1.2835405a47a2dp+15 +0x1.5d10e6183e92ep+5 +0x1.0c1463d20c1b3p+6 +0x1.5dd8bdc9f4bdp+2 +0x1.86fb89f037079p+3 +0x1.6c2d58bddb08ap+13 +0x1.3354f2b7312f5p+1 +0x1.33e729c270da2p+6 +0x1.3edfd80ce1d67p+5 +0x1.308419b70fdc4p+6 +0x1.1bf47ef9b6418p+6 +0x1.b019f18c69d6cp+4 +0x1.39dff88e78d9dp+6 +0x1.c27094bf82f9ep+7 +0x1.c37ebb59d72e1p+6 +0x1.170d2bde32ae3p+5 +0x1.b095b322af583p+5 +0x1.8c8eac91a6f32p+3 +0x1.9fbd161fe8014p+14 +0x1.b4f103a853a1bp+5 +0x1.384d99f6e4a8dp+6 +0x1.d5b4e637bd592p-5 +0x1.ef002ae236f84p+4 +0x1.f342ade99b47ep+6 +0x1.6d39c81a81375p+6 +0x1.05822f77b3be2p+1 +0x1.faa0525041918p+5 +0x1.87702225bc7fap+5 +0x1.8ccf2ef81cecdp+4 +0x1.3a5e88c46bf6ap+6 +0x1.0db3b7cb81044p+4 +0x1.40dd1b913922p+5 +0x1.ff7c443e0a8f3p+3 +0x1.14b1c184fb09fp+7 +0x1.822cea4045be9p+12 +0x1.9db9db0e50335p+4 +0x1.a0c2e46e4f0ddp+6 +0x1.c9ae24a678361p+15 +0x1.12aa2fef0be3ep+1 +0x1.90077264c109ap+4 +0x1.39e28b8b1212bp+6 +0x1.20634db2df8f6p+3 +0x1.9a0b5bb122e78p+6 +0x1.02dc779094679p+0 +0x1.b28ae0654b244p+6 +0x1.3bae59f2ca741p+4 +0x1.847cfddafc571p+5 +0x1.ad04ee37fc097p+5 +0x1.32863ae3d6336p+5 +0x1.5e423a27f9b5bp+5 +0x1.5b01d3e1ff5a1p+9 +0x1.0b4b7beacdb1ap+7 +0x1.a267c269179c8p+5 +0x1.47a073516db67p+5 +0x1.bd21c74d3df6ap+5 +0x1.ba0f22ae84eap+4 +0x1.617d27a06cf6fp+3 +0x1.33230c5f005acp+12 +0x1.596b23fabac9fp+13 +0x1.ba290dbbfc004p+2 +0x1.8105e5a7334b2p+6 +0x1.ce8194e9b24ap+3 +0x1.588926878e9e2p+18 +0x1.cde98c6d09a74p+4 +0x1.771dd87f50cffp+5 +0x1.1cd9c200582f1p+6 +0x1.510e4a9456ab3p+6 +0x1.a0225674c60a1p+4 +0x1.34cf5922eb979p+0 +0x1.098adac54c167p+6 +0x1.ddbe1d71d35f9p+3 +0x1.d55db03e869cp+4 +0x1.3c83f093c800ep+14 +0x1.9c48e16f1349dp+3 +0x1.bf95a547de944p+5 +0x1.7dfdf423c0756p+5 +0x1.ef372bedfcbdap+1 +0x1.628ac686b9568p+5 +0x1.eefda32a526f7p+12 +0x1.27e574ff88888p+5 +0x1.12ba067d1e52ap-2 +0x1.734ad4ebc6f7bp+4 +0x1.4ca70b4c604dcp+4 +0x1.76c4b20acce6ep+5 +0x1.2999ecb388395p+4 +0x1.c4bb88f6b0f8ap+4 +0x1.2bd69200f58fdp+7 +0x1.74524c132c7b4p+0 +0x1.1634d177c6dedp+3 +0x1.fe74f9ee30c19p+4 +0x1.226baee05a97p+6 +0x1.147342f151df5p+6 +0x1.90dafe713b33ep+6 +0x1.ec50e0b1e303bp+3 +0x1.903e02690d2e7p+5 +0x1.4d63a3855ba33p-2 +0x1.5465cf42deb99p+5 +0x1.3db8d7cbf0cb8p+15 +0x1.0f4073812299ep+4 +0x1.272bf24d0c13cp+0 +0x1.a2d45d4bbbd94p+4 +0x1.3a25e55167a08p+11 +0x1.6572659bf5069p+5 +0x1.0b6900999c10fp+7 +0x1.d1aab4edc82d3p+11 +0x1.6740896d58c5ap+4 +0x1.f5343e40ca3fep+11 +0x1.4da16efaad6cfp+3 +0x1.a0518dd6a4d86p+6 +0x1.560170000e498p+3 +0x1.f861f48fb92b9p-1 +0x1.e18eea1f36a9fp+3 +0x1.92d2831eb58bp+6 +0x1.17f38b0cc7496p+3 +0x1.030fe4149d605p+14 +0x1.086a8c738c854p+1 +0x1.afa4ab89a3a6cp+16 +0x1.a0c0b2ddb6103p+4 +0x1.8a18c8307b6eep+3 +0x1.b60ac06800d6bp+9 +0x1.ddc46428366f2p+4 +0x1.2c0cec118bfc7p+5 +0x1.661f006f6a9e4p+6 +0x1.6d275baf278fdp+5 +0x1.3a63f6b81a6a2p+12 +0x1.16f4386453efdp+4 +0x1.d742cc2b0b294p+3 +0x1.1c760c32e5ebcp+4 +0x1.762be5df3b2b5p+2 +0x1.6ce9da31d14d3p+2 +0x1.273490185bd72p+6 +0x1.529bc9fa0adfap+2 +0x1.e2213a453d3bbp+5 +0x1.415ff73afc14ap+5 +0x1.97d45d9ec938ap+4 +0x1.1fb01034fd4f2p+6 +0x1.6c4b05cc88d46p+4 +0x1.ef401f1c09015p+6 +0x1.4c147bc633286p+1 +0x1.0307673724f6ap+3 +0x1.1922f43c68829p+5 +0x1.47096292dcbap+5 +0x1.c977ca7798955p+4 +0x1.16163b1d105bp+6 +0x1.5526fbafe37a6p+5 +0x1.c8d315a7d4e19p+11 +0x1.bc25198eb457ap+2 +0x1.6361e11b01b83p-1 +0x1.39412d11c5098p+5 +0x1.57d698f6d8849p+6 +0x1.dfa43b23b7bd7p-1 +0x1.93ef022314129p+5 +0x1.e8b0f86ce58bdp+4 +0x1.fdf8ee4f13231p+1 +0x1.16223ee101708p+5 +0x1.a919bfa1da1b3p+4 +0x1.a2d23648951edp+9 +0x1.aa689208d2f9cp+5 +0x1.5611d36901d64p+2 +0x1.82109b1423bfap+10 +0x1.ba3332b4b5c1cp+5 +0x1.d38ec9e7c139ep+2 +0x1.5ed35611f6d33p+4 +0x1.2ac0d400a676dp+5 +0x1.602d479148477p+10 +0x1.55e495f5889b9p+4 +0x1.7472cfac0f565p+2 +0x1.6de0043a4dcdcp+4 +0x1.7cd54d836177cp+3 +0x1.ffa9293a1715fp+8 +0x1.a6fbf4bdafbd1p+17 +0x1.fa39554fe3f8cp+15 +0x1.5c99cccfcc00cp+2 +0x1.e19d601493c35p+6 +0x1.1c549e95e3242p+5 +0x1.1ea2c305cac04p+5 +0x1.a575f40061e55p+4 +0x1.2454002f64baep+5 +0x1.5f60d7e36306dp+4 +0x1.bbe54facf9785p+3 +0x1.06e89938a4f64p+4 +0x1.cf868af365567p+16 +0x1.c1d955b22b83dp+8 +0x1.08673b818d208p+2 +0x1.9d9e58ff1e112p+4 +0x1.db0e6e8f3d5p+5 +0x1.2fd311970755bp+4 +0x1.8a3115e852903p+1 +0x1.04a60d174dfcbp+14 +0x1.f823ba87a92a3p+2 +0x1.a3b14ca62259dp+4 +0x1.b4078b412cdccp+2 +0x1.af7e54787d6f9p+4 +0x1.80cf544ca6a95p+6 +0x1.99f79a6a8db89p+4 +0x1.58db03b5e62e9p+4 +0x1.d83935188c261p+3 +0x1.decb3ca4da633p+4 +0x1.00b5b21607cfcp+3 +0x1.71f7ba163232bp+18 +0x1.0564ca0ee8fccp+5 +0x1.63a01b452680ep+5 +0x1.3806800a65d43p+5 +0x1.18656eccde011p+1 +0x1.68620ddde036fp+4 +0x1.51ac96df6dac4p+2 +0x1.8e4a5e33a25f5p+1 +0x1.a7449f124f3c3p+2 +0x1.30bc39ae54cc1p+9 +0x1.92a9635b65846p+5 +0x1.7ac4522639ffp+5 +0x1.abc42705fc95bp+4 +0x1.31f04ca1b2cc3p+5 +0x1.64cd35eeb4edbp+1 +0x1.c05a89c1f1ce8p+5 +0x1.1d6c6ac996a3ep+2 +0x1.8326c5b0d484cp+6 +0x1.5c1e506ded505p+6 +0x1.2afb0260ecbdfp+4 +0x1.95ba8cd97a439p+5 +0x1.f6ab1f114ed14p-2 +0x1.da3452db65d3fp+5 +0x1.a49fddd4de4acp+4 +0x1.bfd08115e019fp+4 +0x1.38336184afec8p+5 +0x1.25c90d72138efp+2 +0x1.a77f17544dc0ep+5 +0x1.48444f87a155dp+15 +0x1.2fe60cb1b720ep+5 +0x1.1faaaf79db5adp+5 +0x1.36f0689af30c2p+3 +0x1.8f247dd945123p+5 +0x1.2cc485e04ae65p+9 +0x1.bcec8af83b6ecp+5 +0x1.a513ce2ed171p+4 +0x1.8d3b84c273659p+4 +0x1.ca76386ef0612p+12 +0x1.6a1ad867fee5ap+4 +0x1.ea8a50d95382p+4 +0x1.99f471c3ec61cp+6 +0x1.271b088a5ae02p+2 +0x1.ac764c27fca7bp+11 +0x1.74bba5e3732b8p+12 +0x1.a849b18e5c888p-3 +0x1.50a138f3d25dep+4 +0x1.7479939956544p+16 +0x1.1c30cded55b87p+6 +0x1.e32fcf9e9c31fp+1 +0x1.abcd197cd12ebp-3 +0x1.8c38964d90cf4p+1 +0x1.c38502ce2130bp+0 +0x1.abe0d6ef30015p+3 +0x1.36b0cb7398ebbp+6 +0x1.921a68fab7e59p+3 +0x1.b01169985725ap+3 +0x1.16ca4df9ebf7ep+5 +0x1.bcd320198fe33p+4 +0x1.05a1f4f5e0bd9p+13 +0x1.e6ba51b6568edp+2 +0x1.560a0d0697315p-2 +0x1.b01ea107994a7p+0 +0x1.1d5e2459901f1p+3 +0x1.e6e1d6fdd08e8p+5 +0x1.cc6428ca82f7ep+1 +0x1.bb99e90e21c31p+6 +0x1.da363bc3939c1p+5 +0x1.f77eddec3d4bdp+2 +0x1.a48f138e26b76p+4 +0x1.6dcaf3b89b12ap+5 +0x1.0b766a2ed8fc3p+5 +0x1.a65ca96c4675ep+16 +0x1.8d7a34b59b97p+12 +0x1.d205c3efa78e8p+4 +0x1.7b8d25a4bf776p+17 +0x1.a9d36a9110ef3p+4 +0x1.190f8f3ed7706p+18 +0x1.b99f12af0575ap+10 +0x1.605c89b2ce103p+3 +0x1.c5456072be1e4p+4 +0x1.5b5ddbdfd80c8p+1 +0x1.f42847b945575p-1 +0x1.24940c9eb60cfp+15 +0x1.4822dd9b25651p+8 +0x1.19eca1ef49fcbp+1 +0x1.bb556bfc72f0bp+12 +0x1.281068620bf3cp+2 +0x1.0866ac2c75b67p+2 +0x1.0fecd0ef9060ap+16 +0x1.aa0aaa5619db3p+5 +0x1.f1a54d783f3ddp+5 +0x1.d19859ed3309fp+0 +0x1.f4064a0438e96p+4 +0x1.095b99953cf91p+6 +0x1.3f000678a964cp+5 +0x1.4c9fb159ae46fp+7 +0x1.7d6619dbbc853p+4 +0x1.3a8c6f251f3c1p+3 +0x1.b475f58e75d01p+3 +0x1.55d235bca810ep+6 +0x1.7f76ae5b8febdp+1 +0x1.b4a2baec548d1p+11 +0x1.bdd6f0b1b58e1p+4 +0x1.26a4c82458a8fp+5 +0x1.3afaa9d0498bdp+9 +0x1.9ee7b347a392cp+3 +0x1.539d5c2a9af7ep+6 +0x1.fe1c6b9cba0e3p+10 +0x1.50529867d930bp+6 +0x1.c2755b7fe77d8p+2 +0x1.9fccdd260f4b9p+5 +0x1.20c9992de2642p+4 +0x1.58d1ee87ed04p+5 +0x1.df75550a8363ap+4 +0x1.2d14e87bc43d1p+7 +0x1.699a298194b4bp+4 +0x1.2ab81452e1253p+4 +0x1.4b902e8127d36p+0 +0x1.e73b0f374defcp+4 +0x1.d41f9dce2d3c1p+4 +0x1.50137790255e3p+14 +0x1.394f4097d5bc6p+18 +0x1.e3e985e7e3322p+4 +0x1.9268cd45ebb9p+7 +0x1.9183fea401646p+13 +0x1.d17a7b2f34eadp+9 +0x1.0274d248a80b9p+4 +0x1.fbcde933d1b71p+16 +0x1.8ba6b100ff44p+5 +0x1.15164766e0e6ap+4 +0x1.4b29be43ca0a3p+5 +0x1.4fcf8f4340f3fp+7 +0x1.35fee236328fdp+4 +0x1.22e4ff7657ef1p+4 +0x1.7ea16d19452dcp+12 +0x1.05cf23f040324p+17 +0x1.bd2234b24e5c4p+18 +0x1.2e15e7e84a206p+6 +0x1.4a2c5b6f48957p+6 +0x1.4d5c30a55cdcfp+6 +0x1.e76a350f3162cp+11 +0x1.d5f8974ba8bb8p-3 +0x1.78951e40935b6p+2 +0x1.edad505ea8d78p+3 +0x1.05d77cf32d26ap+17 +0x1.adf4f3b40935cp+6 +0x1.e264e95bf1976p+3 +0x1.69113029f78c2p+5 +0x1.c236bc604c3b4p+0 +0x1.71cec3447a1dp+1 +0x1.53509d39c843fp+6 +0x1.d0913ee6098bep+5 +0x1.b5d1b939c4a0dp+3 +0x1.cf7875fcab22dp+2 +0x1.c6402dfeeba2ep-1 +0x1.6fa3c20e12377p+6 +0x1.71393e4f9fe6dp+5 +0x1.ef73c7c8b697ap+5 +0x1.97b65b7d6af01p+5 +0x1.5a4706994b042p+6 +0x1.78daf09cbd808p+1 +0x1.50936a2b660cfp+3 +0x1.411919bf26007p+5 +0x1.b19657ada89dap+5 +0x1.1324b8143119ep+5 +0x1.cdd06600a0363p+16 +0x1.6a626a7568a3ep+3 +0x1.a06278e276cffp+6 +0x1.8bf18d920ae53p+1 +0x1.a835acc5d4014p+3 +0x1.a241e5a5a1a6ap+3 +0x1.388c2f78a105ep+4 +0x1.0354a62e9785cp+4 +0x1.8f91ff20a17bdp+16 +0x1.45b7b9f0ebd7dp+3 +0x1.55acd7bdad9c7p+5 +0x1.c68f5e61a458bp+5 +0x1.12faf0660bafp+6 +0x1.33e60a280d353p+5 +0x1.646ed3efb4339p+3 +0x1.92e92a1543a59p+10 +0x1.53defcf66efb8p+6 +0x1.a37148d820261p+5 +0x1.3ec9372511bdcp+6 +0x1.39a626d1f72c2p+6 +0x1.f9f5c0c6a4013p+13 +0x1.480c7da462c9p+5 +0x1.c585a0ea4eb3p+1 +0x1.302823c517d0ap+6 +0x1.5a96bd2023277p+6 +0x1.7c0c896958893p+1 +0x1.44d7ce19d83d7p+5 +0x1.350452b6659d9p+5 +0x1.bf8ce8863dbc3p+5 +0x1.76b41ba30aa4dp+8 +0x1.1d93d30022e6bp+6 +0x1.90a589020a93ap+6 +0x1.ecbb6f1c0ac3ep+16 +0x1.5ebcfdb511636p+5 +0x1.b70b92afbb075p+4 +0x1.0f872e8e4d25ep-2 +0x1.c571c699fe598p-1 +0x1.1557cf4e2a9d6p+0 +0x1.fce2893d6f08fp+4 +0x1.33bd1f44a4c03p+5 +0x1.18c60b481d48cp+0 +0x1.fce4bc623a401p+12 +0x1.575e3d9453635p+4 +0x1.c8b4ef0ace014p+12 +0x1.b7a6115dee80dp+5 +0x1.fa556953a375ap+17 +0x1.033532cd63b23p+6 +0x1.02c35cf273c0ap+6 +0x1.e20babc137d41p+11 +0x1.239e0c756b98bp+6 +0x1.7724e2db71d8p+1 +0x1.8981c951679d5p+11 +0x1.d2ce2cd68ef05p+5 +0x1.00fd0e7536b51p+6 +0x1.a3c4ebb00db65p+12 +0x1.ea863ce598197p+5 +0x1.24325f2e4ae11p+5 +0x1.76cf12b7ea721p+6 +0x1.e21994b9d74cfp+17 +0x1.bdf94f4688892p+5 +0x1.6dbf6f6c93462p+5 +0x1.72a1f9a35c32dp+0 +0x1.afd044bbeacd2p+5 +0x1.1c329b52315f2p+5 +0x1.4dca6c64598c7p-3 +0x1.13428dac09466p+3 +0x1.51346fe0d2367p+5 +0x1.dfdfcf35aff7fp-4 +0x1.6b25601e82246p+4 +0x1.5485e2c5009f6p+11 +0x1.c0c38e2c9c58p+3 +0x1.14f0d54f40a34p+5 +0x1.18c3fba8cf5fdp+2 +0x1.91def4fa65dd5p+5 +0x1.6ae0ef442368fp+4 +0x1.ac37e2721226ep+2 +0x1.ca08a70de4361p+3 +0x1.a89bd02178d2dp+4 +0x1.37dd772a1df2ep+6 +0x1.5a7f0a1b0de9ep+5 +0x1.0cbed93c850eep+3 +0x1.ad8c34e6e7721p+3 +0x1.2cec7a6c90c28p+5 +0x1.9c5aaa39db60dp+12 +0x1.dce4bc4119f35p+11 +0x1.063b6017efa0cp+6 +0x1.5b07b1b1fcb55p+5 +0x1.2b888c8f9c59ep+4 +0x1.86b4e1de1d97fp+5 +0x1.06865279e0daep+5 +0x1.1856957e480a7p+4 +0x1.1393b634680bdp+5 +0x1.10a695ce3617ep+14 +0x1.067b40788a1f2p+3 +0x1.2012c152227c4p+4 +0x1.0f2f86b17ca4ep-1 +0x1.3b92a8aeb7de3p+6 +0x1.888f4a1ea201dp+2 +0x1.86296e1b1f92fp+5 +0x1.7294f446ae997p+4 +0x1.7789dcf585d7cp+5 +0x1.065c65d62bc06p+7 +0x1.9c3c5a4e3e168p+6 +0x1.2be0d43453091p+6 +0x1.6c659c3cd1806p+5 +0x1.a3d5950709e63p+0 +0x1.4ce251eed36c1p+5 +0x1.8275b7cf3f141p+6 +0x1.701b6d5a0e5fp+15 +0x1.e586e7718995bp+1 +0x1.643daea3fa2efp+5 +0x1.a18a2adc2a08fp+2 +0x1.0fd4b2f8c898cp+6 +0x1.8e64c6aeb19b8p+5 +0x1.8e9779a4ad74p+0 +0x1.c8412117faa0ap+4 +0x1.ab6ca986dffb6p+1 +0x1.6b35398ebe5e1p+5 +0x1.2e456f9110ee5p+5 +0x1.97bfd556fdc2ap+5 +0x1.bbc769677ad9fp+5 +0x1.ef2bd96e51b38p+2 +0x1.fb943d0fb8c07p+4 +0x1.330a96a277cddp+5 +0x1.5259274c0a21p+7 +0x1.2c32324feb4b2p+17 +0x1.c3f16c81aaf65p+4 +0x1.ba2dec2adebd9p-4 +0x1.71216dbe855e5p+5 +0x1.f3f3f83618425p+4 +0x1.f37b44160ee7bp-4 +0x1.358b6f604ee9cp+8 +0x1.293c2a3ac5e1dp+1 +0x1.78009872109e1p+4 +0x1.e41ef16a67b4ap+2 +0x1.39645a0571a6bp+4 +0x1.3d406a31f45eap+2 +0x1.c67783e71fd07p+3 +0x1.4d68f2a546f2dp+2 +0x1.9c5070438017fp+5 +0x1.131f0b11eb3d3p+6 +0x1.3b3ed0f8b1551p+4 +0x1.d294f7d910501p+6 +0x1.1c0170c64e9b9p+6 +0x1.fea9dc9b4ccf5p+5 +0x1.3e3daa2c8799cp+4 +0x1.295f38128359ep+2 +0x1.8a1aebb6fd15cp+5 +0x1.bd0d119d9e4f1p+4 +0x1.fc794804659e2p+3 +0x1.4d68ab7ac311ap+4 +0x1.842006a48feb5p+2 +0x1.e3f3124420883p+4 +0x1.51ecb56a3d14dp+3 +0x1.ef766c4c46dcp+4 +0x1.09ba6c5f785c3p+5 +0x1.0a97407a072f8p+4 +0x1.864194c6a2042p+4 +0x1.3247f3053c2f4p+5 +0x1.79e73eeee7f29p+5 +0x1.059717a552a08p+3 +0x1.935c4f1a23653p+5 +0x1.0e92a636d586bp+2 +0x1.5849659bac552p+4 +0x1.5db7f2e320b46p+8 +0x1.76861dcea99e3p+3 +0x1.6d9d6f9f0344fp+4 +0x1.f31490ed40354p-1 +0x1.638ad5eb1f189p+18 +0x1.9c36fe241ea0ap+4 +0x1.8007fca226551p+17 +0x1.26d5b8c3847a8p+3 +0x1.db2f3edd1b02p+12 +0x1.c514abeebcdccp+0 +0x1.f31b02c7492a8p+4 +0x1.ef27ee50ca5a6p+4 +0x1.6e1097eead464p+11 +0x1.580f9a7d81aacp+5 +0x1.c4f776aabf4bp+4 +0x1.0782ec339729cp+6 +0x1.6ecc32af4dd61p+13 +0x1.2ba028ce1fed3p+8 +0x1.cbc8a3bcddb7ep+5 +0x1.8b6dec7d9e3e9p+4 +0x1.e0bd1489eec9dp+0 +0x1.bca7096b17801p+4 +0x1.6b16dd8142447p+5 +0x1.717ce802b2a9ap+3 +0x1.a5a477dd13dc8p+3 +0x1.0a0ba06a2f815p+5 +0x1.d047b64eba23bp+8 +0x1.7662df214c9bbp+4 +0x1.ec413d1e59766p+3 +0x1.0e587288cc9ecp+5 +0x1.8759282069f44p+4 +0x1.6827504dfa7b1p+2 +0x1.9a57661a87e6dp+5 +0x1.f32cabaf7ca0ep+5 +0x1.3420c3f2ea4dcp+2 +0x1.dad03d3b3dd99p+4 +0x1.bdb9152a495fdp+5 +0x1.e13550f5ac947p+4 +0x1.716de2cef5ba7p+5 +0x1.8089a4a7044ep+3 +0x1.b7914b2cf2867p+2 +0x1.045c3e1c2f055p+5 +0x1.ec34cfa2e4f62p+14 +0x1.67235b483fa71p+3 +0x1.393b6be1e43ddp+15 +0x1.c88e99764f116p+3 +0x1.059b9e044101fp+5 +0x1.4016b3b8728c9p+1 +0x1.44c74866de332p+5 +0x1.026907c1552a8p+4 +0x1.51665fe6b54ddp+0 +0x1.7fb65156f4bp+5 +0x1.9131f488f0c47p+0 +0x1.5bd7243db19cdp+3 +0x1.3891896e1ca3fp+13 +0x1.4aa769bce80e6p-1 +0x1.973fd8b21946ep+5 +0x1.2118da71c3fap+6 +0x1.9e0437b7347e5p+5 +0x1.41beb422c1191p+5 +0x1.8c6b9123d5064p+5 +0x1.af45c783d87c7p+5 +0x1.e539467cc87a8p+5 +0x1.83fa6a5f48cdbp+8 +0x1.5326250b11abbp+4 +0x1.2885b4b74bed1p+4 +0x1.a5c4e7635373bp+2 +0x1.f3f189fd50db1p+5 +0x1.a27c81ee12e09p+4 +0x1.584f985dab75bp+6 +0x1.d135029060259p+5 +0x1.d75b323a846b9p+1 +0x1.40f8266db8167p+5 +0x1.38956de92ad8fp+3 +0x1.c1267186f6a9fp+5 +0x1.a12b00039a2f3p+1 +0x1.85ce1ce18f81bp+5 +0x1.d7fbb127451dap+5 +0x1.c023723758ea9p+3 +0x1.adb9bdc9300e1p+6 +0x1.47a45c3eb3173p+4 +0x1.3f863b02f6288p+5 +0x1.66278d3cc0e14p+0 +0x1.3b6f064dba6a3p+4 +0x1.3c5d89f72c0e4p+4 +0x1.51bad6d69359dp+18 +0x1.18e9289997d84p-1 +0x1.2f2eeaa88a192p+3 +0x1.477e838a7cde7p+6 +0x1.253be2eaf6ef8p+1 +0x1.5f0c62d76782ep+0 +0x1.600b9a7f481c4p+7 +0x1.cfc696dd282fap+5 +0x1.3c079e7ce756p+3 +0x1.2946011344af3p+6 +0x1.6fc0f177d9849p+6 +0x1.84d1a1a8628cep+5 +0x1.70cc583933cd1p+6 +0x1.eb3af65fd52c7p+5 +0x1.bd762db28b0a4p+6 +0x1.78626ce55874fp+14 +0x1.3120901319f45p+6 +0x1.85a7806c15baap+14 +0x1.679464436196fp+5 +0x1.76000bfd06dp+5 +0x1.5f422114014d5p-2 +0x1.aa84f2931ac9ep+16 +0x1.fefefd36b0efbp+16 +0x1.04eff43c0046cp+2 +0x1.a7acb474893e1p+4 +0x1.fa73c9218ac11p+7 +0x1.9541f4e4f378dp+9 +0x1.e50d2d73ea5cbp+12 +0x1.b076159e461bap+6 +0x1.93f239ed1b101p+10 +0x1.1a68275668707p+5 +0x1.544e7a58a8bdep+7 +0x1.ba20113313b22p+7 +0x1.45231824e2393p+4 +0x1.c3803234973ep+6 +0x1.4d724f3585d47p+16 +0x1.76cf97712ee5fp+12 +0x1.daea3c7baa8f7p+5 +0x1.1b27507fa4e95p+5 +0x1.1e8955e97aa2ap+5 +0x1.3c054004a0cf6p+6 +0x1.168d8d6cb989fp+10 +0x1.6f2768262f14cp+4 +0x1.be5633e6d4469p+13 +0x1.2effa27f8055ep+6 +0x1.18cdebf18848bp+14 +0x1.1586a9f756f02p+5 +0x1.b53571f47b263p+4 +0x1.6e4fd7ae9b2bep+6 +0x1.88bcce1d77b4bp+6 +0x1.ff43968176e74p+5 +0x1.81cad0e884c93p+3 +0x1.1817995289d62p+6 +0x1.98a6e83675ffp+3 +0x1.120dca2985b75p+13 +0x1.8909e22ff9879p+6 +0x1.28f67834ed60ap+15 +0x1.ba70a8cab2edp+5 +0x1.23ebebb6efbc4p+3 +0x1.2deee48a58b63p+5 +0x1.4a770936a16c2p+6 +0x1.56144c9313434p+1 +0x1.f1edb50cb50dfp+16 +0x1.1326f6c840a8p+0 +0x1.bf0212d61a857p+4 +0x1.ff79e83959b6p+5 +0x1.c90224cadc365p+11 +0x1.6ebfbb478ab8fp+10 +0x1.c97e185e5aca4p+8 +0x1.7299dfc8d0292p+5 +0x1.071414bc353b9p+3 +0x1.6cd72a6c7b1d7p+4 +0x1.565db07fda9dp+5 +0x1.61fde02094f5ep+2 +0x1.d75d7f406a8eep+12 +0x1.6e81c0f16ba46p+13 +0x1.595309302454cp+3 +0x1.6f9a7c47f705bp+5 +0x1.6e67687c6d35p+6 +0x1.b18de3b9c2b33p+0 +0x1.fd388424ea40fp+9 +0x1.5ff3aa8e53e91p+5 +0x1.04a51ff483115p+4 +0x1.7dbe8cef9e169p+3 +0x1.065a276bea147p+5 +0x1.0eeaea62ce86ap-1 +0x1.071a74268330dp+5 +0x1.ade30094ee1efp+7 +0x1.57ca90e7559d8p+0 +0x1.010634fe3bd82p+5 +0x1.084358a4dd52dp+6 +0x1.79af949fe3bfdp+3 +0x1.1756f622ed732p+6 +0x1.4e50bad39a5c1p+4 +0x1.767fbe7f0f8f8p+15 +0x1.66d252663d7c3p+0 +0x1.5e4c0758ab6f1p+4 +0x1.2569f84b7e41ep+5 +0x1.4ef4151d1d504p+4 +0x1.94e2915a3afafp+5 +0x1.73b1d95f5dd4p+4 +0x1.12df457926d63p+6 +0x1.6fcc7bca2f38cp+4 +0x1.028013dd71bdap+3 +0x1.4b0f8f14be422p+5 +0x1.4fc30d7daa2ddp-1 +0x1.37fcc8ae300ecp-3 +0x1.5dfad0d180206p+3 +0x1.b8cabb6190264p+8 +0x1.39c321c194312p+7 +0x1.091c1550ecd92p+5 +0x1.08047946f5796p+1 +0x1.5e5209acaedbep+4 +0x1.2eb6360697722p+4 +0x1.297b94888b9e4p+6 +0x1.99124d9e6b5bdp+5 +0x1.8995e340b0ed6p+5 +0x1.4f995a9b5e21ap+5 +0x1.507400de131bcp+7 +0x1.5364def5b30f3p+6 +0x1.95d1bffa3224ap+11 +0x1.18adfb2376294p+5 +0x1.828667e25e20ap+4 +0x1.cb4211dcf4663p+6 +0x1.8b659d7df2a7ep+5 +0x1.8433d7349a242p+5 +0x1.4562551b7990ap+6 +0x1.7032f1ae18c8p+9 +0x1.66baf927c3d26p+6 +0x1.cda8044199ebfp+4 +0x1.deaa7cae6999bp-4 +0x1.30986cdbff435p+2 +0x1.9f15f6152940bp+14 +0x1.7432556153645p+1 +0x1.c4b7469e90cfap+5 +0x1.c41c69efa9974p+4 +0x1.b175ef5a5ff2p-1 +0x1.194b9eba88e88p+16 +0x1.97d5cd567d897p+5 +0x1.b59bc0113899p+5 +0x1.296741f6398d6p+4 +0x1.33b817ff79334p+5 +0x1.9bea7178408f6p+4 +0x1.88f551ed703d9p+5 +0x1.1d0e518d63c53p+0 +0x1.735832c227d6p+2 +0x1.a853f005d6f5p+6 +0x1.924705f2430e7p+6 +0x1.685845cd47d62p+4 +0x1.6d941e3a6f1e4p+5 +0x1.dc6766e4e7c36p+16 +0x1.02a0847c90e95p+10 +0x1.b874f91ea9b36p+4 +0x1.618cd02cf8aa1p+6 +0x1.205de18a30da6p+3 +0x1.ded811368cab6p+11 +0x1.e8f989549d04p+3 +0x1.319288e7fc051p+15 +0x1.c9343f720aa43p+6 +0x1.4fbd326411d25p+0 +0x1.04bc3bf8aa3e1p+6 +0x1.4f8366a7596d7p+5 +0x1.b4ded258fdef5p+5 +0x1.885bdb71e6b37p+4 +0x1.0cbcebb083bbdp+5 +0x1.a8ee95cd2f1bfp+4 +0x1.e673779983e8fp+5 +0x1.b7bf253edf349p+4 +0x1.08f2ae5457187p+2 +0x1.0f50570f9899cp+14 +0x1.2c360b860b392p+3 +0x1.91e56047b8849p+4 +0x1.1cee877207b8ap+5 +0x1.479c32f8de469p+9 +0x1.5792580f9783p+6 +0x1.e0b47df6bb1ebp+3 +0x1.7463b90ec97p+5 +0x1.38421c1dca04p+5 +0x1.a185f577e0fa2p+4 +0x1.f0d9981794a2fp+2 +0x1.137285db4616p+3 +0x1.56a1e8a096227p+6 +0x1.6d5cef11873fap+1 +0x1.bb1d365ff2c24p+4 +0x1.9e7237d8988f9p+2 +0x1.cd1777b74aa2bp+5 +0x1.b7b5822526fdcp+4 +0x1.3ce3e6d2a06bep+6 +0x1.426e244983e61p+11 +0x1.ffb236a330b1ap+13 +0x1.98365a25f33a1p+4 +0x1.a7429afab6ba3p+0 +0x1.d7600c84fe0a4p+5 +0x1.958455adbd845p+6 +0x1.9886766fc1d53p+5 +0x1.771dd249c154bp+3 +0x1.57bab845e4c7cp+4 +0x1.37ecef901deb1p+2 +0x1.1da502c6bc4c1p+5 +0x1.1cbc4b5e81d7dp+7 +0x1.4674aa6d190b3p+16 +0x1.300192bc4d749p+5 +0x1.1532fcdaddd43p+1 +0x1.0e62e14ed7e52p+2 +0x1.e059e18259c55p+4 +0x1.c627644fb50ebp+5 +0x1.69b718281fc81p+5 +0x1.df9c19f689791p+6 +0x1.835c62b466393p+6 +0x1.83a4bc3f7784bp+5 +0x1.4cfd30004468ap+16 +0x1.9c2be31a37088p+3 +0x1.11e1b1f7ca1aep+5 +0x1.497b652408d4dp+16 +0x1.27330525a544ep+10 +0x1.6bfd3d95e1794p+2 +0x1.3abcdd9d0766fp+0 +0x1.a36ff8a6e2e3ep+7 +0x1.00816b7465b48p+6 +0x1.9c24a2f8ac2c6p-1 +0x1.07ae9a0f6ba19p+5 +0x1.e043c9ee3ade1p+4 +0x1.1c7ebbbb8c45ep+3 +0x1.35627dd320f9p+12 +0x1.c5309d046c55p+5 +0x1.3d29fa35af889p+6 +0x1.621e39b1fc413p+2 +0x1.0d3e9824bbc9dp+11 +0x1.d49dc29f7918p+3 +0x1.5c772230d41a3p+3 +0x1.887a000dfc01ap+5 +0x1.fac0d6fac476cp+4 +0x1.221ddcf8d83abp+4 +0x1.0e85fac03277p+5 +0x1.4d70ec4f632aap+5 +0x1.09828399f1dcbp+5 +0x1.d042aec3f426ap-1 +0x1.33fcba2bb6f42p+5 +0x1.64fc30218e414p+6 +0x1.2383a5c07711ap+5 +0x1.bc4ba59fd48edp+4 +0x1.8d7ffdf92d1fdp+2 +0x1.43333557ac838p+5 +0x1.65aad446c6746p-1 +0x1.974d4c2c6ac92p+6 +0x1.21a694c53518ep+7 +0x1.09ee907e7d1efp+6 +0x1.8da5e147bd472p+6 +0x1.a53a834130bdbp+4 +0x1.2f88c1ac0ee31p+6 +0x1.a794bf209e2b6p+5 +0x1.492ad6e9337b7p+7 +0x1.c193e1df7ea56p+3 +0x1.7520abd238e71p+4 +0x1.0c38be406849p+12 +0x1.336138ac5a0bbp+1 +0x1.5da285042fd3ap+4 +0x1.5c3f0b8d6d8a4p+5 +0x1.5b2682466395cp+4 +0x1.7d1ee6ff44886p+4 +0x1.100e2594d23ffp+4 +0x1.48bf130a5c97p+4 +0x1.76e08a7e50deep+3 +0x1.faf660ee16596p+5 +0x1.00c63d566b894p+5 +0x1.e1be15146eaf4p+5 +0x1.282bc8a8bb9fep+2 +0x1.f780fafaa3eacp-1 +0x1.74974a6ef335ap+3 +0x1.07bd60914deacp+6 +0x1.de8d6e34d9021p+4 +0x1.12cf2233d2f1dp+5 +0x1.815c053aaac18p+1 +0x1.b8b4be4a34216p+6 +0x1.d28ab05d2f7b6p+5 +0x1.34681cbfe5e9p+5 +0x1.f2776ac4b0705p+3 +0x1.b54d166037798p-1 +0x1.4ac1cf6451198p+5 +0x1.287de8a8f593dp+3 +0x1.c306c2ea58994p+6 +0x1.a2e3132095c53p+2 +0x1.455e6e041964p+5 +0x1.7a909cae084cep+4 +0x1.5acc4dcb8ab73p+2 +0x1.3ff2eacaf384ep+5 +0x1.32fd115bcb29cp+14 +0x1.9a24ad8695b56p+0 +0x1.f52ccf4b32505p+3 +0x1.199b7c78f017cp+5 +0x1.33e5ce131fd7ep+0 +0x1.f912a004a93cfp+11 +0x1.c79c6de68bb02p+4 +0x1.a3bc743befce3p+4 +0x1.4bfbc269362cep+13 +0x1.92d119065eeeep+7 +0x1.a113754eaea9dp+7 +0x1.3d0dd73fbe324p+6 +0x1.f8961dba2cc49p+16 +0x1.360ea1bf820b9p+10 +0x1.801180b8777edp+6 +0x1.38ecc60bc4622p+6 +0x1.8b4f9087f5931p+3 +0x1.73bbba22e7b1cp+10 +0x1.5281723b9b717p+13 +0x1.a5600eede1f3bp+2 +0x1.4601ed62b661fp+15 +0x1.032c872d964eep+6 +0x1.284fc3ce1b674p+6 +0x1.22f882292f309p+4 +0x1.2faa214f30938p+16 +0x1.233af57cffdb7p+5 +0x1.a18d6a4fbd39ep+12 +0x1.35c604153cb8ap+9 +0x1.7df98c5b6554fp+7 +0x1.0b498d4bd276ap+7 +0x1.d0b8645e4a8a9p+3 +0x1.2f4f772ba851p+15 +0x1.3e7d54e78fa48p+3 +0x1.8b42c7f521daep+5 +0x1.84f1a2443f266p+2 +0x1.3100484013667p+8 +0x1.19965e837ea41p+5 +0x1.afd6c4d362612p+5 +0x1.0a9726f71486ep+6 +0x1.bbfd5f9759885p+5 +0x1.40fe8d2541791p+5 +0x1.43010cbb5967cp+4 +0x1.ea827afc26525p+3 +0x1.a3d5ba0dc62d7p+5 +0x1.5e23fce674ec1p+6 +0x1.09bf5c9a57026p+6 +0x1.c36e99619218p+5 +0x1.167a83460753p+0 +0x1.4bc047e63e692p+18 +0x1.e970f6371a5e2p+16 +0x1.a53496b05043ap+1 +0x1.b88fdfa7e61bdp+3 +0x1.efe78f4f53c3ep+4 +0x1.40228c6832e79p+5 +0x1.0aef220057ea6p+14 +0x1.9d6e715816dcp+6 +0x1.21e839852501dp+6 +0x1.10770dde624bdp+7 +0x1.015c9a72f7a4ap+3 +0x1.6295a273762cap+5 +0x1.64e30cb9b00f2p+4 +0x1.b18ed7cc4fd08p+5 +0x1.ff25672e34555p+12 +0x1.eec29f19d3af8p-1 +0x1.25e2b65d667c4p+4 +0x1.cfcf6e3351a84p-2 +0x1.8d9de49d145c9p+12 +0x1.2ac105614d881p+15 +0x1.9ea93187d34ffp+4 +0x1.f370cb13f9a5bp+5 +0x1.2e72bb674fa5fp+4 +0x1.b26693d62bf65p+18 +0x1.7d7266de6fb9dp+18 +0x1.cf22b71d35c16p+4 +0x1.e47db01a94496p+2 +0x1.1c7ded6e68803p+5 +0x1.ac931d3d49e3cp+3 +0x1.3698d15ef6116p+2 +0x1.df97a57a70393p+4 +0x1.adec151d5aefdp+5 +0x1.7ec80bf0f934cp+5 +0x1.95f1f88dd81eep-1 +0x1.2ffd49676999fp+10 +0x1.e131e251eac43p+5 +0x1.288a0361ea626p+2 +0x1.78da10553797p-5 +0x1.68da42e0825a5p+3 +0x1.45b86787863ffp+3 +0x1.ce7e4b092fcd9p+5 +0x1.0943f5377215ap+2 +0x1.6685804f949dfp+5 +0x1.27f88086743e4p+15 +0x1.2499fc2fdbb34p+9 +0x1.f621c904ed81p+4 +0x1.6262a35d1cd6ap+12 +0x1.799f59dbbfd22p+16 +0x1.02e32ac1c8fcdp+5 +0x1.6efd5a6c404d6p+2 +0x1.a66614c40f917p+5 +0x1.526db12192a05p+2 +0x1.b1efd75d12a06p+4 +0x1.f5ba06ff4f5fbp+4 +0x1.3bb58324fdd3cp+6 +0x1.29b5dd07bd67bp+18 +0x1.76ca8b0b98acap+5 +0x1.a63cbb4dfe26ep-3 +0x1.26bc9b3c3faf8p+4 +0x1.0eaf3e4bd9db5p+13 +0x1.3a5c791998554p+17 +0x1.9d5102d340104p+5 +0x1.878b6473e4c5fp+3 +0x1.c7c489d5347f2p+1 +0x1.12cc551a6c5cep+10 +0x1.3827464b08b05p+6 +0x1.4ebb081a303e1p+13 +0x1.c93ea991023cep-1 +0x1.0b57933940238p+5 +0x1.356e5a6b6b307p+0 +0x1.656919e35b317p+6 +0x1.dd00b935e2f64p+5 +0x1.5e8c3a1c63cabp+1 +0x1.8f8a678891bd6p+3 +0x1.5d256e9b74bcdp+7 +0x1.08903de5bade2p+6 +0x1.f28a2c28b08e2p+3 +0x1.0e9b28adea41bp+2 +0x1.939adc7fae871p+3 +0x1.68ce68781a07ep+6 +0x1.d4e73f4757212p+5 +0x1.4535d046590d5p+5 +0x1.c451214db053dp+5 +0x1.4f74ec350f571p+15 +0x1.4d1b304001d34p+5 +0x1.f15cf58a91538p+12 +0x1.b998833a09e97p+14 +0x1.1688c32e9a5f9p+6 +0x1.bd467b6af1139p+10 +0x1.5559323bfcf6dp+3 +0x1.48bab8bddabc5p+7 +0x1.991642408cdc7p+5 +0x1.268e29527c173p+3 +0x1.8343ac8df6ef3p+5 +0x1.056a84e698a9bp+10 +0x1.d8629838d2219p+5 +0x1.41b39967b2ca4p+5 +0x1.291b334891d87p+3 +0x1.a82f6233be861p+5 +0x1.01f74746cfc12p+4 +0x1.b2bcd670a0785p+4 +0x1.1d46496d045d8p+1 +0x1.4867c9928adecp+4 +0x1.8559b2c452144p+10 +0x1.d92eb8716e4aap+4 +0x1.f7dfd165fabb6p+4 +0x1.485854f3c4ee4p+4 +0x1.92cb4ab891dbbp+5 +0x1.53fac20ea64efp+6 +0x1.eab70fd672f19p+6 +0x1.4ef22663fe6bap+14 +0x1.3dd3db5c31d4cp+4 +0x1.8466d4368b4d6p+5 +0x1.a65992d0d3e44p+6 +0x1.17fbc88685416p+6 +0x1.141bb2f0f19d3p+5 +0x1.224564f526159p+6 +0x1.7202adc6091dcp+0 +0x1.1d39e44f23592p+2 +0x1.02d721b867734p+4 +0x1.d3a0fa21e17fbp+11 +0x1.277f5dc5491dfp+2 +0x1.b23fb4726b5eap+4 +0x1.8ae0fe5c930b2p+3 +0x1.b03b30f187287p-1 +0x1.89b79aae0a11cp+6 +0x1.994e15dbb3a2bp+6 +0x1.59beb2ef56c56p+2 +0x1.7983b2dc056bcp+5 +0x1.7514d6c7ebb52p+12 +0x1.16724defcd3a3p+4 +0x1.4ed2cda6cbc1dp+5 +0x1.eb46d907c95bep+5 +0x1.3db1f26b42a3ep+5 +0x1.12c4d590d983ep+1 +0x1.6531e4c8fb18p+3 +0x1.676471a94722dp+4 +0x1.f80f14a0b4041p+4 +0x1.5efc4acd16dfap+6 +0x1.dfb82e4c395fp+0 +0x1.17a0d46b4037p+0 +0x1.20b9610fc74ccp+7 +0x1.a8257d6289174p+6 +0x1.c07e8bf16cf1bp+6 +0x1.85eb4a42a0113p-4 +0x1.6f8a5bfeff18cp-3 +0x1.f72d15c7f2755p+5 +0x1.670b5199472c1p+6 +0x1.9df709448d878p+6 +0x1.48cfde02bffc7p+4 +0x1.3890cc545b482p+1 +0x1.a07a97752299p+3 +0x1.c7b4305e5f605p+5 +0x1.0e609331b264ap+6 +0x1.147dba88bbbd3p+10 +0x1.14659d7f36723p+4 +0x1.a62698dc57eafp+5 +0x1.db66af4dd6a22p+5 +0x1.7b4bc9c60d44p+3 +0x1.8eb9400de2832p+4 +0x1.79cefff8d911fp+15 +0x1.2fbf2eed05dcep+6 +0x1.58cb8293528fep+7 +0x1.814c49ae95017p+4 +0x1.c9cc354faf0e5p+5 +0x1.e7bd5d7bea9cp+2 +0x1.83850912a08eep+5 +0x1.3069205c1a9d5p+5 +0x1.74b006be03656p+5 +0x1.98de4ed088f37p+2 +0x1.57a253a8f9f3bp+5 +0x1.2b70bf95662p+3 +0x1.92bd98536bc1p+2 +0x1.9446f609fdf2fp+5 +0x1.fbbe57c174b71p+5 +0x1.203796e5500adp+5 +0x1.91e9c182101f6p+5 +0x1.4299b6228e6d5p+9 +0x1.0440b712f7987p+7 +0x1.caa520e34bcbp+5 +0x1.0313ea9c1ee05p+5 +0x1.f0d5f483f758fp+4 +0x1.65e461e947776p+12 +0x1.19b9517eb8606p+5 +0x1.07ade0da2cfb2p+5 +0x1.15db6867c9ba1p+6 +0x1.6a2dc8bd6545dp+9 +0x1.5dac34226b9ccp+5 +0x1.1be262d9d8a71p+6 +0x1.b6c96dfc563cfp+2 +0x1.62bea2d79e196p+4 +0x1.b4c869308cdd8p+4 +0x1.850e8c5000348p+5 +0x1.6f7188b309bdep-1 +0x1.6e3c42b827b05p+5 +0x1.a978f7f3f4277p+3 +0x1.35010525ff6c1p+14 +0x1.a6aa367d59ad1p+6 +0x1.616128dc1b089p+4 +0x1.7de32388e8915p+16 +0x1.34debcfa395e8p+6 +0x1.edfb585fa6043p+9 +0x1.b496ac835257ap+1 +0x1.0308e4faa60fdp+5 +0x1.0f4ea25f05f12p+6 +0x1.0f9f4cd37d0acp+3 +0x1.f0aaa4e478b58p+12 +0x1.295510645eee8p+6 +0x1.2a1be6a003408p+6 +0x1.b53ca82b97c7dp+5 +0x1.2042522719d8ap+6 +0x1.d73ac6c55c348p+16 +0x1.1762c78097bfap+6 +0x1.6ed0a6a9cf5d3p+3 +0x1.286bb5e174993p+4 +0x1.e846e95b4483bp+15 +0x1.7a5899619d539p+4 +0x1.3ed4bc8edad8cp+6 +0x1.0cd212bb3d423p+13 +0x1.828563dc40c4ep+7 +0x1.3a4312bd4d504p+5 +0x1.2a16c029c2fa9p+2 +0x1.0c779821fd131p+1 +0x1.010e1b438fe02p+0 +0x1.1f6251b982c37p+2 +0x1.b6c8bccc3ee94p+5 +0x1.12cc7350260fcp+6 +0x1.51aa1f5c26396p+5 +0x1.9ad7ac5b57acp+5 +0x1.b96b7b2a45bf3p+3 +0x1.599a22665ebd4p+4 +0x1.13018c08e7984p+12 +0x1.90ad8c1ad5524p+2 +0x1.f51e648c00516p+1 +0x1.d4385107a22fp+5 +0x1.708ae7578e8e6p+3 +0x1.6d1704b0b0b54p+6 +0x1.32d01a052001fp+17 +0x1.32d53f8502a6ap+4 +0x1.3643dc4a882bap+2 +0x1.9bd96d34d2b7ap+1 +0x1.1bfd271cb8b62p+3 +0x1.8a7bead3f85a6p+18 +0x1.6999b3a4c9c43p+2 +0x1.f42e4d2e648c2p+4 +0x1.89c715cccdffdp+13 +0x1.06d47095e0c3bp-1 +0x1.27391bb3b9b01p+6 +0x1.28c980480967cp+14 +0x1.7a59d91616c8ep+5 +0x1.f2a5f44c5159p+5 +0x1.0c3aa6d6a76c4p+6 +0x1.7b238c8c38fap+5 +0x1.15f83c43e640cp+2 +0x1.12247aae16d12p+0 +0x1.53ce0ff223458p+6 +0x1.eb90584df9488p-1 +0x1.f9bafb6e9ed98p+4 +0x1.84c911749487ep+10 +0x1.199c307263452p+3 +0x1.3aaf13be869aap-1 +0x1.5cdcadaf57041p+4 +0x1.99de799289852p+0 +0x1.adaed590d5439p+2 +0x1.258115d9248e9p+7 +0x1.3144dd69057bdp+0 +0x1.576eb427fad53p+4 +0x1.cf9e5f9507c43p+5 +0x1.11373579f9baap+6 +0x1.0e8e9a355d99bp+15 +0x1.319cb268cb65bp+5 +0x1.0b5e275084c5cp+11 +0x1.1a3bfd773df11p+6 +0x1.be5a23f346d61p+8 +0x1.5b8abe66a737ap+19 +0x1.38e1ec987f261p+5 +0x1.fe7332d123dd3p+3 +0x1.65504147a911fp+11 +0x1.8fedeee557f16p+4 +0x1.316c07f5bcf03p+3 +0x1.abf79fb58fef1p+5 +0x1.3134d5287840dp+5 +0x1.24a92a1afdc38p+5 +0x1.f5302da95b03ap+2 +0x1.80bd05ca9b81ap+11 +0x1.4f0e09cbb8d58p+16 +0x1.806833a5d09bfp+3 +0x1.ac9faf997102ep+6 +0x1.f5aa28d397c8p+2 +0x1.16fe7118f9cabp+5 +0x1.e61842f38fb79p+4 +0x1.4914344356e3ep+17 +0x1.3c5ec8b1d1cb1p+16 +0x1.f52a6cb7513c8p+5 +0x1.272ca0a65957cp+5 +0x1.970c36a00ffcfp+13 +0x1.63161ee5eb248p+8 +0x1.2bedb63b64164p+1 +0x1.1465e20374cdap+9 +0x1.100bf85b448a9p+5 +0x1.33636716c2a2ep-2 +0x1.513a7ea001158p+6 +0x1.2ddd6fef703d9p+4 +0x1.21b25972a6e34p+10 +0x1.c8c86fb72fe72p+9 +0x1.353e4f3a115fap+1 +0x1.753e4f8987fb6p+4 +0x1.11b8eeeab6419p+5 +0x1.0969a98f1b534p+14 +0x1.54c133506122dp+9 +0x1.9b4fdb6dcde28p+3 +0x1.44f6a430a8314p+3 +0x1.800cafb6ae70fp+4 +0x1.29c5627b33247p+1 +0x1.209feda757405p+4 +0x1.d055920eb48d2p+5 +0x1.347f92817ae36p+5 +0x1.22eec04ae8eadp+17 +0x1.19b518a0e155dp+4 +0x1.2f450b43c5f47p+16 +0x1.07657dc5764c9p+8 +0x1.640b8935d9cd2p+7 +0x1.6de7fa9e6fd61p+10 +0x1.01df75372ba9p+6 +0x1.503938e3f1525p+5 +0x1.f0d0e2b78fb87p+4 +0x1.48fb1c9e2f984p+5 +0x1.e5abd0863017ap+6 +0x1.d13dbdabc43c9p+2 +0x1.6b1c54a1e695fp+12 +0x1.83e84d628b1bep+6 +0x1.d869751ac1e14p+5 +0x1.1dcede94ffb7ap+5 +0x1.83bb2bb893b7bp+5 +0x1.1a0cc8645f864p+3 +0x1.41d1aa57dcd1ep+14 +0x1.8cabb0009cbcfp+4 +0x1.0ab6bbed8d4afp+4 +0x1.2990e29570dfap+5 +0x1.3b7069abaa71cp+5 +0x1.9c7e958bab126p+5 +0x1.eeaec709f5d06p+4 +0x1.7ea623065a207p+6 +0x1.3d0e181297c6fp+3 +0x1.7571b3c395ce5p+16 +0x1.af013291eb593p+5 +0x1.110093db5bb7p+14 +0x1.3c596a4694153p+5 +0x1.4d3133b920dbdp+1 +0x1.33931a69f9cacp+5 +0x1.6fb5affab4887p+13 +0x1.61ddcfebaaf25p+3 +0x1.c0a1ffe1ff6fcp+3 +0x1.7ed22a326f922p+2 +0x1.e51b52bc282cdp+3 +0x1.94078ecff348dp+5 +0x1.be311ef89702p+5 +0x1.980b480a08cdep+5 +0x1.a61ec2dcd61c3p+5 +0x1.1880d123fe224p+4 +0x1.2f75089b6b214p+13 +0x1.bb18ad2908b2bp+4 +0x1.167c6a2c6d99ep+5 +0x1.80dfde067327ep+5 +0x1.561d1e868dd52p+5 +0x1.2489e2a972e33p+4 +0x1.117b58d4f74c1p+5 +0x1.2e265ac17de15p+5 +0x1.df9dfab716841p+5 +0x1.4f62d71af0b3ap+6 +0x1.9285ece56ed3cp+5 +0x1.42188788e3d2p+2 +0x1.53e3cec5f3794p+0 +0x1.0a45f6389a7bbp+4 +0x1.b171280b5738dp+4 +0x1.86c39cfedf6f1p+1 +0x1.52e194831242fp+3 +0x1.78ca56729083bp+5 +0x1.4093c8fc59012p+5 +0x1.2313b9ee41723p+15 +0x1.47dd4bce5e8fcp+4 +0x1.64fd591a2120cp+3 +0x1.0d8b71fcf8046p+4 +0x1.60c565ba0113bp+4 +0x1.9ea751b6684e9p+3 +0x1.1a7199d8c8d32p+4 +0x1.3c403907f9734p+7 +0x1.10aee124b2ccp+14 +0x1.d8c5a24cdbdabp+4 +0x1.f018a6d58fc33p+4 +0x1.6b109df825ea8p+6 +0x1.2a459b68295bp+4 +0x1.5a27739fa2d07p+6 +0x1.606ed37134436p+5 +0x1.47786ff82923p+13 +0x1.6867052ebe27cp+4 +0x1.7aba24b86e6dp+17 +0x1.039d5aee0654p+5 +0x1.5c4cacd66d94ap+6 +0x1.d583caca2ce53p+5 +0x1.571adf5955041p+5 +0x1.03b37c5a2ac2ep+4 +0x1.72d03b15297abp+13 +0x1.6ac67ae4f9201p+9 +0x1.2ebbea63e9153p+5 +0x1.cc0f58eae62aep+2 +0x1.55480b502516ap+4 +0x1.4d9424fe1b201p+4 +0x1.91c7d18f159edp+6 +0x1.ceb3ec53821e8p+5 +0x1.008fadd47c79p+6 +0x1.814d61262bb6ep+4 +0x1.74c6e45f1a0eap+3 +0x1.6df99d7d71b9ep+6 +0x1.315c79d5da568p+4 +0x1.6db018cfd5e39p+5 +0x1.9700e52ca7ae9p+10 +0x1.5275f73955f9p+3 +0x1.2295a0b08e2p+11 +0x1.b32cfe7b577aep+5 +0x1.b55f99f607921p+5 +0x1.41184dec1687fp+6 +0x1.bcbd94d8b7822p+0 +0x1.aeac31bd4be4p-2 +0x1.b3174c240701ep+11 +0x1.20f020eb7ad4fp+5 +0x1.3824a3d3c5e69p+6 +0x1.4cb2a9f371b69p+8 +0x1.8318b9ce6e6f2p+6 +0x1.098224e3a6bbdp+5 +0x1.84e268191b284p+4 +0x1.19f5b4d06aaeep+5 +0x1.4697248d2a2c1p+16 +0x1.bed53c1a3f00ep+3 +0x1.07b472b843188p+2 +0x1.9939d40ba3771p+0 +0x1.5984d5e49ea5ep+6 +0x1.22449dc227a08p+6 +0x1.46929f6ffbbfp+2 +0x1.3d40a59de0303p+3 +0x1.27b0d5c90c6ffp+3 +0x1.06af6dde0c953p+5 +0x1.0c31bb9a72868p+1 +0x1.45a8cd62b7ab5p+6 +0x1.651a63cace92ap+6 +0x1.b2e34784fd5f7p+0 +0x1.2f42060dde7cdp+4 +0x1.873936fdece46p+5 +0x1.d0921c3bc1b6p+9 +0x1.72b708d056aa8p+3 +0x1.be69cc3c6e70fp+5 +0x1.cc4cef2230eap+1 +0x1.b1f2d430fb463p+6 +0x1.67d4acfa847dfp+3 +0x1.55bc7b2188cb4p+5 +0x1.b3d005a595315p+6 +0x1.26f6b99698879p+4 +0x1.316274fb911fep+0 +0x1.7ae893124b7ccp+4 +0x1.8c8ec8af33aa1p+6 +0x1.ff41b1b00fa11p+5 +0x1.6cfe6a57b6aaep+5 +0x1.48374d2280f8fp+4 +0x1.7fd9325d9a3a4p+1 +0x1.9ed81f2638a4dp+5 +0x1.279ef6c0615f3p+18 +0x1.80e3eff36b102p+5 +0x1.6bb78785de833p+5 +0x1.5fc2e7ed3c313p+1 +0x1.d4ce4a57dbab9p+11 +0x1.e83c6edffea4ep+8 +0x1.520f2c0edae7ep-1 +0x1.2cad323681b29p+6 +0x1.d77315a88415bp+5 +0x1.c1a1046d283bcp+0 +0x1.d7372cbd26e73p+4 +0x1.06e4223164b3ep+4 +0x1.4e7df08679bd4p+5 +0x1.adba3964d7d9ep+8 +0x1.0f680657f0092p+6 +0x1.b0e4e7fbb31a6p+10 +0x1.3084c59a27e55p+5 +0x1.275287e157adcp+5 +0x1.0061ba7b6fb35p+5 +0x1.67e2bddab3955p+2 +0x1.f3dff32d61307p+2 +0x1.9d61725373941p+4 +0x1.5045fea12ec7dp+10 +0x1.2ece19a73144p+4 +0x1.0bdabae440df9p+6 +0x1.bc31a6646b6d6p+4 +0x1.0d06e897b0382p+5 +0x1.d3c106fc159ep+3 +0x1.5f2a9756e9e88p+18 +0x1.2a3bb71c2ec7cp+3 +0x1.9281b514283e2p-2 +0x1.d1a63aecf22a9p+4 +0x1.094202b075be4p+5 +0x1.91dec00646a1dp+4 +0x1.69017eb154526p+18 +0x1.51baacdc3ca94p+9 +0x1.0771c068f0888p+3 +0x1.e9109593caee2p+9 +0x1.d516db82cadddp+14 +0x1.e369f1000c289p+12 +0x1.1f61ae5d93439p+5 +0x1.36c92da2ab5ddp+4 +0x1.3ccd4c1796ecbp+7 +0x1.cc8b52b4740adp+5 +0x1.13daf1be1a0a7p+5 +0x1.a598d8f11e6c7p+5 +0x1.7ad02f6710338p+1 +0x1.45893163bc8fbp+7 +0x1.05fd8a17b1b6cp+1 +0x1.145cc625287d2p+5 +0x1.f8b6687020c5cp+4 +0x1.9aaa3218f1a32p+6 +0x1.41e3fc3fa41e9p+4 +0x1.aeb1bbbf6629ap+4 +0x1.2594baa9d6c43p+6 +0x1.b52440cd3881cp+4 +0x1.bab4a7e1133dap+5 +0x1.dd7c074d34b5p+13 +0x1.ce6569c62784ep+4 +0x1.536b303d72b7cp+6 +0x1.5c49cb934fb26p+5 +0x1.ce4ed550fa5e2p+4 +0x1.03e59af409f7p+5 +0x1.265bda21e6ef3p+5 +0x1.96536187aa4f6p+9 +0x1.a79a49fdd584cp+5 +0x1.e6c09f2f9d8e4p+5 +0x1.f2b543630fa93p+5 +0x1.12d151cd46d18p+6 +0x1.bdc49ba8f7d4dp+5 +0x1.069d77846140cp+5 +0x1.4af7e3d0a8b3p+6 +0x1.a4da7dbfa71cdp+4 +0x1.c8fe4c102fadfp+6 +0x1.05048f22e2faep+4 +0x1.0f82989f54221p+5 +0x1.676d19ac60e57p+7 +0x1.10d86ff91a19dp+5 +0x1.4f2a4fd895a6ep+9 +0x1.0f3d604160ce1p+6 +0x1.c7fa140204e51p+6 +0x1.8db1fdc5e8385p+4 +0x1.33859f85817e6p+3 +0x1.78c933892b4bep+5 +0x1.f7dc77ee7289cp-2 +0x1.23939183aa367p+3 +0x1.89cb3462dee26p+5 +0x1.6872b5ae63c9bp+5 +0x1.b7dd8174d63cfp+3 +0x1.3049867df4e78p+11 +0x1.ef362a6564a56p+5 +0x1.62f8c6b710195p+4 +0x1.08be7160392bbp+6 +0x1.46d103306a1f3p+5 +0x1.ce7c10a7c97fbp+4 +0x1.9ac1c1a482ecep+3 +0x1.b44891b5e0842p+3 +0x1.d7e151ba03276p+4 +0x1.bbaec2bcacabep+4 +0x1.6d2af35204653p+1 +0x1.1fb1b2e09c404p+13 +0x1.73db69b98f367p+5 +0x1.79488f375c3a3p+7 +0x1.4254931d77d2ap+5 +0x1.7c573be20b518p+2 +0x1.98439fcd1d8dap+6 +0x1.87944695c26aep+4 +0x1.206e6711f0e44p+3 +0x1.3ce3b2c8664c7p+16 +0x1.db27da05d4756p+5 +0x1.aa9696a921b29p+5 +0x1.50f584efba3cep+2 +0x1.2dfbe3ece0a38p+5 +0x1.f65e7c6ff47ap+3 +0x1.256a80248e164p+4 +0x1.151eb3b6c28f8p+11 +0x1.9761c355ab6afp+4 +0x1.657488b251fa3p+14 +0x1.c3ba4355c15d3p+0 +0x1.3f57d46d7a0fdp+4 +0x1.e27f52ed7f55dp+3 +0x1.074fd31fb87dp+5 +0x1.cdcfd2cf3f46dp+1 +0x1.f388ab810fb97p+5 +0x1.a3a7835af8e7cp+5 +0x1.9f609d9c36c36p+5 +0x1.0683074ed1c06p+3 +0x1.0171277ab7881p+8 +0x1.5f4e24aad6d2ep-1 +0x1.abc550ac59a22p+6 +0x1.e503aef467365p+4 +0x1.188d79aca8b83p+6 +0x1.3011346fc332cp+6 +0x1.4613f51654772p+6 +0x1.e493a1a305efdp+6 +0x1.f624be449e113p+4 +0x1.89926fd64c06bp+12 +0x1.f124f25b541adp+3 +0x1.053e6a4f6f597p+3 +0x1.552d06bc5fcbap+5 +0x1.2316a19aed77cp+5 +0x1.bfb3e0f641898p+5 +0x1.798f6992a46d8p+7 +0x1.d7f194e99fb51p+4 +0x1.8121834973953p+6 +0x1.8ce3138c32c21p+12 +0x1.2e0dd37c96e56p-3 +0x1.2c3b49c6ea6a5p+9 +0x1.18c3eba8c054ep+7 +0x1.0b426e03566c9p+6 +0x1.5bc4ce703c93fp+6 +0x1.eff6d6c30f21p+5 +0x1.af7d79da4be6fp+5 +0x1.be264d9af42e3p+4 +0x1.eefc2dab01684p+3 +0x1.2333a334509aap+12 +0x1.1aa9675d4bc7fp+3 +0x1.7033320ad864p+13 +0x1.98b640fb3eb4dp+15 +0x1.81240c95a7762p+3 +0x1.cab7ff13278c2p+2 +0x1.bef13208b3811p+8 +0x1.11397fc8a76f8p+11 +0x1.8b1e800f82d4dp+5 +0x1.86607445c37f5p+5 +0x1.3ebf1afa1d005p+10 +0x1.761d87e9c9771p+10 +0x1.3514c03a50162p+6 +0x1.f5eac9ac7e53ap+4 +0x1.9baa718d96426p+5 +0x1.182bf7b29eea7p+6 +0x1.0697a0b074319p+6 +0x1.faf9b7fff6a11p+1 +0x1.b0b7609d7036cp+3 +0x1.01feb4f1272cep+6 +0x1.0718d8e224e38p+3 +0x1.bd173db3ff3c3p+13 +0x1.d1b0228f3dc1ap+4 +0x1.dd682f2513ceep+4 +0x1.44ef2569365b3p+5 +0x1.3001656f75aeap+3 +0x1.3c9e4875d2c0fp+0 +0x1.b570ce4e2a4cdp+5 +0x1.818e4c5c72594p+5 +0x1.3ef226bbc266p+1 +0x1.9ff7e89c9cee7p+5 +0x1.c623d3a9dd3a1p+3 +0x1.321b5218ddcebp+13 +0x1.c8066b05ec7b4p+3 +0x1.724b8145938c5p+13 +0x1.086f5857a66abp+5 +0x1.fffb0f78f0a9dp+4 +0x1.074abc40dfb5cp+6 +0x1.0c79754d71ac3p+6 +0x1.8f6cd83890331p+3 +0x1.e2bf794edb8f5p+5 +0x1.f0b35ef226a58p+0 +0x1.a0a5ef225b9b8p+6 +0x1.69ab85506c656p+5 +0x1.7db6bda07e2c5p+5 +0x1.59e652f5cb3d3p+10 +0x1.1f282abbe4d73p+6 +0x1.45e5f3d61ba84p+3 +0x1.0c67c0fc26319p+5 +0x1.5f2ff53c1eca7p+3 +0x1.50aeebc7ceb29p+14 +0x1.4b6c225f3f035p+6 +0x1.8113cb3df4844p+5 +0x1.fd0ba6dbde3a3p+11 +0x1.022ad1dcdca7ap+1 +0x1.569199a4782e8p+8 +0x1.37a39d4acb4a4p+6 +0x1.e7f31a8689ac7p+2 +0x1.37f0e068d37acp+1 +0x1.e41e05c392fc5p+5 +0x1.a2b4a06c673aap+10 +0x1.f0fea7339452cp+5 +0x1.9fe0bdc24595ep+0 +0x1.a8baff305bbe9p+0 +0x1.c9ffecddbf6b8p+7 +0x1.e4dbc210a865ap+4 +0x1.1fbf706528cfep+6 +0x1.9c0b368531defp-2 +0x1.a47c5d3ce0275p+13 +0x1.df22cc6f2cfecp-2 +0x1.4a00c781f5e35p+4 +0x1.0d226abc3be28p+1 +0x1.9d0dc8c264518p+6 +0x1.e1692b2fb2562p+3 +0x1.aff2bd6aeb696p+4 +0x1.e254403bbdac2p-2 +0x1.49f90a1df83cp+6 +0x1.3cf8760f71094p+6 +0x1.10759e2666944p-3 +0x1.56a2aa655b6a7p+5 +0x1.2e2fe0b004a5ap+6 +0x1.5c20b5d0775f9p+4 +0x1.142b7b6db4899p+4 +0x1.8e350309521d2p+5 +0x1.2f8bcd25b4e61p+4 +0x1.3af9967ed9e91p+4 +0x1.8709ef41449p+3 +0x1.cae56ef10d3f7p+5 +0x1.104c5fcc173fp+2 +0x1.f9bc3b8ea0d0fp+3 +0x1.e8c680cbe8d93p+17 +0x1.c0fe94624c704p+2 +0x1.38a07c99731b2p+6 +0x1.3bb075fcf4c6p+11 +0x1.e0ac7677b36d9p+4 +0x1.e85db10b5d247p+6 +0x1.b691a97ececafp+0 +0x1.6ace2403060e9p+5 +0x1.1a3255b62288ap+2 +0x1.1437bd0397316p+0 +0x1.00ad9427be945p+8 +0x1.71eb5ae5c16fep+2 +0x1.2a243f447b74dp+4 +0x1.983698a2c4d02p+6 +0x1.8be5efbd1c5c7p+5 +0x1.90b6f4f196cfep+5 +0x1.077792b33c39p+1 +0x1.1617c28da4f57p+6 +0x1.09a348a565b54p+6 +0x1.b9771033ee602p+15 +0x1.dc123b727ae7bp+4 +0x1.d92e3c4808572p+6 +0x1.95fb16b0bb2c9p+3 +0x1.31c434698698p+2 +0x1.a90f84526d9dcp+5 +0x1.5e2a3ad5754f9p+5 +0x1.dd0d8ce976754p+3 +0x1.d1ec10c24f619p+6 +0x1.a2b51fa3f881ep+5 +0x1.2d6cace755cebp+1 +0x1.c67595215abb6p+15 +0x1.0c898a5c6f242p+4 +0x1.56098d0e1f6ebp+14 +0x1.0cffdbb9eb876p+2 +0x1.5d148a73acbcap+5 +0x1.1a6d27088a2f9p+4 +0x1.3cd9d042e125p+6 +0x1.2bd831281c02ap+4 +0x1.231e5b10574f1p+4 +0x1.7a0d4bf9d7b32p+5 +0x1.4140254d18007p+6 +0x1.28325f5a167f8p+9 +0x1.c27d593af401fp+1 +0x1.3111d65b32c6cp+6 +0x1.4cfabffddb5adp+7 +0x1.dbd1d899ad231p+5 +0x1.0edcf5454b7abp+4 +0x1.60dcea70b08dep+5 +0x1.10d91e4e4f004p+4 +0x1.24640486336fp+3 +0x1.2142537eeaf13p+5 +0x1.06434224342fdp+5 +0x1.cf9470fa6d68p+13 +0x1.31d2f26bd788ap+1 +0x1.157c3fd1c62b4p+7 +0x1.c1320291b6bc4p+12 +0x1.1b79ae3994e5ep+6 +0x1.cd97af5bc607cp+4 +0x1.e042e75de5a1ap+5 +0x1.4d7cb37f80523p+1 +0x1.9ff98b3a58ffep+6 +0x1.ce0524e854a12p+1 +0x1.ef56eab601dd4p+5 +0x1.2464a49440123p+4 +0x1.9433cc9d4d4aep+6 +0x1.cf958b2351135p+0 +0x1.e287edb761ca7p+6 +0x1.25353f4195ca5p+5 +0x1.6f677f13af185p+4 +0x1.d7188288cfafp+4 +0x1.6d5770abe85d3p+17 +0x1.755618b9d6996p+6 +0x1.483a31a15dfa7p+5 +0x1.8e33cf06bbd0cp+4 +0x1.2eac8c77ba31ep+6 +0x1.2742f4e973fbcp+3 +0x1.4feec23b2548bp+3 +0x1.b37f2be21d078p-1 +0x1.f5922c38a3bd4p+4 +0x1.7d31dfbb85e6dp+7 +0x1.87bb9444b5cecp+6 +0x1.99fdd995afaa4p+5 +0x1.eee8c872cad0ap+3 +0x1.d7ffc6fbbbd87p+10 +0x1.f97a1e8c0febbp+4 +0x1.2a2bbc32a32a4p+7 +0x1.09dc4d94e6a59p+5 +0x1.610bf0739cc32p+2 +0x1.906ff4770f236p+5 +0x1.0b131ca1550a4p+5 +0x1.1c103d62b4ff2p+5 +0x1.30db8fd36b3cap+3 +0x1.fe8bb3042a89cp+5 +0x1.7720713cd27a7p+0 +0x1.e19908e076039p+9 +0x1.25a5ba89d77abp+3 +0x1.6d723200c592cp+4 +0x1.9463d831b6ed2p-2 +0x1.0b11270f9f182p+6 +0x1.fe10329d50312p+2 +0x1.8bc5d8dcd10a7p+6 +0x1.95b07e910e877p+2 +0x1.91979d4148addp+9 +0x1.36fb6c573c77dp+5 +0x1.d08d948143d1dp+5 +0x1.0cf618636553fp+2 +0x1.79fe8fc3c746bp+4 +0x1.0972636941875p+5 +0x1.2f29058c40334p+2 +0x1.d791850524189p+1 +0x1.25c77d2b15153p+6 +0x1.0fc6c4b2a8cd9p+17 +0x1.6367aead53c62p+5 +0x1.ef554eb247364p+5 +0x1.1c1ce79cb04e7p+6 +0x1.0317e8c032714p+4 +0x1.9f972c764a3a1p+5 +0x1.17e09df8a3974p+0 +0x1.f66a9fd989cdbp+5 +0x1.552159df03ef1p+3 +0x1.c1616ee13ac69p+4 +0x1.2b37ecbe06252p+5 +0x1.5eedd7fcb5f78p+7 +0x1.da0cb2dda75cp+5 +0x1.3f5a263a6046dp+4 +0x1.4ba5222f4be8dp+3 +0x1.17cf56e097232p+6 +0x1.b70c97f70fb71p+3 +0x1.7d09fc721fb0ap+6 +0x1.530c0ac8d04cep+3 +0x1.d32bc1f7946eap+5 +0x1.90b0f9ac4fe86p+5 +0x1.a0fe736165ffcp+4 +0x1.f0b512d9db1fep+5 +0x1.7310bbc2245e7p+6 +0x1.b71fda9e5a046p+8 +0x1.01968bb1acb72p+5 +0x1.5e6004adb1aa4p+3 +0x1.01a47b1c8013ep+6 +0x1.aa8bc77ee726ap+5 +0x1.9e499da12a9e3p+13 +0x1.de48b22816155p+4 +0x1.0421ce743e135p+0 +0x1.ba11a8d6aac26p+5 +0x1.816b4d1676e12p+2 +0x1.8149b3bd86a3ep+3 +0x1.f100ed1948a1ap+3 +0x1.81663e79ed80bp+3 +0x1.b55763940e521p+0 +0x1.8d02dba9c39abp-1 +0x1.875606b554896p+6 +0x1.34ded7bbc1ecep+5 +0x1.f5ce3badedcdcp+1 +0x1.3e836d9add40cp+6 +0x1.665a2b9d9c13ep+8 +0x1.a125e06ce5c9cp+5 +0x1.01829c0c071dep+7 +0x1.701a3cb3052bfp+4 +0x1.66da93f9c4d19p+4 +0x1.34092a016709cp+7 +0x1.17cdde7fcced9p+2 +0x1.6a9a761a7a419p+6 +0x1.9f66712490913p+5 +0x1.30a26e59b6c61p+5 +0x1.9fde4f74ac754p+4 +0x1.1b6bfa8ab5207p+3 +0x1.6f2d16197858fp+4 +0x1.a05960501f6f1p+4 +0x1.923375aff2096p+5 +0x1.300cb23b1f898p+5 +0x1.67c1d091f4411p+2 +0x1.12838c9265fb7p+16 +0x1.4f279abdad5c9p+5 +0x1.87e60f0c9f78fp+5 +0x1.8bfb619427f06p+3 +0x1.c70e7c75e12abp+5 +0x1.209f306803e07p+16 +0x1.eca7a57a1f1dbp+3 +0x1.9c59ffb685aecp+1 +0x1.7b8b084c63695p+5 +0x1.7c4fd2fcf61c2p+13 +0x1.0c63ef8420bcp+5 +0x1.227ac93c18d74p+4 +0x1.c50fb5e450d8bp+4 +0x1.b91d6864c5af9p+12 +0x1.c833cb6d7fe41p+1 +0x1.3915519d70c08p+5 +0x1.f53acc8593845p+14 +0x1.0f216811649fep+4 +0x1.4186509bfed52p+3 +0x1.d98f66a5aaa26p+4 +0x1.5419b55f68a66p+15 +0x1.a5d3cde0a31bp+4 +0x1.b32b0532837e7p+6 +0x1.7aefcc30602f8p+5 +0x1.3f404b31ab4ffp+6 +0x1.f8f47887f809ep+3 +0x1.e1adefb8cfe7fp+5 +0x1.0bc57018f09dbp+6 +0x1.6fed78fab059ap+4 +0x1.bbe03d96b97e4p+4 +0x1.52509f2ddd3eap+6 +0x1.3137348802bc4p+12 +0x1.d82ba8fff5296p+14 +0x1.cee39e2dbe4bcp+8 +0x1.ec8e46b3a62d4p+3 +0x1.74991c7d0e19fp+7 +0x1.c2ba2a6059febp+6 +0x1.216c17eb3117bp+6 +0x1.dfdae1aecb9b2p+3 +0x1.08c358e7aebbcp+8 +0x1.f7f3a240ddb0fp+1 +0x1.45fb541c1772bp+4 +0x1.ad26dfb67ee3ap+4 +0x1.01c5bedc2affp+4 +0x1.95c1f8ac46854p+11 +0x1.5b260d7c7d9e8p+5 +0x1.251603effc9cep+5 +0x1.3de64fe07d069p+14 +0x1.89d13332af0e4p+2 +0x1.2cd12067dbc89p+11 +0x1.292e15c1e6496p+6 +0x1.5a8afbaf16064p+5 +0x1.81adb9ebdaec1p+4 +0x1.c39be1080ec43p+5 +0x1.0eaaae7f21573p+5 +0x1.3d24c12afdf11p+7 +0x1.e21b727a4b919p+5 +0x1.1ab832a71c351p+5 +0x1.3249ec57f64c1p+5 +0x1.b38071721c004p+0 +0x1.455ec9b3ded97p+4 +0x1.0dfe7efc353d9p+1 +0x1.f7b0b89bb4bd1p+5 +0x1.2ca4ca015ca1cp+5 +0x1.8ca0ffbfdc0a7p+4 +0x1.161b77783d4a9p+6 +0x1.3b767f250528ap+16 +0x1.f8846267540cfp+3 +0x1.3896e6f98373ap+5 +0x1.fc72b181e5995p+4 +0x1.a0ef4afc39564p+5 +0x1.c265c2e56613ap+5 +0x1.15e9fcc8c70fap+2 +0x1.30952e4f80d01p+5 +0x1.10a1f75d8c0d9p+5 +0x1.90d87869154d1p+4 +0x1.347ca0cd7c954p+1 +0x1.1ed17e539fb01p+12 +0x1.758fead2e7f3p+1 +0x1.1bde5c011d043p+11 +0x1.5b8b15b2acd23p+1 +0x1.f4b5ed50ce471p+5 +0x1.60e366ab2209bp+4 +0x1.34f25a0f49caap+11 +0x1.bd4a420140e37p+2 +0x1.ea89becbbba7cp+3 +0x1.068648fe67c86p+5 +0x1.798f8be28ce87p+6 +0x1.b01604b9d509bp+5 +0x1.16d65e5000d2ep+6 +0x1.0cea5b0a3ef88p+6 +0x1.cb1d2c36e8185p-2 +0x1.4f7b6bf9153ep+3 +0x1.7dfd15b20aa05p+14 +0x1.54e6e650eb20ap+5 +0x1.85fa2b2a72077p+4 +0x1.06b25646eb9dcp+5 +0x1.d02fdee587d1bp+7 +0x1.8424d93c51427p+5 +0x1.7bce158e7a5bfp+3 +0x1.6ff9a7184783p+5 +0x1.898914fd2a81ap+4 +0x1.4a40b8c76c688p+12 +0x1.ff26aa40b697ap+6 +0x1.030c11e2cf2c4p+6 +0x1.1037d65edad21p+5 +0x1.c57be981f5886p+5 +0x1.253baa9175ad9p+4 +0x1.58b2b7de79198p+13 +0x1.0e9b81bfadc3ep+5 +0x1.03c96099c613cp-1 +0x1.43c5f509abffdp+3 +0x1.337b9fd70d804p+6 +0x1.38dfd95e1c6e9p+0 +0x1.3578972ab11cfp+8 +0x1.8ad37c3fd7fb6p+3 +0x1.c22ed1b121bd6p+3 +0x1.7c228e523aec4p+5 +0x1.aaa7a07a27b4p+9 +0x1.fc877a17d66ddp+10 +0x1.33a6291b20bc9p+14 +0x1.22c02c4f1a7eap+2 +0x1.a46053fca3e54p+4 +0x1.37d6725e5a319p+6 +0x1.1099f547bd24fp+4 +0x1.28d88e06c42bfp+6 +0x1.3889f3286148fp+6 +0x1.f988a1ecd6202p+4 +0x1.cfc324c063607p+5 +0x1.ed1cb30f4bb8bp+3 +0x1.e1108f5d61236p+1 +0x1.3f4b70a7a3ce3p+5 +0x1.5ab35a59095f3p+6 +0x1.7117dcd7619b9p+5 +0x1.a996783c1b44p+5 +0x1.308aa980ee039p+3 +0x1.153b2ea5df1a3p+17 +0x1.8f97873257f8dp+18 +0x1.002ed1ca4bbddp-1 +0x1.a0a244a44867cp+6 +0x1.5a8c0ee31393cp+6 +0x1.7f11e548376fbp+5 +0x1.ee212e1193e96p+4 +0x1.384a62c0f9309p+6 +0x1.2501740ac5b66p+2 +0x1.6912e1a289272p+5 +0x1.24226154a0174p+7 +0x1.e81dc04b4ccf5p+2 +0x1.846e82d97853p+5 +0x1.fe86c4899adbep+14 +0x1.445c7c07d2998p+3 +0x1.6c807f8a1ba19p+6 +0x1.efa9f12814eaap+1 +0x1.4589c3617e35cp+3 +0x1.380cea99aa3dcp+4 +0x1.83cf5e6699ec1p+0 +0x1.4038b884b8e18p+5 +0x1.bca3eda23bee5p+9 +0x1.04e1926a09d52p+4 +0x1.df03295e666fcp+3 +0x1.f267105ffee2ap+4 +0x1.4913890b2ec44p+4 +0x1.061dcae9c46f6p+6 +0x1.c5768712a80ap+10 +0x1.24de3e4c94d2p+6 +0x1.f9c14710ebedp+10 +0x1.d3d2fa0a3c74p+5 +0x1.aa15b11e9b094p+5 +0x1.3834753ba9f06p+5 +0x1.239056d90475fp+6 +0x1.c3e02fcdc1db7p+15 +0x1.598938e576671p+8 +0x1.72d910ca1c0f5p+6 +0x1.e2b316a7fbb62p+6 +0x1.1f7a0213cdd07p+6 +0x1.a1b883c551559p+2 +0x1.c42ecd899f963p+3 +0x1.2351e5018936ep+11 +0x1.25ed0e9dd7355p+4 +0x1.bfc2025c2794p+3 +0x1.bcd717d407fcdp+4 +0x1.7fa5224ed8721p+17 +0x1.8c3ab31c4365bp+2 +0x1.17fc4154fc68ap+7 +0x1.04b126747831cp+1 +0x1.606086dffc4fdp+11 +0x1.516a8e261efddp+11 +0x1.49cf9175b2845p+5 +0x1.22d6b2f5daa16p+3 +0x1.b129bffbdd4a7p+5 +0x1.7bbb6c33e9f42p+5 +0x1.c4aff7662332bp+12 +0x1.3be681c69d965p+6 +0x1.760254dd048afp+5 +0x1.93dff3005abc9p+4 +0x1.52e45bded96dcp+6 +0x1.9faa304be9d92p+10 +0x1.e9a7aabaa8676p-2 +0x1.0e2a8bc802296p+2 +0x1.5e431ca7c9987p+6 +0x1.7319838f48df7p+4 +0x1.52004aa939aecp+5 +0x1.194d2493feef5p+5 +0x1.6e344dbd52773p+2 +0x1.1bd48c16463c8p+8 +0x1.ce0786682fbbcp+5 +0x1.bd2f314a7e01cp+4 +0x1.7b3b1b1734c02p+6 +0x1.470467c9f70c8p+5 +0x1.028de93b48912p+17 +0x1.33f903fcafb9dp+3 +0x1.724946d73f919p+5 +0x1.aa26c1f663655p+5 +0x1.2263ac8ea823ap+1 +0x1.9ecb274310fd3p+4 +0x1.02dcb4c909b0cp+3 +0x1.027308d4eceep+4 +0x1.d3961faa3687p-3 +0x1.3d17dd0c3a4f3p+1 +0x1.0ed5c4587023cp+5 +0x1.f35846e6553ebp+14 +0x1.7f005c1901959p+3 +0x1.92bc7bbef15ap+4 +0x1.5da4c3dfa577fp+11 +0x1.18911f006147bp+4 +0x1.8657cc30c8067p+3 +0x1.289a1abf4d406p+7 +0x1.53c32e5c49a88p+2 +0x1.0ee94bc792d2cp+4 +0x1.e9dc4cdab2c2p+8 +0x1.f8b68c5949c01p+4 +0x1.bdef376ce7795p+0 +0x1.1b19e51161d5ep+6 +0x1.3355468fd9273p+6 +0x1.99d0b3bc2f89p+0 +0x1.af2d8d2eba9cbp+6 +0x1.008988a53b48ep+6 +0x1.52ba95a15d3fap+5 +0x1.663c2c3d80f43p+6 +0x1.4ac7ee7159fb3p+5 +0x1.b47f2b89aabcfp+9 +0x1.b4f04ebc5306ap+5 +0x1.1e9ca4858fce8p+3 +0x1.2fec93e99717ap+5 +0x1.18c2edd635e61p+14 +0x1.7bf5f91b64e39p+4 +0x1.33b6e15c46ecp+5 +0x1.2a42d5da7d46ap+2 +0x1.8669c6ecff3b6p+3 +0x1.d2a15212025a6p+5 +0x1.19b222ceec3d9p+2 +0x1.f8885aa76a9ddp+2 +0x1.39a1c465ccf66p+7 +0x1.bd1b42b9960c3p+5 +0x1.32d0e192dd53p+19 +0x1.40641ef3e9359p+4 +0x1.ff75fe10cee75p+1 +0x1.b356dee611df5p+2 +0x1.04486a921fd04p+4 +0x1.282ec24b8bfecp+4 +0x1.063f6cd51d0c7p+11 +0x1.37132d562f8b9p+5 +0x1.0d4a3c38c87cbp+16 +0x1.614e6dfff8096p+6 +0x1.321c7d7876895p+9 +0x1.29766ff02f1b7p+6 +0x1.f525e63b863a5p+12 +0x1.374911694f4adp+8 +0x1.cec1b75153b4ep+3 +0x1.a543ea716ce06p+4 +0x1.ec44e5f27eb71p+4 +0x1.dbd0518823301p+4 +0x1.8f5f0d19ab7c9p+3 +0x1.7cdc795262df8p+1 +0x1.620cf6fe01151p+5 +0x1.271c59c69a86dp-3 +0x1.010a6e9b969c2p+6 +0x1.1b51c1b4325d9p+5 +0x1.651726d82ea42p+5 +0x1.f16715de4eb1fp-3 +0x1.d7fef8f6f33d9p+4 +0x1.3c6af0dff6941p+5 +0x1.4aebf7f4c659ep+5 +0x1.5813f81681e26p+4 +0x1.c83ca032e8f29p+1 +0x1.8475fea96b7edp+6 +0x1.6aec816a9f6f7p+4 +0x1.2332bb59658fcp+5 +0x1.0ac8e7b83cfc1p+5 +0x1.44b4d43bb77b6p+5 +0x1.bb99208e9f3ffp+4 +0x1.527fcccb925d4p+6 +0x1.d7946de52f3b8p+5 +0x1.4976b37174e36p+5 +0x1.d2afcd50ed581p+2 +0x1.f31972e0b7234p+14 +0x1.4280498a307fbp+5 +0x1.ddfedfbb85e63p+4 +0x1.05993dec73c2ep+4 +0x1.fd9ac221e879dp+5 +0x1.c5af336883ccap+2 +0x1.73c19549f27dbp+6 +0x1.fe1ed28891836p+4 +0x1.71fb3b279aeb4p+7 +0x1.2aa317922d454p+6 +0x1.6d5dac2ac1e71p+17 +0x1.01f85775bd5e2p+6 +0x1.d1be43fcc88cep+0 +0x1.bf94a5fd9bb81p-1 +0x1.b14e1ed2616cp+5 +0x1.632c687a58c53p+5 +0x1.f3e808c8578cep+4 +0x1.756418cfb5da9p+5 +0x1.7fa7744c77a86p+5 +0x1.8610700c35747p+3 +0x1.77ec92ba2f889p-3 +0x1.907c23b92c5f6p+3 +0x1.dfd1fb92b59fbp+3 +0x1.64100f4e843ebp+3 +0x1.2e96d4bad83b4p-3 +0x1.a5e163e5b19f6p+5 +0x1.32618a3b7441p+8 +0x1.2af1d254d79e3p+15 +0x1.2d57af6e73259p+6 +0x1.d7c9f96fa9eb9p+1 +0x1.078643034d7p+4 +0x1.041f19a67f0c5p+3 +0x1.82922f9f1a932p+17 +0x1.05edf97d604d2p+1 +0x1.1a08c96f4ba11p+6 +0x1.f39c3803fb1e7p+4 +0x1.d9713ec4064acp+5 +0x1.18dd1882757adp+18 +0x1.153f81385dcf6p+6 +0x1.d06862395dedbp+14 +0x1.22fdadb890621p-1 +0x1.8a730162c33f4p+1 +0x1.10d583e7f47c4p+2 +0x1.25648acf7f62bp+6 +0x1.27131a8fce3efp+6 +0x1.9c0712a2aae42p-1 +0x1.5d5e2e31546b4p+8 +0x1.1bb1ee7820954p+12 +0x1.314e6324aa3d7p+0 +0x1.aaec47533df65p+11 +0x1.10d03a39dfbedp+5 +0x1.171446a085919p+5 +0x1.413daa6b5bcc1p+13 +0x1.0cd3828e3ee9cp+0 +0x1.3e45684d261cep+4 +0x1.c0ef25fff8f3ap+5 +0x1.4044914f7b4aap+4 +0x1.b1780d9864527p+5 +0x1.5b849e7521ab6p+5 +0x1.6baa094256353p+4 +0x1.8b874001068f7p+6 +0x1.d8ecbe246fc1ep+3 +0x1.3ccba8f7d02fep+5 +0x1.ad791ccfe78c8p+4 +0x1.437792cdaf159p+11 +0x1.18d06e23ce83cp+5 +0x1.a863c7bd37f51p+1 +0x1.d3505eaa6ff07p+1 +0x1.806e6b42619cp+4 +0x1.87e7ff65a212bp+5 +0x1.d698b9ef02f66p+5 +0x1.ada94ab67a1bcp+5 +0x1.9f6cfb8a08e17p+4 +0x1.e435c559769p+4 +0x1.55f2904385ef1p+6 +0x1.6a65bd5728c82p+4 +0x1.6ffb99925a46cp+4 +0x1.0df873fc76d4p+1 +0x1.53715eced389cp+3 +0x1.0ca6487eac3efp+5 +0x1.dd8de6e9ad71ep-2 +0x1.d0b09fbcbe982p+5 +0x1.1f2bb6997ef8fp+5 +0x1.d53581e25be1ap+3 +0x1.073c23da88658p+4 +0x1.23f86df66953ep+5 +0x1.d37b347084aa4p+2 +0x1.c2909b0d1578cp+2 +0x1.9094509727687p+3 +0x1.b9aa67dd17618p+2 +0x1.2bc86e3a5e8cep+6 +0x1.188d28d3e3abbp+5 +0x1.7509ab628651cp+17 +0x1.529c155e1496dp+5 +0x1.4e423b8afb8e2p+6 +0x1.7ac32201bca18p+6 +0x1.129e8613d3028p+6 +0x1.f9db4bd47474ap+4 +0x1.46862d07ccdf8p+5 +0x1.59cdb25df280fp+6 +0x1.2a9fc374e3622p+9 +0x1.4a79886f36b07p+10 +0x1.13dd6ffa7ba8fp+5 +0x1.6df3750060967p+5 +0x1.415cc88b6ea47p+6 +0x1.2071f23cee307p+6 +0x1.0446c8f0c759cp+4 +0x1.3517e1ea381e3p+1 +0x1.62feaa5cee58fp+4 +0x1.9c761643e5ed4p+16 +0x1.0c5b8b985be8cp+1 +0x1.f3aa5a795c15p+0 +0x1.328c6ef785b5fp+18 +0x1.8e98769f5d12fp+4 +0x1.3dfa2d6f577cp+5 +0x1.c68096737e3e6p+3 +0x1.572aa2e63c10fp+5 +0x1.e93d967ff91fep+5 +0x1.2f53b6b0259c1p+10 +0x1.3cca294b8f702p+6 +0x1.25bd20479f38ep+6 +0x1.1a4031ee91ef2p+5 +0x1.3e19daa54b59ap+17 +0x1.d5fd0a6ff8a91p+3 +0x1.894d2c6ead2dbp+16 +0x1.59605648bec2ep+5 +0x1.88cb1b9765bccp+5 +0x1.9efbd11c84902p+5 +0x1.449e11adcc85ap+4 +0x1.885e23702cp+5 +0x1.1825f630e74cfp+10 +0x1.4b994ba91d451p+6 diff --git a/sysdeps/x86_64/fpu/libmvec-log2f-inputs b/sysdeps/x86_64/fpu/libmvec-log2f-inputs new file mode 100644 index 0000000000..25c61f095b --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-log2f-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (0, 3.4e+38), mean = 1, standard deviation = 50 +0x1.51137ep+5 +0x1.2c38e6p+3 +0x1.2dbe58p+5 +0x1.b7623p+6 +0x1.f3cf04p+4 +0x1.44f2c6p+6 +0x1.687092p+2 +0x1.3f1e1ep+2 +0x1.131c6ep+13 +0x1.7fa5ecp+6 +0x1.2c36eap+18 +0x1.5672c6p-1 +0x1.d046dap+4 +0x1.dfc9c8p+4 +0x1.50468ap+5 +0x1.5c9decp+5 +0x1.778d1ap+5 +0x1.30fda2p+5 +0x1.c8b7b4p+4 +0x1.2afe8ap+4 +0x1.7fef6ap+4 +0x1.53a5c4p+11 +0x1.f7bbf4p-2 +0x1.b9765ap+17 +0x1.162b5p+6 +0x1.79f61ep+4 +0x1.a23692p+17 +0x1.3976bp+3 +0x1.28512ep+6 +0x1.5b69f2p+9 +0x1.03e6p+1 +0x1.360c3p+3 +0x1.31832cp+6 +0x1.f097b8p+2 +0x1.16f994p+5 +0x1.1d9f8ap+5 +0x1.d6a02ap+5 +0x1.047622p+6 +0x1.17bd46p+3 +0x1.424ed8p+5 +0x1.8c6092p+5 +0x1.5a9d66p+7 +0x1.f5e844p+4 +0x1.e09beep+4 +0x1.aa49b6p-1 +0x1.61cd82p+3 +0x1.f02204p+1 +0x1.da8594p+4 +0x1.a5d7c4p-1 +0x1.6efd02p+5 +0x1.a2fdfp+3 +0x1.1df5c8p+3 +0x1.8073acp+3 +0x1.567ea2p+11 +0x1.92e54p+5 +0x1.bd3ebcp+15 +0x1.80fc3ap-1 +0x1.b1231ep+4 +0x1.30fd92p+6 +0x1.f8ca2cp-1 +0x1.c7322p+2 +0x1.d3369p+2 +0x1.263102p+5 +0x1.5d95c6p+4 +0x1.44d018p+9 +0x1.eab83ap+4 +0x1.375aecp+5 +0x1.18282ep+1 +0x1.239514p+5 +0x1.4a32d8p+3 +0x1.40dd7p-1 +0x1.22516p+5 +0x1.15b488p+9 +0x1.07a98cp+7 +0x1.68a084p+1 +0x1.96ab38p+6 +0x1.6da1f6p+6 +0x1.2364dep+5 +0x1.7e588cp+5 +0x1.0267eap+3 +0x1.a3d8p+2 +0x1.674c2ep+6 +0x1.7aa246p+3 +0x1.6b6906p+4 +0x1.0c9706p+15 +0x1.513324p+6 +0x1.ee54aep+4 +0x1.b91f5ap+4 +0x1.9a9b6ap+3 +0x1.ac894cp+3 +0x1.101b9ap+5 +0x1.25dfe2p+6 +0x1.71c482p+9 +0x1.e9f892p+0 +0x1.2b738cp+5 +0x1.049d8ap+4 +0x1.30ce46p+6 +0x1.11c1bcp+6 +0x1.0c91c4p+6 +0x1.27a3ap+4 +0x1.04246ap+3 +0x1.0ff6bap+6 +0x1.4b5bdp+10 +0x1.50ee44p+4 +0x1.c48132p+11 +0x1.1e100ep+18 +0x1.6c50bap-1 +0x1.fa934p+3 +0x1.eea6d8p+14 +0x1.eece94p+17 +0x1.994aa8p+6 +0x1.4d2e68p+0 +0x1.916d9cp+6 +0x1.a1cd38p+4 +0x1.d108ccp+5 +0x1.7a1b28p+4 +0x1.f7a27p+4 +0x1.6634d8p+1 +0x1.7e8a22p+1 +0x1.b68b5ep+4 +0x1.fe84f8p+4 +0x1.07c2dp+4 +0x1.24229p+5 +0x1.91e31ep+17 +0x1.52cf82p+6 +0x1.41cecep+3 +0x1.367f76p+3 +0x1.5c7168p+2 +0x1.ea1cb4p+5 +0x1.1430aep+16 +0x1.740e6ap+1 +0x1.ad54d6p+15 +0x1.7e03acp+5 +0x1.123d1p+4 +0x1.2f2ffp+7 +0x1.34ac08p+4 +0x1.92e4cap+6 +0x1.d66d7ap+5 +0x1.86298p+16 +0x1.103898p+11 +0x1.fe0b8p+3 +0x1.98a92ep+8 +0x1.0ed4c4p+4 +0x1.36e51ep+5 +0x1.d0074p+10 +0x1.ef43d2p+5 +0x1.f39a4cp+11 +0x1.c9ebb8p+1 +0x1.31c274p+3 +0x1.e34b92p+5 +0x1.163852p+5 +0x1.0e2774p+5 +0x1.080402p-2 +0x1.44296cp+6 +0x1.854294p+12 +0x1.850ce4p+6 +0x1.fdafb8p+5 +0x1.71f9c6p+6 +0x1.e273c8p+5 +0x1.6a6c78p+2 +0x1.4a670ap+14 +0x1.9f45fp+2 +0x1.e46dfap+5 +0x1.65f7ap+5 +0x1.6f3c4p+9 +0x1.1ea9cp+0 +0x1.2ba39p+6 +0x1.8664a2p+12 +0x1.f29c28p+3 +0x1.81efaap+5 +0x1.6193bcp+5 +0x1.9a9a56p+2 +0x1.1576ap+3 +0x1.73d878p+3 +0x1.268858p+5 +0x1.4a9bfcp+2 +0x1.3df5dcp+13 +0x1.1697d4p+5 +0x1.8fcd7cp+1 +0x1.064904p+16 +0x1.1f98bap+5 +0x1.35826ep+5 +0x1.705442p+5 +0x1.f30bdap+6 +0x1.962084p-2 +0x1.ca846ap+5 +0x1.32842ep+0 +0x1.c1822p+2 +0x1.730642p+6 +0x1.36d24cp+15 +0x1.98133ap+5 +0x1.f42e76p+5 +0x1.0c6fcep+5 +0x1.0b7a1ep+19 +0x1.9fe11cp+6 +0x1.ac51e6p+3 +0x1.f2bfa4p+3 +0x1.52d1a6p-1 +0x1.f55578p+3 +0x1.10f666p+12 +0x1.534256p+6 +0x1.8e6b7ap+2 +0x1.4bc2b8p+4 +0x1.be90eep+5 +0x1.7ff08cp+6 +0x1.4b84fp+3 +0x1.3a42e4p+5 +0x1.2a3028p-2 +0x1.1cf9e4p+5 +0x1.fc858p+5 +0x1.12f5d4p+6 +0x1.c1965ap+5 +0x1.341508p+6 +0x1.ad53cep+5 +0x1.ca181cp+4 +0x1.1550cap+4 +0x1.b5a4e4p+12 +0x1.807c3cp+5 +0x1.f1d98ap+6 +0x1.23a26p+14 +0x1.9fa9ccp+0 +0x1.30d2cep+13 +0x1.787208p+1 +0x1.06eb7ap+4 +0x1.96dcc4p+14 +0x1.1558dap+7 +0x1.1cf9bp+1 +0x1.0e9538p+5 +0x1.766028p+4 +0x1.6133e4p+0 +0x1.35e538p+5 +0x1.bd67cp+5 +0x1.17e0fcp+5 +0x1.d50cb6p+5 +0x1.4dd37cp+4 +0x1.3e5956p+7 +0x1.6e8346p+10 +0x1.71db84p+6 +0x1.7a99c6p+4 +0x1.319becp+4 +0x1.962ea2p+5 +0x1.184fecp+5 +0x1.5710e8p+4 +0x1.9581eap+4 +0x1.b3533cp+4 +0x1.961f7cp+6 +0x1.173294p+5 +0x1.3c21cep+18 +0x1.ff70eap+4 +0x1.c544ecp+4 +0x1.844bf6p+2 +0x1.077782p+6 +0x1.fdea9ep+5 +0x1.b1c64p+4 +0x1.832de2p+5 +0x1.04b24p+14 +0x1.cf31ccp+13 +0x1.67d5c4p+9 +0x1.29782ap+4 +0x1.696bbcp+4 +0x1.2882ep-3 +0x1.84ae16p+2 +0x1.3cfc72p+4 +0x1.26864ep+6 +0x1.b1a522p+3 +0x1.b4fa06p+8 +0x1.7e8376p+8 +0x1.fa3e62p+5 +0x1.0db548p+4 +0x1.4fe69ap+3 +0x1.420194p-2 +0x1.c25dbp+5 +0x1.f56866p+4 +0x1.5da0c8p+5 +0x1.1994a2p+6 +0x1.df7d46p+5 +0x1.82eb3p+3 +0x1.423e74p+6 +0x1.bb215p+7 +0x1.538caep+1 +0x1.768de4p+4 +0x1.adfffap+6 +0x1.a82292p+6 +0x1.6e93a8p+6 +0x1.a4ec06p+4 +0x1.af41d2p+3 +0x1.78d41cp+0 +0x1.7bc4acp+6 +0x1.03e084p+4 +0x1.054d12p+1 +0x1.10029p+4 +0x1.a0b90cp+2 +0x1.e64be8p+2 +0x1.3ded2p+5 +0x1.817154p+3 +0x1.05cfacp+1 +0x1.f49cfep+5 +0x1.44e6fp+6 +0x1.3da568p+4 +0x1.41ae2p+2 +0x1.05fc76p+11 +0x1.134e9p+6 +0x1.bc5d4ap+3 +0x1.51536cp+13 +0x1.c90232p+6 +0x1.e0115cp+4 +0x1.2b1204p+4 +0x1.1275f2p+10 +0x1.60a0eap+1 +0x1.af7846p+3 +0x1.a9e5bp+6 +0x1.a5f5dcp+5 +0x1.05215ap+3 +0x1.83a69ap+6 +0x1.aed812p+3 +0x1.56fb3ap+6 +0x1.df111ep+8 +0x1.e3c2acp+5 +0x1.e98c04p+2 +0x1.019298p+4 +0x1.857442p+9 +0x1.db7aaep+4 +0x1.36561cp+5 +0x1.8787c8p+5 +0x1.2c496cp+6 +0x1.acd186p+4 +0x1.3b9a5ep+7 +0x1.fd0beep+3 +0x1.084b64p+3 +0x1.4f24cap+4 +0x1.db32a4p+5 +0x1.47d108p+6 +0x1.f98c1p+3 +0x1.8e6406p+1 +0x1.08285cp+11 +0x1.ceec0ap+3 +0x1.3c6472p+5 +0x1.c9f3dp+3 +0x1.f2fe8p+0 +0x1.32cc36p+4 +0x1.c35cfap+8 +0x1.0e7dacp+15 +0x1.a8899ap+4 +0x1.807cd4p+0 +0x1.bc6046p+1 +0x1.a46812p+5 +0x1.eeb5bap+4 +0x1.0ff102p+19 +0x1.c70a3ap-4 +0x1.8c86e4p+6 +0x1.6a39c2p+5 +0x1.91c1aep-3 +0x1.d2c86ap+17 +0x1.2f9daap-1 +0x1.06fc8cp+6 +0x1.92bb62p+4 +0x1.112062p+2 +0x1.816bcap+18 +0x1.470a8p+6 +0x1.ee4732p+5 +0x1.fe8ae4p+11 +0x1.d4ca66p+11 +0x1.acfdaep+2 +0x1.21515ap+5 +0x1.908784p+5 +0x1.5d6e28p+10 +0x1.df008ap+8 +0x1.b7c7a6p+4 +0x1.f759e4p+4 +0x1.316c2ap+6 +0x1.2a70acp+4 +0x1.b45dc8p+5 +0x1.c9c444p+10 +0x1.6cac5ep+6 +0x1.0f7878p+5 +0x1.6db32cp+4 +0x1.b108d2p+4 +0x1.b26ad6p+6 +0x1.aad3eep+5 +0x1.6a5aa4p+9 +0x1.00432ep+10 +0x1.c2c712p+3 +0x1.054542p+9 +0x1.3fef3cp+4 +0x1.871a08p+5 +0x1.6c102ap+5 +0x1.af7ca6p+4 +0x1.a00f22p+5 +0x1.6ff62ep+6 +0x1.14e1e6p+2 +0x1.12812ap+3 +0x1.2d75bap+4 +0x1.341a64p+5 +0x1.900a24p+6 +0x1.0aa2ecp+10 +0x1.541518p+4 +0x1.67cb3p+5 +0x1.c88c84p+5 +0x1.7c8456p+16 +0x1.37e5f8p+5 +0x1.87edcap+6 +0x1.029e48p+3 +0x1.35c1d4p+6 +0x1.ae4aa2p+5 +0x1.2c396ap+3 +0x1.58b32ap+9 +0x1.123686p+5 +0x1.b11686p+4 +0x1.7a2af2p+5 +0x1.adae44p+7 +0x1.10bc22p+5 +0x1.c1173cp+4 +0x1.d9001ep+4 +0x1.a55d8ap+17 +0x1.cd9a6ep+3 +0x1.2b5deap+2 +0x1.8bde1ep+7 +0x1.99c45p+4 +0x1.4057fp+2 +0x1.401ebap+7 +0x1.44ac16p+1 +0x1.76f13ep+4 +0x1.2ebcf4p+5 +0x1.9761f2p+0 +0x1.ff7194p+3 +0x1.9faa44p-4 +0x1.f4ccp+3 +0x1.e45ac2p+5 +0x1.844f84p+4 +0x1.874484p+2 +0x1.69a966p+5 +0x1.a33ecep+4 +0x1.aace2cp+3 +0x1.cc898ap+2 +0x1.b94fe4p-1 +0x1.ec701ap-1 +0x1.7d2c2ap+5 +0x1.3fdef4p+4 +0x1.fc5d4cp+2 +0x1.4ccb04p+3 +0x1.21a54p+5 +0x1.c95ae2p+4 +0x1.7d909ep+16 +0x1.8904ep+5 +0x1.2e1c5cp+4 +0x1.5562d6p+5 +0x1.2fca28p+4 +0x1.97f598p+8 +0x1.1813c6p+5 +0x1.4274eep+17 +0x1.edb2cap+3 +0x1.00eca6p+6 +0x1.43fcaap+3 +0x1.c81b1cp+11 +0x1.946d6ep+5 +0x1.277c02p+6 +0x1.8e64f2p+4 +0x1.13445ep+4 +0x1.48a9f8p+4 +0x1.feef8ep+11 +0x1.90e7dcp+11 +0x1.fb6bdp+6 +0x1.26d31p+1 +0x1.5dcb2cp+5 +0x1.2635b8p+5 +0x1.5cd7bp+6 +0x1.35d964p+16 +0x1.1be6e4p+3 +0x1.9b593ep+0 +0x1.a1c6acp+5 +0x1.b25bbp+0 +0x1.2fb4c4p+12 +0x1.af2dcp+4 +0x1.171d14p-2 +0x1.01f6e6p+12 +0x1.cc1d66p+16 +0x1.712ebcp+5 +0x1.e4c878p+5 +0x1.7fda22p+5 +0x1.413766p+5 +0x1.e3b362p+5 +0x1.387b3ep+6 +0x1.8406a8p+3 +0x1.6ba21ap+5 +0x1.9794a8p+18 +0x1.6e7ab8p+5 +0x1.735ef6p+6 +0x1.74dce8p+5 +0x1.5d9ef4p+4 +0x1.96ad6p+8 +0x1.4744fep+3 +0x1.1927d6p+13 +0x1.f2ca4cp+4 +0x1.4e576cp+8 +0x1.73a14p+18 +0x1.18c30cp+6 +0x1.0f27f6p+5 +0x1.0f909p+4 +0x1.d236fcp+2 +0x1.54b4cep+12 +0x1.a851aep+0 +0x1.a4e124p+10 +0x1.aa1704p+5 +0x1.8d9924p+6 +0x1.dd5e36p-3 +0x1.e8c328p+6 +0x1.6ab7d8p+5 +0x1.a7f84cp+5 +0x1.ba645cp+3 +0x1.2c58e6p+4 +0x1.b3b7c4p+5 +0x1.9f7c8ep+2 +0x1.78cee6p+4 +0x1.4676eap+16 +0x1.1cffb4p+6 +0x1.faf994p+4 +0x1.e728cp+5 +0x1.501ecep+9 +0x1.038ccep+6 +0x1.3d5fe6p+4 +0x1.7c503ep+6 +0x1.ba6244p+5 +0x1.2d569ap+18 +0x1.236ddp+3 +0x1.2db4aep+15 +0x1.deac8ep+3 +0x1.88a0d4p+4 +0x1.0d0432p+3 +0x1.6425fep+2 +0x1.61db7ep+2 +0x1.38ea34p+6 +0x1.87779ap+1 +0x1.48bd9cp+8 +0x1.b208ccp+6 +0x1.0d5bcap+14 +0x1.9f53a2p+17 +0x1.4e385ap+4 +0x1.d66c8ap+4 +0x1.da556ap+5 +0x1.1162d6p+5 +0x1.000794p+15 +0x1.250622p+4 +0x1.36579p+6 +0x1.3e7eb4p+1 +0x1.dd482ep+1 +0x1.aaef7p+2 +0x1.2d7c2ep+3 +0x1.e63d84p+2 +0x1.4c58fp+6 +0x1.286ed2p+5 +0x1.ae5a5ep+5 +0x1.a414bep+5 +0x1.bd863p+5 +0x1.02a9b6p+3 +0x1.2229bep+4 +0x1.48b76cp+18 +0x1.9d994p+5 +0x1.2f74f4p+5 +0x1.91cd6ap+4 +0x1.ce6f1ep+5 +0x1.c41d2ep+13 +0x1.e681aap+5 +0x1.3959fep+6 +0x1.27d238p+6 +0x1.91d86p+2 +0x1.c9775ap+5 +0x1.9c90fep+13 +0x1.2c57e4p+4 +0x1.152a22p+17 +0x1.852064p+3 +0x1.916504p+10 +0x1.a6dd48p+6 +0x1.107bccp+9 +0x1.cd4476p+14 +0x1.f107eep+5 +0x1.be9222p+5 +0x1.cb0576p+6 +0x1.957ceap+1 +0x1.587bb8p+4 +0x1.f9264p+5 +0x1.1492cap+6 +0x1.1a2fcp+4 +0x1.2c5706p+5 +0x1.a1dd7cp+4 +0x1.e84c68p+1 +0x1.62ccd4p+5 +0x1.15cda6p+2 +0x1.67c2fp+3 +0x1.a918e6p+3 +0x1.cb041ep+5 +0x1.b0c1bap+5 +0x1.21efdcp+5 +0x1.03fcf2p+5 +0x1.b69b9p+4 +0x1.f0fd6ep+5 +0x1.ec9814p-2 +0x1.0d8d3cp+3 +0x1.87ec4ap+6 +0x1.e72d16p+3 +0x1.d84688p+3 +0x1.e1271p+4 +0x1.8b4044p+5 +0x1.0f3f1cp+5 +0x1.ece84p+5 +0x1.0f0d5cp-1 +0x1.62e6c2p+4 +0x1.c3889ep+3 +0x1.11991cp+5 +0x1.e841e6p+3 +0x1.e9df4cp+8 +0x1.175b58p+18 +0x1.618e44p+5 +0x1.f2deb6p+3 +0x1.a2d6a8p+4 +0x1.916284p+5 +0x1.25ad4p+5 +0x1.723478p+3 +0x1.98767ap+6 +0x1.24044cp+5 +0x1.e26a08p+5 +0x1.37c13ap+6 +0x1.cc31cap+4 +0x1.039d68p+6 +0x1.4444ep+3 +0x1.0a626ap+0 +0x1.2700fp+5 +0x1.99327ap+5 +0x1.fe3112p+5 +0x1.3c54eap+3 +0x1.10491ep+6 +0x1.d597b6p+5 +0x1.dc5c88p+5 +0x1.a034a2p+5 +0x1.be0462p+2 +0x1.6fdffap+5 +0x1.b76aep+4 +0x1.c81d48p+4 +0x1.7f351p+0 +0x1.70398ap+11 +0x1.fcf5dap+4 +0x1.721cd2p+6 +0x1.48d3e4p+9 +0x1.92825p+6 +0x1.f46adep+9 +0x1.ea8d8ep+5 +0x1.634198p+5 +0x1.7997b2p+8 +0x1.fcbaeap+5 +0x1.a2d1dp+19 +0x1.a8a402p+6 +0x1.faa6ep+5 +0x1.352ceap+6 +0x1.0f9e5ap+7 +0x1.7ede9ap+4 +0x1.59b9ecp+2 +0x1.809f24p+5 +0x1.f2cb7ap+0 +0x1.b383d8p+5 +0x1.ca8d98p-2 +0x1.a006a2p+1 +0x1.248f1ap+4 +0x1.1cc2dap+7 +0x1.090beep+6 +0x1.779fbep+5 +0x1.4ad68ep+3 +0x1.979ef2p+9 +0x1.7a7a1p+5 +0x1.749406p+6 +0x1.7ef304p+1 +0x1.d34a16p+3 +0x1.a6c45ap+4 +0x1.140016p+4 +0x1.901718p+5 +0x1.a7dddcp+2 +0x1.afdbdcp+5 +0x1.0cda8ap+5 +0x1.f2ea96p+5 +0x1.1ca052p+8 +0x1.f82d1p+3 +0x1.0f6e72p+5 +0x1.a3565cp+4 +0x1.432f26p+5 +0x1.4576fp+6 +0x1.47552p+9 +0x1.0ad116p+1 +0x1.3356f6p+4 +0x1.708ed6p+3 +0x1.593b2p+5 +0x1.8a71bp+4 +0x1.c91328p+4 +0x1.ca761ap+5 +0x1.7c58f8p+6 +0x1.1ade9cp+6 +0x1.3d1362p+2 +0x1.145b74p+5 +0x1.1956dap+2 +0x1.8d314ep+3 +0x1.b73042p+0 +0x1.55b2f4p+5 +0x1.e2917cp-1 +0x1.cb715p+2 +0x1.0994b2p+5 +0x1.9f227ep+5 +0x1.7c4cb8p+4 +0x1.ac3e4ep+15 +0x1.9a57ap+3 +0x1.6c94b8p+4 +0x1.1e274ep+4 +0x1.c31954p+4 +0x1.7651d2p+6 +0x1.0599ecp+11 +0x1.1456aap+5 +0x1.2983eap+5 +0x1.4d14a6p+5 +0x1.1eb5e2p+0 +0x1.828d1p+5 +0x1.0a1c02p+13 +0x1.0fec2ep+6 +0x1.d73e22p+4 +0x1.96c56ap+5 +0x1.6e013p+17 +0x1.44b2b4p+3 +0x1.e1036p+4 +0x1.51151ap+2 +0x1.3ea25p+14 +0x1.50306cp+2 +0x1.a04816p+14 +0x1.ccb8f6p+8 +0x1.3df216p+5 +0x1.ea48e4p+6 +0x1.3d5116p+15 +0x1.d71d74p+15 +0x1.bee0f8p+5 +0x1.2a707ep+1 +0x1.297034p+12 +0x1.572884p+6 +0x1.4f56f6p-1 +0x1.0160b4p+3 +0x1.78032ap+5 +0x1.4344p+4 +0x1.54e8b6p+5 +0x1.8d9774p+6 +0x1.303f9p+4 +0x1.20701ap+6 +0x1.73b83cp+6 +0x1.8cbdc2p+5 +0x1.dd01fep+9 +0x1.29ab44p+6 +0x1.6a07d8p+8 +0x1.6efff4p+4 +0x1.4aa27ep+6 +0x1.57135ap-2 +0x1.31d916p+5 +0x1.d0b606p+3 +0x1.d1569p+4 +0x1.e4f1aap+3 +0x1.4d697cp+2 +0x1.842b08p+3 +0x1.88c38cp+0 +0x1.da1824p+2 +0x1.5d2d7ap+5 +0x1.e95abap+5 +0x1.21b09ap+17 +0x1.80fd7ap+3 +0x1.1f5278p+0 +0x1.772cc2p+5 +0x1.292fb8p+6 +0x1.02a2d2p+5 +0x1.8b9b2ap+4 +0x1.71cc0cp+5 +0x1.98d19ep+0 +0x1.6f08d8p+6 +0x1.6bf8ecp+3 +0x1.ab3fap+1 +0x1.aee61cp+5 +0x1.6b4c76p+5 +0x1.c6e46ep+4 +0x1.aab7f8p+17 +0x1.6a9066p+13 +0x1.b4aecp+5 +0x1.48da44p+4 +0x1.0f7e2p+3 +0x1.49f53p+13 +0x1.8f7992p+0 +0x1.87d7cep+6 +0x1.4444c8p+6 +0x1.042f3ep+6 +0x1.be6272p+5 +0x1.93960ep+6 +0x1.e7fa46p+5 +0x1.1d9666p+6 +0x1.ef5daep+1 +0x1.0f1d72p+6 +0x1.54b0fap+5 +0x1.a6888p+4 +0x1.b0003ap+8 +0x1.06d408p+1 +0x1.8d0686p+3 +0x1.febfbp+1 +0x1.ef0776p+18 +0x1.b6ee82p+6 +0x1.e1d88cp+5 +0x1.52a1d8p-1 +0x1.5747bep+8 +0x1.9f03ap+4 +0x1.f01e82p+5 +0x1.feaf3cp+4 +0x1.540ecep+5 +0x1.18e49cp-1 +0x1.a5fbc2p+15 +0x1.4fb72p+15 +0x1.4420dep+5 +0x1.19f9b4p+4 +0x1.ecfe3p+5 +0x1.121beap+5 +0x1.1b4964p+6 +0x1.6981fep+3 +0x1.eb126p+2 +0x1.a411c4p-1 +0x1.aaf6a4p+3 +0x1.511bf2p+6 +0x1.fb826cp+15 +0x1.55e6d4p+6 +0x1.737036p+5 +0x1.f8531p+13 +0x1.63a162p+11 +0x1.4ac24ep+5 +0x1.60238p+5 +0x1.fc1fc6p+4 +0x1.424c0cp+5 +0x1.39739ep+4 +0x1.4ec2aap+5 +0x1.432f0cp+6 +0x1.780d5p+10 +0x1.9e340ap+2 +0x1.c4a406p+12 +0x1.c43a9ep+6 +0x1.14dedcp+2 +0x1.8daaa6p+2 +0x1.433f84p+2 +0x1.c51a5ep+6 +0x1.26e8dep+6 +0x1.46561ap+2 +0x1.5c7dep+2 +0x1.32e794p+5 +0x1.d79b1cp+1 +0x1.d545f6p+6 +0x1.777bdp+15 +0x1.279104p+3 +0x1.eeedbcp+13 +0x1.30735cp+2 +0x1.3aa04ap+5 +0x1.972c06p+4 +0x1.b8281ap+6 +0x1.47ecp+4 +0x1.0e736ep+6 +0x1.d9e7c8p+2 +0x1.85064cp+6 +0x1.44883cp+1 +0x1.39f132p+19 +0x1.3f154cp+5 +0x1.41d73cp+4 +0x1.419ep+17 +0x1.b7562cp+1 +0x1.ebf352p+2 +0x1.578c02p+3 +0x1.73a8a2p+11 +0x1.01487ap+6 +0x1.3df252p+4 +0x1.9a8a3cp+4 +0x1.c150dap+8 +0x1.12b0a2p+14 +0x1.1d8fp+6 +0x1.8efedep+5 +0x1.2ae06p+5 +0x1.e39e34p+15 +0x1.ee0d62p+6 +0x1.18edc4p+4 +0x1.60360ap+6 +0x1.256928p+3 +0x1.86281ep+11 +0x1.2ca29p+16 +0x1.e90a44p+4 +0x1.5651d4p+6 +0x1.5701b8p+6 +0x1.5fa9p+4 +0x1.669422p+5 +0x1.940548p+4 +0x1.c13484p+6 +0x1.9efc24p+17 +0x1.9a538ep+3 +0x1.593a48p+6 +0x1.2fcde2p+6 +0x1.129f92p+6 +0x1.f7dbecp+5 +0x1.1c7c16p+4 +0x1.dccbbp+2 +0x1.00371ep+5 +0x1.d0b2acp+3 +0x1.155322p+5 +0x1.205f14p+10 +0x1.cd66a6p+5 +0x1.1e97b2p+0 +0x1.0515f2p+5 +0x1.f0203cp+5 +0x1.f2a824p+3 +0x1.185d36p+14 +0x1.76b998p+15 +0x1.3ef2b2p+5 +0x1.17295ap+5 +0x1.5dc11ap+3 +0x1.bdabdcp+1 +0x1.cca588p+6 +0x1.e618a2p+5 +0x1.f67bp+3 +0x1.dfe2ep+2 +0x1.d9258cp+5 +0x1.7e7af4p+7 +0x1.472eap+5 +0x1.c6bd08p+2 +0x1.6ccd9ap+5 +0x1.4eea5p+3 +0x1.0a319p+7 +0x1.29a7ep+3 +0x1.acfa44p+4 +0x1.5a2746p+5 +0x1.65739ep+5 +0x1.6b6776p+4 +0x1.11ff82p+9 +0x1.93916cp+5 +0x1.a896c4p+5 +0x1.572b8ap+4 +0x1.c870f6p+3 +0x1.e77482p+6 +0x1.d496b8p+4 +0x1.78cee4p-1 +0x1.c58098p+3 +0x1.f94056p+3 +0x1.4db616p+6 +0x1.5132c6p+11 +0x1.8e88dep+5 +0x1.29ced6p+3 +0x1.556818p+5 +0x1.e215dcp+1 +0x1.bf4162p+5 +0x1.56f398p+5 +0x1.595c28p+5 +0x1.3984dep+6 +0x1.03c732p+8 +0x1.77e086p+0 +0x1.8402c2p+4 +0x1.9dccd8p+2 +0x1.9956aap+4 +0x1.35473cp+19 +0x1.a62118p+6 +0x1.702702p+4 +0x1.dbc01ep+13 +0x1.6d30ccp+3 +0x1.ae9134p+5 +0x1.255ebap+5 +0x1.884996p+5 +0x1.367c7cp+5 +0x1.6d5a66p+4 +0x1.1cb1eep+5 +0x1.ef69eap+0 +0x1.8c99e8p+14 +0x1.69db16p+5 +0x1.21a1c2p+6 +0x1.ff9386p+6 +0x1.423254p+4 +0x1.879db2p-3 +0x1.6875a6p-2 +0x1.670ba4p+6 +0x1.1866fp+0 +0x1.3e0982p+5 +0x1.0405d2p+5 +0x1.1cbdfep+0 +0x1.23b29cp+5 +0x1.342de2p+6 +0x1.54939p+6 +0x1.b3b7bep+6 +0x1.1cfd0ep+6 +0x1.70fb82p+6 +0x1.19f9b6p+11 +0x1.209c4ep+2 +0x1.2e3618p+6 +0x1.1c1db2p+5 +0x1.f9281ap+3 +0x1.dfcab6p+7 +0x1.4187a4p+5 +0x1.b243ep+5 +0x1.64fb12p+5 +0x1.16f3b2p+4 +0x1.434b6p+4 +0x1.0b7868p+4 +0x1.07e39ep+11 +0x1.c48e56p+5 +0x1.5f291ap+6 +0x1.f58074p+4 +0x1.7b995p+10 +0x1.72eceap+5 +0x1.dbf5fp+11 +0x1.da8918p+5 +0x1.1b138p+6 +0x1.8b56dcp+5 +0x1.63e74cp+8 +0x1.9542b6p+5 +0x1.016ad8p+2 +0x1.08535ap+5 +0x1.4619f4p+5 +0x1.0087aap+10 +0x1.b749fp+5 +0x1.472a8p+4 +0x1.691b0cp+5 +0x1.085a66p+2 +0x1.8dc8d8p+5 +0x1.d0eb3cp+1 +0x1.f126dcp+3 +0x1.418ecap+8 +0x1.dea668p+8 +0x1.3c6296p+5 +0x1.25c4a4p+3 +0x1.2104p+6 +0x1.383322p+6 +0x1.5c9286p+5 +0x1.18ff98p+14 +0x1.8cf13ap+4 +0x1.0ecb1cp+6 +0x1.056002p+5 +0x1.e928p+12 +0x1.24b758p+5 +0x1.caf8aap+4 +0x1.6696a6p+18 +0x1.accd6cp+4 +0x1.1312f2p+5 +0x1.6b2696p+5 +0x1.bde25cp+5 +0x1.2f9da2p+7 +0x1.ce19e4p+6 +0x1.343aecp+6 +0x1.0aec92p+3 +0x1.6adcaap+6 +0x1.f53f96p+3 +0x1.14a658p+3 +0x1.04cb54p+5 +0x1.e3c5cep+4 +0x1.be3042p+3 +0x1.97db52p+13 +0x1.e95ce8p-1 +0x1.a359p+6 +0x1.c5260ep+5 +0x1.522bb8p+0 +0x1.2e880ep+6 +0x1.136ca4p+5 +0x1.71e9d2p+6 +0x1.a138cap+4 +0x1.5de308p+5 +0x1.d4b134p+10 +0x1.3193cap-1 +0x1.c43d92p+1 +0x1.34b87cp+4 +0x1.828bb4p+3 +0x1.f6813ep+4 +0x1.670756p+1 +0x1.0c9052p+14 +0x1.0a0778p+6 +0x1.788784p+5 +0x1.121c2p+8 +0x1.26e172p+4 +0x1.92f09cp+4 +0x1.dcfa74p+0 +0x1.5d3dc2p+1 +0x1.4b23d2p+4 +0x1.54e888p+5 +0x1.be37ap+5 +0x1.2ef262p+5 +0x1.8d1f68p+5 +0x1.05ad88p+6 +0x1.3ae1fap+3 +0x1.b30b96p+2 +0x1.66981ap+4 +0x1.034582p+7 +0x1.cf38ap+16 +0x1.0b73fap+5 +0x1.2f6ce8p+2 +0x1.725514p+13 +0x1.279944p+3 +0x1.8517a4p+13 +0x1.14cfdp+2 +0x1.829ee2p+5 +0x1.a251dcp+4 +0x1.96a21cp+4 +0x1.21328ep+4 +0x1.19eca4p+7 +0x1.db9bdep+5 +0x1.52310cp+6 +0x1.6e1d4ep+5 +0x1.1b5a2ep+6 +0x1.6eeb7p+1 +0x1.df839ap+5 +0x1.e4587ap+5 +0x1.b900cap+5 +0x1.91060ep+0 +0x1.195928p+5 +0x1.0116cep+6 +0x1.8828fp+5 +0x1.25d38ep+0 +0x1.90e7acp+4 +0x1.2dcf52p+4 +0x1.0c3b0cp+6 +0x1.5e64c8p+9 +0x1.b71938p+8 +0x1.3ce6a2p+10 +0x1.84dcbp+5 +0x1.9c31c6p+5 +0x1.1d6932p+6 +0x1.f20674p+5 +0x1.c0da24p+4 +0x1.e8c7acp+5 +0x1.d6162ep+4 +0x1.64e58ap+4 +0x1.249002p+6 +0x1.ea7276p+6 +0x1.a54c82p+3 +0x1.2c4d8p+1 +0x1.b48358p+12 +0x1.e339c4p+18 +0x1.e81174p+5 +0x1.0c02b4p+2 +0x1.39b504p+6 +0x1.47cd74p+4 +0x1.7c9f28p+3 +0x1.2cae7ap+15 +0x1.040342p+6 +0x1.bd7c16p+6 +0x1.7496a4p+17 +0x1.15a296p+10 +0x1.5f22f6p+5 +0x1.0ed75ap+4 +0x1.e8e83cp+4 +0x1.a37076p+5 +0x1.bb2b84p+10 +0x1.8c6d54p+3 +0x1.49adccp+6 +0x1.2ecd26p+6 +0x1.d1e5c8p+3 +0x1.773568p+7 +0x1.357222p+4 +0x1.c8f18ep+1 +0x1.ef85e4p+5 +0x1.db52d2p+6 +0x1.5e2186p+5 +0x1.d1f87ap+6 +0x1.dd57c8p+1 +0x1.08cafp+19 +0x1.4df828p+4 +0x1.321366p+5 +0x1.4a8c9ap+4 +0x1.1ddf3p+4 +0x1.110f3cp+5 +0x1.b2431ap+4 +0x1.94667ap+7 +0x1.b9fb1cp+4 +0x1.a3bb0ap+6 +0x1.09d7f2p+6 +0x1.0890bcp+8 +0x1.c18ac8p+5 +0x1.8d4a46p+5 +0x1.7b7a1p+3 +0x1.0692cep+6 +0x1.85cdd8p+3 +0x1.c39e1cp+3 +0x1.8ac84p+4 +0x1.bc3142p+3 +0x1.2981fcp+5 +0x1.d1336ap-3 +0x1.3674fp+5 +0x1.400728p+5 +0x1.0efa8p+13 +0x1.4127dep+11 +0x1.7ce0f6p+5 +0x1.6809f8p+3 +0x1.e404ccp+2 +0x1.cc5328p+5 +0x1.229e9p+4 +0x1.da987ap+14 +0x1.55449ap+4 +0x1.864f48p+3 +0x1.f4112p+5 +0x1.18b604p+6 +0x1.211f24p+3 +0x1.a7f5fap+5 +0x1.355b88p+6 +0x1.939666p+4 +0x1.2ea782p+3 +0x1.8a1efcp+2 +0x1.c55656p+1 +0x1.f4b0b6p+13 +0x1.65d624p+9 +0x1.af687p+4 +0x1.f7e54ep+17 +0x1.23baeap+7 +0x1.be069ap+9 +0x1.943708p+6 +0x1.cc6882p+5 +0x1.b9e08ep+3 +0x1.2bd976p+3 +0x1.cc1c2ep+5 +0x1.de85c6p+5 +0x1.1a6c6p+5 +0x1.a5021p+4 +0x1.2c6e8cp+8 +0x1.60da66p+6 +0x1.c709f2p+5 +0x1.1f200ap+5 +0x1.13d676p+5 +0x1.e8ba6cp+4 +0x1.2b82ccp+6 +0x1.0d2dap+4 +0x1.3936ap+12 +0x1.f38a5p+5 +0x1.975966p+2 +0x1.2c4656p+6 +0x1.62c54p+5 +0x1.65ef86p+6 +0x1.57c55ap+15 +0x1.92d71ep-1 +0x1.31e3fcp+6 +0x1.3a4d86p+5 +0x1.407672p+18 +0x1.2e35ep+2 +0x1.0a00eep+4 +0x1.7895p+18 +0x1.70135cp+6 +0x1.14d57cp+5 +0x1.b14ab2p+4 +0x1.3147fcp+6 +0x1.34133ep+3 +0x1.43132ap+5 +0x1.26bc5p+5 +0x1.04c174p+14 +0x1.872bc8p+4 +0x1.034546p+6 +0x1.743c3ep+3 +0x1.4bc288p+3 +0x1.7d3c5ep+4 +0x1.275252p+7 +0x1.3b363p+3 +0x1.ca1876p+4 +0x1.1b37cep+1 +0x1.486996p+6 +0x1.69db8cp+14 +0x1.a7327cp+1 +0x1.9a139cp+10 +0x1.d33572p+7 +0x1.0b676ep+6 +0x1.4d54bep+3 +0x1.28e8b6p+5 +0x1.c2957ap+5 +0x1.93018cp+3 +0x1.6d7c1cp+6 +0x1.a3fc5ep+4 +0x1.8b1dcep+11 +0x1.ca1efap+12 +0x1.910bp+3 +0x1.f5575ep+9 +0x1.1a04dap+7 +0x1.1fcc12p+2 +0x1.727c1ap+5 +0x1.45dc9p+5 +0x1.68a12p+6 +0x1.98d238p+19 +0x1.b1116p+6 +0x1.eb5fdp+2 +0x1.8efac2p+5 +0x1.29a27ep+4 +0x1.7a4fb6p+6 +0x1.0230ccp+5 +0x1.7074b6p-1 +0x1.acb0c6p-2 +0x1.984af4p+5 +0x1.24febcp+4 +0x1.1f8112p+5 +0x1.d6122ep-2 +0x1.69ab64p+3 +0x1.1a888ap+3 +0x1.f41f0ep+8 +0x1.c0e106p-1 +0x1.906e68p+5 +0x1.bc6866p+2 +0x1.1706fep-5 +0x1.0b93eap+7 +0x1.e2f1f8p+3 +0x1.3d9c36p+7 +0x1.ddb04ep+6 +0x1.8bee68p+5 +0x1.1b7634p+18 +0x1.7c71eap+6 +0x1.262938p+4 +0x1.3b2f5ap+5 +0x1.8f9f8ep+1 +0x1.725b32p+2 +0x1.c5e69p+4 +0x1.71e2e4p+5 +0x1.87272ep+5 +0x1.654f02p+4 +0x1.c13ea2p+4 +0x1.4fc88ap+6 +0x1.b31ce8p+2 +0x1.62a87cp+3 +0x1.5c2df4p+4 +0x1.bcfdcp+6 +0x1.ce7818p+2 +0x1.95ad2ep+6 +0x1.27dcfap+4 +0x1.4deabcp+3 +0x1.13eb24p+5 +0x1.eff224p-1 +0x1.f5a1eap+3 +0x1.a45e02p+3 +0x1.605f04p+6 +0x1.894f0cp+4 +0x1.eae4bep+4 +0x1.ddbf58p+4 +0x1.06c9fap+4 +0x1.e70c74p+10 +0x1.7d39b8p+1 +0x1.5ec2e6p+6 +0x1.9745p+0 +0x1.89dc7ep+6 +0x1.ccceeep+5 +0x1.2a4342p+0 +0x1.32f77cp+17 +0x1.db1708p+16 +0x1.09a0ecp+15 +0x1.69c3bcp+2 +0x1.b84692p+15 +0x1.2f64b4p+4 +0x1.d12df2p+5 +0x1.2d7112p+6 +0x1.5aded6p+3 +0x1.6653d6p+6 +0x1.64251cp+4 +0x1.4c8c7cp+2 +0x1.ad417p+10 +0x1.5ba97ep+5 +0x1.5c15ep+11 +0x1.420c52p+6 +0x1.3c73e6p+2 +0x1.4a669cp+5 +0x1.91adc2p+2 +0x1.1d083ep+13 +0x1.9c62dp+6 +0x1.10f95ap+8 +0x1.0c3a14p+6 +0x1.9cd05cp+6 +0x1.bb9a8p+2 +0x1.d24c32p+5 +0x1.082a6cp+5 +0x1.a2d86p-2 +0x1.8c3e44p+1 +0x1.9a57f4p+4 +0x1.e03254p+5 +0x1.28dfap+6 +0x1.39d4cp+4 +0x1.2ff0bp+5 +0x1.83d908p+4 +0x1.ff6e96p+2 +0x1.61f084p+4 +0x1.50994cp+6 +0x1.0334bap+3 +0x1.4e0452p+6 +0x1.0b4aaep+6 +0x1.006c24p+6 +0x1.825606p+5 +0x1.661deep+5 +0x1.574238p+16 +0x1.031e8p+19 +0x1.bde85ep+3 +0x1.8ec496p-1 +0x1.513cecp+3 +0x1.5c91b4p+6 +0x1.3dbc2ep+2 +0x1.f01d72p+13 +0x1.3a4ebcp+3 +0x1.2ba094p+6 +0x1.282556p+4 +0x1.dcd2dp+11 +0x1.192734p+11 +0x1.7a3f38p+2 +0x1.6227dcp+5 +0x1.bca8c4p+3 +0x1.9a34bp-2 +0x1.cadbc2p+8 +0x1.f4deap+12 +0x1.913008p+6 +0x1.ab69a8p+5 +0x1.005b04p+3 +0x1.f7c4dp+8 +0x1.0ac8d4p+5 +0x1.92e7ep+4 +0x1.061f42p+6 +0x1.c082dap+6 +0x1.d6a276p+3 +0x1.88f944p+14 +0x1.f93b98p+10 +0x1.db6f32p+6 +0x1.3daa6ap+6 +0x1.984f68p+5 +0x1.f2fe08p+4 +0x1.0893d8p+2 +0x1.ee3fc2p+3 +0x1.898774p+7 +0x1.f5c856p+4 +0x1.2a350ap+6 +0x1.7d3bfcp+5 +0x1.b4fddap+2 +0x1.1447bap+3 +0x1.e96a76p+18 +0x1.33073ap+6 +0x1.58218p+4 +0x1.97d112p+5 +0x1.3bd34ep+6 +0x1.9365f6p+6 +0x1.c1a682p+6 +0x1.1cc888p+4 +0x1.23b464p+5 +0x1.d45b08p+9 +0x1.ed05c8p+2 +0x1.eeeb48p+12 +0x1.001de4p+5 +0x1.18044p+6 +0x1.57a3aep+5 +0x1.70e69ap+3 +0x1.8d3db2p+3 +0x1.1c0744p+6 +0x1.2a13bep+5 +0x1.2f8294p+11 +0x1.324bfp+5 +0x1.0849a8p+6 +0x1.cd2782p+4 +0x1.1262eap+16 +0x1.207dccp+5 +0x1.77c5dp+4 +0x1.8e31ap+2 +0x1.38cfap+7 +0x1.2e162p+4 +0x1.1a0848p+2 +0x1.75ba1cp+9 +0x1.016e6ap+5 +0x1.95096p+5 +0x1.55dda6p+3 +0x1.ab0458p+4 +0x1.1d7c1ap+4 +0x1.02d46cp+6 +0x1.41c632p+5 +0x1.110af2p+12 +0x1.52c166p+4 +0x1.a5468ep+4 +0x1.8fcbfep+2 +0x1.0de3p+1 +0x1.b8533ep+6 +0x1.b3d1e2p+1 +0x1.1d1ffep+6 +0x1.3f3bfep+2 +0x1.1a7322p+5 +0x1.91ed24p+5 +0x1.26dd5ap+5 +0x1.831ed2p-1 +0x1.ea87fap+2 +0x1.42adf8p+9 +0x1.3d0794p+0 +0x1.147e72p+6 +0x1.a87c38p+5 +0x1.05f4fcp+0 +0x1.872598p+5 +0x1.04ee54p+16 +0x1.b527p+5 +0x1.08d29ap+14 +0x1.44edbp+6 +0x1.8f65dcp+3 +0x1.531b42p+5 +0x1.8214d6p+3 +0x1.35ab9ap+5 +0x1.18f32ep+10 +0x1.d86a72p+2 +0x1.df7bcap+2 +0x1.95c74p-1 +0x1.5d5f7ap+5 +0x1.15d554p+5 +0x1.645a34p+5 +0x1.231ea2p+12 +0x1.daca3ep+6 +0x1.386cecp+6 +0x1.134d22p+9 +0x1.4567d6p+1 +0x1.0c67a2p+16 +0x1.b9ced8p+4 +0x1.2c90ap+14 +0x1.71d79ep+6 +0x1.c1bc5ep+10 +0x1.cddce4p+11 +0x1.624b72p+10 +0x1.9edf52p+14 +0x1.bec238p+5 +0x1.bdb228p+9 +0x1.1316a8p+2 +0x1.331af6p+5 +0x1.55d44cp+5 +0x1.337a1ap+5 +0x1.00198p+5 +0x1.d7923p+2 +0x1.bde35p+5 +0x1.bdd5b8p+4 +0x1.b53cdep+5 +0x1.bd7204p+5 +0x1.4d98b2p+0 +0x1.f66ae4p+5 +0x1.3a46fap+4 +0x1.21db28p+2 +0x1.65de36p+7 +0x1.30bf3ep+6 +0x1.acef3p+5 +0x1.ca4b14p+6 +0x1.051702p+2 +0x1.ff7758p+3 +0x1.5c0224p+2 +0x1.ca1ce2p+8 +0x1.c80deep+6 +0x1.420f46p+5 +0x1.af477ap+4 +0x1.030788p+6 +0x1.c52df8p+2 +0x1.d132b4p+5 +0x1.0dce5cp+6 +0x1.2c4654p+2 +0x1.6a8988p+7 +0x1.96d2cap+2 +0x1.1b95dap+7 +0x1.04c55cp+6 +0x1.8e0e8cp+3 +0x1.043458p+4 +0x1.092c1p+1 +0x1.226c72p+10 +0x1.ab47a4p+5 +0x1.7c85c6p+4 +0x1.967f16p+9 +0x1.e205aap+0 +0x1.4cb022p+1 +0x1.5d2952p+5 +0x1.f06f62p+5 +0x1.3b4e7cp+3 +0x1.07805cp+6 +0x1.81cf26p+2 +0x1.219426p+2 +0x1.138d0ap+5 +0x1.a478ccp+5 +0x1.68f65ep-4 +0x1.e02e8ap+4 +0x1.4f1e0ep+5 +0x1.2c0dp+4 +0x1.62088p+6 +0x1.837138p+5 +0x1.3bc2a2p+4 +0x1.d7c60cp+15 +0x1.64ccbep+16 +0x1.0353eap+6 +0x1.8f60aep+2 +0x1.b56ff8p+6 +0x1.ed5b8ap+1 +0x1.2a847p+11 +0x1.27ca7ap+5 +0x1.fecba6p-1 +0x1.7b63bp+4 +0x1.0e0748p+4 +0x1.c750e2p+10 +0x1.b5e5ecp+12 +0x1.e809acp+5 +0x1.f7d68p+5 +0x1.194becp+4 +0x1.35ebecp+2 +0x1.004ef8p+5 +0x1.cae23p+5 +0x1.e17b3cp+5 +0x1.420602p+8 +0x1.049cbap+5 +0x1.d2bedp+5 +0x1.246fcap+4 +0x1.f8e2ap+5 +0x1.35cd7ep+5 +0x1.11d402p+18 +0x1.f1a614p+5 +0x1.429db4p+6 +0x1.8a2de8p+5 +0x1.3dd808p+13 +0x1.231d44p+10 +0x1.67a258p+2 +0x1.e674cep+5 +0x1.1b52bap+11 +0x1.1e6e52p+4 +0x1.172e32p+6 +0x1.250c22p+4 +0x1.238dacp+4 +0x1.66078p+7 +0x1.792a72p+1 +0x1.3c88bp+6 +0x1.1206e2p+6 +0x1.3cc992p+4 +0x1.0adcd2p+3 +0x1.87ce0cp+4 +0x1.efad38p+5 +0x1.ec743p+5 +0x1.a9ad1ep+4 +0x1.c1b298p+5 +0x1.cf51cep+0 +0x1.66074p+2 +0x1.8e1e0ap+2 +0x1.28e3dep+1 +0x1.02b92cp+5 +0x1.cdfe72p+5 +0x1.9395a8p+5 +0x1.f6574ep+3 +0x1.d9a98cp+3 +0x1.aef72ep+5 +0x1.fa300cp+4 +0x1.9c2e28p+4 +0x1.3e5c0cp+2 +0x1.22065cp+3 +0x1.3993f8p+1 +0x1.919b9ep-6 +0x1.212d9cp+3 +0x1.94ccdep+4 +0x1.b0c78ap-1 +0x1.f528ecp+3 +0x1.3447fep+4 +0x1.2a6fep+4 +0x1.c25b52p-2 +0x1.4f6a1cp+3 +0x1.83094p+4 +0x1.144f1cp+7 +0x1.0f0c5cp+3 +0x1.9658e6p+5 +0x1.1f6396p+6 +0x1.45742ap+5 +0x1.45510ap+6 +0x1.1c157ep+14 +0x1.973d2ap+2 +0x1.4b6352p+6 +0x1.3d0ab6p+9 +0x1.160198p+2 +0x1.31afe8p+6 +0x1.11901p+9 +0x1.d8ed3ep+9 +0x1.dc72aap+6 +0x1.9478b2p+5 +0x1.4b428cp+6 +0x1.d96d4ep+5 +0x1.4a90a6p+3 +0x1.3d817ep+5 +0x1.336fb2p+5 +0x1.b361d2p+11 +0x1.1fbc3ep+0 +0x1.0f943cp+5 +0x1.3164dep+4 +0x1.1f83c8p+0 +0x1.5f68bcp+4 +0x1.ab698ep+0 +0x1.2e160cp+6 +0x1.462b8ep+5 +0x1.9ef22ap+2 +0x1.08ffe4p+2 +0x1.0bd24ep+5 +0x1.62346ap+5 +0x1.de9e52p+0 +0x1.dc4ac2p+5 +0x1.25c93p+5 +0x1.d4c97cp+2 +0x1.91a3aep+1 +0x1.016ed4p+6 +0x1.1c6806p+0 +0x1.e969b6p+4 +0x1.fb982ep+17 +0x1.8c9b5ap+3 +0x1.146ec2p+6 +0x1.65ef7p+3 +0x1.176bdap+6 +0x1.4d73a6p+4 +0x1.d3b47cp+5 +0x1.75741cp+5 +0x1.000fc6p+3 +0x1.243d2cp+4 +0x1.5b868cp+6 +0x1.bd5956p+6 +0x1.e8aea6p+1 +0x1.71ce4cp+6 +0x1.cd920cp+5 +0x1.f2ec94p+0 +0x1.606bdap+13 +0x1.6a89dep+5 +0x1.2337bap+2 +0x1.16d5d6p+4 +0x1.1178a2p+5 +0x1.d8d992p-4 +0x1.515c6p+3 +0x1.b2a2fep+1 +0x1.aedb5p+5 +0x1.d6d5dp+4 +0x1.1ee9fp+4 +0x1.983aecp+6 +0x1.fbcd0ep+5 +0x1.5f412p+6 +0x1.2bdb58p+5 +0x1.ad631ap+10 +0x1.09594cp+6 +0x1.c127d4p+5 +0x1.8dbbbep+11 +0x1.369752p+5 +0x1.312a6cp+8 +0x1.5a438cp+18 +0x1.a7b93cp+2 +0x1.e60006p+5 +0x1.452374p-1 +0x1.5f374ep+9 +0x1.c4b36p+5 +0x1.3c1752p+5 +0x1.2b0b66p+3 +0x1.65c008p+6 +0x1.97e2cep+6 +0x1.6eba7ap+5 +0x1.10575ep+0 +0x1.ecc59ep+4 +0x1.12d00ep+6 +0x1.cb3d74p+3 +0x1.119fbap+18 +0x1.9cd45ep+14 +0x1.b073e8p+9 +0x1.0c9048p+4 +0x1.67927ep+4 +0x1.a454acp+8 +0x1.3609bep+16 +0x1.1ef15p+5 +0x1.57d228p+5 +0x1.3e38ap+6 +0x1.2107a6p+5 +0x1.2ee27ap+1 +0x1.6e09d6p+4 +0x1.0e1636p+7 +0x1.60bd12p+16 +0x1.4403d8p+4 +0x1.6acf4ap+6 +0x1.81ed66p+4 +0x1.4f2528p+2 +0x1.3c4a32p+8 +0x1.3c8b1ep+6 +0x1.63bb72p+5 +0x1.da389cp+3 +0x1.d467eap+13 +0x1.ac47dep+12 +0x1.b6ab9ap+5 +0x1.fd7106p+6 +0x1.3bd74p+3 +0x1.a094e4p+6 +0x1.0aa8eep+5 +0x1.ecacaep+5 +0x1.6b0cfp+5 +0x1.2570c4p+5 +0x1.d47fd2p+10 +0x1.192278p+3 +0x1.200858p+0 +0x1.1f16dcp+4 +0x1.500388p+6 +0x1.1f0b3p+19 +0x1.486c7ep+5 +0x1.ac62aep+1 +0x1.935e64p+17 +0x1.3f83e8p+3 +0x1.043b84p+5 +0x1.ddb4eap+4 +0x1.9d56f8p+5 +0x1.97f45cp+3 +0x1.84285p+5 +0x1.1a5fa8p+4 +0x1.83b09p+5 +0x1.459c24p+4 +0x1.4119b8p+5 +0x1.20fd9cp+6 +0x1.268a64p+12 +0x1.7b94fap+5 +0x1.3bcd5ep+2 +0x1.0d3522p+19 +0x1.8fc8ap-3 +0x1.c4a09p+4 +0x1.72aac2p+3 +0x1.d9514cp+5 +0x1.2e859ep+11 +0x1.128b7ep+9 +0x1.7cd832p+5 +0x1.4300c6p+8 +0x1.eefe14p+5 +0x1.06ef76p+6 +0x1.72efdap+10 +0x1.9c140ap+4 +0x1.ce68bap+4 +0x1.65b7d4p+2 +0x1.c90802p+4 +0x1.9a6d4ep+5 +0x1.d18f9ep+6 +0x1.20aaecp+4 +0x1.7f8064p-2 +0x1.e47cc8p+4 +0x1.3b1bc8p+5 +0x1.33924cp+3 +0x1.5c66a6p+5 +0x1.665886p+1 +0x1.2c3fdcp+5 +0x1.d2553cp+3 +0x1.3bd886p+5 +0x1.3a4296p+1 +0x1.5dd68ap+2 +0x1.cf7f82p+2 +0x1.a973dep+5 +0x1.e840b2p+5 +0x1.912654p+18 +0x1.564a0ap+3 +0x1.5e05a8p+6 +0x1.d327cep+3 +0x1.ad4c74p+8 +0x1.3b136ep+6 +0x1.3941c8p+6 +0x1.c313e6p+3 +0x1.c70d48p+6 +0x1.b1381ap+6 +0x1.6d4d98p+4 +0x1.4e4c5p+3 +0x1.0dead2p+5 +0x1.f17286p+0 +0x1.ce6076p+16 +0x1.45797ep+6 +0x1.0b7eaap+4 +0x1.c7bfbcp+6 +0x1.e2a654p+5 +0x1.28354p+15 +0x1.5d10e6p+5 +0x1.0c1464p+6 +0x1.5dd8bep+2 +0x1.86fb8ap+3 +0x1.6c2d58p+13 +0x1.3354f2p+1 +0x1.33e72ap+6 +0x1.3edfd8p+5 +0x1.30841ap+6 +0x1.1bf47ep+6 +0x1.b019f2p+4 +0x1.39dff8p+6 +0x1.c27094p+7 +0x1.c37ebcp+6 +0x1.170d2cp+5 +0x1.b095b4p+5 +0x1.8c8eacp+3 +0x1.9fbd16p+14 +0x1.b4f104p+5 +0x1.384d9ap+6 +0x1.d5b4e6p-5 +0x1.ef002ap+4 +0x1.f342aep+6 +0x1.6d39c8p+6 +0x1.05823p+1 +0x1.faa052p+5 +0x1.877022p+5 +0x1.8ccf2ep+4 +0x1.3a5e88p+6 +0x1.0db3b8p+4 +0x1.40dd1cp+5 +0x1.ff7c44p+3 +0x1.14b1c2p+7 +0x1.822ceap+12 +0x1.9db9dcp+4 +0x1.a0c2e4p+6 +0x1.c9ae24p+15 +0x1.12aa3p+1 +0x1.900772p+4 +0x1.39e28cp+6 +0x1.20634ep+3 +0x1.9a0b5cp+6 +0x1.02dc78p+0 +0x1.b28aep+6 +0x1.3bae5ap+4 +0x1.847cfep+5 +0x1.ad04eep+5 +0x1.32863ap+5 +0x1.5e423ap+5 +0x1.5b01d4p+9 +0x1.0b4b7cp+7 +0x1.a267c2p+5 +0x1.47a074p+5 +0x1.bd21c8p+5 +0x1.ba0f22p+4 +0x1.617d28p+3 +0x1.33230cp+12 +0x1.596b24p+13 +0x1.ba290ep+2 +0x1.8105e6p+6 +0x1.ce8194p+3 +0x1.588926p+18 +0x1.cde98cp+4 +0x1.771dd8p+5 +0x1.1cd9c2p+6 +0x1.510e4ap+6 +0x1.a02256p+4 +0x1.34cf5ap+0 +0x1.098adap+6 +0x1.ddbe1ep+3 +0x1.d55dbp+4 +0x1.3c83fp+14 +0x1.9c48e2p+3 +0x1.bf95a6p+5 +0x1.7dfdf4p+5 +0x1.ef372cp+1 +0x1.628ac6p+5 +0x1.eefda4p+12 +0x1.27e574p+5 +0x1.12ba06p-2 +0x1.734ad4p+4 +0x1.4ca70cp+4 +0x1.76c4b2p+5 +0x1.2999ecp+4 +0x1.c4bb88p+4 +0x1.2bd692p+7 +0x1.74524cp+0 +0x1.1634d2p+3 +0x1.fe74fap+4 +0x1.226baep+6 +0x1.147342p+6 +0x1.90dafep+6 +0x1.ec50ep+3 +0x1.903e02p+5 +0x1.4d63a4p-2 +0x1.5465dp+5 +0x1.3db8d8p+15 +0x1.0f4074p+4 +0x1.272bf2p+0 +0x1.a2d45ep+4 +0x1.3a25e6p+11 +0x1.657266p+5 +0x1.0b69p+7 +0x1.d1aab4p+11 +0x1.67408ap+4 +0x1.f5343ep+11 +0x1.4da16ep+3 +0x1.a0518ep+6 +0x1.56017p+3 +0x1.f861f4p-1 +0x1.e18eeap+3 +0x1.92d284p+6 +0x1.17f38cp+3 +0x1.030fe4p+14 +0x1.086a8cp+1 +0x1.afa4acp+16 +0x1.a0c0b2p+4 +0x1.8a18c8p+3 +0x1.b60acp+9 +0x1.ddc464p+4 +0x1.2c0cecp+5 +0x1.661fp+6 +0x1.6d275cp+5 +0x1.3a63f6p+12 +0x1.16f438p+4 +0x1.d742ccp+3 +0x1.1c760cp+4 +0x1.762be6p+2 +0x1.6ce9dap+2 +0x1.27349p+6 +0x1.529bcap+2 +0x1.e2213ap+5 +0x1.415ff8p+5 +0x1.97d45ep+4 +0x1.1fb01p+6 +0x1.6c4b06p+4 +0x1.ef402p+6 +0x1.4c147cp+1 +0x1.030768p+3 +0x1.1922f4p+5 +0x1.470962p+5 +0x1.c977cap+4 +0x1.16163cp+6 +0x1.5526fcp+5 +0x1.c8d316p+11 +0x1.bc251ap+2 +0x1.6361e2p-1 +0x1.39412ep+5 +0x1.57d698p+6 +0x1.dfa43cp-1 +0x1.93ef02p+5 +0x1.e8b0f8p+4 +0x1.fdf8eep+1 +0x1.16223ep+5 +0x1.a919cp+4 +0x1.a2d236p+9 +0x1.aa6892p+5 +0x1.5611d4p+2 +0x1.82109cp+10 +0x1.ba3332p+5 +0x1.d38ecap+2 +0x1.5ed356p+4 +0x1.2ac0d4p+5 +0x1.602d48p+10 +0x1.55e496p+4 +0x1.7472dp+2 +0x1.6de004p+4 +0x1.7cd54ep+3 +0x1.ffa92ap+8 +0x1.a6fbf4p+17 +0x1.fa3956p+15 +0x1.5c99ccp+2 +0x1.e19d6p+6 +0x1.1c549ep+5 +0x1.1ea2c4p+5 +0x1.a575f4p+4 +0x1.2454p+5 +0x1.5f60d8p+4 +0x1.bbe55p+3 +0x1.06e89ap+4 +0x1.cf868ap+16 +0x1.c1d956p+8 +0x1.08673cp+2 +0x1.9d9e58p+4 +0x1.db0e6ep+5 +0x1.2fd312p+4 +0x1.8a3116p+1 +0x1.04a60ep+14 +0x1.f823bap+2 +0x1.a3b14cp+4 +0x1.b4078cp+2 +0x1.af7e54p+4 +0x1.80cf54p+6 +0x1.99f79ap+4 +0x1.58db04p+4 +0x1.d83936p+3 +0x1.decb3cp+4 +0x1.00b5b2p+3 +0x1.71f7bap+18 +0x1.0564cap+5 +0x1.63a01cp+5 +0x1.38068p+5 +0x1.18656ep+1 +0x1.68620ep+4 +0x1.51ac96p+2 +0x1.8e4a5ep+1 +0x1.a744ap+2 +0x1.30bc3ap+9 +0x1.92a964p+5 +0x1.7ac452p+5 +0x1.abc428p+4 +0x1.31f04cp+5 +0x1.64cd36p+1 +0x1.c05a8ap+5 +0x1.1d6c6ap+2 +0x1.8326c6p+6 +0x1.5c1e5p+6 +0x1.2afb02p+4 +0x1.95ba8cp+5 +0x1.f6ab2p-2 +0x1.da3452p+5 +0x1.a49fdep+4 +0x1.bfd082p+4 +0x1.383362p+5 +0x1.25c90ep+2 +0x1.a77f18p+5 +0x1.48445p+15 +0x1.2fe60cp+5 +0x1.1faabp+5 +0x1.36f068p+3 +0x1.8f247ep+5 +0x1.2cc486p+9 +0x1.bcec8ap+5 +0x1.a513cep+4 +0x1.8d3b84p+4 +0x1.ca7638p+12 +0x1.6a1ad8p+4 +0x1.ea8a5p+4 +0x1.99f472p+6 +0x1.271b08p+2 +0x1.ac764cp+11 +0x1.74bba6p+12 +0x1.a849b2p-3 +0x1.50a138p+4 +0x1.747994p+16 +0x1.1c30cep+6 +0x1.e32fdp+1 +0x1.abcd1ap-3 +0x1.8c3896p+1 +0x1.c38502p+0 +0x1.abe0d6p+3 +0x1.36b0ccp+6 +0x1.921a68p+3 +0x1.b0116ap+3 +0x1.16ca4ep+5 +0x1.bcd32p+4 +0x1.05a1f4p+13 +0x1.e6ba52p+2 +0x1.560a0ep-2 +0x1.b01ea2p+0 +0x1.1d5e24p+3 +0x1.e6e1d6p+5 +0x1.cc6428p+1 +0x1.bb99eap+6 +0x1.da363cp+5 +0x1.f77edep+2 +0x1.a48f14p+4 +0x1.6dcaf4p+5 +0x1.0b766ap+5 +0x1.a65caap+16 +0x1.8d7a34p+12 +0x1.d205c4p+4 +0x1.7b8d26p+17 +0x1.a9d36ap+4 +0x1.190f9p+18 +0x1.b99f12p+10 +0x1.605c8ap+3 +0x1.c5456p+4 +0x1.5b5ddcp+1 +0x1.f42848p-1 +0x1.24940cp+15 +0x1.4822dep+8 +0x1.19eca2p+1 +0x1.bb556cp+12 +0x1.281068p+2 +0x1.0866acp+2 +0x1.0fecdp+16 +0x1.aa0aaap+5 +0x1.f1a54ep+5 +0x1.d1985ap+0 +0x1.f4064ap+4 +0x1.095b9ap+6 +0x1.3f0006p+5 +0x1.4c9fb2p+7 +0x1.7d661ap+4 +0x1.3a8c7p+3 +0x1.b475f6p+3 +0x1.55d236p+6 +0x1.7f76aep+1 +0x1.b4a2bap+11 +0x1.bdd6fp+4 +0x1.26a4c8p+5 +0x1.3afaaap+9 +0x1.9ee7b4p+3 +0x1.539d5cp+6 +0x1.fe1c6cp+10 +0x1.505298p+6 +0x1.c2755cp+2 +0x1.9fccdep+5 +0x1.20c99ap+4 +0x1.58d1eep+5 +0x1.df7556p+4 +0x1.2d14e8p+7 +0x1.699a2ap+4 +0x1.2ab814p+4 +0x1.4b902ep+0 +0x1.e73b1p+4 +0x1.d41f9ep+4 +0x1.501378p+14 +0x1.394f4p+18 +0x1.e3e986p+4 +0x1.9268cep+7 +0x1.9183fep+13 +0x1.d17a7cp+9 +0x1.0274d2p+4 +0x1.fbcdeap+16 +0x1.8ba6b2p+5 +0x1.151648p+4 +0x1.4b29bep+5 +0x1.4fcf9p+7 +0x1.35fee2p+4 +0x1.22e5p+4 +0x1.7ea16ep+12 +0x1.05cf24p+17 +0x1.bd2234p+18 +0x1.2e15e8p+6 +0x1.4a2c5cp+6 +0x1.4d5c3p+6 +0x1.e76a36p+11 +0x1.d5f898p-3 +0x1.78951ep+2 +0x1.edad5p+3 +0x1.05d77cp+17 +0x1.adf4f4p+6 +0x1.e264eap+3 +0x1.69113p+5 +0x1.c236bcp+0 +0x1.71cec4p+1 +0x1.53509ep+6 +0x1.d0913ep+5 +0x1.b5d1bap+3 +0x1.cf7876p+2 +0x1.c6402ep-1 +0x1.6fa3c2p+6 +0x1.71393ep+5 +0x1.ef73c8p+5 +0x1.97b65cp+5 +0x1.5a4706p+6 +0x1.78dafp+1 +0x1.50936ap+3 +0x1.41191ap+5 +0x1.b19658p+5 +0x1.1324b8p+5 +0x1.cdd066p+16 +0x1.6a626ap+3 +0x1.a06278p+6 +0x1.8bf18ep+1 +0x1.a835acp+3 +0x1.a241e6p+3 +0x1.388c3p+4 +0x1.0354a6p+4 +0x1.8f92p+16 +0x1.45b7bap+3 +0x1.55acd8p+5 +0x1.c68f5ep+5 +0x1.12fafp+6 +0x1.33e60ap+5 +0x1.646ed4p+3 +0x1.92e92ap+10 +0x1.53defcp+6 +0x1.a37148p+5 +0x1.3ec938p+6 +0x1.39a626p+6 +0x1.f9f5cp+13 +0x1.480c7ep+5 +0x1.c585ap+1 +0x1.302824p+6 +0x1.5a96bep+6 +0x1.7c0c8ap+1 +0x1.44d7cep+5 +0x1.350452p+5 +0x1.bf8ce8p+5 +0x1.76b41cp+8 +0x1.1d93d4p+6 +0x1.90a58ap+6 +0x1.ecbb7p+16 +0x1.5ebcfep+5 +0x1.b70b92p+4 +0x1.0f872ep-2 +0x1.c571c6p-1 +0x1.1557dp+0 +0x1.fce28ap+4 +0x1.33bd2p+5 +0x1.18c60cp+0 +0x1.fce4bcp+12 +0x1.575e3ep+4 +0x1.c8b4fp+12 +0x1.b7a612p+5 +0x1.fa556ap+17 +0x1.033532p+6 +0x1.02c35cp+6 +0x1.e20bacp+11 +0x1.239e0cp+6 +0x1.7724e2p+1 +0x1.8981cap+11 +0x1.d2ce2cp+5 +0x1.00fd0ep+6 +0x1.a3c4ecp+12 +0x1.ea863cp+5 +0x1.24326p+5 +0x1.76cf12p+6 +0x1.e21994p+17 +0x1.bdf95p+5 +0x1.6dbf7p+5 +0x1.72a1fap+0 +0x1.afd044p+5 +0x1.1c329cp+5 +0x1.4dca6cp-3 +0x1.13428ep+3 +0x1.51347p+5 +0x1.dfdfdp-4 +0x1.6b256p+4 +0x1.5485e2p+11 +0x1.c0c38ep+3 +0x1.14f0d6p+5 +0x1.18c3fcp+2 +0x1.91def4p+5 +0x1.6ae0fp+4 +0x1.ac37e2p+2 +0x1.ca08a8p+3 +0x1.a89bdp+4 +0x1.37dd78p+6 +0x1.5a7f0ap+5 +0x1.0cbedap+3 +0x1.ad8c34p+3 +0x1.2cec7ap+5 +0x1.9c5aaap+12 +0x1.dce4bcp+11 +0x1.063b6p+6 +0x1.5b07b2p+5 +0x1.2b888cp+4 +0x1.86b4e2p+5 +0x1.068652p+5 +0x1.185696p+4 +0x1.1393b6p+5 +0x1.10a696p+14 +0x1.067b4p+3 +0x1.2012c2p+4 +0x1.0f2f86p-1 +0x1.3b92a8p+6 +0x1.888f4ap+2 +0x1.86296ep+5 +0x1.7294f4p+4 +0x1.7789dcp+5 +0x1.065c66p+7 +0x1.9c3c5ap+6 +0x1.2be0d4p+6 +0x1.6c659cp+5 +0x1.a3d596p+0 +0x1.4ce252p+5 +0x1.8275b8p+6 +0x1.701b6ep+15 +0x1.e586e8p+1 +0x1.643daep+5 +0x1.a18a2ap+2 +0x1.0fd4b2p+6 +0x1.8e64c6p+5 +0x1.8e977ap+0 +0x1.c84122p+4 +0x1.ab6caap+1 +0x1.6b353ap+5 +0x1.2e457p+5 +0x1.97bfd6p+5 +0x1.bbc76ap+5 +0x1.ef2bdap+2 +0x1.fb943ep+4 +0x1.330a96p+5 +0x1.525928p+7 +0x1.2c3232p+17 +0x1.c3f16cp+4 +0x1.ba2decp-4 +0x1.71216ep+5 +0x1.f3f3f8p+4 +0x1.f37b44p-4 +0x1.358b7p+8 +0x1.293c2ap+1 +0x1.780098p+4 +0x1.e41ef2p+2 +0x1.39645ap+4 +0x1.3d406ap+2 +0x1.c67784p+3 +0x1.4d68f2p+2 +0x1.9c507p+5 +0x1.131f0cp+6 +0x1.3b3edp+4 +0x1.d294f8p+6 +0x1.1c017p+6 +0x1.fea9dcp+5 +0x1.3e3daap+4 +0x1.295f38p+2 +0x1.8a1aecp+5 +0x1.bd0d12p+4 +0x1.fc7948p+3 +0x1.4d68acp+4 +0x1.842006p+2 +0x1.e3f312p+4 +0x1.51ecb6p+3 +0x1.ef766cp+4 +0x1.09ba6cp+5 +0x1.0a974p+4 +0x1.864194p+4 +0x1.3247f4p+5 +0x1.79e73ep+5 +0x1.059718p+3 +0x1.935c5p+5 +0x1.0e92a6p+2 +0x1.584966p+4 +0x1.5db7f2p+8 +0x1.76861ep+3 +0x1.6d9d7p+4 +0x1.f3149p-1 +0x1.638ad6p+18 +0x1.9c36fep+4 +0x1.8007fcp+17 +0x1.26d5b8p+3 +0x1.db2f3ep+12 +0x1.c514acp+0 +0x1.f31b02p+4 +0x1.ef27eep+4 +0x1.6e1098p+11 +0x1.580f9ap+5 +0x1.c4f776p+4 +0x1.0782ecp+6 +0x1.6ecc32p+13 +0x1.2ba028p+8 +0x1.cbc8a4p+5 +0x1.8b6decp+4 +0x1.e0bd14p+0 +0x1.bca70ap+4 +0x1.6b16dep+5 +0x1.717ce8p+3 +0x1.a5a478p+3 +0x1.0a0bap+5 +0x1.d047b6p+8 +0x1.7662ep+4 +0x1.ec413ep+3 +0x1.0e5872p+5 +0x1.875928p+4 +0x1.68275p+2 +0x1.9a5766p+5 +0x1.f32cacp+5 +0x1.3420c4p+2 +0x1.dad03ep+4 +0x1.bdb916p+5 +0x1.e1355p+4 +0x1.716de2p+5 +0x1.8089a4p+3 +0x1.b7914cp+2 +0x1.045c3ep+5 +0x1.ec34dp+14 +0x1.67235cp+3 +0x1.393b6cp+15 +0x1.c88e9ap+3 +0x1.059b9ep+5 +0x1.4016b4p+1 +0x1.44c748p+5 +0x1.026908p+4 +0x1.51666p+0 +0x1.7fb652p+5 +0x1.9131f4p+0 +0x1.5bd724p+3 +0x1.38918ap+13 +0x1.4aa76ap-1 +0x1.973fd8p+5 +0x1.2118dap+6 +0x1.9e0438p+5 +0x1.41beb4p+5 +0x1.8c6b92p+5 +0x1.af45c8p+5 +0x1.e53946p+5 +0x1.83fa6ap+8 +0x1.532626p+4 +0x1.2885b4p+4 +0x1.a5c4e8p+2 +0x1.f3f18ap+5 +0x1.a27c82p+4 +0x1.584f98p+6 +0x1.d13502p+5 +0x1.d75b32p+1 +0x1.40f826p+5 +0x1.38956ep+3 +0x1.c12672p+5 +0x1.a12bp+1 +0x1.85ce1cp+5 +0x1.d7fbb2p+5 +0x1.c02372p+3 +0x1.adb9bep+6 +0x1.47a45cp+4 +0x1.3f863cp+5 +0x1.66278ep+0 +0x1.3b6f06p+4 +0x1.3c5d8ap+4 +0x1.51bad6p+18 +0x1.18e928p-1 +0x1.2f2eeap+3 +0x1.477e84p+6 +0x1.253be2p+1 +0x1.5f0c62p+0 +0x1.600b9ap+7 +0x1.cfc696p+5 +0x1.3c079ep+3 +0x1.294602p+6 +0x1.6fc0f2p+6 +0x1.84d1a2p+5 +0x1.70cc58p+6 +0x1.eb3af6p+5 +0x1.bd762ep+6 +0x1.78626cp+14 +0x1.31209p+6 +0x1.85a78p+14 +0x1.679464p+5 +0x1.76000cp+5 +0x1.5f4222p-2 +0x1.aa84f2p+16 +0x1.fefefep+16 +0x1.04eff4p+2 +0x1.a7acb4p+4 +0x1.fa73cap+7 +0x1.9541f4p+9 +0x1.e50d2ep+12 +0x1.b07616p+6 +0x1.93f23ap+10 +0x1.1a6828p+5 +0x1.544e7ap+7 +0x1.ba2012p+7 +0x1.452318p+4 +0x1.c38032p+6 +0x1.4d725p+16 +0x1.76cf98p+12 +0x1.daea3cp+5 +0x1.1b275p+5 +0x1.1e8956p+5 +0x1.3c054p+6 +0x1.168d8ep+10 +0x1.6f2768p+4 +0x1.be5634p+13 +0x1.2effa2p+6 +0x1.18cdecp+14 +0x1.1586aap+5 +0x1.b53572p+4 +0x1.6e4fd8p+6 +0x1.88bccep+6 +0x1.ff4396p+5 +0x1.81cadp+3 +0x1.18179ap+6 +0x1.98a6e8p+3 +0x1.120dcap+13 +0x1.8909e2p+6 +0x1.28f678p+15 +0x1.ba70a8p+5 +0x1.23ebecp+3 +0x1.2deee4p+5 +0x1.4a770ap+6 +0x1.56144cp+1 +0x1.f1edb6p+16 +0x1.1326f6p+0 +0x1.bf0212p+4 +0x1.ff79e8p+5 +0x1.c90224p+11 +0x1.6ebfbcp+10 +0x1.c97e18p+8 +0x1.7299ep+5 +0x1.071414p+3 +0x1.6cd72ap+4 +0x1.565dbp+5 +0x1.61fdep+2 +0x1.d75d8p+12 +0x1.6e81cp+13 +0x1.59530ap+3 +0x1.6f9a7cp+5 +0x1.6e6768p+6 +0x1.b18de4p+0 +0x1.fd3884p+9 +0x1.5ff3aap+5 +0x1.04a52p+4 +0x1.7dbe8cp+3 +0x1.065a28p+5 +0x1.0eeaeap-1 +0x1.071a74p+5 +0x1.ade3p+7 +0x1.57ca9p+0 +0x1.010634p+5 +0x1.084358p+6 +0x1.79af94p+3 +0x1.1756f6p+6 +0x1.4e50bap+4 +0x1.767fbep+15 +0x1.66d252p+0 +0x1.5e4c08p+4 +0x1.2569f8p+5 +0x1.4ef416p+4 +0x1.94e292p+5 +0x1.73b1dap+4 +0x1.12df46p+6 +0x1.6fcc7cp+4 +0x1.028014p+3 +0x1.4b0f9p+5 +0x1.4fc30ep-1 +0x1.37fcc8p-3 +0x1.5dfadp+3 +0x1.b8cabcp+8 +0x1.39c322p+7 +0x1.091c16p+5 +0x1.08047ap+1 +0x1.5e520ap+4 +0x1.2eb636p+4 +0x1.297b94p+6 +0x1.99124ep+5 +0x1.8995e4p+5 +0x1.4f995ap+5 +0x1.5074p+7 +0x1.5364dep+6 +0x1.95d1cp+11 +0x1.18adfcp+5 +0x1.828668p+4 +0x1.cb4212p+6 +0x1.8b659ep+5 +0x1.8433d8p+5 +0x1.456256p+6 +0x1.7032f2p+9 +0x1.66bafap+6 +0x1.cda804p+4 +0x1.deaa7cp-4 +0x1.30986cp+2 +0x1.9f15f6p+14 +0x1.743256p+1 +0x1.c4b746p+5 +0x1.c41c6ap+4 +0x1.b175fp-1 +0x1.194b9ep+16 +0x1.97d5cep+5 +0x1.b59bcp+5 +0x1.296742p+4 +0x1.33b818p+5 +0x1.9bea72p+4 +0x1.88f552p+5 +0x1.1d0e52p+0 +0x1.735832p+2 +0x1.a853fp+6 +0x1.924706p+6 +0x1.685846p+4 +0x1.6d941ep+5 +0x1.dc6766p+16 +0x1.02a084p+10 +0x1.b874fap+4 +0x1.618cdp+6 +0x1.205de2p+3 +0x1.ded812p+11 +0x1.e8f98ap+3 +0x1.319288p+15 +0x1.c9344p+6 +0x1.4fbd32p+0 +0x1.04bc3cp+6 +0x1.4f8366p+5 +0x1.b4ded2p+5 +0x1.885bdcp+4 +0x1.0cbcecp+5 +0x1.a8ee96p+4 +0x1.e67378p+5 +0x1.b7bf26p+4 +0x1.08f2aep+2 +0x1.0f5058p+14 +0x1.2c360cp+3 +0x1.91e56p+4 +0x1.1cee88p+5 +0x1.479c32p+9 +0x1.579258p+6 +0x1.e0b47ep+3 +0x1.7463bap+5 +0x1.38421cp+5 +0x1.a185f6p+4 +0x1.f0d998p+2 +0x1.137286p+3 +0x1.56a1e8p+6 +0x1.6d5cfp+1 +0x1.bb1d36p+4 +0x1.9e7238p+2 +0x1.cd1778p+5 +0x1.b7b582p+4 +0x1.3ce3e6p+6 +0x1.426e24p+11 +0x1.ffb236p+13 +0x1.98365ap+4 +0x1.a7429ap+0 +0x1.d7600cp+5 +0x1.958456p+6 +0x1.988676p+5 +0x1.771dd2p+3 +0x1.57bab8p+4 +0x1.37ecfp+2 +0x1.1da502p+5 +0x1.1cbc4cp+7 +0x1.4674aap+16 +0x1.300192p+5 +0x1.1532fcp+1 +0x1.0e62e2p+2 +0x1.e059e2p+4 +0x1.c62764p+5 +0x1.69b718p+5 +0x1.df9c1ap+6 +0x1.835c62p+6 +0x1.83a4bcp+5 +0x1.4cfd3p+16 +0x1.9c2be4p+3 +0x1.11e1b2p+5 +0x1.497b66p+16 +0x1.273306p+10 +0x1.6bfd3ep+2 +0x1.3abcdep+0 +0x1.a36ff8p+7 +0x1.00816cp+6 +0x1.9c24a2p-1 +0x1.07ae9ap+5 +0x1.e043cap+4 +0x1.1c7ebcp+3 +0x1.35627ep+12 +0x1.c5309ep+5 +0x1.3d29fap+6 +0x1.621e3ap+2 +0x1.0d3e98p+11 +0x1.d49dc2p+3 +0x1.5c7722p+3 +0x1.887ap+5 +0x1.fac0d6p+4 +0x1.221ddcp+4 +0x1.0e85fap+5 +0x1.4d70ecp+5 +0x1.098284p+5 +0x1.d042aep-1 +0x1.33fcbap+5 +0x1.64fc3p+6 +0x1.2383a6p+5 +0x1.bc4ba6p+4 +0x1.8d7ffep+2 +0x1.433336p+5 +0x1.65aad4p-1 +0x1.974d4cp+6 +0x1.21a694p+7 +0x1.09ee9p+6 +0x1.8da5e2p+6 +0x1.a53a84p+4 +0x1.2f88c2p+6 +0x1.a794cp+5 +0x1.492ad6p+7 +0x1.c193e2p+3 +0x1.7520acp+4 +0x1.0c38bep+12 +0x1.336138p+1 +0x1.5da286p+4 +0x1.5c3f0cp+5 +0x1.5b2682p+4 +0x1.7d1ee6p+4 +0x1.100e26p+4 +0x1.48bf14p+4 +0x1.76e08ap+3 +0x1.faf66p+5 +0x1.00c63ep+5 +0x1.e1be16p+5 +0x1.282bc8p+2 +0x1.f780fap-1 +0x1.74974ap+3 +0x1.07bd6p+6 +0x1.de8d6ep+4 +0x1.12cf22p+5 +0x1.815c06p+1 +0x1.b8b4bep+6 +0x1.d28abp+5 +0x1.34681cp+5 +0x1.f2776ap+3 +0x1.b54d16p-1 +0x1.4ac1dp+5 +0x1.287de8p+3 +0x1.c306c2p+6 +0x1.a2e314p+2 +0x1.455e6ep+5 +0x1.7a909cp+4 +0x1.5acc4ep+2 +0x1.3ff2eap+5 +0x1.32fd12p+14 +0x1.9a24aep+0 +0x1.f52cdp+3 +0x1.199b7cp+5 +0x1.33e5cep+0 +0x1.f912ap+11 +0x1.c79c6ep+4 +0x1.a3bc74p+4 +0x1.4bfbc2p+13 +0x1.92d11ap+7 +0x1.a11376p+7 +0x1.3d0dd8p+6 +0x1.f8961ep+16 +0x1.360ea2p+10 +0x1.80118p+6 +0x1.38ecc6p+6 +0x1.8b4f9p+3 +0x1.73bbbap+10 +0x1.528172p+13 +0x1.a5600ep+2 +0x1.4601eep+15 +0x1.032c88p+6 +0x1.284fc4p+6 +0x1.22f882p+4 +0x1.2faa22p+16 +0x1.233af6p+5 +0x1.a18d6ap+12 +0x1.35c604p+9 +0x1.7df98cp+7 +0x1.0b498ep+7 +0x1.d0b864p+3 +0x1.2f4f78p+15 +0x1.3e7d54p+3 +0x1.8b42c8p+5 +0x1.84f1a2p+2 +0x1.310048p+8 +0x1.19965ep+5 +0x1.afd6c4p+5 +0x1.0a9726p+6 +0x1.bbfd6p+5 +0x1.40fe8ep+5 +0x1.43010cp+4 +0x1.ea827ap+3 +0x1.a3d5bap+5 +0x1.5e23fcp+6 +0x1.09bf5cp+6 +0x1.c36e9ap+5 +0x1.167a84p+0 +0x1.4bc048p+18 +0x1.e970f6p+16 +0x1.a53496p+1 +0x1.b88fep+3 +0x1.efe79p+4 +0x1.40228cp+5 +0x1.0aef22p+14 +0x1.9d6e72p+6 +0x1.21e83ap+6 +0x1.10770ep+7 +0x1.015c9ap+3 +0x1.6295a2p+5 +0x1.64e30cp+4 +0x1.b18ed8p+5 +0x1.ff2568p+12 +0x1.eec2ap-1 +0x1.25e2b6p+4 +0x1.cfcf6ep-2 +0x1.8d9de4p+12 +0x1.2ac106p+15 +0x1.9ea932p+4 +0x1.f370ccp+5 +0x1.2e72bcp+4 +0x1.b26694p+18 +0x1.7d7266p+18 +0x1.cf22b8p+4 +0x1.e47dbp+2 +0x1.1c7deep+5 +0x1.ac931ep+3 +0x1.3698d2p+2 +0x1.df97a6p+4 +0x1.adec16p+5 +0x1.7ec80cp+5 +0x1.95f1f8p-1 +0x1.2ffd4ap+10 +0x1.e131e2p+5 +0x1.288a04p+2 +0x1.78da1p-5 +0x1.68da42p+3 +0x1.45b868p+3 +0x1.ce7e4cp+5 +0x1.0943f6p+2 +0x1.66858p+5 +0x1.27f88p+15 +0x1.2499fcp+9 +0x1.f621cap+4 +0x1.6262a4p+12 +0x1.799f5ap+16 +0x1.02e32ap+5 +0x1.6efd5ap+2 +0x1.a66614p+5 +0x1.526db2p+2 +0x1.b1efd8p+4 +0x1.f5ba06p+4 +0x1.3bb584p+6 +0x1.29b5dep+18 +0x1.76ca8cp+5 +0x1.a63cbcp-3 +0x1.26bc9cp+4 +0x1.0eaf3ep+13 +0x1.3a5c7ap+17 +0x1.9d5102p+5 +0x1.878b64p+3 +0x1.c7c48ap+1 +0x1.12cc56p+10 +0x1.382746p+6 +0x1.4ebb08p+13 +0x1.c93eaap-1 +0x1.0b5794p+5 +0x1.356e5ap+0 +0x1.65691ap+6 +0x1.dd00bap+5 +0x1.5e8c3ap+1 +0x1.8f8a68p+3 +0x1.5d256ep+7 +0x1.08903ep+6 +0x1.f28a2cp+3 +0x1.0e9b28p+2 +0x1.939adcp+3 +0x1.68ce68p+6 +0x1.d4e74p+5 +0x1.4535dp+5 +0x1.c45122p+5 +0x1.4f74ecp+15 +0x1.4d1b3p+5 +0x1.f15cf6p+12 +0x1.b99884p+14 +0x1.1688c4p+6 +0x1.bd467cp+10 +0x1.555932p+3 +0x1.48bab8p+7 +0x1.991642p+5 +0x1.268e2ap+3 +0x1.8343acp+5 +0x1.056a84p+10 +0x1.d86298p+5 +0x1.41b39ap+5 +0x1.291b34p+3 +0x1.a82f62p+5 +0x1.01f748p+4 +0x1.b2bcd6p+4 +0x1.1d464ap+1 +0x1.4867cap+4 +0x1.8559b2p+10 +0x1.d92eb8p+4 +0x1.f7dfd2p+4 +0x1.485854p+4 +0x1.92cb4ap+5 +0x1.53fac2p+6 +0x1.eab71p+6 +0x1.4ef226p+14 +0x1.3dd3dcp+4 +0x1.8466d4p+5 +0x1.a65992p+6 +0x1.17fbc8p+6 +0x1.141bb2p+5 +0x1.224564p+6 +0x1.7202aep+0 +0x1.1d39e4p+2 +0x1.02d722p+4 +0x1.d3a0fap+11 +0x1.277f5ep+2 +0x1.b23fb4p+4 +0x1.8ae0fep+3 +0x1.b03b3p-1 +0x1.89b79ap+6 +0x1.994e16p+6 +0x1.59beb2p+2 +0x1.7983b2p+5 +0x1.7514d6p+12 +0x1.16724ep+4 +0x1.4ed2cep+5 +0x1.eb46dap+5 +0x1.3db1f2p+5 +0x1.12c4d6p+1 +0x1.6531e4p+3 +0x1.676472p+4 +0x1.f80f14p+4 +0x1.5efc4ap+6 +0x1.dfb82ep+0 +0x1.17a0d4p+0 +0x1.20b962p+7 +0x1.a8257ep+6 +0x1.c07e8cp+6 +0x1.85eb4ap-4 +0x1.6f8a5cp-3 +0x1.f72d16p+5 +0x1.670b52p+6 +0x1.9df70ap+6 +0x1.48cfdep+4 +0x1.3890ccp+1 +0x1.a07a98p+3 +0x1.c7b43p+5 +0x1.0e6094p+6 +0x1.147dbap+10 +0x1.14659ep+4 +0x1.a62698p+5 +0x1.db66bp+5 +0x1.7b4bcap+3 +0x1.8eb94p+4 +0x1.79cfp+15 +0x1.2fbf2ep+6 +0x1.58cb82p+7 +0x1.814c4ap+4 +0x1.c9cc36p+5 +0x1.e7bd5ep+2 +0x1.83850ap+5 +0x1.30692p+5 +0x1.74b006p+5 +0x1.98de4ep+2 +0x1.57a254p+5 +0x1.2b70cp+3 +0x1.92bd98p+2 +0x1.9446f6p+5 +0x1.fbbe58p+5 +0x1.203796p+5 +0x1.91e9c2p+5 +0x1.4299b6p+9 +0x1.0440b8p+7 +0x1.caa52p+5 +0x1.0313eap+5 +0x1.f0d5f4p+4 +0x1.65e462p+12 +0x1.19b952p+5 +0x1.07adep+5 +0x1.15db68p+6 +0x1.6a2dc8p+9 +0x1.5dac34p+5 +0x1.1be262p+6 +0x1.b6c96ep+2 +0x1.62bea2p+4 +0x1.b4c86ap+4 +0x1.850e8cp+5 +0x1.6f7188p-1 +0x1.6e3c42p+5 +0x1.a978f8p+3 +0x1.350106p+14 +0x1.a6aa36p+6 +0x1.616128p+4 +0x1.7de324p+16 +0x1.34debcp+6 +0x1.edfb58p+9 +0x1.b496acp+1 +0x1.0308e4p+5 +0x1.0f4ea2p+6 +0x1.0f9f4cp+3 +0x1.f0aaa4p+12 +0x1.29551p+6 +0x1.2a1be6p+6 +0x1.b53ca8p+5 +0x1.204252p+6 +0x1.d73ac6p+16 +0x1.1762c8p+6 +0x1.6ed0a6p+3 +0x1.286bb6p+4 +0x1.e846eap+15 +0x1.7a589ap+4 +0x1.3ed4bcp+6 +0x1.0cd212p+13 +0x1.828564p+7 +0x1.3a4312p+5 +0x1.2a16cp+2 +0x1.0c7798p+1 +0x1.010e1cp+0 +0x1.1f6252p+2 +0x1.b6c8bcp+5 +0x1.12cc74p+6 +0x1.51aa2p+5 +0x1.9ad7acp+5 +0x1.b96b7cp+3 +0x1.599a22p+4 +0x1.13018cp+12 +0x1.90ad8cp+2 +0x1.f51e64p+1 +0x1.d43852p+5 +0x1.708ae8p+3 +0x1.6d1704p+6 +0x1.32d01ap+17 +0x1.32d54p+4 +0x1.3643dcp+2 +0x1.9bd96ep+1 +0x1.1bfd28p+3 +0x1.8a7beap+18 +0x1.6999b4p+2 +0x1.f42e4ep+4 +0x1.89c716p+13 +0x1.06d47p-1 +0x1.27391cp+6 +0x1.28c98p+14 +0x1.7a59dap+5 +0x1.f2a5f4p+5 +0x1.0c3aa6p+6 +0x1.7b238cp+5 +0x1.15f83cp+2 +0x1.12247ap+0 +0x1.53ce1p+6 +0x1.eb9058p-1 +0x1.f9bafcp+4 +0x1.84c912p+10 +0x1.199c3p+3 +0x1.3aaf14p-1 +0x1.5cdcaep+4 +0x1.99de7ap+0 +0x1.adaed6p+2 +0x1.258116p+7 +0x1.3144dep+0 +0x1.576eb4p+4 +0x1.cf9e6p+5 +0x1.113736p+6 +0x1.0e8e9ap+15 +0x1.319cb2p+5 +0x1.0b5e28p+11 +0x1.1a3bfep+6 +0x1.be5a24p+8 +0x1.5b8abep+19 +0x1.38e1ecp+5 +0x1.fe7332p+3 +0x1.655042p+11 +0x1.8fedeep+4 +0x1.316c08p+3 +0x1.abf7ap+5 +0x1.3134d6p+5 +0x1.24a92ap+5 +0x1.f5302ep+2 +0x1.80bd06p+11 +0x1.4f0e0ap+16 +0x1.806834p+3 +0x1.ac9fbp+6 +0x1.f5aa28p+2 +0x1.16fe72p+5 +0x1.e61842p+4 +0x1.491434p+17 +0x1.3c5ec8p+16 +0x1.f52a6cp+5 +0x1.272cap+5 +0x1.970c36p+13 +0x1.63161ep+8 +0x1.2bedb6p+1 +0x1.1465e2p+9 +0x1.100bf8p+5 +0x1.336368p-2 +0x1.513a7ep+6 +0x1.2ddd7p+4 +0x1.21b25ap+10 +0x1.c8c87p+9 +0x1.353e5p+1 +0x1.753e5p+4 +0x1.11b8eep+5 +0x1.0969aap+14 +0x1.54c134p+9 +0x1.9b4fdcp+3 +0x1.44f6a4p+3 +0x1.800cbp+4 +0x1.29c562p+1 +0x1.209feep+4 +0x1.d05592p+5 +0x1.347f92p+5 +0x1.22eecp+17 +0x1.19b518p+4 +0x1.2f450cp+16 +0x1.07657ep+8 +0x1.640b8ap+7 +0x1.6de7fap+10 +0x1.01df76p+6 +0x1.503938p+5 +0x1.f0d0e2p+4 +0x1.48fb1cp+5 +0x1.e5abdp+6 +0x1.d13dbep+2 +0x1.6b1c54p+12 +0x1.83e84ep+6 +0x1.d86976p+5 +0x1.1dcedep+5 +0x1.83bb2cp+5 +0x1.1a0cc8p+3 +0x1.41d1aap+14 +0x1.8cabbp+4 +0x1.0ab6bcp+4 +0x1.2990e2p+5 +0x1.3b706ap+5 +0x1.9c7e96p+5 +0x1.eeaec8p+4 +0x1.7ea624p+6 +0x1.3d0e18p+3 +0x1.7571b4p+16 +0x1.af0132p+5 +0x1.110094p+14 +0x1.3c596ap+5 +0x1.4d3134p+1 +0x1.33931ap+5 +0x1.6fb5bp+13 +0x1.61dddp+3 +0x1.c0a2p+3 +0x1.7ed22ap+2 +0x1.e51b52p+3 +0x1.94078ep+5 +0x1.be311ep+5 +0x1.980b48p+5 +0x1.a61ec2p+5 +0x1.1880d2p+4 +0x1.2f7508p+13 +0x1.bb18aep+4 +0x1.167c6ap+5 +0x1.80dfdep+5 +0x1.561d1ep+5 +0x1.2489e2p+4 +0x1.117b58p+5 +0x1.2e265ap+5 +0x1.df9dfap+5 +0x1.4f62d8p+6 +0x1.9285ecp+5 +0x1.421888p+2 +0x1.53e3cep+0 +0x1.0a45f6p+4 +0x1.b17128p+4 +0x1.86c39cp+1 +0x1.52e194p+3 +0x1.78ca56p+5 +0x1.4093c8p+5 +0x1.2313bap+15 +0x1.47dd4cp+4 +0x1.64fd5ap+3 +0x1.0d8b72p+4 +0x1.60c566p+4 +0x1.9ea752p+3 +0x1.1a719ap+4 +0x1.3c403ap+7 +0x1.10aee2p+14 +0x1.d8c5a2p+4 +0x1.f018a6p+4 +0x1.6b109ep+6 +0x1.2a459cp+4 +0x1.5a2774p+6 +0x1.606ed4p+5 +0x1.47787p+13 +0x1.686706p+4 +0x1.7aba24p+17 +0x1.039d5ap+5 +0x1.5c4cacp+6 +0x1.d583cap+5 +0x1.571aep+5 +0x1.03b37cp+4 +0x1.72d03cp+13 +0x1.6ac67ap+9 +0x1.2ebbeap+5 +0x1.cc0f58p+2 +0x1.55480cp+4 +0x1.4d9424p+4 +0x1.91c7d2p+6 +0x1.ceb3ecp+5 +0x1.008faep+6 +0x1.814d62p+4 +0x1.74c6e4p+3 +0x1.6df99ep+6 +0x1.315c7ap+4 +0x1.6db018p+5 +0x1.9700e6p+10 +0x1.5275f8p+3 +0x1.2295ap+11 +0x1.b32cfep+5 +0x1.b55f9ap+5 +0x1.41184ep+6 +0x1.bcbd94p+0 +0x1.aeac32p-2 +0x1.b3174cp+11 +0x1.20f02p+5 +0x1.3824a4p+6 +0x1.4cb2aap+8 +0x1.8318bap+6 +0x1.098224p+5 +0x1.84e268p+4 +0x1.19f5b4p+5 +0x1.469724p+16 +0x1.bed53cp+3 +0x1.07b472p+2 +0x1.9939d4p+0 +0x1.5984d6p+6 +0x1.22449ep+6 +0x1.4692ap+2 +0x1.3d40a6p+3 +0x1.27b0d6p+3 +0x1.06af6ep+5 +0x1.0c31bcp+1 +0x1.45a8cep+6 +0x1.651a64p+6 +0x1.b2e348p+0 +0x1.2f4206p+4 +0x1.873936p+5 +0x1.d0921cp+9 +0x1.72b708p+3 +0x1.be69ccp+5 +0x1.cc4cfp+1 +0x1.b1f2d4p+6 +0x1.67d4acp+3 +0x1.55bc7cp+5 +0x1.b3d006p+6 +0x1.26f6bap+4 +0x1.316274p+0 +0x1.7ae894p+4 +0x1.8c8ec8p+6 +0x1.ff41b2p+5 +0x1.6cfe6ap+5 +0x1.48374ep+4 +0x1.7fd932p+1 +0x1.9ed82p+5 +0x1.279ef6p+18 +0x1.80e3fp+5 +0x1.6bb788p+5 +0x1.5fc2e8p+1 +0x1.d4ce4ap+11 +0x1.e83c6ep+8 +0x1.520f2cp-1 +0x1.2cad32p+6 +0x1.d77316p+5 +0x1.c1a104p+0 +0x1.d7372cp+4 +0x1.06e422p+4 +0x1.4e7dfp+5 +0x1.adba3ap+8 +0x1.0f6806p+6 +0x1.b0e4e8p+10 +0x1.3084c6p+5 +0x1.275288p+5 +0x1.0061bap+5 +0x1.67e2bep+2 +0x1.f3dff4p+2 +0x1.9d6172p+4 +0x1.5045fep+10 +0x1.2ece1ap+4 +0x1.0bdabap+6 +0x1.bc31a6p+4 +0x1.0d06e8p+5 +0x1.d3c106p+3 +0x1.5f2a98p+18 +0x1.2a3bb8p+3 +0x1.9281b6p-2 +0x1.d1a63ap+4 +0x1.094202p+5 +0x1.91decp+4 +0x1.69017ep+18 +0x1.51baacp+9 +0x1.0771cp+3 +0x1.e91096p+9 +0x1.d516dcp+14 +0x1.e369f2p+12 +0x1.1f61aep+5 +0x1.36c92ep+4 +0x1.3ccd4cp+7 +0x1.cc8b52p+5 +0x1.13daf2p+5 +0x1.a598d8p+5 +0x1.7ad03p+1 +0x1.458932p+7 +0x1.05fd8ap+1 +0x1.145cc6p+5 +0x1.f8b668p+4 +0x1.9aaa32p+6 +0x1.41e3fcp+4 +0x1.aeb1bcp+4 +0x1.2594bap+6 +0x1.b5244p+4 +0x1.bab4a8p+5 +0x1.dd7c08p+13 +0x1.ce656ap+4 +0x1.536b3p+6 +0x1.5c49ccp+5 +0x1.ce4ed6p+4 +0x1.03e59ap+5 +0x1.265bdap+5 +0x1.965362p+9 +0x1.a79a4ap+5 +0x1.e6c0ap+5 +0x1.f2b544p+5 +0x1.12d152p+6 +0x1.bdc49cp+5 +0x1.069d78p+5 +0x1.4af7e4p+6 +0x1.a4da7ep+4 +0x1.c8fe4cp+6 +0x1.05049p+4 +0x1.0f8298p+5 +0x1.676d1ap+7 +0x1.10d87p+5 +0x1.4f2a5p+9 +0x1.0f3d6p+6 +0x1.c7fa14p+6 +0x1.8db1fep+4 +0x1.3385ap+3 +0x1.78c934p+5 +0x1.f7dc78p-2 +0x1.239392p+3 +0x1.89cb34p+5 +0x1.6872b6p+5 +0x1.b7dd82p+3 +0x1.304986p+11 +0x1.ef362ap+5 +0x1.62f8c6p+4 +0x1.08be72p+6 +0x1.46d104p+5 +0x1.ce7c1p+4 +0x1.9ac1c2p+3 +0x1.b44892p+3 +0x1.d7e152p+4 +0x1.bbaec2p+4 +0x1.6d2af4p+1 +0x1.1fb1b2p+13 +0x1.73db6ap+5 +0x1.79489p+7 +0x1.425494p+5 +0x1.7c573cp+2 +0x1.9843ap+6 +0x1.879446p+4 +0x1.206e68p+3 +0x1.3ce3b2p+16 +0x1.db27dap+5 +0x1.aa9696p+5 +0x1.50f584p+2 +0x1.2dfbe4p+5 +0x1.f65e7cp+3 +0x1.256a8p+4 +0x1.151eb4p+11 +0x1.9761c4p+4 +0x1.657488p+14 +0x1.c3ba44p+0 +0x1.3f57d4p+4 +0x1.e27f52p+3 +0x1.074fd4p+5 +0x1.cdcfd2p+1 +0x1.f388acp+5 +0x1.a3a784p+5 +0x1.9f609ep+5 +0x1.068308p+3 +0x1.017128p+8 +0x1.5f4e24p-1 +0x1.abc55p+6 +0x1.e503aep+4 +0x1.188d7ap+6 +0x1.301134p+6 +0x1.4613f6p+6 +0x1.e493a2p+6 +0x1.f624bep+4 +0x1.89927p+12 +0x1.f124f2p+3 +0x1.053e6ap+3 +0x1.552d06p+5 +0x1.2316a2p+5 +0x1.bfb3ep+5 +0x1.798f6ap+7 +0x1.d7f194p+4 +0x1.812184p+6 +0x1.8ce314p+12 +0x1.2e0dd4p-3 +0x1.2c3b4ap+9 +0x1.18c3ecp+7 +0x1.0b426ep+6 +0x1.5bc4cep+6 +0x1.eff6d6p+5 +0x1.af7d7ap+5 +0x1.be264ep+4 +0x1.eefc2ep+3 +0x1.2333a4p+12 +0x1.1aa968p+3 +0x1.703332p+13 +0x1.98b64p+15 +0x1.81240cp+3 +0x1.cab8p+2 +0x1.bef132p+8 +0x1.11398p+11 +0x1.8b1e8p+5 +0x1.866074p+5 +0x1.3ebf1ap+10 +0x1.761d88p+10 +0x1.3514cp+6 +0x1.f5eacap+4 +0x1.9baa72p+5 +0x1.182bf8p+6 +0x1.0697ap+6 +0x1.faf9b8p+1 +0x1.b0b76p+3 +0x1.01feb4p+6 +0x1.0718d8p+3 +0x1.bd173ep+13 +0x1.d1b022p+4 +0x1.dd683p+4 +0x1.44ef26p+5 +0x1.300166p+3 +0x1.3c9e48p+0 +0x1.b570cep+5 +0x1.818e4cp+5 +0x1.3ef226p+1 +0x1.9ff7e8p+5 +0x1.c623d4p+3 +0x1.321b52p+13 +0x1.c8066cp+3 +0x1.724b82p+13 +0x1.086f58p+5 +0x1.fffb1p+4 +0x1.074abcp+6 +0x1.0c7976p+6 +0x1.8f6cd8p+3 +0x1.e2bf7ap+5 +0x1.f0b35ep+0 +0x1.a0a5fp+6 +0x1.69ab86p+5 +0x1.7db6bep+5 +0x1.59e652p+10 +0x1.1f282ap+6 +0x1.45e5f4p+3 +0x1.0c67cp+5 +0x1.5f2ff6p+3 +0x1.50aeecp+14 +0x1.4b6c22p+6 +0x1.8113ccp+5 +0x1.fd0ba6p+11 +0x1.022ad2p+1 +0x1.56919ap+8 +0x1.37a39ep+6 +0x1.e7f31ap+2 +0x1.37f0ep+1 +0x1.e41e06p+5 +0x1.a2b4ap+10 +0x1.f0fea8p+5 +0x1.9fe0bep+0 +0x1.a8bbp+0 +0x1.c9ffecp+7 +0x1.e4dbc2p+4 +0x1.1fbf7p+6 +0x1.9c0b36p-2 +0x1.a47c5ep+13 +0x1.df22ccp-2 +0x1.4a00c8p+4 +0x1.0d226ap+1 +0x1.9d0dc8p+6 +0x1.e1692cp+3 +0x1.aff2bep+4 +0x1.e2544p-2 +0x1.49f90ap+6 +0x1.3cf876p+6 +0x1.10759ep-3 +0x1.56a2aap+5 +0x1.2e2fep+6 +0x1.5c20b6p+4 +0x1.142b7cp+4 +0x1.8e3504p+5 +0x1.2f8bcep+4 +0x1.3af996p+4 +0x1.8709fp+3 +0x1.cae56ep+5 +0x1.104c6p+2 +0x1.f9bc3cp+3 +0x1.e8c68p+17 +0x1.c0fe94p+2 +0x1.38a07cp+6 +0x1.3bb076p+11 +0x1.e0ac76p+4 +0x1.e85db2p+6 +0x1.b691aap+0 +0x1.6ace24p+5 +0x1.1a3256p+2 +0x1.1437bep+0 +0x1.00ad94p+8 +0x1.71eb5ap+2 +0x1.2a244p+4 +0x1.983698p+6 +0x1.8be5fp+5 +0x1.90b6f4p+5 +0x1.077792p+1 +0x1.1617c2p+6 +0x1.09a348p+6 +0x1.b9771p+15 +0x1.dc123cp+4 +0x1.d92e3cp+6 +0x1.95fb16p+3 +0x1.31c434p+2 +0x1.a90f84p+5 +0x1.5e2a3ap+5 +0x1.dd0d8cp+3 +0x1.d1ec1p+6 +0x1.a2b52p+5 +0x1.2d6cacp+1 +0x1.c67596p+15 +0x1.0c898ap+4 +0x1.56098ep+14 +0x1.0cffdcp+2 +0x1.5d148ap+5 +0x1.1a6d28p+4 +0x1.3cd9dp+6 +0x1.2bd832p+4 +0x1.231e5cp+4 +0x1.7a0d4cp+5 +0x1.414026p+6 +0x1.28326p+9 +0x1.c27d5ap+1 +0x1.3111d6p+6 +0x1.4cfacp+7 +0x1.dbd1d8p+5 +0x1.0edcf6p+4 +0x1.60dceap+5 +0x1.10d91ep+4 +0x1.246404p+3 +0x1.214254p+5 +0x1.064342p+5 +0x1.cf947p+13 +0x1.31d2f2p+1 +0x1.157c4p+7 +0x1.c13202p+12 +0x1.1b79aep+6 +0x1.cd97bp+4 +0x1.e042e8p+5 +0x1.4d7cb4p+1 +0x1.9ff98cp+6 +0x1.ce0524p+1 +0x1.ef56eap+5 +0x1.2464a4p+4 +0x1.9433ccp+6 +0x1.cf958cp+0 +0x1.e287eep+6 +0x1.25354p+5 +0x1.6f678p+4 +0x1.d71882p+4 +0x1.6d577p+17 +0x1.755618p+6 +0x1.483a32p+5 +0x1.8e33dp+4 +0x1.2eac8cp+6 +0x1.2742f4p+3 +0x1.4feec2p+3 +0x1.b37f2cp-1 +0x1.f5922cp+4 +0x1.7d31ep+7 +0x1.87bb94p+6 +0x1.99fddap+5 +0x1.eee8c8p+3 +0x1.d7ffc6p+10 +0x1.f97a1ep+4 +0x1.2a2bbcp+7 +0x1.09dc4ep+5 +0x1.610bfp+2 +0x1.906ff4p+5 +0x1.0b131cp+5 +0x1.1c103ep+5 +0x1.30db9p+3 +0x1.fe8bb4p+5 +0x1.772072p+0 +0x1.e19908p+9 +0x1.25a5bap+3 +0x1.6d7232p+4 +0x1.9463d8p-2 +0x1.0b1128p+6 +0x1.fe1032p+2 +0x1.8bc5d8p+6 +0x1.95b07ep+2 +0x1.91979ep+9 +0x1.36fb6cp+5 +0x1.d08d94p+5 +0x1.0cf618p+2 +0x1.79fe9p+4 +0x1.097264p+5 +0x1.2f2906p+2 +0x1.d79186p+1 +0x1.25c77ep+6 +0x1.0fc6c4p+17 +0x1.6367aep+5 +0x1.ef554ep+5 +0x1.1c1ce8p+6 +0x1.0317e8p+4 +0x1.9f972cp+5 +0x1.17e09ep+0 +0x1.f66aap+5 +0x1.55215ap+3 +0x1.c1616ep+4 +0x1.2b37ecp+5 +0x1.5eedd8p+7 +0x1.da0cb2p+5 +0x1.3f5a26p+4 +0x1.4ba522p+3 +0x1.17cf56p+6 +0x1.b70c98p+3 +0x1.7d09fcp+6 +0x1.530c0ap+3 +0x1.d32bc2p+5 +0x1.90b0fap+5 +0x1.a0fe74p+4 +0x1.f0b512p+5 +0x1.7310bcp+6 +0x1.b71fdap+8 +0x1.01968cp+5 +0x1.5e6004p+3 +0x1.01a47cp+6 +0x1.aa8bc8p+5 +0x1.9e499ep+13 +0x1.de48b2p+4 +0x1.0421cep+0 +0x1.ba11a8p+5 +0x1.816b4ep+2 +0x1.8149b4p+3 +0x1.f100eep+3 +0x1.81663ep+3 +0x1.b55764p+0 +0x1.8d02dcp-1 +0x1.875606p+6 +0x1.34ded8p+5 +0x1.f5ce3cp+1 +0x1.3e836ep+6 +0x1.665a2cp+8 +0x1.a125ep+5 +0x1.01829cp+7 +0x1.701a3cp+4 +0x1.66da94p+4 +0x1.34092ap+7 +0x1.17cddep+2 +0x1.6a9a76p+6 +0x1.9f6672p+5 +0x1.30a26ep+5 +0x1.9fde5p+4 +0x1.1b6bfap+3 +0x1.6f2d16p+4 +0x1.a0596p+4 +0x1.923376p+5 +0x1.300cb2p+5 +0x1.67c1dp+2 +0x1.12838cp+16 +0x1.4f279ap+5 +0x1.87e61p+5 +0x1.8bfb62p+3 +0x1.c70e7cp+5 +0x1.209f3p+16 +0x1.eca7a6p+3 +0x1.9c5ap+1 +0x1.7b8b08p+5 +0x1.7c4fd2p+13 +0x1.0c63fp+5 +0x1.227acap+4 +0x1.c50fb6p+4 +0x1.b91d68p+12 +0x1.c833ccp+1 +0x1.391552p+5 +0x1.f53accp+14 +0x1.0f2168p+4 +0x1.41865p+3 +0x1.d98f66p+4 +0x1.5419b6p+15 +0x1.a5d3cep+4 +0x1.b32b06p+6 +0x1.7aefccp+5 +0x1.3f404cp+6 +0x1.f8f478p+3 +0x1.e1adfp+5 +0x1.0bc57p+6 +0x1.6fed78p+4 +0x1.bbe03ep+4 +0x1.5250ap+6 +0x1.313734p+12 +0x1.d82ba8p+14 +0x1.cee39ep+8 +0x1.ec8e46p+3 +0x1.74991cp+7 +0x1.c2ba2ap+6 +0x1.216c18p+6 +0x1.dfdae2p+3 +0x1.08c358p+8 +0x1.f7f3a2p+1 +0x1.45fb54p+4 +0x1.ad26ep+4 +0x1.01c5bep+4 +0x1.95c1f8p+11 +0x1.5b260ep+5 +0x1.251604p+5 +0x1.3de65p+14 +0x1.89d134p+2 +0x1.2cd12p+11 +0x1.292e16p+6 +0x1.5a8afcp+5 +0x1.81adbap+4 +0x1.c39be2p+5 +0x1.0eaaaep+5 +0x1.3d24c2p+7 +0x1.e21b72p+5 +0x1.1ab832p+5 +0x1.3249ecp+5 +0x1.b38072p+0 +0x1.455ecap+4 +0x1.0dfe7ep+1 +0x1.f7b0b8p+5 +0x1.2ca4cap+5 +0x1.8ca1p+4 +0x1.161b78p+6 +0x1.3b768p+16 +0x1.f88462p+3 +0x1.3896e6p+5 +0x1.fc72b2p+4 +0x1.a0ef4ap+5 +0x1.c265c2p+5 +0x1.15e9fcp+2 +0x1.30952ep+5 +0x1.10a1f8p+5 +0x1.90d878p+4 +0x1.347cap+1 +0x1.1ed17ep+12 +0x1.758feap+1 +0x1.1bde5cp+11 +0x1.5b8b16p+1 +0x1.f4b5eep+5 +0x1.60e366p+4 +0x1.34f25ap+11 +0x1.bd4a42p+2 +0x1.ea89bep+3 +0x1.068648p+5 +0x1.798f8cp+6 +0x1.b01604p+5 +0x1.16d65ep+6 +0x1.0cea5cp+6 +0x1.cb1d2cp-2 +0x1.4f7b6cp+3 +0x1.7dfd16p+14 +0x1.54e6e6p+5 +0x1.85fa2cp+4 +0x1.06b256p+5 +0x1.d02fdep+7 +0x1.8424dap+5 +0x1.7bce16p+3 +0x1.6ff9a8p+5 +0x1.898914p+4 +0x1.4a40b8p+12 +0x1.ff26aap+6 +0x1.030c12p+6 +0x1.1037d6p+5 +0x1.c57beap+5 +0x1.253baap+4 +0x1.58b2b8p+13 +0x1.0e9b82p+5 +0x1.03c96p-1 +0x1.43c5f6p+3 +0x1.337bap+6 +0x1.38dfdap+0 +0x1.357898p+8 +0x1.8ad37cp+3 +0x1.c22ed2p+3 +0x1.7c228ep+5 +0x1.aaa7ap+9 +0x1.fc877ap+10 +0x1.33a62ap+14 +0x1.22c02cp+2 +0x1.a46054p+4 +0x1.37d672p+6 +0x1.1099f6p+4 +0x1.28d88ep+6 +0x1.3889f4p+6 +0x1.f988a2p+4 +0x1.cfc324p+5 +0x1.ed1cb4p+3 +0x1.e1109p+1 +0x1.3f4b7p+5 +0x1.5ab35ap+6 +0x1.7117dcp+5 +0x1.a99678p+5 +0x1.308aaap+3 +0x1.153b2ep+17 +0x1.8f9788p+18 +0x1.002ed2p-1 +0x1.a0a244p+6 +0x1.5a8c0ep+6 +0x1.7f11e6p+5 +0x1.ee212ep+4 +0x1.384a62p+6 +0x1.250174p+2 +0x1.6912e2p+5 +0x1.242262p+7 +0x1.e81dcp+2 +0x1.846e82p+5 +0x1.fe86c4p+14 +0x1.445c7cp+3 +0x1.6c808p+6 +0x1.efa9f2p+1 +0x1.4589c4p+3 +0x1.380ceap+4 +0x1.83cf5ep+0 +0x1.4038b8p+5 +0x1.bca3eep+9 +0x1.04e192p+4 +0x1.df032ap+3 +0x1.f2671p+4 +0x1.49138ap+4 +0x1.061dcap+6 +0x1.c57688p+10 +0x1.24de3ep+6 +0x1.f9c148p+10 +0x1.d3d2fap+5 +0x1.aa15b2p+5 +0x1.383476p+5 +0x1.239056p+6 +0x1.c3e03p+15 +0x1.598938p+8 +0x1.72d91p+6 +0x1.e2b316p+6 +0x1.1f7a02p+6 +0x1.a1b884p+2 +0x1.c42ecep+3 +0x1.2351e6p+11 +0x1.25ed0ep+4 +0x1.bfc202p+3 +0x1.bcd718p+4 +0x1.7fa522p+17 +0x1.8c3ab4p+2 +0x1.17fc42p+7 +0x1.04b126p+1 +0x1.606086p+11 +0x1.516a8ep+11 +0x1.49cf92p+5 +0x1.22d6b2p+3 +0x1.b129cp+5 +0x1.7bbb6cp+5 +0x1.c4aff8p+12 +0x1.3be682p+6 +0x1.760254p+5 +0x1.93dff4p+4 +0x1.52e45cp+6 +0x1.9faa3p+10 +0x1.e9a7aap-2 +0x1.0e2a8cp+2 +0x1.5e431cp+6 +0x1.731984p+4 +0x1.52004ap+5 +0x1.194d24p+5 +0x1.6e344ep+2 +0x1.1bd48cp+8 +0x1.ce0786p+5 +0x1.bd2f32p+4 +0x1.7b3b1cp+6 +0x1.470468p+5 +0x1.028deap+17 +0x1.33f904p+3 +0x1.724946p+5 +0x1.aa26c2p+5 +0x1.2263acp+1 +0x1.9ecb28p+4 +0x1.02dcb4p+3 +0x1.027308p+4 +0x1.d3962p-3 +0x1.3d17dep+1 +0x1.0ed5c4p+5 +0x1.f35846p+14 +0x1.7f005cp+3 +0x1.92bc7cp+4 +0x1.5da4c4p+11 +0x1.18912p+4 +0x1.8657ccp+3 +0x1.289a1ap+7 +0x1.53c32ep+2 +0x1.0ee94cp+4 +0x1.e9dc4cp+8 +0x1.f8b68cp+4 +0x1.bdef38p+0 +0x1.1b19e6p+6 +0x1.335546p+6 +0x1.99d0b4p+0 +0x1.af2d8ep+6 +0x1.008988p+6 +0x1.52ba96p+5 +0x1.663c2cp+6 +0x1.4ac7eep+5 +0x1.b47f2cp+9 +0x1.b4f04ep+5 +0x1.1e9ca4p+3 +0x1.2fec94p+5 +0x1.18c2eep+14 +0x1.7bf5fap+4 +0x1.33b6e2p+5 +0x1.2a42d6p+2 +0x1.8669c6p+3 +0x1.d2a152p+5 +0x1.19b222p+2 +0x1.f8885ap+2 +0x1.39a1c4p+7 +0x1.bd1b42p+5 +0x1.32d0e2p+19 +0x1.40641ep+4 +0x1.ff75fep+1 +0x1.b356dep+2 +0x1.04486ap+4 +0x1.282ec2p+4 +0x1.063f6cp+11 +0x1.37132ep+5 +0x1.0d4a3cp+16 +0x1.614e6ep+6 +0x1.321c7ep+9 +0x1.29767p+6 +0x1.f525e6p+12 +0x1.374912p+8 +0x1.cec1b8p+3 +0x1.a543eap+4 +0x1.ec44e6p+4 +0x1.dbd052p+4 +0x1.8f5f0ep+3 +0x1.7cdc7ap+1 +0x1.620cf6p+5 +0x1.271c5ap-3 +0x1.010a6ep+6 +0x1.1b51c2p+5 +0x1.651726p+5 +0x1.f16716p-3 +0x1.d7fef8p+4 +0x1.3c6afp+5 +0x1.4aebf8p+5 +0x1.5813f8p+4 +0x1.c83cap+1 +0x1.8475fep+6 +0x1.6aec82p+4 +0x1.2332bcp+5 +0x1.0ac8e8p+5 +0x1.44b4d4p+5 +0x1.bb992p+4 +0x1.527fccp+6 +0x1.d7946ep+5 +0x1.4976b4p+5 +0x1.d2afcep+2 +0x1.f31972p+14 +0x1.42804ap+5 +0x1.ddfeep+4 +0x1.05993ep+4 +0x1.fd9ac2p+5 +0x1.c5af34p+2 +0x1.73c196p+6 +0x1.fe1ed2p+4 +0x1.71fb3cp+7 +0x1.2aa318p+6 +0x1.6d5dacp+17 +0x1.01f858p+6 +0x1.d1be44p+0 +0x1.bf94a6p-1 +0x1.b14e1ep+5 +0x1.632c68p+5 +0x1.f3e808p+4 +0x1.756418p+5 +0x1.7fa774p+5 +0x1.86107p+3 +0x1.77ec92p-3 +0x1.907c24p+3 +0x1.dfd1fcp+3 +0x1.64101p+3 +0x1.2e96d4p-3 +0x1.a5e164p+5 +0x1.32618ap+8 +0x1.2af1d2p+15 +0x1.2d57bp+6 +0x1.d7c9fap+1 +0x1.078644p+4 +0x1.041f1ap+3 +0x1.82923p+17 +0x1.05edfap+1 +0x1.1a08cap+6 +0x1.f39c38p+4 +0x1.d9713ep+5 +0x1.18dd18p+18 +0x1.153f82p+6 +0x1.d06862p+14 +0x1.22fdaep-1 +0x1.8a7302p+1 +0x1.10d584p+2 +0x1.25648ap+6 +0x1.27131ap+6 +0x1.9c0712p-1 +0x1.5d5e2ep+8 +0x1.1bb1eep+12 +0x1.314e64p+0 +0x1.aaec48p+11 +0x1.10d03ap+5 +0x1.171446p+5 +0x1.413daap+13 +0x1.0cd382p+0 +0x1.3e4568p+4 +0x1.c0ef26p+5 +0x1.404492p+4 +0x1.b1780ep+5 +0x1.5b849ep+5 +0x1.6baa0ap+4 +0x1.8b874p+6 +0x1.d8ecbep+3 +0x1.3ccba8p+5 +0x1.ad791cp+4 +0x1.437792p+11 +0x1.18d06ep+5 +0x1.a863c8p+1 +0x1.d3505ep+1 +0x1.806e6cp+4 +0x1.87e8p+5 +0x1.d698bap+5 +0x1.ada94ap+5 +0x1.9f6cfcp+4 +0x1.e435c6p+4 +0x1.55f29p+6 +0x1.6a65bep+4 +0x1.6ffb9ap+4 +0x1.0df874p+1 +0x1.53715ep+3 +0x1.0ca648p+5 +0x1.dd8de6p-2 +0x1.d0b0ap+5 +0x1.1f2bb6p+5 +0x1.d53582p+3 +0x1.073c24p+4 +0x1.23f86ep+5 +0x1.d37b34p+2 +0x1.c2909cp+2 +0x1.90945p+3 +0x1.b9aa68p+2 +0x1.2bc86ep+6 +0x1.188d28p+5 +0x1.7509acp+17 +0x1.529c16p+5 +0x1.4e423cp+6 +0x1.7ac322p+6 +0x1.129e86p+6 +0x1.f9db4cp+4 +0x1.46862ep+5 +0x1.59cdb2p+6 +0x1.2a9fc4p+9 +0x1.4a7988p+10 +0x1.13dd7p+5 +0x1.6df376p+5 +0x1.415cc8p+6 +0x1.2071f2p+6 +0x1.0446c8p+4 +0x1.3517e2p+1 +0x1.62feaap+4 +0x1.9c7616p+16 +0x1.0c5b8cp+1 +0x1.f3aa5ap+0 +0x1.328c6ep+18 +0x1.8e9876p+4 +0x1.3dfa2ep+5 +0x1.c68096p+3 +0x1.572aa2p+5 +0x1.e93d96p+5 +0x1.2f53b6p+10 +0x1.3cca2ap+6 +0x1.25bd2p+6 +0x1.1a4032p+5 +0x1.3e19dap+17 +0x1.d5fd0ap+3 +0x1.894d2cp+16 +0x1.596056p+5 +0x1.88cb1cp+5 +0x1.9efbd2p+5 +0x1.449e12p+4 +0x1.885e24p+5 +0x1.1825f6p+10 +0x1.4b994cp+6 From patchwork Wed Nov 24 19:38:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48092 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B25163858435 for ; Wed, 24 Nov 2021 20:08:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B25163858435 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637784530; bh=tlh9BQuaGeVCU9bkryH5knX58piyo4MnznCEViVgvP0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=EykY8OmW6fPoX0vZm/gpob7OWf/2x+YUsh4v0jwh5oqZZaOKjCOMmMyQn55wNCb48 GTjuHqlg2MNbVxSiOBD8C0+3fFlUjkmv3B2GV9iIAUxvFUjO/OrBp2hxwCwHhAzB2J JBSj/rYhHlH7R8qLqHRb5+XUZRo7GIKHmrFZg+Kw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id 6BD043857C75 for ; Wed, 24 Nov 2021 19:38:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6BD043857C75 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="296164773" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="296164773" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="457590310" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga006.jf.intel.com with ESMTP; 24 Nov 2021 11:38:14 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XO021555; Wed, 24 Nov 2021 11:38:14 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 37/42] x86-64: Add vector sinh/sinhf implementation to libmvec Date: Wed, 24 Nov 2021 11:38:02 -0800 Message-Id: <20211124193807.2093208-38-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H2, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized sinh/sinhf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector sinh/sinhf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_sinh2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_sinh2_core.c | 27 + .../fpu/multiarch/svml_d_sinh2_core_sse4.S | 3028 +++++++++++++++++ .../fpu/multiarch/svml_d_sinh4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_sinh4_core.c | 27 + .../fpu/multiarch/svml_d_sinh4_core_avx2.S | 2701 +++++++++++++++ .../fpu/multiarch/svml_d_sinh8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_sinh8_core.c | 27 + .../fpu/multiarch/svml_d_sinh8_core_avx512.S | 2025 +++++++++++ .../fpu/multiarch/svml_s_sinhf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_sinhf16_core.c | 28 + .../multiarch/svml_s_sinhf16_core_avx512.S | 1420 ++++++++ .../fpu/multiarch/svml_s_sinhf4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_sinhf4_core.c | 28 + .../fpu/multiarch/svml_s_sinhf4_core_sse4.S | 2238 ++++++++++++ .../fpu/multiarch/svml_s_sinhf8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_sinhf8_core.c | 28 + .../fpu/multiarch/svml_s_sinhf8_core_avx2.S | 1958 +++++++++++ sysdeps/x86_64/fpu/svml_d_sinh2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_sinh4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_sinh4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_sinh8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_sinhf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_sinhf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_sinhf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_sinhf8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-sinh-avx.c | 1 + .../fpu/test-double-libmvec-sinh-avx2.c | 1 + .../fpu/test-double-libmvec-sinh-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-sinh.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-sinhf-avx.c | 1 + .../fpu/test-float-libmvec-sinhf-avx2.c | 1 + .../fpu/test-float-libmvec-sinhf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-sinhf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 13938 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_sinh2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_sinh4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_sinh4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_sinh8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_sinhf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_sinhf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_sinhf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_sinhf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-sinh.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-sinhf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 728864ac0d..9ed3c17389 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -296,4 +296,15 @@ #define __DECL_SIMD_log2f32x #define __DECL_SIMD_log2f64x #define __DECL_SIMD_log2f128x + +#define __DECL_SIMD_sinh +#define __DECL_SIMD_sinhf +#define __DECL_SIMD_sinhl +#define __DECL_SIMD_sinhf16 +#define __DECL_SIMD_sinhf32 +#define __DECL_SIMD_sinhf64 +#define __DECL_SIMD_sinhf128 +#define __DECL_SIMD_sinhf32x +#define __DECL_SIMD_sinhf64x +#define __DECL_SIMD_sinhf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 5db493d938..cb733b3773 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -70,7 +70,7 @@ __MATHCALL (tan,, (_Mdouble_ __x)); /* Hyperbolic cosine of X. */ __MATHCALL_VEC (cosh,, (_Mdouble_ __x)); /* Hyperbolic sine of X. */ -__MATHCALL (sinh,, (_Mdouble_ __x)); +__MATHCALL_VEC (sinh,, (_Mdouble_ __x)); /* Hyperbolic tangent of X. */ __MATHCALL (tanh,, (_Mdouble_ __x)); diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index c3b83b6de0..19f5e2edf2 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -62,6 +62,7 @@ GLIBC_2.35 _ZGVbN2v_expm1 F GLIBC_2.35 _ZGVbN2v_log10 F GLIBC_2.35 _ZGVbN2v_log1p F GLIBC_2.35 _ZGVbN2v_log2 F +GLIBC_2.35 _ZGVbN2v_sinh F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN2vv_hypot F GLIBC_2.35 _ZGVbN4v_acosf F @@ -80,6 +81,7 @@ GLIBC_2.35 _ZGVbN4v_expm1f F GLIBC_2.35 _ZGVbN4v_log10f F GLIBC_2.35 _ZGVbN4v_log1pf F GLIBC_2.35 _ZGVbN4v_log2f F +GLIBC_2.35 _ZGVbN4v_sinhf F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVbN4vv_hypotf F GLIBC_2.35 _ZGVcN4v_acos F @@ -98,6 +100,7 @@ GLIBC_2.35 _ZGVcN4v_expm1 F GLIBC_2.35 _ZGVcN4v_log10 F GLIBC_2.35 _ZGVcN4v_log1p F GLIBC_2.35 _ZGVcN4v_log2 F +GLIBC_2.35 _ZGVcN4v_sinh F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN4vv_hypot F GLIBC_2.35 _ZGVcN8v_acosf F @@ -116,6 +119,7 @@ GLIBC_2.35 _ZGVcN8v_expm1f F GLIBC_2.35 _ZGVcN8v_log10f F GLIBC_2.35 _ZGVcN8v_log1pf F GLIBC_2.35 _ZGVcN8v_log2f F +GLIBC_2.35 _ZGVcN8v_sinhf F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVcN8vv_hypotf F GLIBC_2.35 _ZGVdN4v_acos F @@ -134,6 +138,7 @@ GLIBC_2.35 _ZGVdN4v_expm1 F GLIBC_2.35 _ZGVdN4v_log10 F GLIBC_2.35 _ZGVdN4v_log1p F GLIBC_2.35 _ZGVdN4v_log2 F +GLIBC_2.35 _ZGVdN4v_sinh F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN4vv_hypot F GLIBC_2.35 _ZGVdN8v_acosf F @@ -152,6 +157,7 @@ GLIBC_2.35 _ZGVdN8v_expm1f F GLIBC_2.35 _ZGVdN8v_log10f F GLIBC_2.35 _ZGVdN8v_log1pf F GLIBC_2.35 _ZGVdN8v_log2f F +GLIBC_2.35 _ZGVdN8v_sinhf F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVdN8vv_hypotf F GLIBC_2.35 _ZGVeN16v_acosf F @@ -170,6 +176,7 @@ GLIBC_2.35 _ZGVeN16v_expm1f F GLIBC_2.35 _ZGVeN16v_log10f F GLIBC_2.35 _ZGVeN16v_log1pf F GLIBC_2.35 _ZGVeN16v_log2f F +GLIBC_2.35 _ZGVeN16v_sinhf F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN16vv_hypotf F GLIBC_2.35 _ZGVeN8v_acos F @@ -188,5 +195,6 @@ GLIBC_2.35 _ZGVeN8v_expm1 F GLIBC_2.35 _ZGVeN8v_log10 F GLIBC_2.35 _ZGVeN8v_log1p F GLIBC_2.35 _ZGVeN8v_log2 F +GLIBC_2.35 _ZGVeN8v_sinh F GLIBC_2.35 _ZGVeN8vv_atan2 F GLIBC_2.35 _ZGVeN8vv_hypot F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index 613e9c94b9..3fab52e942 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -130,6 +130,10 @@ # define __DECL_SIMD_log2 __DECL_SIMD_x86_64 # undef __DECL_SIMD_log2f # define __DECL_SIMD_log2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinh +# define __DECL_SIMD_sinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinhf +# define __DECL_SIMD_sinhf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 814c48d0d7..13b1acb46c 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -46,6 +46,7 @@ libmvec-funcs = \ pow \ sin \ sincos \ + sinh \ # Define libmvec function for benchtests directory. libmvec-bench-funcs = \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index d1625d07de..626142bd6b 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -30,6 +30,7 @@ libmvec { _ZGVbN2v_log10; _ZGVcN4v_log10; _ZGVdN4v_log10; _ZGVeN8v_log10; _ZGVbN2v_log1p; _ZGVcN4v_log1p; _ZGVdN4v_log1p; _ZGVeN8v_log1p; _ZGVbN2v_log2; _ZGVcN4v_log2; _ZGVdN4v_log2; _ZGVeN8v_log2; + _ZGVbN2v_sinh; _ZGVcN4v_sinh; _ZGVdN4v_sinh; _ZGVeN8v_sinh; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN2vv_hypot; _ZGVcN4vv_hypot; _ZGVdN4vv_hypot; _ZGVeN8vv_hypot; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; @@ -48,6 +49,7 @@ libmvec { _ZGVbN4v_log10f; _ZGVcN8v_log10f; _ZGVdN8v_log10f; _ZGVeN16v_log10f; _ZGVbN4v_log1pf; _ZGVcN8v_log1pf; _ZGVdN8v_log1pf; _ZGVeN16v_log1pf; _ZGVbN4v_log2f; _ZGVcN8v_log2f; _ZGVdN8v_log2f; _ZGVeN16v_log2f; + _ZGVbN4v_sinhf; _ZGVcN8v_sinhf; _ZGVdN8v_sinhf; _ZGVeN16v_sinhf; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; _ZGVbN4vv_hypotf; _ZGVcN8vv_hypotf; _ZGVdN8vv_hypotf; _ZGVeN16vv_hypotf; } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 0df9130e8d..67126a5c2b 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -2037,6 +2037,26 @@ float: 3 float128: 4 ldouble: 5 +Function: "sinh_vlen16": +float: 1 + +Function: "sinh_vlen2": +double: 1 + +Function: "sinh_vlen4": +double: 1 +float: 1 + +Function: "sinh_vlen4_avx2": +double: 1 + +Function: "sinh_vlen8": +double: 1 +float: 1 + +Function: "sinh_vlen8_avx2": +float: 1 + Function: "tan": float: 1 float128: 1 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core-sse2.S new file mode 100644 index 0000000000..ca12ad6678 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized sinh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_sinh _ZGVbN2v_sinh_sse2 +#include "../svml_d_sinh2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core.c new file mode 100644 index 0000000000..c0344b2902 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized sinh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_sinh +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_sinh, __GI__ZGVbN2v_sinh, __redirect__ZGVbN2v_sinh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core_sse4.S new file mode 100644 index 0000000000..3fe8728ee0 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core_sse4.S @@ -0,0 +1,3028 @@ +/* Function sinh vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute sinh(x) as (exp(x)-exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * sinh(NaN) = quiet NaN, and raise invalid exception + * sinh(INF) = that INF + * sinh(x) = x for subnormals + * sinh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_sinh_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + movaps %xmm0, %xmm3 + +/* Abs argument */ + movups 1408+__svml_dsinh_data_internal(%rip), %xmm0 + lea 1608+__svml_dsinh_data_internal(%rip), %r8 + andps %xmm3, %xmm0 + movaps %xmm0, %xmm4 + +/* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + movups 1216+__svml_dsinh_data_internal(%rip), %xmm1 + pxor %xmm3, %xmm4 + mulpd %xmm4, %xmm1 + movups %xmm15, 144(%rsp) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movups 3648+__svml_dsinh_data_internal(%rip), %xmm15 + addpd %xmm15, %xmm1 + +/* + * R + * dN = dM - RShifter + */ + movaps %xmm1, %xmm2 + subpd %xmm15, %xmm2 + +/* VLOAD_CONST( D, dPC[0], TAB._dPC1 ); */ + movq 3712+__svml_dsinh_data_internal(%rip), %xmm6 + +/* + * Check for overflow\underflow + * + */ + pshufd $221, %xmm4, %xmm5 + pcmpgtd %xmm6, %xmm5 + +/* dR = dX - dN*Log2_hi/2^K */ + movups 1280+__svml_dsinh_data_internal(%rip), %xmm6 + mulpd %xmm2, %xmm6 + movmskps %xmm5, %edx + +/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ + movups 1344+__svml_dsinh_data_internal(%rip), %xmm15 + +/* + * Index and lookup + * j + */ + movups 4224+__svml_dsinh_data_internal(%rip), %xmm7 + mulpd %xmm2, %xmm15 + subpd %xmm6, %xmm4 + subpd %xmm15, %xmm4 + +/* dR2 = dR^2 */ + movaps %xmm4, %xmm2 + andps %xmm1, %xmm7 + mulpd %xmm4, %xmm2 + movd %xmm7, %eax + +/* split j and N */ + pxor %xmm7, %xmm1 + +/* + * G1,G2,G3: dTdif,dTn * 2^N,2^(-N) + * lM now is an EXP(2^N) + */ + psllq $45, %xmm1 + pextrw $4, %xmm7, %ecx + shll $4, %eax + +/* */ + movaps %xmm1, %xmm15 + shll $4, %ecx + movq (%rax,%r8), %xmm5 + movq -8(%rax,%r8), %xmm6 + movhpd (%rcx,%r8), %xmm5 + movhpd -8(%rcx,%r8), %xmm6 + paddq %xmm1, %xmm6 + paddq %xmm5, %xmm15 + +/* */ + psubq %xmm1, %xmm5 + +/* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) .... + * dSinh_r = (a3+r^2*a5) + */ + movups 4032+__svml_dsinh_data_internal(%rip), %xmm1 + +/* dG3 = dTn*2^N + dTn*2^-N */ + movdqa %xmm15, %xmm7 + mulpd %xmm2, %xmm1 + addpd %xmm5, %xmm7 + addpd 3904+__svml_dsinh_data_internal(%rip), %xmm1 + +/* dG2 = dTn*2^N - dTn*2^-N */ + subpd %xmm5, %xmm15 + +/* dSinh_r = r^2*(a3+r^2*a5) */ + mulpd %xmm2, %xmm1 + +/* dG2 += dG1 */ + addpd %xmm6, %xmm15 + +/* dG1 += dG3 */ + addpd %xmm7, %xmm6 + +/* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + mulpd %xmm4, %xmm1 + +/* + * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2) + * dOut = (a2 +a4*dR2) + */ + movups 3968+__svml_dsinh_data_internal(%rip), %xmm5 + mulpd %xmm2, %xmm5 + addpd %xmm1, %xmm4 + addpd 3840+__svml_dsinh_data_internal(%rip), %xmm5 + +/* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + mulpd %xmm6, %xmm4 + +/* dOut = dR2*(a2 +a4*dR2) */ + mulpd %xmm5, %xmm2 + +/* dOut = dG2*dR2*(a2 +a4*dR2) */ + mulpd %xmm15, %xmm2 + addpd %xmm4, %xmm2 + +/* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + addpd %xmm2, %xmm15 + +/* Ret H */ + orps %xmm15, %xmm0 + andl $3, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 144(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm3, 192(%rsp) + movups %xmm0, 256(%rsp) + je .LBL_1_2 + xorl %eax, %eax + movups %xmm8, 96(%rsp) + movups %xmm9, 80(%rsp) + movups %xmm10, 64(%rsp) + movups %xmm11, 48(%rsp) + movups %xmm12, 32(%rsp) + movups %xmm13, 16(%rsp) + movups %xmm14, (%rsp) + movq %rsi, 120(%rsp) + movq %rdi, 112(%rsp) + movq %r12, 136(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 128(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movups 96(%rsp), %xmm8 + cfi_restore(25) + movups 80(%rsp), %xmm9 + cfi_restore(26) + movups 64(%rsp), %xmm10 + cfi_restore(27) + movups 48(%rsp), %xmm11 + cfi_restore(28) + movups 32(%rsp), %xmm12 + cfi_restore(29) + movups 16(%rsp), %xmm13 + cfi_restore(30) + movups (%rsp), %xmm14 + cfi_restore(31) + movq 120(%rsp), %rsi + cfi_restore(4) + movq 112(%rsp), %rdi + cfi_restore(5) + movq 136(%rsp), %r12 + cfi_restore(12) + movq 128(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x38, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,8), %rdi + lea 256(%rsp,%r12,8), %rsi + call __svml_dsinh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN2v_sinh_sse4) + + .align 16,0x90 + +__svml_dsinh_cout_rare_internal: + + cfi_startproc + + movq %rsi, %r9 + movzwl 6(%rdi), %ecx + xorl %eax, %eax + andl $32752, %ecx + shrl $4, %ecx + movsd (%rdi), %xmm2 + movb 7(%rdi), %dl + movsd %xmm2, -8(%rsp) + cmpl $2047, %ecx + je .LBL_2_17 + testl %ecx, %ecx + jle .LBL_2_16 + andb $127, %dl + movsd %xmm2, -32(%rsp) + movb %dl, -25(%rsp) + cmpl $969, %ecx + jle .LBL_2_14 + movsd -32(%rsp), %xmm0 + movsd 1136+__dsinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_13 + movsd 1184+__dsinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_9 + comisd 1176+__dsinh_la_CoutTab(%rip), %xmm0 + jb .LBL_2_8 + movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1 + lea __dsinh_la_CoutTab(%rip), %rcx + mulsd %xmm0, %xmm1 + movsd 1144+__dsinh_la_CoutTab(%rip), %xmm4 + movq 8+__dsinh_la_CoutTab(%rip), %r10 + movq %r10, %rsi + shrq $48, %rsi + addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -40(%rsp) + andl $-32753, %esi + movsd -40(%rsp), %xmm10 + movl -40(%rsp), %r8d + movl %r8d, %r11d + shrl $6, %r11d + andl $63, %r8d + movq %r10, -16(%rsp) + subsd 1120+__dsinh_la_CoutTab(%rip), %xmm10 + mulsd %xmm10, %xmm4 + lea 1023(%r11), %edi + xorps .FLT_98(%rip), %xmm10 + addl $1022, %r11d + mulsd 1152+__dsinh_la_CoutTab(%rip), %xmm10 + subsd %xmm4, %xmm0 + movaps %xmm10, %xmm2 + movaps %xmm0, %xmm8 + andl $2047, %r11d + lea (%r8,%r8), %edx + negl %edi + lea 1(%r8,%r8), %r8d + movsd (%rcx,%rdx,8), %xmm9 + negl %edx + shll $4, %r11d + addl $-4, %edi + orl %r11d, %esi + andl $2047, %edi + movw %si, -10(%rsp) + andl $-32753, %esi + shll $4, %edi + addsd %xmm0, %xmm2 + movsd %xmm2, -24(%rsp) + orl %edi, %esi + movsd -24(%rsp), %xmm6 + movsd 1128+__dsinh_la_CoutTab(%rip), %xmm2 + subsd %xmm6, %xmm8 + movsd %xmm8, -56(%rsp) + movsd -24(%rsp), %xmm12 + movsd -56(%rsp), %xmm11 + movsd (%rcx,%r8,8), %xmm7 + addsd %xmm11, %xmm12 + movsd %xmm12, -48(%rsp) + movsd -56(%rsp), %xmm5 + addsd %xmm5, %xmm10 + movsd -16(%rsp), %xmm5 + mulsd %xmm5, %xmm9 + mulsd %xmm5, %xmm7 + movsd %xmm10, -56(%rsp) + movaps %xmm9, %xmm10 + movsd -48(%rsp), %xmm13 + movw %si, -10(%rsp) + lea 128(%rdx), %esi + movsd -16(%rsp), %xmm14 + addl $129, %edx + subsd %xmm13, %xmm0 + movsd %xmm0, -48(%rsp) + movsd -56(%rsp), %xmm1 + movsd -48(%rsp), %xmm15 + addsd %xmm15, %xmm1 + movsd %xmm1, -48(%rsp) + movsd -24(%rsp), %xmm4 + mulsd %xmm4, %xmm2 + movaps %xmm4, %xmm3 + mulsd %xmm4, %xmm3 + movsd -48(%rsp), %xmm1 + movaps %xmm4, %xmm0 + movsd %xmm2, -24(%rsp) + movsd -24(%rsp), %xmm6 + movsd 1064+__dsinh_la_CoutTab(%rip), %xmm2 + subsd %xmm4, %xmm6 + mulsd %xmm3, %xmm2 + movsd %xmm6, -56(%rsp) + movsd -24(%rsp), %xmm11 + movsd -56(%rsp), %xmm8 + subsd %xmm8, %xmm11 + addsd 1048+__dsinh_la_CoutTab(%rip), %xmm2 + movsd %xmm11, -24(%rsp) + movsd 1072+__dsinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm3, %xmm11 + mulsd %xmm3, %xmm2 + addsd 1056+__dsinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm4, %xmm2 + mulsd %xmm3, %xmm11 + movsd -24(%rsp), %xmm12 + addsd 1040+__dsinh_la_CoutTab(%rip), %xmm11 + subsd %xmm12, %xmm0 + mulsd %xmm3, %xmm11 + movsd (%rcx,%rsi,8), %xmm3 + movaps %xmm9, %xmm12 + mulsd %xmm14, %xmm3 + movsd %xmm0, -56(%rsp) + subsd %xmm3, %xmm10 + movsd -24(%rsp), %xmm8 + movsd -56(%rsp), %xmm6 + movsd %xmm10, -24(%rsp) + movsd -24(%rsp), %xmm13 + movsd (%rcx,%rdx,8), %xmm0 + subsd %xmm13, %xmm12 + mulsd %xmm14, %xmm0 + subsd %xmm3, %xmm12 + movsd %xmm12, -56(%rsp) + movsd -24(%rsp), %xmm14 + movsd -56(%rsp), %xmm12 + movaps %xmm14, %xmm5 + movb -1(%rsp), %cl + addsd %xmm7, %xmm12 + addsd %xmm0, %xmm7 + subsd %xmm0, %xmm12 + andb $-128, %cl + addsd %xmm12, %xmm5 + movsd %xmm5, -24(%rsp) + movaps %xmm9, %xmm5 + movsd -24(%rsp), %xmm15 + addsd %xmm3, %xmm5 + subsd %xmm15, %xmm14 + addsd %xmm14, %xmm12 + movsd %xmm12, -56(%rsp) + movsd -24(%rsp), %xmm10 + movsd -56(%rsp), %xmm12 + movsd %xmm5, -24(%rsp) + movsd -24(%rsp), %xmm13 + subsd %xmm13, %xmm9 + addsd %xmm9, %xmm3 + movsd %xmm3, -56(%rsp) + movsd -24(%rsp), %xmm3 + movsd -56(%rsp), %xmm5 + addsd %xmm7, %xmm5 + movaps %xmm3, %xmm7 + addsd %xmm5, %xmm7 + movsd %xmm7, -24(%rsp) + movsd -24(%rsp), %xmm9 + movsd 1128+__dsinh_la_CoutTab(%rip), %xmm7 + subsd %xmm9, %xmm3 + addsd %xmm3, %xmm5 + movsd %xmm5, -56(%rsp) + movsd -24(%rsp), %xmm0 + mulsd %xmm0, %xmm7 + movsd -56(%rsp), %xmm3 + movsd %xmm7, -24(%rsp) + movaps %xmm0, %xmm7 + movsd -24(%rsp), %xmm14 + mulsd %xmm3, %xmm4 + subsd %xmm0, %xmm14 + movsd %xmm14, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm9 + subsd %xmm9, %xmm13 + movsd %xmm13, -24(%rsp) + movaps %xmm0, %xmm13 + movsd -24(%rsp), %xmm15 + mulsd %xmm2, %xmm13 + subsd %xmm15, %xmm7 + mulsd %xmm1, %xmm0 + mulsd %xmm3, %xmm1 + mulsd %xmm3, %xmm2 + movaps %xmm10, %xmm15 + movaps %xmm13, %xmm5 + mulsd %xmm11, %xmm15 + mulsd %xmm12, %xmm11 + addsd %xmm15, %xmm5 + addsd %xmm12, %xmm11 + movsd %xmm7, -56(%rsp) + addsd %xmm0, %xmm11 + movsd -24(%rsp), %xmm9 + addsd %xmm1, %xmm11 + movsd -56(%rsp), %xmm7 + addsd %xmm2, %xmm11 + movsd %xmm5, -24(%rsp) + addsd %xmm4, %xmm11 + movsd -24(%rsp), %xmm14 + subsd %xmm14, %xmm13 + addsd %xmm13, %xmm15 + movsd %xmm15, -56(%rsp) + movaps %xmm8, %xmm15 + mulsd %xmm9, %xmm15 + mulsd %xmm6, %xmm9 + mulsd %xmm7, %xmm6 + mulsd %xmm7, %xmm8 + movsd -24(%rsp), %xmm14 + movaps %xmm15, %xmm13 + movsd -56(%rsp), %xmm5 + addsd %xmm14, %xmm13 + addsd %xmm9, %xmm5 + movsd %xmm13, -24(%rsp) + addsd %xmm6, %xmm5 + movsd -24(%rsp), %xmm13 + addsd %xmm8, %xmm5 + subsd %xmm13, %xmm15 + addsd %xmm5, %xmm11 + addsd %xmm15, %xmm14 + movsd %xmm14, -56(%rsp) + movaps %xmm10, %xmm15 + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm14 + addsd %xmm13, %xmm15 + addsd %xmm14, %xmm11 + movsd %xmm15, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm10 + addsd %xmm10, %xmm13 + movsd %xmm13, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm10 + addsd %xmm10, %xmm11 + addsd %xmm11, %xmm13 + movsd %xmm13, -32(%rsp) + movb -25(%rsp), %dil + andb $127, %dil + orb %cl, %dil + movb %dil, -25(%rsp) + movq -32(%rsp), %r10 + movq %r10, (%r9) + ret + +.LBL_2_8: + movaps %xmm0, %xmm2 + mulsd %xmm0, %xmm2 + movsd 1104+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + movb -1(%rsp), %dl + andb $-128, %dl + addsd 1096+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1088+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1080+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm1, %xmm2 + mulsd %xmm0, %xmm2 + addsd %xmm2, %xmm0 + movsd %xmm0, -32(%rsp) + movb -25(%rsp), %cl + andb $127, %cl + orb %dl, %cl + movb %cl, -25(%rsp) + movq -32(%rsp), %rsi + movq %rsi, (%r9) + ret + +.LBL_2_9: + movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1 + lea __dsinh_la_CoutTab(%rip), %r8 + mulsd %xmm0, %xmm1 + movsd 1144+__dsinh_la_CoutTab(%rip), %xmm2 + movsd 1152+__dsinh_la_CoutTab(%rip), %xmm3 + movq 8+__dsinh_la_CoutTab(%rip), %rdx + movq %rdx, -16(%rsp) + addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm4 + movsd 1072+__dsinh_la_CoutTab(%rip), %xmm1 + movl -40(%rsp), %edx + movl %edx, %esi + andl $63, %esi + subsd 1120+__dsinh_la_CoutTab(%rip), %xmm4 + mulsd %xmm4, %xmm2 + lea (%rsi,%rsi), %ecx + mulsd %xmm3, %xmm4 + subsd %xmm2, %xmm0 + movsd (%r8,%rcx,8), %xmm5 + lea 1(%rsi,%rsi), %edi + shrl $6, %edx + subsd %xmm4, %xmm0 + mulsd %xmm0, %xmm1 + addl $1022, %edx + andl $2047, %edx + addsd 1064+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1056+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1048+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1040+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + addsd %xmm0, %xmm1 + mulsd %xmm5, %xmm1 + addsd (%r8,%rdi,8), %xmm1 + addsd %xmm5, %xmm1 + cmpl $2046, %edx + ja .LBL_2_11 + movq 8+__dsinh_la_CoutTab(%rip), %rcx + shrq $48, %rcx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm0, %xmm1 + movsd %xmm1, -32(%rsp) + jmp .LBL_2_12 + +.LBL_2_11: + decl %edx + andl $2047, %edx + movzwl -10(%rsp), %ecx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm0, %xmm1 + mulsd 1024+__dsinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -32(%rsp) + +.LBL_2_12: + movb -25(%rsp), %cl + movb -1(%rsp), %dl + andb $127, %cl + andb $-128, %dl + orb %dl, %cl + movb %cl, -25(%rsp) + movq -32(%rsp), %rsi + movq %rsi, (%r9) + ret + +.LBL_2_13: + movsd 1168+__dsinh_la_CoutTab(%rip), %xmm0 + movl $3, %eax + mulsd %xmm2, %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_14: + movsd __dsinh_la_CoutTab(%rip), %xmm0 + addsd 1160+__dsinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm2, %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_16: + movsd 1160+__dsinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm0, %xmm2 + movsd %xmm2, -24(%rsp) + movsd -24(%rsp), %xmm1 + movq 8+__dsinh_la_CoutTab(%rip), %rdx + movq %rdx, -16(%rsp) + addsd -8(%rsp), %xmm1 + movsd %xmm1, (%r9) + ret + +.LBL_2_17: + addsd %xmm2, %xmm2 + movsd %xmm2, (%r9) + ret + + cfi_endproc + + .type __svml_dsinh_cout_rare_internal,@function + .size __svml_dsinh_cout_rare_internal,.-__svml_dsinh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dsinh_data_internal: + .long 0 + .long 1071644672 + .long 1828292879 + .long 1071691096 + .long 1014845819 + .long 1071739576 + .long 1853186616 + .long 1071790202 + .long 171030293 + .long 1071843070 + .long 1276261410 + .long 1071898278 + .long 3577096743 + .long 1071955930 + .long 3712504873 + .long 1072016135 + .long 1719614413 + .long 1072079006 + .long 1944781191 + .long 1072144660 + .long 1110089947 + .long 1072213221 + .long 2191782032 + .long 1072284817 + .long 2572866477 + .long 1072359583 + .long 3716502172 + .long 1072437659 + .long 3707479175 + .long 1072519192 + .long 2728693978 + .long 1072604335 + .long 0 + .long 0 + .long 1255956747 + .long 1015588398 + .long 3117910646 + .long 3161559105 + .long 3066496371 + .long 1015656574 + .long 3526460132 + .long 1014428778 + .long 300981948 + .long 1014684169 + .long 2951496418 + .long 1013793687 + .long 88491949 + .long 1015427660 + .long 330458198 + .long 3163282740 + .long 3993278767 + .long 3161724279 + .long 1451641639 + .long 1015474673 + .long 2960257726 + .long 1013742662 + .long 878562433 + .long 1015521741 + .long 2303740125 + .long 1014042725 + .long 3613079303 + .long 1014164738 + .long 396109971 + .long 3163462691 + .long 0 + .long 1071644672 + .long 2728693978 + .long 1071555759 + .long 3707479175 + .long 1071470616 + .long 3716502172 + .long 1071389083 + .long 2572866477 + .long 1071311007 + .long 2191782032 + .long 1071236241 + .long 1110089947 + .long 1071164645 + .long 1944781191 + .long 1071096084 + .long 1719614413 + .long 1071030430 + .long 3712504873 + .long 1070967559 + .long 3577096743 + .long 1070907354 + .long 1276261410 + .long 1070849702 + .long 171030293 + .long 1070794494 + .long 1853186616 + .long 1070741626 + .long 1014845819 + .long 1070691000 + .long 1828292879 + .long 1070642520 + .long 0 + .long 0 + .long 396109971 + .long 3162414115 + .long 3613079303 + .long 1013116162 + .long 2303740125 + .long 1012994149 + .long 878562433 + .long 1014473165 + .long 2960257726 + .long 1012694086 + .long 1451641639 + .long 1014426097 + .long 3993278767 + .long 3160675703 + .long 330458198 + .long 3162234164 + .long 88491949 + .long 1014379084 + .long 2951496418 + .long 1012745111 + .long 300981948 + .long 1013635593 + .long 3526460132 + .long 1013380202 + .long 3066496371 + .long 1014607998 + .long 3117910646 + .long 3160510529 + .long 1255956747 + .long 1014539822 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 15 + .long 0 + .long 15 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 1071644672 + .long 431824500 + .long 1064709706 + .long 730821105 + .long 1071633346 + .long 1779301686 + .long 1065758303 + .long 2174652632 + .long 1071622081 + .long 872681311 + .long 1066443490 + .long 2912730644 + .long 1071610877 + .long 2882296449 + .long 1066806964 + .long 1533953344 + .long 1071599734 + .long 3305321028 + .long 1067170481 + .long 929806999 + .long 1071588651 + .long 340716357 + .long 1067492210 + .long 3999357479 + .long 1071577627 + .long 1073477808 + .long 1067674027 + .long 764307441 + .long 1071566664 + .long 3128166954 + .long 1067855881 + .long 2728693978 + .long 1071555759 + .long 3639221082 + .long 1068037778 + .long 4224142467 + .long 1071544913 + .long 4041415279 + .long 1068219723 + .long 3884662774 + .long 1071534126 + .long 1480599658 + .long 1068401722 + .long 351641897 + .long 1071523398 + .long 2997120266 + .long 1068541361 + .long 863738719 + .long 1071512727 + .long 928693471 + .long 1068632422 + .long 4076975200 + .long 1071502113 + .long 1708958952 + .long 1068723517 + .long 64696965 + .long 1071491558 + .long 3926287402 + .long 1068814649 + .long 382305176 + .long 1071481059 + .long 1878784442 + .long 1068905822 + .long 3707479175 + .long 1071470616 + .long 2754496392 + .long 1068997037 + .long 135105010 + .long 1071460231 + .long 861943228 + .long 1069088298 + .long 1242007932 + .long 1071449901 + .long 3400259254 + .long 1069179606 + .long 1432208378 + .long 1071439627 + .long 394759087 + .long 1069270966 + .long 3706687593 + .long 1071429408 + .long 3351980561 + .long 1069362378 + .long 2483480501 + .long 1071419245 + .long 2310349189 + .long 1069453847 + .long 777507147 + .long 1071409137 + .long 200254151 + .long 1069545375 + .long 1610600570 + .long 1071399083 + .long 4274709417 + .long 1069592241 + .long 3716502172 + .long 1071389083 + .long 2266782956 + .long 1069638068 + .long 1540824585 + .long 1071379138 + .long 1995599824 + .long 1069683928 + .long 2420883922 + .long 1071369246 + .long 647201135 + .long 1069729823 + .long 815859274 + .long 1071359408 + .long 4001939191 + .long 1069775753 + .long 4076559943 + .long 1071349622 + .long 664843213 + .long 1069821722 + .long 2380618042 + .long 1071339890 + .long 720494647 + .long 1069867729 + .long 3092190715 + .long 1071330210 + .long 1373458573 + .long 1069913776 + .long 697153126 + .long 1071320583 + .long 4128322810 + .long 1069959864 + .long 2572866477 + .long 1071311007 + .long 1904966097 + .long 1070005996 + .long 3218338682 + .long 1071301483 + .long 513564799 + .long 1070052172 + .long 1434058175 + .long 1071292011 + .long 1474894098 + .long 1070098393 + .long 321958744 + .long 1071282590 + .long 2020498546 + .long 1070144661 + .long 2990417245 + .long 1071273219 + .long 3682797359 + .long 1070190977 + .long 3964284211 + .long 1071263899 + .long 3705320722 + .long 1070237343 + .long 2069751141 + .long 1071254630 + .long 3632815436 + .long 1070283760 + .long 434316067 + .long 1071245411 + .long 721481577 + .long 1070330230 + .long 2191782032 + .long 1071236241 + .long 824045819 + .long 1070376753 + .long 1892288442 + .long 1071227121 + .long 1210063881 + .long 1070423331 + .long 2682146384 + .long 1071218050 + .long 3450994238 + .long 1070469965 + .long 3418903055 + .long 1071209028 + .long 535468266 + .long 1070516658 + .long 2966275557 + .long 1071200055 + .long 2639266259 + .long 1070563409 + .long 194117574 + .long 1071191131 + .long 3530359402 + .long 1070603158 + .long 2568320822 + .long 1071182254 + .long 3405407025 + .long 1070626595 + .long 380978316 + .long 1071173426 + .long 1749136243 + .long 1070650064 + .long 1110089947 + .long 1071164645 + .long 1517376385 + .long 1070673565 + .long 3649726105 + .long 1071155911 + .long 1375061601 + .long 1070697099 + .long 2604962541 + .long 1071147225 + .long 4286252247 + .long 1070720666 + .long 1176749997 + .long 1071138586 + .long 334352625 + .long 1070744269 + .long 2571947539 + .long 1071129993 + .long 1081936396 + .long 1070767906 + .long 1413356050 + .long 1071121447 + .long 916128083 + .long 1070791579 + .long 919555682 + .long 1071112947 + .long 2818494152 + .long 1070815288 + .long 19972402 + .long 1071104493 + .long 1185261260 + .long 1070839035 + .long 1944781191 + .long 1071096084 + .long 3302240303 + .long 1070862819 + .long 1339972927 + .long 1071087721 + .long 3575110344 + .long 1070886642 + .long 1447192521 + .long 1071079403 + .long 709375646 + .long 1070910505 + .long 1218806132 + .long 1071071130 + .long 2005420950 + .long 1070934407 + .long 3907805044 + .long 1071062901 + .long 1883763132 + .long 1070958350 + .long 4182873220 + .long 1071054717 + .long 3359975962 + .long 1070982334 + .long 1013258799 + .long 1071046578 + .long 864909351 + .long 1071006361 + .long 1963711167 + .long 1071038482 + .long 1719614413 + .long 1071030430 + .long 1719614413 + .long 1071030430 + .long 365628427 + .long 1071054543 + .long 3561793907 + .long 1071022421 + .long 4134867513 + .long 1071078699 + .long 2186617381 + .long 1071014456 + .long 3184944616 + .long 1071102901 + .long 885834528 + .long 1071006534 + .long 564029795 + .long 1071127149 + .long 2956612997 + .long 1070998654 + .long 3621005023 + .long 1071151442 + .long 3111574537 + .long 1070990817 + .long 2530717257 + .long 1071175783 + .long 363667784 + .long 1070983023 + .long 358839240 + .long 1071200172 + .long 2321106615 + .long 1070975270 + .long 177057508 + .long 1071224609 + .long 3712504873 + .long 1070967559 + .long 768195176 + .long 1071249095 + .long 3566716925 + .long 1070959890 + .long 921269482 + .long 1071273631 + .long 917841882 + .long 1070952263 + .long 3726549525 + .long 1071298217 + .long 3395129871 + .long 1070944676 + .long 3690744995 + .long 1071322855 + .long 1453150082 + .long 1070937131 + .long 3916966168 + .long 1071347545 + .long 2731501122 + .long 1070929626 + .long 3219913010 + .long 1071372288 + .long 1990012071 + .long 1070922162 + .long 420933669 + .long 1071397085 + .long 2583551245 + .long 1070914738 + .long 2938050448 + .long 1071421935 + .long 3577096743 + .long 1070907354 + .long 1016247609 + .long 1071446841 + .long 4040676318 + .long 1070900010 + .long 2087301532 + .long 1071471802 + .long 3049340112 + .long 1070892706 + .long 705101620 + .long 1071496820 + .long 3978100823 + .long 1070885441 + .long 20578973 + .long 1071521895 + .long 1617004845 + .long 1070878216 + .long 3191864199 + .long 1071547027 + .long 3645941911 + .long 1070871029 + .long 499478133 + .long 1071572219 + .long 569847338 + .long 1070863882 + .long 3706163032 + .long 1071597469 + .long 78413852 + .long 1070856773 + .long 3107302654 + .long 1071622780 + .long 1276261410 + .long 1070849702 + .long 945376945 + .long 1071646412 + .long 3272845541 + .long 1070842669 + .long 3773502825 + .long 1071659128 + .long 887463927 + .long 1070835675 + .long 3049734401 + .long 1071671876 + .long 1829099622 + .long 1070828718 + .long 379637879 + .long 1071684656 + .long 926591435 + .long 1070821799 + .long 1667720032 + .long 1071697467 + .long 1603444721 + .long 1070814917 + .long 4232573504 + .long 1071710310 + .long 2992903935 + .long 1070808072 + .long 1101891425 + .long 1071723187 + .long 4232894513 + .long 1070801264 + .long 2487351331 + .long 1071736096 + .long 171030293 + .long 1070794494 + .long 1424924347 + .long 1071749039 + .long 2839424854 + .long 1070787759 + .long 3839693941 + .long 1071762015 + .long 2799960843 + .long 1070781061 + .long 2776099954 + .long 1071775026 + .long 3504003472 + .long 1070774399 + .long 4167790294 + .long 1071788071 + .long 4112506593 + .long 1070767773 + .long 1067865225 + .long 1071801152 + .long 3790955393 + .long 1070761183 + .long 3713696612 + .long 1071814267 + .long 1709341917 + .long 1070754629 + .long 872270569 + .long 1071827419 + .long 1337108031 + .long 1070748110 + .long 2789908864 + .long 1071840606 + .long 1853186616 + .long 1070741626 + .long 2537611823 + .long 1071853830 + .long 2440944790 + .long 1070735177 + .long 1780910816 + .long 1071867091 + .long 2288159958 + .long 1070728763 + .long 2189982503 + .long 1071880389 + .long 586995997 + .long 1070722384 + .long 1144730516 + .long 1071893725 + .long 828946858 + .long 1070716039 + .long 324769168 + .long 1071907099 + .long 2214878420 + .long 1070709728 + .long 1414505409 + .long 1071920511 + .long 3949972341 + .long 1070703451 + .long 1808220925 + .long 1071933962 + .long 948735466 + .long 1070697209 + .long 3200056266 + .long 1071947452 + .long 1014845819 + .long 1070691000 + .long 2994125935 + .long 1071960982 + .long 3366293073 + .long 1070684824 + .long 2894502806 + .long 1071974552 + .long 2930322912 + .long 1070678682 + .long 315333498 + .long 1071988163 + .long 3228316108 + .long 1070672573 + .long 1265790390 + .long 1072001814 + .long 3490863953 + .long 1070666497 + .long 3170252699 + .long 1072015506 + .long 2952712987 + .long 1070660454 + .long 3458291493 + .long 1072029240 + .long 852742562 + .long 1070654444 + .long 3859687560 + .long 1072043016 + .long 728909815 + .long 1070648466 + .long 1814547538 + .long 1072056835 + .long 1828292879 + .long 1070642520 + .long 3358256687 + .long 1072070696 + .long 3402036099 + .long 1070636606 + .long 1646693443 + .long 1072084601 + .long 410360776 + .long 1070630725 + .long 2726084392 + .long 1072098549 + .long 702412510 + .long 1070624875 + .long 4058219142 + .long 1072112541 + .long 3541402996 + .long 1070619056 + .long 3110436433 + .long 1072126578 + .long 3899555717 + .long 1070613269 + .long 1650643112 + .long 1072140660 + .long 1048019041 + .long 1070607514 + .long 1452398678 + .long 1072154787 + .long 2851812149 + .long 1070601789 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 65472 + .long 0 + .long 65472 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 127 + .long 0 + .long 127 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dsinh_data_internal,@object + .size __svml_dsinh_data_internal,4288 + .space 320, 0x00 + .align 32 + +__dsinh_la_CoutTab: + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 1048019041 + .long 1072704666 + .long 1398474845 + .long 3161559171 + .long 3541402996 + .long 1072716208 + .long 2759177317 + .long 1015903202 + .long 410360776 + .long 1072727877 + .long 1269990655 + .long 1013024446 + .long 1828292879 + .long 1072739672 + .long 1255956747 + .long 1016636974 + .long 852742562 + .long 1072751596 + .long 667253587 + .long 1010842135 + .long 3490863953 + .long 1072763649 + .long 960797498 + .long 3163997456 + .long 2930322912 + .long 1072775834 + .long 2599499422 + .long 3163762623 + .long 1014845819 + .long 1072788152 + .long 3117910646 + .long 3162607681 + .long 3949972341 + .long 1072800603 + .long 2068408548 + .long 1015962444 + .long 828946858 + .long 1072813191 + .long 10642492 + .long 1016988014 + .long 2288159958 + .long 1072825915 + .long 2169144469 + .long 1015924597 + .long 1853186616 + .long 1072838778 + .long 3066496371 + .long 1016705150 + .long 1709341917 + .long 1072851781 + .long 2571168217 + .long 1015201075 + .long 4112506593 + .long 1072864925 + .long 2947355221 + .long 1015419624 + .long 2799960843 + .long 1072878213 + .long 1423655381 + .long 1016070727 + .long 171030293 + .long 1072891646 + .long 3526460132 + .long 1015477354 + .long 2992903935 + .long 1072905224 + .long 2218154406 + .long 1016276769 + .long 926591435 + .long 1072918951 + .long 3208833762 + .long 3163962090 + .long 887463927 + .long 1072932827 + .long 3596744163 + .long 3161842742 + .long 1276261410 + .long 1072946854 + .long 300981948 + .long 1015732745 + .long 569847338 + .long 1072961034 + .long 472945272 + .long 3160339305 + .long 1617004845 + .long 1072975368 + .long 82804944 + .long 1011391354 + .long 3049340112 + .long 1072989858 + .long 3062915824 + .long 1014219171 + .long 3577096743 + .long 1073004506 + .long 2951496418 + .long 1014842263 + .long 1990012071 + .long 1073019314 + .long 3529070563 + .long 3163861769 + .long 1453150082 + .long 1073034283 + .long 498154669 + .long 3162536638 + .long 917841882 + .long 1073049415 + .long 18715565 + .long 1016707884 + .long 3712504873 + .long 1073064711 + .long 88491949 + .long 1016476236 + .long 363667784 + .long 1073080175 + .long 813753950 + .long 1016833785 + .long 2956612997 + .long 1073095806 + .long 2118169751 + .long 3163784129 + .long 2186617381 + .long 1073111608 + .long 2270764084 + .long 3164321289 + .long 1719614413 + .long 1073127582 + .long 330458198 + .long 3164331316 + .long 1013258799 + .long 1073143730 + .long 1748797611 + .long 3161177658 + .long 3907805044 + .long 1073160053 + .long 2257091225 + .long 3162598983 + .long 1447192521 + .long 1073176555 + .long 1462857171 + .long 3163563097 + .long 1944781191 + .long 1073193236 + .long 3993278767 + .long 3162772855 + .long 919555682 + .long 1073210099 + .long 3121969534 + .long 1013996802 + .long 2571947539 + .long 1073227145 + .long 3558159064 + .long 3164425245 + .long 2604962541 + .long 1073244377 + .long 2614425274 + .long 3164587768 + .long 1110089947 + .long 1073261797 + .long 1451641639 + .long 1016523249 + .long 2568320822 + .long 1073279406 + .long 2732824428 + .long 1015401491 + .long 2966275557 + .long 1073297207 + .long 2176155324 + .long 3160891335 + .long 2682146384 + .long 1073315202 + .long 2082178513 + .long 3164411995 + .long 2191782032 + .long 1073333393 + .long 2960257726 + .long 1014791238 + .long 2069751141 + .long 1073351782 + .long 1562170675 + .long 3163773257 + .long 2990417245 + .long 1073370371 + .long 3683467745 + .long 3164417902 + .long 1434058175 + .long 1073389163 + .long 251133233 + .long 1016134345 + .long 2572866477 + .long 1073408159 + .long 878562433 + .long 1016570317 + .long 3092190715 + .long 1073427362 + .long 814012168 + .long 3160571998 + .long 4076559943 + .long 1073446774 + .long 2119478331 + .long 3161806927 + .long 2420883922 + .long 1073466398 + .long 2049810052 + .long 1015168464 + .long 3716502172 + .long 1073486235 + .long 2303740125 + .long 1015091301 + .long 777507147 + .long 1073506289 + .long 4282924205 + .long 1016236109 + .long 3706687593 + .long 1073526560 + .long 3521726939 + .long 1014301643 + .long 1242007932 + .long 1073547053 + .long 1132034716 + .long 3164388407 + .long 3707479175 + .long 1073567768 + .long 3613079303 + .long 1015213314 + .long 64696965 + .long 1073588710 + .long 1768797490 + .long 1016865536 + .long 863738719 + .long 1073609879 + .long 1326992220 + .long 3163661773 + .long 3884662774 + .long 1073631278 + .long 2158611599 + .long 1015258761 + .long 2728693978 + .long 1073652911 + .long 396109971 + .long 3164511267 + .long 3999357479 + .long 1073674779 + .long 2258941616 + .long 1016973300 + .long 1533953344 + .long 1073696886 + .long 769171851 + .long 1016714209 + .long 2174652632 + .long 1073719233 + .long 4087714590 + .long 1015498835 + .long 0 + .long 1073741824 + .long 0 + .long 0 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 1431655765 + .long 1069897045 + .long 286331153 + .long 1065423121 + .long 436314138 + .long 1059717536 + .long 2773927732 + .long 1053236707 + .long 1697350398 + .long 1079448903 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 2411329662 + .long 1082536910 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1 + .long 1048576 + .long 4294967295 + .long 2146435071 + .long 3671843104 + .long 1067178892 + .long 3875694624 + .long 1077247184 + .type __dsinh_la_CoutTab,@object + .size __dsinh_la_CoutTab,1192 + .space 8, 0x00 + .align 16 + +.FLT_98: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_98,@object + .size .FLT_98,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core-sse.S new file mode 100644 index 0000000000..ae531575fe --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized sinh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_sinh _ZGVdN4v_sinh_sse_wrapper +#include "../svml_d_sinh4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core.c new file mode 100644 index 0000000000..bdf10b664b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized sinh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_sinh +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_sinh, __GI__ZGVdN4v_sinh, __redirect__ZGVdN4v_sinh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core_avx2.S new file mode 100644 index 0000000000..947881601b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core_avx2.S @@ -0,0 +1,2701 @@ +/* Function sinh vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute sinh(x) as (exp(x)-exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * sinh(NaN) = quiet NaN, and raise invalid exception + * sinh(INF) = that INF + * sinh(x) = x for subnormals + * sinh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_sinh_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea 1608+__svml_dsinh_data_internal(%rip), %rcx + vmovups %ymm9, 96(%rsp) + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + vmovupd 3648+__svml_dsinh_data_internal(%rip), %ymm9 + +/* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + vmovupd 1216+__svml_dsinh_data_internal(%rip), %ymm5 + vmovups %ymm8, 32(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm14, 288(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovapd %ymm0, %ymm8 + +/* + * VLOAD_CONST( D, dPC[0], TAB._dPC1 ); + * Abs argument + */ + vandpd 1408+__svml_dsinh_data_internal(%rip), %ymm8, %ymm7 + vxorpd %ymm8, %ymm7, %ymm6 + vfmadd213pd %ymm9, %ymm6, %ymm5 + +/* + * Index and lookup + * j + */ + vandps 4224+__svml_dsinh_data_internal(%rip), %ymm5, %ymm4 + +/* + * Check for overflow\underflow + * + */ + vextractf128 $1, %ymm6, %xmm1 + vshufps $221, %xmm1, %xmm6, %xmm2 + vpcmpgtd 3712+__svml_dsinh_data_internal(%rip), %xmm2, %xmm3 + vmovmskps %xmm3, %r8d + +/* + * R + * dN = dM - RShifter + */ + vsubpd %ymm9, %ymm5, %ymm3 + +/* dR = dX - dN*Log2_hi/2^K */ + vfnmadd231pd 1280+__svml_dsinh_data_internal(%rip), %ymm3, %ymm6 + +/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ + vfnmadd231pd 1344+__svml_dsinh_data_internal(%rip), %ymm3, %ymm6 + vextractf128 $1, %ymm4, %xmm12 + vmovd %xmm4, %edx + vmovd %xmm12, %r9d + shll $4, %edx + vpextrd $2, %xmm4, %eax + shll $4, %r9d + vpextrd $2, %xmm12, %r10d + shll $4, %eax + shll $4, %r10d + vmovq -8(%rdx,%rcx), %xmm15 + vmovq -8(%r9,%rcx), %xmm1 + vmovhpd -8(%rax,%rcx), %xmm15, %xmm0 + vmovq (%rdx,%rcx), %xmm10 + vmovhpd -8(%r10,%rcx), %xmm1, %xmm9 + vmovhpd (%rax,%rcx), %xmm10, %xmm11 + +/* dR2 = dR^2 */ + vmulpd %ymm6, %ymm6, %ymm1 + vmovq (%r9,%rcx), %xmm13 + vmovhpd (%r10,%rcx), %xmm13, %xmm14 + +/* split j and N */ + vxorps %ymm4, %ymm5, %ymm5 + +/* + * G1,G2,G3: dTdif,dTn * 2^N,2^(-N) + * lM now is an EXP(2^N) + */ + vpsllq $45, %ymm5, %ymm3 + vinsertf128 $1, %xmm9, %ymm0, %ymm10 + +/* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) .... + * dSinh_r = (a3+r^2*a5) + */ + vmovupd 4032+__svml_dsinh_data_internal(%rip), %ymm9 + vpaddq %ymm3, %ymm10, %ymm0 + vfmadd213pd 3904+__svml_dsinh_data_internal(%rip), %ymm1, %ymm9 + vinsertf128 $1, %xmm14, %ymm11, %ymm2 + +/* dSinh_r = r^2*(a3+r^2*a5) */ + vmulpd %ymm9, %ymm1, %ymm14 + +/* */ + vpaddq %ymm3, %ymm2, %ymm4 + +/* */ + vpsubq %ymm3, %ymm2, %ymm2 + +/* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + vfmadd213pd %ymm6, %ymm6, %ymm14 + +/* + * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2) + * dOut = (a2 +a4*dR2) + */ + vmovupd 3968+__svml_dsinh_data_internal(%rip), %ymm6 + +/* dG2 = dTn*2^N - dTn*2^-N */ + vsubpd %ymm2, %ymm4, %ymm5 + +/* dG3 = dTn*2^N + dTn*2^-N */ + vaddpd %ymm2, %ymm4, %ymm11 + vfmadd213pd 3840+__svml_dsinh_data_internal(%rip), %ymm1, %ymm6 + +/* dG2 += dG1 */ + vaddpd %ymm5, %ymm0, %ymm13 + +/* dG1 += dG3 */ + vaddpd %ymm11, %ymm0, %ymm0 + +/* dOut = dR2*(a2 +a4*dR2) */ + vmulpd %ymm6, %ymm1, %ymm1 + +/* dOut = dG2*dR2*(a2 +a4*dR2) */ + vmulpd %ymm13, %ymm1, %ymm12 + +/* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + vfmadd213pd %ymm12, %ymm0, %ymm14 + +/* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + vaddpd %ymm14, %ymm13, %ymm15 + +/* Ret H */ + vorpd %ymm15, %ymm7, %ymm0 + testl %r8d, %r8d + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd %ymm8, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %r8d, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dsinh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_sinh_avx2) + + .align 16,0x90 + +__svml_dsinh_cout_rare_internal: + + cfi_startproc + + movq %rsi, %r9 + movzwl 6(%rdi), %ecx + xorl %eax, %eax + andl $32752, %ecx + shrl $4, %ecx + movsd (%rdi), %xmm2 + movb 7(%rdi), %dl + movsd %xmm2, -8(%rsp) + cmpl $2047, %ecx + je .LBL_2_17 + testl %ecx, %ecx + jle .LBL_2_16 + andb $127, %dl + movsd %xmm2, -32(%rsp) + movb %dl, -25(%rsp) + cmpl $969, %ecx + jle .LBL_2_14 + movsd -32(%rsp), %xmm0 + movsd 1136+__dsinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_13 + movsd 1184+__dsinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_9 + comisd 1176+__dsinh_la_CoutTab(%rip), %xmm0 + jb .LBL_2_8 + movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1 + lea __dsinh_la_CoutTab(%rip), %rcx + mulsd %xmm0, %xmm1 + movsd 1144+__dsinh_la_CoutTab(%rip), %xmm4 + movq 8+__dsinh_la_CoutTab(%rip), %r10 + movq %r10, %rsi + shrq $48, %rsi + addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -40(%rsp) + andl $-32753, %esi + movsd -40(%rsp), %xmm10 + movl -40(%rsp), %r8d + movl %r8d, %r11d + shrl $6, %r11d + andl $63, %r8d + movq %r10, -16(%rsp) + subsd 1120+__dsinh_la_CoutTab(%rip), %xmm10 + mulsd %xmm10, %xmm4 + lea 1023(%r11), %edi + xorps .FLT_98(%rip), %xmm10 + addl $1022, %r11d + mulsd 1152+__dsinh_la_CoutTab(%rip), %xmm10 + subsd %xmm4, %xmm0 + movaps %xmm10, %xmm2 + movaps %xmm0, %xmm8 + andl $2047, %r11d + lea (%r8,%r8), %edx + negl %edi + lea 1(%r8,%r8), %r8d + movsd (%rcx,%rdx,8), %xmm9 + negl %edx + shll $4, %r11d + addl $-4, %edi + orl %r11d, %esi + andl $2047, %edi + movw %si, -10(%rsp) + andl $-32753, %esi + shll $4, %edi + addsd %xmm0, %xmm2 + movsd %xmm2, -24(%rsp) + orl %edi, %esi + movsd -24(%rsp), %xmm6 + movsd 1128+__dsinh_la_CoutTab(%rip), %xmm2 + subsd %xmm6, %xmm8 + movsd %xmm8, -56(%rsp) + movsd -24(%rsp), %xmm12 + movsd -56(%rsp), %xmm11 + movsd (%rcx,%r8,8), %xmm7 + addsd %xmm11, %xmm12 + movsd %xmm12, -48(%rsp) + movsd -56(%rsp), %xmm5 + addsd %xmm5, %xmm10 + movsd -16(%rsp), %xmm5 + mulsd %xmm5, %xmm9 + mulsd %xmm5, %xmm7 + movsd %xmm10, -56(%rsp) + movaps %xmm9, %xmm10 + movsd -48(%rsp), %xmm13 + movw %si, -10(%rsp) + lea 128(%rdx), %esi + movsd -16(%rsp), %xmm14 + addl $129, %edx + subsd %xmm13, %xmm0 + movsd %xmm0, -48(%rsp) + movsd -56(%rsp), %xmm1 + movsd -48(%rsp), %xmm15 + addsd %xmm15, %xmm1 + movsd %xmm1, -48(%rsp) + movsd -24(%rsp), %xmm4 + mulsd %xmm4, %xmm2 + movaps %xmm4, %xmm3 + mulsd %xmm4, %xmm3 + movsd -48(%rsp), %xmm1 + movaps %xmm4, %xmm0 + movsd %xmm2, -24(%rsp) + movsd -24(%rsp), %xmm6 + movsd 1064+__dsinh_la_CoutTab(%rip), %xmm2 + subsd %xmm4, %xmm6 + mulsd %xmm3, %xmm2 + movsd %xmm6, -56(%rsp) + movsd -24(%rsp), %xmm11 + movsd -56(%rsp), %xmm8 + subsd %xmm8, %xmm11 + addsd 1048+__dsinh_la_CoutTab(%rip), %xmm2 + movsd %xmm11, -24(%rsp) + movsd 1072+__dsinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm3, %xmm11 + mulsd %xmm3, %xmm2 + addsd 1056+__dsinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm4, %xmm2 + mulsd %xmm3, %xmm11 + movsd -24(%rsp), %xmm12 + addsd 1040+__dsinh_la_CoutTab(%rip), %xmm11 + subsd %xmm12, %xmm0 + mulsd %xmm3, %xmm11 + movsd (%rcx,%rsi,8), %xmm3 + movaps %xmm9, %xmm12 + mulsd %xmm14, %xmm3 + movsd %xmm0, -56(%rsp) + subsd %xmm3, %xmm10 + movsd -24(%rsp), %xmm8 + movsd -56(%rsp), %xmm6 + movsd %xmm10, -24(%rsp) + movsd -24(%rsp), %xmm13 + movsd (%rcx,%rdx,8), %xmm0 + subsd %xmm13, %xmm12 + mulsd %xmm14, %xmm0 + subsd %xmm3, %xmm12 + movsd %xmm12, -56(%rsp) + movsd -24(%rsp), %xmm14 + movsd -56(%rsp), %xmm12 + movaps %xmm14, %xmm5 + movb -1(%rsp), %cl + addsd %xmm7, %xmm12 + addsd %xmm0, %xmm7 + subsd %xmm0, %xmm12 + andb $-128, %cl + addsd %xmm12, %xmm5 + movsd %xmm5, -24(%rsp) + movaps %xmm9, %xmm5 + movsd -24(%rsp), %xmm15 + addsd %xmm3, %xmm5 + subsd %xmm15, %xmm14 + addsd %xmm14, %xmm12 + movsd %xmm12, -56(%rsp) + movsd -24(%rsp), %xmm10 + movsd -56(%rsp), %xmm12 + movsd %xmm5, -24(%rsp) + movsd -24(%rsp), %xmm13 + subsd %xmm13, %xmm9 + addsd %xmm9, %xmm3 + movsd %xmm3, -56(%rsp) + movsd -24(%rsp), %xmm3 + movsd -56(%rsp), %xmm5 + addsd %xmm7, %xmm5 + movaps %xmm3, %xmm7 + addsd %xmm5, %xmm7 + movsd %xmm7, -24(%rsp) + movsd -24(%rsp), %xmm9 + movsd 1128+__dsinh_la_CoutTab(%rip), %xmm7 + subsd %xmm9, %xmm3 + addsd %xmm3, %xmm5 + movsd %xmm5, -56(%rsp) + movsd -24(%rsp), %xmm0 + mulsd %xmm0, %xmm7 + movsd -56(%rsp), %xmm3 + movsd %xmm7, -24(%rsp) + movaps %xmm0, %xmm7 + movsd -24(%rsp), %xmm14 + mulsd %xmm3, %xmm4 + subsd %xmm0, %xmm14 + movsd %xmm14, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm9 + subsd %xmm9, %xmm13 + movsd %xmm13, -24(%rsp) + movaps %xmm0, %xmm13 + movsd -24(%rsp), %xmm15 + mulsd %xmm2, %xmm13 + subsd %xmm15, %xmm7 + mulsd %xmm1, %xmm0 + mulsd %xmm3, %xmm1 + mulsd %xmm3, %xmm2 + movaps %xmm10, %xmm15 + movaps %xmm13, %xmm5 + mulsd %xmm11, %xmm15 + mulsd %xmm12, %xmm11 + addsd %xmm15, %xmm5 + addsd %xmm12, %xmm11 + movsd %xmm7, -56(%rsp) + addsd %xmm0, %xmm11 + movsd -24(%rsp), %xmm9 + addsd %xmm1, %xmm11 + movsd -56(%rsp), %xmm7 + addsd %xmm2, %xmm11 + movsd %xmm5, -24(%rsp) + addsd %xmm4, %xmm11 + movsd -24(%rsp), %xmm14 + subsd %xmm14, %xmm13 + addsd %xmm13, %xmm15 + movsd %xmm15, -56(%rsp) + movaps %xmm8, %xmm15 + mulsd %xmm9, %xmm15 + mulsd %xmm6, %xmm9 + mulsd %xmm7, %xmm6 + mulsd %xmm7, %xmm8 + movsd -24(%rsp), %xmm14 + movaps %xmm15, %xmm13 + movsd -56(%rsp), %xmm5 + addsd %xmm14, %xmm13 + addsd %xmm9, %xmm5 + movsd %xmm13, -24(%rsp) + addsd %xmm6, %xmm5 + movsd -24(%rsp), %xmm13 + addsd %xmm8, %xmm5 + subsd %xmm13, %xmm15 + addsd %xmm5, %xmm11 + addsd %xmm15, %xmm14 + movsd %xmm14, -56(%rsp) + movaps %xmm10, %xmm15 + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm14 + addsd %xmm13, %xmm15 + addsd %xmm14, %xmm11 + movsd %xmm15, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm10 + addsd %xmm10, %xmm13 + movsd %xmm13, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm10 + addsd %xmm10, %xmm11 + addsd %xmm11, %xmm13 + movsd %xmm13, -32(%rsp) + movb -25(%rsp), %dil + andb $127, %dil + orb %cl, %dil + movb %dil, -25(%rsp) + movq -32(%rsp), %r10 + movq %r10, (%r9) + ret + +.LBL_2_8: + movaps %xmm0, %xmm2 + mulsd %xmm0, %xmm2 + movsd 1104+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + movb -1(%rsp), %dl + andb $-128, %dl + addsd 1096+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1088+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1080+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm1, %xmm2 + mulsd %xmm0, %xmm2 + addsd %xmm2, %xmm0 + movsd %xmm0, -32(%rsp) + movb -25(%rsp), %cl + andb $127, %cl + orb %dl, %cl + movb %cl, -25(%rsp) + movq -32(%rsp), %rsi + movq %rsi, (%r9) + ret + +.LBL_2_9: + movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1 + lea __dsinh_la_CoutTab(%rip), %r8 + mulsd %xmm0, %xmm1 + movsd 1144+__dsinh_la_CoutTab(%rip), %xmm2 + movsd 1152+__dsinh_la_CoutTab(%rip), %xmm3 + movq 8+__dsinh_la_CoutTab(%rip), %rdx + movq %rdx, -16(%rsp) + addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm4 + movsd 1072+__dsinh_la_CoutTab(%rip), %xmm1 + movl -40(%rsp), %edx + movl %edx, %esi + andl $63, %esi + subsd 1120+__dsinh_la_CoutTab(%rip), %xmm4 + mulsd %xmm4, %xmm2 + lea (%rsi,%rsi), %ecx + mulsd %xmm3, %xmm4 + subsd %xmm2, %xmm0 + movsd (%r8,%rcx,8), %xmm5 + lea 1(%rsi,%rsi), %edi + shrl $6, %edx + subsd %xmm4, %xmm0 + mulsd %xmm0, %xmm1 + addl $1022, %edx + andl $2047, %edx + addsd 1064+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1056+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1048+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1040+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + addsd %xmm0, %xmm1 + mulsd %xmm5, %xmm1 + addsd (%r8,%rdi,8), %xmm1 + addsd %xmm5, %xmm1 + cmpl $2046, %edx + ja .LBL_2_11 + movq 8+__dsinh_la_CoutTab(%rip), %rcx + shrq $48, %rcx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm0, %xmm1 + movsd %xmm1, -32(%rsp) + jmp .LBL_2_12 + +.LBL_2_11: + decl %edx + andl $2047, %edx + movzwl -10(%rsp), %ecx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm0, %xmm1 + mulsd 1024+__dsinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -32(%rsp) + +.LBL_2_12: + movb -25(%rsp), %cl + movb -1(%rsp), %dl + andb $127, %cl + andb $-128, %dl + orb %dl, %cl + movb %cl, -25(%rsp) + movq -32(%rsp), %rsi + movq %rsi, (%r9) + ret + +.LBL_2_13: + movsd 1168+__dsinh_la_CoutTab(%rip), %xmm0 + movl $3, %eax + mulsd %xmm2, %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_14: + movsd __dsinh_la_CoutTab(%rip), %xmm0 + addsd 1160+__dsinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm2, %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_16: + movsd 1160+__dsinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm0, %xmm2 + movsd %xmm2, -24(%rsp) + movsd -24(%rsp), %xmm1 + movq 8+__dsinh_la_CoutTab(%rip), %rdx + movq %rdx, -16(%rsp) + addsd -8(%rsp), %xmm1 + movsd %xmm1, (%r9) + ret + +.LBL_2_17: + addsd %xmm2, %xmm2 + movsd %xmm2, (%r9) + ret + + cfi_endproc + + .type __svml_dsinh_cout_rare_internal,@function + .size __svml_dsinh_cout_rare_internal,.-__svml_dsinh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dsinh_data_internal: + .long 0 + .long 1071644672 + .long 1828292879 + .long 1071691096 + .long 1014845819 + .long 1071739576 + .long 1853186616 + .long 1071790202 + .long 171030293 + .long 1071843070 + .long 1276261410 + .long 1071898278 + .long 3577096743 + .long 1071955930 + .long 3712504873 + .long 1072016135 + .long 1719614413 + .long 1072079006 + .long 1944781191 + .long 1072144660 + .long 1110089947 + .long 1072213221 + .long 2191782032 + .long 1072284817 + .long 2572866477 + .long 1072359583 + .long 3716502172 + .long 1072437659 + .long 3707479175 + .long 1072519192 + .long 2728693978 + .long 1072604335 + .long 0 + .long 0 + .long 1255956747 + .long 1015588398 + .long 3117910646 + .long 3161559105 + .long 3066496371 + .long 1015656574 + .long 3526460132 + .long 1014428778 + .long 300981948 + .long 1014684169 + .long 2951496418 + .long 1013793687 + .long 88491949 + .long 1015427660 + .long 330458198 + .long 3163282740 + .long 3993278767 + .long 3161724279 + .long 1451641639 + .long 1015474673 + .long 2960257726 + .long 1013742662 + .long 878562433 + .long 1015521741 + .long 2303740125 + .long 1014042725 + .long 3613079303 + .long 1014164738 + .long 396109971 + .long 3163462691 + .long 0 + .long 1071644672 + .long 2728693978 + .long 1071555759 + .long 3707479175 + .long 1071470616 + .long 3716502172 + .long 1071389083 + .long 2572866477 + .long 1071311007 + .long 2191782032 + .long 1071236241 + .long 1110089947 + .long 1071164645 + .long 1944781191 + .long 1071096084 + .long 1719614413 + .long 1071030430 + .long 3712504873 + .long 1070967559 + .long 3577096743 + .long 1070907354 + .long 1276261410 + .long 1070849702 + .long 171030293 + .long 1070794494 + .long 1853186616 + .long 1070741626 + .long 1014845819 + .long 1070691000 + .long 1828292879 + .long 1070642520 + .long 0 + .long 0 + .long 396109971 + .long 3162414115 + .long 3613079303 + .long 1013116162 + .long 2303740125 + .long 1012994149 + .long 878562433 + .long 1014473165 + .long 2960257726 + .long 1012694086 + .long 1451641639 + .long 1014426097 + .long 3993278767 + .long 3160675703 + .long 330458198 + .long 3162234164 + .long 88491949 + .long 1014379084 + .long 2951496418 + .long 1012745111 + .long 300981948 + .long 1013635593 + .long 3526460132 + .long 1013380202 + .long 3066496371 + .long 1014607998 + .long 3117910646 + .long 3160510529 + .long 1255956747 + .long 1014539822 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 15 + .long 0 + .long 15 + .long 0 + .long 15 + .long 0 + .long 15 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 1071644672 + .long 431824500 + .long 1064709706 + .long 730821105 + .long 1071633346 + .long 1779301686 + .long 1065758303 + .long 2174652632 + .long 1071622081 + .long 872681311 + .long 1066443490 + .long 2912730644 + .long 1071610877 + .long 2882296449 + .long 1066806964 + .long 1533953344 + .long 1071599734 + .long 3305321028 + .long 1067170481 + .long 929806999 + .long 1071588651 + .long 340716357 + .long 1067492210 + .long 3999357479 + .long 1071577627 + .long 1073477808 + .long 1067674027 + .long 764307441 + .long 1071566664 + .long 3128166954 + .long 1067855881 + .long 2728693978 + .long 1071555759 + .long 3639221082 + .long 1068037778 + .long 4224142467 + .long 1071544913 + .long 4041415279 + .long 1068219723 + .long 3884662774 + .long 1071534126 + .long 1480599658 + .long 1068401722 + .long 351641897 + .long 1071523398 + .long 2997120266 + .long 1068541361 + .long 863738719 + .long 1071512727 + .long 928693471 + .long 1068632422 + .long 4076975200 + .long 1071502113 + .long 1708958952 + .long 1068723517 + .long 64696965 + .long 1071491558 + .long 3926287402 + .long 1068814649 + .long 382305176 + .long 1071481059 + .long 1878784442 + .long 1068905822 + .long 3707479175 + .long 1071470616 + .long 2754496392 + .long 1068997037 + .long 135105010 + .long 1071460231 + .long 861943228 + .long 1069088298 + .long 1242007932 + .long 1071449901 + .long 3400259254 + .long 1069179606 + .long 1432208378 + .long 1071439627 + .long 394759087 + .long 1069270966 + .long 3706687593 + .long 1071429408 + .long 3351980561 + .long 1069362378 + .long 2483480501 + .long 1071419245 + .long 2310349189 + .long 1069453847 + .long 777507147 + .long 1071409137 + .long 200254151 + .long 1069545375 + .long 1610600570 + .long 1071399083 + .long 4274709417 + .long 1069592241 + .long 3716502172 + .long 1071389083 + .long 2266782956 + .long 1069638068 + .long 1540824585 + .long 1071379138 + .long 1995599824 + .long 1069683928 + .long 2420883922 + .long 1071369246 + .long 647201135 + .long 1069729823 + .long 815859274 + .long 1071359408 + .long 4001939191 + .long 1069775753 + .long 4076559943 + .long 1071349622 + .long 664843213 + .long 1069821722 + .long 2380618042 + .long 1071339890 + .long 720494647 + .long 1069867729 + .long 3092190715 + .long 1071330210 + .long 1373458573 + .long 1069913776 + .long 697153126 + .long 1071320583 + .long 4128322810 + .long 1069959864 + .long 2572866477 + .long 1071311007 + .long 1904966097 + .long 1070005996 + .long 3218338682 + .long 1071301483 + .long 513564799 + .long 1070052172 + .long 1434058175 + .long 1071292011 + .long 1474894098 + .long 1070098393 + .long 321958744 + .long 1071282590 + .long 2020498546 + .long 1070144661 + .long 2990417245 + .long 1071273219 + .long 3682797359 + .long 1070190977 + .long 3964284211 + .long 1071263899 + .long 3705320722 + .long 1070237343 + .long 2069751141 + .long 1071254630 + .long 3632815436 + .long 1070283760 + .long 434316067 + .long 1071245411 + .long 721481577 + .long 1070330230 + .long 2191782032 + .long 1071236241 + .long 824045819 + .long 1070376753 + .long 1892288442 + .long 1071227121 + .long 1210063881 + .long 1070423331 + .long 2682146384 + .long 1071218050 + .long 3450994238 + .long 1070469965 + .long 3418903055 + .long 1071209028 + .long 535468266 + .long 1070516658 + .long 2966275557 + .long 1071200055 + .long 2639266259 + .long 1070563409 + .long 194117574 + .long 1071191131 + .long 3530359402 + .long 1070603158 + .long 2568320822 + .long 1071182254 + .long 3405407025 + .long 1070626595 + .long 380978316 + .long 1071173426 + .long 1749136243 + .long 1070650064 + .long 1110089947 + .long 1071164645 + .long 1517376385 + .long 1070673565 + .long 3649726105 + .long 1071155911 + .long 1375061601 + .long 1070697099 + .long 2604962541 + .long 1071147225 + .long 4286252247 + .long 1070720666 + .long 1176749997 + .long 1071138586 + .long 334352625 + .long 1070744269 + .long 2571947539 + .long 1071129993 + .long 1081936396 + .long 1070767906 + .long 1413356050 + .long 1071121447 + .long 916128083 + .long 1070791579 + .long 919555682 + .long 1071112947 + .long 2818494152 + .long 1070815288 + .long 19972402 + .long 1071104493 + .long 1185261260 + .long 1070839035 + .long 1944781191 + .long 1071096084 + .long 3302240303 + .long 1070862819 + .long 1339972927 + .long 1071087721 + .long 3575110344 + .long 1070886642 + .long 1447192521 + .long 1071079403 + .long 709375646 + .long 1070910505 + .long 1218806132 + .long 1071071130 + .long 2005420950 + .long 1070934407 + .long 3907805044 + .long 1071062901 + .long 1883763132 + .long 1070958350 + .long 4182873220 + .long 1071054717 + .long 3359975962 + .long 1070982334 + .long 1013258799 + .long 1071046578 + .long 864909351 + .long 1071006361 + .long 1963711167 + .long 1071038482 + .long 1719614413 + .long 1071030430 + .long 1719614413 + .long 1071030430 + .long 365628427 + .long 1071054543 + .long 3561793907 + .long 1071022421 + .long 4134867513 + .long 1071078699 + .long 2186617381 + .long 1071014456 + .long 3184944616 + .long 1071102901 + .long 885834528 + .long 1071006534 + .long 564029795 + .long 1071127149 + .long 2956612997 + .long 1070998654 + .long 3621005023 + .long 1071151442 + .long 3111574537 + .long 1070990817 + .long 2530717257 + .long 1071175783 + .long 363667784 + .long 1070983023 + .long 358839240 + .long 1071200172 + .long 2321106615 + .long 1070975270 + .long 177057508 + .long 1071224609 + .long 3712504873 + .long 1070967559 + .long 768195176 + .long 1071249095 + .long 3566716925 + .long 1070959890 + .long 921269482 + .long 1071273631 + .long 917841882 + .long 1070952263 + .long 3726549525 + .long 1071298217 + .long 3395129871 + .long 1070944676 + .long 3690744995 + .long 1071322855 + .long 1453150082 + .long 1070937131 + .long 3916966168 + .long 1071347545 + .long 2731501122 + .long 1070929626 + .long 3219913010 + .long 1071372288 + .long 1990012071 + .long 1070922162 + .long 420933669 + .long 1071397085 + .long 2583551245 + .long 1070914738 + .long 2938050448 + .long 1071421935 + .long 3577096743 + .long 1070907354 + .long 1016247609 + .long 1071446841 + .long 4040676318 + .long 1070900010 + .long 2087301532 + .long 1071471802 + .long 3049340112 + .long 1070892706 + .long 705101620 + .long 1071496820 + .long 3978100823 + .long 1070885441 + .long 20578973 + .long 1071521895 + .long 1617004845 + .long 1070878216 + .long 3191864199 + .long 1071547027 + .long 3645941911 + .long 1070871029 + .long 499478133 + .long 1071572219 + .long 569847338 + .long 1070863882 + .long 3706163032 + .long 1071597469 + .long 78413852 + .long 1070856773 + .long 3107302654 + .long 1071622780 + .long 1276261410 + .long 1070849702 + .long 945376945 + .long 1071646412 + .long 3272845541 + .long 1070842669 + .long 3773502825 + .long 1071659128 + .long 887463927 + .long 1070835675 + .long 3049734401 + .long 1071671876 + .long 1829099622 + .long 1070828718 + .long 379637879 + .long 1071684656 + .long 926591435 + .long 1070821799 + .long 1667720032 + .long 1071697467 + .long 1603444721 + .long 1070814917 + .long 4232573504 + .long 1071710310 + .long 2992903935 + .long 1070808072 + .long 1101891425 + .long 1071723187 + .long 4232894513 + .long 1070801264 + .long 2487351331 + .long 1071736096 + .long 171030293 + .long 1070794494 + .long 1424924347 + .long 1071749039 + .long 2839424854 + .long 1070787759 + .long 3839693941 + .long 1071762015 + .long 2799960843 + .long 1070781061 + .long 2776099954 + .long 1071775026 + .long 3504003472 + .long 1070774399 + .long 4167790294 + .long 1071788071 + .long 4112506593 + .long 1070767773 + .long 1067865225 + .long 1071801152 + .long 3790955393 + .long 1070761183 + .long 3713696612 + .long 1071814267 + .long 1709341917 + .long 1070754629 + .long 872270569 + .long 1071827419 + .long 1337108031 + .long 1070748110 + .long 2789908864 + .long 1071840606 + .long 1853186616 + .long 1070741626 + .long 2537611823 + .long 1071853830 + .long 2440944790 + .long 1070735177 + .long 1780910816 + .long 1071867091 + .long 2288159958 + .long 1070728763 + .long 2189982503 + .long 1071880389 + .long 586995997 + .long 1070722384 + .long 1144730516 + .long 1071893725 + .long 828946858 + .long 1070716039 + .long 324769168 + .long 1071907099 + .long 2214878420 + .long 1070709728 + .long 1414505409 + .long 1071920511 + .long 3949972341 + .long 1070703451 + .long 1808220925 + .long 1071933962 + .long 948735466 + .long 1070697209 + .long 3200056266 + .long 1071947452 + .long 1014845819 + .long 1070691000 + .long 2994125935 + .long 1071960982 + .long 3366293073 + .long 1070684824 + .long 2894502806 + .long 1071974552 + .long 2930322912 + .long 1070678682 + .long 315333498 + .long 1071988163 + .long 3228316108 + .long 1070672573 + .long 1265790390 + .long 1072001814 + .long 3490863953 + .long 1070666497 + .long 3170252699 + .long 1072015506 + .long 2952712987 + .long 1070660454 + .long 3458291493 + .long 1072029240 + .long 852742562 + .long 1070654444 + .long 3859687560 + .long 1072043016 + .long 728909815 + .long 1070648466 + .long 1814547538 + .long 1072056835 + .long 1828292879 + .long 1070642520 + .long 3358256687 + .long 1072070696 + .long 3402036099 + .long 1070636606 + .long 1646693443 + .long 1072084601 + .long 410360776 + .long 1070630725 + .long 2726084392 + .long 1072098549 + .long 702412510 + .long 1070624875 + .long 4058219142 + .long 1072112541 + .long 3541402996 + .long 1070619056 + .long 3110436433 + .long 1072126578 + .long 3899555717 + .long 1070613269 + .long 1650643112 + .long 1072140660 + .long 1048019041 + .long 1070607514 + .long 1452398678 + .long 1072154787 + .long 2851812149 + .long 1070601789 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 65472 + .long 0 + .long 65472 + .long 0 + .long 65472 + .long 0 + .long 65472 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 127 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_dsinh_data_internal,@object + .size __svml_dsinh_data_internal,4288 + .space 320, 0x00 + .align 32 + +__dsinh_la_CoutTab: + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 1048019041 + .long 1072704666 + .long 1398474845 + .long 3161559171 + .long 3541402996 + .long 1072716208 + .long 2759177317 + .long 1015903202 + .long 410360776 + .long 1072727877 + .long 1269990655 + .long 1013024446 + .long 1828292879 + .long 1072739672 + .long 1255956747 + .long 1016636974 + .long 852742562 + .long 1072751596 + .long 667253587 + .long 1010842135 + .long 3490863953 + .long 1072763649 + .long 960797498 + .long 3163997456 + .long 2930322912 + .long 1072775834 + .long 2599499422 + .long 3163762623 + .long 1014845819 + .long 1072788152 + .long 3117910646 + .long 3162607681 + .long 3949972341 + .long 1072800603 + .long 2068408548 + .long 1015962444 + .long 828946858 + .long 1072813191 + .long 10642492 + .long 1016988014 + .long 2288159958 + .long 1072825915 + .long 2169144469 + .long 1015924597 + .long 1853186616 + .long 1072838778 + .long 3066496371 + .long 1016705150 + .long 1709341917 + .long 1072851781 + .long 2571168217 + .long 1015201075 + .long 4112506593 + .long 1072864925 + .long 2947355221 + .long 1015419624 + .long 2799960843 + .long 1072878213 + .long 1423655381 + .long 1016070727 + .long 171030293 + .long 1072891646 + .long 3526460132 + .long 1015477354 + .long 2992903935 + .long 1072905224 + .long 2218154406 + .long 1016276769 + .long 926591435 + .long 1072918951 + .long 3208833762 + .long 3163962090 + .long 887463927 + .long 1072932827 + .long 3596744163 + .long 3161842742 + .long 1276261410 + .long 1072946854 + .long 300981948 + .long 1015732745 + .long 569847338 + .long 1072961034 + .long 472945272 + .long 3160339305 + .long 1617004845 + .long 1072975368 + .long 82804944 + .long 1011391354 + .long 3049340112 + .long 1072989858 + .long 3062915824 + .long 1014219171 + .long 3577096743 + .long 1073004506 + .long 2951496418 + .long 1014842263 + .long 1990012071 + .long 1073019314 + .long 3529070563 + .long 3163861769 + .long 1453150082 + .long 1073034283 + .long 498154669 + .long 3162536638 + .long 917841882 + .long 1073049415 + .long 18715565 + .long 1016707884 + .long 3712504873 + .long 1073064711 + .long 88491949 + .long 1016476236 + .long 363667784 + .long 1073080175 + .long 813753950 + .long 1016833785 + .long 2956612997 + .long 1073095806 + .long 2118169751 + .long 3163784129 + .long 2186617381 + .long 1073111608 + .long 2270764084 + .long 3164321289 + .long 1719614413 + .long 1073127582 + .long 330458198 + .long 3164331316 + .long 1013258799 + .long 1073143730 + .long 1748797611 + .long 3161177658 + .long 3907805044 + .long 1073160053 + .long 2257091225 + .long 3162598983 + .long 1447192521 + .long 1073176555 + .long 1462857171 + .long 3163563097 + .long 1944781191 + .long 1073193236 + .long 3993278767 + .long 3162772855 + .long 919555682 + .long 1073210099 + .long 3121969534 + .long 1013996802 + .long 2571947539 + .long 1073227145 + .long 3558159064 + .long 3164425245 + .long 2604962541 + .long 1073244377 + .long 2614425274 + .long 3164587768 + .long 1110089947 + .long 1073261797 + .long 1451641639 + .long 1016523249 + .long 2568320822 + .long 1073279406 + .long 2732824428 + .long 1015401491 + .long 2966275557 + .long 1073297207 + .long 2176155324 + .long 3160891335 + .long 2682146384 + .long 1073315202 + .long 2082178513 + .long 3164411995 + .long 2191782032 + .long 1073333393 + .long 2960257726 + .long 1014791238 + .long 2069751141 + .long 1073351782 + .long 1562170675 + .long 3163773257 + .long 2990417245 + .long 1073370371 + .long 3683467745 + .long 3164417902 + .long 1434058175 + .long 1073389163 + .long 251133233 + .long 1016134345 + .long 2572866477 + .long 1073408159 + .long 878562433 + .long 1016570317 + .long 3092190715 + .long 1073427362 + .long 814012168 + .long 3160571998 + .long 4076559943 + .long 1073446774 + .long 2119478331 + .long 3161806927 + .long 2420883922 + .long 1073466398 + .long 2049810052 + .long 1015168464 + .long 3716502172 + .long 1073486235 + .long 2303740125 + .long 1015091301 + .long 777507147 + .long 1073506289 + .long 4282924205 + .long 1016236109 + .long 3706687593 + .long 1073526560 + .long 3521726939 + .long 1014301643 + .long 1242007932 + .long 1073547053 + .long 1132034716 + .long 3164388407 + .long 3707479175 + .long 1073567768 + .long 3613079303 + .long 1015213314 + .long 64696965 + .long 1073588710 + .long 1768797490 + .long 1016865536 + .long 863738719 + .long 1073609879 + .long 1326992220 + .long 3163661773 + .long 3884662774 + .long 1073631278 + .long 2158611599 + .long 1015258761 + .long 2728693978 + .long 1073652911 + .long 396109971 + .long 3164511267 + .long 3999357479 + .long 1073674779 + .long 2258941616 + .long 1016973300 + .long 1533953344 + .long 1073696886 + .long 769171851 + .long 1016714209 + .long 2174652632 + .long 1073719233 + .long 4087714590 + .long 1015498835 + .long 0 + .long 1073741824 + .long 0 + .long 0 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 1431655765 + .long 1069897045 + .long 286331153 + .long 1065423121 + .long 436314138 + .long 1059717536 + .long 2773927732 + .long 1053236707 + .long 1697350398 + .long 1079448903 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 2411329662 + .long 1082536910 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1 + .long 1048576 + .long 4294967295 + .long 2146435071 + .long 3671843104 + .long 1067178892 + .long 3875694624 + .long 1077247184 + .type __dsinh_la_CoutTab,@object + .size __dsinh_la_CoutTab,1192 + .space 8, 0x00 + .align 16 + +.FLT_98: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_98,@object + .size .FLT_98,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core-avx2.S new file mode 100644 index 0000000000..d767d25080 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized sinh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_sinh _ZGVeN8v_sinh_avx2_wrapper +#include "../svml_d_sinh8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core.c new file mode 100644 index 0000000000..427d07bce2 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized sinh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_sinh +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_sinh, __GI__ZGVeN8v_sinh, __redirect__ZGVeN8v_sinh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core_avx512.S new file mode 100644 index 0000000000..4ab10c578d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core_avx512.S @@ -0,0 +1,2025 @@ +/* Function sinh vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute sinh(x) as (exp(x)-exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * sinh(NaN) = quiet NaN, and raise invalid exception + * sinh(INF) = that INF + * sinh(x) = x for subnormals + * sinh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_sinh_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + lea 1608+__svml_dsinh_data_internal(%rip), %rax + vmovaps %zmm0, %zmm8 + +/* Abs argument */ + vandpd 1408+__svml_dsinh_data_internal(%rip), %zmm8, %zmm7 + vmovups 3648+__svml_dsinh_data_internal(%rip), %zmm13 + +/* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + vmovups 1216+__svml_dsinh_data_internal(%rip), %zmm12 + vmovups 1280+__svml_dsinh_data_internal(%rip), %zmm14 + vmovups 4032+__svml_dsinh_data_internal(%rip), %zmm6 + +/* VLOAD_CONST( D, dPC[0], TAB._dPC1 ); */ + vmovups 3968+__svml_dsinh_data_internal(%rip), %zmm4 + vxorpd %zmm8, %zmm7, %zmm5 + kxnorw %k0, %k0, %k1 + kxnorw %k0, %k0, %k2 + vfmadd213pd {rn-sae}, %zmm13, %zmm5, %zmm12 + +/* + * Check for overflow\underflow + * + */ + vpsrlq $32, %zmm5, %zmm9 + +/* + * R + * dN = dM - RShifter + */ + vsubpd {rn-sae}, %zmm13, %zmm12, %zmm2 + vpmovqd %zmm9, %ymm10 + vmovups 1344+__svml_dsinh_data_internal(%rip), %zmm9 + +/* dR = dX - dN*Log2_hi/2^K */ + vfnmadd231pd {rn-sae}, %zmm14, %zmm2, %zmm5 + +/* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) .... + * dSinh_r = (a3+r^2*a5) + */ + vmovups 3904+__svml_dsinh_data_internal(%rip), %zmm14 + +/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ + vfnmadd231pd {rn-sae}, %zmm9, %zmm2, %zmm5 + vpcmpgtd 3712+__svml_dsinh_data_internal(%rip), %ymm10, %ymm11 + vmovmskps %ymm11, %edx + +/* dR2 = dR^2 */ + vmulpd {rn-sae}, %zmm5, %zmm5, %zmm2 + vfmadd231pd {rn-sae}, %zmm2, %zmm6, %zmm14 + +/* + * Index and lookup + * j + */ + vpandq 4224+__svml_dsinh_data_internal(%rip), %zmm12, %zmm15 + vpsllq $4, %zmm15, %zmm1 + vpmovqd %zmm1, %ymm0 + vpxord %zmm11, %zmm11, %zmm11 + vpxord %zmm10, %zmm10, %zmm10 + vgatherdpd (%rax,%ymm0), %zmm11{%k1} + vgatherdpd -8(%rax,%ymm0), %zmm10{%k2} + +/* split j and N */ + vpxorq %zmm15, %zmm12, %zmm3 + +/* + * G1,G2,G3: dTdif,dTn * 2^N,2^(-N) + * lM now is an EXP(2^N) + */ + vpsllq $45, %zmm3, %zmm3 + vpaddq %zmm3, %zmm10, %zmm1 + +/* */ + vpaddq %zmm3, %zmm11, %zmm12 + +/* */ + vpsubq %zmm3, %zmm11, %zmm13 + +/* dSinh_r = r^2*(a3+r^2*a5) */ + vmulpd {rn-sae}, %zmm2, %zmm14, %zmm3 + +/* dG2 = dTn*2^N - dTn*2^-N */ + vsubpd {rn-sae}, %zmm13, %zmm12, %zmm15 + +/* dG3 = dTn*2^N + dTn*2^-N */ + vaddpd {rn-sae}, %zmm13, %zmm12, %zmm0 + +/* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + vfmadd213pd {rn-sae}, %zmm5, %zmm5, %zmm3 + +/* + * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2) + * dOut = (a2 +a4*dR2) + */ + vmovups 3840+__svml_dsinh_data_internal(%rip), %zmm5 + +/* dG1 += dG3 */ + vaddpd {rn-sae}, %zmm0, %zmm1, %zmm6 + vfmadd231pd {rn-sae}, %zmm2, %zmm4, %zmm5 + +/* dOut = dR2*(a2 +a4*dR2) */ + vmulpd {rn-sae}, %zmm2, %zmm5, %zmm4 + +/* dG2 += dG1 */ + vaddpd {rn-sae}, %zmm15, %zmm1, %zmm2 + +/* dOut = dG2*dR2*(a2 +a4*dR2) */ + vmulpd {rn-sae}, %zmm2, %zmm4, %zmm4 + +/* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + vfmadd213pd {rn-sae}, %zmm4, %zmm6, %zmm3 + +/* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + vaddpd {rn-sae}, %zmm2, %zmm3, %zmm0 + +/* Ret H */ + vorpd %zmm0, %zmm7, %zmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + vmovups %zmm8, 64(%rsp) + vmovups %zmm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + kmovw %k4, 24(%rsp) + kmovw %k5, 16(%rsp) + kmovw %k6, 8(%rsp) + kmovw %k7, (%rsp) + movq %rsi, 40(%rsp) + movq %rdi, 32(%rsp) + movq %r12, 56(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 48(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + kmovw 24(%rsp), %k4 + cfi_restore(122) + kmovw 16(%rsp), %k5 + cfi_restore(123) + kmovw 8(%rsp), %k6 + cfi_restore(124) + kmovw (%rsp), %k7 + cfi_restore(125) + vmovups 128(%rsp), %zmm0 + movq 40(%rsp), %rsi + cfi_restore(4) + movq 32(%rsp), %rdi + cfi_restore(5) + movq 56(%rsp), %r12 + cfi_restore(12) + movq 48(%rsp), %r13 + cfi_restore(13) + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dsinh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN8v_sinh_skx) + + .align 16,0x90 + +__svml_dsinh_cout_rare_internal: + + cfi_startproc + + movq %rsi, %r9 + movzwl 6(%rdi), %ecx + xorl %eax, %eax + andl $32752, %ecx + shrl $4, %ecx + movsd (%rdi), %xmm2 + movb 7(%rdi), %dl + movsd %xmm2, -8(%rsp) + cmpl $2047, %ecx + je .LBL_2_17 + testl %ecx, %ecx + jle .LBL_2_16 + andb $127, %dl + movsd %xmm2, -32(%rsp) + movb %dl, -25(%rsp) + cmpl $969, %ecx + jle .LBL_2_14 + movsd -32(%rsp), %xmm0 + movsd 1136+__dsinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_13 + movsd 1184+__dsinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_9 + comisd 1176+__dsinh_la_CoutTab(%rip), %xmm0 + jb .LBL_2_8 + movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1 + lea __dsinh_la_CoutTab(%rip), %rcx + mulsd %xmm0, %xmm1 + movsd 1144+__dsinh_la_CoutTab(%rip), %xmm4 + movq 8+__dsinh_la_CoutTab(%rip), %r10 + movq %r10, %rsi + shrq $48, %rsi + addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -40(%rsp) + andl $-32753, %esi + movsd -40(%rsp), %xmm10 + movl -40(%rsp), %r8d + movl %r8d, %r11d + shrl $6, %r11d + andl $63, %r8d + movq %r10, -16(%rsp) + subsd 1120+__dsinh_la_CoutTab(%rip), %xmm10 + mulsd %xmm10, %xmm4 + lea 1023(%r11), %edi + xorps .FLT_97(%rip), %xmm10 + addl $1022, %r11d + mulsd 1152+__dsinh_la_CoutTab(%rip), %xmm10 + subsd %xmm4, %xmm0 + movaps %xmm10, %xmm2 + movaps %xmm0, %xmm8 + andl $2047, %r11d + lea (%r8,%r8), %edx + negl %edi + lea 1(%r8,%r8), %r8d + movsd (%rcx,%rdx,8), %xmm9 + negl %edx + shll $4, %r11d + addl $-4, %edi + orl %r11d, %esi + andl $2047, %edi + movw %si, -10(%rsp) + andl $-32753, %esi + shll $4, %edi + addsd %xmm0, %xmm2 + movsd %xmm2, -24(%rsp) + orl %edi, %esi + movsd -24(%rsp), %xmm6 + movsd 1128+__dsinh_la_CoutTab(%rip), %xmm2 + subsd %xmm6, %xmm8 + movsd %xmm8, -56(%rsp) + movsd -24(%rsp), %xmm12 + movsd -56(%rsp), %xmm11 + movsd (%rcx,%r8,8), %xmm7 + addsd %xmm11, %xmm12 + movsd %xmm12, -48(%rsp) + movsd -56(%rsp), %xmm5 + addsd %xmm5, %xmm10 + movsd -16(%rsp), %xmm5 + mulsd %xmm5, %xmm9 + mulsd %xmm5, %xmm7 + movsd %xmm10, -56(%rsp) + movaps %xmm9, %xmm10 + movsd -48(%rsp), %xmm13 + movw %si, -10(%rsp) + lea 128(%rdx), %esi + movsd -16(%rsp), %xmm14 + addl $129, %edx + subsd %xmm13, %xmm0 + movsd %xmm0, -48(%rsp) + movsd -56(%rsp), %xmm1 + movsd -48(%rsp), %xmm15 + addsd %xmm15, %xmm1 + movsd %xmm1, -48(%rsp) + movsd -24(%rsp), %xmm4 + mulsd %xmm4, %xmm2 + movaps %xmm4, %xmm3 + mulsd %xmm4, %xmm3 + movsd -48(%rsp), %xmm1 + movaps %xmm4, %xmm0 + movsd %xmm2, -24(%rsp) + movsd -24(%rsp), %xmm6 + movsd 1064+__dsinh_la_CoutTab(%rip), %xmm2 + subsd %xmm4, %xmm6 + mulsd %xmm3, %xmm2 + movsd %xmm6, -56(%rsp) + movsd -24(%rsp), %xmm11 + movsd -56(%rsp), %xmm8 + subsd %xmm8, %xmm11 + addsd 1048+__dsinh_la_CoutTab(%rip), %xmm2 + movsd %xmm11, -24(%rsp) + movsd 1072+__dsinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm3, %xmm11 + mulsd %xmm3, %xmm2 + addsd 1056+__dsinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm4, %xmm2 + mulsd %xmm3, %xmm11 + movsd -24(%rsp), %xmm12 + addsd 1040+__dsinh_la_CoutTab(%rip), %xmm11 + subsd %xmm12, %xmm0 + mulsd %xmm3, %xmm11 + movsd (%rcx,%rsi,8), %xmm3 + movaps %xmm9, %xmm12 + mulsd %xmm14, %xmm3 + movsd %xmm0, -56(%rsp) + subsd %xmm3, %xmm10 + movsd -24(%rsp), %xmm8 + movsd -56(%rsp), %xmm6 + movsd %xmm10, -24(%rsp) + movsd -24(%rsp), %xmm13 + movsd (%rcx,%rdx,8), %xmm0 + subsd %xmm13, %xmm12 + mulsd %xmm14, %xmm0 + subsd %xmm3, %xmm12 + movsd %xmm12, -56(%rsp) + movsd -24(%rsp), %xmm14 + movsd -56(%rsp), %xmm12 + movaps %xmm14, %xmm5 + movb -1(%rsp), %cl + addsd %xmm7, %xmm12 + addsd %xmm0, %xmm7 + subsd %xmm0, %xmm12 + andb $-128, %cl + addsd %xmm12, %xmm5 + movsd %xmm5, -24(%rsp) + movaps %xmm9, %xmm5 + movsd -24(%rsp), %xmm15 + addsd %xmm3, %xmm5 + subsd %xmm15, %xmm14 + addsd %xmm14, %xmm12 + movsd %xmm12, -56(%rsp) + movsd -24(%rsp), %xmm10 + movsd -56(%rsp), %xmm12 + movsd %xmm5, -24(%rsp) + movsd -24(%rsp), %xmm13 + subsd %xmm13, %xmm9 + addsd %xmm9, %xmm3 + movsd %xmm3, -56(%rsp) + movsd -24(%rsp), %xmm3 + movsd -56(%rsp), %xmm5 + addsd %xmm7, %xmm5 + movaps %xmm3, %xmm7 + addsd %xmm5, %xmm7 + movsd %xmm7, -24(%rsp) + movsd -24(%rsp), %xmm9 + movsd 1128+__dsinh_la_CoutTab(%rip), %xmm7 + subsd %xmm9, %xmm3 + addsd %xmm3, %xmm5 + movsd %xmm5, -56(%rsp) + movsd -24(%rsp), %xmm0 + mulsd %xmm0, %xmm7 + movsd -56(%rsp), %xmm3 + movsd %xmm7, -24(%rsp) + movaps %xmm0, %xmm7 + movsd -24(%rsp), %xmm14 + mulsd %xmm3, %xmm4 + subsd %xmm0, %xmm14 + movsd %xmm14, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm9 + subsd %xmm9, %xmm13 + movsd %xmm13, -24(%rsp) + movaps %xmm0, %xmm13 + movsd -24(%rsp), %xmm15 + mulsd %xmm2, %xmm13 + subsd %xmm15, %xmm7 + mulsd %xmm1, %xmm0 + mulsd %xmm3, %xmm1 + mulsd %xmm3, %xmm2 + movaps %xmm10, %xmm15 + movaps %xmm13, %xmm5 + mulsd %xmm11, %xmm15 + mulsd %xmm12, %xmm11 + addsd %xmm15, %xmm5 + addsd %xmm12, %xmm11 + movsd %xmm7, -56(%rsp) + addsd %xmm0, %xmm11 + movsd -24(%rsp), %xmm9 + addsd %xmm1, %xmm11 + movsd -56(%rsp), %xmm7 + addsd %xmm2, %xmm11 + movsd %xmm5, -24(%rsp) + addsd %xmm4, %xmm11 + movsd -24(%rsp), %xmm14 + subsd %xmm14, %xmm13 + addsd %xmm13, %xmm15 + movsd %xmm15, -56(%rsp) + movaps %xmm8, %xmm15 + mulsd %xmm9, %xmm15 + mulsd %xmm6, %xmm9 + mulsd %xmm7, %xmm6 + mulsd %xmm7, %xmm8 + movsd -24(%rsp), %xmm14 + movaps %xmm15, %xmm13 + movsd -56(%rsp), %xmm5 + addsd %xmm14, %xmm13 + addsd %xmm9, %xmm5 + movsd %xmm13, -24(%rsp) + addsd %xmm6, %xmm5 + movsd -24(%rsp), %xmm13 + addsd %xmm8, %xmm5 + subsd %xmm13, %xmm15 + addsd %xmm5, %xmm11 + addsd %xmm15, %xmm14 + movsd %xmm14, -56(%rsp) + movaps %xmm10, %xmm15 + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm14 + addsd %xmm13, %xmm15 + addsd %xmm14, %xmm11 + movsd %xmm15, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm10 + addsd %xmm10, %xmm13 + movsd %xmm13, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm10 + addsd %xmm10, %xmm11 + addsd %xmm11, %xmm13 + movsd %xmm13, -32(%rsp) + movb -25(%rsp), %dil + andb $127, %dil + orb %cl, %dil + movb %dil, -25(%rsp) + movq -32(%rsp), %r10 + movq %r10, (%r9) + ret + +.LBL_2_8: + movaps %xmm0, %xmm2 + mulsd %xmm0, %xmm2 + movsd 1104+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + movb -1(%rsp), %dl + andb $-128, %dl + addsd 1096+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1088+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1080+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm1, %xmm2 + mulsd %xmm0, %xmm2 + addsd %xmm2, %xmm0 + movsd %xmm0, -32(%rsp) + movb -25(%rsp), %cl + andb $127, %cl + orb %dl, %cl + movb %cl, -25(%rsp) + movq -32(%rsp), %rsi + movq %rsi, (%r9) + ret + +.LBL_2_9: + movsd 1112+__dsinh_la_CoutTab(%rip), %xmm1 + lea __dsinh_la_CoutTab(%rip), %r8 + mulsd %xmm0, %xmm1 + movsd 1144+__dsinh_la_CoutTab(%rip), %xmm2 + movsd 1152+__dsinh_la_CoutTab(%rip), %xmm3 + movq 8+__dsinh_la_CoutTab(%rip), %rdx + movq %rdx, -16(%rsp) + addsd 1120+__dsinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm4 + movsd 1072+__dsinh_la_CoutTab(%rip), %xmm1 + movl -40(%rsp), %edx + movl %edx, %esi + andl $63, %esi + subsd 1120+__dsinh_la_CoutTab(%rip), %xmm4 + mulsd %xmm4, %xmm2 + lea (%rsi,%rsi), %ecx + mulsd %xmm3, %xmm4 + subsd %xmm2, %xmm0 + movsd (%r8,%rcx,8), %xmm5 + lea 1(%rsi,%rsi), %edi + shrl $6, %edx + subsd %xmm4, %xmm0 + mulsd %xmm0, %xmm1 + addl $1022, %edx + andl $2047, %edx + addsd 1064+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1056+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1048+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1040+__dsinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + addsd %xmm0, %xmm1 + mulsd %xmm5, %xmm1 + addsd (%r8,%rdi,8), %xmm1 + addsd %xmm5, %xmm1 + cmpl $2046, %edx + ja .LBL_2_11 + movq 8+__dsinh_la_CoutTab(%rip), %rcx + shrq $48, %rcx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm0, %xmm1 + movsd %xmm1, -32(%rsp) + jmp .LBL_2_12 + +.LBL_2_11: + decl %edx + andl $2047, %edx + movzwl -10(%rsp), %ecx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm0, %xmm1 + mulsd 1024+__dsinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -32(%rsp) + +.LBL_2_12: + movb -25(%rsp), %cl + movb -1(%rsp), %dl + andb $127, %cl + andb $-128, %dl + orb %dl, %cl + movb %cl, -25(%rsp) + movq -32(%rsp), %rsi + movq %rsi, (%r9) + ret + +.LBL_2_13: + movsd 1168+__dsinh_la_CoutTab(%rip), %xmm0 + movl $3, %eax + mulsd %xmm2, %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_14: + movsd __dsinh_la_CoutTab(%rip), %xmm0 + addsd 1160+__dsinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm2, %xmm0 + movsd %xmm0, (%r9) + ret + +.LBL_2_16: + movsd 1160+__dsinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm0, %xmm2 + movsd %xmm2, -24(%rsp) + movsd -24(%rsp), %xmm1 + movq 8+__dsinh_la_CoutTab(%rip), %rdx + movq %rdx, -16(%rsp) + addsd -8(%rsp), %xmm1 + movsd %xmm1, (%r9) + ret + +.LBL_2_17: + addsd %xmm2, %xmm2 + movsd %xmm2, (%r9) + ret + + cfi_endproc + + .type __svml_dsinh_cout_rare_internal,@function + .size __svml_dsinh_cout_rare_internal,.-__svml_dsinh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dsinh_data_internal: + .long 0 + .long 1071644672 + .long 1828292879 + .long 1071691096 + .long 1014845819 + .long 1071739576 + .long 1853186616 + .long 1071790202 + .long 171030293 + .long 1071843070 + .long 1276261410 + .long 1071898278 + .long 3577096743 + .long 1071955930 + .long 3712504873 + .long 1072016135 + .long 1719614413 + .long 1072079006 + .long 1944781191 + .long 1072144660 + .long 1110089947 + .long 1072213221 + .long 2191782032 + .long 1072284817 + .long 2572866477 + .long 1072359583 + .long 3716502172 + .long 1072437659 + .long 3707479175 + .long 1072519192 + .long 2728693978 + .long 1072604335 + .long 0 + .long 0 + .long 1255956747 + .long 1015588398 + .long 3117910646 + .long 3161559105 + .long 3066496371 + .long 1015656574 + .long 3526460132 + .long 1014428778 + .long 300981948 + .long 1014684169 + .long 2951496418 + .long 1013793687 + .long 88491949 + .long 1015427660 + .long 330458198 + .long 3163282740 + .long 3993278767 + .long 3161724279 + .long 1451641639 + .long 1015474673 + .long 2960257726 + .long 1013742662 + .long 878562433 + .long 1015521741 + .long 2303740125 + .long 1014042725 + .long 3613079303 + .long 1014164738 + .long 396109971 + .long 3163462691 + .long 0 + .long 1071644672 + .long 2728693978 + .long 1071555759 + .long 3707479175 + .long 1071470616 + .long 3716502172 + .long 1071389083 + .long 2572866477 + .long 1071311007 + .long 2191782032 + .long 1071236241 + .long 1110089947 + .long 1071164645 + .long 1944781191 + .long 1071096084 + .long 1719614413 + .long 1071030430 + .long 3712504873 + .long 1070967559 + .long 3577096743 + .long 1070907354 + .long 1276261410 + .long 1070849702 + .long 171030293 + .long 1070794494 + .long 1853186616 + .long 1070741626 + .long 1014845819 + .long 1070691000 + .long 1828292879 + .long 1070642520 + .long 0 + .long 0 + .long 396109971 + .long 3162414115 + .long 3613079303 + .long 1013116162 + .long 2303740125 + .long 1012994149 + .long 878562433 + .long 1014473165 + .long 2960257726 + .long 1012694086 + .long 1451641639 + .long 1014426097 + .long 3993278767 + .long 3160675703 + .long 330458198 + .long 3162234164 + .long 88491949 + .long 1014379084 + .long 2951496418 + .long 1012745111 + .long 300981948 + .long 1013635593 + .long 3526460132 + .long 1013380202 + .long 3066496371 + .long 1014607998 + .long 3117910646 + .long 3160510529 + .long 1255956747 + .long 1014539822 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .long 0 + .long 1123549184 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .long 1 + .long 1123549184 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 1082453555 + .long 15 + .long 0 + .long 15 + .long 0 + .long 15 + .long 0 + .long 15 + .long 0 + .long 15 + .long 0 + .long 15 + .long 0 + .long 15 + .long 0 + .long 15 + .long 0 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .long 1431657638 + .long 1069897045 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .long 1431653196 + .long 1067799893 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .long 249327322 + .long 1065423121 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .long 419584011 + .long 1062650220 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .long 100753094 + .long 1059717741 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .long 461398617 + .long 1056571820 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 1697350398 + .long 1073157447 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 4277796864 + .long 1072049730 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .long 3164486458 + .long 1031600026 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 1071644672 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 1071644672 + .long 431824500 + .long 1064709706 + .long 730821105 + .long 1071633346 + .long 1779301686 + .long 1065758303 + .long 2174652632 + .long 1071622081 + .long 872681311 + .long 1066443490 + .long 2912730644 + .long 1071610877 + .long 2882296449 + .long 1066806964 + .long 1533953344 + .long 1071599734 + .long 3305321028 + .long 1067170481 + .long 929806999 + .long 1071588651 + .long 340716357 + .long 1067492210 + .long 3999357479 + .long 1071577627 + .long 1073477808 + .long 1067674027 + .long 764307441 + .long 1071566664 + .long 3128166954 + .long 1067855881 + .long 2728693978 + .long 1071555759 + .long 3639221082 + .long 1068037778 + .long 4224142467 + .long 1071544913 + .long 4041415279 + .long 1068219723 + .long 3884662774 + .long 1071534126 + .long 1480599658 + .long 1068401722 + .long 351641897 + .long 1071523398 + .long 2997120266 + .long 1068541361 + .long 863738719 + .long 1071512727 + .long 928693471 + .long 1068632422 + .long 4076975200 + .long 1071502113 + .long 1708958952 + .long 1068723517 + .long 64696965 + .long 1071491558 + .long 3926287402 + .long 1068814649 + .long 382305176 + .long 1071481059 + .long 1878784442 + .long 1068905822 + .long 3707479175 + .long 1071470616 + .long 2754496392 + .long 1068997037 + .long 135105010 + .long 1071460231 + .long 861943228 + .long 1069088298 + .long 1242007932 + .long 1071449901 + .long 3400259254 + .long 1069179606 + .long 1432208378 + .long 1071439627 + .long 394759087 + .long 1069270966 + .long 3706687593 + .long 1071429408 + .long 3351980561 + .long 1069362378 + .long 2483480501 + .long 1071419245 + .long 2310349189 + .long 1069453847 + .long 777507147 + .long 1071409137 + .long 200254151 + .long 1069545375 + .long 1610600570 + .long 1071399083 + .long 4274709417 + .long 1069592241 + .long 3716502172 + .long 1071389083 + .long 2266782956 + .long 1069638068 + .long 1540824585 + .long 1071379138 + .long 1995599824 + .long 1069683928 + .long 2420883922 + .long 1071369246 + .long 647201135 + .long 1069729823 + .long 815859274 + .long 1071359408 + .long 4001939191 + .long 1069775753 + .long 4076559943 + .long 1071349622 + .long 664843213 + .long 1069821722 + .long 2380618042 + .long 1071339890 + .long 720494647 + .long 1069867729 + .long 3092190715 + .long 1071330210 + .long 1373458573 + .long 1069913776 + .long 697153126 + .long 1071320583 + .long 4128322810 + .long 1069959864 + .long 2572866477 + .long 1071311007 + .long 1904966097 + .long 1070005996 + .long 3218338682 + .long 1071301483 + .long 513564799 + .long 1070052172 + .long 1434058175 + .long 1071292011 + .long 1474894098 + .long 1070098393 + .long 321958744 + .long 1071282590 + .long 2020498546 + .long 1070144661 + .long 2990417245 + .long 1071273219 + .long 3682797359 + .long 1070190977 + .long 3964284211 + .long 1071263899 + .long 3705320722 + .long 1070237343 + .long 2069751141 + .long 1071254630 + .long 3632815436 + .long 1070283760 + .long 434316067 + .long 1071245411 + .long 721481577 + .long 1070330230 + .long 2191782032 + .long 1071236241 + .long 824045819 + .long 1070376753 + .long 1892288442 + .long 1071227121 + .long 1210063881 + .long 1070423331 + .long 2682146384 + .long 1071218050 + .long 3450994238 + .long 1070469965 + .long 3418903055 + .long 1071209028 + .long 535468266 + .long 1070516658 + .long 2966275557 + .long 1071200055 + .long 2639266259 + .long 1070563409 + .long 194117574 + .long 1071191131 + .long 3530359402 + .long 1070603158 + .long 2568320822 + .long 1071182254 + .long 3405407025 + .long 1070626595 + .long 380978316 + .long 1071173426 + .long 1749136243 + .long 1070650064 + .long 1110089947 + .long 1071164645 + .long 1517376385 + .long 1070673565 + .long 3649726105 + .long 1071155911 + .long 1375061601 + .long 1070697099 + .long 2604962541 + .long 1071147225 + .long 4286252247 + .long 1070720666 + .long 1176749997 + .long 1071138586 + .long 334352625 + .long 1070744269 + .long 2571947539 + .long 1071129993 + .long 1081936396 + .long 1070767906 + .long 1413356050 + .long 1071121447 + .long 916128083 + .long 1070791579 + .long 919555682 + .long 1071112947 + .long 2818494152 + .long 1070815288 + .long 19972402 + .long 1071104493 + .long 1185261260 + .long 1070839035 + .long 1944781191 + .long 1071096084 + .long 3302240303 + .long 1070862819 + .long 1339972927 + .long 1071087721 + .long 3575110344 + .long 1070886642 + .long 1447192521 + .long 1071079403 + .long 709375646 + .long 1070910505 + .long 1218806132 + .long 1071071130 + .long 2005420950 + .long 1070934407 + .long 3907805044 + .long 1071062901 + .long 1883763132 + .long 1070958350 + .long 4182873220 + .long 1071054717 + .long 3359975962 + .long 1070982334 + .long 1013258799 + .long 1071046578 + .long 864909351 + .long 1071006361 + .long 1963711167 + .long 1071038482 + .long 1719614413 + .long 1071030430 + .long 1719614413 + .long 1071030430 + .long 365628427 + .long 1071054543 + .long 3561793907 + .long 1071022421 + .long 4134867513 + .long 1071078699 + .long 2186617381 + .long 1071014456 + .long 3184944616 + .long 1071102901 + .long 885834528 + .long 1071006534 + .long 564029795 + .long 1071127149 + .long 2956612997 + .long 1070998654 + .long 3621005023 + .long 1071151442 + .long 3111574537 + .long 1070990817 + .long 2530717257 + .long 1071175783 + .long 363667784 + .long 1070983023 + .long 358839240 + .long 1071200172 + .long 2321106615 + .long 1070975270 + .long 177057508 + .long 1071224609 + .long 3712504873 + .long 1070967559 + .long 768195176 + .long 1071249095 + .long 3566716925 + .long 1070959890 + .long 921269482 + .long 1071273631 + .long 917841882 + .long 1070952263 + .long 3726549525 + .long 1071298217 + .long 3395129871 + .long 1070944676 + .long 3690744995 + .long 1071322855 + .long 1453150082 + .long 1070937131 + .long 3916966168 + .long 1071347545 + .long 2731501122 + .long 1070929626 + .long 3219913010 + .long 1071372288 + .long 1990012071 + .long 1070922162 + .long 420933669 + .long 1071397085 + .long 2583551245 + .long 1070914738 + .long 2938050448 + .long 1071421935 + .long 3577096743 + .long 1070907354 + .long 1016247609 + .long 1071446841 + .long 4040676318 + .long 1070900010 + .long 2087301532 + .long 1071471802 + .long 3049340112 + .long 1070892706 + .long 705101620 + .long 1071496820 + .long 3978100823 + .long 1070885441 + .long 20578973 + .long 1071521895 + .long 1617004845 + .long 1070878216 + .long 3191864199 + .long 1071547027 + .long 3645941911 + .long 1070871029 + .long 499478133 + .long 1071572219 + .long 569847338 + .long 1070863882 + .long 3706163032 + .long 1071597469 + .long 78413852 + .long 1070856773 + .long 3107302654 + .long 1071622780 + .long 1276261410 + .long 1070849702 + .long 945376945 + .long 1071646412 + .long 3272845541 + .long 1070842669 + .long 3773502825 + .long 1071659128 + .long 887463927 + .long 1070835675 + .long 3049734401 + .long 1071671876 + .long 1829099622 + .long 1070828718 + .long 379637879 + .long 1071684656 + .long 926591435 + .long 1070821799 + .long 1667720032 + .long 1071697467 + .long 1603444721 + .long 1070814917 + .long 4232573504 + .long 1071710310 + .long 2992903935 + .long 1070808072 + .long 1101891425 + .long 1071723187 + .long 4232894513 + .long 1070801264 + .long 2487351331 + .long 1071736096 + .long 171030293 + .long 1070794494 + .long 1424924347 + .long 1071749039 + .long 2839424854 + .long 1070787759 + .long 3839693941 + .long 1071762015 + .long 2799960843 + .long 1070781061 + .long 2776099954 + .long 1071775026 + .long 3504003472 + .long 1070774399 + .long 4167790294 + .long 1071788071 + .long 4112506593 + .long 1070767773 + .long 1067865225 + .long 1071801152 + .long 3790955393 + .long 1070761183 + .long 3713696612 + .long 1071814267 + .long 1709341917 + .long 1070754629 + .long 872270569 + .long 1071827419 + .long 1337108031 + .long 1070748110 + .long 2789908864 + .long 1071840606 + .long 1853186616 + .long 1070741626 + .long 2537611823 + .long 1071853830 + .long 2440944790 + .long 1070735177 + .long 1780910816 + .long 1071867091 + .long 2288159958 + .long 1070728763 + .long 2189982503 + .long 1071880389 + .long 586995997 + .long 1070722384 + .long 1144730516 + .long 1071893725 + .long 828946858 + .long 1070716039 + .long 324769168 + .long 1071907099 + .long 2214878420 + .long 1070709728 + .long 1414505409 + .long 1071920511 + .long 3949972341 + .long 1070703451 + .long 1808220925 + .long 1071933962 + .long 948735466 + .long 1070697209 + .long 3200056266 + .long 1071947452 + .long 1014845819 + .long 1070691000 + .long 2994125935 + .long 1071960982 + .long 3366293073 + .long 1070684824 + .long 2894502806 + .long 1071974552 + .long 2930322912 + .long 1070678682 + .long 315333498 + .long 1071988163 + .long 3228316108 + .long 1070672573 + .long 1265790390 + .long 1072001814 + .long 3490863953 + .long 1070666497 + .long 3170252699 + .long 1072015506 + .long 2952712987 + .long 1070660454 + .long 3458291493 + .long 1072029240 + .long 852742562 + .long 1070654444 + .long 3859687560 + .long 1072043016 + .long 728909815 + .long 1070648466 + .long 1814547538 + .long 1072056835 + .long 1828292879 + .long 1070642520 + .long 3358256687 + .long 1072070696 + .long 3402036099 + .long 1070636606 + .long 1646693443 + .long 1072084601 + .long 410360776 + .long 1070630725 + .long 2726084392 + .long 1072098549 + .long 702412510 + .long 1070624875 + .long 4058219142 + .long 1072112541 + .long 3541402996 + .long 1070619056 + .long 3110436433 + .long 1072126578 + .long 3899555717 + .long 1070613269 + .long 1650643112 + .long 1072140660 + .long 1048019041 + .long 1070607514 + .long 1452398678 + .long 1072154787 + .long 2851812149 + .long 1070601789 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 0 + .long 1120403456 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 1082531225 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 4294966717 + .long 1071644671 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .long 1431655597 + .long 1069897045 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 3474379417 + .long 1067799893 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .long 1460859941 + .long 1065423121 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 65472 + .long 0 + .long 65472 + .long 0 + .long 65472 + .long 0 + .long 65472 + .long 0 + .long 65472 + .long 0 + .long 65472 + .long 0 + .long 65472 + .long 0 + .long 65472 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .long 127 + .long 0 + .type __svml_dsinh_data_internal,@object + .size __svml_dsinh_data_internal,4288 + .space 320, 0x00 + .align 32 + +__dsinh_la_CoutTab: + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 1048019041 + .long 1072704666 + .long 1398474845 + .long 3161559171 + .long 3541402996 + .long 1072716208 + .long 2759177317 + .long 1015903202 + .long 410360776 + .long 1072727877 + .long 1269990655 + .long 1013024446 + .long 1828292879 + .long 1072739672 + .long 1255956747 + .long 1016636974 + .long 852742562 + .long 1072751596 + .long 667253587 + .long 1010842135 + .long 3490863953 + .long 1072763649 + .long 960797498 + .long 3163997456 + .long 2930322912 + .long 1072775834 + .long 2599499422 + .long 3163762623 + .long 1014845819 + .long 1072788152 + .long 3117910646 + .long 3162607681 + .long 3949972341 + .long 1072800603 + .long 2068408548 + .long 1015962444 + .long 828946858 + .long 1072813191 + .long 10642492 + .long 1016988014 + .long 2288159958 + .long 1072825915 + .long 2169144469 + .long 1015924597 + .long 1853186616 + .long 1072838778 + .long 3066496371 + .long 1016705150 + .long 1709341917 + .long 1072851781 + .long 2571168217 + .long 1015201075 + .long 4112506593 + .long 1072864925 + .long 2947355221 + .long 1015419624 + .long 2799960843 + .long 1072878213 + .long 1423655381 + .long 1016070727 + .long 171030293 + .long 1072891646 + .long 3526460132 + .long 1015477354 + .long 2992903935 + .long 1072905224 + .long 2218154406 + .long 1016276769 + .long 926591435 + .long 1072918951 + .long 3208833762 + .long 3163962090 + .long 887463927 + .long 1072932827 + .long 3596744163 + .long 3161842742 + .long 1276261410 + .long 1072946854 + .long 300981948 + .long 1015732745 + .long 569847338 + .long 1072961034 + .long 472945272 + .long 3160339305 + .long 1617004845 + .long 1072975368 + .long 82804944 + .long 1011391354 + .long 3049340112 + .long 1072989858 + .long 3062915824 + .long 1014219171 + .long 3577096743 + .long 1073004506 + .long 2951496418 + .long 1014842263 + .long 1990012071 + .long 1073019314 + .long 3529070563 + .long 3163861769 + .long 1453150082 + .long 1073034283 + .long 498154669 + .long 3162536638 + .long 917841882 + .long 1073049415 + .long 18715565 + .long 1016707884 + .long 3712504873 + .long 1073064711 + .long 88491949 + .long 1016476236 + .long 363667784 + .long 1073080175 + .long 813753950 + .long 1016833785 + .long 2956612997 + .long 1073095806 + .long 2118169751 + .long 3163784129 + .long 2186617381 + .long 1073111608 + .long 2270764084 + .long 3164321289 + .long 1719614413 + .long 1073127582 + .long 330458198 + .long 3164331316 + .long 1013258799 + .long 1073143730 + .long 1748797611 + .long 3161177658 + .long 3907805044 + .long 1073160053 + .long 2257091225 + .long 3162598983 + .long 1447192521 + .long 1073176555 + .long 1462857171 + .long 3163563097 + .long 1944781191 + .long 1073193236 + .long 3993278767 + .long 3162772855 + .long 919555682 + .long 1073210099 + .long 3121969534 + .long 1013996802 + .long 2571947539 + .long 1073227145 + .long 3558159064 + .long 3164425245 + .long 2604962541 + .long 1073244377 + .long 2614425274 + .long 3164587768 + .long 1110089947 + .long 1073261797 + .long 1451641639 + .long 1016523249 + .long 2568320822 + .long 1073279406 + .long 2732824428 + .long 1015401491 + .long 2966275557 + .long 1073297207 + .long 2176155324 + .long 3160891335 + .long 2682146384 + .long 1073315202 + .long 2082178513 + .long 3164411995 + .long 2191782032 + .long 1073333393 + .long 2960257726 + .long 1014791238 + .long 2069751141 + .long 1073351782 + .long 1562170675 + .long 3163773257 + .long 2990417245 + .long 1073370371 + .long 3683467745 + .long 3164417902 + .long 1434058175 + .long 1073389163 + .long 251133233 + .long 1016134345 + .long 2572866477 + .long 1073408159 + .long 878562433 + .long 1016570317 + .long 3092190715 + .long 1073427362 + .long 814012168 + .long 3160571998 + .long 4076559943 + .long 1073446774 + .long 2119478331 + .long 3161806927 + .long 2420883922 + .long 1073466398 + .long 2049810052 + .long 1015168464 + .long 3716502172 + .long 1073486235 + .long 2303740125 + .long 1015091301 + .long 777507147 + .long 1073506289 + .long 4282924205 + .long 1016236109 + .long 3706687593 + .long 1073526560 + .long 3521726939 + .long 1014301643 + .long 1242007932 + .long 1073547053 + .long 1132034716 + .long 3164388407 + .long 3707479175 + .long 1073567768 + .long 3613079303 + .long 1015213314 + .long 64696965 + .long 1073588710 + .long 1768797490 + .long 1016865536 + .long 863738719 + .long 1073609879 + .long 1326992220 + .long 3163661773 + .long 3884662774 + .long 1073631278 + .long 2158611599 + .long 1015258761 + .long 2728693978 + .long 1073652911 + .long 396109971 + .long 3164511267 + .long 3999357479 + .long 1073674779 + .long 2258941616 + .long 1016973300 + .long 1533953344 + .long 1073696886 + .long 769171851 + .long 1016714209 + .long 2174652632 + .long 1073719233 + .long 4087714590 + .long 1015498835 + .long 0 + .long 1073741824 + .long 0 + .long 0 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 1431655765 + .long 1069897045 + .long 286331153 + .long 1065423121 + .long 436314138 + .long 1059717536 + .long 2773927732 + .long 1053236707 + .long 1697350398 + .long 1079448903 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 2411329662 + .long 1082536910 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1 + .long 1048576 + .long 4294967295 + .long 2146435071 + .long 3671843104 + .long 1067178892 + .long 3875694624 + .long 1077247184 + .type __dsinh_la_CoutTab,@object + .size __dsinh_la_CoutTab,1192 + .space 8, 0x00 + .align 16 + +.FLT_97: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_97,@object + .size .FLT_97,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core-avx2.S new file mode 100644 index 0000000000..06525b7b37 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized sinhf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_sinhf _ZGVeN16v_sinhf_avx2_wrapper +#include "../svml_s_sinhf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core.c new file mode 100644 index 0000000000..6a954caa37 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized sinhf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_sinhf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_sinhf, __GI__ZGVeN16v_sinhf, + __redirect__ZGVeN16v_sinhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core_avx512.S new file mode 100644 index 0000000000..54cbd89aa3 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core_avx512.S @@ -0,0 +1,1420 @@ +/* Function sinhf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute sinh(x) as (exp(x)-exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * sinh(NaN) = quiet NaN, and raise invalid exception + * sinh(INF) = that INF + * sinh(x) = x for subnormals + * sinh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_sinhf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %zmm5 + +/* + * Implementation + * Abs argument + */ + vandps 1152+__svml_ssinh_data_internal(%rip), %zmm5, %zmm4 + +/* + * Check for overflow\underflow + * MORE faster than GE? + */ + vpternlogd $255, %zmm6, %zmm6, %zmm6 + vmovups 1280+__svml_ssinh_data_internal(%rip), %zmm7 + +/* + * Load argument + * dM = x/log(2) + RShifter + */ + vmovups 960+__svml_ssinh_data_internal(%rip), %zmm11 + vmovups 1024+__svml_ssinh_data_internal(%rip), %zmm8 + vmovups 1088+__svml_ssinh_data_internal(%rip), %zmm10 + vmovups 1856+__svml_ssinh_data_internal(%rip), %zmm12 + vmovups 1728+__svml_ssinh_data_internal(%rip), %zmm0 + vmovups 1792+__svml_ssinh_data_internal(%rip), %zmm3 + +/* x^2 */ + vmovups 1536+__svml_ssinh_data_internal(%rip), %zmm2 + vxorps %zmm5, %zmm4, %zmm1 + vfmadd213ps {rn-sae}, %zmm7, %zmm1, %zmm11 + vpcmpd $2, 1408+__svml_ssinh_data_internal(%rip), %zmm1, %k1 + +/* + * G1,G2 2^N,2^(-N) + * iM now is an EXP(2^N) + */ + vpslld $23, %zmm11, %zmm13 + +/* + * R + * sN = sM - RShifter + */ + vsubps {rn-sae}, %zmm7, %zmm11, %zmm9 + vpaddd %zmm13, %zmm12, %zmm14 + vpsubd %zmm13, %zmm12, %zmm15 + +/* sG1 = 2^(N-1)+2^(-N-1) */ + vaddps {rn-sae}, %zmm15, %zmm14, %zmm7 + vpandnd %zmm1, %zmm1, %zmm6{%k1} + +/* sR = sX - sN*Log2_hi */ + vfnmadd231ps {rn-sae}, %zmm8, %zmm9, %zmm1 + vptestmd %zmm6, %zmm6, %k0 + +/* sG2 = 2^(N-1)-2^(-N-1) */ + vsubps {rn-sae}, %zmm15, %zmm14, %zmm8 + +/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + vfnmadd231ps {rn-sae}, %zmm10, %zmm9, %zmm1 + +/* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... + * sSinh_r = (a3+r^2*a5) + */ + vmovups 1600+__svml_ssinh_data_internal(%rip), %zmm14 + kmovw %k0, %edx + +/* sR2 = sR^2 */ + vmulps {rn-sae}, %zmm1, %zmm1, %zmm6 + vfmadd231ps {rn-sae}, %zmm6, %zmm0, %zmm14 + +/* sSinh_r = r^2*(a3+r^2*a5) */ + vmulps {rn-sae}, %zmm6, %zmm14, %zmm0 + +/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + vfmadd213ps {rn-sae}, %zmm1, %zmm1, %zmm0 + +/* + * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) + * sOut = (a4 +a6*sR2) + */ + vmovups 1664+__svml_ssinh_data_internal(%rip), %zmm1 + vfmadd231ps {rn-sae}, %zmm6, %zmm3, %zmm1 + +/* sOut = a2+sR2*(a4+a6*sR2) */ + vfmadd213ps {rn-sae}, %zmm2, %zmm6, %zmm1 + +/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps {rn-sae}, %zmm6, %zmm1, %zmm2 + +/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps {rn-sae}, %zmm8, %zmm2, %zmm3 + +/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vfmadd213ps {rn-sae}, %zmm3, %zmm0, %zmm7 + +/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vaddps {rn-sae}, %zmm8, %zmm7, %zmm9 + +/* Ret H */ + vorps %zmm9, %zmm4, %zmm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + vmovups %zmm5, 64(%rsp) + vmovups %zmm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + kmovw %k4, 24(%rsp) + kmovw %k5, 16(%rsp) + kmovw %k6, 8(%rsp) + kmovw %k7, (%rsp) + movq %rsi, 40(%rsp) + movq %rdi, 32(%rsp) + movq %r12, 56(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 48(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $16, %r12d + jl .LBL_1_7 + kmovw 24(%rsp), %k4 + cfi_restore(122) + kmovw 16(%rsp), %k5 + cfi_restore(123) + kmovw 8(%rsp), %k6 + cfi_restore(124) + kmovw (%rsp), %k7 + cfi_restore(125) + vmovups 128(%rsp), %zmm0 + movq 40(%rsp), %rsi + cfi_restore(4) + movq 32(%rsp), %rdi + cfi_restore(5) + movq 56(%rsp), %r12 + cfi_restore(12) + movq 48(%rsp), %r13 + cfi_restore(13) + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x68, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x78, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfa, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xfd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_ssinh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVeN16v_sinhf_skx) + + .align 16,0x90 + +__svml_ssinh_cout_rare_internal: + + cfi_startproc + + movq %rsi, %r9 + movzwl 2(%rdi), %edx + xorl %eax, %eax + andl $32640, %edx + movss (%rdi), %xmm2 + cmpl $32640, %edx + je .LBL_2_17 + cvtss2sd %xmm2, %xmm2 + movsd %xmm2, -8(%rsp) + movzwl -2(%rsp), %edx + andl $32752, %edx + movsd %xmm2, -32(%rsp) + shrl $4, %edx + andb $127, -25(%rsp) + testl %edx, %edx + jle .LBL_2_16 + cmpl $969, %edx + jle .LBL_2_14 + movsd -32(%rsp), %xmm0 + movsd 1136+__ssinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_13 + movsd 1184+__ssinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_9 + comisd 1176+__ssinh_la_CoutTab(%rip), %xmm0 + jb .LBL_2_8 + movsd 1112+__ssinh_la_CoutTab(%rip), %xmm3 + lea __ssinh_la_CoutTab(%rip), %rcx + mulsd %xmm0, %xmm3 + movsd 1144+__ssinh_la_CoutTab(%rip), %xmm10 + movq 8+__ssinh_la_CoutTab(%rip), %r10 + movq %r10, %rsi + shrq $48, %rsi + addsd 1120+__ssinh_la_CoutTab(%rip), %xmm3 + movsd %xmm3, -40(%rsp) + andl $-32753, %esi + movsd -40(%rsp), %xmm13 + movl -40(%rsp), %r8d + movl %r8d, %r11d + shrl $6, %r11d + andl $63, %r8d + movq %r10, -16(%rsp) + subsd 1120+__ssinh_la_CoutTab(%rip), %xmm13 + mulsd %xmm13, %xmm10 + lea 1023(%r11), %edi + xorps .FLT_98(%rip), %xmm13 + addl $1022, %r11d + mulsd 1152+__ssinh_la_CoutTab(%rip), %xmm13 + subsd %xmm10, %xmm0 + movaps %xmm0, %xmm5 + movaps %xmm0, %xmm11 + andl $2047, %r11d + lea (%r8,%r8), %edx + negl %edi + lea 1(%r8,%r8), %r8d + movsd (%rcx,%rdx,8), %xmm8 + negl %edx + shll $4, %r11d + addl $-4, %edi + orl %r11d, %esi + andl $2047, %edi + movw %si, -10(%rsp) + andl $-32753, %esi + shll $4, %edi + addsd %xmm13, %xmm5 + movsd %xmm5, -24(%rsp) + orl %edi, %esi + movsd -24(%rsp), %xmm7 + movsd 1128+__ssinh_la_CoutTab(%rip), %xmm5 + subsd %xmm7, %xmm11 + movsd %xmm11, -56(%rsp) + movsd -24(%rsp), %xmm4 + movsd -56(%rsp), %xmm12 + movsd (%rcx,%r8,8), %xmm6 + addsd %xmm12, %xmm4 + movsd %xmm4, -48(%rsp) + movsd -56(%rsp), %xmm9 + movsd -16(%rsp), %xmm4 + addsd %xmm9, %xmm13 + mulsd %xmm4, %xmm8 + mulsd %xmm4, %xmm6 + movsd %xmm13, -56(%rsp) + movaps %xmm8, %xmm9 + movsd -48(%rsp), %xmm15 + movw %si, -10(%rsp) + lea 128(%rdx), %esi + movsd -16(%rsp), %xmm14 + addl $129, %edx + subsd %xmm15, %xmm0 + movaps %xmm8, %xmm15 + movsd %xmm0, -48(%rsp) + movsd -56(%rsp), %xmm3 + movsd -48(%rsp), %xmm0 + addsd %xmm0, %xmm3 + movsd %xmm3, -48(%rsp) + movsd -24(%rsp), %xmm10 + mulsd %xmm10, %xmm5 + movaps %xmm10, %xmm2 + mulsd %xmm10, %xmm2 + movsd -48(%rsp), %xmm3 + movaps %xmm10, %xmm1 + movsd %xmm5, -24(%rsp) + movsd -24(%rsp), %xmm7 + subsd %xmm10, %xmm7 + movsd %xmm7, -56(%rsp) + movsd -24(%rsp), %xmm12 + movsd -56(%rsp), %xmm11 + subsd %xmm11, %xmm12 + movsd 1064+__ssinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm2, %xmm11 + movsd %xmm12, -24(%rsp) + movsd 1072+__ssinh_la_CoutTab(%rip), %xmm12 + mulsd %xmm2, %xmm12 + addsd 1048+__ssinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm2, %xmm11 + addsd 1056+__ssinh_la_CoutTab(%rip), %xmm12 + mulsd %xmm2, %xmm12 + mulsd %xmm10, %xmm11 + addsd 1040+__ssinh_la_CoutTab(%rip), %xmm12 + addsd %xmm11, %xmm10 + mulsd %xmm2, %xmm12 + movsd (%rcx,%rsi,8), %xmm2 + mulsd %xmm14, %xmm2 + movsd -24(%rsp), %xmm0 + subsd %xmm2, %xmm9 + subsd %xmm0, %xmm1 + movsd %xmm1, -56(%rsp) + movsd -24(%rsp), %xmm7 + movsd -56(%rsp), %xmm5 + movsd %xmm9, -24(%rsp) + movsd -24(%rsp), %xmm13 + movsd (%rcx,%rdx,8), %xmm1 + subsd %xmm13, %xmm15 + mulsd %xmm14, %xmm1 + subsd %xmm2, %xmm15 + movsd %xmm15, -56(%rsp) + movaps %xmm8, %xmm13 + movsd -24(%rsp), %xmm14 + addsd %xmm2, %xmm13 + movsd -56(%rsp), %xmm9 + movaps %xmm14, %xmm0 + movb -1(%rsp), %cl + addsd %xmm6, %xmm9 + addsd %xmm1, %xmm6 + subsd %xmm1, %xmm9 + andb $-128, %cl + addsd %xmm9, %xmm0 + movsd %xmm0, -24(%rsp) + movsd -24(%rsp), %xmm4 + subsd %xmm4, %xmm14 + addsd %xmm14, %xmm9 + movsd %xmm9, -56(%rsp) + movsd -24(%rsp), %xmm9 + movsd -56(%rsp), %xmm0 + movsd %xmm13, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm8 + addsd %xmm8, %xmm2 + movsd %xmm2, -56(%rsp) + movsd -24(%rsp), %xmm2 + movsd -56(%rsp), %xmm4 + addsd %xmm6, %xmm4 + movaps %xmm2, %xmm6 + addsd %xmm4, %xmm6 + movsd %xmm6, -24(%rsp) + movsd -24(%rsp), %xmm8 + movsd 1128+__ssinh_la_CoutTab(%rip), %xmm6 + subsd %xmm8, %xmm2 + addsd %xmm2, %xmm4 + movsd %xmm4, -56(%rsp) + movsd -24(%rsp), %xmm1 + mulsd %xmm1, %xmm6 + movsd -56(%rsp), %xmm2 + movsd %xmm6, -24(%rsp) + movaps %xmm1, %xmm6 + movsd -24(%rsp), %xmm14 + mulsd %xmm2, %xmm10 + subsd %xmm1, %xmm14 + movsd %xmm14, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm8 + subsd %xmm8, %xmm13 + movsd %xmm13, -24(%rsp) + movaps %xmm11, %xmm13 + movsd -24(%rsp), %xmm15 + mulsd %xmm1, %xmm13 + subsd %xmm15, %xmm6 + mulsd %xmm3, %xmm1 + mulsd %xmm2, %xmm3 + movaps %xmm12, %xmm15 + movaps %xmm13, %xmm4 + mulsd %xmm9, %xmm15 + mulsd %xmm0, %xmm12 + addsd %xmm15, %xmm4 + addsd %xmm0, %xmm12 + movsd %xmm6, -56(%rsp) + addsd %xmm1, %xmm12 + movsd -24(%rsp), %xmm8 + addsd %xmm3, %xmm12 + movsd -56(%rsp), %xmm6 + movsd %xmm4, -24(%rsp) + movsd -24(%rsp), %xmm14 + subsd %xmm14, %xmm13 + addsd %xmm13, %xmm15 + movsd %xmm15, -56(%rsp) + movaps %xmm7, %xmm15 + mulsd %xmm8, %xmm15 + mulsd %xmm5, %xmm8 + mulsd %xmm6, %xmm5 + mulsd %xmm6, %xmm7 + movsd -24(%rsp), %xmm14 + movaps %xmm14, %xmm13 + movsd -56(%rsp), %xmm4 + addsd %xmm15, %xmm13 + addsd %xmm8, %xmm4 + movsd %xmm13, -24(%rsp) + addsd %xmm5, %xmm4 + movsd -24(%rsp), %xmm13 + addsd %xmm7, %xmm4 + subsd %xmm13, %xmm15 + addsd %xmm4, %xmm12 + addsd %xmm15, %xmm14 + movsd %xmm14, -56(%rsp) + movaps %xmm9, %xmm15 + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm14 + addsd %xmm13, %xmm15 + addsd %xmm14, %xmm12 + movsd %xmm15, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm9 + addsd %xmm9, %xmm13 + movsd %xmm13, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm9 + addsd %xmm9, %xmm12 + addsd %xmm12, %xmm13 + addsd %xmm13, %xmm10 + movsd %xmm10, -32(%rsp) + movb -25(%rsp), %dil + andb $127, %dil + orb %cl, %dil + movb %dil, -25(%rsp) + movsd -32(%rsp), %xmm10 + cvtsd2ss %xmm10, %xmm10 + movss %xmm10, (%r9) + ret + +.LBL_2_8: + movaps %xmm0, %xmm2 + mulsd %xmm0, %xmm2 + movsd 1104+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + movb -1(%rsp), %dl + andb $-128, %dl + addsd 1096+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1088+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1080+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm1, %xmm2 + mulsd %xmm0, %xmm2 + addsd %xmm2, %xmm0 + movsd %xmm0, -32(%rsp) + movb -25(%rsp), %cl + andb $127, %cl + orb %dl, %cl + movb %cl, -25(%rsp) + movsd -32(%rsp), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_9: + movsd 1112+__ssinh_la_CoutTab(%rip), %xmm1 + lea __ssinh_la_CoutTab(%rip), %r8 + mulsd %xmm0, %xmm1 + movsd 1144+__ssinh_la_CoutTab(%rip), %xmm2 + movsd 1152+__ssinh_la_CoutTab(%rip), %xmm3 + movq 8+__ssinh_la_CoutTab(%rip), %rdx + movq %rdx, -16(%rsp) + addsd 1120+__ssinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm4 + movsd 1072+__ssinh_la_CoutTab(%rip), %xmm1 + movl -40(%rsp), %edx + movl %edx, %esi + andl $63, %esi + subsd 1120+__ssinh_la_CoutTab(%rip), %xmm4 + mulsd %xmm4, %xmm2 + lea (%rsi,%rsi), %ecx + mulsd %xmm3, %xmm4 + subsd %xmm2, %xmm0 + movsd (%r8,%rcx,8), %xmm5 + lea 1(%rsi,%rsi), %edi + shrl $6, %edx + subsd %xmm4, %xmm0 + mulsd %xmm0, %xmm1 + addl $1022, %edx + andl $2047, %edx + addsd 1064+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1056+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1048+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1040+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + addsd %xmm0, %xmm1 + mulsd %xmm5, %xmm1 + addsd (%r8,%rdi,8), %xmm1 + addsd %xmm5, %xmm1 + cmpl $2046, %edx + ja .LBL_2_11 + movq 8+__ssinh_la_CoutTab(%rip), %rcx + shrq $48, %rcx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm1, %xmm0 + movsd %xmm0, -32(%rsp) + jmp .LBL_2_12 + +.LBL_2_11: + decl %edx + andl $2047, %edx + movzwl -10(%rsp), %ecx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm1, %xmm0 + mulsd 1024+__ssinh_la_CoutTab(%rip), %xmm0 + movsd %xmm0, -32(%rsp) + +.LBL_2_12: + movb -25(%rsp), %cl + movb -1(%rsp), %dl + andb $127, %cl + andb $-128, %dl + orb %dl, %cl + movb %cl, -25(%rsp) + movsd -32(%rsp), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_13: + movsd 1168+__ssinh_la_CoutTab(%rip), %xmm0 + movl $3, %eax + mulsd %xmm2, %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_14: + movsd __ssinh_la_CoutTab(%rip), %xmm0 + addsd 1160+__ssinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm2, %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_16: + movsd 1160+__ssinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm0, %xmm2 + movsd %xmm2, -24(%rsp) + pxor %xmm2, %xmm2 + cvtss2sd (%rdi), %xmm2 + movsd -24(%rsp), %xmm1 + movq 8+__ssinh_la_CoutTab(%rip), %rdx + addsd %xmm1, %xmm2 + cvtsd2ss %xmm2, %xmm2 + movq %rdx, -16(%rsp) + movss %xmm2, (%r9) + ret + +.LBL_2_17: + addss %xmm2, %xmm2 + movss %xmm2, (%r9) + ret + + cfi_endproc + + .type __svml_ssinh_cout_rare_internal,@function + .size __svml_ssinh_cout_rare_internal,.-__svml_ssinh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_ssinh_data_internal: + .long 1056964608 + .long 1057148295 + .long 1057336003 + .long 1057527823 + .long 1057723842 + .long 1057924154 + .long 1058128851 + .long 1058338032 + .long 1058551792 + .long 1058770234 + .long 1058993458 + .long 1059221571 + .long 1059454679 + .long 1059692891 + .long 1059936319 + .long 1060185078 + .long 1060439283 + .long 1060699055 + .long 1060964516 + .long 1061235789 + .long 1061513002 + .long 1061796286 + .long 1062085772 + .long 1062381598 + .long 1062683901 + .long 1062992824 + .long 1063308511 + .long 1063631111 + .long 1063960775 + .long 1064297658 + .long 1064641917 + .long 1064993715 + .long 0 + .long 2999887785 + .long 852465809 + .long 3003046475 + .long 2984291233 + .long 3001644133 + .long 854021668 + .long 2997748242 + .long 849550193 + .long 2995541347 + .long 851518274 + .long 809701978 + .long 2997656926 + .long 2996185864 + .long 2980965110 + .long 3002882728 + .long 844097402 + .long 848217591 + .long 2999013352 + .long 2992006718 + .long 831170615 + .long 3002278818 + .long 833158180 + .long 3000769962 + .long 2991891850 + .long 2999994908 + .long 2979965785 + .long 2982419430 + .long 2982221534 + .long 2999469642 + .long 833168438 + .long 2987538264 + .long 1056964608 + .long 1056605107 + .long 1056253309 + .long 1055909050 + .long 1055572167 + .long 1055242503 + .long 1054919903 + .long 1054604216 + .long 1054295293 + .long 1053992990 + .long 1053697164 + .long 1053407678 + .long 1053124394 + .long 1052847181 + .long 1052575908 + .long 1052310447 + .long 1052050675 + .long 1051796470 + .long 1051547711 + .long 1051304283 + .long 1051066071 + .long 1050832963 + .long 1050604850 + .long 1050381626 + .long 1050163184 + .long 1049949424 + .long 1049740243 + .long 1049535546 + .long 1049335234 + .long 1049139215 + .long 1048947395 + .long 1048759687 + .long 0 + .long 2979149656 + .long 824779830 + .long 2991081034 + .long 2973832926 + .long 2974030822 + .long 2971577177 + .long 2991606300 + .long 2983503242 + .long 2992381354 + .long 824769572 + .long 2993890210 + .long 822782007 + .long 2983618110 + .long 2990624744 + .long 839828983 + .long 835708794 + .long 2994494120 + .long 2972576502 + .long 2987797256 + .long 2989268318 + .long 801313370 + .long 843129666 + .long 2987152739 + .long 841161585 + .long 2989359634 + .long 845633060 + .long 2993255525 + .long 2975902625 + .long 2994657867 + .long 844077201 + .long 2991499177 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .type __svml_ssinh_data_internal,@object + .size __svml_ssinh_data_internal,1920 + .align 32 + +__ssinh_la_CoutTab: + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 1048019041 + .long 1072704666 + .long 1398474845 + .long 3161559171 + .long 3541402996 + .long 1072716208 + .long 2759177317 + .long 1015903202 + .long 410360776 + .long 1072727877 + .long 1269990655 + .long 1013024446 + .long 1828292879 + .long 1072739672 + .long 1255956747 + .long 1016636974 + .long 852742562 + .long 1072751596 + .long 667253587 + .long 1010842135 + .long 3490863953 + .long 1072763649 + .long 960797498 + .long 3163997456 + .long 2930322912 + .long 1072775834 + .long 2599499422 + .long 3163762623 + .long 1014845819 + .long 1072788152 + .long 3117910646 + .long 3162607681 + .long 3949972341 + .long 1072800603 + .long 2068408548 + .long 1015962444 + .long 828946858 + .long 1072813191 + .long 10642492 + .long 1016988014 + .long 2288159958 + .long 1072825915 + .long 2169144469 + .long 1015924597 + .long 1853186616 + .long 1072838778 + .long 3066496371 + .long 1016705150 + .long 1709341917 + .long 1072851781 + .long 2571168217 + .long 1015201075 + .long 4112506593 + .long 1072864925 + .long 2947355221 + .long 1015419624 + .long 2799960843 + .long 1072878213 + .long 1423655381 + .long 1016070727 + .long 171030293 + .long 1072891646 + .long 3526460132 + .long 1015477354 + .long 2992903935 + .long 1072905224 + .long 2218154406 + .long 1016276769 + .long 926591435 + .long 1072918951 + .long 3208833762 + .long 3163962090 + .long 887463927 + .long 1072932827 + .long 3596744163 + .long 3161842742 + .long 1276261410 + .long 1072946854 + .long 300981948 + .long 1015732745 + .long 569847338 + .long 1072961034 + .long 472945272 + .long 3160339305 + .long 1617004845 + .long 1072975368 + .long 82804944 + .long 1011391354 + .long 3049340112 + .long 1072989858 + .long 3062915824 + .long 1014219171 + .long 3577096743 + .long 1073004506 + .long 2951496418 + .long 1014842263 + .long 1990012071 + .long 1073019314 + .long 3529070563 + .long 3163861769 + .long 1453150082 + .long 1073034283 + .long 498154669 + .long 3162536638 + .long 917841882 + .long 1073049415 + .long 18715565 + .long 1016707884 + .long 3712504873 + .long 1073064711 + .long 88491949 + .long 1016476236 + .long 363667784 + .long 1073080175 + .long 813753950 + .long 1016833785 + .long 2956612997 + .long 1073095806 + .long 2118169751 + .long 3163784129 + .long 2186617381 + .long 1073111608 + .long 2270764084 + .long 3164321289 + .long 1719614413 + .long 1073127582 + .long 330458198 + .long 3164331316 + .long 1013258799 + .long 1073143730 + .long 1748797611 + .long 3161177658 + .long 3907805044 + .long 1073160053 + .long 2257091225 + .long 3162598983 + .long 1447192521 + .long 1073176555 + .long 1462857171 + .long 3163563097 + .long 1944781191 + .long 1073193236 + .long 3993278767 + .long 3162772855 + .long 919555682 + .long 1073210099 + .long 3121969534 + .long 1013996802 + .long 2571947539 + .long 1073227145 + .long 3558159064 + .long 3164425245 + .long 2604962541 + .long 1073244377 + .long 2614425274 + .long 3164587768 + .long 1110089947 + .long 1073261797 + .long 1451641639 + .long 1016523249 + .long 2568320822 + .long 1073279406 + .long 2732824428 + .long 1015401491 + .long 2966275557 + .long 1073297207 + .long 2176155324 + .long 3160891335 + .long 2682146384 + .long 1073315202 + .long 2082178513 + .long 3164411995 + .long 2191782032 + .long 1073333393 + .long 2960257726 + .long 1014791238 + .long 2069751141 + .long 1073351782 + .long 1562170675 + .long 3163773257 + .long 2990417245 + .long 1073370371 + .long 3683467745 + .long 3164417902 + .long 1434058175 + .long 1073389163 + .long 251133233 + .long 1016134345 + .long 2572866477 + .long 1073408159 + .long 878562433 + .long 1016570317 + .long 3092190715 + .long 1073427362 + .long 814012168 + .long 3160571998 + .long 4076559943 + .long 1073446774 + .long 2119478331 + .long 3161806927 + .long 2420883922 + .long 1073466398 + .long 2049810052 + .long 1015168464 + .long 3716502172 + .long 1073486235 + .long 2303740125 + .long 1015091301 + .long 777507147 + .long 1073506289 + .long 4282924205 + .long 1016236109 + .long 3706687593 + .long 1073526560 + .long 3521726939 + .long 1014301643 + .long 1242007932 + .long 1073547053 + .long 1132034716 + .long 3164388407 + .long 3707479175 + .long 1073567768 + .long 3613079303 + .long 1015213314 + .long 64696965 + .long 1073588710 + .long 1768797490 + .long 1016865536 + .long 863738719 + .long 1073609879 + .long 1326992220 + .long 3163661773 + .long 3884662774 + .long 1073631278 + .long 2158611599 + .long 1015258761 + .long 2728693978 + .long 1073652911 + .long 396109971 + .long 3164511267 + .long 3999357479 + .long 1073674779 + .long 2258941616 + .long 1016973300 + .long 1533953344 + .long 1073696886 + .long 769171851 + .long 1016714209 + .long 2174652632 + .long 1073719233 + .long 4087714590 + .long 1015498835 + .long 0 + .long 1073741824 + .long 0 + .long 0 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 1431655765 + .long 1069897045 + .long 286331153 + .long 1065423121 + .long 436314138 + .long 1059717536 + .long 2773927732 + .long 1053236707 + .long 1697350398 + .long 1079448903 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 2684354560 + .long 1079401119 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1 + .long 1048576 + .long 4294967295 + .long 2146435071 + .long 3671843104 + .long 1067178892 + .long 3875694624 + .long 1077247184 + .type __ssinh_la_CoutTab,@object + .size __ssinh_la_CoutTab,1192 + .space 8, 0x00 + .align 16 + +.FLT_98: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_98,@object + .size .FLT_98,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core-sse2.S new file mode 100644 index 0000000000..1b31095fe1 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized sinhf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_sinhf _ZGVbN4v_sinhf_sse2 +#include "../svml_s_sinhf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core.c new file mode 100644 index 0000000000..9d4297c2c9 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized sinhf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_sinhf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_sinhf, __GI__ZGVbN4v_sinhf, + __redirect__ZGVbN4v_sinhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core_sse4.S new file mode 100644 index 0000000000..a37e0daba4 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core_sse4.S @@ -0,0 +1,2238 @@ +/* Function sinhf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute sinh(x) as (exp(x)-exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * sinh(NaN) = quiet NaN, and raise invalid exception + * sinh(INF) = that INF + * sinh(x) = x for subnormals + * sinh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_sinhf_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + +/* + * Implementation + * Abs argument + */ + movups 1152+__svml_ssinh_data_internal(%rip), %xmm1 + andps %xmm0, %xmm1 + movaps %xmm1, %xmm2 + +/* + * Load argument + * dM = x/log(2) + RShifter + */ + movups 960+__svml_ssinh_data_internal(%rip), %xmm7 + pxor %xmm0, %xmm2 + mulps %xmm2, %xmm7 + +/* + * Check for overflow\underflow + * MORE faster than GE? + */ + movaps %xmm2, %xmm4 + movups 1280+__svml_ssinh_data_internal(%rip), %xmm5 + pcmpgtd 1408+__svml_ssinh_data_internal(%rip), %xmm4 + addps %xmm5, %xmm7 + movmskps %xmm4, %edx + +/* + * R + * sN = sM - RShifter + */ + movaps %xmm7, %xmm6 + +/* + * G1,G2 2^N,2^(-N) + * iM now is an EXP(2^N) + */ + pslld $23, %xmm7 + +/* sR = sX - sN*Log2_hi */ + movups 1024+__svml_ssinh_data_internal(%rip), %xmm4 + subps %xmm5, %xmm6 + mulps %xmm6, %xmm4 + +/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + movups 1088+__svml_ssinh_data_internal(%rip), %xmm5 + subps %xmm4, %xmm2 + mulps %xmm6, %xmm5 + movdqu 1856+__svml_ssinh_data_internal(%rip), %xmm3 + subps %xmm5, %xmm2 + +/* sR2 = sR^2 */ + movaps %xmm2, %xmm5 + movdqa %xmm3, %xmm4 + mulps %xmm2, %xmm5 + paddd %xmm7, %xmm4 + movdqa %xmm3, %xmm6 + +/* sG1 = 2^(N-1)+2^(-N-1) */ + movdqa %xmm4, %xmm3 + psubd %xmm7, %xmm6 + +/* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... + * sSinh_r = (a3+r^2*a5) + */ + movups 1728+__svml_ssinh_data_internal(%rip), %xmm7 + addps %xmm6, %xmm3 + mulps %xmm5, %xmm7 + +/* sG2 = 2^(N-1)-2^(-N-1) */ + subps %xmm6, %xmm4 + +/* + * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) + * sOut = (a4 +a6*sR2) + */ + movups 1792+__svml_ssinh_data_internal(%rip), %xmm6 + mulps %xmm5, %xmm6 + addps 1600+__svml_ssinh_data_internal(%rip), %xmm7 + +/* sSinh_r = r^2*(a3+r^2*a5) */ + mulps %xmm5, %xmm7 + addps 1664+__svml_ssinh_data_internal(%rip), %xmm6 + +/* sOut = a2+sR2*(a4+a6*sR2) */ + mulps %xmm5, %xmm6 + +/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + mulps %xmm2, %xmm7 + addps 1536+__svml_ssinh_data_internal(%rip), %xmm6 + addps %xmm7, %xmm2 + +/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm6, %xmm5 + +/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm2, %xmm3 + +/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm4, %xmm5 + addps %xmm3, %xmm5 + +/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + addps %xmm5, %xmm4 + +/* Ret H */ + orps %xmm4, %xmm1 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + movaps %xmm1, %xmm0 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + +.LBL_1_3: + movups %xmm0, 192(%rsp) + movups %xmm1, 256(%rsp) + xorl %eax, %eax + movups %xmm8, 112(%rsp) + movups %xmm9, 96(%rsp) + movups %xmm10, 80(%rsp) + movups %xmm11, 64(%rsp) + movups %xmm12, 48(%rsp) + movups %xmm13, 32(%rsp) + movups %xmm14, 16(%rsp) + movups %xmm15, (%rsp) + movq %rsi, 136(%rsp) + movq %rdi, 128(%rsp) + movq %r12, 152(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 144(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 112(%rsp), %xmm8 + cfi_restore(25) + movups 96(%rsp), %xmm9 + cfi_restore(26) + movups 80(%rsp), %xmm10 + cfi_restore(27) + movups 64(%rsp), %xmm11 + cfi_restore(28) + movups 48(%rsp), %xmm12 + cfi_restore(29) + movups 32(%rsp), %xmm13 + cfi_restore(30) + movups 16(%rsp), %xmm14 + cfi_restore(31) + movups (%rsp), %xmm15 + cfi_restore(32) + movq 136(%rsp), %rsi + cfi_restore(4) + movq 128(%rsp), %rdi + cfi_restore(5) + movq 152(%rsp), %r12 + cfi_restore(12) + movq 144(%rsp), %r13 + cfi_restore(13) + movups 256(%rsp), %xmm1 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 192(%rsp,%r12,4), %rdi + lea 256(%rsp,%r12,4), %rsi + call __svml_ssinh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_sinhf_sse4) + + .align 16,0x90 + +__svml_ssinh_cout_rare_internal: + + cfi_startproc + + movq %rsi, %r9 + movzwl 2(%rdi), %edx + xorl %eax, %eax + andl $32640, %edx + movss (%rdi), %xmm2 + cmpl $32640, %edx + je .LBL_2_17 + cvtss2sd %xmm2, %xmm2 + movsd %xmm2, -8(%rsp) + movzwl -2(%rsp), %edx + andl $32752, %edx + movsd %xmm2, -32(%rsp) + shrl $4, %edx + andb $127, -25(%rsp) + testl %edx, %edx + jle .LBL_2_16 + cmpl $969, %edx + jle .LBL_2_14 + movsd -32(%rsp), %xmm0 + movsd 1136+__ssinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_13 + movsd 1184+__ssinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_9 + comisd 1176+__ssinh_la_CoutTab(%rip), %xmm0 + jb .LBL_2_8 + movsd 1112+__ssinh_la_CoutTab(%rip), %xmm3 + lea __ssinh_la_CoutTab(%rip), %rcx + mulsd %xmm0, %xmm3 + movsd 1144+__ssinh_la_CoutTab(%rip), %xmm10 + movq 8+__ssinh_la_CoutTab(%rip), %r10 + movq %r10, %rsi + shrq $48, %rsi + addsd 1120+__ssinh_la_CoutTab(%rip), %xmm3 + movsd %xmm3, -40(%rsp) + andl $-32753, %esi + movsd -40(%rsp), %xmm13 + movl -40(%rsp), %r8d + movl %r8d, %r11d + shrl $6, %r11d + andl $63, %r8d + movq %r10, -16(%rsp) + subsd 1120+__ssinh_la_CoutTab(%rip), %xmm13 + mulsd %xmm13, %xmm10 + lea 1023(%r11), %edi + xorps .FLT_100(%rip), %xmm13 + addl $1022, %r11d + mulsd 1152+__ssinh_la_CoutTab(%rip), %xmm13 + subsd %xmm10, %xmm0 + movaps %xmm0, %xmm5 + movaps %xmm0, %xmm11 + andl $2047, %r11d + lea (%r8,%r8), %edx + negl %edi + lea 1(%r8,%r8), %r8d + movsd (%rcx,%rdx,8), %xmm8 + negl %edx + shll $4, %r11d + addl $-4, %edi + orl %r11d, %esi + andl $2047, %edi + movw %si, -10(%rsp) + andl $-32753, %esi + shll $4, %edi + addsd %xmm13, %xmm5 + movsd %xmm5, -24(%rsp) + orl %edi, %esi + movsd -24(%rsp), %xmm7 + movsd 1128+__ssinh_la_CoutTab(%rip), %xmm5 + subsd %xmm7, %xmm11 + movsd %xmm11, -56(%rsp) + movsd -24(%rsp), %xmm4 + movsd -56(%rsp), %xmm12 + movsd (%rcx,%r8,8), %xmm6 + addsd %xmm12, %xmm4 + movsd %xmm4, -48(%rsp) + movsd -56(%rsp), %xmm9 + movsd -16(%rsp), %xmm4 + addsd %xmm9, %xmm13 + mulsd %xmm4, %xmm8 + mulsd %xmm4, %xmm6 + movsd %xmm13, -56(%rsp) + movaps %xmm8, %xmm9 + movsd -48(%rsp), %xmm15 + movw %si, -10(%rsp) + lea 128(%rdx), %esi + movsd -16(%rsp), %xmm14 + addl $129, %edx + subsd %xmm15, %xmm0 + movaps %xmm8, %xmm15 + movsd %xmm0, -48(%rsp) + movsd -56(%rsp), %xmm3 + movsd -48(%rsp), %xmm0 + addsd %xmm0, %xmm3 + movsd %xmm3, -48(%rsp) + movsd -24(%rsp), %xmm10 + mulsd %xmm10, %xmm5 + movaps %xmm10, %xmm2 + mulsd %xmm10, %xmm2 + movsd -48(%rsp), %xmm3 + movaps %xmm10, %xmm1 + movsd %xmm5, -24(%rsp) + movsd -24(%rsp), %xmm7 + subsd %xmm10, %xmm7 + movsd %xmm7, -56(%rsp) + movsd -24(%rsp), %xmm12 + movsd -56(%rsp), %xmm11 + subsd %xmm11, %xmm12 + movsd 1064+__ssinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm2, %xmm11 + movsd %xmm12, -24(%rsp) + movsd 1072+__ssinh_la_CoutTab(%rip), %xmm12 + mulsd %xmm2, %xmm12 + addsd 1048+__ssinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm2, %xmm11 + addsd 1056+__ssinh_la_CoutTab(%rip), %xmm12 + mulsd %xmm2, %xmm12 + mulsd %xmm10, %xmm11 + addsd 1040+__ssinh_la_CoutTab(%rip), %xmm12 + addsd %xmm11, %xmm10 + mulsd %xmm2, %xmm12 + movsd (%rcx,%rsi,8), %xmm2 + mulsd %xmm14, %xmm2 + movsd -24(%rsp), %xmm0 + subsd %xmm2, %xmm9 + subsd %xmm0, %xmm1 + movsd %xmm1, -56(%rsp) + movsd -24(%rsp), %xmm7 + movsd -56(%rsp), %xmm5 + movsd %xmm9, -24(%rsp) + movsd -24(%rsp), %xmm13 + movsd (%rcx,%rdx,8), %xmm1 + subsd %xmm13, %xmm15 + mulsd %xmm14, %xmm1 + subsd %xmm2, %xmm15 + movsd %xmm15, -56(%rsp) + movaps %xmm8, %xmm13 + movsd -24(%rsp), %xmm14 + addsd %xmm2, %xmm13 + movsd -56(%rsp), %xmm9 + movaps %xmm14, %xmm0 + movb -1(%rsp), %cl + addsd %xmm6, %xmm9 + addsd %xmm1, %xmm6 + subsd %xmm1, %xmm9 + andb $-128, %cl + addsd %xmm9, %xmm0 + movsd %xmm0, -24(%rsp) + movsd -24(%rsp), %xmm4 + subsd %xmm4, %xmm14 + addsd %xmm14, %xmm9 + movsd %xmm9, -56(%rsp) + movsd -24(%rsp), %xmm9 + movsd -56(%rsp), %xmm0 + movsd %xmm13, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm8 + addsd %xmm8, %xmm2 + movsd %xmm2, -56(%rsp) + movsd -24(%rsp), %xmm2 + movsd -56(%rsp), %xmm4 + addsd %xmm6, %xmm4 + movaps %xmm2, %xmm6 + addsd %xmm4, %xmm6 + movsd %xmm6, -24(%rsp) + movsd -24(%rsp), %xmm8 + movsd 1128+__ssinh_la_CoutTab(%rip), %xmm6 + subsd %xmm8, %xmm2 + addsd %xmm2, %xmm4 + movsd %xmm4, -56(%rsp) + movsd -24(%rsp), %xmm1 + mulsd %xmm1, %xmm6 + movsd -56(%rsp), %xmm2 + movsd %xmm6, -24(%rsp) + movaps %xmm1, %xmm6 + movsd -24(%rsp), %xmm14 + mulsd %xmm2, %xmm10 + subsd %xmm1, %xmm14 + movsd %xmm14, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm8 + subsd %xmm8, %xmm13 + movsd %xmm13, -24(%rsp) + movaps %xmm11, %xmm13 + movsd -24(%rsp), %xmm15 + mulsd %xmm1, %xmm13 + subsd %xmm15, %xmm6 + mulsd %xmm3, %xmm1 + mulsd %xmm2, %xmm3 + movaps %xmm12, %xmm15 + movaps %xmm13, %xmm4 + mulsd %xmm9, %xmm15 + mulsd %xmm0, %xmm12 + addsd %xmm15, %xmm4 + addsd %xmm0, %xmm12 + movsd %xmm6, -56(%rsp) + addsd %xmm1, %xmm12 + movsd -24(%rsp), %xmm8 + addsd %xmm3, %xmm12 + movsd -56(%rsp), %xmm6 + movsd %xmm4, -24(%rsp) + movsd -24(%rsp), %xmm14 + subsd %xmm14, %xmm13 + addsd %xmm13, %xmm15 + movsd %xmm15, -56(%rsp) + movaps %xmm7, %xmm15 + mulsd %xmm8, %xmm15 + mulsd %xmm5, %xmm8 + mulsd %xmm6, %xmm5 + mulsd %xmm6, %xmm7 + movsd -24(%rsp), %xmm14 + movaps %xmm14, %xmm13 + movsd -56(%rsp), %xmm4 + addsd %xmm15, %xmm13 + addsd %xmm8, %xmm4 + movsd %xmm13, -24(%rsp) + addsd %xmm5, %xmm4 + movsd -24(%rsp), %xmm13 + addsd %xmm7, %xmm4 + subsd %xmm13, %xmm15 + addsd %xmm4, %xmm12 + addsd %xmm15, %xmm14 + movsd %xmm14, -56(%rsp) + movaps %xmm9, %xmm15 + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm14 + addsd %xmm13, %xmm15 + addsd %xmm14, %xmm12 + movsd %xmm15, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm9 + addsd %xmm9, %xmm13 + movsd %xmm13, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm9 + addsd %xmm9, %xmm12 + addsd %xmm12, %xmm13 + addsd %xmm13, %xmm10 + movsd %xmm10, -32(%rsp) + movb -25(%rsp), %dil + andb $127, %dil + orb %cl, %dil + movb %dil, -25(%rsp) + movsd -32(%rsp), %xmm10 + cvtsd2ss %xmm10, %xmm10 + movss %xmm10, (%r9) + ret + +.LBL_2_8: + movaps %xmm0, %xmm2 + mulsd %xmm0, %xmm2 + movsd 1104+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + movb -1(%rsp), %dl + andb $-128, %dl + addsd 1096+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1088+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1080+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm1, %xmm2 + mulsd %xmm0, %xmm2 + addsd %xmm2, %xmm0 + movsd %xmm0, -32(%rsp) + movb -25(%rsp), %cl + andb $127, %cl + orb %dl, %cl + movb %cl, -25(%rsp) + movsd -32(%rsp), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_9: + movsd 1112+__ssinh_la_CoutTab(%rip), %xmm1 + lea __ssinh_la_CoutTab(%rip), %r8 + mulsd %xmm0, %xmm1 + movsd 1144+__ssinh_la_CoutTab(%rip), %xmm2 + movsd 1152+__ssinh_la_CoutTab(%rip), %xmm3 + movq 8+__ssinh_la_CoutTab(%rip), %rdx + movq %rdx, -16(%rsp) + addsd 1120+__ssinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm4 + movsd 1072+__ssinh_la_CoutTab(%rip), %xmm1 + movl -40(%rsp), %edx + movl %edx, %esi + andl $63, %esi + subsd 1120+__ssinh_la_CoutTab(%rip), %xmm4 + mulsd %xmm4, %xmm2 + lea (%rsi,%rsi), %ecx + mulsd %xmm3, %xmm4 + subsd %xmm2, %xmm0 + movsd (%r8,%rcx,8), %xmm5 + lea 1(%rsi,%rsi), %edi + shrl $6, %edx + subsd %xmm4, %xmm0 + mulsd %xmm0, %xmm1 + addl $1022, %edx + andl $2047, %edx + addsd 1064+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1056+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1048+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1040+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + addsd %xmm0, %xmm1 + mulsd %xmm5, %xmm1 + addsd (%r8,%rdi,8), %xmm1 + addsd %xmm5, %xmm1 + cmpl $2046, %edx + ja .LBL_2_11 + movq 8+__ssinh_la_CoutTab(%rip), %rcx + shrq $48, %rcx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm1, %xmm0 + movsd %xmm0, -32(%rsp) + jmp .LBL_2_12 + +.LBL_2_11: + decl %edx + andl $2047, %edx + movzwl -10(%rsp), %ecx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm1, %xmm0 + mulsd 1024+__ssinh_la_CoutTab(%rip), %xmm0 + movsd %xmm0, -32(%rsp) + +.LBL_2_12: + movb -25(%rsp), %cl + movb -1(%rsp), %dl + andb $127, %cl + andb $-128, %dl + orb %dl, %cl + movb %cl, -25(%rsp) + movsd -32(%rsp), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_13: + movsd 1168+__ssinh_la_CoutTab(%rip), %xmm0 + movl $3, %eax + mulsd %xmm2, %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_14: + movsd __ssinh_la_CoutTab(%rip), %xmm0 + addsd 1160+__ssinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm2, %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_16: + movsd 1160+__ssinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm0, %xmm2 + movsd %xmm2, -24(%rsp) + pxor %xmm2, %xmm2 + cvtss2sd (%rdi), %xmm2 + movsd -24(%rsp), %xmm1 + movq 8+__ssinh_la_CoutTab(%rip), %rdx + addsd %xmm1, %xmm2 + cvtsd2ss %xmm2, %xmm2 + movq %rdx, -16(%rsp) + movss %xmm2, (%r9) + ret + +.LBL_2_17: + addss %xmm2, %xmm2 + movss %xmm2, (%r9) + ret + + cfi_endproc + + .type __svml_ssinh_cout_rare_internal,@function + .size __svml_ssinh_cout_rare_internal,.-__svml_ssinh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_ssinh_data_internal: + .long 1056964608 + .long 1057148295 + .long 1057336003 + .long 1057527823 + .long 1057723842 + .long 1057924154 + .long 1058128851 + .long 1058338032 + .long 1058551792 + .long 1058770234 + .long 1058993458 + .long 1059221571 + .long 1059454679 + .long 1059692891 + .long 1059936319 + .long 1060185078 + .long 1060439283 + .long 1060699055 + .long 1060964516 + .long 1061235789 + .long 1061513002 + .long 1061796286 + .long 1062085772 + .long 1062381598 + .long 1062683901 + .long 1062992824 + .long 1063308511 + .long 1063631111 + .long 1063960775 + .long 1064297658 + .long 1064641917 + .long 1064993715 + .long 0 + .long 2999887785 + .long 852465809 + .long 3003046475 + .long 2984291233 + .long 3001644133 + .long 854021668 + .long 2997748242 + .long 849550193 + .long 2995541347 + .long 851518274 + .long 809701978 + .long 2997656926 + .long 2996185864 + .long 2980965110 + .long 3002882728 + .long 844097402 + .long 848217591 + .long 2999013352 + .long 2992006718 + .long 831170615 + .long 3002278818 + .long 833158180 + .long 3000769962 + .long 2991891850 + .long 2999994908 + .long 2979965785 + .long 2982419430 + .long 2982221534 + .long 2999469642 + .long 833168438 + .long 2987538264 + .long 1056964608 + .long 1056605107 + .long 1056253309 + .long 1055909050 + .long 1055572167 + .long 1055242503 + .long 1054919903 + .long 1054604216 + .long 1054295293 + .long 1053992990 + .long 1053697164 + .long 1053407678 + .long 1053124394 + .long 1052847181 + .long 1052575908 + .long 1052310447 + .long 1052050675 + .long 1051796470 + .long 1051547711 + .long 1051304283 + .long 1051066071 + .long 1050832963 + .long 1050604850 + .long 1050381626 + .long 1050163184 + .long 1049949424 + .long 1049740243 + .long 1049535546 + .long 1049335234 + .long 1049139215 + .long 1048947395 + .long 1048759687 + .long 0 + .long 2979149656 + .long 824779830 + .long 2991081034 + .long 2973832926 + .long 2974030822 + .long 2971577177 + .long 2991606300 + .long 2983503242 + .long 2992381354 + .long 824769572 + .long 2993890210 + .long 822782007 + .long 2983618110 + .long 2990624744 + .long 839828983 + .long 835708794 + .long 2994494120 + .long 2972576502 + .long 2987797256 + .long 2989268318 + .long 801313370 + .long 843129666 + .long 2987152739 + .long 841161585 + .long 2989359634 + .long 845633060 + .long 2993255525 + .long 2975902625 + .long 2994657867 + .long 844077201 + .long 2991499177 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 31 + .long 31 + .long 31 + .long 31 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 31 + .long 31 + .long 31 + .long 31 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_ssinh_data_internal,@object + .size __svml_ssinh_data_internal,1920 + .align 32 + +__ssinh_la_CoutTab: + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 1048019041 + .long 1072704666 + .long 1398474845 + .long 3161559171 + .long 3541402996 + .long 1072716208 + .long 2759177317 + .long 1015903202 + .long 410360776 + .long 1072727877 + .long 1269990655 + .long 1013024446 + .long 1828292879 + .long 1072739672 + .long 1255956747 + .long 1016636974 + .long 852742562 + .long 1072751596 + .long 667253587 + .long 1010842135 + .long 3490863953 + .long 1072763649 + .long 960797498 + .long 3163997456 + .long 2930322912 + .long 1072775834 + .long 2599499422 + .long 3163762623 + .long 1014845819 + .long 1072788152 + .long 3117910646 + .long 3162607681 + .long 3949972341 + .long 1072800603 + .long 2068408548 + .long 1015962444 + .long 828946858 + .long 1072813191 + .long 10642492 + .long 1016988014 + .long 2288159958 + .long 1072825915 + .long 2169144469 + .long 1015924597 + .long 1853186616 + .long 1072838778 + .long 3066496371 + .long 1016705150 + .long 1709341917 + .long 1072851781 + .long 2571168217 + .long 1015201075 + .long 4112506593 + .long 1072864925 + .long 2947355221 + .long 1015419624 + .long 2799960843 + .long 1072878213 + .long 1423655381 + .long 1016070727 + .long 171030293 + .long 1072891646 + .long 3526460132 + .long 1015477354 + .long 2992903935 + .long 1072905224 + .long 2218154406 + .long 1016276769 + .long 926591435 + .long 1072918951 + .long 3208833762 + .long 3163962090 + .long 887463927 + .long 1072932827 + .long 3596744163 + .long 3161842742 + .long 1276261410 + .long 1072946854 + .long 300981948 + .long 1015732745 + .long 569847338 + .long 1072961034 + .long 472945272 + .long 3160339305 + .long 1617004845 + .long 1072975368 + .long 82804944 + .long 1011391354 + .long 3049340112 + .long 1072989858 + .long 3062915824 + .long 1014219171 + .long 3577096743 + .long 1073004506 + .long 2951496418 + .long 1014842263 + .long 1990012071 + .long 1073019314 + .long 3529070563 + .long 3163861769 + .long 1453150082 + .long 1073034283 + .long 498154669 + .long 3162536638 + .long 917841882 + .long 1073049415 + .long 18715565 + .long 1016707884 + .long 3712504873 + .long 1073064711 + .long 88491949 + .long 1016476236 + .long 363667784 + .long 1073080175 + .long 813753950 + .long 1016833785 + .long 2956612997 + .long 1073095806 + .long 2118169751 + .long 3163784129 + .long 2186617381 + .long 1073111608 + .long 2270764084 + .long 3164321289 + .long 1719614413 + .long 1073127582 + .long 330458198 + .long 3164331316 + .long 1013258799 + .long 1073143730 + .long 1748797611 + .long 3161177658 + .long 3907805044 + .long 1073160053 + .long 2257091225 + .long 3162598983 + .long 1447192521 + .long 1073176555 + .long 1462857171 + .long 3163563097 + .long 1944781191 + .long 1073193236 + .long 3993278767 + .long 3162772855 + .long 919555682 + .long 1073210099 + .long 3121969534 + .long 1013996802 + .long 2571947539 + .long 1073227145 + .long 3558159064 + .long 3164425245 + .long 2604962541 + .long 1073244377 + .long 2614425274 + .long 3164587768 + .long 1110089947 + .long 1073261797 + .long 1451641639 + .long 1016523249 + .long 2568320822 + .long 1073279406 + .long 2732824428 + .long 1015401491 + .long 2966275557 + .long 1073297207 + .long 2176155324 + .long 3160891335 + .long 2682146384 + .long 1073315202 + .long 2082178513 + .long 3164411995 + .long 2191782032 + .long 1073333393 + .long 2960257726 + .long 1014791238 + .long 2069751141 + .long 1073351782 + .long 1562170675 + .long 3163773257 + .long 2990417245 + .long 1073370371 + .long 3683467745 + .long 3164417902 + .long 1434058175 + .long 1073389163 + .long 251133233 + .long 1016134345 + .long 2572866477 + .long 1073408159 + .long 878562433 + .long 1016570317 + .long 3092190715 + .long 1073427362 + .long 814012168 + .long 3160571998 + .long 4076559943 + .long 1073446774 + .long 2119478331 + .long 3161806927 + .long 2420883922 + .long 1073466398 + .long 2049810052 + .long 1015168464 + .long 3716502172 + .long 1073486235 + .long 2303740125 + .long 1015091301 + .long 777507147 + .long 1073506289 + .long 4282924205 + .long 1016236109 + .long 3706687593 + .long 1073526560 + .long 3521726939 + .long 1014301643 + .long 1242007932 + .long 1073547053 + .long 1132034716 + .long 3164388407 + .long 3707479175 + .long 1073567768 + .long 3613079303 + .long 1015213314 + .long 64696965 + .long 1073588710 + .long 1768797490 + .long 1016865536 + .long 863738719 + .long 1073609879 + .long 1326992220 + .long 3163661773 + .long 3884662774 + .long 1073631278 + .long 2158611599 + .long 1015258761 + .long 2728693978 + .long 1073652911 + .long 396109971 + .long 3164511267 + .long 3999357479 + .long 1073674779 + .long 2258941616 + .long 1016973300 + .long 1533953344 + .long 1073696886 + .long 769171851 + .long 1016714209 + .long 2174652632 + .long 1073719233 + .long 4087714590 + .long 1015498835 + .long 0 + .long 1073741824 + .long 0 + .long 0 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 1431655765 + .long 1069897045 + .long 286331153 + .long 1065423121 + .long 436314138 + .long 1059717536 + .long 2773927732 + .long 1053236707 + .long 1697350398 + .long 1079448903 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 2684354560 + .long 1079401119 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1 + .long 1048576 + .long 4294967295 + .long 2146435071 + .long 3671843104 + .long 1067178892 + .long 3875694624 + .long 1077247184 + .type __ssinh_la_CoutTab,@object + .size __ssinh_la_CoutTab,1192 + .space 8, 0x00 + .align 16 + +.FLT_100: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_100,@object + .size .FLT_100,16 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core-sse.S new file mode 100644 index 0000000000..d3c9c607a0 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized sinhf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_sinhf _ZGVdN8v_sinhf_sse_wrapper +#include "../svml_s_sinhf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core.c new file mode 100644 index 0000000000..2a2e21e742 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized sinhf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_sinhf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_sinhf, __GI__ZGVdN8v_sinhf, + __redirect__ZGVdN8v_sinhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core_avx2.S new file mode 100644 index 0000000000..40ad31ccdc --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core_avx2.S @@ -0,0 +1,1958 @@ +/* Function sinhf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * Compute sinh(x) as (exp(x)-exp(-x))/2, + * where exp is calculated as + * exp(M*ln2 + ln2*(j/2^k) + r) = 2^M * 2^(j/2^k) * exp(r) + * + * Special cases: + * + * sinh(NaN) = quiet NaN, and raise invalid exception + * sinh(INF) = that INF + * sinh(x) = x for subnormals + * sinh(x) overflows for big x and returns MAXLOG+log(2) + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_sinhf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + vmovups 1280+__svml_ssinh_data_internal(%rip), %ymm3 + +/* + * Load argument + * dM = x/log(2) + RShifter + */ + vmovups 960+__svml_ssinh_data_internal(%rip), %ymm5 + vmovups %ymm8, 32(%rsp) + vmovups 1856+__svml_ssinh_data_internal(%rip), %ymm6 + vmovups %ymm9, 96(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm13, 256(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm14, 288(%rsp) + vmovaps %ymm0, %ymm1 + +/* + * Implementation + * Abs argument + */ + vandps 1152+__svml_ssinh_data_internal(%rip), %ymm1, %ymm0 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vxorps %ymm1, %ymm0, %ymm8 + vfmadd213ps %ymm3, %ymm8, %ymm5 + +/* + * R + * sN = sM - RShifter + */ + vsubps %ymm3, %ymm5, %ymm4 + +/* + * G1,G2 2^N,2^(-N) + * iM now is an EXP(2^N) + */ + vpslld $23, %ymm5, %ymm7 + +/* + * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) + * sOut = (a4 +a6*sR2) + */ + vmovups 1792+__svml_ssinh_data_internal(%rip), %ymm5 + +/* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... + * sSinh_r = (a3+r^2*a5) + */ + vmovups 1728+__svml_ssinh_data_internal(%rip), %ymm3 + +/* + * Check for overflow\underflow + * MORE faster than GE? + */ + vpcmpgtd 1408+__svml_ssinh_data_internal(%rip), %ymm8, %ymm2 + +/* sR = sX - sN*Log2_hi */ + vfnmadd231ps 1024+__svml_ssinh_data_internal(%rip), %ymm4, %ymm8 + +/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + vfnmadd231ps 1088+__svml_ssinh_data_internal(%rip), %ymm4, %ymm8 + +/* sR2 = sR^2 */ + vmulps %ymm8, %ymm8, %ymm4 + vfmadd213ps 1664+__svml_ssinh_data_internal(%rip), %ymm4, %ymm5 + vfmadd213ps 1600+__svml_ssinh_data_internal(%rip), %ymm4, %ymm3 + +/* sOut = a2+sR2*(a4+a6*sR2) */ + vfmadd213ps 1536+__svml_ssinh_data_internal(%rip), %ymm4, %ymm5 + +/* sSinh_r = r^2*(a3+r^2*a5) */ + vmulps %ymm3, %ymm4, %ymm9 + vmovmskps %ymm2, %edx + vpaddd %ymm7, %ymm6, %ymm2 + vpsubd %ymm7, %ymm6, %ymm6 + +/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps %ymm5, %ymm4, %ymm7 + +/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + vfmadd213ps %ymm8, %ymm8, %ymm9 + +/* sG2 = 2^(N-1)-2^(-N-1) */ + vsubps %ymm6, %ymm2, %ymm11 + +/* sG1 = 2^(N-1)+2^(-N-1) */ + vaddps %ymm6, %ymm2, %ymm12 + +/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps %ymm7, %ymm11, %ymm10 + +/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vfmadd213ps %ymm10, %ymm9, %ymm12 + +/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vaddps %ymm12, %ymm11, %ymm13 + +/* Ret H */ + vorps %ymm13, %ymm0, %ymm0 + testl %edx, %edx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm1, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,4), %rdi + lea 128(%rsp,%r12,4), %rsi + call __svml_ssinh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_sinhf_avx2) + + .align 16,0x90 + +__svml_ssinh_cout_rare_internal: + + cfi_startproc + + movq %rsi, %r9 + movzwl 2(%rdi), %edx + xorl %eax, %eax + andl $32640, %edx + movss (%rdi), %xmm2 + cmpl $32640, %edx + je .LBL_2_17 + cvtss2sd %xmm2, %xmm2 + movsd %xmm2, -8(%rsp) + movzwl -2(%rsp), %edx + andl $32752, %edx + movsd %xmm2, -32(%rsp) + shrl $4, %edx + andb $127, -25(%rsp) + testl %edx, %edx + jle .LBL_2_16 + cmpl $969, %edx + jle .LBL_2_14 + movsd -32(%rsp), %xmm0 + movsd 1136+__ssinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_13 + movsd 1184+__ssinh_la_CoutTab(%rip), %xmm1 + comisd %xmm0, %xmm1 + jbe .LBL_2_9 + comisd 1176+__ssinh_la_CoutTab(%rip), %xmm0 + jb .LBL_2_8 + movsd 1112+__ssinh_la_CoutTab(%rip), %xmm3 + lea __ssinh_la_CoutTab(%rip), %rcx + mulsd %xmm0, %xmm3 + movsd 1144+__ssinh_la_CoutTab(%rip), %xmm10 + movq 8+__ssinh_la_CoutTab(%rip), %r10 + movq %r10, %rsi + shrq $48, %rsi + addsd 1120+__ssinh_la_CoutTab(%rip), %xmm3 + movsd %xmm3, -40(%rsp) + andl $-32753, %esi + movsd -40(%rsp), %xmm13 + movl -40(%rsp), %r8d + movl %r8d, %r11d + shrl $6, %r11d + andl $63, %r8d + movq %r10, -16(%rsp) + subsd 1120+__ssinh_la_CoutTab(%rip), %xmm13 + mulsd %xmm13, %xmm10 + lea 1023(%r11), %edi + xorps .FLT_100(%rip), %xmm13 + addl $1022, %r11d + mulsd 1152+__ssinh_la_CoutTab(%rip), %xmm13 + subsd %xmm10, %xmm0 + movaps %xmm0, %xmm5 + movaps %xmm0, %xmm11 + andl $2047, %r11d + lea (%r8,%r8), %edx + negl %edi + lea 1(%r8,%r8), %r8d + movsd (%rcx,%rdx,8), %xmm8 + negl %edx + shll $4, %r11d + addl $-4, %edi + orl %r11d, %esi + andl $2047, %edi + movw %si, -10(%rsp) + andl $-32753, %esi + shll $4, %edi + addsd %xmm13, %xmm5 + movsd %xmm5, -24(%rsp) + orl %edi, %esi + movsd -24(%rsp), %xmm7 + movsd 1128+__ssinh_la_CoutTab(%rip), %xmm5 + subsd %xmm7, %xmm11 + movsd %xmm11, -56(%rsp) + movsd -24(%rsp), %xmm4 + movsd -56(%rsp), %xmm12 + movsd (%rcx,%r8,8), %xmm6 + addsd %xmm12, %xmm4 + movsd %xmm4, -48(%rsp) + movsd -56(%rsp), %xmm9 + movsd -16(%rsp), %xmm4 + addsd %xmm9, %xmm13 + mulsd %xmm4, %xmm8 + mulsd %xmm4, %xmm6 + movsd %xmm13, -56(%rsp) + movaps %xmm8, %xmm9 + movsd -48(%rsp), %xmm15 + movw %si, -10(%rsp) + lea 128(%rdx), %esi + movsd -16(%rsp), %xmm14 + addl $129, %edx + subsd %xmm15, %xmm0 + movaps %xmm8, %xmm15 + movsd %xmm0, -48(%rsp) + movsd -56(%rsp), %xmm3 + movsd -48(%rsp), %xmm0 + addsd %xmm0, %xmm3 + movsd %xmm3, -48(%rsp) + movsd -24(%rsp), %xmm10 + mulsd %xmm10, %xmm5 + movaps %xmm10, %xmm2 + mulsd %xmm10, %xmm2 + movsd -48(%rsp), %xmm3 + movaps %xmm10, %xmm1 + movsd %xmm5, -24(%rsp) + movsd -24(%rsp), %xmm7 + subsd %xmm10, %xmm7 + movsd %xmm7, -56(%rsp) + movsd -24(%rsp), %xmm12 + movsd -56(%rsp), %xmm11 + subsd %xmm11, %xmm12 + movsd 1064+__ssinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm2, %xmm11 + movsd %xmm12, -24(%rsp) + movsd 1072+__ssinh_la_CoutTab(%rip), %xmm12 + mulsd %xmm2, %xmm12 + addsd 1048+__ssinh_la_CoutTab(%rip), %xmm11 + mulsd %xmm2, %xmm11 + addsd 1056+__ssinh_la_CoutTab(%rip), %xmm12 + mulsd %xmm2, %xmm12 + mulsd %xmm10, %xmm11 + addsd 1040+__ssinh_la_CoutTab(%rip), %xmm12 + addsd %xmm11, %xmm10 + mulsd %xmm2, %xmm12 + movsd (%rcx,%rsi,8), %xmm2 + mulsd %xmm14, %xmm2 + movsd -24(%rsp), %xmm0 + subsd %xmm2, %xmm9 + subsd %xmm0, %xmm1 + movsd %xmm1, -56(%rsp) + movsd -24(%rsp), %xmm7 + movsd -56(%rsp), %xmm5 + movsd %xmm9, -24(%rsp) + movsd -24(%rsp), %xmm13 + movsd (%rcx,%rdx,8), %xmm1 + subsd %xmm13, %xmm15 + mulsd %xmm14, %xmm1 + subsd %xmm2, %xmm15 + movsd %xmm15, -56(%rsp) + movaps %xmm8, %xmm13 + movsd -24(%rsp), %xmm14 + addsd %xmm2, %xmm13 + movsd -56(%rsp), %xmm9 + movaps %xmm14, %xmm0 + movb -1(%rsp), %cl + addsd %xmm6, %xmm9 + addsd %xmm1, %xmm6 + subsd %xmm1, %xmm9 + andb $-128, %cl + addsd %xmm9, %xmm0 + movsd %xmm0, -24(%rsp) + movsd -24(%rsp), %xmm4 + subsd %xmm4, %xmm14 + addsd %xmm14, %xmm9 + movsd %xmm9, -56(%rsp) + movsd -24(%rsp), %xmm9 + movsd -56(%rsp), %xmm0 + movsd %xmm13, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm8 + addsd %xmm8, %xmm2 + movsd %xmm2, -56(%rsp) + movsd -24(%rsp), %xmm2 + movsd -56(%rsp), %xmm4 + addsd %xmm6, %xmm4 + movaps %xmm2, %xmm6 + addsd %xmm4, %xmm6 + movsd %xmm6, -24(%rsp) + movsd -24(%rsp), %xmm8 + movsd 1128+__ssinh_la_CoutTab(%rip), %xmm6 + subsd %xmm8, %xmm2 + addsd %xmm2, %xmm4 + movsd %xmm4, -56(%rsp) + movsd -24(%rsp), %xmm1 + mulsd %xmm1, %xmm6 + movsd -56(%rsp), %xmm2 + movsd %xmm6, -24(%rsp) + movaps %xmm1, %xmm6 + movsd -24(%rsp), %xmm14 + mulsd %xmm2, %xmm10 + subsd %xmm1, %xmm14 + movsd %xmm14, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm8 + subsd %xmm8, %xmm13 + movsd %xmm13, -24(%rsp) + movaps %xmm11, %xmm13 + movsd -24(%rsp), %xmm15 + mulsd %xmm1, %xmm13 + subsd %xmm15, %xmm6 + mulsd %xmm3, %xmm1 + mulsd %xmm2, %xmm3 + movaps %xmm12, %xmm15 + movaps %xmm13, %xmm4 + mulsd %xmm9, %xmm15 + mulsd %xmm0, %xmm12 + addsd %xmm15, %xmm4 + addsd %xmm0, %xmm12 + movsd %xmm6, -56(%rsp) + addsd %xmm1, %xmm12 + movsd -24(%rsp), %xmm8 + addsd %xmm3, %xmm12 + movsd -56(%rsp), %xmm6 + movsd %xmm4, -24(%rsp) + movsd -24(%rsp), %xmm14 + subsd %xmm14, %xmm13 + addsd %xmm13, %xmm15 + movsd %xmm15, -56(%rsp) + movaps %xmm7, %xmm15 + mulsd %xmm8, %xmm15 + mulsd %xmm5, %xmm8 + mulsd %xmm6, %xmm5 + mulsd %xmm6, %xmm7 + movsd -24(%rsp), %xmm14 + movaps %xmm14, %xmm13 + movsd -56(%rsp), %xmm4 + addsd %xmm15, %xmm13 + addsd %xmm8, %xmm4 + movsd %xmm13, -24(%rsp) + addsd %xmm5, %xmm4 + movsd -24(%rsp), %xmm13 + addsd %xmm7, %xmm4 + subsd %xmm13, %xmm15 + addsd %xmm4, %xmm12 + addsd %xmm15, %xmm14 + movsd %xmm14, -56(%rsp) + movaps %xmm9, %xmm15 + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm14 + addsd %xmm13, %xmm15 + addsd %xmm14, %xmm12 + movsd %xmm15, -24(%rsp) + movsd -24(%rsp), %xmm15 + subsd %xmm15, %xmm9 + addsd %xmm9, %xmm13 + movsd %xmm13, -56(%rsp) + movsd -24(%rsp), %xmm13 + movsd -56(%rsp), %xmm9 + addsd %xmm9, %xmm12 + addsd %xmm12, %xmm13 + addsd %xmm13, %xmm10 + movsd %xmm10, -32(%rsp) + movb -25(%rsp), %dil + andb $127, %dil + orb %cl, %dil + movb %dil, -25(%rsp) + movsd -32(%rsp), %xmm10 + cvtsd2ss %xmm10, %xmm10 + movss %xmm10, (%r9) + ret + +.LBL_2_8: + movaps %xmm0, %xmm2 + mulsd %xmm0, %xmm2 + movsd 1104+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + movb -1(%rsp), %dl + andb $-128, %dl + addsd 1096+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1088+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm2, %xmm1 + addsd 1080+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm1, %xmm2 + mulsd %xmm0, %xmm2 + addsd %xmm2, %xmm0 + movsd %xmm0, -32(%rsp) + movb -25(%rsp), %cl + andb $127, %cl + orb %dl, %cl + movb %cl, -25(%rsp) + movsd -32(%rsp), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_9: + movsd 1112+__ssinh_la_CoutTab(%rip), %xmm1 + lea __ssinh_la_CoutTab(%rip), %r8 + mulsd %xmm0, %xmm1 + movsd 1144+__ssinh_la_CoutTab(%rip), %xmm2 + movsd 1152+__ssinh_la_CoutTab(%rip), %xmm3 + movq 8+__ssinh_la_CoutTab(%rip), %rdx + movq %rdx, -16(%rsp) + addsd 1120+__ssinh_la_CoutTab(%rip), %xmm1 + movsd %xmm1, -40(%rsp) + movsd -40(%rsp), %xmm4 + movsd 1072+__ssinh_la_CoutTab(%rip), %xmm1 + movl -40(%rsp), %edx + movl %edx, %esi + andl $63, %esi + subsd 1120+__ssinh_la_CoutTab(%rip), %xmm4 + mulsd %xmm4, %xmm2 + lea (%rsi,%rsi), %ecx + mulsd %xmm3, %xmm4 + subsd %xmm2, %xmm0 + movsd (%r8,%rcx,8), %xmm5 + lea 1(%rsi,%rsi), %edi + shrl $6, %edx + subsd %xmm4, %xmm0 + mulsd %xmm0, %xmm1 + addl $1022, %edx + andl $2047, %edx + addsd 1064+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1056+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1048+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + addsd 1040+__ssinh_la_CoutTab(%rip), %xmm1 + mulsd %xmm0, %xmm1 + mulsd %xmm0, %xmm1 + addsd %xmm0, %xmm1 + mulsd %xmm5, %xmm1 + addsd (%r8,%rdi,8), %xmm1 + addsd %xmm5, %xmm1 + cmpl $2046, %edx + ja .LBL_2_11 + movq 8+__ssinh_la_CoutTab(%rip), %rcx + shrq $48, %rcx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm1, %xmm0 + movsd %xmm0, -32(%rsp) + jmp .LBL_2_12 + +.LBL_2_11: + decl %edx + andl $2047, %edx + movzwl -10(%rsp), %ecx + shll $4, %edx + andl $-32753, %ecx + orl %edx, %ecx + movw %cx, -10(%rsp) + movsd -16(%rsp), %xmm0 + mulsd %xmm1, %xmm0 + mulsd 1024+__ssinh_la_CoutTab(%rip), %xmm0 + movsd %xmm0, -32(%rsp) + +.LBL_2_12: + movb -25(%rsp), %cl + movb -1(%rsp), %dl + andb $127, %cl + andb $-128, %dl + orb %dl, %cl + movb %cl, -25(%rsp) + movsd -32(%rsp), %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_13: + movsd 1168+__ssinh_la_CoutTab(%rip), %xmm0 + movl $3, %eax + mulsd %xmm2, %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_14: + movsd __ssinh_la_CoutTab(%rip), %xmm0 + addsd 1160+__ssinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm2, %xmm0 + cvtsd2ss %xmm0, %xmm0 + movss %xmm0, (%r9) + ret + +.LBL_2_16: + movsd 1160+__ssinh_la_CoutTab(%rip), %xmm0 + mulsd %xmm0, %xmm2 + movsd %xmm2, -24(%rsp) + pxor %xmm2, %xmm2 + cvtss2sd (%rdi), %xmm2 + movsd -24(%rsp), %xmm1 + movq 8+__ssinh_la_CoutTab(%rip), %rdx + addsd %xmm1, %xmm2 + cvtsd2ss %xmm2, %xmm2 + movq %rdx, -16(%rsp) + movss %xmm2, (%r9) + ret + +.LBL_2_17: + addss %xmm2, %xmm2 + movss %xmm2, (%r9) + ret + + cfi_endproc + + .type __svml_ssinh_cout_rare_internal,@function + .size __svml_ssinh_cout_rare_internal,.-__svml_ssinh_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_ssinh_data_internal: + .long 1056964608 + .long 1057148295 + .long 1057336003 + .long 1057527823 + .long 1057723842 + .long 1057924154 + .long 1058128851 + .long 1058338032 + .long 1058551792 + .long 1058770234 + .long 1058993458 + .long 1059221571 + .long 1059454679 + .long 1059692891 + .long 1059936319 + .long 1060185078 + .long 1060439283 + .long 1060699055 + .long 1060964516 + .long 1061235789 + .long 1061513002 + .long 1061796286 + .long 1062085772 + .long 1062381598 + .long 1062683901 + .long 1062992824 + .long 1063308511 + .long 1063631111 + .long 1063960775 + .long 1064297658 + .long 1064641917 + .long 1064993715 + .long 0 + .long 2999887785 + .long 852465809 + .long 3003046475 + .long 2984291233 + .long 3001644133 + .long 854021668 + .long 2997748242 + .long 849550193 + .long 2995541347 + .long 851518274 + .long 809701978 + .long 2997656926 + .long 2996185864 + .long 2980965110 + .long 3002882728 + .long 844097402 + .long 848217591 + .long 2999013352 + .long 2992006718 + .long 831170615 + .long 3002278818 + .long 833158180 + .long 3000769962 + .long 2991891850 + .long 2999994908 + .long 2979965785 + .long 2982419430 + .long 2982221534 + .long 2999469642 + .long 833168438 + .long 2987538264 + .long 1056964608 + .long 1056605107 + .long 1056253309 + .long 1055909050 + .long 1055572167 + .long 1055242503 + .long 1054919903 + .long 1054604216 + .long 1054295293 + .long 1053992990 + .long 1053697164 + .long 1053407678 + .long 1053124394 + .long 1052847181 + .long 1052575908 + .long 1052310447 + .long 1052050675 + .long 1051796470 + .long 1051547711 + .long 1051304283 + .long 1051066071 + .long 1050832963 + .long 1050604850 + .long 1050381626 + .long 1050163184 + .long 1049949424 + .long 1049740243 + .long 1049535546 + .long 1049335234 + .long 1049139215 + .long 1048947395 + .long 1048759687 + .long 0 + .long 2979149656 + .long 824779830 + .long 2991081034 + .long 2973832926 + .long 2974030822 + .long 2971577177 + .long 2991606300 + .long 2983503242 + .long 2992381354 + .long 824769572 + .long 2993890210 + .long 822782007 + .long 2983618110 + .long 2990624744 + .long 839828983 + .long 835708794 + .long 2994494120 + .long 2972576502 + .long 2987797256 + .long 2989268318 + .long 801313370 + .long 843129666 + .long 2987152739 + .long 841161585 + .long 2989359634 + .long 845633060 + .long 2993255525 + .long 2975902625 + .long 2994657867 + .long 844077201 + .long 2991499177 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .long 1220542464 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .long 1220542465 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .long 1118743631 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .long 1056964676 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .long 1042983605 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .long 1069066811 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .long 1060204544 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .long 939916788 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .long 31 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .long 1118743630 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .long 1042983511 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .long 1026206322 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .long 1007228001 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .long 985049251 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .long 1056964608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .type __svml_ssinh_data_internal,@object + .size __svml_ssinh_data_internal,1920 + .align 32 + +__ssinh_la_CoutTab: + .long 0 + .long 1072693248 + .long 0 + .long 0 + .long 1048019041 + .long 1072704666 + .long 1398474845 + .long 3161559171 + .long 3541402996 + .long 1072716208 + .long 2759177317 + .long 1015903202 + .long 410360776 + .long 1072727877 + .long 1269990655 + .long 1013024446 + .long 1828292879 + .long 1072739672 + .long 1255956747 + .long 1016636974 + .long 852742562 + .long 1072751596 + .long 667253587 + .long 1010842135 + .long 3490863953 + .long 1072763649 + .long 960797498 + .long 3163997456 + .long 2930322912 + .long 1072775834 + .long 2599499422 + .long 3163762623 + .long 1014845819 + .long 1072788152 + .long 3117910646 + .long 3162607681 + .long 3949972341 + .long 1072800603 + .long 2068408548 + .long 1015962444 + .long 828946858 + .long 1072813191 + .long 10642492 + .long 1016988014 + .long 2288159958 + .long 1072825915 + .long 2169144469 + .long 1015924597 + .long 1853186616 + .long 1072838778 + .long 3066496371 + .long 1016705150 + .long 1709341917 + .long 1072851781 + .long 2571168217 + .long 1015201075 + .long 4112506593 + .long 1072864925 + .long 2947355221 + .long 1015419624 + .long 2799960843 + .long 1072878213 + .long 1423655381 + .long 1016070727 + .long 171030293 + .long 1072891646 + .long 3526460132 + .long 1015477354 + .long 2992903935 + .long 1072905224 + .long 2218154406 + .long 1016276769 + .long 926591435 + .long 1072918951 + .long 3208833762 + .long 3163962090 + .long 887463927 + .long 1072932827 + .long 3596744163 + .long 3161842742 + .long 1276261410 + .long 1072946854 + .long 300981948 + .long 1015732745 + .long 569847338 + .long 1072961034 + .long 472945272 + .long 3160339305 + .long 1617004845 + .long 1072975368 + .long 82804944 + .long 1011391354 + .long 3049340112 + .long 1072989858 + .long 3062915824 + .long 1014219171 + .long 3577096743 + .long 1073004506 + .long 2951496418 + .long 1014842263 + .long 1990012071 + .long 1073019314 + .long 3529070563 + .long 3163861769 + .long 1453150082 + .long 1073034283 + .long 498154669 + .long 3162536638 + .long 917841882 + .long 1073049415 + .long 18715565 + .long 1016707884 + .long 3712504873 + .long 1073064711 + .long 88491949 + .long 1016476236 + .long 363667784 + .long 1073080175 + .long 813753950 + .long 1016833785 + .long 2956612997 + .long 1073095806 + .long 2118169751 + .long 3163784129 + .long 2186617381 + .long 1073111608 + .long 2270764084 + .long 3164321289 + .long 1719614413 + .long 1073127582 + .long 330458198 + .long 3164331316 + .long 1013258799 + .long 1073143730 + .long 1748797611 + .long 3161177658 + .long 3907805044 + .long 1073160053 + .long 2257091225 + .long 3162598983 + .long 1447192521 + .long 1073176555 + .long 1462857171 + .long 3163563097 + .long 1944781191 + .long 1073193236 + .long 3993278767 + .long 3162772855 + .long 919555682 + .long 1073210099 + .long 3121969534 + .long 1013996802 + .long 2571947539 + .long 1073227145 + .long 3558159064 + .long 3164425245 + .long 2604962541 + .long 1073244377 + .long 2614425274 + .long 3164587768 + .long 1110089947 + .long 1073261797 + .long 1451641639 + .long 1016523249 + .long 2568320822 + .long 1073279406 + .long 2732824428 + .long 1015401491 + .long 2966275557 + .long 1073297207 + .long 2176155324 + .long 3160891335 + .long 2682146384 + .long 1073315202 + .long 2082178513 + .long 3164411995 + .long 2191782032 + .long 1073333393 + .long 2960257726 + .long 1014791238 + .long 2069751141 + .long 1073351782 + .long 1562170675 + .long 3163773257 + .long 2990417245 + .long 1073370371 + .long 3683467745 + .long 3164417902 + .long 1434058175 + .long 1073389163 + .long 251133233 + .long 1016134345 + .long 2572866477 + .long 1073408159 + .long 878562433 + .long 1016570317 + .long 3092190715 + .long 1073427362 + .long 814012168 + .long 3160571998 + .long 4076559943 + .long 1073446774 + .long 2119478331 + .long 3161806927 + .long 2420883922 + .long 1073466398 + .long 2049810052 + .long 1015168464 + .long 3716502172 + .long 1073486235 + .long 2303740125 + .long 1015091301 + .long 777507147 + .long 1073506289 + .long 4282924205 + .long 1016236109 + .long 3706687593 + .long 1073526560 + .long 3521726939 + .long 1014301643 + .long 1242007932 + .long 1073547053 + .long 1132034716 + .long 3164388407 + .long 3707479175 + .long 1073567768 + .long 3613079303 + .long 1015213314 + .long 64696965 + .long 1073588710 + .long 1768797490 + .long 1016865536 + .long 863738719 + .long 1073609879 + .long 1326992220 + .long 3163661773 + .long 3884662774 + .long 1073631278 + .long 2158611599 + .long 1015258761 + .long 2728693978 + .long 1073652911 + .long 396109971 + .long 3164511267 + .long 3999357479 + .long 1073674779 + .long 2258941616 + .long 1016973300 + .long 1533953344 + .long 1073696886 + .long 769171851 + .long 1016714209 + .long 2174652632 + .long 1073719233 + .long 4087714590 + .long 1015498835 + .long 0 + .long 1073741824 + .long 0 + .long 0 + .long 0 + .long 1071644672 + .long 1431652600 + .long 1069897045 + .long 1431670732 + .long 1067799893 + .long 984555731 + .long 1065423122 + .long 472530941 + .long 1062650218 + .long 1431655765 + .long 1069897045 + .long 286331153 + .long 1065423121 + .long 436314138 + .long 1059717536 + .long 2773927732 + .long 1053236707 + .long 1697350398 + .long 1079448903 + .long 0 + .long 1127743488 + .long 33554432 + .long 1101004800 + .long 2684354560 + .long 1079401119 + .long 4277796864 + .long 1065758274 + .long 3164486458 + .long 1025308570 + .long 1 + .long 1048576 + .long 4294967295 + .long 2146435071 + .long 3671843104 + .long 1067178892 + .long 3875694624 + .long 1077247184 + .type __ssinh_la_CoutTab,@object + .size __ssinh_la_CoutTab,1192 + .space 8, 0x00 + .align 16 + +.FLT_100: + .long 0x00000000,0x80000000,0x00000000,0x00000000 + .type .FLT_100,@object + .size .FLT_100,16 diff --git a/sysdeps/x86_64/fpu/svml_d_sinh2_core.S b/sysdeps/x86_64/fpu/svml_d_sinh2_core.S new file mode 100644 index 0000000000..91bda7318c --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_sinh2_core.S @@ -0,0 +1,29 @@ +/* Function sinh vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_sinh) +WRAPPER_IMPL_SSE2 sinh +END (_ZGVbN2v_sinh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_sinh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_sinh4_core.S b/sysdeps/x86_64/fpu/svml_d_sinh4_core.S new file mode 100644 index 0000000000..7b8091946a --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_sinh4_core.S @@ -0,0 +1,29 @@ +/* Function sinh vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_sinh) +WRAPPER_IMPL_AVX _ZGVbN2v_sinh +END (_ZGVdN4v_sinh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_sinh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_sinh4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_sinh4_core_avx.S new file mode 100644 index 0000000000..f773bf110c --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_sinh4_core_avx.S @@ -0,0 +1,25 @@ +/* Function sinh vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_sinh) +WRAPPER_IMPL_AVX _ZGVbN2v_sinh +END (_ZGVcN4v_sinh) diff --git a/sysdeps/x86_64/fpu/svml_d_sinh8_core.S b/sysdeps/x86_64/fpu/svml_d_sinh8_core.S new file mode 100644 index 0000000000..153a18429c --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_sinh8_core.S @@ -0,0 +1,25 @@ +/* Function sinh vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_sinh) +WRAPPER_IMPL_AVX512 _ZGVdN4v_sinh +END (_ZGVeN8v_sinh) diff --git a/sysdeps/x86_64/fpu/svml_s_sinhf16_core.S b/sysdeps/x86_64/fpu/svml_s_sinhf16_core.S new file mode 100644 index 0000000000..f8dc7da336 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_sinhf16_core.S @@ -0,0 +1,25 @@ +/* Function sinhf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_sinhf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_sinhf +END (_ZGVeN16v_sinhf) diff --git a/sysdeps/x86_64/fpu/svml_s_sinhf4_core.S b/sysdeps/x86_64/fpu/svml_s_sinhf4_core.S new file mode 100644 index 0000000000..d065d03eb6 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_sinhf4_core.S @@ -0,0 +1,29 @@ +/* Function sinhf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_sinhf) +WRAPPER_IMPL_SSE2 sinhf +END (_ZGVbN4v_sinhf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_sinhf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_sinhf8_core.S b/sysdeps/x86_64/fpu/svml_s_sinhf8_core.S new file mode 100644 index 0000000000..1194699a76 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_sinhf8_core.S @@ -0,0 +1,29 @@ +/* Function sinhf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_sinhf) +WRAPPER_IMPL_AVX _ZGVbN4v_sinhf +END (_ZGVdN8v_sinhf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_sinhf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_sinhf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_sinhf8_core_avx.S new file mode 100644 index 0000000000..82c6b9b239 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_sinhf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function sinhf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_sinhf) +WRAPPER_IMPL_AVX _ZGVbN4v_sinhf +END (_ZGVcN8v_sinhf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx.c new file mode 100644 index 0000000000..55aa36d866 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-sinh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx2.c new file mode 100644 index 0000000000..55aa36d866 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-sinh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx512f.c new file mode 100644 index 0000000000..55aa36d866 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-sinh-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-sinh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-sinh.c b/sysdeps/x86_64/fpu/test-double-libmvec-sinh.c new file mode 100644 index 0000000000..82dcaf745d --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-sinh.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC sinh +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index 4ad2fc8868..a0bdd99971 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -45,6 +45,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVbN2vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVbN2v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVbN2v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVbN2v_log2) +VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVbN2v_sinh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index f48641aa6a..3900d7e81b 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -48,6 +48,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVdN4vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVdN4v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVdN4v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVdN4v_log2) +VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVdN4v_sinh) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 91ca44a4b0..80c30b6a9c 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -45,6 +45,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVcN4vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVcN4v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVcN4v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVcN4v_log2) +VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVcN4v_sinh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index fa9b82c02d..512b551a46 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -45,6 +45,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (hypot), _ZGVeN8vv_hypot) VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVeN8v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVeN8v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVeN8v_log2) +VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVeN8v_sinh) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx.c new file mode 100644 index 0000000000..93986945f3 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-sinhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx2.c new file mode 100644 index 0000000000..93986945f3 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-sinhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx512f.c new file mode 100644 index 0000000000..93986945f3 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-sinhf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-sinhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-sinhf.c b/sysdeps/x86_64/fpu/test-float-libmvec-sinhf.c new file mode 100644 index 0000000000..fb1f3c5c48 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-sinhf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC sinhf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index 26efef1490..c6bf2f5f6b 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -45,6 +45,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVeN16vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVeN16v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVeN16v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVeN16v_log2f) +VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVeN16v_sinhf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 9c484d4a15..b17bf08eb9 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -45,6 +45,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVbN4vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVbN4v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVbN4v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVbN4v_log2f) +VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVbN4v_sinhf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index 220f66567b..ede717bb48 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -48,6 +48,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVdN8vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVdN8v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVdN8v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVdN8v_log2f) +VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVdN8v_sinhf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index dbc69fb9d4..ec5b13aac3 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -45,6 +45,7 @@ VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf), _ZGVcN8vv_hypotf) VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVcN8v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVcN8v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVcN8v_log2f) +VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVcN8v_sinhf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:38:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48091 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D36363857C79 for ; Wed, 24 Nov 2021 20:07:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D36363857C79 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637784436; bh=9TGMQpG3rHFiO97CzE7pTvzjfP1JrngR+q3d+dSteJ4=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=LF0tEEhuPHZNgZaCSBJ0gprkrCGlEGXQ2PJwSmhLORFa/bI4p2pIICjDSfDrXDWxU aUI80XZE80Ymn1Q/sdTRIyYi7RcrfP1SlIojECv9DUAX2ni2bPyX07pv7T6lAJoK93 +oNTPWRB81SkLU/cqmetqmfpasUq5l3P9kS++88U= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by sourceware.org (Postfix) with ESMTPS id EB26C3857C74 for ; Wed, 24 Nov 2021 19:38:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EB26C3857C74 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="222231967" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="222231967" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="650501625" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga001.fm.intel.com with ESMTP; 24 Nov 2021 11:38:14 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XP021555; Wed, 24 Nov 2021 11:38:14 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 38/42] x86-64: Add vector sinh/sinhf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:38:03 -0800 Message-Id: <20211124193807.2093208-39-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector sinh/sinhf and input files to libmvec microbenchmark. libmvec-sinh-inputs: 90% Normal random distribution range: (-710.0, 710.0) mean: 0.0 sigma: 32.0 10% uniform random distribution in range (-500.0, 500.0) libmvec-sinhf-inputs: 90% Normal random distribution range: (-89.0f, 89.0f) mean: 0.0f sigma: 16.0f 10% uniform random distribution in range (-50.0f, 50.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-sinh-inputs | 4100 +++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-sinhf-inputs | 4100 +++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-sinh-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-sinhf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 13b1acb46c..c23bc47f3c 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -68,6 +68,7 @@ libmvec-bench-funcs = \ log10 \ log1p \ log2 \ + sinh \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-sinh-inputs b/sysdeps/x86_64/fpu/libmvec-sinh-inputs new file mode 100644 index 0000000000..f68573122e --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-sinh-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-7.1e+02, 7.1e+02), mean = 0, standard deviation = 32 +-0x1.11003707ad71cp+3 +-0x1.1f03ac14205d9p+4 +-0x1.88539918864c9p+5 +-0x1.4101316c89f72p+4 +-0x1.3b7fb80733407p+3 +0x1.029dee7ae42b8p+5 +0x1.77fde1eeb3fa9p+4 +0x1.16a53d1f1be7ep+6 +0x1.35a33590dab6ep+4 +-0x1.f85d770c98ac8p+3 +-0x1.75bd8b3896dd6p+5 +-0x1.360247570184fp+5 +0x1.1cb9fa09ed944p+6 +-0x1.cc0c949f502bdp+2 +-0x1.b06432c2571b1p+4 +0x1.e5f318e3e5fffp+5 +-0x1.2bbc5f516e8d5p+3 +-0x1.b20d60c7a530ap-3 +0x1.1ee5aa3496dfdp+4 +0x1.0d39d9919d41cp+5 +-0x1.f35ec91641a28p+3 +-0x1.90e89ab44af72p+4 +-0x1.8718b197051b2p+2 +0x1.e1a883407183ap+4 +-0x1.bb84130e0b6c2p+3 +0x1.66748e4448814p+5 +-0x1.03ac940894e0bp+5 +-0x1.2777c019ddd62p+3 +0x1.1d20fa6e1de58p+5 +-0x1.0d65971f91a47p+5 +0x1.948e128f1e25cp+2 +0x1.a2f9146265a94p+4 +0x1.8dfc3c4334d3fp+2 +-0x1.3e6e666e6133dp+3 +0x1.7291977c39bfbp+2 +0x1.0d76b4a8e6ffap+1 +-0x1.8ba0bf00ef4fbp+4 +-0x1.657578a29b5d8p+3 +-0x1.42073771c3e34p+3 +0x1.c5bc6abe1abc2p-2 +-0x1.3c18dfcd0f52cp+1 +0x1.e264029c179bdp+4 +-0x1.16b4eb16e4697p+5 +0x1.919dfef854b24p+3 +0x1.51a8f5058cf09p-1 +-0x1.22700081b6018p+3 +-0x1.7ed13b350af89p+2 +0x1.7c78e8308fd75p+4 +-0x1.371df5ae1bae6p+5 +-0x1.47b6c3841cc34p+3 +0x1.c0eb159b7735cp+4 +-0x1.041440688e7dcp+5 +0x1.747d826d6612p+4 +-0x1.0e3c3a9af5cbdp+6 +-0x1.9223e1cf1b888p+4 +0x1.2c285914810dep+3 +-0x1.e1009fc24adffp+4 +0x1.a994c08eb3571p+4 +0x1.5642c58ee1935p+5 +0x1.5a906ea066725p-2 +0x1.33bf88547fbfp+1 +-0x1.7e95d7fb26218p-1 +0x1.3a4914164fb45p+1 +-0x1.6d0ab05da8ddap+5 +0x1.6a175031ee6b3p-1 +0x1.cb814b7ce6be9p+4 +0x1.ef5984a81ededp+2 +0x1.4511a4ee5b844p+2 +0x1.c3236baf357dbp+2 +-0x1.b5663a8cd3b9ep+0 +0x1.f9775cb63303ap+4 +-0x1.fbe0031478fdap+4 +0x1.ec4068e7020c7p+1 +0x1.0af7c1486d593p+4 +-0x1.18e6b70f08559p+4 +0x1.2fc06a93c1a14p+3 +-0x1.0df60b2d5d5dcp+4 +-0x1.3558868bca728p+8 +-0x1.f9bea93247eaap+1 +-0x1.a8a18bac42c3ep+1 +0x1.d274aba6cb8e7p+7 +0x1.8035aed7e3caap+1 +0x1.6e5336703809cp+4 +-0x1.202ed659e43b3p+5 +-0x1.958d6ede80a6p+3 +-0x1.41320b56bb7ep+1 +-0x1.ae79eb0610afep+3 +-0x1.08e9352d53acdp+3 +0x1.fa1d1125c944ep+4 +0x1.e0e74fafb7d1cp+4 +0x1.56f6756e1c312p+6 +0x1.dab641b546b3fp+3 +-0x1.37f81a887c07fp+4 +-0x1.d1b8204e578e7p+1 +-0x1.8d8c75ac1faf6p+5 +0x1.c753b324bdc81p+5 +0x1.59d5b085ab03ap+2 +-0x1.ea04b4cf878fbp+1 +0x1.29c33813f534dp+0 +-0x1.c2ee5e411a0abp+4 +0x1.cee3ca87f3fb9p+5 +-0x1.b5e1a68fd908dp+4 +-0x1.42abb872d6d69p+4 +0x1.1d88916f49ef1p+5 +0x1.80ec7c336cd4bp+3 +0x1.f6cc5791d3677p-4 +0x1.9c79d91cd3abbp+4 +-0x1.253082fbb949cp+1 +-0x1.a401128cbd47p+3 +-0x1.7794302387928p+4 +0x1.77052a301b523p+3 +0x1.aa7ee75ee0531p+5 +-0x1.f6ee5bdcf7b24p-1 +0x1.a39a2af50b0c7p+4 +0x1.3221b7312157fp+4 +0x1.5ff5bc5f5da2dp+4 +-0x1.4613a9aa74a1ep+1 +-0x1.6991a4013ce91p+5 +-0x1.1071c932aaf75p+5 +-0x1.055f3a8317374p+5 +0x1.520ed8dc30dfcp+4 +-0x1.6e15432b01ce6p+5 +0x1.e818fff13878bp+5 +-0x1.8b8cb3370be2bp+4 +-0x1.a9f6495b21f7ep+4 +0x1.88e06bd995039p+3 +0x1.750ec69bb3a04p+4 +-0x1.0dd8abfb7163fp+4 +-0x1.99309e84c1aa3p+3 +-0x1.08b1bb04fcb2fp+3 +0x1.c473bbbaa6274p+2 +0x1.0a5b3dcd01fc6p+3 +0x1.273d5ce7af555p+6 +-0x1.27eeab5a7ec7ap+5 +0x1.398225abd6819p+4 +0x1.56fe5fc6fa3c2p+5 +-0x1.f11f36ce3507dp+5 +0x1.9aca951469d7ap+3 +-0x1.8f8d41cd02deep+4 +-0x1.f49e6ed2ea59dp+2 +-0x1.7a129db836d66p-3 +-0x1.1ae76b7d889bbp+4 +0x1.087a59865458p+1 +0x1.6aff85979d2e4p+4 +-0x1.62fa8a2d852ep+3 +0x1.b66d4b202c901p+3 +0x1.b32cf8b59341dp+3 +-0x1.1744f96db0bc6p+6 +-0x1.ac60d9bcb0c1ep+4 +-0x1.fbdc48a31f484p+2 +0x1.ce8d89c689577p+3 +-0x1.f0575d582a6f9p+3 +0x1.2480822366da6p+5 +-0x1.4b02cb0e67facp+1 +-0x1.f980a13147b0ap+4 +-0x1.d7c147ac37bbcp+4 +-0x1.19379d25cb96ap+1 +0x1.4a4d200892982p+8 +-0x1.ab949852b3ebfp+3 +0x1.0e6dad20e631fp+4 +-0x1.45599ccb9a8f2p+5 +-0x1.a1d652eced84ep+5 +0x1.0a9a084bf0496p+4 +-0x1.3806551d9b8a6p+4 +-0x1.4723e9533861ap+5 +0x1.82ba877ba1442p+5 +-0x1.be10fd54c1c05p+2 +0x1.6e9ab6991ff9p-5 +0x1.ac8eba94cd894p+5 +0x1.72f43a9f6a1c5p+2 +0x1.647a30feef7b1p+2 +-0x1.6a098d3db5971p+2 +-0x1.535b60bc394fap+0 +0x1.9b21776d6a934p+3 +-0x1.67ee1ba757d34p-3 +-0x1.d28fec264c5bbp+3 +0x1.a4cd6c232a361p-2 +-0x1.4314fbc60688dp+2 +-0x1.3d2ddbf4fb65cp+4 +-0x1.91560bb9916ap+2 +-0x1.2064bd3b1efedp+6 +-0x1.8f0d5ae1f2d1dp+4 +0x1.81850a482ba67p+6 +-0x1.f7d0d6b631c12p+3 +-0x1.f23fd47cfedccp+4 +-0x1.75a6060cb3691p+0 +-0x1.d253dcef76f97p+4 +-0x1.5328460a56bcfp+4 +0x1.ce3576497d7cp+4 +-0x1.8652cde59b041p+3 +-0x1.9b8ef067e895dp+5 +0x1.7d9c66e44ec47p+5 +0x1.b96c3d206dae9p+5 +-0x1.f953fc1959504p+4 +-0x1.b125e5434baacp+1 +-0x1.a1e7bf001c68dp+3 +0x1.46cfc16fd39dep+5 +-0x1.ae24518735eeap+3 +0x1.69939f4e7cd55p+5 +0x1.13306c72f0a09p+3 +0x1.61510c88f5508p+0 +-0x1.1a20364d51f6p+6 +-0x1.64ad7976812dfp+4 +0x1.bc0558fc677f4p+1 +0x1.3c093d67ef0f5p+1 +0x1.4f8ea8f2b2961p+4 +-0x1.55af0900913c4p+6 +0x1.5af1d2d65fffcp+3 +-0x1.0de627c082eb5p+4 +0x1.99ce9e0daa1e9p+5 +-0x1.f3ce28bc65e34p+4 +-0x1.2dcbcb1edbdd6p+5 +0x1.1adafdd6788cap+4 +0x1.853c9a6a80e5fp+2 +-0x1.00b1d997f5fbep+0 +-0x1.12d9e9bd6279ap+5 +-0x1.c05a7b8c13756p+5 +-0x1.df87d85868a0dp+5 +0x1.3e98c5ca53054p+4 +0x1.560246edba008p+5 +-0x1.c6b77410468a2p+4 +-0x1.f72a6e31d75afp-3 +0x1.efefd701da649p+4 +0x1.c1a1321b7ef1p+1 +0x1.30ea39a7cf938p+5 +-0x1.a74dd3dc1e9a2p+4 +0x1.79ab521c3abfcp-1 +0x1.d28bd03ad897cp+4 +-0x1.dd0ae5433da8p+5 +0x1.0860581cad894p+5 +-0x1.3d8029781c0b5p+3 +-0x1.1185907f2891p+4 +0x1.2aa161a477366p+3 +-0x1.51a2fdf6d801dp+5 +0x1.6d4ca2cbce87bp+5 +-0x1.08647180c4641p+4 +0x1.73c0d4d983607p+2 +-0x1.460bb7d2967e5p+5 +-0x1.96b5c19d31dd8p+4 +0x1.002087be4803p+4 +-0x1.079c675e5f576p+5 +-0x1.a490fe5d517cap+1 +0x1.3a316fc183cdbp+2 +0x1.b3009a6de004ep+2 +-0x1.8be62fc82b254p+5 +0x1.c70c47d64b2e1p+2 +0x1.6ec300c6e0d84p+4 +-0x1.d42bdaaa529ccp+0 +0x1.542a484cbbdap+4 +-0x1.68aade01022e5p+4 +0x1.0719ec34bd9f8p+4 +0x1.5a5bef7e71b7fp+4 +-0x1.19efbde80f262p+5 +0x1.2a9200c3ebef9p+5 +0x1.65e234d9d723p+4 +0x1.81eea275987dcp+4 +-0x1.e09ae78c0f3d3p+3 +0x1.88cff5ac2b027p+3 +-0x1.07c23257a91ap+8 +0x1.b0dc5207eb04ap+3 +-0x1.949d08f8c29a8p+2 +0x1.2054be5894c16p+5 +-0x1.1c5a705a6144ep+5 +0x1.0abf819cc902cp+7 +0x1.4f533f975313ap+0 +0x1.ede0402a06984p+4 +0x1.5dd9cecee44dp+5 +-0x1.ee86a38dcfb8bp+3 +0x1.430681c5d5435p+4 +-0x1.b239cdf03ac1ep+3 +-0x1.b155c322a615bp+5 +0x1.11059304523ccp+4 +-0x1.940484004736ap+4 +-0x1.76d2cbe89c6eap+3 +0x1.2ab817598e9cep+3 +-0x1.bb57ee381a94fp-3 +0x1.2c5fa973bc423p+3 +-0x1.105b2a041f858p+3 +0x1.ad21b525cafe7p+5 +0x1.f591180c51366p+4 +0x1.942c7148cde5ap+3 +-0x1.73fc05810249p+3 +0x1.19a063e9246a8p+5 +0x1.f440990cb9501p+2 +-0x1.6ea822c81ebefp+5 +0x1.05325f085e4dap+2 +-0x1.30227ac82dd9p+3 +0x1.69b3016747ba7p+1 +-0x1.a95e1be905656p+4 +0x1.2ff44c322ad99p+4 +0x1.8803b3b61b6ffp+4 +0x1.e33526ca99p+4 +-0x1.135a95b5e4d29p+3 +-0x1.a15cdae0069dp+2 +-0x1.ad8b0ddd507a6p+5 +-0x1.9c52c8fe232b1p+5 +0x1.1e8559bb5e4ccp+2 +0x1.bb99adabb7695p+3 +-0x1.1dae22a6fbcabp+5 +-0x1.9efa1bdb52cb6p+5 +0x1.7f4123362bf2fp+5 +0x1.a0ae02a90565bp+3 +0x1.6c88688bf3d0ep+4 +0x1.d28cd71e8841ep+6 +0x1.1a07e1bd84d91p+5 +0x1.50e957f68cb51p+5 +-0x1.cfae88fe949d3p+4 +0x1.62d0a629641b7p+5 +-0x1.641801bf2bda6p+1 +-0x1.a1d7bc21eb45cp+6 +0x1.6def98bd31efbp+6 +0x1.a556292c47ef2p+5 +-0x1.af841b378367ap+2 +-0x1.6538b64ad0d9fp+5 +-0x1.29feb61cdd084p+4 +0x1.6071bbed6bd28p+6 +0x1.3a75b1d968b3bp+6 +0x1.501b2864bb0aap+4 +0x1.cab884c6bd488p+3 +-0x1.e9f845c867c6cp+3 +-0x1.94991fb9ce0efp+5 +-0x1.4bf2146d428fbp+4 +-0x1.f4aaa87f6871dp+4 +-0x1.c904a4b94b4dep+4 +-0x1.851379734f5a1p+3 +-0x1.3253d2afe1b8dp+4 +-0x1.7e5a943926cb6p+4 +-0x1.ba8b241fbebep+3 +-0x1.e32c5b539ed49p+5 +-0x1.f7a818b66c2fbp+3 +0x1.d79048fa51f8ap+2 +-0x1.e1ee3cfd1f65ap+4 +0x1.8a59e5bc58019p+4 +0x1.72b319253eee7p+3 +-0x1.f0a78fd5454d7p+3 +-0x1.ec9f639a8510ep+3 +-0x1.ef4d44582ca63p+4 +-0x1.45030ba429744p+3 +-0x1.3de02f6079c35p+5 +-0x1.ae4ee802d4d44p+3 +-0x1.2a2442b03a96dp+5 +0x1.1e09c7cc868aep-3 +-0x1.15c7853f0c865p+6 +0x1.0b13ec95f71a5p+3 +0x1.5b22063d3f771p+4 +-0x1.c752f2d48be01p+2 +0x1.3d1510a4f8cdbp+4 +0x1.17da3098fa41dp+4 +-0x1.266a093459c2ap+4 +0x1.8a064f8a15753p+2 +-0x1.347da4da856a7p+3 +-0x1.39b4ff032f74p+1 +0x1.b9a57659a198ep+4 +-0x1.7218160918b0bp+4 +0x1.4139fe4f6d7e2p+5 +0x1.0b6028c217fb9p+4 +-0x1.9cf3201eb31ep+3 +0x1.4e85803ece1acp+5 +0x1.b07b4e5172c39p+2 +0x1.11701ffaaed4bp+2 +-0x1.24627984aae2ep+5 +0x1.779b58c474984p+1 +0x1.a9ca39d6dd6d5p+4 +-0x1.5506bc6b3344fp+3 +0x1.7d3bab08c2e5dp+2 +0x1.ba237ef743cb1p+3 +-0x1.9d3fecf588cedp+4 +0x1.04414d215c2dcp+4 +-0x1.1ab065eb10c66p+4 +0x1.17124444bff6ep+3 +-0x1.8e23b3e3f6ab7p+2 +-0x1.bcfc0ccd8bdb9p+1 +0x1.010d86d3def47p+3 +-0x1.7ff50886aa934p+3 +-0x1.46c78d491d2c7p+0 +0x1.3ee03ef5f88e9p+5 +0x1.44bf15b0634b7p+3 +-0x1.dc7bfeb3d79c5p+2 +0x1.4b2044275cd4dp+3 +0x1.84fe3569cb2f3p+2 +0x1.cd76216869e9bp+5 +0x1.1b1d3cf683a9ep+5 +-0x1.9fcae5205cd46p+5 +-0x1.0a3b58f299bfdp+4 +-0x1.2abc89a0eb39fp+5 +0x1.8c4d6835e5972p+2 +0x1.0a5afe3c4ccc7p+5 +0x1.4fd2cc063a564p+2 +-0x1.4a0722f7bdb7cp+5 +0x1.8d885d6947ae1p+5 +0x1.59ea516d1f26bp+5 +0x1.0ec88cec00338p+0 +-0x1.8a5d8487762f6p+5 +0x1.1a283a53f8328p+1 +0x1.829e7668f5048p+4 +-0x1.d98b668c200ap+0 +-0x1.0136269e8d655p+5 +-0x1.d6aa45de9e968p+4 +0x1.1ae55c1f50a91p+3 +-0x1.6d2bbf6ac4bffp+3 +-0x1.2f894a496ef82p+4 +-0x1.8cccaafc6228bp+6 +0x1.a1847ab53654dp+3 +0x1.61b9f91dd1568p+5 +-0x1.593af265b0f1cp+3 +-0x1.6fcb3685e1188p+4 +-0x1.abd9edafdaba8p+7 +0x1.55402eb22877fp-1 +-0x1.7758f8ef73ce5p+4 +-0x1.129ed6c9fec09p+4 +0x1.47b15b059fa22p+3 +0x1.c37c3800e473fp+1 +-0x1.55e59b46e00fep+4 +0x1.15ab24a33c4afp+3 +-0x1.5efb2f2360924p+5 +-0x1.c822455705f7dp+5 +-0x1.1ec1052baec55p+4 +-0x1.632d52993655fp+5 +-0x1.3b380e44110fbp+2 +-0x1.d06a61edd63b8p+5 +-0x1.648c7d2c9f39ap+6 +-0x1.e0c74983a6277p+3 +0x1.3b45c176c2365p+5 +0x1.9ac13402948f9p+5 +0x1.821b65b56e9d4p+3 +0x1.49d4a47602299p+1 +-0x1.9536fd2b229e5p+2 +-0x1.e45f70770ffa6p+4 +0x1.f42e02754d539p+0 +-0x1.1447c8f7f0803p+3 +-0x1.3814c90a3de51p+4 +-0x1.0c3e34479d266p+2 +-0x1.db96f4672c59fp+4 +0x1.b7e8d8652d20bp+4 +0x1.31f092f938cp+4 +-0x1.23d399672214ap+5 +0x1.16d3535551e31p+3 +-0x1.d6e5873aa87e8p+4 +-0x1.51e8d044a5eadp+3 +-0x1.076d0067d9a9bp+5 +-0x1.5ce540d167649p+3 +-0x1.03dbfbee1785p+4 +0x1.02c32cb8776d7p+5 +0x1.2900de5c7341p+4 +-0x1.ac5ba6d8f8f1ep+3 +-0x1.5d38049159df2p+5 +0x1.7b1185942c1a5p+5 +0x1.ff5246459affp+2 +0x1.0e03a3dd96788p+6 +-0x1.76a414c910fb2p+4 +-0x1.1fffa49b7f639p+1 +0x1.9caea3b989545p+3 +-0x1.793d42826ff15p+1 +0x1.5b08238bd7a18p+2 +0x1.254967c3d947fp+2 +0x1.eb12af95bfb63p+5 +0x1.fe853624e7d83p+2 +0x1.b1e56a27778f2p+5 +0x1.3453058a4da38p+2 +0x1.307c967bfffc2p+5 +0x1.4d5cb9f362b26p+4 +-0x1.b1937baaf010bp+2 +0x1.5599b88f6964dp+4 +0x1.17406bad4bc31p-1 +0x1.55b3e6055d0e1p+0 +-0x1.1aa44da042bb6p+4 +-0x1.b0bd843ab6a4ap+4 +-0x1.f054c11c6fd4cp+0 +-0x1.81014cc2078b6p+5 +-0x1.fc713f97a3a63p+2 +0x1.d0a0747739ef9p+2 +0x1.41625bb6bb69ep-4 +-0x1.40f225f19d807p+4 +0x1.68f2251556c42p+3 +-0x1.17690d37416e8p+5 +-0x1.75fa5ee082b6fp+4 +0x1.29564149663f6p+2 +0x1.9881037ac5d0cp+3 +0x1.2b01b141897c8p+5 +-0x1.0f4d726519f07p+1 +-0x1.4b4620ac0010dp+4 +0x1.9e7c31f8f8785p+5 +-0x1.a6f89ee0f795ap+4 +0x1.f2082c30db1c8p+1 +-0x1.dd839901b27bdp+4 +0x1.7fca07d73884p+4 +-0x1.c3c48700662c3p+4 +-0x1.6e853770c0f9fp+5 +0x1.d8ed1c9463b1dp+1 +-0x1.ebd99dffbb2c1p+3 +0x1.fd966020d3d82p+4 +-0x1.206c1fca20dc4p+5 +0x1.aee0d6765bc5cp+5 +-0x1.35d52e2cf8086p+2 +0x1.13223a47687d9p+2 +0x1.7438981f5be52p+3 +-0x1.4bae87899db27p+4 +-0x1.b15ab21feb71ep+4 +-0x1.9ce3b1e40fdefp+5 +0x1.cef4514e6d594p+5 +-0x1.f17318cfda767p+5 +-0x1.e58d0c56c3a7p-1 +0x1.808beb30314dp+4 +0x1.07f0af7446b52p+5 +0x1.325fd32406536p+4 +-0x1.9faafa9806c7bp+1 +0x1.6104f835ab8edp+6 +-0x1.7807e45e473f1p+5 +0x1.29757328895cp+3 +0x1.3b45876742c98p+4 +0x1.c568a632a54f1p+4 +0x1.6caddd90a8a2cp+6 +-0x1.69894d1536713p+3 +-0x1.3730781c9eddep+2 +0x1.135deea0c29fbp+4 +0x1.e1285a2b60964p+2 +0x1.4b80b406c31bdp+5 +0x1.2811c39f9b89bp+4 +-0x1.4fdedc31092e8p+4 +-0x1.ab8ce8c5036fdp+2 +0x1.9d7e1448756f9p+5 +0x1.3737cdf250b8ep+5 +-0x1.63ffee2f4c37p+4 +0x1.4da0a0b6a14c4p+1 +-0x1.d9b722403f2d4p+2 +0x1.022adb9727ec4p+1 +0x1.2ae943a0c9f6cp+1 +0x1.18ec27d3a07d7p+1 +-0x1.6afe70ecfae1dp+6 +0x1.147d5c8097cefp+4 +-0x1.81f8ceac9872dp+4 +0x1.0f381836f6e7bp+4 +-0x1.c6ff784a5846dp+4 +-0x1.66360c4d84d4cp+4 +-0x1.6791dbb850ac8p+5 +-0x1.77c6dfc75633p+3 +0x1.45d5f669fcff2p+5 +0x1.268335c952d5ap+5 +0x1.3a13a0ae983f5p+4 +-0x1.780cef3cd015cp+3 +0x1.6128b1ee4e238p+4 +-0x1.439a5589fc96bp+5 +0x1.50b1d01bf2cabp+4 +-0x1.d2ade90245145p+5 +0x1.0ae6ec582d27ap+4 +-0x1.519680b429656p+3 +0x1.9094cf30d2179p+5 +0x1.e0a28f7e72504p+5 +0x1.8cdcd3ddd9b87p-1 +0x1.ec9935e7e72f1p+4 +0x1.5317a281a6589p+3 +0x1.51d70c69c8e4ep+2 +-0x1.50ba0ab89871p+4 +0x1.152078e6fc923p+2 +-0x1.9996f9d095cd3p+4 +-0x1.61d00d92a98ecp+5 +-0x1.3a3a257258ee5p+4 +0x1.2f54b253c0a1bp+3 +-0x1.b4951c9daf538p+3 +0x1.220f603d1e01cp+4 +0x1.09e96024014f6p+4 +-0x1.b1165a43c5c1dp+4 +-0x1.be5766bd4f161p+5 +-0x1.411e5393f3221p+1 +0x1.32640aef4dbcap+5 +-0x1.9d3da53790e56p+2 +-0x1.26eaa37b73589p+4 +-0x1.9657b29aaf014p+3 +0x1.25d18013304f9p+4 +0x1.faee42d2eee09p+5 +0x1.63f4a5780dbb3p-1 +0x1.9ed35146ebdc7p+3 +0x1.c24bc2a87317cp+4 +-0x1.c46c0709ade28p+4 +0x1.058fa84fdc5dfp+5 +0x1.074894afb4a68p+4 +-0x1.2cb5d178181a3p+5 +-0x1.7b022bc97bd87p+5 +0x1.d971cebec3dc3p+4 +-0x1.8ec86add9aeefp+1 +-0x1.f727374002d1dp+2 +0x1.219fdd9159794p+3 +-0x1.565374db0612ap+6 +-0x1.2556f0957181fp-2 +-0x1.3c9b49b6645b9p+3 +0x1.0adc702525844p+5 +0x1.c5a67f1896e7ep+2 +0x1.9efd7de91c877p+2 +0x1.d9d092687d0a3p+4 +0x1.7d3d03a0cd29cp+3 +-0x1.479fcda3b1abcp+5 +0x1.ef3f79cf31cabp+3 +0x1.52dc5518c03d1p+4 +0x1.152d96988dfcbp+4 +-0x1.b9362861efb2ap+4 +0x1.6f1701555f85fp+3 +-0x1.d76088168cba7p+5 +0x1.396904801c693p+6 +-0x1.bb8d37e3d13d9p+3 +-0x1.bea7caef13c6bp+2 +-0x1.56dbccaa97ab9p+3 +0x1.6678918f36157p-1 +0x1.9e04061eea66ap+0 +0x1.f80584e5fb2d6p+3 +-0x1.54278b1afdca9p+5 +0x1.37b24baea382dp+3 +0x1.f77b1902c4964p-1 +-0x1.7c43b4e9e93cfp+0 +0x1.10f4e21b1dc18p+3 +-0x1.84c3d380eaf0ap+3 +0x1.6536d3822a5dbp+4 +-0x1.45c85e7112072p+5 +0x1.8d0b5806d37d9p+3 +-0x1.7bfe86e43f6cdp+5 +-0x1.028573702b054p+5 +-0x1.266d423e3032ep-1 +-0x1.6f1e52b43bbcdp+5 +-0x1.b57398f2ff9cep+5 +-0x1.0690070a17c8ep+5 +0x1.951438faf762ep+5 +0x1.54640df149ecfp+4 +0x1.a2e70e2d6b389p+1 +-0x1.4584eadb7a2a5p+2 +0x1.5984124891c5bp+4 +-0x1.3508e20bd00a4p+5 +-0x1.df8c737910911p+5 +-0x1.d401bbbe0de6ep+4 +-0x1.20ff5eb91df8cp+3 +0x1.ade08e2d79c6cp+3 +0x1.fb915453b8d6fp+1 +0x1.a816ef340651dp+4 +-0x1.90a1d1046f146p-6 +-0x1.6b755acce6fb3p+4 +-0x1.54b099489d729p+4 +-0x1.53687ec531316p+5 +0x1.70dd45f3f8c96p+7 +0x1.1c64ac0e63ab9p+2 +-0x1.1cd93b9a183f3p+3 +-0x1.d6676ec0e83b7p+3 +-0x1.b3375faa14daap+4 +-0x1.397f5269a8f46p+3 +0x1.204f1d080a29bp+5 +-0x1.9d15f86e29d32p+5 +0x1.86b445c1fa227p+3 +-0x1.3a978b6d21bb1p+5 +-0x1.299fc79ecbcfdp+5 +-0x1.a744b7e636d36p+0 +-0x1.bb28842c58849p+3 +-0x1.4f733aa7913e2p-1 +0x1.aabbf22ae2a88p+4 +-0x1.a112b6d648e72p+4 +0x1.3d09dc3e9e33bp+5 +0x1.2cb5e1779cea5p+5 +0x1.3cd7ac6fa38dap+3 +-0x1.f13990cfe5ec2p+4 +0x1.88f07d5373ae8p+5 +0x1.93179dd8aa89ep+1 +0x1.2bfc9601f50c2p+6 +0x1.58c7cf96b0713p+1 +0x1.335b322f8a7a2p+5 +-0x1.e24d81973b02ep+4 +-0x1.ebc2947a9ce5bp+5 +0x1.4d8134ffd3891p+4 +-0x1.e10c40e71879bp+3 +-0x1.628050434b9fep+4 +0x1.6c29e161cb882p+6 +-0x1.407afbb6de59ep+5 +-0x1.c12b48dd63634p+3 +-0x1.7ef92af52d4d5p+1 +-0x1.41cc220fce214p+3 +-0x1.b4dc079689f4bp+4 +-0x1.b8c92d69cd9ep+4 +-0x1.a4756c48b704p+3 +-0x1.d7ea61d1085d1p+5 +0x1.a45014fadb068p+1 +-0x1.394900efd90a5p+1 +-0x1.2b6eed18df0d2p+1 +0x1.b57ef080526a1p+4 +0x1.6e593e63048dp+4 +-0x1.b3b2e53f25ff4p+4 +0x1.20b8481ed33p+2 +-0x1.a7a9a263d55abp+5 +-0x1.3edfe9034a518p+2 +0x1.04df46fe1a96p+5 +-0x1.85c872b5fe48p+2 +0x1.987aa68c4a40ap+5 +-0x1.8d8ff4c07967ap+1 +-0x1.7bbe501495417p+3 +0x1.09b6e0c740d5cp+4 +0x1.6540ed66aa851p+4 +0x1.b71434f639985p+1 +0x1.1c12a317a2069p+6 +-0x1.6139c482ada5ep+1 +-0x1.4f44b083f6f77p+2 +-0x1.c87cf7e5f2df5p+5 +-0x1.625e9063076bdp+5 +-0x1.b994f9420b41ap+4 +-0x1.d21a73ec72312p+5 +0x1.fb8fbc9a2fe6p+5 +0x1.4e0291e40703ap+4 +0x1.7bec591bcb9f1p+4 +-0x1.22ade5fd6560fp+5 +0x1.3ff0fb4eb11fdp+4 +0x1.acf4457026889p+2 +-0x1.081e4b193da3p+4 +-0x1.af18d2905362dp+1 +-0x1.816382b888e2ap+3 +-0x1.dbf7e57684b5fp+5 +-0x1.109ea0bc3171ep+5 +0x1.2f89c59c1e284p+3 +-0x1.0525cef5eb77ap+2 +-0x1.1527b5894fa4cp+3 +0x1.b3de51b661796p+4 +-0x1.730858021dd8bp+3 +0x1.1ab6eaf9f7437p+0 +-0x1.6d89969971facp+5 +0x1.34fc598a78651p+4 +-0x1.8704c7920740fp+5 +0x1.8e9c63e18fd98p+7 +-0x1.4e2aac11bfdf6p+4 +0x1.b3740425d29bdp-1 +0x1.6241568dfe5dcp+5 +0x1.50d6fdd8353a1p+4 +0x1.471f703d627b9p+3 +0x1.016adf54be7b1p+2 +-0x1.6baefbf516dc7p+4 +-0x1.21c30a32cda9ap+4 +0x1.62072a0760112p-1 +-0x1.39b197eda3b67p+4 +0x1.7f04c21a59f65p+3 +-0x1.168386ca9dda1p+5 +-0x1.c9fbcc3111dd1p+5 +0x1.1635f32442b4bp+4 +0x1.3ddeeff0904dp+0 +-0x1.1ee2ce778752ep+0 +-0x1.6899a578aa20fp+4 +0x1.dc1aa30ec4db2p+2 +-0x1.b601c472fde84p+2 +0x1.a8462321fb8p+3 +-0x1.33c518cb111f3p+4 +0x1.a6798664f5c9p+4 +0x1.0a3882fdb4c69p+5 +0x1.06a6a0c714e72p+3 +0x1.6bf6e92c72fdap+3 +-0x1.84d9f0dad55b6p+5 +-0x1.6cf1230fc64fap+2 +0x1.dcbcdf914d19bp+5 +0x1.3536efe9827d5p+5 +0x1.cdd5a0cabf976p+3 +-0x1.bfefec036a01p+4 +-0x1.618704dd2237ep+4 +-0x1.17cefc37ce9e6p+3 +0x1.67adb2356ca23p+5 +0x1.3a39542a3d08dp+4 +-0x1.d038d39843b5cp+0 +0x1.36d7a84eb8a79p+3 +0x1.e318b27ed0599p+1 +-0x1.3e982c6df06fp+5 +0x1.471aa1ad93735p+5 +-0x1.178b0d8b0e41bp+5 +-0x1.b5c3386698386p+4 +-0x1.a52045d0cb3b4p+4 +-0x1.d018cc3de79a2p+0 +0x1.25707b545b91fp+3 +0x1.e26ee3996bd8ep+5 +0x1.1156ce1170e2ep+3 +0x1.a0a6aa2e7bd22p+5 +-0x1.267fe26a632a4p+4 +-0x1.1988fafc41493p+3 +0x1.0b474ede969c2p+4 +-0x1.8fe1987a07791p+3 +-0x1.5fdfda703863ap+5 +-0x1.9437084d0518ep-1 +0x1.8d0837e936cfdp+3 +0x1.8b69391996a2ap+5 +0x1.fd35a316fc2eep+5 +0x1.20e7616eca6e2p+1 +0x1.1338d3fa2926dp+6 +-0x1.ea5206d0e59ddp+4 +-0x1.cd9f2866a138p+3 +-0x1.1da76fac5b14ep+6 +-0x1.123ce38c400a3p+5 +-0x1.07273f5501a1ep+4 +0x1.d21bc9014d725p-1 +-0x1.39b1efce626c6p+4 +-0x1.153f21880d3b8p+6 +0x1.8dd607ab18a3ep+5 +0x1.c9119430f7652p+3 +-0x1.06ef9d5040c57p+2 +-0x1.f7e71e8eb08dfp+0 +-0x1.2bcc972227b6p+3 +-0x1.556f26bd6a989p+5 +-0x1.263feb687a572p+5 +-0x1.d0ae290be2126p+4 +0x1.bf14b6eaddd81p+0 +0x1.d08ea372372fcp+1 +-0x1.d899f538399cep+5 +-0x1.c8a9969e9fae7p+4 +-0x1.5587db2a38d7p+6 +-0x1.c510ed03a0fe3p+4 +-0x1.18b784fb0ed45p+5 +0x1.71cc014d2e991p+4 +-0x1.64f178d84bd9ap+4 +0x1.23e878698dbd8p+4 +-0x1.aec4fa9e8ba9cp+2 +0x1.30e845b965931p+5 +-0x1.f9dee68a8a975p-1 +-0x1.24ba81f47f9a1p+2 +-0x1.9fe796266bcc3p+3 +0x1.af099e5373c01p+5 +-0x1.43231ad599d27p+3 +0x1.1580806ff282bp+5 +-0x1.dd82938144e22p+4 +-0x1.29bfc266ae7abp+0 +0x1.5fafe5b5edad1p+4 +-0x1.22b3574e65c91p+4 +0x1.6651c618cf3f4p-2 +0x1.e17a669700255p+4 +0x1.d3c68b80f60d5p+3 +-0x1.56483d0667741p+1 +0x1.f538f451b9fdp+2 +-0x1.7fb88e136c291p+5 +0x1.7459694066d8cp+2 +0x1.90a7c3293e66dp+5 +-0x1.74067a2d8c534p+2 +0x1.3902e701e5a2fp+5 +0x1.359ad7f5f0d46p+3 +-0x1.14bb77ddc0726p+6 +-0x1.d2b000335796p+4 +0x1.f9f7f852b5e01p+3 +0x1.f4b9e2ad91dap+1 +0x1.18af71f8a9b28p+5 +0x1.2336b1cb0fafbp+6 +-0x1.aa7a9d484c47cp+4 +0x1.23d8f222d52a2p+5 +0x1.06602864ed3cbp+4 +-0x1.e4cd46e5cb0f2p+2 +0x1.0787d6a0e9bcdp+5 +-0x1.9b00fe119f6bbp+1 +0x1.fe98dd197274bp+3 +0x1.5ce4da1b33f67p+5 +0x1.54b8001746585p+3 +0x1.7631f2c31f401p+4 +-0x1.56d6cef83e5a1p+5 +0x1.e93e0296d3f9cp+5 +-0x1.508c63cbc95e1p+4 +-0x1.cfc48b79ddbf1p-1 +-0x1.c205f2e58cca8p+5 +-0x1.4665ebc7cd0c7p+6 +-0x1.95aab1bd6c38bp+3 +-0x1.0cb91d1523407p+5 +0x1.517e2f1d103eep+3 +-0x1.bf61d1396f8d7p+4 +-0x1.457ed59185adbp+5 +-0x1.37c8c2e9eda75p+4 +-0x1.002cb202563ddp+5 +-0x1.07c27a4b98428p+4 +0x1.274167b3edc11p+4 +0x1.38f41e03ca394p+5 +-0x1.81ce3adcc24efp+4 +-0x1.d73dd14402c5dp-3 +0x1.1be2452685e43p+5 +0x1.6d43665dba9a7p+7 +0x1.2310181f92686p+4 +0x1.23500e746171fp+3 +0x1.19c6bdd0879c7p+3 +-0x1.5e77f6e1a6136p+6 +-0x1.a6520e7760427p+3 +-0x1.fad8dc512ef64p+2 +-0x1.520906b4ca0edp+3 +-0x1.77399951d85bcp+3 +0x1.14293c930bd93p+4 +0x1.50f49f30f41a3p+4 +0x1.365732ee9462cp+5 +-0x1.3469c823bafdbp-2 +0x1.b1cb35b097958p+3 +0x1.0c8065025cd4ap+3 +0x1.53f72f16765c3p+4 +-0x1.ba6bf36ca2f71p+5 +-0x1.142e216b09fb8p+1 +0x1.240137694a3c1p+3 +0x1.bd15027accbd9p-2 +-0x1.5a932d908486ap+3 +0x1.ba4fb40fa34a4p+4 +-0x1.223d30ff2a1a5p+6 +-0x1.27b8add6a6886p+2 +-0x1.a8e54543a5198p+1 +0x1.01d10f40bbe4dp+4 +-0x1.93f7d1ea9858ap-1 +0x1.7fcdddaeac474p+4 +0x1.9a1d8d576de6fp+5 +0x1.036463aaa8b1fp+5 +0x1.b0e6ff5eda3cdp+2 +0x1.02db2f7f0de33p+6 +0x1.6b8a9f549c9b6p+4 +0x1.2fa00597e9e36p+5 +-0x1.d82327772da7cp+4 +-0x1.9d410aaf06663p+5 +-0x1.de77e9c0a780cp+0 +-0x1.bb181cc90774ep+3 +-0x1.cb4adcc5751bcp+1 +-0x1.3f3ebcce0aec2p+5 +0x1.2cd10b49175d9p+5 +-0x1.6f6f2351ad838p+0 +0x1.ed8106947686cp+2 +-0x1.89506742e5d8p+4 +0x1.00c424a42565p+5 +-0x1.6b352e885e7c3p+2 +-0x1.08fb74dc0ab89p+5 +0x1.26b1b1abb522ap+5 +0x1.5f5b97eb4da63p+3 +0x1.5767d36361b7ap+5 +0x1.276b5609db7f6p+5 +0x1.2bc056d863c86p+5 +0x1.054068516fafdp+5 +0x1.e8fb5d99a1a68p+1 +-0x1.7950f176344c2p+3 +0x1.61c78ee7f9271p+5 +-0x1.3da239be38048p+5 +0x1.b309d11338a01p+5 +0x1.b3d519e1bf1d4p+1 +0x1.c7101bf613de6p+3 +-0x1.17cc8034ddd1ap+6 +0x1.5e9e67ea45c7ep+3 +-0x1.7b88b9484a232p+5 +-0x1.bc3d10fd50bc6p+3 +0x1.fe17716a6268cp+5 +-0x1.454e049d56536p+1 +-0x1.203ea7655130ap+0 +0x1.0b62ff735d823p+4 +0x1.0a3696500908p+3 +0x1.b69cbdbd83417p+0 +0x1.e4a2a0310a0dp+3 +-0x1.fc1de8ce9ccbbp+1 +0x1.9c5f0ca6d5bcdp+4 +-0x1.c662e4a9e2b4fp+2 +0x1.cb7759ff98897p+3 +-0x1.61d9a3955f9e8p+3 +-0x1.1450cd02b8002p+5 +-0x1.e773533e402e8p+4 +-0x1.a191c553590d6p+2 +-0x1.3b0969f3dad3bp+5 +-0x1.5739785aa9cb6p+1 +0x1.974ac42aa19f3p+0 +-0x1.19e94204b2e05p+5 +-0x1.60de180df5b3ap+3 +-0x1.7877256bbd104p+3 +-0x1.fea15116b212bp+0 +-0x1.c22308bd575ddp+2 +0x1.288e7f47d1b81p+3 +-0x1.0be3f8116e0dep+1 +-0x1.e322c79333de6p+3 +-0x1.11322e6dd5efp+4 +-0x1.34b88999f1bfdp+5 +0x1.52f1279623616p+4 +0x1.119c0fbd1adb5p+5 +-0x1.69e2d1e8fa137p-2 +0x1.1feb9ad409c2ep+5 +0x1.61feda8a1b167p+3 +-0x1.8f798a89cb563p+5 +-0x1.0381ca9d806c6p-2 +0x1.969822a48f2bfp+3 +-0x1.4b524db6de106p+2 +-0x1.321ac45903b65p-1 +-0x1.6ebfad34f3528p+5 +0x1.e1d78c350aacfp+5 +-0x1.1208ee7041017p+4 +0x1.50da0aca712e9p+4 +0x1.095648628df8p+5 +0x1.d7c7b5dcd6724p+5 +-0x1.d0964bde55c72p+4 +0x1.2e651714ec24dp+4 +-0x1.c0bdc3f5eb2e8p+4 +0x1.1695d07763352p+3 +0x1.0454b477b93dbp+4 +0x1.4ccce934eb87fp+3 +-0x1.1db5faa1216e6p+1 +-0x1.786a46d1d8691p+5 +0x1.990da5661a543p+4 +-0x1.0ccbbf8e5a596p+1 +0x1.4f6fe74404b98p+4 +-0x1.d20a797212608p+4 +-0x1.99dd5f0dc1be9p+3 +0x1.e5340b83aa563p+4 +0x1.a5b969d782f2p+5 +-0x1.928d3bcbf4518p+3 +0x1.2e315198a9783p+3 +0x1.513135f05f2bbp+4 +0x1.0222ca2b4f081p+4 +-0x1.89523b2b1129ap+2 +-0x1.ec6731814760cp+2 +0x1.0523de79fd4ecp+4 +-0x1.3a3f7be689a0bp+5 +0x1.5ebaf64b450f1p+5 +0x1.224768673ab86p+5 +-0x1.1e90c4dbc07dep+6 +-0x1.fedbaa128aafap+4 +-0x1.022820fe4bbf4p+6 +-0x1.03bc53d9dd946p+5 +0x1.726507104601ep+4 +-0x1.e2fa33afd4d83p+5 +-0x1.000cc0f07a4a9p+3 +-0x1.16afe7cf93e2fp+5 +0x1.5d8299296a8cp+4 +-0x1.582e240c71aaep+5 +-0x1.65ffe7961a37p+3 +-0x1.07b00502bdde1p+5 +-0x1.8a79a9cce700bp+5 +-0x1.362ff8c8539bcp+5 +0x1.5a2a55bb21dddp+4 +-0x1.ad62d5415a7f6p+3 +0x1.43efd93e082dcp+1 +-0x1.121de9c0dc664p+3 +-0x1.68e8ebc40287cp+3 +-0x1.4737a7b0ff72fp+4 +0x1.8d7229f449b5bp+4 +0x1.d3724fc717215p+2 +-0x1.d01bf904aa6b9p+4 +-0x1.d040af28a58fcp+4 +-0x1.8f066b99c681fp+6 +-0x1.23d4f32e81314p+6 +0x1.2ae7ecad8a2f3p+4 +0x1.8733f7daea068p+5 +0x1.bc26f58537a4dp+4 +0x1.8ddbdaf9013e4p+2 +-0x1.c049b5b81bf84p-1 +-0x1.fec4921b7b307p+3 +0x1.7f7968f52df6bp+5 +-0x1.1dd896290ba68p+4 +-0x1.a9ae636ac6ad5p+4 +-0x1.8077dd65339dep+5 +-0x1.1e7b08199fe76p+6 +0x1.235395438149fp+4 +-0x1.c87d10a63d169p+1 +-0x1.d320da5d9ee0ap+3 +0x1.03b143c0b2672p+4 +0x1.7a38475a7c219p+3 +0x1.242e1d397e6bdp+5 +0x1.b7936a31add3p+3 +-0x1.4f848b363cbf1p+4 +-0x1.0e20dc0f9d118p+5 +-0x1.c14bc04ee403cp+5 +-0x1.0015187c17de7p+2 +0x1.a4475fe31d5f4p+5 +0x1.d225c2f94ab9dp+2 +0x1.21c16635ce30cp+3 +0x1.235af779a7eecp+4 +-0x1.1b58b94905d77p+4 +-0x1.58b5e5e5e17d8p+3 +0x1.dc72e34ae62ecp+5 +-0x1.de7f639b3d658p+4 +0x1.76a74d5003af5p+2 +-0x1.b2a27178698ffp+3 +-0x1.d78d2ad9958eep+3 +-0x1.d3a2753254aedp+4 +0x1.5d8ba75afc39p+1 +0x1.cc630898af8cep+3 +-0x1.22ebdca8bfeabp+5 +0x1.78e75f962beb2p+3 +-0x1.9911172a835e6p+4 +0x1.0855c3159b79p+5 +-0x1.36a249f6713e1p+4 +-0x1.2510e79baa8e8p+5 +-0x1.0d06dd5d881f2p+3 +-0x1.1ee6ddba8f464p+4 +0x1.afd89ba2db15fp+2 +-0x1.29809ec5a8b95p+4 +0x1.aaf702a408688p+5 +0x1.9dcb10f0825a1p+1 +0x1.5f3cc882f0ce7p+4 +0x1.4ba3a5ffa79fcp+5 +-0x1.6d9b24ac25c87p+1 +0x1.a3ea737ecd838p+4 +0x1.207bc67429ddfp+2 +-0x1.fe6d08f681db5p+4 +0x1.1a69746b81fc4p+4 +0x1.d70e4ab377134p+4 +0x1.6f4597dae2bbbp+5 +-0x1.0c62a62513245p+3 +0x1.d820c9530305ap+5 +-0x1.71efdc4a4f75p+4 +-0x1.30841919dfc79p+4 +0x1.70f5336e17d7dp+3 +-0x1.681d715f5e4e3p+2 +0x1.d6ae61baacdc4p+5 +0x1.f196bbf5215ffp+4 +-0x1.41d18d0f022ffp+6 +-0x1.762a83fb3a7fbp+5 +0x1.d63c0d6692ca9p+4 +0x1.f220354c3cc18p+5 +-0x1.f1afc8040b129p+4 +-0x1.87fc703fc6938p-1 +0x1.a217aac4eab47p+5 +-0x1.e8a8802353b04p+4 +0x1.7d3ed50ce274ap+4 +-0x1.e87dd9747919bp+4 +-0x1.9ed7a29a9c834p+4 +-0x1.5be9942ff4d2p+5 +-0x1.9df17d86201f9p+2 +-0x1.4d8be99e8188dp+5 +-0x1.1e72c639b0ae7p+4 +-0x1.cd544b866b613p+3 +-0x1.297df97e7a9ecp+5 +-0x1.72ed200511deap+4 +0x1.351bfe4f9af6ep+2 +-0x1.7a6163d228fb8p+4 +0x1.524c21b4055d1p+4 +-0x1.13f8ce4bcfdbep+0 +0x1.1f938f466b00fp+4 +0x1.21e2580529246p+3 +0x1.7f5a81506ac11p+4 +-0x1.0326e0867440ap+4 +0x1.3dbaa26960115p+3 +0x1.c7e527bc02a67p+2 +0x1.5e1d8eaca6c95p-2 +-0x1.d7ebf650cc9b9p+4 +0x1.9097b662a59eep+4 +0x1.469b66aad8413p+1 +-0x1.fd2e4f7bf87bfp+1 +0x1.34111b41a0232p+5 +-0x1.320bb7ec305bbp+4 +0x1.c3d3ce6fb26cdp+2 +0x1.d68badce5fad4p-1 +0x1.d5fbd9a4099ap+4 +0x1.7747520a8506ap+5 +-0x1.a3adc4d8243f9p+5 +-0x1.c7e54a561edfcp+3 +-0x1.1872b908a3c89p+3 +-0x1.e39d87f265b94p+4 +0x1.b75530da2cbeep+5 +-0x1.db9717453752p+2 +-0x1.7e4a49aa11db4p+3 +-0x1.ca0c47971a2e3p+3 +-0x1.140941e8f4e9ep+3 +-0x1.b89a4d30de0b1p+5 +-0x1.047d929ca12b4p+1 +-0x1.1fca22d9e3d3fp+5 +0x1.b510ea6341a5dp+2 +0x1.0ea7bf950d4bep+5 +0x1.c6c843e32c486p+4 +0x1.60342384077cbp+5 +-0x1.a5ffd2292d3b4p+3 +0x1.15160e2ef6484p+3 +0x1.125b5c34f3271p+5 +0x1.90738b259e457p+3 +0x1.d921afd783667p+5 +-0x1.b154157bf17a5p+5 +0x1.4431396d43267p+5 +0x1.f07062f70ded8p+5 +-0x1.469440b3191fep+3 +0x1.be8d7ebaf73cep+4 +-0x1.6c8e20d320275p+5 +0x1.597e7bc43487p+5 +0x1.727436957ad8p+4 +-0x1.7b4e545a4fef2p+2 +-0x1.47ffa36f14afap+5 +0x1.e144f75d2808bp+4 +0x1.260285817baf3p+4 +0x1.686e95f29c34dp+5 +0x1.710bd5d2c5ee7p+5 +0x1.55e840d9b9166p+5 +-0x1.43ffa8e88d158p+3 +-0x1.69b8c86092a1fp+4 +0x1.c0c0d7045be57p+5 +0x1.eac24ae0b33dcp+4 +0x1.e064bf381862bp+5 +-0x1.c5a6f5ae0f81ep+5 +0x1.7d090a3ef9149p+6 +-0x1.51054c3cebb78p+2 +0x1.87593e01b5edp+4 +0x1.064c8f50de85ap+6 +0x1.0e768a936696ep+5 +0x1.fcd304df17d13p+4 +-0x1.83da27a69b128p+0 +-0x1.6fa7bbb482b52p+5 +0x1.1131d402eeaa7p+2 +0x1.84b6ef7476f9dp+5 +0x1.82d034b577949p+6 +0x1.3070756303b56p+4 +0x1.d6dd86c0ff286p+3 +0x1.b0c4237bd40dep+3 +0x1.6ecb46f059fb6p+1 +0x1.5472d0ca8751bp+3 +-0x1.2c76e4e00044bp+1 +-0x1.d8f29a525c17bp+5 +-0x1.91d9f20f8ddd2p+6 +-0x1.aa4dad59a0ec4p+0 +0x1.88639a9d97768p+3 +0x1.0047971d6e2a7p+5 +0x1.115370a703986p+2 +-0x1.e2efd44d4231ap+3 +-0x1.dc8958f7b3acbp+4 +0x1.dc3e846d83038p+3 +-0x1.b51a1cc78e455p+4 +0x1.aa61367a61e3dp+5 +-0x1.99a04cdfd0df1p+4 +0x1.b0839e4189b87p+5 +0x1.d13377c3aa005p+4 +0x1.84ad13f7cf1c9p+3 +-0x1.443c98b0560cbp+4 +-0x1.eeb87ebb65fa6p+4 +0x1.38c446b779cd2p+5 +-0x1.710f7cbaa56ebp+5 +-0x1.07b1a0825c188p+5 +-0x1.c75e1451c74e3p+4 +-0x1.3ddf731fb1842p+3 +0x1.27092f8aa5296p+5 +-0x1.0833d382ec7cdp+3 +-0x1.2cb6b94f88bdap+1 +0x1.6bd3df33085e1p+5 +-0x1.17db097560542p+5 +-0x1.fc4a6a3e62f6cp+1 +0x1.a13b131bdbb55p+5 +0x1.40fc5612ba1c1p+3 +-0x1.cc7f4e662776ap+4 +-0x1.792ec52d353ep+3 +-0x1.44a492f5ff5d6p+6 +-0x1.3827d3f76703bp+5 +-0x1.41cca35a5f8bcp+6 +0x1.fe5e455cb8454p+4 +0x1.d9b4370fc2651p+4 +-0x1.5a043cec84b91p+1 +-0x1.dd150317c60b9p+2 +0x1.dfc3cb1d20efp+4 +0x1.1f3afe7426708p+2 +-0x1.0cc97c80d87ddp+4 +-0x1.201c3df5ee694p+4 +0x1.df82b0e4c13fdp+4 +0x1.395d76dbb0bf2p+2 +-0x1.0b866d3ed57bcp+6 +-0x1.738d300f0c4d4p+5 +-0x1.0eeade15c772fp+5 +0x1.40cdcce2fc373p+4 +-0x1.3c73da13f2cc1p+5 +-0x1.74ae489a85dacp+2 +0x1.d82759a5a7c6fp+4 +0x1.ad9adb2f3c1aep+4 +0x1.1723e809d8be9p+6 +0x1.8f42905a6af4p+3 +0x1.550ea22983af2p+5 +-0x1.b17830927004cp-1 +-0x1.061f0850a474bp+5 +-0x1.7ae9b9ac3ce2fp+2 +-0x1.1541c8e599a71p+1 +-0x1.ed3335edb3fd8p+2 +-0x1.a2b8e06527b38p+3 +0x1.a0f539991818p+0 +-0x1.e01f1bfe66fc3p+3 +0x1.16513190b331fp-2 +-0x1.39bbd90a02bf2p+2 +-0x1.a0c207726808fp+5 +0x1.268d4ca64e482p+5 +0x1.8e2fbc3125b5ep+4 +-0x1.6b14c3fe2796cp+4 +0x1.8dc764d61a0ccp+4 +0x1.8779e69e57682p+3 +-0x1.176c96d183422p+4 +-0x1.25a54306d73b7p+5 +-0x1.81eb79a888b49p+4 +0x1.2ef405a58bab5p+4 +0x1.11e367b41be23p+2 +0x1.8ec7b0a28eee7p+2 +0x1.074bb4b92a08p+1 +-0x1.fad8058412ce2p+2 +0x1.827dd95ed480ap+3 +-0x1.14a3ce94c49d2p+5 +-0x1.6c924ef725951p+3 +-0x1.75eb80c0dbf7bp+5 +0x1.24954c7f5ee18p+4 +0x1.f902db3318d55p+3 +0x1.640cf26bfbb62p+2 +-0x1.2f224f92f6885p+5 +-0x1.02d94b4d9016dp+5 +-0x1.9b7db7392324dp+4 +0x1.68651ebb454f2p+5 +0x1.f4796f30027fbp+4 +-0x1.d1393d75f4511p+4 +0x1.c5dc8fd3603a6p+5 +0x1.bb6f3211e908cp+2 +-0x1.cd8996d89a7e6p+4 +-0x1.c73193f75f0c3p+4 +0x1.987076bd1eeaep+3 +-0x1.a68fc08dfec19p+4 +-0x1.7ea432dd2a5a7p+1 +-0x1.339fbe43d34c6p+5 +-0x1.413901f5193e6p+3 +0x1.ce62222b3805cp+4 +0x1.970f028113879p+5 +0x1.8abad91d0108fp+4 +-0x1.2c58f7a4e021bp+3 +0x1.06a996941e707p+5 +-0x1.640e731051c8bp+7 +-0x1.fe3dd3b21c701p+5 +-0x1.6021c857420fcp+4 +-0x1.575737013d5d6p+1 +-0x1.cfee4949fe65bp+3 +0x1.11638da253de3p+3 +-0x1.fb4ad68db196fp+3 +-0x1.c39980192670bp+3 +-0x1.00d2d9006315dp+3 +0x1.7fbfd8baa1d71p+5 +0x1.5a65d861f8c53p+5 +-0x1.195100e9c8f91p+2 +-0x1.4915bbf40d86fp+0 +0x1.6beb9b08962b9p+4 +0x1.57a911eb1ad5fp+3 +-0x1.12d0505a7c635p+2 +0x1.89ea2ae702fcp+3 +-0x1.5632cdad9c323p+3 +-0x1.d4c06be24be8cp+4 +-0x1.4f1954f19cfa9p+3 +0x1.3db72f9579379p+4 +-0x1.d8db14a91be06p+3 +0x1.98df14da2cd37p+4 +0x1.14ed3aaba1e13p+3 +0x1.152fd86c0f4d9p+3 +-0x1.eb0c41597dcfdp+2 +0x1.c34ee9c0b662p+4 +0x1.f84a204697033p+5 +0x1.43f320e296de6p+4 +0x1.38668c7e85186p+5 +-0x1.0fcdda4fc16b8p+4 +-0x1.9f96a6f3cef22p+2 +0x1.e85928dbfb41ap+3 +-0x1.361cdf5362f57p+6 +-0x1.8c83ce414b22fp+5 +0x1.1c76ac621150bp+0 +0x1.5b16355b23c86p+4 +0x1.5c549458b4ea9p+4 +0x1.969e895e32515p+0 +0x1.2440fa8897061p+6 +0x1.31fb48ccd28e9p+5 +0x1.2d1b84d2bb28ap+3 +-0x1.225302fa6c87ep+4 +-0x1.342994f685e83p+5 +-0x1.71951e6049268p+3 +0x1.29b1a102edbd7p+5 +-0x1.cff757eb27dffp+5 +0x1.2a3a816ba5faap+5 +0x1.f42529712cc99p+1 +0x1.c8b54130361efp+4 +0x1.83bb476615988p+2 +-0x1.0da2b7a85423p+1 +-0x1.0fdb2e462211cp+6 +-0x1.35115f1147a95p+5 +-0x1.b6312122192f4p+3 +0x1.a740b09c4e06fp+3 +0x1.09450797d14ccp+4 +-0x1.b8529be49df6bp+3 +-0x1.808f836249d14p+5 +-0x1.b7e28934b005fp+3 +-0x1.3c6e2582182cdp+5 +0x1.e87adde1019eep+4 +0x1.3902b2ba290bap+2 +-0x1.76edd365a8352p+1 +-0x1.667d7d6d8cd7dp+0 +-0x1.8b4aa06b5acdep+3 +-0x1.4a9160586351bp+4 +-0x1.36f888457e0f6p-1 +-0x1.9fb55e7c25027p+4 +0x1.0cca47e013bebp+4 +0x1.f9b5d46083528p+6 +0x1.0dc2f1273843ap+3 +0x1.9a8405cf46916p+5 +0x1.a607c945b5ac9p+5 +-0x1.44bb7d10967a3p+5 +0x1.f3e262d7d2025p+4 +-0x1.1518701db4cacp+5 +-0x1.5946e5076ca65p+5 +-0x1.d8f4f72e75f3bp+3 +-0x1.bc8404e8eea26p+4 +0x1.c53ab41121f9bp+0 +0x1.191f9a7809804p+5 +0x1.acbceb1ee93cep+4 +-0x1.4c2d729be6727p+4 +-0x1.02ea11fc8cd65p+5 +0x1.20889d795ca8cp+3 +0x1.8c2f30e6de49cp+5 +0x1.10b322fb9951bp+1 +-0x1.699c5b99f3a9bp+7 +-0x1.2743a11ce3daap+4 +0x1.4c16c24675605p+3 +-0x1.035d74bcbe027p+0 +-0x1.5967711870325p+3 +-0x1.044af2319224cp+5 +0x1.572759d0c031p+4 +0x1.0b9a4cb849af3p+6 +0x1.c2c14901ebb99p+3 +-0x1.18b6f0db87a4bp+4 +0x1.aa7be7a00f4afp+2 +0x1.0e7168cd2a5b9p+5 +-0x1.b5a3dcd4bbb18p+2 +-0x1.c72a6a042e50ap+3 +-0x1.cb81070961543p+1 +-0x1.47dbd3cd97892p+5 +-0x1.df37b2105266ap+4 +-0x1.430243a5f0f96p+5 +0x1.f6647fbd4cb5fp+5 +0x1.d75654d29b386p+4 +0x1.19a419c0aa2c8p+4 +-0x1.ac16228b22c89p+3 +-0x1.901e201c5cac3p+4 +0x1.091687705c0fep+4 +-0x1.e3f9a13ff48efp-2 +-0x1.6e97388085eb2p+4 +0x1.66dc784199b8bp+5 +-0x1.6800f8cb7b18p+2 +-0x1.a8aa7773154bcp-2 +-0x1.aee52b26e299fp+5 +0x1.cf472b7ab2264p+3 +0x1.894a2ce6e0933p+2 +-0x1.7819202c89d5dp+1 +0x1.2401c8899a63p+5 +0x1.4296ce4e36ddp+4 +0x1.b9051ee5173f3p+5 +0x1.6b220e627c763p+4 +-0x1.91f2694f245dbp+1 +0x1.aed15d501a24fp+5 +0x1.144ca30cf11f4p+6 +0x1.67aa4ff5ab2b6p+5 +-0x1.48a91f20bffc6p+5 +0x1.9a61f20256742p+2 +-0x1.131b2bd2445cap+5 +0x1.eaf8483e99704p+3 +-0x1.9efd931e2acdep+4 +-0x1.a0321a75a5356p+4 +0x1.616db09e2fa48p+4 +0x1.2ed1fbbf59e47p+3 +0x1.c5cc15a896495p-3 +-0x1.9f96e8dcc513fp+3 +-0x1.0ef2a558260a4p+5 +-0x1.6462b400a9578p+2 +-0x1.d53832d3bed9dp+4 +0x1.b8dd7040d692fp+3 +0x1.4874b97365b26p+3 +-0x1.ec97ba98fa1b1p+5 +-0x1.53ef33d7c4a76p+4 +-0x1.07fba90718481p+5 +-0x1.d5c393bd7c10ep+3 +-0x1.448fe47264738p+6 +0x1.094c28d7301dp+4 +0x1.31663ecbd3645p+5 +-0x1.cf8768a66ee09p+4 +0x1.3509d066274a2p+2 +0x1.8dabe1a2eca3ap+3 +0x1.89563e1a7abc4p+3 +0x1.41e1ccabff7ap+3 +-0x1.bb2d1c4e64f42p+4 +0x1.1c840e2a493d7p+5 +0x1.bc5d90d6ec0a3p+5 +0x1.36b89c616fe2fp+4 +0x1.63b2d5835604bp+0 +-0x1.88f8a32b99b0dp+5 +0x1.033bdbbad7697p+5 +0x1.7102185faf9b6p+4 +-0x1.3d096a9d70e32p-1 +0x1.3473c7e0d3656p+5 +-0x1.e31a31f195de4p+4 +0x1.efcb56603790dp+4 +0x1.a506ae382d772p+2 +-0x1.711fe7fe834fp+0 +-0x1.144e54b43e567p+5 +-0x1.821f6af7bfa5cp+3 +-0x1.facc3d8bb364ap+1 +-0x1.8d13ffd78004p+6 +-0x1.69e3ad3c29a73p+3 +0x1.4818c4a85a7a4p+4 +-0x1.40af87bbf289bp+5 +0x1.74a9b37329c64p+5 +-0x1.03bd38674857bp+5 +0x1.6e1a90fa22563p+1 +0x1.702f9efb00858p+4 +-0x1.810b8067e927dp+7 +-0x1.a287826e25cc7p+4 +-0x1.6a13d125c1d2dp+4 +0x1.bf6545614f2aap+2 +0x1.0073b49702568p+1 +-0x1.deccb44d69f3dp+4 +0x1.b97cd53a84b79p+5 +-0x1.e859599a8541bp+5 +-0x1.e8608a26fd75ap+4 +0x1.29b278175bf62p+3 +0x1.8068782345c75p-3 +0x1.0c8efd730f12p+1 +0x1.8abba277c6feep+4 +-0x1.70115381b7af9p+3 +0x1.11c3004c61d25p+4 +-0x1.fcebaafb4ecb6p+4 +0x1.b7819a2b6aba5p+2 +0x1.c4abced09ea7ep+4 +0x1.20b7f2c0a02e9p+1 +-0x1.625d30f6bd861p+3 +-0x1.4d16412bc07b6p+6 +-0x1.6e78e8541f34cp+5 +0x1.ff57b4477173ap+2 +-0x1.732f7fbf78345p+5 +0x1.c60c8a18ca74bp+5 +-0x1.6c0f712692246p-1 +0x1.6c6fccae9544p+4 +-0x1.8770ac5c7c4d7p+5 +0x1.2e1f3fb86e2e1p+4 +-0x1.8a5f0fb797007p+0 +-0x1.137b351e7d8bep+1 +0x1.08318d16847cp+4 +0x1.55dacfe7d2f16p+4 +0x1.c697ca1ea3a28p+4 +-0x1.7e14c4e8c5dd1p+3 +0x1.c05af990ced74p+4 +0x1.8237cef072a53p+4 +0x1.d456c46c32ff5p+2 +0x1.8f5974602f8c2p+4 +0x1.9e93011006be8p+5 +0x1.27f39a9c172a7p+5 +-0x1.1bbf7b8216c44p+4 +-0x1.be890b1a75765p+1 +0x1.a553d59400777p+4 +0x1.43939e5464cfdp+4 +-0x1.4045e41a2f778p+5 +-0x1.35a0f5e4ccdc2p+5 +-0x1.3422aac46b8f2p+4 +0x1.fa67b5b462e41p+5 +-0x1.3cc6fc0ab709dp+5 +-0x1.21421cb0c391p+6 +0x1.78175b45bbf5cp+3 +0x1.07b0322010eb3p+6 +-0x1.39bc1cac5674ap+4 +0x1.7e1ecab2b8611p+5 +-0x1.a8cdaa343f1c3p+4 +0x1.f5b0caff27af8p+4 +-0x1.e7061a420527ep+4 +-0x1.323af1ffac813p+3 +0x1.8d033a8dd7ddap+4 +-0x1.a1a07454f8a1dp+4 +0x1.50cc41f57d39ap+1 +-0x1.f56e5e9fada02p+4 +0x1.3859d96750defp+4 +0x1.73203bf383085p+4 +-0x1.8adde5f8f1df4p+4 +-0x1.d557ae14c19b7p+1 +0x1.36e46dc9e2dddp+2 +-0x1.3327087d2eb26p+2 +0x1.27b77812c8d7bp+0 +-0x1.3d6d9449f0b2cp+4 +-0x1.11e906c2545bep+4 +-0x1.deaedd8052d44p+5 +-0x1.6c268666b780dp+3 +-0x1.751cb5efc0125p+3 +0x1.7e5a447cbe912p+4 +-0x1.a1a94467137d8p+4 +-0x1.631e76fac0a58p+4 +-0x1.4974ea8a5b944p+2 +-0x1.610c39847f6dep+0 +0x1.64f79be504d66p+3 +0x1.ef4876bb9373dp+3 +0x1.3bf07758ac0edp+6 +0x1.1b3054b54d8d9p+0 +-0x1.0d3a4f35633c5p+3 +0x1.017ee3b6d9aebp+6 +-0x1.208cbf8e3dbeep+5 +-0x1.5f084df226306p+5 +-0x1.2bc95225cf2a6p+1 +0x1.79882b08dd3ccp+4 +0x1.f213b8342646bp+4 +-0x1.a1dee7da2bf6cp-1 +0x1.398ba033f91a6p+3 +0x1.1da22d883e9c5p+7 +0x1.d42f3c7406546p+3 +0x1.2bbf93e04eb95p+6 +0x1.b164e917a32f8p+2 +0x1.adaf625ba3cfcp+5 +0x1.e9a2d143c4b25p+4 +-0x1.17544ad4ba83cp+5 +0x1.3276ea83d9999p+1 +0x1.10b9018f94faap+3 +-0x1.534cf5b8733a7p+2 +0x1.162fbf03dcc26p+3 +-0x1.cedf6ae68040ep+4 +0x1.e4a268fcc1f87p+4 +-0x1.2988d714911b8p+4 +-0x1.35c038462ef2ep+4 +-0x1.8f9f8b27f2ccfp-5 +-0x1.2596ba0f8da32p+5 +0x1.ad4837c3f13d4p-2 +-0x1.d574c505bd404p+1 +0x1.9e272df83331ep+5 +-0x1.baca8328beadep+4 +0x1.9f22e23bc0f6p+3 +-0x1.c073ca76d48a1p+2 +0x1.1633b247d7e01p+4 +0x1.63fde035cd946p+3 +0x1.3bf3ffdc65e09p+2 +-0x1.2429280322e3bp+3 +0x1.b44f60e7247e4p+4 +0x1.35ef8ef818f27p+4 +0x1.89527e4afbc3fp+2 +0x1.01263efdae1d3p+2 +0x1.43f43b811264p+5 +-0x1.272e41a83f19cp+2 +0x1.cde265bc071c3p+5 +-0x1.2759fba345ef1p+5 +0x1.53c29fe09b2b4p+4 +-0x1.3b002ac772cc3p+4 +-0x1.a9d384a6c2d99p+4 +-0x1.c0ffa46344c7bp+5 +0x1.28be59a2b8973p+5 +0x1.dee23f044c63p+2 +0x1.00a382f66b2b1p+5 +-0x1.089955f5cde6ep+5 +0x1.02e05d7d05fdbp+4 +0x1.1d920135cafdp+2 +0x1.b4eab91fa7e9dp+5 +-0x1.50679095977ep+6 +-0x1.b02079606e48ep+3 +0x1.15067d4ddd5d2p+4 +0x1.33b2fd363a87ep+5 +0x1.229d8dbb97519p+4 +-0x1.14bb16ed08341p+5 +0x1.06aa7a7c56016p+4 +0x1.b45903726b769p+3 +0x1.715c2c71815e3p+5 +0x1.66840832724dep+4 +0x1.f24d72fa4a60bp+2 +0x1.dbf50b585b223p+5 +-0x1.938fba520654p+5 +-0x1.bbfd71f367dccp+1 +0x1.333e5ed1263a1p+5 +0x1.05222e2d2d4aep+1 +0x1.8c6cd202ba974p+5 +0x1.8f1b75ace3b7bp+3 +-0x1.02c5f5cf16d5p+3 +-0x1.1713aaf722843p+2 +-0x1.a29ad45c3a3dap+5 +-0x1.b6d618e039128p+3 +-0x1.70b115246867bp+2 +-0x1.d84737c689ddp+3 +-0x1.a232c0b047aebp+1 +-0x1.90dce13d5c42p+2 +0x1.523a7ebfe78e3p+5 +0x1.e70aedebd4b1fp+3 +-0x1.5a1c975911dbfp+4 +-0x1.ed119034e6a4bp+4 +-0x1.792fd2b9e456dp+2 +0x1.4880715dad285p+4 +-0x1.e435be704689ep+3 +-0x1.e5248c755c768p+4 +0x1.2ea91c7e4606fp+4 +0x1.0752368183a77p+5 +-0x1.9fd765276e4a2p+0 +0x1.d27774b0a46bcp+2 +0x1.a0de76d18538p+5 +-0x1.779e199954091p+4 +-0x1.9a63b29ced1acp+4 +0x1.4551c071e3612p+4 +-0x1.2bf0f08f79f3bp+1 +-0x1.ae0f77c31c75dp+3 +0x1.09f79467be0cbp+8 +0x1.34f0d2a12cd84p+3 +0x1.69e271f1f8fa2p+3 +0x1.2da5a48c9a9e1p+6 +0x1.a9cf96e2ed939p+4 +-0x1.45019d2ee0fb3p+1 +-0x1.661fa9d1f6bbap+1 +0x1.ce6a228515532p+4 +0x1.e60fc4f8bc76ap+2 +-0x1.ba4f23e166ab6p+4 +0x1.bef6acf8e5265p+3 +-0x1.f08f31b874a0cp+2 +-0x1.827eef84b9c14p+3 +-0x1.81451763c7fcbp+4 +0x1.929f7c4873464p+3 +-0x1.2e62ca652df96p+2 +-0x1.0b1e914266a6ap+5 +0x1.8b1da759fca95p+3 +0x1.41a8c338299f7p+4 +-0x1.c2ed3436ec8e9p+4 +0x1.23ff52f35c879p+5 +-0x1.79751538755f8p+4 +-0x1.0f890d76a6f7fp+0 +0x1.31813f5a8b34fp+3 +-0x1.19f82859faf39p+2 +0x1.4f28e4c463c9cp+5 +0x1.9f7be005ac4a4p+2 +-0x1.73dbd7d50128bp+2 +0x1.f24a97c1672e6p+4 +-0x1.3785bff77fa86p+4 +-0x1.28ddef8a7188ap+5 +0x1.af2e4bf2e0527p+4 +-0x1.bb9c349cb3eb1p+4 +-0x1.23738446973ccp+5 +0x1.216e94fde3782p+4 +-0x1.404f78dfdac49p+2 +-0x1.d5f7630733621p+4 +-0x1.6a54a38f0c78cp+2 +-0x1.ea251e3191e44p+2 +0x1.e4d75b70f7768p+3 +-0x1.51d77741c59aep+5 +0x1.f0ffbede3629fp+2 +0x1.07cd9aa1e8cc4p+3 +0x1.7291e70882dcp+4 +-0x1.3ff9407a20da4p+6 +0x1.16fa723f3f61bp+4 +-0x1.68cf93cb7cd7fp+4 +0x1.bda4753e9d1aap+5 +-0x1.5cefb291e68d2p+7 +-0x1.044f2c1e7031fp+5 +0x1.6a02aab723bc2p+3 +-0x1.0585998124d7p+5 +-0x1.51373e1abd6eep-1 +0x1.0ccfdf512b482p+2 +0x1.217ce5fc6541ep+5 +0x1.5f834695e1c6bp+3 +-0x1.4855b8dac7c66p+5 +-0x1.c67155ef87709p+1 +0x1.c4f27f1bdbe13p-1 +0x1.2a624540c149fp+4 +0x1.caa2ebc95573cp+2 +-0x1.682f24da6017ap+4 +-0x1.d0d90ecc89c53p+5 +0x1.904d8057eaef1p+4 +-0x1.d9bc35e72d545p+4 +0x1.b609cf1eb7875p+4 +-0x1.9a9a14ba31b5fp+4 +0x1.3644797ddce24p+2 +-0x1.ada57e0eb119bp+4 +0x1.8fce241b1e336p+3 +0x1.ac55e0fbe0d38p+4 +-0x1.0c3b900555af8p+3 +0x1.a5e5b3473e91fp+3 +-0x1.0565e7ab26f9ap+4 +0x1.6da23867e6d97p+2 +0x1.8559c6cb4dabbp+8 +-0x1.ff2f3bcf1d076p+5 +0x1.bef44a8e2b591p+5 +-0x1.8801d5721b75fp+1 +-0x1.cbb29dedb7859p+3 +0x1.09dc7087753f5p+4 +0x1.19e4c62dab446p+7 +0x1.7fefabfac6aa1p-4 +-0x1.6ef24221dc489p+5 +-0x1.f3f72bcea7a94p+0 +0x1.218a906174475p+5 +0x1.0652460d91c3dp+3 +-0x1.4bc35a7f6918bp+5 +-0x1.503f55f551c6ep+4 +-0x1.de0226626a4c3p+4 +-0x1.7c16f2a2e310fp+5 +0x1.be43032895252p+5 +0x1.a2e2c52f41be9p+5 +0x1.5f5178957b39fp+4 +-0x1.80f520a4221aap+4 +0x1.be8831b22588dp+5 +0x1.1e1ad8eda7dd8p+5 +0x1.88af12d33e396p+4 +0x1.56d510daccc47p+4 +0x1.2e8bca4275bb5p+4 +0x1.7c2a16c2964e7p+3 +-0x1.c3f2462543705p+3 +0x1.48d404a8ee454p+7 +0x1.11083b729cf36p+5 +-0x1.7e2af39315da9p+4 +-0x1.7da2eaba0ec41p+2 +0x1.506ffb7425729p+2 +0x1.7ab5ea8242debp+2 +0x1.b77cabf14db6bp+1 +0x1.7b3b4e2f05ddep+5 +0x1.bbddc223d8ed4p+4 +0x1.c509a23d73b8dp+5 +0x1.9cc29ecd7284p+4 +-0x1.3f2d5e6fe7b5ap+7 +0x1.826b805093a09p+5 +0x1.88114f0451dddp+4 +-0x1.242f7a3e92be2p+3 +-0x1.4b33f9eba0d61p+2 +-0x1.3ff7b15d65457p+5 +0x1.e5c145a39e135p+4 +-0x1.0452cb23c2ea2p-1 +0x1.2c762167ec373p+2 +-0x1.2fe8f78eba3bcp+4 +0x1.4b188c8b58e1cp+4 +-0x1.0280595397c7p+3 +0x1.81a3d0dc3fce3p+5 +0x1.61604f72cc50fp+2 +-0x1.88b9b48e6e12bp+3 +0x1.adbde0c853d1dp+4 +0x1.ef8b77b92c76ep+2 +0x1.6f05862b7c708p+4 +0x1.77fe3f349ae8ap+3 +0x1.e038095394ea6p+3 +-0x1.72ba700c37f07p+5 +0x1.cd4b0bddd9365p-2 +-0x1.4730babdc0c14p+6 +0x1.d2be6bebeedf4p+3 +0x1.e0cbeaa06b9fap+0 +-0x1.13802dfe62ed5p+5 +-0x1.1f41e33160aaep+2 +-0x1.29929c9c92042p+3 +0x1.d3f8e5ae13d6ap+2 +-0x1.6e8541189aef1p+0 +0x1.0ad203c10df6ep+2 +-0x1.e96f930781a01p+2 +-0x1.21e5d8eb57dd9p+4 +0x1.94f3cfeabb81dp+4 +-0x1.fea527443ca72p-3 +-0x1.93dc6ac05f8f3p+3 +-0x1.680cd1fdc064fp+6 +0x1.21f1f1626f20ep+4 +-0x1.060a6d09b6f49p+6 +-0x1.1ff16387bdfa4p+5 +0x1.29d32254d535p+3 +-0x1.0ccf3fbb8bc2p+6 +0x1.12b19649c70c7p+5 +-0x1.220a5ffef9135p+3 +-0x1.5ef9eb9552a3bp+3 +0x1.71cdb61a203c4p+4 +0x1.1b40f1a2fcebap+5 +0x1.dae3426c41647p+2 +0x1.ceb35659a8204p+5 +0x1.028d091c63623p+4 +-0x1.0e43930a7e9cfp+2 +0x1.67c3bc90a27d5p+2 +0x1.d86000d9a7707p+2 +-0x1.e6a3193c6903bp+4 +-0x1.d435916a9329bp-1 +0x1.1e75da86fb093p+1 +-0x1.0d4c1fec2fa9p+5 +0x1.b43d4895156f7p+0 +-0x1.d37956b1a6bd5p+4 +-0x1.a04d485c3b9e7p+1 +-0x1.04014c571b3e5p+2 +0x1.658acf683261ap+3 +-0x1.0ff5d61e9b253p-1 +-0x1.8d2fd916db9f5p+1 +-0x1.26c032f90fc1ep+5 +0x1.92570b013343bp+1 +0x1.5027343852a7ep+4 +0x1.687e11cabc067p+3 +-0x1.82955d1c9805ep+2 +-0x1.f0a28e0a0bfc3p+4 +-0x1.934f90e95a09cp+3 +0x1.9f3bffdb167d8p+3 +0x1.104161c484cbcp+4 +0x1.250e9485f986cp+6 +0x1.cbb8b279f75cfp+4 +-0x1.2355527e064a1p+5 +-0x1.39dd9137af427p+3 +-0x1.69653a2a1374bp+4 +-0x1.9e5b08d76b728p+5 +0x1.cf9e7d04b54bep+1 +-0x1.f509a8312f736p+4 +0x1.e6fb88bdc053ep+3 +-0x1.f677b13f47f1ep+6 +-0x1.387b95ebd786ap+7 +-0x1.d76b71224c9b6p+5 +0x1.c56e2c269a7f6p+5 +0x1.2fd78ccfebdf2p+4 +-0x1.53571df7a806p+3 +0x1.1fc02cf8c4886p+5 +0x1.39d581f782417p-3 +0x1.79ddb9cfaf268p+0 +-0x1.deccf2895ba49p+4 +-0x1.8c3e2b8fe0721p-1 +-0x1.5b33503a77d7cp+5 +0x1.3e4dd68a3b267p+5 +0x1.32e09414cfe9ep+3 +0x1.b25072bb38547p+4 +-0x1.e1b733cabc1a8p+5 +0x1.36b69bef0cbcap+5 +0x1.24780e586bcd3p+5 +0x1.8548539b1fd87p-1 +-0x1.3612bb1dc64eap+5 +-0x1.e537779e7d117p+2 +0x1.17896c66b683bp+5 +0x1.46868ed04dc18p+2 +-0x1.53c8ca3e29b1ep+4 +0x1.ea6f95ee5dcb6p+4 +0x1.b4e0038a61d51p+3 +-0x1.e2af578213281p+5 +0x1.0533a560b45f6p+5 +0x1.31e5cd8b6bc1ep+5 +0x1.a8aec58be087p+5 +-0x1.70f68000c51eap+4 +0x1.51f401ec7fbdp+4 +0x1.db06473f40fedp+1 +0x1.4e1963fd716bbp+2 +0x1.a93094e125a22p+3 +-0x1.1026fefab4092p+4 +0x1.2b11802d5672cp+1 +-0x1.1663b10191896p+3 +0x1.64f32aa7f17c9p+3 +0x1.76f537ad53e83p+5 +-0x1.229ed99baeca3p+0 +-0x1.9d54224e8c116p+2 +0x1.66399235e31adp+3 +0x1.8274241590838p+2 +0x1.56ef89e9426dcp+4 +-0x1.48c9fc90c511ep-6 +0x1.2c9095d7682e6p+3 +0x1.f11c2ae636f68p+2 +-0x1.d30d83164bea4p+4 +0x1.7c24af02ca1bp+4 +-0x1.a8496a3e739d3p+4 +-0x1.8d426075714abp+3 +0x1.2fee8d8fad0ccp+4 +0x1.2784b3c87544ap+4 +-0x1.fa3b208cc16eap+2 +0x1.5f32ab56a81c4p+3 +-0x1.d1bb10de8809bp+4 +-0x1.b9e65c992b6c7p+2 +-0x1.665a55a0cecccp+5 +-0x1.6dbe7021dcdc3p+2 +0x1.a46e973a3e99p+5 +0x1.4cde1121818fep+5 +-0x1.e842a6195ef26p+4 +0x1.a07a37e8d4c71p+3 +0x1.021d6b583a26cp+5 +-0x1.07a6aa47f6bfcp+3 +0x1.684072264d247p+6 +0x1.5a13a33f9ca56p+3 +0x1.e2f9968e2736fp+0 +-0x1.5ffafde92027ep+3 +0x1.b56387a27cf5dp+2 +0x1.7d238029ceef2p+1 +-0x1.61af1bcd2f05ep+4 +0x1.2248f374326cap-6 +0x1.2498498f33eaap+5 +-0x1.8907402f60d53p+5 +-0x1.ab41475fcd6bap+5 +-0x1.dfbe17f38637ep+1 +0x1.9308bf9a54849p+2 +0x1.c58a07e377dc5p+5 +0x1.b362b3185f4d7p+3 +0x1.57be103ebaf0cp+1 +0x1.2a3a12a619941p+0 +-0x1.020ca5691cce5p+6 +0x1.83ec89bb2ce2fp+4 +0x1.b2c4774b4357bp+4 +-0x1.113a09f81fc81p+4 +-0x1.d382c87c16dfap+4 +0x1.7880f4f8ccd14p+3 +0x1.971a035ffe8adp+5 +0x1.0fb77f47421eep+4 +-0x1.9719c92834c47p+2 +0x1.ea1f6d15e40f3p+1 +0x1.32beae2003fcp+5 +-0x1.cf59e5c75346p+4 +0x1.1b29cf0432334p+5 +-0x1.3a8dc761fad7ep+5 +-0x1.9329f7e1e1bb3p+4 +-0x1.da33f91ffa374p+2 +-0x1.6ef64ba5996c6p+3 +0x1.87044df018b7bp-1 +-0x1.52cf3636ba4c8p+1 +0x1.081ab8e481571p+3 +-0x1.a3029d2789b85p+5 +0x1.0dd4a1f66412bp+6 +0x1.e21868c0305abp-3 +-0x1.365096745d39dp+2 +0x1.f8c280e4e1c84p+3 +0x1.2e34b13041e0ap+5 +0x1.76e0cc85b8289p+5 +0x1.7fc06c4f16dcap+5 +-0x1.1fc0438960659p+5 +-0x1.0ae6fc59bc6d7p+5 +-0x1.2c6562b353152p+4 +-0x1.cc02a394dc81p+4 +0x1.eed6e25dc319dp+5 +-0x1.95d15aed7e55p+5 +-0x1.c9bdba2cce334p+5 +-0x1.386052d34a305p+6 +0x1.059c1493b1ef6p+5 +-0x1.cd3fc1071d3c8p+4 +0x1.6e093b3f895bfp+4 +-0x1.4d1a150d70ee8p+5 +0x1.fbe58bc9bd9d5p+3 +0x1.bc4616bd7691p+3 +0x1.8efeadf3c5833p+1 +-0x1.edf52b2c77c85p+4 +-0x1.c75fde6084728p+5 +-0x1.360ca3a0dd42cp+5 +-0x1.8316aa3769e3dp+3 +-0x1.d60075694fd86p-1 +0x1.35d0c835f1382p+8 +0x1.dcda45212aec6p+4 +-0x1.59edd0fd7a02bp-1 +0x1.4b4d1a28acebep+2 +0x1.334620ecc9621p+5 +-0x1.29ca766a4883p+4 +-0x1.be15557ae10cbp+4 +0x1.ea0c0064d5ceap+3 +-0x1.ce34047bc919dp+3 +0x1.1e87cd6bad3efp+6 +-0x1.e1bb82cad4ff9p+4 +0x1.ea0ff46f317d1p+0 +0x1.923c71788ea04p+1 +-0x1.4884c29964546p+5 +0x1.152025ce81301p+6 +0x1.d299f4143fefap+4 +0x1.0386c797fbc4ap+6 +0x1.00ec53614e27ep+2 +-0x1.0a6d141458b05p+4 +0x1.0269a3cd98e66p+4 +0x1.5638675db228ep+4 +-0x1.b712ca3109ea6p+2 +0x1.1f2cd3235346cp+2 +0x1.ed4bdf659996fp+1 +-0x1.a29e188bf5bfbp+0 +-0x1.069dc0fb9574p+5 +-0x1.050c8a2ff07b7p+4 +0x1.90271c76cfadbp+5 +0x1.17cf9a8c3dc4dp+4 +-0x1.917ca02a22d06p+3 +0x1.15f860722717bp+6 +0x1.b87e35ebfa349p+5 +0x1.7ae3124b25f2bp+3 +-0x1.c5c72c93c2d11p+1 +-0x1.eb5c14492754fp+3 +0x1.2db7ce4a43852p+6 +0x1.917df786a7411p+5 +0x1.0032d2617d198p+5 +-0x1.c04d5276f8e8cp+2 +-0x1.658aab185625p+5 +-0x1.def7a427fdb86p+4 +0x1.139b6c7c3919cp+7 +-0x1.e29c2e02b1802p+5 +-0x1.3a92f53a6713p+4 +-0x1.01840542c33e8p+3 +-0x1.a1bb461853681p+4 +-0x1.cd19ac4ad8ac9p+3 +-0x1.48b60d36a500bp+3 +-0x1.bd350368ccd79p+2 +-0x1.c46617fb1ff35p+5 +0x1.bf977d521a53fp+2 +0x1.72216d32c9337p+6 +-0x1.a5f1702bdb0aap+2 +-0x1.f0470fd55eb31p+4 +-0x1.49c53a8ddc39cp+4 +0x1.99798da1c025ap+2 +0x1.c85f8296c5164p+0 +0x1.91aab55bb0eaep+4 +-0x1.28062a01ab905p+5 +0x1.1c4e4d8604052p+4 +-0x1.2aefe0be622c3p+5 +-0x1.53a44ea11ap+5 +0x1.664ef1c9ea928p+7 +0x1.52828b65f7363p-1 +0x1.539cceded3db2p+3 +0x1.1d375d18b4865p+6 +-0x1.df70f68750cb1p-2 +0x1.6b24572e08393p+4 +0x1.cad8d6274d42dp-1 +-0x1.67bef0d5e2905p+4 +0x1.ba7cff5a21287p+2 +0x1.6f2d89e4377d4p+3 +-0x1.4e682d49ff477p+4 +-0x1.866033fc47c63p+1 +-0x1.a8b234d4fa494p+4 +-0x1.5b18f0c015f78p+5 +-0x1.43970bfb824aep+4 +0x1.2cbe71f97c90ap+0 +-0x1.26b7c0e9a8849p+5 +0x1.194518d91bc4p+3 +-0x1.d7ef251bbc71p+4 +0x1.6bd3bdec63b04p+4 +0x1.2d60d5a27c4b2p+5 +0x1.4e2a48b2d5123p+3 +-0x1.9bc7256c883d5p+4 +0x1.6521f84acf6cbp+5 +0x1.3246dc983ab88p+3 +-0x1.80002fd67a625p+3 +-0x1.1678006ca7655p+5 +-0x1.14855f287d8edp+6 +0x1.54ed1bd62c549p+5 +-0x1.2eefa74a088a6p+3 +0x1.97c2d37b17f69p+3 +-0x1.142d7cf3fdc0ap+5 +-0x1.796aa9a04aae8p+1 +0x1.b0a6c1f6985dfp-4 +0x1.546bc41c08f8cp+6 +-0x1.998eb2a1f58bep+3 +0x1.25fa8f9db5a5fp+4 +0x1.fc34f5a415d0ap+4 +-0x1.6999cad5dcb1bp+5 +0x1.52bfed0c2067p+3 +0x1.564f1508ad28ep+4 +-0x1.aeeba98923fcap+3 +0x1.99268aa57399dp+0 +-0x1.ee66af8dc006cp+3 +-0x1.1c6a1739b26b2p+4 +0x1.435e7e1a9bc3cp+1 +0x1.76cc2e8e9e5dfp+6 +-0x1.83fc524693dbep+3 +0x1.0ddb6410d3c7p+4 +0x1.03605b7977cc8p+4 +0x1.add1e9f1c6cddp+1 +-0x1.12d5618c6b4c6p+5 +-0x1.b48c30fac1824p+3 +0x1.6b3ae30fd52dfp-1 +0x1.173f8478e2863p+6 +-0x1.6c699c20a17d5p+6 +0x1.67d70704a4339p+5 +0x1.46b330f251836p+1 +-0x1.95dc20f6b81b1p+0 +-0x1.fb3325a724a99p+2 +-0x1.d185f66c21c09p+4 +0x1.7f29d578ddf1bp+5 +0x1.404b71c973ecbp+4 +-0x1.d555687577d14p+4 +-0x1.6dfd1cb7643p+5 +-0x1.ec906dcd35ddcp+4 +-0x1.685455d1c3832p+4 +-0x1.fe44a15cfc5f7p+1 +-0x1.bb2b263995e8p-2 +-0x1.762ef989151c9p+2 +0x1.d80ad8139227ap+5 +-0x1.486074c9ef04cp-1 +0x1.0a8cf1332cb4fp+5 +-0x1.216b43a7112cdp+6 +-0x1.5c978b95cc4e3p-1 +0x1.823b307638c3bp+5 +0x1.5941b3dcf0116p+6 +-0x1.2f51752f28a43p+5 +-0x1.c4b97f5f00b34p+5 +0x1.4b06db80057f5p+4 +0x1.9ac9d7097f697p+5 +-0x1.58348aa461328p+4 +-0x1.6a96dfd282c3ep+5 +-0x1.b565071fb2b58p+5 +0x1.03ba242e75589p+4 +-0x1.00f62c2282f9ep+5 +-0x1.29090666ab3e2p+5 +0x1.200271d15e08ap+0 +0x1.02cdd703c372ep+5 +-0x1.c1df0a6cc8eb4p+3 +0x1.62082cc20f3afp+6 +-0x1.38362f1b1b34fp+6 +0x1.05e18b0cb3a7cp+5 +0x1.b4f5170011cf4p+4 +0x1.5d5d25d6e1df5p+4 +-0x1.1bd403a1d726p+5 +0x1.1ed7d1ed1fb16p+5 +-0x1.849d56a528dddp+2 +0x1.31ed443f37bd6p+5 +0x1.86cc4a0a87f44p+5 +0x1.0faede2b4bb8bp+5 +0x1.ff5697c3be761p+5 +-0x1.94f979bc376afp+3 +0x1.e3ca74f9d7f9dp+3 +-0x1.4e0fbca0be32bp+4 +0x1.4f04d297066c7p+5 +0x1.11836795d306bp+5 +0x1.1cf13582f1318p+4 +0x1.c262bccdc508p+4 +0x1.a0f2d65daf9b6p+1 +0x1.c7e2aea850175p+5 +0x1.0ea45c7f10e7dp+5 +0x1.70b79bca29c7ep+4 +-0x1.809fab2fa7544p+5 +0x1.073ac8101b9adp+6 +-0x1.00e0b405485b1p+6 +0x1.18653b53eb512p+4 +-0x1.2914dceb8e09dp+4 +0x1.69cf683f13d39p+0 +0x1.a48fb0c386415p+1 +-0x1.b7f86beff7bbep+4 +0x1.cf689bb62eae4p+3 +-0x1.4df38f690748cp+4 +0x1.3d914834a02dcp+4 +0x1.04d87064f45a9p+2 +0x1.183f8f2241ed6p+5 +0x1.1318240ca5d33p+4 +-0x1.cae47b30d2f23p+5 +-0x1.72a1c2a89d6c9p+4 +-0x1.3d1ec7587c2b8p-2 +-0x1.051fbbde41a39p+5 +-0x1.dd8fcaa8a58f8p+2 +0x1.ac2c57087b80bp+5 +0x1.cf0ef531e025dp+2 +0x1.2a15bb92fdf38p+5 +-0x1.6458baf70503ap+3 +0x1.3dfba059f2546p+5 +0x1.acce48f4e536cp+3 +-0x1.4a6c29779e9acp+4 +0x1.0d65e0dca8388p+5 +-0x1.ef75c3b7f15afp+5 +0x1.b44d50e3e4d85p-2 +-0x1.1aa7e17a289fap+5 +-0x1.d7ae6b7c6814fp+2 +-0x1.dabe9688f81fp+3 +-0x1.42dc805d7da19p+0 +-0x1.e3ff006448c3bp+4 +-0x1.567bcfb46e58ep+5 +0x1.45e4c94adae2p+4 +-0x1.490a684bbfe4ap+5 +-0x1.0f8e1feffa9fdp+5 +0x1.6b87dd6e069a6p+1 +-0x1.948d00f9cf08dp+3 +0x1.2150989caa1b7p+6 +0x1.91ff10e829bb3p+4 +-0x1.6f7cf2807665cp+4 +-0x1.b2697742ba1dap+4 +0x1.9b8ef73ad9ad6p+3 +0x1.4fc9cbea1c7c2p+4 +0x1.d3a0f4a83acd6p+2 +0x1.249b54f133818p+5 +-0x1.360a5bac22358p+5 +0x1.6a3caeb79e627p+5 +0x1.08101ea1959cep+6 +-0x1.ecf65cc6cfa57p+2 +0x1.62cada4da3588p+2 +-0x1.06112ee96ed42p+4 +0x1.991d772a8d2fbp+4 +0x1.606adf984b0bdp+5 +-0x1.070713afa5105p+2 +-0x1.562a988502c92p+1 +-0x1.dc5e96eedc33ap+4 +-0x1.83bc2de9bd012p+3 +0x1.5f291c644a389p-1 +0x1.234eb33002b13p+0 +0x1.0c56cfcad138ep+5 +-0x1.b96afbe404f57p+3 +0x1.32febf49a93b2p-1 +0x1.9904636bc6218p+4 +0x1.06002bd0dec72p+0 +-0x1.f13c1e5b57d07p+1 +-0x1.180a16bcb1dccp+3 +-0x1.8f8b4d1447b8bp+5 +-0x1.1649f29698c38p+5 +-0x1.97f9eaf9bcfep+3 +-0x1.4fe6172b8e328p+4 +-0x1.7733969988b5ap+1 +0x1.10b6023dd5a51p+2 +0x1.23552bc594085p+3 +0x1.f010c517a2d28p+4 +-0x1.18296d17dc06ep+2 +-0x1.3d588b118722dp+2 +-0x1.6d596346c5777p+5 +-0x1.9dca2a23691c5p+3 +0x1.257a95aa902dep+5 +0x1.f9d7f0bb5d39bp+3 +-0x1.ead32b1ba9fffp+5 +-0x1.47b2d0411b1e5p+5 +-0x1.3195524628d3p+5 +0x1.03d558dacfc7cp+5 +0x1.c00ae24a0a399p+5 +-0x1.8fab24503bdedp+1 +0x1.3549cb20d72cap+5 +0x1.007aa5b57512dp+4 +0x1.457e7acdf9e75p+4 +0x1.18726b7878b02p+4 +0x1.13ddb372b541fp+3 +-0x1.03641de444419p+4 +0x1.4c7beb9dd3e1ep+5 +-0x1.a59091efe7995p+3 +0x1.2641c9b9a248p+4 +0x1.15666195054f1p+6 +-0x1.e0f6fb09b47b1p+5 +0x1.05feeba056108p+6 +0x1.e44ce137d462ep+7 +-0x1.544059260e467p+4 +0x1.705f558db1f7dp+4 +-0x1.375685aff8378p+5 +0x1.d1236f695756dp+3 +0x1.6718ed72e9789p+4 +-0x1.57e652ed6513bp+5 +-0x1.79544ea4f842p+3 +-0x1.16d6405fdef62p+5 +-0x1.1ac905b09b513p+5 +-0x1.e85af446ce44cp+4 +0x1.bb11c58573c6p+2 +0x1.7f800df187fbap+4 +0x1.3d5614880365fp+5 +-0x1.cb8fc5ca8d21ap+3 +-0x1.38784b4457b53p+5 +-0x1.4ab4fa9fbd1afp+2 +0x1.526d2cc98517dp+6 +0x1.3dd5b7bc8c944p+4 +-0x1.ffa2151287b0fp+2 +0x1.4761347fdc14fp+3 +0x1.e5787b1dd88eap+3 +-0x1.f9e446149f343p+3 +-0x1.93e5d1509b1fbp+3 +0x1.4357f95694abbp+4 +-0x1.4f73dff8a219dp+3 +0x1.9d7f484a92c38p+5 +-0x1.f46b4b3c263a2p+1 +0x1.4cc1316881981p+2 +0x1.3e01ae737cb7p+5 +-0x1.b8cd7cf1ff021p+3 +0x1.17734bf216319p+2 +-0x1.4d84b67ffcaabp+6 +-0x1.5e3c2bb47e757p+2 +0x1.39600c851451cp+5 +-0x1.d9fed2305c888p+4 +0x1.cf3df0c2e5eaap+4 +0x1.97d41a0ca3461p+5 +0x1.ee4f3d641d617p+4 +0x1.a162cf3726b22p+2 +-0x1.89719b5383a4ap+1 +0x1.7a6966035bf8dp+1 +0x1.32364619b25fep+5 +0x1.dd53dba4539acp+0 +-0x1.f26d5d11faa41p+4 +-0x1.32b2cf9dadaf6p+4 +0x1.c7fba542bced9p-1 +-0x1.016d02f024be3p+0 +-0x1.29eb778b5f1f5p+3 +-0x1.0abdf0f18390bp+4 +-0x1.83caee50aa938p+5 +-0x1.e77141958bf48p+5 +-0x1.834592af7cc3dp+4 +-0x1.0b184e359fcfap+1 +-0x1.2f8bb10b82134p+6 +-0x1.b2a8baa6b075dp+4 +0x1.900b1dc896c01p+5 +-0x1.f1c7eb783bc87p+3 +0x1.810201bffae51p+3 +0x1.2c9fc4c95da0cp+2 +-0x1.f03356cbf0643p+5 +-0x1.9fd06ec2498b4p+5 +0x1.9d463e02f1ad9p+5 +-0x1.3acaa99735b4ep+5 +-0x1.6968e52153f5ep+5 +-0x1.b41609afe417ep-1 +-0x1.6b96b28f9427dp+4 +-0x1.50589a38cb2f7p+2 +-0x1.056b8a3aff98fp+7 +-0x1.2f7d754e1ce8bp+5 +0x1.b05bd3c996b4cp-1 +0x1.40ed048dfc93fp+4 +0x1.228e5dee46cbp+5 +-0x1.112b60b800599p+1 +-0x1.be5892c5db7bbp+4 +-0x1.c6a599688170dp+5 +0x1.a56ef0739cf8ap+3 +0x1.918a5295319fap+2 +0x1.2d04ad130d76bp+3 +0x1.1aa9f2c2a40b8p+3 +0x1.0eb2ac3d285f2p+5 +-0x1.a38a2c4ecdca1p+5 +0x1.c2fa24fe1f397p+3 +0x1.404dda06e7a15p+6 +-0x1.171817b49bc5dp+4 +-0x1.38933e07c19e5p+6 +0x1.8107ea37b5a8p+5 +0x1.96ff2b9f8b568p+4 +0x1.188cd6a241b6p+2 +-0x1.d1a1a9138a3d1p-6 +-0x1.2bfef29b4173bp+4 +-0x1.076554cde63e2p+4 +-0x1.4afc23f1f6081p+4 +0x1.1aa983503c1cbp+5 +-0x1.85ce2f3e1f7f1p+5 +0x1.850dd4d50632fp+1 +-0x1.bf4e26dbf2605p+4 +0x1.b008665f6334ep+3 +-0x1.0adafdaceba36p+5 +-0x1.d43d46a5850d5p+4 +0x1.6ef53a8f473a9p+1 +-0x1.bdb7c6cdff693p+5 +0x1.5259b3681b3c2p+4 +-0x1.8852afebce82cp+5 +0x1.b8092e53872ebp+2 +0x1.daed1d8af823dp+3 +0x1.2c7a89ce4e75dp+4 +0x1.9331efbee1ac6p+5 +-0x1.55762693b425ep+4 +-0x1.146f9ddba649cp+5 +-0x1.28a0220b89b76p+4 +-0x1.a2228dc88396bp+5 +0x1.0b5b471e53949p+5 +0x1.d73f7ef842bb1p+3 +-0x1.8f3693da45d3p+5 +-0x1.5018e76a96f7dp+3 +-0x1.72153e48a85c2p+5 +0x1.a8f7b18aef778p+5 +-0x1.26c92b28c68c4p+1 +-0x1.3ca7f79f0ebf7p+6 +0x1.5b17b0d71df55p+2 +-0x1.5a8bb9550d5abp+5 +0x1.84ab41a2b7058p+3 +0x1.d44e1b40c1c02p+5 +0x1.dc0de4ed72d9cp+5 +0x1.8750902435eacp+0 +0x1.c435604f3676ep+2 +-0x1.30e6d1bda122fp+4 +-0x1.3dc2bed23761fp+5 +-0x1.06ed8dfceda2dp+4 +0x1.4d3d6f9bc72f3p+0 +-0x1.dd5742db3a0ffp+3 +0x1.a526686998f93p+0 +-0x1.d54bacf73842dp+4 +-0x1.2ce968f482fb6p+5 +-0x1.41ab3d37b935p+4 +0x1.44f8368412ce3p-4 +0x1.5161949935c9dp+4 +-0x1.a7bbf8b575ebap+4 +-0x1.217621dece826p+6 +-0x1.9fdd64aeaf543p+4 +0x1.42b617e0c497cp-4 +0x1.ad52dd1410743p+3 +-0x1.a0565df383012p+5 +-0x1.64508925d269dp+4 +0x1.63c599ac3b93ap+0 +-0x1.7d311b3642bf1p+4 +-0x1.5ddfba14e4874p+5 +0x1.c135f98268459p+1 +0x1.014789d4d5b91p+1 +-0x1.3333aa531c637p+5 +-0x1.4496a147c57bep+5 +-0x1.711ea5c8459cfp+5 +-0x1.755ebf41299fep-5 +0x1.1ac203cb9a283p-3 +-0x1.d88bd3db0c512p+2 +0x1.6dce50ae40243p+4 +-0x1.16dc0ba1a1b9cp+6 +-0x1.27c77b5832043p+1 +-0x1.906e9ee874a68p+2 +0x1.18e9b7af28258p-1 +-0x1.2e8c2cc1bde9ep+5 +-0x1.5c28fabbc4651p+5 +-0x1.2c24ba980caccp+4 +-0x1.ac2c6d05084c6p+3 +-0x1.d221a59706b64p+5 +0x1.d71f27a76ca22p+3 +-0x1.630a7a3c19d39p+1 +0x1.5cb6bb7f70728p+5 +-0x1.4d706e630a0a9p+4 +-0x1.81db16b8bbe4bp+5 +0x1.1d45ebf7ed30fp+4 +-0x1.bbd30311345ebp+4 +0x1.692925c1296e1p+4 +0x1.a623ad0818d59p+1 +-0x1.080955c97a89fp+3 +-0x1.8c6be3f7c945dp+5 +-0x1.b92f87fae57d7p+1 +-0x1.4ef9f21574415p+5 +0x1.67160ab935358p+5 +-0x1.c34d3027f9a31p-1 +-0x1.1247dde581545p+5 +-0x1.15e70d9286908p+8 +0x1.d43b42181b948p+5 +0x1.2248fd038ed27p+5 +0x1.36f160e4d900bp-1 +-0x1.62a91991c2c58p+5 +0x1.c5cf2fd192635p+4 +-0x1.df6c8c4890602p+4 +-0x1.f943ab203a248p+2 +0x1.51a9cae8a92e7p+4 +-0x1.9108faadd1115p+4 +0x1.fe48626444ba7p+3 +-0x1.04ffeff608392p+3 +-0x1.d641c76db1ed5p-1 +-0x1.f9d3d67006a29p+2 +-0x1.ee62951aa7adap+2 +-0x1.94a685436df4fp+3 +0x1.a7c51685d902ap+4 +0x1.a609cd6fa7b2dp+2 +0x1.86dca3bd4a44dp+2 +0x1.38018c0f0dd66p+4 +-0x1.ba117f24df0d6p+5 +0x1.fc074a6f6f58fp+3 +0x1.0ea0d742122b1p+5 +-0x1.0efba5c1fc1c3p+3 +-0x1.17c456c750bdep+4 +-0x1.596f727d34937p+2 +-0x1.392248d1593e7p+5 +0x1.5122e040be88dp+5 +0x1.f0ef80ba50badp+2 +0x1.63a57e2664cf4p+2 +-0x1.f4b12dad2c6bap+4 +-0x1.c8731904ec173p+4 +0x1.31dd6880cacc1p+5 +-0x1.a303a38f85806p-2 +0x1.4e86c85a84015p+5 +0x1.1a56ee1a74cf5p+5 +-0x1.7238cdb89a0ecp+5 +0x1.83510cc9c4ca6p+4 +0x1.3295391e3ccc8p+3 +-0x1.e298a4b310a7dp+2 +0x1.cc723844fe461p+1 +-0x1.0944042fcdae5p+3 +0x1.11645985610c2p+3 +0x1.fbafb2c408d9bp+3 +-0x1.f7958fcf73d81p+2 +-0x1.e33700bf04184p+5 +0x1.04b9886745e6cp+4 +0x1.a4e32dd308aaep+5 +-0x1.6e6b6cf96e783p+3 +-0x1.10709c498307fp+5 +-0x1.48d7f5441c754p+5 +-0x1.cc1443515a649p+5 +0x1.87c2e092a68f2p+3 +0x1.cb2c20b529bd2p+4 +-0x1.c6295d9c09c8fp+5 +-0x1.218ee2ad1f934p+4 +-0x1.4c1bd3f344499p+4 +-0x1.5ace5e0f44d29p+1 +-0x1.9e64f73c00f78p+5 +0x1.9993699c101f6p+5 +-0x1.5862d69ff8b63p+6 +-0x1.b02166526d156p+3 +-0x1.99317ff87b5fdp+0 +-0x1.e066f612bc266p+3 +-0x1.620d20414e49cp+3 +-0x1.2d339cd08c6c2p+4 +-0x1.8d62f9a0a665p+5 +-0x1.00e289dfb31b2p+6 +-0x1.228055a6a4263p+4 +0x1.650beb9e3d905p+4 +0x1.add9cd3d9ab09p+4 +0x1.9233fff8d7297p+5 +0x1.67b7df39fb785p+4 +0x1.25eda2ab51b3cp+5 +-0x1.5a3b453f1c202p+1 +-0x1.5c45bc7aaa9f8p+2 +0x1.627c976c3806p+1 +0x1.6a81ed75eb061p+5 +0x1.8da70950ee823p+2 +-0x1.26483a4938c57p+2 +0x1.1fe0297707bfcp-1 +-0x1.ae35d513ca5f7p+5 +-0x1.d0244cd27dcb5p+2 +-0x1.d76601980934ep+4 +-0x1.5802e7afdce4bp+5 +0x1.5ea6b8ea7aeaap+6 +-0x1.2cbb80231a5bdp+5 +-0x1.219d9c5476f19p+4 +-0x1.86f4a461f7183p+4 +0x1.be4ac582a64adp+4 +-0x1.9f4dc59eee9a1p+4 +-0x1.0ce498d843fcap+2 +-0x1.2710c9e168fc7p+5 +0x1.d7f33124db819p+3 +0x1.ea8f9a6ce2108p+3 +0x1.bbbb082dd7912p+4 +-0x1.da4783a22c493p+4 +-0x1.c6cdd3a249febp-1 +0x1.9fcc20ac806ap+5 +-0x1.59a32f3adc7d6p+5 +-0x1.9f049ccdf0f36p+1 +0x1.4b15aa442cf6ap+4 +-0x1.2b1f28a5f0c56p+6 +-0x1.a43ecae5118d3p+5 +-0x1.05965bac75f9ep+5 +0x1.6fa45ec356479p+5 +-0x1.e90b1aed4219bp+4 +-0x1.a6fa422911babp+4 +-0x1.45452675327bap+4 +0x1.078a8c92bb3f6p+6 +-0x1.fe4f1ddb08991p+4 +0x1.032e9e1ab8d8ap+4 +0x1.5afe8ae2ed933p+3 +-0x1.54094b3d1d351p+4 +0x1.8124ccdc8b1dep+4 +0x1.80e3387dbf33ep+1 +-0x1.45ae5838cae14p+0 +-0x1.44c5524e9199fp+4 +0x1.9542f3a4aad91p+3 +0x1.9432234e9523cp+5 +0x1.9edd1a45088a7p+3 +-0x1.61b20106e07e7p+5 +0x1.cabf4bc48e766p+3 +-0x1.e190cef90b975p+2 +0x1.15f088c9dee53p+5 +0x1.600cf449c655bp+5 +0x1.277e065bba117p+4 +0x1.036adc016984p+5 +-0x1.069f9332656bp+2 +-0x1.1d4d017e0bb04p+5 +-0x1.7b7f405695c51p+4 +-0x1.20c723a0775f8p+6 +-0x1.584b227ece41fp+5 +-0x1.06c720075dfbcp+1 +-0x1.0c2c58b30e777p+3 +0x1.cbecb7142912fp+6 +0x1.28c14532ff71dp+4 +-0x1.4304cfb4ee3fap+5 +-0x1.92768f948ca29p+3 +0x1.888d25b454406p+4 +-0x1.df81e4a0a1a8ep+1 +0x1.bfd58c915e16p+2 +-0x1.806ce03cc8937p+5 +0x1.8cc2d829212e5p-2 +-0x1.7db2d7d5d67cap+3 +-0x1.07b6f0960e7e5p-1 +0x1.1770ffb2d5a9fp+4 +0x1.b17e69ae8c5c7p+2 +0x1.29cda0ba82a5fp+5 +-0x1.2727a4d20f7acp+3 +0x1.cdd90e580cb64p+1 +0x1.dd3db00a3ab54p+4 +-0x1.e0dd5f9b9701cp+0 +-0x1.8777d294a4417p+2 +0x1.3683c7f7a18d9p+2 +0x1.18abee9edaa09p+4 +-0x1.6a2fb5cdd4f1cp+4 +0x1.9c9940c028163p+3 +-0x1.dd0cd1cbf4055p+4 +-0x1.89bb8306ab329p+5 +-0x1.450dad2d8f94dp+4 +0x1.1db3aa5b159edp+4 +-0x1.5253d572bc726p+5 +-0x1.773fcb321e9cbp+6 +-0x1.44725d7ff6097p+2 +-0x1.85e30556f955ep+4 +-0x1.248a4c31090aep+5 +0x1.07cac3c199f5dp+6 +0x1.606b66d295891p+4 +-0x1.d480710e94e67p+3 +0x1.80ae080c769c4p+6 +-0x1.d2e12d38b65e6p+0 +0x1.92950dd9028c6p+0 +-0x1.f1d0712d40a5fp+4 +0x1.582ebfb1db49ep+3 +-0x1.22fa577c0d992p+5 +0x1.20d712dc70cefp+8 +0x1.b3b695c6d9312p+4 +0x1.26d7b544813f8p+0 +0x1.76144c7f3e9c9p+4 +-0x1.494a31e38098ep-1 +-0x1.4fbc6dd06a89dp+4 +0x1.c7934d638dcfbp+5 +-0x1.e43557f49d971p+5 +-0x1.3214ec5bce878p+4 +-0x1.19512122cc887p+6 +0x1.ff5b86f5f418dp+1 +0x1.0b2b6fd4700bfp+5 +0x1.335c9b4b704a1p+5 +-0x1.953d5601ce38ap+2 +0x1.8d2b9230bb05ap+2 +0x1.bae885e362688p+5 +0x1.167fdf81407f1p+3 +0x1.a239853cc2c11p-2 +0x1.8e2d59aae1a1fp+5 +0x1.8bd951caf5e93p+5 +0x1.0c35b1c4aa6d2p+3 +-0x1.07462d8006abfp+5 +-0x1.bc87d78ddd8fap+3 +-0x1.7b041fd969e89p+1 +-0x1.6584df2c6a83p+3 +0x1.1dfed4759bebfp+2 +-0x1.ba50d2f6110b5p+3 +0x1.e29c9b31d6da9p+4 +0x1.92f14e8f3825dp+3 +-0x1.39170d6424af2p+3 +-0x1.8693d0848429p+4 +0x1.2dbb1cf932fbcp+5 +-0x1.5db2b85add1fap+0 +0x1.5c5b5d79aa04ep+7 +0x1.c059abf03d8a5p+3 +-0x1.1fb8948aada04p+4 +0x1.9b7cc9e5a6543p+5 +-0x1.1a63dc7e4365bp+6 +-0x1.11920392de618p+6 +0x1.355975dde6432p+4 +-0x1.6d0ef1ac850cap+5 +0x1.2fc69baef4bc7p+5 +-0x1.3de7429d92309p+5 +-0x1.724510ec1c591p+5 +-0x1.9e1fc2e664119p-2 +-0x1.d52816671f386p+4 +-0x1.0f42693ff74a3p+6 +-0x1.75a2d194c5a85p+3 +0x1.cb7f68e18e1e2p+2 +0x1.0b27a58bb9333p+3 +-0x1.8153df8b442d2p+6 +-0x1.271f4b5fe7d3fp+4 +-0x1.de4e40a256dd8p+3 +0x1.84feedc5af2bbp+5 +-0x1.4bf82fb3ead1ep+3 +-0x1.70a0cd62c573ep+5 +-0x1.82e93235056fdp+4 +0x1.e6f89b185ea1dp+4 +-0x1.7edcd2ce0a612p+5 +0x1.7ba93d78b8892p+5 +-0x1.1cc26bc13a5d9p+5 +-0x1.12cf9a20b6f1fp+0 +0x1.c9e901ebf5e59p+3 +0x1.1e397077089e2p+5 +0x1.2d37a44f20273p+6 +-0x1.7bdd6101a46aap+1 +-0x1.02b03a4e72829p+6 +0x1.c7e03f970cac9p+5 +-0x1.97a39b1cd5b95p-6 +-0x1.86dd5d300bbb8p+5 +-0x1.5852ed0e0acc4p+3 +0x1.0b6f2199f585dp+4 +-0x1.a5b24e12c12d4p+6 +0x1.8f9b31e7901fep+4 +0x1.3f1eed0029f6bp+5 +-0x1.79bb443b4eadep-1 +0x1.405df0d73ed41p+5 +0x1.7810fe8736698p+5 +0x1.59039de6db6f5p+5 +-0x1.533b7d6f0b6d9p+4 +-0x1.847b9b9724aecp+5 +0x1.90b913592293p+5 +0x1.0f69311ef4321p+5 +-0x1.7e3a5ab032d3fp+4 +0x1.0a82d107c99e6p+5 +0x1.7dae4a58dc425p+2 +0x1.fa8bb34544995p+3 +0x1.2ae800ff7859ep+1 +-0x1.a4ebb42664509p+4 +0x1.334a7b3b9079p+4 +0x1.8ca71903ee2c6p+5 +0x1.482d30411e283p+2 +-0x1.30929e5c373afp+4 +-0x1.80e35ef1ddd1cp+4 +0x1.03de4f29aff05p+6 +0x1.d4c766c560fe2p-8 +0x1.138c14bbb535fp+6 +0x1.7f977d5fbb75ep+3 +-0x1.0d82df5123a9p+3 +0x1.8771f6a03a6c8p+3 +-0x1.a59fc737d5559p+4 +-0x1.5acebe13f11f2p+6 +0x1.943dbd4ff2cdbp+4 +-0x1.6b5f6879ec61fp+3 +-0x1.116521d4a3d8cp+4 +0x1.a468ebf0357cbp+0 +-0x1.4413d5ee9f75cp+1 +0x1.b61754ae0c6dbp+4 +-0x1.3d363813cc4bfp+6 +0x1.307a9ff77cb2ep+4 +-0x1.f0e5671c3f121p+3 +-0x1.2c479457e9901p+4 +-0x1.b2cdd85777a17p+4 +0x1.a5a8cea93441cp+4 +0x1.012dd5417ebabp+4 +-0x1.28c4523063e68p+1 +0x1.9b817a66f1ep+2 +0x1.f5cb6e81879d7p+1 +-0x1.a4ad2f1d303ebp+4 +0x1.e40b96b32e14cp+1 +-0x1.6330bd8e98ee5p+5 +0x1.af60dfb24d146p+4 +-0x1.3cc6919e04d7fp+5 +0x1.138621dd3ee7bp+3 +-0x1.0584f7f7702bcp+3 +0x1.1d624564810eep+4 +0x1.d5e8c33252f5bp+4 +-0x1.e79711bed5f0dp+4 +0x1.ad973178b1426p+4 +0x1.9697c6ba07269p+4 +-0x1.e3f9c8732e0b1p-1 +-0x1.afa0ca46d20b7p+5 +-0x1.dea8cfcd209e8p+2 +0x1.4ec636bf19b65p+5 +-0x1.5f8228514bf1p+4 +-0x1.e8ac199e70757p+2 +0x1.1d46793e9bc24p+3 +-0x1.9bd877905a45dp+0 +0x1.1f0e932aa1f75p+5 +-0x1.8da4c38735d1dp+4 +-0x1.1bd46912e03d1p+6 +-0x1.9cbb3581dd141p+3 +0x1.764c244b1fbd4p+4 +-0x1.804129f83c132p+5 +0x1.50b8fdace7555p+4 +-0x1.08229fdcd32a6p+3 +-0x1.3927d950b678cp-1 +-0x1.fc76e9cb416dcp+4 +0x1.8404e50aa6706p+2 +-0x1.62dd116f737cap+1 +0x1.85ad4467fad4bp+3 +-0x1.03087500231bcp-1 +0x1.42aabbce34b2ep+0 +-0x1.817e4aca94532p+4 +-0x1.41fe3c74f27bep+4 +-0x1.87ea268053578p+4 +0x1.49d825e0468efp+3 +0x1.94c503adb4006p+1 +-0x1.936702f764919p-1 +-0x1.5e0853f89b32cp+5 +0x1.7526e455cfdbbp+4 +0x1.3c73d327cd48bp+4 +-0x1.44c8d837b29a1p+4 +0x1.aa17b59627509p+5 +-0x1.abbbf47e732f2p+3 +-0x1.935e2bc1cbeep+4 +0x1.fbf9979b2d0f4p+5 +-0x1.460f65c411d4dp+4 +0x1.99d664784b077p+3 +-0x1.9ad50578ec066p+5 +0x1.65a630bae65f1p+0 +-0x1.8625ce6745a88p+2 +0x1.5c25b7a3b86c2p+3 +0x1.75acf69793aaap+5 +-0x1.030ebc93315eap+4 +0x1.638e1deadeb17p+5 +0x1.7a1329148d092p+3 +-0x1.6ad65c0b2c245p+3 +-0x1.8b3d6bf9c738p+3 +-0x1.42b03fb911a6dp+3 +-0x1.7c9dfd892282cp+4 +-0x1.4cfbf80963feep+4 +-0x1.2efc81228d25bp+6 +0x1.b9edf9e537835p+5 +0x1.4b4608af28151p+4 +0x1.68ff7b5b723c9p+5 +0x1.f863ad7b8b45fp+3 +-0x1.276971410e109p+3 +-0x1.b80c5e6a003fep+4 +-0x1.1d73ed291042cp+3 +0x1.1d386d2fd05fcp+6 +-0x1.15e4f32e4a988p+4 +-0x1.5f5f7c2005e5cp+4 +-0x1.c1dfb198e3a2bp+5 +-0x1.e62d7e4f2ca86p+4 +-0x1.64608bb41f6d7p+5 +0x1.06a988b531ee4p+5 +0x1.e77977b8a24f8p+4 +-0x1.35eb76ff60099p+5 +0x1.5fc7b0e9ddcfbp+1 +-0x1.c2e0b70da69f8p+3 +-0x1.35fcd73a25b1ap-2 +0x1.d50fef3819d9ap+1 +0x1.007b53c1185c4p+4 +-0x1.d7f8b998ae332p+2 +0x1.1e4003db8fb25p+4 +0x1.cf7be185bcb6ep+2 +-0x1.edec2941d3352p+4 +0x1.2787ee2e37515p+4 +-0x1.23ea3c095ce55p+2 +0x1.c54666f50359fp+5 +0x1.c928236f8eccap+4 +0x1.b26f85aaf8bcfp+1 +-0x1.e8431d15228e6p+4 +-0x1.23fce40339614p+3 +-0x1.17b1cc8a06676p+5 +-0x1.5bafd28e8555ep+5 +-0x1.257704869c35p+4 +0x1.a2fd4088af239p+3 +-0x1.21a3c269b219p+3 +0x1.8d04fd46b222fp+1 +-0x1.0728619de2d4ap+3 +0x1.74be2914f06f8p+5 +0x1.883d9f31cac0dp+5 +-0x1.cbf05f27a32e7p-1 +-0x1.b69ba86752555p+2 +0x1.85e9b5962f1e6p+5 +0x1.911ead184ce73p+4 +0x1.f58ab54620487p+3 +0x1.6b1ecd10a0655p+5 +-0x1.91bbfc4618d2dp+4 +0x1.e99e7a237977bp+5 +-0x1.a71615b874418p-1 +-0x1.8155945219cddp+4 +0x1.0538f059db14fp+0 +-0x1.d823ec71c5517p+4 +0x1.a7811eceac387p+4 +-0x1.37a6059e2e06ep+5 +-0x1.14bb9e44957f4p+3 +0x1.2298d6092512cp+2 +0x1.5d9d619500a72p+4 +0x1.985deed076b0ap+4 +-0x1.0b836aa598b3bp+4 +-0x1.e1af80d40b7a2p+5 +-0x1.a0a2902844a56p+4 +0x1.5ed4c68b9a0e2p+5 +-0x1.4f571fde7a502p+4 +0x1.880169a8f90b9p+5 +0x1.ce82e7c8cc62ep+4 +0x1.7868e81af2fbbp+5 +-0x1.8259681e6bf3bp+4 +-0x1.2dfec1f21f17dp+3 +0x1.86b9d349f1f7ap+4 +0x1.b2fe346f299f7p+5 +-0x1.b9a9d62c39d7ap+1 +0x1.048f2e5a2ee22p-1 +-0x1.cdb44cb109cbfp+4 +-0x1.40301ef2451e8p+1 +-0x1.6cb2e1d010d6cp+3 +-0x1.625cce8b1d24ep+4 +-0x1.bdaf8a4fb4176p+5 +-0x1.4987d79247be9p+4 +0x1.59c56f347cb8fp+4 +-0x1.77e1d67d5cf93p+3 +-0x1.6b0ae4ccc749p+3 +-0x1.542d83c758a2dp+5 +0x1.489b39a9be0c3p+4 +-0x1.188cfcf1be314p+4 +0x1.9ed4c73237c59p+0 +0x1.46ab056e23ee6p+3 +-0x1.d95bf17c22d4ep+4 +0x1.491ba51228373p+5 +-0x1.47e0249221c91p+5 +0x1.2c4401fc369b3p+6 +0x1.736228688cd9fp+5 +0x1.aed0eef6bca7ap+4 +0x1.f01eb78f1c947p+5 +0x1.e8ceaaf1d61f4p+0 +-0x1.6b73148d129f2p+5 +-0x1.9d3b50c5fccaep+4 +-0x1.c59640d1f9502p+3 +0x1.0f902581cdeecp+3 +-0x1.031e03229c7dap+5 +-0x1.077e4afd485ecp+5 +-0x1.f5757f88443d5p+5 +0x1.697cdcedd386p+2 +-0x1.65d80c954f8dfp+3 +-0x1.2d790bf71cdf5p+4 +-0x1.72e499d922a73p+4 +-0x1.3e615f76b8d66p+4 +-0x1.1609e466783a9p+5 +-0x1.b5736133f5178p+2 +-0x1.8fcda61ef5422p+2 +0x1.6bf0a413b4227p+4 +0x1.ad48c26abc31bp+3 +-0x1.89035760cc5d4p+5 +-0x1.cdc0fec1e70a2p+1 +-0x1.3a55749d25773p+4 +-0x1.dc4b227ab59b5p-2 +-0x1.b916e76fe9e14p+5 +-0x1.ec6557bc89b42p-2 +0x1.9d2b8907ed914p+7 +-0x1.f96ce82f9a23ap+5 +-0x1.f7c0e59ea98cbp+2 +0x1.8cce5f408cc9ep-2 +-0x1.6ff71534123ddp+4 +0x1.43637c4c88d7ep+3 +0x1.80b6d6c8b3c1fp-6 +-0x1.2015fdadbe2dap+6 +-0x1.8da669ffe6478p+1 +-0x1.159efd82250bp+5 +-0x1.1a5f287427336p+4 +-0x1.af5ae1b53176dp+4 +-0x1.6c15ffe994f45p+3 +-0x1.079bbda12c0ddp+4 +-0x1.6a98d3e71972dp+4 +0x1.09ea738050476p+4 +0x1.ecfe0b6ad313p+3 +0x1.f8472c0d8233fp+3 +0x1.a4ef60e8d4b68p+3 +-0x1.81239f23394e7p+4 +0x1.5387fc6c4af86p+4 +-0x1.80dc1ca4a928bp+4 +0x1.50ab5ca3ea361p+3 +0x1.37d9404a93914p+3 +-0x1.524fd49a02b4dp+2 +0x1.44580cdfe28b4p+4 +0x1.bcf5e5773b864p+4 +-0x1.ec2f51ca5af3bp+4 +-0x1.d881ce2ed8b85p+1 +0x1.5588c6aa8d88dp+5 +0x1.4608d7d045324p+3 +-0x1.228f88018b8a6p+0 +-0x1.4fea718f01536p+1 +0x1.59f8ca7f88282p+0 +0x1.cbdcf49250f0dp+1 +0x1.36d00831ee61p-1 +0x1.f92abc9df294fp+4 +-0x1.a8b95ed78f2f1p+3 +-0x1.83ff63ccd829dp+4 +0x1.de453ec5656f7p+2 +-0x1.70b985d772324p+4 +0x1.da1c68b1e52a8p+5 +0x1.21b5b351f7031p+5 +0x1.d21279e0fc85ap+5 +0x1.83719c6502f7bp+4 +-0x1.a4349c6c28813p+4 +0x1.b878b8dea066dp+5 +0x1.6a370d48dd1c2p+3 +-0x1.118e53475e617p+5 +-0x1.3df8b525efb55p+3 +0x1.8a50137aad3a1p+5 +0x1.b5db42015991p-2 +0x1.8bdbe25c8524p+1 +0x1.9a65a34f42815p+4 +-0x1.7f250f8677549p+3 +-0x1.3b1f20fce5035p+4 +-0x1.345fb24859892p+3 +-0x1.75771df423c34p+3 +-0x1.715c3e992a2bfp+4 +-0x1.ec1425f94a20ep+2 +0x1.c4f345511c799p+5 +-0x1.4b57df27e2e16p+4 +0x1.ffb66f39f050ep+4 +-0x1.01df0e2e1370ap+4 +-0x1.15df9373eb255p+5 +-0x1.a170f6275370cp+4 +-0x1.d992df955bd78p+2 +-0x1.2baf74b4af21dp+4 +0x1.a851867b7bec4p+3 +0x1.abcea7391c221p+3 +0x1.ab7cbadc985d2p+5 +0x1.42e6993b29453p+2 +-0x1.9d0814a6f5355p+5 +-0x1.0b9937ed5dfdbp+4 +-0x1.44007cdaeabedp+1 +-0x1.b699f07b3e6afp-1 +0x1.bb03a45c278c5p+3 +0x1.2fb4ae9f919aep+4 +0x1.03cfa4f8455d4p+6 +-0x1.abf1b8deb489bp+1 +0x1.6139768ab5a8ap+6 +0x1.dd26183cd036p+4 +0x1.2750767d3e886p+3 +-0x1.84c575669a912p-2 +0x1.7042a2d1aca1fp+2 +0x1.c82e9181f6fd2p+3 +-0x1.a57da927cfc94p+3 +0x1.66a4dea06db8ep+5 +0x1.c6a3991cf0e3bp+0 +0x1.29cfbc67c29e1p+5 +0x1.89c30998f7df7p+3 +-0x1.762f1d6d9e00ap+4 +0x1.bfb28f77e3cdap+5 +0x1.8229eba6897e4p+1 +0x1.fab965093334ep+2 +0x1.88906093f6f04p+5 +-0x1.db54dc9532723p+4 +-0x1.21161a538052dp+3 +0x1.6df6d1ac551fcp+5 +0x1.0259a7aea2fccp+3 +0x1.7c3ad6be59623p+5 +0x1.6422f775e1093p+1 +0x1.9b091f364ac5fp+2 +-0x1.11c60d15ce1b9p+6 +-0x1.70ed1242b15ccp+4 +-0x1.25d4f9e7e27a2p+6 +0x1.5d7ff0337fb2ap+5 +0x1.9a3d97b4c6118p+5 +-0x1.4b1cb6bd67054p+2 +0x1.a7281131d4703p+0 +-0x1.eba0bf59937c5p+5 +0x1.a5e5f6b6ddd88p+3 +-0x1.7288a0a98efa4p+4 +-0x1.8935c9fdc3c05p+4 +-0x1.2a829bbcb2cbap+5 +-0x1.48ebdcb83f7e7p+4 +0x1.5419fc820b9a9p+5 +-0x1.50327d1d01e1cp+4 +0x1.5e3d5ca372cd8p+4 +0x1.0d9ddaeda3c4cp+6 +0x1.82002edebb429p-2 +-0x1.812469be3e86dp+3 +0x1.1ded0123d4cc8p+5 +-0x1.f34346b7b219ap+2 +0x1.61f2055687765p+5 +0x1.39cca64743a75p+3 +-0x1.8a8c7a3787394p+1 +-0x1.e29c8718a1038p+3 +0x1.361953a7a22f5p+3 +0x1.17da7b2ab71d9p+4 +0x1.18ca0f33001p+0 +-0x1.6b72879fb1d94p+4 +0x1.56ccbdbc476dbp-1 +0x1.73c6412270476p+1 +0x1.87c68be809854p+4 +0x1.d69c54d0ae8efp+4 +-0x1.726e5386cbf5ep+4 +0x1.4db07670f6b3ap+4 +-0x1.43661ca814c54p+6 +-0x1.0a6bca180b2cbp+5 +-0x1.27820f879c184p+5 +0x1.ca9d5c5bfe4f2p+0 +0x1.290ac30cdc193p+1 +0x1.f61eb949b18d3p+5 +-0x1.1584d05d0a96ap+4 +0x1.0b8bf2229fe88p+5 +-0x1.51998f4724bcfp+4 +-0x1.187f6ca614fbfp+1 +0x1.e7b494d60d128p+3 +0x1.0c48212f9d7d5p-1 +-0x1.165632366a642p+0 +0x1.f02bc2261e6p+2 +0x1.35c695c54324cp+4 +0x1.da738a1ef263ap+1 +0x1.8e148329ce957p+4 +-0x1.23fb1e71b470dp+5 +-0x1.917d253d56628p+0 +0x1.a732ce8745798p+6 +-0x1.d5274779de14fp+5 +-0x1.6140d1bcfa57ap+5 +0x1.d8ab79716e0f7p+4 +0x1.69a984068e617p+2 +-0x1.b993494c289a7p+2 +-0x1.b84750ff20e86p+4 +0x1.48c177c8aca89p+4 +-0x1.445f818422a59p+5 +-0x1.4122d8dea6a43p+5 +-0x1.f0fc999efb4aap+3 +-0x1.15642cc3c862ap+5 +-0x1.276fb26de60e9p+3 +0x1.1ec51bc9a97bap+3 +0x1.3d61d3a09b77fp+4 +0x1.f9cd816fd14fep+4 +0x1.cef99ebfe42b3p+5 +-0x1.bd5bba461b12cp+4 +0x1.416067dd0409fp+5 +0x1.1502592e972a1p+5 +-0x1.934af108629a1p+5 +0x1.e2761e34d6f1p+5 +0x1.c5012d584de9fp+4 +-0x1.77978719926fep+4 +-0x1.1d26cb45855bcp+4 +-0x1.eb282fdc323b2p+2 +0x1.5bd9b4a09b95bp+1 +-0x1.c882616c0724ep+4 +0x1.fd0406443607fp+5 +-0x1.3ac283c5bcf6fp+5 +0x1.ba5eed72a9ddp+3 +0x1.69e161b1c4069p+3 +-0x1.6d72c573c240ap+4 +0x1.bbf7f991509bp+4 +0x1.82e235c879fcap-3 +0x1.2d96702365145p+4 +0x1.215bea1d8d972p+4 +-0x1.7997172e853bfp+5 +0x1.445328edcf06bp+7 +0x1.2b76bc19872a5p+4 +0x1.e87f010895ff8p+3 +-0x1.66b791a63137ap+5 +0x1.380f5b2505ad7p-3 +0x1.365817673d7f7p+3 +-0x1.67eaed7f37d86p+3 +-0x1.09e25af5d71aep+6 +-0x1.2241b2dd69a7p+4 +-0x1.6e04df20ee7f6p+4 +-0x1.319e0b496d65p+7 +0x1.04bd2f7a1c847p+4 +0x1.d0ade40208be6p+4 +0x1.78507db603478p+3 +0x1.5fdd6ff3a3c16p+3 +-0x1.a40adcf265112p+4 +-0x1.9a4965d24107ap+3 +-0x1.0087030c13e29p+2 +-0x1.9050f6f41c4ddp+3 +0x1.9010a2e637bc7p+4 +0x1.113376a83e2c6p+4 +0x1.4a4de4a4f3f5p+4 +-0x1.51fcce431742p+4 +0x1.6282901a8acecp+5 +0x1.48408121dce69p+5 +0x1.901b0800bc9dfp+1 +0x1.ab8c84d120068p+5 +0x1.29a807c01f08bp+6 +-0x1.f4b00ceafa238p-1 +0x1.204095599060ep+3 +-0x1.779b54f02edc9p+5 +0x1.1216005fc6e1ap+2 +-0x1.20ab35abb8787p+4 +-0x1.04970708d0fe5p+5 +-0x1.29b567146b4e8p+4 +-0x1.d35c076e911bp+2 +-0x1.aca8dd766452ap+5 +0x1.50a41f3b44575p+4 +0x1.dbbcc5a5d0df9p+4 +0x1.2c63a0d55602bp+4 +0x1.ff52828b187e8p+1 +-0x1.27ad28fb498b1p-4 +-0x1.63b807193b23dp+6 +0x1.f0119929f101fp+3 +-0x1.43fe26caa94e4p+4 +-0x1.0cfe307425a53p+5 +-0x1.61f8fd45862b2p+4 +0x1.ce5dc065eb64dp+4 +-0x1.4684e49eabc93p+2 +0x1.ffa1bcc97ea3ep+4 +-0x1.c801293111172p+4 +-0x1.1e7d796eeaec5p+5 +-0x1.2f748cfbc86e7p+4 +0x1.3e88e2104eb8fp+0 +0x1.8f8bc03ea8a77p+5 +-0x1.1cff7307d5862p+6 +0x1.33c240e05d236p+4 +-0x1.f3fd37550fb15p+4 +0x1.5460460453fe5p+5 +-0x1.13ae63d5081bdp+4 +0x1.c8a557e518029p+4 +0x1.a6e45f4e9a6b6p+2 +0x1.07ed1a2a897adp+6 +-0x1.409e8cdd07927p+0 +-0x1.5e7ca85f0362cp+4 +-0x1.e68c399dd7828p+5 +0x1.d7c9f445e5a24p+2 +0x1.ee68d40735504p+2 +-0x1.52875d7fd4576p+5 +-0x1.d91c369f9388bp+5 +0x1.2b72db14cc6f6p+6 +0x1.d0c789fca360bp+3 +0x1.97c690165469dp+5 +0x1.67d404afb5792p+5 +-0x1.b4cdb39547973p+1 +-0x1.ed74867a6604dp+3 +0x1.5adacd4f6b1d7p+5 +0x1.7fdec551fc6dp+4 +0x1.9f462dff9efa5p+2 +-0x1.fdf4e38d3f18dp+2 +-0x1.b7c4b7dbb18a8p+4 +0x1.0e3b079e53d7bp+4 +-0x1.5d2e083cdb2ap+5 +0x1.0cc27d64a7d43p+3 +-0x1.37e81213f4e0fp+3 +-0x1.5a43d413f83bap+4 +-0x1.314f136d93effp+3 +0x1.064053ce7a0afp+5 +0x1.0d29210c02d7bp+3 +-0x1.a6260c58046edp+5 +0x1.c090bdd3a536fp+3 +0x1.8c59cb4a3224p+5 +-0x1.797c7dad0012fp+5 +-0x1.495eff731233cp+3 +-0x1.e25b7c533bb26p+6 +-0x1.7ace45bdacdf7p+2 +0x1.5e57461216e1bp+1 +0x1.99a99694f9534p+4 +-0x1.64f4d39d571f8p+3 +0x1.5b2ce91d1aef2p+2 +-0x1.afae6b5b46062p+0 +0x1.5329b8d836cap+8 +0x1.76212d58b40c7p+2 +0x1.1e35a985b8e18p+3 +-0x1.2d2b34d13b5f9p+3 +-0x1.74477a02ec0bdp+3 +-0x1.da68da140e825p+4 +-0x1.c28a73a3106bep+5 +-0x1.cf020fc31ed3fp+5 +-0x1.7275f98572478p+3 +-0x1.83d0b79f6303cp+4 +0x1.22e357de490cfp+2 +0x1.1d1dbc833ad22p+4 +0x1.b4bc73f74859ap+4 +0x1.686b4b854b64cp+5 +0x1.fbb52a400d89cp+5 +-0x1.cc7f9c85bde7ep+3 +0x1.b6b477f201c6ep+4 +0x1.0ebfba0a114c5p+4 +-0x1.e6ace16a7299cp+1 +-0x1.d104471f5d95dp+4 +-0x1.e19500ec9b6cep-2 +-0x1.70f295be4a514p+6 +0x1.f83b5b8adb452p+4 +0x1.281cb65ca320ap+5 +-0x1.ff1218cd72c29p+2 +0x1.3b72435a84809p+4 +0x1.7faa65769570ep+4 +-0x1.a4da56f324ec8p+5 +0x1.372832227ffc9p+3 +-0x1.ae39635528ddp+4 +-0x1.ddcde5b4fb11bp+2 +-0x1.0670b45312f0dp+2 +0x1.fb5febc89cd42p+2 +0x1.a307fce6d123p+3 +-0x1.404de256223b2p+5 +0x1.144152cb79ec1p+5 +-0x1.f58740badc67p+2 +-0x1.c07b0dabdd81fp+2 +0x1.404e7275ef5fep+3 +0x1.870e0080594c6p+5 +-0x1.e37d0e1e669ep+4 +-0x1.4b5ae5988b046p+4 +0x1.70267658dba4cp+5 +-0x1.18ac9b2f50c48p+2 +-0x1.18feedff8e9e1p+5 +-0x1.37295400e0b66p+5 +-0x1.63ed3cee44c3p+5 +0x1.ecf1262c6256fp+2 +-0x1.1064e5d40fbaap+6 +-0x1.a27bde8e83542p+4 +-0x1.37ed4bf644953p+2 +0x1.0247350b588fp+4 +-0x1.8b0273adf278dp+1 +-0x1.36aa071aeee3ap+1 +-0x1.7caf6d8ba4423p+2 +0x1.52874ff294ab8p+3 +0x1.708585ed461c7p+3 +0x1.b81519abfe448p+4 +0x1.960ca3aca2da9p+1 +-0x1.9247d4bed09dfp+5 +-0x1.2dc1cca4329f9p+4 +-0x1.0ed320667957ep+5 +0x1.618874e4163c5p+4 +-0x1.f71e785b62952p+2 +0x1.375f6da901a1bp+2 +-0x1.385561329fbd9p+2 +0x1.d85a863473592p+4 +-0x1.bad9be50bfbb2p-4 +0x1.5f9874c3e9c04p+4 +0x1.b10ecf4a5ae09p+4 +0x1.22a60403cf9edp+4 +-0x1.611f37f57d103p+4 +-0x1.0d5821620c591p+3 +-0x1.78931e76da172p+3 +0x1.42a0cb1723dd8p+5 +0x1.0cdd8dffcc714p+4 +0x1.583e81ad1f894p+4 +-0x1.8dddfe6b1db1ep+0 +-0x1.279f4aba250b2p+2 +-0x1.1c8f3a3197523p+2 +0x1.f8279ff8d44e8p+4 +0x1.7eb0586f1e212p+5 +0x1.a0f7088408588p+4 +0x1.10a960acbb03ep+3 +0x1.058270b943164p+4 +0x1.8a113c5edea79p+5 +-0x1.3089f26b16c03p+6 +0x1.4d41a44153273p+3 +0x1.b1467355d45e8p+4 +-0x1.d7c6f58419c5cp+3 +0x1.66b6af034f9ddp+4 +-0x1.7d4c8535032bep+3 +0x1.fcdc6cacad5ecp+2 +-0x1.9741ac11fd8p+4 +-0x1.eabfb43b92b31p+3 +0x1.b1a5e683d04cbp+4 +0x1.b3389a7d7531ep+4 +0x1.3db3786b871ffp+3 +-0x1.93fbc2d3d6065p+3 +0x1.61b4044ca5525p+4 +-0x1.859fc80ce8dd2p+0 +0x1.fdccd7bee3c54p+3 +-0x1.bc3e98be64526p+5 +0x1.aaa83f1f88352p+3 +-0x1.a8e66443f670cp+0 +0x1.9efa872648f64p+4 +-0x1.234ae4a25b79dp+5 +-0x1.0721d88335cc7p+2 +-0x1.220a9569b1afbp+3 +0x1.be0bafa87bc98p+4 +0x1.45caa702677e9p+4 +0x1.525a58f38f698p+3 +-0x1.2a1b7c49eb37ep+6 +0x1.e23f6d49718e1p+6 +0x1.567fa18ac29e7p+4 +0x1.6cde22f1e83e4p+3 +0x1.d38e3004c61a4p+5 +-0x1.fa39b7736d197p+2 +-0x1.343e0be99de54p-2 +-0x1.0461c2da75ca5p+4 +-0x1.c31b2ce23198ap+4 +0x1.8ed03412d6defp+5 +-0x1.63ed0df6d47f9p+4 +0x1.e92aca60286a3p+4 +-0x1.31b566d1b2051p+6 +0x1.1cc31c406d884p+2 +0x1.653507d0fae44p+5 +-0x1.0ca9fa4e5ea14p+5 +0x1.8a67ec1579b54p-1 +0x1.6def137c8c6bcp+3 +0x1.7ab9618aa7b9ap+5 +-0x1.4229532e11028p+3 +0x1.0473c74a65923p+1 +-0x1.4ec5527bb6b1p+3 +-0x1.489c9c3257ffbp+1 +-0x1.8605a7ea9f68ep+4 +0x1.0b9704fd80065p+2 +0x1.af4e5e8e21aabp+5 +-0x1.7048849aad75dp+4 +0x1.0d834d061d13ep+5 +0x1.1a3fd319de2d8p+4 +-0x1.c9acb3cf84b5ap+5 +0x1.2cd3804cfa77bp+3 +-0x1.13feec13f7a1ep+5 +-0x1.44a39e2790977p+5 +-0x1.43dc50a87bef6p+3 +-0x1.95c0223f3e118p+4 +-0x1.e9d0bba5162abp+4 +0x1.1baca579421b8p+4 +0x1.2cf2cb1c57f41p+5 +-0x1.5b04698bbb1a7p+5 +0x1.c4399e14bbcffp+4 +-0x1.a99eb5ebf5264p+5 +-0x1.ab086fe434a19p+2 +-0x1.8c4bdb52630b4p+5 +-0x1.96e438636db92p+5 +-0x1.3793009205cb6p+1 +0x1.78aacc3ecdfddp+4 +0x1.ffaddddffd222p+4 +0x1.16e60604c9814p+5 +0x1.13f31a840b543p+2 +-0x1.b1a470df782ffp+4 +-0x1.d6358578aeaadp+4 +-0x1.387aa415ad2e3p+5 +-0x1.241867c22620fp+4 +0x1.37444d56dfa27p+3 +0x1.1735afb03ea2fp+6 +0x1.3287ed5d15202p+1 +0x1.684ed9d43ce98p+3 +-0x1.1faa73c539267p+4 +0x1.35badc4b94a55p+4 +0x1.fe74074beb41ap+5 +-0x1.0333c1ec453e9p+1 +-0x1.2d1e06641d4b5p+5 +-0x1.8035cd3e7742cp+1 +-0x1.36a9e91df62c3p+5 +-0x1.9b107f419c584p+2 +-0x1.85e021f095f01p-1 +-0x1.5f96df191eb35p+6 +0x1.4b81b4301ff9bp+5 +-0x1.27f867c4a1876p+5 +-0x1.e34f3f8de9e93p+4 +0x1.3ff1982a8c1a3p+3 +-0x1.acfc0f7d4df3bp+3 +0x1.563f3d6f14e47p+4 +-0x1.32c9dc7c84217p+6 +-0x1.251fcc00f561ep-1 +0x1.a9cb811e2636fp+3 +0x1.66683e6e79191p+5 +-0x1.dcf29ecba2ec9p+5 +0x1.0e7c1e679d971p+6 +0x1.41b4643a6e992p+5 +-0x1.6b431877fb402p+5 +0x1.0e5ad74b26404p+4 +0x1.82de4a767021p+3 +0x1.12126a1ca8613p+6 +-0x1.588a5f65fe3b4p+5 +-0x1.56bb13e4c4ae6p+3 +-0x1.c2d0fd0923fbfp+5 +0x1.c91e8b10a5533p-2 +-0x1.f9b58d1ae36e4p+1 +-0x1.01b17727843d9p+3 +0x1.30f175c55fc16p+3 +0x1.96488992e5355p+3 +0x1.9ee1502eccb25p+1 +0x1.2b7cd87d8575fp+4 +0x1.335e7097d77cbp+5 +0x1.32db26973797p+4 +0x1.49e461c1e1bdap+4 +0x1.809e28859e0a5p+5 +0x1.b281c98df2671p+3 +-0x1.ef3af6c6c31b3p+4 +-0x1.92b6e58d80c3fp+5 +0x1.49346380330cp+0 +-0x1.981004f6214f3p+1 +-0x1.96ce7df738056p+4 +0x1.c37f9aa20fd13p+3 +-0x1.96930ce3c46fap+4 +0x1.a434fcf038beep+3 +-0x1.7b13e32ea485bp+4 +0x1.b66e3aa220ca7p+2 +-0x1.3157d8e3da2f8p+5 +0x1.027d8759c3f59p+3 +-0x1.acd3e4897fdap+5 +-0x1.efa41106fc404p-2 +-0x1.23d8a034ba3eep+5 +-0x1.3e11a7c15725fp+3 +0x1.2ae06cdf11218p+5 +0x1.8236fc55fa007p-1 +0x1.90815eba85c32p+5 +-0x1.a8db406cfc925p+2 +-0x1.29758696f7f4fp+5 +-0x1.952cb3e54afadp+5 +-0x1.a20518c61bc01p+4 +-0x1.cf28a5bfdbacap+4 +0x1.931bf09323ebcp+4 +0x1.16934eeeb5a18p+2 +-0x1.9ce85d13df788p+3 +-0x1.4292c1163e569p+5 +-0x1.2b7d1b77746cep+4 +-0x1.8d138f089cb57p+4 +0x1.e9278c18affb3p+4 +0x1.9425430667adcp+5 +-0x1.1df8cd3a20e3dp+5 +-0x1.31ce008c00358p+1 +0x1.a7065ef00e1ffp+5 +0x1.b70b1c1c89729p+5 +0x1.930bc47bb8188p+4 +-0x1.2f167de5cdea1p+5 +-0x1.5f557210f0787p+4 +-0x1.01fae373eadffp+2 +0x1.b78b3f6d22097p+4 +0x1.d7a04db2ea56p+4 +0x1.f2be0a10bd434p+2 +0x1.4a4c52737001ap+4 +0x1.0b3c195c20e8bp+2 +-0x1.8c5f16b22855ep+4 +0x1.3b31b372759b7p+5 +-0x1.61f20e1994293p+5 +-0x1.b3556f80c18aap+5 +-0x1.3da99efc32593p+4 +0x1.f9e9b1a9d8d76p+5 +-0x1.e29a437562d99p+4 +-0x1.cb80f8f1873e2p+3 +0x1.5f66154f39a07p-2 +-0x1.5e774a8943ae7p+3 +-0x1.b0789f1a65acap+4 +0x1.7df532f52cc1dp+5 +-0x1.20e83ae34ed46p+5 +-0x1.2ece3c3ec6664p+4 +-0x1.b8dcfa5fbf818p+1 +-0x1.a820ea389ac6fp+4 +0x1.7b9753412f6e2p+4 +0x1.5e1ce85560f4fp+0 +0x1.094dd7957c1d4p+2 +-0x1.6a6fdd9b90682p+1 +-0x1.cfc8ec787bd4dp+3 +0x1.de8425dda515ep+5 +0x1.19aee6c68791dp+6 +0x1.cb41729f3e736p+1 +0x1.a2bc9dcd1e467p+2 +-0x1.153a4fd79110dp+5 +-0x1.e32cd1de75aeep+4 +0x1.cd10432db446ep+1 +0x1.0fb76c74ad7bcp+3 +0x1.4bfd49768d6c7p+5 +0x1.8065368a8c428p+4 +0x1.9579f6463b22bp+4 +0x1.3648ffafc92c3p+3 +0x1.a0c47a5fc93c6p-3 +-0x1.098030e3bdc44p+4 +0x1.84fb0df3d135ep+4 +-0x1.8554623efc182p+5 +0x1.15962483804c5p+6 +-0x1.8df533f543abap+3 +0x1.8cd24f4465bf6p+3 +-0x1.e7ad745390a86p+5 +0x1.e6229de2d08d2p+0 +0x1.bccca2f589181p+3 +-0x1.8e288e1a61ee3p+4 +0x1.c2aa6042cc4f2p+2 +0x1.ff0a0b216808dp+4 +-0x1.ddb1ebaddda37p+3 +-0x1.3e547677d2c41p+5 +0x1.858157703b673p+5 +0x1.d178dc87fb39p+4 +0x1.9197f0d053534p+4 +0x1.f12d869443df1p+4 +0x1.0ee4fa91d23b3p+5 +-0x1.0bec1161ae20bp+5 +-0x1.c3b201bd982f3p+3 +-0x1.40665a584411bp+5 +0x1.5ca6980e53b25p+4 +0x1.0886c51b9980ap+5 +-0x1.6ce43df954b1ap+5 +0x1.0d0445a428c4ap+5 +-0x1.3cdd410cf295fp+5 +-0x1.98ab951adfc1ep+2 +0x1.67118b280f43fp+3 +-0x1.6381cfc1a7fd9p+3 +0x1.a6ecb3aef92c3p+4 +-0x1.9515b6440ae85p+5 +-0x1.3a802180d8c38p+4 +0x1.46c216f166babp+5 +0x1.e89f14de3abdcp+3 +-0x1.0b75a703206b5p+1 +0x1.4109f34eca6cfp+5 +-0x1.e092b36e85d71p+3 +-0x1.6bb26457d7b5bp+7 +-0x1.61350b7c3dbbp+5 +-0x1.03a282934d1a4p+3 +0x1.77981e69716c6p+2 +-0x1.f701b74210786p+2 +0x1.ab815c885035fp+5 +-0x1.cf59e95b10a65p+4 +0x1.8ee6dc793727fp+3 +0x1.8ec04b88e9299p+4 +0x1.bbf63740f394ap+4 +-0x1.a3fa37a2e2b1p+3 +-0x1.1af036b14ba26p+3 +0x1.22f5cd1fca077p+4 +-0x1.46a4997b4856dp+5 +-0x1.5d4fdb54e2ed8p+5 +-0x1.f72d2a7eda91fp+4 +-0x1.8bcbb1ddb6962p-4 +0x1.b6ac6902470d7p+3 +-0x1.760220b9f6df6p+3 +-0x1.317764115a924p+5 +0x1.1f9cb1ce1cce5p+5 +0x1.9e1293e476df5p+5 +-0x1.e7d7d12a5dd4fp+4 +-0x1.a0041e894620dp+6 +0x1.a6ffb58cb5985p-1 +0x1.e6a5d11bab93fp-3 +-0x1.69a5af5d507a9p+1 +0x1.c758a732377bcp+4 +-0x1.9f7bb37d32885p+5 +-0x1.239f28fcb0afp+5 +0x1.21c24452d1427p+4 +0x1.63aca54aadbbbp+4 +0x1.1981bb5c459ddp+3 +0x1.ae3274518c3f1p+4 +-0x1.acc7c26f9439ep+4 +0x1.354474b83682dp+5 +-0x1.01b9ab69e5c85p+4 +0x1.59db0e6e1cd7cp+4 +0x1.1a891301a0aa6p+6 +-0x1.5dab9a5277553p+2 +-0x1.7abbe453f1cc6p+2 +-0x1.6061f794a31fp+3 +-0x1.7e72ee759e153p+4 +-0x1.90f2864b2d9cap+4 +0x1.c2059f0e9165p+4 +0x1.d47af0a008b86p+4 +0x1.adbf8cdf8ec5ep+5 +0x1.0a174c4d8f009p+6 +-0x1.4bf35ff2fa10dp+4 +-0x1.0d0d08f037d69p+4 +-0x1.190849747ae36p+5 +-0x1.dc5e8a1378193p+4 +0x1.c3e5cadc255c8p+7 +-0x1.0b7cf38938f01p+3 +-0x1.53bf26bf39cf9p+4 +0x1.6021132cc5fa9p+5 +0x1.1f2cca10e8847p+5 +0x1.82373ef9b2af3p+3 +0x1.13fdff19abe06p+3 +-0x1.00880cef5602cp+6 +-0x1.75a7e3cde7d6bp+4 +0x1.7dbef6e963782p+5 +0x1.2e956304ede21p+5 +-0x1.0a1952a608b0cp+5 +0x1.d5409c022e31cp+4 +-0x1.093fe4d472b8p+4 +0x1.1e6686880eep+6 +0x1.88cca811e5a52p+5 +-0x1.0cbcf4504f1cp+5 +-0x1.813d0e71aca86p+2 +-0x1.30606fb5012c9p+0 +-0x1.4b5341e2b8ecep+5 +0x1.6032528ee7911p+4 +-0x1.c601e68d6fd3fp+5 +-0x1.cd608a18ee988p+3 +-0x1.fa09ccf1d5531p+4 +-0x1.797292dcd8a68p+5 +-0x1.c8608dabe244p+6 +-0x1.57cd527e36623p+3 +0x1.b71ae5a6df80dp+5 +-0x1.96ec47cf27c83p+4 +0x1.0e009129436bcp+1 +-0x1.042ca5f3e63cap+5 +0x1.8a318ce0844e6p+3 +-0x1.6a9bda33a34a4p+3 +0x1.c52faf93d6272p+3 +-0x1.376f82b84a51cp+5 +0x1.0698fad96b508p+4 +-0x1.1f6c54d65f837p+4 +-0x1.8094b4312165bp+5 +0x1.4bf1619b9688ep+3 +0x1.f19582b5141a9p+5 +-0x1.1f0c82108dddcp+6 +0x1.6d0a9de3d1192p+3 +-0x1.b4f5eb46c1c0dp+5 +0x1.94ea497a6da1ap+0 +-0x1.dd3e7ccde95fdp+4 +0x1.00c3274ec2061p+4 +-0x1.06b80839acdc7p+2 +0x1.5e68c21fc3c47p+5 +0x1.b57a617c24c7p+4 +0x1.dbb777ecd2fe8p+3 +0x1.f8599d5912f5fp+4 +0x1.a8ce99637fdep+3 +-0x1.1178cc6c41045p+5 +-0x1.16b2621fde5e9p+4 +0x1.4cb3193c14242p+2 +-0x1.2b698b53d3ed1p+4 +-0x1.a2954c5adfc13p+4 +-0x1.9ead7fd515e8dp+2 +-0x1.7f25d213409b4p+4 +-0x1.3ecb54cf217f1p+3 +-0x1.42bd8c75ca1a1p+4 +-0x1.e64af07dc6ef7p+5 +-0x1.8df505efdde4bp-1 +-0x1.7fa6f784cf1bp+3 +0x1.f192dba76a318p+4 +0x1.a23234b4f8c78p+5 +0x1.529f9e235ca8dp+1 +-0x1.25c2424ba38d7p+5 +-0x1.264d33dfac652p+5 +-0x1.ab5a0d648b3f9p+4 +0x1.27c7c89efc754p+2 +0x1.be840d57a7d3dp+3 +0x1.abfd0ae117d33p+4 +0x1.73307b0afc1cp+1 +0x1.888d6614cdd3p+2 +-0x1.c614b9eecb9fap+5 +0x1.910e203d9f24cp+2 +0x1.cc4adc85133a8p+4 +-0x1.072822fff319p+5 +0x1.6f27040372408p+5 +0x1.1ee3a2633dbf7p+6 +0x1.58aa4a8771889p+2 +0x1.d120be1750f82p-1 +-0x1.1fe197e3ff7acp+5 +-0x1.52b1ef6bf3261p+5 +-0x1.ae76580a3fa2dp+3 +-0x1.f114f06135a6ap+5 +0x1.2db693dc79d04p+4 +0x1.c017579cc447ep+2 +0x1.ce679d188f988p+3 +-0x1.97d9cac324f57p+5 +-0x1.3aa6e59b8e4f2p+3 +0x1.ab8b839860442p-1 +0x1.ecfa597f3119cp+3 +0x1.4d2300d306d07p+5 +-0x1.229a22421288bp+5 +-0x1.15d245de0d24fp+5 +-0x1.14ca80f6c7f21p+0 +-0x1.d280147f90d51p+5 +0x1.97ed012468bebp+3 +0x1.2295da95d38bp+5 +0x1.03ef25597dbdbp+4 +0x1.a8e6fe8e0c2f1p+3 +0x1.56473a51376adp+0 +-0x1.f6ca0bd88e38fp+2 +-0x1.45c57fd1010d9p+2 +-0x1.c3de1d196e1b6p+0 +0x1.e727d990df347p+3 +0x1.abe66fcda83c4p+3 +-0x1.8fa34697d969bp+5 +-0x1.70b3456c05701p+3 +-0x1.1d62c028cb85ep+6 +0x1.0ff66d6fdb39dp+1 +-0x1.2baea608eee34p+3 +0x1.c74a0bff306b8p+3 +0x1.5ab7632a6f26ap+5 +-0x1.8b71affd301adp+3 +0x1.e5599a8b8cd1ep+1 +-0x1.3103c2031d1bbp+5 +0x1.28195507f9c4dp+5 +-0x1.194772a85dabep-1 +-0x1.19ee5c5ffb12fp+1 +-0x1.15c3131754788p-1 +-0x1.c518dcf18236bp+4 +-0x1.73992aff0a5d1p+2 +0x1.a6465a06344abp+5 +0x1.6618c32434ccbp-3 +0x1.01d2e8a3a500ap+5 +0x1.4919b4e276d87p+4 +-0x1.87c7208ec9bc6p+2 +0x1.373c293695fabp-7 +0x1.8e16c29571d0ap+4 +0x1.e0c19c809e47fp+3 +0x1.6efdb5caff4a6p+3 +0x1.77a86c33e5e95p+5 +-0x1.9a52b339c19cfp+3 +0x1.2decd2cd9416p+5 +0x1.efa199ef062efp+2 +-0x1.f7faebc197eaep+1 +-0x1.125dbd788c9cap+4 +-0x1.aa25da601877cp+3 +-0x1.0509b5b07db71p+5 +-0x1.0e841e3337126p+6 +0x1.14f309eb6b769p-2 +0x1.8371f68deafc4p+5 +-0x1.a6997c8b3e796p+4 +0x1.d0be99890c6e9p+1 +0x1.7a186fbd1e357p+4 +0x1.5c3bcf78d4d02p+5 +0x1.a8caecb3e7fadp+5 +0x1.4fabaf7e6189cp+2 +0x1.52e960044f204p+5 +0x1.6ef878c1f2b46p+3 +0x1.e6a8c18b02bdap+4 +-0x1.153cd769f58b7p+4 +0x1.7465e23891068p+5 +0x1.19c6a1a74d3e4p+4 +-0x1.64fceca91c715p+6 +0x1.72168e15129acp+3 +-0x1.fad951936d185p+3 +-0x1.d3401a99664afp+3 +0x1.1d3854a4dd63cp+4 +0x1.5c0a66217aeedp+5 +-0x1.8183e6ca03bf9p+2 +0x1.e1e5edcac9c11p+2 +-0x1.2c76664058a25p+6 +0x1.31e48e976aa5bp+6 +-0x1.5b84d88d6d8cap+4 +0x1.ac7e36ab5270ep+4 +0x1.171c6cc2580eep+4 +0x1.b3819456344ccp-3 +-0x1.9c0b5679318b7p+4 +-0x1.16cd889ab0c83p+4 +-0x1.5a04d871e7321p+5 +-0x1.0cc51d8fdc638p+6 +-0x1.d5ed576faf2d7p+4 +-0x1.056de1685c7f9p+5 +-0x1.e09561f6f07afp+3 +0x1.0f01966df0ce1p+4 +0x1.7fa3f5c1e2d0fp+4 +0x1.fac5aff615326p+3 +-0x1.f77ae55a39fdcp+5 +-0x1.6f44f4289804fp+3 +-0x1.9d4e517275c6cp+5 +0x1.64cf6f944b6fap+6 +-0x1.58acb6a23ccabp+3 +-0x1.870639b088223p+4 +0x1.b943566f0562bp+4 +0x1.8637e6afd9338p+4 +-0x1.440ac7df7534ap+4 +0x1.7ca38d182c4edp+1 +-0x1.bf9b0d31fd77p+4 +0x1.657f4c07274eap+2 +-0x1.8f9cb6ef8f5d9p+5 +0x1.1399d879737eap+5 +0x1.a28951ff14a4ap+3 +-0x1.23308d3996291p+5 +-0x1.4c282aeb3391dp+2 +-0x1.d9f85505d3084p+4 +0x1.bf6c8f95b92bap+5 +-0x1.87bd20aebe54ap+3 +-0x1.c4f51e60949edp+4 +0x1.472382401a8f2p+4 +0x1.924999011c9c8p+5 +0x1.23e2c30e9b519p+4 +-0x1.a2d4ddafd8bc6p+1 +-0x1.03af799e9b82fp+6 +-0x1.57e603fe4b41bp+3 +0x1.489f051554ca5p+5 +0x1.a3378da301d3dp+4 +0x1.127a2038f4704p+5 +-0x1.0412abc005f4ap+5 +-0x1.c1fab58e51be8p+2 +-0x1.534a358901675p+5 +-0x1.227ee94d806fbp+4 +-0x1.60bafada87854p+5 +-0x1.6c1b4ca75bc6dp+4 +-0x1.e55c2f64efc93p+4 +0x1.0136a1b3a2aeap+1 +-0x1.0ffdf80d90d07p+4 +-0x1.c65760470e8d6p+4 +-0x1.b2896d2a008dap+0 +0x1.574f6ae904203p+2 +0x1.324236a74d2b6p+5 +-0x1.a324414161549p+3 +0x1.9a3899e8b4ba4p+5 +-0x1.1171c9f576983p+5 +0x1.0f7b1d54df251p+4 +-0x1.6c053dd207a6fp+4 +-0x1.9b99b65989247p+3 +0x1.b2a6d71e32934p+5 +0x1.1f2bd5bca0b78p+3 +-0x1.f0cccc8b49969p+4 +-0x1.1732ff38c200cp+4 +-0x1.6b2755c442ff5p+4 +-0x1.187853da32e74p+5 +0x1.a799190ccccfep+3 +0x1.857357305ebd7p+4 +-0x1.0cfed51a5447p+0 +-0x1.4de6ec08a741ep+4 +0x1.51a0623691ca1p+4 +0x1.150623e621affp+2 +-0x1.5cfe06a01edd3p+5 +0x1.79170cd5592fbp+2 +0x1.03e7ab6aad67ep+5 +-0x1.1891985c0eb8ep+4 +0x1.b4c6bd3a6edd3p+2 +-0x1.9184c834df616p+4 +-0x1.896958966a197p+4 +0x1.5be3839f90121p+6 +-0x1.0a5d4e106277bp+5 +0x1.9a280716597f5p+1 +-0x1.52f6fb77a081ep+4 +0x1.3c8b1ee2b173ap+3 +0x1.2ea3366ede3adp+2 +0x1.e53f1280cde7ap+5 +0x1.957874fc6208ep+5 +-0x1.2e50c6467220dp+4 +0x1.f60821784192p+3 +0x1.b8e3e55ae80e2p+4 +0x1.288f642c27b4ap+5 +0x1.3ab579f457f48p+4 +0x1.00560e5c012c4p+5 +-0x1.018fda0958f47p+3 +-0x1.1663e5438ceecp+0 +-0x1.b38c79ed08931p+3 +-0x1.56593bb8e2b3ap+3 +-0x1.658a994e639bfp+5 +-0x1.a483e03472605p-3 +-0x1.72fcdc678ef45p+5 +-0x1.d97293881bea4p+3 +-0x1.c49a1d675d476p+3 +-0x1.168763fc4681ap+8 +-0x1.2f65397f9102fp+5 +-0x1.e1be1e7df4fc2p+3 +-0x1.6f8874375d431p+3 +-0x1.5c5791aaf5478p+6 +0x1.082ca583a3b4ap+1 +-0x1.a2bbbe7dac89cp+3 +-0x1.56d82280ca20ap+4 +-0x1.0dbeb9ef97955p+4 +-0x1.b94eb5428765bp+4 +-0x1.a9bf86e4ac70dp+2 +-0x1.0855827c83f4cp+3 +0x1.022d027737673p+2 +0x1.3063e7a806101p+6 +0x1.eab3b18ac0494p+5 +0x1.e5f194cc1e1a8p+4 +0x1.a84a0d1b19efcp+5 +0x1.e69e9354c1529p+2 +0x1.545416ffbb03bp+4 +-0x1.b5e40f88452abp+4 +-0x1.68c7d14330b2ap+2 +0x1.7ffc77ca165dcp+1 +0x1.a668c8ebd61b4p+5 +0x1.0b28f10ea5b09p+7 +0x1.4335046c074d7p+5 +0x1.685124b5d8a51p+6 +0x1.4745e3eac7353p+4 +-0x1.69574690ea7c3p+3 +-0x1.c3d85c17853dbp+5 +0x1.2ca545525be9ap+5 +-0x1.5e28ce7affeb4p+3 +-0x1.92bfba1bac60bp+4 +0x1.97f2a53c69f16p+3 +0x1.282c0d8843656p+4 +0x1.2e83ef4ac8dd2p-2 +-0x1.e1a4876dd3166p+1 +-0x1.95bdb29008dc8p+2 +0x1.6600fe4a53856p+5 +0x1.2e1d9bf5b3951p+1 +-0x1.70e9ea952a19dp+2 +-0x1.d20f199dd9577p+4 +-0x1.c22c62447cc81p+3 +0x1.5ede8b7bf60dbp+3 +-0x1.ddccc5653648fp+3 +-0x1.37b3b1cce6cd7p+4 +0x1.293dcc95484d4p+4 +0x1.a0908aa30e4b1p+4 +-0x1.19e1718e6114cp+4 +-0x1.15879faff760cp+5 +0x1.04d7bd103c7bcp+5 +0x1.a9bfcf61ab5aap+2 +0x1.7ffbcf941d617p+4 +-0x1.60433564bde97p+3 +0x1.3facbec098158p+3 +0x1.0ac26b5b6b26ap+2 +-0x1.2f2bf3e135d94p+5 +0x1.1aba33d31f5eep-3 +0x1.44e9cf1156e06p+5 +-0x1.e43e30a92a587p+5 +-0x1.28e91fbfa691ap+4 +-0x1.7353a3cf17f5cp+4 +-0x1.10a858f300482p+5 +0x1.32f94c36ff37p+0 +0x1.f9f83415242ddp+1 +0x1.9757166028a0bp+3 +0x1.1d7c012c6d9acp+5 +-0x1.57fc1dddf5d8ap+1 +-0x1.5d11d00438ecep+4 +-0x1.2747d944042adp+3 +0x1.7f675e4cdfdafp+5 +-0x1.25e7be689bf3bp+6 +0x1.2ab5068d0da45p+4 +-0x1.b5d0f4e5854c2p+2 +-0x1.6c1508a245409p+2 +-0x1.cee6ebe8cfb3dp+3 +0x1.07e3d5abaf2c2p+6 +-0x1.c45815dd1e558p+5 +-0x1.c266d6b6fc581p+0 +0x1.ab0d770f9960dp+3 +0x1.b383e5d3bf694p+4 +0x1.5da5ec4458468p+4 +-0x1.ae05752dce3bep+4 +0x1.4f48d390d74f4p+4 +-0x1.880168a9d8bf5p+2 +-0x1.87add861f8988p+5 +-0x1.14db9a7dcab57p+4 +0x1.47c0301aa6b84p+3 +-0x1.2b02155d9aee3p+5 +-0x1.7bfb0c81ab8cdp+0 +-0x1.0c23e578a36c6p+5 +-0x1.157749f322387p+4 +-0x1.7ac4335775a1cp+2 +0x1.c550fc3c78769p+5 +0x1.83d7cdfe37293p+5 +0x1.0175d3d989f64p+6 +-0x1.2212fa987b93ep+2 +0x1.217f3df9fc083p+5 +-0x1.cd855b8fe86fdp+3 +0x1.ccea5a54d87efp+3 +0x1.558402d1b1d97p+4 +-0x1.8ab1c2c68d04fp+5 +-0x1.8098471a13c85p+2 +-0x1.157cd3b0982bfp+6 +0x1.305104b60c029p+6 +0x1.eff682c003408p+4 +-0x1.5afb1632fb37ap+5 +0x1.1e33bf0ab3d29p+5 +-0x1.576037cee8fd4p+3 +0x1.2a89ddee85669p+3 +-0x1.1674f3ba7da18p+5 +-0x1.2284f100bccdcp-1 +-0x1.cf1dd973f1609p+3 +0x1.b3a7904f392eep+4 +0x1.46833328fbc48p+3 +0x1.190e33f3fa595p+4 +0x1.2509eb20bfd81p+2 +0x1.7a11f69b6a7d4p+4 +-0x1.ce345c782f5b6p-1 +-0x1.203b3b982e85ap+5 +-0x1.ecf57b2b85cf5p+3 +0x1.963b6e19ba199p+4 +-0x1.e1bdc5dcc038bp+4 +0x1.4d96d7ad0daffp+5 +-0x1.b92d7f9c9dbcep+3 +0x1.e2caa293e9eecp+4 +0x1.f8baf1c0ea3dep+1 +-0x1.02dc134bc493p+6 +-0x1.1a7d9c48165b2p+2 +0x1.2b4c24d12b1f7p+6 +0x1.5e37a9908f7a9p+4 +-0x1.3885394c7f9bbp+7 +-0x1.19840a3a45406p+5 +0x1.1959dfefb58f7p+4 +0x1.52bed32f75b94p+5 +0x1.0a997afa9b274p+3 +0x1.eee9334cdd0ddp+3 +0x1.203d41ad61271p+2 +0x1.90b58e66122bdp+5 +-0x1.370579624a655p+4 +-0x1.b2a805a509c18p+5 +0x1.e67ccdb8eadfcp+5 +-0x1.3c67a45675499p+5 +-0x1.bfe3aa0e71bb2p+4 +0x1.35cebbc94eab7p+5 +0x1.0422cc7ae80c9p+5 +-0x1.60be748cc1763p+4 +0x1.035ceb7539913p+4 +0x1.7f99fcedf4bb1p+3 +-0x1.6f9c5ee90d57fp+5 +-0x1.845438659ae53p+5 +-0x1.127e6dca38c33p+3 +0x1.4cfddd6b8cbe6p+5 +-0x1.1d4bd6ad50359p+5 +0x1.6a88e84e144c1p+4 +0x1.33cbbda49d9c4p+2 +-0x1.3b15ef7442557p+2 +0x1.727ec527b99fp-3 +-0x1.9f3da8d41e438p-2 +-0x1.80a2820b8f653p+4 +0x1.af6cb5b48874ep+7 +-0x1.1f50c3eb06578p+4 +0x1.d420b1a766c3fp+2 +-0x1.061b135bfbabp+0 +0x1.7df5acaa32cddp+4 +0x1.6eb4e78ecc57cp+2 +-0x1.1194fe9aa3be8p+5 +0x1.13a325cf7b8cep+4 +0x1.e7069ccf67267p+5 +-0x1.89a242daa144dp+4 +-0x1.10750199c5d77p+5 +-0x1.fb0a9458e1e58p+4 +-0x1.f37b9d7b69b5fp+5 +-0x1.55c000fc49842p+5 +0x1.12ed7980f7439p+3 +0x1.cd24b3b1ef227p+3 +0x1.17088f192f0f9p+5 +0x1.90a1fc58a5b9bp+4 +0x1.88f71a896832fp+3 +-0x1.0e428a379b193p+1 +-0x1.9a536e9c8e83ap+3 +-0x1.f8c907f8f58dap+4 +0x1.40c9a200f618p-1 +0x1.bb0f583139801p+5 +0x1.4f096c4aaccfep+5 +-0x1.8639ac259ec7p+2 +-0x1.ddc002a62d79ap-2 +0x1.15ea75f9bba9bp+5 +-0x1.a4314722e80c4p+5 +0x1.3085c6708f055p+6 +-0x1.3a122c32d2387p+4 +-0x1.8466c7f39e1a8p+4 +-0x1.07a3a25046ff7p+4 +-0x1.64906f355b5f5p+5 +-0x1.b6cfc87ad211ap+3 +0x1.a9f23e8a04957p+4 +0x1.8f8861cd0df53p+4 +-0x1.0520d99bed6ddp+4 +-0x1.fd38e376c26b9p+4 +0x1.03ecf05ceca89p+6 +-0x1.a17681ee75826p+5 +-0x1.69f156a76e613p+6 +-0x1.8824d10bf8adfp+5 +0x1.100b8d5562582p+2 +-0x1.83039f5c89f39p+5 +-0x1.32ae3bd745592p+2 +0x1.20cb3b1fd30d4p+5 +0x1.b455d2d933468p+3 +0x1.321f6a0b81c7cp+4 +-0x1.d72368b9f962cp+5 +-0x1.359f1c33643f6p+7 +-0x1.e802ac8385caap+4 +-0x1.283a262642c57p+3 +-0x1.4683fc0789bb8p+2 +-0x1.0979236fd2b26p+5 +0x1.6fae44dc0134ap+1 +-0x1.66857c081da8dp-2 +-0x1.1808d0a3ed1b8p+5 +-0x1.88bbc40edea65p+4 +-0x1.22e88378bebeap+2 +0x1.ce560cf6fded2p-1 +0x1.fe493528bc8f6p+3 +-0x1.e70f7ac0dd117p+4 +-0x1.a225717175c68p+5 +0x1.93bb64437011dp+4 +-0x1.26ee7d4949696p+5 +-0x1.86e89fac76f85p+5 +0x1.324cac38058e4p+5 +0x1.1e2ab2a20dec6p+4 +-0x1.23a5753b9b995p+4 +-0x1.24f1448e6220bp+4 +-0x1.4b31f7fd15c83p+2 +0x1.16c554c0c7c7bp+4 diff --git a/sysdeps/x86_64/fpu/libmvec-sinhf-inputs b/sysdeps/x86_64/fpu/libmvec-sinhf-inputs new file mode 100644 index 0000000000..29d54961e1 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-sinhf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-89, 89), mean = 0, standard deviation = 16 +-0x1.110038p+2 +-0x1.1f03acp+3 +-0x1.88539ap+4 +-0x1.410132p+3 +-0x1.3b7fb8p+2 +0x1.029deep+4 +0x1.77fde2p+3 +0x1.16a53ep+5 +0x1.35a336p+3 +-0x1.f85d78p+2 +-0x1.75bd8cp+4 +-0x1.360248p+4 +0x1.1cb9fap+5 +-0x1.cc0c94p+1 +-0x1.b06432p+3 +0x1.e5f318p+4 +-0x1.2bbc6p+2 +-0x1.b20d6p-4 +0x1.1ee5aap+3 +0x1.0d39dap+4 +-0x1.f35ecap+2 +-0x1.90e89ap+3 +-0x1.8718b2p+1 +0x1.e1a884p+3 +-0x1.bb8414p+2 +0x1.66748ep+4 +-0x1.03ac94p+4 +-0x1.2777cp+2 +0x1.1d20fap+4 +-0x1.0d6598p+4 +0x1.948e12p+1 +0x1.a2f914p+3 +0x1.8dfc3cp+1 +-0x1.66dc8cp+1 +0x1.729198p+1 +0x1.0d76b4p+0 +-0x1.8ba0cp+3 +-0x1.657578p+2 +-0x1.420738p+2 +0x1.a3c674p-2 +-0x1.3c18ep+0 +0x1.e26402p+3 +-0x1.16b4ecp+4 +0x1.919dfep+2 +0x1.51a8f6p-2 +-0x1.5da7ep+1 +-0x1.7ed13cp+1 +0x1.7c78e8p+3 +-0x1.371df6p+4 +-0x1.47b6c4p+2 +0x1.c0eb16p+3 +-0x1.04144p+4 +0x1.747d82p+3 +-0x1.0e3c3ap+5 +-0x1.9223e2p+3 +0x1.2c285ap+2 +-0x1.e100ap+3 +0x1.a994cp+3 +0x1.5642c6p+4 +0x1.0e8c4p-2 +0x1.54118cp+0 +-0x1.7e95d8p-2 +0x1.d779ep-1 +-0x1.6d0abp+4 +0x1.384bbcp-1 +0x1.cb814cp+3 +0x1.ef5984p+1 +0x1.4511a4p+1 +0x1.c3236cp+1 +-0x1.b5663ap-1 +0x1.f9775cp+3 +-0x1.fbe004p+3 +0x1.ec4068p+0 +0x1.0af7c2p+3 +-0x1.18e6b8p+3 +0x1.2fc06ap+2 +-0x1.0df60cp+3 +-0x1.270062p+5 +-0x1.f9beaap+0 +-0x1.a8a18cp+0 +0x1.8ef12p+4 +0x1.8035aep+0 +0x1.6e5336p+3 +-0x1.202ed6p+4 +-0x1.958d6ep+2 +-0x1.179054p+0 +-0x1.ae79ecp+2 +-0x1.08e936p+2 +0x1.fa1d12p+3 +0x1.e0e75p+3 +0x1.b8b9f4p+3 +0x1.39e7ap+2 +-0x1.37f81ap+3 +-0x1.d1b82p+0 +-0x1.8d8c76p+4 +0x1.c753b4p+4 +0x1.59d5bp+1 +-0x1.ea04b4p+0 +0x1.29c338p-1 +-0x1.c2ee5ep+3 +0x1.cee3cap+4 +-0x1.b5e1a6p+3 +-0x1.42abb8p+3 +0x1.1d8892p+4 +0x1.80ec7cp+2 +0x1.d3166p-4 +0x1.9c79dap+3 +-0x1.253082p+0 +-0x1.a40112p+2 +-0x1.77943p+3 +0x1.77052ap+2 +0x1.aa7ee8p+4 +-0x1.f6ee5cp-2 +0x1.a39a2ap+3 +0x1.3221b8p+3 +0x1.5ff5bcp+3 +-0x1.4613aap+0 +-0x1.6991a4p+4 +-0x1.1071cap+4 +-0x1.055f3ap+4 +0x1.520ed8p+3 +-0x1.6e1544p+4 +0x1.e819p+4 +-0x1.8b8cb4p+3 +-0x1.a9f64ap+3 +0x1.88e06cp+2 +0x1.750ec6p+3 +-0x1.0dd8acp+3 +-0x1.99309ep+2 +-0x1.08b1bcp+2 +0x1.53f12cp+0 +0x1.0a5b3ep+2 +0x1.273d5cp+5 +-0x1.27eeacp+4 +0x1.398226p+3 +0x1.56fe6p+4 +-0x1.f11f36p+4 +0x1.9aca96p+2 +-0x1.8f8d42p+3 +-0x1.f49e6ep+1 +-0x1.7a129ep-4 +-0x1.1ae76cp+3 +0x1.087a5ap+0 +0x1.6aff86p+3 +-0x1.62fa8ap+2 +0x1.b66d4cp+2 +0x1.b32cf8p+2 +-0x1.62840ap+3 +-0x1.ac60dap+3 +-0x1.fbdc48p+1 +0x1.ce8d8ap+2 +-0x1.f0575ep+2 +0x1.248082p+4 +-0x1.4b02ccp+0 +-0x1.f980a2p+3 +-0x1.d7c148p+3 +-0x1.19379ep+0 +0x1.0acdccp+5 +-0x1.ab9498p+2 +0x1.0e6daep+3 +-0x1.45599cp+4 +-0x1.a1d652p+4 +0x1.0a9a08p+3 +-0x1.380656p+3 +-0x1.4723eap+4 +0x1.82ba88p+4 +-0x1.be10fep+1 +0x1.6e9ab6p-6 +0x1.ac8ebap+4 +0x1.72f43ap+1 +0x1.647a3p+1 +-0x1.6a098ep+1 +-0x1.535b6p-1 +0x1.9b2178p+2 +-0x1.39e10ep-3 +-0x1.d28fecp+2 +0x1.0c23ap-2 +-0x1.4314fcp+1 +-0x1.3d2ddcp+3 +-0x1.91560cp+1 +-0x1.2064bep+5 +-0x1.8f0d5ap+3 +0x1.81850ap+5 +-0x1.f7d0d6p+2 +-0x1.f23fd4p+3 +-0x1.75a606p-1 +-0x1.d253dcp+3 +-0x1.532846p+3 +0x1.ce3576p+3 +-0x1.8652cep+2 +-0x1.9b8efp+4 +0x1.7d9c66p+4 +0x1.b96c3ep+4 +-0x1.f953fcp+3 +-0x1.11ee22p+1 +-0x1.a1e7cp+2 +0x1.46cfc2p+4 +-0x1.ae2452p+2 +0x1.6993ap+4 +0x1.13306cp+2 +0x1.61510cp-1 +-0x1.1a2036p+5 +-0x1.64ad7ap+3 +0x1.bc0558p+0 +0x1.3c093ep+0 +0x1.4f8ea8p+3 +-0x1.55af0ap+5 +0x1.5af1d2p+2 +-0x1.0de628p+3 +0x1.99ce9ep+4 +-0x1.f3ce28p+3 +-0x1.2dcbccp+4 +0x1.1adafep+3 +0x1.853c9ap+1 +-0x1.00b1dap-1 +-0x1.12d9eap+4 +-0x1.c05a7cp+4 +-0x1.df87d8p+4 +0x1.3e98c6p+3 +0x1.560246p+4 +-0x1.c6b774p+3 +-0x1.1bed26p-3 +0x1.efefd8p+3 +0x1.c1a132p+0 +0x1.30ea3ap+4 +-0x1.a74dd4p+3 +0x1.79ab52p-2 +0x1.d28bdp+3 +-0x1.dd0ae6p+4 +0x1.086058p+4 +-0x1.3d802ap+2 +-0x1.11859p+3 +0x1.2aa162p+2 +-0x1.51a2fep+4 +0x1.6d4ca2p+4 +-0x1.086472p+3 +0x1.73c0d4p+1 +-0x1.460bb8p+4 +-0x1.96b5c2p+3 +0x1.002088p+3 +-0x1.079c68p+4 +-0x1.a490fep+0 +0x1.3a317p+1 +0x1.b3009ap+1 +-0x1.8be63p+4 +0x1.c70c48p+1 +0x1.6ec3p+3 +-0x1.d42bdap-1 +0x1.542a48p+3 +-0x1.68aadep+3 +0x1.0719ecp+3 +0x1.5a5bfp+3 +-0x1.b6a5c8p+2 +0x1.539262p+2 +0x1.65e234p+3 +0x1.81eea2p+3 +-0x1.e09ae8p+2 +0x1.88cff6p+2 +-0x1.eaf19p+4 +0x1.b0dc52p+2 +-0x1.949d08p+1 +0x1.2054bep+4 +-0x1.1c5a7p+4 +0x1.26681p+4 +0x1.450c66p-1 +0x1.ede04p+3 +0x1.5dd9cep+4 +-0x1.ee86a4p+2 +0x1.430682p+3 +-0x1.b239cep+2 +-0x1.b155c4p+4 +0x1.110594p+3 +-0x1.940484p+3 +-0x1.fc518p+1 +0x1.2ab818p+2 +-0x1.bb57eep-4 +0x1.2c5faap+2 +-0x1.105b2ap+2 +0x1.ad21b6p+4 +0x1.f59118p+3 +0x1.942c72p+2 +-0x1.73fc06p+2 +0x1.19a064p+4 +0x1.f4409ap+1 +-0x1.6ea822p+4 +0x1.05326p+1 +-0x1.30227ap+2 +0x1.69b302p+0 +-0x1.a95e1cp+3 +0x1.2ff44cp+3 +0x1.8803b4p+3 +0x1.e33526p+3 +-0x1.a47f8p+1 +-0x1.a15cdap+1 +-0x1.ad8b0ep+4 +-0x1.9c52c8p+4 +0x1.1e855ap+1 +0x1.bb99aep+2 +-0x1.1dae22p+4 +-0x1.9efa1cp+4 +0x1.7f4124p+4 +0x1.a0ae02p+2 +0x1.6c8868p+3 +0x1.2e1f7p+4 +0x1.1a07e2p+4 +0x1.50e958p+4 +-0x1.099808p+3 +0x1.62d0a6p+4 +-0x1.641802p+0 +-0x1.a1d7bcp+5 +0x1.b265b6p+3 +0x1.a5562ap+4 +-0x1.af841cp+1 +-0x1.6538b6p+4 +-0x1.29feb6p+3 +0x1.6071bcp+5 +0x1.3a75b2p+5 +0x1.501b28p+3 +0x1.cab884p+2 +-0x1.7e440ep+1 +-0x1.94992p+4 +-0x1.4bf214p+3 +-0x1.f4aaa8p+3 +-0x1.c904a4p+3 +-0x1.85137ap+2 +-0x1.3253d2p+3 +-0x1.7e5a94p+3 +-0x1.ba8b24p+2 +-0x1.e32c5cp+4 +-0x1.f7a818p+2 +0x1.d79048p+1 +-0x1.e1ee3cp+3 +0x1.8a59e6p+3 +0x1.72b31ap+2 +-0x1.f0a79p+2 +-0x1.ec9f64p+2 +-0x1.ef4d44p+3 +-0x1.45030cp+2 +-0x1.3de03p+4 +-0x1.ae4ee8p+2 +-0x1.2a2442p+4 +0x1.1e09c8p-4 +-0x1.8647a8p+3 +0x1.0b13ecp+2 +0x1.5b2206p+3 +-0x1.c752f2p+1 +0x1.3d151p+3 +0x1.17da3p+3 +-0x1.266a0ap+3 +0x1.8f8a46p+1 +-0x1.347da4p+2 +-0x1.39b5p+0 +0x1.b9a576p+3 +-0x1.721816p+3 +0x1.4139fep+4 +0x1.0b6028p+3 +-0x1.9cf32p+2 +0x1.4e858p+4 +0x1.b07b4ep+1 +0x1.11702p+1 +-0x1.08a3dp+3 +0x1.6f6f4p+0 +0x1.a9ca3ap+3 +-0x1.5506bcp+2 +0x1.7d3bacp+1 +0x1.ba237ep+2 +-0x1.9d3fecp+3 +0x1.04414ep+3 +-0x1.1ab066p+3 +0x1.da5968p+1 +-0x1.8bb0dep+1 +-0x1.bcfc0cp+0 +0x1.010d86p+2 +-0x1.7ff508p+2 +-0x1.087a8p+0 +0x1.3ee03ep+4 +0x1.44bf16p+2 +-0x1.dc7bfep+1 +0x1.4b2044p+2 +0x1.84fe36p+1 +0x1.cd7622p+4 +0x1.1b1d3cp+4 +-0x1.9fcae6p+4 +-0x1.0a3b58p+3 +-0x1.2abc8ap+4 +0x1.8c4d68p+1 +0x1.0a5afep+4 +0x1.4fd2ccp+1 +-0x1.11c6cep+3 +0x1.8d885ep+4 +0x1.59ea52p+4 +0x1.0ec88cp-1 +-0x1.8a5d84p+4 +0x1.1a283ap+0 +0x1.829e76p+3 +-0x1.9d40e2p-1 +-0x1.013626p+4 +-0x1.d6aa46p+3 +0x1.1ae55cp+2 +-0x1.6d2bcp+2 +-0x1.2f894ap+3 +-0x1.8cccaap+5 +0x1.a1847ap+2 +0x1.61b9fap+4 +-0x1.593af2p+2 +-0x1.6fcb36p+3 +-0x1.c8bb9cp+4 +0x1.55402ep-2 +-0x1.7758f8p+3 +-0x1.129ed6p+3 +0x1.47b15cp+2 +0x1.c37c38p+0 +-0x1.55e59cp+3 +0x1.15ab24p+2 +-0x1.5efb3p+4 +-0x1.c82246p+4 +-0x1.1ec106p+3 +-0x1.632d52p+4 +-0x1.3b380ep+1 +-0x1.d06a62p+4 +-0x1.648c7ep+5 +-0x1.e0c74ap+2 +0x1.3b45c2p+4 +0x1.9ac134p+4 +0x1.821b66p+2 +0x1.49d4a4p+0 +-0x1.9536fep+1 +-0x1.e45f7p+3 +0x1.f42e02p-1 +-0x1.1447c8p+2 +-0x1.3814cap+3 +-0x1.2a15c8p+1 +-0x1.db96f4p+3 +0x1.b7e8d8p+3 +0x1.31f092p+3 +-0x1.23d39ap+4 +0x1.8eb37cp+1 +-0x1.d6e588p+3 +-0x1.51e8dp+2 +-0x1.076dp+4 +-0x1.5ce54p+2 +-0x1.03dbfcp+3 +0x1.02c32cp+4 +0x1.2900dep+3 +-0x1.0e4a12p+2 +-0x1.5d3804p+4 +0x1.7b1186p+4 +0x1.ff5246p+1 +0x1.0e03a4p+5 +-0x1.76a414p+3 +-0x1.1fffa4p+0 +0x1.9caea4p+2 +-0x1.793d42p+0 +0x1.5b0824p+1 +0x1.254968p+1 +0x1.eb12bp+4 +0x1.fe8536p+1 +0x1.b1e56ap+4 +0x1.345306p+1 +0x1.307c96p+4 +0x1.4d5cbap+3 +-0x1.b1937cp+1 +0x1.a68d06p+2 +0x1.63840ep-2 +0x1.55b3e6p-1 +-0x1.1aa44ep+3 +-0x1.b0bd84p+3 +-0x1.f054c2p-1 +-0x1.81014cp+4 +-0x1.94effap+1 +0x1.d0a074p+1 +0x1.41625cp-5 +-0x1.40f226p+3 +0x1.68f226p+2 +-0x1.17690ep+4 +-0x1.75fa5ep+3 +0x1.295642p+1 +0x1.988104p+2 +0x1.2b01b2p+4 +-0x1.0f4d72p+0 +-0x1.4b462p+3 +0x1.9e7c32p+4 +-0x1.a6f89ep+3 +0x1.f2082cp+0 +-0x1.dd839ap+3 +0x1.7fca08p+3 +-0x1.c3c488p+3 +-0x1.6e8538p+4 +0x1.d8ed1cp+0 +-0x1.ebd99ep+2 +0x1.fd966p+3 +-0x1.206c2p+4 +0x1.aee0d6p+4 +-0x1.35d52ep+1 +0x1.13223ap+1 +0x1.743898p+2 +-0x1.4bae88p+3 +-0x1.b15ab2p+3 +-0x1.9ce3b2p+4 +0x1.cef452p+4 +-0x1.f17318p+4 +-0x1.e58d0cp-2 +0x1.808becp+3 +0x1.07f0bp+4 +0x1.325fd4p+3 +-0x1.9faafap+0 +0x1.6104f8p+5 +-0x1.7807e4p+4 +0x1.297574p+2 +0x1.3b4588p+3 +0x1.c568a6p+3 +0x1.6caddep+5 +-0x1.69894ep+2 +-0x1.373078p+1 +0x1.135deep+3 +0x1.e1285ap+1 +0x1.4b80b4p+4 +0x1.2811c4p+3 +-0x1.2e4194p+2 +-0x1.ab8ce8p+1 +0x1.9d7e14p+4 +0x1.3737cep+4 +-0x1.63ffeep+3 +0x1.8eb144p-1 +-0x1.d9b722p+1 +0x1.022adcp+0 +0x1.9790e4p+0 +0x1.18ec28p+0 +-0x1.6afe7p+5 +0x1.147d5cp+3 +-0x1.81f8cep+3 +0x1.0f3818p+3 +-0x1.c6ff78p+3 +-0x1.66360cp+3 +-0x1.6791dcp+4 +-0x1.77c6ep+2 +0x1.45d5f6p+4 +0x1.268336p+4 +0x1.3a13ap+3 +-0x1.780cfp+2 +0x1.6128b2p+3 +-0x1.439a56p+4 +0x1.50b1dp+3 +-0x1.823d74p+3 +0x1.0ae6ecp+3 +-0x1.51968p+2 +0x1.c6691ap+2 +0x1.e0a29p+4 +0x1.8cdcd4p-2 +0x1.ec9936p+3 +0x1.5317a2p+2 +0x1.51d70cp+1 +-0x1.50ba0ap+3 +0x1.2df202p+1 +-0x1.9996fap+3 +-0x1.61d00ep+4 +-0x1.3a3a26p+3 +0x1.2f54b2p+2 +-0x1.b4951cp+2 +0x1.220f6p+3 +0x1.09e96p+3 +-0x1.b1165ap+3 +-0x1.be5766p+4 +-0x1.411e54p+0 +0x1.32640ap+4 +-0x1.9d3da6p+1 +-0x1.26eaa4p+3 +-0x1.9657b2p+2 +0x1.25d18p+3 +0x1.faee42p+4 +0x1.57c286p-3 +0x1.9ed352p+2 +0x1.c24bc2p+3 +-0x1.c46c08p+3 +0x1.058fa8p+4 +0x1.074894p+3 +-0x1.2cb5d2p+4 +-0x1.7b022cp+4 +0x1.d971cep+3 +-0x1.8ec86ap+0 +-0x1.f72738p+1 +0x1.219fdep+2 +-0x1.565374p+5 +-0x1.5ca45ep-4 +-0x1.3c9b4ap+2 +0x1.0adc7p+4 +0x1.c5a68p+1 +0x1.581378p+1 +0x1.d9d092p+3 +0x1.7d3d04p+2 +-0x1.479fcep+4 +0x1.ef3f7ap+2 +0x1.52dc56p+3 +0x1.152d96p+3 +-0x1.b93628p+3 +0x1.6f1702p+2 +-0x1.d76088p+4 +0x1.396904p+5 +-0x1.bb8d38p+2 +-0x1.bea7cap+1 +-0x1.56dbccp+2 +0x1.8d2dfap-2 +0x1.9e0406p-1 +0x1.f80584p+2 +-0x1.54278cp+4 +0x1.37b24cp+2 +0x1.f77b1ap-2 +-0x1.7c43b4p-1 +0x1.10f4e2p+2 +-0x1.84c3d4p+2 +0x1.6536d4p+3 +-0x1.45c85ep+4 +0x1.8d0b58p+2 +-0x1.7bfe86p+4 +-0x1.028574p+4 +-0x1.266d42p-2 +-0x1.6f1e52p+4 +-0x1.b57398p+4 +-0x1.069008p+4 +0x1.951438p+4 +0x1.54640ep+3 +0x1.a2e70ep+0 +-0x1.4584eap+1 +0x1.598412p+3 +-0x1.3508e2p+4 +-0x1.df8c74p+4 +-0x1.d401bcp+3 +-0x1.20ff5ep+2 +0x1.ade08ep+2 +0x1.fb9154p+0 +0x1.a816fp+3 +-0x1.90a1d2p-7 +-0x1.6b755ap+3 +-0x1.54b09ap+3 +-0x1.53687ep+4 +0x1.90e46ap+4 +0x1.1c64acp+1 +-0x1.1cd93cp+2 +-0x1.d6676ep+2 +-0x1.b3376p+3 +-0x1.397f52p+2 +0x1.204f1ep+4 +-0x1.9d15f8p+4 +0x1.86b446p+2 +-0x1.3a978cp+4 +-0x1.299fc8p+4 +-0x1.a744b8p-1 +-0x1.bb2884p+2 +-0x1.23832p-1 +0x1.aabbf2p+3 +-0x1.a112b6p+3 +0x1.3d09dcp+4 +0x1.2cb5e2p+4 +0x1.3cd7acp+2 +-0x1.f1399p+3 +0x1.88f07ep+4 +0x1.93179ep+0 +0x1.2bfc96p+5 +0x1.954fb4p-1 +0x1.335b32p+4 +-0x1.e24d82p+3 +-0x1.ebc294p+4 +0x1.4d8134p+3 +-0x1.e10c4p+2 +-0x1.62805p+3 +0x1.0f558ep+4 +-0x1.407afcp+4 +-0x1.c12b48p+2 +-0x1.7ef92ap+0 +-0x1.41cc22p+2 +-0x1.b4dc08p+3 +-0x1.b8c92ep+3 +-0x1.a4756cp+2 +-0x1.d7ea62p+4 +0x1.a45014p+0 +-0x1.3949p+0 +-0x1.a047f6p+0 +0x1.b57efp+3 +0x1.6e593ep+3 +-0x1.b3b2e6p+3 +0x1.20b848p+1 +-0x1.a7a9a2p+4 +-0x1.3edfeap+1 +0x1.04df46p+4 +-0x1.85c872p+1 +0x1.987aa6p+4 +-0x1.8d8ff4p+0 +-0x1.7bbe5p+2 +0x1.09b6ep+3 +0x1.6540eep+3 +0x1.db5eb4p+0 +0x1.a75b24p+3 +-0x1.6139c4p+0 +-0x1.4f44bp+1 +-0x1.c87cf8p+4 +-0x1.625e9p+4 +-0x1.b994fap+3 +-0x1.d21a74p+4 +0x1.fb8fbcp+4 +0x1.4e0292p+3 +0x1.7bec5ap+3 +-0x1.22ade6p+4 +0x1.3ff0fcp+3 +0x1.acf446p+1 +-0x1.081e4cp+3 +-0x1.af18d2p+0 +-0x1.816382p+2 +-0x1.dbf7e6p+4 +-0x1.109eap+4 +0x1.2f89c6p+2 +-0x1.0525cep+1 +-0x1.1527b6p+2 +0x1.b3de52p+3 +-0x1.730858p+2 +0x1.1b44d8p-1 +-0x1.6d8996p+4 +0x1.34fc5ap+3 +-0x1.8704c8p+4 +0x1.740644p+4 +-0x1.4e2aacp+3 +0x1.97bcacp-1 +0x1.624156p+4 +0x1.50d6fep+3 +0x1.471f7p+2 +0x1.016aep+1 +-0x1.6baefcp+3 +-0x1.21c30ap+3 +0x1.62072ap-2 +-0x1.39b198p+3 +0x1.7f04c2p+2 +-0x1.168386p+4 +-0x1.c9fbccp+4 +0x1.1635f4p+3 +0x1.3ddefp-1 +-0x1.1ee2cep-1 +-0x1.6899a6p+3 +0x1.dc1aa4p+1 +-0x1.b601c4p+1 +0x1.a84624p+2 +-0x1.33c518p+3 +0x1.a67986p+3 +0x1.0a3882p+4 +0x1.06a6ap+2 +0x1.6bf6eap+2 +-0x1.84d9fp+4 +-0x1.6cf124p+1 +0x1.dcbcep+4 +0x1.3536fp+4 +0x1.cdd5ap+2 +-0x1.bfefecp+3 +-0x1.618704p+3 +-0x1.17cefcp+2 +0x1.67adb2p+4 +0x1.3a3954p+3 +-0x1.d038d4p-1 +0x1.36d7a8p+2 +0x1.e318b2p+0 +-0x1.3e982cp+4 +0x1.471aa2p+4 +-0x1.178b0ep+4 +-0x1.b5c338p+3 +-0x1.a52046p+3 +-0x1.d018ccp-1 +0x1.0becd4p+1 +0x1.e26ee4p+4 +0x1.1156cep+2 +0x1.a0a6aap+4 +-0x1.267fe2p+3 +-0x1.1988fap+2 +0x1.0b474ep+3 +-0x1.8fe198p+2 +-0x1.5fdfdap+4 +-0x1.943708p-2 +0x1.8d0838p+2 +0x1.8b693ap+4 +0x1.fd35a4p+4 +0x1.20e762p+0 +0x1.1338d4p+5 +-0x1.ea5206p+3 +-0x1.cd9f28p+2 +-0x1.1da77p+5 +-0x1.123ce4p+4 +-0x1.07274p+3 +0x1.c65318p-1 +-0x1.39b1fp+3 +-0x1.153f22p+5 +0x1.8dd608p+4 +0x1.c91194p+2 +-0x1.06ef9ep+1 +-0x1.f7e71ep-1 +-0x1.2bcc98p+2 +-0x1.d372aap+2 +-0x1.263fecp+4 +-0x1.d0ae2ap+3 +0x1.bf14b6p-1 +0x1.d08ea4p+0 +-0x1.d899f6p+4 +-0x1.c8a996p+3 +-0x1.5587dcp+5 +-0x1.c510eep+3 +-0x1.18b784p+4 +0x1.71cc02p+3 +-0x1.64f178p+3 +0x1.23e878p+3 +-0x1.aec4fap+1 +0x1.30e846p+4 +-0x1.f9dee6p-2 +-0x1.24ba82p+1 +-0x1.9fe796p+2 +0x1.af099ep+4 +-0x1.43231ap+2 +0x1.15808p+4 +-0x1.dd8294p+3 +-0x1.29bfc2p-1 +0x1.5fafe6p+3 +-0x1.22b358p+3 +0x1.6651c6p-3 +0x1.e17a66p+3 +0x1.d3c68cp+2 +-0x1.56483ep+0 +0x1.f538f4p+1 +-0x1.7fb88ep+4 +0x1.74596ap+1 +0x1.90a7c4p+4 +-0x1.74067ap+1 +0x1.3902e8p+4 +0x1.359ad8p+2 +-0x1.14bb78p+5 +-0x1.d2bp+3 +0x1.f9f7f8p+2 +0x1.f4b9e2p+0 +0x1.18af72p+4 +0x1.2336b2p+5 +-0x1.aa7a9ep+3 +0x1.23d8f2p+4 +0x1.066028p+3 +-0x1.2ab22p+1 +0x1.0787d6p+4 +-0x1.9b00fep+0 +0x1.fe98dep+2 +0x1.5ce4dap+4 +0x1.54b8p+2 +0x1.7631f2p+3 +-0x1.56d6cep+4 +0x1.e93e02p+4 +-0x1.508c64p+3 +-0x1.526f5ep-2 +-0x1.c205f2p+4 +-0x1.4665ecp+5 +-0x1.95aab2p+2 +-0x1.0cb91ep+4 +0x1.517e3p+2 +-0x1.bf61d2p+3 +-0x1.457ed6p+4 +-0x1.37c8c2p+3 +-0x1.002cb2p+4 +-0x1.07c27ap+3 +0x1.274168p+3 +0x1.38f41ep+4 +-0x1.81ce3ap+3 +-0x1.d73dd2p-4 +0x1.1be246p+4 +0x1.2488c6p+4 +0x1.231018p+3 +0x1.23500ep+2 +0x1.19c6bep+2 +-0x1.5e77f6p+5 +-0x1.a6520ep+2 +-0x1.fad8dcp+1 +-0x1.520906p+2 +-0x1.77399ap+2 +0x1.14293cp+3 +0x1.50f4ap+3 +0x1.365732p+4 +-0x1.3469c8p-3 +0x1.b1cb36p+2 +0x1.0c8066p+2 +0x1.53f73p+3 +-0x1.ba6bf4p+4 +-0x1.142e22p+0 +0x1.240138p+2 +0x1.2b6fa4p-2 +-0x1.5a932ep+2 +0x1.ba4fb4p+3 +-0x1.223d3p+5 +-0x1.27b8aep+1 +-0x1.a8e546p+0 +0x1.01d11p+3 +-0x1.93f7d2p-2 +0x1.7fcddep+3 +0x1.9a1d8ep+4 +0x1.036464p+4 +0x1.b0e7p+1 +0x1.02db3p+5 +0x1.6b8aap+3 +0x1.2fa006p+4 +-0x1.d82328p+3 +-0x1.9d410ap+4 +-0x1.de77eap-1 +-0x1.21fbd8p+2 +-0x1.cb4adcp+0 +-0x1.3f3ebcp+4 +0x1.2cd10cp+4 +-0x1.6f6f24p-1 +0x1.ed8106p+1 +-0x1.895068p+3 +0x1.00c424p+4 +-0x1.6b352ep+1 +-0x1.08fb74p+4 +0x1.26b1b2p+4 +0x1.5f5b98p+2 +0x1.5767d4p+4 +0x1.276b56p+4 +0x1.2bc056p+4 +0x1.054068p+4 +0x1.e8fb5ep+0 +-0x1.7950f2p+2 +0x1.61c78ep+4 +-0x1.3da23ap+4 +0x1.b309d2p+4 +0x1.b3d51ap+0 +0x1.c7101cp+2 +-0x1.17cc8p+5 +0x1.5e9e68p+2 +-0x1.7b88bap+4 +-0x1.bc3d1p+2 +0x1.fe1772p+4 +-0x1.454e04p+0 +-0x1.203ea8p-1 +0x1.0b63p+3 +0x1.0a3696p+2 +0x1.b69cbep-1 +0x1.e4a2ap+2 +-0x1.fc1de8p+0 +0x1.9c5f0cp+3 +-0x1.c662e4p+1 +0x1.cb775ap+2 +-0x1.61d9a4p+2 +-0x1.1450cep+4 +-0x1.e77354p+3 +-0x1.a191c6p+1 +-0x1.3b096ap+4 +-0x1.573978p+0 +0x1.974ac4p-1 +-0x1.19e942p+4 +-0x1.60de18p+2 +-0x1.787726p+2 +-0x1.fea152p-1 +-0x1.c22308p+1 +0x1.288e8p+2 +-0x1.5b0a62p+0 +-0x1.e322c8p+2 +-0x1.11322ep+3 +-0x1.34b88ap+4 +0x1.52f128p+3 +0x1.119c1p+4 +-0x1.69e2d2p-3 +0x1.1feb9ap+4 +0x1.61fedap+2 +-0x1.8f798ap+4 +-0x1.dfbf18p-3 +0x1.969822p+2 +-0x1.4b524ep+1 +-0x1.321ac4p-2 +-0x1.6ebfaep+4 +0x1.e1d78cp+4 +-0x1.1208eep+3 +0x1.50da0ap+3 +0x1.095648p+4 +0x1.d7c7b6p+4 +-0x1.d0964cp+3 +0x1.2e6518p+3 +-0x1.c0bdc4p+3 +0x1.1695dp+2 +0x1.0454b4p+3 +0x1.4ccceap+2 +-0x1.1db5fap+0 +-0x1.786a46p+4 +0x1.990da6p+3 +-0x1.dac65cp-1 +0x1.4f6fe8p+3 +-0x1.d20a7ap+3 +-0x1.99dd6p+2 +0x1.e5340cp+3 +0x1.a5b96ap+4 +-0x1.928d3cp+2 +0x1.2e3152p+2 +0x1.513136p+3 +0x1.0222cap+3 +-0x1.45b538p+1 +-0x1.ec6732p+1 +0x1.0523dep+3 +-0x1.3a3f7cp+4 +0x1.5ebaf6p+4 +0x1.224768p+4 +-0x1.1e90c4p+5 +-0x1.fedbaap+3 +-0x1.02282p+5 +-0x1.06399p+3 +0x1.ab809ap+2 +-0x1.e2fa34p+4 +-0x1.000ccp+2 +-0x1.16afe8p+4 +0x1.5d829ap+3 +-0x1.582e24p+4 +-0x1.65ffe8p+2 +-0x1.07b006p+4 +-0x1.8a79aap+4 +-0x1.362ff8p+4 +0x1.5a2a56p+3 +-0x1.ad62d6p+2 +0x1.43efdap+0 +-0x1.121deap+2 +-0x1.68e8ecp+2 +-0x1.4737a8p+3 +0x1.41eb8ep+2 +0x1.d3725p+1 +-0x1.d01bfap+3 +-0x1.d040bp+3 +-0x1.1a8154p+4 +-0x1.23d4f4p+5 +0x1.83048p+2 +0x1.8733f8p+4 +0x1.bc26f6p+3 +0x1.86383ep+1 +-0x1.c049b6p-2 +-0x1.fec492p+2 +0x1.7f7968p+4 +-0x1.1dd896p+3 +-0x1.a9ae64p+3 +-0x1.8077dep+4 +-0x1.1e7b08p+5 +0x1.235396p+3 +-0x1.c87d1p+0 +-0x1.d320dap+2 +0x1.03b144p+3 +0x1.7a3848p+2 +0x1.242e1ep+4 +0x1.b7936ap+2 +-0x1.4f848cp+3 +-0x1.0e20dcp+4 +-0x1.c14bcp+4 +-0x1.efd63p+0 +0x1.a4476p+4 +0x1.d225c2p+1 +0x1.21c166p+2 +0x1.235af8p+3 +-0x1.1b58bap+3 +-0x1.58b5e6p+2 +0x1.dc72e4p+4 +-0x1.de7f64p+3 +0x1.76a74ep+1 +-0x1.b2a272p+2 +-0x1.d78d2ap+2 +-0x1.d3a276p+3 +0x1.5d8ba8p+0 +0x1.2127e4p+2 +-0x1.22ebdcp+4 +0x1.78e76p+2 +-0x1.991118p+3 +0x1.0855c4p+4 +-0x1.36a24ap+3 +-0x1.2510e8p+4 +-0x1.0d06dep+2 +-0x1.cade28p+1 +0x1.afd89cp+1 +-0x1.29809ep+3 +0x1.aaf702p+4 +0x1.9dcb1p+0 +0x1.5f3cc8p+3 +0x1.4ba3a6p+4 +-0x1.6d9b24p+0 +0x1.a3ea74p+3 +0x1.207bc6p+1 +-0x1.fe6d08p+3 +0x1.1a6974p+3 +0x1.d70e4ap+3 +0x1.6f4598p+4 +-0x1.0c62a6p+2 +0x1.d820cap+4 +-0x1.71efdcp+3 +-0x1.30841ap+3 +0x1.70f534p+2 +-0x1.4f45fap+1 +0x1.d6ae62p+4 +0x1.f196bcp+3 +-0x1.41d18ep+5 +-0x1.762a84p+4 +0x1.d63c0ep+3 +0x1.f22036p+4 +-0x1.f1afc8p+3 +-0x1.2c7664p-1 +0x1.a217aap+4 +-0x1.07766ep+2 +0x1.7d3ed6p+3 +-0x1.e87ddap+3 +-0x1.9ed7a2p+3 +-0x1.5be994p+4 +-0x1.9df17ep+1 +-0x1.4d8beap+4 +-0x1.57acp+2 +-0x1.cd544cp+2 +-0x1.297dfap+4 +-0x1.72ed2p+3 +0x1.351bfep+1 +-0x1.7a6164p+3 +0x1.524c22p+3 +-0x1.6e8b3cp-1 +0x1.1f939p+3 +0x1.21e258p+2 +0x1.7f5a82p+3 +-0x1.0326ep+3 +0x1.3dbaa2p+2 +0x1.c7e528p+1 +0x1.5e1d8ep-3 +-0x1.d7ebf6p+3 +0x1.9097b6p+3 +0x1.37bfb2p-1 +-0x1.fd2e5p+0 +0x1.34111cp+4 +-0x1.320bb8p+3 +0x1.c3d3cep+1 +0x1.d68baep-2 +0x1.d5fbdap+3 +0x1.774752p+4 +-0x1.a3adc4p+4 +-0x1.c7e54ap+2 +-0x1.1872bap+2 +-0x1.e39d88p+3 +0x1.b7553p+4 +-0x1.db9718p+1 +-0x1.7e4a4ap+2 +-0x1.ca0c48p+2 +-0x1.140942p+2 +-0x1.b89a4ep+4 +-0x1.047d92p+0 +-0x1.1fca22p+4 +0x1.2519e4p+1 +0x1.0ea7cp+4 +0x1.c6c844p+3 +0x1.603424p+4 +-0x1.a5ffd2p+2 +0x1.a39c7p+1 +0x1.125b5cp+4 +0x1.90738cp+2 +0x1.d921bp+4 +-0x1.b15416p+4 +0x1.44313ap+4 +0x1.f07062p+4 +-0x1.46944p+2 +0x1.dbaea8p+1 +-0x1.6c8e2p+4 +0x1.597e7cp+4 +0x1.36efb8p+2 +-0x1.7b4e54p+1 +-0x1.47ffa4p+4 +0x1.8bc7b4p+2 +0x1.260286p+3 +0x1.686e96p+4 +0x1.710bd6p+4 +0x1.55e84p+4 +-0x1.43ffa8p+2 +-0x1.69b8c8p+3 +0x1.c0c0d8p+4 +0x1.eac24ap+3 +0x1.e064cp+4 +-0x1.c5a6f6p+4 +0x1.7d090ap+5 +-0x1.51054cp+1 +0x1.e95248p+1 +0x1.064c9p+5 +0x1.0e768ap+4 +0x1.fcd304p+3 +-0x1.ee4138p-1 +-0x1.6fa7bcp+4 +0x1.1131d4p+1 +0x1.84b6fp+4 +0x1.82d034p+5 +0x1.307076p+3 +0x1.d6dd86p+2 +0x1.b0c424p+2 +0x1.6ecb46p+0 +0x1.5472dp+2 +-0x1.2c76e4p+0 +-0x1.d8f29ap+4 +-0x1.de8bb6p+3 +-0x1.e2eebp-1 +0x1.88639ap+2 +0x1.004798p+4 +0x1.11537p+1 +-0x1.58cef2p+1 +-0x1.dc8958p+3 +0x1.dc3e84p+2 +-0x1.fc0366p+2 +0x1.aa6136p+4 +-0x1.99a04cp+3 +0x1.b0839ep+4 +0x1.d13378p+3 +0x1.2ea186p+2 +-0x1.443c98p+3 +-0x1.eeb87ep+3 +0x1.38c446p+4 +-0x1.710f7cp+4 +-0x1.07b1ap+4 +-0x1.c75e14p+3 +-0x1.3ddf74p+2 +0x1.27093p+4 +-0x1.0833d4p+2 +-0x1.2cb6bap+0 +0x1.6bd3ep+4 +-0x1.17db0ap+4 +-0x1.fc4a6ap+0 +0x1.87f732p+2 +0x1.40fc56p+2 +-0x1.cc7f4ep+3 +-0x1.792ec6p+2 +-0x1.44a492p+5 +-0x1.3827d4p+4 +-0x1.41cca4p+5 +0x1.613802p+2 +0x1.d9b438p+3 +-0x1.b7982ep+0 +-0x1.dd1504p+1 +0x1.dfc3ccp+3 +0x1.1f3afep+1 +-0x1.0cc97cp+3 +-0x1.201c3ep+3 +0x1.df82bp+3 +0x1.395d76p+1 +-0x1.0b866ep+5 +-0x1.738d3p+4 +-0x1.0eeadep+4 +0x1.40cdccp+3 +-0x1.3c73dap+4 +-0x1.74ae48p+1 +0x1.d8275ap+3 +0x1.f22d48p+2 +0x1.1723e8p+5 +0x1.8f429p+2 +0x1.550ea2p+4 +-0x1.b1783p-2 +-0x1.061f08p+4 +-0x1.7ae9bap+1 +-0x1.1541c8p+0 +-0x1.ed3336p+1 +-0x1.a2b8ep+2 +0x1.46e11ep+0 +-0x1.e01f1cp+2 +0x1.c5b57p-3 +-0x1.39bbdap+1 +-0x1.a0c208p+4 +0x1.268d4cp+4 +0x1.8e2fbcp+3 +-0x1.6b14c4p+3 +0x1.8dc764p+3 +0x1.8779e6p+2 +-0x1.176c96p+3 +-0x1.25a544p+4 +-0x1.81eb7ap+3 +0x1.7b7cdap+2 +0x1.11e368p+1 +0x1.8ec7bp+1 +0x1.35e798p-1 +-0x1.b39648p+1 +0x1.827ddap+2 +-0x1.14a3cep+4 +-0x1.cb9414p+1 +-0x1.75eb8p+4 +0x1.24954cp+3 +0x1.f902dcp+2 +0x1.640cf2p+1 +-0x1.2f225p+4 +-0x1.02d94cp+4 +-0x1.9b7db8p+3 +0x1.68651ep+4 +0x1.f4797p+3 +-0x1.d1393ep+3 +0x1.c5dc9p+4 +0x1.bb6f32p+1 +-0x1.cd8996p+3 +-0x1.c73194p+3 +0x1.987076p+2 +-0x1.a68fcp+3 +-0x1.15e00cp+0 +-0x1.339fbep+4 +-0x1.413902p+2 +0x1.ce6222p+3 +0x1.970f02p+4 +0x1.8abadap+3 +-0x1.2c58f8p+2 +0x1.06a996p+4 +-0x1.98533ep+4 +-0x1.fe3dd4p+4 +-0x1.6021c8p+3 +-0x1.575738p+0 +-0x1.cfee4ap+2 +0x1.11638ep+2 +-0x1.fb4ad6p+2 +-0x1.0708c8p+2 +-0x1.00d2dap+2 +0x1.7fbfd8p+4 +0x1.5a65d8p+4 +-0x1.0b1734p+1 +-0x1.4915bcp-1 +0x1.6beb9cp+3 +0x1.57a912p+2 +-0x1.12d05p+1 +0x1.89ea2ap+2 +-0x1.5632cep+2 +-0x1.d4c06cp+3 +-0x1.4f1954p+2 +0x1.3db73p+3 +-0x1.d8db14p+2 +0x1.98df14p+3 +0x1.14ed3ap+2 +0x1.152fd8p+2 +-0x1.eb0c42p+1 +0x1.c34eeap+3 +0x1.f84a2p+4 +0x1.43f32p+3 +0x1.38668cp+4 +-0x1.0fcddap+3 +-0x1.9f96a6p+1 +0x1.e85928p+2 +-0x1.361cep+5 +-0x1.8c83cep+4 +0x1.1c76acp-1 +0x1.5b1636p+3 +0x1.5c5494p+3 +0x1.969e8ap-1 +0x1.2440fap+5 +0x1.31fb48p+4 +0x1.2d1b84p+2 +-0x1.225302p+3 +-0x1.342994p+4 +-0x1.71951ep+2 +0x1.29b1a2p+4 +-0x1.cff758p+4 +0x1.2a3a82p+4 +0x1.f4252ap+0 +0x1.c8b542p+3 +0x1.83bb48p+1 +-0x1.4c22ep+0 +-0x1.0fdb2ep+5 +-0x1.35116p+4 +-0x1.b63122p+2 +0x1.a740bp+2 +0x1.094508p+3 +-0x1.3d0b14p+2 +-0x1.808f84p+4 +-0x1.b7e28ap+2 +-0x1.3c6e26p+4 +0x1.e87adep+3 +0x1.3902b2p+1 +-0x1.76edd4p+0 +-0x1.cc1838p-1 +-0x1.8b4aap+2 +-0x1.4a916p+3 +-0x1.c4d7e2p-2 +-0x1.9fb55ep+3 +0x1.0cca48p+3 +0x1.2bccaap+4 +0x1.0dc2f2p+2 +0x1.9a8406p+4 +0x1.a607cap+4 +-0x1.44bb7ep+4 +0x1.f3e262p+3 +-0x1.15187p+4 +-0x1.5946e6p+4 +-0x1.d8f4f8p+2 +-0x1.bc8404p+3 +0x1.c53ab4p-1 +0x1.191f9ap+4 +0x1.acbcecp+3 +-0x1.4c2d72p+3 +-0x1.02ea12p+4 +0x1.20889ep+2 +0x1.8c2f3p+4 +0x1.10b322p+0 +-0x1.71e27ap+4 +-0x1.2743a2p+3 +0x1.4c16c2p+2 +-0x1.035d74p-1 +-0x1.596772p+2 +-0x1.044af2p+4 +0x1.57275ap+3 +0x1.0b9a4cp+5 +0x1.c2c14ap+2 +-0x1.18b6fp+3 +0x1.aa7be8p+1 +0x1.0e7168p+4 +-0x1.b5a3dcp+1 +-0x1.c72a6ap+2 +-0x1.cb8108p+0 +-0x1.47dbd4p+4 +-0x1.df37b2p+3 +-0x1.430244p+4 +0x1.f6648p+4 +0x1.d75654p+3 +0x1.19a41ap+3 +-0x1.ac1622p+2 +-0x1.901e2p+3 +0x1.091688p+3 +-0x1.4d340ep-2 +-0x1.6e9738p+3 +0x1.66dc78p+4 +-0x1.76e404p+1 +-0x1.a8aa78p-3 +-0x1.aee52cp+4 +0x1.234e8ap+1 +0x1.367622p+1 +-0x1.78192p+0 +0x1.2401c8p+4 +0x1.4296cep+3 +0x1.b9051ep+4 +0x1.6b220ep+3 +-0x1.a36448p+0 +0x1.aed15ep+4 +0x1.144ca4p+5 +0x1.67aa5p+4 +-0x1.48a92p+4 +0x1.9a61f2p+1 +-0x1.131b2cp+4 +0x1.eaf848p+2 +-0x1.cc9e02p+2 +-0x1.a0321ap+3 +0x1.616dbp+3 +0x1.2ed1fcp+2 +0x1.5cebfcp-3 +-0x1.9f96e8p+2 +-0x1.0ef2a6p+4 +-0x1.6462b4p+1 +-0x1.d53832p+3 +0x1.b8dd7p+2 +0x1.4874bap+2 +-0x1.ec97bap+4 +-0x1.53ef34p+3 +-0x1.07fbaap+4 +-0x1.d5c394p+2 +-0x1.448fe4p+5 +0x1.094c28p+3 +0x1.31663ep+4 +-0x1.cf8768p+3 +0x1.3509dp+1 +0x1.8dabe2p+2 +0x1.89563ep+2 +0x1.41e1ccp+2 +-0x1.bb2d1cp+3 +0x1.1c840ep+4 +0x1.bc5d9p+4 +0x1.36b89cp+3 +0x1.0924e6p+0 +-0x1.88f8a4p+4 +0x1.033bdcp+4 +0x1.710218p+3 +-0x1.3d096ap-2 +0x1.3473c8p+4 +-0x1.e31a32p+3 +0x1.efcb56p+3 +0x1.a506aep+1 +-0x1.711fe8p-1 +-0x1.144e54p+4 +-0x1.821f6ap+2 +-0x1.facc3ep+0 +-0x1.8d14p+5 +-0x1.69e3aep+2 +0x1.4818c4p+3 +-0x1.40af88p+4 +0x1.74a9b4p+4 +-0x1.03bd38p+4 +0x1.6e1a9p+0 +0x1.702f9ep+3 +-0x1.7bd9e6p+4 +-0x1.a28782p+3 +-0x1.6a13d2p+3 +0x1.bf6546p+1 +0x1.0073b4p+0 +-0x1.deccb4p+3 +0x1.b97cd6p+4 +-0x1.e8595ap+4 +-0x1.e8608ap+3 +0x1.29b278p+2 +0x1.0139p-5 +0x1.0c8efep+0 +0x1.8abba2p+3 +-0x1.701154p+2 +0x1.11c3p+3 +-0x1.fcebaap+3 +0x1.b7819ap+1 +0x1.c4abcep+3 +0x1.da5bc2p-1 +-0x1.625d3p+2 +-0x1.4d1642p+5 +-0x1.6e78e8p+4 +0x1.ff57b4p+1 +-0x1.732f8p+4 +0x1.c60c8ap+4 +-0x1.6c0f72p-2 +0x1.6c6fccp+3 +-0x1.8770acp+4 +0x1.2e1f4p+3 +-0x1.8a5f1p-1 +-0x1.137b36p+0 +0x1.08318ep+3 +0x1.55dadp+3 +0x1.c697cap+3 +-0x1.7e14c4p+2 +0x1.c05afap+3 +0x1.de4a2p+1 +0x1.d456c4p+1 +0x1.8f5974p+3 +0x1.9e9302p+4 +0x1.27f39ap+4 +-0x1.1bbf7cp+3 +-0x1.be890cp+0 +0x1.a553d6p+3 +0x1.43939ep+3 +-0x1.4045e4p+4 +-0x1.35a0f6p+4 +-0x1.3422aap+3 +0x1.fa67b6p+4 +-0x1.3cc6fcp+4 +-0x1.78fa12p+3 +0x1.78175cp+2 +0x1.07b032p+5 +-0x1.39bc1cp+3 +0x1.7e1ecap+4 +-0x1.a8cdaap+3 +0x1.f5b0cap+3 +-0x1.e7061ap+3 +-0x1.323af2p+2 +0x1.8d033ap+3 +-0x1.a1a074p+3 +0x1.50cc42p+0 +-0x1.f56e5ep+3 +0x1.3859dap+3 +0x1.73203cp+3 +-0x1.8adde6p+3 +-0x1.d557aep+0 +0x1.36e46ep+1 +-0x1.35822ep+1 +0x1.27b778p-1 +-0x1.3d6d94p+3 +-0x1.11e906p+3 +-0x1.deaedep+4 +-0x1.6c2686p+2 +-0x1.751cb6p+2 +0x1.7e5a44p+3 +-0x1.a1a944p+3 +-0x1.631e76p+3 +-0x1.4974eap+1 +-0x1.610c3ap-1 +0x1.64f79cp+2 +0x1.ef4876p+2 +0x1.3bf078p+5 +0x1.1b3054p-1 +-0x1.0d3a5p+2 +0x1.017ee4p+5 +-0x1.208ccp+4 +-0x1.5f084ep+4 +-0x1.2bc952p+0 +0x1.79882cp+3 +0x1.f213b8p+3 +-0x1.a1dee8p-2 +0x1.398bap+2 +0x1.19695ep+4 +0x1.efefbap+1 +0x1.e030b8p+3 +0x1.b164eap+1 +0x1.adaf62p+4 +0x1.e9a2d2p+3 +-0x1.17544ap+4 +0x1.3276eap+0 +0x1.6d2016p+1 +-0x1.bd270ap+0 +0x1.51916p+1 +-0x1.8aadeap+2 +0x1.e4a268p+3 +-0x1.2988d8p+3 +-0x1.35c038p+3 +-0x1.3a1554p-5 +-0x1.2596bap+4 +0x1.5d799cp-2 +-0x1.d574c6p+0 +0x1.9e272ep+4 +-0x1.baca84p+3 +0x1.9f22e2p+2 +-0x1.c073cap+1 +0x1.1633b2p+3 +0x1.63fdep+2 +0x1.3bf4p+1 +-0x1.242928p+2 +0x1.b44f6p+3 +0x1.35ef8ep+3 +0x1.1f6824p+1 +0x1.01263ep+1 +0x1.43f43cp+4 +-0x1.272e42p+1 +0x1.cde266p+4 +-0x1.2759fcp+4 +0x1.53c2ap+3 +-0x1.3b002ap+3 +-0x1.a9d384p+3 +-0x1.c0ffa4p+4 +0x1.28be5ap+4 +0x1.dee24p+1 +0x1.00a382p+4 +-0x1.089956p+4 +0x1.0af8e2p+1 +0x1.1d9202p+1 +0x1.b4eabap+4 +-0x1.50679p+5 +-0x1.b0207ap+2 +0x1.15067ep+3 +0x1.33b2fep+4 +0x1.229d8ep+3 +-0x1.14bb16p+4 +0x1.06aa7ap+3 +0x1.b45904p+2 +0x1.715c2cp+4 +0x1.668408p+3 +0x1.f24d72p+1 +0x1.dbf50cp+4 +-0x1.938fbap+4 +-0x1.bbfd72p+0 +0x1.333e5ep+4 +0x1.05222ep+0 +0x1.8c6cd2p+4 +0x1.8f1b76p+2 +-0x1.02c5f6p+2 +-0x1.1713aap+1 +-0x1.a29ad4p+4 +-0x1.b6d618p+2 +-0x1.70b116p+1 +-0x1.d84738p+2 +-0x1.a232cp+0 +-0x1.3d48acp+0 +0x1.523a7ep+4 +0x1.e70aeep+2 +-0x1.5a1c98p+3 +-0x1.ed119p+3 +-0x1.792fd2p+1 +0x1.488072p+3 +-0x1.e435bep+2 +-0x1.e5248cp+3 +0x1.2ea91cp+3 +0x1.075236p+4 +-0x1.9fd766p-1 +0x1.d27774p+1 +0x1.a0de76p+4 +-0x1.779e1ap+3 +-0x1.9a63b2p+3 +0x1.4551cp+3 +-0x1.2bf0fp+0 +-0x1.ae0f78p+2 +0x1.ae5e88p+4 +0x1.34f0d2p+2 +0x1.69e272p+2 +0x1.2da5a4p+5 +0x1.a9cf96p+3 +-0x1.45019ep+0 +-0x1.554226p+0 +0x1.ce6a22p+3 +0x1.e60fc4p+1 +-0x1.ba4f24p+3 +0x1.bef6acp+2 +-0x1.f08f32p+1 +-0x1.827efp+2 +-0x1.814518p+3 +0x1.929f7cp+2 +-0x1.2e62cap+1 +-0x1.0b1e92p+4 +0x1.8b1da8p+2 +0x1.41a8c4p+3 +-0x1.c2ed34p+3 +0x1.23ff52p+4 +-0x1.797516p+3 +-0x1.8f914ep-1 +0x1.31814p+2 +-0x1.19f828p+1 +0x1.4f28e4p+4 +0x1.9f7bep+1 +-0x1.49859ap+1 +0x1.f24a98p+3 +-0x1.3785cp+3 +-0x1.28ddfp+4 +0x1.af2e4cp+3 +-0x1.bb9c34p+3 +-0x1.237384p+4 +0x1.216e94p+3 +-0x1.404f78p+1 +-0x1.d5f764p+3 +-0x1.6a54a4p+1 +-0x1.ea251ep+1 +0x1.e4d75cp+2 +-0x1.51d778p+4 +0x1.f0ffbep+1 +0x1.07cd9ap+2 +0x1.7291e8p+3 +-0x1.102f36p+3 +0x1.16fa72p+3 +-0x1.68cf94p+3 +0x1.bda476p+4 +-0x1.80b8e6p+4 +-0x1.044f2cp+4 +0x1.b76b66p+0 +-0x1.05859ap+4 +-0x1.51373ep-2 +0x1.0ccfep+1 +0x1.217ce6p+4 +0x1.5f8346p+2 +-0x1.4855b8p+4 +-0x1.c67156p+0 +0x1.f2919ep-3 +0x1.2a6246p+3 +0x1.caa2ecp+1 +-0x1.682f24p+3 +-0x1.d0d90ep+4 +0x1.904d8p+3 +-0x1.d9bc36p+3 +0x1.b609dp+3 +-0x1.9a9a14p+3 +0x1.2063c2p+1 +-0x1.ada57ep+3 +0x1.8fce24p+2 +0x1.ac55ep+3 +-0x1.0c3b9p+2 +0x1.a5e5b4p+2 +-0x1.0565e8p+3 +0x1.6da238p+1 +0x1.4975fcp+5 +-0x1.ff2f3cp+4 +0x1.bef44ap+4 +-0x1.8801d6p+0 +-0x1.cbb29ep+2 +0x1.09dc7p+3 +0x1.2eb9c4p+4 +0x1.619a86p-6 +-0x1.6ef242p+4 +-0x1.29526ap+0 +0x1.218a9p+4 +0x1.065246p+2 +-0x1.4bc35ap+4 +-0x1.503f56p+3 +-0x1.de0226p+3 +-0x1.7c16f2p+4 +0x1.be4304p+4 +0x1.a2e2c6p+4 +0x1.5f5178p+3 +-0x1.80f52p+3 +0x1.be8832p+4 +0x1.1e1ad8p+4 +0x1.88af12p+3 +0x1.56d51p+3 +0x1.2e8bcap+3 +0x1.7c2a16p+2 +-0x1.c3f246p+2 +0x1.4b1852p+4 +0x1.11083cp+4 +-0x1.7e2af4p+3 +-0x1.7da2eap+1 +0x1.506ffcp+1 +0x1.7ab5eap+1 +0x1.b77cacp+0 +0x1.7b3b4ep+4 +0x1.bbddc2p+3 +0x1.c509a2p+4 +0x1.183ab4p+2 +-0x1.2b1b38p+4 +0x1.826b8p+4 +0x1.88115p+3 +-0x1.242f7ap+2 +-0x1.4b33fap+1 +-0x1.3ff7b2p+4 +0x1.e5c146p+3 +-0x1.0452ccp-2 +0x1.c8557p+0 +-0x1.2fe8f8p+3 +0x1.4b188cp+3 +-0x1.02805ap+2 +0x1.81a3dp+4 +0x1.61605p+1 +-0x1.88b9b4p+2 +0x1.adbdep+3 +0x1.ef8b78p+1 +0x1.6f0586p+3 +0x1.d51d52p+1 +0x1.e0380ap+2 +-0x1.72ba7p+4 +0x1.ba9f12p-2 +-0x1.4730bap+5 +0x1.d2be6cp+2 +0x1.4dea36p+0 +-0x1.13802ep+4 +-0x1.1f41e4p+1 +-0x1.29929cp+2 +0x1.d3f8e6p+1 +-0x1.60ca4cp-1 +0x1.0ad204p+1 +-0x1.e96f94p+1 +-0x1.21e5d8p+3 +0x1.9867c6p+2 +-0x1.fea528p-4 +-0x1.93dc6ap+2 +-0x1.680cd2p+5 +0x1.21f1f2p+3 +-0x1.060a6ep+5 +-0x1.1ff164p+4 +0x1.4d1bf4p+1 +-0x1.0ccf4p+5 +0x1.12b196p+4 +-0x1.220a6p+2 +-0x1.5ef9ecp+2 +0x1.71cdb6p+3 +0x1.1b40f2p+4 +0x1.dae342p+1 +0x1.ceb356p+4 +0x1.028d0ap+3 +-0x1.0e4394p+1 +0x1.2a2bep+1 +0x1.d86p+1 +-0x1.e6a31ap+3 +-0x1.513df4p-1 +0x1.1e75dap+0 +-0x1.0d4c2p+4 +0x1.5dca4p+0 +-0x1.d37956p+3 +-0x1.a04d48p+0 +-0x1.04014cp+1 +0x1.658adp+2 +-0x1.0ff5d6p-2 +-0x1.cb30ccp-1 +-0x1.26c032p+4 +0x1.f0b8dp+0 +0x1.502734p+3 +0x1.687e12p+2 +-0x1.82955ep+1 +-0x1.f0a28ep+3 +-0x1.934f9p+2 +0x1.9f3cp+2 +0x1.104162p+3 +0x1.250e94p+5 +0x1.cbb8b2p+3 +-0x1.04dcf8p+3 +-0x1.39dd92p+2 +-0x1.69653ap+3 +-0x1.9e5b08p+4 +0x1.cf9e7ep+0 +-0x1.f509a8p+3 +0x1.e6fb88p+2 +-0x1.015c68p+4 +-0x1.4ef5c8p+4 +-0x1.d76b72p+4 +0x1.c56e2cp+4 +0x1.2fd78cp+3 +-0x1.53571ep+2 +0x1.1fc02cp+4 +0x1.b3d1aep-4 +0x1.7e911cp-1 +-0x1.deccf2p+3 +-0x1.f4a962p-2 +-0x1.a1bcc4p+2 +0x1.3e4dd6p+4 +0x1.32e094p+2 +0x1.b25072p+3 +-0x1.e1b734p+4 +0x1.36b69cp+4 +0x1.24780ep+4 +0x1.525898p-1 +-0x1.3612bcp+4 +-0x1.e53778p+1 +0x1.17896cp+4 +0x1.339628p+1 +-0x1.53c8cap+3 +0x1.ea6f96p+3 +0x1.b4e004p+2 +-0x1.e2af58p+4 +0x1.0533a6p+4 +0x1.f3a2bp+2 +0x1.a8aec6p+4 +-0x1.70f68p+3 +0x1.51f402p+3 +0x1.db0648p+0 +0x1.4e1964p+1 +0x1.a93094p+2 +-0x1.1026fep+3 +0x1.2b118p+0 +-0x1.1663b2p+2 +0x1.64f32ap+2 +0x1.76f538p+4 +-0x1.229edap-1 +-0x1.9d5422p+1 +0x1.663992p+2 +0x1.827424p+1 +0x1.56ef8ap+3 +-0x1.48c9fcp-7 +0x1.2c9096p+2 +0x1.f11c2ap+1 +-0x1.d30d84p+3 +0x1.7c24bp+3 +-0x1.a8496ap+3 +-0x1.8d426p+2 +0x1.2fee8ep+3 +0x1.2784b4p+3 +-0x1.fa3b2p+1 +0x1.5f32acp+2 +-0x1.d1bb1p+3 +-0x1.b9e65cp+1 +-0x1.50f468p+3 +-0x1.6dbe7p+1 +0x1.a46e98p+4 +0x1.4cde12p+4 +-0x1.e842a6p+3 +0x1.a07a38p+2 +0x1.021d6cp+4 +-0x1.07a6aap+2 +0x1.684072p+5 +0x1.5a13a4p+2 +0x1.e2f996p-1 +-0x1.5ffafep+2 +0x1.b56388p+1 +0x1.7d238p+0 +-0x1.61af1cp+3 +0x1.cfd7a6p-7 +0x1.24984ap+4 +-0x1.89074p+4 +-0x1.ab4148p+4 +-0x1.dfbe18p+0 +0x1.9308cp+1 +0x1.c58a08p+4 +0x1.b362b4p+2 +0x1.57be1p+0 +0x1.48fdc6p-2 +-0x1.020ca6p+5 +0x1.83ec8ap+3 +0x1.b2c478p+3 +-0x1.113a0ap+3 +-0x1.d382c8p+3 +0x1.7880f4p+2 +0x1.971a04p+4 +0x1.0fb78p+3 +-0x1.9719cap+1 +0x1.ea1f6ep+0 +0x1.32beaep+4 +-0x1.cf59e6p+3 +0x1.1b29dp+4 +-0x1.3a8dc8p+4 +-0x1.9329f8p+3 +-0x1.da33fap+1 +-0x1.6ef64cp+2 +0x1.a17302p-2 +-0x1.52cf36p+0 +0x1.081ab8p+2 +-0x1.a3029ep+4 +0x1.0dd4a2p+5 +0x1.bf8486p-3 +-0x1.365096p+1 +0x1.f8c28p+2 +0x1.2e34b2p+4 +0x1.76e0ccp+4 +0x1.7fc06cp+4 +-0x1.1fc044p+4 +-0x1.0ae6fcp+4 +-0x1.2c6562p+3 +-0x1.cc02a4p+3 +0x1.eed6e2p+4 +-0x1.95d15ap+4 +-0x1.c9bdbap+4 +-0x1.ddffdep+3 +0x1.059c14p+4 +-0x1.cd3fc2p+3 +0x1.6e093cp+3 +-0x1.4d1a16p+4 +0x1.fbe58cp+2 +0x1.bc4616p+2 +0x1.8efeaep+0 +-0x1.edf52cp+3 +-0x1.c75fdep+4 +-0x1.360ca4p+4 +-0x1.8316aap+2 +-0x1.d60076p-2 +0x1.21a4e2p+5 +0x1.dcda46p+3 +-0x1.59eddp-2 +0x1.4b4d1ap+1 +0x1.33462p+4 +-0x1.29ca76p+3 +-0x1.be1556p+3 +0x1.ea0cp+2 +-0x1.ce3404p+2 +0x1.1842aep+3 +-0x1.e1bb82p+3 +0x1.ea0ff4p-1 +0x1.923c72p+0 +-0x1.4884c2p+4 +0x1.152026p+5 +0x1.d299f4p+3 +0x1.0386c8p+5 +0x1.00ec54p+1 +-0x1.0a6d14p+3 +0x1.0269a4p+3 +0x1.563868p+3 +-0x1.b712cap+1 +0x1.1f2cd4p+1 +0x1.ed4bep+0 +-0x1.a29e18p-1 +-0x1.069dcp+4 +-0x1.050c8ap+3 +0x1.90271cp+4 +0x1.17cf9ap+3 +-0x1.917cap+2 +0x1.15f86p+5 +0x1.b87e36p+4 +0x1.7ae312p+2 +-0x1.c5c72cp+0 +-0x1.eb5c14p+2 +0x1.2db7cep+5 +0x1.917df8p+4 +0x1.0032d2p+4 +-0x1.c04d52p+1 +-0x1.658aacp+4 +-0x1.def7a4p+3 +0x1.0b94f2p+4 +-0x1.e29c2ep+4 +-0x1.3a92f6p+3 +-0x1.018406p+2 +-0x1.a1bb46p+3 +-0x1.cd19acp+2 +-0x1.48b60ep+2 +-0x1.bd3504p+1 +-0x1.c46618p+4 +0x1.bf977ep+1 +0x1.0e687cp+4 +-0x1.a5f17p+1 +-0x1.f0471p+3 +-0x1.49c53ap+3 +0x1.99798ep+1 +0x1.68d392p-1 +0x1.91aab6p+3 +-0x1.28062ap+4 +0x1.57518ap+1 +-0x1.2aefep+4 +-0x1.53a44ep+4 +0x1.234f74p+4 +0x1.970ccap-2 +0x1.539ccep+2 +0x1.1d375ep+5 +-0x1.0e1a0cp-2 +0x1.6b2458p+3 +0x1.8c942ep-1 +-0x1.67befp+3 +0x1.ba7dp+1 +0x1.6f2d8ap+2 +-0x1.4e682ep+3 +-0x1.866034p+0 +-0x1.a8b234p+3 +-0x1.5b18fp+4 +-0x1.43970cp+3 +0x1.2cbe72p-1 +-0x1.26b7cp+4 +0x1.194518p+2 +-0x1.d7ef26p+3 +0x1.6bd3bep+3 +0x1.2d60d6p+4 +0x1.4e2a48p+2 +-0x1.9bc726p+3 +0x1.6521f8p+4 +0x1.3246dcp+2 +-0x1.80003p+2 +-0x1.1678p+4 +-0x1.14856p+5 +0x1.54ed1cp+4 +-0x1.2eefa8p+2 +0x1.97c2d4p+2 +-0x1.142d7cp+4 +-0x1.796aaap+0 +0x1.2e135ap-4 +0x1.546bc4p+5 +-0x1.998eb2p+2 +0x1.25fa9p+3 +0x1.fc34f6p+3 +-0x1.6999cap+4 +0x1.52bfeep+2 +0x1.564f16p+3 +-0x1.aeebaap+2 +0x1.99268ap-1 +-0x1.ee66bp+2 +-0x1.1c6a18p+3 +0x1.435e7ep+0 +0x1.76cc2ep+5 +-0x1.83fc52p+2 +0x1.24474ap+2 +0x1.03605cp+3 +0x1.add1eap+0 +-0x1.12d562p+4 +-0x1.b48c3p+2 +0x1.6b3ae4p-2 +0x1.173f84p+5 +-0x1.e74044p+3 +0x1.67d708p+4 +0x1.46b33p+0 +-0x1.95dc2p-1 +-0x1.fb3326p+1 +-0x1.d185f6p+3 +0x1.7f29d6p+4 +0x1.404b72p+3 +-0x1.d55568p+3 +-0x1.6dfd1cp+4 +-0x1.ec906ep+3 +-0x1.685456p+3 +-0x1.fe44a2p+0 +-0x1.19b30ap-2 +-0x1.762efap+1 +0x1.d80ad8p+4 +-0x1.486074p-2 +0x1.0a8cf2p+4 +-0x1.216b44p+5 +-0x1.5c978cp-2 +0x1.823b3p+4 +0x1.1e684p+3 +-0x1.2f5176p+4 +-0x1.c4b98p+4 +0x1.4b06dcp+3 +0x1.9ac9d8p+4 +-0x1.74566p+2 +-0x1.6a96ep+4 +-0x1.b56508p+4 +0x1.03ba24p+3 +-0x1.00f62cp+4 +-0x1.290906p+4 +0x1.200272p-1 +0x1.02cdd8p+4 +-0x1.c1df0ap+2 +0x1.62082cp+5 +-0x1.38363p+5 +0x1.05e18cp+4 +0x1.b4f518p+3 +0x1.5d5d26p+3 +-0x1.1bd404p+4 +0x1.1ed7d2p+4 +-0x1.74f8e2p+1 +0x1.5e7eeap+2 +0x1.86cc4ap+4 +0x1.0faedep+4 +0x1.ff5698p+4 +-0x1.94f97ap+2 +0x1.e3ca74p+2 +-0x1.4e0fbcp+3 +0x1.4f04d2p+4 +0x1.118368p+4 +0x1.1cf136p+3 +0x1.c262bcp+3 +0x1.0486b6p+1 +0x1.c7e2aep+4 +0x1.0ea45cp+4 +0x1.70b79cp+3 +-0x1.809facp+4 +0x1.073ac8p+5 +-0x1.00e0b4p+5 +0x1.18653cp+3 +-0x1.2914dcp+3 +0x1.2aca2p+0 +0x1.a48fbp+0 +-0x1.b7f86cp+3 +0x1.cf689cp+2 +-0x1.4df39p+3 +0x1.3d9148p+3 +0x1.04d87p+1 +0x1.183f9p+4 +0x1.131824p+3 +-0x1.cae47cp+4 +-0x1.72a1c2p+3 +-0x1.3d1ec8p-3 +-0x1.051fbcp+4 +-0x1.dd8fcap+1 +0x1.ac2c58p+4 +0x1.cf0ef6p+1 +0x1.2a15bcp+4 +-0x1.6458bap+2 +0x1.3dfbap+4 +0x1.acce48p+2 +-0x1.4a6c2ap+3 +0x1.0d65ep+4 +-0x1.ef75c4p+4 +0x1.6bb41ap-2 +-0x1.1aa7e2p+4 +-0x1.d7ae6cp+1 +-0x1.dabe96p+2 +-0x1.42dc8p-1 +-0x1.e3ffp+3 +-0x1.567bdp+4 +0x1.45e4cap+3 +-0x1.490a68p+4 +-0x1.0f8e2p+4 +0x1.6b87dep+0 +-0x1.948dp+2 +0x1.215098p+5 +0x1.91ff1p+3 +-0x1.c1d4f4p+2 +-0x1.b26978p+3 +0x1.9b8ef8p+2 +0x1.4fc9ccp+3 +0x1.8dac1ep+1 +0x1.249b54p+4 +-0x1.360a5cp+4 +0x1.6a3caep+4 +0x1.08101ep+5 +-0x1.ecf65cp+1 +0x1.62cadap+1 +-0x1.06112ep+3 +0x1.991d78p+3 +0x1.606aep+4 +-0x1.070714p+1 +-0x1.562a98p+0 +-0x1.dc5e96p+3 +-0x1.83bc2ep+2 +0x1.5f291cp-2 +0x1.1045fp+0 +0x1.0c56dp+4 +-0x1.21070ap+2 +0x1.beeb62p-3 +0x1.990464p+3 +0x1.06002cp-1 +-0x1.f13c1ep+0 +-0x1.180a16p+2 +-0x1.8f8b4ep+4 +-0x1.1649f2p+4 +-0x1.97f9eap+2 +-0x1.4fe618p+3 +-0x1.e21264p+0 +0x1.10b602p+1 +0x1.99f81cp+0 +0x1.f010c6p+3 +-0x1.18296ep+1 +-0x1.3d588cp+1 +-0x1.6d5964p+4 +-0x1.9dca2ap+2 +0x1.257a96p+4 +0x1.387e48p+1 +-0x1.ead32cp+4 +-0x1.47b2dp+4 +-0x1.319552p+4 +0x1.03d558p+4 +0x1.c00ae2p+4 +-0x1.8fab24p+0 +0x1.3549ccp+4 +0x1.007aa6p+3 +0x1.457e7ap+3 +0x1.18726cp+3 +0x1.13ddb4p+2 +-0x1.03641ep+3 +0x1.4c7becp+4 +-0x1.a59092p+2 +0x1.2641cap+3 +0x1.156662p+5 +-0x1.e0f6fcp+4 +0x1.05feecp+5 +0x1.df907ep+4 +-0x1.54405ap+3 +0x1.705f56p+3 +-0x1.85a352p+2 +0x1.d1237p+2 +0x1.6718eep+3 +-0x1.57e652p+4 +-0x1.79544ep+2 +-0x1.16d64p+4 +-0x1.1ac906p+4 +-0x1.e85af4p+3 +0x1.bb11c6p+1 +0x1.7f800ep+3 +0x1.3d5614p+4 +-0x1.cb8fc6p+2 +-0x1.38784cp+4 +-0x1.4ab4fap+1 +0x1.e26664p+3 +0x1.3dd5b8p+3 +-0x1.ffa216p+1 +0x1.476134p+2 +0x1.e5787cp+2 +-0x1.f9e446p+2 +-0x1.93e5d2p+2 +0x1.4357fap+3 +-0x1.4f73ep+2 +0x1.9d7f48p+4 +-0x1.f46b4cp+0 +0x1.4cc132p+1 +0x1.3e01aep+4 +-0x1.b8cd7cp+2 +0x1.17734cp+1 +-0x1.4d84b6p+5 +-0x1.5e3c2cp+1 +0x1.39600cp+4 +-0x1.d9fed2p+3 +0x1.cf3dfp+3 +0x1.97d41ap+4 +0x1.ee4f3ep+3 +0x1.7d9d76p+0 +-0x1.89719cp+0 +0x1.7a6966p+0 +0x1.323646p+4 +0x1.f37bcep-1 +-0x1.f26d5ep+3 +-0x1.32b2dp+3 +0x1.c7fba6p-2 +-0x1.016d02p-1 +-0x1.29eb78p+2 +-0x1.0abdfp+3 +-0x1.83caeep+4 +-0x1.e77142p+4 +-0x1.698fap+2 +-0x1.0b184ep+0 +-0x1.2f8bb2p+5 +-0x1.b2a8bap+3 +0x1.900b1ep+4 +-0x1.f1c7ecp+2 +0x1.810202p+2 +0x1.2c9fc4p+1 +-0x1.f03356p+4 +-0x1.9fd06ep+4 +0x1.9d463ep+4 +-0x1.3acaaap+4 +-0x1.6968e6p+4 +-0x1.b4160ap-2 +-0x1.6b96b2p+3 +-0x1.50589ap+1 +-0x1.307092p+4 +-0x1.2f7d76p+4 +0x1.b05bd4p-2 +0x1.40ed04p+3 +0x1.228e5ep+4 +-0x1.112b6p+0 +-0x1.be5892p+3 +-0x1.c6a59ap+4 +0x1.a56efp+2 +0x1.918a52p+1 +0x1.2d04aep+2 +0x1.1aa9f2p+2 +0x1.0eb2acp+4 +-0x1.a38a2cp+4 +0x1.c2fa24p+2 +0x1.a778fap+3 +-0x1.171818p+3 +-0x1.38933ep+5 +0x1.8107eap+4 +0x1.96ff2cp+3 +0x1.188cd6p+1 +-0x1.5b8de2p-6 +-0x1.2bfef2p+3 +-0x1.076554p+3 +-0x1.4afc24p+3 +0x1.1aa984p+4 +-0x1.85ce3p+4 +0x1.6355f4p+0 +-0x1.bf4e26p+3 +0x1.b00866p+2 +-0x1.f99842p+2 +-0x1.d6bc48p+2 +0x1.6ef53ap+0 +-0x1.bdb7c6p+4 +0x1.5259b4p+3 +-0x1.8852bp+4 +0x1.56e862p+1 +0x1.daed1ep+2 +0x1.2c7a8ap+3 +0x1.9331fp+4 +-0x1.557626p+3 +-0x1.146f9ep+4 +-0x1.28a022p+3 +-0x1.a2228ep+4 +0x1.0b5b48p+4 +0x1.d73f7ep+2 +-0x1.47b2eap+2 +-0x1.5018e8p+2 +-0x1.72153ep+4 +0x1.a8f7b2p+4 +-0x1.26c92cp+0 +-0x1.3ca7f8p+5 +0x1.44b744p+1 +-0x1.5a8bbap+4 +0x1.84ab42p+2 +0x1.d44e1cp+4 +0x1.dc0de4p+4 +0x1.87509p-1 +0x1.c4356p+1 +-0x1.933796p+2 +-0x1.3dc2bep+4 +-0x1.06ed8ep+3 +0x1.4d3d7p-1 +-0x1.dd5742p+2 +0x1.14c61cp+0 +-0x1.d54bacp+3 +-0x1.2ce968p+4 +-0x1.41ab3ep+3 +0x1.44f836p-5 +0x1.516194p+3 +-0x1.a7bbf8p+3 +-0x1.217622p+5 +-0x1.9fdd64p+3 +0x1.42b618p-5 +0x1.ad52dep+2 +-0x1.a0565ep+4 +-0x1.64508ap+3 +0x1.0ac864p-1 +-0x1.7d311cp+3 +-0x1.5ddfbap+4 +0x1.c135fap+0 +0x1.01478ap+0 +-0x1.3333aap+4 +-0x1.4496a2p+4 +-0x1.711ea6p+4 +-0x1.755ecp-6 +0x1.1ac204p-4 +-0x1.d88bd4p+1 +0x1.6dce5p+3 +-0x1.16dc0cp+5 +-0x1.27c77cp+0 +-0x1.906e9ep+1 +0x1.18e9b8p-2 +-0x1.2e8c2cp+4 +-0x1.42c532p+3 +-0x1.2c24bap+3 +-0x1.ac2c6ep+2 +-0x1.d221a6p+4 +0x1.d71f28p+2 +-0x1.630a7ap+0 +0x1.5cb6bcp+4 +-0x1.4d706ep+3 +-0x1.81db16p+4 +0x1.1d45ecp+3 +-0x1.bbd304p+3 +0x1.692926p+3 +0x1.a623aep+0 +-0x1.080956p+2 +-0x1.8c6be4p+4 +-0x1.b92f88p+0 +-0x1.4ef9f2p+4 +0x1.67160ap+4 +-0x1.011edp-1 +-0x1.1247dep+4 +-0x1.ed5af4p+4 +0x1.d43b42p+4 +0x1.2248fep+4 +0x1.36f16p-2 +-0x1.62a91ap+4 +0x1.c5cf3p+3 +-0x1.df6c8cp+3 +-0x1.f943acp+1 +0x1.51a9cap+3 +-0x1.9108fap+3 +0x1.fe4862p+2 +-0x1.04fffp+2 +-0x1.d641c8p-2 +-0x1.f9d3d6p+1 +-0x1.ee6296p+1 +-0x1.94a686p+2 +0x1.a7c516p+3 +0x1.20a85p+1 +0x1.86dca4p+1 +0x1.38018cp+3 +-0x1.ba118p+4 +0x1.fc074ap+2 +0x1.0ea0d8p+4 +-0x1.0efba6p+2 +-0x1.17c456p+3 +-0x1.596f72p+1 +-0x1.392248p+4 +0x1.5122ep+4 +0x1.f0ef8p+1 +0x1.249d34p+1 +-0x1.f4b12ep+3 +-0x1.c8731ap+3 +0x1.31dd68p+4 +-0x1.a303a4p-3 +0x1.4e86c8p+4 +0x1.1a56eep+4 +-0x1.7238cep+4 +0x1.83510cp+3 +0x1.32953ap+2 +-0x1.e298a4p+1 +0x1.cc7238p+0 +-0x1.094404p+2 +0x1.11645ap+2 +0x1.fbafb2p+2 +-0x1.93b42cp+1 +-0x1.e337p+4 +0x1.04b988p+3 +0x1.a4e32ep+4 +-0x1.6e6b6cp+2 +-0x1.10709cp+4 +-0x1.48d7f6p+4 +-0x1.cc1444p+4 +0x1.87c2ep+2 +0x1.cb2c2p+3 +-0x1.c6295ep+4 +-0x1.218ee2p+3 +-0x1.28c278p+2 +-0x1.b520c2p+0 +-0x1.9e64f8p+4 +0x1.99936ap+4 +-0x1.5862d6p+5 +-0x1.b02166p+2 +-0x1.99318p-1 +-0x1.e066f6p+2 +-0x1.620d2p+2 +-0x1.2d339cp+3 +-0x1.8d62fap+4 +-0x1.00e28ap+5 +-0x1.228056p+3 +0x1.650becp+3 +0x1.add9cep+3 +0x1.9234p+4 +0x1.67b7ep+3 +0x1.25eda2p+4 +-0x1.5a3b46p+0 +-0x1.5c45bcp+1 +0x1.627c98p+0 +0x1.6a81eep+4 +0x1.8da70ap+1 +-0x1.26483ap+1 +0x1.0e92bp-1 +-0x1.ae35d6p+4 +-0x1.d0244cp+1 +-0x1.d76602p+3 +-0x1.5802e8p+4 +0x1.5ea6b8p+5 +-0x1.2cbb8p+4 +-0x1.219d9cp+3 +-0x1.86f4a4p+3 +0x1.be4ac6p+3 +-0x1.9f4dc6p+3 +-0x1.0ce498p+1 +-0x1.2710cap+4 +0x1.d7f332p+2 +0x1.ea8f9ap+2 +0x1.bbbb08p+3 +-0x1.da4784p+3 +-0x1.fac162p-2 +0x1.9fcc2p+4 +-0x1.59a33p+4 +-0x1.9f049cp+0 +0x1.4b15aap+3 +-0x1.2b1f28p+5 +-0x1.a43ecap+4 +-0x1.05965cp+4 +0x1.6fa45ep+4 +-0x1.e90b1ap+3 +-0x1.a6fa42p+3 +-0x1.454526p+3 +0x1.078a8cp+5 +-0x1.fe4f1ep+3 +0x1.032e9ep+3 +0x1.5afe8ap+2 +-0x1.54094cp+3 +0x1.8124ccp+3 +0x1.80e338p+0 +-0x1.45ae58p-1 +-0x1.44c552p+3 +0x1.9542f4p+2 +0x1.943224p+4 +0x1.9edd1ap+2 +-0x1.61b202p+4 +0x1.cabf4cp+2 +-0x1.e190cep+1 +0x1.15f088p+4 +0x1.600cf4p+4 +0x1.277e06p+3 +0x1.036adcp+4 +-0x1.069f94p+1 +-0x1.1d4d02p+4 +-0x1.7b7f4p+3 +-0x1.20c724p+5 +-0x1.584b22p+4 +-0x1.06c72p+0 +-0x1.0c2c58p+2 +0x1.12548cp+4 +0x1.28c146p+3 +-0x1.4304dp+4 +-0x1.92769p+2 +0x1.888d26p+3 +-0x1.199f22p+1 +0x1.bfd58cp+1 +-0x1.806cep+4 +0x1.feb86p-3 +-0x1.7db2d8p+2 +-0x1.07b6fp-2 +0x1.1771p+3 +0x1.b17e6ap+1 +0x1.29cdap+4 +-0x1.2727a4p+2 +0x1.cdd90ep+0 +0x1.dd3dbp+3 +-0x1.610c08p+0 +-0x1.8777d2p+1 +0x1.3683c8p+1 +0x1.18abeep+3 +-0x1.6a2fb6p+3 +0x1.9c994p+2 +-0x1.dd0cd2p+3 +-0x1.89bb84p+4 +-0x1.450daep+3 +0x1.1db3aap+3 +-0x1.5253d6p+4 +-0x1.773fccp+5 +-0x1.44725ep+1 +-0x1.85e306p+3 +-0x1.248a4cp+4 +0x1.07cac4p+5 +0x1.606b66p+3 +-0x1.d48072p+2 +0x1.80ae08p+5 +-0x1.339a5ep+0 +0x1.b603ap-1 +-0x1.f1d072p+3 +0x1.582ecp+2 +-0x1.22fa58p+4 +0x1.103bcep+5 +0x1.b3b696p+3 +0x1.26d7b6p-1 +0x1.76144cp+3 +-0x1.52d194p-2 +-0x1.4fbc6ep+3 +0x1.c7934ep+4 +-0x1.e43558p+4 +-0x1.3214ecp+3 +-0x1.c1d878p+3 +0x1.ff5b86p+0 +0x1.0b2b7p+4 +0x1.335c9cp+4 +-0x1.953d56p+1 +0x1.8d2b92p+1 +0x1.bae886p+4 +0x1.167fep+2 +0x1.62c6c8p-2 +0x1.8e2d5ap+4 +0x1.8bd952p+4 +0x1.0c35b2p+2 +-0x1.07462ep+4 +-0x1.99f5aep+1 +-0x1.7b042p+0 +-0x1.6584ep+2 +0x1.1dfed4p+1 +-0x1.ba50d2p+2 +0x1.e29c9cp+3 +0x1.92f14ep+2 +-0x1.39170ep+2 +-0x1.8693dp+3 +0x1.2dbb1cp+4 +-0x1.5db2b8p-1 +0x1.90605ap+4 +0x1.86236cp+1 +-0x1.1fb894p+3 +0x1.9b7ccap+4 +-0x1.1a63dcp+5 +-0x1.738128p+3 +0x1.355976p+3 +-0x1.6d0ef2p+4 +0x1.2fc69cp+4 +-0x1.3de742p+4 +-0x1.72451p+4 +-0x1.9e1fc2p-3 +-0x1.d52816p+3 +-0x1.0f426ap+5 +-0x1.75a2d2p+2 +0x1.cb7f68p+1 +0x1.611aacp+1 +-0x1.dfdceap+3 +-0x1.271f4cp+3 +-0x1.de4e4p+2 +0x1.84feeep+4 +-0x1.4bf83p+2 +-0x1.70a0cep+4 +-0x1.82e932p+3 +0x1.88e0dp+2 +-0x1.7edcd2p+4 +0x1.7ba93ep+4 +-0x1.1cc26cp+4 +-0x1.3d9122p-1 +0x1.c9e902p+2 +0x1.1e397p+4 +0x1.2d37a4p+5 +-0x1.7bdd62p+0 +-0x1.02b03ap+5 +0x1.c7e04p+4 +-0x1.8a174ap-6 +-0x1.86dd5ep+4 +-0x1.574f2cp+1 +0x1.0b6f22p+3 +-0x1.a5b24ep+5 +0x1.8f9b32p+3 +0x1.3f1eeep+4 +-0x1.79bb44p-2 +0x1.405dfp+4 +0x1.7810fep+4 +0x1.59039ep+4 +-0x1.533b7ep+3 +-0x1.847b9cp+4 +0x1.90b914p+4 +0x1.0f6932p+4 +-0x1.7e3a5ap+3 +0x1.0a82d2p+4 +0x1.7dae4ap+1 +0x1.fa8bb4p+2 +0x1.2ae8p+0 +-0x1.a4ebb4p+3 +0x1.334a7cp+3 +0x1.8ca71ap+4 +0x1.482d3p+1 +-0x1.30929ep+3 +-0x1.80e35ep+3 +0x1.03de5p+5 +0x1.d4c766p-9 +0x1.138c14p+5 +0x1.7f977ep+2 +-0x1.0d82ep+2 +0x1.8771f6p+2 +-0x1.a59fc8p+3 +-0x1.5acebep+5 +0x1.943dbep+3 +-0x1.6b5f68p+2 +-0x1.116522p+3 +0x1.a468ecp-1 +-0x1.4413d6p+0 +0x1.b61754p+3 +-0x1.3d3638p+5 +0x1.307aap+3 +-0x1.f0e568p+2 +-0x1.2c4794p+3 +-0x1.b2cdd8p+3 +0x1.a5a8cep+3 +0x1.012dd6p+3 +-0x1.3159ccp+0 +0x1.9b817ap+1 +0x1.da1ff4p+0 +-0x1.a4ad3p+3 +0x1.e40b96p+0 +-0x1.6330bep+4 +0x1.af60ep+3 +-0x1.3cc692p+4 +0x1.138622p+2 +-0x1.0584f8p+2 +0x1.1d6246p+3 +0x1.d5e8c4p+3 +-0x1.e79712p+3 +0x1.ad9732p+3 +0x1.9697c6p+3 +-0x1.e3f9c8p-2 +-0x1.d27978p+2 +-0x1.dea8dp+1 +0x1.4ec636p+4 +-0x1.5f8228p+3 +-0x1.e8ac1ap+1 +0x1.1d467ap+2 +-0x1.9bd878p-1 +0x1.1f0e94p+4 +-0x1.8da4c4p+3 +-0x1.1bd46ap+5 +-0x1.9cbb36p+2 +0x1.764c24p+3 +-0x1.80412ap+4 +0x1.50b8fep+3 +-0x1.7585d6p+0 +-0x1.3927dap-2 +-0x1.fc76eap+3 +0x1.8404e6p+1 +-0x1.62dd12p+0 +0x1.85ad44p+2 +-0x1.161838p-3 +0x1.c4570ap-1 +-0x1.817e4ap+3 +-0x1.41fe3cp+3 +-0x1.87ea26p+3 +0x1.49d826p+2 +0x1.94c504p+0 +-0x1.936702p-2 +-0x1.5e0854p+4 +0x1.7526e4p+3 +0x1.3c73d4p+3 +-0x1.44c8d8p+3 +0x1.aa17b6p+4 +-0x1.abbbf4p+2 +-0x1.935e2cp+3 +0x1.fbf998p+4 +-0x1.460f66p+3 +0x1.99d664p+2 +-0x1.9ad506p+4 +0x1.65a63p-1 +-0x1.e49f1ap+0 +0x1.5c25b8p+2 +0x1.75acf6p+4 +-0x1.030ebcp+3 +0x1.638e1ep+4 +0x1.7a132ap+2 +-0x1.6ad65cp+2 +-0x1.8b3d6cp+2 +-0x1.42b04p+2 +-0x1.7c9dfep+3 +-0x1.4cfbf8p+3 +-0x1.2efc82p+5 +0x1.b9edfap+4 +0x1.8148d4p+2 +0x1.68ff7cp+4 +0x1.f863aep+2 +-0x1.276972p+2 +-0x1.b80c5ep+3 +-0x1.1d73eep+2 +0x1.1d386ep+5 +-0x1.15e4f4p+3 +-0x1.5f5f7cp+3 +-0x1.263846p+3 +-0x1.e62d7ep+3 +-0x1.776808p+2 +0x1.06a988p+4 +0x1.e77978p+3 +-0x1.35eb76p+4 +0x1.1e632p+0 +-0x1.c2e0b8p+2 +-0x1.06ccd2p-2 +0x1.d50ffp+0 +0x1.007b54p+3 +-0x1.d7f8bap+1 +0x1.1e4004p+3 +0x1.cf7be2p+1 +-0x1.edec2ap+3 +0x1.2787eep+3 +-0x1.f6d6fap+0 +0x1.c54666p+4 +0x1.c92824p+3 +0x1.d6832p-1 +-0x1.075f56p+3 +-0x1.23fce4p+2 +-0x1.17b1ccp+4 +-0x1.5bafd2p+4 +-0x1.257704p+3 +0x1.a2fd4p+2 +-0x1.21a3c2p+2 +0x1.8d04fep+0 +-0x1.25b508p+1 +0x1.74be2ap+4 +0x1.883dap+4 +-0x1.cbf06p-2 +-0x1.b69ba8p+1 +0x1.448e36p+3 +0x1.911eaep+3 +0x1.f58ab6p+2 +0x1.6b1ecep+4 +-0x1.91bbfcp+3 +0x1.e99e7ap+4 +-0x1.6bf22ep-1 +-0x1.815594p+3 +0x1.0538fp-1 +-0x1.d823ecp+3 +0x1.a7811ep+3 +-0x1.37a606p+4 +-0x1.14bb9ep+2 +0x1.2298d6p+1 +0x1.5d9d62p+3 +0x1.985deep+3 +-0x1.0b836ap+3 +-0x1.e1af8p+4 +-0x1.a0a29p+3 +0x1.5ed4c6p+4 +-0x1.4f572p+3 +0x1.88016ap+4 +0x1.ce82e8p+3 +0x1.7868e8p+4 +-0x1.825968p+3 +-0x1.2dfec2p+2 +0x1.86b9d4p+3 +0x1.b2fe34p+4 +-0x1.b9a9d6p+0 +0x1.048f2ep-2 +-0x1.cdb44cp+3 +-0x1.40301ep+0 +-0x1.6cb2e2p+2 +-0x1.625ccep+3 +-0x1.bdaf8ap+4 +-0x1.4987d8p+3 +0x1.59c57p+3 +-0x1.77e1d6p+2 +-0x1.6b0ae4p+2 +-0x1.542d84p+4 +0x1.489b3ap+3 +-0x1.05f498p+2 +0x1.4d6616p-1 +0x1.46ab06p+2 +-0x1.d95bf2p+3 +0x1.491ba6p+4 +-0x1.47e024p+4 +0x1.2c4402p+5 +0x1.736228p+4 +0x1.aed0eep+3 +0x1.f01eb8p+4 +0x1.e8ceaap-1 +-0x1.6b7314p+4 +-0x1.9d3b5p+3 +-0x1.e9019cp+0 +0x1.0f9026p+2 +-0x1.031e04p+4 +-0x1.077e4ap+4 +-0x1.f5758p+4 +0x1.697cdcp+1 +-0x1.65d80cp+2 +-0x1.2d790cp+3 +-0x1.72e49ap+3 +-0x1.3e616p+3 +-0x1.1609e4p+4 +-0x1.b57362p+1 +-0x1.8fcda6p+1 +0x1.6bf0a4p+3 +0x1.ad48c2p+2 +-0x1.890358p+4 +-0x1.cdc0fep+0 +-0x1.3a5574p+3 +-0x1.510c06p-2 +-0x1.b916e8p+4 +-0x1.ec6558p-3 +0x1.9c3bfep+4 +-0x1.f96ce8p+4 +-0x1.f7c0e6p+1 +0x1.8c6922p-2 +-0x1.6ff716p+3 +0x1.ce4976p+1 +0x1.305d32p-6 +-0x1.2015fep+5 +-0x1.8da66ap+0 +-0x1.159efep+4 +-0x1.1a5f28p+3 +-0x1.af5ae2p+3 +-0x1.6c16p+2 +-0x1.079bbep+3 +-0x1.6a98d4p+3 +0x1.09ea74p+3 +0x1.ecfe0cp+2 +0x1.f8472cp+2 +0x1.a4ef6p+2 +-0x1.8123ap+3 +0x1.5387fcp+3 +-0x1.80dc1cp+3 +0x1.50ab5cp+2 +0x1.1f9c8ap+1 +-0x1.524fd4p+1 +0x1.44580cp+3 +0x1.bcf5e6p+3 +-0x1.ec2f52p+3 +-0x1.d881cep+0 +0x1.5588c6p+4 +0x1.db561p+1 +-0x1.228f88p-1 +-0x1.4fea72p+0 +0x1.59f8cap-1 +0x1.cbdcf4p+0 +0x1.3317a4p-1 +0x1.f92abcp+3 +-0x1.a8b95ep+2 +-0x1.83ff64p+3 +0x1.de453ep+1 +-0x1.70b986p+3 +0x1.da1c68p+4 +0x1.21b5b4p+4 +0x1.d2127ap+4 +0x1.83719cp+3 +-0x1.a4349cp+3 +0x1.b878b8p+4 +0x1.6a370ep+2 +-0x1.118e54p+4 +-0x1.3df8b6p+2 +0x1.8a5014p+4 +0x1.aa0bf6p-2 +0x1.8bdbe2p+0 +0x1.9a65a4p+3 +-0x1.7f251p+2 +-0x1.3b1f2p+3 +-0x1.345fb2p+2 +-0x1.75771ep+2 +-0x1.6e1628p+2 +-0x1.ec1426p+1 +0x1.c4f346p+4 +-0x1.4b57ep+3 +0x1.ffb67p+3 +-0x1.01df0ep+3 +-0x1.15df94p+4 +-0x1.a170f6p+3 +-0x1.d992ep+1 +-0x1.2baf74p+3 +0x1.a85186p+2 +0x1.abcea8p+2 +0x1.ab7cbap+4 +0x1.42e69ap+1 +-0x1.9d0814p+4 +-0x1.0b9938p+3 +-0x1.c7fbacp-2 +-0x1.b699fp-2 +0x1.bb03a4p+2 +0x1.2fb4aep+3 +0x1.03cfa4p+5 +-0x1.abf1b8p+0 +0x1.613976p+5 +0x1.dd2618p+3 +0x1.275076p+2 +-0x1.84c576p-3 +0x1.7042a2p+1 +0x1.c82e92p+2 +-0x1.a57daap+2 +0x1.66a4dep+4 +0x1.c6a39ap-1 +0x1.29cfbcp+4 +0x1.89c30ap+2 +-0x1.762f1ep+3 +0x1.bfb29p+4 +0x1.8229ecp+0 +0x1.fab966p+1 +0x1.88906p+4 +-0x1.db54dcp+3 +-0x1.21161ap+2 +0x1.6df6d2p+4 +0x1.0259a8p+2 +0x1.7c3ad6p+4 +0x1.6422f8p+0 +0x1.9b092p+1 +-0x1.bdff2ep+2 +-0x1.70ed12p+3 +-0x1.25d4fap+5 +0x1.5d7ffp+4 +0x1.9a3d98p+4 +-0x1.1a1a5ap+1 +0x1.a72812p-1 +-0x1.eba0cp+4 +0x1.a5e5f6p+2 +-0x1.7288ap+3 +-0x1.8935cap+3 +-0x1.2a829cp+4 +-0x1.48ebdcp+3 +0x1.5419fcp+4 +-0x1.50327ep+3 +0x1.5e3d5cp+3 +0x1.0d9ddap+5 +0x1.82002ep-3 +-0x1.81246ap+2 +0x1.1ded02p+4 +-0x1.f34346p+1 +0x1.61f206p+4 +0x1.39cca6p+2 +-0x1.8a8c7ap+0 +-0x1.e29c88p+2 +0x1.361954p+2 +0x1.17da7cp+3 +0x1.18ca1p-1 +-0x1.6b7288p+3 +0x1.56ccbep-2 +0x1.73c642p+0 +0x1.87c68cp+3 +0x1.d69c54p+3 +-0x1.726e54p+3 +0x1.4db076p+3 +-0x1.43661cp+5 +-0x1.0a6bcap+4 +-0x1.27821p+4 +0x1.ca9d5cp-1 +0x1.290ac4p+0 +0x1.f61ebap+4 +-0x1.1584dp+3 +0x1.0b8bf2p+4 +-0x1.51999p+3 +-0x1.6ac7f2p+0 +0x1.e7b494p+2 +0x1.0c4822p-2 +-0x1.165632p-1 +0x1.f02bc2p+1 +0x1.35c696p+3 +0x1.da738ap+0 +0x1.8e1484p+3 +-0x1.23fb1ep+4 +-0x1.917d26p-1 +0x1.a732cep+5 +-0x1.d52748p+4 +-0x1.6140d2p+4 +0x1.d8ab7ap+3 +0x1.69a984p+1 +-0x1.b9934ap+1 +-0x1.b8475p+3 +0x1.48c178p+3 +-0x1.445f82p+4 +-0x1.4122d8p+4 +-0x1.f0fc9ap+2 +-0x1.15642cp+4 +-0x1.276fb2p+2 +0x1.1ec51cp+2 +0x1.3d61d4p+3 +0x1.f9cd82p+3 +0x1.cef99ep+4 +-0x1.bd5bbap+3 +0x1.416068p+4 +0x1.15025ap+4 +-0x1.934af2p+4 +0x1.e2761ep+4 +0x1.c5012ep+3 +-0x1.779788p+3 +-0x1.1d26ccp+3 +-0x1.eb283p+1 +0x1.d2b948p-1 +-0x1.c88262p+3 +0x1.fd0406p+4 +-0x1.3ac284p+4 +0x1.ba5eeep+2 +0x1.69e162p+2 +-0x1.6d72c6p+3 +0x1.bbf7fap+3 +0x1.82e236p-4 +0x1.2d967p+3 +0x1.215beap+3 +-0x1.799718p+4 +0x1.0cf9c4p+4 +0x1.2b76bcp+3 +0x1.e87f02p+2 +-0x1.66b792p+4 +0x1.380f5cp-4 +0x1.365818p+2 +-0x1.67eaeep+2 +-0x1.09e25ap+5 +-0x1.2241b2p+3 +-0x1.6e04ep+3 +-0x1.5e00f2p+4 +0x1.5d2654p+1 +0x1.d0ade4p+3 +0x1.78507ep+2 +0x1.5fdd7p+2 +-0x1.a40adcp+3 +-0x1.9a4966p+2 +-0x1.008704p+1 +-0x1.9050f6p+2 +0x1.9010a2p+3 +0x1.113376p+3 +0x1.4a4de4p+3 +-0x1.51fccep+3 +0x1.62829p+4 +0x1.2550b6p+3 +0x1.901b08p+0 +0x1.ab8c84p+4 +0x1.50fd88p+3 +-0x1.53d688p-1 +0x1.204096p+2 +-0x1.779b54p+4 +0x1.f772aap+0 +-0x1.20ab36p+3 +-0x1.049708p+4 +-0x1.29b568p+3 +-0x1.d35c08p+1 +-0x1.aca8dep+4 +0x1.50a42p+3 +0x1.dbbcc6p+3 +0x1.2c63ap+3 +0x1.ff5282p+0 +-0x1.27ad28p-5 +-0x1.63b808p+5 +0x1.f0119ap+2 +-0x1.43fe26p+3 +-0x1.0cfe3p+4 +-0x1.61f8fep+3 +0x1.ce5dcp+3 +-0x1.2d1dcap+1 +0x1.ffa1bcp+3 +-0x1.c8012ap+3 +-0x1.1e7d7ap+4 +-0x1.2f748cp+3 +0x1.3e88e2p-1 +0x1.8f8bcp+4 +-0x1.1cff74p+5 +0x1.33c24p+3 +-0x1.f3fd38p+3 +0x1.546046p+4 +-0x1.13ae64p+3 +0x1.c8a558p+3 +0x1.a6e46p+1 +0x1.07ed1ap+5 +-0x1.bf337ap-2 +-0x1.5e7ca8p+3 +-0x1.e68c3ap+4 +0x1.d7c9f4p+1 +0x1.ee68d4p+1 +-0x1.52875ep+4 +-0x1.d91c36p+4 +0x1.2b72dcp+5 +0x1.d0c78ap+2 +0x1.97c69p+4 +0x1.67d404p+4 +-0x1.b4cdb4p+0 +-0x1.ed7486p+2 +0x1.5adacep+4 +0x1.7fdec6p+3 +0x1.9f462ep+1 +-0x1.fdf4e4p+1 +-0x1.b7c4b8p+3 +0x1.0e3b08p+3 +-0x1.5d2e08p+4 +0x1.0cc27ep+2 +-0x1.37e812p+2 +-0x1.5a43d4p+3 +-0x1.314f14p+2 +0x1.064054p+4 +0x1.0d2922p+2 +-0x1.a6260cp+4 +0x1.c090bep+2 +0x1.8c59ccp+4 +-0x1.797c7ep+4 +-0x1.495fp+2 +-0x1.144478p+4 +-0x1.7ace46p+1 +0x1.5e5746p+0 +0x1.99a996p+3 +-0x1.64f4d4p+2 +0x1.5b2ceap+1 +-0x1.afae6cp-1 +0x1.1a4cb4p+5 +0x1.76212ep+1 +0x1.1e35aap+2 +-0x1.2d2b34p+2 +-0x1.74477ap+2 +-0x1.da68dap+3 +-0x1.c28a74p+4 +-0x1.cf021p+4 +-0x1.7275fap+2 +-0x1.83d0b8p+3 +0x1.22e358p+1 +0x1.1d1dbcp+3 +0x1.b4bc74p+3 +0x1.686b4cp+4 +0x1.fbb52ap+4 +-0x1.cc7f9cp+2 +0x1.b6b478p+3 +0x1.0ebfbap+3 +-0x1.e6ace2p+0 +-0x1.d10448p+3 +-0x1.e195p-3 +-0x1.70f296p+5 +0x1.f83b5cp+3 +0x1.281cb6p+4 +-0x1.ff1218p+1 +0x1.3b7244p+3 +0x1.7faa66p+3 +-0x1.a4da56p+4 +0x1.372832p+2 +-0x1.ae3964p+3 +-0x1.ddcde6p+1 +-0x1.0670b4p+1 +0x1.fb5fecp+1 +0x1.a307fcp+2 +-0x1.404de2p+4 +0x1.144152p+4 +-0x1.f5874p+1 +-0x1.c07b0ep+1 +0x1.404e72p+2 +0x1.870ep+4 +-0x1.e37d0ep+3 +-0x1.4b5ae6p+3 +0x1.702676p+4 +-0x1.373dc4p+0 +-0x1.18feeep+4 +-0x1.372954p+4 +-0x1.63ed3cp+4 +0x1.ecf126p+1 +-0x1.1064e6p+5 +-0x1.a27bdep+3 +-0x1.37ed4cp+1 +0x1.024736p+3 +-0x1.c116e6p+0 +-0x1.36aa08p+0 +-0x1.7caf6ep+1 +0x1.52875p+2 +0x1.708586p+2 +0x1.b8151ap+3 +0x1.960ca4p+0 +-0x1.9247d4p+4 +-0x1.0e3756p+1 +-0x1.0ed32p+4 +0x1.618874p+3 +-0x1.2f50bap+0 +0x1.375f6ep+1 +-0x1.385562p+1 +0x1.d85a86p+3 +-0x1.a2fc3p-4 +0x1.5f9874p+3 +0x1.b10edp+3 +0x1.22a604p+3 +-0x1.611f38p+3 +-0x1.0d5822p+2 +-0x1.78931ep+2 +0x1.42a0ccp+4 +0x1.0cdd8ep+3 +0x1.583e82p+3 +-0x1.8dddfep-1 +-0x1.279f4ap+1 +-0x1.1c8f3ap+1 +0x1.f827ap+3 +0x1.7eb058p+4 +0x1.a0f708p+3 +0x1.10a96p+2 +0x1.05827p+3 +0x1.8a113cp+4 +-0x1.3089f2p+5 +0x1.4d41a4p+2 +0x1.b14674p+3 +-0x1.d7c6f6p+2 +0x1.66b6bp+3 +-0x1.7d4c86p+2 +0x1.fcdc6cp+1 +-0x1.9741acp+3 +-0x1.bad27cp+0 +0x1.b1a5e6p+3 +0x1.b3389ap+3 +0x1.3db378p+2 +-0x1.93fbc2p+2 +0x1.61b404p+3 +-0x1.859fc8p-1 +0x1.045958p+2 +-0x1.bc3e98p+4 +0x1.aaa84p+2 +-0x1.a8e664p-1 +0x1.9efa88p+3 +-0x1.234ae4p+4 +-0x1.0721d8p+1 +-0x1.220a96p+2 +0x1.be0bbp+3 +0x1.45caa8p+3 +0x1.525a58p+2 +-0x1.2a1b7cp+5 +0x1.435954p+4 +0x1.567fa2p+3 +0x1.633746p+1 +0x1.d38e3p+4 +-0x1.5c056ep+1 +-0x1.343e0cp-3 +-0x1.0461c2p+3 +-0x1.c31b2cp+3 +0x1.8ed034p+4 +-0x1.51e652p+2 +0x1.e92acap+3 +-0x1.31b566p+5 +0x1.1cc31cp+1 +0x1.653508p+4 +-0x1.0ca9fap+4 +0x1.c8542cp-2 +0x1.d864d2p+1 +0x1.7ab962p+4 +-0x1.422954p+2 +0x1.0473c8p+0 +-0x1.4ec552p+2 +-0x1.489c9cp+0 +-0x1.8605a8p+3 +0x1.0b9704p+1 +0x1.af4e5ep+4 +-0x1.704884p+3 +0x1.0d834ep+4 +0x1.1a3fd4p+3 +-0x1.c9acb4p+4 +0x1.2cd38p+2 +-0x1.13feecp+4 +-0x1.44a39ep+4 +-0x1.43dc5p+2 +-0x1.95c022p+3 +-0x1.e9d0bcp+3 +0x1.3af314p+1 +0x1.2cf2ccp+4 +-0x1.5b046ap+4 +0x1.c4399ep+3 +-0x1.a99eb6p+4 +-0x1.9d96a4p+1 +-0x1.8c4bdcp+4 +-0x1.96e438p+4 +-0x1.3793p+0 +0x1.78aaccp+3 +0x1.ffaddep+3 +0x1.16e606p+4 +0x1.13f31ap+1 +-0x1.b1a47p+3 +-0x1.d63586p+3 +-0x1.387aa4p+4 +-0x1.c0650ep+1 +0x1.37444ep+2 +0x1.1735bp+5 +0x1.0a2c56p-1 +0x1.684edap+2 +-0x1.1faa74p+3 +0x1.35badcp+3 +0x1.fe7408p+4 +-0x1.74d38p+0 +-0x1.2d1e06p+4 +-0x1.8035cep+0 +-0x1.36a9eap+4 +-0x1.9b108p+1 +-0x1.85e022p-2 +-0x1.5f96ep+5 +0x1.4b81b4p+4 +-0x1.27f868p+4 +-0x1.e34f4p+3 +0x1.3ff198p+2 +-0x1.acfc1p+2 +0x1.563f3ep+3 +-0x1.32c9dcp+5 +-0x1.dcfce6p-2 +0x1.a9cb82p+2 +0x1.66683ep+4 +-0x1.dcf29ep+4 +0x1.6d86eap+3 +0x1.41b464p+4 +-0x1.6b4318p+4 +0x1.0e5ad8p+3 +0x1.82de4ap+2 +0x1.12126ap+5 +-0x1.588a6p+4 +-0x1.56bb14p+2 +-0x1.c2d0fep+4 +0x1.c91e8cp-3 +-0x1.f9b58ep+0 +-0x1.01b178p+2 +0x1.30f176p+2 +0x1.96488ap+2 +0x1.9ee15p+0 +0x1.2b7cd8p+3 +0x1.335e7p+4 +0x1.32db26p+3 +0x1.49e462p+3 +0x1.809e28p+4 +0x1.b281cap+2 +-0x1.ef3af6p+3 +-0x1.92b6e6p+4 +0x1.13f234p+0 +-0x1.981004p+0 +-0x1.96ce7ep+3 +0x1.c37f9ap+2 +-0x1.96930cp+3 +0x1.a434fcp+2 +-0x1.7b13e4p+3 +0x1.b66e3ap+1 +-0x1.3157d8p+4 +0x1.027d88p+2 +-0x1.acd3e4p+4 +-0x1.49902p-2 +-0x1.23d8ap+4 +-0x1.3e11a8p+2 +0x1.2ae06cp+4 +0x1.8236fcp-2 +0x1.90815ep+4 +-0x1.a8db4p+1 +-0x1.297586p+4 +-0x1.952cb4p+4 +-0x1.a20518p+3 +-0x1.cf28a6p+3 +0x1.931bfp+3 +0x1.68038p+0 +-0x1.9ce85ep+2 +-0x1.4292c2p+4 +-0x1.2b7d1cp+3 +-0x1.8d139p+3 +0x1.e9278cp+3 +0x1.942544p+4 +-0x1.1df8cep+4 +-0x1.31cep+0 +0x1.a7065ep+4 +0x1.b70b1cp+4 +0x1.930bc4p+3 +-0x1.2f167ep+4 +-0x1.5f5572p+3 +-0x1.01fae4p+1 +0x1.b78b4p+3 +0x1.d7a04ep+3 +0x1.f2be0ap+1 +0x1.4a4c52p+3 +0x1.0b3c1ap+1 +-0x1.8c5f16p+3 +0x1.3b31b4p+4 +-0x1.61f20ep+4 +-0x1.b3557p+4 +-0x1.3da99ep+3 +0x1.f9e9b2p+4 +-0x1.e29a44p+3 +-0x1.cb80f8p+2 +0x1.8cd1c4p-3 +-0x1.5e774ap+2 +-0x1.b078ap+3 +0x1.7df532p+4 +-0x1.20e83ap+4 +-0x1.2ece3cp+3 +-0x1.b8dcfap+0 +-0x1.a820eap+3 +0x1.7b9754p+3 +0x1.a9690cp-1 +0x1.cbdebp+0 +-0x1.6a6fdep+0 +-0x1.cfc8ecp+2 +0x1.fea056p+2 +0x1.19aee6p+5 +0x1.cb4172p+0 +0x1.a2bc9ep+1 +-0x1.153a5p+4 +-0x1.e32cd2p+3 +0x1.cd1044p+0 +0x1.0fb76cp+2 +0x1.4bfd4ap+4 +0x1.806536p+3 +0x1.9579f6p+3 +0x1.3649p+2 +0x1.a0c47ap-4 +-0x1.09803p+3 +0x1.84fb0ep+3 +-0x1.855462p+4 +0x1.159624p+5 +-0x1.8df534p+2 +0x1.8cd25p+2 +-0x1.e7ad74p+4 +0x1.e6229ep-1 +0x1.bccca2p+2 +-0x1.8e288ep+3 +0x1.c2aa6p+1 +0x1.ff0a0cp+3 +-0x1.ddb1ecp+2 +-0x1.3e5476p+4 +0x1.858158p+4 +0x1.d178dcp+3 +0x1.9197fp+3 +0x1.f12d86p+3 +0x1.0ee4fap+4 +-0x1.0bec12p+4 +-0x1.c3b202p+2 +-0x1.40665ap+4 +0x1.5ca698p+3 +0x1.0886c6p+4 +-0x1.6ce43ep+4 +0x1.0d0446p+4 +-0x1.3cdd42p+4 +-0x1.98ab96p+1 +0x1.67118cp+2 +-0x1.6381dp+2 +0x1.a6ecb4p+3 +-0x1.9515b6p+4 +-0x1.3a8022p+3 +0x1.46c216p+4 +0x1.e89f14p+2 +-0x1.0b75a8p+0 +0x1.4109f4p+4 +-0x1.313a9p+2 +-0x1.3993acp+4 +-0x1.61350cp+4 +-0x1.180f7cp+1 +0x1.77981ep+1 +-0x1.f701b8p+1 +0x1.ab815cp+4 +-0x1.cf59eap+3 +0x1.8ee6dcp+2 +0x1.8ec04cp+3 +0x1.bbf638p+3 +-0x1.a3fa38p+2 +-0x1.1af036p+2 +0x1.22f5cep+3 +-0x1.46a49ap+4 +-0x1.5d4fdcp+4 +-0x1.f72d2ap+3 +-0x1.8bcbb2p-5 +0x1.b6ac6ap+2 +-0x1.76022p+2 +-0x1.317764p+4 +0x1.1f9cb2p+4 +0x1.9e1294p+4 +-0x1.e7d7d2p+3 +-0x1.096e72p+4 +0x1.a6ffb6p-2 +0x1.e6a5d2p-4 +-0x1.69a5bp+0 +0x1.4573p+2 +-0x1.9f7bb4p+4 +-0x1.239f28p+4 +0x1.21c244p+3 +0x1.63aca6p+3 +0x1.1981bcp+2 +0x1.ae3274p+3 +-0x1.acc7c2p+3 +0x1.354474p+4 +-0x1.01b9acp+3 +0x1.59db0ep+3 +0x1.1a8914p+5 +-0x1.5dab9ap+1 +-0x1.7abbe4p+1 +-0x1.1fa8f8p+2 +-0x1.7e72eep+3 +-0x1.90f286p+3 +0x1.c205ap+3 +0x1.d47afp+3 +0x1.adbf8cp+4 +0x1.9a8a4ep+3 +-0x1.4bf36p+3 +-0x1.0d0d08p+3 +-0x1.19084ap+4 +-0x1.dc5e8ap+3 +0x1.d78666p+4 +-0x1.a288ecp+1 +-0x1.53bf26p+3 +0x1.602114p+4 +0x1.1f2ccap+4 +0x1.82373ep+2 +0x1.13fep+2 +-0x1.164c02p+3 +-0x1.75a7e4p+3 +0x1.7dbef6p+4 +0x1.2e9564p+4 +-0x1.0a1952p+4 +0x1.d5409cp+3 +-0x1.093fe4p+3 +0x1.1e6686p+5 +0x1.f4978p+2 +-0x1.0cbcf4p+4 +-0x1.813d0ep+1 +-0x1.30607p-1 +-0x1.4b5342p+4 +0x1.603252p+3 +-0x1.c601e6p+4 +-0x1.cd608ap+2 +-0x1.fa09ccp+3 +-0x1.797292p+4 +-0x1.b4f4fap+3 +-0x1.57cd52p+2 +0x1.b71ae6p+4 +-0x1.96ec48p+3 +0x1.0e0092p+0 +-0x1.042ca6p+4 +0x1.8a318cp+2 +-0x1.6a9bdap+2 +0x1.c52fbp+2 +-0x1.376f82p+4 +0x1.0698fap+3 +-0x1.1f6c54p+3 +-0x1.8094b4p+4 +0x1.4bf162p+2 +0x1.f19582p+4 +-0x1.1f0c82p+5 +0x1.6d0a9ep+2 +-0x1.b4f5ecp+4 +0x1.94ea4ap-1 +-0x1.dd3e7cp+3 +0x1.00c328p+3 +-0x1.06b808p+1 +0x1.5e68c2p+4 +0x1.b57a62p+3 +0x1.dbb778p+2 +0x1.f8599ep+3 +0x1.a8ce9ap+2 +-0x1.1178ccp+4 +-0x1.16b262p+3 +0x1.4cb31ap+1 +-0x1.2b698cp+3 +-0x1.b2dec8p+2 +-0x1.9ead8p+1 +-0x1.7f25d2p+3 +-0x1.3ecb54p+2 +-0x1.42bd8cp+3 +-0x1.e64afp+4 +-0x1.8df506p-2 +-0x1.7fa6f8p+2 +0x1.f192dcp+3 +0x1.a23234p+4 +0x1.529f9ep+0 +-0x1.25c242p+4 +-0x1.264d34p+4 +-0x1.ab5a0ep+3 +0x1.27c7c8p+1 +0x1.be840ep+2 +0x1.abfd0ap+3 +0x1.73307cp+0 +0x1.8b75c8p+1 +-0x1.c614bap+4 +0x1.910e2p+1 +0x1.cc4adcp+3 +-0x1.072822p+4 +0x1.6f2704p+4 +0x1.1ee3a2p+5 +0x1.3e3134p+1 +0x1.d120bep-2 +-0x1.1fe198p+4 +-0x1.52b1fp+4 +-0x1.ae7658p+2 +-0x1.f114fp+4 +0x1.2db694p+3 +0x1.c01758p+1 +0x1.c6b936p+1 +-0x1.97d9cap+4 +-0x1.3aa6e6p+2 +0x1.9cae42p-1 +0x1.fd162ap+1 +0x1.4d23p+4 +-0x1.229a22p+4 +-0x1.15d246p+4 +-0x1.14ca8p-1 +-0x1.d28014p+4 +0x1.97ed02p+2 +0x1.2295dap+4 +0x1.03ef26p+3 +0x1.a8e6fep+2 +0x1.2c635cp+0 +-0x1.f6ca0cp+1 +-0x1.45c58p+1 +-0x1.c3de1ep-1 +0x1.e727dap+2 +0x1.abe67p+2 +-0x1.8fa346p+4 +-0x1.70b346p+2 +-0x1.1d62cp+5 +0x1.4f5d3cp+0 +-0x1.2baea6p+2 +0x1.c74a0cp+2 +0x1.5ab764p+4 +-0x1.8b71bp+2 +0x1.e5599ap+0 +-0x1.379358p+3 +0x1.281956p+4 +-0x1.074e08p-2 +-0x1.82f2a4p+0 +-0x1.15c314p-2 +-0x1.c518dcp+3 +-0x1.73992ap+1 +0x1.a6465ap+4 +0x1.6618c4p-4 +0x1.01d2e8p+4 +0x1.4919b4p+3 +-0x1.87c72p+1 +0x1.361b6ap-8 +0x1.8e16c2p+3 +0x1.e0c19cp+2 +0x1.6efdb6p+2 +0x1.77a86cp+4 +-0x1.9a52b4p+2 +0x1.2decd2p+4 +0x1.efa19ap+1 +-0x1.f7faecp+0 +-0x1.125dbep+3 +-0x1.aa25dap+2 +-0x1.0509b6p+4 +-0x1.0e841ep+5 +0x1.14f30ap-3 +0x1.8371f6p+4 +-0x1.a6997cp+3 +0x1.d0be9ap+0 +0x1.7a187p+3 +0x1.5c3bdp+4 +0x1.a8caecp+4 +0x1.4fabbp+1 +0x1.52e96p+4 +0x1.6ef878p+2 +0x1.e6a8c2p+3 +-0x1.153cd8p+3 +0x1.7465e2p+4 +0x1.19c6a2p+3 +-0x1.df655ap+3 +0x1.72168ep+2 +-0x1.fad952p+2 +-0x1.d3401ap+2 +0x1.1d3854p+3 +0x1.5c0a66p+4 +-0x1.8183e6p+1 +0x1.e1e5eep+1 +-0x1.2c7666p+5 +0x1.31e48ep+5 +-0x1.5b84d8p+3 +0x1.ac7e36p+3 +0x1.171c6cp+3 +0x1.b38194p-4 +-0x1.9c0b56p+3 +-0x1.16cd88p+3 +-0x1.5a04d8p+4 +-0x1.0cc51ep+5 +-0x1.d5ed58p+3 +-0x1.056de2p+4 +-0x1.e09562p+2 +0x1.0f0196p+3 +0x1.7fa3f6p+3 +0x1.fac5bp+2 +-0x1.f77ae6p+4 +-0x1.6f44f4p+2 +-0x1.9d4e52p+4 +0x1.94417p+3 +-0x1.58acb6p+2 +-0x1.87063ap+3 +0x1.b94356p+3 +0x1.8637e6p+3 +-0x1.440ac8p+3 +0x1.105cfep+0 +-0x1.bf9b0ep+3 +0x1.657f4cp+1 +-0x1.8f9cb6p+4 +0x1.1399d8p+4 +0x1.a28952p+2 +-0x1.23308ep+4 +-0x1.4c282ap+1 +-0x1.d9f856p+3 +0x1.bf6c9p+4 +-0x1.87bd2p+2 +-0x1.9292dcp+2 +0x1.472382p+3 +0x1.92499ap+4 +0x1.23e2c4p+3 +-0x1.1f5d28p+0 +-0x1.03af7ap+5 +-0x1.57e604p+2 +0x1.489f06p+4 +0x1.a3378ep+3 +0x1.127a2p+4 +-0x1.0412acp+4 +-0x1.c1fab6p+1 +-0x1.534a36p+4 +-0x1.227eeap+3 +-0x1.60bafap+4 +-0x1.6c1b4cp+3 +-0x1.e55c3p+3 +0x1.0136a2p+0 +-0x1.0ffdf8p+3 +-0x1.c6576p+3 +-0x1.b2896ep-1 +0x1.574f6ap+1 +0x1.324236p+4 +-0x1.a32442p+2 +0x1.9a389ap+4 +-0x1.1171cap+4 +0x1.0f7b1ep+3 +-0x1.6c053ep+3 +-0x1.9b99b6p+2 +0x1.b2a6d8p+4 +0x1.1f2bd6p+2 +-0x1.f0ccccp+3 +-0x1.1733p+3 +-0x1.6b2756p+3 +-0x1.187854p+4 +0x1.a7991ap+2 +0x1.857358p+3 +-0x1.0cfed6p-1 +-0x1.4de6ecp+3 +0x1.51a062p+3 +0x1.150624p+1 +-0x1.5cfe06p+4 +0x1.79170cp+1 +0x1.03e7acp+4 +-0x1.189198p+3 +0x1.b4c6bep+1 +-0x1.9184c8p+3 +-0x1.896958p+3 +0x1.5be384p+5 +-0x1.0a5d4ep+4 +0x1.9a2808p+0 +-0x1.52f6fcp+3 +0x1.3c8b1ep+2 +0x1.2ea336p+1 +0x1.e53f12p+4 +0x1.957874p+4 +-0x1.2e50c6p+3 +0x1.f60822p+2 +0x1.b8e3e6p+3 +0x1.288f64p+4 +0x1.3ab57ap+3 +0x1.00560ep+4 +-0x1.018fdap+2 +-0x1.1663e6p-1 +-0x1.b38c7ap+2 +-0x1.56593cp+2 +-0x1.658a9ap+4 +-0x1.025216p-3 +-0x1.72fcdcp+4 +-0x1.d97294p+2 +-0x1.c49a1ep+2 +-0x1.e36a8p+4 +-0x1.2f653ap+4 +-0x1.e1be1ep+2 +-0x1.6f8874p+2 +-0x1.016da2p+4 +0x1.082ca6p+0 +-0x1.a2bbbep+2 +-0x1.56d822p+3 +-0x1.0dbebap+3 +-0x1.b94eb6p+3 +-0x1.a9bf86p+1 +-0x1.085582p+2 +0x1.022d02p+1 +0x1.3063e8p+5 +0x1.eab3b2p+4 +0x1.e5f194p+3 +0x1.5ef1a2p+3 +0x1.e69e94p+1 +0x1.545416p+3 +-0x1.b5e41p+3 +-0x1.68c7d2p+1 +0x1.7ffc78p+0 +0x1.a668c8p+4 +0x1.0b28f2p+6 +0x1.433504p+4 +0x1.685124p+5 +0x1.4745e4p+3 +-0x1.695746p+2 +-0x1.c3d85cp+4 +0x1.2ca546p+4 +-0x1.5e28cep+2 +-0x1.92bfbap+3 +0x1.97f2a6p+2 +0x1.282c0ep+3 +0x1.2e83fp-3 +-0x1.e1a488p+0 +-0x1.95bdb2p+1 +0x1.6600fep+4 +0x1.2e1d9cp+0 +-0x1.70e9eap+1 +-0x1.d20f1ap+3 +-0x1.c22c62p+2 +0x1.5ede8cp+2 +-0x1.ddccc6p+2 +-0x1.37b3b2p+3 +0x1.293dccp+3 +0x1.a0908ap+3 +-0x1.19e172p+3 +-0x1.1587ap+4 +0x1.04d7bep+4 +0x1.a9bfdp+1 +0x1.7ffbdp+3 +-0x1.604336p+2 +0x1.06267ap+1 +0x1.0ac26cp+1 +-0x1.2f2bf4p+4 +0x1.6ae676p-4 +0x1.44e9dp+4 +-0x1.e43e3p+4 +-0x1.28e92p+3 +-0x1.7353a4p+3 +-0x1.10a858p+4 +0x1.32f94cp-1 +0x1.f9f834p+0 +0x1.975716p+2 +0x1.1d7c02p+4 +-0x1.6dec8ap+0 +-0x1.5d11dp+3 +-0x1.2747dap+2 +0x1.7f675ep+4 +-0x1.25e7bep+5 +0x1.2ab506p+3 +-0x1.b5d0f4p+1 +-0x1.6c1508p+1 +-0x1.cee6ecp+2 +0x1.07e3d6p+5 +-0x1.c45816p+4 +-0x1.4d33cep+0 +0x1.ab0d78p+2 +0x1.b383e6p+3 +0x1.5da5ecp+3 +-0x1.ae0576p+3 +0x1.4f48d4p+3 +-0x1.880168p+1 +-0x1.87add8p+4 +-0x1.14db9ap+3 +0x1.47c03p+2 +-0x1.2b0216p+4 +-0x1.7bfb0cp-1 +-0x1.0c23e6p+4 +-0x1.15774ap+3 +-0x1.7ac434p+1 +0x1.c550fcp+4 +0x1.83d7cep+4 +0x1.0175d4p+5 +-0x1.2212fap+1 +0x1.217f3ep+4 +-0x1.cd855cp+2 +0x1.ccea5ap+2 +0x1.558402p+3 +-0x1.8ab1c2p+4 +-0x1.809848p+1 +-0x1.526644p+3 +0x1.305104p+5 +0x1.eff682p+3 +-0x1.5afb16p+4 +0x1.1e33cp+4 +-0x1.e25cf6p+1 +0x1.2a89dep+2 +-0x1.1674f4p+4 +-0x1.2284f2p-2 +-0x1.cf1ddap+2 +0x1.b3a79p+3 +0x1.468334p+2 +0x1.190e34p+3 +0x1.2509ecp+1 +0x1.7a11f6p+3 +-0x1.ce345cp-2 +-0x1.203b3cp+4 +-0x1.0c93c6p+2 +0x1.963b6ep+3 +-0x1.e1bdc6p+3 +0x1.4d96d8p+4 +-0x1.b92d8p+2 +0x1.e2caa2p+3 +0x1.f8baf2p+0 +-0x1.02dc14p+5 +-0x1.24534cp+1 +0x1.a87ed4p+3 +0x1.5e37aap+3 +-0x1.3cadc2p+4 +-0x1.19840ap+4 +0x1.1959ep+3 +0x1.52bed4p+4 +0x1.dbfbaap+1 +0x1.eee934p+2 +0x1.203d42p+1 +0x1.90b58ep+4 +-0x1.37057ap+3 +-0x1.b2a806p+4 +0x1.e67ccep+4 +-0x1.3c67a4p+4 +-0x1.bfe3aap+3 +0x1.35cebcp+4 +0x1.0422ccp+4 +-0x1.60be74p+3 +0x1.035cecp+3 +0x1.7f99fcp+2 +-0x1.6f9c5ep+4 +-0x1.845438p+4 +-0x1.127e6ep+2 +0x1.4cfddep+4 +-0x1.1d4bd6p+4 +0x1.6a88e8p+3 +0x1.9d6a58p+0 +-0x1.3b15fp+1 +0x1.35beeap-3 +-0x1.55bb66p-2 +-0x1.80a282p+3 +0x1.c414d4p+4 +-0x1.1f50c4p+3 +0x1.d420b2p+1 +-0x1.fd9dd8p-1 +0x1.7df5acp+3 +0x1.6eb4e8p+1 +-0x1.1194fep+4 +0x1.13a326p+3 +0x1.e7069cp+4 +-0x1.89a242p+3 +-0x1.107502p+4 +-0x1.fb0a94p+3 +-0x1.f37b9ep+4 +-0x1.55cp+4 +0x1.12ed7ap+2 +0x1.cd24b4p+2 +0x1.17089p+4 +0x1.90a1fcp+3 +0x1.88f71ap+2 +-0x1.0e428ap+0 +-0x1.9a536ep+2 +-0x1.f8c908p+3 +0x1.40c9a2p-2 +0x1.bb0f58p+4 +0x1.4f096cp+4 +-0x1.8639acp+1 +-0x1.ddc002p-3 +0x1.15ea76p+4 +-0x1.a43148p+4 +0x1.3085c6p+5 +-0x1.3a122cp+3 +-0x1.8466c8p+3 +-0x1.07a3a2p+3 +-0x1.64907p+4 +-0x1.b6cfc8p+2 +0x1.a9f23ep+3 +0x1.8f8862p+3 +-0x1.0520dap+3 +-0x1.fd38e4p+3 +0x1.23a194p+3 +-0x1.a17682p+4 +-0x1.ebb218p+3 +-0x1.8824d2p+4 +0x1.100b8ep+1 +-0x1.8303ap+4 +-0x1.32ae3cp+1 +0x1.20cb3cp+4 +0x1.b455d2p+2 +0x1.321f6ap+3 +-0x1.d72368p+4 +-0x1.2e6a72p+4 +-0x1.e802acp+3 +-0x1.283a26p+2 +-0x1.4683fcp+1 +-0x1.097924p+4 +0x1.6fae44p+0 +-0x1.66857cp-3 +-0x1.1808dp+4 +-0x1.88bbc4p+3 +-0x1.22e884p+1 +0x1.ce560cp-2 +0x1.fe4936p+2 +-0x1.e70f7ap+3 +-0x1.a22572p+4 +0x1.93bb64p+3 +-0x1.26ee7ep+4 +-0x1.86e8ap+4 +0x1.324cacp+4 +0x1.1e2ab2p+3 +-0x1.23a576p+3 +-0x1.24f144p+3 +-0x1.4b31f8p+1 +0x1.16c554p+3 From patchwork Wed Nov 24 19:38:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48111 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BF00A3857C66 for ; Wed, 24 Nov 2021 20:40:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BF00A3857C66 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637786451; bh=+/E6fsfQVZlM8bJPUKCx7o9K7guMIS8wlLwbFn3g52Y=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=B48oNg/RtJG6XRvGhp7udKkNj4a7O7GPioF5IbBBIoqGETqiHrZQjEd/N6OK22c+b C2kAk3mjXA41LlgluioEFXmneWq7JtUd5dwnxlCuxF1paMkGft37/46wiEEj+HuIFT aSZDULn/yH/aizH5gvAdX0PVGkVlgYO+7g0+ZSLY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id DC640385801A for ; Wed, 24 Nov 2021 19:38:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DC640385801A X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="298763451" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="298763451" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="607313129" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga004.jf.intel.com with ESMTP; 24 Nov 2021 11:38:16 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XQ021555; Wed, 24 Nov 2021 11:38:14 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 39/42] x86-64: Add vector tan/tanf implementation to libmvec Date: Wed, 24 Nov 2021 11:38:04 -0800 Message-Id: <20211124193807.2093208-40-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized tan/tanf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector tan/tanf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 20 + .../fpu/multiarch/svml_d_tan2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_tan2_core.c | 27 + .../fpu/multiarch/svml_d_tan2_core_sse4.S | 21778 ++++++++++++++++ .../fpu/multiarch/svml_d_tan4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_tan4_core.c | 27 + .../fpu/multiarch/svml_d_tan4_core_avx2.S | 21275 +++++++++++++++ .../fpu/multiarch/svml_d_tan8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_tan8_core.c | 27 + .../fpu/multiarch/svml_d_tan8_core_avx512.S | 20210 ++++++++++++++ .../fpu/multiarch/svml_s_tanf16_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_s_tanf16_core.c | 28 + .../fpu/multiarch/svml_s_tanf16_core_avx512.S | 3168 +++ .../fpu/multiarch/svml_s_tanf4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_tanf4_core.c | 28 + .../fpu/multiarch/svml_s_tanf4_core_sse4.S | 4562 ++++ .../fpu/multiarch/svml_s_tanf8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_tanf8_core.c | 28 + .../fpu/multiarch/svml_s_tanf8_core_avx2.S | 4192 +++ sysdeps/x86_64/fpu/svml_d_tan2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_tan4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_tan4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_tan8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_tanf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_tanf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_tanf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_tanf8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-tan-avx.c | 1 + .../x86_64/fpu/test-double-libmvec-tan-avx2.c | 1 + .../fpu/test-double-libmvec-tan-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-tan.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-tanf-avx.c | 1 + .../x86_64/fpu/test-float-libmvec-tanf-avx2.c | 1 + .../fpu/test-float-libmvec-tanf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-tanf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 75753 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_tan2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_tan4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_tan4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_tan8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_tanf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_tanf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_tanf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_tanf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-tan-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-tan-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-tan-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-tan.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-tanf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 9ed3c17389..3968f2935b 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -307,4 +307,15 @@ #define __DECL_SIMD_sinhf32x #define __DECL_SIMD_sinhf64x #define __DECL_SIMD_sinhf128x + +#define __DECL_SIMD_tan +#define __DECL_SIMD_tanf +#define __DECL_SIMD_tanl +#define __DECL_SIMD_tanf16 +#define __DECL_SIMD_tanf32 +#define __DECL_SIMD_tanf64 +#define __DECL_SIMD_tanf128 +#define __DECL_SIMD_tanf32x +#define __DECL_SIMD_tanf64x +#define __DECL_SIMD_tanf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index cb733b3773..48a525234e 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -63,7 +63,7 @@ __MATHCALL_VEC (cos,, (_Mdouble_ __x)); /* Sine of X. */ __MATHCALL_VEC (sin,, (_Mdouble_ __x)); /* Tangent of X. */ -__MATHCALL (tan,, (_Mdouble_ __x)); +__MATHCALL_VEC (tan,, (_Mdouble_ __x)); /* Hyperbolic functions. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index 19f5e2edf2..f8280539f6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -63,6 +63,7 @@ GLIBC_2.35 _ZGVbN2v_log10 F GLIBC_2.35 _ZGVbN2v_log1p F GLIBC_2.35 _ZGVbN2v_log2 F GLIBC_2.35 _ZGVbN2v_sinh F +GLIBC_2.35 _ZGVbN2v_tan F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN2vv_hypot F GLIBC_2.35 _ZGVbN4v_acosf F @@ -82,6 +83,7 @@ GLIBC_2.35 _ZGVbN4v_log10f F GLIBC_2.35 _ZGVbN4v_log1pf F GLIBC_2.35 _ZGVbN4v_log2f F GLIBC_2.35 _ZGVbN4v_sinhf F +GLIBC_2.35 _ZGVbN4v_tanf F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVbN4vv_hypotf F GLIBC_2.35 _ZGVcN4v_acos F @@ -101,6 +103,7 @@ GLIBC_2.35 _ZGVcN4v_log10 F GLIBC_2.35 _ZGVcN4v_log1p F GLIBC_2.35 _ZGVcN4v_log2 F GLIBC_2.35 _ZGVcN4v_sinh F +GLIBC_2.35 _ZGVcN4v_tan F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN4vv_hypot F GLIBC_2.35 _ZGVcN8v_acosf F @@ -120,6 +123,7 @@ GLIBC_2.35 _ZGVcN8v_log10f F GLIBC_2.35 _ZGVcN8v_log1pf F GLIBC_2.35 _ZGVcN8v_log2f F GLIBC_2.35 _ZGVcN8v_sinhf F +GLIBC_2.35 _ZGVcN8v_tanf F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVcN8vv_hypotf F GLIBC_2.35 _ZGVdN4v_acos F @@ -139,6 +143,7 @@ GLIBC_2.35 _ZGVdN4v_log10 F GLIBC_2.35 _ZGVdN4v_log1p F GLIBC_2.35 _ZGVdN4v_log2 F GLIBC_2.35 _ZGVdN4v_sinh F +GLIBC_2.35 _ZGVdN4v_tan F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN4vv_hypot F GLIBC_2.35 _ZGVdN8v_acosf F @@ -158,6 +163,7 @@ GLIBC_2.35 _ZGVdN8v_log10f F GLIBC_2.35 _ZGVdN8v_log1pf F GLIBC_2.35 _ZGVdN8v_log2f F GLIBC_2.35 _ZGVdN8v_sinhf F +GLIBC_2.35 _ZGVdN8v_tanf F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVdN8vv_hypotf F GLIBC_2.35 _ZGVeN16v_acosf F @@ -177,6 +183,7 @@ GLIBC_2.35 _ZGVeN16v_log10f F GLIBC_2.35 _ZGVeN16v_log1pf F GLIBC_2.35 _ZGVeN16v_log2f F GLIBC_2.35 _ZGVeN16v_sinhf F +GLIBC_2.35 _ZGVeN16v_tanf F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN16vv_hypotf F GLIBC_2.35 _ZGVeN8v_acos F @@ -196,5 +203,6 @@ GLIBC_2.35 _ZGVeN8v_log10 F GLIBC_2.35 _ZGVeN8v_log1p F GLIBC_2.35 _ZGVeN8v_log2 F GLIBC_2.35 _ZGVeN8v_sinh F +GLIBC_2.35 _ZGVeN8v_tan F GLIBC_2.35 _ZGVeN8vv_atan2 F GLIBC_2.35 _ZGVeN8vv_hypot F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index 3fab52e942..618a30cdc1 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -134,6 +134,10 @@ # define __DECL_SIMD_sinh __DECL_SIMD_x86_64 # undef __DECL_SIMD_sinhf # define __DECL_SIMD_sinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tan +# define __DECL_SIMD_tan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanf +# define __DECL_SIMD_tanf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index c23bc47f3c..8e2272e1eb 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -47,6 +47,7 @@ libmvec-funcs = \ sin \ sincos \ sinh \ + tan \ # Define libmvec function for benchtests directory. libmvec-bench-funcs = \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 626142bd6b..6cb335cf94 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -31,6 +31,7 @@ libmvec { _ZGVbN2v_log1p; _ZGVcN4v_log1p; _ZGVdN4v_log1p; _ZGVeN8v_log1p; _ZGVbN2v_log2; _ZGVcN4v_log2; _ZGVdN4v_log2; _ZGVeN8v_log2; _ZGVbN2v_sinh; _ZGVcN4v_sinh; _ZGVdN4v_sinh; _ZGVeN8v_sinh; + _ZGVbN2v_tan; _ZGVcN4v_tan; _ZGVdN4v_tan; _ZGVeN8v_tan; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN2vv_hypot; _ZGVcN4vv_hypot; _ZGVdN4vv_hypot; _ZGVeN8vv_hypot; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; @@ -50,6 +51,7 @@ libmvec { _ZGVbN4v_log1pf; _ZGVcN8v_log1pf; _ZGVdN8v_log1pf; _ZGVeN16v_log1pf; _ZGVbN4v_log2f; _ZGVcN8v_log2f; _ZGVdN8v_log2f; _ZGVeN16v_log2f; _ZGVbN4v_sinhf; _ZGVcN8v_sinhf; _ZGVdN8v_sinhf; _ZGVeN16v_sinhf; + _ZGVbN4v_tanf; _ZGVcN8v_tanf; _ZGVdN8v_tanf; _ZGVeN16v_tanf; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; _ZGVbN4vv_hypotf; _ZGVcN8vv_hypotf; _ZGVdN8vv_hypotf; _ZGVeN16vv_hypotf; } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 67126a5c2b..4a6b224b5d 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -2080,6 +2080,26 @@ float: 1 float128: 1 ldouble: 2 +Function: "tan_vlen16": +float: 1 + +Function: "tan_vlen2": +double: 2 + +Function: "tan_vlen4": +double: 2 +float: 2 + +Function: "tan_vlen4_avx2": +double: 1 + +Function: "tan_vlen8": +double: 2 +float: 2 + +Function: "tan_vlen8_avx2": +float: 2 + Function: "tanh": double: 2 float: 2 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core-sse2.S new file mode 100644 index 0000000000..a8f5a390cd --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized tan, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_tan _ZGVbN2v_tan_sse2 +#include "../svml_d_tan2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core.c new file mode 100644 index 0000000000..4c41025a23 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized tan, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_tan +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_tan, __GI__ZGVbN2v_tan, __redirect__ZGVbN2v_tan) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core_sse4.S new file mode 100644 index 0000000000..16b77fc132 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core_sse4.S @@ -0,0 +1,21778 @@ +/* Function tan vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 1) Range reduction to [-Pi/4; +Pi/4] interval + * a) Grab sign from source argument and save it. + * b) Remove sign using AND 0x7fffffffffffffff operation + * c) Getting octant Y by 2/Pi multiplication + * d) Add "Right Shifter" (0x4330000000000000) value + * e) Treat obtained value as integer for destination sign setting. + * Shift first bit of this value to the last (sign) position (S << 63) + * f) Change destination sign if source sign is negative + * using XOR operation. + * g) Subtract "Right Shifter" (0x4330000000000000) value + * h) Subtract Y*(PI/2) from X argument, where PI/2 divided to 4 parts: + * X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4; + * 2) Rational polynomial approximation ( at [-Pi/4; +Pi/4] interval) + * a) Calculate X^2 = X * X + * b) Calculate 2 polynomials: + * P = X * (P0 + X^2 * (P1 + x^2 * (P2 + x^2 * (P3)))); + * Q = Q0 + X^2 * (Q1 + x^2 * (Q2 + x^2 * (Q3))); + * c) Swap P and Q if first bit of obtained value after + * Right Shifting is set to 1. Using And, Andnot & Or operations. + * d) Divide R = P / Q; + * 3) Destination sign setting + * a) Set shifted destination sign using XOR operation: + * R = XOR( R, S ); + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_tan_sse4) + 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 + movaps %xmm0, %xmm1 + movups 1024+__svml_dtan_data_internal(%rip), %xmm4 + +/* Legacy Code */ + xorl %eax, %eax + +/* b) Remove sign using AND 0x7fffffffffffffff operation */ + movaps %xmm4, %xmm5 + +/* a) Grab sign from source argument and save it. */ + andnps %xmm1, %xmm4 + +/* + * c) Getting octant Y by 2/Pi multiplication + * d) Add "Right Shifter" (0x4330000000000000) value + */ + movups 28288+__svml_dtan_data_internal(%rip), %xmm3 + andps %xmm1, %xmm5 + mulpd %xmm5, %xmm3 + movups 1152+__svml_dtan_data_internal(%rip), %xmm6 + +/* + * Range reduction + * X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4; + */ + movaps %xmm5, %xmm2 + addpd %xmm6, %xmm3 + +/* g) Subtract "Right Shifter" (0x4330000000000000) value */ + movaps %xmm3, %xmm0 + subpd %xmm6, %xmm0 + movups 28352+__svml_dtan_data_internal(%rip), %xmm7 + mulpd %xmm0, %xmm7 + movups 28416+__svml_dtan_data_internal(%rip), %xmm6 + mulpd %xmm0, %xmm6 + subpd %xmm7, %xmm2 + movups %xmm8, 176(%rsp) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xff, 0xff, 0xff, 0x22 + movups 28480+__svml_dtan_data_internal(%rip), %xmm8 + mulpd %xmm0, %xmm8 + subpd %xmm6, %xmm2 + subpd %xmm8, %xmm2 + movups %xmm13, 80(%rsp) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + +/* a) Calculate X^2 = X * X */ + movaps %xmm2, %xmm13 + mulpd %xmm2, %xmm13 + movups %xmm11, 112(%rsp) + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + +/* + * b) Calculate 2 polynomials: + * P = X * (P0 + X^2 * (P1 + x^2 * (P2 + x^2 * (P3)))); + * Q = Q0 + X^2 * (Q1 + x^2 * (Q2 + x^2 * (Q3))); + * Assume P0 = 1 + */ + movups 28928+__svml_dtan_data_internal(%rip), %xmm11 + mulpd %xmm13, %xmm11 + movups %xmm10, 144(%rsp) + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xff, 0xff, 0xff, 0x22 + movups 29184+__svml_dtan_data_internal(%rip), %xmm10 + addpd 28864+__svml_dtan_data_internal(%rip), %xmm11 + mulpd %xmm13, %xmm10 + mulpd %xmm13, %xmm11 + addpd 29120+__svml_dtan_data_internal(%rip), %xmm10 + addpd 28800+__svml_dtan_data_internal(%rip), %xmm11 + mulpd %xmm13, %xmm10 + mulpd %xmm13, %xmm11 + addpd 29056+__svml_dtan_data_internal(%rip), %xmm10 + mulpd %xmm2, %xmm11 + mulpd %xmm10, %xmm13 + addpd %xmm11, %xmm2 + addpd 28992+__svml_dtan_data_internal(%rip), %xmm13 + movups %xmm9, 160(%rsp) + movups %xmm14, 48(%rsp) + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + +/* 1) Range reduction to [-Pi/4; +Pi/4] interval */ + pxor %xmm9, %xmm9 + +/* + * e) Treat obtained value as integer for destination sign setting. + * Shift first bit of this value to the last (sign) position (S << 63) + * f) Change destination sign if source sign is negative + * using XOR operation. + */ + movaps %xmm3, %xmm14 + psllq $62, %xmm3 + cmpneqpd %xmm9, %xmm3 + movups %xmm12, 96(%rsp) + +/* + * c) Swap P and Q if first bit of obtained value after + * Right Shifting is set to 1. Using And, Andnot & Or operations. + */ + movaps %xmm3, %xmm0 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movaps %xmm3, %xmm12 + andnps %xmm2, %xmm0 + andps %xmm13, %xmm12 + andps %xmm3, %xmm2 + andnps %xmm13, %xmm3 + orps %xmm12, %xmm0 + orps %xmm3, %xmm2 + psllq $63, %xmm14 + +/* d) Divide R = P / Q; */ + divpd %xmm2, %xmm0 + pxor %xmm4, %xmm14 + +/* Large values check */ + movaps %xmm5, %xmm4 + cmpnlepd 28160+__svml_dtan_data_internal(%rip), %xmm4 + movmskpd %xmm4, %edx + +/* + * 3) Destination sign setting + * a) Set shifted destination sign using XOR operation: + * R = XOR( R, S ); + */ + pxor %xmm14, %xmm0 + movups %xmm15, 32(%rsp) + testl %edx, %edx + jne .LBL_1_12 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_2: + testl %eax, %eax + jne .LBL_1_4 + +.LBL_1_3: + movups 176(%rsp), %xmm8 + cfi_restore(25) + movups 160(%rsp), %xmm9 + cfi_restore(26) + movups 144(%rsp), %xmm10 + cfi_restore(27) + movups 112(%rsp), %xmm11 + cfi_restore(28) + movups 96(%rsp), %xmm12 + cfi_restore(29) + movups 80(%rsp), %xmm13 + cfi_restore(30) + movups 48(%rsp), %xmm14 + cfi_restore(31) + movups 32(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_4: + movups %xmm1, 64(%rsp) + movups %xmm0, 128(%rsp) + je .LBL_1_3 + xorl %edx, %edx + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r13d + +.LBL_1_8: + btl %r12d, %r13d + jc .LBL_1_11 + +.LBL_1_9: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_8 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + movups 128(%rsp), %xmm0 + jmp .LBL_1_3 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + +.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) + +.LBL_1_12: + movdqu .FLT_20(%rip), %xmm3 + +/* + * 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), %r10 + pand %xmm1, %xmm3 + psrlq $52, %xmm3 + +/* + * 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 + */ + movdqu .FLT_21(%rip), %xmm2 + movd %xmm3, %edx + pand %xmm1, %xmm2 + paddq .FLT_22(%rip), %xmm2 + pextrw $4, %xmm3, %r8d + movups 1088+__svml_dtan_data_internal(%rip), %xmm10 + lea (%rdx,%rdx,2), %ecx + shll $3, %ecx + lea (%r8,%r8,2), %r9d + shll $3, %r9d + movdqa %xmm2, %xmm6 + movq 16(%rcx,%r10), %xmm8 + andps %xmm10, %xmm5 + movhpd 16(%r9,%r10), %xmm8 + psrlq $32, %xmm6 + movups %xmm0, 16(%rsp) + movaps %xmm8, %xmm0 + +/* + * Break the P_xxx and m into 32-bit chunks ready for + * the long multiplication via 32x32->64 multiplications + */ + movdqu .FLT_23(%rip), %xmm15 + psrlq $32, %xmm0 + movq 8(%rcx,%r10), %xmm13 + pand %xmm15, %xmm2 + cmpeqpd %xmm10, %xmm5 + movdqa %xmm6, %xmm10 + movdqa %xmm2, %xmm11 + movhpd 8(%r9,%r10), %xmm13 + pand %xmm15, %xmm8 + pmuludq %xmm0, %xmm10 + movaps %xmm13, %xmm14 + pmuludq %xmm2, %xmm0 + pmuludq %xmm6, %xmm8 + movmskpd %xmm5, %eax + pand %xmm15, %xmm13 + psrlq $32, %xmm0 + pmuludq %xmm13, %xmm11 + psrlq $32, %xmm14 + pmuludq %xmm6, %xmm13 + paddq %xmm0, %xmm10 + movdqa %xmm2, %xmm12 + movdqa %xmm15, %xmm3 + pmuludq %xmm14, %xmm12 + pand %xmm11, %xmm3 + pmuludq %xmm6, %xmm14 + paddq %xmm10, %xmm3 + movq (%rcx,%r10), %xmm7 + movdqa %xmm15, %xmm9 + movhpd (%r9,%r10), %xmm7 + psrlq $32, %xmm8 + psrlq $32, %xmm11 + pand %xmm7, %xmm9 + movdqa %xmm2, %xmm5 + movdqa %xmm15, %xmm10 + paddq %xmm3, %xmm8 + paddq %xmm11, %xmm13 + pmuludq %xmm9, %xmm5 + +/* Now do the big multiplication and carry propagation */ + pmuludq %xmm9, %xmm6 + pand %xmm12, %xmm10 + movaps %xmm8, %xmm0 + paddq %xmm13, %xmm10 + psrlq $32, %xmm0 + psrlq $32, %xmm12 + psrlq $32, %xmm7 + movdqa %xmm15, %xmm11 + paddq %xmm10, %xmm0 + paddq %xmm12, %xmm14 + pmuludq %xmm7, %xmm2 + pand %xmm5, %xmm11 + movdqa %xmm0, %xmm13 + paddq %xmm14, %xmm11 + psrlq $32, %xmm13 + psrlq $32, %xmm5 + paddq %xmm11, %xmm13 + paddq %xmm5, %xmm6 + pand %xmm15, %xmm2 + movdqa %xmm13, %xmm3 + paddq %xmm6, %xmm2 + psrlq $32, %xmm3 + pand %xmm15, %xmm13 + paddq %xmm2, %xmm3 + psllq $32, %xmm3 + +/* Assemble reduced argument from the pieces */ + pand %xmm15, %xmm8 + paddq %xmm13, %xmm3 + +/* + * 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). + */ + movdqu .FLT_24(%rip), %xmm9 + movdqa %xmm3, %xmm5 + +/* + * Create floating-point high part, implicitly adding integer bit 1 + * Incorporate overall sign at this stage too. + */ + movdqu .FLT_25(%rip), %xmm15 + pand %xmm1, %xmm9 + +/* + * 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. + */ + movups .FLT_26(%rip), %xmm12 + psrlq $12, %xmm5 + pxor %xmm9, %xmm15 + movaps %xmm12, %xmm10 + por %xmm15, %xmm5 + psllq $32, %xmm0 + addpd %xmm5, %xmm10 + paddq %xmm8, %xmm0 + movaps %xmm10, %xmm14 + +/* Load constants (not all needed at once) */ + lea 1632+__svml_dtan_data_internal(%rip), %r9 + movdqu .FLT_30(%rip), %xmm6 + movdqu .FLT_28(%rip), %xmm7 + pand %xmm3, %xmm6 + +/* + * 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. + */ + movdqu .FLT_27(%rip), %xmm8 + pand %xmm0, %xmm7 + subpd %xmm12, %xmm14 + psllq $40, %xmm6 + psrlq $24, %xmm0 + pxor %xmm9, %xmm8 + por %xmm0, %xmm6 + pxor .FLT_29(%rip), %xmm9 + psllq $28, %xmm7 + subpd %xmm14, %xmm5 + por %xmm9, %xmm6 + +/* Now add them up into 2 reasonably aligned pieces */ + movaps %xmm5, %xmm11 + subpd %xmm9, %xmm6 + addpd %xmm6, %xmm11 + subpd %xmm11, %xmm5 + por %xmm8, %xmm7 + subpd %xmm8, %xmm7 + addpd %xmm5, %xmm6 + +/* Split RHi into 26-bit leading part and 27-bit trailing part */ + movups .FLT_34(%rip), %xmm2 + movaps %xmm2, %xmm15 + andps %xmm11, %xmm15 + addpd %xmm6, %xmm7 + subpd %xmm15, %xmm11 + mulpd .FLT_31(%rip), %xmm7 + +/* + * Now multiply those numbers all by 2 pi, reasonably accurately. + * The top part uses 2pi = d2pi_lead + d2pi_trail, where + * d2pi_lead has 27 significant bits. + */ + movups .FLT_32(%rip), %xmm0 + movups .FLT_33(%rip), %xmm3 + +/* + * Do the multiplication as exact top part and "naive" low part. + * This still maintains almost 30 bits of offset and doesn't drop + * the accuracy much below what we already have. + */ + movaps %xmm0, %xmm12 + mulpd %xmm15, %xmm12 + mulpd %xmm11, %xmm0 + mulpd %xmm3, %xmm15 + mulpd %xmm11, %xmm3 + addpd %xmm15, %xmm0 + addpd %xmm3, %xmm7 + addpd %xmm7, %xmm0 + +/* + * Do another stage of compensated summation to get full offset + * between the pieces dRedHi + dRedLo. + * Depending on the later algorithm, we might avoid this stage. + */ + movaps %xmm0, %xmm13 + addpd %xmm12, %xmm13 + subpd %xmm13, %xmm12 + +/* + * 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) + */ + movups .FLT_36(%rip), %xmm7 + movups .FLT_35(%rip), %xmm3 + movaps %xmm7, %xmm14 + andps %xmm1, %xmm3 + cmpltpd %xmm3, %xmm14 + cmplepd %xmm7, %xmm3 + addpd %xmm12, %xmm0 + +/* Grab our final N value as an integer, appropriately masked mod 2^9 */ + pand .FLT_37(%rip), %xmm10 + andps %xmm1, %xmm3 + +/* + * Argument reduction is now finished: x = n * pi/256 + r + * where n = lIndex and r = dZ + * But we have n modulo 512, needed for sin/cos with period 2pi + * but we want it modulo 256 since tan has period pi. + */ + pand .FLT_38(%rip), %xmm10 + andps %xmm14, %xmm13 + movd %xmm10, %r11d + orps %xmm13, %xmm3 + andps %xmm0, %xmm14 + movups %xmm1, (%rsp) + pextrw $4, %xmm10, %ecx + imull $104, %r11d, %edx + +/* + * The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND + * Simply absorb E into Z instead of keeping a 2-part result. + */ + addpd %xmm14, %xmm3 + imull $104, %ecx, %r8d + movq -96(%rdx,%r9), %xmm1 + movhpd -96(%r8,%r9), %xmm1 + +/* + * Compute reciprocal component + * Construct a separate reduced argument modulo pi near pi/2 multiples. + * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument + * from an accurate B_hi = (128 - n) pi/256. + */ + subpd %xmm3, %xmm1 + +/* Now compute an approximate reciprocal to mix into the computation. */ + cvtpd2ps %xmm1, %xmm5 + movlhps %xmm5, %xmm5 + +/* + * Now compute the error dEr where dRecip_hi = (1/R_full) * (1 - dEr) + * so that we can compensate for it. + */ + andps %xmm1, %xmm2 + rcpps %xmm5, %xmm6 + subpd %xmm2, %xmm1 + cvtps2pd %xmm6, %xmm6 + mulpd %xmm6, %xmm2 + mulpd %xmm6, %xmm1 + movups .FLT_39(%rip), %xmm5 + subpd %xmm2, %xmm5 + subpd %xmm1, %xmm5 + +/* + * Get a working-precision reciprocal 1/dR_full + * using a fourth-order polynomial approximation + * R + (E*R) * (1 + E) * (1 + E^2) + */ + movaps %xmm5, %xmm1 + +/* + * Higher polynomial terms + * Stage 1 (with unlimited parallelism) + * Z2 = Z^2 + */ + movaps %xmm3, %xmm2 + mulpd %xmm5, %xmm1 + mulpd %xmm3, %xmm2 + addpd %xmm1, %xmm5 + mulpd %xmm6, %xmm1 + addpd %xmm6, %xmm1 + movq -24(%rdx,%r9), %xmm13 + movq -8(%rdx,%r9), %xmm12 + movhpd -24(%r8,%r9), %xmm13 + movhpd -8(%r8,%r9), %xmm12 + +/* P5 = C3 + C4 * Z */ + mulpd %xmm3, %xmm13 + +/* P6 = C5 + C6 * Z */ + mulpd %xmm3, %xmm12 + mulpd %xmm1, %xmm5 + movq (%rdx,%r9), %xmm15 + movhpd (%r8,%r9), %xmm15 + +/* P9 = C5 + C6 * Z + C7 * Z^2 */ + mulpd %xmm2, %xmm15 + addpd %xmm5, %xmm6 + movq -40(%rdx,%r9), %xmm14 + +/* + * Stage 2 (with unlimited parallelism) + * Z4 = Z^4 + */ + movaps %xmm2, %xmm5 + movq -32(%rdx,%r9), %xmm10 + movq -16(%rdx,%r9), %xmm11 + movhpd -40(%r8,%r9), %xmm14 + movhpd -32(%r8,%r9), %xmm10 + movhpd -16(%r8,%r9), %xmm11 + +/* P4 = C1_lo + C2 * Z */ + mulpd %xmm3, %xmm14 + addpd %xmm13, %xmm10 + addpd %xmm12, %xmm11 + mulpd %xmm2, %xmm5 + +/* P10 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 */ + mulpd %xmm10, %xmm2 + addpd %xmm15, %xmm11 + movq -48(%rdx,%r9), %xmm0 + movhpd -48(%r8,%r9), %xmm0 + addpd %xmm14, %xmm0 + +/* + * Stage 3 (with unlimited parallelism) + * P12 = C1_lo + C2 * Z + ... + C7 * Z^6 + */ + mulpd %xmm11, %xmm5 + addpd %xmm2, %xmm0 + movq -56(%rdx,%r9), %xmm8 + movhpd -56(%r8,%r9), %xmm8 + +/* + * Sum of dominant component(s) + * Compute C0_hi + C1_hi * Z + Recip_hi = H4 + * H2 = C0_hi + C1_hi * Z (exact since C1_hi is 1 bit) + */ + mulpd %xmm3, %xmm8 + addpd %xmm5, %xmm0 + movq -80(%rdx,%r9), %xmm9 + movhpd -80(%r8,%r9), %xmm9 + +/* + * dRecip_hi is only used when dTau is one (cotangent path) + * H4 = C0_hi + C1_hi * Z + Recip_hi + */ + mulpd %xmm6, %xmm9 + +/* And now the very final summation */ + mulpd %xmm0, %xmm3 + movq -72(%rdx,%r9), %xmm7 + +/* + * + * End of large arguments path + * + * Merge results from main and large paths: + */ + movaps %xmm4, %xmm0 + movhpd -72(%r8,%r9), %xmm7 + addpd %xmm8, %xmm7 + addpd %xmm9, %xmm7 + addpd %xmm3, %xmm7 + andnps 16(%rsp), %xmm0 + andps %xmm4, %xmm7 + movups (%rsp), %xmm1 + orps %xmm7, %xmm0 + jmp .LBL_1_2 + +END(_ZGVbN2v_tan_sse4) + + .align 16,0x90 + +__svml_dtan_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dtan_cout_rare_internal,@function + .size __svml_dtan_cout_rare_internal,.-__svml_dtan_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dtan_data_internal: + .long 1841940611 + .long 1075076912 + .long 1841940611 + .long 1075076912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413754136 + .long 1070146043 + .long 1413754136 + .long 1070146043 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 856972294 + .long 1013032486 + .long 856972294 + .long 1013032486 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 688016905 + .long 958143697 + .long 688016905 + .long 958143697 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 855638016 + .long 1013032486 + .long 855638016 + .long 1013032486 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3773204808 + .long 979655686 + .long 3773204808 + .long 979655686 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 285935618 + .long 1069617425 + .long 285935618 + .long 1069617425 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1218258378 + .long 1068212666 + .long 1218258378 + .long 1068212666 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1716452265 + .long 1066820779 + .long 1716452265 + .long 1066820779 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3351902813 + .long 1065508044 + .long 3351902813 + .long 1065508044 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1127743488 + .long 0 + .long 1127743488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413480448 + .long 1065951739 + .long 1413480448 + .long 1065951739 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 442499072 + .long 1029747809 + .long 442499072 + .long 1029747809 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 771977331 + .long 993204618 + .long 771977331 + .long 993204618 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 511 + .long 0 + .long 511 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1841940611 + .long 1079271216 + .long 1841940611 + .long 1079271216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1841940611 + .long 1071931184 + .long 1841940611 + .long 1071931184 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413742592 + .long 1073291771 + .long 1413742592 + .long 1073291771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1280049152 + .long 1032227875 + .long 1280049152 + .long 1032227875 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 57701189 + .long 992578094 + .long 57701189 + .long 992578094 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 856972294 + .long 1016178214 + .long 856972294 + .long 1016178214 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 688016905 + .long 961289425 + .long 688016905 + .long 961289425 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3191264137 + .long 3217058711 + .long 3191264137 + .long 3217058711 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3706049281 + .long 1063713903 + .long 3706049281 + .long 1063713903 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3458873344 + .long 3202311037 + .long 3458873344 + .long 3202311037 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 879804142 + .long 3218967329 + .long 879804142 + .long 3218967329 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2328005206 + .long 1066919862 + .long 2328005206 + .long 1066919862 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 62689958 + .long 3207287387 + .long 62689958 + .long 3207287387 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_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 16 + +.FLT_20: + .long 0x00000000,0x7ff00000,0x00000000,0x7ff00000 + .type .FLT_20,@object + .size .FLT_20,16 + .align 16 + +.FLT_21: + .long 0xffffffff,0x000fffff,0xffffffff,0x000fffff + .type .FLT_21,@object + .size .FLT_21,16 + .align 16 + +.FLT_22: + .long 0x00000000,0x00100000,0x00000000,0x00100000 + .type .FLT_22,@object + .size .FLT_22,16 + .align 16 + +.FLT_23: + .long 0xffffffff,0x00000000,0xffffffff,0x00000000 + .type .FLT_23,@object + .size .FLT_23,16 + .align 16 + +.FLT_24: + .long 0x00000000,0x80000000,0x00000000,0x80000000 + .type .FLT_24,@object + .size .FLT_24,16 + .align 16 + +.FLT_25: + .long 0x00000000,0x3ff00000,0x00000000,0x3ff00000 + .type .FLT_25,@object + .size .FLT_25,16 + .align 16 + +.FLT_26: + .long 0x00000000,0x42a80000,0x00000000,0x42a80000 + .type .FLT_26,@object + .size .FLT_26,16 + .align 16 + +.FLT_27: + .long 0x00000000,0x39700000,0x00000000,0x39700000 + .type .FLT_27,@object + .size .FLT_27,16 + .align 16 + +.FLT_28: + .long 0x00ffffff,0x00000000,0x00ffffff,0x00000000 + .type .FLT_28,@object + .size .FLT_28,16 + .align 16 + +.FLT_29: + .long 0x00000000,0x3cb00000,0x00000000,0x3cb00000 + .type .FLT_29,@object + .size .FLT_29,16 + .align 16 + +.FLT_30: + .long 0x00000fff,0x00000000,0x00000fff,0x00000000 + .type .FLT_30,@object + .size .FLT_30,16 + .align 16 + +.FLT_31: + .long 0x54442d18,0x401921fb,0x54442d18,0x401921fb + .type .FLT_31,@object + .size .FLT_31,16 + .align 16 + +.FLT_32: + .long 0x54000000,0x401921fb,0x54000000,0x401921fb + .type .FLT_32,@object + .size .FLT_32,16 + .align 16 + +.FLT_33: + .long 0x11a62633,0x3e310b46,0x11a62633,0x3e310b46 + .type .FLT_33,@object + .size .FLT_33,16 + .align 16 + +.FLT_34: + .long 0xf8000000,0xffffffff,0xf8000000,0xffffffff + .type .FLT_34,@object + .size .FLT_34,16 + .align 16 + +.FLT_35: + .long 0xffffffff,0x7fffffff,0xffffffff,0x7fffffff + .type .FLT_35,@object + .size .FLT_35,16 + .align 16 + +.FLT_36: + .long 0x00000000,0x3eb00000,0x00000000,0x3eb00000 + .type .FLT_36,@object + .size .FLT_36,16 + .align 16 + +.FLT_37: + .long 0x000001ff,0x00000000,0x000001ff,0x00000000 + .type .FLT_37,@object + .size .FLT_37,16 + .align 16 + +.FLT_38: + .long 0x000000ff,0x00000000,0x000000ff,0x00000000 + .type .FLT_38,@object + .size .FLT_38,16 + .align 16 + +.FLT_39: + .long 0x00000000,0x3ff00000,0x00000000,0x3ff00000 + .type .FLT_39,@object + .size .FLT_39,16 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core-sse.S new file mode 100644 index 0000000000..f0c3a3e5a3 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized tan, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_tan _ZGVdN4v_tan_sse_wrapper +#include "../svml_d_tan4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core.c new file mode 100644 index 0000000000..7fc0f8e77e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized tan, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_tan +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_tan, __GI__ZGVdN4v_tan, __redirect__ZGVdN4v_tan) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core_avx2.S new file mode 100644 index 0000000000..a021fe9d69 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core_avx2.S @@ -0,0 +1,21275 @@ +/* Function tan vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 1) Range reduction to [-Pi/4; +Pi/4] interval + * a) Grab sign from source argument and save it. + * b) Remove sign using AND 0x7fffffffffffffff operation + * c) Getting octant Y by 2/Pi multiplication + * d) Add "Right Shifter" (0x4330000000000000) value + * e) Treat obtained value as integer for destination sign setting. + * Shift first bit of this value to the last (sign) position (S << 63) + * f) Change destination sign if source sign is negative + * using XOR operation. + * g) Subtract "Right Shifter" (0x4330000000000000) value + * h) Subtract Y*(PI/2) from X argument, where PI/2 divided to 4 parts: + * X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4; + * 2) Rational polynomial approximation ( at [-Pi/4; +Pi/4] interval) + * a) Calculate X^2 = X * X + * b) Calculate 2 polynomials: + * P = X * (P0 + X^2 * (P1 + x^2 * (P2 + x^2 * (P3)))); + * Q = Q0 + X^2 * (Q1 + x^2 * (Q2 + x^2 * (Q3))); + * c) Swap P and Q if first bit of obtained value after + * Right Shifting is set to 1. Using And, Andnot & Or operations. + * d) Divide R = P / Q; + * 3) Destination sign setting + * a) Set shifted destination sign using XOR operation: + * R = XOR( R, S ); + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_tan_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* Legacy Code */ + xorl %eax, %eax + vmovupd 1024+__svml_dtan_data_internal(%rip), %ymm2 + vmovupd 1152+__svml_dtan_data_internal(%rip), %ymm3 + +/* + * c) Getting octant Y by 2/Pi multiplication + * d) Add "Right Shifter" (0x4330000000000000) value + */ + vmovupd 28288+__svml_dtan_data_internal(%rip), %ymm7 + vmovups %ymm15, 320(%rsp) + +/* X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4; */ + vmovupd 28544+__svml_dtan_data_internal(%rip), %ymm4 + vmovups %ymm10, 160(%rsp) + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovupd 29184+__svml_dtan_data_internal(%rip), %ymm10 + vmovups %ymm9, 96(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm13, 256(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + vmovapd %ymm0, %ymm15 + +/* b) Remove sign using AND 0x7fffffffffffffff operation */ + vandpd %ymm2, %ymm15, %ymm1 + vfmadd213pd %ymm3, %ymm1, %ymm7 + +/* a) Grab sign from source argument and save it. */ + vandnpd %ymm15, %ymm2, %ymm6 + +/* g) Subtract "Right Shifter" (0x4330000000000000) value */ + vsubpd %ymm3, %ymm7, %ymm2 + +/* + * e) Treat obtained value as integer for destination sign setting. + * Shift first bit of this value to the last (sign) position (S << 63) + * f) Change destination sign if source sign is negative + * using XOR operation. + */ + vpsllq $63, %ymm7, %ymm5 + vpsllq $62, %ymm7, %ymm14 + vfnmadd213pd %ymm1, %ymm2, %ymm4 + vfnmadd231pd 28608+__svml_dtan_data_internal(%rip), %ymm2, %ymm4 + vfnmadd132pd 28672+__svml_dtan_data_internal(%rip), %ymm4, %ymm2 + +/* a) Calculate X^2 = X * X */ + vmulpd %ymm2, %ymm2, %ymm4 + vxorpd %ymm6, %ymm5, %ymm0 + +/* + * b) Calculate 2 polynomials: + * P = X * (P0 + X^2 * (P1 + x^2 * (P2 + x^2 * (P3)))); + * Q = Q0 + X^2 * (Q1 + x^2 * (Q2 + x^2 * (Q3))); + * Assume P0 = 1 + */ + vmovupd 28928+__svml_dtan_data_internal(%rip), %ymm5 + vfmadd213pd 29120+__svml_dtan_data_internal(%rip), %ymm4, %ymm10 + vfmadd213pd 28864+__svml_dtan_data_internal(%rip), %ymm4, %ymm5 + vfmadd213pd 29056+__svml_dtan_data_internal(%rip), %ymm4, %ymm10 + vfmadd213pd 28800+__svml_dtan_data_internal(%rip), %ymm4, %ymm5 + vfmadd213pd 28992+__svml_dtan_data_internal(%rip), %ymm4, %ymm10 + vmulpd %ymm5, %ymm4, %ymm9 + vfmadd213pd %ymm2, %ymm2, %ymm9 + +/* 1) Range reduction to [-Pi/4; +Pi/4] interval */ + vxorpd %ymm8, %ymm8, %ymm8 + vcmpneqpd %ymm8, %ymm14, %ymm7 + +/* Large values check */ + vcmpnle_uqpd 28160+__svml_dtan_data_internal(%rip), %ymm1, %ymm14 + +/* + * c) Swap P and Q if first bit of obtained value after + * Right Shifting is set to 1. Using And, Andnot & Or operations. + */ + vandnpd %ymm9, %ymm7, %ymm3 + vandpd %ymm10, %ymm7, %ymm6 + vandpd %ymm9, %ymm7, %ymm11 + vandnpd %ymm10, %ymm7, %ymm12 + vorpd %ymm6, %ymm3, %ymm13 + vorpd %ymm12, %ymm11, %ymm2 + +/* d) Divide R = P / Q; */ + vdivpd %ymm2, %ymm13, %ymm3 + vmovmskpd %ymm14, %edx + +/* + * 3) Destination sign setting + * a) Set shifted destination sign using XOR operation: + * R = XOR( R, S ); + */ + vxorpd %ymm0, %ymm3, %ymm0 + testl %edx, %edx + jne .LBL_1_12 + +.LBL_1_2: + testl %eax, %eax + jne .LBL_1_4 + +.LBL_1_3: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_4: + vmovupd %ymm15, 64(%rsp) + vmovupd %ymm0, 128(%rsp) + je .LBL_1_3 + xorl %edx, %edx + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r13d + +.LBL_1_8: + btl %r12d, %r13d + jc .LBL_1_11 + +.LBL_1_9: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_8 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_3 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_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) + +.LBL_1_12: + vpand .FLT_20(%rip), %ymm15, %ymm4 + +/* + * 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), %r9 + vmovupd 1088+__svml_dtan_data_internal(%rip), %ymm6 + vmovupd %ymm0, (%rsp) + vpsrlq $52, %ymm4, %ymm13 + vandpd %ymm1, %ymm6, %ymm12 + vcmpeqpd %ymm6, %ymm12, %ymm7 + vmovmskpd %ymm7, %eax + vextractf128 $1, %ymm13, %xmm8 + vmovd %xmm13, %ecx + vmovd %xmm8, %r10d + vpextrd $2, %xmm13, %edx + lea (%rcx,%rcx,2), %r8d + vpextrd $2, %xmm8, %ecx + lea (%r10,%r10,2), %r10d + shll $3, %r8d + shll $3, %r10d + +/* + * 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 + */ + vpand .FLT_21(%rip), %ymm15, %ymm13 + lea (%rdx,%rdx,2), %r11d + vmovq (%r8,%r9), %xmm10 + vmovq (%r10,%r9), %xmm5 + vmovq 8(%r8,%r9), %xmm3 + shll $3, %r11d + lea (%rcx,%rcx,2), %edx + shll $3, %edx + vmovhpd (%r11,%r9), %xmm10, %xmm9 + vmovhpd (%rdx,%r9), %xmm5, %xmm12 + vpaddq .FLT_22(%rip), %ymm13, %ymm8 + vmovq 16(%r8,%r9), %xmm1 + vmovq 8(%r10,%r9), %xmm7 + vmovq 16(%r10,%r9), %xmm11 + vmovhpd 8(%r11,%r9), %xmm3, %xmm6 + vmovhpd 16(%r11,%r9), %xmm1, %xmm4 + vmovhpd 8(%rdx,%r9), %xmm7, %xmm2 + vmovhpd 16(%rdx,%r9), %xmm11, %xmm0 + +/* Load constants (not all needed at once) */ + lea 1632+__svml_dtan_data_internal(%rip), %r9 + vinsertf128 $1, %xmm12, %ymm9, %ymm10 + +/* + * Break the P_xxx and m into 32-bit chunks ready for + * the long multiplication via 32x32->64 multiplications + */ + vmovdqu .FLT_23(%rip), %ymm12 + vpand %ymm12, %ymm10, %ymm7 + vpsrlq $32, %ymm10, %ymm10 + vinsertf128 $1, %xmm2, %ymm6, %ymm9 + vinsertf128 $1, %xmm0, %ymm4, %ymm11 + vpsrlq $32, %ymm9, %ymm4 + vpand %ymm12, %ymm9, %ymm2 + vpsrlq $32, %ymm8, %ymm9 + vpand %ymm12, %ymm11, %ymm5 + vpsrlq $32, %ymm11, %ymm0 + vpand %ymm12, %ymm8, %ymm6 + vpmuludq %ymm5, %ymm9, %ymm11 + vpsrlq $32, %ymm11, %ymm5 + vpmuludq %ymm0, %ymm9, %ymm11 + vpmuludq %ymm0, %ymm6, %ymm0 + vpsrlq $32, %ymm0, %ymm0 + vpmuludq %ymm2, %ymm6, %ymm1 + vpand %ymm12, %ymm1, %ymm13 + vpaddq %ymm0, %ymm11, %ymm11 + vpsrlq $32, %ymm1, %ymm1 + vpaddq %ymm11, %ymm13, %ymm13 + vpmuludq %ymm4, %ymm6, %ymm3 + vpmuludq %ymm2, %ymm9, %ymm2 + vpaddq %ymm13, %ymm5, %ymm11 + vpand %ymm12, %ymm3, %ymm5 + vpaddq %ymm1, %ymm2, %ymm2 + vpsrlq $32, %ymm3, %ymm3 + vpsrlq $32, %ymm11, %ymm13 + vpaddq %ymm2, %ymm5, %ymm5 + vpmuludq %ymm7, %ymm6, %ymm8 + vpaddq %ymm5, %ymm13, %ymm5 + vpand %ymm12, %ymm8, %ymm1 + vpsrlq $32, %ymm5, %ymm0 + vpsllq $32, %ymm5, %ymm5 + vpmuludq %ymm4, %ymm9, %ymm13 + vpaddq %ymm3, %ymm13, %ymm13 + vpsrlq $32, %ymm8, %ymm4 + vpaddq %ymm13, %ymm1, %ymm3 + vpmuludq %ymm10, %ymm6, %ymm6 + +/* Now do the big multiplication and carry propagation */ + vpmuludq %ymm7, %ymm9, %ymm7 + vpaddq %ymm3, %ymm0, %ymm2 + vpand %ymm12, %ymm6, %ymm10 + vpaddq %ymm4, %ymm7, %ymm9 + vpsrlq $32, %ymm2, %ymm13 + vpand %ymm12, %ymm2, %ymm6 + vpaddq %ymm9, %ymm10, %ymm8 + +/* Assemble reduced argument from the pieces */ + vpand %ymm12, %ymm11, %ymm12 + vpaddq %ymm8, %ymm13, %ymm13 + +/* + * 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). + */ + vpand .FLT_24(%rip), %ymm15, %ymm8 + vpaddq %ymm12, %ymm5, %ymm9 + +/* + * 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. + */ + vmovupd .FLT_26(%rip), %ymm5 + vpsllq $32, %ymm13, %ymm3 + +/* + * Create floating-point high part, implicitly adding integer bit 1 + * Incorporate overall sign at this stage too. + */ + vpxor .FLT_25(%rip), %ymm8, %ymm10 + +/* + * 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. + */ + vpxor .FLT_27(%rip), %ymm8, %ymm4 + vpand .FLT_28(%rip), %ymm9, %ymm7 + vpaddq %ymm6, %ymm3, %ymm3 + vpsrlq $24, %ymm9, %ymm9 + vpsllq $28, %ymm7, %ymm2 + vpsrlq $12, %ymm3, %ymm13 + vpor %ymm4, %ymm2, %ymm1 + vpor %ymm10, %ymm13, %ymm12 + vsubpd %ymm4, %ymm1, %ymm13 + vaddpd %ymm5, %ymm12, %ymm10 + vsubpd %ymm5, %ymm10, %ymm6 + vpxor .FLT_29(%rip), %ymm8, %ymm5 + vpand .FLT_30(%rip), %ymm3, %ymm8 + vsubpd %ymm6, %ymm12, %ymm0 + vpsllq $40, %ymm8, %ymm3 + vpor %ymm9, %ymm3, %ymm11 + +/* + * 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) + */ + vmovupd .FLT_34(%rip), %ymm3 + vpor %ymm5, %ymm11, %ymm9 + vsubpd %ymm5, %ymm9, %ymm8 + +/* Now add them up into 2 reasonably aligned pieces */ + vaddpd %ymm8, %ymm0, %ymm12 + vsubpd %ymm12, %ymm0, %ymm0 + vaddpd %ymm0, %ymm8, %ymm9 + +/* + * 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) + */ + vmovupd .FLT_31(%rip), %ymm8 + vaddpd %ymm9, %ymm13, %ymm11 + vmulpd %ymm12, %ymm8, %ymm7 + vmovapd %ymm8, %ymm13 + vfmsub213pd %ymm7, %ymm12, %ymm13 + +/* Grab our final N value as an integer, appropriately masked mod 2^9 */ + vandps .FLT_35(%rip), %ymm10, %ymm10 + +/* + * Argument reduction is now finished: x = n * pi/256 + r + * where n = lIndex and r = dZ + * But we have n modulo 512, needed for sin/cos with period 2pi + * but we want it modulo 256 since tan has period pi. + */ + vandps .FLT_36(%rip), %ymm10, %ymm10 + vandpd .FLT_33(%rip), %ymm15, %ymm5 + vcmpgt_oqpd %ymm3, %ymm5, %ymm4 + vcmple_oqpd %ymm3, %ymm5, %ymm6 + vfmadd132pd .FLT_32(%rip), %ymm13, %ymm12 + vfmadd213pd %ymm12, %ymm8, %ymm11 + vandpd %ymm15, %ymm6, %ymm2 + vandpd %ymm7, %ymm4, %ymm1 + vorpd %ymm1, %ymm2, %ymm0 + vandpd %ymm11, %ymm4, %ymm13 + +/* + * The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND + * Simply absorb E into Z instead of keeping a 2-part result. + */ + vaddpd %ymm13, %ymm0, %ymm13 + vextractf128 $1, %ymm10, %xmm5 + vmovd %xmm10, %r8d + vmovd %xmm5, %edx + imull $104, %r8d, %r8d + imull $104, %edx, %edx + vmovq -96(%r8,%r9), %xmm9 + vmovq -80(%r8,%r9), %xmm6 + vpextrd $2, %xmm10, %r11d + vpextrd $2, %xmm5, %r10d + imull $104, %r11d, %ecx + imull $104, %r10d, %r11d + vmovq -96(%rdx,%r9), %xmm12 + vmovq -72(%r8,%r9), %xmm4 + vmovq -80(%rdx,%r9), %xmm2 + vmovhpd -96(%rcx,%r9), %xmm9, %xmm8 + vmovhpd -96(%r11,%r9), %xmm12, %xmm3 + vmovq -56(%r8,%r9), %xmm9 + vmovq -72(%rdx,%r9), %xmm0 + vmovq -56(%rdx,%r9), %xmm5 + vmovhpd -80(%rcx,%r9), %xmm6, %xmm7 + vmovhpd -72(%rcx,%r9), %xmm4, %xmm11 + vmovhpd -80(%r11,%r9), %xmm2, %xmm1 + vmovhpd -72(%r11,%r9), %xmm0, %xmm10 + vmovq -48(%r8,%r9), %xmm6 + vmovq -48(%rdx,%r9), %xmm0 + vinsertf128 $1, %xmm3, %ymm8, %ymm12 + vmovhpd -56(%rcx,%r9), %xmm9, %xmm8 + vmovhpd -56(%r11,%r9), %xmm5, %xmm3 + vmovq -40(%r8,%r9), %xmm9 + vmovq -40(%rdx,%r9), %xmm5 + vinsertf128 $1, %xmm1, %ymm7, %ymm2 + vinsertf128 $1, %xmm10, %ymm11, %ymm1 + vinsertf128 $1, %xmm3, %ymm8, %ymm4 + vmovhpd -48(%rcx,%r9), %xmm6, %xmm7 + vmovhpd -40(%rcx,%r9), %xmm9, %xmm8 + vmovq -32(%r8,%r9), %xmm11 + vmovhpd -48(%r11,%r9), %xmm0, %xmm10 + vmovhpd -40(%r11,%r9), %xmm5, %xmm6 + vmovq -32(%rdx,%r9), %xmm9 + vmovhpd -32(%rcx,%r9), %xmm11, %xmm0 + vmovq -24(%rdx,%r9), %xmm11 + vmovq -24(%r8,%r9), %xmm5 + +/* + * Sum of dominant component(s) + * Compute C0_hi + C1_hi * Z + Recip_hi = H4 + * H2 = C0_hi + C1_hi * Z (exact since C1_hi is 1 bit) + */ + vfmadd213pd %ymm1, %ymm13, %ymm4 + +/* + * Higher polynomial terms + * Stage 1 (with unlimited parallelism) + * Z2 = Z^2 + */ + vmulpd %ymm13, %ymm13, %ymm1 + vinsertf128 $1, %xmm10, %ymm7, %ymm3 + vinsertf128 $1, %xmm6, %ymm8, %ymm10 + vmovhpd -32(%r11,%r9), %xmm9, %xmm8 + vmovhpd -24(%r11,%r9), %xmm11, %xmm9 + vmovq -16(%rdx,%r9), %xmm11 + vmovhpd -24(%rcx,%r9), %xmm5, %xmm7 + +/* P4 = C1_lo + C2 * Z */ + vfmadd213pd %ymm3, %ymm13, %ymm10 + vinsertf128 $1, %xmm8, %ymm0, %ymm6 + vmovq -16(%r8,%r9), %xmm8 + vmovhpd -16(%rcx,%r9), %xmm8, %xmm5 + vmovhpd -16(%r11,%r9), %xmm11, %xmm0 + vmovq -8(%r8,%r9), %xmm8 + vmovq -8(%rdx,%r9), %xmm11 + vinsertf128 $1, %xmm9, %ymm7, %ymm9 + vinsertf128 $1, %xmm0, %ymm5, %ymm7 + vmovhpd -8(%rcx,%r9), %xmm8, %xmm5 + vmovhpd -8(%r11,%r9), %xmm11, %xmm0 + +/* P5 = C3 + C4 * Z */ + vfmadd213pd %ymm6, %ymm13, %ymm9 + +/* P10 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 */ + vfmadd213pd %ymm10, %ymm1, %ymm9 + vinsertf128 $1, %xmm0, %ymm5, %ymm8 + vmovq (%r8,%r9), %xmm5 + vmovq (%rdx,%r9), %xmm0 + vmovhpd (%rcx,%r9), %xmm5, %xmm11 + vmovhpd (%r11,%r9), %xmm0, %xmm5 + +/* P6 = C5 + C6 * Z */ + vfmadd213pd %ymm7, %ymm13, %ymm8 + vinsertf128 $1, %xmm5, %ymm11, %ymm5 + +/* + * Compute reciprocal component + * Construct a separate reduced argument modulo pi near pi/2 multiples. + * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument + * from an accurate B_hi = (128 - n) pi/256. + */ + vsubpd %ymm13, %ymm12, %ymm11 + +/* P9 = C5 + C6 * Z + C7 * Z^2 */ + vfmadd213pd %ymm8, %ymm1, %ymm5 + +/* Now compute an approximate reciprocal to mix into the computation. */ + vcvtpd2ps %ymm11, %xmm12 + vrcpps %xmm12, %xmm12 + vcvtps2pd %xmm12, %ymm0 + +/* + * Now compute the error dEr where dRecip_hi = (1/R_full) * (1 - dEr) + * so that we can compensate for it. + */ + vfnmadd213pd .FLT_37(%rip), %ymm0, %ymm11 + +/* + * Get a working-precision reciprocal 1/dR_full + * using a fourth-order polynomial approximation + * R + (E*R) * (1 + E) * (1 + E^2) + */ + vmulpd %ymm11, %ymm11, %ymm12 + vfmadd213pd %ymm11, %ymm11, %ymm11 + vfmadd213pd %ymm0, %ymm0, %ymm12 + vfmadd213pd %ymm0, %ymm11, %ymm12 + +/* + * + * End of large arguments path + * + * Merge results from main and large paths: + */ + vmovupd (%rsp), %ymm0 + +/* + * dRecip_hi is only used when dTau is one (cotangent path) + * H4 = C0_hi + C1_hi * Z + Recip_hi + */ + vfmadd213pd %ymm4, %ymm2, %ymm12 + +/* + * Stage 2 (with unlimited parallelism) + * Z4 = Z^4 + */ + vmulpd %ymm1, %ymm1, %ymm2 + +/* + * Stage 3 (with unlimited parallelism) + * P12 = C1_lo + C2 * Z + ... + C7 * Z^6 + */ + vfmadd213pd %ymm9, %ymm2, %ymm5 + +/* And now the very final summation */ + vfmadd213pd %ymm12, %ymm13, %ymm5 + vblendvpd %ymm14, %ymm5, %ymm0, %ymm0 + jmp .LBL_1_2 + +END(_ZGVdN4v_tan_avx2) + + .align 16,0x90 + +__svml_dtan_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dtan_cout_rare_internal,@function + .size __svml_dtan_cout_rare_internal,.-__svml_dtan_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_dtan_data_internal: + .long 1841940611 + .long 1075076912 + .long 1841940611 + .long 1075076912 + .long 1841940611 + .long 1075076912 + .long 1841940611 + .long 1075076912 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413754136 + .long 1070146043 + .long 1413754136 + .long 1070146043 + .long 1413754136 + .long 1070146043 + .long 1413754136 + .long 1070146043 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 856972294 + .long 1013032486 + .long 856972294 + .long 1013032486 + .long 856972294 + .long 1013032486 + .long 856972294 + .long 1013032486 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 688016905 + .long 958143697 + .long 688016905 + .long 958143697 + .long 688016905 + .long 958143697 + .long 688016905 + .long 958143697 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 855638016 + .long 1013032486 + .long 855638016 + .long 1013032486 + .long 855638016 + .long 1013032486 + .long 855638016 + .long 1013032486 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3773204808 + .long 979655686 + .long 3773204808 + .long 979655686 + .long 3773204808 + .long 979655686 + .long 3773204808 + .long 979655686 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 285935618 + .long 1069617425 + .long 285935618 + .long 1069617425 + .long 285935618 + .long 1069617425 + .long 285935618 + .long 1069617425 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1218258378 + .long 1068212666 + .long 1218258378 + .long 1068212666 + .long 1218258378 + .long 1068212666 + .long 1218258378 + .long 1068212666 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1716452265 + .long 1066820779 + .long 1716452265 + .long 1066820779 + .long 1716452265 + .long 1066820779 + .long 1716452265 + .long 1066820779 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3351902813 + .long 1065508044 + .long 3351902813 + .long 1065508044 + .long 3351902813 + .long 1065508044 + .long 3351902813 + .long 1065508044 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .long 0 + .long 2146435072 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1127743488 + .long 0 + .long 1127743488 + .long 0 + .long 1127743488 + .long 0 + .long 1127743488 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413480448 + .long 1065951739 + .long 1413480448 + .long 1065951739 + .long 1413480448 + .long 1065951739 + .long 1413480448 + .long 1065951739 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 442499072 + .long 1029747809 + .long 442499072 + .long 1029747809 + .long 442499072 + .long 1029747809 + .long 442499072 + .long 1029747809 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 771977331 + .long 993204618 + .long 771977331 + .long 993204618 + .long 771977331 + .long 993204618 + .long 771977331 + .long 993204618 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 511 + .long 0 + .long 511 + .long 0 + .long 511 + .long 0 + .long 511 + .long 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1841940611 + .long 1079271216 + .long 1841940611 + .long 1079271216 + .long 1841940611 + .long 1079271216 + .long 1841940611 + .long 1079271216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1841940611 + .long 1071931184 + .long 1841940611 + .long 1071931184 + .long 1841940611 + .long 1071931184 + .long 1841940611 + .long 1071931184 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413742592 + .long 1073291771 + .long 1413742592 + .long 1073291771 + .long 1413742592 + .long 1073291771 + .long 1413742592 + .long 1073291771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1280049152 + .long 1032227875 + .long 1280049152 + .long 1032227875 + .long 1280049152 + .long 1032227875 + .long 1280049152 + .long 1032227875 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 57701189 + .long 992578094 + .long 57701189 + .long 992578094 + .long 57701189 + .long 992578094 + .long 57701189 + .long 992578094 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .long 1413754136 + .long 1073291771 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 856972294 + .long 1016178214 + .long 856972294 + .long 1016178214 + .long 856972294 + .long 1016178214 + .long 856972294 + .long 1016178214 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 688016905 + .long 961289425 + .long 688016905 + .long 961289425 + .long 688016905 + .long 961289425 + .long 688016905 + .long 961289425 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 3191264137 + .long 3217058711 + .long 3191264137 + .long 3217058711 + .long 3191264137 + .long 3217058711 + .long 3191264137 + .long 3217058711 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3706049281 + .long 1063713903 + .long 3706049281 + .long 1063713903 + .long 3706049281 + .long 1063713903 + .long 3706049281 + .long 1063713903 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3458873344 + .long 3202311037 + .long 3458873344 + .long 3202311037 + .long 3458873344 + .long 3202311037 + .long 3458873344 + .long 3202311037 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .long 0 + .long 1072693248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 879804142 + .long 3218967329 + .long 879804142 + .long 3218967329 + .long 879804142 + .long 3218967329 + .long 879804142 + .long 3218967329 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2328005206 + .long 1066919862 + .long 2328005206 + .long 1066919862 + .long 2328005206 + .long 1066919862 + .long 2328005206 + .long 1066919862 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 62689958 + .long 3207287387 + .long 62689958 + .long 3207287387 + .long 62689958 + .long 3207287387 + .long 62689958 + .long 3207287387 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_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 + +.FLT_20: + .long 0x00000000,0x7ff00000,0x00000000,0x7ff00000,0x00000000,0x7ff00000,0x00000000,0x7ff00000 + .type .FLT_20,@object + .size .FLT_20,32 + .align 32 + +.FLT_21: + .long 0xffffffff,0x000fffff,0xffffffff,0x000fffff,0xffffffff,0x000fffff,0xffffffff,0x000fffff + .type .FLT_21,@object + .size .FLT_21,32 + .align 32 + +.FLT_22: + .long 0x00000000,0x00100000,0x00000000,0x00100000,0x00000000,0x00100000,0x00000000,0x00100000 + .type .FLT_22,@object + .size .FLT_22,32 + .align 32 + +.FLT_23: + .long 0xffffffff,0x00000000,0xffffffff,0x00000000,0xffffffff,0x00000000,0xffffffff,0x00000000 + .type .FLT_23,@object + .size .FLT_23,32 + .align 32 + +.FLT_24: + .long 0x00000000,0x80000000,0x00000000,0x80000000,0x00000000,0x80000000,0x00000000,0x80000000 + .type .FLT_24,@object + .size .FLT_24,32 + .align 32 + +.FLT_25: + .long 0x00000000,0x3ff00000,0x00000000,0x3ff00000,0x00000000,0x3ff00000,0x00000000,0x3ff00000 + .type .FLT_25,@object + .size .FLT_25,32 + .align 32 + +.FLT_26: + .long 0x00000000,0x42a80000,0x00000000,0x42a80000,0x00000000,0x42a80000,0x00000000,0x42a80000 + .type .FLT_26,@object + .size .FLT_26,32 + .align 32 + +.FLT_27: + .long 0x00000000,0x39700000,0x00000000,0x39700000,0x00000000,0x39700000,0x00000000,0x39700000 + .type .FLT_27,@object + .size .FLT_27,32 + .align 32 + +.FLT_28: + .long 0x00ffffff,0x00000000,0x00ffffff,0x00000000,0x00ffffff,0x00000000,0x00ffffff,0x00000000 + .type .FLT_28,@object + .size .FLT_28,32 + .align 32 + +.FLT_29: + .long 0x00000000,0x3cb00000,0x00000000,0x3cb00000,0x00000000,0x3cb00000,0x00000000,0x3cb00000 + .type .FLT_29,@object + .size .FLT_29,32 + .align 32 + +.FLT_30: + .long 0x00000fff,0x00000000,0x00000fff,0x00000000,0x00000fff,0x00000000,0x00000fff,0x00000000 + .type .FLT_30,@object + .size .FLT_30,32 + .align 32 + +.FLT_31: + .long 0x54442d18,0x401921fb,0x54442d18,0x401921fb,0x54442d18,0x401921fb,0x54442d18,0x401921fb + .type .FLT_31,@object + .size .FLT_31,32 + .align 32 + +.FLT_32: + .long 0x33145c07,0x3cb1a626,0x33145c07,0x3cb1a626,0x33145c07,0x3cb1a626,0x33145c07,0x3cb1a626 + .type .FLT_32,@object + .size .FLT_32,32 + .align 32 + +.FLT_33: + .long 0xffffffff,0x7fffffff,0xffffffff,0x7fffffff,0xffffffff,0x7fffffff,0xffffffff,0x7fffffff + .type .FLT_33,@object + .size .FLT_33,32 + .align 32 + +.FLT_34: + .long 0x00000000,0x3eb00000,0x00000000,0x3eb00000,0x00000000,0x3eb00000,0x00000000,0x3eb00000 + .type .FLT_34,@object + .size .FLT_34,32 + .align 32 + +.FLT_35: + .long 0x000001ff,0x00000000,0x000001ff,0x00000000,0x000001ff,0x00000000,0x000001ff,0x00000000 + .type .FLT_35,@object + .size .FLT_35,32 + .align 32 + +.FLT_36: + .long 0x000000ff,0x00000000,0x000000ff,0x00000000,0x000000ff,0x00000000,0x000000ff,0x00000000 + .type .FLT_36,@object + .size .FLT_36,32 + .align 32 + +.FLT_37: + .long 0x00000000,0x3ff00000,0x00000000,0x3ff00000,0x00000000,0x3ff00000,0x00000000,0x3ff00000 + .type .FLT_37,@object + .size .FLT_37,32 + .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/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core-avx2.S new file mode 100644 index 0000000000..8714f237d5 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized tan, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_tan _ZGVeN8v_tan_avx2_wrapper +#include "../svml_d_tan8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core.c new file mode 100644 index 0000000000..dbd1869bff --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized tan, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_tan +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_tan, __GI__ZGVeN8v_tan, __redirect__ZGVeN8v_tan) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core_avx512.S new file mode 100644 index 0000000000..a55c35111a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core_avx512.S @@ -0,0 +1,20210 @@ +/* Function tan vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * ( optimized for throughput, with small table lookup, works when HW FMA is available ) + * + * Implementation reduces argument x to |R| + + .text +ENTRY(_ZGVeN8v_tan_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 .FLT_18(%rip), %zmm9 + vandpd %zmm0, %zmm14, %zmm6 + vmovups %zmm8, 64(%rsp) + vcmppd $4, {sae}, %zmm14, %zmm6, %k2 + vmovaps %zmm9, %zmm5 + vpandq .FLT_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 .FLT_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 .FLT_20(%rip){1to8}, %zmm11, %zmm15 + vpaddq .FLT_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 .FLT_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 .FLT_23(%rip){1to8}, %zmm11, %zmm0 + vpandq .FLT_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 .FLT_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 .FLT_27(%rip){1to8}, %zmm0, %zmm6 + vporq %zmm6, %zmm14, %zmm15 + vpandq .FLT_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 .FLT_34(%rip), %zmm14 + vandpd .FLT_33(%rip){1to8}, %zmm11, %zmm15 + vpsrlq $24, %zmm10, %zmm6 + vcmppd $26, {sae}, %zmm14, %zmm15, %k2 + vcmppd $22, {sae}, %zmm14, %zmm15, %k3 + vpxorq .FLT_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 .FLT_32(%rip), %zmm8 + +/* Grab our final N value as an integer, appropriately masked mod 2^9 */ + vpandq .FLT_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 .FLT_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 .FLT_37(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm0 + vpbroadcastq .FLT_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 .FLT_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 + +END(_ZGVeN8v_tan_skx) + + .align 16,0x90 + +__svml_dtan_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dtan_cout_rare_internal,@function + .size __svml_dtan_cout_rare_internal,.-__svml_dtan_cout_rare_internal + + .section .rodata, "a" + .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 + +.FLT_35: + .long 0x00000008,0x00000008,0x00000008,0x00000008,0x00000008,0x00000008,0x00000008,0x00000008 + .type .FLT_35,@object + .size .FLT_35,32 + .align 8 + +.FLT_18: + .long 0xffffffff,0xffffffff + .type .FLT_18,@object + .size .FLT_18,8 + .align 8 + +.FLT_19: + .long 0x00000000,0x7ff00000 + .type .FLT_19,@object + .size .FLT_19,8 + .align 8 + +.FLT_20: + .long 0xffffffff,0x000fffff + .type .FLT_20,@object + .size .FLT_20,8 + .align 8 + +.FLT_21: + .long 0x00000000,0x00100000 + .type .FLT_21,@object + .size .FLT_21,8 + .align 8 + +.FLT_22: + .long 0xffffffff,0x00000000 + .type .FLT_22,@object + .size .FLT_22,8 + .align 8 + +.FLT_23: + .long 0x00000000,0x80000000 + .type .FLT_23,@object + .size .FLT_23,8 + .align 8 + +.FLT_24: + .long 0x00000000,0x3ff00000 + .type .FLT_24,@object + .size .FLT_24,8 + .align 8 + +.FLT_25: + .long 0x00000000,0x42a80000 + .type .FLT_25,@object + .size .FLT_25,8 + .align 8 + +.FLT_26: + .long 0x000001ff,0x00000000 + .type .FLT_26,@object + .size .FLT_26,8 + .align 8 + +.FLT_27: + .long 0x00000000,0x39700000 + .type .FLT_27,@object + .size .FLT_27,8 + .align 8 + +.FLT_28: + .long 0x00ffffff,0x00000000 + .type .FLT_28,@object + .size .FLT_28,8 + .align 8 + +.FLT_29: + .long 0x00000000,0x3cb00000 + .type .FLT_29,@object + .size .FLT_29,8 + .align 8 + +.FLT_30: + .long 0x00000fff,0x00000000 + .type .FLT_30,@object + .size .FLT_30,8 + .align 8 + +.FLT_31: + .long 0x54442d18,0x401921fb + .type .FLT_31,@object + .size .FLT_31,8 + .align 8 + +.FLT_32: + .long 0x33145c07,0x3cb1a626 + .type .FLT_32,@object + .size .FLT_32,8 + .align 8 + +.FLT_33: + .long 0xffffffff,0x7fffffff + .type .FLT_33,@object + .size .FLT_33,8 + .align 8 + +.FLT_34: + .long 0x00000000,0x3eb00000 + .type .FLT_34,@object + .size .FLT_34,8 + .align 8 + +.FLT_36: + .long 0x54442d18,0x3f8921fb + .type .FLT_36,@object + .size .FLT_36,8 + .align 8 + +.FLT_37: + .long 0x33145c07,0x3c21a626 + .type .FLT_37,@object + .size .FLT_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/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core-avx2.S new file mode 100644 index 0000000000..f5538094ca --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized tanf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_tanf _ZGVeN16v_tanf_avx2_wrapper +#include "../svml_s_tanf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core.c new file mode 100644 index 0000000000..b41a67c6dc --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized tanf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_tanf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_tanf, __GI__ZGVeN16v_tanf, + __redirect__ZGVeN16v_tanf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core_avx512.S new file mode 100644 index 0000000000..73266dfa47 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core_avx512.S @@ -0,0 +1,3168 @@ +/* Function tanf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * ( optimized for throughput, with small table lookup, works when HW FMA is available ) + * + * Implementation reduces argument x to |R| + + .text +ENTRY(_ZGVeN16v_tanf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + 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: + 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 .FLT_18(%rip), %zmm6 + kxnorw %k0, %k0, %k2 + kxnorw %k0, %k0, %k3 + kmovw %k0, %edx + vpandd .FLT_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 .FLT_16(%rip), %zmm11, %zmm0 + vpaddd .FLT_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 .FLT_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 .FLT_19(%rip), %zmm11, %zmm0 + vpandd .FLT_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 .FLT_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 .FLT_23(%rip), %zmm0, %zmm6 + vpord %zmm6, %zmm14, %zmm15 + vpandd .FLT_26(%rip), %zmm4, %zmm4 + vsubps {rn-sae}, %zmm6, %zmm15, %zmm8 + vandps .FLT_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 .FLT_30(%rip), %zmm14 + vcmpps $26, {sae}, %zmm14, %zmm15, %k3 + vcmpps $22, {sae}, %zmm14, %zmm15, %k2 + vpxord .FLT_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 .FLT_31(%rip), %zmm2 + vaddps {rn-sae}, %zmm8, %zmm3, %zmm1 + vmovups .FLT_28(%rip), %zmm8 + +/* Grab our final N value as an integer, appropriately masked mod 2^8 */ + vpandd .FLT_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 .FLT_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 .FLT_32(%rip), %zmm9 + vcvtdq2ps {rn-sae}, %zmm5, %zmm0 + vmovups .FLT_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 + +END(_ZGVeN16v_tanf_skx) + + .align 16,0x90 + +__svml_stan_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_stan_cout_rare_internal,@function + .size __svml_stan_cout_rare_internal,.-__svml_stan_cout_rare_internal + + .section .rodata, "a" + .align 64 + +.FLT_15: + .long 0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000 + .type .FLT_15,@object + .size .FLT_15,64 + .align 64 + +.FLT_16: + .long 0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff + .type .FLT_16,@object + .size .FLT_16,64 + .align 64 + +.FLT_17: + .long 0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000 + .type .FLT_17,@object + .size .FLT_17,64 + .align 64 + +.FLT_18: + .long 0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff + .type .FLT_18,@object + .size .FLT_18,64 + .align 64 + +.FLT_19: + .long 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000 + .type .FLT_19,@object + .size .FLT_19,64 + .align 64 + +.FLT_20: + .long 0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000 + .type .FLT_20,@object + .size .FLT_20,64 + .align 64 + +.FLT_21: + .long 0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000 + .type .FLT_21,@object + .size .FLT_21,64 + .align 64 + +.FLT_22: + .long 0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff + .type .FLT_22,@object + .size .FLT_22,64 + .align 64 + +.FLT_23: + .long 0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000 + .type .FLT_23,@object + .size .FLT_23,64 + .align 64 + +.FLT_24: + .long 0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff + .type .FLT_24,@object + .size .FLT_24,64 + .align 64 + +.FLT_25: + .long 0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000 + .type .FLT_25,@object + .size .FLT_25,64 + .align 64 + +.FLT_26: + .long 0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff + .type .FLT_26,@object + .size .FLT_26,64 + .align 64 + +.FLT_27: + .long 0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb + .type .FLT_27,@object + .size .FLT_27,64 + .align 64 + +.FLT_28: + .long 0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e + .type .FLT_28,@object + .size .FLT_28,64 + .align 64 + +.FLT_29: + .long 0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff + .type .FLT_29,@object + .size .FLT_29,64 + .align 64 + +.FLT_30: + .long 0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000 + .type .FLT_30,@object + .size .FLT_30,64 + .align 64 + +.FLT_31: + .long 0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002 + .type .FLT_31,@object + .size .FLT_31,64 + .align 64 + +.FLT_32: + .long 0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb + .type .FLT_32,@object + .size .FLT_32,64 + .align 64 + +.FLT_33: + .long 0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e + .type .FLT_33,@object + .size .FLT_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/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core-sse2.S new file mode 100644 index 0000000000..7ee66b1c44 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized tanf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_tanf _ZGVbN4v_tanf_sse2 +#include "../svml_s_tanf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core.c new file mode 100644 index 0000000000..fb5c73d88e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized tanf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_tanf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_tanf, __GI__ZGVbN4v_tanf, + __redirect__ZGVbN4v_tanf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core_sse4.S new file mode 100644 index 0000000000..69aba75d3d --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core_sse4.S @@ -0,0 +1,4562 @@ +/* Function tanf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 1) Range reduction to [-Pi/4; +Pi/4] interval + * a) Grab sign from source argument and save it. + * b) Remove sign using AND 0x7fffffff operation + * c) Getting octant Y by 2/Pi multiplication + * d) Add "Right Shifter" (0x4B000000) value + * e) Treat obtained value as integer for destination sign setting. + * Shift first bit of this value to the last (sign) position (S << 31) + * f) Change destination sign if source sign is negative + * using XOR operation. + * g) Subtract "Right Shifter" (0x4B000000) value + * h) Subtract Y*(PI/2) from X argument, where PI/2 divided to 4 parts: + * X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4; + * 2) Rational polynomial approximation ( at [-Pi/4; +Pi/4] interval) + * a) Calculate X^2 = X * X + * b) Calculate 2 polynomials: + * P = X * (P0 + X^2 * P1); + * Q = Q0 + X^2 * (Q1 + x^2 * Q2); + * c) Swap P and Q if first bit of obtained value after + * Right Shifting is set to 1. Using And, Andnot & Or operations. + * d) Divide R = P / Q; + * 3) Destination sign setting + * a) Set shifted destination sign using XOR operation: + * R = XOR( R, S ); + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_tanf_sse4) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + +/* + * Legacy Code + * Here HW FMA can be unavailable + */ + xorl %r11d, %r11d + movups %xmm12, 288(%rsp) + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movups 960+__svml_stan_data_internal(%rip), %xmm12 + movups %xmm13, 256(%rsp) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + movaps %xmm0, %xmm13 + movaps %xmm12, %xmm4 + andnps %xmm13, %xmm12 + movups 832+__svml_stan_data_internal(%rip), %xmm2 + andps %xmm13, %xmm4 + mulps %xmm4, %xmm2 + +/* Range reduction */ + movaps %xmm4, %xmm1 + +/* + * + * Main path (_LA_ and _EP_) + * + * Octant calculation + */ + movups 1088+__svml_stan_data_internal(%rip), %xmm3 + movups 1280+__svml_stan_data_internal(%rip), %xmm5 + addps %xmm3, %xmm2 + movaps %xmm2, %xmm0 + movups 1344+__svml_stan_data_internal(%rip), %xmm6 + subps %xmm3, %xmm0 + mulps %xmm0, %xmm5 + mulps %xmm0, %xmm6 + subps %xmm5, %xmm1 + movups 1408+__svml_stan_data_internal(%rip), %xmm7 + subps %xmm6, %xmm1 + mulps %xmm0, %xmm7 + movups 1472+__svml_stan_data_internal(%rip), %xmm3 + subps %xmm7, %xmm1 + mulps %xmm0, %xmm3 + movups %xmm10, 272(%rsp) + subps %xmm3, %xmm1 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + movaps %xmm1, %xmm10 + mulps %xmm1, %xmm10 + movups 1984+__svml_stan_data_internal(%rip), %xmm6 + mulps %xmm10, %xmm6 + +/* Rational approximation */ + movups 1792+__svml_stan_data_internal(%rip), %xmm5 + mulps %xmm10, %xmm5 + addps 1920+__svml_stan_data_internal(%rip), %xmm6 + mulps %xmm6, %xmm10 + addps 1728+__svml_stan_data_internal(%rip), %xmm5 + movups %xmm8, 336(%rsp) + movups %xmm14, 224(%rsp) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + pxor %xmm8, %xmm8 + +/* Inversion mask and sign calculation */ + movaps %xmm2, %xmm14 + pslld $30, %xmm2 + cmpneqps %xmm8, %xmm2 + mulps %xmm5, %xmm1 + addps 1856+__svml_stan_data_internal(%rip), %xmm10 + movups %xmm9, 304(%rsp) + +/* Exchanged numerator and denominator if necessary */ + movaps %xmm2, %xmm0 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movaps %xmm2, %xmm9 + andnps %xmm1, %xmm0 + andps %xmm10, %xmm9 + andps %xmm2, %xmm1 + andnps %xmm10, %xmm2 + orps %xmm9, %xmm0 + orps %xmm2, %xmm1 + pslld $31, %xmm14 + +/* Division */ + divps %xmm1, %xmm0 + movups %xmm11, 240(%rsp) + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + +/* Large values check */ + movaps %xmm4, %xmm11 + cmpnleps 1216+__svml_stan_data_internal(%rip), %xmm11 + movmskps %xmm11, %eax + pxor %xmm12, %xmm14 + movups %xmm15, 320(%rsp) + +/* Sign setting */ + pxor %xmm14, %xmm0 + +/* + * + * End of main path (_LA_ and _EP_) + */ + + testl %eax, %eax + jne .LBL_1_12 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_2: + testl %r11d, %r11d + jne .LBL_1_4 + +.LBL_1_3: + movups 336(%rsp), %xmm8 + cfi_restore(25) + movups 304(%rsp), %xmm9 + cfi_restore(26) + movups 272(%rsp), %xmm10 + cfi_restore(27) + movups 240(%rsp), %xmm11 + cfi_restore(28) + movups 288(%rsp), %xmm12 + cfi_restore(29) + movups 256(%rsp), %xmm13 + cfi_restore(30) + movups 224(%rsp), %xmm14 + cfi_restore(31) + movups 320(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_4: + movups %xmm13, 64(%rsp) + movups %xmm0, 128(%rsp) + je .LBL_1_3 + xorl %eax, %eax + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %r11d, %r13d + +.LBL_1_8: + btl %r12d, %r13d + jc .LBL_1_11 + +.LBL_1_9: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_8 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + movups 128(%rsp), %xmm0 + jmp .LBL_1_3 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_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) + +.LBL_1_12: + movl $2139095040, %r11d + +/* + * 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), %r10 + movups %xmm13, 64(%rsp) + +/* + * 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 + */ + movl $8388607, %eax + movups %xmm12, 80(%rsp) + movups %xmm11, 96(%rsp) + movd %r11d, %xmm3 + pshufd $0, %xmm3, %xmm2 + andps %xmm2, %xmm13 + cmpeqps %xmm2, %xmm13 + pand %xmm4, %xmm2 + psrld $23, %xmm2 + movdqa %xmm2, %xmm12 + pslld $1, %xmm12 + paddd %xmm2, %xmm12 + pslld $2, %xmm12 + pshufd $1, %xmm12, %xmm10 + pshufd $2, %xmm12, %xmm11 + pshufd $3, %xmm12, %xmm14 + movd %xmm12, %r9d + movd %xmm10, %r8d + movd %xmm11, %edx + movd %eax, %xmm11 + movd %xmm14, %ecx + movd 4(%r9,%r10), %xmm6 + movd 4(%r8,%r10), %xmm7 + movd 4(%rdx,%r10), %xmm3 + +/* + * Create floating-point high part, implicitly adding integer bit 1 + * Incorporate overall sign at this stage too. + */ + movl $1065353216, %eax + movd 4(%rcx,%r10), %xmm5 + punpckldq %xmm7, %xmm6 + punpckldq %xmm5, %xmm3 + movd (%rcx,%r10), %xmm1 + movd 8(%rcx,%r10), %xmm10 + +/* + * 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). + */ + movl $-2147483648, %ecx + movmskps %xmm13, %r11d + movd (%r9,%r10), %xmm9 + movd (%r8,%r10), %xmm8 + movd 8(%r8,%r10), %xmm2 + +/* + * 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. + */ + movl $1195376640, %r8d + movd (%rdx,%r10), %xmm15 + movd 8(%rdx,%r10), %xmm13 + +/* + * Break the P_xxx and m into 16-bit chunks ready for + * the long multiplication via 16x16->32 multiplications + */ + movl $65535, %edx + punpcklqdq %xmm3, %xmm6 + movd 8(%r9,%r10), %xmm3 + movl $8388608, %r10d + punpckldq %xmm2, %xmm3 + +/* + * 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. + */ + movl $679477248, %r9d + punpckldq %xmm10, %xmm13 + punpcklqdq %xmm13, %xmm3 + pshufd $0, %xmm11, %xmm13 + movdqa %xmm3, %xmm2 + movups %xmm4, 48(%rsp) + pand %xmm4, %xmm13 + movd %r10d, %xmm4 + psrld $16, %xmm2 + movups %xmm0, 112(%rsp) + movd %edx, %xmm0 + pshufd $0, %xmm4, %xmm12 + movdqa %xmm2, %xmm4 + punpckldq %xmm8, %xmm9 + paddd %xmm12, %xmm13 + punpckldq %xmm1, %xmm15 + movdqa %xmm13, %xmm12 + pshufd $0, %xmm0, %xmm8 + movdqa %xmm6, %xmm0 + punpcklqdq %xmm15, %xmm9 + pand %xmm8, %xmm13 + movdqa %xmm9, %xmm14 + pand %xmm8, %xmm9 + movdqa %xmm13, %xmm10 + psrld $16, %xmm14 + movdqu %xmm14, 128(%rsp) + +/* Now do the big multiplication and carry propagation */ + movdqa %xmm9, %xmm14 + psrlq $32, %xmm10 + psrlq $32, %xmm14 + movdqa %xmm13, %xmm15 + movdqa %xmm10, %xmm7 + pmuludq %xmm9, %xmm15 + psrld $16, %xmm0 + pmuludq %xmm14, %xmm7 + movdqu %xmm9, 144(%rsp) + psllq $32, %xmm7 + movdqu .FLT_19(%rip), %xmm9 + pand %xmm8, %xmm6 + pand %xmm9, %xmm15 + psrld $16, %xmm12 + movdqa %xmm0, %xmm1 + por %xmm7, %xmm15 + movdqa %xmm13, %xmm7 + pand %xmm8, %xmm3 + movdqu %xmm0, 160(%rsp) + movdqa %xmm12, %xmm11 + movdqu %xmm15, 208(%rsp) + psrlq $32, %xmm1 + pmuludq %xmm0, %xmm7 + movdqa %xmm6, %xmm5 + movdqa %xmm10, %xmm15 + movdqa %xmm12, %xmm0 + movdqu %xmm14, 176(%rsp) + psrlq $32, %xmm11 + movdqu %xmm1, 192(%rsp) + psrlq $32, %xmm5 + pmuludq %xmm1, %xmm15 + movdqa %xmm13, %xmm1 + pmuludq %xmm3, %xmm0 + pmuludq %xmm6, %xmm1 + pmuludq %xmm12, %xmm6 + movdqa %xmm10, %xmm14 + psrlq $32, %xmm3 + pmuludq %xmm5, %xmm14 + pand %xmm9, %xmm1 + pmuludq %xmm11, %xmm3 + pmuludq %xmm11, %xmm5 + psllq $32, %xmm14 + pand %xmm9, %xmm0 + psllq $32, %xmm3 + psrlq $32, %xmm4 + por %xmm14, %xmm1 + por %xmm3, %xmm0 + movdqa %xmm12, %xmm14 + movdqa %xmm11, %xmm3 + pmuludq %xmm2, %xmm14 + pand %xmm9, %xmm7 + pmuludq %xmm4, %xmm3 + pmuludq %xmm13, %xmm2 + pmuludq %xmm10, %xmm4 + pand %xmm9, %xmm2 + psllq $32, %xmm4 + psllq $32, %xmm15 + pand %xmm9, %xmm14 + psllq $32, %xmm3 + por %xmm4, %xmm2 + por %xmm15, %xmm7 + por %xmm3, %xmm14 + psrld $16, %xmm2 + pand %xmm9, %xmm6 + psllq $32, %xmm5 + movdqa %xmm1, %xmm15 + paddd %xmm2, %xmm14 + movdqa %xmm7, %xmm2 + por %xmm5, %xmm6 + psrld $16, %xmm1 + pand %xmm8, %xmm2 + paddd %xmm1, %xmm6 + movdqu 160(%rsp), %xmm1 + paddd %xmm6, %xmm2 + movdqu 192(%rsp), %xmm6 + psrld $16, %xmm7 + pmuludq %xmm12, %xmm1 + pand %xmm8, %xmm15 + pmuludq %xmm11, %xmm6 + pmuludq 144(%rsp), %xmm12 + pmuludq 176(%rsp), %xmm11 + pand %xmm9, %xmm1 + psllq $32, %xmm6 + por %xmm6, %xmm1 + psrld $16, %xmm0 + paddd %xmm7, %xmm1 + paddd %xmm14, %xmm15 + movdqu 128(%rsp), %xmm7 + paddd %xmm15, %xmm0 + pmuludq %xmm7, %xmm13 + psrlq $32, %xmm7 + pmuludq %xmm7, %xmm10 + movdqa %xmm0, %xmm14 + pand %xmm9, %xmm13 + movdqu 208(%rsp), %xmm5 + psrld $16, %xmm14 + paddd %xmm2, %xmm14 + movdqa %xmm5, %xmm15 + movdqa %xmm14, %xmm3 + pand %xmm8, %xmm15 + psrld $16, %xmm3 + paddd %xmm1, %xmm15 + psllq $32, %xmm10 + pand %xmm9, %xmm12 + psllq $32, %xmm11 + paddd %xmm15, %xmm3 + por %xmm10, %xmm13 + por %xmm11, %xmm12 + psrld $16, %xmm5 + movdqa %xmm3, %xmm4 + pand %xmm8, %xmm13 + paddd %xmm5, %xmm12 + psrld $16, %xmm4 + paddd %xmm12, %xmm13 + paddd %xmm13, %xmm4 + pand %xmm8, %xmm3 + pslld $16, %xmm4 + movd %ecx, %xmm9 + movups 48(%rsp), %xmm15 + paddd %xmm3, %xmm4 + pshufd $0, %xmm9, %xmm7 + +/* Assemble reduced argument from the pieces */ + pand %xmm8, %xmm0 + movd %eax, %xmm8 + pand %xmm15, %xmm7 + pshufd $0, %xmm8, %xmm1 + movdqa %xmm4, %xmm5 + psrld $9, %xmm5 + pxor %xmm7, %xmm1 + por %xmm1, %xmm5 + movd %r8d, %xmm6 + pshufd $0, %xmm6, %xmm3 + movdqa %xmm5, %xmm6 + movl $511, %ecx + movl $262143, %r10d + movl $872415232, %edx + pslld $16, %xmm14 + paddd %xmm0, %xmm14 + movd %r9d, %xmm10 + pshufd $0, %xmm10, %xmm0 + +/* + * Now multiply those numbers all by 2 pi, reasonably accurately. + * The top part uses 2pi = s2pi_lead + s2pi_trail, where + * s2pi_lead has 12 significant bits. + */ + movl $1086918619, %eax + movd %ecx, %xmm13 + movd %r10d, %xmm9 + pshufd $0, %xmm13, %xmm1 + movd %edx, %xmm11 + pshufd $0, %xmm9, %xmm8 + pand %xmm4, %xmm1 + pshufd $0, %xmm11, %xmm12 + pand %xmm14, %xmm8 + pslld $14, %xmm1 + psrld $18, %xmm14 + pxor %xmm7, %xmm0 + pxor %xmm12, %xmm7 + por %xmm14, %xmm1 + pslld $5, %xmm8 + por %xmm7, %xmm1 + +/* Split RHi into 12-bit leading and trailing parts. */ + movl $-4096, %r10d + por %xmm0, %xmm8 + movl $1086918656, %r8d + movd %eax, %xmm14 + movl $-1214941318, %r9d + +/* + * 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) + */ + movl $2147483647, %edx + movl $897581056, %ecx + movd %r10d, %xmm4 + +/* Grab our final N value as an integer, appropriately masked mod 2^8 */ + movl $255, %eax + addps %xmm3, %xmm6 + subps %xmm7, %xmm1 + subps %xmm0, %xmm8 + movaps %xmm6, %xmm2 + movd %r8d, %xmm7 + +/* + * 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. + * Argument reduction is now finished: x = n * pi/128 + r + * where n = iIndex and r = sR (high) + sE (low). + * But we have n modulo 256, needed for sin/cos with period 2pi + * but we want it modulo 128 since tan has period pi. + */ + movl $127, %r8d + subps %xmm3, %xmm2 + subps %xmm2, %xmm5 + pshufd $0, %xmm14, %xmm2 + +/* Now add them up into 2 reasonably aligned pieces */ + movaps %xmm5, %xmm3 + pshufd $0, %xmm4, %xmm14 + movd %ecx, %xmm4 + pshufd $0, %xmm4, %xmm9 + addps %xmm1, %xmm3 + movdqa %xmm9, %xmm11 + subps %xmm3, %xmm5 + +/* Load constants (not all needed at once) */ + lea 2148+__svml_stan_data_internal(%rip), %rcx + addps %xmm5, %xmm1 + movd %r9d, %xmm5 + addps %xmm1, %xmm8 + pshufd $0, %xmm7, %xmm1 + movdqa %xmm14, %xmm7 + andps %xmm3, %xmm7 + +/* + * Do the multiplication as exact top part and "naive" low part. + * This still maintains a similar level of offset and doesn't drop + * the accuracy much below what we already have. + */ + movdqa %xmm1, %xmm10 + pshufd $0, %xmm5, %xmm5 + subps %xmm7, %xmm3 + mulps %xmm7, %xmm10 + mulps %xmm5, %xmm7 + mulps %xmm3, %xmm1 + mulps %xmm8, %xmm2 + mulps %xmm3, %xmm5 + addps %xmm7, %xmm1 + addps %xmm5, %xmm2 + movd %edx, %xmm8 + addps %xmm2, %xmm1 + +/* + * Do another stage of compensated summation to get full offset + * between the pieces sRedHi + sRedLo. + * Depending on the later algorithm, we might avoid this stage. + */ + movaps %xmm1, %xmm0 + pshufd $0, %xmm8, %xmm8 + addps %xmm10, %xmm0 + andps %xmm15, %xmm8 + subps %xmm0, %xmm10 + cmpltps %xmm8, %xmm11 + cmpleps %xmm9, %xmm8 + addps %xmm10, %xmm1 + andps %xmm15, %xmm8 + movd %eax, %xmm15 + andps %xmm11, %xmm0 + andps %xmm1, %xmm11 + pshufd $0, %xmm15, %xmm1 + movd %r8d, %xmm15 + pshufd $0, %xmm15, %xmm7 + pand %xmm1, %xmm6 + pand %xmm7, %xmm6 + orps %xmm0, %xmm8 + movaps %xmm6, %xmm4 + +/* + * Simply combine the two parts of the reduced argument + * since we can afford a few ulps in this case. + */ + addps %xmm11, %xmm8 + pslld $2, %xmm4 + paddd %xmm6, %xmm4 + pslld $3, %xmm4 + pshufd $1, %xmm4, %xmm6 + pshufd $2, %xmm4, %xmm5 + pshufd $3, %xmm4, %xmm3 + movd %xmm4, %edx + movd %xmm6, %eax + movd %xmm5, %r9d + movd %xmm3, %r10d + movd -32(%rdx,%rcx), %xmm15 + movd -32(%rax,%rcx), %xmm12 + movd -32(%r9,%rcx), %xmm7 + movd -32(%r10,%rcx), %xmm13 + punpckldq %xmm12, %xmm15 + punpckldq %xmm13, %xmm7 + movd -28(%r10,%rcx), %xmm5 + punpcklqdq %xmm7, %xmm15 + movd -28(%rdx,%rcx), %xmm7 + movd -28(%rax,%rcx), %xmm6 + movd -28(%r9,%rcx), %xmm4 + movd -36(%r9,%rcx), %xmm9 + movd -36(%rdx,%rcx), %xmm1 + movd -36(%rax,%rcx), %xmm2 + movd -24(%rax,%rcx), %xmm3 + movd -36(%r10,%rcx), %xmm10 + punpckldq %xmm6, %xmm7 + punpckldq %xmm5, %xmm4 + movd -24(%rdx,%rcx), %xmm6 + punpckldq %xmm2, %xmm1 + punpckldq %xmm10, %xmm9 + punpcklqdq %xmm4, %xmm7 + movd -16(%rdx,%rcx), %xmm4 + punpckldq %xmm3, %xmm6 + movd -24(%r9,%rcx), %xmm10 + movd -16(%r9,%rcx), %xmm3 + movd -24(%r10,%rcx), %xmm2 + movd -16(%r10,%rcx), %xmm13 + movd -16(%rax,%rcx), %xmm12 + punpcklqdq %xmm9, %xmm1 + movd -20(%rax,%rcx), %xmm9 + punpckldq %xmm2, %xmm10 + movd -20(%rdx,%rcx), %xmm5 + punpckldq %xmm12, %xmm4 + punpckldq %xmm13, %xmm3 + punpcklqdq %xmm10, %xmm6 + punpckldq %xmm9, %xmm5 + punpcklqdq %xmm3, %xmm4 + movd -12(%rdx,%rcx), %xmm3 + movd -12(%rax,%rcx), %xmm2 + movd -12(%r9,%rcx), %xmm9 + movd -12(%r10,%rcx), %xmm10 + punpckldq %xmm2, %xmm3 + punpckldq %xmm10, %xmm9 + movd -20(%r10,%rcx), %xmm0 + movd -20(%r9,%rcx), %xmm11 + punpcklqdq %xmm9, %xmm3 + movd -4(%r9,%rcx), %xmm9 + movd -4(%r10,%rcx), %xmm13 + punpckldq %xmm0, %xmm11 + punpckldq %xmm13, %xmm9 + +/* + * Compute 2-part reciprocal component + * Construct a separate reduced argument modulo pi near pi/2 multiples. + * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument + * from an accurate B_hi + B_lo = (128 - n) pi/128. Force the upper part + * of this reduced argument to half-length to simplify accurate + * reciprocation later on. + */ + movdqa %xmm1, %xmm13 + punpcklqdq %xmm11, %xmm5 + subps %xmm8, %xmm13 + movd -8(%r10,%rcx), %xmm11 + subps %xmm13, %xmm1 + movd -8(%rdx,%rcx), %xmm10 + subps %xmm8, %xmm1 + movd -8(%rax,%rcx), %xmm0 + movd -8(%r9,%rcx), %xmm2 + punpckldq %xmm0, %xmm10 + punpckldq %xmm11, %xmm2 + punpcklqdq %xmm2, %xmm10 + movups %xmm10, 32(%rsp) + movd (%rdx,%rcx), %xmm10 + movd (%rax,%rcx), %xmm0 + movd -4(%rax,%rcx), %xmm12 + movd -4(%rdx,%rcx), %xmm2 + punpckldq %xmm0, %xmm10 + movdqa %xmm14, %xmm0 + punpckldq %xmm12, %xmm2 + andps %xmm13, %xmm0 + punpcklqdq %xmm9, %xmm2 + subps %xmm0, %xmm13 + +/* + * Now compute an approximate reciprocal to mix into the computation + * To avoid any danger of nonportability, force it to 12 bits, + * though I suspect it always is anyway on current platforms. + */ + rcpps %xmm0, %xmm9 + addps %xmm13, %xmm15 + andps %xmm14, %xmm9 + addps %xmm15, %xmm1 + mulps %xmm9, %xmm0 + movd (%r9,%rcx), %xmm12 + +/* + * Get a better approximation to 1/sR_hi (not far short of an ulp) + * using a third-order polynomial approximation + */ + movaps %xmm9, %xmm14 + movd (%r10,%rcx), %xmm11 + +/* + * Now compute the error sEr where sRecip_hi = (1/R_hi) * (1 - sEr) + * so that we can compensate for it. + */ + movups 1152+__svml_stan_data_internal(%rip), %xmm15 + punpckldq %xmm11, %xmm12 + movaps %xmm15, %xmm11 + punpcklqdq %xmm12, %xmm10 + subps %xmm0, %xmm11 + mulps %xmm11, %xmm14 + movups %xmm11, (%rsp) + addps %xmm9, %xmm14 + mulps %xmm11, %xmm11 + movups %xmm11, 16(%rsp) + movups 112(%rsp), %xmm0 + movups 96(%rsp), %xmm11 + movups 80(%rsp), %xmm12 + movups 64(%rsp), %xmm13 + +/* + * Compensated sum of dominant component(s) + * Compute C0_hi + C1_hi * Z + Recip_hi + Recip_lo = H4 (hi) + H9 (lo) + * H1 = C1_hi * Z (exact since C1_hi is 1 bit) + */ + mulps %xmm8, %xmm4 + addps 16(%rsp), %xmm15 + +/* Finally, multiplex both parts so they are only used in cotangent path */ + mulps %xmm7, %xmm9 + +/* P4 = C3 + C4 * Z */ + mulps %xmm8, %xmm10 + mulps %xmm15, %xmm14 + addps %xmm10, %xmm2 + +/* + * Multiply by sRecip_ok to make sR_lo relative to sR_hi + * Since sR_lo is shifted off by about 12 bits, this is accurate enough. + */ + mulps %xmm14, %xmm1 + +/* + * Now create a low reciprocal using + * (Recip_hi + Er * Recip_ok) * (1 + sR_lo^2 - sR_lo) + * =~= Recip_hi + Recip_ok * (Er + sR_lo^2 - sR_lo) + */ + movaps %xmm1, %xmm15 + mulps %xmm1, %xmm1 + subps (%rsp), %xmm15 + subps %xmm15, %xmm1 + mulps %xmm1, %xmm14 + mulps %xmm14, %xmm7 + +/* H2 = high(C0_hi + C1_hi * Z) */ + movdqa %xmm6, %xmm14 + addps %xmm4, %xmm14 + +/* H4 = high(H2 + Recip_hi) */ + movaps %xmm14, %xmm1 + +/* intermediate in compensated sum */ + subps %xmm14, %xmm6 + addps %xmm9, %xmm1 + +/* H5 = low(C0_hi + C1_hi * Z) */ + addps %xmm6, %xmm4 + +/* intermediate in compensated sum */ + subps %xmm1, %xmm9 + +/* H7 = low(C0_hi + C1_hi * Z) + Recip_lo */ + addps %xmm4, %xmm7 + +/* H8 = low(H2 + Recip_hi) */ + addps %xmm9, %xmm14 + +/* + * Higher polynomial terms + * Stage 1 (with unlimited parallelism) + * P3 = C1_lo + C2 * Z + */ + movups 32(%rsp), %xmm4 + +/* Z2 = Z^2 */ + movaps %xmm8, %xmm6 + mulps %xmm8, %xmm4 + +/* Now H4 + H9 should be that part */ + addps %xmm14, %xmm7 + mulps %xmm8, %xmm6 + addps %xmm4, %xmm3 + +/* P9 = trail(dominant part) + C0_lo */ + addps %xmm7, %xmm5 + +/* + * Stage 2 (with unlimited parallelism) + * P6 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 + */ + mulps %xmm6, %xmm2 + addps %xmm2, %xmm3 + +/* Merge results from main and large paths: */ + movaps %xmm11, %xmm2 + +/* Final accumulation of low part */ + mulps %xmm3, %xmm8 + andnps %xmm0, %xmm2 + movaps %xmm2, %xmm0 + addps %xmm8, %xmm5 + +/* And now the very final summation */ + addps %xmm5, %xmm1 + +/* + * The end of implementation (LA with huge args reduction) + * End of large arguments path (_HA_, _LA_ and _EP_) + */ + + pxor %xmm12, %xmm1 + andps %xmm11, %xmm1 + orps %xmm1, %xmm0 + jmp .LBL_1_2 + +END(_ZGVbN4v_tanf_sse4) + + .align 16,0x90 + +__svml_stan_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_stan_cout_rare_internal,@function + .size __svml_stan_cout_rare_internal,.-__svml_stan_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_stan_data_internal: + .long 1092811139 + .long 1092811139 + .long 1092811139 + .long 1092811139 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1036586970 + .long 1036586970 + .long 1036586970 + .long 1036586970 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 832708968 + .long 832708968 + .long 832708968 + .long 832708968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 633484485 + .long 633484485 + .long 633484485 + .long 633484485 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 832708608 + .long 832708608 + .long 832708608 + .long 832708608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 708075802 + .long 708075802 + .long 708075802 + .long 708075802 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040758920 + .long 1040758920 + .long 1040758920 + .long 1040758920 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1059256707 + .long 1059256707 + .long 1059256707 + .long 1059256707 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070137344 + .long 1070137344 + .long 1070137344 + .long 1070137344 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 972922880 + .long 972922880 + .long 972922880 + .long 972922880 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 866263040 + .long 866263040 + .long 866263040 + .long 866263040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 741630234 + .long 741630234 + .long 741630234 + .long 741630234 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2801216749 + .long 2801216749 + .long 2801216749 + .long 2801216749 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3183752116 + .long 3183752116 + .long 3183752116 + .long 3183752116 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3202070443 + .long 3202070443 + .long 3202070443 + .long 3202070443 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1008677739 + .long 1008677739 + .long 1008677739 + .long 1008677739 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 16 + +.FLT_19: + .long 0xffffffff,0x00000000,0xffffffff,0x00000000 + .type .FLT_19,@object + .size .FLT_19,16 + .align 4 + +__stan_la__vmlsTanTab: + .long 0 + .long 2139095040 + .type __stan_la__vmlsTanTab,@object + .size __stan_la__vmlsTanTab,8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core-sse.S new file mode 100644 index 0000000000..a3d3b97a4b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized tanf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_tanf _ZGVdN8v_tanf_sse_wrapper +#include "../svml_s_tanf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core.c new file mode 100644 index 0000000000..350dd72cba --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized tanf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_tanf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_tanf, __GI__ZGVdN8v_tanf, + __redirect__ZGVdN8v_tanf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core_avx2.S new file mode 100644 index 0000000000..4adf0187a8 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core_avx2.S @@ -0,0 +1,4192 @@ +/* Function tanf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 1) Range reduction to [-Pi/4; +Pi/4] interval + * a) Grab sign from source argument and save it. + * b) Remove sign using AND 0x7fffffff operation + * c) Getting octant Y by 2/Pi multiplication + * d) Add "Right Shifter" (0x4B000000) value + * e) Treat obtained value as integer for destination sign setting. + * Shift first bit of this value to the last (sign) position (S << 31) + * f) Change destination sign if source sign is negative + * using XOR operation. + * g) Subtract "Right Shifter" (0x4B000000) value + * h) Subtract Y*(PI/2) from X argument, where PI/2 divided to 4 parts: + * X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4; + * 2) Rational polynomial approximation ( at [-Pi/4; +Pi/4] interval) + * a) Calculate X^2 = X * X + * b) Calculate 2 polynomials: + * P = X * (P0 + X^2 * P1); + * Q = Q0 + X^2 * (Q1 + x^2 * Q2); + * c) Swap P and Q if first bit of obtained value after + * Right Shifting is set to 1. Using And, Andnot & Or operations. + * d) Divide R = P / Q; + * 3) Destination sign setting + * a) Set shifted destination sign using XOR operation: + * R = XOR( R, S ); + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_tanf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + pushq %rsi + pushq %rdi + pushq %r12 + subq $424, %rsp + +/* + * Legacy Code + * Here HW FMA can be unavailable + */ + xorl %eax, %eax + vmovups 960+__svml_stan_data_internal(%rip), %ymm1 + vmovups %ymm8, 160(%rsp) + +/* + * + * Main path (_LA_ and _EP_) + * + * Octant calculation + */ + vmovups 1088+__svml_stan_data_internal(%rip), %ymm5 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe8, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + vmovups 832+__svml_stan_data_internal(%rip), %ymm8 + +/* Range reduction */ + vmovups 1536+__svml_stan_data_internal(%rip), %ymm6 + vmovups %ymm15, 384(%rsp) + vmovups %ymm10, 224(%rsp) + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovups 1984+__svml_stan_data_internal(%rip), %ymm15 + vmovups %ymm13, 320(%rsp) + vmovups %ymm9, 192(%rsp) + vmovups %ymm14, 352(%rsp) + vmovups %ymm12, 288(%rsp) + vmovups %ymm11, 256(%rsp) + vmovaps %ymm0, %ymm4 + vandps %ymm1, %ymm4, %ymm3 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + vfmadd213ps %ymm5, %ymm3, %ymm8 + vsubps %ymm5, %ymm8, %ymm5 + +/* Inversion mask and sign calculation */ + vpslld $31, %ymm8, %ymm7 + vfnmadd213ps %ymm3, %ymm5, %ymm6 + vfnmadd231ps 1600+__svml_stan_data_internal(%rip), %ymm5, %ymm6 + vfnmadd132ps 1664+__svml_stan_data_internal(%rip), %ymm6, %ymm5 + +/* Rational approximation */ + vmovups 1792+__svml_stan_data_internal(%rip), %ymm6 + vmulps %ymm5, %ymm5, %ymm10 + vfmadd213ps 1728+__svml_stan_data_internal(%rip), %ymm10, %ymm6 + vfmadd213ps 1920+__svml_stan_data_internal(%rip), %ymm10, %ymm15 + vmulps %ymm6, %ymm5, %ymm13 + vfmadd213ps 1856+__svml_stan_data_internal(%rip), %ymm10, %ymm15 + vandnps %ymm4, %ymm1, %ymm2 + vxorps %ymm2, %ymm7, %ymm0 + vpslld $30, %ymm8, %ymm7 + +/* Large values check */ + vcmpnle_uqps 1216+__svml_stan_data_internal(%rip), %ymm3, %ymm1 + vxorps %ymm9, %ymm9, %ymm9 + vcmpneqps %ymm9, %ymm7, %ymm14 + +/* Exchanged numerator and denominator if necessary */ + vandnps %ymm13, %ymm14, %ymm11 + vandps %ymm15, %ymm14, %ymm12 + vandps %ymm13, %ymm14, %ymm13 + vandnps %ymm15, %ymm14, %ymm14 + vorps %ymm12, %ymm11, %ymm5 + vorps %ymm14, %ymm13, %ymm6 + +/* Division */ + vdivps %ymm6, %ymm5, %ymm7 + vmovmskps %ymm1, %edx + +/* Sign setting */ + vxorps %ymm0, %ymm7, %ymm0 + +/* + * + * End of main path (_LA_ and _EP_) + */ + + testl %edx, %edx + jne .LBL_1_12 + +.LBL_1_2: + testl %eax, %eax + jne .LBL_1_4 + +.LBL_1_3: + vmovups 160(%rsp), %ymm8 + cfi_restore(91) + vmovups 192(%rsp), %ymm9 + cfi_restore(92) + vmovups 224(%rsp), %ymm10 + cfi_restore(93) + vmovups 256(%rsp), %ymm11 + cfi_restore(94) + vmovups 288(%rsp), %ymm12 + cfi_restore(95) + vmovups 320(%rsp), %ymm13 + cfi_restore(96) + vmovups 352(%rsp), %ymm14 + cfi_restore(97) + vmovups 384(%rsp), %ymm15 + cfi_restore(98) + addq $424, %rsp + cfi_restore(12) + popq %r12 + cfi_restore(5) + popq %rdi + cfi_restore(4) + popq %rsi + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe8, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_4: + vmovups %ymm4, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_3 + xorl %r12d, %r12d + vzeroupper + movq %r13, (%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r13d + +.LBL_1_8: + btl %r12d, %r13d + jc .LBL_1_11 + +.LBL_1_9: + incl %r12d + cmpl $8, %r12d + jl .LBL_1_8 + movq (%rsp), %r13 + cfi_restore(13) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_3 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xfe, 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(13) + +.LBL_1_12: + vmovups %ymm0, 96(%rsp) + +/* + * 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), %rdx + vmovups %ymm1, 64(%rsp) + vmovups .FLT_18(%rip), %ymm1 + vmovups %ymm2, 32(%rsp) + vpand .FLT_19(%rip), %ymm3, %ymm0 + vpsrld $23, %ymm0, %ymm13 + vpslld $1, %ymm13, %ymm6 + vpaddd %ymm13, %ymm6, %ymm9 + vpslld $2, %ymm9, %ymm8 + vandps %ymm1, %ymm4, %ymm12 + vcmpeqps %ymm1, %ymm12, %ymm5 + vmovmskps %ymm5, %eax + vextractf128 $1, %ymm8, %xmm1 + vmovd %xmm8, %ecx + vmovd %xmm1, %r9d + vmovd (%rcx,%rdx), %xmm14 + vpextrd $1, %xmm8, %esi + vpextrd $2, %xmm8, %edi + vpextrd $3, %xmm8, %r8d + vpextrd $1, %xmm1, %r11d + vpextrd $2, %xmm1, %r10d + vpextrd $3, %xmm1, %r12d + vmovd (%rsi,%rdx), %xmm11 + vmovd (%rdi,%rdx), %xmm10 + vmovd (%r8,%rdx), %xmm15 + vmovd (%r9,%rdx), %xmm5 + vmovd (%r11,%rdx), %xmm0 + vmovd (%r10,%rdx), %xmm6 + vmovd (%r12,%rdx), %xmm13 + vpunpckldq %xmm11, %xmm14, %xmm12 + vpunpckldq %xmm15, %xmm10, %xmm7 + vpunpckldq %xmm0, %xmm5, %xmm9 + vpunpckldq %xmm13, %xmm6, %xmm8 + vpunpcklqdq %xmm7, %xmm12, %xmm2 + vmovd 4(%rcx,%rdx), %xmm11 + vmovd 4(%rsi,%rdx), %xmm10 + vmovd 4(%rdi,%rdx), %xmm15 + vmovd 4(%r8,%rdx), %xmm12 + vpunpcklqdq %xmm8, %xmm9, %xmm14 + vmovd 4(%r9,%rdx), %xmm0 + vmovd 4(%r11,%rdx), %xmm13 + vmovd 4(%r10,%rdx), %xmm9 + vmovd 4(%r12,%rdx), %xmm8 + vpunpckldq %xmm10, %xmm11, %xmm7 + vpunpckldq %xmm12, %xmm15, %xmm1 + vpunpckldq %xmm8, %xmm9, %xmm11 + vpunpcklqdq %xmm1, %xmm7, %xmm5 + vmovd 8(%rdi,%rdx), %xmm7 + vmovd 8(%r8,%rdx), %xmm1 + vmovd 8(%rcx,%rdx), %xmm15 + vmovd 8(%rsi,%rdx), %xmm12 + vmovd 8(%r9,%rdx), %xmm8 + vinsertf128 $1, %xmm14, %ymm2, %ymm6 + vpunpckldq %xmm13, %xmm0, %xmm14 + vpunpcklqdq %xmm11, %xmm14, %xmm10 + vpunpckldq %xmm1, %xmm7, %xmm13 + +/* + * 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 + */ + vpand .FLT_20(%rip), %ymm3, %ymm1 + vmovd 8(%r11,%rdx), %xmm14 + vmovd 8(%r10,%rdx), %xmm11 + vpunpckldq %xmm12, %xmm15, %xmm0 + vpunpckldq %xmm14, %xmm8, %xmm15 + +/* Load constants (not all needed at once) */ + lea 2148+__svml_stan_data_internal(%rip), %r10 + vpunpcklqdq %xmm13, %xmm0, %xmm9 + vpaddd .FLT_21(%rip), %ymm1, %ymm0 + vinsertf128 $1, %xmm10, %ymm5, %ymm2 + vmovd 8(%r12,%rdx), %xmm10 + vpunpckldq %xmm10, %xmm11, %xmm12 + vpunpcklqdq %xmm12, %xmm15, %xmm7 + +/* + * Break the P_xxx and m into 16-bit chunks ready for + * the long multiplication via 16x16->32 multiplications + */ + vmovdqu .FLT_22(%rip), %ymm12 + vpsrld $16, %ymm0, %ymm5 + vpsrld $16, %ymm2, %ymm11 + vpand %ymm12, %ymm0, %ymm0 + vpand %ymm12, %ymm2, %ymm8 + vpand %ymm12, %ymm6, %ymm1 + vpsrld $16, %ymm6, %ymm6 + vpmulld %ymm11, %ymm0, %ymm14 + vpmulld %ymm1, %ymm0, %ymm2 + vpmulld %ymm11, %ymm5, %ymm11 + vinsertf128 $1, %xmm7, %ymm9, %ymm7 + vpsrld $16, %ymm7, %ymm13 + vpand %ymm12, %ymm7, %ymm10 + vpmulld %ymm13, %ymm5, %ymm7 + vpmulld %ymm13, %ymm0, %ymm13 + vpsrld $16, %ymm13, %ymm13 + vpmulld %ymm8, %ymm0, %ymm9 + vpmulld %ymm10, %ymm5, %ymm15 + vpand %ymm12, %ymm9, %ymm10 + vpaddd %ymm13, %ymm7, %ymm7 + vpsrld $16, %ymm15, %ymm15 + vpsrld $16, %ymm9, %ymm9 + vpaddd %ymm7, %ymm10, %ymm10 + vpmulld %ymm8, %ymm5, %ymm8 + vpaddd %ymm10, %ymm15, %ymm7 + vpand %ymm12, %ymm14, %ymm10 + vpaddd %ymm9, %ymm8, %ymm9 + vpsrld $16, %ymm14, %ymm14 + vpsrld $16, %ymm7, %ymm13 + vpaddd %ymm9, %ymm10, %ymm8 + vpand %ymm12, %ymm2, %ymm9 + vpaddd %ymm8, %ymm13, %ymm10 + vpaddd %ymm14, %ymm11, %ymm13 + vpsrld $16, %ymm2, %ymm14 + vpsrld $16, %ymm10, %ymm8 + vpaddd %ymm13, %ymm9, %ymm9 + vpslld $16, %ymm10, %ymm10 + vpaddd %ymm9, %ymm8, %ymm13 + vpmulld %ymm6, %ymm0, %ymm9 + +/* Now do the big multiplication and carry propagation */ + vpmulld %ymm1, %ymm5, %ymm8 + vpand %ymm12, %ymm9, %ymm11 + vpaddd %ymm14, %ymm8, %ymm0 + vpsrld $16, %ymm13, %ymm15 + vpand %ymm12, %ymm13, %ymm13 + +/* + * 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). + */ + vpand .FLT_23(%rip), %ymm3, %ymm14 + vpaddd %ymm0, %ymm11, %ymm1 + +/* Assemble reduced argument from the pieces */ + vpand %ymm12, %ymm7, %ymm5 + +/* + * 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 .FLT_25(%rip), %ymm12 + vpaddd %ymm1, %ymm15, %ymm15 + +/* + * Create floating-point high part, implicitly adding integer bit 1 + * Incorporate overall sign at this stage too. + */ + vpxor .FLT_24(%rip), %ymm14, %ymm7 + vpaddd %ymm5, %ymm10, %ymm8 + vpslld $16, %ymm15, %ymm2 + vpand .FLT_27(%rip), %ymm8, %ymm15 + vpsrld $18, %ymm8, %ymm8 + vpaddd %ymm13, %ymm2, %ymm11 + +/* + * 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. + */ + vpxor .FLT_26(%rip), %ymm14, %ymm2 + vpslld $5, %ymm15, %ymm0 + vpsrld $9, %ymm11, %ymm6 + vpor %ymm2, %ymm0, %ymm1 + vpor %ymm7, %ymm6, %ymm13 + vpxor .FLT_28(%rip), %ymm14, %ymm7 + vpand .FLT_29(%rip), %ymm11, %ymm14 + vaddps %ymm12, %ymm13, %ymm9 + vsubps %ymm2, %ymm1, %ymm15 + vpslld $14, %ymm14, %ymm11 + +/* + * 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 .FLT_33(%rip), %ymm1 + vsubps %ymm12, %ymm9, %ymm10 + vpor %ymm8, %ymm11, %ymm5 + +/* Grab our final N value as an integer, appropriately masked mod 2^8 */ + vpand .FLT_34(%rip), %ymm9, %ymm9 + +/* + * 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 .FLT_30(%rip), %ymm11 + vpor %ymm7, %ymm5, %ymm6 + vsubps %ymm10, %ymm13, %ymm13 + vsubps %ymm7, %ymm6, %ymm12 + +/* Now add them up into 2 reasonably aligned pieces */ + vaddps %ymm12, %ymm13, %ymm10 + vmulps %ymm10, %ymm11, %ymm5 + vsubps %ymm10, %ymm13, %ymm13 + vmovaps %ymm11, %ymm14 + vfmsub213ps %ymm5, %ymm10, %ymm14 + vaddps %ymm13, %ymm12, %ymm8 + vfmadd132ps .FLT_31(%rip), %ymm14, %ymm10 + vaddps %ymm8, %ymm15, %ymm15 + vfmadd213ps %ymm10, %ymm11, %ymm15 + +/* + * 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. + * Argument reduction is now finished: x = n * pi/128 + r + * where n = iIndex and r = sR (high) + sE (low). + * But we have n modulo 256, needed for sin/cos with period 2pi + * but we want it modulo 128 since tan has period pi. + */ + vpand .FLT_35(%rip), %ymm9, %ymm10 + vpslld $2, %ymm10, %ymm11 + vandps .FLT_32(%rip), %ymm3, %ymm0 + vcmpgt_oqps %ymm1, %ymm0, %ymm6 + vcmple_oqps %ymm1, %ymm0, %ymm2 + vpaddd %ymm10, %ymm11, %ymm0 + vpslld $3, %ymm0, %ymm1 + vandps %ymm3, %ymm2, %ymm3 + vandps %ymm5, %ymm6, %ymm13 + vorps %ymm13, %ymm3, %ymm8 + vandps %ymm15, %ymm6, %ymm14 + +/* + * Simply combine the two parts of the reduced argument + * since we can afford a few ulps in this case. + */ + vaddps %ymm14, %ymm8, %ymm13 + vextractf128 $1, %ymm1, %xmm14 + vmovd %xmm1, %r11d + vmovd %xmm14, %esi + vmovd -36(%r11,%r10), %xmm2 + vmovd -32(%r11,%r10), %xmm6 + vpextrd $1, %xmm1, %r9d + vpextrd $2, %xmm1, %r8d + vpextrd $3, %xmm1, %edi + vpextrd $1, %xmm14, %ecx + vpextrd $2, %xmm14, %edx + vpextrd $3, %xmm14, %r12d + vmovd -36(%r9,%r10), %xmm3 + vmovd -36(%r8,%r10), %xmm5 + vmovd -36(%rdi,%r10), %xmm7 + vmovd -36(%rsi,%r10), %xmm11 + vmovd -36(%rcx,%r10), %xmm10 + vmovd -36(%rdx,%r10), %xmm0 + vmovd -36(%r12,%r10), %xmm1 + vpunpckldq %xmm3, %xmm2, %xmm12 + vpunpckldq %xmm7, %xmm5, %xmm9 + vpunpckldq %xmm10, %xmm11, %xmm2 + vpunpckldq %xmm1, %xmm0, %xmm3 + vpunpcklqdq %xmm9, %xmm12, %xmm8 + vpunpcklqdq %xmm3, %xmm2, %xmm5 + vmovd -32(%r9,%r10), %xmm7 + vmovd -32(%r8,%r10), %xmm12 + vmovd -32(%rdi,%r10), %xmm15 + vmovd -32(%rsi,%r10), %xmm10 + vmovd -32(%rcx,%r10), %xmm0 + vmovd -32(%rdx,%r10), %xmm1 + vmovd -32(%r12,%r10), %xmm2 + vpunpckldq %xmm15, %xmm12, %xmm14 + vpunpckldq %xmm0, %xmm10, %xmm3 + vmovd -28(%r9,%r10), %xmm12 + vmovd -28(%r8,%r10), %xmm15 + vinsertf128 $1, %xmm5, %ymm8, %ymm9 + vpunpckldq %xmm7, %xmm6, %xmm8 + vpunpckldq %xmm2, %xmm1, %xmm5 + vpunpcklqdq %xmm14, %xmm8, %xmm11 + vpunpcklqdq %xmm5, %xmm3, %xmm6 + vmovd -28(%r11,%r10), %xmm7 + vmovd -28(%rdi,%r10), %xmm14 + vmovd -28(%rsi,%r10), %xmm1 + vmovd -28(%rcx,%r10), %xmm2 + vmovd -28(%rdx,%r10), %xmm3 + vmovd -28(%r12,%r10), %xmm5 + vpunpckldq %xmm14, %xmm15, %xmm10 + vmovd -24(%r11,%r10), %xmm15 + vinsertf128 $1, %xmm6, %ymm11, %ymm8 + vpunpckldq %xmm12, %xmm7, %xmm11 + vpunpckldq %xmm2, %xmm1, %xmm6 + vpunpckldq %xmm5, %xmm3, %xmm7 + vpunpcklqdq %xmm10, %xmm11, %xmm0 + vpunpcklqdq %xmm7, %xmm6, %xmm12 + vmovd -24(%r9,%r10), %xmm11 + vmovd -24(%r8,%r10), %xmm10 + vmovd -24(%rsi,%r10), %xmm5 + vmovd -24(%rcx,%r10), %xmm6 + vmovd -24(%rdx,%r10), %xmm7 + vpunpckldq %xmm11, %xmm15, %xmm1 + vpunpckldq %xmm6, %xmm5, %xmm15 + vmovd -20(%rdi,%r10), %xmm5 + vinsertf128 $1, %xmm12, %ymm0, %ymm14 + vmovd -24(%rdi,%r10), %xmm0 + vmovd -24(%r12,%r10), %xmm12 + vpunpckldq %xmm0, %xmm10, %xmm2 + vpunpckldq %xmm12, %xmm7, %xmm11 + vpunpcklqdq %xmm2, %xmm1, %xmm3 + vpunpcklqdq %xmm11, %xmm15, %xmm10 + vmovd -20(%r11,%r10), %xmm0 + vmovd -20(%r9,%r10), %xmm1 + vmovd -20(%rsi,%r10), %xmm15 + vmovd -20(%r8,%r10), %xmm2 + vpunpckldq %xmm1, %xmm0, %xmm6 + vmovd -20(%r12,%r10), %xmm0 + vpunpckldq %xmm5, %xmm2, %xmm7 + vpunpcklqdq %xmm7, %xmm6, %xmm12 + vmovd -16(%r11,%r10), %xmm6 + vmovd -16(%r9,%r10), %xmm7 + vinsertf128 $1, %xmm10, %ymm3, %ymm11 + vmovd -20(%rcx,%r10), %xmm10 + vpunpckldq %xmm10, %xmm15, %xmm1 + vmovd -20(%rdx,%r10), %xmm15 + vpunpckldq %xmm0, %xmm15, %xmm2 + vpunpcklqdq %xmm2, %xmm1, %xmm3 + vmovd -16(%r8,%r10), %xmm10 + vmovd -16(%rdi,%r10), %xmm0 + vpunpckldq %xmm7, %xmm6, %xmm1 + vmovd -16(%rcx,%r10), %xmm6 + vmovd -16(%rdx,%r10), %xmm7 + vpunpckldq %xmm0, %xmm10, %xmm2 + vinsertf128 $1, %xmm3, %ymm12, %ymm5 + vmovups %ymm5, (%rsp) + vmovd -16(%rsi,%r10), %xmm5 + vmovd -16(%r12,%r10), %xmm12 + vpunpckldq %xmm6, %xmm5, %xmm15 + vpunpckldq %xmm12, %xmm7, %xmm10 + vpunpcklqdq %xmm2, %xmm1, %xmm3 + vpunpcklqdq %xmm10, %xmm15, %xmm0 + vmovd -12(%r11,%r10), %xmm1 + vmovd -12(%r9,%r10), %xmm2 + vmovd -12(%r8,%r10), %xmm5 + vmovd -12(%rdi,%r10), %xmm6 + vpunpckldq %xmm2, %xmm1, %xmm7 + vmovd -12(%rcx,%r10), %xmm1 + vmovd -12(%rdx,%r10), %xmm2 + vpunpckldq %xmm6, %xmm5, %xmm12 + vpunpcklqdq %xmm12, %xmm7, %xmm15 + vinsertf128 $1, %xmm0, %ymm3, %ymm10 + vmovd -12(%rsi,%r10), %xmm0 + vmovd -12(%r12,%r10), %xmm3 + vpunpckldq %xmm1, %xmm0, %xmm5 + vpunpckldq %xmm3, %xmm2, %xmm6 + vpunpcklqdq %xmm6, %xmm5, %xmm7 + vmovd -8(%r11,%r10), %xmm3 + vmovd -8(%r9,%r10), %xmm5 + vmovups 96(%rsp), %ymm0 + vmovups 64(%rsp), %ymm1 + vmovups 32(%rsp), %ymm2 + vinsertf128 $1, %xmm7, %ymm15, %ymm12 + vmovups %ymm4, 32(%rsp) + vpunpckldq %xmm5, %xmm3, %xmm4 + vmovd -8(%r8,%r10), %xmm6 + vmovd -8(%rdi,%r10), %xmm5 + vpunpckldq %xmm5, %xmm6, %xmm7 + vpunpcklqdq %xmm7, %xmm4, %xmm6 + vmovd -8(%rsi,%r10), %xmm3 + vmovd -8(%rcx,%r10), %xmm15 + vmovd -8(%rdx,%r10), %xmm5 + vmovd -8(%r12,%r10), %xmm4 + vpunpckldq %xmm15, %xmm3, %xmm7 + vpunpckldq %xmm4, %xmm5, %xmm3 + vpunpcklqdq %xmm3, %xmm7, %xmm15 + vmovd -4(%r11,%r10), %xmm5 + vmovd -4(%r9,%r10), %xmm4 + vmovd -4(%r8,%r10), %xmm7 + vmovd -4(%rdi,%r10), %xmm3 + vinsertf128 $1, %xmm15, %ymm6, %ymm6 + vpunpckldq %xmm4, %xmm5, %xmm15 + vpunpckldq %xmm3, %xmm7, %xmm5 + vpunpcklqdq %xmm5, %xmm15, %xmm4 + vmovd -4(%rsi,%r10), %xmm7 + vmovd -4(%rcx,%r10), %xmm3 + vmovd -4(%rdx,%r10), %xmm15 + vmovd -4(%r12,%r10), %xmm5 + vpunpckldq %xmm3, %xmm7, %xmm7 + vpunpckldq %xmm5, %xmm15, %xmm3 + vpunpcklqdq %xmm3, %xmm7, %xmm15 + vmovd (%r11,%r10), %xmm5 + vmovd (%r9,%r10), %xmm7 + vmovd (%r8,%r10), %xmm3 + vpunpckldq %xmm7, %xmm5, %xmm5 + +/* + * Higher polynomial terms + * Stage 1 (with unlimited parallelism) + * P3 = C1_lo + C2 * Z + */ + vfmadd213ps %ymm12, %ymm13, %ymm6 + vinsertf128 $1, %xmm15, %ymm4, %ymm4 + vmovd (%rdi,%r10), %xmm15 + vpunpckldq %xmm15, %xmm3, %xmm7 + vmovd (%rsi,%r10), %xmm3 + vmovd (%rcx,%r10), %xmm15 + vpunpcklqdq %xmm7, %xmm5, %xmm7 + vpunpckldq %xmm15, %xmm3, %xmm5 + vmovd (%rdx,%r10), %xmm3 + vmovd (%r12,%r10), %xmm15 + vpunpckldq %xmm15, %xmm3, %xmm3 + vpunpcklqdq %xmm3, %xmm5, %xmm5 + vmovups .FLT_36(%rip), %ymm3 + +/* + * Compute 2-part reciprocal component + * Construct a separate reduced argument modulo pi near pi/2 multiples. + * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument + * from an accurate B_hi + B_lo = (128 - n) pi/128. Force the upper part + * of this reduced argument to half-length to simplify accurate + * reciprocation later on. + */ + vsubps %ymm13, %ymm9, %ymm15 + vsubps %ymm15, %ymm9, %ymm9 + vsubps %ymm13, %ymm9, %ymm9 + vinsertf128 $1, %xmm5, %ymm7, %ymm5 + vandps %ymm3, %ymm15, %ymm7 + vsubps %ymm7, %ymm15, %ymm15 + +/* P4 = C3 + C4 * Z */ + vfmadd213ps %ymm4, %ymm13, %ymm5 + +/* Merge results from main and large paths: */ + vmovups 32(%rsp), %ymm4 + vaddps %ymm15, %ymm8, %ymm8 + vaddps %ymm8, %ymm9, %ymm8 + +/* + * Now compute an approximate reciprocal to mix into the computation + * To avoid any danger of nonportability, force it to 12 bits, + * though I suspect it always is anyway on current platforms. + */ + vrcpps %ymm7, %ymm9 + vandps %ymm3, %ymm9, %ymm9 + +/* + * Now compute the error sEr where sRecip_hi = (1/R_hi) * (1 - sEr) + * so that we can compensate for it. + */ + vmovups 1152+__svml_stan_data_internal(%rip), %ymm3 + vfnmadd213ps %ymm3, %ymm9, %ymm7 + +/* + * Get a better approximation to 1/sR_hi (not far short of an ulp) + * using a third-order polynomial approximation + */ + vmovaps %ymm9, %ymm15 + vfmadd213ps %ymm9, %ymm7, %ymm15 + vfmadd231ps %ymm7, %ymm7, %ymm3 + vmulps %ymm3, %ymm15, %ymm3 + +/* + * Multiply by sRecip_ok to make sR_lo relative to sR_hi + * Since sR_lo is shifted off by about 12 bits, this is accurate enough. + */ + vmulps %ymm3, %ymm8, %ymm15 + +/* + * Now create a low reciprocal using + * (Recip_hi + Er * Recip_ok) * (1 + sR_lo^2 - sR_lo) + * =~= Recip_hi + Recip_ok * (Er + sR_lo^2 - sR_lo) + */ + vsubps %ymm7, %ymm15, %ymm7 + vfmsub213ps %ymm7, %ymm15, %ymm15 + vmulps %ymm15, %ymm3, %ymm7 + vmovaps %ymm10, %ymm3 + vfmadd213ps %ymm11, %ymm13, %ymm3 + vsubps %ymm3, %ymm11, %ymm8 + vmovaps %ymm14, %ymm11 + vfmadd213ps %ymm3, %ymm9, %ymm11 + vfmadd213ps %ymm8, %ymm13, %ymm10 + vfmsub213ps %ymm11, %ymm14, %ymm9 + vfmadd213ps %ymm10, %ymm14, %ymm7 + vaddps %ymm9, %ymm3, %ymm10 + +/* Z2 = Z^2 */ + vmulps %ymm13, %ymm13, %ymm3 + vaddps %ymm10, %ymm7, %ymm14 + +/* + * Stage 2 (with unlimited parallelism) + * P6 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 + */ + vfmadd213ps %ymm6, %ymm5, %ymm3 + +/* P9 = trail(dominant part) + C0_lo */ + vaddps (%rsp), %ymm14, %ymm12 + +/* Final accumulation of low part */ + vfmadd213ps %ymm12, %ymm13, %ymm3 + +/* And now the very final summation */ + vaddps %ymm3, %ymm11, %ymm13 + +/* + * The end of implementation (LA with huge args reduction) + * End of large arguments path (_HA_, _LA_ and _EP_) + */ + + vxorps %ymm2, %ymm13, %ymm2 + vblendvps %ymm1, %ymm2, %ymm0, %ymm0 + jmp .LBL_1_2 + +END(_ZGVdN8v_tanf_avx2) + + .align 16,0x90 + +__svml_stan_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_stan_cout_rare_internal,@function + .size __svml_stan_cout_rare_internal,.-__svml_stan_cout_rare_internal + + .section .rodata, "a" + .align 64 + +__svml_stan_data_internal: + .long 1092811139 + .long 1092811139 + .long 1092811139 + .long 1092811139 + .long 1092811139 + .long 1092811139 + .long 1092811139 + .long 1092811139 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1036586970 + .long 1036586970 + .long 1036586970 + .long 1036586970 + .long 1036586970 + .long 1036586970 + .long 1036586970 + .long 1036586970 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 832708968 + .long 832708968 + .long 832708968 + .long 832708968 + .long 832708968 + .long 832708968 + .long 832708968 + .long 832708968 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 633484485 + .long 633484485 + .long 633484485 + .long 633484485 + .long 633484485 + .long 633484485 + .long 633484485 + .long 633484485 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 832708608 + .long 832708608 + .long 832708608 + .long 832708608 + .long 832708608 + .long 832708608 + .long 832708608 + .long 832708608 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 708075802 + .long 708075802 + .long 708075802 + .long 708075802 + .long 708075802 + .long 708075802 + .long 708075802 + .long 708075802 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1040758920 + .long 1040758920 + .long 1040758920 + .long 1040758920 + .long 1040758920 + .long 1040758920 + .long 1040758920 + .long 1040758920 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1059256707 + .long 1059256707 + .long 1059256707 + .long 1059256707 + .long 1059256707 + .long 1059256707 + .long 1059256707 + .long 1059256707 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .long 2139095040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .long 1262485504 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .long 1065353216 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .long 1174470656 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070137344 + .long 1070137344 + .long 1070137344 + .long 1070137344 + .long 1070137344 + .long 1070137344 + .long 1070137344 + .long 1070137344 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 972922880 + .long 972922880 + .long 972922880 + .long 972922880 + .long 972922880 + .long 972922880 + .long 972922880 + .long 972922880 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 866263040 + .long 866263040 + .long 866263040 + .long 866263040 + .long 866263040 + .long 866263040 + .long 866263040 + .long 866263040 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 741630234 + .long 741630234 + .long 741630234 + .long 741630234 + .long 741630234 + .long 741630234 + .long 741630234 + .long 741630234 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .long 1070141403 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .long 3007036718 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2801216749 + .long 2801216749 + .long 2801216749 + .long 2801216749 + .long 2801216749 + .long 2801216749 + .long 2801216749 + .long 2801216749 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3183752116 + .long 3183752116 + .long 3183752116 + .long 3183752116 + .long 3183752116 + .long 3183752116 + .long 3183752116 + .long 3183752116 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .long 1065353212 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 3202070443 + .long 3202070443 + .long 3202070443 + .long 3202070443 + .long 3202070443 + .long 3202070443 + .long 3202070443 + .long 3202070443 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1008677739 + .long 1008677739 + .long 1008677739 + .long 1008677739 + .long 1008677739 + .long 1008677739 + .long 1008677739 + .long 1008677739 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .long 1073741824 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 32 + +.FLT_18: + .long 0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000 + .type .FLT_18,@object + .size .FLT_18,32 + .align 32 + +.FLT_19: + .long 0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000 + .type .FLT_19,@object + .size .FLT_19,32 + .align 32 + +.FLT_20: + .long 0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff + .type .FLT_20,@object + .size .FLT_20,32 + .align 32 + +.FLT_21: + .long 0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000 + .type .FLT_21,@object + .size .FLT_21,32 + .align 32 + +.FLT_22: + .long 0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff + .type .FLT_22,@object + .size .FLT_22,32 + .align 32 + +.FLT_23: + .long 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000 + .type .FLT_23,@object + .size .FLT_23,32 + .align 32 + +.FLT_24: + .long 0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000 + .type .FLT_24,@object + .size .FLT_24,32 + .align 32 + +.FLT_25: + .long 0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000 + .type .FLT_25,@object + .size .FLT_25,32 + .align 32 + +.FLT_26: + .long 0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000 + .type .FLT_26,@object + .size .FLT_26,32 + .align 32 + +.FLT_27: + .long 0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff + .type .FLT_27,@object + .size .FLT_27,32 + .align 32 + +.FLT_28: + .long 0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000 + .type .FLT_28,@object + .size .FLT_28,32 + .align 32 + +.FLT_29: + .long 0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff + .type .FLT_29,@object + .size .FLT_29,32 + .align 32 + +.FLT_30: + .long 0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb + .type .FLT_30,@object + .size .FLT_30,32 + .align 32 + +.FLT_31: + .long 0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e + .type .FLT_31,@object + .size .FLT_31,32 + .align 32 + +.FLT_32: + .long 0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff + .type .FLT_32,@object + .size .FLT_32,32 + .align 32 + +.FLT_33: + .long 0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000 + .type .FLT_33,@object + .size .FLT_33,32 + .align 32 + +.FLT_34: + .long 0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff + .type .FLT_34,@object + .size .FLT_34,32 + .align 32 + +.FLT_35: + .long 0x0000007f,0x0000007f,0x0000007f,0x0000007f,0x0000007f,0x0000007f,0x0000007f,0x0000007f + .type .FLT_35,@object + .size .FLT_35,32 + .align 32 + +.FLT_36: + .long 0xfffff000,0xfffff000,0xfffff000,0xfffff000,0xfffff000,0xfffff000,0xfffff000,0xfffff000 + .type .FLT_36,@object + .size .FLT_36,32 + .align 4 + +__stan_la__vmlsTanTab: + .long 0 + .long 2139095040 + .type __stan_la__vmlsTanTab,@object + .size __stan_la__vmlsTanTab,8 diff --git a/sysdeps/x86_64/fpu/svml_d_tan2_core.S b/sysdeps/x86_64/fpu/svml_d_tan2_core.S new file mode 100644 index 0000000000..0e53ea666b --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_tan2_core.S @@ -0,0 +1,29 @@ +/* Function tan vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_tan) +WRAPPER_IMPL_SSE2 tan +END (_ZGVbN2v_tan) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_tan) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_tan4_core.S b/sysdeps/x86_64/fpu/svml_d_tan4_core.S new file mode 100644 index 0000000000..7240bdbe45 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_tan4_core.S @@ -0,0 +1,29 @@ +/* Function tan vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_tan) +WRAPPER_IMPL_AVX _ZGVbN2v_tan +END (_ZGVdN4v_tan) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_tan) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_tan4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_tan4_core_avx.S new file mode 100644 index 0000000000..ab18bb61ec --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_tan4_core_avx.S @@ -0,0 +1,25 @@ +/* Function tan vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_tan) +WRAPPER_IMPL_AVX _ZGVbN2v_tan +END (_ZGVcN4v_tan) diff --git a/sysdeps/x86_64/fpu/svml_d_tan8_core.S b/sysdeps/x86_64/fpu/svml_d_tan8_core.S new file mode 100644 index 0000000000..76ad38d9d7 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_tan8_core.S @@ -0,0 +1,25 @@ +/* Function tan vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_tan) +WRAPPER_IMPL_AVX512 _ZGVdN4v_tan +END (_ZGVeN8v_tan) diff --git a/sysdeps/x86_64/fpu/svml_s_tanf16_core.S b/sysdeps/x86_64/fpu/svml_s_tanf16_core.S new file mode 100644 index 0000000000..22ec8d8906 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_tanf16_core.S @@ -0,0 +1,25 @@ +/* Function tanf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_tanf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_tanf +END (_ZGVeN16v_tanf) diff --git a/sysdeps/x86_64/fpu/svml_s_tanf4_core.S b/sysdeps/x86_64/fpu/svml_s_tanf4_core.S new file mode 100644 index 0000000000..670b3ce0ff --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_tanf4_core.S @@ -0,0 +1,29 @@ +/* Function tanf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_tanf) +WRAPPER_IMPL_SSE2 tanf +END (_ZGVbN4v_tanf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_tanf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_tanf8_core.S b/sysdeps/x86_64/fpu/svml_s_tanf8_core.S new file mode 100644 index 0000000000..30c8ad9a89 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_tanf8_core.S @@ -0,0 +1,29 @@ +/* Function tanf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_tanf) +WRAPPER_IMPL_AVX _ZGVbN4v_tanf +END (_ZGVdN8v_tanf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_tanf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_tanf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_tanf8_core_avx.S new file mode 100644 index 0000000000..b0ff1489c2 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_tanf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function tanf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_tanf) +WRAPPER_IMPL_AVX _ZGVbN4v_tanf +END (_ZGVcN8v_tanf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-tan-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-tan-avx.c new file mode 100644 index 0000000000..bf7a6393a4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-tan-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-tan.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-tan-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-tan-avx2.c new file mode 100644 index 0000000000..bf7a6393a4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-tan-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-tan.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-tan-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-tan-avx512f.c new file mode 100644 index 0000000000..bf7a6393a4 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-tan-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-tan.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-tan.c b/sysdeps/x86_64/fpu/test-double-libmvec-tan.c new file mode 100644 index 0000000000..5710dddf5b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-tan.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC tan +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index a0bdd99971..d6b866263f 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -46,6 +46,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVbN2v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVbN2v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVbN2v_log2) VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVbN2v_sinh) +VECTOR_WRAPPER (WRAPPER_NAME (tan), _ZGVbN2v_tan) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 3900d7e81b..88e7f8e375 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -49,6 +49,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVdN4v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVdN4v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVdN4v_log2) VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVdN4v_sinh) +VECTOR_WRAPPER (WRAPPER_NAME (tan), _ZGVdN4v_tan) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 80c30b6a9c..79f6275ceb 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -46,6 +46,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVcN4v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVcN4v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVcN4v_log2) VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVcN4v_sinh) +VECTOR_WRAPPER (WRAPPER_NAME (tan), _ZGVcN4v_tan) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index 512b551a46..80025ee612 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -46,6 +46,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log10), _ZGVeN8v_log10) VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVeN8v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVeN8v_log2) VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVeN8v_sinh) +VECTOR_WRAPPER (WRAPPER_NAME (tan), _ZGVeN8v_tan) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx.c new file mode 100644 index 0000000000..ea7974f3ad --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-tanf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx2.c new file mode 100644 index 0000000000..ea7974f3ad --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-tanf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx512f.c new file mode 100644 index 0000000000..ea7974f3ad --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-tanf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-tanf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-tanf.c b/sysdeps/x86_64/fpu/test-float-libmvec-tanf.c new file mode 100644 index 0000000000..20754c7a16 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-tanf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC tanf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index c6bf2f5f6b..f8f0a3858a 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -46,6 +46,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVeN16v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVeN16v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVeN16v_log2f) VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVeN16v_sinhf) +VECTOR_WRAPPER (WRAPPER_NAME (tanf), _ZGVeN16v_tanf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index b17bf08eb9..9778549534 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -46,6 +46,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVbN4v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVbN4v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVbN4v_log2f) VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVbN4v_sinhf) +VECTOR_WRAPPER (WRAPPER_NAME (tanf), _ZGVbN4v_tanf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index ede717bb48..f00ba85eaa 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -49,6 +49,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVdN8v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVdN8v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVdN8v_log2f) VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVdN8v_sinhf) +VECTOR_WRAPPER (WRAPPER_NAME (tanf), _ZGVdN8v_tanf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index ec5b13aac3..45bcf55340 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -46,6 +46,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log10f), _ZGVcN8v_log10f) VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVcN8v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVcN8v_log2f) VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVcN8v_sinhf) +VECTOR_WRAPPER (WRAPPER_NAME (tanf), _ZGVcN8v_tanf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:38:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48089 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 86F533857C7B for ; Wed, 24 Nov 2021 20:04:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 86F533857C7B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637784282; bh=SdhQFaO2rr68/HrHuFZZZgCpPYp17tmBeTI5Ih+kqXE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=GwD4wei205uwWesjJHuhQ5OVO9MtcsBGGwYogRFsipspKqwM8oj3IDIQrqD2FMblm T6dO38kbjIVU5M6Z/EGYxKiTN5Z7UHgdjWAOBtethbGYHvtwfgaud5stuXEACm+YRq Kr7rTWcJOeLBBVFImrbMrGDC1tDBY7Z8xbz/sK/k= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by sourceware.org (Postfix) with ESMTPS id B30FA3857C76 for ; Wed, 24 Nov 2021 19:38:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B30FA3857C76 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="222231971" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="222231971" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="650501633" Received: from scymds02.sc.intel.com ([10.82.73.244]) by fmsmga001.fm.intel.com with ESMTP; 24 Nov 2021 11:38:16 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XR021555; Wed, 24 Nov 2021 11:38:15 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 40/42] x86-64: Add vector tan/tanf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:38:05 -0800 Message-Id: <20211124193807.2093208-41-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector tan/tanf and input files to libmvec microbenchmark. libmvec-tan-inputs: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 5.0 10% uniform random distribution in range (-1000.0, 1000.0) libmvec-tanf-inputs: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 5.0f 10% uniform random distribution in range (-1000.0f, 1000.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-tan-inputs | 4100 ++++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-tanf-inputs | 4100 ++++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-tan-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-tanf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 8e2272e1eb..7fa6b695ae 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -70,6 +70,7 @@ libmvec-bench-funcs = \ log1p \ log2 \ sinh \ + tan \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-tan-inputs b/sysdeps/x86_64/fpu/libmvec-tan-inputs new file mode 100644 index 0000000000..9829f3b757 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-tan-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-1.8e+308, 1.8e+308), mean = 0, standard deviation = 5 +-0x1.554044c998ce3p+0 +-0x1.66c497192875p+1 +-0x1.ea687f5ea7dfbp+2 +-0x1.91417dc7ac74ep+1 +-0x1.8a5fa60900109p+0 +0x1.43456a199d366p+2 +0x1.d5fd5a6a60f93p+1 +0x1.5c4e8c66e2e1ep+3 +0x1.830c02f511649p+1 +-0x1.3b3a6a67df6bep+1 +-0x1.d32cee06bc94cp+2 +-0x1.8382d92cc1e63p+2 +0x1.63e8788c68f95p+3 +-0x1.1f87dce3921b6p+0 +-0x1.0e3e9fb97670ep+2 +0x1.2fb7ef8e6fbffp+3 +-0x1.76ab7725ca30ap+0 +-0x1.0f485c7cc73e6p-5 +0x1.669f14c1bc97dp+1 +0x1.50884ff604923p+2 +-0x1.381b3dade9059p+1 +-0x1.f522c1615db4fp+1 +-0x1.e8deddfcc661fp-1 +0x1.2d09520846f24p+2 +-0x1.15328be8c723ap+1 +0x1.c011b1d55aa19p+2 +-0x1.4497b90aba18ep+2 +-0x1.7155b020554bap+0 +0x1.64693909a55eep+2 +-0x1.50befce7760d8p+2 +0x1.f9b19732e5af3p-1 +0x1.05dbacbd7f89cp+2 +0x1.f17b4b540208fp-1 +-0x1.d2423b58befe4p+3 +0x1.cf35fd5b482fap-1 +0x1.50d461d320bf8p-2 +-0x1.ee88eec12b23ap+1 +-0x1.bed2d6cb4234ep+0 +-0x1.9289054e34dc1p+0 +0x1.d07cc93942dd6p-2 +-0x1.8b1f17c053277p-2 +0x1.2d7e81a18ec16p+2 +-0x1.5c6225dc9d83dp+2 +0x1.f6057eb669dedp+0 +0x1.a6133246f02cbp-4 +-0x1.a0e648576f38p+3 +-0x1.de858a024db6ap-1 +0x1.db97223cb3cd2p+1 +-0x1.84e57319a299fp+2 +-0x1.99a4746523f41p+0 +0x1.1892ed812a81ap+2 +-0x1.45195082b21d3p+2 +0x1.d19ce308bf969p+1 +-0x1.51cb4941b33ecp+3 +-0x1.f6acda42e26aap+1 +0x1.77326f59a1515p+0 +-0x1.2ca063d96eccp+2 +0x1.09fcf85930166p+2 +0x1.abd376f299f83p+2 +0x1.75627093f7afbp-2 +0x1.6feca48b8f959p+1 +-0x1.de3b4df9efa9ep-4 +0x1.a638b6bcfe548p+1 +-0x1.c84d5c751315p+2 +0x1.7a94e1f1d448fp-1 +0x1.1f30cf2e10371p+2 +0x1.3597f2e9134b4p+0 +0x1.96560e29f2655p-1 +0x1.19f6234d816e9p+0 +-0x1.115fe49804542p-2 +0x1.3bea99f1dfe24p+2 +-0x1.3d6c01eccb9e8p+2 +0x1.33a841906147cp-1 +0x1.4db5b19a88af7p+1 +-0x1.5f2064d2ca6afp+1 +0x1.7bb08538b2099p+0 +-0x1.51738df8b4b53p+1 +-0x1.25699b5e29a54p+9 +-0x1.3c1729bf6cf2bp-1 +-0x1.0964f74ba9ba7p-1 +0x1.c92b8aadf143p+8 +0x1.e0431a8ddcbd5p-2 +0x1.c9e8040c460c3p+1 +-0x1.683a8bf05d4ap+2 +-0x1.faf0ca9620cf8p+0 +-0x1.9c9b866ca2458p+1 +-0x1.0d0c32e3ca6dep+1 +-0x1.4b238278a8981p+0 +0x1.3c522ab79dcb1p+2 +0x1.2c9091cdd2e31p+2 +0x1.295ca37ef8281p+7 +0x1.4b33e5cb4d458p+4 +-0x1.85f6212a9b0ap+1 +-0x1.23131430f6b9p-1 +-0x1.f0ef9317279b3p+2 +0x1.1c944ff6f69d1p+3 +0x1.b04b1ca715c49p-1 +-0x1.3242f101b4b9dp-1 +0x1.74340618f282p-3 +-0x1.19d4fae8b046bp+2 +0x1.214e5e94f87d4p+3 +-0x1.11ad0819e7a58p+2 +-0x1.9356a68f8c8c4p+1 +0x1.64eab5cb1c6aep+2 +0x1.e1279b404809ep+0 +0x1.01096dab53456p-3 +0x1.01cc27b2044b5p+2 +-0x1.6e7ca3baa79c2p-2 +-0x1.0680ab97f64c6p+1 +-0x1.d5793c2c69773p+1 +0x1.d4c674bc2226cp+0 +0x1.0a8f509b4c33fp+3 +-0x1.3a54f96a1acf6p-3 +0x1.06405ad926e7cp+2 +0x1.7eaa24fd69adep+1 +0x1.b7f32b77350b8p+1 +-0x1.9798941511ca6p-2 +-0x1.c3f60d018c235p+2 +-0x1.548e3b7f55b52p+2 +-0x1.46b70923dd051p+2 +0x1.a6928f133d17bp+1 +-0x1.c99a93f5c241fp+2 +0x1.310f9ff6c34b7p+3 +-0x1.ee6fe004cedb6p+1 +-0x1.0a39edd8f53afp+2 +0x1.eb1886cffa447p+0 +0x1.d2527842a0885p+1 +-0x1.514ed6fa4dbcfp+1 +-0x1.ff7cc625f214bp+0 +-0x1.4ade29c63bdfap+0 +0x1.763f5c42e535fp+3 +0x1.4cf20d40427b7p+0 +0x1.710cb4219b2aap+3 +-0x1.71ea56311e798p+2 +0x1.87e2af16cc22p+1 +0x1.acbdf7b8b8cb1p+2 +-0x1.36b38240e124ep+3 +0x1.00be9d2cc226cp+1 +-0x1.f37092404396ap+1 +-0x1.38e30543d2783p+0 +-0x1.d8974526448bfp-6 +-0x1.61a1465ceac2ap+1 +0x1.4a98efe7e96dfp-2 +0x1.c5bf66fd8479dp+1 +-0x1.bbb92cb8e6798p+0 +0x1.12044ef41bdap+1 +0x1.0ffc1b717c092p+1 +-0x1.e60f73b81c999p+6 +-0x1.0bbc8815ee793p+2 +-0x1.3d69ad65f38d3p+0 +0x1.2118761c15d6bp+1 +-0x1.36369a571a85cp+1 +0x1.6da0a2ac4091p+2 +-0x1.9dc37dd201f97p-2 +-0x1.3bf064beccce6p+2 +-0x1.26d8cccba2d56p+2 +-0x1.5f85846f3e7c4p-2 +0x1.4957ca5078978p+9 +-0x1.0b3cdf33b0737p+1 +0x1.520918691fbe7p+1 +-0x1.96b003fe8132ep+2 +-0x1.0525f3d414731p+3 +0x1.4d408a5eec5bbp+1 +-0x1.8607ea65026dp+1 +-0x1.98ece3a8067a1p+2 +0x1.e369295a89953p+2 +-0x1.16ca9e54f9183p+0 +0x1.ca41643f67f74p-8 +0x1.0bd9349d0075dp+3 +0x1.cfb1494744a37p-1 +0x1.bd98bd3eab59dp-1 +-0x1.c48bf08d22fcdp-1 +-0x1.a83238eb47a39p-3 +0x1.00f4eaa4629cp+1 +-0x1.7712c3524774dp-3 +-0x1.2399f397efb95p+1 +0x1.e1f14824d866ap-2 +-0x1.93da3ab7882b1p-1 +-0x1.8c7952f23a3f3p+1 +-0x1.f5ab8ea7f5c48p-1 +-0x1.687dec89e6be8p+3 +-0x1.f2d0b19a6f865p+1 +0x1.e1e64cda36901p+3 +-0x1.3ae28631df18bp+1 +-0x1.3767e4ce1f49fp+2 +-0x1.d30f878fe0435p-3 +-0x1.23746a15aa5bfp+2 +-0x1.a7f2578cec6c3p+1 +0x1.20e169edee6d8p+2 +-0x1.e7e7815f01c51p+0 +-0x1.01395640f15dap+3 +0x1.dd03809d62759p+2 +0x1.13e3a634448d2p+3 +-0x1.3bd47d8fd7d23p+2 +-0x1.f135ded6c428ep+1 +-0x1.0530d76011c18p+1 +0x1.9883b1cbc8856p+2 +-0x1.0cd6b2f481b52p+1 +0x1.c3f887221c0aap+2 +0x1.57fc878facc8cp+0 +0x1.b9a54fab32a4ap-3 +-0x1.60a843e0a6738p+3 +-0x1.bdd8d7d421796p+1 +0x1.1583579dc0af8p-1 +0x1.8b0b8cc1ead32p-2 +0x1.a372532f5f3bap+1 +-0x1.ab1acb40b58b5p+3 +0x1.b1ae478bf7ffcp+0 +-0x1.515fb1b0a3a62p+1 +0x1.002122c88a532p+3 +-0x1.3860d975bfaep+2 +-0x1.793ebde692d4cp+2 +0x1.6191bd4c16afdp+1 +0x1.e68bc105211f7p-1 +-0x1.40de4ffdf37aep-3 +-0x1.5790642cbb181p+2 +-0x1.18388d378c296p+3 +-0x1.2bb4e73741648p+3 +0x1.8e3ef73ce7c69p+1 +0x1.ab82d8a92880ap+2 +-0x1.1c32a88a2c165p+2 +-0x1.2adfd4e073877p-2 +0x1.35f5e661287edp+2 +0x1.1904bf512f56ap-1 +0x1.7d24c811c3786p+2 +-0x1.0890a46993205p+2 +0x1.d81626a3496fap-4 +0x1.23976224c75edp+2 +-0x1.2a26cf4a0689p+3 +0x1.4a786e23d8eb9p+2 +-0x1.8ce033d6230e1p+0 +-0x1.55e6f49ef2b54p+1 +0x1.7549ba0d9503fp+0 +-0x1.a60bbd748e025p+2 +0x1.c89fcb7ec2299p+2 +-0x1.4a7d8de0f57d2p+1 +0x1.d0b10a0fe4388p-1 +-0x1.978ea5c73c1dep+2 +-0x1.fc6332047e54ep+1 +0x1.4028a9adda03cp+1 +-0x1.49838135f72d4p+2 +-0x1.06da9efa52edep-1 +0x1.88bdcbb1e4c12p-1 +0x1.0fe06084ac03p+0 +-0x1.eedfbbba35ee9p+2 +0x1.1c67ace5eefcdp+0 +0x1.ca73c0f8990e5p+1 +-0x1.249b68aa73a1fp-2 +0x1.a934da5fead08p+1 +-0x1.c2d5958142b9dp+1 +0x1.48e06741ed076p+1 +0x1.b0f2eb5e0e25ep+1 +-0x1.cd8d85a0d6f8bp+5 +0x1.0c90da8f599e4p+6 +0x1.bf5ac2104cebcp+1 +0x1.e26a4b12fe9d3p+1 +-0x1.2c60d0b789864p+1 +0x1.eb03f31735c3p+0 +-0x1.f807fb90bbd08p+8 +0x1.0e89b344f2e2ep+1 +-0x1.f9c44b36f3413p-1 +0x1.6869edeeb9f1bp+2 +-0x1.63710c70f9962p+2 +0x1.e43d64c360b1ep+7 +0x1.a1048ea4388a7p+0 +0x1.34ac281a441f3p+2 +0x1.b55042829d604p+2 +-0x1.35142638a1d37p+1 +0x1.93c822374a942p+1 +-0x1.0f6420b624b93p+1 +-0x1.0ed599f5a7cd9p+3 +0x1.5546f7c566cbfp+1 +-0x1.f905a50059045p+1 +-0x1.038a7a00f864cp+4 +0x1.75661d2ff2441p+0 +-0x1.1516f4e3109d2p-5 +0x1.777793d0ab52bp+0 +-0x1.5471f4852766ep+0 +0x1.0c3511379edfp+3 +0x1.397aaf07b2c1fp+2 +0x1.f9378d9b015f1p+0 +-0x1.d0fb06e142db3p+0 +0x1.60087ce36d852p+2 +0x1.38a85fa7f3d2p+0 +-0x1.ca522b7a266eap+2 +0x1.467ef6ca75e11p-1 +-0x1.7c2b197a394f3p+0 +0x1.c41fc1c119a91p-2 +-0x1.09dad171a35f5p+2 +0x1.7bf15f3eb58fep+1 +0x1.ea04a0a3a24cp+1 +0x1.2e01383e9fap+2 +-0x1.6ff0dcc1fdb1ap+3 +-0x1.04da08cc04222p+0 +-0x1.0c76e8aa524c8p+3 +-0x1.01b3bd9ed5faep+3 +0x1.6626b02a35dffp-1 +0x1.15400c8b52a1ep+1 +-0x1.6519ab50babd6p+2 +-0x1.035c516913bf2p+3 +0x1.df116c03b6efbp+2 +0x1.046cc1a9a35f9p+1 +0x1.c7aa82aef0c52p+1 +0x1.939110e017d55p+7 +0x1.6089da2ce60f5p+2 +0x1.a523adf42fe25p+2 +-0x1.51cca92057939p+5 +0x1.bb84cfb3bd225p+2 +-0x1.bd1e022ef6d1p-2 +-0x1.0526d595330bap+4 +0x1.44f21e1af96d9p+7 +0x1.0755d9bbacf57p+3 +-0x1.0db29102b220cp+0 +-0x1.be86e3dd85107p+2 +-0x1.747e63a4144a5p+1 +0x1.b88e2ae8c6c72p+3 +0x1.89131e4fc2e09p+3 +0x1.a421f27de9cd5p+1 +0x1.1eb352fc364d5p+1 +-0x1.90b5a18083a02p+4 +-0x1.f9bf67a84192bp+2 +-0x1.9eee99889333ap+1 +-0x1.38eaa94fa1472p+2 +-0x1.1da2e6f3cf10bp+2 +-0x1.e65857d023309p+0 +-0x1.7ee8c75bda27p+1 +-0x1.ddf13947707e4p+1 +-0x1.1496f693d736bp+1 +-0x1.2dfbb9144344ep+3 +-0x1.3ac90f72039ddp+1 +0x1.26ba2d9c733b6p+0 +-0x1.2d34e61e339f8p+2 +0x1.ecf05f2b6e01fp+1 +0x1.cf5fdf6e8eaa1p+0 +-0x1.3668b9e54b506p+1 +-0x1.33e39e40932a9p+1 +-0x1.35904ab71be7ep+2 +-0x1.9643ce8d33d15p+0 +-0x1.8d583b3898343p+2 +-0x1.0cf15101c504bp+1 +-0x1.74ad535c493c8p+2 +0x1.658c39bfa82dap-6 +-0x1.d4ec79dc8a488p+6 +0x1.4dd8e7bb74e0dp+0 +0x1.b1ea87cc8f54ep+1 +-0x1.1c93d7c4d76c1p+0 +0x1.8c5a54ce37012p+1 +0x1.5dd0bcbf38d24p+1 +-0x1.70048b8170335p+1 +0x1.e36baab658f7bp+2 +-0x1.819d0e1126c51p+0 +-0x1.88223ec3fb50fp-2 +0x1.140769f804ff9p+2 +-0x1.ce9e1b8b5edcep+1 +0x1.91887de348ddap+2 +0x1.4e3832f29dfa8p+1 +-0x1.0217f4132ff2cp+1 +0x1.a226e04e81a16p+2 +0x1.0e4d10f2e7ba3p+0 +0x1.55cc27f95a89fp-1 +-0x1.c953c7a5404bap+5 +0x1.d1d4bddfa613ap+1 +0x1.0a1e64264a646p+2 +-0x1.aa486b8600162p+0 +0x1.dc8a95caf39f4p-1 +0x1.14562f5a8a5efp+1 +-0x1.0247f41975814p+2 +0x1.4551a069b3393p+1 +-0x1.615c7f65d4f7fp+1 +0x1.691400ffb7149p+3 +-0x1.eb6dd451f844p+2 +-0x1.161d880077694p-1 +0x1.4150e888d6b19p+0 +-0x1.dff24aa855381p+0 +-0x1.5c439da72b194p+0 +0x1.8e984eb376b24p+2 +0x1.95eedb1c7c1e4p+0 +-0x1.29cd7f3066c1bp+0 +0x1.9de85531340ap+0 +0x1.e63dc2c43dfbp-1 +0x1.2069d4e142321p+3 +0x1.61e48c3424946p+2 +-0x1.03decf343a04bp+3 +-0x1.4cca2f2f402fcp+1 +-0x1.756bac0926086p+2 +0x1.ef60c2435efcep-1 +0x1.4cf1bdcb5fff9p+2 +0x1.a3c77f07c8ebep-1 +-0x1.08f70f09ad96p+6 +0x1.f0ea74c39999ap+2 +0x1.b064e5c866f06p+2 +0x1.527ab02700406p-3 +-0x1.ecf4e5a953bb4p+2 +0x1.60b248e8f63f2p-2 +0x1.e34614033245bp+1 +-0x1.2fea9802c7feap+1 +-0x1.4183b04630bebp+2 +-0x1.262a6bab231e1p+2 +0x1.619eb32724d35p+0 +-0x1.c876af4575effp+0 +-0x1.7b6b9cdbcab63p+1 +-0x1.efffd5bb7ab2ep+3 +0x1.04f2ccb141f5p+1 +0x1.ba28776545ac2p+2 +-0x1.af89aeff1d2e3p+0 +-0x1.cbbe0427595eap+1 +-0x1.8843efbe767e9p+8 +0x1.aa903a5eb295ep-4 +-0x1.d52f372b50c1ep+1 +-0x1.57468c7c7e70cp+1 +0x1.999db1c7078abp+0 +0x1.1a2da3008ec88p-1 +-0x1.ab5f02189813ep+1 +0x1.5b15edcc0b5dcp+0 +-0x1.b6b9faec38b6ep+2 +-0x1.1d156b5663baep+3 +-0x1.667146769a76bp+1 +-0x1.bbf8a73f83eb7p+2 +-0x1.8a0611d51553ap-1 +-0x1.22427d34a5e53p+3 +-0x1.bdaf9c77c708p+3 +-0x1.2c7c8df247d8ap+1 +0x1.8a1731d472c3ep+2 +0x1.00b8c0819cd9cp+3 +0x1.e2a23f22ca44ap+0 +0x1.9c49cd9382b3fp-2 +-0x1.fa84bc75eb45ep-1 +-0x1.2ebba64a69fc8p+2 +0x1.389cc18950544p-2 +-0x1.5959bb35eca03p+0 +-0x1.8619fb4ccd5e5p+1 +-0x1.40270008fec01p+2 +-0x1.293e58c07bb83p+2 +0x1.12f1873f3c348p+2 +0x1.7e6cb7b786effp+1 +-0x1.6cc87fc0ea99cp+2 +0x1.7c07497eec991p+3 +-0x1.264f7484a94f1p+2 +-0x1.a6630455cf658p+0 +-0x1.49484081d0142p+2 +-0x1.b41e9105c13dcp+0 +-0x1.44d2fae99d664p+1 +0x1.4373f7e69548cp+2 +0x1.734115f390115p+1 +-0x1.2f1b473f9b62ep+4 +-0x1.b48605b5b056fp+2 +0x1.d9d5e6f93720ep+2 +0x1.3f936beb80df6p+0 +0x1.51848cd4fc16ap+3 +-0x1.d44d19fb5539fp+1 +-0x1.67ff8dc25f3c7p-2 +0x1.01ed2653f5d4cp+1 +-0x1.d78c93230bedap-2 +0x1.b1ca2c6ecd89ep-1 +0x1.6e9bc1b4cf99fp-1 +0x1.32ebadbd97d1ep+3 +0x1.3f1341d710e72p+0 +0x1.0f2f6258aab98p+3 +0x1.8167c6ece10c6p-1 +0x1.7c9bbc1afffb2p+2 +0x1.a0b3e8703b5efp+1 +-0x1.0efc2d4ad60a7p+0 +0x1.e65ada32fd35p+4 +0x1.3fecbbb595cccp-1 +0x1.ab20df86b451ap-3 +-0x1.614d6108536a4p+1 +-0x1.0e7672a4b226fp+2 +-0x1.3634f8b1c5e5p-2 +-0x1.e1419ff2896e5p+2 +-0x1.4f6b7bf8f8b23p+3 +0x1.226448ca8435cp+0 +0x1.91baf2a46a445p-7 +-0x1.912eaf6e04e09p+1 +0x1.c32eae5aac752p+0 +-0x1.5d43508511ca2p+2 +-0x1.d378f698a364bp+1 +0x1.73abd19bbfcf3p-1 +0x1.fea144597744fp+0 +0x1.75c21d91ebdbap+2 +-0x1.5320cefe606c9p-2 +-0x1.9e17a8d70015p+1 +0x1.030d9f3b9b4b3p+3 +-0x1.085b634c9abd8p+2 +0x1.37451b9e88f1dp-1 +-0x1.2a723fa10f8d6p+2 +0x1.dfbc89cd06a4fp+1 +-0x1.1a5ad4603fdbap+2 +-0x1.ca26854cf1386p+2 +0x1.279431dcbe4f2p-1 +-0x1.336802bfd4fb9p+1 +0x1.3e7dfc1484671p+2 +-0x1.688727bca9135p+2 +0x1.0d4c8609f95bap+3 +-0x1.834a79b8360a8p-1 +0x1.57eac8d9429dp-1 +0x1.d146be2732de7p+0 +-0x1.9e9a296c051f2p+1 +-0x1.0ed8af53f3273p+2 +-0x1.020e4f2e89eb5p+3 +0x1.2158b2d10457cp+3 +-0x1.36e7ef81e88ap+3 +-0x1.2f7827b63a486p-3 +0x1.e0aee5fc3da04p+1 +0x1.49ecdb5158626p+2 +0x1.7ef7c7ed07e84p+1 +-0x1.03cadc9f043cdp-1 +0x1.b946364316729p+3 +-0x1.d609dd75d90edp+2 +0x1.73d2cff2abb3p+0 +0x1.8a16e941137bep+1 +0x1.1b6167dfa7516p+2 +0x1.c7d954f4d2cb7p+3 +-0x1.c3eba05a840d7p+0 +-0x1.84fc9623c6956p-1 +0x1.58356a48f347bp+1 +0x1.2cb9385b1c5dep+0 +0x1.9e60e10873e2dp+2 +0x1.72163487826c2p+1 +-0x1.0720a3b46f81bp+5 +-0x1.0b38117b2225ep+0 +0x1.026eccad4965bp+3 +0x1.8505c16ee4e72p+2 +-0x1.bcffe9bb1f44cp+1 +0x1.dff667e51ac1p+1 +-0x1.28127568277c5p+0 +0x1.42b5927cf1e75p-2 +0x1.4f72ceacbd9c6p+1 +0x1.5f2731c8889ccp-2 +-0x1.c5be0d28399a4p+3 +0x1.599cb3a0bdc2ap+1 +-0x1.e2770257be8f9p+1 +0x1.53061e44b4a19p+1 +-0x1.1c5fab2e772c4p+2 +-0x1.bfc38f60e60ap+1 +-0x1.c17652a664d7ap+2 +-0x1.d5b897b92bbfbp+0 +0x1.974b74047c3efp+2 +0x1.7024033ba78bp+2 +0x1.889888da3e4f2p+1 +-0x1.d6102b0c041b4p+0 +0x1.b972de69e1ac6p+1 +-0x1.9480eaec7bbc6p+2 +0x1.a4de4422ef7d6p+1 +-0x1.76f02e5fe9a1bp+6 +0x1.4da0a76e38719p+1 +-0x1.a5fc20e133bebp+0 +0x1.689b6236a12d8p+6 +0x1.2c6599af07722p+3 +0x1.f01408d550269p-4 +0x1.33dfc1b0f07d6p+2 +0x1.a7dd8b220feebp+0 +0x1.a64ccf843b1e2p-1 +-0x1.a4e88d66be8d4p+1 +0x1.4cb963ba350e4p+2 +-0x1.fffcb844bb408p+1 +-0x1.ba4410f753f27p+2 +-0x1.88c8aeceef29ep+1 +0x1.7b29dee8b0ca3p+0 +-0x1.10dd31e28d943p+1 +0x1.6a93384c65823p+1 +0x1.4c63b82d01a33p+1 +-0x1.0eadf86a5b992p+2 +-0x1.16f6a036516dcp+3 +-0x1.9165e878efea9p-2 +0x1.7efd0dab212bcp+2 +-0x1.02468742ba8f6p+0 +-0x1.70a54c5a502ecp+1 +-0x1.fbed9f415ac19p+0 +0x1.6f45e017fc637p+1 +0x1.3cd4e9c3d54c6p+3 +0x1.10ffde01efea6p+0 +0x1.034412cc5369cp+1 +0x1.196f59a947eedp+2 +-0x1.1ac384660cad9p+2 +0x1.46f39263d3758p+2 +0x1.491ab9dba1d02p+1 +-0x1.77e345d61e20cp+2 +-0x1.d9c2b6bbdaceap+2 +0x1.27e721373a69ap+2 +-0x1.f27a859501aaap-2 +-0x1.3a78828801c33p+0 +0x1.6a07d4f5afd79p+0 +-0x1.abe85211c7975p+3 +-0x1.a6b25a324325cp-2 +-0x1.8bc21c23fd727p+0 +0x1.4d938c2e6ee54p+2 +0x1.1b880f6f5e50fp+0 +0x1.0e79617ede7a9p+3 +0x1.28225b814e266p+2 +0x1.dc8c448900743p+0 +-0x1.9987c10c9e16bp+2 +0x1.3587ac217f1ebp+1 +0x1.a7936a5ef04c5p+1 +0x1.5a78fc3eb17bep+1 +-0x1.13c1d93d35cfbp+2 +0x1.cadcc1aab7677p+0 +-0x1.269c550e17f49p+3 +0x1.87c345a023839p+3 +-0x1.153842ee62c68p+1 +-0x1.1728ded56c5c3p+0 +-0x1.ac92bfd53d968p+0 +0x1.ac3868bc27037p-1 +0x1.02c283d352802p-2 +0x1.3b03730fbcfc6p+1 +-0x1.a9316de1bd3d4p+2 +0x1.859ede9a4c639p+0 +0x1.3aacefa1baddep-3 +-0x1.db54a224638c1p-3 +0x1.55321aa1e531ep+0 +-0x1.e5f4c86125accp+0 +0x1.be848862b4f51p+1 +-0x1.973a760d5688fp+2 +0x1.f04e2e08885cep+0 +-0x1.dafe289d4f481p+2 +-0x1.4326d04c35c69p+2 +-0x1.700892cdbc3fap-4 +-0x1.cae5e7614aac1p+2 +-0x1.11683f97dfc2p+3 +-0x1.483408cc9dbb1p+2 +0x1.fa594739b53b9p+2 +0x1.a97d116d9c682p+1 +0x1.05d068dc63036p-1 +-0x1.96e6259258b4fp-1 +0x1.afe516dab6372p+1 +-0x1.824b1a8ec40cdp+2 +-0x1.2bb7c82baa5aap+3 +-0x1.24811556c8b05p+2 +-0x1.693f36676576fp+0 +0x1.0cac58dc6c1c3p+1 +0x1.3d3ad4b453865p-1 +0x1.090e558083f32p+2 +-0x1.f4ca45458ad97p-9 +-0x1.c652b18020bap+1 +-0x1.a9dcbf9ac4cf3p+1 +-0x1.a8429e767d7dbp+2 +0x1.505cf2e986cecp+8 +0x1.637dd711fc967p-1 +-0x1.640f8a809e4fp+0 +-0x1.2600a53891252p+1 +-0x1.10029bca4d08ap+2 +-0x1.87df270413318p+0 +0x1.6862e44a0cb42p+2 +-0x1.022dbb44da24p+3 +0x1.e861573278ab2p+0 +-0x1.893d6e486a29ep+2 +-0x1.7407b9867ec3cp+2 +-0x1.088af2efe2441p-2 +-0x1.14f9529bb752ep+1 +-0x1.5dee453de2fcbp-1 +0x1.0ab5775acda95p+2 +-0x1.04abb245ed907p+2 +0x1.8c4c534e45c0ap+2 +0x1.77e359d58424fp+2 +0x1.8c0d978b8c71p+0 +-0x1.36c3fa81efb3ap+2 +0x1.eb2c9ca8509a2p+2 +0x1.f7dd854ed52c6p-2 +0x1.76fbbb82724f3p+3 +0x1.f277092e5bf97p+1 +0x1.8031febb6d18ap+2 +-0x1.2d7070fe84e1dp+2 +-0x1.33599ccca20f9p+3 +0x1.a0e1823fc86b6p+1 +-0x1.2ca7a8906f4c1p+1 +-0x1.bb2064541e87fp+1 +0x1.2dfa1cdc254cdp+7 +-0x1.9099baa495f06p+2 +-0x1.18bb0d8a5e1e1p+1 +-0x1.deb775b278a0ap-2 +-0x1.923f2a93c1a98p+0 +-0x1.110984be1638fp+2 +-0x1.137dbc622082cp+2 +-0x1.06c963ad72628p+1 +-0x1.26f27d22a53a3p+3 +0x1.06b20d1cc8e41p-1 +-0x1.879b412bcf4cep-2 +-0x1.4e138f8dce34fp+1 +0x1.116f565033824p+2 +0x1.c9ef8dfbc5b04p+1 +-0x1.104fcf4777bf8p+2 +0x1.68e65a2687fcp-1 +-0x1.08ca057e6558bp+3 +-0x1.8e97e3441ce5ep-1 +0x1.461718bda13b8p+2 +-0x1.e73a8f637ddap-1 +0x1.fe99502f5cd0cp+2 +-0x1.f0f3f1f097c17p-2 +-0x1.daade419ba91dp+0 +0x1.4c2498f9110b3p+1 +0x1.be9128c055266p+1 +0x1.0816a4a6726a7p+2 +0x1.d71d0cbaa7982p+6 +-0x1.b98835a3590f5p-2 +-0x1.a315dca4f4b55p-1 +-0x1.1d4e1aefb7cbap+3 +-0x1.baf6347bc946cp+2 +-0x1.13fd1bc94709p+2 +-0x1.23508873c75ebp+3 +0x1.3d39d5e05defcp+3 +0x1.a183365d08c49p+1 +0x1.dae76f62be86dp+1 +-0x1.6b595f7cbeb93p+2 +0x1.8fed3a225d67dp+1 +0x1.0c18ab6618155p+0 +-0x1.4a25dddf8d0bcp+1 +-0x1.0d6f839a341dcp-1 +-0x1.e1bc6366ab1b4p+0 +-0x1.297aef6a12f1bp+3 +-0x1.54c648eb3dce5p+2 +0x1.7b6c370325b26p+0 +-0x1.466f42b36655ap-1 +-0x1.5a71a2eba38dfp+0 +0x1.106af311fcebep+2 +-0x1.cfca6e02a54eep+0 +0x1.5c1b0b20b9babp+0 +-0x1.c8ebfc3fce797p+2 +0x1.823b6fed167e5p+1 +-0x1.e8c5f97689113p+2 +0x1.7c8a493db3d2dp+8 +-0x1.a1b557162fd74p+1 +0x1.bc28ec0d1d635p-1 +0x1.bad1ac317df54p+2 +0x1.a50cbd4e4288ap+1 +0x1.98e74c4cbb1a7p+0 +0x1.41c59729ee19dp-1 +-0x1.c69abaf25c939p+1 +-0x1.6a33ccbf8114p+1 +0x1.ba88f48938157p-4 +-0x1.881dfde90ca41p+1 +0x1.dec5f2a0f073ep+0 +-0x1.5c24687d45508p+2 +-0x1.1e3d5f9eab2a3p+3 +0x1.5bc36fed5361ep+1 +0x1.8d56abecb4603p-3 +-0x1.669b82156927ap-3 +-0x1.c2c00ed6d4a93p+1 +0x1.2990a5e93b09p+0 +-0x1.11c11ac7deb12p+0 +0x1.092bd5f53d301p+1 +-0x1.80b65efdd566fp+1 +0x1.080bf3ff199dap+2 +0x1.4cc6a3bd21f84p+2 +0x1.485048f8da20ep+0 +0x1.c6f4a3778fbdp+0 +-0x1.e6106d118ab23p+2 +-0x1.c82d6bd3b7e39p-1 +0x1.29f60bbad0301p+3 +0x1.8284abe3e31cbp+2 +0x1.20a5847eb7beap+1 +-0x1.17f5f3822240ap+2 +-0x1.b9e8c6146ac5ep+1 +-0x1.5dc2bb45c245fp+0 +0x1.c1991ec2c7cadp+2 +0x1.88c7a934cc4b1p+1 +-0x1.2223843f2a519p-2 +0x1.848d926266d16p+0 +0x1.2def6f8f4238p-1 +-0x1.8e3e37896c8adp+2 +0x1.98e14a18f8502p+2 +-0x1.5d6dd0edd1d21p+2 +-0x1.119a03401f234p+2 +-0x1.07342ba27f051p+2 +-0x1.220f7fa6b0c05p-2 +0x1.c9c57dd36c7e6p+3 +0x1.2d854e3fe3679p+3 +0x1.55ac8195cd1b9p+0 +0x1.04682a5d0d635p+3 +-0x1.701fdb04fbf4ep+1 +-0x1.5feb39bb519b8p+0 +0x1.4e1922963c432p+1 +-0x1.f3d9fe9889575p+0 +-0x1.b7d7d10c467c8p+2 +-0x1.f944ca60465f2p-4 +0x1.f04a45e38483cp+0 +0x1.ee43875ffc4b5p+2 +0x1.3e4185ee5d9d5p+3 +0x1.692139ca7d09bp-2 +0x1.580708f8b3709p+3 +-0x1.327344428f82ap+2 +-0x1.2083794024c3p+1 +-0x1.65114b9771da2p+3 +-0x1.56cc1c6f500cbp+2 +-0x1.48f10f2a420a5p+1 +0x1.d5b7212f2d44fp-1 +-0x1.881e6bc1fb077p+1 +-0x1.5a8ee9ea108a6p+3 +0x1.f14b8995deccdp+2 +0x1.1daafc9e9a9f3p+1 +-0x1.48ab84a450f6dp-1 +-0x1.3af073192e58cp-2 +-0x1.76bfbceab1a38p+0 +-0x1.22723e593e5b5p+6 +-0x1.6fcfe64298ecep+2 +-0x1.226cd9a76d4b8p+2 +0x1.176cf252caa7p-2 +0x1.22592627627ddp-1 +-0x1.2760394324021p+3 +-0x1.1d69fe2323cd1p+2 +-0x1.aae9d1f4c70cdp+3 +-0x1.1b2a9422449eep+2 +-0x1.5ee56639d2897p+2 +0x1.ce3f01a07a3f5p+1 +-0x1.be2dd70e5edp+1 +0x1.6ce29683f12cep+1 +-0x1.0d3b1ca3174a1p+0 +0x1.7d225727bef7ep+2 +-0x1.3c2b5016969e9p-3 +-0x1.6de922719f809p-1 +-0x1.03f0bdd8035fap+1 +0x1.0d6602f428581p+3 +-0x1.93ebe18b0047p+0 +0x1.5ae0a08bef236p+2 +-0x1.2a719c30cb0d5p+2 +-0x1.742fb3005a195p-3 +0x1.b79bdf2369184p+1 +-0x1.6b602d21ff3b4p+1 +0x1.bfe6379f030f1p-5 +0x1.2cec801e60175p+2 +0x1.245c173099c85p+1 +-0x1.abda4c4801512p-2 +0x1.394398b3143e2p+0 +-0x1.dfa6b19847336p+2 +0x1.d16fc390808eep-1 +0x1.f4d1b3f38e009p+2 +-0x1.d10818b8ef682p-1 +0x1.8743a0c25f0bbp+2 +0x1.83018df36d098p+0 +-0x1.59ea55d5308fp+3 +-0x1.23ae002016bdcp+2 +0x1.3c3afb33b1acp+1 +0x1.38f42dac7b284p-1 +0x1.5edb4e76d41f2p+2 +0x1.6c045e3dd39bbp+3 +-0x1.0a8ca24d2facep+2 +0x1.6ccf2eab8a74bp+2 +0x1.47f8327e288bdp+1 +-0x1.598493fc87033p+3 +0x1.4969cc49242cp+2 +-0x1.00e09ecb03a35p-1 +0x1.3f1f8a2fe788fp+1 +0x1.b41e10a200f4p+2 +0x1.a9e6001d17ee6p+0 +0x1.d3be6f73e7101p+1 +-0x1.ac8c82b64df09p+2 +0x1.31c6c19e447c1p+3 +-0x1.a4af7cbebbb5ap+1 +-0x1.3a1b7be00b7e9p+0 +-0x1.1943b7cf77fe9p+3 +-0x1.97ff66b9c04f9p+3 +-0x1.fb155e2cc746fp+0 +-0x1.4fe7645a6c109p+2 +0x1.a5ddbae4544e9p+0 +-0x1.179d22c3e5b86p+2 +-0x1.96de8af5e7191p+2 +-0x1.85baf3a469112p+1 +-0x1.4037de82ebcd5p+2 +-0x1.49b318de7e532p+1 +0x1.7111c1a0e9316p+1 +0x1.87312584bcc79p+2 +-0x1.e241c993f2e2bp+1 +-0x1.2686a2ca81bbap-5 +0x1.62dad670275d4p+2 +0x1.6d243f10a94ccp+8 +0x1.6bd41e2777028p+1 +0x1.6c24121179ce6p+0 +0x1.60386d44a9839p+0 +-0x1.b615f49a0f983p+3 +-0x1.07f3490a9c298p+1 +-0x1.3cc789b2bd59fp+0 +-0x1.a68b4861fc928p+0 +-0x1.d507ffa64e72bp+0 +0x1.59338bb7cecf8p+1 +0x1.a531c6fd3120cp+1 +0x1.83ecffaa397b8p+2 +-0x1.81843a2ca9bd2p-5 +0x1.0f1f018e5ebd6p+1 +0x1.4fa07e42f409cp+0 +0x1.a8f4fadc13f34p+1 +-0x1.14837823e5da7p+3 +-0x1.5939a9c5cc7a6p-2 +0x1.6d0185439ccb1p+0 +0x1.f57c3ae86bbacp-2 +-0x1.b137f8f4a5a86p+0 +0x1.1471d089c60e7p+2 +-0x1.6acc7d3ef4a0ep+3 +-0x1.71a6d94c502a7p-1 +-0x1.098f4b4a472ffp-1 +0x1.42455310eaddfp+1 +-0x1.f8f5c6653e6edp-4 +0x1.dfc1551a57591p+1 +0x1.00527856a4b06p+3 +0x1.443d7c9552de6p+2 +0x1.0e905f9b48661p+0 +0x1.4391fb5ed15bfp+3 +0x1.c66d4729c3c24p+1 +0x1.7b8806fde45c3p+2 +-0x1.2715f8aa7c88ep+2 +-0x1.0248a6ad63ffep+3 +-0x1.2b0af21868b07p-2 +-0x1.361b6016fb76cp+4 +-0x1.1f0ec9fb69316p-1 +-0x1.8f0e6c018da73p+2 +0x1.78054e1b5d35p+2 +-0x1.cb4aec2618e47p-3 +0x1.3470a41cca143p+0 +-0x1.eba481139f4ep+1 +0x1.40f52dcd2ebe4p+2 +-0x1.c6027a2a761b4p-1 +-0x1.4b3a52130d66cp+2 +0x1.705e1e16a26b4p+2 +0x1.b7327de6210fcp+0 +0x1.ad41c83c3a259p+2 +0x1.71462b8c525f4p+2 +0x1.76b06c8e7cba8p+2 +0x1.46908265cb9bdp+2 +0x1.319d1a8005081p-1 +-0x1.d7a52dd3c15f3p+0 +0x1.ba3972a1f770dp+2 +-0x1.8d0ac82dc605ap+2 +0x1.0fe622ac03641p+3 +0x1.1065302d17724p-1 +0x1.1c6a1179cc6bp+1 +-0x1.5dbfa0421546p+3 +0x1.b64601e4d739dp+0 +-0x1.da6ae79a5cabfp+2 +-0x1.15a62a9e5275cp+1 +0x1.3ecea6e27d817p+3 +-0x1.96a185c4abe83p-2 +-0x1.684e513ea57cdp-3 +0x1.4e3bbf5034e2cp+1 +0x1.4cc43be40b4a1p+0 +0x1.1221f6967208fp-2 +0x1.2ee5a41ea6483p+1 +-0x1.3d92b18121ff5p-1 +0x1.01bb67e84596p+2 +-0x1.1bfdceea2db11p+0 +0x1.1f2a983fbf55ep+1 +-0x1.ba500c7ab7861p+0 +-0x1.5965004366003p+2 +-0x1.30a81406e81d1p+2 +-0x1.04fb1b5417a86p+0 +-0x1.89cbc470d188ap+2 +-0x1.ad07d671543e3p-2 +0x1.fd1d75354a07p-3 +-0x1.60639285df986p+2 +-0x1.b9159e1173208p+0 +-0x1.d694eec6ac546p+0 +-0x1.3f24d2ae2f4bbp-2 +-0x1.1955e576569aap+0 +0x1.72b21f19c626p+0 +-0x1.314e0ac68d7b8p+1 +-0x1.2df5bcbc006bp+1 +-0x1.557eba094b6acp+1 +-0x1.81e6ac006e2fcp+2 +0x1.a7ad717bac39cp+1 +0x1.560313ac61922p+2 +-0x1.c45b866338985p-5 +0x1.67e681890c33ap+2 +0x1.ba7e912ca1dcp+0 +-0x1.f357ed2c3e2bcp+2 +-0x1.09b9eb54810f9p-2 +0x1.fc3e2b4db2f6fp+0 +-0x1.9e26e12495947p-1 +-0x1.7ea1756f44a3ep-4 +-0x1.ca6f988230272p+2 +0x1.2d26b7a126ac1p+3 +-0x1.568b2a0c5141cp+1 +0x1.a5108d7d0d7a3p+1 +0x1.4babda7b3175fp+2 +0x1.26dcd1aa06077p+3 +-0x1.225def6af59c7p+2 +0x1.79fe5cda272e1p+1 +-0x1.18769a79b2fd1p+2 +0x1.5c3b44953c027p+0 +0x1.4569e195a78d2p+1 +0x1.a00023822669ep+0 +-0x1.6523794969c9fp-2 +-0x1.d684d8864e836p+2 +0x1.ff510ebfa0e94p+1 +-0x1.57c8ecbf7eb19p+1 +0x1.a34be11505e7dp+1 +-0x1.23468be74b7c5p+2 +-0x1.002a5b6899172p+1 +0x1.2f4087324a75ep+2 +0x1.0793e226b1d74p+3 +-0x1.f7308abef165dp+0 +0x1.79bda5fed3d64p+0 +0x1.a57d836c76f69p+1 +0x1.42ab7cb622ca1p+1 +-0x1.007244d95a5c7p+3 +-0x1.33c07ef0cc9c8p+0 +0x1.466cd6187ca26p+1 +-0x1.88cf5ae02c08dp+2 +0x1.b669b3de1652dp+2 +0x1.6ad9428109667p+2 +-0x1.6634f612b09d6p+3 +-0x1.3f494a4b96addp+2 +-0x1.42b2293ddeaf1p+3 +-0x1.891e29dba221p+5 +0x1.0d3b5e4ee466bp+5 +-0x1.2ddc604de5072p+3 +-0x1.400ff12c98dd3p+0 +-0x1.5c5be1c378dbap+2 +0x1.b4e33f73c52fp+1 +-0x1.ae39ad0f8e15ap+2 +-0x1.bf7fe17ba0c4cp+0 +-0x1.499c06436d559p+2 +-0x1.ed18144020c0ep+2 +-0x1.83bbf6fa6882ap+2 +0x1.b0b4eb29ea555p+1 +-0x1.0c5dc548d88fap+1 +0x1.94ebcf8d8a393p-2 +-0x1.56a56431137fcp+0 +-0x1.c32326b50329ap+0 +-0x1.9905919d3f4fbp+1 +0x1.41652f4caff1cp+5 +0x1.242771dc6e74dp+0 +-0x1.22117ba2ea834p+2 +-0x1.22286d796779ep+2 +-0x1.500318d90449dp+7 +-0x1.6cca2ffa217d9p+3 +0x1.a3c1dfeedf43ep+4 +0x1.e900f5d1a4881p+2 +0x1.1598597342c7p+2 +0x1.ed0a61c7533dp+2 +-0x1.182e1193117b2p-3 +-0x1.3f3adb512cfe4p+1 +0x1.df57c33279746p+2 +-0x1.654ebbb34e902p+1 +-0x1.0a0cfe22bc2c5p+2 +-0x1.e095d4be80855p+2 +-0x1.6619ca2007e14p+3 +0x1.6c287a94619c7p+1 +-0x1.1d4e2a67e62e1p-1 +-0x1.23f4887a834c6p+1 +0x1.449d94b0df00ep+1 +0x1.d8c659311b29ep+0 +0x1.6d39a487de06cp+2 +0x1.12bc225f0ca3ep+1 +-0x1.a365ae03cbeedp+1 +-0x1.51a913138455ep+2 +-0x1.18cf58314e826p+3 +-0x1.3e978180b8d28p+2 +0x1.06ac9bedf25b8p+3 +0x1.235799dbceb42p+0 +0x1.6a31bfc341bcfp+0 +0x1.6c31b55811ea7p+1 +-0x1.622ee79b474d5p+1 +-0x1.aee35f5f59dcep+0 +0x1.29c7ce0ecfdd4p+3 +-0x1.2b0f9e41065f7p+2 +0x1.d45120a4049b2p-1 +-0x1.0fa586eb41f9fp+1 +-0x1.26b83ac7fd794p+1 +-0x1.2445893f74ed4p+2 +0x1.b4ee9131bb474p-2 +0x1.46399d4e1c2p+4 +-0x1.6ba6d3d2efe56p+2 +0x1.d721377bb6e5fp+0 +-0x1.ff555cf52435fp+1 +0x1.4a6b33db02575p+2 +-0x1.844adc740d8d9p+1 +-0x1.6e55218295322p+2 +-0x1.504894b4ea26fp+0 +-0x1.d1cb53f040278p+4 +0x1.0de76145c8edbp+0 +-0x1.73e0c67712e7bp+1 +0x1.0ada61a685415p+3 +0x1.029eea9651785p-1 +0x1.b70bfaa3ad021p+1 +0x1.9e8c8f7f9187ap+2 +-0x1.c901edd72f3aap-2 +0x1.0672882f40723p+2 +0x1.689ab81134557p-1 +-0x1.3f04259a11291p+2 +0x1.6103d186627b4p+1 +0x1.2668eeb02a6cp+2 +0x1.cb16fdd19b6aap+2 +-0x1.4f7b4fae57ed7p+0 +0x1.27147dd3e1e39p+3 +-0x1.ce6bd35ce3524p+1 +-0x1.7ca51f6057b97p+1 +0x1.cd3280499dcdcp+0 +-0x1.c551edba0b491p+2 +0x1.262cfd14ac09bp+3 +0x1.36fe357934dcp+2 +-0x1.9245f052c2bbfp+3 +-0x1.d3b524fa091fap+2 +0x1.25e588601bbeap+2 +0x1.3754214fa5f8fp+3 +-0x1.370ddd0286eb9p+2 +-0x1.a8a70d1688f47p-1 +0x1.054ecabb12b0cp+3 +-0x1.bea88d4c7db1cp+5 +0x1.dc8e8a501b11cp+1 +-0x1.314ea7e8cbb01p+2 +-0x1.0346c5a0a1d21p+2 +-0x1.b2e3f93bf2068p+2 +-0x1.02b6ee73d413cp+0 +-0x1.a0eee40621eb1p+2 +-0x1.9b992f0305aa5p+4 +-0x1.2054af34031ccp+1 +-0x1.73dd77de19467p+2 +-0x1.cfa8680656564p+1 +0x1.8262fde381b4ap-1 +-0x1.d8f9bcc6b33a6p+1 +0x1.a6df2a2106b45p+1 +-0x1.3829367a9450fp+0 +0x1.6778731805c13p+1 +0x1.6a5aee06736d8p+0 +0x1.df3121a485716p+1 +-0x1.43f098a81150dp+1 +0x1.8d294b03b815ap+0 +0x1.1cef38d581a8p+0 +0x1.b5a4f257d07bbp-5 +-0x1.26f379f27fe14p+2 +0x1.f4bda3fb4f06ap+1 +0x1.f6bf979349e42p+1 +-0x1.3e3cf1ad7b4d7p-1 +0x1.81156212082bfp+2 +-0x1.7e8ea5e73c72ap+1 +0x1.1a646105cf84p+0 +0x1.26174ca0fbcc5p-3 +0x1.25bd680686004p+2 +0x1.d519268d26483p+2 +-0x1.064c9b0716a7bp+3 +-0x1.1cef4e75d34bep+1 +-0x1.5e8f674accbabp+0 +-0x1.2e4274f77f93cp+2 +0x1.12953e885bf75p+3 +-0x1.293e6e8b42934p+0 +-0x1.dddcdc1496521p+0 +-0x1.1e47acbe705cep+1 +-0x1.590b926332246p+0 +-0x1.1360703e8ac6fp+3 +-0x1.459cf743c9761p-2 +-0x1.67bcab905cc8fp+2 +0x1.2fa67cf63b2cep+3 +0x1.5251af7a509edp+2 +0x1.1c3d2a6dfbad4p+2 +0x1.b8412c65095bep+2 +-0x1.07bfe359bc45p+1 +0x1.7330f228b0e02p+3 +0x1.56f233422ff0dp+2 +0x1.f4906def05d6dp+0 +0x1.27b50de6b22p+3 +-0x1.0ed48d6d76ec7p+3 +0x1.953d87c893f01p+2 +0x1.36463dda68b47p+3 +-0x1.983950dfdf67dp+0 +0x1.99ac8a0555934p+5 +-0x1.c7b1a907e8313p+2 +0x1.afde1ab541a8cp+2 +0x1.285fa3e2bf9c7p+5 +-0x1.da21e970e3eafp-1 +-0x1.99ff8c4ad9db8p+2 +0x1.83676f1a8add7p+5 +0x1.6f8326e1da9bp+1 +0x1.c28a3b6f43421p+2 +0x1.cd4ecb47776a1p+2 +0x1.ab625110275bfp+2 +-0x1.94ff9322b05aep+0 +-0x1.c426fa78b74a7p+1 +0x1.18788662b96f7p+3 +0x1.32b96ecc7006ap+2 +0x1.2c3ef7830f3dbp+3 +-0x1.1b88598cc9b13p+3 +0x1.dc4b4cceb759bp+3 +-0x1.a5469f4c26a57p-1 +0x1.561f6992fadd3p+5 +0x1.47dfb3251627p+3 +0x1.52142d38403c9p+2 +0x1.3e03e30b6ee2cp+2 +-0x1.bc3693a37f35ep+0 +-0x1.cb91aaa1a3626p+2 +0x1.557e4903aa55p-1 +0x1.e5e4ab5194b83p+2 +0x1.e38441e2d579ap+3 +0x1.7c8c92bbc4a2bp+1 +0x1.264a74389f794p+1 +0x1.0e7a962d6488bp+1 +0x1.ca7e18ac707a3p-2 +0x1.a98f84fd29261p+0 +-0x1.77949e180055dp-2 +-0x1.2797a073798edp+3 +-0x1.647f7b6095f6p+7 +-0x1.f9dc9ba0cbd01p+0 +0x1.ea7c8144fd543p+0 +0x1.40597ce4c9b51p+2 +0x1.55a84cd0c47e7p-1 +-0x1.95a4597e3a089p+4 +-0x1.29d5d79ad04bep+2 +0x1.29a712c471e23p+1 +-0x1.3d0e569abcca9p+5 +0x1.0a7cc20c7d2e6p+3 +-0x1.0004300be28b7p+2 +0x1.0e5242e8f6134p+3 +0x1.22c02ada4a403p+2 +0x1.02294ba9f42b2p+4 +-0x1.954bbedc6b8fep+1 +-0x1.35334f351fbc8p+2 +0x1.86f5586558407p+2 +-0x1.cd535be94eca6p+2 +-0x1.499e08a2f31eap+2 +-0x1.1c9accb31c90ep+2 +-0x1.8d574fe79de53p+0 +0x1.70cb7b6d4e73bp+2 +-0x1.4a40c863a79cp+0 +-0x1.77e467a36aedp-2 +0x1.c6c8d6ffca759p+2 +-0x1.5dd1cbd2b8692p+2 +-0x1.3dae8266fdda4p-1 +0x1.8d87b0ae2607ap+6 +0x1.913b6b9768a31p+0 +-0x1.1fcf90ffd8aa2p+2 +-0x1.d77a7678828d9p+0 +-0x1.95cdb7b37f34bp+3 +-0x1.8631c8f540c4ap+2 +-0x1.923fcc30f76ebp+3 +0x1.b0b8aca3171b4p+5 +0x1.2810a269d97f3p+2 +-0x1.8ca9dce4cbe9ep+1 +-0x1.2a2d21eedbc74p+0 +0x1.2bda5ef234956p+2 +0x1.6709be11300cap-1 +-0x1.4ffbdba10e9d5p+1 +-0x1.68234d736a038p+1 +0x1.2bb1ae8ef8c7ep+2 +0x1.87b4d4929ceeep-1 +-0x1.4e68088e8adacp+3 +-0x1.d0707c12cf609p+2 +-0x1.52a5959b394fap+2 +0x1.9101401bbb45p+1 +-0x1.8b90d098ef7f2p+2 +-0x1.d1d9dac127517p-1 +0x1.2718980788dc5p+2 +0x1.37d447ce7c9c2p+5 +0x1.5cece20c4eee3p+3 +0x1.f313347105b11p+0 +0x1.aa524ab3e49aep+2 +-0x1.0eeb1e5b8603p-3 +-0x1.47a6ca64cd91dp+2 +-0x1.d9a428174c1bbp-1 +-0x1.5a923b1f0010dp-2 +-0x1.344001b4907e7p+0 +-0x1.05b38c3f38d03p+1 +0x1.c0a7ada2985a6p+0 +-0x1.2c13717f005dap+1 +0x1.27fc16e8e881ap-2 +-0x1.882acf4c836efp-1 +-0x1.047944a78105ap+3 +0x1.70309fcfe1da2p+2 +0x1.f1bbab3d6f235p+1 +-0x1.c5d9f4fdb17c7p+1 +0x1.f1393e0ba08ffp+1 +0x1.e9586045ed422p+0 +-0x1.5d47bc85e412bp+1 +-0x1.6f0e93c88d0a5p+2 +-0x1.e2665812aae1bp+1 +0x1.adb36f59d5e19p+4 +0x1.565c41a122dacp-1 +0x1.f2799ccb32aa1p-1 +0x1.7c844710a2743p+1 +-0x1.46caa07b703ffp+3 +0x1.e31d4fb689a0dp+0 +-0x1.59ccc239f5c46p+2 +-0x1.020e5edd1515cp+4 +-0x1.d36660f112f5ap+2 +0x1.6dba9f9f3699ep+1 +0x1.3ba1c8ffef856p+1 +0x1.bd102f06faa3ap-1 +-0x1.7aeae377b42a6p+2 +-0x1.438f9e20f41c9p+2 +-0x1.012e9283b5f7p+2 +0x1.c27e666a16a2ep+2 +0x1.38cbe57e018fdp+2 +-0x1.22c3c669b8b2ap+2 +0x1.1ba9d9e41c248p+3 +0x1.15257f4b31a57p+0 +-0x1.2075fe47608fp+2 +-0x1.1c7efc7a9b67ap+2 +0x1.fe8c946c66a5ap+0 +-0x1.0819d858bf39p+2 +-0x1.038a9eead5037p+2 +-0x1.8087add4c81f8p+2 +-0x1.918742725f8dfp+0 +0x1.20fd555b0303ap+2 +0x1.fcd2c32158697p+2 +0x1.ed698f64414b3p+1 +-0x1.776f358e182a2p+0 +0x1.4853fc39260c9p+2 +-0x1.3f79eaf2ee762p+8 +-0x1.3ee6a44f51c61p+3 +-0x1.b82a3a6d1293bp+1 +-0x1.ad2d04c18cb4cp-2 +-0x1.21f4edce3eff9p+1 +0x1.55bc710ae8d5cp+0 +-0x1.3d0ec6188efe5p+1 +-0x1.475885a7251a2p+4 +-0x1.41078f407bdb5p+0 +0x1.dfafcee94a4ccp+2 +0x1.b0ff4e7a76f68p+2 +-0x1.600b8a2956df7p+2 +-0x1.9b5b2af110e8bp-3 +0x1.c6e681cabbb67p+1 +0x1.ad935665e18b7p+0 +-0x1.578464711b7c2p-1 +0x1.ec64b5a0c3bb1p+0 +-0x1.abbf8119033edp+0 +-0x1.24f8436d6f718p+2 +-0x1.a2dfaa2e04393p+0 +0x1.8d24fb7ad7857p+1 +-0x1.2788ece9b16c4p+1 +0x1.ff16da10b8085p+1 +0x1.5a2889568a599p+0 +0x1.5a7bce871320fp+0 +-0x1.32e7a8d7eea1ep+0 +0x1.1a11521871fd4p+2 +0x1.3b2e542c1e62p+3 +0x1.94efe91b3c95fp+1 +0x1.86802f9e265e7p+2 +-0x1.53c150e3b1c67p+1 +-0x1.03be285861575p+0 +0x1.3137b9897d09p+1 +-0x1.83a417283bb2dp+3 +-0x1.efa4c1d19debbp+2 +0x1.6394577a95a4ep-3 +0x1.b1dbc2b1ecba8p+1 +0x1.b369b96ee2253p+1 +0x1.fc462bb5bee5ap-3 +0x1.6d51392abcc7ap+3 +0x1.7e7a1b0007323p+2 +0x1.7862660769f2dp+0 +-0x1.6ae7c3b907a9ep+1 +-0x1.8133fa3427623p+2 +-0x1.cdfa65f85b702p+0 +0x1.741e0943a92cdp+2 +-0x1.21fa96f2f8ebfp+3 +0x1.74c921c68f795p+2 +0x1.389739e6bbfdfp-1 +0x1.1d7148be21d35p+2 +0x1.e4aa193f9afebp-1 +-0x1.37fd90d26dfecp+1 +-0x1.53d1f9d7aa964p+3 +-0x1.8255b6d59993ap+2 +-0x1.11deb4b54fbd8p+1 +0x1.08886e61b0c45p+1 +0x1.4b96497dc59ffp+1 +-0x1.2b6f67a224798p+4 +-0x1.e0b3643adc45ap+2 +-0x1.12ed95c0ee03cp+1 +-0x1.8b89aee29e38p+2 +0x1.314ccaaca1035p+2 +0x1.87435f68b34e9p-1 +-0x1.d4a9483f12427p-2 +-0x1.99b515881f6cap+0 +-0x1.ee1d488631816p+0 +-0x1.9d35b86e7c263p+1 +-0x1.56237c949e8e4p-1 +-0x1.03d15b0d97219p+2 +0x1.4ffcd9d818ae6p+1 +0x1.c139e6d696342p+7 +0x1.5133ad7106548p+0 +0x1.009283a18c1aep+3 +0x1.07c4ddcb918bdp+3 +-0x1.95ea5c54bc18cp+2 +0x1.386d7dc6e3417p+2 +-0x1.5a5e8c2521fd6p+2 +-0x1.af989e4947cfdp+2 +-0x1.27991a7d09b85p+1 +-0x1.15d2831195258p+2 +0x1.1b44b08ab53c1p-2 +0x1.5f6781160be05p+2 +0x1.0bf612f351c61p+2 +-0x1.9f38cf42e00f1p+1 +-0x1.43a4967bb00bep+2 +0x1.68aac4d7b3d3p+0 +0x1.ef3afd2095dc3p+2 +0x1.54dfebba7fa62p-2 +-0x1.4fd2c8f5693dbp+8 +-0x1.711489641cd15p+1 +0x1.9f1c72d812b87p+0 +-0x1.4434d1ebed83p-3 +-0x1.afc14d5e8c3eep+0 +-0x1.455daebdf6adfp+2 +0x1.acf13044f03d4p+1 +0x1.4e80dfe65c1afp+3 +0x1.19b8cda13354p+1 +-0x1.5ee4ad12698ddp+1 +0x1.0a8d70c4098edp+0 +0x1.520dc30074f27p+2 +-0x1.11866a04f54efp+0 +-0x1.1c7a82429cf26p+1 +-0x1.1f30a465dcd4ap-1 +-0x1.99d2c8c0fd6b6p+2 +-0x1.2b82cf4a33803p+2 +-0x1.93c2d48f6d37bp+2 +0x1.39fecfd64ff1bp+3 +0x1.2695f503a1034p+2 +0x1.600d2030d4b7ap+1 +-0x1.0b8dd596f5bd5p+1 +-0x1.f425a82373d73p+1 +0x1.4b5c294c7313dp+1 +-0x1.0ec4186195b3ep-1 +-0x1.ca3d06a0a765fp+1 +0x1.c09396520026ep+2 +-0x1.b627ee843c73bp+2 +-0x1.096a8aa7ed4f6p-4 +-0x1.0d4f3af84da03p+3 +0x1.944d05461329dp+4 +0x1.0425a6d785f2dp+3 +-0x1.d61f6837ac4b4p-2 +0x1.6d023aac00fbcp+2 +0x1.933c81e1c4943p+1 +0x1.13a3334f2e878p+3 +0x1.c5ea91fb1b93cp+1 +-0x1.e8ea4164468dp+1 +0x1.0d42da5210571p+3 +0x1.595fcbd02d671p+3 +0x1.c194e3f315f64p+2 +-0x1.9ad366e8effb8p+2 +0x1.007d37417608ap+0 +-0x1.57e1f6c6d573cp+2 +0x1.32db2d271fe62p+1 +-0x1.31379c812a147p+5 +-0x1.041f508987416p+2 +0x1.b9c91cc5bb8dap+1 +0x1.7a867aaf305d8p+0 +0x1.eb27f1de1e8b3p-3 +-0x1.03be5189fb2c7p+1 +-0x1.52af4eae2f8cdp+2 +-0x1.bd7b6100d3ad6p-1 +-0x1.25431fc457482p+2 +0x1.138a6628861bdp+1 +0x1.9a91e7d03f1efp+0 +-0x1.33ded49f9c50fp+3 +-0x1.a8eb00cdb5d14p+1 +-0x1.49fa9348de5a1p+2 +-0x1.259a3c566d8a9p+1 +-0x1.95b3dd8efd905p+3 +0x1.4b9f330cfc245p+1 +0x1.7dbfce7ec83d6p+2 +-0x1.21b4a168054c6p+2 +0x1.824c447fb11cbp-1 +0x1.f116da0ba7cc8p+0 +0x1.ebabcda1196b5p+0 +0x1.925a3fd6ff587p+0 +-0x1.14fc31b0ff189p+2 +0x1.63a511b4db8ccp+2 +0x1.15ba7a8653866p+3 +0x1.8466c379cbdbap+1 +0x1.84977ca151cb3p+0 +-0x1.eb36cbf6801dp+2 +0x1.440ad2a98d43dp+2 +0x1.cd429e779b824p+1 +-0x1.8c4bc544cd1bfp-4 +0x1.8190b9d9083ecp+2 +-0x1.2df05f36fdaafp+2 +0x1.35df15fc22ba8p+2 +0x1.07242ce31c6a7p+0 +-0x1.cd67e1fe2422cp-3 +-0x1.5961e9e14dec1p+2 +-0x1.e2a745b5af8f2p+0 +-0x1.3cbfa677501eep-1 +-0x1.f058ffcd6005p+3 +-0x1.c45c988b3410fp+0 +0x1.9a1ef5d27118ep+1 +-0x1.90db69aaef2c1p+2 +0x1.d1d4204ff437dp+2 +-0x1.44ac86811a6d9p+2 +0x1.c9a13538aaebbp-2 +0x1.cc3b86b9c0a6ep+1 +-0x1.698139712b7f4p+8 +-0x1.0594b184d79fdp+2 +-0x1.c498c56f32479p+1 +0x1.179f4b5cd17aap+0 +0x1.4090a1bcc2ec2p-2 +-0x1.2b3ff0b062386p+2 +0x1.13ee054492f2cp+3 +-0x1.3137d80093491p+3 +-0x1.313c56585e699p+2 +0x1.741f161d32f3bp+0 +0x1.493fe9f537b78p-2 +0x1.4fb2bccfd2d68p-2 +0x1.ed6a8b15b8be9p+1 +-0x1.cc15a862259b7p+0 +0x1.5633c05f7a46fp+1 +-0x1.3e134add113f2p+2 +0x1.12b1005b22b47p+0 +0x1.1aeb61426328fp+2 +0x1.79663a29b666ap+1 +-0x1.baf47d346ce78p+0 +-0x1.a05bd176b09a2p+3 +-0x1.ca1722692702p+2 +0x1.3f96d0aca6e84p+0 +-0x1.cffb5faf56416p+2 +0x1.1bc7d64f7e88ep+3 +-0x1.c7134d7036ad6p-4 +0x1.c78bbfda3a95p+1 +-0x1.e94cd7739b60dp+2 +0x1.79a70fa689b9ap+1 +-0x1.ecf6d3a57cc09p-3 +-0x1.585a02661ceedp-2 +0x1.4a3df05c259bp+1 +0x1.ab5183e1c7adbp+1 +0x1.1c1ede5326459p+2 +-0x1.dd99f622f7545p+0 +0x1.1838dbfa81469p+2 +0x1.529d81f42d5acp+5 +0x1.24b63ac39fdf9p+0 +0x1.f32fd1783b6f3p+1 +0x1.031be0aa04371p+3 +0x1.71f081431cf51p+2 +-0x1.62af5a629c755p+1 +-0x1.1715a6f08969fp-1 +0x1.0754657c804aap+2 +0x1.947885e97e03dp+1 +-0x1.90575d20bb556p+2 +-0x1.8309335e00133p+2 +-0x1.812b55758672fp+1 +0x1.3c80d190bdce8p+3 +-0x1.8bf8bb0d64cc4p+2 +-0x1.f37a31ab0e9fp+6 +0x1.d61d32172af34p+0 +0x1.499c3ea81525fp+3 +-0x1.882b23d76c11dp+1 +0x1.dda67d5f66794p+2 +-0x1.09808a60a771ap+2 +0x1.398e7edf78cdbp+2 +-0x1.3063d0694338fp+2 +-0x1.7ec9ae7f97a17p+0 +0x1.f04409314dd52p+1 +-0x1.050448b51b652p+2 +0x1.a4ff5272dc881p-2 +-0x1.3964fb23cc841p+2 +0x1.86704fc12516ap+1 +0x1.cfe84af063ca6p+1 +-0x1.ed955f772e571p+1 +-0x1.2556ccccf9012p-1 +0x1.849d893c5b954p-1 +-0x1.798cb6bde6c61p+2 +0x1.71a556177b0dap-3 +-0x1.8cc8f95c6cdf8p+1 +-0x1.56634872e972dp+1 +-0x1.2b2d4a7033c4bp+3 +-0x1.c73028006561p+0 +-0x1.d263e36bb016fp+0 +0x1.ddf0d59bee357p+1 +-0x1.0509cac06c2e7p+2 +-0x1.bbe614b970cefp+1 +-0x1.9bd2252cf2796p-1 +-0x1.b94f47e59f495p-3 +0x1.be3582de460bfp+0 +0x1.358d4a353c286p+1 +0x1.8aec952ed7129p+3 +0x1.61fc69e2a0f0fp-3 +-0x1.5088e302bc0b6p+0 +0x1.41de9ca4901a5p+3 +-0x1.68afef71cd2eap+2 +-0x1.b6ca616eafbc7p+2 +-0x1.76bba6af42f4fp-2 +0x1.d7ea35cb148bfp+1 +0x1.374c532097ec3p+2 +-0x1.052b50e85b7a3p-3 +0x1.87ee8840f7611p+0 +0x1.0c46dd2d91fb6p+8 +0x1.5d37d3dc1d8abp+4 +0x1.e66a05bc261dcp+6 +0x1.0edf11aec5fdbp+0 +0x1.0c8d9d794661dp+3 +0x1.3205c2ca5aef7p+2 +-0x1.5d295d89e924bp+2 +0x1.7f14a524dp-2 +0x1.7b26c0a800a62p+3 +-0x1.da9892cd0b459p+2 +0x1.8e5d31093b5d2p+3 +-0x1.708eeafab8902p+5 +0x1.2ee5819df93b4p+2 +-0x1.73eb0cd9b5626p+1 +-0x1.83304657baaf9p+1 +-0x1.adacd4cc06cf6p-5 +-0x1.6efc6893710bep+2 +0x1.c8b3ace12284cp-2 +-0x1.2568fb2396482p-1 +0x1.02d87cbb1fff2p+3 +-0x1.14be91f9772cbp+2 +0x1.0375cd655899cp+1 +-0x1.18485e8a44d64p+0 +0x1.5bc09ed9cdd82p+1 +0x1.bcfd584340f97p+0 +0x1.8af0ffd37f58bp-1 +-0x1.6d337203eb9cap+0 +0x1.10b19c9076ceep+2 +0x1.836b72b61f2fp+1 +0x1.0a4a00aca0b9ep+3 +0x1.416fcebd19a48p-1 +0x1.94f14a6156fdp+2 +-0x1.70f9d2124ee03p-1 +0x1.20ad7f958471ap+3 +-0x1.71307a8c176adp+2 +0x1.a8b347d8c1f61p+1 +-0x1.89c035794f7f4p+1 +-0x1.0a2432e839c8p+2 +-0x1.189fc6be0afccp+3 +0x1.72edf00b66bcfp+2 +0x1.2b4d6762afbdep+0 +0x1.40cc63b405f5dp+2 +-0x1.4abfab7341609p+2 +0x1.dfa63b0fdebaap+4 +0x1.64f681833dbc4p-1 +0x1.1112b3b3c8f22p+3 +-0x1.a48174bafd5d8p+3 +-0x1.0e144bdc44ed9p+1 +0x1.5a481ca154b46p+1 +0x1.809fbc83c929ep+2 +0x1.6b44f12a7d26p+1 +-0x1.59e9dca84a411p+2 +0x1.4855191b6b81ap+1 +0x1.10b7a227832a2p+1 +0x1.cdb3378de1b5cp+2 +0x1.c0250a3f0ee15p+1 +0x1.377067dc6e7c7p+0 +0x1.2979271738f55p+3 +-0x1.f873a8e687e9p+2 +-0x1.157e673820eap-1 +0x1.800df6856fc8ap+2 +0x1.466ab9b8789dap-2 +0x1.ef880683693d1p+2 +0x1.f2e253181ca5ap+0 +-0x1.43777342dc8a4p+0 +-0x1.5cd895b4eb254p-1 +-0x1.05a0c4b9a4669p+3 +-0x1.1245cf8c23ab9p+1 +-0x1.ccdd5a6d8281ap-1 +-0x1.272c82dc162a2p+1 +-0x1.055fb86e2ccd3p-1 +-0x1.466ac2b21738ep+3 +0x1.a6c91e6fe171dp+2 +0x1.3066d4b364ef4p+1 +-0x1.b0a3bd2f5652ep+1 +-0x1.342afa211027p+2 +-0x1.d77bc7685d6c8p-1 +0x1.9aa08db518726p+1 +-0x1.2ea197062c162p+1 +-0x1.2f36d7c959ca1p+2 +0x1.7a53639dd788ap+1 +0x1.4926c421e4915p+2 +-0x1.03e69f38a4ee5p-2 +0x1.238aa8ee66c36p+0 +0x1.048b0a42f343p+3 +-0x1.d5859fffa90b5p+1 +-0x1.007e4fa21430bp+2 +0x1.96a6308e5c397p+1 +-0x1.76ed2cb35870ap-2 +-0x1.0cc9aad9f1c9ap+1 +0x1.091107f239ae7p+9 +0x1.822d0749780e5p+0 +0x1.c45b0e6e7738bp+0 +0x1.790f0dafc1459p+3 +0x1.0a21be4dd47c4p+2 +-0x1.9642047a993ap-2 +-0x1.bfabadc68b15fp+1 +0x1.210255932d54p+2 +0x1.2fc9db1b75ca2p+0 +-0x1.1471766ce02b2p+2 +0x1.175a2c1b8f37fp+1 +-0x1.36597f1348e47p+0 +-0x1.e31eab65e8318p+0 +-0x1.e1965d3cb9fbep+1 +0x1.f7475b5a9017ep+0 +-0x1.79fb7cfe7977cp-1 +-0x1.4de6359300504p+2 +0x1.ede511307bd3ap+0 +0x1.9212f40634075p+1 +-0x1.19d440a253d91p+2 +0x1.6cff27b033a98p+2 +-0x1.d7d25a8692b75p+1 +-0x1.29d019df7347cp+0 +0x1.7de18f312e023p+0 +-0x1.6076327079b08p-1 +0x1.a2f31df57cbc2p+2 +0x1.03ad6c038bae7p+0 +-0x1.db1d972653debp+2 +0x1.376e9ed8e07cfp+2 +-0x1.85672ff55f928p+1 +-0x1.73156b6d0deacp+2 +0x1.0d7cef77cc338p+2 +-0x1.1541a0e1f072fp+2 +-0x1.6c5065583d0bfp+2 +0x1.69ca3a3d5c563p+1 +-0x1.90635717d175bp-1 +-0x1.25ba9de4801d4p+2 +-0x1.c4e9cc72cf96ep-1 +-0x1.325732defb2ebp+0 +0x1.2f0699269aaa1p+1 +-0x1.a64d55123701ap+2 +0x1.369fd74ae1da3p+0 +0x1.49c1014a62ff4p+0 +0x1.cf3660caa3931p+1 +-0x1.3a1d80da24205p+7 +0x1.5cb90ecf0f3a1p+1 +-0x1.c30378be5c0dfp+1 +0x1.1686c9472230ap+3 +-0x1.3cd1502aade15p+8 +-0x1.4562f7260c3e7p+2 +0x1.3f4fa7719b902p+4 +-0x1.46e6ffe16e0ccp+2 +-0x1.a5850da16cca9p-4 +0x1.5003d725761a3p-1 +0x1.69dc1f7b7e925p+2 +0x1.b764183b5a385p+0 +-0x1.9a6b271179b8p+2 +-0x1.1c06d5b5b4a66p-1 +0x1.4df8bcc94142p+0 +0x1.74fad690f19c7p+1 +0x1.1ea5d35dd5686p+0 +-0x1.c23aee10f81d8p+1 +-0x1.2287a93fd61b4p+3 +0x1.f460e06de5aacp+1 +-0x1.2815a1b07c54bp+2 +0x1.11c6217332b49p+2 +-0x1.00a04cf45f11cp+2 +0x1.86c3af6fb8dcdp+2 +-0x1.0c876ec92eb01p+2 +0x1.f3c1ad21e5c04p+0 +0x1.0bb5ac9d6c843p+2 +-0x1.4f4a7406ab1b7p+0 +0x1.07af900c871b3p+1 +-0x1.46bf6195f0b8p+1 +0x1.c90ac681e08fcp-1 +0x1.7ed407c698a0cp+9 +-0x1.3f7d85617224ap+3 +0x1.1758ae98db17bp+3 +-0x1.ea024acea2537p-2 +-0x1.1f4fa2b492b38p+1 +0x1.4c538ca9528f2p+1 +0x1.01fbb1ed22fd8p+8 +0x1.2ab1b48ad28cbp-3 +-0x1.caaed2aa535acp+2 +-0x1.24519068ea36cp+1 +0x1.69ed3479d1592p+2 +0x1.47e6d790f634cp+0 +-0x1.9eb4311f435eep+2 +-0x1.a44f2b72a6389p+1 +-0x1.2ac157fd826fap+2 +-0x1.db1caf4b9bd53p+2 +0x1.16e9e1f95d374p+3 +0x1.05cdbb3d89171p+3 +0x1.b725d6bada087p+1 +-0x1.e13268cd2aa13p+1 +0x1.17151f0f57758p+3 +0x1.65a18f2911d4ep+2 +0x1.eadad7880dc7cp+1 +0x1.ac8a55117ff58p+1 +0x1.7a2ebcd3132a3p+1 +0x1.db349c733be21p+0 +-0x1.1a776bd74a263p+1 +0x1.32d48716a741p+8 +0x1.554a4a4f44303p+2 +-0x1.ddb5b077db514p+1 +-0x1.dd0ba5689275p-1 +0x1.a48bfa512ecf3p-1 +0x1.d9636522d3966p-1 +0x1.12adeb76d0923p-1 +0x1.da0a21bac7556p+2 +0x1.156a995667945p+2 +0x1.1b26056668539p+3 +0x1.5ffe4e1ce3c6cp+5 +-0x1.30556be8545ecp+8 +0x1.e3066064b888cp+2 +0x1.ea15a2c566553p+1 +-0x1.6d3b58ce376dap+0 +-0x1.9e00f866890bap-1 +-0x1.8ff59db4be96dp+2 +0x1.2f98cb8642cc2p+2 +-0x1.45677decb3a4ap-4 +0x1.922747f2a0d25p+2 +-0x1.7be3357268cabp+1 +0x1.9ddeafae2f1a2p+1 +-0x1.43206fa87db8cp+0 +0x1.e20cc5134fc1cp+2 +0x1.b9b8634f7f653p-1 +-0x1.eae821b209977p+0 +0x1.0c96ac7d34633p+2 +0x1.35b72ad3bbca5p+0 +0x1.cac6e7b65b8cbp+1 +0x1.0af7d6078d088p+4 +0x1.2c2305d43d128p+1 +-0x1.cf690c0f45ec8p+2 +0x1.d311112e50e45p-2 +-0x1.98fce96d30f19p+3 +0x1.23b70373754b8p+1 +0x1.0c4847b0d2f0bp+1 +-0x1.5860397dfba8ap+2 +-0x1.67125bfdb8d5ap-1 +-0x1.73f743c3b6853p+0 +0x1.247b8f8ccc663p+0 +-0x1.c8c830419d314p+0 +0x1.4d8684b15174ap-1 +-0x1.31e5bbe4b1041p+0 +-0x1.6a5f4f262dd4fp+1 +0x1.328cee4e45ccep+5 +-0x1.3f27388aa5e87p-5 +-0x1.f8d385707773p+0 +-0x1.c210067d307e3p+3 +0x1.6a6e6dbb0ae92p+1 +-0x1.478d084c24b1cp+3 +-0x1.67edbc69ad78dp+2 +0x1.b51483295478cp+3 +-0x1.50030faa6eb28p+3 +0x1.575dfbdc38cf9p+2 +-0x1.6a8cf7feb7582p+0 +-0x1.b6b8667aa74cap+0 +0x1.ce4123a0a84b5p+1 +0x1.62112e0bbc268p+2 +0x1.28ce0983a8dedp+0 +0x1.213015f809142p+3 +0x1.43304b637c3acp+1 +-0x1.51d477cd1e443p-1 +0x1.d503f98ebb95dp+2 +0x1.273c008808a64p+0 +-0x1.3025efc5c1a25p+2 +-0x1.02687ecb11cbdp+0 +0x1.66135128b9cb8p-2 +-0x1.509f27e73b934p+2 +0x1.d23a852bd5f0ep+0 +-0x1.242bd62f08365p+2 +-0x1.04304d39a543p-1 +-0x1.45019f6ce20dep-1 +0x1.beed83423efap+0 +-0x1.53f34ba641ee8p-4 +-0x1.208fcd6d28d79p+2 +-0x1.70703fb753b26p+2 +0x1.d1394f6d8b6e3p+1 +0x1.a43101466751dp+1 +0x1.c29d963d6b081p+0 +-0x1.e33ab463be076p-1 +-0x1.366598c6477dap+2 +-0x1.f8237523b08c3p+0 +0x1.03857fe8ee0e8p+1 +0x1.5451ba35a5febp+1 +0x1.6e5239a777e87p+3 +0x1.1f536f8c3a9a1p+2 +-0x1.c929ababbfb8ap+5 +-0x1.8854f5859b131p+0 +-0x1.c3be88b49851dp+1 +-0x1.02f8e586a3279p+3 +0x1.21c30e22f14f6p-1 +-0x1.3926091ebda81p+2 +0x1.305d357698347p+1 +-0x1.d26daedaae983p+7 +-0x1.1e22be3777ef4p+8 +-0x1.26a326b56fe12p+3 +0x1.1b64db98208fap+3 +0x1.7bcd7003e6d6fp+1 +-0x1.a82ce57592079p+0 +0x1.67b03836f5aa7p+2 +0x1.5e4283ca6c241p-3 +0x1.cfcf836d5392cp+0 +-0x1.2b401795d946dp+2 +-0x1.c6fd363678493p-1 +-0x1.33102f4ebb9a7p+6 +0x1.8de14c2cc9f01p+2 +0x1.7f98b91a03e46p+0 +0x1.0f7247b50334cp+2 +-0x1.2d12805eb5909p+3 +0x1.846442eacfebcp+2 +0x1.6d9611ee86c07p+2 +0x1.96116870cb86ap-1 +-0x1.839769e537e24p+2 +-0x1.2f42aac30e2aep+0 +0x1.5d6bc7806424ap+2 +0x1.9996b84f96662p+2 +-0x1.a8bafccdb41e6p+1 +0x1.3285bdb4fa9f2p+2 +0x1.110c02367d253p+1 +-0x1.2dad96b14bf91p+3 +0x1.46808eb8e1774p+2 +0x1.ed810ac9bb8e1p+5 +0x1.096d3b776c546p+3 +-0x1.cd342000f6664p+1 +0x1.a67102679fac3p+1 +0x1.28e3ec87889f4p-1 +0x1.a19fbcfccdc6ap-1 +0x1.09be5d0cb7856p+1 +-0x1.5430beb9610b6p+1 +0x1.75d5e038ac0f7p-2 +-0x1.5bfc9d41f5ebbp+0 +0x1.be2ff551eddbcp+0 +0x1.d4b28598a8e23p+2 +-0x1.6b4690029a7ccp-3 +-0x1.02549571178aep+0 +0x1.bfc7f6c35be18p+0 +0x1.e3112d1af4a46p-1 +0x1.acab6c6393094p+1 +-0x1.9afc7bb4f6565p-9 +0x1.77b4bb4d423ap+0 +0x1.36b19acfe25a1p+0 +-0x1.23e871edef727p+2 +0x1.db2ddac37ca1cp+1 +-0x1.092de26708424p+2 +-0x1.f092f892cd9d6p+0 +0x1.7bea30f3984fep+1 +0x1.7165e0ba9295dp+1 +-0x1.3c64f457f8e52p+0 +0x1.b6ff562c52235p+0 +-0x1.2314ea8b15061p+2 +-0x1.142ff9dfbb23dp+0 +-0x1.150e7712add1ep+6 +-0x1.c92e0c2a54133p-1 +0x1.06c51e84671fbp+3 +0x1.a0159569e1f3ep+2 +-0x1.3129a7cfdb577p+2 +0x1.044c62f184fc6p+1 +0x1.42a4c62e48b06p+2 +-0x1.499054d9f46fbp+0 +0x1.c2508eafe06d9p+3 +0x1.b0988c0f83cecp+0 +0x1.2ddbfe18d8826p-2 +-0x1.b7f9bd636831ep+0 +0x1.115e34c58e19ap+0 +0x1.dc6c603442aafp-2 +-0x1.ba1ae2c07ac75p+1 +0x1.3693e012fcabep-6 +0x1.6dbe5bf300e55p+2 +-0x1.eb49103b390a7p+2 +-0x1.0b08cc9be0634p+3 +-0x1.2bd6cef833e2fp-1 +0x1.f7caef80e9a5bp-1 +0x1.1b7644ee2ae9bp+3 +0x1.101dafef3b907p+1 +0x1.adad944e69acfp-2 +0x1.b77d9af425f21p+0 +-0x1.428fcec36401ep+3 +0x1.e4e7ac29f81bap+1 +0x1.0fbaca8f0a16dp+2 +-0x1.55888c7627ba2p+1 +-0x1.2431bd4d8e4bcp+2 +0x1.d6a132370005ap+0 +0x1.fce08437fe2d8p+2 +0x1.53a55f1912a6ap+1 +-0x1.fce03b7241f59p-1 +0x1.3253a42dae898p-1 +0x1.7f6e59a804fbp+2 +-0x1.21982f9c940bcp+2 +0x1.61f442c53ecp+2 +-0x1.8931393a798dep+2 +-0x1.f7f475da5a2ap+1 +-0x1.28607bb3fc629p+0 +-0x1.cab3de8effc78p+0 +0x1.d85946505a3f1p-1 +-0x1.a78303c468dfap-2 +0x1.4a21671da1acdp+0 +-0x1.05e1a238b6133p+3 +0x1.5149ca73fd176p+3 +0x1.ed04b0cfffa48p-3 +-0x1.83e4bc1174885p-1 +0x1.3b79908f0d1d3p+1 +0x1.79c1dd7c5258dp+2 +0x1.d498ffa72632cp+2 +0x1.dfb08762dc93cp+2 +-0x1.67b0546bb87fp+2 +-0x1.4da0bb702b88cp+2 +-0x1.777ebb6027da6p+1 +-0x1.1f81a63d09d0ap+2 +0x1.35464d7a99f02p+3 +-0x1.fb45b1a8ddea4p+2 +-0x1.1e16945c00e01p+3 +-0x1.00f97b6ebe885p+7 +0x1.470319b89e6b3p+2 +-0x1.2047d8a47245dp+2 +0x1.c98b8a0f6bb2fp+1 +-0x1.a0609a50cd2a3p+2 +0x1.3d6f775e16825p+1 +0x1.15abce366a1aap+1 +0x1.f2be5970b6e4p-2 +-0x1.34b93afbcadd3p+2 +-0x1.1c9beafc52c79p+3 +-0x1.838fcc8914937p+2 +-0x1.e3dc54c5445cbp+0 +-0x1.25c04961d1e73p-3 +0x1.279e6af8d355cp+9 +0x1.2a086b34bad3cp+2 +-0x1.b069453cd8835p-4 +0x1.9e2060b2d826ep-1 +0x1.8017a927fbba9p+2 +-0x1.743d1404daa3dp+1 +-0x1.16cd556ccca7fp+2 +0x1.3247803f05a12p+1 +-0x1.20e082cd5db02p+1 +0x1.0db4bbc981734p+7 +-0x1.2d1531bec51fcp+2 +0x1.3249f8c57eee3p-2 +0x1.f6cb8dd6b2485p-2 +-0x1.9aa5f33fbd698p+2 +0x1.5a682f42217c1p+3 +0x1.23a0388ca7f5cp+2 +0x1.4468797dfab5dp+3 +0x1.41276839a1b1dp-1 +-0x1.4d0859196edc7p+1 +0x1.43040cc0ff2p+1 +0x1.abc681351eb31p+1 +-0x1.126bbe5ea6327p+0 +0x1.66f807ec28188p-1 +0x1.344f6b9f7ffe5p-1 +-0x1.05a2cf577997dp-2 +-0x1.4845313a7ad1p+2 +-0x1.464facbbec9a4p+1 +0x1.f430e39483992p+2 +0x1.5dc3812f4d36p+1 +-0x1.f5dbc834ab847p+0 +0x1.5b76788eb0ddap+3 +0x1.134ee1b37c60ep+3 +0x1.d99bd6ddef6f6p+0 +-0x1.1b9c7bdc59c2ap-1 +-0x1.33198cadb8951p+1 +0x1.7925c1dcd4667p+3 +0x1.f5dd756851115p+2 +0x1.403f86f9dc5fep+2 +-0x1.1830538a5b918p+0 +-0x1.beed55de6bae4p+2 +-0x1.2b5ac698fe934p+2 +0x1.04012bcd43c6p+8 +-0x1.2da19cc1aef01p+3 +-0x1.8937b28900d7cp+1 +-0x1.41e50693740e1p+0 +-0x1.05150bcf34211p+2 +-0x1.20300baec76bdp+1 +-0x1.9ae390844e40ep+0 +-0x1.164122218006cp+0 +-0x1.1abfcefcf3f81p+3 +0x1.17beae5350747p+0 +0x1.34bf78f74c29ep+7 +-0x1.07b6e61b68e6ap+0 +-0x1.362c69e55b2fep+2 +-0x1.9c36893153484p+1 +0x1.ffd7f10a302f1p-1 +0x1.2dbb443aaa6ep+1 +0x1.f61562b29d25ap+1 +-0x1.7207b48216746p+2 +0x1.f65353a0b9da3p+4 +-0x1.75abd8edfab74p+2 +-0x1.a88d624960801p+2 +0x1.64926415cba5p+8 +0x1.8a88dcc77efb6p-1 +0x1.a884029688d1fp+0 +0x1.6485345ee1a7fp+3 +-0x1.1cebc81c01fd2p-1 +0x1.c5ed6cf98a478p+1 +0x1.df70c125c0baap-1 +-0x1.c1aead0b5b346p+1 +0x1.148e1f9854b94p+0 +0x1.caf8ec5d455c8p+0 +-0x1.a202389c7f194p+1 +-0x1.e7f840fb59b7cp-2 +-0x1.096f61051c6ddp+2 +-0x1.b1df2cf01b757p+2 +-0x1.947ccefa62ddap+1 +0x1.77ee0e77dbb4dp-3 +-0x1.7065b12412a5bp+2 +0x1.5f965f0f62b5p+0 +-0x1.26f5773155c6ap+2 +0x1.c6c8ad677c9c5p+1 +0x1.78b90b0b1b5dfp+2 +0x1.a1b4dadf8a56dp+0 +-0x1.015c7763d5265p+2 +0x1.be6a765d8347dp+2 +0x1.7ed893be4966ap+0 +-0x1.e0003bcc18fafp+0 +-0x1.5c160087d13eap+2 +-0x1.59a6b6f29cf29p+3 +0x1.aa2862cbb769bp+2 +-0x1.7aab911c8aadp+0 +0x1.fdb38859ddf43p+0 +-0x1.5938dc30fd30cp+2 +-0x1.d7c554085d5a2p-2 +0x1.e210a0bf8f99fp-4 +0x1.a986b5230b36fp+3 +-0x1.fff25f4a72eedp+0 +0x1.6f793385230f7p+1 +0x1.3da119868da26p+2 +-0x1.c4003d8b53de2p+2 +0x1.a76fe84f2880bp+0 +0x1.abe2da4ad8732p+1 +-0x1.0d5349f5b67dfp+1 +0x1.ff702d4ed0804p-3 +-0x1.35002db898044p+1 +-0x1.63849d081f05ep+1 +0x1.94361da142b4ap-2 +0x1.d47f3a3245f57p+3 +-0x1.e4fb66d838d2ep+0 +0x1.8fe30a34f5e35p+4 +0x1.44387257d5bfbp+1 +0x1.0ca332371c40ap-1 +-0x1.578ab9ef861f7p+2 +-0x1.10d79e9cb8f16p+1 +0x1.c6099bd3ca797p-4 +0x1.5d0f65971b27cp+3 +-0x1.3835014acf332p+7 +0x1.c1ccc8c5cd408p+2 +0x1.985ffd2ee5e43p-2 +-0x1.fb5329346621dp-3 +-0x1.3cfff78876e9fp+0 +-0x1.22f3ba0395186p+2 +0x1.def44ad7156e2p+2 +0x1.905e4e3bd0e7ep+1 +-0x1.255561496ae2cp+2 +-0x1.c97c63e53d3cp+2 +-0x1.33da44a041aaap+2 +-0x1.c2696b463463fp+1 +-0x1.3eeae4da1dbbbp-1 +-0x1.fbeee1a234ff8p-2 +-0x1.d3bab7eb5a63cp-1 +0x1.2706c70c3b58dp+3 +-0x1.9a7891fc6ac5fp-4 +0x1.4d302d7ff7e22p+2 +-0x1.69c61490d578p+3 +-0x1.b3bd6e7b3f61dp-4 +0x1.e2c9fc93c6f4ap+2 +0x1.5581ebaa8cefp+7 +-0x1.7b25d27af2cd4p+2 +-0x1.1af3ef9b607p+3 +0x1.9dc8926006df2p+1 +0x1.00be2665efa1fp+3 +-0x1.fe4081f61ea09p+4 +-0x1.c53c97c72374ep+2 +-0x1.115f2473cfb17p+3 +0x1.44a8ad3a12aebp+1 +-0x1.4133b72b23b86p+2 +-0x1.734b4800560dap+2 +0x1.68030e45b58acp-3 +0x1.43814cc4b44f9p+2 +-0x1.192b6683fd931p+1 +0x1.ba8a37f29309ap+3 +-0x1.8643bae1e2023p+3 +0x1.4759edcfe091bp+2 +0x1.11192e600b218p+2 +0x1.b4b46f4c9a573p+1 +-0x1.62c9048a4cef9p+2 +0x1.668dc668679dbp+2 +-0x1.e4bd943e1497dp+2 +0x1.1293bdebe151fp+6 +0x1.e87f5c8d29f15p+2 +0x1.539a95b61ea6dp+2 +0x1.3f961eda5709dp+3 +-0x1.fa37d82b4545bp+0 +0x1.2e5e891c26fc1p+1 +-0x1.a193abc8edbf6p+1 +0x1.a2c6073cc8079p+2 +0x1.55e4417b47c85p+2 +0x1.642d82e3ad7dfp+1 +0x1.197db6009b25p+2 +0x1.e05ad7abeb5ddp+1 +0x1.1cedad29320e9p+3 +0x1.524d739ed521cp+2 +0x1.cce582bcb439dp+1 +-0x1.e0c795fb91295p+2 +0x1.49097a1422819p+3 +-0x1.4118e1069a71dp+3 +0x1.5e7e8a28e6256p+1 +-0x1.735a1426718c4p+1 +0x1.7f44420d028eep+0 +0x1.06d9ce7a33e8dp-1 +-0x1.12fb4375fad56p+2 +0x1.21a16151dd2cfp+1 +-0x1.a1707343491afp+1 +0x1.8cf59a41c8393p+1 +0x1.460e8c7e31713p-1 +0x1.5e4f72ead268bp+2 +0x1.57de2d0fcf48p+1 +-0x1.1ececcfe83d76p+3 +-0x1.cf4a3352c4c7bp+1 +-0x1.8c66792e9b366p-5 +-0x1.4667aad5d20c7p+2 +-0x1.2a79dea96779bp+0 +0x1.0b9bb6654d308p+3 +0x1.2169593f2c17ap+0 +0x1.749b2a77bd706p+2 +-0x1.bd6ee9b4c6448p+0 +0x1.8d7a88706ee97p+2 +0x1.0c00ed990f423p+1 +-0x1.9d0733d586417p+1 +0x1.50bf5913d246ap+2 +-0x1.35a99a52f6d8dp+3 +0x1.ccdf4a9e81471p-2 +-0x1.6151d9d8b2c79p+2 +-0x1.26cd032dc10d1p+0 +-0x1.28b71e159b136p+1 +-0x1.9393a074dd09fp-3 +-0x1.2e7f603ead7a5p+2 +-0x1.ac1ac3a189ef2p+2 +0x1.975dfb9d919a8p+1 +-0x1.9b4d025eafdddp+2 +-0x1.5371a7ebf947dp+2 +0x1.c669d4c98841p-2 +-0x1.f9b0413842cb1p+0 +0x1.69a4bec3d4a25p+3 +0x1.f67ed5223429fp+1 +-0x1.066ee8f164313p+5 +-0x1.0f81ea89b4529p+2 +0x1.01395a84c80c6p+1 +0x1.a3bc3ee4a39b2p+1 +0x1.2e771a8fe48bbp+3 +0x1.6dc22a2d8061dp+2 +-0x1.838cf2972ac2ep+2 +0x1.c4cbda6585fb1p+2 +0x1.4a142649fb041p+3 +-0x1.3419f9fc41c76p+0 +0x1.bb7d90e10c2eap-1 +-0x1.47957aa3ca892p+1 +0x1.ff64d4f5307b9p+1 +0x1.b885977e5dcecp+2 +-0x1.48c8d89b8e546p-1 +-0x1.abb53ea6437b6p-2 +-0x1.29bb1e5549a04p+2 +-0x1.e4ab39642c417p+0 +0x1.b6f3637d5cc6bp-4 +0x1.294b333cd11fp+0 +0x1.4f6c83bd85872p+2 +-0x1.34e371ce7fed8p+4 +0x1.a02be0e4a422ep-1 +0x1.ff457c46b7a9fp+1 +0x1.478036c51678fp-3 +-0x1.36c592f916e25p-1 +-0x1.5e0c9c6bde53fp+0 +-0x1.f36e205959a6dp+2 +-0x1.5bdc6f3c3ef47p+2 +-0x1.fdf865b82c3d8p+0 +-0x1.a3df9cf671bf2p+1 +-0x1.acaa138fcb042p+1 +0x1.54e382cd4b0e6p-1 +0x1.eb91d030a8a39p+3 +0x1.360a7b2ec5c39p+2 +-0x1.5e33c85dd308ap-1 +-0x1.8caeadd5e8eb8p-1 +-0x1.c8afbc1876d54p+2 +-0x1.029e5a5621b1bp+1 +0x1.6ed93b1534395p+2 +0x1.bbce2314d32a6p+4 +-0x1.32c3faf14a3ffp+3 +-0x1.999f845161e5fp+2 +-0x1.7dfaa6d7b307cp+2 +0x1.44caaf1183b9bp+2 +0x1.1806cd6e4664p+3 +-0x1.f395ed644ad68p-2 +0x1.829c3de90cf7dp+2 +0x1.40994f22d2578p+1 +0x1.96de198178612p+1 +0x1.5e8f065696dc2p+1 +0x1.58d5204f62927p+0 +-0x1.443d255d5552p+1 +0x1.9f9ae68548da6p+2 +-0x1.077a5b35f0bfdp+1 +0x1.6fd23c280adap+1 +0x1.5abff9fa46a2ep+3 +-0x1.2c9a5ce610ccep+3 +0x1.477ea6886b94ap+3 +0x1.c62db827d33a8p+8 +-0x1.a9506f6f91d81p+1 +0x1.cc772af11e75bp+1 +-0x1.1019dc9e7c71dp+6 +0x1.22b625a1d6964p+1 +0x1.c0df28cfa3d6bp+1 +-0x1.addfe7a8be58bp+2 +-0x1.d7a9624e36527p+0 +-0x1.5c8bd077d6b3bp+2 +-0x1.617b471cc2258p+2 +-0x1.3138d8ac40ebp+2 +0x1.14eb1b73685bcp+0 +0x1.df60116de9fa9p+1 +0x1.8cab99aa043f7p+2 +-0x1.1f39db9e98351p+1 +-0x1.86965e156da27p+2 +-0x1.9d623947ac61bp-1 +0x1.1c69d47337339p+7 +0x1.8d4b25abafb96p+1 +-0x1.3fc54d2b94ceap+0 +0x1.9939819fd31a3p+0 +0x1.2f6b4cf2a7592p+1 +-0x1.3c2eabcce380bp+1 +-0x1.f8df45a4c1e7ap+0 +0x1.942df7ac39d6ap+1 +-0x1.a350d7f6caa04p+0 +0x1.026f8d2e9bba3p+3 +-0x1.38c30f0597e45p-1 +0x1.9ff17dc2a1fe2p-1 +0x1.8d821a105be4cp+2 +-0x1.13806e173f614p+1 +0x1.5d501eee9bbdfp-1 +-0x1.a0e5e41ffbd56p+3 +-0x1.b5cb36a19e12cp-1 +0x1.87b80fa659663p+2 +-0x1.283f435e39d55p+2 +0x1.2186b679cfb2ap+2 +0x1.fdc9208fcc178p+2 +0x1.34f1865e925cep+2 +0x1.456e7e7c59de6p+3 +-0x1.ebce0228648ddp-2 +0x1.d903bf8432f7p-2 +0x1.7ec3d7a01ef7dp+2 +0x1.220cf874db741p+1 +-0x1.37845a2b3ca68p+2 +-0x1.7f5f8385191b3p+1 +0x1.1cfd4749b6147p-3 +-0x1.41c843ac2dedcp-3 +-0x1.7466556e36e72p+0 +-0x1.4d6d6d2de474ep+1 +-0x1.e4bda9e4d5386p+2 +-0x1.30a6c8fd7778cp+3 +-0x1.2c0ecd67cf4d4p+5 +-0x1.4dde61c307c39p-2 +-0x1.7b6e9d4e62982p+3 +-0x1.0fa974a82e49ap+2 +0x1.f40de53abc702p+2 +-0x1.371cf32b255d5p+1 +0x1.e142822ff99e5p+0 +0x1.77c7b5fbb508fp-1 +-0x1.3620163f763e9p+3 +-0x1.03e245396df71p+3 +0x1.024be6c1d70c8p+3 +-0x1.897d53fd03221p+2 +-0x1.c3c31e69a8f35p+2 +-0x1.108dc60dee8efp-3 +-0x1.c67c5f337931dp+1 +-0x1.a46ec0c6fdfb5p-1 +-0x1.d2f5a4c0fa054p+7 +-0x1.7b5cd2a1a422ep+2 +0x1.0e39645dfe31p-3 +0x1.912845b17bb8fp+1 +0x1.6b31f569d87dbp+2 +-0x1.557638e6007p-2 +-0x1.16f75bbba92d5p+2 +-0x1.1c277fe150e68p+3 +0x1.07655648421b6p+1 +0x1.f5ece73a7e079p-1 +0x1.7845d857d0d46p+0 +0x1.61546f734d0e7p+0 +0x1.525f574c7276ep+2 +-0x1.06365bb1409e5p+3 +0x1.19dc571ed383ep+1 +0x1.1359bdeda427dp+7 +-0x1.5cde1da1c2b74p+1 +-0x1.86b80d89b205ep+3 +0x1.e149e4c5a312p+2 +0x1.fcbef6876e2c2p+1 +0x1.5eb00c4ad2238p-1 +-0x1.fc7c724a9f1bfp-6 +-0x1.76feaf4211d0ap+1 +-0x1.493eaa015fcdap+1 +-0x1.9dbb2cee738a1p+1 +0x1.6153e4244b23dp+2 +-0x1.e741bb0da75edp+2 +0x1.ec95a82b11a78p+1 +-0x1.1790d849777c3p+2 +0x1.0e053ffb9e011p+1 +-0x1.9bb546a666451p+5 +-0x1.62cc3edd1e6bdp+5 +0x1.cab2893319093p-2 +-0x1.1692dc40bfa1cp+3 +0x1.a6f02042220b2p+1 +-0x1.ea675be6c2237p+2 +0x1.24337ee6f0126p+3 +0x1.28d43276db167p+1 +0x1.77992c41e2134p+1 +0x1.f7fe6bae9a177p+2 +-0x1.aad3b038a12f4p+1 +-0x1.598b85528fdc2p+2 +-0x1.72c82a8e6c254p+1 +-0x1.0555989d523e3p+3 +0x1.4e3218e5e879bp+2 +0x1.2687af5b29b4fp+1 +-0x1.8c21a7db1843dp+6 +-0x1.a41f21453cb5dp+0 +-0x1.ce9a8ddad2733p+2 +0x1.099acef6d5aabp+3 +-0x1.707b75f2f82f5p-2 +-0x1.8bd1f586d26f4p+3 +0x1.b44a9a952a4b1p+2 +-0x1.b12ea7aa50b15p+2 +0x1.e5d6120b64c6ep+0 +0x1.24b0d10879181p+3 +0x1.2988af1467c81p+3 +0x1.e924b42d43657p-3 +0x1.1aa15c31820a5p+0 +-0x1.a975d94d394e2p+4 +-0x1.8d336e86c53a6p+2 +-0x1.48a8f17c290b8p+1 +0x1.a08ccb82b8fafp-3 +-0x1.2a5689c90449fp+1 +0x1.dde1147f3c512p+0 +-0x1.254f4c1a8329cp+2 +-0x1.7823c331a3ba3p+2 +-0x1.92160c85a7825p+1 +0x1.963644251781cp-7 +0x1.a5b9f9bf833c4p+1 +-0x1.08d57b7169b34p+2 +-0x1.69d3aa568222fp+3 +-0x1.03ea5eed2d94ap+2 +0x1.93639dd8f5bdcp-7 +0x1.0c53ca2c8a48ap+1 +-0x1.0435fab831e0bp+3 +-0x1.bd64ab6f47045p+1 +0x1.ddfec8ebd6b6ap+0 +-0x1.dc7d6203d36eep+1 +-0x1.b557a89a1da9p+2 +0x1.18c1bbf1812b8p-1 +0x1.41996c4a0b275p-2 +-0x1.800094e7e37c5p+2 +-0x1.95bc4999b6dadp+2 +-0x1.cd664f3a57043p+2 +-0x1.d2b66f117407ep-8 +0x1.617284be80b24p-6 +-0x1.27576468e7b2bp+0 +0x1.c941e4d9d02d3p+1 +-0x1.5c930e8a0a283p+3 +-0x1.71b95a2e3e854p-2 +-0x1.f48a46a291d02p-1 +0x1.5f24259af22eep-4 +-0x1.7a2f37f22d646p+2 +-0x1.0e534262d7f41p+6 +-0x1.772de93e0fd8p+1 +-0x1.0b9bc423252fcp+1 +-0x1.2355077e6431fp+3 +0x1.267378c8a3e55p+1 +-0x1.bbcd18cb20488p-2 +0x1.b3e46a5f4c8f3p+2 +-0x1.a0cc89fbcc8d3p+1 +-0x1.e251dc66eaddep+2 +0x1.649766f5e87d2p+1 +-0x1.1563e1eac0bb3p+2 +0x1.c3736f3173c99p+1 +0x1.07d64c250f858p-1 +-0x1.4a0bab3bd92c6p+0 +-0x1.ef86dcf5bb973p+2 +-0x1.13bdb4fccf6e7p-1 +-0x1.a2b86e9ad151ap+2 +0x1.c0db8d678282fp+2 +-0x1.0b4b00aad2622p+0 +-0x1.56d9d55ee1a96p+2 +-0x1.0d5732b5cdaf5p+9 +0x1.24a5094f113ccp+3 +0x1.6adb3c447287p+2 +0x1.84adb91e0f40ep-4 +-0x1.bb535ff63376ep+2 +0x1.1ba17de2fb7e1p+2 +-0x1.2ba3d7ad5a3c1p+2 +-0x1.3bca4af42456dp+0 +0x1.a6143da2d37ap+1 +-0x1.f54b39594555bp+1 +0x1.3eed3d7eaaf48p+1 +-0x1.463febf38a476p+0 +-0x1.25e91ca48f346p-3 +-0x1.3c2466060425ap+0 +-0x1.34fd9d30a8cc8p+0 +-0x1.f9d0269449723p+0 +0x1.08db2e13a7a1bp+2 +0x1.2379a3f425b38p+3 +0x1.e893ccac9cd6p-1 +0x1.8601ef12d14cp+1 +-0x1.144aef770b686p+3 +0x1.3d848e85a5979p+1 +0x1.52490d1296b5ep+2 +-0x1.52ba8f327b234p+0 +-0x1.5db56c7924ed6p+1 +-0x1.afcb4f1c81b86p-1 +-0x1.876adb05af8e1p+2 +0x1.a56b9850ee2bp+2 +0x1.3695b0747274cp+0 +0x1.d0aabdb6e70edp+2 +-0x1.38eebc8c3bc35p+2 +-0x1.1d47efa3138e8p+2 +0x1.7e54c2a0fd7f2p+2 +-0x1.05e24639b3704p-4 +0x1.a2287a712501ap+2 +0x1.60eca9a112033p+2 +-0x1.cec70126c0926p+2 +0x1.e4254ffc35fdp+1 +0x1.7f3a8765cbffbp+0 +-0x1.2d9f66efea68ep+0 +0x1.1fc7632b1eebdp-1 +-0x1.4b95053bc119dp+0 +0x1.55bd6fe6b94f3p+0 +0x1.3d4dcfba85881p+1 +-0x1.4b8f80230183p+3 +-0x1.2e026077628f3p+3 +0x1.45e7ea8117606p+1 +0x1.070dfca3e56adp+3 +-0x1.ca064837ca164p+0 +-0x1.548cc35be3c9ep+2 +-0x1.9b0df29523929p+2 +-0x1.1f8caa12d87edp+3 +0x1.e9b398b75032ep+0 +0x1.1efb94713a163p+2 +-0x1.1bd9da81861d9p+3 +-0x1.69f29b5867782p+1 +-0x1.04bc77fde6206p+5 +-0x1.8e84168ab3b38p+1 +-0x1.02ff1a85809abp+3 +0x1.fff8440314273p+2 +-0x1.ae7b8c47f6e3cp+3 +-0x1.0e14dff3842d6p+1 +-0x1.ff7ddff69a37cp-3 +-0x1.2c4059cbb598p+1 +-0x1.ba906851a1dc3p+0 +-0x1.78808404af872p+1 +-0x1.f0bbb808cffe4p+2 +-0x1.411b2c579fe1ep+3 +-0x1.6b206b104d2fcp+1 +0x1.be4ee685ccf46p+1 +0x1.0ca8204680ae6p+2 +0x1.f6c0fff70cf3dp+2 +0x1.c1a5d7087a566p+1 +0x1.6f690b562620bp+2 +-0x1.b0ca168ee3283p-2 +-0x1.b3572b9955476p-1 +0x1.bb1bbd4746079p-2 +0x1.c52268d365c79p+2 +0x1.f110cba52a22cp-1 +-0x1.6fda48db86f6cp-1 +0x1.254c3b4368ba6p-1 +-0x1.0ce1a52c5e7bap+3 +-0x1.2216b0038e9f2p+0 +-0x1.269fc0ff05c11p+2 +-0x1.ae03a19bd41dep+2 +0x1.b650672519a55p+3 +-0x1.77ea602be0f2cp+2 +-0x1.6a05036994aep+1 +-0x1.e8b1cd7a74de4p+1 +0x1.16eebb71a7eecp+2 +-0x1.03909b8355205p+2 +-0x1.501dbf0e54fbdp-1 +-0x1.70d4fc59c33bap+2 +0x1.26f7feb70930fp+1 +0x1.3299c0840d4a5p+1 +0x1.1554e51ca6bacp+2 +-0x1.286cb2455badcp+2 +-0x1.0f307d840b356p+0 +0x1.03df946bd0424p+3 +-0x1.b00bfb09939ccp+2 +-0x1.0362e200b6982p-1 +0x1.9ddb14d538345p+1 +-0x1.75e6f2cf6cf6cp+3 +-0x1.06a73ecf2af84p+3 +-0x1.46fbf29793786p+2 +0x1.cb8d76742bd97p+2 +-0x1.31a6f0d4495p+2 +-0x1.085c6959ab14bp+2 +-0x1.969670127f1a9p+1 +0x1.496d2fb76a0f4p+3 +-0x1.3ef172a8e55fbp+2 +0x1.43fa45a1670eep+1 +0x1.b1be2d9ba8f8p+0 +-0x1.a90b9e0c64826p+1 +0x1.e16e0013ade55p+1 +0x1.e11c069d2f00ep-2 +-0x1.9719ee46fd999p-3 +-0x1.95f6a6e236006p+1 +0x1.fa93b08dd58f5p+0 +0x1.f93eac223a6ccp+2 +0x1.034a306b25569p+1 +-0x1.ba1e8148989ep+2 +0x1.1eb78f5ad90ap+1 +-0x1.2cfa815ba73e9p+0 +0x1.5b6caafc569e7p+2 +0x1.b810315c37eb1p+2 +0x1.715d87f2a895dp+1 +0x1.44459301c3e5p+2 +-0x1.484777fefec5dp-1 +-0x1.64a041dd8e9c5p+2 +-0x1.da5f106c3b366p+1 +-0x1.68f8ec8895376p+3 +-0x1.ae5deb1e81d26p+2 +-0x1.4878e809357abp-2 +-0x1.4f376edfd2155p+0 +0x1.97cd6f664fc6p+7 +0x1.72f1967fbf4e4p+1 +-0x1.93c603a229cf8p+2 +-0x1.f7143379afcb4p+0 +0x1.eab06f2169508p+1 +-0x1.1969665a04b06p+2 +0x1.17e577dadacddp+0 +-0x1.e088184bfab84p+2 +0x1.c50ae6f2a9a65p-2 +-0x1.dd1f8dcb4c1bdp+0 +-0x1.49a4acbb921dfp-4 +0x1.5d4d3f9f8b147p+1 +0x1.0eef020d17b9cp+0 +0x1.744108e9234f7p+2 +-0x1.70f18e0693597p+0 +0x1.20a7a8f707f1ep-1 +0x1.2a468e0664b15p+2 +-0x1.07de72ea97036p+1 +-0x1.e955c739cd51dp-1 +0x1.8424b9f589f1p-1 +0x1.5ed6ea469148cp+1 +-0x1.c4bba3414a2e2p+1 +0x1.01dfc878190dep+1 +-0x1.2a28031f78835p+2 +-0x1.ec2a63c855ff3p+2 +-0x1.96511878f37a1p+1 +0x1.652094f1db067p+1 +-0x1.a6e8cacf6b8efp+2 +-0x1.d50fbdfea643ep+3 +-0x1.958ef4dff38bcp-1 +-0x1.e75bc6acb7ab5p+1 +-0x1.6dacdf3d4b4dap+2 +0x1.49bd74b200734p+3 +0x1.b88640873aeb5p+1 +-0x1.24d046a91d1p+1 +0x1.e0d98a0f94435p+3 +-0x1.08aed0fc25f1ep+1 +0x1.e38e145d01b57p+0 +-0x1.372246bc4867bp+2 +0x1.ae3a6f9e521c5p+0 +-0x1.6bb8ed5b10ff6p+2 +0x1.12eeb20a9ae09p+9 +0x1.10521d9c47bebp+2 +0x1.708da295a18f6p-3 +0x1.d3995f9f0e43cp+1 +-0x1.9239530269d9ep-1 +-0x1.a3ab8944852c4p+1 +0x1.1cbc105e38a1dp+3 +-0x1.2ea156f8e27e7p+3 +-0x1.7e9a2772c2296p+1 +-0x1.c8c12102dd6a9p+6 +0x1.3f993459b88f9p-1 +0x1.4df64bc98c0eep+2 +0x1.8033c21e4c5c9p+2 +-0x1.fa8cab8241c6cp-1 +0x1.f07676bce9c71p-1 +0x1.14d153ae1d815p+3 +0x1.5c1fd761909edp+0 +0x1.b775da63c5d37p-2 +0x1.f1b8b0159a0a8p+2 +0x1.eecfa63db3637p+2 +0x1.4f431e35d5086p+0 +-0x1.4917b8e00856ep+2 +-0x1.59b224b6e69e7p+4 +-0x1.d9c527cfc462bp-2 +-0x1.bee616f78523bp+0 +0x1.657e899302e6fp-1 +-0x1.147283d9caa71p+1 +0x1.2da1e0ff26489p+2 +0x1.f7ada233062f4p+0 +-0x1.875cd0bd2ddaep+0 +-0x1.e838c4a5a5334p+1 +0x1.7929e4377fbabp+2 +-0x1.b51f667194679p-3 +0x1.385c4a8132291p+8 +0x1.62d1c71b6a913p+4 +-0x1.67a6b9ad59084p+1 +0x1.012dfe2f87f4ap+3 +-0x1.60fcd39dd43f1p+3 +-0x1.d29306bb5e532p+6 +0x1.82afd3555fd3ep+1 +-0x1.c852ae17a64fcp+2 +0x1.7bb8429ab1eb9p+2 +-0x1.8d611344f6bcbp+2 +-0x1.ced65527236f5p+2 +-0x1.02d3d9cffe8bp-4 +-0x1.25390e0073833p+2 +-0x1.5313038ff51ccp+3 +-0x1.d30b85f9f7127p+0 +0x1.1f2fa18cf8d2dp+0 +0x1.74d9ad971c6f7p+3 +-0x1.514432642b8f4p+7 +-0x1.70e71e37e1c8fp+1 +-0x1.2af0e865764a6p+1 +0x1.e63ea9371af6ap+2 +-0x1.9ef63ba0e5867p+0 +-0x1.ccc900bb76d0dp+2 +-0x1.e3a37ec246cbdp+1 +0x1.8a42267f0c29p+5 +-0x1.de9407818cf97p+2 +0x1.da938cd6e6ab6p+2 +-0x1.63f306b188f5p+2 +-0x1.4426c88599f06p+0 +0x1.1e31a13379af8p+1 +0x1.65c7cc94cac5bp+2 +0x1.78858d62e831p+3 +-0x1.dad4b9420d854p-2 +-0x1.435c48e20f233p+3 +0x1.1cec27be67ebep+3 +-0x1.9bced69bc408ep-6 +-0x1.e894b47c0eaa5p+2 +-0x1.058dca75edd96p+4 +0x1.4e4aea0072e74p+1 +-0x1.078f70cbb8bc5p+4 +0x1.f381fe617427dp+1 +0x1.8ee6a84034746p+2 +-0x1.d82a154a22595p-4 +0x1.90756d0d0e891p+2 +0x1.d6153e290403ep+2 +0x1.af448560924b2p+2 +-0x1.a80a5ccace48ep+1 +-0x1.e59a827cedda7p+2 +0x1.f4e7582f6b37dp+2 +0x1.53437d66b13e9p+2 +-0x1.ddc8f15c3f88fp+1 +0x1.4d238549bc06p+2 +0x1.dd19dcef1352fp-1 +0x1.3c97500b4adfdp+1 +0x1.75a2013f56706p-2 +-0x1.07135097feb26p+2 +0x1.801d1a0a74974p+1 +0x1.efd0df44e9b76p+2 +0x1.9a387c5165b23p-1 +-0x1.7cb745f34509bp+1 +-0x1.e11c36ae55463p+1 +0x1.44d5e2f41bec7p+3 +0x1.24fca03b5c9edp-10 +0x1.586f19eaa2837p+3 +0x1.df7d5cb7aa536p+0 +-0x1.50e397256c935p+0 +0x1.e94e74484907bp+0 +-0x1.0783dc82e5558p+2 +-0x1.b1826d98ed66fp+3 +0x1.f94d2ca3ef812p+1 +-0x1.c6374298677a6p+0 +-0x1.55be6a49cccfp+1 +0x1.06c19376216dfp-2 +-0x1.9518cb6a47534p-2 +0x1.11ce94ecc7c49p+2 +-0x1.8c83c618bf5eep+3 +0x1.7c9947f55bdf9p+1 +-0x1.368f6071a76b5p+1 +-0x1.7759796de3f42p+1 +-0x1.0fc0a736aac4ep+2 +0x1.07898129c0a92p+2 +0x1.41794a91de696p+1 +-0x1.6a7fb5ba29ec7p+1 +0x1.0130ec80572cp+0 +0x1.3a6f486f8ebd2p+2 +-0x1.06ec3d723e272p+2 +0x1.2e873e2ffccdp-1 +-0x1.bbfcecf23f29ep+2 +0x1.0d9c8bcf702ccp+2 +-0x1.8bf83605860dep+2 +0x1.5867aa548ea19p+0 +-0x1.46e635f54c36bp+0 +0x1.64bad6bda152ap+1 +0x1.25b179ff73d99p+2 +-0x1.30be6b1745b68p+2 +0x1.0c7e7eeb6ec98p+2 +0x1.fc3db86888f04p+1 +-0x1.2e7c1d47fcc6fp-3 +-0x1.8a437b9217b0fp+6 +-0x1.2b2981e034631p+0 +0x1.a277c46ee023ep+2 +-0x1.b762b2659eed4p+1 +-0x1.316b900306496p+0 +0x1.6498178e42b2ep+0 +-0x1.01674aba386bbp-2 +0x1.66d237f54a752p+2 +-0x1.f10df46903465p+1 +-0x1.62c98357984c5p+3 +-0x1.01f501712a2c9p+1 +0x1.d3df2d5de7ac9p+1 +-0x1.e05174764b17ep+2 +0x1.a4e73d18212abp+1 +-0x1.bd0596b153a03p+3 +-0x1.8771cfa4e416fp-4 +-0x1.3dca521f08e49p+2 +0x1.e5061e4d500c7p-1 +-0x1.bb9455cb505bcp-2 +0x1.e7189581f989ep+0 +-0x1.80dddd5cac36ap-1 +0x1.67184b8f09adep+0 +-0x1.e1dddd7d3967ep+1 +-0x1.927dcb922f1aep+1 +-0x1.e9e4b020682d6p+1 +0x1.9c4e2f585832ap+0 +0x1.f9f6449921007p-2 +-0x1.f840c3b53db5fp-4 +-0x1.b58a68f6c1ff7p+2 +0x1.d2709d6b43d29p+1 +0x1.8b90c7f1c09afp+1 +-0x1.95fb0e459f40ap+1 +0x1.0a4ed17dd8925p+3 +-0x1.0b5578cf07fd7p+1 +-0x1.f835b6b23ee97p+1 +0x1.3d7bfec0fc298p+3 +-0x1.97933f35164ap+1 +0x1.0025fecb2ee4bp+1 +-0x1.00c5236b9384p+3 +0x1.bf0fbce99ff6dp-3 +-0x1.1563644580c69p+3 +0x1.b32f258ca6873p+0 +0x1.d318343d78954p+2 +-0x1.43d26bb7fdb65p+1 +0x1.bc71a565965ddp+2 +0x1.d897f359b04b7p+0 +-0x1.c58bf30df72d6p+0 +-0x1.ee0cc6f839061p+0 +-0x1.935c4fa756109p+0 +-0x1.dbc57ceb6b238p+1 +-0x1.a03af60bbcfe9p+1 +-0x1.7abba16b306f2p+3 +0x1.1434bc2f42b21p+3 +0x1.e07be6e15efeep+4 +0x1.c33f5a324ecbbp+2 +0x1.3b3e4c6d370bcp+1 +-0x1.7143cd915194ap+0 +-0x1.1307bb024027fp+2 +-0x1.64d0e87354537p+0 +0x1.6486887bc477ap+3 +-0x1.5b5e2ff9dd3e9p+1 +-0x1.b7375b28075f3p+1 +-0x1.83fc09ddc7c63p+6 +-0x1.2fdc6ef17be93p+2 +-0x1.480c0e252c3e9p+6 +0x1.4853eae27e69dp+2 +0x1.30abead36571bp+2 +-0x1.836654bf380cp+2 +0x1.cd14d1defa35dp+1 +-0x1.19cc72688823cp+1 +-0x1.45c98232ed478p-2 +0x1.2529f5831028p-1 +0x1.409a28b15e735p+1 +-0x1.26fb73ff6cdffp+0 +0x1.65d004d2739efp+1 +0x1.21ad6cf395f25p+0 +-0x1.34b399c924014p+2 +0x1.7169e9b9c525ap+1 +-0x1.782edef52f0dfp+2 +0x1.1b4c005922184p+3 +0x1.1db91625b93fep+2 +0x1.41e3394d5cccep+2 +-0x1.6a320e9f9fd2cp+5 +-0x1.6cfc1d0407b9ap+0 +-0x1.5d9e3fac88013p+2 +-0x1.b29bc73226ab6p+2 +-0x1.6ed4c5a843424p+1 +0x1.05de48556d764p+1 +-0x1.6a0cb3041e9f4p+0 +0x1.f0463c985eab9p-2 +-0x1.8273b9d2ac2e3p+3 +0x1.d1edb35a2c8b6p+2 +0x1.ea4d06fe3d711p+2 +-0x1.1f763b78c5fdp-3 +-0x1.1221494093756p+0 +0x1.38b961e657c49p+6 +0x1.f566585e6021p+1 +0x1.3976b14bd42d5p+1 +0x1.c5e68054c87eap+2 +-0x1.f62afb579f077p+1 +0x1.32030c562beacp+3 +-0x1.bab45588de70fp-1 +-0x1.e1aaf966a0414p+1 +0x1.46872c7051da3p-3 +-0x1.271673c71b52fp+2 +0x1.08b0b3412ba34p+2 +-0x1.858f8705b988ap+2 +-0x1.59ea85d5badf1p+0 +0x1.6b3f0b8b6e577p-1 +0x1.b504b9fa40d0fp+1 +0x1.fe756a84945ccp+1 +-0x1.4e64454efee0ap+1 +-0x1.2d0db084872c5p+3 +-0x1.04659a192ae76p+2 +0x1.b689f82e8091ap+2 +-0x1.a32ce7d618e42p+1 +0x1.ea01c413374e8p+2 +0x1.2111d0dd7fbddp+2 +0x1.d6832221afbaap+2 +-0x1.e2efc22606f09p+1 +-0x1.797e726ea6ddcp+0 +0x1.e868481c6e759p+1 +0x1.0fdee0c57a03ap+3 +-0x1.140a25dba426dp-1 +0x1.45b2f9f0ba9aap-4 +-0x1.2090afeea61f7p+2 +-0x1.903c26aed6662p-2 +-0x1.c7df9a44150c7p+0 +-0x1.baf4022de46e1p+1 +-0x1.168db671d08eap+3 +-0x1.9be9cd76d9ae3p+1 +0x1.b036cb019be72p+1 +-0x1.d5da4c1cb4377p+0 +-0x1.c5cd9dfff91b4p+0 +-0x1.a938e4b92ecb9p+2 +0x1.9ac208142d8f4p+1 +-0x1.b2b9cd4c9c559p+4 +0x1.10eab90c83dddp+1 +0x1.9855c6c9aceap+0 +-0x1.27d976ed95c51p+2 +0x1.9b628e56b244fp+2 +-0x1.99d82db6aa3b6p+2 +0x1.7755027b4441fp+3 +0x1.d03ab282b0106p+2 +0x1.0d42955a35e8dp+2 +0x1.361332b971dccp+3 +0x1.31812ad725d38p-2 +-0x1.c64fd9b05746fp+2 +-0x1.0245127bbdfedp+2 +-0x1.9ea097113be47p+4 +0x1.53742ee2416a7p+0 +-0x1.43e583eb439d1p+2 +-0x1.495dddbc9a767p+2 +-0x1.39696fb52aa65p+3 +0x1.c3dc142948679p-1 +-0x1.bf4e0fbaa3717p+0 +-0x1.78d74ef4e4172p+1 +-0x1.cf9dc04f6b50fp+1 +-0x1.8df9b754670cp+1 +-0x1.5b8c5d8016493p+2 +-0x1.11681cc0792ebp+0 +-0x1.f3c10fa6b292bp-1 +0x1.c6eccd18a12b1p+1 +0x1.0c4d7982b59f1p+1 +-0x1.eb442d38ff749p+2 +-0x1.20989f3930665p-1 +-0x1.88ead1c46ed4fp+1 +-0x1.08462ba764827p-1 +-0x1.13ae50a5f22cdp+3 +-0x1.33bf56d5d6109p-4 +0x1.82977458a6564p+8 +-0x1.3be4111dc0564p+3 +-0x1.3ad88f8329f7fp+0 +0x1.8cecde20d7c45p-2 +-0x1.cbf4da8116cd4p+1 +0x1.b8ce3002e0d82p+3 +0x1.9cd353103322cp-6 +-0x1.681b7d192db91p+3 +-0x1.f110047fdfd96p-2 +-0x1.5b06bce2ae4dcp+2 +-0x1.60f6f29131003p+1 +-0x1.0d98cd113eea4p+2 +-0x1.c71b7fe3fa317p+0 +-0x1.4982ad0977115p+1 +-0x1.c53f08e0dfcf9p+1 +0x1.4c65106064594p+1 +0x1.341ec722c3ebfp+1 +0x1.3b2c7b8871607p+1 +0x1.07159c9184f21p+1 +-0x1.e16c86ec07a22p+1 +0x1.a869fb875db68p+1 +-0x1.e11323cdd372ep+1 +0x1.a4d633cce4c39p+0 +0x1.e5050fecbfd65p+3 +-0x1.a6e3c9c083621p-1 +0x1.956e1017db2e1p+1 +0x1.1619af6a8533fp+2 +-0x1.339d931e78d85p+2 +-0x1.275120dd47733p-1 +0x1.aaeaf85530ebp+2 +0x1.b9c93457c68ccp+3 +-0x1.6b336a01ee6dp-3 +-0x1.a3e50df2c1a83p-2 +0x1.b076fd1f6a322p-3 +0x1.1f6a18db72968p-1 +0x1.37f0fb7e253dp-1 +0x1.3bbab5e2b79d1p+2 +-0x1.0973db46b97d7p+1 +-0x1.e4ff3cc00e344p+1 +0x1.2aeb473b5f65ap+0 +-0x1.cce7e74d4ebedp+1 +0x1.2851c16f2f3a8p+3 +0x1.6a23202674c3dp+2 +0x1.234b8c2c9dd38p+3 +0x1.e44e037e43b59p+1 +-0x1.06a0e1c39950cp+2 +0x1.134b738b24404p+3 +0x1.c4c4d09b14632p+0 +-0x1.55f1e81935f9dp+2 +-0x1.8d76e26f6ba2ap+0 +0x1.ece4185958889p+2 +0x1.b979aabae05aep-2 +0x1.eed2daf3a66cfp-2 +0x1.007f86118990dp+2 +-0x1.deee53681529ap+0 +-0x1.89e6e93c1e442p+1 +-0x1.81779eda6feb7p+0 +-0x1.d2d4e5712cb4p+0 +-0x1.1913367ab0dc9p+5 +-0x1.338c97bbce549p+0 +0x1.1b180b52b1ccp+3 +-0x1.9e2dd6f1db99bp+1 +0x1.3fd2058436328p+2 +-0x1.4256d1b9984ccp+1 +-0x1.5b577850e5eeap+2 +-0x1.04e699d894268p+2 +-0x1.27fbcbbd5966bp+0 +-0x1.769b51e1daea5p+1 +0x1.0932f40d2d73ap+1 +0x1.0b612883b1955p+1 +0x1.0b2df4c9df3a3p+3 +0x1.93a03f89f3968p-1 +-0x1.02250ce859415p+3 +-0x1.4e7f85e8b57d1p+1 +-0x1.1156c5ea402p+2 +-0x1.1220364d0702dp-3 +0x1.14e246b998b7bp+1 +0x1.7ba1da477601ap+1 +0x1.44c38e3656b49p+3 +-0x1.0b77138b30d62p-1 +0x1.b987d42d6312dp+3 +0x1.2a37cf260221cp+2 +0x1.7124941c8e2a8p+0 +-0x1.e5f6d2c041356p-5 +0x1.cc534b8617ca7p-1 +0x1.1d1d1af13a5e3p+1 +-0x1.076e89b8e1ddcp+1 +0x1.c04e164889271p+2 +0x1.1c263fb2168e5p-2 +0x1.7443ab81b3459p+2 +0x1.ec33cbff35d75p+0 +-0x1.d3bae4c90580cp+1 +0x1.17cf99aaee608p+3 +0x1.e2b466902bdddp-2 +0x1.3cb3df25c0011p+0 +0x1.eab478b8f4ac5p+2 +-0x1.291509dd3f876p+2 +-0x1.695ba0e860678p+0 +0x1.c97486176a67ap+2 +0x1.42f0119a4bbbep+0 +0x1.db498c6defbacp+2 +0x1.bd2bb553594b7p-2 +0x1.00e5b381eebbbp+0 +-0x1.104b2d8a76b09p+7 +-0x1.cd2856d35db3fp+1 +-0x1.6f4a3861db18bp+3 +0x1.b4dfec405f9f5p+2 +0x1.00667ed0fbcafp+3 +-0x1.ac174c6e26cefp+2 +0x1.08790abf24c62p-2 +-0x1.33447797fc2dap+3 +0x1.07afba324aa75p+1 +-0x1.cf2ac8d3f2b8dp+1 +-0x1.eb833c7d34b05p+1 +-0x1.752342abdf7e8p+2 +-0x1.9b26d3e64f5e1p+1 +0x1.a9207ba28e814p+2 +-0x1.a43f1c64425a3p+1 +0x1.b5ccb3cc4f80ep+1 +0x1.510551a90cb5fp+3 +0x1.e2803a966a134p-5 +-0x1.e16d842dce288p+0 +0x1.6568416cc9ffap+2 +-0x1.380a0c32cf501p+0 +0x1.ba6e86ac2953fp+2 +0x1.883fcfd914913p+0 +-0x1.ed2f98c569079p-2 +-0x1.2da1d46f64a23p+1 +0x1.839fa8918abb2p+0 +0x1.5dd119f564e5p+1 +0x1.5efc92ffc014p-3 +-0x1.c64f29879e4f9p+1 +0x1.ac7fed2b59492p-4 +0x1.d0b7d16b0c594p-2 +0x1.e9b82ee20be69p+1 +0x1.2621b5026d195p+2 +-0x1.cf09e8687ef34p+1 +0x1.a11c940d34609p+1 +-0x1.943fa3d219f6ap+3 +-0x1.4d06bc9e0df7dp+2 +-0x1.71629369831e4p+2 +0x1.1ea259b97ef17p-2 +0x1.734d73d0131f8p-2 +0x1.39d333ce0ef84p+3 +-0x1.5ae604744d3c5p+1 +0x1.4e6eeeab47e2ap+2 +-0x1.a5fff318edec3p+1 +-0x1.3fd468ad2a168p+1 +0x1.30d0dd05c82bap+1 +0x1.4f5a297b84dcbp-4 +-0x1.5bebbec404fd3p-3 +0x1.361b5957d2fcp+0 +0x1.83383b3693edfp+1 +0x1.28883653577e4p-1 +0x1.f199a3f4423adp+1 +-0x1.6cf9e60e218dp+2 +-0x1.f5dc6e8cabfb2p-3 +0x1.087fc1148b6bfp+4 +-0x1.25388cac2acd2p+3 +-0x1.b991062c38ed9p+2 +0x1.276b2be6e4c9ap+2 +0x1.c413e50831f9dp-1 +-0x1.13fc0dcf99608p+0 +-0x1.132c929f74913p+2 +0x1.9af1d5bad7d2cp+1 +-0x1.957761e52b4fp+2 +-0x1.916b8f16504d4p+2 +-0x1.369de0035d0eap+1 +-0x1.5abd37f4ba7b5p+2 +-0x1.714b9f095f923p+0 +0x1.667662bc13da9p+0 +0x1.8cba4888c255ep+1 +0x1.3c2070e5e2d1fp+2 +0x1.215c0337ee9bp+3 +-0x1.1659546bd0ebbp+2 +0x1.91b881d4450c6p+2 +0x1.5a42ef7a3cf48p+2 +-0x1.f81dad4a7b409p+2 +0x1.2d89d2e10656ap+3 +0x1.1b20bc5730b23p+2 +-0x1.d57d68dff70bep+1 +-0x1.64707e16e6b2ap+1 +-0x1.32f91de99f65p+0 +0x1.e347b5fc0444cp+1 +-0x1.1d517ce38477p+2 +0x1.3e2283eaa1c5p+3 +-0x1.897324b72c34bp+2 +0x1.147b5467aa2a2p+1 +0x1.c459ba1e35084p+0 +-0x1.c8cf76d0b2d0cp+1 +0x1.157afbfad260ep+2 +0x1.e39ac33a987bdp-6 +0x1.78fc0c2c3e597p+1 +0x1.69b2e4a4f0fcep+1 +-0x1.d7fcdcfa268afp+2 +0x1.40d3c7f677697p+8 +0x1.76546b1fe8f4ep+1 +0x1.314f60a55dbfbp+1 +-0x1.c065760fbd859p+2 +0x1.861331ee4718cp-6 +0x1.83ee1d410cdf4p+0 +-0x1.c1e5a8df05ce7p+0 +-0x1.4c5af1b34ce19p+3 +-0x1.6ad21f94c410cp+1 +-0x1.c98616e92a1f4p+1 +-0x1.1254f113aeef6p+8 +0x1.be92449ba86c1p+4 +0x1.226cae814577p+2 +0x1.d6649d2384196p+0 +0x1.b7d4cbf08cb1bp+0 +-0x1.0686ca177f2abp+2 +-0x1.006ddfa368a4cp+1 +-0x1.40a8c3cf18db3p-1 +-0x1.f46534b123614p+0 +0x1.f414cb9fc5ab9p+1 +0x1.558054524db77p+1 +0x1.9ce15dce30f24p+1 +-0x1.a67c01d3dd128p+1 +0x1.bb2334212d827p+2 +0x1.01b533e308467p+6 +0x1.f421ca00ebc57p-2 +0x1.0b37d302b4041p+3 +0x1.0c1ca7ff09856p+7 +-0x1.19519cd93a2bdp+0 +0x1.6850baaff4792p+0 +-0x1.d5822a2c3a93bp+2 +0x1.5a7190ad1a6a1p+2 +-0x1.68d60316a6968p+1 +-0x1.45bcc8cb053dep+2 +-0x1.7422c0d986222p+1 +-0x1.241984a51ab0ep+0 +-0x1.0be98a69feb3bp+3 +0x1.a4cd270a156d1p+1 +0x1.2955fb87a28bbp+2 +0x1.777c890aab835p+1 +0x1.3f939196ef4f1p-1 +-0x1.7198733a1beddp-7 +-0x1.bca608df89ecdp+3 +0x1.360affba36a14p+1 +-0x1.94fdb07d53a1ep+1 +-0x1.503dbc912f0e7p+2 +-0x1.ba773c96e7b5fp+1 +0x1.20fa983fb31fp+2 +-0x1.9c353048d973dp+2 +0x1.3fc515fdef267p+2 +-0x1.1d00b9beaaae7p+2 +-0x1.661cd7caa5a77p+2 +-0x1.7b51b03aba8a1p+1 +0x1.8e2b1a9462672p-3 +0x1.f36eb04e52d15p+2 +-0x1.643f4fc9cae7ap+3 +0x1.80b2d118746c4p+1 +-0x1.387e429529cedp+2 +0x1.a978578568fdep+2 +-0x1.5899fcca4a22dp+1 +0x1.1d6756ef2f01ap+2 +0x1.084ebb9120832p+0 +0x1.49e860b52bd98p+3 +-0x1.b846a9c3551dp+0 +-0x1.b61bd276c43b7p+1 +-0x1.3017a402a6b19p+3 +0x1.26de38abaf857p+0 +0x1.3501848481522p+0 +-0x1.a72934dfc96d4p+2 +-0x1.27b1a223bc357p+3 +0x1.764f91d9ff8b3p+3 +0x1.227cb63de61c7p+1 +0x1.fdb8341be9844p+2 +0x1.c1c905dba2d77p+2 +-0x1.1100903d4cbe8p-1 +-0x1.3468d40c7fc3p+1 +0x1.b19180a345e4cp+2 +0x1.dfd676a67b885p+1 +0x1.038bdcbfc35c7p+0 +-0x1.3eb90e38476f8p+0 +-0x1.12daf2e94ef6ap+2 +0x1.51c9c985e8cdap+1 +-0x1.b4798a4c11f48p+2 +0x1.4ff31cbdd1c94p+0 +-0x1.85e21698f2193p+0 +-0x1.b0d4c918f64a9p+1 +-0x1.7da2d848f8ecp+0 +0x1.47d068c2188dap+2 +0x1.5073694f038d9p+0 +-0x1.07d7c7b702c54p+3 +0x1.185a76a447425p+1 +0x1.ef703e1cbeadp+2 +-0x1.d7db9d184017ap+2 +-0x1.9bb6bf4fd6c0ap+0 +-0x1.b0f3498a5ab23p+7 +-0x1.d981d72d18173p-1 +0x1.b5ed17969c9a3p-2 +0x1.0009fe1d1bd41p+2 +-0x1.be320884ace76p+0 +0x1.b1f8236461aafp-1 +-0x1.0dcd03190bc3dp-2 +0x1.4f2403eebb14fp+9 +0x1.d3a978aee10f9p-1 +0x1.65c313e72719ep+0 +-0x1.787602058a377p+0 +-0x1.d1595883a70edp+0 +-0x1.2881884c89117p+2 +-0x1.19968845ea437p+3 +-0x1.216149d9f3448p+3 +-0x1.cf1377e6ced96p+0 +-0x1.e4c4e5873bc4bp+1 +0x1.6b9c2dd5db503p-1 +0x1.64652ba40986ap+1 +0x1.10f5c87a8d38p+2 +0x1.c2861e669e3dfp+2 +0x1.3d513a6808762p+3 +-0x1.1fcfc1d396b0fp+1 +0x1.1230caf7411c5p+2 +0x1.526fa88c959f7p+1 +-0x1.302c0ce287a01p-1 +-0x1.22a2ac739a7dap+2 +-0x1.2cfd2093e124p-4 +-0x1.cd2f3b2ddce5ap+3 +0x1.3b251936c90b3p+2 +0x1.7223e3f3cbe8cp+2 +-0x1.3f6b4f8067b9ap+0 +0x1.8a4ed43125a0bp+1 +0x1.df94fed43acd2p+1 +-0x1.07087657f713dp+3 +0x1.84f23eab1ffbcp+0 +-0x1.0ce3de15398a2p+2 +-0x1.2aa0af911ceb1p+0 +-0x1.480ce167d7acfp-1 +0x1.3d1bf35d62049p+0 +0x1.05e4fe1042b5ep+1 +-0x1.90615aebaac9fp+2 +0x1.5951a77e58671p+2 +-0x1.39748874c9c06p+0 +-0x1.184ce88b6a713p+0 +0x1.90620f136b37dp+0 +0x1.e8d180a06f9f8p+2 +-0x1.2e2e28d30022cp+2 +-0x1.9e319efeadc57p+1 +0x1.cc3013ef128dfp+2 +-0x1.9cfa287000ca3p+2 +-0x1.5f3ea97f7245ap+2 +-0x1.84f3a90118e3fp+2 +-0x1.bce88c29d5f3cp+2 +0x1.3416b7dbbd766p+0 +-0x1.547e1f4913a94p+3 +-0x1.058d6b1912149p+2 +-0x1.85e89ef3d5ba7p-1 +0x1.42d9024e2eb2dp+1 +-0x1.d438ce0aefc38p+1 +-0x1.845488e1aa9c9p-2 +-0x1.dbdb48ee8d52cp-1 +0x1.a72923ef39d65p+0 +0x1.cca6e76897a39p+0 +0x1.130d300b7eeadp+2 +0x1.fb8fcc97cb912p-2 +-0x1.f6d9c9ee84c57p+2 +-0x1.23affea0c28c4p+5 +-0x1.5287e88017adep+2 +0x1.b9ea921d1bcb7p+1 +-0x1.bcab998cb6246p+3 +0x1.85374913420a2p-1 +-0x1.866ab97f47acfp-1 +0x1.273893e0c817bp+2 +-0x1.c24c2add7a29cp-4 +0x1.b77e91f4e4305p+1 +0x1.0ea9418e78cc5p+2 +0x1.6b4f8504c3868p+1 +-0x1.b96705f2dc543p+1 +-0x1.50ae29ba8f6f5p+0 +-0x1.d6b7e614909cfp+0 +0x1.9348fddcecd4dp+2 +0x1.5014f17fbf8d8p+1 +0x1.ae4e2218676bap+1 +-0x1.f1557e05e51e6p-3 +-0x1.71871d68ae4dep-1 +-0x1.63b308bdfd26cp-1 +0x1.3b18c3fb84b11p+2 +0x1.de5c6e8ae5a96p+2 +0x1.049a655285375p+2 +0x1.54d3b8d7e9c4dp+0 +0x1.46e30ce793dbep+1 +0x1.ec958b7696518p+2 +-0x1.7cac6f05dc704p+3 +0x1.a0920d51a7f11p+0 +0x1.0ecc0815a4bb1p+2 +-0x1.26dc5972901b9p+1 +0x1.c0645ac423855p+1 +-0x1.dc9fa68243f6ep+0 +0x1.3e09c3ebec5b4p+0 +-0x1.fd1217167ce01p+1 +-0x1.d94896040c901p+4 +0x1.0f07b012622ffp+2 +0x1.1003608e693f3p+2 +0x1.8d20568668e7fp+0 +-0x1.f8fab388cb87fp+0 +0x1.ba21055fcea6fp+1 +-0x1.e707ba1023146p-3 +0x1.8073e06ad8555p+4 +-0x1.15a71f76feb38p+3 +0x1.0aa92773b5213p+1 +-0x1.098ffeaa7a068p-2 +0x1.035c9477ed99fp+2 +-0x1.6c1d9dcaf2584p+2 +-0x1.48ea4ea4033f9p-1 +-0x1.6a8d3ac41e1b9p+0 +0x1.16c74dc94d5dfp+2 +0x1.973d50c3015e4p+1 +0x1.a6f0ef307343ep+0 +-0x1.74a25b5c6605ep+3 +0x1.9ccc17e5b340fp+7 +0x1.ac1f89ed73461p+1 +0x1.17282ed4b65cp+4 +0x1.2438de02fbd07p+3 +-0x1.5d13e5e547643p+3 +-0x1.814d8ee4055e9p-5 +-0x1.457a3391133cep+1 +-0x1.19f0fc0d5eff6p+2 +0x1.f28441178c96ap+2 +-0x1.1262edf9d2919p+5 +0x1.31babe7c19426p+2 +-0x1.7e22c0861e865p+3 +0x1.63f3e35088ea5p-1 +0x1.be8249c5399d4p+2 +-0x1.4fd478e1f6499p+2 +0x1.d10c0fb255dfbp-1 +0x1.012c64191302p+4 +0x1.d967b9ed51a81p+2 +-0x1.92b3a7f995432p+0 +0x1.4590b91cfef6cp-2 +-0x1.a276a71aa45d5p+0 +-0x1.9ac3c33eedffbp-2 +-0x1.e78711e547433p+1 +0x1.4e7cc63ce007ep-1 +0x1.0d90fb18d50abp+3 +-0x1.cc5aa5c158d34p+1 +0x1.50e42047a458dp+2 +0x1.60cfc7e055b8dp+1 +-0x1.1e0bf061b2f18p+3 +0x1.780860603915ap+0 +-0x1.58fea718f58a6p+2 +-0x1.95cc85b174bd5p+2 +-0x1.94d364d29aeb3p+0 +-0x1.fb302acf0d95dp+1 +-0x1.322275472ddabp+2 +0x1.01063cdc457d9p+5 +0x1.782f7de36df12p+2 +-0x1.b1c583eea9e1p+2 +0x1.1aa402ccf562p+2 +-0x1.0a0331b37937ep+3 +-0x1.099a51f97cb82p+3 +-0x1.ef5ed226fbce1p+2 +-0x1.fc9d467c49276p+2 +-0x1.8577c0b6873e4p-2 +0x1.d6d57f4e817d4p+1 +0x1.3fccaaabfe356p+2 +0x1.5c9f8785fbe1ap+2 +0x1.58efe1250e294p-1 +-0x1.0f06c68bab1ep+2 +-0x1.25e1736b6d2acp+2 +-0x1.86994d1b1879bp+2 +-0x1.e01e94f4b8a63p+4 +0x1.851560ac978bp+0 +0x1.5d031b9c4e4bbp+3 +0x1.e57a1b1442559p+1 +0x1.c26290494c23dp+0 +-0x1.679510b6877p+1 +0x1.8329935e79cebp+1 +0x1.3f08848f7309p+3 +-0x1.1e3e312477969p+1 +-0x1.786587fd249e1p+2 +-0x1.e043408e15136p-2 +-0x1.8454636573b74p+2 +-0x1.00ea4f8901b73p+0 +-0x1.e7582a6cbb6cp-4 +-0x1.b77c96df66602p+3 +0x1.9e62213c27f82p+2 +-0x1.71f681b5c9e93p+2 +-0x1.2e1187b8b231cp+2 +0x1.8fedfe352f20cp+0 +-0x1.0c1d89ae50b85p+1 +0x1.abcf0ccada1d8p+1 +-0x1.7f7c539ba529dp+3 +-0x1.37e68f305c2e4p-1 +0x1.0a1f30b2d7e25p+1 +0x1.c0024e0a175f5p+2 +-0x1.2a17a33f45d3dp+3 +0x1.cdfd673213674p+6 +0x1.92217d490a3f7p+2 +-0x1.c613de95fa103p+2 +0x1.51f18d1defd06p+1 +0x1.e395dd140c294p+0 +0x1.569704a3d2798p+3 +-0x1.aeacf73f7dca2p+2 +-0x1.ac69d8ddf5d9fp+0 +-0x1.19c29e25b67d8p+3 +0x1.1db316ea6754p-4 +-0x1.3c117830ce24fp-1 +-0x1.421dd4f1654cfp+0 +0x1.7d2dd336b7b1bp+0 +0x1.fbdaabf79e82bp+0 +0x1.034cd21d3fef7p-1 +0x1.765c0e9ce6d36p+1 +0x1.80360cbdcd5bep+2 +0x1.7f91f03d057ccp+1 +0x1.9c5d7a325a2d1p+1 +0x1.e0c5b2a7058cep+2 +0x1.0f911df8b7807p+1 +-0x1.3584da3c39f1p+2 +-0x1.f7649ef0e0f4fp+2 +0x1.5b2a89fea53f1p+0 +-0x1.fe140633a9a2fp-2 +-0x1.fc821d750606dp+1 +0x1.1a2fc0a549e2cp+1 +-0x1.fc37d01cb58b8p+1 +0x1.06a11e1623775p+1 +-0x1.d9d8dbfa4da72p+1 +0x1.1204e4a5547e8p+0 +-0x1.7dadcf1cd0bb6p+2 +0x1.431ce93034f2fp+0 +-0x1.0c046ed5efe85p+3 +-0x1.183687481d131p-1 +-0x1.6ccec841e8ce9p+2 +-0x1.8d9611b1acef7p+0 +0x1.75988816d569ep+2 +0x1.e2c4bb6b78808p-4 +0x1.f4a1b6692733ep+2 +-0x1.098908441ddb8p+0 +-0x1.73d2e83cb5f23p+2 +-0x1.fa77e0de9db99p+2 +-0x1.05432f7bd158p+2 +-0x1.21796797e94bep+2 +0x1.f7e2ecb7ece6cp+1 +0x1.876de707ce431p+2 +-0x1.02113a2c6bab5p+1 +-0x1.9337715bcdec4p+2 +-0x1.765c625551882p+1 +-0x1.f05872cac3e2ep+1 +0x1.31b8b78f6dfdp+2 +0x1.f92e93c801994p+2 +-0x1.65770088a91ccp+2 +-0x1.7e4180af0042ep-2 +0x1.0863fb5608d3fp+3 +0x1.1266f191d5e7ap+3 +0x1.f7ceb59aa61ebp+1 +-0x1.7adc1d5f41649p+2 +-0x1.b72ace952c969p+1 +-0x1.42799c50e597fp-1 +0x1.12b707a43545fp+2 +0x1.26c4308fd275cp+2 +0x1.37b6c64a764ap+0 +0x1.9cdf67104c021p+1 +0x1.4e0b1fb32922ep-1 +-0x1.ef76dc5eb26b6p+1 +0x1.89fe204f13025p+2 +-0x1.ba6e919ff9338p+2 +-0x1.101565b078f6bp+3 +-0x1.8d1406bb3eef7p+1 +0x1.3c320f0a27869p+3 +-0x1.2da06a295dc8p+2 +-0x1.1f309b96f486dp+1 +0x1.a1602ac5c58e2p-2 +-0x1.b6151d2b949a1p+0 +-0x1.0e4b63707f8bep+2 +0x1.dd727fb277f24p+2 +-0x1.6922499c22898p+2 +-0x1.7a81cb4e77ffdp+1 +-0x1.138a1c7bd7b0fp-1 +-0x1.0914926360bc6p+2 +0x1.da7d28117b49ap+1 +0x1.96c7cc509287dp+0 +0x1.553f320599ba6p+2 +-0x1.c50bd50274823p-2 +-0x1.21dd93cb4d65p+1 +0x1.b6c40e2fa9e13p+6 +0x1.601aa07829764p+3 +0x1.1f08e7a387082p-1 +0x1.05b5e2a032ecp+0 +-0x1.5a88e3cd75551p+2 +-0x1.2dfc032b098d5p+2 +0x1.202a29fc90ac5p-1 +0x1.53a54791d8dacp+0 +0x1.9efc9bd430c79p+2 +0x1.e07e842d2f532p+1 +0x1.fad873d7c9eb6p+1 +0x1.83db3f9bbb774p+0 +0x1.047acc7bddc5cp-5 +-0x1.4be03d1cad354p+1 +0x1.e639d170c5836p+1 +-0x1.e6a97acebb1e3p+2 +0x1.5afbada4605f6p+3 +-0x1.f17280f294968p+0 +0x1.f006e3157f2f3p+0 +-0x1.30cc68b43a693p+3 +0x1.2fd5a2adc2583p-2 +0x1.15ffe5d975af1p+1 +-0x1.f1b2b1a0fa69dp+1 +0x1.19aa7c29bfb17p+0 +0x1.3f6646f4e1058p+2 +-0x1.2a8f334caa863p+1 +-0x1.8de99415c7751p+2 +0x1.e6e1ad4c4a41p+2 +0x1.22eb89d4fd03ap+2 +0x1.f5fded0468281p+1 +0x1.36bc741caa6b7p+2 +0x1.529e393646c9fp+2 +-0x1.4ee715ba19a8dp+2 +-0x1.1a4f41167f1d8p+1 +-0x1.907ff0ee55162p+2 +0x1.b3d03e11e89eep+1 +0x1.4aa876627fe0cp+2 +-0x1.c81d4d77a9dep+2 +0x1.5045570d32f5cp+2 +-0x1.8c1491502f3b6p+2 +-0x1.fed67a6197b25p-1 +0x1.c0d5edf21314ep+0 +-0x1.bc6243b211fcfp+0 +0x1.0853f04d5bbb9p+2 +-0x1.fa5b23d50da27p+2 +-0x1.892029e10ef46p+1 +0x1.98729cadc0696p+2 +0x1.31636d0ae4b6ap+1 +-0x1.4e5310c3e8863p-2 +0x1.914c70227d082p+2 +-0x1.53625fa9a7f93p+4 +-0x1.63977e245c6c5p+8 +-0x1.b9824e5b4d29cp+2 +-0x1.81366c2b43e7fp+3 +0x1.d57e2603cdc78p-1 +-0x1.3a6112894a4b3p+0 +0x1.0b30d9d53221cp+3 +-0x1.219831d8ea67fp+2 +0x1.f2a0939784f1fp+0 +0x1.f2705e6b2373fp+1 +0x1.1579e288983cep+2 +-0x1.067c62c5cdaeap+1 +-0x1.61ac445d9e8bp+0 +0x1.6bb34067bc895p+1 +-0x1.984dbfda1a6c9p+2 +-0x1.b4a3d22a1ba8ep+2 +-0x1.3a7c3a8f489b3p+2 +-0x1.eebe9e55243bbp-7 +0x1.122bc1a16c686p+1 +-0x1.d382a8e874973p+0 +-0x1.7dd53d15b136dp+2 +0x1.6783de41a401ep+2 +0x1.02cb9c6eca4b9p+3 +-0x1.30e6e2ba7aa51p+2 +-0x1.69771cf1986e3p+7 +0x1.085fd177f17f3p-3 +0x1.3027a2b14b3c7p-5 +-0x1.c40f1b34a4994p-2 +0x1.7e58d80a32ad3p+5 +-0x1.03ad502e3f953p+3 +-0x1.6c86f33bdcdabp+2 +0x1.6a32d56785932p+1 +0x1.bc97ce9d592a9p+1 +0x1.5fe22a3357055p+0 +0x1.0cdf88b2f7a77p+2 +-0x1.0bfcd985bca43p+2 +0x1.829591e644239p+2 +-0x1.422816445f3a5p+1 +0x1.b051d209a40dbp+1 +0x1.612b57c208d4fp+3 +-0x1.b51680e7152a8p-1 +-0x1.d96add68ee3f7p-1 +-0x1.cd7e2623c0496p+3 +-0x1.de0faa13059a9p+1 +-0x1.f52f27ddf903dp+1 +0x1.194383691adf2p+2 +0x1.24ccd66405734p+2 +0x1.0c97b80bb93bbp+3 +0x1.b4b66e0e58e62p+6 +-0x1.9ef037efb8951p+1 +-0x1.50504b2c45cc4p+1 +-0x1.5f4a5bd1999c4p+2 +-0x1.29bb164c2b0fbp+2 +0x1.a12a7a0912edap+8 +-0x1.62d3304f28005p+3 +-0x1.a8aef06f08437p+1 +0x1.b82957f7f7793p+2 +0x1.66f7fc9522a59p+2 +0x1.e2c50eb81f5afp+0 +0x1.58fd7ee016d88p+0 +-0x1.d41d0447013eap+6 +-0x1.d311dcc161cc6p+1 +0x1.dd2eb4a3bc562p+2 +0x1.7a3abbc6295a9p+2 +-0x1.4c9fa74f8adcfp+2 +0x1.254861815cdf2p+2 +-0x1.4b8fde098f66p+1 +0x1.6600282a1298p+3 +0x1.556ce0fbc066bp+6 +-0x1.4fec316462e3p+2 +-0x1.e18c520e17d29p-1 +-0x1.7c788ba24177ap-3 +-0x1.9e28125b67281p+2 +0x1.b83ee732a1756p+1 +-0x1.1bc1301865e47p+3 +-0x1.205c564f951f5p+1 +-0x1.3c4620172553ep+2 +-0x1.d7cf37940ed02p+2 +-0x1.b059c430eec4fp+7 +-0x1.adc0a71dc3facp+0 +0x1.1270cf884bb08p+3 +-0x1.fca759c2f1ba4p+1 +0x1.5180b5739446bp-2 +-0x1.4537cf70dfcbcp+2 +0x1.ecbdf018a5621p+0 +-0x1.c542d0c08c1cdp+0 +0x1.1b3dcdbc65d88p+1 +-0x1.854b63665ce64p+2 +0x1.483f398fc624ap+1 +-0x1.67476a0bf7645p+1 +-0x1.e0b9e13d69bf2p+2 +0x1.9eedba027c2b2p+0 +0x1.36fd71b12c909p+3 +-0x1.66cfa294b1553p+3 +0x1.c84d455cc55f6p+0 +-0x1.1119b30c39188p+3 +0x1.fa24dbd9090ap-3 +-0x1.2a470e00b1dbep+2 +0x1.40f3f12272879p+1 +-0x1.48660a4818138p-1 +0x1.b602f2a7b4b59p+2 +0x1.116c7ced96fc6p+2 +0x1.2952aaf403df1p+1 +0x1.3b380257abd9cp+2 +0x1.09811fde2feacp+1 +-0x1.55d6ff8751457p+2 +-0x1.5c5efaa7d5f63p+1 +0x1.9fdfdf8b192d3p-1 +-0x1.7643ee28c8e85p+1 +-0x1.3a0cec4c6a01p+5 +-0x1.032c6fe52db18p+0 +-0x1.deef469810c21p+1 +-0x1.8e7e2a02e9deep+0 +-0x1.936cef933ca0ap+1 +-0x1.2feed64e9c55bp+3 +-0x1.f172476bd55dep-4 +-0x1.df90b56602e1cp+0 +0x1.36fbc948a25efp+2 +0x1.055f60f11b7cbp+3 +0x1.a74785ac33d31p-2 +-0x1.6f32d2de8c70cp+2 +-0x1.6fe080d7977e6p+2 +-0x1.0b18485ed707cp+2 +0x1.71b9bac6bb928p-1 +0x1.17128856c8e46p+1 +0x1.0b7e26ccaee4p+2 +0x1.cffc99cdbb22fp-2 +0x1.e28f7f924366dp+2 +-0x1.1bccf4353f43cp+3 +0x1.f551a84d06edfp-1 +0x1.1faec9d32c049p+2 +-0x1.48f22bbfefdf4p+2 +0x1.caf0c5044ed0ap+2 +0x1.669c8afc0d2f5p+3 +0x1.b2f9ae6d33cfcp+2 +0x1.22b476ce929b1p-3 +-0x1.67d9fddcff597p+2 +-0x1.a75e6b46efef9p+2 +-0x1.0d09f70667c5cp+1 +-0x1.36ad163cc1882p+3 +0x1.792438d398445p+1 +0x1.180e96c1faacfp+0 +0x1.60b64c62fb406p+4 +-0x1.fdd03d73ee32dp+2 +-0x1.89509f0271e2ep+0 +0x1.b01fa0e53127fp-1 +0x1.72898e3c3e82ap+4 +0x1.a06bc107c8848p+2 +-0x1.6b40aad2972adp+2 +-0x1.5b46d755906e3p+2 +-0x1.59fd213479ee9p-3 +-0x1.23900ccfba853p+3 +0x1.fde8416d82ee5p+0 +0x1.6b3b513b486dcp+2 +0x1.44eaeeafdd2d2p+1 +0x1.09905f18c79d7p+1 +0x1.63ff4b775bc15p+0 +-0x1.3a3e476758e39p+0 +-0x1.9736dfc54151p-1 +-0x1.1a6ad22fe4d12p-2 +0x1.3078e7fa8b80dp+1 +0x1.0b7005e08925bp+1 +-0x1.f38c183dcfc42p+2 +-0x1.cce016c706cc1p+0 +-0x1.64bb7032fe675p+3 +0x1.3a94b1b098461p+1 +-0x1.769a4f8b2a9c2p+0 +0x1.1c8e477f7e433p+1 +0x1.b1653bf50af05p+2 +-0x1.ee4e1bfc7c218p+0 +0x1.2f58009738033p-1 +-0x1.cc051331033f9p+5 +0x1.721faa49f8361p+2 +-0x1.61800c0bbeac7p-1 +-0x1.3bc48240df3b9p+1 +-0x1.5b33d7dd2996ap-4 +-0x1.1b2f8a16f1623p+2 +-0x1.d07f75beccf45p-1 +0x1.07ebf843e0aebp+3 +0x1.bf9ef3ed41ffep-6 +0x1.4247a2cc8e40dp+2 +0x1.9b60221b148e9p+1 +-0x1.e9b8e8b27c2b7p-1 +0x1.7fde42fc4768cp-7 +0x1.f19c733ace44cp+1 +0x1.2c7901d062ecfp+1 +0x1.cabd233dbf1dp+0 +0x1.d5928740df63bp+2 +-0x1.0073b00419021p+1 +0x1.79680780f91b8p+2 +0x1.35c5003563dd6p+0 +-0x1.3afcd358fef2cp-1 +-0x1.56f52cd6afc3cp+1 +-0x1.0a57a87c0f4adp+1 +-0x1.464c231c9d24cp+2 +-0x1.522525c004d7p+3 +0x1.5a2fcc6646544p-5 +0x1.e44e743165bb5p+2 +-0x1.081fedd7070bep+2 +0x1.22771ff5a7c52p-1 +0x1.d89e8bac65c2cp+1 +0x1.b34ac3570a043p+2 +0x1.097ed3f070fccp+3 +0x1.a3969b5df9ec4p-1 +0x1.a7a3b80562e86p+2 +0x1.cab696f26f617p+0 +0x1.302978f6e1b68p+2 +-0x1.5a8c0d4472ee4p+1 +0x1.d17f5ac6b5482p+2 +0x1.60384a11208ddp+1 +-0x1.3172942a035bdp+7 +0x1.ce9c319a57417p+0 +-0x1.3cc7d2fc242f3p+1 +-0x1.2408109fdfeedp+1 +0x1.648669ce14bcbp+1 +0x1.b30cffa9d9aa8p+2 +-0x1.e1e4e07c84af7p-1 +0x1.2d2fb49ebe18bp+0 +-0x1.7793ffd06ecaep+3 +0x1.7e5db23d454f2p+3 +-0x1.b2660eb0c8efdp+1 +0x1.0bcee22b13869p+2 +0x1.5ce387f2ee129p+1 +0x1.1030fcb5e0bp-5 +-0x1.0187160bbef73p+2 +-0x1.5c80eac15cfa4p+1 +-0x1.b0860e8e60fe9p+2 +-0x1.4ff664f3d37c7p+3 +-0x1.25b456a5cd7c6p+2 +-0x1.46c959c2739f7p+2 +-0x1.2c5d5d3a564cdp+1 +0x1.52c1fc096d019p+1 +0x1.df8cf3325b853p+1 +0x1.3cbb8df9cd3f8p+1 +-0x1.3aaccf58643eap+3 +-0x1.cb163132be064p+0 +-0x1.0250f2e7899c4p+3 +0x1.4152eeb8bbaccp+7 +-0x1.aed7e44acbfd6p+0 +-0x1.e8c7c81caa2acp+1 +0x1.13ca1605635dbp+2 +0x1.e7c5e05bcf806p+1 +-0x1.950d79d75281dp+1 +0x1.0355c9b6dbd3ap+2 +-0x1.17c0e83f3e6a7p+2 +0x1.bedf1f08f1224p-1 +-0x1.f383e4ab7335p+2 +0x1.58804e97d05e4p+2 +0x1.0595d33f6ce6ep+1 +-0x1.6bfcb087fbb35p+2 +-0x1.9f3235a600764p-1 +-0x1.283b3523a3e52p+2 +0x1.17a3d9bd93bb4p+3 +-0x1.e9ac68da6de9dp+0 +-0x1.6430afdb058dp+5 +0x1.98ec62d02132fp+1 +0x1.f6dbff4163c39p+2 +0x1.6cdb73d24225fp+1 +-0x1.20fccd3ac6ec5p+2 +-0x1.449b58064263ap+3 +-0x1.addf84fdde121p+0 +0x1.9ac6c65aa9fcep+2 +0x1.0602b885e1246p+2 +0x1.5718a847318c4p+2 +-0x1.451756b00771dp+2 +-0x1.193cb178f3171p+0 +-0x1.a81cc2eb41c13p+2 +-0x1.6b1ea3a0e08bap+1 +-0x1.b8e9b99129669p+2 +-0x1.c7221fd132b89p+1 +-0x1.2f599d9f15ddcp+2 +0x1.41844a208b5a5p-2 +-0x1.53fd7610f5049p+1 +-0x1.1bf69c2c69186p+2 +-0x1.0f95e43a40589p-2 +0x1.ad2345a345283p-1 +0x1.7ed2c45120764p+2 +-0x1.05f6a8c8dcd4ep+1 +0x1.0063603170f46p+3 +-0x1.55ce3c72d43e4p+2 +0x1.5359e4aa16ee5p+1 +-0x1.c7068d468990bp+1 +-0x1.014011f7f5b6cp+1 +0x1.0fa84672df9cp+3 +0x1.66f6cb2bc8e55p+0 +-0x1.367fffd70dfe1p+2 +-0x1.5cffbf06f280fp+1 +-0x1.c5f12b3553bf2p+1 +-0x1.5e9668d0bfa11p+2 +0x1.08bfafa80001fp+1 +0x1.e6d02cfc766cep+1 +-0x1.503e8a60e958cp-3 +-0x1.a160a70ad1127p+1 +0x1.a6087ac4363c9p+1 +0x1.5a47acdfaa1bfp-1 +-0x1.b43d884826947p+2 +0x1.d75cd00aaf7b9p-1 +0x1.44e1964558c1ep+2 +-0x1.5eb5fe7312672p+1 +0x1.10fc3644854a4p+0 +-0x1.f5e5fa421739cp+1 +-0x1.ebc3aebc049fdp+1 +0x1.b2dc64877416ap+3 +-0x1.4cf4a1947b159p+2 +0x1.0059046df7ef9p-1 +-0x1.a7b4ba5588a25p+1 +0x1.8bade69b5dd09p+0 +0x1.7a4c040a95c98p-1 +0x1.2f476b9080b0cp+3 +0x1.fad6923b7a8b1p+2 +-0x1.79e4f7d80ea9p+1 +0x1.39c514eb28fb4p+1 +0x1.138e6f58d108dp+2 +0x1.72b33d3731a1dp+2 +0x1.8962d8716df1ap+1 +0x1.406b91f301775p+2 +-0x1.41f3d08baf319p+0 +-0x1.5bfcde94702a7p-3 +-0x1.1037cc34255bep+1 +-0x1.abef8aa71b609p+0 +-0x1.beed3fa1fc82ep+2 +-0x1.e6f3c5282a24ap-3 +-0x1.cfbc138172b16p+2 +-0x1.27e79c3511726p+1 +-0x1.1ae052609a4cap+1 +-0x1.0fca6a8a495fep+9 +-0x1.7b3e87df7543bp+2 +-0x1.2d16d30eb91d9p+1 +-0x1.cb6a91453493dp+0 +-0x1.219209a69482ep+7 +0x1.4a37cee48ca1cp-2 +-0x1.05b5570e8bd61p+1 +-0x1.ac8e2b20fca8dp+1 +-0x1.512e686b7d7abp+1 +-0x1.13d13149949fap+2 +-0x1.0a17b44eebc68p+0 +-0x1.4a6ae31ba4f1fp+0 +0x1.42b843150541p-1 +0x1.7c7ce19207941p+3 +0x1.32b04ef6b82dcp+3 +0x1.2fb6fcff92d09p+2 +0x1.54f186fd323b4p+6 +0x1.30231c14f8d3ap+0 +0x1.a9691cbfa9c4ap+1 +-0x1.11ae89b52b3abp+2 +-0x1.c2f9c593fcdf4p-1 +0x1.dffb95bc9bf54p-2 +0x1.08017d9365d11p+3 +0x1.4df32d524f1cbp+4 +0x1.940245870920dp+2 +0x1.c2656de34ece5p+3 +0x1.99175ce579029p+1 +-0x1.c3ad1835251b4p+0 +-0x1.1a67398eb3469p+3 +0x1.77ce96a6f2e4p+2 +-0x1.b5b30219bfe62p+0 +-0x1.f76fa8a29778ep+1 +0x1.fdef4e8b846dcp+0 +0x1.723710ea543ecp+1 +0x1.7a24eb1d7b147p-5 +-0x1.2d06d4a4a3eep-1 +-0x1.fb2d1f340b13ap-1 +0x1.bf813ddce866bp+2 +0x1.79a502f3207a6p-2 +-0x1.cd24653a74a04p-1 +-0x1.23497002a7d6bp+2 +-0x1.195bbd6acdfdp+1 +0x1.b6962e5af3912p+0 +-0x1.2a9ffb5f41ed9p+1 +-0x1.85a09e402080cp+1 +0x1.738d3fba9a609p+1 +0x1.045a56a5e8eefp+2 +-0x1.6059cdf1f959ep+1 +-0x1.5ae9879bf538fp+2 +0x1.460dac544b9abp+2 +0x1.0a17e19d0b18ap+0 +0x1.dffac37924b9ep+1 +-0x1.b85402bded63dp+0 +0x1.018b730ee6b11p+4 +0x1.4d73063245f05p-1 +-0x1.7af6f0d9834f9p+2 +0x1.431bf7d7ea9a7p-3 +0x1.962442d5ac988p+2 +-0x1.2ea6de69ba774p+3 +-0x1.732367af9036p+1 +-0x1.d0288cc2ddf33p+1 +-0x1.54d26f2fc05a3p+2 +0x1.7fb79f44bf04cp-3 +0x1.3c3b208d369cap-1 +0x1.fd2cdbf832c8dp+0 +0x1.64db017789017p+2 +-0x1.9ffb8eaf2e85dp+1 +-0x1.b456440547281p+1 +-0x1.7119cf9505357p+0 +0x1.df4135e017d1bp+2 +-0x1.6f61ae02c2f0bp+3 +0x1.75624830510d7p+1 +-0x1.11a2990f734f9p+0 +-0x1.c71a4acad690bp-1 +-0x1.2150537181d07p+1 +0x1.49dccb169af73p+3 +-0x1.1ab70daa32f57p+3 +-0x1.ed2d340e1d4b6p+0 +0x1.0ae86a69bfdc8p+1 +0x1.10326fa457a1cp+2 +0x1.b50f67556e583p+1 +-0x1.0cc3693ca0e57p+2 +0x1.a31b08750d231p+1 +-0x1.ea01c2d44eef1p-1 +-0x1.e9994e7a76beap+2 +-0x1.5a12811d3d62dp+1 +0x1.99b03c2150665p+0 +-0x1.75c29ab501a9cp+2 +-0x1.daf9cfa2167p-3 +-0x1.4f2cded6cc478p+2 +-0x1.5ad51c6feac69p+1 +-0x1.d975402d530a3p-1 +0x1.1b529da5cb4a1p+3 +0x1.e4cdc17dc4f37p+2 +0x1.41d348cfec73dp+3 +-0x1.6a97b93e9a78fp-1 +0x1.69df0d787b0a4p+2 +-0x1.20735939f145ep+1 +0x1.20127875074f5p+1 +0x1.aae503861e4fdp+1 +-0x1.ed5e337830462p+2 +-0x1.e0be58e098ba6p-1 +-0x1.e8d3fec2f9a35p+6 +0x1.7c6545e38f033p+3 +0x1.35fa11b802085p+2 +-0x1.b1b9dbbfba058p+2 +0x1.65c0aecd60c74p+2 +-0x1.d68421dd1ccadp+3 +0x1.752c556a26c03p+0 +-0x1.5c1230a91d09fp+2 +-0x1.6b262d40ec013p-4 +-0x1.2172a7e876dc6p+1 +0x1.1048ba3183bd5p+2 +0x1.9823fff33ab5ap+0 +0x1.5f51c0f0f8efbp+1 +0x1.6e4c65e8efce1p-1 +0x1.d8967442451c9p+1 +-0x1.20e0b9cb1d992p-3 +-0x1.684a0a7e3a27p+2 +-0x1.6c94b47b532d3p+4 +0x1.fbca49a028ap+1 +-0x1.2d169ba9f8236p+2 +0x1.a0fc8d98511bfp+2 +-0x1.13bc6fc1e2961p+1 +0x1.2dbea59c72354p+2 +0x1.3b74d7189266bp-1 +-0x1.4393181eb5b7dp+3 +-0x1.5877dbcfa12ap+2 +0x1.f7d1291c4eb0dp+6 +0x1.b5c593f4b3593p+1 +-0x1.230e7e9739d03p+8 +-0x1.5fe50cc8d6908p+2 +0x1.5fb057eba2f35p+1 +0x1.a76e87fb53279p+2 +0x1.53dfdf70d58e6p+3 +0x1.3551c0100a289p+1 +0x1.684c9218b970dp-1 +0x1.f4e2f1ff96b6dp+2 +-0x1.84c6d7badcfebp+1 +-0x1.0fa903872618fp+3 +0x1.300e009392cbep+3 +-0x1.8b818d6c129cp+2 +-0x1.17ee4a490715p+2 +0x1.83426abba2564p+2 +0x1.452b7f99a20fbp+2 +-0x1.b8ee11aff1d3cp+1 +0x1.4434265287f57p+1 +0x1.df807c2971e9ep+0 +-0x1.cb8376a350adep+2 +-0x1.e569467f019e8p+2 +-0x1.571e093cc6f4p+0 +0x1.a03d54c66fedfp+2 +-0x1.649ecc58a442fp+2 +0x1.c52b2261995f2p+1 +0x1.ab7ee70d091bbp+2 +-0x1.89db6b5152eadp-1 +0x1.87046704e2b26p-3 +-0x1.b852bc74c0714p-2 +-0x1.e0cb228e733e7p+1 +0x1.8dc1c3e1c98c7p+8 +-0x1.6724f4e5c7ed5p+1 +0x1.24946f08a03a8p+0 +-0x1.0857da7d15212p+0 +0x1.dd7317d4bf815p+1 +0x1.ca6221727f6dap-1 +-0x1.55fa3e414cae1p+2 +0x1.588bef435a702p+1 +0x1.30642201a0781p+3 +-0x1.ec0ad3914995fp+1 +-0x1.54924200374d4p+2 +-0x1.3ce69cb78d2f7p+2 +-0x1.382d426d2211bp+3 +-0x1.ab30013b5be53p+2 +0x1.57a8d7e135148p+0 +0x1.2036f04f35758p+1 +0x1.5ccab2df7ad38p+2 +0x1.f4ca7b6ecf281p+1 +0x1.eb34e12bc23fap+0 +-0x1.51d32cc581df8p-2 +-0x1.00742521d9124p+1 +-0x1.3b7da4fb99788p+2 +0x1.90fc0a81339ep-4 +0x1.14e9971ec3fp+3 +0x1.a2cbc75d5803ep+2 +-0x1.e7c8172f0678cp-1 +-0x1.2a9801a7dc6cp-4 +0x1.5b6513782a943p+2 +-0x1.069ecc75d107bp+3 +0x1.7ca7380cb2c6bp+3 +-0x1.8896b73f86c69p+1 +-0x1.e58079f085a12p+1 +-0x1.498c8ae458bf4p+1 +-0x1.bdb48b02b2372p+2 +-0x1.1241dd4cc34b1p+1 +0x1.0a37671642dd6p+2 +0x1.f36a7a4051727p+1 +-0x1.46691002e8c94p+1 +-0x1.3e438e2a39834p+2 +0x1.d5868551b125ep+6 +-0x1.04ea113509718p+3 +-0x1.349cb63765452p+7 +-0x1.ea2e054ef6d97p+2 +0x1.540e70aabaee2p-1 +-0x1.e3c48733ac708p+2 +-0x1.7f59cacd16af6p-1 +0x1.68fe09e7c7d09p+2 +0x1.10b5a3c7c00c1p+1 +0x1.7ea7448e6239cp+1 +-0x1.267621743bddbp+3 +-0x1.2390e49adae3cp+8 +-0x1.3101abd2339eap+2 +-0x1.7248afafd376cp+0 +-0x1.9824fb096c2a7p-1 +-0x1.4bd76c4bc75efp+2 +0x1.cb99d6130181cp-2 +-0x1.c026db0a25131p-5 +-0x1.5e0b04cce8626p+2 +-0x1.eaeab512964fep+1 +-0x1.6ba2a456ee6e5p-1 +0x1.20f5c81a5eb43p-3 +0x1.3eedc13975d99p+1 +-0x1.3069acb88a2afp+2 +-0x1.055766e6e99c1p+3 +0x1.f8aa3d544c165p+1 +-0x1.70aa1c9b9bc3bp+2 +-0x1.e8a2c79794b65p+2 +0x1.7edfd74606f1ep+2 +0x1.65b55f4a91677p+1 +-0x1.6c8ed28a827fap+1 +-0x1.6e2d95b1faa8ep+1 +-0x1.9dfe75fc5b3a4p-1 +0x1.5c76a9f0f9b9bp+1 diff --git a/sysdeps/x86_64/fpu/libmvec-tanf-inputs b/sysdeps/x86_64/fpu/libmvec-tanf-inputs new file mode 100644 index 0000000000..69e4b66409 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-tanf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-3.4e+38, 3.4e+38), mean = 0, standard deviation = 5 +-0x1.554044p+0 +-0x1.66c498p+1 +-0x1.ea688p+2 +-0x1.91417ep+1 +-0x1.8a5fa6p+0 +0x1.43456ap+2 +0x1.d5fd5ap+1 +0x1.5c4e8cp+3 +0x1.830c02p+1 +-0x1.3b3a6ap+1 +-0x1.d32ceep+2 +-0x1.8382dap+2 +0x1.63e878p+3 +-0x1.1f87dcp+0 +-0x1.0e3eap+2 +0x1.2fb7fp+3 +-0x1.76ab78p+0 +-0x1.0f485cp-5 +0x1.669f14p+1 +0x1.50885p+2 +-0x1.381b3ep+1 +-0x1.f522c2p+1 +-0x1.e8dedep-1 +0x1.2d0952p+2 +-0x1.15328cp+1 +0x1.c011b2p+2 +-0x1.4497bap+2 +-0x1.7155bp+0 +0x1.64693ap+2 +-0x1.50befcp+2 +0x1.f9b198p-1 +0x1.05dbacp+2 +0x1.f17b4cp-1 +-0x1.d2423cp+3 +0x1.cf35fep-1 +0x1.50d462p-2 +-0x1.ee88eep+1 +-0x1.bed2d6p+0 +-0x1.928906p+0 +0x1.d07ccap-2 +-0x1.8b1f18p-2 +0x1.2d7e82p+2 +-0x1.5c6226p+2 +0x1.f6057ep+0 +0x1.a61332p-4 +-0x1.a0e648p+3 +-0x1.de858ap-1 +0x1.db9722p+1 +-0x1.84e574p+2 +-0x1.99a474p+0 +0x1.1892eep+2 +-0x1.45195p+2 +0x1.d19ce4p+1 +-0x1.51cb4ap+3 +-0x1.f6acdap+1 +0x1.77327p+0 +-0x1.2ca064p+2 +0x1.09fcf8p+2 +0x1.abd376p+2 +0x1.75627p-2 +0x1.6feca4p+1 +-0x1.de3b4ep-4 +0x1.a638b6p+1 +-0x1.c84d5cp+2 +0x1.7a94e2p-1 +0x1.1f30dp+2 +0x1.3597f2p+0 +0x1.96560ep-1 +0x1.19f624p+0 +-0x1.115fe4p-2 +0x1.3bea9ap+2 +-0x1.3d6c02p+2 +0x1.33a842p-1 +0x1.4db5b2p+1 +-0x1.5f2064p+1 +0x1.7bb086p+0 +-0x1.51738ep+1 +-0x1.25699cp+9 +-0x1.3c172ap-1 +-0x1.0964f8p-1 +0x1.c92b8ap+8 +0x1.e0431ap-2 +0x1.c9e804p+1 +-0x1.683a8cp+2 +-0x1.faf0cap+0 +-0x1.9c9b86p+1 +-0x1.0d0c32p+1 +-0x1.4b2382p+0 +0x1.3c522ap+2 +0x1.2c9092p+2 +0x1.295ca4p+7 +0x1.4b33e6p+4 +-0x1.85f622p+1 +-0x1.231314p-1 +-0x1.f0ef94p+2 +0x1.1c945p+3 +0x1.b04b1cp-1 +-0x1.3242f2p-1 +0x1.743406p-3 +-0x1.19d4fap+2 +0x1.214e5ep+3 +-0x1.11ad08p+2 +-0x1.9356a6p+1 +0x1.64eab6p+2 +0x1.e1279cp+0 +0x1.01096ep-3 +0x1.01cc28p+2 +-0x1.6e7ca4p-2 +-0x1.0680acp+1 +-0x1.d5793cp+1 +0x1.d4c674p+0 +0x1.0a8f5p+3 +-0x1.3a54fap-3 +0x1.06405ap+2 +0x1.7eaa24p+1 +0x1.b7f32cp+1 +-0x1.979894p-2 +-0x1.c3f60ep+2 +-0x1.548e3cp+2 +-0x1.46b70ap+2 +0x1.a6929p+1 +-0x1.c99a94p+2 +0x1.310fap+3 +-0x1.ee6fep+1 +-0x1.0a39eep+2 +0x1.eb1886p+0 +0x1.d25278p+1 +-0x1.514ed6p+1 +-0x1.ff7cc6p+0 +-0x1.4ade2ap+0 +0x1.763f5cp+3 +0x1.4cf20ep+0 +0x1.710cb4p+3 +-0x1.71ea56p+2 +0x1.87e2bp+1 +0x1.acbdf8p+2 +-0x1.36b382p+3 +0x1.00be9ep+1 +-0x1.f37092p+1 +-0x1.38e306p+0 +-0x1.d89746p-6 +-0x1.61a146p+1 +0x1.4a98fp-2 +0x1.c5bf66p+1 +-0x1.bbb92cp+0 +0x1.12044ep+1 +0x1.0ffc1cp+1 +-0x1.e60f74p+6 +-0x1.0bbc88p+2 +-0x1.3d69aep+0 +0x1.211876p+1 +-0x1.36369ap+1 +0x1.6da0a2p+2 +-0x1.9dc37ep-2 +-0x1.3bf064p+2 +-0x1.26d8ccp+2 +-0x1.5f8584p-2 +0x1.4957cap+9 +-0x1.0b3cep+1 +0x1.520918p+1 +-0x1.96b004p+2 +-0x1.0525f4p+3 +0x1.4d408ap+1 +-0x1.8607eap+1 +-0x1.98ece4p+2 +0x1.e3692ap+2 +-0x1.16ca9ep+0 +0x1.ca4164p-8 +0x1.0bd934p+3 +0x1.cfb14ap-1 +0x1.bd98bep-1 +-0x1.c48bfp-1 +-0x1.a83238p-3 +0x1.00f4eap+1 +-0x1.7712c4p-3 +-0x1.2399f4p+1 +0x1.e1f148p-2 +-0x1.93da3ap-1 +-0x1.8c7952p+1 +-0x1.f5ab8ep-1 +-0x1.687decp+3 +-0x1.f2d0b2p+1 +0x1.e1e64cp+3 +-0x1.3ae286p+1 +-0x1.3767e4p+2 +-0x1.d30f88p-3 +-0x1.23746ap+2 +-0x1.a7f258p+1 +0x1.20e16ap+2 +-0x1.e7e782p+0 +-0x1.013956p+3 +0x1.dd038p+2 +0x1.13e3a6p+3 +-0x1.3bd47ep+2 +-0x1.f135dep+1 +-0x1.0530d8p+1 +0x1.9883b2p+2 +-0x1.0cd6b2p+1 +0x1.c3f888p+2 +0x1.57fc88p+0 +0x1.b9a55p-3 +-0x1.60a844p+3 +-0x1.bdd8d8p+1 +0x1.158358p-1 +0x1.8b0b8cp-2 +0x1.a37254p+1 +-0x1.ab1accp+3 +0x1.b1ae48p+0 +-0x1.515fb2p+1 +0x1.002122p+3 +-0x1.3860dap+2 +-0x1.793ebep+2 +0x1.6191bep+1 +0x1.e68bc2p-1 +-0x1.40de5p-3 +-0x1.579064p+2 +-0x1.18388ep+3 +-0x1.2bb4e8p+3 +0x1.8e3ef8p+1 +0x1.ab82d8p+2 +-0x1.1c32a8p+2 +-0x1.2adfd4p-2 +0x1.35f5e6p+2 +0x1.1904cp-1 +0x1.7d24c8p+2 +-0x1.0890a4p+2 +0x1.d81626p-4 +0x1.239762p+2 +-0x1.2a26dp+3 +0x1.4a786ep+2 +-0x1.8ce034p+0 +-0x1.55e6f4p+1 +0x1.7549bap+0 +-0x1.a60bbep+2 +0x1.c89fccp+2 +-0x1.4a7d8ep+1 +0x1.d0b10ap-1 +-0x1.978ea6p+2 +-0x1.fc6332p+1 +0x1.4028aap+1 +-0x1.498382p+2 +-0x1.06da9ep-1 +0x1.88bdccp-1 +0x1.0fe06p+0 +-0x1.eedfbcp+2 +0x1.1c67acp+0 +0x1.ca73cp+1 +-0x1.249b68p-2 +0x1.a934dap+1 +-0x1.c2d596p+1 +0x1.48e068p+1 +0x1.b0f2ecp+1 +-0x1.cd8d86p+5 +0x1.0c90dap+6 +0x1.bf5ac2p+1 +0x1.e26a4cp+1 +-0x1.2c60dp+1 +0x1.eb03f4p+0 +-0x1.f807fcp+8 +0x1.0e89b4p+1 +-0x1.f9c44cp-1 +0x1.6869eep+2 +-0x1.63710cp+2 +0x1.e43d64p+7 +0x1.a1048ep+0 +0x1.34ac28p+2 +0x1.b55042p+2 +-0x1.351426p+1 +0x1.93c822p+1 +-0x1.0f642p+1 +-0x1.0ed59ap+3 +0x1.5546f8p+1 +-0x1.f905a6p+1 +-0x1.038a7ap+4 +0x1.75661ep+0 +-0x1.1516f4p-5 +0x1.777794p+0 +-0x1.5471f4p+0 +0x1.0c3512p+3 +0x1.397abp+2 +0x1.f9378ep+0 +-0x1.d0fb06p+0 +0x1.60087cp+2 +0x1.38a86p+0 +-0x1.ca522cp+2 +0x1.467ef6p-1 +-0x1.7c2b1ap+0 +0x1.c41fc2p-2 +-0x1.09dad2p+2 +0x1.7bf16p+1 +0x1.ea04ap+1 +0x1.2e0138p+2 +-0x1.6ff0dcp+3 +-0x1.04da08p+0 +-0x1.0c76e8p+3 +-0x1.01b3bep+3 +0x1.6626bp-1 +0x1.15400cp+1 +-0x1.6519acp+2 +-0x1.035c52p+3 +0x1.df116cp+2 +0x1.046cc2p+1 +0x1.c7aa82p+1 +0x1.93911p+7 +0x1.6089dap+2 +0x1.a523aep+2 +-0x1.51ccaap+5 +0x1.bb84dp+2 +-0x1.bd1e02p-2 +-0x1.0526d6p+4 +0x1.44f21ep+7 +0x1.0755dap+3 +-0x1.0db292p+0 +-0x1.be86e4p+2 +-0x1.747e64p+1 +0x1.b88e2ap+3 +0x1.89131ep+3 +0x1.a421f2p+1 +0x1.1eb352p+1 +-0x1.90b5a2p+4 +-0x1.f9bf68p+2 +-0x1.9eee9ap+1 +-0x1.38eaaap+2 +-0x1.1da2e6p+2 +-0x1.e65858p+0 +-0x1.7ee8c8p+1 +-0x1.ddf13ap+1 +-0x1.1496f6p+1 +-0x1.2dfbbap+3 +-0x1.3ac91p+1 +0x1.26ba2ep+0 +-0x1.2d34e6p+2 +0x1.ecf06p+1 +0x1.cf5fep+0 +-0x1.3668bap+1 +-0x1.33e39ep+1 +-0x1.35904ap+2 +-0x1.9643cep+0 +-0x1.8d583cp+2 +-0x1.0cf152p+1 +-0x1.74ad54p+2 +0x1.658c3ap-6 +-0x1.d4ec7ap+6 +0x1.4dd8e8p+0 +0x1.b1ea88p+1 +-0x1.1c93d8p+0 +0x1.8c5a54p+1 +0x1.5dd0bcp+1 +-0x1.70048cp+1 +0x1.e36baap+2 +-0x1.819d0ep+0 +-0x1.88223ep-2 +0x1.14076ap+2 +-0x1.ce9e1cp+1 +0x1.91887ep+2 +0x1.4e3832p+1 +-0x1.0217f4p+1 +0x1.a226ep+2 +0x1.0e4d1p+0 +0x1.55cc28p-1 +-0x1.c953c8p+5 +0x1.d1d4bep+1 +0x1.0a1e64p+2 +-0x1.aa486cp+0 +0x1.dc8a96p-1 +0x1.14563p+1 +-0x1.0247f4p+2 +0x1.4551ap+1 +-0x1.615c8p+1 +0x1.6914p+3 +-0x1.eb6dd4p+2 +-0x1.161d88p-1 +0x1.4150e8p+0 +-0x1.dff24ap+0 +-0x1.5c439ep+0 +0x1.8e984ep+2 +0x1.95eedcp+0 +-0x1.29cd8p+0 +0x1.9de856p+0 +0x1.e63dc2p-1 +0x1.2069d4p+3 +0x1.61e48cp+2 +-0x1.03dedp+3 +-0x1.4cca3p+1 +-0x1.756bacp+2 +0x1.ef60c2p-1 +0x1.4cf1bep+2 +0x1.a3c78p-1 +-0x1.08f71p+6 +0x1.f0ea74p+2 +0x1.b064e6p+2 +0x1.527abp-3 +-0x1.ecf4e6p+2 +0x1.60b248p-2 +0x1.e34614p+1 +-0x1.2fea98p+1 +-0x1.4183bp+2 +-0x1.262a6cp+2 +0x1.619eb4p+0 +-0x1.c876bp+0 +-0x1.7b6b9cp+1 +-0x1.efffd6p+3 +0x1.04f2ccp+1 +0x1.ba2878p+2 +-0x1.af89aep+0 +-0x1.cbbe04p+1 +-0x1.8843fp+8 +0x1.aa903ap-4 +-0x1.d52f38p+1 +-0x1.57468cp+1 +0x1.999db2p+0 +0x1.1a2da4p-1 +-0x1.ab5f02p+1 +0x1.5b15eep+0 +-0x1.b6b9fap+2 +-0x1.1d156cp+3 +-0x1.667146p+1 +-0x1.bbf8a8p+2 +-0x1.8a0612p-1 +-0x1.22427ep+3 +-0x1.bdaf9cp+3 +-0x1.2c7c8ep+1 +0x1.8a1732p+2 +0x1.00b8cp+3 +0x1.e2a24p+0 +0x1.9c49cep-2 +-0x1.fa84bcp-1 +-0x1.2ebba6p+2 +0x1.389cc2p-2 +-0x1.5959bcp+0 +-0x1.8619fcp+1 +-0x1.4027p+2 +-0x1.293e58p+2 +0x1.12f188p+2 +0x1.7e6cb8p+1 +-0x1.6cc88p+2 +0x1.7c074ap+3 +-0x1.264f74p+2 +-0x1.a66304p+0 +-0x1.49484p+2 +-0x1.b41e92p+0 +-0x1.44d2fap+1 +0x1.4373f8p+2 +0x1.734116p+1 +-0x1.2f1b48p+4 +-0x1.b48606p+2 +0x1.d9d5e6p+2 +0x1.3f936cp+0 +0x1.51848cp+3 +-0x1.d44d1ap+1 +-0x1.67ff8ep-2 +0x1.01ed26p+1 +-0x1.d78c94p-2 +0x1.b1ca2cp-1 +0x1.6e9bc2p-1 +0x1.32ebaep+3 +0x1.3f1342p+0 +0x1.0f2f62p+3 +0x1.8167c6p-1 +0x1.7c9bbcp+2 +0x1.a0b3e8p+1 +-0x1.0efc2ep+0 +0x1.e65adap+4 +0x1.3fecbcp-1 +0x1.ab20ep-3 +-0x1.614d62p+1 +-0x1.0e7672p+2 +-0x1.3634f8p-2 +-0x1.e141ap+2 +-0x1.4f6b7cp+3 +0x1.226448p+0 +0x1.91baf2p-7 +-0x1.912ebp+1 +0x1.c32eaep+0 +-0x1.5d435p+2 +-0x1.d378f6p+1 +0x1.73abd2p-1 +0x1.fea144p+0 +0x1.75c21ep+2 +-0x1.5320cep-2 +-0x1.9e17a8p+1 +0x1.030dap+3 +-0x1.085b64p+2 +0x1.37451cp-1 +-0x1.2a724p+2 +0x1.dfbc8ap+1 +-0x1.1a5ad4p+2 +-0x1.ca2686p+2 +0x1.279432p-1 +-0x1.336802p+1 +0x1.3e7dfcp+2 +-0x1.688728p+2 +0x1.0d4c86p+3 +-0x1.834a7ap-1 +0x1.57eac8p-1 +0x1.d146bep+0 +-0x1.9e9a2ap+1 +-0x1.0ed8bp+2 +-0x1.020e5p+3 +0x1.2158b2p+3 +-0x1.36e7fp+3 +-0x1.2f7828p-3 +0x1.e0aee6p+1 +0x1.49ecdcp+2 +0x1.7ef7c8p+1 +-0x1.03cadcp-1 +0x1.b94636p+3 +-0x1.d609dep+2 +0x1.73d2dp+0 +0x1.8a16eap+1 +0x1.1b6168p+2 +0x1.c7d954p+3 +-0x1.c3ebap+0 +-0x1.84fc96p-1 +0x1.58356ap+1 +0x1.2cb938p+0 +0x1.9e60e2p+2 +0x1.721634p+1 +-0x1.0720a4p+5 +-0x1.0b3812p+0 +0x1.026eccp+3 +0x1.8505c2p+2 +-0x1.bcffeap+1 +0x1.dff668p+1 +-0x1.281276p+0 +0x1.42b592p-2 +0x1.4f72cep+1 +0x1.5f2732p-2 +-0x1.c5be0ep+3 +0x1.599cb4p+1 +-0x1.e27702p+1 +0x1.53061ep+1 +-0x1.1c5facp+2 +-0x1.bfc39p+1 +-0x1.c17652p+2 +-0x1.d5b898p+0 +0x1.974b74p+2 +0x1.702404p+2 +0x1.889888p+1 +-0x1.d6102cp+0 +0x1.b972dep+1 +-0x1.9480eap+2 +0x1.a4de44p+1 +-0x1.76f02ep+6 +0x1.4da0a8p+1 +-0x1.a5fc2p+0 +0x1.689b62p+6 +0x1.2c659ap+3 +0x1.f01408p-4 +0x1.33dfc2p+2 +0x1.a7dd8cp+0 +0x1.a64cdp-1 +-0x1.a4e88ep+1 +0x1.4cb964p+2 +-0x1.fffcb8p+1 +-0x1.ba441p+2 +-0x1.88c8aep+1 +0x1.7b29dep+0 +-0x1.10dd32p+1 +0x1.6a9338p+1 +0x1.4c63b8p+1 +-0x1.0eadf8p+2 +-0x1.16f6ap+3 +-0x1.9165e8p-2 +0x1.7efd0ep+2 +-0x1.024688p+0 +-0x1.70a54cp+1 +-0x1.fbedap+0 +0x1.6f45ep+1 +0x1.3cd4eap+3 +0x1.10ffdep+0 +0x1.034412p+1 +0x1.196f5ap+2 +-0x1.1ac384p+2 +0x1.46f392p+2 +0x1.491abap+1 +-0x1.77e346p+2 +-0x1.d9c2b6p+2 +0x1.27e722p+2 +-0x1.f27a86p-2 +-0x1.3a7882p+0 +0x1.6a07d4p+0 +-0x1.abe852p+3 +-0x1.a6b25ap-2 +-0x1.8bc21cp+0 +0x1.4d938cp+2 +0x1.1b881p+0 +0x1.0e7962p+3 +0x1.28225cp+2 +0x1.dc8c44p+0 +-0x1.9987c2p+2 +0x1.3587acp+1 +0x1.a7936ap+1 +0x1.5a78fcp+1 +-0x1.13c1dap+2 +0x1.cadcc2p+0 +-0x1.269c56p+3 +0x1.87c346p+3 +-0x1.153842p+1 +-0x1.1728dep+0 +-0x1.ac92cp+0 +0x1.ac3868p-1 +0x1.02c284p-2 +0x1.3b0374p+1 +-0x1.a9316ep+2 +0x1.859edep+0 +0x1.3aacfp-3 +-0x1.db54a2p-3 +0x1.55321ap+0 +-0x1.e5f4c8p+0 +0x1.be8488p+1 +-0x1.973a76p+2 +0x1.f04e2ep+0 +-0x1.dafe28p+2 +-0x1.4326dp+2 +-0x1.700892p-4 +-0x1.cae5e8p+2 +-0x1.11684p+3 +-0x1.483408p+2 +0x1.fa5948p+2 +0x1.a97d12p+1 +0x1.05d068p-1 +-0x1.96e626p-1 +0x1.afe516p+1 +-0x1.824b1ap+2 +-0x1.2bb7c8p+3 +-0x1.248116p+2 +-0x1.693f36p+0 +0x1.0cac58p+1 +0x1.3d3ad4p-1 +0x1.090e56p+2 +-0x1.f4ca46p-9 +-0x1.c652b2p+1 +-0x1.a9dccp+1 +-0x1.a8429ep+2 +0x1.505cf2p+8 +0x1.637dd8p-1 +-0x1.640f8ap+0 +-0x1.2600a6p+1 +-0x1.10029cp+2 +-0x1.87df28p+0 +0x1.6862e4p+2 +-0x1.022dbcp+3 +0x1.e86158p+0 +-0x1.893d6ep+2 +-0x1.7407bap+2 +-0x1.088af2p-2 +-0x1.14f952p+1 +-0x1.5dee46p-1 +0x1.0ab578p+2 +-0x1.04abb2p+2 +0x1.8c4c54p+2 +0x1.77e35ap+2 +0x1.8c0d98p+0 +-0x1.36c3fap+2 +0x1.eb2c9cp+2 +0x1.f7dd86p-2 +0x1.76fbbcp+3 +0x1.f2770ap+1 +0x1.8031fep+2 +-0x1.2d707p+2 +-0x1.33599cp+3 +0x1.a0e182p+1 +-0x1.2ca7a8p+1 +-0x1.bb2064p+1 +0x1.2dfa1cp+7 +-0x1.9099bap+2 +-0x1.18bb0ep+1 +-0x1.deb776p-2 +-0x1.923f2ap+0 +-0x1.110984p+2 +-0x1.137dbcp+2 +-0x1.06c964p+1 +-0x1.26f27ep+3 +0x1.06b20ep-1 +-0x1.879b42p-2 +-0x1.4e139p+1 +0x1.116f56p+2 +0x1.c9ef8ep+1 +-0x1.104fdp+2 +0x1.68e65ap-1 +-0x1.08ca06p+3 +-0x1.8e97e4p-1 +0x1.461718p+2 +-0x1.e73a9p-1 +0x1.fe995p+2 +-0x1.f0f3f2p-2 +-0x1.daade4p+0 +0x1.4c2498p+1 +0x1.be9128p+1 +0x1.0816a4p+2 +0x1.d71d0cp+6 +-0x1.b98836p-2 +-0x1.a315dcp-1 +-0x1.1d4e1ap+3 +-0x1.baf634p+2 +-0x1.13fd1cp+2 +-0x1.235088p+3 +0x1.3d39d6p+3 +0x1.a18336p+1 +0x1.dae77p+1 +-0x1.6b596p+2 +0x1.8fed3ap+1 +0x1.0c18acp+0 +-0x1.4a25dep+1 +-0x1.0d6f84p-1 +-0x1.e1bc64p+0 +-0x1.297afp+3 +-0x1.54c648p+2 +0x1.7b6c38p+0 +-0x1.466f42p-1 +-0x1.5a71a2p+0 +0x1.106af4p+2 +-0x1.cfca6ep+0 +0x1.5c1b0cp+0 +-0x1.c8ebfcp+2 +0x1.823b7p+1 +-0x1.e8c5fap+2 +0x1.7c8a4ap+8 +-0x1.a1b558p+1 +0x1.bc28ecp-1 +0x1.bad1acp+2 +0x1.a50cbep+1 +0x1.98e74cp+0 +0x1.41c598p-1 +-0x1.c69abap+1 +-0x1.6a33ccp+1 +0x1.ba88f4p-4 +-0x1.881dfep+1 +0x1.dec5f2p+0 +-0x1.5c2468p+2 +-0x1.1e3d6p+3 +0x1.5bc37p+1 +0x1.8d56acp-3 +-0x1.669b82p-3 +-0x1.c2c00ep+1 +0x1.2990a6p+0 +-0x1.11c11ap+0 +0x1.092bd6p+1 +-0x1.80b65ep+1 +0x1.080bf4p+2 +0x1.4cc6a4p+2 +0x1.485048p+0 +0x1.c6f4a4p+0 +-0x1.e6106ep+2 +-0x1.c82d6cp-1 +0x1.29f60cp+3 +0x1.8284acp+2 +0x1.20a584p+1 +-0x1.17f5f4p+2 +-0x1.b9e8c6p+1 +-0x1.5dc2bcp+0 +0x1.c1991ep+2 +0x1.88c7aap+1 +-0x1.222384p-2 +0x1.848d92p+0 +0x1.2def7p-1 +-0x1.8e3e38p+2 +0x1.98e14ap+2 +-0x1.5d6ddp+2 +-0x1.119a04p+2 +-0x1.07342cp+2 +-0x1.220f8p-2 +0x1.c9c57ep+3 +0x1.2d854ep+3 +0x1.55ac82p+0 +0x1.04682ap+3 +-0x1.701fdcp+1 +-0x1.5feb3ap+0 +0x1.4e1922p+1 +-0x1.f3d9fep+0 +-0x1.b7d7d2p+2 +-0x1.f944cap-4 +0x1.f04a46p+0 +0x1.ee4388p+2 +0x1.3e4186p+3 +0x1.69213ap-2 +0x1.580708p+3 +-0x1.327344p+2 +-0x1.20837ap+1 +-0x1.65114cp+3 +-0x1.56cc1cp+2 +-0x1.48f11p+1 +0x1.d5b722p-1 +-0x1.881e6cp+1 +-0x1.5a8eeap+3 +0x1.f14b8ap+2 +0x1.1daafcp+1 +-0x1.48ab84p-1 +-0x1.3af074p-2 +-0x1.76bfbcp+0 +-0x1.22723ep+6 +-0x1.6fcfe6p+2 +-0x1.226cdap+2 +0x1.176cf2p-2 +0x1.225926p-1 +-0x1.27603ap+3 +-0x1.1d69fep+2 +-0x1.aae9d2p+3 +-0x1.1b2a94p+2 +-0x1.5ee566p+2 +0x1.ce3f02p+1 +-0x1.be2dd8p+1 +0x1.6ce296p+1 +-0x1.0d3b1cp+0 +0x1.7d2258p+2 +-0x1.3c2b5p-3 +-0x1.6de922p-1 +-0x1.03f0bep+1 +0x1.0d6602p+3 +-0x1.93ebe2p+0 +0x1.5ae0ap+2 +-0x1.2a719cp+2 +-0x1.742fb4p-3 +0x1.b79bep+1 +-0x1.6b602ep+1 +0x1.bfe638p-5 +0x1.2cec8p+2 +0x1.245c18p+1 +-0x1.abda4cp-2 +0x1.394398p+0 +-0x1.dfa6b2p+2 +0x1.d16fc4p-1 +0x1.f4d1b4p+2 +-0x1.d10818p-1 +0x1.8743ap+2 +0x1.83018ep+0 +-0x1.59ea56p+3 +-0x1.23aep+2 +0x1.3c3afcp+1 +0x1.38f42ep-1 +0x1.5edb4ep+2 +0x1.6c045ep+3 +-0x1.0a8ca2p+2 +0x1.6ccf2ep+2 +0x1.47f832p+1 +-0x1.598494p+3 +0x1.4969ccp+2 +-0x1.00e09ep-1 +0x1.3f1f8ap+1 +0x1.b41e1p+2 +0x1.a9e6p+0 +0x1.d3be7p+1 +-0x1.ac8c82p+2 +0x1.31c6c2p+3 +-0x1.a4af7cp+1 +-0x1.3a1b7cp+0 +-0x1.1943b8p+3 +-0x1.97ff66p+3 +-0x1.fb155ep+0 +-0x1.4fe764p+2 +0x1.a5ddbap+0 +-0x1.179d22p+2 +-0x1.96de8ap+2 +-0x1.85baf4p+1 +-0x1.4037dep+2 +-0x1.49b318p+1 +0x1.7111c2p+1 +0x1.873126p+2 +-0x1.e241cap+1 +-0x1.2686a2p-5 +0x1.62dad6p+2 +0x1.6d244p+8 +0x1.6bd41ep+1 +0x1.6c2412p+0 +0x1.60386ep+0 +-0x1.b615f4p+3 +-0x1.07f34ap+1 +-0x1.3cc78ap+0 +-0x1.a68b48p+0 +-0x1.d508p+0 +0x1.59338cp+1 +0x1.a531c6p+1 +0x1.83edp+2 +-0x1.81843ap-5 +0x1.0f1f02p+1 +0x1.4fa07ep+0 +0x1.a8f4fap+1 +-0x1.148378p+3 +-0x1.5939aap-2 +0x1.6d0186p+0 +0x1.f57c3ap-2 +-0x1.b137f8p+0 +0x1.1471dp+2 +-0x1.6acc7ep+3 +-0x1.71a6dap-1 +-0x1.098f4cp-1 +0x1.424554p+1 +-0x1.f8f5c6p-4 +0x1.dfc156p+1 +0x1.005278p+3 +0x1.443d7cp+2 +0x1.0e906p+0 +0x1.4391fcp+3 +0x1.c66d48p+1 +0x1.7b8806p+2 +-0x1.2715f8p+2 +-0x1.0248a6p+3 +-0x1.2b0af2p-2 +-0x1.361b6p+4 +-0x1.1f0ecap-1 +-0x1.8f0e6cp+2 +0x1.78054ep+2 +-0x1.cb4aecp-3 +0x1.3470a4p+0 +-0x1.eba482p+1 +0x1.40f52ep+2 +-0x1.c6027ap-1 +-0x1.4b3a52p+2 +0x1.705e1ep+2 +0x1.b7327ep+0 +0x1.ad41c8p+2 +0x1.71462cp+2 +0x1.76b06cp+2 +0x1.469082p+2 +0x1.319d1ap-1 +-0x1.d7a52ep+0 +0x1.ba3972p+2 +-0x1.8d0ac8p+2 +0x1.0fe622p+3 +0x1.10653p-1 +0x1.1c6a12p+1 +-0x1.5dbfap+3 +0x1.b64602p+0 +-0x1.da6ae8p+2 +-0x1.15a62ap+1 +0x1.3ecea6p+3 +-0x1.96a186p-2 +-0x1.684e52p-3 +0x1.4e3bcp+1 +0x1.4cc43cp+0 +0x1.1221f6p-2 +0x1.2ee5a4p+1 +-0x1.3d92b2p-1 +0x1.01bb68p+2 +-0x1.1bfdcep+0 +0x1.1f2a98p+1 +-0x1.ba500cp+0 +-0x1.5965p+2 +-0x1.30a814p+2 +-0x1.04fb1cp+0 +-0x1.89cbc4p+2 +-0x1.ad07d6p-2 +0x1.fd1d76p-3 +-0x1.606392p+2 +-0x1.b9159ep+0 +-0x1.d694eep+0 +-0x1.3f24d2p-2 +-0x1.1955e6p+0 +0x1.72b22p+0 +-0x1.314e0ap+1 +-0x1.2df5bcp+1 +-0x1.557ebap+1 +-0x1.81e6acp+2 +0x1.a7ad72p+1 +0x1.560314p+2 +-0x1.c45b86p-5 +0x1.67e682p+2 +0x1.ba7e92p+0 +-0x1.f357eep+2 +-0x1.09b9ecp-2 +0x1.fc3e2cp+0 +-0x1.9e26e2p-1 +-0x1.7ea176p-4 +-0x1.ca6f98p+2 +0x1.2d26b8p+3 +-0x1.568b2ap+1 +0x1.a5108ep+1 +0x1.4babdap+2 +0x1.26dcd2p+3 +-0x1.225dfp+2 +0x1.79fe5cp+1 +-0x1.18769ap+2 +0x1.5c3b44p+0 +0x1.4569e2p+1 +0x1.a00024p+0 +-0x1.65237ap-2 +-0x1.d684d8p+2 +0x1.ff510ep+1 +-0x1.57c8ecp+1 +0x1.a34be2p+1 +-0x1.23468cp+2 +-0x1.002a5cp+1 +0x1.2f4088p+2 +0x1.0793e2p+3 +-0x1.f7308ap+0 +0x1.79bda6p+0 +0x1.a57d84p+1 +0x1.42ab7cp+1 +-0x1.007244p+3 +-0x1.33c07ep+0 +0x1.466cd6p+1 +-0x1.88cf5ap+2 +0x1.b669b4p+2 +0x1.6ad942p+2 +-0x1.6634f6p+3 +-0x1.3f494ap+2 +-0x1.42b22ap+3 +-0x1.891e2ap+5 +0x1.0d3b5ep+5 +-0x1.2ddc6p+3 +-0x1.400ff2p+0 +-0x1.5c5be2p+2 +0x1.b4e34p+1 +-0x1.ae39aep+2 +-0x1.bf7fe2p+0 +-0x1.499c06p+2 +-0x1.ed1814p+2 +-0x1.83bbf6p+2 +0x1.b0b4ecp+1 +-0x1.0c5dc6p+1 +0x1.94ebdp-2 +-0x1.56a564p+0 +-0x1.c32326p+0 +-0x1.990592p+1 +0x1.41653p+5 +0x1.242772p+0 +-0x1.22117cp+2 +-0x1.22286ep+2 +-0x1.500318p+7 +-0x1.6cca3p+3 +0x1.a3c1ep+4 +0x1.e900f6p+2 +0x1.15985ap+2 +0x1.ed0a62p+2 +-0x1.182e12p-3 +-0x1.3f3adcp+1 +0x1.df57c4p+2 +-0x1.654ebcp+1 +-0x1.0a0cfep+2 +-0x1.e095d4p+2 +-0x1.6619cap+3 +0x1.6c287ap+1 +-0x1.1d4e2ap-1 +-0x1.23f488p+1 +0x1.449d94p+1 +0x1.d8c65ap+0 +0x1.6d39a4p+2 +0x1.12bc22p+1 +-0x1.a365aep+1 +-0x1.51a914p+2 +-0x1.18cf58p+3 +-0x1.3e9782p+2 +0x1.06ac9cp+3 +0x1.23579ap+0 +0x1.6a31cp+0 +0x1.6c31b6p+1 +-0x1.622ee8p+1 +-0x1.aee36p+0 +0x1.29c7cep+3 +-0x1.2b0f9ep+2 +0x1.d4512p-1 +-0x1.0fa586p+1 +-0x1.26b83ap+1 +-0x1.24458ap+2 +0x1.b4ee92p-2 +0x1.46399ep+4 +-0x1.6ba6d4p+2 +0x1.d72138p+0 +-0x1.ff555cp+1 +0x1.4a6b34p+2 +-0x1.844adcp+1 +-0x1.6e5522p+2 +-0x1.504894p+0 +-0x1.d1cb54p+4 +0x1.0de762p+0 +-0x1.73e0c6p+1 +0x1.0ada62p+3 +0x1.029eeap-1 +0x1.b70bfap+1 +0x1.9e8c9p+2 +-0x1.c901eep-2 +0x1.067288p+2 +0x1.689ab8p-1 +-0x1.3f0426p+2 +0x1.6103d2p+1 +0x1.2668eep+2 +0x1.cb16fep+2 +-0x1.4f7b5p+0 +0x1.27147ep+3 +-0x1.ce6bd4p+1 +-0x1.7ca52p+1 +0x1.cd328p+0 +-0x1.c551eep+2 +0x1.262cfep+3 +0x1.36fe36p+2 +-0x1.9245fp+3 +-0x1.d3b524p+2 +0x1.25e588p+2 +0x1.375422p+3 +-0x1.370ddep+2 +-0x1.a8a70ep-1 +0x1.054ecap+3 +-0x1.bea88ep+5 +0x1.dc8e8ap+1 +-0x1.314ea8p+2 +-0x1.0346c6p+2 +-0x1.b2e3fap+2 +-0x1.02b6eep+0 +-0x1.a0eee4p+2 +-0x1.9b993p+4 +-0x1.2054bp+1 +-0x1.73dd78p+2 +-0x1.cfa868p+1 +0x1.8262fep-1 +-0x1.d8f9bcp+1 +0x1.a6df2ap+1 +-0x1.382936p+0 +0x1.677874p+1 +0x1.6a5aeep+0 +0x1.df3122p+1 +-0x1.43f098p+1 +0x1.8d294cp+0 +0x1.1cef38p+0 +0x1.b5a4f2p-5 +-0x1.26f37ap+2 +0x1.f4bda4p+1 +0x1.f6bf98p+1 +-0x1.3e3cf2p-1 +0x1.811562p+2 +-0x1.7e8ea6p+1 +0x1.1a6462p+0 +0x1.26174cp-3 +0x1.25bd68p+2 +0x1.d51926p+2 +-0x1.064c9cp+3 +-0x1.1cef4ep+1 +-0x1.5e8f68p+0 +-0x1.2e4274p+2 +0x1.12953ep+3 +-0x1.293e6ep+0 +-0x1.dddcdcp+0 +-0x1.1e47acp+1 +-0x1.590b92p+0 +-0x1.13607p+3 +-0x1.459cf8p-2 +-0x1.67bcacp+2 +0x1.2fa67cp+3 +0x1.5251bp+2 +0x1.1c3d2ap+2 +0x1.b8412cp+2 +-0x1.07bfe4p+1 +0x1.7330f2p+3 +0x1.56f234p+2 +0x1.f4906ep+0 +0x1.27b50ep+3 +-0x1.0ed48ep+3 +0x1.953d88p+2 +0x1.36463ep+3 +-0x1.98395p+0 +0x1.99ac8ap+5 +-0x1.c7b1aap+2 +0x1.afde1ap+2 +0x1.285fa4p+5 +-0x1.da21eap-1 +-0x1.99ff8cp+2 +0x1.83677p+5 +0x1.6f8326p+1 +0x1.c28a3cp+2 +0x1.cd4eccp+2 +0x1.ab6252p+2 +-0x1.94ff94p+0 +-0x1.c426fap+1 +0x1.187886p+3 +0x1.32b96ep+2 +0x1.2c3ef8p+3 +-0x1.1b885ap+3 +0x1.dc4b4cp+3 +-0x1.a546ap-1 +0x1.561f6ap+5 +0x1.47dfb4p+3 +0x1.52142ep+2 +0x1.3e03e4p+2 +-0x1.bc3694p+0 +-0x1.cb91aap+2 +0x1.557e4ap-1 +0x1.e5e4acp+2 +0x1.e38442p+3 +0x1.7c8c92p+1 +0x1.264a74p+1 +0x1.0e7a96p+1 +0x1.ca7e18p-2 +0x1.a98f84p+0 +-0x1.77949ep-2 +-0x1.2797ap+3 +-0x1.647f7cp+7 +-0x1.f9dc9cp+0 +0x1.ea7c82p+0 +0x1.40597cp+2 +0x1.55a84cp-1 +-0x1.95a45ap+4 +-0x1.29d5d8p+2 +0x1.29a712p+1 +-0x1.3d0e56p+5 +0x1.0a7cc2p+3 +-0x1.00043p+2 +0x1.0e5242p+3 +0x1.22c02ap+2 +0x1.02294cp+4 +-0x1.954bbep+1 +-0x1.35335p+2 +0x1.86f558p+2 +-0x1.cd535cp+2 +-0x1.499e08p+2 +-0x1.1c9accp+2 +-0x1.8d575p+0 +0x1.70cb7cp+2 +-0x1.4a40c8p+0 +-0x1.77e468p-2 +0x1.c6c8d6p+2 +-0x1.5dd1ccp+2 +-0x1.3dae82p-1 +0x1.8d87bp+6 +0x1.913b6cp+0 +-0x1.1fcf9p+2 +-0x1.d77a76p+0 +-0x1.95cdb8p+3 +-0x1.8631c8p+2 +-0x1.923fccp+3 +0x1.b0b8acp+5 +0x1.2810a2p+2 +-0x1.8ca9dcp+1 +-0x1.2a2d22p+0 +0x1.2bda5ep+2 +0x1.6709bep-1 +-0x1.4ffbdcp+1 +-0x1.68234ep+1 +0x1.2bb1aep+2 +0x1.87b4d4p-1 +-0x1.4e6808p+3 +-0x1.d0707cp+2 +-0x1.52a596p+2 +0x1.91014p+1 +-0x1.8b90dp+2 +-0x1.d1d9dap-1 +0x1.271898p+2 +0x1.37d448p+5 +0x1.5cece2p+3 +0x1.f31334p+0 +0x1.aa524ap+2 +-0x1.0eeb1ep-3 +-0x1.47a6cap+2 +-0x1.d9a428p-1 +-0x1.5a923cp-2 +-0x1.344002p+0 +-0x1.05b38cp+1 +0x1.c0a7aep+0 +-0x1.2c1372p+1 +0x1.27fc16p-2 +-0x1.882adp-1 +-0x1.047944p+3 +0x1.7030ap+2 +0x1.f1bbacp+1 +-0x1.c5d9f4p+1 +0x1.f1393ep+1 +0x1.e9586p+0 +-0x1.5d47bcp+1 +-0x1.6f0e94p+2 +-0x1.e26658p+1 +0x1.adb37p+4 +0x1.565c42p-1 +0x1.f2799cp-1 +0x1.7c8448p+1 +-0x1.46caap+3 +0x1.e31d5p+0 +-0x1.59ccc2p+2 +-0x1.020e5ep+4 +-0x1.d3666p+2 +0x1.6dbaap+1 +0x1.3ba1c8p+1 +0x1.bd103p-1 +-0x1.7aeae4p+2 +-0x1.438f9ep+2 +-0x1.012e92p+2 +0x1.c27e66p+2 +0x1.38cbe6p+2 +-0x1.22c3c6p+2 +0x1.1ba9dap+3 +0x1.15258p+0 +-0x1.2075fep+2 +-0x1.1c7efcp+2 +0x1.fe8c94p+0 +-0x1.0819d8p+2 +-0x1.038a9ep+2 +-0x1.8087aep+2 +-0x1.918742p+0 +0x1.20fd56p+2 +0x1.fcd2c4p+2 +0x1.ed699p+1 +-0x1.776f36p+0 +0x1.4853fcp+2 +-0x1.3f79eap+8 +-0x1.3ee6a4p+3 +-0x1.b82a3ap+1 +-0x1.ad2d04p-2 +-0x1.21f4eep+1 +0x1.55bc72p+0 +-0x1.3d0ec6p+1 +-0x1.475886p+4 +-0x1.41079p+0 +0x1.dfafcep+2 +0x1.b0ff4ep+2 +-0x1.600b8ap+2 +-0x1.9b5b2ap-3 +0x1.c6e682p+1 +0x1.ad9356p+0 +-0x1.578464p-1 +0x1.ec64b6p+0 +-0x1.abbf82p+0 +-0x1.24f844p+2 +-0x1.a2dfaap+0 +0x1.8d24fcp+1 +-0x1.2788ecp+1 +0x1.ff16dap+1 +0x1.5a288ap+0 +0x1.5a7bcep+0 +-0x1.32e7a8p+0 +0x1.1a1152p+2 +0x1.3b2e54p+3 +0x1.94efeap+1 +0x1.86803p+2 +-0x1.53c15p+1 +-0x1.03be28p+0 +0x1.3137bap+1 +-0x1.83a418p+3 +-0x1.efa4c2p+2 +0x1.639458p-3 +0x1.b1dbc2p+1 +0x1.b369bap+1 +0x1.fc462cp-3 +0x1.6d513ap+3 +0x1.7e7a1cp+2 +0x1.786266p+0 +-0x1.6ae7c4p+1 +-0x1.8133fap+2 +-0x1.cdfa66p+0 +0x1.741e0ap+2 +-0x1.21fa96p+3 +0x1.74c922p+2 +0x1.38973ap-1 +0x1.1d7148p+2 +0x1.e4aa1ap-1 +-0x1.37fd9p+1 +-0x1.53d1fap+3 +-0x1.8255b6p+2 +-0x1.11deb4p+1 +0x1.08886ep+1 +0x1.4b964ap+1 +-0x1.2b6f68p+4 +-0x1.e0b364p+2 +-0x1.12ed96p+1 +-0x1.8b89aep+2 +0x1.314ccap+2 +0x1.87436p-1 +-0x1.d4a948p-2 +-0x1.99b516p+0 +-0x1.ee1d48p+0 +-0x1.9d35b8p+1 +-0x1.56237cp-1 +-0x1.03d15cp+2 +0x1.4ffcdap+1 +0x1.c139e6p+7 +0x1.5133aep+0 +0x1.009284p+3 +0x1.07c4dep+3 +-0x1.95ea5cp+2 +0x1.386d7ep+2 +-0x1.5a5e8cp+2 +-0x1.af989ep+2 +-0x1.27991ap+1 +-0x1.15d284p+2 +0x1.1b44bp-2 +0x1.5f6782p+2 +0x1.0bf612p+2 +-0x1.9f38dp+1 +-0x1.43a496p+2 +0x1.68aac4p+0 +0x1.ef3afep+2 +0x1.54dfecp-2 +-0x1.4fd2c8p+8 +-0x1.71148ap+1 +0x1.9f1c72p+0 +-0x1.4434d2p-3 +-0x1.afc14ep+0 +-0x1.455daep+2 +0x1.acf13p+1 +0x1.4e80ep+3 +0x1.19b8cep+1 +-0x1.5ee4aep+1 +0x1.0a8d7p+0 +0x1.520dc4p+2 +-0x1.11866ap+0 +-0x1.1c7a82p+1 +-0x1.1f30a4p-1 +-0x1.99d2c8p+2 +-0x1.2b82dp+2 +-0x1.93c2d4p+2 +0x1.39fedp+3 +0x1.2695f6p+2 +0x1.600d2p+1 +-0x1.0b8dd6p+1 +-0x1.f425a8p+1 +0x1.4b5c2ap+1 +-0x1.0ec418p-1 +-0x1.ca3d06p+1 +0x1.c09396p+2 +-0x1.b627eep+2 +-0x1.096a8ap-4 +-0x1.0d4f3ap+3 +0x1.944d06p+4 +0x1.0425a6p+3 +-0x1.d61f68p-2 +0x1.6d023ap+2 +0x1.933c82p+1 +0x1.13a334p+3 +0x1.c5ea92p+1 +-0x1.e8ea42p+1 +0x1.0d42dap+3 +0x1.595fccp+3 +0x1.c194e4p+2 +-0x1.9ad366p+2 +0x1.007d38p+0 +-0x1.57e1f6p+2 +0x1.32db2ep+1 +-0x1.31379cp+5 +-0x1.041f5p+2 +0x1.b9c91cp+1 +0x1.7a867ap+0 +0x1.eb27f2p-3 +-0x1.03be52p+1 +-0x1.52af4ep+2 +-0x1.bd7b62p-1 +-0x1.25432p+2 +0x1.138a66p+1 +0x1.9a91e8p+0 +-0x1.33ded4p+3 +-0x1.a8ebp+1 +-0x1.49fa94p+2 +-0x1.259a3cp+1 +-0x1.95b3dep+3 +0x1.4b9f34p+1 +0x1.7dbfcep+2 +-0x1.21b4a2p+2 +0x1.824c44p-1 +0x1.f116dap+0 +0x1.ebabcep+0 +0x1.925a4p+0 +-0x1.14fc32p+2 +0x1.63a512p+2 +0x1.15ba7ap+3 +0x1.8466c4p+1 +0x1.84977cp+0 +-0x1.eb36ccp+2 +0x1.440ad2p+2 +0x1.cd429ep+1 +-0x1.8c4bc6p-4 +0x1.8190bap+2 +-0x1.2df06p+2 +0x1.35df16p+2 +0x1.07242cp+0 +-0x1.cd67e2p-3 +-0x1.5961eap+2 +-0x1.e2a746p+0 +-0x1.3cbfa6p-1 +-0x1.f059p+3 +-0x1.c45c98p+0 +0x1.9a1ef6p+1 +-0x1.90db6ap+2 +0x1.d1d42p+2 +-0x1.44ac86p+2 +0x1.c9a136p-2 +0x1.cc3b86p+1 +-0x1.69813ap+8 +-0x1.0594b2p+2 +-0x1.c498c6p+1 +0x1.179f4cp+0 +0x1.4090a2p-2 +-0x1.2b3ffp+2 +0x1.13ee06p+3 +-0x1.3137d8p+3 +-0x1.313c56p+2 +0x1.741f16p+0 +0x1.493feap-2 +0x1.4fb2bcp-2 +0x1.ed6a8cp+1 +-0x1.cc15a8p+0 +0x1.5633cp+1 +-0x1.3e134ap+2 +0x1.12b1p+0 +0x1.1aeb62p+2 +0x1.79663ap+1 +-0x1.baf47ep+0 +-0x1.a05bd2p+3 +-0x1.ca1722p+2 +0x1.3f96dp+0 +-0x1.cffb6p+2 +0x1.1bc7d6p+3 +-0x1.c7134ep-4 +0x1.c78bcp+1 +-0x1.e94cd8p+2 +0x1.79a71p+1 +-0x1.ecf6d4p-3 +-0x1.585a02p-2 +0x1.4a3dfp+1 +0x1.ab5184p+1 +0x1.1c1edep+2 +-0x1.dd99f6p+0 +0x1.1838dcp+2 +0x1.529d82p+5 +0x1.24b63ap+0 +0x1.f32fd2p+1 +0x1.031bep+3 +0x1.71f082p+2 +-0x1.62af5ap+1 +-0x1.1715a6p-1 +0x1.075466p+2 +0x1.947886p+1 +-0x1.90575ep+2 +-0x1.830934p+2 +-0x1.812b56p+1 +0x1.3c80d2p+3 +-0x1.8bf8bcp+2 +-0x1.f37a32p+6 +0x1.d61d32p+0 +0x1.499c3ep+3 +-0x1.882b24p+1 +0x1.dda67ep+2 +-0x1.09808ap+2 +0x1.398e7ep+2 +-0x1.3063dp+2 +-0x1.7ec9aep+0 +0x1.f0440ap+1 +-0x1.050448p+2 +0x1.a4ff52p-2 +-0x1.3964fcp+2 +0x1.86705p+1 +0x1.cfe84ap+1 +-0x1.ed956p+1 +-0x1.2556ccp-1 +0x1.849d8ap-1 +-0x1.798cb6p+2 +0x1.71a556p-3 +-0x1.8cc8fap+1 +-0x1.566348p+1 +-0x1.2b2d4ap+3 +-0x1.c73028p+0 +-0x1.d263e4p+0 +0x1.ddf0d6p+1 +-0x1.0509cap+2 +-0x1.bbe614p+1 +-0x1.9bd226p-1 +-0x1.b94f48p-3 +0x1.be3582p+0 +0x1.358d4ap+1 +0x1.8aec96p+3 +0x1.61fc6ap-3 +-0x1.5088e4p+0 +0x1.41de9cp+3 +-0x1.68affp+2 +-0x1.b6ca62p+2 +-0x1.76bba6p-2 +0x1.d7ea36p+1 +0x1.374c54p+2 +-0x1.052b5p-3 +0x1.87ee88p+0 +0x1.0c46dep+8 +0x1.5d37d4p+4 +0x1.e66a06p+6 +0x1.0edf12p+0 +0x1.0c8d9ep+3 +0x1.3205c2p+2 +-0x1.5d295ep+2 +0x1.7f14a6p-2 +0x1.7b26cp+3 +-0x1.da9892p+2 +0x1.8e5d32p+3 +-0x1.708eeap+5 +0x1.2ee582p+2 +-0x1.73eb0cp+1 +-0x1.833046p+1 +-0x1.adacd4p-5 +-0x1.6efc68p+2 +0x1.c8b3acp-2 +-0x1.2568fcp-1 +0x1.02d87cp+3 +-0x1.14be92p+2 +0x1.0375cep+1 +-0x1.18485ep+0 +0x1.5bc09ep+1 +0x1.bcfd58p+0 +0x1.8af1p-1 +-0x1.6d3372p+0 +0x1.10b19cp+2 +0x1.836b72p+1 +0x1.0a4ap+3 +0x1.416fcep-1 +0x1.94f14ap+2 +-0x1.70f9d2p-1 +0x1.20ad8p+3 +-0x1.71307ap+2 +0x1.a8b348p+1 +-0x1.89c036p+1 +-0x1.0a2432p+2 +-0x1.189fc6p+3 +0x1.72edfp+2 +0x1.2b4d68p+0 +0x1.40cc64p+2 +-0x1.4abfacp+2 +0x1.dfa63cp+4 +0x1.64f682p-1 +0x1.1112b4p+3 +-0x1.a48174p+3 +-0x1.0e144cp+1 +0x1.5a481cp+1 +0x1.809fbcp+2 +0x1.6b44f2p+1 +-0x1.59e9dcp+2 +0x1.48551ap+1 +0x1.10b7a2p+1 +0x1.cdb338p+2 +0x1.c0250ap+1 +0x1.377068p+0 +0x1.297928p+3 +-0x1.f873a8p+2 +-0x1.157e68p-1 +0x1.800df6p+2 +0x1.466abap-2 +0x1.ef8806p+2 +0x1.f2e254p+0 +-0x1.437774p+0 +-0x1.5cd896p-1 +-0x1.05a0c4p+3 +-0x1.1245dp+1 +-0x1.ccdd5ap-1 +-0x1.272c82p+1 +-0x1.055fb8p-1 +-0x1.466ac2p+3 +0x1.a6c91ep+2 +0x1.3066d4p+1 +-0x1.b0a3bep+1 +-0x1.342afap+2 +-0x1.d77bc8p-1 +0x1.9aa08ep+1 +-0x1.2ea198p+1 +-0x1.2f36d8p+2 +0x1.7a5364p+1 +0x1.4926c4p+2 +-0x1.03e6ap-2 +0x1.238aa8p+0 +0x1.048b0ap+3 +-0x1.d585ap+1 +-0x1.007e5p+2 +0x1.96a63p+1 +-0x1.76ed2cp-2 +-0x1.0cc9aap+1 +0x1.091108p+9 +0x1.822d08p+0 +0x1.c45b0ep+0 +0x1.790f0ep+3 +0x1.0a21bep+2 +-0x1.964204p-2 +-0x1.bfabaep+1 +0x1.210256p+2 +0x1.2fc9dcp+0 +-0x1.147176p+2 +0x1.175a2cp+1 +-0x1.36598p+0 +-0x1.e31eacp+0 +-0x1.e1965ep+1 +0x1.f7475cp+0 +-0x1.79fb7cp-1 +-0x1.4de636p+2 +0x1.ede512p+0 +0x1.9212f4p+1 +-0x1.19d44p+2 +0x1.6cff28p+2 +-0x1.d7d25ap+1 +-0x1.29d01ap+0 +0x1.7de19p+0 +-0x1.607632p-1 +0x1.a2f31ep+2 +0x1.03ad6cp+0 +-0x1.db1d98p+2 +0x1.376e9ep+2 +-0x1.85673p+1 +-0x1.73156cp+2 +0x1.0d7cfp+2 +-0x1.1541ap+2 +-0x1.6c5066p+2 +0x1.69ca3ap+1 +-0x1.906358p-1 +-0x1.25ba9ep+2 +-0x1.c4e9ccp-1 +-0x1.325732p+0 +0x1.2f069ap+1 +-0x1.a64d56p+2 +0x1.369fd8p+0 +0x1.49c102p+0 +0x1.cf366p+1 +-0x1.3a1d8p+7 +0x1.5cb90ep+1 +-0x1.c30378p+1 +0x1.1686cap+3 +-0x1.3cd15p+8 +-0x1.4562f8p+2 +0x1.3f4fa8p+4 +-0x1.46e7p+2 +-0x1.a5850ep-4 +0x1.5003d8p-1 +0x1.69dc2p+2 +0x1.b76418p+0 +-0x1.9a6b28p+2 +-0x1.1c06d6p-1 +0x1.4df8bcp+0 +0x1.74fad6p+1 +0x1.1ea5d4p+0 +-0x1.c23aeep+1 +-0x1.2287aap+3 +0x1.f460ep+1 +-0x1.2815a2p+2 +0x1.11c622p+2 +-0x1.00a04cp+2 +0x1.86c3bp+2 +-0x1.0c876ep+2 +0x1.f3c1aep+0 +0x1.0bb5acp+2 +-0x1.4f4a74p+0 +0x1.07af9p+1 +-0x1.46bf62p+1 +0x1.c90ac6p-1 +0x1.7ed408p+9 +-0x1.3f7d86p+3 +0x1.1758aep+3 +-0x1.ea024ap-2 +-0x1.1f4fa2p+1 +0x1.4c538cp+1 +0x1.01fbb2p+8 +0x1.2ab1b4p-3 +-0x1.caaed2p+2 +-0x1.24519p+1 +0x1.69ed34p+2 +0x1.47e6d8p+0 +-0x1.9eb432p+2 +-0x1.a44f2cp+1 +-0x1.2ac158p+2 +-0x1.db1cbp+2 +0x1.16e9e2p+3 +0x1.05cdbcp+3 +0x1.b725d6p+1 +-0x1.e13268p+1 +0x1.17152p+3 +0x1.65a19p+2 +0x1.eadad8p+1 +0x1.ac8a56p+1 +0x1.7a2ebcp+1 +0x1.db349cp+0 +-0x1.1a776cp+1 +0x1.32d488p+8 +0x1.554a4ap+2 +-0x1.ddb5bp+1 +-0x1.dd0ba6p-1 +0x1.a48bfap-1 +0x1.d96366p-1 +0x1.12adecp-1 +0x1.da0a22p+2 +0x1.156a9ap+2 +0x1.1b2606p+3 +0x1.5ffe4ep+5 +-0x1.30556cp+8 +0x1.e3066p+2 +0x1.ea15a2p+1 +-0x1.6d3b58p+0 +-0x1.9e00f8p-1 +-0x1.8ff59ep+2 +0x1.2f98ccp+2 +-0x1.45677ep-4 +0x1.922748p+2 +-0x1.7be336p+1 +0x1.9ddebp+1 +-0x1.43207p+0 +0x1.e20cc6p+2 +0x1.b9b864p-1 +-0x1.eae822p+0 +0x1.0c96acp+2 +0x1.35b72ap+0 +0x1.cac6e8p+1 +0x1.0af7d6p+4 +0x1.2c2306p+1 +-0x1.cf690cp+2 +0x1.d31112p-2 +-0x1.98fceap+3 +0x1.23b704p+1 +0x1.0c4848p+1 +-0x1.58603ap+2 +-0x1.67125cp-1 +-0x1.73f744p+0 +0x1.247b9p+0 +-0x1.c8c83p+0 +0x1.4d8684p-1 +-0x1.31e5bcp+0 +-0x1.6a5f5p+1 +0x1.328ceep+5 +-0x1.3f2738p-5 +-0x1.f8d386p+0 +-0x1.c21006p+3 +0x1.6a6e6ep+1 +-0x1.478d08p+3 +-0x1.67edbcp+2 +0x1.b51484p+3 +-0x1.50031p+3 +0x1.575dfcp+2 +-0x1.6a8cf8p+0 +-0x1.b6b866p+0 +0x1.ce4124p+1 +0x1.62112ep+2 +0x1.28ce0ap+0 +0x1.213016p+3 +0x1.43304cp+1 +-0x1.51d478p-1 +0x1.d503fap+2 +0x1.273cp+0 +-0x1.3025fp+2 +-0x1.02687ep+0 +0x1.661352p-2 +-0x1.509f28p+2 +0x1.d23a86p+0 +-0x1.242bd6p+2 +-0x1.04304ep-1 +-0x1.4501ap-1 +0x1.beed84p+0 +-0x1.53f34cp-4 +-0x1.208fcep+2 +-0x1.70704p+2 +0x1.d1395p+1 +0x1.a43102p+1 +0x1.c29d96p+0 +-0x1.e33ab4p-1 +-0x1.366598p+2 +-0x1.f82376p+0 +0x1.03858p+1 +0x1.5451bap+1 +0x1.6e523ap+3 +0x1.1f537p+2 +-0x1.c929acp+5 +-0x1.8854f6p+0 +-0x1.c3be88p+1 +-0x1.02f8e6p+3 +0x1.21c30ep-1 +-0x1.39260ap+2 +0x1.305d36p+1 +-0x1.d26daep+7 +-0x1.1e22bep+8 +-0x1.26a326p+3 +0x1.1b64dcp+3 +0x1.7bcd7p+1 +-0x1.a82ce6p+0 +0x1.67b038p+2 +0x1.5e4284p-3 +0x1.cfcf84p+0 +-0x1.2b4018p+2 +-0x1.c6fd36p-1 +-0x1.33103p+6 +0x1.8de14cp+2 +0x1.7f98bap+0 +0x1.0f7248p+2 +-0x1.2d128p+3 +0x1.846442p+2 +0x1.6d9612p+2 +0x1.961168p-1 +-0x1.83976ap+2 +-0x1.2f42aap+0 +0x1.5d6bc8p+2 +0x1.9996b8p+2 +-0x1.a8bafcp+1 +0x1.3285bep+2 +0x1.110c02p+1 +-0x1.2dad96p+3 +0x1.46808ep+2 +0x1.ed810ap+5 +0x1.096d3cp+3 +-0x1.cd342p+1 +0x1.a67102p+1 +0x1.28e3ecp-1 +0x1.a19fbcp-1 +0x1.09be5ep+1 +-0x1.5430bep+1 +0x1.75d5ep-2 +-0x1.5bfc9ep+0 +0x1.be2ff6p+0 +0x1.d4b286p+2 +-0x1.6b469p-3 +-0x1.025496p+0 +0x1.bfc7f6p+0 +0x1.e3112ep-1 +0x1.acab6cp+1 +-0x1.9afc7cp-9 +0x1.77b4bcp+0 +0x1.36b19ap+0 +-0x1.23e872p+2 +0x1.db2ddap+1 +-0x1.092de2p+2 +-0x1.f092f8p+0 +0x1.7bea3p+1 +0x1.7165ep+1 +-0x1.3c64f4p+0 +0x1.b6ff56p+0 +-0x1.2314eap+2 +-0x1.142ffap+0 +-0x1.150e78p+6 +-0x1.c92e0cp-1 +0x1.06c51ep+3 +0x1.a01596p+2 +-0x1.3129a8p+2 +0x1.044c62p+1 +0x1.42a4c6p+2 +-0x1.499054p+0 +0x1.c2508ep+3 +0x1.b0988cp+0 +0x1.2ddbfep-2 +-0x1.b7f9bep+0 +0x1.115e34p+0 +0x1.dc6c6p-2 +-0x1.ba1ae2p+1 +0x1.3693ep-6 +0x1.6dbe5cp+2 +-0x1.eb491p+2 +-0x1.0b08ccp+3 +-0x1.2bd6cep-1 +0x1.f7cafp-1 +0x1.1b7644p+3 +0x1.101dbp+1 +0x1.adad94p-2 +0x1.b77d9ap+0 +-0x1.428fcep+3 +0x1.e4e7acp+1 +0x1.0fbacap+2 +-0x1.55888cp+1 +-0x1.2431bep+2 +0x1.d6a132p+0 +0x1.fce084p+2 +0x1.53a56p+1 +-0x1.fce03cp-1 +0x1.3253a4p-1 +0x1.7f6e5ap+2 +-0x1.21983p+2 +0x1.61f442p+2 +-0x1.89313ap+2 +-0x1.f7f476p+1 +-0x1.28607cp+0 +-0x1.cab3dep+0 +0x1.d85946p-1 +-0x1.a78304p-2 +0x1.4a2168p+0 +-0x1.05e1a2p+3 +0x1.5149cap+3 +0x1.ed04bp-3 +-0x1.83e4bcp-1 +0x1.3b799p+1 +0x1.79c1dep+2 +0x1.d499p+2 +0x1.dfb088p+2 +-0x1.67b054p+2 +-0x1.4da0bcp+2 +-0x1.777ebcp+1 +-0x1.1f81a6p+2 +0x1.35464ep+3 +-0x1.fb45b2p+2 +-0x1.1e1694p+3 +-0x1.00f97cp+7 +0x1.47031ap+2 +-0x1.2047d8p+2 +0x1.c98b8ap+1 +-0x1.a0609ap+2 +0x1.3d6f78p+1 +0x1.15abcep+1 +0x1.f2be5ap-2 +-0x1.34b93ap+2 +-0x1.1c9beap+3 +-0x1.838fccp+2 +-0x1.e3dc54p+0 +-0x1.25c04ap-3 +0x1.279e6ap+9 +0x1.2a086cp+2 +-0x1.b06946p-4 +0x1.9e206p-1 +0x1.8017aap+2 +-0x1.743d14p+1 +-0x1.16cd56p+2 +0x1.32478p+1 +-0x1.20e082p+1 +0x1.0db4bcp+7 +-0x1.2d1532p+2 +0x1.3249f8p-2 +0x1.f6cb8ep-2 +-0x1.9aa5f4p+2 +0x1.5a683p+3 +0x1.23a038p+2 +0x1.44687ap+3 +0x1.412768p-1 +-0x1.4d085ap+1 +0x1.43040cp+1 +0x1.abc682p+1 +-0x1.126bbep+0 +0x1.66f808p-1 +0x1.344f6cp-1 +-0x1.05a2dp-2 +-0x1.484532p+2 +-0x1.464facp+1 +0x1.f430e4p+2 +0x1.5dc382p+1 +-0x1.f5dbc8p+0 +0x1.5b7678p+3 +0x1.134ee2p+3 +0x1.d99bd6p+0 +-0x1.1b9c7cp-1 +-0x1.33198cp+1 +0x1.7925c2p+3 +0x1.f5dd76p+2 +0x1.403f86p+2 +-0x1.183054p+0 +-0x1.beed56p+2 +-0x1.2b5ac6p+2 +0x1.04012cp+8 +-0x1.2da19cp+3 +-0x1.8937b2p+1 +-0x1.41e506p+0 +-0x1.05150cp+2 +-0x1.20300cp+1 +-0x1.9ae39p+0 +-0x1.164122p+0 +-0x1.1abfcep+3 +0x1.17beaep+0 +0x1.34bf78p+7 +-0x1.07b6e6p+0 +-0x1.362c6ap+2 +-0x1.9c368ap+1 +0x1.ffd7f2p-1 +0x1.2dbb44p+1 +0x1.f61562p+1 +-0x1.7207b4p+2 +0x1.f65354p+4 +-0x1.75abd8p+2 +-0x1.a88d62p+2 +0x1.649264p+8 +0x1.8a88dcp-1 +0x1.a88402p+0 +0x1.648534p+3 +-0x1.1cebc8p-1 +0x1.c5ed6cp+1 +0x1.df70c2p-1 +-0x1.c1aeaep+1 +0x1.148e2p+0 +0x1.caf8ecp+0 +-0x1.a20238p+1 +-0x1.e7f84p-2 +-0x1.096f62p+2 +-0x1.b1df2cp+2 +-0x1.947ccep+1 +0x1.77ee0ep-3 +-0x1.7065b2p+2 +0x1.5f966p+0 +-0x1.26f578p+2 +0x1.c6c8aep+1 +0x1.78b90cp+2 +0x1.a1b4dap+0 +-0x1.015c78p+2 +0x1.be6a76p+2 +0x1.7ed894p+0 +-0x1.e0003cp+0 +-0x1.5c16p+2 +-0x1.59a6b6p+3 +0x1.aa2862p+2 +-0x1.7aab92p+0 +0x1.fdb388p+0 +-0x1.5938dcp+2 +-0x1.d7c554p-2 +0x1.e210ap-4 +0x1.a986b6p+3 +-0x1.fff26p+0 +0x1.6f7934p+1 +0x1.3da11ap+2 +-0x1.c4003ep+2 +0x1.a76fe8p+0 +0x1.abe2dap+1 +-0x1.0d534ap+1 +0x1.ff702ep-3 +-0x1.35002ep+1 +-0x1.63849ep+1 +0x1.94361ep-2 +0x1.d47f3ap+3 +-0x1.e4fb66p+0 +0x1.8fe30ap+4 +0x1.443872p+1 +0x1.0ca332p-1 +-0x1.578abap+2 +-0x1.10d79ep+1 +0x1.c6099cp-4 +0x1.5d0f66p+3 +-0x1.383502p+7 +0x1.c1ccc8p+2 +0x1.985ffep-2 +-0x1.fb532ap-3 +-0x1.3cfff8p+0 +-0x1.22f3bap+2 +0x1.def44ap+2 +0x1.905e4ep+1 +-0x1.255562p+2 +-0x1.c97c64p+2 +-0x1.33da44p+2 +-0x1.c2696cp+1 +-0x1.3eeae4p-1 +-0x1.fbeee2p-2 +-0x1.d3bab8p-1 +0x1.2706c8p+3 +-0x1.9a7892p-4 +0x1.4d302ep+2 +-0x1.69c614p+3 +-0x1.b3bd6ep-4 +0x1.e2c9fcp+2 +0x1.5581ecp+7 +-0x1.7b25d2p+2 +-0x1.1af3fp+3 +0x1.9dc892p+1 +0x1.00be26p+3 +-0x1.fe4082p+4 +-0x1.c53c98p+2 +-0x1.115f24p+3 +0x1.44a8aep+1 +-0x1.4133b8p+2 +-0x1.734b48p+2 +0x1.68030ep-3 +0x1.43814cp+2 +-0x1.192b66p+1 +0x1.ba8a38p+3 +-0x1.8643bap+3 +0x1.4759eep+2 +0x1.11192ep+2 +0x1.b4b47p+1 +-0x1.62c904p+2 +0x1.668dc6p+2 +-0x1.e4bd94p+2 +0x1.1293bep+6 +0x1.e87f5cp+2 +0x1.539a96p+2 +0x1.3f961ep+3 +-0x1.fa37d8p+0 +0x1.2e5e8ap+1 +-0x1.a193acp+1 +0x1.a2c608p+2 +0x1.55e442p+2 +0x1.642d82p+1 +0x1.197db6p+2 +0x1.e05ad8p+1 +0x1.1cedaep+3 +0x1.524d74p+2 +0x1.cce582p+1 +-0x1.e0c796p+2 +0x1.49097ap+3 +-0x1.4118e2p+3 +0x1.5e7e8ap+1 +-0x1.735a14p+1 +0x1.7f4442p+0 +0x1.06d9cep-1 +-0x1.12fb44p+2 +0x1.21a162p+1 +-0x1.a17074p+1 +0x1.8cf59ap+1 +0x1.460e8cp-1 +0x1.5e4f72p+2 +0x1.57de2ep+1 +-0x1.1ececcp+3 +-0x1.cf4a34p+1 +-0x1.8c667ap-5 +-0x1.4667aap+2 +-0x1.2a79dep+0 +0x1.0b9bb6p+3 +0x1.21695ap+0 +0x1.749b2ap+2 +-0x1.bd6eeap+0 +0x1.8d7a88p+2 +0x1.0c00eep+1 +-0x1.9d0734p+1 +0x1.50bf5ap+2 +-0x1.35a99ap+3 +0x1.ccdf4ap-2 +-0x1.6151dap+2 +-0x1.26cd04p+0 +-0x1.28b71ep+1 +-0x1.9393ap-3 +-0x1.2e7f6p+2 +-0x1.ac1ac4p+2 +0x1.975dfcp+1 +-0x1.9b4d02p+2 +-0x1.5371a8p+2 +0x1.c669d4p-2 +-0x1.f9b042p+0 +0x1.69a4bep+3 +0x1.f67ed6p+1 +-0x1.066ee8p+5 +-0x1.0f81eap+2 +0x1.01395ap+1 +0x1.a3bc3ep+1 +0x1.2e771ap+3 +0x1.6dc22ap+2 +-0x1.838cf2p+2 +0x1.c4cbdap+2 +0x1.4a1426p+3 +-0x1.3419fap+0 +0x1.bb7d9p-1 +-0x1.47957ap+1 +0x1.ff64d4p+1 +0x1.b88598p+2 +-0x1.48c8d8p-1 +-0x1.abb53ep-2 +-0x1.29bb1ep+2 +-0x1.e4ab3ap+0 +0x1.b6f364p-4 +0x1.294b34p+0 +0x1.4f6c84p+2 +-0x1.34e372p+4 +0x1.a02bep-1 +0x1.ff457cp+1 +0x1.478036p-3 +-0x1.36c592p-1 +-0x1.5e0c9cp+0 +-0x1.f36e2p+2 +-0x1.5bdc7p+2 +-0x1.fdf866p+0 +-0x1.a3df9cp+1 +-0x1.acaa14p+1 +0x1.54e382p-1 +0x1.eb91dp+3 +0x1.360a7cp+2 +-0x1.5e33c8p-1 +-0x1.8caeaep-1 +-0x1.c8afbcp+2 +-0x1.029e5ap+1 +0x1.6ed93cp+2 +0x1.bbce24p+4 +-0x1.32c3fap+3 +-0x1.999f84p+2 +-0x1.7dfaa6p+2 +0x1.44cabp+2 +0x1.1806cep+3 +-0x1.f395eep-2 +0x1.829c3ep+2 +0x1.40995p+1 +0x1.96de1ap+1 +0x1.5e8f06p+1 +0x1.58d52p+0 +-0x1.443d26p+1 +0x1.9f9ae6p+2 +-0x1.077a5cp+1 +0x1.6fd23cp+1 +0x1.5abffap+3 +-0x1.2c9a5cp+3 +0x1.477ea6p+3 +0x1.c62db8p+8 +-0x1.a9507p+1 +0x1.cc772ap+1 +-0x1.1019dcp+6 +0x1.22b626p+1 +0x1.c0df28p+1 +-0x1.addfe8p+2 +-0x1.d7a962p+0 +-0x1.5c8bdp+2 +-0x1.617b48p+2 +-0x1.3138d8p+2 +0x1.14eb1cp+0 +0x1.df6012p+1 +0x1.8cab9ap+2 +-0x1.1f39dcp+1 +-0x1.86965ep+2 +-0x1.9d623ap-1 +0x1.1c69d4p+7 +0x1.8d4b26p+1 +-0x1.3fc54ep+0 +0x1.993982p+0 +0x1.2f6b4cp+1 +-0x1.3c2eacp+1 +-0x1.f8df46p+0 +0x1.942df8p+1 +-0x1.a350d8p+0 +0x1.026f8ep+3 +-0x1.38c31p-1 +0x1.9ff17ep-1 +0x1.8d821ap+2 +-0x1.13806ep+1 +0x1.5d501ep-1 +-0x1.a0e5e4p+3 +-0x1.b5cb36p-1 +0x1.87b81p+2 +-0x1.283f44p+2 +0x1.2186b6p+2 +0x1.fdc92p+2 +0x1.34f186p+2 +0x1.456e7ep+3 +-0x1.ebce02p-2 +0x1.d903cp-2 +0x1.7ec3d8p+2 +0x1.220cf8p+1 +-0x1.37845ap+2 +-0x1.7f5f84p+1 +0x1.1cfd48p-3 +-0x1.41c844p-3 +-0x1.746656p+0 +-0x1.4d6d6ep+1 +-0x1.e4bdaap+2 +-0x1.30a6c8p+3 +-0x1.2c0ecep+5 +-0x1.4dde62p-2 +-0x1.7b6e9ep+3 +-0x1.0fa974p+2 +0x1.f40de6p+2 +-0x1.371cf4p+1 +0x1.e14282p+0 +0x1.77c7b6p-1 +-0x1.362016p+3 +-0x1.03e246p+3 +0x1.024be6p+3 +-0x1.897d54p+2 +-0x1.c3c31ep+2 +-0x1.108dc6p-3 +-0x1.c67c6p+1 +-0x1.a46ecp-1 +-0x1.d2f5a4p+7 +-0x1.7b5cd2p+2 +0x1.0e3964p-3 +0x1.912846p+1 +0x1.6b31f6p+2 +-0x1.557638p-2 +-0x1.16f75cp+2 +-0x1.1c278p+3 +0x1.076556p+1 +0x1.f5ece8p-1 +0x1.7845d8p+0 +0x1.61547p+0 +0x1.525f58p+2 +-0x1.06365cp+3 +0x1.19dc58p+1 +0x1.1359bep+7 +-0x1.5cde1ep+1 +-0x1.86b80ep+3 +0x1.e149e4p+2 +0x1.fcbef6p+1 +0x1.5eb00cp-1 +-0x1.fc7c72p-6 +-0x1.76febp+1 +-0x1.493eaap+1 +-0x1.9dbb2cp+1 +0x1.6153e4p+2 +-0x1.e741bcp+2 +0x1.ec95a8p+1 +-0x1.1790d8p+2 +0x1.0e054p+1 +-0x1.9bb546p+5 +-0x1.62cc3ep+5 +0x1.cab28ap-2 +-0x1.1692dcp+3 +0x1.a6f02p+1 +-0x1.ea675cp+2 +0x1.24337ep+3 +0x1.28d432p+1 +0x1.77992cp+1 +0x1.f7fe6cp+2 +-0x1.aad3bp+1 +-0x1.598b86p+2 +-0x1.72c82ap+1 +-0x1.055598p+3 +0x1.4e3218p+2 +0x1.2687bp+1 +-0x1.8c21a8p+6 +-0x1.a41f22p+0 +-0x1.ce9a8ep+2 +0x1.099acep+3 +-0x1.707b76p-2 +-0x1.8bd1f6p+3 +0x1.b44a9ap+2 +-0x1.b12ea8p+2 +0x1.e5d612p+0 +0x1.24b0d2p+3 +0x1.2988bp+3 +0x1.e924b4p-3 +0x1.1aa15cp+0 +-0x1.a975dap+4 +-0x1.8d336ep+2 +-0x1.48a8f2p+1 +0x1.a08cccp-3 +-0x1.2a568ap+1 +0x1.dde114p+0 +-0x1.254f4cp+2 +-0x1.7823c4p+2 +-0x1.92160cp+1 +0x1.963644p-7 +0x1.a5b9fap+1 +-0x1.08d57cp+2 +-0x1.69d3aap+3 +-0x1.03ea5ep+2 +0x1.93639ep-7 +0x1.0c53cap+1 +-0x1.0435fap+3 +-0x1.bd64acp+1 +0x1.ddfec8p+0 +-0x1.dc7d62p+1 +-0x1.b557a8p+2 +0x1.18c1bcp-1 +0x1.41996cp-2 +-0x1.800094p+2 +-0x1.95bc4ap+2 +-0x1.cd665p+2 +-0x1.d2b67p-8 +0x1.617284p-6 +-0x1.275764p+0 +0x1.c941e4p+1 +-0x1.5c930ep+3 +-0x1.71b95ap-2 +-0x1.f48a46p-1 +0x1.5f2426p-4 +-0x1.7a2f38p+2 +-0x1.0e5342p+6 +-0x1.772deap+1 +-0x1.0b9bc4p+1 +-0x1.235508p+3 +0x1.267378p+1 +-0x1.bbcd18p-2 +0x1.b3e46ap+2 +-0x1.a0cc8ap+1 +-0x1.e251dcp+2 +0x1.649766p+1 +-0x1.1563e2p+2 +0x1.c3737p+1 +0x1.07d64cp-1 +-0x1.4a0bacp+0 +-0x1.ef86dcp+2 +-0x1.13bdb4p-1 +-0x1.a2b86ep+2 +0x1.c0db8ep+2 +-0x1.0b4bp+0 +-0x1.56d9d6p+2 +-0x1.0d5732p+9 +0x1.24a50ap+3 +0x1.6adb3cp+2 +0x1.84adbap-4 +-0x1.bb536p+2 +0x1.1ba17ep+2 +-0x1.2ba3d8p+2 +-0x1.3bca4ap+0 +0x1.a6143ep+1 +-0x1.f54b3ap+1 +0x1.3eed3ep+1 +-0x1.463fecp+0 +-0x1.25e91cp-3 +-0x1.3c2466p+0 +-0x1.34fd9ep+0 +-0x1.f9d026p+0 +0x1.08db2ep+2 +0x1.2379a4p+3 +0x1.e893ccp-1 +0x1.8601fp+1 +-0x1.144afp+3 +0x1.3d848ep+1 +0x1.52490ep+2 +-0x1.52ba9p+0 +-0x1.5db56cp+1 +-0x1.afcb5p-1 +-0x1.876adcp+2 +0x1.a56b98p+2 +0x1.3695bp+0 +0x1.d0aabep+2 +-0x1.38eebcp+2 +-0x1.1d47fp+2 +0x1.7e54c2p+2 +-0x1.05e246p-4 +0x1.a2287ap+2 +0x1.60ecaap+2 +-0x1.cec702p+2 +0x1.e4255p+1 +0x1.7f3a88p+0 +-0x1.2d9f66p+0 +0x1.1fc764p-1 +-0x1.4b9506p+0 +0x1.55bd7p+0 +0x1.3d4ddp+1 +-0x1.4b8f8p+3 +-0x1.2e026p+3 +0x1.45e7eap+1 +0x1.070dfcp+3 +-0x1.ca0648p+0 +-0x1.548cc4p+2 +-0x1.9b0df2p+2 +-0x1.1f8caap+3 +0x1.e9b398p+0 +0x1.1efb94p+2 +-0x1.1bd9dap+3 +-0x1.69f29cp+1 +-0x1.04bc78p+5 +-0x1.8e8416p+1 +-0x1.02ff1ap+3 +0x1.fff844p+2 +-0x1.ae7b8cp+3 +-0x1.0e14ep+1 +-0x1.ff7dep-3 +-0x1.2c405ap+1 +-0x1.ba9068p+0 +-0x1.788084p+1 +-0x1.f0bbb8p+2 +-0x1.411b2cp+3 +-0x1.6b206cp+1 +0x1.be4ee6p+1 +0x1.0ca82p+2 +0x1.f6c1p+2 +0x1.c1a5d8p+1 +0x1.6f690cp+2 +-0x1.b0ca16p-2 +-0x1.b3572cp-1 +0x1.bb1bbep-2 +0x1.c52268p+2 +0x1.f110ccp-1 +-0x1.6fda48p-1 +0x1.254c3cp-1 +-0x1.0ce1a6p+3 +-0x1.2216bp+0 +-0x1.269fcp+2 +-0x1.ae03a2p+2 +0x1.b65068p+3 +-0x1.77ea6p+2 +-0x1.6a0504p+1 +-0x1.e8b1cep+1 +0x1.16eebcp+2 +-0x1.03909cp+2 +-0x1.501dcp-1 +-0x1.70d4fcp+2 +0x1.26f7fep+1 +0x1.3299cp+1 +0x1.1554e6p+2 +-0x1.286cb2p+2 +-0x1.0f307ep+0 +0x1.03df94p+3 +-0x1.b00bfcp+2 +-0x1.0362e2p-1 +0x1.9ddb14p+1 +-0x1.75e6f2p+3 +-0x1.06a73ep+3 +-0x1.46fbf2p+2 +0x1.cb8d76p+2 +-0x1.31a6fp+2 +-0x1.085c6ap+2 +-0x1.96967p+1 +0x1.496d3p+3 +-0x1.3ef172p+2 +0x1.43fa46p+1 +0x1.b1be2ep+0 +-0x1.a90b9ep+1 +0x1.e16ep+1 +0x1.e11c06p-2 +-0x1.9719eep-3 +-0x1.95f6a6p+1 +0x1.fa93bp+0 +0x1.f93eacp+2 +0x1.034a3p+1 +-0x1.ba1e82p+2 +0x1.1eb79p+1 +-0x1.2cfa82p+0 +0x1.5b6caap+2 +0x1.b81032p+2 +0x1.715d88p+1 +0x1.444594p+2 +-0x1.484778p-1 +-0x1.64a042p+2 +-0x1.da5f1p+1 +-0x1.68f8ecp+3 +-0x1.ae5decp+2 +-0x1.4878e8p-2 +-0x1.4f376ep+0 +0x1.97cd7p+7 +0x1.72f196p+1 +-0x1.93c604p+2 +-0x1.f71434p+0 +0x1.eab07p+1 +-0x1.196966p+2 +0x1.17e578p+0 +-0x1.e08818p+2 +0x1.c50ae6p-2 +-0x1.dd1f8ep+0 +-0x1.49a4acp-4 +0x1.5d4d4p+1 +0x1.0eef02p+0 +0x1.744108p+2 +-0x1.70f18ep+0 +0x1.20a7a8p-1 +0x1.2a468ep+2 +-0x1.07de72p+1 +-0x1.e955c8p-1 +0x1.8424bap-1 +0x1.5ed6eap+1 +-0x1.c4bba4p+1 +0x1.01dfc8p+1 +-0x1.2a2804p+2 +-0x1.ec2a64p+2 +-0x1.965118p+1 +0x1.652094p+1 +-0x1.a6e8cap+2 +-0x1.d50fbep+3 +-0x1.958ef4p-1 +-0x1.e75bc6p+1 +-0x1.6dacep+2 +0x1.49bd74p+3 +0x1.b8864p+1 +-0x1.24d046p+1 +0x1.e0d98ap+3 +-0x1.08aedp+1 +0x1.e38e14p+0 +-0x1.372246p+2 +0x1.ae3a7p+0 +-0x1.6bb8eep+2 +0x1.12eeb2p+9 +0x1.10521ep+2 +0x1.708da2p-3 +0x1.d3996p+1 +-0x1.923954p-1 +-0x1.a3ab8ap+1 +0x1.1cbc1p+3 +-0x1.2ea156p+3 +-0x1.7e9a28p+1 +-0x1.c8c122p+6 +0x1.3f9934p-1 +0x1.4df64cp+2 +0x1.8033c2p+2 +-0x1.fa8cacp-1 +0x1.f07676p-1 +0x1.14d154p+3 +0x1.5c1fd8p+0 +0x1.b775dap-2 +0x1.f1b8bp+2 +0x1.eecfa6p+2 +0x1.4f431ep+0 +-0x1.4917b8p+2 +-0x1.59b224p+4 +-0x1.d9c528p-2 +-0x1.bee616p+0 +0x1.657e8ap-1 +-0x1.147284p+1 +0x1.2da1ep+2 +0x1.f7ada2p+0 +-0x1.875cdp+0 +-0x1.e838c4p+1 +0x1.7929e4p+2 +-0x1.b51f66p-3 +0x1.385c4ap+8 +0x1.62d1c8p+4 +-0x1.67a6bap+1 +0x1.012dfep+3 +-0x1.60fcd4p+3 +-0x1.d29306p+6 +0x1.82afd4p+1 +-0x1.c852aep+2 +0x1.7bb842p+2 +-0x1.8d6114p+2 +-0x1.ced656p+2 +-0x1.02d3dap-4 +-0x1.25390ep+2 +-0x1.531304p+3 +-0x1.d30b86p+0 +0x1.1f2fa2p+0 +0x1.74d9aep+3 +-0x1.514432p+7 +-0x1.70e71ep+1 +-0x1.2af0e8p+1 +0x1.e63eaap+2 +-0x1.9ef63cp+0 +-0x1.ccc9p+2 +-0x1.e3a37ep+1 +0x1.8a4226p+5 +-0x1.de9408p+2 +0x1.da938cp+2 +-0x1.63f306p+2 +-0x1.4426c8p+0 +0x1.1e31a2p+1 +0x1.65c7ccp+2 +0x1.78858ep+3 +-0x1.dad4bap-2 +-0x1.435c48p+3 +0x1.1cec28p+3 +-0x1.9bced6p-6 +-0x1.e894b4p+2 +-0x1.058dcap+4 +0x1.4e4aeap+1 +-0x1.078f7p+4 +0x1.f381fep+1 +0x1.8ee6a8p+2 +-0x1.d82a16p-4 +0x1.90756ep+2 +0x1.d6153ep+2 +0x1.af4486p+2 +-0x1.a80a5cp+1 +-0x1.e59a82p+2 +0x1.f4e758p+2 +0x1.53437ep+2 +-0x1.ddc8f2p+1 +0x1.4d2386p+2 +0x1.dd19dcp-1 +0x1.3c975p+1 +0x1.75a202p-2 +-0x1.07135p+2 +0x1.801d1ap+1 +0x1.efd0ep+2 +0x1.9a387cp-1 +-0x1.7cb746p+1 +-0x1.e11c36p+1 +0x1.44d5e2p+3 +0x1.24fcap-10 +0x1.586f1ap+3 +0x1.df7d5cp+0 +-0x1.50e398p+0 +0x1.e94e74p+0 +-0x1.0783dcp+2 +-0x1.b1826ep+3 +0x1.f94d2cp+1 +-0x1.c63742p+0 +-0x1.55be6ap+1 +0x1.06c194p-2 +-0x1.9518ccp-2 +0x1.11ce94p+2 +-0x1.8c83c6p+3 +0x1.7c9948p+1 +-0x1.368f6p+1 +-0x1.77597ap+1 +-0x1.0fc0a8p+2 +0x1.078982p+2 +0x1.41794ap+1 +-0x1.6a7fb6p+1 +0x1.0130ecp+0 +0x1.3a6f48p+2 +-0x1.06ec3ep+2 +0x1.2e873ep-1 +-0x1.bbfcecp+2 +0x1.0d9c8cp+2 +-0x1.8bf836p+2 +0x1.5867aap+0 +-0x1.46e636p+0 +0x1.64bad6p+1 +0x1.25b17ap+2 +-0x1.30be6cp+2 +0x1.0c7e7ep+2 +0x1.fc3db8p+1 +-0x1.2e7c1ep-3 +-0x1.8a437cp+6 +-0x1.2b2982p+0 +0x1.a277c4p+2 +-0x1.b762b2p+1 +-0x1.316b9p+0 +0x1.649818p+0 +-0x1.01674ap-2 +0x1.66d238p+2 +-0x1.f10df4p+1 +-0x1.62c984p+3 +-0x1.01f502p+1 +0x1.d3df2ep+1 +-0x1.e05174p+2 +0x1.a4e73ep+1 +-0x1.bd0596p+3 +-0x1.8771dp-4 +-0x1.3dca52p+2 +0x1.e5061ep-1 +-0x1.bb9456p-2 +0x1.e71896p+0 +-0x1.80dddep-1 +0x1.67184cp+0 +-0x1.e1dddep+1 +-0x1.927dccp+1 +-0x1.e9e4bp+1 +0x1.9c4e3p+0 +0x1.f9f644p-2 +-0x1.f840c4p-4 +-0x1.b58a68p+2 +0x1.d2709ep+1 +0x1.8b90c8p+1 +-0x1.95fb0ep+1 +0x1.0a4ed2p+3 +-0x1.0b5578p+1 +-0x1.f835b6p+1 +0x1.3d7bfep+3 +-0x1.97934p+1 +0x1.0025fep+1 +-0x1.00c524p+3 +0x1.bf0fbcp-3 +-0x1.156364p+3 +0x1.b32f26p+0 +0x1.d31834p+2 +-0x1.43d26cp+1 +0x1.bc71a6p+2 +0x1.d897f4p+0 +-0x1.c58bf4p+0 +-0x1.ee0cc6p+0 +-0x1.935c5p+0 +-0x1.dbc57cp+1 +-0x1.a03af6p+1 +-0x1.7abba2p+3 +0x1.1434bcp+3 +0x1.e07be6p+4 +0x1.c33f5ap+2 +0x1.3b3e4cp+1 +-0x1.7143cep+0 +-0x1.1307bcp+2 +-0x1.64d0e8p+0 +0x1.648688p+3 +-0x1.5b5e3p+1 +-0x1.b7375cp+1 +-0x1.83fc0ap+6 +-0x1.2fdc6ep+2 +-0x1.480c0ep+6 +0x1.4853eap+2 +0x1.30abeap+2 +-0x1.836654p+2 +0x1.cd14d2p+1 +-0x1.19cc72p+1 +-0x1.45c982p-2 +0x1.2529f6p-1 +0x1.409a28p+1 +-0x1.26fb74p+0 +0x1.65d004p+1 +0x1.21ad6cp+0 +-0x1.34b39ap+2 +0x1.7169eap+1 +-0x1.782edep+2 +0x1.1b4cp+3 +0x1.1db916p+2 +0x1.41e33ap+2 +-0x1.6a320ep+5 +-0x1.6cfc1ep+0 +-0x1.5d9e4p+2 +-0x1.b29bc8p+2 +-0x1.6ed4c6p+1 +0x1.05de48p+1 +-0x1.6a0cb4p+0 +0x1.f0463cp-2 +-0x1.8273bap+3 +0x1.d1edb4p+2 +0x1.ea4d06p+2 +-0x1.1f763cp-3 +-0x1.12214ap+0 +0x1.38b962p+6 +0x1.f56658p+1 +0x1.3976b2p+1 +0x1.c5e68p+2 +-0x1.f62afcp+1 +0x1.32030cp+3 +-0x1.bab456p-1 +-0x1.e1aafap+1 +0x1.46872cp-3 +-0x1.271674p+2 +0x1.08b0b4p+2 +-0x1.858f88p+2 +-0x1.59ea86p+0 +0x1.6b3f0cp-1 +0x1.b504bap+1 +0x1.fe756ap+1 +-0x1.4e6446p+1 +-0x1.2d0dbp+3 +-0x1.04659ap+2 +0x1.b689f8p+2 +-0x1.a32ce8p+1 +0x1.ea01c4p+2 +0x1.2111dp+2 +0x1.d68322p+2 +-0x1.e2efc2p+1 +-0x1.797e72p+0 +0x1.e86848p+1 +0x1.0fdeep+3 +-0x1.140a26p-1 +0x1.45b2fap-4 +-0x1.2090bp+2 +-0x1.903c26p-2 +-0x1.c7df9ap+0 +-0x1.baf402p+1 +-0x1.168db6p+3 +-0x1.9be9cep+1 +0x1.b036ccp+1 +-0x1.d5da4cp+0 +-0x1.c5cd9ep+0 +-0x1.a938e4p+2 +0x1.9ac208p+1 +-0x1.b2b9cep+4 +0x1.10eabap+1 +0x1.9855c6p+0 +-0x1.27d976p+2 +0x1.9b628ep+2 +-0x1.99d82ep+2 +0x1.775502p+3 +0x1.d03ab2p+2 +0x1.0d4296p+2 +0x1.361332p+3 +0x1.31812ap-2 +-0x1.c64fdap+2 +-0x1.024512p+2 +-0x1.9ea098p+4 +0x1.53742ep+0 +-0x1.43e584p+2 +-0x1.495ddep+2 +-0x1.39697p+3 +0x1.c3dc14p-1 +-0x1.bf4e1p+0 +-0x1.78d74ep+1 +-0x1.cf9dcp+1 +-0x1.8df9b8p+1 +-0x1.5b8c5ep+2 +-0x1.11681cp+0 +-0x1.f3c11p-1 +0x1.c6eccep+1 +0x1.0c4d7ap+1 +-0x1.eb442ep+2 +-0x1.2098ap-1 +-0x1.88ead2p+1 +-0x1.08462cp-1 +-0x1.13ae5p+3 +-0x1.33bf56p-4 +0x1.829774p+8 +-0x1.3be412p+3 +-0x1.3ad89p+0 +0x1.8cecdep-2 +-0x1.cbf4dap+1 +0x1.b8ce3p+3 +0x1.9cd354p-6 +-0x1.681b7ep+3 +-0x1.f11004p-2 +-0x1.5b06bcp+2 +-0x1.60f6f2p+1 +-0x1.0d98cep+2 +-0x1.c71b8p+0 +-0x1.4982aep+1 +-0x1.c53f08p+1 +0x1.4c651p+1 +0x1.341ec8p+1 +0x1.3b2c7cp+1 +0x1.07159cp+1 +-0x1.e16c86p+1 +0x1.a869fcp+1 +-0x1.e11324p+1 +0x1.a4d634p+0 +0x1.e5051p+3 +-0x1.a6e3cap-1 +0x1.956e1p+1 +0x1.1619bp+2 +-0x1.339d94p+2 +-0x1.27512p-1 +0x1.aaeaf8p+2 +0x1.b9c934p+3 +-0x1.6b336ap-3 +-0x1.a3e50ep-2 +0x1.b076fep-3 +0x1.1f6a18p-1 +0x1.37f0fcp-1 +0x1.3bbab6p+2 +-0x1.0973dcp+1 +-0x1.e4ff3cp+1 +0x1.2aeb48p+0 +-0x1.cce7e8p+1 +0x1.2851c2p+3 +0x1.6a232p+2 +0x1.234b8cp+3 +0x1.e44e04p+1 +-0x1.06a0e2p+2 +0x1.134b74p+3 +0x1.c4c4dp+0 +-0x1.55f1e8p+2 +-0x1.8d76e2p+0 +0x1.ece418p+2 +0x1.b979aap-2 +0x1.eed2dap-2 +0x1.007f86p+2 +-0x1.deee54p+0 +-0x1.89e6eap+1 +-0x1.81779ep+0 +-0x1.d2d4e6p+0 +-0x1.191336p+5 +-0x1.338c98p+0 +0x1.1b180cp+3 +-0x1.9e2dd6p+1 +0x1.3fd206p+2 +-0x1.4256d2p+1 +-0x1.5b5778p+2 +-0x1.04e69ap+2 +-0x1.27fbccp+0 +-0x1.769b52p+1 +0x1.0932f4p+1 +0x1.0b6128p+1 +0x1.0b2df4p+3 +0x1.93a04p-1 +-0x1.02250cp+3 +-0x1.4e7f86p+1 +-0x1.1156c6p+2 +-0x1.122036p-3 +0x1.14e246p+1 +0x1.7ba1dap+1 +0x1.44c38ep+3 +-0x1.0b7714p-1 +0x1.b987d4p+3 +0x1.2a37dp+2 +0x1.712494p+0 +-0x1.e5f6d2p-5 +0x1.cc534cp-1 +0x1.1d1d1ap+1 +-0x1.076e8ap+1 +0x1.c04e16p+2 +0x1.1c264p-2 +0x1.7443acp+2 +0x1.ec33ccp+0 +-0x1.d3bae4p+1 +0x1.17cf9ap+3 +0x1.e2b466p-2 +0x1.3cb3ep+0 +0x1.eab478p+2 +-0x1.29150ap+2 +-0x1.695bap+0 +0x1.c97486p+2 +0x1.42f012p+0 +0x1.db498cp+2 +0x1.bd2bb6p-2 +0x1.00e5b4p+0 +-0x1.104b2ep+7 +-0x1.cd2856p+1 +-0x1.6f4a38p+3 +0x1.b4dfecp+2 +0x1.00667ep+3 +-0x1.ac174cp+2 +0x1.08790ap-2 +-0x1.334478p+3 +0x1.07afbap+1 +-0x1.cf2ac8p+1 +-0x1.eb833cp+1 +-0x1.752342p+2 +-0x1.9b26d4p+1 +0x1.a9207cp+2 +-0x1.a43f1cp+1 +0x1.b5ccb4p+1 +0x1.510552p+3 +0x1.e2803ap-5 +-0x1.e16d84p+0 +0x1.656842p+2 +-0x1.380a0cp+0 +0x1.ba6e86p+2 +0x1.883fdp+0 +-0x1.ed2f98p-2 +-0x1.2da1d4p+1 +0x1.839fa8p+0 +0x1.5dd11ap+1 +0x1.5efc92p-3 +-0x1.c64f2ap+1 +0x1.ac7feep-4 +0x1.d0b7d2p-2 +0x1.e9b82ep+1 +0x1.2621b6p+2 +-0x1.cf09e8p+1 +0x1.a11c94p+1 +-0x1.943fa4p+3 +-0x1.4d06bcp+2 +-0x1.716294p+2 +0x1.1ea25ap-2 +0x1.734d74p-2 +0x1.39d334p+3 +-0x1.5ae604p+1 +0x1.4e6eeep+2 +-0x1.a5fff4p+1 +-0x1.3fd468p+1 +0x1.30d0dep+1 +0x1.4f5a2ap-4 +-0x1.5bebbep-3 +0x1.361b5ap+0 +0x1.83383cp+1 +0x1.288836p-1 +0x1.f199a4p+1 +-0x1.6cf9e6p+2 +-0x1.f5dc6ep-3 +0x1.087fc2p+4 +-0x1.25388cp+3 +-0x1.b99106p+2 +0x1.276b2cp+2 +0x1.c413e6p-1 +-0x1.13fc0ep+0 +-0x1.132c92p+2 +0x1.9af1d6p+1 +-0x1.957762p+2 +-0x1.916b9p+2 +-0x1.369dep+1 +-0x1.5abd38p+2 +-0x1.714bap+0 +0x1.667662p+0 +0x1.8cba48p+1 +0x1.3c207p+2 +0x1.215c04p+3 +-0x1.165954p+2 +0x1.91b882p+2 +0x1.5a42fp+2 +-0x1.f81daep+2 +0x1.2d89d2p+3 +0x1.1b20bcp+2 +-0x1.d57d68p+1 +-0x1.64707ep+1 +-0x1.32f91ep+0 +0x1.e347b6p+1 +-0x1.1d517cp+2 +0x1.3e2284p+3 +-0x1.897324p+2 +0x1.147b54p+1 +0x1.c459bap+0 +-0x1.c8cf76p+1 +0x1.157afcp+2 +0x1.e39ac4p-6 +0x1.78fc0cp+1 +0x1.69b2e4p+1 +-0x1.d7fcdcp+2 +0x1.40d3c8p+8 +0x1.76546cp+1 +0x1.314f6p+1 +-0x1.c06576p+2 +0x1.861332p-6 +0x1.83ee1ep+0 +-0x1.c1e5a8p+0 +-0x1.4c5af2p+3 +-0x1.6ad22p+1 +-0x1.c98616p+1 +-0x1.1254f2p+8 +0x1.be9244p+4 +0x1.226caep+2 +0x1.d6649ep+0 +0x1.b7d4ccp+0 +-0x1.0686cap+2 +-0x1.006dep+1 +-0x1.40a8c4p-1 +-0x1.f46534p+0 +0x1.f414ccp+1 +0x1.558054p+1 +0x1.9ce15ep+1 +-0x1.a67c02p+1 +0x1.bb2334p+2 +0x1.01b534p+6 +0x1.f421cap-2 +0x1.0b37d4p+3 +0x1.0c1ca8p+7 +-0x1.19519cp+0 +0x1.6850bap+0 +-0x1.d5822ap+2 +0x1.5a719p+2 +-0x1.68d604p+1 +-0x1.45bcc8p+2 +-0x1.7422cp+1 +-0x1.241984p+0 +-0x1.0be98ap+3 +0x1.a4cd28p+1 +0x1.2955fcp+2 +0x1.777c8ap+1 +0x1.3f9392p-1 +-0x1.719874p-7 +-0x1.bca608p+3 +0x1.360bp+1 +-0x1.94fdbp+1 +-0x1.503dbcp+2 +-0x1.ba773cp+1 +0x1.20fa98p+2 +-0x1.9c353p+2 +0x1.3fc516p+2 +-0x1.1d00bap+2 +-0x1.661cd8p+2 +-0x1.7b51bp+1 +0x1.8e2b1ap-3 +0x1.f36ebp+2 +-0x1.643f5p+3 +0x1.80b2d2p+1 +-0x1.387e42p+2 +0x1.a97858p+2 +-0x1.5899fcp+1 +0x1.1d6756p+2 +0x1.084ebcp+0 +0x1.49e86p+3 +-0x1.b846aap+0 +-0x1.b61bd2p+1 +-0x1.3017a4p+3 +0x1.26de38p+0 +0x1.350184p+0 +-0x1.a72934p+2 +-0x1.27b1a2p+3 +0x1.764f92p+3 +0x1.227cb6p+1 +0x1.fdb834p+2 +0x1.c1c906p+2 +-0x1.11009p-1 +-0x1.3468d4p+1 +0x1.b1918p+2 +0x1.dfd676p+1 +0x1.038bdcp+0 +-0x1.3eb90ep+0 +-0x1.12daf2p+2 +0x1.51c9cap+1 +-0x1.b4798ap+2 +0x1.4ff31cp+0 +-0x1.85e216p+0 +-0x1.b0d4cap+1 +-0x1.7da2d8p+0 +0x1.47d068p+2 +0x1.50736ap+0 +-0x1.07d7c8p+3 +0x1.185a76p+1 +0x1.ef703ep+2 +-0x1.d7db9ep+2 +-0x1.9bb6cp+0 +-0x1.b0f34ap+7 +-0x1.d981d8p-1 +0x1.b5ed18p-2 +0x1.0009fep+2 +-0x1.be3208p+0 +0x1.b1f824p-1 +-0x1.0dcd04p-2 +0x1.4f2404p+9 +0x1.d3a978p-1 +0x1.65c314p+0 +-0x1.787602p+0 +-0x1.d15958p+0 +-0x1.288188p+2 +-0x1.199688p+3 +-0x1.21614ap+3 +-0x1.cf1378p+0 +-0x1.e4c4e6p+1 +0x1.6b9c2ep-1 +0x1.64652cp+1 +0x1.10f5c8p+2 +0x1.c2861ep+2 +0x1.3d513ap+3 +-0x1.1fcfc2p+1 +0x1.1230cap+2 +0x1.526fa8p+1 +-0x1.302c0cp-1 +-0x1.22a2acp+2 +-0x1.2cfd2p-4 +-0x1.cd2f3cp+3 +0x1.3b251ap+2 +0x1.7223e4p+2 +-0x1.3f6b5p+0 +0x1.8a4ed4p+1 +0x1.df94fep+1 +-0x1.070876p+3 +0x1.84f23ep+0 +-0x1.0ce3dep+2 +-0x1.2aa0bp+0 +-0x1.480ce2p-1 +0x1.3d1bf4p+0 +0x1.05e4fep+1 +-0x1.90615ap+2 +0x1.5951a8p+2 +-0x1.397488p+0 +-0x1.184ce8p+0 +0x1.90621p+0 +0x1.e8d18p+2 +-0x1.2e2e28p+2 +-0x1.9e319ep+1 +0x1.cc3014p+2 +-0x1.9cfa28p+2 +-0x1.5f3eaap+2 +-0x1.84f3aap+2 +-0x1.bce88cp+2 +0x1.3416b8p+0 +-0x1.547e2p+3 +-0x1.058d6cp+2 +-0x1.85e89ep-1 +0x1.42d902p+1 +-0x1.d438cep+1 +-0x1.845488p-2 +-0x1.dbdb48p-1 +0x1.a72924p+0 +0x1.cca6e8p+0 +0x1.130d3p+2 +0x1.fb8fccp-2 +-0x1.f6d9cap+2 +-0x1.23affep+5 +-0x1.5287e8p+2 +0x1.b9ea92p+1 +-0x1.bcab9ap+3 +0x1.85374ap-1 +-0x1.866abap-1 +0x1.273894p+2 +-0x1.c24c2ap-4 +0x1.b77e92p+1 +0x1.0ea942p+2 +0x1.6b4f86p+1 +-0x1.b96706p+1 +-0x1.50ae2ap+0 +-0x1.d6b7e6p+0 +0x1.9348fep+2 +0x1.5014f2p+1 +0x1.ae4e22p+1 +-0x1.f1557ep-3 +-0x1.71871ep-1 +-0x1.63b308p-1 +0x1.3b18c4p+2 +0x1.de5c6ep+2 +0x1.049a66p+2 +0x1.54d3b8p+0 +0x1.46e30cp+1 +0x1.ec958cp+2 +-0x1.7cac7p+3 +0x1.a0920ep+0 +0x1.0ecc08p+2 +-0x1.26dc5ap+1 +0x1.c0645ap+1 +-0x1.dc9fa6p+0 +0x1.3e09c4p+0 +-0x1.fd1218p+1 +-0x1.d94896p+4 +0x1.0f07bp+2 +0x1.10036p+2 +0x1.8d2056p+0 +-0x1.f8fab4p+0 +0x1.ba2106p+1 +-0x1.e707bap-3 +0x1.8073ep+4 +-0x1.15a72p+3 +0x1.0aa928p+1 +-0x1.098ffep-2 +0x1.035c94p+2 +-0x1.6c1d9ep+2 +-0x1.48ea4ep-1 +-0x1.6a8d3ap+0 +0x1.16c74ep+2 +0x1.973d5p+1 +0x1.a6f0fp+0 +-0x1.74a25cp+3 +0x1.9ccc18p+7 +0x1.ac1f8ap+1 +0x1.17282ep+4 +0x1.2438dep+3 +-0x1.5d13e6p+3 +-0x1.814d8ep-5 +-0x1.457a34p+1 +-0x1.19f0fcp+2 +0x1.f28442p+2 +-0x1.1262eep+5 +0x1.31babep+2 +-0x1.7e22cp+3 +0x1.63f3e4p-1 +0x1.be824ap+2 +-0x1.4fd478p+2 +0x1.d10c1p-1 +0x1.012c64p+4 +0x1.d967bap+2 +-0x1.92b3a8p+0 +0x1.4590bap-2 +-0x1.a276a8p+0 +-0x1.9ac3c4p-2 +-0x1.e78712p+1 +0x1.4e7cc6p-1 +0x1.0d90fcp+3 +-0x1.cc5aa6p+1 +0x1.50e42p+2 +0x1.60cfc8p+1 +-0x1.1e0bfp+3 +0x1.78086p+0 +-0x1.58fea8p+2 +-0x1.95cc86p+2 +-0x1.94d364p+0 +-0x1.fb302ap+1 +-0x1.322276p+2 +0x1.01063cp+5 +0x1.782f7ep+2 +-0x1.b1c584p+2 +0x1.1aa402p+2 +-0x1.0a0332p+3 +-0x1.099a52p+3 +-0x1.ef5ed2p+2 +-0x1.fc9d46p+2 +-0x1.8577cp-2 +0x1.d6d58p+1 +0x1.3fccaap+2 +0x1.5c9f88p+2 +0x1.58efe2p-1 +-0x1.0f06c6p+2 +-0x1.25e174p+2 +-0x1.86994ep+2 +-0x1.e01e94p+4 +0x1.85156p+0 +0x1.5d031cp+3 +0x1.e57a1cp+1 +0x1.c2629p+0 +-0x1.67951p+1 +0x1.832994p+1 +0x1.3f0884p+3 +-0x1.1e3e32p+1 +-0x1.786588p+2 +-0x1.e0434p-2 +-0x1.845464p+2 +-0x1.00ea5p+0 +-0x1.e7582ap-4 +-0x1.b77c96p+3 +0x1.9e6222p+2 +-0x1.71f682p+2 +-0x1.2e1188p+2 +0x1.8fedfep+0 +-0x1.0c1d8ap+1 +0x1.abcf0cp+1 +-0x1.7f7c54p+3 +-0x1.37e69p-1 +0x1.0a1f3p+1 +0x1.c0024ep+2 +-0x1.2a17a4p+3 +0x1.cdfd68p+6 +0x1.92217ep+2 +-0x1.c613dep+2 +0x1.51f18ep+1 +0x1.e395dep+0 +0x1.569704p+3 +-0x1.aeacf8p+2 +-0x1.ac69d8p+0 +-0x1.19c29ep+3 +0x1.1db316p-4 +-0x1.3c1178p-1 +-0x1.421dd4p+0 +0x1.7d2dd4p+0 +0x1.fbdaacp+0 +0x1.034cd2p-1 +0x1.765c0ep+1 +0x1.80360cp+2 +0x1.7f91fp+1 +0x1.9c5d7ap+1 +0x1.e0c5b2p+2 +0x1.0f911ep+1 +-0x1.3584dap+2 +-0x1.f7649ep+2 +0x1.5b2a8ap+0 +-0x1.fe1406p-2 +-0x1.fc821ep+1 +0x1.1a2fcp+1 +-0x1.fc37dp+1 +0x1.06a11ep+1 +-0x1.d9d8dcp+1 +0x1.1204e4p+0 +-0x1.7daddp+2 +0x1.431ceap+0 +-0x1.0c046ep+3 +-0x1.183688p-1 +-0x1.6ccec8p+2 +-0x1.8d9612p+0 +0x1.759888p+2 +0x1.e2c4bcp-4 +0x1.f4a1b6p+2 +-0x1.098908p+0 +-0x1.73d2e8p+2 +-0x1.fa77ep+2 +-0x1.05433p+2 +-0x1.217968p+2 +0x1.f7e2ecp+1 +0x1.876de8p+2 +-0x1.02113ap+1 +-0x1.933772p+2 +-0x1.765c62p+1 +-0x1.f05872p+1 +0x1.31b8b8p+2 +0x1.f92e94p+2 +-0x1.6577p+2 +-0x1.7e418p-2 +0x1.0863fcp+3 +0x1.1266f2p+3 +0x1.f7ceb6p+1 +-0x1.7adc1ep+2 +-0x1.b72acep+1 +-0x1.42799cp-1 +0x1.12b708p+2 +0x1.26c43p+2 +0x1.37b6c6p+0 +0x1.9cdf68p+1 +0x1.4e0b2p-1 +-0x1.ef76dcp+1 +0x1.89fe2p+2 +-0x1.ba6e92p+2 +-0x1.101566p+3 +-0x1.8d1406p+1 +0x1.3c321p+3 +-0x1.2da06ap+2 +-0x1.1f309cp+1 +0x1.a1602ap-2 +-0x1.b6151ep+0 +-0x1.0e4b64p+2 +0x1.dd728p+2 +-0x1.69224ap+2 +-0x1.7a81ccp+1 +-0x1.138a1cp-1 +-0x1.091492p+2 +0x1.da7d28p+1 +0x1.96c7ccp+0 +0x1.553f32p+2 +-0x1.c50bd6p-2 +-0x1.21dd94p+1 +0x1.b6c40ep+6 +0x1.601aap+3 +0x1.1f08e8p-1 +0x1.05b5e2p+0 +-0x1.5a88e4p+2 +-0x1.2dfc04p+2 +0x1.202a2ap-1 +0x1.53a548p+0 +0x1.9efc9cp+2 +0x1.e07e84p+1 +0x1.fad874p+1 +0x1.83db4p+0 +0x1.047accp-5 +-0x1.4be03ep+1 +0x1.e639d2p+1 +-0x1.e6a97ap+2 +0x1.5afbaep+3 +-0x1.f1728p+0 +0x1.f006e4p+0 +-0x1.30cc68p+3 +0x1.2fd5a2p-2 +0x1.15ffe6p+1 +-0x1.f1b2b2p+1 +0x1.19aa7cp+0 +0x1.3f6646p+2 +-0x1.2a8f34p+1 +-0x1.8de994p+2 +0x1.e6e1aep+2 +0x1.22eb8ap+2 +0x1.f5fdeep+1 +0x1.36bc74p+2 +0x1.529e3ap+2 +-0x1.4ee716p+2 +-0x1.1a4f42p+1 +-0x1.907ffp+2 +0x1.b3d03ep+1 +0x1.4aa876p+2 +-0x1.c81d4ep+2 +0x1.504558p+2 +-0x1.8c1492p+2 +-0x1.fed67ap-1 +0x1.c0d5eep+0 +-0x1.bc6244p+0 +0x1.0853fp+2 +-0x1.fa5b24p+2 +-0x1.89202ap+1 +0x1.98729cp+2 +0x1.31636ep+1 +-0x1.4e531p-2 +0x1.914c7p+2 +-0x1.53626p+4 +-0x1.63977ep+8 +-0x1.b9824ep+2 +-0x1.81366cp+3 +0x1.d57e26p-1 +-0x1.3a6112p+0 +0x1.0b30dap+3 +-0x1.219832p+2 +0x1.f2a094p+0 +0x1.f2705ep+1 +0x1.1579e2p+2 +-0x1.067c62p+1 +-0x1.61ac44p+0 +0x1.6bb34p+1 +-0x1.984dcp+2 +-0x1.b4a3d2p+2 +-0x1.3a7c3ap+2 +-0x1.eebe9ep-7 +0x1.122bc2p+1 +-0x1.d382a8p+0 +-0x1.7dd53ep+2 +0x1.6783dep+2 +0x1.02cb9cp+3 +-0x1.30e6e2p+2 +-0x1.69771cp+7 +0x1.085fd2p-3 +0x1.3027a2p-5 +-0x1.c40f1cp-2 +0x1.7e58d8p+5 +-0x1.03ad5p+3 +-0x1.6c86f4p+2 +0x1.6a32d6p+1 +0x1.bc97cep+1 +0x1.5fe22ap+0 +0x1.0cdf88p+2 +-0x1.0bfcdap+2 +0x1.829592p+2 +-0x1.422816p+1 +0x1.b051d2p+1 +0x1.612b58p+3 +-0x1.b5168p-1 +-0x1.d96adep-1 +-0x1.cd7e26p+3 +-0x1.de0faap+1 +-0x1.f52f28p+1 +0x1.194384p+2 +0x1.24ccd6p+2 +0x1.0c97b8p+3 +0x1.b4b66ep+6 +-0x1.9ef038p+1 +-0x1.50504cp+1 +-0x1.5f4a5cp+2 +-0x1.29bb16p+2 +0x1.a12a7ap+8 +-0x1.62d33p+3 +-0x1.a8aefp+1 +0x1.b82958p+2 +0x1.66f7fcp+2 +0x1.e2c50ep+0 +0x1.58fd7ep+0 +-0x1.d41d04p+6 +-0x1.d311dcp+1 +0x1.dd2eb4p+2 +0x1.7a3abcp+2 +-0x1.4c9fa8p+2 +0x1.254862p+2 +-0x1.4b8fdep+1 +0x1.660028p+3 +0x1.556cep+6 +-0x1.4fec32p+2 +-0x1.e18c52p-1 +-0x1.7c788cp-3 +-0x1.9e2812p+2 +0x1.b83ee8p+1 +-0x1.1bc13p+3 +-0x1.205c56p+1 +-0x1.3c462p+2 +-0x1.d7cf38p+2 +-0x1.b059c4p+7 +-0x1.adc0a8p+0 +0x1.1270dp+3 +-0x1.fca75ap+1 +0x1.5180b6p-2 +-0x1.4537dp+2 +0x1.ecbdfp+0 +-0x1.c542dp+0 +0x1.1b3dcep+1 +-0x1.854b64p+2 +0x1.483f3ap+1 +-0x1.67476ap+1 +-0x1.e0b9e2p+2 +0x1.9eedbap+0 +0x1.36fd72p+3 +-0x1.66cfa2p+3 +0x1.c84d46p+0 +-0x1.1119b4p+3 +0x1.fa24dcp-3 +-0x1.2a470ep+2 +0x1.40f3f2p+1 +-0x1.48660ap-1 +0x1.b602f2p+2 +0x1.116c7cp+2 +0x1.2952aap+1 +0x1.3b3802p+2 +0x1.09812p+1 +-0x1.55d7p+2 +-0x1.5c5efap+1 +0x1.9fdfep-1 +-0x1.7643eep+1 +-0x1.3a0cecp+5 +-0x1.032c7p+0 +-0x1.deef46p+1 +-0x1.8e7e2ap+0 +-0x1.936cfp+1 +-0x1.2feed6p+3 +-0x1.f17248p-4 +-0x1.df90b6p+0 +0x1.36fbcap+2 +0x1.055f6p+3 +0x1.a74786p-2 +-0x1.6f32d2p+2 +-0x1.6fe08p+2 +-0x1.0b1848p+2 +0x1.71b9bap-1 +0x1.171288p+1 +0x1.0b7e26p+2 +0x1.cffc9ap-2 +0x1.e28f8p+2 +-0x1.1bccf4p+3 +0x1.f551a8p-1 +0x1.1faecap+2 +-0x1.48f22cp+2 +0x1.caf0c6p+2 +0x1.669c8ap+3 +0x1.b2f9aep+2 +0x1.22b476p-3 +-0x1.67d9fep+2 +-0x1.a75e6cp+2 +-0x1.0d09f8p+1 +-0x1.36ad16p+3 +0x1.792438p+1 +0x1.180e96p+0 +0x1.60b64cp+4 +-0x1.fdd03ep+2 +-0x1.8950ap+0 +0x1.b01fap-1 +0x1.72898ep+4 +0x1.a06bc2p+2 +-0x1.6b40aap+2 +-0x1.5b46d8p+2 +-0x1.59fd22p-3 +-0x1.23900cp+3 +0x1.fde842p+0 +0x1.6b3b52p+2 +0x1.44eaeep+1 +0x1.09906p+1 +0x1.63ff4cp+0 +-0x1.3a3e48p+0 +-0x1.9736ep-1 +-0x1.1a6ad2p-2 +0x1.3078e8p+1 +0x1.0b7006p+1 +-0x1.f38c18p+2 +-0x1.cce016p+0 +-0x1.64bb7p+3 +0x1.3a94b2p+1 +-0x1.769a5p+0 +0x1.1c8e48p+1 +0x1.b1653cp+2 +-0x1.ee4e1cp+0 +0x1.2f58p-1 +-0x1.cc0514p+5 +0x1.721faap+2 +-0x1.61800cp-1 +-0x1.3bc482p+1 +-0x1.5b33d8p-4 +-0x1.1b2f8ap+2 +-0x1.d07f76p-1 +0x1.07ebf8p+3 +0x1.bf9ef4p-6 +0x1.4247a2p+2 +0x1.9b6022p+1 +-0x1.e9b8e8p-1 +0x1.7fde42p-7 +0x1.f19c74p+1 +0x1.2c7902p+1 +0x1.cabd24p+0 +0x1.d59288p+2 +-0x1.0073bp+1 +0x1.796808p+2 +0x1.35c5p+0 +-0x1.3afcd4p-1 +-0x1.56f52cp+1 +-0x1.0a57a8p+1 +-0x1.464c24p+2 +-0x1.522526p+3 +0x1.5a2fccp-5 +0x1.e44e74p+2 +-0x1.081feep+2 +0x1.22772p-1 +0x1.d89e8cp+1 +0x1.b34ac4p+2 +0x1.097ed4p+3 +0x1.a3969cp-1 +0x1.a7a3b8p+2 +0x1.cab696p+0 +0x1.302978p+2 +-0x1.5a8c0ep+1 +0x1.d17f5ap+2 +0x1.60384ap+1 +-0x1.317294p+7 +0x1.ce9c32p+0 +-0x1.3cc7d2p+1 +-0x1.24081p+1 +0x1.64866ap+1 +0x1.b30dp+2 +-0x1.e1e4ep-1 +0x1.2d2fb4p+0 +-0x1.7794p+3 +0x1.7e5db2p+3 +-0x1.b2660ep+1 +0x1.0bcee2p+2 +0x1.5ce388p+1 +0x1.1030fcp-5 +-0x1.018716p+2 +-0x1.5c80eap+1 +-0x1.b0860ep+2 +-0x1.4ff664p+3 +-0x1.25b456p+2 +-0x1.46c95ap+2 +-0x1.2c5d5ep+1 +0x1.52c1fcp+1 +0x1.df8cf4p+1 +0x1.3cbb8ep+1 +-0x1.3aacdp+3 +-0x1.cb1632p+0 +-0x1.0250f2p+3 +0x1.4152eep+7 +-0x1.aed7e4p+0 +-0x1.e8c7c8p+1 +0x1.13ca16p+2 +0x1.e7c5ep+1 +-0x1.950d7ap+1 +0x1.0355cap+2 +-0x1.17c0e8p+2 +0x1.bedf2p-1 +-0x1.f383e4p+2 +0x1.58804ep+2 +0x1.0595d4p+1 +-0x1.6bfcbp+2 +-0x1.9f3236p-1 +-0x1.283b36p+2 +0x1.17a3dap+3 +-0x1.e9ac68p+0 +-0x1.6430bp+5 +0x1.98ec62p+1 +0x1.f6dcp+2 +0x1.6cdb74p+1 +-0x1.20fccep+2 +-0x1.449b58p+3 +-0x1.addf84p+0 +0x1.9ac6c6p+2 +0x1.0602b8p+2 +0x1.5718a8p+2 +-0x1.451756p+2 +-0x1.193cb2p+0 +-0x1.a81cc2p+2 +-0x1.6b1ea4p+1 +-0x1.b8e9bap+2 +-0x1.c7222p+1 +-0x1.2f599ep+2 +0x1.41844ap-2 +-0x1.53fd76p+1 +-0x1.1bf69cp+2 +-0x1.0f95e4p-2 +0x1.ad2346p-1 +0x1.7ed2c4p+2 +-0x1.05f6a8p+1 +0x1.00636p+3 +-0x1.55ce3cp+2 +0x1.5359e4p+1 +-0x1.c7068ep+1 +-0x1.014012p+1 +0x1.0fa846p+3 +0x1.66f6ccp+0 +-0x1.368p+2 +-0x1.5cffcp+1 +-0x1.c5f12cp+1 +-0x1.5e9668p+2 +0x1.08bfbp+1 +0x1.e6d02cp+1 +-0x1.503e8ap-3 +-0x1.a160a8p+1 +0x1.a6087ap+1 +0x1.5a47acp-1 +-0x1.b43d88p+2 +0x1.d75cdp-1 +0x1.44e196p+2 +-0x1.5eb5fep+1 +0x1.10fc36p+0 +-0x1.f5e5fap+1 +-0x1.ebc3aep+1 +0x1.b2dc64p+3 +-0x1.4cf4a2p+2 +0x1.005904p-1 +-0x1.a7b4bap+1 +0x1.8bade6p+0 +0x1.7a4c04p-1 +0x1.2f476cp+3 +0x1.fad692p+2 +-0x1.79e4f8p+1 +0x1.39c514p+1 +0x1.138e7p+2 +0x1.72b33ep+2 +0x1.8962d8p+1 +0x1.406b92p+2 +-0x1.41f3dp+0 +-0x1.5bfcdep-3 +-0x1.1037ccp+1 +-0x1.abef8ap+0 +-0x1.beed4p+2 +-0x1.e6f3c6p-3 +-0x1.cfbc14p+2 +-0x1.27e79cp+1 +-0x1.1ae052p+1 +-0x1.0fca6ap+9 +-0x1.7b3e88p+2 +-0x1.2d16d4p+1 +-0x1.cb6a92p+0 +-0x1.21920ap+7 +0x1.4a37cep-2 +-0x1.05b558p+1 +-0x1.ac8e2cp+1 +-0x1.512e68p+1 +-0x1.13d132p+2 +-0x1.0a17b4p+0 +-0x1.4a6ae4p+0 +0x1.42b844p-1 +0x1.7c7ce2p+3 +0x1.32b04ep+3 +0x1.2fb6fcp+2 +0x1.54f186p+6 +0x1.30231cp+0 +0x1.a9691cp+1 +-0x1.11ae8ap+2 +-0x1.c2f9c6p-1 +0x1.dffb96p-2 +0x1.08017ep+3 +0x1.4df32ep+4 +0x1.940246p+2 +0x1.c2656ep+3 +0x1.99175cp+1 +-0x1.c3ad18p+0 +-0x1.1a673ap+3 +0x1.77ce96p+2 +-0x1.b5b302p+0 +-0x1.f76fa8p+1 +0x1.fdef4ep+0 +0x1.72371p+1 +0x1.7a24ecp-5 +-0x1.2d06d4p-1 +-0x1.fb2d2p-1 +0x1.bf813ep+2 +0x1.79a502p-2 +-0x1.cd2466p-1 +-0x1.23497p+2 +-0x1.195bbep+1 +0x1.b6962ep+0 +-0x1.2a9ffcp+1 +-0x1.85a09ep+1 +0x1.738d4p+1 +0x1.045a56p+2 +-0x1.6059cep+1 +-0x1.5ae988p+2 +0x1.460dacp+2 +0x1.0a17e2p+0 +0x1.dffac4p+1 +-0x1.b85402p+0 +0x1.018b74p+4 +0x1.4d7306p-1 +-0x1.7af6fp+2 +0x1.431bf8p-3 +0x1.962442p+2 +-0x1.2ea6dep+3 +-0x1.732368p+1 +-0x1.d0288cp+1 +-0x1.54d27p+2 +0x1.7fb7ap-3 +0x1.3c3b2p-1 +0x1.fd2cdcp+0 +0x1.64db02p+2 +-0x1.9ffb8ep+1 +-0x1.b45644p+1 +-0x1.7119dp+0 +0x1.df4136p+2 +-0x1.6f61aep+3 +0x1.756248p+1 +-0x1.11a29ap+0 +-0x1.c71a4ap-1 +-0x1.215054p+1 +0x1.49dcccp+3 +-0x1.1ab70ep+3 +-0x1.ed2d34p+0 +0x1.0ae86ap+1 +0x1.10327p+2 +0x1.b50f68p+1 +-0x1.0cc36ap+2 +0x1.a31b08p+1 +-0x1.ea01c2p-1 +-0x1.e9994ep+2 +-0x1.5a1282p+1 +0x1.99b03cp+0 +-0x1.75c29ap+2 +-0x1.daf9dp-3 +-0x1.4f2cdep+2 +-0x1.5ad51cp+1 +-0x1.d9754p-1 +0x1.1b529ep+3 +0x1.e4cdc2p+2 +0x1.41d348p+3 +-0x1.6a97bap-1 +0x1.69df0ep+2 +-0x1.20735ap+1 +0x1.201278p+1 +0x1.aae504p+1 +-0x1.ed5e34p+2 +-0x1.e0be58p-1 +-0x1.e8d3fep+6 +0x1.7c6546p+3 +0x1.35fa12p+2 +-0x1.b1b9dcp+2 +0x1.65c0aep+2 +-0x1.d68422p+3 +0x1.752c56p+0 +-0x1.5c123p+2 +-0x1.6b262ep-4 +-0x1.2172a8p+1 +0x1.1048bap+2 +0x1.9824p+0 +0x1.5f51cp+1 +0x1.6e4c66p-1 +0x1.d89674p+1 +-0x1.20e0bap-3 +-0x1.684a0ap+2 +-0x1.6c94b4p+4 +0x1.fbca4ap+1 +-0x1.2d169cp+2 +0x1.a0fc8ep+2 +-0x1.13bc7p+1 +0x1.2dbea6p+2 +0x1.3b74d8p-1 +-0x1.439318p+3 +-0x1.5877dcp+2 +0x1.f7d12ap+6 +0x1.b5c594p+1 +-0x1.230e7ep+8 +-0x1.5fe50cp+2 +0x1.5fb058p+1 +0x1.a76e88p+2 +0x1.53dfep+3 +0x1.3551cp+1 +0x1.684c92p-1 +0x1.f4e2f2p+2 +-0x1.84c6d8p+1 +-0x1.0fa904p+3 +0x1.300ep+3 +-0x1.8b818ep+2 +-0x1.17ee4ap+2 +0x1.83426ap+2 +0x1.452b8p+2 +-0x1.b8ee12p+1 +0x1.443426p+1 +0x1.df807cp+0 +-0x1.cb8376p+2 +-0x1.e56946p+2 +-0x1.571e0ap+0 +0x1.a03d54p+2 +-0x1.649eccp+2 +0x1.c52b22p+1 +0x1.ab7ee8p+2 +-0x1.89db6cp-1 +0x1.870468p-3 +-0x1.b852bcp-2 +-0x1.e0cb22p+1 +0x1.8dc1c4p+8 +-0x1.6724f4p+1 +0x1.24947p+0 +-0x1.0857dap+0 +0x1.dd7318p+1 +0x1.ca6222p-1 +-0x1.55fa3ep+2 +0x1.588bfp+1 +0x1.306422p+3 +-0x1.ec0ad4p+1 +-0x1.549242p+2 +-0x1.3ce69cp+2 +-0x1.382d42p+3 +-0x1.ab3002p+2 +0x1.57a8d8p+0 +0x1.2036fp+1 +0x1.5ccab2p+2 +0x1.f4ca7cp+1 +0x1.eb34e2p+0 +-0x1.51d32cp-2 +-0x1.007426p+1 +-0x1.3b7da4p+2 +0x1.90fc0ap-4 +0x1.14e998p+3 +0x1.a2cbc8p+2 +-0x1.e7c818p-1 +-0x1.2a9802p-4 +0x1.5b6514p+2 +-0x1.069eccp+3 +0x1.7ca738p+3 +-0x1.8896b8p+1 +-0x1.e5807ap+1 +-0x1.498c8ap+1 +-0x1.bdb48cp+2 +-0x1.1241dep+1 +0x1.0a3768p+2 +0x1.f36a7ap+1 +-0x1.46691p+1 +-0x1.3e438ep+2 +0x1.d58686p+6 +-0x1.04ea12p+3 +-0x1.349cb6p+7 +-0x1.ea2e06p+2 +0x1.540e7p-1 +-0x1.e3c488p+2 +-0x1.7f59cap-1 +0x1.68fe0ap+2 +0x1.10b5a4p+1 +0x1.7ea744p+1 +-0x1.267622p+3 +-0x1.2390e4p+8 +-0x1.3101acp+2 +-0x1.7248bp+0 +-0x1.9824fcp-1 +-0x1.4bd76cp+2 +0x1.cb99d6p-2 +-0x1.c026dcp-5 +-0x1.5e0b04p+2 +-0x1.eaeab6p+1 +-0x1.6ba2a4p-1 +0x1.20f5c8p-3 +0x1.3eedc2p+1 +-0x1.3069acp+2 +-0x1.055766p+3 +0x1.f8aa3ep+1 +-0x1.70aa1cp+2 +-0x1.e8a2c8p+2 +0x1.7edfd8p+2 +0x1.65b56p+1 +-0x1.6c8ed2p+1 +-0x1.6e2d96p+1 +-0x1.9dfe76p-1 +0x1.5c76aap+1 From patchwork Wed Nov 24 19:38:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48094 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 724313858C27 for ; Wed, 24 Nov 2021 20:15:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 724313858C27 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637784913; bh=lWSb2V2bGXHA3pjjtziUJjRjjy2ofxAsMpF7jCXJqYg=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=sXaaXtVgeocBszHHPrAZezTkyG1Un9f6L29NsxqsT58CZJkOZ6Hm7WoJo193RXF2u 3OPdxwMEL5lTi99/nIbvDi3+Piv71sVwen+10WPcCQjRHTYqdI+mcaiC0LDPMXfDPq r+qMEhFQeIeTvzN8/4CTk9x+388sM0FqfHHjKFHY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 26ED03857805 for ; Wed, 24 Nov 2021 19:38:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 26ED03857805 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="216066720" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="216066720" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="497796787" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga007.jf.intel.com with ESMTP; 24 Nov 2021 11:38:16 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XS021555; Wed, 24 Nov 2021 11:38:15 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 41/42] x86-64: Add vector tanh/tanhf implementation to libmvec Date: Wed, 24 Nov 2021 11:38:06 -0800 Message-Id: <20211124193807.2093208-42-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, KAM_STOCKGEN, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Implement vectorized tanh/tanhf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector tanh/tanhf with regenerated ulps. --- bits/libm-simd-decl-stubs.h | 11 + math/bits/mathcalls.h | 2 +- .../unix/sysv/linux/x86_64/libmvec.abilist | 8 + sysdeps/x86/fpu/bits/math-vector.h | 4 + sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/Versions | 2 + sysdeps/x86_64/fpu/libm-test-ulps | 15 + .../fpu/multiarch/svml_d_tanh2_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_d_tanh2_core.c | 27 + .../fpu/multiarch/svml_d_tanh2_core_sse4.S | 3448 +++++++++++++++++ .../fpu/multiarch/svml_d_tanh4_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_d_tanh4_core.c | 27 + .../fpu/multiarch/svml_d_tanh4_core_avx2.S | 3307 ++++++++++++++++ .../fpu/multiarch/svml_d_tanh8_core-avx2.S | 20 + .../x86_64/fpu/multiarch/svml_d_tanh8_core.c | 27 + .../fpu/multiarch/svml_d_tanh8_core_avx512.S | 3016 ++++++++++++++ .../fpu/multiarch/svml_s_tanhf16_core-avx2.S | 20 + .../fpu/multiarch/svml_s_tanhf16_core.c | 28 + .../multiarch/svml_s_tanhf16_core_avx512.S | 1764 +++++++++ .../fpu/multiarch/svml_s_tanhf4_core-sse2.S | 20 + .../x86_64/fpu/multiarch/svml_s_tanhf4_core.c | 28 + .../fpu/multiarch/svml_s_tanhf4_core_sse4.S | 2143 ++++++++++ .../fpu/multiarch/svml_s_tanhf8_core-sse.S | 20 + .../x86_64/fpu/multiarch/svml_s_tanhf8_core.c | 28 + .../fpu/multiarch/svml_s_tanhf8_core_avx2.S | 2035 ++++++++++ sysdeps/x86_64/fpu/svml_d_tanh2_core.S | 29 + sysdeps/x86_64/fpu/svml_d_tanh4_core.S | 29 + sysdeps/x86_64/fpu/svml_d_tanh4_core_avx.S | 25 + sysdeps/x86_64/fpu/svml_d_tanh8_core.S | 25 + sysdeps/x86_64/fpu/svml_s_tanhf16_core.S | 25 + sysdeps/x86_64/fpu/svml_s_tanhf4_core.S | 29 + sysdeps/x86_64/fpu/svml_s_tanhf8_core.S | 29 + sysdeps/x86_64/fpu/svml_s_tanhf8_core_avx.S | 25 + .../x86_64/fpu/test-double-libmvec-tanh-avx.c | 1 + .../fpu/test-double-libmvec-tanh-avx2.c | 1 + .../fpu/test-double-libmvec-tanh-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-tanh.c | 3 + .../x86_64/fpu/test-double-vlen2-wrappers.c | 1 + .../fpu/test-double-vlen4-avx2-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen4-wrappers.c | 1 + .../x86_64/fpu/test-double-vlen8-wrappers.c | 1 + .../x86_64/fpu/test-float-libmvec-tanhf-avx.c | 1 + .../fpu/test-float-libmvec-tanhf-avx2.c | 1 + .../fpu/test-float-libmvec-tanhf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-tanhf.c | 3 + .../x86_64/fpu/test-float-vlen16-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen4-wrappers.c | 1 + .../fpu/test-float-vlen8-avx2-wrappers.c | 1 + .../x86_64/fpu/test-float-vlen8-wrappers.c | 1 + 49 files changed, 16276 insertions(+), 1 deletion(-) create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core-avx2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core_avx512.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core-sse2.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core_sse4.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core-sse.S create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core.c create mode 100644 sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core_avx2.S create mode 100644 sysdeps/x86_64/fpu/svml_d_tanh2_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_tanh4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_d_tanh4_core_avx.S create mode 100644 sysdeps/x86_64/fpu/svml_d_tanh8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_tanhf16_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_tanhf4_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_tanhf8_core.S create mode 100644 sysdeps/x86_64/fpu/svml_s_tanhf8_core_avx.S create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-tanh.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx2.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx512f.c create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-tanhf.c diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h index 3968f2935b..c4f9746ec9 100644 --- a/bits/libm-simd-decl-stubs.h +++ b/bits/libm-simd-decl-stubs.h @@ -318,4 +318,15 @@ #define __DECL_SIMD_tanf32x #define __DECL_SIMD_tanf64x #define __DECL_SIMD_tanf128x + +#define __DECL_SIMD_tanh +#define __DECL_SIMD_tanhf +#define __DECL_SIMD_tanhl +#define __DECL_SIMD_tanhf16 +#define __DECL_SIMD_tanhf32 +#define __DECL_SIMD_tanhf64 +#define __DECL_SIMD_tanhf128 +#define __DECL_SIMD_tanhf32x +#define __DECL_SIMD_tanhf64x +#define __DECL_SIMD_tanhf128x #endif diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 48a525234e..999ae4d703 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -72,7 +72,7 @@ __MATHCALL_VEC (cosh,, (_Mdouble_ __x)); /* Hyperbolic sine of X. */ __MATHCALL_VEC (sinh,, (_Mdouble_ __x)); /* Hyperbolic tangent of X. */ -__MATHCALL (tanh,, (_Mdouble_ __x)); +__MATHCALL_VEC (tanh,, (_Mdouble_ __x)); #ifdef __USE_GNU /* Cosine and sine of X. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist index f8280539f6..055530f3ab 100644 --- a/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -64,6 +64,7 @@ GLIBC_2.35 _ZGVbN2v_log1p F GLIBC_2.35 _ZGVbN2v_log2 F GLIBC_2.35 _ZGVbN2v_sinh F GLIBC_2.35 _ZGVbN2v_tan F +GLIBC_2.35 _ZGVbN2v_tanh F GLIBC_2.35 _ZGVbN2vv_atan2 F GLIBC_2.35 _ZGVbN2vv_hypot F GLIBC_2.35 _ZGVbN4v_acosf F @@ -84,6 +85,7 @@ GLIBC_2.35 _ZGVbN4v_log1pf F GLIBC_2.35 _ZGVbN4v_log2f F GLIBC_2.35 _ZGVbN4v_sinhf F GLIBC_2.35 _ZGVbN4v_tanf F +GLIBC_2.35 _ZGVbN4v_tanhf F GLIBC_2.35 _ZGVbN4vv_atan2f F GLIBC_2.35 _ZGVbN4vv_hypotf F GLIBC_2.35 _ZGVcN4v_acos F @@ -104,6 +106,7 @@ GLIBC_2.35 _ZGVcN4v_log1p F GLIBC_2.35 _ZGVcN4v_log2 F GLIBC_2.35 _ZGVcN4v_sinh F GLIBC_2.35 _ZGVcN4v_tan F +GLIBC_2.35 _ZGVcN4v_tanh F GLIBC_2.35 _ZGVcN4vv_atan2 F GLIBC_2.35 _ZGVcN4vv_hypot F GLIBC_2.35 _ZGVcN8v_acosf F @@ -124,6 +127,7 @@ GLIBC_2.35 _ZGVcN8v_log1pf F GLIBC_2.35 _ZGVcN8v_log2f F GLIBC_2.35 _ZGVcN8v_sinhf F GLIBC_2.35 _ZGVcN8v_tanf F +GLIBC_2.35 _ZGVcN8v_tanhf F GLIBC_2.35 _ZGVcN8vv_atan2f F GLIBC_2.35 _ZGVcN8vv_hypotf F GLIBC_2.35 _ZGVdN4v_acos F @@ -144,6 +148,7 @@ GLIBC_2.35 _ZGVdN4v_log1p F GLIBC_2.35 _ZGVdN4v_log2 F GLIBC_2.35 _ZGVdN4v_sinh F GLIBC_2.35 _ZGVdN4v_tan F +GLIBC_2.35 _ZGVdN4v_tanh F GLIBC_2.35 _ZGVdN4vv_atan2 F GLIBC_2.35 _ZGVdN4vv_hypot F GLIBC_2.35 _ZGVdN8v_acosf F @@ -164,6 +169,7 @@ GLIBC_2.35 _ZGVdN8v_log1pf F GLIBC_2.35 _ZGVdN8v_log2f F GLIBC_2.35 _ZGVdN8v_sinhf F GLIBC_2.35 _ZGVdN8v_tanf F +GLIBC_2.35 _ZGVdN8v_tanhf F GLIBC_2.35 _ZGVdN8vv_atan2f F GLIBC_2.35 _ZGVdN8vv_hypotf F GLIBC_2.35 _ZGVeN16v_acosf F @@ -184,6 +190,7 @@ GLIBC_2.35 _ZGVeN16v_log1pf F GLIBC_2.35 _ZGVeN16v_log2f F GLIBC_2.35 _ZGVeN16v_sinhf F GLIBC_2.35 _ZGVeN16v_tanf F +GLIBC_2.35 _ZGVeN16v_tanhf F GLIBC_2.35 _ZGVeN16vv_atan2f F GLIBC_2.35 _ZGVeN16vv_hypotf F GLIBC_2.35 _ZGVeN8v_acos F @@ -204,5 +211,6 @@ GLIBC_2.35 _ZGVeN8v_log1p F GLIBC_2.35 _ZGVeN8v_log2 F GLIBC_2.35 _ZGVeN8v_sinh F GLIBC_2.35 _ZGVeN8v_tan F +GLIBC_2.35 _ZGVeN8v_tanh F GLIBC_2.35 _ZGVeN8vv_atan2 F GLIBC_2.35 _ZGVeN8vv_hypot F diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h index 618a30cdc1..be3efa9faa 100644 --- a/sysdeps/x86/fpu/bits/math-vector.h +++ b/sysdeps/x86/fpu/bits/math-vector.h @@ -138,6 +138,10 @@ # define __DECL_SIMD_tan __DECL_SIMD_x86_64 # undef __DECL_SIMD_tanf # define __DECL_SIMD_tanf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanh +# define __DECL_SIMD_tanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanhf +# define __DECL_SIMD_tanhf __DECL_SIMD_x86_64 # endif #endif diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 7fa6b695ae..c4ab057fe1 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -48,6 +48,7 @@ libmvec-funcs = \ sincos \ sinh \ tan \ + tanh \ # Define libmvec function for benchtests directory. libmvec-bench-funcs = \ diff --git a/sysdeps/x86_64/fpu/Versions b/sysdeps/x86_64/fpu/Versions index 6cb335cf94..5b5d13a1b6 100644 --- a/sysdeps/x86_64/fpu/Versions +++ b/sysdeps/x86_64/fpu/Versions @@ -32,6 +32,7 @@ libmvec { _ZGVbN2v_log2; _ZGVcN4v_log2; _ZGVdN4v_log2; _ZGVeN8v_log2; _ZGVbN2v_sinh; _ZGVcN4v_sinh; _ZGVdN4v_sinh; _ZGVeN8v_sinh; _ZGVbN2v_tan; _ZGVcN4v_tan; _ZGVdN4v_tan; _ZGVeN8v_tan; + _ZGVbN2v_tanh; _ZGVcN4v_tanh; _ZGVdN4v_tanh; _ZGVeN8v_tanh; _ZGVbN2vv_atan2; _ZGVcN4vv_atan2; _ZGVdN4vv_atan2; _ZGVeN8vv_atan2; _ZGVbN2vv_hypot; _ZGVcN4vv_hypot; _ZGVdN4vv_hypot; _ZGVeN8vv_hypot; _ZGVbN4v_acosf; _ZGVcN8v_acosf; _ZGVdN8v_acosf; _ZGVeN16v_acosf; @@ -52,6 +53,7 @@ libmvec { _ZGVbN4v_log2f; _ZGVcN8v_log2f; _ZGVdN8v_log2f; _ZGVeN16v_log2f; _ZGVbN4v_sinhf; _ZGVcN8v_sinhf; _ZGVdN8v_sinhf; _ZGVeN16v_sinhf; _ZGVbN4v_tanf; _ZGVcN8v_tanf; _ZGVdN8v_tanf; _ZGVeN16v_tanf; + _ZGVbN4v_tanhf; _ZGVcN8v_tanhf; _ZGVdN8v_tanhf; _ZGVeN16v_tanhf; _ZGVbN4vv_atan2f; _ZGVcN8vv_atan2f; _ZGVdN8vv_atan2f; _ZGVeN16vv_atan2f; _ZGVbN4vv_hypotf; _ZGVcN8vv_hypotf; _ZGVdN8vv_hypotf; _ZGVeN16vv_hypotf; } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 4a6b224b5d..659017e4c7 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -2124,6 +2124,21 @@ float: 3 float128: 3 ldouble: 4 +Function: "tanh_vlen16": +float: 1 + +Function: "tanh_vlen2": +double: 1 + +Function: "tanh_vlen4": +double: 1 + +Function: "tanh_vlen4_avx2": +double: 1 + +Function: "tanh_vlen8": +double: 1 + Function: "tgamma": double: 9 float: 8 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core-sse2.S new file mode 100644 index 0000000000..35b065fe55 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized tanh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN2v_tanh _ZGVbN2v_tanh_sse2 +#include "../svml_d_tanh2_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core.c new file mode 100644 index 0000000000..d2e63bdc56 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized tanh, vector length is 2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN2v_tanh +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN2v_tanh, __GI__ZGVbN2v_tanh, __redirect__ZGVbN2v_tanh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core_sse4.S new file mode 100644 index 0000000000..de7be4be4e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core_sse4.S @@ -0,0 +1,3448 @@ +/* Function tanh vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVbN2v_tanh_sse4) + 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 + movaps %xmm0, %xmm7 + movups %xmm14, 48(%rsp) + lea 2720+__svml_dtanh_data_internal(%rip), %r8 + movq 10496+__svml_dtanh_data_internal(%rip), %xmm5 + +/* if VMIN, VMAX is defined for I type */ + pxor %xmm1, %xmm1 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + pshufd $221, %xmm7, %xmm14 + movq 10624+__svml_dtanh_data_internal(%rip), %xmm4 + +/* Here huge arguments, INF and NaNs are filtered out to callout. */ + pand %xmm5, %xmm14 + movdqa %xmm14, %xmm3 + psubd %xmm4, %xmm14 + movups %xmm13, 80(%rsp) + movdqa %xmm14, %xmm2 + movups %xmm15, 32(%rsp) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + movdqa %xmm14, %xmm15 + movq 10688+__svml_dtanh_data_internal(%rip), %xmm13 + pcmpgtd %xmm1, %xmm2 + pcmpgtd %xmm13, %xmm15 + pand %xmm2, %xmm14 + movups %xmm9, 160(%rsp) + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + movdqa %xmm15, %xmm9 + andnps %xmm14, %xmm9 + andps %xmm15, %xmm13 + orps %xmm13, %xmm9 + +/* + * VSHRIMM( I, iIndex, = iIndex, (17 - 4) ); + * VGATHER_MATRIX( L2D, p, TAB._dbP, iIndex, 0, T_ITEM_SIZE, T_ITEM_GRAN, 13, 0, 0 ); + */ + psrld $10, %xmm9 + movups %xmm10, 144(%rsp) + movd %xmm9, %eax + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xff, 0xff, 0xff, 0x22 + pshufd $1, %xmm9, %xmm10 + movups %xmm12, 96(%rsp) + movd %xmm10, %ecx + movups %xmm11, 112(%rsp) + movups 10432+__svml_dtanh_data_internal(%rip), %xmm0 + movslq %eax, %rax + andps %xmm7, %xmm0 + movslq %ecx, %rcx + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + movups 10368+__svml_dtanh_data_internal(%rip), %xmm12 + movups %xmm8, 176(%rsp) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xff, 0xff, 0xff, 0x22 + andps %xmm7, %xmm12 + movups -96(%rax,%r8), %xmm11 + movups %xmm7, (%rsp) + movups -96(%rcx,%r8), %xmm8 + movups -80(%rax,%r8), %xmm9 + movaps %xmm9, %xmm10 + +/* Constant loading */ + movq 10560+__svml_dtanh_data_internal(%rip), %xmm6 + movups -80(%rcx,%r8), %xmm5 + pcmpgtd %xmm6, %xmm3 + movups -64(%rax,%r8), %xmm7 + unpckhpd %xmm8, %xmm11 + movaps %xmm7, %xmm8 + unpcklpd %xmm5, %xmm10 + unpckhpd %xmm5, %xmm9 + movups -48(%rax,%r8), %xmm5 + movups -64(%rcx,%r8), %xmm6 + movmskps %xmm3, %edx + movups -48(%rcx,%r8), %xmm3 + unpcklpd %xmm6, %xmm8 + unpckhpd %xmm6, %xmm7 + movaps %xmm5, %xmm6 + unpcklpd %xmm3, %xmm6 + unpckhpd %xmm3, %xmm5 + movups -32(%rax,%r8), %xmm3 + movups -16(%rax,%r8), %xmm2 + movaps %xmm3, %xmm4 + movups -32(%rcx,%r8), %xmm1 + movups -16(%rcx,%r8), %xmm14 + unpcklpd %xmm1, %xmm4 + unpckhpd %xmm1, %xmm3 + movaps %xmm2, %xmm1 + movups (%rax,%r8), %xmm13 + unpcklpd %xmm14, %xmm1 + unpckhpd %xmm14, %xmm2 + movaps %xmm13, %xmm14 + movups (%rcx,%r8), %xmm15 + unpcklpd %xmm15, %xmm14 + addpd %xmm14, %xmm0 + mulpd %xmm0, %xmm2 + addpd %xmm1, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm3, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm4, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm5, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm6, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm7, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm8, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm9, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm10, %xmm2 + mulpd %xmm2, %xmm0 + addpd %xmm11, %xmm0 + orps %xmm12, %xmm0 + andl $3, %edx + jne .LBL_1_3 + +.LBL_1_2: + movups 176(%rsp), %xmm8 + cfi_restore(25) + movups 160(%rsp), %xmm9 + cfi_restore(26) + movups 144(%rsp), %xmm10 + cfi_restore(27) + movups 112(%rsp), %xmm11 + cfi_restore(28) + movups 96(%rsp), %xmm12 + cfi_restore(29) + movups 80(%rsp), %xmm13 + cfi_restore(30) + movups 48(%rsp), %xmm14 + cfi_restore(31) + movups 32(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups (%rsp), %xmm1 + movups %xmm1, 64(%rsp) + movups %xmm0, 128(%rsp) + je .LBL_1_2 + xorl %eax, %eax + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $2, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + movups 128(%rsp), %xmm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + +.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 + +END(_ZGVbN2v_tanh_sse4) + + .align 16,0x90 + +__svml_dtanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dtanh_cout_rare_internal,@function + .size __svml_dtanh_cout_rare_internal,.-__svml_dtanh_cout_rare_internal + + .section .rodata, "a" + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1069547520 + .long 1069547520 + .long 1069547520 + .long 1069547520 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 7864320 + .long 7864320 + .long 7864320 + .long 7864320 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2147352576 + .long 2147352576 + .long 2147352576 + .long 2147352576 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1069416448 + .long 1069416448 + .long 1069416448 + .long 1069416448 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 7733248 + .long 7733248 + .long 7733248 + .long 7733248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 535822336 + .long 535822336 + .long 535822336 + .long 535822336 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_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/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core-sse.S new file mode 100644 index 0000000000..80e85c47ec --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized tanh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN4v_tanh _ZGVdN4v_tanh_sse_wrapper +#include "../svml_d_tanh4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core.c new file mode 100644 index 0000000000..a26e62052b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized tanh, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN4v_tanh +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN4v_tanh, __GI__ZGVdN4v_tanh, __redirect__ZGVdN4v_tanh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core_avx2.S new file mode 100644 index 0000000000..3d2e43b2a1 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core_avx2.S @@ -0,0 +1,3307 @@ +/* Function tanh vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVdN4v_tanh_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $384, %rsp + lea 2720+__svml_dtanh_data_internal(%rip), %rcx + vmovupd %ymm0, (%rsp) + +/* if VMIN, VMAX is defined for I type */ + vpxor %xmm5, %xmm5, %xmm5 + vmovups %ymm15, 320(%rsp) + vmovups %ymm14, 288(%rsp) + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +/* Constant loading */ + vmovups 10688+__svml_dtanh_data_internal(%rip), %xmm14 + vmovups %ymm13, 256(%rsp) + vmovups %ymm12, 224(%rsp) + vmovups %ymm11, 192(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm9, 96(%rsp) + vandpd 10432+__svml_dtanh_data_internal(%rip), %ymm0, %ymm1 + vandpd 10368+__svml_dtanh_data_internal(%rip), %ymm0, %ymm2 + vextractf128 $1, %ymm0, %xmm7 + vshufps $221, %xmm7, %xmm0, %xmm6 + +/* Here huge arguments, INF and NaNs are filtered out to callout. */ + vpand 10496+__svml_dtanh_data_internal(%rip), %xmm6, %xmm4 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + vpsubd 10624+__svml_dtanh_data_internal(%rip), %xmm4, %xmm15 + vpcmpgtd %xmm5, %xmm15, %xmm0 + vpand %xmm0, %xmm15, %xmm13 + vpcmpgtd %xmm14, %xmm15, %xmm0 + blendvps %xmm0, %xmm14, %xmm13 + +/* + * VSHRIMM( I, iIndex, = iIndex, (17 - 4) ); + * VGATHER_MATRIX( L2D, p, TAB._dbP, iIndex, 0, T_ITEM_SIZE, T_ITEM_GRAN, 13, 0, 0 ); + */ + vpsrld $10, %xmm13, %xmm12 + vmovd %xmm12, %edx + vpcmpgtd 10560+__svml_dtanh_data_internal(%rip), %xmm4, %xmm3 + vmovmskps %xmm3, %r8d + vpextrd $1, %xmm12, %eax + movslq %edx, %rdx + movslq %eax, %rax + vpextrd $2, %xmm12, %r9d + vpextrd $3, %xmm12, %r10d + movslq %r9d, %r9 + movslq %r10d, %r10 + vmovupd -96(%rdx,%rcx), %xmm11 + vmovupd -96(%rax,%rcx), %xmm10 + vmovupd -80(%rax,%rcx), %xmm3 + vmovupd -80(%rdx,%rcx), %xmm6 + vmovupd -64(%rdx,%rcx), %xmm13 + vmovupd -64(%rax,%rcx), %xmm12 + vinsertf128 $1, -96(%r9,%rcx), %ymm11, %ymm8 + vinsertf128 $1, -96(%r10,%rcx), %ymm10, %ymm7 + vmovupd -48(%rdx,%rcx), %xmm9 + vunpckhpd %ymm7, %ymm8, %ymm0 + vmovupd -48(%rax,%rcx), %xmm8 + vinsertf128 $1, -80(%r9,%rcx), %ymm6, %ymm4 + vinsertf128 $1, -80(%r10,%rcx), %ymm3, %ymm5 + vunpcklpd %ymm5, %ymm4, %ymm15 + vunpckhpd %ymm5, %ymm4, %ymm14 + vmovupd -32(%rdx,%rcx), %xmm3 + vmovupd -32(%rax,%rcx), %xmm4 + vinsertf128 $1, -64(%r9,%rcx), %ymm13, %ymm11 + vinsertf128 $1, -48(%r9,%rcx), %ymm9, %ymm7 + vinsertf128 $1, -64(%r10,%rcx), %ymm12, %ymm10 + vinsertf128 $1, -48(%r10,%rcx), %ymm8, %ymm6 + vunpcklpd %ymm10, %ymm11, %ymm13 + vunpckhpd %ymm10, %ymm11, %ymm12 + vunpcklpd %ymm6, %ymm7, %ymm11 + vunpckhpd %ymm6, %ymm7, %ymm10 + vmovupd -16(%rdx,%rcx), %xmm7 + vmovupd -16(%rax,%rcx), %xmm6 + vinsertf128 $1, -32(%r9,%rcx), %ymm3, %ymm5 + vinsertf128 $1, -32(%r10,%rcx), %ymm4, %ymm8 + vunpcklpd %ymm8, %ymm5, %ymm9 + vunpckhpd %ymm8, %ymm5, %ymm8 + vmovupd (%rax,%rcx), %xmm5 + vinsertf128 $1, -16(%r9,%rcx), %ymm7, %ymm3 + vinsertf128 $1, -16(%r10,%rcx), %ymm6, %ymm4 + vunpcklpd %ymm4, %ymm3, %ymm7 + vunpckhpd %ymm4, %ymm3, %ymm6 + vmovupd (%rdx,%rcx), %xmm3 + vinsertf128 $1, (%r9,%rcx), %ymm3, %ymm4 + vinsertf128 $1, (%r10,%rcx), %ymm5, %ymm5 + vunpcklpd %ymm5, %ymm4, %ymm3 + vaddpd %ymm3, %ymm1, %ymm1 + vfmadd213pd %ymm7, %ymm1, %ymm6 + vfmadd213pd %ymm8, %ymm1, %ymm6 + vfmadd213pd %ymm9, %ymm1, %ymm6 + vfmadd213pd %ymm10, %ymm1, %ymm6 + vfmadd213pd %ymm11, %ymm1, %ymm6 + vfmadd213pd %ymm12, %ymm1, %ymm6 + vfmadd213pd %ymm13, %ymm1, %ymm6 + vfmadd213pd %ymm14, %ymm1, %ymm6 + vfmadd213pd %ymm15, %ymm1, %ymm6 + vfmadd213pd %ymm0, %ymm1, %ymm6 + vorpd %ymm2, %ymm6, %ymm0 + testl %r8d, %r8d + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovupd (%rsp), %ymm1 + vmovupd %ymm0, 128(%rsp) + vmovupd %ymm1, 64(%rsp) + je .LBL_1_2 + xorl %eax, %eax + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + movq %r12, 24(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 16(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + movl %r8d, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + movq 24(%rsp), %r12 + cfi_restore(12) + movq 16(%rsp), %r13 + cfi_restore(13) + vmovupd 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x98, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r12,8), %rdi + lea 128(%rsp,%r12,8), %rsi + call __svml_dtanh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN4v_tanh_avx2) + + .align 16,0x90 + +__svml_dtanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dtanh_cout_rare_internal,@function + .size __svml_dtanh_cout_rare_internal,.-__svml_dtanh_cout_rare_internal + + .section .rodata, "a" + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1069547520 + .long 1069547520 + .long 1069547520 + .long 1069547520 + .long 1069547520 + .long 1069547520 + .long 1069547520 + .long 1069547520 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 7864320 + .long 7864320 + .long 7864320 + .long 7864320 + .long 7864320 + .long 7864320 + .long 7864320 + .long 7864320 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .long 0 + .long 2147483648 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .long 4294967295 + .long 2147483647 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2147352576 + .long 2147352576 + .long 2147352576 + .long 2147352576 + .long 2147352576 + .long 2147352576 + .long 2147352576 + .long 2147352576 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .long 2145386496 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1069416448 + .long 1069416448 + .long 1069416448 + .long 1069416448 + .long 1069416448 + .long 1069416448 + .long 1069416448 + .long 1069416448 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 7733248 + .long 7733248 + .long 7733248 + .long 7733248 + .long 7733248 + .long 7733248 + .long 7733248 + .long 7733248 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 535822336 + .long 535822336 + .long 535822336 + .long 535822336 + .long 535822336 + .long 535822336 + .long 535822336 + .long 535822336 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_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/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core-avx2.S new file mode 100644 index 0000000000..92fb24a640 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized tanh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN8v_tanh _ZGVeN8v_tanh_avx2_wrapper +#include "../svml_d_tanh8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core.c new file mode 100644 index 0000000000..495cb1f4fc --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core.c @@ -0,0 +1,27 @@ +/* Multiple versions of vectorized tanh, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN8v_tanh +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN8v_tanh, __GI__ZGVeN8v_tanh, __redirect__ZGVeN8v_tanh) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core_avx512.S new file mode 100644 index 0000000000..ac7e9a5c3b --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core_avx512.S @@ -0,0 +1,3016 @@ +/* Function tanh vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVeN8v_tanh_skx) + 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: + 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 + +END(_ZGVeN8v_tanh_skx) + + .align 16,0x90 + +__svml_dtanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_dtanh_cout_rare_internal,@function + .size __svml_dtanh_cout_rare_internal,.-__svml_dtanh_cout_rare_internal + + .section .rodata, "a" + .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/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core-avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core-avx2.S new file mode 100644 index 0000000000..76bb22229e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core-avx2.S @@ -0,0 +1,20 @@ +/* AVX2 version of vectorized tanhf. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVeN16v_tanhf _ZGVeN16v_tanhf_avx2_wrapper +#include "../svml_s_tanhf16_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core.c new file mode 100644 index 0000000000..cec4c7ed74 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized tanhf, vector length is 16. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVeN16v_tanhf +#include "ifunc-mathvec-avx512-skx.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVeN16v_tanhf, __GI__ZGVeN16v_tanhf, + __redirect__ZGVeN16v_tanhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core_avx512.S new file mode 100644 index 0000000000..5f51c7bf71 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core_avx512.S @@ -0,0 +1,1764 @@ +/* Function tanhf vectorized with AVX-512. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVeN16v_tanhf_skx) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %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: + 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 + +END(_ZGVeN16v_tanhf_skx) + + .align 16,0x90 + +__svml_stanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_stanh_cout_rare_internal,@function + .size __svml_stanh_cout_rare_internal,.-__svml_stanh_cout_rare_internal + + .section .rodata, "a" + .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 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core-sse2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core-sse2.S new file mode 100644 index 0000000000..cd290db337 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core-sse2.S @@ -0,0 +1,20 @@ +/* SSE2 version of vectorized tanhf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVbN4v_tanhf _ZGVbN4v_tanhf_sse2 +#include "../svml_s_tanhf4_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core.c new file mode 100644 index 0000000000..2dcb1f3676 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized tanhf, vector length is 4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVbN4v_tanhf +#include "ifunc-mathvec-sse4_1.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVbN4v_tanhf, __GI__ZGVbN4v_tanhf, + __redirect__ZGVbN4v_tanhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core_sse4.S new file mode 100644 index 0000000000..a01fd3a930 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core_sse4.S @@ -0,0 +1,2143 @@ +/* Function tanhf vectorized with SSE4. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVbN4v_tanhf_sse4) + 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 + lea 1360+__svml_stanh_data_internal(%rip), %rcx + movups %xmm15, 96(%rsp) + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + movaps %xmm0, %xmm15 + +/* Here huge arguments, INF and NaNs are filtered out to callout. */ + movdqu 5760+__svml_stanh_data_internal(%rip), %xmm6 + +/* if VMIN, VMAX is defined for I type */ + pxor %xmm4, %xmm4 + pand %xmm15, %xmm6 + movdqa %xmm6, %xmm3 + psubd 5888+__svml_stanh_data_internal(%rip), %xmm6 + +/* + * small table specific variables * + * Constant loading + */ + movdqu 5952+__svml_stanh_data_internal(%rip), %xmm7 + movdqa %xmm6, %xmm2 + movdqa %xmm6, %xmm1 + pcmpgtd %xmm7, %xmm2 + pcmpgtd %xmm4, %xmm1 + movdqa %xmm2, %xmm5 + pand %xmm1, %xmm6 + andps %xmm2, %xmm7 + andnps %xmm6, %xmm5 + orps %xmm7, %xmm5 + psrld $14, %xmm5 + movups %xmm12, 160(%rsp) + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + pshufd $2, %xmm5, %xmm12 + movd %xmm5, %edx + pshufd $1, %xmm5, %xmm4 + pshufd $3, %xmm5, %xmm5 + movd %xmm12, %r9d + movd %xmm5, %r10d + movd %xmm4, %eax + pcmpgtd 5824+__svml_stanh_data_internal(%rip), %xmm3 + movups 5696+__svml_stanh_data_internal(%rip), %xmm0 + movslq %r9d, %r9 + andps %xmm15, %xmm0 + movslq %edx, %rdx + movslq %r10d, %r10 + movslq %eax, %rax + movups -16(%r9,%rcx), %xmm4 + movmskps %xmm3, %r8d + movaps %xmm4, %xmm12 + movups -16(%rdx,%rcx), %xmm3 + movups -16(%r10,%rcx), %xmm6 + movaps %xmm3, %xmm5 + movups -16(%rax,%rcx), %xmm1 + unpcklpd %xmm6, %xmm12 + unpckhpd %xmm6, %xmm4 + movups (%rdx,%rcx), %xmm6 + unpcklpd %xmm1, %xmm5 + unpckhpd %xmm1, %xmm3 + movaps %xmm6, %xmm1 + movups (%rax,%rcx), %xmm2 + movups (%r9,%rcx), %xmm7 + movups %xmm13, 144(%rsp) + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + movups (%r10,%rcx), %xmm13 + unpcklpd %xmm2, %xmm1 + unpckhpd %xmm2, %xmm6 + movaps %xmm7, %xmm2 + unpcklpd %xmm13, %xmm2 + unpckhpd %xmm13, %xmm7 + cvtps2pd %xmm0, %xmm13 + movhlps %xmm0, %xmm0 + cvtps2pd %xmm0, %xmm0 + mulpd %xmm13, %xmm6 + mulpd %xmm0, %xmm7 + addpd %xmm1, %xmm6 + addpd %xmm2, %xmm7 + mulpd %xmm13, %xmm6 + mulpd %xmm0, %xmm7 + addpd %xmm3, %xmm6 + addpd %xmm4, %xmm7 + mulpd %xmm6, %xmm13 + mulpd %xmm7, %xmm0 + addpd %xmm5, %xmm13 + addpd %xmm12, %xmm0 + cvtpd2ps %xmm13, %xmm1 + cvtpd2ps %xmm0, %xmm3 + movups %xmm14, 112(%rsp) + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + movups 5632+__svml_stanh_data_internal(%rip), %xmm14 + movlhps %xmm3, %xmm1 + andps %xmm15, %xmm14 + orps %xmm14, %xmm1 + testl %r8d, %r8d + jne .LBL_1_3 + +.LBL_1_2: + movups 160(%rsp), %xmm12 + cfi_restore(29) + movaps %xmm1, %xmm0 + movups 144(%rsp), %xmm13 + cfi_restore(30) + movups 112(%rsp), %xmm14 + cfi_restore(31) + movups 96(%rsp), %xmm15 + cfi_restore(32) + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + .cfi_escape 0x10, 0x1d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x70, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x20, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + movups %xmm15, 128(%rsp) + movups %xmm1, 192(%rsp) + xorl %eax, %eax + movups %xmm8, 48(%rsp) + movups %xmm9, 32(%rsp) + movups %xmm10, 16(%rsp) + movups %xmm11, (%rsp) + movq %rsi, 72(%rsp) + movq %rdi, 64(%rsp) + movq %r12, 88(%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 80(%rsp) + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + movl %r8d, %r13d + +.LBL_1_7: + btl %r12d, %r13d + jc .LBL_1_10 + +.LBL_1_8: + incl %r12d + cmpl $4, %r12d + jl .LBL_1_7 + movups 48(%rsp), %xmm8 + cfi_restore(25) + movups 32(%rsp), %xmm9 + cfi_restore(26) + movups 16(%rsp), %xmm10 + cfi_restore(27) + movups (%rsp), %xmm11 + cfi_restore(28) + movq 72(%rsp), %rsi + cfi_restore(4) + movq 64(%rsp), %rdi + cfi_restore(5) + movq 88(%rsp), %r12 + cfi_restore(12) + movq 80(%rsp), %r13 + cfi_restore(13) + movups 192(%rsp), %xmm1 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x58, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x19, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x30, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1a, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1b, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x1c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 128(%rsp,%r12,4), %rdi + lea 192(%rsp,%r12,4), %rsi + call __svml_stanh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVbN4v_tanhf_sse4) + + .align 16,0x90 + +__svml_stanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_stanh_cout_rare_internal,@function + .size __svml_stanh_cout_rare_internal,.-__svml_stanh_cout_rare_internal + + .section .rodata, "a" + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1027604480 + .long 1027604480 + .long 1027604480 + .long 1027604480 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 65011712 + .long 65011712 + .long 65011712 + .long 65011712 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2146959360 + .long 2146959360 + .long 2146959360 + .long 2146959360 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2130706432 + .long 2130706432 + .long 2130706432 + .long 2130706432 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1022885888 + .long 1022885888 + .long 1022885888 + .long 1022885888 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 69730304 + .long 69730304 + .long 69730304 + .long 69730304 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_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 diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core-sse.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core-sse.S new file mode 100644 index 0000000000..a56795e3cd --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core-sse.S @@ -0,0 +1,20 @@ +/* SSE version of vectorized tanhf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define _ZGVdN8v_tanhf _ZGVdN8v_tanhf_sse_wrapper +#include "../svml_s_tanhf8_core.S" diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core.c b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core.c new file mode 100644 index 0000000000..fadcea36ab --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core.c @@ -0,0 +1,28 @@ +/* Multiple versions of vectorized tanhf, vector length is 8. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define SYMBOL_NAME _ZGVdN8v_tanhf +#include "ifunc-mathvec-avx2.h" + +libc_ifunc_redirected (REDIRECT_NAME, SYMBOL_NAME, IFUNC_SELECTOR ()); + +#ifdef SHARED +__hidden_ver1 (_ZGVdN8v_tanhf, __GI__ZGVdN8v_tanhf, + __redirect__ZGVdN8v_tanhf) + __attribute__ ((visibility ("hidden"))); +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core_avx2.S new file mode 100644 index 0000000000..302ecacc0a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core_avx2.S @@ -0,0 +1,2035 @@ +/* Function tanhf vectorized with AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + https://www.gnu.org/licenses/. */ + +/* + * ALGORITHM DESCRIPTION: + * + * 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. + * + * + */ + +#include + + .text +ENTRY(_ZGVdN8v_tanhf_avx2) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + pushq %r14 + pushq %r15 + pushq %rbx + subq $360, %rsp + .cfi_escape 0x10, 0x03, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe8, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xff, 0xff, 0xff, 0x22 + lea 1360+__svml_stanh_data_internal(%rip), %r14 + vmovups %ymm12, 224(%rsp) + +/* + * small table specific variables * + * Constant loading + */ + vmovups 5952+__svml_stanh_data_internal(%rip), %ymm4 + vmovups %ymm13, 256(%rsp) + vmovups %ymm14, 288(%rsp) + vmovups %ymm15, 320(%rsp) + vmovups %ymm8, 32(%rsp) + vmovups %ymm10, 160(%rsp) + vmovups %ymm9, 96(%rsp) + vmovups %ymm11, 192(%rsp) + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + vmovaps %ymm0, %ymm12 + +/* Here huge arguments, INF and NaNs are filtered out to callout. */ + vpand 5760+__svml_stanh_data_internal(%rip), %ymm12, %ymm6 + vpsubd 5888+__svml_stanh_data_internal(%rip), %ymm6, %ymm2 + +/* if VMIN, VMAX is defined for I type */ + vxorps %ymm3, %ymm3, %ymm3 + vpcmpgtd %ymm3, %ymm2, %ymm1 + vpand %ymm1, %ymm2, %ymm5 + vpcmpgtd %ymm4, %ymm2, %ymm13 + vblendvps %ymm13, %ymm4, %ymm5, %ymm14 + vpsrld $14, %ymm14, %ymm15 + vpcmpgtd 5824+__svml_stanh_data_internal(%rip), %ymm6, %ymm7 + vandps 5696+__svml_stanh_data_internal(%rip), %ymm12, %ymm10 + vmovmskps %ymm7, %ebx + vandps 5632+__svml_stanh_data_internal(%rip), %ymm12, %ymm11 + vextractf128 $1, %ymm15, %xmm0 + vmovd %xmm15, %r11d + vmovd %xmm0, %ecx + vpextrd $1, %xmm0, %edx + movslq %ecx, %rcx + movslq %edx, %rdx + vpextrd $2, %xmm0, %eax + vpextrd $3, %xmm0, %r15d + movslq %r11d, %r11 + vpextrd $1, %xmm15, %r10d + vpextrd $2, %xmm15, %r9d + movslq %eax, %rax + movslq %r15d, %r15 + movslq %r10d, %r10 + movslq %r9d, %r9 + vpextrd $3, %xmm15, %r8d + movslq %r8d, %r8 + vmovupd -16(%rcx,%r14), %xmm8 + vmovupd -16(%rdx,%r14), %xmm6 + vmovupd (%r11,%r14), %xmm13 + vmovupd (%rcx,%r14), %xmm0 + vmovupd (%rdx,%r14), %xmm4 + vmovupd -16(%r11,%r14), %xmm9 + vmovupd -16(%r10,%r14), %xmm7 + vmovupd (%r10,%r14), %xmm14 + vinsertf128 $1, -16(%rax,%r14), %ymm8, %ymm2 + vinsertf128 $1, -16(%r15,%r14), %ymm6, %ymm5 + vunpcklpd %ymm5, %ymm2, %ymm8 + vunpckhpd %ymm5, %ymm2, %ymm6 + vinsertf128 $1, (%r9,%r14), %ymm13, %ymm5 + vinsertf128 $1, (%rax,%r14), %ymm0, %ymm13 + vinsertf128 $1, (%r15,%r14), %ymm4, %ymm0 + vcvtps2pd %xmm10, %ymm4 + vextractf128 $1, %ymm10, %xmm10 + vinsertf128 $1, -16(%r9,%r14), %ymm9, %ymm3 + vinsertf128 $1, -16(%r8,%r14), %ymm7, %ymm1 + vunpcklpd %ymm1, %ymm3, %ymm9 + vunpckhpd %ymm1, %ymm3, %ymm7 + vinsertf128 $1, (%r8,%r14), %ymm14, %ymm1 + vunpcklpd %ymm1, %ymm5, %ymm3 + vunpckhpd %ymm1, %ymm5, %ymm2 + vcvtps2pd %xmm10, %ymm5 + vfmadd213pd %ymm3, %ymm4, %ymm2 + vfmadd213pd %ymm7, %ymm4, %ymm2 + vunpcklpd %ymm0, %ymm13, %ymm1 + vunpckhpd %ymm0, %ymm13, %ymm0 + vfmadd213pd %ymm1, %ymm5, %ymm0 + vfmadd213pd %ymm9, %ymm4, %ymm2 + vfmadd213pd %ymm6, %ymm5, %ymm0 + vcvtpd2ps %ymm2, %xmm1 + vfmadd213pd %ymm8, %ymm5, %ymm0 + vcvtpd2ps %ymm0, %xmm0 + vinsertf128 $1, %xmm0, %ymm1, %ymm2 + vorps %ymm11, %ymm2, %ymm0 + testl %ebx, %ebx + jne .LBL_1_3 + +.LBL_1_2: + vmovups 32(%rsp), %ymm8 + cfi_restore(91) + vmovups 96(%rsp), %ymm9 + cfi_restore(92) + vmovups 160(%rsp), %ymm10 + cfi_restore(93) + vmovups 192(%rsp), %ymm11 + cfi_restore(94) + vmovups 224(%rsp), %ymm12 + cfi_restore(95) + vmovups 256(%rsp), %ymm13 + cfi_restore(96) + vmovups 288(%rsp), %ymm14 + cfi_restore(97) + vmovups 320(%rsp), %ymm15 + cfi_restore(98) + addq $360, %rsp + cfi_restore(3) + popq %rbx + cfi_restore(15) + popq %r15 + cfi_restore(14) + popq %r14 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + .cfi_escape 0x10, 0x03, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe8, 0xff, 0xff, 0xff, 0x22 + cfi_offset(6, -16) + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x0f, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdb, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdc, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xe0, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdd, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x20, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xde, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xdf, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x60, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe0, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe1, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0xe2, 0x00, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x22 + +.LBL_1_3: + vmovups %ymm12, 64(%rsp) + vmovups %ymm0, 128(%rsp) + je .LBL_1_2 + xorl %r14d, %r14d + vzeroupper + movq %rsi, 8(%rsp) + movq %rdi, (%rsp) + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_7: + btl %r14d, %ebx + jc .LBL_1_10 + +.LBL_1_8: + incl %r14d + cmpl $8, %r14d + jl .LBL_1_7 + movq 8(%rsp), %rsi + cfi_restore(4) + movq (%rsp), %rdi + cfi_restore(5) + vmovups 128(%rsp), %ymm0 + jmp .LBL_1_2 + .cfi_escape 0x10, 0x04, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xfe, 0xff, 0xff, 0x22 + .cfi_escape 0x10, 0x05, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xfe, 0xff, 0xff, 0x22 + +.LBL_1_10: + lea 64(%rsp,%r14,4), %rdi + lea 128(%rsp,%r14,4), %rsi + call __svml_stanh_cout_rare_internal + jmp .LBL_1_8 + +END(_ZGVdN8v_tanhf_avx2) + + .align 16,0x90 + +__svml_stanh_cout_rare_internal: + + cfi_startproc + + 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 + + cfi_endproc + + .type __svml_stanh_cout_rare_internal,@function + .size __svml_stanh_cout_rare_internal,.-__svml_stanh_cout_rare_internal + + .section .rodata, "a" + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1027604480 + .long 1027604480 + .long 1027604480 + .long 1027604480 + .long 1027604480 + .long 1027604480 + .long 1027604480 + .long 1027604480 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 65011712 + .long 65011712 + .long 65011712 + .long 65011712 + .long 65011712 + .long 65011712 + .long 65011712 + .long 65011712 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2146959360 + .long 2146959360 + .long 2146959360 + .long 2146959360 + .long 2146959360 + .long 2146959360 + .long 2146959360 + .long 2146959360 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 2130706432 + .long 2130706432 + .long 2130706432 + .long 2130706432 + .long 2130706432 + .long 2130706432 + .long 2130706432 + .long 2130706432 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 1022885888 + .long 1022885888 + .long 1022885888 + .long 1022885888 + .long 1022885888 + .long 1022885888 + .long 1022885888 + .long 1022885888 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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 69730304 + .long 69730304 + .long 69730304 + .long 69730304 + .long 69730304 + .long 69730304 + .long 69730304 + .long 69730304 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .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_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 diff --git a/sysdeps/x86_64/fpu/svml_d_tanh2_core.S b/sysdeps/x86_64/fpu/svml_d_tanh2_core.S new file mode 100644 index 0000000000..c703131777 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_tanh2_core.S @@ -0,0 +1,29 @@ +/* Function tanh vectorized with SSE2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVbN2v_tanh) +WRAPPER_IMPL_SSE2 tanh +END (_ZGVbN2v_tanh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN2v_tanh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_tanh4_core.S b/sysdeps/x86_64/fpu/svml_d_tanh4_core.S new file mode 100644 index 0000000000..fb293f4dba --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_tanh4_core.S @@ -0,0 +1,29 @@ +/* Function tanh vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVdN4v_tanh) +WRAPPER_IMPL_AVX _ZGVbN2v_tanh +END (_ZGVdN4v_tanh) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN4v_tanh) +#endif diff --git a/sysdeps/x86_64/fpu/svml_d_tanh4_core_avx.S b/sysdeps/x86_64/fpu/svml_d_tanh4_core_avx.S new file mode 100644 index 0000000000..5385a2c27c --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_tanh4_core_avx.S @@ -0,0 +1,25 @@ +/* Function tanh vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVcN4v_tanh) +WRAPPER_IMPL_AVX _ZGVbN2v_tanh +END (_ZGVcN4v_tanh) diff --git a/sysdeps/x86_64/fpu/svml_d_tanh8_core.S b/sysdeps/x86_64/fpu/svml_d_tanh8_core.S new file mode 100644 index 0000000000..9dafa7bb9a --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_d_tanh8_core.S @@ -0,0 +1,25 @@ +/* Function tanh vectorized with AVX-512, wrapper to AVX2. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_d_wrapper_impl.h" + + .text +ENTRY (_ZGVeN8v_tanh) +WRAPPER_IMPL_AVX512 _ZGVdN4v_tanh +END (_ZGVeN8v_tanh) diff --git a/sysdeps/x86_64/fpu/svml_s_tanhf16_core.S b/sysdeps/x86_64/fpu/svml_s_tanhf16_core.S new file mode 100644 index 0000000000..19d51365e8 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_tanhf16_core.S @@ -0,0 +1,25 @@ +/* Function tanhf vectorized with AVX-512. Wrapper to AVX2 version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVeN16v_tanhf) +WRAPPER_IMPL_AVX512 _ZGVdN8v_tanhf +END (_ZGVeN16v_tanhf) diff --git a/sysdeps/x86_64/fpu/svml_s_tanhf4_core.S b/sysdeps/x86_64/fpu/svml_s_tanhf4_core.S new file mode 100644 index 0000000000..6b98950f84 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_tanhf4_core.S @@ -0,0 +1,29 @@ +/* Function tanhf vectorized with SSE2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVbN4v_tanhf) +WRAPPER_IMPL_SSE2 tanhf +END (_ZGVbN4v_tanhf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVbN4v_tanhf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_tanhf8_core.S b/sysdeps/x86_64/fpu/svml_s_tanhf8_core.S new file mode 100644 index 0000000000..3ada061ae0 --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_tanhf8_core.S @@ -0,0 +1,29 @@ +/* Function tanhf vectorized with AVX2, wrapper version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVdN8v_tanhf) +WRAPPER_IMPL_AVX _ZGVbN4v_tanhf +END (_ZGVdN8v_tanhf) + +#ifndef USE_MULTIARCH + libmvec_hidden_def (_ZGVdN8v_tanhf) +#endif diff --git a/sysdeps/x86_64/fpu/svml_s_tanhf8_core_avx.S b/sysdeps/x86_64/fpu/svml_s_tanhf8_core_avx.S new file mode 100644 index 0000000000..255d45952d --- /dev/null +++ b/sysdeps/x86_64/fpu/svml_s_tanhf8_core_avx.S @@ -0,0 +1,25 @@ +/* Function tanhf vectorized in AVX ISA as wrapper to SSE4 ISA version. + Copyright (C) 2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include "svml_s_wrapper_impl.h" + + .text +ENTRY (_ZGVcN8v_tanhf) +WRAPPER_IMPL_AVX _ZGVbN4v_tanhf +END (_ZGVcN8v_tanhf) diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx.c new file mode 100644 index 0000000000..a456c574e2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-tanh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx2.c new file mode 100644 index 0000000000..a456c574e2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-tanh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx512f.c new file mode 100644 index 0000000000..a456c574e2 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-tanh-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-tanh.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-tanh.c b/sysdeps/x86_64/fpu/test-double-libmvec-tanh.c new file mode 100644 index 0000000000..4cb6a169d8 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-tanh.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC tanh +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c index d6b866263f..5c92c06aea 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c @@ -47,6 +47,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVbN2v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVbN2v_log2) VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVbN2v_sinh) VECTOR_WRAPPER (WRAPPER_NAME (tan), _ZGVbN2v_tan) +VECTOR_WRAPPER (WRAPPER_NAME (tanh), _ZGVbN2v_tanh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c index 88e7f8e375..85f52cf5b1 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c @@ -50,6 +50,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVdN4v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVdN4v_log2) VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVdN4v_sinh) VECTOR_WRAPPER (WRAPPER_NAME (tan), _ZGVdN4v_tan) +VECTOR_WRAPPER (WRAPPER_NAME (tanh), _ZGVdN4v_tanh) #ifndef __ILP32__ # define VEC_INT_TYPE __m256i diff --git a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c index 79f6275ceb..971742e77d 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c @@ -47,6 +47,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVcN4v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVcN4v_log2) VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVcN4v_sinh) VECTOR_WRAPPER (WRAPPER_NAME (tan), _ZGVcN4v_tan) +VECTOR_WRAPPER (WRAPPER_NAME (tanh), _ZGVcN4v_tanh) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c index 80025ee612..fdfc24bc85 100644 --- a/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c @@ -47,6 +47,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log1p), _ZGVeN8v_log1p) VECTOR_WRAPPER (WRAPPER_NAME (log2), _ZGVeN8v_log2) VECTOR_WRAPPER (WRAPPER_NAME (sinh), _ZGVeN8v_sinh) VECTOR_WRAPPER (WRAPPER_NAME (tan), _ZGVeN8v_tan) +VECTOR_WRAPPER (WRAPPER_NAME (tanh), _ZGVeN8v_tanh) #ifndef __ILP32__ # define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx.c new file mode 100644 index 0000000000..254f9201aa --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-tanhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx2.c new file mode 100644 index 0000000000..254f9201aa --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-tanhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx512f.c new file mode 100644 index 0000000000..254f9201aa --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-tanhf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-tanhf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-tanhf.c b/sysdeps/x86_64/fpu/test-float-libmvec-tanhf.c new file mode 100644 index 0000000000..9a61ee8f9c --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-tanhf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC tanhf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c index f8f0a3858a..b1a6360b1a 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c @@ -47,6 +47,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVeN16v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVeN16v_log2f) VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVeN16v_sinhf) VECTOR_WRAPPER (WRAPPER_NAME (tanf), _ZGVeN16v_tanf) +VECTOR_WRAPPER (WRAPPER_NAME (tanhf), _ZGVeN16v_tanhf) #define VEC_INT_TYPE __m512i diff --git a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c index 9778549534..8a29d4e630 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c @@ -47,6 +47,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVbN4v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVbN4v_log2f) VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVbN4v_sinhf) VECTOR_WRAPPER (WRAPPER_NAME (tanf), _ZGVbN4v_tanf) +VECTOR_WRAPPER (WRAPPER_NAME (tanhf), _ZGVbN4v_tanhf) #define VEC_INT_TYPE __m128i diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c index f00ba85eaa..f3337c4656 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c @@ -50,6 +50,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVdN8v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVdN8v_log2f) VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVdN8v_sinhf) VECTOR_WRAPPER (WRAPPER_NAME (tanf), _ZGVdN8v_tanf) +VECTOR_WRAPPER (WRAPPER_NAME (tanhf), _ZGVdN8v_tanhf) /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */ #undef VECTOR_WRAPPER_fFF diff --git a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c index 45bcf55340..3e8b6aa331 100644 --- a/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c +++ b/sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c @@ -47,6 +47,7 @@ VECTOR_WRAPPER (WRAPPER_NAME (log1pf), _ZGVcN8v_log1pf) VECTOR_WRAPPER (WRAPPER_NAME (log2f), _ZGVcN8v_log2f) VECTOR_WRAPPER (WRAPPER_NAME (sinhf), _ZGVcN8v_sinhf) VECTOR_WRAPPER (WRAPPER_NAME (tanf), _ZGVcN8v_tanf) +VECTOR_WRAPPER (WRAPPER_NAME (tanhf), _ZGVcN8v_tanhf) #define VEC_INT_TYPE __m128i From patchwork Wed Nov 24 19:38:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 48095 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C96C23857C7E for ; Wed, 24 Nov 2021 20:16:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C96C23857C7E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1637784991; bh=usRWDUWZYbeKj3MLlGDz5uZKlEv8F2epV/j1dl4zXyg=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=H1gOhFdyEhuvX05Ljjq9SJrYk8YNe2piuFga9LTlZI11oP3R4aaC+8wNA6HeMJzUU +PqaGCGbtJaaF2zd4aOzyzITvF8yShuJzGZNM4N7I/xq6zjxrVFdHSMXVNj9ghQg7t 44vmpQwu02DTYAclo2b445slo6pa3KIcf2VmqL7Q= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 786B53857811 for ; Wed, 24 Nov 2021 19:38:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 786B53857811 X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="235304231" X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="235304231" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 11:38:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,261,1631602800"; d="scan'208";a="538745163" Received: from scymds02.sc.intel.com ([10.82.73.244]) by orsmga001.jf.intel.com with ESMTP; 24 Nov 2021 11:38:16 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds02.sc.intel.com with ESMTP id 1AOJc7XT021555; Wed, 24 Nov 2021 11:38:16 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 42/42] x86-64: Add vector tanh/tanhf to libmvec microbenchmark Date: Wed, 24 Nov 2021 11:38:07 -0800 Message-Id: <20211124193807.2093208-43-skpgkp2@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211124193807.2093208-1-skpgkp2@gmail.com> References: <20211124193807.2093208-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Cc: andrey.kolesov@intel.com Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Add vector tanh/tanhf and input files to libmvec microbenchmark. libmvec-tanh-inputs: 90% Normal random distribution range: (-19.0, 19.0) mean: 0.0 sigma: 2.0 10% uniform random distribution in range (-16.0, 16.0) libmvec-tanhf-inputs: 90% Normal random distribution range: (-10.0f, 10.0f) mean: 0.0f sigma: 2.0f 10% uniform random distribution in range (-8.0f, 8.0f) --- sysdeps/x86_64/fpu/Makeconfig | 1 + sysdeps/x86_64/fpu/libmvec-tanh-inputs | 4100 +++++++++++++++++++++++ sysdeps/x86_64/fpu/libmvec-tanhf-inputs | 4100 +++++++++++++++++++++++ 3 files changed, 8201 insertions(+) create mode 100644 sysdeps/x86_64/fpu/libmvec-tanh-inputs create mode 100644 sysdeps/x86_64/fpu/libmvec-tanhf-inputs diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index c4ab057fe1..eb4b24987a 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -72,6 +72,7 @@ libmvec-bench-funcs = \ log2 \ sinh \ tan \ + tanh \ bench-libmvec-double = \ $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \ diff --git a/sysdeps/x86_64/fpu/libmvec-tanh-inputs b/sysdeps/x86_64/fpu/libmvec-tanh-inputs new file mode 100644 index 0000000000..8a9a49ea6f --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-tanh-inputs @@ -0,0 +1,4100 @@ +## args: double +## ret: double +## includes: math.h +# Normally distributed random inputs in range (-19, 19), mean = 0, standard deviation = 2 +-0x1.11003707ad71cp-1 +-0x1.1f03ac14205d9p+0 +-0x1.88539918864c9p+1 +-0x1.4101316c89f72p+0 +-0x1.3b7fb80733407p-1 +0x1.029dee7ae42b8p+1 +0x1.77fde1eeb3fa9p+0 +0x1.16a53d1f1be7ep+2 +0x1.35a33590dab6ep+0 +-0x1.f85d770c98ac8p-1 +-0x1.75bd8b3896dd6p+1 +-0x1.360247570184fp+1 +0x1.1cb9fa09ed944p+2 +-0x1.cc0c949f502bdp-2 +-0x1.b06432c2571b1p+0 +0x1.e5f318e3e5fffp+1 +-0x1.2bbc5f516e8d5p-1 +-0x1.b20d60c7a530ap-7 +0x1.1ee5aa3496dfdp+0 +0x1.0d39d9919d41cp+1 +-0x1.f35ec91641a28p-1 +-0x1.90e89ab44af72p+0 +-0x1.8718b197051b2p-2 +0x1.e1a883407183ap+0 +-0x1.bb84130e0b6c2p-1 +0x1.66748e4448814p+1 +-0x1.03ac940894e0bp+1 +-0x1.2777c019ddd62p-1 +0x1.1d20fa6e1de58p+1 +-0x1.0d65971f91a47p+1 +0x1.948e128f1e25cp-2 +0x1.a2f9146265a94p+0 +0x1.8dfc3c4334d3fp-2 +-0x1.7f74c97474a54p+0 +0x1.7291977c39bfbp-2 +0x1.0d76b4a8e6ffap-3 +-0x1.8ba0bf00ef4fbp+0 +-0x1.657578a29b5d8p-1 +-0x1.42073771c3e34p-1 +0x1.93ec0ab5f68ep-2 +-0x1.3c18dfcd0f52cp-3 +0x1.e264029c179bdp+0 +-0x1.16b4eb16e4697p+1 +0x1.919dfef854b24p-1 +0x1.51a8f5058cf09p-5 +-0x1.82077ef222e7fp+0 +-0x1.7ed13b350af89p-2 +0x1.7c78e8308fd75p+0 +-0x1.371df5ae1bae6p+1 +-0x1.47b6c3841cc34p-1 +0x1.c0eb159b7735cp+0 +-0x1.041440688e7dcp+1 +0x1.747d826d6612p+0 +-0x1.0e3c3a9af5cbdp+2 +-0x1.9223e1cf1b888p+0 +0x1.2c285914810dep-1 +-0x1.e1009fc24adffp+0 +0x1.a994c08eb3571p+0 +0x1.5642c58ee1935p+1 +0x1.deb1b58a7eb49p-3 +0x1.fb19b06b74f4ep-1 +-0x1.7e95d7fb26218p-5 +0x1.22321372adf9ep-1 +-0x1.6d0ab05da8ddap+1 +0x1.223fd75f84f67p-1 +0x1.cb814b7ce6be9p+0 +0x1.ef5984a81ededp-2 +0x1.4511a4ee5b844p-2 +0x1.c3236baf357dbp-2 +-0x1.b5663a8cd3b9ep-4 +0x1.f9775cb63303ap+0 +-0x1.fbe0031478fdap+0 +0x1.ec4068e7020c7p-3 +0x1.0af7c1486d593p+0 +-0x1.18e6b70f08559p+0 +0x1.2fc06a93c1a14p-1 +-0x1.0df60b2d5d5dcp+0 +-0x1.9be5100601385p+3 +-0x1.f9bea93247eaap-3 +-0x1.a8a18bac42c3ep-3 +0x1.07e73e98efb14p+3 +0x1.8035aed7e3caap-3 +0x1.6e5336703809cp+0 +-0x1.202ed659e43b3p+1 +-0x1.958d6ede80a6p-1 +-0x1.726f74f2ed4edp-1 +-0x1.ae79eb0610afep-1 +-0x1.08e9352d53acdp-1 +0x1.fa1d1125c944ep+0 +0x1.e0e74fafb7d1cp+0 +0x1.649e965de15dp+2 +0x1.6b0e0a5f1a2e3p+1 +-0x1.37f81a887c07fp+0 +-0x1.d1b8204e578e7p-3 +-0x1.8d8c75ac1faf6p+1 +0x1.c753b324bdc81p+1 +0x1.59d5b085ab03ap-2 +-0x1.ea04b4cf878fbp-3 +0x1.29c33813f534dp-4 +-0x1.c2ee5e411a0abp+0 +0x1.cee3ca87f3fb9p+1 +-0x1.b5e1a68fd908dp+0 +-0x1.42abb872d6d69p+0 +0x1.1d88916f49ef1p+1 +0x1.80ec7c336cd4bp-1 +0x1.c25d93126ba6p-4 +0x1.9c79d91cd3abbp+0 +-0x1.253082fbb949cp-3 +-0x1.a401128cbd47p-1 +-0x1.7794302387928p+0 +0x1.77052a301b523p-1 +0x1.aa7ee75ee0531p+1 +-0x1.f6ee5bdcf7b24p-5 +0x1.a39a2af50b0c7p+0 +0x1.3221b7312157fp+0 +0x1.5ff5bc5f5da2dp+0 +-0x1.4613a9aa74a1ep-3 +-0x1.6991a4013ce91p+1 +-0x1.1071c932aaf75p+1 +-0x1.055f3a8317374p+1 +0x1.520ed8dc30dfcp+0 +-0x1.6e15432b01ce6p+1 +0x1.e818fff13878bp+1 +-0x1.8b8cb3370be2bp+0 +-0x1.a9f6495b21f7ep+0 +0x1.88e06bd995039p-1 +0x1.750ec69bb3a04p+0 +-0x1.0dd8abfb7163fp+0 +-0x1.99309e84c1aa3p-1 +-0x1.08b1bb04fcb2fp-1 +0x1.29355bd2c2792p-1 +0x1.0a5b3dcd01fc6p-1 +0x1.273d5ce7af555p+2 +-0x1.27eeab5a7ec7ap+1 +0x1.398225abd6819p+0 +0x1.56fe5fc6fa3c2p+1 +-0x1.f11f36ce3507dp+1 +0x1.9aca951469d7ap-1 +-0x1.8f8d41cd02deep+0 +-0x1.f49e6ed2ea59dp-2 +-0x1.7a129db836d66p-7 +-0x1.1ae76b7d889bbp+0 +0x1.087a59865458p-3 +0x1.6aff85979d2e4p+0 +-0x1.62fa8a2d852ep-1 +0x1.b66d4b202c901p-1 +0x1.b32cf8b59341dp-1 +-0x1.1d2174513be3dp+2 +-0x1.ac60d9bcb0c1ep+0 +-0x1.fbdc48a31f484p-2 +0x1.ce8d89c689577p-1 +-0x1.f0575d582a6f9p-1 +0x1.2480822366da6p+1 +-0x1.4b02cb0e67facp-3 +-0x1.f980a13147b0ap+0 +-0x1.d7c147ac37bbcp+0 +-0x1.19379d25cb96ap-3 +0x1.5724e279ac99fp+3 +-0x1.ab949852b3ebfp-1 +0x1.0e6dad20e631fp+0 +-0x1.45599ccb9a8f2p+1 +-0x1.a1d652eced84ep+1 +0x1.0a9a084bf0496p+0 +-0x1.3806551d9b8a6p+0 +-0x1.4723e9533861ap+1 +0x1.82ba877ba1442p+1 +-0x1.be10fd54c1c05p-2 +0x1.6e9ab6991ff9p-9 +0x1.ac8eba94cd894p+1 +0x1.72f43a9f6a1c5p-2 +0x1.647a30feef7b1p-2 +-0x1.6a098d3db5971p-2 +-0x1.535b60bc394fap-4 +0x1.9b21776d6a934p-1 +-0x1.2551c2ca8d39bp-3 +-0x1.d28fec264c5bbp-1 +0x1.ad14b48970e2fp-3 +-0x1.4314fbc60688dp-2 +-0x1.3d2ddbf4fb65cp+0 +-0x1.91560bb9916ap-2 +-0x1.2064bd3b1efedp+2 +-0x1.8f0d5ae1f2d1dp+0 +0x1.81850a482ba67p+2 +-0x1.f7d0d6b631c12p-1 +-0x1.f23fd47cfedccp+0 +-0x1.75a6060cb3691p-4 +-0x1.d253dcef76f97p+0 +-0x1.5328460a56bcfp+0 +0x1.ce3576497d7cp+0 +-0x1.8652cde59b041p-1 +-0x1.9b8ef067e895dp+1 +0x1.7d9c66e44ec47p+1 +0x1.b96c3d206dae9p+1 +-0x1.f953fc1959504p+0 +-0x1.b4b6a38654965p+0 +-0x1.a1e7bf001c68dp-1 +0x1.46cfc16fd39dep+1 +-0x1.ae24518735eeap-1 +0x1.69939f4e7cd55p+1 +0x1.13306c72f0a09p-1 +0x1.61510c88f5508p-4 +-0x1.1a20364d51f6p+2 +-0x1.64ad7976812dfp+0 +0x1.bc0558fc677f4p-3 +0x1.3c093d67ef0f5p-3 +0x1.4f8ea8f2b2961p+0 +-0x1.55af0900913c4p+2 +0x1.5af1d2d65fffcp-1 +-0x1.0de627c082eb5p+0 +0x1.99ce9e0daa1e9p+1 +-0x1.f3ce28bc65e34p+0 +-0x1.2dcbcb1edbdd6p+1 +0x1.1adafdd6788cap+0 +0x1.853c9a6a80e5fp-2 +-0x1.00b1d997f5fbep-4 +-0x1.12d9e9bd6279ap+1 +-0x1.c05a7b8c13756p+1 +-0x1.df87d85868a0dp+1 +0x1.3e98c5ca53054p+0 +0x1.560246edba008p+1 +-0x1.c6b77410468a2p+0 +-0x1.abd25d2f28082p-4 +0x1.efefd701da649p+0 +0x1.c1a1321b7ef1p-3 +0x1.30ea39a7cf938p+1 +-0x1.a74dd3dc1e9a2p+0 +0x1.79ab521c3abfcp-5 +0x1.d28bd03ad897cp+0 +-0x1.dd0ae5433da8p+1 +0x1.0860581cad894p+1 +-0x1.3d8029781c0b5p-1 +-0x1.1185907f2891p+0 +0x1.2aa161a477366p-1 +-0x1.51a2fdf6d801dp+1 +0x1.6d4ca2cbce87bp+1 +-0x1.08647180c4641p+0 +0x1.73c0d4d983607p-2 +-0x1.460bb7d2967e5p+1 +-0x1.96b5c19d31dd8p+0 +0x1.002087be4803p+0 +-0x1.079c675e5f576p+1 +-0x1.a490fe5d517cap-3 +0x1.3a316fc183cdbp-2 +0x1.b3009a6de004ep-2 +-0x1.8be62fc82b254p+1 +0x1.c70c47d64b2e1p-2 +0x1.6ec300c6e0d84p+0 +-0x1.d42bdaaa529ccp-4 +0x1.542a484cbbdap+0 +-0x1.68aade01022e5p+0 +0x1.0719ec34bd9f8p+0 +0x1.5a5bef7e71b7fp+0 +-0x1.8629891f1440bp+1 +0x1.02a7e1923ab28p+1 +0x1.65e234d9d723p+0 +0x1.81eea275987dcp+0 +-0x1.e09ae78c0f3d3p-1 +0x1.88cff5ac2b027p-1 +-0x1.52a157173cd7ep+3 +0x1.b0dc5207eb04ap-1 +-0x1.949d08f8c29a8p-2 +0x1.2054be5894c16p+1 +-0x1.1c5a705a6144ep+1 +0x1.b9e43c34bb406p+2 +0x1.c647c2d8168ecp-2 +0x1.ede0402a06984p+0 +0x1.5dd9cecee44dp+1 +-0x1.ee86a38dcfb8bp-1 +0x1.430681c5d5435p+0 +-0x1.b239cdf03ac1ep-1 +-0x1.b155c322a615bp+1 +0x1.11059304523ccp+0 +-0x1.940484004736ap+0 +-0x1.29a1c6ce2c1c2p+1 +0x1.2ab817598e9cep-1 +-0x1.bb57ee381a94fp-7 +0x1.2c5fa973bc423p-1 +-0x1.105b2a041f858p-1 +0x1.ad21b525cafe7p+1 +0x1.f591180c51366p+0 +0x1.942c7148cde5ap-1 +-0x1.73fc05810249p-1 +0x1.19a063e9246a8p+1 +0x1.f440990cb9501p-2 +-0x1.6ea822c81ebefp+1 +0x1.05325f085e4dap-2 +-0x1.30227ac82dd9p-1 +0x1.69b3016747ba7p-3 +-0x1.a95e1be905656p+0 +0x1.2ff44c322ad99p+0 +0x1.8803b3b61b6ffp+0 +0x1.e33526ca99p+0 +-0x1.051c3e3f28875p+1 +-0x1.a15cdae0069dp-2 +-0x1.ad8b0ddd507a6p+1 +-0x1.9c52c8fe232b1p+1 +0x1.1e8559bb5e4ccp-2 +0x1.bb99adabb7695p-1 +-0x1.1dae22a6fbcabp+1 +-0x1.9efa1bdb52cb6p+1 +0x1.7f4123362bf2fp+1 +0x1.a0ae02a90565bp-1 +0x1.6c88688bf3d0ep+0 +0x1.ead3bf886bb7ap+2 +0x1.1a07e1bd84d91p+1 +0x1.50e957f68cb51p+1 +-0x1.1e1b6c36f86bep+2 +0x1.62d0a629641b7p+1 +-0x1.641801bf2bda6p-3 +-0x1.a1d7bc21eb45cp+2 +0x1.51f8c794a10a3p+2 +0x1.a556292c47ef2p+1 +-0x1.af841b378367ap-2 +-0x1.6538b64ad0d9fp+1 +-0x1.29feb61cdd084p+0 +0x1.6071bbed6bd28p+2 +0x1.3a75b1d968b3bp+2 +0x1.501b2864bb0aap+0 +0x1.cab884c6bd488p-1 +-0x1.5480733c34557p+0 +-0x1.94991fb9ce0efp+1 +-0x1.4bf2146d428fbp+0 +-0x1.f4aaa87f6871dp+0 +-0x1.c904a4b94b4dep+0 +-0x1.851379734f5a1p-1 +-0x1.3253d2afe1b8dp+0 +-0x1.7e5a943926cb6p+0 +-0x1.ba8b241fbebep-1 +-0x1.e32c5b539ed49p+1 +-0x1.f7a818b66c2fbp-1 +0x1.d79048fa51f8ap-2 +-0x1.e1ee3cfd1f65ap+0 +0x1.8a59e5bc58019p+0 +0x1.72b319253eee7p-1 +-0x1.f0a78fd5454d7p-1 +-0x1.ec9f639a8510ep-1 +-0x1.ef4d44582ca63p+0 +-0x1.45030ba429744p-1 +-0x1.3de02f6079c35p+1 +-0x1.ae4ee802d4d44p-1 +-0x1.2a2442b03a96dp+1 +0x1.1e09c7cc868aep-7 +-0x1.4a0eb9b59d866p+2 +0x1.0b13ec95f71a5p-1 +0x1.5b22063d3f771p+0 +-0x1.c752f2d48be01p-2 +0x1.3d1510a4f8cdbp+0 +0x1.17da3098fa41dp+0 +-0x1.266a093459c2ap+0 +0x1.1d7c2195f892fp+1 +-0x1.347da4da856a7p-1 +-0x1.39b4ff032f74p-3 +0x1.b9a57659a198ep+0 +-0x1.7218160918b0bp+0 +0x1.4139fe4f6d7e2p+1 +0x1.0b6028c217fb9p+0 +-0x1.9cf3201eb31ep-1 +0x1.4e85803ece1acp+1 +0x1.b07b4e5172c39p-2 +0x1.11701ffaaed4bp-2 +-0x1.fb6906ec0f3b9p+1 +0x1.01ebf112314bbp+0 +0x1.a9ca39d6dd6d5p+0 +-0x1.5506bc6b3344fp-1 +0x1.7d3bab08c2e5dp-2 +0x1.ba237ef743cb1p-1 +-0x1.9d3fecf588cedp+0 +0x1.04414d215c2dcp+0 +-0x1.1ab065eb10c66p+0 +0x1.36948aaf9447ap+1 +-0x1.17f0bcd806fe5p+1 +-0x1.bcfc0ccd8bdb9p-3 +0x1.010d86d3def47p-1 +-0x1.7ff50886aa934p-1 +-0x1.dc637874906d3p-1 +0x1.3ee03ef5f88e9p+1 +0x1.44bf15b0634b7p-1 +-0x1.dc7bfeb3d79c5p-2 +0x1.4b2044275cd4dp-1 +0x1.84fe3569cb2f3p-2 +0x1.cd76216869e9bp+1 +0x1.1b1d3cf683a9ep+1 +-0x1.9fcae5205cd46p+1 +-0x1.0a3b58f299bfdp+0 +-0x1.2abc89a0eb39fp+1 +0x1.8c4d6835e5972p-2 +0x1.0a5afe3c4ccc7p+1 +0x1.4fd2cc063a564p-2 +-0x1.f6c4a00ef453fp+1 +0x1.8d885d6947ae1p+1 +0x1.59ea516d1f26bp+1 +0x1.0ec88cec00338p-4 +-0x1.8a5d8487762f6p+1 +0x1.1a283a53f8328p-3 +0x1.829e7668f5048p+0 +-0x1.1225bf460e632p-1 +-0x1.0136269e8d655p+1 +-0x1.d6aa45de9e968p+0 +0x1.1ae55c1f50a91p-1 +-0x1.6d2bbf6ac4bffp-1 +-0x1.2f894a496ef82p+0 +-0x1.8cccaafc6228bp+2 +0x1.a1847ab53654dp-1 +0x1.61b9f91dd1568p+1 +-0x1.593af265b0f1cp-1 +-0x1.6fcb3685e1188p+0 +-0x1.512918de48407p+3 +0x1.55402eb22877fp-5 +-0x1.7758f8ef73ce5p+0 +-0x1.129ed6c9fec09p+0 +0x1.47b15b059fa22p-1 +0x1.c37c3800e473fp-3 +-0x1.55e59b46e00fep+0 +0x1.15ab24a33c4afp-1 +-0x1.5efb2f2360924p+1 +-0x1.c822455705f7dp+1 +-0x1.1ec1052baec55p+0 +-0x1.632d52993655fp+1 +-0x1.3b380e44110fbp-2 +-0x1.d06a61edd63b8p+1 +-0x1.648c7d2c9f39ap+2 +-0x1.e0c74983a6277p-1 +0x1.3b45c176c2365p+1 +0x1.9ac13402948f9p+1 +0x1.821b65b56e9d4p-1 +0x1.49d4a47602299p-3 +-0x1.9536fd2b229e5p-2 +-0x1.e45f70770ffa6p+0 +0x1.f42e02754d539p-4 +-0x1.1447c8f7f0803p-1 +-0x1.3814c90a3de51p+0 +-0x1.bdbbd845f6042p+0 +-0x1.db96f4672c59fp+0 +0x1.b7e8d8652d20bp+0 +0x1.31f092f938cp+0 +-0x1.23d399672214ap+1 +0x1.df4c4c265369bp+0 +-0x1.d6e5873aa87e8p+0 +-0x1.51e8d044a5eadp-1 +-0x1.076d0067d9a9bp+1 +-0x1.5ce540d167649p-1 +-0x1.03dbfbee1785p+0 +0x1.02c32cb8776d7p+1 +0x1.2900de5c7341p+0 +-0x1.31724baaefb15p+1 +-0x1.5d38049159df2p+1 +0x1.7b1185942c1a5p+1 +0x1.ff5246459affp-2 +0x1.0e03a3dd96788p+2 +-0x1.76a414c910fb2p+0 +-0x1.1fffa49b7f639p-3 +0x1.9caea3b989545p-1 +-0x1.793d42826ff15p-3 +0x1.5b08238bd7a18p-2 +0x1.254967c3d947fp-2 +0x1.eb12af95bfb63p+1 +0x1.fe853624e7d83p-2 +0x1.b1e56a27778f2p+1 +0x1.3453058a4da38p-2 +0x1.307c967bfffc2p+1 +0x1.4d5cb9f362b26p+0 +-0x1.b1937baaf010bp-2 +0x1.d8cead48e828fp+1 +0x1.1c4e4c89bf683p-2 +0x1.55b3e6055d0e1p-4 +-0x1.1aa44da042bb6p+0 +-0x1.b0bd843ab6a4ap+0 +-0x1.f054c11c6fd4cp-4 +-0x1.81014cc2078b6p+1 +-0x1.00bf3b441c9b7p+1 +0x1.d0a0747739ef9p-2 +0x1.41625bb6bb69ep-8 +-0x1.40f225f19d807p+0 +0x1.68f2251556c42p-1 +-0x1.17690d37416e8p+1 +-0x1.75fa5ee082b6fp+0 +0x1.29564149663f6p-2 +0x1.9881037ac5d0cp-1 +0x1.2b01b141897c8p+1 +-0x1.0f4d726519f07p-3 +-0x1.4b4620ac0010dp+0 +0x1.9e7c31f8f8785p+1 +-0x1.a6f89ee0f795ap+0 +0x1.f2082c30db1c8p-3 +-0x1.dd839901b27bdp+0 +0x1.7fca07d73884p+0 +-0x1.c3c48700662c3p+0 +-0x1.6e853770c0f9fp+1 +0x1.d8ed1c9463b1dp-3 +-0x1.ebd99dffbb2c1p-1 +0x1.fd966020d3d82p+0 +-0x1.206c1fca20dc4p+1 +0x1.aee0d6765bc5cp+1 +-0x1.35d52e2cf8086p-2 +0x1.13223a47687d9p-2 +0x1.7438981f5be52p-1 +-0x1.4bae87899db27p+0 +-0x1.b15ab21feb71ep+0 +-0x1.9ce3b1e40fdefp+1 +0x1.cef4514e6d594p+1 +-0x1.f17318cfda767p+1 +-0x1.e58d0c56c3a7p-5 +0x1.808beb30314dp+0 +0x1.07f0af7446b52p+1 +0x1.325fd32406536p+0 +-0x1.9faafa9806c7bp-3 +0x1.6104f835ab8edp+2 +-0x1.7807e45e473f1p+1 +0x1.29757328895cp-1 +0x1.3b45876742c98p+0 +0x1.c568a632a54f1p+0 +0x1.6caddd90a8a2cp+2 +-0x1.69894d1536713p-1 +-0x1.3730781c9eddep-2 +0x1.135deea0c29fbp+0 +0x1.e1285a2b60964p-2 +0x1.4b80b406c31bdp+1 +0x1.2811c39f9b89bp+0 +-0x1.20f1978044453p+1 +-0x1.ab8ce8c5036fdp-2 +0x1.9d7e1448756f9p+1 +0x1.3737cdf250b8ep+1 +-0x1.63ffee2f4c37p+0 +0x1.b68f28ec6121ap-2 +-0x1.d9b722403f2d4p-2 +0x1.022adb9727ec4p-3 +0x1.512f3c209cb17p+0 +0x1.18ec27d3a07d7p-3 +-0x1.6afe70ecfae1dp+2 +0x1.147d5c8097cefp+0 +-0x1.81f8ceac9872dp+0 +0x1.0f381836f6e7bp+0 +-0x1.c6ff784a5846dp+0 +-0x1.66360c4d84d4cp+0 +-0x1.6791dbb850ac8p+1 +-0x1.77c6dfc75633p-1 +0x1.45d5f669fcff2p+1 +0x1.268335c952d5ap+1 +0x1.3a13a0ae983f5p+0 +-0x1.780cef3cd015cp-1 +0x1.6128b1ee4e238p+0 +-0x1.439a5589fc96bp+1 +0x1.50b1d01bf2cabp+0 +-0x1.623e0614ac916p+2 +0x1.0ae6ec582d27ap+0 +-0x1.519680b429656p-1 +0x1.59af7cf4175cap+1 +0x1.e0a28f7e72504p+1 +0x1.8cdcd3ddd9b87p-5 +0x1.ec9935e7e72f1p+0 +0x1.5317a281a6589p-1 +0x1.51d70c69c8e4ep-2 +-0x1.50ba0ab89871p+0 +0x1.bf1f67b0f3069p+0 +-0x1.9996f9d095cd3p+0 +-0x1.61d00d92a98ecp+1 +-0x1.3a3a257258ee5p+0 +0x1.2f54b253c0a1bp-1 +-0x1.b4951c9daf538p-1 +0x1.220f603d1e01cp+0 +0x1.09e96024014f6p+0 +-0x1.b1165a43c5c1dp+0 +-0x1.be5766bd4f161p+1 +-0x1.411e5393f3221p-3 +0x1.32640aef4dbcap+1 +-0x1.9d3da53790e56p-2 +-0x1.26eaa37b73589p+0 +-0x1.9657b29aaf014p-1 +0x1.25d18013304f9p+0 +0x1.faee42d2eee09p+1 +0x1.544d16734fc94p-4 +0x1.9ed35146ebdc7p-1 +0x1.c24bc2a87317cp+0 +-0x1.c46c0709ade28p+0 +0x1.058fa84fdc5dfp+1 +0x1.074894afb4a68p+0 +-0x1.2cb5d178181a3p+1 +-0x1.7b022bc97bd87p+1 +0x1.d971cebec3dc3p+0 +-0x1.8ec86add9aeefp-3 +-0x1.f727374002d1dp-2 +0x1.219fdd9159794p-1 +-0x1.565374db0612ap+2 +-0x1.7e78990a2371bp-5 +-0x1.3c9b49b6645b9p-1 +0x1.0adc702525844p+1 +0x1.c5a67f1896e7ep-2 +0x1.bd16db8a00accp+0 +0x1.d9d092687d0a3p+0 +0x1.7d3d03a0cd29cp-1 +-0x1.479fcda3b1abcp+1 +0x1.ef3f79cf31cabp-1 +0x1.52dc5518c03d1p+0 +0x1.152d96988dfcbp+0 +-0x1.b9362861efb2ap+0 +0x1.6f1701555f85fp-1 +-0x1.d76088168cba7p+1 +0x1.396904801c693p+2 +-0x1.bb8d37e3d13d9p-1 +-0x1.bea7caef13c6bp-2 +-0x1.56dbccaa97ab9p-1 +0x1.28860ecec5f27p-2 +0x1.9e04061eea66ap-4 +0x1.f80584e5fb2d6p-1 +-0x1.54278b1afdca9p+1 +0x1.37b24baea382dp-1 +0x1.f77b1902c4964p-5 +-0x1.7c43b4e9e93cfp-4 +0x1.10f4e21b1dc18p-1 +-0x1.84c3d380eaf0ap-1 +0x1.6536d3822a5dbp+0 +-0x1.45c85e7112072p+1 +0x1.8d0b5806d37d9p-1 +-0x1.7bfe86e43f6cdp+1 +-0x1.028573702b054p+1 +-0x1.266d423e3032ep-5 +-0x1.6f1e52b43bbcdp+1 +-0x1.b57398f2ff9cep+1 +-0x1.0690070a17c8ep+1 +0x1.951438faf762ep+1 +0x1.54640df149ecfp+0 +0x1.a2e70e2d6b389p-3 +-0x1.4584eadb7a2a5p-2 +0x1.5984124891c5bp+0 +-0x1.3508e20bd00a4p+1 +-0x1.df8c737910911p+1 +-0x1.d401bbbe0de6ep+0 +-0x1.20ff5eb91df8cp-1 +0x1.ade08e2d79c6cp-1 +0x1.fb915453b8d6fp-3 +0x1.a816ef340651dp+0 +-0x1.90a1d1046f146p-10 +-0x1.6b755acce6fb3p+0 +-0x1.54b099489d729p+0 +-0x1.53687ec531316p+1 +0x1.2a93f841dd4ecp+3 +0x1.1c64ac0e63ab9p-2 +-0x1.1cd93b9a183f3p-1 +-0x1.d6676ec0e83b7p-1 +-0x1.b3375faa14daap+0 +-0x1.397f5269a8f46p-1 +0x1.204f1d080a29bp+1 +-0x1.9d15f86e29d32p+1 +0x1.86b445c1fa227p-1 +-0x1.3a978b6d21bb1p+1 +-0x1.299fc79ecbcfdp+1 +-0x1.a744b7e636d36p-4 +-0x1.bb28842c58849p-1 +-0x1.0ff2930b4f8e1p-1 +0x1.aabbf22ae2a88p+0 +-0x1.a112b6d648e72p+0 +0x1.3d09dc3e9e33bp+1 +0x1.2cb5e1779cea5p+1 +0x1.3cd7ac6fa38dap-1 +-0x1.f13990cfe5ec2p+0 +0x1.88f07d5373ae8p+1 +0x1.93179dd8aa89ep-3 +0x1.2bfc9601f50c2p+2 +0x1.ba3b83288bfabp-2 +0x1.335b322f8a7a2p+1 +-0x1.e24d81973b02ep+0 +-0x1.ebc2947a9ce5bp+1 +0x1.4d8134ffd3891p+0 +-0x1.e10c40e71879bp-1 +-0x1.628050434b9fep+0 +0x1.d87ebbb3f51d8p+2 +-0x1.407afbb6de59ep+1 +-0x1.c12b48dd63634p-1 +-0x1.7ef92af52d4d5p-3 +-0x1.41cc220fce214p-1 +-0x1.b4dc079689f4bp+0 +-0x1.b8c92d69cd9ep+0 +-0x1.a4756c48b704p-1 +-0x1.d7ea61d1085d1p+1 +0x1.a45014fadb068p-3 +-0x1.394900efd90a5p-3 +-0x1.5bb80e88edeb6p+0 +0x1.b57ef080526a1p+0 +0x1.6e593e63048dp+0 +-0x1.b3b2e53f25ff4p+0 +0x1.20b8481ed33p-2 +-0x1.a7a9a263d55abp+1 +-0x1.3edfe9034a518p-2 +0x1.04df46fe1a96p+1 +-0x1.85c872b5fe48p-2 +0x1.987aa68c4a40ap+1 +-0x1.8d8ff4c07967ap-3 +-0x1.7bbe501495417p-1 +0x1.09b6e0c740d5cp+0 +0x1.6540ed66aa851p+0 +0x1.5edc2d57e187cp+0 +0x1.70a08d1b11656p+2 +-0x1.6139c482ada5ep-3 +-0x1.4f44b083f6f77p-2 +-0x1.c87cf7e5f2df5p+1 +-0x1.625e9063076bdp+1 +-0x1.b994f9420b41ap+0 +-0x1.d21a73ec72312p+1 +0x1.fb8fbc9a2fe6p+1 +0x1.4e0291e40703ap+0 +0x1.7bec591bcb9f1p+0 +-0x1.22ade5fd6560fp+1 +0x1.3ff0fb4eb11fdp+0 +0x1.acf4457026889p-2 +-0x1.081e4b193da3p+0 +-0x1.af18d2905362dp-3 +-0x1.816382b888e2ap-1 +-0x1.dbf7e57684b5fp+1 +-0x1.109ea0bc3171ep+1 +0x1.2f89c59c1e284p-1 +-0x1.0525cef5eb77ap-2 +-0x1.1527b5894fa4cp-1 +0x1.b3de51b661796p+0 +-0x1.730858021dd8bp-1 +0x1.926cde9b27a87p-2 +-0x1.6d89969971facp+1 +0x1.34fc598a78651p+0 +-0x1.8704c7920740fp+1 +0x1.00f6e3aae939bp+3 +-0x1.4e2aac11bfdf6p+0 +0x1.8aae688be3f99p-1 +0x1.6241568dfe5dcp+1 +0x1.50d6fdd8353a1p+0 +0x1.471f703d627b9p-1 +0x1.016adf54be7b1p-2 +-0x1.6baefbf516dc7p+0 +-0x1.21c30a32cda9ap+0 +0x1.62072a0760112p-5 +-0x1.39b197eda3b67p+0 +0x1.7f04c21a59f65p-1 +-0x1.168386ca9dda1p+1 +-0x1.c9fbcc3111dd1p+1 +0x1.1635f32442b4bp+0 +0x1.3ddeeff0904dp-4 +-0x1.1ee2ce778752ep-4 +-0x1.6899a578aa20fp+0 +0x1.dc1aa30ec4db2p-2 +-0x1.b601c472fde84p-2 +0x1.a8462321fb8p-1 +-0x1.33c518cb111f3p+0 +0x1.a6798664f5c9p+0 +0x1.0a3882fdb4c69p+1 +0x1.06a6a0c714e72p-1 +0x1.6bf6e92c72fdap-1 +-0x1.84d9f0dad55b6p+1 +-0x1.6cf1230fc64fap-2 +0x1.dcbcdf914d19bp+1 +0x1.3536efe9827d5p+1 +0x1.cdd5a0cabf976p-1 +-0x1.bfefec036a01p+0 +-0x1.618704dd2237ep+0 +-0x1.17cefc37ce9e6p-1 +0x1.67adb2356ca23p+1 +0x1.3a39542a3d08dp+0 +-0x1.d038d39843b5cp-4 +0x1.36d7a84eb8a79p-1 +0x1.e318b27ed0599p-3 +-0x1.3e982c6df06fp+1 +0x1.471aa1ad93735p+1 +-0x1.178b0d8b0e41bp+1 +-0x1.b5c3386698386p+0 +-0x1.a52045d0cb3b4p+0 +-0x1.d018cc3de79a2p-4 +0x1.01f7ac5cbbc26p+0 +0x1.e26ee3996bd8ep+1 +0x1.1156ce1170e2ep-1 +0x1.a0a6aa2e7bd22p+1 +-0x1.267fe26a632a4p+0 +-0x1.1988fafc41493p-1 +0x1.0b474ede969c2p+0 +-0x1.8fe1987a07791p-1 +-0x1.5fdfda703863ap+1 +-0x1.9437084d0518ep-5 +0x1.8d0837e936cfdp-1 +0x1.8b69391996a2ap+1 +0x1.fd35a316fc2eep+1 +0x1.20e7616eca6e2p-3 +0x1.1338d3fa2926dp+2 +-0x1.ea5206d0e59ddp+0 +-0x1.cd9f2866a138p-1 +-0x1.1da76fac5b14ep+2 +-0x1.123ce38c400a3p+1 +-0x1.07273f5501a1ep+0 +0x1.c09a9e0830c51p-1 +-0x1.39b1efce626c6p+0 +-0x1.153f21880d3b8p+2 +0x1.8dd607ab18a3ep+1 +0x1.c9119430f7652p-1 +-0x1.06ef9d5040c57p-2 +-0x1.f7e71e8eb08dfp-4 +-0x1.2bcc972227b6p-1 +-0x1.8648732e192eap+1 +-0x1.263feb687a572p+1 +-0x1.d0ae290be2126p+0 +0x1.bf14b6eaddd81p-4 +0x1.d08ea372372fcp-3 +-0x1.d899f538399cep+1 +-0x1.c8a9969e9fae7p+0 +-0x1.5587db2a38d7p+2 +-0x1.c510ed03a0fe3p+0 +-0x1.18b784fb0ed45p+1 +0x1.71cc014d2e991p+0 +-0x1.64f178d84bd9ap+0 +0x1.23e878698dbd8p+0 +-0x1.aec4fa9e8ba9cp-2 +0x1.30e845b965931p+1 +-0x1.f9dee68a8a975p-5 +-0x1.24ba81f47f9a1p-2 +-0x1.9fe796266bcc3p-1 +0x1.af099e5373c01p+1 +-0x1.43231ad599d27p-1 +0x1.1580806ff282bp+1 +-0x1.dd82938144e22p+0 +-0x1.29bfc266ae7abp-4 +0x1.5fafe5b5edad1p+0 +-0x1.22b3574e65c91p+0 +0x1.6651c618cf3f4p-6 +0x1.e17a669700255p+0 +0x1.d3c68b80f60d5p-1 +-0x1.56483d0667741p-3 +0x1.f538f451b9fdp-2 +-0x1.7fb88e136c291p+1 +0x1.7459694066d8cp-2 +0x1.90a7c3293e66dp+1 +-0x1.74067a2d8c534p-2 +0x1.3902e701e5a2fp+1 +0x1.359ad7f5f0d46p-1 +-0x1.14bb77ddc0726p+2 +-0x1.d2b000335796p+0 +0x1.f9f7f852b5e01p-1 +0x1.f4b9e2ad91dap-3 +0x1.18af71f8a9b28p+1 +0x1.2336b1cb0fafbp+2 +-0x1.aa7a9d484c47cp+0 +0x1.23d8f222d52a2p+1 +0x1.06602864ed3cbp+0 +-0x1.4d967624d7dd2p+0 +0x1.0787d6a0e9bcdp+1 +-0x1.9b00fe119f6bbp-3 +0x1.fe98dd197274bp-1 +0x1.5ce4da1b33f67p+1 +0x1.54b8001746585p-1 +0x1.7631f2c31f401p+0 +-0x1.56d6cef83e5a1p+1 +0x1.e93e0296d3f9cp+1 +-0x1.508c63cbc95e1p+0 +-0x1.9afdc631bd59bp-3 +-0x1.c205f2e58cca8p+1 +-0x1.4665ebc7cd0c7p+2 +-0x1.95aab1bd6c38bp-1 +-0x1.0cb91d1523407p+1 +0x1.517e2f1d103eep-1 +-0x1.bf61d1396f8d7p+0 +-0x1.457ed59185adbp+1 +-0x1.37c8c2e9eda75p+0 +-0x1.002cb202563ddp+1 +-0x1.07c27a4b98428p+0 +0x1.274167b3edc11p+0 +0x1.38f41e03ca394p+1 +-0x1.81ce3adcc24efp+0 +-0x1.d73dd14402c5dp-7 +0x1.1be2452685e43p+1 +0x1.76a62646bec56p+2 +0x1.2310181f92686p+0 +0x1.23500e746171fp-1 +0x1.19c6bdd0879c7p-1 +-0x1.5e77f6e1a6136p+2 +-0x1.a6520e7760427p-1 +-0x1.fad8dc512ef64p-2 +-0x1.520906b4ca0edp-1 +-0x1.77399951d85bcp-1 +0x1.14293c930bd93p+0 +0x1.50f49f30f41a3p+0 +0x1.365732ee9462cp+1 +-0x1.3469c823bafdbp-6 +0x1.b1cb35b097958p-1 +0x1.0c8065025cd4ap-1 +0x1.53f72f16765c3p+0 +-0x1.ba6bf36ca2f71p+1 +-0x1.142e216b09fb8p-3 +0x1.240137694a3c1p-1 +0x1.ec3667b2bbaeap-3 +-0x1.5a932d908486ap-1 +0x1.ba4fb40fa34a4p+0 +-0x1.223d30ff2a1a5p+2 +-0x1.27b8add6a6886p-2 +-0x1.a8e54543a5198p-3 +0x1.01d10f40bbe4dp+0 +-0x1.93f7d1ea9858ap-5 +0x1.7fcdddaeac474p+0 +0x1.9a1d8d576de6fp+1 +0x1.036463aaa8b1fp+1 +0x1.b0e6ff5eda3cdp-2 +0x1.02db2f7f0de33p+2 +0x1.6b8a9f549c9b6p+0 +0x1.2fa00597e9e36p+1 +-0x1.d82327772da7cp+0 +-0x1.9d410aaf06663p+1 +-0x1.de77e9c0a780cp-4 +-0x1.4dad4203d1445p+1 +-0x1.cb4adcc5751bcp-3 +-0x1.3f3ebcce0aec2p+1 +0x1.2cd10b49175d9p+1 +-0x1.6f6f2351ad838p-4 +0x1.ed8106947686cp-2 +-0x1.89506742e5d8p+0 +0x1.00c424a42565p+1 +-0x1.6b352e885e7c3p-2 +-0x1.08fb74dc0ab89p+1 +0x1.26b1b1abb522ap+1 +0x1.5f5b97eb4da63p-1 +0x1.5767d36361b7ap+1 +0x1.276b5609db7f6p+1 +0x1.2bc056d863c86p+1 +0x1.054068516fafdp+1 +0x1.e8fb5d99a1a68p-3 +-0x1.7950f176344c2p-1 +0x1.61c78ee7f9271p+1 +-0x1.3da239be38048p+1 +0x1.b309d11338a01p+1 +0x1.b3d519e1bf1d4p-3 +0x1.c7101bf613de6p-1 +-0x1.17cc8034ddd1ap+2 +0x1.5e9e67ea45c7ep-1 +-0x1.7b88b9484a232p+1 +-0x1.bc3d10fd50bc6p-1 +0x1.fe17716a6268cp+1 +-0x1.454e049d56536p-3 +-0x1.203ea7655130ap-4 +0x1.0b62ff735d823p+0 +0x1.0a3696500908p-1 +0x1.b69cbdbd83417p-4 +0x1.e4a2a0310a0dp-1 +-0x1.fc1de8ce9ccbbp-3 +0x1.9c5f0ca6d5bcdp+0 +-0x1.c662e4a9e2b4fp-2 +0x1.cb7759ff98897p-1 +-0x1.61d9a3955f9e8p-1 +-0x1.1450cd02b8002p+1 +-0x1.e773533e402e8p+0 +-0x1.a191c553590d6p-2 +-0x1.3b0969f3dad3bp+1 +-0x1.5739785aa9cb6p-3 +0x1.974ac42aa19f3p-4 +-0x1.19e94204b2e05p+1 +-0x1.60de180df5b3ap-1 +-0x1.7877256bbd104p-1 +-0x1.fea15116b212bp-4 +-0x1.c22308bd575ddp-2 +0x1.288e7f47d1b81p-1 +-0x1.17edd887cdbe2p+0 +-0x1.e322c79333de6p-1 +-0x1.11322e6dd5efp+0 +-0x1.34b88999f1bfdp+1 +0x1.52f1279623616p+0 +0x1.119c0fbd1adb5p+1 +-0x1.69e2d1e8fa137p-6 +0x1.1feb9ad409c2ep+1 +0x1.61feda8a1b167p-1 +-0x1.8f798a89cb563p+1 +-0x1.cd6d9b7ba5c5dp-3 +0x1.969822a48f2bfp-1 +-0x1.4b524db6de106p-2 +-0x1.321ac45903b65p-5 +-0x1.6ebfad34f3528p+1 +0x1.e1d78c350aacfp+1 +-0x1.1208ee7041017p+0 +0x1.50da0aca712e9p+0 +0x1.095648628df8p+1 +0x1.d7c7b5dcd6724p+1 +-0x1.d0964bde55c72p+0 +0x1.2e651714ec24dp+0 +-0x1.c0bdc3f5eb2e8p+0 +0x1.1695d07763352p-1 +0x1.0454b477b93dbp+0 +0x1.4ccce934eb87fp-1 +-0x1.1db5faa1216e6p-3 +-0x1.786a46d1d8691p+1 +0x1.990da5661a543p+0 +-0x1.3cd302e8f403dp-1 +0x1.4f6fe74404b98p+0 +-0x1.d20a797212608p+0 +-0x1.99dd5f0dc1be9p-1 +0x1.e5340b83aa563p+0 +0x1.a5b969d782f2p+1 +-0x1.928d3bcbf4518p-1 +0x1.2e315198a9783p-1 +0x1.513135f05f2bbp+0 +0x1.0222ca2b4f081p+0 +-0x1.a512503fac08dp+0 +-0x1.ec6731814760cp-2 +0x1.0523de79fd4ecp+0 +-0x1.3a3f7be689a0bp+1 +0x1.5ebaf64b450f1p+1 +0x1.224768673ab86p+1 +-0x1.1e90c4dbc07dep+2 +-0x1.fedbaa128aafap+0 +-0x1.022820fe4bbf4p+2 +-0x1.095a68025ebc3p+2 +0x1.ce3a1b7a7d8fap+1 +-0x1.e2fa33afd4d83p+1 +-0x1.000cc0f07a4a9p-1 +-0x1.16afe7cf93e2fp+1 +0x1.5d8299296a8cp+0 +-0x1.582e240c71aaep+1 +-0x1.65ffe7961a37p-1 +-0x1.07b00502bdde1p+1 +-0x1.8a79a9cce700bp+1 +-0x1.362ff8c8539bcp+1 +0x1.5a2a55bb21dddp+0 +-0x1.ad62d5415a7f6p-1 +0x1.43efd93e082dcp-3 +-0x1.121de9c0dc664p-1 +-0x1.68e8ebc40287cp-1 +-0x1.4737a7b0ff72fp+0 +0x1.241da90a40ec1p+1 +0x1.d3724fc717215p-2 +-0x1.d01bf904aa6b9p+0 +-0x1.d040af28a58fcp+0 +-0x1.dfab814bba15ep+2 +-0x1.23d4f32e81314p+2 +0x1.baf260fb10d58p+1 +0x1.8733f7daea068p+1 +0x1.bc26f58537a4dp+0 +0x1.1245110191215p+1 +-0x1.c049b5b81bf84p-5 +-0x1.fec4921b7b307p-1 +0x1.7f7968f52df6bp+1 +-0x1.1dd896290ba68p+0 +-0x1.a9ae636ac6ad5p+0 +-0x1.8077dd65339dep+1 +-0x1.1e7b08199fe76p+2 +0x1.235395438149fp+0 +-0x1.c87d10a63d169p-3 +-0x1.d320da5d9ee0ap-1 +0x1.03b143c0b2672p+0 +0x1.7a38475a7c219p-1 +0x1.242e1d397e6bdp+1 +0x1.b7936a31add3p-1 +-0x1.4f848b363cbf1p+0 +-0x1.0e20dc0f9d118p+1 +-0x1.c14bc04ee403cp+1 +-0x1.5a444d002c71cp+0 +0x1.a4475fe31d5f4p+1 +0x1.d225c2f94ab9dp-2 +0x1.21c16635ce30cp-1 +0x1.235af779a7eecp+0 +-0x1.1b58b94905d77p+0 +-0x1.58b5e5e5e17d8p-1 +0x1.dc72e34ae62ecp+1 +-0x1.de7f639b3d658p+0 +0x1.76a74d5003af5p-2 +-0x1.b2a27178698ffp-1 +-0x1.d78d2ad9958eep-1 +-0x1.d3a2753254aedp+0 +0x1.5d8ba75afc39p-3 +0x1.4604b010c8e13p+1 +-0x1.22ebdca8bfeabp+1 +0x1.78e75f962beb2p-1 +-0x1.9911172a835e6p+0 +0x1.0855c3159b79p+1 +-0x1.36a249f6713e1p+0 +-0x1.2510e79baa8e8p+1 +-0x1.0d06dd5d881f2p-1 +-0x1.9dc2fd4875231p+0 +0x1.afd89ba2db15fp-2 +-0x1.29809ec5a8b95p+0 +0x1.aaf702a408688p+1 +0x1.9dcb10f0825a1p-3 +0x1.5f3cc882f0ce7p+0 +0x1.4ba3a5ffa79fcp+1 +-0x1.6d9b24ac25c87p-3 +0x1.a3ea737ecd838p+0 +0x1.207bc67429ddfp-2 +-0x1.fe6d08f681db5p+0 +0x1.1a69746b81fc4p+0 +0x1.d70e4ab377134p+0 +0x1.6f4597dae2bbbp+1 +-0x1.0c62a62513245p-1 +0x1.d820c9530305ap+1 +-0x1.71efdc4a4f75p+0 +-0x1.30841919dfc79p+0 +0x1.70f5336e17d7dp-1 +-0x1.cb4e9aa5f3973p+0 +0x1.d6ae61baacdc4p+1 +0x1.f196bbf5215ffp+0 +-0x1.41d18d0f022ffp+2 +-0x1.762a83fb3a7fbp+1 +0x1.d63c0d6692ca9p+0 +0x1.f220354c3cc18p+1 +-0x1.f1afc8040b129p+0 +-0x1.076ae4f58169bp-1 +0x1.a217aac4eab47p+1 +-0x1.86eb9445b97f1p+0 +0x1.7d3ed50ce274ap+0 +-0x1.e87dd9747919bp+0 +-0x1.9ed7a29a9c834p+0 +-0x1.5be9942ff4d2p+1 +-0x1.9df17d86201f9p-2 +-0x1.4d8be99e8188dp+1 +-0x1.7ac7760b5a1e6p+1 +-0x1.cd544b866b613p-1 +-0x1.297df97e7a9ecp+1 +-0x1.72ed200511deap+0 +0x1.351bfe4f9af6ep-2 +-0x1.7a6163d228fb8p+0 +0x1.524c21b4055d1p+0 +-0x1.2b55adb91cf67p-1 +0x1.1f938f466b00fp+0 +0x1.21e2580529246p-1 +0x1.7f5a81506ac11p+0 +-0x1.0326e0867440ap+0 +0x1.3dbaa26960115p-1 +0x1.c7e527bc02a67p-2 +0x1.5e1d8eaca6c95p-6 +-0x1.d7ebf650cc9b9p+0 +0x1.9097b662a59eep+0 +0x1.32d4b87983fccp-2 +-0x1.fd2e4f7bf87bfp-3 +0x1.34111b41a0232p+1 +-0x1.320bb7ec305bbp+0 +0x1.c3d3ce6fb26cdp-2 +0x1.d68badce5fad4p-5 +0x1.d5fbd9a4099ap+0 +0x1.7747520a8506ap+1 +-0x1.a3adc4d8243f9p+1 +-0x1.c7e54a561edfcp-1 +-0x1.1872b908a3c89p-1 +-0x1.e39d87f265b94p+0 +0x1.b75530da2cbeep+1 +-0x1.db9717453752p-2 +-0x1.7e4a49aa11db4p-1 +-0x1.ca0c47971a2e3p-1 +-0x1.140941e8f4e9ep-1 +-0x1.b89a4d30de0b1p+1 +-0x1.047d929ca12b4p-3 +-0x1.1fca22d9e3d3fp+1 +0x1.555bf72d916eap+0 +0x1.0ea7bf950d4bep+1 +0x1.c6c843e32c486p+0 +0x1.60342384077cbp+1 +-0x1.a5ffd2292d3b4p-1 +0x1.037b1d21745eep+1 +0x1.125b5c34f3271p+1 +0x1.90738b259e457p-1 +0x1.d921afd783667p+1 +-0x1.b154157bf17a5p+1 +0x1.4431396d43267p+1 +0x1.f07062f70ded8p+1 +-0x1.469440b3191fep-1 +0x1.5ec76df0c7cb9p+0 +-0x1.6c8e20d320275p+1 +0x1.597e7bc43487p+1 +0x1.1f2a6a4019e7bp+1 +-0x1.7b4e545a4fef2p-2 +-0x1.47ffa36f14afap+1 +0x1.69d8cae5bacep+1 +0x1.260285817baf3p+0 +0x1.686e95f29c34dp+1 +0x1.710bd5d2c5ee7p+1 +0x1.55e840d9b9166p+1 +-0x1.43ffa8e88d158p-1 +-0x1.69b8c86092a1fp+0 +0x1.c0c0d7045be57p+1 +0x1.eac24ae0b33dcp+0 +0x1.e064bf381862bp+1 +-0x1.c5a6f5ae0f81ep+1 +0x1.7d090a3ef9149p+2 +-0x1.51054c3cebb78p-2 +0x1.869cae7596005p+0 +0x1.064c8f50de85ap+2 +0x1.0e768a936696ep+1 +0x1.fcd304df17d13p+0 +-0x1.8b71f530abb89p-1 +-0x1.6fa7bbb482b52p+1 +0x1.1131d402eeaa7p-2 +0x1.84b6ef7476f9dp+1 +0x1.82d034b577949p+2 +0x1.3070756303b56p+0 +0x1.d6dd86c0ff286p-1 +0x1.b0c4237bd40dep-1 +0x1.6ecb46f059fb6p-3 +0x1.5472d0ca8751bp-1 +-0x1.2c76e4e00044bp-3 +-0x1.d8f29a525c17bp+1 +-0x1.74e791ac672c3p+2 +-0x1.6c8633d0b9112p-1 +0x1.88639a9d97768p-1 +0x1.0047971d6e2a7p+1 +0x1.115370a703986p-2 +-0x1.25f394e2d24bbp+0 +-0x1.dc8958f7b3acbp+0 +0x1.dc3e846d83038p-1 +-0x1.1395c0860fb54p+2 +0x1.aa61367a61e3dp+1 +-0x1.99a04cdfd0df1p+0 +0x1.b0839e4189b87p+1 +0x1.d13377c3aa005p+0 +0x1.7b7d9baa18cbbp+1 +-0x1.443c98b0560cbp+0 +-0x1.eeb87ebb65fa6p+0 +0x1.38c446b779cd2p+1 +-0x1.710f7cbaa56ebp+1 +-0x1.07b1a0825c188p+1 +-0x1.c75e1451c74e3p+0 +-0x1.3ddf731fb1842p-1 +0x1.27092f8aa5296p+1 +-0x1.0833d382ec7cdp-1 +-0x1.2cb6b94f88bdap-3 +0x1.6bd3df33085e1p+1 +-0x1.17db097560542p+1 +-0x1.fc4a6a3e62f6cp-3 +0x1.0f9e56eba442ap+1 +0x1.40fc5612ba1c1p-1 +-0x1.cc7f4e662776ap+0 +-0x1.792ec52d353ep-1 +-0x1.44a492f5ff5d6p+2 +-0x1.3827d3f76703bp+1 +-0x1.41cca35a5f8bcp+2 +0x1.288402099873fp+1 +0x1.d9b4370fc2651p+0 +-0x1.5f2e14913cedep+0 +-0x1.dd150317c60b9p-2 +0x1.dfc3cb1d20efp+0 +0x1.1f3afe7426708p-2 +-0x1.0cc97c80d87ddp+0 +-0x1.201c3df5ee694p+0 +0x1.df82b0e4c13fdp+0 +0x1.395d76dbb0bf2p-2 +-0x1.0b866d3ed57bcp+2 +-0x1.738d300f0c4d4p+1 +-0x1.0eeade15c772fp+1 +0x1.40cdcce2fc373p+0 +-0x1.3c73da13f2cc1p+1 +-0x1.74ae489a85dacp-2 +0x1.d82759a5a7c6fp+0 +0x1.0df2b07b8328p+2 +0x1.1723e809d8be9p+2 +0x1.8f42905a6af4p-1 +0x1.550ea22983af2p+1 +-0x1.b17830927004cp-5 +-0x1.061f0850a474bp+1 +-0x1.7ae9b9ac3ce2fp-2 +-0x1.1541c8e599a71p-3 +-0x1.ed3335edb3fd8p-2 +-0x1.a2b8e06527b38p-1 +0x1.21c9946e68efep+0 +-0x1.e01f1bfe66fc3p-1 +0x1.9a0d15cac5ef1p-3 +-0x1.39bbd90a02bf2p-2 +-0x1.a0c207726808fp+1 +0x1.268d4ca64e482p+1 +0x1.8e2fbc3125b5ep+0 +-0x1.6b14c3fe2796cp+0 +0x1.8dc764d61a0ccp+0 +0x1.8779e69e57682p-1 +-0x1.176c96d183422p+0 +-0x1.25a54306d73b7p+1 +-0x1.81eb79a888b49p+0 +0x1.ab45eb08c0c95p+1 +0x1.11e367b41be23p-2 +0x1.8ec7b0a28eee7p-2 +0x1.5257a1334d7bbp-2 +-0x1.1ec7ca5da67aap+1 +0x1.827dd95ed480ap-1 +-0x1.14a3ce94c49d2p+1 +-0x1.0389b201a0245p+1 +-0x1.75eb80c0dbf7bp+1 +0x1.24954c7f5ee18p+0 +0x1.f902db3318d55p-1 +0x1.640cf26bfbb62p-2 +-0x1.2f224f92f6885p+1 +-0x1.02d94b4d9016dp+1 +-0x1.9b7db7392324dp+0 +0x1.68651ebb454f2p+1 +0x1.f4796f30027fbp+0 +-0x1.d1393d75f4511p+0 +0x1.c5dc8fd3603a6p+1 +0x1.bb6f3211e908cp-2 +-0x1.cd8996d89a7e6p+0 +-0x1.c73193f75f0c3p+0 +0x1.987076bd1eeaep-1 +-0x1.a68fc08dfec19p+0 +-0x1.50a29bb10ea56p-1 +-0x1.339fbe43d34c6p+1 +-0x1.413901f5193e6p-1 +0x1.ce62222b3805cp+0 +0x1.970f028113879p+1 +0x1.8abad91d0108fp+0 +-0x1.2c58f7a4e021bp-1 +0x1.06a996941e707p+1 +-0x1.384e27706ed3ap+3 +-0x1.fe3dd3b21c701p+1 +-0x1.6021c857420fcp+0 +-0x1.575737013d5d6p-3 +-0x1.cfee4949fe65bp-1 +0x1.11638da253de3p-1 +-0x1.fb4ad68db196fp-1 +-0x1.1db42b2cda11fp+1 +-0x1.00d2d9006315dp-1 +0x1.7fbfd8baa1d71p+1 +0x1.5a65d861f8c53p+1 +-0x1.7176b7fa17aadp+0 +-0x1.4915bbf40d86fp-4 +0x1.6beb9b08962b9p+0 +0x1.57a911eb1ad5fp-1 +-0x1.12d0505a7c635p-2 +0x1.89ea2ae702fcp-1 +-0x1.5632cdad9c323p-1 +-0x1.d4c06be24be8cp+0 +-0x1.4f1954f19cfa9p-1 +0x1.3db72f9579379p+0 +-0x1.d8db14a91be06p-1 +0x1.98df14da2cd37p+0 +0x1.14ed3aaba1e13p-1 +0x1.152fd86c0f4d9p-1 +-0x1.eb0c41597dcfdp-2 +0x1.c34ee9c0b662p+0 +0x1.f84a204697033p+1 +0x1.43f320e296de6p+0 +0x1.38668c7e85186p+1 +-0x1.0fcdda4fc16b8p+0 +-0x1.9f96a6f3cef22p-2 +0x1.e85928dbfb41ap-1 +-0x1.361cdf5362f57p+2 +-0x1.8c83ce414b22fp+1 +0x1.1c76ac621150bp-4 +0x1.5b16355b23c86p+0 +0x1.5c549458b4ea9p+0 +0x1.969e895e32515p-4 +0x1.2440fa8897061p+2 +0x1.31fb48ccd28e9p+1 +0x1.2d1b84d2bb28ap-1 +-0x1.225302fa6c87ep+0 +-0x1.342994f685e83p+1 +-0x1.71951e6049268p-1 +0x1.29b1a102edbd7p+1 +-0x1.cff757eb27dffp+1 +0x1.2a3a816ba5faap+1 +0x1.f42529712cc99p-3 +0x1.c8b54130361efp+0 +0x1.83bb476615988p-2 +-0x1.054f2b37c1a42p+0 +-0x1.0fdb2e462211cp+2 +-0x1.35115f1147a95p+1 +-0x1.b6312122192f4p-1 +0x1.a740b09c4e06fp-1 +0x1.09450797d14ccp+0 +-0x1.7e7729a5712d8p+1 +-0x1.808f836249d14p+1 +-0x1.b7e28934b005fp-1 +-0x1.3c6e2582182cdp+1 +0x1.e87adde1019eep+0 +0x1.3902b2ba290bap-2 +-0x1.76edd365a8352p-3 +-0x1.7169176a615e5p-1 +-0x1.8b4aa06b5acdep-1 +-0x1.4a9160586351bp+0 +-0x1.830a72bfc3baep-2 +-0x1.9fb55e7c25027p+0 +0x1.0cca47e013bebp+0 +0x1.d2398d53a3c7fp+2 +0x1.0dc2f1273843ap-1 +0x1.9a8405cf46916p+1 +0x1.a607c945b5ac9p+1 +-0x1.44bb7d10967a3p+1 +0x1.f3e262d7d2025p+0 +-0x1.1518701db4cacp+1 +-0x1.5946e5076ca65p+1 +-0x1.d8f4f72e75f3bp-1 +-0x1.bc8404e8eea26p+0 +0x1.c53ab41121f9bp-4 +0x1.191f9a7809804p+1 +0x1.acbceb1ee93cep+0 +-0x1.4c2d729be6727p+0 +-0x1.02ea11fc8cd65p+1 +0x1.20889d795ca8cp-1 +0x1.8c2f30e6de49cp+1 +0x1.10b322fb9951bp-3 +-0x1.0b5711609069cp+3 +-0x1.2743a11ce3daap+0 +0x1.4c16c24675605p-1 +-0x1.035d74bcbe027p-4 +-0x1.5967711870325p-1 +-0x1.044af2319224cp+1 +0x1.572759d0c031p+0 +0x1.0b9a4cb849af3p+2 +0x1.c2c14901ebb99p-1 +-0x1.18b6f0db87a4bp+0 +0x1.aa7be7a00f4afp-2 +0x1.0e7168cd2a5b9p+1 +-0x1.b5a3dcd4bbb18p-2 +-0x1.c72a6a042e50ap-1 +-0x1.cb81070961543p-3 +-0x1.47dbd3cd97892p+1 +-0x1.df37b2105266ap+0 +-0x1.430243a5f0f96p+1 +0x1.f6647fbd4cb5fp+1 +0x1.d75654d29b386p+0 +0x1.19a419c0aa2c8p+0 +-0x1.ac16228b22c89p-1 +-0x1.901e201c5cac3p+0 +0x1.091687705c0fep+0 +-0x1.15013d6d9fd25p-2 +-0x1.6e97388085eb2p+0 +0x1.66dc784199b8bp+1 +-0x1.0f6c84c386fafp+1 +-0x1.a8aa7773154bcp-6 +-0x1.aee52b26e299fp+1 +0x1.d26a761084e03p-1 +0x1.87f78adeb3668p+0 +-0x1.7819202c89d5dp-3 +0x1.2401c8899a63p+1 +0x1.4296ce4e36ddp+0 +0x1.b9051ee5173f3p+1 +0x1.6b220e627c763p+0 +-0x1.2ff040a2ba58bp+0 +0x1.aed15d501a24fp+1 +0x1.144ca30cf11f4p+2 +0x1.67aa4ff5ab2b6p+1 +-0x1.48a91f20bffc6p+1 +0x1.9a61f20256742p-2 +-0x1.131b2bd2445cap+1 +0x1.eaf8483e99704p-1 +-0x1.e87e3c3b6be66p+1 +-0x1.a0321a75a5356p+0 +0x1.616db09e2fa48p+0 +0x1.2ed1fbbf59e47p-1 +0x1.325f3a94f97d7p-3 +-0x1.9f96e8dcc513fp-1 +-0x1.0ef2a558260a4p+1 +-0x1.6462b400a9578p-2 +-0x1.d53832d3bed9dp+0 +0x1.b8dd7040d692fp-1 +0x1.4874b97365b26p-1 +-0x1.ec97ba98fa1b1p+1 +-0x1.53ef33d7c4a76p+0 +-0x1.07fba90718481p+1 +-0x1.d5c393bd7c10ep-1 +-0x1.448fe47264738p+2 +0x1.094c28d7301dp+0 +0x1.31663ecbd3645p+1 +-0x1.cf8768a66ee09p+0 +0x1.3509d066274a2p-2 +0x1.8dabe1a2eca3ap-1 +0x1.89563e1a7abc4p-1 +0x1.41e1ccabff7ap-1 +-0x1.bb2d1c4e64f42p+0 +0x1.1c840e2a493d7p+1 +0x1.bc5d90d6ec0a3p+1 +0x1.36b89c616fe2fp+0 +0x1.ca880d8460f9cp-1 +-0x1.88f8a32b99b0dp+1 +0x1.033bdbbad7697p+1 +0x1.7102185faf9b6p+0 +-0x1.3d096a9d70e32p-5 +0x1.3473c7e0d3656p+1 +-0x1.e31a31f195de4p+0 +0x1.efcb56603790dp+0 +0x1.a506ae382d772p-2 +-0x1.711fe7fe834fp-4 +-0x1.144e54b43e567p+1 +-0x1.821f6af7bfa5cp-1 +-0x1.facc3d8bb364ap-3 +-0x1.8d13ffd78004p+2 +-0x1.69e3ad3c29a73p-1 +0x1.4818c4a85a7a4p+0 +-0x1.40af87bbf289bp+1 +0x1.74a9b37329c64p+1 +-0x1.03bd38674857bp+1 +0x1.6e1a90fa22563p-3 +0x1.702f9efb00858p+0 +-0x1.0dab384040f38p+3 +-0x1.a287826e25cc7p+0 +-0x1.6a13d125c1d2dp+0 +0x1.bf6545614f2aap-2 +0x1.0073b49702568p-3 +-0x1.deccb44d69f3dp+0 +0x1.b97cd53a84b79p+1 +-0x1.e859599a8541bp+1 +-0x1.e8608a26fd75ap+0 +0x1.29b278175bf62p-1 +0x1.a8b6d2c497b27p-7 +0x1.0c8efd730f12p-3 +0x1.8abba277c6feep+0 +-0x1.70115381b7af9p-1 +0x1.11c3004c61d25p+0 +-0x1.fcebaafb4ecb6p+0 +0x1.b7819a2b6aba5p-2 +0x1.c4abced09ea7ep+0 +0x1.3168dc1d057d9p-1 +-0x1.625d30f6bd861p-1 +-0x1.4d16412bc07b6p+2 +-0x1.6e78e8541f34cp+1 +0x1.ff57b4477173ap-2 +-0x1.732f7fbf78345p+1 +0x1.c60c8a18ca74bp+1 +-0x1.6c0f712692246p-5 +0x1.6c6fccae9544p+0 +-0x1.8770ac5c7c4d7p+1 +0x1.2e1f3fb86e2e1p+0 +-0x1.8a5f0fb797007p-4 +-0x1.137b351e7d8bep-3 +0x1.08318d16847cp+0 +0x1.55dacfe7d2f16p+0 +0x1.c697ca1ea3a28p+0 +-0x1.7e14c4e8c5dd1p-1 +0x1.c05af990ced74p+0 +0x1.7bfeb1e56722cp+0 +0x1.d456c46c32ff5p-2 +0x1.8f5974602f8c2p+0 +0x1.9e93011006be8p+1 +0x1.27f39a9c172a7p+1 +-0x1.1bbf7b8216c44p+0 +-0x1.be890b1a75765p-3 +0x1.a553d59400777p+0 +0x1.43939e5464cfdp+0 +-0x1.4045e41a2f778p+1 +-0x1.35a0f5e4ccdc2p+1 +-0x1.3422aac46b8f2p+0 +0x1.fa67b5b462e41p+1 +-0x1.3cc6fc0ab709dp+1 +-0x1.332a67bbc85f9p+2 +0x1.78175b45bbf5cp-1 +0x1.07b0322010eb3p+2 +-0x1.39bc1cac5674ap+0 +0x1.7e1ecab2b8611p+1 +-0x1.a8cdaa343f1c3p+0 +0x1.f5b0caff27af8p+0 +-0x1.e7061a420527ep+0 +-0x1.323af1ffac813p-1 +0x1.8d033a8dd7ddap+0 +-0x1.a1a07454f8a1dp+0 +0x1.50cc41f57d39ap-3 +-0x1.f56e5e9fada02p+0 +0x1.3859d96750defp+0 +0x1.73203bf383085p+0 +-0x1.8adde5f8f1df4p+0 +-0x1.d557ae14c19b7p-3 +0x1.36e46dc9e2dddp-2 +-0x1.b8f0c9e030b33p+0 +0x1.27b77812c8d7bp-4 +-0x1.3d6d9449f0b2cp+0 +-0x1.11e906c2545bep+0 +-0x1.deaedd8052d44p+1 +-0x1.6c268666b780dp-1 +-0x1.751cb5efc0125p-1 +0x1.7e5a447cbe912p+0 +-0x1.a1a94467137d8p+0 +-0x1.631e76fac0a58p+0 +-0x1.4974ea8a5b944p-2 +-0x1.610c39847f6dep-4 +0x1.64f79be504d66p-1 +0x1.ef4876bb9373dp-1 +0x1.3bf07758ac0edp+2 +0x1.1b3054b54d8d9p-4 +-0x1.0d3a4f35633c5p-1 +0x1.017ee3b6d9aebp+2 +-0x1.208cbf8e3dbeep+1 +-0x1.5f084df226306p+1 +-0x1.2bc95225cf2a6p-3 +0x1.79882b08dd3ccp+0 +0x1.f213b8342646bp+0 +-0x1.a1dee7da2bf6cp-5 +0x1.398ba033f91a6p-1 +0x1.8f4ec1ecd4e54p+2 +0x1.00f6c9da90a9ap+1 +0x1.b155b9183eb7dp+2 +0x1.b164e917a32f8p-2 +0x1.adaf625ba3cfcp+1 +0x1.e9a2d143c4b25p+0 +-0x1.17544ad4ba83cp+1 +0x1.3276ea83d9999p-3 +0x1.a8dd47223e78p+0 +-0x1.0068d86b467acp+0 +0x1.762577c04e0dbp+0 +-0x1.6f5c5fd4c8741p+1 +0x1.e4a268fcc1f87p+0 +-0x1.2988d714911b8p+0 +-0x1.35c038462ef2ep+0 +-0x1.16cacf6320cacp-5 +-0x1.2596ba0f8da32p+1 +0x1.3ba7b6f28ebcfp-2 +-0x1.d574c505bd404p-3 +0x1.9e272df83331ep+1 +-0x1.baca8328beadep+0 +0x1.9f22e23bc0f6p-1 +-0x1.c073ca76d48a1p-2 +0x1.1633b247d7e01p+0 +0x1.63fde035cd946p-1 +0x1.3bf3ffdc65e09p-2 +-0x1.2429280322e3bp-1 +0x1.b44f60e7247e4p+0 +0x1.35ef8ef818f27p+0 +0x1.5d40629e911f4p+0 +0x1.01263efdae1d3p-2 +0x1.43f43b811264p+1 +-0x1.272e41a83f19cp-2 +0x1.cde265bc071c3p+1 +-0x1.2759fba345ef1p+1 +0x1.53c29fe09b2b4p+0 +-0x1.3b002ac772cc3p+0 +-0x1.a9d384a6c2d99p+0 +-0x1.c0ffa46344c7bp+1 +0x1.28be59a2b8973p+1 +0x1.dee23f044c63p-2 +0x1.00a382f66b2b1p+1 +-0x1.089955f5cde6ep+1 +0x1.837aff01aec5bp-1 +0x1.1d920135cafdp-2 +0x1.b4eab91fa7e9dp+1 +-0x1.50679095977ep+2 +-0x1.b02079606e48ep-1 +0x1.15067d4ddd5d2p+0 +0x1.33b2fd363a87ep+1 +0x1.229d8dbb97519p+0 +-0x1.14bb16ed08341p+1 +0x1.06aa7a7c56016p+0 +0x1.b45903726b769p-1 +0x1.715c2c71815e3p+1 +0x1.66840832724dep+0 +0x1.f24d72fa4a60bp-2 +0x1.dbf50b585b223p+1 +-0x1.938fba520654p+1 +-0x1.bbfd71f367dccp-3 +0x1.333e5ed1263a1p+1 +0x1.05222e2d2d4aep-3 +0x1.8c6cd202ba974p+1 +0x1.8f1b75ace3b7bp-1 +-0x1.02c5f5cf16d5p-1 +-0x1.1713aaf722843p-2 +-0x1.a29ad45c3a3dap+1 +-0x1.b6d618e039128p-1 +-0x1.70b115246867bp-2 +-0x1.d84737c689ddp-1 +-0x1.a232c0b047aebp-3 +-0x1.1ca4224a7d21bp-1 +0x1.523a7ebfe78e3p+1 +0x1.e70aedebd4b1fp-1 +-0x1.5a1c975911dbfp+0 +-0x1.ed119034e6a4bp+0 +-0x1.792fd2b9e456dp-2 +0x1.4880715dad285p+0 +-0x1.e435be704689ep-1 +-0x1.e5248c755c768p+0 +0x1.2ea91c7e4606fp+0 +0x1.0752368183a77p+1 +-0x1.9fd765276e4a2p-4 +0x1.d27774b0a46bcp-2 +0x1.a0de76d18538p+1 +-0x1.779e199954091p+0 +-0x1.9a63b29ced1acp+0 +0x1.4551c071e3612p+0 +-0x1.2bf0f08f79f3bp-3 +-0x1.ae0f77c31c75dp-1 +0x1.14f9f29a25fcp+3 +0x1.34f0d2a12cd84p-1 +0x1.69e271f1f8fa2p-1 +0x1.2da5a48c9a9e1p+2 +0x1.a9cf96e2ed939p+0 +-0x1.45019d2ee0fb3p-3 +-0x1.d8e9d80b9fa0fp-1 +0x1.ce6a228515532p+0 +0x1.e60fc4f8bc76ap-2 +-0x1.ba4f23e166ab6p+0 +0x1.bef6acf8e5265p-1 +-0x1.f08f31b874a0cp-2 +-0x1.827eef84b9c14p-1 +-0x1.81451763c7fcbp+0 +0x1.929f7c4873464p-1 +-0x1.2e62ca652df96p-2 +-0x1.0b1e914266a6ap+1 +0x1.8b1da759fca95p-1 +0x1.41a8c338299f7p+0 +-0x1.c2ed3436ec8e9p+0 +0x1.23ff52f35c879p+1 +-0x1.79751538755f8p+0 +-0x1.5746ab9e647e2p-1 +0x1.31813f5a8b34fp-1 +-0x1.19f82859faf39p-2 +0x1.4f28e4c463c9cp+1 +0x1.9f7be005ac4a4p-2 +-0x1.b8870803ef6ddp+0 +0x1.f24a97c1672e6p+0 +-0x1.3785bff77fa86p+0 +-0x1.28ddef8a7188ap+1 +0x1.af2e4bf2e0527p+0 +-0x1.bb9c349cb3eb1p+0 +-0x1.23738446973ccp+1 +0x1.216e94fde3782p+0 +-0x1.404f78dfdac49p-2 +-0x1.d5f7630733621p+0 +-0x1.6a54a38f0c78cp-2 +-0x1.ea251e3191e44p-2 +0x1.e4d75b70f7768p-1 +-0x1.51d77741c59aep+1 +0x1.f0ffbede3629fp-2 +0x1.07cd9aa1e8cc4p-1 +0x1.7291e70882dcp+0 +-0x1.672433e4d909bp+1 +0x1.16fa723f3f61bp+0 +-0x1.68cf93cb7cd7fp+0 +0x1.bda4753e9d1aap+1 +-0x1.209457310231dp+3 +-0x1.044f2c1e7031fp+1 +0x1.59ab5f4224437p-1 +-0x1.0585998124d7p+1 +-0x1.51373e1abd6eep-5 +0x1.0ccfdf512b482p-2 +0x1.217ce5fc6541ep+1 +0x1.5f834695e1c6bp-1 +-0x1.4855b8dac7c66p+1 +-0x1.c67155ef87709p-3 +0x1.0747fb8436764p-3 +0x1.2a624540c149fp+0 +0x1.caa2ebc95573cp-2 +-0x1.682f24da6017ap+0 +-0x1.d0d90ecc89c53p+1 +0x1.904d8057eaef1p+0 +-0x1.d9bc35e72d545p+0 +0x1.b609cf1eb7875p+0 +-0x1.9a9a14ba31b5fp+0 +0x1.8ac1e56020eabp+0 +-0x1.ada57e0eb119bp+0 +0x1.8fce241b1e336p-1 +0x1.ac55e0fbe0d38p+0 +-0x1.0c3b900555af8p-1 +0x1.a5e5b3473e91fp-1 +-0x1.0565e7ab26f9ap+0 +0x1.6da23867e6d97p-2 +0x1.b195e36d02908p+3 +-0x1.ff2f3bcf1d076p+1 +0x1.bef44a8e2b591p+1 +-0x1.8801d5721b75fp-3 +-0x1.cbb29dedb7859p-1 +0x1.09dc7087753f5p+0 +0x1.c04493a26c3ffp+2 +0x1.55eca9ad70d68p-7 +-0x1.6ef24221dc489p+1 +-0x1.cbcb21f590725p-1 +0x1.218a906174475p+1 +0x1.0652460d91c3dp-1 +-0x1.4bc35a7f6918bp+1 +-0x1.503f55f551c6ep+0 +-0x1.de0226626a4c3p+0 +-0x1.7c16f2a2e310fp+1 +0x1.be43032895252p+1 +0x1.a2e2c52f41be9p+1 +0x1.5f5178957b39fp+0 +-0x1.80f520a4221aap+0 +0x1.be8831b22588dp+1 +0x1.1e1ad8eda7dd8p+1 +0x1.88af12d33e396p+0 +0x1.56d510daccc47p+0 +0x1.2e8bca4275bb5p+0 +0x1.7c2a16c2964e7p-1 +-0x1.c3f2462543705p-1 +0x1.dae46030cff3dp+2 +0x1.11083b729cf36p+1 +-0x1.7e2af39315da9p+0 +-0x1.7da2eaba0ec41p-2 +0x1.506ffb7425729p-2 +0x1.7ab5ea8242debp-2 +0x1.b77cabf14db6bp-3 +0x1.7b3b4e2f05ddep+1 +0x1.bbddc223d8ed4p+0 +0x1.c509a23d73b8dp+1 +0x1.d208d8d202a57p+0 +-0x1.9e081ce8660bap+2 +0x1.826b805093a09p+1 +0x1.88114f0451dddp+0 +-0x1.242f7a3e92be2p-1 +-0x1.4b33f9eba0d61p-2 +-0x1.3ff7b15d65457p+1 +0x1.e5c145a39e135p+0 +-0x1.0452cb23c2ea2p-5 +0x1.1a9878c9236f2p+0 +-0x1.2fe8f78eba3bcp+0 +0x1.4b188c8b58e1cp+0 +-0x1.0280595397c7p-1 +0x1.81a3d0dc3fce3p+1 +0x1.61604f72cc50fp-2 +-0x1.88b9b48e6e12bp-1 +0x1.adbde0c853d1dp+0 +0x1.ef8b77b92c76ep-2 +0x1.6f05862b7c708p+0 +0x1.07932d62c5998p+1 +0x1.e038095394ea6p-1 +-0x1.72ba700c37f07p+1 +0x1.b1a9c1cee5a05p-2 +-0x1.4730babdc0c14p+2 +0x1.d2be6bebeedf4p-1 +0x1.16cc133653941p+0 +-0x1.13802dfe62ed5p+1 +-0x1.1f41e33160aaep-2 +-0x1.29929c9c92042p-1 +0x1.d3f8e5ae13d6ap-2 +-0x1.eb555cf62a1d6p-2 +0x1.0ad203c10df6ep-2 +-0x1.e96f930781a01p-2 +-0x1.21e5d8eb57dd9p+0 +0x1.9d104070756bcp+1 +-0x1.fea527443ca72p-7 +-0x1.93dc6ac05f8f3p-1 +-0x1.680cd1fdc064fp+2 +0x1.21f1f1626f20ep+0 +-0x1.060a6d09b6f49p+2 +-0x1.1ff16387bdfa4p+1 +0x1.629be3c895cc4p+0 +-0x1.0ccf3fbb8bc2p+2 +0x1.12b19649c70c7p+1 +-0x1.220a5ffef9135p-1 +-0x1.5ef9eb9552a3bp-1 +0x1.71cdb61a203c4p+0 +0x1.1b40f1a2fcebap+1 +0x1.dae3426c41647p-2 +0x1.ceb35659a8204p+1 +0x1.028d091c63623p+0 +-0x1.0e43930a7e9cfp-2 +0x1.81a23bec15e1ap+0 +0x1.d86000d9a7707p-2 +-0x1.e6a3193c6903bp+0 +-0x1.1eb2f982d9d7bp-1 +0x1.1e75da86fb093p-3 +-0x1.0d4c1fec2fa9p+1 +0x1.39936df6c3d89p+0 +-0x1.d37956b1a6bd5p+0 +-0x1.a04d485c3b9e7p-3 +-0x1.04014c571b3e5p-2 +0x1.658acf683261ap-1 +-0x1.0ff5d61e9b253p-5 +-0x1.f0e62b5048ce1p-2 +-0x1.26c032f90fc1ep+1 +0x1.873c13e9a7fb3p+0 +0x1.5027343852a7ep+0 +0x1.687e11cabc067p-1 +-0x1.82955d1c9805ep-2 +-0x1.f0a28e0a0bfc3p+0 +-0x1.934f90e95a09cp-1 +0x1.9f3bffdb167d8p-1 +0x1.104161c484cbcp+0 +0x1.250e9485f986cp+2 +0x1.cbb8b279f75cfp+0 +-0x1.f18287d8994e7p+1 +-0x1.39dd9137af427p-1 +-0x1.69653a2a1374bp+0 +-0x1.9e5b08d76b728p+1 +0x1.cf9e7d04b54bep-3 +-0x1.f509a8312f736p+0 +0x1.e6fb88bdc053ep-1 +-0x1.744b774361c22p+2 +-0x1.ef8cadb18ff0dp+2 +-0x1.d76b71224c9b6p+1 +0x1.c56e2c269a7f6p+1 +0x1.2fd78ccfebdf2p+0 +-0x1.53571df7a806p-1 +0x1.1fc02cf8c4886p+1 +0x1.6bd6fd204ccedp-4 +0x1.11262607e9fe9p-1 +-0x1.deccf2895ba49p+0 +-0x1.8ee29d3adf192p-2 +-0x1.472e24d4ba34dp+1 +0x1.3e4dd68a3b267p+1 +0x1.32e09414cfe9ep-1 +0x1.b25072bb38547p+0 +-0x1.e1b733cabc1a8p+1 +0x1.36b69bef0cbcap+1 +0x1.24780e586bcd3p+1 +0x1.3ba996aef2f5ap-1 +-0x1.3612bb1dc64eap+1 +-0x1.e537779e7d117p-2 +0x1.17896c66b683bp+1 +0x1.a7d4632657ddbp+0 +-0x1.53c8ca3e29b1ep+0 +0x1.ea6f95ee5dcb6p+0 +0x1.b4e0038a61d51p-1 +-0x1.e2af578213281p+1 +0x1.0533a560b45f6p+1 +0x1.c73abf6b47a0ap+1 +0x1.a8aec58be087p+1 +-0x1.70f68000c51eap+0 +0x1.51f401ec7fbdp+0 +0x1.db06473f40fedp-3 +0x1.4e1963fd716bbp-2 +0x1.a93094e125a22p-1 +-0x1.1026fefab4092p+0 +0x1.2b11802d5672cp-3 +-0x1.1663b10191896p-1 +0x1.64f32aa7f17c9p-1 +0x1.76f537ad53e83p+1 +-0x1.229ed99baeca3p-4 +-0x1.9d54224e8c116p-2 +0x1.66399235e31adp-1 +0x1.8274241590838p-2 +0x1.56ef89e9426dcp+0 +-0x1.48c9fc90c511ep-10 +0x1.2c9095d7682e6p-1 +0x1.f11c2ae636f68p-2 +-0x1.d30d83164bea4p+0 +0x1.7c24af02ca1bp+0 +-0x1.a8496a3e739d3p+0 +-0x1.8d426075714abp-1 +0x1.2fee8d8fad0ccp+0 +0x1.2784b3c87544ap+0 +-0x1.fa3b208cc16eap-2 +0x1.5f32ab56a81c4p-1 +-0x1.d1bb10de8809bp+0 +-0x1.b9e65c992b6c7p-2 +-0x1.492f631f874a8p+2 +-0x1.6dbe7021dcdc3p-2 +0x1.a46e973a3e99p+1 +0x1.4cde1121818fep+1 +-0x1.e842a6195ef26p+0 +0x1.a07a37e8d4c71p-1 +0x1.021d6b583a26cp+1 +-0x1.07a6aa47f6bfcp-1 +0x1.684072264d247p+2 +0x1.5a13a33f9ca56p-1 +0x1.e2f9968e2736fp-4 +-0x1.5ffafde92027ep-1 +0x1.b56387a27cf5dp-2 +0x1.7d238029ceef2p-3 +-0x1.61af1bcd2f05ep+0 +0x1.9f1423defad1fp-7 +0x1.2498498f33eaap+1 +-0x1.8907402f60d53p+1 +-0x1.ab41475fcd6bap+1 +-0x1.dfbe17f38637ep-3 +0x1.9308bf9a54849p-2 +0x1.c58a07e377dc5p+1 +0x1.b362b3185f4d7p-1 +0x1.57be103ebaf0cp-3 +0x1.5bd802b6ea3a6p-3 +-0x1.020ca5691cce5p+2 +0x1.83ec89bb2ce2fp+0 +0x1.b2c4774b4357bp+0 +-0x1.113a09f81fc81p+0 +-0x1.d382c87c16dfap+0 +0x1.7880f4f8ccd14p-1 +0x1.971a035ffe8adp+1 +0x1.0fb77f47421eep+0 +-0x1.9719c92834c47p-2 +0x1.ea1f6d15e40f3p-3 +0x1.32beae2003fcp+1 +-0x1.cf59e5c75346p+0 +0x1.1b29cf0432334p+1 +-0x1.3a8dc761fad7ep+1 +-0x1.9329f7e1e1bb3p+0 +-0x1.da33f91ffa374p-2 +-0x1.6ef64ba5996c6p-1 +0x1.31fb903fadbb9p-2 +-0x1.52cf3636ba4c8p-3 +0x1.081ab8e481571p-1 +-0x1.a3029d2789b85p+1 +0x1.0dd4a1f66412bp+2 +0x1.af55e7a13027cp-3 +-0x1.365096745d39dp-2 +0x1.f8c280e4e1c84p-1 +0x1.2e34b13041e0ap+1 +0x1.76e0cc85b8289p+1 +0x1.7fc06c4f16dcap+1 +-0x1.1fc0438960659p+1 +-0x1.0ae6fc59bc6d7p+1 +-0x1.2c6562b353152p+0 +-0x1.cc02a394dc81p+0 +0x1.eed6e25dc319dp+1 +-0x1.95d15aed7e55p+1 +-0x1.c9bdba2cce334p+1 +-0x1.a5aef67833162p+2 +0x1.059c1493b1ef6p+1 +-0x1.cd3fc1071d3c8p+0 +0x1.6e093b3f895bfp+0 +-0x1.4d1a150d70ee8p+1 +0x1.fbe58bc9bd9d5p-1 +0x1.bc4616bd7691p-1 +0x1.8efeadf3c5833p-3 +-0x1.edf52b2c77c85p+0 +-0x1.c75fde6084728p+1 +-0x1.360ca3a0dd42cp+1 +-0x1.8316aa3769e3dp-1 +-0x1.d60075694fd86p-5 +0x1.907666da9bb01p+3 +0x1.dcda45212aec6p+0 +-0x1.59edd0fd7a02bp-5 +0x1.4b4d1a28acebep-2 +0x1.334620ecc9621p+1 +-0x1.29ca766a4883p+0 +-0x1.be15557ae10cbp+0 +0x1.ea0c0064d5ceap-1 +-0x1.ce34047bc919dp-1 +0x1.8c40cf6ffa441p+1 +-0x1.e1bb82cad4ff9p+0 +0x1.ea0ff46f317d1p-4 +0x1.923c71788ea04p-3 +-0x1.4884c29964546p+1 +0x1.152025ce81301p+2 +0x1.d299f4143fefap+0 +0x1.0386c797fbc4ap+2 +0x1.00ec53614e27ep-2 +-0x1.0a6d141458b05p+0 +0x1.0269a3cd98e66p+0 +0x1.5638675db228ep+0 +-0x1.b712ca3109ea6p-2 +0x1.1f2cd3235346cp-2 +0x1.ed4bdf659996fp-3 +-0x1.a29e188bf5bfbp-4 +-0x1.069dc0fb9574p+1 +-0x1.050c8a2ff07b7p+0 +0x1.90271c76cfadbp+1 +0x1.17cf9a8c3dc4dp+0 +-0x1.917ca02a22d06p-1 +0x1.15f860722717bp+2 +0x1.b87e35ebfa349p+1 +0x1.7ae3124b25f2bp-1 +-0x1.c5c72c93c2d11p-3 +-0x1.eb5c14492754fp-1 +0x1.2db7ce4a43852p+2 +0x1.917df786a7411p+1 +0x1.0032d2617d198p+1 +-0x1.c04d5276f8e8cp-2 +-0x1.658aab185625p+1 +-0x1.def7a427fdb86p+0 +0x1.78f083f9348fdp+2 +-0x1.e29c2e02b1802p+1 +-0x1.3a92f53a6713p+0 +-0x1.01840542c33e8p-1 +-0x1.a1bb461853681p+0 +-0x1.cd19ac4ad8ac9p-1 +-0x1.48b60d36a500bp-1 +-0x1.bd350368ccd79p-2 +-0x1.c46617fb1ff35p+1 +0x1.bf977d521a53fp-2 +0x1.d25224d422571p+2 +-0x1.a5f1702bdb0aap-2 +-0x1.f0470fd55eb31p+0 +-0x1.49c53a8ddc39cp+0 +0x1.99798da1c025ap-2 +0x1.c7e8b9d852ffp-2 +0x1.91aab55bb0eaep+0 +-0x1.28062a01ab905p+1 +0x1.0d6188a14d0acp+0 +-0x1.2aefe0be622c3p+1 +-0x1.53a44ea11ap+1 +0x1.77ddfaf980358p+2 +0x1.3c73e2c52b9d6p-2 +0x1.539cceded3db2p-1 +0x1.1d375d18b4865p+2 +-0x1.96aa3f443d51ap-3 +0x1.6b24572e08393p+0 +0x1.70f75503aa8e1p-1 +-0x1.67bef0d5e2905p+0 +0x1.ba7cff5a21287p-2 +0x1.6f2d89e4377d4p-1 +-0x1.4e682d49ff477p+0 +-0x1.866033fc47c63p-3 +-0x1.a8b234d4fa494p+0 +-0x1.5b18f0c015f78p+1 +-0x1.43970bfb824aep+0 +0x1.2cbe71f97c90ap-4 +-0x1.26b7c0e9a8849p+1 +0x1.194518d91bc4p-1 +-0x1.d7ef251bbc71p+0 +0x1.6bd3bdec63b04p+0 +0x1.2d60d5a27c4b2p+1 +0x1.4e2a48b2d5123p-1 +-0x1.9bc7256c883d5p+0 +0x1.6521f84acf6cbp+1 +0x1.3246dc983ab88p-1 +-0x1.80002fd67a625p-1 +-0x1.1678006ca7655p+1 +-0x1.14855f287d8edp+2 +0x1.54ed1bd62c549p+1 +-0x1.2eefa74a088a6p-1 +0x1.97c2d37b17f69p-1 +-0x1.142d7cf3fdc0ap+1 +-0x1.796aa9a04aae8p-3 +0x1.f9c0989daa84dp-5 +0x1.546bc41c08f8cp+2 +-0x1.998eb2a1f58bep-1 +0x1.25fa8f9db5a5fp+0 +0x1.fc34f5a415d0ap+0 +-0x1.6999cad5dcb1bp+1 +0x1.52bfed0c2067p-1 +0x1.564f1508ad28ep+0 +-0x1.aeeba98923fcap-1 +0x1.99268aa57399dp-4 +-0x1.ee66af8dc006cp-1 +-0x1.1c6a1739b26b2p+0 +0x1.435e7e1a9bc3cp-3 +0x1.76cc2e8e9e5dfp+2 +-0x1.83fc524693dbep-1 +0x1.323b608957b5bp+1 +0x1.03605b7977cc8p+0 +0x1.add1e9f1c6cddp-3 +-0x1.12d5618c6b4c6p+1 +-0x1.b48c30fac1824p-1 +0x1.6b3ae30fd52dfp-5 +0x1.173f8478e2863p+2 +-0x1.9215f428f687dp+2 +0x1.67d70704a4339p+1 +0x1.46b330f251836p-3 +-0x1.95dc20f6b81b1p-4 +-0x1.fb3325a724a99p-2 +-0x1.d185f66c21c09p+0 +0x1.7f29d578ddf1bp+1 +0x1.404b71c973ecbp+0 +-0x1.d555687577d14p+0 +-0x1.6dfd1cb7643p+1 +-0x1.ec906dcd35ddcp+0 +-0x1.685455d1c3832p+0 +-0x1.fe44a15cfc5f7p-3 +-0x1.c23bc333016eep-3 +-0x1.762ef989151c9p-2 +0x1.d80ad8139227ap+1 +-0x1.486074c9ef04cp-5 +0x1.0a8cf1332cb4fp+1 +-0x1.216b43a7112cdp+2 +-0x1.5c978b95cc4e3p-5 +0x1.823b307638c3bp+1 +0x1.753d92db78dc7p+1 +-0x1.2f51752f28a43p+1 +-0x1.c4b97f5f00b34p+1 +0x1.4b06db80057f5p+0 +0x1.9ac9d7097f697p+1 +-0x1.85df04a79eb8fp+1 +-0x1.6a96dfd282c3ep+1 +-0x1.b565071fb2b58p+1 +0x1.03ba242e75589p+0 +-0x1.00f62c2282f9ep+1 +-0x1.29090666ab3e2p+1 +0x1.200271d15e08ap-4 +0x1.02cdd703c372ep+1 +-0x1.c1df0a6cc8eb4p-1 +0x1.62082cc20f3afp+2 +-0x1.38362f1b1b34fp+2 +0x1.05e18b0cb3a7cp+1 +0x1.b4f5170011cf4p+0 +0x1.5d5d25d6e1df5p+0 +-0x1.1bd403a1d726p+1 +0x1.1ed7d1ed1fb16p+1 +-0x1.035900979d05ap+1 +0x1.0bf2242bf79afp+1 +0x1.86cc4a0a87f44p+1 +0x1.0faede2b4bb8bp+1 +0x1.ff5697c3be761p+1 +-0x1.94f979bc376afp-1 +0x1.e3ca74f9d7f9dp-1 +-0x1.4e0fbca0be32bp+0 +0x1.4f04d297066c7p+1 +0x1.11836795d306bp+1 +0x1.1cf13582f1318p+0 +0x1.c262bccdc508p+0 +0x1.9cdfc6c077e1dp+0 +0x1.c7e2aea850175p+1 +0x1.0ea45c7f10e7dp+1 +0x1.70b79bca29c7ep+0 +-0x1.809fab2fa7544p+1 +0x1.073ac8101b9adp+2 +-0x1.00e0b405485b1p+2 +0x1.18653b53eb512p+0 +-0x1.2914dceb8e09dp+0 +0x1.0fca9aee52d3ap+0 +0x1.a48fb0c386415p-3 +-0x1.b7f86beff7bbep+0 +0x1.cf689bb62eae4p-1 +-0x1.4df38f690748cp+0 +0x1.3d914834a02dcp+0 +0x1.04d87064f45a9p-2 +0x1.183f8f2241ed6p+1 +0x1.1318240ca5d33p+0 +-0x1.cae47b30d2f23p+1 +-0x1.72a1c2a89d6c9p+0 +-0x1.3d1ec7587c2b8p-6 +-0x1.051fbbde41a39p+1 +-0x1.dd8fcaa8a58f8p-2 +0x1.ac2c57087b80bp+1 +0x1.cf0ef531e025dp-2 +0x1.2a15bb92fdf38p+1 +-0x1.6458baf70503ap-1 +0x1.3dfba059f2546p+1 +0x1.acce48f4e536cp-1 +-0x1.4a6c29779e9acp+0 +0x1.0d65e0dca8388p+1 +-0x1.ef75c3b7f15afp+1 +0x1.4c613ee39bdb5p-2 +-0x1.1aa7e17a289fap+1 +-0x1.d7ae6b7c6814fp-2 +-0x1.dabe9688f81fp-1 +-0x1.42dc805d7da19p-4 +-0x1.e3ff006448c3bp+0 +-0x1.567bcfb46e58ep+1 +0x1.45e4c94adae2p+0 +-0x1.490a684bbfe4ap+1 +-0x1.0f8e1feffa9fdp+1 +0x1.6b87dd6e069a6p-3 +-0x1.948d00f9cf08dp-1 +0x1.2150989caa1b7p+2 +0x1.91ff10e829bb3p+0 +-0x1.f4ba6ceeab3b4p+1 +-0x1.b2697742ba1dap+0 +0x1.9b8ef73ad9ad6p-1 +0x1.4fc9cbea1c7c2p+0 +0x1.0474dcab71ad4p+1 +0x1.249b54f133818p+1 +-0x1.360a5bac22358p+1 +0x1.6a3caeb79e627p+1 +0x1.08101ea1959cep+2 +-0x1.ecf65cc6cfa57p-2 +0x1.62cada4da3588p-2 +-0x1.06112ee96ed42p+0 +0x1.991d772a8d2fbp+0 +0x1.606adf984b0bdp+1 +-0x1.070713afa5105p-2 +-0x1.562a988502c92p-3 +-0x1.dc5e96eedc33ap+0 +-0x1.83bc2de9bd012p-1 +0x1.5f291c644a389p-5 +0x1.0751bc9b66192p+0 +0x1.0c56cfcad138ep+1 +-0x1.4ca818800b8d8p+1 +0x1.0f065162f4109p-3 +0x1.9904636bc6218p+0 +0x1.06002bd0dec72p-4 +-0x1.f13c1e5b57d07p-3 +-0x1.180a16bcb1dccp-1 +-0x1.8f8b4d1447b8bp+1 +-0x1.1649f29698c38p+1 +-0x1.97f9eaf9bcfep-1 +-0x1.4fe6172b8e328p+0 +-0x1.834442d171e6bp+0 +0x1.10b6023dd5a51p-2 +0x1.5afacbd909cd9p-1 +0x1.f010c517a2d28p+0 +-0x1.18296d17dc06ep-2 +-0x1.3d588b118722dp-2 +-0x1.6d596346c5777p+1 +-0x1.9dca2a23691c5p-1 +0x1.257a95aa902dep+1 +0x1.eff9e40f62885p-1 +-0x1.ead32b1ba9fffp+1 +-0x1.47b2d0411b1e5p+1 +-0x1.3195524628d3p+1 +0x1.03d558dacfc7cp+1 +0x1.c00ae24a0a399p+1 +-0x1.8fab24503bdedp-3 +0x1.3549cb20d72cap+1 +0x1.007aa5b57512dp+0 +0x1.457e7acdf9e75p+0 +0x1.18726b7878b02p+0 +0x1.13ddb372b541fp-1 +-0x1.03641de444419p+0 +0x1.4c7beb9dd3e1ep+1 +-0x1.a59091efe7995p-1 +0x1.2641c9b9a248p+0 +0x1.15666195054f1p+2 +-0x1.e0f6fb09b47b1p+1 +0x1.05feeba056108p+2 +0x1.55176f145d4cdp+3 +-0x1.544059260e467p+0 +0x1.705f558db1f7dp+0 +-0x1.372dc5f360c56p+1 +0x1.d1236f695756dp-1 +0x1.6718ed72e9789p+0 +-0x1.57e652ed6513bp+1 +-0x1.79544ea4f842p-1 +-0x1.16d6405fdef62p+1 +-0x1.1ac905b09b513p+1 +-0x1.e85af446ce44cp+0 +0x1.bb11c58573c6p-2 +0x1.7f800df187fbap+0 +0x1.3d5614880365fp+1 +-0x1.cb8fc5ca8d21ap-1 +-0x1.38784b4457b53p+1 +-0x1.4ab4fa9fbd1afp-2 +0x1.9ae2ef487483fp+2 +0x1.3dd5b7bc8c944p+0 +-0x1.ffa2151287b0fp-2 +0x1.4761347fdc14fp-1 +0x1.e5787b1dd88eap-1 +-0x1.f9e446149f343p-1 +-0x1.93e5d1509b1fbp-1 +0x1.4357f95694abbp+0 +-0x1.4f73dff8a219dp-1 +0x1.9d7f484a92c38p+1 +-0x1.f46b4b3c263a2p-3 +0x1.4cc1316881981p-2 +0x1.3e01ae737cb7p+1 +-0x1.b8cd7cf1ff021p-1 +0x1.17734bf216319p-2 +-0x1.4d84b67ffcaabp+2 +-0x1.5e3c2bb47e757p-2 +0x1.39600c851451cp+1 +-0x1.d9fed2305c888p+0 +0x1.cf3df0c2e5eaap+0 +0x1.97d41a0ca3461p+1 +0x1.ee4f3d641d617p+0 +0x1.6fae2916245dep-1 +-0x1.89719b5383a4ap-3 +0x1.7a6966035bf8dp-3 +0x1.32364619b25fep+1 +0x1.6a7fe0a482a76p-1 +-0x1.f26d5d11faa41p+0 +-0x1.32b2cf9dadaf6p+0 +0x1.c7fba542bced9p-5 +-0x1.016d02f024be3p-4 +-0x1.29eb778b5f1f5p-1 +-0x1.0abdf0f18390bp+0 +-0x1.83caee50aa938p+1 +-0x1.e77141958bf48p+1 +-0x1.5ffb0adc078b1p+1 +-0x1.0b184e359fcfap-3 +-0x1.2f8bb10b82134p+2 +-0x1.b2a8baa6b075dp+0 +0x1.900b1dc896c01p+1 +-0x1.f1c7eb783bc87p-1 +0x1.810201bffae51p-1 +0x1.2c9fc4c95da0cp-2 +-0x1.f03356cbf0643p+1 +-0x1.9fd06ec2498b4p+1 +0x1.9d463e02f1ad9p+1 +-0x1.3acaa99735b4ep+1 +-0x1.6968e52153f5ep+1 +-0x1.b41609afe417ep-5 +-0x1.6b96b28f9427dp+0 +-0x1.50589a38cb2f7p-2 +-0x1.d540ee7b3bab4p+2 +-0x1.2f7d754e1ce8bp+1 +0x1.b05bd3c996b4cp-5 +0x1.40ed048dfc93fp+0 +0x1.228e5dee46cbp+1 +-0x1.112b60b800599p-3 +-0x1.be5892c5db7bbp+0 +-0x1.c6a599688170dp+1 +0x1.a56ef0739cf8ap-1 +0x1.918a5295319fap-2 +0x1.2d04ad130d76bp-1 +0x1.1aa9f2c2a40b8p-1 +0x1.0eb2ac3d285f2p+1 +-0x1.a38a2c4ecdca1p+1 +0x1.c2fa24fe1f397p-1 +0x1.5b82b747de276p+2 +-0x1.171817b49bc5dp+0 +-0x1.38933e07c19e5p+2 +0x1.8107ea37b5a8p+1 +0x1.96ff2b9f8b568p+0 +0x1.188cd6a241b6p-2 +-0x1.2cb91ed4cfba4p-6 +-0x1.2bfef29b4173bp+0 +-0x1.076554cde63e2p+0 +-0x1.4afc23f1f6081p+0 +0x1.1aa983503c1cbp+1 +-0x1.85ce2f3e1f7f1p+1 +0x1.e23191d549d04p-1 +-0x1.bf4e26dbf2605p+0 +0x1.b008665f6334ep-1 +-0x1.efc2d7c3bcb38p+1 +-0x1.db5b7472e1fb9p+1 +0x1.6ef53a8f473a9p-3 +-0x1.bdb7c6cdff693p+1 +0x1.5259b3681b3c2p+0 +-0x1.8852afebce82cp+1 +0x1.ae2cc20d73fa3p+0 +0x1.daed1d8af823dp-1 +0x1.2c7a89ce4e75dp+0 +0x1.9331efbee1ac6p+1 +-0x1.55762693b425ep+0 +-0x1.146f9ddba649cp+1 +-0x1.28a0220b89b76p+0 +-0x1.a2228dc88396bp+1 +0x1.0b5b471e53949p+1 +0x1.d73f7ef842bb1p-1 +-0x1.a8d5098847044p+0 +-0x1.5018e76a96f7dp-1 +-0x1.72153e48a85c2p+1 +0x1.a8f7b18aef778p+1 +-0x1.26c92b28c68c4p-3 +-0x1.3ca7f79f0ebf7p+2 +0x1.bde8e8416c31bp+0 +-0x1.5a8bb9550d5abp+1 +0x1.84ab41a2b7058p-1 +0x1.d44e1b40c1c02p+1 +0x1.dc0de4ed72d9cp+1 +0x1.8750902435eacp-4 +0x1.c435604f3676ep-2 +-0x1.d2576d0a6cff8p+1 +-0x1.3dc2bed23761fp+1 +-0x1.06ed8dfceda2dp+0 +0x1.4d3d6f9bc72f3p-4 +-0x1.dd5742db3a0ffp-1 +0x1.c1b73b0d9a939p-1 +-0x1.d54bacf73842dp+0 +-0x1.2ce968f482fb6p+1 +-0x1.41ab3d37b935p+0 +0x1.44f8368412ce3p-8 +0x1.5161949935c9dp+0 +-0x1.a7bbf8b575ebap+0 +-0x1.217621dece826p+2 +-0x1.9fdd64aeaf543p+0 +0x1.42b617e0c497cp-8 +0x1.ad52dd1410743p-1 +-0x1.a0565df383012p+1 +-0x1.64508925d269dp+0 +0x1.485e0ba8ed1cp-2 +-0x1.7d311b3642bf1p+0 +-0x1.5ddfba14e4874p+1 +0x1.c135f98268459p-3 +0x1.014789d4d5b91p-3 +-0x1.3333aa531c637p+1 +-0x1.4496a147c57bep+1 +-0x1.711ea5c8459cfp+1 +-0x1.755ebf41299fep-9 +0x1.1ac203cb9a283p-7 +-0x1.d88bd3db0c512p-2 +0x1.6dce50ae40243p+0 +-0x1.16dc0ba1a1b9cp+2 +-0x1.27c77b5832043p-3 +-0x1.906e9ee874a68p-2 +0x1.18e9b7af28258p-5 +-0x1.2e8c2cc1bde9ep+1 +-0x1.392090dec7ae6p+2 +-0x1.2c24ba980caccp+0 +-0x1.ac2c6d05084c6p-1 +-0x1.d221a59706b64p+1 +0x1.d71f27a76ca22p-1 +-0x1.630a7a3c19d39p-3 +0x1.5cb6bb7f70728p+1 +-0x1.4d706e630a0a9p+0 +-0x1.81db16b8bbe4bp+1 +0x1.1d45ebf7ed30fp+0 +-0x1.bbd30311345ebp+0 +0x1.692925c1296e1p+0 +0x1.a623ad0818d59p-3 +-0x1.080955c97a89fp-1 +-0x1.8c6be3f7c945dp+1 +-0x1.b92f87fae57d7p-3 +-0x1.4ef9f21574415p+1 +0x1.67160ab935358p+1 +-0x1.85471c2e529cep-2 +-0x1.1247dde581545p+1 +-0x1.4c6a4b002de8bp+3 +0x1.d43b42181b948p+1 +0x1.2248fd038ed27p+1 +0x1.36f160e4d900bp-5 +-0x1.62a91991c2c58p+1 +0x1.c5cf2fd192635p+0 +-0x1.df6c8c4890602p+0 +-0x1.f943ab203a248p-2 +0x1.51a9cae8a92e7p+0 +-0x1.9108faadd1115p+0 +0x1.fe48626444ba7p-1 +-0x1.04ffeff608392p-1 +-0x1.d641c76db1ed5p-5 +-0x1.f9d3d67006a29p-2 +-0x1.ee62951aa7adap-2 +-0x1.94a685436df4fp-1 +0x1.a7c51685d902ap+0 +0x1.537aad9f9957bp+0 +0x1.86dca3bd4a44dp-2 +0x1.38018c0f0dd66p+0 +-0x1.ba117f24df0d6p+1 +0x1.fc074a6f6f58fp-1 +0x1.0ea0d742122b1p+1 +-0x1.0efba5c1fc1c3p-1 +-0x1.17c456c750bdep+0 +-0x1.596f727d34937p-2 +-0x1.392248d1593e7p+1 +0x1.5122e040be88dp+1 +0x1.f0ef80ba50badp-2 +0x1.7914db4cb546bp+0 +-0x1.f4b12dad2c6bap+0 +-0x1.c8731904ec173p+0 +0x1.31dd6880cacc1p+1 +-0x1.a303a38f85806p-6 +0x1.4e86c85a84015p+1 +0x1.1a56ee1a74cf5p+1 +-0x1.7238cdb89a0ecp+1 +0x1.83510cc9c4ca6p+0 +0x1.3295391e3ccc8p-1 +-0x1.e298a4b310a7dp-2 +0x1.cc723844fe461p-3 +-0x1.0944042fcdae5p-1 +0x1.11645985610c2p-1 +0x1.fbafb2c408d9bp-1 +-0x1.00cbbb447bafep+1 +-0x1.e33700bf04184p+1 +0x1.04b9886745e6cp+0 +0x1.a4e32dd308aaep+1 +-0x1.6e6b6cf96e783p-1 +-0x1.10709c498307fp+1 +-0x1.48d7f5441c754p+1 +-0x1.cc1443515a649p+1 +0x1.87c2e092a68f2p-1 +0x1.cb2c20b529bd2p+0 +-0x1.c6295d9c09c8fp+1 +-0x1.218ee2ad1f934p+0 +-0x1.1ab223bc15b47p+1 +-0x1.5bd898c1267a4p+0 +-0x1.9e64f73c00f78p+1 +0x1.9993699c101f6p+1 +-0x1.5862d69ff8b63p+2 +-0x1.b02166526d156p-1 +-0x1.99317ff87b5fdp-4 +-0x1.e066f612bc266p-1 +-0x1.620d20414e49cp-1 +-0x1.2d339cd08c6c2p+0 +-0x1.8d62f9a0a665p+1 +-0x1.00e289dfb31b2p+2 +-0x1.228055a6a4263p+0 +0x1.650beb9e3d905p+0 +0x1.add9cd3d9ab09p+0 +0x1.9233fff8d7297p+1 +0x1.67b7df39fb785p+0 +0x1.25eda2ab51b3cp+1 +-0x1.5a3b453f1c202p-3 +-0x1.5c45bc7aaa9f8p-2 +0x1.627c976c3806p-3 +0x1.6a81ed75eb061p+1 +0x1.8da70950ee823p-2 +-0x1.26483a4938c57p-2 +0x1.06663f21aff82p-1 +-0x1.ae35d513ca5f7p+1 +-0x1.d0244cd27dcb5p-2 +-0x1.d76601980934ep+0 +-0x1.5802e7afdce4bp+1 +0x1.5ea6b8ea7aeaap+2 +-0x1.2cbb80231a5bdp+1 +-0x1.219d9c5476f19p+0 +-0x1.86f4a461f7183p+0 +0x1.be4ac582a64adp+0 +-0x1.9f4dc59eee9a1p+0 +-0x1.0ce498d843fcap-2 +-0x1.2710c9e168fc7p+1 +0x1.d7f33124db819p-1 +0x1.ea8f9a6ce2108p-1 +0x1.bbbb082dd7912p+0 +-0x1.da4783a22c493p+0 +-0x1.7b62431112b76p-2 +0x1.9fcc20ac806ap+1 +-0x1.59a32f3adc7d6p+1 +-0x1.9f049ccdf0f36p-3 +0x1.4b15aa442cf6ap+0 +-0x1.2b1f28a5f0c56p+2 +-0x1.a43ecae5118d3p+1 +-0x1.05965bac75f9ep+1 +0x1.6fa45ec356479p+1 +-0x1.e90b1aed4219bp+0 +-0x1.a6fa422911babp+0 +-0x1.45452675327bap+0 +0x1.078a8c92bb3f6p+2 +-0x1.fe4f1ddb08991p+0 +0x1.032e9e1ab8d8ap+0 +0x1.5afe8ae2ed933p-1 +-0x1.54094b3d1d351p+0 +0x1.8124ccdc8b1dep+0 +0x1.80e3387dbf33ep-3 +-0x1.45ae5838cae14p-4 +-0x1.44c5524e9199fp+0 +0x1.9542f3a4aad91p-1 +0x1.9432234e9523cp+1 +0x1.9edd1a45088a7p-1 +-0x1.61b20106e07e7p+1 +0x1.cabf4bc48e766p-1 +-0x1.e190cef90b975p-2 +0x1.15f088c9dee53p+1 +0x1.600cf449c655bp+1 +0x1.277e065bba117p+0 +0x1.036adc016984p+1 +-0x1.069f9332656bp-2 +-0x1.1d4d017e0bb04p+1 +-0x1.7b7f405695c51p+0 +-0x1.20c723a0775f8p+2 +-0x1.584b227ece41fp+1 +-0x1.06c720075dfbcp-3 +-0x1.0c2c58b30e777p-1 +0x1.abe93d71d45fep+2 +0x1.28c14532ff71dp+0 +-0x1.4304cfb4ee3fap+1 +-0x1.92768f948ca29p-1 +0x1.888d25b454406p+0 +-0x1.b0d590988432p+0 +0x1.bfd58c915e16p-2 +-0x1.806ce03cc8937p+1 +0x1.9aa886609b9e1p-3 +-0x1.7db2d7d5d67cap-1 +-0x1.07b6f0960e7e5p-5 +0x1.1770ffb2d5a9fp+0 +0x1.b17e69ae8c5c7p-2 +0x1.29cda0ba82a5fp+1 +-0x1.2727a4d20f7acp-1 +0x1.cdd90e580cb64p-3 +0x1.dd3db00a3ab54p+0 +-0x1.2efd75b1a27a2p+0 +-0x1.8777d294a4417p-2 +0x1.3683c7f7a18d9p-2 +0x1.18abee9edaa09p+0 +-0x1.6a2fb5cdd4f1cp+0 +0x1.9c9940c028163p-1 +-0x1.dd0cd1cbf4055p+0 +-0x1.89bb8306ab329p+1 +-0x1.450dad2d8f94dp+0 +0x1.1db3aa5b159edp+0 +-0x1.5253d572bc726p+1 +-0x1.773fcb321e9cbp+2 +-0x1.44725d7ff6097p-2 +-0x1.85e30556f955ep+0 +-0x1.248a4c31090aep+1 +0x1.07cac3c199f5dp+2 +0x1.606b66d295891p+0 +-0x1.d480710e94e67p-1 +0x1.80ae080c769c4p+2 +-0x1.f46f0f348809ap-1 +0x1.44145ab852428p-1 +-0x1.f1d0712d40a5fp+0 +0x1.582ebfb1db49ep-1 +-0x1.22fa577c0d992p+1 +0x1.79e795eb9d24fp+3 +0x1.b3b695c6d9312p+0 +0x1.26d7b544813f8p-4 +0x1.76144c7f3e9c9p+0 +-0x1.e7b63f095d9d4p-3 +-0x1.4fbc6dd06a89dp+0 +0x1.c7934d638dcfbp+1 +-0x1.e43557f49d971p+1 +-0x1.3214ec5bce878p+0 +-0x1.959615ce65d5ep+2 +0x1.ff5b86f5f418dp-3 +0x1.0b2b6fd4700bfp+1 +0x1.335c9b4b704a1p+1 +-0x1.953d5601ce38ap-2 +0x1.8d2b9230bb05ap-2 +0x1.bae885e362688p+1 +0x1.167fdf81407f1p-1 +0x1.470930d2212fp-2 +0x1.8e2d59aae1a1fp+1 +0x1.8bd951caf5e93p+1 +0x1.0c35b1c4aa6d2p-1 +-0x1.07462d8006abfp+1 +-0x1.8cae9a776682p+0 +-0x1.7b041fd969e89p-3 +-0x1.6584df2c6a83p-1 +0x1.1dfed4759bebfp-2 +-0x1.ba50d2f6110b5p-1 +0x1.e29c9b31d6da9p+0 +0x1.92f14e8f3825dp-1 +-0x1.39170d6424af2p-1 +-0x1.8693d0848429p+0 +0x1.2dbb1cf932fbcp+1 +-0x1.5db2b85add1fap-4 +0x1.328f484d20069p+3 +0x1.6ecd24e7b09eep+0 +-0x1.1fb8948aada04p+0 +0x1.9b7cc9e5a6543p+1 +-0x1.1a63dc7e4365bp+2 +-0x1.34eea186b1a83p+2 +0x1.355975dde6432p+0 +-0x1.6d0ef1ac850cap+1 +0x1.2fc69baef4bc7p+1 +-0x1.3de7429d92309p+1 +-0x1.724510ec1c591p+1 +-0x1.9e1fc2e664119p-6 +-0x1.d52816671f386p+0 +-0x1.0f42693ff74a3p+2 +-0x1.75a2d194c5a85p-1 +0x1.cb7f68e18e1e2p-2 +0x1.98459bea70e54p+0 +-0x1.7e4d2939c3727p+2 +-0x1.271f4b5fe7d3fp+0 +-0x1.de4e40a256dd8p-1 +0x1.84feedc5af2bbp+1 +-0x1.4bf82fb3ead1ep-1 +-0x1.70a0cd62c573ep+1 +-0x1.82e93235056fdp+0 +0x1.63ceec413f3f1p+1 +-0x1.7edcd2ce0a612p+1 +0x1.7ba93d78b8892p+1 +-0x1.1cc26bc13a5d9p+1 +-0x1.e425c5ade63dbp-2 +0x1.c9e901ebf5e59p-1 +0x1.1e397077089e2p+1 +0x1.2d37a44f20273p+2 +-0x1.7bdd6101a46aap-3 +-0x1.02b03a4e72829p+2 +0x1.c7e03f970cac9p+1 +-0x1.838dddf988298p-6 +-0x1.86dd5d300bbb8p+1 +-0x1.5943b3f94822cp+0 +0x1.0b6f2199f585dp+0 +-0x1.a5b24e12c12d4p+2 +0x1.8f9b31e7901fep+0 +0x1.3f1eed0029f6bp+1 +-0x1.79bb443b4eadep-5 +0x1.405df0d73ed41p+1 +0x1.7810fe8736698p+1 +0x1.59039de6db6f5p+1 +-0x1.533b7d6f0b6d9p+0 +-0x1.847b9b9724aecp+1 +0x1.90b913592293p+1 +0x1.0f69311ef4321p+1 +-0x1.7e3a5ab032d3fp+0 +0x1.0a82d107c99e6p+1 +0x1.7dae4a58dc425p-2 +0x1.fa8bb34544995p-1 +0x1.2ae800ff7859ep-3 +-0x1.a4ebb42664509p+0 +0x1.334a7b3b9079p+0 +0x1.8ca71903ee2c6p+1 +0x1.482d30411e283p-2 +-0x1.30929e5c373afp+0 +-0x1.80e35ef1ddd1cp+0 +0x1.03de4f29aff05p+2 +0x1.d4c766c560fe2p-12 +0x1.138c14bbb535fp+2 +0x1.7f977d5fbb75ep-1 +-0x1.0d82df5123a9p-1 +0x1.8771f6a03a6c8p-1 +-0x1.a59fc737d5559p+0 +-0x1.5acebe13f11f2p+2 +0x1.943dbd4ff2cdbp+0 +-0x1.6b5f6879ec61fp-1 +-0x1.116521d4a3d8cp+0 +0x1.a468ebf0357cbp-4 +-0x1.4413d5ee9f75cp-3 +0x1.b61754ae0c6dbp+0 +-0x1.3d363813cc4bfp+2 +0x1.307a9ff77cb2ep+0 +-0x1.f0e5671c3f121p-1 +-0x1.2c479457e9901p+0 +-0x1.b2cdd85777a17p+0 +0x1.a5a8cea93441cp+0 +0x1.012dd5417ebabp+0 +-0x1.b788abcacc6b8p-1 +0x1.9b817a66f1ep-2 +0x1.4724b74044dd5p+0 +-0x1.a4ad2f1d303ebp+0 +0x1.e40b96b32e14cp-3 +-0x1.6330bd8e98ee5p+1 +0x1.af60dfb24d146p+0 +-0x1.3cc6919e04d7fp+1 +0x1.138621dd3ee7bp-1 +-0x1.0584f7f7702bcp-1 +0x1.1d624564810eep+0 +0x1.d5e8c33252f5bp+0 +-0x1.e79711bed5f0dp+0 +0x1.ad973178b1426p+0 +0x1.9697c6ba07269p+0 +-0x1.e3f9c8732e0b1p-5 +-0x1.5a74f89eed0dap+1 +-0x1.dea8cfcd209e8p-2 +0x1.4ec636bf19b65p+1 +-0x1.5f8228514bf1p+0 +-0x1.e8ac199e70757p-2 +0x1.1d46793e9bc24p-1 +-0x1.9bd877905a45dp-4 +0x1.1f0e932aa1f75p+1 +-0x1.8da4c38735d1dp+0 +-0x1.1bd46912e03d1p+2 +-0x1.9cbb3581dd141p-1 +0x1.764c244b1fbd4p+0 +-0x1.804129f83c132p+1 +0x1.50b8fdace7555p+0 +-0x1.3ce69b235749ap-1 +-0x1.3927d950b678cp-5 +-0x1.fc76e9cb416dcp+0 +0x1.8404e50aa6706p-2 +-0x1.62dd116f737cap-3 +0x1.85ad4467fad4bp-1 +-0x1.221a81d1b9aa3p-4 +0x1.7b66ffa728decp-1 +-0x1.817e4aca94532p+0 +-0x1.41fe3c74f27bep+0 +-0x1.87ea268053578p+0 +0x1.49d825e0468efp-1 +0x1.94c503adb4006p-3 +-0x1.936702f764919p-5 +-0x1.5e0853f89b32cp+1 +0x1.7526e455cfdbbp+0 +0x1.3c73d327cd48bp+0 +-0x1.44c8d837b29a1p+0 +0x1.aa17b59627509p+1 +-0x1.abbbf47e732f2p-1 +-0x1.935e2bc1cbeep+0 +0x1.fbf9979b2d0f4p+1 +-0x1.460f65c411d4dp+0 +0x1.99d664784b077p-1 +-0x1.9ad50578ec066p+1 +0x1.65a630bae65f1p-4 +-0x1.0fb0df4a648acp+0 +0x1.5c25b7a3b86c2p-1 +0x1.75acf69793aaap+1 +-0x1.030ebc93315eap+0 +0x1.638e1deadeb17p+1 +0x1.7a1329148d092p-1 +-0x1.6ad65c0b2c245p-1 +-0x1.8b3d6bf9c738p-1 +-0x1.42b03fb911a6dp-1 +-0x1.7c9dfd892282cp+0 +-0x1.4cfbf80963feep+0 +-0x1.2efc81228d25bp+2 +0x1.b9edf9e537835p+1 +0x1.a228c22a38ab6p+1 +0x1.68ff7b5b723c9p+1 +0x1.f863ad7b8b45fp-1 +-0x1.276971410e109p-1 +-0x1.b80c5e6a003fep+0 +-0x1.1d73ed291042cp-1 +0x1.1d386d2fd05fcp+2 +-0x1.15e4f32e4a988p+0 +-0x1.5f5f7c2005e5cp+0 +-0x1.e055627ed7f72p+1 +-0x1.e62d7e4f2ca86p+0 +-0x1.134e91a966726p+1 +0x1.06a988b531ee4p+1 +0x1.e77977b8a24f8p+0 +-0x1.35eb76ff60099p+1 +0x1.6f2152721284ep-1 +-0x1.c2e0b70da69f8p-1 +-0x1.e45b588a6bf84p-3 +0x1.d50fef3819d9ap-3 +0x1.007b53c1185c4p+0 +-0x1.d7f8b998ae332p-2 +0x1.1e4003db8fb25p+0 +0x1.cf7be185bcb6ep-2 +-0x1.edec2941d3352p+0 +0x1.2787ee2e37515p+0 +-0x1.4b69ec8b89608p+0 +0x1.c54666f50359fp+1 +0x1.c928236f8eccap+0 +0x1.ecf6f55bbdc79p-2 +-0x1.13682a2f5bdc7p+2 +-0x1.23fce40339614p-1 +-0x1.17b1cc8a06676p+1 +-0x1.5bafd28e8555ep+1 +-0x1.257704869c35p+0 +0x1.a2fd4088af239p-1 +-0x1.21a3c269b219p-1 +0x1.8d04fd46b222fp-3 +-0x1.3855651361098p+0 +0x1.74be2914f06f8p+1 +0x1.883d9f31cac0dp+1 +-0x1.cbf05f27a32e7p-5 +-0x1.b69ba86752555p-2 +0x1.2a82dc0358c92p+2 +0x1.911ead184ce73p+0 +0x1.f58ab54620487p-1 +0x1.6b1ecd10a0655p+1 +-0x1.91bbfc4618d2dp+0 +0x1.e99e7a237977bp+1 +-0x1.51d0692a000ffp-1 +-0x1.8155945219cddp+0 +0x1.0538f059db14fp-4 +-0x1.d823ec71c5517p+0 +0x1.a7811eceac387p+0 +-0x1.37a6059e2e06ep+1 +-0x1.14bb9e44957f4p-1 +0x1.2298d6092512cp-2 +0x1.5d9d619500a72p+0 +0x1.985deed076b0ap+0 +-0x1.0b836aa598b3bp+0 +-0x1.e1af80d40b7a2p+1 +-0x1.a0a2902844a56p+0 +0x1.5ed4c68b9a0e2p+1 +-0x1.4f571fde7a502p+0 +0x1.880169a8f90b9p+1 +0x1.ce82e7c8cc62ep+0 +0x1.7868e81af2fbbp+1 +-0x1.8259681e6bf3bp+0 +-0x1.2dfec1f21f17dp-1 +0x1.86b9d349f1f7ap+0 +0x1.b2fe346f299f7p+1 +-0x1.b9a9d62c39d7ap-3 +0x1.048f2e5a2ee22p-5 +-0x1.cdb44cb109cbfp+0 +-0x1.40301ef2451e8p-3 +-0x1.6cb2e1d010d6cp-1 +-0x1.625cce8b1d24ep+0 +-0x1.bdaf8a4fb4176p+1 +-0x1.4987d79247be9p+0 +0x1.59c56f347cb8fp+0 +-0x1.77e1d67d5cf93p-1 +-0x1.6b0ae4ccc749p-1 +-0x1.542d83c758a2dp+1 +0x1.489b39a9be0c3p+0 +-0x1.fe0ecb9e6cd25p+0 +0x1.a8aeb87040e53p-2 +0x1.46ab056e23ee6p-1 +-0x1.d95bf17c22d4ep+0 +0x1.491ba51228373p+1 +-0x1.47e0249221c91p+1 +0x1.2c4401fc369b3p+2 +0x1.736228688cd9fp+1 +0x1.aed0eef6bca7ap+0 +0x1.f01eb78f1c947p+1 +0x1.e8ceaaf1d61f4p-4 +-0x1.6b73148d129f2p+1 +-0x1.9d3b50c5fccaep+0 +-0x1.6ac05dd6e27d6p-1 +0x1.0f902581cdeecp-1 +-0x1.031e03229c7dap+1 +-0x1.077e4afd485ecp+1 +-0x1.f5757f88443d5p+1 +0x1.697cdcedd386p-2 +-0x1.65d80c954f8dfp-1 +-0x1.2d790bf71cdf5p+0 +-0x1.72e499d922a73p+0 +-0x1.3e615f76b8d66p+0 +-0x1.1609e466783a9p+1 +-0x1.b5736133f5178p-2 +-0x1.8fcda61ef5422p-2 +0x1.6bf0a413b4227p+0 +0x1.ad48c26abc31bp-1 +-0x1.89035760cc5d4p+1 +-0x1.cdc0fec1e70a2p-3 +-0x1.3a55749d25773p+0 +-0x1.1c08f1fa5fce2p-2 +-0x1.b916e76fe9e14p+1 +-0x1.ec6557bc89b42p-6 +0x1.264d3e4d7fd4cp+3 +-0x1.f96ce82f9a23ap+1 +-0x1.f7c0e59ea98cbp-2 +0x1.8c3712ae324abp-2 +-0x1.6ff71534123ddp+0 +0x1.15d40c181f103p+1 +0x1.0f0c12c2ca351p-6 +-0x1.2015fdadbe2dap+2 +-0x1.8da669ffe6478p-3 +-0x1.159efd82250bp+1 +-0x1.1a5f287427336p+0 +-0x1.af5ae1b53176dp+0 +-0x1.6c15ffe994f45p-1 +-0x1.079bbda12c0ddp+0 +-0x1.6a98d3e71972dp+0 +0x1.09ea738050476p+0 +0x1.ecfe0b6ad313p-1 +0x1.f8472c0d8233fp-1 +0x1.a4ef60e8d4b68p-1 +-0x1.81239f23394e7p+0 +0x1.5387fc6c4af86p+0 +-0x1.80dc1ca4a928bp+0 +0x1.50ab5ca3ea361p-1 +0x1.164dbef59c43fp+0 +-0x1.524fd49a02b4dp-2 +0x1.44580cdfe28b4p+0 +0x1.bcf5e5773b864p+0 +-0x1.ec2f51ca5af3bp+0 +-0x1.d881ce2ed8b85p-3 +0x1.5588c6aa8d88dp+1 +0x1.2077acfd9fc1bp+1 +-0x1.228f88018b8a6p-4 +-0x1.4fea718f01536p-3 +0x1.59f8ca7f88282p-4 +0x1.cbdcf49250f0dp-3 +0x1.3144945f14682p-1 +0x1.f92abc9df294fp+0 +-0x1.a8b95ed78f2f1p-1 +-0x1.83ff63ccd829dp+0 +0x1.de453ec5656f7p-2 +-0x1.70b985d772324p+0 +0x1.da1c68b1e52a8p+1 +0x1.21b5b351f7031p+1 +0x1.d21279e0fc85ap+1 +0x1.83719c6502f7bp+0 +-0x1.a4349c6c28813p+0 +0x1.b878b8dea066dp+1 +0x1.6a370d48dd1c2p-1 +-0x1.118e53475e617p+1 +-0x1.3df8b525efb55p-1 +0x1.8a50137aad3a1p+1 +0x1.a4522e5f31c09p-2 +0x1.8bdbe25c8524p-3 +0x1.9a65a34f42815p+0 +-0x1.7f250f8677549p-1 +-0x1.3b1f20fce5035p+0 +-0x1.345fb24859892p-1 +-0x1.75771df423c34p-1 +-0x1.6f16b66587214p+1 +-0x1.ec1425f94a20ep-2 +0x1.c4f345511c799p+1 +-0x1.4b57df27e2e16p+0 +0x1.ffb66f39f050ep+0 +-0x1.01df0e2e1370ap+0 +-0x1.15df9373eb255p+1 +-0x1.a170f6275370cp+0 +-0x1.d992df955bd78p-2 +-0x1.2baf74b4af21dp+0 +0x1.a851867b7bec4p-1 +0x1.abcea7391c221p-1 +0x1.ab7cbadc985d2p+1 +0x1.42e6993b29453p-2 +-0x1.9d0814a6f5355p+1 +-0x1.0b9937ed5dfdbp+0 +-0x1.81f0e9140bcacp-3 +-0x1.b699f07b3e6afp-5 +0x1.bb03a45c278c5p-1 +0x1.2fb4ae9f919aep+0 +0x1.03cfa4f8455d4p+2 +-0x1.abf1b8deb489bp-3 +0x1.6139768ab5a8ap+2 +0x1.dd26183cd036p+0 +0x1.2750767d3e886p-1 +-0x1.84c575669a912p-6 +0x1.7042a2d1aca1fp-2 +0x1.c82e9181f6fd2p-1 +-0x1.a57da927cfc94p-1 +0x1.66a4dea06db8ep+1 +0x1.c6a3991cf0e3bp-4 +0x1.29cfbc67c29e1p+1 +0x1.89c30998f7df7p-1 +-0x1.762f1d6d9e00ap+0 +0x1.bfb28f77e3cdap+1 +0x1.8229eba6897e4p-3 +0x1.fab965093334ep-2 +0x1.88906093f6f04p+1 +-0x1.db54dc9532723p+0 +-0x1.21161a538052dp-1 +0x1.6df6d1ac551fcp+1 +0x1.0259a7aea2fccp-1 +0x1.7c3ad6be59623p+1 +0x1.6422f775e1093p-3 +0x1.9b091f364ac5fp-2 +-0x1.1ffe21f18fad4p+1 +-0x1.70ed1242b15ccp+0 +-0x1.25d4f9e7e27a2p+2 +0x1.5d7ff0337fb2ap+1 +0x1.9a3d97b4c6118p+1 +-0x1.71de590fffa0ap+0 +0x1.a7281131d4703p-4 +-0x1.eba0bf59937c5p+1 +0x1.a5e5f6b6ddd88p-1 +-0x1.7288a0a98efa4p+0 +-0x1.8935c9fdc3c05p+0 +-0x1.2a829bbcb2cbap+1 +-0x1.48ebdcb83f7e7p+0 +0x1.5419fc820b9a9p+1 +-0x1.50327d1d01e1cp+0 +0x1.5e3d5ca372cd8p+0 +0x1.0d9ddaeda3c4cp+2 +0x1.82002edebb429p-6 +-0x1.812469be3e86dp-1 +0x1.1ded0123d4cc8p+1 +-0x1.f34346b7b219ap-2 +0x1.61f2055687765p+1 +0x1.39cca64743a75p-1 +-0x1.8a8c7a3787394p-3 +-0x1.e29c8718a1038p-1 +0x1.361953a7a22f5p-1 +0x1.17da7b2ab71d9p+0 +0x1.18ca0f33001p-4 +-0x1.6b72879fb1d94p+0 +0x1.56ccbdbc476dbp-5 +0x1.73c6412270476p-3 +0x1.87c68be809854p+0 +0x1.d69c54d0ae8efp+0 +-0x1.726e5386cbf5ep+0 +0x1.4db07670f6b3ap+0 +-0x1.43661ca814c54p+2 +-0x1.0a6bca180b2cbp+1 +-0x1.27820f879c184p+1 +0x1.ca9d5c5bfe4f2p-4 +0x1.290ac30cdc193p-3 +0x1.f61eb949b18d3p+1 +-0x1.1584d05d0a96ap+0 +0x1.0b8bf2229fe88p+1 +-0x1.51998f4724bcfp+0 +-0x1.2463c6209c9eep+0 +0x1.e7b494d60d128p-1 +0x1.0c48212f9d7d5p-5 +-0x1.165632366a642p-4 +0x1.f02bc2261e6p-2 +0x1.35c695c54324cp+0 +0x1.da738a1ef263ap-3 +0x1.8e148329ce957p+0 +-0x1.23fb1e71b470dp+1 +-0x1.917d253d56628p-4 +0x1.a732ce8745798p+2 +-0x1.d5274779de14fp+1 +-0x1.6140d1bcfa57ap+1 +0x1.d8ab79716e0f7p+0 +0x1.69a984068e617p-2 +-0x1.b993494c289a7p-2 +-0x1.b84750ff20e86p+0 +0x1.48c177c8aca89p+0 +-0x1.445f818422a59p+1 +-0x1.4122d8dea6a43p+1 +-0x1.f0fc999efb4aap-1 +-0x1.15642cc3c862ap+1 +-0x1.276fb26de60e9p-1 +0x1.1ec51bc9a97bap-1 +0x1.3d61d3a09b77fp+0 +0x1.f9cd816fd14fep+0 +0x1.cef99ebfe42b3p+1 +-0x1.bd5bba461b12cp+0 +0x1.416067dd0409fp+1 +0x1.1502592e972a1p+1 +-0x1.934af108629a1p+1 +0x1.e2761e34d6f1p+1 +0x1.c5012d584de9fp+0 +-0x1.77978719926fep+0 +-0x1.1d26cb45855bcp+0 +-0x1.eb282fdc323b2p-2 +0x1.0fd5f8c2edf9bp-1 +-0x1.c882616c0724ep+0 +0x1.fd0406443607fp+1 +-0x1.3ac283c5bcf6fp+1 +0x1.ba5eed72a9ddp-1 +0x1.69e161b1c4069p-1 +-0x1.6d72c573c240ap+0 +0x1.bbf7f991509bp+0 +0x1.82e235c879fcap-7 +0x1.2d96702365145p+0 +0x1.215bea1d8d972p+0 +-0x1.7997172e853bfp+1 +0x1.5e7afcc212c52p+2 +0x1.2b76bc19872a5p+0 +0x1.e87f010895ff8p-1 +-0x1.66b791a63137ap+1 +0x1.380f5b2505ad7p-7 +0x1.365817673d7f7p-1 +-0x1.67eaed7f37d86p-1 +-0x1.09e25af5d71aep+2 +-0x1.2241b2dd69a7p+0 +-0x1.6e04df20ee7f6p+0 +-0x1.0b84873fbb2dbp+3 +0x1.2055c31c03c12p+0 +0x1.d0ade40208be6p+0 +0x1.78507db603478p-1 +0x1.5fdd6ff3a3c16p-1 +-0x1.a40adcf265112p+0 +-0x1.9a4965d24107ap-1 +-0x1.0087030c13e29p-2 +-0x1.9050f6f41c4ddp-1 +0x1.9010a2e637bc7p+0 +0x1.113376a83e2c6p+0 +0x1.4a4de4a4f3f5p+0 +-0x1.51fcce431742p+0 +0x1.6282901a8acecp+1 +0x1.176a63c7537aep+2 +0x1.901b0800bc9dfp-3 +0x1.ab8c84d120068p+1 +0x1.001c37635ebe6p+2 +-0x1.1889a52401b8dp-1 +0x1.204095599060ep-1 +-0x1.779b54f02edc9p+1 +0x1.5687c5c40153ap+0 +-0x1.20ab35abb8787p+0 +-0x1.04970708d0fe5p+1 +-0x1.29b567146b4e8p+0 +-0x1.d35c076e911bp-2 +-0x1.aca8dd766452ap+1 +0x1.50a41f3b44575p+0 +0x1.dbbcc5a5d0df9p+0 +0x1.2c63a0d55602bp+0 +0x1.ff52828b187e8p-3 +-0x1.27ad28fb498b1p-8 +-0x1.63b807193b23dp+2 +0x1.f0119929f101fp-1 +-0x1.43fe26caa94e4p+0 +-0x1.0cfe307425a53p+1 +-0x1.61f8fd45862b2p+0 +0x1.ce5dc065eb64dp+0 +-0x1.9a937bd2d10cap+0 +0x1.ffa1bcc97ea3ep+0 +-0x1.c801293111172p+0 +-0x1.1e7d796eeaec5p+1 +-0x1.2f748cfbc86e7p+0 +0x1.3e88e2104eb8fp-4 +0x1.8f8bc03ea8a77p+1 +-0x1.1cff7307d5862p+2 +0x1.33c240e05d236p+0 +-0x1.f3fd37550fb15p+0 +0x1.5460460453fe5p+1 +-0x1.13ae63d5081bdp+0 +0x1.c8a557e518029p+0 +0x1.a6e45f4e9a6b6p-2 +0x1.07ed1a2a897adp+2 +-0x1.09835363377dfp-2 +-0x1.5e7ca85f0362cp+0 +-0x1.e68c399dd7828p+1 +0x1.d7c9f445e5a24p-2 +0x1.ee68d40735504p-2 +-0x1.52875d7fd4576p+1 +-0x1.d91c369f9388bp+1 +0x1.2b72db14cc6f6p+2 +0x1.d0c789fca360bp-1 +0x1.97c690165469dp+1 +0x1.67d404afb5792p+1 +-0x1.b4cdb39547973p-3 +-0x1.ed74867a6604dp-1 +0x1.5adacd4f6b1d7p+1 +0x1.7fdec551fc6dp+0 +0x1.9f462dff9efa5p-2 +-0x1.fdf4e38d3f18dp-2 +-0x1.b7c4b7dbb18a8p+0 +0x1.0e3b079e53d7bp+0 +-0x1.5d2e083cdb2ap+1 +0x1.0cc27d64a7d43p-1 +-0x1.37e81213f4e0fp-1 +-0x1.5a43d413f83bap+0 +-0x1.314f136d93effp-1 +0x1.064053ce7a0afp+1 +0x1.0d29210c02d7bp-1 +-0x1.a6260c58046edp+1 +0x1.c090bdd3a536fp-1 +0x1.8c59cb4a3224p+1 +-0x1.797c7dad0012fp+1 +-0x1.495eff731233cp-1 +-0x1.a65d45a8a2262p+2 +-0x1.7ace45bdacdf7p-2 +0x1.5e57461216e1bp-3 +0x1.99a99694f9534p+0 +-0x1.64f4d39d571f8p-1 +0x1.5b2ce91d1aef2p-2 +-0x1.afae6b5b46062p-4 +0x1.708002aaa62bfp+3 +0x1.76212d58b40c7p-2 +0x1.1e35a985b8e18p-1 +-0x1.2d2b34d13b5f9p-1 +-0x1.74477a02ec0bdp-1 +-0x1.da68da140e825p+0 +-0x1.c28a73a3106bep+1 +-0x1.cf020fc31ed3fp+1 +-0x1.7275f98572478p-1 +-0x1.83d0b79f6303cp+0 +0x1.22e357de490cfp-2 +0x1.1d1dbc833ad22p+0 +0x1.b4bc73f74859ap+0 +0x1.686b4b854b64cp+1 +0x1.fbb52a400d89cp+1 +-0x1.cc7f9c85bde7ep-1 +0x1.b6b477f201c6ep+0 +0x1.0ebfba0a114c5p+0 +-0x1.e6ace16a7299cp-3 +-0x1.d104471f5d95dp+0 +-0x1.e19500ec9b6cep-6 +-0x1.70f295be4a514p+2 +0x1.f83b5b8adb452p+0 +0x1.281cb65ca320ap+1 +-0x1.ff1218cd72c29p-2 +0x1.3b72435a84809p+0 +0x1.7faa65769570ep+0 +-0x1.a4da56f324ec8p+1 +0x1.372832227ffc9p-1 +-0x1.ae39635528ddp+0 +-0x1.ddcde5b4fb11bp-2 +-0x1.0670b45312f0dp-2 +0x1.fb5febc89cd42p-2 +0x1.a307fce6d123p-1 +-0x1.404de256223b2p+1 +0x1.144152cb79ec1p+1 +-0x1.f58740badc67p-2 +-0x1.c07b0dabdd81fp-2 +0x1.404e7275ef5fep-1 +0x1.870e0080594c6p+1 +-0x1.e37d0e1e669ep+0 +-0x1.4b5ae5988b046p+0 +0x1.70267658dba4cp+1 +-0x1.49ec88a2a3359p-1 +-0x1.18feedff8e9e1p+1 +-0x1.37295400e0b66p+1 +-0x1.63ed3cee44c3p+1 +0x1.ecf1262c6256fp-2 +-0x1.1064e5d40fbaap+2 +-0x1.a27bde8e83542p+0 +-0x1.37ed4bf644953p-2 +0x1.0247350b588fp+0 +-0x1.5394d16a9ecb8p+0 +-0x1.36aa071aeee3ap-3 +-0x1.7caf6d8ba4423p-2 +0x1.52874ff294ab8p-1 +0x1.708585ed461c7p-1 +0x1.b81519abfe448p+0 +0x1.960ca3aca2da9p-3 +-0x1.9247d4bed09dfp+1 +-0x1.6db8d3ce3d138p-1 +-0x1.0ed320667957ep+1 +0x1.618874e4163c5p+0 +-0x1.dba11ceeee624p-2 +0x1.375f6da901a1bp-2 +-0x1.385561329fbd9p-2 +0x1.d85a863473592p+0 +-0x1.97a7c6b8689a6p-4 +0x1.5f9874c3e9c04p+0 +0x1.b10ecf4a5ae09p+0 +0x1.22a60403cf9edp+0 +-0x1.611f37f57d103p+0 +-0x1.0d5821620c591p-1 +-0x1.78931e76da172p-1 +0x1.42a0cb1723dd8p+1 +0x1.0cdd8dffcc714p+0 +0x1.583e81ad1f894p+0 +-0x1.8dddfe6b1db1ep-4 +-0x1.279f4aba250b2p-2 +-0x1.1c8f3a3197523p-2 +0x1.f8279ff8d44e8p+0 +0x1.7eb0586f1e212p+1 +0x1.a0f7088408588p+0 +0x1.10a960acbb03ep-1 +0x1.058270b943164p+0 +0x1.8a113c5edea79p+1 +-0x1.3089f26b16c03p+2 +0x1.4d41a44153273p-1 +0x1.b1467355d45e8p+0 +-0x1.d7c6f58419c5cp-1 +0x1.66b6af034f9ddp+0 +-0x1.7d4c8535032bep-1 +0x1.fcdc6cacad5ecp-2 +-0x1.9741ac11fd8p+0 +-0x1.2ccd37d2867d9p-1 +0x1.b1a5e683d04cbp+0 +0x1.b3389a7d7531ep+0 +0x1.3db3786b871ffp-1 +-0x1.93fbc2d3d6065p-1 +0x1.61b4044ca5525p+0 +-0x1.859fc80ce8dd2p-4 +0x1.08f92ca0f31b7p+1 +-0x1.bc3e98be64526p+1 +0x1.aaa83f1f88352p-1 +-0x1.a8e66443f670cp-4 +0x1.9efa872648f64p+0 +-0x1.234ae4a25b79dp+1 +-0x1.0721d88335cc7p-2 +-0x1.220a9569b1afbp-1 +0x1.be0bafa87bc98p+0 +0x1.45caa702677e9p+0 +0x1.525a58f38f698p-1 +-0x1.2a1b7c49eb37ep+2 +0x1.0b37f52ac6b93p+3 +0x1.567fa18ac29e7p+0 +0x1.610bced2616acp+0 +0x1.d38e3004c61a4p+1 +-0x1.9a561af3be289p+0 +-0x1.343e0be99de54p-6 +-0x1.0461c2da75ca5p+0 +-0x1.c31b2ce23198ap+0 +0x1.8ed03412d6defp+1 +-0x1.4badf61615d91p+1 +0x1.e92aca60286a3p+0 +-0x1.31b566d1b2051p+2 +0x1.1cc31c406d884p-2 +0x1.653507d0fae44p+1 +-0x1.0ca9fa4e5ea14p+1 +0x1.5c0f60b43f723p-2 +0x1.0dee9ba02c59dp+1 +0x1.7ab9618aa7b9ap+1 +-0x1.4229532e11028p-1 +0x1.0473c74a65923p-3 +-0x1.4ec5527bb6b1p-1 +-0x1.489c9c3257ffbp-3 +-0x1.8605a7ea9f68ep+0 +0x1.0b9704fd80065p-2 +0x1.af4e5e8e21aabp+1 +-0x1.7048849aad75dp+0 +0x1.0d834d061d13ep+1 +0x1.1a3fd319de2d8p+0 +-0x1.c9acb3cf84b5ap+1 +0x1.2cd3804cfa77bp-1 +-0x1.13feec13f7a1ep+1 +-0x1.44a39e2790977p+1 +-0x1.43dc50a87bef6p-1 +-0x1.95c0223f3e118p+0 +-0x1.e9d0bba5162abp+0 +0x1.da1d5736ac5afp-1 +0x1.2cf2cb1c57f41p+1 +-0x1.5b04698bbb1a7p+1 +0x1.c4399e14bbcffp+0 +-0x1.a99eb5ebf5264p+1 +-0x1.20e331e6498bep+1 +-0x1.8c4bdb52630b4p+1 +-0x1.96e438636db92p+1 +-0x1.3793009205cb6p-3 +0x1.78aacc3ecdfddp+0 +0x1.ffaddddffd222p+0 +0x1.16e60604c9814p+1 +0x1.13f31a840b543p-2 +-0x1.b1a470df782ffp+0 +-0x1.d6358578aeaadp+0 +-0x1.387aa415ad2e3p+1 +-0x1.8c3129551b39ap+0 +0x1.37444d56dfa27p-1 +0x1.1735afb03ea2fp+2 +0x1.f3fbc0ea1ef72p-3 +0x1.684ed9d43ce98p-1 +-0x1.1faa73c539267p+0 +0x1.35badc4b94a55p+0 +0x1.fe74074beb41ap+1 +-0x1.3cb5e6f602cadp+0 +-0x1.2d1e06641d4b5p+1 +-0x1.8035cd3e7742cp-3 +-0x1.36a9e91df62c3p+1 +-0x1.9b107f419c584p-2 +-0x1.85e021f095f01p-5 +-0x1.5f96df191eb35p+2 +0x1.4b81b4301ff9bp+1 +-0x1.27f867c4a1876p+1 +-0x1.e34f3f8de9e93p+0 +0x1.3ff1982a8c1a3p-1 +-0x1.acfc0f7d4df3bp-1 +0x1.563f3d6f14e47p+0 +-0x1.32c9dc7c84217p+2 +-0x1.aeb4e27ef7c26p-2 +0x1.a9cb811e2636fp-1 +0x1.66683e6e79191p+1 +-0x1.dcf29ecba2ec9p+1 +0x1.2f3a84b80c18ap+2 +0x1.41b4643a6e992p+1 +-0x1.6b431877fb402p+1 +0x1.0e5ad74b26404p+0 +0x1.82de4a767021p-1 +0x1.12126a1ca8613p+2 +-0x1.588a5f65fe3b4p+1 +-0x1.56bb13e4c4ae6p-1 +-0x1.c2d0fd0923fbfp+1 +0x1.c91e8b10a5533p-6 +-0x1.f9b58d1ae36e4p-3 +-0x1.01b17727843d9p-1 +0x1.30f175c55fc16p-1 +0x1.96488992e5355p-1 +0x1.9ee1502eccb25p-3 +0x1.2b7cd87d8575fp+0 +0x1.335e7097d77cbp+1 +0x1.32db26973797p+0 +0x1.49e461c1e1bdap+0 +0x1.809e28859e0a5p+1 +0x1.b281c98df2671p-1 +-0x1.ef3af6c6c31b3p+0 +-0x1.92b6e58d80c3fp+1 +0x1.f9bdb00234c97p-1 +-0x1.981004f6214f3p-3 +-0x1.96ce7df738056p+0 +0x1.c37f9aa20fd13p-1 +-0x1.96930ce3c46fap+0 +0x1.a434fcf038beep-1 +-0x1.7b13e32ea485bp+0 +0x1.b66e3aa220ca7p-2 +-0x1.3157d8e3da2f8p+1 +0x1.027d8759c3f59p-1 +-0x1.acd3e4897fdap+1 +-0x1.0d4cdee83739dp-2 +-0x1.23d8a034ba3eep+1 +-0x1.3e11a7c15725fp-1 +0x1.2ae06cdf11218p+1 +0x1.8236fc55fa007p-5 +0x1.90815eba85c32p+1 +-0x1.a8db406cfc925p-2 +-0x1.29758696f7f4fp+1 +-0x1.952cb3e54afadp+1 +-0x1.a20518c61bc01p+0 +-0x1.cf28a5bfdbacap+0 +0x1.931bf09323ebcp+0 +0x1.9ba7da87415dp-1 +-0x1.9ce85d13df788p-1 +-0x1.4292c1163e569p+1 +-0x1.2b7d1b77746cep+0 +-0x1.8d138f089cb57p+0 +0x1.e9278c18affb3p+0 +0x1.9425430667adcp+1 +-0x1.1df8cd3a20e3dp+1 +-0x1.31ce008c00358p-3 +0x1.a7065ef00e1ffp+1 +0x1.b70b1c1c89729p+1 +0x1.930bc47bb8188p+0 +-0x1.2f167de5cdea1p+1 +-0x1.5f557210f0787p+0 +-0x1.01fae373eadffp-2 +0x1.b78b3f6d22097p+0 +0x1.d7a04db2ea56p+0 +0x1.f2be0a10bd434p-2 +0x1.4a4c52737001ap+0 +0x1.0b3c195c20e8bp-2 +-0x1.8c5f16b22855ep+0 +0x1.3b31b372759b7p+1 +-0x1.61f20e1994293p+1 +-0x1.b3556f80c18aap+1 +-0x1.3da99efc32593p+0 +0x1.f9e9b1a9d8d76p+1 +-0x1.e29a437562d99p+0 +-0x1.cb80f8f1873e2p-1 +0x1.2b0e5b7994c54p-3 +-0x1.5e774a8943ae7p-1 +-0x1.b0789f1a65acap+0 +0x1.7df532f52cc1dp+1 +-0x1.20e83ae34ed46p+1 +-0x1.2ece3c3ec6664p+0 +-0x1.b8dcfa5fbf818p-3 +-0x1.a820ea389ac6fp+0 +0x1.7b9753412f6e2p+0 +0x1.4c6f88360f0f6p-1 +0x1.3008760c128f6p+0 +-0x1.6a6fdd9b90682p-3 +-0x1.cfc8ec787bd4dp-1 +0x1.78dff326f06dbp+1 +0x1.19aee6c68791dp+2 +0x1.cb41729f3e736p-3 +0x1.a2bc9dcd1e467p-2 +-0x1.153a4fd79110dp+1 +-0x1.e32cd1de75aeep+0 +0x1.cd10432db446ep-3 +0x1.0fb76c74ad7bcp-1 +0x1.4bfd49768d6c7p+1 +0x1.8065368a8c428p+0 +0x1.9579f6463b22bp+0 +0x1.3648ffafc92c3p-1 +0x1.a0c47a5fc93c6p-7 +-0x1.098030e3bdc44p+0 +0x1.84fb0df3d135ep+0 +-0x1.8554623efc182p+1 +0x1.15962483804c5p+2 +-0x1.8df533f543abap-1 +0x1.8cd24f4465bf6p-1 +-0x1.e7ad745390a86p+1 +0x1.e6229de2d08d2p-4 +0x1.bccca2f589181p-1 +-0x1.8e288e1a61ee3p+0 +0x1.c2aa6042cc4f2p-2 +0x1.ff0a0b216808dp+0 +-0x1.ddb1ebaddda37p-1 +-0x1.3e547677d2c41p+1 +0x1.858157703b673p+1 +0x1.d178dc87fb39p+0 +0x1.9197f0d053534p+0 +0x1.f12d869443df1p+0 +0x1.0ee4fa91d23b3p+1 +-0x1.0bec1161ae20bp+1 +-0x1.c3b201bd982f3p-1 +-0x1.40665a584411bp+1 +0x1.5ca6980e53b25p+0 +0x1.0886c51b9980ap+1 +-0x1.6ce43df954b1ap+1 +0x1.0d0445a428c4ap+1 +-0x1.3cdd410cf295fp+1 +-0x1.98ab951adfc1ep-2 +0x1.67118b280f43fp-1 +-0x1.6381cfc1a7fd9p-1 +0x1.a6ecb3aef92c3p+0 +-0x1.9515b6440ae85p+1 +-0x1.3a802180d8c38p+0 +0x1.46c216f166babp+1 +0x1.e89f14de3abdcp-1 +-0x1.0b75a703206b5p-3 +0x1.4109f34eca6cfp+1 +-0x1.5a0cd433fd541p+1 +-0x1.a0870f0190132p+2 +-0x1.61350b7c3dbbp+1 +-0x1.24d68bb8a1536p+0 +0x1.77981e69716c6p-2 +-0x1.f701b74210786p-2 +0x1.ab815c885035fp+1 +-0x1.cf59e95b10a65p+0 +0x1.8ee6dc793727fp-1 +0x1.8ec04b88e9299p+0 +0x1.bbf63740f394ap+0 +-0x1.a3fa37a2e2b1p-1 +-0x1.1af036b14ba26p-1 +0x1.22f5cd1fca077p+0 +-0x1.46a4997b4856dp+1 +-0x1.5d4fdb54e2ed8p+1 +-0x1.f72d2a7eda91fp+0 +-0x1.8bcbb1ddb6962p-8 +0x1.b6ac6902470d7p-1 +-0x1.760220b9f6df6p-1 +-0x1.317764115a924p+1 +0x1.1f9cb1ce1cce5p+1 +0x1.9e1293e476df5p+1 +-0x1.e7d7d12a5dd4fp+0 +-0x1.ac107ca1eba9fp+2 +0x1.a6ffb58cb5985p-5 +0x1.e6a5d11bab93fp-7 +-0x1.69a5af5d507a9p-3 +0x1.159759da72ed4p+1 +-0x1.9f7bb37d32885p+1 +-0x1.239f28fcb0afp+1 +0x1.21c24452d1427p+0 +0x1.63aca54aadbbbp+0 +0x1.1981bb5c459ddp-1 +0x1.ae3274518c3f1p+0 +-0x1.acc7c26f9439ep+0 +0x1.354474b83682dp+1 +-0x1.01b9ab69e5c85p+0 +0x1.59db0e6e1cd7cp+0 +0x1.1a891301a0aa6p+2 +-0x1.5dab9a5277553p-2 +-0x1.7abbe453f1cc6p-2 +-0x1.714255562f7cep+1 +-0x1.7e72ee759e153p+0 +-0x1.90f2864b2d9cap+0 +0x1.c2059f0e9165p+0 +0x1.d47af0a008b86p+0 +0x1.adbf8cdf8ec5ep+1 +0x1.6ba6997c9b1d7p+2 +-0x1.4bf35ff2fa10dp+0 +-0x1.0d0d08f037d69p+0 +-0x1.190849747ae36p+1 +-0x1.dc5e8a1378193p+0 +0x1.582c7fac433efp+3 +-0x1.07091c5b399e8p+1 +-0x1.53bf26bf39cf9p+0 +0x1.6021132cc5fa9p+1 +0x1.1f2cca10e8847p+1 +0x1.82373ef9b2af3p-1 +0x1.13fdff19abe06p-1 +-0x1.9e2ae2249f80cp+1 +-0x1.75a7e3cde7d6bp+0 +0x1.7dbef6e963782p+1 +0x1.2e956304ede21p+1 +-0x1.0a1952a608b0cp+1 +0x1.d5409c022e31cp+0 +-0x1.093fe4d472b8p+0 +0x1.1e6686880eep+2 +0x1.9365dfbda12b9p+1 +-0x1.0cbcf4504f1cp+1 +-0x1.813d0e71aca86p-2 +-0x1.30606fb5012c9p-4 +-0x1.4b5341e2b8ecep+1 +0x1.6032528ee7911p+0 +-0x1.c601e68d6fd3fp+1 +-0x1.cd608a18ee988p-1 +-0x1.fa09ccf1d5531p+0 +-0x1.797292dcd8a68p+1 +-0x1.31a7415db6994p+2 +-0x1.57cd527e36623p-1 +0x1.b71ae5a6df80dp+1 +-0x1.96ec47cf27c83p+0 +0x1.0e009129436bcp-3 +-0x1.042ca5f3e63cap+1 +0x1.8a318ce0844e6p-1 +-0x1.6a9bda33a34a4p-1 +0x1.c52faf93d6272p-1 +-0x1.376f82b84a51cp+1 +0x1.0698fad96b508p+0 +-0x1.1f6c54d65f837p+0 +-0x1.8094b4312165bp+1 +0x1.4bf1619b9688ep-1 +0x1.f19582b5141a9p+1 +-0x1.1f0c82108dddcp+2 +0x1.6d0a9de3d1192p-1 +-0x1.b4f5eb46c1c0dp+1 +0x1.94ea497a6da1ap-4 +-0x1.dd3e7ccde95fdp+0 +0x1.00c3274ec2061p+0 +-0x1.06b80839acdc7p-2 +0x1.5e68c21fc3c47p+1 +0x1.b57a617c24c7p+0 +0x1.dbb777ecd2fe8p-1 +0x1.f8599d5912f5fp+0 +0x1.a8ce99637fdep-1 +-0x1.1178cc6c41045p+1 +-0x1.16b2621fde5e9p+0 +0x1.4cb3193c14242p-2 +-0x1.2b698b53d3ed1p+0 +-0x1.be568813f298ep+1 +-0x1.9ead7fd515e8dp-2 +-0x1.7f25d213409b4p+0 +-0x1.3ecb54cf217f1p-1 +-0x1.42bd8c75ca1a1p+0 +-0x1.e64af07dc6ef7p+1 +-0x1.8df505efdde4bp-5 +-0x1.7fa6f784cf1bp-1 +0x1.f192dba76a318p+0 +0x1.a23234b4f8c78p+1 +0x1.529f9e235ca8dp-3 +-0x1.25c2424ba38d7p+1 +-0x1.264d33dfac652p+1 +-0x1.ab5a0d648b3f9p+0 +0x1.27c7c89efc754p-2 +0x1.be840d57a7d3dp-1 +0x1.abfd0ae117d33p+0 +0x1.73307b0afc1cp-3 +0x1.19a8c250aaf8cp+1 +-0x1.c614b9eecb9fap+1 +0x1.910e203d9f24cp-2 +0x1.cc4adc85133a8p+0 +-0x1.072822fff319p+1 +0x1.6f27040372408p+1 +0x1.1ee3a2633dbf7p+2 +0x1.b216ffb5f56fp+0 +0x1.d120be1750f82p-5 +-0x1.1fe197e3ff7acp+1 +-0x1.52b1ef6bf3261p+1 +-0x1.ae76580a3fa2dp-1 +-0x1.f114f06135a6ap+1 +0x1.2db693dc79d04p+0 +0x1.c017579cc447ep-2 +0x1.c6336e02c5349p+0 +-0x1.97d9cac324f57p+1 +-0x1.3aa6e59b8e4f2p-1 +0x1.95847294eb9e8p-1 +0x1.047a939a996e3p+1 +0x1.4d2300d306d07p+1 +-0x1.229a22421288bp+1 +-0x1.15d245de0d24fp+1 +-0x1.14ca80f6c7f21p-4 +-0x1.d280147f90d51p+1 +0x1.97ed012468bebp-1 +0x1.2295da95d38bp+1 +0x1.03ef25597dbdbp+0 +0x1.a8e6fe8e0c2f1p-1 +0x1.19989345a8442p+0 +-0x1.f6ca0bd88e38fp-2 +-0x1.45c57fd1010d9p-2 +-0x1.c3de1d196e1b6p-4 +0x1.e727d990df347p-1 +0x1.abe66fcda83c4p-1 +-0x1.8fa34697d969bp+1 +-0x1.70b3456c05701p-1 +-0x1.1d62c028cb85ep+2 +0x1.07fd60f0cb3b7p+0 +-0x1.2baea608eee34p-1 +0x1.c74a0bff306b8p-1 +0x1.5ab7632a6f26ap+1 +-0x1.8b71affd301adp-1 +0x1.e5599a8b8cd1ep-3 +-0x1.3d2158dbebc02p+2 +0x1.28195507f9c4dp+1 +-0x1.69afc82cc1a18p-3 +-0x1.412b60b9accfap+0 +-0x1.15c3131754788p-5 +-0x1.c518dcf18236bp+0 +-0x1.73992aff0a5d1p-2 +0x1.a6465a06344abp+1 +0x1.6618c32434ccbp-7 +0x1.01d2e8a3a500ap+1 +0x1.4919b4e276d87p+0 +-0x1.87c7208ec9bc6p-2 +0x1.b755fe391f329p-9 +0x1.8e16c29571d0ap+0 +0x1.e0c19c809e47fp-1 +0x1.6efdb5caff4a6p-1 +0x1.77a86c33e5e95p+1 +-0x1.9a52b339c19cfp-1 +0x1.2decd2cd9416p+1 +0x1.efa199ef062efp-2 +-0x1.f7faebc197eaep-3 +-0x1.125dbd788c9cap+0 +-0x1.aa25da601877cp-1 +-0x1.0509b5b07db71p+1 +-0x1.0e841e3337126p+2 +0x1.14f309eb6b769p-6 +0x1.8371f68deafc4p+1 +-0x1.a6997c8b3e796p+0 +0x1.d0be99890c6e9p-3 +0x1.7a186fbd1e357p+0 +0x1.5c3bcf78d4d02p+1 +0x1.a8caecb3e7fadp+1 +0x1.4fabaf7e6189cp-2 +0x1.52e960044f204p+1 +0x1.6ef878c1f2b46p-1 +0x1.e6a8c18b02bdap+0 +-0x1.153cd769f58b7p+0 +0x1.7465e23891068p+1 +0x1.19c6a1a74d3e4p+0 +-0x1.8c73d8a61f255p+2 +0x1.72168e15129acp-1 +-0x1.fad951936d185p-1 +-0x1.d3401a99664afp-1 +0x1.1d3854a4dd63cp+0 +0x1.5c0a66217aeedp+1 +-0x1.8183e6ca03bf9p-2 +0x1.e1e5edcac9c11p-2 +-0x1.2c76664058a25p+2 +0x1.31e48e976aa5bp+2 +-0x1.5b84d88d6d8cap+0 +0x1.ac7e36ab5270ep+0 +0x1.171c6cc2580eep+0 +0x1.b3819456344ccp-7 +-0x1.9c0b5679318b7p+0 +-0x1.16cd889ab0c83p+0 +-0x1.5a04d871e7321p+1 +-0x1.0cc51d8fdc638p+2 +-0x1.d5ed576faf2d7p+0 +-0x1.056de1685c7f9p+1 +-0x1.e09561f6f07afp-1 +0x1.0f01966df0ce1p+0 +0x1.7fa3f5c1e2d0fp+0 +0x1.fac5aff615326p-1 +-0x1.f77ae55a39fdcp+1 +-0x1.6f44f4289804fp-1 +-0x1.9d4e517275c6cp+1 +0x1.3357958e33f8p+2 +-0x1.58acb6a23ccabp-1 +-0x1.870639b088223p+0 +0x1.b943566f0562bp+0 +0x1.8637e6afd9338p+0 +-0x1.440ac7df7534ap+0 +0x1.478d4841c032p-1 +-0x1.bf9b0d31fd77p+0 +0x1.657f4c07274eap-2 +-0x1.8f9cb6ef8f5d9p+1 +0x1.1399d879737eap+1 +0x1.a28951ff14a4ap-1 +-0x1.23308d3996291p+1 +-0x1.4c282aeb3391dp-2 +-0x1.d9f85505d3084p+0 +0x1.bf6c8f95b92bap+1 +-0x1.87bd20aebe54ap-1 +-0x1.7e79bc2fd9f94p+1 +0x1.472382401a8f2p+0 +0x1.924999011c9c8p+1 +0x1.23e2c30e9b519p+0 +-0x1.527b92c498b81p-1 +-0x1.03af799e9b82fp+2 +-0x1.57e603fe4b41bp-1 +0x1.489f051554ca5p+1 +0x1.a3378da301d3dp+0 +0x1.127a2038f4704p+1 +-0x1.0412abc005f4ap+1 +-0x1.c1fab58e51be8p-2 +-0x1.534a358901675p+1 +-0x1.227ee94d806fbp+0 +-0x1.60bafada87854p+1 +-0x1.6c1b4ca75bc6dp+0 +-0x1.e55c2f64efc93p+0 +0x1.0136a1b3a2aeap-3 +-0x1.0ffdf80d90d07p+0 +-0x1.c65760470e8d6p+0 +-0x1.b2896d2a008dap-4 +0x1.574f6ae904203p-2 +0x1.324236a74d2b6p+1 +-0x1.a324414161549p-1 +0x1.9a3899e8b4ba4p+1 +-0x1.1171c9f576983p+1 +0x1.0f7b1d54df251p+0 +-0x1.6c053dd207a6fp+0 +-0x1.9b99b65989247p-1 +0x1.b2a6d71e32934p+1 +0x1.1f2bd5bca0b78p-1 +-0x1.f0cccc8b49969p+0 +-0x1.1732ff38c200cp+0 +-0x1.6b2755c442ff5p+0 +-0x1.187853da32e74p+1 +0x1.a799190ccccfep-1 +0x1.857357305ebd7p+0 +-0x1.0cfed51a5447p-4 +-0x1.4de6ec08a741ep+0 +0x1.51a0623691ca1p+0 +0x1.150623e621affp-2 +-0x1.5cfe06a01edd3p+1 +0x1.79170cd5592fbp-2 +0x1.03e7ab6aad67ep+1 +-0x1.1891985c0eb8ep+0 +0x1.b4c6bd3a6edd3p-2 +-0x1.9184c834df616p+0 +-0x1.896958966a197p+0 +0x1.5be3839f90121p+2 +-0x1.0a5d4e106277bp+1 +0x1.9a280716597f5p-3 +-0x1.52f6fb77a081ep+0 +0x1.3c8b1ee2b173ap-1 +0x1.2ea3366ede3adp-2 +0x1.e53f1280cde7ap+1 +0x1.957874fc6208ep+1 +-0x1.2e50c6467220dp+0 +0x1.f60821784192p-1 +0x1.b8e3e55ae80e2p+0 +0x1.288f642c27b4ap+1 +0x1.3ab579f457f48p+0 +0x1.00560e5c012c4p+1 +-0x1.018fda0958f47p-1 +-0x1.1663e5438ceecp-4 +-0x1.b38c79ed08931p-1 +-0x1.56593bb8e2b3ap-1 +-0x1.658a994e639bfp+1 +-0x1.95f20c71c72dcp-4 +-0x1.72fcdc678ef45p+1 +-0x1.d97293881bea4p-1 +-0x1.c49a1d675d476p-1 +-0x1.42186a28e4b08p+3 +-0x1.2f65397f9102fp+1 +-0x1.e1be1e7df4fc2p-1 +-0x1.6f8874375d431p-1 +-0x1.be77498071ef4p+2 +0x1.082ca583a3b4ap-3 +-0x1.a2bbbe7dac89cp-1 +-0x1.56d82280ca20ap+0 +-0x1.0dbeb9ef97955p+0 +-0x1.b94eb5428765bp+0 +-0x1.a9bf86e4ac70dp-2 +-0x1.0855827c83f4cp-1 +0x1.022d027737673p-2 +0x1.3063e7a806101p+2 +0x1.eab3b18ac0494p+1 +0x1.e5f194cc1e1a8p+0 +0x1.41c611c1713c2p+2 +0x1.e69e9354c1529p-2 +0x1.545416ffbb03bp+0 +-0x1.b5e40f88452abp+0 +-0x1.68c7d14330b2ap-2 +0x1.7ffc77ca165dcp-3 +0x1.a668c8ebd61b4p+1 +0x1.0b28f10ea5b09p+3 +0x1.4335046c074d7p+1 +0x1.685124b5d8a51p+2 +0x1.4745e3eac7353p+0 +-0x1.69574690ea7c3p-1 +-0x1.c3d85c17853dbp+1 +0x1.2ca545525be9ap+1 +-0x1.5e28ce7affeb4p-1 +-0x1.92bfba1bac60bp+0 +0x1.97f2a53c69f16p-1 +0x1.282c0d8843656p+0 +0x1.2e83ef4ac8dd2p-6 +-0x1.e1a4876dd3166p-3 +-0x1.95bdb29008dc8p-2 +0x1.6600fe4a53856p+1 +0x1.2e1d9bf5b3951p-3 +-0x1.70e9ea952a19dp-2 +-0x1.d20f199dd9577p+0 +-0x1.c22c62447cc81p-1 +0x1.5ede8b7bf60dbp-1 +-0x1.ddccc5653648fp-1 +-0x1.37b3b1cce6cd7p+0 +0x1.293dcc95484d4p+0 +0x1.a0908aa30e4b1p+0 +-0x1.19e1718e6114cp+0 +-0x1.15879faff760cp+1 +0x1.04d7bd103c7bcp+1 +0x1.a9bfcf61ab5aap-2 +0x1.7ffbcf941d617p+0 +-0x1.60433564bde97p-1 +0x1.deae2d4336f8fp-1 +0x1.0ac26b5b6b26ap-2 +-0x1.2f2bf3e135d94p+1 +0x1.2363b592279a8p-4 +0x1.44e9cf1156e06p+1 +-0x1.e43e30a92a587p+1 +-0x1.28e91fbfa691ap+0 +-0x1.7353a3cf17f5cp+0 +-0x1.10a858f300482p+1 +0x1.32f94c36ff37p-4 +0x1.f9f83415242ddp-3 +0x1.9757166028a0bp-1 +0x1.1d7c012c6d9acp+1 +-0x1.0bbd8297d292dp+0 +-0x1.5d11d00438ecep+0 +-0x1.2747d944042adp-1 +0x1.7f675e4cdfdafp+1 +-0x1.25e7be689bf3bp+2 +0x1.2ab5068d0da45p+0 +-0x1.b5d0f4e5854c2p-2 +-0x1.6c1508a245409p-2 +-0x1.cee6ebe8cfb3dp-1 +0x1.07e3d5abaf2c2p+2 +-0x1.c45815dd1e558p+1 +-0x1.1f092f46e4daep+0 +0x1.ab0d770f9960dp-1 +0x1.b383e5d3bf694p+0 +0x1.5da5ec4458468p+0 +-0x1.ae05752dce3bep+0 +0x1.4f48d390d74f4p+0 +-0x1.880168a9d8bf5p-2 +-0x1.87add861f8988p+1 +-0x1.14db9a7dcab57p+0 +0x1.47c0301aa6b84p-1 +-0x1.2b02155d9aee3p+1 +-0x1.7bfb0c81ab8cdp-4 +-0x1.0c23e578a36c6p+1 +-0x1.157749f322387p+0 +-0x1.7ac4335775a1cp-2 +0x1.c550fc3c78769p+1 +0x1.83d7cdfe37293p+1 +0x1.0175d3d989f64p+2 +-0x1.2212fa987b93ep-2 +0x1.217f3df9fc083p+1 +-0x1.cd855b8fe86fdp-1 +0x1.ccea5a54d87efp-1 +0x1.558402d1b1d97p+0 +-0x1.8ab1c2c68d04fp+1 +-0x1.8098471a13c85p-2 +-0x1.0ad159423187fp+2 +0x1.305104b60c029p+2 +0x1.eff682c003408p+0 +-0x1.5afb1632fb37ap+1 +0x1.1e33bf0ab3d29p+1 +-0x1.1f6664c27e13fp+1 +0x1.2a89ddee85669p-1 +-0x1.1674f3ba7da18p+1 +-0x1.2284f100bccdcp-5 +-0x1.cf1dd973f1609p-1 +0x1.b3a7904f392eep+0 +0x1.46833328fbc48p-1 +0x1.190e33f3fa595p+0 +0x1.2509eb20bfd81p-2 +0x1.7a11f69b6a7d4p+0 +-0x1.ce345c782f5b6p-5 +-0x1.203b3b982e85ap+1 +-0x1.1a3e040e503e8p+1 +0x1.963b6e19ba199p+0 +-0x1.e1bdc5dcc038bp+0 +0x1.4d96d7ad0daffp+1 +-0x1.b92d7f9c9dbcep-1 +0x1.e2caa293e9eecp+0 +0x1.f8baf1c0ea3dep-3 +-0x1.02dc134bc493p+2 +-0x1.a5f9889c469f6p+0 +0x1.68ac0123e4606p+2 +0x1.5e37a9908f7a9p+0 +-0x1.c7a4d4cf911a5p+2 +-0x1.19840a3a45406p+1 +0x1.1959dfefb58f7p+0 +0x1.52bed32f75b94p+1 +0x1.3f52f9ba88b48p+1 +0x1.eee9334cdd0ddp-1 +0x1.203d41ad61271p-2 +0x1.90b58e66122bdp+1 +-0x1.370579624a655p+0 +-0x1.b2a805a509c18p+1 +0x1.e67ccdb8eadfcp+1 +-0x1.3c67a45675499p+1 +-0x1.bfe3aa0e71bb2p+0 +0x1.35cebbc94eab7p+1 +0x1.0422cc7ae80c9p+1 +-0x1.60be748cc1763p+0 +0x1.035ceb7539913p+0 +0x1.7f99fcedf4bb1p-1 +-0x1.6f9c5ee90d57fp+1 +-0x1.845438659ae53p+1 +-0x1.127e6dca38c33p-1 +0x1.4cfddd6b8cbe6p+1 +-0x1.1d4bd6ad50359p+1 +0x1.6a88e84e144c1p+0 +0x1.e1d334ef65361p-1 +-0x1.3b15ef7442557p-2 +0x1.1b7a05f5b58bfp-3 +-0x1.3652bbdf11b7dp-2 +-0x1.80a2820b8f653p+0 +0x1.4aad42467abe7p+3 +-0x1.1f50c3eb06578p+0 +0x1.d420b1a766c3fp-2 +-0x1.f68b97ec580c1p-1 +0x1.7df5acaa32cddp+0 +0x1.6eb4e78ecc57cp-2 +-0x1.1194fe9aa3be8p+1 +0x1.13a325cf7b8cep+0 +0x1.e7069ccf67267p+1 +-0x1.89a242daa144dp+0 +-0x1.10750199c5d77p+1 +-0x1.fb0a9458e1e58p+0 +-0x1.f37b9d7b69b5fp+1 +-0x1.55c000fc49842p+1 +0x1.12ed7980f7439p-1 +0x1.cd24b3b1ef227p-1 +0x1.17088f192f0f9p+1 +0x1.90a1fc58a5b9bp+0 +0x1.88f71a896832fp-1 +-0x1.0e428a379b193p-3 +-0x1.9a536e9c8e83ap-1 +-0x1.f8c907f8f58dap+0 +0x1.40c9a200f618p-5 +0x1.bb0f583139801p+1 +0x1.4f096c4aaccfep+1 +-0x1.8639ac259ec7p-2 +-0x1.ddc002a62d79ap-6 +0x1.15ea75f9bba9bp+1 +-0x1.a4314722e80c4p+1 +0x1.3085c6708f055p+2 +-0x1.3a122c32d2387p+0 +-0x1.8466c7f39e1a8p+0 +-0x1.07a3a25046ff7p+0 +-0x1.64906f355b5f5p+1 +-0x1.b6cfc87ad211ap-1 +0x1.a9f23e8a04957p+0 +0x1.8f8861cd0df53p+0 +-0x1.0520d99bed6ddp+0 +-0x1.fd38e376c26b9p+0 +0x1.b94d0ce95bbbcp+1 +-0x1.a17681ee75826p+1 +-0x1.98f46def5a66cp+2 +-0x1.8824d10bf8adfp+1 +0x1.100b8d5562582p-2 +-0x1.83039f5c89f39p+1 +-0x1.32ae3bd745592p-2 +0x1.20cb3b1fd30d4p+1 +0x1.b455d2d933468p-1 +0x1.321f6a0b81c7cp+0 +-0x1.d72368b9f962cp+1 +-0x1.ab46f411c6aacp+2 +-0x1.e802ac8385caap+0 +-0x1.283a262642c57p-1 +-0x1.4683fc0789bb8p-2 +-0x1.0979236fd2b26p+1 +0x1.6fae44dc0134ap-3 +-0x1.66857c081da8dp-6 +-0x1.1808d0a3ed1b8p+1 +-0x1.88bbc40edea65p+0 +-0x1.22e88378bebeap-2 +0x1.ce560cf6fded2p-5 +0x1.fe493528bc8f6p-1 +-0x1.e70f7ac0dd117p+0 +-0x1.a225717175c68p+1 +0x1.93bb64437011dp+0 +-0x1.26ee7d4949696p+1 +-0x1.86e89fac76f85p+1 +0x1.324cac38058e4p+1 +0x1.1e2ab2a20dec6p+0 +-0x1.23a5753b9b995p+0 +-0x1.24f1448e6220bp+0 +-0x1.4b31f7fd15c83p-2 +0x1.16c554c0c7c7bp+0 diff --git a/sysdeps/x86_64/fpu/libmvec-tanhf-inputs b/sysdeps/x86_64/fpu/libmvec-tanhf-inputs new file mode 100644 index 0000000000..e84a492462 --- /dev/null +++ b/sysdeps/x86_64/fpu/libmvec-tanhf-inputs @@ -0,0 +1,4100 @@ +## args: float +## ret: float +## includes: math.h +# Normally distributed random inputs in range (-10, 10), mean = 0, standard deviation = 2 +-0x1.110038p-1 +-0x1.1f03acp+0 +-0x1.88539ap+1 +-0x1.410132p+0 +-0x1.3b7fb8p-1 +0x1.029deep+1 +0x1.77fde2p+0 +0x1.16a53ep+2 +0x1.35a336p+0 +-0x1.f85d78p-1 +-0x1.75bd8cp+1 +-0x1.360248p+1 +0x1.1cb9fap+2 +-0x1.cc0c94p-2 +-0x1.b06432p+0 +0x1.e5f318p+1 +-0x1.2bbc6p-1 +-0x1.b20d6p-7 +0x1.1ee5aap+0 +0x1.0d39dap+1 +-0x1.f35ecap-1 +-0x1.90e89ap+0 +-0x1.8718b2p-2 +0x1.e1a884p+0 +-0x1.bb8414p-1 +0x1.66748ep+1 +-0x1.03ac94p+1 +-0x1.2777cp-1 +0x1.1d20fap+1 +-0x1.0d6598p+1 +0x1.948e12p-2 +0x1.a2f914p+0 +0x1.8dfc3cp-2 +-0x1.05e19cp+0 +0x1.729198p-2 +0x1.0d76b4p-3 +-0x1.8ba0cp+0 +-0x1.657578p-1 +-0x1.420738p-1 +0x1.8a929p-2 +-0x1.3c18ep-3 +0x1.e26402p+0 +-0x1.16b4ecp+1 +0x1.919dfep-1 +0x1.51a8f6p-5 +-0x1.0cee72p+0 +-0x1.7ed13cp-2 +0x1.7c78e8p+0 +-0x1.371df6p+1 +-0x1.47b6c4p-1 +0x1.c0eb16p+0 +-0x1.04144p+1 +0x1.747d82p+0 +-0x1.0e3c3ap+2 +-0x1.9223e2p+0 +0x1.2c285ap-1 +-0x1.e100ap+0 +0x1.a994cp+0 +0x1.5642c6p+1 +0x1.bc4f36p-3 +0x1.a8293cp-1 +-0x1.7e95d8p-5 +0x1.b00558p-2 +-0x1.6d0abp+1 +0x1.159b44p-1 +0x1.cb814cp+0 +0x1.ef5984p-2 +0x1.4511a4p-2 +0x1.c3236cp-2 +-0x1.b5663ap-4 +0x1.f9775cp+0 +-0x1.fbe004p+0 +0x1.ec4068p-3 +0x1.0af7c2p+0 +-0x1.18e6b8p+0 +0x1.2fc06ap-1 +-0x1.0df60cp+0 +-0x1.b24314p+2 +-0x1.f9beaap-3 +-0x1.a8a18cp-3 +0x1.0d4374p+2 +0x1.8035aep-3 +0x1.6e5336p+0 +-0x1.202ed6p+1 +-0x1.958d6ep-1 +-0x1.205ddp-1 +-0x1.ae79ecp-1 +-0x1.08e936p-1 +0x1.fa1d12p+0 +0x1.e0e75p+0 +0x1.9b4ebep+1 +0x1.042ec8p+1 +-0x1.37f81ap+0 +-0x1.d1b82p-3 +-0x1.8d8c76p+1 +0x1.c753b4p+1 +0x1.59d5bp-2 +-0x1.ea04b4p-3 +0x1.29c338p-4 +-0x1.c2ee5ep+0 +0x1.cee3cap+1 +-0x1.b5e1a6p+0 +-0x1.42abb8p+0 +0x1.1d8892p+1 +0x1.80ec7cp-1 +0x1.b87cc8p-4 +0x1.9c79dap+0 +-0x1.253082p-3 +-0x1.a40112p-1 +-0x1.77943p+0 +0x1.77052ap-1 +0x1.aa7ee8p+1 +-0x1.f6ee5cp-5 +0x1.a39a2ap+0 +0x1.3221b8p+0 +0x1.5ff5bcp+0 +-0x1.4613aap-3 +-0x1.6991a4p+1 +-0x1.1071cap+1 +-0x1.055f3ap+1 +0x1.520ed8p+0 +-0x1.6e1544p+1 +0x1.e819p+1 +-0x1.8b8cb4p+0 +-0x1.a9f64ap+0 +0x1.88e06cp-1 +0x1.750ec6p+0 +-0x1.0dd8acp+0 +-0x1.99309ep-1 +-0x1.08b1bcp-1 +0x1.675086p-2 +0x1.0a5b3ep-1 +0x1.273d5cp+2 +-0x1.27eeacp+1 +0x1.398226p+0 +0x1.56fe6p+1 +-0x1.f11f36p+1 +0x1.9aca96p-1 +-0x1.8f8d42p+0 +-0x1.f49e6ep-2 +-0x1.7a129ep-7 +-0x1.1ae76cp+0 +0x1.087a5ap-3 +0x1.6aff86p+0 +-0x1.62fa8ap-1 +0x1.b66d4cp-1 +0x1.b32cf8p-1 +-0x1.47a5dp+1 +-0x1.ac60dap+0 +-0x1.fbdc48p-2 +0x1.ce8d8ap-1 +-0x1.f0575ep-1 +0x1.248082p+1 +-0x1.4b02ccp-3 +-0x1.f980a2p+0 +-0x1.d7c148p+0 +-0x1.19379ep-3 +0x1.58248p+2 +-0x1.ab9498p-1 +0x1.0e6daep+0 +-0x1.45599cp+1 +-0x1.a1d652p+1 +0x1.0a9a08p+0 +-0x1.380656p+0 +-0x1.4723eap+1 +0x1.82ba88p+1 +-0x1.be10fep-2 +0x1.6e9ab6p-9 +0x1.ac8ebap+1 +0x1.72f43ap-2 +0x1.647a3p-2 +-0x1.6a098ep-2 +-0x1.535b6p-4 +0x1.9b2178p-1 +-0x1.197a18p-3 +-0x1.d28fecp-1 +0x1.76a59cp-3 +-0x1.4314fcp-2 +-0x1.3d2ddcp+0 +-0x1.91560cp-2 +-0x1.2064bep+2 +-0x1.8f0d5ap+0 +0x1.81850ap+2 +-0x1.f7d0d6p-1 +-0x1.f23fd4p+0 +-0x1.75a606p-4 +-0x1.d253dcp+0 +-0x1.532846p+0 +0x1.ce3576p+0 +-0x1.8652cep-1 +-0x1.9b8efp+1 +0x1.7d9c66p+1 +0x1.b96c3ep+1 +-0x1.f953fcp+0 +-0x1.7c7218p+0 +-0x1.a1e7cp-1 +0x1.46cfc2p+1 +-0x1.ae2452p-1 +0x1.6993ap+1 +0x1.13306cp-1 +0x1.61510cp-4 +-0x1.1a2036p+2 +-0x1.64ad7ap+0 +0x1.bc0558p-3 +0x1.3c093ep-3 +0x1.4f8ea8p+0 +-0x1.55af0ap+2 +0x1.5af1d2p-1 +-0x1.0de628p+0 +0x1.99ce9ep+1 +-0x1.f3ce28p+0 +-0x1.2dcbccp+1 +0x1.1adafep+0 +0x1.853c9ap-2 +-0x1.00b1dap-4 +-0x1.12d9eap+1 +-0x1.c05a7cp+1 +-0x1.df87d8p+1 +0x1.3e98c6p+0 +0x1.560246p+1 +-0x1.c6b774p+0 +-0x1.68206ep-4 +0x1.efefd8p+0 +0x1.c1a132p-3 +0x1.30ea3ap+1 +-0x1.a74dd4p+0 +0x1.79ab52p-5 +0x1.d28bdp+0 +-0x1.dd0ae6p+1 +0x1.086058p+1 +-0x1.3d802ap-1 +-0x1.11859p+0 +0x1.2aa162p-1 +-0x1.51a2fep+1 +0x1.6d4ca2p+1 +-0x1.086472p+0 +0x1.73c0d4p-2 +-0x1.460bb8p+1 +-0x1.96b5c2p+0 +0x1.002088p+0 +-0x1.079c68p+1 +-0x1.a490fep-3 +0x1.3a317p-2 +0x1.b3009ap-2 +-0x1.8be63p+1 +0x1.c70c48p-2 +0x1.6ec3p+0 +-0x1.d42bdap-4 +0x1.542a48p+0 +-0x1.68aadep+0 +0x1.0719ecp+0 +0x1.5a5bfp+0 +-0x1.dca7f4p+0 +0x1.1f8d98p+0 +0x1.65e234p+0 +0x1.81eea2p+0 +-0x1.e09ae8p-1 +0x1.88cff6p-1 +-0x1.6268bep+2 +0x1.b0dc52p-1 +-0x1.949d08p-2 +0x1.2054bep+1 +-0x1.1c5a7p+1 +0x1.e6d71ap+1 +0x1.6d49cp-2 +0x1.ede04p+0 +0x1.5dd9cep+1 +-0x1.ee86a4p-1 +0x1.430682p+0 +-0x1.b239cep-1 +-0x1.b155c4p+1 +0x1.110594p+0 +-0x1.940484p+0 +-0x1.add56ap+0 +0x1.2ab818p-1 +-0x1.bb57eep-7 +0x1.2c5faap-1 +-0x1.105b2ap-1 +0x1.ad21b6p+1 +0x1.f59118p+0 +0x1.942c72p-1 +-0x1.73fc06p-1 +0x1.19a064p+1 +0x1.f4409ap-2 +-0x1.6ea822p+1 +0x1.05326p-2 +-0x1.30227ap-1 +0x1.69b302p-3 +-0x1.a95e1cp+0 +0x1.2ff44cp+0 +0x1.8803b4p+0 +0x1.e33526p+0 +-0x1.86cfb4p+0 +-0x1.a15cdap-2 +-0x1.ad8b0ep+1 +-0x1.9c52c8p+1 +0x1.1e855ap-2 +0x1.bb99aep-1 +-0x1.1dae22p+1 +-0x1.9efa1cp+1 +0x1.7f4124p+1 +0x1.a0ae02p-1 +0x1.6c8868p+0 +0x1.1bb6eep+2 +0x1.1a07e2p+1 +0x1.50e958p+1 +-0x1.88b9ep+1 +0x1.62d0a6p+1 +-0x1.641802p-3 +-0x1.a1d7bcp+2 +0x1.7c9ae8p+1 +0x1.a5562ap+1 +-0x1.af841cp-2 +-0x1.6538b6p+1 +-0x1.29feb6p+0 +0x1.6071bcp+2 +0x1.3a75b2p+2 +0x1.501b28p+0 +0x1.cab884p-1 +-0x1.a059b8p-1 +-0x1.94992p+1 +-0x1.4bf214p+0 +-0x1.f4aaa8p+0 +-0x1.c904a4p+0 +-0x1.85137ap-1 +-0x1.3253d2p+0 +-0x1.7e5a94p+0 +-0x1.ba8b24p-1 +-0x1.e32c5cp+1 +-0x1.f7a818p-1 +0x1.d79048p-2 +-0x1.e1ee3cp+0 +0x1.8a59e6p+0 +0x1.72b31ap-1 +-0x1.f0a79p-1 +-0x1.ec9f64p-1 +-0x1.ef4d44p+0 +-0x1.45030cp-1 +-0x1.3de03p+1 +-0x1.ae4ee8p-1 +-0x1.2a2442p+1 +0x1.1e09c8p-7 +-0x1.87095ep+1 +0x1.0b13ecp-1 +0x1.5b2206p+0 +-0x1.c752f2p-2 +0x1.3d151p+0 +0x1.17da3p+0 +-0x1.266a0ap+0 +0x1.d1624ap+0 +-0x1.347da4p-1 +-0x1.39b5p-3 +0x1.b9a576p+0 +-0x1.721816p+0 +0x1.4139fep+1 +0x1.0b6028p+0 +-0x1.9cf32p-1 +0x1.4e858p+1 +0x1.b07b4ep-2 +0x1.11702p-2 +-0x1.446788p+1 +0x1.9feeb8p-1 +0x1.a9ca3ap+0 +-0x1.5506bcp-1 +0x1.7d3bacp-2 +0x1.ba237ep-1 +-0x1.9d3fecp+0 +0x1.04414ep+0 +-0x1.1ab066p+0 +0x1.e015bp+0 +-0x1.c598c8p+0 +-0x1.bcfc0cp-3 +0x1.010d86p-1 +-0x1.7ff508p-1 +-0x1.befff6p-1 +0x1.3ee03ep+1 +0x1.44bf16p-1 +-0x1.dc7bfep-2 +0x1.4b2044p-1 +0x1.84fe36p-2 +0x1.cd7622p+1 +0x1.1b1d3cp+1 +-0x1.9fcae6p+1 +-0x1.0a3b58p+0 +-0x1.2abc8ap+1 +0x1.8c4d68p-2 +0x1.0a5afep+1 +0x1.4fd2ccp-2 +-0x1.391caap+1 +0x1.8d885ep+1 +0x1.59ea52p+1 +0x1.0ec88cp-4 +-0x1.8a5d84p+1 +0x1.1a283ap-3 +0x1.829e76p+0 +-0x1.ab290cp-2 +-0x1.013626p+1 +-0x1.d6aa46p+0 +0x1.1ae55cp-1 +-0x1.6d2bcp-1 +-0x1.2f894ap+0 +-0x1.8cccaap+2 +0x1.a1847ap-1 +0x1.61b9fap+1 +-0x1.593af2p-1 +-0x1.6fcb36p+0 +-0x1.6fbf54p+2 +0x1.55402ep-5 +-0x1.7758f8p+0 +-0x1.129ed6p+0 +0x1.47b15cp-1 +0x1.c37c38p-3 +-0x1.55e59cp+0 +0x1.15ab24p-1 +-0x1.5efb3p+1 +-0x1.c82246p+1 +-0x1.1ec106p+0 +-0x1.632d52p+1 +-0x1.3b380ep-2 +-0x1.d06a62p+1 +-0x1.648c7ep+2 +-0x1.e0c74ap-1 +0x1.3b45c2p+1 +0x1.9ac134p+1 +0x1.821b66p-1 +0x1.49d4a4p-3 +-0x1.9536fep-2 +-0x1.e45f7p+0 +0x1.f42e02p-4 +-0x1.1447c8p-1 +-0x1.3814cap+0 +-0x1.757674p+0 +-0x1.db96f4p+0 +0x1.b7e8d8p+0 +0x1.31f092p+0 +-0x1.23d39ap+1 +0x1.5fa8c2p+0 +-0x1.d6e588p+0 +-0x1.51e8dp-1 +-0x1.076dp+1 +-0x1.5ce54p-1 +-0x1.03dbfcp+0 +0x1.02c32cp+1 +0x1.2900dep+0 +-0x1.afaa32p+0 +-0x1.5d3804p+1 +0x1.7b1186p+1 +0x1.ff5246p-2 +0x1.0e03a4p+2 +-0x1.76a414p+0 +-0x1.1fffa4p-3 +0x1.9caea4p-1 +-0x1.793d42p-3 +0x1.5b0824p-2 +0x1.254968p-2 +0x1.eb12bp+1 +0x1.fe8536p-2 +0x1.b1e56ap+1 +0x1.345306p-2 +0x1.307c96p+1 +0x1.4d5cbap+0 +-0x1.b1937cp-2 +0x1.4c15c8p+1 +0x1.f0527cp-3 +0x1.55b3e6p-4 +-0x1.1aa44ep+0 +-0x1.b0bd84p+0 +-0x1.f054c2p-4 +-0x1.81014cp+1 +-0x1.852fep+0 +0x1.d0a074p-2 +0x1.41625cp-8 +-0x1.40f226p+0 +0x1.68f226p-1 +-0x1.17690ep+1 +-0x1.75fa5ep+0 +0x1.295642p-2 +0x1.988104p-1 +0x1.2b01b2p+1 +-0x1.0f4d72p-3 +-0x1.4b462p+0 +0x1.9e7c32p+1 +-0x1.a6f89ep+0 +0x1.f2082cp-3 +-0x1.dd839ap+0 +0x1.7fca08p+0 +-0x1.c3c488p+0 +-0x1.6e8538p+1 +0x1.d8ed1cp-3 +-0x1.ebd99ep-1 +0x1.fd966p+0 +-0x1.206c2p+1 +0x1.aee0d6p+1 +-0x1.35d52ep-2 +0x1.13223ap-2 +0x1.743898p-1 +-0x1.4bae88p+0 +-0x1.b15ab2p+0 +-0x1.9ce3b2p+1 +0x1.cef452p+1 +-0x1.f17318p+1 +-0x1.e58d0cp-5 +0x1.808becp+0 +0x1.07f0bp+1 +0x1.325fd4p+0 +-0x1.9faafap-3 +0x1.6104f8p+2 +-0x1.7807e4p+1 +0x1.297574p-1 +0x1.3b4588p+0 +0x1.c568a6p+0 +0x1.6caddep+2 +-0x1.69894ep-1 +-0x1.373078p-2 +0x1.135deep+0 +0x1.e1285ap-2 +0x1.4b80b4p+1 +0x1.2811c4p+0 +-0x1.70d2e4p+0 +-0x1.ab8ce8p-2 +0x1.9d7e14p+1 +0x1.3737cep+1 +-0x1.63ffeep+0 +0x1.30d8f8p-2 +-0x1.d9b722p-2 +0x1.022adcp-3 +0x1.2c7548p+0 +0x1.18ec28p-3 +-0x1.6afe7p+2 +0x1.147d5cp+0 +-0x1.81f8cep+0 +0x1.0f3818p+0 +-0x1.c6ff78p+0 +-0x1.66360cp+0 +-0x1.6791dcp+1 +-0x1.77c6ep-1 +0x1.45d5f6p+1 +0x1.268336p+1 +0x1.3a13ap+0 +-0x1.780cfp-1 +0x1.6128b2p+0 +-0x1.439a56p+1 +0x1.50b1dp+0 +-0x1.b8eb62p+1 +0x1.0ae6ecp+0 +-0x1.51968p-1 +0x1.800178p+0 +0x1.e0a29p+1 +0x1.8cdcd4p-5 +0x1.ec9936p+0 +0x1.5317a2p-1 +0x1.51d70cp-2 +-0x1.50ba0ap+0 +0x1.7468ep+0 +-0x1.9996fap+0 +-0x1.61d00ep+1 +-0x1.3a3a26p+0 +0x1.2f54b2p-1 +-0x1.b4951cp-1 +0x1.220f6p+0 +0x1.09e96p+0 +-0x1.b1165ap+0 +-0x1.be5766p+1 +-0x1.411e54p-3 +0x1.32640ap+1 +-0x1.9d3da6p-2 +-0x1.26eaa4p+0 +-0x1.9657b2p-1 +0x1.25d18p+0 +0x1.faee42p+1 +0x1.bbb54cp-5 +0x1.9ed352p-1 +0x1.c24bc2p+0 +-0x1.c46c08p+0 +0x1.058fa8p+1 +0x1.074894p+0 +-0x1.2cb5d2p+1 +-0x1.7b022cp+1 +0x1.d971cep+0 +-0x1.8ec86ap-3 +-0x1.f72738p-2 +0x1.219fdep-1 +-0x1.565374p+2 +-0x1.096c96p-5 +-0x1.3c9b4ap-1 +0x1.0adc7p+1 +0x1.c5a68p-2 +0x1.5573ap+0 +0x1.d9d092p+0 +0x1.7d3d04p-1 +-0x1.479fcep+1 +0x1.ef3f7ap-1 +0x1.52dc56p+0 +0x1.152d96p+0 +-0x1.b93628p+0 +0x1.6f1702p-1 +-0x1.d76088p+1 +0x1.396904p+2 +-0x1.bb8d38p-1 +-0x1.bea7cap-2 +-0x1.56dbccp-1 +0x1.f0735ap-3 +0x1.9e0406p-4 +0x1.f80584p-1 +-0x1.54278cp+1 +0x1.37b24cp-1 +0x1.f77b1ap-5 +-0x1.7c43b4p-4 +0x1.10f4e2p-1 +-0x1.84c3d4p-1 +0x1.6536d4p+0 +-0x1.45c85ep+1 +0x1.8d0b58p-1 +-0x1.7bfe86p+1 +-0x1.028574p+1 +-0x1.266d42p-5 +-0x1.6f1e52p+1 +-0x1.b57398p+1 +-0x1.069008p+1 +0x1.951438p+1 +0x1.54640ep+0 +0x1.a2e70ep-3 +-0x1.4584eap-2 +0x1.598412p+0 +-0x1.3508e2p+1 +-0x1.df8c74p+1 +-0x1.d401bcp+0 +-0x1.20ff5ep-1 +0x1.ade08ep-1 +0x1.fb9154p-3 +0x1.a816fp+0 +-0x1.90a1d2p-10 +-0x1.6b755ap+0 +-0x1.54b09ap+0 +-0x1.53687ep+1 +0x1.476da4p+2 +0x1.1c64acp-2 +-0x1.1cd93cp-1 +-0x1.d6676ep-1 +-0x1.b3376p+0 +-0x1.397f52p-1 +0x1.204f1ep+1 +-0x1.9d15f8p+1 +0x1.86b446p-1 +-0x1.3a978cp+1 +-0x1.299fc8p+1 +-0x1.a744b8p-4 +-0x1.bb2884p-1 +-0x1.04b1a8p-1 +0x1.aabbf2p+0 +-0x1.a112b6p+0 +0x1.3d09dcp+1 +0x1.2cb5e2p+1 +0x1.3cd7acp-1 +-0x1.f1399p+0 +0x1.88f07ep+1 +0x1.93179ep-3 +0x1.2bfc96p+2 +0x1.31e2a6p-2 +0x1.335b32p+1 +-0x1.e24d82p+0 +-0x1.ebc294p+1 +0x1.4d8134p+0 +-0x1.e10c4p-1 +-0x1.62805p+0 +0x1.1ce5fap+2 +-0x1.407afcp+1 +-0x1.c12b48p-1 +-0x1.7ef92ap-3 +-0x1.41cc22p-1 +-0x1.b4dc08p+0 +-0x1.b8c92ep+0 +-0x1.a4756cp-1 +-0x1.d7ea62p+1 +0x1.a45014p-3 +-0x1.3949p-3 +-0x1.37a942p+0 +0x1.b57efp+0 +0x1.6e593ep+0 +-0x1.b3b2e6p+0 +0x1.20b848p-2 +-0x1.a7a9a2p+1 +-0x1.3edfeap-2 +0x1.04df46p+1 +-0x1.85c872p-2 +0x1.987aa6p+1 +-0x1.8d8ff4p-3 +-0x1.7bbe5p-1 +0x1.09b6ep+0 +0x1.6540eep+0 +0x1.23ac72p+0 +0x1.bc8d04p+1 +-0x1.6139c4p-3 +-0x1.4f44bp-2 +-0x1.c87cf8p+1 +-0x1.625e9p+1 +-0x1.b994fap+0 +-0x1.d21a74p+1 +0x1.fb8fbcp+1 +0x1.4e0292p+0 +0x1.7bec5ap+0 +-0x1.22ade6p+1 +0x1.3ff0fcp+0 +0x1.acf446p-2 +-0x1.081e4cp+0 +-0x1.af18d2p-3 +-0x1.816382p-1 +-0x1.dbf7e6p+1 +-0x1.109eap+1 +0x1.2f89c6p-1 +-0x1.0525cep-2 +-0x1.1527b6p-1 +0x1.b3de52p+0 +-0x1.730858p-1 +0x1.46d48ep-2 +-0x1.6d8996p+1 +0x1.34fc5ap+0 +-0x1.8704c8p+1 +0x1.0d2abap+2 +-0x1.4e2aacp+0 +0x1.82f1ccp-1 +0x1.624156p+1 +0x1.50d6fep+0 +0x1.471f7p-1 +0x1.016aep-2 +-0x1.6baefcp+0 +-0x1.21c30ap+0 +0x1.62072ap-5 +-0x1.39b198p+0 +0x1.7f04c2p-1 +-0x1.168386p+1 +-0x1.c9fbccp+1 +0x1.1635f4p+0 +0x1.3ddefp-4 +-0x1.1ee2cep-4 +-0x1.6899a6p+0 +0x1.dc1aa4p-2 +-0x1.b601c4p-2 +0x1.a84624p-1 +-0x1.33c518p+0 +0x1.a67986p+0 +0x1.0a3882p+1 +0x1.06a6ap-1 +0x1.6bf6eap-1 +-0x1.84d9fp+1 +-0x1.6cf124p-2 +0x1.dcbcep+1 +0x1.3536fp+1 +0x1.cdd5ap-1 +-0x1.bfefecp+0 +-0x1.618704p+0 +-0x1.17cefcp-1 +0x1.67adb2p+1 +0x1.3a3954p+0 +-0x1.d038d4p-4 +0x1.36d7a8p-1 +0x1.e318b2p-3 +-0x1.3e982cp+1 +0x1.471aa2p+1 +-0x1.178b0ep+1 +-0x1.b5c338p+0 +-0x1.a52046p+0 +-0x1.d018ccp-4 +0x1.4ab922p-1 +0x1.e26ee4p+1 +0x1.1156cep-1 +0x1.a0a6aap+1 +-0x1.267fe2p+0 +-0x1.1988fap-1 +0x1.0b474ep+0 +-0x1.8fe198p-1 +-0x1.5fdfdap+1 +-0x1.943708p-5 +0x1.8d0838p-1 +0x1.8b693ap+1 +0x1.fd35a4p+1 +0x1.20e762p-3 +0x1.1338d4p+2 +-0x1.ea5206p+0 +-0x1.cd9f28p-1 +-0x1.1da77p+2 +-0x1.123ce4p+1 +-0x1.07274p+0 +0x1.bd28c6p-1 +-0x1.39b1fp+0 +-0x1.153f22p+2 +0x1.8dd608p+1 +0x1.c91194p-1 +-0x1.06ef9ep-2 +-0x1.f7e71ep-4 +-0x1.2bcc98p-1 +-0x1.cacc1cp+0 +-0x1.263fecp+1 +-0x1.d0ae2ap+0 +0x1.bf14b6p-4 +0x1.d08ea4p-3 +-0x1.d899f6p+1 +-0x1.c8a996p+0 +-0x1.5587dcp+2 +-0x1.c510eep+0 +-0x1.18b784p+1 +0x1.71cc02p+0 +-0x1.64f178p+0 +0x1.23e878p+0 +-0x1.aec4fap-2 +0x1.30e846p+1 +-0x1.f9dee6p-5 +-0x1.24ba82p-2 +-0x1.9fe796p-1 +0x1.af099ep+1 +-0x1.43231ap-1 +0x1.15808p+1 +-0x1.dd8294p+0 +-0x1.29bfc2p-4 +0x1.5fafe6p+0 +-0x1.22b358p+0 +0x1.6651c6p-6 +0x1.e17a66p+0 +0x1.d3c68cp-1 +-0x1.56483ep-3 +0x1.f538f4p-2 +-0x1.7fb88ep+1 +0x1.74596ap-2 +0x1.90a7c4p+1 +-0x1.74067ap-2 +0x1.3902e8p+1 +0x1.359ad8p-1 +-0x1.14bb78p+2 +-0x1.d2bp+0 +0x1.f9f7f8p-1 +0x1.f4b9e2p-3 +0x1.18af72p+1 +0x1.2336b2p+2 +-0x1.aa7a9ep+0 +0x1.23d8f2p+1 +0x1.066028p+0 +-0x1.d40ffep-1 +0x1.0787d6p+1 +-0x1.9b00fep-3 +0x1.fe98dep-1 +0x1.5ce4dap+1 +0x1.54b8p-1 +0x1.7631f2p+0 +-0x1.56d6cep+1 +0x1.e93e02p+1 +-0x1.508c64p+0 +-0x1.2f681ap-3 +-0x1.c205f2p+1 +-0x1.4665ecp+2 +-0x1.95aab2p-1 +-0x1.0cb91ep+1 +0x1.517e3p-1 +-0x1.bf61d2p+0 +-0x1.457ed6p+1 +-0x1.37c8c2p+0 +-0x1.002cb2p+1 +-0x1.07c27ap+0 +0x1.274168p+0 +0x1.38f41ep+1 +-0x1.81ce3ap+0 +-0x1.d73dd2p-7 +0x1.1be246p+1 +0x1.76c61ep+1 +0x1.231018p+0 +0x1.23500ep-1 +0x1.19c6bep-1 +-0x1.5e77f6p+2 +-0x1.a6520ep-1 +-0x1.fad8dcp-2 +-0x1.520906p-1 +-0x1.77399ap-1 +0x1.14293cp+0 +0x1.50f4ap+0 +0x1.365732p+1 +-0x1.3469c8p-6 +0x1.b1cb36p-1 +0x1.0c8066p-1 +0x1.53f73p+0 +-0x1.ba6bf4p+1 +-0x1.142e22p-3 +0x1.240138p-1 +0x1.b4da2cp-3 +-0x1.5a932ep-1 +0x1.ba4fb4p+0 +-0x1.223d3p+2 +-0x1.27b8aep-2 +-0x1.a8e546p-3 +0x1.01d11p+0 +-0x1.93f7d2p-5 +0x1.7fcddep+0 +0x1.9a1d8ep+1 +0x1.036464p+1 +0x1.b0e7p-2 +0x1.02db3p+2 +0x1.6b8aap+0 +0x1.2fa006p+1 +-0x1.d82328p+0 +-0x1.9d410ap+1 +-0x1.de77eap-4 +-0x1.dcc596p+0 +-0x1.cb4adcp-3 +-0x1.3f3ebcp+1 +0x1.2cd10cp+1 +-0x1.6f6f24p-4 +0x1.ed8106p-2 +-0x1.895068p+0 +0x1.00c424p+1 +-0x1.6b352ep-2 +-0x1.08fb74p+1 +0x1.26b1b2p+1 +0x1.5f5b98p-1 +0x1.5767d4p+1 +0x1.276b56p+1 +0x1.2bc056p+1 +0x1.054068p+1 +0x1.e8fb5ep-3 +-0x1.7950f2p-1 +0x1.61c78ep+1 +-0x1.3da23ap+1 +0x1.b309d2p+1 +0x1.b3d51ap-3 +0x1.c7101cp-1 +-0x1.17cc8p+2 +0x1.5e9e68p-1 +-0x1.7b88bap+1 +-0x1.bc3d1p-1 +0x1.fe1772p+1 +-0x1.454e04p-3 +-0x1.203ea8p-4 +0x1.0b63p+0 +0x1.0a3696p-1 +0x1.b69cbep-4 +0x1.e4a2ap-1 +-0x1.fc1de8p-3 +0x1.9c5f0cp+0 +-0x1.c662e4p-2 +0x1.cb775ap-1 +-0x1.61d9a4p-1 +-0x1.1450cep+1 +-0x1.e77354p+0 +-0x1.a191c6p-2 +-0x1.3b096ap+1 +-0x1.573978p-3 +0x1.974ac4p-4 +-0x1.19e942p+1 +-0x1.60de18p-1 +-0x1.787726p-1 +-0x1.fea152p-4 +-0x1.c22308p-2 +0x1.288e8p-1 +-0x1.eb3fbcp-1 +-0x1.e322c8p-1 +-0x1.11322ep+0 +-0x1.34b88ap+1 +0x1.52f128p+0 +0x1.119c1p+1 +-0x1.69e2d2p-6 +0x1.1feb9ap+1 +0x1.61fedap-1 +-0x1.8f798ap+1 +-0x1.c2a0eap-3 +0x1.969822p-1 +-0x1.4b524ep-2 +-0x1.321ac4p-5 +-0x1.6ebfaep+1 +0x1.e1d78cp+1 +-0x1.1208eep+0 +0x1.50da0ap+0 +0x1.095648p+1 +0x1.d7c7b6p+1 +-0x1.d0964cp+0 +0x1.2e6518p+0 +-0x1.c0bdc4p+0 +0x1.1695dp-1 +0x1.0454b4p+0 +0x1.4ccceap-1 +-0x1.1db5fap-3 +-0x1.786a46p+1 +0x1.990da6p+0 +-0x1.ef6eaap-2 +0x1.4f6fe8p+0 +-0x1.d20a7ap+0 +-0x1.99dd6p-1 +0x1.e5340cp+0 +0x1.a5b96ap+1 +-0x1.928d3cp-1 +0x1.2e3152p-1 +0x1.513136p+0 +0x1.0222cap+0 +-0x1.42e80ep+0 +-0x1.ec6732p-2 +0x1.0523dep+0 +-0x1.3a3f7cp+1 +0x1.5ebaf6p+1 +0x1.224768p+1 +-0x1.1e90c4p+2 +-0x1.fedbaap+0 +-0x1.02282p+2 +-0x1.5ea42cp+1 +0x1.3df412p+1 +-0x1.e2fa34p+1 +-0x1.000ccp-1 +-0x1.16afe8p+1 +0x1.5d829ap+0 +-0x1.582e24p+1 +-0x1.65ffe8p-1 +-0x1.07b006p+1 +-0x1.8a79aap+1 +-0x1.362ff8p+1 +0x1.5a2a56p+0 +-0x1.ad62d6p-1 +0x1.43efdap-3 +-0x1.121deap-1 +-0x1.68e8ecp-1 +-0x1.4737a8p+0 +0x1.693dp+0 +0x1.d3725p-2 +-0x1.d01bfap+0 +-0x1.d040bp+0 +-0x1.1ccfcap+2 +-0x1.23d4f4p+2 +0x1.3b6b44p+1 +0x1.8733f8p+1 +0x1.bc26f6p+0 +0x1.baa4cap+0 +-0x1.c049b6p-5 +-0x1.fec492p-1 +0x1.7f7968p+1 +-0x1.1dd896p+0 +-0x1.a9ae64p+0 +-0x1.8077dep+1 +-0x1.1e7b08p+2 +0x1.235396p+0 +-0x1.c87d1p-3 +-0x1.d320dap-1 +0x1.03b144p+0 +0x1.7a3848p-1 +0x1.242e1ep+1 +0x1.b7936ap-1 +-0x1.4f848cp+0 +-0x1.0e20dcp+1 +-0x1.c14bcp+1 +-0x1.1653dp+0 +0x1.a4476p+1 +0x1.d225c2p-2 +0x1.21c166p-1 +0x1.235af8p+0 +-0x1.1b58bap+0 +-0x1.58b5e6p-1 +0x1.dc72e4p+1 +-0x1.de7f64p+0 +0x1.76a74ep-2 +-0x1.b2a272p-1 +-0x1.d78d2ap-1 +-0x1.d3a276p+0 +0x1.5d8ba8p-3 +0x1.cc1858p+0 +-0x1.22ebdcp+1 +0x1.78e76p-1 +-0x1.991118p+0 +0x1.0855c4p+1 +-0x1.36a24ap+0 +-0x1.2510e8p+1 +-0x1.0d06dep-1 +-0x1.fdb4a4p-1 +0x1.afd89cp-2 +-0x1.29809ep+0 +0x1.aaf702p+1 +0x1.9dcb1p-3 +0x1.5f3cc8p+0 +0x1.4ba3a6p+1 +-0x1.6d9b24p-3 +0x1.a3ea74p+0 +0x1.207bc6p-2 +-0x1.fe6d08p+0 +0x1.1a6974p+0 +0x1.d70e4ap+0 +0x1.6f4598p+1 +-0x1.0c62a6p-1 +0x1.d820cap+1 +-0x1.71efdcp+0 +-0x1.30841ap+0 +0x1.70f534p-1 +-0x1.6cdefep+0 +0x1.d6ae62p+1 +0x1.f196bcp+0 +-0x1.41d18ep+2 +-0x1.762a84p+1 +0x1.d63c0ep+0 +0x1.f22036p+1 +-0x1.f1afc8p+0 +-0x1.e64eeap-2 +0x1.a217aap+1 +-0x1.abadccp-1 +0x1.7d3ed6p+0 +-0x1.e87ddap+0 +-0x1.9ed7a2p+0 +-0x1.5be994p+1 +-0x1.9df17ep-2 +-0x1.4d8beap+1 +-0x1.079bacp+1 +-0x1.cd544cp-1 +-0x1.297dfap+1 +-0x1.72ed2p+0 +0x1.351bfep-2 +-0x1.7a6164p+0 +0x1.524c22p+0 +-0x1.08a1fp-1 +0x1.1f939p+0 +0x1.21e258p-1 +0x1.7f5a82p+0 +-0x1.0326ep+0 +0x1.3dbaa2p-1 +0x1.c7e528p-2 +0x1.5e1d8ep-6 +-0x1.d7ebf6p+0 +0x1.9097b6p+0 +0x1.8ea944p-3 +-0x1.fd2e5p-3 +0x1.34111cp+1 +-0x1.320bb8p+0 +0x1.c3d3cep-2 +0x1.d68baep-5 +0x1.d5fbdap+0 +0x1.774752p+1 +-0x1.a3adc4p+1 +-0x1.c7e54ap-1 +-0x1.1872bap-1 +-0x1.e39d88p+0 +0x1.b7553p+1 +-0x1.db9718p-2 +-0x1.7e4a4ap-1 +-0x1.ca0c48p-1 +-0x1.140942p-1 +-0x1.b89a4ep+1 +-0x1.047d92p-3 +-0x1.1fca22p+1 +0x1.eb57dep-1 +0x1.0ea7cp+1 +0x1.c6c844p+0 +0x1.603424p+1 +-0x1.a5ffd2p-1 +0x1.8364cap+0 +0x1.125b5cp+1 +0x1.90738cp-1 +0x1.d921bp+1 +-0x1.b15416p+1 +0x1.44313ap+1 +0x1.f07062p+1 +-0x1.46944p-1 +0x1.7e5b26p-1 +-0x1.6c8e2p+1 +0x1.597e7cp+1 +0x1.66f1cap+0 +-0x1.7b4e54p-2 +-0x1.47ffa4p+1 +0x1.c18516p+0 +0x1.260286p+0 +0x1.686e96p+1 +0x1.710bd6p+1 +0x1.55e84p+1 +-0x1.43ffa8p-1 +-0x1.69b8c8p+0 +0x1.c0c0d8p+1 +0x1.eac24ap+0 +0x1.e064cp+1 +-0x1.c5a6f6p+1 +0x1.7d090ap+2 +-0x1.51054cp-2 +0x1.bed094p-1 +0x1.064c9p+2 +0x1.0e768ap+1 +0x1.fcd304p+0 +-0x1.59459p-1 +-0x1.6fa7bcp+1 +0x1.1131d4p-2 +0x1.84b6fp+1 +0x1.82d034p+2 +0x1.307076p+0 +0x1.d6dd86p-1 +0x1.b0c424p-1 +0x1.6ecb46p-3 +0x1.5472dp-1 +-0x1.2c76e4p-3 +-0x1.d8f29ap+1 +-0x1.a4585ep+1 +-0x1.3331c8p-1 +0x1.88639ap-1 +0x1.004798p+1 +0x1.11537p-2 +-0x1.5df6bap-1 +-0x1.dc8958p+0 +0x1.dc3e84p-1 +-0x1.7bedccp+1 +0x1.aa6136p+1 +-0x1.99a04cp+0 +0x1.b0839ep+1 +0x1.d13378p+0 +0x1.1dac0cp+1 +-0x1.443c98p+0 +-0x1.eeb87ep+0 +0x1.38c446p+1 +-0x1.710f7cp+1 +-0x1.07b1ap+1 +-0x1.c75e14p+0 +-0x1.3ddf74p-1 +0x1.27093p+1 +-0x1.0833d4p-1 +-0x1.2cb6bap-3 +0x1.6bd3ep+1 +-0x1.17db0ap+1 +-0x1.fc4a6ap-3 +0x1.1d145p+0 +0x1.40fc56p-1 +-0x1.cc7f4ep+0 +-0x1.792ec6p-1 +-0x1.44a492p+2 +-0x1.3827d4p+1 +-0x1.41cca4p+2 +0x1.5db8d4p+0 +0x1.d9b438p+0 +-0x1.32572ap+0 +-0x1.dd1504p-2 +0x1.dfc3ccp+0 +0x1.1f3afep-2 +-0x1.0cc97cp+0 +-0x1.201c3ep+0 +0x1.df82bp+0 +0x1.395d76p-2 +-0x1.0b866ep+2 +-0x1.738d3p+1 +-0x1.0eeadep+1 +0x1.40cdccp+0 +-0x1.3c73dap+1 +-0x1.74ae48p-2 +0x1.d8275ap+0 +0x1.73e7ccp+1 +0x1.1723e8p+2 +0x1.8f429p-1 +0x1.550ea2p+1 +-0x1.b1783p-5 +-0x1.061f08p+1 +-0x1.7ae9bap-2 +-0x1.1541c8p-3 +-0x1.ed3336p-2 +-0x1.a2b8ep-1 +0x1.0d506ep+0 +-0x1.e01f1cp-1 +0x1.819328p-3 +-0x1.39bbdap-2 +-0x1.a0c208p+1 +0x1.268d4cp+1 +0x1.8e2fbcp+0 +-0x1.6b14c4p+0 +0x1.8dc764p+0 +0x1.8779e6p-1 +-0x1.176c96p+0 +-0x1.25a544p+1 +-0x1.81eb7ap+0 +0x1.2d3dd6p+1 +0x1.11e368p-2 +0x1.8ec7bp-2 +0x1.d43a18p-3 +-0x1.bcc9bp+0 +0x1.827ddap-1 +-0x1.14a3cep+1 +-0x1.6eaa34p+0 +-0x1.75eb8p+1 +0x1.24954cp+0 +0x1.f902dcp-1 +0x1.640cf2p-2 +-0x1.2f225p+1 +-0x1.02d94cp+1 +-0x1.9b7db8p+0 +0x1.68651ep+1 +0x1.f4797p+0 +-0x1.d1393ep+0 +0x1.c5dc9p+1 +0x1.bb6f32p-2 +-0x1.cd8996p+0 +-0x1.c73194p+0 +0x1.987076p-1 +-0x1.a68fcp+0 +-0x1.f04cecp-2 +-0x1.339fbep+1 +-0x1.413902p-1 +0x1.ce6222p+0 +0x1.970f02p+1 +0x1.8abadap+0 +-0x1.2c58f8p-1 +0x1.06a996p+1 +-0x1.5c107ep+2 +-0x1.fe3dd4p+1 +-0x1.6021c8p+0 +-0x1.575738p-3 +-0x1.cfee4ap-1 +0x1.11638ep-1 +-0x1.fb4ad6p-1 +-0x1.8a26b2p+0 +-0x1.00d2dap-1 +0x1.7fbfd8p+1 +0x1.5a65d8p+1 +-0x1.273c4cp+0 +-0x1.4915bcp-4 +0x1.6beb9cp+0 +0x1.57a912p-1 +-0x1.12d05p-2 +0x1.89ea2ap-1 +-0x1.5632cep-1 +-0x1.d4c06cp+0 +-0x1.4f1954p-1 +0x1.3db73p+0 +-0x1.d8db14p-1 +0x1.98df14p+0 +0x1.14ed3ap-1 +0x1.152fd8p-1 +-0x1.eb0c42p-2 +0x1.c34eeap+0 +0x1.f84a2p+1 +0x1.43f32p+0 +0x1.38668cp+1 +-0x1.0fcddap+0 +-0x1.9f96a6p-2 +0x1.e85928p-1 +-0x1.361cep+2 +-0x1.8c83cep+1 +0x1.1c76acp-4 +0x1.5b1636p+0 +0x1.5c5494p+0 +0x1.969e8ap-4 +0x1.2440fap+2 +0x1.31fb48p+1 +0x1.2d1b84p-1 +-0x1.225302p+0 +-0x1.342994p+1 +-0x1.71951ep-1 +0x1.29b1a2p+1 +-0x1.cff758p+1 +0x1.2a3a82p+1 +0x1.f4252ap-3 +0x1.c8b542p+0 +0x1.83bb48p-2 +-0x1.c3ab5ep-1 +-0x1.0fdb2ep+2 +-0x1.35116p+1 +-0x1.b63122p-1 +0x1.a740bp-1 +0x1.094508p+0 +-0x1.1935b8p+1 +-0x1.808f84p+1 +-0x1.b7e28ap-1 +-0x1.3c6e26p+1 +0x1.e87adep+0 +0x1.3902b2p-2 +-0x1.76edd4p-3 +-0x1.433b18p-1 +-0x1.8b4aap-1 +-0x1.4a916p+0 +-0x1.5fc856p-2 +-0x1.9fb55ep+0 +0x1.0cca48p+0 +0x1.066c52p+2 +0x1.0dc2f2p-1 +0x1.9a8406p+1 +0x1.a607cap+1 +-0x1.44bb7ep+1 +0x1.f3e262p+0 +-0x1.15187p+1 +-0x1.5946e6p+1 +-0x1.d8f4f8p-1 +-0x1.bc8404p+0 +0x1.c53ab4p-4 +0x1.191f9ap+1 +0x1.acbcecp+0 +-0x1.4c2d72p+0 +-0x1.02ea12p+1 +0x1.20889ep-1 +0x1.8c2f3p+1 +0x1.10b322p-3 +-0x1.1fde68p+2 +-0x1.2743a2p+0 +0x1.4c16c2p-1 +-0x1.035d74p-4 +-0x1.596772p-1 +-0x1.044af2p+1 +0x1.57275ap+0 +0x1.0b9a4cp+2 +0x1.c2c14ap-1 +-0x1.18b6fp+0 +0x1.aa7be8p-2 +0x1.0e7168p+1 +-0x1.b5a3dcp-2 +-0x1.c72a6ap-1 +-0x1.cb8108p-3 +-0x1.47dbd4p+1 +-0x1.df37b2p+0 +-0x1.430244p+1 +0x1.f6648p+1 +0x1.d75654p+0 +0x1.19a41ap+0 +-0x1.ac1622p-1 +-0x1.901e2p+0 +0x1.091688p+0 +-0x1.ef206ap-3 +-0x1.6e9738p+0 +0x1.66dc78p+1 +-0x1.be05aap+0 +-0x1.a8aa78p-6 +-0x1.aee52cp+1 +0x1.0b3a1cp-1 +0x1.284992p+0 +-0x1.78192p-3 +0x1.2401c8p+1 +0x1.4296cep+0 +0x1.b9051ep+1 +0x1.6b220ep+0 +-0x1.f3bf76p-1 +0x1.aed15ep+1 +0x1.144ca4p+2 +0x1.67aa5p+1 +-0x1.48a92p+1 +0x1.9a61f2p-2 +-0x1.131b2cp+1 +0x1.eaf848p-1 +-0x1.4c1764p+1 +-0x1.a0321ap+0 +0x1.616dbp+0 +0x1.2ed1fcp-1 +0x1.1b1182p-3 +-0x1.9f96e8p-1 +-0x1.0ef2a6p+1 +-0x1.6462b4p-2 +-0x1.d53832p+0 +0x1.b8dd7p-1 +0x1.4874bap-1 +-0x1.ec97bap+1 +-0x1.53ef34p+0 +-0x1.07fbaap+1 +-0x1.d5c394p-1 +-0x1.448fe4p+2 +0x1.094c28p+0 +0x1.31663ep+1 +-0x1.cf8768p+0 +0x1.3509dp-2 +0x1.8dabe2p-1 +0x1.89563ep-1 +0x1.41e1ccp-1 +-0x1.bb2d1cp+0 +0x1.1c840ep+1 +0x1.bc5d9p+1 +0x1.36b89cp+0 +0x1.a3b7d4p-1 +-0x1.88f8a4p+1 +0x1.033bdcp+1 +0x1.710218p+0 +-0x1.3d096ap-5 +0x1.3473c8p+1 +-0x1.e31a32p+0 +0x1.efcb56p+0 +0x1.a506aep-2 +-0x1.711fe8p-4 +-0x1.144e54p+1 +-0x1.821f6ap-1 +-0x1.facc3ep-3 +-0x1.8d14p+2 +-0x1.69e3aep-1 +0x1.4818c4p+0 +-0x1.40af88p+1 +0x1.74a9b4p+1 +-0x1.03bd38p+1 +0x1.6e1a9p-3 +0x1.702f9ep+0 +-0x1.1f3a98p+2 +-0x1.a28782p+0 +-0x1.6a13d2p+0 +0x1.bf6546p-2 +0x1.0073b4p-3 +-0x1.deccb4p+0 +0x1.b97cd6p+1 +-0x1.e8595ap+1 +-0x1.e8608ap+0 +0x1.29b278p-1 +0x1.efdd92p-8 +0x1.0c8efep-3 +0x1.8abba2p+0 +-0x1.701154p-1 +0x1.11c3p+0 +-0x1.fcebaap+0 +0x1.b7819ap-2 +0x1.c4abcep+0 +0x1.d34a2ep-2 +-0x1.625d3p-1 +-0x1.4d1642p+2 +-0x1.6e78e8p+1 +0x1.ff57b4p-2 +-0x1.732f8p+1 +0x1.c60c8ap+1 +-0x1.6c0f72p-5 +0x1.6c6fccp+0 +-0x1.8770acp+1 +0x1.2e1f4p+0 +-0x1.8a5f1p-4 +-0x1.137b36p-3 +0x1.08318ep+0 +0x1.55dadp+0 +0x1.c697cap+0 +-0x1.7e14c4p-1 +0x1.c05afap+0 +0x1.b16a32p-1 +0x1.d456c4p-2 +0x1.8f5974p+0 +0x1.9e9302p+1 +0x1.27f39ap+1 +-0x1.1bbf7cp+0 +-0x1.be890cp-3 +0x1.a553d6p+0 +0x1.43939ep+0 +-0x1.4045e4p+1 +-0x1.35a0f6p+1 +-0x1.3422aap+0 +0x1.fa67b6p+1 +-0x1.3cc6fcp+1 +-0x1.63c5dp+1 +0x1.78175cp-1 +0x1.07b032p+2 +-0x1.39bc1cp+0 +0x1.7e1ecap+1 +-0x1.a8cdaap+0 +0x1.f5b0cap+0 +-0x1.e7061ap+0 +-0x1.323af2p-1 +0x1.8d033ap+0 +-0x1.a1a074p+0 +0x1.50cc42p-3 +-0x1.f56e5ep+0 +0x1.3859dap+0 +0x1.73203cp+0 +-0x1.8adde6p+0 +-0x1.d557aep-3 +0x1.36e46ep-2 +-0x1.66b94p+0 +0x1.27b778p-4 +-0x1.3d6d94p+0 +-0x1.11e906p+0 +-0x1.deaedep+1 +-0x1.6c2686p-1 +-0x1.751cb6p-1 +0x1.7e5a44p+0 +-0x1.a1a944p+0 +-0x1.631e76p+0 +-0x1.4974eap-2 +-0x1.610c3ap-4 +0x1.64f79cp-1 +0x1.ef4876p-1 +0x1.3bf078p+2 +0x1.1b3054p-4 +-0x1.0d3a5p-1 +0x1.017ee4p+2 +-0x1.208ccp+1 +-0x1.5f084ep+1 +-0x1.2bc952p-3 +0x1.79882cp+0 +0x1.f213b8p+0 +-0x1.a1dee8p-5 +0x1.398bap-1 +0x1.a92442p+1 +0x1.5880b2p+0 +0x1.0b09eap+2 +0x1.b164eap-2 +0x1.adaf62p+1 +0x1.e9a2d2p+0 +-0x1.17544ap+1 +0x1.3276eap-3 +0x1.319a9ap+0 +-0x1.6ea096p-1 +0x1.054658p+0 +-0x1.cd5e6ep+0 +0x1.e4a268p+0 +-0x1.2988d8p+0 +-0x1.35c038p+0 +-0x1.034b1p-5 +-0x1.2596bap+1 +0x1.28b422p-2 +-0x1.d574c6p-3 +0x1.9e272ep+1 +-0x1.baca84p+0 +0x1.9f22e2p-1 +-0x1.c073cap-2 +0x1.1633b2p+0 +0x1.63fdep-1 +0x1.3bf4p-2 +-0x1.242928p-1 +0x1.b44f6p+0 +0x1.35ef8ep+0 +0x1.01ee52p+0 +0x1.01263ep-2 +0x1.43f43cp+1 +-0x1.272e42p-2 +0x1.cde266p+1 +-0x1.2759fcp+1 +0x1.53c2ap+0 +-0x1.3b002ap+0 +-0x1.a9d384p+0 +-0x1.c0ffa4p+1 +0x1.28be5ap+1 +0x1.dee24p-2 +0x1.00a382p+1 +-0x1.089956p+1 +0x1.a24314p-2 +0x1.1d9202p-2 +0x1.b4eabap+1 +-0x1.50679p+2 +-0x1.b0207ap-1 +0x1.15067ep+0 +0x1.33b2fep+1 +0x1.229d8ep+0 +-0x1.14bb16p+1 +0x1.06aa7ap+0 +0x1.b45904p-1 +0x1.715c2cp+1 +0x1.668408p+0 +0x1.f24d72p-2 +0x1.dbf50cp+1 +-0x1.938fbap+1 +-0x1.bbfd72p-3 +0x1.333e5ep+1 +0x1.05222ep-3 +0x1.8c6cd2p+1 +0x1.8f1b76p-1 +-0x1.02c5f6p-1 +-0x1.1713aap-2 +-0x1.a29ad4p+1 +-0x1.b6d618p-1 +-0x1.70b116p-2 +-0x1.d84738p-1 +-0x1.a232cp-3 +-0x1.5d8f22p-2 +0x1.523a7ep+1 +0x1.e70aeep-1 +-0x1.5a1c98p+0 +-0x1.ed119p+0 +-0x1.792fd2p-2 +0x1.488072p+0 +-0x1.e435bep-1 +-0x1.e5248cp+0 +0x1.2ea91cp+0 +0x1.075236p+1 +-0x1.9fd766p-4 +0x1.d27774p-2 +0x1.a0de76p+1 +-0x1.779e1ap+0 +-0x1.9a63b2p+0 +0x1.4551cp+0 +-0x1.2bf0fp-3 +-0x1.ae0f78p-1 +0x1.15eadap+2 +0x1.34f0d2p-1 +0x1.69e272p-1 +0x1.2da5a4p+2 +0x1.a9cf96p+0 +-0x1.45019ep-3 +-0x1.7a5136p-1 +0x1.ce6a22p+0 +0x1.e60fc4p-2 +-0x1.ba4f24p+0 +0x1.bef6acp-1 +-0x1.f08f32p-2 +-0x1.827efp-1 +-0x1.814518p+0 +0x1.929f7cp-1 +-0x1.2e62cap-2 +-0x1.0b1e92p+1 +0x1.8b1da8p-1 +0x1.41a8c4p+0 +-0x1.c2ed34p+0 +0x1.23ff52p+1 +-0x1.797516p+0 +-0x1.38fcb2p-1 +0x1.31814p-1 +-0x1.19f828p-2 +0x1.4f28e4p+1 +0x1.9f7bep-2 +-0x1.58c9a4p+0 +0x1.f24a98p+0 +-0x1.3785cp+0 +-0x1.28ddfp+1 +0x1.af2e4cp+0 +-0x1.bb9c34p+0 +-0x1.237384p+1 +0x1.216e94p+0 +-0x1.404f78p-2 +-0x1.d5f764p+0 +-0x1.6a54a4p-2 +-0x1.ea251ep-2 +0x1.e4d75cp-1 +-0x1.51d778p+1 +0x1.f0ffbep-2 +0x1.07cd9ap-1 +0x1.7291e8p+0 +-0x1.6dd6eep+0 +0x1.16fa72p+0 +-0x1.68cf94p+0 +0x1.bda476p+1 +-0x1.3dd5dcp+2 +-0x1.044f2cp+1 +0x1.87e4b6p-2 +-0x1.05859ap+1 +-0x1.51373ep-5 +0x1.0ccfep-2 +0x1.217ce6p+1 +0x1.5f8346p-1 +-0x1.4855b8p+1 +-0x1.c67156p-3 +0x1.6512dep-4 +0x1.2a6246p+0 +0x1.caa2ecp-2 +-0x1.682f24p+0 +-0x1.d0d90ep+1 +0x1.904d8p+0 +-0x1.d9bc36p+0 +0x1.b609dp+0 +-0x1.9a9a14p+0 +0x1.39701cp+0 +-0x1.ada57ep+0 +0x1.8fce24p-1 +0x1.ac55ep+0 +-0x1.0c3b9p-1 +0x1.a5e5b4p-1 +-0x1.0565e8p+0 +0x1.6da238p-2 +0x1.b8f904p+2 +-0x1.ff2f3cp+1 +0x1.bef44ap+1 +-0x1.8801d6p-3 +-0x1.cbb29ep-1 +0x1.09dc7p+0 +0x1.e9d07ap+1 +0x1.b780f2p-8 +-0x1.6ef242p+1 +-0x1.8933dep-1 +0x1.218a9p+1 +0x1.065246p-1 +-0x1.4bc35ap+1 +-0x1.503f56p+0 +-0x1.de0226p+0 +-0x1.7c16f2p+1 +0x1.be4304p+1 +0x1.a2e2c6p+1 +0x1.5f5178p+0 +-0x1.80f52p+0 +0x1.be8832p+1 +0x1.1e1ad8p+1 +0x1.88af12p+0 +0x1.56d51p+0 +0x1.2e8bcap+0 +0x1.7c2a16p-1 +-0x1.c3f246p-1 +0x1.fcf07p+1 +0x1.11083cp+1 +-0x1.7e2af4p+0 +-0x1.7da2eap-2 +0x1.506ffcp-2 +0x1.7ab5eap-2 +0x1.b77cacp-3 +0x1.7b3b4ep+1 +0x1.bbddc2p+0 +0x1.c509a2p+1 +0x1.113e9ap+0 +-0x1.b239c4p+1 +0x1.826b8p+1 +0x1.88115p+0 +-0x1.242f7ap-1 +-0x1.4b33fap-2 +-0x1.3ff7b2p+1 +0x1.e5c146p+0 +-0x1.0452ccp-5 +0x1.a645a6p-1 +-0x1.2fe8f8p+0 +0x1.4b188cp+0 +-0x1.02805ap-1 +0x1.81a3dp+1 +0x1.61605p-2 +-0x1.88b9b4p-1 +0x1.adbdep+0 +0x1.ef8b78p-2 +0x1.6f0586p+0 +0x1.7336d8p+0 +0x1.e0380ap-1 +-0x1.72ba7p+1 +0x1.ac4d7p-2 +-0x1.4730bap+2 +0x1.d2be6cp-1 +0x1.f3a3f6p-1 +-0x1.13802ep+1 +-0x1.1f41e4p-2 +-0x1.29929cp-1 +0x1.d3f8e6p-2 +-0x1.8a3e98p-2 +0x1.0ad204p-2 +-0x1.e96f94p-2 +-0x1.21e5d8p+0 +0x1.10d3fp+1 +-0x1.fea528p-7 +-0x1.93dc6ap-1 +-0x1.680cd2p+2 +0x1.21f1f2p+0 +-0x1.060a6ep+2 +-0x1.1ff164p+1 +0x1.e34226p-1 +-0x1.0ccf4p+2 +0x1.12b196p+1 +-0x1.220a6p-1 +-0x1.5ef9ecp-1 +0x1.71cdb6p+0 +0x1.1b40f2p+1 +0x1.dae342p-2 +0x1.ceb356p+1 +0x1.028d0ap+0 +-0x1.0e4394p-2 +0x1.27ce34p+0 +0x1.d86p-2 +-0x1.e6a31ap+0 +-0x1.03bc1ap-1 +0x1.1e75dap-3 +-0x1.0d4c2p+1 +0x1.2567ep+0 +-0x1.d37956p+0 +-0x1.a04d48p-3 +-0x1.04014cp-2 +0x1.658adp-1 +-0x1.0ff5d6p-5 +-0x1.55f99cp-2 +-0x1.26c032p+1 +0x1.525a14p+0 +0x1.502734p+0 +0x1.687e12p-1 +-0x1.82955ep-2 +-0x1.f0a28ep+0 +-0x1.934f9p-1 +0x1.9f3cp-1 +0x1.104162p+0 +0x1.250e94p+2 +0x1.cbb8b2p+0 +-0x1.3d0b88p+1 +-0x1.39dd92p-1 +-0x1.69653ap+0 +-0x1.9e5b08p+1 +0x1.cf9e7ep-3 +-0x1.f509a8p+0 +0x1.e6fb88p-1 +-0x1.910f8p+1 +-0x1.0e96eep+2 +-0x1.d76b72p+1 +0x1.c56e2cp+1 +0x1.2fd78cp+0 +-0x1.53571ep-1 +0x1.1fc02cp+1 +0x1.46007p-4 +0x1.bd118ep-2 +-0x1.deccf2p+0 +-0x1.5b6202p-2 +-0x1.71f27p+0 +0x1.3e4dd6p+1 +0x1.32e094p-1 +0x1.b25072p+0 +-0x1.e1b734p+1 +0x1.36b69cp+1 +0x1.24780ep+1 +0x1.2e9d32p-1 +-0x1.3612bcp+1 +-0x1.e53778p-2 +0x1.17896cp+1 +0x1.51e0e6p+0 +-0x1.53c8cap+0 +0x1.ea6f96p+0 +0x1.b4e004p-1 +-0x1.e2af58p+1 +0x1.0533a6p+1 +0x1.1a2c58p+1 +0x1.a8aec6p+1 +-0x1.70f68p+0 +0x1.51f402p+0 +0x1.db0648p-3 +0x1.4e1964p-2 +0x1.a93094p-1 +-0x1.1026fep+0 +0x1.2b118p-3 +-0x1.1663b2p-1 +0x1.64f32ap-1 +0x1.76f538p+1 +-0x1.229edap-4 +-0x1.9d5422p-2 +0x1.663992p-1 +0x1.827424p-2 +0x1.56ef8ap+0 +-0x1.48c9fcp-10 +0x1.2c9096p-1 +0x1.f11c2ap-2 +-0x1.d30d84p+0 +0x1.7c24bp+0 +-0x1.a8496ap+0 +-0x1.8d426p-1 +0x1.2fee8ep+0 +0x1.2784b4p+0 +-0x1.fa3b2p-2 +0x1.5f32acp-1 +-0x1.d1bb1p+0 +-0x1.b9e65cp-2 +-0x1.a9c70ap+1 +-0x1.6dbe7p-2 +0x1.a46e98p+1 +0x1.4cde12p+1 +-0x1.e842a6p+0 +0x1.a07a38p-1 +0x1.021d6cp+1 +-0x1.07a6aap-1 +0x1.684072p+2 +0x1.5a13a4p-1 +0x1.e2f996p-4 +-0x1.5ffafep-1 +0x1.b56388p-2 +0x1.7d238p-3 +-0x1.61af1cp+0 +0x1.83f544p-7 +0x1.24984ap+1 +-0x1.89074p+1 +-0x1.ab4148p+1 +-0x1.dfbe18p-3 +0x1.9308cp-2 +0x1.c58a08p+1 +0x1.b362b4p-1 +0x1.57be1p-3 +0x1.d8134cp-4 +-0x1.020ca6p+2 +0x1.83ec8ap+0 +0x1.b2c478p+0 +-0x1.113a0ap+0 +-0x1.d382c8p+0 +0x1.7880f4p-1 +0x1.971a04p+1 +0x1.0fb78p+0 +-0x1.9719cap-2 +0x1.ea1f6ep-3 +0x1.32beaep+1 +-0x1.cf59e6p+0 +0x1.1b29dp+1 +-0x1.3a8dc8p+1 +-0x1.9329f8p+0 +-0x1.da33fap-2 +-0x1.6ef64cp-1 +0x1.fa97e8p-3 +-0x1.52cf36p-3 +0x1.081ab8p-1 +-0x1.a3029ep+1 +0x1.0dd4a2p+2 +0x1.a5c77ap-3 +-0x1.365096p-2 +0x1.f8c28p-1 +0x1.2e34b2p+1 +0x1.76e0ccp+1 +0x1.7fc06cp+1 +-0x1.1fc044p+1 +-0x1.0ae6fcp+1 +-0x1.2c6562p+0 +-0x1.cc02a4p+0 +0x1.eed6e2p+1 +-0x1.95d15ap+1 +-0x1.c9bdbap+1 +-0x1.004c2ep+2 +0x1.059c14p+1 +-0x1.cd3fc2p+0 +0x1.6e093cp+0 +-0x1.4d1a16p+1 +0x1.fbe58cp-1 +0x1.bc4616p-1 +0x1.8efeaep-3 +-0x1.edf52cp+0 +-0x1.c75fdep+1 +-0x1.360ca4p+1 +-0x1.8316aap-1 +-0x1.d60076p-5 +0x1.a3b1bap+2 +0x1.dcda46p+0 +-0x1.59eddp-5 +0x1.4b4d1ap-2 +0x1.33462p+1 +-0x1.29ca76p+0 +-0x1.be1556p+0 +0x1.ea0cp-1 +-0x1.ce3404p-1 +0x1.a4f8c6p+0 +-0x1.e1bb82p+0 +0x1.ea0ff4p-4 +0x1.923c72p-3 +-0x1.4884c2p+1 +0x1.152026p+2 +0x1.d299f4p+0 +0x1.0386c8p+2 +0x1.00ec54p-2 +-0x1.0a6d14p+0 +0x1.0269a4p+0 +0x1.563868p+0 +-0x1.b712cap-2 +0x1.1f2cd4p-2 +0x1.ed4bep-3 +-0x1.a29e18p-4 +-0x1.069dcp+1 +-0x1.050c8ap+0 +0x1.90271cp+1 +0x1.17cf9ap+0 +-0x1.917cap-1 +0x1.15f86p+2 +0x1.b87e36p+1 +0x1.7ae312p-1 +-0x1.c5c72cp-3 +-0x1.eb5c14p-1 +0x1.2db7cep+2 +0x1.917df8p+1 +0x1.0032d2p+1 +-0x1.c04d52p-2 +-0x1.658aacp+1 +-0x1.def7a4p+0 +0x1.8f8f26p+1 +-0x1.e29c2ep+1 +-0x1.3a92f6p+0 +-0x1.018406p-1 +-0x1.a1bb46p+0 +-0x1.cd19acp-1 +-0x1.48b60ep-1 +-0x1.bd3504p-2 +-0x1.c46618p+1 +0x1.bf977ep-2 +0x1.1783f2p+2 +-0x1.a5f17p-2 +-0x1.f0471p+0 +-0x1.49c53ap+0 +0x1.99798ep-2 +0x1.58c8cep-2 +0x1.91aab6p+0 +-0x1.28062ap+1 +0x1.30ed9cp-1 +-0x1.2aefep+1 +-0x1.53a44ep+1 +0x1.79b298p+1 +0x1.0f840ap-2 +0x1.539ccep-1 +0x1.1d375ep+2 +-0x1.5626a4p-3 +0x1.6b2458p+0 +0x1.611e3p-1 +-0x1.67befp+0 +0x1.ba7dp-2 +0x1.6f2d8ap-1 +-0x1.4e682ep+0 +-0x1.866034p-3 +-0x1.a8b234p+0 +-0x1.5b18fp+1 +-0x1.43970cp+0 +0x1.2cbe72p-4 +-0x1.26b7cp+1 +0x1.194518p-1 +-0x1.d7ef26p+0 +0x1.6bd3bep+0 +0x1.2d60d6p+1 +0x1.4e2a48p-1 +-0x1.9bc726p+0 +0x1.6521f8p+1 +0x1.3246dcp-1 +-0x1.80003p-1 +-0x1.1678p+1 +-0x1.14856p+2 +0x1.54ed1cp+1 +-0x1.2eefa8p-1 +0x1.97c2d4p-1 +-0x1.142d7cp+1 +-0x1.796aaap-3 +0x1.c5e926p-5 +0x1.546bc4p+2 +-0x1.998eb2p-1 +0x1.25fa9p+0 +0x1.fc34f6p+0 +-0x1.6999cap+1 +0x1.52bfeep-1 +0x1.564f16p+0 +-0x1.aeebaap-1 +0x1.99268ap-4 +-0x1.ee66bp-1 +-0x1.1c6a18p+0 +0x1.435e7ep-3 +0x1.76cc2ep+2 +-0x1.83fc52p-1 +0x1.9d4fap+0 +0x1.03605cp+0 +0x1.add1eap-3 +-0x1.12d562p+1 +-0x1.b48c3p-1 +0x1.6b3ae4p-5 +0x1.173f84p+2 +-0x1.d551fcp+1 +0x1.67d708p+1 +0x1.46b33p-3 +-0x1.95dc2p-4 +-0x1.fb3326p-2 +-0x1.d185f6p+0 +0x1.7f29d6p+1 +0x1.404b72p+0 +-0x1.d55568p+0 +-0x1.6dfd1cp+1 +-0x1.ec906ep+0 +-0x1.685456p+0 +-0x1.fe44a2p-3 +-0x1.88d37p-3 +-0x1.762efap-2 +0x1.d80ad8p+1 +-0x1.486074p-5 +0x1.0a8cf2p+1 +-0x1.216b44p+2 +-0x1.5c978cp-5 +0x1.823b3p+1 +0x1.79568ap+0 +-0x1.2f5176p+1 +-0x1.c4b98p+1 +0x1.4b06dcp+0 +0x1.9ac9d8p+1 +-0x1.06ffb6p+1 +-0x1.6a96ep+1 +-0x1.b56508p+1 +0x1.03ba24p+0 +-0x1.00f62cp+1 +-0x1.290906p+1 +0x1.200272p-4 +0x1.02cdd8p+1 +-0x1.c1df0ap-1 +0x1.62082cp+2 +-0x1.38363p+2 +0x1.05e18cp+1 +0x1.b4f518p+0 +0x1.5d5d26p+0 +-0x1.1bd404p+1 +0x1.1ed7d2p+1 +-0x1.9fd606p+0 +0x1.2a89d8p+0 +0x1.86cc4ap+1 +0x1.0faedep+1 +0x1.ff5698p+1 +-0x1.94f97ap-1 +0x1.e3ca74p-1 +-0x1.4e0fbcp+0 +0x1.4f04d2p+1 +0x1.118368p+1 +0x1.1cf136p+0 +0x1.c262bcp+0 +0x1.66601p+0 +0x1.c7e2aep+1 +0x1.0ea45cp+1 +0x1.70b79cp+0 +-0x1.809facp+1 +0x1.073ac8p+2 +-0x1.00e0b4p+2 +0x1.18653cp+0 +-0x1.2914dcp+0 +0x1.009362p+0 +0x1.a48fbp-3 +-0x1.b7f86cp+0 +0x1.cf689cp-1 +-0x1.4df39p+0 +0x1.3d9148p+0 +0x1.04d87p-2 +0x1.183f9p+1 +0x1.131824p+0 +-0x1.cae47cp+1 +-0x1.72a1c2p+0 +-0x1.3d1ec8p-6 +-0x1.051fbcp+1 +-0x1.dd8fcap-2 +0x1.ac2c58p+1 +0x1.cf0ef6p-2 +0x1.2a15bcp+1 +-0x1.6458bap-1 +0x1.3dfbap+1 +0x1.acce48p-1 +-0x1.4a6c2ap+0 +0x1.0d65ep+1 +-0x1.ef75c4p+1 +0x1.3aa8eep-2 +-0x1.1aa7e2p+1 +-0x1.d7ae6cp-2 +-0x1.dabe96p-1 +-0x1.42dc8p-4 +-0x1.e3ffp+0 +-0x1.567bdp+1 +0x1.45e4cap+0 +-0x1.490a68p+1 +-0x1.0f8e2p+1 +0x1.6b87dep-3 +-0x1.948dp-1 +0x1.215098p+2 +0x1.91ff1p+0 +-0x1.5e966ap+1 +-0x1.b26978p+0 +0x1.9b8ef8p-1 +0x1.4fc9ccp+0 +0x1.92ae46p+0 +0x1.249b54p+1 +-0x1.360a5cp+1 +0x1.6a3caep+1 +0x1.08101ep+2 +-0x1.ecf65cp-2 +0x1.62cadap-2 +-0x1.06112ep+0 +0x1.991d78p+0 +0x1.606aep+1 +-0x1.070714p-2 +-0x1.562a98p-3 +-0x1.dc5e96p+0 +-0x1.83bc2ep-1 +0x1.5f291cp-5 +0x1.02045ep+0 +0x1.0c56dp+1 +-0x1.db6246p+0 +0x1.8fd9d4p-4 +0x1.990464p+0 +0x1.06002cp-4 +-0x1.f13c1ep-3 +-0x1.180a16p-1 +-0x1.8f8b4ep+1 +-0x1.1649f2p+1 +-0x1.97f9eap-1 +-0x1.4fe618p+0 +-0x1.52f788p+0 +0x1.10b602p-2 +0x1.9b47d8p-2 +0x1.f010c6p+0 +-0x1.18296ep-2 +-0x1.3d588cp-2 +-0x1.6d5964p+1 +-0x1.9dca2ap-1 +0x1.257a96p+1 +0x1.1aa754p-1 +-0x1.ead32cp+1 +-0x1.47b2dp+1 +-0x1.319552p+1 +0x1.03d558p+1 +0x1.c00ae2p+1 +-0x1.8fab24p-3 +0x1.3549ccp+1 +0x1.007aa6p+0 +0x1.457e7ap+0 +0x1.18726cp+0 +0x1.13ddb4p-1 +-0x1.03641ep+0 +0x1.4c7becp+1 +-0x1.a59092p-1 +0x1.2641cap+0 +0x1.156662p+2 +-0x1.e0f6fcp+1 +0x1.05feecp+2 +0x1.6bb692p+2 +-0x1.54405ap+0 +0x1.705f56p+0 +-0x1.640dp+0 +0x1.d1237p-1 +0x1.6718eep+0 +-0x1.57e652p+1 +-0x1.79544ep-1 +-0x1.16d64p+1 +-0x1.1ac906p+1 +-0x1.e85af4p+0 +0x1.bb11c6p-2 +0x1.7f800ep+0 +0x1.3d5614p+1 +-0x1.cb8fc6p-1 +-0x1.38784cp+1 +-0x1.4ab4fap-2 +0x1.e8eb08p+1 +0x1.3dd5b8p+0 +-0x1.ffa216p-2 +0x1.476134p-1 +0x1.e5787cp-1 +-0x1.f9e446p-1 +-0x1.93e5d2p-1 +0x1.4357fap+0 +-0x1.4f73ep-1 +0x1.9d7f48p+1 +-0x1.f46b4cp-3 +0x1.4cc132p-2 +0x1.3e01aep+1 +-0x1.b8cd7cp-1 +0x1.17734cp-2 +-0x1.4d84b6p+2 +-0x1.5e3c2cp-2 +0x1.39600cp+1 +-0x1.d9fed2p+0 +0x1.cf3dfp+0 +0x1.97d41ap+1 +0x1.ee4f3ep+0 +0x1.d7929p-2 +-0x1.89719cp-3 +0x1.7a6966p-3 +0x1.323646p+1 +0x1.2a46f8p-1 +-0x1.f26d5ep+0 +-0x1.32b2dp+0 +0x1.c7fba6p-5 +-0x1.016d02p-4 +-0x1.29eb78p-1 +-0x1.0abdfp+0 +-0x1.83caeep+1 +-0x1.e77142p+1 +-0x1.c6494cp+0 +-0x1.0b184ep-3 +-0x1.2f8bb2p+2 +-0x1.b2a8bap+0 +0x1.900b1ep+1 +-0x1.f1c7ecp-1 +0x1.810202p-1 +0x1.2c9fc4p-2 +-0x1.f03356p+1 +-0x1.9fd06ep+1 +0x1.9d463ep+1 +-0x1.3acaaap+1 +-0x1.6968e6p+1 +-0x1.b4160ap-5 +-0x1.6b96b2p+0 +-0x1.50589ap-2 +-0x1.06b452p+2 +-0x1.2f7d76p+1 +0x1.b05bd4p-5 +0x1.40ed04p+0 +0x1.228e5ep+1 +-0x1.112b6p-3 +-0x1.be5892p+0 +-0x1.c6a59ap+1 +0x1.a56efp-1 +0x1.918a52p-2 +0x1.2d04aep-1 +0x1.1aa9f2p-1 +0x1.0eb2acp+1 +-0x1.a38a2cp+1 +0x1.c2fa24p-1 +0x1.943eb6p+1 +-0x1.171818p+0 +-0x1.38933ep+2 +0x1.8107eap+1 +0x1.96ff2cp+0 +0x1.188cd6p-2 +-0x1.1360e6p-6 +-0x1.2bfef2p+0 +-0x1.076554p+0 +-0x1.4afc24p+0 +0x1.1aa984p+1 +-0x1.85ce3p+1 +0x1.7cd8d6p-1 +-0x1.bf4e26p+0 +0x1.b00866p-1 +-0x1.4155f6p+1 +-0x1.39ac46p+1 +0x1.6ef53ap-3 +-0x1.bdb7c6p+1 +0x1.5259b4p+0 +-0x1.8852bp+1 +0x1.43e85ap+0 +0x1.daed1ep-1 +0x1.2c7a8ap+0 +0x1.9331fp+1 +-0x1.557626p+0 +-0x1.146f9ep+1 +-0x1.28a022p+0 +-0x1.a2228ep+1 +0x1.0b5b48p+1 +0x1.d73f7ep-1 +-0x1.ac231ep-1 +-0x1.5018e8p-1 +-0x1.72153ep+1 +0x1.a8f7b2p+1 +-0x1.26c92cp-3 +-0x1.3ca7f8p+2 +0x1.62be94p+0 +-0x1.5a8bbap+1 +0x1.84ab42p-1 +0x1.d44e1cp+1 +0x1.dc0de4p+1 +0x1.87509p-4 +0x1.c4356p-2 +-0x1.4e32dep+1 +-0x1.3dc2bep+1 +-0x1.06ed8ep+0 +0x1.4d3d7p-4 +-0x1.dd5742p-1 +0x1.8c5472p-1 +-0x1.d54bacp+0 +-0x1.2ce968p+1 +-0x1.41ab3ep+0 +0x1.44f836p-8 +0x1.516194p+0 +-0x1.a7bbf8p+0 +-0x1.217622p+2 +-0x1.9fdd64p+0 +0x1.42b618p-8 +0x1.ad52dep-1 +-0x1.a0565ep+1 +-0x1.64508ap+0 +0x1.e8cec4p-3 +-0x1.7d311cp+0 +-0x1.5ddfbap+1 +0x1.c135fap-3 +0x1.01478ap-3 +-0x1.3333aap+1 +-0x1.4496a2p+1 +-0x1.711ea6p+1 +-0x1.755ecp-9 +0x1.1ac204p-7 +-0x1.d88bd4p-2 +0x1.6dce5p+0 +-0x1.16dc0cp+2 +-0x1.27c77cp-3 +-0x1.906e9ep-2 +0x1.18e9b8p-5 +-0x1.2e8c2cp+1 +-0x1.93493ap+1 +-0x1.2c24bap+0 +-0x1.ac2c6ep-1 +-0x1.d221a6p+1 +0x1.d71f28p-1 +-0x1.630a7ap-3 +0x1.5cb6bcp+1 +-0x1.4d706ep+0 +-0x1.81db16p+1 +0x1.1d45ecp+0 +-0x1.bbd304p+0 +0x1.692926p+0 +0x1.a623aep-3 +-0x1.080956p-1 +-0x1.8c6be4p+1 +-0x1.b92f88p-3 +-0x1.4ef9f2p+1 +0x1.67160ap+1 +-0x1.48a19ap-2 +-0x1.1247dep+1 +-0x1.56fb7p+2 +0x1.d43b42p+1 +0x1.2248fep+1 +0x1.36f16p-5 +-0x1.62a91ap+1 +0x1.c5cf3p+0 +-0x1.df6c8cp+0 +-0x1.f943acp-2 +0x1.51a9cap+0 +-0x1.9108fap+0 +0x1.fe4862p-1 +-0x1.04fffp-1 +-0x1.d641c8p-5 +-0x1.f9d3d6p-2 +-0x1.ee6296p-2 +-0x1.94a686p-1 +0x1.a7c516p+0 +0x1.eb8b94p-1 +0x1.86dca4p-2 +0x1.38018cp+0 +-0x1.ba118p+1 +0x1.fc074ap-1 +0x1.0ea0d8p+1 +-0x1.0efba6p-1 +-0x1.17c456p+0 +-0x1.596f72p-2 +-0x1.392248p+1 +0x1.5122ep+1 +0x1.f0ef8p-2 +0x1.209c4p+0 +-0x1.f4b12ep+0 +-0x1.c8731ap+0 +0x1.31dd68p+1 +-0x1.a303a4p-6 +0x1.4e86c8p+1 +0x1.1a56eep+1 +-0x1.7238cep+1 +0x1.83510cp+0 +0x1.32953ap-1 +-0x1.e298a4p-2 +0x1.cc7238p-3 +-0x1.094404p-1 +0x1.11645ap-1 +0x1.fbafb2p-1 +-0x1.86078p+0 +-0x1.e337p+1 +0x1.04b988p+0 +0x1.a4e32ep+1 +-0x1.6e6b6cp-1 +-0x1.10709cp+1 +-0x1.48d7f6p+1 +-0x1.cc1444p+1 +0x1.87c2ep-1 +0x1.cb2c2p+0 +-0x1.c6295ep+1 +-0x1.218ee2p+0 +-0x1.681458p+0 +-0x1.2eb602p+0 +-0x1.9e64f8p+1 +0x1.99936ap+1 +-0x1.5862d6p+2 +-0x1.b02166p-1 +-0x1.99318p-4 +-0x1.e066f6p-1 +-0x1.620d2p-1 +-0x1.2d339cp+0 +-0x1.8d62fap+1 +-0x1.00e28ap+2 +-0x1.228056p+0 +0x1.650becp+0 +0x1.add9cep+0 +0x1.9234p+1 +0x1.67b7ep+0 +0x1.25eda2p+1 +-0x1.5a3b46p-3 +-0x1.5c45bcp-2 +0x1.627c98p-3 +0x1.6a81eep+1 +0x1.8da70ap-2 +-0x1.26483ap-2 +0x1.018c68p-1 +-0x1.ae35d6p+1 +-0x1.d0244cp-2 +-0x1.d76602p+0 +-0x1.5802e8p+1 +0x1.5ea6b8p+2 +-0x1.2cbb8p+1 +-0x1.219d9cp+0 +-0x1.86f4a4p+0 +0x1.be4ac6p+0 +-0x1.9f4dc6p+0 +-0x1.0ce498p-2 +-0x1.2710cap+1 +0x1.d7f332p-1 +0x1.ea8f9ap-1 +0x1.bbbb08p+0 +-0x1.da4784p+0 +-0x1.3e207cp-2 +0x1.9fcc2p+1 +-0x1.59a33p+1 +-0x1.9f049cp-3 +0x1.4b15aap+0 +-0x1.2b1f28p+2 +-0x1.a43ecap+1 +-0x1.05965cp+1 +0x1.6fa45ep+1 +-0x1.e90b1ap+0 +-0x1.a6fa42p+0 +-0x1.454526p+0 +0x1.078a8cp+2 +-0x1.fe4f1ep+0 +0x1.032e9ep+0 +0x1.5afe8ap-1 +-0x1.54094cp+0 +0x1.8124ccp+0 +0x1.80e338p-3 +-0x1.45ae58p-4 +-0x1.44c552p+0 +0x1.9542f4p-1 +0x1.943224p+1 +0x1.9edd1ap-1 +-0x1.61b202p+1 +0x1.cabf4cp-1 +-0x1.e190cep-2 +0x1.15f088p+1 +0x1.600cf4p+1 +0x1.277e06p+0 +0x1.036adcp+1 +-0x1.069f94p-2 +-0x1.1d4d02p+1 +-0x1.7b7f4p+0 +-0x1.20c724p+2 +-0x1.584b22p+1 +-0x1.06c72p-3 +-0x1.0c2c58p-1 +0x1.e29a7ap+1 +0x1.28c146p+0 +-0x1.4304dp+1 +-0x1.92769p-1 +0x1.888d26p+0 +-0x1.70c2c4p+0 +0x1.bfd58cp-2 +-0x1.806cep+1 +0x1.67a468p-3 +-0x1.7db2d8p-1 +-0x1.07b6fp-5 +0x1.1771p+0 +0x1.b17e6ap-2 +0x1.29cdap+1 +-0x1.2727a4p-1 +0x1.cdd90ep-3 +0x1.dd3dbp+0 +-0x1.14142cp+0 +-0x1.8777d2p-2 +0x1.3683c8p-2 +0x1.18abeep+0 +-0x1.6a2fb6p+0 +0x1.9c994p-1 +-0x1.dd0cd2p+0 +-0x1.89bb84p+1 +-0x1.450daep+0 +0x1.1db3aap+0 +-0x1.5253d6p+1 +-0x1.773fccp+2 +-0x1.44725ep-2 +-0x1.85e306p+0 +-0x1.248a4cp+1 +0x1.07cac4p+2 +0x1.606b66p+0 +-0x1.d48072p-1 +0x1.80ae08p+2 +-0x1.b95cep-1 +0x1.0dcfb8p-1 +-0x1.f1d072p+0 +0x1.582ecp-1 +-0x1.22fa58p+1 +0x1.8d0574p+2 +0x1.b3b696p+0 +0x1.26d7b6p-4 +0x1.76144cp+0 +-0x1.8f46cap-3 +-0x1.4fbc6ep+0 +0x1.c7934ep+1 +-0x1.e43558p+1 +-0x1.3214ecp+0 +-0x1.f39acp+1 +0x1.ff5b86p-3 +0x1.0b2b7p+1 +0x1.335c9cp+1 +-0x1.953d56p-2 +0x1.8d2b92p-2 +0x1.bae886p+1 +0x1.167fep-1 +0x1.373b9ap-2 +0x1.8e2d5ap+1 +0x1.8bd952p+1 +0x1.0c35b2p-1 +-0x1.07462ep+1 +-0x1.fe1804p-1 +-0x1.7b042p-3 +-0x1.6584ep-1 +0x1.1dfed4p-2 +-0x1.ba50d2p-1 +0x1.e29c9cp+0 +0x1.92f14ep-1 +-0x1.39170ep-1 +-0x1.8693dp+0 +0x1.2dbb1cp+1 +-0x1.5db2b8p-4 +0x1.55e33ap+2 +0x1.cf7d9ap-1 +-0x1.1fb894p+0 +0x1.9b7ccap+1 +-0x1.1a63dcp+2 +-0x1.6a4708p+1 +0x1.355976p+0 +-0x1.6d0ef2p+1 +0x1.2fc69cp+1 +-0x1.3de742p+1 +-0x1.72451p+1 +-0x1.9e1fc2p-6 +-0x1.d52816p+0 +-0x1.0f426ap+2 +-0x1.75a2d2p-1 +0x1.cb7f68p-2 +0x1.248902p+0 +-0x1.b4c7bep+1 +-0x1.271f4cp+0 +-0x1.de4e4p-1 +0x1.84feeep+1 +-0x1.4bf83p-1 +-0x1.70a0cep+1 +-0x1.82e932p+0 +0x1.b77aacp+0 +-0x1.7edcd2p+1 +0x1.7ba93ep+1 +-0x1.1cc26cp+1 +-0x1.9a740ap-2 +0x1.c9e902p-1 +0x1.1e397p+1 +0x1.2d37a4p+2 +-0x1.7bdd62p-3 +-0x1.02b03ap+2 +0x1.c7e04p+1 +-0x1.7fa17ep-6 +-0x1.86dd5ep+1 +-0x1.c68672p-1 +0x1.0b6f22p+0 +-0x1.a5b24ep+2 +0x1.8f9b32p+0 +0x1.3f1eeep+1 +-0x1.79bb44p-5 +0x1.405dfp+1 +0x1.7810fep+1 +0x1.59039ep+1 +-0x1.533b7ep+0 +-0x1.847b9cp+1 +0x1.90b914p+1 +0x1.0f6932p+1 +-0x1.7e3a5ap+0 +0x1.0a82d2p+1 +0x1.7dae4ap-2 +0x1.fa8bb4p-1 +0x1.2ae8p-3 +-0x1.a4ebb4p+0 +0x1.334a7cp+0 +0x1.8ca71ap+1 +0x1.482d3p-2 +-0x1.30929ep+0 +-0x1.80e35ep+0 +0x1.03de5p+2 +0x1.d4c766p-12 +0x1.138c14p+2 +0x1.7f977ep-1 +-0x1.0d82ep-1 +0x1.8771f6p-1 +-0x1.a59fc8p+0 +-0x1.5acebep+2 +0x1.943dbep+0 +-0x1.6b5f68p-1 +-0x1.116522p+0 +0x1.a468ecp-4 +-0x1.4413d6p-3 +0x1.b61754p+0 +-0x1.3d3638p+2 +0x1.307aap+0 +-0x1.f0e568p-1 +-0x1.2c4794p+0 +-0x1.b2cdd8p+0 +0x1.a5a8cep+0 +0x1.012dd6p+0 +-0x1.67d546p-1 +0x1.9b817ap-2 +0x1.0509bcp+0 +-0x1.a4ad3p+0 +0x1.e40b96p-3 +-0x1.6330bep+1 +0x1.af60ep+0 +-0x1.3cc692p+1 +0x1.138622p-1 +-0x1.0584f8p-1 +0x1.1d6246p+0 +0x1.d5e8c4p+0 +-0x1.e79712p+0 +0x1.ad9732p+0 +0x1.9697c6p+0 +-0x1.e3f9c8p-5 +-0x1.7b4a6ep+0 +-0x1.dea8dp-2 +0x1.4ec636p+1 +-0x1.5f8228p+0 +-0x1.e8ac1ap-2 +0x1.1d467ap-1 +-0x1.9bd878p-4 +0x1.1f0e94p+1 +-0x1.8da4c4p+0 +-0x1.1bd46ap+2 +-0x1.9cbb36p-1 +0x1.764c24p+0 +-0x1.80412ap+1 +0x1.50b8fep+0 +-0x1.782eacp-2 +-0x1.3927dap-5 +-0x1.fc76eap+0 +0x1.8404e6p-2 +-0x1.62dd12p-3 +0x1.85ad44p-1 +-0x1.868194p-5 +0x1.54ea1p-1 +-0x1.817e4ap+0 +-0x1.41fe3cp+0 +-0x1.87ea26p+0 +0x1.49d826p-1 +0x1.94c504p-3 +-0x1.936702p-5 +-0x1.5e0854p+1 +0x1.7526e4p+0 +0x1.3c73d4p+0 +-0x1.44c8d8p+0 +0x1.aa17b6p+1 +-0x1.abbbf4p-1 +-0x1.935e2cp+0 +0x1.fbf998p+1 +-0x1.460f66p+0 +0x1.99d664p-1 +-0x1.9ad506p+1 +0x1.65a63p-4 +-0x1.7e2264p-1 +0x1.5c25b8p-1 +0x1.75acf6p+1 +-0x1.030ebcp+0 +0x1.638e1ep+1 +0x1.7a132ap-1 +-0x1.6ad65cp-1 +-0x1.8b3d6cp-1 +-0x1.42b04p-1 +-0x1.7c9dfep+0 +-0x1.4cfbf8p+0 +-0x1.2efc82p+2 +0x1.b9edfap+1 +0x1.204da2p+1 +0x1.68ff7cp+1 +0x1.f863aep-1 +-0x1.276972p-1 +-0x1.b80c5ep+0 +-0x1.1d73eep-1 +0x1.1d386ep+2 +-0x1.15e4f4p+0 +-0x1.5f5f7cp+0 +-0x1.167a18p+1 +-0x1.e62d7ep+0 +-0x1.2b1514p+0 +0x1.06a988p+1 +0x1.e77978p+0 +-0x1.35eb76p+1 +0x1.1819b4p-1 +-0x1.c2e0b8p-1 +-0x1.ccde06p-3 +0x1.d50ffp-3 +0x1.007b54p+0 +-0x1.d7f8bap-2 +0x1.1e4004p+0 +0x1.cf7be2p-2 +-0x1.edec2ap+0 +0x1.2787eep+0 +-0x1.012ca2p+0 +0x1.c54666p+1 +0x1.c92824p+0 +0x1.4caa38p-2 +-0x1.734402p+1 +-0x1.23fce4p-1 +-0x1.17b1ccp+1 +-0x1.5bafd2p+1 +-0x1.257704p+0 +0x1.a2fd4p-1 +-0x1.21a3c2p-1 +0x1.8d04fep-3 +-0x1.a95f4ep-1 +0x1.74be2ap+1 +0x1.883dap+1 +-0x1.cbf06p-5 +-0x1.b69ba8p-2 +0x1.74311ap+1 +0x1.911eaep+0 +0x1.f58ab6p-1 +0x1.6b1ecep+1 +-0x1.91bbfcp+0 +0x1.e99e7ap+1 +-0x1.42d816p-1 +-0x1.815594p+0 +0x1.0538fp-4 +-0x1.d823ecp+0 +0x1.a7811ep+0 +-0x1.37a606p+1 +-0x1.14bb9ep-1 +0x1.2298d6p-2 +0x1.5d9d62p+0 +0x1.985deep+0 +-0x1.0b836ap+0 +-0x1.e1af8p+1 +-0x1.a0a29p+0 +0x1.5ed4c6p+1 +-0x1.4f572p+0 +0x1.88016ap+1 +0x1.ce82e8p+0 +0x1.7868e8p+1 +-0x1.825968p+0 +-0x1.2dfec2p-1 +0x1.86b9d4p+0 +0x1.b2fe34p+1 +-0x1.b9a9d6p-3 +0x1.048f2ep-5 +-0x1.cdb44cp+0 +-0x1.40301ep-3 +-0x1.6cb2e2p-1 +-0x1.625ccep+0 +-0x1.bdaf8ap+1 +-0x1.4987d8p+0 +0x1.59c57p+0 +-0x1.77e1d6p-1 +-0x1.6b0ae4p-1 +-0x1.542d84p+1 +0x1.489b3ap+0 +-0x1.492a94p+0 +0x1.42c1bap-2 +0x1.46ab06p-1 +-0x1.d95bf2p+0 +0x1.491ba6p+1 +-0x1.47e024p+1 +0x1.2c4402p+2 +0x1.736228p+1 +0x1.aed0eep+0 +0x1.f01eb8p+1 +0x1.e8ceaap-4 +-0x1.6b7314p+1 +-0x1.9d3b5p+0 +-0x1.8cd62ep-2 +0x1.0f9026p-1 +-0x1.031e04p+1 +-0x1.077e4ap+1 +-0x1.f5758p+1 +0x1.697cdcp-2 +-0x1.65d80cp-1 +-0x1.2d790cp+0 +-0x1.72e49ap+0 +-0x1.3e616p+0 +-0x1.1609e4p+1 +-0x1.b57362p-2 +-0x1.8fcda6p-2 +0x1.6bf0a4p+0 +0x1.ad48c2p-1 +-0x1.890358p+1 +-0x1.cdc0fep-3 +-0x1.3a5574p+0 +-0x1.ffe86ap-3 +-0x1.b916e8p+1 +-0x1.ec6558p-6 +0x1.3a8902p+2 +-0x1.f96ce8p+1 +-0x1.f7c0e6p-2 +0x1.8c18a2p-2 +-0x1.6ff716p+0 +0x1.97a5a4p+0 +0x1.f92e36p-7 +-0x1.2015fep+2 +-0x1.8da66ap-3 +-0x1.159efep+1 +-0x1.1a5f28p+0 +-0x1.af5ae2p+0 +-0x1.6c16p-1 +-0x1.079bbep+0 +-0x1.6a98d4p+0 +0x1.09ea74p+0 +0x1.ecfe0cp-1 +0x1.f8472cp-1 +0x1.a4ef6p-1 +-0x1.8123ap+0 +0x1.5387fcp+0 +-0x1.80dc1cp+0 +0x1.50ab5cp-1 +0x1.65e06cp-1 +-0x1.524fd4p-2 +0x1.44580cp+0 +0x1.bcf5e6p+0 +-0x1.ec2f52p+0 +-0x1.d881cep-3 +0x1.5588c6p+1 +0x1.a9c6p+0 +-0x1.228f88p-4 +-0x1.4fea72p-3 +0x1.59f8cap-4 +0x1.cbdcf4p-3 +0x1.3029dp-1 +0x1.f92abcp+0 +-0x1.a8b95ep-1 +-0x1.83ff64p+0 +0x1.de453ep-2 +-0x1.70b986p+0 +0x1.da1c68p+1 +0x1.21b5b4p+1 +0x1.d2127ap+1 +0x1.83719cp+0 +-0x1.a4349cp+0 +0x1.b878b8p+1 +0x1.6a370ep-1 +-0x1.118e54p+1 +-0x1.3df8b6p-1 +0x1.8a5014p+1 +0x1.a0e02ap-2 +0x1.8bdbe2p-3 +0x1.9a65a4p+0 +-0x1.7f251p-1 +-0x1.3b1f2p+0 +-0x1.345fb2p-1 +-0x1.75771ep-1 +-0x1.e2640ap+0 +-0x1.ec1426p-2 +0x1.c4f346p+1 +-0x1.4b57ep+0 +0x1.ffb67p+0 +-0x1.01df0ep+0 +-0x1.15df94p+1 +-0x1.a170f6p+0 +-0x1.d992ep-2 +-0x1.2baf74p+0 +0x1.a85186p-1 +0x1.abcea8p-1 +0x1.ab7cbap+1 +0x1.42e69ap-2 +-0x1.9d0814p+1 +-0x1.0b9938p+0 +-0x1.c97982p-4 +-0x1.b699fp-5 +0x1.bb03a4p-1 +0x1.2fb4aep+0 +0x1.03cfa4p+2 +-0x1.abf1b8p-3 +0x1.613976p+2 +0x1.dd2618p+0 +0x1.275076p-1 +-0x1.84c576p-6 +0x1.7042a2p-2 +0x1.c82e92p-1 +-0x1.a57daap-1 +0x1.66a4dep+1 +0x1.c6a39ap-4 +0x1.29cfbcp+1 +0x1.89c30ap-1 +-0x1.762f1ep+0 +0x1.bfb29p+1 +0x1.8229ecp-3 +0x1.fab966p-2 +0x1.88906p+1 +-0x1.db54dcp+0 +-0x1.21161ap-1 +0x1.6df6d2p+1 +0x1.0259a8p-1 +0x1.7c3ad6p+1 +0x1.6422f8p-3 +0x1.9b092p-2 +-0x1.218edap+0 +-0x1.70ed12p+0 +-0x1.25d4fap+2 +0x1.5d7ffp+1 +0x1.9a3d98p+1 +-0x1.1e144cp+0 +0x1.a72812p-4 +-0x1.eba0cp+1 +0x1.a5e5f6p-1 +-0x1.7288ap+0 +-0x1.8935cap+0 +-0x1.2a829cp+1 +-0x1.48ebdcp+0 +0x1.5419fcp+1 +-0x1.50327ep+0 +0x1.5e3d5cp+0 +0x1.0d9ddap+2 +0x1.82002ep-6 +-0x1.81246ap-1 +0x1.1ded02p+1 +-0x1.f34346p-2 +0x1.61f206p+1 +0x1.39cca6p-1 +-0x1.8a8c7ap-3 +-0x1.e29c88p-1 +0x1.361954p-1 +0x1.17da7cp+0 +0x1.18ca1p-4 +-0x1.6b7288p+0 +0x1.56ccbep-5 +0x1.73c642p-3 +0x1.87c68cp+0 +0x1.d69c54p+0 +-0x1.726e54p+0 +0x1.4db076p+0 +-0x1.43661cp+2 +-0x1.0a6bcap+1 +-0x1.27821p+1 +0x1.ca9d5cp-4 +0x1.290ac4p-3 +0x1.f61ebap+1 +-0x1.1584dp+0 +0x1.0b8bf2p+1 +-0x1.51999p+0 +-0x1.006eaap+0 +0x1.e7b494p-1 +0x1.0c4822p-5 +-0x1.165632p-4 +0x1.f02bc2p-2 +0x1.35c696p+0 +0x1.da738ap-3 +0x1.8e1484p+0 +-0x1.23fb1ep+1 +-0x1.917d26p-4 +0x1.a732cep+2 +-0x1.d52748p+1 +-0x1.6140d2p+1 +0x1.d8ab7ap+0 +0x1.69a984p-2 +-0x1.b9934ap-2 +-0x1.b8475p+0 +0x1.48c178p+0 +-0x1.445f82p+1 +-0x1.4122d8p+1 +-0x1.f0fc9ap-1 +-0x1.15642cp+1 +-0x1.276fb2p-1 +0x1.1ec51cp-1 +0x1.3d61d4p+0 +0x1.f9cd82p+0 +0x1.cef99ep+1 +-0x1.bd5bbap+0 +0x1.416068p+1 +0x1.15025ap+1 +-0x1.934af2p+1 +0x1.e2761ep+1 +0x1.c5012ep+0 +-0x1.779788p+0 +-0x1.1d26ccp+0 +-0x1.eb283p-2 +0x1.875184p-2 +-0x1.c88262p+0 +0x1.fd0406p+1 +-0x1.3ac284p+1 +0x1.ba5eeep-1 +0x1.69e162p-1 +-0x1.6d72c6p+0 +0x1.bbf7fap+0 +0x1.82e236p-7 +0x1.2d967p+0 +0x1.215beap+0 +-0x1.799718p+1 +0x1.624d2p+1 +0x1.2b76bcp+0 +0x1.e87f02p-1 +-0x1.66b792p+1 +0x1.380f5cp-7 +0x1.365818p-1 +-0x1.67eaeep-1 +-0x1.09e25ap+2 +-0x1.2241b2p+0 +-0x1.6e04ep+0 +-0x1.2a06b2p+2 +0x1.50b314p-1 +0x1.d0ade4p+0 +0x1.78507ep-1 +0x1.5fdd7p-1 +-0x1.a40adcp+0 +-0x1.9a4966p-1 +-0x1.008704p-2 +-0x1.9050f6p-1 +0x1.9010a2p+0 +0x1.113376p+0 +0x1.4a4de4p+0 +-0x1.51fccep+0 +0x1.62829p+1 +0x1.63e6e6p+1 +0x1.901b08p-3 +0x1.ab8c84p+1 +0x1.1c5506p+1 +-0x1.f34c26p-2 +0x1.204096p-1 +-0x1.779b54p+1 +0x1.0efd72p+0 +-0x1.20ab36p+0 +-0x1.049708p+1 +-0x1.29b568p+0 +-0x1.d35c08p-2 +-0x1.aca8dep+1 +0x1.50a42p+0 +0x1.dbbcc6p+0 +0x1.2c63ap+0 +0x1.ff5282p-3 +-0x1.27ad28p-8 +-0x1.63b808p+2 +0x1.f0119ap-1 +-0x1.43fe26p+0 +-0x1.0cfe3p+1 +-0x1.61f8fep+0 +0x1.ce5dcp+0 +-0x1.453a04p+0 +0x1.ffa1bcp+0 +-0x1.c8012ap+0 +-0x1.1e7d7ap+1 +-0x1.2f748cp+0 +0x1.3e88e2p-4 +0x1.8f8bcp+1 +-0x1.1cff74p+2 +0x1.33c24p+0 +-0x1.f3fd38p+0 +0x1.546046p+1 +-0x1.13ae64p+0 +0x1.c8a558p+0 +0x1.a6e46p-2 +0x1.07ed1ap+2 +-0x1.82b4a2p-3 +-0x1.5e7ca8p+0 +-0x1.e68c3ap+1 +0x1.d7c9f4p-2 +0x1.ee68d4p-2 +-0x1.52875ep+1 +-0x1.d91c36p+1 +0x1.2b72dcp+2 +0x1.d0c78ap-1 +0x1.97c69p+1 +0x1.67d404p+1 +-0x1.b4cdb4p-3 +-0x1.ed7486p-1 +0x1.5adacep+1 +0x1.7fdec6p+0 +0x1.9f462ep-2 +-0x1.fdf4e4p-2 +-0x1.b7c4b8p+0 +0x1.0e3b08p+0 +-0x1.5d2e08p+1 +0x1.0cc27ep-1 +-0x1.37e812p-1 +-0x1.5a43d4p+0 +-0x1.314f14p-1 +0x1.064054p+1 +0x1.0d2922p-1 +-0x1.a6260cp+1 +0x1.c090bep-1 +0x1.8c59ccp+1 +-0x1.797c7ep+1 +-0x1.495fp-1 +-0x1.d69036p+1 +-0x1.7ace46p-2 +0x1.5e5746p-3 +0x1.99a996p+0 +-0x1.64f4d4p-1 +0x1.5b2ceap-2 +-0x1.afae6cp-4 +0x1.74ec36p+2 +0x1.76212ep-2 +0x1.1e35aap-1 +-0x1.2d2b34p-1 +-0x1.74477ap-1 +-0x1.da68dap+0 +-0x1.c28a74p+1 +-0x1.cf021p+1 +-0x1.7275fap-1 +-0x1.83d0b8p+0 +0x1.22e358p-2 +0x1.1d1dbcp+0 +0x1.b4bc74p+0 +0x1.686b4cp+1 +0x1.fbb52ap+1 +-0x1.cc7f9cp-1 +0x1.b6b478p+0 +0x1.0ebfbap+0 +-0x1.e6ace2p-3 +-0x1.d10448p+0 +-0x1.e195p-6 +-0x1.70f296p+2 +0x1.f83b5cp+0 +0x1.281cb6p+1 +-0x1.ff1218p-2 +0x1.3b7244p+0 +0x1.7faa66p+0 +-0x1.a4da56p+1 +0x1.372832p-1 +-0x1.ae3964p+0 +-0x1.ddcde6p-2 +-0x1.0670b4p-2 +0x1.fb5fecp-2 +0x1.a307fcp-1 +-0x1.404de2p+1 +0x1.144152p+1 +-0x1.f5874p-2 +-0x1.c07b0ep-2 +0x1.404e72p-1 +0x1.870ep+1 +-0x1.e37d0ep+0 +-0x1.4b5ae6p+0 +0x1.702676p+1 +-0x1.c074ep-2 +-0x1.18feeep+1 +-0x1.372954p+1 +-0x1.63ed3cp+1 +0x1.ecf126p-2 +-0x1.1064e6p+2 +-0x1.a27bdep+0 +-0x1.37ed4cp-2 +0x1.024736p+0 +-0x1.1e7bcap+0 +-0x1.36aa08p-3 +-0x1.7caf6ep-2 +0x1.52875p-1 +0x1.708586p-1 +0x1.b8151ap+0 +0x1.960ca4p-3 +-0x1.9247d4p+1 +-0x1.7a58eap-2 +-0x1.0ed32p+1 +0x1.618874p+0 +-0x1.0d12dep-2 +0x1.375f6ep-2 +-0x1.385562p-2 +0x1.d85a86p+0 +-0x1.90e9e2p-4 +0x1.5f9874p+0 +0x1.b10edp+0 +0x1.22a604p+0 +-0x1.611f38p+0 +-0x1.0d5822p-1 +-0x1.78931ep-1 +0x1.42a0ccp+1 +0x1.0cdd8ep+0 +0x1.583e82p+0 +-0x1.8dddfep-4 +-0x1.279f4ap-2 +-0x1.1c8f3ap-2 +0x1.f827ap+0 +0x1.7eb058p+1 +0x1.a0f708p+0 +0x1.10a96p-1 +0x1.05827p+0 +0x1.8a113cp+1 +-0x1.3089f2p+2 +0x1.4d41a4p-1 +0x1.b14674p+0 +-0x1.d7c6f6p-1 +0x1.66b6bp+0 +-0x1.7d4c86p-1 +0x1.fcdc6cp-2 +-0x1.9741acp+0 +-0x1.37e6e6p-2 +0x1.b1a5e6p+0 +0x1.b3389ap+0 +0x1.3db378p-1 +-0x1.93fbc2p-1 +0x1.61b404p+0 +-0x1.859fc8p-4 +0x1.5f5d9cp+0 +-0x1.bc3e98p+1 +0x1.aaa84p-1 +-0x1.a8e664p-4 +0x1.9efa88p+0 +-0x1.234ae4p+1 +-0x1.0721d8p-2 +-0x1.220a96p-1 +0x1.be0bbp+0 +0x1.45caa8p+0 +0x1.525a58p-1 +-0x1.2a1b7cp+2 +0x1.382d2ap+2 +0x1.567fa2p+0 +0x1.cd7182p-1 +0x1.d38e3p+1 +-0x1.2987dep+0 +-0x1.343e0cp-6 +-0x1.0461c2p+0 +-0x1.c31b2cp+0 +0x1.8ed034p+1 +-0x1.ae3eb2p+0 +0x1.e92acap+0 +-0x1.31b566p+2 +0x1.1cc31cp-2 +0x1.653508p+1 +-0x1.0ca9fap+1 +0x1.27307ap-2 +0x1.80169ap+0 +0x1.7ab962p+1 +-0x1.422954p-1 +0x1.0473c8p-3 +-0x1.4ec552p-1 +-0x1.489c9cp-3 +-0x1.8605a8p+0 +0x1.0b9704p-2 +0x1.af4e5ep+1 +-0x1.704884p+0 +0x1.0d834ep+1 +0x1.1a3fd4p+0 +-0x1.c9acb4p+1 +0x1.2cd38p-1 +-0x1.13feecp+1 +-0x1.44a39ep+1 +-0x1.43dc5p-1 +-0x1.95c022p+0 +-0x1.e9d0bcp+0 +0x1.05a314p-1 +0x1.2cf2ccp+1 +-0x1.5b046ap+1 +0x1.c4399ep+0 +-0x1.a99eb6p+1 +-0x1.d07842p+0 +-0x1.8c4bdcp+1 +-0x1.96e438p+1 +-0x1.3793p-3 +0x1.78aaccp+0 +0x1.ffaddep+0 +0x1.16e606p+1 +0x1.13f31ap-2 +-0x1.b1a47p+0 +-0x1.d63586p+0 +-0x1.387aa4p+1 +-0x1.e2123p-1 +0x1.37444ep-1 +0x1.1735bp+2 +0x1.3bb0bcp-3 +0x1.684edap-1 +-0x1.1faa74p+0 +0x1.35badcp+0 +0x1.fe7408p+1 +-0x1.1ecaa6p+0 +-0x1.2d1e06p+1 +-0x1.8035cep-3 +-0x1.36a9eap+1 +-0x1.9b108p-2 +-0x1.85e022p-5 +-0x1.5f96ep+2 +0x1.4b81b4p+1 +-0x1.27f868p+1 +-0x1.e34f4p+0 +0x1.3ff198p-1 +-0x1.acfc1p-1 +0x1.563f3ep+0 +-0x1.32c9dcp+2 +-0x1.94c72ep-2 +0x1.a9cb82p-1 +0x1.66683ep+1 +-0x1.dcf29ep+1 +0x1.631138p+1 +0x1.41b464p+1 +-0x1.6b4318p+1 +0x1.0e5ad8p+0 +0x1.82de4ap-1 +0x1.12126ap+2 +-0x1.588a6p+1 +-0x1.56bb14p-1 +-0x1.c2d0fep+1 +0x1.c91e8cp-6 +-0x1.f9b58ep-3 +-0x1.01b178p-1 +0x1.30f176p-1 +0x1.96488ap-1 +0x1.9ee15p-3 +0x1.2b7cd8p+0 +0x1.335e7p+1 +0x1.32db26p+0 +0x1.49e462p+0 +0x1.809e28p+1 +0x1.b281cap-1 +-0x1.ef3af6p+0 +-0x1.92b6e6p+1 +0x1.df933ep-1 +-0x1.981004p-3 +-0x1.96ce7ep+0 +0x1.c37f9ap-1 +-0x1.96930cp+0 +0x1.a434fcp-1 +-0x1.7b13e4p+0 +0x1.b66e3ap-2 +-0x1.3157d8p+1 +0x1.027d88p-1 +-0x1.acd3e4p+1 +-0x1.dc56a4p-3 +-0x1.23d8ap+1 +-0x1.3e11a8p-1 +0x1.2ae06cp+1 +0x1.8236fcp-5 +0x1.90815ep+1 +-0x1.a8db4p-2 +-0x1.297586p+1 +-0x1.952cb4p+1 +-0x1.a20518p+0 +-0x1.cf28a6p+0 +0x1.931bfp+0 +0x1.24f864p-1 +-0x1.9ce85ep-1 +-0x1.4292c2p+1 +-0x1.2b7d1cp+0 +-0x1.8d139p+0 +0x1.e9278cp+0 +0x1.942544p+1 +-0x1.1df8cep+1 +-0x1.31cep-3 +0x1.a7065ep+1 +0x1.b70b1cp+1 +0x1.930bc4p+0 +-0x1.2f167ep+1 +-0x1.5f5572p+0 +-0x1.01fae4p-2 +0x1.b78b4p+0 +0x1.d7a04ep+0 +0x1.f2be0ap-2 +0x1.4a4c52p+0 +0x1.0b3c1ap-2 +-0x1.8c5f16p+0 +0x1.3b31b4p+1 +-0x1.61f20ep+1 +-0x1.b3557p+1 +-0x1.3da99ep+0 +0x1.f9e9b2p+1 +-0x1.e29a44p+0 +-0x1.cb80f8p-1 +0x1.f790b4p-4 +-0x1.5e774ap-1 +-0x1.b078ap+0 +0x1.7df532p+1 +-0x1.20e83ap+1 +-0x1.2ece3cp+0 +-0x1.b8dcfap-3 +-0x1.a820eap+0 +0x1.7b9754p+0 +0x1.1e1ffap-1 +0x1.d8be78p-1 +-0x1.6a6fdep-3 +-0x1.cfc8ecp-1 +0x1.9b04a2p+0 +0x1.19aee6p+2 +0x1.cb4172p-3 +0x1.a2bc9ep-2 +-0x1.153a5p+1 +-0x1.e32cd2p+0 +0x1.cd1044p-3 +0x1.0fb76cp-1 +0x1.4bfd4ap+1 +0x1.806536p+0 +0x1.9579f6p+0 +0x1.3649p-1 +0x1.a0c47ap-7 +-0x1.09803p+0 +0x1.84fb0ep+0 +-0x1.855462p+1 +0x1.159624p+2 +-0x1.8df534p-1 +0x1.8cd25p-1 +-0x1.e7ad74p+1 +0x1.e6229ep-4 +0x1.bccca2p-1 +-0x1.8e288ep+0 +0x1.c2aa6p-2 +0x1.ff0a0cp+0 +-0x1.ddb1ecp-1 +-0x1.3e5476p+1 +0x1.858158p+1 +0x1.d178dcp+0 +0x1.9197fp+0 +0x1.f12d86p+0 +0x1.0ee4fap+1 +-0x1.0bec12p+1 +-0x1.c3b202p-1 +-0x1.40665ap+1 +0x1.5ca698p+0 +0x1.0886c6p+1 +-0x1.6ce43ep+1 +0x1.0d0446p+1 +-0x1.3cdd42p+1 +-0x1.98ab96p-2 +0x1.67118cp-1 +-0x1.6381dp-1 +0x1.a6ecb4p+0 +-0x1.9515b6p+1 +-0x1.3a8022p+0 +0x1.46c216p+1 +0x1.e89f14p-1 +-0x1.0b75a8p-3 +0x1.4109f4p+1 +-0x1.ea031p+0 +-0x1.aa0586p+1 +-0x1.61350cp+1 +-0x1.8abf7ep-1 +0x1.77981ep-2 +-0x1.f701b8p-2 +0x1.ab815cp+1 +-0x1.cf59eap+0 +0x1.8ee6dcp-1 +0x1.8ec04cp+0 +0x1.bbf638p+0 +-0x1.a3fa38p-1 +-0x1.1af036p-1 +0x1.22f5cep+0 +-0x1.46a49ap+1 +-0x1.5d4fdcp+1 +-0x1.f72d2ap+0 +-0x1.8bcbb2p-8 +0x1.b6ac6ap-1 +-0x1.76022p-1 +-0x1.317764p+1 +0x1.1f9cb2p+1 +0x1.9e1294p+1 +-0x1.e7d7d2p+0 +-0x1.ecaa84p+1 +0x1.a6ffb6p-5 +0x1.e6a5d2p-7 +-0x1.69a5bp-3 +0x1.4a970ep+0 +-0x1.9f7bb4p+1 +-0x1.239f28p+1 +0x1.21c244p+0 +0x1.63aca6p+0 +0x1.1981bcp-1 +0x1.ae3274p+0 +-0x1.acc7c2p+0 +0x1.354474p+1 +-0x1.01b9acp+0 +0x1.59db0ep+0 +0x1.1a8914p+2 +-0x1.5dab9ap-2 +-0x1.7abbe4p-2 +-0x1.19f4a8p+1 +-0x1.7e72eep+0 +-0x1.90f286p+0 +0x1.c205ap+0 +0x1.d47afp+0 +0x1.adbf8cp+1 +0x1.bb25fp+1 +-0x1.4bf36p+0 +-0x1.0d0d08p+0 +-0x1.19084ap+1 +-0x1.dc5e8ap+0 +0x1.74d416p+2 +-0x1.8c956ap+0 +-0x1.53bf26p+0 +0x1.602114p+1 +0x1.1f2ccap+1 +0x1.82373ep-1 +0x1.13fep-1 +-0x1.c5efe2p+0 +-0x1.75a7e4p+0 +0x1.7dbef6p+1 +0x1.2e9564p+1 +-0x1.0a1952p+1 +0x1.d5409cp+0 +-0x1.093fe4p+0 +0x1.1e6686p+2 +0x1.d018dap+0 +-0x1.0cbcf4p+1 +-0x1.813d0ep-2 +-0x1.30607p-4 +-0x1.4b5342p+1 +0x1.603252p+0 +-0x1.c601e6p+1 +-0x1.cd608ap-1 +-0x1.fa09ccp+0 +-0x1.797292p+1 +-0x1.42a398p+1 +-0x1.57cd52p-1 +0x1.b71ae6p+1 +-0x1.96ec48p+0 +0x1.0e0092p-3 +-0x1.042ca6p+1 +0x1.8a318cp-1 +-0x1.6a9bdap-1 +0x1.c52fbp-1 +-0x1.376f82p+1 +0x1.0698fap+0 +-0x1.1f6c54p+0 +-0x1.8094b4p+1 +0x1.4bf162p-1 +0x1.f19582p+1 +-0x1.1f0c82p+2 +0x1.6d0a9ep-1 +-0x1.b4f5ecp+1 +0x1.94ea4ap-4 +-0x1.dd3e7cp+0 +0x1.00c328p+0 +-0x1.06b808p-2 +0x1.5e68c2p+1 +0x1.b57a62p+0 +0x1.dbb778p-1 +0x1.f8599ep+0 +0x1.a8ce9ap-1 +-0x1.1178ccp+1 +-0x1.16b262p+0 +0x1.4cb31ap-2 +-0x1.2b698cp+0 +-0x1.297398p+1 +-0x1.9ead8p-2 +-0x1.7f25d2p+0 +-0x1.3ecb54p-1 +-0x1.42bd8cp+0 +-0x1.e64afp+1 +-0x1.8df506p-5 +-0x1.7fa6f8p-1 +0x1.f192dcp+0 +0x1.a23234p+1 +0x1.529f9ep-3 +-0x1.25c242p+1 +-0x1.264d34p+1 +-0x1.ab5a0ep+0 +0x1.27c7c8p-2 +0x1.be840ep-1 +0x1.abfd0ap+0 +0x1.73307cp-3 +0x1.ca3f42p+0 +-0x1.c614bap+1 +0x1.910e2p-2 +0x1.cc4adcp+0 +-0x1.072822p+1 +0x1.6f2704p+1 +0x1.1ee3a2p+2 +0x1.57f6acp+0 +0x1.d120bep-5 +-0x1.1fe198p+1 +-0x1.52b1fp+1 +-0x1.ae7658p-1 +-0x1.f114fp+1 +0x1.2db694p+0 +0x1.c01758p-2 +0x1.29ba68p+0 +-0x1.97d9cap+1 +-0x1.3aa6e6p-1 +0x1.91388p-1 +0x1.5a8d36p+0 +0x1.4d23p+1 +-0x1.229a22p+1 +-0x1.15d246p+1 +-0x1.14ca8p-4 +-0x1.d28014p+1 +0x1.97ed02p-1 +0x1.2295dap+1 +0x1.03ef26p+0 +0x1.a8e6fep-1 +0x1.0ebe82p+0 +-0x1.f6ca0cp-2 +-0x1.45c58p-2 +-0x1.c3de1ep-4 +0x1.e727dap-1 +0x1.abe67p-1 +-0x1.8fa346p+1 +-0x1.70b346p-1 +-0x1.1d62cp+2 +0x1.c8736ap-1 +-0x1.2baea6p-1 +0x1.c74a0cp-1 +0x1.5ab764p+1 +-0x1.8b71bp-1 +0x1.e5599ap-3 +-0x1.a48b6p+1 +0x1.281956p+1 +-0x1.1fcb04p-3 +-0x1.1ec10cp+0 +-0x1.15c314p-5 +-0x1.c518dcp+0 +-0x1.73992ap-2 +0x1.a6465ap+1 +0x1.6618c4p-7 +0x1.01d2e8p+1 +0x1.4919b4p+0 +-0x1.87c72p-2 +0x1.64351cp-9 +0x1.8e16c2p+0 +0x1.e0c19cp-1 +0x1.6efdb6p-1 +0x1.77a86cp+1 +-0x1.9a52b4p-1 +0x1.2decd2p+1 +0x1.efa19ap-2 +-0x1.f7faecp-3 +-0x1.125dbep+0 +-0x1.aa25dap-1 +-0x1.0509b6p+1 +-0x1.0e841ep+2 +0x1.14f30ap-6 +0x1.8371f6p+1 +-0x1.a6997cp+0 +0x1.d0be9ap-3 +0x1.7a187p+0 +0x1.5c3bdp+1 +0x1.a8caecp+1 +0x1.4fabbp-2 +0x1.52e96p+1 +0x1.6ef878p-1 +0x1.e6a8c2p+0 +-0x1.153cd8p+0 +0x1.7465e2p+1 +0x1.19c6a2p+0 +-0x1.cf595p+1 +0x1.72168ep-1 +-0x1.fad952p-1 +-0x1.d3401ap-1 +0x1.1d3854p+0 +0x1.5c0a66p+1 +-0x1.8183e6p-2 +0x1.e1e5eep-2 +-0x1.2c7666p+2 +0x1.31e48ep+2 +-0x1.5b84d8p+0 +0x1.ac7e36p+0 +0x1.171c6cp+0 +0x1.b38194p-7 +-0x1.9c0b56p+0 +-0x1.16cd88p+0 +-0x1.5a04d8p+1 +-0x1.0cc51ep+2 +-0x1.d5ed58p+0 +-0x1.056de2p+1 +-0x1.e09562p-1 +0x1.0f0196p+0 +0x1.7fa3f6p+0 +0x1.fac5bp-1 +-0x1.f77ae6p+1 +-0x1.6f44f4p-1 +-0x1.9d4e52p+1 +0x1.5548cap+1 +-0x1.58acb6p-1 +-0x1.87063ap+0 +0x1.b94356p+0 +0x1.8637e6p+0 +-0x1.440ac8p+0 +0x1.e0c394p-2 +-0x1.bf9b0ep+0 +0x1.657f4cp-2 +-0x1.8f9cb6p+1 +0x1.1399d8p+1 +0x1.a28952p-1 +-0x1.23308ep+1 +-0x1.4c282ap-2 +-0x1.d9f856p+0 +0x1.bf6c9p+1 +-0x1.87bd2p-1 +-0x1.e66244p+0 +0x1.472382p+0 +0x1.92499ap+1 +0x1.23e2c4p+0 +-0x1.ea90b4p-2 +-0x1.03af7ap+2 +-0x1.57e604p-1 +0x1.489f06p+1 +0x1.a3378ep+0 +0x1.127a2p+1 +-0x1.0412acp+1 +-0x1.c1fab6p-2 +-0x1.534a36p+1 +-0x1.227eeap+0 +-0x1.60bafap+1 +-0x1.6c1b4cp+0 +-0x1.e55c3p+0 +0x1.0136a2p-3 +-0x1.0ffdf8p+0 +-0x1.c6576p+0 +-0x1.b2896ep-4 +0x1.574f6ap-2 +0x1.324236p+1 +-0x1.a32442p-1 +0x1.9a389ap+1 +-0x1.1171cap+1 +0x1.0f7b1ep+0 +-0x1.6c053ep+0 +-0x1.9b99b6p-1 +0x1.b2a6d8p+1 +0x1.1f2bd6p-1 +-0x1.f0ccccp+0 +-0x1.1733p+0 +-0x1.6b2756p+0 +-0x1.187854p+1 +0x1.a7991ap-1 +0x1.857358p+0 +-0x1.0cfed6p-4 +-0x1.4de6ecp+0 +0x1.51a062p+0 +0x1.150624p-2 +-0x1.5cfe06p+1 +0x1.79170cp-2 +0x1.03e7acp+1 +-0x1.189198p+0 +0x1.b4c6bep-2 +-0x1.9184c8p+0 +-0x1.896958p+0 +0x1.5be384p+2 +-0x1.0a5d4ep+1 +0x1.9a2808p-3 +-0x1.52f6fcp+0 +0x1.3c8b1ep-1 +0x1.2ea336p-2 +0x1.e53f12p+1 +0x1.957874p+1 +-0x1.2e50c6p+0 +0x1.f60822p-1 +0x1.b8e3e6p+0 +0x1.288f64p+1 +0x1.3ab57ap+0 +0x1.00560ep+1 +-0x1.018fdap-1 +-0x1.1663e6p-4 +-0x1.b38c7ap-1 +-0x1.56593cp-1 +-0x1.658a9ap+1 +-0x1.5e8f7ep-4 +-0x1.72fcdcp+1 +-0x1.d97294p-1 +-0x1.c49a1ep-1 +-0x1.4a14a8p+2 +-0x1.2f653ap+1 +-0x1.e1be1ep-1 +-0x1.6f8874p-1 +-0x1.0c8a68p+2 +0x1.082ca6p-3 +-0x1.a2bbbep-1 +-0x1.56d822p+0 +-0x1.0dbebap+0 +-0x1.b94eb6p+0 +-0x1.a9bf86p-2 +-0x1.085582p-1 +0x1.022d02p-2 +0x1.3063e8p+2 +0x1.eab3b2p+1 +0x1.e5f194p+0 +0x1.906efp+1 +0x1.e69e94p-2 +0x1.545416p+0 +-0x1.b5e41p+0 +-0x1.68c7d2p-2 +0x1.7ffc78p-3 +0x1.a668c8p+1 +0x1.0b28f2p+3 +0x1.433504p+1 +0x1.685124p+2 +0x1.4745e4p+0 +-0x1.695746p-1 +-0x1.c3d85cp+1 +0x1.2ca546p+1 +-0x1.5e28cep-1 +-0x1.92bfbap+0 +0x1.97f2a6p-1 +0x1.282c0ep+0 +0x1.2e83fp-6 +-0x1.e1a488p-3 +-0x1.95bdb2p-2 +0x1.6600fep+1 +0x1.2e1d9cp-3 +-0x1.70e9eap-2 +-0x1.d20f1ap+0 +-0x1.c22c62p-1 +0x1.5ede8cp-1 +-0x1.ddccc6p-1 +-0x1.37b3b2p+0 +0x1.293dccp+0 +0x1.a0908ap+0 +-0x1.19e172p+0 +-0x1.1587ap+1 +0x1.04d7bep+1 +0x1.a9bfdp-2 +0x1.7ffbdp+0 +-0x1.604336p-1 +0x1.29141ep-1 +0x1.0ac26cp-2 +-0x1.2f2bf4p+1 +0x1.fdf19cp-5 +0x1.44e9dp+1 +-0x1.e43e3p+1 +-0x1.28e92p+0 +-0x1.7353a4p+0 +-0x1.10a858p+1 +0x1.32f94cp-4 +0x1.f9f834p-3 +0x1.975716p-1 +0x1.1d7c02p+1 +-0x1.baccd8p-1 +-0x1.5d11dp+0 +-0x1.2747dap-1 +0x1.7f675ep+1 +-0x1.25e7bep+2 +0x1.2ab506p+0 +-0x1.b5d0f4p-2 +-0x1.6c1508p-2 +-0x1.cee6ecp-1 +0x1.07e3d6p+2 +-0x1.c45816p+1 +-0x1.0623eap+0 +0x1.ab0d78p-1 +0x1.b383e6p+0 +0x1.5da5ecp+0 +-0x1.ae0576p+0 +0x1.4f48d4p+0 +-0x1.880168p-2 +-0x1.87add8p+1 +-0x1.14db9ap+0 +0x1.47c03p-1 +-0x1.2b0216p+1 +-0x1.7bfb0cp-4 +-0x1.0c23e6p+1 +-0x1.15774ap+0 +-0x1.7ac434p-2 +0x1.c550fcp+1 +0x1.83d7cep+1 +0x1.0175d4p+2 +-0x1.2212fap-2 +0x1.217f3ep+1 +-0x1.cd855cp-1 +0x1.ccea5ap-1 +0x1.558402p+0 +-0x1.8ab1c2p+1 +-0x1.809848p-2 +-0x1.2eec46p+1 +0x1.305104p+2 +0x1.eff682p+0 +-0x1.5afb16p+1 +0x1.1e33cp+1 +-0x1.a37b0cp+0 +0x1.2a89dep-1 +-0x1.1674f4p+1 +-0x1.2284f2p-5 +-0x1.cf1ddap-1 +0x1.b3a79p+0 +0x1.468334p-1 +0x1.190e34p+0 +0x1.2509ecp-2 +0x1.7a11f6p+0 +-0x1.ce345cp-5 +-0x1.203b3cp+1 +-0x1.7da076p+0 +0x1.963b6ep+0 +-0x1.e1bdc6p+0 +0x1.4d96d8p+1 +-0x1.b92d8p-1 +0x1.e2caa2p+0 +0x1.f8baf2p-3 +-0x1.02dc14p+2 +-0x1.5a0d54p+0 +0x1.ac8576p+1 +0x1.5e37aap+0 +-0x1.e93ebcp+1 +-0x1.19840ap+1 +0x1.1959ep+0 +0x1.52bed4p+1 +0x1.f4f59ap+0 +0x1.eee934p-1 +0x1.203d42p-2 +0x1.90b58ep+1 +-0x1.37057ap+0 +-0x1.b2a806p+1 +0x1.e67ccep+1 +-0x1.3c67a4p+1 +-0x1.bfe3aap+0 +0x1.35cebcp+1 +0x1.0422ccp+1 +-0x1.60be74p+0 +0x1.035cecp+0 +0x1.7f99fcp-1 +-0x1.6f9c5ep+1 +-0x1.845438p+1 +-0x1.127e6ep-1 +0x1.4cfddep+1 +-0x1.1d4bd6p+1 +0x1.6a88e8p+0 +0x1.5ae9bp-1 +-0x1.3b15fp-2 +0x1.0c994ap-3 +-0x1.24a566p-2 +-0x1.80a282p+0 +0x1.66aaa8p+2 +-0x1.1f50c4p+0 +0x1.d420b2p-2 +-0x1.f24aaep-1 +0x1.7df5acp+0 +0x1.6eb4e8p-2 +-0x1.1194fep+1 +0x1.13a326p+0 +0x1.e7069cp+1 +-0x1.89a242p+0 +-0x1.107502p+1 +-0x1.fb0a94p+0 +-0x1.f37b9ep+1 +-0x1.55cp+1 +0x1.12ed7ap-1 +0x1.cd24b4p-1 +0x1.17089p+1 +0x1.90a1fcp+0 +0x1.88f71ap-1 +-0x1.0e428ap-3 +-0x1.9a536ep-1 +-0x1.f8c908p+0 +0x1.40c9a2p-5 +0x1.bb0f58p+1 +0x1.4f096cp+1 +-0x1.8639acp-2 +-0x1.ddc002p-6 +0x1.15ea76p+1 +-0x1.a43148p+1 +0x1.3085c6p+2 +-0x1.3a122cp+0 +-0x1.8466c8p+0 +-0x1.07a3a2p+0 +-0x1.64907p+1 +-0x1.b6cfc8p-1 +0x1.a9f23ep+0 +0x1.8f8862p+0 +-0x1.0520dap+0 +-0x1.fd38e4p+0 +0x1.e899f4p+0 +-0x1.a17682p+1 +-0x1.dfa018p+1 +-0x1.8824d2p+1 +0x1.100b8ep-2 +-0x1.8303ap+1 +-0x1.32ae3cp-2 +0x1.20cb3cp+1 +0x1.b455d2p-1 +0x1.321f6ap+0 +-0x1.d72368p+1 +-0x1.c5bc9cp+1 +-0x1.e802acp+0 +-0x1.283a26p-1 +-0x1.4683fcp-2 +-0x1.097924p+1 +0x1.6fae44p-3 +-0x1.66857cp-6 +-0x1.1808dp+1 +-0x1.88bbc4p+0 +-0x1.22e884p-2 +0x1.ce560cp-5 +0x1.fe4936p-1 +-0x1.e70f7ap+0 +-0x1.a22572p+1 +0x1.93bb64p+0 +-0x1.26ee7ep+1 +-0x1.86e8ap+1 +0x1.324cacp+1 +0x1.1e2ab2p+0 +-0x1.23a576p+0 +-0x1.24f144p+0 +-0x1.4b31f8p-2 +0x1.16c554p+0